diff --git a/express-server/app.js b/express-server/app.js index b2a50372..573a4c18 100644 --- a/express-server/app.js +++ b/express-server/app.js @@ -10,6 +10,8 @@ var users = require('./routes/users'); var app = express(); + + // view engine setup app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'ejs'); diff --git a/express-server/node_modules/.bin/gp12-pem b/express-server/node_modules/.bin/gp12-pem new file mode 100644 index 00000000..a473f8f9 --- /dev/null +++ b/express-server/node_modules/.bin/gp12-pem @@ -0,0 +1,15 @@ +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*) basedir=`cygpath -w "$basedir"`;; +esac + +if [ -x "$basedir/node" ]; then + "$basedir/node" "$basedir/../google-p12-pem/build/src/bin/gp12-pem.js" "$@" + ret=$? +else + node "$basedir/../google-p12-pem/build/src/bin/gp12-pem.js" "$@" + ret=$? +fi +exit $ret diff --git a/express-server/node_modules/.bin/gp12-pem.cmd b/express-server/node_modules/.bin/gp12-pem.cmd new file mode 100644 index 00000000..83fabf17 --- /dev/null +++ b/express-server/node_modules/.bin/gp12-pem.cmd @@ -0,0 +1,7 @@ +@IF EXIST "%~dp0\node.exe" ( + "%~dp0\node.exe" "%~dp0\..\google-p12-pem\build\src\bin\gp12-pem.js" %* +) ELSE ( + @SETLOCAL + @SET PATHEXT=%PATHEXT:;.JS;=;% + node "%~dp0\..\google-p12-pem\build\src\bin\gp12-pem.js" %* +) \ No newline at end of file diff --git a/express-server/node_modules/.bin/semver b/express-server/node_modules/.bin/semver new file mode 100644 index 00000000..d592e693 --- /dev/null +++ b/express-server/node_modules/.bin/semver @@ -0,0 +1,15 @@ +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*) basedir=`cygpath -w "$basedir"`;; +esac + +if [ -x "$basedir/node" ]; then + "$basedir/node" "$basedir/../semver/bin/semver" "$@" + ret=$? +else + node "$basedir/../semver/bin/semver" "$@" + ret=$? +fi +exit $ret diff --git a/express-server/node_modules/.bin/semver.cmd b/express-server/node_modules/.bin/semver.cmd new file mode 100644 index 00000000..37c00a46 --- /dev/null +++ b/express-server/node_modules/.bin/semver.cmd @@ -0,0 +1,7 @@ +@IF EXIST "%~dp0\node.exe" ( + "%~dp0\node.exe" "%~dp0\..\semver\bin\semver" %* +) ELSE ( + @SETLOCAL + @SET PATHEXT=%PATHEXT:;.JS;=;% + node "%~dp0\..\semver\bin\semver" %* +) \ No newline at end of file diff --git a/express-server/node_modules/.bin/uuid b/express-server/node_modules/.bin/uuid new file mode 100644 index 00000000..f3bfcf46 --- /dev/null +++ b/express-server/node_modules/.bin/uuid @@ -0,0 +1,15 @@ +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*) basedir=`cygpath -w "$basedir"`;; +esac + +if [ -x "$basedir/node" ]; then + "$basedir/node" "$basedir/../uuid/bin/uuid" "$@" + ret=$? +else + node "$basedir/../uuid/bin/uuid" "$@" + ret=$? +fi +exit $ret diff --git a/express-server/node_modules/.bin/uuid.cmd b/express-server/node_modules/.bin/uuid.cmd new file mode 100644 index 00000000..da52d68a --- /dev/null +++ b/express-server/node_modules/.bin/uuid.cmd @@ -0,0 +1,7 @@ +@IF EXIST "%~dp0\node.exe" ( + "%~dp0\node.exe" "%~dp0\..\uuid\bin\uuid" %* +) ELSE ( + @SETLOCAL + @SET PATHEXT=%PATHEXT:;.JS;=;% + node "%~dp0\..\uuid\bin\uuid" %* +) \ No newline at end of file diff --git a/express-server/node_modules/agent-base/.travis.yml b/express-server/node_modules/agent-base/.travis.yml new file mode 100644 index 00000000..6ce862c6 --- /dev/null +++ b/express-server/node_modules/agent-base/.travis.yml @@ -0,0 +1,23 @@ +sudo: false + +language: node_js + +node_js: + - "4" + - "5" + - "6" + - "7" + - "8" + - "9" + +install: + - PATH="`npm bin`:`npm bin -g`:$PATH" + # Install dependencies and build + - npm install + +script: + # Output useful info for debugging + - node --version + - npm --version + # Run tests + - npm test diff --git a/express-server/node_modules/agent-base/History.md b/express-server/node_modules/agent-base/History.md new file mode 100644 index 00000000..80c88dc4 --- /dev/null +++ b/express-server/node_modules/agent-base/History.md @@ -0,0 +1,113 @@ + +4.2.0 / 2018-01-15 +================== + + * Add support for returning an `http.Agent` instance + * Optimize promisifying logic + * Set `timeout` to null for proper cleanup + * Remove Node.js <= 0.11.3 special-casing from test case + +4.1.2 / 2017-11-20 +================== + + * test Node 9 on Travis + * ensure that `https.get()` uses the patched `https.request()` + +4.1.1 / 2017-07-20 +================== + + * Correct `https.request()` with a String (#9) + +4.1.0 / 2017-06-26 +================== + + * mix in Agent options into Request options + * throw when nothing is returned from agent-base callback + * do not modify the options object for https requests + +4.0.1 / 2017-06-13 +================== + + * add `this` context tests and fixes + +4.0.0 / 2017-06-06 +================== + + * drop support for Node.js < 4 + * drop old versions of Node.js from Travis-CI + * specify Node.js >= 4.0.0 in `engines.node` + * remove more old code + * remove "extend" dependency + * remove "semver" dependency + * make the Promise logic a bit cleaner + * add async function pseudo-example to README + * use direct return in README example + +3.0.0 / 2017-06-02 +================== + + * drop support for Node.js v0.8 and v0.10 + * add support for async, Promises, and direct return + * add a couple `options` test cases + * implement a `"timeout"` option + * rename main file to `index.js` + * test Node 8 on Travis + +2.1.1 / 2017-05-30 +================== + + * Revert [`fe2162e`](https://github.com/TooTallNate/node-agent-base/commit/fe2162e0ba18123f5b301cba4de1e9dd74e437cd) and [`270bdc9`](https://github.com/TooTallNate/node-agent-base/commit/270bdc92eb8e3bd0444d1e5266e8e9390aeb3095) (fixes #7) + +2.1.0 / 2017-05-26 +================== + + * unref is not supported for node < 0.9.1 (@pi0) + * add tests to dangling socket (@pi0) + * check unref() is supported (@pi0) + * fix dangling sockets problem (@pi0) + * add basic "ws" module tests + * make `Agent` be subclassable + * turn `addRequest()` into a named function + * test: Node.js v4 likes to call `cork` on the stream (#3, @tomhughes) + * travis: test node v4, v5, v6 and v7 + +2.0.1 / 2015-09-10 +================== + + * package: update "semver" to v5.0.1 for WebPack (#1, @vhpoet) + +2.0.0 / 2015-07-10 +================== + + * refactor to patch Node.js core for more consistent `opts` values + * ensure that HTTP(s) default port numbers are always given + * test: use ssl-cert-snakeoil SSL certs + * test: add tests for arbitrary options + * README: add API section + * README: make the Agent HTTP/HTTPS generic in the example + * README: use SVG for Travis-CI badge + +1.0.2 / 2015-06-27 +================== + + * agent: set `req._hadError` to true after emitting "error" + * package: update "mocha" to v2 + * test: add artificial HTTP GET request test + * test: add artificial data events test + * test: fix artifical GET response test on node > v0.11.3 + * test: use a real timeout for the async error test + +1.0.1 / 2013-09-09 +================== + + * Fix passing an "error" object to the callback function on the first tick + +1.0.0 / 2013-09-09 +================== + + * New API: now you pass a callback function directly + +0.0.1 / 2013-07-09 +================== + + * Initial release diff --git a/express-server/node_modules/agent-base/README.md b/express-server/node_modules/agent-base/README.md new file mode 100644 index 00000000..dbeceab8 --- /dev/null +++ b/express-server/node_modules/agent-base/README.md @@ -0,0 +1,145 @@ +agent-base +========== +### Turn a function into an [`http.Agent`][http.Agent] instance +[![Build Status](https://travis-ci.org/TooTallNate/node-agent-base.svg?branch=master)](https://travis-ci.org/TooTallNate/node-agent-base) + +This module provides an `http.Agent` generator. That is, you pass it an async +callback function, and it returns a new `http.Agent` instance that will invoke the +given callback function when sending outbound HTTP requests. + +#### Some subclasses: + +Here's some more interesting uses of `agent-base`. +Send a pull request to list yours! + + * [`http-proxy-agent`][http-proxy-agent]: An HTTP(s) proxy `http.Agent` implementation for HTTP endpoints + * [`https-proxy-agent`][https-proxy-agent]: An HTTP(s) proxy `http.Agent` implementation for HTTPS endpoints + * [`pac-proxy-agent`][pac-proxy-agent]: A PAC file proxy `http.Agent` implementation for HTTP and HTTPS + * [`socks-proxy-agent`][socks-proxy-agent]: A SOCKS (v4a) proxy `http.Agent` implementation for HTTP and HTTPS + + +Installation +------------ + +Install with `npm`: + +``` bash +$ npm install agent-base +``` + + +Example +------- + +Here's a minimal example that creates a new `net.Socket` connection to the server +for every HTTP request (i.e. the equivalent of `agent: false` option): + +```js +var net = require('net'); +var tls = require('tls'); +var url = require('url'); +var http = require('http'); +var agent = require('agent-base'); + +var endpoint = 'http://nodejs.org/api/'; +var parsed = url.parse(endpoint); + +// This is the important part! +parsed.agent = agent(function (req, opts) { + var socket; + // `secureEndpoint` is true when using the https module + if (opts.secureEndpoint) { + socket = tls.connect(opts); + } else { + socket = net.connect(opts); + } + return socket; +}); + +// Everything else works just like normal... +http.get(parsed, function (res) { + console.log('"response" event!', res.headers); + res.pipe(process.stdout); +}); +``` + +Returning a Promise or using an `async` function is also supported: + +```js +agent(async function (req, opts) { + await sleep(1000); + // etc… +}); +``` + +Return another `http.Agent` instance to "pass through" the responsibility +for that HTTP request to that agent: + +```js +agent(function (req, opts) { + return opts.secureEndpoint ? https.globalAgent : http.globalAgent; +}); +``` + + +API +--- + +## Agent(Function callback[, Object options]) → [http.Agent][] + +Creates a base `http.Agent` that will execute the callback function `callback` +for every HTTP request that it is used as the `agent` for. The callback function +is responsible for creating a `stream.Duplex` instance of some kind that will be +used as the underlying socket in the HTTP request. + +The `options` object accepts the following properties: + + * `timeout` - Number - Timeout for the `callback()` function in milliseconds. Defaults to Infinity (optional). + +The callback function should have the following signature: + +### callback(http.ClientRequest req, Object options, Function cb) → undefined + +The ClientRequest `req` can be accessed to read request headers and +and the path, etc. The `options` object contains the options passed +to the `http.request()`/`https.request()` function call, and is formatted +to be directly passed to `net.connect()`/`tls.connect()`, or however +else you want a Socket to be created. Pass the created socket to +the callback function `cb` once created, and the HTTP request will +continue to proceed. + +If the `https` module is used to invoke the HTTP request, then the +`secureEndpoint` property on `options` _will be set to `true`_. + + +License +------- + +(The MIT License) + +Copyright (c) 2013 Nathan Rajlich <nathan@tootallnate.net> + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +[http-proxy-agent]: https://github.com/TooTallNate/node-http-proxy-agent +[https-proxy-agent]: https://github.com/TooTallNate/node-https-proxy-agent +[pac-proxy-agent]: https://github.com/TooTallNate/node-pac-proxy-agent +[socks-proxy-agent]: https://github.com/TooTallNate/node-socks-proxy-agent +[http.Agent]: https://nodejs.org/api/http.html#http_class_http_agent diff --git a/express-server/node_modules/agent-base/index.js b/express-server/node_modules/agent-base/index.js new file mode 100644 index 00000000..0ee6b296 --- /dev/null +++ b/express-server/node_modules/agent-base/index.js @@ -0,0 +1,170 @@ +'use strict'; +require('./patch-core'); +const inherits = require('util').inherits; +const promisify = require('es6-promisify'); +const EventEmitter = require('events').EventEmitter; + +module.exports = Agent; + +function isAgent(v) { + return v && typeof v.addRequest === 'function'; +} + +/** + * Base `http.Agent` implementation. + * No pooling/keep-alive is implemented by default. + * + * @param {Function} callback + * @api public + */ +function Agent(callback, _opts) { + if (!(this instanceof Agent)) { + return new Agent(callback, _opts); + } + + EventEmitter.call(this); + + // The callback gets promisified if it has 3 parameters + // (i.e. it has a callback function) lazily + this._promisifiedCallback = false; + + let opts = _opts; + if ('function' === typeof callback) { + this.callback = callback; + } else if (callback) { + opts = callback; + } + + // timeout for the socket to be returned from the callback + this.timeout = (opts && opts.timeout) || null; + + this.options = opts; +} +inherits(Agent, EventEmitter); + +/** + * Override this function in your subclass! + */ +Agent.prototype.callback = function callback(req, opts) { + throw new Error( + '"agent-base" has no default implementation, you must subclass and override `callback()`' + ); +}; + +/** + * Called by node-core's "_http_client.js" module when creating + * a new HTTP request with this Agent instance. + * + * @api public + */ +Agent.prototype.addRequest = function addRequest(req, _opts) { + const ownOpts = Object.assign({}, _opts); + + // Set default `host` for HTTP to localhost + if (null == ownOpts.host) { + ownOpts.host = 'localhost'; + } + + // Set default `port` for HTTP if none was explicitly specified + if (null == ownOpts.port) { + ownOpts.port = ownOpts.secureEndpoint ? 443 : 80; + } + + const opts = Object.assign({}, this.options, ownOpts); + + if (opts.host && opts.path) { + // If both a `host` and `path` are specified then it's most likely the + // result of a `url.parse()` call... we need to remove the `path` portion so + // that `net.connect()` doesn't attempt to open that as a unix socket file. + delete opts.path; + } + + delete opts.agent; + delete opts.hostname; + delete opts._defaultAgent; + delete opts.defaultPort; + delete opts.createConnection; + + // Hint to use "Connection: close" + // XXX: non-documented `http` module API :( + req._last = true; + req.shouldKeepAlive = false; + + // Create the `stream.Duplex` instance + let timeout; + let timedOut = false; + const timeoutMs = this.timeout; + const freeSocket = this.freeSocket; + + function onerror(err) { + if (req._hadError) return; + req.emit('error', err); + // For Safety. Some additional errors might fire later on + // and we need to make sure we don't double-fire the error event. + req._hadError = true; + } + + function ontimeout() { + timeout = null; + timedOut = true; + const err = new Error( + 'A "socket" was not created for HTTP request before ' + timeoutMs + 'ms' + ); + err.code = 'ETIMEOUT'; + onerror(err); + } + + function callbackError(err) { + if (timedOut) return; + if (timeout != null) { + clearTimeout(timeout); + timeout = null; + } + onerror(err); + } + + function onsocket(socket) { + if (timedOut) return; + if (timeout != null) { + clearTimeout(timeout); + timeout = null; + } + if (isAgent(socket)) { + // `socket` is actually an http.Agent instance, so relinquish + // responsibility for this `req` to the Agent from here on + socket.addRequest(req, opts); + } else if (socket) { + function onfree() { + freeSocket(socket, opts); + } + socket.on('free', onfree); + req.onSocket(socket); + } else { + const err = new Error( + 'no Duplex stream was returned to agent-base for `' + req.method + ' ' + req.path + '`' + ); + onerror(err); + } + } + + if (!this._promisifiedCallback && this.callback.length >= 3) { + // Legacy callback function - convert to a Promise + this.callback = promisify(this.callback, this); + this._promisifiedCallback = true; + } + + if (timeoutMs > 0) { + timeout = setTimeout(ontimeout, timeoutMs); + } + + try { + Promise.resolve(this.callback(req, opts)).then(onsocket, callbackError); + } catch (err) { + Promise.reject(err).catch(callbackError); + } +}; + +Agent.prototype.freeSocket = function freeSocket(socket, opts) { + // TODO reuse sockets + socket.destroy(); +}; diff --git a/express-server/node_modules/agent-base/package.json b/express-server/node_modules/agent-base/package.json new file mode 100644 index 00000000..c61bdf3e --- /dev/null +++ b/express-server/node_modules/agent-base/package.json @@ -0,0 +1,65 @@ +{ + "_from": "agent-base@^4.1.0", + "_id": "agent-base@4.2.1", + "_inBundle": false, + "_integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==", + "_location": "/agent-base", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "agent-base@^4.1.0", + "name": "agent-base", + "escapedName": "agent-base", + "rawSpec": "^4.1.0", + "saveSpec": null, + "fetchSpec": "^4.1.0" + }, + "_requiredBy": [ + "/https-proxy-agent" + ], + "_resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz", + "_shasum": "d89e5999f797875674c07d87f260fc41e83e8ca9", + "_spec": "agent-base@^4.1.0", + "_where": "C:\\Users\\Georg\\GitHub\\SmartShopper\\express-server\\node_modules\\https-proxy-agent", + "author": { + "name": "Nathan Rajlich", + "email": "nathan@tootallnate.net", + "url": "http://n8.io/" + }, + "bugs": { + "url": "https://github.com/TooTallNate/node-agent-base/issues" + }, + "bundleDependencies": false, + "dependencies": { + "es6-promisify": "^5.0.0" + }, + "deprecated": false, + "description": "Turn a function into an `http.Agent` instance", + "devDependencies": { + "mocha": "^3.4.2", + "ws": "^3.0.0" + }, + "engines": { + "node": ">= 4.0.0" + }, + "homepage": "https://github.com/TooTallNate/node-agent-base#readme", + "keywords": [ + "http", + "agent", + "base", + "barebones", + "https" + ], + "license": "MIT", + "main": "./index.js", + "name": "agent-base", + "repository": { + "type": "git", + "url": "git://github.com/TooTallNate/node-agent-base.git" + }, + "scripts": { + "test": "mocha --reporter spec" + }, + "version": "4.2.1" +} diff --git a/express-server/node_modules/agent-base/patch-core.js b/express-server/node_modules/agent-base/patch-core.js new file mode 100644 index 00000000..47d26a72 --- /dev/null +++ b/express-server/node_modules/agent-base/patch-core.js @@ -0,0 +1,37 @@ +'use strict'; +const url = require('url'); +const https = require('https'); + +/** + * This currently needs to be applied to all Node.js versions + * in order to determine if the `req` is an HTTP or HTTPS request. + * + * There is currently no PR attempting to move this property upstream. + */ +https.request = (function(request) { + return function(_options, cb) { + let options; + if (typeof _options === 'string') { + options = url.parse(_options); + } else { + options = Object.assign({}, _options); + } + if (null == options.port) { + options.port = 443; + } + options.secureEndpoint = true; + return request.call(https, options, cb); + }; +})(https.request); + +/** + * This is needed for Node.js >= 9.0.0 to make sure `https.get()` uses the + * patched `https.request()`. + * + * Ref: https://github.com/nodejs/node/commit/5118f31 + */ +https.get = function(options, cb) { + const req = https.request(options, cb); + req.end(); + return req; +}; diff --git a/express-server/node_modules/agent-base/test/ssl-cert-snakeoil.key b/express-server/node_modules/agent-base/test/ssl-cert-snakeoil.key new file mode 100644 index 00000000..fd125012 --- /dev/null +++ b/express-server/node_modules/agent-base/test/ssl-cert-snakeoil.key @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQCzURxIqzer0ACAbX/lHdsn4Gd9PLKrf7EeDYfIdV0HZKPD8WDr +bBx2/fBu0OW2sjnzv/SVZbJ0DAuPE/p0+eT0qb2qC10iz9iTD7ribd7gxhirVb8y +b3fBjXsxc8V8p4Ny1LcvNSqCjwUbJqdRogfoJeTiqPM58z5sNzuv5iq7iwIDAQAB +AoGAPMQy4olrP0UotlzlJ36bowLP70ffgHCwU+/f4NWs5fF78c3du0oSx1w820Dd +Z7E0JF8bgnlJJTxjumPZz0RUCugrEHBKJmzEz3cxF5E3+7NvteZcjKn9D67RrM5x +1/uSZ9cqKE9cYvY4fSuHx18diyZ4axR/wB1Pea2utjjDM+ECQQDb9ZbmmaWMiRpQ +5Up+loxP7BZNPsEVsm+DVJmEFbaFgGfncWBqSIqnPNjMwTwj0OigTwCAEGPkfRVW +T0pbYWCxAkEA0LK7SCTwzyDmhASUalk0x+3uCAA6ryFdwJf/wd8TRAvVOmkTEldX +uJ7ldLvfrONYO3v56uKTU/SoNdZYzKtO+wJAX2KM4ctXYy5BXztPpr2acz4qHa1N +Bh+vBAC34fOYhyQ76r3b1btHhWZ5jbFuZwm9F2erC94Ps5IaoqcX07DSwQJAPKGw +h2U0EPkd/3zVIZCJJQya+vgWFIs9EZcXVtvYXQyTBkVApTN66MhBIYjzkub5205J +bVQmOV37AKklY1DhwQJAA1wos0cYxro02edzatxd0DIR2r4qqOqLkw6BhYHhq6HJ +ZvIcQkHqdSXzdETFc01I1znDGGIrJHcnvKWgBPoEUg== +-----END RSA PRIVATE KEY----- diff --git a/express-server/node_modules/agent-base/test/ssl-cert-snakeoil.pem b/express-server/node_modules/agent-base/test/ssl-cert-snakeoil.pem new file mode 100644 index 00000000..b115a5e9 --- /dev/null +++ b/express-server/node_modules/agent-base/test/ssl-cert-snakeoil.pem @@ -0,0 +1,12 @@ +-----BEGIN CERTIFICATE----- +MIIB1TCCAT4CCQDV5mPlzm9+izANBgkqhkiG9w0BAQUFADAvMS0wKwYDVQQDEyQ3 +NTI3YmQ3Ny1hYjNlLTQ3NGItYWNlNy1lZWQ2MDUzOTMxZTcwHhcNMTUwNzA2MjI0 +NTA3WhcNMjUwNzAzMjI0NTA3WjAvMS0wKwYDVQQDEyQ3NTI3YmQ3Ny1hYjNlLTQ3 +NGItYWNlNy1lZWQ2MDUzOTMxZTcwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB +ALNRHEirN6vQAIBtf+Ud2yfgZ308sqt/sR4Nh8h1XQdko8PxYOtsHHb98G7Q5bay +OfO/9JVlsnQMC48T+nT55PSpvaoLXSLP2JMPuuJt3uDGGKtVvzJvd8GNezFzxXyn +g3LUty81KoKPBRsmp1GiB+gl5OKo8znzPmw3O6/mKruLAgMBAAEwDQYJKoZIhvcN +AQEFBQADgYEACzoHUF8UV2Z6541Q2wKEA0UFUzmUjf/E1XwBO+1P15ZZ64uw34B4 +1RwMPtAo9RY/PmICTWtNxWGxkzwb2JtDWtnxVER/lF8k2XcXPE76fxTHJF/BKk9J +QU8OTD1dd9gHCBviQB9TqntRZ5X7axjtuWjb2umY+owBYzAHZkp1HKI= +-----END CERTIFICATE----- diff --git a/express-server/node_modules/agent-base/test/test.js b/express-server/node_modules/agent-base/test/test.js new file mode 100644 index 00000000..6a8ca68e --- /dev/null +++ b/express-server/node_modules/agent-base/test/test.js @@ -0,0 +1,697 @@ +/** + * Module dependencies. + */ + +var fs = require('fs'); +var url = require('url'); +var net = require('net'); +var tls = require('tls'); +var http = require('http'); +var https = require('https'); +var WebSocket = require('ws'); +var assert = require('assert'); +var events = require('events'); +var inherits = require('util').inherits; +var Agent = require('../'); + +var PassthroughAgent = Agent(function(req, opts) { + return opts.secureEndpoint ? https.globalAgent : http.globalAgent; +}); + +describe('Agent', function() { + describe('subclass', function() { + it('should be subclassable', function(done) { + function MyAgent() { + Agent.call(this); + } + inherits(MyAgent, Agent); + + MyAgent.prototype.callback = function(req, opts, fn) { + assert.equal(req.path, '/foo'); + assert.equal(req.getHeader('host'), '127.0.0.1:1234'); + assert.equal(opts.secureEndpoint, true); + done(); + }; + + var info = url.parse('https://127.0.0.1:1234/foo'); + info.agent = new MyAgent(); + https.get(info); + }); + }); + describe('options', function() { + it('should support an options Object as first argument', function() { + var agent = new Agent({ timeout: 1000 }); + assert.equal(1000, agent.timeout); + }); + it('should support an options Object as second argument', function() { + var agent = new Agent(function() {}, { timeout: 1000 }); + assert.equal(1000, agent.timeout); + }); + it('should be mixed in with HTTP request options', function(done) { + var agent = new Agent({ + host: 'my-proxy.com', + port: 3128, + foo: 'bar' + }); + agent.callback = function(req, opts, fn) { + assert.equal('bar', opts.foo); + assert.equal('a', opts.b); + + // `host` and `port` are special-cases, and should always be + // overwritten in the request `opts` inside the agent-base callback + assert.equal('localhost', opts.host); + assert.equal(80, opts.port); + done(); + }; + var opts = { + b: 'a', + agent: agent + }; + http.get(opts); + }); + }); + describe('`this` context', function() { + it('should be the Agent instance', function(done) { + var called = false; + var agent = new Agent(); + agent.callback = function() { + called = true; + assert.equal(this, agent); + }; + var info = url.parse('http://127.0.0.1/foo'); + info.agent = agent; + var req = http.get(info); + req.on('error', function(err) { + assert(/no Duplex stream was returned/.test(err.message)); + done(); + }); + }); + it('should be the Agent instance with callback signature', function(done) { + var called = false; + var agent = new Agent(); + agent.callback = function(req, opts, fn) { + called = true; + assert.equal(this, agent); + fn(); + }; + var info = url.parse('http://127.0.0.1/foo'); + info.agent = agent; + var req = http.get(info); + req.on('error', function(err) { + assert(/no Duplex stream was returned/.test(err.message)); + done(); + }); + }); + }); + describe('"error" event', function() { + it('should be invoked on `http.ClientRequest` instance if `callback()` has not been defined', function( + done + ) { + var agent = new Agent(); + var info = url.parse('http://127.0.0.1/foo'); + info.agent = agent; + var req = http.get(info); + req.on('error', function(err) { + assert.equal( + '"agent-base" has no default implementation, you must subclass and override `callback()`', + err.message + ); + done(); + }); + }); + it('should be invoked on `http.ClientRequest` instance if Error passed to callback function on the first tick', function( + done + ) { + var agent = new Agent(function(req, opts, fn) { + fn(new Error('is this caught?')); + }); + var info = url.parse('http://127.0.0.1/foo'); + info.agent = agent; + var req = http.get(info); + req.on('error', function(err) { + assert.equal('is this caught?', err.message); + done(); + }); + }); + it('should be invoked on `http.ClientRequest` instance if Error passed to callback function after the first tick', function( + done + ) { + var agent = new Agent(function(req, opts, fn) { + setTimeout(function() { + fn(new Error('is this caught?')); + }, 10); + }); + var info = url.parse('http://127.0.0.1/foo'); + info.agent = agent; + var req = http.get(info); + req.on('error', function(err) { + assert.equal('is this caught?', err.message); + done(); + }); + }); + }); + describe('artificial "streams"', function() { + it('should send a GET request', function(done) { + var stream = new events.EventEmitter(); + + // needed for the `http` module to call .write() on the stream + stream.writable = true; + + stream.write = function(str) { + assert(0 == str.indexOf('GET / HTTP/1.1')); + done(); + }; + + // needed for `http` module in Node.js 4 + stream.cork = function() {}; + + var opts = { + method: 'GET', + host: '127.0.0.1', + path: '/', + port: 80, + agent: new Agent(function(req, opts, fn) { + fn(null, stream); + }) + }; + var req = http.request(opts); + req.end(); + }); + it('should receive a GET response', function(done) { + var stream = new events.EventEmitter(); + var opts = { + method: 'GET', + host: '127.0.0.1', + path: '/', + port: 80, + agent: new Agent(function(req, opts, fn) { + fn(null, stream); + }) + }; + var req = http.request(opts, function(res) { + assert.equal('0.9', res.httpVersion); + assert.equal(111, res.statusCode); + assert.equal('bar', res.headers.foo); + done(); + }); + + // have to wait for the "socket" event since `http.ClientRequest` + // doesn't *actually* attach the listeners to the "stream" until + // this happens + req.once('socket', function() { + var buf = new Buffer( + 'HTTP/0.9 111\r\n' + + 'Foo: bar\r\n' + + 'Set-Cookie: 1\r\n' + + 'Set-Cookie: 2\r\n\r\n' + ); + stream.emit('data', buf); + }); + + req.end(); + }); + }); +}); + +describe('"http" module', function() { + var server; + var port; + + // setup test HTTP server + before(function(done) { + server = http.createServer(); + server.listen(0, function() { + port = server.address().port; + done(); + }); + }); + + // shut down test HTTP server + after(function(done) { + server.once('close', function() { + done(); + }); + server.close(); + }); + + it('should work for basic HTTP requests', function(done) { + var called = false; + var agent = new Agent(function(req, opts, fn) { + called = true; + var socket = net.connect(opts); + fn(null, socket); + }); + + // add HTTP server "request" listener + var gotReq = false; + server.once('request', function(req, res) { + gotReq = true; + res.setHeader('X-Foo', 'bar'); + res.setHeader('X-Url', req.url); + res.end(); + }); + + var info = url.parse('http://127.0.0.1:' + port + '/foo'); + info.agent = agent; + http.get(info, function(res) { + assert.equal('bar', res.headers['x-foo']); + assert.equal('/foo', res.headers['x-url']); + assert(gotReq); + assert(called); + done(); + }); + }); + + it('should support direct return in `connect()`', function(done) { + var called = false; + var agent = new Agent(function(req, opts) { + called = true; + return net.connect(opts); + }); + + // add HTTP server "request" listener + var gotReq = false; + server.once('request', function(req, res) { + gotReq = true; + res.setHeader('X-Foo', 'bar'); + res.setHeader('X-Url', req.url); + res.end(); + }); + + var info = url.parse('http://127.0.0.1:' + port + '/foo'); + info.agent = agent; + http.get(info, function(res) { + assert.equal('bar', res.headers['x-foo']); + assert.equal('/foo', res.headers['x-url']); + assert(gotReq); + assert(called); + done(); + }); + }); + + it('should support returning a Promise in `connect()`', function(done) { + var called = false; + var agent = new Agent(function(req, opts) { + return new Promise(function(resolve, reject) { + called = true; + resolve(net.connect(opts)); + }); + }); + + // add HTTP server "request" listener + var gotReq = false; + server.once('request', function(req, res) { + gotReq = true; + res.setHeader('X-Foo', 'bar'); + res.setHeader('X-Url', req.url); + res.end(); + }); + + var info = url.parse('http://127.0.0.1:' + port + '/foo'); + info.agent = agent; + http.get(info, function(res) { + assert.equal('bar', res.headers['x-foo']); + assert.equal('/foo', res.headers['x-url']); + assert(gotReq); + assert(called); + done(); + }); + }); + + it('should set the `Connection: close` response header', function(done) { + var called = false; + var agent = new Agent(function(req, opts, fn) { + called = true; + var socket = net.connect(opts); + fn(null, socket); + }); + + // add HTTP server "request" listener + var gotReq = false; + server.once('request', function(req, res) { + gotReq = true; + res.setHeader('X-Url', req.url); + assert.equal('close', req.headers.connection); + res.end(); + }); + + var info = url.parse('http://127.0.0.1:' + port + '/bar'); + info.agent = agent; + http.get(info, function(res) { + assert.equal('/bar', res.headers['x-url']); + assert.equal('close', res.headers.connection); + assert(gotReq); + assert(called); + done(); + }); + }); + + it('should pass through options from `http.request()`', function(done) { + var agent = new Agent(function(req, opts, fn) { + assert.equal('google.com', opts.host); + assert.equal('bar', opts.foo); + done(); + }); + + http.get({ + host: 'google.com', + foo: 'bar', + agent: agent + }); + }); + + it('should default to port 80', function(done) { + var agent = new Agent(function(req, opts, fn) { + assert.equal(80, opts.port); + done(); + }); + + // (probably) not hitting a real HTTP server here, + // so no need to add a httpServer request listener + http.get({ + host: '127.0.0.1', + path: '/foo', + agent: agent + }); + }); + + it('should support the "timeout" option', function(done) { + // ensure we timeout after the "error" event had a chance to trigger + this.timeout(1000); + this.slow(800); + + var agent = new Agent( + function(req, opts, fn) { + // this function will time out + }, + { timeout: 100 } + ); + + var opts = url.parse('http://nodejs.org'); + opts.agent = agent; + + var req = http.get(opts); + req.once('error', function(err) { + assert.equal('ETIMEOUT', err.code); + req.abort(); + done(); + }); + }); + + it('should free sockets after use', function(done) { + var agent = new Agent(function(req, opts, fn) { + var socket = net.connect(opts); + fn(null, socket); + }); + + // add HTTP server "request" listener + var gotReq = false; + server.once('request', function(req, res) { + gotReq = true; + res.end(); + }); + + var info = url.parse('http://127.0.0.1:' + port + '/foo'); + info.agent = agent; + http.get(info, function(res) { + res.socket.emit('free'); + assert.equal(true, res.socket.destroyed); + assert(gotReq); + done(); + }); + }); + + + describe('PassthroughAgent', function() { + it('should pass through to `http.globalAgent`', function(done) { + // add HTTP server "request" listener + var gotReq = false; + server.once('request', function(req, res) { + gotReq = true; + res.setHeader('X-Foo', 'bar'); + res.setHeader('X-Url', req.url); + res.end(); + }); + + var info = url.parse('http://127.0.0.1:' + port + '/foo'); + info.agent = PassthroughAgent; + http.get(info, function(res) { + assert.equal('bar', res.headers['x-foo']); + assert.equal('/foo', res.headers['x-url']); + assert(gotReq); + done(); + }); + }); + }); +}); + +describe('"https" module', function() { + var server; + var port; + + // setup test HTTPS server + before(function(done) { + var options = { + key: fs.readFileSync(__dirname + '/ssl-cert-snakeoil.key'), + cert: fs.readFileSync(__dirname + '/ssl-cert-snakeoil.pem') + }; + server = https.createServer(options); + server.listen(0, function() { + port = server.address().port; + done(); + }); + }); + + // shut down test HTTP server + after(function(done) { + server.once('close', function() { + done(); + }); + server.close(); + }); + + it('should not modify the passed in Options object', function(done) { + var called = false; + var agent = new Agent(function(req, opts, fn) { + called = true; + assert.equal(true, opts.secureEndpoint); + assert.equal(443, opts.port); + assert.equal('localhost', opts.host); + }); + var opts = { agent: agent }; + var req = https.request(opts); + assert.equal(true, called); + assert.equal(false, 'secureEndpoint' in opts); + assert.equal(false, 'port' in opts); + done(); + }); + + it('should work with a String URL', function(done) { + var endpoint = 'https://127.0.0.1:' + port; + var req = https.get(endpoint); + + // it's gonna error out since `rejectUnauthorized` is not being passed in + req.on('error', function(err) { + assert.equal(err.code, 'DEPTH_ZERO_SELF_SIGNED_CERT'); + done(); + }); + }); + + it('should work for basic HTTPS requests', function(done) { + var called = false; + var agent = new Agent(function(req, opts, fn) { + called = true; + assert(opts.secureEndpoint); + var socket = tls.connect(opts); + fn(null, socket); + }); + + // add HTTPS server "request" listener + var gotReq = false; + server.once('request', function(req, res) { + gotReq = true; + res.setHeader('X-Foo', 'bar'); + res.setHeader('X-Url', req.url); + res.end(); + }); + + var info = url.parse('https://127.0.0.1:' + port + '/foo'); + info.agent = agent; + info.rejectUnauthorized = false; + https.get(info, function(res) { + assert.equal('bar', res.headers['x-foo']); + assert.equal('/foo', res.headers['x-url']); + assert(gotReq); + assert(called); + done(); + }); + }); + + it('should pass through options from `https.request()`', function(done) { + var agent = new Agent(function(req, opts, fn) { + assert.equal('google.com', opts.host); + assert.equal('bar', opts.foo); + done(); + }); + + https.get({ + host: 'google.com', + foo: 'bar', + agent: agent + }); + }); + + it('should default to port 443', function(done) { + var agent = new Agent(function(req, opts, fn) { + assert.equal(true, opts.secureEndpoint); + assert.equal(false, opts.rejectUnauthorized); + assert.equal(443, opts.port); + done(); + }); + + // (probably) not hitting a real HTTPS server here, + // so no need to add a httpsServer request listener + https.get({ + host: '127.0.0.1', + path: '/foo', + agent: agent, + rejectUnauthorized: false + }); + }); + + describe('PassthroughAgent', function() { + it('should pass through to `https.globalAgent`', function(done) { + // add HTTP server "request" listener + var gotReq = false; + server.once('request', function(req, res) { + gotReq = true; + res.setHeader('X-Foo', 'bar'); + res.setHeader('X-Url', req.url); + res.end(); + }); + + var info = url.parse('https://127.0.0.1:' + port + '/foo'); + info.agent = PassthroughAgent; + info.rejectUnauthorized = false; + https.get(info, function(res) { + assert.equal('bar', res.headers['x-foo']); + assert.equal('/foo', res.headers['x-url']); + assert(gotReq); + done(); + }); + }); + }); +}); + +describe('"ws" server', function() { + var wss; + var server; + var port; + + // setup test HTTP server + before(function(done) { + server = http.createServer(); + wss = new WebSocket.Server({ server: server }); + server.listen(0, function() { + port = server.address().port; + done(); + }); + }); + + // shut down test HTTP server + after(function(done) { + server.once('close', function() { + done(); + }); + server.close(); + }); + + it('should work for basic WebSocket connections', function(done) { + function onconnection(ws) { + ws.on('message', function(data) { + assert.equal('ping', data); + ws.send('pong'); + }); + } + wss.on('connection', onconnection); + + var agent = new Agent(function(req, opts, fn) { + var socket = net.connect(opts); + fn(null, socket); + }); + + var client = new WebSocket('ws://127.0.0.1:' + port + '/', { + agent: agent + }); + + client.on('open', function() { + client.send('ping'); + }); + + client.on('message', function(data) { + assert.equal('pong', data); + client.close(); + wss.removeListener('connection', onconnection); + done(); + }); + }); +}); + +describe('"wss" server', function() { + var wss; + var server; + var port; + + // setup test HTTP server + before(function(done) { + var options = { + key: fs.readFileSync(__dirname + '/ssl-cert-snakeoil.key'), + cert: fs.readFileSync(__dirname + '/ssl-cert-snakeoil.pem') + }; + server = https.createServer(options); + wss = new WebSocket.Server({ server: server }); + server.listen(0, function() { + port = server.address().port; + done(); + }); + }); + + // shut down test HTTP server + after(function(done) { + server.once('close', function() { + done(); + }); + server.close(); + }); + + it('should work for secure WebSocket connections', function(done) { + function onconnection(ws) { + ws.on('message', function(data) { + assert.equal('ping', data); + ws.send('pong'); + }); + } + wss.on('connection', onconnection); + + var agent = new Agent(function(req, opts, fn) { + var socket = tls.connect(opts); + fn(null, socket); + }); + + var client = new WebSocket('wss://127.0.0.1:' + port + '/', { + agent: agent, + rejectUnauthorized: false + }); + + client.on('open', function() { + client.send('ping'); + }); + + client.on('message', function(data) { + assert.equal('pong', data); + client.close(); + wss.removeListener('connection', onconnection); + done(); + }); + }); +}); diff --git a/express-server/node_modules/axios/CHANGELOG.md b/express-server/node_modules/axios/CHANGELOG.md new file mode 100644 index 00000000..d336ec10 --- /dev/null +++ b/express-server/node_modules/axios/CHANGELOG.md @@ -0,0 +1,245 @@ +# Changelog + +### 0.18.0 (Feb 19, 2018) + +- Adding support for UNIX Sockets when running with Node.js ([#1070](https://github.com/axios/axios/pull/1070)) +- Fixing typings ([#1177](https://github.com/axios/axios/pull/1177)): + - AxiosRequestConfig.proxy: allows type false + - AxiosProxyConfig: added auth field +- Adding function signature in AxiosInstance interface so AxiosInstance can be invoked ([#1192](https://github.com/axios/axios/pull/1192), [#1254](https://github.com/axios/axios/pull/1254)) +- Allowing maxContentLength to pass through to redirected calls as maxBodyLength in follow-redirects config ([#1287](https://github.com/axios/axios/pull/1287)) +- Fixing configuration when using an instance - method can now be set ([#1342](https://github.com/axios/axios/pull/1342)) + + +### 0.17.1 (Nov 11, 2017) + +- Fixing issue with web workers ([#1160](https://github.com/axios/axios/pull/1160)) +- Allowing overriding transport ([#1080](https://github.com/axios/axios/pull/1080)) +- Updating TypeScript typings ([#1165](https://github.com/axios/axios/pull/1165), [#1125](https://github.com/axios/axios/pull/1125), [#1131](https://github.com/axios/axios/pull/1131)) + +### 0.17.0 (Oct 21, 2017) + +- **BREAKING** Fixing issue with `baseURL` and interceptors ([#950](https://github.com/axios/axios/pull/950)) +- **BREAKING** Improving handing of duplicate headers ([#874](https://github.com/axios/axios/pull/874)) +- Adding support for disabling proxies ([#691](https://github.com/axios/axios/pull/691)) +- Updating TypeScript typings with generic type parameters ([#1061](https://github.com/axios/axios/pull/1061)) + +### 0.16.2 (Jun 3, 2017) + +- Fixing issue with including `buffer` in bundle ([#887](https://github.com/axios/axios/pull/887)) +- Including underlying request in errors ([#830](https://github.com/axios/axios/pull/830)) +- Convert `method` to lowercase ([#930](https://github.com/axios/axios/pull/930)) + +### 0.16.1 (Apr 8, 2017) + +- Improving HTTP adapter to return last request in case of redirects ([#828](https://github.com/axios/axios/pull/828)) +- Updating `follow-redirects` dependency ([#829](https://github.com/axios/axios/pull/829)) +- Adding support for passing `Buffer` in node ([#773](https://github.com/axios/axios/pull/773)) + +### 0.16.0 (Mar 31, 2017) + +- **BREAKING** Removing `Promise` from axios typings in favor of built-in type declarations ([#480](https://github.com/axios/axios/issues/480)) +- Adding `options` shortcut method ([#461](https://github.com/axios/axios/pull/461)) +- Fixing issue with using `responseType: 'json'` in browsers incompatible with XHR Level 2 ([#654](https://github.com/axios/axios/pull/654)) +- Improving React Native detection ([#731](https://github.com/axios/axios/pull/731)) +- Fixing `combineURLs` to support empty `relativeURL` ([#581](https://github.com/axios/axios/pull/581)) +- Removing `PROTECTION_PREFIX` support ([#561](https://github.com/axios/axios/pull/561)) + +### 0.15.3 (Nov 27, 2016) + +- Fixing issue with custom instances and global defaults ([#443](https://github.com/axios/axios/issues/443)) +- Renaming `axios.d.ts` to `index.d.ts` ([#519](https://github.com/axios/axios/issues/519)) +- Adding `get`, `head`, and `delete` to `defaults.headers` ([#509](https://github.com/axios/axios/issues/509)) +- Fixing issue with `btoa` and IE ([#507](https://github.com/axios/axios/issues/507)) +- Adding support for proxy authentication ([#483](https://github.com/axios/axios/pull/483)) +- Improving HTTP adapter to use `http` protocol by default ([#493](https://github.com/axios/axios/pull/493)) +- Fixing proxy issues ([#491](https://github.com/axios/axios/pull/491)) + +### 0.15.2 (Oct 17, 2016) + +- Fixing issue with calling `cancel` after response has been received ([#482](https://github.com/axios/axios/issues/482)) + +### 0.15.1 (Oct 14, 2016) + +- Fixing issue with UMD ([#485](https://github.com/axios/axios/issues/485)) + +### 0.15.0 (Oct 10, 2016) + +- Adding cancellation support ([#452](https://github.com/axios/axios/pull/452)) +- Moving default adapter to global defaults ([#437](https://github.com/axios/axios/pull/437)) +- Fixing issue with `file` URI scheme ([#440](https://github.com/axios/axios/pull/440)) +- Fixing issue with `params` objects that have no prototype ([#445](https://github.com/axios/axios/pull/445)) + +### 0.14.0 (Aug 27, 2016) + +- **BREAKING** Updating TypeScript definitions ([#419](https://github.com/axios/axios/pull/419)) +- **BREAKING** Replacing `agent` option with `httpAgent` and `httpsAgent` ([#387](https://github.com/axios/axios/pull/387)) +- **BREAKING** Splitting `progress` event handlers into `onUploadProgress` and `onDownloadProgress` ([#423](https://github.com/axios/axios/pull/423)) +- Adding support for `http_proxy` and `https_proxy` environment variables ([#366](https://github.com/axios/axios/pull/366)) +- Fixing issue with `auth` config option and `Authorization` header ([#397](https://github.com/axios/axios/pull/397)) +- Don't set XSRF header if `xsrfCookieName` is `null` ([#406](https://github.com/axios/axios/pull/406)) + +### 0.13.1 (Jul 16, 2016) + +- Fixing issue with response data not being transformed on error ([#378](https://github.com/axios/axios/issues/378)) + +### 0.13.0 (Jul 13, 2016) + +- **BREAKING** Improved error handling ([#345](https://github.com/axios/axios/pull/345)) +- **BREAKING** Response transformer now invoked in dispatcher not adapter ([10eb238](https://github.com/axios/axios/commit/10eb23865101f9347570552c04e9d6211376e25e)) +- **BREAKING** Request adapters now return a `Promise` ([157efd5](https://github.com/axios/axios/commit/157efd5615890301824e3121cc6c9d2f9b21f94a)) +- Fixing issue with `withCredentials` not being overwritten ([#343](https://github.com/axios/axios/issues/343)) +- Fixing regression with request transformer being called before request interceptor ([#352](https://github.com/axios/axios/issues/352)) +- Fixing custom instance defaults ([#341](https://github.com/axios/axios/issues/341)) +- Fixing instances created from `axios.create` to have same API as default axios ([#217](https://github.com/axios/axios/issues/217)) + +### 0.12.0 (May 31, 2016) + +- Adding support for `URLSearchParams` ([#317](https://github.com/axios/axios/pull/317)) +- Adding `maxRedirects` option ([#307](https://github.com/axios/axios/pull/307)) + +### 0.11.1 (May 17, 2016) + +- Fixing IE CORS support ([#313](https://github.com/axios/axios/pull/313)) +- Fixing detection of `FormData` ([#325](https://github.com/axios/axios/pull/325)) +- Adding `Axios` class to exports ([#321](https://github.com/axios/axios/pull/321)) + +### 0.11.0 (Apr 26, 2016) + +- Adding support for Stream with HTTP adapter ([#296](https://github.com/axios/axios/pull/296)) +- Adding support for custom HTTP status code error ranges ([#308](https://github.com/axios/axios/pull/308)) +- Fixing issue with ArrayBuffer ([#299](https://github.com/axios/axios/pull/299)) + +### 0.10.0 (Apr 20, 2016) + +- Fixing issue with some requests sending `undefined` instead of `null` ([#250](https://github.com/axios/axios/pull/250)) +- Fixing basic auth for HTTP adapter ([#252](https://github.com/axios/axios/pull/252)) +- Fixing request timeout for XHR adapter ([#227](https://github.com/axios/axios/pull/227)) +- Fixing IE8 support by using `onreadystatechange` instead of `onload` ([#249](https://github.com/axios/axios/pull/249)) +- Fixing IE9 cross domain requests ([#251](https://github.com/axios/axios/pull/251)) +- Adding `maxContentLength` option ([#275](https://github.com/axios/axios/pull/275)) +- Fixing XHR support for WebWorker environment ([#279](https://github.com/axios/axios/pull/279)) +- Adding request instance to response ([#200](https://github.com/axios/axios/pull/200)) + +### 0.9.1 (Jan 24, 2016) + +- Improving handling of request timeout in node ([#124](https://github.com/axios/axios/issues/124)) +- Fixing network errors not rejecting ([#205](https://github.com/axios/axios/pull/205)) +- Fixing issue with IE rejecting on HTTP 204 ([#201](https://github.com/axios/axios/issues/201)) +- Fixing host/port when following redirects ([#198](https://github.com/axios/axios/pull/198)) + +### 0.9.0 (Jan 18, 2016) + +- Adding support for custom adapters +- Fixing Content-Type header being removed when data is false ([#195](https://github.com/axios/axios/pull/195)) +- Improving XDomainRequest implementation ([#185](https://github.com/axios/axios/pull/185)) +- Improving config merging and order of precedence ([#183](https://github.com/axios/axios/pull/183)) +- Fixing XDomainRequest support for only <= IE9 ([#182](https://github.com/axios/axios/pull/182)) + +### 0.8.1 (Dec 14, 2015) + +- Adding support for passing XSRF token for cross domain requests when using `withCredentials` ([#168](https://github.com/axios/axios/pull/168)) +- Fixing error with format of basic auth header ([#178](https://github.com/axios/axios/pull/173)) +- Fixing error with JSON payloads throwing `InvalidStateError` in some cases ([#174](https://github.com/axios/axios/pull/174)) + +### 0.8.0 (Dec 11, 2015) + +- Adding support for creating instances of axios ([#123](https://github.com/axios/axios/pull/123)) +- Fixing http adapter to use `Buffer` instead of `String` in case of `responseType === 'arraybuffer'` ([#128](https://github.com/axios/axios/pull/128)) +- Adding support for using custom parameter serializer with `paramsSerializer` option ([#121](https://github.com/axios/axios/pull/121)) +- Fixing issue in IE8 caused by `forEach` on `arguments` ([#127](https://github.com/axios/axios/pull/127)) +- Adding support for following redirects in node ([#146](https://github.com/axios/axios/pull/146)) +- Adding support for transparent decompression if `content-encoding` is set ([#149](https://github.com/axios/axios/pull/149)) +- Adding support for transparent XDomainRequest to handle cross domain requests in IE9 ([#140](https://github.com/axios/axios/pull/140)) +- Adding support for HTTP basic auth via Authorization header ([#167](https://github.com/axios/axios/pull/167)) +- Adding support for baseURL option ([#160](https://github.com/axios/axios/pull/160)) + +### 0.7.0 (Sep 29, 2015) + +- Fixing issue with minified bundle in IE8 ([#87](https://github.com/axios/axios/pull/87)) +- Adding support for passing agent in node ([#102](https://github.com/axios/axios/pull/102)) +- Adding support for returning result from `axios.spread` for chaining ([#106](https://github.com/axios/axios/pull/106)) +- Fixing typescript definition ([#105](https://github.com/axios/axios/pull/105)) +- Fixing default timeout config for node ([#112](https://github.com/axios/axios/pull/112)) +- Adding support for use in web workers, and react-native ([#70](https://github.com/axios/axios/issue/70)), ([#98](https://github.com/axios/axios/pull/98)) +- Adding support for fetch like API `axios(url[, config])` ([#116](https://github.com/axios/axios/issues/116)) + +### 0.6.0 (Sep 21, 2015) + +- Removing deprecated success/error aliases +- Fixing issue with array params not being properly encoded ([#49](https://github.com/axios/axios/pull/49)) +- Fixing issue with User-Agent getting overridden ([#69](https://github.com/axios/axios/issues/69)) +- Adding support for timeout config ([#56](https://github.com/axios/axios/issues/56)) +- Removing es6-promise dependency +- Fixing issue preventing `length` to be used as a parameter ([#91](https://github.com/axios/axios/pull/91)) +- Fixing issue with IE8 ([#85](https://github.com/axios/axios/pull/85)) +- Converting build to UMD + +### 0.5.4 (Apr 08, 2015) + +- Fixing issue with FormData not being sent ([#53](https://github.com/axios/axios/issues/53)) + +### 0.5.3 (Apr 07, 2015) + +- Using JSON.parse unconditionally when transforming response string ([#55](https://github.com/axios/axios/issues/55)) + +### 0.5.2 (Mar 13, 2015) + +- Adding support for `statusText` in response ([#46](https://github.com/axios/axios/issues/46)) + +### 0.5.1 (Mar 10, 2015) + +- Fixing issue using strict mode ([#45](https://github.com/axios/axios/issues/45)) +- Fixing issue with standalone build ([#47](https://github.com/axios/axios/issues/47)) + +### 0.5.0 (Jan 23, 2015) + +- Adding support for intercepetors ([#14](https://github.com/axios/axios/issues/14)) +- Updating es6-promise dependency + +### 0.4.2 (Dec 10, 2014) + +- Fixing issue with `Content-Type` when using `FormData` ([#22](https://github.com/axios/axios/issues/22)) +- Adding support for TypeScript ([#25](https://github.com/axios/axios/issues/25)) +- Fixing issue with standalone build ([#29](https://github.com/axios/axios/issues/29)) +- Fixing issue with verbs needing to be capitalized in some browsers ([#30](https://github.com/axios/axios/issues/30)) + +### 0.4.1 (Oct 15, 2014) + +- Adding error handling to request for node.js ([#18](https://github.com/axios/axios/issues/18)) + +### 0.4.0 (Oct 03, 2014) + +- Adding support for `ArrayBuffer` and `ArrayBufferView` ([#10](https://github.com/axios/axios/issues/10)) +- Adding support for utf-8 for node.js ([#13](https://github.com/axios/axios/issues/13)) +- Adding support for SSL for node.js ([#12](https://github.com/axios/axios/issues/12)) +- Fixing incorrect `Content-Type` header ([#9](https://github.com/axios/axios/issues/9)) +- Adding standalone build without bundled es6-promise ([#11](https://github.com/axios/axios/issues/11)) +- Deprecating `success`/`error` in favor of `then`/`catch` + +### 0.3.1 (Sep 16, 2014) + +- Fixing missing post body when using node.js ([#3](https://github.com/axios/axios/issues/3)) + +### 0.3.0 (Sep 16, 2014) + +- Fixing `success` and `error` to properly receive response data as individual arguments ([#8](https://github.com/axios/axios/issues/8)) +- Updating `then` and `catch` to receive response data as a single object ([#6](https://github.com/axios/axios/issues/6)) +- Fixing issue with `all` not working ([#7](https://github.com/axios/axios/issues/7)) + +### 0.2.2 (Sep 14, 2014) + +- Fixing bundling with browserify ([#4](https://github.com/axios/axios/issues/4)) + +### 0.2.1 (Sep 12, 2014) + +- Fixing build problem causing ridiculous file sizes + +### 0.2.0 (Sep 12, 2014) + +- Adding support for `all` and `spread` +- Adding support for node.js ([#1](https://github.com/axios/axios/issues/1)) + +### 0.1.0 (Aug 29, 2014) + +- Initial release diff --git a/express-server/node_modules/axios/LICENSE b/express-server/node_modules/axios/LICENSE new file mode 100644 index 00000000..d36c80ef --- /dev/null +++ b/express-server/node_modules/axios/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2014-present Matt Zabriskie + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/express-server/node_modules/axios/README.md b/express-server/node_modules/axios/README.md new file mode 100644 index 00000000..ec78817c --- /dev/null +++ b/express-server/node_modules/axios/README.md @@ -0,0 +1,625 @@ +# axios + +[![npm version](https://img.shields.io/npm/v/axios.svg?style=flat-square)](https://www.npmjs.org/package/axios) +[![build status](https://img.shields.io/travis/axios/axios.svg?style=flat-square)](https://travis-ci.org/axios/axios) +[![code coverage](https://img.shields.io/coveralls/mzabriskie/axios.svg?style=flat-square)](https://coveralls.io/r/mzabriskie/axios) +[![npm downloads](https://img.shields.io/npm/dm/axios.svg?style=flat-square)](http://npm-stat.com/charts.html?package=axios) +[![gitter chat](https://img.shields.io/gitter/room/mzabriskie/axios.svg?style=flat-square)](https://gitter.im/mzabriskie/axios) +[![code helpers](https://www.codetriage.com/axios/axios/badges/users.svg)](https://www.codetriage.com/axios/axios) + +Promise based HTTP client for the browser and node.js + +## Features + +- Make [XMLHttpRequests](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) from the browser +- Make [http](http://nodejs.org/api/http.html) requests from node.js +- Supports the [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) API +- Intercept request and response +- Transform request and response data +- Cancel requests +- Automatic transforms for JSON data +- Client side support for protecting against [XSRF](http://en.wikipedia.org/wiki/Cross-site_request_forgery) + +## Browser Support + +![Chrome](https://raw.github.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png) | ![Firefox](https://raw.github.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png) | ![Safari](https://raw.github.com/alrra/browser-logos/master/src/safari/safari_48x48.png) | ![Opera](https://raw.github.com/alrra/browser-logos/master/src/opera/opera_48x48.png) | ![Edge](https://raw.github.com/alrra/browser-logos/master/src/edge/edge_48x48.png) | ![IE](https://raw.github.com/alrra/browser-logos/master/src/archive/internet-explorer_9-11/internet-explorer_9-11_48x48.png) | +--- | --- | --- | --- | --- | --- | +Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ | 8+ ✔ | + +[![Browser Matrix](https://saucelabs.com/open_sauce/build_matrix/axios.svg)](https://saucelabs.com/u/axios) + +## Installing + +Using npm: + +```bash +$ npm install axios +``` + +Using bower: + +```bash +$ bower install axios +``` + +Using cdn: + +```html + +``` + +## Example + +Performing a `GET` request + +```js +// Make a request for a user with a given ID +axios.get('/user?ID=12345') + .then(function (response) { + console.log(response); + }) + .catch(function (error) { + console.log(error); + }); + +// Optionally the request above could also be done as +axios.get('/user', { + params: { + ID: 12345 + } + }) + .then(function (response) { + console.log(response); + }) + .catch(function (error) { + console.log(error); + }); +``` + +Performing a `POST` request + +```js +axios.post('/user', { + firstName: 'Fred', + lastName: 'Flintstone' + }) + .then(function (response) { + console.log(response); + }) + .catch(function (error) { + console.log(error); + }); +``` + +Performing multiple concurrent requests + +```js +function getUserAccount() { + return axios.get('/user/12345'); +} + +function getUserPermissions() { + return axios.get('/user/12345/permissions'); +} + +axios.all([getUserAccount(), getUserPermissions()]) + .then(axios.spread(function (acct, perms) { + // Both requests are now complete + })); +``` + +## axios API + +Requests can be made by passing the relevant config to `axios`. + +##### axios(config) + +```js +// Send a POST request +axios({ + method: 'post', + url: '/user/12345', + data: { + firstName: 'Fred', + lastName: 'Flintstone' + } +}); +``` + +```js +// GET request for remote image +axios({ + method:'get', + url:'http://bit.ly/2mTM3nY', + responseType:'stream' +}) + .then(function(response) { + response.data.pipe(fs.createWriteStream('ada_lovelace.jpg')) +}); +``` + +##### axios(url[, config]) + +```js +// Send a GET request (default method) +axios('/user/12345'); +``` + +### Request method aliases + +For convenience aliases have been provided for all supported request methods. + +##### axios.request(config) +##### axios.get(url[, config]) +##### axios.delete(url[, config]) +##### axios.head(url[, config]) +##### axios.options(url[, config]) +##### axios.post(url[, data[, config]]) +##### axios.put(url[, data[, config]]) +##### axios.patch(url[, data[, config]]) + +###### NOTE +When using the alias methods `url`, `method`, and `data` properties don't need to be specified in config. + +### Concurrency + +Helper functions for dealing with concurrent requests. + +##### axios.all(iterable) +##### axios.spread(callback) + +### Creating an instance + +You can create a new instance of axios with a custom config. + +##### axios.create([config]) + +```js +var instance = axios.create({ + baseURL: 'https://some-domain.com/api/', + timeout: 1000, + headers: {'X-Custom-Header': 'foobar'} +}); +``` + +### Instance methods + +The available instance methods are listed below. The specified config will be merged with the instance config. + +##### axios#request(config) +##### axios#get(url[, config]) +##### axios#delete(url[, config]) +##### axios#head(url[, config]) +##### axios#options(url[, config]) +##### axios#post(url[, data[, config]]) +##### axios#put(url[, data[, config]]) +##### axios#patch(url[, data[, config]]) + +## Request Config + +These are the available config options for making requests. Only the `url` is required. Requests will default to `GET` if `method` is not specified. + +```js +{ + // `url` is the server URL that will be used for the request + url: '/user', + + // `method` is the request method to be used when making the request + method: 'get', // default + + // `baseURL` will be prepended to `url` unless `url` is absolute. + // It can be convenient to set `baseURL` for an instance of axios to pass relative URLs + // to methods of that instance. + baseURL: 'https://some-domain.com/api/', + + // `transformRequest` allows changes to the request data before it is sent to the server + // This is only applicable for request methods 'PUT', 'POST', and 'PATCH' + // The last function in the array must return a string or an instance of Buffer, ArrayBuffer, + // FormData or Stream + // You may modify the headers object. + transformRequest: [function (data, headers) { + // Do whatever you want to transform the data + + return data; + }], + + // `transformResponse` allows changes to the response data to be made before + // it is passed to then/catch + transformResponse: [function (data) { + // Do whatever you want to transform the data + + return data; + }], + + // `headers` are custom headers to be sent + headers: {'X-Requested-With': 'XMLHttpRequest'}, + + // `params` are the URL parameters to be sent with the request + // Must be a plain object or a URLSearchParams object + params: { + ID: 12345 + }, + + // `paramsSerializer` is an optional function in charge of serializing `params` + // (e.g. https://www.npmjs.com/package/qs, http://api.jquery.com/jquery.param/) + paramsSerializer: function(params) { + return Qs.stringify(params, {arrayFormat: 'brackets'}) + }, + + // `data` is the data to be sent as the request body + // Only applicable for request methods 'PUT', 'POST', and 'PATCH' + // When no `transformRequest` is set, must be of one of the following types: + // - string, plain object, ArrayBuffer, ArrayBufferView, URLSearchParams + // - Browser only: FormData, File, Blob + // - Node only: Stream, Buffer + data: { + firstName: 'Fred' + }, + + // `timeout` specifies the number of milliseconds before the request times out. + // If the request takes longer than `timeout`, the request will be aborted. + timeout: 1000, + + // `withCredentials` indicates whether or not cross-site Access-Control requests + // should be made using credentials + withCredentials: false, // default + + // `adapter` allows custom handling of requests which makes testing easier. + // Return a promise and supply a valid response (see lib/adapters/README.md). + adapter: function (config) { + /* ... */ + }, + + // `auth` indicates that HTTP Basic auth should be used, and supplies credentials. + // This will set an `Authorization` header, overwriting any existing + // `Authorization` custom headers you have set using `headers`. + auth: { + username: 'janedoe', + password: 's00pers3cret' + }, + + // `responseType` indicates the type of data that the server will respond with + // options are 'arraybuffer', 'blob', 'document', 'json', 'text', 'stream' + responseType: 'json', // default + + // `xsrfCookieName` is the name of the cookie to use as a value for xsrf token + xsrfCookieName: 'XSRF-TOKEN', // default + + // `xsrfHeaderName` is the name of the http header that carries the xsrf token value + xsrfHeaderName: 'X-XSRF-TOKEN', // default + + // `onUploadProgress` allows handling of progress events for uploads + onUploadProgress: function (progressEvent) { + // Do whatever you want with the native progress event + }, + + // `onDownloadProgress` allows handling of progress events for downloads + onDownloadProgress: function (progressEvent) { + // Do whatever you want with the native progress event + }, + + // `maxContentLength` defines the max size of the http response content allowed + maxContentLength: 2000, + + // `validateStatus` defines whether to resolve or reject the promise for a given + // HTTP response status code. If `validateStatus` returns `true` (or is set to `null` + // or `undefined`), the promise will be resolved; otherwise, the promise will be + // rejected. + validateStatus: function (status) { + return status >= 200 && status < 300; // default + }, + + // `maxRedirects` defines the maximum number of redirects to follow in node.js. + // If set to 0, no redirects will be followed. + maxRedirects: 5, // default + + // `socketPath` defines a UNIX Socket to be used in node.js. + // e.g. '/var/run/docker.sock' to send requests to the docker daemon. + // Only either `socketPath` or `proxy` can be specified. + // If both are specified, `socketPath` is used. + socketPath: null, // default + + // `httpAgent` and `httpsAgent` define a custom agent to be used when performing http + // and https requests, respectively, in node.js. This allows options to be added like + // `keepAlive` that are not enabled by default. + httpAgent: new http.Agent({ keepAlive: true }), + httpsAgent: new https.Agent({ keepAlive: true }), + + // 'proxy' defines the hostname and port of the proxy server + // Use `false` to disable proxies, ignoring environment variables. + // `auth` indicates that HTTP Basic auth should be used to connect to the proxy, and + // supplies credentials. + // This will set an `Proxy-Authorization` header, overwriting any existing + // `Proxy-Authorization` custom headers you have set using `headers`. + proxy: { + host: '127.0.0.1', + port: 9000, + auth: { + username: 'mikeymike', + password: 'rapunz3l' + } + }, + + // `cancelToken` specifies a cancel token that can be used to cancel the request + // (see Cancellation section below for details) + cancelToken: new CancelToken(function (cancel) { + }) +} +``` + +## Response Schema + +The response for a request contains the following information. + +```js +{ + // `data` is the response that was provided by the server + data: {}, + + // `status` is the HTTP status code from the server response + status: 200, + + // `statusText` is the HTTP status message from the server response + statusText: 'OK', + + // `headers` the headers that the server responded with + // All header names are lower cased + headers: {}, + + // `config` is the config that was provided to `axios` for the request + config: {}, + + // `request` is the request that generated this response + // It is the last ClientRequest instance in node.js (in redirects) + // and an XMLHttpRequest instance the browser + request: {} +} +``` + +When using `then`, you will receive the response as follows: + +```js +axios.get('/user/12345') + .then(function(response) { + console.log(response.data); + console.log(response.status); + console.log(response.statusText); + console.log(response.headers); + console.log(response.config); + }); +``` + +When using `catch`, or passing a [rejection callback](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/then) as second parameter of `then`, the response will be available through the `error` object as explained in the [Handling Errors](#handling-errors) section. + +## Config Defaults + +You can specify config defaults that will be applied to every request. + +### Global axios defaults + +```js +axios.defaults.baseURL = 'https://api.example.com'; +axios.defaults.headers.common['Authorization'] = AUTH_TOKEN; +axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded'; +``` + +### Custom instance defaults + +```js +// Set config defaults when creating the instance +var instance = axios.create({ + baseURL: 'https://api.example.com' +}); + +// Alter defaults after instance has been created +instance.defaults.headers.common['Authorization'] = AUTH_TOKEN; +``` + +### Config order of precedence + +Config will be merged with an order of precedence. The order is library defaults found in [lib/defaults.js](https://github.com/axios/axios/blob/master/lib/defaults.js#L28), then `defaults` property of the instance, and finally `config` argument for the request. The latter will take precedence over the former. Here's an example. + +```js +// Create an instance using the config defaults provided by the library +// At this point the timeout config value is `0` as is the default for the library +var instance = axios.create(); + +// Override timeout default for the library +// Now all requests will wait 2.5 seconds before timing out +instance.defaults.timeout = 2500; + +// Override timeout for this request as it's known to take a long time +instance.get('/longRequest', { + timeout: 5000 +}); +``` + +## Interceptors + +You can intercept requests or responses before they are handled by `then` or `catch`. + +```js +// Add a request interceptor +axios.interceptors.request.use(function (config) { + // Do something before request is sent + return config; + }, function (error) { + // Do something with request error + return Promise.reject(error); + }); + +// Add a response interceptor +axios.interceptors.response.use(function (response) { + // Do something with response data + return response; + }, function (error) { + // Do something with response error + return Promise.reject(error); + }); +``` + +If you may need to remove an interceptor later you can. + +```js +var myInterceptor = axios.interceptors.request.use(function () {/*...*/}); +axios.interceptors.request.eject(myInterceptor); +``` + +You can add interceptors to a custom instance of axios. + +```js +var instance = axios.create(); +instance.interceptors.request.use(function () {/*...*/}); +``` + +## Handling Errors + +```js +axios.get('/user/12345') + .catch(function (error) { + if (error.response) { + // The request was made and the server responded with a status code + // that falls out of the range of 2xx + console.log(error.response.data); + console.log(error.response.status); + console.log(error.response.headers); + } else if (error.request) { + // The request was made but no response was received + // `error.request` is an instance of XMLHttpRequest in the browser and an instance of + // http.ClientRequest in node.js + console.log(error.request); + } else { + // Something happened in setting up the request that triggered an Error + console.log('Error', error.message); + } + console.log(error.config); + }); +``` + +You can define a custom HTTP status code error range using the `validateStatus` config option. + +```js +axios.get('/user/12345', { + validateStatus: function (status) { + return status < 500; // Reject only if the status code is greater than or equal to 500 + } +}) +``` + +## Cancellation + +You can cancel a request using a *cancel token*. + +> The axios cancel token API is based on the withdrawn [cancelable promises proposal](https://github.com/tc39/proposal-cancelable-promises). + +You can create a cancel token using the `CancelToken.source` factory as shown below: + +```js +var CancelToken = axios.CancelToken; +var source = CancelToken.source(); + +axios.get('/user/12345', { + cancelToken: source.token +}).catch(function(thrown) { + if (axios.isCancel(thrown)) { + console.log('Request canceled', thrown.message); + } else { + // handle error + } +}); + +axios.post('/user/12345', { + name: 'new name' +}, { + cancelToken: source.token +}) + +// cancel the request (the message parameter is optional) +source.cancel('Operation canceled by the user.'); +``` + +You can also create a cancel token by passing an executor function to the `CancelToken` constructor: + +```js +var CancelToken = axios.CancelToken; +var cancel; + +axios.get('/user/12345', { + cancelToken: new CancelToken(function executor(c) { + // An executor function receives a cancel function as a parameter + cancel = c; + }) +}); + +// cancel the request +cancel(); +``` + +> Note: you can cancel several requests with the same cancel token. + +## Using application/x-www-form-urlencoded format + +By default, axios serializes JavaScript objects to `JSON`. To send data in the `application/x-www-form-urlencoded` format instead, you can use one of the following options. + +### Browser + +In a browser, you can use the [`URLSearchParams`](https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams) API as follows: + +```js +var params = new URLSearchParams(); +params.append('param1', 'value1'); +params.append('param2', 'value2'); +axios.post('/foo', params); +``` + +> Note that `URLSearchParams` is not supported by all browsers (see [caniuse.com](http://www.caniuse.com/#feat=urlsearchparams)), but there is a [polyfill](https://github.com/WebReflection/url-search-params) available (make sure to polyfill the global environment). + +Alternatively, you can encode data using the [`qs`](https://github.com/ljharb/qs) library: + +```js +var qs = require('qs'); +axios.post('/foo', qs.stringify({ 'bar': 123 })); +``` + +### Node.js + +In node.js, you can use the [`querystring`](https://nodejs.org/api/querystring.html) module as follows: + +```js +var querystring = require('querystring'); +axios.post('http://something.com/', querystring.stringify({ foo: 'bar' })); +``` + +You can also use the [`qs`](https://github.com/ljharb/qs) library. + +## Semver + +Until axios reaches a `1.0` release, breaking changes will be released with a new minor version. For example `0.5.1`, and `0.5.4` will have the same API, but `0.6.0` will have breaking changes. + +## Promises + +axios depends on a native ES6 Promise implementation to be [supported](http://caniuse.com/promises). +If your environment doesn't support ES6 Promises, you can [polyfill](https://github.com/jakearchibald/es6-promise). + +## TypeScript +axios includes [TypeScript](http://typescriptlang.org) definitions. +```typescript +import axios from 'axios'; +axios.get('/user?ID=12345'); +``` + +## Resources + +* [Changelog](https://github.com/axios/axios/blob/master/CHANGELOG.md) +* [Upgrade Guide](https://github.com/axios/axios/blob/master/UPGRADE_GUIDE.md) +* [Ecosystem](https://github.com/axios/axios/blob/master/ECOSYSTEM.md) +* [Contributing Guide](https://github.com/axios/axios/blob/master/CONTRIBUTING.md) +* [Code of Conduct](https://github.com/axios/axios/blob/master/CODE_OF_CONDUCT.md) + +## Credits + +axios is heavily inspired by the [$http service](https://docs.angularjs.org/api/ng/service/$http) provided in [Angular](https://angularjs.org/). Ultimately axios is an effort to provide a standalone `$http`-like service for use outside of Angular. + +## License + +MIT diff --git a/express-server/node_modules/axios/UPGRADE_GUIDE.md b/express-server/node_modules/axios/UPGRADE_GUIDE.md new file mode 100644 index 00000000..eedb0492 --- /dev/null +++ b/express-server/node_modules/axios/UPGRADE_GUIDE.md @@ -0,0 +1,162 @@ +# Upgrade Guide + +### 0.15.x -> 0.16.0 + +#### `Promise` Type Declarations + +The `Promise` type declarations have been removed from the axios typings in favor of the built-in type declarations. If you use axios in a TypeScript project that targets `ES5`, please make sure to include the `es2015.promise` lib. Please see [this post](https://blog.mariusschulz.com/2016/11/25/typescript-2-0-built-in-type-declarations) for details. + +### 0.13.x -> 0.14.0 + +#### TypeScript Definitions + +The axios TypeScript definitions have been updated to match the axios API and use the ES2015 module syntax. + +Please use the following `import` statement to import axios in TypeScript: + +```typescript +import axios from 'axios'; + +axios.get('/foo') + .then(response => console.log(response)) + .catch(error => console.log(error)); +``` + +#### `agent` Config Option + +The `agent` config option has been replaced with two new options: `httpAgent` and `httpsAgent`. Please use them instead. + +```js +{ + // Define a custom agent for HTTP + httpAgent: new http.Agent({ keepAlive: true }), + // Define a custom agent for HTTPS + httpsAgent: new https.Agent({ keepAlive: true }) +} +``` + +#### `progress` Config Option + +The `progress` config option has been replaced with the `onUploadProgress` and `onDownloadProgress` options. + +```js +{ + // Define a handler for upload progress events + onUploadProgress: function (progressEvent) { + // ... + }, + + // Define a handler for download progress events + onDownloadProgress: function (progressEvent) { + // ... + } +} +``` + +### 0.12.x -> 0.13.0 + +The `0.13.0` release contains several changes to custom adapters and error handling. + +#### Error Handling + +Previous to this release an error could either be a server response with bad status code or an actual `Error`. With this release Promise will always reject with an `Error`. In the case that a response was received, the `Error` will also include the response. + +```js +axios.get('/user/12345') + .catch((error) => { + console.log(error.message); + console.log(error.code); // Not always specified + console.log(error.config); // The config that was used to make the request + console.log(error.response); // Only available if response was received from the server + }); +``` + +#### Request Adapters + +This release changes a few things about how request adapters work. Please take note if you are using your own custom adapter. + +1. Response transformer is now called outside of adapter. +2. Request adapter returns a `Promise`. + +This means that you no longer need to invoke `transformData` on response data. You will also no longer receive `resolve` and `reject` as arguments in your adapter. + +Previous code: + +```js +function myAdapter(resolve, reject, config) { + var response = { + data: transformData( + responseData, + responseHeaders, + config.transformResponse + ), + status: request.status, + statusText: request.statusText, + headers: responseHeaders + }; + settle(resolve, reject, response); +} +``` + +New code: + +```js +function myAdapter(config) { + return new Promise(function (resolve, reject) { + var response = { + data: responseData, + status: request.status, + statusText: request.statusText, + headers: responseHeaders + }; + settle(resolve, reject, response); + }); +} +``` + +See the related commits for more details: +- [Response transformers](https://github.com/axios/axios/commit/10eb23865101f9347570552c04e9d6211376e25e) +- [Request adapter Promise](https://github.com/axios/axios/commit/157efd5615890301824e3121cc6c9d2f9b21f94a) + +### 0.5.x -> 0.6.0 + +The `0.6.0` release contains mostly bug fixes, but there are a couple things to be aware of when upgrading. + +#### ES6 Promise Polyfill + +Up until the `0.6.0` release ES6 `Promise` was being polyfilled using [es6-promise](https://github.com/jakearchibald/es6-promise). With this release, the polyfill has been removed, and you will need to supply it yourself if your environment needs it. + +```js +require('es6-promise').polyfill(); +var axios = require('axios'); +``` + +This will polyfill the global environment, and only needs to be done once. + +#### `axios.success`/`axios.error` + +The `success`, and `error` aliases were deprectated in [0.4.0](https://github.com/axios/axios/blob/master/CHANGELOG.md#040-oct-03-2014). As of this release they have been removed entirely. Instead please use `axios.then`, and `axios.catch` respectively. + +```js +axios.get('some/url') + .then(function (res) { + /* ... */ + }) + .catch(function (err) { + /* ... */ + }); +``` + +#### UMD + +Previous versions of axios shipped with an AMD, CommonJS, and Global build. This has all been rolled into a single UMD build. + +```js +// AMD +require(['bower_components/axios/dist/axios'], function (axios) { + /* ... */ +}); + +// CommonJS +var axios = require('axios/dist/axios'); +``` diff --git a/express-server/node_modules/axios/dist/axios.js b/express-server/node_modules/axios/dist/axios.js new file mode 100644 index 00000000..cf8b39db --- /dev/null +++ b/express-server/node_modules/axios/dist/axios.js @@ -0,0 +1,1603 @@ +/* axios v0.18.0 | (c) 2018 by Matt Zabriskie */ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(); + else if(typeof define === 'function' && define.amd) + define([], factory); + else if(typeof exports === 'object') + exports["axios"] = factory(); + else + root["axios"] = factory(); +})(this, function() { +return /******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) +/******/ return installedModules[moduleId].exports; +/******/ +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ exports: {}, +/******/ id: moduleId, +/******/ loaded: false +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.loaded = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(0); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ (function(module, exports, __webpack_require__) { + + module.exports = __webpack_require__(1); + +/***/ }), +/* 1 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + var utils = __webpack_require__(2); + var bind = __webpack_require__(3); + var Axios = __webpack_require__(5); + var defaults = __webpack_require__(6); + + /** + * Create an instance of Axios + * + * @param {Object} defaultConfig The default config for the instance + * @return {Axios} A new instance of Axios + */ + function createInstance(defaultConfig) { + var context = new Axios(defaultConfig); + var instance = bind(Axios.prototype.request, context); + + // Copy axios.prototype to instance + utils.extend(instance, Axios.prototype, context); + + // Copy context to instance + utils.extend(instance, context); + + return instance; + } + + // Create the default instance to be exported + var axios = createInstance(defaults); + + // Expose Axios class to allow class inheritance + axios.Axios = Axios; + + // Factory for creating new instances + axios.create = function create(instanceConfig) { + return createInstance(utils.merge(defaults, instanceConfig)); + }; + + // Expose Cancel & CancelToken + axios.Cancel = __webpack_require__(23); + axios.CancelToken = __webpack_require__(24); + axios.isCancel = __webpack_require__(20); + + // Expose all/spread + axios.all = function all(promises) { + return Promise.all(promises); + }; + axios.spread = __webpack_require__(25); + + module.exports = axios; + + // Allow use of default import syntax in TypeScript + module.exports.default = axios; + + +/***/ }), +/* 2 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + var bind = __webpack_require__(3); + var isBuffer = __webpack_require__(4); + + /*global toString:true*/ + + // utils is a library of generic helper functions non-specific to axios + + var toString = Object.prototype.toString; + + /** + * Determine if a value is an Array + * + * @param {Object} val The value to test + * @returns {boolean} True if value is an Array, otherwise false + */ + function isArray(val) { + return toString.call(val) === '[object Array]'; + } + + /** + * Determine if a value is an ArrayBuffer + * + * @param {Object} val The value to test + * @returns {boolean} True if value is an ArrayBuffer, otherwise false + */ + function isArrayBuffer(val) { + return toString.call(val) === '[object ArrayBuffer]'; + } + + /** + * Determine if a value is a FormData + * + * @param {Object} val The value to test + * @returns {boolean} True if value is an FormData, otherwise false + */ + function isFormData(val) { + return (typeof FormData !== 'undefined') && (val instanceof FormData); + } + + /** + * Determine if a value is a view on an ArrayBuffer + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false + */ + function isArrayBufferView(val) { + var result; + if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) { + result = ArrayBuffer.isView(val); + } else { + result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer); + } + return result; + } + + /** + * Determine if a value is a String + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a String, otherwise false + */ + function isString(val) { + return typeof val === 'string'; + } + + /** + * Determine if a value is a Number + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a Number, otherwise false + */ + function isNumber(val) { + return typeof val === 'number'; + } + + /** + * Determine if a value is undefined + * + * @param {Object} val The value to test + * @returns {boolean} True if the value is undefined, otherwise false + */ + function isUndefined(val) { + return typeof val === 'undefined'; + } + + /** + * Determine if a value is an Object + * + * @param {Object} val The value to test + * @returns {boolean} True if value is an Object, otherwise false + */ + function isObject(val) { + return val !== null && typeof val === 'object'; + } + + /** + * Determine if a value is a Date + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a Date, otherwise false + */ + function isDate(val) { + return toString.call(val) === '[object Date]'; + } + + /** + * Determine if a value is a File + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a File, otherwise false + */ + function isFile(val) { + return toString.call(val) === '[object File]'; + } + + /** + * Determine if a value is a Blob + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a Blob, otherwise false + */ + function isBlob(val) { + return toString.call(val) === '[object Blob]'; + } + + /** + * Determine if a value is a Function + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a Function, otherwise false + */ + function isFunction(val) { + return toString.call(val) === '[object Function]'; + } + + /** + * Determine if a value is a Stream + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a Stream, otherwise false + */ + function isStream(val) { + return isObject(val) && isFunction(val.pipe); + } + + /** + * Determine if a value is a URLSearchParams object + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a URLSearchParams object, otherwise false + */ + function isURLSearchParams(val) { + return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams; + } + + /** + * Trim excess whitespace off the beginning and end of a string + * + * @param {String} str The String to trim + * @returns {String} The String freed of excess whitespace + */ + function trim(str) { + return str.replace(/^\s*/, '').replace(/\s*$/, ''); + } + + /** + * Determine if we're running in a standard browser environment + * + * This allows axios to run in a web worker, and react-native. + * Both environments support XMLHttpRequest, but not fully standard globals. + * + * web workers: + * typeof window -> undefined + * typeof document -> undefined + * + * react-native: + * navigator.product -> 'ReactNative' + */ + function isStandardBrowserEnv() { + if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') { + return false; + } + return ( + typeof window !== 'undefined' && + typeof document !== 'undefined' + ); + } + + /** + * Iterate over an Array or an Object invoking a function for each item. + * + * If `obj` is an Array callback will be called passing + * the value, index, and complete array for each item. + * + * If 'obj' is an Object callback will be called passing + * the value, key, and complete object for each property. + * + * @param {Object|Array} obj The object to iterate + * @param {Function} fn The callback to invoke for each item + */ + function forEach(obj, fn) { + // Don't bother if no value provided + if (obj === null || typeof obj === 'undefined') { + return; + } + + // Force an array if not already something iterable + if (typeof obj !== 'object') { + /*eslint no-param-reassign:0*/ + obj = [obj]; + } + + if (isArray(obj)) { + // Iterate over array values + for (var i = 0, l = obj.length; i < l; i++) { + fn.call(null, obj[i], i, obj); + } + } else { + // Iterate over object keys + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + fn.call(null, obj[key], key, obj); + } + } + } + } + + /** + * Accepts varargs expecting each argument to be an object, then + * immutably merges the properties of each object and returns result. + * + * When multiple objects contain the same key the later object in + * the arguments list will take precedence. + * + * Example: + * + * ```js + * var result = merge({foo: 123}, {foo: 456}); + * console.log(result.foo); // outputs 456 + * ``` + * + * @param {Object} obj1 Object to merge + * @returns {Object} Result of all merge properties + */ + function merge(/* obj1, obj2, obj3, ... */) { + var result = {}; + function assignValue(val, key) { + if (typeof result[key] === 'object' && typeof val === 'object') { + result[key] = merge(result[key], val); + } else { + result[key] = val; + } + } + + for (var i = 0, l = arguments.length; i < l; i++) { + forEach(arguments[i], assignValue); + } + return result; + } + + /** + * Extends object a by mutably adding to it the properties of object b. + * + * @param {Object} a The object to be extended + * @param {Object} b The object to copy properties from + * @param {Object} thisArg The object to bind function to + * @return {Object} The resulting value of object a + */ + function extend(a, b, thisArg) { + forEach(b, function assignValue(val, key) { + if (thisArg && typeof val === 'function') { + a[key] = bind(val, thisArg); + } else { + a[key] = val; + } + }); + return a; + } + + module.exports = { + isArray: isArray, + isArrayBuffer: isArrayBuffer, + isBuffer: isBuffer, + isFormData: isFormData, + isArrayBufferView: isArrayBufferView, + isString: isString, + isNumber: isNumber, + isObject: isObject, + isUndefined: isUndefined, + isDate: isDate, + isFile: isFile, + isBlob: isBlob, + isFunction: isFunction, + isStream: isStream, + isURLSearchParams: isURLSearchParams, + isStandardBrowserEnv: isStandardBrowserEnv, + forEach: forEach, + merge: merge, + extend: extend, + trim: trim + }; + + +/***/ }), +/* 3 */ +/***/ (function(module, exports) { + + 'use strict'; + + module.exports = function bind(fn, thisArg) { + return function wrap() { + var args = new Array(arguments.length); + for (var i = 0; i < args.length; i++) { + args[i] = arguments[i]; + } + return fn.apply(thisArg, args); + }; + }; + + +/***/ }), +/* 4 */ +/***/ (function(module, exports) { + + /*! + * Determine if an object is a Buffer + * + * @author Feross Aboukhadijeh + * @license MIT + */ + + // The _isBuffer check is for Safari 5-7 support, because it's missing + // Object.prototype.constructor. Remove this eventually + module.exports = function (obj) { + return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer) + } + + function isBuffer (obj) { + return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj) + } + + // For Node v0.10 support. Remove this eventually. + function isSlowBuffer (obj) { + return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0)) + } + + +/***/ }), +/* 5 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + var defaults = __webpack_require__(6); + var utils = __webpack_require__(2); + var InterceptorManager = __webpack_require__(17); + var dispatchRequest = __webpack_require__(18); + + /** + * Create a new instance of Axios + * + * @param {Object} instanceConfig The default config for the instance + */ + function Axios(instanceConfig) { + this.defaults = instanceConfig; + this.interceptors = { + request: new InterceptorManager(), + response: new InterceptorManager() + }; + } + + /** + * Dispatch a request + * + * @param {Object} config The config specific for this request (merged with this.defaults) + */ + Axios.prototype.request = function request(config) { + /*eslint no-param-reassign:0*/ + // Allow for axios('example/url'[, config]) a la fetch API + if (typeof config === 'string') { + config = utils.merge({ + url: arguments[0] + }, arguments[1]); + } + + config = utils.merge(defaults, {method: 'get'}, this.defaults, config); + config.method = config.method.toLowerCase(); + + // Hook up interceptors middleware + var chain = [dispatchRequest, undefined]; + var promise = Promise.resolve(config); + + this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { + chain.unshift(interceptor.fulfilled, interceptor.rejected); + }); + + this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) { + chain.push(interceptor.fulfilled, interceptor.rejected); + }); + + while (chain.length) { + promise = promise.then(chain.shift(), chain.shift()); + } + + return promise; + }; + + // Provide aliases for supported request methods + utils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) { + /*eslint func-names:0*/ + Axios.prototype[method] = function(url, config) { + return this.request(utils.merge(config || {}, { + method: method, + url: url + })); + }; + }); + + utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { + /*eslint func-names:0*/ + Axios.prototype[method] = function(url, data, config) { + return this.request(utils.merge(config || {}, { + method: method, + url: url, + data: data + })); + }; + }); + + module.exports = Axios; + + +/***/ }), +/* 6 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + var utils = __webpack_require__(2); + var normalizeHeaderName = __webpack_require__(7); + + var DEFAULT_CONTENT_TYPE = { + 'Content-Type': 'application/x-www-form-urlencoded' + }; + + function setContentTypeIfUnset(headers, value) { + if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) { + headers['Content-Type'] = value; + } + } + + function getDefaultAdapter() { + var adapter; + if (typeof XMLHttpRequest !== 'undefined') { + // For browsers use XHR adapter + adapter = __webpack_require__(8); + } else if (typeof process !== 'undefined') { + // For node use HTTP adapter + adapter = __webpack_require__(8); + } + return adapter; + } + + var defaults = { + adapter: getDefaultAdapter(), + + transformRequest: [function transformRequest(data, headers) { + normalizeHeaderName(headers, 'Content-Type'); + if (utils.isFormData(data) || + utils.isArrayBuffer(data) || + utils.isBuffer(data) || + utils.isStream(data) || + utils.isFile(data) || + utils.isBlob(data) + ) { + return data; + } + if (utils.isArrayBufferView(data)) { + return data.buffer; + } + if (utils.isURLSearchParams(data)) { + setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8'); + return data.toString(); + } + if (utils.isObject(data)) { + setContentTypeIfUnset(headers, 'application/json;charset=utf-8'); + return JSON.stringify(data); + } + return data; + }], + + transformResponse: [function transformResponse(data) { + /*eslint no-param-reassign:0*/ + if (typeof data === 'string') { + try { + data = JSON.parse(data); + } catch (e) { /* Ignore */ } + } + return data; + }], + + /** + * A timeout in milliseconds to abort a request. If set to 0 (default) a + * timeout is not created. + */ + timeout: 0, + + xsrfCookieName: 'XSRF-TOKEN', + xsrfHeaderName: 'X-XSRF-TOKEN', + + maxContentLength: -1, + + validateStatus: function validateStatus(status) { + return status >= 200 && status < 300; + } + }; + + defaults.headers = { + common: { + 'Accept': 'application/json, text/plain, */*' + } + }; + + utils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) { + defaults.headers[method] = {}; + }); + + utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { + defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE); + }); + + module.exports = defaults; + + +/***/ }), +/* 7 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + var utils = __webpack_require__(2); + + module.exports = function normalizeHeaderName(headers, normalizedName) { + utils.forEach(headers, function processHeader(value, name) { + if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) { + headers[normalizedName] = value; + delete headers[name]; + } + }); + }; + + +/***/ }), +/* 8 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + var utils = __webpack_require__(2); + var settle = __webpack_require__(9); + var buildURL = __webpack_require__(12); + var parseHeaders = __webpack_require__(13); + var isURLSameOrigin = __webpack_require__(14); + var createError = __webpack_require__(10); + var btoa = (typeof window !== 'undefined' && window.btoa && window.btoa.bind(window)) || __webpack_require__(15); + + module.exports = function xhrAdapter(config) { + return new Promise(function dispatchXhrRequest(resolve, reject) { + var requestData = config.data; + var requestHeaders = config.headers; + + if (utils.isFormData(requestData)) { + delete requestHeaders['Content-Type']; // Let the browser set it + } + + var request = new XMLHttpRequest(); + var loadEvent = 'onreadystatechange'; + var xDomain = false; + + // For IE 8/9 CORS support + // Only supports POST and GET calls and doesn't returns the response headers. + // DON'T do this for testing b/c XMLHttpRequest is mocked, not XDomainRequest. + if (("production") !== 'test' && + typeof window !== 'undefined' && + window.XDomainRequest && !('withCredentials' in request) && + !isURLSameOrigin(config.url)) { + request = new window.XDomainRequest(); + loadEvent = 'onload'; + xDomain = true; + request.onprogress = function handleProgress() {}; + request.ontimeout = function handleTimeout() {}; + } + + // HTTP basic authentication + if (config.auth) { + var username = config.auth.username || ''; + var password = config.auth.password || ''; + requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password); + } + + request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true); + + // Set the request timeout in MS + request.timeout = config.timeout; + + // Listen for ready state + request[loadEvent] = function handleLoad() { + if (!request || (request.readyState !== 4 && !xDomain)) { + return; + } + + // The request errored out and we didn't get a response, this will be + // handled by onerror instead + // With one exception: request that using file: protocol, most browsers + // will return status as 0 even though it's a successful request + if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) { + return; + } + + // Prepare the response + var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null; + var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response; + var response = { + data: responseData, + // IE sends 1223 instead of 204 (https://github.com/axios/axios/issues/201) + status: request.status === 1223 ? 204 : request.status, + statusText: request.status === 1223 ? 'No Content' : request.statusText, + headers: responseHeaders, + config: config, + request: request + }; + + settle(resolve, reject, response); + + // Clean up request + request = null; + }; + + // Handle low level network errors + request.onerror = function handleError() { + // Real errors are hidden from us by the browser + // onerror should only fire if it's a network error + reject(createError('Network Error', config, null, request)); + + // Clean up request + request = null; + }; + + // Handle timeout + request.ontimeout = function handleTimeout() { + reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED', + request)); + + // Clean up request + request = null; + }; + + // Add xsrf header + // This is only done if running in a standard browser environment. + // Specifically not if we're in a web worker, or react-native. + if (utils.isStandardBrowserEnv()) { + var cookies = __webpack_require__(16); + + // Add xsrf header + var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ? + cookies.read(config.xsrfCookieName) : + undefined; + + if (xsrfValue) { + requestHeaders[config.xsrfHeaderName] = xsrfValue; + } + } + + // Add headers to the request + if ('setRequestHeader' in request) { + utils.forEach(requestHeaders, function setRequestHeader(val, key) { + if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') { + // Remove Content-Type if data is undefined + delete requestHeaders[key]; + } else { + // Otherwise add header to the request + request.setRequestHeader(key, val); + } + }); + } + + // Add withCredentials to request if needed + if (config.withCredentials) { + request.withCredentials = true; + } + + // Add responseType to request if needed + if (config.responseType) { + try { + request.responseType = config.responseType; + } catch (e) { + // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2. + // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function. + if (config.responseType !== 'json') { + throw e; + } + } + } + + // Handle progress if needed + if (typeof config.onDownloadProgress === 'function') { + request.addEventListener('progress', config.onDownloadProgress); + } + + // Not all browsers support upload events + if (typeof config.onUploadProgress === 'function' && request.upload) { + request.upload.addEventListener('progress', config.onUploadProgress); + } + + if (config.cancelToken) { + // Handle cancellation + config.cancelToken.promise.then(function onCanceled(cancel) { + if (!request) { + return; + } + + request.abort(); + reject(cancel); + // Clean up request + request = null; + }); + } + + if (requestData === undefined) { + requestData = null; + } + + // Send the request + request.send(requestData); + }); + }; + + +/***/ }), +/* 9 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + var createError = __webpack_require__(10); + + /** + * Resolve or reject a Promise based on response status. + * + * @param {Function} resolve A function that resolves the promise. + * @param {Function} reject A function that rejects the promise. + * @param {object} response The response. + */ + module.exports = function settle(resolve, reject, response) { + var validateStatus = response.config.validateStatus; + // Note: status is not exposed by XDomainRequest + if (!response.status || !validateStatus || validateStatus(response.status)) { + resolve(response); + } else { + reject(createError( + 'Request failed with status code ' + response.status, + response.config, + null, + response.request, + response + )); + } + }; + + +/***/ }), +/* 10 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + var enhanceError = __webpack_require__(11); + + /** + * Create an Error with the specified message, config, error code, request and response. + * + * @param {string} message The error message. + * @param {Object} config The config. + * @param {string} [code] The error code (for example, 'ECONNABORTED'). + * @param {Object} [request] The request. + * @param {Object} [response] The response. + * @returns {Error} The created error. + */ + module.exports = function createError(message, config, code, request, response) { + var error = new Error(message); + return enhanceError(error, config, code, request, response); + }; + + +/***/ }), +/* 11 */ +/***/ (function(module, exports) { + + 'use strict'; + + /** + * Update an Error with the specified config, error code, and response. + * + * @param {Error} error The error to update. + * @param {Object} config The config. + * @param {string} [code] The error code (for example, 'ECONNABORTED'). + * @param {Object} [request] The request. + * @param {Object} [response] The response. + * @returns {Error} The error. + */ + module.exports = function enhanceError(error, config, code, request, response) { + error.config = config; + if (code) { + error.code = code; + } + error.request = request; + error.response = response; + return error; + }; + + +/***/ }), +/* 12 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + var utils = __webpack_require__(2); + + function encode(val) { + return encodeURIComponent(val). + replace(/%40/gi, '@'). + replace(/%3A/gi, ':'). + replace(/%24/g, '$'). + replace(/%2C/gi, ','). + replace(/%20/g, '+'). + replace(/%5B/gi, '['). + replace(/%5D/gi, ']'); + } + + /** + * Build a URL by appending params to the end + * + * @param {string} url The base of the url (e.g., http://www.google.com) + * @param {object} [params] The params to be appended + * @returns {string} The formatted url + */ + module.exports = function buildURL(url, params, paramsSerializer) { + /*eslint no-param-reassign:0*/ + if (!params) { + return url; + } + + var serializedParams; + if (paramsSerializer) { + serializedParams = paramsSerializer(params); + } else if (utils.isURLSearchParams(params)) { + serializedParams = params.toString(); + } else { + var parts = []; + + utils.forEach(params, function serialize(val, key) { + if (val === null || typeof val === 'undefined') { + return; + } + + if (utils.isArray(val)) { + key = key + '[]'; + } else { + val = [val]; + } + + utils.forEach(val, function parseValue(v) { + if (utils.isDate(v)) { + v = v.toISOString(); + } else if (utils.isObject(v)) { + v = JSON.stringify(v); + } + parts.push(encode(key) + '=' + encode(v)); + }); + }); + + serializedParams = parts.join('&'); + } + + if (serializedParams) { + url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams; + } + + return url; + }; + + +/***/ }), +/* 13 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + var utils = __webpack_require__(2); + + // Headers whose duplicates are ignored by node + // c.f. https://nodejs.org/api/http.html#http_message_headers + var ignoreDuplicateOf = [ + 'age', 'authorization', 'content-length', 'content-type', 'etag', + 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since', + 'last-modified', 'location', 'max-forwards', 'proxy-authorization', + 'referer', 'retry-after', 'user-agent' + ]; + + /** + * Parse headers into an object + * + * ``` + * Date: Wed, 27 Aug 2014 08:58:49 GMT + * Content-Type: application/json + * Connection: keep-alive + * Transfer-Encoding: chunked + * ``` + * + * @param {String} headers Headers needing to be parsed + * @returns {Object} Headers parsed into an object + */ + module.exports = function parseHeaders(headers) { + var parsed = {}; + var key; + var val; + var i; + + if (!headers) { return parsed; } + + utils.forEach(headers.split('\n'), function parser(line) { + i = line.indexOf(':'); + key = utils.trim(line.substr(0, i)).toLowerCase(); + val = utils.trim(line.substr(i + 1)); + + if (key) { + if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) { + return; + } + if (key === 'set-cookie') { + parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]); + } else { + parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val; + } + } + }); + + return parsed; + }; + + +/***/ }), +/* 14 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + var utils = __webpack_require__(2); + + module.exports = ( + utils.isStandardBrowserEnv() ? + + // Standard browser envs have full support of the APIs needed to test + // whether the request URL is of the same origin as current location. + (function standardBrowserEnv() { + var msie = /(msie|trident)/i.test(navigator.userAgent); + var urlParsingNode = document.createElement('a'); + var originURL; + + /** + * Parse a URL to discover it's components + * + * @param {String} url The URL to be parsed + * @returns {Object} + */ + function resolveURL(url) { + var href = url; + + if (msie) { + // IE needs attribute set twice to normalize properties + urlParsingNode.setAttribute('href', href); + href = urlParsingNode.href; + } + + urlParsingNode.setAttribute('href', href); + + // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils + return { + href: urlParsingNode.href, + protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '', + host: urlParsingNode.host, + search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '', + hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '', + hostname: urlParsingNode.hostname, + port: urlParsingNode.port, + pathname: (urlParsingNode.pathname.charAt(0) === '/') ? + urlParsingNode.pathname : + '/' + urlParsingNode.pathname + }; + } + + originURL = resolveURL(window.location.href); + + /** + * Determine if a URL shares the same origin as the current location + * + * @param {String} requestURL The URL to test + * @returns {boolean} True if URL shares the same origin, otherwise false + */ + return function isURLSameOrigin(requestURL) { + var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL; + return (parsed.protocol === originURL.protocol && + parsed.host === originURL.host); + }; + })() : + + // Non standard browser envs (web workers, react-native) lack needed support. + (function nonStandardBrowserEnv() { + return function isURLSameOrigin() { + return true; + }; + })() + ); + + +/***/ }), +/* 15 */ +/***/ (function(module, exports) { + + 'use strict'; + + // btoa polyfill for IE<10 courtesy https://github.com/davidchambers/Base64.js + + var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; + + function E() { + this.message = 'String contains an invalid character'; + } + E.prototype = new Error; + E.prototype.code = 5; + E.prototype.name = 'InvalidCharacterError'; + + function btoa(input) { + var str = String(input); + var output = ''; + for ( + // initialize result and counter + var block, charCode, idx = 0, map = chars; + // if the next str index does not exist: + // change the mapping table to "=" + // check if d has no fractional digits + str.charAt(idx | 0) || (map = '=', idx % 1); + // "8 - idx % 1 * 8" generates the sequence 2, 4, 6, 8 + output += map.charAt(63 & block >> 8 - idx % 1 * 8) + ) { + charCode = str.charCodeAt(idx += 3 / 4); + if (charCode > 0xFF) { + throw new E(); + } + block = block << 8 | charCode; + } + return output; + } + + module.exports = btoa; + + +/***/ }), +/* 16 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + var utils = __webpack_require__(2); + + module.exports = ( + utils.isStandardBrowserEnv() ? + + // Standard browser envs support document.cookie + (function standardBrowserEnv() { + return { + write: function write(name, value, expires, path, domain, secure) { + var cookie = []; + cookie.push(name + '=' + encodeURIComponent(value)); + + if (utils.isNumber(expires)) { + cookie.push('expires=' + new Date(expires).toGMTString()); + } + + if (utils.isString(path)) { + cookie.push('path=' + path); + } + + if (utils.isString(domain)) { + cookie.push('domain=' + domain); + } + + if (secure === true) { + cookie.push('secure'); + } + + document.cookie = cookie.join('; '); + }, + + read: function read(name) { + var match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)')); + return (match ? decodeURIComponent(match[3]) : null); + }, + + remove: function remove(name) { + this.write(name, '', Date.now() - 86400000); + } + }; + })() : + + // Non standard browser env (web workers, react-native) lack needed support. + (function nonStandardBrowserEnv() { + return { + write: function write() {}, + read: function read() { return null; }, + remove: function remove() {} + }; + })() + ); + + +/***/ }), +/* 17 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + var utils = __webpack_require__(2); + + function InterceptorManager() { + this.handlers = []; + } + + /** + * Add a new interceptor to the stack + * + * @param {Function} fulfilled The function to handle `then` for a `Promise` + * @param {Function} rejected The function to handle `reject` for a `Promise` + * + * @return {Number} An ID used to remove interceptor later + */ + InterceptorManager.prototype.use = function use(fulfilled, rejected) { + this.handlers.push({ + fulfilled: fulfilled, + rejected: rejected + }); + return this.handlers.length - 1; + }; + + /** + * Remove an interceptor from the stack + * + * @param {Number} id The ID that was returned by `use` + */ + InterceptorManager.prototype.eject = function eject(id) { + if (this.handlers[id]) { + this.handlers[id] = null; + } + }; + + /** + * Iterate over all the registered interceptors + * + * This method is particularly useful for skipping over any + * interceptors that may have become `null` calling `eject`. + * + * @param {Function} fn The function to call for each interceptor + */ + InterceptorManager.prototype.forEach = function forEach(fn) { + utils.forEach(this.handlers, function forEachHandler(h) { + if (h !== null) { + fn(h); + } + }); + }; + + module.exports = InterceptorManager; + + +/***/ }), +/* 18 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + var utils = __webpack_require__(2); + var transformData = __webpack_require__(19); + var isCancel = __webpack_require__(20); + var defaults = __webpack_require__(6); + var isAbsoluteURL = __webpack_require__(21); + var combineURLs = __webpack_require__(22); + + /** + * Throws a `Cancel` if cancellation has been requested. + */ + function throwIfCancellationRequested(config) { + if (config.cancelToken) { + config.cancelToken.throwIfRequested(); + } + } + + /** + * Dispatch a request to the server using the configured adapter. + * + * @param {object} config The config that is to be used for the request + * @returns {Promise} The Promise to be fulfilled + */ + module.exports = function dispatchRequest(config) { + throwIfCancellationRequested(config); + + // Support baseURL config + if (config.baseURL && !isAbsoluteURL(config.url)) { + config.url = combineURLs(config.baseURL, config.url); + } + + // Ensure headers exist + config.headers = config.headers || {}; + + // Transform request data + config.data = transformData( + config.data, + config.headers, + config.transformRequest + ); + + // Flatten headers + config.headers = utils.merge( + config.headers.common || {}, + config.headers[config.method] || {}, + config.headers || {} + ); + + utils.forEach( + ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], + function cleanHeaderConfig(method) { + delete config.headers[method]; + } + ); + + var adapter = config.adapter || defaults.adapter; + + return adapter(config).then(function onAdapterResolution(response) { + throwIfCancellationRequested(config); + + // Transform response data + response.data = transformData( + response.data, + response.headers, + config.transformResponse + ); + + return response; + }, function onAdapterRejection(reason) { + if (!isCancel(reason)) { + throwIfCancellationRequested(config); + + // Transform response data + if (reason && reason.response) { + reason.response.data = transformData( + reason.response.data, + reason.response.headers, + config.transformResponse + ); + } + } + + return Promise.reject(reason); + }); + }; + + +/***/ }), +/* 19 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + var utils = __webpack_require__(2); + + /** + * Transform the data for a request or a response + * + * @param {Object|String} data The data to be transformed + * @param {Array} headers The headers for the request or response + * @param {Array|Function} fns A single function or Array of functions + * @returns {*} The resulting transformed data + */ + module.exports = function transformData(data, headers, fns) { + /*eslint no-param-reassign:0*/ + utils.forEach(fns, function transform(fn) { + data = fn(data, headers); + }); + + return data; + }; + + +/***/ }), +/* 20 */ +/***/ (function(module, exports) { + + 'use strict'; + + module.exports = function isCancel(value) { + return !!(value && value.__CANCEL__); + }; + + +/***/ }), +/* 21 */ +/***/ (function(module, exports) { + + 'use strict'; + + /** + * Determines whether the specified URL is absolute + * + * @param {string} url The URL to test + * @returns {boolean} True if the specified URL is absolute, otherwise false + */ + module.exports = function isAbsoluteURL(url) { + // A URL is considered absolute if it begins with "://" or "//" (protocol-relative URL). + // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed + // by any combination of letters, digits, plus, period, or hyphen. + return /^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(url); + }; + + +/***/ }), +/* 22 */ +/***/ (function(module, exports) { + + 'use strict'; + + /** + * Creates a new URL by combining the specified URLs + * + * @param {string} baseURL The base URL + * @param {string} relativeURL The relative URL + * @returns {string} The combined URL + */ + module.exports = function combineURLs(baseURL, relativeURL) { + return relativeURL + ? baseURL.replace(/\/+$/, '') + '/' + relativeURL.replace(/^\/+/, '') + : baseURL; + }; + + +/***/ }), +/* 23 */ +/***/ (function(module, exports) { + + 'use strict'; + + /** + * A `Cancel` is an object that is thrown when an operation is canceled. + * + * @class + * @param {string=} message The message. + */ + function Cancel(message) { + this.message = message; + } + + Cancel.prototype.toString = function toString() { + return 'Cancel' + (this.message ? ': ' + this.message : ''); + }; + + Cancel.prototype.__CANCEL__ = true; + + module.exports = Cancel; + + +/***/ }), +/* 24 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + var Cancel = __webpack_require__(23); + + /** + * A `CancelToken` is an object that can be used to request cancellation of an operation. + * + * @class + * @param {Function} executor The executor function. + */ + function CancelToken(executor) { + if (typeof executor !== 'function') { + throw new TypeError('executor must be a function.'); + } + + var resolvePromise; + this.promise = new Promise(function promiseExecutor(resolve) { + resolvePromise = resolve; + }); + + var token = this; + executor(function cancel(message) { + if (token.reason) { + // Cancellation has already been requested + return; + } + + token.reason = new Cancel(message); + resolvePromise(token.reason); + }); + } + + /** + * Throws a `Cancel` if cancellation has been requested. + */ + CancelToken.prototype.throwIfRequested = function throwIfRequested() { + if (this.reason) { + throw this.reason; + } + }; + + /** + * Returns an object that contains a new `CancelToken` and a function that, when called, + * cancels the `CancelToken`. + */ + CancelToken.source = function source() { + var cancel; + var token = new CancelToken(function executor(c) { + cancel = c; + }); + return { + token: token, + cancel: cancel + }; + }; + + module.exports = CancelToken; + + +/***/ }), +/* 25 */ +/***/ (function(module, exports) { + + 'use strict'; + + /** + * Syntactic sugar for invoking a function and expanding an array for arguments. + * + * Common use case would be to use `Function.prototype.apply`. + * + * ```js + * function f(x, y, z) {} + * var args = [1, 2, 3]; + * f.apply(null, args); + * ``` + * + * With `spread` this example can be re-written. + * + * ```js + * spread(function(x, y, z) {})([1, 2, 3]); + * ``` + * + * @param {Function} callback + * @returns {Function} + */ + module.exports = function spread(callback) { + return function wrap(arr) { + return callback.apply(null, arr); + }; + }; + + +/***/ }) +/******/ ]) +}); +; +//# sourceMappingURL=axios.map \ No newline at end of file diff --git a/express-server/node_modules/axios/dist/axios.map b/express-server/node_modules/axios/dist/axios.map new file mode 100644 index 00000000..6b76578d --- /dev/null +++ b/express-server/node_modules/axios/dist/axios.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 48f4719183d3ec9e4379","webpack:///./index.js","webpack:///./lib/axios.js","webpack:///./lib/utils.js","webpack:///./lib/helpers/bind.js","webpack:///./~/is-buffer/index.js","webpack:///./lib/core/Axios.js","webpack:///./lib/defaults.js","webpack:///./lib/helpers/normalizeHeaderName.js","webpack:///./lib/adapters/xhr.js","webpack:///./lib/core/settle.js","webpack:///./lib/core/createError.js","webpack:///./lib/core/enhanceError.js","webpack:///./lib/helpers/buildURL.js","webpack:///./lib/helpers/parseHeaders.js","webpack:///./lib/helpers/isURLSameOrigin.js","webpack:///./lib/helpers/btoa.js","webpack:///./lib/helpers/cookies.js","webpack:///./lib/core/InterceptorManager.js","webpack:///./lib/core/dispatchRequest.js","webpack:///./lib/core/transformData.js","webpack:///./lib/cancel/isCancel.js","webpack:///./lib/helpers/isAbsoluteURL.js","webpack:///./lib/helpers/combineURLs.js","webpack:///./lib/cancel/Cancel.js","webpack:///./lib/cancel/CancelToken.js","webpack:///./lib/helpers/spread.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;ACVA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uBAAe;AACf;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;ACtCA,yC;;;;;;ACAA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,aAAY,MAAM;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;;;;;;ACnDA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,aAAa;AACxB,YAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oCAAmC,OAAO;AAC1C;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,SAAS,GAAG,SAAS;AAC5C,4BAA2B;AAC3B;AACA;AACA,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA,wCAAuC,OAAO;AAC9C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,aAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC9SA;;AAEA;AACA;AACA;AACA,oBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;ACpBA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA,mCAAkC,cAAc;AAChD;;AAEA;AACA;AACA;;AAEA;AACA;AACA,IAAG;;AAEH;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,iDAAgD;AAChD;AACA;AACA,MAAK;AACL;AACA,EAAC;;AAED;AACA;AACA;AACA,iDAAgD;AAChD;AACA;AACA;AACA,MAAK;AACL;AACA,EAAC;;AAED;;;;;;;AC9EA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yEAAwE;AACxE;AACA;AACA;AACA,wDAAuD;AACvD;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,QAAO,YAAY;AACnB;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAC;;AAED;AACA;AACA,EAAC;;AAED;;;;;;;AC/FA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;;;;;;ACXA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,6CAA4C;AAC5C;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,QAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;;;;;;;ACnLA;;AAEA;;AAEA;AACA;AACA;AACA,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACzBA;;AAEA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;;;;;;ACjBA;;AAEA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACpBA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,QAAO;AACP,MAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;ACjEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAiB,eAAe;;AAEhC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA,IAAG;;AAEH;AACA;;;;;;;ACpDA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAc,OAAO;AACrB,iBAAgB;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,eAAc,OAAO;AACrB,iBAAgB,QAAQ;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;;;;;;ACnEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnCA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,yCAAwC;AACxC,QAAO;;AAEP;AACA,2DAA0D,wBAAwB;AAClF;AACA,QAAO;;AAEP;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,iCAAgC;AAChC,8BAA6B,aAAa,EAAE;AAC5C;AACA;AACA,IAAG;AACH;;;;;;;ACpDA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB;AACA,aAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;;;;;;;ACnDA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gCAA+B;AAC/B,wCAAuC;AACvC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAG;AACH;;;;;;;ACrFA;;AAEA;;AAEA;AACA;AACA;AACA,YAAW,cAAc;AACzB,YAAW,MAAM;AACjB,YAAW,eAAe;AAC1B,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;;;;;;;ACnBA;;AAEA;AACA;AACA;;;;;;;ACJA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACbA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;;;;;;ACbA;;AAEA;AACA;AACA;AACA;AACA,YAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;;;;;;AClBA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACxDA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAA+B;AAC/B;AACA;AACA,YAAW,SAAS;AACpB,cAAa;AACb;AACA;AACA;AACA;AACA;AACA","file":"axios.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"axios\"] = factory();\n\telse\n\t\troot[\"axios\"] = factory();\n})(this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 48f4719183d3ec9e4379","module.exports = require('./lib/axios');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./index.js\n// module id = 0\n// module chunks = 0","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(utils.merge(defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/axios.js\n// module id = 1\n// module chunks = 0","'use strict';\n\nvar bind = require('./helpers/bind');\nvar isBuffer = require('is-buffer');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = merge(result[key], val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/utils.js\n// module id = 2\n// module chunks = 0","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/bind.js\n// module id = 3\n// module chunks = 0","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n}\n\nfunction isBuffer (obj) {\n return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer (obj) {\n return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/is-buffer/index.js\n// module id = 4\n// module chunks = 0","'use strict';\n\nvar defaults = require('./../defaults');\nvar utils = require('./../utils');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = utils.merge({\n url: arguments[0]\n }, arguments[1]);\n }\n\n config = utils.merge(defaults, {method: 'get'}, this.defaults, config);\n config.method = config.method.toLowerCase();\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/core/Axios.js\n// module id = 5\n// module chunks = 0","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Content-Type');\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) { /* Ignore */ }\n }\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/defaults.js\n// module id = 6\n// module chunks = 0","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/normalizeHeaderName.js\n// module id = 7\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar buildURL = require('./../helpers/buildURL');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\nvar btoa = (typeof window !== 'undefined' && window.btoa && window.btoa.bind(window)) || require('./../helpers/btoa');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n var loadEvent = 'onreadystatechange';\n var xDomain = false;\n\n // For IE 8/9 CORS support\n // Only supports POST and GET calls and doesn't returns the response headers.\n // DON'T do this for testing b/c XMLHttpRequest is mocked, not XDomainRequest.\n if (process.env.NODE_ENV !== 'test' &&\n typeof window !== 'undefined' &&\n window.XDomainRequest && !('withCredentials' in request) &&\n !isURLSameOrigin(config.url)) {\n request = new window.XDomainRequest();\n loadEvent = 'onload';\n xDomain = true;\n request.onprogress = function handleProgress() {};\n request.ontimeout = function handleTimeout() {};\n }\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password || '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n // Listen for ready state\n request[loadEvent] = function handleLoad() {\n if (!request || (request.readyState !== 4 && !xDomain)) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n // IE sends 1223 instead of 204 (https://github.com/axios/axios/issues/201)\n status: request.status === 1223 ? 204 : request.status,\n statusText: request.status === 1223 ? 'No Content' : request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n var cookies = require('./../helpers/cookies');\n\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (config.withCredentials) {\n request.withCredentials = true;\n }\n\n // Add responseType to request if needed\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (requestData === undefined) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/adapters/xhr.js\n// module id = 8\n// module chunks = 0","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n // Note: status is not exposed by XDomainRequest\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/core/settle.js\n// module id = 9\n// module chunks = 0","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/core/createError.js\n// module id = 10\n// module chunks = 0","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n error.request = request;\n error.response = response;\n return error;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/core/enhanceError.js\n// module id = 11\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%40/gi, '@').\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/buildURL.js\n// module id = 12\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/parseHeaders.js\n// module id = 13\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/isURLSameOrigin.js\n// module id = 14\n// module chunks = 0","'use strict';\n\n// btoa polyfill for IE<10 courtesy https://github.com/davidchambers/Base64.js\n\nvar chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n\nfunction E() {\n this.message = 'String contains an invalid character';\n}\nE.prototype = new Error;\nE.prototype.code = 5;\nE.prototype.name = 'InvalidCharacterError';\n\nfunction btoa(input) {\n var str = String(input);\n var output = '';\n for (\n // initialize result and counter\n var block, charCode, idx = 0, map = chars;\n // if the next str index does not exist:\n // change the mapping table to \"=\"\n // check if d has no fractional digits\n str.charAt(idx | 0) || (map = '=', idx % 1);\n // \"8 - idx % 1 * 8\" generates the sequence 2, 4, 6, 8\n output += map.charAt(63 & block >> 8 - idx % 1 * 8)\n ) {\n charCode = str.charCodeAt(idx += 3 / 4);\n if (charCode > 0xFF) {\n throw new E();\n }\n block = block << 8 | charCode;\n }\n return output;\n}\n\nmodule.exports = btoa;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/btoa.js\n// module id = 15\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/cookies.js\n// module id = 16\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/core/InterceptorManager.js\n// module id = 17\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar isAbsoluteURL = require('./../helpers/isAbsoluteURL');\nvar combineURLs = require('./../helpers/combineURLs');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Support baseURL config\n if (config.baseURL && !isAbsoluteURL(config.url)) {\n config.url = combineURLs(config.baseURL, config.url);\n }\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData(\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers || {}\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData(\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData(\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/core/dispatchRequest.js\n// module id = 18\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/core/transformData.js\n// module id = 19\n// module chunks = 0","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/cancel/isCancel.js\n// module id = 20\n// module chunks = 0","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/isAbsoluteURL.js\n// module id = 21\n// module chunks = 0","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/combineURLs.js\n// module id = 22\n// module chunks = 0","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/cancel/Cancel.js\n// module id = 23\n// module chunks = 0","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/cancel/CancelToken.js\n// module id = 24\n// module chunks = 0","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/spread.js\n// module id = 25\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file diff --git a/express-server/node_modules/axios/dist/axios.min.js b/express-server/node_modules/axios/dist/axios.min.js new file mode 100644 index 00000000..69cc188e --- /dev/null +++ b/express-server/node_modules/axios/dist/axios.min.js @@ -0,0 +1,9 @@ +/* axios v0.18.0 | (c) 2018 by Matt Zabriskie */ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.axios=t():e.axios=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return e[r].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){e.exports=n(1)},function(e,t,n){"use strict";function r(e){var t=new s(e),n=i(s.prototype.request,t);return o.extend(n,s.prototype,t),o.extend(n,t),n}var o=n(2),i=n(3),s=n(5),u=n(6),a=r(u);a.Axios=s,a.create=function(e){return r(o.merge(u,e))},a.Cancel=n(23),a.CancelToken=n(24),a.isCancel=n(20),a.all=function(e){return Promise.all(e)},a.spread=n(25),e.exports=a,e.exports.default=a},function(e,t,n){"use strict";function r(e){return"[object Array]"===R.call(e)}function o(e){return"[object ArrayBuffer]"===R.call(e)}function i(e){return"undefined"!=typeof FormData&&e instanceof FormData}function s(e){var t;return t="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&e.buffer instanceof ArrayBuffer}function u(e){return"string"==typeof e}function a(e){return"number"==typeof e}function c(e){return"undefined"==typeof e}function f(e){return null!==e&&"object"==typeof e}function p(e){return"[object Date]"===R.call(e)}function d(e){return"[object File]"===R.call(e)}function l(e){return"[object Blob]"===R.call(e)}function h(e){return"[object Function]"===R.call(e)}function m(e){return f(e)&&h(e.pipe)}function y(e){return"undefined"!=typeof URLSearchParams&&e instanceof URLSearchParams}function w(e){return e.replace(/^\s*/,"").replace(/\s*$/,"")}function g(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product)&&("undefined"!=typeof window&&"undefined"!=typeof document)}function v(e,t){if(null!==e&&"undefined"!=typeof e)if("object"!=typeof e&&(e=[e]),r(e))for(var n=0,o=e.length;n + * @license MIT + */ +e.exports=function(e){return null!=e&&(n(e)||r(e)||!!e._isBuffer)}},function(e,t,n){"use strict";function r(e){this.defaults=e,this.interceptors={request:new s,response:new s}}var o=n(6),i=n(2),s=n(17),u=n(18);r.prototype.request=function(e){"string"==typeof e&&(e=i.merge({url:arguments[0]},arguments[1])),e=i.merge(o,{method:"get"},this.defaults,e),e.method=e.method.toLowerCase();var t=[u,void 0],n=Promise.resolve(e);for(this.interceptors.request.forEach(function(e){t.unshift(e.fulfilled,e.rejected)}),this.interceptors.response.forEach(function(e){t.push(e.fulfilled,e.rejected)});t.length;)n=n.then(t.shift(),t.shift());return n},i.forEach(["delete","get","head","options"],function(e){r.prototype[e]=function(t,n){return this.request(i.merge(n||{},{method:e,url:t}))}}),i.forEach(["post","put","patch"],function(e){r.prototype[e]=function(t,n,r){return this.request(i.merge(r||{},{method:e,url:t,data:n}))}}),e.exports=r},function(e,t,n){"use strict";function r(e,t){!i.isUndefined(e)&&i.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}function o(){var e;return"undefined"!=typeof XMLHttpRequest?e=n(8):"undefined"!=typeof process&&(e=n(8)),e}var i=n(2),s=n(7),u={"Content-Type":"application/x-www-form-urlencoded"},a={adapter:o(),transformRequest:[function(e,t){return s(t,"Content-Type"),i.isFormData(e)||i.isArrayBuffer(e)||i.isBuffer(e)||i.isStream(e)||i.isFile(e)||i.isBlob(e)?e:i.isArrayBufferView(e)?e.buffer:i.isURLSearchParams(e)?(r(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):i.isObject(e)?(r(t,"application/json;charset=utf-8"),JSON.stringify(e)):e}],transformResponse:[function(e){if("string"==typeof e)try{e=JSON.parse(e)}catch(e){}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,validateStatus:function(e){return e>=200&&e<300}};a.headers={common:{Accept:"application/json, text/plain, */*"}},i.forEach(["delete","get","head"],function(e){a.headers[e]={}}),i.forEach(["post","put","patch"],function(e){a.headers[e]=i.merge(u)}),e.exports=a},function(e,t,n){"use strict";var r=n(2);e.exports=function(e,t){r.forEach(e,function(n,r){r!==t&&r.toUpperCase()===t.toUpperCase()&&(e[t]=n,delete e[r])})}},function(e,t,n){"use strict";var r=n(2),o=n(9),i=n(12),s=n(13),u=n(14),a=n(10),c="undefined"!=typeof window&&window.btoa&&window.btoa.bind(window)||n(15);e.exports=function(e){return new Promise(function(t,f){var p=e.data,d=e.headers;r.isFormData(p)&&delete d["Content-Type"];var l=new XMLHttpRequest,h="onreadystatechange",m=!1;if("undefined"==typeof window||!window.XDomainRequest||"withCredentials"in l||u(e.url)||(l=new window.XDomainRequest,h="onload",m=!0,l.onprogress=function(){},l.ontimeout=function(){}),e.auth){var y=e.auth.username||"",w=e.auth.password||"";d.Authorization="Basic "+c(y+":"+w)}if(l.open(e.method.toUpperCase(),i(e.url,e.params,e.paramsSerializer),!0),l.timeout=e.timeout,l[h]=function(){if(l&&(4===l.readyState||m)&&(0!==l.status||l.responseURL&&0===l.responseURL.indexOf("file:"))){var n="getAllResponseHeaders"in l?s(l.getAllResponseHeaders()):null,r=e.responseType&&"text"!==e.responseType?l.response:l.responseText,i={data:r,status:1223===l.status?204:l.status,statusText:1223===l.status?"No Content":l.statusText,headers:n,config:e,request:l};o(t,f,i),l=null}},l.onerror=function(){f(a("Network Error",e,null,l)),l=null},l.ontimeout=function(){f(a("timeout of "+e.timeout+"ms exceeded",e,"ECONNABORTED",l)),l=null},r.isStandardBrowserEnv()){var g=n(16),v=(e.withCredentials||u(e.url))&&e.xsrfCookieName?g.read(e.xsrfCookieName):void 0;v&&(d[e.xsrfHeaderName]=v)}if("setRequestHeader"in l&&r.forEach(d,function(e,t){"undefined"==typeof p&&"content-type"===t.toLowerCase()?delete d[t]:l.setRequestHeader(t,e)}),e.withCredentials&&(l.withCredentials=!0),e.responseType)try{l.responseType=e.responseType}catch(t){if("json"!==e.responseType)throw t}"function"==typeof e.onDownloadProgress&&l.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&l.upload&&l.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then(function(e){l&&(l.abort(),f(e),l=null)}),void 0===p&&(p=null),l.send(p)})}},function(e,t,n){"use strict";var r=n(10);e.exports=function(e,t,n){var o=n.config.validateStatus;n.status&&o&&!o(n.status)?t(r("Request failed with status code "+n.status,n.config,null,n.request,n)):e(n)}},function(e,t,n){"use strict";var r=n(11);e.exports=function(e,t,n,o,i){var s=new Error(e);return r(s,t,n,o,i)}},function(e,t){"use strict";e.exports=function(e,t,n,r,o){return e.config=t,n&&(e.code=n),e.request=r,e.response=o,e}},function(e,t,n){"use strict";function r(e){return encodeURIComponent(e).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}var o=n(2);e.exports=function(e,t,n){if(!t)return e;var i;if(n)i=n(t);else if(o.isURLSearchParams(t))i=t.toString();else{var s=[];o.forEach(t,function(e,t){null!==e&&"undefined"!=typeof e&&(o.isArray(e)?t+="[]":e=[e],o.forEach(e,function(e){o.isDate(e)?e=e.toISOString():o.isObject(e)&&(e=JSON.stringify(e)),s.push(r(t)+"="+r(e))}))}),i=s.join("&")}return i&&(e+=(e.indexOf("?")===-1?"?":"&")+i),e}},function(e,t,n){"use strict";var r=n(2),o=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];e.exports=function(e){var t,n,i,s={};return e?(r.forEach(e.split("\n"),function(e){if(i=e.indexOf(":"),t=r.trim(e.substr(0,i)).toLowerCase(),n=r.trim(e.substr(i+1)),t){if(s[t]&&o.indexOf(t)>=0)return;"set-cookie"===t?s[t]=(s[t]?s[t]:[]).concat([n]):s[t]=s[t]?s[t]+", "+n:n}}),s):s}},function(e,t,n){"use strict";var r=n(2);e.exports=r.isStandardBrowserEnv()?function(){function e(e){var t=e;return n&&(o.setAttribute("href",t),t=o.href),o.setAttribute("href",t),{href:o.href,protocol:o.protocol?o.protocol.replace(/:$/,""):"",host:o.host,search:o.search?o.search.replace(/^\?/,""):"",hash:o.hash?o.hash.replace(/^#/,""):"",hostname:o.hostname,port:o.port,pathname:"/"===o.pathname.charAt(0)?o.pathname:"/"+o.pathname}}var t,n=/(msie|trident)/i.test(navigator.userAgent),o=document.createElement("a");return t=e(window.location.href),function(n){var o=r.isString(n)?e(n):n;return o.protocol===t.protocol&&o.host===t.host}}():function(){return function(){return!0}}()},function(e,t){"use strict";function n(){this.message="String contains an invalid character"}function r(e){for(var t,r,i=String(e),s="",u=0,a=o;i.charAt(0|u)||(a="=",u%1);s+=a.charAt(63&t>>8-u%1*8)){if(r=i.charCodeAt(u+=.75),r>255)throw new n;t=t<<8|r}return s}var o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";n.prototype=new Error,n.prototype.code=5,n.prototype.name="InvalidCharacterError",e.exports=r},function(e,t,n){"use strict";var r=n(2);e.exports=r.isStandardBrowserEnv()?function(){return{write:function(e,t,n,o,i,s){var u=[];u.push(e+"="+encodeURIComponent(t)),r.isNumber(n)&&u.push("expires="+new Date(n).toGMTString()),r.isString(o)&&u.push("path="+o),r.isString(i)&&u.push("domain="+i),s===!0&&u.push("secure"),document.cookie=u.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}()},function(e,t,n){"use strict";function r(){this.handlers=[]}var o=n(2);r.prototype.use=function(e,t){return this.handlers.push({fulfilled:e,rejected:t}),this.handlers.length-1},r.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},r.prototype.forEach=function(e){o.forEach(this.handlers,function(t){null!==t&&e(t)})},e.exports=r},function(e,t,n){"use strict";function r(e){e.cancelToken&&e.cancelToken.throwIfRequested()}var o=n(2),i=n(19),s=n(20),u=n(6),a=n(21),c=n(22);e.exports=function(e){r(e),e.baseURL&&!a(e.url)&&(e.url=c(e.baseURL,e.url)),e.headers=e.headers||{},e.data=i(e.data,e.headers,e.transformRequest),e.headers=o.merge(e.headers.common||{},e.headers[e.method]||{},e.headers||{}),o.forEach(["delete","get","head","post","put","patch","common"],function(t){delete e.headers[t]});var t=e.adapter||u.adapter;return t(e).then(function(t){return r(e),t.data=i(t.data,t.headers,e.transformResponse),t},function(t){return s(t)||(r(e),t&&t.response&&(t.response.data=i(t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)})}},function(e,t,n){"use strict";var r=n(2);e.exports=function(e,t,n){return r.forEach(n,function(n){e=n(e,t)}),e}},function(e,t){"use strict";e.exports=function(e){return!(!e||!e.__CANCEL__)}},function(e,t){"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},function(e,t){"use strict";e.exports=function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}},function(e,t){"use strict";function n(e){this.message=e}n.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},n.prototype.__CANCEL__=!0,e.exports=n},function(e,t,n){"use strict";function r(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise(function(e){t=e});var n=this;e(function(e){n.reason||(n.reason=new o(e),t(n.reason))})}var o=n(23);r.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},r.source=function(){var e,t=new r(function(t){e=t});return{token:t,cancel:e}},e.exports=r},function(e,t){"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}}])}); +//# sourceMappingURL=axios.min.map \ No newline at end of file diff --git a/express-server/node_modules/axios/dist/axios.min.map b/express-server/node_modules/axios/dist/axios.min.map new file mode 100644 index 00000000..f7fdd449 --- /dev/null +++ b/express-server/node_modules/axios/dist/axios.min.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///axios.min.js","webpack:///webpack/bootstrap dad8263224c86c166a30","webpack:///./index.js","webpack:///./lib/axios.js","webpack:///./lib/utils.js","webpack:///./lib/helpers/bind.js","webpack:///./~/is-buffer/index.js","webpack:///./lib/core/Axios.js","webpack:///./lib/defaults.js","webpack:///./lib/helpers/normalizeHeaderName.js","webpack:///./lib/adapters/xhr.js","webpack:///./lib/core/settle.js","webpack:///./lib/core/createError.js","webpack:///./lib/core/enhanceError.js","webpack:///./lib/helpers/buildURL.js","webpack:///./lib/helpers/parseHeaders.js","webpack:///./lib/helpers/isURLSameOrigin.js","webpack:///./lib/helpers/btoa.js","webpack:///./lib/helpers/cookies.js","webpack:///./lib/core/InterceptorManager.js","webpack:///./lib/core/dispatchRequest.js","webpack:///./lib/core/transformData.js","webpack:///./lib/cancel/isCancel.js","webpack:///./lib/helpers/isAbsoluteURL.js","webpack:///./lib/helpers/combineURLs.js","webpack:///./lib/cancel/Cancel.js","webpack:///./lib/cancel/CancelToken.js","webpack:///./lib/helpers/spread.js"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","createInstance","defaultConfig","context","Axios","instance","bind","prototype","request","utils","extend","defaults","axios","create","instanceConfig","merge","Cancel","CancelToken","isCancel","all","promises","Promise","spread","default","isArray","val","toString","isArrayBuffer","isFormData","FormData","isArrayBufferView","result","ArrayBuffer","isView","buffer","isString","isNumber","isUndefined","isObject","isDate","isFile","isBlob","isFunction","isStream","pipe","isURLSearchParams","URLSearchParams","trim","str","replace","isStandardBrowserEnv","navigator","product","window","document","forEach","obj","fn","i","l","length","key","Object","hasOwnProperty","assignValue","arguments","a","b","thisArg","isBuffer","args","Array","apply","constructor","isSlowBuffer","readFloatLE","slice","_isBuffer","interceptors","InterceptorManager","response","dispatchRequest","config","url","method","toLowerCase","chain","undefined","promise","resolve","interceptor","unshift","fulfilled","rejected","push","then","shift","data","setContentTypeIfUnset","headers","value","getDefaultAdapter","adapter","XMLHttpRequest","process","normalizeHeaderName","DEFAULT_CONTENT_TYPE","Content-Type","transformRequest","JSON","stringify","transformResponse","parse","e","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","validateStatus","status","common","Accept","normalizedName","name","toUpperCase","settle","buildURL","parseHeaders","isURLSameOrigin","createError","btoa","reject","requestData","requestHeaders","loadEvent","xDomain","XDomainRequest","onprogress","ontimeout","auth","username","password","Authorization","open","params","paramsSerializer","readyState","responseURL","indexOf","responseHeaders","getAllResponseHeaders","responseData","responseType","responseText","statusText","onerror","cookies","xsrfValue","withCredentials","read","setRequestHeader","onDownloadProgress","addEventListener","onUploadProgress","upload","cancelToken","cancel","abort","send","enhanceError","message","code","error","Error","encode","encodeURIComponent","serializedParams","parts","v","toISOString","join","ignoreDuplicateOf","parsed","split","line","substr","concat","resolveURL","href","msie","urlParsingNode","setAttribute","protocol","host","search","hash","hostname","port","pathname","charAt","originURL","test","userAgent","createElement","location","requestURL","E","input","block","charCode","String","output","idx","map","chars","charCodeAt","write","expires","path","domain","secure","cookie","Date","toGMTString","match","RegExp","decodeURIComponent","remove","now","handlers","use","eject","h","throwIfCancellationRequested","throwIfRequested","transformData","isAbsoluteURL","combineURLs","baseURL","reason","fns","__CANCEL__","relativeURL","executor","TypeError","resolvePromise","token","source","callback","arr"],"mappings":"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","file":"axios.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"axios\"] = factory();\n\telse\n\t\troot[\"axios\"] = factory();\n})(this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"axios\"] = factory();\n\telse\n\t\troot[\"axios\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports = __webpack_require__(1);\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar utils = __webpack_require__(2);\n\tvar bind = __webpack_require__(3);\n\tvar Axios = __webpack_require__(5);\n\tvar defaults = __webpack_require__(6);\n\t\n\t/**\n\t * Create an instance of Axios\n\t *\n\t * @param {Object} defaultConfig The default config for the instance\n\t * @return {Axios} A new instance of Axios\n\t */\n\tfunction createInstance(defaultConfig) {\n\t var context = new Axios(defaultConfig);\n\t var instance = bind(Axios.prototype.request, context);\n\t\n\t // Copy axios.prototype to instance\n\t utils.extend(instance, Axios.prototype, context);\n\t\n\t // Copy context to instance\n\t utils.extend(instance, context);\n\t\n\t return instance;\n\t}\n\t\n\t// Create the default instance to be exported\n\tvar axios = createInstance(defaults);\n\t\n\t// Expose Axios class to allow class inheritance\n\taxios.Axios = Axios;\n\t\n\t// Factory for creating new instances\n\taxios.create = function create(instanceConfig) {\n\t return createInstance(utils.merge(defaults, instanceConfig));\n\t};\n\t\n\t// Expose Cancel & CancelToken\n\taxios.Cancel = __webpack_require__(23);\n\taxios.CancelToken = __webpack_require__(24);\n\taxios.isCancel = __webpack_require__(20);\n\t\n\t// Expose all/spread\n\taxios.all = function all(promises) {\n\t return Promise.all(promises);\n\t};\n\taxios.spread = __webpack_require__(25);\n\t\n\tmodule.exports = axios;\n\t\n\t// Allow use of default import syntax in TypeScript\n\tmodule.exports.default = axios;\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar bind = __webpack_require__(3);\n\tvar isBuffer = __webpack_require__(4);\n\t\n\t/*global toString:true*/\n\t\n\t// utils is a library of generic helper functions non-specific to axios\n\t\n\tvar toString = Object.prototype.toString;\n\t\n\t/**\n\t * Determine if a value is an Array\n\t *\n\t * @param {Object} val The value to test\n\t * @returns {boolean} True if value is an Array, otherwise false\n\t */\n\tfunction isArray(val) {\n\t return toString.call(val) === '[object Array]';\n\t}\n\t\n\t/**\n\t * Determine if a value is an ArrayBuffer\n\t *\n\t * @param {Object} val The value to test\n\t * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n\t */\n\tfunction isArrayBuffer(val) {\n\t return toString.call(val) === '[object ArrayBuffer]';\n\t}\n\t\n\t/**\n\t * Determine if a value is a FormData\n\t *\n\t * @param {Object} val The value to test\n\t * @returns {boolean} True if value is an FormData, otherwise false\n\t */\n\tfunction isFormData(val) {\n\t return (typeof FormData !== 'undefined') && (val instanceof FormData);\n\t}\n\t\n\t/**\n\t * Determine if a value is a view on an ArrayBuffer\n\t *\n\t * @param {Object} val The value to test\n\t * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n\t */\n\tfunction isArrayBufferView(val) {\n\t var result;\n\t if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n\t result = ArrayBuffer.isView(val);\n\t } else {\n\t result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n\t }\n\t return result;\n\t}\n\t\n\t/**\n\t * Determine if a value is a String\n\t *\n\t * @param {Object} val The value to test\n\t * @returns {boolean} True if value is a String, otherwise false\n\t */\n\tfunction isString(val) {\n\t return typeof val === 'string';\n\t}\n\t\n\t/**\n\t * Determine if a value is a Number\n\t *\n\t * @param {Object} val The value to test\n\t * @returns {boolean} True if value is a Number, otherwise false\n\t */\n\tfunction isNumber(val) {\n\t return typeof val === 'number';\n\t}\n\t\n\t/**\n\t * Determine if a value is undefined\n\t *\n\t * @param {Object} val The value to test\n\t * @returns {boolean} True if the value is undefined, otherwise false\n\t */\n\tfunction isUndefined(val) {\n\t return typeof val === 'undefined';\n\t}\n\t\n\t/**\n\t * Determine if a value is an Object\n\t *\n\t * @param {Object} val The value to test\n\t * @returns {boolean} True if value is an Object, otherwise false\n\t */\n\tfunction isObject(val) {\n\t return val !== null && typeof val === 'object';\n\t}\n\t\n\t/**\n\t * Determine if a value is a Date\n\t *\n\t * @param {Object} val The value to test\n\t * @returns {boolean} True if value is a Date, otherwise false\n\t */\n\tfunction isDate(val) {\n\t return toString.call(val) === '[object Date]';\n\t}\n\t\n\t/**\n\t * Determine if a value is a File\n\t *\n\t * @param {Object} val The value to test\n\t * @returns {boolean} True if value is a File, otherwise false\n\t */\n\tfunction isFile(val) {\n\t return toString.call(val) === '[object File]';\n\t}\n\t\n\t/**\n\t * Determine if a value is a Blob\n\t *\n\t * @param {Object} val The value to test\n\t * @returns {boolean} True if value is a Blob, otherwise false\n\t */\n\tfunction isBlob(val) {\n\t return toString.call(val) === '[object Blob]';\n\t}\n\t\n\t/**\n\t * Determine if a value is a Function\n\t *\n\t * @param {Object} val The value to test\n\t * @returns {boolean} True if value is a Function, otherwise false\n\t */\n\tfunction isFunction(val) {\n\t return toString.call(val) === '[object Function]';\n\t}\n\t\n\t/**\n\t * Determine if a value is a Stream\n\t *\n\t * @param {Object} val The value to test\n\t * @returns {boolean} True if value is a Stream, otherwise false\n\t */\n\tfunction isStream(val) {\n\t return isObject(val) && isFunction(val.pipe);\n\t}\n\t\n\t/**\n\t * Determine if a value is a URLSearchParams object\n\t *\n\t * @param {Object} val The value to test\n\t * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n\t */\n\tfunction isURLSearchParams(val) {\n\t return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n\t}\n\t\n\t/**\n\t * Trim excess whitespace off the beginning and end of a string\n\t *\n\t * @param {String} str The String to trim\n\t * @returns {String} The String freed of excess whitespace\n\t */\n\tfunction trim(str) {\n\t return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n\t}\n\t\n\t/**\n\t * Determine if we're running in a standard browser environment\n\t *\n\t * This allows axios to run in a web worker, and react-native.\n\t * Both environments support XMLHttpRequest, but not fully standard globals.\n\t *\n\t * web workers:\n\t * typeof window -> undefined\n\t * typeof document -> undefined\n\t *\n\t * react-native:\n\t * navigator.product -> 'ReactNative'\n\t */\n\tfunction isStandardBrowserEnv() {\n\t if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\n\t return false;\n\t }\n\t return (\n\t typeof window !== 'undefined' &&\n\t typeof document !== 'undefined'\n\t );\n\t}\n\t\n\t/**\n\t * Iterate over an Array or an Object invoking a function for each item.\n\t *\n\t * If `obj` is an Array callback will be called passing\n\t * the value, index, and complete array for each item.\n\t *\n\t * If 'obj' is an Object callback will be called passing\n\t * the value, key, and complete object for each property.\n\t *\n\t * @param {Object|Array} obj The object to iterate\n\t * @param {Function} fn The callback to invoke for each item\n\t */\n\tfunction forEach(obj, fn) {\n\t // Don't bother if no value provided\n\t if (obj === null || typeof obj === 'undefined') {\n\t return;\n\t }\n\t\n\t // Force an array if not already something iterable\n\t if (typeof obj !== 'object') {\n\t /*eslint no-param-reassign:0*/\n\t obj = [obj];\n\t }\n\t\n\t if (isArray(obj)) {\n\t // Iterate over array values\n\t for (var i = 0, l = obj.length; i < l; i++) {\n\t fn.call(null, obj[i], i, obj);\n\t }\n\t } else {\n\t // Iterate over object keys\n\t for (var key in obj) {\n\t if (Object.prototype.hasOwnProperty.call(obj, key)) {\n\t fn.call(null, obj[key], key, obj);\n\t }\n\t }\n\t }\n\t}\n\t\n\t/**\n\t * Accepts varargs expecting each argument to be an object, then\n\t * immutably merges the properties of each object and returns result.\n\t *\n\t * When multiple objects contain the same key the later object in\n\t * the arguments list will take precedence.\n\t *\n\t * Example:\n\t *\n\t * ```js\n\t * var result = merge({foo: 123}, {foo: 456});\n\t * console.log(result.foo); // outputs 456\n\t * ```\n\t *\n\t * @param {Object} obj1 Object to merge\n\t * @returns {Object} Result of all merge properties\n\t */\n\tfunction merge(/* obj1, obj2, obj3, ... */) {\n\t var result = {};\n\t function assignValue(val, key) {\n\t if (typeof result[key] === 'object' && typeof val === 'object') {\n\t result[key] = merge(result[key], val);\n\t } else {\n\t result[key] = val;\n\t }\n\t }\n\t\n\t for (var i = 0, l = arguments.length; i < l; i++) {\n\t forEach(arguments[i], assignValue);\n\t }\n\t return result;\n\t}\n\t\n\t/**\n\t * Extends object a by mutably adding to it the properties of object b.\n\t *\n\t * @param {Object} a The object to be extended\n\t * @param {Object} b The object to copy properties from\n\t * @param {Object} thisArg The object to bind function to\n\t * @return {Object} The resulting value of object a\n\t */\n\tfunction extend(a, b, thisArg) {\n\t forEach(b, function assignValue(val, key) {\n\t if (thisArg && typeof val === 'function') {\n\t a[key] = bind(val, thisArg);\n\t } else {\n\t a[key] = val;\n\t }\n\t });\n\t return a;\n\t}\n\t\n\tmodule.exports = {\n\t isArray: isArray,\n\t isArrayBuffer: isArrayBuffer,\n\t isBuffer: isBuffer,\n\t isFormData: isFormData,\n\t isArrayBufferView: isArrayBufferView,\n\t isString: isString,\n\t isNumber: isNumber,\n\t isObject: isObject,\n\t isUndefined: isUndefined,\n\t isDate: isDate,\n\t isFile: isFile,\n\t isBlob: isBlob,\n\t isFunction: isFunction,\n\t isStream: isStream,\n\t isURLSearchParams: isURLSearchParams,\n\t isStandardBrowserEnv: isStandardBrowserEnv,\n\t forEach: forEach,\n\t merge: merge,\n\t extend: extend,\n\t trim: trim\n\t};\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tmodule.exports = function bind(fn, thisArg) {\n\t return function wrap() {\n\t var args = new Array(arguments.length);\n\t for (var i = 0; i < args.length; i++) {\n\t args[i] = arguments[i];\n\t }\n\t return fn.apply(thisArg, args);\n\t };\n\t};\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports) {\n\n\t/*!\n\t * Determine if an object is a Buffer\n\t *\n\t * @author Feross Aboukhadijeh \n\t * @license MIT\n\t */\n\t\n\t// The _isBuffer check is for Safari 5-7 support, because it's missing\n\t// Object.prototype.constructor. Remove this eventually\n\tmodule.exports = function (obj) {\n\t return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n\t}\n\t\n\tfunction isBuffer (obj) {\n\t return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n\t}\n\t\n\t// For Node v0.10 support. Remove this eventually.\n\tfunction isSlowBuffer (obj) {\n\t return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n\t}\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar defaults = __webpack_require__(6);\n\tvar utils = __webpack_require__(2);\n\tvar InterceptorManager = __webpack_require__(17);\n\tvar dispatchRequest = __webpack_require__(18);\n\t\n\t/**\n\t * Create a new instance of Axios\n\t *\n\t * @param {Object} instanceConfig The default config for the instance\n\t */\n\tfunction Axios(instanceConfig) {\n\t this.defaults = instanceConfig;\n\t this.interceptors = {\n\t request: new InterceptorManager(),\n\t response: new InterceptorManager()\n\t };\n\t}\n\t\n\t/**\n\t * Dispatch a request\n\t *\n\t * @param {Object} config The config specific for this request (merged with this.defaults)\n\t */\n\tAxios.prototype.request = function request(config) {\n\t /*eslint no-param-reassign:0*/\n\t // Allow for axios('example/url'[, config]) a la fetch API\n\t if (typeof config === 'string') {\n\t config = utils.merge({\n\t url: arguments[0]\n\t }, arguments[1]);\n\t }\n\t\n\t config = utils.merge(defaults, {method: 'get'}, this.defaults, config);\n\t config.method = config.method.toLowerCase();\n\t\n\t // Hook up interceptors middleware\n\t var chain = [dispatchRequest, undefined];\n\t var promise = Promise.resolve(config);\n\t\n\t this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n\t chain.unshift(interceptor.fulfilled, interceptor.rejected);\n\t });\n\t\n\t this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n\t chain.push(interceptor.fulfilled, interceptor.rejected);\n\t });\n\t\n\t while (chain.length) {\n\t promise = promise.then(chain.shift(), chain.shift());\n\t }\n\t\n\t return promise;\n\t};\n\t\n\t// Provide aliases for supported request methods\n\tutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n\t /*eslint func-names:0*/\n\t Axios.prototype[method] = function(url, config) {\n\t return this.request(utils.merge(config || {}, {\n\t method: method,\n\t url: url\n\t }));\n\t };\n\t});\n\t\n\tutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n\t /*eslint func-names:0*/\n\t Axios.prototype[method] = function(url, data, config) {\n\t return this.request(utils.merge(config || {}, {\n\t method: method,\n\t url: url,\n\t data: data\n\t }));\n\t };\n\t});\n\t\n\tmodule.exports = Axios;\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar utils = __webpack_require__(2);\n\tvar normalizeHeaderName = __webpack_require__(7);\n\t\n\tvar DEFAULT_CONTENT_TYPE = {\n\t 'Content-Type': 'application/x-www-form-urlencoded'\n\t};\n\t\n\tfunction setContentTypeIfUnset(headers, value) {\n\t if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n\t headers['Content-Type'] = value;\n\t }\n\t}\n\t\n\tfunction getDefaultAdapter() {\n\t var adapter;\n\t if (typeof XMLHttpRequest !== 'undefined') {\n\t // For browsers use XHR adapter\n\t adapter = __webpack_require__(8);\n\t } else if (typeof process !== 'undefined') {\n\t // For node use HTTP adapter\n\t adapter = __webpack_require__(8);\n\t }\n\t return adapter;\n\t}\n\t\n\tvar defaults = {\n\t adapter: getDefaultAdapter(),\n\t\n\t transformRequest: [function transformRequest(data, headers) {\n\t normalizeHeaderName(headers, 'Content-Type');\n\t if (utils.isFormData(data) ||\n\t utils.isArrayBuffer(data) ||\n\t utils.isBuffer(data) ||\n\t utils.isStream(data) ||\n\t utils.isFile(data) ||\n\t utils.isBlob(data)\n\t ) {\n\t return data;\n\t }\n\t if (utils.isArrayBufferView(data)) {\n\t return data.buffer;\n\t }\n\t if (utils.isURLSearchParams(data)) {\n\t setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n\t return data.toString();\n\t }\n\t if (utils.isObject(data)) {\n\t setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n\t return JSON.stringify(data);\n\t }\n\t return data;\n\t }],\n\t\n\t transformResponse: [function transformResponse(data) {\n\t /*eslint no-param-reassign:0*/\n\t if (typeof data === 'string') {\n\t try {\n\t data = JSON.parse(data);\n\t } catch (e) { /* Ignore */ }\n\t }\n\t return data;\n\t }],\n\t\n\t /**\n\t * A timeout in milliseconds to abort a request. If set to 0 (default) a\n\t * timeout is not created.\n\t */\n\t timeout: 0,\n\t\n\t xsrfCookieName: 'XSRF-TOKEN',\n\t xsrfHeaderName: 'X-XSRF-TOKEN',\n\t\n\t maxContentLength: -1,\n\t\n\t validateStatus: function validateStatus(status) {\n\t return status >= 200 && status < 300;\n\t }\n\t};\n\t\n\tdefaults.headers = {\n\t common: {\n\t 'Accept': 'application/json, text/plain, */*'\n\t }\n\t};\n\t\n\tutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n\t defaults.headers[method] = {};\n\t});\n\t\n\tutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n\t defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n\t});\n\t\n\tmodule.exports = defaults;\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar utils = __webpack_require__(2);\n\t\n\tmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n\t utils.forEach(headers, function processHeader(value, name) {\n\t if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n\t headers[normalizedName] = value;\n\t delete headers[name];\n\t }\n\t });\n\t};\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar utils = __webpack_require__(2);\n\tvar settle = __webpack_require__(9);\n\tvar buildURL = __webpack_require__(12);\n\tvar parseHeaders = __webpack_require__(13);\n\tvar isURLSameOrigin = __webpack_require__(14);\n\tvar createError = __webpack_require__(10);\n\tvar btoa = (typeof window !== 'undefined' && window.btoa && window.btoa.bind(window)) || __webpack_require__(15);\n\t\n\tmodule.exports = function xhrAdapter(config) {\n\t return new Promise(function dispatchXhrRequest(resolve, reject) {\n\t var requestData = config.data;\n\t var requestHeaders = config.headers;\n\t\n\t if (utils.isFormData(requestData)) {\n\t delete requestHeaders['Content-Type']; // Let the browser set it\n\t }\n\t\n\t var request = new XMLHttpRequest();\n\t var loadEvent = 'onreadystatechange';\n\t var xDomain = false;\n\t\n\t // For IE 8/9 CORS support\n\t // Only supports POST and GET calls and doesn't returns the response headers.\n\t // DON'T do this for testing b/c XMLHttpRequest is mocked, not XDomainRequest.\n\t if ((\"production\") !== 'test' &&\n\t typeof window !== 'undefined' &&\n\t window.XDomainRequest && !('withCredentials' in request) &&\n\t !isURLSameOrigin(config.url)) {\n\t request = new window.XDomainRequest();\n\t loadEvent = 'onload';\n\t xDomain = true;\n\t request.onprogress = function handleProgress() {};\n\t request.ontimeout = function handleTimeout() {};\n\t }\n\t\n\t // HTTP basic authentication\n\t if (config.auth) {\n\t var username = config.auth.username || '';\n\t var password = config.auth.password || '';\n\t requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n\t }\n\t\n\t request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true);\n\t\n\t // Set the request timeout in MS\n\t request.timeout = config.timeout;\n\t\n\t // Listen for ready state\n\t request[loadEvent] = function handleLoad() {\n\t if (!request || (request.readyState !== 4 && !xDomain)) {\n\t return;\n\t }\n\t\n\t // The request errored out and we didn't get a response, this will be\n\t // handled by onerror instead\n\t // With one exception: request that using file: protocol, most browsers\n\t // will return status as 0 even though it's a successful request\n\t if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n\t return;\n\t }\n\t\n\t // Prepare the response\n\t var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n\t var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n\t var response = {\n\t data: responseData,\n\t // IE sends 1223 instead of 204 (https://github.com/axios/axios/issues/201)\n\t status: request.status === 1223 ? 204 : request.status,\n\t statusText: request.status === 1223 ? 'No Content' : request.statusText,\n\t headers: responseHeaders,\n\t config: config,\n\t request: request\n\t };\n\t\n\t settle(resolve, reject, response);\n\t\n\t // Clean up request\n\t request = null;\n\t };\n\t\n\t // Handle low level network errors\n\t request.onerror = function handleError() {\n\t // Real errors are hidden from us by the browser\n\t // onerror should only fire if it's a network error\n\t reject(createError('Network Error', config, null, request));\n\t\n\t // Clean up request\n\t request = null;\n\t };\n\t\n\t // Handle timeout\n\t request.ontimeout = function handleTimeout() {\n\t reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED',\n\t request));\n\t\n\t // Clean up request\n\t request = null;\n\t };\n\t\n\t // Add xsrf header\n\t // This is only done if running in a standard browser environment.\n\t // Specifically not if we're in a web worker, or react-native.\n\t if (utils.isStandardBrowserEnv()) {\n\t var cookies = __webpack_require__(16);\n\t\n\t // Add xsrf header\n\t var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ?\n\t cookies.read(config.xsrfCookieName) :\n\t undefined;\n\t\n\t if (xsrfValue) {\n\t requestHeaders[config.xsrfHeaderName] = xsrfValue;\n\t }\n\t }\n\t\n\t // Add headers to the request\n\t if ('setRequestHeader' in request) {\n\t utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n\t if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n\t // Remove Content-Type if data is undefined\n\t delete requestHeaders[key];\n\t } else {\n\t // Otherwise add header to the request\n\t request.setRequestHeader(key, val);\n\t }\n\t });\n\t }\n\t\n\t // Add withCredentials to request if needed\n\t if (config.withCredentials) {\n\t request.withCredentials = true;\n\t }\n\t\n\t // Add responseType to request if needed\n\t if (config.responseType) {\n\t try {\n\t request.responseType = config.responseType;\n\t } catch (e) {\n\t // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n\t // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n\t if (config.responseType !== 'json') {\n\t throw e;\n\t }\n\t }\n\t }\n\t\n\t // Handle progress if needed\n\t if (typeof config.onDownloadProgress === 'function') {\n\t request.addEventListener('progress', config.onDownloadProgress);\n\t }\n\t\n\t // Not all browsers support upload events\n\t if (typeof config.onUploadProgress === 'function' && request.upload) {\n\t request.upload.addEventListener('progress', config.onUploadProgress);\n\t }\n\t\n\t if (config.cancelToken) {\n\t // Handle cancellation\n\t config.cancelToken.promise.then(function onCanceled(cancel) {\n\t if (!request) {\n\t return;\n\t }\n\t\n\t request.abort();\n\t reject(cancel);\n\t // Clean up request\n\t request = null;\n\t });\n\t }\n\t\n\t if (requestData === undefined) {\n\t requestData = null;\n\t }\n\t\n\t // Send the request\n\t request.send(requestData);\n\t });\n\t};\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar createError = __webpack_require__(10);\n\t\n\t/**\n\t * Resolve or reject a Promise based on response status.\n\t *\n\t * @param {Function} resolve A function that resolves the promise.\n\t * @param {Function} reject A function that rejects the promise.\n\t * @param {object} response The response.\n\t */\n\tmodule.exports = function settle(resolve, reject, response) {\n\t var validateStatus = response.config.validateStatus;\n\t // Note: status is not exposed by XDomainRequest\n\t if (!response.status || !validateStatus || validateStatus(response.status)) {\n\t resolve(response);\n\t } else {\n\t reject(createError(\n\t 'Request failed with status code ' + response.status,\n\t response.config,\n\t null,\n\t response.request,\n\t response\n\t ));\n\t }\n\t};\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar enhanceError = __webpack_require__(11);\n\t\n\t/**\n\t * Create an Error with the specified message, config, error code, request and response.\n\t *\n\t * @param {string} message The error message.\n\t * @param {Object} config The config.\n\t * @param {string} [code] The error code (for example, 'ECONNABORTED').\n\t * @param {Object} [request] The request.\n\t * @param {Object} [response] The response.\n\t * @returns {Error} The created error.\n\t */\n\tmodule.exports = function createError(message, config, code, request, response) {\n\t var error = new Error(message);\n\t return enhanceError(error, config, code, request, response);\n\t};\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\t/**\n\t * Update an Error with the specified config, error code, and response.\n\t *\n\t * @param {Error} error The error to update.\n\t * @param {Object} config The config.\n\t * @param {string} [code] The error code (for example, 'ECONNABORTED').\n\t * @param {Object} [request] The request.\n\t * @param {Object} [response] The response.\n\t * @returns {Error} The error.\n\t */\n\tmodule.exports = function enhanceError(error, config, code, request, response) {\n\t error.config = config;\n\t if (code) {\n\t error.code = code;\n\t }\n\t error.request = request;\n\t error.response = response;\n\t return error;\n\t};\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar utils = __webpack_require__(2);\n\t\n\tfunction encode(val) {\n\t return encodeURIComponent(val).\n\t replace(/%40/gi, '@').\n\t replace(/%3A/gi, ':').\n\t replace(/%24/g, '$').\n\t replace(/%2C/gi, ',').\n\t replace(/%20/g, '+').\n\t replace(/%5B/gi, '[').\n\t replace(/%5D/gi, ']');\n\t}\n\t\n\t/**\n\t * Build a URL by appending params to the end\n\t *\n\t * @param {string} url The base of the url (e.g., http://www.google.com)\n\t * @param {object} [params] The params to be appended\n\t * @returns {string} The formatted url\n\t */\n\tmodule.exports = function buildURL(url, params, paramsSerializer) {\n\t /*eslint no-param-reassign:0*/\n\t if (!params) {\n\t return url;\n\t }\n\t\n\t var serializedParams;\n\t if (paramsSerializer) {\n\t serializedParams = paramsSerializer(params);\n\t } else if (utils.isURLSearchParams(params)) {\n\t serializedParams = params.toString();\n\t } else {\n\t var parts = [];\n\t\n\t utils.forEach(params, function serialize(val, key) {\n\t if (val === null || typeof val === 'undefined') {\n\t return;\n\t }\n\t\n\t if (utils.isArray(val)) {\n\t key = key + '[]';\n\t } else {\n\t val = [val];\n\t }\n\t\n\t utils.forEach(val, function parseValue(v) {\n\t if (utils.isDate(v)) {\n\t v = v.toISOString();\n\t } else if (utils.isObject(v)) {\n\t v = JSON.stringify(v);\n\t }\n\t parts.push(encode(key) + '=' + encode(v));\n\t });\n\t });\n\t\n\t serializedParams = parts.join('&');\n\t }\n\t\n\t if (serializedParams) {\n\t url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n\t }\n\t\n\t return url;\n\t};\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar utils = __webpack_require__(2);\n\t\n\t// Headers whose duplicates are ignored by node\n\t// c.f. https://nodejs.org/api/http.html#http_message_headers\n\tvar ignoreDuplicateOf = [\n\t 'age', 'authorization', 'content-length', 'content-type', 'etag',\n\t 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n\t 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n\t 'referer', 'retry-after', 'user-agent'\n\t];\n\t\n\t/**\n\t * Parse headers into an object\n\t *\n\t * ```\n\t * Date: Wed, 27 Aug 2014 08:58:49 GMT\n\t * Content-Type: application/json\n\t * Connection: keep-alive\n\t * Transfer-Encoding: chunked\n\t * ```\n\t *\n\t * @param {String} headers Headers needing to be parsed\n\t * @returns {Object} Headers parsed into an object\n\t */\n\tmodule.exports = function parseHeaders(headers) {\n\t var parsed = {};\n\t var key;\n\t var val;\n\t var i;\n\t\n\t if (!headers) { return parsed; }\n\t\n\t utils.forEach(headers.split('\\n'), function parser(line) {\n\t i = line.indexOf(':');\n\t key = utils.trim(line.substr(0, i)).toLowerCase();\n\t val = utils.trim(line.substr(i + 1));\n\t\n\t if (key) {\n\t if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n\t return;\n\t }\n\t if (key === 'set-cookie') {\n\t parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n\t } else {\n\t parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n\t }\n\t }\n\t });\n\t\n\t return parsed;\n\t};\n\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar utils = __webpack_require__(2);\n\t\n\tmodule.exports = (\n\t utils.isStandardBrowserEnv() ?\n\t\n\t // Standard browser envs have full support of the APIs needed to test\n\t // whether the request URL is of the same origin as current location.\n\t (function standardBrowserEnv() {\n\t var msie = /(msie|trident)/i.test(navigator.userAgent);\n\t var urlParsingNode = document.createElement('a');\n\t var originURL;\n\t\n\t /**\n\t * Parse a URL to discover it's components\n\t *\n\t * @param {String} url The URL to be parsed\n\t * @returns {Object}\n\t */\n\t function resolveURL(url) {\n\t var href = url;\n\t\n\t if (msie) {\n\t // IE needs attribute set twice to normalize properties\n\t urlParsingNode.setAttribute('href', href);\n\t href = urlParsingNode.href;\n\t }\n\t\n\t urlParsingNode.setAttribute('href', href);\n\t\n\t // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n\t return {\n\t href: urlParsingNode.href,\n\t protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n\t host: urlParsingNode.host,\n\t search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n\t hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n\t hostname: urlParsingNode.hostname,\n\t port: urlParsingNode.port,\n\t pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n\t urlParsingNode.pathname :\n\t '/' + urlParsingNode.pathname\n\t };\n\t }\n\t\n\t originURL = resolveURL(window.location.href);\n\t\n\t /**\n\t * Determine if a URL shares the same origin as the current location\n\t *\n\t * @param {String} requestURL The URL to test\n\t * @returns {boolean} True if URL shares the same origin, otherwise false\n\t */\n\t return function isURLSameOrigin(requestURL) {\n\t var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n\t return (parsed.protocol === originURL.protocol &&\n\t parsed.host === originURL.host);\n\t };\n\t })() :\n\t\n\t // Non standard browser envs (web workers, react-native) lack needed support.\n\t (function nonStandardBrowserEnv() {\n\t return function isURLSameOrigin() {\n\t return true;\n\t };\n\t })()\n\t);\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\t// btoa polyfill for IE<10 courtesy https://github.com/davidchambers/Base64.js\n\t\n\tvar chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n\t\n\tfunction E() {\n\t this.message = 'String contains an invalid character';\n\t}\n\tE.prototype = new Error;\n\tE.prototype.code = 5;\n\tE.prototype.name = 'InvalidCharacterError';\n\t\n\tfunction btoa(input) {\n\t var str = String(input);\n\t var output = '';\n\t for (\n\t // initialize result and counter\n\t var block, charCode, idx = 0, map = chars;\n\t // if the next str index does not exist:\n\t // change the mapping table to \"=\"\n\t // check if d has no fractional digits\n\t str.charAt(idx | 0) || (map = '=', idx % 1);\n\t // \"8 - idx % 1 * 8\" generates the sequence 2, 4, 6, 8\n\t output += map.charAt(63 & block >> 8 - idx % 1 * 8)\n\t ) {\n\t charCode = str.charCodeAt(idx += 3 / 4);\n\t if (charCode > 0xFF) {\n\t throw new E();\n\t }\n\t block = block << 8 | charCode;\n\t }\n\t return output;\n\t}\n\t\n\tmodule.exports = btoa;\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar utils = __webpack_require__(2);\n\t\n\tmodule.exports = (\n\t utils.isStandardBrowserEnv() ?\n\t\n\t // Standard browser envs support document.cookie\n\t (function standardBrowserEnv() {\n\t return {\n\t write: function write(name, value, expires, path, domain, secure) {\n\t var cookie = [];\n\t cookie.push(name + '=' + encodeURIComponent(value));\n\t\n\t if (utils.isNumber(expires)) {\n\t cookie.push('expires=' + new Date(expires).toGMTString());\n\t }\n\t\n\t if (utils.isString(path)) {\n\t cookie.push('path=' + path);\n\t }\n\t\n\t if (utils.isString(domain)) {\n\t cookie.push('domain=' + domain);\n\t }\n\t\n\t if (secure === true) {\n\t cookie.push('secure');\n\t }\n\t\n\t document.cookie = cookie.join('; ');\n\t },\n\t\n\t read: function read(name) {\n\t var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n\t return (match ? decodeURIComponent(match[3]) : null);\n\t },\n\t\n\t remove: function remove(name) {\n\t this.write(name, '', Date.now() - 86400000);\n\t }\n\t };\n\t })() :\n\t\n\t // Non standard browser env (web workers, react-native) lack needed support.\n\t (function nonStandardBrowserEnv() {\n\t return {\n\t write: function write() {},\n\t read: function read() { return null; },\n\t remove: function remove() {}\n\t };\n\t })()\n\t);\n\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar utils = __webpack_require__(2);\n\t\n\tfunction InterceptorManager() {\n\t this.handlers = [];\n\t}\n\t\n\t/**\n\t * Add a new interceptor to the stack\n\t *\n\t * @param {Function} fulfilled The function to handle `then` for a `Promise`\n\t * @param {Function} rejected The function to handle `reject` for a `Promise`\n\t *\n\t * @return {Number} An ID used to remove interceptor later\n\t */\n\tInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n\t this.handlers.push({\n\t fulfilled: fulfilled,\n\t rejected: rejected\n\t });\n\t return this.handlers.length - 1;\n\t};\n\t\n\t/**\n\t * Remove an interceptor from the stack\n\t *\n\t * @param {Number} id The ID that was returned by `use`\n\t */\n\tInterceptorManager.prototype.eject = function eject(id) {\n\t if (this.handlers[id]) {\n\t this.handlers[id] = null;\n\t }\n\t};\n\t\n\t/**\n\t * Iterate over all the registered interceptors\n\t *\n\t * This method is particularly useful for skipping over any\n\t * interceptors that may have become `null` calling `eject`.\n\t *\n\t * @param {Function} fn The function to call for each interceptor\n\t */\n\tInterceptorManager.prototype.forEach = function forEach(fn) {\n\t utils.forEach(this.handlers, function forEachHandler(h) {\n\t if (h !== null) {\n\t fn(h);\n\t }\n\t });\n\t};\n\t\n\tmodule.exports = InterceptorManager;\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar utils = __webpack_require__(2);\n\tvar transformData = __webpack_require__(19);\n\tvar isCancel = __webpack_require__(20);\n\tvar defaults = __webpack_require__(6);\n\tvar isAbsoluteURL = __webpack_require__(21);\n\tvar combineURLs = __webpack_require__(22);\n\t\n\t/**\n\t * Throws a `Cancel` if cancellation has been requested.\n\t */\n\tfunction throwIfCancellationRequested(config) {\n\t if (config.cancelToken) {\n\t config.cancelToken.throwIfRequested();\n\t }\n\t}\n\t\n\t/**\n\t * Dispatch a request to the server using the configured adapter.\n\t *\n\t * @param {object} config The config that is to be used for the request\n\t * @returns {Promise} The Promise to be fulfilled\n\t */\n\tmodule.exports = function dispatchRequest(config) {\n\t throwIfCancellationRequested(config);\n\t\n\t // Support baseURL config\n\t if (config.baseURL && !isAbsoluteURL(config.url)) {\n\t config.url = combineURLs(config.baseURL, config.url);\n\t }\n\t\n\t // Ensure headers exist\n\t config.headers = config.headers || {};\n\t\n\t // Transform request data\n\t config.data = transformData(\n\t config.data,\n\t config.headers,\n\t config.transformRequest\n\t );\n\t\n\t // Flatten headers\n\t config.headers = utils.merge(\n\t config.headers.common || {},\n\t config.headers[config.method] || {},\n\t config.headers || {}\n\t );\n\t\n\t utils.forEach(\n\t ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n\t function cleanHeaderConfig(method) {\n\t delete config.headers[method];\n\t }\n\t );\n\t\n\t var adapter = config.adapter || defaults.adapter;\n\t\n\t return adapter(config).then(function onAdapterResolution(response) {\n\t throwIfCancellationRequested(config);\n\t\n\t // Transform response data\n\t response.data = transformData(\n\t response.data,\n\t response.headers,\n\t config.transformResponse\n\t );\n\t\n\t return response;\n\t }, function onAdapterRejection(reason) {\n\t if (!isCancel(reason)) {\n\t throwIfCancellationRequested(config);\n\t\n\t // Transform response data\n\t if (reason && reason.response) {\n\t reason.response.data = transformData(\n\t reason.response.data,\n\t reason.response.headers,\n\t config.transformResponse\n\t );\n\t }\n\t }\n\t\n\t return Promise.reject(reason);\n\t });\n\t};\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar utils = __webpack_require__(2);\n\t\n\t/**\n\t * Transform the data for a request or a response\n\t *\n\t * @param {Object|String} data The data to be transformed\n\t * @param {Array} headers The headers for the request or response\n\t * @param {Array|Function} fns A single function or Array of functions\n\t * @returns {*} The resulting transformed data\n\t */\n\tmodule.exports = function transformData(data, headers, fns) {\n\t /*eslint no-param-reassign:0*/\n\t utils.forEach(fns, function transform(fn) {\n\t data = fn(data, headers);\n\t });\n\t\n\t return data;\n\t};\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tmodule.exports = function isCancel(value) {\n\t return !!(value && value.__CANCEL__);\n\t};\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\t/**\n\t * Determines whether the specified URL is absolute\n\t *\n\t * @param {string} url The URL to test\n\t * @returns {boolean} True if the specified URL is absolute, otherwise false\n\t */\n\tmodule.exports = function isAbsoluteURL(url) {\n\t // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n\t // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n\t // by any combination of letters, digits, plus, period, or hyphen.\n\t return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n\t};\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\t/**\n\t * Creates a new URL by combining the specified URLs\n\t *\n\t * @param {string} baseURL The base URL\n\t * @param {string} relativeURL The relative URL\n\t * @returns {string} The combined URL\n\t */\n\tmodule.exports = function combineURLs(baseURL, relativeURL) {\n\t return relativeURL\n\t ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n\t : baseURL;\n\t};\n\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\t/**\n\t * A `Cancel` is an object that is thrown when an operation is canceled.\n\t *\n\t * @class\n\t * @param {string=} message The message.\n\t */\n\tfunction Cancel(message) {\n\t this.message = message;\n\t}\n\t\n\tCancel.prototype.toString = function toString() {\n\t return 'Cancel' + (this.message ? ': ' + this.message : '');\n\t};\n\t\n\tCancel.prototype.__CANCEL__ = true;\n\t\n\tmodule.exports = Cancel;\n\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar Cancel = __webpack_require__(23);\n\t\n\t/**\n\t * A `CancelToken` is an object that can be used to request cancellation of an operation.\n\t *\n\t * @class\n\t * @param {Function} executor The executor function.\n\t */\n\tfunction CancelToken(executor) {\n\t if (typeof executor !== 'function') {\n\t throw new TypeError('executor must be a function.');\n\t }\n\t\n\t var resolvePromise;\n\t this.promise = new Promise(function promiseExecutor(resolve) {\n\t resolvePromise = resolve;\n\t });\n\t\n\t var token = this;\n\t executor(function cancel(message) {\n\t if (token.reason) {\n\t // Cancellation has already been requested\n\t return;\n\t }\n\t\n\t token.reason = new Cancel(message);\n\t resolvePromise(token.reason);\n\t });\n\t}\n\t\n\t/**\n\t * Throws a `Cancel` if cancellation has been requested.\n\t */\n\tCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n\t if (this.reason) {\n\t throw this.reason;\n\t }\n\t};\n\t\n\t/**\n\t * Returns an object that contains a new `CancelToken` and a function that, when called,\n\t * cancels the `CancelToken`.\n\t */\n\tCancelToken.source = function source() {\n\t var cancel;\n\t var token = new CancelToken(function executor(c) {\n\t cancel = c;\n\t });\n\t return {\n\t token: token,\n\t cancel: cancel\n\t };\n\t};\n\t\n\tmodule.exports = CancelToken;\n\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\t/**\n\t * Syntactic sugar for invoking a function and expanding an array for arguments.\n\t *\n\t * Common use case would be to use `Function.prototype.apply`.\n\t *\n\t * ```js\n\t * function f(x, y, z) {}\n\t * var args = [1, 2, 3];\n\t * f.apply(null, args);\n\t * ```\n\t *\n\t * With `spread` this example can be re-written.\n\t *\n\t * ```js\n\t * spread(function(x, y, z) {})([1, 2, 3]);\n\t * ```\n\t *\n\t * @param {Function} callback\n\t * @returns {Function}\n\t */\n\tmodule.exports = function spread(callback) {\n\t return function wrap(arr) {\n\t return callback.apply(null, arr);\n\t };\n\t};\n\n\n/***/ })\n/******/ ])\n});\n;\n\n\n// WEBPACK FOOTER //\n// axios.min.js"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap dad8263224c86c166a30","module.exports = require('./lib/axios');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./index.js\n// module id = 0\n// module chunks = 0","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(utils.merge(defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/axios.js\n// module id = 1\n// module chunks = 0","'use strict';\n\nvar bind = require('./helpers/bind');\nvar isBuffer = require('is-buffer');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = merge(result[key], val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/utils.js\n// module id = 2\n// module chunks = 0","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/bind.js\n// module id = 3\n// module chunks = 0","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n}\n\nfunction isBuffer (obj) {\n return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer (obj) {\n return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/is-buffer/index.js\n// module id = 4\n// module chunks = 0","'use strict';\n\nvar defaults = require('./../defaults');\nvar utils = require('./../utils');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = utils.merge({\n url: arguments[0]\n }, arguments[1]);\n }\n\n config = utils.merge(defaults, {method: 'get'}, this.defaults, config);\n config.method = config.method.toLowerCase();\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/core/Axios.js\n// module id = 5\n// module chunks = 0","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Content-Type');\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) { /* Ignore */ }\n }\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/defaults.js\n// module id = 6\n// module chunks = 0","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/normalizeHeaderName.js\n// module id = 7\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar buildURL = require('./../helpers/buildURL');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\nvar btoa = (typeof window !== 'undefined' && window.btoa && window.btoa.bind(window)) || require('./../helpers/btoa');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n var loadEvent = 'onreadystatechange';\n var xDomain = false;\n\n // For IE 8/9 CORS support\n // Only supports POST and GET calls and doesn't returns the response headers.\n // DON'T do this for testing b/c XMLHttpRequest is mocked, not XDomainRequest.\n if (process.env.NODE_ENV !== 'test' &&\n typeof window !== 'undefined' &&\n window.XDomainRequest && !('withCredentials' in request) &&\n !isURLSameOrigin(config.url)) {\n request = new window.XDomainRequest();\n loadEvent = 'onload';\n xDomain = true;\n request.onprogress = function handleProgress() {};\n request.ontimeout = function handleTimeout() {};\n }\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password || '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n // Listen for ready state\n request[loadEvent] = function handleLoad() {\n if (!request || (request.readyState !== 4 && !xDomain)) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n // IE sends 1223 instead of 204 (https://github.com/axios/axios/issues/201)\n status: request.status === 1223 ? 204 : request.status,\n statusText: request.status === 1223 ? 'No Content' : request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n var cookies = require('./../helpers/cookies');\n\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (config.withCredentials) {\n request.withCredentials = true;\n }\n\n // Add responseType to request if needed\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (requestData === undefined) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/adapters/xhr.js\n// module id = 8\n// module chunks = 0","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n // Note: status is not exposed by XDomainRequest\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/core/settle.js\n// module id = 9\n// module chunks = 0","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/core/createError.js\n// module id = 10\n// module chunks = 0","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n error.request = request;\n error.response = response;\n return error;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/core/enhanceError.js\n// module id = 11\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%40/gi, '@').\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/buildURL.js\n// module id = 12\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/parseHeaders.js\n// module id = 13\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/isURLSameOrigin.js\n// module id = 14\n// module chunks = 0","'use strict';\n\n// btoa polyfill for IE<10 courtesy https://github.com/davidchambers/Base64.js\n\nvar chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n\nfunction E() {\n this.message = 'String contains an invalid character';\n}\nE.prototype = new Error;\nE.prototype.code = 5;\nE.prototype.name = 'InvalidCharacterError';\n\nfunction btoa(input) {\n var str = String(input);\n var output = '';\n for (\n // initialize result and counter\n var block, charCode, idx = 0, map = chars;\n // if the next str index does not exist:\n // change the mapping table to \"=\"\n // check if d has no fractional digits\n str.charAt(idx | 0) || (map = '=', idx % 1);\n // \"8 - idx % 1 * 8\" generates the sequence 2, 4, 6, 8\n output += map.charAt(63 & block >> 8 - idx % 1 * 8)\n ) {\n charCode = str.charCodeAt(idx += 3 / 4);\n if (charCode > 0xFF) {\n throw new E();\n }\n block = block << 8 | charCode;\n }\n return output;\n}\n\nmodule.exports = btoa;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/btoa.js\n// module id = 15\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/cookies.js\n// module id = 16\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/core/InterceptorManager.js\n// module id = 17\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar isAbsoluteURL = require('./../helpers/isAbsoluteURL');\nvar combineURLs = require('./../helpers/combineURLs');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Support baseURL config\n if (config.baseURL && !isAbsoluteURL(config.url)) {\n config.url = combineURLs(config.baseURL, config.url);\n }\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData(\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers || {}\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData(\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData(\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/core/dispatchRequest.js\n// module id = 18\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/core/transformData.js\n// module id = 19\n// module chunks = 0","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/cancel/isCancel.js\n// module id = 20\n// module chunks = 0","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/isAbsoluteURL.js\n// module id = 21\n// module chunks = 0","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/combineURLs.js\n// module id = 22\n// module chunks = 0","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/cancel/Cancel.js\n// module id = 23\n// module chunks = 0","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/cancel/CancelToken.js\n// module id = 24\n// module chunks = 0","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/spread.js\n// module id = 25\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file diff --git a/express-server/node_modules/axios/index.d.ts b/express-server/node_modules/axios/index.d.ts new file mode 100644 index 00000000..403fd1af --- /dev/null +++ b/express-server/node_modules/axios/index.d.ts @@ -0,0 +1,131 @@ +export interface AxiosTransformer { + (data: any, headers?: any): any; +} + +export interface AxiosAdapter { + (config: AxiosRequestConfig): AxiosPromise; +} + +export interface AxiosBasicCredentials { + username: string; + password: string; +} + +export interface AxiosProxyConfig { + host: string; + port: number; + auth?: { + username: string; + password:string; + } +} + +export interface AxiosRequestConfig { + url?: string; + method?: string; + baseURL?: string; + transformRequest?: AxiosTransformer | AxiosTransformer[]; + transformResponse?: AxiosTransformer | AxiosTransformer[]; + headers?: any; + params?: any; + paramsSerializer?: (params: any) => string; + data?: any; + timeout?: number; + withCredentials?: boolean; + adapter?: AxiosAdapter; + auth?: AxiosBasicCredentials; + responseType?: string; + xsrfCookieName?: string; + xsrfHeaderName?: string; + onUploadProgress?: (progressEvent: any) => void; + onDownloadProgress?: (progressEvent: any) => void; + maxContentLength?: number; + validateStatus?: (status: number) => boolean; + maxRedirects?: number; + httpAgent?: any; + httpsAgent?: any; + proxy?: AxiosProxyConfig | false; + cancelToken?: CancelToken; +} + +export interface AxiosResponse { + data: T; + status: number; + statusText: string; + headers: any; + config: AxiosRequestConfig; + request?: any; +} + +export interface AxiosError extends Error { + config: AxiosRequestConfig; + code?: string; + request?: any; + response?: AxiosResponse; +} + +export interface AxiosPromise extends Promise> { +} + +export interface CancelStatic { + new (message?: string): Cancel; +} + +export interface Cancel { + message: string; +} + +export interface Canceler { + (message?: string): void; +} + +export interface CancelTokenStatic { + new (executor: (cancel: Canceler) => void): CancelToken; + source(): CancelTokenSource; +} + +export interface CancelToken { + promise: Promise; + reason?: Cancel; + throwIfRequested(): void; +} + +export interface CancelTokenSource { + token: CancelToken; + cancel: Canceler; +} + +export interface AxiosInterceptorManager { + use(onFulfilled?: (value: V) => V | Promise, onRejected?: (error: any) => any): number; + eject(id: number): void; +} + +export interface AxiosInstance { + (config: AxiosRequestConfig): AxiosPromise; + (url: string, config?: AxiosRequestConfig): AxiosPromise; + defaults: AxiosRequestConfig; + interceptors: { + request: AxiosInterceptorManager; + response: AxiosInterceptorManager; + }; + request(config: AxiosRequestConfig): AxiosPromise; + get(url: string, config?: AxiosRequestConfig): AxiosPromise; + delete(url: string, config?: AxiosRequestConfig): AxiosPromise; + head(url: string, config?: AxiosRequestConfig): AxiosPromise; + post(url: string, data?: any, config?: AxiosRequestConfig): AxiosPromise; + put(url: string, data?: any, config?: AxiosRequestConfig): AxiosPromise; + patch(url: string, data?: any, config?: AxiosRequestConfig): AxiosPromise; +} + +export interface AxiosStatic extends AxiosInstance { + create(config?: AxiosRequestConfig): AxiosInstance; + Cancel: CancelStatic; + CancelToken: CancelTokenStatic; + isCancel(value: any): boolean; + all(values: (T | Promise)[]): Promise; + spread(callback: (...args: T[]) => R): (array: T[]) => R; +} + +declare const Axios: AxiosStatic; + +export default Axios; diff --git a/express-server/node_modules/axios/index.js b/express-server/node_modules/axios/index.js new file mode 100644 index 00000000..79dfd09d --- /dev/null +++ b/express-server/node_modules/axios/index.js @@ -0,0 +1 @@ +module.exports = require('./lib/axios'); \ No newline at end of file diff --git a/express-server/node_modules/axios/lib/adapters/README.md b/express-server/node_modules/axios/lib/adapters/README.md new file mode 100644 index 00000000..68f11189 --- /dev/null +++ b/express-server/node_modules/axios/lib/adapters/README.md @@ -0,0 +1,37 @@ +# axios // adapters + +The modules under `adapters/` are modules that handle dispatching a request and settling a returned `Promise` once a response is received. + +## Example + +```js +var settle = require('./../core/settle'); + +module.exports = function myAdapter(config) { + // At this point: + // - config has been merged with defaults + // - request transformers have already run + // - request interceptors have already run + + // Make the request using config provided + // Upon response settle the Promise + + return new Promise(function(resolve, reject) { + + var response = { + data: responseData, + status: request.status, + statusText: request.statusText, + headers: responseHeaders, + config: config, + request: request + }; + + settle(resolve, reject, response); + + // From here: + // - response transformers will run + // - response interceptors will run + }); +} +``` diff --git a/express-server/node_modules/axios/lib/adapters/http.js b/express-server/node_modules/axios/lib/adapters/http.js new file mode 100644 index 00000000..b986487c --- /dev/null +++ b/express-server/node_modules/axios/lib/adapters/http.js @@ -0,0 +1,237 @@ +'use strict'; + +var utils = require('./../utils'); +var settle = require('./../core/settle'); +var buildURL = require('./../helpers/buildURL'); +var http = require('http'); +var https = require('https'); +var httpFollow = require('follow-redirects').http; +var httpsFollow = require('follow-redirects').https; +var url = require('url'); +var zlib = require('zlib'); +var pkg = require('./../../package.json'); +var createError = require('../core/createError'); +var enhanceError = require('../core/enhanceError'); + +/*eslint consistent-return:0*/ +module.exports = function httpAdapter(config) { + return new Promise(function dispatchHttpRequest(resolve, reject) { + var data = config.data; + var headers = config.headers; + var timer; + + // Set User-Agent (required by some servers) + // Only set header if it hasn't been set in config + // See https://github.com/axios/axios/issues/69 + if (!headers['User-Agent'] && !headers['user-agent']) { + headers['User-Agent'] = 'axios/' + pkg.version; + } + + if (data && !utils.isStream(data)) { + if (Buffer.isBuffer(data)) { + // Nothing to do... + } else if (utils.isArrayBuffer(data)) { + data = new Buffer(new Uint8Array(data)); + } else if (utils.isString(data)) { + data = new Buffer(data, 'utf-8'); + } else { + return reject(createError( + 'Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream', + config + )); + } + + // Add Content-Length header if data exists + headers['Content-Length'] = data.length; + } + + // HTTP basic authentication + var auth = undefined; + if (config.auth) { + var username = config.auth.username || ''; + var password = config.auth.password || ''; + auth = username + ':' + password; + } + + // Parse url + var parsed = url.parse(config.url); + var protocol = parsed.protocol || 'http:'; + + if (!auth && parsed.auth) { + var urlAuth = parsed.auth.split(':'); + var urlUsername = urlAuth[0] || ''; + var urlPassword = urlAuth[1] || ''; + auth = urlUsername + ':' + urlPassword; + } + + if (auth) { + delete headers.Authorization; + } + + var isHttps = protocol === 'https:'; + var agent = isHttps ? config.httpsAgent : config.httpAgent; + + var options = { + path: buildURL(parsed.path, config.params, config.paramsSerializer).replace(/^\?/, ''), + method: config.method, + headers: headers, + agent: agent, + auth: auth + }; + + if (config.socketPath) { + options.socketPath = config.socketPath; + } else { + options.hostname = parsed.hostname; + options.port = parsed.port; + } + + var proxy = config.proxy; + if (!proxy && proxy !== false) { + var proxyEnv = protocol.slice(0, -1) + '_proxy'; + var proxyUrl = process.env[proxyEnv] || process.env[proxyEnv.toUpperCase()]; + if (proxyUrl) { + var parsedProxyUrl = url.parse(proxyUrl); + proxy = { + host: parsedProxyUrl.hostname, + port: parsedProxyUrl.port + }; + + if (parsedProxyUrl.auth) { + var proxyUrlAuth = parsedProxyUrl.auth.split(':'); + proxy.auth = { + username: proxyUrlAuth[0], + password: proxyUrlAuth[1] + }; + } + } + } + + if (proxy) { + options.hostname = proxy.host; + options.host = proxy.host; + options.headers.host = parsed.hostname + (parsed.port ? ':' + parsed.port : ''); + options.port = proxy.port; + options.path = protocol + '//' + parsed.hostname + (parsed.port ? ':' + parsed.port : '') + options.path; + + // Basic proxy authorization + if (proxy.auth) { + var base64 = new Buffer(proxy.auth.username + ':' + proxy.auth.password, 'utf8').toString('base64'); + options.headers['Proxy-Authorization'] = 'Basic ' + base64; + } + } + + var transport; + if (config.transport) { + transport = config.transport; + } else if (config.maxRedirects === 0) { + transport = isHttps ? https : http; + } else { + if (config.maxRedirects) { + options.maxRedirects = config.maxRedirects; + } + transport = isHttps ? httpsFollow : httpFollow; + } + + if (config.maxContentLength && config.maxContentLength > -1) { + options.maxBodyLength = config.maxContentLength; + } + + // Create the request + var req = transport.request(options, function handleResponse(res) { + if (req.aborted) return; + + // Response has been received so kill timer that handles request timeout + clearTimeout(timer); + timer = null; + + // uncompress the response body transparently if required + var stream = res; + switch (res.headers['content-encoding']) { + /*eslint default-case:0*/ + case 'gzip': + case 'compress': + case 'deflate': + // add the unzipper to the body stream processing pipeline + stream = stream.pipe(zlib.createUnzip()); + + // remove the content-encoding in order to not confuse downstream operations + delete res.headers['content-encoding']; + break; + } + + // return the last request in case of redirects + var lastRequest = res.req || req; + + var response = { + status: res.statusCode, + statusText: res.statusMessage, + headers: res.headers, + config: config, + request: lastRequest + }; + + if (config.responseType === 'stream') { + response.data = stream; + settle(resolve, reject, response); + } else { + var responseBuffer = []; + stream.on('data', function handleStreamData(chunk) { + responseBuffer.push(chunk); + + // make sure the content length is not over the maxContentLength if specified + if (config.maxContentLength > -1 && Buffer.concat(responseBuffer).length > config.maxContentLength) { + reject(createError('maxContentLength size of ' + config.maxContentLength + ' exceeded', + config, null, lastRequest)); + } + }); + + stream.on('error', function handleStreamError(err) { + if (req.aborted) return; + reject(enhanceError(err, config, null, lastRequest)); + }); + + stream.on('end', function handleStreamEnd() { + var responseData = Buffer.concat(responseBuffer); + if (config.responseType !== 'arraybuffer') { + responseData = responseData.toString('utf8'); + } + + response.data = responseData; + settle(resolve, reject, response); + }); + } + }); + + // Handle errors + req.on('error', function handleRequestError(err) { + if (req.aborted) return; + reject(enhanceError(err, config, null, req)); + }); + + // Handle request timeout + if (config.timeout && !timer) { + timer = setTimeout(function handleRequestTimeout() { + req.abort(); + reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED', req)); + }, config.timeout); + } + + if (config.cancelToken) { + // Handle cancellation + config.cancelToken.promise.then(function onCanceled(cancel) { + if (req.aborted) return; + + req.abort(); + reject(cancel); + }); + } + + // Send the request + if (utils.isStream(data)) { + data.pipe(req); + } else { + req.end(data); + } + }); +}; diff --git a/express-server/node_modules/axios/lib/adapters/xhr.js b/express-server/node_modules/axios/lib/adapters/xhr.js new file mode 100644 index 00000000..81364bd5 --- /dev/null +++ b/express-server/node_modules/axios/lib/adapters/xhr.js @@ -0,0 +1,180 @@ +'use strict'; + +var utils = require('./../utils'); +var settle = require('./../core/settle'); +var buildURL = require('./../helpers/buildURL'); +var parseHeaders = require('./../helpers/parseHeaders'); +var isURLSameOrigin = require('./../helpers/isURLSameOrigin'); +var createError = require('../core/createError'); +var btoa = (typeof window !== 'undefined' && window.btoa && window.btoa.bind(window)) || require('./../helpers/btoa'); + +module.exports = function xhrAdapter(config) { + return new Promise(function dispatchXhrRequest(resolve, reject) { + var requestData = config.data; + var requestHeaders = config.headers; + + if (utils.isFormData(requestData)) { + delete requestHeaders['Content-Type']; // Let the browser set it + } + + var request = new XMLHttpRequest(); + var loadEvent = 'onreadystatechange'; + var xDomain = false; + + // For IE 8/9 CORS support + // Only supports POST and GET calls and doesn't returns the response headers. + // DON'T do this for testing b/c XMLHttpRequest is mocked, not XDomainRequest. + if (process.env.NODE_ENV !== 'test' && + typeof window !== 'undefined' && + window.XDomainRequest && !('withCredentials' in request) && + !isURLSameOrigin(config.url)) { + request = new window.XDomainRequest(); + loadEvent = 'onload'; + xDomain = true; + request.onprogress = function handleProgress() {}; + request.ontimeout = function handleTimeout() {}; + } + + // HTTP basic authentication + if (config.auth) { + var username = config.auth.username || ''; + var password = config.auth.password || ''; + requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password); + } + + request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true); + + // Set the request timeout in MS + request.timeout = config.timeout; + + // Listen for ready state + request[loadEvent] = function handleLoad() { + if (!request || (request.readyState !== 4 && !xDomain)) { + return; + } + + // The request errored out and we didn't get a response, this will be + // handled by onerror instead + // With one exception: request that using file: protocol, most browsers + // will return status as 0 even though it's a successful request + if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) { + return; + } + + // Prepare the response + var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null; + var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response; + var response = { + data: responseData, + // IE sends 1223 instead of 204 (https://github.com/axios/axios/issues/201) + status: request.status === 1223 ? 204 : request.status, + statusText: request.status === 1223 ? 'No Content' : request.statusText, + headers: responseHeaders, + config: config, + request: request + }; + + settle(resolve, reject, response); + + // Clean up request + request = null; + }; + + // Handle low level network errors + request.onerror = function handleError() { + // Real errors are hidden from us by the browser + // onerror should only fire if it's a network error + reject(createError('Network Error', config, null, request)); + + // Clean up request + request = null; + }; + + // Handle timeout + request.ontimeout = function handleTimeout() { + reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED', + request)); + + // Clean up request + request = null; + }; + + // Add xsrf header + // This is only done if running in a standard browser environment. + // Specifically not if we're in a web worker, or react-native. + if (utils.isStandardBrowserEnv()) { + var cookies = require('./../helpers/cookies'); + + // Add xsrf header + var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ? + cookies.read(config.xsrfCookieName) : + undefined; + + if (xsrfValue) { + requestHeaders[config.xsrfHeaderName] = xsrfValue; + } + } + + // Add headers to the request + if ('setRequestHeader' in request) { + utils.forEach(requestHeaders, function setRequestHeader(val, key) { + if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') { + // Remove Content-Type if data is undefined + delete requestHeaders[key]; + } else { + // Otherwise add header to the request + request.setRequestHeader(key, val); + } + }); + } + + // Add withCredentials to request if needed + if (config.withCredentials) { + request.withCredentials = true; + } + + // Add responseType to request if needed + if (config.responseType) { + try { + request.responseType = config.responseType; + } catch (e) { + // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2. + // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function. + if (config.responseType !== 'json') { + throw e; + } + } + } + + // Handle progress if needed + if (typeof config.onDownloadProgress === 'function') { + request.addEventListener('progress', config.onDownloadProgress); + } + + // Not all browsers support upload events + if (typeof config.onUploadProgress === 'function' && request.upload) { + request.upload.addEventListener('progress', config.onUploadProgress); + } + + if (config.cancelToken) { + // Handle cancellation + config.cancelToken.promise.then(function onCanceled(cancel) { + if (!request) { + return; + } + + request.abort(); + reject(cancel); + // Clean up request + request = null; + }); + } + + if (requestData === undefined) { + requestData = null; + } + + // Send the request + request.send(requestData); + }); +}; diff --git a/express-server/node_modules/axios/lib/axios.js b/express-server/node_modules/axios/lib/axios.js new file mode 100644 index 00000000..ed1f5194 --- /dev/null +++ b/express-server/node_modules/axios/lib/axios.js @@ -0,0 +1,52 @@ +'use strict'; + +var utils = require('./utils'); +var bind = require('./helpers/bind'); +var Axios = require('./core/Axios'); +var defaults = require('./defaults'); + +/** + * Create an instance of Axios + * + * @param {Object} defaultConfig The default config for the instance + * @return {Axios} A new instance of Axios + */ +function createInstance(defaultConfig) { + var context = new Axios(defaultConfig); + var instance = bind(Axios.prototype.request, context); + + // Copy axios.prototype to instance + utils.extend(instance, Axios.prototype, context); + + // Copy context to instance + utils.extend(instance, context); + + return instance; +} + +// Create the default instance to be exported +var axios = createInstance(defaults); + +// Expose Axios class to allow class inheritance +axios.Axios = Axios; + +// Factory for creating new instances +axios.create = function create(instanceConfig) { + return createInstance(utils.merge(defaults, instanceConfig)); +}; + +// Expose Cancel & CancelToken +axios.Cancel = require('./cancel/Cancel'); +axios.CancelToken = require('./cancel/CancelToken'); +axios.isCancel = require('./cancel/isCancel'); + +// Expose all/spread +axios.all = function all(promises) { + return Promise.all(promises); +}; +axios.spread = require('./helpers/spread'); + +module.exports = axios; + +// Allow use of default import syntax in TypeScript +module.exports.default = axios; diff --git a/express-server/node_modules/axios/lib/cancel/Cancel.js b/express-server/node_modules/axios/lib/cancel/Cancel.js new file mode 100644 index 00000000..e0de4003 --- /dev/null +++ b/express-server/node_modules/axios/lib/cancel/Cancel.js @@ -0,0 +1,19 @@ +'use strict'; + +/** + * A `Cancel` is an object that is thrown when an operation is canceled. + * + * @class + * @param {string=} message The message. + */ +function Cancel(message) { + this.message = message; +} + +Cancel.prototype.toString = function toString() { + return 'Cancel' + (this.message ? ': ' + this.message : ''); +}; + +Cancel.prototype.__CANCEL__ = true; + +module.exports = Cancel; diff --git a/express-server/node_modules/axios/lib/cancel/CancelToken.js b/express-server/node_modules/axios/lib/cancel/CancelToken.js new file mode 100644 index 00000000..6b46e666 --- /dev/null +++ b/express-server/node_modules/axios/lib/cancel/CancelToken.js @@ -0,0 +1,57 @@ +'use strict'; + +var Cancel = require('./Cancel'); + +/** + * A `CancelToken` is an object that can be used to request cancellation of an operation. + * + * @class + * @param {Function} executor The executor function. + */ +function CancelToken(executor) { + if (typeof executor !== 'function') { + throw new TypeError('executor must be a function.'); + } + + var resolvePromise; + this.promise = new Promise(function promiseExecutor(resolve) { + resolvePromise = resolve; + }); + + var token = this; + executor(function cancel(message) { + if (token.reason) { + // Cancellation has already been requested + return; + } + + token.reason = new Cancel(message); + resolvePromise(token.reason); + }); +} + +/** + * Throws a `Cancel` if cancellation has been requested. + */ +CancelToken.prototype.throwIfRequested = function throwIfRequested() { + if (this.reason) { + throw this.reason; + } +}; + +/** + * Returns an object that contains a new `CancelToken` and a function that, when called, + * cancels the `CancelToken`. + */ +CancelToken.source = function source() { + var cancel; + var token = new CancelToken(function executor(c) { + cancel = c; + }); + return { + token: token, + cancel: cancel + }; +}; + +module.exports = CancelToken; diff --git a/express-server/node_modules/axios/lib/cancel/isCancel.js b/express-server/node_modules/axios/lib/cancel/isCancel.js new file mode 100644 index 00000000..051f3ae4 --- /dev/null +++ b/express-server/node_modules/axios/lib/cancel/isCancel.js @@ -0,0 +1,5 @@ +'use strict'; + +module.exports = function isCancel(value) { + return !!(value && value.__CANCEL__); +}; diff --git a/express-server/node_modules/axios/lib/core/Axios.js b/express-server/node_modules/axios/lib/core/Axios.js new file mode 100644 index 00000000..d21edbc0 --- /dev/null +++ b/express-server/node_modules/axios/lib/core/Axios.js @@ -0,0 +1,79 @@ +'use strict'; + +var defaults = require('./../defaults'); +var utils = require('./../utils'); +var InterceptorManager = require('./InterceptorManager'); +var dispatchRequest = require('./dispatchRequest'); + +/** + * Create a new instance of Axios + * + * @param {Object} instanceConfig The default config for the instance + */ +function Axios(instanceConfig) { + this.defaults = instanceConfig; + this.interceptors = { + request: new InterceptorManager(), + response: new InterceptorManager() + }; +} + +/** + * Dispatch a request + * + * @param {Object} config The config specific for this request (merged with this.defaults) + */ +Axios.prototype.request = function request(config) { + /*eslint no-param-reassign:0*/ + // Allow for axios('example/url'[, config]) a la fetch API + if (typeof config === 'string') { + config = utils.merge({ + url: arguments[0] + }, arguments[1]); + } + + config = utils.merge(defaults, {method: 'get'}, this.defaults, config); + config.method = config.method.toLowerCase(); + + // Hook up interceptors middleware + var chain = [dispatchRequest, undefined]; + var promise = Promise.resolve(config); + + this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { + chain.unshift(interceptor.fulfilled, interceptor.rejected); + }); + + this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) { + chain.push(interceptor.fulfilled, interceptor.rejected); + }); + + while (chain.length) { + promise = promise.then(chain.shift(), chain.shift()); + } + + return promise; +}; + +// Provide aliases for supported request methods +utils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) { + /*eslint func-names:0*/ + Axios.prototype[method] = function(url, config) { + return this.request(utils.merge(config || {}, { + method: method, + url: url + })); + }; +}); + +utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { + /*eslint func-names:0*/ + Axios.prototype[method] = function(url, data, config) { + return this.request(utils.merge(config || {}, { + method: method, + url: url, + data: data + })); + }; +}); + +module.exports = Axios; diff --git a/express-server/node_modules/axios/lib/core/InterceptorManager.js b/express-server/node_modules/axios/lib/core/InterceptorManager.js new file mode 100644 index 00000000..50d667bb --- /dev/null +++ b/express-server/node_modules/axios/lib/core/InterceptorManager.js @@ -0,0 +1,52 @@ +'use strict'; + +var utils = require('./../utils'); + +function InterceptorManager() { + this.handlers = []; +} + +/** + * Add a new interceptor to the stack + * + * @param {Function} fulfilled The function to handle `then` for a `Promise` + * @param {Function} rejected The function to handle `reject` for a `Promise` + * + * @return {Number} An ID used to remove interceptor later + */ +InterceptorManager.prototype.use = function use(fulfilled, rejected) { + this.handlers.push({ + fulfilled: fulfilled, + rejected: rejected + }); + return this.handlers.length - 1; +}; + +/** + * Remove an interceptor from the stack + * + * @param {Number} id The ID that was returned by `use` + */ +InterceptorManager.prototype.eject = function eject(id) { + if (this.handlers[id]) { + this.handlers[id] = null; + } +}; + +/** + * Iterate over all the registered interceptors + * + * This method is particularly useful for skipping over any + * interceptors that may have become `null` calling `eject`. + * + * @param {Function} fn The function to call for each interceptor + */ +InterceptorManager.prototype.forEach = function forEach(fn) { + utils.forEach(this.handlers, function forEachHandler(h) { + if (h !== null) { + fn(h); + } + }); +}; + +module.exports = InterceptorManager; diff --git a/express-server/node_modules/axios/lib/core/README.md b/express-server/node_modules/axios/lib/core/README.md new file mode 100644 index 00000000..253bc486 --- /dev/null +++ b/express-server/node_modules/axios/lib/core/README.md @@ -0,0 +1,7 @@ +# axios // core + +The modules found in `core/` should be modules that are specific to the domain logic of axios. These modules would most likely not make sense to be consumed outside of the axios module, as their logic is too specific. Some examples of core modules are: + +- Dispatching requests +- Managing interceptors +- Handling config diff --git a/express-server/node_modules/axios/lib/core/createError.js b/express-server/node_modules/axios/lib/core/createError.js new file mode 100644 index 00000000..933680f6 --- /dev/null +++ b/express-server/node_modules/axios/lib/core/createError.js @@ -0,0 +1,18 @@ +'use strict'; + +var enhanceError = require('./enhanceError'); + +/** + * Create an Error with the specified message, config, error code, request and response. + * + * @param {string} message The error message. + * @param {Object} config The config. + * @param {string} [code] The error code (for example, 'ECONNABORTED'). + * @param {Object} [request] The request. + * @param {Object} [response] The response. + * @returns {Error} The created error. + */ +module.exports = function createError(message, config, code, request, response) { + var error = new Error(message); + return enhanceError(error, config, code, request, response); +}; diff --git a/express-server/node_modules/axios/lib/core/dispatchRequest.js b/express-server/node_modules/axios/lib/core/dispatchRequest.js new file mode 100644 index 00000000..9ea70f22 --- /dev/null +++ b/express-server/node_modules/axios/lib/core/dispatchRequest.js @@ -0,0 +1,86 @@ +'use strict'; + +var utils = require('./../utils'); +var transformData = require('./transformData'); +var isCancel = require('../cancel/isCancel'); +var defaults = require('../defaults'); +var isAbsoluteURL = require('./../helpers/isAbsoluteURL'); +var combineURLs = require('./../helpers/combineURLs'); + +/** + * Throws a `Cancel` if cancellation has been requested. + */ +function throwIfCancellationRequested(config) { + if (config.cancelToken) { + config.cancelToken.throwIfRequested(); + } +} + +/** + * Dispatch a request to the server using the configured adapter. + * + * @param {object} config The config that is to be used for the request + * @returns {Promise} The Promise to be fulfilled + */ +module.exports = function dispatchRequest(config) { + throwIfCancellationRequested(config); + + // Support baseURL config + if (config.baseURL && !isAbsoluteURL(config.url)) { + config.url = combineURLs(config.baseURL, config.url); + } + + // Ensure headers exist + config.headers = config.headers || {}; + + // Transform request data + config.data = transformData( + config.data, + config.headers, + config.transformRequest + ); + + // Flatten headers + config.headers = utils.merge( + config.headers.common || {}, + config.headers[config.method] || {}, + config.headers || {} + ); + + utils.forEach( + ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], + function cleanHeaderConfig(method) { + delete config.headers[method]; + } + ); + + var adapter = config.adapter || defaults.adapter; + + return adapter(config).then(function onAdapterResolution(response) { + throwIfCancellationRequested(config); + + // Transform response data + response.data = transformData( + response.data, + response.headers, + config.transformResponse + ); + + return response; + }, function onAdapterRejection(reason) { + if (!isCancel(reason)) { + throwIfCancellationRequested(config); + + // Transform response data + if (reason && reason.response) { + reason.response.data = transformData( + reason.response.data, + reason.response.headers, + config.transformResponse + ); + } + } + + return Promise.reject(reason); + }); +}; diff --git a/express-server/node_modules/axios/lib/core/enhanceError.js b/express-server/node_modules/axios/lib/core/enhanceError.js new file mode 100644 index 00000000..8dfd5b45 --- /dev/null +++ b/express-server/node_modules/axios/lib/core/enhanceError.js @@ -0,0 +1,21 @@ +'use strict'; + +/** + * Update an Error with the specified config, error code, and response. + * + * @param {Error} error The error to update. + * @param {Object} config The config. + * @param {string} [code] The error code (for example, 'ECONNABORTED'). + * @param {Object} [request] The request. + * @param {Object} [response] The response. + * @returns {Error} The error. + */ +module.exports = function enhanceError(error, config, code, request, response) { + error.config = config; + if (code) { + error.code = code; + } + error.request = request; + error.response = response; + return error; +}; diff --git a/express-server/node_modules/axios/lib/core/settle.js b/express-server/node_modules/axios/lib/core/settle.js new file mode 100644 index 00000000..8db5e23c --- /dev/null +++ b/express-server/node_modules/axios/lib/core/settle.js @@ -0,0 +1,26 @@ +'use strict'; + +var createError = require('./createError'); + +/** + * Resolve or reject a Promise based on response status. + * + * @param {Function} resolve A function that resolves the promise. + * @param {Function} reject A function that rejects the promise. + * @param {object} response The response. + */ +module.exports = function settle(resolve, reject, response) { + var validateStatus = response.config.validateStatus; + // Note: status is not exposed by XDomainRequest + if (!response.status || !validateStatus || validateStatus(response.status)) { + resolve(response); + } else { + reject(createError( + 'Request failed with status code ' + response.status, + response.config, + null, + response.request, + response + )); + } +}; diff --git a/express-server/node_modules/axios/lib/core/transformData.js b/express-server/node_modules/axios/lib/core/transformData.js new file mode 100644 index 00000000..e0653620 --- /dev/null +++ b/express-server/node_modules/axios/lib/core/transformData.js @@ -0,0 +1,20 @@ +'use strict'; + +var utils = require('./../utils'); + +/** + * Transform the data for a request or a response + * + * @param {Object|String} data The data to be transformed + * @param {Array} headers The headers for the request or response + * @param {Array|Function} fns A single function or Array of functions + * @returns {*} The resulting transformed data + */ +module.exports = function transformData(data, headers, fns) { + /*eslint no-param-reassign:0*/ + utils.forEach(fns, function transform(fn) { + data = fn(data, headers); + }); + + return data; +}; diff --git a/express-server/node_modules/axios/lib/defaults.js b/express-server/node_modules/axios/lib/defaults.js new file mode 100644 index 00000000..65a25d51 --- /dev/null +++ b/express-server/node_modules/axios/lib/defaults.js @@ -0,0 +1,96 @@ +'use strict'; + +var utils = require('./utils'); +var normalizeHeaderName = require('./helpers/normalizeHeaderName'); + +var DEFAULT_CONTENT_TYPE = { + 'Content-Type': 'application/x-www-form-urlencoded' +}; + +function setContentTypeIfUnset(headers, value) { + if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) { + headers['Content-Type'] = value; + } +} + +function getDefaultAdapter() { + var adapter; + if (typeof XMLHttpRequest !== 'undefined') { + // For browsers use XHR adapter + adapter = require('./adapters/xhr'); + } else if (typeof process !== 'undefined') { + // For node use HTTP adapter + adapter = require('./adapters/http'); + } + return adapter; +} + +var defaults = { + adapter: getDefaultAdapter(), + + transformRequest: [function transformRequest(data, headers) { + normalizeHeaderName(headers, 'Content-Type'); + if (utils.isFormData(data) || + utils.isArrayBuffer(data) || + utils.isBuffer(data) || + utils.isStream(data) || + utils.isFile(data) || + utils.isBlob(data) + ) { + return data; + } + if (utils.isArrayBufferView(data)) { + return data.buffer; + } + if (utils.isURLSearchParams(data)) { + setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8'); + return data.toString(); + } + if (utils.isObject(data)) { + setContentTypeIfUnset(headers, 'application/json;charset=utf-8'); + return JSON.stringify(data); + } + return data; + }], + + transformResponse: [function transformResponse(data) { + /*eslint no-param-reassign:0*/ + if (typeof data === 'string') { + try { + data = JSON.parse(data); + } catch (e) { /* Ignore */ } + } + return data; + }], + + /** + * A timeout in milliseconds to abort a request. If set to 0 (default) a + * timeout is not created. + */ + timeout: 0, + + xsrfCookieName: 'XSRF-TOKEN', + xsrfHeaderName: 'X-XSRF-TOKEN', + + maxContentLength: -1, + + validateStatus: function validateStatus(status) { + return status >= 200 && status < 300; + } +}; + +defaults.headers = { + common: { + 'Accept': 'application/json, text/plain, */*' + } +}; + +utils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) { + defaults.headers[method] = {}; +}); + +utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { + defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE); +}); + +module.exports = defaults; diff --git a/express-server/node_modules/axios/lib/helpers/README.md b/express-server/node_modules/axios/lib/helpers/README.md new file mode 100644 index 00000000..4ae34193 --- /dev/null +++ b/express-server/node_modules/axios/lib/helpers/README.md @@ -0,0 +1,7 @@ +# axios // helpers + +The modules found in `helpers/` should be generic modules that are _not_ specific to the domain logic of axios. These modules could theoretically be published to npm on their own and consumed by other modules or apps. Some examples of generic modules are things like: + +- Browser polyfills +- Managing cookies +- Parsing HTTP headers diff --git a/express-server/node_modules/axios/lib/helpers/bind.js b/express-server/node_modules/axios/lib/helpers/bind.js new file mode 100644 index 00000000..6147c608 --- /dev/null +++ b/express-server/node_modules/axios/lib/helpers/bind.js @@ -0,0 +1,11 @@ +'use strict'; + +module.exports = function bind(fn, thisArg) { + return function wrap() { + var args = new Array(arguments.length); + for (var i = 0; i < args.length; i++) { + args[i] = arguments[i]; + } + return fn.apply(thisArg, args); + }; +}; diff --git a/express-server/node_modules/axios/lib/helpers/btoa.js b/express-server/node_modules/axios/lib/helpers/btoa.js new file mode 100644 index 00000000..2fe50142 --- /dev/null +++ b/express-server/node_modules/axios/lib/helpers/btoa.js @@ -0,0 +1,36 @@ +'use strict'; + +// btoa polyfill for IE<10 courtesy https://github.com/davidchambers/Base64.js + +var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; + +function E() { + this.message = 'String contains an invalid character'; +} +E.prototype = new Error; +E.prototype.code = 5; +E.prototype.name = 'InvalidCharacterError'; + +function btoa(input) { + var str = String(input); + var output = ''; + for ( + // initialize result and counter + var block, charCode, idx = 0, map = chars; + // if the next str index does not exist: + // change the mapping table to "=" + // check if d has no fractional digits + str.charAt(idx | 0) || (map = '=', idx % 1); + // "8 - idx % 1 * 8" generates the sequence 2, 4, 6, 8 + output += map.charAt(63 & block >> 8 - idx % 1 * 8) + ) { + charCode = str.charCodeAt(idx += 3 / 4); + if (charCode > 0xFF) { + throw new E(); + } + block = block << 8 | charCode; + } + return output; +} + +module.exports = btoa; diff --git a/express-server/node_modules/axios/lib/helpers/buildURL.js b/express-server/node_modules/axios/lib/helpers/buildURL.js new file mode 100644 index 00000000..be83cd00 --- /dev/null +++ b/express-server/node_modules/axios/lib/helpers/buildURL.js @@ -0,0 +1,66 @@ +'use strict'; + +var utils = require('./../utils'); + +function encode(val) { + return encodeURIComponent(val). + replace(/%40/gi, '@'). + replace(/%3A/gi, ':'). + replace(/%24/g, '$'). + replace(/%2C/gi, ','). + replace(/%20/g, '+'). + replace(/%5B/gi, '['). + replace(/%5D/gi, ']'); +} + +/** + * Build a URL by appending params to the end + * + * @param {string} url The base of the url (e.g., http://www.google.com) + * @param {object} [params] The params to be appended + * @returns {string} The formatted url + */ +module.exports = function buildURL(url, params, paramsSerializer) { + /*eslint no-param-reassign:0*/ + if (!params) { + return url; + } + + var serializedParams; + if (paramsSerializer) { + serializedParams = paramsSerializer(params); + } else if (utils.isURLSearchParams(params)) { + serializedParams = params.toString(); + } else { + var parts = []; + + utils.forEach(params, function serialize(val, key) { + if (val === null || typeof val === 'undefined') { + return; + } + + if (utils.isArray(val)) { + key = key + '[]'; + } else { + val = [val]; + } + + utils.forEach(val, function parseValue(v) { + if (utils.isDate(v)) { + v = v.toISOString(); + } else if (utils.isObject(v)) { + v = JSON.stringify(v); + } + parts.push(encode(key) + '=' + encode(v)); + }); + }); + + serializedParams = parts.join('&'); + } + + if (serializedParams) { + url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams; + } + + return url; +}; diff --git a/express-server/node_modules/axios/lib/helpers/combineURLs.js b/express-server/node_modules/axios/lib/helpers/combineURLs.js new file mode 100644 index 00000000..f1b58a58 --- /dev/null +++ b/express-server/node_modules/axios/lib/helpers/combineURLs.js @@ -0,0 +1,14 @@ +'use strict'; + +/** + * Creates a new URL by combining the specified URLs + * + * @param {string} baseURL The base URL + * @param {string} relativeURL The relative URL + * @returns {string} The combined URL + */ +module.exports = function combineURLs(baseURL, relativeURL) { + return relativeURL + ? baseURL.replace(/\/+$/, '') + '/' + relativeURL.replace(/^\/+/, '') + : baseURL; +}; diff --git a/express-server/node_modules/axios/lib/helpers/cookies.js b/express-server/node_modules/axios/lib/helpers/cookies.js new file mode 100644 index 00000000..e45a4f91 --- /dev/null +++ b/express-server/node_modules/axios/lib/helpers/cookies.js @@ -0,0 +1,53 @@ +'use strict'; + +var utils = require('./../utils'); + +module.exports = ( + utils.isStandardBrowserEnv() ? + + // Standard browser envs support document.cookie + (function standardBrowserEnv() { + return { + write: function write(name, value, expires, path, domain, secure) { + var cookie = []; + cookie.push(name + '=' + encodeURIComponent(value)); + + if (utils.isNumber(expires)) { + cookie.push('expires=' + new Date(expires).toGMTString()); + } + + if (utils.isString(path)) { + cookie.push('path=' + path); + } + + if (utils.isString(domain)) { + cookie.push('domain=' + domain); + } + + if (secure === true) { + cookie.push('secure'); + } + + document.cookie = cookie.join('; '); + }, + + read: function read(name) { + var match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)')); + return (match ? decodeURIComponent(match[3]) : null); + }, + + remove: function remove(name) { + this.write(name, '', Date.now() - 86400000); + } + }; + })() : + + // Non standard browser env (web workers, react-native) lack needed support. + (function nonStandardBrowserEnv() { + return { + write: function write() {}, + read: function read() { return null; }, + remove: function remove() {} + }; + })() +); diff --git a/express-server/node_modules/axios/lib/helpers/deprecatedMethod.js b/express-server/node_modules/axios/lib/helpers/deprecatedMethod.js new file mode 100644 index 00000000..ed40965b --- /dev/null +++ b/express-server/node_modules/axios/lib/helpers/deprecatedMethod.js @@ -0,0 +1,24 @@ +'use strict'; + +/*eslint no-console:0*/ + +/** + * Supply a warning to the developer that a method they are using + * has been deprecated. + * + * @param {string} method The name of the deprecated method + * @param {string} [instead] The alternate method to use if applicable + * @param {string} [docs] The documentation URL to get further details + */ +module.exports = function deprecatedMethod(method, instead, docs) { + try { + console.warn( + 'DEPRECATED method `' + method + '`.' + + (instead ? ' Use `' + instead + '` instead.' : '') + + ' This method will be removed in a future release.'); + + if (docs) { + console.warn('For more information about usage see ' + docs); + } + } catch (e) { /* Ignore */ } +}; diff --git a/express-server/node_modules/axios/lib/helpers/isAbsoluteURL.js b/express-server/node_modules/axios/lib/helpers/isAbsoluteURL.js new file mode 100644 index 00000000..d33e9927 --- /dev/null +++ b/express-server/node_modules/axios/lib/helpers/isAbsoluteURL.js @@ -0,0 +1,14 @@ +'use strict'; + +/** + * Determines whether the specified URL is absolute + * + * @param {string} url The URL to test + * @returns {boolean} True if the specified URL is absolute, otherwise false + */ +module.exports = function isAbsoluteURL(url) { + // A URL is considered absolute if it begins with "://" or "//" (protocol-relative URL). + // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed + // by any combination of letters, digits, plus, period, or hyphen. + return /^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(url); +}; diff --git a/express-server/node_modules/axios/lib/helpers/isURLSameOrigin.js b/express-server/node_modules/axios/lib/helpers/isURLSameOrigin.js new file mode 100644 index 00000000..e292745f --- /dev/null +++ b/express-server/node_modules/axios/lib/helpers/isURLSameOrigin.js @@ -0,0 +1,68 @@ +'use strict'; + +var utils = require('./../utils'); + +module.exports = ( + utils.isStandardBrowserEnv() ? + + // Standard browser envs have full support of the APIs needed to test + // whether the request URL is of the same origin as current location. + (function standardBrowserEnv() { + var msie = /(msie|trident)/i.test(navigator.userAgent); + var urlParsingNode = document.createElement('a'); + var originURL; + + /** + * Parse a URL to discover it's components + * + * @param {String} url The URL to be parsed + * @returns {Object} + */ + function resolveURL(url) { + var href = url; + + if (msie) { + // IE needs attribute set twice to normalize properties + urlParsingNode.setAttribute('href', href); + href = urlParsingNode.href; + } + + urlParsingNode.setAttribute('href', href); + + // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils + return { + href: urlParsingNode.href, + protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '', + host: urlParsingNode.host, + search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '', + hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '', + hostname: urlParsingNode.hostname, + port: urlParsingNode.port, + pathname: (urlParsingNode.pathname.charAt(0) === '/') ? + urlParsingNode.pathname : + '/' + urlParsingNode.pathname + }; + } + + originURL = resolveURL(window.location.href); + + /** + * Determine if a URL shares the same origin as the current location + * + * @param {String} requestURL The URL to test + * @returns {boolean} True if URL shares the same origin, otherwise false + */ + return function isURLSameOrigin(requestURL) { + var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL; + return (parsed.protocol === originURL.protocol && + parsed.host === originURL.host); + }; + })() : + + // Non standard browser envs (web workers, react-native) lack needed support. + (function nonStandardBrowserEnv() { + return function isURLSameOrigin() { + return true; + }; + })() +); diff --git a/express-server/node_modules/axios/lib/helpers/normalizeHeaderName.js b/express-server/node_modules/axios/lib/helpers/normalizeHeaderName.js new file mode 100644 index 00000000..738c9fe4 --- /dev/null +++ b/express-server/node_modules/axios/lib/helpers/normalizeHeaderName.js @@ -0,0 +1,12 @@ +'use strict'; + +var utils = require('../utils'); + +module.exports = function normalizeHeaderName(headers, normalizedName) { + utils.forEach(headers, function processHeader(value, name) { + if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) { + headers[normalizedName] = value; + delete headers[name]; + } + }); +}; diff --git a/express-server/node_modules/axios/lib/helpers/parseHeaders.js b/express-server/node_modules/axios/lib/helpers/parseHeaders.js new file mode 100644 index 00000000..8af2cc7f --- /dev/null +++ b/express-server/node_modules/axios/lib/helpers/parseHeaders.js @@ -0,0 +1,53 @@ +'use strict'; + +var utils = require('./../utils'); + +// Headers whose duplicates are ignored by node +// c.f. https://nodejs.org/api/http.html#http_message_headers +var ignoreDuplicateOf = [ + 'age', 'authorization', 'content-length', 'content-type', 'etag', + 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since', + 'last-modified', 'location', 'max-forwards', 'proxy-authorization', + 'referer', 'retry-after', 'user-agent' +]; + +/** + * Parse headers into an object + * + * ``` + * Date: Wed, 27 Aug 2014 08:58:49 GMT + * Content-Type: application/json + * Connection: keep-alive + * Transfer-Encoding: chunked + * ``` + * + * @param {String} headers Headers needing to be parsed + * @returns {Object} Headers parsed into an object + */ +module.exports = function parseHeaders(headers) { + var parsed = {}; + var key; + var val; + var i; + + if (!headers) { return parsed; } + + utils.forEach(headers.split('\n'), function parser(line) { + i = line.indexOf(':'); + key = utils.trim(line.substr(0, i)).toLowerCase(); + val = utils.trim(line.substr(i + 1)); + + if (key) { + if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) { + return; + } + if (key === 'set-cookie') { + parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]); + } else { + parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val; + } + } + }); + + return parsed; +}; diff --git a/express-server/node_modules/axios/lib/helpers/spread.js b/express-server/node_modules/axios/lib/helpers/spread.js new file mode 100644 index 00000000..25e3cdd3 --- /dev/null +++ b/express-server/node_modules/axios/lib/helpers/spread.js @@ -0,0 +1,27 @@ +'use strict'; + +/** + * Syntactic sugar for invoking a function and expanding an array for arguments. + * + * Common use case would be to use `Function.prototype.apply`. + * + * ```js + * function f(x, y, z) {} + * var args = [1, 2, 3]; + * f.apply(null, args); + * ``` + * + * With `spread` this example can be re-written. + * + * ```js + * spread(function(x, y, z) {})([1, 2, 3]); + * ``` + * + * @param {Function} callback + * @returns {Function} + */ +module.exports = function spread(callback) { + return function wrap(arr) { + return callback.apply(null, arr); + }; +}; diff --git a/express-server/node_modules/axios/lib/utils.js b/express-server/node_modules/axios/lib/utils.js new file mode 100644 index 00000000..b3fd865b --- /dev/null +++ b/express-server/node_modules/axios/lib/utils.js @@ -0,0 +1,303 @@ +'use strict'; + +var bind = require('./helpers/bind'); +var isBuffer = require('is-buffer'); + +/*global toString:true*/ + +// utils is a library of generic helper functions non-specific to axios + +var toString = Object.prototype.toString; + +/** + * Determine if a value is an Array + * + * @param {Object} val The value to test + * @returns {boolean} True if value is an Array, otherwise false + */ +function isArray(val) { + return toString.call(val) === '[object Array]'; +} + +/** + * Determine if a value is an ArrayBuffer + * + * @param {Object} val The value to test + * @returns {boolean} True if value is an ArrayBuffer, otherwise false + */ +function isArrayBuffer(val) { + return toString.call(val) === '[object ArrayBuffer]'; +} + +/** + * Determine if a value is a FormData + * + * @param {Object} val The value to test + * @returns {boolean} True if value is an FormData, otherwise false + */ +function isFormData(val) { + return (typeof FormData !== 'undefined') && (val instanceof FormData); +} + +/** + * Determine if a value is a view on an ArrayBuffer + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false + */ +function isArrayBufferView(val) { + var result; + if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) { + result = ArrayBuffer.isView(val); + } else { + result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer); + } + return result; +} + +/** + * Determine if a value is a String + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a String, otherwise false + */ +function isString(val) { + return typeof val === 'string'; +} + +/** + * Determine if a value is a Number + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a Number, otherwise false + */ +function isNumber(val) { + return typeof val === 'number'; +} + +/** + * Determine if a value is undefined + * + * @param {Object} val The value to test + * @returns {boolean} True if the value is undefined, otherwise false + */ +function isUndefined(val) { + return typeof val === 'undefined'; +} + +/** + * Determine if a value is an Object + * + * @param {Object} val The value to test + * @returns {boolean} True if value is an Object, otherwise false + */ +function isObject(val) { + return val !== null && typeof val === 'object'; +} + +/** + * Determine if a value is a Date + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a Date, otherwise false + */ +function isDate(val) { + return toString.call(val) === '[object Date]'; +} + +/** + * Determine if a value is a File + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a File, otherwise false + */ +function isFile(val) { + return toString.call(val) === '[object File]'; +} + +/** + * Determine if a value is a Blob + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a Blob, otherwise false + */ +function isBlob(val) { + return toString.call(val) === '[object Blob]'; +} + +/** + * Determine if a value is a Function + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a Function, otherwise false + */ +function isFunction(val) { + return toString.call(val) === '[object Function]'; +} + +/** + * Determine if a value is a Stream + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a Stream, otherwise false + */ +function isStream(val) { + return isObject(val) && isFunction(val.pipe); +} + +/** + * Determine if a value is a URLSearchParams object + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a URLSearchParams object, otherwise false + */ +function isURLSearchParams(val) { + return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams; +} + +/** + * Trim excess whitespace off the beginning and end of a string + * + * @param {String} str The String to trim + * @returns {String} The String freed of excess whitespace + */ +function trim(str) { + return str.replace(/^\s*/, '').replace(/\s*$/, ''); +} + +/** + * Determine if we're running in a standard browser environment + * + * This allows axios to run in a web worker, and react-native. + * Both environments support XMLHttpRequest, but not fully standard globals. + * + * web workers: + * typeof window -> undefined + * typeof document -> undefined + * + * react-native: + * navigator.product -> 'ReactNative' + */ +function isStandardBrowserEnv() { + if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') { + return false; + } + return ( + typeof window !== 'undefined' && + typeof document !== 'undefined' + ); +} + +/** + * Iterate over an Array or an Object invoking a function for each item. + * + * If `obj` is an Array callback will be called passing + * the value, index, and complete array for each item. + * + * If 'obj' is an Object callback will be called passing + * the value, key, and complete object for each property. + * + * @param {Object|Array} obj The object to iterate + * @param {Function} fn The callback to invoke for each item + */ +function forEach(obj, fn) { + // Don't bother if no value provided + if (obj === null || typeof obj === 'undefined') { + return; + } + + // Force an array if not already something iterable + if (typeof obj !== 'object') { + /*eslint no-param-reassign:0*/ + obj = [obj]; + } + + if (isArray(obj)) { + // Iterate over array values + for (var i = 0, l = obj.length; i < l; i++) { + fn.call(null, obj[i], i, obj); + } + } else { + // Iterate over object keys + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + fn.call(null, obj[key], key, obj); + } + } + } +} + +/** + * Accepts varargs expecting each argument to be an object, then + * immutably merges the properties of each object and returns result. + * + * When multiple objects contain the same key the later object in + * the arguments list will take precedence. + * + * Example: + * + * ```js + * var result = merge({foo: 123}, {foo: 456}); + * console.log(result.foo); // outputs 456 + * ``` + * + * @param {Object} obj1 Object to merge + * @returns {Object} Result of all merge properties + */ +function merge(/* obj1, obj2, obj3, ... */) { + var result = {}; + function assignValue(val, key) { + if (typeof result[key] === 'object' && typeof val === 'object') { + result[key] = merge(result[key], val); + } else { + result[key] = val; + } + } + + for (var i = 0, l = arguments.length; i < l; i++) { + forEach(arguments[i], assignValue); + } + return result; +} + +/** + * Extends object a by mutably adding to it the properties of object b. + * + * @param {Object} a The object to be extended + * @param {Object} b The object to copy properties from + * @param {Object} thisArg The object to bind function to + * @return {Object} The resulting value of object a + */ +function extend(a, b, thisArg) { + forEach(b, function assignValue(val, key) { + if (thisArg && typeof val === 'function') { + a[key] = bind(val, thisArg); + } else { + a[key] = val; + } + }); + return a; +} + +module.exports = { + isArray: isArray, + isArrayBuffer: isArrayBuffer, + isBuffer: isBuffer, + isFormData: isFormData, + isArrayBufferView: isArrayBufferView, + isString: isString, + isNumber: isNumber, + isObject: isObject, + isUndefined: isUndefined, + isDate: isDate, + isFile: isFile, + isBlob: isBlob, + isFunction: isFunction, + isStream: isStream, + isURLSearchParams: isURLSearchParams, + isStandardBrowserEnv: isStandardBrowserEnv, + forEach: forEach, + merge: merge, + extend: extend, + trim: trim +}; diff --git a/express-server/node_modules/axios/package.json b/express-server/node_modules/axios/package.json new file mode 100644 index 00000000..27aa3638 --- /dev/null +++ b/express-server/node_modules/axios/package.json @@ -0,0 +1,113 @@ +{ + "_from": "axios@^0.18.0", + "_id": "axios@0.18.0", + "_inBundle": false, + "_integrity": "sha1-MtU+SFHv3AoRmTts0AB4nXDAUQI=", + "_location": "/axios", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "axios@^0.18.0", + "name": "axios", + "escapedName": "axios", + "rawSpec": "^0.18.0", + "saveSpec": null, + "fetchSpec": "^0.18.0" + }, + "_requiredBy": [ + "/gcp-metadata", + "/google-auth-library", + "/googleapis-common", + "/gtoken" + ], + "_resolved": "http://registry.npmjs.org/axios/-/axios-0.18.0.tgz", + "_shasum": "32d53e4851efdc0a11993b6cd000789d70c05102", + "_spec": "axios@^0.18.0", + "_where": "C:\\Users\\Georg\\GitHub\\SmartShopper\\express-server\\node_modules\\google-auth-library", + "author": { + "name": "Matt Zabriskie" + }, + "browser": { + "./lib/adapters/http.js": "./lib/adapters/xhr.js" + }, + "bugs": { + "url": "https://github.com/axios/axios/issues" + }, + "bundleDependencies": false, + "bundlesize": [ + { + "path": "./dist/axios.min.js", + "threshold": "5kB" + } + ], + "dependencies": { + "follow-redirects": "^1.3.0", + "is-buffer": "^1.1.5" + }, + "deprecated": false, + "description": "Promise based HTTP client for the browser and node.js", + "devDependencies": { + "bundlesize": "^0.5.7", + "coveralls": "^2.11.9", + "es6-promise": "^4.0.5", + "grunt": "^1.0.1", + "grunt-banner": "^0.6.0", + "grunt-cli": "^1.2.0", + "grunt-contrib-clean": "^1.0.0", + "grunt-contrib-nodeunit": "^1.0.0", + "grunt-contrib-watch": "^1.0.0", + "grunt-eslint": "^19.0.0", + "grunt-karma": "^2.0.0", + "grunt-ts": "^6.0.0-beta.3", + "grunt-webpack": "^1.0.18", + "istanbul-instrumenter-loader": "^1.0.0", + "jasmine-core": "^2.4.1", + "karma": "^1.3.0", + "karma-chrome-launcher": "^2.0.0", + "karma-coverage": "^1.0.0", + "karma-firefox-launcher": "^1.0.0", + "karma-jasmine": "^1.0.2", + "karma-jasmine-ajax": "^0.1.13", + "karma-opera-launcher": "^1.0.0", + "karma-safari-launcher": "^1.0.0", + "karma-sauce-launcher": "^1.1.0", + "karma-sinon": "^1.0.5", + "karma-sourcemap-loader": "^0.3.7", + "karma-webpack": "^1.7.0", + "load-grunt-tasks": "^3.5.2", + "minimist": "^1.2.0", + "sinon": "^1.17.4", + "typescript": "^2.0.3", + "url-search-params": "^0.6.1", + "webpack": "^1.13.1", + "webpack-dev-server": "^1.14.1" + }, + "homepage": "https://github.com/axios/axios", + "keywords": [ + "xhr", + "http", + "ajax", + "promise", + "node" + ], + "license": "MIT", + "main": "index.js", + "name": "axios", + "repository": { + "type": "git", + "url": "git+https://github.com/axios/axios.git" + }, + "scripts": { + "build": "NODE_ENV=production grunt build", + "coveralls": "cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js", + "examples": "node ./examples/server.js", + "postversion": "git push && git push --tags", + "preversion": "npm test", + "start": "node ./sandbox/server.js", + "test": "grunt test && bundlesize", + "version": "npm run build && grunt version && git add -A dist && git add CHANGELOG.md bower.json package.json" + }, + "typings": "./index.d.ts", + "version": "0.18.0" +} diff --git a/express-server/node_modules/buffer-equal-constant-time/.npmignore b/express-server/node_modules/buffer-equal-constant-time/.npmignore new file mode 100644 index 00000000..34e4f5c2 --- /dev/null +++ b/express-server/node_modules/buffer-equal-constant-time/.npmignore @@ -0,0 +1,2 @@ +.*.sw[mnop] +node_modules/ diff --git a/express-server/node_modules/buffer-equal-constant-time/.travis.yml b/express-server/node_modules/buffer-equal-constant-time/.travis.yml new file mode 100644 index 00000000..78e1c014 --- /dev/null +++ b/express-server/node_modules/buffer-equal-constant-time/.travis.yml @@ -0,0 +1,4 @@ +language: node_js +node_js: +- "0.11" +- "0.10" diff --git a/express-server/node_modules/buffer-equal-constant-time/LICENSE.txt b/express-server/node_modules/buffer-equal-constant-time/LICENSE.txt new file mode 100644 index 00000000..9a064f3f --- /dev/null +++ b/express-server/node_modules/buffer-equal-constant-time/LICENSE.txt @@ -0,0 +1,12 @@ +Copyright (c) 2013, GoInstant Inc., a salesforce.com company +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +* Neither the name of salesforce.com, nor GoInstant, nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/express-server/node_modules/buffer-equal-constant-time/README.md b/express-server/node_modules/buffer-equal-constant-time/README.md new file mode 100644 index 00000000..4f227f58 --- /dev/null +++ b/express-server/node_modules/buffer-equal-constant-time/README.md @@ -0,0 +1,50 @@ +# buffer-equal-constant-time + +Constant-time `Buffer` comparison for node.js. Should work with browserify too. + +[![Build Status](https://travis-ci.org/goinstant/buffer-equal-constant-time.png?branch=master)](https://travis-ci.org/goinstant/buffer-equal-constant-time) + +```sh + npm install buffer-equal-constant-time +``` + +# Usage + +```js + var bufferEq = require('buffer-equal-constant-time'); + + var a = new Buffer('asdf'); + var b = new Buffer('asdf'); + if (bufferEq(a,b)) { + // the same! + } else { + // different in at least one byte! + } +``` + +If you'd like to install an `.equal()` method onto the node.js `Buffer` and +`SlowBuffer` prototypes: + +```js + require('buffer-equal-constant-time').install(); + + var a = new Buffer('asdf'); + var b = new Buffer('asdf'); + if (a.equal(b)) { + // the same! + } else { + // different in at least one byte! + } +``` + +To get rid of the installed `.equal()` method, call `.restore()`: + +```js + require('buffer-equal-constant-time').restore(); +``` + +# Legal + +© 2013 GoInstant Inc., a salesforce.com company + +Licensed under the BSD 3-clause license. diff --git a/express-server/node_modules/buffer-equal-constant-time/index.js b/express-server/node_modules/buffer-equal-constant-time/index.js new file mode 100644 index 00000000..5462c1f8 --- /dev/null +++ b/express-server/node_modules/buffer-equal-constant-time/index.js @@ -0,0 +1,41 @@ +/*jshint node:true */ +'use strict'; +var Buffer = require('buffer').Buffer; // browserify +var SlowBuffer = require('buffer').SlowBuffer; + +module.exports = bufferEq; + +function bufferEq(a, b) { + + // shortcutting on type is necessary for correctness + if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) { + return false; + } + + // buffer sizes should be well-known information, so despite this + // shortcutting, it doesn't leak any information about the *contents* of the + // buffers. + if (a.length !== b.length) { + return false; + } + + var c = 0; + for (var i = 0; i < a.length; i++) { + /*jshint bitwise:false */ + c |= a[i] ^ b[i]; // XOR + } + return c === 0; +} + +bufferEq.install = function() { + Buffer.prototype.equal = SlowBuffer.prototype.equal = function equal(that) { + return bufferEq(this, that); + }; +}; + +var origBufEqual = Buffer.prototype.equal; +var origSlowBufEqual = SlowBuffer.prototype.equal; +bufferEq.restore = function() { + Buffer.prototype.equal = origBufEqual; + SlowBuffer.prototype.equal = origSlowBufEqual; +}; diff --git a/express-server/node_modules/buffer-equal-constant-time/package.json b/express-server/node_modules/buffer-equal-constant-time/package.json new file mode 100644 index 00000000..f3e1d63e --- /dev/null +++ b/express-server/node_modules/buffer-equal-constant-time/package.json @@ -0,0 +1,55 @@ +{ + "_from": "buffer-equal-constant-time@1.0.1", + "_id": "buffer-equal-constant-time@1.0.1", + "_inBundle": false, + "_integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=", + "_location": "/buffer-equal-constant-time", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "buffer-equal-constant-time@1.0.1", + "name": "buffer-equal-constant-time", + "escapedName": "buffer-equal-constant-time", + "rawSpec": "1.0.1", + "saveSpec": null, + "fetchSpec": "1.0.1" + }, + "_requiredBy": [ + "/jwa" + ], + "_resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "_shasum": "f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819", + "_spec": "buffer-equal-constant-time@1.0.1", + "_where": "C:\\Users\\Georg\\GitHub\\SmartShopper\\express-server\\node_modules\\jwa", + "author": { + "name": "GoInstant Inc., a salesforce.com company" + }, + "bugs": { + "url": "https://github.com/goinstant/buffer-equal-constant-time/issues" + }, + "bundleDependencies": false, + "deprecated": false, + "description": "Constant-time comparison of Buffers", + "devDependencies": { + "mocha": "~1.15.1" + }, + "homepage": "https://github.com/goinstant/buffer-equal-constant-time#readme", + "keywords": [ + "buffer", + "equal", + "constant-time", + "crypto" + ], + "license": "BSD-3-Clause", + "main": "index.js", + "name": "buffer-equal-constant-time", + "repository": { + "type": "git", + "url": "git+ssh://git@github.com/goinstant/buffer-equal-constant-time.git" + }, + "scripts": { + "test": "mocha test.js" + }, + "version": "1.0.1" +} diff --git a/express-server/node_modules/buffer-equal-constant-time/test.js b/express-server/node_modules/buffer-equal-constant-time/test.js new file mode 100644 index 00000000..0bc972d8 --- /dev/null +++ b/express-server/node_modules/buffer-equal-constant-time/test.js @@ -0,0 +1,42 @@ +/*jshint node:true */ +'use strict'; + +var bufferEq = require('./index'); +var assert = require('assert'); + +describe('buffer-equal-constant-time', function() { + var a = new Buffer('asdfasdf123456'); + var b = new Buffer('asdfasdf123456'); + var c = new Buffer('asdfasdf'); + + describe('bufferEq', function() { + it('says a == b', function() { + assert.strictEqual(bufferEq(a, b), true); + }); + + it('says a != c', function() { + assert.strictEqual(bufferEq(a, c), false); + }); + }); + + describe('install/restore', function() { + before(function() { + bufferEq.install(); + }); + after(function() { + bufferEq.restore(); + }); + + it('installed an .equal method', function() { + var SlowBuffer = require('buffer').SlowBuffer; + assert.ok(Buffer.prototype.equal); + assert.ok(SlowBuffer.prototype.equal); + }); + + it('infected existing Buffers', function() { + assert.strictEqual(a.equal(b), true); + assert.strictEqual(a.equal(c), false); + }); + }); + +}); diff --git a/express-server/node_modules/cookie-session/HISTORY.md b/express-server/node_modules/cookie-session/HISTORY.md new file mode 100644 index 00000000..b75a4a0c --- /dev/null +++ b/express-server/node_modules/cookie-session/HISTORY.md @@ -0,0 +1,129 @@ +2.0.0-beta.3 / 2017-10-13 +========================= + + * deps: cookies@0.7.1 + - deps: depd@~1.1.1 + - deps: keygrip@~1.0.2 + * deps: debug@3.1.0 + - Add `DEBUG_HIDE_DATE` + - Add 256 color mode support + - Enable / disable namespaces dynamically + - Make millisecond timer namespace-specific + - Remove `DEBUG_FD` support + - Use `Date#toISOString()` when output is not a TTY + * deps: safe-buffer@5.1.1 + +2.0.0-beta.2 / 2017-05-23 +========================= + + * Create new session for all types of invalid sessions + * Use `safe-buffer` for improved Buffer API + * deps: debug@2.6.8 + - Fix `DEBUG_MAX_ARRAY_LENGTH` + - deps: ms@2.0.0 + +2.0.0-beta.1 / 2017-02-19 +========================== + + * Drop support for Node.js 0.8 + * deps: cookies@0.7.0 + - Add `sameSite` option for SameSite cookie support + - pref: enable strict mode + +2.0.0-alpha.3 / 2017-02-12 +========================== + + * Use `Object.defineProperty` instead of deprecated `__define*__` + * deps: cookies@0.6.2 + - deps: keygrip@~1.0.1 + * deps: debug@2.6.1 + - Allow colors in workers + - Deprecated `DEBUG_FD` environment variable set to `3` or higher + - Fix error when running under React Native + - Use same color for same namespace + - deps: ms@0.7.2 + +2.0.0-alpha.2 / 2016-11-10 +========================== + + * deps: cookies@0.6.1 + * deps: debug@2.3.2 + - Fix error when running under React Native + - deps: ms@0.7.2 + +2.0.0-alpha.1 / 2015-10-11 +========================== + + * Change default cookie name to `session` + * Change `.populated` to `.isPopulated` + * Remove the `key` option; use `name` instead + * Save all enumerable properties on `req.session` + - Including `_`-prefixed properties + * perf: reduce the scope of try-catch deopt + * deps: cookies@0.5.1 + - Throw on invalid values provided to `Cookie` constructor + * deps: on-headers@~1.0.1 + - perf: enable strict mode + +1.3.2 / 2017-09-24 +================== + + * deps: debug@2.6.9 + +1.3.1 / 2017-08-27 +================== + + * deps: cookies@0.7.1 + - deps: depd@~1.1.1 + - deps: keygrip@~1.0.2 + +1.3.0 / 2017-08-03 +================== + + * deps: cookies@0.7.0 + - Add `sameSite` option for SameSite cookie support + - Throw on invalid values provided to `Cookie` constructor + - deps: keygrip@~1.0.1 + - pref: enable strict mode + * deps: debug@2.6.8 + - Allow colors in workers + - Deprecate `DEBUG_FD` environment variable set to 3 or higher + - Fix error when running under React Native + - Use same color for same namespace + - deps: ms@2.0.0 + * deps: on-headers@~1.0.1 + - perf: enable strict mode + +1.2.0 / 2015-07-01 +================== + + * Make `isNew` non-enumerable and non-writeable + * Make `req.sessionOptions` a shallow clone to override per-request + * deps: debug@~2.2.0 + - Fix high intensity foreground color for bold + - deps: ms@0.7.0 + * perf: enable strict mode + * perf: remove argument reassignments + +1.1.0 / 2014-11-09 +================== + + * Fix errors setting cookies to be non-fatal + * Use `on-headers` instead of `writeHead` patching + * deps: cookies@0.5.0 + * deps: debug@~2.1.0 + +1.0.2 / 2014-05-07 +================== + + * Add `name` option + +1.0.1 / 2014-02-24 +================== + + * Fix duplicate `dependencies` in `package.json` + +1.0.0 / 2014-02-23 +================== + + * Initial release diff --git a/express-server/node_modules/cookie-session/LICENSE b/express-server/node_modules/cookie-session/LICENSE new file mode 100644 index 00000000..eb614c5f --- /dev/null +++ b/express-server/node_modules/cookie-session/LICENSE @@ -0,0 +1,23 @@ +(The MIT License) + +Copyright (c) 2013 Jonathan Ong +Copyright (c) 2014-2017 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/express-server/node_modules/cookie-session/README.md b/express-server/node_modules/cookie-session/README.md new file mode 100644 index 00000000..27ac2125 --- /dev/null +++ b/express-server/node_modules/cookie-session/README.md @@ -0,0 +1,252 @@ +# cookie-session + +[![NPM Version][npm-image]][npm-url] +[![NPM Downloads][downloads-image]][downloads-url] +[![Build Status][travis-image]][travis-url] +[![Test Coverage][coveralls-image]][coveralls-url] +[![Gratipay][gratipay-image]][gratipay-url] + +Simple cookie-based session middleware. + +A user session can be stored in two main ways with cookies: on the server or on +the client. This module stores the session data on the client within a cookie, +while a module like [express-session](https://www.npmjs.com/package/express-session) +stores only a session identifier on the client within a cookie and stores the +session data on the server, typically in a database. + +The following points can help you choose which to use: + + * `cookie-session` does not require any database / resources on the server side, + though the total session data cannot exceed the browser's max cookie size. + * `cookie-session` can simplify certain load-balanced scenarios. + * `cookie-session` can be used to store a "light" session and include an identifier + to look up a database-backed secondary store to reduce database lookups. + +## Install + +This is a [Node.js](https://nodejs.org/en/) module available through the +[npm registry](https://www.npmjs.com/). Installation is done using the +[`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally): + +```sh +$ npm install cookie-session +``` + +## API + +```js +var cookieSession = require('cookie-session') +var express = require('express') + +var app = express() + +app.use(cookieSession({ + name: 'session', + keys: [/* secret keys */], + + // Cookie Options + maxAge: 24 * 60 * 60 * 1000 // 24 hours +})) +``` + +### cookieSession(options) + +Create a new cookie session middleware with the provided options. This middleware +will attach the property `session` to `req`, which provides an object representing +the loaded session. This session is either a new session if no valid session was +provided in the request, or a loaded session from the request. + +The middleware will automatically add a `Set-Cookie` header to the response if the +contents of `req.session` were altered. _Note_ that no `Set-Cookie` header will be +in the response (and thus no session created for a specific user) unless there are +contents in the session, so be sure to add something to `req.session` as soon as +you have identifying information to store for the session. + +#### Options + +Cookie session accepts these properties in the options object. + +##### name + +The name of the cookie to set, defaults to `session`. + +##### keys + +The list of keys to use to sign & verify cookie values. Set cookies are always +signed with `keys[0]`, while the other keys are valid for verification, allowing +for key rotation. + +##### secret + +A string which will be used as single key if `keys` is not provided. + +##### Cookie Options + +Other options are passed to `cookies.get()` and `cookies.set()` allowing you +to control security, domain, path, and signing among other settings. + +The options can also contain any of the following (for the full list, see +[cookies module documentation](https://www.npmjs.org/package/cookies#readme): + + - `maxAge`: a number representing the milliseconds from `Date.now()` for expiry + - `expires`: a `Date` object indicating the cookie's expiration date (expires at the end of session by default). + - `path`: a string indicating the path of the cookie (`/` by default). + - `domain`: a string indicating the domain of the cookie (no default). + - `sameSite`: a boolean or string indicating whether the cookie is a "same site" cookie (`false` by default). This can be set to `'strict'`, `'lax'`, or `true` (which maps to `'strict'`). + - `secure`: a boolean indicating whether the cookie is only to be sent over HTTPS (`false` by default for HTTP, `true` by default for HTTPS). If this is set to `true` and Node.js is not directly over a TLS connection, be sure to read how to [setup Express behind proxies](https://expressjs.com/en/guide/behind-proxies.html) or the cookie may not ever set correctly. + - `httpOnly`: a boolean indicating whether the cookie is only to be sent over HTTP(S), and not made available to client JavaScript (`true` by default). + - `signed`: a boolean indicating whether the cookie is to be signed (`true` by default). If this is true, another cookie of the same name with the `.sig` suffix appended will also be sent, with a 27-byte url-safe base64 SHA1 value representing the hash of _cookie-name_=_cookie-value_ against the first [Keygrip](https://github.com/expressjs/keygrip) key. This signature key is used to detect tampering the next time a cookie is received. + - `overwrite`: a boolean indicating whether to overwrite previously set cookies of the same name (`true` by default). If this is true, all cookies set during the same request with the same name (regardless of path or domain) are filtered out of the Set-Cookie header when setting this cookie. + +### req.session + +Represents the session for the given request. + +#### .isChanged + +Is `true` if the session has been changed during the request. + +#### .isNew + +Is `true` if the session is new. + +#### .isPopulated + +Determine if the session has been populated with data or is empty. + +### req.sessionOptions + +Represents the session options for the current request. These options are a +shallow clone of what was provided at middleware construction and can be +altered to change cookie setting behavior on a per-request basis. + +### Destroying a session + +To destroy a session simply set it to `null`: + +``` +req.session = null +``` + +## Examples + +### Simple view counter example + +```js +var cookieSession = require('cookie-session') +var express = require('express') + +var app = express() + +app.set('trust proxy', 1) // trust first proxy + +app.use(cookieSession({ + name: 'session', + keys: ['key1', 'key2'] +})) + +app.get('/', function (req, res, next) { + // Update views + req.session.views = (req.session.views || 0) + 1 + + // Write response + res.end(req.session.views + ' views') +}) + +app.listen(3000) +``` + +### Per-user sticky max age + +```js +var cookieSession = require('cookie-session') +var express = require('express') + +var app = express() + +app.set('trust proxy', 1) // trust first proxy + +app.use(cookieSession({ + name: 'session', + keys: ['key1', 'key2'] +})) + +// This allows you to set req.session.maxAge to let certain sessions +// have a different value than the default. +app.use(function (req, res, next) { + req.sessionOptions.maxAge = req.session.maxAge || req.sessionOptions.maxAge + next() +}) + +// ... your logic here ... +``` + +### Extending the session expiration + +This module does not send a `Set-Cookie` header if the contents of the session +have not changed. This means that to extend the expiration of a session in the +user's browser (in response to user activity, for example) some kind of +modification to the session needs be made. + +```js +var cookieSession = require('cookie-session') +var express = require('express') + +var app = express() + +app.use(cookieSession({ + name: 'session', + keys: ['key1', 'key2'] +})) + +// Update a value in the cookie so that the set-cookie will be sent. +// Only changes every minute so that it's not sent with every request. +app.use(function (req, res, next) { + req.session.nowInMinutes = Math.floor(Date.now() / 60e3) + next() +}) + +// ... your logic here ... +``` + +## Usage Limitations + +### Max Cookie Size + +Because the entire session object is encoded and stored in a cookie, it is +possible to exceed the maxium cookie size limits on different browsers. The +[RFC6265 specification](https://tools.ietf.org/html/rfc6265#section-6.1) +recommends that a browser **SHOULD** allow + +> At least 4096 bytes per cookie (as measured by the sum of the length of +> the cookie's name, value, and attributes) + +In practice this limit differs slightly across browsers. See a list of +[browser limits here](http://browsercookielimits.squawky.net/). As a rule +of thumb **don't exceed 4093 bytes per domain**. + +If your session object is large enough to exceed a browser limit when encoded, +in most cases the browser will refuse to store the cookie. This will cause the +following requests from the browser to either a) not have any session +information or b) use old session information that was small enough to not +exceed the cookie limit. + +If you find your session object is hitting these limits, it is best to +consider if data in your session should be loaded from a database on the +server instead of transmitted to/from the browser with every request. Or +move to an [alternative session strategy](https://github.com/expressjs/session#compatible-session-stores) + +## License + +[MIT](LICENSE) + +[npm-image]: https://img.shields.io/npm/v/cookie-session.svg +[npm-url]: https://npmjs.org/package/cookie-session +[travis-image]: https://img.shields.io/travis/expressjs/cookie-session/master.svg +[travis-url]: https://travis-ci.org/expressjs/cookie-session +[coveralls-image]: https://img.shields.io/coveralls/expressjs/cookie-session.svg +[coveralls-url]: https://coveralls.io/r/expressjs/cookie-session?branch=master +[downloads-image]: https://img.shields.io/npm/dm/cookie-session.svg +[downloads-url]: https://npmjs.org/package/cookie-session +[gratipay-image]: https://img.shields.io/gratipay/dougwilson.svg +[gratipay-url]: https://www.gratipay.com/dougwilson/ diff --git a/express-server/node_modules/cookie-session/index.js b/express-server/node_modules/cookie-session/index.js new file mode 100644 index 00000000..365ecfaa --- /dev/null +++ b/express-server/node_modules/cookie-session/index.js @@ -0,0 +1,330 @@ +/*! + * cookie-session + * Copyright(c) 2013 Jonathan Ong + * Copyright(c) 2014-2017 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module dependencies. + * @private + */ + +var Buffer = require('safe-buffer').Buffer +var debug = require('debug')('cookie-session') +var Cookies = require('cookies') +var onHeaders = require('on-headers') + +/** + * Module exports. + * @public + */ + +module.exports = cookieSession + +/** + * Create a new cookie session middleware. + * + * @param {object} [options] + * @param {boolean} [options.httpOnly=true] + * @param {array} [options.keys] + * @param {string} [options.name=session] Name of the cookie to use + * @param {boolean} [options.overwrite=true] + * @param {string} [options.secret] + * @param {boolean} [options.signed=true] + * @return {function} middleware + * @public + */ + +function cookieSession (options) { + var opts = options || {} + + // cookie name + var name = opts.name || 'session' + + // secrets + var keys = opts.keys + if (!keys && opts.secret) keys = [opts.secret] + + // defaults + if (opts.overwrite == null) opts.overwrite = true + if (opts.httpOnly == null) opts.httpOnly = true + if (opts.signed == null) opts.signed = true + + if (!keys && opts.signed) throw new Error('.keys required.') + + debug('session options %j', opts) + + return function _cookieSession (req, res, next) { + var cookies = new Cookies(req, res, { + keys: keys + }) + var sess + + // to pass to Session() + req.sessionCookies = cookies + req.sessionOptions = Object.create(opts) + req.sessionKey = name + + // define req.session getter / setter + Object.defineProperty(req, 'session', { + configurable: true, + enumerable: true, + get: getSession, + set: setSession + }) + + function getSession () { + // already retrieved + if (sess) { + return sess + } + + // unset + if (sess === false) { + return null + } + + // get or create session + return (sess = tryGetSession(req) || createSession(req)) + } + + function setSession (val) { + if (val == null) { + // unset session + sess = false + return val + } + + if (typeof val === 'object') { + // create a new session + sess = Session.create(this, val) + return sess + } + + throw new Error('req.session can only be set as null or an object.') + } + + onHeaders(res, function setHeaders () { + if (sess === undefined) { + // not accessed + return + } + + try { + if (sess === false) { + // remove + cookies.set(name, '', req.sessionOptions) + } else if ((!sess.isNew || sess.isPopulated) && sess.isChanged) { + // save populated or non-new changed session + sess.save() + } + } catch (e) { + debug('error saving session %s', e.message) + } + }) + + next() + } +}; + +/** + * Session model. + * + * @param {Context} ctx + * @param {Object} obj + * @private + */ + +function Session (ctx, obj) { + Object.defineProperty(this, '_ctx', { + value: ctx + }) + + if (obj) { + for (var key in obj) { + this[key] = obj[key] + } + } +} + +/** + * Create new session. + * @private + */ + +Session.create = function create (req, obj) { + var ctx = new SessionContext(req) + return new Session(ctx, obj) +} + +/** + * Create session from serialized form. + * @private + */ + +Session.deserialize = function deserialize (req, str) { + var ctx = new SessionContext(req) + var obj = decode(str) + + ctx._new = false + ctx._val = str + + return new Session(ctx, obj) +} + +/** + * Serialize a session to a string. + * @private + */ + +Session.serialize = function serialize (sess) { + return encode(sess) +} + +/** + * Return if the session is changed for this request. + * + * @return {Boolean} + * @public + */ + +Object.defineProperty(Session.prototype, 'isChanged', { + get: function getIsChanged () { + return this._ctx._new || this._ctx._val !== Session.serialize(this) + } +}) + +/** + * Return if the session is new for this request. + * + * @return {Boolean} + * @public + */ + +Object.defineProperty(Session.prototype, 'isNew', { + get: function getIsNew () { + return this._ctx._new + } +}) + +/** + * Return how many values there are in the session object. + * Used to see if it's "populated". + * + * @return {Number} + * @public + */ + +Object.defineProperty(Session.prototype, 'length', { + get: function getLength () { + return Object.keys(this).length + } +}) + +/** + * populated flag, which is just a boolean alias of .length. + * + * @return {Boolean} + * @public + */ + +Object.defineProperty(Session.prototype, 'isPopulated', { + get: function getIsPopulated () { + return Boolean(this.length) + } +}) + +/** + * Save session changes by performing a Set-Cookie. + * @private + */ + +Session.prototype.save = function save () { + var ctx = this._ctx + var val = Session.serialize(this) + + var cookies = ctx.req.sessionCookies + var name = ctx.req.sessionKey + var opts = ctx.req.sessionOptions + + debug('save %s', val) + cookies.set(name, val, opts) +} + +/** + * Session context to tie session to req. + * + * @param {Request} req + * @private + */ + +function SessionContext (req) { + this.req = req + + this._new = true + this._val = undefined +} + +/** + * Create a new session. + * @private + */ + +function createSession (req) { + debug('new session') + return Session.create(req) +} + +/** + * Decode the base64 cookie value to an object. + * + * @param {String} string + * @return {Object} + * @private + */ + +function decode (string) { + var body = Buffer.from(string, 'base64').toString('utf8') + return JSON.parse(body) +} + +/** + * Encode an object into a base64-encoded JSON string. + * + * @param {Object} body + * @return {String} + * @private + */ + +function encode (body) { + var str = JSON.stringify(body) + return Buffer.from(str).toString('base64') +} + +/** + * Try getting a session from a request. + * @private + */ + +function tryGetSession (req) { + var cookies = req.sessionCookies + var name = req.sessionKey + var opts = req.sessionOptions + + var str = cookies.get(name, opts) + + if (!str) { + return undefined + } + + debug('parse %s', str) + + try { + return Session.deserialize(req, str) + } catch (err) { + return undefined + } +} diff --git a/express-server/node_modules/cookie-session/node_modules/debug/.coveralls.yml b/express-server/node_modules/cookie-session/node_modules/debug/.coveralls.yml new file mode 100644 index 00000000..20a70685 --- /dev/null +++ b/express-server/node_modules/cookie-session/node_modules/debug/.coveralls.yml @@ -0,0 +1 @@ +repo_token: SIAeZjKYlHK74rbcFvNHMUzjRiMpflxve diff --git a/express-server/node_modules/cookie-session/node_modules/debug/.eslintrc b/express-server/node_modules/cookie-session/node_modules/debug/.eslintrc new file mode 100644 index 00000000..146371ed --- /dev/null +++ b/express-server/node_modules/cookie-session/node_modules/debug/.eslintrc @@ -0,0 +1,14 @@ +{ + "env": { + "browser": true, + "node": true + }, + "globals": { + "chrome": true + }, + "rules": { + "no-console": 0, + "no-empty": [1, { "allowEmptyCatch": true }] + }, + "extends": "eslint:recommended" +} diff --git a/express-server/node_modules/cookie-session/node_modules/debug/.npmignore b/express-server/node_modules/cookie-session/node_modules/debug/.npmignore new file mode 100644 index 00000000..5f60eecc --- /dev/null +++ b/express-server/node_modules/cookie-session/node_modules/debug/.npmignore @@ -0,0 +1,9 @@ +support +test +examples +example +*.sock +dist +yarn.lock +coverage +bower.json diff --git a/express-server/node_modules/cookie-session/node_modules/debug/.travis.yml b/express-server/node_modules/cookie-session/node_modules/debug/.travis.yml new file mode 100644 index 00000000..a7643003 --- /dev/null +++ b/express-server/node_modules/cookie-session/node_modules/debug/.travis.yml @@ -0,0 +1,20 @@ +sudo: false + +language: node_js + +node_js: + - "4" + - "6" + - "8" + +install: + - make install + +script: + - make lint + - make test + +matrix: + include: + - node_js: '8' + env: BROWSER=1 diff --git a/express-server/node_modules/cookie-session/node_modules/debug/CHANGELOG.md b/express-server/node_modules/cookie-session/node_modules/debug/CHANGELOG.md new file mode 100644 index 00000000..820d21e3 --- /dev/null +++ b/express-server/node_modules/cookie-session/node_modules/debug/CHANGELOG.md @@ -0,0 +1,395 @@ + +3.1.0 / 2017-09-26 +================== + + * Add `DEBUG_HIDE_DATE` env var (#486) + * Remove ReDoS regexp in %o formatter (#504) + * Remove "component" from package.json + * Remove `component.json` + * Ignore package-lock.json + * Examples: fix colors printout + * Fix: browser detection + * Fix: spelling mistake (#496, @EdwardBetts) + +3.0.1 / 2017-08-24 +================== + + * Fix: Disable colors in Edge and Internet Explorer (#489) + +3.0.0 / 2017-08-08 +================== + + * Breaking: Remove DEBUG_FD (#406) + * Breaking: Use `Date#toISOString()` instead to `Date#toUTCString()` when output is not a TTY (#418) + * Breaking: Make millisecond timer namespace specific and allow 'always enabled' output (#408) + * Addition: document `enabled` flag (#465) + * Addition: add 256 colors mode (#481) + * Addition: `enabled()` updates existing debug instances, add `destroy()` function (#440) + * Update: component: update "ms" to v2.0.0 + * Update: separate the Node and Browser tests in Travis-CI + * Update: refactor Readme, fixed documentation, added "Namespace Colors" section, redid screenshots + * Update: separate Node.js and web browser examples for organization + * Update: update "browserify" to v14.4.0 + * Fix: fix Readme typo (#473) + +2.6.9 / 2017-09-22 +================== + + * remove ReDoS regexp in %o formatter (#504) + +2.6.8 / 2017-05-18 +================== + + * Fix: Check for undefined on browser globals (#462, @marbemac) + +2.6.7 / 2017-05-16 +================== + + * Fix: Update ms to 2.0.0 to fix regular expression denial of service vulnerability (#458, @hubdotcom) + * Fix: Inline extend function in node implementation (#452, @dougwilson) + * Docs: Fix typo (#455, @msasad) + +2.6.5 / 2017-04-27 +================== + + * Fix: null reference check on window.documentElement.style.WebkitAppearance (#447, @thebigredgeek) + * Misc: clean up browser reference checks (#447, @thebigredgeek) + * Misc: add npm-debug.log to .gitignore (@thebigredgeek) + + +2.6.4 / 2017-04-20 +================== + + * Fix: bug that would occur if process.env.DEBUG is a non-string value. (#444, @LucianBuzzo) + * Chore: ignore bower.json in npm installations. (#437, @joaovieira) + * Misc: update "ms" to v0.7.3 (@tootallnate) + +2.6.3 / 2017-03-13 +================== + + * Fix: Electron reference to `process.env.DEBUG` (#431, @paulcbetts) + * Docs: Changelog fix (@thebigredgeek) + +2.6.2 / 2017-03-10 +================== + + * Fix: DEBUG_MAX_ARRAY_LENGTH (#420, @slavaGanzin) + * Docs: Add backers and sponsors from Open Collective (#422, @piamancini) + * Docs: Add Slackin invite badge (@tootallnate) + +2.6.1 / 2017-02-10 +================== + + * Fix: Module's `export default` syntax fix for IE8 `Expected identifier` error + * Fix: Whitelist DEBUG_FD for values 1 and 2 only (#415, @pi0) + * Fix: IE8 "Expected identifier" error (#414, @vgoma) + * Fix: Namespaces would not disable once enabled (#409, @musikov) + +2.6.0 / 2016-12-28 +================== + + * Fix: added better null pointer checks for browser useColors (@thebigredgeek) + * Improvement: removed explicit `window.debug` export (#404, @tootallnate) + * Improvement: deprecated `DEBUG_FD` environment variable (#405, @tootallnate) + +2.5.2 / 2016-12-25 +================== + + * Fix: reference error on window within webworkers (#393, @KlausTrainer) + * Docs: fixed README typo (#391, @lurch) + * Docs: added notice about v3 api discussion (@thebigredgeek) + +2.5.1 / 2016-12-20 +================== + + * Fix: babel-core compatibility + +2.5.0 / 2016-12-20 +================== + + * Fix: wrong reference in bower file (@thebigredgeek) + * Fix: webworker compatibility (@thebigredgeek) + * Fix: output formatting issue (#388, @kribblo) + * Fix: babel-loader compatibility (#383, @escwald) + * Misc: removed built asset from repo and publications (@thebigredgeek) + * Misc: moved source files to /src (#378, @yamikuronue) + * Test: added karma integration and replaced babel with browserify for browser tests (#378, @yamikuronue) + * Test: coveralls integration (#378, @yamikuronue) + * Docs: simplified language in the opening paragraph (#373, @yamikuronue) + +2.4.5 / 2016-12-17 +================== + + * Fix: `navigator` undefined in Rhino (#376, @jochenberger) + * Fix: custom log function (#379, @hsiliev) + * Improvement: bit of cleanup + linting fixes (@thebigredgeek) + * Improvement: rm non-maintainted `dist/` dir (#375, @freewil) + * Docs: simplified language in the opening paragraph. (#373, @yamikuronue) + +2.4.4 / 2016-12-14 +================== + + * Fix: work around debug being loaded in preload scripts for electron (#368, @paulcbetts) + +2.4.3 / 2016-12-14 +================== + + * Fix: navigation.userAgent error for react native (#364, @escwald) + +2.4.2 / 2016-12-14 +================== + + * Fix: browser colors (#367, @tootallnate) + * Misc: travis ci integration (@thebigredgeek) + * Misc: added linting and testing boilerplate with sanity check (@thebigredgeek) + +2.4.1 / 2016-12-13 +================== + + * Fix: typo that broke the package (#356) + +2.4.0 / 2016-12-13 +================== + + * Fix: bower.json references unbuilt src entry point (#342, @justmatt) + * Fix: revert "handle regex special characters" (@tootallnate) + * Feature: configurable util.inspect()`options for NodeJS (#327, @tootallnate) + * Feature: %O`(big O) pretty-prints objects (#322, @tootallnate) + * Improvement: allow colors in workers (#335, @botverse) + * Improvement: use same color for same namespace. (#338, @lchenay) + +2.3.3 / 2016-11-09 +================== + + * Fix: Catch `JSON.stringify()` errors (#195, Jovan Alleyne) + * Fix: Returning `localStorage` saved values (#331, Levi Thomason) + * Improvement: Don't create an empty object when no `process` (Nathan Rajlich) + +2.3.2 / 2016-11-09 +================== + + * Fix: be super-safe in index.js as well (@TooTallNate) + * Fix: should check whether process exists (Tom Newby) + +2.3.1 / 2016-11-09 +================== + + * Fix: Added electron compatibility (#324, @paulcbetts) + * Improvement: Added performance optimizations (@tootallnate) + * Readme: Corrected PowerShell environment variable example (#252, @gimre) + * Misc: Removed yarn lock file from source control (#321, @fengmk2) + +2.3.0 / 2016-11-07 +================== + + * Fix: Consistent placement of ms diff at end of output (#215, @gorangajic) + * Fix: Escaping of regex special characters in namespace strings (#250, @zacronos) + * Fix: Fixed bug causing crash on react-native (#282, @vkarpov15) + * Feature: Enabled ES6+ compatible import via default export (#212 @bucaran) + * Feature: Added %O formatter to reflect Chrome's console.log capability (#279, @oncletom) + * Package: Update "ms" to 0.7.2 (#315, @DevSide) + * Package: removed superfluous version property from bower.json (#207 @kkirsche) + * Readme: fix USE_COLORS to DEBUG_COLORS + * Readme: Doc fixes for format string sugar (#269, @mlucool) + * Readme: Updated docs for DEBUG_FD and DEBUG_COLORS environment variables (#232, @mattlyons0) + * Readme: doc fixes for PowerShell (#271 #243, @exoticknight @unreadable) + * Readme: better docs for browser support (#224, @matthewmueller) + * Tooling: Added yarn integration for development (#317, @thebigredgeek) + * Misc: Renamed History.md to CHANGELOG.md (@thebigredgeek) + * Misc: Added license file (#226 #274, @CantemoInternal @sdaitzman) + * Misc: Updated contributors (@thebigredgeek) + +2.2.0 / 2015-05-09 +================== + + * package: update "ms" to v0.7.1 (#202, @dougwilson) + * README: add logging to file example (#193, @DanielOchoa) + * README: fixed a typo (#191, @amir-s) + * browser: expose `storage` (#190, @stephenmathieson) + * Makefile: add a `distclean` target (#189, @stephenmathieson) + +2.1.3 / 2015-03-13 +================== + + * Updated stdout/stderr example (#186) + * Updated example/stdout.js to match debug current behaviour + * Renamed example/stderr.js to stdout.js + * Update Readme.md (#184) + * replace high intensity foreground color for bold (#182, #183) + +2.1.2 / 2015-03-01 +================== + + * dist: recompile + * update "ms" to v0.7.0 + * package: update "browserify" to v9.0.3 + * component: fix "ms.js" repo location + * changed bower package name + * updated documentation about using debug in a browser + * fix: security error on safari (#167, #168, @yields) + +2.1.1 / 2014-12-29 +================== + + * browser: use `typeof` to check for `console` existence + * browser: check for `console.log` truthiness (fix IE 8/9) + * browser: add support for Chrome apps + * Readme: added Windows usage remarks + * Add `bower.json` to properly support bower install + +2.1.0 / 2014-10-15 +================== + + * node: implement `DEBUG_FD` env variable support + * package: update "browserify" to v6.1.0 + * package: add "license" field to package.json (#135, @panuhorsmalahti) + +2.0.0 / 2014-09-01 +================== + + * package: update "browserify" to v5.11.0 + * node: use stderr rather than stdout for logging (#29, @stephenmathieson) + +1.0.4 / 2014-07-15 +================== + + * dist: recompile + * example: remove `console.info()` log usage + * example: add "Content-Type" UTF-8 header to browser example + * browser: place %c marker after the space character + * browser: reset the "content" color via `color: inherit` + * browser: add colors support for Firefox >= v31 + * debug: prefer an instance `log()` function over the global one (#119) + * Readme: update documentation about styled console logs for FF v31 (#116, @wryk) + +1.0.3 / 2014-07-09 +================== + + * Add support for multiple wildcards in namespaces (#122, @seegno) + * browser: fix lint + +1.0.2 / 2014-06-10 +================== + + * browser: update color palette (#113, @gscottolson) + * common: make console logging function configurable (#108, @timoxley) + * node: fix %o colors on old node <= 0.8.x + * Makefile: find node path using shell/which (#109, @timoxley) + +1.0.1 / 2014-06-06 +================== + + * browser: use `removeItem()` to clear localStorage + * browser, node: don't set DEBUG if namespaces is undefined (#107, @leedm777) + * package: add "contributors" section + * node: fix comment typo + * README: list authors + +1.0.0 / 2014-06-04 +================== + + * make ms diff be global, not be scope + * debug: ignore empty strings in enable() + * node: make DEBUG_COLORS able to disable coloring + * *: export the `colors` array + * npmignore: don't publish the `dist` dir + * Makefile: refactor to use browserify + * package: add "browserify" as a dev dependency + * Readme: add Web Inspector Colors section + * node: reset terminal color for the debug content + * node: map "%o" to `util.inspect()` + * browser: map "%j" to `JSON.stringify()` + * debug: add custom "formatters" + * debug: use "ms" module for humanizing the diff + * Readme: add "bash" syntax highlighting + * browser: add Firebug color support + * browser: add colors for WebKit browsers + * node: apply log to `console` + * rewrite: abstract common logic for Node & browsers + * add .jshintrc file + +0.8.1 / 2014-04-14 +================== + + * package: re-add the "component" section + +0.8.0 / 2014-03-30 +================== + + * add `enable()` method for nodejs. Closes #27 + * change from stderr to stdout + * remove unnecessary index.js file + +0.7.4 / 2013-11-13 +================== + + * remove "browserify" key from package.json (fixes something in browserify) + +0.7.3 / 2013-10-30 +================== + + * fix: catch localStorage security error when cookies are blocked (Chrome) + * add debug(err) support. Closes #46 + * add .browser prop to package.json. Closes #42 + +0.7.2 / 2013-02-06 +================== + + * fix package.json + * fix: Mobile Safari (private mode) is broken with debug + * fix: Use unicode to send escape character to shell instead of octal to work with strict mode javascript + +0.7.1 / 2013-02-05 +================== + + * add repository URL to package.json + * add DEBUG_COLORED to force colored output + * add browserify support + * fix component. Closes #24 + +0.7.0 / 2012-05-04 +================== + + * Added .component to package.json + * Added debug.component.js build + +0.6.0 / 2012-03-16 +================== + + * Added support for "-" prefix in DEBUG [Vinay Pulim] + * Added `.enabled` flag to the node version [TooTallNate] + +0.5.0 / 2012-02-02 +================== + + * Added: humanize diffs. Closes #8 + * Added `debug.disable()` to the CS variant + * Removed padding. Closes #10 + * Fixed: persist client-side variant again. Closes #9 + +0.4.0 / 2012-02-01 +================== + + * Added browser variant support for older browsers [TooTallNate] + * Added `debug.enable('project:*')` to browser variant [TooTallNate] + * Added padding to diff (moved it to the right) + +0.3.0 / 2012-01-26 +================== + + * Added millisecond diff when isatty, otherwise UTC string + +0.2.0 / 2012-01-22 +================== + + * Added wildcard support + +0.1.0 / 2011-12-02 +================== + + * Added: remove colors unless stderr isatty [TooTallNate] + +0.0.1 / 2010-01-03 +================== + + * Initial release diff --git a/express-server/node_modules/cookie-session/node_modules/debug/LICENSE b/express-server/node_modules/cookie-session/node_modules/debug/LICENSE new file mode 100644 index 00000000..658c933d --- /dev/null +++ b/express-server/node_modules/cookie-session/node_modules/debug/LICENSE @@ -0,0 +1,19 @@ +(The MIT License) + +Copyright (c) 2014 TJ Holowaychuk + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software +and associated documentation files (the 'Software'), to deal in the Software without restriction, +including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial +portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + diff --git a/express-server/node_modules/cookie-session/node_modules/debug/Makefile b/express-server/node_modules/cookie-session/node_modules/debug/Makefile new file mode 100644 index 00000000..3ddd1360 --- /dev/null +++ b/express-server/node_modules/cookie-session/node_modules/debug/Makefile @@ -0,0 +1,58 @@ +# get Makefile directory name: http://stackoverflow.com/a/5982798/376773 +THIS_MAKEFILE_PATH:=$(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)) +THIS_DIR:=$(shell cd $(dir $(THIS_MAKEFILE_PATH));pwd) + +# BIN directory +BIN := $(THIS_DIR)/node_modules/.bin + +# Path +PATH := node_modules/.bin:$(PATH) +SHELL := /bin/bash + +# applications +NODE ?= $(shell which node) +YARN ?= $(shell which yarn) +PKG ?= $(if $(YARN),$(YARN),$(NODE) $(shell which npm)) +BROWSERIFY ?= $(NODE) $(BIN)/browserify + +install: node_modules + +browser: dist/debug.js + +node_modules: package.json + @NODE_ENV= $(PKG) install + @touch node_modules + +dist/debug.js: src/*.js node_modules + @mkdir -p dist + @$(BROWSERIFY) \ + --standalone debug \ + . > dist/debug.js + +lint: + @eslint *.js src/*.js + +test-node: + @istanbul cover node_modules/mocha/bin/_mocha -- test/**.js + @cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js + +test-browser: + @$(MAKE) browser + @karma start --single-run + +test-all: + @concurrently \ + "make test-node" \ + "make test-browser" + +test: + @if [ "x$(BROWSER)" = "x" ]; then \ + $(MAKE) test-node; \ + else \ + $(MAKE) test-browser; \ + fi + +clean: + rimraf dist coverage + +.PHONY: browser install clean lint test test-all test-node test-browser diff --git a/express-server/node_modules/cookie-session/node_modules/debug/README.md b/express-server/node_modules/cookie-session/node_modules/debug/README.md new file mode 100644 index 00000000..8e754d17 --- /dev/null +++ b/express-server/node_modules/cookie-session/node_modules/debug/README.md @@ -0,0 +1,368 @@ +# debug +[![Build Status](https://travis-ci.org/visionmedia/debug.svg?branch=master)](https://travis-ci.org/visionmedia/debug) [![Coverage Status](https://coveralls.io/repos/github/visionmedia/debug/badge.svg?branch=master)](https://coveralls.io/github/visionmedia/debug?branch=master) [![Slack](https://visionmedia-community-slackin.now.sh/badge.svg)](https://visionmedia-community-slackin.now.sh/) [![OpenCollective](https://opencollective.com/debug/backers/badge.svg)](#backers) +[![OpenCollective](https://opencollective.com/debug/sponsors/badge.svg)](#sponsors) + + + +A tiny JavaScript debugging utility modelled after Node.js core's debugging +technique. Works in Node.js and web browsers. + +## Installation + +```bash +$ npm install debug +``` + +## Usage + +`debug` exposes a function; simply pass this function the name of your module, and it will return a decorated version of `console.error` for you to pass debug statements to. This will allow you to toggle the debug output for different parts of your module as well as the module as a whole. + +Example [_app.js_](./examples/node/app.js): + +```js +var debug = require('debug')('http') + , http = require('http') + , name = 'My App'; + +// fake app + +debug('booting %o', name); + +http.createServer(function(req, res){ + debug(req.method + ' ' + req.url); + res.end('hello\n'); +}).listen(3000, function(){ + debug('listening'); +}); + +// fake worker of some kind + +require('./worker'); +``` + +Example [_worker.js_](./examples/node/worker.js): + +```js +var a = require('debug')('worker:a') + , b = require('debug')('worker:b'); + +function work() { + a('doing lots of uninteresting work'); + setTimeout(work, Math.random() * 1000); +} + +work(); + +function workb() { + b('doing some work'); + setTimeout(workb, Math.random() * 2000); +} + +workb(); +``` + +The `DEBUG` environment variable is then used to enable these based on space or +comma-delimited names. + +Here are some examples: + +screen shot 2017-08-08 at 12 53 04 pm +screen shot 2017-08-08 at 12 53 38 pm +screen shot 2017-08-08 at 12 53 25 pm + +#### Windows note + +On Windows the environment variable is set using the `set` command. + +```cmd +set DEBUG=*,-not_this +``` + +Note that PowerShell uses different syntax to set environment variables. + +```cmd +$env:DEBUG = "*,-not_this" +``` + +Then, run the program to be debugged as usual. + + +## Namespace Colors + +Every debug instance has a color generated for it based on its namespace name. +This helps when visually parsing the debug output to identify which debug instance +a debug line belongs to. + +#### Node.js + +In Node.js, colors are enabled when stderr is a TTY. You also _should_ install +the [`supports-color`](https://npmjs.org/supports-color) module alongside debug, +otherwise debug will only use a small handful of basic colors. + + + +#### Web Browser + +Colors are also enabled on "Web Inspectors" that understand the `%c` formatting +option. These are WebKit web inspectors, Firefox ([since version +31](https://hacks.mozilla.org/2014/05/editable-box-model-multiple-selection-sublime-text-keys-much-more-firefox-developer-tools-episode-31/)) +and the Firebug plugin for Firefox (any version). + + + + +## Millisecond diff + +When actively developing an application it can be useful to see when the time spent between one `debug()` call and the next. Suppose for example you invoke `debug()` before requesting a resource, and after as well, the "+NNNms" will show you how much time was spent between calls. + + + +When stdout is not a TTY, `Date#toISOString()` is used, making it more useful for logging the debug information as shown below: + + + + +## Conventions + +If you're using this in one or more of your libraries, you _should_ use the name of your library so that developers may toggle debugging as desired without guessing names. If you have more than one debuggers you _should_ prefix them with your library name and use ":" to separate features. For example "bodyParser" from Connect would then be "connect:bodyParser". If you append a "*" to the end of your name, it will always be enabled regardless of the setting of the DEBUG environment variable. You can then use it for normal output as well as debug output. + +## Wildcards + +The `*` character may be used as a wildcard. Suppose for example your library has +debuggers named "connect:bodyParser", "connect:compress", "connect:session", +instead of listing all three with +`DEBUG=connect:bodyParser,connect:compress,connect:session`, you may simply do +`DEBUG=connect:*`, or to run everything using this module simply use `DEBUG=*`. + +You can also exclude specific debuggers by prefixing them with a "-" character. +For example, `DEBUG=*,-connect:*` would include all debuggers except those +starting with "connect:". + +## Environment Variables + +When running through Node.js, you can set a few environment variables that will +change the behavior of the debug logging: + +| Name | Purpose | +|-----------|-------------------------------------------------| +| `DEBUG` | Enables/disables specific debugging namespaces. | +| `DEBUG_HIDE_DATE` | Hide date from debug output (non-TTY). | +| `DEBUG_COLORS`| Whether or not to use colors in the debug output. | +| `DEBUG_DEPTH` | Object inspection depth. | +| `DEBUG_SHOW_HIDDEN` | Shows hidden properties on inspected objects. | + + +__Note:__ The environment variables beginning with `DEBUG_` end up being +converted into an Options object that gets used with `%o`/`%O` formatters. +See the Node.js documentation for +[`util.inspect()`](https://nodejs.org/api/util.html#util_util_inspect_object_options) +for the complete list. + +## Formatters + +Debug uses [printf-style](https://wikipedia.org/wiki/Printf_format_string) formatting. +Below are the officially supported formatters: + +| Formatter | Representation | +|-----------|----------------| +| `%O` | Pretty-print an Object on multiple lines. | +| `%o` | Pretty-print an Object all on a single line. | +| `%s` | String. | +| `%d` | Number (both integer and float). | +| `%j` | JSON. Replaced with the string '[Circular]' if the argument contains circular references. | +| `%%` | Single percent sign ('%'). This does not consume an argument. | + + +### Custom formatters + +You can add custom formatters by extending the `debug.formatters` object. +For example, if you wanted to add support for rendering a Buffer as hex with +`%h`, you could do something like: + +```js +const createDebug = require('debug') +createDebug.formatters.h = (v) => { + return v.toString('hex') +} + +// …elsewhere +const debug = createDebug('foo') +debug('this is hex: %h', new Buffer('hello world')) +// foo this is hex: 68656c6c6f20776f726c6421 +0ms +``` + + +## Browser Support + +You can build a browser-ready script using [browserify](https://github.com/substack/node-browserify), +or just use the [browserify-as-a-service](https://wzrd.in/) [build](https://wzrd.in/standalone/debug@latest), +if you don't want to build it yourself. + +Debug's enable state is currently persisted by `localStorage`. +Consider the situation shown below where you have `worker:a` and `worker:b`, +and wish to debug both. You can enable this using `localStorage.debug`: + +```js +localStorage.debug = 'worker:*' +``` + +And then refresh the page. + +```js +a = debug('worker:a'); +b = debug('worker:b'); + +setInterval(function(){ + a('doing some work'); +}, 1000); + +setInterval(function(){ + b('doing some work'); +}, 1200); +``` + + +## Output streams + + By default `debug` will log to stderr, however this can be configured per-namespace by overriding the `log` method: + +Example [_stdout.js_](./examples/node/stdout.js): + +```js +var debug = require('debug'); +var error = debug('app:error'); + +// by default stderr is used +error('goes to stderr!'); + +var log = debug('app:log'); +// set this namespace to log via console.log +log.log = console.log.bind(console); // don't forget to bind to console! +log('goes to stdout'); +error('still goes to stderr!'); + +// set all output to go via console.info +// overrides all per-namespace log settings +debug.log = console.info.bind(console); +error('now goes to stdout via console.info'); +log('still goes to stdout, but via console.info now'); +``` + +## Checking whether a debug target is enabled + +After you've created a debug instance, you can determine whether or not it is +enabled by checking the `enabled` property: + +```javascript +const debug = require('debug')('http'); + +if (debug.enabled) { + // do stuff... +} +``` + +You can also manually toggle this property to force the debug instance to be +enabled or disabled. + + +## Authors + + - TJ Holowaychuk + - Nathan Rajlich + - Andrew Rhyne + +## Backers + +Support us with a monthly donation and help us continue our activities. [[Become a backer](https://opencollective.com/debug#backer)] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +## Sponsors + +Become a sponsor and get your logo on our README on Github with a link to your site. [[Become a sponsor](https://opencollective.com/debug#sponsor)] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +## License + +(The MIT License) + +Copyright (c) 2014-2017 TJ Holowaychuk <tj@vision-media.ca> + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/express-server/node_modules/cookie-session/node_modules/debug/karma.conf.js b/express-server/node_modules/cookie-session/node_modules/debug/karma.conf.js new file mode 100644 index 00000000..103a82d1 --- /dev/null +++ b/express-server/node_modules/cookie-session/node_modules/debug/karma.conf.js @@ -0,0 +1,70 @@ +// Karma configuration +// Generated on Fri Dec 16 2016 13:09:51 GMT+0000 (UTC) + +module.exports = function(config) { + config.set({ + + // base path that will be used to resolve all patterns (eg. files, exclude) + basePath: '', + + + // frameworks to use + // available frameworks: https://npmjs.org/browse/keyword/karma-adapter + frameworks: ['mocha', 'chai', 'sinon'], + + + // list of files / patterns to load in the browser + files: [ + 'dist/debug.js', + 'test/*spec.js' + ], + + + // list of files to exclude + exclude: [ + 'src/node.js' + ], + + + // preprocess matching files before serving them to the browser + // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor + preprocessors: { + }, + + // test results reporter to use + // possible values: 'dots', 'progress' + // available reporters: https://npmjs.org/browse/keyword/karma-reporter + reporters: ['progress'], + + + // web server port + port: 9876, + + + // enable / disable colors in the output (reporters and logs) + colors: true, + + + // level of logging + // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG + logLevel: config.LOG_INFO, + + + // enable / disable watching file and executing tests whenever any file changes + autoWatch: true, + + + // start these browsers + // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher + browsers: ['PhantomJS'], + + + // Continuous Integration mode + // if true, Karma captures browsers, runs the tests and exits + singleRun: false, + + // Concurrency level + // how many browser should be started simultaneous + concurrency: Infinity + }) +} diff --git a/express-server/node_modules/cookie-session/node_modules/debug/node.js b/express-server/node_modules/cookie-session/node_modules/debug/node.js new file mode 100644 index 00000000..7fc36fe6 --- /dev/null +++ b/express-server/node_modules/cookie-session/node_modules/debug/node.js @@ -0,0 +1 @@ +module.exports = require('./src/node'); diff --git a/express-server/node_modules/cookie-session/node_modules/debug/package.json b/express-server/node_modules/cookie-session/node_modules/debug/package.json new file mode 100644 index 00000000..be6f3824 --- /dev/null +++ b/express-server/node_modules/cookie-session/node_modules/debug/package.json @@ -0,0 +1,82 @@ +{ + "_from": "debug@3.1.0", + "_id": "debug@3.1.0", + "_inBundle": false, + "_integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "_location": "/cookie-session/debug", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "debug@3.1.0", + "name": "debug", + "escapedName": "debug", + "rawSpec": "3.1.0", + "saveSpec": null, + "fetchSpec": "3.1.0" + }, + "_requiredBy": [ + "/cookie-session" + ], + "_resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "_shasum": "5bb5a0672628b64149566ba16819e61518c67261", + "_spec": "debug@3.1.0", + "_where": "C:\\Users\\Georg\\GitHub\\SmartShopper\\express-server\\node_modules\\cookie-session", + "author": { + "name": "TJ Holowaychuk", + "email": "tj@vision-media.ca" + }, + "browser": "./src/browser.js", + "bugs": { + "url": "https://github.com/visionmedia/debug/issues" + }, + "bundleDependencies": false, + "contributors": [ + { + "name": "Nathan Rajlich", + "email": "nathan@tootallnate.net", + "url": "http://n8.io" + }, + { + "name": "Andrew Rhyne", + "email": "rhyneandrew@gmail.com" + } + ], + "dependencies": { + "ms": "2.0.0" + }, + "deprecated": false, + "description": "small debugging utility", + "devDependencies": { + "browserify": "14.4.0", + "chai": "^3.5.0", + "concurrently": "^3.1.0", + "coveralls": "^2.11.15", + "eslint": "^3.12.1", + "istanbul": "^0.4.5", + "karma": "^1.3.0", + "karma-chai": "^0.1.0", + "karma-mocha": "^1.3.0", + "karma-phantomjs-launcher": "^1.0.2", + "karma-sinon": "^1.0.5", + "mocha": "^3.2.0", + "mocha-lcov-reporter": "^1.2.0", + "rimraf": "^2.5.4", + "sinon": "^1.17.6", + "sinon-chai": "^2.8.0" + }, + "homepage": "https://github.com/visionmedia/debug#readme", + "keywords": [ + "debug", + "log", + "debugger" + ], + "license": "MIT", + "main": "./src/index.js", + "name": "debug", + "repository": { + "type": "git", + "url": "git://github.com/visionmedia/debug.git" + }, + "version": "3.1.0" +} diff --git a/express-server/node_modules/cookie-session/node_modules/debug/src/browser.js b/express-server/node_modules/cookie-session/node_modules/debug/src/browser.js new file mode 100644 index 00000000..f5149ff5 --- /dev/null +++ b/express-server/node_modules/cookie-session/node_modules/debug/src/browser.js @@ -0,0 +1,195 @@ +/** + * This is the web browser implementation of `debug()`. + * + * Expose `debug()` as the module. + */ + +exports = module.exports = require('./debug'); +exports.log = log; +exports.formatArgs = formatArgs; +exports.save = save; +exports.load = load; +exports.useColors = useColors; +exports.storage = 'undefined' != typeof chrome + && 'undefined' != typeof chrome.storage + ? chrome.storage.local + : localstorage(); + +/** + * Colors. + */ + +exports.colors = [ + '#0000CC', '#0000FF', '#0033CC', '#0033FF', '#0066CC', '#0066FF', '#0099CC', + '#0099FF', '#00CC00', '#00CC33', '#00CC66', '#00CC99', '#00CCCC', '#00CCFF', + '#3300CC', '#3300FF', '#3333CC', '#3333FF', '#3366CC', '#3366FF', '#3399CC', + '#3399FF', '#33CC00', '#33CC33', '#33CC66', '#33CC99', '#33CCCC', '#33CCFF', + '#6600CC', '#6600FF', '#6633CC', '#6633FF', '#66CC00', '#66CC33', '#9900CC', + '#9900FF', '#9933CC', '#9933FF', '#99CC00', '#99CC33', '#CC0000', '#CC0033', + '#CC0066', '#CC0099', '#CC00CC', '#CC00FF', '#CC3300', '#CC3333', '#CC3366', + '#CC3399', '#CC33CC', '#CC33FF', '#CC6600', '#CC6633', '#CC9900', '#CC9933', + '#CCCC00', '#CCCC33', '#FF0000', '#FF0033', '#FF0066', '#FF0099', '#FF00CC', + '#FF00FF', '#FF3300', '#FF3333', '#FF3366', '#FF3399', '#FF33CC', '#FF33FF', + '#FF6600', '#FF6633', '#FF9900', '#FF9933', '#FFCC00', '#FFCC33' +]; + +/** + * Currently only WebKit-based Web Inspectors, Firefox >= v31, + * and the Firebug extension (any Firefox version) are known + * to support "%c" CSS customizations. + * + * TODO: add a `localStorage` variable to explicitly enable/disable colors + */ + +function useColors() { + // NB: In an Electron preload script, document will be defined but not fully + // initialized. Since we know we're in Chrome, we'll just detect this case + // explicitly + if (typeof window !== 'undefined' && window.process && window.process.type === 'renderer') { + return true; + } + + // Internet Explorer and Edge do not support colors. + if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) { + return false; + } + + // is webkit? http://stackoverflow.com/a/16459606/376773 + // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632 + return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) || + // is firebug? http://stackoverflow.com/a/398120/376773 + (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) || + // is firefox >= v31? + // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages + (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31) || + // double check webkit in userAgent just in case we are in a worker + (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)); +} + +/** + * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default. + */ + +exports.formatters.j = function(v) { + try { + return JSON.stringify(v); + } catch (err) { + return '[UnexpectedJSONParseError]: ' + err.message; + } +}; + + +/** + * Colorize log arguments if enabled. + * + * @api public + */ + +function formatArgs(args) { + var useColors = this.useColors; + + args[0] = (useColors ? '%c' : '') + + this.namespace + + (useColors ? ' %c' : ' ') + + args[0] + + (useColors ? '%c ' : ' ') + + '+' + exports.humanize(this.diff); + + if (!useColors) return; + + var c = 'color: ' + this.color; + args.splice(1, 0, c, 'color: inherit') + + // the final "%c" is somewhat tricky, because there could be other + // arguments passed either before or after the %c, so we need to + // figure out the correct index to insert the CSS into + var index = 0; + var lastC = 0; + args[0].replace(/%[a-zA-Z%]/g, function(match) { + if ('%%' === match) return; + index++; + if ('%c' === match) { + // we only are interested in the *last* %c + // (the user may have provided their own) + lastC = index; + } + }); + + args.splice(lastC, 0, c); +} + +/** + * Invokes `console.log()` when available. + * No-op when `console.log` is not a "function". + * + * @api public + */ + +function log() { + // this hackery is required for IE8/9, where + // the `console.log` function doesn't have 'apply' + return 'object' === typeof console + && console.log + && Function.prototype.apply.call(console.log, console, arguments); +} + +/** + * Save `namespaces`. + * + * @param {String} namespaces + * @api private + */ + +function save(namespaces) { + try { + if (null == namespaces) { + exports.storage.removeItem('debug'); + } else { + exports.storage.debug = namespaces; + } + } catch(e) {} +} + +/** + * Load `namespaces`. + * + * @return {String} returns the previously persisted debug modes + * @api private + */ + +function load() { + var r; + try { + r = exports.storage.debug; + } catch(e) {} + + // If debug isn't set in LS, and we're in Electron, try to load $DEBUG + if (!r && typeof process !== 'undefined' && 'env' in process) { + r = process.env.DEBUG; + } + + return r; +} + +/** + * Enable namespaces listed in `localStorage.debug` initially. + */ + +exports.enable(load()); + +/** + * Localstorage attempts to return the localstorage. + * + * This is necessary because safari throws + * when a user disables cookies/localstorage + * and you attempt to access it. + * + * @return {LocalStorage} + * @api private + */ + +function localstorage() { + try { + return window.localStorage; + } catch (e) {} +} diff --git a/express-server/node_modules/cookie-session/node_modules/debug/src/debug.js b/express-server/node_modules/cookie-session/node_modules/debug/src/debug.js new file mode 100644 index 00000000..77e6384a --- /dev/null +++ b/express-server/node_modules/cookie-session/node_modules/debug/src/debug.js @@ -0,0 +1,225 @@ + +/** + * This is the common logic for both the Node.js and web browser + * implementations of `debug()`. + * + * Expose `debug()` as the module. + */ + +exports = module.exports = createDebug.debug = createDebug['default'] = createDebug; +exports.coerce = coerce; +exports.disable = disable; +exports.enable = enable; +exports.enabled = enabled; +exports.humanize = require('ms'); + +/** + * Active `debug` instances. + */ +exports.instances = []; + +/** + * The currently active debug mode names, and names to skip. + */ + +exports.names = []; +exports.skips = []; + +/** + * Map of special "%n" handling functions, for the debug "format" argument. + * + * Valid key names are a single, lower or upper-case letter, i.e. "n" and "N". + */ + +exports.formatters = {}; + +/** + * Select a color. + * @param {String} namespace + * @return {Number} + * @api private + */ + +function selectColor(namespace) { + var hash = 0, i; + + for (i in namespace) { + hash = ((hash << 5) - hash) + namespace.charCodeAt(i); + hash |= 0; // Convert to 32bit integer + } + + return exports.colors[Math.abs(hash) % exports.colors.length]; +} + +/** + * Create a debugger with the given `namespace`. + * + * @param {String} namespace + * @return {Function} + * @api public + */ + +function createDebug(namespace) { + + var prevTime; + + function debug() { + // disabled? + if (!debug.enabled) return; + + var self = debug; + + // set `diff` timestamp + var curr = +new Date(); + var ms = curr - (prevTime || curr); + self.diff = ms; + self.prev = prevTime; + self.curr = curr; + prevTime = curr; + + // turn the `arguments` into a proper Array + var args = new Array(arguments.length); + for (var i = 0; i < args.length; i++) { + args[i] = arguments[i]; + } + + args[0] = exports.coerce(args[0]); + + if ('string' !== typeof args[0]) { + // anything else let's inspect with %O + args.unshift('%O'); + } + + // apply any `formatters` transformations + var index = 0; + args[0] = args[0].replace(/%([a-zA-Z%])/g, function(match, format) { + // if we encounter an escaped % then don't increase the array index + if (match === '%%') return match; + index++; + var formatter = exports.formatters[format]; + if ('function' === typeof formatter) { + var val = args[index]; + match = formatter.call(self, val); + + // now we need to remove `args[index]` since it's inlined in the `format` + args.splice(index, 1); + index--; + } + return match; + }); + + // apply env-specific formatting (colors, etc.) + exports.formatArgs.call(self, args); + + var logFn = debug.log || exports.log || console.log.bind(console); + logFn.apply(self, args); + } + + debug.namespace = namespace; + debug.enabled = exports.enabled(namespace); + debug.useColors = exports.useColors(); + debug.color = selectColor(namespace); + debug.destroy = destroy; + + // env-specific initialization logic for debug instances + if ('function' === typeof exports.init) { + exports.init(debug); + } + + exports.instances.push(debug); + + return debug; +} + +function destroy () { + var index = exports.instances.indexOf(this); + if (index !== -1) { + exports.instances.splice(index, 1); + return true; + } else { + return false; + } +} + +/** + * Enables a debug mode by namespaces. This can include modes + * separated by a colon and wildcards. + * + * @param {String} namespaces + * @api public + */ + +function enable(namespaces) { + exports.save(namespaces); + + exports.names = []; + exports.skips = []; + + var i; + var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/); + var len = split.length; + + for (i = 0; i < len; i++) { + if (!split[i]) continue; // ignore empty strings + namespaces = split[i].replace(/\*/g, '.*?'); + if (namespaces[0] === '-') { + exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$')); + } else { + exports.names.push(new RegExp('^' + namespaces + '$')); + } + } + + for (i = 0; i < exports.instances.length; i++) { + var instance = exports.instances[i]; + instance.enabled = exports.enabled(instance.namespace); + } +} + +/** + * Disable debug output. + * + * @api public + */ + +function disable() { + exports.enable(''); +} + +/** + * Returns true if the given mode name is enabled, false otherwise. + * + * @param {String} name + * @return {Boolean} + * @api public + */ + +function enabled(name) { + if (name[name.length - 1] === '*') { + return true; + } + var i, len; + for (i = 0, len = exports.skips.length; i < len; i++) { + if (exports.skips[i].test(name)) { + return false; + } + } + for (i = 0, len = exports.names.length; i < len; i++) { + if (exports.names[i].test(name)) { + return true; + } + } + return false; +} + +/** + * Coerce `val`. + * + * @param {Mixed} val + * @return {Mixed} + * @api private + */ + +function coerce(val) { + if (val instanceof Error) return val.stack || val.message; + return val; +} diff --git a/express-server/node_modules/cookie-session/node_modules/debug/src/index.js b/express-server/node_modules/cookie-session/node_modules/debug/src/index.js new file mode 100644 index 00000000..cabcbcda --- /dev/null +++ b/express-server/node_modules/cookie-session/node_modules/debug/src/index.js @@ -0,0 +1,10 @@ +/** + * Detect Electron renderer process, which is node, but we should + * treat as a browser. + */ + +if (typeof process === 'undefined' || process.type === 'renderer') { + module.exports = require('./browser.js'); +} else { + module.exports = require('./node.js'); +} diff --git a/express-server/node_modules/cookie-session/node_modules/debug/src/node.js b/express-server/node_modules/cookie-session/node_modules/debug/src/node.js new file mode 100644 index 00000000..d666fb9c --- /dev/null +++ b/express-server/node_modules/cookie-session/node_modules/debug/src/node.js @@ -0,0 +1,186 @@ +/** + * Module dependencies. + */ + +var tty = require('tty'); +var util = require('util'); + +/** + * This is the Node.js implementation of `debug()`. + * + * Expose `debug()` as the module. + */ + +exports = module.exports = require('./debug'); +exports.init = init; +exports.log = log; +exports.formatArgs = formatArgs; +exports.save = save; +exports.load = load; +exports.useColors = useColors; + +/** + * Colors. + */ + +exports.colors = [ 6, 2, 3, 4, 5, 1 ]; + +try { + var supportsColor = require('supports-color'); + if (supportsColor && supportsColor.level >= 2) { + exports.colors = [ + 20, 21, 26, 27, 32, 33, 38, 39, 40, 41, 42, 43, 44, 45, 56, 57, 62, 63, 68, + 69, 74, 75, 76, 77, 78, 79, 80, 81, 92, 93, 98, 99, 112, 113, 128, 129, 134, + 135, 148, 149, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, + 172, 173, 178, 179, 184, 185, 196, 197, 198, 199, 200, 201, 202, 203, 204, + 205, 206, 207, 208, 209, 214, 215, 220, 221 + ]; + } +} catch (err) { + // swallow - we only care if `supports-color` is available; it doesn't have to be. +} + +/** + * Build up the default `inspectOpts` object from the environment variables. + * + * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js + */ + +exports.inspectOpts = Object.keys(process.env).filter(function (key) { + return /^debug_/i.test(key); +}).reduce(function (obj, key) { + // camel-case + var prop = key + .substring(6) + .toLowerCase() + .replace(/_([a-z])/g, function (_, k) { return k.toUpperCase() }); + + // coerce string value into JS value + var val = process.env[key]; + if (/^(yes|on|true|enabled)$/i.test(val)) val = true; + else if (/^(no|off|false|disabled)$/i.test(val)) val = false; + else if (val === 'null') val = null; + else val = Number(val); + + obj[prop] = val; + return obj; +}, {}); + +/** + * Is stdout a TTY? Colored output is enabled when `true`. + */ + +function useColors() { + return 'colors' in exports.inspectOpts + ? Boolean(exports.inspectOpts.colors) + : tty.isatty(process.stderr.fd); +} + +/** + * Map %o to `util.inspect()`, all on a single line. + */ + +exports.formatters.o = function(v) { + this.inspectOpts.colors = this.useColors; + return util.inspect(v, this.inspectOpts) + .split('\n').map(function(str) { + return str.trim() + }).join(' '); +}; + +/** + * Map %o to `util.inspect()`, allowing multiple lines if needed. + */ + +exports.formatters.O = function(v) { + this.inspectOpts.colors = this.useColors; + return util.inspect(v, this.inspectOpts); +}; + +/** + * Adds ANSI color escape codes if enabled. + * + * @api public + */ + +function formatArgs(args) { + var name = this.namespace; + var useColors = this.useColors; + + if (useColors) { + var c = this.color; + var colorCode = '\u001b[3' + (c < 8 ? c : '8;5;' + c); + var prefix = ' ' + colorCode + ';1m' + name + ' ' + '\u001b[0m'; + + args[0] = prefix + args[0].split('\n').join('\n' + prefix); + args.push(colorCode + 'm+' + exports.humanize(this.diff) + '\u001b[0m'); + } else { + args[0] = getDate() + name + ' ' + args[0]; + } +} + +function getDate() { + if (exports.inspectOpts.hideDate) { + return ''; + } else { + return new Date().toISOString() + ' '; + } +} + +/** + * Invokes `util.format()` with the specified arguments and writes to stderr. + */ + +function log() { + return process.stderr.write(util.format.apply(util, arguments) + '\n'); +} + +/** + * Save `namespaces`. + * + * @param {String} namespaces + * @api private + */ + +function save(namespaces) { + if (null == namespaces) { + // If you set a process.env field to null or undefined, it gets cast to the + // string 'null' or 'undefined'. Just delete instead. + delete process.env.DEBUG; + } else { + process.env.DEBUG = namespaces; + } +} + +/** + * Load `namespaces`. + * + * @return {String} returns the previously persisted debug modes + * @api private + */ + +function load() { + return process.env.DEBUG; +} + +/** + * Init logic for `debug` instances. + * + * Create a new `inspectOpts` object in case `useColors` is set + * differently for a particular `debug` instance. + */ + +function init (debug) { + debug.inspectOpts = {}; + + var keys = Object.keys(exports.inspectOpts); + for (var i = 0; i < keys.length; i++) { + debug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]]; + } +} + +/** + * Enable namespaces listed in `process.env.DEBUG` initially. + */ + +exports.enable(load()); diff --git a/express-server/node_modules/cookie-session/node_modules/safe-buffer/.travis.yml b/express-server/node_modules/cookie-session/node_modules/safe-buffer/.travis.yml new file mode 100644 index 00000000..7b20f28c --- /dev/null +++ b/express-server/node_modules/cookie-session/node_modules/safe-buffer/.travis.yml @@ -0,0 +1,7 @@ +language: node_js +node_js: + - 'node' + - '5' + - '4' + - '0.12' + - '0.10' diff --git a/express-server/node_modules/cookie-session/node_modules/safe-buffer/LICENSE b/express-server/node_modules/cookie-session/node_modules/safe-buffer/LICENSE new file mode 100644 index 00000000..0c068cee --- /dev/null +++ b/express-server/node_modules/cookie-session/node_modules/safe-buffer/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Feross Aboukhadijeh + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/express-server/node_modules/cookie-session/node_modules/safe-buffer/README.md b/express-server/node_modules/cookie-session/node_modules/safe-buffer/README.md new file mode 100644 index 00000000..e9a81afd --- /dev/null +++ b/express-server/node_modules/cookie-session/node_modules/safe-buffer/README.md @@ -0,0 +1,584 @@ +# safe-buffer [![travis][travis-image]][travis-url] [![npm][npm-image]][npm-url] [![downloads][downloads-image]][downloads-url] [![javascript style guide][standard-image]][standard-url] + +[travis-image]: https://img.shields.io/travis/feross/safe-buffer/master.svg +[travis-url]: https://travis-ci.org/feross/safe-buffer +[npm-image]: https://img.shields.io/npm/v/safe-buffer.svg +[npm-url]: https://npmjs.org/package/safe-buffer +[downloads-image]: https://img.shields.io/npm/dm/safe-buffer.svg +[downloads-url]: https://npmjs.org/package/safe-buffer +[standard-image]: https://img.shields.io/badge/code_style-standard-brightgreen.svg +[standard-url]: https://standardjs.com + +#### Safer Node.js Buffer API + +**Use the new Node.js Buffer APIs (`Buffer.from`, `Buffer.alloc`, +`Buffer.allocUnsafe`, `Buffer.allocUnsafeSlow`) in all versions of Node.js.** + +**Uses the built-in implementation when available.** + +## install + +``` +npm install safe-buffer +``` + +## usage + +The goal of this package is to provide a safe replacement for the node.js `Buffer`. + +It's a drop-in replacement for `Buffer`. You can use it by adding one `require` line to +the top of your node.js modules: + +```js +var Buffer = require('safe-buffer').Buffer + +// Existing buffer code will continue to work without issues: + +new Buffer('hey', 'utf8') +new Buffer([1, 2, 3], 'utf8') +new Buffer(obj) +new Buffer(16) // create an uninitialized buffer (potentially unsafe) + +// But you can use these new explicit APIs to make clear what you want: + +Buffer.from('hey', 'utf8') // convert from many types to a Buffer +Buffer.alloc(16) // create a zero-filled buffer (safe) +Buffer.allocUnsafe(16) // create an uninitialized buffer (potentially unsafe) +``` + +## api + +### Class Method: Buffer.from(array) + + +* `array` {Array} + +Allocates a new `Buffer` using an `array` of octets. + +```js +const buf = Buffer.from([0x62,0x75,0x66,0x66,0x65,0x72]); + // creates a new Buffer containing ASCII bytes + // ['b','u','f','f','e','r'] +``` + +A `TypeError` will be thrown if `array` is not an `Array`. + +### Class Method: Buffer.from(arrayBuffer[, byteOffset[, length]]) + + +* `arrayBuffer` {ArrayBuffer} The `.buffer` property of a `TypedArray` or + a `new ArrayBuffer()` +* `byteOffset` {Number} Default: `0` +* `length` {Number} Default: `arrayBuffer.length - byteOffset` + +When passed a reference to the `.buffer` property of a `TypedArray` instance, +the newly created `Buffer` will share the same allocated memory as the +TypedArray. + +```js +const arr = new Uint16Array(2); +arr[0] = 5000; +arr[1] = 4000; + +const buf = Buffer.from(arr.buffer); // shares the memory with arr; + +console.log(buf); + // Prints: + +// changing the TypedArray changes the Buffer also +arr[1] = 6000; + +console.log(buf); + // Prints: +``` + +The optional `byteOffset` and `length` arguments specify a memory range within +the `arrayBuffer` that will be shared by the `Buffer`. + +```js +const ab = new ArrayBuffer(10); +const buf = Buffer.from(ab, 0, 2); +console.log(buf.length); + // Prints: 2 +``` + +A `TypeError` will be thrown if `arrayBuffer` is not an `ArrayBuffer`. + +### Class Method: Buffer.from(buffer) + + +* `buffer` {Buffer} + +Copies the passed `buffer` data onto a new `Buffer` instance. + +```js +const buf1 = Buffer.from('buffer'); +const buf2 = Buffer.from(buf1); + +buf1[0] = 0x61; +console.log(buf1.toString()); + // 'auffer' +console.log(buf2.toString()); + // 'buffer' (copy is not changed) +``` + +A `TypeError` will be thrown if `buffer` is not a `Buffer`. + +### Class Method: Buffer.from(str[, encoding]) + + +* `str` {String} String to encode. +* `encoding` {String} Encoding to use, Default: `'utf8'` + +Creates a new `Buffer` containing the given JavaScript string `str`. If +provided, the `encoding` parameter identifies the character encoding. +If not provided, `encoding` defaults to `'utf8'`. + +```js +const buf1 = Buffer.from('this is a tést'); +console.log(buf1.toString()); + // prints: this is a tést +console.log(buf1.toString('ascii')); + // prints: this is a tC)st + +const buf2 = Buffer.from('7468697320697320612074c3a97374', 'hex'); +console.log(buf2.toString()); + // prints: this is a tést +``` + +A `TypeError` will be thrown if `str` is not a string. + +### Class Method: Buffer.alloc(size[, fill[, encoding]]) + + +* `size` {Number} +* `fill` {Value} Default: `undefined` +* `encoding` {String} Default: `utf8` + +Allocates a new `Buffer` of `size` bytes. If `fill` is `undefined`, the +`Buffer` will be *zero-filled*. + +```js +const buf = Buffer.alloc(5); +console.log(buf); + // +``` + +The `size` must be less than or equal to the value of +`require('buffer').kMaxLength` (on 64-bit architectures, `kMaxLength` is +`(2^31)-1`). Otherwise, a [`RangeError`][] is thrown. A zero-length Buffer will +be created if a `size` less than or equal to 0 is specified. + +If `fill` is specified, the allocated `Buffer` will be initialized by calling +`buf.fill(fill)`. See [`buf.fill()`][] for more information. + +```js +const buf = Buffer.alloc(5, 'a'); +console.log(buf); + // +``` + +If both `fill` and `encoding` are specified, the allocated `Buffer` will be +initialized by calling `buf.fill(fill, encoding)`. For example: + +```js +const buf = Buffer.alloc(11, 'aGVsbG8gd29ybGQ=', 'base64'); +console.log(buf); + // +``` + +Calling `Buffer.alloc(size)` can be significantly slower than the alternative +`Buffer.allocUnsafe(size)` but ensures that the newly created `Buffer` instance +contents will *never contain sensitive data*. + +A `TypeError` will be thrown if `size` is not a number. + +### Class Method: Buffer.allocUnsafe(size) + + +* `size` {Number} + +Allocates a new *non-zero-filled* `Buffer` of `size` bytes. The `size` must +be less than or equal to the value of `require('buffer').kMaxLength` (on 64-bit +architectures, `kMaxLength` is `(2^31)-1`). Otherwise, a [`RangeError`][] is +thrown. A zero-length Buffer will be created if a `size` less than or equal to +0 is specified. + +The underlying memory for `Buffer` instances created in this way is *not +initialized*. The contents of the newly created `Buffer` are unknown and +*may contain sensitive data*. Use [`buf.fill(0)`][] to initialize such +`Buffer` instances to zeroes. + +```js +const buf = Buffer.allocUnsafe(5); +console.log(buf); + // + // (octets will be different, every time) +buf.fill(0); +console.log(buf); + // +``` + +A `TypeError` will be thrown if `size` is not a number. + +Note that the `Buffer` module pre-allocates an internal `Buffer` instance of +size `Buffer.poolSize` that is used as a pool for the fast allocation of new +`Buffer` instances created using `Buffer.allocUnsafe(size)` (and the deprecated +`new Buffer(size)` constructor) only when `size` is less than or equal to +`Buffer.poolSize >> 1` (floor of `Buffer.poolSize` divided by two). The default +value of `Buffer.poolSize` is `8192` but can be modified. + +Use of this pre-allocated internal memory pool is a key difference between +calling `Buffer.alloc(size, fill)` vs. `Buffer.allocUnsafe(size).fill(fill)`. +Specifically, `Buffer.alloc(size, fill)` will *never* use the internal Buffer +pool, while `Buffer.allocUnsafe(size).fill(fill)` *will* use the internal +Buffer pool if `size` is less than or equal to half `Buffer.poolSize`. The +difference is subtle but can be important when an application requires the +additional performance that `Buffer.allocUnsafe(size)` provides. + +### Class Method: Buffer.allocUnsafeSlow(size) + + +* `size` {Number} + +Allocates a new *non-zero-filled* and non-pooled `Buffer` of `size` bytes. The +`size` must be less than or equal to the value of +`require('buffer').kMaxLength` (on 64-bit architectures, `kMaxLength` is +`(2^31)-1`). Otherwise, a [`RangeError`][] is thrown. A zero-length Buffer will +be created if a `size` less than or equal to 0 is specified. + +The underlying memory for `Buffer` instances created in this way is *not +initialized*. The contents of the newly created `Buffer` are unknown and +*may contain sensitive data*. Use [`buf.fill(0)`][] to initialize such +`Buffer` instances to zeroes. + +When using `Buffer.allocUnsafe()` to allocate new `Buffer` instances, +allocations under 4KB are, by default, sliced from a single pre-allocated +`Buffer`. This allows applications to avoid the garbage collection overhead of +creating many individually allocated Buffers. This approach improves both +performance and memory usage by eliminating the need to track and cleanup as +many `Persistent` objects. + +However, in the case where a developer may need to retain a small chunk of +memory from a pool for an indeterminate amount of time, it may be appropriate +to create an un-pooled Buffer instance using `Buffer.allocUnsafeSlow()` then +copy out the relevant bits. + +```js +// need to keep around a few small chunks of memory +const store = []; + +socket.on('readable', () => { + const data = socket.read(); + // allocate for retained data + const sb = Buffer.allocUnsafeSlow(10); + // copy the data into the new allocation + data.copy(sb, 0, 0, 10); + store.push(sb); +}); +``` + +Use of `Buffer.allocUnsafeSlow()` should be used only as a last resort *after* +a developer has observed undue memory retention in their applications. + +A `TypeError` will be thrown if `size` is not a number. + +### All the Rest + +The rest of the `Buffer` API is exactly the same as in node.js. +[See the docs](https://nodejs.org/api/buffer.html). + + +## Related links + +- [Node.js issue: Buffer(number) is unsafe](https://github.com/nodejs/node/issues/4660) +- [Node.js Enhancement Proposal: Buffer.from/Buffer.alloc/Buffer.zalloc/Buffer() soft-deprecate](https://github.com/nodejs/node-eps/pull/4) + +## Why is `Buffer` unsafe? + +Today, the node.js `Buffer` constructor is overloaded to handle many different argument +types like `String`, `Array`, `Object`, `TypedArrayView` (`Uint8Array`, etc.), +`ArrayBuffer`, and also `Number`. + +The API is optimized for convenience: you can throw any type at it, and it will try to do +what you want. + +Because the Buffer constructor is so powerful, you often see code like this: + +```js +// Convert UTF-8 strings to hex +function toHex (str) { + return new Buffer(str).toString('hex') +} +``` + +***But what happens if `toHex` is called with a `Number` argument?*** + +### Remote Memory Disclosure + +If an attacker can make your program call the `Buffer` constructor with a `Number` +argument, then they can make it allocate uninitialized memory from the node.js process. +This could potentially disclose TLS private keys, user data, or database passwords. + +When the `Buffer` constructor is passed a `Number` argument, it returns an +**UNINITIALIZED** block of memory of the specified `size`. When you create a `Buffer` like +this, you **MUST** overwrite the contents before returning it to the user. + +From the [node.js docs](https://nodejs.org/api/buffer.html#buffer_new_buffer_size): + +> `new Buffer(size)` +> +> - `size` Number +> +> The underlying memory for `Buffer` instances created in this way is not initialized. +> **The contents of a newly created `Buffer` are unknown and could contain sensitive +> data.** Use `buf.fill(0)` to initialize a Buffer to zeroes. + +(Emphasis our own.) + +Whenever the programmer intended to create an uninitialized `Buffer` you often see code +like this: + +```js +var buf = new Buffer(16) + +// Immediately overwrite the uninitialized buffer with data from another buffer +for (var i = 0; i < buf.length; i++) { + buf[i] = otherBuf[i] +} +``` + + +### Would this ever be a problem in real code? + +Yes. It's surprisingly common to forget to check the type of your variables in a +dynamically-typed language like JavaScript. + +Usually the consequences of assuming the wrong type is that your program crashes with an +uncaught exception. But the failure mode for forgetting to check the type of arguments to +the `Buffer` constructor is more catastrophic. + +Here's an example of a vulnerable service that takes a JSON payload and converts it to +hex: + +```js +// Take a JSON payload {str: "some string"} and convert it to hex +var server = http.createServer(function (req, res) { + var data = '' + req.setEncoding('utf8') + req.on('data', function (chunk) { + data += chunk + }) + req.on('end', function () { + var body = JSON.parse(data) + res.end(new Buffer(body.str).toString('hex')) + }) +}) + +server.listen(8080) +``` + +In this example, an http client just has to send: + +```json +{ + "str": 1000 +} +``` + +and it will get back 1,000 bytes of uninitialized memory from the server. + +This is a very serious bug. It's similar in severity to the +[the Heartbleed bug](http://heartbleed.com/) that allowed disclosure of OpenSSL process +memory by remote attackers. + + +### Which real-world packages were vulnerable? + +#### [`bittorrent-dht`](https://www.npmjs.com/package/bittorrent-dht) + +[Mathias Buus](https://github.com/mafintosh) and I +([Feross Aboukhadijeh](http://feross.org/)) found this issue in one of our own packages, +[`bittorrent-dht`](https://www.npmjs.com/package/bittorrent-dht). The bug would allow +anyone on the internet to send a series of messages to a user of `bittorrent-dht` and get +them to reveal 20 bytes at a time of uninitialized memory from the node.js process. + +Here's +[the commit](https://github.com/feross/bittorrent-dht/commit/6c7da04025d5633699800a99ec3fbadf70ad35b8) +that fixed it. We released a new fixed version, created a +[Node Security Project disclosure](https://nodesecurity.io/advisories/68), and deprecated all +vulnerable versions on npm so users will get a warning to upgrade to a newer version. + +#### [`ws`](https://www.npmjs.com/package/ws) + +That got us wondering if there were other vulnerable packages. Sure enough, within a short +period of time, we found the same issue in [`ws`](https://www.npmjs.com/package/ws), the +most popular WebSocket implementation in node.js. + +If certain APIs were called with `Number` parameters instead of `String` or `Buffer` as +expected, then uninitialized server memory would be disclosed to the remote peer. + +These were the vulnerable methods: + +```js +socket.send(number) +socket.ping(number) +socket.pong(number) +``` + +Here's a vulnerable socket server with some echo functionality: + +```js +server.on('connection', function (socket) { + socket.on('message', function (message) { + message = JSON.parse(message) + if (message.type === 'echo') { + socket.send(message.data) // send back the user's message + } + }) +}) +``` + +`socket.send(number)` called on the server, will disclose server memory. + +Here's [the release](https://github.com/websockets/ws/releases/tag/1.0.1) where the issue +was fixed, with a more detailed explanation. Props to +[Arnout Kazemier](https://github.com/3rd-Eden) for the quick fix. Here's the +[Node Security Project disclosure](https://nodesecurity.io/advisories/67). + + +### What's the solution? + +It's important that node.js offers a fast way to get memory otherwise performance-critical +applications would needlessly get a lot slower. + +But we need a better way to *signal our intent* as programmers. **When we want +uninitialized memory, we should request it explicitly.** + +Sensitive functionality should not be packed into a developer-friendly API that loosely +accepts many different types. This type of API encourages the lazy practice of passing +variables in without checking the type very carefully. + +#### A new API: `Buffer.allocUnsafe(number)` + +The functionality of creating buffers with uninitialized memory should be part of another +API. We propose `Buffer.allocUnsafe(number)`. This way, it's not part of an API that +frequently gets user input of all sorts of different types passed into it. + +```js +var buf = Buffer.allocUnsafe(16) // careful, uninitialized memory! + +// Immediately overwrite the uninitialized buffer with data from another buffer +for (var i = 0; i < buf.length; i++) { + buf[i] = otherBuf[i] +} +``` + + +### How do we fix node.js core? + +We sent [a PR to node.js core](https://github.com/nodejs/node/pull/4514) (merged as +`semver-major`) which defends against one case: + +```js +var str = 16 +new Buffer(str, 'utf8') +``` + +In this situation, it's implied that the programmer intended the first argument to be a +string, since they passed an encoding as a second argument. Today, node.js will allocate +uninitialized memory in the case of `new Buffer(number, encoding)`, which is probably not +what the programmer intended. + +But this is only a partial solution, since if the programmer does `new Buffer(variable)` +(without an `encoding` parameter) there's no way to know what they intended. If `variable` +is sometimes a number, then uninitialized memory will sometimes be returned. + +### What's the real long-term fix? + +We could deprecate and remove `new Buffer(number)` and use `Buffer.allocUnsafe(number)` when +we need uninitialized memory. But that would break 1000s of packages. + +~~We believe the best solution is to:~~ + +~~1. Change `new Buffer(number)` to return safe, zeroed-out memory~~ + +~~2. Create a new API for creating uninitialized Buffers. We propose: `Buffer.allocUnsafe(number)`~~ + +#### Update + +We now support adding three new APIs: + +- `Buffer.from(value)` - convert from any type to a buffer +- `Buffer.alloc(size)` - create a zero-filled buffer +- `Buffer.allocUnsafe(size)` - create an uninitialized buffer with given size + +This solves the core problem that affected `ws` and `bittorrent-dht` which is +`Buffer(variable)` getting tricked into taking a number argument. + +This way, existing code continues working and the impact on the npm ecosystem will be +minimal. Over time, npm maintainers can migrate performance-critical code to use +`Buffer.allocUnsafe(number)` instead of `new Buffer(number)`. + + +### Conclusion + +We think there's a serious design issue with the `Buffer` API as it exists today. It +promotes insecure software by putting high-risk functionality into a convenient API +with friendly "developer ergonomics". + +This wasn't merely a theoretical exercise because we found the issue in some of the +most popular npm packages. + +Fortunately, there's an easy fix that can be applied today. Use `safe-buffer` in place of +`buffer`. + +```js +var Buffer = require('safe-buffer').Buffer +``` + +Eventually, we hope that node.js core can switch to this new, safer behavior. We believe +the impact on the ecosystem would be minimal since it's not a breaking change. +Well-maintained, popular packages would be updated to use `Buffer.alloc` quickly, while +older, insecure packages would magically become safe from this attack vector. + + +## links + +- [Node.js PR: buffer: throw if both length and enc are passed](https://github.com/nodejs/node/pull/4514) +- [Node Security Project disclosure for `ws`](https://nodesecurity.io/advisories/67) +- [Node Security Project disclosure for`bittorrent-dht`](https://nodesecurity.io/advisories/68) + + +## credit + +The original issues in `bittorrent-dht` +([disclosure](https://nodesecurity.io/advisories/68)) and +`ws` ([disclosure](https://nodesecurity.io/advisories/67)) were discovered by +[Mathias Buus](https://github.com/mafintosh) and +[Feross Aboukhadijeh](http://feross.org/). + +Thanks to [Adam Baldwin](https://github.com/evilpacket) for helping disclose these issues +and for his work running the [Node Security Project](https://nodesecurity.io/). + +Thanks to [John Hiesey](https://github.com/jhiesey) for proofreading this README and +auditing the code. + + +## license + +MIT. Copyright (C) [Feross Aboukhadijeh](http://feross.org) diff --git a/express-server/node_modules/cookie-session/node_modules/safe-buffer/index.js b/express-server/node_modules/cookie-session/node_modules/safe-buffer/index.js new file mode 100644 index 00000000..22438dab --- /dev/null +++ b/express-server/node_modules/cookie-session/node_modules/safe-buffer/index.js @@ -0,0 +1,62 @@ +/* eslint-disable node/no-deprecated-api */ +var buffer = require('buffer') +var Buffer = buffer.Buffer + +// alternative to using Object.keys for old browsers +function copyProps (src, dst) { + for (var key in src) { + dst[key] = src[key] + } +} +if (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) { + module.exports = buffer +} else { + // Copy properties from require('buffer') + copyProps(buffer, exports) + exports.Buffer = SafeBuffer +} + +function SafeBuffer (arg, encodingOrOffset, length) { + return Buffer(arg, encodingOrOffset, length) +} + +// Copy static methods from Buffer +copyProps(Buffer, SafeBuffer) + +SafeBuffer.from = function (arg, encodingOrOffset, length) { + if (typeof arg === 'number') { + throw new TypeError('Argument must not be a number') + } + return Buffer(arg, encodingOrOffset, length) +} + +SafeBuffer.alloc = function (size, fill, encoding) { + if (typeof size !== 'number') { + throw new TypeError('Argument must be a number') + } + var buf = Buffer(size) + if (fill !== undefined) { + if (typeof encoding === 'string') { + buf.fill(fill, encoding) + } else { + buf.fill(fill) + } + } else { + buf.fill(0) + } + return buf +} + +SafeBuffer.allocUnsafe = function (size) { + if (typeof size !== 'number') { + throw new TypeError('Argument must be a number') + } + return Buffer(size) +} + +SafeBuffer.allocUnsafeSlow = function (size) { + if (typeof size !== 'number') { + throw new TypeError('Argument must be a number') + } + return buffer.SlowBuffer(size) +} diff --git a/express-server/node_modules/cookie-session/node_modules/safe-buffer/package.json b/express-server/node_modules/cookie-session/node_modules/safe-buffer/package.json new file mode 100644 index 00000000..54e53bec --- /dev/null +++ b/express-server/node_modules/cookie-session/node_modules/safe-buffer/package.json @@ -0,0 +1,62 @@ +{ + "_from": "safe-buffer@5.1.1", + "_id": "safe-buffer@5.1.1", + "_inBundle": false, + "_integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", + "_location": "/cookie-session/safe-buffer", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "safe-buffer@5.1.1", + "name": "safe-buffer", + "escapedName": "safe-buffer", + "rawSpec": "5.1.1", + "saveSpec": null, + "fetchSpec": "5.1.1" + }, + "_requiredBy": [ + "/cookie-session" + ], + "_resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "_shasum": "893312af69b2123def71f57889001671eeb2c853", + "_spec": "safe-buffer@5.1.1", + "_where": "C:\\Users\\Georg\\GitHub\\SmartShopper\\express-server\\node_modules\\cookie-session", + "author": { + "name": "Feross Aboukhadijeh", + "email": "feross@feross.org", + "url": "http://feross.org" + }, + "bugs": { + "url": "https://github.com/feross/safe-buffer/issues" + }, + "bundleDependencies": false, + "deprecated": false, + "description": "Safer Node.js Buffer API", + "devDependencies": { + "standard": "*", + "tape": "^4.0.0", + "zuul": "^3.0.0" + }, + "homepage": "https://github.com/feross/safe-buffer", + "keywords": [ + "buffer", + "buffer allocate", + "node security", + "safe", + "safe-buffer", + "security", + "uninitialized" + ], + "license": "MIT", + "main": "index.js", + "name": "safe-buffer", + "repository": { + "type": "git", + "url": "git://github.com/feross/safe-buffer.git" + }, + "scripts": { + "test": "standard && tape test.js" + }, + "version": "5.1.1" +} diff --git a/express-server/node_modules/cookie-session/node_modules/safe-buffer/test.js b/express-server/node_modules/cookie-session/node_modules/safe-buffer/test.js new file mode 100644 index 00000000..4925059c --- /dev/null +++ b/express-server/node_modules/cookie-session/node_modules/safe-buffer/test.js @@ -0,0 +1,101 @@ +/* eslint-disable node/no-deprecated-api */ + +var test = require('tape') +var SafeBuffer = require('./').Buffer + +test('new SafeBuffer(value) works just like Buffer', function (t) { + t.deepEqual(new SafeBuffer('hey'), new Buffer('hey')) + t.deepEqual(new SafeBuffer('hey', 'utf8'), new Buffer('hey', 'utf8')) + t.deepEqual(new SafeBuffer('686579', 'hex'), new Buffer('686579', 'hex')) + t.deepEqual(new SafeBuffer([1, 2, 3]), new Buffer([1, 2, 3])) + t.deepEqual(new SafeBuffer(new Uint8Array([1, 2, 3])), new Buffer(new Uint8Array([1, 2, 3]))) + + t.equal(typeof SafeBuffer.isBuffer, 'function') + t.equal(SafeBuffer.isBuffer(new SafeBuffer('hey')), true) + t.equal(Buffer.isBuffer(new SafeBuffer('hey')), true) + t.notOk(SafeBuffer.isBuffer({})) + + t.end() +}) + +test('SafeBuffer.from(value) converts to a Buffer', function (t) { + t.deepEqual(SafeBuffer.from('hey'), new Buffer('hey')) + t.deepEqual(SafeBuffer.from('hey', 'utf8'), new Buffer('hey', 'utf8')) + t.deepEqual(SafeBuffer.from('686579', 'hex'), new Buffer('686579', 'hex')) + t.deepEqual(SafeBuffer.from([1, 2, 3]), new Buffer([1, 2, 3])) + t.deepEqual(SafeBuffer.from(new Uint8Array([1, 2, 3])), new Buffer(new Uint8Array([1, 2, 3]))) + + t.end() +}) + +test('SafeBuffer.alloc(number) returns zeroed-out memory', function (t) { + for (var i = 0; i < 10; i++) { + var expected1 = new Buffer(1000) + expected1.fill(0) + t.deepEqual(SafeBuffer.alloc(1000), expected1) + + var expected2 = new Buffer(1000 * 1000) + expected2.fill(0) + t.deepEqual(SafeBuffer.alloc(1000 * 1000), expected2) + } + t.end() +}) + +test('SafeBuffer.allocUnsafe(number)', function (t) { + var buf = SafeBuffer.allocUnsafe(100) // unitialized memory + t.equal(buf.length, 100) + t.equal(SafeBuffer.isBuffer(buf), true) + t.equal(Buffer.isBuffer(buf), true) + t.end() +}) + +test('SafeBuffer.from() throws with number types', function (t) { + t.plan(5) + t.throws(function () { + SafeBuffer.from(0) + }) + t.throws(function () { + SafeBuffer.from(-1) + }) + t.throws(function () { + SafeBuffer.from(NaN) + }) + t.throws(function () { + SafeBuffer.from(Infinity) + }) + t.throws(function () { + SafeBuffer.from(99) + }) +}) + +test('SafeBuffer.allocUnsafe() throws with non-number types', function (t) { + t.plan(4) + t.throws(function () { + SafeBuffer.allocUnsafe('hey') + }) + t.throws(function () { + SafeBuffer.allocUnsafe('hey', 'utf8') + }) + t.throws(function () { + SafeBuffer.allocUnsafe([1, 2, 3]) + }) + t.throws(function () { + SafeBuffer.allocUnsafe({}) + }) +}) + +test('SafeBuffer.alloc() throws with non-number types', function (t) { + t.plan(4) + t.throws(function () { + SafeBuffer.alloc('hey') + }) + t.throws(function () { + SafeBuffer.alloc('hey', 'utf8') + }) + t.throws(function () { + SafeBuffer.alloc([1, 2, 3]) + }) + t.throws(function () { + SafeBuffer.alloc({}) + }) +}) diff --git a/express-server/node_modules/cookie-session/package.json b/express-server/node_modules/cookie-session/package.json new file mode 100644 index 00000000..4fb69a10 --- /dev/null +++ b/express-server/node_modules/cookie-session/package.json @@ -0,0 +1,93 @@ +{ + "_from": "cookie-session", + "_id": "cookie-session@2.0.0-beta.3", + "_inBundle": false, + "_integrity": "sha512-zyqm5tA0z9yMEB/xyP7lnRnqp8eLR2e0dap+9+rBwVigla9yPKn8XTL1jJymog8xjfrowqW2o5LUjixQChkqrw==", + "_location": "/cookie-session", + "_phantomChildren": { + "ms": "2.0.0" + }, + "_requested": { + "type": "tag", + "registry": true, + "raw": "cookie-session", + "name": "cookie-session", + "escapedName": "cookie-session", + "rawSpec": "", + "saveSpec": null, + "fetchSpec": "latest" + }, + "_requiredBy": [ + "#USER", + "/" + ], + "_resolved": "https://registry.npmjs.org/cookie-session/-/cookie-session-2.0.0-beta.3.tgz", + "_shasum": "4e446bd9f85bd7e27d3e226f4e99af12011a4386", + "_spec": "cookie-session", + "_where": "C:\\Users\\Georg\\GitHub\\SmartShopper\\express-server", + "bugs": { + "url": "https://github.com/expressjs/cookie-session/issues" + }, + "bundleDependencies": false, + "contributors": [ + { + "name": "Douglas Christopher Wilson", + "email": "doug@somethingdoug.com" + }, + { + "name": "Jonathan Ong", + "email": "me@jongleberry.com", + "url": "http://jongleberry.com" + } + ], + "dependencies": { + "cookies": "0.7.1", + "debug": "3.1.0", + "on-headers": "~1.0.1", + "safe-buffer": "5.1.1" + }, + "deprecated": false, + "description": "cookie session middleware", + "devDependencies": { + "connect": "3.6.5", + "eslint": "3.19.0", + "eslint-config-standard": "10.2.1", + "eslint-plugin-import": "2.7.0", + "eslint-plugin-markdown": "1.0.0-beta.6", + "eslint-plugin-node": "5.2.0", + "eslint-plugin-promise": "3.5.0", + "eslint-plugin-standard": "3.0.1", + "mocha": "3.5.3", + "nyc": "10.3.2", + "supertest": "1.2.0" + }, + "engines": { + "node": ">= 0.10" + }, + "files": [ + "HISTORY.md", + "LICENSE", + "README.md", + "index.js" + ], + "homepage": "https://github.com/expressjs/cookie-session#readme", + "keywords": [ + "connect", + "express", + "middleware", + "session" + ], + "license": "MIT", + "name": "cookie-session", + "repository": { + "type": "git", + "url": "git+https://github.com/expressjs/cookie-session.git" + }, + "scripts": { + "lint": "eslint --plugin markdown --ext js,md .", + "test": "mocha --check-leaks --reporter spec --bail test/", + "test-ci": "nyc --reporter=text npm test", + "test-cov": "nyc --reporter=html --reporter=text npm test" + }, + "version": "2.0.0-beta.3" +} diff --git a/express-server/node_modules/cookies/HISTORY.md b/express-server/node_modules/cookies/HISTORY.md new file mode 100644 index 00000000..bcffa888 --- /dev/null +++ b/express-server/node_modules/cookies/HISTORY.md @@ -0,0 +1,97 @@ +0.7.1 / 2017-08-26 +================== + + * deps: depd@~1.1.1 + - Remove unnecessary `Buffer` loading + * deps: keygrip@~1.0.2 + - perf: improve comparison speed + +0.7.0 / 2017-02-19 +================== + + * Add `sameSite` option for SameSite cookie support + * pref: enable strict mode + +0.6.2 / 2016-11-12 +================== + + * Fix `keys` deprecation message + * deps: keygrip@~1.0.1 + +0.6.1 / 2016-02-29 +================== + + * Fix regression in 0.6.0 for array of strings in `keys` option + +0.6.0 / 2016-02-29 +================== + + * Add `secure` constructor option for secure connection checking + * Change constructor to signature `new Cookies(req, res, [options])` + - Replace `new Cookies(req, res, key)` with `new Cookies(req, res, {'keys': keys})` + * Change prototype construction for proper "constructor" property + * Deprecate `secureProxy` option in `.set`; use `secure` option instead + - If `secure: true` throws even over SSL, use the `secure` constructor option + +0.5.1 / 2014-07-27 +================== + + * Throw on invalid values provided to `Cookie` constructor + - This is not strict validation, but basic RFC 7230 validation + +0.5.0 / 2014-07-27 +================== + + * Integrate with `req.protocol` for secure cookies + * Support `maxAge` as well as `maxage` + +0.4.1 / 2014-05-07 +================== + + * Update package for repo move + +0.4.0 / 2014-01-31 +================== + + * Allow passing an array of strings as keys + +0.3.8-0.2.0 +=========== + + * TODO: write down history for these releases + +0.1.6 / 2011-03-01 +================== + + * SSL cookies secure by default + * Use httpOnly by default unless explicitly false + +0.1.5 / 2011-02-26 +================== + + * Delete sig cookie if signed cookie is deleted + +0.1.4 / 2011-02-26 +================== + + * Always set path + +0.1.3 / 2011-02-26 +================== + + * Add sensible defaults for path + +0.1.2 / 2011-02-26 +================== + + * Inherit cookie properties to signature cookie + +0.1.1 / 2011-02-25 +================== + + * Readme updates + +0.1.0 / 2011-02-25 +================== + + * Initial release diff --git a/express-server/node_modules/cookies/LICENSE b/express-server/node_modules/cookies/LICENSE new file mode 100644 index 00000000..687e1e6d --- /dev/null +++ b/express-server/node_modules/cookies/LICENSE @@ -0,0 +1,23 @@ +(The MIT License) + +Copyright (c) 2014 Jed Schmidt, http://jed.is/ +Copyright (c) 2015-2016 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/express-server/node_modules/cookies/README.md b/express-server/node_modules/cookies/README.md new file mode 100644 index 00000000..65ce9523 --- /dev/null +++ b/express-server/node_modules/cookies/README.md @@ -0,0 +1,158 @@ +Cookies +======= + +[![NPM Version][npm-image]][npm-url] +[![NPM Downloads][downloads-image]][downloads-url] +[![Node.js Version][node-version-image]][node-version-url] +[![Build Status][travis-image]][travis-url] +[![Test Coverage][coveralls-image]][coveralls-url] + +Cookies is a [node.js](http://nodejs.org/) module for getting and setting HTTP(S) cookies. Cookies can be signed to prevent tampering, using [Keygrip](https://www.npmjs.com/package/keygrip). It can be used with the built-in node.js HTTP library, or as Connect/Express middleware. + +## Install + +This is a [Node.js](https://nodejs.org/en/) module available through the +[npm registry](https://www.npmjs.com/). Installation is done using the +[`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally): + +``` +$ npm install cookies +``` + +## Features + +* **Lazy**: Since cookie verification against multiple keys could be expensive, cookies are only verified lazily when accessed, not eagerly on each request. + +* **Secure**: All cookies are `httponly` by default, and cookies sent over SSL are `secure` by default. An error will be thrown if you try to send secure cookies over an insecure socket. + +* **Unobtrusive**: Signed cookies are stored the same way as unsigned cookies, instead of in an obfuscated signing format. An additional signature cookie is stored for each signed cookie, using a standard naming convention (_cookie-name_`.sig`). This allows other libraries to access the original cookies without having to know the signing mechanism. + +* **Agnostic**: This library is optimized for use with [Keygrip](https://www.npmjs.com/package/keygrip), but does not require it; you can implement your own signing scheme instead if you like and use this library only to read/write cookies. Factoring the signing into a separate library encourages code reuse and allows you to use the same signing library for other areas where signing is needed, such as in URLs. + +## API + +### cookies = new Cookies( request, response, [ options ] ) + +This creates a cookie jar corresponding to the current _request_ and _response_, additionally passing an object _options_. + +A [Keygrip](https://www.npmjs.com/package/keygrip) object or an array of keys can optionally be passed as _options.keys_ to enable cryptographic signing based on SHA1 HMAC, using rotated credentials. + +A Boolean can optionally be passed as _options.secure_ to explicitally specify if the connection is secure, rather than this module examining _request_. + +Note that since this only saves parameters without any other processing, it is very lightweight. Cookies are only parsed on demand when they are accessed. + +### express.createServer( Cookies.express( keys ) ) + +This adds cookie support as a Connect middleware layer for use in Express apps, allowing inbound cookies to be read using `req.cookies.get` and outbound cookies to be set using `res.cookies.set`. + +### cookies.get( name, [ options ] ) + +This extracts the cookie with the given name from the `Cookie` header in the request. If such a cookie exists, its value is returned. Otherwise, nothing is returned. + +`{ signed: true }` can optionally be passed as the second parameter _options_. In this case, a signature cookie (a cookie of same name ending with the `.sig` suffix appended) is fetched. If no such cookie exists, nothing is returned. + +If the signature cookie _does_ exist, the provided [Keygrip](https://www.npmjs.com/package/keygrip) object is used to check whether the hash of _cookie-name_=_cookie-value_ matches that of any registered key: + +* If the signature cookie hash matches the first key, the original cookie value is returned. +* If the signature cookie hash matches any other key, the original cookie value is returned AND an outbound header is set to update the signature cookie's value to the hash of the first key. This enables automatic freshening of signature cookies that have become stale due to key rotation. +* If the signature cookie hash does not match any key, nothing is returned, and an outbound header with an expired date is used to delete the cookie. + +### cookies.set( name, [ value ], [ options ] ) + +This sets the given cookie in the response and returns the current context to allow chaining. + +If the _value_ is omitted, an outbound header with an expired date is used to delete the cookie. + +If the _options_ object is provided, it will be used to generate the outbound cookie header as follows: + +* `maxAge`: a number representing the milliseconds from `Date.now()` for expiry +* `expires`: a `Date` object indicating the cookie's expiration date (expires at the end of session by default). +* `path`: a string indicating the path of the cookie (`/` by default). +* `domain`: a string indicating the domain of the cookie (no default). +* `secure`: a boolean indicating whether the cookie is only to be sent over HTTPS (`false` by default for HTTP, `true` by default for HTTPS). [Read more about this option below](#secure-cookies). +* `httpOnly`: a boolean indicating whether the cookie is only to be sent over HTTP(S), and not made available to client JavaScript (`true` by default). +* `sameSite`: a boolean or string indicating whether the cookie is a "same site" cookie (`false` by default). This can be set to `'strict'`, `'lax'`, or `true` (which maps to `'strict'`). +* `signed`: a boolean indicating whether the cookie is to be signed (`false` by default). If this is true, another cookie of the same name with the `.sig` suffix appended will also be sent, with a 27-byte url-safe base64 SHA1 value representing the hash of _cookie-name_=_cookie-value_ against the first [Keygrip](https://www.npmjs.com/package/keygrip) key. This signature key is used to detect tampering the next time a cookie is received. +* `overwrite`: a boolean indicating whether to overwrite previously set cookies of the same name (`false` by default). If this is true, all cookies set during the same request with the same name (regardless of path or domain) are filtered out of the Set-Cookie header when setting this cookie. + +### Secure cookies + +To send a secure cookie, you set a cookie with the `secure: true` option. + +HTTPS is necessary for secure cookies. When `cookies.set` is called with `secure: true` and a secure connection is not detected, the cookie will not be set and an error will be thrown. + +This module will test each request to see if it's secure by checking: + +* if the `protocol` property of the request is set to `https`, or +* if the `connection.encrypted` property of the request is set to `true`. + +If your server is running behind a proxy and you are using `secure: true`, you need to configure your server to read the request headers added by your proxy to determine whether the request is using a secure connection. + +For more information about working behind proxies, consult the framework you are using: + +* For Koa - [`app.proxy = true`](http://koajs.com/#settings) +* For Express - [trust proxy setting](http://expressjs.com/en/4x/api.html#trust.proxy.options.table) + +If your Koa or Express server is properly configured, the `protocol` property of the request will be set to match the protocol reported by the proxy in the `X-Forwarded-Proto` header. + +## Example + +```javascript +var http = require( "http" ) +var Cookies = require( "cookies" ) + +server = http.createServer( function( req, res ) { + var cookies = new Cookies( req, res, { "keys": keys } ) + , unsigned, signed, tampered + + if ( req.url == "/set" ) { + cookies + // set a regular cookie + .set( "unsigned", "foo", { httpOnly: false } ) + + // set a signed cookie + .set( "signed", "bar", { signed: true } ) + + // mimic a signed cookie, but with a bogus signature + .set( "tampered", "baz" ) + .set( "tampered.sig", "bogus" ) + + res.writeHead( 302, { "Location": "/" } ) + return res.end( "Now let's check." ) + } + + unsigned = cookies.get( "unsigned" ) + signed = cookies.get( "signed", { signed: true } ) + tampered = cookies.get( "tampered", { signed: true } ) + + assert.equal( unsigned, "foo" ) + assert.equal( signed, "bar" ) + assert.notEqual( tampered, "baz" ) + assert.equal( tampered, undefined ) + + res.writeHead( 200, { "Content-Type": "text/plain" } ) + res.end( + "unsigned expected: foo\n\n" + + "unsigned actual: " + unsigned + "\n\n" + + "signed expected: bar\n\n" + + "signed actual: " + signed + "\n\n" + + "tampered expected: undefined\n\n"+ + "tampered: " + tampered + "\n\n" + ) +}) +``` + +## License + +[MIT](LICENSE) + +[npm-image]: https://img.shields.io/npm/v/cookies.svg +[npm-url]: https://npmjs.org/package/cookies +[coveralls-image]: https://img.shields.io/coveralls/pillarjs/cookies/master.svg +[coveralls-url]: https://coveralls.io/r/pillarjs/cookies?branch=master +[downloads-image]: https://img.shields.io/npm/dm/cookies.svg +[downloads-url]: https://npmjs.org/package/cookies +[node-version-image]: https://img.shields.io/node/v/cookies.svg +[node-version-url]: https://nodejs.org/en/download/ +[travis-image]: https://img.shields.io/travis/pillarjs/cookies/master.svg +[travis-url]: https://travis-ci.org/pillarjs/cookies diff --git a/express-server/node_modules/cookies/index.js b/express-server/node_modules/cookies/index.js new file mode 100644 index 00000000..3672dfcc --- /dev/null +++ b/express-server/node_modules/cookies/index.js @@ -0,0 +1,216 @@ +/*! + * cookies + * Copyright(c) 2014 Jed Schmidt, http://jed.is/ + * Copyright(c) 2015-2016 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +var deprecate = require('depd')('cookies') +var Keygrip = require('keygrip') +var http = require('http') +var cache = {} + +/** + * RegExp to match field-content in RFC 7230 sec 3.2 + * + * field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ] + * field-vchar = VCHAR / obs-text + * obs-text = %x80-FF + */ + +var fieldContentRegExp = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/; + +/** + * RegExp to match Same-Site cookie attribute value. + */ + +var sameSiteRegExp = /^(?:lax|strict)$/i + +function Cookies(request, response, options) { + if (!(this instanceof Cookies)) return new Cookies(request, response, options) + + this.secure = undefined + this.request = request + this.response = response + + if (options) { + if (Array.isArray(options)) { + // array of key strings + deprecate('"keys" argument; provide using options {"keys": [...]}') + this.keys = new Keygrip(options) + } else if (options.constructor && options.constructor.name === 'Keygrip') { + // any keygrip constructor to allow different versions + deprecate('"keys" argument; provide using options {"keys": keygrip}') + this.keys = options + } else { + this.keys = Array.isArray(options.keys) ? new Keygrip(options.keys) : options.keys + this.secure = options.secure + } + } +} + +Cookies.prototype.get = function(name, opts) { + var sigName = name + ".sig" + , header, match, value, remote, data, index + , signed = opts && opts.signed !== undefined ? opts.signed : !!this.keys + + header = this.request.headers["cookie"] + if (!header) return + + match = header.match(getPattern(name)) + if (!match) return + + value = match[1] + if (!opts || !signed) return value + + remote = this.get(sigName) + if (!remote) return + + data = name + "=" + value + if (!this.keys) throw new Error('.keys required for signed cookies'); + index = this.keys.index(data, remote) + + if (index < 0) { + this.set(sigName, null, {path: "/", signed: false }) + } else { + index && this.set(sigName, this.keys.sign(data), { signed: false }) + return value + } +}; + +Cookies.prototype.set = function(name, value, opts) { + var res = this.response + , req = this.request + , headers = res.getHeader("Set-Cookie") || [] + , secure = this.secure !== undefined ? !!this.secure : req.protocol === 'https' || req.connection.encrypted + , cookie = new Cookie(name, value, opts) + , signed = opts && opts.signed !== undefined ? opts.signed : !!this.keys + + if (typeof headers == "string") headers = [headers] + + if (!secure && opts && opts.secure) { + throw new Error('Cannot send secure cookie over unencrypted connection') + } + + cookie.secure = secure + if (opts && "secure" in opts) cookie.secure = opts.secure + + if (opts && "secureProxy" in opts) { + deprecate('"secureProxy" option; use "secure" option, provide "secure" to constructor if needed') + cookie.secure = opts.secureProxy + } + + headers = pushCookie(headers, cookie) + + if (opts && signed) { + if (!this.keys) throw new Error('.keys required for signed cookies'); + cookie.value = this.keys.sign(cookie.toString()) + cookie.name += ".sig" + headers = pushCookie(headers, cookie) + } + + var setHeader = res.set ? http.OutgoingMessage.prototype.setHeader : res.setHeader + setHeader.call(res, 'Set-Cookie', headers) + return this +}; + +function Cookie(name, value, attrs) { + if (!fieldContentRegExp.test(name)) { + throw new TypeError('argument name is invalid'); + } + + if (value && !fieldContentRegExp.test(value)) { + throw new TypeError('argument value is invalid'); + } + + value || (this.expires = new Date(0)) + + this.name = name + this.value = value || "" + + for (var name in attrs) { + this[name] = attrs[name] + } + + if (this.path && !fieldContentRegExp.test(this.path)) { + throw new TypeError('option path is invalid'); + } + + if (this.domain && !fieldContentRegExp.test(this.domain)) { + throw new TypeError('option domain is invalid'); + } + + if (this.sameSite && this.sameSite !== true && !sameSiteRegExp.test(this.sameSite)) { + throw new TypeError('option sameSite is invalid') + } +} + +Cookie.prototype.path = "/"; +Cookie.prototype.expires = undefined; +Cookie.prototype.domain = undefined; +Cookie.prototype.httpOnly = true; +Cookie.prototype.sameSite = false; +Cookie.prototype.secure = false; +Cookie.prototype.overwrite = false; + +Cookie.prototype.toString = function() { + return this.name + "=" + this.value +}; + +Cookie.prototype.toHeader = function() { + var header = this.toString() + + if (this.maxAge) this.expires = new Date(Date.now() + this.maxAge); + + if (this.path ) header += "; path=" + this.path + if (this.expires ) header += "; expires=" + this.expires.toUTCString() + if (this.domain ) header += "; domain=" + this.domain + if (this.sameSite ) header += "; samesite=" + (this.sameSite === true ? 'strict' : this.sameSite.toLowerCase()) + if (this.secure ) header += "; secure" + if (this.httpOnly ) header += "; httponly" + + return header +}; + +// back-compat so maxage mirrors maxAge +Object.defineProperty(Cookie.prototype, 'maxage', { + configurable: true, + enumerable: true, + get: function () { return this.maxAge }, + set: function (val) { return this.maxAge = val } +}); +deprecate.property(Cookie.prototype, 'maxage', '"maxage"; use "maxAge" instead') + +function getPattern(name) { + if (cache[name]) return cache[name] + + return cache[name] = new RegExp( + "(?:^|;) *" + + name.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&") + + "=([^;]*)" + ) +} + +function pushCookie(cookies, cookie) { + if (cookie.overwrite) { + cookies = cookies.filter(function(c) { return c.indexOf(cookie.name+'=') !== 0 }) + } + cookies.push(cookie.toHeader()) + return cookies +} + +Cookies.connect = Cookies.express = function(keys) { + return function(req, res, next) { + req.cookies = res.cookies = new Cookies(req, res, { + keys: keys + }) + + next() + } +} + +Cookies.Cookie = Cookie + +module.exports = Cookies diff --git a/express-server/node_modules/cookies/package.json b/express-server/node_modules/cookies/package.json new file mode 100644 index 00000000..8ac3fbb8 --- /dev/null +++ b/express-server/node_modules/cookies/package.json @@ -0,0 +1,75 @@ +{ + "_from": "cookies@0.7.1", + "_id": "cookies@0.7.1", + "_inBundle": false, + "_integrity": "sha1-fIphX1SBxhq58WyDNzG8uPZjuZs=", + "_location": "/cookies", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "cookies@0.7.1", + "name": "cookies", + "escapedName": "cookies", + "rawSpec": "0.7.1", + "saveSpec": null, + "fetchSpec": "0.7.1" + }, + "_requiredBy": [ + "/cookie-session" + ], + "_resolved": "https://registry.npmjs.org/cookies/-/cookies-0.7.1.tgz", + "_shasum": "7c8a615f5481c61ab9f16c833731bcb8f663b99b", + "_spec": "cookies@0.7.1", + "_where": "C:\\Users\\Georg\\GitHub\\SmartShopper\\express-server\\node_modules\\cookie-session", + "author": { + "name": "Jed Schmidt", + "email": "tr@nslator.jp", + "url": "http://jed.is" + }, + "bugs": { + "url": "https://github.com/pillarjs/cookies/issues" + }, + "bundleDependencies": false, + "contributors": [ + { + "name": "Douglas Christopher Wilson", + "email": "doug@somethingdoug.com" + } + ], + "dependencies": { + "depd": "~1.1.1", + "keygrip": "~1.0.2" + }, + "deprecated": false, + "description": "Cookies, optionally signed using Keygrip.", + "devDependencies": { + "express": "4.9.8", + "istanbul": "0.4.5", + "mocha": "2.5.3", + "restify": "2.8.1", + "supertest": "1.1.0" + }, + "engines": { + "node": ">= 0.8" + }, + "files": [ + "HISTORY.md", + "LICENSE", + "README.md", + "index.js" + ], + "homepage": "https://github.com/pillarjs/cookies#readme", + "license": "MIT", + "name": "cookies", + "repository": { + "type": "git", + "url": "git+https://github.com/pillarjs/cookies.git" + }, + "scripts": { + "test": "mocha --require test/support/env --reporter spec --bail --check-leaks test/", + "test-ci": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --require test/support/env --reporter spec --check-leaks test/", + "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --require test/support/env --reporter dot --check-leaks test/" + }, + "version": "0.7.1" +} diff --git a/express-server/node_modules/ecdsa-sig-formatter/CODEOWNERS b/express-server/node_modules/ecdsa-sig-formatter/CODEOWNERS new file mode 100644 index 00000000..4451d3d8 --- /dev/null +++ b/express-server/node_modules/ecdsa-sig-formatter/CODEOWNERS @@ -0,0 +1 @@ +* @omsmith diff --git a/express-server/node_modules/ecdsa-sig-formatter/LICENSE b/express-server/node_modules/ecdsa-sig-formatter/LICENSE new file mode 100644 index 00000000..8754ed63 --- /dev/null +++ b/express-server/node_modules/ecdsa-sig-formatter/LICENSE @@ -0,0 +1,201 @@ +Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2015 D2L Corporation + + 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. diff --git a/express-server/node_modules/ecdsa-sig-formatter/README.md b/express-server/node_modules/ecdsa-sig-formatter/README.md new file mode 100644 index 00000000..daa95d6e --- /dev/null +++ b/express-server/node_modules/ecdsa-sig-formatter/README.md @@ -0,0 +1,65 @@ +# ecdsa-sig-formatter + +[![Build Status](https://travis-ci.org/Brightspace/node-ecdsa-sig-formatter.svg?branch=master)](https://travis-ci.org/Brightspace/node-ecdsa-sig-formatter) [![Coverage Status](https://coveralls.io/repos/Brightspace/node-ecdsa-sig-formatter/badge.svg)](https://coveralls.io/r/Brightspace/node-ecdsa-sig-formatter) + +Translate between JOSE and ASN.1/DER encodings for ECDSA signatures + +## Install +```sh +npm install ecdsa-sig-formatter --save +``` + +## Usage +```js +var format = require('ecdsa-sig-formatter'); + +var derSignature = '..'; // asn.1/DER encoded ecdsa signature + +var joseSignature = format.derToJose(derSignature); + +``` + +### API + +--- + +#### `.derToJose(Buffer|String signature, String alg)` -> `String` + +Convert the ASN.1/DER encoded signature to a JOSE-style concatenated signature. +Returns a _base64 url_ encoded `String`. + +* If _signature_ is a `String`, it should be _base64_ encoded +* _alg_ must be one of _ES256_, _ES384_ or _ES512_ + +--- + +#### `.joseToDer(Buffer|String signature, String alg)` -> `Buffer` + +Convert the JOSE-style concatenated signature to an ASN.1/DER encoded +signature. Returns a `Buffer` + +* If _signature_ is a `String`, it should be _base64 url_ encoded +* _alg_ must be one of _ES256_, _ES384_ or _ES512_ + +## Contributing + +1. **Fork** the repository. Committing directly against this repository is + highly discouraged. + +2. Make your modifications in a branch, updating and writing new unit tests + as necessary in the `spec` directory. + +3. Ensure that all tests pass with `npm test` + +4. `rebase` your changes against master. *Do not merge*. + +5. Submit a pull request to this repository. Wait for tests to run and someone + to chime in. + +### Code Style + +This repository is configured with [EditorConfig][EditorConfig] and +[ESLint][ESLint] rules. + +[EditorConfig]: http://editorconfig.org/ +[ESLint]: http://eslint.org diff --git a/express-server/node_modules/ecdsa-sig-formatter/package.json b/express-server/node_modules/ecdsa-sig-formatter/package.json new file mode 100644 index 00000000..aa7dff96 --- /dev/null +++ b/express-server/node_modules/ecdsa-sig-formatter/package.json @@ -0,0 +1,72 @@ +{ + "_from": "ecdsa-sig-formatter@1.0.10", + "_id": "ecdsa-sig-formatter@1.0.10", + "_inBundle": false, + "_integrity": "sha1-HFlQAPBKiJffuFAAiSoPTDOvhsM=", + "_location": "/ecdsa-sig-formatter", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "ecdsa-sig-formatter@1.0.10", + "name": "ecdsa-sig-formatter", + "escapedName": "ecdsa-sig-formatter", + "rawSpec": "1.0.10", + "saveSpec": null, + "fetchSpec": "1.0.10" + }, + "_requiredBy": [ + "/jwa" + ], + "_resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.10.tgz", + "_shasum": "1c595000f04a8897dfb85000892a0f4c33af86c3", + "_spec": "ecdsa-sig-formatter@1.0.10", + "_where": "C:\\Users\\Georg\\GitHub\\SmartShopper\\express-server\\node_modules\\jwa", + "author": { + "name": "D2L Corporation" + }, + "bugs": { + "url": "https://github.com/Brightspace/node-ecdsa-sig-formatter/issues" + }, + "bundleDependencies": false, + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "deprecated": false, + "description": "Translate ECDSA signatures between ASN.1/DER and JOSE-style concatenation", + "devDependencies": { + "bench": "^0.3.6", + "chai": "^3.5.0", + "coveralls": "^2.11.9", + "eslint": "^2.12.0", + "eslint-config-brightspace": "^0.2.1", + "istanbul": "^0.4.3", + "jwk-to-pem": "^1.2.5", + "mocha": "^2.5.3", + "native-crypto": "^1.7.0" + }, + "homepage": "https://github.com/Brightspace/node-ecdsa-sig-formatter#readme", + "keywords": [ + "ecdsa", + "der", + "asn.1", + "jwt", + "jwa", + "jsonwebtoken", + "jose" + ], + "license": "Apache-2.0", + "main": "src/ecdsa-sig-formatter.js", + "name": "ecdsa-sig-formatter", + "repository": { + "type": "git", + "url": "git+ssh://git@github.com/Brightspace/node-ecdsa-sig-formatter.git" + }, + "scripts": { + "check-style": "eslint .", + "pretest": "npm run check-style", + "report-cov": "cat ./coverage/lcov.info | coveralls", + "test": "istanbul cover --root src _mocha -- spec" + }, + "version": "1.0.10" +} diff --git a/express-server/node_modules/ecdsa-sig-formatter/src/ecdsa-sig-formatter.js b/express-server/node_modules/ecdsa-sig-formatter/src/ecdsa-sig-formatter.js new file mode 100644 index 00000000..38eeb9b9 --- /dev/null +++ b/express-server/node_modules/ecdsa-sig-formatter/src/ecdsa-sig-formatter.js @@ -0,0 +1,187 @@ +'use strict'; + +var Buffer = require('safe-buffer').Buffer; + +var getParamBytesForAlg = require('./param-bytes-for-alg'); + +var MAX_OCTET = 0x80, + CLASS_UNIVERSAL = 0, + PRIMITIVE_BIT = 0x20, + TAG_SEQ = 0x10, + TAG_INT = 0x02, + ENCODED_TAG_SEQ = (TAG_SEQ | PRIMITIVE_BIT) | (CLASS_UNIVERSAL << 6), + ENCODED_TAG_INT = TAG_INT | (CLASS_UNIVERSAL << 6); + +function base64Url(base64) { + return base64 + .replace(/=/g, '') + .replace(/\+/g, '-') + .replace(/\//g, '_'); +} + +function signatureAsBuffer(signature) { + if (Buffer.isBuffer(signature)) { + return signature; + } else if ('string' === typeof signature) { + return Buffer.from(signature, 'base64'); + } + + throw new TypeError('ECDSA signature must be a Base64 string or a Buffer'); +} + +function derToJose(signature, alg) { + signature = signatureAsBuffer(signature); + var paramBytes = getParamBytesForAlg(alg); + + // the DER encoded param should at most be the param size, plus a padding + // zero, since due to being a signed integer + var maxEncodedParamLength = paramBytes + 1; + + var inputLength = signature.length; + + var offset = 0; + if (signature[offset++] !== ENCODED_TAG_SEQ) { + throw new Error('Could not find expected "seq"'); + } + + var seqLength = signature[offset++]; + if (seqLength === (MAX_OCTET | 1)) { + seqLength = signature[offset++]; + } + + if (inputLength - offset < seqLength) { + throw new Error('"seq" specified length of "' + seqLength + '", only "' + (inputLength - offset) + '" remaining'); + } + + if (signature[offset++] !== ENCODED_TAG_INT) { + throw new Error('Could not find expected "int" for "r"'); + } + + var rLength = signature[offset++]; + + if (inputLength - offset - 2 < rLength) { + throw new Error('"r" specified length of "' + rLength + '", only "' + (inputLength - offset - 2) + '" available'); + } + + if (maxEncodedParamLength < rLength) { + throw new Error('"r" specified length of "' + rLength + '", max of "' + maxEncodedParamLength + '" is acceptable'); + } + + var rOffset = offset; + offset += rLength; + + if (signature[offset++] !== ENCODED_TAG_INT) { + throw new Error('Could not find expected "int" for "s"'); + } + + var sLength = signature[offset++]; + + if (inputLength - offset !== sLength) { + throw new Error('"s" specified length of "' + sLength + '", expected "' + (inputLength - offset) + '"'); + } + + if (maxEncodedParamLength < sLength) { + throw new Error('"s" specified length of "' + sLength + '", max of "' + maxEncodedParamLength + '" is acceptable'); + } + + var sOffset = offset; + offset += sLength; + + if (offset !== inputLength) { + throw new Error('Expected to consume entire buffer, but "' + (inputLength - offset) + '" bytes remain'); + } + + var rPadding = paramBytes - rLength, + sPadding = paramBytes - sLength; + + var dst = Buffer.allocUnsafe(rPadding + rLength + sPadding + sLength); + + for (offset = 0; offset < rPadding; ++offset) { + dst[offset] = 0; + } + signature.copy(dst, offset, rOffset + Math.max(-rPadding, 0), rOffset + rLength); + + offset = paramBytes; + + for (var o = offset; offset < o + sPadding; ++offset) { + dst[offset] = 0; + } + signature.copy(dst, offset, sOffset + Math.max(-sPadding, 0), sOffset + sLength); + + dst = dst.toString('base64'); + dst = base64Url(dst); + + return dst; +} + +function countPadding(buf, start, stop) { + var padding = 0; + while (start + padding < stop && buf[start + padding] === 0) { + ++padding; + } + + var needsSign = buf[start + padding] >= MAX_OCTET; + if (needsSign) { + --padding; + } + + return padding; +} + +function joseToDer(signature, alg) { + signature = signatureAsBuffer(signature); + var paramBytes = getParamBytesForAlg(alg); + + var signatureBytes = signature.length; + if (signatureBytes !== paramBytes * 2) { + throw new TypeError('"' + alg + '" signatures must be "' + paramBytes * 2 + '" bytes, saw "' + signatureBytes + '"'); + } + + var rPadding = countPadding(signature, 0, paramBytes); + var sPadding = countPadding(signature, paramBytes, signature.length); + var rLength = paramBytes - rPadding; + var sLength = paramBytes - sPadding; + + var rsBytes = 1 + 1 + rLength + 1 + 1 + sLength; + + var shortLength = rsBytes < MAX_OCTET; + + var dst = Buffer.allocUnsafe((shortLength ? 2 : 3) + rsBytes); + + var offset = 0; + dst[offset++] = ENCODED_TAG_SEQ; + if (shortLength) { + // Bit 8 has value "0" + // bits 7-1 give the length. + dst[offset++] = rsBytes; + } else { + // Bit 8 of first octet has value "1" + // bits 7-1 give the number of additional length octets. + dst[offset++] = MAX_OCTET | 1; + // length, base 256 + dst[offset++] = rsBytes & 0xff; + } + dst[offset++] = ENCODED_TAG_INT; + dst[offset++] = rLength; + if (rPadding < 0) { + dst[offset++] = 0; + offset += signature.copy(dst, offset, 0, paramBytes); + } else { + offset += signature.copy(dst, offset, rPadding, paramBytes); + } + dst[offset++] = ENCODED_TAG_INT; + dst[offset++] = sLength; + if (sPadding < 0) { + dst[offset++] = 0; + signature.copy(dst, offset, paramBytes); + } else { + signature.copy(dst, offset, paramBytes + sPadding); + } + + return dst; +} + +module.exports = { + derToJose: derToJose, + joseToDer: joseToDer +}; diff --git a/express-server/node_modules/ecdsa-sig-formatter/src/param-bytes-for-alg.js b/express-server/node_modules/ecdsa-sig-formatter/src/param-bytes-for-alg.js new file mode 100644 index 00000000..9fe67acc --- /dev/null +++ b/express-server/node_modules/ecdsa-sig-formatter/src/param-bytes-for-alg.js @@ -0,0 +1,23 @@ +'use strict'; + +function getParamSize(keySize) { + var result = ((keySize / 8) | 0) + (keySize % 8 === 0 ? 0 : 1); + return result; +} + +var paramBytesForAlg = { + ES256: getParamSize(256), + ES384: getParamSize(384), + ES512: getParamSize(521) +}; + +function getParamBytesForAlg(alg) { + var paramBytes = paramBytesForAlg[alg]; + if (paramBytes) { + return paramBytes; + } + + throw new Error('Unknown algorithm "' + alg + '"'); +} + +module.exports = getParamBytesForAlg; diff --git a/express-server/node_modules/es6-promise/CHANGELOG.md b/express-server/node_modules/es6-promise/CHANGELOG.md new file mode 100644 index 00000000..51582059 --- /dev/null +++ b/express-server/node_modules/es6-promise/CHANGELOG.md @@ -0,0 +1,151 @@ +# Master + +# 4.2.4 + +* [Fixes #305] Confuse webpack + +# 4.2.3 + +* Cleanup testem related build configuration +* Use `prepublishOnly` instead of `prepublish` (thanks @rhysd) +* Add Node.js 9, 8 to testing matrix +* drop now unused s3 deployment files +* internal cleanup (thanks to @bekzod, @mariusschulz) +* Fixup Changelog + +# 4.2.2 + +* Ensure PROMISE_ID works correctly +* internal cleanup (thanks yo @mariusschulz) + +# 4.2.1 + +* drop bower support + +# 4.2.0 + +* drop `dist` from git repo +* add `Promise.prototype.finally` +* update various build related dependencies +* add CDN links + +# 4.1.0 + +* [BUGFIX] Fix memory leak [#269] +* [BUGFIX] Auto Bundles within an AMD Environment [#263] + +# 4.0.5 + +* fix require('es6-promise/auto') for Node < 4 + +# 4.0.4 + +* fix asap when using https://github.com/Kinvey/titanium-sdk + +# 4.0.3 + +* fix Readme links + +# 4.0.2 + +* fix require('es6-promise/auto'); + +# 4.0.0 + +* no longer polyfill automatically, if needed one can still invoke + `require('es6-promise/auto')` directly. + +# 3.3.1 + +* fix links in readme + +# 3.3.0 + +* support polyfil on WebMAF (playstation env) +* fix tampering related bug global `constructor` was referenced by mistake. +* provide TS Typings +* increase compatibliity with sinon.useFakeTimers(); +* update build tools (use rollup) +* directly export promise; + +# 3.2.2 + +* IE8: use isArray +* update build dependencies + +# 3.2.1 + +* fix race tampering issue +* use eslint +* fix Promise.all tampering +* remove unused code +* fix issues with NWJS/electron + +# 3.2.0 + +* improve tamper resistence of Promise.all Promise.race and + Promise.prototype.then (note, this isn't complete, but addresses an exception + when used \w core-js, follow up work will address entirely) +* remove spec incompatible then chaining fast-path +* add eslint +* update build deps + +# 3.1.2 + +* fix node detection issues with NWJS/electron + +# 3.1.0 + +* improve performance of Promise.all when it encounters a non-promise input object input +* then/resolve tamper protection +* reduce AST size of promise constructor, to facilitate more inlining +* Update README.md with details about PhantomJS requirement for running tests +* Mangle and compress the minified version + +# 3.0.2 + +* correctly bump both bower and package.json versions + +# 3.0.1 + +* no longer include dist/test in npm releases + +# 3.0.0 + +* use nextTick() instead of setImmediate() to schedule microtasks with node 0.10. Later versions of + nodes are not affected as they were already using nextTick(). Note that using nextTick() might + trigger a depreciation warning on 0.10 as described at https://github.com/cujojs/when/issues/410. + The reason why nextTick() is preferred is that is setImmediate() would schedule a macrotask + instead of a microtask and might result in a different scheduling. + If needed you can revert to the former behavior as follow: + + var Promise = require('es6-promise').Promise; + Promise._setScheduler(setImmediate); + +# 2.3.0 + +* #121: Ability to override the internal asap implementation +* #120: Use an ascii character for an apostrophe, for source maps + +# 2.2.0 + +* #116: Expose asap() and a way to override the scheduling mechanism on Promise +* Lock to v0.2.3 of ember-cli + +# 2.1.1 + +* Fix #100 via #105: tell browserify to ignore vertx require +* Fix #101 via #102: "follow thenable state, not own state" + +# 2.1.0 + +* #59: Automatic polyfill. No need to invoke `ES6Promise.polyfill()` anymore. +* ... (see the commit log) + +# 2.0.0 + +* re-sync with RSVP. Many large performance improvements and bugfixes. + +# 1.0.0 + +* first subset of RSVP diff --git a/express-server/node_modules/es6-promise/LICENSE b/express-server/node_modules/es6-promise/LICENSE new file mode 100644 index 00000000..954ec599 --- /dev/null +++ b/express-server/node_modules/es6-promise/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/express-server/node_modules/es6-promise/README.md b/express-server/node_modules/es6-promise/README.md new file mode 100644 index 00000000..951db75f --- /dev/null +++ b/express-server/node_modules/es6-promise/README.md @@ -0,0 +1,97 @@ +# ES6-Promise (subset of [rsvp.js](https://github.com/tildeio/rsvp.js)) [![Build Status](https://travis-ci.org/stefanpenner/es6-promise.svg?branch=master)](https://travis-ci.org/stefanpenner/es6-promise) + +This is a polyfill of the [ES6 Promise](http://www.ecma-international.org/ecma-262/6.0/#sec-promise-constructor). The implementation is a subset of [rsvp.js](https://github.com/tildeio/rsvp.js) extracted by @jakearchibald, if you're wanting extra features and more debugging options, check out the [full library](https://github.com/tildeio/rsvp.js). + +For API details and how to use promises, see the JavaScript Promises HTML5Rocks article. + +## Downloads + +* [es6-promise 27.86 KB (7.33 KB gzipped)](https://cdn.jsdelivr.net/npm/es6-promise/dist/es6-promise.js) +* [es6-promise-auto 27.78 KB (7.3 KB gzipped)](https://cdn.jsdelivr.net/npm/es6-promise/dist/es6-promise.auto.js) - Automatically provides/replaces `Promise` if missing or broken. +* [es6-promise-min 6.17 KB (2.4 KB gzipped)](https://cdn.jsdelivr.net/npm/es6-promise/dist/es6-promise.min.js) +* [es6-promise-auto-min 6.19 KB (2.4 KB gzipped)](https://cdn.jsdelivr.net/npm/es6-promise/dist/es6-promise.auto.min.js) - Minified version of `es6-promise-auto` above. + +## CDN + +To use via a CDN include this in your html: + +```html + + + + + + + + +``` + +## Node.js + +To install: + +```sh +yarn add es6-promise +``` + +or + +```sh +npm install es6-promise +``` + +To use: + +```js +var Promise = require('es6-promise').Promise; +``` + + +## Usage in IE<9 + +`catch` and `finally` are reserved keywords in IE<9, meaning +`promise.catch(func)` or `promise.finally(func)` throw a syntax error. To work +around this, you can use a string to access the property as shown in the +following example. + +However most minifiers will automatically fix this for you, making the +resulting code safe for old browsers and production: + +```js +promise['catch'](function(err) { + // ... +}); +``` + +```js +promise['finally'](function() { + // ... +}); +``` + +## Auto-polyfill + +To polyfill the global environment (either in Node or in the browser via CommonJS) use the following code snippet: + +```js +require('es6-promise').polyfill(); +``` + +Alternatively + +```js +require('es6-promise/auto'); +``` + +Notice that we don't assign the result of `polyfill()` to any variable. The `polyfill()` method will patch the global environment (in this case to the `Promise` name) when called. + +## Building & Testing + +You will need to have PhantomJS installed globally in order to run the tests. + +`npm install -g phantomjs` + +* `npm run build` to build +* `npm test` to run tests +* `npm start` to run a build watcher, and webserver to test +* `npm run test:server` for a testem test runner and watching builder diff --git a/express-server/node_modules/es6-promise/auto.js b/express-server/node_modules/es6-promise/auto.js new file mode 100644 index 00000000..92bbf36e --- /dev/null +++ b/express-server/node_modules/es6-promise/auto.js @@ -0,0 +1,4 @@ +// This file can be required in Browserify and Node.js for automatic polyfill +// To use it: require('es6-promise/auto'); +'use strict'; +module.exports = require('./').polyfill(); diff --git a/express-server/node_modules/es6-promise/dist/es6-promise.auto.js b/express-server/node_modules/es6-promise/dist/es6-promise.auto.js new file mode 100644 index 00000000..5ce45581 --- /dev/null +++ b/express-server/node_modules/es6-promise/dist/es6-promise.auto.js @@ -0,0 +1,1185 @@ +/*! + * @overview es6-promise - a tiny implementation of Promises/A+. + * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald) + * @license Licensed under MIT license + * See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE + * @version v4.2.5+7f2b526d + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global.ES6Promise = factory()); +}(this, (function () { 'use strict'; + +function objectOrFunction(x) { + var type = typeof x; + return x !== null && (type === 'object' || type === 'function'); +} + +function isFunction(x) { + return typeof x === 'function'; +} + + + +var _isArray = void 0; +if (Array.isArray) { + _isArray = Array.isArray; +} else { + _isArray = function (x) { + return Object.prototype.toString.call(x) === '[object Array]'; + }; +} + +var isArray = _isArray; + +var len = 0; +var vertxNext = void 0; +var customSchedulerFn = void 0; + +var asap = function asap(callback, arg) { + queue[len] = callback; + queue[len + 1] = arg; + len += 2; + if (len === 2) { + // If len is 2, that means that we need to schedule an async flush. + // If additional callbacks are queued before the queue is flushed, they + // will be processed by this flush that we are scheduling. + if (customSchedulerFn) { + customSchedulerFn(flush); + } else { + scheduleFlush(); + } + } +}; + +function setScheduler(scheduleFn) { + customSchedulerFn = scheduleFn; +} + +function setAsap(asapFn) { + asap = asapFn; +} + +var browserWindow = typeof window !== 'undefined' ? window : undefined; +var browserGlobal = browserWindow || {}; +var BrowserMutationObserver = browserGlobal.MutationObserver || browserGlobal.WebKitMutationObserver; +var isNode = typeof self === 'undefined' && typeof process !== 'undefined' && {}.toString.call(process) === '[object process]'; + +// test for web worker but not in IE10 +var isWorker = typeof Uint8ClampedArray !== 'undefined' && typeof importScripts !== 'undefined' && typeof MessageChannel !== 'undefined'; + +// node +function useNextTick() { + // node version 0.10.x displays a deprecation warning when nextTick is used recursively + // see https://github.com/cujojs/when/issues/410 for details + return function () { + return process.nextTick(flush); + }; +} + +// vertx +function useVertxTimer() { + if (typeof vertxNext !== 'undefined') { + return function () { + vertxNext(flush); + }; + } + + return useSetTimeout(); +} + +function useMutationObserver() { + var iterations = 0; + var observer = new BrowserMutationObserver(flush); + var node = document.createTextNode(''); + observer.observe(node, { characterData: true }); + + return function () { + node.data = iterations = ++iterations % 2; + }; +} + +// web worker +function useMessageChannel() { + var channel = new MessageChannel(); + channel.port1.onmessage = flush; + return function () { + return channel.port2.postMessage(0); + }; +} + +function useSetTimeout() { + // Store setTimeout reference so es6-promise will be unaffected by + // other code modifying setTimeout (like sinon.useFakeTimers()) + var globalSetTimeout = setTimeout; + return function () { + return globalSetTimeout(flush, 1); + }; +} + +var queue = new Array(1000); +function flush() { + for (var i = 0; i < len; i += 2) { + var callback = queue[i]; + var arg = queue[i + 1]; + + callback(arg); + + queue[i] = undefined; + queue[i + 1] = undefined; + } + + len = 0; +} + +function attemptVertx() { + try { + var vertx = Function('return this')().require('vertx'); + vertxNext = vertx.runOnLoop || vertx.runOnContext; + return useVertxTimer(); + } catch (e) { + return useSetTimeout(); + } +} + +var scheduleFlush = void 0; +// Decide what async method to use to triggering processing of queued callbacks: +if (isNode) { + scheduleFlush = useNextTick(); +} else if (BrowserMutationObserver) { + scheduleFlush = useMutationObserver(); +} else if (isWorker) { + scheduleFlush = useMessageChannel(); +} else if (browserWindow === undefined && typeof require === 'function') { + scheduleFlush = attemptVertx(); +} else { + scheduleFlush = useSetTimeout(); +} + +function then(onFulfillment, onRejection) { + var parent = this; + + var child = new this.constructor(noop); + + if (child[PROMISE_ID] === undefined) { + makePromise(child); + } + + var _state = parent._state; + + + if (_state) { + var callback = arguments[_state - 1]; + asap(function () { + return invokeCallback(_state, child, callback, parent._result); + }); + } else { + subscribe(parent, child, onFulfillment, onRejection); + } + + return child; +} + +/** + `Promise.resolve` returns a promise that will become resolved with the + passed `value`. It is shorthand for the following: + + ```javascript + let promise = new Promise(function(resolve, reject){ + resolve(1); + }); + + promise.then(function(value){ + // value === 1 + }); + ``` + + Instead of writing the above, your code now simply becomes the following: + + ```javascript + let promise = Promise.resolve(1); + + promise.then(function(value){ + // value === 1 + }); + ``` + + @method resolve + @static + @param {Any} value value that the returned promise will be resolved with + Useful for tooling. + @return {Promise} a promise that will become fulfilled with the given + `value` +*/ +function resolve$1(object) { + /*jshint validthis:true */ + var Constructor = this; + + if (object && typeof object === 'object' && object.constructor === Constructor) { + return object; + } + + var promise = new Constructor(noop); + resolve(promise, object); + return promise; +} + +var PROMISE_ID = Math.random().toString(36).substring(2); + +function noop() {} + +var PENDING = void 0; +var FULFILLED = 1; +var REJECTED = 2; + +var TRY_CATCH_ERROR = { error: null }; + +function selfFulfillment() { + return new TypeError("You cannot resolve a promise with itself"); +} + +function cannotReturnOwn() { + return new TypeError('A promises callback cannot return that same promise.'); +} + +function getThen(promise) { + try { + return promise.then; + } catch (error) { + TRY_CATCH_ERROR.error = error; + return TRY_CATCH_ERROR; + } +} + +function tryThen(then$$1, value, fulfillmentHandler, rejectionHandler) { + try { + then$$1.call(value, fulfillmentHandler, rejectionHandler); + } catch (e) { + return e; + } +} + +function handleForeignThenable(promise, thenable, then$$1) { + asap(function (promise) { + var sealed = false; + var error = tryThen(then$$1, thenable, function (value) { + if (sealed) { + return; + } + sealed = true; + if (thenable !== value) { + resolve(promise, value); + } else { + fulfill(promise, value); + } + }, function (reason) { + if (sealed) { + return; + } + sealed = true; + + reject(promise, reason); + }, 'Settle: ' + (promise._label || ' unknown promise')); + + if (!sealed && error) { + sealed = true; + reject(promise, error); + } + }, promise); +} + +function handleOwnThenable(promise, thenable) { + if (thenable._state === FULFILLED) { + fulfill(promise, thenable._result); + } else if (thenable._state === REJECTED) { + reject(promise, thenable._result); + } else { + subscribe(thenable, undefined, function (value) { + return resolve(promise, value); + }, function (reason) { + return reject(promise, reason); + }); + } +} + +function handleMaybeThenable(promise, maybeThenable, then$$1) { + if (maybeThenable.constructor === promise.constructor && then$$1 === then && maybeThenable.constructor.resolve === resolve$1) { + handleOwnThenable(promise, maybeThenable); + } else { + if (then$$1 === TRY_CATCH_ERROR) { + reject(promise, TRY_CATCH_ERROR.error); + TRY_CATCH_ERROR.error = null; + } else if (then$$1 === undefined) { + fulfill(promise, maybeThenable); + } else if (isFunction(then$$1)) { + handleForeignThenable(promise, maybeThenable, then$$1); + } else { + fulfill(promise, maybeThenable); + } + } +} + +function resolve(promise, value) { + if (promise === value) { + reject(promise, selfFulfillment()); + } else if (objectOrFunction(value)) { + handleMaybeThenable(promise, value, getThen(value)); + } else { + fulfill(promise, value); + } +} + +function publishRejection(promise) { + if (promise._onerror) { + promise._onerror(promise._result); + } + + publish(promise); +} + +function fulfill(promise, value) { + if (promise._state !== PENDING) { + return; + } + + promise._result = value; + promise._state = FULFILLED; + + if (promise._subscribers.length !== 0) { + asap(publish, promise); + } +} + +function reject(promise, reason) { + if (promise._state !== PENDING) { + return; + } + promise._state = REJECTED; + promise._result = reason; + + asap(publishRejection, promise); +} + +function subscribe(parent, child, onFulfillment, onRejection) { + var _subscribers = parent._subscribers; + var length = _subscribers.length; + + + parent._onerror = null; + + _subscribers[length] = child; + _subscribers[length + FULFILLED] = onFulfillment; + _subscribers[length + REJECTED] = onRejection; + + if (length === 0 && parent._state) { + asap(publish, parent); + } +} + +function publish(promise) { + var subscribers = promise._subscribers; + var settled = promise._state; + + if (subscribers.length === 0) { + return; + } + + var child = void 0, + callback = void 0, + detail = promise._result; + + for (var i = 0; i < subscribers.length; i += 3) { + child = subscribers[i]; + callback = subscribers[i + settled]; + + if (child) { + invokeCallback(settled, child, callback, detail); + } else { + callback(detail); + } + } + + promise._subscribers.length = 0; +} + +function tryCatch(callback, detail) { + try { + return callback(detail); + } catch (e) { + TRY_CATCH_ERROR.error = e; + return TRY_CATCH_ERROR; + } +} + +function invokeCallback(settled, promise, callback, detail) { + var hasCallback = isFunction(callback), + value = void 0, + error = void 0, + succeeded = void 0, + failed = void 0; + + if (hasCallback) { + value = tryCatch(callback, detail); + + if (value === TRY_CATCH_ERROR) { + failed = true; + error = value.error; + value.error = null; + } else { + succeeded = true; + } + + if (promise === value) { + reject(promise, cannotReturnOwn()); + return; + } + } else { + value = detail; + succeeded = true; + } + + if (promise._state !== PENDING) { + // noop + } else if (hasCallback && succeeded) { + resolve(promise, value); + } else if (failed) { + reject(promise, error); + } else if (settled === FULFILLED) { + fulfill(promise, value); + } else if (settled === REJECTED) { + reject(promise, value); + } +} + +function initializePromise(promise, resolver) { + try { + resolver(function resolvePromise(value) { + resolve(promise, value); + }, function rejectPromise(reason) { + reject(promise, reason); + }); + } catch (e) { + reject(promise, e); + } +} + +var id = 0; +function nextId() { + return id++; +} + +function makePromise(promise) { + promise[PROMISE_ID] = id++; + promise._state = undefined; + promise._result = undefined; + promise._subscribers = []; +} + +function validationError() { + return new Error('Array Methods must be provided an Array'); +} + +var Enumerator = function () { + function Enumerator(Constructor, input) { + this._instanceConstructor = Constructor; + this.promise = new Constructor(noop); + + if (!this.promise[PROMISE_ID]) { + makePromise(this.promise); + } + + if (isArray(input)) { + this.length = input.length; + this._remaining = input.length; + + this._result = new Array(this.length); + + if (this.length === 0) { + fulfill(this.promise, this._result); + } else { + this.length = this.length || 0; + this._enumerate(input); + if (this._remaining === 0) { + fulfill(this.promise, this._result); + } + } + } else { + reject(this.promise, validationError()); + } + } + + Enumerator.prototype._enumerate = function _enumerate(input) { + for (var i = 0; this._state === PENDING && i < input.length; i++) { + this._eachEntry(input[i], i); + } + }; + + Enumerator.prototype._eachEntry = function _eachEntry(entry, i) { + var c = this._instanceConstructor; + var resolve$$1 = c.resolve; + + + if (resolve$$1 === resolve$1) { + var _then = getThen(entry); + + if (_then === then && entry._state !== PENDING) { + this._settledAt(entry._state, i, entry._result); + } else if (typeof _then !== 'function') { + this._remaining--; + this._result[i] = entry; + } else if (c === Promise$2) { + var promise = new c(noop); + handleMaybeThenable(promise, entry, _then); + this._willSettleAt(promise, i); + } else { + this._willSettleAt(new c(function (resolve$$1) { + return resolve$$1(entry); + }), i); + } + } else { + this._willSettleAt(resolve$$1(entry), i); + } + }; + + Enumerator.prototype._settledAt = function _settledAt(state, i, value) { + var promise = this.promise; + + + if (promise._state === PENDING) { + this._remaining--; + + if (state === REJECTED) { + reject(promise, value); + } else { + this._result[i] = value; + } + } + + if (this._remaining === 0) { + fulfill(promise, this._result); + } + }; + + Enumerator.prototype._willSettleAt = function _willSettleAt(promise, i) { + var enumerator = this; + + subscribe(promise, undefined, function (value) { + return enumerator._settledAt(FULFILLED, i, value); + }, function (reason) { + return enumerator._settledAt(REJECTED, i, reason); + }); + }; + + return Enumerator; +}(); + +/** + `Promise.all` accepts an array of promises, and returns a new promise which + is fulfilled with an array of fulfillment values for the passed promises, or + rejected with the reason of the first passed promise to be rejected. It casts all + elements of the passed iterable to promises as it runs this algorithm. + + Example: + + ```javascript + let promise1 = resolve(1); + let promise2 = resolve(2); + let promise3 = resolve(3); + let promises = [ promise1, promise2, promise3 ]; + + Promise.all(promises).then(function(array){ + // The array here would be [ 1, 2, 3 ]; + }); + ``` + + If any of the `promises` given to `all` are rejected, the first promise + that is rejected will be given as an argument to the returned promises's + rejection handler. For example: + + Example: + + ```javascript + let promise1 = resolve(1); + let promise2 = reject(new Error("2")); + let promise3 = reject(new Error("3")); + let promises = [ promise1, promise2, promise3 ]; + + Promise.all(promises).then(function(array){ + // Code here never runs because there are rejected promises! + }, function(error) { + // error.message === "2" + }); + ``` + + @method all + @static + @param {Array} entries array of promises + @param {String} label optional string for labeling the promise. + Useful for tooling. + @return {Promise} promise that is fulfilled when all `promises` have been + fulfilled, or rejected if any of them become rejected. + @static +*/ +function all(entries) { + return new Enumerator(this, entries).promise; +} + +/** + `Promise.race` returns a new promise which is settled in the same way as the + first passed promise to settle. + + Example: + + ```javascript + let promise1 = new Promise(function(resolve, reject){ + setTimeout(function(){ + resolve('promise 1'); + }, 200); + }); + + let promise2 = new Promise(function(resolve, reject){ + setTimeout(function(){ + resolve('promise 2'); + }, 100); + }); + + Promise.race([promise1, promise2]).then(function(result){ + // result === 'promise 2' because it was resolved before promise1 + // was resolved. + }); + ``` + + `Promise.race` is deterministic in that only the state of the first + settled promise matters. For example, even if other promises given to the + `promises` array argument are resolved, but the first settled promise has + become rejected before the other promises became fulfilled, the returned + promise will become rejected: + + ```javascript + let promise1 = new Promise(function(resolve, reject){ + setTimeout(function(){ + resolve('promise 1'); + }, 200); + }); + + let promise2 = new Promise(function(resolve, reject){ + setTimeout(function(){ + reject(new Error('promise 2')); + }, 100); + }); + + Promise.race([promise1, promise2]).then(function(result){ + // Code here never runs + }, function(reason){ + // reason.message === 'promise 2' because promise 2 became rejected before + // promise 1 became fulfilled + }); + ``` + + An example real-world use case is implementing timeouts: + + ```javascript + Promise.race([ajax('foo.json'), timeout(5000)]) + ``` + + @method race + @static + @param {Array} promises array of promises to observe + Useful for tooling. + @return {Promise} a promise which settles in the same way as the first passed + promise to settle. +*/ +function race(entries) { + /*jshint validthis:true */ + var Constructor = this; + + if (!isArray(entries)) { + return new Constructor(function (_, reject) { + return reject(new TypeError('You must pass an array to race.')); + }); + } else { + return new Constructor(function (resolve, reject) { + var length = entries.length; + for (var i = 0; i < length; i++) { + Constructor.resolve(entries[i]).then(resolve, reject); + } + }); + } +} + +/** + `Promise.reject` returns a promise rejected with the passed `reason`. + It is shorthand for the following: + + ```javascript + let promise = new Promise(function(resolve, reject){ + reject(new Error('WHOOPS')); + }); + + promise.then(function(value){ + // Code here doesn't run because the promise is rejected! + }, function(reason){ + // reason.message === 'WHOOPS' + }); + ``` + + Instead of writing the above, your code now simply becomes the following: + + ```javascript + let promise = Promise.reject(new Error('WHOOPS')); + + promise.then(function(value){ + // Code here doesn't run because the promise is rejected! + }, function(reason){ + // reason.message === 'WHOOPS' + }); + ``` + + @method reject + @static + @param {Any} reason value that the returned promise will be rejected with. + Useful for tooling. + @return {Promise} a promise rejected with the given `reason`. +*/ +function reject$1(reason) { + /*jshint validthis:true */ + var Constructor = this; + var promise = new Constructor(noop); + reject(promise, reason); + return promise; +} + +function needsResolver() { + throw new TypeError('You must pass a resolver function as the first argument to the promise constructor'); +} + +function needsNew() { + throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function."); +} + +/** + Promise objects represent the eventual result of an asynchronous operation. The + primary way of interacting with a promise is through its `then` method, which + registers callbacks to receive either a promise's eventual value or the reason + why the promise cannot be fulfilled. + + Terminology + ----------- + + - `promise` is an object or function with a `then` method whose behavior conforms to this specification. + - `thenable` is an object or function that defines a `then` method. + - `value` is any legal JavaScript value (including undefined, a thenable, or a promise). + - `exception` is a value that is thrown using the throw statement. + - `reason` is a value that indicates why a promise was rejected. + - `settled` the final resting state of a promise, fulfilled or rejected. + + A promise can be in one of three states: pending, fulfilled, or rejected. + + Promises that are fulfilled have a fulfillment value and are in the fulfilled + state. Promises that are rejected have a rejection reason and are in the + rejected state. A fulfillment value is never a thenable. + + Promises can also be said to *resolve* a value. If this value is also a + promise, then the original promise's settled state will match the value's + settled state. So a promise that *resolves* a promise that rejects will + itself reject, and a promise that *resolves* a promise that fulfills will + itself fulfill. + + + Basic Usage: + ------------ + + ```js + let promise = new Promise(function(resolve, reject) { + // on success + resolve(value); + + // on failure + reject(reason); + }); + + promise.then(function(value) { + // on fulfillment + }, function(reason) { + // on rejection + }); + ``` + + Advanced Usage: + --------------- + + Promises shine when abstracting away asynchronous interactions such as + `XMLHttpRequest`s. + + ```js + function getJSON(url) { + return new Promise(function(resolve, reject){ + let xhr = new XMLHttpRequest(); + + xhr.open('GET', url); + xhr.onreadystatechange = handler; + xhr.responseType = 'json'; + xhr.setRequestHeader('Accept', 'application/json'); + xhr.send(); + + function handler() { + if (this.readyState === this.DONE) { + if (this.status === 200) { + resolve(this.response); + } else { + reject(new Error('getJSON: `' + url + '` failed with status: [' + this.status + ']')); + } + } + }; + }); + } + + getJSON('/posts.json').then(function(json) { + // on fulfillment + }, function(reason) { + // on rejection + }); + ``` + + Unlike callbacks, promises are great composable primitives. + + ```js + Promise.all([ + getJSON('/posts'), + getJSON('/comments') + ]).then(function(values){ + values[0] // => postsJSON + values[1] // => commentsJSON + + return values; + }); + ``` + + @class Promise + @param {Function} resolver + Useful for tooling. + @constructor +*/ + +var Promise$2 = function () { + function Promise(resolver) { + this[PROMISE_ID] = nextId(); + this._result = this._state = undefined; + this._subscribers = []; + + if (noop !== resolver) { + typeof resolver !== 'function' && needsResolver(); + this instanceof Promise ? initializePromise(this, resolver) : needsNew(); + } + } + + /** + The primary way of interacting with a promise is through its `then` method, + which registers callbacks to receive either a promise's eventual value or the + reason why the promise cannot be fulfilled. + ```js + findUser().then(function(user){ + // user is available + }, function(reason){ + // user is unavailable, and you are given the reason why + }); + ``` + Chaining + -------- + The return value of `then` is itself a promise. This second, 'downstream' + promise is resolved with the return value of the first promise's fulfillment + or rejection handler, or rejected if the handler throws an exception. + ```js + findUser().then(function (user) { + return user.name; + }, function (reason) { + return 'default name'; + }).then(function (userName) { + // If `findUser` fulfilled, `userName` will be the user's name, otherwise it + // will be `'default name'` + }); + findUser().then(function (user) { + throw new Error('Found user, but still unhappy'); + }, function (reason) { + throw new Error('`findUser` rejected and we're unhappy'); + }).then(function (value) { + // never reached + }, function (reason) { + // if `findUser` fulfilled, `reason` will be 'Found user, but still unhappy'. + // If `findUser` rejected, `reason` will be '`findUser` rejected and we're unhappy'. + }); + ``` + If the downstream promise does not specify a rejection handler, rejection reasons will be propagated further downstream. + ```js + findUser().then(function (user) { + throw new PedagogicalException('Upstream error'); + }).then(function (value) { + // never reached + }).then(function (value) { + // never reached + }, function (reason) { + // The `PedgagocialException` is propagated all the way down to here + }); + ``` + Assimilation + ------------ + Sometimes the value you want to propagate to a downstream promise can only be + retrieved asynchronously. This can be achieved by returning a promise in the + fulfillment or rejection handler. The downstream promise will then be pending + until the returned promise is settled. This is called *assimilation*. + ```js + findUser().then(function (user) { + return findCommentsByAuthor(user); + }).then(function (comments) { + // The user's comments are now available + }); + ``` + If the assimliated promise rejects, then the downstream promise will also reject. + ```js + findUser().then(function (user) { + return findCommentsByAuthor(user); + }).then(function (comments) { + // If `findCommentsByAuthor` fulfills, we'll have the value here + }, function (reason) { + // If `findCommentsByAuthor` rejects, we'll have the reason here + }); + ``` + Simple Example + -------------- + Synchronous Example + ```javascript + let result; + try { + result = findResult(); + // success + } catch(reason) { + // failure + } + ``` + Errback Example + ```js + findResult(function(result, err){ + if (err) { + // failure + } else { + // success + } + }); + ``` + Promise Example; + ```javascript + findResult().then(function(result){ + // success + }, function(reason){ + // failure + }); + ``` + Advanced Example + -------------- + Synchronous Example + ```javascript + let author, books; + try { + author = findAuthor(); + books = findBooksByAuthor(author); + // success + } catch(reason) { + // failure + } + ``` + Errback Example + ```js + function foundBooks(books) { + } + function failure(reason) { + } + findAuthor(function(author, err){ + if (err) { + failure(err); + // failure + } else { + try { + findBoooksByAuthor(author, function(books, err) { + if (err) { + failure(err); + } else { + try { + foundBooks(books); + } catch(reason) { + failure(reason); + } + } + }); + } catch(error) { + failure(err); + } + // success + } + }); + ``` + Promise Example; + ```javascript + findAuthor(). + then(findBooksByAuthor). + then(function(books){ + // found books + }).catch(function(reason){ + // something went wrong + }); + ``` + @method then + @param {Function} onFulfilled + @param {Function} onRejected + Useful for tooling. + @return {Promise} + */ + + /** + `catch` is simply sugar for `then(undefined, onRejection)` which makes it the same + as the catch block of a try/catch statement. + ```js + function findAuthor(){ + throw new Error('couldn't find that author'); + } + // synchronous + try { + findAuthor(); + } catch(reason) { + // something went wrong + } + // async with promises + findAuthor().catch(function(reason){ + // something went wrong + }); + ``` + @method catch + @param {Function} onRejection + Useful for tooling. + @return {Promise} + */ + + + Promise.prototype.catch = function _catch(onRejection) { + return this.then(null, onRejection); + }; + + /** + `finally` will be invoked regardless of the promise's fate just as native + try/catch/finally behaves + + Synchronous example: + + ```js + findAuthor() { + if (Math.random() > 0.5) { + throw new Error(); + } + return new Author(); + } + + try { + return findAuthor(); // succeed or fail + } catch(error) { + return findOtherAuther(); + } finally { + // always runs + // doesn't affect the return value + } + ``` + + Asynchronous example: + + ```js + findAuthor().catch(function(reason){ + return findOtherAuther(); + }).finally(function(){ + // author was either found, or not + }); + ``` + + @method finally + @param {Function} callback + @return {Promise} + */ + + + Promise.prototype.finally = function _finally(callback) { + var promise = this; + var constructor = promise.constructor; + + if (isFunction(callback)) { + return promise.then(function (value) { + return constructor.resolve(callback()).then(function () { + return value; + }); + }, function (reason) { + return constructor.resolve(callback()).then(function () { + throw reason; + }); + }); + } + + return promise.then(callback, callback); + }; + + return Promise; +}(); + +Promise$2.prototype.then = then; +Promise$2.all = all; +Promise$2.race = race; +Promise$2.resolve = resolve$1; +Promise$2.reject = reject$1; +Promise$2._setScheduler = setScheduler; +Promise$2._setAsap = setAsap; +Promise$2._asap = asap; + +/*global self*/ +function polyfill() { + var local = void 0; + + if (typeof global !== 'undefined') { + local = global; + } else if (typeof self !== 'undefined') { + local = self; + } else { + try { + local = Function('return this')(); + } catch (e) { + throw new Error('polyfill failed because global object is unavailable in this environment'); + } + } + + var P = local.Promise; + + if (P) { + var promiseToString = null; + try { + promiseToString = Object.prototype.toString.call(P.resolve()); + } catch (e) { + // silently ignored + } + + if (promiseToString === '[object Promise]' && !P.cast) { + return; + } + } + + local.Promise = Promise$2; +} + +// Strange compat.. +Promise$2.polyfill = polyfill; +Promise$2.Promise = Promise$2; + +Promise$2.polyfill(); + +return Promise$2; + +}))); + + + +//# sourceMappingURL=es6-promise.auto.map diff --git a/express-server/node_modules/es6-promise/dist/es6-promise.auto.map b/express-server/node_modules/es6-promise/dist/es6-promise.auto.map new file mode 100644 index 00000000..68cfb126 --- /dev/null +++ b/express-server/node_modules/es6-promise/dist/es6-promise.auto.map @@ -0,0 +1 @@ +{"version":3,"sources":["config/versionTemplate.txt","lib/es6-promise/utils.js","lib/es6-promise/asap.js","lib/es6-promise/then.js","lib/es6-promise/promise/resolve.js","lib/es6-promise/-internal.js","lib/es6-promise/enumerator.js","lib/es6-promise/promise/all.js","lib/es6-promise/promise/race.js","lib/es6-promise/promise/reject.js","lib/es6-promise/promise.js","lib/es6-promise/polyfill.js","lib/es6-promise.js","lib/es6-promise.auto.js"],"sourcesContent":["/*!\n * @overview es6-promise - a tiny implementation of Promises/A+.\n * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)\n * @license Licensed under MIT license\n * See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE\n * @version v4.2.5+7f2b526d\n */\n","export function objectOrFunction(x) {\n var type = typeof x;\n return x !== null && (type === 'object' || type === 'function');\n}\n\nexport function isFunction(x) {\n return typeof x === 'function';\n}\n\nexport function isMaybeThenable(x) {\n return x !== null && typeof x === 'object';\n}\n\nvar _isArray = void 0;\nif (Array.isArray) {\n _isArray = Array.isArray;\n} else {\n _isArray = function (x) {\n return Object.prototype.toString.call(x) === '[object Array]';\n };\n}\n\nexport var isArray = _isArray;","var len = 0;\nvar vertxNext = void 0;\nvar customSchedulerFn = void 0;\n\nexport var asap = function asap(callback, arg) {\n queue[len] = callback;\n queue[len + 1] = arg;\n len += 2;\n if (len === 2) {\n // If len is 2, that means that we need to schedule an async flush.\n // If additional callbacks are queued before the queue is flushed, they\n // will be processed by this flush that we are scheduling.\n if (customSchedulerFn) {\n customSchedulerFn(flush);\n } else {\n scheduleFlush();\n }\n }\n};\n\nexport function setScheduler(scheduleFn) {\n customSchedulerFn = scheduleFn;\n}\n\nexport function setAsap(asapFn) {\n asap = asapFn;\n}\n\nvar browserWindow = typeof window !== 'undefined' ? window : undefined;\nvar browserGlobal = browserWindow || {};\nvar BrowserMutationObserver = browserGlobal.MutationObserver || browserGlobal.WebKitMutationObserver;\nvar isNode = typeof self === 'undefined' && typeof process !== 'undefined' && {}.toString.call(process) === '[object process]';\n\n// test for web worker but not in IE10\nvar isWorker = typeof Uint8ClampedArray !== 'undefined' && typeof importScripts !== 'undefined' && typeof MessageChannel !== 'undefined';\n\n// node\nfunction useNextTick() {\n // node version 0.10.x displays a deprecation warning when nextTick is used recursively\n // see https://github.com/cujojs/when/issues/410 for details\n return function () {\n return process.nextTick(flush);\n };\n}\n\n// vertx\nfunction useVertxTimer() {\n if (typeof vertxNext !== 'undefined') {\n return function () {\n vertxNext(flush);\n };\n }\n\n return useSetTimeout();\n}\n\nfunction useMutationObserver() {\n var iterations = 0;\n var observer = new BrowserMutationObserver(flush);\n var node = document.createTextNode('');\n observer.observe(node, { characterData: true });\n\n return function () {\n node.data = iterations = ++iterations % 2;\n };\n}\n\n// web worker\nfunction useMessageChannel() {\n var channel = new MessageChannel();\n channel.port1.onmessage = flush;\n return function () {\n return channel.port2.postMessage(0);\n };\n}\n\nfunction useSetTimeout() {\n // Store setTimeout reference so es6-promise will be unaffected by\n // other code modifying setTimeout (like sinon.useFakeTimers())\n var globalSetTimeout = setTimeout;\n return function () {\n return globalSetTimeout(flush, 1);\n };\n}\n\nvar queue = new Array(1000);\nfunction flush() {\n for (var i = 0; i < len; i += 2) {\n var callback = queue[i];\n var arg = queue[i + 1];\n\n callback(arg);\n\n queue[i] = undefined;\n queue[i + 1] = undefined;\n }\n\n len = 0;\n}\n\nfunction attemptVertx() {\n try {\n var vertx = Function('return this')().require('vertx');\n vertxNext = vertx.runOnLoop || vertx.runOnContext;\n return useVertxTimer();\n } catch (e) {\n return useSetTimeout();\n }\n}\n\nvar scheduleFlush = void 0;\n// Decide what async method to use to triggering processing of queued callbacks:\nif (isNode) {\n scheduleFlush = useNextTick();\n} else if (BrowserMutationObserver) {\n scheduleFlush = useMutationObserver();\n} else if (isWorker) {\n scheduleFlush = useMessageChannel();\n} else if (browserWindow === undefined && typeof require === 'function') {\n scheduleFlush = attemptVertx();\n} else {\n scheduleFlush = useSetTimeout();\n}","import { invokeCallback, subscribe, FULFILLED, REJECTED, noop, makePromise, PROMISE_ID } from './-internal';\n\nimport { asap } from './asap';\n\nexport default function then(onFulfillment, onRejection) {\n var parent = this;\n\n var child = new this.constructor(noop);\n\n if (child[PROMISE_ID] === undefined) {\n makePromise(child);\n }\n\n var _state = parent._state;\n\n\n if (_state) {\n var callback = arguments[_state - 1];\n asap(function () {\n return invokeCallback(_state, child, callback, parent._result);\n });\n } else {\n subscribe(parent, child, onFulfillment, onRejection);\n }\n\n return child;\n}","import { noop, resolve as _resolve } from '../-internal';\n\n/**\n `Promise.resolve` returns a promise that will become resolved with the\n passed `value`. It is shorthand for the following:\n\n ```javascript\n let promise = new Promise(function(resolve, reject){\n resolve(1);\n });\n\n promise.then(function(value){\n // value === 1\n });\n ```\n\n Instead of writing the above, your code now simply becomes the following:\n\n ```javascript\n let promise = Promise.resolve(1);\n\n promise.then(function(value){\n // value === 1\n });\n ```\n\n @method resolve\n @static\n @param {Any} value value that the returned promise will be resolved with\n Useful for tooling.\n @return {Promise} a promise that will become fulfilled with the given\n `value`\n*/\nexport default function resolve(object) {\n /*jshint validthis:true */\n var Constructor = this;\n\n if (object && typeof object === 'object' && object.constructor === Constructor) {\n return object;\n }\n\n var promise = new Constructor(noop);\n _resolve(promise, object);\n return promise;\n}","import { objectOrFunction, isFunction } from './utils';\n\nimport { asap } from './asap';\n\nimport originalThen from './then';\nimport originalResolve from './promise/resolve';\n\nexport var PROMISE_ID = Math.random().toString(36).substring(2);\n\nfunction noop() {}\n\nvar PENDING = void 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\n\nvar TRY_CATCH_ERROR = { error: null };\n\nfunction selfFulfillment() {\n return new TypeError(\"You cannot resolve a promise with itself\");\n}\n\nfunction cannotReturnOwn() {\n return new TypeError('A promises callback cannot return that same promise.');\n}\n\nfunction getThen(promise) {\n try {\n return promise.then;\n } catch (error) {\n TRY_CATCH_ERROR.error = error;\n return TRY_CATCH_ERROR;\n }\n}\n\nfunction tryThen(then, value, fulfillmentHandler, rejectionHandler) {\n try {\n then.call(value, fulfillmentHandler, rejectionHandler);\n } catch (e) {\n return e;\n }\n}\n\nfunction handleForeignThenable(promise, thenable, then) {\n asap(function (promise) {\n var sealed = false;\n var error = tryThen(then, thenable, function (value) {\n if (sealed) {\n return;\n }\n sealed = true;\n if (thenable !== value) {\n resolve(promise, value);\n } else {\n fulfill(promise, value);\n }\n }, function (reason) {\n if (sealed) {\n return;\n }\n sealed = true;\n\n reject(promise, reason);\n }, 'Settle: ' + (promise._label || ' unknown promise'));\n\n if (!sealed && error) {\n sealed = true;\n reject(promise, error);\n }\n }, promise);\n}\n\nfunction handleOwnThenable(promise, thenable) {\n if (thenable._state === FULFILLED) {\n fulfill(promise, thenable._result);\n } else if (thenable._state === REJECTED) {\n reject(promise, thenable._result);\n } else {\n subscribe(thenable, undefined, function (value) {\n return resolve(promise, value);\n }, function (reason) {\n return reject(promise, reason);\n });\n }\n}\n\nfunction handleMaybeThenable(promise, maybeThenable, then) {\n if (maybeThenable.constructor === promise.constructor && then === originalThen && maybeThenable.constructor.resolve === originalResolve) {\n handleOwnThenable(promise, maybeThenable);\n } else {\n if (then === TRY_CATCH_ERROR) {\n reject(promise, TRY_CATCH_ERROR.error);\n TRY_CATCH_ERROR.error = null;\n } else if (then === undefined) {\n fulfill(promise, maybeThenable);\n } else if (isFunction(then)) {\n handleForeignThenable(promise, maybeThenable, then);\n } else {\n fulfill(promise, maybeThenable);\n }\n }\n}\n\nfunction resolve(promise, value) {\n if (promise === value) {\n reject(promise, selfFulfillment());\n } else if (objectOrFunction(value)) {\n handleMaybeThenable(promise, value, getThen(value));\n } else {\n fulfill(promise, value);\n }\n}\n\nfunction publishRejection(promise) {\n if (promise._onerror) {\n promise._onerror(promise._result);\n }\n\n publish(promise);\n}\n\nfunction fulfill(promise, value) {\n if (promise._state !== PENDING) {\n return;\n }\n\n promise._result = value;\n promise._state = FULFILLED;\n\n if (promise._subscribers.length !== 0) {\n asap(publish, promise);\n }\n}\n\nfunction reject(promise, reason) {\n if (promise._state !== PENDING) {\n return;\n }\n promise._state = REJECTED;\n promise._result = reason;\n\n asap(publishRejection, promise);\n}\n\nfunction subscribe(parent, child, onFulfillment, onRejection) {\n var _subscribers = parent._subscribers;\n var length = _subscribers.length;\n\n\n parent._onerror = null;\n\n _subscribers[length] = child;\n _subscribers[length + FULFILLED] = onFulfillment;\n _subscribers[length + REJECTED] = onRejection;\n\n if (length === 0 && parent._state) {\n asap(publish, parent);\n }\n}\n\nfunction publish(promise) {\n var subscribers = promise._subscribers;\n var settled = promise._state;\n\n if (subscribers.length === 0) {\n return;\n }\n\n var child = void 0,\n callback = void 0,\n detail = promise._result;\n\n for (var i = 0; i < subscribers.length; i += 3) {\n child = subscribers[i];\n callback = subscribers[i + settled];\n\n if (child) {\n invokeCallback(settled, child, callback, detail);\n } else {\n callback(detail);\n }\n }\n\n promise._subscribers.length = 0;\n}\n\nfunction tryCatch(callback, detail) {\n try {\n return callback(detail);\n } catch (e) {\n TRY_CATCH_ERROR.error = e;\n return TRY_CATCH_ERROR;\n }\n}\n\nfunction invokeCallback(settled, promise, callback, detail) {\n var hasCallback = isFunction(callback),\n value = void 0,\n error = void 0,\n succeeded = void 0,\n failed = void 0;\n\n if (hasCallback) {\n value = tryCatch(callback, detail);\n\n if (value === TRY_CATCH_ERROR) {\n failed = true;\n error = value.error;\n value.error = null;\n } else {\n succeeded = true;\n }\n\n if (promise === value) {\n reject(promise, cannotReturnOwn());\n return;\n }\n } else {\n value = detail;\n succeeded = true;\n }\n\n if (promise._state !== PENDING) {\n // noop\n } else if (hasCallback && succeeded) {\n resolve(promise, value);\n } else if (failed) {\n reject(promise, error);\n } else if (settled === FULFILLED) {\n fulfill(promise, value);\n } else if (settled === REJECTED) {\n reject(promise, value);\n }\n}\n\nfunction initializePromise(promise, resolver) {\n try {\n resolver(function resolvePromise(value) {\n resolve(promise, value);\n }, function rejectPromise(reason) {\n reject(promise, reason);\n });\n } catch (e) {\n reject(promise, e);\n }\n}\n\nvar id = 0;\nfunction nextId() {\n return id++;\n}\n\nfunction makePromise(promise) {\n promise[PROMISE_ID] = id++;\n promise._state = undefined;\n promise._result = undefined;\n promise._subscribers = [];\n}\n\nexport { nextId, makePromise, getThen, noop, resolve, reject, fulfill, subscribe, publish, publishRejection, initializePromise, invokeCallback, FULFILLED, REJECTED, PENDING, handleMaybeThenable };","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nimport { isArray, isMaybeThenable } from './utils';\nimport { noop, reject, fulfill, subscribe, FULFILLED, REJECTED, PENDING, getThen, handleMaybeThenable } from './-internal';\n\nimport then from './then';\nimport Promise from './promise';\nimport originalResolve from './promise/resolve';\nimport originalThen from './then';\nimport { makePromise, PROMISE_ID } from './-internal';\n\nfunction validationError() {\n return new Error('Array Methods must be provided an Array');\n};\n\nvar Enumerator = function () {\n function Enumerator(Constructor, input) {\n this._instanceConstructor = Constructor;\n this.promise = new Constructor(noop);\n\n if (!this.promise[PROMISE_ID]) {\n makePromise(this.promise);\n }\n\n if (isArray(input)) {\n this.length = input.length;\n this._remaining = input.length;\n\n this._result = new Array(this.length);\n\n if (this.length === 0) {\n fulfill(this.promise, this._result);\n } else {\n this.length = this.length || 0;\n this._enumerate(input);\n if (this._remaining === 0) {\n fulfill(this.promise, this._result);\n }\n }\n } else {\n reject(this.promise, validationError());\n }\n }\n\n Enumerator.prototype._enumerate = function _enumerate(input) {\n for (var i = 0; this._state === PENDING && i < input.length; i++) {\n this._eachEntry(input[i], i);\n }\n };\n\n Enumerator.prototype._eachEntry = function _eachEntry(entry, i) {\n var c = this._instanceConstructor;\n var resolve = c.resolve;\n\n\n if (resolve === originalResolve) {\n var _then = getThen(entry);\n\n if (_then === originalThen && entry._state !== PENDING) {\n this._settledAt(entry._state, i, entry._result);\n } else if (typeof _then !== 'function') {\n this._remaining--;\n this._result[i] = entry;\n } else if (c === Promise) {\n var promise = new c(noop);\n handleMaybeThenable(promise, entry, _then);\n this._willSettleAt(promise, i);\n } else {\n this._willSettleAt(new c(function (resolve) {\n return resolve(entry);\n }), i);\n }\n } else {\n this._willSettleAt(resolve(entry), i);\n }\n };\n\n Enumerator.prototype._settledAt = function _settledAt(state, i, value) {\n var promise = this.promise;\n\n\n if (promise._state === PENDING) {\n this._remaining--;\n\n if (state === REJECTED) {\n reject(promise, value);\n } else {\n this._result[i] = value;\n }\n }\n\n if (this._remaining === 0) {\n fulfill(promise, this._result);\n }\n };\n\n Enumerator.prototype._willSettleAt = function _willSettleAt(promise, i) {\n var enumerator = this;\n\n subscribe(promise, undefined, function (value) {\n return enumerator._settledAt(FULFILLED, i, value);\n }, function (reason) {\n return enumerator._settledAt(REJECTED, i, reason);\n });\n };\n\n return Enumerator;\n}();\n\nexport default Enumerator;\n;","import Enumerator from '../enumerator';\n\n/**\n `Promise.all` accepts an array of promises, and returns a new promise which\n is fulfilled with an array of fulfillment values for the passed promises, or\n rejected with the reason of the first passed promise to be rejected. It casts all\n elements of the passed iterable to promises as it runs this algorithm.\n\n Example:\n\n ```javascript\n let promise1 = resolve(1);\n let promise2 = resolve(2);\n let promise3 = resolve(3);\n let promises = [ promise1, promise2, promise3 ];\n\n Promise.all(promises).then(function(array){\n // The array here would be [ 1, 2, 3 ];\n });\n ```\n\n If any of the `promises` given to `all` are rejected, the first promise\n that is rejected will be given as an argument to the returned promises's\n rejection handler. For example:\n\n Example:\n\n ```javascript\n let promise1 = resolve(1);\n let promise2 = reject(new Error(\"2\"));\n let promise3 = reject(new Error(\"3\"));\n let promises = [ promise1, promise2, promise3 ];\n\n Promise.all(promises).then(function(array){\n // Code here never runs because there are rejected promises!\n }, function(error) {\n // error.message === \"2\"\n });\n ```\n\n @method all\n @static\n @param {Array} entries array of promises\n @param {String} label optional string for labeling the promise.\n Useful for tooling.\n @return {Promise} promise that is fulfilled when all `promises` have been\n fulfilled, or rejected if any of them become rejected.\n @static\n*/\nexport default function all(entries) {\n return new Enumerator(this, entries).promise;\n}","import { isArray } from \"../utils\";\n\n/**\n `Promise.race` returns a new promise which is settled in the same way as the\n first passed promise to settle.\n\n Example:\n\n ```javascript\n let promise1 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 1');\n }, 200);\n });\n\n let promise2 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 2');\n }, 100);\n });\n\n Promise.race([promise1, promise2]).then(function(result){\n // result === 'promise 2' because it was resolved before promise1\n // was resolved.\n });\n ```\n\n `Promise.race` is deterministic in that only the state of the first\n settled promise matters. For example, even if other promises given to the\n `promises` array argument are resolved, but the first settled promise has\n become rejected before the other promises became fulfilled, the returned\n promise will become rejected:\n\n ```javascript\n let promise1 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 1');\n }, 200);\n });\n\n let promise2 = new Promise(function(resolve, reject){\n setTimeout(function(){\n reject(new Error('promise 2'));\n }, 100);\n });\n\n Promise.race([promise1, promise2]).then(function(result){\n // Code here never runs\n }, function(reason){\n // reason.message === 'promise 2' because promise 2 became rejected before\n // promise 1 became fulfilled\n });\n ```\n\n An example real-world use case is implementing timeouts:\n\n ```javascript\n Promise.race([ajax('foo.json'), timeout(5000)])\n ```\n\n @method race\n @static\n @param {Array} promises array of promises to observe\n Useful for tooling.\n @return {Promise} a promise which settles in the same way as the first passed\n promise to settle.\n*/\nexport default function race(entries) {\n /*jshint validthis:true */\n var Constructor = this;\n\n if (!isArray(entries)) {\n return new Constructor(function (_, reject) {\n return reject(new TypeError('You must pass an array to race.'));\n });\n } else {\n return new Constructor(function (resolve, reject) {\n var length = entries.length;\n for (var i = 0; i < length; i++) {\n Constructor.resolve(entries[i]).then(resolve, reject);\n }\n });\n }\n}","import { noop, reject as _reject } from '../-internal';\n\n/**\n `Promise.reject` returns a promise rejected with the passed `reason`.\n It is shorthand for the following:\n\n ```javascript\n let promise = new Promise(function(resolve, reject){\n reject(new Error('WHOOPS'));\n });\n\n promise.then(function(value){\n // Code here doesn't run because the promise is rejected!\n }, function(reason){\n // reason.message === 'WHOOPS'\n });\n ```\n\n Instead of writing the above, your code now simply becomes the following:\n\n ```javascript\n let promise = Promise.reject(new Error('WHOOPS'));\n\n promise.then(function(value){\n // Code here doesn't run because the promise is rejected!\n }, function(reason){\n // reason.message === 'WHOOPS'\n });\n ```\n\n @method reject\n @static\n @param {Any} reason value that the returned promise will be rejected with.\n Useful for tooling.\n @return {Promise} a promise rejected with the given `reason`.\n*/\nexport default function reject(reason) {\n /*jshint validthis:true */\n var Constructor = this;\n var promise = new Constructor(noop);\n _reject(promise, reason);\n return promise;\n}","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nimport { isFunction } from './utils';\nimport { noop, nextId, PROMISE_ID, initializePromise } from './-internal';\nimport { asap, setAsap, setScheduler } from './asap';\n\nimport all from './promise/all';\nimport race from './promise/race';\nimport Resolve from './promise/resolve';\nimport Reject from './promise/reject';\nimport then from './then';\n\nfunction needsResolver() {\n throw new TypeError('You must pass a resolver function as the first argument to the promise constructor');\n}\n\nfunction needsNew() {\n throw new TypeError(\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\");\n}\n\n/**\n Promise objects represent the eventual result of an asynchronous operation. The\n primary way of interacting with a promise is through its `then` method, which\n registers callbacks to receive either a promise's eventual value or the reason\n why the promise cannot be fulfilled.\n\n Terminology\n -----------\n\n - `promise` is an object or function with a `then` method whose behavior conforms to this specification.\n - `thenable` is an object or function that defines a `then` method.\n - `value` is any legal JavaScript value (including undefined, a thenable, or a promise).\n - `exception` is a value that is thrown using the throw statement.\n - `reason` is a value that indicates why a promise was rejected.\n - `settled` the final resting state of a promise, fulfilled or rejected.\n\n A promise can be in one of three states: pending, fulfilled, or rejected.\n\n Promises that are fulfilled have a fulfillment value and are in the fulfilled\n state. Promises that are rejected have a rejection reason and are in the\n rejected state. A fulfillment value is never a thenable.\n\n Promises can also be said to *resolve* a value. If this value is also a\n promise, then the original promise's settled state will match the value's\n settled state. So a promise that *resolves* a promise that rejects will\n itself reject, and a promise that *resolves* a promise that fulfills will\n itself fulfill.\n\n\n Basic Usage:\n ------------\n\n ```js\n let promise = new Promise(function(resolve, reject) {\n // on success\n resolve(value);\n\n // on failure\n reject(reason);\n });\n\n promise.then(function(value) {\n // on fulfillment\n }, function(reason) {\n // on rejection\n });\n ```\n\n Advanced Usage:\n ---------------\n\n Promises shine when abstracting away asynchronous interactions such as\n `XMLHttpRequest`s.\n\n ```js\n function getJSON(url) {\n return new Promise(function(resolve, reject){\n let xhr = new XMLHttpRequest();\n\n xhr.open('GET', url);\n xhr.onreadystatechange = handler;\n xhr.responseType = 'json';\n xhr.setRequestHeader('Accept', 'application/json');\n xhr.send();\n\n function handler() {\n if (this.readyState === this.DONE) {\n if (this.status === 200) {\n resolve(this.response);\n } else {\n reject(new Error('getJSON: `' + url + '` failed with status: [' + this.status + ']'));\n }\n }\n };\n });\n }\n\n getJSON('/posts.json').then(function(json) {\n // on fulfillment\n }, function(reason) {\n // on rejection\n });\n ```\n\n Unlike callbacks, promises are great composable primitives.\n\n ```js\n Promise.all([\n getJSON('/posts'),\n getJSON('/comments')\n ]).then(function(values){\n values[0] // => postsJSON\n values[1] // => commentsJSON\n\n return values;\n });\n ```\n\n @class Promise\n @param {Function} resolver\n Useful for tooling.\n @constructor\n*/\n\nvar Promise = function () {\n function Promise(resolver) {\n this[PROMISE_ID] = nextId();\n this._result = this._state = undefined;\n this._subscribers = [];\n\n if (noop !== resolver) {\n typeof resolver !== 'function' && needsResolver();\n this instanceof Promise ? initializePromise(this, resolver) : needsNew();\n }\n }\n\n /**\n The primary way of interacting with a promise is through its `then` method,\n which registers callbacks to receive either a promise's eventual value or the\n reason why the promise cannot be fulfilled.\n ```js\n findUser().then(function(user){\n // user is available\n }, function(reason){\n // user is unavailable, and you are given the reason why\n });\n ```\n Chaining\n --------\n The return value of `then` is itself a promise. This second, 'downstream'\n promise is resolved with the return value of the first promise's fulfillment\n or rejection handler, or rejected if the handler throws an exception.\n ```js\n findUser().then(function (user) {\n return user.name;\n }, function (reason) {\n return 'default name';\n }).then(function (userName) {\n // If `findUser` fulfilled, `userName` will be the user's name, otherwise it\n // will be `'default name'`\n });\n findUser().then(function (user) {\n throw new Error('Found user, but still unhappy');\n }, function (reason) {\n throw new Error('`findUser` rejected and we're unhappy');\n }).then(function (value) {\n // never reached\n }, function (reason) {\n // if `findUser` fulfilled, `reason` will be 'Found user, but still unhappy'.\n // If `findUser` rejected, `reason` will be '`findUser` rejected and we're unhappy'.\n });\n ```\n If the downstream promise does not specify a rejection handler, rejection reasons will be propagated further downstream.\n ```js\n findUser().then(function (user) {\n throw new PedagogicalException('Upstream error');\n }).then(function (value) {\n // never reached\n }).then(function (value) {\n // never reached\n }, function (reason) {\n // The `PedgagocialException` is propagated all the way down to here\n });\n ```\n Assimilation\n ------------\n Sometimes the value you want to propagate to a downstream promise can only be\n retrieved asynchronously. This can be achieved by returning a promise in the\n fulfillment or rejection handler. The downstream promise will then be pending\n until the returned promise is settled. This is called *assimilation*.\n ```js\n findUser().then(function (user) {\n return findCommentsByAuthor(user);\n }).then(function (comments) {\n // The user's comments are now available\n });\n ```\n If the assimliated promise rejects, then the downstream promise will also reject.\n ```js\n findUser().then(function (user) {\n return findCommentsByAuthor(user);\n }).then(function (comments) {\n // If `findCommentsByAuthor` fulfills, we'll have the value here\n }, function (reason) {\n // If `findCommentsByAuthor` rejects, we'll have the reason here\n });\n ```\n Simple Example\n --------------\n Synchronous Example\n ```javascript\n let result;\n try {\n result = findResult();\n // success\n } catch(reason) {\n // failure\n }\n ```\n Errback Example\n ```js\n findResult(function(result, err){\n if (err) {\n // failure\n } else {\n // success\n }\n });\n ```\n Promise Example;\n ```javascript\n findResult().then(function(result){\n // success\n }, function(reason){\n // failure\n });\n ```\n Advanced Example\n --------------\n Synchronous Example\n ```javascript\n let author, books;\n try {\n author = findAuthor();\n books = findBooksByAuthor(author);\n // success\n } catch(reason) {\n // failure\n }\n ```\n Errback Example\n ```js\n function foundBooks(books) {\n }\n function failure(reason) {\n }\n findAuthor(function(author, err){\n if (err) {\n failure(err);\n // failure\n } else {\n try {\n findBoooksByAuthor(author, function(books, err) {\n if (err) {\n failure(err);\n } else {\n try {\n foundBooks(books);\n } catch(reason) {\n failure(reason);\n }\n }\n });\n } catch(error) {\n failure(err);\n }\n // success\n }\n });\n ```\n Promise Example;\n ```javascript\n findAuthor().\n then(findBooksByAuthor).\n then(function(books){\n // found books\n }).catch(function(reason){\n // something went wrong\n });\n ```\n @method then\n @param {Function} onFulfilled\n @param {Function} onRejected\n Useful for tooling.\n @return {Promise}\n */\n\n /**\n `catch` is simply sugar for `then(undefined, onRejection)` which makes it the same\n as the catch block of a try/catch statement.\n ```js\n function findAuthor(){\n throw new Error('couldn't find that author');\n }\n // synchronous\n try {\n findAuthor();\n } catch(reason) {\n // something went wrong\n }\n // async with promises\n findAuthor().catch(function(reason){\n // something went wrong\n });\n ```\n @method catch\n @param {Function} onRejection\n Useful for tooling.\n @return {Promise}\n */\n\n\n Promise.prototype.catch = function _catch(onRejection) {\n return this.then(null, onRejection);\n };\n\n /**\n `finally` will be invoked regardless of the promise's fate just as native\n try/catch/finally behaves\n \n Synchronous example:\n \n ```js\n findAuthor() {\n if (Math.random() > 0.5) {\n throw new Error();\n }\n return new Author();\n }\n \n try {\n return findAuthor(); // succeed or fail\n } catch(error) {\n return findOtherAuther();\n } finally {\n // always runs\n // doesn't affect the return value\n }\n ```\n \n Asynchronous example:\n \n ```js\n findAuthor().catch(function(reason){\n return findOtherAuther();\n }).finally(function(){\n // author was either found, or not\n });\n ```\n \n @method finally\n @param {Function} callback\n @return {Promise}\n */\n\n\n Promise.prototype.finally = function _finally(callback) {\n var promise = this;\n var constructor = promise.constructor;\n\n if (isFunction(callback)) {\n return promise.then(function (value) {\n return constructor.resolve(callback()).then(function () {\n return value;\n });\n }, function (reason) {\n return constructor.resolve(callback()).then(function () {\n throw reason;\n });\n });\n }\n\n return promise.then(callback, callback);\n };\n\n return Promise;\n}();\n\nPromise.prototype.then = then;\nexport default Promise;\nPromise.all = all;\nPromise.race = race;\nPromise.resolve = Resolve;\nPromise.reject = Reject;\nPromise._setScheduler = setScheduler;\nPromise._setAsap = setAsap;\nPromise._asap = asap;","/*global self*/\nimport Promise from './promise';\n\nexport default function polyfill() {\n var local = void 0;\n\n if (typeof global !== 'undefined') {\n local = global;\n } else if (typeof self !== 'undefined') {\n local = self;\n } else {\n try {\n local = Function('return this')();\n } catch (e) {\n throw new Error('polyfill failed because global object is unavailable in this environment');\n }\n }\n\n var P = local.Promise;\n\n if (P) {\n var promiseToString = null;\n try {\n promiseToString = Object.prototype.toString.call(P.resolve());\n } catch (e) {\n // silently ignored\n }\n\n if (promiseToString === '[object Promise]' && !P.cast) {\n return;\n }\n }\n\n local.Promise = Promise;\n}","import Promise from './es6-promise/promise';\nimport polyfill from './es6-promise/polyfill';\n\n// Strange compat..\nPromise.polyfill = polyfill;\nPromise.Promise = Promise;\nexport default Promise;","import Promise from './es6-promise';\nPromise.polyfill();\nexport default Promise;"],"names":["resolve","_resolve","then","originalThen","originalResolve","Promise","reject","_reject","Resolve","Reject"],"mappings":"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","file":"es6-promise.auto.js"} \ No newline at end of file diff --git a/express-server/node_modules/es6-promise/dist/es6-promise.auto.min.js b/express-server/node_modules/es6-promise/dist/es6-promise.auto.min.js new file mode 100644 index 00000000..586ddb4b --- /dev/null +++ b/express-server/node_modules/es6-promise/dist/es6-promise.auto.min.js @@ -0,0 +1 @@ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.ES6Promise=e()}(this,function(){"use strict";function t(t){var e=typeof t;return null!==t&&("object"===e||"function"===e)}function e(t){return"function"==typeof t}function n(t){B=t}function r(t){G=t}function o(){return function(){return process.nextTick(a)}}function i(){return"undefined"!=typeof z?function(){z(a)}:c()}function s(){var t=0,e=new J(a),n=document.createTextNode("");return e.observe(n,{characterData:!0}),function(){n.data=t=++t%2}}function u(){var t=new MessageChannel;return t.port1.onmessage=a,function(){return t.port2.postMessage(0)}}function c(){var t=setTimeout;return function(){return t(a,1)}}function a(){for(var t=0;t postsJSON\n values[1] // => commentsJSON\n\n return values;\n });\n ```\n\n @class Promise\n @param {Function} resolver\n Useful for tooling.\n @constructor\n*/\n\nvar Promise = function () {\n function Promise(resolver) {\n this[PROMISE_ID] = nextId();\n this._result = this._state = undefined;\n this._subscribers = [];\n\n if (noop !== resolver) {\n typeof resolver !== 'function' && needsResolver();\n this instanceof Promise ? initializePromise(this, resolver) : needsNew();\n }\n }\n\n /**\n The primary way of interacting with a promise is through its `then` method,\n which registers callbacks to receive either a promise's eventual value or the\n reason why the promise cannot be fulfilled.\n ```js\n findUser().then(function(user){\n // user is available\n }, function(reason){\n // user is unavailable, and you are given the reason why\n });\n ```\n Chaining\n --------\n The return value of `then` is itself a promise. This second, 'downstream'\n promise is resolved with the return value of the first promise's fulfillment\n or rejection handler, or rejected if the handler throws an exception.\n ```js\n findUser().then(function (user) {\n return user.name;\n }, function (reason) {\n return 'default name';\n }).then(function (userName) {\n // If `findUser` fulfilled, `userName` will be the user's name, otherwise it\n // will be `'default name'`\n });\n findUser().then(function (user) {\n throw new Error('Found user, but still unhappy');\n }, function (reason) {\n throw new Error('`findUser` rejected and we're unhappy');\n }).then(function (value) {\n // never reached\n }, function (reason) {\n // if `findUser` fulfilled, `reason` will be 'Found user, but still unhappy'.\n // If `findUser` rejected, `reason` will be '`findUser` rejected and we're unhappy'.\n });\n ```\n If the downstream promise does not specify a rejection handler, rejection reasons will be propagated further downstream.\n ```js\n findUser().then(function (user) {\n throw new PedagogicalException('Upstream error');\n }).then(function (value) {\n // never reached\n }).then(function (value) {\n // never reached\n }, function (reason) {\n // The `PedgagocialException` is propagated all the way down to here\n });\n ```\n Assimilation\n ------------\n Sometimes the value you want to propagate to a downstream promise can only be\n retrieved asynchronously. This can be achieved by returning a promise in the\n fulfillment or rejection handler. The downstream promise will then be pending\n until the returned promise is settled. This is called *assimilation*.\n ```js\n findUser().then(function (user) {\n return findCommentsByAuthor(user);\n }).then(function (comments) {\n // The user's comments are now available\n });\n ```\n If the assimliated promise rejects, then the downstream promise will also reject.\n ```js\n findUser().then(function (user) {\n return findCommentsByAuthor(user);\n }).then(function (comments) {\n // If `findCommentsByAuthor` fulfills, we'll have the value here\n }, function (reason) {\n // If `findCommentsByAuthor` rejects, we'll have the reason here\n });\n ```\n Simple Example\n --------------\n Synchronous Example\n ```javascript\n let result;\n try {\n result = findResult();\n // success\n } catch(reason) {\n // failure\n }\n ```\n Errback Example\n ```js\n findResult(function(result, err){\n if (err) {\n // failure\n } else {\n // success\n }\n });\n ```\n Promise Example;\n ```javascript\n findResult().then(function(result){\n // success\n }, function(reason){\n // failure\n });\n ```\n Advanced Example\n --------------\n Synchronous Example\n ```javascript\n let author, books;\n try {\n author = findAuthor();\n books = findBooksByAuthor(author);\n // success\n } catch(reason) {\n // failure\n }\n ```\n Errback Example\n ```js\n function foundBooks(books) {\n }\n function failure(reason) {\n }\n findAuthor(function(author, err){\n if (err) {\n failure(err);\n // failure\n } else {\n try {\n findBoooksByAuthor(author, function(books, err) {\n if (err) {\n failure(err);\n } else {\n try {\n foundBooks(books);\n } catch(reason) {\n failure(reason);\n }\n }\n });\n } catch(error) {\n failure(err);\n }\n // success\n }\n });\n ```\n Promise Example;\n ```javascript\n findAuthor().\n then(findBooksByAuthor).\n then(function(books){\n // found books\n }).catch(function(reason){\n // something went wrong\n });\n ```\n @method then\n @param {Function} onFulfilled\n @param {Function} onRejected\n Useful for tooling.\n @return {Promise}\n */\n\n /**\n `catch` is simply sugar for `then(undefined, onRejection)` which makes it the same\n as the catch block of a try/catch statement.\n ```js\n function findAuthor(){\n throw new Error('couldn't find that author');\n }\n // synchronous\n try {\n findAuthor();\n } catch(reason) {\n // something went wrong\n }\n // async with promises\n findAuthor().catch(function(reason){\n // something went wrong\n });\n ```\n @method catch\n @param {Function} onRejection\n Useful for tooling.\n @return {Promise}\n */\n\n\n Promise.prototype.catch = function _catch(onRejection) {\n return this.then(null, onRejection);\n };\n\n /**\n `finally` will be invoked regardless of the promise's fate just as native\n try/catch/finally behaves\n \n Synchronous example:\n \n ```js\n findAuthor() {\n if (Math.random() > 0.5) {\n throw new Error();\n }\n return new Author();\n }\n \n try {\n return findAuthor(); // succeed or fail\n } catch(error) {\n return findOtherAuther();\n } finally {\n // always runs\n // doesn't affect the return value\n }\n ```\n \n Asynchronous example:\n \n ```js\n findAuthor().catch(function(reason){\n return findOtherAuther();\n }).finally(function(){\n // author was either found, or not\n });\n ```\n \n @method finally\n @param {Function} callback\n @return {Promise}\n */\n\n\n Promise.prototype.finally = function _finally(callback) {\n var promise = this;\n var constructor = promise.constructor;\n\n if (isFunction(callback)) {\n return promise.then(function (value) {\n return constructor.resolve(callback()).then(function () {\n return value;\n });\n }, function (reason) {\n return constructor.resolve(callback()).then(function () {\n throw reason;\n });\n });\n }\n\n return promise.then(callback, callback);\n };\n\n return Promise;\n}();\n\nPromise.prototype.then = then;\nexport default Promise;\nPromise.all = all;\nPromise.race = race;\nPromise.resolve = Resolve;\nPromise.reject = Reject;\nPromise._setScheduler = setScheduler;\nPromise._setAsap = setAsap;\nPromise._asap = asap;","/*global self*/\nimport Promise from './promise';\n\nexport default function polyfill() {\n var local = void 0;\n\n if (typeof global !== 'undefined') {\n local = global;\n } else if (typeof self !== 'undefined') {\n local = self;\n } else {\n try {\n local = Function('return this')();\n } catch (e) {\n throw new Error('polyfill failed because global object is unavailable in this environment');\n }\n }\n\n var P = local.Promise;\n\n if (P) {\n var promiseToString = null;\n try {\n promiseToString = Object.prototype.toString.call(P.resolve());\n } catch (e) {\n // silently ignored\n }\n\n if (promiseToString === '[object Promise]' && !P.cast) {\n return;\n }\n }\n\n local.Promise = Promise;\n}","import Promise from './es6-promise/promise';\nimport polyfill from './es6-promise/polyfill';\n\n// Strange compat..\nPromise.polyfill = polyfill;\nPromise.Promise = Promise;\nexport default Promise;","import Promise from './es6-promise';\nPromise.polyfill();\nexport default Promise;"],"names":["resolve","_resolve","then","originalThen","originalResolve","Promise","reject","_reject","Resolve","Reject"],"mappings":"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","file":"es6-promise.auto.min.js"} \ No newline at end of file diff --git a/express-server/node_modules/es6-promise/dist/es6-promise.js b/express-server/node_modules/es6-promise/dist/es6-promise.js new file mode 100644 index 00000000..5569f0bb --- /dev/null +++ b/express-server/node_modules/es6-promise/dist/es6-promise.js @@ -0,0 +1,1183 @@ +/*! + * @overview es6-promise - a tiny implementation of Promises/A+. + * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald) + * @license Licensed under MIT license + * See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE + * @version v4.2.5+7f2b526d + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global.ES6Promise = factory()); +}(this, (function () { 'use strict'; + +function objectOrFunction(x) { + var type = typeof x; + return x !== null && (type === 'object' || type === 'function'); +} + +function isFunction(x) { + return typeof x === 'function'; +} + + + +var _isArray = void 0; +if (Array.isArray) { + _isArray = Array.isArray; +} else { + _isArray = function (x) { + return Object.prototype.toString.call(x) === '[object Array]'; + }; +} + +var isArray = _isArray; + +var len = 0; +var vertxNext = void 0; +var customSchedulerFn = void 0; + +var asap = function asap(callback, arg) { + queue[len] = callback; + queue[len + 1] = arg; + len += 2; + if (len === 2) { + // If len is 2, that means that we need to schedule an async flush. + // If additional callbacks are queued before the queue is flushed, they + // will be processed by this flush that we are scheduling. + if (customSchedulerFn) { + customSchedulerFn(flush); + } else { + scheduleFlush(); + } + } +}; + +function setScheduler(scheduleFn) { + customSchedulerFn = scheduleFn; +} + +function setAsap(asapFn) { + asap = asapFn; +} + +var browserWindow = typeof window !== 'undefined' ? window : undefined; +var browserGlobal = browserWindow || {}; +var BrowserMutationObserver = browserGlobal.MutationObserver || browserGlobal.WebKitMutationObserver; +var isNode = typeof self === 'undefined' && typeof process !== 'undefined' && {}.toString.call(process) === '[object process]'; + +// test for web worker but not in IE10 +var isWorker = typeof Uint8ClampedArray !== 'undefined' && typeof importScripts !== 'undefined' && typeof MessageChannel !== 'undefined'; + +// node +function useNextTick() { + // node version 0.10.x displays a deprecation warning when nextTick is used recursively + // see https://github.com/cujojs/when/issues/410 for details + return function () { + return process.nextTick(flush); + }; +} + +// vertx +function useVertxTimer() { + if (typeof vertxNext !== 'undefined') { + return function () { + vertxNext(flush); + }; + } + + return useSetTimeout(); +} + +function useMutationObserver() { + var iterations = 0; + var observer = new BrowserMutationObserver(flush); + var node = document.createTextNode(''); + observer.observe(node, { characterData: true }); + + return function () { + node.data = iterations = ++iterations % 2; + }; +} + +// web worker +function useMessageChannel() { + var channel = new MessageChannel(); + channel.port1.onmessage = flush; + return function () { + return channel.port2.postMessage(0); + }; +} + +function useSetTimeout() { + // Store setTimeout reference so es6-promise will be unaffected by + // other code modifying setTimeout (like sinon.useFakeTimers()) + var globalSetTimeout = setTimeout; + return function () { + return globalSetTimeout(flush, 1); + }; +} + +var queue = new Array(1000); +function flush() { + for (var i = 0; i < len; i += 2) { + var callback = queue[i]; + var arg = queue[i + 1]; + + callback(arg); + + queue[i] = undefined; + queue[i + 1] = undefined; + } + + len = 0; +} + +function attemptVertx() { + try { + var vertx = Function('return this')().require('vertx'); + vertxNext = vertx.runOnLoop || vertx.runOnContext; + return useVertxTimer(); + } catch (e) { + return useSetTimeout(); + } +} + +var scheduleFlush = void 0; +// Decide what async method to use to triggering processing of queued callbacks: +if (isNode) { + scheduleFlush = useNextTick(); +} else if (BrowserMutationObserver) { + scheduleFlush = useMutationObserver(); +} else if (isWorker) { + scheduleFlush = useMessageChannel(); +} else if (browserWindow === undefined && typeof require === 'function') { + scheduleFlush = attemptVertx(); +} else { + scheduleFlush = useSetTimeout(); +} + +function then(onFulfillment, onRejection) { + var parent = this; + + var child = new this.constructor(noop); + + if (child[PROMISE_ID] === undefined) { + makePromise(child); + } + + var _state = parent._state; + + + if (_state) { + var callback = arguments[_state - 1]; + asap(function () { + return invokeCallback(_state, child, callback, parent._result); + }); + } else { + subscribe(parent, child, onFulfillment, onRejection); + } + + return child; +} + +/** + `Promise.resolve` returns a promise that will become resolved with the + passed `value`. It is shorthand for the following: + + ```javascript + let promise = new Promise(function(resolve, reject){ + resolve(1); + }); + + promise.then(function(value){ + // value === 1 + }); + ``` + + Instead of writing the above, your code now simply becomes the following: + + ```javascript + let promise = Promise.resolve(1); + + promise.then(function(value){ + // value === 1 + }); + ``` + + @method resolve + @static + @param {Any} value value that the returned promise will be resolved with + Useful for tooling. + @return {Promise} a promise that will become fulfilled with the given + `value` +*/ +function resolve$1(object) { + /*jshint validthis:true */ + var Constructor = this; + + if (object && typeof object === 'object' && object.constructor === Constructor) { + return object; + } + + var promise = new Constructor(noop); + resolve(promise, object); + return promise; +} + +var PROMISE_ID = Math.random().toString(36).substring(2); + +function noop() {} + +var PENDING = void 0; +var FULFILLED = 1; +var REJECTED = 2; + +var TRY_CATCH_ERROR = { error: null }; + +function selfFulfillment() { + return new TypeError("You cannot resolve a promise with itself"); +} + +function cannotReturnOwn() { + return new TypeError('A promises callback cannot return that same promise.'); +} + +function getThen(promise) { + try { + return promise.then; + } catch (error) { + TRY_CATCH_ERROR.error = error; + return TRY_CATCH_ERROR; + } +} + +function tryThen(then$$1, value, fulfillmentHandler, rejectionHandler) { + try { + then$$1.call(value, fulfillmentHandler, rejectionHandler); + } catch (e) { + return e; + } +} + +function handleForeignThenable(promise, thenable, then$$1) { + asap(function (promise) { + var sealed = false; + var error = tryThen(then$$1, thenable, function (value) { + if (sealed) { + return; + } + sealed = true; + if (thenable !== value) { + resolve(promise, value); + } else { + fulfill(promise, value); + } + }, function (reason) { + if (sealed) { + return; + } + sealed = true; + + reject(promise, reason); + }, 'Settle: ' + (promise._label || ' unknown promise')); + + if (!sealed && error) { + sealed = true; + reject(promise, error); + } + }, promise); +} + +function handleOwnThenable(promise, thenable) { + if (thenable._state === FULFILLED) { + fulfill(promise, thenable._result); + } else if (thenable._state === REJECTED) { + reject(promise, thenable._result); + } else { + subscribe(thenable, undefined, function (value) { + return resolve(promise, value); + }, function (reason) { + return reject(promise, reason); + }); + } +} + +function handleMaybeThenable(promise, maybeThenable, then$$1) { + if (maybeThenable.constructor === promise.constructor && then$$1 === then && maybeThenable.constructor.resolve === resolve$1) { + handleOwnThenable(promise, maybeThenable); + } else { + if (then$$1 === TRY_CATCH_ERROR) { + reject(promise, TRY_CATCH_ERROR.error); + TRY_CATCH_ERROR.error = null; + } else if (then$$1 === undefined) { + fulfill(promise, maybeThenable); + } else if (isFunction(then$$1)) { + handleForeignThenable(promise, maybeThenable, then$$1); + } else { + fulfill(promise, maybeThenable); + } + } +} + +function resolve(promise, value) { + if (promise === value) { + reject(promise, selfFulfillment()); + } else if (objectOrFunction(value)) { + handleMaybeThenable(promise, value, getThen(value)); + } else { + fulfill(promise, value); + } +} + +function publishRejection(promise) { + if (promise._onerror) { + promise._onerror(promise._result); + } + + publish(promise); +} + +function fulfill(promise, value) { + if (promise._state !== PENDING) { + return; + } + + promise._result = value; + promise._state = FULFILLED; + + if (promise._subscribers.length !== 0) { + asap(publish, promise); + } +} + +function reject(promise, reason) { + if (promise._state !== PENDING) { + return; + } + promise._state = REJECTED; + promise._result = reason; + + asap(publishRejection, promise); +} + +function subscribe(parent, child, onFulfillment, onRejection) { + var _subscribers = parent._subscribers; + var length = _subscribers.length; + + + parent._onerror = null; + + _subscribers[length] = child; + _subscribers[length + FULFILLED] = onFulfillment; + _subscribers[length + REJECTED] = onRejection; + + if (length === 0 && parent._state) { + asap(publish, parent); + } +} + +function publish(promise) { + var subscribers = promise._subscribers; + var settled = promise._state; + + if (subscribers.length === 0) { + return; + } + + var child = void 0, + callback = void 0, + detail = promise._result; + + for (var i = 0; i < subscribers.length; i += 3) { + child = subscribers[i]; + callback = subscribers[i + settled]; + + if (child) { + invokeCallback(settled, child, callback, detail); + } else { + callback(detail); + } + } + + promise._subscribers.length = 0; +} + +function tryCatch(callback, detail) { + try { + return callback(detail); + } catch (e) { + TRY_CATCH_ERROR.error = e; + return TRY_CATCH_ERROR; + } +} + +function invokeCallback(settled, promise, callback, detail) { + var hasCallback = isFunction(callback), + value = void 0, + error = void 0, + succeeded = void 0, + failed = void 0; + + if (hasCallback) { + value = tryCatch(callback, detail); + + if (value === TRY_CATCH_ERROR) { + failed = true; + error = value.error; + value.error = null; + } else { + succeeded = true; + } + + if (promise === value) { + reject(promise, cannotReturnOwn()); + return; + } + } else { + value = detail; + succeeded = true; + } + + if (promise._state !== PENDING) { + // noop + } else if (hasCallback && succeeded) { + resolve(promise, value); + } else if (failed) { + reject(promise, error); + } else if (settled === FULFILLED) { + fulfill(promise, value); + } else if (settled === REJECTED) { + reject(promise, value); + } +} + +function initializePromise(promise, resolver) { + try { + resolver(function resolvePromise(value) { + resolve(promise, value); + }, function rejectPromise(reason) { + reject(promise, reason); + }); + } catch (e) { + reject(promise, e); + } +} + +var id = 0; +function nextId() { + return id++; +} + +function makePromise(promise) { + promise[PROMISE_ID] = id++; + promise._state = undefined; + promise._result = undefined; + promise._subscribers = []; +} + +function validationError() { + return new Error('Array Methods must be provided an Array'); +} + +var Enumerator = function () { + function Enumerator(Constructor, input) { + this._instanceConstructor = Constructor; + this.promise = new Constructor(noop); + + if (!this.promise[PROMISE_ID]) { + makePromise(this.promise); + } + + if (isArray(input)) { + this.length = input.length; + this._remaining = input.length; + + this._result = new Array(this.length); + + if (this.length === 0) { + fulfill(this.promise, this._result); + } else { + this.length = this.length || 0; + this._enumerate(input); + if (this._remaining === 0) { + fulfill(this.promise, this._result); + } + } + } else { + reject(this.promise, validationError()); + } + } + + Enumerator.prototype._enumerate = function _enumerate(input) { + for (var i = 0; this._state === PENDING && i < input.length; i++) { + this._eachEntry(input[i], i); + } + }; + + Enumerator.prototype._eachEntry = function _eachEntry(entry, i) { + var c = this._instanceConstructor; + var resolve$$1 = c.resolve; + + + if (resolve$$1 === resolve$1) { + var _then = getThen(entry); + + if (_then === then && entry._state !== PENDING) { + this._settledAt(entry._state, i, entry._result); + } else if (typeof _then !== 'function') { + this._remaining--; + this._result[i] = entry; + } else if (c === Promise$1) { + var promise = new c(noop); + handleMaybeThenable(promise, entry, _then); + this._willSettleAt(promise, i); + } else { + this._willSettleAt(new c(function (resolve$$1) { + return resolve$$1(entry); + }), i); + } + } else { + this._willSettleAt(resolve$$1(entry), i); + } + }; + + Enumerator.prototype._settledAt = function _settledAt(state, i, value) { + var promise = this.promise; + + + if (promise._state === PENDING) { + this._remaining--; + + if (state === REJECTED) { + reject(promise, value); + } else { + this._result[i] = value; + } + } + + if (this._remaining === 0) { + fulfill(promise, this._result); + } + }; + + Enumerator.prototype._willSettleAt = function _willSettleAt(promise, i) { + var enumerator = this; + + subscribe(promise, undefined, function (value) { + return enumerator._settledAt(FULFILLED, i, value); + }, function (reason) { + return enumerator._settledAt(REJECTED, i, reason); + }); + }; + + return Enumerator; +}(); + +/** + `Promise.all` accepts an array of promises, and returns a new promise which + is fulfilled with an array of fulfillment values for the passed promises, or + rejected with the reason of the first passed promise to be rejected. It casts all + elements of the passed iterable to promises as it runs this algorithm. + + Example: + + ```javascript + let promise1 = resolve(1); + let promise2 = resolve(2); + let promise3 = resolve(3); + let promises = [ promise1, promise2, promise3 ]; + + Promise.all(promises).then(function(array){ + // The array here would be [ 1, 2, 3 ]; + }); + ``` + + If any of the `promises` given to `all` are rejected, the first promise + that is rejected will be given as an argument to the returned promises's + rejection handler. For example: + + Example: + + ```javascript + let promise1 = resolve(1); + let promise2 = reject(new Error("2")); + let promise3 = reject(new Error("3")); + let promises = [ promise1, promise2, promise3 ]; + + Promise.all(promises).then(function(array){ + // Code here never runs because there are rejected promises! + }, function(error) { + // error.message === "2" + }); + ``` + + @method all + @static + @param {Array} entries array of promises + @param {String} label optional string for labeling the promise. + Useful for tooling. + @return {Promise} promise that is fulfilled when all `promises` have been + fulfilled, or rejected if any of them become rejected. + @static +*/ +function all(entries) { + return new Enumerator(this, entries).promise; +} + +/** + `Promise.race` returns a new promise which is settled in the same way as the + first passed promise to settle. + + Example: + + ```javascript + let promise1 = new Promise(function(resolve, reject){ + setTimeout(function(){ + resolve('promise 1'); + }, 200); + }); + + let promise2 = new Promise(function(resolve, reject){ + setTimeout(function(){ + resolve('promise 2'); + }, 100); + }); + + Promise.race([promise1, promise2]).then(function(result){ + // result === 'promise 2' because it was resolved before promise1 + // was resolved. + }); + ``` + + `Promise.race` is deterministic in that only the state of the first + settled promise matters. For example, even if other promises given to the + `promises` array argument are resolved, but the first settled promise has + become rejected before the other promises became fulfilled, the returned + promise will become rejected: + + ```javascript + let promise1 = new Promise(function(resolve, reject){ + setTimeout(function(){ + resolve('promise 1'); + }, 200); + }); + + let promise2 = new Promise(function(resolve, reject){ + setTimeout(function(){ + reject(new Error('promise 2')); + }, 100); + }); + + Promise.race([promise1, promise2]).then(function(result){ + // Code here never runs + }, function(reason){ + // reason.message === 'promise 2' because promise 2 became rejected before + // promise 1 became fulfilled + }); + ``` + + An example real-world use case is implementing timeouts: + + ```javascript + Promise.race([ajax('foo.json'), timeout(5000)]) + ``` + + @method race + @static + @param {Array} promises array of promises to observe + Useful for tooling. + @return {Promise} a promise which settles in the same way as the first passed + promise to settle. +*/ +function race(entries) { + /*jshint validthis:true */ + var Constructor = this; + + if (!isArray(entries)) { + return new Constructor(function (_, reject) { + return reject(new TypeError('You must pass an array to race.')); + }); + } else { + return new Constructor(function (resolve, reject) { + var length = entries.length; + for (var i = 0; i < length; i++) { + Constructor.resolve(entries[i]).then(resolve, reject); + } + }); + } +} + +/** + `Promise.reject` returns a promise rejected with the passed `reason`. + It is shorthand for the following: + + ```javascript + let promise = new Promise(function(resolve, reject){ + reject(new Error('WHOOPS')); + }); + + promise.then(function(value){ + // Code here doesn't run because the promise is rejected! + }, function(reason){ + // reason.message === 'WHOOPS' + }); + ``` + + Instead of writing the above, your code now simply becomes the following: + + ```javascript + let promise = Promise.reject(new Error('WHOOPS')); + + promise.then(function(value){ + // Code here doesn't run because the promise is rejected! + }, function(reason){ + // reason.message === 'WHOOPS' + }); + ``` + + @method reject + @static + @param {Any} reason value that the returned promise will be rejected with. + Useful for tooling. + @return {Promise} a promise rejected with the given `reason`. +*/ +function reject$1(reason) { + /*jshint validthis:true */ + var Constructor = this; + var promise = new Constructor(noop); + reject(promise, reason); + return promise; +} + +function needsResolver() { + throw new TypeError('You must pass a resolver function as the first argument to the promise constructor'); +} + +function needsNew() { + throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function."); +} + +/** + Promise objects represent the eventual result of an asynchronous operation. The + primary way of interacting with a promise is through its `then` method, which + registers callbacks to receive either a promise's eventual value or the reason + why the promise cannot be fulfilled. + + Terminology + ----------- + + - `promise` is an object or function with a `then` method whose behavior conforms to this specification. + - `thenable` is an object or function that defines a `then` method. + - `value` is any legal JavaScript value (including undefined, a thenable, or a promise). + - `exception` is a value that is thrown using the throw statement. + - `reason` is a value that indicates why a promise was rejected. + - `settled` the final resting state of a promise, fulfilled or rejected. + + A promise can be in one of three states: pending, fulfilled, or rejected. + + Promises that are fulfilled have a fulfillment value and are in the fulfilled + state. Promises that are rejected have a rejection reason and are in the + rejected state. A fulfillment value is never a thenable. + + Promises can also be said to *resolve* a value. If this value is also a + promise, then the original promise's settled state will match the value's + settled state. So a promise that *resolves* a promise that rejects will + itself reject, and a promise that *resolves* a promise that fulfills will + itself fulfill. + + + Basic Usage: + ------------ + + ```js + let promise = new Promise(function(resolve, reject) { + // on success + resolve(value); + + // on failure + reject(reason); + }); + + promise.then(function(value) { + // on fulfillment + }, function(reason) { + // on rejection + }); + ``` + + Advanced Usage: + --------------- + + Promises shine when abstracting away asynchronous interactions such as + `XMLHttpRequest`s. + + ```js + function getJSON(url) { + return new Promise(function(resolve, reject){ + let xhr = new XMLHttpRequest(); + + xhr.open('GET', url); + xhr.onreadystatechange = handler; + xhr.responseType = 'json'; + xhr.setRequestHeader('Accept', 'application/json'); + xhr.send(); + + function handler() { + if (this.readyState === this.DONE) { + if (this.status === 200) { + resolve(this.response); + } else { + reject(new Error('getJSON: `' + url + '` failed with status: [' + this.status + ']')); + } + } + }; + }); + } + + getJSON('/posts.json').then(function(json) { + // on fulfillment + }, function(reason) { + // on rejection + }); + ``` + + Unlike callbacks, promises are great composable primitives. + + ```js + Promise.all([ + getJSON('/posts'), + getJSON('/comments') + ]).then(function(values){ + values[0] // => postsJSON + values[1] // => commentsJSON + + return values; + }); + ``` + + @class Promise + @param {Function} resolver + Useful for tooling. + @constructor +*/ + +var Promise$1 = function () { + function Promise(resolver) { + this[PROMISE_ID] = nextId(); + this._result = this._state = undefined; + this._subscribers = []; + + if (noop !== resolver) { + typeof resolver !== 'function' && needsResolver(); + this instanceof Promise ? initializePromise(this, resolver) : needsNew(); + } + } + + /** + The primary way of interacting with a promise is through its `then` method, + which registers callbacks to receive either a promise's eventual value or the + reason why the promise cannot be fulfilled. + ```js + findUser().then(function(user){ + // user is available + }, function(reason){ + // user is unavailable, and you are given the reason why + }); + ``` + Chaining + -------- + The return value of `then` is itself a promise. This second, 'downstream' + promise is resolved with the return value of the first promise's fulfillment + or rejection handler, or rejected if the handler throws an exception. + ```js + findUser().then(function (user) { + return user.name; + }, function (reason) { + return 'default name'; + }).then(function (userName) { + // If `findUser` fulfilled, `userName` will be the user's name, otherwise it + // will be `'default name'` + }); + findUser().then(function (user) { + throw new Error('Found user, but still unhappy'); + }, function (reason) { + throw new Error('`findUser` rejected and we're unhappy'); + }).then(function (value) { + // never reached + }, function (reason) { + // if `findUser` fulfilled, `reason` will be 'Found user, but still unhappy'. + // If `findUser` rejected, `reason` will be '`findUser` rejected and we're unhappy'. + }); + ``` + If the downstream promise does not specify a rejection handler, rejection reasons will be propagated further downstream. + ```js + findUser().then(function (user) { + throw new PedagogicalException('Upstream error'); + }).then(function (value) { + // never reached + }).then(function (value) { + // never reached + }, function (reason) { + // The `PedgagocialException` is propagated all the way down to here + }); + ``` + Assimilation + ------------ + Sometimes the value you want to propagate to a downstream promise can only be + retrieved asynchronously. This can be achieved by returning a promise in the + fulfillment or rejection handler. The downstream promise will then be pending + until the returned promise is settled. This is called *assimilation*. + ```js + findUser().then(function (user) { + return findCommentsByAuthor(user); + }).then(function (comments) { + // The user's comments are now available + }); + ``` + If the assimliated promise rejects, then the downstream promise will also reject. + ```js + findUser().then(function (user) { + return findCommentsByAuthor(user); + }).then(function (comments) { + // If `findCommentsByAuthor` fulfills, we'll have the value here + }, function (reason) { + // If `findCommentsByAuthor` rejects, we'll have the reason here + }); + ``` + Simple Example + -------------- + Synchronous Example + ```javascript + let result; + try { + result = findResult(); + // success + } catch(reason) { + // failure + } + ``` + Errback Example + ```js + findResult(function(result, err){ + if (err) { + // failure + } else { + // success + } + }); + ``` + Promise Example; + ```javascript + findResult().then(function(result){ + // success + }, function(reason){ + // failure + }); + ``` + Advanced Example + -------------- + Synchronous Example + ```javascript + let author, books; + try { + author = findAuthor(); + books = findBooksByAuthor(author); + // success + } catch(reason) { + // failure + } + ``` + Errback Example + ```js + function foundBooks(books) { + } + function failure(reason) { + } + findAuthor(function(author, err){ + if (err) { + failure(err); + // failure + } else { + try { + findBoooksByAuthor(author, function(books, err) { + if (err) { + failure(err); + } else { + try { + foundBooks(books); + } catch(reason) { + failure(reason); + } + } + }); + } catch(error) { + failure(err); + } + // success + } + }); + ``` + Promise Example; + ```javascript + findAuthor(). + then(findBooksByAuthor). + then(function(books){ + // found books + }).catch(function(reason){ + // something went wrong + }); + ``` + @method then + @param {Function} onFulfilled + @param {Function} onRejected + Useful for tooling. + @return {Promise} + */ + + /** + `catch` is simply sugar for `then(undefined, onRejection)` which makes it the same + as the catch block of a try/catch statement. + ```js + function findAuthor(){ + throw new Error('couldn't find that author'); + } + // synchronous + try { + findAuthor(); + } catch(reason) { + // something went wrong + } + // async with promises + findAuthor().catch(function(reason){ + // something went wrong + }); + ``` + @method catch + @param {Function} onRejection + Useful for tooling. + @return {Promise} + */ + + + Promise.prototype.catch = function _catch(onRejection) { + return this.then(null, onRejection); + }; + + /** + `finally` will be invoked regardless of the promise's fate just as native + try/catch/finally behaves + + Synchronous example: + + ```js + findAuthor() { + if (Math.random() > 0.5) { + throw new Error(); + } + return new Author(); + } + + try { + return findAuthor(); // succeed or fail + } catch(error) { + return findOtherAuther(); + } finally { + // always runs + // doesn't affect the return value + } + ``` + + Asynchronous example: + + ```js + findAuthor().catch(function(reason){ + return findOtherAuther(); + }).finally(function(){ + // author was either found, or not + }); + ``` + + @method finally + @param {Function} callback + @return {Promise} + */ + + + Promise.prototype.finally = function _finally(callback) { + var promise = this; + var constructor = promise.constructor; + + if (isFunction(callback)) { + return promise.then(function (value) { + return constructor.resolve(callback()).then(function () { + return value; + }); + }, function (reason) { + return constructor.resolve(callback()).then(function () { + throw reason; + }); + }); + } + + return promise.then(callback, callback); + }; + + return Promise; +}(); + +Promise$1.prototype.then = then; +Promise$1.all = all; +Promise$1.race = race; +Promise$1.resolve = resolve$1; +Promise$1.reject = reject$1; +Promise$1._setScheduler = setScheduler; +Promise$1._setAsap = setAsap; +Promise$1._asap = asap; + +/*global self*/ +function polyfill() { + var local = void 0; + + if (typeof global !== 'undefined') { + local = global; + } else if (typeof self !== 'undefined') { + local = self; + } else { + try { + local = Function('return this')(); + } catch (e) { + throw new Error('polyfill failed because global object is unavailable in this environment'); + } + } + + var P = local.Promise; + + if (P) { + var promiseToString = null; + try { + promiseToString = Object.prototype.toString.call(P.resolve()); + } catch (e) { + // silently ignored + } + + if (promiseToString === '[object Promise]' && !P.cast) { + return; + } + } + + local.Promise = Promise$1; +} + +// Strange compat.. +Promise$1.polyfill = polyfill; +Promise$1.Promise = Promise$1; + +return Promise$1; + +}))); + + + +//# sourceMappingURL=es6-promise.map diff --git a/express-server/node_modules/es6-promise/dist/es6-promise.map b/express-server/node_modules/es6-promise/dist/es6-promise.map new file mode 100644 index 00000000..ecbf33cf --- /dev/null +++ b/express-server/node_modules/es6-promise/dist/es6-promise.map @@ -0,0 +1 @@ +{"version":3,"sources":["config/versionTemplate.txt","lib/es6-promise/utils.js","lib/es6-promise/asap.js","lib/es6-promise/then.js","lib/es6-promise/promise/resolve.js","lib/es6-promise/-internal.js","lib/es6-promise/enumerator.js","lib/es6-promise/promise/all.js","lib/es6-promise/promise/race.js","lib/es6-promise/promise/reject.js","lib/es6-promise/promise.js","lib/es6-promise/polyfill.js","lib/es6-promise.js"],"sourcesContent":["/*!\n * @overview es6-promise - a tiny implementation of Promises/A+.\n * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)\n * @license Licensed under MIT license\n * See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE\n * @version v4.2.5+7f2b526d\n */\n","export function objectOrFunction(x) {\n var type = typeof x;\n return x !== null && (type === 'object' || type === 'function');\n}\n\nexport function isFunction(x) {\n return typeof x === 'function';\n}\n\nexport function isMaybeThenable(x) {\n return x !== null && typeof x === 'object';\n}\n\nvar _isArray = void 0;\nif (Array.isArray) {\n _isArray = Array.isArray;\n} else {\n _isArray = function (x) {\n return Object.prototype.toString.call(x) === '[object Array]';\n };\n}\n\nexport var isArray = _isArray;","var len = 0;\nvar vertxNext = void 0;\nvar customSchedulerFn = void 0;\n\nexport var asap = function asap(callback, arg) {\n queue[len] = callback;\n queue[len + 1] = arg;\n len += 2;\n if (len === 2) {\n // If len is 2, that means that we need to schedule an async flush.\n // If additional callbacks are queued before the queue is flushed, they\n // will be processed by this flush that we are scheduling.\n if (customSchedulerFn) {\n customSchedulerFn(flush);\n } else {\n scheduleFlush();\n }\n }\n};\n\nexport function setScheduler(scheduleFn) {\n customSchedulerFn = scheduleFn;\n}\n\nexport function setAsap(asapFn) {\n asap = asapFn;\n}\n\nvar browserWindow = typeof window !== 'undefined' ? window : undefined;\nvar browserGlobal = browserWindow || {};\nvar BrowserMutationObserver = browserGlobal.MutationObserver || browserGlobal.WebKitMutationObserver;\nvar isNode = typeof self === 'undefined' && typeof process !== 'undefined' && {}.toString.call(process) === '[object process]';\n\n// test for web worker but not in IE10\nvar isWorker = typeof Uint8ClampedArray !== 'undefined' && typeof importScripts !== 'undefined' && typeof MessageChannel !== 'undefined';\n\n// node\nfunction useNextTick() {\n // node version 0.10.x displays a deprecation warning when nextTick is used recursively\n // see https://github.com/cujojs/when/issues/410 for details\n return function () {\n return process.nextTick(flush);\n };\n}\n\n// vertx\nfunction useVertxTimer() {\n if (typeof vertxNext !== 'undefined') {\n return function () {\n vertxNext(flush);\n };\n }\n\n return useSetTimeout();\n}\n\nfunction useMutationObserver() {\n var iterations = 0;\n var observer = new BrowserMutationObserver(flush);\n var node = document.createTextNode('');\n observer.observe(node, { characterData: true });\n\n return function () {\n node.data = iterations = ++iterations % 2;\n };\n}\n\n// web worker\nfunction useMessageChannel() {\n var channel = new MessageChannel();\n channel.port1.onmessage = flush;\n return function () {\n return channel.port2.postMessage(0);\n };\n}\n\nfunction useSetTimeout() {\n // Store setTimeout reference so es6-promise will be unaffected by\n // other code modifying setTimeout (like sinon.useFakeTimers())\n var globalSetTimeout = setTimeout;\n return function () {\n return globalSetTimeout(flush, 1);\n };\n}\n\nvar queue = new Array(1000);\nfunction flush() {\n for (var i = 0; i < len; i += 2) {\n var callback = queue[i];\n var arg = queue[i + 1];\n\n callback(arg);\n\n queue[i] = undefined;\n queue[i + 1] = undefined;\n }\n\n len = 0;\n}\n\nfunction attemptVertx() {\n try {\n var vertx = Function('return this')().require('vertx');\n vertxNext = vertx.runOnLoop || vertx.runOnContext;\n return useVertxTimer();\n } catch (e) {\n return useSetTimeout();\n }\n}\n\nvar scheduleFlush = void 0;\n// Decide what async method to use to triggering processing of queued callbacks:\nif (isNode) {\n scheduleFlush = useNextTick();\n} else if (BrowserMutationObserver) {\n scheduleFlush = useMutationObserver();\n} else if (isWorker) {\n scheduleFlush = useMessageChannel();\n} else if (browserWindow === undefined && typeof require === 'function') {\n scheduleFlush = attemptVertx();\n} else {\n scheduleFlush = useSetTimeout();\n}","import { invokeCallback, subscribe, FULFILLED, REJECTED, noop, makePromise, PROMISE_ID } from './-internal';\n\nimport { asap } from './asap';\n\nexport default function then(onFulfillment, onRejection) {\n var parent = this;\n\n var child = new this.constructor(noop);\n\n if (child[PROMISE_ID] === undefined) {\n makePromise(child);\n }\n\n var _state = parent._state;\n\n\n if (_state) {\n var callback = arguments[_state - 1];\n asap(function () {\n return invokeCallback(_state, child, callback, parent._result);\n });\n } else {\n subscribe(parent, child, onFulfillment, onRejection);\n }\n\n return child;\n}","import { noop, resolve as _resolve } from '../-internal';\n\n/**\n `Promise.resolve` returns a promise that will become resolved with the\n passed `value`. It is shorthand for the following:\n\n ```javascript\n let promise = new Promise(function(resolve, reject){\n resolve(1);\n });\n\n promise.then(function(value){\n // value === 1\n });\n ```\n\n Instead of writing the above, your code now simply becomes the following:\n\n ```javascript\n let promise = Promise.resolve(1);\n\n promise.then(function(value){\n // value === 1\n });\n ```\n\n @method resolve\n @static\n @param {Any} value value that the returned promise will be resolved with\n Useful for tooling.\n @return {Promise} a promise that will become fulfilled with the given\n `value`\n*/\nexport default function resolve(object) {\n /*jshint validthis:true */\n var Constructor = this;\n\n if (object && typeof object === 'object' && object.constructor === Constructor) {\n return object;\n }\n\n var promise = new Constructor(noop);\n _resolve(promise, object);\n return promise;\n}","import { objectOrFunction, isFunction } from './utils';\n\nimport { asap } from './asap';\n\nimport originalThen from './then';\nimport originalResolve from './promise/resolve';\n\nexport var PROMISE_ID = Math.random().toString(36).substring(2);\n\nfunction noop() {}\n\nvar PENDING = void 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\n\nvar TRY_CATCH_ERROR = { error: null };\n\nfunction selfFulfillment() {\n return new TypeError(\"You cannot resolve a promise with itself\");\n}\n\nfunction cannotReturnOwn() {\n return new TypeError('A promises callback cannot return that same promise.');\n}\n\nfunction getThen(promise) {\n try {\n return promise.then;\n } catch (error) {\n TRY_CATCH_ERROR.error = error;\n return TRY_CATCH_ERROR;\n }\n}\n\nfunction tryThen(then, value, fulfillmentHandler, rejectionHandler) {\n try {\n then.call(value, fulfillmentHandler, rejectionHandler);\n } catch (e) {\n return e;\n }\n}\n\nfunction handleForeignThenable(promise, thenable, then) {\n asap(function (promise) {\n var sealed = false;\n var error = tryThen(then, thenable, function (value) {\n if (sealed) {\n return;\n }\n sealed = true;\n if (thenable !== value) {\n resolve(promise, value);\n } else {\n fulfill(promise, value);\n }\n }, function (reason) {\n if (sealed) {\n return;\n }\n sealed = true;\n\n reject(promise, reason);\n }, 'Settle: ' + (promise._label || ' unknown promise'));\n\n if (!sealed && error) {\n sealed = true;\n reject(promise, error);\n }\n }, promise);\n}\n\nfunction handleOwnThenable(promise, thenable) {\n if (thenable._state === FULFILLED) {\n fulfill(promise, thenable._result);\n } else if (thenable._state === REJECTED) {\n reject(promise, thenable._result);\n } else {\n subscribe(thenable, undefined, function (value) {\n return resolve(promise, value);\n }, function (reason) {\n return reject(promise, reason);\n });\n }\n}\n\nfunction handleMaybeThenable(promise, maybeThenable, then) {\n if (maybeThenable.constructor === promise.constructor && then === originalThen && maybeThenable.constructor.resolve === originalResolve) {\n handleOwnThenable(promise, maybeThenable);\n } else {\n if (then === TRY_CATCH_ERROR) {\n reject(promise, TRY_CATCH_ERROR.error);\n TRY_CATCH_ERROR.error = null;\n } else if (then === undefined) {\n fulfill(promise, maybeThenable);\n } else if (isFunction(then)) {\n handleForeignThenable(promise, maybeThenable, then);\n } else {\n fulfill(promise, maybeThenable);\n }\n }\n}\n\nfunction resolve(promise, value) {\n if (promise === value) {\n reject(promise, selfFulfillment());\n } else if (objectOrFunction(value)) {\n handleMaybeThenable(promise, value, getThen(value));\n } else {\n fulfill(promise, value);\n }\n}\n\nfunction publishRejection(promise) {\n if (promise._onerror) {\n promise._onerror(promise._result);\n }\n\n publish(promise);\n}\n\nfunction fulfill(promise, value) {\n if (promise._state !== PENDING) {\n return;\n }\n\n promise._result = value;\n promise._state = FULFILLED;\n\n if (promise._subscribers.length !== 0) {\n asap(publish, promise);\n }\n}\n\nfunction reject(promise, reason) {\n if (promise._state !== PENDING) {\n return;\n }\n promise._state = REJECTED;\n promise._result = reason;\n\n asap(publishRejection, promise);\n}\n\nfunction subscribe(parent, child, onFulfillment, onRejection) {\n var _subscribers = parent._subscribers;\n var length = _subscribers.length;\n\n\n parent._onerror = null;\n\n _subscribers[length] = child;\n _subscribers[length + FULFILLED] = onFulfillment;\n _subscribers[length + REJECTED] = onRejection;\n\n if (length === 0 && parent._state) {\n asap(publish, parent);\n }\n}\n\nfunction publish(promise) {\n var subscribers = promise._subscribers;\n var settled = promise._state;\n\n if (subscribers.length === 0) {\n return;\n }\n\n var child = void 0,\n callback = void 0,\n detail = promise._result;\n\n for (var i = 0; i < subscribers.length; i += 3) {\n child = subscribers[i];\n callback = subscribers[i + settled];\n\n if (child) {\n invokeCallback(settled, child, callback, detail);\n } else {\n callback(detail);\n }\n }\n\n promise._subscribers.length = 0;\n}\n\nfunction tryCatch(callback, detail) {\n try {\n return callback(detail);\n } catch (e) {\n TRY_CATCH_ERROR.error = e;\n return TRY_CATCH_ERROR;\n }\n}\n\nfunction invokeCallback(settled, promise, callback, detail) {\n var hasCallback = isFunction(callback),\n value = void 0,\n error = void 0,\n succeeded = void 0,\n failed = void 0;\n\n if (hasCallback) {\n value = tryCatch(callback, detail);\n\n if (value === TRY_CATCH_ERROR) {\n failed = true;\n error = value.error;\n value.error = null;\n } else {\n succeeded = true;\n }\n\n if (promise === value) {\n reject(promise, cannotReturnOwn());\n return;\n }\n } else {\n value = detail;\n succeeded = true;\n }\n\n if (promise._state !== PENDING) {\n // noop\n } else if (hasCallback && succeeded) {\n resolve(promise, value);\n } else if (failed) {\n reject(promise, error);\n } else if (settled === FULFILLED) {\n fulfill(promise, value);\n } else if (settled === REJECTED) {\n reject(promise, value);\n }\n}\n\nfunction initializePromise(promise, resolver) {\n try {\n resolver(function resolvePromise(value) {\n resolve(promise, value);\n }, function rejectPromise(reason) {\n reject(promise, reason);\n });\n } catch (e) {\n reject(promise, e);\n }\n}\n\nvar id = 0;\nfunction nextId() {\n return id++;\n}\n\nfunction makePromise(promise) {\n promise[PROMISE_ID] = id++;\n promise._state = undefined;\n promise._result = undefined;\n promise._subscribers = [];\n}\n\nexport { nextId, makePromise, getThen, noop, resolve, reject, fulfill, subscribe, publish, publishRejection, initializePromise, invokeCallback, FULFILLED, REJECTED, PENDING, handleMaybeThenable };","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nimport { isArray, isMaybeThenable } from './utils';\nimport { noop, reject, fulfill, subscribe, FULFILLED, REJECTED, PENDING, getThen, handleMaybeThenable } from './-internal';\n\nimport then from './then';\nimport Promise from './promise';\nimport originalResolve from './promise/resolve';\nimport originalThen from './then';\nimport { makePromise, PROMISE_ID } from './-internal';\n\nfunction validationError() {\n return new Error('Array Methods must be provided an Array');\n};\n\nvar Enumerator = function () {\n function Enumerator(Constructor, input) {\n this._instanceConstructor = Constructor;\n this.promise = new Constructor(noop);\n\n if (!this.promise[PROMISE_ID]) {\n makePromise(this.promise);\n }\n\n if (isArray(input)) {\n this.length = input.length;\n this._remaining = input.length;\n\n this._result = new Array(this.length);\n\n if (this.length === 0) {\n fulfill(this.promise, this._result);\n } else {\n this.length = this.length || 0;\n this._enumerate(input);\n if (this._remaining === 0) {\n fulfill(this.promise, this._result);\n }\n }\n } else {\n reject(this.promise, validationError());\n }\n }\n\n Enumerator.prototype._enumerate = function _enumerate(input) {\n for (var i = 0; this._state === PENDING && i < input.length; i++) {\n this._eachEntry(input[i], i);\n }\n };\n\n Enumerator.prototype._eachEntry = function _eachEntry(entry, i) {\n var c = this._instanceConstructor;\n var resolve = c.resolve;\n\n\n if (resolve === originalResolve) {\n var _then = getThen(entry);\n\n if (_then === originalThen && entry._state !== PENDING) {\n this._settledAt(entry._state, i, entry._result);\n } else if (typeof _then !== 'function') {\n this._remaining--;\n this._result[i] = entry;\n } else if (c === Promise) {\n var promise = new c(noop);\n handleMaybeThenable(promise, entry, _then);\n this._willSettleAt(promise, i);\n } else {\n this._willSettleAt(new c(function (resolve) {\n return resolve(entry);\n }), i);\n }\n } else {\n this._willSettleAt(resolve(entry), i);\n }\n };\n\n Enumerator.prototype._settledAt = function _settledAt(state, i, value) {\n var promise = this.promise;\n\n\n if (promise._state === PENDING) {\n this._remaining--;\n\n if (state === REJECTED) {\n reject(promise, value);\n } else {\n this._result[i] = value;\n }\n }\n\n if (this._remaining === 0) {\n fulfill(promise, this._result);\n }\n };\n\n Enumerator.prototype._willSettleAt = function _willSettleAt(promise, i) {\n var enumerator = this;\n\n subscribe(promise, undefined, function (value) {\n return enumerator._settledAt(FULFILLED, i, value);\n }, function (reason) {\n return enumerator._settledAt(REJECTED, i, reason);\n });\n };\n\n return Enumerator;\n}();\n\nexport default Enumerator;\n;","import Enumerator from '../enumerator';\n\n/**\n `Promise.all` accepts an array of promises, and returns a new promise which\n is fulfilled with an array of fulfillment values for the passed promises, or\n rejected with the reason of the first passed promise to be rejected. It casts all\n elements of the passed iterable to promises as it runs this algorithm.\n\n Example:\n\n ```javascript\n let promise1 = resolve(1);\n let promise2 = resolve(2);\n let promise3 = resolve(3);\n let promises = [ promise1, promise2, promise3 ];\n\n Promise.all(promises).then(function(array){\n // The array here would be [ 1, 2, 3 ];\n });\n ```\n\n If any of the `promises` given to `all` are rejected, the first promise\n that is rejected will be given as an argument to the returned promises's\n rejection handler. For example:\n\n Example:\n\n ```javascript\n let promise1 = resolve(1);\n let promise2 = reject(new Error(\"2\"));\n let promise3 = reject(new Error(\"3\"));\n let promises = [ promise1, promise2, promise3 ];\n\n Promise.all(promises).then(function(array){\n // Code here never runs because there are rejected promises!\n }, function(error) {\n // error.message === \"2\"\n });\n ```\n\n @method all\n @static\n @param {Array} entries array of promises\n @param {String} label optional string for labeling the promise.\n Useful for tooling.\n @return {Promise} promise that is fulfilled when all `promises` have been\n fulfilled, or rejected if any of them become rejected.\n @static\n*/\nexport default function all(entries) {\n return new Enumerator(this, entries).promise;\n}","import { isArray } from \"../utils\";\n\n/**\n `Promise.race` returns a new promise which is settled in the same way as the\n first passed promise to settle.\n\n Example:\n\n ```javascript\n let promise1 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 1');\n }, 200);\n });\n\n let promise2 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 2');\n }, 100);\n });\n\n Promise.race([promise1, promise2]).then(function(result){\n // result === 'promise 2' because it was resolved before promise1\n // was resolved.\n });\n ```\n\n `Promise.race` is deterministic in that only the state of the first\n settled promise matters. For example, even if other promises given to the\n `promises` array argument are resolved, but the first settled promise has\n become rejected before the other promises became fulfilled, the returned\n promise will become rejected:\n\n ```javascript\n let promise1 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 1');\n }, 200);\n });\n\n let promise2 = new Promise(function(resolve, reject){\n setTimeout(function(){\n reject(new Error('promise 2'));\n }, 100);\n });\n\n Promise.race([promise1, promise2]).then(function(result){\n // Code here never runs\n }, function(reason){\n // reason.message === 'promise 2' because promise 2 became rejected before\n // promise 1 became fulfilled\n });\n ```\n\n An example real-world use case is implementing timeouts:\n\n ```javascript\n Promise.race([ajax('foo.json'), timeout(5000)])\n ```\n\n @method race\n @static\n @param {Array} promises array of promises to observe\n Useful for tooling.\n @return {Promise} a promise which settles in the same way as the first passed\n promise to settle.\n*/\nexport default function race(entries) {\n /*jshint validthis:true */\n var Constructor = this;\n\n if (!isArray(entries)) {\n return new Constructor(function (_, reject) {\n return reject(new TypeError('You must pass an array to race.'));\n });\n } else {\n return new Constructor(function (resolve, reject) {\n var length = entries.length;\n for (var i = 0; i < length; i++) {\n Constructor.resolve(entries[i]).then(resolve, reject);\n }\n });\n }\n}","import { noop, reject as _reject } from '../-internal';\n\n/**\n `Promise.reject` returns a promise rejected with the passed `reason`.\n It is shorthand for the following:\n\n ```javascript\n let promise = new Promise(function(resolve, reject){\n reject(new Error('WHOOPS'));\n });\n\n promise.then(function(value){\n // Code here doesn't run because the promise is rejected!\n }, function(reason){\n // reason.message === 'WHOOPS'\n });\n ```\n\n Instead of writing the above, your code now simply becomes the following:\n\n ```javascript\n let promise = Promise.reject(new Error('WHOOPS'));\n\n promise.then(function(value){\n // Code here doesn't run because the promise is rejected!\n }, function(reason){\n // reason.message === 'WHOOPS'\n });\n ```\n\n @method reject\n @static\n @param {Any} reason value that the returned promise will be rejected with.\n Useful for tooling.\n @return {Promise} a promise rejected with the given `reason`.\n*/\nexport default function reject(reason) {\n /*jshint validthis:true */\n var Constructor = this;\n var promise = new Constructor(noop);\n _reject(promise, reason);\n return promise;\n}","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nimport { isFunction } from './utils';\nimport { noop, nextId, PROMISE_ID, initializePromise } from './-internal';\nimport { asap, setAsap, setScheduler } from './asap';\n\nimport all from './promise/all';\nimport race from './promise/race';\nimport Resolve from './promise/resolve';\nimport Reject from './promise/reject';\nimport then from './then';\n\nfunction needsResolver() {\n throw new TypeError('You must pass a resolver function as the first argument to the promise constructor');\n}\n\nfunction needsNew() {\n throw new TypeError(\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\");\n}\n\n/**\n Promise objects represent the eventual result of an asynchronous operation. The\n primary way of interacting with a promise is through its `then` method, which\n registers callbacks to receive either a promise's eventual value or the reason\n why the promise cannot be fulfilled.\n\n Terminology\n -----------\n\n - `promise` is an object or function with a `then` method whose behavior conforms to this specification.\n - `thenable` is an object or function that defines a `then` method.\n - `value` is any legal JavaScript value (including undefined, a thenable, or a promise).\n - `exception` is a value that is thrown using the throw statement.\n - `reason` is a value that indicates why a promise was rejected.\n - `settled` the final resting state of a promise, fulfilled or rejected.\n\n A promise can be in one of three states: pending, fulfilled, or rejected.\n\n Promises that are fulfilled have a fulfillment value and are in the fulfilled\n state. Promises that are rejected have a rejection reason and are in the\n rejected state. A fulfillment value is never a thenable.\n\n Promises can also be said to *resolve* a value. If this value is also a\n promise, then the original promise's settled state will match the value's\n settled state. So a promise that *resolves* a promise that rejects will\n itself reject, and a promise that *resolves* a promise that fulfills will\n itself fulfill.\n\n\n Basic Usage:\n ------------\n\n ```js\n let promise = new Promise(function(resolve, reject) {\n // on success\n resolve(value);\n\n // on failure\n reject(reason);\n });\n\n promise.then(function(value) {\n // on fulfillment\n }, function(reason) {\n // on rejection\n });\n ```\n\n Advanced Usage:\n ---------------\n\n Promises shine when abstracting away asynchronous interactions such as\n `XMLHttpRequest`s.\n\n ```js\n function getJSON(url) {\n return new Promise(function(resolve, reject){\n let xhr = new XMLHttpRequest();\n\n xhr.open('GET', url);\n xhr.onreadystatechange = handler;\n xhr.responseType = 'json';\n xhr.setRequestHeader('Accept', 'application/json');\n xhr.send();\n\n function handler() {\n if (this.readyState === this.DONE) {\n if (this.status === 200) {\n resolve(this.response);\n } else {\n reject(new Error('getJSON: `' + url + '` failed with status: [' + this.status + ']'));\n }\n }\n };\n });\n }\n\n getJSON('/posts.json').then(function(json) {\n // on fulfillment\n }, function(reason) {\n // on rejection\n });\n ```\n\n Unlike callbacks, promises are great composable primitives.\n\n ```js\n Promise.all([\n getJSON('/posts'),\n getJSON('/comments')\n ]).then(function(values){\n values[0] // => postsJSON\n values[1] // => commentsJSON\n\n return values;\n });\n ```\n\n @class Promise\n @param {Function} resolver\n Useful for tooling.\n @constructor\n*/\n\nvar Promise = function () {\n function Promise(resolver) {\n this[PROMISE_ID] = nextId();\n this._result = this._state = undefined;\n this._subscribers = [];\n\n if (noop !== resolver) {\n typeof resolver !== 'function' && needsResolver();\n this instanceof Promise ? initializePromise(this, resolver) : needsNew();\n }\n }\n\n /**\n The primary way of interacting with a promise is through its `then` method,\n which registers callbacks to receive either a promise's eventual value or the\n reason why the promise cannot be fulfilled.\n ```js\n findUser().then(function(user){\n // user is available\n }, function(reason){\n // user is unavailable, and you are given the reason why\n });\n ```\n Chaining\n --------\n The return value of `then` is itself a promise. This second, 'downstream'\n promise is resolved with the return value of the first promise's fulfillment\n or rejection handler, or rejected if the handler throws an exception.\n ```js\n findUser().then(function (user) {\n return user.name;\n }, function (reason) {\n return 'default name';\n }).then(function (userName) {\n // If `findUser` fulfilled, `userName` will be the user's name, otherwise it\n // will be `'default name'`\n });\n findUser().then(function (user) {\n throw new Error('Found user, but still unhappy');\n }, function (reason) {\n throw new Error('`findUser` rejected and we're unhappy');\n }).then(function (value) {\n // never reached\n }, function (reason) {\n // if `findUser` fulfilled, `reason` will be 'Found user, but still unhappy'.\n // If `findUser` rejected, `reason` will be '`findUser` rejected and we're unhappy'.\n });\n ```\n If the downstream promise does not specify a rejection handler, rejection reasons will be propagated further downstream.\n ```js\n findUser().then(function (user) {\n throw new PedagogicalException('Upstream error');\n }).then(function (value) {\n // never reached\n }).then(function (value) {\n // never reached\n }, function (reason) {\n // The `PedgagocialException` is propagated all the way down to here\n });\n ```\n Assimilation\n ------------\n Sometimes the value you want to propagate to a downstream promise can only be\n retrieved asynchronously. This can be achieved by returning a promise in the\n fulfillment or rejection handler. The downstream promise will then be pending\n until the returned promise is settled. This is called *assimilation*.\n ```js\n findUser().then(function (user) {\n return findCommentsByAuthor(user);\n }).then(function (comments) {\n // The user's comments are now available\n });\n ```\n If the assimliated promise rejects, then the downstream promise will also reject.\n ```js\n findUser().then(function (user) {\n return findCommentsByAuthor(user);\n }).then(function (comments) {\n // If `findCommentsByAuthor` fulfills, we'll have the value here\n }, function (reason) {\n // If `findCommentsByAuthor` rejects, we'll have the reason here\n });\n ```\n Simple Example\n --------------\n Synchronous Example\n ```javascript\n let result;\n try {\n result = findResult();\n // success\n } catch(reason) {\n // failure\n }\n ```\n Errback Example\n ```js\n findResult(function(result, err){\n if (err) {\n // failure\n } else {\n // success\n }\n });\n ```\n Promise Example;\n ```javascript\n findResult().then(function(result){\n // success\n }, function(reason){\n // failure\n });\n ```\n Advanced Example\n --------------\n Synchronous Example\n ```javascript\n let author, books;\n try {\n author = findAuthor();\n books = findBooksByAuthor(author);\n // success\n } catch(reason) {\n // failure\n }\n ```\n Errback Example\n ```js\n function foundBooks(books) {\n }\n function failure(reason) {\n }\n findAuthor(function(author, err){\n if (err) {\n failure(err);\n // failure\n } else {\n try {\n findBoooksByAuthor(author, function(books, err) {\n if (err) {\n failure(err);\n } else {\n try {\n foundBooks(books);\n } catch(reason) {\n failure(reason);\n }\n }\n });\n } catch(error) {\n failure(err);\n }\n // success\n }\n });\n ```\n Promise Example;\n ```javascript\n findAuthor().\n then(findBooksByAuthor).\n then(function(books){\n // found books\n }).catch(function(reason){\n // something went wrong\n });\n ```\n @method then\n @param {Function} onFulfilled\n @param {Function} onRejected\n Useful for tooling.\n @return {Promise}\n */\n\n /**\n `catch` is simply sugar for `then(undefined, onRejection)` which makes it the same\n as the catch block of a try/catch statement.\n ```js\n function findAuthor(){\n throw new Error('couldn't find that author');\n }\n // synchronous\n try {\n findAuthor();\n } catch(reason) {\n // something went wrong\n }\n // async with promises\n findAuthor().catch(function(reason){\n // something went wrong\n });\n ```\n @method catch\n @param {Function} onRejection\n Useful for tooling.\n @return {Promise}\n */\n\n\n Promise.prototype.catch = function _catch(onRejection) {\n return this.then(null, onRejection);\n };\n\n /**\n `finally` will be invoked regardless of the promise's fate just as native\n try/catch/finally behaves\n \n Synchronous example:\n \n ```js\n findAuthor() {\n if (Math.random() > 0.5) {\n throw new Error();\n }\n return new Author();\n }\n \n try {\n return findAuthor(); // succeed or fail\n } catch(error) {\n return findOtherAuther();\n } finally {\n // always runs\n // doesn't affect the return value\n }\n ```\n \n Asynchronous example:\n \n ```js\n findAuthor().catch(function(reason){\n return findOtherAuther();\n }).finally(function(){\n // author was either found, or not\n });\n ```\n \n @method finally\n @param {Function} callback\n @return {Promise}\n */\n\n\n Promise.prototype.finally = function _finally(callback) {\n var promise = this;\n var constructor = promise.constructor;\n\n if (isFunction(callback)) {\n return promise.then(function (value) {\n return constructor.resolve(callback()).then(function () {\n return value;\n });\n }, function (reason) {\n return constructor.resolve(callback()).then(function () {\n throw reason;\n });\n });\n }\n\n return promise.then(callback, callback);\n };\n\n return Promise;\n}();\n\nPromise.prototype.then = then;\nexport default Promise;\nPromise.all = all;\nPromise.race = race;\nPromise.resolve = Resolve;\nPromise.reject = Reject;\nPromise._setScheduler = setScheduler;\nPromise._setAsap = setAsap;\nPromise._asap = asap;","/*global self*/\nimport Promise from './promise';\n\nexport default function polyfill() {\n var local = void 0;\n\n if (typeof global !== 'undefined') {\n local = global;\n } else if (typeof self !== 'undefined') {\n local = self;\n } else {\n try {\n local = Function('return this')();\n } catch (e) {\n throw new Error('polyfill failed because global object is unavailable in this environment');\n }\n }\n\n var P = local.Promise;\n\n if (P) {\n var promiseToString = null;\n try {\n promiseToString = Object.prototype.toString.call(P.resolve());\n } catch (e) {\n // silently ignored\n }\n\n if (promiseToString === '[object Promise]' && !P.cast) {\n return;\n }\n }\n\n local.Promise = Promise;\n}","import Promise from './es6-promise/promise';\nimport polyfill from './es6-promise/polyfill';\n\n// Strange compat..\nPromise.polyfill = polyfill;\nPromise.Promise = Promise;\nexport default Promise;"],"names":["resolve","_resolve","then","originalThen","originalResolve","Promise","reject","_reject","Resolve","Reject"],"mappings":"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","file":"es6-promise.js"} \ No newline at end of file diff --git a/express-server/node_modules/es6-promise/dist/es6-promise.min.js b/express-server/node_modules/es6-promise/dist/es6-promise.min.js new file mode 100644 index 00000000..b37c7755 --- /dev/null +++ b/express-server/node_modules/es6-promise/dist/es6-promise.min.js @@ -0,0 +1 @@ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.ES6Promise=e()}(this,function(){"use strict";function t(t){var e=typeof t;return null!==t&&("object"===e||"function"===e)}function e(t){return"function"==typeof t}function n(t){B=t}function r(t){G=t}function o(){return function(){return process.nextTick(a)}}function i(){return"undefined"!=typeof z?function(){z(a)}:c()}function s(){var t=0,e=new J(a),n=document.createTextNode("");return e.observe(n,{characterData:!0}),function(){n.data=t=++t%2}}function u(){var t=new MessageChannel;return t.port1.onmessage=a,function(){return t.port2.postMessage(0)}}function c(){var t=setTimeout;return function(){return t(a,1)}}function a(){for(var t=0;t postsJSON\n values[1] // => commentsJSON\n\n return values;\n });\n ```\n\n @class Promise\n @param {Function} resolver\n Useful for tooling.\n @constructor\n*/\n\nvar Promise = function () {\n function Promise(resolver) {\n this[PROMISE_ID] = nextId();\n this._result = this._state = undefined;\n this._subscribers = [];\n\n if (noop !== resolver) {\n typeof resolver !== 'function' && needsResolver();\n this instanceof Promise ? initializePromise(this, resolver) : needsNew();\n }\n }\n\n /**\n The primary way of interacting with a promise is through its `then` method,\n which registers callbacks to receive either a promise's eventual value or the\n reason why the promise cannot be fulfilled.\n ```js\n findUser().then(function(user){\n // user is available\n }, function(reason){\n // user is unavailable, and you are given the reason why\n });\n ```\n Chaining\n --------\n The return value of `then` is itself a promise. This second, 'downstream'\n promise is resolved with the return value of the first promise's fulfillment\n or rejection handler, or rejected if the handler throws an exception.\n ```js\n findUser().then(function (user) {\n return user.name;\n }, function (reason) {\n return 'default name';\n }).then(function (userName) {\n // If `findUser` fulfilled, `userName` will be the user's name, otherwise it\n // will be `'default name'`\n });\n findUser().then(function (user) {\n throw new Error('Found user, but still unhappy');\n }, function (reason) {\n throw new Error('`findUser` rejected and we're unhappy');\n }).then(function (value) {\n // never reached\n }, function (reason) {\n // if `findUser` fulfilled, `reason` will be 'Found user, but still unhappy'.\n // If `findUser` rejected, `reason` will be '`findUser` rejected and we're unhappy'.\n });\n ```\n If the downstream promise does not specify a rejection handler, rejection reasons will be propagated further downstream.\n ```js\n findUser().then(function (user) {\n throw new PedagogicalException('Upstream error');\n }).then(function (value) {\n // never reached\n }).then(function (value) {\n // never reached\n }, function (reason) {\n // The `PedgagocialException` is propagated all the way down to here\n });\n ```\n Assimilation\n ------------\n Sometimes the value you want to propagate to a downstream promise can only be\n retrieved asynchronously. This can be achieved by returning a promise in the\n fulfillment or rejection handler. The downstream promise will then be pending\n until the returned promise is settled. This is called *assimilation*.\n ```js\n findUser().then(function (user) {\n return findCommentsByAuthor(user);\n }).then(function (comments) {\n // The user's comments are now available\n });\n ```\n If the assimliated promise rejects, then the downstream promise will also reject.\n ```js\n findUser().then(function (user) {\n return findCommentsByAuthor(user);\n }).then(function (comments) {\n // If `findCommentsByAuthor` fulfills, we'll have the value here\n }, function (reason) {\n // If `findCommentsByAuthor` rejects, we'll have the reason here\n });\n ```\n Simple Example\n --------------\n Synchronous Example\n ```javascript\n let result;\n try {\n result = findResult();\n // success\n } catch(reason) {\n // failure\n }\n ```\n Errback Example\n ```js\n findResult(function(result, err){\n if (err) {\n // failure\n } else {\n // success\n }\n });\n ```\n Promise Example;\n ```javascript\n findResult().then(function(result){\n // success\n }, function(reason){\n // failure\n });\n ```\n Advanced Example\n --------------\n Synchronous Example\n ```javascript\n let author, books;\n try {\n author = findAuthor();\n books = findBooksByAuthor(author);\n // success\n } catch(reason) {\n // failure\n }\n ```\n Errback Example\n ```js\n function foundBooks(books) {\n }\n function failure(reason) {\n }\n findAuthor(function(author, err){\n if (err) {\n failure(err);\n // failure\n } else {\n try {\n findBoooksByAuthor(author, function(books, err) {\n if (err) {\n failure(err);\n } else {\n try {\n foundBooks(books);\n } catch(reason) {\n failure(reason);\n }\n }\n });\n } catch(error) {\n failure(err);\n }\n // success\n }\n });\n ```\n Promise Example;\n ```javascript\n findAuthor().\n then(findBooksByAuthor).\n then(function(books){\n // found books\n }).catch(function(reason){\n // something went wrong\n });\n ```\n @method then\n @param {Function} onFulfilled\n @param {Function} onRejected\n Useful for tooling.\n @return {Promise}\n */\n\n /**\n `catch` is simply sugar for `then(undefined, onRejection)` which makes it the same\n as the catch block of a try/catch statement.\n ```js\n function findAuthor(){\n throw new Error('couldn't find that author');\n }\n // synchronous\n try {\n findAuthor();\n } catch(reason) {\n // something went wrong\n }\n // async with promises\n findAuthor().catch(function(reason){\n // something went wrong\n });\n ```\n @method catch\n @param {Function} onRejection\n Useful for tooling.\n @return {Promise}\n */\n\n\n Promise.prototype.catch = function _catch(onRejection) {\n return this.then(null, onRejection);\n };\n\n /**\n `finally` will be invoked regardless of the promise's fate just as native\n try/catch/finally behaves\n \n Synchronous example:\n \n ```js\n findAuthor() {\n if (Math.random() > 0.5) {\n throw new Error();\n }\n return new Author();\n }\n \n try {\n return findAuthor(); // succeed or fail\n } catch(error) {\n return findOtherAuther();\n } finally {\n // always runs\n // doesn't affect the return value\n }\n ```\n \n Asynchronous example:\n \n ```js\n findAuthor().catch(function(reason){\n return findOtherAuther();\n }).finally(function(){\n // author was either found, or not\n });\n ```\n \n @method finally\n @param {Function} callback\n @return {Promise}\n */\n\n\n Promise.prototype.finally = function _finally(callback) {\n var promise = this;\n var constructor = promise.constructor;\n\n if (isFunction(callback)) {\n return promise.then(function (value) {\n return constructor.resolve(callback()).then(function () {\n return value;\n });\n }, function (reason) {\n return constructor.resolve(callback()).then(function () {\n throw reason;\n });\n });\n }\n\n return promise.then(callback, callback);\n };\n\n return Promise;\n}();\n\nPromise.prototype.then = then;\nexport default Promise;\nPromise.all = all;\nPromise.race = race;\nPromise.resolve = Resolve;\nPromise.reject = Reject;\nPromise._setScheduler = setScheduler;\nPromise._setAsap = setAsap;\nPromise._asap = asap;","/*global self*/\nimport Promise from './promise';\n\nexport default function polyfill() {\n var local = void 0;\n\n if (typeof global !== 'undefined') {\n local = global;\n } else if (typeof self !== 'undefined') {\n local = self;\n } else {\n try {\n local = Function('return this')();\n } catch (e) {\n throw new Error('polyfill failed because global object is unavailable in this environment');\n }\n }\n\n var P = local.Promise;\n\n if (P) {\n var promiseToString = null;\n try {\n promiseToString = Object.prototype.toString.call(P.resolve());\n } catch (e) {\n // silently ignored\n }\n\n if (promiseToString === '[object Promise]' && !P.cast) {\n return;\n }\n }\n\n local.Promise = Promise;\n}","import Promise from './es6-promise/promise';\nimport polyfill from './es6-promise/polyfill';\n\n// Strange compat..\nPromise.polyfill = polyfill;\nPromise.Promise = Promise;\nexport default Promise;"],"names":["resolve","_resolve","then","originalThen","originalResolve","Promise","reject","_reject","Resolve","Reject"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACNO,SAAS,gBAAgB,CAAC,CAAC,EAAE;EAClC,IAAI,IAAI,GAAG,OAAO,CAAC,CAAC;EACpB,OAAO,CAAC,KAAK,IAAI,KAAK,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,UAAU,CAAC,CAAC;CACjE;;AAED,AAAO,SAAS,UAAU,CAAC,CAAC,EAAE;EAC5B,OAAO,OAAO,CAAC,KAAK,UAAU,CAAC;CAChC;;AAED,AAEC;;AAED,IAAI,QAAQ,GAAG,KAAK,CAAC,CAAC;AACtB,IAAI,KAAK,CAAC,OAAO,EAAE;EACjB,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC;CAC1B,MAAM;EACL,QAAQ,GAAG,UAAU,CAAC,EAAE;IACtB,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC;GAC/D,CAAC;CACH;;AAED,AAAO,IAAI,OAAO,GAAG,QAAQ;;ACtB7B,IAAI,GAAG,GAAG,CAAC,CAAC;AACZ,IAAI,SAAS,GAAG,KAAK,CAAC,CAAC;AACvB,IAAI,iBAAiB,GAAG,KAAK,CAAC,CAAC;;AAE/B,AAAO,IAAI,IAAI,GAAG,SAAS,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;EAC7C,KAAK,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;EACtB,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;EACrB,GAAG,IAAI,CAAC,CAAC;EACT,IAAI,GAAG,KAAK,CAAC,EAAE;;;;IAIb,IAAI,iBAAiB,EAAE;MACrB,iBAAiB,CAAC,KAAK,CAAC,CAAC;KAC1B,MAAM;MACL,aAAa,EAAE,CAAC;KACjB;GACF;CACF,CAAC;;AAEF,AAAO,SAAS,YAAY,CAAC,UAAU,EAAE;EACvC,iBAAiB,GAAG,UAAU,CAAC;CAChC;;AAED,AAAO,SAAS,OAAO,CAAC,MAAM,EAAE;EAC9B,IAAI,GAAG,MAAM,CAAC;CACf;;AAED,IAAI,aAAa,GAAG,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,GAAG,SAAS,CAAC;AACvE,IAAI,aAAa,GAAG,aAAa,IAAI,EAAE,CAAC;AACxC,IAAI,uBAAuB,GAAG,aAAa,CAAC,gBAAgB,IAAI,aAAa,CAAC,sBAAsB,CAAC;AACrG,IAAI,MAAM,GAAG,OAAO,IAAI,KAAK,WAAW,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,kBAAkB,CAAC;;;AAG/H,IAAI,QAAQ,GAAG,OAAO,iBAAiB,KAAK,WAAW,IAAI,OAAO,aAAa,KAAK,WAAW,IAAI,OAAO,cAAc,KAAK,WAAW,CAAC;;;AAGzI,SAAS,WAAW,GAAG;;;EAGrB,OAAO,YAAY;IACjB,OAAO,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;GAChC,CAAC;CACH;;;AAGD,SAAS,aAAa,GAAG;EACvB,IAAI,OAAO,SAAS,KAAK,WAAW,EAAE;IACpC,OAAO,YAAY;MACjB,SAAS,CAAC,KAAK,CAAC,CAAC;KAClB,CAAC;GACH;;EAED,OAAO,aAAa,EAAE,CAAC;CACxB;;AAED,SAAS,mBAAmB,GAAG;EAC7B,IAAI,UAAU,GAAG,CAAC,CAAC;EACnB,IAAI,QAAQ,GAAG,IAAI,uBAAuB,CAAC,KAAK,CAAC,CAAC;EAClD,IAAI,IAAI,GAAG,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;EACvC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;;EAEhD,OAAO,YAAY;IACjB,IAAI,CAAC,IAAI,GAAG,UAAU,GAAG,EAAE,UAAU,GAAG,CAAC,CAAC;GAC3C,CAAC;CACH;;;AAGD,SAAS,iBAAiB,GAAG;EAC3B,IAAI,OAAO,GAAG,IAAI,cAAc,EAAE,CAAC;EACnC,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC;EAChC,OAAO,YAAY;IACjB,OAAO,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;GACrC,CAAC;CACH;;AAED,SAAS,aAAa,GAAG;;;EAGvB,IAAI,gBAAgB,GAAG,UAAU,CAAC;EAClC,OAAO,YAAY;IACjB,OAAO,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;GACnC,CAAC;CACH;;AAED,IAAI,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;AAC5B,SAAS,KAAK,GAAG;EACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE;IAC/B,IAAI,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;;IAEvB,QAAQ,CAAC,GAAG,CAAC,CAAC;;IAEd,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IACrB,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC;GAC1B;;EAED,GAAG,GAAG,CAAC,CAAC;CACT;;AAED,SAAS,YAAY,GAAG;EACtB,IAAI;IACF,IAAI,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACvD,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,YAAY,CAAC;IAClD,OAAO,aAAa,EAAE,CAAC;GACxB,CAAC,OAAO,CAAC,EAAE;IACV,OAAO,aAAa,EAAE,CAAC;GACxB;CACF;;AAED,IAAI,aAAa,GAAG,KAAK,CAAC,CAAC;;AAE3B,IAAI,MAAM,EAAE;EACV,aAAa,GAAG,WAAW,EAAE,CAAC;CAC/B,MAAM,IAAI,uBAAuB,EAAE;EAClC,aAAa,GAAG,mBAAmB,EAAE,CAAC;CACvC,MAAM,IAAI,QAAQ,EAAE;EACnB,aAAa,GAAG,iBAAiB,EAAE,CAAC;CACrC,MAAM,IAAI,aAAa,KAAK,SAAS,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE;EACvE,aAAa,GAAG,YAAY,EAAE,CAAC;CAChC,MAAM;EACL,aAAa,GAAG,aAAa,EAAE,CAAC;;;CACjC,DCtHc,SAAS,IAAI,CAAC,aAAa,EAAE,WAAW,EAAE;EACvD,IAAI,MAAM,GAAG,IAAI,CAAC;;EAElB,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;;EAEvC,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,SAAS,EAAE;IACnC,WAAW,CAAC,KAAK,CAAC,CAAC;GACpB;;EAED,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;;;EAG3B,IAAI,MAAM,EAAE;IACV,IAAI,QAAQ,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACrC,IAAI,CAAC,YAAY;MACf,OAAO,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;KAChE,CAAC,CAAC;GACJ,MAAM;IACL,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;GACtD;;EAED,OAAO,KAAK,CAAC;;;CACd,DCxBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BA,AAAe,SAASA,SAAO,CAAC,MAAM,EAAE;;EAEtC,IAAI,WAAW,GAAG,IAAI,CAAC;;EAEvB,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,WAAW,KAAK,WAAW,EAAE;IAC9E,OAAO,MAAM,CAAC;GACf;;EAED,IAAI,OAAO,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;EACpCC,OAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;EAC1B,OAAO,OAAO,CAAC;;;CAChB,DCrCM,IAAI,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;;AAEhE,SAAS,IAAI,GAAG,EAAE;;AAElB,IAAI,OAAO,GAAG,KAAK,CAAC,CAAC;AACrB,IAAI,SAAS,GAAG,CAAC,CAAC;AAClB,IAAI,QAAQ,GAAG,CAAC,CAAC;;AAEjB,IAAI,eAAe,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;;AAEtC,SAAS,eAAe,GAAG;EACzB,OAAO,IAAI,SAAS,CAAC,0CAA0C,CAAC,CAAC;CAClE;;AAED,SAAS,eAAe,GAAG;EACzB,OAAO,IAAI,SAAS,CAAC,sDAAsD,CAAC,CAAC;CAC9E;;AAED,SAAS,OAAO,CAAC,OAAO,EAAE;EACxB,IAAI;IACF,OAAO,OAAO,CAAC,IAAI,CAAC;GACrB,CAAC,OAAO,KAAK,EAAE;IACd,eAAe,CAAC,KAAK,GAAG,KAAK,CAAC;IAC9B,OAAO,eAAe,CAAC;GACxB;CACF;;AAED,SAAS,OAAO,CAACC,OAAI,EAAE,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE;EAClE,IAAI;IACFA,OAAI,CAAC,IAAI,CAAC,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;GACxD,CAAC,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,CAAC;GACV;CACF;;AAED,SAAS,qBAAqB,CAAC,OAAO,EAAE,QAAQ,EAAEA,OAAI,EAAE;EACtD,IAAI,CAAC,UAAU,OAAO,EAAE;IACtB,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,KAAK,GAAG,OAAO,CAACA,OAAI,EAAE,QAAQ,EAAE,UAAU,KAAK,EAAE;MACnD,IAAI,MAAM,EAAE;QACV,OAAO;OACR;MACD,MAAM,GAAG,IAAI,CAAC;MACd,IAAI,QAAQ,KAAK,KAAK,EAAE;QACtB,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;OACzB,MAAM;QACL,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;OACzB;KACF,EAAE,UAAU,MAAM,EAAE;MACnB,IAAI,MAAM,EAAE;QACV,OAAO;OACR;MACD,MAAM,GAAG,IAAI,CAAC;;MAEd,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;KACzB,EAAE,UAAU,IAAI,OAAO,CAAC,MAAM,IAAI,kBAAkB,CAAC,CAAC,CAAC;;IAExD,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE;MACpB,MAAM,GAAG,IAAI,CAAC;MACd,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;KACxB;GACF,EAAE,OAAO,CAAC,CAAC;CACb;;AAED,SAAS,iBAAiB,CAAC,OAAO,EAAE,QAAQ,EAAE;EAC5C,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE;IACjC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;GACpC,MAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,EAAE;IACvC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;GACnC,MAAM;IACL,SAAS,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,KAAK,EAAE;MAC9C,OAAO,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;KAChC,EAAE,UAAU,MAAM,EAAE;MACnB,OAAO,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;KAChC,CAAC,CAAC;GACJ;CACF;;AAED,SAAS,mBAAmB,CAAC,OAAO,EAAE,aAAa,EAAEA,OAAI,EAAE;EACzD,IAAI,aAAa,CAAC,WAAW,KAAK,OAAO,CAAC,WAAW,IAAIA,OAAI,KAAKC,IAAY,IAAI,aAAa,CAAC,WAAW,CAAC,OAAO,KAAKC,SAAe,EAAE;IACvI,iBAAiB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;GAC3C,MAAM;IACL,IAAIF,OAAI,KAAK,eAAe,EAAE;MAC5B,MAAM,CAAC,OAAO,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;MACvC,eAAe,CAAC,KAAK,GAAG,IAAI,CAAC;KAC9B,MAAM,IAAIA,OAAI,KAAK,SAAS,EAAE;MAC7B,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;KACjC,MAAM,IAAI,UAAU,CAACA,OAAI,CAAC,EAAE;MAC3B,qBAAqB,CAAC,OAAO,EAAE,aAAa,EAAEA,OAAI,CAAC,CAAC;KACrD,MAAM;MACL,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;KACjC;GACF;CACF;;AAED,SAAS,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE;EAC/B,IAAI,OAAO,KAAK,KAAK,EAAE;IACrB,MAAM,CAAC,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;GACpC,MAAM,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE;IAClC,mBAAmB,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;GACrD,MAAM;IACL,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;GACzB;CACF;;AAED,SAAS,gBAAgB,CAAC,OAAO,EAAE;EACjC,IAAI,OAAO,CAAC,QAAQ,EAAE;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;GACnC;;EAED,OAAO,CAAC,OAAO,CAAC,CAAC;CAClB;;AAED,SAAS,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE;EAC/B,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,EAAE;IAC9B,OAAO;GACR;;EAED,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;EACxB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;;EAE3B,IAAI,OAAO,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;IACrC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;GACxB;CACF;;AAED,SAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE;EAC/B,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,EAAE;IAC9B,OAAO;GACR;EACD,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC;EAC1B,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC;;EAEzB,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;CACjC;;AAED,SAAS,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE;EAC5D,IAAI,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;EACvC,IAAI,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;;;EAGjC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;;EAEvB,YAAY,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;EAC7B,YAAY,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,aAAa,CAAC;EACjD,YAAY,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG,WAAW,CAAC;;EAE9C,IAAI,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE;IACjC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;GACvB;CACF;;AAED,SAAS,OAAO,CAAC,OAAO,EAAE;EACxB,IAAI,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;EACvC,IAAI,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;;EAE7B,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;IAC5B,OAAO;GACR;;EAED,IAAI,KAAK,GAAG,KAAK,CAAC;MACd,QAAQ,GAAG,KAAK,CAAC;MACjB,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;;EAE7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;IAC9C,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IACvB,QAAQ,GAAG,WAAW,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC;;IAEpC,IAAI,KAAK,EAAE;MACT,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;KAClD,MAAM;MACL,QAAQ,CAAC,MAAM,CAAC,CAAC;KAClB;GACF;;EAED,OAAO,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;CACjC;;AAED,SAAS,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE;EAClC,IAAI;IACF,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;GACzB,CAAC,OAAO,CAAC,EAAE;IACV,eAAe,CAAC,KAAK,GAAG,CAAC,CAAC;IAC1B,OAAO,eAAe,CAAC;GACxB;CACF;;AAED,SAAS,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE;EAC1D,IAAI,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC;MAClC,KAAK,GAAG,KAAK,CAAC;MACd,KAAK,GAAG,KAAK,CAAC;MACd,SAAS,GAAG,KAAK,CAAC;MAClB,MAAM,GAAG,KAAK,CAAC,CAAC;;EAEpB,IAAI,WAAW,EAAE;IACf,KAAK,GAAG,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;;IAEnC,IAAI,KAAK,KAAK,eAAe,EAAE;MAC7B,MAAM,GAAG,IAAI,CAAC;MACd,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;MACpB,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;KACpB,MAAM;MACL,SAAS,GAAG,IAAI,CAAC;KAClB;;IAED,IAAI,OAAO,KAAK,KAAK,EAAE;MACrB,MAAM,CAAC,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;MACnC,OAAO;KACR;GACF,MAAM;IACL,KAAK,GAAG,MAAM,CAAC;IACf,SAAS,GAAG,IAAI,CAAC;GAClB;;EAED,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,EAAE;;GAE/B,MAAM,IAAI,WAAW,IAAI,SAAS,EAAE;IACnC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;GACzB,MAAM,IAAI,MAAM,EAAE;IACjB,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;GACxB,MAAM,IAAI,OAAO,KAAK,SAAS,EAAE;IAChC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;GACzB,MAAM,IAAI,OAAO,KAAK,QAAQ,EAAE;IAC/B,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;GACxB;CACF;;AAED,SAAS,iBAAiB,CAAC,OAAO,EAAE,QAAQ,EAAE;EAC5C,IAAI;IACF,QAAQ,CAAC,SAAS,cAAc,CAAC,KAAK,EAAE;MACtC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;KACzB,EAAE,SAAS,aAAa,CAAC,MAAM,EAAE;MAChC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;KACzB,CAAC,CAAC;GACJ,CAAC,OAAO,CAAC,EAAE;IACV,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;GACpB;CACF;;AAED,IAAI,EAAE,GAAG,CAAC,CAAC;AACX,SAAS,MAAM,GAAG;EAChB,OAAO,EAAE,EAAE,CAAC;CACb;;AAED,SAAS,WAAW,CAAC,OAAO,EAAE;EAC5B,OAAO,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC;EAC3B,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;EAC3B,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;EAC5B,OAAO,CAAC,YAAY,GAAG,EAAE,CAAC;CAC3B;;ACrPD,SAAS,eAAe,GAAG;EACzB,OAAO,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;CAC7D,AAAC;;AAEF,IAAI,UAAU,GAAG,YAAY;EAC3B,SAAS,UAAU,CAAC,WAAW,EAAE,KAAK,EAAE;IACtC,IAAI,CAAC,oBAAoB,GAAG,WAAW,CAAC;IACxC,IAAI,CAAC,OAAO,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;;IAErC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;MAC7B,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAC3B;;IAED,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE;MAClB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;MAC3B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;;MAE/B,IAAI,CAAC,OAAO,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;;MAEtC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QACrB,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;OACrC,MAAM;QACL,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACvB,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,EAAE;UACzB,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;SACrC;OACF;KACF,MAAM;MACL,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;KACzC;GACF;;EAED,UAAU,CAAC,SAAS,CAAC,UAAU,GAAG,SAAS,UAAU,CAAC,KAAK,EAAE;IAC3D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,KAAK,OAAO,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;MAChE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;KAC9B;GACF,CAAC;;EAEF,UAAU,CAAC,SAAS,CAAC,UAAU,GAAG,SAAS,UAAU,CAAC,KAAK,EAAE,CAAC,EAAE;IAC9D,IAAI,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC;IAClC,IAAIF,UAAO,GAAG,CAAC,CAAC,OAAO,CAAC;;;IAGxB,IAAIA,UAAO,KAAKI,SAAe,EAAE;MAC/B,IAAI,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;;MAE3B,IAAI,KAAK,KAAKD,IAAY,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,EAAE;QACtD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;OACjD,MAAM,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;QACtC,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;OACzB,MAAM,IAAI,CAAC,KAAKE,SAAO,EAAE;QACxB,IAAI,OAAO,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;QAC1B,mBAAmB,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;OAChC,MAAM;QACL,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,UAAUL,UAAO,EAAE;UAC1C,OAAOA,UAAO,CAAC,KAAK,CAAC,CAAC;SACvB,CAAC,EAAE,CAAC,CAAC,CAAC;OACR;KACF,MAAM;MACL,IAAI,CAAC,aAAa,CAACA,UAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;KACvC;GACF,CAAC;;EAEF,UAAU,CAAC,SAAS,CAAC,UAAU,GAAG,SAAS,UAAU,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE;IACrE,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;;;IAG3B,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,EAAE;MAC9B,IAAI,CAAC,UAAU,EAAE,CAAC;;MAElB,IAAI,KAAK,KAAK,QAAQ,EAAE;QACtB,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;OACxB,MAAM;QACL,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;OACzB;KACF;;IAED,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,EAAE;MACzB,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;KAChC;GACF,CAAC;;EAEF,UAAU,CAAC,SAAS,CAAC,aAAa,GAAG,SAAS,aAAa,CAAC,OAAO,EAAE,CAAC,EAAE;IACtE,IAAI,UAAU,GAAG,IAAI,CAAC;;IAEtB,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,KAAK,EAAE;MAC7C,OAAO,UAAU,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;KACnD,EAAE,UAAU,MAAM,EAAE;MACnB,OAAO,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;KACnD,CAAC,CAAC;GACJ,CAAC;;EAEF,OAAO,UAAU,CAAC;CACnB,EAAE;;ACzGH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+CA,AAAe,SAAS,GAAG,CAAC,OAAO,EAAE;EACnC,OAAO,IAAI,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC;;;CAC9C,DCjDD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiEA,AAAe,SAAS,IAAI,CAAC,OAAO,EAAE;;EAEpC,IAAI,WAAW,GAAG,IAAI,CAAC;;EAEvB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;IACrB,OAAO,IAAI,WAAW,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE;MAC1C,OAAO,MAAM,CAAC,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC,CAAC;KACjE,CAAC,CAAC;GACJ,MAAM;IACL,OAAO,IAAI,WAAW,CAAC,UAAU,OAAO,EAAE,MAAM,EAAE;MAChD,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;MAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;QAC/B,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;OACvD;KACF,CAAC,CAAC;GACJ;;;CACF,DCjFD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCA,AAAe,SAASM,QAAM,CAAC,MAAM,EAAE;;EAErC,IAAI,WAAW,GAAG,IAAI,CAAC;EACvB,IAAI,OAAO,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;EACpCC,MAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;EACzB,OAAO,OAAO,CAAC;;;CAChB,DC9BD,SAAS,aAAa,GAAG;EACvB,MAAM,IAAI,SAAS,CAAC,oFAAoF,CAAC,CAAC;CAC3G;;AAED,SAAS,QAAQ,GAAG;EAClB,MAAM,IAAI,SAAS,CAAC,uHAAuH,CAAC,CAAC;CAC9I;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0GD,IAAIF,SAAO,GAAG,YAAY;EACxB,SAAS,OAAO,CAAC,QAAQ,EAAE;IACzB,IAAI,CAAC,UAAU,CAAC,GAAG,MAAM,EAAE,CAAC;IAC5B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;IACvC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;;IAEvB,IAAI,IAAI,KAAK,QAAQ,EAAE;MACrB,OAAO,QAAQ,KAAK,UAAU,IAAI,aAAa,EAAE,CAAC;MAClD,IAAI,YAAY,OAAO,GAAG,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAE,CAAC;KAC1E;GACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4LD,OAAO,CAAC,SAAS,CAAC,KAAK,GAAG,SAAS,MAAM,CAAC,WAAW,EAAE;IACrD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;GACrC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0CF,OAAO,CAAC,SAAS,CAAC,OAAO,GAAG,SAAS,QAAQ,CAAC,QAAQ,EAAE;IACtD,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,IAAI,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;;IAEtC,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE;MACxB,OAAO,OAAO,CAAC,IAAI,CAAC,UAAU,KAAK,EAAE;QACnC,OAAO,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY;UACtD,OAAO,KAAK,CAAC;SACd,CAAC,CAAC;OACJ,EAAE,UAAU,MAAM,EAAE;QACnB,OAAO,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY;UACtD,MAAM,MAAM,CAAC;SACd,CAAC,CAAC;OACJ,CAAC,CAAC;KACJ;;IAED,OAAO,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;GACzC,CAAC;;EAEF,OAAO,OAAO,CAAC;CAChB,EAAE,CAAC;;AAEJA,SAAO,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC;AAC9B,AACAA,SAAO,CAAC,GAAG,GAAG,GAAG,CAAC;AAClBA,SAAO,CAAC,IAAI,GAAG,IAAI,CAAC;AACpBA,SAAO,CAAC,OAAO,GAAGG,SAAO,CAAC;AAC1BH,SAAO,CAAC,MAAM,GAAGI,QAAM,CAAC;AACxBJ,SAAO,CAAC,aAAa,GAAG,YAAY,CAAC;AACrCA,SAAO,CAAC,QAAQ,GAAG,OAAO,CAAC;AAC3BA,SAAO,CAAC,KAAK,GAAG,IAAI;;AC5YpB;AACA,AAEe,SAAS,QAAQ,GAAG;EACjC,IAAI,KAAK,GAAG,KAAK,CAAC,CAAC;;EAEnB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;IACjC,KAAK,GAAG,MAAM,CAAC;GAChB,MAAM,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE;IACtC,KAAK,GAAG,IAAI,CAAC;GACd,MAAM;IACL,IAAI;MACF,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;KACnC,CAAC,OAAO,CAAC,EAAE;MACV,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;KAC7F;GACF;;EAED,IAAI,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;;EAEtB,IAAI,CAAC,EAAE;IACL,IAAI,eAAe,GAAG,IAAI,CAAC;IAC3B,IAAI;MACF,eAAe,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;KAC/D,CAAC,OAAO,CAAC,EAAE;;KAEX;;IAED,IAAI,eAAe,KAAK,kBAAkB,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE;MACrD,OAAO;KACR;GACF;;EAED,KAAK,CAAC,OAAO,GAAGA,SAAO,CAAC;;;CACzB,DC/BD;AACAA,SAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC5BA,SAAO,CAAC,OAAO,GAAGA,SAAO,CAAC;;;;;;;;","file":"es6-promise.min.js"} \ No newline at end of file diff --git a/express-server/node_modules/es6-promise/es6-promise.d.ts b/express-server/node_modules/es6-promise/es6-promise.d.ts new file mode 100644 index 00000000..cce5b360 --- /dev/null +++ b/express-server/node_modules/es6-promise/es6-promise.d.ts @@ -0,0 +1,81 @@ +export interface Thenable { + then (onFulfilled?: (value: R) => U | Thenable, onRejected?: (error: any) => U | Thenable): Thenable; + then (onFulfilled?: (value: R) => U | Thenable, onRejected?: (error: any) => void): Thenable; +} + +export class Promise implements Thenable { + /** + * If you call resolve in the body of the callback passed to the constructor, + * your promise is fulfilled with result object passed to resolve. + * If you call reject your promise is rejected with the object passed to resolve. + * For consistency and debugging (eg stack traces), obj should be an instanceof Error. + * Any errors thrown in the constructor callback will be implicitly passed to reject(). + */ + constructor (callback: (resolve : (value?: R | Thenable) => void, reject: (error?: any) => void) => void); + + /** + * onFulfilled is called when/if "promise" resolves. onRejected is called when/if "promise" rejects. + * Both are optional, if either/both are omitted the next onFulfilled/onRejected in the chain is called. + * Both callbacks have a single parameter , the fulfillment value or rejection reason. + * "then" returns a new promise equivalent to the value you return from onFulfilled/onRejected after being passed through Promise.resolve. + * If an error is thrown in the callback, the returned promise rejects with that error. + * + * @param onFulfilled called when/if "promise" resolves + * @param onRejected called when/if "promise" rejects + */ + then (onFulfilled?: (value: R) => U | Thenable, onRejected?: (error: any) => U | Thenable): Promise; + then (onFulfilled?: (value: R) => U | Thenable, onRejected?: (error: any) => void): Promise; + + /** + * Sugar for promise.then(undefined, onRejected) + * + * @param onRejected called when/if "promise" rejects + */ + catch (onRejected?: (error: any) => U | Thenable): Promise; + + /** + * onSettled is invoked when/if the "promise" settles (either rejects or fulfills); + * + * @param onFinally called when/if "promise" settles + */ + finally (onFinally?: (callback: any) => U | Thenable): Promise; + + /** + * Make a new promise from the thenable. + * A thenable is promise-like in as far as it has a "then" method. + */ + static resolve (): Promise; + static resolve (value: R | Thenable): Promise; + + /** + * Make a promise that rejects to obj. For consistency and debugging (eg stack traces), obj should be an instanceof Error + */ + static reject (error: any): Promise; + + /** + * Make a promise that fulfills when every item in the array fulfills, and rejects if (and when) any item rejects. + * the array passed to all can be a mixture of promise-like objects and other objects. + * The fulfillment value is an array (in order) of fulfillment values. The rejection value is the first rejection value. + */ + static all(values: [T1 | Thenable, T2 | Thenable, T3 | Thenable, T4 | Thenable , T5 | Thenable, T6 | Thenable, T7 | Thenable, T8 | Thenable, T9 | Thenable, T10 | Thenable]): Promise<[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]>; + static all(values: [T1 | Thenable, T2 | Thenable, T3 | Thenable, T4 | Thenable , T5 | Thenable, T6 | Thenable, T7 | Thenable, T8 | Thenable, T9 | Thenable]): Promise<[T1, T2, T3, T4, T5, T6, T7, T8, T9]>; + static all(values: [T1 | Thenable, T2 | Thenable, T3 | Thenable, T4 | Thenable , T5 | Thenable, T6 | Thenable, T7 | Thenable, T8 | Thenable]): Promise<[T1, T2, T3, T4, T5, T6, T7, T8]>; + static all(values: [T1 | Thenable, T2 | Thenable, T3 | Thenable, T4 | Thenable , T5 | Thenable, T6 | Thenable, T7 | Thenable]): Promise<[T1, T2, T3, T4, T5, T6, T7]>; + static all(values: [T1 | Thenable, T2 | Thenable, T3 | Thenable, T4 | Thenable , T5 | Thenable, T6 | Thenable]): Promise<[T1, T2, T3, T4, T5, T6]>; + static all(values: [T1 | Thenable, T2 | Thenable, T3 | Thenable, T4 | Thenable , T5 | Thenable]): Promise<[T1, T2, T3, T4, T5]>; + static all(values: [T1 | Thenable, T2 | Thenable, T3 | Thenable, T4 | Thenable ]): Promise<[T1, T2, T3, T4]>; + static all(values: [T1 | Thenable, T2 | Thenable, T3 | Thenable]): Promise<[T1, T2, T3]>; + static all(values: [T1 | Thenable, T2 | Thenable]): Promise<[T1, T2]>; + static all(values: [T1 | Thenable]): Promise<[T1]>; + static all(values: Array>): Promise; + + /** + * Make a Promise that fulfills when any item fulfills, and rejects if any item rejects. + */ + static race (promises: (R | Thenable)[]): Promise; +} + +/** + * The polyfill method will patch the global environment (in this case to the Promise name) when called. + */ +export function polyfill (): void; diff --git a/express-server/node_modules/es6-promise/lib/es6-promise.auto.js b/express-server/node_modules/es6-promise/lib/es6-promise.auto.js new file mode 100644 index 00000000..77997866 --- /dev/null +++ b/express-server/node_modules/es6-promise/lib/es6-promise.auto.js @@ -0,0 +1,3 @@ +import Promise from './es6-promise'; +Promise.polyfill(); +export default Promise; diff --git a/express-server/node_modules/es6-promise/lib/es6-promise.js b/express-server/node_modules/es6-promise/lib/es6-promise.js new file mode 100644 index 00000000..4f4d840d --- /dev/null +++ b/express-server/node_modules/es6-promise/lib/es6-promise.js @@ -0,0 +1,7 @@ +import Promise from './es6-promise/promise'; +import polyfill from './es6-promise/polyfill'; + +// Strange compat.. +Promise.polyfill = polyfill; +Promise.Promise = Promise; +export default Promise; diff --git a/express-server/node_modules/es6-promise/lib/es6-promise/-internal.js b/express-server/node_modules/es6-promise/lib/es6-promise/-internal.js new file mode 100644 index 00000000..925776f5 --- /dev/null +++ b/express-server/node_modules/es6-promise/lib/es6-promise/-internal.js @@ -0,0 +1,266 @@ +import { + objectOrFunction, + isFunction +} from './utils'; + +import { + asap +} from './asap'; + +import originalThen from './then'; +import originalResolve from './promise/resolve'; + +export const PROMISE_ID = Math.random().toString(36).substring(2); + +function noop() {} + +const PENDING = void 0; +const FULFILLED = 1; +const REJECTED = 2; + +const TRY_CATCH_ERROR = { error: null }; + +function selfFulfillment() { + return new TypeError("You cannot resolve a promise with itself"); +} + +function cannotReturnOwn() { + return new TypeError('A promises callback cannot return that same promise.'); +} + +function getThen(promise) { + try { + return promise.then; + } catch(error) { + TRY_CATCH_ERROR.error = error; + return TRY_CATCH_ERROR; + } +} + +function tryThen(then, value, fulfillmentHandler, rejectionHandler) { + try { + then.call(value, fulfillmentHandler, rejectionHandler); + } catch(e) { + return e; + } +} + +function handleForeignThenable(promise, thenable, then) { + asap(promise => { + var sealed = false; + var error = tryThen(then, thenable, value => { + if (sealed) { return; } + sealed = true; + if (thenable !== value) { + resolve(promise, value); + } else { + fulfill(promise, value); + } + }, reason => { + if (sealed) { return; } + sealed = true; + + reject(promise, reason); + }, 'Settle: ' + (promise._label || ' unknown promise')); + + if (!sealed && error) { + sealed = true; + reject(promise, error); + } + }, promise); +} + +function handleOwnThenable(promise, thenable) { + if (thenable._state === FULFILLED) { + fulfill(promise, thenable._result); + } else if (thenable._state === REJECTED) { + reject(promise, thenable._result); + } else { + subscribe(thenable, undefined, value => resolve(promise, value), + reason => reject(promise, reason)) + } +} + +function handleMaybeThenable(promise, maybeThenable, then) { + if (maybeThenable.constructor === promise.constructor && + then === originalThen && + maybeThenable.constructor.resolve === originalResolve) { + handleOwnThenable(promise, maybeThenable); + } else { + if (then === TRY_CATCH_ERROR) { + reject(promise, TRY_CATCH_ERROR.error); + TRY_CATCH_ERROR.error = null; + } else if (then === undefined) { + fulfill(promise, maybeThenable); + } else if (isFunction(then)) { + handleForeignThenable(promise, maybeThenable, then); + } else { + fulfill(promise, maybeThenable); + } + } +} + +function resolve(promise, value) { + if (promise === value) { + reject(promise, selfFulfillment()); + } else if (objectOrFunction(value)) { + handleMaybeThenable(promise, value, getThen(value)); + } else { + fulfill(promise, value); + } +} + +function publishRejection(promise) { + if (promise._onerror) { + promise._onerror(promise._result); + } + + publish(promise); +} + +function fulfill(promise, value) { + if (promise._state !== PENDING) { return; } + + promise._result = value; + promise._state = FULFILLED; + + if (promise._subscribers.length !== 0) { + asap(publish, promise); + } +} + +function reject(promise, reason) { + if (promise._state !== PENDING) { return; } + promise._state = REJECTED; + promise._result = reason; + + asap(publishRejection, promise); +} + +function subscribe(parent, child, onFulfillment, onRejection) { + let { _subscribers } = parent; + let { length } = _subscribers; + + parent._onerror = null; + + _subscribers[length] = child; + _subscribers[length + FULFILLED] = onFulfillment; + _subscribers[length + REJECTED] = onRejection; + + if (length === 0 && parent._state) { + asap(publish, parent); + } +} + +function publish(promise) { + let subscribers = promise._subscribers; + let settled = promise._state; + + if (subscribers.length === 0) { return; } + + let child, callback, detail = promise._result; + + for (let i = 0; i < subscribers.length; i += 3) { + child = subscribers[i]; + callback = subscribers[i + settled]; + + if (child) { + invokeCallback(settled, child, callback, detail); + } else { + callback(detail); + } + } + + promise._subscribers.length = 0; +} + + +function tryCatch(callback, detail) { + try { + return callback(detail); + } catch(e) { + TRY_CATCH_ERROR.error = e; + return TRY_CATCH_ERROR; + } +} + +function invokeCallback(settled, promise, callback, detail) { + let hasCallback = isFunction(callback), + value, error, succeeded, failed; + + if (hasCallback) { + value = tryCatch(callback, detail); + + if (value === TRY_CATCH_ERROR) { + failed = true; + error = value.error; + value.error = null; + } else { + succeeded = true; + } + + if (promise === value) { + reject(promise, cannotReturnOwn()); + return; + } + + } else { + value = detail; + succeeded = true; + } + + if (promise._state !== PENDING) { + // noop + } else if (hasCallback && succeeded) { + resolve(promise, value); + } else if (failed) { + reject(promise, error); + } else if (settled === FULFILLED) { + fulfill(promise, value); + } else if (settled === REJECTED) { + reject(promise, value); + } +} + +function initializePromise(promise, resolver) { + try { + resolver(function resolvePromise(value){ + resolve(promise, value); + }, function rejectPromise(reason) { + reject(promise, reason); + }); + } catch(e) { + reject(promise, e); + } +} + +let id = 0; +function nextId() { + return id++; +} + +function makePromise(promise) { + promise[PROMISE_ID] = id++; + promise._state = undefined; + promise._result = undefined; + promise._subscribers = []; +} + +export { + nextId, + makePromise, + getThen, + noop, + resolve, + reject, + fulfill, + subscribe, + publish, + publishRejection, + initializePromise, + invokeCallback, + FULFILLED, + REJECTED, + PENDING, + handleMaybeThenable +}; diff --git a/express-server/node_modules/es6-promise/lib/es6-promise/asap.js b/express-server/node_modules/es6-promise/lib/es6-promise/asap.js new file mode 100644 index 00000000..0483201d --- /dev/null +++ b/express-server/node_modules/es6-promise/lib/es6-promise/asap.js @@ -0,0 +1,119 @@ +let len = 0; +let vertxNext; +let customSchedulerFn; + +export var asap = function asap(callback, arg) { + queue[len] = callback; + queue[len + 1] = arg; + len += 2; + if (len === 2) { + // If len is 2, that means that we need to schedule an async flush. + // If additional callbacks are queued before the queue is flushed, they + // will be processed by this flush that we are scheduling. + if (customSchedulerFn) { + customSchedulerFn(flush); + } else { + scheduleFlush(); + } + } +} + +export function setScheduler(scheduleFn) { + customSchedulerFn = scheduleFn; +} + +export function setAsap(asapFn) { + asap = asapFn; +} + +const browserWindow = (typeof window !== 'undefined') ? window : undefined; +const browserGlobal = browserWindow || {}; +const BrowserMutationObserver = browserGlobal.MutationObserver || browserGlobal.WebKitMutationObserver; +const isNode = typeof self === 'undefined' && typeof process !== 'undefined' && {}.toString.call(process) === '[object process]'; + +// test for web worker but not in IE10 +const isWorker = typeof Uint8ClampedArray !== 'undefined' && + typeof importScripts !== 'undefined' && + typeof MessageChannel !== 'undefined'; + +// node +function useNextTick() { + // node version 0.10.x displays a deprecation warning when nextTick is used recursively + // see https://github.com/cujojs/when/issues/410 for details + return () => process.nextTick(flush); +} + +// vertx +function useVertxTimer() { + if (typeof vertxNext !== 'undefined') { + return function() { + vertxNext(flush); + }; + } + + return useSetTimeout(); +} + +function useMutationObserver() { + let iterations = 0; + const observer = new BrowserMutationObserver(flush); + const node = document.createTextNode(''); + observer.observe(node, { characterData: true }); + + return () => { + node.data = (iterations = ++iterations % 2); + }; +} + +// web worker +function useMessageChannel() { + const channel = new MessageChannel(); + channel.port1.onmessage = flush; + return () => channel.port2.postMessage(0); +} + +function useSetTimeout() { + // Store setTimeout reference so es6-promise will be unaffected by + // other code modifying setTimeout (like sinon.useFakeTimers()) + const globalSetTimeout = setTimeout; + return () => globalSetTimeout(flush, 1); +} + +const queue = new Array(1000); +function flush() { + for (let i = 0; i < len; i+=2) { + let callback = queue[i]; + let arg = queue[i+1]; + + callback(arg); + + queue[i] = undefined; + queue[i+1] = undefined; + } + + len = 0; +} + +function attemptVertx() { + try { + const vertx = Function('return this')().require('vertx'); + vertxNext = vertx.runOnLoop || vertx.runOnContext; + return useVertxTimer(); + } catch(e) { + return useSetTimeout(); + } +} + +let scheduleFlush; +// Decide what async method to use to triggering processing of queued callbacks: +if (isNode) { + scheduleFlush = useNextTick(); +} else if (BrowserMutationObserver) { + scheduleFlush = useMutationObserver(); +} else if (isWorker) { + scheduleFlush = useMessageChannel(); +} else if (browserWindow === undefined && typeof require === 'function') { + scheduleFlush = attemptVertx(); +} else { + scheduleFlush = useSetTimeout(); +} diff --git a/express-server/node_modules/es6-promise/lib/es6-promise/enumerator.js b/express-server/node_modules/es6-promise/lib/es6-promise/enumerator.js new file mode 100644 index 00000000..b0eaa930 --- /dev/null +++ b/express-server/node_modules/es6-promise/lib/es6-promise/enumerator.js @@ -0,0 +1,113 @@ +import { + isArray, + isMaybeThenable +} from './utils'; +import { + noop, + reject, + fulfill, + subscribe, + FULFILLED, + REJECTED, + PENDING, + getThen, + handleMaybeThenable +} from './-internal'; + +import then from './then'; +import Promise from './promise'; +import originalResolve from './promise/resolve'; +import originalThen from './then'; +import { makePromise, PROMISE_ID } from './-internal'; + +function validationError() { + return new Error('Array Methods must be provided an Array'); +}; + +export default class Enumerator { + constructor(Constructor, input) { + this._instanceConstructor = Constructor; + this.promise = new Constructor(noop); + + if (!this.promise[PROMISE_ID]) { + makePromise(this.promise); + } + + if (isArray(input)) { + this.length = input.length; + this._remaining = input.length; + + this._result = new Array(this.length); + + if (this.length === 0) { + fulfill(this.promise, this._result); + } else { + this.length = this.length || 0; + this._enumerate(input); + if (this._remaining === 0) { + fulfill(this.promise, this._result); + } + } + } else { + reject(this.promise, validationError()); + } + } + _enumerate(input) { + for (let i = 0; this._state === PENDING && i < input.length; i++) { + this._eachEntry(input[i], i); + } + } + + _eachEntry(entry, i) { + let c = this._instanceConstructor; + let { resolve } = c; + + if (resolve === originalResolve) { + let then = getThen(entry); + + if (then === originalThen && + entry._state !== PENDING) { + this._settledAt(entry._state, i, entry._result); + } else if (typeof then !== 'function') { + this._remaining--; + this._result[i] = entry; + } else if (c === Promise) { + let promise = new c(noop); + handleMaybeThenable(promise, entry, then); + this._willSettleAt(promise, i); + } else { + this._willSettleAt(new c(resolve => resolve(entry)), i); + } + } else { + this._willSettleAt(resolve(entry), i); + } + } + + _settledAt(state, i, value) { + let { promise } = this; + + if (promise._state === PENDING) { + this._remaining--; + + if (state === REJECTED) { + reject(promise, value); + } else { + this._result[i] = value; + } + } + + if (this._remaining === 0) { + fulfill(promise, this._result); + } + } + + _willSettleAt(promise, i) { + let enumerator = this; + + subscribe( + promise, undefined, + value => enumerator._settledAt(FULFILLED, i, value), + reason => enumerator._settledAt(REJECTED, i, reason) + ); + } +}; diff --git a/express-server/node_modules/es6-promise/lib/es6-promise/polyfill.js b/express-server/node_modules/es6-promise/lib/es6-promise/polyfill.js new file mode 100644 index 00000000..30db73c9 --- /dev/null +++ b/express-server/node_modules/es6-promise/lib/es6-promise/polyfill.js @@ -0,0 +1,35 @@ +/*global self*/ +import Promise from './promise'; + +export default function polyfill() { + let local; + + if (typeof global !== 'undefined') { + local = global; + } else if (typeof self !== 'undefined') { + local = self; + } else { + try { + local = Function('return this')(); + } catch (e) { + throw new Error('polyfill failed because global object is unavailable in this environment'); + } + } + + let P = local.Promise; + + if (P) { + var promiseToString = null; + try { + promiseToString = Object.prototype.toString.call(P.resolve()); + } catch(e) { + // silently ignored + } + + if (promiseToString === '[object Promise]' && !P.cast){ + return; + } + } + + local.Promise = Promise; +} diff --git a/express-server/node_modules/es6-promise/lib/es6-promise/promise.js b/express-server/node_modules/es6-promise/lib/es6-promise/promise.js new file mode 100644 index 00000000..ae170363 --- /dev/null +++ b/express-server/node_modules/es6-promise/lib/es6-promise/promise.js @@ -0,0 +1,431 @@ +import { + isFunction +} from './utils'; +import { + noop, + nextId, + PROMISE_ID, + initializePromise +} from './-internal'; +import { + asap, + setAsap, + setScheduler +} from './asap'; + +import all from './promise/all'; +import race from './promise/race'; +import Resolve from './promise/resolve'; +import Reject from './promise/reject'; +import then from './then'; + +function needsResolver() { + throw new TypeError('You must pass a resolver function as the first argument to the promise constructor'); +} + +function needsNew() { + throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function."); +} + +/** + Promise objects represent the eventual result of an asynchronous operation. The + primary way of interacting with a promise is through its `then` method, which + registers callbacks to receive either a promise's eventual value or the reason + why the promise cannot be fulfilled. + + Terminology + ----------- + + - `promise` is an object or function with a `then` method whose behavior conforms to this specification. + - `thenable` is an object or function that defines a `then` method. + - `value` is any legal JavaScript value (including undefined, a thenable, or a promise). + - `exception` is a value that is thrown using the throw statement. + - `reason` is a value that indicates why a promise was rejected. + - `settled` the final resting state of a promise, fulfilled or rejected. + + A promise can be in one of three states: pending, fulfilled, or rejected. + + Promises that are fulfilled have a fulfillment value and are in the fulfilled + state. Promises that are rejected have a rejection reason and are in the + rejected state. A fulfillment value is never a thenable. + + Promises can also be said to *resolve* a value. If this value is also a + promise, then the original promise's settled state will match the value's + settled state. So a promise that *resolves* a promise that rejects will + itself reject, and a promise that *resolves* a promise that fulfills will + itself fulfill. + + + Basic Usage: + ------------ + + ```js + let promise = new Promise(function(resolve, reject) { + // on success + resolve(value); + + // on failure + reject(reason); + }); + + promise.then(function(value) { + // on fulfillment + }, function(reason) { + // on rejection + }); + ``` + + Advanced Usage: + --------------- + + Promises shine when abstracting away asynchronous interactions such as + `XMLHttpRequest`s. + + ```js + function getJSON(url) { + return new Promise(function(resolve, reject){ + let xhr = new XMLHttpRequest(); + + xhr.open('GET', url); + xhr.onreadystatechange = handler; + xhr.responseType = 'json'; + xhr.setRequestHeader('Accept', 'application/json'); + xhr.send(); + + function handler() { + if (this.readyState === this.DONE) { + if (this.status === 200) { + resolve(this.response); + } else { + reject(new Error('getJSON: `' + url + '` failed with status: [' + this.status + ']')); + } + } + }; + }); + } + + getJSON('/posts.json').then(function(json) { + // on fulfillment + }, function(reason) { + // on rejection + }); + ``` + + Unlike callbacks, promises are great composable primitives. + + ```js + Promise.all([ + getJSON('/posts'), + getJSON('/comments') + ]).then(function(values){ + values[0] // => postsJSON + values[1] // => commentsJSON + + return values; + }); + ``` + + @class Promise + @param {Function} resolver + Useful for tooling. + @constructor +*/ + +class Promise { + constructor(resolver) { + this[PROMISE_ID] = nextId(); + this._result = this._state = undefined; + this._subscribers = []; + + if (noop !== resolver) { + typeof resolver !== 'function' && needsResolver(); + this instanceof Promise ? initializePromise(this, resolver) : needsNew(); + } + } + + /** + The primary way of interacting with a promise is through its `then` method, + which registers callbacks to receive either a promise's eventual value or the + reason why the promise cannot be fulfilled. + + ```js + findUser().then(function(user){ + // user is available + }, function(reason){ + // user is unavailable, and you are given the reason why + }); + ``` + + Chaining + -------- + + The return value of `then` is itself a promise. This second, 'downstream' + promise is resolved with the return value of the first promise's fulfillment + or rejection handler, or rejected if the handler throws an exception. + + ```js + findUser().then(function (user) { + return user.name; + }, function (reason) { + return 'default name'; + }).then(function (userName) { + // If `findUser` fulfilled, `userName` will be the user's name, otherwise it + // will be `'default name'` + }); + + findUser().then(function (user) { + throw new Error('Found user, but still unhappy'); + }, function (reason) { + throw new Error('`findUser` rejected and we're unhappy'); + }).then(function (value) { + // never reached + }, function (reason) { + // if `findUser` fulfilled, `reason` will be 'Found user, but still unhappy'. + // If `findUser` rejected, `reason` will be '`findUser` rejected and we're unhappy'. + }); + ``` + If the downstream promise does not specify a rejection handler, rejection reasons will be propagated further downstream. + + ```js + findUser().then(function (user) { + throw new PedagogicalException('Upstream error'); + }).then(function (value) { + // never reached + }).then(function (value) { + // never reached + }, function (reason) { + // The `PedgagocialException` is propagated all the way down to here + }); + ``` + + Assimilation + ------------ + + Sometimes the value you want to propagate to a downstream promise can only be + retrieved asynchronously. This can be achieved by returning a promise in the + fulfillment or rejection handler. The downstream promise will then be pending + until the returned promise is settled. This is called *assimilation*. + + ```js + findUser().then(function (user) { + return findCommentsByAuthor(user); + }).then(function (comments) { + // The user's comments are now available + }); + ``` + + If the assimliated promise rejects, then the downstream promise will also reject. + + ```js + findUser().then(function (user) { + return findCommentsByAuthor(user); + }).then(function (comments) { + // If `findCommentsByAuthor` fulfills, we'll have the value here + }, function (reason) { + // If `findCommentsByAuthor` rejects, we'll have the reason here + }); + ``` + + Simple Example + -------------- + + Synchronous Example + + ```javascript + let result; + + try { + result = findResult(); + // success + } catch(reason) { + // failure + } + ``` + + Errback Example + + ```js + findResult(function(result, err){ + if (err) { + // failure + } else { + // success + } + }); + ``` + + Promise Example; + + ```javascript + findResult().then(function(result){ + // success + }, function(reason){ + // failure + }); + ``` + + Advanced Example + -------------- + + Synchronous Example + + ```javascript + let author, books; + + try { + author = findAuthor(); + books = findBooksByAuthor(author); + // success + } catch(reason) { + // failure + } + ``` + + Errback Example + + ```js + + function foundBooks(books) { + + } + + function failure(reason) { + + } + + findAuthor(function(author, err){ + if (err) { + failure(err); + // failure + } else { + try { + findBoooksByAuthor(author, function(books, err) { + if (err) { + failure(err); + } else { + try { + foundBooks(books); + } catch(reason) { + failure(reason); + } + } + }); + } catch(error) { + failure(err); + } + // success + } + }); + ``` + + Promise Example; + + ```javascript + findAuthor(). + then(findBooksByAuthor). + then(function(books){ + // found books + }).catch(function(reason){ + // something went wrong + }); + ``` + + @method then + @param {Function} onFulfilled + @param {Function} onRejected + Useful for tooling. + @return {Promise} + */ + + /** + `catch` is simply sugar for `then(undefined, onRejection)` which makes it the same + as the catch block of a try/catch statement. + + ```js + function findAuthor(){ + throw new Error('couldn't find that author'); + } + + // synchronous + try { + findAuthor(); + } catch(reason) { + // something went wrong + } + + // async with promises + findAuthor().catch(function(reason){ + // something went wrong + }); + ``` + + @method catch + @param {Function} onRejection + Useful for tooling. + @return {Promise} + */ + catch(onRejection) { + return this.then(null, onRejection); + } + +/** + `finally` will be invoked regardless of the promise's fate just as native + try/catch/finally behaves + + Synchronous example: + + ```js + findAuthor() { + if (Math.random() > 0.5) { + throw new Error(); + } + return new Author(); + } + + try { + return findAuthor(); // succeed or fail + } catch(error) { + return findOtherAuther(); + } finally { + // always runs + // doesn't affect the return value + } + ``` + + Asynchronous example: + + ```js + findAuthor().catch(function(reason){ + return findOtherAuther(); + }).finally(function(){ + // author was either found, or not + }); + ``` + + @method finally + @param {Function} callback + @return {Promise} +*/ + finally(callback) { + let promise = this; + let constructor = promise.constructor; + + if ( isFunction(callback) ) { + return promise.then(value => constructor.resolve(callback()).then(() => value), + reason => constructor.resolve(callback()).then(() => { throw reason; })); + } + + return promise.then(callback, callback); + } +} + +Promise.prototype.then = then; +export default Promise; +Promise.all = all; +Promise.race = race; +Promise.resolve = Resolve; +Promise.reject = Reject; +Promise._setScheduler = setScheduler; +Promise._setAsap = setAsap; +Promise._asap = asap; + diff --git a/express-server/node_modules/es6-promise/lib/es6-promise/promise/all.js b/express-server/node_modules/es6-promise/lib/es6-promise/promise/all.js new file mode 100644 index 00000000..9ca3c063 --- /dev/null +++ b/express-server/node_modules/es6-promise/lib/es6-promise/promise/all.js @@ -0,0 +1,52 @@ +import Enumerator from '../enumerator'; + +/** + `Promise.all` accepts an array of promises, and returns a new promise which + is fulfilled with an array of fulfillment values for the passed promises, or + rejected with the reason of the first passed promise to be rejected. It casts all + elements of the passed iterable to promises as it runs this algorithm. + + Example: + + ```javascript + let promise1 = resolve(1); + let promise2 = resolve(2); + let promise3 = resolve(3); + let promises = [ promise1, promise2, promise3 ]; + + Promise.all(promises).then(function(array){ + // The array here would be [ 1, 2, 3 ]; + }); + ``` + + If any of the `promises` given to `all` are rejected, the first promise + that is rejected will be given as an argument to the returned promises's + rejection handler. For example: + + Example: + + ```javascript + let promise1 = resolve(1); + let promise2 = reject(new Error("2")); + let promise3 = reject(new Error("3")); + let promises = [ promise1, promise2, promise3 ]; + + Promise.all(promises).then(function(array){ + // Code here never runs because there are rejected promises! + }, function(error) { + // error.message === "2" + }); + ``` + + @method all + @static + @param {Array} entries array of promises + @param {String} label optional string for labeling the promise. + Useful for tooling. + @return {Promise} promise that is fulfilled when all `promises` have been + fulfilled, or rejected if any of them become rejected. + @static +*/ +export default function all(entries) { + return new Enumerator(this, entries).promise; +} diff --git a/express-server/node_modules/es6-promise/lib/es6-promise/promise/race.js b/express-server/node_modules/es6-promise/lib/es6-promise/promise/race.js new file mode 100644 index 00000000..166dc820 --- /dev/null +++ b/express-server/node_modules/es6-promise/lib/es6-promise/promise/race.js @@ -0,0 +1,84 @@ +import { + isArray +} from "../utils"; + +/** + `Promise.race` returns a new promise which is settled in the same way as the + first passed promise to settle. + + Example: + + ```javascript + let promise1 = new Promise(function(resolve, reject){ + setTimeout(function(){ + resolve('promise 1'); + }, 200); + }); + + let promise2 = new Promise(function(resolve, reject){ + setTimeout(function(){ + resolve('promise 2'); + }, 100); + }); + + Promise.race([promise1, promise2]).then(function(result){ + // result === 'promise 2' because it was resolved before promise1 + // was resolved. + }); + ``` + + `Promise.race` is deterministic in that only the state of the first + settled promise matters. For example, even if other promises given to the + `promises` array argument are resolved, but the first settled promise has + become rejected before the other promises became fulfilled, the returned + promise will become rejected: + + ```javascript + let promise1 = new Promise(function(resolve, reject){ + setTimeout(function(){ + resolve('promise 1'); + }, 200); + }); + + let promise2 = new Promise(function(resolve, reject){ + setTimeout(function(){ + reject(new Error('promise 2')); + }, 100); + }); + + Promise.race([promise1, promise2]).then(function(result){ + // Code here never runs + }, function(reason){ + // reason.message === 'promise 2' because promise 2 became rejected before + // promise 1 became fulfilled + }); + ``` + + An example real-world use case is implementing timeouts: + + ```javascript + Promise.race([ajax('foo.json'), timeout(5000)]) + ``` + + @method race + @static + @param {Array} promises array of promises to observe + Useful for tooling. + @return {Promise} a promise which settles in the same way as the first passed + promise to settle. +*/ +export default function race(entries) { + /*jshint validthis:true */ + let Constructor = this; + + if (!isArray(entries)) { + return new Constructor((_, reject) => reject(new TypeError('You must pass an array to race.'))); + } else { + return new Constructor((resolve, reject) => { + let length = entries.length; + for (let i = 0; i < length; i++) { + Constructor.resolve(entries[i]).then(resolve, reject); + } + }); + } +} diff --git a/express-server/node_modules/es6-promise/lib/es6-promise/promise/reject.js b/express-server/node_modules/es6-promise/lib/es6-promise/promise/reject.js new file mode 100644 index 00000000..cd55faab --- /dev/null +++ b/express-server/node_modules/es6-promise/lib/es6-promise/promise/reject.js @@ -0,0 +1,46 @@ +import { + noop, + reject as _reject +} from '../-internal'; + +/** + `Promise.reject` returns a promise rejected with the passed `reason`. + It is shorthand for the following: + + ```javascript + let promise = new Promise(function(resolve, reject){ + reject(new Error('WHOOPS')); + }); + + promise.then(function(value){ + // Code here doesn't run because the promise is rejected! + }, function(reason){ + // reason.message === 'WHOOPS' + }); + ``` + + Instead of writing the above, your code now simply becomes the following: + + ```javascript + let promise = Promise.reject(new Error('WHOOPS')); + + promise.then(function(value){ + // Code here doesn't run because the promise is rejected! + }, function(reason){ + // reason.message === 'WHOOPS' + }); + ``` + + @method reject + @static + @param {Any} reason value that the returned promise will be rejected with. + Useful for tooling. + @return {Promise} a promise rejected with the given `reason`. +*/ +export default function reject(reason) { + /*jshint validthis:true */ + let Constructor = this; + let promise = new Constructor(noop); + _reject(promise, reason); + return promise; +} diff --git a/express-server/node_modules/es6-promise/lib/es6-promise/promise/resolve.js b/express-server/node_modules/es6-promise/lib/es6-promise/promise/resolve.js new file mode 100644 index 00000000..f4642b63 --- /dev/null +++ b/express-server/node_modules/es6-promise/lib/es6-promise/promise/resolve.js @@ -0,0 +1,48 @@ +import { + noop, + resolve as _resolve +} from '../-internal'; + +/** + `Promise.resolve` returns a promise that will become resolved with the + passed `value`. It is shorthand for the following: + + ```javascript + let promise = new Promise(function(resolve, reject){ + resolve(1); + }); + + promise.then(function(value){ + // value === 1 + }); + ``` + + Instead of writing the above, your code now simply becomes the following: + + ```javascript + let promise = Promise.resolve(1); + + promise.then(function(value){ + // value === 1 + }); + ``` + + @method resolve + @static + @param {Any} value value that the returned promise will be resolved with + Useful for tooling. + @return {Promise} a promise that will become fulfilled with the given + `value` +*/ +export default function resolve(object) { + /*jshint validthis:true */ + let Constructor = this; + + if (object && typeof object === 'object' && object.constructor === Constructor) { + return object; + } + + let promise = new Constructor(noop); + _resolve(promise, object); + return promise; +} diff --git a/express-server/node_modules/es6-promise/lib/es6-promise/then.js b/express-server/node_modules/es6-promise/lib/es6-promise/then.js new file mode 100644 index 00000000..b2b79f0a --- /dev/null +++ b/express-server/node_modules/es6-promise/lib/es6-promise/then.js @@ -0,0 +1,32 @@ +import { + invokeCallback, + subscribe, + FULFILLED, + REJECTED, + noop, + makePromise, + PROMISE_ID +} from './-internal'; + +import { asap } from './asap'; + +export default function then(onFulfillment, onRejection) { + const parent = this; + + const child = new this.constructor(noop); + + if (child[PROMISE_ID] === undefined) { + makePromise(child); + } + + const { _state } = parent; + + if (_state) { + const callback = arguments[_state - 1]; + asap(() => invokeCallback(_state, child, callback, parent._result)); + } else { + subscribe(parent, child, onFulfillment, onRejection); + } + + return child; +} diff --git a/express-server/node_modules/es6-promise/lib/es6-promise/utils.js b/express-server/node_modules/es6-promise/lib/es6-promise/utils.js new file mode 100644 index 00000000..72545c5e --- /dev/null +++ b/express-server/node_modules/es6-promise/lib/es6-promise/utils.js @@ -0,0 +1,21 @@ +export function objectOrFunction(x) { + let type = typeof x; + return x !== null && (type === 'object' || type === 'function'); +} + +export function isFunction(x) { + return typeof x === 'function'; +} + +export function isMaybeThenable(x) { + return x !== null && typeof x === 'object'; +} + +let _isArray; +if (Array.isArray) { + _isArray = Array.isArray; +} else { + _isArray = x => Object.prototype.toString.call(x) === '[object Array]'; +} + +export const isArray = _isArray; diff --git a/express-server/node_modules/es6-promise/package.json b/express-server/node_modules/es6-promise/package.json new file mode 100644 index 00000000..fbe109e5 --- /dev/null +++ b/express-server/node_modules/es6-promise/package.json @@ -0,0 +1,104 @@ +{ + "_from": "es6-promise@^4.0.3", + "_id": "es6-promise@4.2.5", + "_inBundle": false, + "_integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg==", + "_location": "/es6-promise", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "es6-promise@^4.0.3", + "name": "es6-promise", + "escapedName": "es6-promise", + "rawSpec": "^4.0.3", + "saveSpec": null, + "fetchSpec": "^4.0.3" + }, + "_requiredBy": [ + "/es6-promisify" + ], + "_resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.5.tgz", + "_shasum": "da6d0d5692efb461e082c14817fe2427d8f5d054", + "_spec": "es6-promise@^4.0.3", + "_where": "C:\\Users\\Georg\\GitHub\\SmartShopper\\express-server\\node_modules\\es6-promisify", + "author": { + "name": "Yehuda Katz, Tom Dale, Stefan Penner and contributors", + "url": "Conversion to ES6 API by Jake Archibald" + }, + "browser": { + "vertx": false + }, + "bugs": { + "url": "https://github.com/stefanpenner/es6-promise/issues" + }, + "bundleDependencies": false, + "dependencies": {}, + "deprecated": false, + "description": "A lightweight library that provides tools for organizing asynchronous code", + "devDependencies": { + "babel-plugin-transform-es2015-arrow-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoping": "^6.24.1", + "babel-plugin-transform-es2015-classes": "^6.24.1", + "babel-plugin-transform-es2015-computed-properties": "^6.24.1", + "babel-plugin-transform-es2015-constants": "^6.1.4", + "babel-plugin-transform-es2015-destructuring": "^6.23.0", + "babel-plugin-transform-es2015-parameters": "^6.24.1", + "babel-plugin-transform-es2015-shorthand-properties": "^6.24.1", + "babel-plugin-transform-es2015-spread": "^6.22.0", + "babel-plugin-transform-es2015-template-literals": "^6.22.0", + "babel6-plugin-strip-class-callcheck": "^6.0.0", + "broccoli-babel-transpiler": "^6.0.0", + "broccoli-concat": "^3.1.0", + "broccoli-merge-trees": "^2.0.0", + "broccoli-rollup": "^2.0.0", + "broccoli-stew": "^1.5.0", + "broccoli-uglify-js": "^0.2.0", + "broccoli-watchify": "^1.0.1", + "ember-cli": "2.18.0-beta.2", + "ember-cli-dependency-checker": "^2.1.0", + "git-repo-version": "1.0.1", + "json3": "^3.3.2", + "mocha": "^4.0.1", + "promises-aplus-tests-phantom": "^2.1.0-revise" + }, + "directories": { + "lib": "lib" + }, + "files": [ + "dist", + "lib", + "es6-promise.d.ts", + "auto.js", + "!dist/test" + ], + "homepage": "https://github.com/stefanpenner/es6-promise#readme", + "keywords": [ + "promises", + "promise", + "polyfill", + "futures" + ], + "license": "MIT", + "main": "dist/es6-promise.js", + "name": "es6-promise", + "namespace": "es6-promise", + "repository": { + "type": "git", + "url": "git://github.com/stefanpenner/es6-promise.git" + }, + "scripts": { + "build": "ember build --environment production", + "prepublishOnly": "ember build --environment production", + "start": "ember s", + "test": "ember test", + "test:browser": "ember test --launch PhantomJS", + "test:node": "ember test --launch Mocha", + "test:server": "ember test --server" + }, + "spm": { + "main": "dist/es6-promise.js" + }, + "typings": "es6-promise.d.ts", + "version": "4.2.5" +} diff --git a/express-server/node_modules/es6-promisify/README.md b/express-server/node_modules/es6-promisify/README.md new file mode 100644 index 00000000..4141cc84 --- /dev/null +++ b/express-server/node_modules/es6-promisify/README.md @@ -0,0 +1,89 @@ +[![Travis CI](https://travis-ci.org/digitaldesignlabs/es6-promisify.svg)](https://travis-ci.org/digitaldesignlabs/es6-promisify) + +# es6-promisify + +Converts callback-based functions to Promise-based functions. + +## Install + +Install with [npm](https://npmjs.org/package/es6-promisify) + +```bash +npm install --save es6-promisify +``` + +## Example + +```js +"use strict"; + +// Declare variables +const promisify = require("es6-promisify"); +const fs = require("fs"); + +// Convert the stat function +const stat = promisify(fs.stat); + +// Now usable as a promise! +stat("example.txt").then(function (stats) { + console.log("Got stats", stats); +}).catch(function (err) { + console.error("Yikes!", err); +}); +``` + +## Promisify methods +```js +"use strict"; + +// Declare variables +const promisify = require("es6-promisify"); +const redis = require("redis").createClient(6379, "localhost"); + +// Create a promise-based version of send_command +const client = promisify(redis.send_command, redis); + +// Send commands to redis and get a promise back +client("ping").then(function (pong) { + console.log("Got", pong); +}).catch(function (err) { + console.error("Unexpected error", err); +}).then(function () { + redis.quit(); +}); +``` + +## Handle callback multiple arguments +```js +"use strict"; + +// Declare functions +function test(cb) { + return cb(undefined, 1, 2, 3); +} + +// Declare variables +const promisify = require("es6-promisify"); + +// Create promise-based version of test +const single = promisify(test); +const multi = promisify(test, {multiArgs: true}); + +// Discards additional arguments +single().then(function (result) { + console.log(result); // 1 +}); + +// Returns all arguments as an array +multi().then(function (result) { + console.log(result); // [1, 2, 3] +}); +``` + +### Tests +Test with nodeunit +```bash +$ npm test +``` + +Published under the [MIT License](http://opensource.org/licenses/MIT). diff --git a/express-server/node_modules/es6-promisify/dist/promise.js b/express-server/node_modules/es6-promisify/dist/promise.js new file mode 100644 index 00000000..2fe5c610 --- /dev/null +++ b/express-server/node_modules/es6-promisify/dist/promise.js @@ -0,0 +1,73 @@ +"use strict"; + +/* global self, window, module, global, require */ +module.exports = function () { + + "use strict"; + + var globalObject = void 0; + + function isFunction(x) { + return typeof x === "function"; + } + + // Seek the global object + if (global !== undefined) { + globalObject = global; + } else if (window !== undefined && window.document) { + globalObject = window; + } else { + globalObject = self; + } + + // Test for any native promise implementation, and if that + // implementation appears to conform to the specificaton. + // This code mostly nicked from the es6-promise module polyfill + // and then fooled with. + var hasPromiseSupport = function () { + + // No promise object at all, and it's a non-starter + if (!globalObject.hasOwnProperty("Promise")) { + return false; + } + + // There is a Promise object. Does it conform to the spec? + var P = globalObject.Promise; + + // Some of these methods are missing from + // Firefox/Chrome experimental implementations + if (!P.hasOwnProperty("resolve") || !P.hasOwnProperty("reject")) { + return false; + } + + if (!P.hasOwnProperty("all") || !P.hasOwnProperty("race")) { + return false; + } + + // Older version of the spec had a resolver object + // as the arg rather than a function + return function () { + + var resolve = void 0; + + var p = new globalObject.Promise(function (r) { + resolve = r; + }); + + if (p) { + return isFunction(resolve); + } + + return false; + }(); + }(); + + // Export the native Promise implementation if it + // looks like it matches the spec + if (hasPromiseSupport) { + return globalObject.Promise; + } + + // Otherwise, return the es6-promise polyfill by @jaffathecake. + return require("es6-promise").Promise; +}(); \ No newline at end of file diff --git a/express-server/node_modules/es6-promisify/dist/promisify.js b/express-server/node_modules/es6-promisify/dist/promisify.js new file mode 100644 index 00000000..ce38041b --- /dev/null +++ b/express-server/node_modules/es6-promisify/dist/promisify.js @@ -0,0 +1,85 @@ +"use strict"; + +/* global module, require */ +module.exports = function () { + + "use strict"; + + // Get a promise object. This may be native, or it may be polyfilled + + var ES6Promise = require("./promise.js"); + + /** + * thatLooksLikeAPromiseToMe() + * + * Duck-types a promise. + * + * @param {object} o + * @return {bool} True if this resembles a promise + */ + function thatLooksLikeAPromiseToMe(o) { + return o && typeof o.then === "function" && typeof o.catch === "function"; + } + + /** + * promisify() + * + * Transforms callback-based function -- func(arg1, arg2 .. argN, callback) -- into + * an ES6-compatible Promise. Promisify provides a default callback of the form (error, result) + * and rejects when `error` is truthy. You can also supply settings object as the second argument. + * + * @param {function} original - The function to promisify + * @param {object} settings - Settings object + * @param {object} settings.thisArg - A `this` context to use. If not set, assume `settings` _is_ `thisArg` + * @param {bool} settings.multiArgs - Should multiple arguments be returned as an array? + * @return {function} A promisified version of `original` + */ + return function promisify(original, settings) { + + return function () { + for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + var returnMultipleArguments = settings && settings.multiArgs; + + var target = void 0; + if (settings && settings.thisArg) { + target = settings.thisArg; + } else if (settings) { + target = settings; + } + + // Return the promisified function + return new ES6Promise(function (resolve, reject) { + + // Append the callback bound to the context + args.push(function callback(err) { + + if (err) { + return reject(err); + } + + for (var _len2 = arguments.length, values = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { + values[_key2 - 1] = arguments[_key2]; + } + + if (false === !!returnMultipleArguments) { + return resolve(values[0]); + } + + resolve(values); + }); + + // Call the function + var response = original.apply(target, args); + + // If it looks like original already returns a promise, + // then just resolve with that promise. Hopefully, the callback function we added will just be ignored. + if (thatLooksLikeAPromiseToMe(response)) { + resolve(response); + } + }); + }; + }; +}(); \ No newline at end of file diff --git a/express-server/node_modules/es6-promisify/package.json b/express-server/node_modules/es6-promisify/package.json new file mode 100644 index 00000000..7adaa1e7 --- /dev/null +++ b/express-server/node_modules/es6-promisify/package.json @@ -0,0 +1,72 @@ +{ + "_from": "es6-promisify@^5.0.0", + "_id": "es6-promisify@5.0.0", + "_inBundle": false, + "_integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", + "_location": "/es6-promisify", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "es6-promisify@^5.0.0", + "name": "es6-promisify", + "escapedName": "es6-promisify", + "rawSpec": "^5.0.0", + "saveSpec": null, + "fetchSpec": "^5.0.0" + }, + "_requiredBy": [ + "/agent-base" + ], + "_resolved": "http://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "_shasum": "5109d62f3e56ea967c4b63505aef08291c8a5203", + "_spec": "es6-promisify@^5.0.0", + "_where": "C:\\Users\\Georg\\GitHub\\SmartShopper\\express-server\\node_modules\\agent-base", + "author": { + "name": "Mike Hall", + "email": "mikehall314@gmail.com" + }, + "bugs": { + "url": "http://github.com/digitaldesignlabs/es6-promisify/issues" + }, + "bundleDependencies": false, + "dependencies": { + "es6-promise": "^4.0.3" + }, + "deprecated": false, + "description": "Converts callback-based functions to ES6 Promises", + "devDependencies": { + "babel-preset-es2015": "^6.9.0", + "eslint": "^2.13.1", + "gulp": "^3.9.1", + "gulp-babel": "^6.1.2", + "nodeunit": "^0.10.0" + }, + "files": [ + "dist/promisify.js", + "dist/promise.js" + ], + "greenkeeper": { + "ignore": [ + "eslint" + ] + }, + "homepage": "https://github.com/digitaldesignlabs/es6-promisify#readme", + "keywords": [ + "promises", + "es6", + "promisify" + ], + "license": "MIT", + "main": "dist/promisify.js", + "name": "es6-promisify", + "repository": { + "type": "git", + "url": "git+https://github.com/digitaldesignlabs/es6-promisify.git" + }, + "scripts": { + "pretest": "./node_modules/eslint/bin/eslint.js ./lib/*.js ./tests/*.js", + "test": "gulp && nodeunit tests" + }, + "version": "5.0.0" +} diff --git a/express-server/node_modules/express/package.json b/express-server/node_modules/express/package.json index 35c8ee9e..f49b5063 100644 --- a/express-server/node_modules/express/package.json +++ b/express-server/node_modules/express/package.json @@ -16,12 +16,13 @@ "fetchSpec": "~4.15.5" }, "_requiredBy": [ + "#USER", "/" ], "_resolved": "https://registry.npmjs.org/express/-/express-4.15.5.tgz", "_shasum": "670235ca9598890a5ae8170b83db722b842ed927", "_spec": "express@~4.15.5", - "_where": "D:\\5CHITM\\Diplomarbeit\\smart-shopper\\express-server", + "_where": "C:\\Users\\Georg\\GitHub\\SmartShopper\\express-server", "author": { "name": "TJ Holowaychuk", "email": "tj@vision-media.ca" diff --git a/express-server/node_modules/extend/.editorconfig b/express-server/node_modules/extend/.editorconfig new file mode 100644 index 00000000..bc228f82 --- /dev/null +++ b/express-server/node_modules/extend/.editorconfig @@ -0,0 +1,20 @@ +root = true + +[*] +indent_style = tab +indent_size = 4 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true +max_line_length = 150 + +[CHANGELOG.md] +indent_style = space +indent_size = 2 + +[*.json] +max_line_length = off + +[Makefile] +max_line_length = off diff --git a/express-server/node_modules/extend/.eslintrc b/express-server/node_modules/extend/.eslintrc new file mode 100644 index 00000000..a34cf283 --- /dev/null +++ b/express-server/node_modules/extend/.eslintrc @@ -0,0 +1,17 @@ +{ + "root": true, + + "extends": "@ljharb", + + "rules": { + "complexity": [2, 20], + "eqeqeq": [2, "allow-null"], + "func-name-matching": [1], + "max-depth": [1, 4], + "max-statements": [2, 26], + "no-extra-parens": [1], + "no-magic-numbers": [0], + "no-restricted-syntax": [2, "BreakStatement", "ContinueStatement", "DebuggerStatement", "LabeledStatement", "WithStatement"], + "sort-keys": [0], + } +} diff --git a/express-server/node_modules/extend/.jscs.json b/express-server/node_modules/extend/.jscs.json new file mode 100644 index 00000000..3cce01d7 --- /dev/null +++ b/express-server/node_modules/extend/.jscs.json @@ -0,0 +1,175 @@ +{ + "es3": true, + + "additionalRules": [], + + "requireSemicolons": true, + + "disallowMultipleSpaces": true, + + "disallowIdentifierNames": [], + + "requireCurlyBraces": { + "allExcept": [], + "keywords": ["if", "else", "for", "while", "do", "try", "catch"] + }, + + "requireSpaceAfterKeywords": ["if", "else", "for", "while", "do", "switch", "return", "try", "catch", "function"], + + "disallowSpaceAfterKeywords": [], + + "disallowSpaceBeforeComma": true, + "disallowSpaceAfterComma": false, + "disallowSpaceBeforeSemicolon": true, + + "disallowNodeTypes": [ + "DebuggerStatement", + "LabeledStatement", + "SwitchCase", + "SwitchStatement", + "WithStatement" + ], + + "requireObjectKeysOnNewLine": { "allExcept": ["sameLine"] }, + + "requireSpacesInAnonymousFunctionExpression": { "beforeOpeningRoundBrace": true, "beforeOpeningCurlyBrace": true }, + "requireSpacesInNamedFunctionExpression": { "beforeOpeningCurlyBrace": true }, + "disallowSpacesInNamedFunctionExpression": { "beforeOpeningRoundBrace": true }, + "requireSpacesInFunctionDeclaration": { "beforeOpeningCurlyBrace": true }, + "disallowSpacesInFunctionDeclaration": { "beforeOpeningRoundBrace": true }, + + "requireSpaceBetweenArguments": true, + + "disallowSpacesInsideParentheses": true, + + "disallowSpacesInsideArrayBrackets": true, + + "disallowQuotedKeysInObjects": { "allExcept": ["reserved"] }, + + "disallowSpaceAfterObjectKeys": true, + + "requireCommaBeforeLineBreak": true, + + "disallowSpaceAfterPrefixUnaryOperators": ["++", "--", "+", "-", "~", "!"], + "requireSpaceAfterPrefixUnaryOperators": [], + + "disallowSpaceBeforePostfixUnaryOperators": ["++", "--"], + "requireSpaceBeforePostfixUnaryOperators": [], + + "disallowSpaceBeforeBinaryOperators": [], + "requireSpaceBeforeBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="], + + "requireSpaceAfterBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="], + "disallowSpaceAfterBinaryOperators": [], + + "disallowImplicitTypeConversion": ["binary", "string"], + + "disallowKeywords": ["with", "eval"], + + "requireKeywordsOnNewLine": [], + "disallowKeywordsOnNewLine": ["else"], + + "requireLineFeedAtFileEnd": true, + + "disallowTrailingWhitespace": true, + + "disallowTrailingComma": true, + + "excludeFiles": ["node_modules/**", "vendor/**"], + + "disallowMultipleLineStrings": true, + + "requireDotNotation": { "allExcept": ["keywords"] }, + + "requireParenthesesAroundIIFE": true, + + "validateLineBreaks": "LF", + + "validateQuoteMarks": { + "escape": true, + "mark": "'" + }, + + "disallowOperatorBeforeLineBreak": [], + + "requireSpaceBeforeKeywords": [ + "do", + "for", + "if", + "else", + "switch", + "case", + "try", + "catch", + "finally", + "while", + "with", + "return" + ], + + "validateAlignedFunctionParameters": { + "lineBreakAfterOpeningBraces": true, + "lineBreakBeforeClosingBraces": true + }, + + "requirePaddingNewLinesBeforeExport": true, + + "validateNewlineAfterArrayElements": { + "maximum": 6 + }, + + "requirePaddingNewLinesAfterUseStrict": true, + + "disallowArrowFunctions": true, + + "disallowMultiLineTernary": true, + + "validateOrderInObjectKeys": false, + + "disallowIdenticalDestructuringNames": true, + + "disallowNestedTernaries": { "maxLevel": 1 }, + + "requireSpaceAfterComma": { "allExcept": ["trailing"] }, + "requireAlignedMultilineParams": false, + + "requireSpacesInGenerator": { + "afterStar": true + }, + + "disallowSpacesInGenerator": { + "beforeStar": true + }, + + "disallowVar": false, + + "requireArrayDestructuring": false, + + "requireEnhancedObjectLiterals": false, + + "requireObjectDestructuring": false, + + "requireEarlyReturn": false, + + "requireCapitalizedConstructorsNew": { + "allExcept": ["Function", "String", "Object", "Symbol", "Number", "Date", "RegExp", "Error", "Boolean", "Array"] + }, + + "requireImportAlphabetized": false, + + "requireSpaceBeforeObjectValues": true, + "requireSpaceBeforeDestructuredValues": true, + + "disallowSpacesInsideTemplateStringPlaceholders": true, + + "disallowArrayDestructuringReturn": false, + + "requireNewlineBeforeSingleStatementsInIf": false, + + "disallowUnusedVariables": true, + + "requireSpacesInsideImportedObjectBraces": true, + + "requireUseStrict": true +} + diff --git a/express-server/node_modules/extend/.travis.yml b/express-server/node_modules/extend/.travis.yml new file mode 100644 index 00000000..5ccdfc49 --- /dev/null +++ b/express-server/node_modules/extend/.travis.yml @@ -0,0 +1,230 @@ +language: node_js +os: + - linux +node_js: + - "10.7" + - "9.11" + - "8.11" + - "7.10" + - "6.14" + - "5.12" + - "4.9" + - "iojs-v3.3" + - "iojs-v2.5" + - "iojs-v1.8" + - "0.12" + - "0.10" + - "0.8" +before_install: + - 'case "${TRAVIS_NODE_VERSION}" in 0.*) export NPM_CONFIG_STRICT_SSL=false ;; esac' + - 'nvm install-latest-npm' +install: + - 'if [ "${TRAVIS_NODE_VERSION}" = "0.6" ] || [ "${TRAVIS_NODE_VERSION}" = "0.9" ]; then nvm install --latest-npm 0.8 && npm install && nvm use "${TRAVIS_NODE_VERSION}"; else npm install; fi;' +script: + - 'if [ -n "${PRETEST-}" ]; then npm run pretest ; fi' + - 'if [ -n "${POSTTEST-}" ]; then npm run posttest ; fi' + - 'if [ -n "${COVERAGE-}" ]; then npm run coverage ; fi' + - 'if [ -n "${TEST-}" ]; then npm run tests-only ; fi' +sudo: false +env: + - TEST=true +matrix: + fast_finish: true + include: + - node_js: "lts/*" + env: PRETEST=true + - node_js: "lts/*" + env: POSTTEST=true + - node_js: "4" + env: COVERAGE=true + - node_js: "10.6" + env: TEST=true ALLOW_FAILURE=true + - node_js: "10.5" + env: TEST=true ALLOW_FAILURE=true + - node_js: "10.4" + env: TEST=true ALLOW_FAILURE=true + - node_js: "10.3" + env: TEST=true ALLOW_FAILURE=true + - node_js: "10.2" + env: TEST=true ALLOW_FAILURE=true + - node_js: "10.1" + env: TEST=true ALLOW_FAILURE=true + - node_js: "10.0" + env: TEST=true ALLOW_FAILURE=true + - node_js: "9.10" + env: TEST=true ALLOW_FAILURE=true + - node_js: "9.9" + env: TEST=true ALLOW_FAILURE=true + - node_js: "9.8" + env: TEST=true ALLOW_FAILURE=true + - node_js: "9.7" + env: TEST=true ALLOW_FAILURE=true + - node_js: "9.6" + env: TEST=true ALLOW_FAILURE=true + - node_js: "9.5" + env: TEST=true ALLOW_FAILURE=true + - node_js: "9.4" + env: TEST=true ALLOW_FAILURE=true + - node_js: "9.3" + env: TEST=true ALLOW_FAILURE=true + - node_js: "9.2" + env: TEST=true ALLOW_FAILURE=true + - node_js: "9.1" + env: TEST=true ALLOW_FAILURE=true + - node_js: "9.0" + env: TEST=true ALLOW_FAILURE=true + - node_js: "8.10" + env: TEST=true ALLOW_FAILURE=true + - node_js: "8.9" + env: TEST=true ALLOW_FAILURE=true + - node_js: "8.8" + env: TEST=true ALLOW_FAILURE=true + - node_js: "8.7" + env: TEST=true ALLOW_FAILURE=true + - node_js: "8.6" + env: TEST=true ALLOW_FAILURE=true + - node_js: "8.5" + env: TEST=true ALLOW_FAILURE=true + - node_js: "8.4" + env: TEST=true ALLOW_FAILURE=true + - node_js: "8.3" + env: TEST=true ALLOW_FAILURE=true + - node_js: "8.2" + env: TEST=true ALLOW_FAILURE=true + - node_js: "8.1" + env: TEST=true ALLOW_FAILURE=true + - node_js: "8.0" + env: TEST=true ALLOW_FAILURE=true + - node_js: "7.9" + env: TEST=true ALLOW_FAILURE=true + - node_js: "7.8" + env: TEST=true ALLOW_FAILURE=true + - node_js: "7.7" + env: TEST=true ALLOW_FAILURE=true + - node_js: "7.6" + env: TEST=true ALLOW_FAILURE=true + - node_js: "7.5" + env: TEST=true ALLOW_FAILURE=true + - node_js: "7.4" + env: TEST=true ALLOW_FAILURE=true + - node_js: "7.3" + env: TEST=true ALLOW_FAILURE=true + - node_js: "7.2" + env: TEST=true ALLOW_FAILURE=true + - node_js: "7.1" + env: TEST=true ALLOW_FAILURE=true + - node_js: "7.0" + env: TEST=true ALLOW_FAILURE=true + - node_js: "6.13" + env: TEST=true ALLOW_FAILURE=true + - node_js: "6.12" + env: TEST=true ALLOW_FAILURE=true + - node_js: "6.11" + env: TEST=true ALLOW_FAILURE=true + - node_js: "6.10" + env: TEST=true ALLOW_FAILURE=true + - node_js: "6.9" + env: TEST=true ALLOW_FAILURE=true + - node_js: "6.8" + env: TEST=true ALLOW_FAILURE=true + - node_js: "6.7" + env: TEST=true ALLOW_FAILURE=true + - node_js: "6.6" + env: TEST=true ALLOW_FAILURE=true + - node_js: "6.5" + env: TEST=true ALLOW_FAILURE=true + - node_js: "6.4" + env: TEST=true ALLOW_FAILURE=true + - node_js: "6.3" + env: TEST=true ALLOW_FAILURE=true + - node_js: "6.2" + env: TEST=true ALLOW_FAILURE=true + - node_js: "6.1" + env: TEST=true ALLOW_FAILURE=true + - node_js: "6.0" + env: TEST=true ALLOW_FAILURE=true + - node_js: "5.11" + env: TEST=true ALLOW_FAILURE=true + - node_js: "5.10" + env: TEST=true ALLOW_FAILURE=true + - node_js: "5.9" + env: TEST=true ALLOW_FAILURE=true + - node_js: "5.8" + env: TEST=true ALLOW_FAILURE=true + - node_js: "5.7" + env: TEST=true ALLOW_FAILURE=true + - node_js: "5.6" + env: TEST=true ALLOW_FAILURE=true + - node_js: "5.5" + env: TEST=true ALLOW_FAILURE=true + - node_js: "5.4" + env: TEST=true ALLOW_FAILURE=true + - node_js: "5.3" + env: TEST=true ALLOW_FAILURE=true + - node_js: "5.2" + env: TEST=true ALLOW_FAILURE=true + - node_js: "5.1" + env: TEST=true ALLOW_FAILURE=true + - node_js: "5.0" + env: TEST=true ALLOW_FAILURE=true + - node_js: "4.8" + env: TEST=true ALLOW_FAILURE=true + - node_js: "4.7" + env: TEST=true ALLOW_FAILURE=true + - node_js: "4.6" + env: TEST=true ALLOW_FAILURE=true + - node_js: "4.5" + env: TEST=true ALLOW_FAILURE=true + - node_js: "4.4" + env: TEST=true ALLOW_FAILURE=true + - node_js: "4.3" + env: TEST=true ALLOW_FAILURE=true + - node_js: "4.2" + env: TEST=true ALLOW_FAILURE=true + - node_js: "4.1" + env: TEST=true ALLOW_FAILURE=true + - node_js: "4.0" + env: TEST=true ALLOW_FAILURE=true + - node_js: "iojs-v3.2" + env: TEST=true ALLOW_FAILURE=true + - node_js: "iojs-v3.1" + env: TEST=true ALLOW_FAILURE=true + - node_js: "iojs-v3.0" + env: TEST=true ALLOW_FAILURE=true + - node_js: "iojs-v2.4" + env: TEST=true ALLOW_FAILURE=true + - node_js: "iojs-v2.3" + env: TEST=true ALLOW_FAILURE=true + - node_js: "iojs-v2.2" + env: TEST=true ALLOW_FAILURE=true + - node_js: "iojs-v2.1" + env: TEST=true ALLOW_FAILURE=true + - node_js: "iojs-v2.0" + env: TEST=true ALLOW_FAILURE=true + - node_js: "iojs-v1.7" + env: TEST=true ALLOW_FAILURE=true + - node_js: "iojs-v1.6" + env: TEST=true ALLOW_FAILURE=true + - node_js: "iojs-v1.5" + env: TEST=true ALLOW_FAILURE=true + - node_js: "iojs-v1.4" + env: TEST=true ALLOW_FAILURE=true + - node_js: "iojs-v1.3" + env: TEST=true ALLOW_FAILURE=true + - node_js: "iojs-v1.2" + env: TEST=true ALLOW_FAILURE=true + - node_js: "iojs-v1.1" + env: TEST=true ALLOW_FAILURE=true + - node_js: "iojs-v1.0" + env: TEST=true ALLOW_FAILURE=true + - node_js: "0.11" + env: TEST=true ALLOW_FAILURE=true + - node_js: "0.9" + env: TEST=true ALLOW_FAILURE=true + - node_js: "0.6" + env: TEST=true ALLOW_FAILURE=true + - node_js: "0.4" + env: TEST=true ALLOW_FAILURE=true + allow_failures: + - os: osx + - env: TEST=true ALLOW_FAILURE=true diff --git a/express-server/node_modules/extend/CHANGELOG.md b/express-server/node_modules/extend/CHANGELOG.md new file mode 100644 index 00000000..2cf7de6f --- /dev/null +++ b/express-server/node_modules/extend/CHANGELOG.md @@ -0,0 +1,83 @@ +3.0.2 / 2018-07-19 +================== + * [Fix] Prevent merging `__proto__` property (#48) + * [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `tape` + * [Tests] up to `node` `v10.7`, `v9.11`, `v8.11`, `v7.10`, `v6.14`, `v4.9`; use `nvm install-latest-npm` + +3.0.1 / 2017-04-27 +================== + * [Fix] deep extending should work with a non-object (#46) + * [Dev Deps] update `tape`, `eslint`, `@ljharb/eslint-config` + * [Tests] up to `node` `v7.9`, `v6.10`, `v4.8`; improve matrix + * [Docs] Switch from vb.teelaun.ch to versionbadg.es for the npm version badge SVG. + * [Docs] Add example to readme (#34) + +3.0.0 / 2015-07-01 +================== + * [Possible breaking change] Use global "strict" directive (#32) + * [Tests] `int` is an ES3 reserved word + * [Tests] Test up to `io.js` `v2.3` + * [Tests] Add `npm run eslint` + * [Dev Deps] Update `covert`, `jscs` + +2.0.1 / 2015-04-25 +================== + * Use an inline `isArray` check, for ES3 browsers. (#27) + * Some old browsers fail when an identifier is `toString` + * Test latest `node` and `io.js` versions on `travis-ci`; speed up builds + * Add license info to package.json (#25) + * Update `tape`, `jscs` + * Adding a CHANGELOG + +2.0.0 / 2014-10-01 +================== + * Increase code coverage to 100%; run code coverage as part of tests + * Add `npm run lint`; Run linter as part of tests + * Remove nodeType and setInterval checks in isPlainObject + * Updating `tape`, `jscs`, `covert` + * General style and README cleanup + +1.3.0 / 2014-06-20 +================== + * Add component.json for browser support (#18) + * Use SVG for badges in README (#16) + * Updating `tape`, `covert` + * Updating travis-ci to work with multiple node versions + * Fix `deep === false` bug (returning target as {}) (#14) + * Fixing constructor checks in isPlainObject + * Adding additional test coverage + * Adding `npm run coverage` + * Add LICENSE (#13) + * Adding a warning about `false`, per #11 + * General style and whitespace cleanup + +1.2.1 / 2013-09-14 +================== + * Fixing hasOwnProperty bugs that would only have shown up in specific browsers. Fixes #8 + * Updating `tape` + +1.2.0 / 2013-09-02 +================== + * Updating the README: add badges + * Adding a missing variable reference. + * Using `tape` instead of `buster` for tests; add more tests (#7) + * Adding node 0.10 to Travis CI (#6) + * Enabling "npm test" and cleaning up package.json (#5) + * Add Travis CI. + +1.1.3 / 2012-12-06 +================== + * Added unit tests. + * Ensure extend function is named. (Looks nicer in a stack trace.) + * README cleanup. + +1.1.1 / 2012-11-07 +================== + * README cleanup. + * Added installation instructions. + * Added a missing semicolon + +1.0.0 / 2012-04-08 +================== + * Initial commit + diff --git a/express-server/node_modules/extend/LICENSE b/express-server/node_modules/extend/LICENSE new file mode 100644 index 00000000..e16d6a56 --- /dev/null +++ b/express-server/node_modules/extend/LICENSE @@ -0,0 +1,23 @@ +The MIT License (MIT) + +Copyright (c) 2014 Stefan Thomas + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + diff --git a/express-server/node_modules/extend/README.md b/express-server/node_modules/extend/README.md new file mode 100644 index 00000000..5b8249aa --- /dev/null +++ b/express-server/node_modules/extend/README.md @@ -0,0 +1,81 @@ +[![Build Status][travis-svg]][travis-url] +[![dependency status][deps-svg]][deps-url] +[![dev dependency status][dev-deps-svg]][dev-deps-url] + +# extend() for Node.js [![Version Badge][npm-version-png]][npm-url] + +`node-extend` is a port of the classic extend() method from jQuery. It behaves as you expect. It is simple, tried and true. + +Notes: + +* Since Node.js >= 4, + [`Object.assign`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign) + now offers the same functionality natively (but without the "deep copy" option). + See [ECMAScript 2015 (ES6) in Node.js](https://nodejs.org/en/docs/es6). +* Some native implementations of `Object.assign` in both Node.js and many + browsers (since NPM modules are for the browser too) may not be fully + spec-compliant. + Check [`object.assign`](https://www.npmjs.com/package/object.assign) module for + a compliant candidate. + +## Installation + +This package is available on [npm][npm-url] as: `extend` + +``` sh +npm install extend +``` + +## Usage + +**Syntax:** extend **(** [`deep`], `target`, `object1`, [`objectN`] **)** + +*Extend one object with one or more others, returning the modified object.* + +**Example:** + +``` js +var extend = require('extend'); +extend(targetObject, object1, object2); +``` + +Keep in mind that the target object will be modified, and will be returned from extend(). + +If a boolean true is specified as the first argument, extend performs a deep copy, recursively copying any objects it finds. Otherwise, the copy will share structure with the original object(s). +Undefined properties are not copied. However, properties inherited from the object's prototype will be copied over. +Warning: passing `false` as the first argument is not supported. + +### Arguments + +* `deep` *Boolean* (optional) +If set, the merge becomes recursive (i.e. deep copy). +* `target` *Object* +The object to extend. +* `object1` *Object* +The object that will be merged into the first. +* `objectN` *Object* (Optional) +More objects to merge into the first. + +## License + +`node-extend` is licensed under the [MIT License][mit-license-url]. + +## Acknowledgements + +All credit to the jQuery authors for perfecting this amazing utility. + +Ported to Node.js by [Stefan Thomas][github-justmoon] with contributions by [Jonathan Buchanan][github-insin] and [Jordan Harband][github-ljharb]. + +[travis-svg]: https://travis-ci.org/justmoon/node-extend.svg +[travis-url]: https://travis-ci.org/justmoon/node-extend +[npm-url]: https://npmjs.org/package/extend +[mit-license-url]: http://opensource.org/licenses/MIT +[github-justmoon]: https://github.com/justmoon +[github-insin]: https://github.com/insin +[github-ljharb]: https://github.com/ljharb +[npm-version-png]: http://versionbadg.es/justmoon/node-extend.svg +[deps-svg]: https://david-dm.org/justmoon/node-extend.svg +[deps-url]: https://david-dm.org/justmoon/node-extend +[dev-deps-svg]: https://david-dm.org/justmoon/node-extend/dev-status.svg +[dev-deps-url]: https://david-dm.org/justmoon/node-extend#info=devDependencies + diff --git a/express-server/node_modules/extend/component.json b/express-server/node_modules/extend/component.json new file mode 100644 index 00000000..1500a2f3 --- /dev/null +++ b/express-server/node_modules/extend/component.json @@ -0,0 +1,32 @@ +{ + "name": "extend", + "author": "Stefan Thomas (http://www.justmoon.net)", + "version": "3.0.0", + "description": "Port of jQuery.extend for node.js and the browser.", + "scripts": [ + "index.js" + ], + "contributors": [ + { + "name": "Jordan Harband", + "url": "https://github.com/ljharb" + } + ], + "keywords": [ + "extend", + "clone", + "merge" + ], + "repository" : { + "type": "git", + "url": "https://github.com/justmoon/node-extend.git" + }, + "dependencies": { + }, + "devDependencies": { + "tape" : "~3.0.0", + "covert": "~0.4.0", + "jscs": "~1.6.2" + } +} + diff --git a/express-server/node_modules/extend/index.js b/express-server/node_modules/extend/index.js new file mode 100644 index 00000000..2aa3faae --- /dev/null +++ b/express-server/node_modules/extend/index.js @@ -0,0 +1,117 @@ +'use strict'; + +var hasOwn = Object.prototype.hasOwnProperty; +var toStr = Object.prototype.toString; +var defineProperty = Object.defineProperty; +var gOPD = Object.getOwnPropertyDescriptor; + +var isArray = function isArray(arr) { + if (typeof Array.isArray === 'function') { + return Array.isArray(arr); + } + + return toStr.call(arr) === '[object Array]'; +}; + +var isPlainObject = function isPlainObject(obj) { + if (!obj || toStr.call(obj) !== '[object Object]') { + return false; + } + + var hasOwnConstructor = hasOwn.call(obj, 'constructor'); + var hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf'); + // Not own constructor property must be Object + if (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) { + return false; + } + + // Own properties are enumerated firstly, so to speed up, + // if last one is own, then all properties are own. + var key; + for (key in obj) { /**/ } + + return typeof key === 'undefined' || hasOwn.call(obj, key); +}; + +// If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target +var setProperty = function setProperty(target, options) { + if (defineProperty && options.name === '__proto__') { + defineProperty(target, options.name, { + enumerable: true, + configurable: true, + value: options.newValue, + writable: true + }); + } else { + target[options.name] = options.newValue; + } +}; + +// Return undefined instead of __proto__ if '__proto__' is not an own property +var getProperty = function getProperty(obj, name) { + if (name === '__proto__') { + if (!hasOwn.call(obj, name)) { + return void 0; + } else if (gOPD) { + // In early versions of node, obj['__proto__'] is buggy when obj has + // __proto__ as an own property. Object.getOwnPropertyDescriptor() works. + return gOPD(obj, name).value; + } + } + + return obj[name]; +}; + +module.exports = function extend() { + var options, name, src, copy, copyIsArray, clone; + var target = arguments[0]; + var i = 1; + var length = arguments.length; + var deep = false; + + // Handle a deep copy situation + if (typeof target === 'boolean') { + deep = target; + target = arguments[1] || {}; + // skip the boolean and the target + i = 2; + } + if (target == null || (typeof target !== 'object' && typeof target !== 'function')) { + target = {}; + } + + for (; i < length; ++i) { + options = arguments[i]; + // Only deal with non-null/undefined values + if (options != null) { + // Extend the base object + for (name in options) { + src = getProperty(target, name); + copy = getProperty(options, name); + + // Prevent never-ending loop + if (target !== copy) { + // Recurse if we're merging plain objects or arrays + if (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) { + if (copyIsArray) { + copyIsArray = false; + clone = src && isArray(src) ? src : []; + } else { + clone = src && isPlainObject(src) ? src : {}; + } + + // Never move original objects, clone them + setProperty(target, { name: name, newValue: extend(deep, clone, copy) }); + + // Don't bring in undefined values + } else if (typeof copy !== 'undefined') { + setProperty(target, { name: name, newValue: copy }); + } + } + } + } + } + + // Return the modified object + return target; +}; diff --git a/express-server/node_modules/extend/package.json b/express-server/node_modules/extend/package.json new file mode 100644 index 00000000..a1f36558 --- /dev/null +++ b/express-server/node_modules/extend/package.json @@ -0,0 +1,75 @@ +{ + "_from": "extend@^3.0.1", + "_id": "extend@3.0.2", + "_inBundle": false, + "_integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "_location": "/extend", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "extend@^3.0.1", + "name": "extend", + "escapedName": "extend", + "rawSpec": "^3.0.1", + "saveSpec": null, + "fetchSpec": "^3.0.1" + }, + "_requiredBy": [ + "/gcp-metadata" + ], + "_resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "_shasum": "f8b1136b4071fbd8eb140aff858b1019ec2915fa", + "_spec": "extend@^3.0.1", + "_where": "C:\\Users\\Georg\\GitHub\\SmartShopper\\express-server\\node_modules\\gcp-metadata", + "author": { + "name": "Stefan Thomas", + "email": "justmoon@members.fsf.org", + "url": "http://www.justmoon.net" + }, + "bugs": { + "url": "https://github.com/justmoon/node-extend/issues" + }, + "bundleDependencies": false, + "contributors": [ + { + "name": "Jordan Harband", + "url": "https://github.com/ljharb" + } + ], + "dependencies": {}, + "deprecated": false, + "description": "Port of jQuery.extend for node.js and the browser", + "devDependencies": { + "@ljharb/eslint-config": "^12.2.1", + "covert": "^1.1.0", + "eslint": "^4.19.1", + "jscs": "^3.0.7", + "tape": "^4.9.1" + }, + "homepage": "https://github.com/justmoon/node-extend#readme", + "keywords": [ + "extend", + "clone", + "merge" + ], + "license": "MIT", + "main": "index", + "name": "extend", + "repository": { + "type": "git", + "url": "git+https://github.com/justmoon/node-extend.git" + }, + "scripts": { + "coverage": "covert test/index.js", + "coverage-quiet": "covert test/index.js --quiet", + "eslint": "eslint *.js */*.js", + "jscs": "jscs *.js */*.js", + "lint": "npm run jscs && npm run eslint", + "posttest": "npm run coverage-quiet", + "pretest": "npm run lint", + "test": "npm run tests-only", + "tests-only": "node test" + }, + "version": "3.0.2" +} diff --git a/express-server/node_modules/follow-redirects/LICENSE b/express-server/node_modules/follow-redirects/LICENSE new file mode 100644 index 00000000..459a2470 --- /dev/null +++ b/express-server/node_modules/follow-redirects/LICENSE @@ -0,0 +1,19 @@ +Copyright 2017 Olivier Lalonde , James Talmage , Ruben Verborgh + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/express-server/node_modules/follow-redirects/README.md b/express-server/node_modules/follow-redirects/README.md new file mode 100644 index 00000000..317d63da --- /dev/null +++ b/express-server/node_modules/follow-redirects/README.md @@ -0,0 +1,157 @@ +## Follow Redirects + +Drop-in replacement for Nodes `http` and `https` that automatically follows redirects. + +[![npm version](https://badge.fury.io/js/follow-redirects.svg)](https://www.npmjs.com/package/follow-redirects) +[![Build Status](https://travis-ci.org/olalonde/follow-redirects.svg?branch=master)](https://travis-ci.org/olalonde/follow-redirects) +[![Coverage Status](https://coveralls.io/repos/olalonde/follow-redirects/badge.svg?branch=master)](https://coveralls.io/r/olalonde/follow-redirects?branch=master) +[![Dependency Status](https://david-dm.org/olalonde/follow-redirects.svg)](https://david-dm.org/olalonde/follow-redirects) +[![devDependency Status](https://david-dm.org/olalonde/follow-redirects/dev-status.svg)](https://david-dm.org/olalonde/follow-redirects#info=devDependencies) + +[![NPM](https://nodei.co/npm/follow-redirects.png?downloads=true)](https://nodei.co/npm/follow-redirects/) + +`follow-redirects` provides [request](https://nodejs.org/api/http.html#http_http_request_options_callback) and [get](https://nodejs.org/api/http.html#http_http_get_options_callback) + methods that behave identically to those found on the native [http](https://nodejs.org/api/http.html#http_http_request_options_callback) and [https](https://nodejs.org/api/https.html#https_https_request_options_callback) + modules, with the exception that they will seamlessly follow redirects. + +```javascript +var http = require('follow-redirects').http; +var https = require('follow-redirects').https; + +http.get('http://bit.ly/900913', function (response) { + response.on('data', function (chunk) { + console.log(chunk); + }); +}).on('error', function (err) { + console.error(err); +}); +``` + +You can inspect the final redirected URL through the `responseUrl` property on the `response`. +If no redirection happened, `responseUrl` is the original request URL. + +```javascript +https.request({ + host: 'bitly.com', + path: '/UHfDGO', +}, function (response) { + console.log(response.responseUrl); + // 'http://duckduckgo.com/robots.txt' +}); +``` + +## Options +### Global options +Global options are set directly on the `follow-redirects` module: + +```javascript +var followRedirects = require('follow-redirects'); +followRedirects.maxRedirects = 10; +followRedirects.maxBodyLength = 20 * 1024 * 1024; // 20 MB +``` + +The following global options are supported: + +- `maxRedirects` (default: `21`) – sets the maximum number of allowed redirects; if exceeded, an error will be emitted. + +- `maxBodyLength` (default: 10MB) – sets the maximum size of the request body; if exceeded, an error will be emitted. + + +### Per-request options +Per-request options are set by passing an `options` object: + +```javascript +var url = require('url'); +var followRedirects = require('follow-redirects'); + +var options = url.parse('http://bit.ly/900913'); +options.maxRedirects = 10; +http.request(options); +``` + +In addition to the [standard HTTP](https://nodejs.org/api/http.html#http_http_request_options_callback) and [HTTPS options](https://nodejs.org/api/https.html#https_https_request_options_callback), +the following per-request options are supported: +- `followRedirects` (default: `true`) – whether redirects should be followed. + +- `maxRedirects` (default: `21`) – sets the maximum number of allowed redirects; if exceeded, an error will be emitted. + +- `maxBodyLength` (default: 10MB) – sets the maximum size of the request body; if exceeded, an error will be emitted. + +- `agents` (default: `undefined`) – sets the `agent` option per protocol, since HTTP and HTTPS use different agents. Example value: `{ http: new http.Agent(), https: new https.Agent() }` + +- `trackRedirects` (default: `false`) – whether to store the redirected response details into the `redirects` array on the response object. + + +### Advanced usage +By default, `follow-redirects` will use the Node.js default implementations +of [`http`](https://nodejs.org/api/http.html) +and [`https`](https://nodejs.org/api/https.html). +To enable features such as caching and/or intermediate request tracking, +you might instead want to wrap `follow-redirects` around custom protocol implementations: + +```javascript +var followRedirects = require('follow-redirects').wrap({ + http: require('your-custom-http'), + https: require('your-custom-https'), +}); +``` + +Such custom protocols only need an implementation of the `request` method. + +## Browserify Usage + +Due to the way `XMLHttpRequest` works, the `browserify` versions of `http` and `https` already follow redirects. + If you are *only* targeting the browser, then this library has little value for you. If you want to write cross + platform code for node and the browser, `follow-redirects` provides a great solution for making the native node + modules behave the same as they do in browserified builds in the browser. To avoid bundling unnecessary code + you should tell browserify to swap out `follow-redirects` with the standard modules when bundling. + To make this easier, you need to change how you require the modules: + +```javascript +var http = require('follow-redirects/http'); +var https = require('follow-redirects/https'); +``` + +You can then replace `follow-redirects` in your browserify configuration like so: + +```javascript +"browser": { + "follow-redirects/http" : "http", + "follow-redirects/https" : "https" +} +``` + +The `browserify-http` module has not kept pace with node development, and no long behaves identically to the native + module when running in the browser. If you are experiencing problems, you may want to check out + [browserify-http-2](https://www.npmjs.com/package/http-browserify-2). It is more actively maintained and + attempts to address a few of the shortcomings of `browserify-http`. In that case, your browserify config should + look something like this: + +```javascript +"browser": { + "follow-redirects/http" : "browserify-http-2/http", + "follow-redirects/https" : "browserify-http-2/https" +} +``` + +## Contributing + +Pull Requests are always welcome. Please [file an issue](https://github.com/olalonde/follow-redirects/issues) + detailing your proposal before you invest your valuable time. Additional features and bug fixes should be accompanied + by tests. You can run the test suite locally with a simple `npm test` command. + +## Debug Logging + +`follow-redirects` uses the excellent [debug](https://www.npmjs.com/package/debug) for logging. To turn on logging + set the environment variable `DEBUG=follow-redirects` for debug output from just this module. When running the test + suite it is sometimes advantageous to set `DEBUG=*` to see output from the express server as well. + +## Authors + +- Olivier Lalonde (olalonde@gmail.com) +- James Talmage (james@talmage.io) +- [Ruben Verborgh](https://ruben.verborgh.org/) + +## License + +MIT: [http://olalonde.mit-license.org](http://olalonde.mit-license.org) diff --git a/express-server/node_modules/follow-redirects/http.js b/express-server/node_modules/follow-redirects/http.js new file mode 100644 index 00000000..695e3561 --- /dev/null +++ b/express-server/node_modules/follow-redirects/http.js @@ -0,0 +1 @@ +module.exports = require("./").http; diff --git a/express-server/node_modules/follow-redirects/https.js b/express-server/node_modules/follow-redirects/https.js new file mode 100644 index 00000000..d21c921d --- /dev/null +++ b/express-server/node_modules/follow-redirects/https.js @@ -0,0 +1 @@ +module.exports = require("./").https; diff --git a/express-server/node_modules/follow-redirects/index.js b/express-server/node_modules/follow-redirects/index.js new file mode 100644 index 00000000..7a4e9ee2 --- /dev/null +++ b/express-server/node_modules/follow-redirects/index.js @@ -0,0 +1,311 @@ +var url = require("url"); +var http = require("http"); +var https = require("https"); +var assert = require("assert"); +var Writable = require("stream").Writable; +var debug = require("debug")("follow-redirects"); + +// RFC7231§4.2.1: Of the request methods defined by this specification, +// the GET, HEAD, OPTIONS, and TRACE methods are defined to be safe. +var SAFE_METHODS = { GET: true, HEAD: true, OPTIONS: true, TRACE: true }; + +// Create handlers that pass events from native requests +var eventHandlers = Object.create(null); +["abort", "aborted", "error", "socket", "timeout"].forEach(function (event) { + eventHandlers[event] = function (arg) { + this._redirectable.emit(event, arg); + }; +}); + +// An HTTP(S) request that can be redirected +function RedirectableRequest(options, responseCallback) { + // Initialize the request + Writable.call(this); + options.headers = options.headers || {}; + this._options = options; + this._redirectCount = 0; + this._redirects = []; + this._requestBodyLength = 0; + this._requestBodyBuffers = []; + + // Attach a callback if passed + if (responseCallback) { + this.on("response", responseCallback); + } + + // React to responses of native requests + var self = this; + this._onNativeResponse = function (response) { + self._processResponse(response); + }; + + // Complete the URL object when necessary + if (!options.pathname && options.path) { + var searchPos = options.path.indexOf("?"); + if (searchPos < 0) { + options.pathname = options.path; + } + else { + options.pathname = options.path.substring(0, searchPos); + options.search = options.path.substring(searchPos); + } + } + + // Perform the first request + this._performRequest(); +} +RedirectableRequest.prototype = Object.create(Writable.prototype); + +// Writes buffered data to the current native request +RedirectableRequest.prototype.write = function (data, encoding, callback) { + // Validate input and shift parameters if necessary + if (!(typeof data === "string" || typeof data === "object" && ("length" in data))) { + throw new Error("data should be a string, Buffer or Uint8Array"); + } + if (typeof encoding === "function") { + callback = encoding; + encoding = null; + } + + // Ignore empty buffers, since writing them doesn't invoke the callback + // https://github.com/nodejs/node/issues/22066 + if (data.length === 0) { + if (callback) { + callback(); + } + return; + } + // Only write when we don't exceed the maximum body length + if (this._requestBodyLength + data.length <= this._options.maxBodyLength) { + this._requestBodyLength += data.length; + this._requestBodyBuffers.push({ data: data, encoding: encoding }); + this._currentRequest.write(data, encoding, callback); + } + // Error when we exceed the maximum body length + else { + this.emit("error", new Error("Request body larger than maxBodyLength limit")); + this.abort(); + } +}; + +// Ends the current native request +RedirectableRequest.prototype.end = function (data, encoding, callback) { + // Shift parameters if necessary + if (typeof data === "function") { + callback = data; + data = encoding = null; + } + else if (typeof encoding === "function") { + callback = encoding; + encoding = null; + } + + // Write data and end + var currentRequest = this._currentRequest; + this.write(data || "", encoding, function () { + currentRequest.end(null, null, callback); + }); +}; + +// Sets a header value on the current native request +RedirectableRequest.prototype.setHeader = function (name, value) { + this._options.headers[name] = value; + this._currentRequest.setHeader(name, value); +}; + +// Clears a header value on the current native request +RedirectableRequest.prototype.removeHeader = function (name) { + delete this._options.headers[name]; + this._currentRequest.removeHeader(name); +}; + +// Proxy all other public ClientRequest methods +[ + "abort", "flushHeaders", "getHeader", + "setNoDelay", "setSocketKeepAlive", "setTimeout", +].forEach(function (method) { + RedirectableRequest.prototype[method] = function (a, b) { + return this._currentRequest[method](a, b); + }; +}); + +// Proxy all public ClientRequest properties +["aborted", "connection", "socket"].forEach(function (property) { + Object.defineProperty(RedirectableRequest.prototype, property, { + get: function () { return this._currentRequest[property]; }, + }); +}); + +// Executes the next native request (initial or redirect) +RedirectableRequest.prototype._performRequest = function () { + // Load the native protocol + var protocol = this._options.protocol; + var nativeProtocol = this._options.nativeProtocols[protocol]; + if (!nativeProtocol) { + this.emit("error", new Error("Unsupported protocol " + protocol)); + return; + } + + // If specified, use the agent corresponding to the protocol + // (HTTP and HTTPS use different types of agents) + if (this._options.agents) { + var scheme = protocol.substr(0, protocol.length - 1); + this._options.agent = this._options.agents[scheme]; + } + + // Create the native request + var request = this._currentRequest = + nativeProtocol.request(this._options, this._onNativeResponse); + this._currentUrl = url.format(this._options); + + // Set up event handlers + request._redirectable = this; + for (var event in eventHandlers) { + /* istanbul ignore else */ + if (event) { + request.on(event, eventHandlers[event]); + } + } + + // End a redirected request + // (The first request must be ended explicitly with RedirectableRequest#end) + if (this._isRedirect) { + // Write the request entity and end. + var i = 0; + var buffers = this._requestBodyBuffers; + (function writeNext() { + if (i < buffers.length) { + var buffer = buffers[i++]; + request.write(buffer.data, buffer.encoding, writeNext); + } + else { + request.end(); + } + }()); + } +}; + +// Processes a response from the current native request +RedirectableRequest.prototype._processResponse = function (response) { + // Store the redirected response + if (this._options.trackRedirects) { + this._redirects.push({ + url: this._currentUrl, + headers: response.headers, + statusCode: response.statusCode, + }); + } + + // RFC7231§6.4: The 3xx (Redirection) class of status code indicates + // that further action needs to be taken by the user agent in order to + // fulfill the request. If a Location header field is provided, + // the user agent MAY automatically redirect its request to the URI + // referenced by the Location field value, + // even if the specific status code is not understood. + var location = response.headers.location; + if (location && this._options.followRedirects !== false && + response.statusCode >= 300 && response.statusCode < 400) { + // RFC7231§6.4: A client SHOULD detect and intervene + // in cyclical redirections (i.e., "infinite" redirection loops). + if (++this._redirectCount > this._options.maxRedirects) { + this.emit("error", new Error("Max redirects exceeded.")); + return; + } + + // RFC7231§6.4: Automatic redirection needs to done with + // care for methods not known to be safe […], + // since the user might not wish to redirect an unsafe request. + // RFC7231§6.4.7: The 307 (Temporary Redirect) status code indicates + // that the target resource resides temporarily under a different URI + // and the user agent MUST NOT change the request method + // if it performs an automatic redirection to that URI. + var header; + var headers = this._options.headers; + if (response.statusCode !== 307 && !(this._options.method in SAFE_METHODS)) { + this._options.method = "GET"; + // Drop a possible entity and headers related to it + this._requestBodyBuffers = []; + for (header in headers) { + if (/^content-/i.test(header)) { + delete headers[header]; + } + } + } + + // Drop the Host header, as the redirect might lead to a different host + if (!this._isRedirect) { + for (header in headers) { + if (/^host$/i.test(header)) { + delete headers[header]; + } + } + } + + // Perform the redirected request + var redirectUrl = url.resolve(this._currentUrl, location); + debug("redirecting to", redirectUrl); + Object.assign(this._options, url.parse(redirectUrl)); + this._isRedirect = true; + this._performRequest(); + + // Discard the remainder of the response to avoid waiting for data + response.destroy(); + } + else { + // The response is not a redirect; return it as-is + response.responseUrl = this._currentUrl; + response.redirects = this._redirects; + this.emit("response", response); + + // Clean up + this._requestBodyBuffers = []; + } +}; + +// Wraps the key/value object of protocols with redirect functionality +function wrap(protocols) { + // Default settings + var exports = { + maxRedirects: 21, + maxBodyLength: 10 * 1024 * 1024, + }; + + // Wrap each protocol + var nativeProtocols = {}; + Object.keys(protocols).forEach(function (scheme) { + var protocol = scheme + ":"; + var nativeProtocol = nativeProtocols[protocol] = protocols[scheme]; + var wrappedProtocol = exports[scheme] = Object.create(nativeProtocol); + + // Executes a request, following redirects + wrappedProtocol.request = function (options, callback) { + if (typeof options === "string") { + options = url.parse(options); + options.maxRedirects = exports.maxRedirects; + } + else { + options = Object.assign({ + protocol: protocol, + maxRedirects: exports.maxRedirects, + maxBodyLength: exports.maxBodyLength, + }, options); + } + options.nativeProtocols = nativeProtocols; + assert.equal(options.protocol, protocol, "protocol mismatch"); + debug("options", options); + return new RedirectableRequest(options, callback); + }; + + // Executes a GET request, following redirects + wrappedProtocol.get = function (options, callback) { + var request = wrappedProtocol.request(options, callback); + request.end(); + return request; + }; + }); + return exports; +} + +// Exports +module.exports = wrap({ http: http, https: https }); +module.exports.wrap = wrap; diff --git a/express-server/node_modules/follow-redirects/node_modules/debug/.coveralls.yml b/express-server/node_modules/follow-redirects/node_modules/debug/.coveralls.yml new file mode 100644 index 00000000..20a70685 --- /dev/null +++ b/express-server/node_modules/follow-redirects/node_modules/debug/.coveralls.yml @@ -0,0 +1 @@ +repo_token: SIAeZjKYlHK74rbcFvNHMUzjRiMpflxve diff --git a/express-server/node_modules/follow-redirects/node_modules/debug/.eslintrc b/express-server/node_modules/follow-redirects/node_modules/debug/.eslintrc new file mode 100644 index 00000000..146371ed --- /dev/null +++ b/express-server/node_modules/follow-redirects/node_modules/debug/.eslintrc @@ -0,0 +1,14 @@ +{ + "env": { + "browser": true, + "node": true + }, + "globals": { + "chrome": true + }, + "rules": { + "no-console": 0, + "no-empty": [1, { "allowEmptyCatch": true }] + }, + "extends": "eslint:recommended" +} diff --git a/express-server/node_modules/follow-redirects/node_modules/debug/.npmignore b/express-server/node_modules/follow-redirects/node_modules/debug/.npmignore new file mode 100644 index 00000000..5f60eecc --- /dev/null +++ b/express-server/node_modules/follow-redirects/node_modules/debug/.npmignore @@ -0,0 +1,9 @@ +support +test +examples +example +*.sock +dist +yarn.lock +coverage +bower.json diff --git a/express-server/node_modules/follow-redirects/node_modules/debug/.travis.yml b/express-server/node_modules/follow-redirects/node_modules/debug/.travis.yml new file mode 100644 index 00000000..a7643003 --- /dev/null +++ b/express-server/node_modules/follow-redirects/node_modules/debug/.travis.yml @@ -0,0 +1,20 @@ +sudo: false + +language: node_js + +node_js: + - "4" + - "6" + - "8" + +install: + - make install + +script: + - make lint + - make test + +matrix: + include: + - node_js: '8' + env: BROWSER=1 diff --git a/express-server/node_modules/follow-redirects/node_modules/debug/CHANGELOG.md b/express-server/node_modules/follow-redirects/node_modules/debug/CHANGELOG.md new file mode 100644 index 00000000..820d21e3 --- /dev/null +++ b/express-server/node_modules/follow-redirects/node_modules/debug/CHANGELOG.md @@ -0,0 +1,395 @@ + +3.1.0 / 2017-09-26 +================== + + * Add `DEBUG_HIDE_DATE` env var (#486) + * Remove ReDoS regexp in %o formatter (#504) + * Remove "component" from package.json + * Remove `component.json` + * Ignore package-lock.json + * Examples: fix colors printout + * Fix: browser detection + * Fix: spelling mistake (#496, @EdwardBetts) + +3.0.1 / 2017-08-24 +================== + + * Fix: Disable colors in Edge and Internet Explorer (#489) + +3.0.0 / 2017-08-08 +================== + + * Breaking: Remove DEBUG_FD (#406) + * Breaking: Use `Date#toISOString()` instead to `Date#toUTCString()` when output is not a TTY (#418) + * Breaking: Make millisecond timer namespace specific and allow 'always enabled' output (#408) + * Addition: document `enabled` flag (#465) + * Addition: add 256 colors mode (#481) + * Addition: `enabled()` updates existing debug instances, add `destroy()` function (#440) + * Update: component: update "ms" to v2.0.0 + * Update: separate the Node and Browser tests in Travis-CI + * Update: refactor Readme, fixed documentation, added "Namespace Colors" section, redid screenshots + * Update: separate Node.js and web browser examples for organization + * Update: update "browserify" to v14.4.0 + * Fix: fix Readme typo (#473) + +2.6.9 / 2017-09-22 +================== + + * remove ReDoS regexp in %o formatter (#504) + +2.6.8 / 2017-05-18 +================== + + * Fix: Check for undefined on browser globals (#462, @marbemac) + +2.6.7 / 2017-05-16 +================== + + * Fix: Update ms to 2.0.0 to fix regular expression denial of service vulnerability (#458, @hubdotcom) + * Fix: Inline extend function in node implementation (#452, @dougwilson) + * Docs: Fix typo (#455, @msasad) + +2.6.5 / 2017-04-27 +================== + + * Fix: null reference check on window.documentElement.style.WebkitAppearance (#447, @thebigredgeek) + * Misc: clean up browser reference checks (#447, @thebigredgeek) + * Misc: add npm-debug.log to .gitignore (@thebigredgeek) + + +2.6.4 / 2017-04-20 +================== + + * Fix: bug that would occur if process.env.DEBUG is a non-string value. (#444, @LucianBuzzo) + * Chore: ignore bower.json in npm installations. (#437, @joaovieira) + * Misc: update "ms" to v0.7.3 (@tootallnate) + +2.6.3 / 2017-03-13 +================== + + * Fix: Electron reference to `process.env.DEBUG` (#431, @paulcbetts) + * Docs: Changelog fix (@thebigredgeek) + +2.6.2 / 2017-03-10 +================== + + * Fix: DEBUG_MAX_ARRAY_LENGTH (#420, @slavaGanzin) + * Docs: Add backers and sponsors from Open Collective (#422, @piamancini) + * Docs: Add Slackin invite badge (@tootallnate) + +2.6.1 / 2017-02-10 +================== + + * Fix: Module's `export default` syntax fix for IE8 `Expected identifier` error + * Fix: Whitelist DEBUG_FD for values 1 and 2 only (#415, @pi0) + * Fix: IE8 "Expected identifier" error (#414, @vgoma) + * Fix: Namespaces would not disable once enabled (#409, @musikov) + +2.6.0 / 2016-12-28 +================== + + * Fix: added better null pointer checks for browser useColors (@thebigredgeek) + * Improvement: removed explicit `window.debug` export (#404, @tootallnate) + * Improvement: deprecated `DEBUG_FD` environment variable (#405, @tootallnate) + +2.5.2 / 2016-12-25 +================== + + * Fix: reference error on window within webworkers (#393, @KlausTrainer) + * Docs: fixed README typo (#391, @lurch) + * Docs: added notice about v3 api discussion (@thebigredgeek) + +2.5.1 / 2016-12-20 +================== + + * Fix: babel-core compatibility + +2.5.0 / 2016-12-20 +================== + + * Fix: wrong reference in bower file (@thebigredgeek) + * Fix: webworker compatibility (@thebigredgeek) + * Fix: output formatting issue (#388, @kribblo) + * Fix: babel-loader compatibility (#383, @escwald) + * Misc: removed built asset from repo and publications (@thebigredgeek) + * Misc: moved source files to /src (#378, @yamikuronue) + * Test: added karma integration and replaced babel with browserify for browser tests (#378, @yamikuronue) + * Test: coveralls integration (#378, @yamikuronue) + * Docs: simplified language in the opening paragraph (#373, @yamikuronue) + +2.4.5 / 2016-12-17 +================== + + * Fix: `navigator` undefined in Rhino (#376, @jochenberger) + * Fix: custom log function (#379, @hsiliev) + * Improvement: bit of cleanup + linting fixes (@thebigredgeek) + * Improvement: rm non-maintainted `dist/` dir (#375, @freewil) + * Docs: simplified language in the opening paragraph. (#373, @yamikuronue) + +2.4.4 / 2016-12-14 +================== + + * Fix: work around debug being loaded in preload scripts for electron (#368, @paulcbetts) + +2.4.3 / 2016-12-14 +================== + + * Fix: navigation.userAgent error for react native (#364, @escwald) + +2.4.2 / 2016-12-14 +================== + + * Fix: browser colors (#367, @tootallnate) + * Misc: travis ci integration (@thebigredgeek) + * Misc: added linting and testing boilerplate with sanity check (@thebigredgeek) + +2.4.1 / 2016-12-13 +================== + + * Fix: typo that broke the package (#356) + +2.4.0 / 2016-12-13 +================== + + * Fix: bower.json references unbuilt src entry point (#342, @justmatt) + * Fix: revert "handle regex special characters" (@tootallnate) + * Feature: configurable util.inspect()`options for NodeJS (#327, @tootallnate) + * Feature: %O`(big O) pretty-prints objects (#322, @tootallnate) + * Improvement: allow colors in workers (#335, @botverse) + * Improvement: use same color for same namespace. (#338, @lchenay) + +2.3.3 / 2016-11-09 +================== + + * Fix: Catch `JSON.stringify()` errors (#195, Jovan Alleyne) + * Fix: Returning `localStorage` saved values (#331, Levi Thomason) + * Improvement: Don't create an empty object when no `process` (Nathan Rajlich) + +2.3.2 / 2016-11-09 +================== + + * Fix: be super-safe in index.js as well (@TooTallNate) + * Fix: should check whether process exists (Tom Newby) + +2.3.1 / 2016-11-09 +================== + + * Fix: Added electron compatibility (#324, @paulcbetts) + * Improvement: Added performance optimizations (@tootallnate) + * Readme: Corrected PowerShell environment variable example (#252, @gimre) + * Misc: Removed yarn lock file from source control (#321, @fengmk2) + +2.3.0 / 2016-11-07 +================== + + * Fix: Consistent placement of ms diff at end of output (#215, @gorangajic) + * Fix: Escaping of regex special characters in namespace strings (#250, @zacronos) + * Fix: Fixed bug causing crash on react-native (#282, @vkarpov15) + * Feature: Enabled ES6+ compatible import via default export (#212 @bucaran) + * Feature: Added %O formatter to reflect Chrome's console.log capability (#279, @oncletom) + * Package: Update "ms" to 0.7.2 (#315, @DevSide) + * Package: removed superfluous version property from bower.json (#207 @kkirsche) + * Readme: fix USE_COLORS to DEBUG_COLORS + * Readme: Doc fixes for format string sugar (#269, @mlucool) + * Readme: Updated docs for DEBUG_FD and DEBUG_COLORS environment variables (#232, @mattlyons0) + * Readme: doc fixes for PowerShell (#271 #243, @exoticknight @unreadable) + * Readme: better docs for browser support (#224, @matthewmueller) + * Tooling: Added yarn integration for development (#317, @thebigredgeek) + * Misc: Renamed History.md to CHANGELOG.md (@thebigredgeek) + * Misc: Added license file (#226 #274, @CantemoInternal @sdaitzman) + * Misc: Updated contributors (@thebigredgeek) + +2.2.0 / 2015-05-09 +================== + + * package: update "ms" to v0.7.1 (#202, @dougwilson) + * README: add logging to file example (#193, @DanielOchoa) + * README: fixed a typo (#191, @amir-s) + * browser: expose `storage` (#190, @stephenmathieson) + * Makefile: add a `distclean` target (#189, @stephenmathieson) + +2.1.3 / 2015-03-13 +================== + + * Updated stdout/stderr example (#186) + * Updated example/stdout.js to match debug current behaviour + * Renamed example/stderr.js to stdout.js + * Update Readme.md (#184) + * replace high intensity foreground color for bold (#182, #183) + +2.1.2 / 2015-03-01 +================== + + * dist: recompile + * update "ms" to v0.7.0 + * package: update "browserify" to v9.0.3 + * component: fix "ms.js" repo location + * changed bower package name + * updated documentation about using debug in a browser + * fix: security error on safari (#167, #168, @yields) + +2.1.1 / 2014-12-29 +================== + + * browser: use `typeof` to check for `console` existence + * browser: check for `console.log` truthiness (fix IE 8/9) + * browser: add support for Chrome apps + * Readme: added Windows usage remarks + * Add `bower.json` to properly support bower install + +2.1.0 / 2014-10-15 +================== + + * node: implement `DEBUG_FD` env variable support + * package: update "browserify" to v6.1.0 + * package: add "license" field to package.json (#135, @panuhorsmalahti) + +2.0.0 / 2014-09-01 +================== + + * package: update "browserify" to v5.11.0 + * node: use stderr rather than stdout for logging (#29, @stephenmathieson) + +1.0.4 / 2014-07-15 +================== + + * dist: recompile + * example: remove `console.info()` log usage + * example: add "Content-Type" UTF-8 header to browser example + * browser: place %c marker after the space character + * browser: reset the "content" color via `color: inherit` + * browser: add colors support for Firefox >= v31 + * debug: prefer an instance `log()` function over the global one (#119) + * Readme: update documentation about styled console logs for FF v31 (#116, @wryk) + +1.0.3 / 2014-07-09 +================== + + * Add support for multiple wildcards in namespaces (#122, @seegno) + * browser: fix lint + +1.0.2 / 2014-06-10 +================== + + * browser: update color palette (#113, @gscottolson) + * common: make console logging function configurable (#108, @timoxley) + * node: fix %o colors on old node <= 0.8.x + * Makefile: find node path using shell/which (#109, @timoxley) + +1.0.1 / 2014-06-06 +================== + + * browser: use `removeItem()` to clear localStorage + * browser, node: don't set DEBUG if namespaces is undefined (#107, @leedm777) + * package: add "contributors" section + * node: fix comment typo + * README: list authors + +1.0.0 / 2014-06-04 +================== + + * make ms diff be global, not be scope + * debug: ignore empty strings in enable() + * node: make DEBUG_COLORS able to disable coloring + * *: export the `colors` array + * npmignore: don't publish the `dist` dir + * Makefile: refactor to use browserify + * package: add "browserify" as a dev dependency + * Readme: add Web Inspector Colors section + * node: reset terminal color for the debug content + * node: map "%o" to `util.inspect()` + * browser: map "%j" to `JSON.stringify()` + * debug: add custom "formatters" + * debug: use "ms" module for humanizing the diff + * Readme: add "bash" syntax highlighting + * browser: add Firebug color support + * browser: add colors for WebKit browsers + * node: apply log to `console` + * rewrite: abstract common logic for Node & browsers + * add .jshintrc file + +0.8.1 / 2014-04-14 +================== + + * package: re-add the "component" section + +0.8.0 / 2014-03-30 +================== + + * add `enable()` method for nodejs. Closes #27 + * change from stderr to stdout + * remove unnecessary index.js file + +0.7.4 / 2013-11-13 +================== + + * remove "browserify" key from package.json (fixes something in browserify) + +0.7.3 / 2013-10-30 +================== + + * fix: catch localStorage security error when cookies are blocked (Chrome) + * add debug(err) support. Closes #46 + * add .browser prop to package.json. Closes #42 + +0.7.2 / 2013-02-06 +================== + + * fix package.json + * fix: Mobile Safari (private mode) is broken with debug + * fix: Use unicode to send escape character to shell instead of octal to work with strict mode javascript + +0.7.1 / 2013-02-05 +================== + + * add repository URL to package.json + * add DEBUG_COLORED to force colored output + * add browserify support + * fix component. Closes #24 + +0.7.0 / 2012-05-04 +================== + + * Added .component to package.json + * Added debug.component.js build + +0.6.0 / 2012-03-16 +================== + + * Added support for "-" prefix in DEBUG [Vinay Pulim] + * Added `.enabled` flag to the node version [TooTallNate] + +0.5.0 / 2012-02-02 +================== + + * Added: humanize diffs. Closes #8 + * Added `debug.disable()` to the CS variant + * Removed padding. Closes #10 + * Fixed: persist client-side variant again. Closes #9 + +0.4.0 / 2012-02-01 +================== + + * Added browser variant support for older browsers [TooTallNate] + * Added `debug.enable('project:*')` to browser variant [TooTallNate] + * Added padding to diff (moved it to the right) + +0.3.0 / 2012-01-26 +================== + + * Added millisecond diff when isatty, otherwise UTC string + +0.2.0 / 2012-01-22 +================== + + * Added wildcard support + +0.1.0 / 2011-12-02 +================== + + * Added: remove colors unless stderr isatty [TooTallNate] + +0.0.1 / 2010-01-03 +================== + + * Initial release diff --git a/express-server/node_modules/follow-redirects/node_modules/debug/LICENSE b/express-server/node_modules/follow-redirects/node_modules/debug/LICENSE new file mode 100644 index 00000000..658c933d --- /dev/null +++ b/express-server/node_modules/follow-redirects/node_modules/debug/LICENSE @@ -0,0 +1,19 @@ +(The MIT License) + +Copyright (c) 2014 TJ Holowaychuk + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software +and associated documentation files (the 'Software'), to deal in the Software without restriction, +including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial +portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + diff --git a/express-server/node_modules/follow-redirects/node_modules/debug/Makefile b/express-server/node_modules/follow-redirects/node_modules/debug/Makefile new file mode 100644 index 00000000..3ddd1360 --- /dev/null +++ b/express-server/node_modules/follow-redirects/node_modules/debug/Makefile @@ -0,0 +1,58 @@ +# get Makefile directory name: http://stackoverflow.com/a/5982798/376773 +THIS_MAKEFILE_PATH:=$(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)) +THIS_DIR:=$(shell cd $(dir $(THIS_MAKEFILE_PATH));pwd) + +# BIN directory +BIN := $(THIS_DIR)/node_modules/.bin + +# Path +PATH := node_modules/.bin:$(PATH) +SHELL := /bin/bash + +# applications +NODE ?= $(shell which node) +YARN ?= $(shell which yarn) +PKG ?= $(if $(YARN),$(YARN),$(NODE) $(shell which npm)) +BROWSERIFY ?= $(NODE) $(BIN)/browserify + +install: node_modules + +browser: dist/debug.js + +node_modules: package.json + @NODE_ENV= $(PKG) install + @touch node_modules + +dist/debug.js: src/*.js node_modules + @mkdir -p dist + @$(BROWSERIFY) \ + --standalone debug \ + . > dist/debug.js + +lint: + @eslint *.js src/*.js + +test-node: + @istanbul cover node_modules/mocha/bin/_mocha -- test/**.js + @cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js + +test-browser: + @$(MAKE) browser + @karma start --single-run + +test-all: + @concurrently \ + "make test-node" \ + "make test-browser" + +test: + @if [ "x$(BROWSER)" = "x" ]; then \ + $(MAKE) test-node; \ + else \ + $(MAKE) test-browser; \ + fi + +clean: + rimraf dist coverage + +.PHONY: browser install clean lint test test-all test-node test-browser diff --git a/express-server/node_modules/follow-redirects/node_modules/debug/README.md b/express-server/node_modules/follow-redirects/node_modules/debug/README.md new file mode 100644 index 00000000..8e754d17 --- /dev/null +++ b/express-server/node_modules/follow-redirects/node_modules/debug/README.md @@ -0,0 +1,368 @@ +# debug +[![Build Status](https://travis-ci.org/visionmedia/debug.svg?branch=master)](https://travis-ci.org/visionmedia/debug) [![Coverage Status](https://coveralls.io/repos/github/visionmedia/debug/badge.svg?branch=master)](https://coveralls.io/github/visionmedia/debug?branch=master) [![Slack](https://visionmedia-community-slackin.now.sh/badge.svg)](https://visionmedia-community-slackin.now.sh/) [![OpenCollective](https://opencollective.com/debug/backers/badge.svg)](#backers) +[![OpenCollective](https://opencollective.com/debug/sponsors/badge.svg)](#sponsors) + + + +A tiny JavaScript debugging utility modelled after Node.js core's debugging +technique. Works in Node.js and web browsers. + +## Installation + +```bash +$ npm install debug +``` + +## Usage + +`debug` exposes a function; simply pass this function the name of your module, and it will return a decorated version of `console.error` for you to pass debug statements to. This will allow you to toggle the debug output for different parts of your module as well as the module as a whole. + +Example [_app.js_](./examples/node/app.js): + +```js +var debug = require('debug')('http') + , http = require('http') + , name = 'My App'; + +// fake app + +debug('booting %o', name); + +http.createServer(function(req, res){ + debug(req.method + ' ' + req.url); + res.end('hello\n'); +}).listen(3000, function(){ + debug('listening'); +}); + +// fake worker of some kind + +require('./worker'); +``` + +Example [_worker.js_](./examples/node/worker.js): + +```js +var a = require('debug')('worker:a') + , b = require('debug')('worker:b'); + +function work() { + a('doing lots of uninteresting work'); + setTimeout(work, Math.random() * 1000); +} + +work(); + +function workb() { + b('doing some work'); + setTimeout(workb, Math.random() * 2000); +} + +workb(); +``` + +The `DEBUG` environment variable is then used to enable these based on space or +comma-delimited names. + +Here are some examples: + +screen shot 2017-08-08 at 12 53 04 pm +screen shot 2017-08-08 at 12 53 38 pm +screen shot 2017-08-08 at 12 53 25 pm + +#### Windows note + +On Windows the environment variable is set using the `set` command. + +```cmd +set DEBUG=*,-not_this +``` + +Note that PowerShell uses different syntax to set environment variables. + +```cmd +$env:DEBUG = "*,-not_this" +``` + +Then, run the program to be debugged as usual. + + +## Namespace Colors + +Every debug instance has a color generated for it based on its namespace name. +This helps when visually parsing the debug output to identify which debug instance +a debug line belongs to. + +#### Node.js + +In Node.js, colors are enabled when stderr is a TTY. You also _should_ install +the [`supports-color`](https://npmjs.org/supports-color) module alongside debug, +otherwise debug will only use a small handful of basic colors. + + + +#### Web Browser + +Colors are also enabled on "Web Inspectors" that understand the `%c` formatting +option. These are WebKit web inspectors, Firefox ([since version +31](https://hacks.mozilla.org/2014/05/editable-box-model-multiple-selection-sublime-text-keys-much-more-firefox-developer-tools-episode-31/)) +and the Firebug plugin for Firefox (any version). + + + + +## Millisecond diff + +When actively developing an application it can be useful to see when the time spent between one `debug()` call and the next. Suppose for example you invoke `debug()` before requesting a resource, and after as well, the "+NNNms" will show you how much time was spent between calls. + + + +When stdout is not a TTY, `Date#toISOString()` is used, making it more useful for logging the debug information as shown below: + + + + +## Conventions + +If you're using this in one or more of your libraries, you _should_ use the name of your library so that developers may toggle debugging as desired without guessing names. If you have more than one debuggers you _should_ prefix them with your library name and use ":" to separate features. For example "bodyParser" from Connect would then be "connect:bodyParser". If you append a "*" to the end of your name, it will always be enabled regardless of the setting of the DEBUG environment variable. You can then use it for normal output as well as debug output. + +## Wildcards + +The `*` character may be used as a wildcard. Suppose for example your library has +debuggers named "connect:bodyParser", "connect:compress", "connect:session", +instead of listing all three with +`DEBUG=connect:bodyParser,connect:compress,connect:session`, you may simply do +`DEBUG=connect:*`, or to run everything using this module simply use `DEBUG=*`. + +You can also exclude specific debuggers by prefixing them with a "-" character. +For example, `DEBUG=*,-connect:*` would include all debuggers except those +starting with "connect:". + +## Environment Variables + +When running through Node.js, you can set a few environment variables that will +change the behavior of the debug logging: + +| Name | Purpose | +|-----------|-------------------------------------------------| +| `DEBUG` | Enables/disables specific debugging namespaces. | +| `DEBUG_HIDE_DATE` | Hide date from debug output (non-TTY). | +| `DEBUG_COLORS`| Whether or not to use colors in the debug output. | +| `DEBUG_DEPTH` | Object inspection depth. | +| `DEBUG_SHOW_HIDDEN` | Shows hidden properties on inspected objects. | + + +__Note:__ The environment variables beginning with `DEBUG_` end up being +converted into an Options object that gets used with `%o`/`%O` formatters. +See the Node.js documentation for +[`util.inspect()`](https://nodejs.org/api/util.html#util_util_inspect_object_options) +for the complete list. + +## Formatters + +Debug uses [printf-style](https://wikipedia.org/wiki/Printf_format_string) formatting. +Below are the officially supported formatters: + +| Formatter | Representation | +|-----------|----------------| +| `%O` | Pretty-print an Object on multiple lines. | +| `%o` | Pretty-print an Object all on a single line. | +| `%s` | String. | +| `%d` | Number (both integer and float). | +| `%j` | JSON. Replaced with the string '[Circular]' if the argument contains circular references. | +| `%%` | Single percent sign ('%'). This does not consume an argument. | + + +### Custom formatters + +You can add custom formatters by extending the `debug.formatters` object. +For example, if you wanted to add support for rendering a Buffer as hex with +`%h`, you could do something like: + +```js +const createDebug = require('debug') +createDebug.formatters.h = (v) => { + return v.toString('hex') +} + +// …elsewhere +const debug = createDebug('foo') +debug('this is hex: %h', new Buffer('hello world')) +// foo this is hex: 68656c6c6f20776f726c6421 +0ms +``` + + +## Browser Support + +You can build a browser-ready script using [browserify](https://github.com/substack/node-browserify), +or just use the [browserify-as-a-service](https://wzrd.in/) [build](https://wzrd.in/standalone/debug@latest), +if you don't want to build it yourself. + +Debug's enable state is currently persisted by `localStorage`. +Consider the situation shown below where you have `worker:a` and `worker:b`, +and wish to debug both. You can enable this using `localStorage.debug`: + +```js +localStorage.debug = 'worker:*' +``` + +And then refresh the page. + +```js +a = debug('worker:a'); +b = debug('worker:b'); + +setInterval(function(){ + a('doing some work'); +}, 1000); + +setInterval(function(){ + b('doing some work'); +}, 1200); +``` + + +## Output streams + + By default `debug` will log to stderr, however this can be configured per-namespace by overriding the `log` method: + +Example [_stdout.js_](./examples/node/stdout.js): + +```js +var debug = require('debug'); +var error = debug('app:error'); + +// by default stderr is used +error('goes to stderr!'); + +var log = debug('app:log'); +// set this namespace to log via console.log +log.log = console.log.bind(console); // don't forget to bind to console! +log('goes to stdout'); +error('still goes to stderr!'); + +// set all output to go via console.info +// overrides all per-namespace log settings +debug.log = console.info.bind(console); +error('now goes to stdout via console.info'); +log('still goes to stdout, but via console.info now'); +``` + +## Checking whether a debug target is enabled + +After you've created a debug instance, you can determine whether or not it is +enabled by checking the `enabled` property: + +```javascript +const debug = require('debug')('http'); + +if (debug.enabled) { + // do stuff... +} +``` + +You can also manually toggle this property to force the debug instance to be +enabled or disabled. + + +## Authors + + - TJ Holowaychuk + - Nathan Rajlich + - Andrew Rhyne + +## Backers + +Support us with a monthly donation and help us continue our activities. [[Become a backer](https://opencollective.com/debug#backer)] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +## Sponsors + +Become a sponsor and get your logo on our README on Github with a link to your site. [[Become a sponsor](https://opencollective.com/debug#sponsor)] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +## License + +(The MIT License) + +Copyright (c) 2014-2017 TJ Holowaychuk <tj@vision-media.ca> + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/express-server/node_modules/follow-redirects/node_modules/debug/karma.conf.js b/express-server/node_modules/follow-redirects/node_modules/debug/karma.conf.js new file mode 100644 index 00000000..103a82d1 --- /dev/null +++ b/express-server/node_modules/follow-redirects/node_modules/debug/karma.conf.js @@ -0,0 +1,70 @@ +// Karma configuration +// Generated on Fri Dec 16 2016 13:09:51 GMT+0000 (UTC) + +module.exports = function(config) { + config.set({ + + // base path that will be used to resolve all patterns (eg. files, exclude) + basePath: '', + + + // frameworks to use + // available frameworks: https://npmjs.org/browse/keyword/karma-adapter + frameworks: ['mocha', 'chai', 'sinon'], + + + // list of files / patterns to load in the browser + files: [ + 'dist/debug.js', + 'test/*spec.js' + ], + + + // list of files to exclude + exclude: [ + 'src/node.js' + ], + + + // preprocess matching files before serving them to the browser + // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor + preprocessors: { + }, + + // test results reporter to use + // possible values: 'dots', 'progress' + // available reporters: https://npmjs.org/browse/keyword/karma-reporter + reporters: ['progress'], + + + // web server port + port: 9876, + + + // enable / disable colors in the output (reporters and logs) + colors: true, + + + // level of logging + // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG + logLevel: config.LOG_INFO, + + + // enable / disable watching file and executing tests whenever any file changes + autoWatch: true, + + + // start these browsers + // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher + browsers: ['PhantomJS'], + + + // Continuous Integration mode + // if true, Karma captures browsers, runs the tests and exits + singleRun: false, + + // Concurrency level + // how many browser should be started simultaneous + concurrency: Infinity + }) +} diff --git a/express-server/node_modules/follow-redirects/node_modules/debug/node.js b/express-server/node_modules/follow-redirects/node_modules/debug/node.js new file mode 100644 index 00000000..7fc36fe6 --- /dev/null +++ b/express-server/node_modules/follow-redirects/node_modules/debug/node.js @@ -0,0 +1 @@ +module.exports = require('./src/node'); diff --git a/express-server/node_modules/follow-redirects/node_modules/debug/package.json b/express-server/node_modules/follow-redirects/node_modules/debug/package.json new file mode 100644 index 00000000..7738405e --- /dev/null +++ b/express-server/node_modules/follow-redirects/node_modules/debug/package.json @@ -0,0 +1,82 @@ +{ + "_from": "debug@=3.1.0", + "_id": "debug@3.1.0", + "_inBundle": false, + "_integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "_location": "/follow-redirects/debug", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "debug@=3.1.0", + "name": "debug", + "escapedName": "debug", + "rawSpec": "=3.1.0", + "saveSpec": null, + "fetchSpec": "=3.1.0" + }, + "_requiredBy": [ + "/follow-redirects" + ], + "_resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "_shasum": "5bb5a0672628b64149566ba16819e61518c67261", + "_spec": "debug@=3.1.0", + "_where": "C:\\Users\\Georg\\GitHub\\SmartShopper\\express-server\\node_modules\\follow-redirects", + "author": { + "name": "TJ Holowaychuk", + "email": "tj@vision-media.ca" + }, + "browser": "./src/browser.js", + "bugs": { + "url": "https://github.com/visionmedia/debug/issues" + }, + "bundleDependencies": false, + "contributors": [ + { + "name": "Nathan Rajlich", + "email": "nathan@tootallnate.net", + "url": "http://n8.io" + }, + { + "name": "Andrew Rhyne", + "email": "rhyneandrew@gmail.com" + } + ], + "dependencies": { + "ms": "2.0.0" + }, + "deprecated": false, + "description": "small debugging utility", + "devDependencies": { + "browserify": "14.4.0", + "chai": "^3.5.0", + "concurrently": "^3.1.0", + "coveralls": "^2.11.15", + "eslint": "^3.12.1", + "istanbul": "^0.4.5", + "karma": "^1.3.0", + "karma-chai": "^0.1.0", + "karma-mocha": "^1.3.0", + "karma-phantomjs-launcher": "^1.0.2", + "karma-sinon": "^1.0.5", + "mocha": "^3.2.0", + "mocha-lcov-reporter": "^1.2.0", + "rimraf": "^2.5.4", + "sinon": "^1.17.6", + "sinon-chai": "^2.8.0" + }, + "homepage": "https://github.com/visionmedia/debug#readme", + "keywords": [ + "debug", + "log", + "debugger" + ], + "license": "MIT", + "main": "./src/index.js", + "name": "debug", + "repository": { + "type": "git", + "url": "git://github.com/visionmedia/debug.git" + }, + "version": "3.1.0" +} diff --git a/express-server/node_modules/follow-redirects/node_modules/debug/src/browser.js b/express-server/node_modules/follow-redirects/node_modules/debug/src/browser.js new file mode 100644 index 00000000..f5149ff5 --- /dev/null +++ b/express-server/node_modules/follow-redirects/node_modules/debug/src/browser.js @@ -0,0 +1,195 @@ +/** + * This is the web browser implementation of `debug()`. + * + * Expose `debug()` as the module. + */ + +exports = module.exports = require('./debug'); +exports.log = log; +exports.formatArgs = formatArgs; +exports.save = save; +exports.load = load; +exports.useColors = useColors; +exports.storage = 'undefined' != typeof chrome + && 'undefined' != typeof chrome.storage + ? chrome.storage.local + : localstorage(); + +/** + * Colors. + */ + +exports.colors = [ + '#0000CC', '#0000FF', '#0033CC', '#0033FF', '#0066CC', '#0066FF', '#0099CC', + '#0099FF', '#00CC00', '#00CC33', '#00CC66', '#00CC99', '#00CCCC', '#00CCFF', + '#3300CC', '#3300FF', '#3333CC', '#3333FF', '#3366CC', '#3366FF', '#3399CC', + '#3399FF', '#33CC00', '#33CC33', '#33CC66', '#33CC99', '#33CCCC', '#33CCFF', + '#6600CC', '#6600FF', '#6633CC', '#6633FF', '#66CC00', '#66CC33', '#9900CC', + '#9900FF', '#9933CC', '#9933FF', '#99CC00', '#99CC33', '#CC0000', '#CC0033', + '#CC0066', '#CC0099', '#CC00CC', '#CC00FF', '#CC3300', '#CC3333', '#CC3366', + '#CC3399', '#CC33CC', '#CC33FF', '#CC6600', '#CC6633', '#CC9900', '#CC9933', + '#CCCC00', '#CCCC33', '#FF0000', '#FF0033', '#FF0066', '#FF0099', '#FF00CC', + '#FF00FF', '#FF3300', '#FF3333', '#FF3366', '#FF3399', '#FF33CC', '#FF33FF', + '#FF6600', '#FF6633', '#FF9900', '#FF9933', '#FFCC00', '#FFCC33' +]; + +/** + * Currently only WebKit-based Web Inspectors, Firefox >= v31, + * and the Firebug extension (any Firefox version) are known + * to support "%c" CSS customizations. + * + * TODO: add a `localStorage` variable to explicitly enable/disable colors + */ + +function useColors() { + // NB: In an Electron preload script, document will be defined but not fully + // initialized. Since we know we're in Chrome, we'll just detect this case + // explicitly + if (typeof window !== 'undefined' && window.process && window.process.type === 'renderer') { + return true; + } + + // Internet Explorer and Edge do not support colors. + if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) { + return false; + } + + // is webkit? http://stackoverflow.com/a/16459606/376773 + // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632 + return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) || + // is firebug? http://stackoverflow.com/a/398120/376773 + (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) || + // is firefox >= v31? + // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages + (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31) || + // double check webkit in userAgent just in case we are in a worker + (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)); +} + +/** + * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default. + */ + +exports.formatters.j = function(v) { + try { + return JSON.stringify(v); + } catch (err) { + return '[UnexpectedJSONParseError]: ' + err.message; + } +}; + + +/** + * Colorize log arguments if enabled. + * + * @api public + */ + +function formatArgs(args) { + var useColors = this.useColors; + + args[0] = (useColors ? '%c' : '') + + this.namespace + + (useColors ? ' %c' : ' ') + + args[0] + + (useColors ? '%c ' : ' ') + + '+' + exports.humanize(this.diff); + + if (!useColors) return; + + var c = 'color: ' + this.color; + args.splice(1, 0, c, 'color: inherit') + + // the final "%c" is somewhat tricky, because there could be other + // arguments passed either before or after the %c, so we need to + // figure out the correct index to insert the CSS into + var index = 0; + var lastC = 0; + args[0].replace(/%[a-zA-Z%]/g, function(match) { + if ('%%' === match) return; + index++; + if ('%c' === match) { + // we only are interested in the *last* %c + // (the user may have provided their own) + lastC = index; + } + }); + + args.splice(lastC, 0, c); +} + +/** + * Invokes `console.log()` when available. + * No-op when `console.log` is not a "function". + * + * @api public + */ + +function log() { + // this hackery is required for IE8/9, where + // the `console.log` function doesn't have 'apply' + return 'object' === typeof console + && console.log + && Function.prototype.apply.call(console.log, console, arguments); +} + +/** + * Save `namespaces`. + * + * @param {String} namespaces + * @api private + */ + +function save(namespaces) { + try { + if (null == namespaces) { + exports.storage.removeItem('debug'); + } else { + exports.storage.debug = namespaces; + } + } catch(e) {} +} + +/** + * Load `namespaces`. + * + * @return {String} returns the previously persisted debug modes + * @api private + */ + +function load() { + var r; + try { + r = exports.storage.debug; + } catch(e) {} + + // If debug isn't set in LS, and we're in Electron, try to load $DEBUG + if (!r && typeof process !== 'undefined' && 'env' in process) { + r = process.env.DEBUG; + } + + return r; +} + +/** + * Enable namespaces listed in `localStorage.debug` initially. + */ + +exports.enable(load()); + +/** + * Localstorage attempts to return the localstorage. + * + * This is necessary because safari throws + * when a user disables cookies/localstorage + * and you attempt to access it. + * + * @return {LocalStorage} + * @api private + */ + +function localstorage() { + try { + return window.localStorage; + } catch (e) {} +} diff --git a/express-server/node_modules/follow-redirects/node_modules/debug/src/debug.js b/express-server/node_modules/follow-redirects/node_modules/debug/src/debug.js new file mode 100644 index 00000000..77e6384a --- /dev/null +++ b/express-server/node_modules/follow-redirects/node_modules/debug/src/debug.js @@ -0,0 +1,225 @@ + +/** + * This is the common logic for both the Node.js and web browser + * implementations of `debug()`. + * + * Expose `debug()` as the module. + */ + +exports = module.exports = createDebug.debug = createDebug['default'] = createDebug; +exports.coerce = coerce; +exports.disable = disable; +exports.enable = enable; +exports.enabled = enabled; +exports.humanize = require('ms'); + +/** + * Active `debug` instances. + */ +exports.instances = []; + +/** + * The currently active debug mode names, and names to skip. + */ + +exports.names = []; +exports.skips = []; + +/** + * Map of special "%n" handling functions, for the debug "format" argument. + * + * Valid key names are a single, lower or upper-case letter, i.e. "n" and "N". + */ + +exports.formatters = {}; + +/** + * Select a color. + * @param {String} namespace + * @return {Number} + * @api private + */ + +function selectColor(namespace) { + var hash = 0, i; + + for (i in namespace) { + hash = ((hash << 5) - hash) + namespace.charCodeAt(i); + hash |= 0; // Convert to 32bit integer + } + + return exports.colors[Math.abs(hash) % exports.colors.length]; +} + +/** + * Create a debugger with the given `namespace`. + * + * @param {String} namespace + * @return {Function} + * @api public + */ + +function createDebug(namespace) { + + var prevTime; + + function debug() { + // disabled? + if (!debug.enabled) return; + + var self = debug; + + // set `diff` timestamp + var curr = +new Date(); + var ms = curr - (prevTime || curr); + self.diff = ms; + self.prev = prevTime; + self.curr = curr; + prevTime = curr; + + // turn the `arguments` into a proper Array + var args = new Array(arguments.length); + for (var i = 0; i < args.length; i++) { + args[i] = arguments[i]; + } + + args[0] = exports.coerce(args[0]); + + if ('string' !== typeof args[0]) { + // anything else let's inspect with %O + args.unshift('%O'); + } + + // apply any `formatters` transformations + var index = 0; + args[0] = args[0].replace(/%([a-zA-Z%])/g, function(match, format) { + // if we encounter an escaped % then don't increase the array index + if (match === '%%') return match; + index++; + var formatter = exports.formatters[format]; + if ('function' === typeof formatter) { + var val = args[index]; + match = formatter.call(self, val); + + // now we need to remove `args[index]` since it's inlined in the `format` + args.splice(index, 1); + index--; + } + return match; + }); + + // apply env-specific formatting (colors, etc.) + exports.formatArgs.call(self, args); + + var logFn = debug.log || exports.log || console.log.bind(console); + logFn.apply(self, args); + } + + debug.namespace = namespace; + debug.enabled = exports.enabled(namespace); + debug.useColors = exports.useColors(); + debug.color = selectColor(namespace); + debug.destroy = destroy; + + // env-specific initialization logic for debug instances + if ('function' === typeof exports.init) { + exports.init(debug); + } + + exports.instances.push(debug); + + return debug; +} + +function destroy () { + var index = exports.instances.indexOf(this); + if (index !== -1) { + exports.instances.splice(index, 1); + return true; + } else { + return false; + } +} + +/** + * Enables a debug mode by namespaces. This can include modes + * separated by a colon and wildcards. + * + * @param {String} namespaces + * @api public + */ + +function enable(namespaces) { + exports.save(namespaces); + + exports.names = []; + exports.skips = []; + + var i; + var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/); + var len = split.length; + + for (i = 0; i < len; i++) { + if (!split[i]) continue; // ignore empty strings + namespaces = split[i].replace(/\*/g, '.*?'); + if (namespaces[0] === '-') { + exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$')); + } else { + exports.names.push(new RegExp('^' + namespaces + '$')); + } + } + + for (i = 0; i < exports.instances.length; i++) { + var instance = exports.instances[i]; + instance.enabled = exports.enabled(instance.namespace); + } +} + +/** + * Disable debug output. + * + * @api public + */ + +function disable() { + exports.enable(''); +} + +/** + * Returns true if the given mode name is enabled, false otherwise. + * + * @param {String} name + * @return {Boolean} + * @api public + */ + +function enabled(name) { + if (name[name.length - 1] === '*') { + return true; + } + var i, len; + for (i = 0, len = exports.skips.length; i < len; i++) { + if (exports.skips[i].test(name)) { + return false; + } + } + for (i = 0, len = exports.names.length; i < len; i++) { + if (exports.names[i].test(name)) { + return true; + } + } + return false; +} + +/** + * Coerce `val`. + * + * @param {Mixed} val + * @return {Mixed} + * @api private + */ + +function coerce(val) { + if (val instanceof Error) return val.stack || val.message; + return val; +} diff --git a/express-server/node_modules/follow-redirects/node_modules/debug/src/index.js b/express-server/node_modules/follow-redirects/node_modules/debug/src/index.js new file mode 100644 index 00000000..cabcbcda --- /dev/null +++ b/express-server/node_modules/follow-redirects/node_modules/debug/src/index.js @@ -0,0 +1,10 @@ +/** + * Detect Electron renderer process, which is node, but we should + * treat as a browser. + */ + +if (typeof process === 'undefined' || process.type === 'renderer') { + module.exports = require('./browser.js'); +} else { + module.exports = require('./node.js'); +} diff --git a/express-server/node_modules/follow-redirects/node_modules/debug/src/node.js b/express-server/node_modules/follow-redirects/node_modules/debug/src/node.js new file mode 100644 index 00000000..d666fb9c --- /dev/null +++ b/express-server/node_modules/follow-redirects/node_modules/debug/src/node.js @@ -0,0 +1,186 @@ +/** + * Module dependencies. + */ + +var tty = require('tty'); +var util = require('util'); + +/** + * This is the Node.js implementation of `debug()`. + * + * Expose `debug()` as the module. + */ + +exports = module.exports = require('./debug'); +exports.init = init; +exports.log = log; +exports.formatArgs = formatArgs; +exports.save = save; +exports.load = load; +exports.useColors = useColors; + +/** + * Colors. + */ + +exports.colors = [ 6, 2, 3, 4, 5, 1 ]; + +try { + var supportsColor = require('supports-color'); + if (supportsColor && supportsColor.level >= 2) { + exports.colors = [ + 20, 21, 26, 27, 32, 33, 38, 39, 40, 41, 42, 43, 44, 45, 56, 57, 62, 63, 68, + 69, 74, 75, 76, 77, 78, 79, 80, 81, 92, 93, 98, 99, 112, 113, 128, 129, 134, + 135, 148, 149, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, + 172, 173, 178, 179, 184, 185, 196, 197, 198, 199, 200, 201, 202, 203, 204, + 205, 206, 207, 208, 209, 214, 215, 220, 221 + ]; + } +} catch (err) { + // swallow - we only care if `supports-color` is available; it doesn't have to be. +} + +/** + * Build up the default `inspectOpts` object from the environment variables. + * + * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js + */ + +exports.inspectOpts = Object.keys(process.env).filter(function (key) { + return /^debug_/i.test(key); +}).reduce(function (obj, key) { + // camel-case + var prop = key + .substring(6) + .toLowerCase() + .replace(/_([a-z])/g, function (_, k) { return k.toUpperCase() }); + + // coerce string value into JS value + var val = process.env[key]; + if (/^(yes|on|true|enabled)$/i.test(val)) val = true; + else if (/^(no|off|false|disabled)$/i.test(val)) val = false; + else if (val === 'null') val = null; + else val = Number(val); + + obj[prop] = val; + return obj; +}, {}); + +/** + * Is stdout a TTY? Colored output is enabled when `true`. + */ + +function useColors() { + return 'colors' in exports.inspectOpts + ? Boolean(exports.inspectOpts.colors) + : tty.isatty(process.stderr.fd); +} + +/** + * Map %o to `util.inspect()`, all on a single line. + */ + +exports.formatters.o = function(v) { + this.inspectOpts.colors = this.useColors; + return util.inspect(v, this.inspectOpts) + .split('\n').map(function(str) { + return str.trim() + }).join(' '); +}; + +/** + * Map %o to `util.inspect()`, allowing multiple lines if needed. + */ + +exports.formatters.O = function(v) { + this.inspectOpts.colors = this.useColors; + return util.inspect(v, this.inspectOpts); +}; + +/** + * Adds ANSI color escape codes if enabled. + * + * @api public + */ + +function formatArgs(args) { + var name = this.namespace; + var useColors = this.useColors; + + if (useColors) { + var c = this.color; + var colorCode = '\u001b[3' + (c < 8 ? c : '8;5;' + c); + var prefix = ' ' + colorCode + ';1m' + name + ' ' + '\u001b[0m'; + + args[0] = prefix + args[0].split('\n').join('\n' + prefix); + args.push(colorCode + 'm+' + exports.humanize(this.diff) + '\u001b[0m'); + } else { + args[0] = getDate() + name + ' ' + args[0]; + } +} + +function getDate() { + if (exports.inspectOpts.hideDate) { + return ''; + } else { + return new Date().toISOString() + ' '; + } +} + +/** + * Invokes `util.format()` with the specified arguments and writes to stderr. + */ + +function log() { + return process.stderr.write(util.format.apply(util, arguments) + '\n'); +} + +/** + * Save `namespaces`. + * + * @param {String} namespaces + * @api private + */ + +function save(namespaces) { + if (null == namespaces) { + // If you set a process.env field to null or undefined, it gets cast to the + // string 'null' or 'undefined'. Just delete instead. + delete process.env.DEBUG; + } else { + process.env.DEBUG = namespaces; + } +} + +/** + * Load `namespaces`. + * + * @return {String} returns the previously persisted debug modes + * @api private + */ + +function load() { + return process.env.DEBUG; +} + +/** + * Init logic for `debug` instances. + * + * Create a new `inspectOpts` object in case `useColors` is set + * differently for a particular `debug` instance. + */ + +function init (debug) { + debug.inspectOpts = {}; + + var keys = Object.keys(exports.inspectOpts); + for (var i = 0; i < keys.length; i++) { + debug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]]; + } +} + +/** + * Enable namespaces listed in `process.env.DEBUG` initially. + */ + +exports.enable(load()); diff --git a/express-server/node_modules/follow-redirects/package.json b/express-server/node_modules/follow-redirects/package.json new file mode 100644 index 00000000..7b85d481 --- /dev/null +++ b/express-server/node_modules/follow-redirects/package.json @@ -0,0 +1,98 @@ +{ + "_from": "follow-redirects@^1.3.0", + "_id": "follow-redirects@1.5.9", + "_inBundle": false, + "_integrity": "sha512-Bh65EZI/RU8nx0wbYF9shkFZlqLP+6WT/5FnA3cE/djNSuKNHJEinGGZgu/cQEkeeb2GdFOgenAmn8qaqYke2w==", + "_location": "/follow-redirects", + "_phantomChildren": { + "ms": "2.0.0" + }, + "_requested": { + "type": "range", + "registry": true, + "raw": "follow-redirects@^1.3.0", + "name": "follow-redirects", + "escapedName": "follow-redirects", + "rawSpec": "^1.3.0", + "saveSpec": null, + "fetchSpec": "^1.3.0" + }, + "_requiredBy": [ + "/axios" + ], + "_resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.9.tgz", + "_shasum": "c9ed9d748b814a39535716e531b9196a845d89c6", + "_spec": "follow-redirects@^1.3.0", + "_where": "C:\\Users\\Georg\\GitHub\\SmartShopper\\express-server\\node_modules\\axios", + "author": { + "name": "Olivier Lalonde", + "email": "olalonde@gmail.com", + "url": "http://www.syskall.com" + }, + "bugs": { + "url": "https://github.com/olalonde/follow-redirects/issues" + }, + "bundleDependencies": false, + "contributors": [ + { + "name": "James Talmage", + "email": "james@talmage.io" + }, + { + "name": "Ruben Verborgh", + "email": "ruben@verborgh.org", + "url": "https://ruben.verborgh.org/" + } + ], + "dependencies": { + "debug": "=3.1.0" + }, + "deprecated": false, + "description": "HTTP and HTTPS modules that follow redirects.", + "devDependencies": { + "concat-stream": "^1.6.0", + "coveralls": "^3.0.0", + "eslint": "^4.19.1", + "express": "^4.16.2", + "mocha": "^5.0.0", + "nyc": "^11.8.0" + }, + "engines": { + "node": ">=4.0" + }, + "files": [ + "index.js", + "create.js", + "http.js", + "https.js" + ], + "homepage": "https://github.com/olalonde/follow-redirects", + "keywords": [ + "http", + "https", + "url", + "redirect", + "client", + "location", + "utility" + ], + "license": "MIT", + "main": "index.js", + "name": "follow-redirects", + "nyc": { + "reporter": [ + "lcov", + "text" + ] + }, + "repository": { + "type": "git", + "url": "git+ssh://git@github.com/olalonde/follow-redirects.git" + }, + "scripts": { + "lint": "eslint *.js test", + "mocha": "nyc mocha", + "test": "npm run lint && npm run mocha" + }, + "version": "1.5.9" +} diff --git a/express-server/node_modules/gcp-metadata/LICENSE b/express-server/node_modules/gcp-metadata/LICENSE new file mode 100644 index 00000000..18c20d23 --- /dev/null +++ b/express-server/node_modules/gcp-metadata/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2016 Stephen Sawchuk + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/express-server/node_modules/gcp-metadata/README.md b/express-server/node_modules/gcp-metadata/README.md new file mode 100644 index 00000000..e02ec61b --- /dev/null +++ b/express-server/node_modules/gcp-metadata/README.md @@ -0,0 +1,46 @@ +# gcp-metadata +> Get the metadata from a Google Cloud Platform environment. + +[![NPM Version][npm-image]][npm-url] +[![CircleCI][circleimg]][circle] +[![codecov][codecov-image]][codecov-url] + +```sh +$ npm install --save gcp-metadata +``` +```js +const gcpMetadata = require('gcp-metadata'); +``` + +#### Check to see if the metadata server is available +```js +const isAvailable = await gcpMetadata.isAvailable(); +``` + +#### Access all metadata +```js +const res = await gcpMetadata.instance(); +console.log(res.data); // ... All metadata properties +``` + +#### Access specific properties +```js +const res = await gcpMetadata.instance('hostname'); +console.log(res.data) // ...All metadata properties +``` + +#### Access specific properties with query parameters +```js +const res = await gcpMetadata.instance({ + property: 'tags', + params: { alt: 'text' } +}); +console.log(res.data) // ...Tags as newline-delimited list +``` + +[circle]: https://circleci.com/gh/stephenplusplus/gcp-metadata +[circleimg]: https://circleci.com/gh/stephenplusplus/gcp-metadata.svg?style=shield +[codecov-image]: https://codecov.io/gh/stephenplusplus/gcp-metadata/branch/master/graph/badge.svg +[codecov-url]: https://codecov.io/gh/stephenplusplus/gcp-metadata +[npm-image]: https://img.shields.io/npm/v/gcp-metadata.svg +[npm-url]: https://www.npmjs.com/package/gcp-metadata \ No newline at end of file diff --git a/express-server/node_modules/gcp-metadata/build/src/index.d.ts b/express-server/node_modules/gcp-metadata/build/src/index.d.ts new file mode 100644 index 00000000..ecba497e --- /dev/null +++ b/express-server/node_modules/gcp-metadata/build/src/index.d.ts @@ -0,0 +1,20 @@ +import { AxiosRequestConfig, AxiosResponse } from 'axios'; +export declare const HOST_ADDRESS = "http://metadata.google.internal"; +export declare const BASE_PATH = "/computeMetadata/v1"; +export declare const BASE_URL: string; +export declare const HEADER_NAME = "Metadata-Flavor"; +export declare const HEADER_VALUE = "Google"; +export declare const HEADERS: Readonly<{ + [HEADER_NAME]: string; +}>; +export declare type Options = AxiosRequestConfig & { + [index: string]: {} | string | undefined; + property?: string; + uri?: string; +}; +export declare function instance(options?: string | Options): Promise>; +export declare function project(options?: string | Options): Promise>; +/** + * Determine if the metadata server is currently available. + */ +export declare function isAvailable(): Promise; diff --git a/express-server/node_modules/gcp-metadata/build/src/index.js b/express-server/node_modules/gcp-metadata/build/src/index.js new file mode 100644 index 00000000..7a6726c4 --- /dev/null +++ b/express-server/node_modules/gcp-metadata/build/src/index.js @@ -0,0 +1,160 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; + result["default"] = mod; + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +var _a; +var axios_1 = __importDefault(require("axios")); +var extend_1 = __importDefault(require("extend")); +var rax = __importStar(require("retry-axios")); +exports.HOST_ADDRESS = 'http://metadata.google.internal'; +exports.BASE_PATH = '/computeMetadata/v1'; +exports.BASE_URL = exports.HOST_ADDRESS + exports.BASE_PATH; +exports.HEADER_NAME = 'Metadata-Flavor'; +exports.HEADER_VALUE = 'Google'; +exports.HEADERS = Object.freeze((_a = {}, _a[exports.HEADER_NAME] = exports.HEADER_VALUE, _a)); +// Accepts an options object passed from the user to the API. In the +// previous version of the API, it referred to a `Request` options object. +// Now it refers to an Axios Request Config object. This is here to help +// ensure users don't pass invalid options when they upgrade from 0.4 to 0.5. +function validate(options) { + var vpairs = [ + { invalid: 'uri', expected: 'url' }, { invalid: 'json', expected: 'data' }, + { invalid: 'qs', expected: 'params' } + ]; + for (var _i = 0, vpairs_1 = vpairs; _i < vpairs_1.length; _i++) { + var pair = vpairs_1[_i]; + if (options[pair.invalid]) { + var e = "'" + pair.invalid + "' is not a valid configuration option. Please use '" + pair.expected + "' instead. This library is using Axios for requests. Please see https://github.com/axios/axios to learn more about the valid request options."; + throw new Error(e); + } + } +} +function metadataAccessor(type, options, noResponseRetries) { + if (noResponseRetries === void 0) { noResponseRetries = 3; } + return __awaiter(this, void 0, void 0, function () { + var property, ax, baseOpts, reqOpts; + return __generator(this, function (_a) { + options = options || {}; + if (typeof options === 'string') { + options = { property: options }; + } + property = ''; + if (typeof options === 'object' && options.property) { + property = '/' + options.property; + } + validate(options); + ax = axios_1.default.create(); + rax.attach(ax); + baseOpts = { + url: exports.BASE_URL + "/" + type + property, + headers: Object.assign({}, exports.HEADERS), + raxConfig: { noResponseRetries: noResponseRetries, instance: ax } + }; + reqOpts = extend_1.default(true, baseOpts, options); + delete reqOpts.property; + return [2 /*return*/, ax.request(reqOpts) + .then(function (res) { + // NOTE: node.js converts all incoming headers to lower case. + if (res.headers[exports.HEADER_NAME.toLowerCase()] !== exports.HEADER_VALUE) { + throw new Error("Invalid response from metadata service: incorrect " + exports.HEADER_NAME + " header."); + } + else if (!res.data) { + throw new Error('Invalid response from the metadata service'); + } + return res; + }) + .catch(function (err) { + if (err.response && err.response.status !== 200) { + err.message = 'Unsuccessful response status code. ' + err.message; + } + throw err; + })]; + }); + }); +} +function instance(options) { + return metadataAccessor('instance', options); +} +exports.instance = instance; +function project(options) { + return metadataAccessor('project', options); +} +exports.project = project; +/** + * Determine if the metadata server is currently available. + */ +function isAvailable() { + return __awaiter(this, void 0, void 0, function () { + var err_1; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + // Attempt to read instance metadata. As configured, this will + // retry 3 times if there is a valid response, and fail fast + // if there is an ETIMEDOUT or ENOTFOUND error. + return [4 /*yield*/, metadataAccessor('instance', undefined, 0)]; + case 1: + // Attempt to read instance metadata. As configured, this will + // retry 3 times if there is a valid response, and fail fast + // if there is an ETIMEDOUT or ENOTFOUND error. + _a.sent(); + return [2 /*return*/, true]; + case 2: + err_1 = _a.sent(); + // Failure to resolve the metadata service means that it is not available. + if (err_1.code && (err_1.code === 'ENOTFOUND' || err_1.code === 'ENOENT')) { + return [2 /*return*/, false]; + } + // Throw unexpected errors. + throw err_1; + case 3: return [2 /*return*/]; + } + }); + }); +} +exports.isAvailable = isAvailable; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/gcp-metadata/build/src/index.js.map b/express-server/node_modules/gcp-metadata/build/src/index.js.map new file mode 100644 index 00000000..778969c9 --- /dev/null +++ b/express-server/node_modules/gcp-metadata/build/src/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/gcp-metadata/package.json b/express-server/node_modules/gcp-metadata/package.json new file mode 100644 index 00000000..d02eb52f --- /dev/null +++ b/express-server/node_modules/gcp-metadata/package.json @@ -0,0 +1,97 @@ +{ + "_from": "gcp-metadata@^0.7.0", + "_id": "gcp-metadata@0.7.0", + "_inBundle": false, + "_integrity": "sha512-ffjC09amcDWjh3VZdkDngIo7WoluyC5Ag9PAYxZbmQLOLNI8lvPtoKTSCyU54j2gwy5roZh6sSMTfkY2ct7K3g==", + "_location": "/gcp-metadata", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "gcp-metadata@^0.7.0", + "name": "gcp-metadata", + "escapedName": "gcp-metadata", + "rawSpec": "^0.7.0", + "saveSpec": null, + "fetchSpec": "^0.7.0" + }, + "_requiredBy": [ + "/google-auth-library" + ], + "_resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-0.7.0.tgz", + "_shasum": "6c35dbb52bda32a427bb9c98f54237ddd1b5406f", + "_spec": "gcp-metadata@^0.7.0", + "_where": "C:\\Users\\Georg\\GitHub\\SmartShopper\\express-server\\node_modules\\google-auth-library", + "author": { + "name": "Stephen Sawchuk" + }, + "bugs": { + "url": "https://github.com/stephenplusplus/gcp-metadata/issues" + }, + "bundleDependencies": false, + "dependencies": { + "axios": "^0.18.0", + "extend": "^3.0.1", + "retry-axios": "0.3.2" + }, + "deprecated": false, + "description": "Get the metadata from a Google Cloud Platform environment", + "devDependencies": { + "@types/extend": "^3.0.0", + "@types/mocha": "^5.2.4", + "@types/ncp": "^2.0.1", + "@types/nock": "^9.1.3", + "@types/node": "^10.1.0", + "@types/pify": "^3.0.2", + "@types/tmp": "0.0.33", + "assert-rejects": "^0.1.1", + "codecov": "^3.0.2", + "gts": "^0.7.0", + "hard-rejection": "^1.0.0", + "mocha": "^5.2.0", + "ncp": "^2.0.0", + "nock": "^9.2.6", + "nyc": "^12.0.0", + "pify": "^3.0.0", + "source-map-support": "^0.5.6", + "tmp": "0.0.33", + "typescript": "^2.8.3" + }, + "engines": { + "node": ">=4" + }, + "files": [ + "build/src" + ], + "homepage": "https://github.com/stephenplusplus/gcp-metadata#readme", + "keywords": [ + "google cloud platform", + "google cloud", + "google", + "app engine", + "compute engine", + "metadata server", + "metadata" + ], + "license": "MIT", + "main": "./build/src/index.js", + "name": "gcp-metadata", + "repository": { + "type": "git", + "url": "git+https://github.com/stephenplusplus/gcp-metadata.git" + }, + "scripts": { + "check": "gts check", + "clean": "gts clean", + "codecov": "nyc report --reporter=json && codecov -f coverage/*.json", + "compile": "tsc -p .", + "fix": "gts fix", + "posttest": "npm run check", + "prepare": "npm run compile", + "pretest-only": "npm run compile", + "test": "npm run test-only", + "test-only": "nyc mocha build/test" + }, + "types": "./build/src/index.d.ts", + "version": "0.7.0" +} diff --git a/express-server/node_modules/google-auth-library/CHANGELOG.md b/express-server/node_modules/google-auth-library/CHANGELOG.md new file mode 100644 index 00000000..43c96edf --- /dev/null +++ b/express-server/node_modules/google-auth-library/CHANGELOG.md @@ -0,0 +1,114 @@ +# Changelog + +[npm history][1] + +[1]: https://www.npmjs.com/package/google-auth-library-nodejs?activeTab=versions + +## v2.0.0 + +Well hello 2.0 🎉 **This release has multiple breaking changes**. It also has a lot of bug fixes. + +### Breaking Changes + +#### Support for node.js 4.x and 9.x has been dropped +These versions of node.js are no longer supported. + +#### The `getRequestMetadata` method has been deprecated +The `getRequestMetadata` method has been deprecated on the `IAM`, `OAuth2`, `JWT`, and `JWTAccess` classes. The `getRequestHeaders` method should be used instead. The methods have a subtle difference: the `getRequestMetadata` method returns an object with a headers property, which contains the authorization header. The `getRequestHeaders` method simply returns the headers. + +##### Old code +```js +const client = await auth.getClient(); +const res = await client.getRequestMetadata(); +const headers = res.headers; +``` + +##### New code +```js +const client = await auth.getClient(); +const headers = await client.getRequestHeaders(); +``` + +#### The `createScopedRequired` method has been deprecated +The `createScopedRequired` method has been deprecated on multiple classes. The `createScopedRequired` and `createScoped` methods on the `JWT` class were largely in place to help inform clients when scopes were required in an application default credential scenario. Instead of checking if scopes are required after creating the client, instead scopes should just be passed either into the `GoogleAuth.getClient` method, or directly into the `JWT` constructor. + +##### Old code +```js +auth.getApplicationDefault(function(err, authClient) { + if (err) { + return callback(err); + } + if (authClient.createScopedRequired && authClient.createScopedRequired()) { + authClient = authClient.createScoped([ + 'https://www.googleapis.com/auth/cloud-platform' + ]); + } + callback(null, authClient); +}); +``` + +##### New code +```js +const client = await auth.getClient({ + scopes: ['https://www.googleapis.com/auth/cloud-platform'] +}); +``` + +#### The `refreshAccessToken` method has been deprecated +The `OAuth2.refreshAccessToken` method has been deprecated. The `getAccessToken`, `getRequestMetadata`, and `request` methods will all refresh the token if needed automatically. There is no need to ever manually refresh the token. + +As always, if you run into any problems... please let us know! + +### Features +- Set private_key_id in JWT access token header like other google auth libraries. (#450) + +### Bug Fixes +- fix: support HTTPS proxies (#405) +- fix: export missing interfaces (#437) +- fix: Use new auth URIs (#434) +- docs: Fix broken link (#423) +- fix: surface file read streams (#413) +- fix: prevent unhandled rejections by avoid .catch (#404) +- fix: use gcp-metadata for compute credentials (#409) +- Add Code of Conduct +- fix: Warn when using user credentials from the Cloud SDK (#399) +- fix: use `Buffer.from` instead of `new Buffer` (#400) +- fix: Fix link format in README.md (#385) + +### Breaking changes +- chore: deprecate getRequestMetadata (#414) +- fix: deprecate the `createScopedRequired` methods (#410) +- fix: drop support for node.js 4.x and 9.x (#417) +- fix: deprecate the `refreshAccessToken` methods (#411) +- fix: deprecate the `getDefaultProjectId` method (#402) +- fix: drop support for node.js 4 (#401) + +### Build / Test changes +- Run synth to make build tools consistent (#455) +- Add a package.json for samples and cleanup README (#454) +- chore(deps): update dependency typedoc to ^0.12.0 (#453) +- chore: move examples => samples + synth (#448) +- chore(deps): update dependency nyc to v13 (#452) +- chore(deps): update dependency pify to v4 (#447) +- chore(deps): update dependency assert-rejects to v1 (#446) +- chore: ignore package-lock.json (#445) +- chore: update renovate config (#442) +- chore(deps): lock file maintenance (#443) +- chore: remove greenkeeper badge (#440) +- test: throw on deprecation +- chore: add intelli-espower-loader for running tests (#430) +- chore(deps): update dependency typescript to v3 (#432) +- chore(deps): lock file maintenance (#431) +- test: use strictEqual in tests (#425) +- chore(deps): lock file maintenance (#428) +- chore: Configure Renovate (#424) +- chore: Update gts to the latest version 🚀 (#422) +- chore: update gcp-metadata for isAvailable fix (#420) +- refactor: use assert.reject in the tests (#415) +- refactor: cleanup types for certificates (#412) +- test: run tests with hard-rejection (#397) +- cleanup: straighten nested try-catch (#394) +- test: getDefaultProjectId should prefer config (#388) +- chore(package): Update gts to the latest version 🚀 (#387) +- chore(package): update sinon to version 6.0.0 (#386) + diff --git a/express-server/node_modules/google-auth-library/LICENSE b/express-server/node_modules/google-auth-library/LICENSE new file mode 100644 index 00000000..b7c9ed18 --- /dev/null +++ b/express-server/node_modules/google-auth-library/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2013 Google Inc. + + 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. diff --git a/express-server/node_modules/google-auth-library/README.md b/express-server/node_modules/google-auth-library/README.md new file mode 100644 index 00000000..41a70b19 --- /dev/null +++ b/express-server/node_modules/google-auth-library/README.md @@ -0,0 +1,378 @@ +Google Inc. logo + +# Google Auth Library + +[![npm version][npmimg]][npm] +[![CircleCI][circle-image]][circle-url] +[![codecov][codecov-image]][codecov-url] +[![Dependencies][david-dm-img]][david-dm] +[![Known Vulnerabilities][snyk-image]][snyk-url] + +This is Google's officially supported [node.js][node] client library for using OAuth 2.0 authorization and authentication with Google APIs. + +## Installation +This library is distributed on `npm`. To add it as a dependency, run the following command: + +``` sh +$ npm install google-auth-library +``` + +## Upgrading to 1.x +The `1.x` release includes a variety of bug fixes, new features, and breaking changes. Please take care, and see [the release notes](https://github.com/google/google-auth-library-nodejs/releases/tag/v1.0.0) for a list of breaking changes, and the upgrade guide. + +## Ways to authenticate +This library provides a variety of ways to authenticate to your Google services. +- [Application Default Credentials](#choosing-the-correct-credential-type-automatically) - Use Application Default Credentials when you use a single identity for all users in your application. Especially useful for applications running on Google Cloud. +- [OAuth 2](#oauth2) - Use OAuth2 when you need to perform actions on behalf of the end user. +- [JSON Web Tokens](#json-web-tokens) - Use JWT when you are using a single identity for all users. Especially useful for server->server or server->API communication. +- [Google Compute](#compute) - Directly use a service account on Google Cloud Platform. Useful for server->server or server->API communication. + +## Application Default Credentials +This library provides an implementation of [Application Default Credentials][] for Node.js. The [Application Default Credentials][] provide a simple way to get authorization credentials for use in calling Google APIs. + +They are best suited for cases when the call needs to have the same identity and authorization level for the application independent of the user. This is the recommended approach to authorize calls to Cloud APIs, particularly when you're building an application that uses Google Cloud Platform. + +#### Download your Service Account Credentials JSON file + +To use `Application Default Credentials`, You first need to download a set of JSON credentials for your project. Go to **APIs & Auth** > **Credentials** in the [Google Developers Console][devconsole] and select **Service account** from the **Add credentials** dropdown. + +> This file is your *only copy* of these credentials. It should never be +> committed with your source code, and should be stored securely. + +Once downloaded, store the path to this file in the `GOOGLE_APPLICATION_CREDENTIALS` environment variable. + +#### Enable the API you want to use + +Before making your API call, you must be sure the API you're calling has been enabled. Go to **APIs & Auth** > **APIs** in the [Google Developers Console][devconsole] and enable the APIs you'd like to call. For the example below, you must enable the `DNS API`. + + +#### Choosing the correct credential type automatically + +Rather than manually creating an OAuth2 client, JWT client, or Compute client, the auth library can create the correct credential type for you, depending upon the environment your code is running under. + +For example, a JWT auth client will be created when your code is running on your local developer machine, and a Compute client will be created when the same code is running on Google Cloud Platform. If you need a specific set of scopes, you can pass those in the form of a string or an array into the `auth.getClient` method. + +The code below shows how to retrieve a default credential type, depending upon the runtime environment. + +```js +const {auth} = require('google-auth-library'); + +/** + * Instead of specifying the type of client you'd like to use (JWT, OAuth2, etc) + * this library will automatically choose the right client based on the environment. + */ +async function main() { + const client = await auth.getClient({ + scopes: 'https://www.googleapis.com/auth/cloud-platform' + }); + const projectId = await auth.getProjectId(); + const url = `https://www.googleapis.com/dns/v1/projects/${projectId}`; + const res = await client.request({ url }); + console.log(res.data); +} + +main().catch(console.error); +``` + +## OAuth2 + +This library comes with an [OAuth2][oauth] client that allows you to retrieve an access token and refreshes the token and retry the request seamlessly if you also provide an `expiry_date` and the token is expired. The basics of Google's OAuth2 implementation is explained on [Google Authorization and Authentication documentation][authdocs]. + +In the following examples, you may need a `CLIENT_ID`, `CLIENT_SECRET` and `REDIRECT_URL`. You can find these pieces of information by going to the [Developer Console][devconsole], clicking your project > APIs & auth > credentials. + +For more information about OAuth2 and how it works, [see here][oauth]. + +#### A complete OAuth2 example + +Let's take a look at a complete example. + +``` js +const {OAuth2Client} = require('google-auth-library'); +const http = require('http'); +const url = require('url'); +const querystring = require('querystring'); +const opn = require('opn'); + +// Download your OAuth2 configuration from the Google +const keys = require('./keys.json'); + +/** + * Start by acquiring a pre-authenticated oAuth2 client. + */ +async function main() { + try { + const oAuth2Client = await getAuthenticatedClient(); + // Make a simple request to the Google Plus API using our pre-authenticated client. The `request()` method + // takes an AxiosRequestConfig object. Visit https://github.com/axios/axios#request-config. + const url = 'https://www.googleapis.com/plus/v1/people?query=pizza'; + const res = await oAuth2Client.request({url}) + console.log(res.data); + } catch (e) { + console.error(e); + } + process.exit(); +} + +/** + * Create a new OAuth2Client, and go through the OAuth2 content + * workflow. Return the full client to the callback. + */ +function getAuthenticatedClient() { + return new Promise((resolve, reject) => { + // create an oAuth client to authorize the API call. Secrets are kept in a `keys.json` file, + // which should be downloaded from the Google Developers Console. + const oAuth2Client = new OAuth2Client( + keys.web.client_id, + keys.web.client_secret, + keys.web.redirect_uris[0] + ); + + // Generate the url that will be used for the consent dialog. + const authorizeUrl = oAuth2Client.generateAuthUrl({ + access_type: 'offline', + scope: 'https://www.googleapis.com/auth/plus.me' + }); + + // Open an http server to accept the oauth callback. In this simple example, the + // only request to our webserver is to /oauth2callback?code= + const server = http.createServer(async (req, res) => { + if (req.url.indexOf('/oauth2callback') > -1) { + // acquire the code from the querystring, and close the web server. + const qs = querystring.parse(url.parse(req.url).query); + console.log(`Code is ${qs.code}`); + res.end('Authentication successful! Please return to the console.'); + server.close(); + + // Now that we have the code, use that to acquire tokens. + const r = await oAuth2Client.getToken(qs.code) + // Make sure to set the credentials on the OAuth2 client. + oAuth2Client.setCredentials(r.tokens); + console.info('Tokens acquired.'); + resolve(oAuth2Client); + } + }).listen(3000, () => { + // open the browser to the authorize url to start the workflow + opn(authorizeUrl); + }); + }); +} + +main(); +``` + +#### Handling token events +This library will automatically obtain an `access_token`, and automatically refresh the `access_token` if a `refresh_token` is present. The `refresh_token` is only returned on the [first authorization](https://github.com/google/google-api-nodejs-client/issues/750#issuecomment-304521450), so if you want to make sure you store it safely. An easy way to make sure you always store the most recent tokens is to use the `tokens` event: + +```js +const client = await auth.getClient(); + +client.on('tokens', (tokens) => { + if (tokens.refresh_token) { + // store the refresh_token in my database! + console.log(tokens.refresh_token); + } + console.log(tokens.access_token); +}); + +const url = `https://www.googleapis.com/dns/v1/projects/${projectId}`; +const res = await client.request({ url }); +// The `tokens` event would now be raised if this was the first request +``` + +#### Retrieve access token +With the code returned, you can ask for an access token as shown below: + +``` js +const tokens = await oauth2Client.getToken(code); +// Now tokens contains an access_token and an optional refresh_token. Save them. +oauth2Client.setCredentials(tokens); +``` + +#### Manually refreshing access token +If you need to manually refresh the `access_token` associated with your OAuth2 client, ensure the call to `generateAuthUrl` sets the `access_type` to `offline`. The refresh token will only be returned for the first authorization by the user. To force consent, set the `prompt` property to `consent`: + +```js +// Generate the url that will be used for the consent dialog. +const authorizeUrl = oAuth2Client.generateAuthUrl({ + // To get a refresh token, you MUST set access_type to `offline`. + access_type: 'offline', + // set the appropriate scopes + scope: 'https://www.googleapis.com/auth/plus.me', + // A refresh token is only returned the first time the user + // consents to providing access. For illustration purposes, + // setting the prompt to 'consent' will force this consent + // every time, forcing a refresh_token to be returned. + prompt: 'consent' +}); +``` + +If a refresh_token is set again on `OAuth2Client.credentials.refresh_token`, you can can `refreshAccessToken()`: + +``` js +const tokens = await oauth2Client.refreshAccessToken(); +// your access_token is now refreshed and stored in oauth2Client +// store these new tokens in a safe place (e.g. database) +``` + +#### Checking `access_token` information +After obtaining and storing an `access_token`, at a later time you may want to go check the expiration date, +original scopes, or audience for the token. To get the token info, you can use the `getTokenInfo` method: + +```js +// after acquiring an oAuth2Client... +const tokenInfo = await oAuth2client.getTokenInfo('my-access-token'); + +// take a look at the scopes originally provisioned for the access token +console.log(tokenInfo.scopes); +``` + +This method will throw if the token is invalid. + +#### OAuth2 with Installed Apps (Electron) +If you're authenticating with OAuth2 from an installed application (like Electron), you may not want to embed your `client_secret` inside of the application sources. To work around this restriction, you can choose the `iOS` application type when creating your OAuth2 credentials in the [Google Developers console][devconsole]: + +![application type][apptype] + +If using the `iOS` type, when creating the OAuth2 client you won't need to pass a `client_secret` into the constructor: +```js +const oAuth2Client = new OAuth2Client({ + clientId: , + redirectUri: +}); +``` + +## JSON Web Tokens +The Google Developers Console provides a `.json` file that you can use to configure a JWT auth client and authenticate your requests, for example when using a service account. + +``` js +const {JWT} = require('google-auth-library'); +const keys = require('./jwt.keys.json'); + +async function main() { + const client = new JWT( + keys.client_email, + null, + keys.private_key, + ['https://www.googleapis.com/auth/cloud-platform'], + ); + await client.authorize(); + const url = `https://www.googleapis.com/dns/v1/projects/${keys.project_id}`; + const res = await client.request({url}); + console.log(res.data); +} + +main().catch(console.error); + +``` + +The parameters for the JWT auth client including how to use it with a `.pem` file are explained in [samples/jwt.js](samples/jwt.js). + +#### Loading credentials from environment variables +Instead of loading credentials from a key file, you can also provide them using an environment variable and the `GoogleAuth.fromJSON()` method. This is particularly convenient for systems that deploy directly from source control (Heroku, App Engine, etc). + +Start by exporting your credentials: + +``` +$ export CREDS='{ + "type": "service_account", + "project_id": "your-project-id", + "private_key_id": "your-private-key-id", + "private_key": "your-private-key", + "client_email": "your-client-email", + "client_id": "your-client-id", + "auth_uri": "https://accounts.google.com/o/oauth2/auth", + "token_uri": "https://accounts.google.com/o/oauth2/token", + "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", + "client_x509_cert_url": "your-cert-url" +}' +``` +Now you can create a new client from the credentials: + +```js +const {auth} = require('google-auth-library'); + +// load the environment variable with our keys +const keysEnvVar = process.env['CREDS']; +if (!keysEnvVar) { + throw new Error('The $CREDS environment variable was not found!'); +} +const keys = JSON.parse(keysEnvVar); + +async function main() { + // load the JWT or UserRefreshClient from the keys + const client = auth.fromJSON(keys); + client.scopes = ['https://www.googleapis.com/auth/cloud-platform']; + await client.authorize(); + const url = `https://www.googleapis.com/dns/v1/projects/${keys.project_id}`; + const res = await client.request({url}); + console.log(res.data); +} + +main().catch(console.error); +``` + +#### Using a Proxy +You can set the `HTTPS_PROXY` or `https_proxy` environment variables to proxy HTTPS requests. When `HTTPS_PROXY` or `https_proxy` are set, they will be used to proxy SSL requests that do not have an explicit proxy configuration option present. + +## Compute +If your application is running on Google Cloud Platform, you can authenticate using the default service account or by specifying a specific service account. + +**Note**: In most cases, you will want to use [Application Default Credentials](#choosing-the-correct-credential-type-automatically). Direct use of the `Compute` class is for very specific scenarios. + +``` js +const {Compute} = require('google-auth-library'); + +async function main() { + const client = new Compute({ + // Specifying the service account email is optional. + serviceAccountEmail: 'my-service-account@example.com' + }); + const projectId = 'your-project-id'; + const url = `https://www.googleapis.com/dns/v1/projects/${project_id}`; + const res = await client.request({url}); + console.log(res.data); +} + +main().catch(console.error); +``` + +## Questions/problems? + +* Ask your development related questions on [Stack Overflow][stackoverflow]. +* If you've found an bug/issue, please [file it on GitHub][bugs]. + +## Contributing + +See [CONTRIBUTING][contributing]. + +## License + +This library is licensed under Apache 2.0. Full license text is available in [LICENSE][copying]. + +[Application Default Credentials]: https://developers.google.com/identity/protocols/application-default-credentials#callingnode +[apptype]: https://user-images.githubusercontent.com/534619/36553844-3f9a863c-17b2-11e8-904a-29f6cd5f807a.png +[authdocs]: https://developers.google.com/accounts/docs/OAuth2Login +[axios]: https://github.com/axios/axios +[axiosOpts]: https://github.com/axios/axios#request-config +[bugs]: https://github.com/google/google-auth-library-nodejs/issues +[circle-image]: https://circleci.com/gh/google/google-auth-library-nodejs.svg?style=svg +[circle-url]: https://circleci.com/gh/google/google-auth-library-nodejs +[codecov-image]: https://codecov.io/gh/google/google-auth-library-nodejs/branch/master/graph/badge.svg +[codecov-url]: https://codecov.io/gh/google/google-auth-library-nodejs +[contributing]: https://github.com/google/google-auth-library-nodejs/blob/master/.github/CONTRIBUTING.md +[copying]: https://github.com/google/google-auth-library-nodejs/tree/master/LICENSE +[david-dm-img]: https://david-dm.org/google/google-auth-library-nodejs/status.svg +[david-dm]: https://david-dm.org/google/google-auth-library-nodejs +[node]: http://nodejs.org/ +[npmimg]: https://img.shields.io/npm/v/google-auth-library.svg +[npm]: https://www.npmjs.org/package/google-auth-library +[oauth]: https://developers.google.com/identity/protocols/OAuth2 +[snyk-image]: https://snyk.io/test/github/google/google-auth-library-nodejs/badge.svg +[snyk-url]: https://snyk.io/test/github/google/google-auth-library-nodejs +[stability]: http://nodejs.org/api/stream.html#stream_stream +[stackoverflow]: http://stackoverflow.com/questions/tagged/google-auth-library-nodejs +[stream]: http://nodejs.org/api/stream.html#stream_class_stream_readable +[devconsole]: https://console.developer.google.com +[options]: https://github.com/google/google-auth-library-nodejs/tree/master#options +[gcloud]: https://github.com/GoogleCloudPlatform/gcloud-node +[cloudplatform]: https://developers.google.com/cloud/ diff --git a/express-server/node_modules/google-auth-library/build/src/auth/authclient.d.ts b/express-server/node_modules/google-auth-library/build/src/auth/authclient.d.ts new file mode 100644 index 00000000..4b3a0a45 --- /dev/null +++ b/express-server/node_modules/google-auth-library/build/src/auth/authclient.d.ts @@ -0,0 +1,35 @@ +/** + * Copyright 2012 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, AxiosRequestConfig } from 'axios'; +import { EventEmitter } from 'events'; +import { DefaultTransporter } from '../transporters'; +import { Credentials } from './credentials'; +export declare interface AuthClient { + on(event: 'tokens', listener: (tokens: Credentials) => void): this; +} +export declare abstract class AuthClient extends EventEmitter { + transporter: DefaultTransporter; + credentials: Credentials; + /** + * Provides an alternative Axios request implementation with auth credentials + */ + abstract request(opts: AxiosRequestConfig): AxiosPromise; + /** + * Sets the auth credentials. + */ + setCredentials(credentials: Credentials): void; +} diff --git a/express-server/node_modules/google-auth-library/build/src/auth/authclient.js b/express-server/node_modules/google-auth-library/build/src/auth/authclient.js new file mode 100644 index 00000000..dbc60a65 --- /dev/null +++ b/express-server/node_modules/google-auth-library/build/src/auth/authclient.js @@ -0,0 +1,34 @@ +"use strict"; +/** + * Copyright 2012 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const events_1 = require("events"); +const transporters_1 = require("../transporters"); +class AuthClient extends events_1.EventEmitter { + constructor() { + super(...arguments); + this.transporter = new transporters_1.DefaultTransporter(); + this.credentials = {}; + } + /** + * Sets the auth credentials. + */ + setCredentials(credentials) { + this.credentials = credentials; + } +} +exports.AuthClient = AuthClient; +//# sourceMappingURL=authclient.js.map \ No newline at end of file diff --git a/express-server/node_modules/google-auth-library/build/src/auth/authclient.js.map b/express-server/node_modules/google-auth-library/build/src/auth/authclient.js.map new file mode 100644 index 00000000..5581ad90 --- /dev/null +++ b/express-server/node_modules/google-auth-library/build/src/auth/authclient.js.map @@ -0,0 +1 @@ +{"version":3,"file":"authclient.js","sourceRoot":"","sources":["../../../src/auth/authclient.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAGH,mCAAoC;AAEpC,kDAAmD;AAQnD,MAAsB,UAAW,SAAQ,qBAAY;IAArD;;QACE,gBAAW,GAAG,IAAI,iCAAkB,EAAE,CAAC;QACvC,gBAAW,GAAgB,EAAE,CAAC;IAahC,CAAC;IANC;;OAEG;IACH,cAAc,CAAC,WAAwB;QACrC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;CACF;AAfD,gCAeC"} \ No newline at end of file diff --git a/express-server/node_modules/google-auth-library/build/src/auth/computeclient.d.ts b/express-server/node_modules/google-auth-library/build/src/auth/computeclient.d.ts new file mode 100644 index 00000000..6b9fcf47 --- /dev/null +++ b/express-server/node_modules/google-auth-library/build/src/auth/computeclient.d.ts @@ -0,0 +1,47 @@ +/** + * Copyright 2013 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, AxiosRequestConfig } from 'axios'; +import { GetTokenResponse, OAuth2Client, RefreshOptions } from './oauth2client'; +export interface ComputeOptions extends RefreshOptions { + /** + * The service account email to use, or 'default'. A Compute Engine instance + * may have multiple service accounts. + */ + serviceAccountEmail?: string; +} +export declare class Compute extends OAuth2Client { + private serviceAccountEmail; + /** + * Google Compute Engine service account credentials. + * + * Retrieve access token from the metadata server. + * See: https://developers.google.com/compute/docs/authentication + */ + constructor(options?: ComputeOptions); + /** + * Indicates whether the credential requires scopes to be created by calling + * createdScoped before use. + * @deprecated + * @return Boolean indicating if scope is required. + */ + createScopedRequired(): boolean; + /** + * Refreshes the access token. + * @param refreshToken Unused parameter + */ + protected refreshTokenNoCache(refreshToken?: string | null): Promise; + protected requestAsync(opts: AxiosRequestConfig, retry?: boolean): AxiosPromise; +} diff --git a/express-server/node_modules/google-auth-library/build/src/auth/computeclient.js b/express-server/node_modules/google-auth-library/build/src/auth/computeclient.js new file mode 100644 index 00000000..77a9de4b --- /dev/null +++ b/express-server/node_modules/google-auth-library/build/src/auth/computeclient.js @@ -0,0 +1,116 @@ +"use strict"; +/** + * Copyright 2013 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. + */ +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const gcpMetadata = require("gcp-metadata"); +const messages = require("../messages"); +const oauth2client_1 = require("./oauth2client"); +class Compute extends oauth2client_1.OAuth2Client { + /** + * Google Compute Engine service account credentials. + * + * Retrieve access token from the metadata server. + * See: https://developers.google.com/compute/docs/authentication + */ + constructor(options = {}) { + super(options); + // Start with an expired refresh token, which will automatically be + // refreshed before the first API call is made. + this.credentials = { expiry_date: 1, refresh_token: 'compute-placeholder' }; + this.serviceAccountEmail = options.serviceAccountEmail || 'default'; + } + /** + * Indicates whether the credential requires scopes to be created by calling + * createdScoped before use. + * @deprecated + * @return Boolean indicating if scope is required. + */ + createScopedRequired() { + // On compute engine, scopes are specified at the compute instance's + // creation time, and cannot be changed. For this reason, always return + // false. + messages.warn(messages.COMPUTE_CREATE_SCOPED_DEPRECATED); + return false; + } + /** + * Refreshes the access token. + * @param refreshToken Unused parameter + */ + refreshTokenNoCache(refreshToken) { + return __awaiter(this, void 0, void 0, function* () { + const tokenPath = `service-accounts/${this.serviceAccountEmail}/token`; + let res; + try { + res = yield gcpMetadata.instance(tokenPath); + } + catch (e) { + e.message = 'Could not refresh access token.'; + throw e; + } + const tokens = res.data; + if (res.data && res.data.expires_in) { + tokens.expiry_date = + ((new Date()).getTime() + (res.data.expires_in * 1000)); + delete tokens.expires_in; + } + this.emit('tokens', tokens); + return { tokens, res }; + }); + } + requestAsync(opts, retry = false) { + return super.requestAsync(opts, retry).catch(e => { + const res = e.response; + if (res && res.status) { + let helpfulMessage = null; + if (res.status === 403) { + helpfulMessage = + 'A Forbidden error was returned while attempting to retrieve an access ' + + 'token for the Compute Engine built-in service account. This may be because the Compute ' + + 'Engine instance does not have the correct permission scopes specified.'; + } + else if (res.status === 404) { + helpfulMessage = + 'A Not Found error was returned while attempting to retrieve an access' + + 'token for the Compute Engine built-in service account. This may be because the Compute ' + + 'Engine instance does not have any permission scopes specified.'; + } + if (helpfulMessage) { + if (e && e.message && !retry) { + helpfulMessage += ' ' + e.message; + } + if (e) { + e.message = helpfulMessage; + } + else { + e = new Error(helpfulMessage); + e.code = res.status.toString(); + } + } + } + throw e; + }); + } +} +exports.Compute = Compute; +//# sourceMappingURL=computeclient.js.map \ No newline at end of file diff --git a/express-server/node_modules/google-auth-library/build/src/auth/computeclient.js.map b/express-server/node_modules/google-auth-library/build/src/auth/computeclient.js.map new file mode 100644 index 00000000..9a9a4d0f --- /dev/null +++ b/express-server/node_modules/google-auth-library/build/src/auth/computeclient.js.map @@ -0,0 +1 @@ +{"version":3,"file":"computeclient.js","sourceRoot":"","sources":["../../../src/auth/computeclient.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;AAGH,4CAA4C;AAC5C,wCAAwC;AAExC,iDAA8E;AAU9E,MAAa,OAAQ,SAAQ,2BAAY;IAGvC;;;;;OAKG;IACH,YAAY,UAA0B,EAAE;QACtC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,mEAAmE;QACnE,+CAA+C;QAC/C,IAAI,CAAC,WAAW,GAAG,EAAC,WAAW,EAAE,CAAC,EAAE,aAAa,EAAE,qBAAqB,EAAC,CAAC;QAC1E,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,IAAI,SAAS,CAAC;IACtE,CAAC;IAED;;;;;OAKG;IACH,oBAAoB;QAClB,oEAAoE;QACpE,uEAAuE;QACvE,SAAS;QACT,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC;QACzD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;OAGG;IACa,mBAAmB,CAAC,YACI;;YACtC,MAAM,SAAS,GAAG,oBAAoB,IAAI,CAAC,mBAAmB,QAAQ,CAAC;YACvE,IAAI,GAAqC,CAAC;YAC1C,IAAI;gBACF,GAAG,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;aAC7C;YAAC,OAAO,CAAC,EAAE;gBACV,CAAC,CAAC,OAAO,GAAG,iCAAiC,CAAC;gBAC9C,MAAM,CAAC,CAAC;aACT;YACD,MAAM,MAAM,GAAG,GAAG,CAAC,IAAmB,CAAC;YACvC,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE;gBACnC,MAAM,CAAC,WAAW;oBACd,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC;gBAC5D,OAAQ,MAA4B,CAAC,UAAU,CAAC;aACjD;YACD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC5B,OAAO,EAAC,MAAM,EAAE,GAAG,EAAC,CAAC;QACvB,CAAC;KAAA;IAES,YAAY,CAAI,IAAwB,EAAE,KAAK,GAAG,KAAK;QAE/D,OAAO,KAAK,CAAC,YAAY,CAAI,IAAI,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YAClD,MAAM,GAAG,GAAI,CAAgB,CAAC,QAAQ,CAAC;YACvC,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE;gBACrB,IAAI,cAAc,GAAG,IAAI,CAAC;gBAC1B,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;oBACtB,cAAc;wBACV,wEAAwE;4BACxE,yFAAyF;4BACzF,wEAAwE,CAAC;iBAC9E;qBAAM,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;oBAC7B,cAAc;wBACV,uEAAuE;4BACvE,yFAAyF;4BACzF,gEAAgE,CAAC;iBACtE;gBACD,IAAI,cAAc,EAAE;oBAClB,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE;wBAC5B,cAAc,IAAI,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC;qBACnC;oBACD,IAAI,CAAC,EAAE;wBACL,CAAC,CAAC,OAAO,GAAG,cAAc,CAAC;qBAC5B;yBAAM;wBACL,CAAC,GAAG,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;wBAC7B,CAA2B,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;qBAC3D;iBACF;aACF;YACD,MAAM,CAAC,CAAC;QACV,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAvFD,0BAuFC"} \ No newline at end of file diff --git a/express-server/node_modules/google-auth-library/build/src/auth/credentials.d.ts b/express-server/node_modules/google-auth-library/build/src/auth/credentials.d.ts new file mode 100644 index 00000000..d0d0034a --- /dev/null +++ b/express-server/node_modules/google-auth-library/build/src/auth/credentials.d.ts @@ -0,0 +1,43 @@ +/** + * Copyright 2014 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. + */ +export interface Credentials { + refresh_token?: string | null; + expiry_date?: number | null; + access_token?: string | null; + token_type?: string | null; + id_token?: string | null; +} +export interface CredentialRequest { + refresh_token?: string; + access_token?: string; + token_type?: string; + expires_in?: number; + id_token?: string; +} +export interface JWTInput { + type?: string; + client_email?: string; + private_key?: string; + private_key_id?: string; + project_id?: string; + client_id?: string; + client_secret?: string; + refresh_token?: string; +} +export interface CredentialBody { + client_email?: string; + private_key?: string; +} diff --git a/express-server/node_modules/google-auth-library/build/src/auth/credentials.js b/express-server/node_modules/google-auth-library/build/src/auth/credentials.js new file mode 100644 index 00000000..0808ef6d --- /dev/null +++ b/express-server/node_modules/google-auth-library/build/src/auth/credentials.js @@ -0,0 +1,18 @@ +"use strict"; +/** + * Copyright 2014 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=credentials.js.map \ No newline at end of file diff --git a/express-server/node_modules/google-auth-library/build/src/auth/credentials.js.map b/express-server/node_modules/google-auth-library/build/src/auth/credentials.js.map new file mode 100644 index 00000000..7151fbf4 --- /dev/null +++ b/express-server/node_modules/google-auth-library/build/src/auth/credentials.js.map @@ -0,0 +1 @@ +{"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../../src/auth/credentials.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG"} \ No newline at end of file diff --git a/express-server/node_modules/google-auth-library/build/src/auth/envDetect.d.ts b/express-server/node_modules/google-auth-library/build/src/auth/envDetect.d.ts new file mode 100644 index 00000000..cc6a6d0e --- /dev/null +++ b/express-server/node_modules/google-auth-library/build/src/auth/envDetect.d.ts @@ -0,0 +1,24 @@ +/** + * Copyright 2018 Google LLC. 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. + */ +export declare enum GCPEnv { + APP_ENGINE = "APP_ENGINE", + KUBERNETES_ENGINE = "KUBERNETES_ENGINE", + CLOUD_FUNCTIONS = "CLOUD_FUNCTIONS", + COMPUTE_ENGINE = "COMPUTE_ENGINE", + NONE = "NONE" +} +export declare function clear(): void; +export declare function getEnv(): Promise; diff --git a/express-server/node_modules/google-auth-library/build/src/auth/envDetect.js b/express-server/node_modules/google-auth-library/build/src/auth/envDetect.js new file mode 100644 index 00000000..a556fb2a --- /dev/null +++ b/express-server/node_modules/google-auth-library/build/src/auth/envDetect.js @@ -0,0 +1,85 @@ +"use strict"; +/** + * Copyright 2018 Google LLC. 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. + */ +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const gcpMetadata = require("gcp-metadata"); +var GCPEnv; +(function (GCPEnv) { + GCPEnv["APP_ENGINE"] = "APP_ENGINE"; + GCPEnv["KUBERNETES_ENGINE"] = "KUBERNETES_ENGINE"; + GCPEnv["CLOUD_FUNCTIONS"] = "CLOUD_FUNCTIONS"; + GCPEnv["COMPUTE_ENGINE"] = "COMPUTE_ENGINE"; + GCPEnv["NONE"] = "NONE"; +})(GCPEnv = exports.GCPEnv || (exports.GCPEnv = {})); +let env; +function clear() { + env = undefined; +} +exports.clear = clear; +function getEnv() { + return __awaiter(this, void 0, void 0, function* () { + if (!env) { + if (isAppEngine()) { + env = GCPEnv.APP_ENGINE; + } + else if (isCloudFunction()) { + env = GCPEnv.CLOUD_FUNCTIONS; + } + else if (yield isKubernetesEngine()) { + env = GCPEnv.KUBERNETES_ENGINE; + } + else if (yield isComputeEngine()) { + env = GCPEnv.COMPUTE_ENGINE; + } + else { + env = GCPEnv.NONE; + } + } + return env; + }); +} +exports.getEnv = getEnv; +function isAppEngine() { + return !!(process.env.GAE_SERVICE || process.env.GAE_MODULE_NAME); +} +function isCloudFunction() { + return !!process.env.FUNCTION_NAME; +} +function isKubernetesEngine() { + return __awaiter(this, void 0, void 0, function* () { + try { + yield gcpMetadata.instance('attributes/cluster-name'); + return true; + } + catch (e) { + return false; + } + }); +} +function isComputeEngine() { + return __awaiter(this, void 0, void 0, function* () { + return gcpMetadata.isAvailable(); + }); +} +//# sourceMappingURL=envDetect.js.map \ No newline at end of file diff --git a/express-server/node_modules/google-auth-library/build/src/auth/envDetect.js.map b/express-server/node_modules/google-auth-library/build/src/auth/envDetect.js.map new file mode 100644 index 00000000..0a9c7a1f --- /dev/null +++ b/express-server/node_modules/google-auth-library/build/src/auth/envDetect.js.map @@ -0,0 +1 @@ +{"version":3,"file":"envDetect.js","sourceRoot":"","sources":["../../../src/auth/envDetect.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;AAEH,4CAA4C;AAE5C,IAAY,MAMX;AAND,WAAY,MAAM;IAChB,mCAAyB,CAAA;IACzB,iDAAuC,CAAA;IACvC,6CAAmC,CAAA;IACnC,2CAAiC,CAAA;IACjC,uBAAa,CAAA;AACf,CAAC,EANW,MAAM,GAAN,cAAM,KAAN,cAAM,QAMjB;AAED,IAAI,GAAqB,CAAC;AAE1B,SAAgB,KAAK;IACnB,GAAG,GAAG,SAAS,CAAC;AAClB,CAAC;AAFD,sBAEC;AAED,SAAsB,MAAM;;QAC1B,IAAI,CAAC,GAAG,EAAE;YACR,IAAI,WAAW,EAAE,EAAE;gBACjB,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC;aACzB;iBAAM,IAAI,eAAe,EAAE,EAAE;gBAC5B,GAAG,GAAG,MAAM,CAAC,eAAe,CAAC;aAC9B;iBAAM,IAAI,MAAM,kBAAkB,EAAE,EAAE;gBACrC,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC;aAChC;iBAAM,IAAI,MAAM,eAAe,EAAE,EAAE;gBAClC,GAAG,GAAG,MAAM,CAAC,cAAc,CAAC;aAC7B;iBAAM;gBACL,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC;aACnB;SACF;QACD,OAAO,GAAG,CAAC;IACb,CAAC;CAAA;AAfD,wBAeC;AAED,SAAS,WAAW;IAClB,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,eAAe;IACtB,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;AACrC,CAAC;AAED,SAAe,kBAAkB;;QAC/B,IAAI;YACF,MAAM,WAAW,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;YACtD,OAAO,IAAI,CAAC;SACb;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,KAAK,CAAC;SACd;IACH,CAAC;CAAA;AAED,SAAe,eAAe;;QAC5B,OAAO,WAAW,CAAC,WAAW,EAAE,CAAC;IACnC,CAAC;CAAA"} \ No newline at end of file diff --git a/express-server/node_modules/google-auth-library/build/src/auth/googleauth.d.ts b/express-server/node_modules/google-auth-library/build/src/auth/googleauth.d.ts new file mode 100644 index 00000000..4f5e7523 --- /dev/null +++ b/express-server/node_modules/google-auth-library/build/src/auth/googleauth.d.ts @@ -0,0 +1,272 @@ +/** + * Copyright 2014 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 { AxiosRequestConfig, AxiosResponse } from 'axios'; +import * as fs from 'fs'; +import * as stream from 'stream'; +import { DefaultTransporter, Transporter } from '../transporters'; +import { Compute } from './computeclient'; +import { CredentialBody, JWTInput } from './credentials'; +import { GCPEnv } from './envDetect'; +import { JWT } from './jwtclient'; +import { Headers, OAuth2Client, RefreshOptions } from './oauth2client'; +import { UserRefreshClient } from './refreshclient'; +export interface ProjectIdCallback { + (err?: Error | null, projectId?: string | null): void; +} +export interface CredentialCallback { + (err: Error | null, result?: UserRefreshClient | JWT): void; +} +export interface ADCCallback { + (err: Error | null, credential?: OAuth2Client, projectId?: string | null): void; +} +export interface ADCResponse { + credential: OAuth2Client; + projectId: string | null; +} +export interface GoogleAuthOptions { + /** + * Path to a .json, .pem, or .p12 key file + */ + keyFilename?: string; + /** + * Path to a .json, .pem, or .p12 key file + */ + keyFile?: string; + /** + * Object containing client_email and private_key properties + */ + credentials?: CredentialBody; + /** + * Required scopes for the desired API request + */ + scopes?: string | string[]; + /** + * Your project ID. + */ + projectId?: string; +} +export declare const CLOUD_SDK_CLIENT_ID = "764086051850-6qr4p6gpi6hn506pt8ejuq83di341hur.apps.googleusercontent.com"; +export declare class GoogleAuth { + transporter?: Transporter; + /** + * Caches a value indicating whether the auth layer is running on Google + * Compute Engine. + * @private + */ + private checkIsGCE?; + readonly isGCE: boolean | undefined; + private _getDefaultProjectIdPromise?; + private _cachedProjectId?; + jsonContent: JWTInput | null; + cachedCredential: JWT | UserRefreshClient | Compute | null; + private keyFilename?; + private scopes?; + /** + * Export DefaultTransporter as a static property of the class. + */ + static DefaultTransporter: typeof DefaultTransporter; + constructor(opts?: GoogleAuthOptions); + /** + * THIS METHOD HAS BEEN DEPRECATED. + * It will be removed in 3.0. Please use getProjectId instead. + */ + getDefaultProjectId(): Promise; + getDefaultProjectId(callback: ProjectIdCallback): void; + /** + * Obtains the default project ID for the application. + * @param callback Optional callback + * @returns Promise that resolves with project Id (if used without callback) + */ + getProjectId(): Promise; + getProjectId(callback: ProjectIdCallback): void; + private getProjectIdAsync; + /** + * Obtains the default service-level credentials for the application. + * @param callback Optional callback. + * @returns Promise that resolves with the ADCResponse (if no callback was + * passed). + */ + getApplicationDefault(): Promise; + getApplicationDefault(callback: ADCCallback): void; + getApplicationDefault(options: RefreshOptions): Promise; + getApplicationDefault(options: RefreshOptions, callback: ADCCallback): void; + private getApplicationDefaultAsync; + /** + * Determines whether the auth layer is running on Google Compute Engine. + * @returns A promise that resolves with the boolean. + * @api private + */ + _checkIsGCE(): Promise; + /** + * Attempts to load default credentials from the environment variable path.. + * @returns Promise that resolves with the OAuth2Client or null. + * @api private + */ + _tryGetApplicationCredentialsFromEnvironmentVariable(options?: RefreshOptions): Promise; + /** + * Attempts to load default credentials from a well-known file location + * @return Promise that resolves with the OAuth2Client or null. + * @api private + */ + _tryGetApplicationCredentialsFromWellKnownFile(options?: RefreshOptions): Promise; + /** + * Attempts to load default credentials from a file at the given path.. + * @param filePath The path to the file to read. + * @returns Promise that resolves with the OAuth2Client + * @api private + */ + _getApplicationCredentialsFromFilePath(filePath: string, options?: RefreshOptions): Promise; + /** + * Credentials from the Cloud SDK that are associated with Cloud SDK's project + * are problematic because they may not have APIs enabled and have limited + * quota. If this is the case, warn about it. + */ + protected warnOnProblematicCredentials(client: JWT): void; + /** + * Create a credentials instance using the given input options. + * @param json The input object. + * @returns JWT or UserRefresh Client with data + */ + fromJSON(json: JWTInput, options?: RefreshOptions): JWT | UserRefreshClient; + /** + * Create a credentials instance using the given input stream. + * @param inputStream The input stream. + * @param callback Optional callback. + */ + fromStream(inputStream: stream.Readable): Promise; + fromStream(inputStream: stream.Readable, callback: CredentialCallback): void; + fromStream(inputStream: stream.Readable, options: RefreshOptions): Promise; + fromStream(inputStream: stream.Readable, options: RefreshOptions, callback: CredentialCallback): void; + private fromStreamAsync; + /** + * Create a credentials instance using the given API key string. + * @param apiKey The API key string + * @param options An optional options object. + * @returns A JWT loaded from the key + */ + fromAPIKey(apiKey: string, options?: RefreshOptions): JWT; + /** + * Determines whether the current operating system is Windows. + * @api private + */ + private _isWindows; + /** + * Creates a file stream. Allows mocking. + * @api private + */ + _createReadStream(filePath: string): fs.ReadStream; + /** + * Gets the current operating system platform. Allows mocking. + * @api private + */ + _osPlatform(): NodeJS.Platform; + /** + * Determines whether a file exists. Allows mocking. + * @api private + */ + _fileExists(filePath: string): boolean; + /** + * Joins two parts of a path. Allows mocking. + * @api private + */ + _pathJoin(item1: string, item2: string): string; + /** + * Allows mocking of the path to a well-known file. + * @api private + */ + _mockWellKnownFilePath(filePath: string): string; + private createError; + /** + * Run the Google Cloud SDK command that prints the default project ID + */ + private getDefaultServiceProjectId; + /** + * Loads the project id from environment variables. + * @api private + */ + private getProductionProjectId; + /** + * Loads the project id from the GOOGLE_APPLICATION_CREDENTIALS json file. + * @api private + */ + private getFileProjectId; + /** + * Gets the Compute Engine project ID if it can be inferred. + */ + private getGCEProjectId; + /** + * The callback function handles a credential object that contains the + * client_email and private_key (if exists). + * getCredentials checks for these values from the user JSON at first. + * If it doesn't exist, and the environment is on GCE, it gets the + * client_email from the cloud metadata server. + * @param callback Callback that handles the credential object that contains + * a client_email and optional private key, or the error. + * returned + */ + getCredentials(): Promise; + getCredentials(callback: (err: Error | null, credentials?: CredentialBody) => void): void; + private getCredentialsAsync; + /** + * Automatically obtain a client based on the provided configuration. If no + * options were passed, use Application Default Credentials. + */ + getClient(options?: GoogleAuthOptions): Promise; + /** + * Automatically obtain application default credentials, and return + * an access token for making requests. + */ + getAccessToken(): Promise; + /** + * Obtain the HTTP headers that will provide authorization for a given + * request. + */ + getRequestHeaders(url?: string): Promise; + /** + * Obtain credentials for a request, then attach the appropriate headers to + * the request options. + * @param opts Axios or Request options on which to attach the headers + */ + authorizeRequest(opts: { + url?: string; + uri?: string; + headers?: Headers; + }): Promise<{ + url?: string | undefined; + uri?: string | undefined; + headers?: Headers | undefined; + }>; + /** + * Automatically obtain application default credentials, and make an + * HTTP request using the given options. + * @param opts Axios request options for the HTTP request. + */ + request(opts: AxiosRequestConfig): Promise>; + /** + * Determine the compute environment in which the code is running. + */ + getEnv(): Promise; + /** + * Sign the given data with the current private key, or go out + * to the IAM API to sign it. + * @param data The data to be signed. + */ + sign(data: string): Promise; +} +export interface SignBlobResponse { + signature: string; +} diff --git a/express-server/node_modules/google-auth-library/build/src/auth/googleauth.js b/express-server/node_modules/google-auth-library/build/src/auth/googleauth.js new file mode 100644 index 00000000..3bc2a9f3 --- /dev/null +++ b/express-server/node_modules/google-auth-library/build/src/auth/googleauth.js @@ -0,0 +1,641 @@ +"use strict"; +/** + * Copyright 2014 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. + */ +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const child_process_1 = require("child_process"); +const crypto = require("crypto"); +const fs = require("fs"); +const gcpMetadata = require("gcp-metadata"); +const os = require("os"); +const path = require("path"); +const util = require("util"); +const messages = require("../messages"); +const transporters_1 = require("../transporters"); +const computeclient_1 = require("./computeclient"); +const envDetect_1 = require("./envDetect"); +const jwtclient_1 = require("./jwtclient"); +const refreshclient_1 = require("./refreshclient"); +exports.CLOUD_SDK_CLIENT_ID = '764086051850-6qr4p6gpi6hn506pt8ejuq83di341hur.apps.googleusercontent.com'; +class GoogleAuth { + constructor(opts) { + /** + * Caches a value indicating whether the auth layer is running on Google + * Compute Engine. + * @private + */ + this.checkIsGCE = undefined; + // To save the contents of the JSON credential file + this.jsonContent = null; + this.cachedCredential = null; + opts = opts || {}; + this._cachedProjectId = opts.projectId || null; + this.keyFilename = opts.keyFilename || opts.keyFile; + this.scopes = opts.scopes; + this.jsonContent = opts.credentials || null; + } + // Note: this properly is only public to satisify unit tests. + // https://github.com/Microsoft/TypeScript/issues/5228 + get isGCE() { + return this.checkIsGCE; + } + getDefaultProjectId(callback) { + messages.warn(messages.DEFAULT_PROJECT_ID_DEPRECATED); + if (callback) { + this.getProjectIdAsync().then(r => callback(null, r), callback); + } + else { + return this.getProjectIdAsync(); + } + } + getProjectId(callback) { + if (callback) { + this.getProjectIdAsync().then(r => callback(null, r), callback); + } + else { + return this.getProjectIdAsync(); + } + } + getProjectIdAsync() { + if (this._cachedProjectId) { + return Promise.resolve(this._cachedProjectId); + } + // In implicit case, supports three environments. In order of precedence, + // the implicit environments are: + // - GCLOUD_PROJECT or GOOGLE_CLOUD_PROJECT environment variable + // - GOOGLE_APPLICATION_CREDENTIALS JSON file + // - Cloud SDK: `gcloud config config-helper --format json` + // - GCE project ID from metadata server) + if (!this._getDefaultProjectIdPromise) { + this._getDefaultProjectIdPromise = + new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { + try { + const projectId = this.getProductionProjectId() || + (yield this.getFileProjectId()) || + (yield this.getDefaultServiceProjectId()) || + (yield this.getGCEProjectId()); + this._cachedProjectId = projectId; + resolve(projectId); + } + catch (e) { + reject(e); + } + })); + } + return this._getDefaultProjectIdPromise; + } + getApplicationDefault(optionsOrCallback = {}, callback) { + let options; + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + } + else { + options = optionsOrCallback; + } + if (callback) { + this.getApplicationDefaultAsync(options).then(r => callback(null, r.credential, r.projectId), callback); + } + else { + return this.getApplicationDefaultAsync(options); + } + } + getApplicationDefaultAsync(options) { + return __awaiter(this, void 0, void 0, function* () { + // If we've already got a cached credential, just return it. + if (this.cachedCredential) { + return { + credential: this.cachedCredential, + projectId: yield this.getProjectIdAsync() + }; + } + let credential; + let projectId; + // Check for the existence of a local environment variable pointing to the + // location of the credential file. This is typically used in local + // developer scenarios. + credential = + yield this._tryGetApplicationCredentialsFromEnvironmentVariable(options); + if (credential) { + if (credential instanceof jwtclient_1.JWT) { + credential.scopes = this.scopes; + } + this.cachedCredential = credential; + projectId = yield this.getProjectId(); + return { credential, projectId }; + } + // Look in the well-known credential file location. + credential = + yield this._tryGetApplicationCredentialsFromWellKnownFile(options); + if (credential) { + if (credential instanceof jwtclient_1.JWT) { + credential.scopes = this.scopes; + } + this.cachedCredential = credential; + projectId = yield this.getProjectId(); + return { credential, projectId }; + } + // Determine if we're running on GCE. + let isGCE; + try { + isGCE = yield this._checkIsGCE(); + } + catch (e) { + throw new Error('Unexpected error determining execution environment: ' + e.message); + } + if (!isGCE) { + // We failed to find the default credentials. Bail out with an error. + throw new Error('Could not load the default credentials. Browse to https://developers.google.com/accounts/docs/application-default-credentials for more information.'); + } + // For GCE, just return a default ComputeClient. It will take care of + // the rest. + this.cachedCredential = new computeclient_1.Compute(options); + projectId = yield this.getProjectId(); + return { projectId, credential: this.cachedCredential }; + }); + } + /** + * Determines whether the auth layer is running on Google Compute Engine. + * @returns A promise that resolves with the boolean. + * @api private + */ + _checkIsGCE() { + return __awaiter(this, void 0, void 0, function* () { + if (this.checkIsGCE === undefined) { + this.checkIsGCE = yield gcpMetadata.isAvailable(); + } + return this.checkIsGCE; + }); + } + /** + * Attempts to load default credentials from the environment variable path.. + * @returns Promise that resolves with the OAuth2Client or null. + * @api private + */ + _tryGetApplicationCredentialsFromEnvironmentVariable(options) { + return __awaiter(this, void 0, void 0, function* () { + const credentialsPath = process.env['GOOGLE_APPLICATION_CREDENTIALS']; + if (!credentialsPath || credentialsPath.length === 0) { + return null; + } + try { + return this._getApplicationCredentialsFromFilePath(credentialsPath, options); + } + catch (e) { + throw this.createError('Unable to read the credential file specified by the GOOGLE_APPLICATION_CREDENTIALS environment variable.', e); + } + }); + } + /** + * Attempts to load default credentials from a well-known file location + * @return Promise that resolves with the OAuth2Client or null. + * @api private + */ + _tryGetApplicationCredentialsFromWellKnownFile(options) { + return __awaiter(this, void 0, void 0, function* () { + // First, figure out the location of the file, depending upon the OS type. + let location = null; + if (this._isWindows()) { + // Windows + location = process.env['APPDATA']; + } + else { + // Linux or Mac + const home = process.env['HOME']; + if (home) { + location = this._pathJoin(home, '.config'); + } + } + // If we found the root path, expand it. + if (location) { + location = this._pathJoin(location, 'gcloud'); + location = + this._pathJoin(location, 'application_default_credentials.json'); + location = this._mockWellKnownFilePath(location); + // Check whether the file exists. + if (!this._fileExists(location)) { + location = null; + } + } + // The file does not exist. + if (!location) { + return null; + } + // The file seems to exist. Try to use it. + const client = yield this._getApplicationCredentialsFromFilePath(location, options); + this.warnOnProblematicCredentials(client); + return client; + }); + } + /** + * Attempts to load default credentials from a file at the given path.. + * @param filePath The path to the file to read. + * @returns Promise that resolves with the OAuth2Client + * @api private + */ + _getApplicationCredentialsFromFilePath(filePath, options = {}) { + return __awaiter(this, void 0, void 0, function* () { + // Make sure the path looks like a string. + if (!filePath || filePath.length === 0) { + throw new Error('The file path is invalid.'); + } + // Make sure there is a file at the path. lstatSync will throw if there is + // nothing there. + try { + // Resolve path to actual file in case of symlink. Expect a thrown error + // if not resolvable. + filePath = fs.realpathSync(filePath); + if (!fs.lstatSync(filePath).isFile()) { + throw new Error(); + } + } + catch (err) { + throw this.createError(util.format('The file at %s does not exist, or it is not a file.', filePath), err); + } + // Now open a read stream on the file, and parse it. + try { + const readStream = this._createReadStream(filePath); + return this.fromStream(readStream, options); + } + catch (err) { + throw this.createError(util.format('Unable to read the file at %s.', filePath), err); + } + }); + } + /** + * Credentials from the Cloud SDK that are associated with Cloud SDK's project + * are problematic because they may not have APIs enabled and have limited + * quota. If this is the case, warn about it. + */ + warnOnProblematicCredentials(client) { + if (client.email === exports.CLOUD_SDK_CLIENT_ID) { + messages.warn(messages.PROBLEMATIC_CREDENTIALS_WARNING); + } + } + /** + * Create a credentials instance using the given input options. + * @param json The input object. + * @returns JWT or UserRefresh Client with data + */ + fromJSON(json, options) { + let client; + if (!json) { + throw new Error('Must pass in a JSON object containing the Google auth settings.'); + } + this.jsonContent = json; + options = options || {}; + if (json.type === 'authorized_user') { + client = new refreshclient_1.UserRefreshClient(options); + } + else { + options.scopes = this.scopes; + client = new jwtclient_1.JWT(options); + } + client.fromJSON(json); + return client; + } + fromStream(inputStream, optionsOrCallback = {}, callback) { + let options = {}; + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + } + else { + options = optionsOrCallback; + } + if (callback) { + this.fromStreamAsync(inputStream, options) + .then(r => callback(null, r), callback); + } + else { + return this.fromStreamAsync(inputStream, options); + } + } + fromStreamAsync(inputStream, options) { + return new Promise((resolve, reject) => { + if (!inputStream) { + throw new Error('Must pass in a stream containing the Google auth settings.'); + } + let s = ''; + inputStream.setEncoding('utf8') + .on('error', reject) + .on('data', (chunk) => s += chunk) + .on('end', () => { + try { + const data = JSON.parse(s); + const r = this.fromJSON(data, options); + return resolve(r); + } + catch (err) { + return reject(err); + } + }); + }); + } + /** + * Create a credentials instance using the given API key string. + * @param apiKey The API key string + * @param options An optional options object. + * @returns A JWT loaded from the key + */ + fromAPIKey(apiKey, options) { + options = options || {}; + const client = new jwtclient_1.JWT(options); + client.fromAPIKey(apiKey); + return client; + } + /** + * Determines whether the current operating system is Windows. + * @api private + */ + _isWindows() { + const sys = this._osPlatform(); + if (sys && sys.length >= 3) { + if (sys.substring(0, 3).toLowerCase() === 'win') { + return true; + } + } + return false; + } + /** + * Creates a file stream. Allows mocking. + * @api private + */ + _createReadStream(filePath) { + return fs.createReadStream(filePath); + } + /** + * Gets the current operating system platform. Allows mocking. + * @api private + */ + _osPlatform() { + return os.platform(); + } + /** + * Determines whether a file exists. Allows mocking. + * @api private + */ + _fileExists(filePath) { + return fs.existsSync(filePath); + } + /** + * Joins two parts of a path. Allows mocking. + * @api private + */ + _pathJoin(item1, item2) { + return path.join(item1, item2); + } + /** + * Allows mocking of the path to a well-known file. + * @api private + */ + _mockWellKnownFilePath(filePath) { + return filePath; + } + // Creates an Error containing the given message, and includes the message + // from the optional err passed in. + createError(message, err) { + let s = message || ''; + if (err) { + const errorMessage = String(err); + if (errorMessage && errorMessage.length > 0) { + if (s.length > 0) { + s += ' '; + } + s += errorMessage; + } + } + return Error(s); + } + /** + * Run the Google Cloud SDK command that prints the default project ID + */ + getDefaultServiceProjectId() { + return __awaiter(this, void 0, void 0, function* () { + return new Promise(resolve => { + child_process_1.exec('gcloud config config-helper --format json', (err, stdout, stderr) => { + if (!err && stdout) { + try { + const projectId = JSON.parse(stdout).configuration.properties.core.project; + resolve(projectId); + return; + } + catch (e) { + // ignore errors + } + } + resolve(null); + }); + }); + }); + } + /** + * Loads the project id from environment variables. + * @api private + */ + getProductionProjectId() { + return process.env['GCLOUD_PROJECT'] || process.env['GOOGLE_CLOUD_PROJECT']; + } + /** + * Loads the project id from the GOOGLE_APPLICATION_CREDENTIALS json file. + * @api private + */ + getFileProjectId() { + return __awaiter(this, void 0, void 0, function* () { + if (this.cachedCredential) { + // Try to read the project ID from the cached credentials file + return this.cachedCredential.projectId; + } + // Try to load a credentials file and read its project ID + const r = yield this._tryGetApplicationCredentialsFromEnvironmentVariable(); + if (r) { + return r.projectId; + } + else { + return null; + } + }); + } + /** + * Gets the Compute Engine project ID if it can be inferred. + */ + getGCEProjectId() { + return __awaiter(this, void 0, void 0, function* () { + try { + const r = yield gcpMetadata.project('project-id'); + return r.data; + } + catch (e) { + // Ignore any errors + return null; + } + }); + } + getCredentials(callback) { + if (callback) { + this.getCredentialsAsync().then(r => callback(null, r), callback); + } + else { + return this.getCredentialsAsync(); + } + } + getCredentialsAsync() { + return __awaiter(this, void 0, void 0, function* () { + if (this.jsonContent) { + const credential = { + client_email: this.jsonContent.client_email, + private_key: this.jsonContent.private_key + }; + return credential; + } + const isGCE = yield this._checkIsGCE(); + if (!isGCE) { + throw new Error('Unknown error.'); + } + // For GCE, return the service account details from the metadata server + // NOTE: The trailing '/' at the end of service-accounts/ is very important! + // The GCF metadata server doesn't respect querystring params if this / is + // not included. + const { data } = yield gcpMetadata.instance({ property: 'service-accounts/', params: { recursive: true } }); + if (!data || !data.default || !data.default.email) { + throw new Error('Failure from metadata server.'); + } + return { client_email: data.default.email }; + }); + } + /** + * Automatically obtain a client based on the provided configuration. If no + * options were passed, use Application Default Credentials. + */ + getClient(options) { + return __awaiter(this, void 0, void 0, function* () { + if (options) { + this.keyFilename = + options.keyFilename || options.keyFile || this.keyFilename; + this.scopes = options.scopes || this.scopes; + this.jsonContent = options.credentials || this.jsonContent; + } + if (!this.cachedCredential) { + if (this.jsonContent) { + this.cachedCredential = yield this.fromJSON(this.jsonContent); + } + else if (this.keyFilename) { + const filePath = path.resolve(this.keyFilename); + const stream = fs.createReadStream(filePath); + this.cachedCredential = yield this.fromStreamAsync(stream); + } + else { + yield this.getApplicationDefaultAsync(); + } + } + return this.cachedCredential; + }); + } + /** + * Automatically obtain application default credentials, and return + * an access token for making requests. + */ + getAccessToken() { + return __awaiter(this, void 0, void 0, function* () { + const client = yield this.getClient(); + return (yield client.getAccessToken()).token; + }); + } + /** + * Obtain the HTTP headers that will provide authorization for a given + * request. + */ + getRequestHeaders(url) { + return __awaiter(this, void 0, void 0, function* () { + const client = yield this.getClient(); + return client.getRequestHeaders(url); + }); + } + /** + * Obtain credentials for a request, then attach the appropriate headers to + * the request options. + * @param opts Axios or Request options on which to attach the headers + */ + authorizeRequest(opts) { + return __awaiter(this, void 0, void 0, function* () { + opts = opts || {}; + const url = opts.url || opts.uri; + const client = yield this.getClient(); + const headers = yield client.getRequestHeaders(url); + opts.headers = Object.assign(opts.headers || {}, headers); + return opts; + }); + } + /** + * Automatically obtain application default credentials, and make an + * HTTP request using the given options. + * @param opts Axios request options for the HTTP request. + */ + // tslint:disable-next-line no-any + request(opts) { + return __awaiter(this, void 0, void 0, function* () { + const client = yield this.getClient(); + return client.request(opts); + }); + } + /** + * Determine the compute environment in which the code is running. + */ + getEnv() { + return envDetect_1.getEnv(); + } + /** + * Sign the given data with the current private key, or go out + * to the IAM API to sign it. + * @param data The data to be signed. + */ + sign(data) { + return __awaiter(this, void 0, void 0, function* () { + const client = yield this.getClient(); + if (client instanceof jwtclient_1.JWT && client.key) { + const sign = crypto.createSign('RSA-SHA256'); + sign.update(data); + return sign.sign(client.key, 'base64'); + } + const projectId = yield this.getProjectId(); + if (!projectId) { + throw new Error('Cannot sign data without a project ID.'); + } + const creds = yield this.getCredentials(); + if (!creds.client_email) { + throw new Error('Cannot sign data without `client_email`.'); + } + const id = `projects/${projectId}/serviceAccounts/${creds.client_email}`; + const res = yield this.request({ + method: 'POST', + url: `https://iam.googleapis.com/v1/${id}:signBlob`, + data: { bytesToSign: Buffer.from(data).toString('base64') } + }); + return res.data.signature; + }); + } +} +/** + * Export DefaultTransporter as a static property of the class. + */ +GoogleAuth.DefaultTransporter = transporters_1.DefaultTransporter; +exports.GoogleAuth = GoogleAuth; +//# sourceMappingURL=googleauth.js.map \ No newline at end of file diff --git a/express-server/node_modules/google-auth-library/build/src/auth/googleauth.js.map b/express-server/node_modules/google-auth-library/build/src/auth/googleauth.js.map new file mode 100644 index 00000000..cf593c12 --- /dev/null +++ b/express-server/node_modules/google-auth-library/build/src/auth/googleauth.js.map @@ -0,0 +1 @@ +{"version":3,"file":"googleauth.js","sourceRoot":"","sources":["../../../src/auth/googleauth.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/google-auth-library/build/src/auth/iam.d.ts b/express-server/node_modules/google-auth-library/build/src/auth/iam.d.ts new file mode 100644 index 00000000..fbc8b555 --- /dev/null +++ b/express-server/node_modules/google-auth-library/build/src/auth/iam.d.ts @@ -0,0 +1,53 @@ +/** + * Copyright 2014 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. + */ +export interface RequestMetadata { + 'x-goog-iam-authority-selector': string; + 'x-goog-iam-authorization-token': string; +} +export declare class IAMAuth { + selector: string; + token: string; + /** + * IAM credentials. + * + * @param selector the iam authority selector + * @param token the token + * @constructor + */ + constructor(selector: string, token: string); + /** + * Indicates whether the credential requires scopes to be created by calling + * createdScoped before use. + * @deprecated + * @return always false + */ + createScopedRequired(): boolean; + /** + * Pass the selector and token to the metadataFn callback. + * @deprecated + * @param unused_uri is required of the credentials interface + * @param metadataFn a callback invoked with object containing request + * metadata. + */ + getRequestMetadata(unusedUri: string | null, metadataFn: (err: Error | null, metadata?: RequestMetadata) => void): void; + /** + * Acquire the HTTP headers required to make an authenticated request. + */ + getRequestHeaders(): { + 'x-goog-iam-authority-selector': string; + 'x-goog-iam-authorization-token': string; + }; +} diff --git a/express-server/node_modules/google-auth-library/build/src/auth/iam.js b/express-server/node_modules/google-auth-library/build/src/auth/iam.js new file mode 100644 index 00000000..808e764c --- /dev/null +++ b/express-server/node_modules/google-auth-library/build/src/auth/iam.js @@ -0,0 +1,66 @@ +"use strict"; +/** + * Copyright 2014 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const messages = require("../messages"); +class IAMAuth { + /** + * IAM credentials. + * + * @param selector the iam authority selector + * @param token the token + * @constructor + */ + constructor(selector, token) { + this.selector = selector; + this.token = token; + this.selector = selector; + this.token = token; + } + /** + * Indicates whether the credential requires scopes to be created by calling + * createdScoped before use. + * @deprecated + * @return always false + */ + createScopedRequired() { + // IAM authorization does not use scopes. + messages.warn(messages.IAM_CREATE_SCOPED_DEPRECATED); + return false; + } + /** + * Pass the selector and token to the metadataFn callback. + * @deprecated + * @param unused_uri is required of the credentials interface + * @param metadataFn a callback invoked with object containing request + * metadata. + */ + getRequestMetadata(unusedUri, metadataFn) { + messages.warn(messages.IAM_GET_REQUEST_METADATA_DEPRECATED); + metadataFn(null, this.getRequestHeaders()); + } + /** + * Acquire the HTTP headers required to make an authenticated request. + */ + getRequestHeaders() { + return { + 'x-goog-iam-authority-selector': this.selector, + 'x-goog-iam-authorization-token': this.token + }; + } +} +exports.IAMAuth = IAMAuth; +//# sourceMappingURL=iam.js.map \ No newline at end of file diff --git a/express-server/node_modules/google-auth-library/build/src/auth/iam.js.map b/express-server/node_modules/google-auth-library/build/src/auth/iam.js.map new file mode 100644 index 00000000..9066080b --- /dev/null +++ b/express-server/node_modules/google-auth-library/build/src/auth/iam.js.map @@ -0,0 +1 @@ +{"version":3,"file":"iam.js","sourceRoot":"","sources":["../../../src/auth/iam.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAEH,wCAAwC;AAOxC,MAAa,OAAO;IAClB;;;;;;OAMG;IACH,YAAmB,QAAgB,EAAS,KAAa;QAAtC,aAAQ,GAAR,QAAQ,CAAQ;QAAS,UAAK,GAAL,KAAK,CAAQ;QACvD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED;;;;;OAKG;IACH,oBAAoB;QAClB,yCAAyC;QACzC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC;QACrD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;OAMG;IACH,kBAAkB,CACd,SAAsB,EACtB,UAAiE;QACnE,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC;QAC5D,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,OAAO;YACL,+BAA+B,EAAE,IAAI,CAAC,QAAQ;YAC9C,gCAAgC,EAAE,IAAI,CAAC,KAAK;SAC7C,CAAC;IACJ,CAAC;CACF;AAhDD,0BAgDC"} \ No newline at end of file diff --git a/express-server/node_modules/google-auth-library/build/src/auth/jwtaccess.d.ts b/express-server/node_modules/google-auth-library/build/src/auth/jwtaccess.d.ts new file mode 100644 index 00000000..e5bf1474 --- /dev/null +++ b/express-server/node_modules/google-auth-library/build/src/auth/jwtaccess.d.ts @@ -0,0 +1,79 @@ +/** + * 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 * as stream from 'stream'; +import { JWTInput } from './credentials'; +import { Headers, RequestMetadataResponse } from './oauth2client'; +export declare type Claims = { + [index: string]: string; +}; +export declare class JWTAccess { + email?: string | null; + key?: string | null; + keyId?: string | null; + projectId?: string; + private cache; + /** + * JWTAccess service account credentials. + * + * Create a new access token by using the credential to create a new JWT token + * that's recognized as the access token. + * + * @param email the service account email address. + * @param key the private key that will be used to sign the token. + * @param keyId the ID of the private key used to sign the token. + */ + constructor(email?: string | null, key?: string | null, keyId?: string | null); + /** + * Indicates whether the credential requires scopes to be created by calling + * createdScoped before use. + * @deprecated + * @return always false + */ + createScopedRequired(): boolean; + /** + * Get a non-expired access token, after refreshing if necessary. + * + * @param authURI The URI being authorized. + * @param additionalClaims An object with a set of additional claims to + * include in the payload. + * @deprecated Please use `getRequestHeaders` instead. + * @returns An object that includes the authorization header. + */ + getRequestMetadata(url: string, additionalClaims?: Claims): RequestMetadataResponse; + /** + * Get a non-expired access token, after refreshing if necessary. + * + * @param url The URI being authorized. + * @param additionalClaims An object with a set of additional claims to + * include in the payload. + * @returns An object that includes the authorization header. + */ + getRequestHeaders(url: string, additionalClaims?: Claims): Headers; + /** + * Create a JWTAccess credentials instance using the given input options. + * @param json The input object. + */ + fromJSON(json: JWTInput): void; + /** + * Create a JWTAccess credentials instance using the given input stream. + * @param inputStream The input stream. + * @param callback Optional callback. + */ + fromStream(inputStream: stream.Readable): Promise; + fromStream(inputStream: stream.Readable, callback: (err?: Error) => void): void; + private fromStreamAsync; +} diff --git a/express-server/node_modules/google-auth-library/build/src/auth/jwtaccess.js b/express-server/node_modules/google-auth-library/build/src/auth/jwtaccess.js new file mode 100644 index 00000000..107fc7d5 --- /dev/null +++ b/express-server/node_modules/google-auth-library/build/src/auth/jwtaccess.js @@ -0,0 +1,153 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const jws = require("jws"); +const LRU = require("lru-cache"); +const messages = require("../messages"); +const DEFAULT_HEADER = { + alg: 'RS256', + typ: 'JWT' +}; +class JWTAccess { + /** + * JWTAccess service account credentials. + * + * Create a new access token by using the credential to create a new JWT token + * that's recognized as the access token. + * + * @param email the service account email address. + * @param key the private key that will be used to sign the token. + * @param keyId the ID of the private key used to sign the token. + */ + constructor(email, key, keyId) { + this.cache = LRU({ max: 500, maxAge: 60 * 60 * 1000 }); + this.email = email; + this.key = key; + this.keyId = keyId; + } + /** + * Indicates whether the credential requires scopes to be created by calling + * createdScoped before use. + * @deprecated + * @return always false + */ + createScopedRequired() { + // JWT Header authentication does not use scopes. + messages.warn(messages.JWT_ACCESS_CREATE_SCOPED_DEPRECATED); + return false; + } + /** + * Get a non-expired access token, after refreshing if necessary. + * + * @param authURI The URI being authorized. + * @param additionalClaims An object with a set of additional claims to + * include in the payload. + * @deprecated Please use `getRequestHeaders` instead. + * @returns An object that includes the authorization header. + */ + getRequestMetadata(url, additionalClaims) { + messages.warn(messages.JWT_ACCESS_GET_REQUEST_METADATA_DEPRECATED); + return { headers: this.getRequestHeaders(url, additionalClaims) }; + } + /** + * Get a non-expired access token, after refreshing if necessary. + * + * @param url The URI being authorized. + * @param additionalClaims An object with a set of additional claims to + * include in the payload. + * @returns An object that includes the authorization header. + */ + getRequestHeaders(url, additionalClaims) { + const cachedToken = this.cache.get(url); + if (cachedToken) { + return cachedToken; + } + const iat = Math.floor(new Date().getTime() / 1000); + const exp = iat + 3600; // 3600 seconds = 1 hour + // The payload used for signed JWT headers has: + // iss == sub == + // aud == + const defaultClaims = { iss: this.email, sub: this.email, aud: url, exp, iat }; + // if additionalClaims are provided, ensure they do not collide with + // other required claims. + if (additionalClaims) { + for (const claim in defaultClaims) { + if (additionalClaims[claim]) { + throw new Error(`The '${claim}' property is not allowed when passing additionalClaims. This claim is included in the JWT by default.`); + } + } + } + const header = this.keyId ? Object.assign({}, DEFAULT_HEADER, { kid: this.keyId }) : DEFAULT_HEADER; + const payload = Object.assign(defaultClaims, additionalClaims); + // Sign the jwt and add it to the cache + const signedJWT = jws.sign({ header, payload, secret: this.key }); + const headers = { Authorization: `Bearer ${signedJWT}` }; + this.cache.set(url, headers); + return headers; + } + /** + * Create a JWTAccess credentials instance using the given input options. + * @param json The input object. + */ + fromJSON(json) { + if (!json) { + throw new Error('Must pass in a JSON object containing the service account auth settings.'); + } + if (!json.client_email) { + throw new Error('The incoming JSON object does not contain a client_email field'); + } + if (!json.private_key) { + throw new Error('The incoming JSON object does not contain a private_key field'); + } + // Extract the relevant information from the json key file. + this.email = json.client_email; + this.key = json.private_key; + this.keyId = json.private_key_id; + this.projectId = json.project_id; + } + fromStream(inputStream, callback) { + if (callback) { + this.fromStreamAsync(inputStream).then(r => callback(), callback); + } + else { + return this.fromStreamAsync(inputStream); + } + } + fromStreamAsync(inputStream) { + return new Promise((resolve, reject) => { + if (!inputStream) { + reject(new Error('Must pass in a stream containing the service account auth settings.')); + } + let s = ''; + inputStream.setEncoding('utf8') + .on('data', (chunk) => s += chunk) + .on('error', reject) + .on('end', () => { + try { + const data = JSON.parse(s); + this.fromJSON(data); + resolve(); + } + catch (err) { + reject(err); + } + }); + }); + } +} +exports.JWTAccess = JWTAccess; +//# sourceMappingURL=jwtaccess.js.map \ No newline at end of file diff --git a/express-server/node_modules/google-auth-library/build/src/auth/jwtaccess.js.map b/express-server/node_modules/google-auth-library/build/src/auth/jwtaccess.js.map new file mode 100644 index 00000000..7a1761fc --- /dev/null +++ b/express-server/node_modules/google-auth-library/build/src/auth/jwtaccess.js.map @@ -0,0 +1 @@ +{"version":3,"file":"jwtaccess.js","sourceRoot":"","sources":["../../../src/auth/jwtaccess.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/google-auth-library/build/src/auth/jwtclient.d.ts b/express-server/node_modules/google-auth-library/build/src/auth/jwtclient.d.ts new file mode 100644 index 00000000..84084c5c --- /dev/null +++ b/express-server/node_modules/google-auth-library/build/src/auth/jwtclient.d.ts @@ -0,0 +1,119 @@ +/** + * Copyright 2013 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 { GoogleToken } from 'gtoken'; +import * as stream from 'stream'; +import { CredentialBody, Credentials, JWTInput } from './credentials'; +import { GetTokenResponse, OAuth2Client, RefreshOptions, RequestMetadataResponse } from './oauth2client'; +export interface JWTOptions extends RefreshOptions { + email?: string; + keyFile?: string; + key?: string; + keyId?: string; + scopes?: string | string[]; + subject?: string; + additionalClaims?: {}; +} +export declare class JWT extends OAuth2Client { + email?: string; + keyFile?: string; + key?: string; + keyId?: string; + scopes?: string | string[]; + scope?: string; + subject?: string; + gtoken?: GoogleToken; + additionalClaims?: {}; + private access?; + /** + * JWT service account credentials. + * + * Retrieve access token using gtoken. + * + * @param email service account email address. + * @param keyFile path to private key file. + * @param key value of key + * @param scopes list of requested scopes or a single scope. + * @param subject impersonated account's email address. + * @param key_id the ID of the key + */ + constructor(options: JWTOptions); + constructor(email?: string, keyFile?: string, key?: string, scopes?: string | string[], subject?: string, keyId?: string); + /** + * Creates a copy of the credential with the specified scopes. + * @param scopes List of requested scopes or a single scope. + * @return The cloned instance. + */ + createScoped(scopes?: string | string[]): JWT; + /** + * Obtains the metadata to be sent with the request. + * + * @param url the URI being authorized. + */ + protected getRequestMetadataAsync(url?: string | null): Promise; + /** + * Indicates whether the credential requires scopes to be created by calling + * createScoped before use. + * @deprecated + * @return false if createScoped does not need to be called. + */ + createScopedRequired(): boolean; + /** + * Determine if there are currently scopes available. + */ + private hasScopes; + /** + * Get the initial access token using gToken. + * @param callback Optional callback. + * @returns Promise that resolves with credentials + */ + authorize(): Promise; + authorize(callback: (err: Error | null, result?: Credentials) => void): void; + private authorizeAsync; + /** + * Refreshes the access token. + * @param refreshToken ignored + * @private + */ + protected refreshTokenNoCache(refreshToken?: string | null): Promise; + /** + * Create a gToken if it doesn't already exist. + */ + private createGToken; + /** + * Create a JWT credentials instance using the given input options. + * @param json The input object. + */ + fromJSON(json: JWTInput): void; + /** + * Create a JWT credentials instance using the given input stream. + * @param inputStream The input stream. + * @param callback Optional callback. + */ + fromStream(inputStream: stream.Readable): Promise; + fromStream(inputStream: stream.Readable, callback: (err?: Error | null) => void): void; + private fromStreamAsync; + /** + * Creates a JWT credentials instance using an API Key for authentication. + * @param apiKey The API Key in string form. + */ + fromAPIKey(apiKey: string): void; + /** + * Using the key or keyFile on the JWT client, obtain an object that contains + * the key and the client email. + */ + getCredentials(): Promise; +} diff --git a/express-server/node_modules/google-auth-library/build/src/auth/jwtclient.js b/express-server/node_modules/google-auth-library/build/src/auth/jwtclient.js new file mode 100644 index 00000000..40cb691c --- /dev/null +++ b/express-server/node_modules/google-auth-library/build/src/auth/jwtclient.js @@ -0,0 +1,249 @@ +"use strict"; +/** + * Copyright 2013 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. + */ +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const gtoken_1 = require("gtoken"); +const messages = require("../messages"); +const jwtaccess_1 = require("./jwtaccess"); +const oauth2client_1 = require("./oauth2client"); +const isString = require('lodash.isstring'); +class JWT extends oauth2client_1.OAuth2Client { + constructor(optionsOrEmail, keyFile, key, scopes, subject, keyId) { + const opts = (optionsOrEmail && typeof optionsOrEmail === 'object') ? + optionsOrEmail : + { email: optionsOrEmail, keyFile, key, keyId, scopes, subject }; + super({ eagerRefreshThresholdMillis: opts.eagerRefreshThresholdMillis }); + this.email = opts.email; + this.keyFile = opts.keyFile; + this.key = opts.key; + this.keyId = opts.keyId; + this.scopes = opts.scopes; + this.subject = opts.subject; + this.additionalClaims = opts.additionalClaims; + this.credentials = { refresh_token: 'jwt-placeholder', expiry_date: 1 }; + } + /** + * Creates a copy of the credential with the specified scopes. + * @param scopes List of requested scopes or a single scope. + * @return The cloned instance. + */ + createScoped(scopes) { + return new JWT({ + email: this.email, + keyFile: this.keyFile, + key: this.key, + keyId: this.keyId, + scopes, + subject: this.subject, + additionalClaims: this.additionalClaims + }); + } + /** + * Obtains the metadata to be sent with the request. + * + * @param url the URI being authorized. + */ + getRequestMetadataAsync(url) { + const _super = name => super[name]; + return __awaiter(this, void 0, void 0, function* () { + if (!this.apiKey && !this.hasScopes() && url) { + if (this.additionalClaims && this.additionalClaims.target_audience) { + const { tokens } = yield this.refreshToken(); + return { headers: { Authorization: `Bearer ${tokens.id_token}` } }; + } + else { + // no scopes have been set, but a uri has been provided. Use JWTAccess + // credentials. + if (!this.access) { + this.access = new jwtaccess_1.JWTAccess(this.email, this.key, this.keyId); + } + const headers = yield this.access.getRequestHeaders(url, this.additionalClaims); + return { headers }; + } + } + else { + return _super("getRequestMetadataAsync").call(this, url); + } + }); + } + /** + * Indicates whether the credential requires scopes to be created by calling + * createScoped before use. + * @deprecated + * @return false if createScoped does not need to be called. + */ + createScopedRequired() { + messages.warn(messages.JWT_CREATE_SCOPED_DEPRECATED); + return !this.hasScopes(); + } + /** + * Determine if there are currently scopes available. + */ + hasScopes() { + if (!this.scopes) { + return false; + } + // For arrays, check the array length. + if (this.scopes instanceof Array) { + return this.scopes.length > 0; + } + // For others, convert to a string and check the length. + return String(this.scopes).length > 0; + } + authorize(callback) { + if (callback) { + this.authorizeAsync().then(r => callback(null, r), callback); + } + else { + return this.authorizeAsync(); + } + } + authorizeAsync() { + return __awaiter(this, void 0, void 0, function* () { + const result = yield this.refreshToken(); + if (!result) { + throw new Error('No result returned'); + } + this.credentials = result.tokens; + this.credentials.refresh_token = 'jwt-placeholder'; + this.key = this.gtoken.key; + this.email = this.gtoken.iss; + return result.tokens; + }); + } + /** + * Refreshes the access token. + * @param refreshToken ignored + * @private + */ + refreshTokenNoCache(refreshToken) { + return __awaiter(this, void 0, void 0, function* () { + const gtoken = this.createGToken(); + const token = yield gtoken.getToken(); + const tokens = { + access_token: token, + token_type: 'Bearer', + expiry_date: gtoken.expiresAt, + // tslint:disable-next-line no-any + id_token: gtoken.rawToken.id_token + }; + this.emit('tokens', tokens); + return { res: null, tokens }; + }); + } + /** + * Create a gToken if it doesn't already exist. + */ + createGToken() { + if (!this.gtoken) { + this.gtoken = new gtoken_1.GoogleToken({ + iss: this.email, + sub: this.subject, + scope: this.scopes, + keyFile: this.keyFile, + key: this.key, + additionalClaims: this.additionalClaims + }); + } + return this.gtoken; + } + /** + * Create a JWT credentials instance using the given input options. + * @param json The input object. + */ + fromJSON(json) { + if (!json) { + throw new Error('Must pass in a JSON object containing the service account auth settings.'); + } + if (!json.client_email) { + throw new Error('The incoming JSON object does not contain a client_email field'); + } + if (!json.private_key) { + throw new Error('The incoming JSON object does not contain a private_key field'); + } + // Extract the relevant information from the json key file. + this.email = json.client_email; + this.key = json.private_key; + this.keyId = json.private_key_id; + this.projectId = json.project_id; + } + fromStream(inputStream, callback) { + if (callback) { + this.fromStreamAsync(inputStream).then(r => callback(), callback); + } + else { + return this.fromStreamAsync(inputStream); + } + } + fromStreamAsync(inputStream) { + return new Promise((resolve, reject) => { + if (!inputStream) { + throw new Error('Must pass in a stream containing the service account auth settings.'); + } + let s = ''; + inputStream.setEncoding('utf8') + .on('error', reject) + .on('data', (chunk) => s += chunk) + .on('end', () => { + try { + const data = JSON.parse(s); + this.fromJSON(data); + resolve(); + } + catch (e) { + reject(e); + } + }); + }); + } + /** + * Creates a JWT credentials instance using an API Key for authentication. + * @param apiKey The API Key in string form. + */ + fromAPIKey(apiKey) { + if (!isString(apiKey)) { + throw new Error('Must provide an API Key string.'); + } + this.apiKey = apiKey; + } + /** + * Using the key or keyFile on the JWT client, obtain an object that contains + * the key and the client email. + */ + getCredentials() { + return __awaiter(this, void 0, void 0, function* () { + if (this.key) { + return { private_key: this.key, client_email: this.email }; + } + else if (this.keyFile) { + const gtoken = this.createGToken(); + const creds = yield gtoken.getCredentials(this.keyFile); + return { private_key: creds.privateKey, client_email: creds.clientEmail }; + } + throw new Error('A key or a keyFile must be provided to getCredentials.'); + }); + } +} +exports.JWT = JWT; +//# sourceMappingURL=jwtclient.js.map \ No newline at end of file diff --git a/express-server/node_modules/google-auth-library/build/src/auth/jwtclient.js.map b/express-server/node_modules/google-auth-library/build/src/auth/jwtclient.js.map new file mode 100644 index 00000000..229d0f3e --- /dev/null +++ b/express-server/node_modules/google-auth-library/build/src/auth/jwtclient.js.map @@ -0,0 +1 @@ +{"version":3,"file":"jwtclient.js","sourceRoot":"","sources":["../../../src/auth/jwtclient.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/google-auth-library/build/src/auth/loginticket.d.ts b/express-server/node_modules/google-auth-library/build/src/auth/loginticket.d.ts new file mode 100644 index 00000000..8eb9f1b2 --- /dev/null +++ b/express-server/node_modules/google-auth-library/build/src/auth/loginticket.d.ts @@ -0,0 +1,150 @@ +/** + * Copyright 2014 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. + */ +export declare class LoginTicket { + private envelope?; + private payload?; + /** + * Create a simple class to extract user ID from an ID Token + * + * @param {string} env Envelope of the jwt + * @param {TokenPayload} pay Payload of the jwt + * @constructor + */ + constructor(env?: string, pay?: TokenPayload); + getEnvelope(): string | undefined; + getPayload(): TokenPayload | undefined; + /** + * Create a simple class to extract user ID from an ID Token + * + * @return The user ID + */ + getUserId(): string | null; + /** + * Returns attributes from the login ticket. This can contain + * various information about the user session. + * + * @return The envelope and payload + */ + getAttributes(): { + envelope: string | undefined; + payload: TokenPayload | undefined; + }; +} +export interface TokenPayload { + /** + * The Issuer Identifier for the Issuer of the response. Always + * https://accounts.google.com or accounts.google.com for Google ID tokens. + */ + iss: string; + /** + * Access token hash. Provides validation that the access token is tied to the + * identity token. If the ID token is issued with an access token in the + * server flow, this is always included. This can be used as an alternate + * mechanism to protect against cross-site request forgery attacks, but if you + * follow Step 1 and Step 3 it is not necessary to verify the access token. + */ + at_hash?: string; + /** + * True if the user's e-mail address has been verified; otherwise false. + */ + email_verified?: boolean; + /** + * An identifier for the user, unique among all Google accounts and never + * reused. A Google account can have multiple emails at different points in + * time, but the sub value is never changed. Use sub within your application + * as the unique-identifier key for the user. + */ + sub: string; + /** + * The client_id of the authorized presenter. This claim is only needed when + * the party requesting the ID token is not the same as the audience of the ID + * token. This may be the case at Google for hybrid apps where a web + * application and Android app have a different client_id but share the same + * project. + */ + azp?: string; + /** + * The user's email address. This may not be unique and is not suitable for + * use as a primary key. Provided only if your scope included the string + * "email". + */ + email?: string; + /** + * The URL of the user's profile page. Might be provided when: + * - The request scope included the string "profile" + * - The ID token is returned from a token refresh + * - When profile claims are present, you can use them to update your app's + * user records. Note that this claim is never guaranteed to be present. + */ + profile?: string; + /** + * The URL of the user's profile picture. Might be provided when: + * - The request scope included the string "profile" + * - The ID token is returned from a token refresh + * - When picture claims are present, you can use them to update your app's + * user records. Note that this claim is never guaranteed to be present. + */ + picture?: string; + /** + * The user's full name, in a displayable form. Might be provided when: + * - The request scope included the string "profile" + * - The ID token is returned from a token refresh + * - When name claims are present, you can use them to update your app's user + * records. Note that this claim is never guaranteed to be present. + */ + name?: string; + /** + * The user's given name, in a displayable form. Might be provided when: + * - The request scope included the string "profile" + * - The ID token is returned from a token refresh + * - When name claims are present, you can use them to update your app's user + * records. Note that this claim is never guaranteed to be present. + */ + given_name?: string; + /** + * The user's family name, in a displayable form. Might be provided when: + * - The request scope included the string "profile" + * - The ID token is returned from a token refresh + * - When name claims are present, you can use them to update your app's user + * records. Note that this claim is never guaranteed to be present. + */ + family_name?: string; + /** + * Identifies the audience that this ID token is intended for. It must be one + * of the OAuth 2.0 client IDs of your application. + */ + aud: string; + /** + * The time the ID token was issued, represented in Unix time (integer + * seconds). + */ + iat: number; + /** + * The time the ID token expires, represented in Unix time (integer seconds). + */ + exp: number; + /** + * The value of the nonce supplied by your app in the authentication request. + * You should enforce protection against replay attacks by ensuring it is + * presented only once. + */ + nonce?: string; + /** + * The hosted G Suite domain of the user. Provided only if the user belongs to + * a hosted domain. + */ + hd?: string; +} diff --git a/express-server/node_modules/google-auth-library/build/src/auth/loginticket.js b/express-server/node_modules/google-auth-library/build/src/auth/loginticket.js new file mode 100644 index 00000000..2e9f550d --- /dev/null +++ b/express-server/node_modules/google-auth-library/build/src/auth/loginticket.js @@ -0,0 +1,59 @@ +"use strict"; +/** + * Copyright 2014 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +class LoginTicket { + /** + * Create a simple class to extract user ID from an ID Token + * + * @param {string} env Envelope of the jwt + * @param {TokenPayload} pay Payload of the jwt + * @constructor + */ + constructor(env, pay) { + this.envelope = env; + this.payload = pay; + } + getEnvelope() { + return this.envelope; + } + getPayload() { + return this.payload; + } + /** + * Create a simple class to extract user ID from an ID Token + * + * @return The user ID + */ + getUserId() { + const payload = this.getPayload(); + if (payload && payload.sub) { + return payload.sub; + } + return null; + } + /** + * Returns attributes from the login ticket. This can contain + * various information about the user session. + * + * @return The envelope and payload + */ + getAttributes() { + return { envelope: this.getEnvelope(), payload: this.getPayload() }; + } +} +exports.LoginTicket = LoginTicket; +//# sourceMappingURL=loginticket.js.map \ No newline at end of file diff --git a/express-server/node_modules/google-auth-library/build/src/auth/loginticket.js.map b/express-server/node_modules/google-auth-library/build/src/auth/loginticket.js.map new file mode 100644 index 00000000..5ef20b9b --- /dev/null +++ b/express-server/node_modules/google-auth-library/build/src/auth/loginticket.js.map @@ -0,0 +1 @@ +{"version":3,"file":"loginticket.js","sourceRoot":"","sources":["../../../src/auth/loginticket.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAEH,MAAa,WAAW;IAItB;;;;;;OAMG;IACH,YAAY,GAAY,EAAE,GAAkB;QAC1C,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;IACrB,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACH,SAAS;QACP,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,IAAI,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE;YAC1B,OAAO,OAAO,CAAC,GAAG,CAAC;SACpB;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,aAAa;QACX,OAAO,EAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,EAAC,CAAC;IACpE,CAAC;CACF;AA9CD,kCA8CC"} \ No newline at end of file diff --git a/express-server/node_modules/google-auth-library/build/src/auth/oauth2client.d.ts b/express-server/node_modules/google-auth-library/build/src/auth/oauth2client.d.ts new file mode 100644 index 00000000..d2e9a383 --- /dev/null +++ b/express-server/node_modules/google-auth-library/build/src/auth/oauth2client.d.ts @@ -0,0 +1,459 @@ +/** + * Copyright 2012 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 { AxiosError, AxiosPromise, AxiosRequestConfig, AxiosResponse } from 'axios'; +import { BodyResponseCallback } from './../transporters'; +import { AuthClient } from './authclient'; +import { Credentials } from './credentials'; +import { LoginTicket } from './loginticket'; +export declare type Certificates = { + [index: string]: string; +}; +export declare type Headers = { + [index: string]: string; +}; +export declare enum CodeChallengeMethod { + Plain = "plain", + S256 = "S256" +} +export interface GetTokenOptions { + code: string; + codeVerifier?: string; + /** + * The client ID for your application. The value passed into the constructor + * will be used if not provided. Must match any client_id option passed to + * a corresponding call to generateAuthUrl. + */ + client_id?: string; + /** + * Determines where the API server redirects the user after the user + * completes the authorization flow. The value passed into the constructor + * will be used if not provided. Must match any redirect_uri option passed to + * a corresponding call to generateAuthUrl. + */ + redirect_uri?: string; +} +export interface TokenInfo { + /** + * The application that is the intended user of the access token. + */ + aud: string; + /** + * This value lets you correlate profile information from multiple Google + * APIs. It is only present in the response if you included the profile scope + * in your request in step 1. The field value is an immutable identifier for + * the logged-in user that can be used to create and manage user sessions in + * your application. The identifier is the same regardless of which client ID + * is used to retrieve it. This enables multiple applications in the same + * organization to correlate profile information. + */ + user_id?: string; + /** + * An array of scopes that the user granted access to. + */ + scopes: string[]; + /** + * The datetime when the token becomes invalid. + */ + expiry_date: number; + /** + * An identifier for the user, unique among all Google accounts and never + * reused. A Google account can have multiple emails at different points in + * time, but the sub value is never changed. Use sub within your application + * as the unique-identifier key for the user. + */ + sub?: string; + /** + * The client_id of the authorized presenter. This claim is only needed when + * the party requesting the ID token is not the same as the audience of the ID + * token. This may be the case at Google for hybrid apps where a web + * application and Android app have a different client_id but share the same + * project. + */ + azp?: string; + /** + * Indicates whether your application can refresh access tokens + * when the user is not present at the browser. Valid parameter values are + * 'online', which is the default value, and 'offline'. Set the value to + * 'offline' if your application needs to refresh access tokens when the user + * is not present at the browser. This value instructs the Google + * authorization server to return a refresh token and an access token the + * first time that your application exchanges an authorization code for + * tokens. + */ + access_type?: string; +} +export interface TokenInfoRequest { + aud: string; + user_id?: string; + scope: string; + expires_in: number; + azp?: string; + sub?: string; + exp?: number; + access_type?: string; +} +export interface GenerateAuthUrlOpts { + /** + * Recommended. Indicates whether your application can refresh access tokens + * when the user is not present at the browser. Valid parameter values are + * 'online', which is the default value, and 'offline'. Set the value to + * 'offline' if your application needs to refresh access tokens when the user + * is not present at the browser. This value instructs the Google + * authorization server to return a refresh token and an access token the + * first time that your application exchanges an authorization code for + * tokens. + */ + access_type?: string; + /** + * The 'response_type' will always be set to 'CODE'. + */ + response_type?: string; + /** + * The client ID for your application. The value passed into the constructor + * will be used if not provided. You can find this value in the API Console. + */ + client_id?: string; + /** + * Determines where the API server redirects the user after the user + * completes the authorization flow. The value must exactly match one of the + * 'redirect_uri' values listed for your project in the API Console. Note that + * the http or https scheme, case, and trailing slash ('/') must all match. + * The value passed into the constructor will be used if not provided. + */ + redirect_uri?: string; + /** + * Required. A space-delimited list of scopes that identify the resources that + * your application could access on the user's behalf. These values inform the + * consent screen that Google displays to the user. Scopes enable your + * application to only request access to the resources that it needs while + * also enabling users to control the amount of access that they grant to your + * application. Thus, there is an inverse relationship between the number of + * scopes requested and the likelihood of obtaining user consent. The + * OAuth 2.0 API Scopes document provides a full list of scopes that you might + * use to access Google APIs. We recommend that your application request + * access to authorization scopes in context whenever possible. By requesting + * access to user data in context, via incremental authorization, you help + * users to more easily understand why your application needs the access it is + * requesting. + */ + scope?: string[] | string; + /** + * Recommended. Specifies any string value that your application uses to + * maintain state between your authorization request and the authorization + * server's response. The server returns the exact value that you send as a + * name=value pair in the hash (#) fragment of the 'redirect_uri' after the + * user consents to or denies your application's access request. You can use + * this parameter for several purposes, such as directing the user to the + * correct resource in your application, sending nonces, and mitigating + * cross-site request forgery. Since your redirect_uri can be guessed, using a + * state value can increase your assurance that an incoming connection is the + * result of an authentication request. If you generate a random string or + * encode the hash of a cookie or another value that captures the client's + * state, you can validate the response to additionally ensure that the + * request and response originated in the same browser, providing protection + * against attacks such as cross-site request forgery. See the OpenID Connect + * documentation for an example of how to create and confirm a state token. + */ + state?: string; + /** + * Optional. Enables applications to use incremental authorization to request + * access to additional scopes in context. If you set this parameter's value + * to true and the authorization request is granted, then the new access token + * will also cover any scopes to which the user previously granted the + * application access. See the incremental authorization section for examples. + */ + include_granted_scopes?: boolean; + /** + * Optional. If your application knows which user is trying to authenticate, + * it can use this parameter to provide a hint to the Google Authentication + * Server. The server uses the hint to simplify the login flow either by + * prefilling the email field in the sign-in form or by selecting the + * appropriate multi-login session. Set the parameter value to an email + * address or sub identifier, which is equivalent to the user's Google ID. + */ + login_hint?: string; + /** + * Optional. A space-delimited, case-sensitive list of prompts to present the + * user. If you don't specify this parameter, the user will be prompted only + * the first time your app requests access. Possible values are: + * + * 'none' - Donot display any authentication or consent screens. Must not be + * specified with other values. + * 'consent' - Prompt the user for consent. + * 'select_account' - Prompt the user to select an account. + */ + prompt?: string; + /** + * Recommended. Specifies what method was used to encode a 'code_verifier' + * that will be used during authorization code exchange. This parameter must + * be used with the 'code_challenge' parameter. The value of the + * 'code_challenge_method' defaults to "plain" if not present in the request + * that includes a 'code_challenge'. The only supported values for this + * parameter are "S256" or "plain". + */ + code_challenge_method?: CodeChallengeMethod; + /** + * Recommended. Specifies an encoded 'code_verifier' that will be used as a + * server-side challenge during authorization code exchange. This parameter + * must be used with the 'code_challenge' parameter described above. + */ + code_challenge?: string; +} +export interface GetTokenCallback { + (err: AxiosError | null, token?: Credentials | null, res?: AxiosResponse | null): void; +} +export interface GetTokenResponse { + tokens: Credentials; + res: AxiosResponse | null; +} +export interface GetAccessTokenCallback { + (err: AxiosError | null, token?: string | null, res?: AxiosResponse | null): void; +} +export interface GetAccessTokenResponse { + token?: string | null; + res?: AxiosResponse | null; +} +export interface RefreshAccessTokenCallback { + (err: AxiosError | null, credentials?: Credentials | null, res?: AxiosResponse | null): void; +} +export interface RefreshAccessTokenResponse { + credentials: Credentials; + res: AxiosResponse | null; +} +export interface RequestMetadataResponse { + headers: Headers; + res?: AxiosResponse | null; +} +export interface RequestMetadataCallback { + (err: AxiosError | null, headers?: Headers, res?: AxiosResponse | null): void; +} +export interface GetFederatedSignonCertsCallback { + (err: AxiosError | null, certs?: Certificates, response?: AxiosResponse | null): void; +} +export interface FederatedSignonCertsResponse { + certs: Certificates; + res?: AxiosResponse | null; +} +export interface RevokeCredentialsResult { + success: boolean; +} +export interface VerifyIdTokenOptions { + idToken: string; + audience: string | string[]; + maxExpiry?: number; +} +export interface OAuth2ClientOptions extends RefreshOptions { + clientId?: string; + clientSecret?: string; + redirectUri?: string; +} +export interface RefreshOptions { + eagerRefreshThresholdMillis?: number; +} +export declare class OAuth2Client extends AuthClient { + private redirectUri?; + private certificateCache?; + private certificateExpiry; + protected refreshTokenPromises: Map>; + _clientId?: string; + _clientSecret?: string; + apiKey?: string; + projectId?: string; + eagerRefreshThresholdMillis: number; + /** + * Handles OAuth2 flow for Google APIs. + * + * @param clientId The authentication client ID. + * @param clientSecret The authentication client secret. + * @param redirectUri The URI to redirect to after completing the auth + * request. + * @param opts optional options for overriding the given parameters. + * @constructor + */ + constructor(options?: OAuth2ClientOptions); + constructor(clientId?: string, clientSecret?: string, redirectUri?: string); + protected static readonly GOOGLE_TOKEN_INFO_URL: string; + /** + * The base URL for auth endpoints. + */ + private static readonly GOOGLE_OAUTH2_AUTH_BASE_URL_; + /** + * The base endpoint for token retrieval. + */ + private static readonly GOOGLE_OAUTH2_TOKEN_URL_; + /** + * The base endpoint to revoke tokens. + */ + private static readonly GOOGLE_OAUTH2_REVOKE_URL_; + /** + * Google Sign on certificates. + */ + private static readonly GOOGLE_OAUTH2_FEDERATED_SIGNON_CERTS_URL_; + /** + * Clock skew - five minutes in seconds + */ + private static readonly CLOCK_SKEW_SECS_; + /** + * Max Token Lifetime is one day in seconds + */ + private static readonly MAX_TOKEN_LIFETIME_SECS_; + /** + * The allowed oauth token issuers. + */ + private static readonly ISSUERS_; + /** + * Generates URL for consent page landing. + * @param opts Options. + * @return URL to consent page. + */ + generateAuthUrl(opts?: GenerateAuthUrlOpts): string; + /** + * Convenience method to automatically generate a code_verifier, and it's + * resulting SHA256. If used, this must be paired with a S256 + * code_challenge_method. + */ + generateCodeVerifier(): { + codeVerifier: string; + codeChallenge: string; + }; + /** + * Gets the access token for the given code. + * @param code The authorization code. + * @param callback Optional callback fn. + */ + getToken(code: string): Promise; + getToken(options: GetTokenOptions): Promise; + getToken(code: string, callback: GetTokenCallback): void; + getToken(options: GetTokenOptions, callback: GetTokenCallback): void; + private getTokenAsync; + /** + * Refreshes the access token. + * @param refresh_token Existing refresh token. + * @private + */ + protected refreshToken(refreshToken?: string | null): Promise; + protected refreshTokenNoCache(refreshToken?: string | null): Promise; + /** + * Retrieves the access token using refresh token + * + * @deprecated use getRequestHeaders instead. + * @param callback callback + */ + refreshAccessToken(): Promise; + refreshAccessToken(callback: RefreshAccessTokenCallback): void; + private refreshAccessTokenAsync; + /** + * Get a non-expired access token, after refreshing if necessary + * + * @param callback Callback to call with the access token + */ + getAccessToken(): Promise; + getAccessToken(callback: GetAccessTokenCallback): void; + private getAccessTokenAsync; + /** + * Obtain the set of headers required to authenticate a request. + * + * @deprecated Use getRequestHeaders instead. + * @param url the Uri being authorized + * @param callback the func described above + */ + getRequestMetadata(url?: string | null): Promise; + getRequestMetadata(url: string | null, callback: RequestMetadataCallback): void; + /** + * The main authentication interface. It takes an optional url which when + * present is the endpoint being accessed, and returns a Promise which + * resolves with authorization header fields. + * + * In OAuth2Client, the result has the form: + * { Authorization: 'Bearer ' } + * @param url The optional url being authorized + */ + getRequestHeaders(url?: string): Promise; + protected getRequestMetadataAsync(url?: string | null): Promise; + /** + * Revokes the access given to token. + * @param token The existing token to be revoked. + * @param callback Optional callback fn. + */ + revokeToken(token: string): AxiosPromise; + revokeToken(token: string, callback: BodyResponseCallback): void; + /** + * Revokes access token and clears the credentials object + * @param callback callback + */ + revokeCredentials(): AxiosPromise; + revokeCredentials(callback: BodyResponseCallback): void; + private revokeCredentialsAsync; + /** + * Provides a request implementation with OAuth 2.0 flow. If credentials have + * a refresh_token, in cases of HTTP 401 and 403 responses, it automatically + * asks for a new access token and replays the unsuccessful request. + * @param opts Request options. + * @param callback callback. + * @return Request object + */ + request(opts: AxiosRequestConfig): AxiosPromise; + request(opts: AxiosRequestConfig, callback: BodyResponseCallback): void; + protected requestAsync(opts: AxiosRequestConfig, retry?: boolean): Promise>; + /** + * Verify id token is token by checking the certs and audience + * @param options that contains all options. + * @param callback Callback supplying GoogleLogin if successful + */ + verifyIdToken(options: VerifyIdTokenOptions): Promise; + verifyIdToken(options: VerifyIdTokenOptions, callback: (err: Error | null, login?: LoginTicket | null) => void): void; + private verifyIdTokenAsync; + /** + * Obtains information about the provisioned access token. Especially useful + * if you want to check the scopes that were provisioned to a given token. + * + * @param accessToken Required. The Access Token for which you want to get + * user info. + */ + getTokenInfo(accessToken: string): Promise; + /** + * Gets federated sign-on certificates to use for verifying identity tokens. + * Returns certs as array structure, where keys are key ids, and values + * are PEM encoded certificates. + * @param callback Callback supplying the certificates + */ + getFederatedSignonCerts(): Promise; + getFederatedSignonCerts(callback: GetFederatedSignonCertsCallback): void; + getFederatedSignonCertsAsync(): Promise; + /** + * Verify the id token is signed with the correct certificate + * and is from the correct audience. + * @param jwt The jwt to verify (The ID Token in this case). + * @param certs The array of certs to test the jwt against. + * @param requiredAudience The audience to test the jwt against. + * @param issuers The allowed issuers of the jwt (Optional). + * @param maxExpiry The max expiry the certificate can be (Optional). + * @return Returns a LoginTicket on verification. + */ + verifySignedJwtWithCerts(jwt: string, certs: Certificates, requiredAudience: string | string[], issuers?: string[], maxExpiry?: number): LoginTicket; + /** + * This is a utils method to decode a base64 string + * @param b64String The string to base64 decode + * @return The decoded string + */ + decodeBase64(b64String: string): string; + /** + * Returns true if a token is expired or will expire within + * eagerRefreshThresholdMillismilliseconds. + * If there is no expiry time, assumes the token is not expired or expiring. + */ + protected isTokenExpiring(): boolean; +} diff --git a/express-server/node_modules/google-auth-library/build/src/auth/oauth2client.js b/express-server/node_modules/google-auth-library/build/src/auth/oauth2client.js new file mode 100644 index 00000000..57cbfb2d --- /dev/null +++ b/express-server/node_modules/google-auth-library/build/src/auth/oauth2client.js @@ -0,0 +1,613 @@ +"use strict"; +/** + * Copyright 2012 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. + */ +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const crypto = require("crypto"); +const querystring = require("querystring"); +const stream = require("stream"); +const messages = require("../messages"); +const pemverifier_1 = require("./../pemverifier"); +const authclient_1 = require("./authclient"); +const loginticket_1 = require("./loginticket"); +var CodeChallengeMethod; +(function (CodeChallengeMethod) { + CodeChallengeMethod["Plain"] = "plain"; + CodeChallengeMethod["S256"] = "S256"; +})(CodeChallengeMethod = exports.CodeChallengeMethod || (exports.CodeChallengeMethod = {})); +class OAuth2Client extends authclient_1.AuthClient { + constructor(optionsOrClientId, clientSecret, redirectUri) { + super(); + this.certificateExpiry = null; + this.refreshTokenPromises = new Map(); + const opts = (optionsOrClientId && typeof optionsOrClientId === 'object') ? + optionsOrClientId : + { clientId: optionsOrClientId, clientSecret, redirectUri }; + this._clientId = opts.clientId; + this._clientSecret = opts.clientSecret; + this.redirectUri = opts.redirectUri; + this.eagerRefreshThresholdMillis = + opts.eagerRefreshThresholdMillis || 5 * 60 * 1000; + } + /** + * Generates URL for consent page landing. + * @param opts Options. + * @return URL to consent page. + */ + generateAuthUrl(opts = {}) { + if (opts.code_challenge_method && !opts.code_challenge) { + throw new Error('If a code_challenge_method is provided, code_challenge must be included.'); + } + opts.response_type = opts.response_type || 'code'; + opts.client_id = opts.client_id || this._clientId; + opts.redirect_uri = opts.redirect_uri || this.redirectUri; + // Allow scopes to be passed either as array or a string + if (opts.scope instanceof Array) { + opts.scope = opts.scope.join(' '); + } + const rootUrl = OAuth2Client.GOOGLE_OAUTH2_AUTH_BASE_URL_; + return rootUrl + '?' + querystring.stringify(opts); + } + /** + * Convenience method to automatically generate a code_verifier, and it's + * resulting SHA256. If used, this must be paired with a S256 + * code_challenge_method. + */ + generateCodeVerifier() { + // base64 encoding uses 6 bits per character, and we want to generate128 + // characters. 6*128/8 = 96. + const randomString = crypto.randomBytes(96).toString('base64'); + // The valid characters in the code_verifier are [A-Z]/[a-z]/[0-9]/ + // "-"/"."/"_"/"~". Base64 encoded strings are pretty close, so we're just + // swapping out a few chars. + const codeVerifier = randomString.replace(/\+/g, '~').replace(/=/g, '_').replace(/\//g, '-'); + // Generate the base64 encoded SHA256 + const unencodedCodeChallenge = crypto.createHash('sha256').update(codeVerifier).digest('base64'); + // We need to use base64UrlEncoding instead of standard base64 + const codeChallenge = unencodedCodeChallenge.split('=')[0] + .replace(/\+/g, '-') + .replace(/\//g, '_'); + return { codeVerifier, codeChallenge }; + } + getToken(codeOrOptions, callback) { + const options = (typeof codeOrOptions === 'string') ? + { code: codeOrOptions } : + codeOrOptions; + if (callback) { + this.getTokenAsync(options).then(r => callback(null, r.tokens, r.res), e => callback(e, null, e.response)); + } + else { + return this.getTokenAsync(options); + } + } + getTokenAsync(options) { + return __awaiter(this, void 0, void 0, function* () { + const url = OAuth2Client.GOOGLE_OAUTH2_TOKEN_URL_; + const values = { + code: options.code, + client_id: options.client_id || this._clientId, + client_secret: this._clientSecret, + redirect_uri: options.redirect_uri || this.redirectUri, + grant_type: 'authorization_code', + code_verifier: options.codeVerifier + }; + const res = yield this.transporter.request({ + method: 'POST', + url, + data: querystring.stringify(values), + headers: { 'Content-Type': 'application/x-www-form-urlencoded' } + }); + const tokens = res.data; + if (res.data && res.data.expires_in) { + tokens.expiry_date = + ((new Date()).getTime() + (res.data.expires_in * 1000)); + delete tokens.expires_in; + } + this.emit('tokens', tokens); + return { tokens, res }; + }); + } + /** + * Refreshes the access token. + * @param refresh_token Existing refresh token. + * @private + */ + refreshToken(refreshToken) { + return __awaiter(this, void 0, void 0, function* () { + if (!refreshToken) { + return this.refreshTokenNoCache(refreshToken); + } + // If a request to refresh using the same token has started, + // return the same promise. + if (this.refreshTokenPromises.has(refreshToken)) { + return this.refreshTokenPromises.get(refreshToken); + } + const p = this.refreshTokenNoCache(refreshToken) + .then(r => { + this.refreshTokenPromises.delete(refreshToken); + return r; + }, e => { + this.refreshTokenPromises.delete(refreshToken); + throw e; + }); + this.refreshTokenPromises.set(refreshToken, p); + return p; + }); + } + refreshTokenNoCache(refreshToken) { + return __awaiter(this, void 0, void 0, function* () { + const url = OAuth2Client.GOOGLE_OAUTH2_TOKEN_URL_; + const data = { + refresh_token: refreshToken, + client_id: this._clientId, + client_secret: this._clientSecret, + grant_type: 'refresh_token' + }; + // request for new token + const res = yield this.transporter.request({ + method: 'POST', + url, + data: querystring.stringify(data), + headers: { 'Content-Type': 'application/x-www-form-urlencoded' } + }); + const tokens = res.data; + // TODO: de-duplicate this code from a few spots + if (res.data && res.data.expires_in) { + tokens.expiry_date = + ((new Date()).getTime() + (res.data.expires_in * 1000)); + delete tokens.expires_in; + } + this.emit('tokens', tokens); + return { tokens, res }; + }); + } + refreshAccessToken(callback) { + messages.warn(messages.REFRESH_ACCESS_TOKEN_DEPRECATED); + if (callback) { + this.refreshAccessTokenAsync().then(r => callback(null, r.credentials, r.res), callback); + } + else { + return this.refreshAccessTokenAsync(); + } + } + refreshAccessTokenAsync() { + return __awaiter(this, void 0, void 0, function* () { + if (!this.credentials.refresh_token) { + throw new Error('No refresh token is set.'); + } + const r = yield this.refreshToken(this.credentials.refresh_token); + const tokens = r.tokens; + tokens.refresh_token = this.credentials.refresh_token; + this.credentials = tokens; + return { credentials: this.credentials, res: r.res }; + }); + } + getAccessToken(callback) { + if (callback) { + this.getAccessTokenAsync().then(r => callback(null, r.token, r.res), callback); + } + else { + return this.getAccessTokenAsync(); + } + } + getAccessTokenAsync() { + return __awaiter(this, void 0, void 0, function* () { + const shouldRefresh = !this.credentials.access_token || this.isTokenExpiring(); + if (shouldRefresh && this.credentials.refresh_token) { + if (!this.credentials.refresh_token) { + throw new Error('No refresh token is set.'); + } + const r = yield this.refreshAccessTokenAsync(); + if (!r.credentials || (r.credentials && !r.credentials.access_token)) { + throw new Error('Could not refresh access token.'); + } + return { token: r.credentials.access_token, res: r.res }; + } + else { + return { token: this.credentials.access_token }; + } + }); + } + getRequestMetadata(url, callback) { + messages.warn(messages.OAUTH_GET_REQUEST_METADATA_DEPRECATED); + if (callback) { + this.getRequestMetadataAsync(url).then(r => callback(null, r.headers, r.res), callback); + } + else { + return this.getRequestMetadataAsync(); + } + } + /** + * The main authentication interface. It takes an optional url which when + * present is the endpoint being accessed, and returns a Promise which + * resolves with authorization header fields. + * + * In OAuth2Client, the result has the form: + * { Authorization: 'Bearer ' } + * @param url The optional url being authorized + */ + getRequestHeaders(url) { + return __awaiter(this, void 0, void 0, function* () { + const res = yield this.getRequestMetadataAsync(url); + return res.headers; + }); + } + getRequestMetadataAsync(url) { + return __awaiter(this, void 0, void 0, function* () { + const thisCreds = this.credentials; + if (!thisCreds.access_token && !thisCreds.refresh_token && !this.apiKey) { + throw new Error('No access, refresh token or API key is set.'); + } + if (thisCreds.access_token && !this.isTokenExpiring()) { + thisCreds.token_type = thisCreds.token_type || 'Bearer'; + const headers = { + Authorization: thisCreds.token_type + ' ' + thisCreds.access_token + }; + return { headers }; + } + if (this.apiKey) { + return { headers: {} }; + } + let r = null; + let tokens = null; + try { + r = yield this.refreshToken(thisCreds.refresh_token); + tokens = r.tokens; + } + catch (err) { + const e = err; + if (e.response && + (e.response.status === 403 || e.response.status === 404)) { + e.message = 'Could not refresh access token.'; + } + throw e; + } + const credentials = this.credentials; + credentials.token_type = credentials.token_type || 'Bearer'; + tokens.refresh_token = credentials.refresh_token; + this.credentials = tokens; + const headers = { + Authorization: credentials.token_type + ' ' + tokens.access_token + }; + return { headers, res: r.res }; + }); + } + revokeToken(token, callback) { + const opts = { + url: OAuth2Client.GOOGLE_OAUTH2_REVOKE_URL_ + '?' + + querystring.stringify({ token }) + }; + if (callback) { + this.transporter.request(opts).then(r => callback(null, r), callback); + } + else { + return this.transporter.request(opts); + } + } + revokeCredentials(callback) { + if (callback) { + this.revokeCredentialsAsync().then(res => callback(null, res), callback); + } + else { + return this.revokeCredentialsAsync(); + } + } + revokeCredentialsAsync() { + return __awaiter(this, void 0, void 0, function* () { + const token = this.credentials.access_token; + this.credentials = {}; + if (token) { + return this.revokeToken(token); + } + else { + throw new Error('No access token to revoke.'); + } + }); + } + request(opts, callback) { + if (callback) { + this.requestAsync(opts).then(r => callback(null, r), e => { + return callback(e, e.response); + }); + } + else { + return this.requestAsync(opts); + } + } + requestAsync(opts, retry = false) { + return __awaiter(this, void 0, void 0, function* () { + let r2; + try { + const r = yield this.getRequestMetadataAsync(opts.url); + if (r.headers && r.headers.Authorization) { + opts.headers = opts.headers || {}; + opts.headers.Authorization = r.headers.Authorization; + } + if (this.apiKey) { + opts.params = Object.assign(opts.params || {}, { key: this.apiKey }); + } + r2 = yield this.transporter.request(opts); + } + catch (e) { + const res = e.response; + if (res) { + const statusCode = res.status; + // Retry the request for metadata if the following criteria are true: + // - We haven't already retried. It only makes sense to retry once. + // - The response was a 401 or a 403 + // - The request didn't send a readableStream + // - An access_token and refresh_token were available, but no + // expiry_date was availabe. This can happen when developers stash + // the access_token and refresh_token for later use, but the + // access_token fails on the first try because it's expired. + const mayRequireRefresh = this.credentials && + this.credentials.access_token && this.credentials.refresh_token && + !this.credentials.expiry_date; + const isReadableStream = res.config.data instanceof stream.Readable; + const isAuthErr = statusCode === 401 || statusCode === 403; + if (!retry && isAuthErr && !isReadableStream && mayRequireRefresh) { + yield this.refreshAccessTokenAsync(); + return this.requestAsync(opts, true); + } + } + throw e; + } + return r2; + }); + } + verifyIdToken(options, callback) { + // This function used to accept two arguments instead of an options object. + // Check the types to help users upgrade with less pain. + // This check can be removed after a 2.0 release. + if (callback && typeof callback !== 'function') { + throw new Error('This method accepts an options object as the first parameter, which includes the idToken, audience, and maxExpiry.'); + } + if (callback) { + this.verifyIdTokenAsync(options).then(r => callback(null, r), callback); + } + else { + return this.verifyIdTokenAsync(options); + } + } + verifyIdTokenAsync(options) { + return __awaiter(this, void 0, void 0, function* () { + if (!options.idToken) { + throw new Error('The verifyIdToken method requires an ID Token'); + } + const response = yield this.getFederatedSignonCertsAsync(); + const login = this.verifySignedJwtWithCerts(options.idToken, response.certs, options.audience, OAuth2Client.ISSUERS_, options.maxExpiry); + return login; + }); + } + /** + * Obtains information about the provisioned access token. Especially useful + * if you want to check the scopes that were provisioned to a given token. + * + * @param accessToken Required. The Access Token for which you want to get + * user info. + */ + getTokenInfo(accessToken) { + return __awaiter(this, void 0, void 0, function* () { + const { data } = yield this.transporter.request({ + method: 'GET', + url: OAuth2Client.GOOGLE_TOKEN_INFO_URL, + params: { access_token: accessToken } + }); + const info = Object.assign({ + expiry_date: ((new Date()).getTime() + (data.expires_in * 1000)), + scopes: data.scope.split(' ') + }, data); + delete info.expires_in; + delete info.scope; + return info; + }); + } + getFederatedSignonCerts(callback) { + if (callback) { + this.getFederatedSignonCertsAsync().then(r => callback(null, r.certs, r.res), callback); + } + else { + return this.getFederatedSignonCertsAsync(); + } + } + getFederatedSignonCertsAsync() { + return __awaiter(this, void 0, void 0, function* () { + const nowTime = (new Date()).getTime(); + if (this.certificateExpiry && + (nowTime < this.certificateExpiry.getTime())) { + return { certs: this.certificateCache }; + } + let res; + try { + res = yield this.transporter.request({ url: OAuth2Client.GOOGLE_OAUTH2_FEDERATED_SIGNON_CERTS_URL_ }); + } + catch (e) { + throw new Error('Failed to retrieve verification certificates: ' + e); + } + const cacheControl = res ? res.headers['cache-control'] : undefined; + let cacheAge = -1; + if (cacheControl) { + const pattern = new RegExp('max-age=([0-9]*)'); + const regexResult = pattern.exec(cacheControl); + if (regexResult && regexResult.length === 2) { + // Cache results with max-age (in seconds) + cacheAge = Number(regexResult[1]) * 1000; // milliseconds + } + } + const now = new Date(); + this.certificateExpiry = + cacheAge === -1 ? null : new Date(now.getTime() + cacheAge); + this.certificateCache = res.data; + return { certs: res.data, res }; + }); + } + /** + * Verify the id token is signed with the correct certificate + * and is from the correct audience. + * @param jwt The jwt to verify (The ID Token in this case). + * @param certs The array of certs to test the jwt against. + * @param requiredAudience The audience to test the jwt against. + * @param issuers The allowed issuers of the jwt (Optional). + * @param maxExpiry The max expiry the certificate can be (Optional). + * @return Returns a LoginTicket on verification. + */ + verifySignedJwtWithCerts(jwt, certs, requiredAudience, issuers, maxExpiry) { + if (!maxExpiry) { + maxExpiry = OAuth2Client.MAX_TOKEN_LIFETIME_SECS_; + } + const segments = jwt.split('.'); + if (segments.length !== 3) { + throw new Error('Wrong number of segments in token: ' + jwt); + } + const signed = segments[0] + '.' + segments[1]; + const signature = segments[2]; + let envelope; + let payload; + try { + envelope = JSON.parse(this.decodeBase64(segments[0])); + } + catch (err) { + throw new Error('Can\'t parse token envelope: ' + segments[0]); + } + if (!envelope) { + throw new Error('Can\'t parse token envelope: ' + segments[0]); + } + try { + payload = JSON.parse(this.decodeBase64(segments[1])); + } + catch (err) { + throw new Error('Can\'t parse token payload: ' + segments[0]); + } + if (!payload) { + throw new Error('Can\'t parse token payload: ' + segments[1]); + } + if (!certs.hasOwnProperty(envelope.kid)) { + // If this is not present, then there's no reason to attempt verification + throw new Error('No pem found for envelope: ' + JSON.stringify(envelope)); + } + const pem = certs[envelope.kid]; + const pemVerifier = new pemverifier_1.PemVerifier(); + const verified = pemVerifier.verify(pem, signed, signature, 'base64'); + if (!verified) { + throw new Error('Invalid token signature: ' + jwt); + } + if (!payload.iat) { + throw new Error('No issue time in token: ' + JSON.stringify(payload)); + } + if (!payload.exp) { + throw new Error('No expiration time in token: ' + JSON.stringify(payload)); + } + const iat = Number(payload.iat); + if (isNaN(iat)) + throw new Error('iat field using invalid format'); + const exp = Number(payload.exp); + if (isNaN(exp)) + throw new Error('exp field using invalid format'); + const now = new Date().getTime() / 1000; + if (exp >= now + maxExpiry) { + throw new Error('Expiration time too far in future: ' + JSON.stringify(payload)); + } + const earliest = iat - OAuth2Client.CLOCK_SKEW_SECS_; + const latest = exp + OAuth2Client.CLOCK_SKEW_SECS_; + if (now < earliest) { + throw new Error('Token used too early, ' + now + ' < ' + earliest + ': ' + + JSON.stringify(payload)); + } + if (now > latest) { + throw new Error('Token used too late, ' + now + ' > ' + latest + ': ' + + JSON.stringify(payload)); + } + if (issuers && issuers.indexOf(payload.iss) < 0) { + throw new Error('Invalid issuer, expected one of [' + issuers + '], but got ' + + payload.iss); + } + // Check the audience matches if we have one + if (typeof requiredAudience !== 'undefined' && requiredAudience !== null) { + const aud = payload.aud; + let audVerified = false; + // If the requiredAudience is an array, check if it contains token + // audience + if (requiredAudience.constructor === Array) { + audVerified = (requiredAudience.indexOf(aud) > -1); + } + else { + audVerified = (aud === requiredAudience); + } + if (!audVerified) { + throw new Error('Wrong recipient, payload audience != requiredAudience'); + } + } + return new loginticket_1.LoginTicket(envelope, payload); + } + /** + * This is a utils method to decode a base64 string + * @param b64String The string to base64 decode + * @return The decoded string + */ + decodeBase64(b64String) { + const buffer = Buffer.from(b64String, 'base64'); + return buffer.toString('utf8'); + } + /** + * Returns true if a token is expired or will expire within + * eagerRefreshThresholdMillismilliseconds. + * If there is no expiry time, assumes the token is not expired or expiring. + */ + isTokenExpiring() { + const expiryDate = this.credentials.expiry_date; + return expiryDate ? expiryDate <= + ((new Date()).getTime() + this.eagerRefreshThresholdMillis) : + false; + } +} +OAuth2Client.GOOGLE_TOKEN_INFO_URL = 'https://oauth2.googleapis.com/tokeninfo'; +/** + * The base URL for auth endpoints. + */ +OAuth2Client.GOOGLE_OAUTH2_AUTH_BASE_URL_ = 'https://accounts.google.com/o/oauth2/v2/auth'; +/** + * The base endpoint for token retrieval. + */ +OAuth2Client.GOOGLE_OAUTH2_TOKEN_URL_ = 'https://oauth2.googleapis.com/token'; +/** + * The base endpoint to revoke tokens. + */ +OAuth2Client.GOOGLE_OAUTH2_REVOKE_URL_ = 'https://oauth2.googleapis.com/revoke'; +/** + * Google Sign on certificates. + */ +OAuth2Client.GOOGLE_OAUTH2_FEDERATED_SIGNON_CERTS_URL_ = 'https://www.googleapis.com/oauth2/v1/certs'; +/** + * Clock skew - five minutes in seconds + */ +OAuth2Client.CLOCK_SKEW_SECS_ = 300; +/** + * Max Token Lifetime is one day in seconds + */ +OAuth2Client.MAX_TOKEN_LIFETIME_SECS_ = 86400; +/** + * The allowed oauth token issuers. + */ +OAuth2Client.ISSUERS_ = ['accounts.google.com', 'https://accounts.google.com']; +exports.OAuth2Client = OAuth2Client; +//# sourceMappingURL=oauth2client.js.map \ No newline at end of file diff --git a/express-server/node_modules/google-auth-library/build/src/auth/oauth2client.js.map b/express-server/node_modules/google-auth-library/build/src/auth/oauth2client.js.map new file mode 100644 index 00000000..a8091b43 --- /dev/null +++ b/express-server/node_modules/google-auth-library/build/src/auth/oauth2client.js.map @@ -0,0 +1 @@ +{"version":3,"file":"oauth2client.js","sourceRoot":"","sources":["../../../src/auth/oauth2client.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/google-auth-library/build/src/auth/refreshclient.d.ts b/express-server/node_modules/google-auth-library/build/src/auth/refreshclient.d.ts new file mode 100644 index 00000000..459caddd --- /dev/null +++ b/express-server/node_modules/google-auth-library/build/src/auth/refreshclient.d.ts @@ -0,0 +1,58 @@ +/** + * 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 * as stream from 'stream'; +import { JWTInput } from './credentials'; +import { GetTokenResponse, OAuth2Client, RefreshOptions } from './oauth2client'; +export interface UserRefreshClientOptions extends RefreshOptions { + clientId?: string; + clientSecret?: string; + refreshToken?: string; +} +export declare class UserRefreshClient extends OAuth2Client { + _refreshToken?: string | null; + /** + * User Refresh Token credentials. + * + * @param clientId The authentication client ID. + * @param clientSecret The authentication client secret. + * @param refreshToken The authentication refresh token. + */ + constructor(clientId?: string, clientSecret?: string, refreshToken?: string); + constructor(options: UserRefreshClientOptions); + constructor(clientId?: string, clientSecret?: string, refreshToken?: string); + /** + * Refreshes the access token. + * @param refreshToken An ignored refreshToken.. + * @param callback Optional callback. + */ + protected refreshTokenNoCache(refreshToken?: string | null): Promise; + /** + * Create a UserRefreshClient credentials instance using the given input + * options. + * @param json The input object. + */ + fromJSON(json: JWTInput): void; + /** + * Create a UserRefreshClient credentials instance using the given input + * stream. + * @param inputStream The input stream. + * @param callback Optional callback. + */ + fromStream(inputStream: stream.Readable): Promise; + fromStream(inputStream: stream.Readable, callback: (err?: Error) => void): void; + private fromStreamAsync; +} diff --git a/express-server/node_modules/google-auth-library/build/src/auth/refreshclient.js b/express-server/node_modules/google-auth-library/build/src/auth/refreshclient.js new file mode 100644 index 00000000..39a71492 --- /dev/null +++ b/express-server/node_modules/google-auth-library/build/src/auth/refreshclient.js @@ -0,0 +1,114 @@ +"use strict"; +/** + * 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. + */ +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const oauth2client_1 = require("./oauth2client"); +class UserRefreshClient extends oauth2client_1.OAuth2Client { + constructor(optionsOrClientId, clientSecret, refreshToken, eagerRefreshThresholdMillis) { + const opts = (optionsOrClientId && typeof optionsOrClientId === 'object') ? + optionsOrClientId : + { + clientId: optionsOrClientId, + clientSecret, + refreshToken, + eagerRefreshThresholdMillis + }; + super({ + clientId: opts.clientId, + clientSecret: opts.clientSecret, + eagerRefreshThresholdMillis: opts.eagerRefreshThresholdMillis + }); + this._refreshToken = opts.refreshToken; + } + /** + * Refreshes the access token. + * @param refreshToken An ignored refreshToken.. + * @param callback Optional callback. + */ + refreshTokenNoCache(refreshToken) { + const _super = name => super[name]; + return __awaiter(this, void 0, void 0, function* () { + return _super("refreshTokenNoCache").call(this, this._refreshToken); + }); + } + /** + * Create a UserRefreshClient credentials instance using the given input + * options. + * @param json The input object. + */ + fromJSON(json) { + if (!json) { + throw new Error('Must pass in a JSON object containing the user refresh token'); + } + if (json.type !== 'authorized_user') { + throw new Error('The incoming JSON object does not have the "authorized_user" type'); + } + if (!json.client_id) { + throw new Error('The incoming JSON object does not contain a client_id field'); + } + if (!json.client_secret) { + throw new Error('The incoming JSON object does not contain a client_secret field'); + } + if (!json.refresh_token) { + throw new Error('The incoming JSON object does not contain a refresh_token field'); + } + this._clientId = json.client_id; + this._clientSecret = json.client_secret; + this._refreshToken = json.refresh_token; + this.credentials.refresh_token = json.refresh_token; + } + fromStream(inputStream, callback) { + if (callback) { + this.fromStreamAsync(inputStream).then(r => callback(), callback); + } + else { + return this.fromStreamAsync(inputStream); + } + } + fromStreamAsync(inputStream) { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve, reject) => { + if (!inputStream) { + return reject(new Error('Must pass in a stream containing the user refresh token.')); + } + let s = ''; + inputStream.setEncoding('utf8') + .on('error', reject) + .on('data', (chunk) => s += chunk) + .on('end', () => { + try { + const data = JSON.parse(s); + this.fromJSON(data); + return resolve(); + } + catch (err) { + return reject(err); + } + }); + }); + }); + } +} +exports.UserRefreshClient = UserRefreshClient; +//# sourceMappingURL=refreshclient.js.map \ No newline at end of file diff --git a/express-server/node_modules/google-auth-library/build/src/auth/refreshclient.js.map b/express-server/node_modules/google-auth-library/build/src/auth/refreshclient.js.map new file mode 100644 index 00000000..8f247687 --- /dev/null +++ b/express-server/node_modules/google-auth-library/build/src/auth/refreshclient.js.map @@ -0,0 +1 @@ +{"version":3,"file":"refreshclient.js","sourceRoot":"","sources":["../../../src/auth/refreshclient.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/google-auth-library/build/src/index.d.ts b/express-server/node_modules/google-auth-library/build/src/index.d.ts new file mode 100644 index 00000000..9809eddb --- /dev/null +++ b/express-server/node_modules/google-auth-library/build/src/index.d.ts @@ -0,0 +1,27 @@ +/** + * Copyright 2017 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 { GoogleAuth } from './auth/googleauth'; +export { Compute, ComputeOptions } from './auth/computeclient'; +export { Credentials } from './auth/credentials'; +export { GoogleAuthOptions } from './auth/googleauth'; +export { IAMAuth } from './auth/iam'; +export { JWTAccess } from './auth/jwtaccess'; +export { JWT } from './auth/jwtclient'; +export { CodeChallengeMethod, OAuth2Client } from './auth/oauth2client'; +export { UserRefreshClient } from './auth/refreshclient'; +export { DefaultTransporter } from './transporters'; +declare const auth: GoogleAuth; +export { auth, GoogleAuth }; diff --git a/express-server/node_modules/google-auth-library/build/src/index.js b/express-server/node_modules/google-auth-library/build/src/index.js new file mode 100644 index 00000000..22ae5c11 --- /dev/null +++ b/express-server/node_modules/google-auth-library/build/src/index.js @@ -0,0 +1,37 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * Copyright 2017 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. + */ +const googleauth_1 = require("./auth/googleauth"); +exports.GoogleAuth = googleauth_1.GoogleAuth; +var computeclient_1 = require("./auth/computeclient"); +exports.Compute = computeclient_1.Compute; +var iam_1 = require("./auth/iam"); +exports.IAMAuth = iam_1.IAMAuth; +var jwtaccess_1 = require("./auth/jwtaccess"); +exports.JWTAccess = jwtaccess_1.JWTAccess; +var jwtclient_1 = require("./auth/jwtclient"); +exports.JWT = jwtclient_1.JWT; +var oauth2client_1 = require("./auth/oauth2client"); +exports.CodeChallengeMethod = oauth2client_1.CodeChallengeMethod; +exports.OAuth2Client = oauth2client_1.OAuth2Client; +var refreshclient_1 = require("./auth/refreshclient"); +exports.UserRefreshClient = refreshclient_1.UserRefreshClient; +var transporters_1 = require("./transporters"); +exports.DefaultTransporter = transporters_1.DefaultTransporter; +const auth = new googleauth_1.GoogleAuth(); +exports.auth = auth; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/google-auth-library/build/src/index.js.map b/express-server/node_modules/google-auth-library/build/src/index.js.map new file mode 100644 index 00000000..8eccaa71 --- /dev/null +++ b/express-server/node_modules/google-auth-library/build/src/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;AAAA;;;;;;;;;;;;;;GAcG;AACH,kDAA6C;AAa/B,qBAbN,uBAAU,CAaM;AAXxB,sDAA6D;AAArD,kCAAA,OAAO,CAAA;AAGf,kCAAmC;AAA3B,wBAAA,OAAO,CAAA;AACf,8CAA2C;AAAnC,gCAAA,SAAS,CAAA;AACjB,8CAAqC;AAA7B,0BAAA,GAAG,CAAA;AACX,oDAAsE;AAA9D,6CAAA,mBAAmB,CAAA;AAAE,sCAAA,YAAY,CAAA;AACzC,sDAAuD;AAA/C,4CAAA,iBAAiB,CAAA;AACzB,+CAAkD;AAA1C,4CAAA,kBAAkB,CAAA;AAE1B,MAAM,IAAI,GAAG,IAAI,uBAAU,EAAE,CAAC;AACtB,oBAAI"} \ No newline at end of file diff --git a/express-server/node_modules/google-auth-library/build/src/messages.d.ts b/express-server/node_modules/google-auth-library/build/src/messages.d.ts new file mode 100644 index 00000000..723b5ccf --- /dev/null +++ b/express-server/node_modules/google-auth-library/build/src/messages.d.ts @@ -0,0 +1,76 @@ +/** + * Copyright 2018 Google LLC. 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. + */ +export declare enum WarningTypes { + WARNING = "Warning", + DEPRECATION = "DeprecationWarning" +} +export declare function warn(warning: Warning): void; +export interface Warning { + code: string; + type: WarningTypes; + message: string; + warned?: boolean; +} +export declare const PROBLEMATIC_CREDENTIALS_WARNING: { + code: string; + type: WarningTypes; + message: string; +}; +export declare const DEFAULT_PROJECT_ID_DEPRECATED: { + code: string; + type: WarningTypes; + message: string; +}; +export declare const COMPUTE_CREATE_SCOPED_DEPRECATED: { + code: string; + type: WarningTypes; + message: string; +}; +export declare const JWT_CREATE_SCOPED_DEPRECATED: { + code: string; + type: WarningTypes; + message: string; +}; +export declare const IAM_CREATE_SCOPED_DEPRECATED: { + code: string; + type: WarningTypes; + message: string; +}; +export declare const JWT_ACCESS_CREATE_SCOPED_DEPRECATED: { + code: string; + type: WarningTypes; + message: string; +}; +export declare const REFRESH_ACCESS_TOKEN_DEPRECATED: { + code: string; + type: WarningTypes; + message: string; +}; +export declare const OAUTH_GET_REQUEST_METADATA_DEPRECATED: { + code: string; + type: WarningTypes; + message: string; +}; +export declare const IAM_GET_REQUEST_METADATA_DEPRECATED: { + code: string; + type: WarningTypes; + message: string; +}; +export declare const JWT_ACCESS_GET_REQUEST_METADATA_DEPRECATED: { + code: string; + type: WarningTypes; + message: string; +}; diff --git a/express-server/node_modules/google-auth-library/build/src/messages.js b/express-server/node_modules/google-auth-library/build/src/messages.js new file mode 100644 index 00000000..785f6132 --- /dev/null +++ b/express-server/node_modules/google-auth-library/build/src/messages.js @@ -0,0 +1,133 @@ +"use strict"; +/** + * Copyright 2018 Google LLC. 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const semver = require("semver"); +var WarningTypes; +(function (WarningTypes) { + WarningTypes["WARNING"] = "Warning"; + WarningTypes["DEPRECATION"] = "DeprecationWarning"; +})(WarningTypes = exports.WarningTypes || (exports.WarningTypes = {})); +function warn(warning) { + // Only show a given warning once + if (warning.warned) { + return; + } + warning.warned = true; + if (semver.satisfies(process.version, '>=8')) { + // @types/node doesn't recognize the emitWarning syntax which + // accepts a config object, so `as any` it is + // https://nodejs.org/docs/latest-v8.x/api/process.html#process_process_emitwarning_warning_options + // tslint:disable-next-line no-any + process.emitWarning(warning.message, warning); + } + else { + // This path can be removed once we drop support for Node 6. + // https://nodejs.org/docs/latest-v6.x/api/process.html#process_process_emitwarning_warning_name_ctor + process.emitWarning(warning.message, warning.type); + } +} +exports.warn = warn; +exports.PROBLEMATIC_CREDENTIALS_WARNING = { + code: 'google-auth-library:00001', + type: WarningTypes.WARNING, + message: [ + 'Your application has authenticated using end user credentials from Google', + 'Cloud SDK. We recommend that most server applications use service accounts', + 'instead. If your application continues to use end user credentials from', + 'Cloud SDK, you might receive a "quota exceeded" or "API not enabled" error.', + 'For more information about service accounts, see', + 'https://cloud.google.com/docs/authentication/.' + ].join(' ') +}; +exports.DEFAULT_PROJECT_ID_DEPRECATED = { + code: 'google-auth-library:DEP002', + type: WarningTypes.DEPRECATION, + message: [ + 'The `getDefaultProjectId` method has been deprecated, and will be removed', + 'in the 3.0 release of google-auth-library. Please use the `getProjectId`', + 'method instead.' + ].join(' ') +}; +exports.COMPUTE_CREATE_SCOPED_DEPRECATED = { + code: 'google-auth-library:DEP003', + type: WarningTypes.DEPRECATION, + message: [ + 'The `createScopedRequired` method on the `Compute` class has been deprecated,', + 'and will be removed in the 3.0 release of google-auth-library.' + ].join(' ') +}; +exports.JWT_CREATE_SCOPED_DEPRECATED = { + code: 'google-auth-library:DEP004', + type: WarningTypes.DEPRECATION, + message: [ + 'The `createScopedRequired` method on the `JWT` class has been deprecated,', + 'and will be removed in the 3.0 release of google-auth-library.' + ].join(' ') +}; +exports.IAM_CREATE_SCOPED_DEPRECATED = { + code: 'google-auth-library:DEP005', + type: WarningTypes.DEPRECATION, + message: [ + 'The `createScopedRequired` method on the `IAM` class has been deprecated,', + 'and will be removed in the 3.0 release of google-auth-library.' + ].join(' ') +}; +exports.JWT_ACCESS_CREATE_SCOPED_DEPRECATED = { + code: 'google-auth-library:DEP006', + type: WarningTypes.DEPRECATION, + message: [ + 'The `createScopedRequired` method on the `JWTAccess` class has been deprecated,', + 'and will be removed in the 3.0 release of google-auth-library.' + ].join(' ') +}; +exports.REFRESH_ACCESS_TOKEN_DEPRECATED = { + code: 'google-auth-library:DEP007', + type: WarningTypes.DEPRECATION, + message: [ + 'The `refreshAccessToken` method has been deprecated, and will be removed', + 'in the 3.0 release of google-auth-library. Please use the `getRequestHeaders`', + 'method instead.' + ].join(' ') +}; +exports.OAUTH_GET_REQUEST_METADATA_DEPRECATED = { + code: 'google-auth-library:DEP004', + type: WarningTypes.DEPRECATION, + message: [ + 'The `getRequestMetadata` method on the `OAuth2` class has been deprecated,', + 'and will be removed in the 3.0 release of google-auth-library. Please use', + 'the `getRequestHeaders` method instead.' + ].join(' ') +}; +exports.IAM_GET_REQUEST_METADATA_DEPRECATED = { + code: 'google-auth-library:DEP005', + type: WarningTypes.DEPRECATION, + message: [ + 'The `getRequestMetadata` method on the `IAM` class has been deprecated,', + 'and will be removed in the 3.0 release of google-auth-library. Please use', + 'the `getRequestHeaders` method instead.' + ].join(' ') +}; +exports.JWT_ACCESS_GET_REQUEST_METADATA_DEPRECATED = { + code: 'google-auth-library:DEP006', + type: WarningTypes.DEPRECATION, + message: [ + 'The `getRequestMetadata` method on the `JWTAccess` class has been deprecated,', + 'and will be removed in the 3.0 release of google-auth-library. Please use', + 'the `getRequestHeaders` method instead.' + ].join(' ') +}; +//# sourceMappingURL=messages.js.map \ No newline at end of file diff --git a/express-server/node_modules/google-auth-library/build/src/messages.js.map b/express-server/node_modules/google-auth-library/build/src/messages.js.map new file mode 100644 index 00000000..939ea514 --- /dev/null +++ b/express-server/node_modules/google-auth-library/build/src/messages.js.map @@ -0,0 +1 @@ +{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/messages.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/google-auth-library/build/src/options.d.ts b/express-server/node_modules/google-auth-library/build/src/options.d.ts new file mode 100644 index 00000000..4f20e612 --- /dev/null +++ b/express-server/node_modules/google-auth-library/build/src/options.d.ts @@ -0,0 +1,16 @@ +/** + * Copyright 2017 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. + */ +export declare function validate(options: any): void; diff --git a/express-server/node_modules/google-auth-library/build/src/options.js b/express-server/node_modules/google-auth-library/build/src/options.js new file mode 100644 index 00000000..e7b457c0 --- /dev/null +++ b/express-server/node_modules/google-auth-library/build/src/options.js @@ -0,0 +1,36 @@ +"use strict"; +/** + * Copyright 2017 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +// Accepts an options object passed from the user to the API. In the +// previous version of the API, it referred to a `Request` options object. +// Now it refers to an Axiox Request Config object. This is here to help +// ensure users don't pass invalid options when they upgrade from 0.x to 1.x. +// tslint:disable-next-line no-any +function validate(options) { + const vpairs = [ + { invalid: 'uri', expected: 'url' }, { invalid: 'json', expected: 'data' }, + { invalid: 'qs', expected: 'params' } + ]; + for (const pair of vpairs) { + if (options[pair.invalid]) { + const e = `'${pair.invalid}' is not a valid configuration option. Please use '${pair.expected}' instead. This library is using Axios for requests. Please see https://github.com/axios/axios to learn more about the valid request options.`; + throw new Error(e); + } + } +} +exports.validate = validate; +//# sourceMappingURL=options.js.map \ No newline at end of file diff --git a/express-server/node_modules/google-auth-library/build/src/options.js.map b/express-server/node_modules/google-auth-library/build/src/options.js.map new file mode 100644 index 00000000..cac7841b --- /dev/null +++ b/express-server/node_modules/google-auth-library/build/src/options.js.map @@ -0,0 +1 @@ +{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/options.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAEH,qEAAqE;AACrE,0EAA0E;AAC1E,yEAAyE;AACzE,6EAA6E;AAC7E,kCAAkC;AAClC,SAAgB,QAAQ,CAAC,OAAY;IACnC,MAAM,MAAM,GAAG;QACb,EAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAC,EAAE,EAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAC;QACtE,EAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAC;KACpC,CAAC;IACF,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE;QACzB,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YACzB,MAAM,CAAC,GAAG,IACN,IAAI,CAAC,OAAO,sDACZ,IAAI,CAAC,QAAQ,+IAA+I,CAAC;YACjK,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;SACpB;KACF;AACH,CAAC;AAbD,4BAaC"} \ No newline at end of file diff --git a/express-server/node_modules/google-auth-library/build/src/pemverifier.d.ts b/express-server/node_modules/google-auth-library/build/src/pemverifier.d.ts new file mode 100644 index 00000000..cebe17d4 --- /dev/null +++ b/express-server/node_modules/google-auth-library/build/src/pemverifier.d.ts @@ -0,0 +1,20 @@ +/** + * Copyright 2014 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 * as crypto from 'crypto'; +export declare class PemVerifier { + verify(pubkey: string, data: string | Buffer, signature: string, encoding: crypto.HexBase64Latin1Encoding): boolean; +} diff --git a/express-server/node_modules/google-auth-library/build/src/pemverifier.js b/express-server/node_modules/google-auth-library/build/src/pemverifier.js new file mode 100644 index 00000000..16a4105a --- /dev/null +++ b/express-server/node_modules/google-auth-library/build/src/pemverifier.js @@ -0,0 +1,27 @@ +"use strict"; +/** + * Copyright 2014 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const crypto = require("crypto"); +class PemVerifier { + verify(pubkey, data, signature, encoding) { + const verifier = crypto.createVerify('sha256'); + verifier.update(data); + return verifier.verify(pubkey, signature, encoding); + } +} +exports.PemVerifier = PemVerifier; +//# sourceMappingURL=pemverifier.js.map \ No newline at end of file diff --git a/express-server/node_modules/google-auth-library/build/src/pemverifier.js.map b/express-server/node_modules/google-auth-library/build/src/pemverifier.js.map new file mode 100644 index 00000000..bec372d9 --- /dev/null +++ b/express-server/node_modules/google-auth-library/build/src/pemverifier.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pemverifier.js","sourceRoot":"","sources":["../../src/pemverifier.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAEH,iCAAiC;AAEjC,MAAa,WAAW;IACtB,MAAM,CACF,MAAc,EAAE,IAAmB,EAAE,SAAiB,EACtD,QAAwC;QAC1C,MAAM,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC/C,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtB,OAAO,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IACtD,CAAC;CACF;AARD,kCAQC"} \ No newline at end of file diff --git a/express-server/node_modules/google-auth-library/build/src/transporters.d.ts b/express-server/node_modules/google-auth-library/build/src/transporters.d.ts new file mode 100644 index 00000000..150af51a --- /dev/null +++ b/express-server/node_modules/google-auth-library/build/src/transporters.d.ts @@ -0,0 +1,51 @@ +/** + * Copyright 2012 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 { AxiosError, AxiosPromise, AxiosRequestConfig, AxiosResponse } from 'axios'; +export interface Transporter { + request(opts: AxiosRequestConfig): AxiosPromise; + request(opts: AxiosRequestConfig, callback?: BodyResponseCallback): void; + request(opts: AxiosRequestConfig, callback?: BodyResponseCallback): AxiosPromise | void; +} +export interface BodyResponseCallback { + (err: Error | null, res?: AxiosResponse | null): void; +} +export interface RequestError extends AxiosError { + errors: Error[]; +} +export declare class DefaultTransporter { + /** + * Default user agent. + */ + static readonly USER_AGENT: string; + /** + * Configures request options before making a request. + * @param opts AxiosRequestConfig options. + * @return Configured options. + */ + configure(opts?: AxiosRequestConfig): AxiosRequestConfig; + /** + * Makes a request using Axios with given options. + * @param opts AxiosRequestConfig options. + * @param callback optional callback that contains AxiosResponse object. + * @return AxiosPromise, assuming no callback is passed. + */ + request(opts: AxiosRequestConfig): AxiosPromise; + request(opts: AxiosRequestConfig, callback?: BodyResponseCallback): void; + /** + * Changes the error to include details from the body. + */ + private processError; +} diff --git a/express-server/node_modules/google-auth-library/build/src/transporters.js b/express-server/node_modules/google-auth-library/build/src/transporters.js new file mode 100644 index 00000000..c1336bad --- /dev/null +++ b/express-server/node_modules/google-auth-library/build/src/transporters.js @@ -0,0 +1,122 @@ +"use strict"; +/** + * Copyright 2012 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const axios_1 = require("axios"); +const options_1 = require("./options"); +// tslint:disable-next-line variable-name +const HttpsProxyAgent = require('https-proxy-agent'); +// tslint:disable-next-line no-var-requires +const pkg = require('../../package.json'); +const PRODUCT_NAME = 'google-api-nodejs-client'; +/** + * Axios will use XHR if it is available. In the case of Electron, + * since XHR is there it will try to use that. This leads to OPTIONS + * preflight requests which googleapis DOES NOT like. This line of + * code pins the adapter to ensure it uses node. + * https://github.com/google/google-api-nodejs-client/issues/1083 + */ +axios_1.default.defaults.adapter = require('axios/lib/adapters/http'); +class DefaultTransporter { + /** + * Configures request options before making a request. + * @param opts AxiosRequestConfig options. + * @return Configured options. + */ + configure(opts = {}) { + // set transporter user agent + opts.headers = opts.headers || {}; + const uaValue = opts.headers['User-Agent']; + if (!uaValue) { + opts.headers['User-Agent'] = DefaultTransporter.USER_AGENT; + } + else if (!uaValue.includes(`${PRODUCT_NAME}/`)) { + opts.headers['User-Agent'] = + `${uaValue} ${DefaultTransporter.USER_AGENT}`; + } + return opts; + } + request(opts, callback) { + // ensure the user isn't passing in request-style options + opts = this.configure(opts); + try { + options_1.validate(opts); + } + catch (e) { + if (callback) { + return callback(e); + } + else { + throw e; + } + } + // If the user configured an `HTTPS_PROXY` environment variable, create + // a custom agent to proxy the request. + const proxy = process.env.HTTPS_PROXY || process.env.https_proxy; + if (proxy) { + opts.httpsAgent = new HttpsProxyAgent(proxy); + opts.proxy = false; + } + if (callback) { + axios_1.default(opts).then(r => { + callback(null, r); + }, e => { + callback(this.processError(e)); + }); + } + else { + return axios_1.default(opts).catch(e => { + throw this.processError(e); + }); + } + } + /** + * Changes the error to include details from the body. + */ + processError(e) { + const res = e.response; + const err = e; + const body = res ? res.data : null; + if (res && body && body.error && res.status !== 200) { + if (typeof body.error === 'string') { + err.message = body.error; + err.code = res.status.toString(); + } + else if (Array.isArray(body.error.errors)) { + err.message = + body.error.errors.map((err2) => err2.message).join('\n'); + err.code = body.error.code; + err.errors = body.error.errors; + } + else { + err.message = body.error.message; + err.code = body.error.code || res.status; + } + } + else if (res && res.status >= 400) { + // Consider all 4xx and 5xx responses errors. + err.message = body; + err.code = res.status.toString(); + } + return err; + } +} +/** + * Default user agent. + */ +DefaultTransporter.USER_AGENT = `${PRODUCT_NAME}/${pkg.version}`; +exports.DefaultTransporter = DefaultTransporter; +//# sourceMappingURL=transporters.js.map \ No newline at end of file diff --git a/express-server/node_modules/google-auth-library/build/src/transporters.js.map b/express-server/node_modules/google-auth-library/build/src/transporters.js.map new file mode 100644 index 00000000..22cca740 --- /dev/null +++ b/express-server/node_modules/google-auth-library/build/src/transporters.js.map @@ -0,0 +1 @@ +{"version":3,"file":"transporters.js","sourceRoot":"","sources":["../../src/transporters.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/google-auth-library/package.json b/express-server/node_modules/google-auth-library/package.json new file mode 100644 index 00000000..8e897ea3 --- /dev/null +++ b/express-server/node_modules/google-auth-library/package.json @@ -0,0 +1,130 @@ +{ + "_from": "google-auth-library@^2.0.0", + "_id": "google-auth-library@2.0.0", + "_inBundle": false, + "_integrity": "sha512-lN6jecH8L30uAirTeOm9ij9CTMJniwg7fbuyOpgH4lFkO50LKhPrx/ZbLGK8aBCzi/u4/tpdZnJABFuMqtIx0A==", + "_location": "/google-auth-library", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "google-auth-library@^2.0.0", + "name": "google-auth-library", + "escapedName": "google-auth-library", + "rawSpec": "^2.0.0", + "saveSpec": null, + "fetchSpec": "^2.0.0" + }, + "_requiredBy": [ + "/googleapis", + "/googleapis-common" + ], + "_resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-2.0.0.tgz", + "_shasum": "55d20e03a9820a1c28ee14cd1b6864b7be38b5e4", + "_spec": "google-auth-library@^2.0.0", + "_where": "C:\\Users\\Georg\\GitHub\\SmartShopper\\express-server\\node_modules\\googleapis", + "author": { + "name": "Google Inc." + }, + "bugs": { + "url": "https://github.com/google/google-auth-library-nodejs/issues" + }, + "bundleDependencies": false, + "dependencies": { + "axios": "^0.18.0", + "gcp-metadata": "^0.7.0", + "gtoken": "^2.3.0", + "https-proxy-agent": "^2.2.1", + "jws": "^3.1.5", + "lodash.isstring": "^4.0.1", + "lru-cache": "^4.1.3", + "semver": "^5.5.0" + }, + "deprecated": false, + "description": "Google APIs Authentication Client Library for Node.js", + "devDependencies": { + "@types/jws": "^3.1.0", + "@types/lodash.isstring": "^4.0.3", + "@types/lru-cache": "^4.1.0", + "@types/mocha": "^5.2.1", + "@types/mv": "^2.1.0", + "@types/ncp": "^2.0.1", + "@types/nock": "^9.1.3", + "@types/node": "^10.5.1", + "@types/pify": "^3.0.2", + "@types/semver": "^5.5.0", + "@types/sinon": "^5.0.1", + "@types/tmp": "^0.0.33", + "assert-rejects": "^1.0.0", + "codecov": "^3.0.2", + "gh-pages": "^1.2.0", + "gts": "^0.8.0", + "hard-rejection": "^1.0.0", + "intelli-espower-loader": "^1.0.1", + "js-green-licenses": "^0.5.0", + "keypair": "^1.0.1", + "mocha": "^5.2.0", + "mv": "^2.1.1", + "ncp": "^2.0.0", + "nock": "^9.3.0", + "nyc": "^13.0.0", + "pify": "^4.0.0", + "prettier": "^1.13.4", + "sinon": "^6.0.0", + "source-map-support": "^0.5.6", + "tmp": "^0.0.33", + "typedoc": "^0.12.0", + "typescript": "~3.0.0" + }, + "engines": { + "node": ">=6" + }, + "files": [ + "LICENSE", + "README.md", + "build/src", + "package.json" + ], + "homepage": "https://github.com/google/google-auth-library-nodejs#readme", + "keywords": [ + "google", + "api", + "google apis", + "client", + "client library" + ], + "license": "Apache-2.0", + "main": "./build/src/index.js", + "name": "google-auth-library", + "nyc": { + "exclude": [ + "build/test" + ] + }, + "repository": { + "type": "git", + "url": "git+https://github.com/google/google-auth-library-nodejs.git" + }, + "scripts": { + "check": "gts check", + "clean": "gts clean", + "codecov": "nyc report --reporter=json && codecov -f coverage/*.json", + "compile": "tsc -p .", + "docs": "exit 0; typedoc --excludePrivate --excludeExternals --mode modules --out docs src && touch docs/.nojekyll", + "fix": "gts fix && npm run fix-samples", + "fix-samples": "prettier --write --single-quote samples/*.js", + "license-check": "jsgl --local .", + "lint": "npm run check", + "posttest": "npm run check && npm run license-check", + "prepare": "npm run compile", + "presystem-test": "npm run compile", + "pretest": "npm run compile", + "publish-docs": "gh-pages --dotfiles --dist docs --remote upstream", + "samples-test": "mocha samples/system-test", + "system-test": "mocha build/system-test", + "test": "npm run test-only", + "test-only": "nyc mocha build/test" + }, + "types": "./build/src/index.d.ts", + "version": "2.0.0" +} diff --git a/express-server/node_modules/google-p12-pem/LICENSE b/express-server/node_modules/google-p12-pem/LICENSE new file mode 100644 index 00000000..8dafa3b9 --- /dev/null +++ b/express-server/node_modules/google-p12-pem/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 Ryan Seys + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/express-server/node_modules/google-p12-pem/README.md b/express-server/node_modules/google-p12-pem/README.md new file mode 100644 index 00000000..ef0b1f5c --- /dev/null +++ b/express-server/node_modules/google-p12-pem/README.md @@ -0,0 +1,68 @@ +# google-p12-pem + +[![NPM Version][npm-image]][npm-url] +[![Build Status][travis-image]][travis-url] +[![Dependency Status][david-image]][david-url] +[![devDependency Status][david-dev-image]][david-dev-url] +[![Known Vulnerabilities][snyk-image]][snyk-url] +[![Greenkeeper badge](https://badges.greenkeeper.io/google/google-p12-pem.svg)](https://greenkeeper.io/) + +Convert Google `.p12` keys to `.pem` keys. + +## Installation + +``` sh +npm install google-p12-pem +``` + +## Usage + +### async/await style +```js +const {getPem} = require('google-p12-pem'); +async function foo() { + const pem = await getPem('/path/to/key.p12'); + console.log(pem); // '-----BEGIN RSA PRIVATE KEY-----\nMIICXQIBAAK...' +} +``` + +### promise style +```js +const {getPem} = require('google-p12-pem'); +getPem('/path/to/key.p12') + .then(pem => { + console.log(pem); // '-----BEGIN RSA PRIVATE KEY-----\nMIICXQIBAAK...' + }) + .catch(err => { + console.error(err); // :( + }); + +``` + +### callback style +```js +const {getPem} = require('google-p12-pem'); +getPem('/path/to/key.p12', function(err, pem) { + console.log(pem); // '-----BEGIN RSA PRIVATE KEY-----\nMIICXQIBAAK...' +}); +``` + +### CLI style + +``` sh +gp12-pem myfile.p12 > output.pem +``` + +## License +[MIT](LICENSE) + +[david-image]: https://david-dm.org/google/google-p12-pem.svg +[david-url]: https://david-dm.org/google/google-p12-pem +[david-dev-image]: https://david-dm.org/google/google-p12-pem/dev-status.svg +[david-dev-url]: https://david-dm.org/google/google-p12-pem?type=dev +[npm-image]: https://img.shields.io/npm/v/google-p12-pem.svg +[npm-url]: https://www.npmjs.com/package/google-p12-pem +[snyk-image]: https://snyk.io/test/github/google/google-p12-pem/badge.svg +[snyk-url]: https://snyk.io/test/github/google/google-p12-pem +[travis-image]: https://travis-ci.org/google/google-p12-pem.svg?branch=master +[travis-url]: https://travis-ci.org/google/google-p12-pem diff --git a/express-server/node_modules/google-p12-pem/build/src/bin/gp12-pem.d.ts b/express-server/node_modules/google-p12-pem/build/src/bin/gp12-pem.d.ts new file mode 100644 index 00000000..cb0ff5c3 --- /dev/null +++ b/express-server/node_modules/google-p12-pem/build/src/bin/gp12-pem.d.ts @@ -0,0 +1 @@ +export {}; diff --git a/express-server/node_modules/google-p12-pem/build/src/bin/gp12-pem.js b/express-server/node_modules/google-p12-pem/build/src/bin/gp12-pem.js new file mode 100644 index 00000000..3a2fabcd --- /dev/null +++ b/express-server/node_modules/google-p12-pem/build/src/bin/gp12-pem.js @@ -0,0 +1,20 @@ +#!/usr/bin/env node +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var gp12 = require("../index"); +var argv = process.argv; +var p12Path = argv[2]; +if (!p12Path) { + console.error('Please specify a *.p12 file to convert.'); + process.exit(1); +} +gp12.getPem(p12Path, function (err, pem) { + if (err) { + console.log(err); + process.exit(1); + } + else { + console.log(pem); + } +}); +//# sourceMappingURL=gp12-pem.js.map \ No newline at end of file diff --git a/express-server/node_modules/google-p12-pem/build/src/bin/gp12-pem.js.map b/express-server/node_modules/google-p12-pem/build/src/bin/gp12-pem.js.map new file mode 100644 index 00000000..496638be --- /dev/null +++ b/express-server/node_modules/google-p12-pem/build/src/bin/gp12-pem.js.map @@ -0,0 +1 @@ +{"version":3,"file":"gp12-pem.js","sourceRoot":"","sources":["../../../src/bin/gp12-pem.ts"],"names":[],"mappings":";;;AACA,+BAAiC;AAEjC,IAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;AAC1B,IAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAExB,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACb,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;IACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,UAAC,GAAG,EAAE,GAAG;IAC5B,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACR,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAAC,IAAI,CAAC,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;AACH,CAAC,CAAC,CAAC"} \ No newline at end of file diff --git a/express-server/node_modules/google-p12-pem/build/src/index.d.ts b/express-server/node_modules/google-p12-pem/build/src/index.d.ts new file mode 100644 index 00000000..6e5eb81a --- /dev/null +++ b/express-server/node_modules/google-p12-pem/build/src/index.d.ts @@ -0,0 +1,9 @@ +/** + * Convert a .p12 file to .pem string + * @param filename The .p12 key filename. + * @param callback The callback function. + * @return A promise that resolves with the .pem private key + * if no callback provided. + */ +export declare function getPem(filename: string): Promise; +export declare function getPem(filename: string, callback: (err: Error | null, pem: string | null) => void): void; diff --git a/express-server/node_modules/google-p12-pem/build/src/index.js b/express-server/node_modules/google-p12-pem/build/src/index.js new file mode 100644 index 00000000..35dab0be --- /dev/null +++ b/express-server/node_modules/google-p12-pem/build/src/index.js @@ -0,0 +1,42 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var fs = require("fs"); +var forge = require("node-forge"); +var pify = require("pify"); +var readFile = pify(fs.readFile); +function getPem(filename, callback) { + if (callback) { + getPemAsync(filename) + .then(function (pem) { return callback(null, pem); }) + .catch(function (err) { return callback(err, null); }); + } + else { + return getPemAsync(filename); + } +} +exports.getPem = getPem; +function getPemAsync(filename) { + return readFile(filename, { encoding: 'base64' }).then(function (keyp12) { + return convertToPem(keyp12); + }); +} +/** + * Converts a P12 in base64 encoding to a pem. + * @param p12base64 String containing base64 encoded p12. + * @returns a string containing the pem. + */ +function convertToPem(p12base64) { + var p12Der = forge.util.decode64(p12base64); + var p12Asn1 = forge.asn1.fromDer(p12Der); + var p12 = forge.pkcs12.pkcs12FromAsn1(p12Asn1, 'notasecret'); + var bags = p12.getBags({ friendlyName: 'privatekey' }); + if (bags.friendlyName) { + var privateKey = bags.friendlyName[0].key; + var pem = forge.pki.privateKeyToPem(privateKey); + return pem.replace(/\r\n/g, '\n'); + } + else { + throw new Error('Unable to get friendly name.'); + } +} +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/google-p12-pem/build/src/index.js.map b/express-server/node_modules/google-p12-pem/build/src/index.js.map new file mode 100644 index 00000000..0b4775b3 --- /dev/null +++ b/express-server/node_modules/google-p12-pem/build/src/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;AAAA,uBAAyB;AACzB,kCAAoC;AACpC,2BAA6B;AAE7B,IAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;AAanC,gBACI,QAAgB,EAAE,QAAsD;IAE1E,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QACb,WAAW,CAAC,QAAQ,CAAC;aAChB,IAAI,CAAC,UAAA,GAAG,IAAI,OAAA,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,EAAnB,CAAmB,CAAC;aAChC,KAAK,CAAC,UAAA,GAAG,IAAI,OAAA,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,EAAnB,CAAmB,CAAC,CAAC;IACzC,CAAC;IAAC,IAAI,CAAC,CAAC;QACN,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC;AAVD,wBAUC;AAED,qBAAqB,QAAgB;IACnC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAC,QAAQ,EAAE,QAAQ,EAAC,CAAC,CAAC,IAAI,CAAC,UAAA,MAAM;QACzD,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,sBAAsB,SAAiB;IACrC,IAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC9C,IAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3C,IAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAC/D,IAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,EAAC,YAAY,EAAE,YAAY,EAAC,CAAC,CAAC;IACvD,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QACtB,IAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAC5C,IAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAClD,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC;IAAC,IAAI,CAAC,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;AACH,CAAC"} \ No newline at end of file diff --git a/express-server/node_modules/google-p12-pem/package.json b/express-server/node_modules/google-p12-pem/package.json new file mode 100644 index 00000000..159f02e6 --- /dev/null +++ b/express-server/node_modules/google-p12-pem/package.json @@ -0,0 +1,80 @@ +{ + "_from": "google-p12-pem@^1.0.0", + "_id": "google-p12-pem@1.0.2", + "_inBundle": false, + "_integrity": "sha512-+EuKr4CLlGsnXx4XIJIVkcKYrsa2xkAmCvxRhX2HsazJzUBAJ35wARGeApHUn4nNfPD03Vl057FskNr20VaCyg==", + "_location": "/google-p12-pem", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "google-p12-pem@^1.0.0", + "name": "google-p12-pem", + "escapedName": "google-p12-pem", + "rawSpec": "^1.0.0", + "saveSpec": null, + "fetchSpec": "^1.0.0" + }, + "_requiredBy": [ + "/gtoken" + ], + "_resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-1.0.2.tgz", + "_shasum": "c8a3843504012283a0dbffc7430b7c753ecd4b07", + "_spec": "google-p12-pem@^1.0.0", + "_where": "C:\\Users\\Georg\\GitHub\\SmartShopper\\express-server\\node_modules\\gtoken", + "author": { + "name": "Ryan Seys" + }, + "bin": { + "gp12-pem": "build/src/bin/gp12-pem.js" + }, + "bugs": { + "url": "https://github.com/google/google-p12-pem/issues" + }, + "bundleDependencies": false, + "dependencies": { + "node-forge": "^0.7.4", + "pify": "^3.0.0" + }, + "deprecated": false, + "description": "Convert Google .p12 keys to .pem keys", + "devDependencies": { + "@types/mocha": "^2.2.48", + "@types/node": "^9.4.6", + "@types/node-forge": "^0.7.2", + "@types/pify": "^3.0.0", + "codecov": "^3.0.0", + "gts": "latest", + "js-green-licenses": "^0.5.0", + "mocha": "^5.0.2", + "nyc": "^11.4.1", + "typescript": "~2.7.2" + }, + "files": [ + "LICENSE", + "README.md", + "build/src" + ], + "homepage": "https://github.com/google/google-p12-pem#readme", + "license": "MIT", + "main": "build/src/index.js", + "name": "google-p12-pem", + "repository": { + "type": "git", + "url": "git+https://github.com/google/google-p12-pem.git" + }, + "scripts": { + "check": "gts check", + "clean": "gts clean", + "codecov": "nyc report --reporter=json && codecov -f coverage/*.json", + "compile": "tsc -p .", + "fix": "gts fix", + "license-check": "jsgl --local .", + "posttest": "npm run check && npm run license-check", + "prepare": "npm run compile", + "pretest": "npm run compile", + "test": "nyc mocha build/test" + }, + "types": "./build/src/index.d.ts", + "version": "1.0.2" +} diff --git a/express-server/node_modules/googleapi/index.js b/express-server/node_modules/googleapi/index.js new file mode 100644 index 00000000..35724c71 --- /dev/null +++ b/express-server/node_modules/googleapi/index.js @@ -0,0 +1,9 @@ +/** + * GoogleAPI + * + * Under construction + */ + +module.exports = function(){ + console.log('module under construction'); +}; diff --git a/express-server/node_modules/googleapi/package.json b/express-server/node_modules/googleapi/package.json new file mode 100644 index 00000000..cf60f9b1 --- /dev/null +++ b/express-server/node_modules/googleapi/package.json @@ -0,0 +1,48 @@ +{ + "_from": "googleapi", + "_id": "googleapi@1.0.2", + "_inBundle": false, + "_integrity": "sha1-knBKNCfC/QHqQhmpLBsPvGtCGVQ=", + "_location": "/googleapi", + "_phantomChildren": {}, + "_requested": { + "type": "tag", + "registry": true, + "raw": "googleapi", + "name": "googleapi", + "escapedName": "googleapi", + "rawSpec": "", + "saveSpec": null, + "fetchSpec": "latest" + }, + "_requiredBy": [ + "#USER", + "/" + ], + "_resolved": "https://registry.npmjs.org/googleapi/-/googleapi-1.0.2.tgz", + "_shasum": "92704a3427c2fd01ea4219a92c1b0fbc6b421954", + "_spec": "googleapi", + "_where": "C:\\Users\\Georg\\GitHub\\SmartShopper\\express-server", + "author": { + "name": "Malik Nurmatov", + "email": "mnurmatov@gmail.com", + "url": "https://github.com/maliknurmatov" + }, + "bundleDependencies": false, + "deprecated": false, + "description": "Google API", + "keywords": [ + "google", + "api", + "rest", + "node", + "search" + ], + "license": "BSD-2-Clause", + "main": "index.js", + "name": "googleapi", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "version": "1.0.2" +} diff --git a/express-server/node_modules/googleapis-common/CHANGELOG.md b/express-server/node_modules/googleapis-common/CHANGELOG.md new file mode 100644 index 00000000..38cb49cf --- /dev/null +++ b/express-server/node_modules/googleapis-common/CHANGELOG.md @@ -0,0 +1,18 @@ +# Changelog + +[npm history][1] + +[1]: https://www.npmjs.com/package/nodejs-googleapis-common?activeTab=versions + +## v0.3.0 + +This release uses the 2.0 release of `google-auth-library`. A summary of these changes (including breaking changes) can be found in the [release notes](https://github.com/google/google-auth-library-nodejs/releases/tag/v2.0.0). + +### Dependencies +- Upgrade to google-auth-library 2.0 (#6) + +## v0.2.1 + +### Fixes +- fix: use the latest google-auth-library (#4) + diff --git a/express-server/node_modules/googleapis-common/LICENSE b/express-server/node_modules/googleapis-common/LICENSE new file mode 100644 index 00000000..b7c9ed18 --- /dev/null +++ b/express-server/node_modules/googleapis-common/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2013 Google Inc. + + 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. diff --git a/express-server/node_modules/googleapis-common/README.md b/express-server/node_modules/googleapis-common/README.md new file mode 100644 index 00000000..472c26d6 --- /dev/null +++ b/express-server/node_modules/googleapis-common/README.md @@ -0,0 +1,76 @@ +Google Cloud Platform logo + +# [Google APIs Common Module: Node.js Client](https://github.com/google/google-api-nodejs-client) + +[![release level](https://img.shields.io/badge/release%20level-alpha-orange.svg?style=flat)](https://cloud.google.com/terms/launch-stages) + +> Node.js googleapis common package + +Google Cloud Common node.js module contains stuff used by other Cloud API modules. + +* [github.com/googlecloudplatform/google-cloud-node](https://github.com/googlecloudplatform/google-cloud-node) + +Read more about the client libraries for Cloud APIs, including the older +Google APIs Client Libraries, in [Client Libraries Explained][explained]. + +[explained]: https://cloud.google.com/apis/docs/client-libraries-explained + +**Table of contents:** + +* [Quickstart](#quickstart) + * [Before you begin](#before-you-begin) + * [Installing the client library](#installing-the-client-library) + * [Using the client library](#using-the-client-library) +* [Versioning](#versioning) +* [Contributing](#contributing) +* [License](#license) + +## Quickstart + +### Before you begin + +1. Select or create a Cloud Platform project. + + [Go to the projects page][projects] + +1. Enable billing for your project. + + [Enable billing][billing] + +1. [Set up authentication with a service account][auth] so you can access the + API from your local workstation. + +[projects]: https://console.cloud.google.com/project +[billing]: https://support.google.com/cloud/answer/6293499#enable-billing +[auth]: https://cloud.google.com/docs/authentication/getting-started + +### Installing the package + + npm install --save googleapis-common + +It's unlikely you will need to install this package directly, as it will be +installed as a dependency when you install other `@google` packages. + +## Versioning + +This library follows [Semantic Versioning](http://semver.org/). + +This library is considered to be in **alpha**. This means it is still a +work-in-progress and under active development. Any release is subject to +backwards-incompatible changes at any time. + +More Information: [Google Cloud Platform Launch Stages][launch_stages] + +[launch_stages]: https://cloud.google.com/terms/launch-stages + +## Contributing + +Contributions welcome! See the [Contributing Guide](https://github.com/googlecloudplatform/google-cloud-node/blob/master/.github/CONTRIBUTING.md). + +## License + +Apache Version 2.0 + +See [LICENSE](https://github.com/googlecloudplatform/google-cloud-node/blob/master/LICENSE) + +[shell_img]: http://gstatic.com/cloudssh/images/open-btn.png diff --git a/express-server/node_modules/googleapis-common/build/src/api.d.ts b/express-server/node_modules/googleapis-common/build/src/api.d.ts new file mode 100644 index 00000000..1c3d5bb3 --- /dev/null +++ b/express-server/node_modules/googleapis-common/build/src/api.d.ts @@ -0,0 +1,59 @@ +import { AxiosAdapter, AxiosProxyConfig, AxiosRequestConfig, AxiosResponse, AxiosTransformer, CancelToken } from 'axios'; +import { OAuth2Client } from 'google-auth-library'; +import { Endpoint } from './endpoint'; +export interface APIRequestParams { + options: AxiosRequestConfig; + params: T; + requiredParams: string[]; + pathParams: string[]; + context: APIRequestContext; + mediaUrl?: string | null; +} +export interface GoogleConfigurable { + _options: GlobalOptions; +} +export interface APIRequestContext { + google?: GoogleConfigurable; + _options: GlobalOptions; +} +/** + * This interface is a mix of the AxiosRequestConfig options + * and our `auth: OAuth2Client|string` options. We need to redefine + * the interface here because the `auth` property already exists + * on AxiosRequestConfig, and uses an entirely different type. + */ +export interface GlobalOptions { + url?: string; + method?: string; + baseURL?: string; + transformRequest?: AxiosTransformer | AxiosTransformer[]; + transformResponse?: AxiosTransformer | AxiosTransformer[]; + headers?: any; + params?: any; + paramsSerializer?: (params: any) => string; + data?: any; + timeout?: number; + withCredentials?: boolean; + adapter?: AxiosAdapter; + auth?: OAuth2Client | string; + responseType?: string; + xsrfCookieName?: string; + xsrfHeaderName?: string; + onUploadProgress?: (progressEvent: any) => void; + onDownloadProgress?: (progressEvent: any) => void; + maxContentLength?: number; + validateStatus?: (status: number) => boolean; + maxRedirects?: number; + httpAgent?: any; + httpsAgent?: any; + proxy?: AxiosProxyConfig | false; + cancelToken?: CancelToken; +} +export interface MethodOptions extends AxiosRequestConfig { + rootUrl?: string; +} +export interface ServiceOptions extends GlobalOptions { + version?: string; +} +export declare type BodyResponseCallback = (err: Error | null, res?: AxiosResponse | null) => void; +export declare type APIEndpoint = Readonly; diff --git a/express-server/node_modules/googleapis-common/build/src/api.js b/express-server/node_modules/googleapis-common/build/src/api.js new file mode 100644 index 00000000..ca94da48 --- /dev/null +++ b/express-server/node_modules/googleapis-common/build/src/api.js @@ -0,0 +1,15 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=api.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis-common/build/src/api.js.map b/express-server/node_modules/googleapis-common/build/src/api.js.map new file mode 100644 index 00000000..bec4340d --- /dev/null +++ b/express-server/node_modules/googleapis-common/build/src/api.js.map @@ -0,0 +1 @@ +{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis-common/build/src/apiIndex.d.ts b/express-server/node_modules/googleapis-common/build/src/apiIndex.d.ts new file mode 100644 index 00000000..d6bfaba2 --- /dev/null +++ b/express-server/node_modules/googleapis-common/build/src/apiIndex.d.ts @@ -0,0 +1,4 @@ +import { GoogleConfigurable, ServiceOptions } from '.'; +export declare function getAPI(api: string, options: ServiceOptions | string, versions: { + [index: string]: any; +}, context?: GoogleConfigurable): T; diff --git a/express-server/node_modules/googleapis-common/build/src/apiIndex.js b/express-server/node_modules/googleapis-common/build/src/apiIndex.js new file mode 100644 index 00000000..ff4fc578 --- /dev/null +++ b/express-server/node_modules/googleapis-common/build/src/apiIndex.js @@ -0,0 +1,40 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +function getAPI(api, options, +// tslint:disable-next-line no-any +versions, context) { + let version; + if (typeof options === 'string') { + version = options; + options = {}; + } + else if (typeof options === 'object') { + version = options.version; + delete options.version; + } + else { + throw new Error('Argument error: Accepts only string or object'); + } + try { + const ctr = versions[version]; + const ep = new ctr(options, context); + return Object.freeze(ep); + } + catch (e) { + throw new Error(`Unable to load endpoint ${api}("${version}"): ${e.message}`); + } +} +exports.getAPI = getAPI; +//# sourceMappingURL=apiIndex.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis-common/build/src/apiIndex.js.map b/express-server/node_modules/googleapis-common/build/src/apiIndex.js.map new file mode 100644 index 00000000..27f3e151 --- /dev/null +++ b/express-server/node_modules/googleapis-common/build/src/apiIndex.js.map @@ -0,0 +1 @@ +{"version":3,"file":"apiIndex.js","sourceRoot":"","sources":["../../src/apiIndex.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAIjC,SAAgB,MAAM,CAClB,GAAW,EAAE,OAA8B;AAC3C,kCAAkC;AAClC,QAAgC,EAAE,OAA4B;IAChE,IAAI,OAAe,CAAC;IACpB,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;QAC/B,OAAO,GAAG,OAAO,CAAC;QAClB,OAAO,GAAG,EAAE,CAAC;KACd;SAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;QACtC,OAAO,GAAG,OAAO,CAAC,OAAQ,CAAC;QAC3B,OAAO,OAAO,CAAC,OAAO,CAAC;KACxB;SAAM;QACL,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;KAClE;IACD,IAAI;QACF,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC9B,MAAM,EAAE,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACrC,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,CAAM,CAAC;KAC/B;IAAC,OAAO,CAAC,EAAE;QACV,MAAM,IAAI,KAAK,CACX,2BAA2B,GAAG,KAAK,OAAO,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;KACnE;AACH,CAAC;AAtBD,wBAsBC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis-common/build/src/apirequest.d.ts b/express-server/node_modules/googleapis-common/build/src/apirequest.d.ts new file mode 100644 index 00000000..338fc8bf --- /dev/null +++ b/express-server/node_modules/googleapis-common/build/src/apirequest.d.ts @@ -0,0 +1,10 @@ +import { AxiosPromise } from 'axios'; +import { BodyResponseCallback } from 'google-auth-library/build/src/transporters'; +import { APIRequestParams } from './api'; +/** + * Create and send request to Google API + * @param parameters Parameters used to form request + * @param callback Callback when request finished or error found + */ +export declare function createAPIRequest(parameters: APIRequestParams): AxiosPromise; +export declare function createAPIRequest(parameters: APIRequestParams, callback: BodyResponseCallback): void; diff --git a/express-server/node_modules/googleapis-common/build/src/apirequest.js b/express-server/node_modules/googleapis-common/build/src/apirequest.js new file mode 100644 index 00000000..a3ae0160 --- /dev/null +++ b/express-server/node_modules/googleapis-common/build/src/apirequest.js @@ -0,0 +1,249 @@ +"use strict"; +// Copyright 2014-2016, Google, Inc. +// 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. +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const google_auth_library_1 = require("google-auth-library"); +const qs = require("qs"); +const stream = require("stream"); +const urlTemplate = require("url-template"); +const uuid = require("uuid"); +const maxContentLength = Math.pow(2, 31); +// tslint:disable-next-line no-var-requires +const pkg = require('../../package.json'); +const USER_AGENT = `google-api-nodejs-client/${pkg.version} (gzip)`; +function isReadableStream(obj) { + return obj instanceof stream.Readable && typeof obj._read === 'function'; +} +function getMissingParams(params, required) { + const missing = new Array(); + required.forEach(param => { + // Is the required param in the params object? + if (params[param] === undefined) { + missing.push(param); + } + }); + // If there are any required params missing, return their names in array, + // otherwise return null + return missing.length > 0 ? missing : null; +} +function createAPIRequest(parameters, callback) { + if (callback) { + createAPIRequestAsync(parameters).then(r => callback(null, r), callback); + } + else { + return createAPIRequestAsync(parameters); + } +} +exports.createAPIRequest = createAPIRequest; +function createAPIRequestAsync(parameters) { + return __awaiter(this, void 0, void 0, function* () { + let params = parameters.params; + const options = Object.assign({}, parameters.options); + // Create a new params object so it can no longer be modified from outside + // code Also support global and per-client params, but allow them to be + // overriden per-request + const topOptions = parameters.context.google ? + parameters.context.google._options.params : + {}; + params = Object.assign({}, // New base object + topOptions, // Global params + parameters.context._options.params, // Per-client params + params // API call params + ); + const media = params.media || {}; + /** + * In a previous version of this API, the request body was stuffed in a field + * named `resource`. This caused lots of problems, because it's not uncommon + * to have an actual named parameter required which is also named `resource`. + * This mean that users would have to use `resource_` in those cases, which + * pretty much nobody figures out on their own. The request body is now + * documented as being in the `requestBody` property, but we also need to keep + * using `resource` for reasons of back-compat. Cases that need to be covered + * here: + * - user provides just a `resource` with a request body + * - user provides both a `resource` and a `resource_` + * - user provides just a `requestBody` + * - user provides both a `requestBody` and a `resource` + */ + const resource = params.requestBody ? params.requestBody : params.resource; + if (!params.requestBody && params.resource) { + delete params.resource; + } + delete params.requestBody; + let authClient = params.auth || parameters.context._options.auth || + (parameters.context.google ? parameters.context.google._options.auth : + null); + const defaultMime = typeof media.body === 'string' ? + 'text/plain' : + 'application/octet-stream'; + delete params.media; + delete params.auth; + // Grab headers from user provided options + const headers = params.headers || {}; + delete params.headers; + // Un-alias parameters that were modified due to conflicts with reserved names + Object.keys(params).forEach(key => { + if (key.slice(-1) === '_') { + const newKey = key.slice(0, -1); + params[newKey] = params[key]; + delete params[key]; + } + }); + // Check for missing required parameters in the API request + const missingParams = getMissingParams(params, parameters.requiredParams); + if (missingParams) { + // Some params are missing - stop further operations and inform the + // developer which required params are not included in the request + throw new Error('Missing required parameters: ' + missingParams.join(', ')); + } + // Parse urls + if (options.url) { + options.url = urlTemplate.parse(options.url).expand(params); + } + if (parameters.mediaUrl) { + parameters.mediaUrl = urlTemplate.parse(parameters.mediaUrl).expand(params); + } + // When forming the querystring, override the serializer so that array + // values are serialized like this: + // myParams: ['one', 'two'] ---> 'myParams=one&myParams=two' + // This serializer also encodes spaces in the querystring as `%20`, + // whereas the default serializer in axios encodes to a `+`. + options.paramsSerializer = (params) => { + return qs.stringify(params, { arrayFormat: 'repeat' }); + }; + // delete path parameters from the params object so they do not end up in + // query + parameters.pathParams.forEach(param => { + delete params[param]; + }); + // if authClient is actually a string, use it as an API KEY + if (typeof authClient === 'string') { + params.key = params.key || authClient; + authClient = undefined; + } + if (parameters.mediaUrl && media.body) { + options.url = parameters.mediaUrl; + if (resource) { + // Axios doesn't support multipart/related uploads, so it has to + // be implemented here. + params.uploadType = 'multipart'; + const multipart = [ + { 'Content-Type': 'application/json', body: JSON.stringify(resource) }, { + 'Content-Type': media.mimeType || (resource && resource.mimeType) || defaultMime, + body: media.body // can be a readable stream or raw string! + } + ]; + const boundary = uuid.v4(); + const finale = `--${boundary}--`; + const rStream = new stream.PassThrough(); + const pStream = new ProgressStream(); + const isStream = isReadableStream(multipart[1].body); + headers['Content-Type'] = `multipart/related; boundary=${boundary}`; + for (const part of multipart) { + const preamble = `--${boundary}\r\nContent-Type: ${part['Content-Type']}\r\n\r\n`; + rStream.push(preamble); + if (typeof part.body === 'string') { + rStream.push(part.body); + rStream.push('\r\n'); + } + else { + // Axios does not natively support onUploadProgress in node.js. + // Pipe through the pStream first to read the number of bytes read + // for the purpose of tracking progress. + pStream.on('progress', bytesRead => { + if (options.onUploadProgress) { + options.onUploadProgress({ bytesRead }); + } + }); + part.body.pipe(pStream).pipe(rStream, { end: false }); + part.body.on('end', () => { + rStream.push('\r\n'); + rStream.push(finale); + rStream.push(null); + }); + } + } + if (!isStream) { + rStream.push(finale); + rStream.push(null); + } + options.data = rStream; + } + else { + params.uploadType = 'media'; + Object.assign(headers, { 'Content-Type': media.mimeType || defaultMime }); + options.data = media.body; + } + } + else { + options.data = resource || undefined; + } + options.headers = headers; + options.params = params; + // We need to set a default content size, or the max defaults + // to 10MB. Setting to 2GB by default. + // https://github.com/google/google-api-nodejs-client/issues/991 + options.maxContentLength = options.maxContentLength || maxContentLength; + options.headers['Accept-Encoding'] = 'gzip'; + options.headers['User-Agent'] = USER_AGENT; + // By default Axios treats any 2xx as valid, and all non 2xx status + // codes as errors. This is a problem for HTTP 304s when used along + // with an eTag. + if (!options.validateStatus) { + options.validateStatus = (status) => { + return (status >= 200 && status < 300) || status === 304; + }; + } + // Combine the AxiosRequestConfig options passed with this specific + // API call witht the global options configured at the API Context + // level, or at the global level. + const mergedOptions = Object.assign({}, (parameters.context.google ? parameters.context.google._options : {}), parameters.context._options, options); + delete mergedOptions.auth; // is overridden by our auth code + // Perform the HTTP request. NOTE: this function used to return a + // mikeal/request object. Since the transition to Axios, the method is + // now void. This may be a source of confusion for users upgrading from + // version 24.0 -> 25.0 or up. + if (authClient && typeof authClient === 'object') { + return authClient.request(mergedOptions); + } + else { + return (new google_auth_library_1.DefaultTransporter()).request(mergedOptions); + } + }); +} +/** + * Basic Passthrough Stream that records the number of bytes read + * every time the cursor is moved. + */ +class ProgressStream extends stream.Transform { + constructor() { + super(...arguments); + this.bytesRead = 0; + } + // tslint:disable-next-line: no-any + _transform(chunk, encoding, callback) { + this.bytesRead += chunk.length; + this.emit('progress', this.bytesRead); + this.push(chunk); + callback(); + } +} +//# sourceMappingURL=apirequest.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis-common/build/src/apirequest.js.map b/express-server/node_modules/googleapis-common/build/src/apirequest.js.map new file mode 100644 index 00000000..aa78a0de --- /dev/null +++ b/express-server/node_modules/googleapis-common/build/src/apirequest.js.map @@ -0,0 +1 @@ +{"version":3,"file":"apirequest.js","sourceRoot":"","sources":["../../src/apirequest.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis-common/build/src/discovery.d.ts b/express-server/node_modules/googleapis-common/build/src/discovery.d.ts new file mode 100644 index 00000000..3eea6205 --- /dev/null +++ b/express-server/node_modules/googleapis-common/build/src/discovery.d.ts @@ -0,0 +1,42 @@ +import { GlobalOptions } from './api'; +import { Endpoint } from './endpoint'; +export declare type EndpointCreator = (options: GlobalOptions, google: {}) => Endpoint; +export interface DiscoveryOptions { + includePrivate?: boolean; + debug?: boolean; +} +export declare class Discovery { + private transporter; + private options; + /** + * Discovery for discovering API endpoints + * + * @param options Options for discovery + */ + constructor(options: DiscoveryOptions); + /** + * Generate and Endpoint from an endpoint schema object. + * + * @param schema The schema from which to generate the Endpoint. + * @return A function that creates an endpoint. + */ + private makeEndpoint; + /** + * Log output of generator. Works just like console.log + */ + private log; + /** + * Generate all APIs and return as in-memory object. + * @param discoveryUrl + */ + discoverAllAPIs(discoveryUrl: string): Promise<{}>; + /** + * Generate API file given discovery URL + * + * @param apiDiscoveryUrl URL or filename of discovery doc for API + * @returns A promise that resolves with a function that creates the endpoint + */ + discoverAPI(apiDiscoveryUrl: string | { + url: string; + }): Promise; +} diff --git a/express-server/node_modules/googleapis-common/build/src/discovery.js b/express-server/node_modules/googleapis-common/build/src/discovery.js new file mode 100644 index 00000000..03bf55fe --- /dev/null +++ b/express-server/node_modules/googleapis-common/build/src/discovery.js @@ -0,0 +1,152 @@ +"use strict"; +// Copyright 2014-2016, Google, Inc. +// 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. +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const fs = require("fs"); +const google_auth_library_1 = require("google-auth-library"); +const pify = require("pify"); +const url = require("url"); +const util = require("util"); +const apirequest_1 = require("./apirequest"); +const endpoint_1 = require("./endpoint"); +const fsp = pify(fs); +class Discovery { + /** + * Discovery for discovering API endpoints + * + * @param options Options for discovery + */ + constructor(options) { + this.transporter = new google_auth_library_1.DefaultTransporter(); + this.options = options || {}; + } + /** + * Generate and Endpoint from an endpoint schema object. + * + * @param schema The schema from which to generate the Endpoint. + * @return A function that creates an endpoint. + */ + makeEndpoint(schema) { + return (options) => { + const ep = new endpoint_1.Endpoint(options); + ep.applySchema(ep, schema, schema, ep); + return ep; + }; + } + /** + * Log output of generator. Works just like console.log + */ + log(...args) { + if (this.options && this.options.debug) { + console.log.apply(this, arguments); + } + } + /** + * Generate all APIs and return as in-memory object. + * @param discoveryUrl + */ + discoverAllAPIs(discoveryUrl) { + return __awaiter(this, void 0, void 0, function* () { + const headers = this.options.includePrivate ? {} : { 'X-User-Ip': '0.0.0.0' }; + const res = yield this.transporter.request({ url: discoveryUrl, headers }); + const items = res.data.items; + const apis = yield Promise.all(items.map((api) => __awaiter(this, void 0, void 0, function* () { + const endpointCreator = yield this.discoverAPI(api.discoveryRestUrl); + return { api, endpointCreator }; + }))); + const versionIndex = {}; + // tslint:disable-next-line no-any + const apisIndex = {}; + for (const set of apis) { + if (!apisIndex[set.api.name]) { + versionIndex[set.api.name] = {}; + apisIndex[set.api.name] = (options) => { + const type = typeof options; + let version; + if (type === 'string') { + version = options; + options = {}; + } + else if (type === 'object') { + version = options.version; + delete options.version; + } + else { + throw new Error('Argument error: Accepts only string or object'); + } + try { + const ep = + // tslint:disable-next-line: no-any + set.endpointCreator(options, this); + return Object.freeze(ep); // create new & freeze + } + catch (e) { + throw new Error(util.format('Unable to load endpoint %s("%s"): %s', set.api.name, version, e.message)); + } + }; + } + versionIndex[set.api.name][set.api.version] = set.endpointCreator; + } + return apisIndex; + }); + } + /** + * Generate API file given discovery URL + * + * @param apiDiscoveryUrl URL or filename of discovery doc for API + * @returns A promise that resolves with a function that creates the endpoint + */ + discoverAPI(apiDiscoveryUrl) { + return __awaiter(this, void 0, void 0, function* () { + if (typeof apiDiscoveryUrl === 'string') { + const parts = url.parse(apiDiscoveryUrl); + if (apiDiscoveryUrl && !parts.protocol) { + this.log('Reading from file ' + apiDiscoveryUrl); + const file = yield fsp.readFile(apiDiscoveryUrl, { encoding: 'utf8' }); + return this.makeEndpoint(JSON.parse(file)); + } + else { + this.log('Requesting ' + apiDiscoveryUrl); + const res = yield this.transporter.request({ url: apiDiscoveryUrl }); + return this.makeEndpoint(res.data); + } + } + else { + const options = apiDiscoveryUrl; + this.log('Requesting ' + options.url); + const url = options.url; + delete options.url; + const parameters = { + options: { url, method: 'GET' }, + requiredParams: [], + pathParams: [], + params: options, + context: { google: { _options: {} }, _options: {} } + }; + const pcr = pify(apirequest_1.createAPIRequest); + const res = yield pcr(parameters); + return this.makeEndpoint(res.data); + } + }); + } +} +exports.Discovery = Discovery; +//# sourceMappingURL=discovery.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis-common/build/src/discovery.js.map b/express-server/node_modules/googleapis-common/build/src/discovery.js.map new file mode 100644 index 00000000..6d80f7e9 --- /dev/null +++ b/express-server/node_modules/googleapis-common/build/src/discovery.js.map @@ -0,0 +1 @@ +{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../src/discovery.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis-common/build/src/endpoint.d.ts b/express-server/node_modules/googleapis-common/build/src/endpoint.d.ts new file mode 100644 index 00000000..284ee09d --- /dev/null +++ b/express-server/node_modules/googleapis-common/build/src/endpoint.d.ts @@ -0,0 +1,42 @@ +import { APIRequestContext, GlobalOptions } from './api'; +import { Schema, SchemaResource } from './schema'; +export interface Target { + [index: string]: {}; +} +export declare class Endpoint implements Target, APIRequestContext { + _options: GlobalOptions; + google: any; + [index: string]: {}; + constructor(options: {}); + /** + * Given a schema, add methods and resources to a target. + * + * @param {object} target The target to which to apply the schema. + * @param {object} rootSchema The top-level schema, so we don't lose track of it + * during recursion. + * @param {object} schema The current schema from which to extract methods and + * resources. + * @param {object} context The context to add to each method. + */ + applySchema(target: Target, rootSchema: Schema, schema: SchemaResource, context: APIRequestContext): void; + /** + * Given a schema, add methods to a target. + * + * @param {object} target The target to which to apply the methods. + * @param {object} rootSchema The top-level schema, so we don't lose track of it + * during recursion. + * @param {object} schema The current schema from which to extract methods. + * @param {object} context The context to add to each method. + */ + private applyMethodsFromSchema; + /** + * Given a method schema, add a method to a target. + * + * @param target The target to which to add the method. + * @param schema The top-level schema that contains the rootUrl, etc. + * @param method The method schema from which to generate the method. + * @param context The context to add to the method. + */ + private makeMethod; + private getPathParams; +} diff --git a/express-server/node_modules/googleapis-common/build/src/endpoint.js b/express-server/node_modules/googleapis-common/build/src/endpoint.js new file mode 100644 index 00000000..3f2cb89f --- /dev/null +++ b/express-server/node_modules/googleapis-common/build/src/endpoint.js @@ -0,0 +1,124 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +const apirequest_1 = require("./apirequest"); +class Endpoint { + constructor(options) { + this._options = options || {}; + } + /** + * Given a schema, add methods and resources to a target. + * + * @param {object} target The target to which to apply the schema. + * @param {object} rootSchema The top-level schema, so we don't lose track of it + * during recursion. + * @param {object} schema The current schema from which to extract methods and + * resources. + * @param {object} context The context to add to each method. + */ + applySchema(target, rootSchema, schema, context) { + this.applyMethodsFromSchema(target, rootSchema, schema, context); + if (schema.resources) { + for (const resourceName in schema.resources) { + if (schema.resources.hasOwnProperty(resourceName)) { + const resource = schema.resources[resourceName]; + if (!target[resourceName]) { + target[resourceName] = {}; + } + this.applySchema(target[resourceName], rootSchema, resource, context); + } + } + } + } + /** + * Given a schema, add methods to a target. + * + * @param {object} target The target to which to apply the methods. + * @param {object} rootSchema The top-level schema, so we don't lose track of it + * during recursion. + * @param {object} schema The current schema from which to extract methods. + * @param {object} context The context to add to each method. + */ + applyMethodsFromSchema(target, rootSchema, schema, context) { + if (schema.methods) { + for (const name in schema.methods) { + if (schema.methods.hasOwnProperty(name)) { + const method = schema.methods[name]; + target[name] = this.makeMethod(rootSchema, method, context); + } + } + } + } + /** + * Given a method schema, add a method to a target. + * + * @param target The target to which to add the method. + * @param schema The top-level schema that contains the rootUrl, etc. + * @param method The method schema from which to generate the method. + * @param context The context to add to the method. + */ + makeMethod(schema, method, context) { + return (paramsOrCallback, callback) => { + const params = typeof paramsOrCallback === 'function' ? {} : paramsOrCallback; + callback = + typeof paramsOrCallback === 'function' ? paramsOrCallback : callback; + const schemaUrl = buildurl(schema.rootUrl + schema.servicePath + method.path); + const parameters = { + options: { + url: schemaUrl.substring(1, schemaUrl.length - 1), + method: method.httpMethod + }, + params, + requiredParams: method.parameterOrder || [], + pathParams: this.getPathParams(method.parameters), + context + }; + if (method.mediaUpload && method.mediaUpload.protocols && + method.mediaUpload.protocols.simple && + method.mediaUpload.protocols.simple.path) { + const mediaUrl = buildurl(schema.rootUrl + method.mediaUpload.protocols.simple.path); + parameters.mediaUrl = mediaUrl.substring(1, mediaUrl.length - 1); + } + if (!callback) { + return apirequest_1.createAPIRequest(parameters); + } + apirequest_1.createAPIRequest(parameters, callback); + return; + }; + } + getPathParams(params) { + const pathParams = new Array(); + if (typeof params !== 'object') { + params = {}; + } + Object.keys(params).forEach(key => { + if (params[key].location === 'path') { + pathParams.push(key); + } + }); + return pathParams; + } +} +exports.Endpoint = Endpoint; +/** + * Build a string used to create a URL from the discovery doc provided URL. + * replace double slashes with single slash (except in https://) + * @private + * @param input URL to build from + * @return Resulting built URL + */ +function buildurl(input) { + return input ? `'${input}'`.replace(/([^:]\/)\/+/g, '$1') : ''; +} +//# sourceMappingURL=endpoint.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis-common/build/src/endpoint.js.map b/express-server/node_modules/googleapis-common/build/src/endpoint.js.map new file mode 100644 index 00000000..e618af7e --- /dev/null +++ b/express-server/node_modules/googleapis-common/build/src/endpoint.js.map @@ -0,0 +1 @@ +{"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../../src/endpoint.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis-common/build/src/index.d.ts b/express-server/node_modules/googleapis-common/build/src/index.d.ts new file mode 100644 index 00000000..a3f0bea1 --- /dev/null +++ b/express-server/node_modules/googleapis-common/build/src/index.d.ts @@ -0,0 +1,6 @@ +export { APIEndpoint, APIRequestContext, APIRequestParams, BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions, ServiceOptions } from './api'; +export { getAPI } from './apiIndex'; +export { createAPIRequest } from './apirequest'; +export { Discovery, DiscoveryOptions, EndpointCreator } from './discovery'; +export { Endpoint, Target } from './endpoint'; +export { FragmentResponse, HttpMethod, ParameterFormat, Schema, SchemaItem, SchemaItems, SchemaMethod, SchemaMethods, SchemaParameter, SchemaParameters, SchemaResource, SchemaResources, Schemas, SchemaType } from './schema'; diff --git a/express-server/node_modules/googleapis-common/build/src/index.js b/express-server/node_modules/googleapis-common/build/src/index.js new file mode 100644 index 00000000..ee799df7 --- /dev/null +++ b/express-server/node_modules/googleapis-common/build/src/index.js @@ -0,0 +1,23 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +var apiIndex_1 = require("./apiIndex"); +exports.getAPI = apiIndex_1.getAPI; +var apirequest_1 = require("./apirequest"); +exports.createAPIRequest = apirequest_1.createAPIRequest; +var discovery_1 = require("./discovery"); +exports.Discovery = discovery_1.Discovery; +var endpoint_1 = require("./endpoint"); +exports.Endpoint = endpoint_1.Endpoint; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis-common/build/src/index.js.map b/express-server/node_modules/googleapis-common/build/src/index.js.map new file mode 100644 index 00000000..ee037d35 --- /dev/null +++ b/express-server/node_modules/googleapis-common/build/src/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAGjC,uCAAkC;AAA1B,4BAAA,MAAM,CAAA;AACd,2CAA8C;AAAtC,wCAAA,gBAAgB,CAAA;AACxB,yCAAyE;AAAjE,gCAAA,SAAS,CAAA;AACjB,uCAA4C;AAApC,8BAAA,QAAQ,CAAA"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis-common/build/src/schema.d.ts b/express-server/node_modules/googleapis-common/build/src/schema.d.ts new file mode 100644 index 00000000..82c1ee28 --- /dev/null +++ b/express-server/node_modules/googleapis-common/build/src/schema.d.ts @@ -0,0 +1,123 @@ +/** + * These are a collection of interfaces that represent the GoogleApis + * Discovery json formats. + */ +export interface Schemas { + discoveryVersion: string; + kind: string; + items: Schema[]; +} +export interface Schema { + auth: { + oauth2: { + scopes: { + [index: string]: { + description: string; + }; + }; + }; + }; + basePath: string; + baseUrl: string; + batchPath: string; + description: string; + discoveryVersion: string; + discoveryRestUrl: string; + documentationLink: string; + etag: string; + icons: { + x16: string; + x32: string; + }; + id: string; + kind: string; + methods: SchemaMethods; + name: string; + ownerDomain: string; + ownerName: string; + parameters: SchemaParameters; + protocol: string; + resources: SchemaResources; + revision: string; + rootUrl: string; + schemas: SchemaItems; + servicePath: string; + title: string; + version: string; +} +export interface SchemaResources { + [index: string]: SchemaResource; +} +export interface SchemaResource { + methods?: SchemaMethods; + resources?: SchemaResources; +} +export interface SchemaItems { + [index: string]: SchemaItem; +} +export interface SchemaItem { + description?: string; + default?: string; + id?: string; + properties?: { + [index: string]: SchemaItem; + }; + items?: { + [index: string]: SchemaItem; + }; + type?: SchemaType; + format?: ParameterFormat; + $ref?: string; +} +export interface SchemaParameters { + [index: string]: SchemaParameter; +} +export interface SchemaParameter { + default: string; + description: string; + location: string; + enum: string[]; + enumDescription: string[]; + type: SchemaType; + format: ParameterFormat; + required: boolean; +} +export interface SchemaMethods { + [index: string]: SchemaMethod; +} +export interface SchemaMethod { + description: string; + httpMethod: HttpMethod; + id: string; + parameterOrder?: string[]; + parameters?: { + [index: string]: SchemaParameter; + }; + path: string; + request: { + $ref: string; + }; + response: { + $ref: string; + }; + sampleUrl: string; + scopes: string[]; + fragment: string; + mediaUpload: { + protocols: { + simple: { + path: string; + }; + }; + }; +} +export interface FragmentResponse { + codeFragment: { + [index: string]: { + fragment: string; + }; + }; +} +export declare type ParameterFormat = 'int32'; +export declare type HttpMethod = 'GET' | 'PATCH' | 'PUT'; +export declare type SchemaType = 'object' | 'integer' | 'string' | 'array' | 'boolean'; diff --git a/express-server/node_modules/googleapis-common/build/src/schema.js b/express-server/node_modules/googleapis-common/build/src/schema.js new file mode 100644 index 00000000..07a42ea8 --- /dev/null +++ b/express-server/node_modules/googleapis-common/build/src/schema.js @@ -0,0 +1,15 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=schema.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis-common/build/src/schema.js.map b/express-server/node_modules/googleapis-common/build/src/schema.js.map new file mode 100644 index 00000000..e9d3a34e --- /dev/null +++ b/express-server/node_modules/googleapis-common/build/src/schema.js.map @@ -0,0 +1 @@ +{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/schema.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis-common/package.json b/express-server/node_modules/googleapis-common/package.json new file mode 100644 index 00000000..90a88bd3 --- /dev/null +++ b/express-server/node_modules/googleapis-common/package.json @@ -0,0 +1,80 @@ +{ + "_from": "googleapis-common@^0.3.0", + "_id": "googleapis-common@0.3.0", + "_inBundle": false, + "_integrity": "sha512-OqQ2iskzjPHLoM+AXk7e/TmEsdgxyAk8PVbMg0S8v2wPhgMu2wTawEL7zH9QG236u/RqQ1Ak120oSWsamPnWGg==", + "_location": "/googleapis-common", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "googleapis-common@^0.3.0", + "name": "googleapis-common", + "escapedName": "googleapis-common", + "rawSpec": "^0.3.0", + "saveSpec": null, + "fetchSpec": "^0.3.0" + }, + "_requiredBy": [ + "/googleapis" + ], + "_resolved": "https://registry.npmjs.org/googleapis-common/-/googleapis-common-0.3.0.tgz", + "_shasum": "97ba111f7420367e636a30a2b87be4a7f220c7e9", + "_spec": "googleapis-common@^0.3.0", + "_where": "C:\\Users\\Georg\\GitHub\\SmartShopper\\express-server\\node_modules\\googleapis", + "author": { + "name": "Google LLC" + }, + "bundleDependencies": false, + "dependencies": { + "axios": "^0.18.0", + "google-auth-library": "^2.0.0", + "pify": "^3.0.0", + "qs": "^6.5.2", + "url-template": "^2.0.8", + "uuid": "^3.2.1" + }, + "deprecated": false, + "description": "A common tooling library used by the googleapis npm module. You probably don't want to use this directly.", + "devDependencies": { + "@types/mocha": "^5.2.5", + "@types/nock": "^9.3.0", + "@types/pify": "^3.0.2", + "@types/qs": "^6.5.1", + "@types/url-template": "^2.0.28", + "@types/uuid": "^3.4.3", + "codecov": "^3.0.4", + "gts": "^0.8.0", + "ink-docstrap": "^1.3.2", + "intelli-espower-loader": "^1.0.1", + "jsdoc": "^3.5.5", + "mocha": "^5.2.0", + "nock": "^9.6.0", + "source-map-support": "^0.5.8", + "typescript": "~3.0.0" + }, + "files": [ + "build/src" + ], + "keywords": [], + "license": "Apache-2.0", + "main": "build/src/index.js", + "name": "googleapis-common", + "scripts": { + "check": "gts check", + "clean": "gts clean", + "compile": "tsc -p .", + "docs": "jsdoc -c .jsdoc.js", + "fix": "gts fix", + "lint": "npm run check", + "posttest": "npm run check", + "prepare": "npm run compile", + "presystem-test": "npm run compile", + "pretest": "npm run compile", + "samples-test": "mocha build/samples-test", + "system-test": "mocha build/system-test", + "test": "mocha build/test" + }, + "types": "build/src/index.d.ts", + "version": "0.3.0" +} diff --git a/express-server/node_modules/googleapis/CHANGELOG.md b/express-server/node_modules/googleapis/CHANGELOG.md new file mode 100644 index 00000000..5519d844 --- /dev/null +++ b/express-server/node_modules/googleapis/CHANGELOG.md @@ -0,0 +1,57 @@ +# Changelog + +[npm history][1] + +[1]: https://www.npmjs.com/package/googleapis?activeTab=versions + +## v34.0.0 + +Welcome to the `googleapis@34` 🎊 This release has breaking changes, new features, and a bunch of bug fixes. Enjoy! + +The following APIs have been removed: +- adexchangeseller/v1.1 +- adexchangeseller/v1' +- adexchangeseller/v2.0 +- sqladmin/v1beta3 + +The following APIs have been added: +- cloudtasks/v2beta3 +- redis/v1 +- file/v1beta1 +- jobs/v3p1beta1 +- videointelligence/v1p1beta1 + + +### Fixes +- fix: upgrade to the latest google-auth-library ([#1313](https://github.com/google/google-api-nodejs-client/pull/1313)) +- fix: add better error handling around sample client and redirect URIs ([#1285](https://github.com/google/google-api-nodejs-client/pull/1285)) +- chore(deps): update dependency p-queue to v3 ([#1310](https://github.com/google/google-api-nodejs-client/pull/1310)) +- chore(deps): update dependency nyc to v13 ([#1307](https://github.com/google/google-api-nodejs-client/pull/1307)) + +### New Features +- feat: run the generator ([#1359](https://github.com/google/google-api-nodejs-client/pull/1359)) +- feat: run the generator ([#1326](https://github.com/google/google-api-nodejs-client/pull/1326)) +- feat: run the generator and synth ([#1324](https://github.com/google/google-api-nodejs-client/pull/1324)) + +### Documentation +- docs: add supported versions of node.js to the readme ([#1355](https://github.com/google/google-api-nodejs-client/pull/1355)) +- docs: fix generator script path ([#1345](https://github.com/google/google-api-nodejs-client/pull/1345)) +- docs: replace google/ with googleapis/ in URIs ([#1342](https://github.com/google/google-api-nodejs-client/pull/1342)) +- docs: Fix error handling in batchGet sample ([#1338](https://github.com/google/google-api-nodejs-client/pull/1338)) +- docs: Add statement of support to readme ([#1333](https://github.com/google/google-api-nodejs-client/pull/1333)) +- docs: Remove reference docs ([#1331](https://github.com/google/google-api-nodejs-client/pull/1331)) + +### Internal / Testing Changes +- Update the kokoro config ([#1353](https://github.com/google/google-api-nodejs-client/pull/1353)) +- test: remove appveyor config ([#1357](https://github.com/google/google-api-nodejs-client/pull/1357)) +- Do not generate libraries with synth ([#1350](https://github.com/google/google-api-nodejs-client/pull/1350)) +- Enable prefer-const in the eslint config ([#1347](https://github.com/google/google-api-nodejs-client/pull/1347)) +- Fix the sample tests ([#1344](https://github.com/google/google-api-nodejs-client/pull/1344)) +- Make npm install timeout configurable ([#1343](https://github.com/google/google-api-nodejs-client/pull/1343)) +- Enable no-var in eslint ([#1340](https://github.com/google/google-api-nodejs-client/pull/1340)) +- Use prettier and eslint on samples ([#1341](https://github.com/google/google-api-nodejs-client/pull/1341)) +- Fix samples tests ([#1323](https://github.com/google/google-api-nodejs-client/pull/1323)) +- Use synth templating and update CI ([#1321](https://github.com/google/google-api-nodejs-client/pull/1321)) +- Retry npm install in CI ([#1320](https://github.com/google/google-api-nodejs-client/pull/1320)) +- Add synth.py for automating client library generation ([#1306](https://github.com/google/google-api-nodejs-client/pull/1306)) + diff --git a/express-server/node_modules/googleapis/README.md b/express-server/node_modules/googleapis/README.md new file mode 100644 index 00000000..0592ce2c --- /dev/null +++ b/express-server/node_modules/googleapis/README.md @@ -0,0 +1,545 @@ +Google Inc. logo + +# Google APIs Node.js Client + +[![Release Level][releaselevelimg]][releaselevel] +[![CircleCI][circleimg]][circle] +[![npm version][npmimg]][npm] +[![Code Coverage][codecovimg]][codecov] +[![Downloads][downloadsimg]][downloads] +[![Dependency Status][david-image]][david-url] +[![Known Vulnerabilities][snyk-image]][snyk-url] + +[Node.js][node] client library for using Google APIs. Support for authorization and authentication with OAuth 2.0, API Keys and JWT tokens is included. + +* [Google APIs](#google-apis) +* [Getting started](#getting-started) + * [Installation](#installation) + * [First example](#first-example) + * [Samples](#samples) + * [Reference API](#reference-api) +* [Authentication and authorization](#authentication-and-authorization) + * [OAuth2 client](#oauth2-client) + * [Using API keys](#using-api-keys) + * [Service <--> Service authentication](#service-to-service-authentication) + * [Setting global or service-level auth](#setting-global-or-service-level-auth) +* [Usage](#usage) + * [Specifying request body](#specifying-request-body) + * [Media uploads](#media-uploads) + * [Request Options](#request-options) + * [Using a Proxy](#using-a-proxy) + * [Supported APIs](#getting-supported-apis) + * [TypeScript](#typescript) +* [License](#license) +* [Contributing](#contributing) +* [Questions/problems?](#questionsproblems) + +## Google APIs +The full list of supported APIs can be found [here][supported-list]. The API endpoints are automatically generated, so if the API is not in the list, it is currently not supported by this API client library. + +Supported APIs are listed on the [Google APIs Explorer][apiexplorer]. + +### Working with Google Cloud Platform APIs? +If you're working with [Google Cloud Platform][cloudplatform] APIs such as Datastore, Cloud Storage or Pub/Sub, consider using the [`@google-cloud`][googlecloud] client libraries: single purpose idiomatic Node.js clients for Google Cloud Platform services. + +### Support and maintenance +These client libraries are official supported by Google. However, these libraries are considered complete and are in maintenance mode. This means that we will address critical bugs and security issues but will not add any new features. For Google Cloud Platform APIs, we recommend using [google-cloud-node](https://github.com/GoogleCloudPlatform/google-cloud-node) which is under active development. + +This library supports the maintenance LTS, active LTS, and current release of node.js. See the [node.js release schedule](https://github.com/nodejs/Release) for more information. + +## Getting started + +### Installation +This library is distributed on `npm`. In order to add it as a dependency, run the following command: + +``` sh +$ npm install googleapis +``` + +### First example +This is a very simple example. This creates a Blogger client and retrieves the details of a blog given the blog Id: + +``` js +const {google} = require('googleapis'); + +// Each API may support multiple version. With this sample, we're getting +// v3 of the blogger API, and using an API key to authenticate. +const blogger = google.blogger({ + version: 'v3', + auth: 'YOUR API KEY' +}); + +const params = { + blogId: 3213900 +}; + +// get the blog details +blogger.blogs.get(params, (err, res) => { + if (err) { + console.error(err); + throw err; + } + console.log(`The blog url is ${res.data.url}`); +}); +``` + +Instead of using callbacks you can also use promises! + +``` js +blogger.blogs.get(params) + .then(res => { + console.log(`The blog url is ${res.data.url}`); + }) + .catch(error => { + console.error(error); + }); +``` + +Or async/await: + +``` js +async function runSample() { + const res = await blogger.blogs.get(params); + console.log(`The blog url is ${res.data.url}`); +} +runSample().catch(console.error); +``` + +### Samples +There are a lot of [samples](https://github.com/googleapis/google-api-nodejs-client/tree/master/samples) 🤗 If you're trying to figure out how to use an API ... look there first! If there's a sample you need missing, feel free to file an [issue][bugs]. + +## Authentication and authorization +The are three primary ways to authenticate to Google APIs. Some service support all authentication methods, other may only support one or two. + +- **OAuth2** - This allows you to make API calls on behalf of a given user. In this model, the user visits your application, signs in with their Google account, and provides your application with authorization against a set of scopes. [Learn more](#oauth2-client). + +- **Service <--> Service** - In this model, your application talks directly to Google APIs using a Service Account. It's useful when you have a backend application that will talk directly to Google APIs from the backend. [Learn more](#service-to-service-authentication). + +- **API Key** - With an API key, you can access your service from a client or the server. Typically less secure, this is only available on a small subset of services with limited scopes. [Learn more](#using-api-keys). + +To learn more about the authentication client, see the [Google Auth Library](https://github.com/googleapis/google-auth-library-nodejs). + +### OAuth2 client +This client comes with an [OAuth2][oauth] client that allows you to retrieve an access token and refreshes the token and retry the request seamlessly The basics of Google's OAuth2 implementation is explained on [Google Authorization and Authentication documentation][authdocs]. + +In the following examples, you may need a `CLIENT_ID`, `CLIENT_SECRET` and `REDIRECT_URL`. You can find these pieces of information by going to the [Developer Console][devconsole], clicking your project --> APIs & auth --> credentials. + +For more information about OAuth2 and how it works, [see here][oauth]. + +A complete sample application that authorizes and authenticates with the OAuth2 client is available at [`samples/oauth2.js`][oauthexample]. + +#### Generating an authentication URL + +To ask for permissions from a user to retrieve an access token, you redirect them to a consent page. To create a consent page URL: + +``` js +const {google} = require('googleapis'); + +const oauth2Client = new google.auth.OAuth2( + YOUR_CLIENT_ID, + YOUR_CLIENT_SECRET, + YOUR_REDIRECT_URL +); + +// generate a url that asks permissions for Google+ and Google Calendar scopes +const scopes = [ + 'https://www.googleapis.com/auth/plus.me', + 'https://www.googleapis.com/auth/calendar' +]; + +const url = oauth2Client.generateAuthUrl({ + // 'online' (default) or 'offline' (gets refresh_token) + access_type: 'offline', + + // If you only need one scope you can pass it as a string + scope: scopes +}); +``` + +**IMPORTANT NOTE** - The `refresh_token` is only returned on the first authorization. More details [here](https://github.com/googleapis/google-api-nodejs-client/issues/750#issuecomment-304521450). + +#### Retrieve authorization code + +Once a user has given permissions on the consent page, Google will redirect the page to the redirect URL you have provided with a code query parameter. + + GET /oauthcallback?code={authorizationCode} + +#### Retrieve access token + +With the code returned, you can ask for an access token as shown below: + +``` js +// This will provide an object with the access_token and refresh_token. +// Save these somewhere safe so they can be used at a later time. +const {tokens} = await oauth2Client.getToken(code) +oauth2Client.setCredentials(tokens); +``` + +With the credentials set on your OAuth2 client - you're ready to go! + +#### Handling refresh tokens +Access tokens expire. This library will automatically use a refresh token to obtain a new access token if it is about to expire. An easy way to make sure you always store the most recent tokens is to use the `tokens` event: + +```js +oauth2client.on('tokens', (tokens) => { + if (tokens.refresh_token) { + // store the refresh_token in my database! + console.log(tokens.refresh_token); + } + console.log(tokens.access_token); +}); +``` + +To set the `refresh_token` at a later time, you can use the `setCredentials` method: + +```js +oauth2client.setCredentials({ + refresh_token: `STORED_REFRESH_TOKEN` +}); +``` + +Once the client has a refresh token, access tokens will be acquired and refreshed automatically in the next call to the API. + +### Using API keys +You may need to send an API key with the request you are going to make. The following uses an API key to make a request to the Google+ API service to retrieve a person's profile given a userId: + +``` js +const {google} = require('googleapis'); +const plus = google.plus({ + version: 'v1', + auth: 'YOUR_API_KEY' // specify your API key here +}); + +async function main() { + const res = await plus.people.get({ userId: 'me' }); + console.log(`Hello ${res.data.displayName}!`); +}; + +main().catch(console.error); +``` + +To learn more about API keys, please see the [documentation][usingkeys]. + +#### Service to Service Authentication + +Rather than manually creating an OAuth2 client, JWT client, or Compute client, the auth library can create the correct credential type for you, depending upon the environment your code is running under. + +For example, a JWT auth client will be created when your code is running on your local developer machine, and a Compute client will be created when the same code is running on a configured instance of Google Compute Engine. + +The code below shows how to retrieve a default credential type, depending upon the runtime environment. The createScopedRequired must be called to determine when you need to pass in the scopes manually, and when they have been set for you automatically based on the configured runtime environment. + +```js +async function main () { + + // This method looks for the GCLOUD_PROJECT and GOOGLE_APPLICATION_CREDENTIALS + // environment variables. + const auth = await google.auth.getClient({ + // Scopes can be specified either as an array or as a single, space-delimited string. + scopes: ['https://www.googleapis.com/auth/compute'] + }); + + // obtain the current project Id + const project = await google.auth.getDefaultProjectId(); + + // Fetch the list of GCE zones within a project. + const res = await compute.zones.list({ project, auth }); + console.log(res.data); +} + +main().catch(console.error); +``` + +### Setting global or service-level auth + +You can set the `auth` as a global or service-level option so you don't need to specify it every request. For example, you can set `auth` as a global option: + +``` js +const {google} = require('googleapis'); + +const oauth2Client = new google.auth.OAuth2( + YOUR_CLIENT_ID, + YOUR_CLIENT_SECRET, + YOUR_REDIRECT_URL +); + +// set auth as a global default +google.options({ + auth: oauth2Client +}); +``` + +Instead of setting the option globally, you can also set the authentication client at the service-level: + +``` js +const {google} = require('googleapis'); +const oauth2Client = new google.auth.OAuth2( + YOUR_CLIENT_ID, + YOUR_CLIENT_SECRET, + YOUR_REDIRECT_URL +); + +const drive = google.drive({ + version: 'v2', + auth: oauth2Client +}); +``` + +See the [Options section][options] for more information. + +## Usage + +### Specifying request body + +The body of the request is specified in the `requestBody` parameter object of the request. The body is specified as a JavaScript object with key/value pairs. For example, this sample creates a watcher that posts notifications to a Google Cloud Pub/Sub topic when emails are sent to a gmail account: + +```js +const res = await gmail.users.watch({ + userId: 'me', + requestBody: { + // Replace with `projects/${PROJECT_ID}/topics/${TOPIC_NAME}` + topicName: `projects/el-gato/topics/gmail` + } +}); +console.log(res.data); +``` + +### Media uploads +This client supports multipart media uploads. The resource parameters are specified in the `requestBody` parameter object, and the media itself is specified in the `media.body` parameter with mime-type specified in `media.mimeType`. + +This example uploads a plain text file to Google Drive with the title "Test" and contents "Hello World". + +``` js +const drive = google.drive({ + version: 'v3', + auth: oauth2Client +}); + +const res = await drive.files.create({ + requestBody: { + name: 'Test', + mimeType: 'text/plain' + }, + media: { + mimeType: 'text/plain', + body: 'Hello World' + } +}); +``` + +You can also upload media by specifying `media.body` as a [Readable stream][stream]. This can allow you to upload very large files that cannot fit into memory. + +```js +const fs = require('fs'); + +const drive = google.drive({ + version: 'v3', + auth: oauth2Client +}); + +async function main() { + const res = await drive.files.create({ + requestBody: { + name: 'testimage.png', + mimeType: 'image/png' + }, + media: { + mimeType: 'image/png', + body: fs.createReadStream('awesome.png') + } + }); + console.log(res.data); +} + +main().catch(console.error); +``` + +For more examples of creation and modification requests with media attachments, take a look at the `samples/drive/upload.js` sample. + +### Request Options +For more fine-tuned control over how your API calls are made, we provide you with the ability to specify additional options that can be applied directly to the ['axios'][axios] object used in this library to make network calls to the API. + +You may specify additional options either in the global `google` object or on a service client basis. The options you specify are attached to the `axios` object so whatever `axios` supports, this library supports. You may also specify global or per-service request parameters that will be attached to all API calls you make. + +A full list of supported options can be [found here][requestopts]. + +#### Global options +You can choose default options that will be sent with each request. These options will be used for every service instantiated by the google client. In this example, the `timeout` property of `AxiosRequestConfig` will be set for every request: + +```js +const {google} = require('googleapis'); +google.options({ + // All requests made with this object will use these settings unless overridden. + timeout: 1000, + auth: auth +}); +``` + +You can also modify the parameters sent with each request: + +```js +const {google} = require('googleapis'); +google.options({ + // All requests from all services will contain the above query parameter + // unless overridden either in a service client or in individual API calls. + params: { + quotaUser: 'user123@example.com' + } +}); +``` + +#### Service-client options + +You can also specify options when creating a service client. + +```js +const blogger = google.blogger({ + version: 'v3', + // All requests made with this object will use the specified auth. + auth: 'API KEY'; +}); +``` + +By doing this, every API call made with this service client will use `'API KEY'` to authenticate. + +**Note:** Created clients are **immutable** so you must create a new one if you want to specify different options. + +Similar to the examples above, you can also modify the parameters used for every call of a given service: + +```js +const blogger = google.blogger({ + version: 'v3', + // All requests made with this service client will contain the + // blogId query parameter unless overridden in individual API calls. + params: { + blogId: 3213900 + } +}); + +// Calls with this drive client will NOT contain the blogId query parameter. +const drive = google.drive('v3'); +... + +``` + +#### Request-level options +You can specify an `auth` object to be used per request. Each request also inherits the options specified at the service level and global level. + +For example: + +```js +const {google} = require('googleapis'); +const bigquery = google.bigquery('v2'); + +async function main() { + + // This method looks for the GCLOUD_PROJECT and GOOGLE_APPLICATION_CREDENTIALS + // environment variables. + const client = await google.auth.getClient({ + scopes: ['https://www.googleapis.com/auth/cloud-platform'] + }); + + const projectId = await google.auth.getDefaultProjectId(); + + const request = { + projectId, + datasetId: '', + + // This is a "request-level" option + auth: client + }; + + const res = await bigquery.datasets.delete(request); + console.log(res.data); + +} + +main().catch(console.error); +``` + +You can also override *axios* options per request, such as `url`, `method`, and `encoding`. + +For example: + +```js +const res = await drive.files.export({ + fileId: 'asxKJod9s79', // A Google Doc + mimeType: 'application/pdf' +}, { + // Make sure we get the binary data + encoding: null +}); +``` + +### Using a Proxy +You can use the following environment variables to proxy HTTP and HTTPS requests: + +- `HTTP_PROXY` / `http_proxy` +- `HTTPS_PROXY` / `https_proxy` + +When HTTP_PROXY / http_proxy are set, they will be used to proxy non-SSL requests that do not have an explicit proxy configuration option present. Similarly, HTTPS_PROXY / https_proxy will be respected for SSL requests that do not have an explicit proxy configuration option. It is valid to define a proxy in one of the environment variables, but then override it for a specific request, using the proxy configuration option. + +### Getting Supported APIs +You can programatically obtain the list of supported APIs, and all available versions: + +```js +const {google} = require('googleapis'); +const apis = google.getSupportedAPIs(); +``` + +This will return an object with the API name as object property names, and an array of version strings as the object values; + +### TypeScript +This library is written in TypeScript, and provides types out of the box. All classes and interfaces generated for each API are exported under the `${apiName}_${version}` namespace. For example, the Drive v3 API types are are all available from the `drive_v3` namespace: + +```ts +import { drive_v3 } from 'googleapis'; +``` + +## Release Notes & Breaking Changes +You can find a detailed list of breaking changes and new features in our [Release Notes][releasenotes]. If you've used this library before `25.x`, see our [Release Notes][releasenotes] to learn about migrating your code from `24.x.x` to `25.x.x`. It's pretty easy :) + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING][copying]. + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING][contributing]. + +## Questions/problems? +* Ask your development related questions on [Stackoverflow][stackoverflow]. +* If you've found an bug/issue, please [file it on GitHub][bugs]. + + +[snyk-image]: https://snyk.io/test/github/googleapis/google-api-nodejs-client/badge.svg +[snyk-url]: https://snyk.io/test/github/googleapis/google-api-nodejs-client +[david-image]: https://david-dm.org/googleapis/google-api-nodejs-client.svg +[david-url]: https://david-dm.org/googleapis/google-api-nodejs-client +[npmimg]: https://img.shields.io/npm/v/googleapis.svg +[npm]: https://www.npmjs.org/package/googleapis +[circle]: https://circleci.com/gh/googleapis/google-api-nodejs-client +[circleimg]: https://circleci.com/gh/googleapis/google-api-nodejs-client.svg?style=shield +[releaselevel]: https://cloud.google.com/terms/launch-stages +[releaselevelimg]: https://img.shields.io/badge/Release%20Level-Alpha-ff69b4.svg +[supported-list]: https://developers.google.com/apis-explorer/ +[bugs]: https://github.com/googleapis/google-api-nodejs-client/issues +[node]: http://nodejs.org/ +[stackoverflow]: http://stackoverflow.com/questions/tagged/google-api-nodejs-client +[apiexplorer]: https://developers.google.com/apis-explorer +[usingkeys]: https://support.google.com/cloud/answer/6158862?hl=en +[contributing]: https://github.com/googleapis/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md +[copying]: https://github.com/googleapis/google-api-nodejs-client/tree/master/COPYING +[authdocs]: https://developers.google.com/identity/protocols/OpenIDConnect +[axios]: https://github.com/axios/axios +[requestopts]: https://github.com/axios/axios#request-config +[stream]: http://nodejs.org/api/stream.html#stream_class_stream_readable +[releasenotes]: https://github.com/googleapis/google-api-nodejs-client/releases +[devconsole]: https://console.developer.google.com +[oauth]: https://developers.google.com/identity/protocols/OAuth2 +[oauthexample]: https://github.com/googleapis/google-api-nodejs-client/tree/master/samples/oauth2.js +[options]: https://github.com/googleapis/google-api-nodejs-client/tree/master#options +[googlecloud]: https://cloud.google.com/nodejs/docs/reference/libraries +[googlecloudapis]: https://cloud.google.com/nodejs/docs/reference/apis +[cloudplatform]: https://cloud.google.com/docs/ +[codecovimg]: https://codecov.io/github/googleapis/google-api-nodejs-client/coverage.svg?branch=master +[codecov]: https://codecov.io/github/googleapis/google-api-nodejs-client?branch=master +[downloadsimg]: https://img.shields.io/npm/dm/googleapis.svg +[downloads]: https://nodei.co/npm/googleapis/ diff --git a/express-server/node_modules/googleapis/build/src/apis/abusiveexperiencereport/README.md b/express-server/node_modules/googleapis/build/src/apis/abusiveexperiencereport/README.md new file mode 100644 index 00000000..84a3ae20 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/abusiveexperiencereport/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/abusiveexperiencereport + +> View Abusive Experience Report data, and get a list of sites that have a significant number of abusive experiences. + +## Installation + +```sh +$ npm install @google/abusiveexperiencereport +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/abusiveexperiencereport/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/abusiveexperiencereport/index.d.ts new file mode 100644 index 00000000..40d89fdd --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/abusiveexperiencereport/index.d.ts @@ -0,0 +1,6 @@ +import { abusiveexperiencereport_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof abusiveexperiencereport_v1.Abusiveexperiencereport; +}; +export declare function abusiveexperiencereport(version: 'v1'): abusiveexperiencereport_v1.Abusiveexperiencereport; +export declare function abusiveexperiencereport(options: abusiveexperiencereport_v1.Options): abusiveexperiencereport_v1.Abusiveexperiencereport; diff --git a/express-server/node_modules/googleapis/build/src/apis/abusiveexperiencereport/index.js b/express-server/node_modules/googleapis/build/src/apis/abusiveexperiencereport/index.js new file mode 100644 index 00000000..41adc3c0 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/abusiveexperiencereport/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.abusiveexperiencereport_v1.Abusiveexperiencereport, +}; +function abusiveexperiencereport(versionOrOptions) { + return googleapis_common_1.getAPI('abusiveexperiencereport', versionOrOptions, exports.VERSIONS, this); +} +exports.abusiveexperiencereport = abusiveexperiencereport; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/abusiveexperiencereport/index.js.map b/express-server/node_modules/googleapis/build/src/apis/abusiveexperiencereport/index.js.map new file mode 100644 index 00000000..b0f3a65a --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/abusiveexperiencereport/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/abusiveexperiencereport/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAgD;AAEnC,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,+BAA0B,CAAC,uBAAuB;CACzD,CAAC;AAOF,SACA,uBAAuB,CAEnB,gBAAyD;IAC3D,OAAO,0BAAM,CAAI,yBAAyB,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAChF,CAAC;AALD,0DAKC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/abusiveexperiencereport/package.json b/express-server/node_modules/googleapis/build/src/apis/abusiveexperiencereport/package.json new file mode 100644 index 00000000..4e344c63 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/abusiveexperiencereport/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/abusiveexperiencereport", + "version": "0.1.0", + "description": "abusiveexperiencereport", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/abusiveexperiencereport/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/abusiveexperiencereport/v1.d.ts new file mode 100644 index 00000000..4648225c --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/abusiveexperiencereport/v1.d.ts @@ -0,0 +1,155 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace abusiveexperiencereport_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Abusive Experience Report API + * + * View Abusive Experience Report data, and get a list of sites that have a + * significant number of abusive experiences. + * + * @example + * const {google} = require('googleapis'); + * const abusiveexperiencereport = google.abusiveexperiencereport('v1'); + * + * @namespace abusiveexperiencereport + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Abusiveexperiencereport + */ + class Abusiveexperiencereport { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + sites: Resource$Sites; + violatingSites: Resource$Violatingsites; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Response message for GetSiteSummary. Do not confuse with same message in + * google.ads.experiencereport.v1 + */ + interface Schema$SiteSummaryResponse { + /** + * The status of the site reviewed for the abusive experiences. + */ + abusiveStatus?: string; + /** + * The date on which enforcement begins. + */ + enforcementTime?: string; + /** + * The abusive experience enforcement status of the site. + */ + filterStatus?: string; + /** + * The last time that the site changed status. + */ + lastChangeTime?: string; + /** + * A link that leads to a full abusive experience report. + */ + reportUrl?: string; + /** + * The name of the site reviewed. + */ + reviewedSite?: string; + /** + * Whether the site is currently under review. + */ + underReview?: boolean; + } + /** + * Response message for ListViolatingSites. + */ + interface Schema$ViolatingSitesResponse { + /** + * A list of summaries of violating sites. + */ + violatingSites?: Schema$SiteSummaryResponse[]; + } + class Resource$Sites { + root: Abusiveexperiencereport; + constructor(root: Abusiveexperiencereport); + getRoot(): Abusiveexperiencereport; + /** + * abusiveexperiencereport.sites.get + * @desc Gets a summary of the abusive experience rating of a site. + * @alias abusiveexperiencereport.sites.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The required site name. This is the site property whose abusive experiences have been reviewed, and it must be URL-encoded. For example, sites/https%3A%2F%2Fwww.google.com. The server will return an error of BAD_REQUEST if this field is not filled in. Note that if the site property is not yet verified in Search Console, the reportUrl field returned by the API will lead to the verification page, prompting the user to go through that process before they can gain access to the Abusive Experience Report. + * @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?: Params$Resource$Sites$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Sites$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Sites$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Sites$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The required site name. This is the site property whose abusive + * experiences have been reviewed, and it must be URL-encoded. For example, + * sites/https%3A%2F%2Fwww.google.com. The server will return an error of + * BAD_REQUEST if this field is not filled in. Note that if the site + * property is not yet verified in Search Console, the reportUrl field + * returned by the API will lead to the verification page, prompting the + * user to go through that process before they can gain access to the + * Abusive Experience Report. + */ + name?: string; + } + class Resource$Violatingsites { + root: Abusiveexperiencereport; + constructor(root: Abusiveexperiencereport); + getRoot(): Abusiveexperiencereport; + /** + * abusiveexperiencereport.violatingSites.list + * @desc Lists sites with Abusive Experience Report statuses of "Failing". + * @alias abusiveexperiencereport.violatingSites.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @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?: Params$Resource$Violatingsites$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Violatingsites$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Violatingsites$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Violatingsites$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/abusiveexperiencereport/v1.js b/express-server/node_modules/googleapis/build/src/apis/abusiveexperiencereport/v1.js new file mode 100644 index 00000000..fac92ecd --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/abusiveexperiencereport/v1.js @@ -0,0 +1,138 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var abusiveexperiencereport_v1; +(function (abusiveexperiencereport_v1) { + /** + * Abusive Experience Report API + * + * View Abusive Experience Report data, and get a list of sites that have a + * significant number of abusive experiences. + * + * @example + * const {google} = require('googleapis'); + * const abusiveexperiencereport = google.abusiveexperiencereport('v1'); + * + * @namespace abusiveexperiencereport + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Abusiveexperiencereport + */ + class Abusiveexperiencereport { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.sites = new Resource$Sites(this); + this.violatingSites = new Resource$Violatingsites(this); + } + getRoot() { + return this.root; + } + } + abusiveexperiencereport_v1.Abusiveexperiencereport = Abusiveexperiencereport; + class Resource$Sites { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://abusiveexperiencereport.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + abusiveexperiencereport_v1.Resource$Sites = Resource$Sites; + class Resource$Violatingsites { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://abusiveexperiencereport.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/violatingSites') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + abusiveexperiencereport_v1.Resource$Violatingsites = Resource$Violatingsites; +})(abusiveexperiencereport_v1 = exports.abusiveexperiencereport_v1 || (exports.abusiveexperiencereport_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/abusiveexperiencereport/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/abusiveexperiencereport/v1.js.map new file mode 100644 index 00000000..2487b5c2 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/abusiveexperiencereport/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/abusiveexperiencereport/v1.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAIH,yDAA2H;AAE3H,yBAAyB;AACzB,6BAA6B;AAC7B,gCAAgC;AAChC,+BAA+B;AAC/B,+BAA+B;AAE/B,IAAiB,0BAA0B,CA2Q1C;AA3QD,WAAiB,0BAA0B;IAKzC;;;;;;;;;;;;;;;OAeG;IACH,MAAa,uBAAuB;QAQlC,YAAY,OAAsB,EAAE,MAA2B;YAL/D,SAAI,GAAG,IAAI,CAAC;YAMV,IAAI,CAAC,QAAQ,GAAG,OAAO,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAExB,IAAI,CAAC,KAAK,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,CAAC,cAAc,GAAG,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAC1D,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;KACF;IApBY,kDAAuB,0BAoBnC,CAAA;IA+CD,MAAa,cAAc;QAEzB,YAAY,IAA6B;YACvC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAuBD,GAAG,CAAC,gBACgD,EAChD,iBACgD,EAChD,QAA2D;YAE7D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAA8B,CAAC;YACnE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA+B,CAAC;gBACzC,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,iDAAiD,CAAC;YACzE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,aAAa,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBAC5D,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA6B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACpE;iBAAM;gBACL,OAAO,oCAAgB,CAA6B,UAAU,CAAC,CAAC;aACjE;QACH,CAAC;KACF;IAxEY,yCAAc,iBAwE1B,CAAA;IAsBD,MAAa,uBAAuB;QAElC,YAAY,IAA6B;YACvC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAyBD,IAAI,CACA,gBACmD,EACnD,iBACmD,EACnD,QAA8D;YAEhE,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAwC,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAyC,CAAC;gBACnD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,iDAAiD,CAAC;YACzE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,oBAAoB,CAAC;yBAC3B,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,EAAE;gBAClB,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvE;iBAAM;gBACL,OAAO,oCAAgB,CAAgC,UAAU,CAAC,CAAC;aACpE;QACH,CAAC;KACF;IA7EY,kDAAuB,0BA6EnC,CAAA;AAQH,CAAC,EA3QgB,0BAA0B,GAA1B,kCAA0B,KAA1B,kCAA0B,QA2Q1C"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/acceleratedmobilepageurl/README.md b/express-server/node_modules/googleapis/build/src/apis/acceleratedmobilepageurl/README.md new file mode 100644 index 00000000..b65e4c70 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/acceleratedmobilepageurl/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/acceleratedmobilepageurl + +> This API contains a single method, batchGet. Call this method to retrieve the AMP URL (and equivalent AMP Cache URL) for given public URL(s). + +## Installation + +```sh +$ npm install @google/acceleratedmobilepageurl +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/acceleratedmobilepageurl/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/acceleratedmobilepageurl/index.d.ts new file mode 100644 index 00000000..17dfe3ed --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/acceleratedmobilepageurl/index.d.ts @@ -0,0 +1,6 @@ +import { acceleratedmobilepageurl_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof acceleratedmobilepageurl_v1.Acceleratedmobilepageurl; +}; +export declare function acceleratedmobilepageurl(version: 'v1'): acceleratedmobilepageurl_v1.Acceleratedmobilepageurl; +export declare function acceleratedmobilepageurl(options: acceleratedmobilepageurl_v1.Options): acceleratedmobilepageurl_v1.Acceleratedmobilepageurl; diff --git a/express-server/node_modules/googleapis/build/src/apis/acceleratedmobilepageurl/index.js b/express-server/node_modules/googleapis/build/src/apis/acceleratedmobilepageurl/index.js new file mode 100644 index 00000000..7dadcae5 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/acceleratedmobilepageurl/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.acceleratedmobilepageurl_v1.Acceleratedmobilepageurl, +}; +function acceleratedmobilepageurl(versionOrOptions) { + return googleapis_common_1.getAPI('acceleratedmobilepageurl', versionOrOptions, exports.VERSIONS, this); +} +exports.acceleratedmobilepageurl = acceleratedmobilepageurl; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/acceleratedmobilepageurl/index.js.map b/express-server/node_modules/googleapis/build/src/apis/acceleratedmobilepageurl/index.js.map new file mode 100644 index 00000000..75d0b478 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/acceleratedmobilepageurl/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/acceleratedmobilepageurl/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAiD;AAEpC,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,gCAA2B,CAAC,wBAAwB;CAC3D,CAAC;AAOF,SAAgB,wBAAwB,CAGpC,gBAA0D;IAC5D,OAAO,0BAAM,CACT,0BAA0B,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACpE,CAAC;AAND,4DAMC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/acceleratedmobilepageurl/package.json b/express-server/node_modules/googleapis/build/src/apis/acceleratedmobilepageurl/package.json new file mode 100644 index 00000000..886f31ed --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/acceleratedmobilepageurl/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/acceleratedmobilepageurl", + "version": "0.1.0", + "description": "acceleratedmobilepageurl", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/acceleratedmobilepageurl/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/acceleratedmobilepageurl/v1.d.ts new file mode 100644 index 00000000..f570ff7b --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/acceleratedmobilepageurl/v1.d.ts @@ -0,0 +1,145 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace acceleratedmobilepageurl_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Accelerated Mobile Pages (AMP) URL API + * + * Retrieves the list of AMP URLs (and equivalent AMP Cache URLs) for a given + * list of public URL(s). + * + * @example + * const {google} = require('googleapis'); + * const acceleratedmobilepageurl = google.acceleratedmobilepageurl('v1'); + * + * @namespace acceleratedmobilepageurl + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Acceleratedmobilepageurl + */ + class Acceleratedmobilepageurl { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + ampUrls: Resource$Ampurls; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * AMP URL response for a requested URL. + */ + interface Schema$AmpUrl { + /** + * The AMP URL pointing to the publisher's web server. + */ + ampUrl?: string; + /** + * The [AMP Cache URL](/amp/cache/overview#amp-cache-url-format) pointing to + * the cached document in the Google AMP Cache. + */ + cdnAmpUrl?: string; + /** + * The original non-AMP URL. + */ + originalUrl?: string; + } + /** + * AMP URL Error resource for a requested URL that couldn't be found. + */ + interface Schema$AmpUrlError { + /** + * The error code of an API call. + */ + errorCode?: string; + /** + * An optional descriptive error message. + */ + errorMessage?: string; + /** + * The original non-AMP URL. + */ + originalUrl?: string; + } + /** + * AMP URL request for a batch of URLs. + */ + interface Schema$BatchGetAmpUrlsRequest { + /** + * The lookup_strategy being requested. + */ + lookupStrategy?: string; + /** + * List of URLs to look up for the paired AMP URLs. The URLs are + * case-sensitive. Up to 50 URLs per lookup (see [Usage + * Limits](/amp/cache/reference/limits)). + */ + urls?: string[]; + } + /** + * Batch AMP URL response. + */ + interface Schema$BatchGetAmpUrlsResponse { + /** + * For each URL in BatchAmpUrlsRequest, the URL response. The response might + * not be in the same order as URLs in the batch request. If + * BatchAmpUrlsRequest contains duplicate URLs, AmpUrl is generated only + * once. + */ + ampUrls?: Schema$AmpUrl[]; + /** + * The errors for requested URLs that have no AMP URL. + */ + urlErrors?: Schema$AmpUrlError[]; + } + class Resource$Ampurls { + root: Acceleratedmobilepageurl; + constructor(root: Acceleratedmobilepageurl); + getRoot(): Acceleratedmobilepageurl; + /** + * acceleratedmobilepageurl.ampUrls.batchGet + * @desc Returns AMP URL(s) and equivalent [AMP Cache + * URL(s)](/amp/cache/overview#amp-cache-url-format). + * @alias acceleratedmobilepageurl.ampUrls.batchGet + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().BatchGetAmpUrlsRequest} 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 + */ + batchGet(params?: Params$Resource$Ampurls$Batchget, options?: MethodOptions): AxiosPromise; + batchGet(params: Params$Resource$Ampurls$Batchget, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + batchGet(params: Params$Resource$Ampurls$Batchget, callback: BodyResponseCallback): void; + batchGet(callback: BodyResponseCallback): void; + } + interface Params$Resource$Ampurls$Batchget { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$BatchGetAmpUrlsRequest; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/acceleratedmobilepageurl/v1.js b/express-server/node_modules/googleapis/build/src/apis/acceleratedmobilepageurl/v1.js new file mode 100644 index 00000000..f2ed6fae --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/acceleratedmobilepageurl/v1.js @@ -0,0 +1,97 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var acceleratedmobilepageurl_v1; +(function (acceleratedmobilepageurl_v1) { + /** + * Accelerated Mobile Pages (AMP) URL API + * + * Retrieves the list of AMP URLs (and equivalent AMP Cache URLs) for a given + * list of public URL(s). + * + * @example + * const {google} = require('googleapis'); + * const acceleratedmobilepageurl = google.acceleratedmobilepageurl('v1'); + * + * @namespace acceleratedmobilepageurl + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Acceleratedmobilepageurl + */ + class Acceleratedmobilepageurl { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.ampUrls = new Resource$Ampurls(this); + } + getRoot() { + return this.root; + } + } + acceleratedmobilepageurl_v1.Acceleratedmobilepageurl = Acceleratedmobilepageurl; + class Resource$Ampurls { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + batchGet(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://acceleratedmobilepageurl.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/ampUrls:batchGet') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + acceleratedmobilepageurl_v1.Resource$Ampurls = Resource$Ampurls; +})(acceleratedmobilepageurl_v1 = exports.acceleratedmobilepageurl_v1 || (exports.acceleratedmobilepageurl_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/acceleratedmobilepageurl/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/acceleratedmobilepageurl/v1.js.map new file mode 100644 index 00000000..41735c47 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/acceleratedmobilepageurl/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/acceleratedmobilepageurl/v1.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAIH,yDAA2H;AAE3H,yBAAyB;AACzB,6BAA6B;AAC7B,gCAAgC;AAChC,+BAA+B;AAC/B,+BAA+B;AAE/B,IAAiB,2BAA2B,CA2M3C;AA3MD,WAAiB,2BAA2B;IAK1C;;;;;;;;;;;;;;;OAeG;IACH,MAAa,wBAAwB;QAOnC,YAAY,OAAsB,EAAE,MAA2B;YAJ/D,SAAI,GAAG,IAAI,CAAC;YAKV,IAAI,CAAC,QAAQ,GAAG,OAAO,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAExB,IAAI,CAAC,OAAO,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;KACF;IAlBY,oDAAwB,2BAkBpC,CAAA;IAsED,MAAa,gBAAgB;QAE3B,YAAY,IAA8B;YACxC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA6BD,QAAQ,CACJ,gBACoD,EACpD,iBACoD,EACpD,QAA+D;YAEjE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAqC,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsC,CAAC;gBAChD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,kDAAkD,CAAC;YAC1E,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,sBAAsB,CAAC;yBAC7B,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,EAAE;gBAClB,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxE;iBAAM;gBACL,OAAO,oCAAgB,CAAiC,UAAU,CAAC,CAAC;aACrE;QACH,CAAC;KACF;IAhFY,4CAAgB,mBAgF5B,CAAA;AAcH,CAAC,EA3MgB,2BAA2B,GAA3B,mCAA2B,KAA3B,mCAA2B,QA2M3C"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer/README.md b/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer/README.md new file mode 100644 index 00000000..3a39d18d --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/adexchangebuyer + +> Accesses your bidding-account information, submits creatives for validation, finds available direct deals, and retrieves performance reports. + +## Installation + +```sh +$ npm install @google/adexchangebuyer +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer/index.d.ts new file mode 100644 index 00000000..6441e7b9 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer/index.d.ts @@ -0,0 +1,14 @@ +import { adexchangebuyer_v1_2 } from './v1.2'; +import { adexchangebuyer_v1_3 } from './v1.3'; +import { adexchangebuyer_v1_4 } from './v1.4'; +export declare const VERSIONS: { + 'v1.2': typeof adexchangebuyer_v1_2.Adexchangebuyer; + 'v1.3': typeof adexchangebuyer_v1_3.Adexchangebuyer; + 'v1.4': typeof adexchangebuyer_v1_4.Adexchangebuyer; +}; +export declare function adexchangebuyer(version: 'v1_2'): adexchangebuyer_v1_2.Adexchangebuyer; +export declare function adexchangebuyer(options: adexchangebuyer_v1_2.Options): adexchangebuyer_v1_2.Adexchangebuyer; +export declare function adexchangebuyer(version: 'v1_3'): adexchangebuyer_v1_3.Adexchangebuyer; +export declare function adexchangebuyer(options: adexchangebuyer_v1_3.Options): adexchangebuyer_v1_3.Adexchangebuyer; +export declare function adexchangebuyer(version: 'v1_4'): adexchangebuyer_v1_4.Adexchangebuyer; +export declare function adexchangebuyer(options: adexchangebuyer_v1_4.Options): adexchangebuyer_v1_4.Adexchangebuyer; diff --git a/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer/index.js b/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer/index.js new file mode 100644 index 00000000..37bbf37f --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer/index.js @@ -0,0 +1,29 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_2_1 = require("./v1.2"); +const v1_3_1 = require("./v1.3"); +const v1_4_1 = require("./v1.4"); +exports.VERSIONS = { + 'v1.2': v1_2_1.adexchangebuyer_v1_2.Adexchangebuyer, + 'v1.3': v1_3_1.adexchangebuyer_v1_3.Adexchangebuyer, + 'v1.4': v1_4_1.adexchangebuyer_v1_4.Adexchangebuyer, +}; +function adexchangebuyer(versionOrOptions) { + return googleapis_common_1.getAPI('adexchangebuyer', versionOrOptions, exports.VERSIONS, this); +} +exports.adexchangebuyer = adexchangebuyer; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer/index.js.map b/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer/index.js.map new file mode 100644 index 00000000..5c6b9ffb --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/adexchangebuyer/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,iCAA4C;AAC5C,iCAA4C;AAC5C,iCAA4C;AAE/B,QAAA,QAAQ,GAAG;IACtB,MAAM,EAAE,2BAAoB,CAAC,eAAe;IAC5C,MAAM,EAAE,2BAAoB,CAAC,eAAe;IAC5C,MAAM,EAAE,2BAAoB,CAAC,eAAe;CAC7C,CAAC;AAcF,SAAgB,eAAe,CAK3B,gBAEgE;IAClE,OAAO,0BAAM,CAAI,iBAAiB,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACxE,CAAC;AATD,0CASC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer/package.json b/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer/package.json new file mode 100644 index 00000000..0024dd58 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/adexchangebuyer", + "version": "0.1.0", + "description": "adexchangebuyer", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer/v1.2.d.ts b/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer/v1.2.d.ts new file mode 100644 index 00000000..f4101867 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer/v1.2.d.ts @@ -0,0 +1,455 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace adexchangebuyer_v1_2 { + interface Options extends GlobalOptions { + version: 'v1_2'; + } + /** + * Ad Exchange Buyer API + * + * Accesses your bidding-account information, submits creatives for + * validation, finds available direct deals, and retrieves performance + * reports. + * + * @example + * const {google} = require('googleapis'); + * const adexchangebuyer = google.adexchangebuyer('v1.2'); + * + * @namespace adexchangebuyer + * @type {Function} + * @version v1.2 + * @variation v1.2 + * @param {object=} options Options for Adexchangebuyer + */ + class Adexchangebuyer { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + accounts: Resource$Accounts; + creatives: Resource$Creatives; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Configuration data for an Ad Exchange buyer account. + */ + interface Schema$Account { + /** + * Your bidder locations that have distinct URLs. + */ + bidderLocation?: any[]; + /** + * The nid parameter value used in cookie match requests. Please contact + * your technical account manager if you need to change this. + */ + cookieMatchingNid?: string; + /** + * The base URL used in cookie match requests. + */ + cookieMatchingUrl?: string; + /** + * Account id. + */ + id?: number; + /** + * Resource type. + */ + kind?: string; + /** + * The maximum number of active creatives that an account can have, where a + * creative is active if it was inserted or bid with in the last 30 days. + * Please contact your technical account manager if you need to change this. + */ + maximumActiveCreatives?: number; + /** + * The sum of all bidderLocation.maximumQps values cannot exceed this. + * Please contact your technical account manager if you need to change this. + */ + maximumTotalQps?: number; + /** + * The number of creatives that this account inserted or bid with in the + * last 30 days. + */ + numberActiveCreatives?: number; + } + /** + * An account feed lists Ad Exchange buyer accounts that the user has access + * to. Each entry in the feed corresponds to a single buyer account. + */ + interface Schema$AccountsList { + /** + * A list of accounts. + */ + items?: Schema$Account[]; + /** + * Resource type. + */ + kind?: string; + } + /** + * A creative and its classification data. + */ + interface Schema$Creative { + /** + * Account id. + */ + accountId?: number; + /** + * Detected advertiser id, if any. Read-only. This field should not be set + * in requests. + */ + advertiserId?: string[]; + /** + * The name of the company being advertised in the creative. + */ + advertiserName?: string; + /** + * The agency id for this creative. + */ + agencyId?: string; + /** + * The last upload timestamp of this creative if it was uploaded via API. + * Read-only. The value of this field is generated, and will be ignored for + * uploads. (formatted RFC 3339 timestamp). + */ + apiUploadTimestamp?: string; + /** + * All attributes for the ads that may be shown from this snippet. + */ + attribute?: number[]; + /** + * A buyer-specific id identifying the creative in this ad. + */ + buyerCreativeId?: string; + /** + * The set of destination urls for the snippet. + */ + clickThroughUrl?: string[]; + /** + * Shows any corrections that were applied to this creative. Read-only. This + * field should not be set in requests. + */ + corrections?: any[]; + /** + * The reasons for disapproval, if any. Note that not all disapproval + * reasons may be categorized, so it is possible for the creative to have a + * status of DISAPPROVED with an empty list for disapproval_reasons. In this + * case, please reach out to your TAM to help debug the issue. Read-only. + * This field should not be set in requests. + */ + disapprovalReasons?: any[]; + /** + * The filtering reasons for the creative. Read-only. This field should not + * be set in requests. + */ + filteringReasons?: any; + /** + * Ad height. + */ + height?: number; + /** + * The HTML snippet that displays the ad when inserted in the web page. If + * set, videoURL should not be set. + */ + HTMLSnippet?: string; + /** + * The set of urls to be called to record an impression. + */ + impressionTrackingUrl?: string[]; + /** + * Resource type. + */ + kind?: string; + /** + * Detected product categories, if any. Read-only. This field should not be + * set in requests. + */ + productCategories?: number[]; + /** + * All restricted categories for the ads that may be shown from this + * snippet. + */ + restrictedCategories?: number[]; + /** + * Detected sensitive categories, if any. Read-only. This field should not + * be set in requests. + */ + sensitiveCategories?: number[]; + /** + * Creative serving status. Read-only. This field should not be set in + * requests. + */ + status?: string; + /** + * All vendor types for the ads that may be shown from this snippet. + */ + vendorType?: number[]; + /** + * The version for this creative. Read-only. This field should not be set in + * requests. + */ + version?: number; + /** + * The url to fetch a video ad. If set, HTMLSnippet should not be set. + */ + videoURL?: string; + /** + * Ad width. + */ + width?: number; + } + /** + * The creatives feed lists the active creatives for the Ad Exchange buyer + * accounts that the user has access to. Each entry in the feed corresponds to + * a single creative. + */ + interface Schema$CreativesList { + /** + * A list of creatives. + */ + items?: Schema$Creative[]; + /** + * Resource type. + */ + kind?: string; + /** + * Continuation token used to page through creatives. To retrieve the next + * page of results, set the next request's "pageToken" value + * to this. + */ + nextPageToken?: string; + } + class Resource$Accounts { + root: Adexchangebuyer; + constructor(root: Adexchangebuyer); + getRoot(): Adexchangebuyer; + /** + * adexchangebuyer.accounts.get + * @desc Gets one account by ID. + * @alias adexchangebuyer.accounts.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.id The account id + * @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?: Params$Resource$Accounts$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accounts$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accounts$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * adexchangebuyer.accounts.list + * @desc Retrieves the authenticated user's list of accounts. + * @alias adexchangebuyer.accounts.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @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?: Params$Resource$Accounts$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accounts$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accounts$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * adexchangebuyer.accounts.patch + * @desc Updates an existing account. This method supports patch semantics. + * @alias adexchangebuyer.accounts.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.id The account id + * @param {().Account} 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 + */ + patch(params?: Params$Resource$Accounts$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Accounts$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Accounts$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * adexchangebuyer.accounts.update + * @desc Updates an existing account. + * @alias adexchangebuyer.accounts.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.id The account id + * @param {().Account} 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?: Params$Resource$Accounts$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Accounts$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Accounts$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The account id + */ + id?: number; + } + interface Params$Resource$Accounts$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } + interface Params$Resource$Accounts$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The account id + */ + id?: number; + /** + * Request body metadata + */ + requestBody?: Schema$Account; + } + interface Params$Resource$Accounts$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The account id + */ + id?: number; + /** + * Request body metadata + */ + requestBody?: Schema$Account; + } + class Resource$Creatives { + root: Adexchangebuyer; + constructor(root: Adexchangebuyer); + getRoot(): Adexchangebuyer; + /** + * adexchangebuyer.creatives.get + * @desc Gets the status for a single creative. A creative will be available + * 30-40 minutes after submission. + * @alias adexchangebuyer.creatives.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.accountId The id for the account that will serve this creative. + * @param {string} params.buyerCreativeId The buyer-specific id for this creative. + * @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?: Params$Resource$Creatives$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Creatives$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Creatives$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * adexchangebuyer.creatives.insert + * @desc Submit a new creative. + * @alias adexchangebuyer.creatives.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().Creative} 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?: Params$Resource$Creatives$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Creatives$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Creatives$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * adexchangebuyer.creatives.list + * @desc Retrieves a list of the authenticated user's active creatives. A + * creative will be available 30-40 minutes after submission. + * @alias adexchangebuyer.creatives.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {integer=} params.maxResults Maximum number of entries returned on one result page. If not set, the default is 100. Optional. + * @param {string=} params.pageToken A continuation token, used to page through ad clients. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response. Optional. + * @param {string=} params.statusFilter When specified, only creatives having the given status are returned. + * @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?: Params$Resource$Creatives$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Creatives$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Creatives$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Creatives$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The id for the account that will serve this creative. + */ + accountId?: number; + /** + * The buyer-specific id for this creative. + */ + buyerCreativeId?: string; + } + interface Params$Resource$Creatives$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$Creative; + } + interface Params$Resource$Creatives$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Maximum number of entries returned on one result page. If not set, the + * default is 100. Optional. + */ + maxResults?: number; + /** + * A continuation token, used to page through ad clients. To retrieve the + * next page, set this parameter to the value of "nextPageToken" from the + * previous response. Optional. + */ + pageToken?: string; + /** + * When specified, only creatives having the given status are returned. + */ + statusFilter?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer/v1.2.js b/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer/v1.2.js new file mode 100644 index 00000000..40d3db3c --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer/v1.2.js @@ -0,0 +1,296 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var adexchangebuyer_v1_2; +(function (adexchangebuyer_v1_2) { + /** + * Ad Exchange Buyer API + * + * Accesses your bidding-account information, submits creatives for + * validation, finds available direct deals, and retrieves performance + * reports. + * + * @example + * const {google} = require('googleapis'); + * const adexchangebuyer = google.adexchangebuyer('v1.2'); + * + * @namespace adexchangebuyer + * @type {Function} + * @version v1.2 + * @variation v1.2 + * @param {object=} options Options for Adexchangebuyer + */ + class Adexchangebuyer { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.accounts = new Resource$Accounts(this); + this.creatives = new Resource$Creatives(this); + } + getRoot() { + return this.root; + } + } + adexchangebuyer_v1_2.Adexchangebuyer = Adexchangebuyer; + class Resource$Accounts { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adexchangebuyer/v1.2/accounts/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['id'], + pathParams: ['id'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adexchangebuyer/v1.2/accounts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adexchangebuyer/v1.2/accounts/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['id'], + pathParams: ['id'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adexchangebuyer/v1.2/accounts/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['id'], + pathParams: ['id'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adexchangebuyer_v1_2.Resource$Accounts = Resource$Accounts; + class Resource$Creatives { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adexchangebuyer/v1.2/creatives/{accountId}/{buyerCreativeId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'buyerCreativeId'], + pathParams: ['accountId', 'buyerCreativeId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adexchangebuyer/v1.2/creatives') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adexchangebuyer/v1.2/creatives') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adexchangebuyer_v1_2.Resource$Creatives = Resource$Creatives; +})(adexchangebuyer_v1_2 = exports.adexchangebuyer_v1_2 || (exports.adexchangebuyer_v1_2 = {})); +//# sourceMappingURL=v1.2.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer/v1.2.js.map b/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer/v1.2.js.map new file mode 100644 index 00000000..296a9ad0 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer/v1.2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.2.js","sourceRoot":"","sources":["../../../../src/apis/adexchangebuyer/v1.2.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer/v1.3.d.ts b/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer/v1.3.d.ts new file mode 100644 index 00000000..509a2a0f --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer/v1.3.d.ts @@ -0,0 +1,1340 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace adexchangebuyer_v1_3 { + interface Options extends GlobalOptions { + version: 'v1_3'; + } + /** + * Ad Exchange Buyer API + * + * Accesses your bidding-account information, submits creatives for + * validation, finds available direct deals, and retrieves performance + * reports. + * + * @example + * const {google} = require('googleapis'); + * const adexchangebuyer = google.adexchangebuyer('v1.3'); + * + * @namespace adexchangebuyer + * @type {Function} + * @version v1.3 + * @variation v1.3 + * @param {object=} options Options for Adexchangebuyer + */ + class Adexchangebuyer { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + accounts: Resource$Accounts; + billingInfo: Resource$Billinginfo; + budget: Resource$Budget; + creatives: Resource$Creatives; + directDeals: Resource$Directdeals; + performanceReport: Resource$Performancereport; + pretargetingConfig: Resource$Pretargetingconfig; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Configuration data for an Ad Exchange buyer account. + */ + interface Schema$Account { + /** + * Your bidder locations that have distinct URLs. + */ + bidderLocation?: any[]; + /** + * The nid parameter value used in cookie match requests. Please contact + * your technical account manager if you need to change this. + */ + cookieMatchingNid?: string; + /** + * The base URL used in cookie match requests. + */ + cookieMatchingUrl?: string; + /** + * Account id. + */ + id?: number; + /** + * Resource type. + */ + kind?: string; + /** + * The maximum number of active creatives that an account can have, where a + * creative is active if it was inserted or bid with in the last 30 days. + * Please contact your technical account manager if you need to change this. + */ + maximumActiveCreatives?: number; + /** + * The sum of all bidderLocation.maximumQps values cannot exceed this. + * Please contact your technical account manager if you need to change this. + */ + maximumTotalQps?: number; + /** + * The number of creatives that this account inserted or bid with in the + * last 30 days. + */ + numberActiveCreatives?: number; + } + /** + * An account feed lists Ad Exchange buyer accounts that the user has access + * to. Each entry in the feed corresponds to a single buyer account. + */ + interface Schema$AccountsList { + /** + * A list of accounts. + */ + items?: Schema$Account[]; + /** + * Resource type. + */ + kind?: string; + } + /** + * The configuration data for an Ad Exchange billing info. + */ + interface Schema$BillingInfo { + /** + * Account id. + */ + accountId?: number; + /** + * Account name. + */ + accountName?: string; + /** + * A list of adgroup IDs associated with this particular account. These IDs + * may show up as part of a realtime bidding BidRequest, which indicates a + * bid request for this account. + */ + billingId?: string[]; + /** + * Resource type. + */ + kind?: string; + } + /** + * A billing info feed lists Billing Info the Ad Exchange buyer account has + * access to. Each entry in the feed corresponds to a single billing info. + */ + interface Schema$BillingInfoList { + /** + * A list of billing info relevant for your account. + */ + items?: Schema$BillingInfo[]; + /** + * Resource type. + */ + kind?: string; + } + /** + * The configuration data for Ad Exchange RTB - Budget API. + */ + interface Schema$Budget { + /** + * The id of the account. This is required for get and update requests. + */ + accountId?: string; + /** + * The billing id to determine which adgroup to provide budget information + * for. This is required for get and update requests. + */ + billingId?: string; + /** + * The daily budget amount in unit amount of the account currency to apply + * for the billingId provided. This is required for update requests. + */ + budgetAmount?: string; + /** + * The currency code for the buyer. This cannot be altered here. + */ + currencyCode?: string; + /** + * The unique id that describes this item. + */ + id?: string; + /** + * The kind of the resource, i.e. "adexchangebuyer#budget". + */ + kind?: string; + } + /** + * A creative and its classification data. + */ + interface Schema$Creative { + /** + * Account id. + */ + accountId?: number; + /** + * Detected advertiser id, if any. Read-only. This field should not be set + * in requests. + */ + advertiserId?: string[]; + /** + * The name of the company being advertised in the creative. + */ + advertiserName?: string; + /** + * The agency id for this creative. + */ + agencyId?: string; + /** + * The last upload timestamp of this creative if it was uploaded via API. + * Read-only. The value of this field is generated, and will be ignored for + * uploads. (formatted RFC 3339 timestamp). + */ + apiUploadTimestamp?: string; + /** + * All attributes for the ads that may be shown from this snippet. + */ + attribute?: number[]; + /** + * A buyer-specific id identifying the creative in this ad. + */ + buyerCreativeId?: string; + /** + * The set of destination urls for the snippet. + */ + clickThroughUrl?: string[]; + /** + * Shows any corrections that were applied to this creative. Read-only. This + * field should not be set in requests. + */ + corrections?: any[]; + /** + * The reasons for disapproval, if any. Note that not all disapproval + * reasons may be categorized, so it is possible for the creative to have a + * status of DISAPPROVED with an empty list for disapproval_reasons. In this + * case, please reach out to your TAM to help debug the issue. Read-only. + * This field should not be set in requests. + */ + disapprovalReasons?: any[]; + /** + * The filtering reasons for the creative. Read-only. This field should not + * be set in requests. + */ + filteringReasons?: any; + /** + * Ad height. + */ + height?: number; + /** + * The HTML snippet that displays the ad when inserted in the web page. If + * set, videoURL should not be set. + */ + HTMLSnippet?: string; + /** + * The set of urls to be called to record an impression. + */ + impressionTrackingUrl?: string[]; + /** + * Resource type. + */ + kind?: string; + /** + * If nativeAd is set, HTMLSnippet and videoURL should not be set. + */ + nativeAd?: any; + /** + * Detected product categories, if any. Read-only. This field should not be + * set in requests. + */ + productCategories?: number[]; + /** + * All restricted categories for the ads that may be shown from this + * snippet. + */ + restrictedCategories?: number[]; + /** + * Detected sensitive categories, if any. Read-only. This field should not + * be set in requests. + */ + sensitiveCategories?: number[]; + /** + * Creative serving status. Read-only. This field should not be set in + * requests. + */ + status?: string; + /** + * All vendor types for the ads that may be shown from this snippet. + */ + vendorType?: number[]; + /** + * The version for this creative. Read-only. This field should not be set in + * requests. + */ + version?: number; + /** + * The URL to fetch a video ad. If set, HTMLSnippet and the nativeAd should + * not be set. + */ + videoURL?: string; + /** + * Ad width. + */ + width?: number; + } + /** + * The creatives feed lists the active creatives for the Ad Exchange buyer + * accounts that the user has access to. Each entry in the feed corresponds to + * a single creative. + */ + interface Schema$CreativesList { + /** + * A list of creatives. + */ + items?: Schema$Creative[]; + /** + * Resource type. + */ + kind?: string; + /** + * Continuation token used to page through creatives. To retrieve the next + * page of results, set the next request's "pageToken" value + * to this. + */ + nextPageToken?: string; + } + /** + * The configuration data for an Ad Exchange direct deal. + */ + interface Schema$DirectDeal { + /** + * The account id of the buyer this deal is for. + */ + accountId?: number; + /** + * The name of the advertiser this deal is for. + */ + advertiser?: string; + /** + * Whether the publisher for this deal is eligible for alcohol ads. + */ + allowsAlcohol?: boolean; + /** + * The account id that this deal was negotiated for. It is either the buyer + * or the client that this deal was negotiated on behalf of. + */ + buyerAccountId?: string; + /** + * The currency code that applies to the fixed_cpm value. If not set then + * assumed to be USD. + */ + currencyCode?: string; + /** + * The deal type such as programmatic reservation or fixed price and so on. + */ + dealTier?: string; + /** + * End time for when this deal stops being active. If not set then this deal + * is valid until manually disabled by the publisher. In seconds since the + * epoch. + */ + endTime?: string; + /** + * The fixed price for this direct deal. In cpm micros of currency according + * to currency_code. If set, then this deal is eligible for the fixed price + * tier of buying (highest priority, pay exactly the configured fixed + * price). + */ + fixedCpm?: string; + /** + * Deal id. + */ + id?: string; + /** + * Resource type. + */ + kind?: string; + /** + * Deal name. + */ + name?: string; + /** + * The minimum price for this direct deal. In cpm micros of currency + * according to currency_code. If set, then this deal is eligible for the + * private exchange tier of buying (below fixed price priority, run as a + * second price auction). + */ + privateExchangeMinCpm?: string; + /** + * If true, the publisher has opted to have their blocks ignored when a + * creative is bid with for this deal. + */ + publisherBlocksOverriden?: boolean; + /** + * The name of the publisher offering this direct deal. + */ + sellerNetwork?: string; + /** + * Start time for when this deal becomes active. If not set then this deal + * is active immediately upon creation. In seconds since the epoch. + */ + startTime?: string; + } + /** + * A direct deals feed lists Direct Deals the Ad Exchange buyer account has + * access to. This includes direct deals set up for the buyer account as well + * as its merged stream seats. + */ + interface Schema$DirectDealsList { + /** + * A list of direct deals relevant for your account. + */ + directDeals?: Schema$DirectDeal[]; + /** + * Resource type. + */ + kind?: string; + } + /** + * The configuration data for an Ad Exchange performance report list. + */ + interface Schema$PerformanceReport { + /** + * The number of bid responses with an ad. + */ + bidRate?: number; + /** + * The number of bid requests sent to your bidder. + */ + bidRequestRate?: number; + /** + * Rate of various prefiltering statuses per match. Please refer to the + * callout-status-codes.txt file for different statuses. + */ + calloutStatusRate?: any[]; + /** + * Average QPS for cookie matcher operations. + */ + cookieMatcherStatusRate?: any[]; + /** + * Rate of ads with a given status. Please refer to the + * creative-status-codes.txt file for different statuses. + */ + creativeStatusRate?: any[]; + /** + * The number of bid responses that were filtered due to a policy violation + * or other errors. + */ + filteredBidRate?: number; + /** + * Average QPS for hosted match operations. + */ + hostedMatchStatusRate?: any[]; + /** + * The number of potential queries based on your pretargeting settings. + */ + inventoryMatchRate?: number; + /** + * Resource type. + */ + kind?: string; + /** + * The 50th percentile round trip latency(ms) as perceived from Google + * servers for the duration period covered by the report. + */ + latency50thPercentile?: number; + /** + * The 85th percentile round trip latency(ms) as perceived from Google + * servers for the duration period covered by the report. + */ + latency85thPercentile?: number; + /** + * The 95th percentile round trip latency(ms) as perceived from Google + * servers for the duration period covered by the report. + */ + latency95thPercentile?: number; + /** + * Rate of various quota account statuses per quota check. + */ + noQuotaInRegion?: number; + /** + * Rate of various quota account statuses per quota check. + */ + outOfQuota?: number; + /** + * Average QPS for pixel match requests from clients. + */ + pixelMatchRequests?: number; + /** + * Average QPS for pixel match responses from clients. + */ + pixelMatchResponses?: number; + /** + * The configured quota limits for this account. + */ + quotaConfiguredLimit?: number; + /** + * The throttled quota limits for this account. + */ + quotaThrottledLimit?: number; + /** + * The trading location of this data. + */ + region?: string; + /** + * The number of properly formed bid responses received by our servers + * within the deadline. + */ + successfulRequestRate?: number; + /** + * The unix timestamp of the starting time of this performance data. + */ + timestamp?: string; + /** + * The number of bid responses that were unsuccessful due to timeouts, + * incorrect formatting, etc. + */ + unsuccessfulRequestRate?: number; + } + /** + * The configuration data for an Ad Exchange performance report list. + */ + interface Schema$PerformanceReportList { + /** + * Resource type. + */ + kind?: string; + /** + * A list of performance reports relevant for the account. + */ + performanceReport?: Schema$PerformanceReport[]; + } + interface Schema$PretargetingConfig { + /** + * The id for billing purposes, provided for reference. Leave this field + * blank for insert requests; the id will be generated automatically. + */ + billingId?: string; + /** + * The config id; generated automatically. Leave this field blank for insert + * requests. + */ + configId?: string; + /** + * The name of the config. Must be unique. Required for all requests. + */ + configName?: string; + /** + * List must contain exactly one of PRETARGETING_CREATIVE_TYPE_HTML or + * PRETARGETING_CREATIVE_TYPE_VIDEO. + */ + creativeType?: string[]; + /** + * Requests which allow one of these (width, height) pairs will match. All + * pairs must be supported ad dimensions. + */ + dimensions?: any[]; + /** + * Requests with any of these content labels will not match. Values are from + * content-labels.txt in the downloadable files section. + */ + excludedContentLabels?: string[]; + /** + * Requests containing any of these geo criteria ids will not match. + */ + excludedGeoCriteriaIds?: string[]; + /** + * Requests containing any of these placements will not match. + */ + excludedPlacements?: any[]; + /** + * Requests containing any of these users list ids will not match. + */ + excludedUserLists?: string[]; + /** + * Requests containing any of these vertical ids will not match. Values are + * from the publisher-verticals.txt file in the downloadable files section. + */ + excludedVerticals?: string[]; + /** + * Requests containing any of these geo criteria ids will match. + */ + geoCriteriaIds?: string[]; + /** + * Whether this config is active. Required for all requests. + */ + isActive?: boolean; + /** + * The kind of the resource, i.e. + * "adexchangebuyer#pretargetingConfig". + */ + kind?: string; + /** + * Request containing any of these language codes will match. + */ + languages?: string[]; + /** + * Requests containing any of these mobile carrier ids will match. Values + * are from mobile-carriers.csv in the downloadable files section. + */ + mobileCarriers?: string[]; + /** + * Requests containing any of these mobile device ids will match. Values are + * from mobile-devices.csv in the downloadable files section. + */ + mobileDevices?: string[]; + /** + * Requests containing any of these mobile operating system version ids will + * match. Values are from mobile-os.csv in the downloadable files section. + */ + mobileOperatingSystemVersions?: string[]; + /** + * Requests containing any of these placements will match. + */ + placements?: any[]; + /** + * Requests matching any of these platforms will match. Possible values are + * PRETARGETING_PLATFORM_MOBILE, PRETARGETING_PLATFORM_DESKTOP, and + * PRETARGETING_PLATFORM_TABLET. + */ + platforms?: string[]; + /** + * Creative attributes should be declared here if all creatives + * corresponding to this pretargeting configuration have that creative + * attribute. Values are from pretargetable-creative-attributes.txt in the + * downloadable files section. + */ + supportedCreativeAttributes?: string[]; + /** + * Requests containing any of these user list ids will match. + */ + userLists?: string[]; + /** + * Requests that allow any of these vendor ids will match. Values are from + * vendors.txt in the downloadable files section. + */ + vendorTypes?: string[]; + /** + * Requests containing any of these vertical ids will match. + */ + verticals?: string[]; + } + interface Schema$PretargetingConfigList { + /** + * A list of pretargeting configs + */ + items?: Schema$PretargetingConfig[]; + /** + * Resource type. + */ + kind?: string; + } + class Resource$Accounts { + root: Adexchangebuyer; + constructor(root: Adexchangebuyer); + getRoot(): Adexchangebuyer; + /** + * adexchangebuyer.accounts.get + * @desc Gets one account by ID. + * @alias adexchangebuyer.accounts.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.id The account id + * @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?: Params$Resource$Accounts$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accounts$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accounts$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * adexchangebuyer.accounts.list + * @desc Retrieves the authenticated user's list of accounts. + * @alias adexchangebuyer.accounts.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @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?: Params$Resource$Accounts$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accounts$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accounts$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * adexchangebuyer.accounts.patch + * @desc Updates an existing account. This method supports patch semantics. + * @alias adexchangebuyer.accounts.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.id The account id + * @param {().Account} 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 + */ + patch(params?: Params$Resource$Accounts$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Accounts$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Accounts$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * adexchangebuyer.accounts.update + * @desc Updates an existing account. + * @alias adexchangebuyer.accounts.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.id The account id + * @param {().Account} 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?: Params$Resource$Accounts$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Accounts$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Accounts$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The account id + */ + id?: number; + } + interface Params$Resource$Accounts$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } + interface Params$Resource$Accounts$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The account id + */ + id?: number; + /** + * Request body metadata + */ + requestBody?: Schema$Account; + } + interface Params$Resource$Accounts$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The account id + */ + id?: number; + /** + * Request body metadata + */ + requestBody?: Schema$Account; + } + class Resource$Billinginfo { + root: Adexchangebuyer; + constructor(root: Adexchangebuyer); + getRoot(): Adexchangebuyer; + /** + * adexchangebuyer.billingInfo.get + * @desc Returns the billing information for one account specified by + * account ID. + * @alias adexchangebuyer.billingInfo.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.accountId The account id. + * @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?: Params$Resource$Billinginfo$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Billinginfo$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Billinginfo$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * adexchangebuyer.billingInfo.list + * @desc Retrieves a list of billing information for all accounts of the + * authenticated user. + * @alias adexchangebuyer.billingInfo.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @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?: Params$Resource$Billinginfo$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Billinginfo$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Billinginfo$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Billinginfo$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The account id. + */ + accountId?: number; + } + interface Params$Resource$Billinginfo$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } + class Resource$Budget { + root: Adexchangebuyer; + constructor(root: Adexchangebuyer); + getRoot(): Adexchangebuyer; + /** + * adexchangebuyer.budget.get + * @desc Returns the budget information for the adgroup specified by the + * accountId and billingId. + * @alias adexchangebuyer.budget.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The account id to get the budget information for. + * @param {string} params.billingId The billing id to get the budget information for. + * @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?: Params$Resource$Budget$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Budget$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Budget$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * adexchangebuyer.budget.patch + * @desc Updates the budget amount for the budget of the adgroup specified + * by the accountId and billingId, with the budget amount in the request. + * This method supports patch semantics. + * @alias adexchangebuyer.budget.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The account id associated with the budget being updated. + * @param {string} params.billingId The billing id associated with the budget being updated. + * @param {().Budget} 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 + */ + patch(params?: Params$Resource$Budget$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Budget$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Budget$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * adexchangebuyer.budget.update + * @desc Updates the budget amount for the budget of the adgroup specified + * by the accountId and billingId, with the budget amount in the request. + * @alias adexchangebuyer.budget.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The account id associated with the budget being updated. + * @param {string} params.billingId The billing id associated with the budget being updated. + * @param {().Budget} 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?: Params$Resource$Budget$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Budget$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Budget$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Budget$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The account id to get the budget information for. + */ + accountId?: string; + /** + * The billing id to get the budget information for. + */ + billingId?: string; + } + interface Params$Resource$Budget$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The account id associated with the budget being updated. + */ + accountId?: string; + /** + * The billing id associated with the budget being updated. + */ + billingId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Budget; + } + interface Params$Resource$Budget$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The account id associated with the budget being updated. + */ + accountId?: string; + /** + * The billing id associated with the budget being updated. + */ + billingId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Budget; + } + class Resource$Creatives { + root: Adexchangebuyer; + constructor(root: Adexchangebuyer); + getRoot(): Adexchangebuyer; + /** + * adexchangebuyer.creatives.get + * @desc Gets the status for a single creative. A creative will be available + * 30-40 minutes after submission. + * @alias adexchangebuyer.creatives.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.accountId The id for the account that will serve this creative. + * @param {string} params.buyerCreativeId The buyer-specific id for this creative. + * @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?: Params$Resource$Creatives$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Creatives$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Creatives$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * adexchangebuyer.creatives.insert + * @desc Submit a new creative. + * @alias adexchangebuyer.creatives.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().Creative} 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?: Params$Resource$Creatives$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Creatives$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Creatives$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * adexchangebuyer.creatives.list + * @desc Retrieves a list of the authenticated user's active creatives. A + * creative will be available 30-40 minutes after submission. + * @alias adexchangebuyer.creatives.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {integer=} params.accountId When specified, only creatives for the given account ids are returned. + * @param {string=} params.buyerCreativeId When specified, only creatives for the given buyer creative ids are returned. + * @param {integer=} params.maxResults Maximum number of entries returned on one result page. If not set, the default is 100. Optional. + * @param {string=} params.pageToken A continuation token, used to page through ad clients. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response. Optional. + * @param {string=} params.statusFilter When specified, only creatives having the given status are returned. + * @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?: Params$Resource$Creatives$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Creatives$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Creatives$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Creatives$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The id for the account that will serve this creative. + */ + accountId?: number; + /** + * The buyer-specific id for this creative. + */ + buyerCreativeId?: string; + } + interface Params$Resource$Creatives$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$Creative; + } + interface Params$Resource$Creatives$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * When specified, only creatives for the given account ids are returned. + */ + accountId?: number; + /** + * When specified, only creatives for the given buyer creative ids are + * returned. + */ + buyerCreativeId?: string; + /** + * Maximum number of entries returned on one result page. If not set, the + * default is 100. Optional. + */ + maxResults?: number; + /** + * A continuation token, used to page through ad clients. To retrieve the + * next page, set this parameter to the value of "nextPageToken" from the + * previous response. Optional. + */ + pageToken?: string; + /** + * When specified, only creatives having the given status are returned. + */ + statusFilter?: string; + } + class Resource$Directdeals { + root: Adexchangebuyer; + constructor(root: Adexchangebuyer); + getRoot(): Adexchangebuyer; + /** + * adexchangebuyer.directDeals.get + * @desc Gets one direct deal by ID. + * @alias adexchangebuyer.directDeals.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The direct deal id + * @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?: Params$Resource$Directdeals$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Directdeals$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Directdeals$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * adexchangebuyer.directDeals.list + * @desc Retrieves the authenticated user's list of direct deals. + * @alias adexchangebuyer.directDeals.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @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?: Params$Resource$Directdeals$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Directdeals$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Directdeals$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Directdeals$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The direct deal id + */ + id?: string; + } + interface Params$Resource$Directdeals$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } + class Resource$Performancereport { + root: Adexchangebuyer; + constructor(root: Adexchangebuyer); + getRoot(): Adexchangebuyer; + /** + * adexchangebuyer.performanceReport.list + * @desc Retrieves the authenticated user's list of performance metrics. + * @alias adexchangebuyer.performanceReport.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The account id to get the reports. + * @param {string} params.endDateTime The end time of the report in ISO 8601 timestamp format using UTC. + * @param {integer=} params.maxResults Maximum number of entries returned on one result page. If not set, the default is 100. Optional. + * @param {string=} params.pageToken A continuation token, used to page through performance reports. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response. Optional. + * @param {string} params.startDateTime The start time of the report in ISO 8601 timestamp format using UTC. + * @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?: Params$Resource$Performancereport$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Performancereport$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Performancereport$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Performancereport$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The account id to get the reports. + */ + accountId?: string; + /** + * The end time of the report in ISO 8601 timestamp format using UTC. + */ + endDateTime?: string; + /** + * Maximum number of entries returned on one result page. If not set, the + * default is 100. Optional. + */ + maxResults?: number; + /** + * A continuation token, used to page through performance reports. To + * retrieve the next page, set this parameter to the value of + * "nextPageToken" from the previous response. Optional. + */ + pageToken?: string; + /** + * The start time of the report in ISO 8601 timestamp format using UTC. + */ + startDateTime?: string; + } + class Resource$Pretargetingconfig { + root: Adexchangebuyer; + constructor(root: Adexchangebuyer); + getRoot(): Adexchangebuyer; + /** + * adexchangebuyer.pretargetingConfig.delete + * @desc Deletes an existing pretargeting config. + * @alias adexchangebuyer.pretargetingConfig.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The account id to delete the pretargeting config for. + * @param {string} params.configId The specific id of the configuration to delete. + * @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?: Params$Resource$Pretargetingconfig$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Pretargetingconfig$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Pretargetingconfig$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * adexchangebuyer.pretargetingConfig.get + * @desc Gets a specific pretargeting configuration + * @alias adexchangebuyer.pretargetingConfig.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The account id to get the pretargeting config for. + * @param {string} params.configId The specific id of the configuration to retrieve. + * @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?: Params$Resource$Pretargetingconfig$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Pretargetingconfig$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Pretargetingconfig$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * adexchangebuyer.pretargetingConfig.insert + * @desc Inserts a new pretargeting configuration. + * @alias adexchangebuyer.pretargetingConfig.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The account id to insert the pretargeting config for. + * @param {().PretargetingConfig} 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?: Params$Resource$Pretargetingconfig$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Pretargetingconfig$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Pretargetingconfig$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * adexchangebuyer.pretargetingConfig.list + * @desc Retrieves a list of the authenticated user's pretargeting + * configurations. + * @alias adexchangebuyer.pretargetingConfig.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The account id to get the pretargeting configs for. + * @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?: Params$Resource$Pretargetingconfig$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Pretargetingconfig$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Pretargetingconfig$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * adexchangebuyer.pretargetingConfig.patch + * @desc Updates an existing pretargeting config. This method supports patch + * semantics. + * @alias adexchangebuyer.pretargetingConfig.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The account id to update the pretargeting config for. + * @param {string} params.configId The specific id of the configuration to update. + * @param {().PretargetingConfig} 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 + */ + patch(params?: Params$Resource$Pretargetingconfig$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Pretargetingconfig$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Pretargetingconfig$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * adexchangebuyer.pretargetingConfig.update + * @desc Updates an existing pretargeting config. + * @alias adexchangebuyer.pretargetingConfig.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The account id to update the pretargeting config for. + * @param {string} params.configId The specific id of the configuration to update. + * @param {().PretargetingConfig} 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?: Params$Resource$Pretargetingconfig$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Pretargetingconfig$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Pretargetingconfig$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Pretargetingconfig$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The account id to delete the pretargeting config for. + */ + accountId?: string; + /** + * The specific id of the configuration to delete. + */ + configId?: string; + } + interface Params$Resource$Pretargetingconfig$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The account id to get the pretargeting config for. + */ + accountId?: string; + /** + * The specific id of the configuration to retrieve. + */ + configId?: string; + } + interface Params$Resource$Pretargetingconfig$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The account id to insert the pretargeting config for. + */ + accountId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$PretargetingConfig; + } + interface Params$Resource$Pretargetingconfig$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The account id to get the pretargeting configs for. + */ + accountId?: string; + } + interface Params$Resource$Pretargetingconfig$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The account id to update the pretargeting config for. + */ + accountId?: string; + /** + * The specific id of the configuration to update. + */ + configId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$PretargetingConfig; + } + interface Params$Resource$Pretargetingconfig$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The account id to update the pretargeting config for. + */ + accountId?: string; + /** + * The specific id of the configuration to update. + */ + configId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$PretargetingConfig; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer/v1.3.js b/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer/v1.3.js new file mode 100644 index 00000000..3ef34503 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer/v1.3.js @@ -0,0 +1,794 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var adexchangebuyer_v1_3; +(function (adexchangebuyer_v1_3) { + /** + * Ad Exchange Buyer API + * + * Accesses your bidding-account information, submits creatives for + * validation, finds available direct deals, and retrieves performance + * reports. + * + * @example + * const {google} = require('googleapis'); + * const adexchangebuyer = google.adexchangebuyer('v1.3'); + * + * @namespace adexchangebuyer + * @type {Function} + * @version v1.3 + * @variation v1.3 + * @param {object=} options Options for Adexchangebuyer + */ + class Adexchangebuyer { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.accounts = new Resource$Accounts(this); + this.billingInfo = new Resource$Billinginfo(this); + this.budget = new Resource$Budget(this); + this.creatives = new Resource$Creatives(this); + this.directDeals = new Resource$Directdeals(this); + this.performanceReport = new Resource$Performancereport(this); + this.pretargetingConfig = new Resource$Pretargetingconfig(this); + } + getRoot() { + return this.root; + } + } + adexchangebuyer_v1_3.Adexchangebuyer = Adexchangebuyer; + class Resource$Accounts { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adexchangebuyer/v1.3/accounts/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['id'], + pathParams: ['id'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adexchangebuyer/v1.3/accounts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adexchangebuyer/v1.3/accounts/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['id'], + pathParams: ['id'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adexchangebuyer/v1.3/accounts/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['id'], + pathParams: ['id'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adexchangebuyer_v1_3.Resource$Accounts = Resource$Accounts; + class Resource$Billinginfo { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adexchangebuyer/v1.3/billinginfo/{accountId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId'], + pathParams: ['accountId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adexchangebuyer/v1.3/billinginfo') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adexchangebuyer_v1_3.Resource$Billinginfo = Resource$Billinginfo; + class Resource$Budget { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adexchangebuyer/v1.3/billinginfo/{accountId}/{billingId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'billingId'], + pathParams: ['accountId', 'billingId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adexchangebuyer/v1.3/billinginfo/{accountId}/{billingId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['accountId', 'billingId'], + pathParams: ['accountId', 'billingId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adexchangebuyer/v1.3/billinginfo/{accountId}/{billingId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['accountId', 'billingId'], + pathParams: ['accountId', 'billingId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adexchangebuyer_v1_3.Resource$Budget = Resource$Budget; + class Resource$Creatives { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adexchangebuyer/v1.3/creatives/{accountId}/{buyerCreativeId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'buyerCreativeId'], + pathParams: ['accountId', 'buyerCreativeId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adexchangebuyer/v1.3/creatives') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adexchangebuyer/v1.3/creatives') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adexchangebuyer_v1_3.Resource$Creatives = Resource$Creatives; + class Resource$Directdeals { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adexchangebuyer/v1.3/directdeals/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['id'], + pathParams: ['id'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adexchangebuyer/v1.3/directdeals') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adexchangebuyer_v1_3.Resource$Directdeals = Resource$Directdeals; + class Resource$Performancereport { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adexchangebuyer/v1.3/performancereport') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'endDateTime', 'startDateTime'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adexchangebuyer_v1_3.Resource$Performancereport = Resource$Performancereport; + class Resource$Pretargetingconfig { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adexchangebuyer/v1.3/pretargetingconfigs/{accountId}/{configId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['accountId', 'configId'], + pathParams: ['accountId', 'configId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adexchangebuyer/v1.3/pretargetingconfigs/{accountId}/{configId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'configId'], + pathParams: ['accountId', 'configId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adexchangebuyer/v1.3/pretargetingconfigs/{accountId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['accountId'], + pathParams: ['accountId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adexchangebuyer/v1.3/pretargetingconfigs/{accountId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId'], + pathParams: ['accountId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adexchangebuyer/v1.3/pretargetingconfigs/{accountId}/{configId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['accountId', 'configId'], + pathParams: ['accountId', 'configId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adexchangebuyer/v1.3/pretargetingconfigs/{accountId}/{configId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['accountId', 'configId'], + pathParams: ['accountId', 'configId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adexchangebuyer_v1_3.Resource$Pretargetingconfig = Resource$Pretargetingconfig; +})(adexchangebuyer_v1_3 = exports.adexchangebuyer_v1_3 || (exports.adexchangebuyer_v1_3 = {})); +//# sourceMappingURL=v1.3.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer/v1.3.js.map b/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer/v1.3.js.map new file mode 100644 index 00000000..509556af --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer/v1.3.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.3.js","sourceRoot":"","sources":["../../../../src/apis/adexchangebuyer/v1.3.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer/v1.4.d.ts b/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer/v1.4.d.ts new file mode 100644 index 00000000..fedff543 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer/v1.4.d.ts @@ -0,0 +1,3015 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace adexchangebuyer_v1_4 { + interface Options extends GlobalOptions { + version: 'v1_4'; + } + /** + * Ad Exchange Buyer API + * + * Accesses your bidding-account information, submits creatives for + * validation, finds available direct deals, and retrieves performance + * reports. + * + * @example + * const {google} = require('googleapis'); + * const adexchangebuyer = google.adexchangebuyer('v1.4'); + * + * @namespace adexchangebuyer + * @type {Function} + * @version v1.4 + * @variation v1.4 + * @param {object=} options Options for Adexchangebuyer + */ + class Adexchangebuyer { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + accounts: Resource$Accounts; + billingInfo: Resource$Billinginfo; + budget: Resource$Budget; + creatives: Resource$Creatives; + marketplacedeals: Resource$Marketplacedeals; + marketplacenotes: Resource$Marketplacenotes; + marketplaceprivateauction: Resource$Marketplaceprivateauction; + performanceReport: Resource$Performancereport; + pretargetingConfig: Resource$Pretargetingconfig; + products: Resource$Products; + proposals: Resource$Proposals; + pubprofiles: Resource$Pubprofiles; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Configuration data for an Ad Exchange buyer account. + */ + interface Schema$Account { + /** + * When this is false, bid requests that include a deal ID for a private + * auction or preferred deal are always sent to your bidder. When true, all + * active pretargeting configs will be applied to private auctions and + * preferred deals. Programmatic Guaranteed deals (when enabled) are always + * sent to your bidder. + */ + applyPretargetingToNonGuaranteedDeals?: boolean; + /** + * Your bidder locations that have distinct URLs. + */ + bidderLocation?: any[]; + /** + * The nid parameter value used in cookie match requests. Please contact + * your technical account manager if you need to change this. + */ + cookieMatchingNid?: string; + /** + * The base URL used in cookie match requests. + */ + cookieMatchingUrl?: string; + /** + * Account id. + */ + id?: number; + /** + * Resource type. + */ + kind?: string; + /** + * The maximum number of active creatives that an account can have, where a + * creative is active if it was inserted or bid with in the last 30 days. + * Please contact your technical account manager if you need to change this. + */ + maximumActiveCreatives?: number; + /** + * The sum of all bidderLocation.maximumQps values cannot exceed this. + * Please contact your technical account manager if you need to change this. + */ + maximumTotalQps?: number; + /** + * The number of creatives that this account inserted or bid with in the + * last 30 days. + */ + numberActiveCreatives?: number; + } + /** + * An account feed lists Ad Exchange buyer accounts that the user has access + * to. Each entry in the feed corresponds to a single buyer account. + */ + interface Schema$AccountsList { + /** + * A list of accounts. + */ + items?: Schema$Account[]; + /** + * Resource type. + */ + kind?: string; + } + interface Schema$AddOrderDealsRequest { + /** + * The list of deals to add + */ + deals?: Schema$MarketplaceDeal[]; + /** + * The last known proposal revision number. + */ + proposalRevisionNumber?: string; + /** + * Indicates an optional action to take on the proposal + */ + updateAction?: string; + } + interface Schema$AddOrderDealsResponse { + /** + * List of deals added (in the same proposal as passed in the request) + */ + deals?: Schema$MarketplaceDeal[]; + /** + * The updated revision number for the proposal. + */ + proposalRevisionNumber?: string; + } + interface Schema$AddOrderNotesRequest { + /** + * The list of notes to add. + */ + notes?: Schema$MarketplaceNote[]; + } + interface Schema$AddOrderNotesResponse { + notes?: Schema$MarketplaceNote[]; + } + /** + * The configuration data for an Ad Exchange billing info. + */ + interface Schema$BillingInfo { + /** + * Account id. + */ + accountId?: number; + /** + * Account name. + */ + accountName?: string; + /** + * A list of adgroup IDs associated with this particular account. These IDs + * may show up as part of a realtime bidding BidRequest, which indicates a + * bid request for this account. + */ + billingId?: string[]; + /** + * Resource type. + */ + kind?: string; + } + /** + * A billing info feed lists Billing Info the Ad Exchange buyer account has + * access to. Each entry in the feed corresponds to a single billing info. + */ + interface Schema$BillingInfoList { + /** + * A list of billing info relevant for your account. + */ + items?: Schema$BillingInfo[]; + /** + * Resource type. + */ + kind?: string; + } + /** + * The configuration data for Ad Exchange RTB - Budget API. + */ + interface Schema$Budget { + /** + * The id of the account. This is required for get and update requests. + */ + accountId?: string; + /** + * The billing id to determine which adgroup to provide budget information + * for. This is required for get and update requests. + */ + billingId?: string; + /** + * The daily budget amount in unit amount of the account currency to apply + * for the billingId provided. This is required for update requests. + */ + budgetAmount?: string; + /** + * The currency code for the buyer. This cannot be altered here. + */ + currencyCode?: string; + /** + * The unique id that describes this item. + */ + id?: string; + /** + * The kind of the resource, i.e. "adexchangebuyer#budget". + */ + kind?: string; + } + interface Schema$Buyer { + /** + * Adx account id of the buyer. + */ + accountId?: string; + } + interface Schema$ContactInformation { + /** + * Email address of the contact. + */ + email?: string; + /** + * The name of the contact. + */ + name?: string; + } + interface Schema$CreateOrdersRequest { + /** + * The list of proposals to create. + */ + proposals?: Schema$Proposal[]; + /** + * Web property id of the seller creating these orders + */ + webPropertyCode?: string; + } + interface Schema$CreateOrdersResponse { + /** + * The list of proposals successfully created. + */ + proposals?: Schema$Proposal[]; + } + /** + * A creative and its classification data. + */ + interface Schema$Creative { + /** + * Account id. + */ + accountId?: number; + /** + * The link to the Ad Preferences page. This is only supported for native + * ads. + */ + adChoicesDestinationUrl?: string; + /** + * Detected advertiser id, if any. Read-only. This field should not be set + * in requests. + */ + advertiserId?: string[]; + /** + * The name of the company being advertised in the creative. The value + * provided must exist in the advertisers.txt file. + */ + advertiserName?: string; + /** + * The agency id for this creative. + */ + agencyId?: string; + /** + * The last upload timestamp of this creative if it was uploaded via API. + * Read-only. The value of this field is generated, and will be ignored for + * uploads. (formatted RFC 3339 timestamp). + */ + apiUploadTimestamp?: string; + /** + * List of buyer selectable attributes for the ads that may be shown from + * this snippet. Each attribute is represented by an integer as defined in + * buyer-declarable-creative-attributes.txt. + */ + attribute?: number[]; + /** + * A buyer-specific id identifying the creative in this ad. + */ + buyerCreativeId?: string; + /** + * The set of destination urls for the snippet. + */ + clickThroughUrl?: string[]; + /** + * Shows any corrections that were applied to this creative. Read-only. This + * field should not be set in requests. + */ + corrections?: any[]; + /** + * Creative status identity type that the creative item applies to. Ad + * Exchange real-time bidding is migrating to the sizeless creative + * verification. Originally, Ad Exchange assigned creative verification + * status to a unique combination of a buyer creative ID and creative + * dimensions. Post-migration, a single verification status will be assigned + * at the buyer creative ID level. This field allows to distinguish whether + * a given creative status applies to a unique combination of a buyer + * creative ID and creative dimensions, or to a buyer creative ID as a + * whole. + */ + creativeStatusIdentityType?: string; + /** + * Top-level deals status. Read-only. This field should not be set in + * requests. If disapproved, an entry for auctionType=DIRECT_DEALS (or ALL) + * in servingRestrictions will also exist. Note that this may be nuanced + * with other contextual restrictions, in which case it may be preferable to + * read from servingRestrictions directly. + */ + dealsStatus?: string; + /** + * Detected domains for this creative. Read-only. This field should not be + * set in requests. + */ + detectedDomains?: string[]; + /** + * The filtering reasons for the creative. Read-only. This field should not + * be set in requests. + */ + filteringReasons?: any; + /** + * Ad height. + */ + height?: number; + /** + * The HTML snippet that displays the ad when inserted in the web page. If + * set, videoURL, videoVastXML, and nativeAd should not be set. + */ + HTMLSnippet?: string; + /** + * The set of urls to be called to record an impression. + */ + impressionTrackingUrl?: string[]; + /** + * Resource type. + */ + kind?: string; + /** + * Detected languages for this creative. Read-only. This field should not be + * set in requests. + */ + languages?: string[]; + /** + * If nativeAd is set, HTMLSnippet, videoVastXML, and the videoURL outside + * of nativeAd should not be set. (The videoURL inside nativeAd can be set.) + */ + nativeAd?: any; + /** + * Top-level open auction status. Read-only. This field should not be set in + * requests. If disapproved, an entry for auctionType=OPEN_AUCTION (or ALL) + * in servingRestrictions will also exist. Note that this may be nuanced + * with other contextual restrictions, in which case it may be preferable to + * read from ServingRestrictions directly. + */ + openAuctionStatus?: string; + /** + * Detected product categories, if any. Each category is represented by an + * integer as defined in ad-product-categories.txt. Read-only. This field + * should not be set in requests. + */ + productCategories?: number[]; + /** + * All restricted categories for the ads that may be shown from this + * snippet. Each category is represented by an integer as defined in the + * ad-restricted-categories.txt. + */ + restrictedCategories?: number[]; + /** + * Detected sensitive categories, if any. Each category is represented by an + * integer as defined in ad-sensitive-categories.txt. Read-only. This field + * should not be set in requests. + */ + sensitiveCategories?: number[]; + /** + * The granular status of this ad in specific contexts. A context here + * relates to where something ultimately serves (for example, a physical + * location, a platform, an HTTPS vs HTTP request, or the type of auction). + * Read-only. This field should not be set in requests. See the examples in + * the Creatives guide for more details. + */ + servingRestrictions?: any[]; + /** + * List of vendor types for the ads that may be shown from this snippet. + * Each vendor type is represented by an integer as defined in vendors.txt. + */ + vendorType?: number[]; + /** + * The version for this creative. Read-only. This field should not be set in + * requests. + */ + version?: number; + /** + * The URL to fetch a video ad. If set, HTMLSnippet, videoVastXML, and + * nativeAd should not be set. Note, this is different from + * resource.native_ad.video_url above. + */ + videoURL?: string; + /** + * The contents of a VAST document for a video ad. This document should + * conform to the VAST 2.0 or 3.0 standard. If set, HTMLSnippet, videoURL, + * and nativeAd and should not be set. + */ + videoVastXML?: string; + /** + * Ad width. + */ + width?: number; + } + /** + * The external deal ids associated with a creative. + */ + interface Schema$CreativeDealIds { + /** + * A list of external deal ids and ARC approval status. + */ + dealStatuses?: any[]; + /** + * Resource type. + */ + kind?: string; + } + /** + * The creatives feed lists the active creatives for the Ad Exchange buyer + * accounts that the user has access to. Each entry in the feed corresponds to + * a single creative. + */ + interface Schema$CreativesList { + /** + * A list of creatives. + */ + items?: Schema$Creative[]; + /** + * Resource type. + */ + kind?: string; + /** + * Continuation token used to page through creatives. To retrieve the next + * page of results, set the next request's "pageToken" value + * to this. + */ + nextPageToken?: string; + } + interface Schema$DealServingMetadata { + /** + * True if alcohol ads are allowed for this deal (read-only). This field is + * only populated when querying for finalized orders using the method + * GetFinalizedOrderDeals + */ + alcoholAdsAllowed?: boolean; + /** + * Tracks which parties (if any) have paused a deal. (readonly, except via + * PauseResumeOrderDeals action) + */ + dealPauseStatus?: Schema$DealServingMetadataDealPauseStatus; + } + /** + * Tracks which parties (if any) have paused a deal. The deal is considered + * paused if has_buyer_paused || has_seller_paused. Each of the + * has_buyer_paused or the has_seller_paused bits can be set independently. + */ + interface Schema$DealServingMetadataDealPauseStatus { + buyerPauseReason?: string; + /** + * If the deal is paused, records which party paused the deal first. + */ + firstPausedBy?: string; + hasBuyerPaused?: boolean; + hasSellerPaused?: boolean; + sellerPauseReason?: string; + } + interface Schema$DealTerms { + /** + * Visibilty of the URL in bid requests. + */ + brandingType?: string; + /** + * Indicates that this ExternalDealId exists under at least two different + * AdxInventoryDeals. Currently, the only case that the same ExternalDealId + * will exist is programmatic cross sell case. + */ + crossListedExternalDealIdType?: string; + /** + * Description for the proposed terms of the deal. + */ + description?: string; + /** + * Non-binding estimate of the estimated gross spend for this deal Can be + * set by buyer or seller. + */ + estimatedGrossSpend?: Schema$Price; + /** + * Non-binding estimate of the impressions served per day Can be set by + * buyer or seller. + */ + estimatedImpressionsPerDay?: string; + /** + * The terms for guaranteed fixed price deals. + */ + guaranteedFixedPriceTerms?: Schema$DealTermsGuaranteedFixedPriceTerms; + /** + * The terms for non-guaranteed auction deals. + */ + nonGuaranteedAuctionTerms?: Schema$DealTermsNonGuaranteedAuctionTerms; + /** + * The terms for non-guaranteed fixed price deals. + */ + nonGuaranteedFixedPriceTerms?: Schema$DealTermsNonGuaranteedFixedPriceTerms; + /** + * The terms for rubicon non-guaranteed deals. + */ + rubiconNonGuaranteedTerms?: Schema$DealTermsRubiconNonGuaranteedTerms; + /** + * For deals with Cost Per Day billing, defines the timezone used to mark + * the boundaries of a day (buyer-readonly) + */ + sellerTimeZone?: string; + } + interface Schema$DealTermsGuaranteedFixedPriceTerms { + /** + * External billing info for this Deal. This field is relevant when external + * billing info such as price has a different currency code than DFP/AdX. + */ + billingInfo?: Schema$DealTermsGuaranteedFixedPriceTermsBillingInfo; + /** + * Fixed price for the specified buyer. + */ + fixedPrices?: Schema$PricePerBuyer[]; + /** + * Guaranteed impressions as a percentage. This is the percentage of + * guaranteed looks that the buyer is guaranteeing to buy. + */ + guaranteedImpressions?: string; + /** + * Count of guaranteed looks. Required for deal, optional for product. For + * CPD deals, buyer changes to guaranteed_looks will be ignored. + */ + guaranteedLooks?: string; + /** + * Count of minimum daily looks for a CPD deal. For CPD deals, buyer should + * negotiate on this field instead of guaranteed_looks. + */ + minimumDailyLooks?: string; + } + interface Schema$DealTermsGuaranteedFixedPriceTermsBillingInfo { + /** + * The timestamp (in ms since epoch) when the original reservation price for + * the deal was first converted to DFP currency. This is used to convert the + * contracted price into buyer's currency without discrepancy. + */ + currencyConversionTimeMs?: string; + /** + * The DFP line item id associated with this deal. For features like CPD, + * buyers can retrieve the DFP line item for billing reconciliation. + */ + dfpLineItemId?: string; + /** + * The original contracted quantity (# impressions) for this deal. To ensure + * delivery, sometimes the publisher will book the deal with a impression + * buffer, such that guaranteed_looks is greater than the contracted + * quantity. However clients are billed using the original contracted + * quantity. + */ + originalContractedQuantity?: string; + /** + * The original reservation price for the deal, if the currency code is + * different from the one used in negotiation. + */ + price?: Schema$Price; + } + interface Schema$DealTermsNonGuaranteedAuctionTerms { + /** + * True if open auction buyers are allowed to compete with invited buyers in + * this private auction (buyer-readonly). + */ + autoOptimizePrivateAuction?: boolean; + /** + * Reserve price for the specified buyer. + */ + reservePricePerBuyers?: Schema$PricePerBuyer[]; + } + interface Schema$DealTermsNonGuaranteedFixedPriceTerms { + /** + * Fixed price for the specified buyer. + */ + fixedPrices?: Schema$PricePerBuyer[]; + } + interface Schema$DealTermsRubiconNonGuaranteedTerms { + /** + * Optional price for Rubicon priority access in the auction. + */ + priorityPrice?: Schema$Price; + /** + * Optional price for Rubicon standard access in the auction. + */ + standardPrice?: Schema$Price; + } + interface Schema$DeleteOrderDealsRequest { + /** + * List of deals to delete for a given proposal + */ + dealIds?: string[]; + /** + * The last known proposal revision number. + */ + proposalRevisionNumber?: string; + /** + * Indicates an optional action to take on the proposal + */ + updateAction?: string; + } + interface Schema$DeleteOrderDealsResponse { + /** + * List of deals deleted (in the same proposal as passed in the request) + */ + deals?: Schema$MarketplaceDeal[]; + /** + * The updated revision number for the proposal. + */ + proposalRevisionNumber?: string; + } + interface Schema$DeliveryControl { + creativeBlockingLevel?: string; + deliveryRateType?: string; + frequencyCaps?: Schema$DeliveryControlFrequencyCap[]; + } + interface Schema$DeliveryControlFrequencyCap { + maxImpressions?: number; + numTimeUnits?: number; + timeUnitType?: string; + } + /** + * This message carries publisher provided breakdown. E.g. {dimension_type: + * 'COUNTRY', [{dimension_value: {id: 1, name: 'US'}}, + * {dimension_value: {id: 2, name: 'UK'}}]} + */ + interface Schema$Dimension { + dimensionType?: string; + dimensionValues?: Schema$DimensionDimensionValue[]; + } + /** + * Value of the dimension. + */ + interface Schema$DimensionDimensionValue { + /** + * Id of the dimension. + */ + id?: number; + /** + * Name of the dimension mainly for debugging purposes, except for the case + * of CREATIVE_SIZE. For CREATIVE_SIZE, strings are used instead of ids. + */ + name?: string; + /** + * Percent of total impressions for a dimension type. e.g. {dimension_type: + * 'GENDER', [{dimension_value: {id: 1, name: 'MALE', + * percentage: 60}}]} Gender MALE is 60% of all impressions which have + * gender. + */ + percentage?: number; + } + interface Schema$EditAllOrderDealsRequest { + /** + * List of deals to edit. Service may perform 3 different operations based + * on comparison of deals in this list vs deals already persisted in + * database: 1. Add new deal to proposal If a deal in this list does not + * exist in the proposal, the service will create a new deal and add it to + * the proposal. Validation will follow AddOrderDealsRequest. 2. Update + * existing deal in the proposal If a deal in this list already exist in the + * proposal, the service will update that existing deal to this new deal in + * the request. Validation will follow UpdateOrderDealsRequest. 3. Delete + * deals from the proposal (just need the id) If a existing deal in the + * proposal is not present in this list, the service will delete that deal + * from the proposal. Validation will follow DeleteOrderDealsRequest. + */ + deals?: Schema$MarketplaceDeal[]; + /** + * If specified, also updates the proposal in the batch transaction. This is + * useful when the proposal and the deals need to be updated in one + * transaction. + */ + proposal?: Schema$Proposal; + /** + * The last known revision number for the proposal. + */ + proposalRevisionNumber?: string; + /** + * Indicates an optional action to take on the proposal + */ + updateAction?: string; + } + interface Schema$EditAllOrderDealsResponse { + /** + * List of all deals in the proposal after edit. + */ + deals?: Schema$MarketplaceDeal[]; + /** + * The latest revision number after the update has been applied. + */ + orderRevisionNumber?: string; + } + interface Schema$GetOffersResponse { + /** + * The returned list of products. + */ + products?: Schema$Product[]; + } + interface Schema$GetOrderDealsResponse { + /** + * List of deals for the proposal + */ + deals?: Schema$MarketplaceDeal[]; + } + interface Schema$GetOrderNotesResponse { + /** + * The list of matching notes. The notes for a proposal are ordered from + * oldest to newest. If the notes span multiple proposals, they will be + * grouped by proposal, with the notes for the most recently modified + * proposal appearing first. + */ + notes?: Schema$MarketplaceNote[]; + } + interface Schema$GetOrdersResponse { + /** + * The list of matching proposals. + */ + proposals?: Schema$Proposal[]; + } + interface Schema$GetPublisherProfilesByAccountIdResponse { + /** + * Profiles for the requested publisher + */ + profiles?: Schema$PublisherProfileApiProto[]; + } + /** + * A proposal can contain multiple deals. A deal contains the terms and + * targeting information that is used for serving. + */ + interface Schema$MarketplaceDeal { + /** + * Buyer private data (hidden from seller). + */ + buyerPrivateData?: Schema$PrivateData; + /** + * The time (ms since epoch) of the deal creation. (readonly) + */ + creationTimeMs?: string; + /** + * Specifies the creative pre-approval policy (buyer-readonly) + */ + creativePreApprovalPolicy?: string; + /** + * Specifies whether the creative is safeFrame compatible (buyer-readonly) + */ + creativeSafeFrameCompatibility?: string; + /** + * A unique deal-id for the deal (readonly). + */ + dealId?: string; + /** + * Metadata about the serving status of this deal (readonly, writes via + * custom actions) + */ + dealServingMetadata?: Schema$DealServingMetadata; + /** + * The set of fields around delivery control that are interesting for a + * buyer to see but are non-negotiable. These are set by the publisher. This + * message is assigned an id of 100 since some day we would want to model + * this as a protobuf extension. + */ + deliveryControl?: Schema$DeliveryControl; + /** + * The external deal id assigned to this deal once the deal is finalized. + * This is the deal-id that shows up in serving/reporting etc. (readonly) + */ + externalDealId?: string; + /** + * Proposed flight end time of the deal (ms since epoch) This will generally + * be stored in a granularity of a second. (updatable) + */ + flightEndTimeMs?: string; + /** + * Proposed flight start time of the deal (ms since epoch) This will + * generally be stored in a granularity of a second. (updatable) + */ + flightStartTimeMs?: string; + /** + * Description for the deal terms. (buyer-readonly) + */ + inventoryDescription?: string; + /** + * Indicates whether the current deal is a RFP template. RFP template is + * created by buyer and not based on seller created products. + */ + isRfpTemplate?: boolean; + /** + * True, if the buyside inventory setup is complete for this deal. + * (readonly, except via OrderSetupCompleted action) + */ + isSetupComplete?: boolean; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "adexchangebuyer#marketplaceDeal". + */ + kind?: string; + /** + * The time (ms since epoch) when the deal was last updated. (readonly) + */ + lastUpdateTimeMs?: string; + /** + * The name of the deal. (updatable) + */ + name?: string; + /** + * The product-id from which this deal was created. (readonly, except on + * create) + */ + productId?: string; + /** + * The revision number of the product that the deal was created from + * (readonly, except on create) + */ + productRevisionNumber?: string; + /** + * Specifies the creative source for programmatic deals, PUBLISHER means + * creative is provided by seller and ADVERTISR means creative is provided + * by buyer. (buyer-readonly) + */ + programmaticCreativeSource?: string; + proposalId?: string; + /** + * Optional Seller contact information for the deal (buyer-readonly) + */ + sellerContacts?: Schema$ContactInformation[]; + /** + * The shared targeting visible to buyers and sellers. Each shared targeting + * entity is AND'd together. (updatable) + */ + sharedTargetings?: Schema$SharedTargeting[]; + /** + * The syndication product associated with the deal. (readonly, except on + * create) + */ + syndicationProduct?: string; + /** + * The negotiable terms of the deal. (updatable) + */ + terms?: Schema$DealTerms; + webPropertyCode?: string; + } + interface Schema$MarketplaceDealParty { + /** + * The buyer/seller associated with the deal. One of buyer/seller is + * specified for a deal-party. + */ + buyer?: Schema$Buyer; + /** + * The buyer/seller associated with the deal. One of buyer/seller is + * specified for a deal party. + */ + seller?: Schema$Seller; + } + interface Schema$MarketplaceLabel { + /** + * The accountId of the party that created the label. + */ + accountId?: string; + /** + * The creation time (in ms since epoch) for the label. + */ + createTimeMs?: string; + /** + * Information about the party that created the label. + */ + deprecatedMarketplaceDealParty?: Schema$MarketplaceDealParty; + /** + * The label to use. + */ + label?: string; + } + /** + * A proposal is associated with a bunch of notes which may optionally be + * associated with a deal and/or revision number. + */ + interface Schema$MarketplaceNote { + /** + * The role of the person (buyer/seller) creating the note. (readonly) + */ + creatorRole?: string; + /** + * Notes can optionally be associated with a deal. (readonly, except on + * create) + */ + dealId?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "adexchangebuyer#marketplaceNote". + */ + kind?: string; + /** + * The actual note to attach. (readonly, except on create) + */ + note?: string; + /** + * The unique id for the note. (readonly) + */ + noteId?: string; + /** + * The proposalId that a note is attached to. (readonly) + */ + proposalId?: string; + /** + * If the note is associated with a proposal revision number, then store + * that here. (readonly, except on create) + */ + proposalRevisionNumber?: string; + /** + * The timestamp (ms since epoch) that this note was created. (readonly) + */ + timestampMs?: string; + } + /** + * The configuration data for an Ad Exchange performance report list. + */ + interface Schema$PerformanceReport { + /** + * The number of bid responses with an ad. + */ + bidRate?: number; + /** + * The number of bid requests sent to your bidder. + */ + bidRequestRate?: number; + /** + * Rate of various prefiltering statuses per match. Please refer to the + * callout-status-codes.txt file for different statuses. + */ + calloutStatusRate?: any[]; + /** + * Average QPS for cookie matcher operations. + */ + cookieMatcherStatusRate?: any[]; + /** + * Rate of ads with a given status. Please refer to the + * creative-status-codes.txt file for different statuses. + */ + creativeStatusRate?: any[]; + /** + * The number of bid responses that were filtered due to a policy violation + * or other errors. + */ + filteredBidRate?: number; + /** + * Average QPS for hosted match operations. + */ + hostedMatchStatusRate?: any[]; + /** + * The number of potential queries based on your pretargeting settings. + */ + inventoryMatchRate?: number; + /** + * Resource type. + */ + kind?: string; + /** + * The 50th percentile round trip latency(ms) as perceived from Google + * servers for the duration period covered by the report. + */ + latency50thPercentile?: number; + /** + * The 85th percentile round trip latency(ms) as perceived from Google + * servers for the duration period covered by the report. + */ + latency85thPercentile?: number; + /** + * The 95th percentile round trip latency(ms) as perceived from Google + * servers for the duration period covered by the report. + */ + latency95thPercentile?: number; + /** + * Rate of various quota account statuses per quota check. + */ + noQuotaInRegion?: number; + /** + * Rate of various quota account statuses per quota check. + */ + outOfQuota?: number; + /** + * Average QPS for pixel match requests from clients. + */ + pixelMatchRequests?: number; + /** + * Average QPS for pixel match responses from clients. + */ + pixelMatchResponses?: number; + /** + * The configured quota limits for this account. + */ + quotaConfiguredLimit?: number; + /** + * The throttled quota limits for this account. + */ + quotaThrottledLimit?: number; + /** + * The trading location of this data. + */ + region?: string; + /** + * The number of properly formed bid responses received by our servers + * within the deadline. + */ + successfulRequestRate?: number; + /** + * The unix timestamp of the starting time of this performance data. + */ + timestamp?: string; + /** + * The number of bid responses that were unsuccessful due to timeouts, + * incorrect formatting, etc. + */ + unsuccessfulRequestRate?: number; + } + /** + * The configuration data for an Ad Exchange performance report list. + */ + interface Schema$PerformanceReportList { + /** + * Resource type. + */ + kind?: string; + /** + * A list of performance reports relevant for the account. + */ + performanceReport?: Schema$PerformanceReport[]; + } + interface Schema$PretargetingConfig { + /** + * The id for billing purposes, provided for reference. Leave this field + * blank for insert requests; the id will be generated automatically. + */ + billingId?: string; + /** + * The config id; generated automatically. Leave this field blank for insert + * requests. + */ + configId?: string; + /** + * The name of the config. Must be unique. Required for all requests. + */ + configName?: string; + /** + * List must contain exactly one of PRETARGETING_CREATIVE_TYPE_HTML or + * PRETARGETING_CREATIVE_TYPE_VIDEO. + */ + creativeType?: string[]; + /** + * Requests which allow one of these (width, height) pairs will match. All + * pairs must be supported ad dimensions. + */ + dimensions?: any[]; + /** + * Requests with any of these content labels will not match. Values are from + * content-labels.txt in the downloadable files section. + */ + excludedContentLabels?: string[]; + /** + * Requests containing any of these geo criteria ids will not match. + */ + excludedGeoCriteriaIds?: string[]; + /** + * Requests containing any of these placements will not match. + */ + excludedPlacements?: any[]; + /** + * Requests containing any of these users list ids will not match. + */ + excludedUserLists?: string[]; + /** + * Requests containing any of these vertical ids will not match. Values are + * from the publisher-verticals.txt file in the downloadable files section. + */ + excludedVerticals?: string[]; + /** + * Requests containing any of these geo criteria ids will match. + */ + geoCriteriaIds?: string[]; + /** + * Whether this config is active. Required for all requests. + */ + isActive?: boolean; + /** + * The kind of the resource, i.e. + * "adexchangebuyer#pretargetingConfig". + */ + kind?: string; + /** + * Request containing any of these language codes will match. + */ + languages?: string[]; + /** + * Requests where the predicted viewability is below the specified decile + * will not match. E.g. if the buyer sets this value to 5, requests from + * slots where the predicted viewability is below 50% will not match. If the + * predicted viewability is unknown this field will be ignored. + */ + minimumViewabilityDecile?: number; + /** + * Requests containing any of these mobile carrier ids will match. Values + * are from mobile-carriers.csv in the downloadable files section. + */ + mobileCarriers?: string[]; + /** + * Requests containing any of these mobile device ids will match. Values are + * from mobile-devices.csv in the downloadable files section. + */ + mobileDevices?: string[]; + /** + * Requests containing any of these mobile operating system version ids will + * match. Values are from mobile-os.csv in the downloadable files section. + */ + mobileOperatingSystemVersions?: string[]; + /** + * Requests containing any of these placements will match. + */ + placements?: any[]; + /** + * Requests matching any of these platforms will match. Possible values are + * PRETARGETING_PLATFORM_MOBILE, PRETARGETING_PLATFORM_DESKTOP, and + * PRETARGETING_PLATFORM_TABLET. + */ + platforms?: string[]; + /** + * Creative attributes should be declared here if all creatives + * corresponding to this pretargeting configuration have that creative + * attribute. Values are from pretargetable-creative-attributes.txt in the + * downloadable files section. + */ + supportedCreativeAttributes?: string[]; + /** + * Requests containing the specified type of user data will match. Possible + * values are HOSTED_MATCH_DATA, which means the request is + * cookie-targetable and has a match in the buyer's hosted match table, + * and COOKIE_OR_IDFA, which means the request has either a targetable + * cookie or an iOS IDFA. + */ + userIdentifierDataRequired?: string[]; + /** + * Requests containing any of these user list ids will match. + */ + userLists?: string[]; + /** + * Requests that allow any of these vendor ids will match. Values are from + * vendors.txt in the downloadable files section. + */ + vendorTypes?: string[]; + /** + * Requests containing any of these vertical ids will match. + */ + verticals?: string[]; + /** + * Video requests satisfying any of these player size constraints will + * match. + */ + videoPlayerSizes?: any[]; + } + interface Schema$PretargetingConfigList { + /** + * A list of pretargeting configs + */ + items?: Schema$PretargetingConfig[]; + /** + * Resource type. + */ + kind?: string; + } + interface Schema$Price { + /** + * The price value in micros. + */ + amountMicros?: number; + /** + * The currency code for the price. + */ + currencyCode?: string; + /** + * In case of CPD deals, the expected CPM in micros. + */ + expectedCpmMicros?: number; + /** + * The pricing type for the deal/product. + */ + pricingType?: string; + } + /** + * Used to specify pricing rules for buyers. Each PricePerBuyer in a product + * can become [0,1] deals. To check if there is a PricePerBuyer for a + * particular buyer we look for the most specific matching rule - we first + * look for a rule matching the buyer and otherwise look for a matching rule + * where no buyer is set. + */ + interface Schema$PricePerBuyer { + /** + * Optional access type for this buyer. + */ + auctionTier?: string; + /** + * Reference to the buyer that will get billed. + */ + billedBuyer?: Schema$Buyer; + /** + * The buyer who will pay this price. If unset, all buyers can pay this + * price (if the advertisers match, and there's no more specific rule + * matching the buyer). + */ + buyer?: Schema$Buyer; + /** + * The specified price + */ + price?: Schema$Price; + } + interface Schema$PrivateData { + referenceId?: string; + referencePayload?: string; + } + /** + * A product is segment of inventory that a seller wishes to sell. It is + * associated with certain terms and targeting information which helps buyer + * know more about the inventory. Each field in a product can have one of the + * following setting: (readonly) - It is an error to try and set this field. + * (buyer-readonly) - Only the seller can set this field. (seller-readonly) - + * Only the buyer can set this field. (updatable) - The field is updatable at + * all times by either buyer or the seller. + */ + interface Schema$Product { + /** + * The billed buyer corresponding to the buyer that created the offer. + * (readonly, except on create) + */ + billedBuyer?: Schema$Buyer; + /** + * The buyer that created the offer if this is a buyer initiated offer + * (readonly, except on create) + */ + buyer?: Schema$Buyer; + /** + * Creation time in ms. since epoch (readonly) + */ + creationTimeMs?: string; + /** + * Optional contact information for the creator of this product. + * (buyer-readonly) + */ + creatorContacts?: Schema$ContactInformation[]; + /** + * The role that created the offer. Set to BUYER for buyer initiated offers. + */ + creatorRole?: string; + /** + * The set of fields around delivery control that are interesting for a + * buyer to see but are non-negotiable. These are set by the publisher. This + * message is assigned an id of 100 since some day we would want to model + * this as a protobuf extension. + */ + deliveryControl?: Schema$DeliveryControl; + /** + * The proposed end time for the deal (ms since epoch) (buyer-readonly) + */ + flightEndTimeMs?: string; + /** + * Inventory availability dates. (times are in ms since epoch) The + * granularity is generally in the order of seconds. (buyer-readonly) + */ + flightStartTimeMs?: string; + /** + * If the creator has already signed off on the product, then the buyer can + * finalize the deal by accepting the product as is. When copying to a + * proposal, if any of the terms are changed, then auto_finalize is + * automatically set to false. + */ + hasCreatorSignedOff?: boolean; + /** + * What exchange will provide this inventory (readonly, except on create). + */ + inventorySource?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "adexchangebuyer#product". + */ + kind?: string; + /** + * Optional List of labels for the product (optional, buyer-readonly). + */ + labels?: Schema$MarketplaceLabel[]; + /** + * Time of last update in ms. since epoch (readonly) + */ + lastUpdateTimeMs?: string; + /** + * Optional legacy offer id if this offer is a preferred deal offer. + */ + legacyOfferId?: string; + /** + * Marketplace publisher profile Id. This Id differs from the regular + * publisher_profile_id in that 1. This is a new id, the old Id will be + * deprecated in 2017. 2. This id uniquely identifies a publisher profile by + * itself. + */ + marketplacePublisherProfileId?: string; + /** + * The name for this product as set by the seller. (buyer-readonly) + */ + name?: string; + /** + * Optional private auction id if this offer is a private auction offer. + */ + privateAuctionId?: string; + /** + * The unique id for the product (readonly) + */ + productId?: string; + /** + * Id of the publisher profile for a given seller. A (seller.account_id, + * publisher_profile_id) pair uniquely identifies a publisher profile. + * Buyers can call the PublisherProfiles::List endpoint to get a list of + * publisher profiles for a given seller. + */ + publisherProfileId?: string; + /** + * Publisher self-provided forecast information. + */ + publisherProvidedForecast?: Schema$PublisherProvidedForecast; + /** + * The revision number of the product. (readonly) + */ + revisionNumber?: string; + /** + * Information about the seller that created this product (readonly, except + * on create) + */ + seller?: Schema$Seller; + /** + * Targeting that is shared between the buyer and the seller. Each targeting + * criteria has a specified key and for each key there is a list of + * inclusion value or exclusion values. (buyer-readonly) + */ + sharedTargetings?: Schema$SharedTargeting[]; + /** + * The state of the product. (buyer-readonly) + */ + state?: string; + /** + * The syndication product associated with the deal. (readonly, except on + * create) + */ + syndicationProduct?: string; + /** + * The negotiable terms of the deal (buyer-readonly) + */ + terms?: Schema$DealTerms; + /** + * The web property code for the seller. This field is meant to be copied + * over as is when creating deals. + */ + webPropertyCode?: string; + } + /** + * Represents a proposal in the marketplace. A proposal is the unit of + * negotiation between a seller and a buyer and contains deals which are + * served. Each field in a proposal can have one of the following setting: + * (readonly) - It is an error to try and set this field. (buyer-readonly) - + * Only the seller can set this field. (seller-readonly) - Only the buyer can + * set this field. (updatable) - The field is updatable at all times by either + * buyer or the seller. + */ + interface Schema$Proposal { + /** + * Reference to the buyer that will get billed for this proposal. (readonly) + */ + billedBuyer?: Schema$Buyer; + /** + * Reference to the buyer on the proposal. (readonly, except on create) + */ + buyer?: Schema$Buyer; + /** + * Optional contact information of the buyer. (seller-readonly) + */ + buyerContacts?: Schema$ContactInformation[]; + /** + * Private data for buyer. (hidden from seller). + */ + buyerPrivateData?: Schema$PrivateData; + /** + * IDs of DBM advertisers permission to this proposal. + */ + dbmAdvertiserIds?: string[]; + /** + * When an proposal is in an accepted state, indicates whether the buyer has + * signed off. Once both sides have signed off on a deal, the proposal can + * be finalized by the seller. (seller-readonly) + */ + hasBuyerSignedOff?: boolean; + /** + * When an proposal is in an accepted state, indicates whether the buyer has + * signed off Once both sides have signed off on a deal, the proposal can be + * finalized by the seller. (buyer-readonly) + */ + hasSellerSignedOff?: boolean; + /** + * What exchange will provide this inventory (readonly, except on create). + */ + inventorySource?: string; + /** + * True if the proposal is being renegotiated (readonly). + */ + isRenegotiating?: boolean; + /** + * True, if the buyside inventory setup is complete for this proposal. + * (readonly, except via OrderSetupCompleted action) Deprecated in favor of + * deal level setup complete flag. + */ + isSetupComplete?: boolean; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "adexchangebuyer#proposal". + */ + kind?: string; + /** + * List of labels associated with the proposal. (readonly) + */ + labels?: Schema$MarketplaceLabel[]; + /** + * The role of the last user that either updated the proposal or left a + * comment. (readonly) + */ + lastUpdaterOrCommentorRole?: string; + /** + * The name for the proposal (updatable) + */ + name?: string; + /** + * Optional negotiation id if this proposal is a preferred deal proposal. + */ + negotiationId?: string; + /** + * Indicates whether the buyer/seller created the proposal.(readonly) + */ + originatorRole?: string; + /** + * Optional private auction id if this proposal is a private auction + * proposal. + */ + privateAuctionId?: string; + /** + * The unique id of the proposal. (readonly). + */ + proposalId?: string; + /** + * The current state of the proposal. (readonly) + */ + proposalState?: string; + /** + * The revision number for the proposal (readonly). + */ + revisionNumber?: string; + /** + * The time (ms since epoch) when the proposal was last revised (readonly). + */ + revisionTimeMs?: string; + /** + * Reference to the seller on the proposal. (readonly, except on create) + */ + seller?: Schema$Seller; + /** + * Optional contact information of the seller (buyer-readonly). + */ + sellerContacts?: Schema$ContactInformation[]; + } + interface Schema$PublisherProfileApiProto { + /** + * Publisher provided info on its audience. + */ + audience?: string; + /** + * A pitch statement for the buyer + */ + buyerPitchStatement?: string; + /** + * Direct contact for the publisher profile. + */ + directContact?: string; + /** + * Exchange where this publisher profile is from. E.g. AdX, Rubicon etc... + */ + exchange?: string; + /** + * Link to publisher's Google+ page. + */ + googlePlusLink?: string; + /** + * True, if this is the parent profile, which represents all domains owned + * by the publisher. + */ + isParent?: boolean; + /** + * True, if this profile is published. Deprecated for state. + */ + isPublished?: boolean; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "adexchangebuyer#publisherProfileApiProto". + */ + kind?: string; + /** + * The url to the logo for the publisher. + */ + logoUrl?: string; + /** + * The url for additional marketing and sales materials. + */ + mediaKitLink?: string; + name?: string; + /** + * Publisher provided overview. + */ + overview?: string; + /** + * The pair of (seller.account_id, profile_id) uniquely identifies a + * publisher profile for a given publisher. + */ + profileId?: number; + /** + * Programmatic contact for the publisher profile. + */ + programmaticContact?: string; + /** + * The list of domains represented in this publisher profile. Empty if this + * is a parent profile. + */ + publisherDomains?: string[]; + /** + * Unique Id for publisher profile. + */ + publisherProfileId?: string; + /** + * Publisher provided forecasting information. + */ + publisherProvidedForecast?: Schema$PublisherProvidedForecast; + /** + * Link to publisher rate card + */ + rateCardInfoLink?: string; + /** + * Link for a sample content page. + */ + samplePageLink?: string; + /** + * Seller of the publisher profile. + */ + seller?: Schema$Seller; + /** + * State of the publisher profile. + */ + state?: string; + /** + * Publisher provided key metrics and rankings. + */ + topHeadlines?: string[]; + } + /** + * This message carries publisher provided forecasting information. + */ + interface Schema$PublisherProvidedForecast { + /** + * Publisher provided dimensions. E.g. geo, sizes etc... + */ + dimensions?: Schema$Dimension[]; + /** + * Publisher provided weekly impressions. + */ + weeklyImpressions?: string; + /** + * Publisher provided weekly uniques. + */ + weeklyUniques?: string; + } + interface Schema$Seller { + /** + * The unique id for the seller. The seller fills in this field. The seller + * account id is then available to buyer in the product. + */ + accountId?: string; + /** + * Optional sub-account id for the seller. + */ + subAccountId?: string; + } + interface Schema$SharedTargeting { + /** + * The list of values to exclude from targeting. Each value is AND'd + * together. + */ + exclusions?: Schema$TargetingValue[]; + /** + * The list of value to include as part of the targeting. Each value is + * OR'd together. + */ + inclusions?: Schema$TargetingValue[]; + /** + * The key representing the shared targeting criterion. + */ + key?: string; + } + interface Schema$TargetingValue { + /** + * The creative size value to exclude/include. + */ + creativeSizeValue?: Schema$TargetingValueCreativeSize; + /** + * The daypart targeting to include / exclude. Filled in when the key is + * GOOG_DAYPART_TARGETING. + */ + dayPartTargetingValue?: Schema$TargetingValueDayPartTargeting; + demogAgeCriteriaValue?: Schema$TargetingValueDemogAgeCriteria; + demogGenderCriteriaValue?: Schema$TargetingValueDemogGenderCriteria; + /** + * The long value to exclude/include. + */ + longValue?: string; + /** + * The string value to exclude/include. + */ + stringValue?: string; + } + /** + * Next Id: 7 + */ + interface Schema$TargetingValueCreativeSize { + /** + * The formats allowed by the publisher. + */ + allowedFormats?: string[]; + /** + * For video size type, the list of companion sizes. + */ + companionSizes?: Schema$TargetingValueSize[]; + /** + * The Creative size type. + */ + creativeSizeType?: string; + /** + * The native template for native ad. + */ + nativeTemplate?: string; + /** + * For regular or video creative size type, specifies the size of the + * creative. + */ + size?: Schema$TargetingValueSize; + /** + * The skippable ad type for video size. + */ + skippableAdType?: string; + } + interface Schema$TargetingValueDayPartTargeting { + dayParts?: Schema$TargetingValueDayPartTargetingDayPart[]; + timeZoneType?: string; + } + interface Schema$TargetingValueDayPartTargetingDayPart { + dayOfWeek?: string; + endHour?: number; + endMinute?: number; + startHour?: number; + startMinute?: number; + } + interface Schema$TargetingValueDemogAgeCriteria { + demogAgeCriteriaIds?: string[]; + } + interface Schema$TargetingValueDemogGenderCriteria { + demogGenderCriteriaIds?: string[]; + } + interface Schema$TargetingValueSize { + /** + * The height of the creative. + */ + height?: number; + /** + * The width of the creative. + */ + width?: number; + } + interface Schema$UpdatePrivateAuctionProposalRequest { + /** + * The externalDealId of the deal to be updated. + */ + externalDealId?: string; + /** + * Optional note to be added. + */ + note?: Schema$MarketplaceNote; + /** + * The current revision number of the proposal to be updated. + */ + proposalRevisionNumber?: string; + /** + * The proposed action on the private auction proposal. + */ + updateAction?: string; + } + class Resource$Accounts { + root: Adexchangebuyer; + constructor(root: Adexchangebuyer); + getRoot(): Adexchangebuyer; + /** + * adexchangebuyer.accounts.get + * @desc Gets one account by ID. + * @alias adexchangebuyer.accounts.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.id The account id + * @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?: Params$Resource$Accounts$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accounts$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accounts$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * adexchangebuyer.accounts.list + * @desc Retrieves the authenticated user's list of accounts. + * @alias adexchangebuyer.accounts.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @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?: Params$Resource$Accounts$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accounts$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accounts$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * adexchangebuyer.accounts.patch + * @desc Updates an existing account. This method supports patch semantics. + * @alias adexchangebuyer.accounts.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.confirmUnsafeAccountChange Confirmation for erasing bidder and cookie matching urls. + * @param {integer} params.id The account id + * @param {().Account} 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 + */ + patch(params?: Params$Resource$Accounts$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Accounts$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Accounts$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * adexchangebuyer.accounts.update + * @desc Updates an existing account. + * @alias adexchangebuyer.accounts.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.confirmUnsafeAccountChange Confirmation for erasing bidder and cookie matching urls. + * @param {integer} params.id The account id + * @param {().Account} 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?: Params$Resource$Accounts$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Accounts$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Accounts$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The account id + */ + id?: number; + } + interface Params$Resource$Accounts$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } + interface Params$Resource$Accounts$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Confirmation for erasing bidder and cookie matching urls. + */ + confirmUnsafeAccountChange?: boolean; + /** + * The account id + */ + id?: number; + /** + * Request body metadata + */ + requestBody?: Schema$Account; + } + interface Params$Resource$Accounts$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Confirmation for erasing bidder and cookie matching urls. + */ + confirmUnsafeAccountChange?: boolean; + /** + * The account id + */ + id?: number; + /** + * Request body metadata + */ + requestBody?: Schema$Account; + } + class Resource$Billinginfo { + root: Adexchangebuyer; + constructor(root: Adexchangebuyer); + getRoot(): Adexchangebuyer; + /** + * adexchangebuyer.billingInfo.get + * @desc Returns the billing information for one account specified by + * account ID. + * @alias adexchangebuyer.billingInfo.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.accountId The account id. + * @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?: Params$Resource$Billinginfo$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Billinginfo$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Billinginfo$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * adexchangebuyer.billingInfo.list + * @desc Retrieves a list of billing information for all accounts of the + * authenticated user. + * @alias adexchangebuyer.billingInfo.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @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?: Params$Resource$Billinginfo$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Billinginfo$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Billinginfo$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Billinginfo$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The account id. + */ + accountId?: number; + } + interface Params$Resource$Billinginfo$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } + class Resource$Budget { + root: Adexchangebuyer; + constructor(root: Adexchangebuyer); + getRoot(): Adexchangebuyer; + /** + * adexchangebuyer.budget.get + * @desc Returns the budget information for the adgroup specified by the + * accountId and billingId. + * @alias adexchangebuyer.budget.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The account id to get the budget information for. + * @param {string} params.billingId The billing id to get the budget information for. + * @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?: Params$Resource$Budget$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Budget$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Budget$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * adexchangebuyer.budget.patch + * @desc Updates the budget amount for the budget of the adgroup specified + * by the accountId and billingId, with the budget amount in the request. + * This method supports patch semantics. + * @alias adexchangebuyer.budget.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The account id associated with the budget being updated. + * @param {string} params.billingId The billing id associated with the budget being updated. + * @param {().Budget} 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 + */ + patch(params?: Params$Resource$Budget$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Budget$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Budget$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * adexchangebuyer.budget.update + * @desc Updates the budget amount for the budget of the adgroup specified + * by the accountId and billingId, with the budget amount in the request. + * @alias adexchangebuyer.budget.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The account id associated with the budget being updated. + * @param {string} params.billingId The billing id associated with the budget being updated. + * @param {().Budget} 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?: Params$Resource$Budget$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Budget$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Budget$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Budget$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The account id to get the budget information for. + */ + accountId?: string; + /** + * The billing id to get the budget information for. + */ + billingId?: string; + } + interface Params$Resource$Budget$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The account id associated with the budget being updated. + */ + accountId?: string; + /** + * The billing id associated with the budget being updated. + */ + billingId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Budget; + } + interface Params$Resource$Budget$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The account id associated with the budget being updated. + */ + accountId?: string; + /** + * The billing id associated with the budget being updated. + */ + billingId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Budget; + } + class Resource$Creatives { + root: Adexchangebuyer; + constructor(root: Adexchangebuyer); + getRoot(): Adexchangebuyer; + /** + * adexchangebuyer.creatives.addDeal + * @desc Add a deal id association for the creative. + * @alias adexchangebuyer.creatives.addDeal + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.accountId The id for the account that will serve this creative. + * @param {string} params.buyerCreativeId The buyer-specific id for this creative. + * @param {string} params.dealId The id of the deal id to associate with this creative. + * @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 + */ + addDeal(params?: Params$Resource$Creatives$Adddeal, options?: MethodOptions): AxiosPromise; + addDeal(params: Params$Resource$Creatives$Adddeal, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + addDeal(params: Params$Resource$Creatives$Adddeal, callback: BodyResponseCallback): void; + addDeal(callback: BodyResponseCallback): void; + /** + * adexchangebuyer.creatives.get + * @desc Gets the status for a single creative. A creative will be available + * 30-40 minutes after submission. + * @alias adexchangebuyer.creatives.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.accountId The id for the account that will serve this creative. + * @param {string} params.buyerCreativeId The buyer-specific id for this creative. + * @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?: Params$Resource$Creatives$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Creatives$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Creatives$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * adexchangebuyer.creatives.insert + * @desc Submit a new creative. + * @alias adexchangebuyer.creatives.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().Creative} 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?: Params$Resource$Creatives$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Creatives$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Creatives$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * adexchangebuyer.creatives.list + * @desc Retrieves a list of the authenticated user's active creatives. A + * creative will be available 30-40 minutes after submission. + * @alias adexchangebuyer.creatives.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {integer=} params.accountId When specified, only creatives for the given account ids are returned. + * @param {string=} params.buyerCreativeId When specified, only creatives for the given buyer creative ids are returned. + * @param {string=} params.dealsStatusFilter When specified, only creatives having the given deals status are returned. + * @param {integer=} params.maxResults Maximum number of entries returned on one result page. If not set, the default is 100. Optional. + * @param {string=} params.openAuctionStatusFilter When specified, only creatives having the given open auction status are returned. + * @param {string=} params.pageToken A continuation token, used to page through ad clients. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response. Optional. + * @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?: Params$Resource$Creatives$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Creatives$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Creatives$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * adexchangebuyer.creatives.listDeals + * @desc Lists the external deal ids associated with the creative. + * @alias adexchangebuyer.creatives.listDeals + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.accountId The id for the account that will serve this creative. + * @param {string} params.buyerCreativeId The buyer-specific id for this creative. + * @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 + */ + listDeals(params?: Params$Resource$Creatives$Listdeals, options?: MethodOptions): AxiosPromise; + listDeals(params: Params$Resource$Creatives$Listdeals, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listDeals(params: Params$Resource$Creatives$Listdeals, callback: BodyResponseCallback): void; + listDeals(callback: BodyResponseCallback): void; + /** + * adexchangebuyer.creatives.removeDeal + * @desc Remove a deal id associated with the creative. + * @alias adexchangebuyer.creatives.removeDeal + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.accountId The id for the account that will serve this creative. + * @param {string} params.buyerCreativeId The buyer-specific id for this creative. + * @param {string} params.dealId The id of the deal id to disassociate with this creative. + * @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 + */ + removeDeal(params?: Params$Resource$Creatives$Removedeal, options?: MethodOptions): AxiosPromise; + removeDeal(params: Params$Resource$Creatives$Removedeal, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + removeDeal(params: Params$Resource$Creatives$Removedeal, callback: BodyResponseCallback): void; + removeDeal(callback: BodyResponseCallback): void; + } + interface Params$Resource$Creatives$Adddeal { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The id for the account that will serve this creative. + */ + accountId?: number; + /** + * The buyer-specific id for this creative. + */ + buyerCreativeId?: string; + /** + * The id of the deal id to associate with this creative. + */ + dealId?: string; + } + interface Params$Resource$Creatives$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The id for the account that will serve this creative. + */ + accountId?: number; + /** + * The buyer-specific id for this creative. + */ + buyerCreativeId?: string; + } + interface Params$Resource$Creatives$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$Creative; + } + interface Params$Resource$Creatives$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * When specified, only creatives for the given account ids are returned. + */ + accountId?: number; + /** + * When specified, only creatives for the given buyer creative ids are + * returned. + */ + buyerCreativeId?: string; + /** + * When specified, only creatives having the given deals status are + * returned. + */ + dealsStatusFilter?: string; + /** + * Maximum number of entries returned on one result page. If not set, the + * default is 100. Optional. + */ + maxResults?: number; + /** + * When specified, only creatives having the given open auction status are + * returned. + */ + openAuctionStatusFilter?: string; + /** + * A continuation token, used to page through ad clients. To retrieve the + * next page, set this parameter to the value of "nextPageToken" from the + * previous response. Optional. + */ + pageToken?: string; + } + interface Params$Resource$Creatives$Listdeals { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The id for the account that will serve this creative. + */ + accountId?: number; + /** + * The buyer-specific id for this creative. + */ + buyerCreativeId?: string; + } + interface Params$Resource$Creatives$Removedeal { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The id for the account that will serve this creative. + */ + accountId?: number; + /** + * The buyer-specific id for this creative. + */ + buyerCreativeId?: string; + /** + * The id of the deal id to disassociate with this creative. + */ + dealId?: string; + } + class Resource$Marketplacedeals { + root: Adexchangebuyer; + constructor(root: Adexchangebuyer); + getRoot(): Adexchangebuyer; + /** + * adexchangebuyer.marketplacedeals.delete + * @desc Delete the specified deals from the proposal + * @alias adexchangebuyer.marketplacedeals.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.proposalId The proposalId to delete deals from. + * @param {().DeleteOrderDealsRequest} 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 + */ + delete(params?: Params$Resource$Marketplacedeals$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Marketplacedeals$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Marketplacedeals$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * adexchangebuyer.marketplacedeals.insert + * @desc Add new deals for the specified proposal + * @alias adexchangebuyer.marketplacedeals.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.proposalId proposalId for which deals need to be added. + * @param {().AddOrderDealsRequest} 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?: Params$Resource$Marketplacedeals$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Marketplacedeals$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Marketplacedeals$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * adexchangebuyer.marketplacedeals.list + * @desc List all the deals for a given proposal + * @alias adexchangebuyer.marketplacedeals.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.pqlQuery Query string to retrieve specific deals. + * @param {string} params.proposalId The proposalId to get deals for. To search across all proposals specify order_id = '-' as part of the URL. + * @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?: Params$Resource$Marketplacedeals$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Marketplacedeals$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Marketplacedeals$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * adexchangebuyer.marketplacedeals.update + * @desc Replaces all the deals in the proposal with the passed in deals + * @alias adexchangebuyer.marketplacedeals.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.proposalId The proposalId to edit deals on. + * @param {().EditAllOrderDealsRequest} 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?: Params$Resource$Marketplacedeals$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Marketplacedeals$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Marketplacedeals$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Marketplacedeals$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The proposalId to delete deals from. + */ + proposalId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DeleteOrderDealsRequest; + } + interface Params$Resource$Marketplacedeals$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * proposalId for which deals need to be added. + */ + proposalId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AddOrderDealsRequest; + } + interface Params$Resource$Marketplacedeals$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Query string to retrieve specific deals. + */ + pqlQuery?: string; + /** + * The proposalId to get deals for. To search across all proposals specify + * order_id = '-' as part of the URL. + */ + proposalId?: string; + } + interface Params$Resource$Marketplacedeals$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The proposalId to edit deals on. + */ + proposalId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$EditAllOrderDealsRequest; + } + class Resource$Marketplacenotes { + root: Adexchangebuyer; + constructor(root: Adexchangebuyer); + getRoot(): Adexchangebuyer; + /** + * adexchangebuyer.marketplacenotes.insert + * @desc Add notes to the proposal + * @alias adexchangebuyer.marketplacenotes.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.proposalId The proposalId to add notes for. + * @param {().AddOrderNotesRequest} 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?: Params$Resource$Marketplacenotes$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Marketplacenotes$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Marketplacenotes$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * adexchangebuyer.marketplacenotes.list + * @desc Get all the notes associated with a proposal + * @alias adexchangebuyer.marketplacenotes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.pqlQuery Query string to retrieve specific notes. To search the text contents of notes, please use syntax like "WHERE note.note = "foo" or "WHERE note.note LIKE "%bar%" + * @param {string} params.proposalId The proposalId to get notes for. To search across all proposals specify order_id = '-' as part of the URL. + * @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?: Params$Resource$Marketplacenotes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Marketplacenotes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Marketplacenotes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Marketplacenotes$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The proposalId to add notes for. + */ + proposalId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AddOrderNotesRequest; + } + interface Params$Resource$Marketplacenotes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Query string to retrieve specific notes. To search the text contents of + * notes, please use syntax like "WHERE note.note = "foo" or "WHERE + * note.note LIKE "%bar%" + */ + pqlQuery?: string; + /** + * The proposalId to get notes for. To search across all proposals specify + * order_id = '-' as part of the URL. + */ + proposalId?: string; + } + class Resource$Marketplaceprivateauction { + root: Adexchangebuyer; + constructor(root: Adexchangebuyer); + getRoot(): Adexchangebuyer; + /** + * adexchangebuyer.marketplaceprivateauction.updateproposal + * @desc Update a given private auction proposal + * @alias adexchangebuyer.marketplaceprivateauction.updateproposal + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.privateAuctionId The private auction id to be updated. + * @param {().UpdatePrivateAuctionProposalRequest} 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 + */ + updateproposal(params?: Params$Resource$Marketplaceprivateauction$Updateproposal, options?: MethodOptions): AxiosPromise; + updateproposal(params: Params$Resource$Marketplaceprivateauction$Updateproposal, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + updateproposal(params: Params$Resource$Marketplaceprivateauction$Updateproposal, callback: BodyResponseCallback): void; + updateproposal(callback: BodyResponseCallback): void; + } + interface Params$Resource$Marketplaceprivateauction$Updateproposal { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The private auction id to be updated. + */ + privateAuctionId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UpdatePrivateAuctionProposalRequest; + } + class Resource$Performancereport { + root: Adexchangebuyer; + constructor(root: Adexchangebuyer); + getRoot(): Adexchangebuyer; + /** + * adexchangebuyer.performanceReport.list + * @desc Retrieves the authenticated user's list of performance metrics. + * @alias adexchangebuyer.performanceReport.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The account id to get the reports. + * @param {string} params.endDateTime The end time of the report in ISO 8601 timestamp format using UTC. + * @param {integer=} params.maxResults Maximum number of entries returned on one result page. If not set, the default is 100. Optional. + * @param {string=} params.pageToken A continuation token, used to page through performance reports. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response. Optional. + * @param {string} params.startDateTime The start time of the report in ISO 8601 timestamp format using UTC. + * @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?: Params$Resource$Performancereport$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Performancereport$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Performancereport$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Performancereport$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The account id to get the reports. + */ + accountId?: string; + /** + * The end time of the report in ISO 8601 timestamp format using UTC. + */ + endDateTime?: string; + /** + * Maximum number of entries returned on one result page. If not set, the + * default is 100. Optional. + */ + maxResults?: number; + /** + * A continuation token, used to page through performance reports. To + * retrieve the next page, set this parameter to the value of + * "nextPageToken" from the previous response. Optional. + */ + pageToken?: string; + /** + * The start time of the report in ISO 8601 timestamp format using UTC. + */ + startDateTime?: string; + } + class Resource$Pretargetingconfig { + root: Adexchangebuyer; + constructor(root: Adexchangebuyer); + getRoot(): Adexchangebuyer; + /** + * adexchangebuyer.pretargetingConfig.delete + * @desc Deletes an existing pretargeting config. + * @alias adexchangebuyer.pretargetingConfig.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The account id to delete the pretargeting config for. + * @param {string} params.configId The specific id of the configuration to delete. + * @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?: Params$Resource$Pretargetingconfig$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Pretargetingconfig$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Pretargetingconfig$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * adexchangebuyer.pretargetingConfig.get + * @desc Gets a specific pretargeting configuration + * @alias adexchangebuyer.pretargetingConfig.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The account id to get the pretargeting config for. + * @param {string} params.configId The specific id of the configuration to retrieve. + * @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?: Params$Resource$Pretargetingconfig$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Pretargetingconfig$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Pretargetingconfig$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * adexchangebuyer.pretargetingConfig.insert + * @desc Inserts a new pretargeting configuration. + * @alias adexchangebuyer.pretargetingConfig.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The account id to insert the pretargeting config for. + * @param {().PretargetingConfig} 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?: Params$Resource$Pretargetingconfig$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Pretargetingconfig$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Pretargetingconfig$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * adexchangebuyer.pretargetingConfig.list + * @desc Retrieves a list of the authenticated user's pretargeting + * configurations. + * @alias adexchangebuyer.pretargetingConfig.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The account id to get the pretargeting configs for. + * @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?: Params$Resource$Pretargetingconfig$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Pretargetingconfig$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Pretargetingconfig$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * adexchangebuyer.pretargetingConfig.patch + * @desc Updates an existing pretargeting config. This method supports patch + * semantics. + * @alias adexchangebuyer.pretargetingConfig.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The account id to update the pretargeting config for. + * @param {string} params.configId The specific id of the configuration to update. + * @param {().PretargetingConfig} 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 + */ + patch(params?: Params$Resource$Pretargetingconfig$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Pretargetingconfig$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Pretargetingconfig$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * adexchangebuyer.pretargetingConfig.update + * @desc Updates an existing pretargeting config. + * @alias adexchangebuyer.pretargetingConfig.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The account id to update the pretargeting config for. + * @param {string} params.configId The specific id of the configuration to update. + * @param {().PretargetingConfig} 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?: Params$Resource$Pretargetingconfig$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Pretargetingconfig$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Pretargetingconfig$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Pretargetingconfig$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The account id to delete the pretargeting config for. + */ + accountId?: string; + /** + * The specific id of the configuration to delete. + */ + configId?: string; + } + interface Params$Resource$Pretargetingconfig$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The account id to get the pretargeting config for. + */ + accountId?: string; + /** + * The specific id of the configuration to retrieve. + */ + configId?: string; + } + interface Params$Resource$Pretargetingconfig$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The account id to insert the pretargeting config for. + */ + accountId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$PretargetingConfig; + } + interface Params$Resource$Pretargetingconfig$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The account id to get the pretargeting configs for. + */ + accountId?: string; + } + interface Params$Resource$Pretargetingconfig$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The account id to update the pretargeting config for. + */ + accountId?: string; + /** + * The specific id of the configuration to update. + */ + configId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$PretargetingConfig; + } + interface Params$Resource$Pretargetingconfig$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The account id to update the pretargeting config for. + */ + accountId?: string; + /** + * The specific id of the configuration to update. + */ + configId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$PretargetingConfig; + } + class Resource$Products { + root: Adexchangebuyer; + constructor(root: Adexchangebuyer); + getRoot(): Adexchangebuyer; + /** + * adexchangebuyer.products.get + * @desc Gets the requested product by id. + * @alias adexchangebuyer.products.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.productId The id for the product to get the head revision for. + * @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?: Params$Resource$Products$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Products$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Products$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * adexchangebuyer.products.search + * @desc Gets the requested product. + * @alias adexchangebuyer.products.search + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {string=} params.pqlQuery The pql query used to query for products. + * @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 + */ + search(params?: Params$Resource$Products$Search, options?: MethodOptions): AxiosPromise; + search(params: Params$Resource$Products$Search, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + search(params: Params$Resource$Products$Search, callback: BodyResponseCallback): void; + search(callback: BodyResponseCallback): void; + } + interface Params$Resource$Products$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The id for the product to get the head revision for. + */ + productId?: string; + } + interface Params$Resource$Products$Search { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The pql query used to query for products. + */ + pqlQuery?: string; + } + class Resource$Proposals { + root: Adexchangebuyer; + constructor(root: Adexchangebuyer); + getRoot(): Adexchangebuyer; + /** + * adexchangebuyer.proposals.get + * @desc Get a proposal given its id + * @alias adexchangebuyer.proposals.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.proposalId Id of the proposal to retrieve. + * @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?: Params$Resource$Proposals$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Proposals$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Proposals$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * adexchangebuyer.proposals.insert + * @desc Create the given list of proposals + * @alias adexchangebuyer.proposals.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().CreateOrdersRequest} 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?: Params$Resource$Proposals$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Proposals$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Proposals$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * adexchangebuyer.proposals.patch + * @desc Update the given proposal. This method supports patch semantics. + * @alias adexchangebuyer.proposals.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.proposalId The proposal id to update. + * @param {string} params.revisionNumber The last known revision number to update. If the head revision in the marketplace database has since changed, an error will be thrown. The caller should then fetch the latest proposal at head revision and retry the update at that revision. + * @param {string} params.updateAction The proposed action to take on the proposal. This field is required and it must be set when updating a proposal. + * @param {().Proposal} 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 + */ + patch(params?: Params$Resource$Proposals$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Proposals$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Proposals$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * adexchangebuyer.proposals.search + * @desc Search for proposals using pql query + * @alias adexchangebuyer.proposals.search + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {string=} params.pqlQuery Query string to retrieve specific proposals. + * @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 + */ + search(params?: Params$Resource$Proposals$Search, options?: MethodOptions): AxiosPromise; + search(params: Params$Resource$Proposals$Search, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + search(params: Params$Resource$Proposals$Search, callback: BodyResponseCallback): void; + search(callback: BodyResponseCallback): void; + /** + * adexchangebuyer.proposals.setupcomplete + * @desc Update the given proposal to indicate that setup has been + * completed. + * @alias adexchangebuyer.proposals.setupcomplete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.proposalId The proposal id for which the setup is complete + * @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 + */ + setupcomplete(params?: Params$Resource$Proposals$Setupcomplete, options?: MethodOptions): AxiosPromise; + setupcomplete(params: Params$Resource$Proposals$Setupcomplete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setupcomplete(params: Params$Resource$Proposals$Setupcomplete, callback: BodyResponseCallback): void; + setupcomplete(callback: BodyResponseCallback): void; + /** + * adexchangebuyer.proposals.update + * @desc Update the given proposal + * @alias adexchangebuyer.proposals.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.proposalId The proposal id to update. + * @param {string} params.revisionNumber The last known revision number to update. If the head revision in the marketplace database has since changed, an error will be thrown. The caller should then fetch the latest proposal at head revision and retry the update at that revision. + * @param {string} params.updateAction The proposed action to take on the proposal. This field is required and it must be set when updating a proposal. + * @param {().Proposal} 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?: Params$Resource$Proposals$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Proposals$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Proposals$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Proposals$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Id of the proposal to retrieve. + */ + proposalId?: string; + } + interface Params$Resource$Proposals$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$CreateOrdersRequest; + } + interface Params$Resource$Proposals$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The proposal id to update. + */ + proposalId?: string; + /** + * The last known revision number to update. If the head revision in the + * marketplace database has since changed, an error will be thrown. The + * caller should then fetch the latest proposal at head revision and retry + * the update at that revision. + */ + revisionNumber?: string; + /** + * The proposed action to take on the proposal. This field is required and + * it must be set when updating a proposal. + */ + updateAction?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Proposal; + } + interface Params$Resource$Proposals$Search { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Query string to retrieve specific proposals. + */ + pqlQuery?: string; + } + interface Params$Resource$Proposals$Setupcomplete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The proposal id for which the setup is complete + */ + proposalId?: string; + } + interface Params$Resource$Proposals$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The proposal id to update. + */ + proposalId?: string; + /** + * The last known revision number to update. If the head revision in the + * marketplace database has since changed, an error will be thrown. The + * caller should then fetch the latest proposal at head revision and retry + * the update at that revision. + */ + revisionNumber?: string; + /** + * The proposed action to take on the proposal. This field is required and + * it must be set when updating a proposal. + */ + updateAction?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Proposal; + } + class Resource$Pubprofiles { + root: Adexchangebuyer; + constructor(root: Adexchangebuyer); + getRoot(): Adexchangebuyer; + /** + * adexchangebuyer.pubprofiles.list + * @desc Gets the requested publisher profile(s) by publisher accountId. + * @alias adexchangebuyer.pubprofiles.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.accountId The accountId of the publisher to get profiles for. + * @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?: Params$Resource$Pubprofiles$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Pubprofiles$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Pubprofiles$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Pubprofiles$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The accountId of the publisher to get profiles for. + */ + accountId?: number; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer/v1.4.js b/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer/v1.4.js new file mode 100644 index 00000000..751797a9 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer/v1.4.js @@ -0,0 +1,1391 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var adexchangebuyer_v1_4; +(function (adexchangebuyer_v1_4) { + /** + * Ad Exchange Buyer API + * + * Accesses your bidding-account information, submits creatives for + * validation, finds available direct deals, and retrieves performance + * reports. + * + * @example + * const {google} = require('googleapis'); + * const adexchangebuyer = google.adexchangebuyer('v1.4'); + * + * @namespace adexchangebuyer + * @type {Function} + * @version v1.4 + * @variation v1.4 + * @param {object=} options Options for Adexchangebuyer + */ + class Adexchangebuyer { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.accounts = new Resource$Accounts(this); + this.billingInfo = new Resource$Billinginfo(this); + this.budget = new Resource$Budget(this); + this.creatives = new Resource$Creatives(this); + this.marketplacedeals = new Resource$Marketplacedeals(this); + this.marketplacenotes = new Resource$Marketplacenotes(this); + this.marketplaceprivateauction = + new Resource$Marketplaceprivateauction(this); + this.performanceReport = new Resource$Performancereport(this); + this.pretargetingConfig = new Resource$Pretargetingconfig(this); + this.products = new Resource$Products(this); + this.proposals = new Resource$Proposals(this); + this.pubprofiles = new Resource$Pubprofiles(this); + } + getRoot() { + return this.root; + } + } + adexchangebuyer_v1_4.Adexchangebuyer = Adexchangebuyer; + class Resource$Accounts { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adexchangebuyer/v1.4/accounts/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['id'], + pathParams: ['id'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adexchangebuyer/v1.4/accounts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adexchangebuyer/v1.4/accounts/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['id'], + pathParams: ['id'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adexchangebuyer/v1.4/accounts/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['id'], + pathParams: ['id'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adexchangebuyer_v1_4.Resource$Accounts = Resource$Accounts; + class Resource$Billinginfo { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adexchangebuyer/v1.4/billinginfo/{accountId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId'], + pathParams: ['accountId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adexchangebuyer/v1.4/billinginfo') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adexchangebuyer_v1_4.Resource$Billinginfo = Resource$Billinginfo; + class Resource$Budget { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adexchangebuyer/v1.4/billinginfo/{accountId}/{billingId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'billingId'], + pathParams: ['accountId', 'billingId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adexchangebuyer/v1.4/billinginfo/{accountId}/{billingId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['accountId', 'billingId'], + pathParams: ['accountId', 'billingId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adexchangebuyer/v1.4/billinginfo/{accountId}/{billingId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['accountId', 'billingId'], + pathParams: ['accountId', 'billingId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adexchangebuyer_v1_4.Resource$Budget = Resource$Budget; + class Resource$Creatives { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + addDeal(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adexchangebuyer/v1.4/creatives/{accountId}/{buyerCreativeId}/addDeal/{dealId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['accountId', 'buyerCreativeId', 'dealId'], + pathParams: ['accountId', 'buyerCreativeId', 'dealId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adexchangebuyer/v1.4/creatives/{accountId}/{buyerCreativeId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'buyerCreativeId'], + pathParams: ['accountId', 'buyerCreativeId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adexchangebuyer/v1.4/creatives') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adexchangebuyer/v1.4/creatives') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listDeals(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adexchangebuyer/v1.4/creatives/{accountId}/{buyerCreativeId}/listDeals') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'buyerCreativeId'], + pathParams: ['accountId', 'buyerCreativeId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + removeDeal(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adexchangebuyer/v1.4/creatives/{accountId}/{buyerCreativeId}/removeDeal/{dealId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['accountId', 'buyerCreativeId', 'dealId'], + pathParams: ['accountId', 'buyerCreativeId', 'dealId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adexchangebuyer_v1_4.Resource$Creatives = Resource$Creatives; + class Resource$Marketplacedeals { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adexchangebuyer/v1.4/proposals/{proposalId}/deals/delete') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['proposalId'], + pathParams: ['proposalId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adexchangebuyer/v1.4/proposals/{proposalId}/deals/insert') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['proposalId'], + pathParams: ['proposalId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adexchangebuyer/v1.4/proposals/{proposalId}/deals') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['proposalId'], + pathParams: ['proposalId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adexchangebuyer/v1.4/proposals/{proposalId}/deals/update') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['proposalId'], + pathParams: ['proposalId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adexchangebuyer_v1_4.Resource$Marketplacedeals = Resource$Marketplacedeals; + class Resource$Marketplacenotes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adexchangebuyer/v1.4/proposals/{proposalId}/notes/insert') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['proposalId'], + pathParams: ['proposalId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adexchangebuyer/v1.4/proposals/{proposalId}/notes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['proposalId'], + pathParams: ['proposalId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adexchangebuyer_v1_4.Resource$Marketplacenotes = Resource$Marketplacenotes; + class Resource$Marketplaceprivateauction { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + updateproposal(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adexchangebuyer/v1.4/privateauction/{privateAuctionId}/updateproposal') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['privateAuctionId'], + pathParams: ['privateAuctionId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adexchangebuyer_v1_4.Resource$Marketplaceprivateauction = Resource$Marketplaceprivateauction; + class Resource$Performancereport { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adexchangebuyer/v1.4/performancereport') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'endDateTime', 'startDateTime'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adexchangebuyer_v1_4.Resource$Performancereport = Resource$Performancereport; + class Resource$Pretargetingconfig { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adexchangebuyer/v1.4/pretargetingconfigs/{accountId}/{configId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['accountId', 'configId'], + pathParams: ['accountId', 'configId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adexchangebuyer/v1.4/pretargetingconfigs/{accountId}/{configId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'configId'], + pathParams: ['accountId', 'configId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adexchangebuyer/v1.4/pretargetingconfigs/{accountId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['accountId'], + pathParams: ['accountId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adexchangebuyer/v1.4/pretargetingconfigs/{accountId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId'], + pathParams: ['accountId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adexchangebuyer/v1.4/pretargetingconfigs/{accountId}/{configId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['accountId', 'configId'], + pathParams: ['accountId', 'configId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adexchangebuyer/v1.4/pretargetingconfigs/{accountId}/{configId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['accountId', 'configId'], + pathParams: ['accountId', 'configId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adexchangebuyer_v1_4.Resource$Pretargetingconfig = Resource$Pretargetingconfig; + class Resource$Products { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adexchangebuyer/v1.4/products/{productId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['productId'], + pathParams: ['productId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + search(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adexchangebuyer/v1.4/products/search') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adexchangebuyer_v1_4.Resource$Products = Resource$Products; + class Resource$Proposals { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adexchangebuyer/v1.4/proposals/{proposalId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['proposalId'], + pathParams: ['proposalId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adexchangebuyer/v1.4/proposals/insert') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adexchangebuyer/v1.4/proposals/{proposalId}/{revisionNumber}/{updateAction}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['proposalId', 'revisionNumber', 'updateAction'], + pathParams: ['proposalId', 'revisionNumber', 'updateAction'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + search(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adexchangebuyer/v1.4/proposals/search') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setupcomplete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adexchangebuyer/v1.4/proposals/{proposalId}/setupcomplete') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['proposalId'], + pathParams: ['proposalId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adexchangebuyer/v1.4/proposals/{proposalId}/{revisionNumber}/{updateAction}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['proposalId', 'revisionNumber', 'updateAction'], + pathParams: ['proposalId', 'revisionNumber', 'updateAction'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adexchangebuyer_v1_4.Resource$Proposals = Resource$Proposals; + class Resource$Pubprofiles { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adexchangebuyer/v1.4/publisher/{accountId}/profiles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId'], + pathParams: ['accountId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adexchangebuyer_v1_4.Resource$Pubprofiles = Resource$Pubprofiles; +})(adexchangebuyer_v1_4 = exports.adexchangebuyer_v1_4 || (exports.adexchangebuyer_v1_4 = {})); +//# sourceMappingURL=v1.4.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer/v1.4.js.map b/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer/v1.4.js.map new file mode 100644 index 00000000..f9477b51 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer/v1.4.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.4.js","sourceRoot":"","sources":["../../../../src/apis/adexchangebuyer/v1.4.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer2/README.md b/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer2/README.md new file mode 100644 index 00000000..8f87521b --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer2/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/adexchangebuyer2 + +> Accesses the latest features for managing Ad Exchange accounts, Real-Time Bidding configurations and auction metrics, and Marketplace programmatic deals. + +## Installation + +```sh +$ npm install @google/adexchangebuyer2 +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer2/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer2/index.d.ts new file mode 100644 index 00000000..998d3709 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer2/index.d.ts @@ -0,0 +1,6 @@ +import { adexchangebuyer2_v2beta1 } from './v2beta1'; +export declare const VERSIONS: { + 'v2beta1': typeof adexchangebuyer2_v2beta1.Adexchangebuyer2; +}; +export declare function adexchangebuyer2(version: 'v2beta1'): adexchangebuyer2_v2beta1.Adexchangebuyer2; +export declare function adexchangebuyer2(options: adexchangebuyer2_v2beta1.Options): adexchangebuyer2_v2beta1.Adexchangebuyer2; diff --git a/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer2/index.js b/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer2/index.js new file mode 100644 index 00000000..62689a4a --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer2/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v2beta1_1 = require("./v2beta1"); +exports.VERSIONS = { + 'v2beta1': v2beta1_1.adexchangebuyer2_v2beta1.Adexchangebuyer2, +}; +function adexchangebuyer2(versionOrOptions) { + return googleapis_common_1.getAPI('adexchangebuyer2', versionOrOptions, exports.VERSIONS, this); +} +exports.adexchangebuyer2 = adexchangebuyer2; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer2/index.js.map b/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer2/index.js.map new file mode 100644 index 00000000..9176824e --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer2/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/adexchangebuyer2/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,uCAAmD;AAEtC,QAAA,QAAQ,GAAG;IACtB,SAAS,EAAE,kCAAwB,CAAC,gBAAgB;CACrD,CAAC;AAMF,SAAgB,gBAAgB,CAE5B,gBAA4D;IAC9D,OAAO,0BAAM,CAAI,kBAAkB,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACzE,CAAC;AAJD,4CAIC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer2/package.json b/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer2/package.json new file mode 100644 index 00000000..8415b667 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer2/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/adexchangebuyer2", + "version": "0.1.0", + "description": "adexchangebuyer2", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer2/v2beta1.d.ts b/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer2/v2beta1.d.ts new file mode 100644 index 00000000..c7f6a631 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer2/v2beta1.d.ts @@ -0,0 +1,5325 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace adexchangebuyer2_v2beta1 { + interface Options extends GlobalOptions { + version: 'v2beta1'; + } + /** + * Ad Exchange Buyer API II + * + * Accesses the latest features for managing Ad Exchange accounts, Real-Time + * Bidding configurations and auction metrics, and Marketplace programmatic + * deals. + * + * @example + * const {google} = require('googleapis'); + * const adexchangebuyer2 = google.adexchangebuyer2('v2beta1'); + * + * @namespace adexchangebuyer2 + * @type {Function} + * @version v2beta1 + * @variation v2beta1 + * @param {object=} options Options for Adexchangebuyer2 + */ + class Adexchangebuyer2 { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + accounts: Resource$Accounts; + bidders: Resource$Bidders; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * An absolute date range, specified by its start date and end date. The + * supported range of dates begins 30 days before today and ends today. + * Validity checked upon filter set creation. If a filter set with an absolute + * date range is run at a later date more than 30 days after start_date, it + * will fail. + */ + interface Schema$AbsoluteDateRange { + /** + * The end date of the range (inclusive). Must be within the 30 days leading + * up to current date, and must be equal to or after start_date. + */ + endDate?: Schema$Date; + /** + * The start date of the range (inclusive). Must be within the 30 days + * leading up to current date, and must be equal to or before end_date. + */ + startDate?: Schema$Date; + } + /** + * Request to accept a proposal. + */ + interface Schema$AcceptProposalRequest { + /** + * The last known client revision number of the proposal. + */ + proposalRevision?: string; + } + /** + * A request for associating a deal and a creative. + */ + interface Schema$AddDealAssociationRequest { + /** + * The association between a creative and a deal that should be added. + */ + association?: Schema$CreativeDealAssociation; + } + /** + * Request message for adding a note to a given proposal. + */ + interface Schema$AddNoteRequest { + /** + * Details of the note to add. + */ + note?: Schema$Note; + } + /** + * Represents size of a single ad slot, or a creative. + */ + interface Schema$AdSize { + /** + * The height of the ad slot in pixels. This field will be present only when + * size type is `PIXEL`. + */ + height?: string; + /** + * The size type of the ad slot. + */ + sizeType?: string; + /** + * The width of the ad slot in pixels. This field will be present only when + * size type is `PIXEL`. + */ + width?: string; + } + /** + * @OutputOnly The app type the restriction applies to for mobile device. + */ + interface Schema$AppContext { + /** + * The app types this restriction applies to. + */ + appTypes?: string[]; + } + /** + * @OutputOnly The auction type the restriction applies to. + */ + interface Schema$AuctionContext { + /** + * The auction types this restriction applies to. + */ + auctionTypes?: string[]; + } + /** + * The set of metrics that are measured in numbers of bids, representing how + * many bids with the specified dimension values were considered eligible at + * each stage of the bidding funnel; + */ + interface Schema$BidMetricsRow { + /** + * The number of bids that Ad Exchange received from the buyer. + */ + bids?: Schema$MetricValue; + /** + * The number of bids that were permitted to compete in the auction. + */ + bidsInAuction?: Schema$MetricValue; + /** + * The number of bids for which the buyer was billed. + */ + billedImpressions?: Schema$MetricValue; + /** + * The number of bids that won an impression. + */ + impressionsWon?: Schema$MetricValue; + /** + * The number of bids for which the corresponding impression was measurable + * for viewability (as defined by Active View). + */ + measurableImpressions?: Schema$MetricValue; + /** + * The values of all dimensions associated with metric values in this row. + */ + rowDimensions?: Schema$RowDimensions; + /** + * The number of bids for which the corresponding impression was viewable + * (as defined by Active View). + */ + viewableImpressions?: Schema$MetricValue; + } + /** + * The number of impressions with the specified dimension values that were + * considered to have no applicable bids, as described by the specified + * status. + */ + interface Schema$BidResponseWithoutBidsStatusRow { + /** + * The number of impressions for which there was a bid response with the + * specified status. + */ + impressionCount?: Schema$MetricValue; + /** + * The values of all dimensions associated with metric values in this row. + */ + rowDimensions?: Schema$RowDimensions; + /** + * The status specifying why the bid responses were considered to have no + * applicable bids. + */ + status?: string; + } + /** + * Represents a buyer of inventory. Each buyer is identified by a unique Ad + * Exchange account ID. + */ + interface Schema$Buyer { + /** + * Ad Exchange account ID of the buyer. + */ + accountId?: string; + } + /** + * The number of impressions with the specified dimension values where the + * corresponding bid request or bid response was not successful, as described + * by the specified callout status. + */ + interface Schema$CalloutStatusRow { + /** + * The ID of the callout status. See + * [callout-status-codes](https://developers.google.com/ad-exchange/rtb/downloads/callout-status-codes). + */ + calloutStatusId?: number; + /** + * The number of impressions for which there was a bid request or bid + * response with the specified callout status. + */ + impressionCount?: Schema$MetricValue; + /** + * The values of all dimensions associated with metric values in this row. + */ + rowDimensions?: Schema$RowDimensions; + } + /** + * Request to cancel an ongoing negotiation. + */ + interface Schema$CancelNegotiationRequest { + } + /** + * A client resource represents a client buyer&mdash;an agency, a brand, + * or an advertiser customer of the sponsor buyer. Users associated with the + * client buyer have restricted access to the Ad Exchange Marketplace and + * certain other sections of the Ad Exchange Buyer UI based on the role + * granted to the client buyer. All fields are required unless otherwise + * specified. + */ + interface Schema$Client { + /** + * The globally-unique numerical ID of the client. The value of this field + * is ignored in create and update operations. + */ + clientAccountId?: string; + /** + * Name used to represent this client to publishers. You may have multiple + * clients that map to the same entity, but for each client the combination + * of `clientName` and entity must be unique. You can specify this field as + * empty. + */ + clientName?: string; + /** + * Numerical identifier of the client entity. The entity can be an + * advertiser, a brand, or an agency. This identifier is unique among all + * the entities with the same type. A list of all known advertisers with + * their identifiers is available in the + * [advertisers.txt](https://storage.googleapis.com/adx-rtb-dictionaries/advertisers.txt) + * file. A list of all known brands with their identifiers is available in + * the + * [brands.txt](https://storage.googleapis.com/adx-rtb-dictionaries/brands.txt) + * file. A list of all known agencies with their identifiers is available + * in the + * [agencies.txt](https://storage.googleapis.com/adx-rtb-dictionaries/agencies.txt) + * file. + */ + entityId?: string; + /** + * The name of the entity. This field is automatically fetched based on the + * type and ID. The value of this field is ignored in create and update + * operations. + */ + entityName?: string; + /** + * The type of the client entity: `ADVERTISER`, `BRAND`, or `AGENCY`. + */ + entityType?: string; + /** + * Optional arbitrary unique identifier of this client buyer from the + * standpoint of its Ad Exchange sponsor buyer. This field can be used to + * associate a client buyer with the identifier in the namespace of its + * sponsor buyer, lookup client buyers by that identifier and verify whether + * an Ad Exchange counterpart of a given client buyer already exists. If + * present, must be unique among all the client buyers for its Ad Exchange + * sponsor buyer. + */ + partnerClientId?: string; + /** + * The role which is assigned to the client buyer. Each role implies a set + * of permissions granted to the client. Must be one of + * `CLIENT_DEAL_VIEWER`, `CLIENT_DEAL_NEGOTIATOR` or `CLIENT_DEAL_APPROVER`. + */ + role?: string; + /** + * The status of the client buyer. + */ + status?: string; + /** + * Whether the client buyer will be visible to sellers. + */ + visibleToSeller?: boolean; + } + /** + * A client user is created under a client buyer and has restricted access to + * the Ad Exchange Marketplace and certain other sections of the Ad Exchange + * Buyer UI based on the role granted to the associated client buyer. The + * only way a new client user can be created is via accepting an email + * invitation (see the accounts.clients.invitations.create method). All + * fields are required unless otherwise specified. + */ + interface Schema$ClientUser { + /** + * Numerical account ID of the client buyer with which the user is + * associated; the buyer must be a client of the current sponsor buyer. The + * value of this field is ignored in an update operation. + */ + clientAccountId?: string; + /** + * User's email address. The value of this field is ignored in an update + * operation. + */ + email?: string; + /** + * The status of the client user. + */ + status?: string; + /** + * The unique numerical ID of the client user that has accepted an + * invitation. The value of this field is ignored in an update operation. + */ + userId?: string; + } + /** + * An invitation for a new client user to get access to the Ad Exchange Buyer + * UI. All fields are required unless otherwise specified. + */ + interface Schema$ClientUserInvitation { + /** + * Numerical account ID of the client buyer that the invited user is + * associated with. The value of this field is ignored in create operations. + */ + clientAccountId?: string; + /** + * The email address to which the invitation is sent. Email addresses should + * be unique among all client users under each sponsor buyer. + */ + email?: string; + /** + * The unique numerical ID of the invitation that is sent to the user. The + * value of this field is ignored in create operations. + */ + invitationId?: string; + } + /** + * Request message for indicating that the proposal's setup step is + * complete. + */ + interface Schema$CompleteSetupRequest { + } + /** + * Contains information on how a buyer or seller can be reached. + */ + interface Schema$ContactInformation { + /** + * Email address for the contact. + */ + email?: string; + /** + * The name of the contact. + */ + name?: string; + } + /** + * @OutputOnly Shows any corrections that were applied to this creative. + */ + interface Schema$Correction { + /** + * The contexts for the correction. + */ + contexts?: Schema$ServingContext[]; + /** + * Additional details about what was corrected. + */ + details?: string[]; + /** + * The type of correction that was applied to the creative. + */ + type?: string; + } + /** + * A creative and its classification data. Next ID: 38 + */ + interface Schema$Creative { + /** + * The account that this creative belongs to. Can be used to filter the + * response of the creatives.list method. + */ + accountId?: string; + /** + * The link to AdChoices destination page. + */ + adChoicesDestinationUrl?: string; + /** + * The name of the company being advertised in the creative. + */ + advertiserName?: string; + /** + * The agency ID for this creative. + */ + agencyId?: string; + /** + * @OutputOnly The last update timestamp of the creative via API. + */ + apiUpdateTime?: string; + /** + * All attributes for the ads that may be shown from this creative. Can be + * used to filter the response of the creatives.list method. + */ + attributes?: string[]; + /** + * The set of destination URLs for the creative. + */ + clickThroughUrls?: string[]; + /** + * @OutputOnly Shows any corrections that were applied to this creative. + */ + corrections?: Schema$Correction[]; + /** + * The buyer-defined creative ID of this creative. Can be used to filter the + * response of the creatives.list method. + */ + creativeId?: string; + /** + * @OutputOnly The top-level deals status of this creative. If disapproved, + * an entry for 'auctionType=DIRECT_DEALS' (or 'ALL') in + * serving_restrictions will also exist. Note that this may be nuanced with + * other contextual restrictions, in which case, it may be preferable to + * read from serving_restrictions directly. Can be used to filter the + * response of the creatives.list method. + */ + dealsStatus?: string; + /** + * The set of declared destination URLs for the creative. + */ + declaredClickThroughUrls?: string[]; + /** + * @OutputOnly Detected advertiser IDs, if any. + */ + detectedAdvertiserIds?: string[]; + /** + * @OutputOnly The detected domains for this creative. + */ + detectedDomains?: string[]; + /** + * @OutputOnly The detected languages for this creative. The order is + * arbitrary. The codes are 2 or 5 characters and are documented at + * https://developers.google.com/adwords/api/docs/appendix/languagecodes. + */ + detectedLanguages?: string[]; + /** + * @OutputOnly Detected product categories, if any. See the + * ad-product-categories.txt file in the technical documentation for a list + * of IDs. + */ + detectedProductCategories?: number[]; + /** + * @OutputOnly Detected sensitive categories, if any. See the + * ad-sensitive-categories.txt file in the technical documentation for a + * list of IDs. You should use these IDs along with the + * excluded-sensitive-category field in the bid request to filter your bids. + */ + detectedSensitiveCategories?: number[]; + /** + * @OutputOnly The filtering stats for this creative. + */ + filteringStats?: Schema$FilteringStats; + /** + * An HTML creative. + */ + html?: Schema$HtmlContent; + /** + * The set of URLs to be called to record an impression. + */ + impressionTrackingUrls?: string[]; + /** + * A native creative. + */ + native?: Schema$NativeContent; + /** + * @OutputOnly The top-level open auction status of this creative. If + * disapproved, an entry for 'auctionType = OPEN_AUCTION' (or + * 'ALL') in serving_restrictions will also exist. Note that this + * may be nuanced with other contextual restrictions, in which case, it may + * be preferable to read from serving_restrictions directly. Can be used to + * filter the response of the creatives.list method. + */ + openAuctionStatus?: string; + /** + * All restricted categories for the ads that may be shown from this + * creative. + */ + restrictedCategories?: string[]; + /** + * @OutputOnly The granular status of this ad in specific contexts. A + * context here relates to where something ultimately serves (for example, a + * physical location, a platform, an HTTPS vs HTTP request, or the type of + * auction). + */ + servingRestrictions?: Schema$ServingRestriction[]; + /** + * All vendor IDs for the ads that may be shown from this creative. See + * https://storage.googleapis.com/adx-rtb-dictionaries/vendors.txt for + * possible values. + */ + vendorIds?: number[]; + /** + * @OutputOnly The version of this creative. + */ + version?: number; + /** + * A video creative. + */ + video?: Schema$VideoContent; + } + /** + * The association between a creative and a deal. + */ + interface Schema$CreativeDealAssociation { + /** + * The account the creative belongs to. + */ + accountId?: string; + /** + * The ID of the creative associated with the deal. + */ + creativeId?: string; + /** + * The externalDealId for the deal associated with the creative. + */ + dealsId?: string; + } + /** + * Represents creative restrictions associated to Programmatic Guaranteed/ + * Preferred Deal in DFP. This doesn't apply to Private Auction and AdX + * Preferred Deals. + */ + interface Schema$CreativeRestrictions { + /** + * The format of the environment that the creatives will be displayed in. + */ + creativeFormat?: string; + creativeSpecifications?: Schema$CreativeSpecification[]; + /** + * Skippable video ads allow viewers to skip ads after 5 seconds. + */ + skippableAdType?: string; + } + /** + * Specifies the size of the creative. + */ + interface Schema$CreativeSize { + /** + * What formats are allowed by the publisher. If this repeated field is + * empty then all formats are allowed. E.g., if this field contains + * AllowedFormatType.AUDIO then the publisher only allows an audio ad + * (without any video). + */ + allowedFormats?: string[]; + /** + * For video creatives specifies the sizes of companion ads (if present). + * Companion sizes may be filled in only when creative_size_type = VIDEO + */ + companionSizes?: Schema$Size[]; + /** + * The creative size type. + */ + creativeSizeType?: string; + /** + * The native template for this creative. It will have a value only if + * creative_size_type = CreativeSizeType.NATIVE. @OutputOnly + */ + nativeTemplate?: string; + /** + * For regular or video creative size type, specifies the size of the + * creative + */ + size?: Schema$Size; + /** + * The type of skippable ad for this creative. It will have a value only if + * creative_size_type = CreativeSizeType.VIDEO. + */ + skippableAdType?: string; + } + /** + * Represents information for a creative that is associated with a + * Programmatic Guaranteed/Preferred Deal in DFP. + */ + interface Schema$CreativeSpecification { + /** + * Companion sizes may be filled in only when this is a video creative. + */ + creativeCompanionSizes?: Schema$AdSize[]; + /** + * The size of the creative. + */ + creativeSize?: Schema$AdSize; + } + /** + * The number of bids with the specified dimension values that did not win the + * auction (either were filtered pre-auction or lost the auction), as + * described by the specified creative status. + */ + interface Schema$CreativeStatusRow { + /** + * The number of bids with the specified status. + */ + bidCount?: Schema$MetricValue; + /** + * The ID of the creative status. See + * [creative-status-codes](https://developers.google.com/ad-exchange/rtb/downloads/creative-status-codes). + */ + creativeStatusId?: number; + /** + * The values of all dimensions associated with metric values in this row. + */ + rowDimensions?: Schema$RowDimensions; + } + /** + * Generic targeting used for targeting dimensions that contains a list of + * included and excluded numeric IDs. + */ + interface Schema$CriteriaTargeting { + /** + * A list of numeric IDs to be excluded. + */ + excludedCriteriaIds?: string[]; + /** + * A list of numeric IDs to be included. + */ + targetedCriteriaIds?: string[]; + } + /** + * Represents a whole or partial calendar date, e.g. a birthday. The time of + * day and time zone are either specified elsewhere or are not significant. + * The date is relative to the Proleptic Gregorian Calendar. This can + * represent: * A full date, with non-zero year, month and day values * A + * month and day value, with a zero year, e.g. an anniversary * A year on its + * own, with zero month and day values * A year and month value, with a zero + * day, e.g. a credit card expiration date Related types are + * google.type.TimeOfDay and `google.protobuf.Timestamp`. + */ + interface Schema$Date { + /** + * Day of month. Must be from 1 to 31 and valid for the year and month, or 0 + * if specifying a year by itself or a year and month where the day is not + * significant. + */ + day?: number; + /** + * Month of year. Must be from 1 to 12, or 0 if specifying a year without a + * month and day. + */ + month?: number; + /** + * Year of date. Must be from 1 to 9999, or 0 if specifying a date without a + * year. + */ + year?: number; + } + /** + * Daypart targeting message that specifies if the ad can be shown only during + * certain parts of a day/week. + */ + interface Schema$DayPart { + /** + * The day of the week to target. If unspecified, applicable to all days. + */ + dayOfWeek?: string; + /** + * The ending time of the day for the ad to show (minute level granularity). + * The end time is exclusive. This field is not available for filtering in + * PQL queries. + */ + endTime?: Schema$TimeOfDay; + /** + * The starting time of day for the ad to show (minute level granularity). + * The start time is inclusive. This field is not available for filtering in + * PQL queries. + */ + startTime?: Schema$TimeOfDay; + } + /** + * Specifies the day part targeting criteria. + */ + interface Schema$DayPartTargeting { + /** + * A list of day part targeting criterion. + */ + dayParts?: Schema$DayPart[]; + /** + * The timezone to use for interpreting the day part targeting. + */ + timeZoneType?: string; + } + /** + * A deal represents a segment of inventory for displaying ads on. A proposal + * can contain multiple deals. A deal contains the terms and targeting + * information that is used for serving. + */ + interface Schema$Deal { + /** + * Proposed flight end time of the deal. This will generally be stored in a + * granularity of a second. A value is not required for Private Auction + * deals or Preferred Deals. + */ + availableEndTime?: string; + /** + * Optional proposed flight start time of the deal. This will generally be + * stored in the granularity of one second since deal serving starts at + * seconds boundary. Any time specified with more granularity (e.g., in + * milliseconds) will be truncated towards the start of time in seconds. + */ + availableStartTime?: string; + /** + * Buyer private data (hidden from seller). + */ + buyerPrivateData?: Schema$PrivateData; + /** + * The product ID from which this deal was created. Note: This field may be + * set only when creating the resource. Modifying this field while updating + * the resource will result in an error. + */ + createProductId?: string; + /** + * Optional revision number of the product that the deal was created from. + * If present on create, and the server `product_revision` has advanced + * sinced the passed-in `create_product_revision`, an `ABORTED` error will + * be returned. Note: This field may be set only when creating the + * resource. Modifying this field while updating the resource will result in + * an error. + */ + createProductRevision?: string; + /** + * The time of the deal creation. @OutputOnly + */ + createTime?: string; + /** + * Specifies the creative pre-approval policy. @OutputOnly + */ + creativePreApprovalPolicy?: string; + /** + * Restricitions about the creatives associated with the deal (i.e. size) + * This is available for Programmatic Guaranteed/Preferred Deals in DFP. + * @OutputOnly + */ + creativeRestrictions?: Schema$CreativeRestrictions; + /** + * Specifies whether the creative is safeFrame compatible. @OutputOnly + */ + creativeSafeFrameCompatibility?: string; + /** + * A unique deal ID for the deal (server-assigned). @OutputOnly + */ + dealId?: string; + /** + * Metadata about the serving status of this deal. @OutputOnly + */ + dealServingMetadata?: Schema$DealServingMetadata; + /** + * The negotiable terms of the deal. + */ + dealTerms?: Schema$DealTerms; + /** + * The set of fields around delivery control that are interesting for a + * buyer to see but are non-negotiable. These are set by the publisher. + */ + deliveryControl?: Schema$DeliveryControl; + /** + * Description for the deal terms. + */ + description?: string; + /** + * The name of the deal. + */ + displayName?: string; + /** + * The external deal ID assigned to this deal once the deal is finalized. + * This is the deal ID that shows up in serving/reporting etc. @OutputOnly + */ + externalDealId?: string; + /** + * True, if the buyside inventory setup is complete for this deal. + * @OutputOnly + */ + isSetupComplete?: boolean; + /** + * Specifies the creative source for programmatic deals. PUBLISHER means + * creative is provided by seller and ADVERTISER means creative is provided + * by buyer. @OutputOnly + */ + programmaticCreativeSource?: string; + /** + * ID of the proposal that this deal is part of. @OutputOnly + */ + proposalId?: string; + /** + * Seller contact information for the deal. @OutputOnly + */ + sellerContacts?: Schema$ContactInformation[]; + /** + * The syndication product associated with the deal. Note: This field may + * be set only when creating the resource. Modifying this field while + * updating the resource will result in an error. + */ + syndicationProduct?: string; + /** + * Specifies the subset of inventory targeted by the deal. @OutputOnly + */ + targeting?: Schema$MarketplaceTargeting; + /** + * The shared targeting visible to buyers and sellers. Each shared targeting + * entity is AND'd together. + */ + targetingCriterion?: Schema$TargetingCriteria[]; + /** + * The time when the deal was last updated. @OutputOnly + */ + updateTime?: string; + /** + * The web property code for the seller copied over from the product. + */ + webPropertyCode?: string; + } + /** + * Tracks which parties (if any) have paused a deal. The deal is considered + * paused if either hasBuyerPaused or hasSellPaused is true. + */ + interface Schema$DealPauseStatus { + /** + * The buyer's reason for pausing, if the buyer paused the deal. + */ + buyerPauseReason?: string; + /** + * The role of the person who first paused this deal. + */ + firstPausedBy?: string; + /** + * True, if the buyer has paused the deal unilaterally. + */ + hasBuyerPaused?: boolean; + /** + * True, if the seller has paused the deal unilaterally. + */ + hasSellerPaused?: boolean; + /** + * The seller's reason for pausing, if the seller paused the deal. + */ + sellerPauseReason?: string; + } + /** + * Message captures metadata about the serving status of a deal. + */ + interface Schema$DealServingMetadata { + /** + * Tracks which parties (if any) have paused a deal. @OutputOnly + */ + dealPauseStatus?: Schema$DealPauseStatus; + } + /** + * The deal terms specify the details of a Product/deal. They specify things + * like price per buyer, the type of pricing model (e.g., fixed price, + * auction) and expected impressions from the publisher. + */ + interface Schema$DealTerms { + /** + * Visibility of the URL in bid requests. (default: BRANDED) + */ + brandingType?: string; + /** + * Publisher provided description for the terms. + */ + description?: string; + /** + * Non-binding estimate of the estimated gross spend for this deal. Can be + * set by buyer or seller. + */ + estimatedGrossSpend?: Schema$Price; + /** + * Non-binding estimate of the impressions served per day. Can be set by + * buyer or seller. + */ + estimatedImpressionsPerDay?: string; + /** + * The terms for guaranteed fixed price deals. + */ + guaranteedFixedPriceTerms?: Schema$GuaranteedFixedPriceTerms; + /** + * The terms for non-guaranteed auction deals. + */ + nonGuaranteedAuctionTerms?: Schema$NonGuaranteedAuctionTerms; + /** + * The terms for non-guaranteed fixed price deals. + */ + nonGuaranteedFixedPriceTerms?: Schema$NonGuaranteedFixedPriceTerms; + /** + * The time zone name. For deals with Cost Per Day billing, defines the time + * zone used to mark the boundaries of a day. It should be an IANA TZ name, + * such as "America/Los_Angeles". For more information, see + * https://en.wikipedia.org/wiki/List_of_tz_database_time_zones. + */ + sellerTimeZone?: string; + } + /** + * Message contains details about how the deals will be paced. + */ + interface Schema$DeliveryControl { + /** + * Specified the creative blocking levels to be applied. @OutputOnly + */ + creativeBlockingLevel?: string; + /** + * Specifies how the impression delivery will be paced. @OutputOnly + */ + deliveryRateType?: string; + /** + * Specifies any frequency caps. @OutputOnly + */ + frequencyCaps?: Schema$FrequencyCap[]; + } + /** + * @OutputOnly The reason and details for a disapproval. + */ + interface Schema$Disapproval { + /** + * Additional details about the reason for disapproval. + */ + details?: string[]; + /** + * The categorized reason for disapproval. + */ + reason?: string; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * The number of filtered bids with the specified dimension values that have + * the specified creative. + */ + interface Schema$FilteredBidCreativeRow { + /** + * The number of bids with the specified creative. + */ + bidCount?: Schema$MetricValue; + /** + * The ID of the creative. + */ + creativeId?: string; + /** + * The values of all dimensions associated with metric values in this row. + */ + rowDimensions?: Schema$RowDimensions; + } + /** + * The number of filtered bids with the specified dimension values, among + * those filtered due to the requested filtering reason (i.e. creative + * status), that have the specified detail. + */ + interface Schema$FilteredBidDetailRow { + /** + * The number of bids with the specified detail. + */ + bidCount?: Schema$MetricValue; + /** + * The ID of the detail. The associated value can be looked up in the + * dictionary file corresponding to the DetailType in the response message. + */ + detailId?: number; + /** + * The values of all dimensions associated with metric values in this row. + */ + rowDimensions?: Schema$RowDimensions; + } + /** + * @OutputOnly Filtering reasons for this creative during a period of a single + * day (from midnight to midnight Pacific). + */ + interface Schema$FilteringStats { + /** + * The day during which the data was collected. The data is collected from + * 00:00:00 to 23:59:59 PT. During switches from PST to PDT and back, the + * day may contain 23 or 25 hours of data instead of the usual 24. + */ + date?: Schema$Date; + /** + * The set of filtering reasons for this date. + */ + reasons?: Schema$Reason[]; + } + /** + * A set of filters that is applied to a request for data. Within a filter + * set, an AND operation is performed across the filters represented by each + * field. An OR operation is performed across the filters represented by the + * multiple values of a repeated field. E.g. "format=VIDEO AND deal_id=12 + * AND (seller_network_id=34 OR seller_network_id=56)" + */ + interface Schema$FilterSet { + /** + * An absolute date range, defined by a start date and an end date. + * Interpreted relative to Pacific time zone. + */ + absoluteDateRange?: Schema$AbsoluteDateRange; + /** + * The ID of the creative on which to filter; optional. This field may be + * set only for a filter set that accesses account-level troubleshooting + * data, i.e. one whose name matches the `bidders/x/accounts/x/filterSets/x + * pattern. + */ + creativeId?: string; + /** + * The ID of the deal on which to filter; optional. This field may be set + * only for a filter set that accesses account-level troubleshooting data, + * i.e. one whose name matches the `bidders/x/accounts/x/filterSets/x + * pattern. + */ + dealId?: string; + /** + * The environment on which to filter; optional. + */ + environment?: string; + /** + * The list of formats on which to filter; may be empty. The filters + * represented by multiple formats are ORed together (i.e. if non-empty, + * results must match any one of the formats). + */ + formats?: string[]; + /** + * A user-defined name of the filter set. Filter set names must be unique + * globally and match one of the patterns: - `bidders/x/filterSets/x (for + * accessing bidder-level troubleshooting data) - + * `bidders/x/accounts/x/filterSets/x (for accessing account-level + * troubleshooting data) This field is required in create operations. + */ + name?: string; + /** + * The list of platforms on which to filter; may be empty. The filters + * represented by multiple platforms are ORed together (i.e. if non-empty, + * results must match any one of the platforms). + */ + platforms?: string[]; + /** + * For Exchange Bidding buyers only. The list of publisher identifiers on + * which to filter; may be empty. The filters represented by multiple + * publisher identifiers are ORed together. + */ + publisherIdentifiers?: string[]; + /** + * An open-ended realtime time range, defined by the aggregation start + * timestamp. + */ + realtimeTimeRange?: Schema$RealtimeTimeRange; + /** + * A relative date range, defined by an offset from today and a duration. + * Interpreted relative to Pacific time zone. + */ + relativeDateRange?: Schema$RelativeDateRange; + /** + * For Ad Exchange buyers only. The list of IDs of the seller (publisher) + * networks on which to filter; may be empty. The filters represented by + * multiple seller network IDs are ORed together (i.e. if non-empty, results + * must match any one of the publisher networks). See + * [seller-network-ids](https://developers.google.com/ad-exchange/rtb/downloads/seller-network-ids) + * file for the set of existing seller network IDs. + */ + sellerNetworkIds?: number[]; + /** + * The granularity of time intervals if a time series breakdown is desired; + * optional. + */ + timeSeriesGranularity?: string; + } + /** + * Represents a list of targeted and excluded mobile application IDs that + * publishers own. Mobile application IDs are from App Store and Google Play + * Store. Android App ID, for example, com.google.android.apps.maps, can be + * found in Google Play Store URL. iOS App ID (which is a number) can be found + * at the end of iTunes store URL. First party mobile applications is either + * included or excluded. + */ + interface Schema$FirstPartyMobileApplicationTargeting { + /** + * A list of application IDs to be excluded. + */ + excludedAppIds?: string[]; + /** + * A list of application IDs to be included. + */ + targetedAppIds?: string[]; + } + /** + * Frequency cap. + */ + interface Schema$FrequencyCap { + /** + * The maximum number of impressions that can be served to a user within the + * specified time period. + */ + maxImpressions?: number; + /** + * The amount of time, in the units specified by time_unit_type. Defines the + * amount of time over which impressions per user are counted and capped. + */ + numTimeUnits?: number; + /** + * The time unit. Along with num_time_units defines the amount of time over + * which impressions per user are counted and capped. + */ + timeUnitType?: string; + } + /** + * Terms for Programmatic Guaranteed Deals. + */ + interface Schema$GuaranteedFixedPriceTerms { + /** + * Fixed price for the specified buyer. + */ + fixedPrices?: Schema$PricePerBuyer[]; + /** + * Guaranteed impressions as a percentage. This is the percentage of + * guaranteed looks that the buyer is guaranteeing to buy. + */ + guaranteedImpressions?: string; + /** + * Count of guaranteed looks. Required for deal, optional for product. + */ + guaranteedLooks?: string; + /** + * Daily minimum looks for CPD deal types. + */ + minimumDailyLooks?: string; + } + /** + * HTML content for a creative. + */ + interface Schema$HtmlContent { + /** + * The height of the HTML snippet in pixels. + */ + height?: number; + /** + * The HTML snippet that displays the ad when inserted in the web page. + */ + snippet?: string; + /** + * The width of the HTML snippet in pixels. + */ + width?: number; + } + /** + * An image resource. You may provide a larger image than was requested, so + * long as the aspect ratio is preserved. + */ + interface Schema$Image { + /** + * Image height in pixels. + */ + height?: number; + /** + * The URL of the image. + */ + url?: string; + /** + * Image width in pixels. + */ + width?: number; + } + /** + * The set of metrics that are measured in numbers of impressions, + * representing how many impressions with the specified dimension values were + * considered eligible at each stage of the bidding funnel. + */ + interface Schema$ImpressionMetricsRow { + /** + * The number of impressions available to the buyer on Ad Exchange. In some + * cases this value may be unavailable. + */ + availableImpressions?: Schema$MetricValue; + /** + * The number of impressions for which Ad Exchange sent the buyer a bid + * request. + */ + bidRequests?: Schema$MetricValue; + /** + * The number of impressions that match the buyer's inventory + * pretargeting. + */ + inventoryMatches?: Schema$MetricValue; + /** + * The number of impressions for which Ad Exchange received a response from + * the buyer that contained at least one applicable bid. + */ + responsesWithBids?: Schema$MetricValue; + /** + * The values of all dimensions associated with metric values in this row. + */ + rowDimensions?: Schema$RowDimensions; + /** + * The number of impressions for which the buyer successfully sent a + * response to Ad Exchange. + */ + successfulResponses?: Schema$MetricValue; + } + /** + * Represents the size of an ad unit that can be targeted on an ad request. It + * only applies to Private Auction, AdX Preferred Deals and Auction Packages. + * This targeting does not apply to Programmatic Guaranteed and Preferred + * Deals in DFP. + */ + interface Schema$InventorySizeTargeting { + /** + * A list of inventory sizes to be excluded. + */ + excludedInventorySizes?: Schema$AdSize[]; + /** + * A list of inventory sizes to be included. + */ + targetedInventorySizes?: Schema$AdSize[]; + } + /** + * Response message for listing the metrics that are measured in number of + * bids. + */ + interface Schema$ListBidMetricsResponse { + /** + * List of rows, each containing a set of bid metrics. + */ + bidMetricsRows?: Schema$BidMetricsRow[]; + /** + * A token to retrieve the next page of results. Pass this value in the + * ListBidMetricsRequest.pageToken field in the subsequent call to the + * bidMetrics.list method to retrieve the next page of results. + */ + nextPageToken?: string; + } + /** + * Response message for listing all reasons that bid responses resulted in an + * error. + */ + interface Schema$ListBidResponseErrorsResponse { + /** + * List of rows, with counts of bid responses aggregated by callout status. + */ + calloutStatusRows?: Schema$CalloutStatusRow[]; + /** + * A token to retrieve the next page of results. Pass this value in the + * ListBidResponseErrorsRequest.pageToken field in the subsequent call to + * the bidResponseErrors.list method to retrieve the next page of results. + */ + nextPageToken?: string; + } + /** + * Response message for listing all reasons that bid responses were considered + * to have no applicable bids. + */ + interface Schema$ListBidResponsesWithoutBidsResponse { + /** + * List of rows, with counts of bid responses without bids aggregated by + * status. + */ + bidResponseWithoutBidsStatusRows?: Schema$BidResponseWithoutBidsStatusRow[]; + /** + * A token to retrieve the next page of results. Pass this value in the + * ListBidResponsesWithoutBidsRequest.pageToken field in the subsequent call + * to the bidResponsesWithoutBids.list method to retrieve the next page of + * results. + */ + nextPageToken?: string; + } + interface Schema$ListClientsResponse { + /** + * The returned list of clients. + */ + clients?: Schema$Client[]; + /** + * A token to retrieve the next page of results. Pass this value in the + * ListClientsRequest.pageToken field in the subsequent call to the + * accounts.clients.list method to retrieve the next page of results. + */ + nextPageToken?: string; + } + interface Schema$ListClientUserInvitationsResponse { + /** + * The returned list of client users. + */ + invitations?: Schema$ClientUserInvitation[]; + /** + * A token to retrieve the next page of results. Pass this value in the + * ListClientUserInvitationsRequest.pageToken field in the subsequent call + * to the clients.invitations.list method to retrieve the next page of + * results. + */ + nextPageToken?: string; + } + interface Schema$ListClientUsersResponse { + /** + * A token to retrieve the next page of results. Pass this value in the + * ListClientUsersRequest.pageToken field in the subsequent call to the + * clients.invitations.list method to retrieve the next page of results. + */ + nextPageToken?: string; + /** + * The returned list of client users. + */ + users?: Schema$ClientUser[]; + } + /** + * A response for listing creatives. + */ + interface Schema$ListCreativesResponse { + /** + * The list of creatives. + */ + creatives?: Schema$Creative[]; + /** + * A token to retrieve the next page of results. Pass this value in the + * ListCreativesRequest.page_token field in the subsequent call to + * `ListCreatives` method to retrieve the next page of results. + */ + nextPageToken?: string; + } + /** + * Response message for listing all creatives associated with a given filtered + * bid reason. + */ + interface Schema$ListCreativeStatusBreakdownByCreativeResponse { + /** + * List of rows, with counts of bids with a given creative status aggregated + * by creative. + */ + filteredBidCreativeRows?: Schema$FilteredBidCreativeRow[]; + /** + * A token to retrieve the next page of results. Pass this value in the + * ListCreativeStatusBreakdownByCreativeRequest.pageToken field in the + * subsequent call to the filteredBids.creatives.list method to retrieve the + * next page of results. + */ + nextPageToken?: string; + } + /** + * Response message for listing all details associated with a given filtered + * bid reason. + */ + interface Schema$ListCreativeStatusBreakdownByDetailResponse { + /** + * The type of detail that the detail IDs represent. + */ + detailType?: string; + /** + * List of rows, with counts of bids with a given creative status aggregated + * by detail. + */ + filteredBidDetailRows?: Schema$FilteredBidDetailRow[]; + /** + * A token to retrieve the next page of results. Pass this value in the + * ListCreativeStatusBreakdownByDetailRequest.pageToken field in the + * subsequent call to the filteredBids.details.list method to retrieve the + * next page of results. + */ + nextPageToken?: string; + } + /** + * A response for listing creative and deal associations + */ + interface Schema$ListDealAssociationsResponse { + /** + * The list of associations. + */ + associations?: Schema$CreativeDealAssociation[]; + /** + * A token to retrieve the next page of results. Pass this value in the + * ListDealAssociationsRequest.page_token field in the subsequent call to + * 'ListDealAssociation' method to retrieve the next page of + * results. + */ + nextPageToken?: string; + } + /** + * Response message for listing all reasons that bid requests were filtered + * and not sent to the buyer. + */ + interface Schema$ListFilteredBidRequestsResponse { + /** + * List of rows, with counts of filtered bid requests aggregated by callout + * status. + */ + calloutStatusRows?: Schema$CalloutStatusRow[]; + /** + * A token to retrieve the next page of results. Pass this value in the + * ListFilteredBidRequestsRequest.pageToken field in the subsequent call to + * the filteredBidRequests.list method to retrieve the next page of results. + */ + nextPageToken?: string; + } + /** + * Response message for listing all reasons that bids were filtered from the + * auction. + */ + interface Schema$ListFilteredBidsResponse { + /** + * List of rows, with counts of filtered bids aggregated by filtering reason + * (i.e. creative status). + */ + creativeStatusRows?: Schema$CreativeStatusRow[]; + /** + * A token to retrieve the next page of results. Pass this value in the + * ListFilteredBidsRequest.pageToken field in the subsequent call to the + * filteredBids.list method to retrieve the next page of results. + */ + nextPageToken?: string; + } + /** + * Response message for listing filter sets. + */ + interface Schema$ListFilterSetsResponse { + /** + * The filter sets belonging to the buyer. + */ + filterSets?: Schema$FilterSet[]; + /** + * A token to retrieve the next page of results. Pass this value in the + * ListFilterSetsRequest.pageToken field in the subsequent call to the + * accounts.filterSets.list method to retrieve the next page of results. + */ + nextPageToken?: string; + } + /** + * Response message for listing the metrics that are measured in number of + * impressions. + */ + interface Schema$ListImpressionMetricsResponse { + /** + * List of rows, each containing a set of impression metrics. + */ + impressionMetricsRows?: Schema$ImpressionMetricsRow[]; + /** + * A token to retrieve the next page of results. Pass this value in the + * ListImpressionMetricsRequest.pageToken field in the subsequent call to + * the impressionMetrics.list method to retrieve the next page of results. + */ + nextPageToken?: string; + } + /** + * Response message for listing all reasons that bids lost in the auction. + */ + interface Schema$ListLosingBidsResponse { + /** + * List of rows, with counts of losing bids aggregated by loss reason (i.e. + * creative status). + */ + creativeStatusRows?: Schema$CreativeStatusRow[]; + /** + * A token to retrieve the next page of results. Pass this value in the + * ListLosingBidsRequest.pageToken field in the subsequent call to the + * losingBids.list method to retrieve the next page of results. + */ + nextPageToken?: string; + } + /** + * Response message for listing all reasons for which a buyer was not billed + * for a winning bid. + */ + interface Schema$ListNonBillableWinningBidsResponse { + /** + * A token to retrieve the next page of results. Pass this value in the + * ListNonBillableWinningBidsRequest.pageToken field in the subsequent call + * to the nonBillableWinningBids.list method to retrieve the next page of + * results. + */ + nextPageToken?: string; + /** + * List of rows, with counts of bids not billed aggregated by reason. + */ + nonBillableWinningBidStatusRows?: Schema$NonBillableWinningBidStatusRow[]; + } + /** + * Response message for listing products visible to the buyer. + */ + interface Schema$ListProductsResponse { + /** + * List pagination support. + */ + nextPageToken?: string; + /** + * The list of matching products at their head revision number. + */ + products?: Schema$Product[]; + } + /** + * Response message for listing proposals. + */ + interface Schema$ListProposalsResponse { + /** + * Continuation token for fetching the next page of results. + */ + nextPageToken?: string; + /** + * The list of proposals. + */ + proposals?: Schema$Proposal[]; + } + /** + * Response message for profiles visible to the buyer. + */ + interface Schema$ListPublisherProfilesResponse { + /** + * List pagination support + */ + nextPageToken?: string; + /** + * The list of matching publisher profiles. + */ + publisherProfiles?: Schema$PublisherProfile[]; + } + /** + * @OutputOnly The Geo criteria the restriction applies to. + */ + interface Schema$LocationContext { + /** + * IDs representing the geo location for this context. Please refer to the + * [geo-table.csv](https://storage.googleapis.com/adx-rtb-dictionaries/geo-table.csv) + * file for different geo criteria IDs. + */ + geoCriteriaIds?: number[]; + } + /** + * Targeting represents different criteria that can be used by advertisers to + * target ad inventory. For example, they can choose to target ad requests + * only if the user is in the US. Multiple types of targeting are always + * applied as a logical AND, unless noted otherwise. + */ + interface Schema$MarketplaceTargeting { + /** + * Geo criteria IDs to be included/excluded. + */ + geoTargeting?: Schema$CriteriaTargeting; + /** + * Inventory sizes to be included/excluded. + */ + inventorySizeTargeting?: Schema$InventorySizeTargeting; + /** + * Placement targeting information, e.g. URL, mobile applications. + */ + placementTargeting?: Schema$PlacementTargeting; + /** + * Technology targeting information, e.g. operating system, device category. + */ + technologyTargeting?: Schema$TechnologyTargeting; + /** + * Video targeting information. + */ + videoTargeting?: Schema$VideoTargeting; + } + /** + * A metric value, with an expected value and a variance; represents a count + * that may be either exact or estimated (i.e. when sampled). + */ + interface Schema$MetricValue { + /** + * The expected value of the metric. + */ + value?: string; + /** + * The variance (i.e. square of the standard deviation) of the metric value. + * If value is exact, variance is 0. Can be used to calculate margin of + * error as a percentage of value, using the following formula, where Z is + * the standard constant that depends on the desired size of the confidence + * interval (e.g. for 90% confidence interval, use Z = 1.645): marginOfError + * = 100 * Z * sqrt(variance) / value + */ + variance?: string; + } + /** + * Mobile application targeting settings. + */ + interface Schema$MobileApplicationTargeting { + /** + * Publisher owned apps to be targeted or excluded by the publisher to + * display the ads in. + */ + firstPartyTargeting?: Schema$FirstPartyMobileApplicationTargeting; + } + /** + * Represents an amount of money with its currency type. + */ + interface Schema$Money { + /** + * The 3-letter currency code defined in ISO 4217. + */ + currencyCode?: string; + /** + * Number of nano (10^-9) units of the amount. The value must be between + * -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` + * must be positive or zero. If `units` is zero, `nanos` can be positive, + * zero, or negative. If `units` is negative, `nanos` must be negative or + * zero. For example $-1.75 is represented as `units`=-1 and + * `nanos`=-750,000,000. + */ + nanos?: number; + /** + * The whole units of the amount. For example if `currencyCode` is + * `"USD"`, then 1 unit is one US dollar. + */ + units?: string; + } + /** + * Native content for a creative. + */ + interface Schema$NativeContent { + /** + * The name of the advertiser or sponsor, to be displayed in the ad + * creative. + */ + advertiserName?: string; + /** + * The app icon, for app download ads. + */ + appIcon?: Schema$Image; + /** + * A long description of the ad. + */ + body?: string; + /** + * A label for the button that the user is supposed to click. + */ + callToAction?: string; + /** + * The URL that the browser/SDK will load when the user clicks the ad. + */ + clickLinkUrl?: string; + /** + * The URL to use for click tracking. + */ + clickTrackingUrl?: string; + /** + * A short title for the ad. + */ + headline?: string; + /** + * A large image. + */ + image?: Schema$Image; + /** + * A smaller image, for the advertiser's logo. + */ + logo?: Schema$Image; + /** + * The price of the promoted app including currency info. + */ + priceDisplayText?: string; + /** + * The app rating in the app store. Must be in the range [0-5]. + */ + starRating?: number; + /** + * The URL to the app store to purchase/download the promoted app. + */ + storeUrl?: string; + /** + * The URL to fetch a native video ad. + */ + videoUrl?: string; + } + /** + * The number of winning bids with the specified dimension values for which + * the buyer was not billed, as described by the specified status. + */ + interface Schema$NonBillableWinningBidStatusRow { + /** + * The number of bids with the specified status. + */ + bidCount?: Schema$MetricValue; + /** + * The values of all dimensions associated with metric values in this row. + */ + rowDimensions?: Schema$RowDimensions; + /** + * The status specifying why the winning bids were not billed. + */ + status?: string; + } + /** + * Terms for Private Auctions. Note that Private Auctions can be created only + * by the seller, but they can be returned in a get or list request. + */ + interface Schema$NonGuaranteedAuctionTerms { + /** + * True if open auction buyers are allowed to compete with invited buyers in + * this private auction. + */ + autoOptimizePrivateAuction?: boolean; + /** + * Reserve price for the specified buyer. + */ + reservePricesPerBuyer?: Schema$PricePerBuyer[]; + } + /** + * Terms for Preferred Deals. Note that Preferred Deals cannot be created via + * the API at this time, but can be returned in a get or list request. + */ + interface Schema$NonGuaranteedFixedPriceTerms { + /** + * Fixed price for the specified buyer. + */ + fixedPrices?: Schema$PricePerBuyer[]; + } + /** + * A proposal may be associated to several notes. + */ + interface Schema$Note { + /** + * The timestamp for when this note was created. @OutputOnly + */ + createTime?: string; + /** + * The role of the person (buyer/seller) creating the note. @OutputOnly + */ + creatorRole?: string; + /** + * The actual note to attach. (max-length: 1024 unicode code units) Note: + * This field may be set only when creating the resource. Modifying this + * field while updating the resource will result in an error. + */ + note?: string; + /** + * The unique ID for the note. @OutputOnly + */ + noteId?: string; + /** + * The revision number of the proposal when the note is created. @OutputOnly + */ + proposalRevision?: string; + } + /** + * Represents targeting information for operating systems. + */ + interface Schema$OperatingSystemTargeting { + /** + * IDs of operating systems to be included/excluded. + */ + operatingSystemCriteria?: Schema$CriteriaTargeting; + /** + * IDs of operating system versions to be included/excluded. + */ + operatingSystemVersionCriteria?: Schema$CriteriaTargeting; + } + /** + * Request message to pause serving for an already-finalized proposal. + */ + interface Schema$PauseProposalRequest { + /** + * The reason why the proposal is being paused. This human readable message + * will be displayed in the seller's UI. (Max length: 100 unicode code + * units.) + */ + reason?: string; + } + /** + * Represents targeting about where the ads can appear, e.g. certain sites or + * mobile applications. Different placement targeting types will be logically + * OR'ed. + */ + interface Schema$PlacementTargeting { + /** + * Mobile application targeting information in a deal. This doesn't + * apply to Auction Packages. + */ + mobileApplicationTargeting?: Schema$MobileApplicationTargeting; + /** + * URLs to be included/excluded. + */ + urlTargeting?: Schema$UrlTargeting; + } + /** + * @OutputOnly The type of platform the restriction applies to. + */ + interface Schema$PlatformContext { + /** + * The platforms this restriction applies to. + */ + platforms?: string[]; + } + /** + * Represents a price and a pricing type for a product / deal. + */ + interface Schema$Price { + /** + * The actual price with currency specified. + */ + amount?: Schema$Money; + /** + * The pricing type for the deal/product. (default: CPM) + */ + pricingType?: string; + } + /** + * Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in + * a product can become 0 or 1 deals. To check if there is a PricePerBuyer for + * a particular buyer or buyer/advertiser pair, we look for the most specific + * matching rule - we first look for a rule matching the buyer and advertiser, + * next a rule with the buyer but an empty advertiser list, and otherwise look + * for a matching rule where no buyer is set. + */ + interface Schema$PricePerBuyer { + /** + * The list of advertisers for this price when associated with this buyer. + * If empty, all advertisers with this buyer pay this price. + */ + advertiserIds?: string[]; + /** + * The buyer who will pay this price. If unset, all buyers can pay this + * price (if the advertisers match, and there's no more specific rule + * matching the buyer). + */ + buyer?: Schema$Buyer; + /** + * The specified price. + */ + price?: Schema$Price; + } + /** + * Buyers are allowed to store certain types of private data in a + * proposal/deal. + */ + interface Schema$PrivateData { + /** + * A buyer or seller specified reference ID. This can be queried in the list + * operations (max-length: 1024 unicode code units). + */ + referenceId?: string; + } + /** + * Note: this resource requires whitelisting for access. Please contact your + * account manager for access to Marketplace resources. A product is a + * segment of inventory that a seller wishes to sell. It is associated with + * certain terms and targeting information which helps the buyer know more + * about the inventory. + */ + interface Schema$Product { + /** + * The proposed end time for the deal. The field will be truncated to the + * order of seconds during serving. + */ + availableEndTime?: string; + /** + * Inventory availability dates. The start time will be truncated to seconds + * during serving. Thus, a field specified as 3:23:34.456 (HH:mm:ss.SSS) + * will be truncated to 3:23:34 when serving. + */ + availableStartTime?: string; + /** + * Creation time. + */ + createTime?: string; + /** + * Optional contact information for the creator of this product. + */ + creatorContacts?: Schema$ContactInformation[]; + /** + * The display name for this product as set by the seller. + */ + displayName?: string; + /** + * If the creator has already signed off on the product, then the buyer can + * finalize the deal by accepting the product as is. When copying to a + * proposal, if any of the terms are changed, then auto_finalize is + * automatically set to false. + */ + hasCreatorSignedOff?: boolean; + /** + * The unique ID for the product. + */ + productId?: string; + /** + * The revision number of the product. (auto-assigned by marketplace) + */ + productRevision?: string; + /** + * An ID which can be used by the Publisher Profile API to get more + * information about the seller that created this product. + */ + publisherProfileId?: string; + /** + * Information about the seller that created this product. + */ + seller?: Schema$Seller; + /** + * The syndication product associated with the deal. + */ + syndicationProduct?: string; + /** + * Targeting that is shared between the buyer and the seller. Each targeting + * criterion has a specified key and for each key there is a list of + * inclusion value or exclusion values. + */ + targetingCriterion?: Schema$TargetingCriteria[]; + /** + * The negotiable terms of the deal. + */ + terms?: Schema$DealTerms; + /** + * Time of last update. + */ + updateTime?: string; + /** + * The web-property code for the seller. This needs to be copied as is when + * adding a new deal to a proposal. + */ + webPropertyCode?: string; + } + /** + * Note: this resource requires whitelisting for access. Please contact your + * account manager for access to Marketplace resources. Represents a proposal + * in the marketplace. A proposal is the unit of negotiation between a seller + * and a buyer and contains deals which are served. Note: you can not update, + * create, or otherwise modify Private Auction or Preferred Deals deals + * through the API. Fields are updatable unless noted otherwise. + */ + interface Schema$Proposal { + /** + * Reference to the buyer that will get billed for this proposal. + * @OutputOnly + */ + billedBuyer?: Schema$Buyer; + /** + * Reference to the buyer on the proposal. Note: This field may be set only + * when creating the resource. Modifying this field while updating the + * resource will result in an error. + */ + buyer?: Schema$Buyer; + /** + * Contact information for the buyer. + */ + buyerContacts?: Schema$ContactInformation[]; + /** + * Private data for buyer. (hidden from seller). + */ + buyerPrivateData?: Schema$PrivateData; + /** + * The deals associated with this proposal. For Private Auction proposals + * (whose deals have NonGuaranteedAuctionTerms), there will only be one + * deal. + */ + deals?: Schema$Deal[]; + /** + * The name for the proposal. + */ + displayName?: string; + /** + * True if the proposal is being renegotiated. @OutputOnly + */ + isRenegotiating?: boolean; + /** + * True, if the buyside inventory setup is complete for this proposal. + * @OutputOnly + */ + isSetupComplete?: boolean; + /** + * The role of the last user that either updated the proposal or left a + * comment. @OutputOnly + */ + lastUpdaterOrCommentorRole?: string; + /** + * The notes associated with this proposal. @OutputOnly + */ + notes?: Schema$Note[]; + /** + * Indicates whether the buyer/seller created the proposal. @OutputOnly + */ + originatorRole?: string; + /** + * Private auction ID if this proposal is a private auction proposal. + * @OutputOnly + */ + privateAuctionId?: string; + /** + * The unique ID of the proposal. @OutputOnly + */ + proposalId?: string; + /** + * The revision number for the proposal. Each update to the proposal or the + * deal causes the proposal revision number to auto-increment. The buyer + * keeps track of the last revision number they know of and pass it in when + * making an update. If the head revision number on the server has since + * incremented, then an ABORTED error is returned during the update + * operation to let the buyer know that a subsequent update was made. + * @OutputOnly + */ + proposalRevision?: string; + /** + * The current state of the proposal. @OutputOnly + */ + proposalState?: string; + /** + * Reference to the seller on the proposal. Note: This field may be set + * only when creating the resource. Modifying this field while updating the + * resource will result in an error. + */ + seller?: Schema$Seller; + /** + * Contact information for the seller. @OutputOnly + */ + sellerContacts?: Schema$ContactInformation[]; + /** + * The time when the proposal was last revised. @OutputOnly + */ + updateTime?: string; + } + /** + * Note: this resource requires whitelisting for access. Please contact your + * account manager for access to Marketplace resources. Represents a + * publisher profile in Marketplace. All fields are read only. All string + * fields are free-form text entered by the publisher unless noted otherwise. + */ + interface Schema$PublisherProfile { + /** + * Description on the publisher's audience. + */ + audienceDescription?: string; + /** + * Statement explaining what's unique about publisher's business, + * and why buyers should partner with the publisher. + */ + buyerPitchStatement?: string; + /** + * Contact information for direct reservation deals. This is free text + * entered by the publisher and may include information like names, phone + * numbers and email addresses. + */ + directDealsContact?: string; + /** + * Name of the publisher profile. + */ + displayName?: string; + /** + * The list of domains represented in this publisher profile. Empty if this + * is a parent profile. These are top private domains, meaning that these + * will not contain a string like "photos.google.co.uk/123", but + * will instead contain "google.co.uk". + */ + domains?: string[]; + /** + * URL to publisher's Google+ page. + */ + googlePlusUrl?: string; + /** + * A Google public URL to the logo for this publisher profile. The logo is + * stored as a PNG, JPG, or GIF image. + */ + logoUrl?: string; + /** + * URL to additional marketing and sales materials. + */ + mediaKitUrl?: string; + /** + * Overview of the publisher. + */ + overview?: string; + /** + * Contact information for programmatic deals. This is free text entered by + * the publisher and may include information like names, phone numbers and + * email addresses. + */ + programmaticDealsContact?: string; + /** + * Unique ID for publisher profile. + */ + publisherProfileId?: string; + /** + * URL to a publisher rate card. + */ + rateCardInfoUrl?: string; + /** + * URL to a sample content page. + */ + samplePageUrl?: string; + /** + * Seller of the publisher profile. + */ + seller?: Schema$Seller; + /** + * Up to three key metrics and rankings. Max 100 characters each. For + * example "#1 Mobile News Site for 20 Straight Months". + */ + topHeadlines?: string[]; + } + /** + * An open-ended realtime time range specified by the start timestamp. For + * filter sets that specify a realtime time range RTB metrics continue to be + * aggregated throughout the lifetime of the filter set. + */ + interface Schema$RealtimeTimeRange { + /** + * The start timestamp of the real-time RTB metrics aggregation. + */ + startTimestamp?: string; + } + /** + * A specific filtering status and how many times it occurred. + */ + interface Schema$Reason { + /** + * The number of times the creative was filtered for the status. The count + * is aggregated across all publishers on the exchange. + */ + count?: string; + /** + * The filtering status code. Please refer to the + * [creative-status-codes.txt](https://storage.googleapis.com/adx-rtb-dictionaries/creative-status-codes.txt) + * file for different statuses. + */ + status?: number; + } + /** + * A relative date range, specified by an offset and a duration. The supported + * range of dates begins 30 days before today and ends today. I.e. the limits + * for these values are: offset_days >= 0 duration_days >= 1 offset_days + * + duration_days <= 30 + */ + interface Schema$RelativeDateRange { + /** + * The number of days in the requested date range. E.g. for a range spanning + * today, 1. For a range spanning the last 7 days, 7. + */ + durationDays?: number; + /** + * The end date of the filter set, specified as the number of days before + * today. E.g. for a range where the last date is today, 0. + */ + offsetDays?: number; + } + /** + * A request for removing the association between a deal and a creative. + */ + interface Schema$RemoveDealAssociationRequest { + /** + * The association between a creative and a deal that should be removed. + */ + association?: Schema$CreativeDealAssociation; + } + /** + * Request message to resume (unpause) serving for an already-finalized + * proposal. + */ + interface Schema$ResumeProposalRequest { + } + /** + * A response may include multiple rows, breaking down along various + * dimensions. Encapsulates the values of all dimensions for a given row. + */ + interface Schema$RowDimensions { + /** + * The time interval that this row represents. + */ + timeInterval?: Schema$TimeInterval; + } + /** + * @OutputOnly A security context. + */ + interface Schema$SecurityContext { + /** + * The security types in this context. + */ + securities?: string[]; + } + /** + * Represents a seller of inventory. Each seller is identified by a unique Ad + * Exchange account ID. + */ + interface Schema$Seller { + /** + * The unique ID for the seller. The seller fills in this field. The seller + * account ID is then available to buyer in the product. + */ + accountId?: string; + /** + * Optional sub-account ID for the seller. + */ + subAccountId?: string; + } + /** + * The serving context for this restriction. + */ + interface Schema$ServingContext { + /** + * Matches all contexts. + */ + all?: string; + /** + * Matches impressions for a particular app type. + */ + appType?: Schema$AppContext; + /** + * Matches impressions for a particular auction type. + */ + auctionType?: Schema$AuctionContext; + /** + * Matches impressions coming from users *or* publishers in a specific + * location. + */ + location?: Schema$LocationContext; + /** + * Matches impressions coming from a particular platform. + */ + platform?: Schema$PlatformContext; + /** + * Matches impressions for a particular security type. + */ + securityType?: Schema$SecurityContext; + } + /** + * @OutputOnly A representation of the status of an ad in a specific context. + * A context here relates to where something ultimately serves (for example, a + * user or publisher geo, a platform, an HTTPS vs HTTP request, or the type of + * auction). + */ + interface Schema$ServingRestriction { + /** + * The contexts for the restriction. + */ + contexts?: Schema$ServingContext[]; + /** + * Disapproval bound to this restriction. Only present if + * status=DISAPPROVED. Can be used to filter the response of the + * creatives.list method. + */ + disapproval?: Schema$Disapproval; + /** + * Any disapprovals bound to this restriction. Only present if + * status=DISAPPROVED. Can be used to filter the response of the + * creatives.list method. Deprecated; please use disapproval field instead. + */ + disapprovalReasons?: Schema$Disapproval[]; + /** + * The status of the creative in this context (for example, it has been + * explicitly disapproved or is pending review). + */ + status?: string; + } + /** + * Message depicting the size of the creative. The units of width and height + * depend on the type of the targeting. + */ + interface Schema$Size { + /** + * The height of the creative. + */ + height?: number; + /** + * The width of the creative + */ + width?: number; + } + /** + * A request for stopping notifications for changes to creative Status. + */ + interface Schema$StopWatchingCreativeRequest { + } + /** + * Advertisers can target different attributes of an ad slot. For example, + * they can choose to show ads only if the user is in the U.S. Such targeting + * criteria can be specified as part of Shared Targeting. + */ + interface Schema$TargetingCriteria { + /** + * The list of values to exclude from targeting. Each value is AND'd + * together. + */ + exclusions?: Schema$TargetingValue[]; + /** + * The list of value to include as part of the targeting. Each value is + * OR'd together. + */ + inclusions?: Schema$TargetingValue[]; + /** + * The key representing the shared targeting criterion. Targeting criteria + * defined by Google ad servers will begin with GOOG_. Third parties may + * define their own keys. A list of permissible keys along with the + * acceptable values will be provided as part of the external documentation. + */ + key?: string; + } + /** + * A polymorphic targeting value used as part of Shared Targeting. + */ + interface Schema$TargetingValue { + /** + * The creative size value to include/exclude. Filled in when key = + * GOOG_CREATIVE_SIZE + */ + creativeSizeValue?: Schema$CreativeSize; + /** + * The daypart targeting to include / exclude. Filled in when the key is + * GOOG_DAYPART_TARGETING. The definition of this targeting is derived from + * the structure used by DFP. + */ + dayPartTargetingValue?: Schema$DayPartTargeting; + /** + * The long value to include/exclude. + */ + longValue?: string; + /** + * The string value to include/exclude. + */ + stringValue?: string; + } + /** + * Represents targeting about various types of technology. + */ + interface Schema$TechnologyTargeting { + /** + * IDs of device capabilities to be included/excluded. + */ + deviceCapabilityTargeting?: Schema$CriteriaTargeting; + /** + * IDs of device categories to be included/excluded. + */ + deviceCategoryTargeting?: Schema$CriteriaTargeting; + /** + * Operating system related targeting information. + */ + operatingSystemTargeting?: Schema$OperatingSystemTargeting; + } + /** + * An interval of time, with an absolute start and end. + */ + interface Schema$TimeInterval { + /** + * The timestamp marking the end of the range (exclusive) for which data is + * included. + */ + endTime?: string; + /** + * The timestamp marking the start of the range (inclusive) for which data + * is included. + */ + startTime?: string; + } + /** + * Represents a time of day. The date and time zone are either not significant + * or are specified elsewhere. An API may choose to allow leap seconds. + * Related types are google.type.Date and `google.protobuf.Timestamp`. + */ + interface Schema$TimeOfDay { + /** + * Hours of day in 24 hour format. Should be from 0 to 23. An API may choose + * to allow the value "24:00:00" for scenarios like business + * closing time. + */ + hours?: number; + /** + * Minutes of hour of day. Must be from 0 to 59. + */ + minutes?: number; + /** + * Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + */ + nanos?: number; + /** + * Seconds of minutes of the time. Must normally be from 0 to 59. An API may + * allow the value 60 if it allows leap-seconds. + */ + seconds?: number; + } + /** + * Represents a list of targeted and excluded URLs (e.g google.com). For + * Private Auction and AdX Preferred Deals, URLs are either included or + * excluded. For DFP Programmatic Guaranteed and Preferred Deals, this + * doesn't apply. + */ + interface Schema$UrlTargeting { + /** + * A list of URLs to be excluded. + */ + excludedUrls?: string[]; + /** + * A list of URLs to be included. + */ + targetedUrls?: string[]; + } + /** + * Video content for a creative. + */ + interface Schema$VideoContent { + /** + * The URL to fetch a video ad. + */ + videoUrl?: string; + /** + * The contents of a VAST document for a video ad. This document should + * conform to the VAST 2.0 or 3.0 standard. + */ + videoVastXml?: string; + } + /** + * Represents targeting information about video. + */ + interface Schema$VideoTargeting { + /** + * A list of video positions to be excluded. Position types can either be + * included or excluded (XOR). + */ + excludedPositionTypes?: string[]; + /** + * A list of video positions to be included. When the included list is + * present, the excluded list must be empty. When the excluded list is + * present, the included list must be empty. + */ + targetedPositionTypes?: string[]; + } + /** + * A request for watching changes to creative Status. + */ + interface Schema$WatchCreativeRequest { + /** + * The Pub/Sub topic to publish notifications to. This topic must already + * exist and must give permission to ad-exchange-buyside-reports@google.com + * to write to the topic. This should be the full resource name in + * "projects/{project_id}/topics/{topic_id}" format. + */ + topic?: string; + } + class Resource$Accounts { + root: Adexchangebuyer2; + clients: Resource$Accounts$Clients; + creatives: Resource$Accounts$Creatives; + finalizedProposals: Resource$Accounts$Finalizedproposals; + products: Resource$Accounts$Products; + proposals: Resource$Accounts$Proposals; + publisherProfiles: Resource$Accounts$Publisherprofiles; + constructor(root: Adexchangebuyer2); + getRoot(): Adexchangebuyer2; + } + class Resource$Accounts$Clients { + root: Adexchangebuyer2; + invitations: Resource$Accounts$Clients$Invitations; + users: Resource$Accounts$Clients$Users; + constructor(root: Adexchangebuyer2); + getRoot(): Adexchangebuyer2; + /** + * adexchangebuyer2.accounts.clients.create + * @desc Creates a new client buyer. + * @alias adexchangebuyer2.accounts.clients.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Unique numerical account ID for the buyer of which the client buyer is a customer; the sponsor buyer to create a client for. (required) + * @param {().Client} 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 + */ + create(params?: Params$Resource$Accounts$Clients$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Accounts$Clients$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Accounts$Clients$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * adexchangebuyer2.accounts.clients.get + * @desc Gets a client buyer with a given client account ID. + * @alias adexchangebuyer2.accounts.clients.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Numerical account ID of the client's sponsor buyer. (required) + * @param {string} params.clientAccountId Numerical account ID of the client buyer to retrieve. (required) + * @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?: Params$Resource$Accounts$Clients$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accounts$Clients$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accounts$Clients$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * adexchangebuyer2.accounts.clients.list + * @desc Lists all the clients for the current sponsor buyer. + * @alias adexchangebuyer2.accounts.clients.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Unique numerical account ID of the sponsor buyer to list the clients for. + * @param {integer=} params.pageSize Requested page size. The server may return fewer clients than requested. If unspecified, the server will pick an appropriate default. + * @param {string=} params.pageToken A token identifying a page of results the server should return. Typically, this is the value of ListClientsResponse.nextPageToken returned from the previous call to the accounts.clients.list method. + * @param {string=} params.partnerClientId Optional unique identifier (from the standpoint of an Ad Exchange sponsor buyer partner) of the client to return. If specified, at most one client will be returned in the response. + * @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?: Params$Resource$Accounts$Clients$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accounts$Clients$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accounts$Clients$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * adexchangebuyer2.accounts.clients.update + * @desc Updates an existing client buyer. + * @alias adexchangebuyer2.accounts.clients.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Unique numerical account ID for the buyer of which the client buyer is a customer; the sponsor buyer to update a client for. (required) + * @param {string} params.clientAccountId Unique numerical account ID of the client to update. (required) + * @param {().Client} 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?: Params$Resource$Accounts$Clients$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Accounts$Clients$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Accounts$Clients$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Clients$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique numerical account ID for the buyer of which the client buyer is a + * customer; the sponsor buyer to create a client for. (required) + */ + accountId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Client; + } + interface Params$Resource$Accounts$Clients$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Numerical account ID of the client's sponsor buyer. (required) + */ + accountId?: string; + /** + * Numerical account ID of the client buyer to retrieve. (required) + */ + clientAccountId?: string; + } + interface Params$Resource$Accounts$Clients$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique numerical account ID of the sponsor buyer to list the clients for. + */ + accountId?: string; + /** + * Requested page size. The server may return fewer clients than requested. + * If unspecified, the server will pick an appropriate default. + */ + pageSize?: number; + /** + * A token identifying a page of results the server should return. + * Typically, this is the value of ListClientsResponse.nextPageToken + * returned from the previous call to the accounts.clients.list method. + */ + pageToken?: string; + /** + * Optional unique identifier (from the standpoint of an Ad Exchange sponsor + * buyer partner) of the client to return. If specified, at most one client + * will be returned in the response. + */ + partnerClientId?: string; + } + interface Params$Resource$Accounts$Clients$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique numerical account ID for the buyer of which the client buyer is a + * customer; the sponsor buyer to update a client for. (required) + */ + accountId?: string; + /** + * Unique numerical account ID of the client to update. (required) + */ + clientAccountId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Client; + } + class Resource$Accounts$Clients$Invitations { + root: Adexchangebuyer2; + constructor(root: Adexchangebuyer2); + getRoot(): Adexchangebuyer2; + /** + * adexchangebuyer2.accounts.clients.invitations.create + * @desc Creates and sends out an email invitation to access an Ad Exchange + * client buyer account. + * @alias adexchangebuyer2.accounts.clients.invitations.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Numerical account ID of the client's sponsor buyer. (required) + * @param {string} params.clientAccountId Numerical account ID of the client buyer that the user should be associated with. (required) + * @param {().ClientUserInvitation} 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 + */ + create(params?: Params$Resource$Accounts$Clients$Invitations$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Accounts$Clients$Invitations$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Accounts$Clients$Invitations$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * adexchangebuyer2.accounts.clients.invitations.get + * @desc Retrieves an existing client user invitation. + * @alias adexchangebuyer2.accounts.clients.invitations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Numerical account ID of the client's sponsor buyer. (required) + * @param {string} params.clientAccountId Numerical account ID of the client buyer that the user invitation to be retrieved is associated with. (required) + * @param {string} params.invitationId Numerical identifier of the user invitation to retrieve. (required) + * @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?: Params$Resource$Accounts$Clients$Invitations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accounts$Clients$Invitations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accounts$Clients$Invitations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * adexchangebuyer2.accounts.clients.invitations.list + * @desc Lists all the client users invitations for a client with a given + * account ID. + * @alias adexchangebuyer2.accounts.clients.invitations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Numerical account ID of the client's sponsor buyer. (required) + * @param {string} params.clientAccountId Numerical account ID of the client buyer to list invitations for. (required) You must either specify a string representation of a numerical account identifier or the `-` character to list all the invitations for all the clients of a given sponsor buyer. + * @param {integer=} params.pageSize Requested page size. Server may return fewer clients than requested. If unspecified, server will pick an appropriate default. + * @param {string=} params.pageToken A token identifying a page of results the server should return. Typically, this is the value of ListClientUserInvitationsResponse.nextPageToken returned from the previous call to the clients.invitations.list method. + * @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?: Params$Resource$Accounts$Clients$Invitations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accounts$Clients$Invitations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accounts$Clients$Invitations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Clients$Invitations$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Numerical account ID of the client's sponsor buyer. (required) + */ + accountId?: string; + /** + * Numerical account ID of the client buyer that the user should be + * associated with. (required) + */ + clientAccountId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ClientUserInvitation; + } + interface Params$Resource$Accounts$Clients$Invitations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Numerical account ID of the client's sponsor buyer. (required) + */ + accountId?: string; + /** + * Numerical account ID of the client buyer that the user invitation to be + * retrieved is associated with. (required) + */ + clientAccountId?: string; + /** + * Numerical identifier of the user invitation to retrieve. (required) + */ + invitationId?: string; + } + interface Params$Resource$Accounts$Clients$Invitations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Numerical account ID of the client's sponsor buyer. (required) + */ + accountId?: string; + /** + * Numerical account ID of the client buyer to list invitations for. + * (required) You must either specify a string representation of a numerical + * account identifier or the `-` character to list all the invitations for + * all the clients of a given sponsor buyer. + */ + clientAccountId?: string; + /** + * Requested page size. Server may return fewer clients than requested. If + * unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * A token identifying a page of results the server should return. + * Typically, this is the value of + * ListClientUserInvitationsResponse.nextPageToken returned from the + * previous call to the clients.invitations.list method. + */ + pageToken?: string; + } + class Resource$Accounts$Clients$Users { + root: Adexchangebuyer2; + constructor(root: Adexchangebuyer2); + getRoot(): Adexchangebuyer2; + /** + * adexchangebuyer2.accounts.clients.users.get + * @desc Retrieves an existing client user. + * @alias adexchangebuyer2.accounts.clients.users.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Numerical account ID of the client's sponsor buyer. (required) + * @param {string} params.clientAccountId Numerical account ID of the client buyer that the user to be retrieved is associated with. (required) + * @param {string} params.userId Numerical identifier of the user to retrieve. (required) + * @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?: Params$Resource$Accounts$Clients$Users$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accounts$Clients$Users$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accounts$Clients$Users$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * adexchangebuyer2.accounts.clients.users.list + * @desc Lists all the known client users for a specified sponsor buyer + * account ID. + * @alias adexchangebuyer2.accounts.clients.users.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Numerical account ID of the sponsor buyer of the client to list users for. (required) + * @param {string} params.clientAccountId The account ID of the client buyer to list users for. (required) You must specify either a string representation of a numerical account identifier or the `-` character to list all the client users for all the clients of a given sponsor buyer. + * @param {integer=} params.pageSize Requested page size. The server may return fewer clients than requested. If unspecified, the server will pick an appropriate default. + * @param {string=} params.pageToken A token identifying a page of results the server should return. Typically, this is the value of ListClientUsersResponse.nextPageToken returned from the previous call to the accounts.clients.users.list method. + * @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?: Params$Resource$Accounts$Clients$Users$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accounts$Clients$Users$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accounts$Clients$Users$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * adexchangebuyer2.accounts.clients.users.update + * @desc Updates an existing client user. Only the user status can be + * changed on update. + * @alias adexchangebuyer2.accounts.clients.users.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Numerical account ID of the client's sponsor buyer. (required) + * @param {string} params.clientAccountId Numerical account ID of the client buyer that the user to be retrieved is associated with. (required) + * @param {string} params.userId Numerical identifier of the user to retrieve. (required) + * @param {().ClientUser} 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?: Params$Resource$Accounts$Clients$Users$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Accounts$Clients$Users$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Accounts$Clients$Users$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Clients$Users$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Numerical account ID of the client's sponsor buyer. (required) + */ + accountId?: string; + /** + * Numerical account ID of the client buyer that the user to be retrieved is + * associated with. (required) + */ + clientAccountId?: string; + /** + * Numerical identifier of the user to retrieve. (required) + */ + userId?: string; + } + interface Params$Resource$Accounts$Clients$Users$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Numerical account ID of the sponsor buyer of the client to list users + * for. (required) + */ + accountId?: string; + /** + * The account ID of the client buyer to list users for. (required) You must + * specify either a string representation of a numerical account identifier + * or the `-` character to list all the client users for all the clients of + * a given sponsor buyer. + */ + clientAccountId?: string; + /** + * Requested page size. The server may return fewer clients than requested. + * If unspecified, the server will pick an appropriate default. + */ + pageSize?: number; + /** + * A token identifying a page of results the server should return. + * Typically, this is the value of ListClientUsersResponse.nextPageToken + * returned from the previous call to the accounts.clients.users.list + * method. + */ + pageToken?: string; + } + interface Params$Resource$Accounts$Clients$Users$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Numerical account ID of the client's sponsor buyer. (required) + */ + accountId?: string; + /** + * Numerical account ID of the client buyer that the user to be retrieved is + * associated with. (required) + */ + clientAccountId?: string; + /** + * Numerical identifier of the user to retrieve. (required) + */ + userId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ClientUser; + } + class Resource$Accounts$Creatives { + root: Adexchangebuyer2; + dealAssociations: Resource$Accounts$Creatives$Dealassociations; + constructor(root: Adexchangebuyer2); + getRoot(): Adexchangebuyer2; + /** + * adexchangebuyer2.accounts.creatives.create + * @desc Creates a creative. + * @alias adexchangebuyer2.accounts.creatives.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The account that this creative belongs to. Can be used to filter the response of the creatives.list method. + * @param {string=} params.duplicateIdMode Indicates if multiple creatives can share an ID or not. Default is NO_DUPLICATES (one ID per creative). + * @param {().Creative} 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 + */ + create(params?: Params$Resource$Accounts$Creatives$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Accounts$Creatives$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Accounts$Creatives$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * adexchangebuyer2.accounts.creatives.get + * @desc Gets a creative. + * @alias adexchangebuyer2.accounts.creatives.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The account the creative belongs to. + * @param {string} params.creativeId The ID of the creative to retrieve. + * @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?: Params$Resource$Accounts$Creatives$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accounts$Creatives$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accounts$Creatives$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * adexchangebuyer2.accounts.creatives.list + * @desc Lists creatives. + * @alias adexchangebuyer2.accounts.creatives.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The account to list the creatives from. Specify "-" to list all creatives the current user has access to. + * @param {integer=} params.pageSize Requested page size. The server may return fewer creatives than requested (due to timeout constraint) even if more are available via another call. If unspecified, server will pick an appropriate default. Acceptable values are 1 to 1000, inclusive. + * @param {string=} params.pageToken A token identifying a page of results the server should return. Typically, this is the value of ListCreativesResponse.next_page_token returned from the previous call to 'ListCreatives' method. + * @param {string=} params.query An optional query string to filter creatives. If no filter is specified, all active creatives will be returned.

Supported queries are:

  • accountId=account_id_string
  • creativeId=creative_id_string
  • dealsStatus: {approved, conditionally_approved, disapproved, not_checked}
  • openAuctionStatus: {approved, conditionally_approved, disapproved, not_checked}
  • attribute: {a numeric attribute from the list of attributes}
  • disapprovalReason: {a reason from DisapprovalReason}
Example: 'accountId=12345 AND (dealsStatus:disapproved AND disapprovalReason:unacceptable_content) OR attribute:47' + * @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?: Params$Resource$Accounts$Creatives$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accounts$Creatives$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accounts$Creatives$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * adexchangebuyer2.accounts.creatives.stopWatching + * @desc Stops watching a creative. Will stop push notifications being sent + * to the topics when the creative changes status. + * @alias adexchangebuyer2.accounts.creatives.stopWatching + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The account of the creative to stop notifications for. + * @param {string} params.creativeId The creative ID of the creative to stop notifications for. Specify "-" to specify stopping account level notifications. + * @param {().StopWatchingCreativeRequest} 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 + */ + stopWatching(params?: Params$Resource$Accounts$Creatives$Stopwatching, options?: MethodOptions): AxiosPromise; + stopWatching(params: Params$Resource$Accounts$Creatives$Stopwatching, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + stopWatching(params: Params$Resource$Accounts$Creatives$Stopwatching, callback: BodyResponseCallback): void; + stopWatching(callback: BodyResponseCallback): void; + /** + * adexchangebuyer2.accounts.creatives.update + * @desc Updates a creative. + * @alias adexchangebuyer2.accounts.creatives.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The account that this creative belongs to. Can be used to filter the response of the creatives.list method. + * @param {string} params.creativeId The buyer-defined creative ID of this creative. Can be used to filter the response of the creatives.list method. + * @param {().Creative} 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?: Params$Resource$Accounts$Creatives$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Accounts$Creatives$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Accounts$Creatives$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + /** + * adexchangebuyer2.accounts.creatives.watch + * @desc Watches a creative. Will result in push notifications being sent to + * the topic when the creative changes status. + * @alias adexchangebuyer2.accounts.creatives.watch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The account of the creative to watch. + * @param {string} params.creativeId The creative ID to watch for status changes. Specify "-" to watch all creatives under the above account. If both creative-level and account-level notifications are sent, only a single notification will be sent to the creative-level notification topic. + * @param {().WatchCreativeRequest} 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 + */ + watch(params?: Params$Resource$Accounts$Creatives$Watch, options?: MethodOptions): AxiosPromise; + watch(params: Params$Resource$Accounts$Creatives$Watch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + watch(params: Params$Resource$Accounts$Creatives$Watch, callback: BodyResponseCallback): void; + watch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Creatives$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The account that this creative belongs to. Can be used to filter the + * response of the creatives.list method. + */ + accountId?: string; + /** + * Indicates if multiple creatives can share an ID or not. Default is + * NO_DUPLICATES (one ID per creative). + */ + duplicateIdMode?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Creative; + } + interface Params$Resource$Accounts$Creatives$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The account the creative belongs to. + */ + accountId?: string; + /** + * The ID of the creative to retrieve. + */ + creativeId?: string; + } + interface Params$Resource$Accounts$Creatives$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The account to list the creatives from. Specify "-" to list all creatives + * the current user has access to. + */ + accountId?: string; + /** + * Requested page size. The server may return fewer creatives than requested + * (due to timeout constraint) even if more are available via another call. + * If unspecified, server will pick an appropriate default. Acceptable + * values are 1 to 1000, inclusive. + */ + pageSize?: number; + /** + * A token identifying a page of results the server should return. + * Typically, this is the value of ListCreativesResponse.next_page_token + * returned from the previous call to 'ListCreatives' method. + */ + pageToken?: string; + /** + * An optional query string to filter creatives. If no filter is specified, + * all active creatives will be returned.

Supported queries are:

    + *
  • accountId=account_id_string + *
  • creativeId=creative_id_string
  • dealsStatus: {approved, + * conditionally_approved, disapproved, not_checked} + *
  • openAuctionStatus: {approved, conditionally_approved, disapproved, + * not_checked}
  • attribute: {a numeric attribute from the list of + * attributes}
  • disapprovalReason: {a reason from DisapprovalReason} + *
Example: 'accountId=12345 AND (dealsStatus:disapproved AND + * disapprovalReason:unacceptable_content) OR attribute:47' + */ + query?: string; + } + interface Params$Resource$Accounts$Creatives$Stopwatching { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The account of the creative to stop notifications for. + */ + accountId?: string; + /** + * The creative ID of the creative to stop notifications for. Specify "-" to + * specify stopping account level notifications. + */ + creativeId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$StopWatchingCreativeRequest; + } + interface Params$Resource$Accounts$Creatives$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The account that this creative belongs to. Can be used to filter the + * response of the creatives.list method. + */ + accountId?: string; + /** + * The buyer-defined creative ID of this creative. Can be used to filter the + * response of the creatives.list method. + */ + creativeId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Creative; + } + interface Params$Resource$Accounts$Creatives$Watch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The account of the creative to watch. + */ + accountId?: string; + /** + * The creative ID to watch for status changes. Specify "-" to watch all + * creatives under the above account. If both creative-level and + * account-level notifications are sent, only a single notification will be + * sent to the creative-level notification topic. + */ + creativeId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$WatchCreativeRequest; + } + class Resource$Accounts$Creatives$Dealassociations { + root: Adexchangebuyer2; + constructor(root: Adexchangebuyer2); + getRoot(): Adexchangebuyer2; + /** + * adexchangebuyer2.accounts.creatives.dealAssociations.add + * @desc Associate an existing deal with a creative. + * @alias adexchangebuyer2.accounts.creatives.dealAssociations.add + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The account the creative belongs to. + * @param {string} params.creativeId The ID of the creative associated with the deal. + * @param {().AddDealAssociationRequest} 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 + */ + add(params?: Params$Resource$Accounts$Creatives$Dealassociations$Add, options?: MethodOptions): AxiosPromise; + add(params: Params$Resource$Accounts$Creatives$Dealassociations$Add, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + add(params: Params$Resource$Accounts$Creatives$Dealassociations$Add, callback: BodyResponseCallback): void; + add(callback: BodyResponseCallback): void; + /** + * adexchangebuyer2.accounts.creatives.dealAssociations.list + * @desc List all creative-deal associations. + * @alias adexchangebuyer2.accounts.creatives.dealAssociations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The account to list the associations from. Specify "-" to list all creatives the current user has access to. + * @param {string} params.creativeId The creative ID to list the associations from. Specify "-" to list all creatives under the above account. + * @param {integer=} params.pageSize Requested page size. Server may return fewer associations than requested. If unspecified, server will pick an appropriate default. + * @param {string=} params.pageToken A token identifying a page of results the server should return. Typically, this is the value of ListDealAssociationsResponse.next_page_token returned from the previous call to 'ListDealAssociations' method. + * @param {string=} params.query An optional query string to filter deal associations. If no filter is specified, all associations will be returned. Supported queries are:
  • accountId=account_id_string
  • creativeId=creative_id_string
  • dealsId=deals_id_string
  • dealsStatus:{approved, conditionally_approved, disapproved, not_checked}
  • openAuctionStatus:{approved, conditionally_approved, disapproved, not_checked}
Example: 'dealsId=12345 AND dealsStatus:disapproved' + * @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?: Params$Resource$Accounts$Creatives$Dealassociations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accounts$Creatives$Dealassociations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accounts$Creatives$Dealassociations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * adexchangebuyer2.accounts.creatives.dealAssociations.remove + * @desc Remove the association between a deal and a creative. + * @alias adexchangebuyer2.accounts.creatives.dealAssociations.remove + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The account the creative belongs to. + * @param {string} params.creativeId The ID of the creative associated with the deal. + * @param {().RemoveDealAssociationRequest} 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 + */ + remove(params?: Params$Resource$Accounts$Creatives$Dealassociations$Remove, options?: MethodOptions): AxiosPromise; + remove(params: Params$Resource$Accounts$Creatives$Dealassociations$Remove, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + remove(params: Params$Resource$Accounts$Creatives$Dealassociations$Remove, callback: BodyResponseCallback): void; + remove(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Creatives$Dealassociations$Add { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The account the creative belongs to. + */ + accountId?: string; + /** + * The ID of the creative associated with the deal. + */ + creativeId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AddDealAssociationRequest; + } + interface Params$Resource$Accounts$Creatives$Dealassociations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The account to list the associations from. Specify "-" to list all + * creatives the current user has access to. + */ + accountId?: string; + /** + * The creative ID to list the associations from. Specify "-" to list all + * creatives under the above account. + */ + creativeId?: string; + /** + * Requested page size. Server may return fewer associations than requested. + * If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * A token identifying a page of results the server should return. + * Typically, this is the value of + * ListDealAssociationsResponse.next_page_token returned from the previous + * call to 'ListDealAssociations' method. + */ + pageToken?: string; + /** + * An optional query string to filter deal associations. If no filter is + * specified, all associations will be returned. Supported queries are:
    + *
  • accountId=account_id_string + *
  • creativeId=creative_id_string + *
  • dealsId=deals_id_string
  • dealsStatus:{approved, + * conditionally_approved, disapproved, not_checked} + *
  • openAuctionStatus:{approved, conditionally_approved, disapproved, + * not_checked}
Example: 'dealsId=12345 AND dealsStatus:disapproved' + */ + query?: string; + } + interface Params$Resource$Accounts$Creatives$Dealassociations$Remove { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The account the creative belongs to. + */ + accountId?: string; + /** + * The ID of the creative associated with the deal. + */ + creativeId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RemoveDealAssociationRequest; + } + class Resource$Accounts$Finalizedproposals { + root: Adexchangebuyer2; + constructor(root: Adexchangebuyer2); + getRoot(): Adexchangebuyer2; + /** + * adexchangebuyer2.accounts.finalizedProposals.list + * @desc List finalized proposals, regardless if a proposal is being + * renegotiated. A filter expression (PQL query) may be specified to filter + * the results. The notes will not be returned. + * @alias adexchangebuyer2.accounts.finalizedProposals.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID of the buyer. + * @param {string=} params.filter An optional PQL filter query used to query for proposals. Nested repeated fields, such as proposal.deals.targetingCriterion, cannot be filtered. + * @param {string=} params.filterSyntax Syntax the filter is written in. Current implementation defaults to PQL but in the future it will be LIST_FILTER. + * @param {integer=} params.pageSize Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default. + * @param {string=} params.pageToken The page token as returned from ListProposalsResponse. + * @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?: Params$Resource$Accounts$Finalizedproposals$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accounts$Finalizedproposals$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accounts$Finalizedproposals$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Finalizedproposals$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID of the buyer. + */ + accountId?: string; + /** + * An optional PQL filter query used to query for proposals. Nested + * repeated fields, such as proposal.deals.targetingCriterion, cannot be + * filtered. + */ + filter?: string; + /** + * Syntax the filter is written in. Current implementation defaults to PQL + * but in the future it will be LIST_FILTER. + */ + filterSyntax?: string; + /** + * Requested page size. The server may return fewer results than requested. + * If unspecified, the server will pick an appropriate default. + */ + pageSize?: number; + /** + * The page token as returned from ListProposalsResponse. + */ + pageToken?: string; + } + class Resource$Accounts$Products { + root: Adexchangebuyer2; + constructor(root: Adexchangebuyer2); + getRoot(): Adexchangebuyer2; + /** + * adexchangebuyer2.accounts.products.get + * @desc Gets the requested product by ID. + * @alias adexchangebuyer2.accounts.products.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID of the buyer. + * @param {string} params.productId The ID for the product to get the head revision for. + * @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?: Params$Resource$Accounts$Products$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accounts$Products$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accounts$Products$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * adexchangebuyer2.accounts.products.list + * @desc List all products visible to the buyer (optionally filtered by the + * specified PQL query). + * @alias adexchangebuyer2.accounts.products.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID of the buyer. + * @param {string=} params.filter An optional PQL query used to query for products. See https://developers.google.com/doubleclick-publishers/docs/pqlreference for documentation about PQL and examples. Nested repeated fields, such as product.targetingCriterion.inclusions, cannot be filtered. + * @param {integer=} params.pageSize Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default. + * @param {string=} params.pageToken The page token as returned from ListProductsResponse. + * @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?: Params$Resource$Accounts$Products$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accounts$Products$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accounts$Products$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Products$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID of the buyer. + */ + accountId?: string; + /** + * The ID for the product to get the head revision for. + */ + productId?: string; + } + interface Params$Resource$Accounts$Products$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID of the buyer. + */ + accountId?: string; + /** + * An optional PQL query used to query for products. See + * https://developers.google.com/doubleclick-publishers/docs/pqlreference + * for documentation about PQL and examples. Nested repeated fields, such + * as product.targetingCriterion.inclusions, cannot be filtered. + */ + filter?: string; + /** + * Requested page size. The server may return fewer results than requested. + * If unspecified, the server will pick an appropriate default. + */ + pageSize?: number; + /** + * The page token as returned from ListProductsResponse. + */ + pageToken?: string; + } + class Resource$Accounts$Proposals { + root: Adexchangebuyer2; + constructor(root: Adexchangebuyer2); + getRoot(): Adexchangebuyer2; + /** + * adexchangebuyer2.accounts.proposals.accept + * @desc Mark the proposal as accepted at the given revision number. If the + * number does not match the server's revision number an `ABORTED` error + * message will be returned. This call updates the proposal_state from + * `PROPOSED` to `BUYER_ACCEPTED`, or from `SELLER_ACCEPTED` to `FINALIZED`. + * @alias adexchangebuyer2.accounts.proposals.accept + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID of the buyer. + * @param {string} params.proposalId The ID of the proposal to accept. + * @param {().AcceptProposalRequest} 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 + */ + accept(params?: Params$Resource$Accounts$Proposals$Accept, options?: MethodOptions): AxiosPromise; + accept(params: Params$Resource$Accounts$Proposals$Accept, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + accept(params: Params$Resource$Accounts$Proposals$Accept, callback: BodyResponseCallback): void; + accept(callback: BodyResponseCallback): void; + /** + * adexchangebuyer2.accounts.proposals.addNote + * @desc Create a new note and attach it to the proposal. The note is + * assigned a unique ID by the server. The proposal revision number will not + * increase when associated with a new note. + * @alias adexchangebuyer2.accounts.proposals.addNote + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID of the buyer. + * @param {string} params.proposalId The ID of the proposal to attach the note to. + * @param {().AddNoteRequest} 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 + */ + addNote(params?: Params$Resource$Accounts$Proposals$Addnote, options?: MethodOptions): AxiosPromise; + addNote(params: Params$Resource$Accounts$Proposals$Addnote, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + addNote(params: Params$Resource$Accounts$Proposals$Addnote, callback: BodyResponseCallback): void; + addNote(callback: BodyResponseCallback): void; + /** + * adexchangebuyer2.accounts.proposals.cancelNegotiation + * @desc Cancel an ongoing negotiation on a proposal. This does not cancel + * or end serving for the deals if the proposal has been finalized, but only + * cancels a negotiation unilaterally. + * @alias adexchangebuyer2.accounts.proposals.cancelNegotiation + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID of the buyer. + * @param {string} params.proposalId The ID of the proposal to cancel negotiation for. + * @param {().CancelNegotiationRequest} 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 + */ + cancelNegotiation(params?: Params$Resource$Accounts$Proposals$Cancelnegotiation, options?: MethodOptions): AxiosPromise; + cancelNegotiation(params: Params$Resource$Accounts$Proposals$Cancelnegotiation, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + cancelNegotiation(params: Params$Resource$Accounts$Proposals$Cancelnegotiation, callback: BodyResponseCallback): void; + cancelNegotiation(callback: BodyResponseCallback): void; + /** + * adexchangebuyer2.accounts.proposals.completeSetup + * @desc Update the given proposal to indicate that setup has been + * completed. This method is called by the buyer when the line items have + * been created on their end for a finalized proposal and all the required + * creatives have been uploaded using the creatives API. This call updates + * the `is_setup_completed` bit on the proposal and also notifies the + * seller. The server will advance the revision number of the most recent + * proposal. + * @alias adexchangebuyer2.accounts.proposals.completeSetup + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID of the buyer. + * @param {string} params.proposalId The ID of the proposal to mark as setup completed. + * @param {().CompleteSetupRequest} 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 + */ + completeSetup(params?: Params$Resource$Accounts$Proposals$Completesetup, options?: MethodOptions): AxiosPromise; + completeSetup(params: Params$Resource$Accounts$Proposals$Completesetup, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + completeSetup(params: Params$Resource$Accounts$Proposals$Completesetup, callback: BodyResponseCallback): void; + completeSetup(callback: BodyResponseCallback): void; + /** + * adexchangebuyer2.accounts.proposals.create + * @desc Create the given proposal. Each created proposal and any deals it + * contains are assigned a unique ID by the server. + * @alias adexchangebuyer2.accounts.proposals.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID of the buyer. + * @param {().Proposal} 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 + */ + create(params?: Params$Resource$Accounts$Proposals$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Accounts$Proposals$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Accounts$Proposals$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * adexchangebuyer2.accounts.proposals.get + * @desc Gets a proposal given its ID. The proposal is returned at its head + * revision. + * @alias adexchangebuyer2.accounts.proposals.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID of the buyer. + * @param {string} params.proposalId The unique ID of the proposal + * @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?: Params$Resource$Accounts$Proposals$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accounts$Proposals$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accounts$Proposals$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * adexchangebuyer2.accounts.proposals.list + * @desc List proposals. A filter expression (PQL query) may be specified to + * filter the results. To retrieve all finalized proposals, regardless if a + * proposal is being renegotiated, see the FinalizedProposals resource. Note + * that Bidder/ChildSeat relationships differ from the usual behavior. A + * Bidder account can only see its child seats' proposals by specifying the + * ChildSeat's accountId in the request path. + * @alias adexchangebuyer2.accounts.proposals.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID of the buyer. + * @param {string=} params.filter An optional PQL filter query used to query for proposals. Nested repeated fields, such as proposal.deals.targetingCriterion, cannot be filtered. + * @param {string=} params.filterSyntax Syntax the filter is written in. Current implementation defaults to PQL but in the future it will be LIST_FILTER. + * @param {integer=} params.pageSize Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default. + * @param {string=} params.pageToken The page token as returned from ListProposalsResponse. + * @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?: Params$Resource$Accounts$Proposals$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accounts$Proposals$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accounts$Proposals$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * adexchangebuyer2.accounts.proposals.pause + * @desc Update the given proposal to pause serving. This method will set + * the `DealServingMetadata.DealPauseStatus.has_buyer_paused` bit to true + * for all deals in the proposal. It is a no-op to pause an already-paused + * proposal. It is an error to call PauseProposal for a proposal that is not + * finalized or renegotiating. + * @alias adexchangebuyer2.accounts.proposals.pause + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID of the buyer. + * @param {string} params.proposalId The ID of the proposal to pause. + * @param {().PauseProposalRequest} 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 + */ + pause(params?: Params$Resource$Accounts$Proposals$Pause, options?: MethodOptions): AxiosPromise; + pause(params: Params$Resource$Accounts$Proposals$Pause, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + pause(params: Params$Resource$Accounts$Proposals$Pause, callback: BodyResponseCallback): void; + pause(callback: BodyResponseCallback): void; + /** + * adexchangebuyer2.accounts.proposals.resume + * @desc Update the given proposal to resume serving. This method will set + * the `DealServingMetadata.DealPauseStatus.has_buyer_paused` bit to false + * for all deals in the proposal. Note that if the `has_seller_paused` bit + * is also set, serving will not resume until the seller also resumes. It + * is a no-op to resume an already-running proposal. It is an error to call + * ResumeProposal for a proposal that is not finalized or renegotiating. + * @alias adexchangebuyer2.accounts.proposals.resume + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID of the buyer. + * @param {string} params.proposalId The ID of the proposal to resume. + * @param {().ResumeProposalRequest} 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 + */ + resume(params?: Params$Resource$Accounts$Proposals$Resume, options?: MethodOptions): AxiosPromise; + resume(params: Params$Resource$Accounts$Proposals$Resume, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + resume(params: Params$Resource$Accounts$Proposals$Resume, callback: BodyResponseCallback): void; + resume(callback: BodyResponseCallback): void; + /** + * adexchangebuyer2.accounts.proposals.update + * @desc Update the given proposal at the client known revision number. If + * the server revision has advanced since the passed-in + * `proposal.proposal_revision`, an `ABORTED` error message will be + * returned. Only the buyer-modifiable fields of the proposal will be + * updated. Note that the deals in the proposal will be updated to match + * the passed-in copy. If a passed-in deal does not have a `deal_id`, the + * server will assign a new unique ID and create the deal. If passed-in deal + * has a `deal_id`, it will be updated to match the passed-in copy. Any + * existing deals not present in the passed-in proposal will be deleted. It + * is an error to pass in a deal with a `deal_id` not present at head. + * @alias adexchangebuyer2.accounts.proposals.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID of the buyer. + * @param {string} params.proposalId The unique ID of the proposal. + * @param {().Proposal} 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?: Params$Resource$Accounts$Proposals$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Accounts$Proposals$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Accounts$Proposals$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Proposals$Accept { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID of the buyer. + */ + accountId?: string; + /** + * The ID of the proposal to accept. + */ + proposalId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AcceptProposalRequest; + } + interface Params$Resource$Accounts$Proposals$Addnote { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID of the buyer. + */ + accountId?: string; + /** + * The ID of the proposal to attach the note to. + */ + proposalId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AddNoteRequest; + } + interface Params$Resource$Accounts$Proposals$Cancelnegotiation { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID of the buyer. + */ + accountId?: string; + /** + * The ID of the proposal to cancel negotiation for. + */ + proposalId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CancelNegotiationRequest; + } + interface Params$Resource$Accounts$Proposals$Completesetup { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID of the buyer. + */ + accountId?: string; + /** + * The ID of the proposal to mark as setup completed. + */ + proposalId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CompleteSetupRequest; + } + interface Params$Resource$Accounts$Proposals$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID of the buyer. + */ + accountId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Proposal; + } + interface Params$Resource$Accounts$Proposals$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID of the buyer. + */ + accountId?: string; + /** + * The unique ID of the proposal + */ + proposalId?: string; + } + interface Params$Resource$Accounts$Proposals$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID of the buyer. + */ + accountId?: string; + /** + * An optional PQL filter query used to query for proposals. Nested + * repeated fields, such as proposal.deals.targetingCriterion, cannot be + * filtered. + */ + filter?: string; + /** + * Syntax the filter is written in. Current implementation defaults to PQL + * but in the future it will be LIST_FILTER. + */ + filterSyntax?: string; + /** + * Requested page size. The server may return fewer results than requested. + * If unspecified, the server will pick an appropriate default. + */ + pageSize?: number; + /** + * The page token as returned from ListProposalsResponse. + */ + pageToken?: string; + } + interface Params$Resource$Accounts$Proposals$Pause { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID of the buyer. + */ + accountId?: string; + /** + * The ID of the proposal to pause. + */ + proposalId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$PauseProposalRequest; + } + interface Params$Resource$Accounts$Proposals$Resume { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID of the buyer. + */ + accountId?: string; + /** + * The ID of the proposal to resume. + */ + proposalId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ResumeProposalRequest; + } + interface Params$Resource$Accounts$Proposals$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID of the buyer. + */ + accountId?: string; + /** + * The unique ID of the proposal. + */ + proposalId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Proposal; + } + class Resource$Accounts$Publisherprofiles { + root: Adexchangebuyer2; + constructor(root: Adexchangebuyer2); + getRoot(): Adexchangebuyer2; + /** + * adexchangebuyer2.accounts.publisherProfiles.get + * @desc Gets the requested publisher profile by id. + * @alias adexchangebuyer2.accounts.publisherProfiles.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID of the buyer. + * @param {string} params.publisherProfileId The id for the publisher profile to get. + * @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?: Params$Resource$Accounts$Publisherprofiles$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accounts$Publisherprofiles$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accounts$Publisherprofiles$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * adexchangebuyer2.accounts.publisherProfiles.list + * @desc List all publisher profiles visible to the buyer + * @alias adexchangebuyer2.accounts.publisherProfiles.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID of the buyer. + * @param {integer=} params.pageSize Specify the number of results to include per page. + * @param {string=} params.pageToken The page token as return from ListPublisherProfilesResponse. + * @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?: Params$Resource$Accounts$Publisherprofiles$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accounts$Publisherprofiles$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accounts$Publisherprofiles$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Publisherprofiles$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID of the buyer. + */ + accountId?: string; + /** + * The id for the publisher profile to get. + */ + publisherProfileId?: string; + } + interface Params$Resource$Accounts$Publisherprofiles$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID of the buyer. + */ + accountId?: string; + /** + * Specify the number of results to include per page. + */ + pageSize?: number; + /** + * The page token as return from ListPublisherProfilesResponse. + */ + pageToken?: string; + } + class Resource$Bidders { + root: Adexchangebuyer2; + accounts: Resource$Bidders$Accounts; + filterSets: Resource$Bidders$Filtersets; + constructor(root: Adexchangebuyer2); + getRoot(): Adexchangebuyer2; + } + class Resource$Bidders$Accounts { + root: Adexchangebuyer2; + creatives: Resource$Bidders$Accounts$Creatives; + filterSets: Resource$Bidders$Accounts$Filtersets; + constructor(root: Adexchangebuyer2); + getRoot(): Adexchangebuyer2; + } + class Resource$Bidders$Accounts$Creatives { + root: Adexchangebuyer2; + constructor(root: Adexchangebuyer2); + getRoot(): Adexchangebuyer2; + /** + * adexchangebuyer2.bidders.accounts.creatives.delete + * @desc Deletes a single creative. A creative is deactivated upon deletion + * and does not count against active snippet quota. A deleted creative + * should not be used in bidding (all bids with that creative will be + * rejected). + * @alias adexchangebuyer2.bidders.accounts.creatives.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.creativeId The ID of the creative to delete. + * @param {string} params.ownerName Name of the owner (bidder or account) of the creative to be deleted. For example: - For an account-level creative for the buyer account representing bidder 123: `bidders/123/accounts/123/` - For an account-level creative for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/` + * @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?: Params$Resource$Bidders$Accounts$Creatives$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Bidders$Accounts$Creatives$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Bidders$Accounts$Creatives$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + } + interface Params$Resource$Bidders$Accounts$Creatives$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the creative to delete. + */ + creativeId?: string; + /** + * Name of the owner (bidder or account) of the creative to be deleted. For + * example: - For an account-level creative for the buyer account + * representing bidder 123: `bidders/123/accounts/123/` - For an + * account-level creative for the child seat buyer account 456 whose + * bidder is 123: `bidders/123/accounts/456/` + */ + ownerName?: string; + } + class Resource$Bidders$Accounts$Filtersets { + root: Adexchangebuyer2; + bidMetrics: Resource$Bidders$Accounts$Filtersets$Bidmetrics; + bidResponseErrors: Resource$Bidders$Accounts$Filtersets$Bidresponseerrors; + bidResponsesWithoutBids: Resource$Bidders$Accounts$Filtersets$Bidresponseswithoutbids; + filteredBidRequests: Resource$Bidders$Accounts$Filtersets$Filteredbidrequests; + filteredBids: Resource$Bidders$Accounts$Filtersets$Filteredbids; + impressionMetrics: Resource$Bidders$Accounts$Filtersets$Impressionmetrics; + losingBids: Resource$Bidders$Accounts$Filtersets$Losingbids; + nonBillableWinningBids: Resource$Bidders$Accounts$Filtersets$Nonbillablewinningbids; + constructor(root: Adexchangebuyer2); + getRoot(): Adexchangebuyer2; + /** + * adexchangebuyer2.bidders.accounts.filterSets.create + * @desc Creates the specified filter set for the account with the given + * account ID. + * @alias adexchangebuyer2.bidders.accounts.filterSets.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.isTransient Whether the filter set is transient, or should be persisted indefinitely. By default, filter sets are not transient. If transient, it will be available for at least 1 hour after creation. + * @param {string} params.ownerName Name of the owner (bidder or account) of the filter set to be created. For example: - For a bidder-level filter set for bidder 123: `bidders/123` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456` + * @param {().FilterSet} 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 + */ + create(params?: Params$Resource$Bidders$Accounts$Filtersets$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Bidders$Accounts$Filtersets$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Bidders$Accounts$Filtersets$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * adexchangebuyer2.bidders.accounts.filterSets.delete + * @desc Deletes the requested filter set from the account with the given + * account ID. + * @alias adexchangebuyer2.bidders.accounts.filterSets.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Full name of the resource to delete. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc` + * @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?: Params$Resource$Bidders$Accounts$Filtersets$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Bidders$Accounts$Filtersets$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Bidders$Accounts$Filtersets$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * adexchangebuyer2.bidders.accounts.filterSets.get + * @desc Retrieves the requested filter set for the account with the given + * account ID. + * @alias adexchangebuyer2.bidders.accounts.filterSets.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Full name of the resource being requested. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc` + * @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?: Params$Resource$Bidders$Accounts$Filtersets$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Bidders$Accounts$Filtersets$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Bidders$Accounts$Filtersets$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * adexchangebuyer2.bidders.accounts.filterSets.list + * @desc Lists all filter sets for the account with the given account ID. + * @alias adexchangebuyer2.bidders.accounts.filterSets.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.ownerName Name of the owner (bidder or account) of the filter sets to be listed. For example: - For a bidder-level filter set for bidder 123: `bidders/123` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456` + * @param {integer=} params.pageSize Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default. + * @param {string=} params.pageToken A token identifying a page of results the server should return. Typically, this is the value of ListFilterSetsResponse.nextPageToken returned from the previous call to the accounts.filterSets.list method. + * @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?: Params$Resource$Bidders$Accounts$Filtersets$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Bidders$Accounts$Filtersets$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Bidders$Accounts$Filtersets$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Bidders$Accounts$Filtersets$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Whether the filter set is transient, or should be persisted indefinitely. + * By default, filter sets are not transient. If transient, it will be + * available for at least 1 hour after creation. + */ + isTransient?: boolean; + /** + * Name of the owner (bidder or account) of the filter set to be created. + * For example: - For a bidder-level filter set for bidder 123: + * `bidders/123` - For an account-level filter set for the buyer account + * representing bidder 123: `bidders/123/accounts/123` - For an + * account-level filter set for the child seat buyer account 456 whose + * bidder is 123: `bidders/123/accounts/456` + */ + ownerName?: string; + /** + * Request body metadata + */ + requestBody?: Schema$FilterSet; + } + interface Params$Resource$Bidders$Accounts$Filtersets$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Full name of the resource to delete. For example: - For a bidder-level + * filter set for bidder 123: `bidders/123/filterSets/abc` - For an + * account-level filter set for the buyer account representing bidder 123: + * `bidders/123/accounts/123/filterSets/abc` - For an account-level filter + * set for the child seat buyer account 456 whose bidder is 123: + * `bidders/123/accounts/456/filterSets/abc` + */ + name?: string; + } + interface Params$Resource$Bidders$Accounts$Filtersets$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Full name of the resource being requested. For example: - For a + * bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - + * For an account-level filter set for the buyer account representing bidder + * 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level + * filter set for the child seat buyer account 456 whose bidder is 123: + * `bidders/123/accounts/456/filterSets/abc` + */ + name?: string; + } + interface Params$Resource$Bidders$Accounts$Filtersets$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the owner (bidder or account) of the filter sets to be listed. + * For example: - For a bidder-level filter set for bidder 123: + * `bidders/123` - For an account-level filter set for the buyer account + * representing bidder 123: `bidders/123/accounts/123` - For an + * account-level filter set for the child seat buyer account 456 whose + * bidder is 123: `bidders/123/accounts/456` + */ + ownerName?: string; + /** + * Requested page size. The server may return fewer results than requested. + * If unspecified, the server will pick an appropriate default. + */ + pageSize?: number; + /** + * A token identifying a page of results the server should return. + * Typically, this is the value of ListFilterSetsResponse.nextPageToken + * returned from the previous call to the accounts.filterSets.list method. + */ + pageToken?: string; + } + class Resource$Bidders$Accounts$Filtersets$Bidmetrics { + root: Adexchangebuyer2; + constructor(root: Adexchangebuyer2); + getRoot(): Adexchangebuyer2; + /** + * adexchangebuyer2.bidders.accounts.filterSets.bidMetrics.list + * @desc Lists all metrics that are measured in terms of number of bids. + * @alias adexchangebuyer2.bidders.accounts.filterSets.bidMetrics.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.filterSetName Name of the filter set that should be applied to the requested metrics. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc` + * @param {integer=} params.pageSize Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default. + * @param {string=} params.pageToken A token identifying a page of results the server should return. Typically, this is the value of ListBidMetricsResponse.nextPageToken returned from the previous call to the bidMetrics.list method. + * @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?: Params$Resource$Bidders$Accounts$Filtersets$Bidmetrics$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Bidders$Accounts$Filtersets$Bidmetrics$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Bidders$Accounts$Filtersets$Bidmetrics$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Bidders$Accounts$Filtersets$Bidmetrics$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the filter set that should be applied to the requested metrics. + * For example: - For a bidder-level filter set for bidder 123: + * `bidders/123/filterSets/abc` - For an account-level filter set for the + * buyer account representing bidder 123: + * `bidders/123/accounts/123/filterSets/abc` - For an account-level filter + * set for the child seat buyer account 456 whose bidder is 123: + * `bidders/123/accounts/456/filterSets/abc` + */ + filterSetName?: string; + /** + * Requested page size. The server may return fewer results than requested. + * If unspecified, the server will pick an appropriate default. + */ + pageSize?: number; + /** + * A token identifying a page of results the server should return. + * Typically, this is the value of ListBidMetricsResponse.nextPageToken + * returned from the previous call to the bidMetrics.list method. + */ + pageToken?: string; + } + class Resource$Bidders$Accounts$Filtersets$Bidresponseerrors { + root: Adexchangebuyer2; + constructor(root: Adexchangebuyer2); + getRoot(): Adexchangebuyer2; + /** + * adexchangebuyer2.bidders.accounts.filterSets.bidResponseErrors.list + * @desc List all errors that occurred in bid responses, with the number of + * bid responses affected for each reason. + * @alias + * adexchangebuyer2.bidders.accounts.filterSets.bidResponseErrors.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.filterSetName Name of the filter set that should be applied to the requested metrics. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc` + * @param {integer=} params.pageSize Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default. + * @param {string=} params.pageToken A token identifying a page of results the server should return. Typically, this is the value of ListBidResponseErrorsResponse.nextPageToken returned from the previous call to the bidResponseErrors.list method. + * @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?: Params$Resource$Bidders$Accounts$Filtersets$Bidresponseerrors$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Bidders$Accounts$Filtersets$Bidresponseerrors$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Bidders$Accounts$Filtersets$Bidresponseerrors$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Bidders$Accounts$Filtersets$Bidresponseerrors$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the filter set that should be applied to the requested metrics. + * For example: - For a bidder-level filter set for bidder 123: + * `bidders/123/filterSets/abc` - For an account-level filter set for the + * buyer account representing bidder 123: + * `bidders/123/accounts/123/filterSets/abc` - For an account-level filter + * set for the child seat buyer account 456 whose bidder is 123: + * `bidders/123/accounts/456/filterSets/abc` + */ + filterSetName?: string; + /** + * Requested page size. The server may return fewer results than requested. + * If unspecified, the server will pick an appropriate default. + */ + pageSize?: number; + /** + * A token identifying a page of results the server should return. + * Typically, this is the value of + * ListBidResponseErrorsResponse.nextPageToken returned from the previous + * call to the bidResponseErrors.list method. + */ + pageToken?: string; + } + class Resource$Bidders$Accounts$Filtersets$Bidresponseswithoutbids { + root: Adexchangebuyer2; + constructor(root: Adexchangebuyer2); + getRoot(): Adexchangebuyer2; + /** + * adexchangebuyer2.bidders.accounts.filterSets.bidResponsesWithoutBids.list + * @desc List all reasons for which bid responses were considered to have no + * applicable bids, with the number of bid responses affected for each + * reason. + * @alias + * adexchangebuyer2.bidders.accounts.filterSets.bidResponsesWithoutBids.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.filterSetName Name of the filter set that should be applied to the requested metrics. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc` + * @param {integer=} params.pageSize Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default. + * @param {string=} params.pageToken A token identifying a page of results the server should return. Typically, this is the value of ListBidResponsesWithoutBidsResponse.nextPageToken returned from the previous call to the bidResponsesWithoutBids.list method. + * @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?: Params$Resource$Bidders$Accounts$Filtersets$Bidresponseswithoutbids$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Bidders$Accounts$Filtersets$Bidresponseswithoutbids$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Bidders$Accounts$Filtersets$Bidresponseswithoutbids$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Bidders$Accounts$Filtersets$Bidresponseswithoutbids$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the filter set that should be applied to the requested metrics. + * For example: - For a bidder-level filter set for bidder 123: + * `bidders/123/filterSets/abc` - For an account-level filter set for the + * buyer account representing bidder 123: + * `bidders/123/accounts/123/filterSets/abc` - For an account-level filter + * set for the child seat buyer account 456 whose bidder is 123: + * `bidders/123/accounts/456/filterSets/abc` + */ + filterSetName?: string; + /** + * Requested page size. The server may return fewer results than requested. + * If unspecified, the server will pick an appropriate default. + */ + pageSize?: number; + /** + * A token identifying a page of results the server should return. + * Typically, this is the value of + * ListBidResponsesWithoutBidsResponse.nextPageToken returned from the + * previous call to the bidResponsesWithoutBids.list method. + */ + pageToken?: string; + } + class Resource$Bidders$Accounts$Filtersets$Filteredbidrequests { + root: Adexchangebuyer2; + constructor(root: Adexchangebuyer2); + getRoot(): Adexchangebuyer2; + /** + * adexchangebuyer2.bidders.accounts.filterSets.filteredBidRequests.list + * @desc List all reasons that caused a bid request not to be sent for an + * impression, with the number of bid requests not sent for each reason. + * @alias + * adexchangebuyer2.bidders.accounts.filterSets.filteredBidRequests.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.filterSetName Name of the filter set that should be applied to the requested metrics. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc` + * @param {integer=} params.pageSize Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default. + * @param {string=} params.pageToken A token identifying a page of results the server should return. Typically, this is the value of ListFilteredBidRequestsResponse.nextPageToken returned from the previous call to the filteredBidRequests.list method. + * @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?: Params$Resource$Bidders$Accounts$Filtersets$Filteredbidrequests$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Bidders$Accounts$Filtersets$Filteredbidrequests$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Bidders$Accounts$Filtersets$Filteredbidrequests$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Bidders$Accounts$Filtersets$Filteredbidrequests$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the filter set that should be applied to the requested metrics. + * For example: - For a bidder-level filter set for bidder 123: + * `bidders/123/filterSets/abc` - For an account-level filter set for the + * buyer account representing bidder 123: + * `bidders/123/accounts/123/filterSets/abc` - For an account-level filter + * set for the child seat buyer account 456 whose bidder is 123: + * `bidders/123/accounts/456/filterSets/abc` + */ + filterSetName?: string; + /** + * Requested page size. The server may return fewer results than requested. + * If unspecified, the server will pick an appropriate default. + */ + pageSize?: number; + /** + * A token identifying a page of results the server should return. + * Typically, this is the value of + * ListFilteredBidRequestsResponse.nextPageToken returned from the previous + * call to the filteredBidRequests.list method. + */ + pageToken?: string; + } + class Resource$Bidders$Accounts$Filtersets$Filteredbids { + root: Adexchangebuyer2; + creatives: Resource$Bidders$Accounts$Filtersets$Filteredbids$Creatives; + details: Resource$Bidders$Accounts$Filtersets$Filteredbids$Details; + constructor(root: Adexchangebuyer2); + getRoot(): Adexchangebuyer2; + /** + * adexchangebuyer2.bidders.accounts.filterSets.filteredBids.list + * @desc List all reasons for which bids were filtered, with the number of + * bids filtered for each reason. + * @alias adexchangebuyer2.bidders.accounts.filterSets.filteredBids.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.filterSetName Name of the filter set that should be applied to the requested metrics. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc` + * @param {integer=} params.pageSize Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default. + * @param {string=} params.pageToken A token identifying a page of results the server should return. Typically, this is the value of ListFilteredBidsResponse.nextPageToken returned from the previous call to the filteredBids.list method. + * @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?: Params$Resource$Bidders$Accounts$Filtersets$Filteredbids$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Bidders$Accounts$Filtersets$Filteredbids$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Bidders$Accounts$Filtersets$Filteredbids$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Bidders$Accounts$Filtersets$Filteredbids$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the filter set that should be applied to the requested metrics. + * For example: - For a bidder-level filter set for bidder 123: + * `bidders/123/filterSets/abc` - For an account-level filter set for the + * buyer account representing bidder 123: + * `bidders/123/accounts/123/filterSets/abc` - For an account-level filter + * set for the child seat buyer account 456 whose bidder is 123: + * `bidders/123/accounts/456/filterSets/abc` + */ + filterSetName?: string; + /** + * Requested page size. The server may return fewer results than requested. + * If unspecified, the server will pick an appropriate default. + */ + pageSize?: number; + /** + * A token identifying a page of results the server should return. + * Typically, this is the value of ListFilteredBidsResponse.nextPageToken + * returned from the previous call to the filteredBids.list method. + */ + pageToken?: string; + } + class Resource$Bidders$Accounts$Filtersets$Filteredbids$Creatives { + root: Adexchangebuyer2; + constructor(root: Adexchangebuyer2); + getRoot(): Adexchangebuyer2; + /** + * adexchangebuyer2.bidders.accounts.filterSets.filteredBids.creatives.list + * @desc List all creatives associated with a specific reason for which bids + * were filtered, with the number of bids filtered for each creative. + * @alias + * adexchangebuyer2.bidders.accounts.filterSets.filteredBids.creatives.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.creativeStatusId The ID of the creative status for which to retrieve a breakdown by creative. See [creative-status-codes](https://developers.google.com/ad-exchange/rtb/downloads/creative-status-codes). + * @param {string} params.filterSetName Name of the filter set that should be applied to the requested metrics. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc` + * @param {integer=} params.pageSize Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default. + * @param {string=} params.pageToken A token identifying a page of results the server should return. Typically, this is the value of ListCreativeStatusBreakdownByCreativeResponse.nextPageToken returned from the previous call to the filteredBids.creatives.list method. + * @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?: Params$Resource$Bidders$Accounts$Filtersets$Filteredbids$Creatives$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Bidders$Accounts$Filtersets$Filteredbids$Creatives$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Bidders$Accounts$Filtersets$Filteredbids$Creatives$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Bidders$Accounts$Filtersets$Filteredbids$Creatives$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the creative status for which to retrieve a breakdown by + * creative. See + * [creative-status-codes](https://developers.google.com/ad-exchange/rtb/downloads/creative-status-codes). + */ + creativeStatusId?: number; + /** + * Name of the filter set that should be applied to the requested metrics. + * For example: - For a bidder-level filter set for bidder 123: + * `bidders/123/filterSets/abc` - For an account-level filter set for the + * buyer account representing bidder 123: + * `bidders/123/accounts/123/filterSets/abc` - For an account-level filter + * set for the child seat buyer account 456 whose bidder is 123: + * `bidders/123/accounts/456/filterSets/abc` + */ + filterSetName?: string; + /** + * Requested page size. The server may return fewer results than requested. + * If unspecified, the server will pick an appropriate default. + */ + pageSize?: number; + /** + * A token identifying a page of results the server should return. + * Typically, this is the value of + * ListCreativeStatusBreakdownByCreativeResponse.nextPageToken returned from + * the previous call to the filteredBids.creatives.list method. + */ + pageToken?: string; + } + class Resource$Bidders$Accounts$Filtersets$Filteredbids$Details { + root: Adexchangebuyer2; + constructor(root: Adexchangebuyer2); + getRoot(): Adexchangebuyer2; + /** + * adexchangebuyer2.bidders.accounts.filterSets.filteredBids.details.list + * @desc List all details associated with a specific reason for which bids + * were filtered, with the number of bids filtered for each detail. + * @alias + * adexchangebuyer2.bidders.accounts.filterSets.filteredBids.details.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.creativeStatusId The ID of the creative status for which to retrieve a breakdown by detail. See [creative-status-codes](https://developers.google.com/ad-exchange/rtb/downloads/creative-status-codes). Details are only available for statuses 10, 14, 15, 17, 18, 19, 86, and 87. + * @param {string} params.filterSetName Name of the filter set that should be applied to the requested metrics. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc` + * @param {integer=} params.pageSize Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default. + * @param {string=} params.pageToken A token identifying a page of results the server should return. Typically, this is the value of ListCreativeStatusBreakdownByDetailResponse.nextPageToken returned from the previous call to the filteredBids.details.list method. + * @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?: Params$Resource$Bidders$Accounts$Filtersets$Filteredbids$Details$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Bidders$Accounts$Filtersets$Filteredbids$Details$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Bidders$Accounts$Filtersets$Filteredbids$Details$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Bidders$Accounts$Filtersets$Filteredbids$Details$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the creative status for which to retrieve a breakdown by + * detail. See + * [creative-status-codes](https://developers.google.com/ad-exchange/rtb/downloads/creative-status-codes). + * Details are only available for statuses 10, 14, 15, 17, 18, 19, 86, + * and 87. + */ + creativeStatusId?: number; + /** + * Name of the filter set that should be applied to the requested metrics. + * For example: - For a bidder-level filter set for bidder 123: + * `bidders/123/filterSets/abc` - For an account-level filter set for the + * buyer account representing bidder 123: + * `bidders/123/accounts/123/filterSets/abc` - For an account-level filter + * set for the child seat buyer account 456 whose bidder is 123: + * `bidders/123/accounts/456/filterSets/abc` + */ + filterSetName?: string; + /** + * Requested page size. The server may return fewer results than requested. + * If unspecified, the server will pick an appropriate default. + */ + pageSize?: number; + /** + * A token identifying a page of results the server should return. + * Typically, this is the value of + * ListCreativeStatusBreakdownByDetailResponse.nextPageToken returned from + * the previous call to the filteredBids.details.list method. + */ + pageToken?: string; + } + class Resource$Bidders$Accounts$Filtersets$Impressionmetrics { + root: Adexchangebuyer2; + constructor(root: Adexchangebuyer2); + getRoot(): Adexchangebuyer2; + /** + * adexchangebuyer2.bidders.accounts.filterSets.impressionMetrics.list + * @desc Lists all metrics that are measured in terms of number of + * impressions. + * @alias + * adexchangebuyer2.bidders.accounts.filterSets.impressionMetrics.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.filterSetName Name of the filter set that should be applied to the requested metrics. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc` + * @param {integer=} params.pageSize Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default. + * @param {string=} params.pageToken A token identifying a page of results the server should return. Typically, this is the value of ListImpressionMetricsResponse.nextPageToken returned from the previous call to the impressionMetrics.list method. + * @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?: Params$Resource$Bidders$Accounts$Filtersets$Impressionmetrics$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Bidders$Accounts$Filtersets$Impressionmetrics$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Bidders$Accounts$Filtersets$Impressionmetrics$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Bidders$Accounts$Filtersets$Impressionmetrics$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the filter set that should be applied to the requested metrics. + * For example: - For a bidder-level filter set for bidder 123: + * `bidders/123/filterSets/abc` - For an account-level filter set for the + * buyer account representing bidder 123: + * `bidders/123/accounts/123/filterSets/abc` - For an account-level filter + * set for the child seat buyer account 456 whose bidder is 123: + * `bidders/123/accounts/456/filterSets/abc` + */ + filterSetName?: string; + /** + * Requested page size. The server may return fewer results than requested. + * If unspecified, the server will pick an appropriate default. + */ + pageSize?: number; + /** + * A token identifying a page of results the server should return. + * Typically, this is the value of + * ListImpressionMetricsResponse.nextPageToken returned from the previous + * call to the impressionMetrics.list method. + */ + pageToken?: string; + } + class Resource$Bidders$Accounts$Filtersets$Losingbids { + root: Adexchangebuyer2; + constructor(root: Adexchangebuyer2); + getRoot(): Adexchangebuyer2; + /** + * adexchangebuyer2.bidders.accounts.filterSets.losingBids.list + * @desc List all reasons for which bids lost in the auction, with the + * number of bids that lost for each reason. + * @alias adexchangebuyer2.bidders.accounts.filterSets.losingBids.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.filterSetName Name of the filter set that should be applied to the requested metrics. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc` + * @param {integer=} params.pageSize Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default. + * @param {string=} params.pageToken A token identifying a page of results the server should return. Typically, this is the value of ListLosingBidsResponse.nextPageToken returned from the previous call to the losingBids.list method. + * @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?: Params$Resource$Bidders$Accounts$Filtersets$Losingbids$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Bidders$Accounts$Filtersets$Losingbids$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Bidders$Accounts$Filtersets$Losingbids$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Bidders$Accounts$Filtersets$Losingbids$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the filter set that should be applied to the requested metrics. + * For example: - For a bidder-level filter set for bidder 123: + * `bidders/123/filterSets/abc` - For an account-level filter set for the + * buyer account representing bidder 123: + * `bidders/123/accounts/123/filterSets/abc` - For an account-level filter + * set for the child seat buyer account 456 whose bidder is 123: + * `bidders/123/accounts/456/filterSets/abc` + */ + filterSetName?: string; + /** + * Requested page size. The server may return fewer results than requested. + * If unspecified, the server will pick an appropriate default. + */ + pageSize?: number; + /** + * A token identifying a page of results the server should return. + * Typically, this is the value of ListLosingBidsResponse.nextPageToken + * returned from the previous call to the losingBids.list method. + */ + pageToken?: string; + } + class Resource$Bidders$Accounts$Filtersets$Nonbillablewinningbids { + root: Adexchangebuyer2; + constructor(root: Adexchangebuyer2); + getRoot(): Adexchangebuyer2; + /** + * adexchangebuyer2.bidders.accounts.filterSets.nonBillableWinningBids.list + * @desc List all reasons for which winning bids were not billable, with the + * number of bids not billed for each reason. + * @alias + * adexchangebuyer2.bidders.accounts.filterSets.nonBillableWinningBids.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.filterSetName Name of the filter set that should be applied to the requested metrics. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc` + * @param {integer=} params.pageSize Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default. + * @param {string=} params.pageToken A token identifying a page of results the server should return. Typically, this is the value of ListNonBillableWinningBidsResponse.nextPageToken returned from the previous call to the nonBillableWinningBids.list method. + * @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?: Params$Resource$Bidders$Accounts$Filtersets$Nonbillablewinningbids$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Bidders$Accounts$Filtersets$Nonbillablewinningbids$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Bidders$Accounts$Filtersets$Nonbillablewinningbids$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Bidders$Accounts$Filtersets$Nonbillablewinningbids$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the filter set that should be applied to the requested metrics. + * For example: - For a bidder-level filter set for bidder 123: + * `bidders/123/filterSets/abc` - For an account-level filter set for the + * buyer account representing bidder 123: + * `bidders/123/accounts/123/filterSets/abc` - For an account-level filter + * set for the child seat buyer account 456 whose bidder is 123: + * `bidders/123/accounts/456/filterSets/abc` + */ + filterSetName?: string; + /** + * Requested page size. The server may return fewer results than requested. + * If unspecified, the server will pick an appropriate default. + */ + pageSize?: number; + /** + * A token identifying a page of results the server should return. + * Typically, this is the value of + * ListNonBillableWinningBidsResponse.nextPageToken returned from the + * previous call to the nonBillableWinningBids.list method. + */ + pageToken?: string; + } + class Resource$Bidders$Filtersets { + root: Adexchangebuyer2; + bidMetrics: Resource$Bidders$Filtersets$Bidmetrics; + bidResponseErrors: Resource$Bidders$Filtersets$Bidresponseerrors; + bidResponsesWithoutBids: Resource$Bidders$Filtersets$Bidresponseswithoutbids; + filteredBidRequests: Resource$Bidders$Filtersets$Filteredbidrequests; + filteredBids: Resource$Bidders$Filtersets$Filteredbids; + impressionMetrics: Resource$Bidders$Filtersets$Impressionmetrics; + losingBids: Resource$Bidders$Filtersets$Losingbids; + nonBillableWinningBids: Resource$Bidders$Filtersets$Nonbillablewinningbids; + constructor(root: Adexchangebuyer2); + getRoot(): Adexchangebuyer2; + /** + * adexchangebuyer2.bidders.filterSets.create + * @desc Creates the specified filter set for the account with the given + * account ID. + * @alias adexchangebuyer2.bidders.filterSets.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.isTransient Whether the filter set is transient, or should be persisted indefinitely. By default, filter sets are not transient. If transient, it will be available for at least 1 hour after creation. + * @param {string} params.ownerName Name of the owner (bidder or account) of the filter set to be created. For example: - For a bidder-level filter set for bidder 123: `bidders/123` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456` + * @param {().FilterSet} 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 + */ + create(params?: Params$Resource$Bidders$Filtersets$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Bidders$Filtersets$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Bidders$Filtersets$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * adexchangebuyer2.bidders.filterSets.delete + * @desc Deletes the requested filter set from the account with the given + * account ID. + * @alias adexchangebuyer2.bidders.filterSets.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Full name of the resource to delete. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc` + * @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?: Params$Resource$Bidders$Filtersets$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Bidders$Filtersets$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Bidders$Filtersets$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * adexchangebuyer2.bidders.filterSets.get + * @desc Retrieves the requested filter set for the account with the given + * account ID. + * @alias adexchangebuyer2.bidders.filterSets.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Full name of the resource being requested. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc` + * @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?: Params$Resource$Bidders$Filtersets$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Bidders$Filtersets$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Bidders$Filtersets$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * adexchangebuyer2.bidders.filterSets.list + * @desc Lists all filter sets for the account with the given account ID. + * @alias adexchangebuyer2.bidders.filterSets.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.ownerName Name of the owner (bidder or account) of the filter sets to be listed. For example: - For a bidder-level filter set for bidder 123: `bidders/123` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456` + * @param {integer=} params.pageSize Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default. + * @param {string=} params.pageToken A token identifying a page of results the server should return. Typically, this is the value of ListFilterSetsResponse.nextPageToken returned from the previous call to the accounts.filterSets.list method. + * @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?: Params$Resource$Bidders$Filtersets$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Bidders$Filtersets$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Bidders$Filtersets$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Bidders$Filtersets$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Whether the filter set is transient, or should be persisted indefinitely. + * By default, filter sets are not transient. If transient, it will be + * available for at least 1 hour after creation. + */ + isTransient?: boolean; + /** + * Name of the owner (bidder or account) of the filter set to be created. + * For example: - For a bidder-level filter set for bidder 123: + * `bidders/123` - For an account-level filter set for the buyer account + * representing bidder 123: `bidders/123/accounts/123` - For an + * account-level filter set for the child seat buyer account 456 whose + * bidder is 123: `bidders/123/accounts/456` + */ + ownerName?: string; + /** + * Request body metadata + */ + requestBody?: Schema$FilterSet; + } + interface Params$Resource$Bidders$Filtersets$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Full name of the resource to delete. For example: - For a bidder-level + * filter set for bidder 123: `bidders/123/filterSets/abc` - For an + * account-level filter set for the buyer account representing bidder 123: + * `bidders/123/accounts/123/filterSets/abc` - For an account-level filter + * set for the child seat buyer account 456 whose bidder is 123: + * `bidders/123/accounts/456/filterSets/abc` + */ + name?: string; + } + interface Params$Resource$Bidders$Filtersets$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Full name of the resource being requested. For example: - For a + * bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - + * For an account-level filter set for the buyer account representing bidder + * 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level + * filter set for the child seat buyer account 456 whose bidder is 123: + * `bidders/123/accounts/456/filterSets/abc` + */ + name?: string; + } + interface Params$Resource$Bidders$Filtersets$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the owner (bidder or account) of the filter sets to be listed. + * For example: - For a bidder-level filter set for bidder 123: + * `bidders/123` - For an account-level filter set for the buyer account + * representing bidder 123: `bidders/123/accounts/123` - For an + * account-level filter set for the child seat buyer account 456 whose + * bidder is 123: `bidders/123/accounts/456` + */ + ownerName?: string; + /** + * Requested page size. The server may return fewer results than requested. + * If unspecified, the server will pick an appropriate default. + */ + pageSize?: number; + /** + * A token identifying a page of results the server should return. + * Typically, this is the value of ListFilterSetsResponse.nextPageToken + * returned from the previous call to the accounts.filterSets.list method. + */ + pageToken?: string; + } + class Resource$Bidders$Filtersets$Bidmetrics { + root: Adexchangebuyer2; + constructor(root: Adexchangebuyer2); + getRoot(): Adexchangebuyer2; + /** + * adexchangebuyer2.bidders.filterSets.bidMetrics.list + * @desc Lists all metrics that are measured in terms of number of bids. + * @alias adexchangebuyer2.bidders.filterSets.bidMetrics.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.filterSetName Name of the filter set that should be applied to the requested metrics. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc` + * @param {integer=} params.pageSize Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default. + * @param {string=} params.pageToken A token identifying a page of results the server should return. Typically, this is the value of ListBidMetricsResponse.nextPageToken returned from the previous call to the bidMetrics.list method. + * @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?: Params$Resource$Bidders$Filtersets$Bidmetrics$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Bidders$Filtersets$Bidmetrics$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Bidders$Filtersets$Bidmetrics$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Bidders$Filtersets$Bidmetrics$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the filter set that should be applied to the requested metrics. + * For example: - For a bidder-level filter set for bidder 123: + * `bidders/123/filterSets/abc` - For an account-level filter set for the + * buyer account representing bidder 123: + * `bidders/123/accounts/123/filterSets/abc` - For an account-level filter + * set for the child seat buyer account 456 whose bidder is 123: + * `bidders/123/accounts/456/filterSets/abc` + */ + filterSetName?: string; + /** + * Requested page size. The server may return fewer results than requested. + * If unspecified, the server will pick an appropriate default. + */ + pageSize?: number; + /** + * A token identifying a page of results the server should return. + * Typically, this is the value of ListBidMetricsResponse.nextPageToken + * returned from the previous call to the bidMetrics.list method. + */ + pageToken?: string; + } + class Resource$Bidders$Filtersets$Bidresponseerrors { + root: Adexchangebuyer2; + constructor(root: Adexchangebuyer2); + getRoot(): Adexchangebuyer2; + /** + * adexchangebuyer2.bidders.filterSets.bidResponseErrors.list + * @desc List all errors that occurred in bid responses, with the number of + * bid responses affected for each reason. + * @alias adexchangebuyer2.bidders.filterSets.bidResponseErrors.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.filterSetName Name of the filter set that should be applied to the requested metrics. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc` + * @param {integer=} params.pageSize Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default. + * @param {string=} params.pageToken A token identifying a page of results the server should return. Typically, this is the value of ListBidResponseErrorsResponse.nextPageToken returned from the previous call to the bidResponseErrors.list method. + * @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?: Params$Resource$Bidders$Filtersets$Bidresponseerrors$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Bidders$Filtersets$Bidresponseerrors$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Bidders$Filtersets$Bidresponseerrors$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Bidders$Filtersets$Bidresponseerrors$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the filter set that should be applied to the requested metrics. + * For example: - For a bidder-level filter set for bidder 123: + * `bidders/123/filterSets/abc` - For an account-level filter set for the + * buyer account representing bidder 123: + * `bidders/123/accounts/123/filterSets/abc` - For an account-level filter + * set for the child seat buyer account 456 whose bidder is 123: + * `bidders/123/accounts/456/filterSets/abc` + */ + filterSetName?: string; + /** + * Requested page size. The server may return fewer results than requested. + * If unspecified, the server will pick an appropriate default. + */ + pageSize?: number; + /** + * A token identifying a page of results the server should return. + * Typically, this is the value of + * ListBidResponseErrorsResponse.nextPageToken returned from the previous + * call to the bidResponseErrors.list method. + */ + pageToken?: string; + } + class Resource$Bidders$Filtersets$Bidresponseswithoutbids { + root: Adexchangebuyer2; + constructor(root: Adexchangebuyer2); + getRoot(): Adexchangebuyer2; + /** + * adexchangebuyer2.bidders.filterSets.bidResponsesWithoutBids.list + * @desc List all reasons for which bid responses were considered to have no + * applicable bids, with the number of bid responses affected for each + * reason. + * @alias adexchangebuyer2.bidders.filterSets.bidResponsesWithoutBids.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.filterSetName Name of the filter set that should be applied to the requested metrics. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc` + * @param {integer=} params.pageSize Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default. + * @param {string=} params.pageToken A token identifying a page of results the server should return. Typically, this is the value of ListBidResponsesWithoutBidsResponse.nextPageToken returned from the previous call to the bidResponsesWithoutBids.list method. + * @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?: Params$Resource$Bidders$Filtersets$Bidresponseswithoutbids$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Bidders$Filtersets$Bidresponseswithoutbids$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Bidders$Filtersets$Bidresponseswithoutbids$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Bidders$Filtersets$Bidresponseswithoutbids$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the filter set that should be applied to the requested metrics. + * For example: - For a bidder-level filter set for bidder 123: + * `bidders/123/filterSets/abc` - For an account-level filter set for the + * buyer account representing bidder 123: + * `bidders/123/accounts/123/filterSets/abc` - For an account-level filter + * set for the child seat buyer account 456 whose bidder is 123: + * `bidders/123/accounts/456/filterSets/abc` + */ + filterSetName?: string; + /** + * Requested page size. The server may return fewer results than requested. + * If unspecified, the server will pick an appropriate default. + */ + pageSize?: number; + /** + * A token identifying a page of results the server should return. + * Typically, this is the value of + * ListBidResponsesWithoutBidsResponse.nextPageToken returned from the + * previous call to the bidResponsesWithoutBids.list method. + */ + pageToken?: string; + } + class Resource$Bidders$Filtersets$Filteredbidrequests { + root: Adexchangebuyer2; + constructor(root: Adexchangebuyer2); + getRoot(): Adexchangebuyer2; + /** + * adexchangebuyer2.bidders.filterSets.filteredBidRequests.list + * @desc List all reasons that caused a bid request not to be sent for an + * impression, with the number of bid requests not sent for each reason. + * @alias adexchangebuyer2.bidders.filterSets.filteredBidRequests.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.filterSetName Name of the filter set that should be applied to the requested metrics. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc` + * @param {integer=} params.pageSize Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default. + * @param {string=} params.pageToken A token identifying a page of results the server should return. Typically, this is the value of ListFilteredBidRequestsResponse.nextPageToken returned from the previous call to the filteredBidRequests.list method. + * @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?: Params$Resource$Bidders$Filtersets$Filteredbidrequests$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Bidders$Filtersets$Filteredbidrequests$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Bidders$Filtersets$Filteredbidrequests$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Bidders$Filtersets$Filteredbidrequests$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the filter set that should be applied to the requested metrics. + * For example: - For a bidder-level filter set for bidder 123: + * `bidders/123/filterSets/abc` - For an account-level filter set for the + * buyer account representing bidder 123: + * `bidders/123/accounts/123/filterSets/abc` - For an account-level filter + * set for the child seat buyer account 456 whose bidder is 123: + * `bidders/123/accounts/456/filterSets/abc` + */ + filterSetName?: string; + /** + * Requested page size. The server may return fewer results than requested. + * If unspecified, the server will pick an appropriate default. + */ + pageSize?: number; + /** + * A token identifying a page of results the server should return. + * Typically, this is the value of + * ListFilteredBidRequestsResponse.nextPageToken returned from the previous + * call to the filteredBidRequests.list method. + */ + pageToken?: string; + } + class Resource$Bidders$Filtersets$Filteredbids { + root: Adexchangebuyer2; + creatives: Resource$Bidders$Filtersets$Filteredbids$Creatives; + details: Resource$Bidders$Filtersets$Filteredbids$Details; + constructor(root: Adexchangebuyer2); + getRoot(): Adexchangebuyer2; + /** + * adexchangebuyer2.bidders.filterSets.filteredBids.list + * @desc List all reasons for which bids were filtered, with the number of + * bids filtered for each reason. + * @alias adexchangebuyer2.bidders.filterSets.filteredBids.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.filterSetName Name of the filter set that should be applied to the requested metrics. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc` + * @param {integer=} params.pageSize Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default. + * @param {string=} params.pageToken A token identifying a page of results the server should return. Typically, this is the value of ListFilteredBidsResponse.nextPageToken returned from the previous call to the filteredBids.list method. + * @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?: Params$Resource$Bidders$Filtersets$Filteredbids$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Bidders$Filtersets$Filteredbids$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Bidders$Filtersets$Filteredbids$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Bidders$Filtersets$Filteredbids$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the filter set that should be applied to the requested metrics. + * For example: - For a bidder-level filter set for bidder 123: + * `bidders/123/filterSets/abc` - For an account-level filter set for the + * buyer account representing bidder 123: + * `bidders/123/accounts/123/filterSets/abc` - For an account-level filter + * set for the child seat buyer account 456 whose bidder is 123: + * `bidders/123/accounts/456/filterSets/abc` + */ + filterSetName?: string; + /** + * Requested page size. The server may return fewer results than requested. + * If unspecified, the server will pick an appropriate default. + */ + pageSize?: number; + /** + * A token identifying a page of results the server should return. + * Typically, this is the value of ListFilteredBidsResponse.nextPageToken + * returned from the previous call to the filteredBids.list method. + */ + pageToken?: string; + } + class Resource$Bidders$Filtersets$Filteredbids$Creatives { + root: Adexchangebuyer2; + constructor(root: Adexchangebuyer2); + getRoot(): Adexchangebuyer2; + /** + * adexchangebuyer2.bidders.filterSets.filteredBids.creatives.list + * @desc List all creatives associated with a specific reason for which bids + * were filtered, with the number of bids filtered for each creative. + * @alias adexchangebuyer2.bidders.filterSets.filteredBids.creatives.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.creativeStatusId The ID of the creative status for which to retrieve a breakdown by creative. See [creative-status-codes](https://developers.google.com/ad-exchange/rtb/downloads/creative-status-codes). + * @param {string} params.filterSetName Name of the filter set that should be applied to the requested metrics. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc` + * @param {integer=} params.pageSize Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default. + * @param {string=} params.pageToken A token identifying a page of results the server should return. Typically, this is the value of ListCreativeStatusBreakdownByCreativeResponse.nextPageToken returned from the previous call to the filteredBids.creatives.list method. + * @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?: Params$Resource$Bidders$Filtersets$Filteredbids$Creatives$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Bidders$Filtersets$Filteredbids$Creatives$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Bidders$Filtersets$Filteredbids$Creatives$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Bidders$Filtersets$Filteredbids$Creatives$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the creative status for which to retrieve a breakdown by + * creative. See + * [creative-status-codes](https://developers.google.com/ad-exchange/rtb/downloads/creative-status-codes). + */ + creativeStatusId?: number; + /** + * Name of the filter set that should be applied to the requested metrics. + * For example: - For a bidder-level filter set for bidder 123: + * `bidders/123/filterSets/abc` - For an account-level filter set for the + * buyer account representing bidder 123: + * `bidders/123/accounts/123/filterSets/abc` - For an account-level filter + * set for the child seat buyer account 456 whose bidder is 123: + * `bidders/123/accounts/456/filterSets/abc` + */ + filterSetName?: string; + /** + * Requested page size. The server may return fewer results than requested. + * If unspecified, the server will pick an appropriate default. + */ + pageSize?: number; + /** + * A token identifying a page of results the server should return. + * Typically, this is the value of + * ListCreativeStatusBreakdownByCreativeResponse.nextPageToken returned from + * the previous call to the filteredBids.creatives.list method. + */ + pageToken?: string; + } + class Resource$Bidders$Filtersets$Filteredbids$Details { + root: Adexchangebuyer2; + constructor(root: Adexchangebuyer2); + getRoot(): Adexchangebuyer2; + /** + * adexchangebuyer2.bidders.filterSets.filteredBids.details.list + * @desc List all details associated with a specific reason for which bids + * were filtered, with the number of bids filtered for each detail. + * @alias adexchangebuyer2.bidders.filterSets.filteredBids.details.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.creativeStatusId The ID of the creative status for which to retrieve a breakdown by detail. See [creative-status-codes](https://developers.google.com/ad-exchange/rtb/downloads/creative-status-codes). Details are only available for statuses 10, 14, 15, 17, 18, 19, 86, and 87. + * @param {string} params.filterSetName Name of the filter set that should be applied to the requested metrics. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc` + * @param {integer=} params.pageSize Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default. + * @param {string=} params.pageToken A token identifying a page of results the server should return. Typically, this is the value of ListCreativeStatusBreakdownByDetailResponse.nextPageToken returned from the previous call to the filteredBids.details.list method. + * @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?: Params$Resource$Bidders$Filtersets$Filteredbids$Details$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Bidders$Filtersets$Filteredbids$Details$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Bidders$Filtersets$Filteredbids$Details$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Bidders$Filtersets$Filteredbids$Details$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the creative status for which to retrieve a breakdown by + * detail. See + * [creative-status-codes](https://developers.google.com/ad-exchange/rtb/downloads/creative-status-codes). + * Details are only available for statuses 10, 14, 15, 17, 18, 19, 86, + * and 87. + */ + creativeStatusId?: number; + /** + * Name of the filter set that should be applied to the requested metrics. + * For example: - For a bidder-level filter set for bidder 123: + * `bidders/123/filterSets/abc` - For an account-level filter set for the + * buyer account representing bidder 123: + * `bidders/123/accounts/123/filterSets/abc` - For an account-level filter + * set for the child seat buyer account 456 whose bidder is 123: + * `bidders/123/accounts/456/filterSets/abc` + */ + filterSetName?: string; + /** + * Requested page size. The server may return fewer results than requested. + * If unspecified, the server will pick an appropriate default. + */ + pageSize?: number; + /** + * A token identifying a page of results the server should return. + * Typically, this is the value of + * ListCreativeStatusBreakdownByDetailResponse.nextPageToken returned from + * the previous call to the filteredBids.details.list method. + */ + pageToken?: string; + } + class Resource$Bidders$Filtersets$Impressionmetrics { + root: Adexchangebuyer2; + constructor(root: Adexchangebuyer2); + getRoot(): Adexchangebuyer2; + /** + * adexchangebuyer2.bidders.filterSets.impressionMetrics.list + * @desc Lists all metrics that are measured in terms of number of + * impressions. + * @alias adexchangebuyer2.bidders.filterSets.impressionMetrics.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.filterSetName Name of the filter set that should be applied to the requested metrics. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc` + * @param {integer=} params.pageSize Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default. + * @param {string=} params.pageToken A token identifying a page of results the server should return. Typically, this is the value of ListImpressionMetricsResponse.nextPageToken returned from the previous call to the impressionMetrics.list method. + * @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?: Params$Resource$Bidders$Filtersets$Impressionmetrics$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Bidders$Filtersets$Impressionmetrics$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Bidders$Filtersets$Impressionmetrics$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Bidders$Filtersets$Impressionmetrics$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the filter set that should be applied to the requested metrics. + * For example: - For a bidder-level filter set for bidder 123: + * `bidders/123/filterSets/abc` - For an account-level filter set for the + * buyer account representing bidder 123: + * `bidders/123/accounts/123/filterSets/abc` - For an account-level filter + * set for the child seat buyer account 456 whose bidder is 123: + * `bidders/123/accounts/456/filterSets/abc` + */ + filterSetName?: string; + /** + * Requested page size. The server may return fewer results than requested. + * If unspecified, the server will pick an appropriate default. + */ + pageSize?: number; + /** + * A token identifying a page of results the server should return. + * Typically, this is the value of + * ListImpressionMetricsResponse.nextPageToken returned from the previous + * call to the impressionMetrics.list method. + */ + pageToken?: string; + } + class Resource$Bidders$Filtersets$Losingbids { + root: Adexchangebuyer2; + constructor(root: Adexchangebuyer2); + getRoot(): Adexchangebuyer2; + /** + * adexchangebuyer2.bidders.filterSets.losingBids.list + * @desc List all reasons for which bids lost in the auction, with the + * number of bids that lost for each reason. + * @alias adexchangebuyer2.bidders.filterSets.losingBids.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.filterSetName Name of the filter set that should be applied to the requested metrics. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc` + * @param {integer=} params.pageSize Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default. + * @param {string=} params.pageToken A token identifying a page of results the server should return. Typically, this is the value of ListLosingBidsResponse.nextPageToken returned from the previous call to the losingBids.list method. + * @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?: Params$Resource$Bidders$Filtersets$Losingbids$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Bidders$Filtersets$Losingbids$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Bidders$Filtersets$Losingbids$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Bidders$Filtersets$Losingbids$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the filter set that should be applied to the requested metrics. + * For example: - For a bidder-level filter set for bidder 123: + * `bidders/123/filterSets/abc` - For an account-level filter set for the + * buyer account representing bidder 123: + * `bidders/123/accounts/123/filterSets/abc` - For an account-level filter + * set for the child seat buyer account 456 whose bidder is 123: + * `bidders/123/accounts/456/filterSets/abc` + */ + filterSetName?: string; + /** + * Requested page size. The server may return fewer results than requested. + * If unspecified, the server will pick an appropriate default. + */ + pageSize?: number; + /** + * A token identifying a page of results the server should return. + * Typically, this is the value of ListLosingBidsResponse.nextPageToken + * returned from the previous call to the losingBids.list method. + */ + pageToken?: string; + } + class Resource$Bidders$Filtersets$Nonbillablewinningbids { + root: Adexchangebuyer2; + constructor(root: Adexchangebuyer2); + getRoot(): Adexchangebuyer2; + /** + * adexchangebuyer2.bidders.filterSets.nonBillableWinningBids.list + * @desc List all reasons for which winning bids were not billable, with the + * number of bids not billed for each reason. + * @alias adexchangebuyer2.bidders.filterSets.nonBillableWinningBids.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.filterSetName Name of the filter set that should be applied to the requested metrics. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc` + * @param {integer=} params.pageSize Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default. + * @param {string=} params.pageToken A token identifying a page of results the server should return. Typically, this is the value of ListNonBillableWinningBidsResponse.nextPageToken returned from the previous call to the nonBillableWinningBids.list method. + * @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?: Params$Resource$Bidders$Filtersets$Nonbillablewinningbids$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Bidders$Filtersets$Nonbillablewinningbids$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Bidders$Filtersets$Nonbillablewinningbids$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Bidders$Filtersets$Nonbillablewinningbids$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the filter set that should be applied to the requested metrics. + * For example: - For a bidder-level filter set for bidder 123: + * `bidders/123/filterSets/abc` - For an account-level filter set for the + * buyer account representing bidder 123: + * `bidders/123/accounts/123/filterSets/abc` - For an account-level filter + * set for the child seat buyer account 456 whose bidder is 123: + * `bidders/123/accounts/456/filterSets/abc` + */ + filterSetName?: string; + /** + * Requested page size. The server may return fewer results than requested. + * If unspecified, the server will pick an appropriate default. + */ + pageSize?: number; + /** + * A token identifying a page of results the server should return. + * Typically, this is the value of + * ListNonBillableWinningBidsResponse.nextPageToken returned from the + * previous call to the nonBillableWinningBids.list method. + */ + pageToken?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer2/v2beta1.js b/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer2/v2beta1.js new file mode 100644 index 00000000..74c48398 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer2/v2beta1.js @@ -0,0 +1,2438 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var adexchangebuyer2_v2beta1; +(function (adexchangebuyer2_v2beta1) { + /** + * Ad Exchange Buyer API II + * + * Accesses the latest features for managing Ad Exchange accounts, Real-Time + * Bidding configurations and auction metrics, and Marketplace programmatic + * deals. + * + * @example + * const {google} = require('googleapis'); + * const adexchangebuyer2 = google.adexchangebuyer2('v2beta1'); + * + * @namespace adexchangebuyer2 + * @type {Function} + * @version v2beta1 + * @variation v2beta1 + * @param {object=} options Options for Adexchangebuyer2 + */ + class Adexchangebuyer2 { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.accounts = new Resource$Accounts(this); + this.bidders = new Resource$Bidders(this); + } + getRoot() { + return this.root; + } + } + adexchangebuyer2_v2beta1.Adexchangebuyer2 = Adexchangebuyer2; + class Resource$Accounts { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.clients = new Resource$Accounts$Clients(root); + this.creatives = new Resource$Accounts$Creatives(root); + this.finalizedProposals = new Resource$Accounts$Finalizedproposals(root); + this.products = new Resource$Accounts$Products(root); + this.proposals = new Resource$Accounts$Proposals(root); + this.publisherProfiles = new Resource$Accounts$Publisherprofiles(root); + } + getRoot() { + return this.root; + } + } + adexchangebuyer2_v2beta1.Resource$Accounts = Resource$Accounts; + class Resource$Accounts$Clients { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.invitations = new Resource$Accounts$Clients$Invitations(root); + this.users = new Resource$Accounts$Clients$Users(root); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/accounts/{accountId}/clients') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['accountId'], + pathParams: ['accountId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v2beta1/accounts/{accountId}/clients/{clientAccountId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'clientAccountId'], + pathParams: ['accountId', 'clientAccountId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/accounts/{accountId}/clients') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId'], + pathParams: ['accountId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v2beta1/accounts/{accountId}/clients/{clientAccountId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['accountId', 'clientAccountId'], + pathParams: ['accountId', 'clientAccountId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adexchangebuyer2_v2beta1.Resource$Accounts$Clients = Resource$Accounts$Clients; + class Resource$Accounts$Clients$Invitations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v2beta1/accounts/{accountId}/clients/{clientAccountId}/invitations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['accountId', 'clientAccountId'], + pathParams: ['accountId', 'clientAccountId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v2beta1/accounts/{accountId}/clients/{clientAccountId}/invitations/{invitationId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'clientAccountId', 'invitationId'], + pathParams: ['accountId', 'clientAccountId', 'invitationId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v2beta1/accounts/{accountId}/clients/{clientAccountId}/invitations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'clientAccountId'], + pathParams: ['accountId', 'clientAccountId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adexchangebuyer2_v2beta1.Resource$Accounts$Clients$Invitations = Resource$Accounts$Clients$Invitations; + class Resource$Accounts$Clients$Users { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v2beta1/accounts/{accountId}/clients/{clientAccountId}/users/{userId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'clientAccountId', 'userId'], + pathParams: ['accountId', 'clientAccountId', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v2beta1/accounts/{accountId}/clients/{clientAccountId}/users') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'clientAccountId'], + pathParams: ['accountId', 'clientAccountId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v2beta1/accounts/{accountId}/clients/{clientAccountId}/users/{userId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['accountId', 'clientAccountId', 'userId'], + pathParams: ['accountId', 'clientAccountId', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adexchangebuyer2_v2beta1.Resource$Accounts$Clients$Users = Resource$Accounts$Clients$Users; + class Resource$Accounts$Creatives { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.dealAssociations = + new Resource$Accounts$Creatives$Dealassociations(root); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/accounts/{accountId}/creatives') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['accountId'], + pathParams: ['accountId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v2beta1/accounts/{accountId}/creatives/{creativeId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'creativeId'], + pathParams: ['accountId', 'creativeId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/accounts/{accountId}/creatives') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId'], + pathParams: ['accountId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + stopWatching(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v2beta1/accounts/{accountId}/creatives/{creativeId}:stopWatching') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['accountId', 'creativeId'], + pathParams: ['accountId', 'creativeId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v2beta1/accounts/{accountId}/creatives/{creativeId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['accountId', 'creativeId'], + pathParams: ['accountId', 'creativeId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + watch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v2beta1/accounts/{accountId}/creatives/{creativeId}:watch') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['accountId', 'creativeId'], + pathParams: ['accountId', 'creativeId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adexchangebuyer2_v2beta1.Resource$Accounts$Creatives = Resource$Accounts$Creatives; + class Resource$Accounts$Creatives$Dealassociations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + add(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v2beta1/accounts/{accountId}/creatives/{creativeId}/dealAssociations:add') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['accountId', 'creativeId'], + pathParams: ['accountId', 'creativeId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v2beta1/accounts/{accountId}/creatives/{creativeId}/dealAssociations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'creativeId'], + pathParams: ['accountId', 'creativeId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + remove(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v2beta1/accounts/{accountId}/creatives/{creativeId}/dealAssociations:remove') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['accountId', 'creativeId'], + pathParams: ['accountId', 'creativeId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adexchangebuyer2_v2beta1.Resource$Accounts$Creatives$Dealassociations = Resource$Accounts$Creatives$Dealassociations; + class Resource$Accounts$Finalizedproposals { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/accounts/{accountId}/finalizedProposals') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId'], + pathParams: ['accountId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adexchangebuyer2_v2beta1.Resource$Accounts$Finalizedproposals = Resource$Accounts$Finalizedproposals; + class Resource$Accounts$Products { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v2beta1/accounts/{accountId}/products/{productId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'productId'], + pathParams: ['accountId', 'productId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/accounts/{accountId}/products') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId'], + pathParams: ['accountId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adexchangebuyer2_v2beta1.Resource$Accounts$Products = Resource$Accounts$Products; + class Resource$Accounts$Proposals { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + accept(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v2beta1/accounts/{accountId}/proposals/{proposalId}:accept') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['accountId', 'proposalId'], + pathParams: ['accountId', 'proposalId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + addNote(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v2beta1/accounts/{accountId}/proposals/{proposalId}:addNote') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['accountId', 'proposalId'], + pathParams: ['accountId', 'proposalId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + cancelNegotiation(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v2beta1/accounts/{accountId}/proposals/{proposalId}:cancelNegotiation') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['accountId', 'proposalId'], + pathParams: ['accountId', 'proposalId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + completeSetup(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v2beta1/accounts/{accountId}/proposals/{proposalId}:completeSetup') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['accountId', 'proposalId'], + pathParams: ['accountId', 'proposalId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/accounts/{accountId}/proposals') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['accountId'], + pathParams: ['accountId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v2beta1/accounts/{accountId}/proposals/{proposalId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'proposalId'], + pathParams: ['accountId', 'proposalId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/accounts/{accountId}/proposals') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId'], + pathParams: ['accountId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + pause(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v2beta1/accounts/{accountId}/proposals/{proposalId}:pause') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['accountId', 'proposalId'], + pathParams: ['accountId', 'proposalId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + resume(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v2beta1/accounts/{accountId}/proposals/{proposalId}:resume') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['accountId', 'proposalId'], + pathParams: ['accountId', 'proposalId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v2beta1/accounts/{accountId}/proposals/{proposalId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['accountId', 'proposalId'], + pathParams: ['accountId', 'proposalId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adexchangebuyer2_v2beta1.Resource$Accounts$Proposals = Resource$Accounts$Proposals; + class Resource$Accounts$Publisherprofiles { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v2beta1/accounts/{accountId}/publisherProfiles/{publisherProfileId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'publisherProfileId'], + pathParams: ['accountId', 'publisherProfileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/accounts/{accountId}/publisherProfiles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId'], + pathParams: ['accountId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adexchangebuyer2_v2beta1.Resource$Accounts$Publisherprofiles = Resource$Accounts$Publisherprofiles; + class Resource$Bidders { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.accounts = new Resource$Bidders$Accounts(root); + this.filterSets = new Resource$Bidders$Filtersets(root); + } + getRoot() { + return this.root; + } + } + adexchangebuyer2_v2beta1.Resource$Bidders = Resource$Bidders; + class Resource$Bidders$Accounts { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.creatives = new Resource$Bidders$Accounts$Creatives(root); + this.filterSets = new Resource$Bidders$Accounts$Filtersets(root); + } + getRoot() { + return this.root; + } + } + adexchangebuyer2_v2beta1.Resource$Bidders$Accounts = Resource$Bidders$Accounts; + class Resource$Bidders$Accounts$Creatives { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+ownerName}/creatives/{creativeId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['ownerName', 'creativeId'], + pathParams: ['creativeId', 'ownerName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adexchangebuyer2_v2beta1.Resource$Bidders$Accounts$Creatives = Resource$Bidders$Accounts$Creatives; + class Resource$Bidders$Accounts$Filtersets { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.bidMetrics = + new Resource$Bidders$Accounts$Filtersets$Bidmetrics(root); + this.bidResponseErrors = + new Resource$Bidders$Accounts$Filtersets$Bidresponseerrors(root); + this.bidResponsesWithoutBids = + new Resource$Bidders$Accounts$Filtersets$Bidresponseswithoutbids(root); + this.filteredBidRequests = + new Resource$Bidders$Accounts$Filtersets$Filteredbidrequests(root); + this.filteredBids = + new Resource$Bidders$Accounts$Filtersets$Filteredbids(root); + this.impressionMetrics = + new Resource$Bidders$Accounts$Filtersets$Impressionmetrics(root); + this.losingBids = + new Resource$Bidders$Accounts$Filtersets$Losingbids(root); + this.nonBillableWinningBids = + new Resource$Bidders$Accounts$Filtersets$Nonbillablewinningbids(root); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+ownerName}/filterSets') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['ownerName'], + pathParams: ['ownerName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+ownerName}/filterSets') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['ownerName'], + pathParams: ['ownerName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adexchangebuyer2_v2beta1.Resource$Bidders$Accounts$Filtersets = Resource$Bidders$Accounts$Filtersets; + class Resource$Bidders$Accounts$Filtersets$Bidmetrics { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+filterSetName}/bidMetrics') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['filterSetName'], + pathParams: ['filterSetName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adexchangebuyer2_v2beta1.Resource$Bidders$Accounts$Filtersets$Bidmetrics = Resource$Bidders$Accounts$Filtersets$Bidmetrics; + class Resource$Bidders$Accounts$Filtersets$Bidresponseerrors { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+filterSetName}/bidResponseErrors') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['filterSetName'], + pathParams: ['filterSetName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adexchangebuyer2_v2beta1.Resource$Bidders$Accounts$Filtersets$Bidresponseerrors = Resource$Bidders$Accounts$Filtersets$Bidresponseerrors; + class Resource$Bidders$Accounts$Filtersets$Bidresponseswithoutbids { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v2beta1/{+filterSetName}/bidResponsesWithoutBids') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['filterSetName'], + pathParams: ['filterSetName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adexchangebuyer2_v2beta1.Resource$Bidders$Accounts$Filtersets$Bidresponseswithoutbids = Resource$Bidders$Accounts$Filtersets$Bidresponseswithoutbids; + class Resource$Bidders$Accounts$Filtersets$Filteredbidrequests { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+filterSetName}/filteredBidRequests') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['filterSetName'], + pathParams: ['filterSetName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adexchangebuyer2_v2beta1.Resource$Bidders$Accounts$Filtersets$Filteredbidrequests = Resource$Bidders$Accounts$Filtersets$Filteredbidrequests; + class Resource$Bidders$Accounts$Filtersets$Filteredbids { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.creatives = + new Resource$Bidders$Accounts$Filtersets$Filteredbids$Creatives(root); + this.details = + new Resource$Bidders$Accounts$Filtersets$Filteredbids$Details(root); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+filterSetName}/filteredBids') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['filterSetName'], + pathParams: ['filterSetName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adexchangebuyer2_v2beta1.Resource$Bidders$Accounts$Filtersets$Filteredbids = Resource$Bidders$Accounts$Filtersets$Filteredbids; + class Resource$Bidders$Accounts$Filtersets$Filteredbids$Creatives { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v2beta1/{+filterSetName}/filteredBids/{creativeStatusId}/creatives') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['filterSetName', 'creativeStatusId'], + pathParams: ['creativeStatusId', 'filterSetName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adexchangebuyer2_v2beta1.Resource$Bidders$Accounts$Filtersets$Filteredbids$Creatives = Resource$Bidders$Accounts$Filtersets$Filteredbids$Creatives; + class Resource$Bidders$Accounts$Filtersets$Filteredbids$Details { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v2beta1/{+filterSetName}/filteredBids/{creativeStatusId}/details') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['filterSetName', 'creativeStatusId'], + pathParams: ['creativeStatusId', 'filterSetName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adexchangebuyer2_v2beta1.Resource$Bidders$Accounts$Filtersets$Filteredbids$Details = Resource$Bidders$Accounts$Filtersets$Filteredbids$Details; + class Resource$Bidders$Accounts$Filtersets$Impressionmetrics { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+filterSetName}/impressionMetrics') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['filterSetName'], + pathParams: ['filterSetName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adexchangebuyer2_v2beta1.Resource$Bidders$Accounts$Filtersets$Impressionmetrics = Resource$Bidders$Accounts$Filtersets$Impressionmetrics; + class Resource$Bidders$Accounts$Filtersets$Losingbids { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+filterSetName}/losingBids') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['filterSetName'], + pathParams: ['filterSetName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adexchangebuyer2_v2beta1.Resource$Bidders$Accounts$Filtersets$Losingbids = Resource$Bidders$Accounts$Filtersets$Losingbids; + class Resource$Bidders$Accounts$Filtersets$Nonbillablewinningbids { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+filterSetName}/nonBillableWinningBids') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['filterSetName'], + pathParams: ['filterSetName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adexchangebuyer2_v2beta1.Resource$Bidders$Accounts$Filtersets$Nonbillablewinningbids = Resource$Bidders$Accounts$Filtersets$Nonbillablewinningbids; + class Resource$Bidders$Filtersets { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.bidMetrics = new Resource$Bidders$Filtersets$Bidmetrics(root); + this.bidResponseErrors = + new Resource$Bidders$Filtersets$Bidresponseerrors(root); + this.bidResponsesWithoutBids = + new Resource$Bidders$Filtersets$Bidresponseswithoutbids(root); + this.filteredBidRequests = + new Resource$Bidders$Filtersets$Filteredbidrequests(root); + this.filteredBids = new Resource$Bidders$Filtersets$Filteredbids(root); + this.impressionMetrics = + new Resource$Bidders$Filtersets$Impressionmetrics(root); + this.losingBids = new Resource$Bidders$Filtersets$Losingbids(root); + this.nonBillableWinningBids = + new Resource$Bidders$Filtersets$Nonbillablewinningbids(root); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+ownerName}/filterSets') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['ownerName'], + pathParams: ['ownerName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+ownerName}/filterSets') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['ownerName'], + pathParams: ['ownerName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adexchangebuyer2_v2beta1.Resource$Bidders$Filtersets = Resource$Bidders$Filtersets; + class Resource$Bidders$Filtersets$Bidmetrics { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+filterSetName}/bidMetrics') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['filterSetName'], + pathParams: ['filterSetName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adexchangebuyer2_v2beta1.Resource$Bidders$Filtersets$Bidmetrics = Resource$Bidders$Filtersets$Bidmetrics; + class Resource$Bidders$Filtersets$Bidresponseerrors { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+filterSetName}/bidResponseErrors') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['filterSetName'], + pathParams: ['filterSetName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adexchangebuyer2_v2beta1.Resource$Bidders$Filtersets$Bidresponseerrors = Resource$Bidders$Filtersets$Bidresponseerrors; + class Resource$Bidders$Filtersets$Bidresponseswithoutbids { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v2beta1/{+filterSetName}/bidResponsesWithoutBids') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['filterSetName'], + pathParams: ['filterSetName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adexchangebuyer2_v2beta1.Resource$Bidders$Filtersets$Bidresponseswithoutbids = Resource$Bidders$Filtersets$Bidresponseswithoutbids; + class Resource$Bidders$Filtersets$Filteredbidrequests { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+filterSetName}/filteredBidRequests') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['filterSetName'], + pathParams: ['filterSetName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adexchangebuyer2_v2beta1.Resource$Bidders$Filtersets$Filteredbidrequests = Resource$Bidders$Filtersets$Filteredbidrequests; + class Resource$Bidders$Filtersets$Filteredbids { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.creatives = + new Resource$Bidders$Filtersets$Filteredbids$Creatives(root); + this.details = new Resource$Bidders$Filtersets$Filteredbids$Details(root); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+filterSetName}/filteredBids') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['filterSetName'], + pathParams: ['filterSetName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adexchangebuyer2_v2beta1.Resource$Bidders$Filtersets$Filteredbids = Resource$Bidders$Filtersets$Filteredbids; + class Resource$Bidders$Filtersets$Filteredbids$Creatives { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v2beta1/{+filterSetName}/filteredBids/{creativeStatusId}/creatives') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['filterSetName', 'creativeStatusId'], + pathParams: ['creativeStatusId', 'filterSetName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adexchangebuyer2_v2beta1.Resource$Bidders$Filtersets$Filteredbids$Creatives = Resource$Bidders$Filtersets$Filteredbids$Creatives; + class Resource$Bidders$Filtersets$Filteredbids$Details { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v2beta1/{+filterSetName}/filteredBids/{creativeStatusId}/details') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['filterSetName', 'creativeStatusId'], + pathParams: ['creativeStatusId', 'filterSetName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adexchangebuyer2_v2beta1.Resource$Bidders$Filtersets$Filteredbids$Details = Resource$Bidders$Filtersets$Filteredbids$Details; + class Resource$Bidders$Filtersets$Impressionmetrics { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+filterSetName}/impressionMetrics') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['filterSetName'], + pathParams: ['filterSetName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adexchangebuyer2_v2beta1.Resource$Bidders$Filtersets$Impressionmetrics = Resource$Bidders$Filtersets$Impressionmetrics; + class Resource$Bidders$Filtersets$Losingbids { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+filterSetName}/losingBids') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['filterSetName'], + pathParams: ['filterSetName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adexchangebuyer2_v2beta1.Resource$Bidders$Filtersets$Losingbids = Resource$Bidders$Filtersets$Losingbids; + class Resource$Bidders$Filtersets$Nonbillablewinningbids { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexchangebuyer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+filterSetName}/nonBillableWinningBids') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['filterSetName'], + pathParams: ['filterSetName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adexchangebuyer2_v2beta1.Resource$Bidders$Filtersets$Nonbillablewinningbids = Resource$Bidders$Filtersets$Nonbillablewinningbids; +})(adexchangebuyer2_v2beta1 = exports.adexchangebuyer2_v2beta1 || (exports.adexchangebuyer2_v2beta1 = {})); +//# sourceMappingURL=v2beta1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer2/v2beta1.js.map b/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer2/v2beta1.js.map new file mode 100644 index 00000000..6f4c49cb --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/adexchangebuyer2/v2beta1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v2beta1.js","sourceRoot":"","sources":["../../../../src/apis/adexchangebuyer2/v2beta1.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAIH,yDAA2H;AAE3H,yBAAyB;AACzB,6BAA6B;AAC7B,gCAAgC;AAChC,+BAA+B;AAC/B,+BAA+B;AAE/B,IAAiB,wBAAwB,CAwiSxC;AAxiSD,WAAiB,wBAAwB;IAKvC;;;;;;;;;;;;;;;;OAgBG;IACH,MAAa,gBAAgB;QAQ3B,YAAY,OAAsB,EAAE,MAA2B;YAL/D,SAAI,GAAG,IAAI,CAAC;YAMV,IAAI,CAAC,QAAQ,GAAG,OAAO,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAExB,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,CAAC,OAAO,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;KACF;IApBY,yCAAgB,mBAoB5B,CAAA;IA80ED,MAAa,iBAAiB;QAQ5B,YAAY,IAAsB;YAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC,OAAO,GAAG,IAAI,yBAAyB,CAAC,IAAI,CAAC,CAAC;YACnD,IAAI,CAAC,SAAS,GAAG,IAAI,2BAA2B,CAAC,IAAI,CAAC,CAAC;YACvD,IAAI,CAAC,kBAAkB,GAAG,IAAI,oCAAoC,CAAC,IAAI,CAAC,CAAC;YACzE,IAAI,CAAC,QAAQ,GAAG,IAAI,0BAA0B,CAAC,IAAI,CAAC,CAAC;YACrD,IAAI,CAAC,SAAS,GAAG,IAAI,2BAA2B,CAAC,IAAI,CAAC,CAAC;YACvD,IAAI,CAAC,iBAAiB,GAAG,IAAI,mCAAmC,CAAC,IAAI,CAAC,CAAC;QACzE,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;KACF;IAtBY,0CAAiB,oBAsB7B,CAAA;IAGD,MAAa,yBAAyB;QAIpC,YAAY,IAAsB;YAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC,WAAW,GAAG,IAAI,qCAAqC,CAAC,IAAI,CAAC,CAAC;YACnE,IAAI,CAAC,KAAK,GAAG,IAAI,+BAA+B,CAAC,IAAI,CAAC,CAAC;QACzD,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA2BD,MAAM,CACF,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA4C,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6C,CAAC;gBACvD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,uCAAuC,CAAC;yBAC9C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;QAwBD,GAAG,CAAC,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAyC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0C,CAAC;gBACpD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,yDAAyD,CAAC;yBACtD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC;gBAChD,UAAU,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC;gBAC5C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;QA6BD,IAAI,CACA,gBACgD,EAChD,iBACgD,EAChD,QAA2D;YAE7D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,uCAAuC,CAAC;yBAC9C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA6B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACpE;iBAAM;gBACL,OAAO,oCAAgB,CAA6B,UAAU,CAAC,CAAC;aACjE;QACH,CAAC;QA4BD,MAAM,CACF,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA4C,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6C,CAAC;gBACvD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,yDAAyD,CAAC;yBACtD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC;gBAChD,UAAU,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC;gBAC5C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;KACF;IAhSY,kDAAyB,4BAgSrC,CAAA;IAoFD,MAAa,qCAAqC;QAEhD,YAAY,IAAsB;YAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA8BD,MAAM,CACF,gBACiD,EACjD,iBACiD,EACjD,QAA4D;YAE9D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACmB,CAAC;YACxD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAyD,CAAC;gBACnE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,qEAAqE,CAAC;yBAClE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC;gBAChD,UAAU,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC;gBAC5C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA8B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrE;iBAAM;gBACL,OAAO,oCAAgB,CAA8B,UAAU,CAAC,CAAC;aAClE;QACH,CAAC;QA0BD,GAAG,CAAC,gBACiD,EACjD,iBACiD,EACjD,QAA4D;YAE9D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACgB,CAAC;YACrD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsD,CAAC;gBAChE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,oFAAoF,CAAC;yBACjF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,iBAAiB,EAAE,cAAc,CAAC;gBAChE,UAAU,EAAE,CAAC,WAAW,EAAE,iBAAiB,EAAE,cAAc,CAAC;gBAC5D,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA8B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrE;iBAAM;gBACL,OAAO,oCAAgB,CAA8B,UAAU,CAAC,CAAC;aAClE;QACH,CAAC;QAsCD,IAAI,CACA,gBAC8D,EAC9D,iBAC8D,EAC9D,QACkE;YAEpE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACiB,CAAC;YACtD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAuD,CAAC;gBACjE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,qEAAqE,CAAC;yBAClE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC;gBAChD,UAAU,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC;gBAC5C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;KACF;IA9OY,8DAAqC,wCA8OjD,CAAA;IA2ED,MAAa,+BAA+B;QAE1C,YAAY,IAAsB;YAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAyBD,GAAG,CAAC,gBACuC,EACvC,iBACuC,EACvC,QAAkD;YAEpD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACU,CAAC;YAC/C,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgD,CAAC;gBAC1D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,wEAAwE,CAAC;yBACrE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,iBAAiB,EAAE,QAAQ,CAAC;gBAC1D,UAAU,EAAE,CAAC,WAAW,EAAE,iBAAiB,EAAE,QAAQ,CAAC;gBACtD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAoB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3D;iBAAM;gBACL,OAAO,oCAAgB,CAAoB,UAAU,CAAC,CAAC;aACxD;QACH,CAAC;QA+BD,IAAI,CACA,gBACoD,EACpD,iBACoD,EACpD,QAA+D;YAEjE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACW,CAAC;YAChD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiD,CAAC;gBAC3D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,+DAA+D,CAAC;yBAC5D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC;gBAChD,UAAU,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC;gBAC5C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxE;iBAAM;gBACL,OAAO,oCAAgB,CAAiC,UAAU,CAAC,CAAC;aACrE;QACH,CAAC;QA8BD,MAAM,CACF,gBACuC,EACvC,iBACuC,EACvC,QAAkD;YAEpD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACa,CAAC;YAClD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmD,CAAC;gBAC7D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,wEAAwE,CAAC;yBACrE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,iBAAiB,EAAE,QAAQ,CAAC;gBAC1D,UAAU,EAAE,CAAC,WAAW,EAAE,iBAAiB,EAAE,QAAQ,CAAC;gBACtD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAoB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3D;iBAAM;gBACL,OAAO,oCAAgB,CAAoB,UAAU,CAAC,CAAC;aACxD;QACH,CAAC;KACF;IAnOY,wDAA+B,kCAmO3C,CAAA;IAiFD,MAAa,2BAA2B;QAGtC,YAAY,IAAsB;YAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC,gBAAgB;gBACjB,IAAI,4CAA4C,CAAC,IAAI,CAAC,CAAC;QAC7D,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA4BD,MAAM,CACF,gBACqC,EACrC,iBAAuE,EACvE,QAAgD;YAElD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA8C,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA+C,CAAC;gBACzD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,yCAAyC,CAAC;yBAChD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzD;iBAAM;gBACL,OAAO,oCAAgB,CAAkB,UAAU,CAAC,CAAC;aACtD;QACH,CAAC;QAwBD,GAAG,CAAC,gBACqC,EACrC,iBAAuE,EACvE,QAAgD;YAElD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA2C,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4C,CAAC;gBACtD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,sDAAsD,CAAC;yBACnD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;gBAC3C,UAAU,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;gBACvC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzD;iBAAM;gBACL,OAAO,oCAAgB,CAAkB,UAAU,CAAC,CAAC;aACtD;QACH,CAAC;QA8BD,IAAI,CACA,gBACkD,EAClD,iBACkD,EAClD,QAA6D;YAE/D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA4C,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6C,CAAC;gBACvD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,yCAAyC,CAAC;yBAChD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA+B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtE;iBAAM;gBACL,OAAO,oCAAgB,CAA+B,UAAU,CAAC,CAAC;aACnE;QACH,CAAC;QA6BD,YAAY,CACR,gBACkC,EAClC,iBAAoE,EACpE,QAA6C;YAE/C,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACe,CAAC;YACpD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqD,CAAC;gBAC/D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,mEAAmE,CAAC;yBAChE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;gBAC3C,UAAU,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;gBACvC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAe,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtD;iBAAM;gBACL,OAAO,oCAAgB,CAAe,UAAU,CAAC,CAAC;aACnD;QACH,CAAC;QA4BD,MAAM,CACF,gBACqC,EACrC,iBAAuE,EACvE,QAAgD;YAElD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA8C,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA+C,CAAC;gBACzD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,sDAAsD,CAAC;yBACnD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;gBAC3C,UAAU,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;gBACvC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzD;iBAAM;gBACL,OAAO,oCAAgB,CAAkB,UAAU,CAAC,CAAC;aACtD;QACH,CAAC;QA6BD,KAAK,CACD,gBACkC,EAClC,iBAAoE,EACpE,QAA6C;YAE/C,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA6C,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8C,CAAC;gBACxD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4DAA4D,CAAC;yBACzD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;gBAC3C,UAAU,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;gBACvC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAe,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtD;iBAAM;gBACL,OAAO,oCAAgB,CAAe,UAAU,CAAC,CAAC;aACnD;QACH,CAAC;KACF;IAjbY,oDAA2B,8BAibvC,CAAA;IAgJD,MAAa,4CAA4C;QAEvD,YAAY,IAAsB;YAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAyBD,GAAG,CAAC,gBAEkC,EAClC,iBAAoE,EACpE,QAA6C;YAE/C,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACuB,CAAC;YAC5D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6D,CAAC;gBACvE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,2EAA2E,CAAC;yBACxE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;gBAC3C,UAAU,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;gBACvC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAe,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtD;iBAAM;gBACL,OAAO,oCAAgB,CAAe,UAAU,CAAC,CAAC;aACnD;QACH,CAAC;QAmCD,IAAI,CACA,gBAEyD,EACzD,iBACyD,EACzD,QAAoE;YAEtE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACwB,CAAC;YAC7D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8D,CAAC;gBACxE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,uEAAuE,CAAC;yBACpE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;gBAC3C,UAAU,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;gBACvC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;QA4BD,MAAM,CACF,gBAEkC,EAClC,iBAAoE,EACpE,QAA6C;YAE/C,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAC0B,CAAC;YAC/D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACqD,CAAC;gBAC/D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,8EAA8E,CAAC;yBAC3E,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;gBAC3C,UAAU,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;gBACvC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAe,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtD;iBAAM;gBACL,OAAO,oCAAgB,CAAe,UAAU,CAAC,CAAC;aACnD;QACH,CAAC;KACF;IAzOY,qEAA4C,+CAyOxD,CAAA;IAqFD,MAAa,oCAAoC;QAE/C,YAAY,IAAsB;YAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAiCD,IAAI,CACA,gBACkD,EAClD,iBACkD,EAClD,QAA6D;YAE/D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACgB,CAAC;YACrD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsD,CAAC;gBAChE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO,GAAG,kDAAkD,CAAC;yBACzD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA+B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtE;iBAAM;gBACL,OAAO,oCAAgB,CAA+B,UAAU,CAAC,CAAC;aACnE;QACH,CAAC;KACF;IAtFY,6DAAoC,uCAsFhD,CAAA;IAmCD,MAAa,0BAA0B;QAErC,YAAY,IAAsB;YAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAwBD,GAAG,CAAC,gBACoC,EACpC,iBAAsE,EACtE,QAA+C;YAEjD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,oDAAoD,CAAC;yBACjD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC;gBAC1C,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC;gBACtC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxD;iBAAM;gBACL,OAAO,oCAAgB,CAAiB,UAAU,CAAC,CAAC;aACrD;QACH,CAAC;QA+BD,IAAI,CACA,gBACiD,EACjD,iBACiD,EACjD,QAA4D;YAE9D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA2C,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4C,CAAC;gBACtD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,wCAAwC,CAAC;yBAC/C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA8B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrE;iBAAM;gBACL,OAAO,oCAAgB,CAA8B,UAAU,CAAC,CAAC;aAClE;QACH,CAAC;KACF;IApJY,mDAA0B,6BAoJtC,CAAA;IA8CD,MAAa,2BAA2B;QAEtC,YAAY,IAAsB;YAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA+BD,MAAM,CACF,gBACqC,EACrC,iBAAuE,EACvE,QAAgD;YAElD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA8C,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA+C,CAAC;gBACzD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,6DAA6D,CAAC;yBAC1D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;gBAC3C,UAAU,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;gBACvC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzD;iBAAM;gBACL,OAAO,oCAAgB,CAAkB,UAAU,CAAC,CAAC;aACtD;QACH,CAAC;QA8BD,OAAO,CACH,gBACiC,EACjC,iBAAmE,EACnE,QAA4C;YAE9C,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACU,CAAC;YAC/C,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgD,CAAC;gBAC1D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,8DAA8D,CAAC;yBAC3D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;gBAC3C,UAAU,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;gBACvC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAc,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrD;iBAAM;gBACL,OAAO,oCAAgB,CAAc,UAAU,CAAC,CAAC;aAClD;QACH,CAAC;QA8BD,iBAAiB,CACb,gBACqC,EACrC,iBAAuE,EACvE,QAAgD;YAElD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACoB,CAAC;YACzD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0D,CAAC;gBACpE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,wEAAwE,CAAC;yBACrE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;gBAC3C,UAAU,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;gBACvC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzD;iBAAM;gBACL,OAAO,oCAAgB,CAAkB,UAAU,CAAC,CAAC;aACtD;QACH,CAAC;QAkCD,aAAa,CACT,gBACqC,EACrC,iBAAuE,EACvE,QAAgD;YAElD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACgB,CAAC;YACrD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsD,CAAC;gBAChE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,oEAAoE,CAAC;yBACjE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;gBAC3C,UAAU,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;gBACvC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzD;iBAAM;gBACL,OAAO,oCAAgB,CAAkB,UAAU,CAAC,CAAC;aACtD;QACH,CAAC;QA4BD,MAAM,CACF,gBACqC,EACrC,iBAAuE,EACvE,QAAgD;YAElD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA8C,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA+C,CAAC;gBACzD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,yCAAyC,CAAC;yBAChD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzD;iBAAM;gBACL,OAAO,oCAAgB,CAAkB,UAAU,CAAC,CAAC;aACtD;QACH,CAAC;QAyBD,GAAG,CAAC,gBACqC,EACrC,iBAAuE,EACvE,QAAgD;YAElD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA2C,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4C,CAAC;gBACtD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,sDAAsD,CAAC;yBACnD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;gBAC3C,UAAU,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;gBACvC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzD;iBAAM;gBACL,OAAO,oCAAgB,CAAkB,UAAU,CAAC,CAAC;aACtD;QACH,CAAC;QAoCD,IAAI,CACA,gBACkD,EAClD,iBACkD,EAClD,QAA6D;YAE/D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA4C,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6C,CAAC;gBACvD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,yCAAyC,CAAC;yBAChD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA+B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtE;iBAAM;gBACL,OAAO,oCAAgB,CAA+B,UAAU,CAAC,CAAC;aACnE;QACH,CAAC;QAgCD,KAAK,CACD,gBACqC,EACrC,iBAAuE,EACvE,QAAgD;YAElD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA6C,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8C,CAAC;gBACxD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4DAA4D,CAAC;yBACzD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;gBAC3C,UAAU,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;gBACvC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzD;iBAAM;gBACL,OAAO,oCAAgB,CAAkB,UAAU,CAAC,CAAC;aACtD;QACH,CAAC;QAiCD,MAAM,CACF,gBACqC,EACrC,iBAAuE,EACvE,QAAgD;YAElD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA8C,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA+C,CAAC;gBACzD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,6DAA6D,CAAC;yBAC1D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;gBAC3C,UAAU,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;gBACvC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzD;iBAAM;gBACL,OAAO,oCAAgB,CAAkB,UAAU,CAAC,CAAC;aACtD;QACH,CAAC;QAqCD,MAAM,CACF,gBACqC,EACrC,iBAAuE,EACvE,QAAgD;YAElD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA8C,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA+C,CAAC;gBACzD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,sDAAsD,CAAC;yBACnD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;gBAC3C,UAAU,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;gBACvC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzD;iBAAM;gBACL,OAAO,oCAAgB,CAAkB,UAAU,CAAC,CAAC;aACtD;QACH,CAAC;KACF;IA9uBY,oDAA2B,8BA8uBvC,CAAA;IA8MD,MAAa,mCAAmC;QAE9C,YAAY,IAAsB;YAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAwBD,GAAG,CAAC,gBAC6C,EAC7C,iBAC6C,EAC7C,QAAwD;YAE1D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACc,CAAC;YACnD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoD,CAAC;gBAC9D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,sEAAsE,CAAC;yBACnE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,oBAAoB,CAAC;gBACnD,UAAU,EAAE,CAAC,WAAW,EAAE,oBAAoB,CAAC;gBAC/C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA0B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACjE;iBAAM;gBACL,OAAO,oCAAgB,CAA0B,UAAU,CAAC,CAAC;aAC9D;QACH,CAAC;QAiCD,IAAI,CACA,gBAC0D,EAC1D,iBAC0D,EAC1D,QAAqE;YAEvE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACe,CAAC;YACpD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqD,CAAC;gBAC/D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,iDAAiD,CAAC;yBACxD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;KACF;IA1JY,4DAAmC,sCA0J/C,CAAA;IAuCD,MAAa,gBAAgB;QAI3B,YAAY,IAAsB;YAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,yBAAyB,CAAC,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,UAAU,GAAG,IAAI,2BAA2B,CAAC,IAAI,CAAC,CAAC;QAC1D,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;KACF;IAdY,yCAAgB,mBAc5B,CAAA;IAGD,MAAa,yBAAyB;QAIpC,YAAY,IAAsB;YAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC,SAAS,GAAG,IAAI,mCAAmC,CAAC,IAAI,CAAC,CAAC;YAC/D,IAAI,CAAC,UAAU,GAAG,IAAI,oCAAoC,CAAC,IAAI,CAAC,CAAC;QACnE,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;KACF;IAdY,kDAAyB,4BAcrC,CAAA;IAGD,MAAa,mCAAmC;QAE9C,YAAY,IAAsB;YAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA8BD,MAAM,CACF,gBACkC,EAClC,iBAAoE,EACpE,QAA6C;YAE/C,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACiB,CAAC;YACtD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAuD,CAAC;gBACjE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,8CAA8C,CAAC;yBACrD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;gBAC3C,UAAU,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC;gBACvC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAe,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtD;iBAAM;gBACL,OAAO,oCAAgB,CAAe,UAAU,CAAC,CAAC;aACnD;QACH,CAAC;KACF;IAjFY,4DAAmC,sCAiF/C,CAAA;IAuBD,MAAa,oCAAoC;QAa/C,YAAY,IAAsB;YAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC,UAAU;gBACX,IAAI,+CAA+C,CAAC,IAAI,CAAC,CAAC;YAC9D,IAAI,CAAC,iBAAiB;gBAClB,IAAI,sDAAsD,CAAC,IAAI,CAAC,CAAC;YACrE,IAAI,CAAC,uBAAuB;gBACxB,IAAI,4DAA4D,CAC5D,IAAI,CAAC,CAAC;YACd,IAAI,CAAC,mBAAmB;gBACpB,IAAI,wDAAwD,CAAC,IAAI,CAAC,CAAC;YACvE,IAAI,CAAC,YAAY;gBACb,IAAI,iDAAiD,CAAC,IAAI,CAAC,CAAC;YAChE,IAAI,CAAC,iBAAiB;gBAClB,IAAI,sDAAsD,CAAC,IAAI,CAAC,CAAC;YACrE,IAAI,CAAC,UAAU;gBACX,IAAI,+CAA+C,CAAC,IAAI,CAAC,CAAC;YAC9D,IAAI,CAAC,sBAAsB;gBACvB,IAAI,2DAA2D,CAAC,IAAI,CAAC,CAAC;QAC5E,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA6BD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACkB,CAAC;YACvD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwD,CAAC;gBAClE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,kCAAkC,CAAC;yBACzC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA2BD,MAAM,CACF,gBACkC,EAClC,iBAAoE,EACpE,QAA6C;YAE/C,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACkB,CAAC;YACvD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwD,CAAC;gBAClE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,kBAAkB,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACjE,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAe,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtD;iBAAM;gBACL,OAAO,oCAAgB,CAAe,UAAU,CAAC,CAAC;aACnD;QACH,CAAC;QAwBD,GAAG,CAAC,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACe,CAAC;YACpD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqD,CAAC;gBAC/D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,kBAAkB,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACjE,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA6BD,IAAI,CACA,gBACmD,EACnD,iBACmD,EACnD,QAA8D;YAEhE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACgB,CAAC;YACrD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsD,CAAC;gBAChE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,kCAAkC,CAAC;yBACzC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvE;iBAAM;gBACL,OAAO,oCAAgB,CAAgC,UAAU,CAAC,CAAC;aACpE;QACH,CAAC;KACF;IAvTY,6DAAoC,uCAuThD,CAAA;IAyFD,MAAa,+CAA+C;QAE1D,YAAY,IAAsB;YAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA6BD,IAAI,CACA,gBAEmD,EACnD,iBACmD,EACnD,QAA8D;YAEhE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAC2B,CAAC;YAChE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACsD,CAAC;gBAChE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,sCAAsC,CAAC;yBAC7C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,eAAe,CAAC;gBACjC,UAAU,EAAE,CAAC,eAAe,CAAC;gBAC7B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvE;iBAAM;gBACL,OAAO,oCAAgB,CAAgC,UAAU,CAAC,CAAC;aACpE;QACH,CAAC;KACF;IAnFY,wEAA+C,kDAmF3D,CAAA;IAgCD,MAAa,sDAAsD;QAEjE,YAAY,IAAsB;YAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAsCD,IAAI,CACA,gBAE0D,EAC1D,iBAC0D,EAC1D,QAAqE;YAEvE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACkC,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAC6D,CAAC;gBACvE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,6CAA6C,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,eAAe,CAAC;gBACjC,UAAU,EAAE,CAAC,eAAe,CAAC;gBAC7B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;KACF;IA9FY,+EAAsD,yDA8FlE,CAAA;IAiCD,MAAa,4DAA4D;QAEvE,YAAY,IAAsB;YAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA0CD,IAAI,CACA,gBAEgE,EAChE,iBACgE,EAChE,QACoE;YAEtE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACwC,CAAC;YAC7E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACmE,CAAC;gBAC7E,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,mDAAmD,CAAC;yBAChD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,eAAe,CAAC;gBACjC,UAAU,EAAE,CAAC,eAAe,CAAC;gBAC7B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;KACF;IApGY,qFAA4D,+DAoGxE,CAAA;IAiCD,MAAa,wDAAwD;QAEnE,YAAY,IAAsB;YAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAuCD,IAAI,CACA,gBAE4D,EAC5D,iBAC4D,EAC5D,QACgE;YAElE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACoC,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAC+D,CAAC;gBACzE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,+CAA+C,CAAC;yBACtD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,eAAe,CAAC;gBACjC,UAAU,EAAE,CAAC,eAAe,CAAC;gBAC7B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;KACF;IAhGY,iFAAwD,2DAgGpE,CAAA;IAiCD,MAAa,iDAAiD;QAI5D,YAAY,IAAsB;YAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC,SAAS;gBACV,IAAI,2DAA2D,CAAC,IAAI,CAAC,CAAC;YAC1E,IAAI,CAAC,OAAO;gBACR,IAAI,yDAAyD,CAAC,IAAI,CAAC,CAAC;QAC1E,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA8BD,IAAI,CACA,gBAEqD,EACrD,iBACqD,EACrD,QAAgE;YAElE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAC6B,CAAC;YAClE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACwD,CAAC;gBAClE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,wCAAwC,CAAC;yBAC/C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,eAAe,CAAC;gBACjC,UAAU,EAAE,CAAC,eAAe,CAAC;gBAC7B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzE;iBAAM;gBACL,OAAO,oCAAgB,CAAkC,UAAU,CAAC,CAAC;aACtE;QACH,CAAC;KACF;IA1FY,0EAAiD,oDA0F7D,CAAA;IA+BD,MAAa,2DAA2D;QAEtE,YAAY,IAAsB;YAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAuCD,IAAI,CACA,gBAGyD,EACzD,iBACyD,EACzD,QACyD;YAE3D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACuC,CAAC;YAC5E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACkE,CAAC;gBAC5E,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,qEAAqE,CAAC;yBAClE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,eAAe,EAAE,kBAAkB,CAAC;gBACrD,UAAU,EAAE,CAAC,kBAAkB,EAAE,eAAe,CAAC;gBACjD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACmC,UAAU,CAAC,CAAC;aACvE;QACH,CAAC;KACF;IAnGY,oFAA2D,8DAmGvE,CAAA;IAuCD,MAAa,yDAAyD;QAEpE,YAAY,IAAsB;YAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAuCD,IAAI,CACA,gBAGuD,EACvD,iBACuD,EACvD,QACuD;YAEzD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACqC,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACgE,CAAC;gBAC1E,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,mEAAmE,CAAC;yBAChE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,eAAe,EAAE,kBAAkB,CAAC;gBACrD,UAAU,EAAE,CAAC,kBAAkB,EAAE,eAAe,CAAC;gBACjD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACiC,UAAU,CAAC,CAAC;aACrE;QACH,CAAC;KACF;IAnGY,kFAAyD,4DAmGrE,CAAA;IA0CD,MAAa,sDAAsD;QAEjE,YAAY,IAAsB;YAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAsCD,IAAI,CACA,gBAE0D,EAC1D,iBAC0D,EAC1D,QAAqE;YAEvE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACkC,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAC6D,CAAC;gBACvE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,6CAA6C,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,eAAe,CAAC;gBACjC,UAAU,EAAE,CAAC,eAAe,CAAC;gBAC7B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;KACF;IA9FY,+EAAsD,yDA8FlE,CAAA;IAiCD,MAAa,+CAA+C;QAE1D,YAAY,IAAsB;YAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA8BD,IAAI,CACA,gBAEmD,EACnD,iBACmD,EACnD,QAA8D;YAEhE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAC2B,CAAC;YAChE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACsD,CAAC;gBAChE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,sCAAsC,CAAC;yBAC7C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,eAAe,CAAC;gBACjC,UAAU,EAAE,CAAC,eAAe,CAAC;gBAC7B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvE;iBAAM;gBACL,OAAO,oCAAgB,CAAgC,UAAU,CAAC,CAAC;aACpE;QACH,CAAC;KACF;IApFY,wEAA+C,kDAoF3D,CAAA;IAgCD,MAAa,2DAA2D;QAEtE,YAAY,IAAsB;YAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAyCD,IAAI,CACA,gBAE+D,EAC/D,iBAC+D,EAC/D,QACmE;YAErE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACuC,CAAC;YAC5E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACkE,CAAC;gBAC5E,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO,GAAG,kDAAkD,CAAC;yBACzD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,eAAe,CAAC;gBACjC,UAAU,EAAE,CAAC,eAAe,CAAC;gBAC7B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;KACF;IAnGY,oFAA2D,8DAmGvE,CAAA;IAkCD,MAAa,2BAA2B;QAWtC,YAAY,IAAsB;YAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC,UAAU,GAAG,IAAI,sCAAsC,CAAC,IAAI,CAAC,CAAC;YACnE,IAAI,CAAC,iBAAiB;gBAClB,IAAI,6CAA6C,CAAC,IAAI,CAAC,CAAC;YAC5D,IAAI,CAAC,uBAAuB;gBACxB,IAAI,mDAAmD,CAAC,IAAI,CAAC,CAAC;YAClE,IAAI,CAAC,mBAAmB;gBACpB,IAAI,+CAA+C,CAAC,IAAI,CAAC,CAAC;YAC9D,IAAI,CAAC,YAAY,GAAG,IAAI,wCAAwC,CAAC,IAAI,CAAC,CAAC;YACvE,IAAI,CAAC,iBAAiB;gBAClB,IAAI,6CAA6C,CAAC,IAAI,CAAC,CAAC;YAC5D,IAAI,CAAC,UAAU,GAAG,IAAI,sCAAsC,CAAC,IAAI,CAAC,CAAC;YACnE,IAAI,CAAC,sBAAsB;gBACvB,IAAI,kDAAkD,CAAC,IAAI,CAAC,CAAC;QACnE,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA6BD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA8C,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA+C,CAAC;gBACzD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,kCAAkC,CAAC;yBACzC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA2BD,MAAM,CACF,gBACkC,EAClC,iBAAoE,EACpE,QAA6C;YAE/C,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA8C,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA+C,CAAC;gBACzD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,kBAAkB,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACjE,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAe,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtD;iBAAM;gBACL,OAAO,oCAAgB,CAAe,UAAU,CAAC,CAAC;aACnD;QACH,CAAC;QAwBD,GAAG,CAAC,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA2C,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4C,CAAC;gBACtD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,kBAAkB,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACjE,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA6BD,IAAI,CACA,gBACmD,EACnD,iBACmD,EACnD,QAA8D;YAEhE,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA4C,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6C,CAAC;gBACvD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,kCAAkC,CAAC;yBACzC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvE;iBAAM;gBACL,OAAO,oCAAgB,CAAgC,UAAU,CAAC,CAAC;aACpE;QACH,CAAC;KACF;IAjTY,oDAA2B,8BAiTvC,CAAA;IAyFD,MAAa,sCAAsC;QAEjD,YAAY,IAAsB;YAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA6BD,IAAI,CACA,gBACmD,EACnD,iBACmD,EACnD,QAA8D;YAEhE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACkB,CAAC;YACvD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwD,CAAC;gBAClE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,sCAAsC,CAAC;yBAC7C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,eAAe,CAAC;gBACjC,UAAU,EAAE,CAAC,eAAe,CAAC;gBAC7B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvE;iBAAM;gBACL,OAAO,oCAAgB,CAAgC,UAAU,CAAC,CAAC;aACpE;QACH,CAAC;KACF;IAjFY,+DAAsC,yCAiFlD,CAAA;IAgCD,MAAa,6CAA6C;QAExD,YAAY,IAAsB;YAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAkCD,IAAI,CACA,gBAE0D,EAC1D,iBAC0D,EAC1D,QAAqE;YAEvE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACyB,CAAC;YAC9D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACoD,CAAC;gBAC9D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,6CAA6C,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,eAAe,CAAC;gBACjC,UAAU,EAAE,CAAC,eAAe,CAAC;gBAC7B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;KACF;IA1FY,sEAA6C,gDA0FzD,CAAA;IAiCD,MAAa,mDAAmD;QAE9D,YAAY,IAAsB;YAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAuCD,IAAI,CACA,gBAEgE,EAChE,iBACgE,EAChE,QACoE;YAEtE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAC+B,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAC0D,CAAC;gBACpE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,mDAAmD,CAAC;yBAChD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,eAAe,CAAC;gBACjC,UAAU,EAAE,CAAC,eAAe,CAAC;gBAC7B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;KACF;IAjGY,4EAAmD,sDAiG/D,CAAA;IAiCD,MAAa,+CAA+C;QAE1D,YAAY,IAAsB;YAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAmCD,IAAI,CACA,gBAE4D,EAC5D,iBAC4D,EAC5D,QACgE;YAElE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAC2B,CAAC;YAChE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACsD,CAAC;gBAChE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,+CAA+C,CAAC;yBACtD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,eAAe,CAAC;gBACjC,UAAU,EAAE,CAAC,eAAe,CAAC;gBAC7B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;KACF;IA5FY,wEAA+C,kDA4F3D,CAAA;IAiCD,MAAa,wCAAwC;QAInD,YAAY,IAAsB;YAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC,SAAS;gBACV,IAAI,kDAAkD,CAAC,IAAI,CAAC,CAAC;YACjE,IAAI,CAAC,OAAO,GAAG,IAAI,gDAAgD,CAAC,IAAI,CAAC,CAAC;QAC5E,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA8BD,IAAI,CACA,gBACqD,EACrD,iBACqD,EACrD,QAAgE;YAElE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACoB,CAAC;YACzD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0D,CAAC;gBACpE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,wCAAwC,CAAC;yBAC/C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,eAAe,CAAC;gBACjC,UAAU,EAAE,CAAC,eAAe,CAAC;gBAC7B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzE;iBAAM;gBACL,OAAO,oCAAgB,CAAkC,UAAU,CAAC,CAAC;aACtE;QACH,CAAC;KACF;IAvFY,iEAAwC,2CAuFpD,CAAA;IA+BD,MAAa,kDAAkD;QAE7D,YAAY,IAAsB;YAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAmCD,IAAI,CACA,gBAGyD,EACzD,iBACyD,EACzD,QACyD;YAE3D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAC8B,CAAC;YACnE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACyD,CAAC;gBACnE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,qEAAqE,CAAC;yBAClE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,eAAe,EAAE,kBAAkB,CAAC;gBACrD,UAAU,EAAE,CAAC,kBAAkB,EAAE,eAAe,CAAC;gBACjD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACmC,UAAU,CAAC,CAAC;aACvE;QACH,CAAC;KACF;IA/FY,2EAAkD,qDA+F9D,CAAA;IAuCD,MAAa,gDAAgD;QAE3D,YAAY,IAAsB;YAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAmCD,IAAI,CACA,gBAGuD,EACvD,iBACuD,EACvD,QACuD;YAEzD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAC4B,CAAC;YACjE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACuD,CAAC;gBACjE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,mEAAmE,CAAC;yBAChE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,eAAe,EAAE,kBAAkB,CAAC;gBACrD,UAAU,EAAE,CAAC,kBAAkB,EAAE,eAAe,CAAC;gBACjD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACiC,UAAU,CAAC,CAAC;aACrE;QACH,CAAC;KACF;IA/FY,yEAAgD,mDA+F5D,CAAA;IA0CD,MAAa,6CAA6C;QAExD,YAAY,IAAsB;YAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAkCD,IAAI,CACA,gBAE0D,EAC1D,iBAC0D,EAC1D,QAAqE;YAEvE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACyB,CAAC;YAC9D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACoD,CAAC;gBAC9D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,6CAA6C,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,eAAe,CAAC;gBACjC,UAAU,EAAE,CAAC,eAAe,CAAC;gBAC7B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;KACF;IA1FY,sEAA6C,gDA0FzD,CAAA;IAiCD,MAAa,sCAAsC;QAEjD,YAAY,IAAsB;YAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA8BD,IAAI,CACA,gBACmD,EACnD,iBACmD,EACnD,QAA8D;YAEhE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACkB,CAAC;YACvD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwD,CAAC;gBAClE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,sCAAsC,CAAC;yBAC7C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,eAAe,CAAC;gBACjC,UAAU,EAAE,CAAC,eAAe,CAAC;gBAC7B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvE;iBAAM;gBACL,OAAO,oCAAgB,CAAgC,UAAU,CAAC,CAAC;aACpE;QACH,CAAC;KACF;IAlFY,+DAAsC,yCAkFlD,CAAA;IAgCD,MAAa,kDAAkD;QAE7D,YAAY,IAAsB;YAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAqCD,IAAI,CACA,gBAE+D,EAC/D,iBAC+D,EAC/D,QACmE;YAErE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAC8B,CAAC;YACnE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACyD,CAAC;gBACnE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,yCAAyC,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO,GAAG,kDAAkD,CAAC;yBACzD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,eAAe,CAAC;gBACjC,UAAU,EAAE,CAAC,eAAe,CAAC;gBAC7B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;KACF;IA/FY,2EAAkD,qDA+F9D,CAAA;AA+BH,CAAC,EAxiSgB,wBAAwB,GAAxB,gCAAwB,KAAxB,gCAAwB,QAwiSxC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/adexperiencereport/README.md b/express-server/node_modules/googleapis/build/src/apis/adexperiencereport/README.md new file mode 100644 index 00000000..8ad34374 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/adexperiencereport/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/adexperiencereport + +> View Ad Experience Report data, and get a list of sites that have a significant number of annoying ads. + +## Installation + +```sh +$ npm install @google/adexperiencereport +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/adexperiencereport/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/adexperiencereport/index.d.ts new file mode 100644 index 00000000..cb90191f --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/adexperiencereport/index.d.ts @@ -0,0 +1,6 @@ +import { adexperiencereport_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof adexperiencereport_v1.Adexperiencereport; +}; +export declare function adexperiencereport(version: 'v1'): adexperiencereport_v1.Adexperiencereport; +export declare function adexperiencereport(options: adexperiencereport_v1.Options): adexperiencereport_v1.Adexperiencereport; diff --git a/express-server/node_modules/googleapis/build/src/apis/adexperiencereport/index.js b/express-server/node_modules/googleapis/build/src/apis/adexperiencereport/index.js new file mode 100644 index 00000000..fc7c1068 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/adexperiencereport/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.adexperiencereport_v1.Adexperiencereport, +}; +function adexperiencereport(versionOrOptions) { + return googleapis_common_1.getAPI('adexperiencereport', versionOrOptions, exports.VERSIONS, this); +} +exports.adexperiencereport = adexperiencereport; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/adexperiencereport/index.js.map b/express-server/node_modules/googleapis/build/src/apis/adexperiencereport/index.js.map new file mode 100644 index 00000000..78c4da27 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/adexperiencereport/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/adexperiencereport/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAA2C;AAE9B,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,0BAAqB,CAAC,kBAAkB;CAC/C,CAAC;AAMF,SACA,kBAAkB,CAEd,gBAAoD;IACtD,OAAO,0BAAM,CAAI,oBAAoB,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAC3E,CAAC;AALD,gDAKC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/adexperiencereport/package.json b/express-server/node_modules/googleapis/build/src/apis/adexperiencereport/package.json new file mode 100644 index 00000000..25c724b3 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/adexperiencereport/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/adexperiencereport", + "version": "0.1.0", + "description": "adexperiencereport", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/adexperiencereport/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/adexperiencereport/v1.d.ts new file mode 100644 index 00000000..b6307150 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/adexperiencereport/v1.d.ts @@ -0,0 +1,172 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace adexperiencereport_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Ad Experience Report API + * + * View Ad Experience Report data, and get a list of sites that have a + * significant number of annoying ads. + * + * @example + * const {google} = require('googleapis'); + * const adexperiencereport = google.adexperiencereport('v1'); + * + * @namespace adexperiencereport + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Adexperiencereport + */ + class Adexperiencereport { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + sites: Resource$Sites; + violatingSites: Resource$Violatingsites; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Summary of the ad experience rating of a site for a specific platform. + */ + interface Schema$PlatformSummary { + /** + * The status of the site reviewed for the Better Ads Standards. + */ + betterAdsStatus?: string; + /** + * The date on which ad filtering begins. + */ + enforcementTime?: string; + /** + * The ad filtering status of the site. + */ + filterStatus?: string; + /** + * The last time that the site changed status. + */ + lastChangeTime?: string; + /** + * The assigned regions for the site and platform. + */ + region?: string[]; + /** + * A link that leads to a full ad experience report. + */ + reportUrl?: string; + /** + * Whether the site is currently under review. + */ + underReview?: boolean; + } + /** + * Response message for GetSiteSummary. + */ + interface Schema$SiteSummaryResponse { + /** + * Summary for the desktop review of the site. + */ + desktopSummary?: Schema$PlatformSummary; + /** + * Summary for the mobile review of the site. + */ + mobileSummary?: Schema$PlatformSummary; + /** + * The name of the site reviewed. + */ + reviewedSite?: string; + } + /** + * Response message for ListViolatingSites. + */ + interface Schema$ViolatingSitesResponse { + /** + * A list of summaries of violating sites. + */ + violatingSites?: Schema$SiteSummaryResponse[]; + } + class Resource$Sites { + root: Adexperiencereport; + constructor(root: Adexperiencereport); + getRoot(): Adexperiencereport; + /** + * adexperiencereport.sites.get + * @desc Gets a summary of the ad experience rating of a site. + * @alias adexperiencereport.sites.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The required site name. It should be the site property whose ad experiences may have been reviewed, and it should be URL-encoded. For example, sites/https%3A%2F%2Fwww.google.com. The server will return an error of BAD_REQUEST if this field is not filled in. Note that if the site property is not yet verified in Search Console, the reportUrl field returned by the API will lead to the verification page, prompting the user to go through that process before they can gain access to the Ad Experience Report. + * @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?: Params$Resource$Sites$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Sites$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Sites$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Sites$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The required site name. It should be the site property whose ad + * experiences may have been reviewed, and it should be URL-encoded. For + * example, sites/https%3A%2F%2Fwww.google.com. The server will return an + * error of BAD_REQUEST if this field is not filled in. Note that if the + * site property is not yet verified in Search Console, the reportUrl field + * returned by the API will lead to the verification page, prompting the + * user to go through that process before they can gain access to the Ad + * Experience Report. + */ + name?: string; + } + class Resource$Violatingsites { + root: Adexperiencereport; + constructor(root: Adexperiencereport); + getRoot(): Adexperiencereport; + /** + * adexperiencereport.violatingSites.list + * @desc Lists sites with Ad Experience Report statuses of "Failing" or + * "Warning". + * @alias adexperiencereport.violatingSites.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @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?: Params$Resource$Violatingsites$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Violatingsites$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Violatingsites$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Violatingsites$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/adexperiencereport/v1.js b/express-server/node_modules/googleapis/build/src/apis/adexperiencereport/v1.js new file mode 100644 index 00000000..f3446670 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/adexperiencereport/v1.js @@ -0,0 +1,138 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var adexperiencereport_v1; +(function (adexperiencereport_v1) { + /** + * Ad Experience Report API + * + * View Ad Experience Report data, and get a list of sites that have a + * significant number of annoying ads. + * + * @example + * const {google} = require('googleapis'); + * const adexperiencereport = google.adexperiencereport('v1'); + * + * @namespace adexperiencereport + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Adexperiencereport + */ + class Adexperiencereport { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.sites = new Resource$Sites(this); + this.violatingSites = new Resource$Violatingsites(this); + } + getRoot() { + return this.root; + } + } + adexperiencereport_v1.Adexperiencereport = Adexperiencereport; + class Resource$Sites { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexperiencereport.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adexperiencereport_v1.Resource$Sites = Resource$Sites; + class Resource$Violatingsites { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://adexperiencereport.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/violatingSites') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adexperiencereport_v1.Resource$Violatingsites = Resource$Violatingsites; +})(adexperiencereport_v1 = exports.adexperiencereport_v1 || (exports.adexperiencereport_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/adexperiencereport/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/adexperiencereport/v1.js.map new file mode 100644 index 00000000..a00be339 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/adexperiencereport/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/adexperiencereport/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/admin/README.md b/express-server/node_modules/googleapis/build/src/apis/admin/README.md new file mode 100644 index 00000000..9f6ee0db --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/admin/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/admin + +> Transfers user data from one user to another. + +## Installation + +```sh +$ npm install @google/admin +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/admin/datatransfer_v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/admin/datatransfer_v1.d.ts new file mode 100644 index 00000000..7d4800ae --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/admin/datatransfer_v1.d.ts @@ -0,0 +1,368 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace admin_datatransfer_v1 { + interface Options extends GlobalOptions { + version: 'datatransfer_v1'; + } + /** + * Admin Data Transfer API + * + * Transfers user data from one user to another. + * + * @example + * const {google} = require('googleapis'); + * const admin = google.admin('datatransfer_v1'); + * + * @namespace admin + * @type {Function} + * @version datatransfer_v1 + * @variation datatransfer_v1 + * @param {object=} options Options for Admin + */ + class Admin { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + applications: Resource$Applications; + transfers: Resource$Transfers; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * The JSON template for an Application resource. + */ + interface Schema$Application { + /** + * Etag of the resource. + */ + etag?: string; + /** + * The application's ID. + */ + id?: string; + /** + * Identifies the resource as a DataTransfer Application Resource. + */ + kind?: string; + /** + * The application's name. + */ + name?: string; + /** + * The list of all possible transfer parameters for this application. These + * parameters can be used to select the data of the user in this application + * to be transfered. + */ + transferParams?: Schema$ApplicationTransferParam[]; + } + /** + * Template to map fields of ApplicationDataTransfer resource. + */ + interface Schema$ApplicationDataTransfer { + /** + * The application's ID. + */ + applicationId?: string; + /** + * The transfer parameters for the application. These parameters are used to + * select the data which will get transfered in context of this application. + */ + applicationTransferParams?: Schema$ApplicationTransferParam[]; + /** + * Current status of transfer for this application. (Read-only) + */ + applicationTransferStatus?: string; + } + /** + * Template for a collection of Applications. + */ + interface Schema$ApplicationsListResponse { + /** + * List of applications that support data transfer and are also installed + * for the customer. + */ + applications?: Schema$Application[]; + /** + * ETag of the resource. + */ + etag?: string; + /** + * Identifies the resource as a collection of Applications. + */ + kind?: string; + /** + * Continuation token which will be used to specify next page in list API. + */ + nextPageToken?: string; + } + /** + * Template for application transfer parameters. + */ + interface Schema$ApplicationTransferParam { + /** + * The type of the transfer parameter. eg: 'PRIVACY_LEVEL' + */ + key?: string; + /** + * The value of the coressponding transfer parameter. eg: 'PRIVATE' + * or 'SHARED' + */ + value?: string[]; + } + /** + * The JSON template for a DataTransfer resource. + */ + interface Schema$DataTransfer { + /** + * List of per application data transfer resources. It contains data + * transfer details of the applications associated with this transfer + * resource. Note that this list is also used to specify the applications + * for which data transfer has to be done at the time of the transfer + * resource creation. + */ + applicationDataTransfers?: Schema$ApplicationDataTransfer[]; + /** + * ETag of the resource. + */ + etag?: string; + /** + * The transfer's ID (Read-only). + */ + id?: string; + /** + * Identifies the resource as a DataTransfer request. + */ + kind?: string; + /** + * ID of the user to whom the data is being transfered. + */ + newOwnerUserId?: string; + /** + * ID of the user whose data is being transfered. + */ + oldOwnerUserId?: string; + /** + * Overall transfer status (Read-only). + */ + overallTransferStatusCode?: string; + /** + * The time at which the data transfer was requested (Read-only). + */ + requestTime?: string; + } + /** + * Template for a collection of DataTransfer resources. + */ + interface Schema$DataTransfersListResponse { + /** + * List of data transfer requests. + */ + dataTransfers?: Schema$DataTransfer[]; + /** + * ETag of the resource. + */ + etag?: string; + /** + * Identifies the resource as a collection of data transfer requests. + */ + kind?: string; + /** + * Continuation token which will be used to specify next page in list API. + */ + nextPageToken?: string; + } + class Resource$Applications { + root: Admin; + constructor(root: Admin); + getRoot(): Admin; + /** + * datatransfer.applications.get + * @desc Retrieves information about an application for the given + * application ID. + * @alias datatransfer.applications.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.applicationId ID of the application resource to be retrieved. + * @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?: Params$Resource$Applications$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Applications$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Applications$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * datatransfer.applications.list + * @desc Lists the applications available for data transfer for a customer. + * @alias datatransfer.applications.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {string=} params.customerId Immutable ID of the Google Apps account. + * @param {integer=} params.maxResults Maximum number of results to return. Default is 100. + * @param {string=} params.pageToken Token to specify next page in the list. + * @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?: Params$Resource$Applications$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Applications$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Applications$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Applications$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ID of the application resource to be retrieved. + */ + applicationId?: string; + } + interface Params$Resource$Applications$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Immutable ID of the Google Apps account. + */ + customerId?: string; + /** + * Maximum number of results to return. Default is 100. + */ + maxResults?: number; + /** + * Token to specify next page in the list. + */ + pageToken?: string; + } + class Resource$Transfers { + root: Admin; + constructor(root: Admin); + getRoot(): Admin; + /** + * datatransfer.transfers.get + * @desc Retrieves a data transfer request by its resource ID. + * @alias datatransfer.transfers.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.dataTransferId ID of the resource to be retrieved. This is returned in the response from the insert method. + * @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?: Params$Resource$Transfers$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Transfers$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Transfers$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * datatransfer.transfers.insert + * @desc Inserts a data transfer request. + * @alias datatransfer.transfers.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().DataTransfer} 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?: Params$Resource$Transfers$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Transfers$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Transfers$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * datatransfer.transfers.list + * @desc Lists the transfers for a customer by source user, destination + * user, or status. + * @alias datatransfer.transfers.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {string=} params.customerId Immutable ID of the Google Apps account. + * @param {integer=} params.maxResults Maximum number of results to return. Default is 100. + * @param {string=} params.newOwnerUserId Destination user's profile ID. + * @param {string=} params.oldOwnerUserId Source user's profile ID. + * @param {string=} params.pageToken Token to specify the next page in the list. + * @param {string=} params.status Status of the transfer. + * @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?: Params$Resource$Transfers$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Transfers$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Transfers$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Transfers$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ID of the resource to be retrieved. This is returned in the response from + * the insert method. + */ + dataTransferId?: string; + } + interface Params$Resource$Transfers$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$DataTransfer; + } + interface Params$Resource$Transfers$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Immutable ID of the Google Apps account. + */ + customerId?: string; + /** + * Maximum number of results to return. Default is 100. + */ + maxResults?: number; + /** + * Destination user's profile ID. + */ + newOwnerUserId?: string; + /** + * Source user's profile ID. + */ + oldOwnerUserId?: string; + /** + * Token to specify the next page in the list. + */ + pageToken?: string; + /** + * Status of the transfer. + */ + status?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/admin/datatransfer_v1.js b/express-server/node_modules/googleapis/build/src/apis/admin/datatransfer_v1.js new file mode 100644 index 00000000..140c6dc1 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/admin/datatransfer_v1.js @@ -0,0 +1,233 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var admin_datatransfer_v1; +(function (admin_datatransfer_v1) { + /** + * Admin Data Transfer API + * + * Transfers user data from one user to another. + * + * @example + * const {google} = require('googleapis'); + * const admin = google.admin('datatransfer_v1'); + * + * @namespace admin + * @type {Function} + * @version datatransfer_v1 + * @variation datatransfer_v1 + * @param {object=} options Options for Admin + */ + class Admin { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.applications = new Resource$Applications(this); + this.transfers = new Resource$Transfers(this); + } + getRoot() { + return this.root; + } + } + admin_datatransfer_v1.Admin = Admin; + class Resource$Applications { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/datatransfer/v1/applications/{applicationId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['applicationId'], + pathParams: ['applicationId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/admin/datatransfer/v1/applications') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + admin_datatransfer_v1.Resource$Applications = Resource$Applications; + class Resource$Transfers { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/datatransfer/v1/transfers/{dataTransferId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['dataTransferId'], + pathParams: ['dataTransferId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/admin/datatransfer/v1/transfers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/admin/datatransfer/v1/transfers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + admin_datatransfer_v1.Resource$Transfers = Resource$Transfers; +})(admin_datatransfer_v1 = exports.admin_datatransfer_v1 || (exports.admin_datatransfer_v1 = {})); +//# sourceMappingURL=datatransfer_v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/admin/datatransfer_v1.js.map b/express-server/node_modules/googleapis/build/src/apis/admin/datatransfer_v1.js.map new file mode 100644 index 00000000..a3c459c1 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/admin/datatransfer_v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"datatransfer_v1.js","sourceRoot":"","sources":["../../../../src/apis/admin/datatransfer_v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/admin/directory_v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/admin/directory_v1.d.ts new file mode 100644 index 00000000..7f098457 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/admin/directory_v1.d.ts @@ -0,0 +1,6385 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace admin_directory_v1 { + interface Options extends GlobalOptions { + version: 'directory_v1'; + } + /** + * Admin Directory API + * + * Manages enterprise resources such as users and groups, administrative + * notifications, security features, and more. + * + * @example + * const {google} = require('googleapis'); + * const admin = google.admin('directory_v1'); + * + * @namespace admin + * @type {Function} + * @version directory_v1 + * @variation directory_v1 + * @param {object=} options Options for Admin + */ + class Admin { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + asps: Resource$Asps; + channels: Resource$Channels; + chromeosdevices: Resource$Chromeosdevices; + customers: Resource$Customers; + domainAliases: Resource$Domainaliases; + domains: Resource$Domains; + groups: Resource$Groups; + members: Resource$Members; + mobiledevices: Resource$Mobiledevices; + notifications: Resource$Notifications; + orgunits: Resource$Orgunits; + privileges: Resource$Privileges; + resolvedAppAccessSettings: Resource$Resolvedappaccesssettings; + resources: Resource$Resources; + roleAssignments: Resource$Roleassignments; + roles: Resource$Roles; + schemas: Resource$Schemas; + tokens: Resource$Tokens; + users: Resource$Users; + verificationCodes: Resource$Verificationcodes; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * JSON template for Alias object in Directory API. + */ + interface Schema$Alias { + /** + * A alias email + */ + alias?: string; + /** + * ETag of the resource. + */ + etag?: string; + /** + * Unique id of the group (Read-only) Unique id of the user (Read-only) + */ + id?: string; + /** + * Kind of resource this is. + */ + kind?: string; + /** + * Group's primary email (Read-only) User's primary email + * (Read-only) + */ + primaryEmail?: string; + } + /** + * JSON response template to list aliases in Directory API. + */ + interface Schema$Aliases { + /** + * List of alias objects. + */ + aliases?: any[]; + /** + * ETag of the resource. + */ + etag?: string; + /** + * Kind of resource this is. + */ + kind?: string; + } + /** + * JSON template for App Access Collections Resource object in Directory API. + */ + interface Schema$AppAccessCollections { + /** + * List of blocked api access buckets. + */ + blockedApiAccessBuckets?: string[]; + /** + * Boolean to indicate whether to enforce app access settings on Android + * Drive or not. + */ + enforceSettingsForAndroidDrive?: boolean; + /** + * Error message provided by the Admin that will be shown to the user when + * an app is blocked. + */ + errorMessage?: string; + /** + * ETag of the resource. + */ + etag?: string; + /** + * Identifies the resource as an app access collection. Value: + * admin#directory#appaccesscollection + */ + kind?: string; + /** + * Unique ID of app access collection. (Readonly) + */ + resourceId?: string; + /** + * Resource name given by the customer while creating/updating. Should be + * unique under given customer. + */ + resourceName?: string; + /** + * Boolean that indicates whether to trust domain owned apps. + */ + trustDomainOwnedApps?: boolean; + } + /** + * The template that returns individual ASP (Access Code) data. + */ + interface Schema$Asp { + /** + * The unique ID of the ASP. + */ + codeId?: number; + /** + * The time when the ASP was created. Expressed in Unix time format. + */ + creationTime?: string; + /** + * ETag of the ASP. + */ + etag?: string; + /** + * The type of the API resource. This is always admin#directory#asp. + */ + kind?: string; + /** + * The time when the ASP was last used. Expressed in Unix time format. + */ + lastTimeUsed?: string; + /** + * The name of the application that the user, represented by their userId, + * entered when the ASP was created. + */ + name?: string; + /** + * The unique ID of the user who issued the ASP. + */ + userKey?: string; + } + interface Schema$Asps { + /** + * ETag of the resource. + */ + etag?: string; + /** + * A list of ASP resources. + */ + items?: Schema$Asp[]; + /** + * The type of the API resource. This is always admin#directory#aspList. + */ + kind?: string; + } + /** + * JSON template for Building object in Directory API. + */ + interface Schema$Building { + /** + * Unique identifier for the building. The maximum length is 100 characters. + */ + buildingId?: string; + /** + * The building name as seen by users in Calendar. Must be unique for the + * customer. For example, "NYC-CHEL". The maximum length is 100 + * characters. + */ + buildingName?: string; + /** + * The geographic coordinates of the center of the building, expressed as + * latitude and longitude in decimal degrees. + */ + coordinates?: Schema$BuildingCoordinates; + /** + * A brief description of the building. For example, "Chelsea + * Market". + */ + description?: string; + /** + * ETag of the resource. + */ + etags?: string; + /** + * The display names for all floors in this building. The floors are + * expected to be sorted in ascending order, from lowest floor to highest + * floor. For example, ["B2", "B1", "L", + * "1", "2", "2M", "3", + * "PH"] Must contain at least one entry. + */ + floorNames?: string[]; + /** + * Kind of resource this is. + */ + kind?: string; + } + /** + * JSON template for coordinates of a building in Directory API. + */ + interface Schema$BuildingCoordinates { + /** + * Latitude in decimal degrees. + */ + latitude?: number; + /** + * Longitude in decimal degrees. + */ + longitude?: number; + } + /** + * JSON template for Building List Response object in Directory API. + */ + interface Schema$Buildings { + /** + * The Buildings in this page of results. + */ + buildings?: Schema$Building[]; + /** + * ETag of the resource. + */ + etag?: string; + /** + * Kind of resource this is. + */ + kind?: string; + /** + * The continuation token, used to page through large result sets. Provide + * this value in a subsequent request to return the next page of results. + */ + nextPageToken?: string; + } + /** + * JSON template for Calendar Resource object in Directory API. + */ + interface Schema$CalendarResource { + /** + * Unique ID for the building a resource is located in. + */ + buildingId?: string; + /** + * Capacity of a resource, number of seats in a room. + */ + capacity?: number; + /** + * ETag of the resource. + */ + etags?: string; + featureInstances?: any; + /** + * Name of the floor a resource is located on. + */ + floorName?: string; + /** + * Name of the section within a floor a resource is located in. + */ + floorSection?: string; + /** + * The read-only auto-generated name of the calendar resource which includes + * metadata about the resource such as building name, floor, capacity, etc. + * For example, "NYC-2-Training Room 1A (16)". + */ + generatedResourceName?: string; + /** + * The type of the resource. For calendar resources, the value is + * admin#directory#resources#calendars#CalendarResource. + */ + kind?: string; + /** + * The category of the calendar resource. Either CONFERENCE_ROOM or OTHER. + * Legacy data is set to CATEGORY_UNKNOWN. + */ + resourceCategory?: string; + /** + * Description of the resource, visible only to admins. + */ + resourceDescription?: string; + /** + * The read-only email for the calendar resource. Generated as part of + * creating a new calendar resource. + */ + resourceEmail?: string; + /** + * The unique ID for the calendar resource. + */ + resourceId?: string; + /** + * The name of the calendar resource. For example, "Training Room + * 1A". + */ + resourceName?: string; + /** + * The type of the calendar resource, intended for non-room resources. + */ + resourceType?: string; + /** + * Description of the resource, visible to users and admins. + */ + userVisibleDescription?: string; + } + /** + * JSON template for Calendar Resource List Response object in Directory API. + */ + interface Schema$CalendarResources { + /** + * ETag of the resource. + */ + etag?: string; + /** + * The CalendarResources in this page of results. + */ + items?: Schema$CalendarResource[]; + /** + * Identifies this as a collection of CalendarResources. This is always + * admin#directory#resources#calendars#calendarResourcesList. + */ + kind?: string; + /** + * The continuation token, used to page through large result sets. Provide + * this value in a subsequent request to return the next page of results. + */ + nextPageToken?: string; + } + /** + * An notification channel used to watch for resource changes. + */ + interface Schema$Channel { + /** + * The address where notifications are delivered for this channel. + */ + address?: string; + /** + * Date and time of notification channel expiration, expressed as a Unix + * timestamp, in milliseconds. Optional. + */ + expiration?: string; + /** + * A UUID or similar unique string that identifies this channel. + */ + id?: string; + /** + * Identifies this as a notification channel used to watch for changes to a + * resource. Value: the fixed string "api#channel". + */ + kind?: string; + /** + * Additional parameters controlling delivery channel behavior. Optional. + */ + params?: any; + /** + * A Boolean value to indicate whether payload is wanted. Optional. + */ + payload?: boolean; + /** + * An opaque ID that identifies the resource being watched on this channel. + * Stable across different API versions. + */ + resourceId?: string; + /** + * A version-specific identifier for the watched resource. + */ + resourceUri?: string; + /** + * An arbitrary string delivered to the target address with each + * notification delivered over this channel. Optional. + */ + token?: string; + /** + * The type of delivery mechanism used for this channel. + */ + type?: string; + } + /** + * JSON template for Chrome Os Device resource in Directory API. + */ + interface Schema$ChromeOsDevice { + /** + * List of active time ranges (Read-only) + */ + activeTimeRanges?: any[]; + /** + * AssetId specified during enrollment or through later annotation + */ + annotatedAssetId?: string; + /** + * Address or location of the device as noted by the administrator + */ + annotatedLocation?: string; + /** + * User of the device + */ + annotatedUser?: string; + /** + * Chromebook boot mode (Read-only) + */ + bootMode?: string; + /** + * List of device files to download (Read-only) + */ + deviceFiles?: any[]; + /** + * Unique identifier of Chrome OS Device (Read-only) + */ + deviceId?: string; + /** + * ETag of the resource. + */ + etag?: string; + /** + * Chromebook Mac Address on ethernet network interface (Read-only) + */ + ethernetMacAddress?: string; + /** + * Chromebook firmware version (Read-only) + */ + firmwareVersion?: string; + /** + * Kind of resource this is. + */ + kind?: string; + /** + * Date and time the device was last enrolled (Read-only) + */ + lastEnrollmentTime?: string; + /** + * Date and time the device was last synchronized with the policy settings + * in the G Suite administrator control panel (Read-only) + */ + lastSync?: string; + /** + * Chromebook Mac Address on wifi network interface (Read-only) + */ + macAddress?: string; + /** + * Mobile Equipment identifier for the 3G mobile card in the Chromebook + * (Read-only) + */ + meid?: string; + /** + * Chromebook Model (Read-only) + */ + model?: string; + /** + * Notes added by the administrator + */ + notes?: string; + /** + * Chromebook order number (Read-only) + */ + orderNumber?: string; + /** + * OrgUnit of the device + */ + orgUnitPath?: string; + /** + * Chromebook Os Version (Read-only) + */ + osVersion?: string; + /** + * Chromebook platform version (Read-only) + */ + platformVersion?: string; + /** + * List of recent device users, in descending order by last login time + * (Read-only) + */ + recentUsers?: any[]; + /** + * Chromebook serial number (Read-only) + */ + serialNumber?: string; + /** + * status of the device (Read-only) + */ + status?: string; + /** + * Final date the device will be supported (Read-only) + */ + supportEndDate?: string; + /** + * Trusted Platform Module (TPM) (Read-only) + */ + tpmVersionInfo?: any; + /** + * Will Chromebook auto renew after support end date (Read-only) + */ + willAutoRenew?: boolean; + } + /** + * JSON request template for firing actions on ChromeOs Device in Directory + * Devices API. + */ + interface Schema$ChromeOsDeviceAction { + /** + * Action to be taken on the ChromeOs Device + */ + action?: string; + deprovisionReason?: string; + } + /** + * JSON response template for List Chrome OS Devices operation in Directory + * API. + */ + interface Schema$ChromeOsDevices { + /** + * List of Chrome OS Device objects. + */ + chromeosdevices?: Schema$ChromeOsDevice[]; + /** + * ETag of the resource. + */ + etag?: string; + /** + * Kind of resource this is. + */ + kind?: string; + /** + * Token used to access next page of this result. + */ + nextPageToken?: string; + } + /** + * JSON request template for moving ChromeOs Device to given OU in Directory + * Devices API. + */ + interface Schema$ChromeOsMoveDevicesToOu { + /** + * ChromeOs Devices to be moved to OU + */ + deviceIds?: string[]; + } + /** + * JSON template for Customer Resource object in Directory API. + */ + interface Schema$Customer { + /** + * The customer's secondary contact email address. This email address + * cannot be on the same domain as the customerDomain + */ + alternateEmail?: string; + /** + * The customer's creation time (Readonly) + */ + customerCreationTime?: string; + /** + * The customer's primary domain name string. Do not include the www + * prefix when creating a new customer. + */ + customerDomain?: string; + /** + * ETag of the resource. + */ + etag?: string; + /** + * The unique ID for the customer's G Suite account. (Readonly) + */ + id?: string; + /** + * Identifies the resource as a customer. Value: admin#directory#customer + */ + kind?: string; + /** + * The customer's ISO 639-2 language code. The default value is en-US + */ + language?: string; + /** + * The customer's contact phone number in E.164 format. + */ + phoneNumber?: string; + /** + * The customer's postal address information. + */ + postalAddress?: Schema$CustomerPostalAddress; + } + /** + * JSON template for postal address of a customer. + */ + interface Schema$CustomerPostalAddress { + /** + * A customer's physical address. The address can be composed of one to + * three lines. + */ + addressLine1?: string; + /** + * Address line 2 of the address. + */ + addressLine2?: string; + /** + * Address line 3 of the address. + */ + addressLine3?: string; + /** + * The customer contact's name. + */ + contactName?: string; + /** + * This is a required property. For countryCode information see the ISO 3166 + * country code elements. + */ + countryCode?: string; + /** + * Name of the locality. An example of a locality value is the city of San + * Francisco. + */ + locality?: string; + /** + * The company or company division name. + */ + organizationName?: string; + /** + * The postal code. A postalCode example is a postal zip code such as 10009. + * This is in accordance with - + * http://portablecontacts.net/draft-spec.html#address_element. + */ + postalCode?: string; + /** + * Name of the region. An example of a region value is NY for the state of + * New York. + */ + region?: string; + } + /** + * JSON template for Domain Alias object in Directory API. + */ + interface Schema$DomainAlias { + /** + * The creation time of the domain alias. (Read-only). + */ + creationTime?: string; + /** + * The domain alias name. + */ + domainAliasName?: string; + /** + * ETag of the resource. + */ + etag?: string; + /** + * Kind of resource this is. + */ + kind?: string; + /** + * The parent domain name that the domain alias is associated with. This can + * either be a primary or secondary domain name within a customer. + */ + parentDomainName?: string; + /** + * Indicates the verification state of a domain alias. (Read-only) + */ + verified?: boolean; + } + /** + * JSON response template to list domain aliases in Directory API. + */ + interface Schema$DomainAliases { + /** + * List of domain alias objects. + */ + domainAliases?: Schema$DomainAlias[]; + /** + * ETag of the resource. + */ + etag?: string; + /** + * Kind of resource this is. + */ + kind?: string; + } + /** + * JSON template for Domain object in Directory API. + */ + interface Schema$Domains { + /** + * Creation time of the domain. (Read-only). + */ + creationTime?: string; + /** + * List of domain alias objects. (Read-only) + */ + domainAliases?: Schema$DomainAlias[]; + /** + * The domain name of the customer. + */ + domainName?: string; + /** + * ETag of the resource. + */ + etag?: string; + /** + * Indicates if the domain is a primary domain (Read-only). + */ + isPrimary?: boolean; + /** + * Kind of resource this is. + */ + kind?: string; + /** + * Indicates the verification state of a domain. (Read-only). + */ + verified?: boolean; + } + /** + * JSON response template to list Domains in Directory API. + */ + interface Schema$Domains2 { + /** + * List of domain objects. + */ + domains?: Schema$Domains[]; + /** + * ETag of the resource. + */ + etag?: string; + /** + * Kind of resource this is. + */ + kind?: string; + } + /** + * JSON template for Feature object in Directory API. + */ + interface Schema$Feature { + /** + * ETag of the resource. + */ + etags?: string; + /** + * Kind of resource this is. + */ + kind?: string; + /** + * The name of the feature. + */ + name?: string; + } + /** + * JSON template for a "feature instance". + */ + interface Schema$FeatureInstance { + /** + * The feature that this is an instance of. A calendar resource may have + * multiple instances of a feature. + */ + feature?: Schema$Feature; + } + /** + * JSON request template for renaming a feature. + */ + interface Schema$FeatureRename { + /** + * New name of the feature. + */ + newName?: string; + } + /** + * JSON template for Feature List Response object in Directory API. + */ + interface Schema$Features { + /** + * ETag of the resource. + */ + etag?: string; + /** + * The Features in this page of results. + */ + features?: Schema$Feature[]; + /** + * Kind of resource this is. + */ + kind?: string; + /** + * The continuation token, used to page through large result sets. Provide + * this value in a subsequent request to return the next page of results. + */ + nextPageToken?: string; + } + /** + * JSON template for Group resource in Directory API. + */ + interface Schema$Group { + /** + * Is the group created by admin (Read-only) * + */ + adminCreated?: boolean; + /** + * List of aliases (Read-only) + */ + aliases?: string[]; + /** + * Description of the group + */ + description?: string; + /** + * Group direct members count + */ + directMembersCount?: string; + /** + * Email of Group + */ + email?: string; + /** + * ETag of the resource. + */ + etag?: string; + /** + * Unique identifier of Group (Read-only) + */ + id?: string; + /** + * Kind of resource this is. + */ + kind?: string; + /** + * Group name + */ + name?: string; + /** + * List of non editable aliases (Read-only) + */ + nonEditableAliases?: string[]; + } + /** + * JSON response template for List Groups operation in Directory API. + */ + interface Schema$Groups { + /** + * ETag of the resource. + */ + etag?: string; + /** + * List of group objects. + */ + groups?: Schema$Group[]; + /** + * Kind of resource this is. + */ + kind?: string; + /** + * Token used to access next page of this result. + */ + nextPageToken?: string; + } + /** + * JSON template for Member resource in Directory API. + */ + interface Schema$Member { + /** + * Delivery settings of member + */ + delivery_settings?: string; + /** + * Email of member (Read-only) + */ + email?: string; + /** + * ETag of the resource. + */ + etag?: string; + /** + * Unique identifier of customer member (Read-only) Unique identifier of + * group (Read-only) Unique identifier of member (Read-only) + */ + id?: string; + /** + * Kind of resource this is. + */ + kind?: string; + /** + * Role of member + */ + role?: string; + /** + * Status of member (Immutable) + */ + status?: string; + /** + * Type of member (Immutable) + */ + type?: string; + } + /** + * JSON response template for List Members operation in Directory API. + */ + interface Schema$Members { + /** + * ETag of the resource. + */ + etag?: string; + /** + * Kind of resource this is. + */ + kind?: string; + /** + * List of member objects. + */ + members?: Schema$Member[]; + /** + * Token used to access next page of this result. + */ + nextPageToken?: string; + } + /** + * JSON template for Has Member response in Directory API. + */ + interface Schema$MembersHasMember { + /** + * Identifies whether the given user is a member of the group. Membership + * can be direct or nested. + */ + isMember?: boolean; + } + /** + * JSON template for Mobile Device resource in Directory API. + */ + interface Schema$MobileDevice { + /** + * Adb (USB debugging) enabled or disabled on device (Read-only) + */ + adbStatus?: boolean; + /** + * List of applications installed on Mobile Device + */ + applications?: any[]; + /** + * Mobile Device Baseband version (Read-only) + */ + basebandVersion?: string; + /** + * Mobile Device Bootloader version (Read-only) + */ + bootloaderVersion?: string; + /** + * Mobile Device Brand (Read-only) + */ + brand?: string; + /** + * Mobile Device Build number (Read-only) + */ + buildNumber?: string; + /** + * The default locale used on the Mobile Device (Read-only) + */ + defaultLanguage?: string; + /** + * Developer options enabled or disabled on device (Read-only) + */ + developerOptionsStatus?: boolean; + /** + * Mobile Device compromised status (Read-only) + */ + deviceCompromisedStatus?: string; + /** + * Mobile Device serial number (Read-only) + */ + deviceId?: string; + /** + * DevicePasswordStatus (Read-only) + */ + devicePasswordStatus?: string; + /** + * List of owner user's email addresses (Read-only) + */ + email?: string[]; + /** + * Mobile Device Encryption Status (Read-only) + */ + encryptionStatus?: string; + /** + * ETag of the resource. + */ + etag?: string; + /** + * Date and time the device was first synchronized with the policy settings + * in the G Suite administrator control panel (Read-only) + */ + firstSync?: string; + /** + * Mobile Device Hardware (Read-only) + */ + hardware?: string; + /** + * Mobile Device Hardware Id (Read-only) + */ + hardwareId?: string; + /** + * Mobile Device IMEI number (Read-only) + */ + imei?: string; + /** + * Mobile Device Kernel version (Read-only) + */ + kernelVersion?: string; + /** + * Kind of resource this is. + */ + kind?: string; + /** + * Date and time the device was last synchronized with the policy settings + * in the G Suite administrator control panel (Read-only) + */ + lastSync?: string; + /** + * Boolean indicating if this account is on owner/primary profile or not + * (Read-only) + */ + managedAccountIsOnOwnerProfile?: boolean; + /** + * Mobile Device manufacturer (Read-only) + */ + manufacturer?: string; + /** + * Mobile Device MEID number (Read-only) + */ + meid?: string; + /** + * Name of the model of the device + */ + model?: string; + /** + * List of owner user's names (Read-only) + */ + name?: string[]; + /** + * Mobile Device mobile or network operator (if available) (Read-only) + */ + networkOperator?: string; + /** + * Name of the mobile operating system + */ + os?: string; + /** + * List of accounts added on device (Read-only) + */ + otherAccountsInfo?: string[]; + /** + * DMAgentPermission (Read-only) + */ + privilege?: string; + /** + * Mobile Device release version version (Read-only) + */ + releaseVersion?: string; + /** + * Unique identifier of Mobile Device (Read-only) + */ + resourceId?: string; + /** + * Mobile Device Security patch level (Read-only) + */ + securityPatchLevel?: string; + /** + * Mobile Device SSN or Serial Number (Read-only) + */ + serialNumber?: string; + /** + * Status of the device (Read-only) + */ + status?: string; + /** + * Work profile supported on device (Read-only) + */ + supportsWorkProfile?: boolean; + /** + * The type of device (Read-only) + */ + type?: string; + /** + * Unknown sources enabled or disabled on device (Read-only) + */ + unknownSourcesStatus?: boolean; + /** + * Mobile Device user agent + */ + userAgent?: string; + /** + * Mobile Device WiFi MAC address (Read-only) + */ + wifiMacAddress?: string; + } + /** + * JSON request template for firing commands on Mobile Device in Directory + * Devices API. + */ + interface Schema$MobileDeviceAction { + /** + * Action to be taken on the Mobile Device + */ + action?: string; + } + /** + * JSON response template for List Mobile Devices operation in Directory API. + */ + interface Schema$MobileDevices { + /** + * ETag of the resource. + */ + etag?: string; + /** + * Kind of resource this is. + */ + kind?: string; + /** + * List of Mobile Device objects. + */ + mobiledevices?: Schema$MobileDevice[]; + /** + * Token used to access next page of this result. + */ + nextPageToken?: string; + } + /** + * Template for a notification resource. + */ + interface Schema$Notification { + /** + * Body of the notification (Read-only) + */ + body?: string; + /** + * ETag of the resource. + */ + etag?: string; + /** + * Address from which the notification is received (Read-only) + */ + fromAddress?: string; + /** + * Boolean indicating whether the notification is unread or not. + */ + isUnread?: boolean; + /** + * The type of the resource. + */ + kind?: string; + notificationId?: string; + /** + * Time at which notification was sent (Read-only) + */ + sendTime?: string; + /** + * Subject of the notification (Read-only) + */ + subject?: string; + } + /** + * Template for notifications list response. + */ + interface Schema$Notifications { + /** + * ETag of the resource. + */ + etag?: string; + /** + * List of notifications in this page. + */ + items?: Schema$Notification[]; + /** + * The type of the resource. + */ + kind?: string; + /** + * Token for fetching the next page of notifications. + */ + nextPageToken?: string; + /** + * Number of unread notification for the domain. + */ + unreadNotificationsCount?: number; + } + /** + * JSON template for Org Unit resource in Directory API. + */ + interface Schema$OrgUnit { + /** + * Should block inheritance + */ + blockInheritance?: boolean; + /** + * Description of OrgUnit + */ + description?: string; + /** + * ETag of the resource. + */ + etag?: string; + /** + * Kind of resource this is. + */ + kind?: string; + /** + * Name of OrgUnit + */ + name?: string; + /** + * Id of OrgUnit + */ + orgUnitId?: string; + /** + * Path of OrgUnit + */ + orgUnitPath?: string; + /** + * Id of parent OrgUnit + */ + parentOrgUnitId?: string; + /** + * Path of parent OrgUnit + */ + parentOrgUnitPath?: string; + } + /** + * JSON response template for List Organization Units operation in Directory + * API. + */ + interface Schema$OrgUnits { + /** + * ETag of the resource. + */ + etag?: string; + /** + * Kind of resource this is. + */ + kind?: string; + /** + * List of user objects. + */ + organizationUnits?: Schema$OrgUnit[]; + } + /** + * JSON template for privilege resource in Directory API. + */ + interface Schema$Privilege { + /** + * A list of child privileges. Privileges for a service form a tree. Each + * privilege can have a list of child privileges; this list is empty for a + * leaf privilege. + */ + childPrivileges?: Schema$Privilege[]; + /** + * ETag of the resource. + */ + etag?: string; + /** + * If the privilege can be restricted to an organization unit. + */ + isOuScopable?: boolean; + /** + * The type of the API resource. This is always admin#directory#privilege. + */ + kind?: string; + /** + * The name of the privilege. + */ + privilegeName?: string; + /** + * The obfuscated ID of the service this privilege is for. + */ + serviceId?: string; + /** + * The name of the service this privilege is for. + */ + serviceName?: string; + } + /** + * JSON response template for List privileges operation in Directory API. + */ + interface Schema$Privileges { + /** + * ETag of the resource. + */ + etag?: string; + /** + * A list of Privilege resources. + */ + items?: Schema$Privilege[]; + /** + * The type of the API resource. This is always admin#directory#privileges. + */ + kind?: string; + } + /** + * JSON template for role resource in Directory API. + */ + interface Schema$Role { + /** + * ETag of the resource. + */ + etag?: string; + /** + * Returns true if the role is a super admin role. + */ + isSuperAdminRole?: boolean; + /** + * Returns true if this is a pre-defined system role. + */ + isSystemRole?: boolean; + /** + * The type of the API resource. This is always admin#directory#role. + */ + kind?: string; + /** + * A short description of the role. + */ + roleDescription?: string; + /** + * ID of the role. + */ + roleId?: string; + /** + * Name of the role. + */ + roleName?: string; + /** + * The set of privileges that are granted to this role. + */ + rolePrivileges?: any[]; + } + /** + * JSON template for roleAssignment resource in Directory API. + */ + interface Schema$RoleAssignment { + /** + * The unique ID of the user this role is assigned to. + */ + assignedTo?: string; + /** + * ETag of the resource. + */ + etag?: string; + /** + * The type of the API resource. This is always + * admin#directory#roleAssignment. + */ + kind?: string; + /** + * If the role is restricted to an organization unit, this contains the ID + * for the organization unit the exercise of this role is restricted to. + */ + orgUnitId?: string; + /** + * ID of this roleAssignment. + */ + roleAssignmentId?: string; + /** + * The ID of the role that is assigned. + */ + roleId?: string; + /** + * The scope in which this role is assigned. Possible values are: - + * CUSTOMER - ORG_UNIT + */ + scopeType?: string; + } + /** + * JSON response template for List roleAssignments operation in Directory API. + */ + interface Schema$RoleAssignments { + /** + * ETag of the resource. + */ + etag?: string; + /** + * A list of RoleAssignment resources. + */ + items?: Schema$RoleAssignment[]; + /** + * The type of the API resource. This is always + * admin#directory#roleAssignments. + */ + kind?: string; + nextPageToken?: string; + } + /** + * JSON response template for List roles operation in Directory API. + */ + interface Schema$Roles { + /** + * ETag of the resource. + */ + etag?: string; + /** + * A list of Role resources. + */ + items?: Schema$Role[]; + /** + * The type of the API resource. This is always admin#directory#roles. + */ + kind?: string; + nextPageToken?: string; + } + /** + * JSON template for Schema resource in Directory API. + */ + interface Schema$Schema { + /** + * Display name for the schema. + */ + displayName?: string; + /** + * ETag of the resource. + */ + etag?: string; + /** + * Fields of Schema + */ + fields?: Schema$SchemaFieldSpec[]; + /** + * Kind of resource this is. + */ + kind?: string; + /** + * Unique identifier of Schema (Read-only) + */ + schemaId?: string; + /** + * Schema name + */ + schemaName?: string; + } + /** + * JSON template for FieldSpec resource for Schemas in Directory API. + */ + interface Schema$SchemaFieldSpec { + /** + * Display Name of the field. + */ + displayName?: string; + /** + * ETag of the resource. + */ + etag?: string; + /** + * Unique identifier of Field (Read-only) + */ + fieldId?: string; + /** + * Name of the field. + */ + fieldName?: string; + /** + * Type of the field. + */ + fieldType?: string; + /** + * Boolean specifying whether the field is indexed or not. + */ + indexed?: boolean; + /** + * Kind of resource this is. + */ + kind?: string; + /** + * Boolean specifying whether this is a multi-valued field or not. + */ + multiValued?: boolean; + /** + * Indexing spec for a numeric field. By default, only exact match queries + * will be supported for numeric fields. Setting the numericIndexingSpec + * allows range queries to be supported. + */ + numericIndexingSpec?: any; + /** + * Read ACLs on the field specifying who can view values of this field. + * Valid values are "ALL_DOMAIN_USERS" and + * "ADMINS_AND_SELF". + */ + readAccessType?: string; + } + /** + * JSON response template for List Schema operation in Directory API. + */ + interface Schema$Schemas { + /** + * ETag of the resource. + */ + etag?: string; + /** + * Kind of resource this is. + */ + kind?: string; + /** + * List of UserSchema objects. + */ + schemas?: Schema$Schema[]; + } + /** + * JSON template for token resource in Directory API. + */ + interface Schema$Token { + /** + * Whether the application is registered with Google. The value is true if + * the application has an anonymous Client ID. + */ + anonymous?: boolean; + /** + * The Client ID of the application the token is issued to. + */ + clientId?: string; + /** + * The displayable name of the application the token is issued to. + */ + displayText?: string; + /** + * ETag of the resource. + */ + etag?: string; + /** + * The type of the API resource. This is always admin#directory#token. + */ + kind?: string; + /** + * Whether the token is issued to an installed application. The value is + * true if the application is installed to a desktop or mobile device. + */ + nativeApp?: boolean; + /** + * A list of authorization scopes the application is granted. + */ + scopes?: string[]; + /** + * The unique ID of the user that issued the token. + */ + userKey?: string; + } + /** + * JSON response template for List tokens operation in Directory API. + */ + interface Schema$Tokens { + /** + * ETag of the resource. + */ + etag?: string; + /** + * A list of Token resources. + */ + items?: Schema$Token[]; + /** + * The type of the API resource. This is always admin#directory#tokenList. + */ + kind?: string; + } + /** + * JSON template for Trusted App Ids Resource object in Directory API. + */ + interface Schema$TrustedAppId { + /** + * Android package name. + */ + androidPackageName?: string; + /** + * SHA1 signature of the app certificate. + */ + certificateHashSHA1?: string; + /** + * SHA256 signature of the app certificate. + */ + certificateHashSHA256?: string; + etag?: string; + /** + * Identifies the resource as a trusted AppId. + */ + kind?: string; + } + /** + * JSON template for Trusted Apps response object of a user in Directory API. + */ + interface Schema$TrustedApps { + /** + * ETag of the resource. + */ + etag?: string; + /** + * Identifies the resource as trusted apps response. + */ + kind?: string; + nextPageToken?: string; + /** + * Trusted Apps list. + */ + trustedApps?: Schema$TrustedAppId[]; + } + /** + * JSON template for User object in Directory API. + */ + interface Schema$User { + addresses?: any; + /** + * Indicates if user has agreed to terms (Read-only) + */ + agreedToTerms?: boolean; + /** + * List of aliases (Read-only) + */ + aliases?: string[]; + /** + * Indicates if user is archived. + */ + archived?: boolean; + /** + * Boolean indicating if the user should change password in next login + */ + changePasswordAtNextLogin?: boolean; + /** + * User's G Suite account creation time. (Read-only) + */ + creationTime?: string; + /** + * CustomerId of User (Read-only) + */ + customerId?: string; + /** + * Custom fields of the user. + */ + customSchemas?: any; + deletionTime?: string; + emails?: any; + /** + * ETag of the resource. + */ + etag?: string; + externalIds?: any; + gender?: any; + /** + * Hash function name for password. Supported are MD5, SHA-1 and crypt + */ + hashFunction?: string; + /** + * Unique identifier of User (Read-only) + */ + id?: string; + ims?: any; + /** + * Boolean indicating if user is included in Global Address List + */ + includeInGlobalAddressList?: boolean; + /** + * Boolean indicating if ip is whitelisted + */ + ipWhitelisted?: boolean; + /** + * Boolean indicating if the user is admin (Read-only) + */ + isAdmin?: boolean; + /** + * Boolean indicating if the user is delegated admin (Read-only) + */ + isDelegatedAdmin?: boolean; + /** + * Is 2-step verification enforced (Read-only) + */ + isEnforcedIn2Sv?: boolean; + /** + * Is enrolled in 2-step verification (Read-only) + */ + isEnrolledIn2Sv?: boolean; + /** + * Is mailbox setup (Read-only) + */ + isMailboxSetup?: boolean; + keywords?: any; + /** + * Kind of resource this is. + */ + kind?: string; + languages?: any; + /** + * User's last login time. (Read-only) + */ + lastLoginTime?: string; + locations?: any; + /** + * User's name + */ + name?: Schema$UserName; + /** + * List of non editable aliases (Read-only) + */ + nonEditableAliases?: string[]; + notes?: any; + organizations?: any; + /** + * OrgUnit of User + */ + orgUnitPath?: string; + /** + * User's password + */ + password?: string; + phones?: any; + posixAccounts?: any; + /** + * username of User + */ + primaryEmail?: string; + relations?: any; + sshPublicKeys?: any; + /** + * Indicates if user is suspended. + */ + suspended?: boolean; + /** + * Suspension reason if user is suspended (Read-only) + */ + suspensionReason?: string; + /** + * ETag of the user's photo (Read-only) + */ + thumbnailPhotoEtag?: string; + /** + * Photo Url of the user (Read-only) + */ + thumbnailPhotoUrl?: string; + websites?: any; + } + /** + * JSON template for About (notes) of a user in Directory API. + */ + interface Schema$UserAbout { + /** + * About entry can have a type which indicates the content type. It can + * either be plain or html. By default, notes contents are assumed to + * contain plain text. + */ + contentType?: string; + /** + * Actual value of notes. + */ + value?: string; + } + /** + * JSON template for address. + */ + interface Schema$UserAddress { + /** + * Country. + */ + country?: string; + /** + * Country code. + */ + countryCode?: string; + /** + * Custom type. + */ + customType?: string; + /** + * Extended Address. + */ + extendedAddress?: string; + /** + * Formatted address. + */ + formatted?: string; + /** + * Locality. + */ + locality?: string; + /** + * Other parts of address. + */ + poBox?: string; + /** + * Postal code. + */ + postalCode?: string; + /** + * If this is user's primary address. Only one entry could be marked as + * primary. + */ + primary?: boolean; + /** + * Region. + */ + region?: string; + /** + * User supplied address was structured. Structured addresses are NOT + * supported at this time. You might be able to write structured addresses, + * but any values will eventually be clobbered. + */ + sourceIsStructured?: boolean; + /** + * Street. + */ + streetAddress?: string; + /** + * Each entry can have a type which indicates standard values of that entry. + * For example address could be of home, work etc. In addition to the + * standard type, an entry can have a custom type and can take any value. + * Such type should have the CUSTOM value as type and also have a customType + * value. + */ + type?: string; + } + /** + * JSON template for a set of custom properties (i.e. all fields in a + * particular schema) + */ + interface Schema$UserCustomProperties { + } + /** + * JSON template for an email. + */ + interface Schema$UserEmail { + /** + * Email id of the user. + */ + address?: string; + /** + * Custom Type. + */ + customType?: string; + /** + * If this is user's primary email. Only one entry could be marked as + * primary. + */ + primary?: boolean; + /** + * Each entry can have a type which indicates standard types of that entry. + * For example email could be of home, work etc. In addition to the standard + * type, an entry can have a custom type and can take any value Such types + * should have the CUSTOM value as type and also have a customType value. + */ + type?: string; + } + /** + * JSON template for an externalId entry. + */ + interface Schema$UserExternalId { + /** + * Custom type. + */ + customType?: string; + /** + * The type of the Id. + */ + type?: string; + /** + * The value of the id. + */ + value?: string; + } + interface Schema$UserGender { + /** + * AddressMeAs. A human-readable string containing the proper way to refer + * to the profile owner by humans, for example "he/him/his" or + * "they/them/their". + */ + addressMeAs?: string; + /** + * Custom gender. + */ + customGender?: string; + /** + * Gender. + */ + type?: string; + } + /** + * JSON template for instant messenger of an user. + */ + interface Schema$UserIm { + /** + * Custom protocol. + */ + customProtocol?: string; + /** + * Custom type. + */ + customType?: string; + /** + * Instant messenger id. + */ + im?: string; + /** + * If this is user's primary im. Only one entry could be marked as + * primary. + */ + primary?: boolean; + /** + * Protocol used in the instant messenger. It should be one of the values + * from ImProtocolTypes map. Similar to type, it can take a CUSTOM value and + * specify the custom name in customProtocol field. + */ + protocol?: string; + /** + * Each entry can have a type which indicates standard types of that entry. + * For example instant messengers could be of home, work etc. In addition to + * the standard type, an entry can have a custom type and can take any + * value. Such types should have the CUSTOM value as type and also have a + * customType value. + */ + type?: string; + } + /** + * JSON template for a keyword entry. + */ + interface Schema$UserKeyword { + /** + * Custom Type. + */ + customType?: string; + /** + * Each entry can have a type which indicates standard type of that entry. + * For example, keyword could be of type occupation or outlook. In addition + * to the standard type, an entry can have a custom type and can give it any + * name. Such types should have the CUSTOM value as type and also have a + * customType value. + */ + type?: string; + /** + * Keyword. + */ + value?: string; + } + /** + * JSON template for a language entry. + */ + interface Schema$UserLanguage { + /** + * Other language. User can provide own language name if there is no + * corresponding Google III language code. If this is set LanguageCode + * can't be set + */ + customLanguage?: string; + /** + * Language Code. Should be used for storing Google III LanguageCode string + * representation for language. Illegal values cause SchemaException. + */ + languageCode?: string; + } + /** + * JSON template for a location entry. + */ + interface Schema$UserLocation { + /** + * Textual location. This is most useful for display purposes to concisely + * describe the location. For example, "Mountain View, CA", + * "Near Seattle", "US-NYC-9TH 9A209A". + */ + area?: string; + /** + * Building Identifier. + */ + buildingId?: string; + /** + * Custom Type. + */ + customType?: string; + /** + * Most specific textual code of individual desk location. + */ + deskCode?: string; + /** + * Floor name/number. + */ + floorName?: string; + /** + * Floor section. More specific location within the floor. For example, if a + * floor is divided into sections "A", "B", and + * "C", this field would identify one of those values. + */ + floorSection?: string; + /** + * Each entry can have a type which indicates standard types of that entry. + * For example location could be of types default and desk. In addition to + * standard type, an entry can have a custom type and can give it any name. + * Such types should have "custom" as type and also have a + * customType value. + */ + type?: string; + } + /** + * JSON request template for setting/revoking admin status of a user in + * Directory API. + */ + interface Schema$UserMakeAdmin { + /** + * Boolean indicating new admin status of the user + */ + status?: boolean; + } + /** + * JSON template for name of a user in Directory API. + */ + interface Schema$UserName { + /** + * Last Name + */ + familyName?: string; + /** + * Full Name + */ + fullName?: string; + /** + * First Name + */ + givenName?: string; + } + /** + * JSON template for an organization entry. + */ + interface Schema$UserOrganization { + /** + * The cost center of the users department. + */ + costCenter?: string; + /** + * Custom type. + */ + customType?: string; + /** + * Department within the organization. + */ + department?: string; + /** + * Description of the organization. + */ + description?: string; + /** + * The domain to which the organization belongs to. + */ + domain?: string; + /** + * The full-time equivalent percent within the organization (100000 = 100%). + */ + fullTimeEquivalent?: number; + /** + * Location of the organization. This need not be fully qualified address. + */ + location?: string; + /** + * Name of the organization + */ + name?: string; + /** + * If it user's primary organization. + */ + primary?: boolean; + /** + * Symbol of the organization. + */ + symbol?: string; + /** + * Title (designation) of the user in the organization. + */ + title?: string; + /** + * Each entry can have a type which indicates standard types of that entry. + * For example organization could be of school, work etc. In addition to the + * standard type, an entry can have a custom type and can give it any name. + * Such types should have the CUSTOM value as type and also have a + * CustomType value. + */ + type?: string; + } + /** + * JSON template for a phone entry. + */ + interface Schema$UserPhone { + /** + * Custom Type. + */ + customType?: string; + /** + * If this is user's primary phone or not. + */ + primary?: boolean; + /** + * Each entry can have a type which indicates standard types of that entry. + * For example phone could be of home_fax, work, mobile etc. In addition to + * the standard type, an entry can have a custom type and can give it any + * name. Such types should have the CUSTOM value as type and also have a + * customType value. + */ + type?: string; + /** + * Phone number. + */ + value?: string; + } + /** + * JSON template for Photo object in Directory API. + */ + interface Schema$UserPhoto { + /** + * ETag of the resource. + */ + etag?: string; + /** + * Height in pixels of the photo + */ + height?: number; + /** + * Unique identifier of User (Read-only) + */ + id?: string; + /** + * Kind of resource this is. + */ + kind?: string; + /** + * Mime Type of the photo + */ + mimeType?: string; + /** + * Base64 encoded photo data + */ + photoData?: string; + /** + * Primary email of User (Read-only) + */ + primaryEmail?: string; + /** + * Width in pixels of the photo + */ + width?: number; + } + /** + * JSON template for a POSIX account entry. Description of the field family: + * go/fbs-posix. + */ + interface Schema$UserPosixAccount { + /** + * A POSIX account field identifier. (Read-only) + */ + accountId?: string; + /** + * The GECOS (user information) for this account. + */ + gecos?: string; + /** + * The default group ID. + */ + gid?: string; + /** + * The path to the home directory for this account. + */ + homeDirectory?: string; + /** + * The operating system type for this account. + */ + operatingSystemType?: string; + /** + * If this is user's primary account within the SystemId. + */ + primary?: boolean; + /** + * The path to the login shell for this account. + */ + shell?: string; + /** + * System identifier for which account Username or Uid apply to. + */ + systemId?: string; + /** + * The POSIX compliant user ID. + */ + uid?: string; + /** + * The username of the account. + */ + username?: string; + } + /** + * JSON template for a relation entry. + */ + interface Schema$UserRelation { + /** + * Custom Type. + */ + customType?: string; + /** + * The relation of the user. Some of the possible values are mother, father, + * sister, brother, manager, assistant, partner. + */ + type?: string; + /** + * The name of the relation. + */ + value?: string; + } + /** + * JSON response template for List Users operation in Apps Directory API. + */ + interface Schema$Users { + /** + * ETag of the resource. + */ + etag?: string; + /** + * Kind of resource this is. + */ + kind?: string; + /** + * Token used to access next page of this result. + */ + nextPageToken?: string; + /** + * Event that triggered this response (only used in case of Push Response) + */ + trigger_event?: string; + /** + * List of user objects. + */ + users?: Schema$User[]; + } + /** + * JSON template for a POSIX account entry. + */ + interface Schema$UserSshPublicKey { + /** + * An expiration time in microseconds since epoch. + */ + expirationTimeUsec?: string; + /** + * A SHA-256 fingerprint of the SSH public key. (Read-only) + */ + fingerprint?: string; + /** + * An SSH public key. + */ + key?: string; + } + /** + * JSON request template to undelete a user in Directory API. + */ + interface Schema$UserUndelete { + /** + * OrgUnit of User + */ + orgUnitPath?: string; + } + /** + * JSON template for a website entry. + */ + interface Schema$UserWebsite { + /** + * Custom Type. + */ + customType?: string; + /** + * If this is user's primary website or not. + */ + primary?: boolean; + /** + * Each entry can have a type which indicates standard types of that entry. + * For example website could be of home, work, blog etc. In addition to the + * standard type, an entry can have a custom type and can give it any name. + * Such types should have the CUSTOM value as type and also have a + * customType value. + */ + type?: string; + /** + * Website. + */ + value?: string; + } + /** + * JSON template for verification codes in Directory API. + */ + interface Schema$VerificationCode { + /** + * ETag of the resource. + */ + etag?: string; + /** + * The type of the resource. This is always + * admin#directory#verificationCode. + */ + kind?: string; + /** + * The obfuscated unique ID of the user. + */ + userId?: string; + /** + * A current verification code for the user. Invalidated or used + * verification codes are not returned as part of the result. + */ + verificationCode?: string; + } + /** + * JSON response template for List verification codes operation in Directory + * API. + */ + interface Schema$VerificationCodes { + /** + * ETag of the resource. + */ + etag?: string; + /** + * A list of verification code resources. + */ + items?: Schema$VerificationCode[]; + /** + * The type of the resource. This is always + * admin#directory#verificationCodesList. + */ + kind?: string; + } + class Resource$Asps { + root: Admin; + constructor(root: Admin); + getRoot(): Admin; + /** + * directory.asps.delete + * @desc Delete an ASP issued by a user. + * @alias directory.asps.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.codeId The unique ID of the ASP to be deleted. + * @param {string} params.userKey Identifies the user in the API request. The value can be the user's primary email address, alias email address, or unique user ID. + * @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?: Params$Resource$Asps$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Asps$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Asps$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * directory.asps.get + * @desc Get information about an ASP issued by a user. + * @alias directory.asps.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.codeId The unique ID of the ASP. + * @param {string} params.userKey Identifies the user in the API request. The value can be the user's primary email address, alias email address, or unique user ID. + * @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?: Params$Resource$Asps$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Asps$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Asps$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * directory.asps.list + * @desc List the ASPs issued by a user. + * @alias directory.asps.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.userKey Identifies the user in the API request. The value can be the user's primary email address, alias email address, or unique user ID. + * @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?: Params$Resource$Asps$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Asps$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Asps$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Asps$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The unique ID of the ASP to be deleted. + */ + codeId?: number; + /** + * Identifies the user in the API request. The value can be the user's + * primary email address, alias email address, or unique user ID. + */ + userKey?: string; + } + interface Params$Resource$Asps$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The unique ID of the ASP. + */ + codeId?: number; + /** + * Identifies the user in the API request. The value can be the user's + * primary email address, alias email address, or unique user ID. + */ + userKey?: string; + } + interface Params$Resource$Asps$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifies the user in the API request. The value can be the user's + * primary email address, alias email address, or unique user ID. + */ + userKey?: string; + } + class Resource$Channels { + root: Admin; + constructor(root: Admin); + getRoot(): Admin; + /** + * admin.channels.stop + * @desc Stop watching resources through this channel + * @alias admin.channels.stop + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().Channel} 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 + */ + stop(params?: Params$Resource$Channels$Stop, options?: MethodOptions): AxiosPromise; + stop(params: Params$Resource$Channels$Stop, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + stop(params: Params$Resource$Channels$Stop, callback: BodyResponseCallback): void; + stop(callback: BodyResponseCallback): void; + } + interface Params$Resource$Channels$Stop { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$Channel; + } + class Resource$Chromeosdevices { + root: Admin; + constructor(root: Admin); + getRoot(): Admin; + /** + * directory.chromeosdevices.action + * @desc Take action on Chrome OS Device + * @alias directory.chromeosdevices.action + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customerId Immutable ID of the G Suite account + * @param {string} params.resourceId Immutable ID of Chrome OS Device + * @param {().ChromeOsDeviceAction} 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 + */ + action(params?: Params$Resource$Chromeosdevices$Action, options?: MethodOptions): AxiosPromise; + action(params: Params$Resource$Chromeosdevices$Action, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + action(params: Params$Resource$Chromeosdevices$Action, callback: BodyResponseCallback): void; + action(callback: BodyResponseCallback): void; + /** + * directory.chromeosdevices.get + * @desc Retrieve Chrome OS Device + * @alias directory.chromeosdevices.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customerId Immutable ID of the G Suite account + * @param {string} params.deviceId Immutable ID of Chrome OS Device + * @param {string=} params.projection Restrict information returned to a set of selected fields. + * @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?: Params$Resource$Chromeosdevices$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Chromeosdevices$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Chromeosdevices$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * directory.chromeosdevices.list + * @desc Retrieve all Chrome OS Devices of a customer (paginated) + * @alias directory.chromeosdevices.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customerId Immutable ID of the G Suite account + * @param {integer=} params.maxResults Maximum number of results to return. Default is 100 + * @param {string=} params.orderBy Column to use for sorting results + * @param {string=} params.orgUnitPath Full path of the organizational unit or its ID + * @param {string=} params.pageToken Token to specify next page in the list + * @param {string=} params.projection Restrict information returned to a set of selected fields. + * @param {string=} params.query Search string in the format given at http://support.google.com/chromeos/a/bin/answer.py?answer=1698333 + * @param {string=} params.sortOrder Whether to return results in ascending or descending order. Only of use when orderBy is also used + * @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?: Params$Resource$Chromeosdevices$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Chromeosdevices$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Chromeosdevices$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * directory.chromeosdevices.moveDevicesToOu + * @desc Move or insert multiple Chrome OS Devices to organizational unit + * @alias directory.chromeosdevices.moveDevicesToOu + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customerId Immutable ID of the G Suite account + * @param {string} params.orgUnitPath Full path of the target organizational unit or its ID + * @param {().ChromeOsMoveDevicesToOu} 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 + */ + moveDevicesToOu(params?: Params$Resource$Chromeosdevices$Movedevicestoou, options?: MethodOptions): AxiosPromise; + moveDevicesToOu(params: Params$Resource$Chromeosdevices$Movedevicestoou, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + moveDevicesToOu(params: Params$Resource$Chromeosdevices$Movedevicestoou, callback: BodyResponseCallback): void; + moveDevicesToOu(callback: BodyResponseCallback): void; + /** + * directory.chromeosdevices.patch + * @desc Update Chrome OS Device. This method supports patch semantics. + * @alias directory.chromeosdevices.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customerId Immutable ID of the G Suite account + * @param {string} params.deviceId Immutable ID of Chrome OS Device + * @param {string=} params.projection Restrict information returned to a set of selected fields. + * @param {().ChromeOsDevice} 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 + */ + patch(params?: Params$Resource$Chromeosdevices$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Chromeosdevices$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Chromeosdevices$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * directory.chromeosdevices.update + * @desc Update Chrome OS Device + * @alias directory.chromeosdevices.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customerId Immutable ID of the G Suite account + * @param {string} params.deviceId Immutable ID of Chrome OS Device + * @param {string=} params.projection Restrict information returned to a set of selected fields. + * @param {().ChromeOsDevice} 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?: Params$Resource$Chromeosdevices$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Chromeosdevices$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Chromeosdevices$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Chromeosdevices$Action { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Immutable ID of the G Suite account + */ + customerId?: string; + /** + * Immutable ID of Chrome OS Device + */ + resourceId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ChromeOsDeviceAction; + } + interface Params$Resource$Chromeosdevices$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Immutable ID of the G Suite account + */ + customerId?: string; + /** + * Immutable ID of Chrome OS Device + */ + deviceId?: string; + /** + * Restrict information returned to a set of selected fields. + */ + projection?: string; + } + interface Params$Resource$Chromeosdevices$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Immutable ID of the G Suite account + */ + customerId?: string; + /** + * Maximum number of results to return. Default is 100 + */ + maxResults?: number; + /** + * Column to use for sorting results + */ + orderBy?: string; + /** + * Full path of the organizational unit or its ID + */ + orgUnitPath?: string; + /** + * Token to specify next page in the list + */ + pageToken?: string; + /** + * Restrict information returned to a set of selected fields. + */ + projection?: string; + /** + * Search string in the format given at + * http://support.google.com/chromeos/a/bin/answer.py?answer=1698333 + */ + query?: string; + /** + * Whether to return results in ascending or descending order. Only of use + * when orderBy is also used + */ + sortOrder?: string; + } + interface Params$Resource$Chromeosdevices$Movedevicestoou { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Immutable ID of the G Suite account + */ + customerId?: string; + /** + * Full path of the target organizational unit or its ID + */ + orgUnitPath?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ChromeOsMoveDevicesToOu; + } + interface Params$Resource$Chromeosdevices$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Immutable ID of the G Suite account + */ + customerId?: string; + /** + * Immutable ID of Chrome OS Device + */ + deviceId?: string; + /** + * Restrict information returned to a set of selected fields. + */ + projection?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ChromeOsDevice; + } + interface Params$Resource$Chromeosdevices$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Immutable ID of the G Suite account + */ + customerId?: string; + /** + * Immutable ID of Chrome OS Device + */ + deviceId?: string; + /** + * Restrict information returned to a set of selected fields. + */ + projection?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ChromeOsDevice; + } + class Resource$Customers { + root: Admin; + constructor(root: Admin); + getRoot(): Admin; + /** + * directory.customers.get + * @desc Retrieves a customer. + * @alias directory.customers.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customerKey Id of the customer to be retrieved + * @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?: Params$Resource$Customers$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Customers$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Customers$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * directory.customers.patch + * @desc Updates a customer. This method supports patch semantics. + * @alias directory.customers.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customerKey Id of the customer to be updated + * @param {().Customer} 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 + */ + patch(params?: Params$Resource$Customers$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Customers$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Customers$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * directory.customers.update + * @desc Updates a customer. + * @alias directory.customers.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customerKey Id of the customer to be updated + * @param {().Customer} 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?: Params$Resource$Customers$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Customers$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Customers$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Customers$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Id of the customer to be retrieved + */ + customerKey?: string; + } + interface Params$Resource$Customers$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Id of the customer to be updated + */ + customerKey?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Customer; + } + interface Params$Resource$Customers$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Id of the customer to be updated + */ + customerKey?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Customer; + } + class Resource$Domainaliases { + root: Admin; + constructor(root: Admin); + getRoot(): Admin; + /** + * directory.domainAliases.delete + * @desc Deletes a Domain Alias of the customer. + * @alias directory.domainAliases.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customer Immutable ID of the G Suite account. + * @param {string} params.domainAliasName Name of domain alias to be retrieved. + * @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?: Params$Resource$Domainaliases$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Domainaliases$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Domainaliases$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * directory.domainAliases.get + * @desc Retrieves a domain alias of the customer. + * @alias directory.domainAliases.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customer Immutable ID of the G Suite account. + * @param {string} params.domainAliasName Name of domain alias to be retrieved. + * @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?: Params$Resource$Domainaliases$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Domainaliases$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Domainaliases$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * directory.domainAliases.insert + * @desc Inserts a Domain alias of the customer. + * @alias directory.domainAliases.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customer Immutable ID of the G Suite account. + * @param {().DomainAlias} 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?: Params$Resource$Domainaliases$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Domainaliases$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Domainaliases$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * directory.domainAliases.list + * @desc Lists the domain aliases of the customer. + * @alias directory.domainAliases.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customer Immutable ID of the G Suite account. + * @param {string=} params.parentDomainName Name of the parent domain for which domain aliases are to be fetched. + * @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?: Params$Resource$Domainaliases$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Domainaliases$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Domainaliases$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Domainaliases$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Immutable ID of the G Suite account. + */ + customer?: string; + /** + * Name of domain alias to be retrieved. + */ + domainAliasName?: string; + } + interface Params$Resource$Domainaliases$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Immutable ID of the G Suite account. + */ + customer?: string; + /** + * Name of domain alias to be retrieved. + */ + domainAliasName?: string; + } + interface Params$Resource$Domainaliases$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Immutable ID of the G Suite account. + */ + customer?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DomainAlias; + } + interface Params$Resource$Domainaliases$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Immutable ID of the G Suite account. + */ + customer?: string; + /** + * Name of the parent domain for which domain aliases are to be fetched. + */ + parentDomainName?: string; + } + class Resource$Domains { + root: Admin; + constructor(root: Admin); + getRoot(): Admin; + /** + * directory.domains.delete + * @desc Deletes a domain of the customer. + * @alias directory.domains.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customer Immutable ID of the G Suite account. + * @param {string} params.domainName Name of domain to be deleted + * @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?: Params$Resource$Domains$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Domains$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Domains$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * directory.domains.get + * @desc Retrieves a domain of the customer. + * @alias directory.domains.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customer Immutable ID of the G Suite account. + * @param {string} params.domainName Name of domain to be retrieved + * @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?: Params$Resource$Domains$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Domains$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Domains$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * directory.domains.insert + * @desc Inserts a domain of the customer. + * @alias directory.domains.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customer Immutable ID of the G Suite account. + * @param {().Domains} 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?: Params$Resource$Domains$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Domains$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Domains$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * directory.domains.list + * @desc Lists the domains of the customer. + * @alias directory.domains.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customer Immutable ID of the G Suite account. + * @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?: Params$Resource$Domains$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Domains$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Domains$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Domains$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Immutable ID of the G Suite account. + */ + customer?: string; + /** + * Name of domain to be deleted + */ + domainName?: string; + } + interface Params$Resource$Domains$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Immutable ID of the G Suite account. + */ + customer?: string; + /** + * Name of domain to be retrieved + */ + domainName?: string; + } + interface Params$Resource$Domains$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Immutable ID of the G Suite account. + */ + customer?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Domains; + } + interface Params$Resource$Domains$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Immutable ID of the G Suite account. + */ + customer?: string; + } + class Resource$Groups { + root: Admin; + aliases: Resource$Groups$Aliases; + constructor(root: Admin); + getRoot(): Admin; + /** + * directory.groups.delete + * @desc Delete Group + * @alias directory.groups.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.groupKey Email or immutable ID of the group + * @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?: Params$Resource$Groups$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Groups$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Groups$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * directory.groups.get + * @desc Retrieve Group + * @alias directory.groups.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.groupKey Email or immutable ID of the group + * @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?: Params$Resource$Groups$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Groups$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Groups$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * directory.groups.insert + * @desc Create Group + * @alias directory.groups.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().Group} 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?: Params$Resource$Groups$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Groups$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Groups$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * directory.groups.list + * @desc Retrieve all groups of a domain or of a user given a userKey + * (paginated) + * @alias directory.groups.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {string=} params.customer Immutable ID of the G Suite account. In case of multi-domain, to fetch all groups for a customer, fill this field instead of domain. + * @param {string=} params.domain Name of the domain. Fill this field to get groups from only this domain. To return all groups in a multi-domain fill customer field instead. + * @param {integer=} params.maxResults Maximum number of results to return. Default is 200 + * @param {string=} params.orderBy Column to use for sorting results + * @param {string=} params.pageToken Token to specify next page in the list + * @param {string=} params.query Query string search. Should be of the form "". Complete documentation is at https://developers.google.com/admin-sdk/directory/v1/guides/search-groups + * @param {string=} params.sortOrder Whether to return results in ascending or descending order. Only of use when orderBy is also used + * @param {string=} params.userKey Email or immutable Id of the user if only those groups are to be listed, the given user is a member of. If Id, it should match with id of user object + * @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?: Params$Resource$Groups$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Groups$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Groups$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * directory.groups.patch + * @desc Update Group. This method supports patch semantics. + * @alias directory.groups.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.groupKey Email or immutable ID of the group. If ID, it should match with id of group object + * @param {().Group} 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 + */ + patch(params?: Params$Resource$Groups$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Groups$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Groups$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * directory.groups.update + * @desc Update Group + * @alias directory.groups.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.groupKey Email or immutable ID of the group. If ID, it should match with id of group object + * @param {().Group} 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?: Params$Resource$Groups$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Groups$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Groups$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Groups$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Email or immutable ID of the group + */ + groupKey?: string; + } + interface Params$Resource$Groups$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Email or immutable ID of the group + */ + groupKey?: string; + } + interface Params$Resource$Groups$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$Group; + } + interface Params$Resource$Groups$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Immutable ID of the G Suite account. In case of multi-domain, to fetch + * all groups for a customer, fill this field instead of domain. + */ + customer?: string; + /** + * Name of the domain. Fill this field to get groups from only this domain. + * To return all groups in a multi-domain fill customer field instead. + */ + domain?: string; + /** + * Maximum number of results to return. Default is 200 + */ + maxResults?: number; + /** + * Column to use for sorting results + */ + orderBy?: string; + /** + * Token to specify next page in the list + */ + pageToken?: string; + /** + * Query string search. Should be of the form "". Complete documentation is + * at + * https://developers.google.com/admin-sdk/directory/v1/guides/search-groups + */ + query?: string; + /** + * Whether to return results in ascending or descending order. Only of use + * when orderBy is also used + */ + sortOrder?: string; + /** + * Email or immutable Id of the user if only those groups are to be listed, + * the given user is a member of. If Id, it should match with id of user + * object + */ + userKey?: string; + } + interface Params$Resource$Groups$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Email or immutable ID of the group. If ID, it should match with id of + * group object + */ + groupKey?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Group; + } + interface Params$Resource$Groups$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Email or immutable ID of the group. If ID, it should match with id of + * group object + */ + groupKey?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Group; + } + class Resource$Groups$Aliases { + root: Admin; + constructor(root: Admin); + getRoot(): Admin; + /** + * directory.groups.aliases.delete + * @desc Remove a alias for the group + * @alias directory.groups.aliases.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.alias The alias to be removed + * @param {string} params.groupKey Email or immutable ID of the group + * @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?: Params$Resource$Groups$Aliases$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Groups$Aliases$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Groups$Aliases$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * directory.groups.aliases.insert + * @desc Add a alias for the group + * @alias directory.groups.aliases.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.groupKey Email or immutable ID of the group + * @param {().Alias} 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?: Params$Resource$Groups$Aliases$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Groups$Aliases$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Groups$Aliases$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * directory.groups.aliases.list + * @desc List all aliases for a group + * @alias directory.groups.aliases.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.groupKey Email or immutable ID of the group + * @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?: Params$Resource$Groups$Aliases$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Groups$Aliases$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Groups$Aliases$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Groups$Aliases$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The alias to be removed + */ + alias?: string; + /** + * Email or immutable ID of the group + */ + groupKey?: string; + } + interface Params$Resource$Groups$Aliases$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Email or immutable ID of the group + */ + groupKey?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Alias; + } + interface Params$Resource$Groups$Aliases$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Email or immutable ID of the group + */ + groupKey?: string; + } + class Resource$Members { + root: Admin; + constructor(root: Admin); + getRoot(): Admin; + /** + * directory.members.delete + * @desc Remove membership. + * @alias directory.members.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.groupKey Email or immutable ID of the group + * @param {string} params.memberKey Email or immutable ID of the member + * @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?: Params$Resource$Members$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Members$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Members$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * directory.members.get + * @desc Retrieve Group Member + * @alias directory.members.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.groupKey Email or immutable ID of the group + * @param {string} params.memberKey Email or immutable ID of the member + * @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?: Params$Resource$Members$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Members$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Members$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * directory.members.hasMember + * @desc Checks whether the given user is a member of the group. Membership + * can be direct or nested. + * @alias directory.members.hasMember + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.groupKey Identifies the group in the API request. The value can be the group's email address, group alias, or the unique group ID. + * @param {string} params.memberKey Identifies the user member in the API request. The value can be the user's primary email address, alias, or unique ID. + * @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 + */ + hasMember(params?: Params$Resource$Members$Hasmember, options?: MethodOptions): AxiosPromise; + hasMember(params: Params$Resource$Members$Hasmember, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + hasMember(params: Params$Resource$Members$Hasmember, callback: BodyResponseCallback): void; + hasMember(callback: BodyResponseCallback): void; + /** + * directory.members.insert + * @desc Add user to the specified group. + * @alias directory.members.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.groupKey Email or immutable ID of the group + * @param {().Member} 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?: Params$Resource$Members$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Members$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Members$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * directory.members.list + * @desc Retrieve all members in a group (paginated) + * @alias directory.members.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.groupKey Email or immutable ID of the group + * @param {boolean=} params.includeDerivedMembership Whether to list indirect memberships. Default: false. + * @param {integer=} params.maxResults Maximum number of results to return. Default is 200 + * @param {string=} params.pageToken Token to specify next page in the list + * @param {string=} params.roles Comma separated role values to filter list results on. + * @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?: Params$Resource$Members$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Members$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Members$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * directory.members.patch + * @desc Update membership of a user in the specified group. This method + * supports patch semantics. + * @alias directory.members.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.groupKey Email or immutable ID of the group. If ID, it should match with id of group object + * @param {string} params.memberKey Email or immutable ID of the user. If ID, it should match with id of member object + * @param {().Member} 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 + */ + patch(params?: Params$Resource$Members$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Members$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Members$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * directory.members.update + * @desc Update membership of a user in the specified group. + * @alias directory.members.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.groupKey Email or immutable ID of the group. If ID, it should match with id of group object + * @param {string} params.memberKey Email or immutable ID of the user. If ID, it should match with id of member object + * @param {().Member} 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?: Params$Resource$Members$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Members$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Members$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Members$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Email or immutable ID of the group + */ + groupKey?: string; + /** + * Email or immutable ID of the member + */ + memberKey?: string; + } + interface Params$Resource$Members$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Email or immutable ID of the group + */ + groupKey?: string; + /** + * Email or immutable ID of the member + */ + memberKey?: string; + } + interface Params$Resource$Members$Hasmember { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifies the group in the API request. The value can be the group's + * email address, group alias, or the unique group ID. + */ + groupKey?: string; + /** + * Identifies the user member in the API request. The value can be the + * user's primary email address, alias, or unique ID. + */ + memberKey?: string; + } + interface Params$Resource$Members$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Email or immutable ID of the group + */ + groupKey?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Member; + } + interface Params$Resource$Members$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Email or immutable ID of the group + */ + groupKey?: string; + /** + * Whether to list indirect memberships. Default: false. + */ + includeDerivedMembership?: boolean; + /** + * Maximum number of results to return. Default is 200 + */ + maxResults?: number; + /** + * Token to specify next page in the list + */ + pageToken?: string; + /** + * Comma separated role values to filter list results on. + */ + roles?: string; + } + interface Params$Resource$Members$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Email or immutable ID of the group. If ID, it should match with id of + * group object + */ + groupKey?: string; + /** + * Email or immutable ID of the user. If ID, it should match with id of + * member object + */ + memberKey?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Member; + } + interface Params$Resource$Members$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Email or immutable ID of the group. If ID, it should match with id of + * group object + */ + groupKey?: string; + /** + * Email or immutable ID of the user. If ID, it should match with id of + * member object + */ + memberKey?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Member; + } + class Resource$Mobiledevices { + root: Admin; + constructor(root: Admin); + getRoot(): Admin; + /** + * directory.mobiledevices.action + * @desc Take action on Mobile Device + * @alias directory.mobiledevices.action + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customerId Immutable ID of the G Suite account + * @param {string} params.resourceId Immutable ID of Mobile Device + * @param {().MobileDeviceAction} 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 + */ + action(params?: Params$Resource$Mobiledevices$Action, options?: MethodOptions): AxiosPromise; + action(params: Params$Resource$Mobiledevices$Action, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + action(params: Params$Resource$Mobiledevices$Action, callback: BodyResponseCallback): void; + action(callback: BodyResponseCallback): void; + /** + * directory.mobiledevices.delete + * @desc Delete Mobile Device + * @alias directory.mobiledevices.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customerId Immutable ID of the G Suite account + * @param {string} params.resourceId Immutable ID of Mobile Device + * @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?: Params$Resource$Mobiledevices$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Mobiledevices$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Mobiledevices$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * directory.mobiledevices.get + * @desc Retrieve Mobile Device + * @alias directory.mobiledevices.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customerId Immutable ID of the G Suite account + * @param {string=} params.projection Restrict information returned to a set of selected fields. + * @param {string} params.resourceId Immutable ID of Mobile Device + * @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?: Params$Resource$Mobiledevices$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Mobiledevices$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Mobiledevices$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * directory.mobiledevices.list + * @desc Retrieve all Mobile Devices of a customer (paginated) + * @alias directory.mobiledevices.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customerId Immutable ID of the G Suite account + * @param {integer=} params.maxResults Maximum number of results to return. Default is 100 + * @param {string=} params.orderBy Column to use for sorting results + * @param {string=} params.pageToken Token to specify next page in the list + * @param {string=} params.projection Restrict information returned to a set of selected fields. + * @param {string=} params.query Search string in the format given at http://support.google.com/a/bin/answer.py?answer=1408863#search + * @param {string=} params.sortOrder Whether to return results in ascending or descending order. Only of use when orderBy is also used + * @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?: Params$Resource$Mobiledevices$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Mobiledevices$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Mobiledevices$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Mobiledevices$Action { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Immutable ID of the G Suite account + */ + customerId?: string; + /** + * Immutable ID of Mobile Device + */ + resourceId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$MobileDeviceAction; + } + interface Params$Resource$Mobiledevices$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Immutable ID of the G Suite account + */ + customerId?: string; + /** + * Immutable ID of Mobile Device + */ + resourceId?: string; + } + interface Params$Resource$Mobiledevices$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Immutable ID of the G Suite account + */ + customerId?: string; + /** + * Restrict information returned to a set of selected fields. + */ + projection?: string; + /** + * Immutable ID of Mobile Device + */ + resourceId?: string; + } + interface Params$Resource$Mobiledevices$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Immutable ID of the G Suite account + */ + customerId?: string; + /** + * Maximum number of results to return. Default is 100 + */ + maxResults?: number; + /** + * Column to use for sorting results + */ + orderBy?: string; + /** + * Token to specify next page in the list + */ + pageToken?: string; + /** + * Restrict information returned to a set of selected fields. + */ + projection?: string; + /** + * Search string in the format given at + * http://support.google.com/a/bin/answer.py?answer=1408863#search + */ + query?: string; + /** + * Whether to return results in ascending or descending order. Only of use + * when orderBy is also used + */ + sortOrder?: string; + } + class Resource$Notifications { + root: Admin; + constructor(root: Admin); + getRoot(): Admin; + /** + * directory.notifications.delete + * @desc Deletes a notification + * @alias directory.notifications.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customer The unique ID for the customer's G Suite account. The customerId is also returned as part of the Users resource. + * @param {string} params.notificationId The unique ID of the notification. + * @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?: Params$Resource$Notifications$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Notifications$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Notifications$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * directory.notifications.get + * @desc Retrieves a notification. + * @alias directory.notifications.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customer The unique ID for the customer's G Suite account. The customerId is also returned as part of the Users resource. + * @param {string} params.notificationId The unique ID of the notification. + * @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?: Params$Resource$Notifications$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Notifications$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Notifications$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * directory.notifications.list + * @desc Retrieves a list of notifications. + * @alias directory.notifications.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customer The unique ID for the customer's G Suite account. + * @param {string=} params.language The ISO 639-1 code of the language notifications are returned in. The default is English (en). + * @param {integer=} params.maxResults Maximum number of notifications to return per page. The default is 100. + * @param {string=} params.pageToken The token to specify the page of results to retrieve. + * @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?: Params$Resource$Notifications$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Notifications$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Notifications$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * directory.notifications.patch + * @desc Updates a notification. This method supports patch semantics. + * @alias directory.notifications.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customer The unique ID for the customer's G Suite account. + * @param {string} params.notificationId The unique ID of the notification. + * @param {().Notification} 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 + */ + patch(params?: Params$Resource$Notifications$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Notifications$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Notifications$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * directory.notifications.update + * @desc Updates a notification. + * @alias directory.notifications.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customer The unique ID for the customer's G Suite account. + * @param {string} params.notificationId The unique ID of the notification. + * @param {().Notification} 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?: Params$Resource$Notifications$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Notifications$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Notifications$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Notifications$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The unique ID for the customer's G Suite account. The customerId is also + * returned as part of the Users resource. + */ + customer?: string; + /** + * The unique ID of the notification. + */ + notificationId?: string; + } + interface Params$Resource$Notifications$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The unique ID for the customer's G Suite account. The customerId is also + * returned as part of the Users resource. + */ + customer?: string; + /** + * The unique ID of the notification. + */ + notificationId?: string; + } + interface Params$Resource$Notifications$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The unique ID for the customer's G Suite account. + */ + customer?: string; + /** + * The ISO 639-1 code of the language notifications are returned in. The + * default is English (en). + */ + language?: string; + /** + * Maximum number of notifications to return per page. The default is 100. + */ + maxResults?: number; + /** + * The token to specify the page of results to retrieve. + */ + pageToken?: string; + } + interface Params$Resource$Notifications$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The unique ID for the customer's G Suite account. + */ + customer?: string; + /** + * The unique ID of the notification. + */ + notificationId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Notification; + } + interface Params$Resource$Notifications$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The unique ID for the customer's G Suite account. + */ + customer?: string; + /** + * The unique ID of the notification. + */ + notificationId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Notification; + } + class Resource$Orgunits { + root: Admin; + constructor(root: Admin); + getRoot(): Admin; + /** + * directory.orgunits.delete + * @desc Remove organizational unit + * @alias directory.orgunits.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customerId Immutable ID of the G Suite account + * @param {string} params.orgUnitPath Full path of the organizational unit or its ID + * @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?: Params$Resource$Orgunits$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Orgunits$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Orgunits$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * directory.orgunits.get + * @desc Retrieve organizational unit + * @alias directory.orgunits.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customerId Immutable ID of the G Suite account + * @param {string} params.orgUnitPath Full path of the organizational unit or its ID + * @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?: Params$Resource$Orgunits$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Orgunits$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Orgunits$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * directory.orgunits.insert + * @desc Add organizational unit + * @alias directory.orgunits.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customerId Immutable ID of the G Suite account + * @param {().OrgUnit} 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?: Params$Resource$Orgunits$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Orgunits$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Orgunits$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * directory.orgunits.list + * @desc Retrieve all organizational units + * @alias directory.orgunits.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customerId Immutable ID of the G Suite account + * @param {string=} params.orgUnitPath the URL-encoded organizational unit's path or its ID + * @param {string=} params.type Whether to return all sub-organizations or just immediate children + * @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?: Params$Resource$Orgunits$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Orgunits$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Orgunits$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * directory.orgunits.patch + * @desc Update organizational unit. This method supports patch semantics. + * @alias directory.orgunits.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customerId Immutable ID of the G Suite account + * @param {string} params.orgUnitPath Full path of the organizational unit or its ID + * @param {().OrgUnit} 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 + */ + patch(params?: Params$Resource$Orgunits$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Orgunits$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Orgunits$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * directory.orgunits.update + * @desc Update organizational unit + * @alias directory.orgunits.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customerId Immutable ID of the G Suite account + * @param {string} params.orgUnitPath Full path of the organizational unit or its ID + * @param {().OrgUnit} 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?: Params$Resource$Orgunits$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Orgunits$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Orgunits$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Orgunits$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Immutable ID of the G Suite account + */ + customerId?: string; + /** + * Full path of the organizational unit or its ID + */ + orgUnitPath?: string; + } + interface Params$Resource$Orgunits$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Immutable ID of the G Suite account + */ + customerId?: string; + /** + * Full path of the organizational unit or its ID + */ + orgUnitPath?: string; + } + interface Params$Resource$Orgunits$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Immutable ID of the G Suite account + */ + customerId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$OrgUnit; + } + interface Params$Resource$Orgunits$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Immutable ID of the G Suite account + */ + customerId?: string; + /** + * the URL-encoded organizational unit's path or its ID + */ + orgUnitPath?: string; + /** + * Whether to return all sub-organizations or just immediate children + */ + type?: string; + } + interface Params$Resource$Orgunits$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Immutable ID of the G Suite account + */ + customerId?: string; + /** + * Full path of the organizational unit or its ID + */ + orgUnitPath?: string; + /** + * Request body metadata + */ + requestBody?: Schema$OrgUnit; + } + interface Params$Resource$Orgunits$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Immutable ID of the G Suite account + */ + customerId?: string; + /** + * Full path of the organizational unit or its ID + */ + orgUnitPath?: string; + /** + * Request body metadata + */ + requestBody?: Schema$OrgUnit; + } + class Resource$Privileges { + root: Admin; + constructor(root: Admin); + getRoot(): Admin; + /** + * directory.privileges.list + * @desc Retrieves a paginated list of all privileges for a customer. + * @alias directory.privileges.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customer Immutable ID of the G Suite account. + * @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?: Params$Resource$Privileges$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Privileges$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Privileges$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Privileges$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Immutable ID of the G Suite account. + */ + customer?: string; + } + class Resource$Resolvedappaccesssettings { + root: Admin; + constructor(root: Admin); + getRoot(): Admin; + /** + * directory.resolvedAppAccessSettings.GetSettings + * @desc Retrieves resolved app access settings of the logged in user. + * @alias directory.resolvedAppAccessSettings.GetSettings + * @memberOf! () + * + * @param {object=} params Parameters for request + * @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 + */ + GetSettings(params?: Params$Resource$Resolvedappaccesssettings$Getsettings, options?: MethodOptions): AxiosPromise; + GetSettings(params: Params$Resource$Resolvedappaccesssettings$Getsettings, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + GetSettings(params: Params$Resource$Resolvedappaccesssettings$Getsettings, callback: BodyResponseCallback): void; + GetSettings(callback: BodyResponseCallback): void; + /** + * directory.resolvedAppAccessSettings.ListTrustedApps + * @desc Retrieves the list of apps trusted by the admin of the logged in + * user. + * @alias directory.resolvedAppAccessSettings.ListTrustedApps + * @memberOf! () + * + * @param {object=} params Parameters for request + * @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 + */ + ListTrustedApps(params?: Params$Resource$Resolvedappaccesssettings$Listtrustedapps, options?: MethodOptions): AxiosPromise; + ListTrustedApps(params: Params$Resource$Resolvedappaccesssettings$Listtrustedapps, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + ListTrustedApps(params: Params$Resource$Resolvedappaccesssettings$Listtrustedapps, callback: BodyResponseCallback): void; + ListTrustedApps(callback: BodyResponseCallback): void; + } + interface Params$Resource$Resolvedappaccesssettings$Getsettings { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } + interface Params$Resource$Resolvedappaccesssettings$Listtrustedapps { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } + class Resource$Resources { + root: Admin; + buildings: Resource$Resources$Buildings; + calendars: Resource$Resources$Calendars; + features: Resource$Resources$Features; + constructor(root: Admin); + getRoot(): Admin; + } + class Resource$Resources$Buildings { + root: Admin; + constructor(root: Admin); + getRoot(): Admin; + /** + * directory.resources.buildings.delete + * @desc Deletes a building. + * @alias directory.resources.buildings.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.buildingId The ID of the building to delete. + * @param {string} params.customer The unique ID for the customer's G Suite account. As an account administrator, you can also use the my_customer alias to represent your account's customer ID. + * @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?: Params$Resource$Resources$Buildings$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Resources$Buildings$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Resources$Buildings$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * directory.resources.buildings.get + * @desc Retrieves a building. + * @alias directory.resources.buildings.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.buildingId The unique ID of the building to retrieve. + * @param {string} params.customer The unique ID for the customer's G Suite account. As an account administrator, you can also use the my_customer alias to represent your account's customer ID. + * @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?: Params$Resource$Resources$Buildings$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Resources$Buildings$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Resources$Buildings$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * directory.resources.buildings.insert + * @desc Inserts a building. + * @alias directory.resources.buildings.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customer The unique ID for the customer's G Suite account. As an account administrator, you can also use the my_customer alias to represent your account's customer ID. + * @param {().Building} 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?: Params$Resource$Resources$Buildings$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Resources$Buildings$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Resources$Buildings$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * directory.resources.buildings.list + * @desc Retrieves a list of buildings for an account. + * @alias directory.resources.buildings.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customer The unique ID for the customer's G Suite account. As an account administrator, you can also use the my_customer alias to represent your account's customer ID. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Token to specify the next page in the list. + * @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?: Params$Resource$Resources$Buildings$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Resources$Buildings$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Resources$Buildings$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * directory.resources.buildings.patch + * @desc Updates a building. This method supports patch semantics. + * @alias directory.resources.buildings.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.buildingId The ID of the building to update. + * @param {string} params.customer The unique ID for the customer's G Suite account. As an account administrator, you can also use the my_customer alias to represent your account's customer ID. + * @param {().Building} 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 + */ + patch(params?: Params$Resource$Resources$Buildings$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Resources$Buildings$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Resources$Buildings$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * directory.resources.buildings.update + * @desc Updates a building. + * @alias directory.resources.buildings.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.buildingId The ID of the building to update. + * @param {string} params.customer The unique ID for the customer's G Suite account. As an account administrator, you can also use the my_customer alias to represent your account's customer ID. + * @param {().Building} 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?: Params$Resource$Resources$Buildings$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Resources$Buildings$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Resources$Buildings$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Resources$Buildings$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the building to delete. + */ + buildingId?: string; + /** + * The unique ID for the customer's G Suite account. As an account + * administrator, you can also use the my_customer alias to represent your + * account's customer ID. + */ + customer?: string; + } + interface Params$Resource$Resources$Buildings$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The unique ID of the building to retrieve. + */ + buildingId?: string; + /** + * The unique ID for the customer's G Suite account. As an account + * administrator, you can also use the my_customer alias to represent your + * account's customer ID. + */ + customer?: string; + } + interface Params$Resource$Resources$Buildings$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The unique ID for the customer's G Suite account. As an account + * administrator, you can also use the my_customer alias to represent your + * account's customer ID. + */ + customer?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Building; + } + interface Params$Resource$Resources$Buildings$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The unique ID for the customer's G Suite account. As an account + * administrator, you can also use the my_customer alias to represent your + * account's customer ID. + */ + customer?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Token to specify the next page in the list. + */ + pageToken?: string; + } + interface Params$Resource$Resources$Buildings$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the building to update. + */ + buildingId?: string; + /** + * The unique ID for the customer's G Suite account. As an account + * administrator, you can also use the my_customer alias to represent your + * account's customer ID. + */ + customer?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Building; + } + interface Params$Resource$Resources$Buildings$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the building to update. + */ + buildingId?: string; + /** + * The unique ID for the customer's G Suite account. As an account + * administrator, you can also use the my_customer alias to represent your + * account's customer ID. + */ + customer?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Building; + } + class Resource$Resources$Calendars { + root: Admin; + constructor(root: Admin); + getRoot(): Admin; + /** + * directory.resources.calendars.delete + * @desc Deletes a calendar resource. + * @alias directory.resources.calendars.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.calendarResourceId The unique ID of the calendar resource to delete. + * @param {string} params.customer The unique ID for the customer's G Suite account. As an account administrator, you can also use the my_customer alias to represent your account's customer ID. + * @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?: Params$Resource$Resources$Calendars$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Resources$Calendars$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Resources$Calendars$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * directory.resources.calendars.get + * @desc Retrieves a calendar resource. + * @alias directory.resources.calendars.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.calendarResourceId The unique ID of the calendar resource to retrieve. + * @param {string} params.customer The unique ID for the customer's G Suite account. As an account administrator, you can also use the my_customer alias to represent your account's customer ID. + * @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?: Params$Resource$Resources$Calendars$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Resources$Calendars$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Resources$Calendars$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * directory.resources.calendars.insert + * @desc Inserts a calendar resource. + * @alias directory.resources.calendars.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customer The unique ID for the customer's G Suite account. As an account administrator, you can also use the my_customer alias to represent your account's customer ID. + * @param {().CalendarResource} 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?: Params$Resource$Resources$Calendars$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Resources$Calendars$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Resources$Calendars$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * directory.resources.calendars.list + * @desc Retrieves a list of calendar resources for an account. + * @alias directory.resources.calendars.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customer The unique ID for the customer's G Suite account. As an account administrator, you can also use the my_customer alias to represent your account's customer ID. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.orderBy Field(s) to sort results by in either ascending or descending order. Supported fields include resourceId, resourceName, capacity, buildingId, and floorName. If no order is specified, defaults to ascending. Should be of the form "field [asc|desc], field [asc|desc], ...". For example buildingId, capacity desc would return results sorted first by buildingId in ascending order then by capacity in descending order. + * @param {string=} params.pageToken Token to specify the next page in the list. + * @param {string=} params.query String query used to filter results. Should be of the form "field operator value" where field can be any of supported fields and operators can be any of supported operations. Operators include '=' for exact match and ':' for prefix match or HAS match where applicable. For prefix match, the value should always be followed by a *. Supported fields include generatedResourceName, name, buildingId, featureInstances.feature.name. For example buildingId=US-NYC-9TH AND featureInstances.feature.name:Phone. + * @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?: Params$Resource$Resources$Calendars$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Resources$Calendars$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Resources$Calendars$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * directory.resources.calendars.patch + * @desc Updates a calendar resource. This method supports patch semantics, + * meaning you only need to include the fields you wish to update. Fields + * that are not present in the request will be preserved. This method + * supports patch semantics. + * @alias directory.resources.calendars.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.calendarResourceId The unique ID of the calendar resource to update. + * @param {string} params.customer The unique ID for the customer's G Suite account. As an account administrator, you can also use the my_customer alias to represent your account's customer ID. + * @param {().CalendarResource} 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 + */ + patch(params?: Params$Resource$Resources$Calendars$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Resources$Calendars$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Resources$Calendars$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * directory.resources.calendars.update + * @desc Updates a calendar resource. This method supports patch semantics, + * meaning you only need to include the fields you wish to update. Fields + * that are not present in the request will be preserved. + * @alias directory.resources.calendars.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.calendarResourceId The unique ID of the calendar resource to update. + * @param {string} params.customer The unique ID for the customer's G Suite account. As an account administrator, you can also use the my_customer alias to represent your account's customer ID. + * @param {().CalendarResource} 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?: Params$Resource$Resources$Calendars$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Resources$Calendars$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Resources$Calendars$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Resources$Calendars$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The unique ID of the calendar resource to delete. + */ + calendarResourceId?: string; + /** + * The unique ID for the customer's G Suite account. As an account + * administrator, you can also use the my_customer alias to represent your + * account's customer ID. + */ + customer?: string; + } + interface Params$Resource$Resources$Calendars$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The unique ID of the calendar resource to retrieve. + */ + calendarResourceId?: string; + /** + * The unique ID for the customer's G Suite account. As an account + * administrator, you can also use the my_customer alias to represent your + * account's customer ID. + */ + customer?: string; + } + interface Params$Resource$Resources$Calendars$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The unique ID for the customer's G Suite account. As an account + * administrator, you can also use the my_customer alias to represent your + * account's customer ID. + */ + customer?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CalendarResource; + } + interface Params$Resource$Resources$Calendars$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The unique ID for the customer's G Suite account. As an account + * administrator, you can also use the my_customer alias to represent your + * account's customer ID. + */ + customer?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Field(s) to sort results by in either ascending or descending order. + * Supported fields include resourceId, resourceName, capacity, buildingId, + * and floorName. If no order is specified, defaults to ascending. Should be + * of the form "field [asc|desc], field [asc|desc], ...". For example + * buildingId, capacity desc would return results sorted first by buildingId + * in ascending order then by capacity in descending order. + */ + orderBy?: string; + /** + * Token to specify the next page in the list. + */ + pageToken?: string; + /** + * String query used to filter results. Should be of the form "field + * operator value" where field can be any of supported fields and operators + * can be any of supported operations. Operators include '=' for exact match + * and ':' for prefix match or HAS match where applicable. For prefix match, + * the value should always be followed by a *. Supported fields include + * generatedResourceName, name, buildingId, featureInstances.feature.name. + * For example buildingId=US-NYC-9TH AND + * featureInstances.feature.name:Phone. + */ + query?: string; + } + interface Params$Resource$Resources$Calendars$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The unique ID of the calendar resource to update. + */ + calendarResourceId?: string; + /** + * The unique ID for the customer's G Suite account. As an account + * administrator, you can also use the my_customer alias to represent your + * account's customer ID. + */ + customer?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CalendarResource; + } + interface Params$Resource$Resources$Calendars$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The unique ID of the calendar resource to update. + */ + calendarResourceId?: string; + /** + * The unique ID for the customer's G Suite account. As an account + * administrator, you can also use the my_customer alias to represent your + * account's customer ID. + */ + customer?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CalendarResource; + } + class Resource$Resources$Features { + root: Admin; + constructor(root: Admin); + getRoot(): Admin; + /** + * directory.resources.features.delete + * @desc Deletes a feature. + * @alias directory.resources.features.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customer The unique ID for the customer's G Suite account. As an account administrator, you can also use the my_customer alias to represent your account's customer ID. + * @param {string} params.featureKey The unique ID of the feature to delete. + * @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?: Params$Resource$Resources$Features$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Resources$Features$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Resources$Features$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * directory.resources.features.get + * @desc Retrieves a feature. + * @alias directory.resources.features.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customer The unique ID for the customer's G Suite account. As an account administrator, you can also use the my_customer alias to represent your account's customer ID. + * @param {string} params.featureKey The unique ID of the feature to retrieve. + * @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?: Params$Resource$Resources$Features$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Resources$Features$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Resources$Features$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * directory.resources.features.insert + * @desc Inserts a feature. + * @alias directory.resources.features.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customer The unique ID for the customer's G Suite account. As an account administrator, you can also use the my_customer alias to represent your account's customer ID. + * @param {().Feature} 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?: Params$Resource$Resources$Features$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Resources$Features$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Resources$Features$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * directory.resources.features.list + * @desc Retrieves a list of features for an account. + * @alias directory.resources.features.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customer The unique ID for the customer's G Suite account. As an account administrator, you can also use the my_customer alias to represent your account's customer ID. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Token to specify the next page in the list. + * @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?: Params$Resource$Resources$Features$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Resources$Features$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Resources$Features$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * directory.resources.features.patch + * @desc Updates a feature. This method supports patch semantics. + * @alias directory.resources.features.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customer The unique ID for the customer's G Suite account. As an account administrator, you can also use the my_customer alias to represent your account's customer ID. + * @param {string} params.featureKey The unique ID of the feature to update. + * @param {().Feature} 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 + */ + patch(params?: Params$Resource$Resources$Features$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Resources$Features$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Resources$Features$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * directory.resources.features.rename + * @desc Renames a feature. + * @alias directory.resources.features.rename + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customer The unique ID for the customer's G Suite account. As an account administrator, you can also use the my_customer alias to represent your account's customer ID. + * @param {string} params.oldName The unique ID of the feature to rename. + * @param {().FeatureRename} 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 + */ + rename(params?: Params$Resource$Resources$Features$Rename, options?: MethodOptions): AxiosPromise; + rename(params: Params$Resource$Resources$Features$Rename, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + rename(params: Params$Resource$Resources$Features$Rename, callback: BodyResponseCallback): void; + rename(callback: BodyResponseCallback): void; + /** + * directory.resources.features.update + * @desc Updates a feature. + * @alias directory.resources.features.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customer The unique ID for the customer's G Suite account. As an account administrator, you can also use the my_customer alias to represent your account's customer ID. + * @param {string} params.featureKey The unique ID of the feature to update. + * @param {().Feature} 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?: Params$Resource$Resources$Features$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Resources$Features$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Resources$Features$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Resources$Features$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The unique ID for the customer's G Suite account. As an account + * administrator, you can also use the my_customer alias to represent your + * account's customer ID. + */ + customer?: string; + /** + * The unique ID of the feature to delete. + */ + featureKey?: string; + } + interface Params$Resource$Resources$Features$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The unique ID for the customer's G Suite account. As an account + * administrator, you can also use the my_customer alias to represent your + * account's customer ID. + */ + customer?: string; + /** + * The unique ID of the feature to retrieve. + */ + featureKey?: string; + } + interface Params$Resource$Resources$Features$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The unique ID for the customer's G Suite account. As an account + * administrator, you can also use the my_customer alias to represent your + * account's customer ID. + */ + customer?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Feature; + } + interface Params$Resource$Resources$Features$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The unique ID for the customer's G Suite account. As an account + * administrator, you can also use the my_customer alias to represent your + * account's customer ID. + */ + customer?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Token to specify the next page in the list. + */ + pageToken?: string; + } + interface Params$Resource$Resources$Features$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The unique ID for the customer's G Suite account. As an account + * administrator, you can also use the my_customer alias to represent your + * account's customer ID. + */ + customer?: string; + /** + * The unique ID of the feature to update. + */ + featureKey?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Feature; + } + interface Params$Resource$Resources$Features$Rename { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The unique ID for the customer's G Suite account. As an account + * administrator, you can also use the my_customer alias to represent your + * account's customer ID. + */ + customer?: string; + /** + * The unique ID of the feature to rename. + */ + oldName?: string; + /** + * Request body metadata + */ + requestBody?: Schema$FeatureRename; + } + interface Params$Resource$Resources$Features$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The unique ID for the customer's G Suite account. As an account + * administrator, you can also use the my_customer alias to represent your + * account's customer ID. + */ + customer?: string; + /** + * The unique ID of the feature to update. + */ + featureKey?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Feature; + } + class Resource$Roleassignments { + root: Admin; + constructor(root: Admin); + getRoot(): Admin; + /** + * directory.roleAssignments.delete + * @desc Deletes a role assignment. + * @alias directory.roleAssignments.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customer Immutable ID of the G Suite account. + * @param {string} params.roleAssignmentId Immutable ID of the role assignment. + * @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?: Params$Resource$Roleassignments$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Roleassignments$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Roleassignments$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * directory.roleAssignments.get + * @desc Retrieve a role assignment. + * @alias directory.roleAssignments.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customer Immutable ID of the G Suite account. + * @param {string} params.roleAssignmentId Immutable ID of the role assignment. + * @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?: Params$Resource$Roleassignments$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Roleassignments$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Roleassignments$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * directory.roleAssignments.insert + * @desc Creates a role assignment. + * @alias directory.roleAssignments.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customer Immutable ID of the G Suite account. + * @param {().RoleAssignment} 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?: Params$Resource$Roleassignments$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Roleassignments$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Roleassignments$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * directory.roleAssignments.list + * @desc Retrieves a paginated list of all roleAssignments. + * @alias directory.roleAssignments.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customer Immutable ID of the G Suite account. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Token to specify the next page in the list. + * @param {string=} params.roleId Immutable ID of a role. If included in the request, returns only role assignments containing this role ID. + * @param {string=} params.userKey The user's primary email address, alias email address, or unique user ID. If included in the request, returns role assignments only for this user. + * @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?: Params$Resource$Roleassignments$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Roleassignments$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Roleassignments$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Roleassignments$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Immutable ID of the G Suite account. + */ + customer?: string; + /** + * Immutable ID of the role assignment. + */ + roleAssignmentId?: string; + } + interface Params$Resource$Roleassignments$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Immutable ID of the G Suite account. + */ + customer?: string; + /** + * Immutable ID of the role assignment. + */ + roleAssignmentId?: string; + } + interface Params$Resource$Roleassignments$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Immutable ID of the G Suite account. + */ + customer?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RoleAssignment; + } + interface Params$Resource$Roleassignments$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Immutable ID of the G Suite account. + */ + customer?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Token to specify the next page in the list. + */ + pageToken?: string; + /** + * Immutable ID of a role. If included in the request, returns only role + * assignments containing this role ID. + */ + roleId?: string; + /** + * The user's primary email address, alias email address, or unique user ID. + * If included in the request, returns role assignments only for this user. + */ + userKey?: string; + } + class Resource$Roles { + root: Admin; + constructor(root: Admin); + getRoot(): Admin; + /** + * directory.roles.delete + * @desc Deletes a role. + * @alias directory.roles.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customer Immutable ID of the G Suite account. + * @param {string} params.roleId Immutable ID of the role. + * @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?: Params$Resource$Roles$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Roles$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Roles$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * directory.roles.get + * @desc Retrieves a role. + * @alias directory.roles.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customer Immutable ID of the G Suite account. + * @param {string} params.roleId Immutable ID of the role. + * @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?: Params$Resource$Roles$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Roles$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Roles$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * directory.roles.insert + * @desc Creates a role. + * @alias directory.roles.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customer Immutable ID of the G Suite account. + * @param {().Role} 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?: Params$Resource$Roles$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Roles$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Roles$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * directory.roles.list + * @desc Retrieves a paginated list of all the roles in a domain. + * @alias directory.roles.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customer Immutable ID of the G Suite account. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Token to specify the next page in the list. + * @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?: Params$Resource$Roles$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Roles$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Roles$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * directory.roles.patch + * @desc Updates a role. This method supports patch semantics. + * @alias directory.roles.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customer Immutable ID of the G Suite account. + * @param {string} params.roleId Immutable ID of the role. + * @param {().Role} 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 + */ + patch(params?: Params$Resource$Roles$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Roles$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Roles$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * directory.roles.update + * @desc Updates a role. + * @alias directory.roles.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customer Immutable ID of the G Suite account. + * @param {string} params.roleId Immutable ID of the role. + * @param {().Role} 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?: Params$Resource$Roles$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Roles$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Roles$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Roles$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Immutable ID of the G Suite account. + */ + customer?: string; + /** + * Immutable ID of the role. + */ + roleId?: string; + } + interface Params$Resource$Roles$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Immutable ID of the G Suite account. + */ + customer?: string; + /** + * Immutable ID of the role. + */ + roleId?: string; + } + interface Params$Resource$Roles$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Immutable ID of the G Suite account. + */ + customer?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Role; + } + interface Params$Resource$Roles$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Immutable ID of the G Suite account. + */ + customer?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Token to specify the next page in the list. + */ + pageToken?: string; + } + interface Params$Resource$Roles$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Immutable ID of the G Suite account. + */ + customer?: string; + /** + * Immutable ID of the role. + */ + roleId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Role; + } + interface Params$Resource$Roles$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Immutable ID of the G Suite account. + */ + customer?: string; + /** + * Immutable ID of the role. + */ + roleId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Role; + } + class Resource$Schemas { + root: Admin; + constructor(root: Admin); + getRoot(): Admin; + /** + * directory.schemas.delete + * @desc Delete schema + * @alias directory.schemas.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customerId Immutable ID of the G Suite account + * @param {string} params.schemaKey Name or immutable ID of the schema + * @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?: Params$Resource$Schemas$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Schemas$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Schemas$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * directory.schemas.get + * @desc Retrieve schema + * @alias directory.schemas.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customerId Immutable ID of the G Suite account + * @param {string} params.schemaKey Name or immutable ID of the schema + * @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?: Params$Resource$Schemas$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Schemas$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Schemas$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * directory.schemas.insert + * @desc Create schema. + * @alias directory.schemas.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customerId Immutable ID of the G Suite account + * @param {().Schema} 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?: Params$Resource$Schemas$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Schemas$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Schemas$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * directory.schemas.list + * @desc Retrieve all schemas for a customer + * @alias directory.schemas.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customerId Immutable ID of the G Suite account + * @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?: Params$Resource$Schemas$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Schemas$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Schemas$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * directory.schemas.patch + * @desc Update schema. This method supports patch semantics. + * @alias directory.schemas.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customerId Immutable ID of the G Suite account + * @param {string} params.schemaKey Name or immutable ID of the schema. + * @param {().Schema} 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 + */ + patch(params?: Params$Resource$Schemas$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Schemas$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Schemas$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * directory.schemas.update + * @desc Update schema + * @alias directory.schemas.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customerId Immutable ID of the G Suite account + * @param {string} params.schemaKey Name or immutable ID of the schema. + * @param {().Schema} 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?: Params$Resource$Schemas$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Schemas$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Schemas$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Schemas$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Immutable ID of the G Suite account + */ + customerId?: string; + /** + * Name or immutable ID of the schema + */ + schemaKey?: string; + } + interface Params$Resource$Schemas$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Immutable ID of the G Suite account + */ + customerId?: string; + /** + * Name or immutable ID of the schema + */ + schemaKey?: string; + } + interface Params$Resource$Schemas$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Immutable ID of the G Suite account + */ + customerId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Schema; + } + interface Params$Resource$Schemas$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Immutable ID of the G Suite account + */ + customerId?: string; + } + interface Params$Resource$Schemas$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Immutable ID of the G Suite account + */ + customerId?: string; + /** + * Name or immutable ID of the schema. + */ + schemaKey?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Schema; + } + interface Params$Resource$Schemas$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Immutable ID of the G Suite account + */ + customerId?: string; + /** + * Name or immutable ID of the schema. + */ + schemaKey?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Schema; + } + class Resource$Tokens { + root: Admin; + constructor(root: Admin); + getRoot(): Admin; + /** + * directory.tokens.delete + * @desc Delete all access tokens issued by a user for an application. + * @alias directory.tokens.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clientId The Client ID of the application the token is issued to. + * @param {string} params.userKey Identifies the user in the API request. The value can be the user's primary email address, alias email address, or unique user ID. + * @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?: Params$Resource$Tokens$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Tokens$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Tokens$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * directory.tokens.get + * @desc Get information about an access token issued by a user. + * @alias directory.tokens.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clientId The Client ID of the application the token is issued to. + * @param {string} params.userKey Identifies the user in the API request. The value can be the user's primary email address, alias email address, or unique user ID. + * @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?: Params$Resource$Tokens$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Tokens$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Tokens$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * directory.tokens.list + * @desc Returns the set of tokens specified user has issued to 3rd party + * applications. + * @alias directory.tokens.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.userKey Identifies the user in the API request. The value can be the user's primary email address, alias email address, or unique user ID. + * @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?: Params$Resource$Tokens$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Tokens$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Tokens$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Tokens$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The Client ID of the application the token is issued to. + */ + clientId?: string; + /** + * Identifies the user in the API request. The value can be the user's + * primary email address, alias email address, or unique user ID. + */ + userKey?: string; + } + interface Params$Resource$Tokens$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The Client ID of the application the token is issued to. + */ + clientId?: string; + /** + * Identifies the user in the API request. The value can be the user's + * primary email address, alias email address, or unique user ID. + */ + userKey?: string; + } + interface Params$Resource$Tokens$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifies the user in the API request. The value can be the user's + * primary email address, alias email address, or unique user ID. + */ + userKey?: string; + } + class Resource$Users { + root: Admin; + aliases: Resource$Users$Aliases; + photos: Resource$Users$Photos; + constructor(root: Admin); + getRoot(): Admin; + /** + * directory.users.delete + * @desc Delete user + * @alias directory.users.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.userKey Email or immutable ID of the user + * @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?: Params$Resource$Users$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Users$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Users$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * directory.users.get + * @desc retrieve user + * @alias directory.users.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.customFieldMask Comma-separated list of schema names. All fields from these schemas are fetched. This should only be set when projection=custom. + * @param {string=} params.projection What subset of fields to fetch for this user. + * @param {string} params.userKey Email or immutable ID of the user + * @param {string=} params.viewType Whether to fetch the ADMIN_VIEW or DOMAIN_PUBLIC view of the user. + * @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?: Params$Resource$Users$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Users$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Users$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * directory.users.insert + * @desc create user. + * @alias directory.users.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().User} 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?: Params$Resource$Users$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Users$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Users$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * directory.users.list + * @desc Retrieve either deleted users or all users in a domain (paginated) + * @alias directory.users.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {string=} params.customer Immutable ID of the G Suite account. In case of multi-domain, to fetch all users for a customer, fill this field instead of domain. + * @param {string=} params.customFieldMask Comma-separated list of schema names. All fields from these schemas are fetched. This should only be set when projection=custom. + * @param {string=} params.domain Name of the domain. Fill this field to get users from only this domain. To return all users in a multi-domain fill customer field instead. + * @param {string=} params.event Event on which subscription is intended (if subscribing) + * @param {integer=} params.maxResults Maximum number of results to return. Default is 100. Max allowed is 500 + * @param {string=} params.orderBy Column to use for sorting results + * @param {string=} params.pageToken Token to specify next page in the list + * @param {string=} params.projection What subset of fields to fetch for this user. + * @param {string=} params.query Query string search. Should be of the form "". Complete documentation is at https://developers.google.com/admin-sdk/directory/v1/guides/search-users + * @param {string=} params.showDeleted If set to true retrieves the list of deleted users. Default is false + * @param {string=} params.sortOrder Whether to return results in ascending or descending order. + * @param {string=} params.viewType Whether to fetch the ADMIN_VIEW or DOMAIN_PUBLIC view of the user. + * @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?: Params$Resource$Users$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Users$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Users$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * directory.users.makeAdmin + * @desc change admin status of a user + * @alias directory.users.makeAdmin + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.userKey Email or immutable ID of the user as admin + * @param {().UserMakeAdmin} 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 + */ + makeAdmin(params?: Params$Resource$Users$Makeadmin, options?: MethodOptions): AxiosPromise; + makeAdmin(params: Params$Resource$Users$Makeadmin, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + makeAdmin(params: Params$Resource$Users$Makeadmin, callback: BodyResponseCallback): void; + makeAdmin(callback: BodyResponseCallback): void; + /** + * directory.users.patch + * @desc update user. This method supports patch semantics. + * @alias directory.users.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.userKey Email or immutable ID of the user. If ID, it should match with id of user object + * @param {().User} 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 + */ + patch(params?: Params$Resource$Users$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Users$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Users$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * directory.users.undelete + * @desc Undelete a deleted user + * @alias directory.users.undelete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.userKey The immutable id of the user + * @param {().UserUndelete} 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 + */ + undelete(params?: Params$Resource$Users$Undelete, options?: MethodOptions): AxiosPromise; + undelete(params: Params$Resource$Users$Undelete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + undelete(params: Params$Resource$Users$Undelete, callback: BodyResponseCallback): void; + undelete(callback: BodyResponseCallback): void; + /** + * directory.users.update + * @desc update user + * @alias directory.users.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.userKey Email or immutable ID of the user. If ID, it should match with id of user object + * @param {().User} 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?: Params$Resource$Users$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Users$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Users$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + /** + * directory.users.watch + * @desc Watch for changes in users list + * @alias directory.users.watch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.customer Immutable ID of the G Suite account. In case of multi-domain, to fetch all users for a customer, fill this field instead of domain. + * @param {string=} params.customFieldMask Comma-separated list of schema names. All fields from these schemas are fetched. This should only be set when projection=custom. + * @param {string=} params.domain Name of the domain. Fill this field to get users from only this domain. To return all users in a multi-domain fill customer field instead. + * @param {string=} params.event Event on which subscription is intended (if subscribing) + * @param {integer=} params.maxResults Maximum number of results to return. Default is 100. Max allowed is 500 + * @param {string=} params.orderBy Column to use for sorting results + * @param {string=} params.pageToken Token to specify next page in the list + * @param {string=} params.projection What subset of fields to fetch for this user. + * @param {string=} params.query Query string search. Should be of the form "". Complete documentation is at https://developers.google.com/admin-sdk/directory/v1/guides/search-users + * @param {string=} params.showDeleted If set to true retrieves the list of deleted users. Default is false + * @param {string=} params.sortOrder Whether to return results in ascending or descending order. + * @param {string=} params.viewType Whether to fetch the ADMIN_VIEW or DOMAIN_PUBLIC view of the user. + * @param {().Channel} 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 + */ + watch(params?: Params$Resource$Users$Watch, options?: MethodOptions): AxiosPromise; + watch(params: Params$Resource$Users$Watch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + watch(params: Params$Resource$Users$Watch, callback: BodyResponseCallback): void; + watch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Users$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Email or immutable ID of the user + */ + userKey?: string; + } + interface Params$Resource$Users$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Comma-separated list of schema names. All fields from these schemas are + * fetched. This should only be set when projection=custom. + */ + customFieldMask?: string; + /** + * What subset of fields to fetch for this user. + */ + projection?: string; + /** + * Email or immutable ID of the user + */ + userKey?: string; + /** + * Whether to fetch the ADMIN_VIEW or DOMAIN_PUBLIC view of the user. + */ + viewType?: string; + } + interface Params$Resource$Users$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$User; + } + interface Params$Resource$Users$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Immutable ID of the G Suite account. In case of multi-domain, to fetch + * all users for a customer, fill this field instead of domain. + */ + customer?: string; + /** + * Comma-separated list of schema names. All fields from these schemas are + * fetched. This should only be set when projection=custom. + */ + customFieldMask?: string; + /** + * Name of the domain. Fill this field to get users from only this domain. + * To return all users in a multi-domain fill customer field instead. + */ + domain?: string; + /** + * Event on which subscription is intended (if subscribing) + */ + event?: string; + /** + * Maximum number of results to return. Default is 100. Max allowed is 500 + */ + maxResults?: number; + /** + * Column to use for sorting results + */ + orderBy?: string; + /** + * Token to specify next page in the list + */ + pageToken?: string; + /** + * What subset of fields to fetch for this user. + */ + projection?: string; + /** + * Query string search. Should be of the form "". Complete documentation is + * at + * https://developers.google.com/admin-sdk/directory/v1/guides/search-users + */ + query?: string; + /** + * If set to true retrieves the list of deleted users. Default is false + */ + showDeleted?: string; + /** + * Whether to return results in ascending or descending order. + */ + sortOrder?: string; + /** + * Whether to fetch the ADMIN_VIEW or DOMAIN_PUBLIC view of the user. + */ + viewType?: string; + } + interface Params$Resource$Users$Makeadmin { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Email or immutable ID of the user as admin + */ + userKey?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UserMakeAdmin; + } + interface Params$Resource$Users$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Email or immutable ID of the user. If ID, it should match with id of user + * object + */ + userKey?: string; + /** + * Request body metadata + */ + requestBody?: Schema$User; + } + interface Params$Resource$Users$Undelete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The immutable id of the user + */ + userKey?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UserUndelete; + } + interface Params$Resource$Users$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Email or immutable ID of the user. If ID, it should match with id of user + * object + */ + userKey?: string; + /** + * Request body metadata + */ + requestBody?: Schema$User; + } + interface Params$Resource$Users$Watch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Immutable ID of the G Suite account. In case of multi-domain, to fetch + * all users for a customer, fill this field instead of domain. + */ + customer?: string; + /** + * Comma-separated list of schema names. All fields from these schemas are + * fetched. This should only be set when projection=custom. + */ + customFieldMask?: string; + /** + * Name of the domain. Fill this field to get users from only this domain. + * To return all users in a multi-domain fill customer field instead. + */ + domain?: string; + /** + * Event on which subscription is intended (if subscribing) + */ + event?: string; + /** + * Maximum number of results to return. Default is 100. Max allowed is 500 + */ + maxResults?: number; + /** + * Column to use for sorting results + */ + orderBy?: string; + /** + * Token to specify next page in the list + */ + pageToken?: string; + /** + * What subset of fields to fetch for this user. + */ + projection?: string; + /** + * Query string search. Should be of the form "". Complete documentation is + * at + * https://developers.google.com/admin-sdk/directory/v1/guides/search-users + */ + query?: string; + /** + * If set to true retrieves the list of deleted users. Default is false + */ + showDeleted?: string; + /** + * Whether to return results in ascending or descending order. + */ + sortOrder?: string; + /** + * Whether to fetch the ADMIN_VIEW or DOMAIN_PUBLIC view of the user. + */ + viewType?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Channel; + } + class Resource$Users$Aliases { + root: Admin; + constructor(root: Admin); + getRoot(): Admin; + /** + * directory.users.aliases.delete + * @desc Remove a alias for the user + * @alias directory.users.aliases.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.alias The alias to be removed + * @param {string} params.userKey Email or immutable ID of the user + * @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?: Params$Resource$Users$Aliases$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Users$Aliases$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Users$Aliases$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * directory.users.aliases.insert + * @desc Add a alias for the user + * @alias directory.users.aliases.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.userKey Email or immutable ID of the user + * @param {().Alias} 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?: Params$Resource$Users$Aliases$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Users$Aliases$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Users$Aliases$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * directory.users.aliases.list + * @desc List all aliases for a user + * @alias directory.users.aliases.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.event Event on which subscription is intended (if subscribing) + * @param {string} params.userKey Email or immutable ID of the user + * @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?: Params$Resource$Users$Aliases$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Users$Aliases$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Users$Aliases$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * directory.users.aliases.watch + * @desc Watch for changes in user aliases list + * @alias directory.users.aliases.watch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.event Event on which subscription is intended (if subscribing) + * @param {string} params.userKey Email or immutable ID of the user + * @param {().Channel} 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 + */ + watch(params?: Params$Resource$Users$Aliases$Watch, options?: MethodOptions): AxiosPromise; + watch(params: Params$Resource$Users$Aliases$Watch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + watch(params: Params$Resource$Users$Aliases$Watch, callback: BodyResponseCallback): void; + watch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Users$Aliases$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The alias to be removed + */ + alias?: string; + /** + * Email or immutable ID of the user + */ + userKey?: string; + } + interface Params$Resource$Users$Aliases$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Email or immutable ID of the user + */ + userKey?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Alias; + } + interface Params$Resource$Users$Aliases$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Event on which subscription is intended (if subscribing) + */ + event?: string; + /** + * Email or immutable ID of the user + */ + userKey?: string; + } + interface Params$Resource$Users$Aliases$Watch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Event on which subscription is intended (if subscribing) + */ + event?: string; + /** + * Email or immutable ID of the user + */ + userKey?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Channel; + } + class Resource$Users$Photos { + root: Admin; + constructor(root: Admin); + getRoot(): Admin; + /** + * directory.users.photos.delete + * @desc Remove photos for the user + * @alias directory.users.photos.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.userKey Email or immutable ID of the user + * @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?: Params$Resource$Users$Photos$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Users$Photos$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Users$Photos$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * directory.users.photos.get + * @desc Retrieve photo of a user + * @alias directory.users.photos.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.userKey Email or immutable ID of the user + * @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?: Params$Resource$Users$Photos$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Users$Photos$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Users$Photos$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * directory.users.photos.patch + * @desc Add a photo for the user. This method supports patch semantics. + * @alias directory.users.photos.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.userKey Email or immutable ID of the user + * @param {().UserPhoto} 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 + */ + patch(params?: Params$Resource$Users$Photos$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Users$Photos$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Users$Photos$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * directory.users.photos.update + * @desc Add a photo for the user + * @alias directory.users.photos.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.userKey Email or immutable ID of the user + * @param {().UserPhoto} 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?: Params$Resource$Users$Photos$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Users$Photos$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Users$Photos$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Users$Photos$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Email or immutable ID of the user + */ + userKey?: string; + } + interface Params$Resource$Users$Photos$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Email or immutable ID of the user + */ + userKey?: string; + } + interface Params$Resource$Users$Photos$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Email or immutable ID of the user + */ + userKey?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UserPhoto; + } + interface Params$Resource$Users$Photos$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Email or immutable ID of the user + */ + userKey?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UserPhoto; + } + class Resource$Verificationcodes { + root: Admin; + constructor(root: Admin); + getRoot(): Admin; + /** + * directory.verificationCodes.generate + * @desc Generate new backup verification codes for the user. + * @alias directory.verificationCodes.generate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.userKey Email or immutable ID of the user + * @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 + */ + generate(params?: Params$Resource$Verificationcodes$Generate, options?: MethodOptions): AxiosPromise; + generate(params: Params$Resource$Verificationcodes$Generate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + generate(params: Params$Resource$Verificationcodes$Generate, callback: BodyResponseCallback): void; + generate(callback: BodyResponseCallback): void; + /** + * directory.verificationCodes.invalidate + * @desc Invalidate the current backup verification codes for the user. + * @alias directory.verificationCodes.invalidate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.userKey Email or immutable ID of the user + * @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 + */ + invalidate(params?: Params$Resource$Verificationcodes$Invalidate, options?: MethodOptions): AxiosPromise; + invalidate(params: Params$Resource$Verificationcodes$Invalidate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + invalidate(params: Params$Resource$Verificationcodes$Invalidate, callback: BodyResponseCallback): void; + invalidate(callback: BodyResponseCallback): void; + /** + * directory.verificationCodes.list + * @desc Returns the current set of valid backup verification codes for the + * specified user. + * @alias directory.verificationCodes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.userKey Identifies the user in the API request. The value can be the user's primary email address, alias email address, or unique user ID. + * @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?: Params$Resource$Verificationcodes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Verificationcodes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Verificationcodes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Verificationcodes$Generate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Email or immutable ID of the user + */ + userKey?: string; + } + interface Params$Resource$Verificationcodes$Invalidate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Email or immutable ID of the user + */ + userKey?: string; + } + interface Params$Resource$Verificationcodes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifies the user in the API request. The value can be the user's + * primary email address, alias email address, or unique user ID. + */ + userKey?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/admin/directory_v1.js b/express-server/node_modules/googleapis/build/src/apis/admin/directory_v1.js new file mode 100644 index 00000000..ce9f2dd0 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/admin/directory_v1.js @@ -0,0 +1,3926 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var admin_directory_v1; +(function (admin_directory_v1) { + /** + * Admin Directory API + * + * Manages enterprise resources such as users and groups, administrative + * notifications, security features, and more. + * + * @example + * const {google} = require('googleapis'); + * const admin = google.admin('directory_v1'); + * + * @namespace admin + * @type {Function} + * @version directory_v1 + * @variation directory_v1 + * @param {object=} options Options for Admin + */ + class Admin { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.asps = new Resource$Asps(this); + this.channels = new Resource$Channels(this); + this.chromeosdevices = new Resource$Chromeosdevices(this); + this.customers = new Resource$Customers(this); + this.domainAliases = new Resource$Domainaliases(this); + this.domains = new Resource$Domains(this); + this.groups = new Resource$Groups(this); + this.members = new Resource$Members(this); + this.mobiledevices = new Resource$Mobiledevices(this); + this.notifications = new Resource$Notifications(this); + this.orgunits = new Resource$Orgunits(this); + this.privileges = new Resource$Privileges(this); + this.resolvedAppAccessSettings = + new Resource$Resolvedappaccesssettings(this); + this.resources = new Resource$Resources(this); + this.roleAssignments = new Resource$Roleassignments(this); + this.roles = new Resource$Roles(this); + this.schemas = new Resource$Schemas(this); + this.tokens = new Resource$Tokens(this); + this.users = new Resource$Users(this); + this.verificationCodes = new Resource$Verificationcodes(this); + } + getRoot() { + return this.root; + } + } + admin_directory_v1.Admin = Admin; + class Resource$Asps { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/users/{userKey}/asps/{codeId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['userKey', 'codeId'], + pathParams: ['codeId', 'userKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/users/{userKey}/asps/{codeId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userKey', 'codeId'], + pathParams: ['codeId', 'userKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/admin/directory/v1/users/{userKey}/asps') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userKey'], + pathParams: ['userKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + admin_directory_v1.Resource$Asps = Resource$Asps; + class Resource$Channels { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + stop(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/admin/directory_v1/channels/stop') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + admin_directory_v1.Resource$Channels = Resource$Channels; + class Resource$Chromeosdevices { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + action(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customerId}/devices/chromeos/{resourceId}/action') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['customerId', 'resourceId'], + pathParams: ['customerId', 'resourceId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customerId}/devices/chromeos/{deviceId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['customerId', 'deviceId'], + pathParams: ['customerId', 'deviceId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customerId}/devices/chromeos') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + moveDevicesToOu(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customerId}/devices/chromeos/moveDevicesToOu') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['customerId', 'orgUnitPath'], + pathParams: ['customerId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customerId}/devices/chromeos/{deviceId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['customerId', 'deviceId'], + pathParams: ['customerId', 'deviceId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customerId}/devices/chromeos/{deviceId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['customerId', 'deviceId'], + pathParams: ['customerId', 'deviceId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + admin_directory_v1.Resource$Chromeosdevices = Resource$Chromeosdevices; + class Resource$Customers { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/admin/directory/v1/customers/{customerKey}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['customerKey'], + pathParams: ['customerKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/admin/directory/v1/customers/{customerKey}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['customerKey'], + pathParams: ['customerKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/admin/directory/v1/customers/{customerKey}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['customerKey'], + pathParams: ['customerKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + admin_directory_v1.Resource$Customers = Resource$Customers; + class Resource$Domainaliases { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customer}/domainaliases/{domainAliasName}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['customer', 'domainAliasName'], + pathParams: ['customer', 'domainAliasName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customer}/domainaliases/{domainAliasName}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['customer', 'domainAliasName'], + pathParams: ['customer', 'domainAliasName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customer}/domainaliases') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['customer'], + pathParams: ['customer'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customer}/domainaliases') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['customer'], + pathParams: ['customer'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + admin_directory_v1.Resource$Domainaliases = Resource$Domainaliases; + class Resource$Domains { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customer}/domains/{domainName}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['customer', 'domainName'], + pathParams: ['customer', 'domainName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customer}/domains/{domainName}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['customer', 'domainName'], + pathParams: ['customer', 'domainName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/admin/directory/v1/customer/{customer}/domains') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['customer'], + pathParams: ['customer'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/admin/directory/v1/customer/{customer}/domains') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['customer'], + pathParams: ['customer'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + admin_directory_v1.Resource$Domains = Resource$Domains; + class Resource$Groups { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.aliases = new Resource$Groups$Aliases(root); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/admin/directory/v1/groups/{groupKey}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['groupKey'], + pathParams: ['groupKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/admin/directory/v1/groups/{groupKey}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['groupKey'], + pathParams: ['groupKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/admin/directory/v1/groups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/admin/directory/v1/groups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/admin/directory/v1/groups/{groupKey}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['groupKey'], + pathParams: ['groupKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/admin/directory/v1/groups/{groupKey}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['groupKey'], + pathParams: ['groupKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + admin_directory_v1.Resource$Groups = Resource$Groups; + class Resource$Groups$Aliases { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/groups/{groupKey}/aliases/{alias}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['groupKey', 'alias'], + pathParams: ['alias', 'groupKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/admin/directory/v1/groups/{groupKey}/aliases') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['groupKey'], + pathParams: ['groupKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/admin/directory/v1/groups/{groupKey}/aliases') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['groupKey'], + pathParams: ['groupKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + admin_directory_v1.Resource$Groups$Aliases = Resource$Groups$Aliases; + class Resource$Members { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/groups/{groupKey}/members/{memberKey}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['groupKey', 'memberKey'], + pathParams: ['groupKey', 'memberKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/groups/{groupKey}/members/{memberKey}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['groupKey', 'memberKey'], + pathParams: ['groupKey', 'memberKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + hasMember(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/groups/{groupKey}/hasMember/{memberKey}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['groupKey', 'memberKey'], + pathParams: ['groupKey', 'memberKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/admin/directory/v1/groups/{groupKey}/members') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['groupKey'], + pathParams: ['groupKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/admin/directory/v1/groups/{groupKey}/members') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['groupKey'], + pathParams: ['groupKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/groups/{groupKey}/members/{memberKey}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['groupKey', 'memberKey'], + pathParams: ['groupKey', 'memberKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/groups/{groupKey}/members/{memberKey}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['groupKey', 'memberKey'], + pathParams: ['groupKey', 'memberKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + admin_directory_v1.Resource$Members = Resource$Members; + class Resource$Mobiledevices { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + action(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customerId}/devices/mobile/{resourceId}/action') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['customerId', 'resourceId'], + pathParams: ['customerId', 'resourceId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customerId}/devices/mobile/{resourceId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['customerId', 'resourceId'], + pathParams: ['customerId', 'resourceId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customerId}/devices/mobile/{resourceId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['customerId', 'resourceId'], + pathParams: ['customerId', 'resourceId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customerId}/devices/mobile') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + admin_directory_v1.Resource$Mobiledevices = Resource$Mobiledevices; + class Resource$Notifications { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customer}/notifications/{notificationId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['customer', 'notificationId'], + pathParams: ['customer', 'notificationId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customer}/notifications/{notificationId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['customer', 'notificationId'], + pathParams: ['customer', 'notificationId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customer}/notifications') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['customer'], + pathParams: ['customer'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customer}/notifications/{notificationId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['customer', 'notificationId'], + pathParams: ['customer', 'notificationId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customer}/notifications/{notificationId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['customer', 'notificationId'], + pathParams: ['customer', 'notificationId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + admin_directory_v1.Resource$Notifications = Resource$Notifications; + class Resource$Orgunits { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customerId}/orgunits{/orgUnitPath*}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['customerId', 'orgUnitPath'], + pathParams: ['customerId', 'orgUnitPath'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customerId}/orgunits{/orgUnitPath*}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['customerId', 'orgUnitPath'], + pathParams: ['customerId', 'orgUnitPath'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customerId}/orgunits') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customerId}/orgunits') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customerId}/orgunits{/orgUnitPath*}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['customerId', 'orgUnitPath'], + pathParams: ['customerId', 'orgUnitPath'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customerId}/orgunits{/orgUnitPath*}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['customerId', 'orgUnitPath'], + pathParams: ['customerId', 'orgUnitPath'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + admin_directory_v1.Resource$Orgunits = Resource$Orgunits; + class Resource$Privileges { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customer}/roles/ALL/privileges') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['customer'], + pathParams: ['customer'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + admin_directory_v1.Resource$Privileges = Resource$Privileges; + class Resource$Resolvedappaccesssettings { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + GetSettings(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/admin/directory/v1/resolvedappaccesssettings') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + ListTrustedApps(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/admin/directory/v1/trustedapps') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + admin_directory_v1.Resource$Resolvedappaccesssettings = Resource$Resolvedappaccesssettings; + class Resource$Resources { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.buildings = new Resource$Resources$Buildings(root); + this.calendars = new Resource$Resources$Calendars(root); + this.features = new Resource$Resources$Features(root); + } + getRoot() { + return this.root; + } + } + admin_directory_v1.Resource$Resources = Resource$Resources; + class Resource$Resources$Buildings { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customer}/resources/buildings/{buildingId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['customer', 'buildingId'], + pathParams: ['buildingId', 'customer'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customer}/resources/buildings/{buildingId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['customer', 'buildingId'], + pathParams: ['buildingId', 'customer'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customer}/resources/buildings') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['customer'], + pathParams: ['customer'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customer}/resources/buildings') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['customer'], + pathParams: ['customer'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customer}/resources/buildings/{buildingId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['customer', 'buildingId'], + pathParams: ['buildingId', 'customer'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customer}/resources/buildings/{buildingId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['customer', 'buildingId'], + pathParams: ['buildingId', 'customer'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + admin_directory_v1.Resource$Resources$Buildings = Resource$Resources$Buildings; + class Resource$Resources$Calendars { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customer}/resources/calendars/{calendarResourceId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['customer', 'calendarResourceId'], + pathParams: ['calendarResourceId', 'customer'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customer}/resources/calendars/{calendarResourceId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['customer', 'calendarResourceId'], + pathParams: ['calendarResourceId', 'customer'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customer}/resources/calendars') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['customer'], + pathParams: ['customer'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customer}/resources/calendars') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['customer'], + pathParams: ['customer'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customer}/resources/calendars/{calendarResourceId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['customer', 'calendarResourceId'], + pathParams: ['calendarResourceId', 'customer'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customer}/resources/calendars/{calendarResourceId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['customer', 'calendarResourceId'], + pathParams: ['calendarResourceId', 'customer'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + admin_directory_v1.Resource$Resources$Calendars = Resource$Resources$Calendars; + class Resource$Resources$Features { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customer}/resources/features/{featureKey}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['customer', 'featureKey'], + pathParams: ['customer', 'featureKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customer}/resources/features/{featureKey}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['customer', 'featureKey'], + pathParams: ['customer', 'featureKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customer}/resources/features') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['customer'], + pathParams: ['customer'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customer}/resources/features') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['customer'], + pathParams: ['customer'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customer}/resources/features/{featureKey}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['customer', 'featureKey'], + pathParams: ['customer', 'featureKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + rename(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customer}/resources/features/{oldName}/rename') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['customer', 'oldName'], + pathParams: ['customer', 'oldName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customer}/resources/features/{featureKey}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['customer', 'featureKey'], + pathParams: ['customer', 'featureKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + admin_directory_v1.Resource$Resources$Features = Resource$Resources$Features; + class Resource$Roleassignments { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customer}/roleassignments/{roleAssignmentId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['customer', 'roleAssignmentId'], + pathParams: ['customer', 'roleAssignmentId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customer}/roleassignments/{roleAssignmentId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['customer', 'roleAssignmentId'], + pathParams: ['customer', 'roleAssignmentId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customer}/roleassignments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['customer'], + pathParams: ['customer'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customer}/roleassignments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['customer'], + pathParams: ['customer'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + admin_directory_v1.Resource$Roleassignments = Resource$Roleassignments; + class Resource$Roles { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customer}/roles/{roleId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['customer', 'roleId'], + pathParams: ['customer', 'roleId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customer}/roles/{roleId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['customer', 'roleId'], + pathParams: ['customer', 'roleId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/admin/directory/v1/customer/{customer}/roles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['customer'], + pathParams: ['customer'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/admin/directory/v1/customer/{customer}/roles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['customer'], + pathParams: ['customer'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customer}/roles/{roleId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['customer', 'roleId'], + pathParams: ['customer', 'roleId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customer}/roles/{roleId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['customer', 'roleId'], + pathParams: ['customer', 'roleId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + admin_directory_v1.Resource$Roles = Resource$Roles; + class Resource$Schemas { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customerId}/schemas/{schemaKey}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['customerId', 'schemaKey'], + pathParams: ['customerId', 'schemaKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customerId}/schemas/{schemaKey}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['customerId', 'schemaKey'], + pathParams: ['customerId', 'schemaKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customerId}/schemas') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customerId}/schemas') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customerId}/schemas/{schemaKey}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['customerId', 'schemaKey'], + pathParams: ['customerId', 'schemaKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/customer/{customerId}/schemas/{schemaKey}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['customerId', 'schemaKey'], + pathParams: ['customerId', 'schemaKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + admin_directory_v1.Resource$Schemas = Resource$Schemas; + class Resource$Tokens { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/users/{userKey}/tokens/{clientId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['userKey', 'clientId'], + pathParams: ['clientId', 'userKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/users/{userKey}/tokens/{clientId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userKey', 'clientId'], + pathParams: ['clientId', 'userKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/admin/directory/v1/users/{userKey}/tokens') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userKey'], + pathParams: ['userKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + admin_directory_v1.Resource$Tokens = Resource$Tokens; + class Resource$Users { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.aliases = new Resource$Users$Aliases(root); + this.photos = new Resource$Users$Photos(root); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/admin/directory/v1/users/{userKey}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['userKey'], + pathParams: ['userKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/admin/directory/v1/users/{userKey}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userKey'], + pathParams: ['userKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/admin/directory/v1/users') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/admin/directory/v1/users') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + makeAdmin(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/admin/directory/v1/users/{userKey}/makeAdmin') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['userKey'], + pathParams: ['userKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/admin/directory/v1/users/{userKey}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['userKey'], + pathParams: ['userKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + undelete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/admin/directory/v1/users/{userKey}/undelete') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['userKey'], + pathParams: ['userKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/admin/directory/v1/users/{userKey}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['userKey'], + pathParams: ['userKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + watch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/admin/directory/v1/users/watch') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + admin_directory_v1.Resource$Users = Resource$Users; + class Resource$Users$Aliases { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/users/{userKey}/aliases/{alias}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['userKey', 'alias'], + pathParams: ['alias', 'userKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/admin/directory/v1/users/{userKey}/aliases') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['userKey'], + pathParams: ['userKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/admin/directory/v1/users/{userKey}/aliases') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userKey'], + pathParams: ['userKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + watch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/users/{userKey}/aliases/watch') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['userKey'], + pathParams: ['userKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + admin_directory_v1.Resource$Users$Aliases = Resource$Users$Aliases; + class Resource$Users$Photos { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/users/{userKey}/photos/thumbnail') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['userKey'], + pathParams: ['userKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/users/{userKey}/photos/thumbnail') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userKey'], + pathParams: ['userKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/users/{userKey}/photos/thumbnail') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['userKey'], + pathParams: ['userKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/users/{userKey}/photos/thumbnail') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['userKey'], + pathParams: ['userKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + admin_directory_v1.Resource$Users$Photos = Resource$Users$Photos; + class Resource$Verificationcodes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + generate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/users/{userKey}/verificationCodes/generate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['userKey'], + pathParams: ['userKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + invalidate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/users/{userKey}/verificationCodes/invalidate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['userKey'], + pathParams: ['userKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/directory/v1/users/{userKey}/verificationCodes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userKey'], + pathParams: ['userKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + admin_directory_v1.Resource$Verificationcodes = Resource$Verificationcodes; +})(admin_directory_v1 = exports.admin_directory_v1 || (exports.admin_directory_v1 = {})); +//# sourceMappingURL=directory_v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/admin/directory_v1.js.map b/express-server/node_modules/googleapis/build/src/apis/admin/directory_v1.js.map new file mode 100644 index 00000000..45133999 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/admin/directory_v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"directory_v1.js","sourceRoot":"","sources":["../../../../src/apis/admin/directory_v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/admin/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/admin/index.d.ts new file mode 100644 index 00000000..4a4b6b8b --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/admin/index.d.ts @@ -0,0 +1,14 @@ +import { admin_datatransfer_v1 } from './datatransfer_v1'; +import { admin_directory_v1 } from './directory_v1'; +import { admin_reports_v1 } from './reports_v1'; +export declare const VERSIONS: { + 'datatransfer_v1': typeof admin_datatransfer_v1.Admin; + 'directory_v1': typeof admin_directory_v1.Admin; + 'reports_v1': typeof admin_reports_v1.Admin; +}; +export declare function admin(version: 'datatransfer_v1'): admin_datatransfer_v1.Admin; +export declare function admin(options: admin_datatransfer_v1.Options): admin_datatransfer_v1.Admin; +export declare function admin(version: 'directory_v1'): admin_directory_v1.Admin; +export declare function admin(options: admin_directory_v1.Options): admin_directory_v1.Admin; +export declare function admin(version: 'reports_v1'): admin_reports_v1.Admin; +export declare function admin(options: admin_reports_v1.Options): admin_reports_v1.Admin; diff --git a/express-server/node_modules/googleapis/build/src/apis/admin/index.js b/express-server/node_modules/googleapis/build/src/apis/admin/index.js new file mode 100644 index 00000000..d55ed987 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/admin/index.js @@ -0,0 +1,29 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const datatransfer_v1_1 = require("./datatransfer_v1"); +const directory_v1_1 = require("./directory_v1"); +const reports_v1_1 = require("./reports_v1"); +exports.VERSIONS = { + 'datatransfer_v1': datatransfer_v1_1.admin_datatransfer_v1.Admin, + 'directory_v1': directory_v1_1.admin_directory_v1.Admin, + 'reports_v1': reports_v1_1.admin_reports_v1.Admin, +}; +function admin(versionOrOptions) { + return googleapis_common_1.getAPI('admin', versionOrOptions, exports.VERSIONS, this); +} +exports.admin = admin; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/admin/index.js.map b/express-server/node_modules/googleapis/build/src/apis/admin/index.js.map new file mode 100644 index 00000000..5b032b37 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/admin/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/admin/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,uDAAwD;AACxD,iDAAkD;AAClD,6CAA8C;AAEjC,QAAA,QAAQ,GAAG;IACtB,iBAAiB,EAAE,uCAAqB,CAAC,KAAK;IAC9C,cAAc,EAAE,iCAAkB,CAAC,KAAK;IACxC,YAAY,EAAE,6BAAgB,CAAC,KAAK;CACrC,CAAC;AAWF,SAAgB,KAAK,CAIjB,gBAEgE;IAClE,OAAO,0BAAM,CAAI,OAAO,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAC9D,CAAC;AARD,sBAQC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/admin/package.json b/express-server/node_modules/googleapis/build/src/apis/admin/package.json new file mode 100644 index 00000000..a8c87c56 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/admin/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/admin", + "version": "0.1.0", + "description": "admin", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/admin/reports_v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/admin/reports_v1.d.ts new file mode 100644 index 00000000..f741e611 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/admin/reports_v1.d.ts @@ -0,0 +1,579 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace admin_reports_v1 { + interface Options extends GlobalOptions { + version: 'reports_v1'; + } + /** + * Admin Reports API + * + * Fetches reports for the administrators of G Suite customers about the + * usage, collaboration, security, and risk for their users. + * + * @example + * const {google} = require('googleapis'); + * const admin = google.admin('reports_v1'); + * + * @namespace admin + * @type {Function} + * @version reports_v1 + * @variation reports_v1 + * @param {object=} options Options for Admin + */ + class Admin { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + activities: Resource$Activities; + channels: Resource$Channels; + customerUsageReports: Resource$Customerusagereports; + entityUsageReports: Resource$Entityusagereports; + userUsageReport: Resource$Userusagereport; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * JSON template for a collection of activites. + */ + interface Schema$Activities { + /** + * ETag of the resource. + */ + etag?: string; + /** + * Each record in read response. + */ + items?: Schema$Activity[]; + /** + * Kind of list response this is. + */ + kind?: string; + /** + * Token for retrieving the next page + */ + nextPageToken?: string; + } + /** + * JSON template for the activity resource. + */ + interface Schema$Activity { + /** + * User doing the action. + */ + actor?: any; + /** + * ETag of the entry. + */ + etag?: string; + /** + * Activity events. + */ + events?: any[]; + /** + * Unique identifier for each activity record. + */ + id?: any; + /** + * IP Address of the user doing the action. + */ + ipAddress?: string; + /** + * Kind of resource this is. + */ + kind?: string; + /** + * Domain of source customer. + */ + ownerDomain?: string; + } + /** + * An notification channel used to watch for resource changes. + */ + interface Schema$Channel { + /** + * The address where notifications are delivered for this channel. + */ + address?: string; + /** + * Date and time of notification channel expiration, expressed as a Unix + * timestamp, in milliseconds. Optional. + */ + expiration?: string; + /** + * A UUID or similar unique string that identifies this channel. + */ + id?: string; + /** + * Identifies this as a notification channel used to watch for changes to a + * resource. Value: the fixed string "api#channel". + */ + kind?: string; + /** + * Additional parameters controlling delivery channel behavior. Optional. + */ + params?: any; + /** + * A Boolean value to indicate whether payload is wanted. Optional. + */ + payload?: boolean; + /** + * An opaque ID that identifies the resource being watched on this channel. + * Stable across different API versions. + */ + resourceId?: string; + /** + * A version-specific identifier for the watched resource. + */ + resourceUri?: string; + /** + * An arbitrary string delivered to the target address with each + * notification delivered over this channel. Optional. + */ + token?: string; + /** + * The type of delivery mechanism used for this channel. + */ + type?: string; + } + /** + * JSON template for a usage report. + */ + interface Schema$UsageReport { + /** + * The date to which the record belongs. + */ + date?: string; + /** + * Information about the type of the item. + */ + entity?: any; + /** + * ETag of the resource. + */ + etag?: string; + /** + * The kind of object. + */ + kind?: string; + /** + * Parameter value pairs for various applications. + */ + parameters?: any[]; + } + /** + * JSON template for a collection of usage reports. + */ + interface Schema$UsageReports { + /** + * ETag of the resource. + */ + etag?: string; + /** + * The kind of object. + */ + kind?: string; + /** + * Token for retrieving the next page + */ + nextPageToken?: string; + /** + * Various application parameter records. + */ + usageReports?: Schema$UsageReport[]; + /** + * Warnings if any. + */ + warnings?: any[]; + } + class Resource$Activities { + root: Admin; + constructor(root: Admin); + getRoot(): Admin; + /** + * reports.activities.list + * @desc Retrieves a list of activities for a specific customer and + * application. + * @alias reports.activities.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.actorIpAddress IP Address of host where the event was performed. Supports both IPv4 and IPv6 addresses. + * @param {string} params.applicationName Application name for which the events are to be retrieved. + * @param {string=} params.customerId Represents the customer for which the data is to be fetched. + * @param {string=} params.endTime Return events which occurred at or before this time. + * @param {string=} params.eventName Name of the event being queried. + * @param {string=} params.filters Event parameters in the form [parameter1 name][operator][parameter1 value],[parameter2 name][operator][parameter2 value],... + * @param {integer=} params.maxResults Number of activity records to be shown in each page. + * @param {string=} params.pageToken Token to specify next page. + * @param {string=} params.startTime Return events which occurred at or after this time. + * @param {string} params.userKey Represents the profile id or the user email for which the data should be filtered. When 'all' is specified as the userKey, it returns usageReports for all users. + * @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?: Params$Resource$Activities$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Activities$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Activities$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * reports.activities.watch + * @desc Push changes to activities + * @alias reports.activities.watch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.actorIpAddress IP Address of host where the event was performed. Supports both IPv4 and IPv6 addresses. + * @param {string} params.applicationName Application name for which the events are to be retrieved. + * @param {string=} params.customerId Represents the customer for which the data is to be fetched. + * @param {string=} params.endTime Return events which occurred at or before this time. + * @param {string=} params.eventName Name of the event being queried. + * @param {string=} params.filters Event parameters in the form [parameter1 name][operator][parameter1 value],[parameter2 name][operator][parameter2 value],... + * @param {integer=} params.maxResults Number of activity records to be shown in each page. + * @param {string=} params.pageToken Token to specify next page. + * @param {string=} params.startTime Return events which occurred at or after this time. + * @param {string} params.userKey Represents the profile id or the user email for which the data should be filtered. When 'all' is specified as the userKey, it returns usageReports for all users. + * @param {().Channel} 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 + */ + watch(params?: Params$Resource$Activities$Watch, options?: MethodOptions): AxiosPromise; + watch(params: Params$Resource$Activities$Watch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + watch(params: Params$Resource$Activities$Watch, callback: BodyResponseCallback): void; + watch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Activities$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * IP Address of host where the event was performed. Supports both IPv4 and + * IPv6 addresses. + */ + actorIpAddress?: string; + /** + * Application name for which the events are to be retrieved. + */ + applicationName?: string; + /** + * Represents the customer for which the data is to be fetched. + */ + customerId?: string; + /** + * Return events which occurred at or before this time. + */ + endTime?: string; + /** + * Name of the event being queried. + */ + eventName?: string; + /** + * Event parameters in the form [parameter1 name][operator][parameter1 + * value],[parameter2 name][operator][parameter2 value],... + */ + filters?: string; + /** + * Number of activity records to be shown in each page. + */ + maxResults?: number; + /** + * Token to specify next page. + */ + pageToken?: string; + /** + * Return events which occurred at or after this time. + */ + startTime?: string; + /** + * Represents the profile id or the user email for which the data should be + * filtered. When 'all' is specified as the userKey, it returns usageReports + * for all users. + */ + userKey?: string; + } + interface Params$Resource$Activities$Watch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * IP Address of host where the event was performed. Supports both IPv4 and + * IPv6 addresses. + */ + actorIpAddress?: string; + /** + * Application name for which the events are to be retrieved. + */ + applicationName?: string; + /** + * Represents the customer for which the data is to be fetched. + */ + customerId?: string; + /** + * Return events which occurred at or before this time. + */ + endTime?: string; + /** + * Name of the event being queried. + */ + eventName?: string; + /** + * Event parameters in the form [parameter1 name][operator][parameter1 + * value],[parameter2 name][operator][parameter2 value],... + */ + filters?: string; + /** + * Number of activity records to be shown in each page. + */ + maxResults?: number; + /** + * Token to specify next page. + */ + pageToken?: string; + /** + * Return events which occurred at or after this time. + */ + startTime?: string; + /** + * Represents the profile id or the user email for which the data should be + * filtered. When 'all' is specified as the userKey, it returns usageReports + * for all users. + */ + userKey?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Channel; + } + class Resource$Channels { + root: Admin; + constructor(root: Admin); + getRoot(): Admin; + /** + * admin.channels.stop + * @desc Stop watching resources through this channel + * @alias admin.channels.stop + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().Channel} 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 + */ + stop(params?: Params$Resource$Channels$Stop, options?: MethodOptions): AxiosPromise; + stop(params: Params$Resource$Channels$Stop, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + stop(params: Params$Resource$Channels$Stop, callback: BodyResponseCallback): void; + stop(callback: BodyResponseCallback): void; + } + interface Params$Resource$Channels$Stop { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$Channel; + } + class Resource$Customerusagereports { + root: Admin; + constructor(root: Admin); + getRoot(): Admin; + /** + * reports.customerUsageReports.get + * @desc Retrieves a report which is a collection of properties / statistics + * for a specific customer. + * @alias reports.customerUsageReports.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.customerId Represents the customer for which the data is to be fetched. + * @param {string} params.date Represents the date in yyyy-mm-dd format for which the data is to be fetched. + * @param {string=} params.pageToken Token to specify next page. + * @param {string=} params.parameters Represents the application name, parameter name pairs to fetch in csv as app_name1:param_name1, app_name2:param_name2. + * @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?: Params$Resource$Customerusagereports$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Customerusagereports$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Customerusagereports$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Customerusagereports$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Represents the customer for which the data is to be fetched. + */ + customerId?: string; + /** + * Represents the date in yyyy-mm-dd format for which the data is to be + * fetched. + */ + date?: string; + /** + * Token to specify next page. + */ + pageToken?: string; + /** + * Represents the application name, parameter name pairs to fetch in csv as + * app_name1:param_name1, app_name2:param_name2. + */ + parameters?: string; + } + class Resource$Entityusagereports { + root: Admin; + constructor(root: Admin); + getRoot(): Admin; + /** + * reports.entityUsageReports.get + * @desc Retrieves a report which is a collection of properties / statistics + * for a set of objects. + * @alias reports.entityUsageReports.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.customerId Represents the customer for which the data is to be fetched. + * @param {string} params.date Represents the date in yyyy-mm-dd format for which the data is to be fetched. + * @param {string} params.entityKey Represents the key of object for which the data should be filtered. + * @param {string} params.entityType Type of object. Should be one of - gplus_communities. + * @param {string=} params.filters Represents the set of filters including parameter operator value. + * @param {integer=} params.maxResults Maximum number of results to return. Maximum allowed is 1000 + * @param {string=} params.pageToken Token to specify next page. + * @param {string=} params.parameters Represents the application name, parameter name pairs to fetch in csv as app_name1:param_name1, app_name2:param_name2. + * @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?: Params$Resource$Entityusagereports$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Entityusagereports$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Entityusagereports$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Entityusagereports$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Represents the customer for which the data is to be fetched. + */ + customerId?: string; + /** + * Represents the date in yyyy-mm-dd format for which the data is to be + * fetched. + */ + date?: string; + /** + * Represents the key of object for which the data should be filtered. + */ + entityKey?: string; + /** + * Type of object. Should be one of - gplus_communities. + */ + entityType?: string; + /** + * Represents the set of filters including parameter operator value. + */ + filters?: string; + /** + * Maximum number of results to return. Maximum allowed is 1000 + */ + maxResults?: number; + /** + * Token to specify next page. + */ + pageToken?: string; + /** + * Represents the application name, parameter name pairs to fetch in csv as + * app_name1:param_name1, app_name2:param_name2. + */ + parameters?: string; + } + class Resource$Userusagereport { + root: Admin; + constructor(root: Admin); + getRoot(): Admin; + /** + * reports.userUsageReport.get + * @desc Retrieves a report which is a collection of properties / statistics + * for a set of users. + * @alias reports.userUsageReport.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.customerId Represents the customer for which the data is to be fetched. + * @param {string} params.date Represents the date in yyyy-mm-dd format for which the data is to be fetched. + * @param {string=} params.filters Represents the set of filters including parameter operator value. + * @param {integer=} params.maxResults Maximum number of results to return. Maximum allowed is 1000 + * @param {string=} params.pageToken Token to specify next page. + * @param {string=} params.parameters Represents the application name, parameter name pairs to fetch in csv as app_name1:param_name1, app_name2:param_name2. + * @param {string} params.userKey Represents the profile id or the user email for which the data should be filtered. + * @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?: Params$Resource$Userusagereport$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Userusagereport$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Userusagereport$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Userusagereport$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Represents the customer for which the data is to be fetched. + */ + customerId?: string; + /** + * Represents the date in yyyy-mm-dd format for which the data is to be + * fetched. + */ + date?: string; + /** + * Represents the set of filters including parameter operator value. + */ + filters?: string; + /** + * Maximum number of results to return. Maximum allowed is 1000 + */ + maxResults?: number; + /** + * Token to specify next page. + */ + pageToken?: string; + /** + * Represents the application name, parameter name pairs to fetch in csv as + * app_name1:param_name1, app_name2:param_name2. + */ + parameters?: string; + /** + * Represents the profile id or the user email for which the data should be + * filtered. + */ + userKey?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/admin/reports_v1.js b/express-server/node_modules/googleapis/build/src/apis/admin/reports_v1.js new file mode 100644 index 00000000..d658f5cb --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/admin/reports_v1.js @@ -0,0 +1,300 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var admin_reports_v1; +(function (admin_reports_v1) { + /** + * Admin Reports API + * + * Fetches reports for the administrators of G Suite customers about the + * usage, collaboration, security, and risk for their users. + * + * @example + * const {google} = require('googleapis'); + * const admin = google.admin('reports_v1'); + * + * @namespace admin + * @type {Function} + * @version reports_v1 + * @variation reports_v1 + * @param {object=} options Options for Admin + */ + class Admin { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.activities = new Resource$Activities(this); + this.channels = new Resource$Channels(this); + this.customerUsageReports = new Resource$Customerusagereports(this); + this.entityUsageReports = new Resource$Entityusagereports(this); + this.userUsageReport = new Resource$Userusagereport(this); + } + getRoot() { + return this.root; + } + } + admin_reports_v1.Admin = Admin; + class Resource$Activities { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/reports/v1/activity/users/{userKey}/applications/{applicationName}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userKey', 'applicationName'], + pathParams: ['applicationName', 'userKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + watch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/reports/v1/activity/users/{userKey}/applications/{applicationName}/watch') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['userKey', 'applicationName'], + pathParams: ['applicationName', 'userKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + admin_reports_v1.Resource$Activities = Resource$Activities; + class Resource$Channels { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + stop(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/admin/reports/v1/admin/reports_v1/channels/stop') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + admin_reports_v1.Resource$Channels = Resource$Channels; + class Resource$Customerusagereports { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/admin/reports/v1/usage/dates/{date}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['date'], + pathParams: ['date'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + admin_reports_v1.Resource$Customerusagereports = Resource$Customerusagereports; + class Resource$Entityusagereports { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/reports/v1/usage/{entityType}/{entityKey}/dates/{date}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['entityType', 'entityKey', 'date'], + pathParams: ['date', 'entityKey', 'entityType'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + admin_reports_v1.Resource$Entityusagereports = Resource$Entityusagereports; + class Resource$Userusagereport { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/admin/reports/v1/usage/users/{userKey}/dates/{date}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userKey', 'date'], + pathParams: ['date', 'userKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + admin_reports_v1.Resource$Userusagereport = Resource$Userusagereport; +})(admin_reports_v1 = exports.admin_reports_v1 || (exports.admin_reports_v1 = {})); +//# sourceMappingURL=reports_v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/admin/reports_v1.js.map b/express-server/node_modules/googleapis/build/src/apis/admin/reports_v1.js.map new file mode 100644 index 00000000..21980db9 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/admin/reports_v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"reports_v1.js","sourceRoot":"","sources":["../../../../src/apis/admin/reports_v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/adsense/README.md b/express-server/node_modules/googleapis/build/src/apis/adsense/README.md new file mode 100644 index 00000000..fe0afc87 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/adsense/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/adsense + +> Accesses AdSense publishers' inventory and generates performance reports. + +## Installation + +```sh +$ npm install @google/adsense +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/adsense/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/adsense/index.d.ts new file mode 100644 index 00000000..ce53da4c --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/adsense/index.d.ts @@ -0,0 +1,6 @@ +import { adsense_v1_4 } from './v1.4'; +export declare const VERSIONS: { + 'v1.4': typeof adsense_v1_4.Adsense; +}; +export declare function adsense(version: 'v1_4'): adsense_v1_4.Adsense; +export declare function adsense(options: adsense_v1_4.Options): adsense_v1_4.Adsense; diff --git a/express-server/node_modules/googleapis/build/src/apis/adsense/index.js b/express-server/node_modules/googleapis/build/src/apis/adsense/index.js new file mode 100644 index 00000000..526057f3 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/adsense/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_4_1 = require("./v1.4"); +exports.VERSIONS = { + 'v1.4': v1_4_1.adsense_v1_4.Adsense, +}; +function adsense(versionOrOptions) { + return googleapis_common_1.getAPI('adsense', versionOrOptions, exports.VERSIONS, this); +} +exports.adsense = adsense; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/adsense/index.js.map b/express-server/node_modules/googleapis/build/src/apis/adsense/index.js.map new file mode 100644 index 00000000..ff768a6c --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/adsense/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/adsense/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,iCAAoC;AAEvB,QAAA,QAAQ,GAAG;IACtB,MAAM,EAAE,mBAAY,CAAC,OAAO;CAC7B,CAAC;AAIF,SAAgB,OAAO,CACO,gBAA6C;IACzE,OAAO,0BAAM,CAAI,SAAS,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAChE,CAAC;AAHD,0BAGC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/adsense/package.json b/express-server/node_modules/googleapis/build/src/apis/adsense/package.json new file mode 100644 index 00000000..5db763a5 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/adsense/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/adsense", + "version": "0.1.0", + "description": "adsense", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/adsense/v1.4.d.ts b/express-server/node_modules/googleapis/build/src/apis/adsense/v1.4.d.ts new file mode 100644 index 00000000..1a8c8ac1 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/adsense/v1.4.d.ts @@ -0,0 +1,2237 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace adsense_v1_4 { + interface Options extends GlobalOptions { + version: 'v1_4'; + } + /** + * AdSense Management API + * + * Accesses AdSense publishers' inventory and generates performance + * reports. + * + * @example + * const {google} = require('googleapis'); + * const adsense = google.adsense('v1.4'); + * + * @namespace adsense + * @type {Function} + * @version v1.4 + * @variation v1.4 + * @param {object=} options Options for Adsense + */ + class Adsense { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + accounts: Resource$Accounts; + adclients: Resource$Adclients; + adunits: Resource$Adunits; + alerts: Resource$Alerts; + customchannels: Resource$Customchannels; + metadata: Resource$Metadata; + payments: Resource$Payments; + reports: Resource$Reports; + savedadstyles: Resource$Savedadstyles; + urlchannels: Resource$Urlchannels; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + interface Schema$Account { + creation_time?: string; + /** + * Unique identifier of this account. + */ + id?: string; + /** + * Kind of resource this is, in this case adsense#account. + */ + kind?: string; + /** + * Name of this account. + */ + name?: string; + /** + * Whether this account is premium. + */ + premium?: boolean; + /** + * Sub accounts of the this account. + */ + subAccounts?: Schema$Account[]; + /** + * AdSense timezone of this account. + */ + timezone?: string; + } + interface Schema$Accounts { + /** + * ETag of this response for caching purposes. + */ + etag?: string; + /** + * The accounts returned in this list response. + */ + items?: Schema$Account[]; + /** + * Kind of list this is, in this case adsense#accounts. + */ + kind?: string; + /** + * Continuation token used to page through accounts. To retrieve the next + * page of results, set the next request's "pageToken" value + * to this. + */ + nextPageToken?: string; + } + interface Schema$AdClient { + /** + * Whether this ad client is opted in to ARC. + */ + arcOptIn?: boolean; + /** + * Unique identifier of this ad client. + */ + id?: string; + /** + * Kind of resource this is, in this case adsense#adClient. + */ + kind?: string; + /** + * This ad client's product code, which corresponds to the PRODUCT_CODE + * report dimension. + */ + productCode?: string; + /** + * Whether this ad client supports being reported on. + */ + supportsReporting?: boolean; + } + interface Schema$AdClients { + /** + * ETag of this response for caching purposes. + */ + etag?: string; + /** + * The ad clients returned in this list response. + */ + items?: Schema$AdClient[]; + /** + * Kind of list this is, in this case adsense#adClients. + */ + kind?: string; + /** + * Continuation token used to page through ad clients. To retrieve the next + * page of results, set the next request's "pageToken" value + * to this. + */ + nextPageToken?: string; + } + interface Schema$AdCode { + /** + * The Auto ad code snippet. The ad code snippet. + */ + adCode?: string; + /** + * The AMP Auto ad code snippet that goes in the body of an AMP page. + */ + ampBody?: string; + /** + * The AMP Auto ad code snippet that goes in the head of an AMP page. + */ + ampHead?: string; + /** + * Kind this is, in this case adsense#adCode. + */ + kind?: string; + } + interface Schema$AdsenseReportsGenerateResponse { + /** + * The averages of the report. This is the same length as any other row in + * the report; cells corresponding to dimension columns are empty. + */ + averages?: string[]; + /** + * The requested end date in yyyy-mm-dd format. + */ + endDate?: string; + /** + * The header information of the columns requested in the report. This is a + * list of headers; one for each dimension in the request, followed by one + * for each metric in the request. + */ + headers?: any[]; + /** + * Kind this is, in this case adsense#report. + */ + kind?: string; + /** + * The output rows of the report. Each row is a list of cells; one for each + * dimension in the request, followed by one for each metric in the request. + * The dimension cells contain strings, and the metric cells contain + * numbers. + */ + rows?: string[][]; + /** + * The requested start date in yyyy-mm-dd format. + */ + startDate?: string; + /** + * The total number of rows matched by the report request. Fewer rows may be + * returned in the response due to being limited by the row count requested + * or the report row limit. + */ + totalMatchedRows?: string; + /** + * The totals of the report. This is the same length as any other row in the + * report; cells corresponding to dimension columns are empty. + */ + totals?: string[]; + /** + * Any warnings associated with generation of the report. + */ + warnings?: string[]; + } + interface Schema$AdStyle { + /** + * The colors which are included in the style. These are represented as six + * hexadecimal characters, similar to HTML color codes, but without the + * leading hash. + */ + colors?: any; + /** + * The style of the corners in the ad (deprecated: never populated, + * ignored). + */ + corners?: string; + /** + * The font which is included in the style. + */ + font?: any; + /** + * Kind this is, in this case adsense#adStyle. + */ + kind?: string; + } + interface Schema$AdUnit { + /** + * Identity code of this ad unit, not necessarily unique across ad clients. + */ + code?: string; + /** + * Settings specific to content ads (AFC) and highend mobile content ads + * (AFMC - deprecated). + */ + contentAdsSettings?: any; + /** + * Custom style information specific to this ad unit. + */ + customStyle?: Schema$AdStyle; + /** + * Settings specific to feed ads (AFF) - deprecated. + */ + feedAdsSettings?: any; + /** + * Unique identifier of this ad unit. This should be considered an opaque + * identifier; it is not safe to rely on it being in any particular format. + */ + id?: string; + /** + * Kind of resource this is, in this case adsense#adUnit. + */ + kind?: string; + /** + * Settings specific to WAP mobile content ads (AFMC) - deprecated. + */ + mobileContentAdsSettings?: any; + /** + * Name of this ad unit. + */ + name?: string; + /** + * ID of the saved ad style which holds this ad unit's style + * information. + */ + savedStyleId?: string; + /** + * Status of this ad unit. Possible values are: NEW: Indicates that the ad + * unit was created within the last seven days and does not yet have any + * activity associated with it. ACTIVE: Indicates that there has been + * activity on this ad unit in the last seven days. INACTIVE: Indicates + * that there has been no activity on this ad unit in the last seven days. + */ + status?: string; + } + interface Schema$AdUnits { + /** + * ETag of this response for caching purposes. + */ + etag?: string; + /** + * The ad units returned in this list response. + */ + items?: Schema$AdUnit[]; + /** + * Kind of list this is, in this case adsense#adUnits. + */ + kind?: string; + /** + * Continuation token used to page through ad units. To retrieve the next + * page of results, set the next request's "pageToken" value + * to this. + */ + nextPageToken?: string; + } + interface Schema$Alert { + /** + * Unique identifier of this alert. This should be considered an opaque + * identifier; it is not safe to rely on it being in any particular format. + */ + id?: string; + /** + * Whether this alert can be dismissed. + */ + isDismissible?: boolean; + /** + * Kind of resource this is, in this case adsense#alert. + */ + kind?: string; + /** + * The localized alert message. + */ + message?: string; + /** + * Severity of this alert. Possible values: INFO, WARNING, SEVERE. + */ + severity?: string; + /** + * Type of this alert. Possible values: SELF_HOLD, MIGRATED_TO_BILLING3, + * ADDRESS_PIN_VERIFICATION, PHONE_PIN_VERIFICATION, CORPORATE_ENTITY, + * GRAYLISTED_PUBLISHER, API_HOLD. + */ + type?: string; + } + interface Schema$Alerts { + /** + * The alerts returned in this list response. + */ + items?: Schema$Alert[]; + /** + * Kind of list this is, in this case adsense#alerts. + */ + kind?: string; + } + interface Schema$CustomChannel { + /** + * Code of this custom channel, not necessarily unique across ad clients. + */ + code?: string; + /** + * Unique identifier of this custom channel. This should be considered an + * opaque identifier; it is not safe to rely on it being in any particular + * format. + */ + id?: string; + /** + * Kind of resource this is, in this case adsense#customChannel. + */ + kind?: string; + /** + * Name of this custom channel. + */ + name?: string; + /** + * The targeting information of this custom channel, if activated. + */ + targetingInfo?: any; + } + interface Schema$CustomChannels { + /** + * ETag of this response for caching purposes. + */ + etag?: string; + /** + * The custom channels returned in this list response. + */ + items?: Schema$CustomChannel[]; + /** + * Kind of list this is, in this case adsense#customChannels. + */ + kind?: string; + /** + * Continuation token used to page through custom channels. To retrieve the + * next page of results, set the next request's "pageToken" + * value to this. + */ + nextPageToken?: string; + } + interface Schema$Metadata { + items?: Schema$ReportingMetadataEntry[]; + /** + * Kind of list this is, in this case adsense#metadata. + */ + kind?: string; + } + interface Schema$Payment { + /** + * Unique identifier of this Payment. + */ + id?: string; + /** + * Kind of resource this is, in this case adsense#payment. + */ + kind?: string; + /** + * The amount to be paid. + */ + paymentAmount?: string; + /** + * The currency code for the amount to be paid. + */ + paymentAmountCurrencyCode?: string; + /** + * The date this payment was/will be credited to the user, or none if the + * payment threshold has not been met. + */ + paymentDate?: string; + } + interface Schema$Payments { + /** + * The list of Payments for the account. One or both of a) the account's + * most recent payment; and b) the account's upcoming payment. + */ + items?: Schema$Payment[]; + /** + * Kind of list this is, in this case adsense#payments. + */ + kind?: string; + } + interface Schema$ReportingMetadataEntry { + /** + * For metrics this is a list of dimension IDs which the metric is + * compatible with, for dimensions it is a list of compatibility groups the + * dimension belongs to. + */ + compatibleDimensions?: string[]; + /** + * The names of the metrics the dimension or metric this reporting metadata + * entry describes is compatible with. + */ + compatibleMetrics?: string[]; + /** + * Unique identifier of this reporting metadata entry, corresponding to the + * name of the appropriate dimension or metric. + */ + id?: string; + /** + * Kind of resource this is, in this case adsense#reportingMetadataEntry. + */ + kind?: string; + /** + * The names of the dimensions which the dimension or metric this reporting + * metadata entry describes requires to also be present in order for the + * report to be valid. Omitting these will not cause an error or warning, + * but may result in data which cannot be correctly interpreted. + */ + requiredDimensions?: string[]; + /** + * The names of the metrics which the dimension or metric this reporting + * metadata entry describes requires to also be present in order for the + * report to be valid. Omitting these will not cause an error or warning, + * but may result in data which cannot be correctly interpreted. + */ + requiredMetrics?: string[]; + /** + * The codes of the projects supported by the dimension or metric this + * reporting metadata entry describes. + */ + supportedProducts?: string[]; + } + interface Schema$SavedAdStyle { + /** + * The AdStyle itself. + */ + adStyle?: Schema$AdStyle; + /** + * Unique identifier of this saved ad style. This should be considered an + * opaque identifier; it is not safe to rely on it being in any particular + * format. + */ + id?: string; + /** + * Kind of resource this is, in this case adsense#savedAdStyle. + */ + kind?: string; + /** + * The user selected name of this SavedAdStyle. + */ + name?: string; + } + interface Schema$SavedAdStyles { + /** + * ETag of this response for caching purposes. + */ + etag?: string; + /** + * The saved ad styles returned in this list response. + */ + items?: Schema$SavedAdStyle[]; + /** + * Kind of list this is, in this case adsense#savedAdStyles. + */ + kind?: string; + /** + * Continuation token used to page through ad units. To retrieve the next + * page of results, set the next request's "pageToken" value + * to this. + */ + nextPageToken?: string; + } + interface Schema$SavedReport { + /** + * Unique identifier of this saved report. + */ + id?: string; + /** + * Kind of resource this is, in this case adsense#savedReport. + */ + kind?: string; + /** + * This saved report's name. + */ + name?: string; + } + interface Schema$SavedReports { + /** + * ETag of this response for caching purposes. + */ + etag?: string; + /** + * The saved reports returned in this list response. + */ + items?: Schema$SavedReport[]; + /** + * Kind of list this is, in this case adsense#savedReports. + */ + kind?: string; + /** + * Continuation token used to page through saved reports. To retrieve the + * next page of results, set the next request's "pageToken" + * value to this. + */ + nextPageToken?: string; + } + interface Schema$UrlChannel { + /** + * Unique identifier of this URL channel. This should be considered an + * opaque identifier; it is not safe to rely on it being in any particular + * format. + */ + id?: string; + /** + * Kind of resource this is, in this case adsense#urlChannel. + */ + kind?: string; + /** + * URL Pattern of this URL channel. Does not include "http://" or + * "https://". Example: www.example.com/home + */ + urlPattern?: string; + } + interface Schema$UrlChannels { + /** + * ETag of this response for caching purposes. + */ + etag?: string; + /** + * The URL channels returned in this list response. + */ + items?: Schema$UrlChannel[]; + /** + * Kind of list this is, in this case adsense#urlChannels. + */ + kind?: string; + /** + * Continuation token used to page through URL channels. To retrieve the + * next page of results, set the next request's "pageToken" + * value to this. + */ + nextPageToken?: string; + } + class Resource$Accounts { + root: Adsense; + adclients: Resource$Accounts$Adclients; + adunits: Resource$Accounts$Adunits; + alerts: Resource$Accounts$Alerts; + customchannels: Resource$Accounts$Customchannels; + payments: Resource$Accounts$Payments; + reports: Resource$Accounts$Reports; + savedadstyles: Resource$Accounts$Savedadstyles; + urlchannels: Resource$Accounts$Urlchannels; + constructor(root: Adsense); + getRoot(): Adsense; + /** + * adsense.accounts.get + * @desc Get information about the selected AdSense account. + * @alias adsense.accounts.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account to get information about. + * @param {boolean=} params.tree Whether the tree of sub accounts should be returned. + * @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?: Params$Resource$Accounts$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accounts$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accounts$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * adsense.accounts.list + * @desc List all accounts available to this AdSense account. + * @alias adsense.accounts.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {integer=} params.maxResults The maximum number of accounts to include in the response, used for paging. + * @param {string=} params.pageToken A continuation token, used to page through accounts. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response. + * @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?: Params$Resource$Accounts$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accounts$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accounts$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account to get information about. + */ + accountId?: string; + /** + * Whether the tree of sub accounts should be returned. + */ + tree?: boolean; + } + interface Params$Resource$Accounts$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The maximum number of accounts to include in the response, used for + * paging. + */ + maxResults?: number; + /** + * A continuation token, used to page through accounts. To retrieve the next + * page, set this parameter to the value of "nextPageToken" from the + * previous response. + */ + pageToken?: string; + } + class Resource$Accounts$Adclients { + root: Adsense; + constructor(root: Adsense); + getRoot(): Adsense; + /** + * adsense.accounts.adclients.getAdCode + * @desc Get Auto ad code for a given ad client. + * @alias adsense.accounts.adclients.getAdCode + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account which contains the ad client. + * @param {string} params.adClientId Ad client to get the code for. + * @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 + */ + getAdCode(params?: Params$Resource$Accounts$Adclients$Getadcode, options?: MethodOptions): AxiosPromise; + getAdCode(params: Params$Resource$Accounts$Adclients$Getadcode, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getAdCode(params: Params$Resource$Accounts$Adclients$Getadcode, callback: BodyResponseCallback): void; + getAdCode(callback: BodyResponseCallback): void; + /** + * adsense.accounts.adclients.list + * @desc List all ad clients in the specified account. + * @alias adsense.accounts.adclients.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account for which to list ad clients. + * @param {integer=} params.maxResults The maximum number of ad clients to include in the response, used for paging. + * @param {string=} params.pageToken A continuation token, used to page through ad clients. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response. + * @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?: Params$Resource$Accounts$Adclients$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accounts$Adclients$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accounts$Adclients$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Adclients$Getadcode { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account which contains the ad client. + */ + accountId?: string; + /** + * Ad client to get the code for. + */ + adClientId?: string; + } + interface Params$Resource$Accounts$Adclients$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account for which to list ad clients. + */ + accountId?: string; + /** + * The maximum number of ad clients to include in the response, used for + * paging. + */ + maxResults?: number; + /** + * A continuation token, used to page through ad clients. To retrieve the + * next page, set this parameter to the value of "nextPageToken" from the + * previous response. + */ + pageToken?: string; + } + class Resource$Accounts$Adunits { + root: Adsense; + customchannels: Resource$Accounts$Adunits$Customchannels; + constructor(root: Adsense); + getRoot(): Adsense; + /** + * adsense.accounts.adunits.get + * @desc Gets the specified ad unit in the specified ad client for the + * specified account. + * @alias adsense.accounts.adunits.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account to which the ad client belongs. + * @param {string} params.adClientId Ad client for which to get the ad unit. + * @param {string} params.adUnitId Ad unit to retrieve. + * @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?: Params$Resource$Accounts$Adunits$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accounts$Adunits$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accounts$Adunits$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * adsense.accounts.adunits.getAdCode + * @desc Get ad code for the specified ad unit. + * @alias adsense.accounts.adunits.getAdCode + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account which contains the ad client. + * @param {string} params.adClientId Ad client with contains the ad unit. + * @param {string} params.adUnitId Ad unit to get the code for. + * @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 + */ + getAdCode(params?: Params$Resource$Accounts$Adunits$Getadcode, options?: MethodOptions): AxiosPromise; + getAdCode(params: Params$Resource$Accounts$Adunits$Getadcode, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getAdCode(params: Params$Resource$Accounts$Adunits$Getadcode, callback: BodyResponseCallback): void; + getAdCode(callback: BodyResponseCallback): void; + /** + * adsense.accounts.adunits.list + * @desc List all ad units in the specified ad client for the specified + * account. + * @alias adsense.accounts.adunits.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account to which the ad client belongs. + * @param {string} params.adClientId Ad client for which to list ad units. + * @param {boolean=} params.includeInactive Whether to include inactive ad units. Default: true. + * @param {integer=} params.maxResults The maximum number of ad units to include in the response, used for paging. + * @param {string=} params.pageToken A continuation token, used to page through ad units. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response. + * @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?: Params$Resource$Accounts$Adunits$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accounts$Adunits$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accounts$Adunits$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Adunits$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account to which the ad client belongs. + */ + accountId?: string; + /** + * Ad client for which to get the ad unit. + */ + adClientId?: string; + /** + * Ad unit to retrieve. + */ + adUnitId?: string; + } + interface Params$Resource$Accounts$Adunits$Getadcode { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account which contains the ad client. + */ + accountId?: string; + /** + * Ad client with contains the ad unit. + */ + adClientId?: string; + /** + * Ad unit to get the code for. + */ + adUnitId?: string; + } + interface Params$Resource$Accounts$Adunits$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account to which the ad client belongs. + */ + accountId?: string; + /** + * Ad client for which to list ad units. + */ + adClientId?: string; + /** + * Whether to include inactive ad units. Default: true. + */ + includeInactive?: boolean; + /** + * The maximum number of ad units to include in the response, used for + * paging. + */ + maxResults?: number; + /** + * A continuation token, used to page through ad units. To retrieve the next + * page, set this parameter to the value of "nextPageToken" from the + * previous response. + */ + pageToken?: string; + } + class Resource$Accounts$Adunits$Customchannels { + root: Adsense; + constructor(root: Adsense); + getRoot(): Adsense; + /** + * adsense.accounts.adunits.customchannels.list + * @desc List all custom channels which the specified ad unit belongs to. + * @alias adsense.accounts.adunits.customchannels.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account to which the ad client belongs. + * @param {string} params.adClientId Ad client which contains the ad unit. + * @param {string} params.adUnitId Ad unit for which to list custom channels. + * @param {integer=} params.maxResults The maximum number of custom channels to include in the response, used for paging. + * @param {string=} params.pageToken A continuation token, used to page through custom channels. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response. + * @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?: Params$Resource$Accounts$Adunits$Customchannels$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accounts$Adunits$Customchannels$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accounts$Adunits$Customchannels$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Adunits$Customchannels$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account to which the ad client belongs. + */ + accountId?: string; + /** + * Ad client which contains the ad unit. + */ + adClientId?: string; + /** + * Ad unit for which to list custom channels. + */ + adUnitId?: string; + /** + * The maximum number of custom channels to include in the response, used + * for paging. + */ + maxResults?: number; + /** + * A continuation token, used to page through custom channels. To retrieve + * the next page, set this parameter to the value of "nextPageToken" from + * the previous response. + */ + pageToken?: string; + } + class Resource$Accounts$Alerts { + root: Adsense; + constructor(root: Adsense); + getRoot(): Adsense; + /** + * adsense.accounts.alerts.delete + * @desc Dismiss (delete) the specified alert from the specified publisher + * AdSense account. + * @alias adsense.accounts.alerts.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account which contains the ad unit. + * @param {string} params.alertId Alert to delete. + * @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?: Params$Resource$Accounts$Alerts$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Accounts$Alerts$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Accounts$Alerts$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * adsense.accounts.alerts.list + * @desc List the alerts for the specified AdSense account. + * @alias adsense.accounts.alerts.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account for which to retrieve the alerts. + * @param {string=} params.locale The locale to use for translating alert messages. The account locale will be used if this is not supplied. The AdSense default (English) will be used if the supplied locale is invalid or unsupported. + * @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?: Params$Resource$Accounts$Alerts$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accounts$Alerts$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accounts$Alerts$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Alerts$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account which contains the ad unit. + */ + accountId?: string; + /** + * Alert to delete. + */ + alertId?: string; + } + interface Params$Resource$Accounts$Alerts$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account for which to retrieve the alerts. + */ + accountId?: string; + /** + * The locale to use for translating alert messages. The account locale will + * be used if this is not supplied. The AdSense default (English) will be + * used if the supplied locale is invalid or unsupported. + */ + locale?: string; + } + class Resource$Accounts$Customchannels { + root: Adsense; + adunits: Resource$Accounts$Customchannels$Adunits; + constructor(root: Adsense); + getRoot(): Adsense; + /** + * adsense.accounts.customchannels.get + * @desc Get the specified custom channel from the specified ad client for + * the specified account. + * @alias adsense.accounts.customchannels.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account to which the ad client belongs. + * @param {string} params.adClientId Ad client which contains the custom channel. + * @param {string} params.customChannelId Custom channel to retrieve. + * @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?: Params$Resource$Accounts$Customchannels$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accounts$Customchannels$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accounts$Customchannels$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * adsense.accounts.customchannels.list + * @desc List all custom channels in the specified ad client for the + * specified account. + * @alias adsense.accounts.customchannels.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account to which the ad client belongs. + * @param {string} params.adClientId Ad client for which to list custom channels. + * @param {integer=} params.maxResults The maximum number of custom channels to include in the response, used for paging. + * @param {string=} params.pageToken A continuation token, used to page through custom channels. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response. + * @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?: Params$Resource$Accounts$Customchannels$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accounts$Customchannels$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accounts$Customchannels$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Customchannels$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account to which the ad client belongs. + */ + accountId?: string; + /** + * Ad client which contains the custom channel. + */ + adClientId?: string; + /** + * Custom channel to retrieve. + */ + customChannelId?: string; + } + interface Params$Resource$Accounts$Customchannels$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account to which the ad client belongs. + */ + accountId?: string; + /** + * Ad client for which to list custom channels. + */ + adClientId?: string; + /** + * The maximum number of custom channels to include in the response, used + * for paging. + */ + maxResults?: number; + /** + * A continuation token, used to page through custom channels. To retrieve + * the next page, set this parameter to the value of "nextPageToken" from + * the previous response. + */ + pageToken?: string; + } + class Resource$Accounts$Customchannels$Adunits { + root: Adsense; + constructor(root: Adsense); + getRoot(): Adsense; + /** + * adsense.accounts.customchannels.adunits.list + * @desc List all ad units in the specified custom channel. + * @alias adsense.accounts.customchannels.adunits.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account to which the ad client belongs. + * @param {string} params.adClientId Ad client which contains the custom channel. + * @param {string} params.customChannelId Custom channel for which to list ad units. + * @param {boolean=} params.includeInactive Whether to include inactive ad units. Default: true. + * @param {integer=} params.maxResults The maximum number of ad units to include in the response, used for paging. + * @param {string=} params.pageToken A continuation token, used to page through ad units. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response. + * @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?: Params$Resource$Accounts$Customchannels$Adunits$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accounts$Customchannels$Adunits$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accounts$Customchannels$Adunits$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Customchannels$Adunits$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account to which the ad client belongs. + */ + accountId?: string; + /** + * Ad client which contains the custom channel. + */ + adClientId?: string; + /** + * Custom channel for which to list ad units. + */ + customChannelId?: string; + /** + * Whether to include inactive ad units. Default: true. + */ + includeInactive?: boolean; + /** + * The maximum number of ad units to include in the response, used for + * paging. + */ + maxResults?: number; + /** + * A continuation token, used to page through ad units. To retrieve the next + * page, set this parameter to the value of "nextPageToken" from the + * previous response. + */ + pageToken?: string; + } + class Resource$Accounts$Payments { + root: Adsense; + constructor(root: Adsense); + getRoot(): Adsense; + /** + * adsense.accounts.payments.list + * @desc List the payments for the specified AdSense account. + * @alias adsense.accounts.payments.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account for which to retrieve the payments. + * @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?: Params$Resource$Accounts$Payments$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accounts$Payments$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accounts$Payments$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Payments$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account for which to retrieve the payments. + */ + accountId?: string; + } + class Resource$Accounts$Reports { + root: Adsense; + saved: Resource$Accounts$Reports$Saved; + constructor(root: Adsense); + getRoot(): Adsense; + /** + * adsense.accounts.reports.generate + * @desc Generate an AdSense report based on the report request sent in the + * query parameters. Returns the result as JSON; to retrieve output in CSV + * format specify "alt=csv" as a query parameter. + * @alias adsense.accounts.reports.generate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account upon which to report. + * @param {string=} params.currency Optional currency to use when reporting on monetary metrics. Defaults to the account's currency if not set. + * @param {string=} params.dimension Dimensions to base the report on. + * @param {string} params.endDate End of the date range to report on in "YYYY-MM-DD" format, inclusive. + * @param {string=} params.filter Filters to be run on the report. + * @param {string=} params.locale Optional locale to use for translating report output to a local language. Defaults to "en_US" if not specified. + * @param {integer=} params.maxResults The maximum number of rows of report data to return. + * @param {string=} params.metric Numeric columns to include in the report. + * @param {string=} params.sort The name of a dimension or metric to sort the resulting report on, optionally prefixed with "+" to sort ascending or "-" to sort descending. If no prefix is specified, the column is sorted ascending. + * @param {string} params.startDate Start of the date range to report on in "YYYY-MM-DD" format, inclusive. + * @param {integer=} params.startIndex Index of the first row of report data to return. + * @param {boolean=} params.useTimezoneReporting Whether the report should be generated in the AdSense account's local timezone. If false default PST/PDT timezone will be used. + * @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 + */ + generate(params?: Params$Resource$Accounts$Reports$Generate, options?: MethodOptions): AxiosPromise; + generate(params: Params$Resource$Accounts$Reports$Generate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + generate(params: Params$Resource$Accounts$Reports$Generate, callback: BodyResponseCallback): void; + generate(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Reports$Generate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account upon which to report. + */ + accountId?: string; + /** + * Optional currency to use when reporting on monetary metrics. Defaults to + * the account's currency if not set. + */ + currency?: string; + /** + * Dimensions to base the report on. + */ + dimension?: string; + /** + * End of the date range to report on in "YYYY-MM-DD" format, inclusive. + */ + endDate?: string; + /** + * Filters to be run on the report. + */ + filter?: string; + /** + * Optional locale to use for translating report output to a local language. + * Defaults to "en_US" if not specified. + */ + locale?: string; + /** + * The maximum number of rows of report data to return. + */ + maxResults?: number; + /** + * Numeric columns to include in the report. + */ + metric?: string; + /** + * The name of a dimension or metric to sort the resulting report on, + * optionally prefixed with "+" to sort ascending or "-" to sort descending. + * If no prefix is specified, the column is sorted ascending. + */ + sort?: string; + /** + * Start of the date range to report on in "YYYY-MM-DD" format, inclusive. + */ + startDate?: string; + /** + * Index of the first row of report data to return. + */ + startIndex?: number; + /** + * Whether the report should be generated in the AdSense account's local + * timezone. If false default PST/PDT timezone will be used. + */ + useTimezoneReporting?: boolean; + } + class Resource$Accounts$Reports$Saved { + root: Adsense; + constructor(root: Adsense); + getRoot(): Adsense; + /** + * adsense.accounts.reports.saved.generate + * @desc Generate an AdSense report based on the saved report ID sent in the + * query parameters. + * @alias adsense.accounts.reports.saved.generate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account to which the saved reports belong. + * @param {string=} params.locale Optional locale to use for translating report output to a local language. Defaults to "en_US" if not specified. + * @param {integer=} params.maxResults The maximum number of rows of report data to return. + * @param {string} params.savedReportId The saved report to retrieve. + * @param {integer=} params.startIndex Index of the first row of report data to return. + * @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 + */ + generate(params?: Params$Resource$Accounts$Reports$Saved$Generate, options?: MethodOptions): AxiosPromise; + generate(params: Params$Resource$Accounts$Reports$Saved$Generate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + generate(params: Params$Resource$Accounts$Reports$Saved$Generate, callback: BodyResponseCallback): void; + generate(callback: BodyResponseCallback): void; + /** + * adsense.accounts.reports.saved.list + * @desc List all saved reports in the specified AdSense account. + * @alias adsense.accounts.reports.saved.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account to which the saved reports belong. + * @param {integer=} params.maxResults The maximum number of saved reports to include in the response, used for paging. + * @param {string=} params.pageToken A continuation token, used to page through saved reports. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response. + * @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?: Params$Resource$Accounts$Reports$Saved$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accounts$Reports$Saved$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accounts$Reports$Saved$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Reports$Saved$Generate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account to which the saved reports belong. + */ + accountId?: string; + /** + * Optional locale to use for translating report output to a local language. + * Defaults to "en_US" if not specified. + */ + locale?: string; + /** + * The maximum number of rows of report data to return. + */ + maxResults?: number; + /** + * The saved report to retrieve. + */ + savedReportId?: string; + /** + * Index of the first row of report data to return. + */ + startIndex?: number; + } + interface Params$Resource$Accounts$Reports$Saved$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account to which the saved reports belong. + */ + accountId?: string; + /** + * The maximum number of saved reports to include in the response, used for + * paging. + */ + maxResults?: number; + /** + * A continuation token, used to page through saved reports. To retrieve the + * next page, set this parameter to the value of "nextPageToken" from the + * previous response. + */ + pageToken?: string; + } + class Resource$Accounts$Savedadstyles { + root: Adsense; + constructor(root: Adsense); + getRoot(): Adsense; + /** + * adsense.accounts.savedadstyles.get + * @desc List a specific saved ad style for the specified account. + * @alias adsense.accounts.savedadstyles.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account for which to get the saved ad style. + * @param {string} params.savedAdStyleId Saved ad style to retrieve. + * @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?: Params$Resource$Accounts$Savedadstyles$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accounts$Savedadstyles$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accounts$Savedadstyles$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * adsense.accounts.savedadstyles.list + * @desc List all saved ad styles in the specified account. + * @alias adsense.accounts.savedadstyles.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account for which to list saved ad styles. + * @param {integer=} params.maxResults The maximum number of saved ad styles to include in the response, used for paging. + * @param {string=} params.pageToken A continuation token, used to page through saved ad styles. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response. + * @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?: Params$Resource$Accounts$Savedadstyles$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accounts$Savedadstyles$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accounts$Savedadstyles$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Savedadstyles$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account for which to get the saved ad style. + */ + accountId?: string; + /** + * Saved ad style to retrieve. + */ + savedAdStyleId?: string; + } + interface Params$Resource$Accounts$Savedadstyles$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account for which to list saved ad styles. + */ + accountId?: string; + /** + * The maximum number of saved ad styles to include in the response, used + * for paging. + */ + maxResults?: number; + /** + * A continuation token, used to page through saved ad styles. To retrieve + * the next page, set this parameter to the value of "nextPageToken" from + * the previous response. + */ + pageToken?: string; + } + class Resource$Accounts$Urlchannels { + root: Adsense; + constructor(root: Adsense); + getRoot(): Adsense; + /** + * adsense.accounts.urlchannels.list + * @desc List all URL channels in the specified ad client for the specified + * account. + * @alias adsense.accounts.urlchannels.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account to which the ad client belongs. + * @param {string} params.adClientId Ad client for which to list URL channels. + * @param {integer=} params.maxResults The maximum number of URL channels to include in the response, used for paging. + * @param {string=} params.pageToken A continuation token, used to page through URL channels. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response. + * @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?: Params$Resource$Accounts$Urlchannels$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accounts$Urlchannels$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accounts$Urlchannels$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Urlchannels$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account to which the ad client belongs. + */ + accountId?: string; + /** + * Ad client for which to list URL channels. + */ + adClientId?: string; + /** + * The maximum number of URL channels to include in the response, used for + * paging. + */ + maxResults?: number; + /** + * A continuation token, used to page through URL channels. To retrieve the + * next page, set this parameter to the value of "nextPageToken" from the + * previous response. + */ + pageToken?: string; + } + class Resource$Adclients { + root: Adsense; + constructor(root: Adsense); + getRoot(): Adsense; + /** + * adsense.adclients.list + * @desc List all ad clients in this AdSense account. + * @alias adsense.adclients.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {integer=} params.maxResults The maximum number of ad clients to include in the response, used for paging. + * @param {string=} params.pageToken A continuation token, used to page through ad clients. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response. + * @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?: Params$Resource$Adclients$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Adclients$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Adclients$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Adclients$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The maximum number of ad clients to include in the response, used for + * paging. + */ + maxResults?: number; + /** + * A continuation token, used to page through ad clients. To retrieve the + * next page, set this parameter to the value of "nextPageToken" from the + * previous response. + */ + pageToken?: string; + } + class Resource$Adunits { + root: Adsense; + customchannels: Resource$Adunits$Customchannels; + constructor(root: Adsense); + getRoot(): Adsense; + /** + * adsense.adunits.get + * @desc Gets the specified ad unit in the specified ad client. + * @alias adsense.adunits.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.adClientId Ad client for which to get the ad unit. + * @param {string} params.adUnitId Ad unit to retrieve. + * @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?: Params$Resource$Adunits$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Adunits$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Adunits$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * adsense.adunits.getAdCode + * @desc Get ad code for the specified ad unit. + * @alias adsense.adunits.getAdCode + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.adClientId Ad client with contains the ad unit. + * @param {string} params.adUnitId Ad unit to get the code for. + * @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 + */ + getAdCode(params?: Params$Resource$Adunits$Getadcode, options?: MethodOptions): AxiosPromise; + getAdCode(params: Params$Resource$Adunits$Getadcode, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getAdCode(params: Params$Resource$Adunits$Getadcode, callback: BodyResponseCallback): void; + getAdCode(callback: BodyResponseCallback): void; + /** + * adsense.adunits.list + * @desc List all ad units in the specified ad client for this AdSense + * account. + * @alias adsense.adunits.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.adClientId Ad client for which to list ad units. + * @param {boolean=} params.includeInactive Whether to include inactive ad units. Default: true. + * @param {integer=} params.maxResults The maximum number of ad units to include in the response, used for paging. + * @param {string=} params.pageToken A continuation token, used to page through ad units. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response. + * @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?: Params$Resource$Adunits$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Adunits$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Adunits$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Adunits$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Ad client for which to get the ad unit. + */ + adClientId?: string; + /** + * Ad unit to retrieve. + */ + adUnitId?: string; + } + interface Params$Resource$Adunits$Getadcode { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Ad client with contains the ad unit. + */ + adClientId?: string; + /** + * Ad unit to get the code for. + */ + adUnitId?: string; + } + interface Params$Resource$Adunits$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Ad client for which to list ad units. + */ + adClientId?: string; + /** + * Whether to include inactive ad units. Default: true. + */ + includeInactive?: boolean; + /** + * The maximum number of ad units to include in the response, used for + * paging. + */ + maxResults?: number; + /** + * A continuation token, used to page through ad units. To retrieve the next + * page, set this parameter to the value of "nextPageToken" from the + * previous response. + */ + pageToken?: string; + } + class Resource$Adunits$Customchannels { + root: Adsense; + constructor(root: Adsense); + getRoot(): Adsense; + /** + * adsense.adunits.customchannels.list + * @desc List all custom channels which the specified ad unit belongs to. + * @alias adsense.adunits.customchannels.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.adClientId Ad client which contains the ad unit. + * @param {string} params.adUnitId Ad unit for which to list custom channels. + * @param {integer=} params.maxResults The maximum number of custom channels to include in the response, used for paging. + * @param {string=} params.pageToken A continuation token, used to page through custom channels. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response. + * @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?: Params$Resource$Adunits$Customchannels$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Adunits$Customchannels$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Adunits$Customchannels$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Adunits$Customchannels$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Ad client which contains the ad unit. + */ + adClientId?: string; + /** + * Ad unit for which to list custom channels. + */ + adUnitId?: string; + /** + * The maximum number of custom channels to include in the response, used + * for paging. + */ + maxResults?: number; + /** + * A continuation token, used to page through custom channels. To retrieve + * the next page, set this parameter to the value of "nextPageToken" from + * the previous response. + */ + pageToken?: string; + } + class Resource$Alerts { + root: Adsense; + constructor(root: Adsense); + getRoot(): Adsense; + /** + * adsense.alerts.delete + * @desc Dismiss (delete) the specified alert from the publisher's AdSense + * account. + * @alias adsense.alerts.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.alertId Alert to delete. + * @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?: Params$Resource$Alerts$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Alerts$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Alerts$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * adsense.alerts.list + * @desc List the alerts for this AdSense account. + * @alias adsense.alerts.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {string=} params.locale The locale to use for translating alert messages. The account locale will be used if this is not supplied. The AdSense default (English) will be used if the supplied locale is invalid or unsupported. + * @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?: Params$Resource$Alerts$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Alerts$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Alerts$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Alerts$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Alert to delete. + */ + alertId?: string; + } + interface Params$Resource$Alerts$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The locale to use for translating alert messages. The account locale will + * be used if this is not supplied. The AdSense default (English) will be + * used if the supplied locale is invalid or unsupported. + */ + locale?: string; + } + class Resource$Customchannels { + root: Adsense; + adunits: Resource$Customchannels$Adunits; + constructor(root: Adsense); + getRoot(): Adsense; + /** + * adsense.customchannels.get + * @desc Get the specified custom channel from the specified ad client. + * @alias adsense.customchannels.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.adClientId Ad client which contains the custom channel. + * @param {string} params.customChannelId Custom channel to retrieve. + * @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?: Params$Resource$Customchannels$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Customchannels$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Customchannels$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * adsense.customchannels.list + * @desc List all custom channels in the specified ad client for this + * AdSense account. + * @alias adsense.customchannels.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.adClientId Ad client for which to list custom channels. + * @param {integer=} params.maxResults The maximum number of custom channels to include in the response, used for paging. + * @param {string=} params.pageToken A continuation token, used to page through custom channels. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response. + * @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?: Params$Resource$Customchannels$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Customchannels$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Customchannels$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Customchannels$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Ad client which contains the custom channel. + */ + adClientId?: string; + /** + * Custom channel to retrieve. + */ + customChannelId?: string; + } + interface Params$Resource$Customchannels$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Ad client for which to list custom channels. + */ + adClientId?: string; + /** + * The maximum number of custom channels to include in the response, used + * for paging. + */ + maxResults?: number; + /** + * A continuation token, used to page through custom channels. To retrieve + * the next page, set this parameter to the value of "nextPageToken" from + * the previous response. + */ + pageToken?: string; + } + class Resource$Customchannels$Adunits { + root: Adsense; + constructor(root: Adsense); + getRoot(): Adsense; + /** + * adsense.customchannels.adunits.list + * @desc List all ad units in the specified custom channel. + * @alias adsense.customchannels.adunits.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.adClientId Ad client which contains the custom channel. + * @param {string} params.customChannelId Custom channel for which to list ad units. + * @param {boolean=} params.includeInactive Whether to include inactive ad units. Default: true. + * @param {integer=} params.maxResults The maximum number of ad units to include in the response, used for paging. + * @param {string=} params.pageToken A continuation token, used to page through ad units. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response. + * @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?: Params$Resource$Customchannels$Adunits$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Customchannels$Adunits$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Customchannels$Adunits$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Customchannels$Adunits$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Ad client which contains the custom channel. + */ + adClientId?: string; + /** + * Custom channel for which to list ad units. + */ + customChannelId?: string; + /** + * Whether to include inactive ad units. Default: true. + */ + includeInactive?: boolean; + /** + * The maximum number of ad units to include in the response, used for + * paging. + */ + maxResults?: number; + /** + * A continuation token, used to page through ad units. To retrieve the next + * page, set this parameter to the value of "nextPageToken" from the + * previous response. + */ + pageToken?: string; + } + class Resource$Metadata { + root: Adsense; + dimensions: Resource$Metadata$Dimensions; + metrics: Resource$Metadata$Metrics; + constructor(root: Adsense); + getRoot(): Adsense; + } + class Resource$Metadata$Dimensions { + root: Adsense; + constructor(root: Adsense); + getRoot(): Adsense; + /** + * adsense.metadata.dimensions.list + * @desc List the metadata for the dimensions available to this AdSense + * account. + * @alias adsense.metadata.dimensions.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @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?: Params$Resource$Metadata$Dimensions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Metadata$Dimensions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Metadata$Dimensions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Metadata$Dimensions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } + class Resource$Metadata$Metrics { + root: Adsense; + constructor(root: Adsense); + getRoot(): Adsense; + /** + * adsense.metadata.metrics.list + * @desc List the metadata for the metrics available to this AdSense + * account. + * @alias adsense.metadata.metrics.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @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?: Params$Resource$Metadata$Metrics$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Metadata$Metrics$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Metadata$Metrics$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Metadata$Metrics$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } + class Resource$Payments { + root: Adsense; + constructor(root: Adsense); + getRoot(): Adsense; + /** + * adsense.payments.list + * @desc List the payments for this AdSense account. + * @alias adsense.payments.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @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?: Params$Resource$Payments$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Payments$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Payments$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Payments$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } + class Resource$Reports { + root: Adsense; + saved: Resource$Reports$Saved; + constructor(root: Adsense); + getRoot(): Adsense; + /** + * adsense.reports.generate + * @desc Generate an AdSense report based on the report request sent in the + * query parameters. Returns the result as JSON; to retrieve output in CSV + * format specify "alt=csv" as a query parameter. + * @alias adsense.reports.generate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.accountId Accounts upon which to report. + * @param {string=} params.currency Optional currency to use when reporting on monetary metrics. Defaults to the account's currency if not set. + * @param {string=} params.dimension Dimensions to base the report on. + * @param {string} params.endDate End of the date range to report on in "YYYY-MM-DD" format, inclusive. + * @param {string=} params.filter Filters to be run on the report. + * @param {string=} params.locale Optional locale to use for translating report output to a local language. Defaults to "en_US" if not specified. + * @param {integer=} params.maxResults The maximum number of rows of report data to return. + * @param {string=} params.metric Numeric columns to include in the report. + * @param {string=} params.sort The name of a dimension or metric to sort the resulting report on, optionally prefixed with "+" to sort ascending or "-" to sort descending. If no prefix is specified, the column is sorted ascending. + * @param {string} params.startDate Start of the date range to report on in "YYYY-MM-DD" format, inclusive. + * @param {integer=} params.startIndex Index of the first row of report data to return. + * @param {boolean=} params.useTimezoneReporting Whether the report should be generated in the AdSense account's local timezone. If false default PST/PDT timezone will be used. + * @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 + */ + generate(params?: Params$Resource$Reports$Generate, options?: MethodOptions): AxiosPromise; + generate(params: Params$Resource$Reports$Generate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + generate(params: Params$Resource$Reports$Generate, callback: BodyResponseCallback): void; + generate(callback: BodyResponseCallback): void; + } + interface Params$Resource$Reports$Generate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Accounts upon which to report. + */ + accountId?: string; + /** + * Optional currency to use when reporting on monetary metrics. Defaults to + * the account's currency if not set. + */ + currency?: string; + /** + * Dimensions to base the report on. + */ + dimension?: string; + /** + * End of the date range to report on in "YYYY-MM-DD" format, inclusive. + */ + endDate?: string; + /** + * Filters to be run on the report. + */ + filter?: string; + /** + * Optional locale to use for translating report output to a local language. + * Defaults to "en_US" if not specified. + */ + locale?: string; + /** + * The maximum number of rows of report data to return. + */ + maxResults?: number; + /** + * Numeric columns to include in the report. + */ + metric?: string; + /** + * The name of a dimension or metric to sort the resulting report on, + * optionally prefixed with "+" to sort ascending or "-" to sort descending. + * If no prefix is specified, the column is sorted ascending. + */ + sort?: string; + /** + * Start of the date range to report on in "YYYY-MM-DD" format, inclusive. + */ + startDate?: string; + /** + * Index of the first row of report data to return. + */ + startIndex?: number; + /** + * Whether the report should be generated in the AdSense account's local + * timezone. If false default PST/PDT timezone will be used. + */ + useTimezoneReporting?: boolean; + } + class Resource$Reports$Saved { + root: Adsense; + constructor(root: Adsense); + getRoot(): Adsense; + /** + * adsense.reports.saved.generate + * @desc Generate an AdSense report based on the saved report ID sent in the + * query parameters. + * @alias adsense.reports.saved.generate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.locale Optional locale to use for translating report output to a local language. Defaults to "en_US" if not specified. + * @param {integer=} params.maxResults The maximum number of rows of report data to return. + * @param {string} params.savedReportId The saved report to retrieve. + * @param {integer=} params.startIndex Index of the first row of report data to return. + * @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 + */ + generate(params?: Params$Resource$Reports$Saved$Generate, options?: MethodOptions): AxiosPromise; + generate(params: Params$Resource$Reports$Saved$Generate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + generate(params: Params$Resource$Reports$Saved$Generate, callback: BodyResponseCallback): void; + generate(callback: BodyResponseCallback): void; + /** + * adsense.reports.saved.list + * @desc List all saved reports in this AdSense account. + * @alias adsense.reports.saved.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {integer=} params.maxResults The maximum number of saved reports to include in the response, used for paging. + * @param {string=} params.pageToken A continuation token, used to page through saved reports. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response. + * @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?: Params$Resource$Reports$Saved$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Reports$Saved$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Reports$Saved$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Reports$Saved$Generate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional locale to use for translating report output to a local language. + * Defaults to "en_US" if not specified. + */ + locale?: string; + /** + * The maximum number of rows of report data to return. + */ + maxResults?: number; + /** + * The saved report to retrieve. + */ + savedReportId?: string; + /** + * Index of the first row of report data to return. + */ + startIndex?: number; + } + interface Params$Resource$Reports$Saved$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The maximum number of saved reports to include in the response, used for + * paging. + */ + maxResults?: number; + /** + * A continuation token, used to page through saved reports. To retrieve the + * next page, set this parameter to the value of "nextPageToken" from the + * previous response. + */ + pageToken?: string; + } + class Resource$Savedadstyles { + root: Adsense; + constructor(root: Adsense); + getRoot(): Adsense; + /** + * adsense.savedadstyles.get + * @desc Get a specific saved ad style from the user's account. + * @alias adsense.savedadstyles.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.savedAdStyleId Saved ad style to retrieve. + * @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?: Params$Resource$Savedadstyles$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Savedadstyles$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Savedadstyles$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * adsense.savedadstyles.list + * @desc List all saved ad styles in the user's account. + * @alias adsense.savedadstyles.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {integer=} params.maxResults The maximum number of saved ad styles to include in the response, used for paging. + * @param {string=} params.pageToken A continuation token, used to page through saved ad styles. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response. + * @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?: Params$Resource$Savedadstyles$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Savedadstyles$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Savedadstyles$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Savedadstyles$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Saved ad style to retrieve. + */ + savedAdStyleId?: string; + } + interface Params$Resource$Savedadstyles$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The maximum number of saved ad styles to include in the response, used + * for paging. + */ + maxResults?: number; + /** + * A continuation token, used to page through saved ad styles. To retrieve + * the next page, set this parameter to the value of "nextPageToken" from + * the previous response. + */ + pageToken?: string; + } + class Resource$Urlchannels { + root: Adsense; + constructor(root: Adsense); + getRoot(): Adsense; + /** + * adsense.urlchannels.list + * @desc List all URL channels in the specified ad client for this AdSense + * account. + * @alias adsense.urlchannels.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.adClientId Ad client for which to list URL channels. + * @param {integer=} params.maxResults The maximum number of URL channels to include in the response, used for paging. + * @param {string=} params.pageToken A continuation token, used to page through URL channels. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response. + * @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?: Params$Resource$Urlchannels$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Urlchannels$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Urlchannels$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Urlchannels$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Ad client for which to list URL channels. + */ + adClientId?: string; + /** + * The maximum number of URL channels to include in the response, used for + * paging. + */ + maxResults?: number; + /** + * A continuation token, used to page through URL channels. To retrieve the + * next page, set this parameter to the value of "nextPageToken" from the + * previous response. + */ + pageToken?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/adsense/v1.4.js b/express-server/node_modules/googleapis/build/src/apis/adsense/v1.4.js new file mode 100644 index 00000000..52eeb094 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/adsense/v1.4.js @@ -0,0 +1,1568 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var adsense_v1_4; +(function (adsense_v1_4) { + /** + * AdSense Management API + * + * Accesses AdSense publishers' inventory and generates performance + * reports. + * + * @example + * const {google} = require('googleapis'); + * const adsense = google.adsense('v1.4'); + * + * @namespace adsense + * @type {Function} + * @version v1.4 + * @variation v1.4 + * @param {object=} options Options for Adsense + */ + class Adsense { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.accounts = new Resource$Accounts(this); + this.adclients = new Resource$Adclients(this); + this.adunits = new Resource$Adunits(this); + this.alerts = new Resource$Alerts(this); + this.customchannels = new Resource$Customchannels(this); + this.metadata = new Resource$Metadata(this); + this.payments = new Resource$Payments(this); + this.reports = new Resource$Reports(this); + this.savedadstyles = new Resource$Savedadstyles(this); + this.urlchannels = new Resource$Urlchannels(this); + } + getRoot() { + return this.root; + } + } + adsense_v1_4.Adsense = Adsense; + class Resource$Accounts { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.adclients = new Resource$Accounts$Adclients(root); + this.adunits = new Resource$Accounts$Adunits(root); + this.alerts = new Resource$Accounts$Alerts(root); + this.customchannels = new Resource$Accounts$Customchannels(root); + this.payments = new Resource$Accounts$Payments(root); + this.reports = new Resource$Accounts$Reports(root); + this.savedadstyles = new Resource$Accounts$Savedadstyles(root); + this.urlchannels = new Resource$Accounts$Urlchannels(root); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adsense/v1.4/accounts/{accountId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId'], + pathParams: ['accountId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adsense/v1.4/accounts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adsense_v1_4.Resource$Accounts = Resource$Accounts; + class Resource$Accounts$Adclients { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + getAdCode(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adsense/v1.4/accounts/{accountId}/adclients/{adClientId}/adcode') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'adClientId'], + pathParams: ['accountId', 'adClientId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adsense/v1.4/accounts/{accountId}/adclients') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId'], + pathParams: ['accountId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adsense_v1_4.Resource$Accounts$Adclients = Resource$Accounts$Adclients; + class Resource$Accounts$Adunits { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.customchannels = new Resource$Accounts$Adunits$Customchannels(root); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adsense/v1.4/accounts/{accountId}/adclients/{adClientId}/adunits/{adUnitId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'adClientId', 'adUnitId'], + pathParams: ['accountId', 'adClientId', 'adUnitId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getAdCode(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adsense/v1.4/accounts/{accountId}/adclients/{adClientId}/adunits/{adUnitId}/adcode') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'adClientId', 'adUnitId'], + pathParams: ['accountId', 'adClientId', 'adUnitId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adsense/v1.4/accounts/{accountId}/adclients/{adClientId}/adunits') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'adClientId'], + pathParams: ['accountId', 'adClientId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adsense_v1_4.Resource$Accounts$Adunits = Resource$Accounts$Adunits; + class Resource$Accounts$Adunits$Customchannels { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adsense/v1.4/accounts/{accountId}/adclients/{adClientId}/adunits/{adUnitId}/customchannels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'adClientId', 'adUnitId'], + pathParams: ['accountId', 'adClientId', 'adUnitId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adsense_v1_4.Resource$Accounts$Adunits$Customchannels = Resource$Accounts$Adunits$Customchannels; + class Resource$Accounts$Alerts { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adsense/v1.4/accounts/{accountId}/alerts/{alertId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['accountId', 'alertId'], + pathParams: ['accountId', 'alertId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adsense/v1.4/accounts/{accountId}/alerts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId'], + pathParams: ['accountId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adsense_v1_4.Resource$Accounts$Alerts = Resource$Accounts$Alerts; + class Resource$Accounts$Customchannels { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.adunits = new Resource$Accounts$Customchannels$Adunits(root); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adsense/v1.4/accounts/{accountId}/adclients/{adClientId}/customchannels/{customChannelId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'adClientId', 'customChannelId'], + pathParams: ['accountId', 'adClientId', 'customChannelId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adsense/v1.4/accounts/{accountId}/adclients/{adClientId}/customchannels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'adClientId'], + pathParams: ['accountId', 'adClientId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adsense_v1_4.Resource$Accounts$Customchannels = Resource$Accounts$Customchannels; + class Resource$Accounts$Customchannels$Adunits { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adsense/v1.4/accounts/{accountId}/adclients/{adClientId}/customchannels/{customChannelId}/adunits') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'adClientId', 'customChannelId'], + pathParams: ['accountId', 'adClientId', 'customChannelId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adsense_v1_4.Resource$Accounts$Customchannels$Adunits = Resource$Accounts$Customchannels$Adunits; + class Resource$Accounts$Payments { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adsense/v1.4/accounts/{accountId}/payments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId'], + pathParams: ['accountId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adsense_v1_4.Resource$Accounts$Payments = Resource$Accounts$Payments; + class Resource$Accounts$Reports { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.saved = new Resource$Accounts$Reports$Saved(root); + } + getRoot() { + return this.root; + } + generate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adsense/v1.4/accounts/{accountId}/reports') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'startDate', 'endDate'], + pathParams: ['accountId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adsense_v1_4.Resource$Accounts$Reports = Resource$Accounts$Reports; + class Resource$Accounts$Reports$Saved { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + generate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adsense/v1.4/accounts/{accountId}/reports/{savedReportId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'savedReportId'], + pathParams: ['accountId', 'savedReportId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adsense/v1.4/accounts/{accountId}/reports/saved') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId'], + pathParams: ['accountId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adsense_v1_4.Resource$Accounts$Reports$Saved = Resource$Accounts$Reports$Saved; + class Resource$Accounts$Savedadstyles { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adsense/v1.4/accounts/{accountId}/savedadstyles/{savedAdStyleId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'savedAdStyleId'], + pathParams: ['accountId', 'savedAdStyleId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adsense/v1.4/accounts/{accountId}/savedadstyles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId'], + pathParams: ['accountId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adsense_v1_4.Resource$Accounts$Savedadstyles = Resource$Accounts$Savedadstyles; + class Resource$Accounts$Urlchannels { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adsense/v1.4/accounts/{accountId}/adclients/{adClientId}/urlchannels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'adClientId'], + pathParams: ['accountId', 'adClientId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adsense_v1_4.Resource$Accounts$Urlchannels = Resource$Accounts$Urlchannels; + class Resource$Adclients { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adsense/v1.4/adclients') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adsense_v1_4.Resource$Adclients = Resource$Adclients; + class Resource$Adunits { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.customchannels = new Resource$Adunits$Customchannels(root); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adsense/v1.4/adclients/{adClientId}/adunits/{adUnitId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['adClientId', 'adUnitId'], + pathParams: ['adClientId', 'adUnitId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getAdCode(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adsense/v1.4/adclients/{adClientId}/adunits/{adUnitId}/adcode') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['adClientId', 'adUnitId'], + pathParams: ['adClientId', 'adUnitId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adsense/v1.4/adclients/{adClientId}/adunits') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['adClientId'], + pathParams: ['adClientId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adsense_v1_4.Resource$Adunits = Resource$Adunits; + class Resource$Adunits$Customchannels { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adsense/v1.4/adclients/{adClientId}/adunits/{adUnitId}/customchannels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['adClientId', 'adUnitId'], + pathParams: ['adClientId', 'adUnitId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adsense_v1_4.Resource$Adunits$Customchannels = Resource$Adunits$Customchannels; + class Resource$Alerts { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adsense/v1.4/alerts/{alertId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['alertId'], + pathParams: ['alertId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adsense/v1.4/alerts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adsense_v1_4.Resource$Alerts = Resource$Alerts; + class Resource$Customchannels { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.adunits = new Resource$Customchannels$Adunits(root); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adsense/v1.4/adclients/{adClientId}/customchannels/{customChannelId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['adClientId', 'customChannelId'], + pathParams: ['adClientId', 'customChannelId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adsense/v1.4/adclients/{adClientId}/customchannels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['adClientId'], + pathParams: ['adClientId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adsense_v1_4.Resource$Customchannels = Resource$Customchannels; + class Resource$Customchannels$Adunits { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adsense/v1.4/adclients/{adClientId}/customchannels/{customChannelId}/adunits') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['adClientId', 'customChannelId'], + pathParams: ['adClientId', 'customChannelId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adsense_v1_4.Resource$Customchannels$Adunits = Resource$Customchannels$Adunits; + class Resource$Metadata { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.dimensions = new Resource$Metadata$Dimensions(root); + this.metrics = new Resource$Metadata$Metrics(root); + } + getRoot() { + return this.root; + } + } + adsense_v1_4.Resource$Metadata = Resource$Metadata; + class Resource$Metadata$Dimensions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adsense/v1.4/metadata/dimensions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adsense_v1_4.Resource$Metadata$Dimensions = Resource$Metadata$Dimensions; + class Resource$Metadata$Metrics { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adsense/v1.4/metadata/metrics') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adsense_v1_4.Resource$Metadata$Metrics = Resource$Metadata$Metrics; + class Resource$Payments { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adsense/v1.4/payments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adsense_v1_4.Resource$Payments = Resource$Payments; + class Resource$Reports { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.saved = new Resource$Reports$Saved(root); + } + getRoot() { + return this.root; + } + generate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adsense/v1.4/reports') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['startDate', 'endDate'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adsense_v1_4.Resource$Reports = Resource$Reports; + class Resource$Reports$Saved { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + generate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adsense/v1.4/reports/{savedReportId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['savedReportId'], + pathParams: ['savedReportId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adsense/v1.4/reports/saved') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adsense_v1_4.Resource$Reports$Saved = Resource$Reports$Saved; + class Resource$Savedadstyles { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adsense/v1.4/savedadstyles/{savedAdStyleId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['savedAdStyleId'], + pathParams: ['savedAdStyleId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adsense/v1.4/savedadstyles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adsense_v1_4.Resource$Savedadstyles = Resource$Savedadstyles; + class Resource$Urlchannels { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adsense/v1.4/adclients/{adClientId}/urlchannels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['adClientId'], + pathParams: ['adClientId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adsense_v1_4.Resource$Urlchannels = Resource$Urlchannels; +})(adsense_v1_4 = exports.adsense_v1_4 || (exports.adsense_v1_4 = {})); +//# sourceMappingURL=v1.4.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/adsense/v1.4.js.map b/express-server/node_modules/googleapis/build/src/apis/adsense/v1.4.js.map new file mode 100644 index 00000000..767ab95b --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/adsense/v1.4.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.4.js","sourceRoot":"","sources":["../../../../src/apis/adsense/v1.4.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/adsensehost/README.md b/express-server/node_modules/googleapis/build/src/apis/adsensehost/README.md new file mode 100644 index 00000000..01d7c550 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/adsensehost/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/adsensehost + +> Generates performance reports, generates ad codes, and provides publisher management capabilities for AdSense Hosts. + +## Installation + +```sh +$ npm install @google/adsensehost +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/adsensehost/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/adsensehost/index.d.ts new file mode 100644 index 00000000..1a71d7d1 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/adsensehost/index.d.ts @@ -0,0 +1,6 @@ +import { adsensehost_v4_1 } from './v4.1'; +export declare const VERSIONS: { + 'v4.1': typeof adsensehost_v4_1.Adsensehost; +}; +export declare function adsensehost(version: 'v4_1'): adsensehost_v4_1.Adsensehost; +export declare function adsensehost(options: adsensehost_v4_1.Options): adsensehost_v4_1.Adsensehost; diff --git a/express-server/node_modules/googleapis/build/src/apis/adsensehost/index.js b/express-server/node_modules/googleapis/build/src/apis/adsensehost/index.js new file mode 100644 index 00000000..ef3e4bbf --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/adsensehost/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v4_1_1 = require("./v4.1"); +exports.VERSIONS = { + 'v4.1': v4_1_1.adsensehost_v4_1.Adsensehost, +}; +function adsensehost(versionOrOptions) { + return googleapis_common_1.getAPI('adsensehost', versionOrOptions, exports.VERSIONS, this); +} +exports.adsensehost = adsensehost; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/adsensehost/index.js.map b/express-server/node_modules/googleapis/build/src/apis/adsensehost/index.js.map new file mode 100644 index 00000000..aca8d83c --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/adsensehost/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/adsensehost/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,iCAAwC;AAE3B,QAAA,QAAQ,GAAG;IACtB,MAAM,EAAE,uBAAgB,CAAC,WAAW;CACrC,CAAC;AAKF,SAAgB,WAAW,CAEvB,gBAAiD;IACnD,OAAO,0BAAM,CAAI,aAAa,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACpE,CAAC;AAJD,kCAIC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/adsensehost/package.json b/express-server/node_modules/googleapis/build/src/apis/adsensehost/package.json new file mode 100644 index 00000000..e32ac725 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/adsensehost/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/adsensehost", + "version": "0.1.0", + "description": "adsensehost", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/adsensehost/v4.1.d.ts b/express-server/node_modules/googleapis/build/src/apis/adsensehost/v4.1.d.ts new file mode 100644 index 00000000..654eb0ce --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/adsensehost/v4.1.d.ts @@ -0,0 +1,1407 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace adsensehost_v4_1 { + interface Options extends GlobalOptions { + version: 'v4_1'; + } + /** + * AdSense Host API + * + * Generates performance reports, generates ad codes, and provides publisher + * management capabilities for AdSense Hosts. + * + * @example + * const {google} = require('googleapis'); + * const adsensehost = google.adsensehost('v4.1'); + * + * @namespace adsensehost + * @type {Function} + * @version v4.1 + * @variation v4.1 + * @param {object=} options Options for Adsensehost + */ + class Adsensehost { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + accounts: Resource$Accounts; + adclients: Resource$Adclients; + associationsessions: Resource$Associationsessions; + customchannels: Resource$Customchannels; + reports: Resource$Reports; + urlchannels: Resource$Urlchannels; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + interface Schema$Account { + /** + * Unique identifier of this account. + */ + id?: string; + /** + * Kind of resource this is, in this case adsensehost#account. + */ + kind?: string; + /** + * Name of this account. + */ + name?: string; + /** + * Approval status of this account. One of: PENDING, APPROVED, DISABLED. + */ + status?: string; + } + interface Schema$Accounts { + /** + * ETag of this response for caching purposes. + */ + etag?: string; + /** + * The accounts returned in this list response. + */ + items?: Schema$Account[]; + /** + * Kind of list this is, in this case adsensehost#accounts. + */ + kind?: string; + } + interface Schema$AdClient { + /** + * Whether this ad client is opted in to ARC. + */ + arcOptIn?: boolean; + /** + * Unique identifier of this ad client. + */ + id?: string; + /** + * Kind of resource this is, in this case adsensehost#adClient. + */ + kind?: string; + /** + * This ad client's product code, which corresponds to the PRODUCT_CODE + * report dimension. + */ + productCode?: string; + /** + * Whether this ad client supports being reported on. + */ + supportsReporting?: boolean; + } + interface Schema$AdClients { + /** + * ETag of this response for caching purposes. + */ + etag?: string; + /** + * The ad clients returned in this list response. + */ + items?: Schema$AdClient[]; + /** + * Kind of list this is, in this case adsensehost#adClients. + */ + kind?: string; + /** + * Continuation token used to page through ad clients. To retrieve the next + * page of results, set the next request's "pageToken" value + * to this. + */ + nextPageToken?: string; + } + interface Schema$AdCode { + /** + * The ad code snippet. + */ + adCode?: string; + /** + * Kind this is, in this case adsensehost#adCode. + */ + kind?: string; + } + interface Schema$AdStyle { + /** + * The colors included in the style. These are represented as six + * hexadecimal characters, similar to HTML color codes, but without the + * leading hash. + */ + colors?: any; + /** + * The style of the corners in the ad (deprecated: never populated, + * ignored). + */ + corners?: string; + /** + * The font which is included in the style. + */ + font?: any; + /** + * Kind this is, in this case adsensehost#adStyle. + */ + kind?: string; + } + interface Schema$AdUnit { + /** + * Identity code of this ad unit, not necessarily unique across ad clients. + */ + code?: string; + /** + * Settings specific to content ads (AFC) and highend mobile content ads + * (AFMC - deprecated). + */ + contentAdsSettings?: any; + /** + * Custom style information specific to this ad unit. + */ + customStyle?: Schema$AdStyle; + /** + * Unique identifier of this ad unit. This should be considered an opaque + * identifier; it is not safe to rely on it being in any particular format. + */ + id?: string; + /** + * Kind of resource this is, in this case adsensehost#adUnit. + */ + kind?: string; + /** + * Settings specific to WAP mobile content ads (AFMC - deprecated). + */ + mobileContentAdsSettings?: any; + /** + * Name of this ad unit. + */ + name?: string; + /** + * Status of this ad unit. Possible values are: NEW: Indicates that the ad + * unit was created within the last seven days and does not yet have any + * activity associated with it. ACTIVE: Indicates that there has been + * activity on this ad unit in the last seven days. INACTIVE: Indicates + * that there has been no activity on this ad unit in the last seven days. + */ + status?: string; + } + interface Schema$AdUnits { + /** + * ETag of this response for caching purposes. + */ + etag?: string; + /** + * The ad units returned in this list response. + */ + items?: Schema$AdUnit[]; + /** + * Kind of list this is, in this case adsensehost#adUnits. + */ + kind?: string; + /** + * Continuation token used to page through ad units. To retrieve the next + * page of results, set the next request's "pageToken" value + * to this. + */ + nextPageToken?: string; + } + interface Schema$AssociationSession { + /** + * Hosted account id of the associated publisher after association. Present + * if status is ACCEPTED. + */ + accountId?: string; + /** + * Unique identifier of this association session. + */ + id?: string; + /** + * Kind of resource this is, in this case adsensehost#associationSession. + */ + kind?: string; + /** + * The products to associate with the user. Options: AFC, AFG, AFV, AFS + * (deprecated), AFMC (deprecated) + */ + productCodes?: string[]; + /** + * Redirect URL of this association session. Used to redirect users into the + * AdSense association flow. + */ + redirectUrl?: string; + /** + * Status of the completed association, available once the association + * callback token has been verified. One of ACCEPTED, REJECTED, or ERROR. + */ + status?: string; + /** + * The preferred locale of the user themselves when going through the + * AdSense association flow. + */ + userLocale?: string; + /** + * The locale of the user's hosted website. + */ + websiteLocale?: string; + /** + * The URL of the user's hosted website. + */ + websiteUrl?: string; + } + interface Schema$CustomChannel { + /** + * Code of this custom channel, not necessarily unique across ad clients. + */ + code?: string; + /** + * Unique identifier of this custom channel. This should be considered an + * opaque identifier; it is not safe to rely on it being in any particular + * format. + */ + id?: string; + /** + * Kind of resource this is, in this case adsensehost#customChannel. + */ + kind?: string; + /** + * Name of this custom channel. + */ + name?: string; + } + interface Schema$CustomChannels { + /** + * ETag of this response for caching purposes. + */ + etag?: string; + /** + * The custom channels returned in this list response. + */ + items?: Schema$CustomChannel[]; + /** + * Kind of list this is, in this case adsensehost#customChannels. + */ + kind?: string; + /** + * Continuation token used to page through custom channels. To retrieve the + * next page of results, set the next request's "pageToken" + * value to this. + */ + nextPageToken?: string; + } + interface Schema$Report { + /** + * The averages of the report. This is the same length as any other row in + * the report; cells corresponding to dimension columns are empty. + */ + averages?: string[]; + /** + * The header information of the columns requested in the report. This is a + * list of headers; one for each dimension in the request, followed by one + * for each metric in the request. + */ + headers?: any[]; + /** + * Kind this is, in this case adsensehost#report. + */ + kind?: string; + /** + * The output rows of the report. Each row is a list of cells; one for each + * dimension in the request, followed by one for each metric in the request. + * The dimension cells contain strings, and the metric cells contain + * numbers. + */ + rows?: string[][]; + /** + * The total number of rows matched by the report request. Fewer rows may be + * returned in the response due to being limited by the row count requested + * or the report row limit. + */ + totalMatchedRows?: string; + /** + * The totals of the report. This is the same length as any other row in the + * report; cells corresponding to dimension columns are empty. + */ + totals?: string[]; + /** + * Any warnings associated with generation of the report. + */ + warnings?: string[]; + } + interface Schema$UrlChannel { + /** + * Unique identifier of this URL channel. This should be considered an + * opaque identifier; it is not safe to rely on it being in any particular + * format. + */ + id?: string; + /** + * Kind of resource this is, in this case adsensehost#urlChannel. + */ + kind?: string; + /** + * URL Pattern of this URL channel. Does not include "http://" or + * "https://". Example: www.example.com/home + */ + urlPattern?: string; + } + interface Schema$UrlChannels { + /** + * ETag of this response for caching purposes. + */ + etag?: string; + /** + * The URL channels returned in this list response. + */ + items?: Schema$UrlChannel[]; + /** + * Kind of list this is, in this case adsensehost#urlChannels. + */ + kind?: string; + /** + * Continuation token used to page through URL channels. To retrieve the + * next page of results, set the next request's "pageToken" + * value to this. + */ + nextPageToken?: string; + } + class Resource$Accounts { + root: Adsensehost; + adclients: Resource$Accounts$Adclients; + adunits: Resource$Accounts$Adunits; + reports: Resource$Accounts$Reports; + constructor(root: Adsensehost); + getRoot(): Adsensehost; + /** + * adsensehost.accounts.get + * @desc Get information about the selected associated AdSense account. + * @alias adsensehost.accounts.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account to get information about. + * @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?: Params$Resource$Accounts$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accounts$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accounts$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * adsensehost.accounts.list + * @desc List hosted accounts associated with this AdSense account by ad + * client id. + * @alias adsensehost.accounts.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.filterAdClientId Ad clients to list accounts for. + * @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?: Params$Resource$Accounts$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accounts$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accounts$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account to get information about. + */ + accountId?: string; + } + interface Params$Resource$Accounts$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Ad clients to list accounts for. + */ + filterAdClientId?: string; + } + class Resource$Accounts$Adclients { + root: Adsensehost; + constructor(root: Adsensehost); + getRoot(): Adsensehost; + /** + * adsensehost.accounts.adclients.get + * @desc Get information about one of the ad clients in the specified + * publisher's AdSense account. + * @alias adsensehost.accounts.adclients.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account which contains the ad client. + * @param {string} params.adClientId Ad client to get. + * @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?: Params$Resource$Accounts$Adclients$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accounts$Adclients$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accounts$Adclients$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * adsensehost.accounts.adclients.list + * @desc List all hosted ad clients in the specified hosted account. + * @alias adsensehost.accounts.adclients.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account for which to list ad clients. + * @param {integer=} params.maxResults The maximum number of ad clients to include in the response, used for paging. + * @param {string=} params.pageToken A continuation token, used to page through ad clients. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response. + * @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?: Params$Resource$Accounts$Adclients$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accounts$Adclients$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accounts$Adclients$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Adclients$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account which contains the ad client. + */ + accountId?: string; + /** + * Ad client to get. + */ + adClientId?: string; + } + interface Params$Resource$Accounts$Adclients$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account for which to list ad clients. + */ + accountId?: string; + /** + * The maximum number of ad clients to include in the response, used for + * paging. + */ + maxResults?: number; + /** + * A continuation token, used to page through ad clients. To retrieve the + * next page, set this parameter to the value of "nextPageToken" from the + * previous response. + */ + pageToken?: string; + } + class Resource$Accounts$Adunits { + root: Adsensehost; + constructor(root: Adsensehost); + getRoot(): Adsensehost; + /** + * adsensehost.accounts.adunits.delete + * @desc Delete the specified ad unit from the specified publisher AdSense + * account. + * @alias adsensehost.accounts.adunits.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account which contains the ad unit. + * @param {string} params.adClientId Ad client for which to get ad unit. + * @param {string} params.adUnitId Ad unit to delete. + * @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?: Params$Resource$Accounts$Adunits$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Accounts$Adunits$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Accounts$Adunits$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * adsensehost.accounts.adunits.get + * @desc Get the specified host ad unit in this AdSense account. + * @alias adsensehost.accounts.adunits.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account which contains the ad unit. + * @param {string} params.adClientId Ad client for which to get ad unit. + * @param {string} params.adUnitId Ad unit to get. + * @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?: Params$Resource$Accounts$Adunits$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accounts$Adunits$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accounts$Adunits$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * adsensehost.accounts.adunits.getAdCode + * @desc Get ad code for the specified ad unit, attaching the specified host + * custom channels. + * @alias adsensehost.accounts.adunits.getAdCode + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account which contains the ad client. + * @param {string} params.adClientId Ad client with contains the ad unit. + * @param {string} params.adUnitId Ad unit to get the code for. + * @param {string=} params.hostCustomChannelId Host custom channel to attach to the ad code. + * @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 + */ + getAdCode(params?: Params$Resource$Accounts$Adunits$Getadcode, options?: MethodOptions): AxiosPromise; + getAdCode(params: Params$Resource$Accounts$Adunits$Getadcode, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getAdCode(params: Params$Resource$Accounts$Adunits$Getadcode, callback: BodyResponseCallback): void; + getAdCode(callback: BodyResponseCallback): void; + /** + * adsensehost.accounts.adunits.insert + * @desc Insert the supplied ad unit into the specified publisher AdSense + * account. + * @alias adsensehost.accounts.adunits.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account which will contain the ad unit. + * @param {string} params.adClientId Ad client into which to insert the ad unit. + * @param {().AdUnit} 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?: Params$Resource$Accounts$Adunits$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Accounts$Adunits$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Accounts$Adunits$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * adsensehost.accounts.adunits.list + * @desc List all ad units in the specified publisher's AdSense account. + * @alias adsensehost.accounts.adunits.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account which contains the ad client. + * @param {string} params.adClientId Ad client for which to list ad units. + * @param {boolean=} params.includeInactive Whether to include inactive ad units. Default: true. + * @param {integer=} params.maxResults The maximum number of ad units to include in the response, used for paging. + * @param {string=} params.pageToken A continuation token, used to page through ad units. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response. + * @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?: Params$Resource$Accounts$Adunits$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accounts$Adunits$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accounts$Adunits$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * adsensehost.accounts.adunits.patch + * @desc Update the supplied ad unit in the specified publisher AdSense + * account. This method supports patch semantics. + * @alias adsensehost.accounts.adunits.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account which contains the ad client. + * @param {string} params.adClientId Ad client which contains the ad unit. + * @param {string} params.adUnitId Ad unit to get. + * @param {().AdUnit} 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 + */ + patch(params?: Params$Resource$Accounts$Adunits$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Accounts$Adunits$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Accounts$Adunits$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * adsensehost.accounts.adunits.update + * @desc Update the supplied ad unit in the specified publisher AdSense + * account. + * @alias adsensehost.accounts.adunits.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account which contains the ad client. + * @param {string} params.adClientId Ad client which contains the ad unit. + * @param {().AdUnit} 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?: Params$Resource$Accounts$Adunits$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Accounts$Adunits$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Accounts$Adunits$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Adunits$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account which contains the ad unit. + */ + accountId?: string; + /** + * Ad client for which to get ad unit. + */ + adClientId?: string; + /** + * Ad unit to delete. + */ + adUnitId?: string; + } + interface Params$Resource$Accounts$Adunits$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account which contains the ad unit. + */ + accountId?: string; + /** + * Ad client for which to get ad unit. + */ + adClientId?: string; + /** + * Ad unit to get. + */ + adUnitId?: string; + } + interface Params$Resource$Accounts$Adunits$Getadcode { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account which contains the ad client. + */ + accountId?: string; + /** + * Ad client with contains the ad unit. + */ + adClientId?: string; + /** + * Ad unit to get the code for. + */ + adUnitId?: string; + /** + * Host custom channel to attach to the ad code. + */ + hostCustomChannelId?: string; + } + interface Params$Resource$Accounts$Adunits$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account which will contain the ad unit. + */ + accountId?: string; + /** + * Ad client into which to insert the ad unit. + */ + adClientId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AdUnit; + } + interface Params$Resource$Accounts$Adunits$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account which contains the ad client. + */ + accountId?: string; + /** + * Ad client for which to list ad units. + */ + adClientId?: string; + /** + * Whether to include inactive ad units. Default: true. + */ + includeInactive?: boolean; + /** + * The maximum number of ad units to include in the response, used for + * paging. + */ + maxResults?: number; + /** + * A continuation token, used to page through ad units. To retrieve the next + * page, set this parameter to the value of "nextPageToken" from the + * previous response. + */ + pageToken?: string; + } + interface Params$Resource$Accounts$Adunits$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account which contains the ad client. + */ + accountId?: string; + /** + * Ad client which contains the ad unit. + */ + adClientId?: string; + /** + * Ad unit to get. + */ + adUnitId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AdUnit; + } + interface Params$Resource$Accounts$Adunits$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account which contains the ad client. + */ + accountId?: string; + /** + * Ad client which contains the ad unit. + */ + adClientId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AdUnit; + } + class Resource$Accounts$Reports { + root: Adsensehost; + constructor(root: Adsensehost); + getRoot(): Adsensehost; + /** + * adsensehost.accounts.reports.generate + * @desc Generate an AdSense report based on the report request sent in the + * query parameters. Returns the result as JSON; to retrieve output in CSV + * format specify "alt=csv" as a query parameter. + * @alias adsensehost.accounts.reports.generate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Hosted account upon which to report. + * @param {string=} params.dimension Dimensions to base the report on. + * @param {string} params.endDate End of the date range to report on in "YYYY-MM-DD" format, inclusive. + * @param {string=} params.filter Filters to be run on the report. + * @param {string=} params.locale Optional locale to use for translating report output to a local language. Defaults to "en_US" if not specified. + * @param {integer=} params.maxResults The maximum number of rows of report data to return. + * @param {string=} params.metric Numeric columns to include in the report. + * @param {string=} params.sort The name of a dimension or metric to sort the resulting report on, optionally prefixed with "+" to sort ascending or "-" to sort descending. If no prefix is specified, the column is sorted ascending. + * @param {string} params.startDate Start of the date range to report on in "YYYY-MM-DD" format, inclusive. + * @param {integer=} params.startIndex Index of the first row of report data to return. + * @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 + */ + generate(params?: Params$Resource$Accounts$Reports$Generate, options?: MethodOptions): AxiosPromise; + generate(params: Params$Resource$Accounts$Reports$Generate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + generate(params: Params$Resource$Accounts$Reports$Generate, callback: BodyResponseCallback): void; + generate(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Reports$Generate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Hosted account upon which to report. + */ + accountId?: string; + /** + * Dimensions to base the report on. + */ + dimension?: string; + /** + * End of the date range to report on in "YYYY-MM-DD" format, inclusive. + */ + endDate?: string; + /** + * Filters to be run on the report. + */ + filter?: string; + /** + * Optional locale to use for translating report output to a local language. + * Defaults to "en_US" if not specified. + */ + locale?: string; + /** + * The maximum number of rows of report data to return. + */ + maxResults?: number; + /** + * Numeric columns to include in the report. + */ + metric?: string; + /** + * The name of a dimension or metric to sort the resulting report on, + * optionally prefixed with "+" to sort ascending or "-" to sort descending. + * If no prefix is specified, the column is sorted ascending. + */ + sort?: string; + /** + * Start of the date range to report on in "YYYY-MM-DD" format, inclusive. + */ + startDate?: string; + /** + * Index of the first row of report data to return. + */ + startIndex?: number; + } + class Resource$Adclients { + root: Adsensehost; + constructor(root: Adsensehost); + getRoot(): Adsensehost; + /** + * adsensehost.adclients.get + * @desc Get information about one of the ad clients in the Host AdSense + * account. + * @alias adsensehost.adclients.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.adClientId Ad client to get. + * @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?: Params$Resource$Adclients$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Adclients$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Adclients$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * adsensehost.adclients.list + * @desc List all host ad clients in this AdSense account. + * @alias adsensehost.adclients.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {integer=} params.maxResults The maximum number of ad clients to include in the response, used for paging. + * @param {string=} params.pageToken A continuation token, used to page through ad clients. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response. + * @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?: Params$Resource$Adclients$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Adclients$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Adclients$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Adclients$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Ad client to get. + */ + adClientId?: string; + } + interface Params$Resource$Adclients$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The maximum number of ad clients to include in the response, used for + * paging. + */ + maxResults?: number; + /** + * A continuation token, used to page through ad clients. To retrieve the + * next page, set this parameter to the value of "nextPageToken" from the + * previous response. + */ + pageToken?: string; + } + class Resource$Associationsessions { + root: Adsensehost; + constructor(root: Adsensehost); + getRoot(): Adsensehost; + /** + * adsensehost.associationsessions.start + * @desc Create an association session for initiating an association with an + * AdSense user. + * @alias adsensehost.associationsessions.start + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.productCode Products to associate with the user. + * @param {string=} params.userLocale The preferred locale of the user. + * @param {string=} params.websiteLocale The locale of the user's hosted website. + * @param {string} params.websiteUrl The URL of the user's hosted website. + * @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 + */ + start(params?: Params$Resource$Associationsessions$Start, options?: MethodOptions): AxiosPromise; + start(params: Params$Resource$Associationsessions$Start, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + start(params: Params$Resource$Associationsessions$Start, callback: BodyResponseCallback): void; + start(callback: BodyResponseCallback): void; + /** + * adsensehost.associationsessions.verify + * @desc Verify an association session after the association callback + * returns from AdSense signup. + * @alias adsensehost.associationsessions.verify + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.token The token returned to the association callback URL. + * @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 + */ + verify(params?: Params$Resource$Associationsessions$Verify, options?: MethodOptions): AxiosPromise; + verify(params: Params$Resource$Associationsessions$Verify, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + verify(params: Params$Resource$Associationsessions$Verify, callback: BodyResponseCallback): void; + verify(callback: BodyResponseCallback): void; + } + interface Params$Resource$Associationsessions$Start { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Products to associate with the user. + */ + productCode?: string; + /** + * The preferred locale of the user. + */ + userLocale?: string; + /** + * The locale of the user's hosted website. + */ + websiteLocale?: string; + /** + * The URL of the user's hosted website. + */ + websiteUrl?: string; + } + interface Params$Resource$Associationsessions$Verify { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The token returned to the association callback URL. + */ + token?: string; + } + class Resource$Customchannels { + root: Adsensehost; + constructor(root: Adsensehost); + getRoot(): Adsensehost; + /** + * adsensehost.customchannels.delete + * @desc Delete a specific custom channel from the host AdSense account. + * @alias adsensehost.customchannels.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.adClientId Ad client from which to delete the custom channel. + * @param {string} params.customChannelId Custom channel to delete. + * @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?: Params$Resource$Customchannels$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Customchannels$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Customchannels$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * adsensehost.customchannels.get + * @desc Get a specific custom channel from the host AdSense account. + * @alias adsensehost.customchannels.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.adClientId Ad client from which to get the custom channel. + * @param {string} params.customChannelId Custom channel to get. + * @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?: Params$Resource$Customchannels$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Customchannels$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Customchannels$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * adsensehost.customchannels.insert + * @desc Add a new custom channel to the host AdSense account. + * @alias adsensehost.customchannels.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.adClientId Ad client to which the new custom channel will be added. + * @param {().CustomChannel} 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?: Params$Resource$Customchannels$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Customchannels$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Customchannels$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * adsensehost.customchannels.list + * @desc List all host custom channels in this AdSense account. + * @alias adsensehost.customchannels.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.adClientId Ad client for which to list custom channels. + * @param {integer=} params.maxResults The maximum number of custom channels to include in the response, used for paging. + * @param {string=} params.pageToken A continuation token, used to page through custom channels. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response. + * @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?: Params$Resource$Customchannels$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Customchannels$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Customchannels$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * adsensehost.customchannels.patch + * @desc Update a custom channel in the host AdSense account. This method + * supports patch semantics. + * @alias adsensehost.customchannels.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.adClientId Ad client in which the custom channel will be updated. + * @param {string} params.customChannelId Custom channel to get. + * @param {().CustomChannel} 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 + */ + patch(params?: Params$Resource$Customchannels$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Customchannels$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Customchannels$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * adsensehost.customchannels.update + * @desc Update a custom channel in the host AdSense account. + * @alias adsensehost.customchannels.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.adClientId Ad client in which the custom channel will be updated. + * @param {().CustomChannel} 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?: Params$Resource$Customchannels$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Customchannels$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Customchannels$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Customchannels$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Ad client from which to delete the custom channel. + */ + adClientId?: string; + /** + * Custom channel to delete. + */ + customChannelId?: string; + } + interface Params$Resource$Customchannels$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Ad client from which to get the custom channel. + */ + adClientId?: string; + /** + * Custom channel to get. + */ + customChannelId?: string; + } + interface Params$Resource$Customchannels$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Ad client to which the new custom channel will be added. + */ + adClientId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CustomChannel; + } + interface Params$Resource$Customchannels$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Ad client for which to list custom channels. + */ + adClientId?: string; + /** + * The maximum number of custom channels to include in the response, used + * for paging. + */ + maxResults?: number; + /** + * A continuation token, used to page through custom channels. To retrieve + * the next page, set this parameter to the value of "nextPageToken" from + * the previous response. + */ + pageToken?: string; + } + interface Params$Resource$Customchannels$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Ad client in which the custom channel will be updated. + */ + adClientId?: string; + /** + * Custom channel to get. + */ + customChannelId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CustomChannel; + } + interface Params$Resource$Customchannels$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Ad client in which the custom channel will be updated. + */ + adClientId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CustomChannel; + } + class Resource$Reports { + root: Adsensehost; + constructor(root: Adsensehost); + getRoot(): Adsensehost; + /** + * adsensehost.reports.generate + * @desc Generate an AdSense report based on the report request sent in the + * query parameters. Returns the result as JSON; to retrieve output in CSV + * format specify "alt=csv" as a query parameter. + * @alias adsensehost.reports.generate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.dimension Dimensions to base the report on. + * @param {string} params.endDate End of the date range to report on in "YYYY-MM-DD" format, inclusive. + * @param {string=} params.filter Filters to be run on the report. + * @param {string=} params.locale Optional locale to use for translating report output to a local language. Defaults to "en_US" if not specified. + * @param {integer=} params.maxResults The maximum number of rows of report data to return. + * @param {string=} params.metric Numeric columns to include in the report. + * @param {string=} params.sort The name of a dimension or metric to sort the resulting report on, optionally prefixed with "+" to sort ascending or "-" to sort descending. If no prefix is specified, the column is sorted ascending. + * @param {string} params.startDate Start of the date range to report on in "YYYY-MM-DD" format, inclusive. + * @param {integer=} params.startIndex Index of the first row of report data to return. + * @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 + */ + generate(params?: Params$Resource$Reports$Generate, options?: MethodOptions): AxiosPromise; + generate(params: Params$Resource$Reports$Generate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + generate(params: Params$Resource$Reports$Generate, callback: BodyResponseCallback): void; + generate(callback: BodyResponseCallback): void; + } + interface Params$Resource$Reports$Generate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Dimensions to base the report on. + */ + dimension?: string; + /** + * End of the date range to report on in "YYYY-MM-DD" format, inclusive. + */ + endDate?: string; + /** + * Filters to be run on the report. + */ + filter?: string; + /** + * Optional locale to use for translating report output to a local language. + * Defaults to "en_US" if not specified. + */ + locale?: string; + /** + * The maximum number of rows of report data to return. + */ + maxResults?: number; + /** + * Numeric columns to include in the report. + */ + metric?: string; + /** + * The name of a dimension or metric to sort the resulting report on, + * optionally prefixed with "+" to sort ascending or "-" to sort descending. + * If no prefix is specified, the column is sorted ascending. + */ + sort?: string; + /** + * Start of the date range to report on in "YYYY-MM-DD" format, inclusive. + */ + startDate?: string; + /** + * Index of the first row of report data to return. + */ + startIndex?: number; + } + class Resource$Urlchannels { + root: Adsensehost; + constructor(root: Adsensehost); + getRoot(): Adsensehost; + /** + * adsensehost.urlchannels.delete + * @desc Delete a URL channel from the host AdSense account. + * @alias adsensehost.urlchannels.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.adClientId Ad client from which to delete the URL channel. + * @param {string} params.urlChannelId URL channel to delete. + * @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?: Params$Resource$Urlchannels$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Urlchannels$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Urlchannels$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * adsensehost.urlchannels.insert + * @desc Add a new URL channel to the host AdSense account. + * @alias adsensehost.urlchannels.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.adClientId Ad client to which the new URL channel will be added. + * @param {().UrlChannel} 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?: Params$Resource$Urlchannels$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Urlchannels$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Urlchannels$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * adsensehost.urlchannels.list + * @desc List all host URL channels in the host AdSense account. + * @alias adsensehost.urlchannels.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.adClientId Ad client for which to list URL channels. + * @param {integer=} params.maxResults The maximum number of URL channels to include in the response, used for paging. + * @param {string=} params.pageToken A continuation token, used to page through URL channels. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response. + * @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?: Params$Resource$Urlchannels$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Urlchannels$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Urlchannels$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Urlchannels$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Ad client from which to delete the URL channel. + */ + adClientId?: string; + /** + * URL channel to delete. + */ + urlChannelId?: string; + } + interface Params$Resource$Urlchannels$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Ad client to which the new URL channel will be added. + */ + adClientId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UrlChannel; + } + interface Params$Resource$Urlchannels$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Ad client for which to list URL channels. + */ + adClientId?: string; + /** + * The maximum number of URL channels to include in the response, used for + * paging. + */ + maxResults?: number; + /** + * A continuation token, used to page through URL channels. To retrieve the + * next page, set this parameter to the value of "nextPageToken" from the + * previous response. + */ + pageToken?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/adsensehost/v4.1.js b/express-server/node_modules/googleapis/build/src/apis/adsensehost/v4.1.js new file mode 100644 index 00000000..aec2d526 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/adsensehost/v4.1.js @@ -0,0 +1,977 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var adsensehost_v4_1; +(function (adsensehost_v4_1) { + /** + * AdSense Host API + * + * Generates performance reports, generates ad codes, and provides publisher + * management capabilities for AdSense Hosts. + * + * @example + * const {google} = require('googleapis'); + * const adsensehost = google.adsensehost('v4.1'); + * + * @namespace adsensehost + * @type {Function} + * @version v4.1 + * @variation v4.1 + * @param {object=} options Options for Adsensehost + */ + class Adsensehost { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.accounts = new Resource$Accounts(this); + this.adclients = new Resource$Adclients(this); + this.associationsessions = new Resource$Associationsessions(this); + this.customchannels = new Resource$Customchannels(this); + this.reports = new Resource$Reports(this); + this.urlchannels = new Resource$Urlchannels(this); + } + getRoot() { + return this.root; + } + } + adsensehost_v4_1.Adsensehost = Adsensehost; + class Resource$Accounts { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.adclients = new Resource$Accounts$Adclients(root); + this.adunits = new Resource$Accounts$Adunits(root); + this.reports = new Resource$Accounts$Reports(root); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adsensehost/v4.1/accounts/{accountId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId'], + pathParams: ['accountId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adsensehost/v4.1/accounts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['filterAdClientId'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adsensehost_v4_1.Resource$Accounts = Resource$Accounts; + class Resource$Accounts$Adclients { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adsensehost/v4.1/accounts/{accountId}/adclients/{adClientId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'adClientId'], + pathParams: ['accountId', 'adClientId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adsensehost/v4.1/accounts/{accountId}/adclients') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId'], + pathParams: ['accountId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adsensehost_v4_1.Resource$Accounts$Adclients = Resource$Accounts$Adclients; + class Resource$Accounts$Adunits { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adsensehost/v4.1/accounts/{accountId}/adclients/{adClientId}/adunits/{adUnitId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['accountId', 'adClientId', 'adUnitId'], + pathParams: ['accountId', 'adClientId', 'adUnitId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adsensehost/v4.1/accounts/{accountId}/adclients/{adClientId}/adunits/{adUnitId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'adClientId', 'adUnitId'], + pathParams: ['accountId', 'adClientId', 'adUnitId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getAdCode(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adsensehost/v4.1/accounts/{accountId}/adclients/{adClientId}/adunits/{adUnitId}/adcode') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'adClientId', 'adUnitId'], + pathParams: ['accountId', 'adClientId', 'adUnitId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adsensehost/v4.1/accounts/{accountId}/adclients/{adClientId}/adunits') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['accountId', 'adClientId'], + pathParams: ['accountId', 'adClientId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adsensehost/v4.1/accounts/{accountId}/adclients/{adClientId}/adunits') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'adClientId'], + pathParams: ['accountId', 'adClientId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adsensehost/v4.1/accounts/{accountId}/adclients/{adClientId}/adunits') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['accountId', 'adClientId', 'adUnitId'], + pathParams: ['accountId', 'adClientId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adsensehost/v4.1/accounts/{accountId}/adclients/{adClientId}/adunits') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['accountId', 'adClientId'], + pathParams: ['accountId', 'adClientId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adsensehost_v4_1.Resource$Accounts$Adunits = Resource$Accounts$Adunits; + class Resource$Accounts$Reports { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + generate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adsensehost/v4.1/accounts/{accountId}/reports') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'startDate', 'endDate'], + pathParams: ['accountId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adsensehost_v4_1.Resource$Accounts$Reports = Resource$Accounts$Reports; + class Resource$Adclients { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adsensehost/v4.1/adclients/{adClientId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['adClientId'], + pathParams: ['adClientId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adsensehost/v4.1/adclients') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adsensehost_v4_1.Resource$Adclients = Resource$Adclients; + class Resource$Associationsessions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + start(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adsensehost/v4.1/associationsessions/start') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['productCode', 'websiteUrl'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + verify(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adsensehost/v4.1/associationsessions/verify') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['token'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adsensehost_v4_1.Resource$Associationsessions = Resource$Associationsessions; + class Resource$Customchannels { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adsensehost/v4.1/adclients/{adClientId}/customchannels/{customChannelId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['adClientId', 'customChannelId'], + pathParams: ['adClientId', 'customChannelId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adsensehost/v4.1/adclients/{adClientId}/customchannels/{customChannelId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['adClientId', 'customChannelId'], + pathParams: ['adClientId', 'customChannelId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adsensehost/v4.1/adclients/{adClientId}/customchannels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['adClientId'], + pathParams: ['adClientId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adsensehost/v4.1/adclients/{adClientId}/customchannels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['adClientId'], + pathParams: ['adClientId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adsensehost/v4.1/adclients/{adClientId}/customchannels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['adClientId', 'customChannelId'], + pathParams: ['adClientId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adsensehost/v4.1/adclients/{adClientId}/customchannels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['adClientId'], + pathParams: ['adClientId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adsensehost_v4_1.Resource$Customchannels = Resource$Customchannels; + class Resource$Reports { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + generate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/adsensehost/v4.1/reports') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['startDate', 'endDate'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adsensehost_v4_1.Resource$Reports = Resource$Reports; + class Resource$Urlchannels { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adsensehost/v4.1/adclients/{adClientId}/urlchannels/{urlChannelId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['adClientId', 'urlChannelId'], + pathParams: ['adClientId', 'urlChannelId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adsensehost/v4.1/adclients/{adClientId}/urlchannels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['adClientId'], + pathParams: ['adClientId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/adsensehost/v4.1/adclients/{adClientId}/urlchannels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['adClientId'], + pathParams: ['adClientId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + adsensehost_v4_1.Resource$Urlchannels = Resource$Urlchannels; +})(adsensehost_v4_1 = exports.adsensehost_v4_1 || (exports.adsensehost_v4_1 = {})); +//# sourceMappingURL=v4.1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/adsensehost/v4.1.js.map b/express-server/node_modules/googleapis/build/src/apis/adsensehost/v4.1.js.map new file mode 100644 index 00000000..dec6e35e --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/adsensehost/v4.1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v4.1.js","sourceRoot":"","sources":["../../../../src/apis/adsensehost/v4.1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/analytics/README.md b/express-server/node_modules/googleapis/build/src/apis/analytics/README.md new file mode 100644 index 00000000..4016234f --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/analytics/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/analytics + +> Views and manages your Google Analytics data. + +## Installation + +```sh +$ npm install @google/analytics +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/analytics/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/analytics/index.d.ts new file mode 100644 index 00000000..a0b3a84e --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/analytics/index.d.ts @@ -0,0 +1,10 @@ +import { analytics_v2_4 } from './v2.4'; +import { analytics_v3 } from './v3'; +export declare const VERSIONS: { + 'v2.4': typeof analytics_v2_4.Analytics; + 'v3': typeof analytics_v3.Analytics; +}; +export declare function analytics(version: 'v2_4'): analytics_v2_4.Analytics; +export declare function analytics(options: analytics_v2_4.Options): analytics_v2_4.Analytics; +export declare function analytics(version: 'v3'): analytics_v3.Analytics; +export declare function analytics(options: analytics_v3.Options): analytics_v3.Analytics; diff --git a/express-server/node_modules/googleapis/build/src/apis/analytics/index.js b/express-server/node_modules/googleapis/build/src/apis/analytics/index.js new file mode 100644 index 00000000..95a05546 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/analytics/index.js @@ -0,0 +1,27 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v2_4_1 = require("./v2.4"); +const v3_1 = require("./v3"); +exports.VERSIONS = { + 'v2.4': v2_4_1.analytics_v2_4.Analytics, + 'v3': v3_1.analytics_v3.Analytics, +}; +function analytics(versionOrOptions) { + return googleapis_common_1.getAPI('analytics', versionOrOptions, exports.VERSIONS, this); +} +exports.analytics = analytics; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/analytics/index.js.map b/express-server/node_modules/googleapis/build/src/apis/analytics/index.js.map new file mode 100644 index 00000000..08ce6712 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/analytics/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/analytics/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,iCAAsC;AACtC,6BAAkC;AAErB,QAAA,QAAQ,GAAG;IACtB,MAAM,EAAE,qBAAc,CAAC,SAAS;IAChC,IAAI,EAAE,iBAAY,CAAC,SAAS;CAC7B,CAAC;AAQF,SACA,SAAS,CAEL,gBAAyE;IAC3E,OAAO,0BAAM,CAAI,WAAW,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAClE,CAAC;AALD,8BAKC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/analytics/package.json b/express-server/node_modules/googleapis/build/src/apis/analytics/package.json new file mode 100644 index 00000000..5dfa4bd8 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/analytics/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/analytics", + "version": "0.1.0", + "description": "analytics", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/analytics/v2.4.d.ts b/express-server/node_modules/googleapis/build/src/apis/analytics/v2.4.d.ts new file mode 100644 index 00000000..9d50ee75 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/analytics/v2.4.d.ts @@ -0,0 +1,368 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace analytics_v2_4 { + interface Options extends GlobalOptions { + version: 'v2_4'; + } + /** + * Google Analytics API + * + * Views and manages your Google Analytics data. + * + * @example + * const {google} = require('googleapis'); + * const analytics = google.analytics('v2.4'); + * + * @namespace analytics + * @type {Function} + * @version v2.4 + * @variation v2.4 + * @param {object=} options Options for Analytics + */ + class Analytics { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + data: Resource$Data; + management: Resource$Management; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + class Resource$Data { + root: Analytics; + constructor(root: Analytics); + getRoot(): Analytics; + /** + * analytics.data.get + * @desc Returns Analytics report data for a view (profile). + * @alias analytics.data.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.dimensions A comma-separated list of Analytics dimensions. E.g., 'ga:browser,ga:city'. + * @param {string} params.end-date End date for fetching report data. All requests should specify an end date formatted as YYYY-MM-DD. + * @param {string=} params.filters A comma-separated list of dimension or metric filters to be applied to the report data. + * @param {string} params.ids Unique table ID for retrieving report data. Table ID is of the form ga:XXXX, where XXXX is the Analytics view (profile) ID. + * @param {integer=} params.max-results The maximum number of entries to include in this feed. + * @param {string} params.metrics A comma-separated list of Analytics metrics. E.g., 'ga:sessions,ga:pageviews'. At least one metric must be specified to retrieve a valid Analytics report. + * @param {string=} params.segment An Analytics advanced segment to be applied to the report data. + * @param {string=} params.sort A comma-separated list of dimensions or metrics that determine the sort order for the report data. + * @param {string} params.start-date Start date for fetching report data. All requests should specify a start date formatted as YYYY-MM-DD. + * @param {integer=} params.start-index An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. + * @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?: Params$Resource$Data$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Data$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Data$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Data$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A comma-separated list of Analytics dimensions. E.g., + * 'ga:browser,ga:city'. + */ + dimensions?: string; + /** + * End date for fetching report data. All requests should specify an end + * date formatted as YYYY-MM-DD. + */ + 'end-date'?: string; + /** + * A comma-separated list of dimension or metric filters to be applied to + * the report data. + */ + filters?: string; + /** + * Unique table ID for retrieving report data. Table ID is of the form + * ga:XXXX, where XXXX is the Analytics view (profile) ID. + */ + ids?: string; + /** + * The maximum number of entries to include in this feed. + */ + 'max-results'?: number; + /** + * A comma-separated list of Analytics metrics. E.g., + * 'ga:sessions,ga:pageviews'. At least one metric must be specified to + * retrieve a valid Analytics report. + */ + metrics?: string; + /** + * An Analytics advanced segment to be applied to the report data. + */ + segment?: string; + /** + * A comma-separated list of dimensions or metrics that determine the sort + * order for the report data. + */ + sort?: string; + /** + * Start date for fetching report data. All requests should specify a start + * date formatted as YYYY-MM-DD. + */ + 'start-date'?: string; + /** + * An index of the first entity to retrieve. Use this parameter as a + * pagination mechanism along with the max-results parameter. + */ + 'start-index'?: number; + } + class Resource$Management { + root: Analytics; + accounts: Resource$Management$Accounts; + goals: Resource$Management$Goals; + profiles: Resource$Management$Profiles; + segments: Resource$Management$Segments; + webproperties: Resource$Management$Webproperties; + constructor(root: Analytics); + getRoot(): Analytics; + } + class Resource$Management$Accounts { + root: Analytics; + constructor(root: Analytics); + getRoot(): Analytics; + /** + * analytics.management.accounts.list + * @desc Lists all accounts to which the user has access. + * @alias analytics.management.accounts.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {integer=} params.max-results The maximum number of accounts to include in this response. + * @param {integer=} params.start-index An index of the first account to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. + * @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?: Params$Resource$Management$Accounts$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Management$Accounts$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Management$Accounts$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Management$Accounts$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The maximum number of accounts to include in this response. + */ + 'max-results'?: number; + /** + * An index of the first account to retrieve. Use this parameter as a + * pagination mechanism along with the max-results parameter. + */ + 'start-index'?: number; + } + class Resource$Management$Goals { + root: Analytics; + constructor(root: Analytics); + getRoot(): Analytics; + /** + * analytics.management.goals.list + * @desc Lists goals to which the user has access. + * @alias analytics.management.goals.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID to retrieve goals for. Can either be a specific account ID or '~all', which refers to all the accounts that user has access to. + * @param {integer=} params.max-results The maximum number of goals to include in this response. + * @param {string} params.profileId View (Profile) ID to retrieve goals for. Can either be a specific view (profile) ID or '~all', which refers to all the views (profiles) that user has access to. + * @param {integer=} params.start-index An index of the first goal to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. + * @param {string} params.webPropertyId Web property ID to retrieve goals for. Can either be a specific web property ID or '~all', which refers to all the web properties that user has access to. + * @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?: Params$Resource$Management$Goals$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Management$Goals$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Management$Goals$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Management$Goals$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID to retrieve goals for. Can either be a specific account ID or + * '~all', which refers to all the accounts that user has access to. + */ + accountId?: string; + /** + * The maximum number of goals to include in this response. + */ + 'max-results'?: number; + /** + * View (Profile) ID to retrieve goals for. Can either be a specific view + * (profile) ID or '~all', which refers to all the views (profiles) that + * user has access to. + */ + profileId?: string; + /** + * An index of the first goal to retrieve. Use this parameter as a + * pagination mechanism along with the max-results parameter. + */ + 'start-index'?: number; + /** + * Web property ID to retrieve goals for. Can either be a specific web + * property ID or '~all', which refers to all the web properties that user + * has access to. + */ + webPropertyId?: string; + } + class Resource$Management$Profiles { + root: Analytics; + constructor(root: Analytics); + getRoot(): Analytics; + /** + * analytics.management.profiles.list + * @desc Lists views (profiles) to which the user has access. + * @alias analytics.management.profiles.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID for the views (profiles) to retrieve. Can either be a specific account ID or '~all', which refers to all the accounts to which the user has access. + * @param {integer=} params.max-results The maximum number of views (profiles) to include in this response. + * @param {integer=} params.start-index An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. + * @param {string} params.webPropertyId Web property ID for the views (profiles) to retrieve. Can either be a specific web property ID or '~all', which refers to all the web properties to which the user has access. + * @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?: Params$Resource$Management$Profiles$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Management$Profiles$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Management$Profiles$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Management$Profiles$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID for the views (profiles) to retrieve. Can either be a specific + * account ID or '~all', which refers to all the accounts to which the user + * has access. + */ + accountId?: string; + /** + * The maximum number of views (profiles) to include in this response. + */ + 'max-results'?: number; + /** + * An index of the first entity to retrieve. Use this parameter as a + * pagination mechanism along with the max-results parameter. + */ + 'start-index'?: number; + /** + * Web property ID for the views (profiles) to retrieve. Can either be a + * specific web property ID or '~all', which refers to all the web + * properties to which the user has access. + */ + webPropertyId?: string; + } + class Resource$Management$Segments { + root: Analytics; + constructor(root: Analytics); + getRoot(): Analytics; + /** + * analytics.management.segments.list + * @desc Lists advanced segments to which the user has access. + * @alias analytics.management.segments.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {integer=} params.max-results The maximum number of advanced segments to include in this response. + * @param {integer=} params.start-index An index of the first advanced segment to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. + * @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?: Params$Resource$Management$Segments$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Management$Segments$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Management$Segments$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Management$Segments$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The maximum number of advanced segments to include in this response. + */ + 'max-results'?: number; + /** + * An index of the first advanced segment to retrieve. Use this parameter as + * a pagination mechanism along with the max-results parameter. + */ + 'start-index'?: number; + } + class Resource$Management$Webproperties { + root: Analytics; + constructor(root: Analytics); + getRoot(): Analytics; + /** + * analytics.management.webproperties.list + * @desc Lists web properties to which the user has access. + * @alias analytics.management.webproperties.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID to retrieve web properties for. Can either be a specific account ID or '~all', which refers to all the accounts that user has access to. + * @param {integer=} params.max-results The maximum number of web properties to include in this response. + * @param {integer=} params.start-index An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. + * @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?: Params$Resource$Management$Webproperties$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Management$Webproperties$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Management$Webproperties$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Management$Webproperties$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID to retrieve web properties for. Can either be a specific + * account ID or '~all', which refers to all the accounts that user has + * access to. + */ + accountId?: string; + /** + * The maximum number of web properties to include in this response. + */ + 'max-results'?: number; + /** + * An index of the first entity to retrieve. Use this parameter as a + * pagination mechanism along with the max-results parameter. + */ + 'start-index'?: number; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/analytics/v2.4.js b/express-server/node_modules/googleapis/build/src/apis/analytics/v2.4.js new file mode 100644 index 00000000..1028ceb7 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/analytics/v2.4.js @@ -0,0 +1,320 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var analytics_v2_4; +(function (analytics_v2_4) { + /** + * Google Analytics API + * + * Views and manages your Google Analytics data. + * + * @example + * const {google} = require('googleapis'); + * const analytics = google.analytics('v2.4'); + * + * @namespace analytics + * @type {Function} + * @version v2.4 + * @variation v2.4 + * @param {object=} options Options for Analytics + */ + class Analytics { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.data = new Resource$Data(this); + this.management = new Resource$Management(this); + } + getRoot() { + return this.root; + } + } + analytics_v2_4.Analytics = Analytics; + class Resource$Data { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/analytics/v2.4/data') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['ids', 'start-date', 'end-date', 'metrics'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + analytics_v2_4.Resource$Data = Resource$Data; + class Resource$Management { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.accounts = new Resource$Management$Accounts(root); + this.goals = new Resource$Management$Goals(root); + this.profiles = new Resource$Management$Profiles(root); + this.segments = new Resource$Management$Segments(root); + this.webproperties = new Resource$Management$Webproperties(root); + } + getRoot() { + return this.root; + } + } + analytics_v2_4.Resource$Management = Resource$Management; + class Resource$Management$Accounts { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/analytics/v2.4/management/accounts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + analytics_v2_4.Resource$Management$Accounts = Resource$Management$Accounts; + class Resource$Management$Goals { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v2.4/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId', 'profileId'], + pathParams: ['accountId', 'profileId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + analytics_v2_4.Resource$Management$Goals = Resource$Management$Goals; + class Resource$Management$Profiles { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v2.4/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId'], + pathParams: ['accountId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + analytics_v2_4.Resource$Management$Profiles = Resource$Management$Profiles; + class Resource$Management$Segments { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/analytics/v2.4/management/segments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + analytics_v2_4.Resource$Management$Segments = Resource$Management$Segments; + class Resource$Management$Webproperties { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v2.4/management/accounts/{accountId}/webproperties') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId'], + pathParams: ['accountId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + analytics_v2_4.Resource$Management$Webproperties = Resource$Management$Webproperties; +})(analytics_v2_4 = exports.analytics_v2_4 || (exports.analytics_v2_4 = {})); +//# sourceMappingURL=v2.4.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/analytics/v2.4.js.map b/express-server/node_modules/googleapis/build/src/apis/analytics/v2.4.js.map new file mode 100644 index 00000000..3792fbe1 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/analytics/v2.4.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v2.4.js","sourceRoot":"","sources":["../../../../src/apis/analytics/v2.4.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/analytics/v3.d.ts b/express-server/node_modules/googleapis/build/src/apis/analytics/v3.d.ts new file mode 100644 index 00000000..5bbf4508 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/analytics/v3.d.ts @@ -0,0 +1,6388 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace analytics_v3 { + interface Options extends GlobalOptions { + version: 'v3'; + } + /** + * Google Analytics API + * + * Views and manages your Google Analytics data. + * + * @example + * const {google} = require('googleapis'); + * const analytics = google.analytics('v3'); + * + * @namespace analytics + * @type {Function} + * @version v3 + * @variation v3 + * @param {object=} options Options for Analytics + */ + class Analytics { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + data: Resource$Data; + management: Resource$Management; + metadata: Resource$Metadata; + provisioning: Resource$Provisioning; + userDeletion: Resource$Userdeletion; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * JSON template for Analytics account entry. + */ + interface Schema$Account { + /** + * Child link for an account entry. Points to the list of web properties for + * this account. + */ + childLink?: any; + /** + * Time the account was created. + */ + created?: string; + /** + * Account ID. + */ + id?: string; + /** + * Resource type for Analytics account. + */ + kind?: string; + /** + * Account name. + */ + name?: string; + /** + * Permissions the user has for this account. + */ + permissions?: any; + /** + * Link for this account. + */ + selfLink?: string; + /** + * Indicates whether this account is starred or not. + */ + starred?: boolean; + /** + * Time the account was last modified. + */ + updated?: string; + } + /** + * JSON template for a linked account. + */ + interface Schema$AccountRef { + /** + * Link for this account. + */ + href?: string; + /** + * Account ID. + */ + id?: string; + /** + * Analytics account reference. + */ + kind?: string; + /** + * Account name. + */ + name?: string; + } + /** + * An account collection provides a list of Analytics accounts to which a user + * has access. The account collection is the entry point to all management + * information. Each resource in the collection corresponds to a single + * Analytics account. + */ + interface Schema$Accounts { + /** + * A list of accounts. + */ + items?: Schema$Account[]; + /** + * The maximum number of entries the response can contain, regardless of the + * actual number of entries returned. Its value ranges from 1 to 1000 with a + * value of 1000 by default, or otherwise specified by the max-results query + * parameter. + */ + itemsPerPage?: number; + /** + * Collection type. + */ + kind?: string; + /** + * Next link for this account collection. + */ + nextLink?: string; + /** + * Previous link for this account collection. + */ + previousLink?: string; + /** + * The starting index of the entries, which is 1 by default or otherwise + * specified by the start-index query parameter. + */ + startIndex?: number; + /** + * The total number of results for the query, regardless of the number of + * results in the response. + */ + totalResults?: number; + /** + * Email ID of the authenticated user + */ + username?: string; + } + /** + * An AccountSummary collection lists a summary of accounts, properties and + * views (profiles) to which the user has access. Each resource in the + * collection corresponds to a single AccountSummary. + */ + interface Schema$AccountSummaries { + /** + * A list of AccountSummaries. + */ + items?: Schema$AccountSummary[]; + /** + * The maximum number of resources the response can contain, regardless of + * the actual number of resources returned. Its value ranges from 1 to 1000 + * with a value of 1000 by default, or otherwise specified by the + * max-results query parameter. + */ + itemsPerPage?: number; + /** + * Collection type. + */ + kind?: string; + /** + * Link to next page for this AccountSummary collection. + */ + nextLink?: string; + /** + * Link to previous page for this AccountSummary collection. + */ + previousLink?: string; + /** + * The starting index of the resources, which is 1 by default or otherwise + * specified by the start-index query parameter. + */ + startIndex?: number; + /** + * The total number of results for the query, regardless of the number of + * results in the response. + */ + totalResults?: number; + /** + * Email ID of the authenticated user + */ + username?: string; + } + /** + * JSON template for an Analytics AccountSummary. An AccountSummary is a + * lightweight tree comprised of properties/profiles. + */ + interface Schema$AccountSummary { + /** + * Account ID. + */ + id?: string; + /** + * Resource type for Analytics AccountSummary. + */ + kind?: string; + /** + * Account name. + */ + name?: string; + /** + * Indicates whether this account is starred or not. + */ + starred?: boolean; + /** + * List of web properties under this account. + */ + webProperties?: Schema$WebPropertySummary[]; + } + /** + * JSON template for an Analytics account ticket. The account ticket consists + * of the ticket ID and the basic information for the account, property and + * profile. + */ + interface Schema$AccountTicket { + /** + * Account for this ticket. + */ + account?: Schema$Account; + /** + * Account ticket ID used to access the account ticket. + */ + id?: string; + /** + * Resource type for account ticket. + */ + kind?: string; + /** + * View (Profile) for the account. + */ + profile?: Schema$Profile; + /** + * Redirect URI where the user will be sent after accepting Terms of + * Service. Must be configured in APIs console as a callback URL. + */ + redirectUri?: string; + /** + * Web property for the account. + */ + webproperty?: Schema$Webproperty; + } + /** + * JSON template for an Analytics account tree requests. The account tree + * request is used in the provisioning api to create an account, property, and + * view (profile). It contains the basic information required to make these + * fields. + */ + interface Schema$AccountTreeRequest { + accountName?: string; + accountSettings?: any; + /** + * Resource type for account ticket. + */ + kind?: string; + profileName?: string; + timezone?: string; + webpropertyName?: string; + websiteUrl?: string; + } + /** + * JSON template for an Analytics account tree response. The account tree + * response is used in the provisioning api to return the result of creating + * an account, property, and view (profile). + */ + interface Schema$AccountTreeResponse { + /** + * The account created. + */ + account?: Schema$Account; + accountSettings?: any; + /** + * Resource type for account ticket. + */ + kind?: string; + /** + * View (Profile) for the account. + */ + profile?: Schema$Profile; + /** + * Web property for the account. + */ + webproperty?: Schema$Webproperty; + } + /** + * JSON template for an AdWords account. + */ + interface Schema$AdWordsAccount { + /** + * True if auto-tagging is enabled on the AdWords account. Read-only after + * the insert operation. + */ + autoTaggingEnabled?: boolean; + /** + * Customer ID. This field is required when creating an AdWords link. + */ + customerId?: string; + /** + * Resource type for AdWords account. + */ + kind?: string; + } + /** + * Request template for the delete upload data request. + */ + interface Schema$AnalyticsDataimportDeleteUploadDataRequest { + /** + * A list of upload UIDs. + */ + customDataImportUids?: string[]; + } + /** + * JSON template for a metadata column. + */ + interface Schema$Column { + /** + * Map of attribute name and value for this column. + */ + attributes?: any; + /** + * Column id. + */ + id?: string; + /** + * Resource type for Analytics column. + */ + kind?: string; + } + /** + * Lists columns (dimensions and metrics) for a particular report type. + */ + interface Schema$Columns { + /** + * List of attributes names returned by columns. + */ + attributeNames?: string[]; + /** + * Etag of collection. This etag can be compared with the last response etag + * to check if response has changed. + */ + etag?: string; + /** + * List of columns for a report type. + */ + items?: Schema$Column[]; + /** + * Collection type. + */ + kind?: string; + /** + * Total number of columns returned in the response. + */ + totalResults?: number; + } + /** + * JSON template for an Analytics custom data source. + */ + interface Schema$CustomDataSource { + /** + * Account ID to which this custom data source belongs. + */ + accountId?: string; + childLink?: any; + /** + * Time this custom data source was created. + */ + created?: string; + /** + * Description of custom data source. + */ + description?: string; + /** + * Custom data source ID. + */ + id?: string; + importBehavior?: string; + /** + * Resource type for Analytics custom data source. + */ + kind?: string; + /** + * Name of this custom data source. + */ + name?: string; + /** + * Parent link for this custom data source. Points to the web property to + * which this custom data source belongs. + */ + parentLink?: any; + /** + * IDs of views (profiles) linked to the custom data source. + */ + profilesLinked?: string[]; + /** + * Collection of schema headers of the custom data source. + */ + schema?: string[]; + /** + * Link for this Analytics custom data source. + */ + selfLink?: string; + /** + * Type of the custom data source. + */ + type?: string; + /** + * Time this custom data source was last modified. + */ + updated?: string; + /** + * Upload type of the custom data source. + */ + uploadType?: string; + /** + * Web property ID of the form UA-XXXXX-YY to which this custom data source + * belongs. + */ + webPropertyId?: string; + } + /** + * Lists Analytics custom data sources to which the user has access. Each + * resource in the collection corresponds to a single Analytics custom data + * source. + */ + interface Schema$CustomDataSources { + /** + * Collection of custom data sources. + */ + items?: Schema$CustomDataSource[]; + /** + * The maximum number of resources the response can contain, regardless of + * the actual number of resources returned. Its value ranges from 1 to 1000 + * with a value of 1000 by default, or otherwise specified by the + * max-results query parameter. + */ + itemsPerPage?: number; + /** + * Collection type. + */ + kind?: string; + /** + * Link to next page for this custom data source collection. + */ + nextLink?: string; + /** + * Link to previous page for this custom data source collection. + */ + previousLink?: string; + /** + * The starting index of the resources, which is 1 by default or otherwise + * specified by the start-index query parameter. + */ + startIndex?: number; + /** + * The total number of results for the query, regardless of the number of + * results in the response. + */ + totalResults?: number; + /** + * Email ID of the authenticated user + */ + username?: string; + } + /** + * JSON template for Analytics Custom Dimension. + */ + interface Schema$CustomDimension { + /** + * Account ID. + */ + accountId?: string; + /** + * Boolean indicating whether the custom dimension is active. + */ + active?: boolean; + /** + * Time the custom dimension was created. + */ + created?: string; + /** + * Custom dimension ID. + */ + id?: string; + /** + * Index of the custom dimension. + */ + index?: number; + /** + * Kind value for a custom dimension. Set to + * "analytics#customDimension". It is a read-only field. + */ + kind?: string; + /** + * Name of the custom dimension. + */ + name?: string; + /** + * Parent link for the custom dimension. Points to the property to which the + * custom dimension belongs. + */ + parentLink?: any; + /** + * Scope of the custom dimension: HIT, SESSION, USER or PRODUCT. + */ + scope?: string; + /** + * Link for the custom dimension + */ + selfLink?: string; + /** + * Time the custom dimension was last modified. + */ + updated?: string; + /** + * Property ID. + */ + webPropertyId?: string; + } + /** + * A custom dimension collection lists Analytics custom dimensions to which + * the user has access. Each resource in the collection corresponds to a + * single Analytics custom dimension. + */ + interface Schema$CustomDimensions { + /** + * Collection of custom dimensions. + */ + items?: Schema$CustomDimension[]; + /** + * The maximum number of resources the response can contain, regardless of + * the actual number of resources returned. Its value ranges from 1 to 1000 + * with a value of 1000 by default, or otherwise specified by the + * max-results query parameter. + */ + itemsPerPage?: number; + /** + * Collection type. + */ + kind?: string; + /** + * Link to next page for this custom dimension collection. + */ + nextLink?: string; + /** + * Link to previous page for this custom dimension collection. + */ + previousLink?: string; + /** + * The starting index of the resources, which is 1 by default or otherwise + * specified by the start-index query parameter. + */ + startIndex?: number; + /** + * The total number of results for the query, regardless of the number of + * results in the response. + */ + totalResults?: number; + /** + * Email ID of the authenticated user + */ + username?: string; + } + /** + * JSON template for Analytics Custom Metric. + */ + interface Schema$CustomMetric { + /** + * Account ID. + */ + accountId?: string; + /** + * Boolean indicating whether the custom metric is active. + */ + active?: boolean; + /** + * Time the custom metric was created. + */ + created?: string; + /** + * Custom metric ID. + */ + id?: string; + /** + * Index of the custom metric. + */ + index?: number; + /** + * Kind value for a custom metric. Set to + * "analytics#customMetric". It is a read-only field. + */ + kind?: string; + /** + * Max value of custom metric. + */ + max_value?: string; + /** + * Min value of custom metric. + */ + min_value?: string; + /** + * Name of the custom metric. + */ + name?: string; + /** + * Parent link for the custom metric. Points to the property to which the + * custom metric belongs. + */ + parentLink?: any; + /** + * Scope of the custom metric: HIT or PRODUCT. + */ + scope?: string; + /** + * Link for the custom metric + */ + selfLink?: string; + /** + * Data type of custom metric. + */ + type?: string; + /** + * Time the custom metric was last modified. + */ + updated?: string; + /** + * Property ID. + */ + webPropertyId?: string; + } + /** + * A custom metric collection lists Analytics custom metrics to which the user + * has access. Each resource in the collection corresponds to a single + * Analytics custom metric. + */ + interface Schema$CustomMetrics { + /** + * Collection of custom metrics. + */ + items?: Schema$CustomMetric[]; + /** + * The maximum number of resources the response can contain, regardless of + * the actual number of resources returned. Its value ranges from 1 to 1000 + * with a value of 1000 by default, or otherwise specified by the + * max-results query parameter. + */ + itemsPerPage?: number; + /** + * Collection type. + */ + kind?: string; + /** + * Link to next page for this custom metric collection. + */ + nextLink?: string; + /** + * Link to previous page for this custom metric collection. + */ + previousLink?: string; + /** + * The starting index of the resources, which is 1 by default or otherwise + * specified by the start-index query parameter. + */ + startIndex?: number; + /** + * The total number of results for the query, regardless of the number of + * results in the response. + */ + totalResults?: number; + /** + * Email ID of the authenticated user + */ + username?: string; + } + /** + * JSON template for Analytics Entity AdWords Link. + */ + interface Schema$EntityAdWordsLink { + /** + * A list of AdWords client accounts. These cannot be MCC accounts. This + * field is required when creating an AdWords link. It cannot be empty. + */ + adWordsAccounts?: Schema$AdWordsAccount[]; + /** + * Web property being linked. + */ + entity?: any; + /** + * Entity AdWords link ID + */ + id?: string; + /** + * Resource type for entity AdWords link. + */ + kind?: string; + /** + * Name of the link. This field is required when creating an AdWords link. + */ + name?: string; + /** + * IDs of linked Views (Profiles) represented as strings. + */ + profileIds?: string[]; + /** + * URL link for this Google Analytics - Google AdWords link. + */ + selfLink?: string; + } + /** + * An entity AdWords link collection provides a list of GA-AdWords links Each + * resource in this collection corresponds to a single link. + */ + interface Schema$EntityAdWordsLinks { + /** + * A list of entity AdWords links. + */ + items?: Schema$EntityAdWordsLink[]; + /** + * The maximum number of entries the response can contain, regardless of the + * actual number of entries returned. Its value ranges from 1 to 1000 with a + * value of 1000 by default, or otherwise specified by the max-results query + * parameter. + */ + itemsPerPage?: number; + /** + * Collection type. + */ + kind?: string; + /** + * Next link for this AdWords link collection. + */ + nextLink?: string; + /** + * Previous link for this AdWords link collection. + */ + previousLink?: string; + /** + * The starting index of the entries, which is 1 by default or otherwise + * specified by the start-index query parameter. + */ + startIndex?: number; + /** + * The total number of results for the query, regardless of the number of + * results in the response. + */ + totalResults?: number; + } + /** + * JSON template for an Analytics Entity-User Link. Returns permissions that a + * user has for an entity. + */ + interface Schema$EntityUserLink { + /** + * Entity for this link. It can be an account, a web property, or a view + * (profile). + */ + entity?: any; + /** + * Entity user link ID + */ + id?: string; + /** + * Resource type for entity user link. + */ + kind?: string; + /** + * Permissions the user has for this entity. + */ + permissions?: any; + /** + * Self link for this resource. + */ + selfLink?: string; + /** + * User reference. + */ + userRef?: Schema$UserRef; + } + /** + * An entity user link collection provides a list of Analytics ACL links Each + * resource in this collection corresponds to a single link. + */ + interface Schema$EntityUserLinks { + /** + * A list of entity user links. + */ + items?: Schema$EntityUserLink[]; + /** + * The maximum number of entries the response can contain, regardless of the + * actual number of entries returned. Its value ranges from 1 to 1000 with a + * value of 1000 by default, or otherwise specified by the max-results query + * parameter. + */ + itemsPerPage?: number; + /** + * Collection type. + */ + kind?: string; + /** + * Next link for this account collection. + */ + nextLink?: string; + /** + * Previous link for this account collection. + */ + previousLink?: string; + /** + * The starting index of the entries, which is 1 by default or otherwise + * specified by the start-index query parameter. + */ + startIndex?: number; + /** + * The total number of results for the query, regardless of the number of + * results in the response. + */ + totalResults?: number; + } + /** + * JSON template for Analytics experiment resource. + */ + interface Schema$Experiment { + /** + * Account ID to which this experiment belongs. This field is read-only. + */ + accountId?: string; + /** + * Time the experiment was created. This field is read-only. + */ + created?: string; + /** + * Notes about this experiment. + */ + description?: string; + /** + * If true, the end user will be able to edit the experiment via the Google + * Analytics user interface. + */ + editableInGaUi?: boolean; + /** + * The ending time of the experiment (the time the status changed from + * RUNNING to ENDED). This field is present only if the experiment has + * ended. This field is read-only. + */ + endTime?: string; + /** + * Boolean specifying whether to distribute traffic evenly across all + * variations. If the value is False, content experiments follows the + * default behavior of adjusting traffic dynamically based on variation + * performance. Optional -- defaults to False. This field may not be changed + * for an experiment whose status is ENDED. + */ + equalWeighting?: boolean; + /** + * Experiment ID. Required for patch and update. Disallowed for create. + */ + id?: string; + /** + * Internal ID for the web property to which this experiment belongs. This + * field is read-only. + */ + internalWebPropertyId?: string; + /** + * Resource type for an Analytics experiment. This field is read-only. + */ + kind?: string; + /** + * An integer number in [3, 90]. Specifies the minimum length of the + * experiment. Can be changed for a running experiment. This field may not + * be changed for an experiments whose status is ENDED. + */ + minimumExperimentLengthInDays?: number; + /** + * Experiment name. This field may not be changed for an experiment whose + * status is ENDED. This field is required when creating an experiment. + */ + name?: string; + /** + * The metric that the experiment is optimizing. Valid values: + * "ga:goal(n)Completions", "ga:adsenseAdsClicks", + * "ga:adsenseAdsViewed", "ga:adsenseRevenue", + * "ga:bounces", "ga:pageviews", + * "ga:sessionDuration", "ga:transactions", + * "ga:transactionRevenue". This field is required if status is + * "RUNNING" and servingFramework is one of "REDIRECT" + * or "API". + */ + objectiveMetric?: string; + /** + * Whether the objectiveMetric should be minimized or maximized. Possible + * values: "MAXIMUM", "MINIMUM". Optional--defaults to + * "MAXIMUM". Cannot be specified without objectiveMetric. Cannot + * be modified when status is "RUNNING" or "ENDED". + */ + optimizationType?: string; + /** + * Parent link for an experiment. Points to the view (profile) to which this + * experiment belongs. + */ + parentLink?: any; + /** + * View (Profile) ID to which this experiment belongs. This field is + * read-only. + */ + profileId?: string; + /** + * Why the experiment ended. Possible values: "STOPPED_BY_USER", + * "WINNER_FOUND", "EXPERIMENT_EXPIRED", + * "ENDED_WITH_NO_WINNER", "GOAL_OBJECTIVE_CHANGED". + * "ENDED_WITH_NO_WINNER" means that the experiment didn't + * expire but no winner was projected to be found. If the experiment status + * is changed via the API to ENDED this field is set to STOPPED_BY_USER. + * This field is read-only. + */ + reasonExperimentEnded?: string; + /** + * Boolean specifying whether variations URLS are rewritten to match those + * of the original. This field may not be changed for an experiments whose + * status is ENDED. + */ + rewriteVariationUrlsAsOriginal?: boolean; + /** + * Link for this experiment. This field is read-only. + */ + selfLink?: string; + /** + * The framework used to serve the experiment variations and evaluate the + * results. One of: - REDIRECT: Google Analytics redirects traffic to + * different variation pages, reports the chosen variation and evaluates the + * results. - API: Google Analytics chooses and reports the variation to + * serve and evaluates the results; the caller is responsible for serving + * the selected variation. - EXTERNAL: The variations will be served + * externally and the chosen variation reported to Google Analytics. The + * caller is responsible for serving the selected variation and evaluating + * the results. + */ + servingFramework?: string; + /** + * The snippet of code to include on the control page(s). This field is + * read-only. + */ + snippet?: string; + /** + * The starting time of the experiment (the time the status changed from + * READY_TO_RUN to RUNNING). This field is present only if the experiment + * has started. This field is read-only. + */ + startTime?: string; + /** + * Experiment status. Possible values: "DRAFT", + * "READY_TO_RUN", "RUNNING", "ENDED". + * Experiments can be created in the "DRAFT", + * "READY_TO_RUN" or "RUNNING" state. This field is + * required when creating an experiment. + */ + status?: string; + /** + * A floating-point number in (0, 1]. Specifies the fraction of the traffic + * that participates in the experiment. Can be changed for a running + * experiment. This field may not be changed for an experiments whose status + * is ENDED. + */ + trafficCoverage?: number; + /** + * Time the experiment was last modified. This field is read-only. + */ + updated?: string; + /** + * Array of variations. The first variation in the array is the original. + * The number of variations may not change once an experiment is in the + * RUNNING state. At least two variations are required before status can be + * set to RUNNING. + */ + variations?: any[]; + /** + * Web property ID to which this experiment belongs. The web property ID is + * of the form UA-XXXXX-YY. This field is read-only. + */ + webPropertyId?: string; + /** + * A floating-point number in (0, 1). Specifies the necessary confidence + * level to choose a winner. This field may not be changed for an + * experiments whose status is ENDED. + */ + winnerConfidenceLevel?: number; + /** + * Boolean specifying whether a winner has been found for this experiment. + * This field is read-only. + */ + winnerFound?: boolean; + } + /** + * An experiment collection lists Analytics experiments to which the user has + * access. Each view (profile) can have a set of experiments. Each resource in + * the Experiment collection corresponds to a single Analytics experiment. + */ + interface Schema$Experiments { + /** + * A list of experiments. + */ + items?: Schema$Experiment[]; + /** + * The maximum number of resources the response can contain, regardless of + * the actual number of resources returned. Its value ranges from 1 to 1000 + * with a value of 1000 by default, or otherwise specified by the + * max-results query parameter. + */ + itemsPerPage?: number; + /** + * Collection type. + */ + kind?: string; + /** + * Link to next page for this experiment collection. + */ + nextLink?: string; + /** + * Link to previous page for this experiment collection. + */ + previousLink?: string; + /** + * The starting index of the resources, which is 1 by default or otherwise + * specified by the start-index query parameter. + */ + startIndex?: number; + /** + * The total number of results for the query, regardless of the number of + * resources in the result. + */ + totalResults?: number; + /** + * Email ID of the authenticated user + */ + username?: string; + } + /** + * JSON template for an Analytics account filter. + */ + interface Schema$Filter { + /** + * Account ID to which this filter belongs. + */ + accountId?: string; + /** + * Details for the filter of the type ADVANCED. + */ + advancedDetails?: any; + /** + * Time this filter was created. + */ + created?: string; + /** + * Details for the filter of the type EXCLUDE. + */ + excludeDetails?: Schema$FilterExpression; + /** + * Filter ID. + */ + id?: string; + /** + * Details for the filter of the type INCLUDE. + */ + includeDetails?: Schema$FilterExpression; + /** + * Resource type for Analytics filter. + */ + kind?: string; + /** + * Details for the filter of the type LOWER. + */ + lowercaseDetails?: any; + /** + * Name of this filter. + */ + name?: string; + /** + * Parent link for this filter. Points to the account to which this filter + * belongs. + */ + parentLink?: any; + /** + * Details for the filter of the type SEARCH_AND_REPLACE. + */ + searchAndReplaceDetails?: any; + /** + * Link for this filter. + */ + selfLink?: string; + /** + * Type of this filter. Possible values are INCLUDE, EXCLUDE, LOWERCASE, + * UPPERCASE, SEARCH_AND_REPLACE and ADVANCED. + */ + type?: string; + /** + * Time this filter was last modified. + */ + updated?: string; + /** + * Details for the filter of the type UPPER. + */ + uppercaseDetails?: any; + } + /** + * JSON template for an Analytics filter expression. + */ + interface Schema$FilterExpression { + /** + * Determines if the filter is case sensitive. + */ + caseSensitive?: boolean; + /** + * Filter expression value + */ + expressionValue?: string; + /** + * Field to filter. Possible values: - Content and Traffic - + * PAGE_REQUEST_URI, - PAGE_HOSTNAME, - PAGE_TITLE, - REFERRAL, - + * COST_DATA_URI (Campaign target URL), - HIT_TYPE, - + * INTERNAL_SEARCH_TERM, - INTERNAL_SEARCH_TYPE, - + * SOURCE_PROPERTY_TRACKING_ID, - Campaign or AdGroup - + * CAMPAIGN_SOURCE, - CAMPAIGN_MEDIUM, - CAMPAIGN_NAME, - + * CAMPAIGN_AD_GROUP, - CAMPAIGN_TERM, - CAMPAIGN_CONTENT, - + * CAMPAIGN_CODE, - CAMPAIGN_REFERRAL_PATH, - E-Commerce - + * TRANSACTION_COUNTRY, - TRANSACTION_REGION, - TRANSACTION_CITY, - + * TRANSACTION_AFFILIATION (Store or order location), - ITEM_NAME, - + * ITEM_CODE, - ITEM_VARIATION, - TRANSACTION_ID, - + * TRANSACTION_CURRENCY_CODE, - PRODUCT_ACTION_TYPE, - Audience/Users - + * BROWSER, - BROWSER_VERSION, - BROWSER_SIZE, - PLATFORM, - + * PLATFORM_VERSION, - LANGUAGE, - SCREEN_RESOLUTION, - SCREEN_COLORS, - + * JAVA_ENABLED (Boolean Field), - FLASH_VERSION, - GEO_SPEED (Connection + * speed), - VISITOR_TYPE, - GEO_ORGANIZATION (ISP organization), - + * GEO_DOMAIN, - GEO_IP_ADDRESS, - GEO_IP_VERSION, - Location - + * GEO_COUNTRY, - GEO_REGION, - GEO_CITY, - Event - EVENT_CATEGORY, + * - EVENT_ACTION, - EVENT_LABEL, - Other - CUSTOM_FIELD_1, - + * CUSTOM_FIELD_2, - USER_DEFINED_VALUE, - Application - APP_ID, - + * APP_INSTALLER_ID, - APP_NAME, - APP_VERSION, - SCREEN, - IS_APP + * (Boolean Field), - IS_FATAL_EXCEPTION (Boolean Field), - + * EXCEPTION_DESCRIPTION, - Mobile device - IS_MOBILE (Boolean Field, + * Deprecated. Use DEVICE_CATEGORY=mobile), - IS_TABLET (Boolean Field, + * Deprecated. Use DEVICE_CATEGORY=tablet), - DEVICE_CATEGORY, - + * MOBILE_HAS_QWERTY_KEYBOARD (Boolean Field), - MOBILE_HAS_NFC_SUPPORT + * (Boolean Field), - MOBILE_HAS_CELLULAR_RADIO (Boolean Field), - + * MOBILE_HAS_WIFI_SUPPORT (Boolean Field), - MOBILE_BRAND_NAME, - + * MOBILE_MODEL_NAME, - MOBILE_MARKETING_NAME, - MOBILE_POINTING_METHOD, + * - Social - SOCIAL_NETWORK, - SOCIAL_ACTION, - SOCIAL_ACTION_TARGET, + * - Custom dimension - CUSTOM_DIMENSION (See accompanying field index), + */ + field?: string; + /** + * The Index of the custom dimension. Set only if the field is a is + * CUSTOM_DIMENSION. + */ + fieldIndex?: number; + /** + * Kind value for filter expression + */ + kind?: string; + /** + * Match type for this filter. Possible values are BEGINS_WITH, EQUAL, + * ENDS_WITH, CONTAINS, or MATCHES. GEO_DOMAIN, GEO_IP_ADDRESS, + * PAGE_REQUEST_URI, or PAGE_HOSTNAME filters can use any match type; all + * other filters must use MATCHES. + */ + matchType?: string; + } + /** + * JSON template for a profile filter link. + */ + interface Schema$FilterRef { + /** + * Account ID to which this filter belongs. + */ + accountId?: string; + /** + * Link for this filter. + */ + href?: string; + /** + * Filter ID. + */ + id?: string; + /** + * Kind value for filter reference. + */ + kind?: string; + /** + * Name of this filter. + */ + name?: string; + } + /** + * A filter collection lists filters created by users in an Analytics account. + * Each resource in the collection corresponds to a filter. + */ + interface Schema$Filters { + /** + * A list of filters. + */ + items?: Schema$Filter[]; + /** + * The maximum number of resources the response can contain, regardless of + * the actual number of resources returned. Its value ranges from 1 to 1,000 + * with a value of 1000 by default, or otherwise specified by the + * max-results query parameter. + */ + itemsPerPage?: number; + /** + * Collection type. + */ + kind?: string; + /** + * Link to next page for this filter collection. + */ + nextLink?: string; + /** + * Link to previous page for this filter collection. + */ + previousLink?: string; + /** + * The starting index of the resources, which is 1 by default or otherwise + * specified by the start-index query parameter. + */ + startIndex?: number; + /** + * The total number of results for the query, regardless of the number of + * results in the response. + */ + totalResults?: number; + /** + * Email ID of the authenticated user + */ + username?: string; + } + /** + * Analytics data for a given view (profile). + */ + interface Schema$GaData { + /** + * Column headers that list dimension names followed by the metric names. + * The order of dimensions and metrics is same as specified in the request. + */ + columnHeaders?: any[]; + /** + * Determines if Analytics data contains samples. + */ + containsSampledData?: boolean; + /** + * The last refreshed time in seconds for Analytics data. + */ + dataLastRefreshed?: string; + dataTable?: any; + /** + * Unique ID for this data response. + */ + id?: string; + /** + * The maximum number of rows the response can contain, regardless of the + * actual number of rows returned. Its value ranges from 1 to 10,000 with a + * value of 1000 by default, or otherwise specified by the max-results query + * parameter. + */ + itemsPerPage?: number; + /** + * Resource type. + */ + kind?: string; + /** + * Link to next page for this Analytics data query. + */ + nextLink?: string; + /** + * Link to previous page for this Analytics data query. + */ + previousLink?: string; + /** + * Information for the view (profile), for which the Analytics data was + * requested. + */ + profileInfo?: any; + /** + * Analytics data request query parameters. + */ + query?: any; + /** + * Analytics data rows, where each row contains a list of dimension values + * followed by the metric values. The order of dimensions and metrics is + * same as specified in the request. + */ + rows?: string[][]; + /** + * The number of samples used to calculate the result. + */ + sampleSize?: string; + /** + * Total size of the sample space from which the samples were selected. + */ + sampleSpace?: string; + /** + * Link to this page. + */ + selfLink?: string; + /** + * The total number of rows for the query, regardless of the number of rows + * in the response. + */ + totalResults?: number; + /** + * Total values for the requested metrics over all the results, not just the + * results returned in this response. The order of the metric totals is same + * as the metric order specified in the request. + */ + totalsForAllResults?: any; + } + /** + * JSON template for Analytics goal resource. + */ + interface Schema$Goal { + /** + * Account ID to which this goal belongs. + */ + accountId?: string; + /** + * Determines whether this goal is active. + */ + active?: boolean; + /** + * Time this goal was created. + */ + created?: string; + /** + * Details for the goal of the type EVENT. + */ + eventDetails?: any; + /** + * Goal ID. + */ + id?: string; + /** + * Internal ID for the web property to which this goal belongs. + */ + internalWebPropertyId?: string; + /** + * Resource type for an Analytics goal. + */ + kind?: string; + /** + * Goal name. + */ + name?: string; + /** + * Parent link for a goal. Points to the view (profile) to which this goal + * belongs. + */ + parentLink?: any; + /** + * View (Profile) ID to which this goal belongs. + */ + profileId?: string; + /** + * Link for this goal. + */ + selfLink?: string; + /** + * Goal type. Possible values are URL_DESTINATION, VISIT_TIME_ON_SITE, + * VISIT_NUM_PAGES, AND EVENT. + */ + type?: string; + /** + * Time this goal was last modified. + */ + updated?: string; + /** + * Details for the goal of the type URL_DESTINATION. + */ + urlDestinationDetails?: any; + /** + * Goal value. + */ + value?: number; + /** + * Details for the goal of the type VISIT_NUM_PAGES. + */ + visitNumPagesDetails?: any; + /** + * Details for the goal of the type VISIT_TIME_ON_SITE. + */ + visitTimeOnSiteDetails?: any; + /** + * Web property ID to which this goal belongs. The web property ID is of the + * form UA-XXXXX-YY. + */ + webPropertyId?: string; + } + /** + * A goal collection lists Analytics goals to which the user has access. Each + * view (profile) can have a set of goals. Each resource in the Goal + * collection corresponds to a single Analytics goal. + */ + interface Schema$Goals { + /** + * A list of goals. + */ + items?: Schema$Goal[]; + /** + * The maximum number of resources the response can contain, regardless of + * the actual number of resources returned. Its value ranges from 1 to 1000 + * with a value of 1000 by default, or otherwise specified by the + * max-results query parameter. + */ + itemsPerPage?: number; + /** + * Collection type. + */ + kind?: string; + /** + * Link to next page for this goal collection. + */ + nextLink?: string; + /** + * Link to previous page for this goal collection. + */ + previousLink?: string; + /** + * The starting index of the resources, which is 1 by default or otherwise + * specified by the start-index query parameter. + */ + startIndex?: number; + /** + * The total number of results for the query, regardless of the number of + * resources in the result. + */ + totalResults?: number; + /** + * Email ID of the authenticated user + */ + username?: string; + } + /** + * JSON template for a hash Client Id request resource. + */ + interface Schema$HashClientIdRequest { + clientId?: string; + kind?: string; + webPropertyId?: string; + } + /** + * JSON template for a hash Client Id response resource. + */ + interface Schema$HashClientIdResponse { + clientId?: string; + hashedClientId?: string; + kind?: string; + webPropertyId?: string; + } + /** + * JSON template for an Analytics Remarketing Include Conditions. + */ + interface Schema$IncludeConditions { + /** + * The look-back window lets you specify a time frame for evaluating the + * behavior that qualifies users for your audience. For example, if your + * filters include users from Central Asia, and Transactions Greater than 2, + * and you set the look-back window to 14 days, then any user from Central + * Asia whose cumulative transactions exceed 2 during the last 14 days is + * added to the audience. + */ + daysToLookBack?: number; + /** + * Boolean indicating whether this segment is a smart list. + * https://support.google.com/analytics/answer/4628577 + */ + isSmartList?: boolean; + /** + * Resource type for include conditions. + */ + kind?: string; + /** + * Number of days (in the range 1 to 540) a user remains in the audience. + */ + membershipDurationDays?: number; + /** + * The segment condition that will cause a user to be added to an audience. + */ + segment?: string; + } + /** + * JSON template for an Analytics Remarketing Audience Foreign Link. + */ + interface Schema$LinkedForeignAccount { + /** + * Account ID to which this linked foreign account belongs. + */ + accountId?: string; + /** + * Boolean indicating whether this is eligible for search. + */ + eligibleForSearch?: boolean; + /** + * Entity ad account link ID. + */ + id?: string; + /** + * Internal ID for the web property to which this linked foreign account + * belongs. + */ + internalWebPropertyId?: string; + /** + * Resource type for linked foreign account. + */ + kind?: string; + /** + * The foreign account ID. For example the an AdWords `linkedAccountId` has + * the following format XXX-XXX-XXXX. + */ + linkedAccountId?: string; + /** + * Remarketing audience ID to which this linked foreign account belongs. + */ + remarketingAudienceId?: string; + /** + * The status of this foreign account link. + */ + status?: string; + /** + * The type of the foreign account. For example, `ADWORDS_LINKS`, + * `DBM_LINKS`, `MCC_LINKS` or `OPTIMIZE`. + */ + type?: string; + /** + * Web property ID of the form UA-XXXXX-YY to which this linked foreign + * account belongs. + */ + webPropertyId?: string; + } + /** + * Multi-Channel Funnels data for a given view (profile). + */ + interface Schema$McfData { + /** + * Column headers that list dimension names followed by the metric names. + * The order of dimensions and metrics is same as specified in the request. + */ + columnHeaders?: any[]; + /** + * Determines if the Analytics data contains sampled data. + */ + containsSampledData?: boolean; + /** + * Unique ID for this data response. + */ + id?: string; + /** + * The maximum number of rows the response can contain, regardless of the + * actual number of rows returned. Its value ranges from 1 to 10,000 with a + * value of 1000 by default, or otherwise specified by the max-results query + * parameter. + */ + itemsPerPage?: number; + /** + * Resource type. + */ + kind?: string; + /** + * Link to next page for this Analytics data query. + */ + nextLink?: string; + /** + * Link to previous page for this Analytics data query. + */ + previousLink?: string; + /** + * Information for the view (profile), for which the Analytics data was + * requested. + */ + profileInfo?: any; + /** + * Analytics data request query parameters. + */ + query?: any; + /** + * Analytics data rows, where each row contains a list of dimension values + * followed by the metric values. The order of dimensions and metrics is + * same as specified in the request. + */ + rows?: any[][]; + /** + * The number of samples used to calculate the result. + */ + sampleSize?: string; + /** + * Total size of the sample space from which the samples were selected. + */ + sampleSpace?: string; + /** + * Link to this page. + */ + selfLink?: string; + /** + * The total number of rows for the query, regardless of the number of rows + * in the response. + */ + totalResults?: number; + /** + * Total values for the requested metrics over all the results, not just the + * results returned in this response. The order of the metric totals is same + * as the metric order specified in the request. + */ + totalsForAllResults?: any; + } + /** + * JSON template for an Analytics view (profile). + */ + interface Schema$Profile { + /** + * Account ID to which this view (profile) belongs. + */ + accountId?: string; + /** + * Indicates whether bot filtering is enabled for this view (profile). + */ + botFilteringEnabled?: boolean; + /** + * Child link for this view (profile). Points to the list of goals for this + * view (profile). + */ + childLink?: any; + /** + * Time this view (profile) was created. + */ + created?: string; + /** + * The currency type associated with this view (profile), defaults to USD. + * The supported values are: USD, JPY, EUR, GBP, AUD, KRW, BRL, CNY, DKK, + * RUB, SEK, NOK, PLN, TRY, TWD, HKD, THB, IDR, ARS, MXN, VND, PHP, INR, + * CHF, CAD, CZK, NZD, HUF, BGN, LTL, ZAR, UAH, AED, BOB, CLP, COP, EGP, + * HRK, ILS, MAD, MYR, PEN, PKR, RON, RSD, SAR, SGD, VEF, LVL + */ + currency?: string; + /** + * Default page for this view (profile). + */ + defaultPage?: string; + /** + * Indicates whether ecommerce tracking is enabled for this view (profile). + */ + eCommerceTracking?: boolean; + /** + * Indicates whether enhanced ecommerce tracking is enabled for this view + * (profile). This property can only be enabled if ecommerce tracking is + * enabled. + */ + enhancedECommerceTracking?: boolean; + /** + * The query parameters that are excluded from this view (profile). + */ + excludeQueryParameters?: string; + /** + * View (Profile) ID. + */ + id?: string; + /** + * Internal ID for the web property to which this view (profile) belongs. + */ + internalWebPropertyId?: string; + /** + * Resource type for Analytics view (profile). + */ + kind?: string; + /** + * Name of this view (profile). + */ + name?: string; + /** + * Parent link for this view (profile). Points to the web property to which + * this view (profile) belongs. + */ + parentLink?: any; + /** + * Permissions the user has for this view (profile). + */ + permissions?: any; + /** + * Link for this view (profile). + */ + selfLink?: string; + /** + * Site search category parameters for this view (profile). + */ + siteSearchCategoryParameters?: string; + /** + * The site search query parameters for this view (profile). + */ + siteSearchQueryParameters?: string; + /** + * Indicates whether this view (profile) is starred or not. + */ + starred?: boolean; + /** + * Whether or not Analytics will strip search category parameters from the + * URLs in your reports. + */ + stripSiteSearchCategoryParameters?: boolean; + /** + * Whether or not Analytics will strip search query parameters from the URLs + * in your reports. + */ + stripSiteSearchQueryParameters?: boolean; + /** + * Time zone for which this view (profile) has been configured. Time zones + * are identified by strings from the TZ database. + */ + timezone?: string; + /** + * View (Profile) type. Supported types: WEB or APP. + */ + type?: string; + /** + * Time this view (profile) was last modified. + */ + updated?: string; + /** + * Web property ID of the form UA-XXXXX-YY to which this view (profile) + * belongs. + */ + webPropertyId?: string; + /** + * Website URL for this view (profile). + */ + websiteUrl?: string; + } + /** + * JSON template for an Analytics profile filter link. + */ + interface Schema$ProfileFilterLink { + /** + * Filter for this link. + */ + filterRef?: Schema$FilterRef; + /** + * Profile filter link ID. + */ + id?: string; + /** + * Resource type for Analytics filter. + */ + kind?: string; + /** + * View (Profile) for this link. + */ + profileRef?: Schema$ProfileRef; + /** + * The rank of this profile filter link relative to the other filters linked + * to the same profile. For readonly (i.e., list and get) operations, the + * rank always starts at 1. For write (i.e., create, update, or delete) + * operations, you may specify a value between 0 and 255 inclusively, [0, + * 255]. In order to insert a link at the end of the list, either don't + * specify a rank or set a rank to a number greater than the largest rank in + * the list. In order to insert a link to the beginning of the list specify + * a rank that is less than or equal to 1. The new link will move all + * existing filters with the same or lower rank down the list. After the + * link is inserted/updated/deleted all profile filter links will be + * renumbered starting at 1. + */ + rank?: number; + /** + * Link for this profile filter link. + */ + selfLink?: string; + } + /** + * A profile filter link collection lists profile filter links between + * profiles and filters. Each resource in the collection corresponds to a + * profile filter link. + */ + interface Schema$ProfileFilterLinks { + /** + * A list of profile filter links. + */ + items?: Schema$ProfileFilterLink[]; + /** + * The maximum number of resources the response can contain, regardless of + * the actual number of resources returned. Its value ranges from 1 to 1,000 + * with a value of 1000 by default, or otherwise specified by the + * max-results query parameter. + */ + itemsPerPage?: number; + /** + * Collection type. + */ + kind?: string; + /** + * Link to next page for this profile filter link collection. + */ + nextLink?: string; + /** + * Link to previous page for this profile filter link collection. + */ + previousLink?: string; + /** + * The starting index of the resources, which is 1 by default or otherwise + * specified by the start-index query parameter. + */ + startIndex?: number; + /** + * The total number of results for the query, regardless of the number of + * results in the response. + */ + totalResults?: number; + /** + * Email ID of the authenticated user + */ + username?: string; + } + /** + * JSON template for a linked view (profile). + */ + interface Schema$ProfileRef { + /** + * Account ID to which this view (profile) belongs. + */ + accountId?: string; + /** + * Link for this view (profile). + */ + href?: string; + /** + * View (Profile) ID. + */ + id?: string; + /** + * Internal ID for the web property to which this view (profile) belongs. + */ + internalWebPropertyId?: string; + /** + * Analytics view (profile) reference. + */ + kind?: string; + /** + * Name of this view (profile). + */ + name?: string; + /** + * Web property ID of the form UA-XXXXX-YY to which this view (profile) + * belongs. + */ + webPropertyId?: string; + } + /** + * A view (profile) collection lists Analytics views (profiles) to which the + * user has access. Each resource in the collection corresponds to a single + * Analytics view (profile). + */ + interface Schema$Profiles { + /** + * A list of views (profiles). + */ + items?: Schema$Profile[]; + /** + * The maximum number of resources the response can contain, regardless of + * the actual number of resources returned. Its value ranges from 1 to 1000 + * with a value of 1000 by default, or otherwise specified by the + * max-results query parameter. + */ + itemsPerPage?: number; + /** + * Collection type. + */ + kind?: string; + /** + * Link to next page for this view (profile) collection. + */ + nextLink?: string; + /** + * Link to previous page for this view (profile) collection. + */ + previousLink?: string; + /** + * The starting index of the resources, which is 1 by default or otherwise + * specified by the start-index query parameter. + */ + startIndex?: number; + /** + * The total number of results for the query, regardless of the number of + * results in the response. + */ + totalResults?: number; + /** + * Email ID of the authenticated user + */ + username?: string; + } + /** + * JSON template for an Analytics ProfileSummary. ProfileSummary returns basic + * information (i.e., summary) for a profile. + */ + interface Schema$ProfileSummary { + /** + * View (profile) ID. + */ + id?: string; + /** + * Resource type for Analytics ProfileSummary. + */ + kind?: string; + /** + * View (profile) name. + */ + name?: string; + /** + * Indicates whether this view (profile) is starred or not. + */ + starred?: boolean; + /** + * View (Profile) type. Supported types: WEB or APP. + */ + type?: string; + } + /** + * Real time data for a given view (profile). + */ + interface Schema$RealtimeData { + /** + * Column headers that list dimension names followed by the metric names. + * The order of dimensions and metrics is same as specified in the request. + */ + columnHeaders?: any[]; + /** + * Unique ID for this data response. + */ + id?: string; + /** + * Resource type. + */ + kind?: string; + /** + * Information for the view (profile), for which the real time data was + * requested. + */ + profileInfo?: any; + /** + * Real time data request query parameters. + */ + query?: any; + /** + * Real time data rows, where each row contains a list of dimension values + * followed by the metric values. The order of dimensions and metrics is + * same as specified in the request. + */ + rows?: string[][]; + /** + * Link to this page. + */ + selfLink?: string; + /** + * The total number of rows for the query, regardless of the number of rows + * in the response. + */ + totalResults?: number; + /** + * Total values for the requested metrics over all the results, not just the + * results returned in this response. The order of the metric totals is same + * as the metric order specified in the request. + */ + totalsForAllResults?: any; + } + /** + * JSON template for an Analytics remarketing audience. + */ + interface Schema$RemarketingAudience { + /** + * Account ID to which this remarketing audience belongs. + */ + accountId?: string; + /** + * The simple audience definition that will cause a user to be added to an + * audience. + */ + audienceDefinition?: any; + /** + * The type of audience, either SIMPLE or STATE_BASED. + */ + audienceType?: string; + /** + * Time this remarketing audience was created. + */ + created?: string; + /** + * The description of this remarketing audience. + */ + description?: string; + /** + * Remarketing Audience ID. + */ + id?: string; + /** + * Internal ID for the web property to which this remarketing audience + * belongs. + */ + internalWebPropertyId?: string; + /** + * Collection type. + */ + kind?: string; + /** + * The linked ad accounts associated with this remarketing audience. A + * remarketing audience can have only one linkedAdAccount currently. + */ + linkedAdAccounts?: Schema$LinkedForeignAccount[]; + /** + * The views (profiles) that this remarketing audience is linked to. + */ + linkedViews?: string[]; + /** + * The name of this remarketing audience. + */ + name?: string; + /** + * A state based audience definition that will cause a user to be added or + * removed from an audience. + */ + stateBasedAudienceDefinition?: any; + /** + * Time this remarketing audience was last modified. + */ + updated?: string; + /** + * Web property ID of the form UA-XXXXX-YY to which this remarketing + * audience belongs. + */ + webPropertyId?: string; + } + /** + * A remarketing audience collection lists Analytics remarketing audiences to + * which the user has access. Each resource in the collection corresponds to a + * single Analytics remarketing audience. + */ + interface Schema$RemarketingAudiences { + /** + * A list of remarketing audiences. + */ + items?: Schema$RemarketingAudience[]; + /** + * The maximum number of resources the response can contain, regardless of + * the actual number of resources returned. Its value ranges from 1 to 1000 + * with a value of 1000 by default, or otherwise specified by the + * max-results query parameter. + */ + itemsPerPage?: number; + /** + * Collection type. + */ + kind?: string; + /** + * Link to next page for this remarketing audience collection. + */ + nextLink?: string; + /** + * Link to previous page for this view (profile) collection. + */ + previousLink?: string; + /** + * The starting index of the resources, which is 1 by default or otherwise + * specified by the start-index query parameter. + */ + startIndex?: number; + /** + * The total number of results for the query, regardless of the number of + * results in the response. + */ + totalResults?: number; + /** + * Email ID of the authenticated user + */ + username?: string; + } + /** + * JSON template for an Analytics segment. + */ + interface Schema$Segment { + /** + * Time the segment was created. + */ + created?: string; + /** + * Segment definition. + */ + definition?: string; + /** + * Segment ID. + */ + id?: string; + /** + * Resource type for Analytics segment. + */ + kind?: string; + /** + * Segment name. + */ + name?: string; + /** + * Segment ID. Can be used with the 'segment' parameter in Core + * Reporting API. + */ + segmentId?: string; + /** + * Link for this segment. + */ + selfLink?: string; + /** + * Type for a segment. Possible values are "BUILT_IN" or + * "CUSTOM". + */ + type?: string; + /** + * Time the segment was last modified. + */ + updated?: string; + } + /** + * An segment collection lists Analytics segments that the user has access to. + * Each resource in the collection corresponds to a single Analytics segment. + */ + interface Schema$Segments { + /** + * A list of segments. + */ + items?: Schema$Segment[]; + /** + * The maximum number of resources the response can contain, regardless of + * the actual number of resources returned. Its value ranges from 1 to 1000 + * with a value of 1000 by default, or otherwise specified by the + * max-results query parameter. + */ + itemsPerPage?: number; + /** + * Collection type for segments. + */ + kind?: string; + /** + * Link to next page for this segment collection. + */ + nextLink?: string; + /** + * Link to previous page for this segment collection. + */ + previousLink?: string; + /** + * The starting index of the resources, which is 1 by default or otherwise + * specified by the start-index query parameter. + */ + startIndex?: number; + /** + * The total number of results for the query, regardless of the number of + * results in the response. + */ + totalResults?: number; + /** + * Email ID of the authenticated user + */ + username?: string; + } + /** + * JSON template for Analytics unsampled report resource. + */ + interface Schema$UnsampledReport { + /** + * Account ID to which this unsampled report belongs. + */ + accountId?: string; + /** + * Download details for a file stored in Google Cloud Storage. + */ + cloudStorageDownloadDetails?: any; + /** + * Time this unsampled report was created. + */ + created?: string; + /** + * The dimensions for the unsampled report. + */ + dimensions?: string; + /** + * The type of download you need to use for the report data file. Possible + * values include `GOOGLE_DRIVE` and `GOOGLE_CLOUD_STORAGE`. If the value is + * `GOOGLE_DRIVE`, see the `driveDownloadDetails` field. If the value is + * `GOOGLE_CLOUD_STORAGE`, see the `cloudStorageDownloadDetails` field. + */ + downloadType?: string; + /** + * Download details for a file stored in Google Drive. + */ + driveDownloadDetails?: any; + /** + * The end date for the unsampled report. + */ + 'end-date'?: string; + /** + * The filters for the unsampled report. + */ + filters?: string; + /** + * Unsampled report ID. + */ + id?: string; + /** + * Resource type for an Analytics unsampled report. + */ + kind?: string; + /** + * The metrics for the unsampled report. + */ + metrics?: string; + /** + * View (Profile) ID to which this unsampled report belongs. + */ + profileId?: string; + /** + * The segment for the unsampled report. + */ + segment?: string; + /** + * Link for this unsampled report. + */ + selfLink?: string; + /** + * The start date for the unsampled report. + */ + 'start-date'?: string; + /** + * Status of this unsampled report. Possible values are PENDING, COMPLETED, + * or FAILED. + */ + status?: string; + /** + * Title of the unsampled report. + */ + title?: string; + /** + * Time this unsampled report was last modified. + */ + updated?: string; + /** + * Web property ID to which this unsampled report belongs. The web property + * ID is of the form UA-XXXXX-YY. + */ + webPropertyId?: string; + } + /** + * An unsampled report collection lists Analytics unsampled reports to which + * the user has access. Each view (profile) can have a set of unsampled + * reports. Each resource in the unsampled report collection corresponds to a + * single Analytics unsampled report. + */ + interface Schema$UnsampledReports { + /** + * A list of unsampled reports. + */ + items?: Schema$UnsampledReport[]; + /** + * The maximum number of resources the response can contain, regardless of + * the actual number of resources returned. Its value ranges from 1 to 1000 + * with a value of 1000 by default, or otherwise specified by the + * max-results query parameter. + */ + itemsPerPage?: number; + /** + * Collection type. + */ + kind?: string; + /** + * Link to next page for this unsampled report collection. + */ + nextLink?: string; + /** + * Link to previous page for this unsampled report collection. + */ + previousLink?: string; + /** + * The starting index of the resources, which is 1 by default or otherwise + * specified by the start-index query parameter. + */ + startIndex?: number; + /** + * The total number of results for the query, regardless of the number of + * resources in the result. + */ + totalResults?: number; + /** + * Email ID of the authenticated user + */ + username?: string; + } + /** + * Metadata returned for an upload operation. + */ + interface Schema$Upload { + /** + * Account Id to which this upload belongs. + */ + accountId?: string; + /** + * Custom data source Id to which this data import belongs. + */ + customDataSourceId?: string; + /** + * Data import errors collection. + */ + errors?: string[]; + /** + * A unique ID for this upload. + */ + id?: string; + /** + * Resource type for Analytics upload. + */ + kind?: string; + /** + * Upload status. Possible values: PENDING, COMPLETED, FAILED, DELETING, + * DELETED. + */ + status?: string; + /** + * Time this file is uploaded. + */ + uploadTime?: string; + } + /** + * Upload collection lists Analytics uploads to which the user has access. + * Each custom data source can have a set of uploads. Each resource in the + * upload collection corresponds to a single Analytics data upload. + */ + interface Schema$Uploads { + /** + * A list of uploads. + */ + items?: Schema$Upload[]; + /** + * The maximum number of resources the response can contain, regardless of + * the actual number of resources returned. Its value ranges from 1 to 1000 + * with a value of 1000 by default, or otherwise specified by the + * max-results query parameter. + */ + itemsPerPage?: number; + /** + * Collection type. + */ + kind?: string; + /** + * Link to next page for this upload collection. + */ + nextLink?: string; + /** + * Link to previous page for this upload collection. + */ + previousLink?: string; + /** + * The starting index of the resources, which is 1 by default or otherwise + * specified by the start-index query parameter. + */ + startIndex?: number; + /** + * The total number of results for the query, regardless of the number of + * resources in the result. + */ + totalResults?: number; + } + /** + * JSON template for a user deletion request resource. + */ + interface Schema$UserDeletionRequest { + /** + * This marks the point in time for which all user data before should be + * deleted + */ + deletionRequestTime?: string; + /** + * Firebase Project Id + */ + firebaseProjectId?: string; + /** + * User ID. + */ + id?: any; + /** + * Value is "analytics#userDeletionRequest". + */ + kind?: string; + /** + * Web property ID of the form UA-XXXXX-YY. + */ + webPropertyId?: string; + } + /** + * JSON template for a user reference. + */ + interface Schema$UserRef { + /** + * Email ID of this user. + */ + email?: string; + /** + * User ID. + */ + id?: string; + kind?: string; + } + /** + * A web property collection lists Analytics web properties to which the user + * has access. Each resource in the collection corresponds to a single + * Analytics web property. + */ + interface Schema$Webproperties { + /** + * A list of web properties. + */ + items?: Schema$Webproperty[]; + /** + * The maximum number of resources the response can contain, regardless of + * the actual number of resources returned. Its value ranges from 1 to 1000 + * with a value of 1000 by default, or otherwise specified by the + * max-results query parameter. + */ + itemsPerPage?: number; + /** + * Collection type. + */ + kind?: string; + /** + * Link to next page for this web property collection. + */ + nextLink?: string; + /** + * Link to previous page for this web property collection. + */ + previousLink?: string; + /** + * The starting index of the resources, which is 1 by default or otherwise + * specified by the start-index query parameter. + */ + startIndex?: number; + /** + * The total number of results for the query, regardless of the number of + * results in the response. + */ + totalResults?: number; + /** + * Email ID of the authenticated user + */ + username?: string; + } + /** + * JSON template for an Analytics web property. + */ + interface Schema$Webproperty { + /** + * Account ID to which this web property belongs. + */ + accountId?: string; + /** + * Child link for this web property. Points to the list of views (profiles) + * for this web property. + */ + childLink?: any; + /** + * Time this web property was created. + */ + created?: string; + /** + * Set to true to reset the retention period of the user identifier with + * each new event from that user (thus setting the expiration date to + * current time plus retention period). Set to false to delete data + * associated with the user identifer automatically after the rentention + * period. This property cannot be set on insert. + */ + dataRetentionResetOnNewActivity?: boolean; + /** + * The length of time for which user and event data is retained. This + * property cannot be set on insert. + */ + dataRetentionTtl?: string; + /** + * Default view (profile) ID. + */ + defaultProfileId?: string; + /** + * Web property ID of the form UA-XXXXX-YY. + */ + id?: string; + /** + * The industry vertical/category selected for this web property. + */ + industryVertical?: string; + /** + * Internal ID for this web property. + */ + internalWebPropertyId?: string; + /** + * Resource type for Analytics WebProperty. + */ + kind?: string; + /** + * Level for this web property. Possible values are STANDARD or PREMIUM. + */ + level?: string; + /** + * Name of this web property. + */ + name?: string; + /** + * Parent link for this web property. Points to the account to which this + * web property belongs. + */ + parentLink?: any; + /** + * Permissions the user has for this web property. + */ + permissions?: any; + /** + * View (Profile) count for this web property. + */ + profileCount?: number; + /** + * Link for this web property. + */ + selfLink?: string; + /** + * Indicates whether this web property is starred or not. + */ + starred?: boolean; + /** + * Time this web property was last modified. + */ + updated?: string; + /** + * Website url for this web property. + */ + websiteUrl?: string; + } + /** + * JSON template for a web property reference. + */ + interface Schema$WebPropertyRef { + /** + * Account ID to which this web property belongs. + */ + accountId?: string; + /** + * Link for this web property. + */ + href?: string; + /** + * Web property ID of the form UA-XXXXX-YY. + */ + id?: string; + /** + * Internal ID for this web property. + */ + internalWebPropertyId?: string; + /** + * Analytics web property reference. + */ + kind?: string; + /** + * Name of this web property. + */ + name?: string; + } + /** + * JSON template for an Analytics WebPropertySummary. WebPropertySummary + * returns basic information (i.e., summary) for a web property. + */ + interface Schema$WebPropertySummary { + /** + * Web property ID of the form UA-XXXXX-YY. + */ + id?: string; + /** + * Internal ID for this web property. + */ + internalWebPropertyId?: string; + /** + * Resource type for Analytics WebPropertySummary. + */ + kind?: string; + /** + * Level for this web property. Possible values are STANDARD or PREMIUM. + */ + level?: string; + /** + * Web property name. + */ + name?: string; + /** + * List of profiles under this web property. + */ + profiles?: Schema$ProfileSummary[]; + /** + * Indicates whether this web property is starred or not. + */ + starred?: boolean; + /** + * Website url for this web property. + */ + websiteUrl?: string; + } + class Resource$Data { + root: Analytics; + ga: Resource$Data$Ga; + mcf: Resource$Data$Mcf; + realtime: Resource$Data$Realtime; + constructor(root: Analytics); + getRoot(): Analytics; + } + class Resource$Data$Ga { + root: Analytics; + constructor(root: Analytics); + getRoot(): Analytics; + /** + * analytics.data.ga.get + * @desc Returns Analytics data for a view (profile). + * @alias analytics.data.ga.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.dimensions A comma-separated list of Analytics dimensions. E.g., 'ga:browser,ga:city'. + * @param {string} params.end-date End date for fetching Analytics data. Request can should specify an end date formatted as YYYY-MM-DD, or as a relative date (e.g., today, yesterday, or 7daysAgo). The default value is yesterday. + * @param {string=} params.filters A comma-separated list of dimension or metric filters to be applied to Analytics data. + * @param {string} params.ids Unique table ID for retrieving Analytics data. Table ID is of the form ga:XXXX, where XXXX is the Analytics view (profile) ID. + * @param {boolean=} params.include-empty-rows The response will include empty rows if this parameter is set to true, the default is true + * @param {integer=} params.max-results The maximum number of entries to include in this feed. + * @param {string} params.metrics A comma-separated list of Analytics metrics. E.g., 'ga:sessions,ga:pageviews'. At least one metric must be specified. + * @param {string=} params.output The selected format for the response. Default format is JSON. + * @param {string=} params.samplingLevel The desired sampling level. + * @param {string=} params.segment An Analytics segment to be applied to data. + * @param {string=} params.sort A comma-separated list of dimensions or metrics that determine the sort order for Analytics data. + * @param {string} params.start-date Start date for fetching Analytics data. Requests can specify a start date formatted as YYYY-MM-DD, or as a relative date (e.g., today, yesterday, or 7daysAgo). The default value is 7daysAgo. + * @param {integer=} params.start-index An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. + * @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?: Params$Resource$Data$Ga$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Data$Ga$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Data$Ga$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Data$Ga$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A comma-separated list of Analytics dimensions. E.g., + * 'ga:browser,ga:city'. + */ + dimensions?: string; + /** + * End date for fetching Analytics data. Request can should specify an end + * date formatted as YYYY-MM-DD, or as a relative date (e.g., today, + * yesterday, or 7daysAgo). The default value is yesterday. + */ + 'end-date'?: string; + /** + * A comma-separated list of dimension or metric filters to be applied to + * Analytics data. + */ + filters?: string; + /** + * Unique table ID for retrieving Analytics data. Table ID is of the form + * ga:XXXX, where XXXX is the Analytics view (profile) ID. + */ + ids?: string; + /** + * The response will include empty rows if this parameter is set to true, + * the default is true + */ + 'include-empty-rows'?: boolean; + /** + * The maximum number of entries to include in this feed. + */ + 'max-results'?: number; + /** + * A comma-separated list of Analytics metrics. E.g., + * 'ga:sessions,ga:pageviews'. At least one metric must be specified. + */ + metrics?: string; + /** + * The selected format for the response. Default format is JSON. + */ + output?: string; + /** + * The desired sampling level. + */ + samplingLevel?: string; + /** + * An Analytics segment to be applied to data. + */ + segment?: string; + /** + * A comma-separated list of dimensions or metrics that determine the sort + * order for Analytics data. + */ + sort?: string; + /** + * Start date for fetching Analytics data. Requests can specify a start date + * formatted as YYYY-MM-DD, or as a relative date (e.g., today, yesterday, + * or 7daysAgo). The default value is 7daysAgo. + */ + 'start-date'?: string; + /** + * An index of the first entity to retrieve. Use this parameter as a + * pagination mechanism along with the max-results parameter. + */ + 'start-index'?: number; + } + class Resource$Data$Mcf { + root: Analytics; + constructor(root: Analytics); + getRoot(): Analytics; + /** + * analytics.data.mcf.get + * @desc Returns Analytics Multi-Channel Funnels data for a view (profile). + * @alias analytics.data.mcf.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.dimensions A comma-separated list of Multi-Channel Funnels dimensions. E.g., 'mcf:source,mcf:medium'. + * @param {string} params.end-date End date for fetching Analytics data. Requests can specify a start date formatted as YYYY-MM-DD, or as a relative date (e.g., today, yesterday, or 7daysAgo). The default value is 7daysAgo. + * @param {string=} params.filters A comma-separated list of dimension or metric filters to be applied to the Analytics data. + * @param {string} params.ids Unique table ID for retrieving Analytics data. Table ID is of the form ga:XXXX, where XXXX is the Analytics view (profile) ID. + * @param {integer=} params.max-results The maximum number of entries to include in this feed. + * @param {string} params.metrics A comma-separated list of Multi-Channel Funnels metrics. E.g., 'mcf:totalConversions,mcf:totalConversionValue'. At least one metric must be specified. + * @param {string=} params.samplingLevel The desired sampling level. + * @param {string=} params.sort A comma-separated list of dimensions or metrics that determine the sort order for the Analytics data. + * @param {string} params.start-date Start date for fetching Analytics data. Requests can specify a start date formatted as YYYY-MM-DD, or as a relative date (e.g., today, yesterday, or 7daysAgo). The default value is 7daysAgo. + * @param {integer=} params.start-index An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. + * @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?: Params$Resource$Data$Mcf$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Data$Mcf$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Data$Mcf$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Data$Mcf$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A comma-separated list of Multi-Channel Funnels dimensions. E.g., + * 'mcf:source,mcf:medium'. + */ + dimensions?: string; + /** + * End date for fetching Analytics data. Requests can specify a start date + * formatted as YYYY-MM-DD, or as a relative date (e.g., today, yesterday, + * or 7daysAgo). The default value is 7daysAgo. + */ + 'end-date'?: string; + /** + * A comma-separated list of dimension or metric filters to be applied to + * the Analytics data. + */ + filters?: string; + /** + * Unique table ID for retrieving Analytics data. Table ID is of the form + * ga:XXXX, where XXXX is the Analytics view (profile) ID. + */ + ids?: string; + /** + * The maximum number of entries to include in this feed. + */ + 'max-results'?: number; + /** + * A comma-separated list of Multi-Channel Funnels metrics. E.g., + * 'mcf:totalConversions,mcf:totalConversionValue'. At least one metric must + * be specified. + */ + metrics?: string; + /** + * The desired sampling level. + */ + samplingLevel?: string; + /** + * A comma-separated list of dimensions or metrics that determine the sort + * order for the Analytics data. + */ + sort?: string; + /** + * Start date for fetching Analytics data. Requests can specify a start date + * formatted as YYYY-MM-DD, or as a relative date (e.g., today, yesterday, + * or 7daysAgo). The default value is 7daysAgo. + */ + 'start-date'?: string; + /** + * An index of the first entity to retrieve. Use this parameter as a + * pagination mechanism along with the max-results parameter. + */ + 'start-index'?: number; + } + class Resource$Data$Realtime { + root: Analytics; + constructor(root: Analytics); + getRoot(): Analytics; + /** + * analytics.data.realtime.get + * @desc Returns real time data for a view (profile). + * @alias analytics.data.realtime.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.dimensions A comma-separated list of real time dimensions. E.g., 'rt:medium,rt:city'. + * @param {string=} params.filters A comma-separated list of dimension or metric filters to be applied to real time data. + * @param {string} params.ids Unique table ID for retrieving real time data. Table ID is of the form ga:XXXX, where XXXX is the Analytics view (profile) ID. + * @param {integer=} params.max-results The maximum number of entries to include in this feed. + * @param {string} params.metrics A comma-separated list of real time metrics. E.g., 'rt:activeUsers'. At least one metric must be specified. + * @param {string=} params.sort A comma-separated list of dimensions or metrics that determine the sort order for real time 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 + */ + get(params?: Params$Resource$Data$Realtime$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Data$Realtime$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Data$Realtime$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Data$Realtime$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A comma-separated list of real time dimensions. E.g., + * 'rt:medium,rt:city'. + */ + dimensions?: string; + /** + * A comma-separated list of dimension or metric filters to be applied to + * real time data. + */ + filters?: string; + /** + * Unique table ID for retrieving real time data. Table ID is of the form + * ga:XXXX, where XXXX is the Analytics view (profile) ID. + */ + ids?: string; + /** + * The maximum number of entries to include in this feed. + */ + 'max-results'?: number; + /** + * A comma-separated list of real time metrics. E.g., 'rt:activeUsers'. At + * least one metric must be specified. + */ + metrics?: string; + /** + * A comma-separated list of dimensions or metrics that determine the sort + * order for real time data. + */ + sort?: string; + } + class Resource$Management { + root: Analytics; + accounts: Resource$Management$Accounts; + accountSummaries: Resource$Management$Accountsummaries; + accountUserLinks: Resource$Management$Accountuserlinks; + clientId: Resource$Management$Clientid; + customDataSources: Resource$Management$Customdatasources; + customDimensions: Resource$Management$Customdimensions; + customMetrics: Resource$Management$Custommetrics; + experiments: Resource$Management$Experiments; + filters: Resource$Management$Filters; + goals: Resource$Management$Goals; + profileFilterLinks: Resource$Management$Profilefilterlinks; + profiles: Resource$Management$Profiles; + profileUserLinks: Resource$Management$Profileuserlinks; + remarketingAudience: Resource$Management$Remarketingaudience; + segments: Resource$Management$Segments; + unsampledReports: Resource$Management$Unsampledreports; + uploads: Resource$Management$Uploads; + webproperties: Resource$Management$Webproperties; + webPropertyAdWordsLinks: Resource$Management$Webpropertyadwordslinks; + webpropertyUserLinks: Resource$Management$Webpropertyuserlinks; + constructor(root: Analytics); + getRoot(): Analytics; + } + class Resource$Management$Accounts { + root: Analytics; + constructor(root: Analytics); + getRoot(): Analytics; + /** + * analytics.management.accounts.list + * @desc Lists all accounts to which the user has access. + * @alias analytics.management.accounts.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {integer=} params.max-results The maximum number of accounts to include in this response. + * @param {integer=} params.start-index An index of the first account to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. + * @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?: Params$Resource$Management$Accounts$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Management$Accounts$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Management$Accounts$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Management$Accounts$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The maximum number of accounts to include in this response. + */ + 'max-results'?: number; + /** + * An index of the first account to retrieve. Use this parameter as a + * pagination mechanism along with the max-results parameter. + */ + 'start-index'?: number; + } + class Resource$Management$Accountsummaries { + root: Analytics; + constructor(root: Analytics); + getRoot(): Analytics; + /** + * analytics.management.accountSummaries.list + * @desc Lists account summaries (lightweight tree comprised of + * accounts/properties/profiles) to which the user has access. + * @alias analytics.management.accountSummaries.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {integer=} params.max-results The maximum number of account summaries to include in this response, where the largest acceptable value is 1000. + * @param {integer=} params.start-index An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. + * @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?: Params$Resource$Management$Accountsummaries$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Management$Accountsummaries$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Management$Accountsummaries$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Management$Accountsummaries$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The maximum number of account summaries to include in this response, + * where the largest acceptable value is 1000. + */ + 'max-results'?: number; + /** + * An index of the first entity to retrieve. Use this parameter as a + * pagination mechanism along with the max-results parameter. + */ + 'start-index'?: number; + } + class Resource$Management$Accountuserlinks { + root: Analytics; + constructor(root: Analytics); + getRoot(): Analytics; + /** + * analytics.management.accountUserLinks.delete + * @desc Removes a user from the given account. + * @alias analytics.management.accountUserLinks.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID to delete the user link for. + * @param {string} params.linkId Link ID to delete the user link for. + * @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?: Params$Resource$Management$Accountuserlinks$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Management$Accountuserlinks$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Management$Accountuserlinks$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * analytics.management.accountUserLinks.insert + * @desc Adds a new user to the given account. + * @alias analytics.management.accountUserLinks.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID to create the user link for. + * @param {().EntityUserLink} 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?: Params$Resource$Management$Accountuserlinks$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Management$Accountuserlinks$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Management$Accountuserlinks$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * analytics.management.accountUserLinks.list + * @desc Lists account-user links for a given account. + * @alias analytics.management.accountUserLinks.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID to retrieve the user links for. + * @param {integer=} params.max-results The maximum number of account-user links to include in this response. + * @param {integer=} params.start-index An index of the first account-user link to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. + * @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?: Params$Resource$Management$Accountuserlinks$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Management$Accountuserlinks$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Management$Accountuserlinks$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * analytics.management.accountUserLinks.update + * @desc Updates permissions for an existing user on the given account. + * @alias analytics.management.accountUserLinks.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID to update the account-user link for. + * @param {string} params.linkId Link ID to update the account-user link for. + * @param {().EntityUserLink} 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?: Params$Resource$Management$Accountuserlinks$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Management$Accountuserlinks$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Management$Accountuserlinks$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Management$Accountuserlinks$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID to delete the user link for. + */ + accountId?: string; + /** + * Link ID to delete the user link for. + */ + linkId?: string; + } + interface Params$Resource$Management$Accountuserlinks$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID to create the user link for. + */ + accountId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$EntityUserLink; + } + interface Params$Resource$Management$Accountuserlinks$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID to retrieve the user links for. + */ + accountId?: string; + /** + * The maximum number of account-user links to include in this response. + */ + 'max-results'?: number; + /** + * An index of the first account-user link to retrieve. Use this parameter + * as a pagination mechanism along with the max-results parameter. + */ + 'start-index'?: number; + } + interface Params$Resource$Management$Accountuserlinks$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID to update the account-user link for. + */ + accountId?: string; + /** + * Link ID to update the account-user link for. + */ + linkId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$EntityUserLink; + } + class Resource$Management$Clientid { + root: Analytics; + constructor(root: Analytics); + getRoot(): Analytics; + /** + * analytics.management.clientId.hashClientId + * @desc Hashes the given Client ID. + * @alias analytics.management.clientId.hashClientId + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().HashClientIdRequest} 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 + */ + hashClientId(params?: Params$Resource$Management$Clientid$Hashclientid, options?: MethodOptions): AxiosPromise; + hashClientId(params: Params$Resource$Management$Clientid$Hashclientid, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + hashClientId(params: Params$Resource$Management$Clientid$Hashclientid, callback: BodyResponseCallback): void; + hashClientId(callback: BodyResponseCallback): void; + } + interface Params$Resource$Management$Clientid$Hashclientid { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$HashClientIdRequest; + } + class Resource$Management$Customdatasources { + root: Analytics; + constructor(root: Analytics); + getRoot(): Analytics; + /** + * analytics.management.customDataSources.list + * @desc List custom data sources to which the user has access. + * @alias analytics.management.customDataSources.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account Id for the custom data sources to retrieve. + * @param {integer=} params.max-results The maximum number of custom data sources to include in this response. + * @param {integer=} params.start-index A 1-based index of the first custom data source to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. + * @param {string} params.webPropertyId Web property Id for the custom data sources to retrieve. + * @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?: Params$Resource$Management$Customdatasources$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Management$Customdatasources$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Management$Customdatasources$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Management$Customdatasources$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account Id for the custom data sources to retrieve. + */ + accountId?: string; + /** + * The maximum number of custom data sources to include in this response. + */ + 'max-results'?: number; + /** + * A 1-based index of the first custom data source to retrieve. Use this + * parameter as a pagination mechanism along with the max-results parameter. + */ + 'start-index'?: number; + /** + * Web property Id for the custom data sources to retrieve. + */ + webPropertyId?: string; + } + class Resource$Management$Customdimensions { + root: Analytics; + constructor(root: Analytics); + getRoot(): Analytics; + /** + * analytics.management.customDimensions.get + * @desc Get a custom dimension to which the user has access. + * @alias analytics.management.customDimensions.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID for the custom dimension to retrieve. + * @param {string} params.customDimensionId The ID of the custom dimension to retrieve. + * @param {string} params.webPropertyId Web property ID for the custom dimension to retrieve. + * @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?: Params$Resource$Management$Customdimensions$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Management$Customdimensions$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Management$Customdimensions$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * analytics.management.customDimensions.insert + * @desc Create a new custom dimension. + * @alias analytics.management.customDimensions.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID for the custom dimension to create. + * @param {string} params.webPropertyId Web property ID for the custom dimension to create. + * @param {().CustomDimension} 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?: Params$Resource$Management$Customdimensions$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Management$Customdimensions$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Management$Customdimensions$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * analytics.management.customDimensions.list + * @desc Lists custom dimensions to which the user has access. + * @alias analytics.management.customDimensions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID for the custom dimensions to retrieve. + * @param {integer=} params.max-results The maximum number of custom dimensions to include in this response. + * @param {integer=} params.start-index An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. + * @param {string} params.webPropertyId Web property ID for the custom dimensions to retrieve. + * @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?: Params$Resource$Management$Customdimensions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Management$Customdimensions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Management$Customdimensions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * analytics.management.customDimensions.patch + * @desc Updates an existing custom dimension. This method supports patch + * semantics. + * @alias analytics.management.customDimensions.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID for the custom dimension to update. + * @param {string} params.customDimensionId Custom dimension ID for the custom dimension to update. + * @param {boolean=} params.ignoreCustomDataSourceLinks Force the update and ignore any warnings related to the custom dimension being linked to a custom data source / data set. + * @param {string} params.webPropertyId Web property ID for the custom dimension to update. + * @param {().CustomDimension} 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 + */ + patch(params?: Params$Resource$Management$Customdimensions$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Management$Customdimensions$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Management$Customdimensions$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * analytics.management.customDimensions.update + * @desc Updates an existing custom dimension. + * @alias analytics.management.customDimensions.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID for the custom dimension to update. + * @param {string} params.customDimensionId Custom dimension ID for the custom dimension to update. + * @param {boolean=} params.ignoreCustomDataSourceLinks Force the update and ignore any warnings related to the custom dimension being linked to a custom data source / data set. + * @param {string} params.webPropertyId Web property ID for the custom dimension to update. + * @param {().CustomDimension} 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?: Params$Resource$Management$Customdimensions$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Management$Customdimensions$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Management$Customdimensions$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Management$Customdimensions$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID for the custom dimension to retrieve. + */ + accountId?: string; + /** + * The ID of the custom dimension to retrieve. + */ + customDimensionId?: string; + /** + * Web property ID for the custom dimension to retrieve. + */ + webPropertyId?: string; + } + interface Params$Resource$Management$Customdimensions$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID for the custom dimension to create. + */ + accountId?: string; + /** + * Web property ID for the custom dimension to create. + */ + webPropertyId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CustomDimension; + } + interface Params$Resource$Management$Customdimensions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID for the custom dimensions to retrieve. + */ + accountId?: string; + /** + * The maximum number of custom dimensions to include in this response. + */ + 'max-results'?: number; + /** + * An index of the first entity to retrieve. Use this parameter as a + * pagination mechanism along with the max-results parameter. + */ + 'start-index'?: number; + /** + * Web property ID for the custom dimensions to retrieve. + */ + webPropertyId?: string; + } + interface Params$Resource$Management$Customdimensions$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID for the custom dimension to update. + */ + accountId?: string; + /** + * Custom dimension ID for the custom dimension to update. + */ + customDimensionId?: string; + /** + * Force the update and ignore any warnings related to the custom dimension + * being linked to a custom data source / data set. + */ + ignoreCustomDataSourceLinks?: boolean; + /** + * Web property ID for the custom dimension to update. + */ + webPropertyId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CustomDimension; + } + interface Params$Resource$Management$Customdimensions$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID for the custom dimension to update. + */ + accountId?: string; + /** + * Custom dimension ID for the custom dimension to update. + */ + customDimensionId?: string; + /** + * Force the update and ignore any warnings related to the custom dimension + * being linked to a custom data source / data set. + */ + ignoreCustomDataSourceLinks?: boolean; + /** + * Web property ID for the custom dimension to update. + */ + webPropertyId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CustomDimension; + } + class Resource$Management$Custommetrics { + root: Analytics; + constructor(root: Analytics); + getRoot(): Analytics; + /** + * analytics.management.customMetrics.get + * @desc Get a custom metric to which the user has access. + * @alias analytics.management.customMetrics.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID for the custom metric to retrieve. + * @param {string} params.customMetricId The ID of the custom metric to retrieve. + * @param {string} params.webPropertyId Web property ID for the custom metric to retrieve. + * @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?: Params$Resource$Management$Custommetrics$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Management$Custommetrics$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Management$Custommetrics$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * analytics.management.customMetrics.insert + * @desc Create a new custom metric. + * @alias analytics.management.customMetrics.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID for the custom metric to create. + * @param {string} params.webPropertyId Web property ID for the custom dimension to create. + * @param {().CustomMetric} 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?: Params$Resource$Management$Custommetrics$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Management$Custommetrics$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Management$Custommetrics$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * analytics.management.customMetrics.list + * @desc Lists custom metrics to which the user has access. + * @alias analytics.management.customMetrics.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID for the custom metrics to retrieve. + * @param {integer=} params.max-results The maximum number of custom metrics to include in this response. + * @param {integer=} params.start-index An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. + * @param {string} params.webPropertyId Web property ID for the custom metrics to retrieve. + * @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?: Params$Resource$Management$Custommetrics$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Management$Custommetrics$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Management$Custommetrics$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * analytics.management.customMetrics.patch + * @desc Updates an existing custom metric. This method supports patch + * semantics. + * @alias analytics.management.customMetrics.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID for the custom metric to update. + * @param {string} params.customMetricId Custom metric ID for the custom metric to update. + * @param {boolean=} params.ignoreCustomDataSourceLinks Force the update and ignore any warnings related to the custom metric being linked to a custom data source / data set. + * @param {string} params.webPropertyId Web property ID for the custom metric to update. + * @param {().CustomMetric} 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 + */ + patch(params?: Params$Resource$Management$Custommetrics$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Management$Custommetrics$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Management$Custommetrics$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * analytics.management.customMetrics.update + * @desc Updates an existing custom metric. + * @alias analytics.management.customMetrics.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID for the custom metric to update. + * @param {string} params.customMetricId Custom metric ID for the custom metric to update. + * @param {boolean=} params.ignoreCustomDataSourceLinks Force the update and ignore any warnings related to the custom metric being linked to a custom data source / data set. + * @param {string} params.webPropertyId Web property ID for the custom metric to update. + * @param {().CustomMetric} 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?: Params$Resource$Management$Custommetrics$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Management$Custommetrics$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Management$Custommetrics$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Management$Custommetrics$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID for the custom metric to retrieve. + */ + accountId?: string; + /** + * The ID of the custom metric to retrieve. + */ + customMetricId?: string; + /** + * Web property ID for the custom metric to retrieve. + */ + webPropertyId?: string; + } + interface Params$Resource$Management$Custommetrics$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID for the custom metric to create. + */ + accountId?: string; + /** + * Web property ID for the custom dimension to create. + */ + webPropertyId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CustomMetric; + } + interface Params$Resource$Management$Custommetrics$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID for the custom metrics to retrieve. + */ + accountId?: string; + /** + * The maximum number of custom metrics to include in this response. + */ + 'max-results'?: number; + /** + * An index of the first entity to retrieve. Use this parameter as a + * pagination mechanism along with the max-results parameter. + */ + 'start-index'?: number; + /** + * Web property ID for the custom metrics to retrieve. + */ + webPropertyId?: string; + } + interface Params$Resource$Management$Custommetrics$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID for the custom metric to update. + */ + accountId?: string; + /** + * Custom metric ID for the custom metric to update. + */ + customMetricId?: string; + /** + * Force the update and ignore any warnings related to the custom metric + * being linked to a custom data source / data set. + */ + ignoreCustomDataSourceLinks?: boolean; + /** + * Web property ID for the custom metric to update. + */ + webPropertyId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CustomMetric; + } + interface Params$Resource$Management$Custommetrics$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID for the custom metric to update. + */ + accountId?: string; + /** + * Custom metric ID for the custom metric to update. + */ + customMetricId?: string; + /** + * Force the update and ignore any warnings related to the custom metric + * being linked to a custom data source / data set. + */ + ignoreCustomDataSourceLinks?: boolean; + /** + * Web property ID for the custom metric to update. + */ + webPropertyId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CustomMetric; + } + class Resource$Management$Experiments { + root: Analytics; + constructor(root: Analytics); + getRoot(): Analytics; + /** + * analytics.management.experiments.delete + * @desc Delete an experiment. + * @alias analytics.management.experiments.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID to which the experiment belongs + * @param {string} params.experimentId ID of the experiment to delete + * @param {string} params.profileId View (Profile) ID to which the experiment belongs + * @param {string} params.webPropertyId Web property ID to which the experiment belongs + * @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?: Params$Resource$Management$Experiments$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Management$Experiments$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Management$Experiments$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * analytics.management.experiments.get + * @desc Returns an experiment to which the user has access. + * @alias analytics.management.experiments.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID to retrieve the experiment for. + * @param {string} params.experimentId Experiment ID to retrieve the experiment for. + * @param {string} params.profileId View (Profile) ID to retrieve the experiment for. + * @param {string} params.webPropertyId Web property ID to retrieve the experiment for. + * @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?: Params$Resource$Management$Experiments$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Management$Experiments$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Management$Experiments$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * analytics.management.experiments.insert + * @desc Create a new experiment. + * @alias analytics.management.experiments.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID to create the experiment for. + * @param {string} params.profileId View (Profile) ID to create the experiment for. + * @param {string} params.webPropertyId Web property ID to create the experiment for. + * @param {().Experiment} 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?: Params$Resource$Management$Experiments$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Management$Experiments$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Management$Experiments$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * analytics.management.experiments.list + * @desc Lists experiments to which the user has access. + * @alias analytics.management.experiments.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID to retrieve experiments for. + * @param {integer=} params.max-results The maximum number of experiments to include in this response. + * @param {string} params.profileId View (Profile) ID to retrieve experiments for. + * @param {integer=} params.start-index An index of the first experiment to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. + * @param {string} params.webPropertyId Web property ID to retrieve experiments for. + * @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?: Params$Resource$Management$Experiments$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Management$Experiments$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Management$Experiments$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * analytics.management.experiments.patch + * @desc Update an existing experiment. This method supports patch + * semantics. + * @alias analytics.management.experiments.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID of the experiment to update. + * @param {string} params.experimentId Experiment ID of the experiment to update. + * @param {string} params.profileId View (Profile) ID of the experiment to update. + * @param {string} params.webPropertyId Web property ID of the experiment to update. + * @param {().Experiment} 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 + */ + patch(params?: Params$Resource$Management$Experiments$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Management$Experiments$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Management$Experiments$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * analytics.management.experiments.update + * @desc Update an existing experiment. + * @alias analytics.management.experiments.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID of the experiment to update. + * @param {string} params.experimentId Experiment ID of the experiment to update. + * @param {string} params.profileId View (Profile) ID of the experiment to update. + * @param {string} params.webPropertyId Web property ID of the experiment to update. + * @param {().Experiment} 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?: Params$Resource$Management$Experiments$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Management$Experiments$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Management$Experiments$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Management$Experiments$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID to which the experiment belongs + */ + accountId?: string; + /** + * ID of the experiment to delete + */ + experimentId?: string; + /** + * View (Profile) ID to which the experiment belongs + */ + profileId?: string; + /** + * Web property ID to which the experiment belongs + */ + webPropertyId?: string; + } + interface Params$Resource$Management$Experiments$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID to retrieve the experiment for. + */ + accountId?: string; + /** + * Experiment ID to retrieve the experiment for. + */ + experimentId?: string; + /** + * View (Profile) ID to retrieve the experiment for. + */ + profileId?: string; + /** + * Web property ID to retrieve the experiment for. + */ + webPropertyId?: string; + } + interface Params$Resource$Management$Experiments$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID to create the experiment for. + */ + accountId?: string; + /** + * View (Profile) ID to create the experiment for. + */ + profileId?: string; + /** + * Web property ID to create the experiment for. + */ + webPropertyId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Experiment; + } + interface Params$Resource$Management$Experiments$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID to retrieve experiments for. + */ + accountId?: string; + /** + * The maximum number of experiments to include in this response. + */ + 'max-results'?: number; + /** + * View (Profile) ID to retrieve experiments for. + */ + profileId?: string; + /** + * An index of the first experiment to retrieve. Use this parameter as a + * pagination mechanism along with the max-results parameter. + */ + 'start-index'?: number; + /** + * Web property ID to retrieve experiments for. + */ + webPropertyId?: string; + } + interface Params$Resource$Management$Experiments$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID of the experiment to update. + */ + accountId?: string; + /** + * Experiment ID of the experiment to update. + */ + experimentId?: string; + /** + * View (Profile) ID of the experiment to update. + */ + profileId?: string; + /** + * Web property ID of the experiment to update. + */ + webPropertyId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Experiment; + } + interface Params$Resource$Management$Experiments$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID of the experiment to update. + */ + accountId?: string; + /** + * Experiment ID of the experiment to update. + */ + experimentId?: string; + /** + * View (Profile) ID of the experiment to update. + */ + profileId?: string; + /** + * Web property ID of the experiment to update. + */ + webPropertyId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Experiment; + } + class Resource$Management$Filters { + root: Analytics; + constructor(root: Analytics); + getRoot(): Analytics; + /** + * analytics.management.filters.delete + * @desc Delete a filter. + * @alias analytics.management.filters.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID to delete the filter for. + * @param {string} params.filterId ID of the filter to be deleted. + * @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?: Params$Resource$Management$Filters$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Management$Filters$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Management$Filters$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * analytics.management.filters.get + * @desc Returns a filters to which the user has access. + * @alias analytics.management.filters.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID to retrieve filters for. + * @param {string} params.filterId Filter ID to retrieve filters for. + * @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?: Params$Resource$Management$Filters$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Management$Filters$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Management$Filters$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * analytics.management.filters.insert + * @desc Create a new filter. + * @alias analytics.management.filters.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID to create filter for. + * @param {().Filter} 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?: Params$Resource$Management$Filters$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Management$Filters$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Management$Filters$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * analytics.management.filters.list + * @desc Lists all filters for an account + * @alias analytics.management.filters.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID to retrieve filters for. + * @param {integer=} params.max-results The maximum number of filters to include in this response. + * @param {integer=} params.start-index An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. + * @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?: Params$Resource$Management$Filters$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Management$Filters$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Management$Filters$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * analytics.management.filters.patch + * @desc Updates an existing filter. This method supports patch semantics. + * @alias analytics.management.filters.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID to which the filter belongs. + * @param {string} params.filterId ID of the filter to be updated. + * @param {().Filter} 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 + */ + patch(params?: Params$Resource$Management$Filters$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Management$Filters$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Management$Filters$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * analytics.management.filters.update + * @desc Updates an existing filter. + * @alias analytics.management.filters.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID to which the filter belongs. + * @param {string} params.filterId ID of the filter to be updated. + * @param {().Filter} 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?: Params$Resource$Management$Filters$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Management$Filters$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Management$Filters$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Management$Filters$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID to delete the filter for. + */ + accountId?: string; + /** + * ID of the filter to be deleted. + */ + filterId?: string; + } + interface Params$Resource$Management$Filters$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID to retrieve filters for. + */ + accountId?: string; + /** + * Filter ID to retrieve filters for. + */ + filterId?: string; + } + interface Params$Resource$Management$Filters$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID to create filter for. + */ + accountId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Filter; + } + interface Params$Resource$Management$Filters$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID to retrieve filters for. + */ + accountId?: string; + /** + * The maximum number of filters to include in this response. + */ + 'max-results'?: number; + /** + * An index of the first entity to retrieve. Use this parameter as a + * pagination mechanism along with the max-results parameter. + */ + 'start-index'?: number; + } + interface Params$Resource$Management$Filters$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID to which the filter belongs. + */ + accountId?: string; + /** + * ID of the filter to be updated. + */ + filterId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Filter; + } + interface Params$Resource$Management$Filters$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID to which the filter belongs. + */ + accountId?: string; + /** + * ID of the filter to be updated. + */ + filterId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Filter; + } + class Resource$Management$Goals { + root: Analytics; + constructor(root: Analytics); + getRoot(): Analytics; + /** + * analytics.management.goals.get + * @desc Gets a goal to which the user has access. + * @alias analytics.management.goals.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID to retrieve the goal for. + * @param {string} params.goalId Goal ID to retrieve the goal for. + * @param {string} params.profileId View (Profile) ID to retrieve the goal for. + * @param {string} params.webPropertyId Web property ID to retrieve the goal for. + * @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?: Params$Resource$Management$Goals$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Management$Goals$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Management$Goals$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * analytics.management.goals.insert + * @desc Create a new goal. + * @alias analytics.management.goals.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID to create the goal for. + * @param {string} params.profileId View (Profile) ID to create the goal for. + * @param {string} params.webPropertyId Web property ID to create the goal for. + * @param {().Goal} 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?: Params$Resource$Management$Goals$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Management$Goals$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Management$Goals$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * analytics.management.goals.list + * @desc Lists goals to which the user has access. + * @alias analytics.management.goals.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID to retrieve goals for. Can either be a specific account ID or '~all', which refers to all the accounts that user has access to. + * @param {integer=} params.max-results The maximum number of goals to include in this response. + * @param {string} params.profileId View (Profile) ID to retrieve goals for. Can either be a specific view (profile) ID or '~all', which refers to all the views (profiles) that user has access to. + * @param {integer=} params.start-index An index of the first goal to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. + * @param {string} params.webPropertyId Web property ID to retrieve goals for. Can either be a specific web property ID or '~all', which refers to all the web properties that user has access to. + * @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?: Params$Resource$Management$Goals$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Management$Goals$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Management$Goals$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * analytics.management.goals.patch + * @desc Updates an existing goal. This method supports patch semantics. + * @alias analytics.management.goals.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID to update the goal. + * @param {string} params.goalId Index of the goal to be updated. + * @param {string} params.profileId View (Profile) ID to update the goal. + * @param {string} params.webPropertyId Web property ID to update the goal. + * @param {().Goal} 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 + */ + patch(params?: Params$Resource$Management$Goals$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Management$Goals$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Management$Goals$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * analytics.management.goals.update + * @desc Updates an existing goal. + * @alias analytics.management.goals.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID to update the goal. + * @param {string} params.goalId Index of the goal to be updated. + * @param {string} params.profileId View (Profile) ID to update the goal. + * @param {string} params.webPropertyId Web property ID to update the goal. + * @param {().Goal} 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?: Params$Resource$Management$Goals$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Management$Goals$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Management$Goals$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Management$Goals$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID to retrieve the goal for. + */ + accountId?: string; + /** + * Goal ID to retrieve the goal for. + */ + goalId?: string; + /** + * View (Profile) ID to retrieve the goal for. + */ + profileId?: string; + /** + * Web property ID to retrieve the goal for. + */ + webPropertyId?: string; + } + interface Params$Resource$Management$Goals$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID to create the goal for. + */ + accountId?: string; + /** + * View (Profile) ID to create the goal for. + */ + profileId?: string; + /** + * Web property ID to create the goal for. + */ + webPropertyId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Goal; + } + interface Params$Resource$Management$Goals$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID to retrieve goals for. Can either be a specific account ID or + * '~all', which refers to all the accounts that user has access to. + */ + accountId?: string; + /** + * The maximum number of goals to include in this response. + */ + 'max-results'?: number; + /** + * View (Profile) ID to retrieve goals for. Can either be a specific view + * (profile) ID or '~all', which refers to all the views (profiles) that + * user has access to. + */ + profileId?: string; + /** + * An index of the first goal to retrieve. Use this parameter as a + * pagination mechanism along with the max-results parameter. + */ + 'start-index'?: number; + /** + * Web property ID to retrieve goals for. Can either be a specific web + * property ID or '~all', which refers to all the web properties that user + * has access to. + */ + webPropertyId?: string; + } + interface Params$Resource$Management$Goals$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID to update the goal. + */ + accountId?: string; + /** + * Index of the goal to be updated. + */ + goalId?: string; + /** + * View (Profile) ID to update the goal. + */ + profileId?: string; + /** + * Web property ID to update the goal. + */ + webPropertyId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Goal; + } + interface Params$Resource$Management$Goals$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID to update the goal. + */ + accountId?: string; + /** + * Index of the goal to be updated. + */ + goalId?: string; + /** + * View (Profile) ID to update the goal. + */ + profileId?: string; + /** + * Web property ID to update the goal. + */ + webPropertyId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Goal; + } + class Resource$Management$Profilefilterlinks { + root: Analytics; + constructor(root: Analytics); + getRoot(): Analytics; + /** + * analytics.management.profileFilterLinks.delete + * @desc Delete a profile filter link. + * @alias analytics.management.profileFilterLinks.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID to which the profile filter link belongs. + * @param {string} params.linkId ID of the profile filter link to delete. + * @param {string} params.profileId Profile ID to which the filter link belongs. + * @param {string} params.webPropertyId Web property Id to which the profile filter link belongs. + * @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?: Params$Resource$Management$Profilefilterlinks$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Management$Profilefilterlinks$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Management$Profilefilterlinks$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * analytics.management.profileFilterLinks.get + * @desc Returns a single profile filter link. + * @alias analytics.management.profileFilterLinks.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID to retrieve profile filter link for. + * @param {string} params.linkId ID of the profile filter link. + * @param {string} params.profileId Profile ID to retrieve filter link for. + * @param {string} params.webPropertyId Web property Id to retrieve profile filter link for. + * @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?: Params$Resource$Management$Profilefilterlinks$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Management$Profilefilterlinks$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Management$Profilefilterlinks$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * analytics.management.profileFilterLinks.insert + * @desc Create a new profile filter link. + * @alias analytics.management.profileFilterLinks.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID to create profile filter link for. + * @param {string} params.profileId Profile ID to create filter link for. + * @param {string} params.webPropertyId Web property Id to create profile filter link for. + * @param {().ProfileFilterLink} 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?: Params$Resource$Management$Profilefilterlinks$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Management$Profilefilterlinks$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Management$Profilefilterlinks$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * analytics.management.profileFilterLinks.list + * @desc Lists all profile filter links for a profile. + * @alias analytics.management.profileFilterLinks.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID to retrieve profile filter links for. + * @param {integer=} params.max-results The maximum number of profile filter links to include in this response. + * @param {string} params.profileId Profile ID to retrieve filter links for. Can either be a specific profile ID or '~all', which refers to all the profiles that user has access to. + * @param {integer=} params.start-index An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. + * @param {string} params.webPropertyId Web property Id for profile filter links for. Can either be a specific web property ID or '~all', which refers to all the web properties that user has access to. + * @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?: Params$Resource$Management$Profilefilterlinks$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Management$Profilefilterlinks$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Management$Profilefilterlinks$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * analytics.management.profileFilterLinks.patch + * @desc Update an existing profile filter link. This method supports patch + * semantics. + * @alias analytics.management.profileFilterLinks.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID to which profile filter link belongs. + * @param {string} params.linkId ID of the profile filter link to be updated. + * @param {string} params.profileId Profile ID to which filter link belongs + * @param {string} params.webPropertyId Web property Id to which profile filter link belongs + * @param {().ProfileFilterLink} 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 + */ + patch(params?: Params$Resource$Management$Profilefilterlinks$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Management$Profilefilterlinks$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Management$Profilefilterlinks$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * analytics.management.profileFilterLinks.update + * @desc Update an existing profile filter link. + * @alias analytics.management.profileFilterLinks.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID to which profile filter link belongs. + * @param {string} params.linkId ID of the profile filter link to be updated. + * @param {string} params.profileId Profile ID to which filter link belongs + * @param {string} params.webPropertyId Web property Id to which profile filter link belongs + * @param {().ProfileFilterLink} 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?: Params$Resource$Management$Profilefilterlinks$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Management$Profilefilterlinks$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Management$Profilefilterlinks$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Management$Profilefilterlinks$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID to which the profile filter link belongs. + */ + accountId?: string; + /** + * ID of the profile filter link to delete. + */ + linkId?: string; + /** + * Profile ID to which the filter link belongs. + */ + profileId?: string; + /** + * Web property Id to which the profile filter link belongs. + */ + webPropertyId?: string; + } + interface Params$Resource$Management$Profilefilterlinks$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID to retrieve profile filter link for. + */ + accountId?: string; + /** + * ID of the profile filter link. + */ + linkId?: string; + /** + * Profile ID to retrieve filter link for. + */ + profileId?: string; + /** + * Web property Id to retrieve profile filter link for. + */ + webPropertyId?: string; + } + interface Params$Resource$Management$Profilefilterlinks$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID to create profile filter link for. + */ + accountId?: string; + /** + * Profile ID to create filter link for. + */ + profileId?: string; + /** + * Web property Id to create profile filter link for. + */ + webPropertyId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ProfileFilterLink; + } + interface Params$Resource$Management$Profilefilterlinks$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID to retrieve profile filter links for. + */ + accountId?: string; + /** + * The maximum number of profile filter links to include in this response. + */ + 'max-results'?: number; + /** + * Profile ID to retrieve filter links for. Can either be a specific profile + * ID or '~all', which refers to all the profiles that user has access to. + */ + profileId?: string; + /** + * An index of the first entity to retrieve. Use this parameter as a + * pagination mechanism along with the max-results parameter. + */ + 'start-index'?: number; + /** + * Web property Id for profile filter links for. Can either be a specific + * web property ID or '~all', which refers to all the web properties that + * user has access to. + */ + webPropertyId?: string; + } + interface Params$Resource$Management$Profilefilterlinks$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID to which profile filter link belongs. + */ + accountId?: string; + /** + * ID of the profile filter link to be updated. + */ + linkId?: string; + /** + * Profile ID to which filter link belongs + */ + profileId?: string; + /** + * Web property Id to which profile filter link belongs + */ + webPropertyId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ProfileFilterLink; + } + interface Params$Resource$Management$Profilefilterlinks$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID to which profile filter link belongs. + */ + accountId?: string; + /** + * ID of the profile filter link to be updated. + */ + linkId?: string; + /** + * Profile ID to which filter link belongs + */ + profileId?: string; + /** + * Web property Id to which profile filter link belongs + */ + webPropertyId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ProfileFilterLink; + } + class Resource$Management$Profiles { + root: Analytics; + constructor(root: Analytics); + getRoot(): Analytics; + /** + * analytics.management.profiles.delete + * @desc Deletes a view (profile). + * @alias analytics.management.profiles.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID to delete the view (profile) for. + * @param {string} params.profileId ID of the view (profile) to be deleted. + * @param {string} params.webPropertyId Web property ID to delete the view (profile) for. + * @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?: Params$Resource$Management$Profiles$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Management$Profiles$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Management$Profiles$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * analytics.management.profiles.get + * @desc Gets a view (profile) to which the user has access. + * @alias analytics.management.profiles.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID to retrieve the view (profile) for. + * @param {string} params.profileId View (Profile) ID to retrieve the view (profile) for. + * @param {string} params.webPropertyId Web property ID to retrieve the view (profile) for. + * @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?: Params$Resource$Management$Profiles$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Management$Profiles$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Management$Profiles$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * analytics.management.profiles.insert + * @desc Create a new view (profile). + * @alias analytics.management.profiles.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID to create the view (profile) for. + * @param {string} params.webPropertyId Web property ID to create the view (profile) for. + * @param {().Profile} 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?: Params$Resource$Management$Profiles$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Management$Profiles$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Management$Profiles$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * analytics.management.profiles.list + * @desc Lists views (profiles) to which the user has access. + * @alias analytics.management.profiles.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID for the view (profiles) to retrieve. Can either be a specific account ID or '~all', which refers to all the accounts to which the user has access. + * @param {integer=} params.max-results The maximum number of views (profiles) to include in this response. + * @param {integer=} params.start-index An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. + * @param {string} params.webPropertyId Web property ID for the views (profiles) to retrieve. Can either be a specific web property ID or '~all', which refers to all the web properties to which the user has access. + * @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?: Params$Resource$Management$Profiles$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Management$Profiles$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Management$Profiles$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * analytics.management.profiles.patch + * @desc Updates an existing view (profile). This method supports patch + * semantics. + * @alias analytics.management.profiles.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID to which the view (profile) belongs + * @param {string} params.profileId ID of the view (profile) to be updated. + * @param {string} params.webPropertyId Web property ID to which the view (profile) belongs + * @param {().Profile} 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 + */ + patch(params?: Params$Resource$Management$Profiles$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Management$Profiles$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Management$Profiles$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * analytics.management.profiles.update + * @desc Updates an existing view (profile). + * @alias analytics.management.profiles.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID to which the view (profile) belongs + * @param {string} params.profileId ID of the view (profile) to be updated. + * @param {string} params.webPropertyId Web property ID to which the view (profile) belongs + * @param {().Profile} 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?: Params$Resource$Management$Profiles$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Management$Profiles$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Management$Profiles$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Management$Profiles$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID to delete the view (profile) for. + */ + accountId?: string; + /** + * ID of the view (profile) to be deleted. + */ + profileId?: string; + /** + * Web property ID to delete the view (profile) for. + */ + webPropertyId?: string; + } + interface Params$Resource$Management$Profiles$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID to retrieve the view (profile) for. + */ + accountId?: string; + /** + * View (Profile) ID to retrieve the view (profile) for. + */ + profileId?: string; + /** + * Web property ID to retrieve the view (profile) for. + */ + webPropertyId?: string; + } + interface Params$Resource$Management$Profiles$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID to create the view (profile) for. + */ + accountId?: string; + /** + * Web property ID to create the view (profile) for. + */ + webPropertyId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Profile; + } + interface Params$Resource$Management$Profiles$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID for the view (profiles) to retrieve. Can either be a specific + * account ID or '~all', which refers to all the accounts to which the user + * has access. + */ + accountId?: string; + /** + * The maximum number of views (profiles) to include in this response. + */ + 'max-results'?: number; + /** + * An index of the first entity to retrieve. Use this parameter as a + * pagination mechanism along with the max-results parameter. + */ + 'start-index'?: number; + /** + * Web property ID for the views (profiles) to retrieve. Can either be a + * specific web property ID or '~all', which refers to all the web + * properties to which the user has access. + */ + webPropertyId?: string; + } + interface Params$Resource$Management$Profiles$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID to which the view (profile) belongs + */ + accountId?: string; + /** + * ID of the view (profile) to be updated. + */ + profileId?: string; + /** + * Web property ID to which the view (profile) belongs + */ + webPropertyId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Profile; + } + interface Params$Resource$Management$Profiles$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID to which the view (profile) belongs + */ + accountId?: string; + /** + * ID of the view (profile) to be updated. + */ + profileId?: string; + /** + * Web property ID to which the view (profile) belongs + */ + webPropertyId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Profile; + } + class Resource$Management$Profileuserlinks { + root: Analytics; + constructor(root: Analytics); + getRoot(): Analytics; + /** + * analytics.management.profileUserLinks.delete + * @desc Removes a user from the given view (profile). + * @alias analytics.management.profileUserLinks.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID to delete the user link for. + * @param {string} params.linkId Link ID to delete the user link for. + * @param {string} params.profileId View (Profile) ID to delete the user link for. + * @param {string} params.webPropertyId Web Property ID to delete the user link for. + * @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?: Params$Resource$Management$Profileuserlinks$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Management$Profileuserlinks$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Management$Profileuserlinks$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * analytics.management.profileUserLinks.insert + * @desc Adds a new user to the given view (profile). + * @alias analytics.management.profileUserLinks.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID to create the user link for. + * @param {string} params.profileId View (Profile) ID to create the user link for. + * @param {string} params.webPropertyId Web Property ID to create the user link for. + * @param {().EntityUserLink} 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?: Params$Resource$Management$Profileuserlinks$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Management$Profileuserlinks$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Management$Profileuserlinks$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * analytics.management.profileUserLinks.list + * @desc Lists profile-user links for a given view (profile). + * @alias analytics.management.profileUserLinks.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID which the given view (profile) belongs to. + * @param {integer=} params.max-results The maximum number of profile-user links to include in this response. + * @param {string} params.profileId View (Profile) ID to retrieve the profile-user links for. Can either be a specific profile ID or '~all', which refers to all the profiles that user has access to. + * @param {integer=} params.start-index An index of the first profile-user link to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. + * @param {string} params.webPropertyId Web Property ID which the given view (profile) belongs to. Can either be a specific web property ID or '~all', which refers to all the web properties that user has access to. + * @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?: Params$Resource$Management$Profileuserlinks$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Management$Profileuserlinks$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Management$Profileuserlinks$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * analytics.management.profileUserLinks.update + * @desc Updates permissions for an existing user on the given view + * (profile). + * @alias analytics.management.profileUserLinks.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID to update the user link for. + * @param {string} params.linkId Link ID to update the user link for. + * @param {string} params.profileId View (Profile ID) to update the user link for. + * @param {string} params.webPropertyId Web Property ID to update the user link for. + * @param {().EntityUserLink} 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?: Params$Resource$Management$Profileuserlinks$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Management$Profileuserlinks$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Management$Profileuserlinks$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Management$Profileuserlinks$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID to delete the user link for. + */ + accountId?: string; + /** + * Link ID to delete the user link for. + */ + linkId?: string; + /** + * View (Profile) ID to delete the user link for. + */ + profileId?: string; + /** + * Web Property ID to delete the user link for. + */ + webPropertyId?: string; + } + interface Params$Resource$Management$Profileuserlinks$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID to create the user link for. + */ + accountId?: string; + /** + * View (Profile) ID to create the user link for. + */ + profileId?: string; + /** + * Web Property ID to create the user link for. + */ + webPropertyId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$EntityUserLink; + } + interface Params$Resource$Management$Profileuserlinks$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID which the given view (profile) belongs to. + */ + accountId?: string; + /** + * The maximum number of profile-user links to include in this response. + */ + 'max-results'?: number; + /** + * View (Profile) ID to retrieve the profile-user links for. Can either be a + * specific profile ID or '~all', which refers to all the profiles that user + * has access to. + */ + profileId?: string; + /** + * An index of the first profile-user link to retrieve. Use this parameter + * as a pagination mechanism along with the max-results parameter. + */ + 'start-index'?: number; + /** + * Web Property ID which the given view (profile) belongs to. Can either be + * a specific web property ID or '~all', which refers to all the web + * properties that user has access to. + */ + webPropertyId?: string; + } + interface Params$Resource$Management$Profileuserlinks$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID to update the user link for. + */ + accountId?: string; + /** + * Link ID to update the user link for. + */ + linkId?: string; + /** + * View (Profile ID) to update the user link for. + */ + profileId?: string; + /** + * Web Property ID to update the user link for. + */ + webPropertyId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$EntityUserLink; + } + class Resource$Management$Remarketingaudience { + root: Analytics; + constructor(root: Analytics); + getRoot(): Analytics; + /** + * analytics.management.remarketingAudience.delete + * @desc Delete a remarketing audience. + * @alias analytics.management.remarketingAudience.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID to which the remarketing audience belongs. + * @param {string} params.remarketingAudienceId The ID of the remarketing audience to delete. + * @param {string} params.webPropertyId Web property ID to which the remarketing audience belongs. + * @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?: Params$Resource$Management$Remarketingaudience$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Management$Remarketingaudience$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Management$Remarketingaudience$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * analytics.management.remarketingAudience.get + * @desc Gets a remarketing audience to which the user has access. + * @alias analytics.management.remarketingAudience.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The account ID of the remarketing audience to retrieve. + * @param {string} params.remarketingAudienceId The ID of the remarketing audience to retrieve. + * @param {string} params.webPropertyId The web property ID of the remarketing audience to retrieve. + * @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?: Params$Resource$Management$Remarketingaudience$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Management$Remarketingaudience$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Management$Remarketingaudience$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * analytics.management.remarketingAudience.insert + * @desc Creates a new remarketing audience. + * @alias analytics.management.remarketingAudience.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The account ID for which to create the remarketing audience. + * @param {string} params.webPropertyId Web property ID for which to create the remarketing audience. + * @param {().RemarketingAudience} 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?: Params$Resource$Management$Remarketingaudience$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Management$Remarketingaudience$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Management$Remarketingaudience$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * analytics.management.remarketingAudience.list + * @desc Lists remarketing audiences to which the user has access. + * @alias analytics.management.remarketingAudience.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The account ID of the remarketing audiences to retrieve. + * @param {integer=} params.max-results The maximum number of remarketing audiences to include in this response. + * @param {integer=} params.start-index An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. + * @param {string=} params.type + * @param {string} params.webPropertyId The web property ID of the remarketing audiences to retrieve. + * @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?: Params$Resource$Management$Remarketingaudience$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Management$Remarketingaudience$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Management$Remarketingaudience$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * analytics.management.remarketingAudience.patch + * @desc Updates an existing remarketing audience. This method supports + * patch semantics. + * @alias analytics.management.remarketingAudience.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The account ID of the remarketing audience to update. + * @param {string} params.remarketingAudienceId The ID of the remarketing audience to update. + * @param {string} params.webPropertyId The web property ID of the remarketing audience to update. + * @param {().RemarketingAudience} 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 + */ + patch(params?: Params$Resource$Management$Remarketingaudience$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Management$Remarketingaudience$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Management$Remarketingaudience$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * analytics.management.remarketingAudience.update + * @desc Updates an existing remarketing audience. + * @alias analytics.management.remarketingAudience.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The account ID of the remarketing audience to update. + * @param {string} params.remarketingAudienceId The ID of the remarketing audience to update. + * @param {string} params.webPropertyId The web property ID of the remarketing audience to update. + * @param {().RemarketingAudience} 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?: Params$Resource$Management$Remarketingaudience$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Management$Remarketingaudience$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Management$Remarketingaudience$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Management$Remarketingaudience$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID to which the remarketing audience belongs. + */ + accountId?: string; + /** + * The ID of the remarketing audience to delete. + */ + remarketingAudienceId?: string; + /** + * Web property ID to which the remarketing audience belongs. + */ + webPropertyId?: string; + } + interface Params$Resource$Management$Remarketingaudience$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The account ID of the remarketing audience to retrieve. + */ + accountId?: string; + /** + * The ID of the remarketing audience to retrieve. + */ + remarketingAudienceId?: string; + /** + * The web property ID of the remarketing audience to retrieve. + */ + webPropertyId?: string; + } + interface Params$Resource$Management$Remarketingaudience$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The account ID for which to create the remarketing audience. + */ + accountId?: string; + /** + * Web property ID for which to create the remarketing audience. + */ + webPropertyId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RemarketingAudience; + } + interface Params$Resource$Management$Remarketingaudience$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The account ID of the remarketing audiences to retrieve. + */ + accountId?: string; + /** + * The maximum number of remarketing audiences to include in this response. + */ + 'max-results'?: number; + /** + * An index of the first entity to retrieve. Use this parameter as a + * pagination mechanism along with the max-results parameter. + */ + 'start-index'?: number; + /** + * + */ + type?: string; + /** + * The web property ID of the remarketing audiences to retrieve. + */ + webPropertyId?: string; + } + interface Params$Resource$Management$Remarketingaudience$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The account ID of the remarketing audience to update. + */ + accountId?: string; + /** + * The ID of the remarketing audience to update. + */ + remarketingAudienceId?: string; + /** + * The web property ID of the remarketing audience to update. + */ + webPropertyId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RemarketingAudience; + } + interface Params$Resource$Management$Remarketingaudience$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The account ID of the remarketing audience to update. + */ + accountId?: string; + /** + * The ID of the remarketing audience to update. + */ + remarketingAudienceId?: string; + /** + * The web property ID of the remarketing audience to update. + */ + webPropertyId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RemarketingAudience; + } + class Resource$Management$Segments { + root: Analytics; + constructor(root: Analytics); + getRoot(): Analytics; + /** + * analytics.management.segments.list + * @desc Lists segments to which the user has access. + * @alias analytics.management.segments.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {integer=} params.max-results The maximum number of segments to include in this response. + * @param {integer=} params.start-index An index of the first segment to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. + * @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?: Params$Resource$Management$Segments$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Management$Segments$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Management$Segments$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Management$Segments$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The maximum number of segments to include in this response. + */ + 'max-results'?: number; + /** + * An index of the first segment to retrieve. Use this parameter as a + * pagination mechanism along with the max-results parameter. + */ + 'start-index'?: number; + } + class Resource$Management$Unsampledreports { + root: Analytics; + constructor(root: Analytics); + getRoot(): Analytics; + /** + * analytics.management.unsampledReports.delete + * @desc Deletes an unsampled report. + * @alias analytics.management.unsampledReports.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID to delete the unsampled report for. + * @param {string} params.profileId View (Profile) ID to delete the unsampled report for. + * @param {string} params.unsampledReportId ID of the unsampled report to be deleted. + * @param {string} params.webPropertyId Web property ID to delete the unsampled reports for. + * @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?: Params$Resource$Management$Unsampledreports$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Management$Unsampledreports$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Management$Unsampledreports$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * analytics.management.unsampledReports.get + * @desc Returns a single unsampled report. + * @alias analytics.management.unsampledReports.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID to retrieve unsampled report for. + * @param {string} params.profileId View (Profile) ID to retrieve unsampled report for. + * @param {string} params.unsampledReportId ID of the unsampled report to retrieve. + * @param {string} params.webPropertyId Web property ID to retrieve unsampled reports for. + * @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?: Params$Resource$Management$Unsampledreports$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Management$Unsampledreports$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Management$Unsampledreports$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * analytics.management.unsampledReports.insert + * @desc Create a new unsampled report. + * @alias analytics.management.unsampledReports.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID to create the unsampled report for. + * @param {string} params.profileId View (Profile) ID to create the unsampled report for. + * @param {string} params.webPropertyId Web property ID to create the unsampled report for. + * @param {().UnsampledReport} 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?: Params$Resource$Management$Unsampledreports$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Management$Unsampledreports$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Management$Unsampledreports$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * analytics.management.unsampledReports.list + * @desc Lists unsampled reports to which the user has access. + * @alias analytics.management.unsampledReports.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID to retrieve unsampled reports for. Must be a specific account ID, ~all is not supported. + * @param {integer=} params.max-results The maximum number of unsampled reports to include in this response. + * @param {string} params.profileId View (Profile) ID to retrieve unsampled reports for. Must be a specific view (profile) ID, ~all is not supported. + * @param {integer=} params.start-index An index of the first unsampled report to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. + * @param {string} params.webPropertyId Web property ID to retrieve unsampled reports for. Must be a specific web property ID, ~all is not supported. + * @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?: Params$Resource$Management$Unsampledreports$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Management$Unsampledreports$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Management$Unsampledreports$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Management$Unsampledreports$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID to delete the unsampled report for. + */ + accountId?: string; + /** + * View (Profile) ID to delete the unsampled report for. + */ + profileId?: string; + /** + * ID of the unsampled report to be deleted. + */ + unsampledReportId?: string; + /** + * Web property ID to delete the unsampled reports for. + */ + webPropertyId?: string; + } + interface Params$Resource$Management$Unsampledreports$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID to retrieve unsampled report for. + */ + accountId?: string; + /** + * View (Profile) ID to retrieve unsampled report for. + */ + profileId?: string; + /** + * ID of the unsampled report to retrieve. + */ + unsampledReportId?: string; + /** + * Web property ID to retrieve unsampled reports for. + */ + webPropertyId?: string; + } + interface Params$Resource$Management$Unsampledreports$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID to create the unsampled report for. + */ + accountId?: string; + /** + * View (Profile) ID to create the unsampled report for. + */ + profileId?: string; + /** + * Web property ID to create the unsampled report for. + */ + webPropertyId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UnsampledReport; + } + interface Params$Resource$Management$Unsampledreports$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID to retrieve unsampled reports for. Must be a specific account + * ID, ~all is not supported. + */ + accountId?: string; + /** + * The maximum number of unsampled reports to include in this response. + */ + 'max-results'?: number; + /** + * View (Profile) ID to retrieve unsampled reports for. Must be a specific + * view (profile) ID, ~all is not supported. + */ + profileId?: string; + /** + * An index of the first unsampled report to retrieve. Use this parameter as + * a pagination mechanism along with the max-results parameter. + */ + 'start-index'?: number; + /** + * Web property ID to retrieve unsampled reports for. Must be a specific web + * property ID, ~all is not supported. + */ + webPropertyId?: string; + } + class Resource$Management$Uploads { + root: Analytics; + constructor(root: Analytics); + getRoot(): Analytics; + /** + * analytics.management.uploads.deleteUploadData + * @desc Delete data associated with a previous upload. + * @alias analytics.management.uploads.deleteUploadData + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account Id for the uploads to be deleted. + * @param {string} params.customDataSourceId Custom data source Id for the uploads to be deleted. + * @param {string} params.webPropertyId Web property Id for the uploads to be deleted. + * @param {().AnalyticsDataimportDeleteUploadDataRequest} 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 + */ + deleteUploadData(params?: Params$Resource$Management$Uploads$Deleteuploaddata, options?: MethodOptions): AxiosPromise; + deleteUploadData(params: Params$Resource$Management$Uploads$Deleteuploaddata, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + deleteUploadData(params: Params$Resource$Management$Uploads$Deleteuploaddata, callback: BodyResponseCallback): void; + deleteUploadData(callback: BodyResponseCallback): void; + /** + * analytics.management.uploads.get + * @desc List uploads to which the user has access. + * @alias analytics.management.uploads.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account Id for the upload to retrieve. + * @param {string} params.customDataSourceId Custom data source Id for upload to retrieve. + * @param {string} params.uploadId Upload Id to retrieve. + * @param {string} params.webPropertyId Web property Id for the upload to retrieve. + * @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?: Params$Resource$Management$Uploads$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Management$Uploads$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Management$Uploads$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * analytics.management.uploads.list + * @desc List uploads to which the user has access. + * @alias analytics.management.uploads.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account Id for the uploads to retrieve. + * @param {string} params.customDataSourceId Custom data source Id for uploads to retrieve. + * @param {integer=} params.max-results The maximum number of uploads to include in this response. + * @param {integer=} params.start-index A 1-based index of the first upload to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. + * @param {string} params.webPropertyId Web property Id for the uploads to retrieve. + * @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?: Params$Resource$Management$Uploads$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Management$Uploads$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Management$Uploads$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * analytics.management.uploads.uploadData + * @desc Upload data for a custom data source. + * @alias analytics.management.uploads.uploadData + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account Id associated with the upload. + * @param {string} params.customDataSourceId Custom data source Id to which the data being uploaded belongs. + * @param {string} params.webPropertyId Web property UA-string associated with the upload. + * @param {object} params.media Media object + * @param {string} params.media.mimeType Media mime-type + * @param {string|object} params.media.body Media body contents + * @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 + */ + uploadData(params?: Params$Resource$Management$Uploads$Uploaddata, options?: MethodOptions): AxiosPromise; + uploadData(params: Params$Resource$Management$Uploads$Uploaddata, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + uploadData(params: Params$Resource$Management$Uploads$Uploaddata, callback: BodyResponseCallback): void; + uploadData(callback: BodyResponseCallback): void; + } + interface Params$Resource$Management$Uploads$Deleteuploaddata { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account Id for the uploads to be deleted. + */ + accountId?: string; + /** + * Custom data source Id for the uploads to be deleted. + */ + customDataSourceId?: string; + /** + * Web property Id for the uploads to be deleted. + */ + webPropertyId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AnalyticsDataimportDeleteUploadDataRequest; + } + interface Params$Resource$Management$Uploads$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account Id for the upload to retrieve. + */ + accountId?: string; + /** + * Custom data source Id for upload to retrieve. + */ + customDataSourceId?: string; + /** + * Upload Id to retrieve. + */ + uploadId?: string; + /** + * Web property Id for the upload to retrieve. + */ + webPropertyId?: string; + } + interface Params$Resource$Management$Uploads$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account Id for the uploads to retrieve. + */ + accountId?: string; + /** + * Custom data source Id for uploads to retrieve. + */ + customDataSourceId?: string; + /** + * The maximum number of uploads to include in this response. + */ + 'max-results'?: number; + /** + * A 1-based index of the first upload to retrieve. Use this parameter as a + * pagination mechanism along with the max-results parameter. + */ + 'start-index'?: number; + /** + * Web property Id for the uploads to retrieve. + */ + webPropertyId?: string; + } + interface Params$Resource$Management$Uploads$Uploaddata { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account Id associated with the upload. + */ + accountId?: string; + /** + * Custom data source Id to which the data being uploaded belongs. + */ + customDataSourceId?: string; + /** + * Web property UA-string associated with the upload. + */ + webPropertyId?: string; + /** + * Media metadata + */ + media?: { + /** + * Media mime-type + */ + mediaType?: string; + /** + * Media body contents + */ + body?: any; + }; + } + class Resource$Management$Webproperties { + root: Analytics; + constructor(root: Analytics); + getRoot(): Analytics; + /** + * analytics.management.webproperties.get + * @desc Gets a web property to which the user has access. + * @alias analytics.management.webproperties.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID to retrieve the web property for. + * @param {string} params.webPropertyId ID to retrieve the web property for. + * @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?: Params$Resource$Management$Webproperties$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Management$Webproperties$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Management$Webproperties$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * analytics.management.webproperties.insert + * @desc Create a new property if the account has fewer than 20 properties. + * Web properties are visible in the Google Analytics interface only if they + * have at least one profile. + * @alias analytics.management.webproperties.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID to create the web property for. + * @param {().Webproperty} 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?: Params$Resource$Management$Webproperties$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Management$Webproperties$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Management$Webproperties$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * analytics.management.webproperties.list + * @desc Lists web properties to which the user has access. + * @alias analytics.management.webproperties.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID to retrieve web properties for. Can either be a specific account ID or '~all', which refers to all the accounts that user has access to. + * @param {integer=} params.max-results The maximum number of web properties to include in this response. + * @param {integer=} params.start-index An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. + * @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?: Params$Resource$Management$Webproperties$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Management$Webproperties$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Management$Webproperties$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * analytics.management.webproperties.patch + * @desc Updates an existing web property. This method supports patch + * semantics. + * @alias analytics.management.webproperties.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID to which the web property belongs + * @param {string} params.webPropertyId Web property ID + * @param {().Webproperty} 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 + */ + patch(params?: Params$Resource$Management$Webproperties$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Management$Webproperties$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Management$Webproperties$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * analytics.management.webproperties.update + * @desc Updates an existing web property. + * @alias analytics.management.webproperties.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID to which the web property belongs + * @param {string} params.webPropertyId Web property ID + * @param {().Webproperty} 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?: Params$Resource$Management$Webproperties$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Management$Webproperties$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Management$Webproperties$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Management$Webproperties$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID to retrieve the web property for. + */ + accountId?: string; + /** + * ID to retrieve the web property for. + */ + webPropertyId?: string; + } + interface Params$Resource$Management$Webproperties$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID to create the web property for. + */ + accountId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Webproperty; + } + interface Params$Resource$Management$Webproperties$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID to retrieve web properties for. Can either be a specific + * account ID or '~all', which refers to all the accounts that user has + * access to. + */ + accountId?: string; + /** + * The maximum number of web properties to include in this response. + */ + 'max-results'?: number; + /** + * An index of the first entity to retrieve. Use this parameter as a + * pagination mechanism along with the max-results parameter. + */ + 'start-index'?: number; + } + interface Params$Resource$Management$Webproperties$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID to which the web property belongs + */ + accountId?: string; + /** + * Web property ID + */ + webPropertyId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Webproperty; + } + interface Params$Resource$Management$Webproperties$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID to which the web property belongs + */ + accountId?: string; + /** + * Web property ID + */ + webPropertyId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Webproperty; + } + class Resource$Management$Webpropertyadwordslinks { + root: Analytics; + constructor(root: Analytics); + getRoot(): Analytics; + /** + * analytics.management.webPropertyAdWordsLinks.delete + * @desc Deletes a web property-AdWords link. + * @alias analytics.management.webPropertyAdWordsLinks.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId ID of the account which the given web property belongs to. + * @param {string} params.webPropertyAdWordsLinkId Web property AdWords link ID. + * @param {string} params.webPropertyId Web property ID to delete the AdWords link for. + * @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?: Params$Resource$Management$Webpropertyadwordslinks$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Management$Webpropertyadwordslinks$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Management$Webpropertyadwordslinks$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * analytics.management.webPropertyAdWordsLinks.get + * @desc Returns a web property-AdWords link to which the user has access. + * @alias analytics.management.webPropertyAdWordsLinks.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId ID of the account which the given web property belongs to. + * @param {string} params.webPropertyAdWordsLinkId Web property-AdWords link ID. + * @param {string} params.webPropertyId Web property ID to retrieve the AdWords link for. + * @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?: Params$Resource$Management$Webpropertyadwordslinks$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Management$Webpropertyadwordslinks$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Management$Webpropertyadwordslinks$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * analytics.management.webPropertyAdWordsLinks.insert + * @desc Creates a webProperty-AdWords link. + * @alias analytics.management.webPropertyAdWordsLinks.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId ID of the Google Analytics account to create the link for. + * @param {string} params.webPropertyId Web property ID to create the link for. + * @param {().EntityAdWordsLink} 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?: Params$Resource$Management$Webpropertyadwordslinks$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Management$Webpropertyadwordslinks$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Management$Webpropertyadwordslinks$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * analytics.management.webPropertyAdWordsLinks.list + * @desc Lists webProperty-AdWords links for a given web property. + * @alias analytics.management.webPropertyAdWordsLinks.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId ID of the account which the given web property belongs to. + * @param {integer=} params.max-results The maximum number of webProperty-AdWords links to include in this response. + * @param {integer=} params.start-index An index of the first webProperty-AdWords link to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. + * @param {string} params.webPropertyId Web property ID to retrieve the AdWords links for. + * @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?: Params$Resource$Management$Webpropertyadwordslinks$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Management$Webpropertyadwordslinks$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Management$Webpropertyadwordslinks$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * analytics.management.webPropertyAdWordsLinks.patch + * @desc Updates an existing webProperty-AdWords link. This method supports + * patch semantics. + * @alias analytics.management.webPropertyAdWordsLinks.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId ID of the account which the given web property belongs to. + * @param {string} params.webPropertyAdWordsLinkId Web property-AdWords link ID. + * @param {string} params.webPropertyId Web property ID to retrieve the AdWords link for. + * @param {().EntityAdWordsLink} 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 + */ + patch(params?: Params$Resource$Management$Webpropertyadwordslinks$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Management$Webpropertyadwordslinks$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Management$Webpropertyadwordslinks$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * analytics.management.webPropertyAdWordsLinks.update + * @desc Updates an existing webProperty-AdWords link. + * @alias analytics.management.webPropertyAdWordsLinks.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId ID of the account which the given web property belongs to. + * @param {string} params.webPropertyAdWordsLinkId Web property-AdWords link ID. + * @param {string} params.webPropertyId Web property ID to retrieve the AdWords link for. + * @param {().EntityAdWordsLink} 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?: Params$Resource$Management$Webpropertyadwordslinks$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Management$Webpropertyadwordslinks$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Management$Webpropertyadwordslinks$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Management$Webpropertyadwordslinks$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ID of the account which the given web property belongs to. + */ + accountId?: string; + /** + * Web property AdWords link ID. + */ + webPropertyAdWordsLinkId?: string; + /** + * Web property ID to delete the AdWords link for. + */ + webPropertyId?: string; + } + interface Params$Resource$Management$Webpropertyadwordslinks$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ID of the account which the given web property belongs to. + */ + accountId?: string; + /** + * Web property-AdWords link ID. + */ + webPropertyAdWordsLinkId?: string; + /** + * Web property ID to retrieve the AdWords link for. + */ + webPropertyId?: string; + } + interface Params$Resource$Management$Webpropertyadwordslinks$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ID of the Google Analytics account to create the link for. + */ + accountId?: string; + /** + * Web property ID to create the link for. + */ + webPropertyId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$EntityAdWordsLink; + } + interface Params$Resource$Management$Webpropertyadwordslinks$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ID of the account which the given web property belongs to. + */ + accountId?: string; + /** + * The maximum number of webProperty-AdWords links to include in this + * response. + */ + 'max-results'?: number; + /** + * An index of the first webProperty-AdWords link to retrieve. Use this + * parameter as a pagination mechanism along with the max-results parameter. + */ + 'start-index'?: number; + /** + * Web property ID to retrieve the AdWords links for. + */ + webPropertyId?: string; + } + interface Params$Resource$Management$Webpropertyadwordslinks$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ID of the account which the given web property belongs to. + */ + accountId?: string; + /** + * Web property-AdWords link ID. + */ + webPropertyAdWordsLinkId?: string; + /** + * Web property ID to retrieve the AdWords link for. + */ + webPropertyId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$EntityAdWordsLink; + } + interface Params$Resource$Management$Webpropertyadwordslinks$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ID of the account which the given web property belongs to. + */ + accountId?: string; + /** + * Web property-AdWords link ID. + */ + webPropertyAdWordsLinkId?: string; + /** + * Web property ID to retrieve the AdWords link for. + */ + webPropertyId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$EntityAdWordsLink; + } + class Resource$Management$Webpropertyuserlinks { + root: Analytics; + constructor(root: Analytics); + getRoot(): Analytics; + /** + * analytics.management.webpropertyUserLinks.delete + * @desc Removes a user from the given web property. + * @alias analytics.management.webpropertyUserLinks.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID to delete the user link for. + * @param {string} params.linkId Link ID to delete the user link for. + * @param {string} params.webPropertyId Web Property ID to delete the user link for. + * @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?: Params$Resource$Management$Webpropertyuserlinks$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Management$Webpropertyuserlinks$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Management$Webpropertyuserlinks$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * analytics.management.webpropertyUserLinks.insert + * @desc Adds a new user to the given web property. + * @alias analytics.management.webpropertyUserLinks.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID to create the user link for. + * @param {string} params.webPropertyId Web Property ID to create the user link for. + * @param {().EntityUserLink} 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?: Params$Resource$Management$Webpropertyuserlinks$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Management$Webpropertyuserlinks$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Management$Webpropertyuserlinks$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * analytics.management.webpropertyUserLinks.list + * @desc Lists webProperty-user links for a given web property. + * @alias analytics.management.webpropertyUserLinks.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID which the given web property belongs to. + * @param {integer=} params.max-results The maximum number of webProperty-user Links to include in this response. + * @param {integer=} params.start-index An index of the first webProperty-user link to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. + * @param {string} params.webPropertyId Web Property ID for the webProperty-user links to retrieve. Can either be a specific web property ID or '~all', which refers to all the web properties that user has access to. + * @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?: Params$Resource$Management$Webpropertyuserlinks$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Management$Webpropertyuserlinks$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Management$Webpropertyuserlinks$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * analytics.management.webpropertyUserLinks.update + * @desc Updates permissions for an existing user on the given web property. + * @alias analytics.management.webpropertyUserLinks.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId Account ID to update the account-user link for. + * @param {string} params.linkId Link ID to update the account-user link for. + * @param {string} params.webPropertyId Web property ID to update the account-user link for. + * @param {().EntityUserLink} 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?: Params$Resource$Management$Webpropertyuserlinks$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Management$Webpropertyuserlinks$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Management$Webpropertyuserlinks$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Management$Webpropertyuserlinks$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID to delete the user link for. + */ + accountId?: string; + /** + * Link ID to delete the user link for. + */ + linkId?: string; + /** + * Web Property ID to delete the user link for. + */ + webPropertyId?: string; + } + interface Params$Resource$Management$Webpropertyuserlinks$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID to create the user link for. + */ + accountId?: string; + /** + * Web Property ID to create the user link for. + */ + webPropertyId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$EntityUserLink; + } + interface Params$Resource$Management$Webpropertyuserlinks$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID which the given web property belongs to. + */ + accountId?: string; + /** + * The maximum number of webProperty-user Links to include in this response. + */ + 'max-results'?: number; + /** + * An index of the first webProperty-user link to retrieve. Use this + * parameter as a pagination mechanism along with the max-results parameter. + */ + 'start-index'?: number; + /** + * Web Property ID for the webProperty-user links to retrieve. Can either be + * a specific web property ID or '~all', which refers to all the web + * properties that user has access to. + */ + webPropertyId?: string; + } + interface Params$Resource$Management$Webpropertyuserlinks$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID to update the account-user link for. + */ + accountId?: string; + /** + * Link ID to update the account-user link for. + */ + linkId?: string; + /** + * Web property ID to update the account-user link for. + */ + webPropertyId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$EntityUserLink; + } + class Resource$Metadata { + root: Analytics; + columns: Resource$Metadata$Columns; + constructor(root: Analytics); + getRoot(): Analytics; + } + class Resource$Metadata$Columns { + root: Analytics; + constructor(root: Analytics); + getRoot(): Analytics; + /** + * analytics.metadata.columns.list + * @desc Lists all columns for a report type + * @alias analytics.metadata.columns.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.reportType Report type. Allowed Values: 'ga'. Where 'ga' corresponds to the Core Reporting 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?: Params$Resource$Metadata$Columns$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Metadata$Columns$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Metadata$Columns$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Metadata$Columns$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Report type. Allowed Values: 'ga'. Where 'ga' corresponds to the Core + * Reporting API + */ + reportType?: string; + } + class Resource$Provisioning { + root: Analytics; + constructor(root: Analytics); + getRoot(): Analytics; + /** + * analytics.provisioning.createAccountTicket + * @desc Creates an account ticket. + * @alias analytics.provisioning.createAccountTicket + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().AccountTicket} 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 + */ + createAccountTicket(params?: Params$Resource$Provisioning$Createaccountticket, options?: MethodOptions): AxiosPromise; + createAccountTicket(params: Params$Resource$Provisioning$Createaccountticket, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + createAccountTicket(params: Params$Resource$Provisioning$Createaccountticket, callback: BodyResponseCallback): void; + createAccountTicket(callback: BodyResponseCallback): void; + /** + * analytics.provisioning.createAccountTree + * @desc Provision account. + * @alias analytics.provisioning.createAccountTree + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().AccountTreeRequest} 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 + */ + createAccountTree(params?: Params$Resource$Provisioning$Createaccounttree, options?: MethodOptions): AxiosPromise; + createAccountTree(params: Params$Resource$Provisioning$Createaccounttree, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + createAccountTree(params: Params$Resource$Provisioning$Createaccounttree, callback: BodyResponseCallback): void; + createAccountTree(callback: BodyResponseCallback): void; + } + interface Params$Resource$Provisioning$Createaccountticket { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$AccountTicket; + } + interface Params$Resource$Provisioning$Createaccounttree { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$AccountTreeRequest; + } + class Resource$Userdeletion { + root: Analytics; + userDeletionRequest: Resource$Userdeletion$Userdeletionrequest; + constructor(root: Analytics); + getRoot(): Analytics; + } + class Resource$Userdeletion$Userdeletionrequest { + root: Analytics; + constructor(root: Analytics); + getRoot(): Analytics; + /** + * analytics.userDeletion.userDeletionRequest.upsert + * @desc Insert or update a user deletion requests. + * @alias analytics.userDeletion.userDeletionRequest.upsert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().UserDeletionRequest} 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 + */ + upsert(params?: Params$Resource$Userdeletion$Userdeletionrequest$Upsert, options?: MethodOptions): AxiosPromise; + upsert(params: Params$Resource$Userdeletion$Userdeletionrequest$Upsert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + upsert(params: Params$Resource$Userdeletion$Userdeletionrequest$Upsert, callback: BodyResponseCallback): void; + upsert(callback: BodyResponseCallback): void; + } + interface Params$Resource$Userdeletion$Userdeletionrequest$Upsert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$UserDeletionRequest; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/analytics/v3.js b/express-server/node_modules/googleapis/build/src/apis/analytics/v3.js new file mode 100644 index 00000000..683e7777 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/analytics/v3.js @@ -0,0 +1,3198 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var analytics_v3; +(function (analytics_v3) { + /** + * Google Analytics API + * + * Views and manages your Google Analytics data. + * + * @example + * const {google} = require('googleapis'); + * const analytics = google.analytics('v3'); + * + * @namespace analytics + * @type {Function} + * @version v3 + * @variation v3 + * @param {object=} options Options for Analytics + */ + class Analytics { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.data = new Resource$Data(this); + this.management = new Resource$Management(this); + this.metadata = new Resource$Metadata(this); + this.provisioning = new Resource$Provisioning(this); + this.userDeletion = new Resource$Userdeletion(this); + } + getRoot() { + return this.root; + } + } + analytics_v3.Analytics = Analytics; + class Resource$Data { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.ga = new Resource$Data$Ga(root); + this.mcf = new Resource$Data$Mcf(root); + this.realtime = new Resource$Data$Realtime(root); + } + getRoot() { + return this.root; + } + } + analytics_v3.Resource$Data = Resource$Data; + class Resource$Data$Ga { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/analytics/v3/data/ga') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['ids', 'start-date', 'end-date', 'metrics'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + analytics_v3.Resource$Data$Ga = Resource$Data$Ga; + class Resource$Data$Mcf { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/analytics/v3/data/mcf') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['ids', 'start-date', 'end-date', 'metrics'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + analytics_v3.Resource$Data$Mcf = Resource$Data$Mcf; + class Resource$Data$Realtime { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/analytics/v3/data/realtime') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['ids', 'metrics'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + analytics_v3.Resource$Data$Realtime = Resource$Data$Realtime; + class Resource$Management { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.accounts = new Resource$Management$Accounts(root); + this.accountSummaries = new Resource$Management$Accountsummaries(root); + this.accountUserLinks = new Resource$Management$Accountuserlinks(root); + this.clientId = new Resource$Management$Clientid(root); + this.customDataSources = new Resource$Management$Customdatasources(root); + this.customDimensions = new Resource$Management$Customdimensions(root); + this.customMetrics = new Resource$Management$Custommetrics(root); + this.experiments = new Resource$Management$Experiments(root); + this.filters = new Resource$Management$Filters(root); + this.goals = new Resource$Management$Goals(root); + this.profileFilterLinks = + new Resource$Management$Profilefilterlinks(root); + this.profiles = new Resource$Management$Profiles(root); + this.profileUserLinks = new Resource$Management$Profileuserlinks(root); + this.remarketingAudience = + new Resource$Management$Remarketingaudience(root); + this.segments = new Resource$Management$Segments(root); + this.unsampledReports = new Resource$Management$Unsampledreports(root); + this.uploads = new Resource$Management$Uploads(root); + this.webproperties = new Resource$Management$Webproperties(root); + this.webPropertyAdWordsLinks = + new Resource$Management$Webpropertyadwordslinks(root); + this.webpropertyUserLinks = + new Resource$Management$Webpropertyuserlinks(root); + } + getRoot() { + return this.root; + } + } + analytics_v3.Resource$Management = Resource$Management; + class Resource$Management$Accounts { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/analytics/v3/management/accounts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + analytics_v3.Resource$Management$Accounts = Resource$Management$Accounts; + class Resource$Management$Accountsummaries { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/analytics/v3/management/accountSummaries') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + analytics_v3.Resource$Management$Accountsummaries = Resource$Management$Accountsummaries; + class Resource$Management$Accountuserlinks { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/entityUserLinks/{linkId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['accountId', 'linkId'], + pathParams: ['accountId', 'linkId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/entityUserLinks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['accountId'], + pathParams: ['accountId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/entityUserLinks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId'], + pathParams: ['accountId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/entityUserLinks/{linkId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['accountId', 'linkId'], + pathParams: ['accountId', 'linkId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + analytics_v3.Resource$Management$Accountuserlinks = Resource$Management$Accountuserlinks; + class Resource$Management$Clientid { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + hashClientId(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/analytics/v3/management/clientId:hashClientId') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + analytics_v3.Resource$Management$Clientid = Resource$Management$Clientid; + class Resource$Management$Customdatasources { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId'], + pathParams: ['accountId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + analytics_v3.Resource$Management$Customdatasources = Resource$Management$Customdatasources; + class Resource$Management$Customdimensions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/customDimensions/{customDimensionId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId', 'customDimensionId'], + pathParams: ['accountId', 'customDimensionId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/customDimensions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId'], + pathParams: ['accountId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/customDimensions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId'], + pathParams: ['accountId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/customDimensions/{customDimensionId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId', 'customDimensionId'], + pathParams: ['accountId', 'customDimensionId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/customDimensions/{customDimensionId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId', 'customDimensionId'], + pathParams: ['accountId', 'customDimensionId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + analytics_v3.Resource$Management$Customdimensions = Resource$Management$Customdimensions; + class Resource$Management$Custommetrics { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/customMetrics/{customMetricId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId', 'customMetricId'], + pathParams: ['accountId', 'customMetricId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/customMetrics') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId'], + pathParams: ['accountId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/customMetrics') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId'], + pathParams: ['accountId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/customMetrics/{customMetricId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId', 'customMetricId'], + pathParams: ['accountId', 'customMetricId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/customMetrics/{customMetricId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId', 'customMetricId'], + pathParams: ['accountId', 'customMetricId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + analytics_v3.Resource$Management$Custommetrics = Resource$Management$Custommetrics; + class Resource$Management$Experiments { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments/{experimentId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId', 'profileId', 'experimentId'], + pathParams: ['accountId', 'experimentId', 'profileId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments/{experimentId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId', 'profileId', 'experimentId'], + pathParams: ['accountId', 'experimentId', 'profileId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId', 'profileId'], + pathParams: ['accountId', 'profileId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId', 'profileId'], + pathParams: ['accountId', 'profileId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments/{experimentId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId', 'profileId', 'experimentId'], + pathParams: ['accountId', 'experimentId', 'profileId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments/{experimentId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId', 'profileId', 'experimentId'], + pathParams: ['accountId', 'experimentId', 'profileId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + analytics_v3.Resource$Management$Experiments = Resource$Management$Experiments; + class Resource$Management$Filters { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/filters/{filterId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['accountId', 'filterId'], + pathParams: ['accountId', 'filterId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/filters/{filterId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'filterId'], + pathParams: ['accountId', 'filterId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/filters') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['accountId'], + pathParams: ['accountId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/filters') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId'], + pathParams: ['accountId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/filters/{filterId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['accountId', 'filterId'], + pathParams: ['accountId', 'filterId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/filters/{filterId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['accountId', 'filterId'], + pathParams: ['accountId', 'filterId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + analytics_v3.Resource$Management$Filters = Resource$Management$Filters; + class Resource$Management$Goals { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals/{goalId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId', 'profileId', 'goalId'], + pathParams: ['accountId', 'goalId', 'profileId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId', 'profileId'], + pathParams: ['accountId', 'profileId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId', 'profileId'], + pathParams: ['accountId', 'profileId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals/{goalId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId', 'profileId', 'goalId'], + pathParams: ['accountId', 'goalId', 'profileId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals/{goalId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId', 'profileId', 'goalId'], + pathParams: ['accountId', 'goalId', 'profileId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + analytics_v3.Resource$Management$Goals = Resource$Management$Goals; + class Resource$Management$Profilefilterlinks { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks/{linkId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId', 'profileId', 'linkId'], + pathParams: ['accountId', 'linkId', 'profileId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks/{linkId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId', 'profileId', 'linkId'], + pathParams: ['accountId', 'linkId', 'profileId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId', 'profileId'], + pathParams: ['accountId', 'profileId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId', 'profileId'], + pathParams: ['accountId', 'profileId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks/{linkId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId', 'profileId', 'linkId'], + pathParams: ['accountId', 'linkId', 'profileId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks/{linkId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId', 'profileId', 'linkId'], + pathParams: ['accountId', 'linkId', 'profileId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + analytics_v3.Resource$Management$Profilefilterlinks = Resource$Management$Profilefilterlinks; + class Resource$Management$Profiles { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId', 'profileId'], + pathParams: ['accountId', 'profileId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId', 'profileId'], + pathParams: ['accountId', 'profileId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId'], + pathParams: ['accountId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId'], + pathParams: ['accountId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId', 'profileId'], + pathParams: ['accountId', 'profileId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId', 'profileId'], + pathParams: ['accountId', 'profileId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + analytics_v3.Resource$Management$Profiles = Resource$Management$Profiles; + class Resource$Management$Profileuserlinks { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/entityUserLinks/{linkId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId', 'profileId', 'linkId'], + pathParams: ['accountId', 'linkId', 'profileId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/entityUserLinks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId', 'profileId'], + pathParams: ['accountId', 'profileId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/entityUserLinks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId', 'profileId'], + pathParams: ['accountId', 'profileId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/entityUserLinks/{linkId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId', 'profileId', 'linkId'], + pathParams: ['accountId', 'linkId', 'profileId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + analytics_v3.Resource$Management$Profileuserlinks = Resource$Management$Profileuserlinks; + class Resource$Management$Remarketingaudience { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/remarketingAudiences/{remarketingAudienceId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId', 'remarketingAudienceId'], + pathParams: ['accountId', 'remarketingAudienceId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/remarketingAudiences/{remarketingAudienceId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId', 'remarketingAudienceId'], + pathParams: ['accountId', 'remarketingAudienceId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/remarketingAudiences') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId'], + pathParams: ['accountId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/remarketingAudiences') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId'], + pathParams: ['accountId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/remarketingAudiences/{remarketingAudienceId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId', 'remarketingAudienceId'], + pathParams: ['accountId', 'remarketingAudienceId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/remarketingAudiences/{remarketingAudienceId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId', 'remarketingAudienceId'], + pathParams: ['accountId', 'remarketingAudienceId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + analytics_v3.Resource$Management$Remarketingaudience = Resource$Management$Remarketingaudience; + class Resource$Management$Segments { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/analytics/v3/management/segments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + analytics_v3.Resource$Management$Segments = Resource$Management$Segments; + class Resource$Management$Unsampledreports { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/unsampledReports/{unsampledReportId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId', 'profileId', 'unsampledReportId'], + pathParams: ['accountId', 'profileId', 'unsampledReportId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/unsampledReports/{unsampledReportId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId', 'profileId', 'unsampledReportId'], + pathParams: ['accountId', 'profileId', 'unsampledReportId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/unsampledReports') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId', 'profileId'], + pathParams: ['accountId', 'profileId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/unsampledReports') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId', 'profileId'], + pathParams: ['accountId', 'profileId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + analytics_v3.Resource$Management$Unsampledreports = Resource$Management$Unsampledreports; + class Resource$Management$Uploads { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + deleteUploadData(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/deleteUploadData') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId', 'customDataSourceId'], + pathParams: ['accountId', 'customDataSourceId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/uploads/{uploadId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId', 'customDataSourceId', 'uploadId'], + pathParams: ['accountId', 'customDataSourceId', 'uploadId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/uploads') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId', 'customDataSourceId'], + pathParams: ['accountId', 'customDataSourceId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + uploadData(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/uploads') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + mediaUrl: (rootUrl + + '/upload/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/uploads') + .replace(/([^:]\/)\/+/g, '$1'), + requiredParams: ['accountId', 'webPropertyId', 'customDataSourceId'], + pathParams: ['accountId', 'customDataSourceId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + analytics_v3.Resource$Management$Uploads = Resource$Management$Uploads; + class Resource$Management$Webproperties { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId'], + pathParams: ['accountId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['accountId'], + pathParams: ['accountId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId'], + pathParams: ['accountId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId'], + pathParams: ['accountId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId'], + pathParams: ['accountId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + analytics_v3.Resource$Management$Webproperties = Resource$Management$Webproperties; + class Resource$Management$Webpropertyadwordslinks { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks/{webPropertyAdWordsLinkId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId', 'webPropertyAdWordsLinkId'], + pathParams: ['accountId', 'webPropertyAdWordsLinkId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks/{webPropertyAdWordsLinkId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId', 'webPropertyAdWordsLinkId'], + pathParams: ['accountId', 'webPropertyAdWordsLinkId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId'], + pathParams: ['accountId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId'], + pathParams: ['accountId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks/{webPropertyAdWordsLinkId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId', 'webPropertyAdWordsLinkId'], + pathParams: ['accountId', 'webPropertyAdWordsLinkId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks/{webPropertyAdWordsLinkId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId', 'webPropertyAdWordsLinkId'], + pathParams: ['accountId', 'webPropertyAdWordsLinkId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + analytics_v3.Resource$Management$Webpropertyadwordslinks = Resource$Management$Webpropertyadwordslinks; + class Resource$Management$Webpropertyuserlinks { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/entityUserLinks/{linkId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId', 'linkId'], + pathParams: ['accountId', 'linkId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/entityUserLinks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId'], + pathParams: ['accountId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/entityUserLinks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId'], + pathParams: ['accountId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/entityUserLinks/{linkId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['accountId', 'webPropertyId', 'linkId'], + pathParams: ['accountId', 'linkId', 'webPropertyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + analytics_v3.Resource$Management$Webpropertyuserlinks = Resource$Management$Webpropertyuserlinks; + class Resource$Metadata { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.columns = new Resource$Metadata$Columns(root); + } + getRoot() { + return this.root; + } + } + analytics_v3.Resource$Metadata = Resource$Metadata; + class Resource$Metadata$Columns { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/analytics/v3/metadata/{reportType}/columns') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['reportType'], + pathParams: ['reportType'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + analytics_v3.Resource$Metadata$Columns = Resource$Metadata$Columns; + class Resource$Provisioning { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + createAccountTicket(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/analytics/v3/provisioning/createAccountTicket') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + createAccountTree(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/analytics/v3/provisioning/createAccountTree') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + analytics_v3.Resource$Provisioning = Resource$Provisioning; + class Resource$Userdeletion { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.userDeletionRequest = + new Resource$Userdeletion$Userdeletionrequest(root); + } + getRoot() { + return this.root; + } + } + analytics_v3.Resource$Userdeletion = Resource$Userdeletion; + class Resource$Userdeletion$Userdeletionrequest { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + upsert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/analytics/v3/userDeletion/userDeletionRequests:upsert') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + analytics_v3.Resource$Userdeletion$Userdeletionrequest = Resource$Userdeletion$Userdeletionrequest; +})(analytics_v3 = exports.analytics_v3 || (exports.analytics_v3 = {})); +//# sourceMappingURL=v3.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/analytics/v3.js.map b/express-server/node_modules/googleapis/build/src/apis/analytics/v3.js.map new file mode 100644 index 00000000..9baea490 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/analytics/v3.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v3.js","sourceRoot":"","sources":["../../../../src/apis/analytics/v3.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAIH,yDAA2H;AAE3H,yBAAyB;AACzB,6BAA6B;AAC7B,gCAAgC;AAChC,+BAA+B;AAC/B,+BAA+B;AAE/B,IAAiB,YAAY,CAgoW5B;AAhoWD,WAAiB,YAAY;IAK3B;;;;;;;;;;;;;;OAcG;IACH,MAAa,SAAS;QAWpB,YAAY,OAAsB,EAAE,MAA2B;YAR/D,SAAI,GAAG,IAAI,CAAC;YASV,IAAI,CAAC,QAAQ,GAAG,OAAO,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAExB,IAAI,CAAC,IAAI,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,CAAC,UAAU,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,CAAC,YAAY,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,YAAY,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACtD,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;KACF;IA1BY,sBAAS,YA0BrB,CAAA;IA+gFD,MAAa,aAAa;QAKxB,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC,EAAE,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,CAAC,GAAG,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACvC,IAAI,CAAC,QAAQ,GAAG,IAAI,sBAAsB,CAAC,IAAI,CAAC,CAAC;QACnD,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;KACF;IAhBY,0BAAa,gBAgBzB,CAAA;IAGD,MAAa,gBAAgB;QAE3B,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAmCD,GAAG,CAAC,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAgC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiC,CAAC;gBAC3C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,uBAAuB,CAAC;yBAC9B,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,CAAC;gBAC5D,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;KACF;IAnFY,6BAAgB,mBAmF5B,CAAA;IA0ED,MAAa,iBAAiB;QAE5B,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAgCD,GAAG,CAAC,gBACoC,EACpC,iBAAsE,EACtE,QAA+C;YAEjD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAiC,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkC,CAAC;gBAC5C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,wBAAwB,CAAC;yBAC/B,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,CAAC;gBAC5D,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxD;iBAAM;gBACL,OAAO,oCAAgB,CAAiB,UAAU,CAAC,CAAC;aACrD;QACH,CAAC;KACF;IAhFY,8BAAiB,oBAgF7B,CAAA;IA8DD,MAAa,sBAAsB;QAEjC,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA4BD,GAAG,CAAC,gBACyC,EACzC,iBACyC,EACzC,QAAoD;YAEtD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAsC,CAAC;YAClE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAuC,CAAC;gBACjD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,6BAA6B,CAAC;yBACpC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC;gBAClC,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAsB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC7D;iBAAM;gBACL,OAAO,oCAAgB,CAAsB,UAAU,CAAC,CAAC;aAC1D;QACH,CAAC;KACF;IA9EY,mCAAsB,yBA8ElC,CAAA;IAyCD,MAAa,mBAAmB;QAsB9B,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,4BAA4B,CAAC,IAAI,CAAC,CAAC;YACvD,IAAI,CAAC,gBAAgB,GAAG,IAAI,oCAAoC,CAAC,IAAI,CAAC,CAAC;YACvE,IAAI,CAAC,gBAAgB,GAAG,IAAI,oCAAoC,CAAC,IAAI,CAAC,CAAC;YACvE,IAAI,CAAC,QAAQ,GAAG,IAAI,4BAA4B,CAAC,IAAI,CAAC,CAAC;YACvD,IAAI,CAAC,iBAAiB,GAAG,IAAI,qCAAqC,CAAC,IAAI,CAAC,CAAC;YACzE,IAAI,CAAC,gBAAgB,GAAG,IAAI,oCAAoC,CAAC,IAAI,CAAC,CAAC;YACvE,IAAI,CAAC,aAAa,GAAG,IAAI,iCAAiC,CAAC,IAAI,CAAC,CAAC;YACjE,IAAI,CAAC,WAAW,GAAG,IAAI,+BAA+B,CAAC,IAAI,CAAC,CAAC;YAC7D,IAAI,CAAC,OAAO,GAAG,IAAI,2BAA2B,CAAC,IAAI,CAAC,CAAC;YACrD,IAAI,CAAC,KAAK,GAAG,IAAI,yBAAyB,CAAC,IAAI,CAAC,CAAC;YACjD,IAAI,CAAC,kBAAkB;gBACnB,IAAI,sCAAsC,CAAC,IAAI,CAAC,CAAC;YACrD,IAAI,CAAC,QAAQ,GAAG,IAAI,4BAA4B,CAAC,IAAI,CAAC,CAAC;YACvD,IAAI,CAAC,gBAAgB,GAAG,IAAI,oCAAoC,CAAC,IAAI,CAAC,CAAC;YACvE,IAAI,CAAC,mBAAmB;gBACpB,IAAI,uCAAuC,CAAC,IAAI,CAAC,CAAC;YACtD,IAAI,CAAC,QAAQ,GAAG,IAAI,4BAA4B,CAAC,IAAI,CAAC,CAAC;YACvD,IAAI,CAAC,gBAAgB,GAAG,IAAI,oCAAoC,CAAC,IAAI,CAAC,CAAC;YACvE,IAAI,CAAC,OAAO,GAAG,IAAI,2BAA2B,CAAC,IAAI,CAAC,CAAC;YACrD,IAAI,CAAC,aAAa,GAAG,IAAI,iCAAiC,CAAC,IAAI,CAAC,CAAC;YACjE,IAAI,CAAC,uBAAuB;gBACxB,IAAI,2CAA2C,CAAC,IAAI,CAAC,CAAC;YAC1D,IAAI,CAAC,oBAAoB;gBACrB,IAAI,wCAAwC,CAAC,IAAI,CAAC,CAAC;QACzD,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;KACF;IAtDY,gCAAmB,sBAsD/B,CAAA;IAGD,MAAa,4BAA4B;QAEvC,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA2BD,IAAI,CACA,gBACqC,EACrC,iBAAuE,EACvE,QAAgD;YAElD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA6C,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8C,CAAC;gBACxD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,mCAAmC,CAAC;yBAC1C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,EAAE;gBAClB,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzD;iBAAM;gBACL,OAAO,oCAAgB,CAAkB,UAAU,CAAC,CAAC;aACtD;QACH,CAAC;KACF;IA7EY,yCAA4B,+BA6ExC,CAAA;IAoBD,MAAa,oCAAoC;QAE/C,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA4BD,IAAI,CACA,gBAC6C,EAC7C,iBAC6C,EAC7C,QAAwD;YAE1D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACgB,CAAC;YACrD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsD,CAAC;gBAChE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,2CAA2C,CAAC;yBAClD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,EAAE;gBAClB,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA0B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACjE;iBAAM;gBACL,OAAO,oCAAgB,CAA0B,UAAU,CAAC,CAAC;aAC9D;QACH,CAAC;KACF;IA/EY,iDAAoC,uCA+EhD,CAAA;IAqBD,MAAa,oCAAoC;QAE/C,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA2BD,MAAM,CACF,gBAC0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACkB,CAAC;YACvD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwD,CAAC;gBAClE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,wEAAwE,CAAC;yBACrE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC;gBACvC,UAAU,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC;gBACnC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;QA2BD,MAAM,CACF,gBAC2C,EAC3C,iBAC2C,EAC3C,QAAsD;YAExD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACkB,CAAC;YACvD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwD,CAAC;gBAClE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,+DAA+D,CAAC;yBAC5D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAwB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC/D;iBAAM;gBACL,OAAO,oCAAgB,CAAwB,UAAU,CAAC,CAAC;aAC5D;QACH,CAAC;QA4BD,IAAI,CACA,gBAC4C,EAC5C,iBAC4C,EAC5C,QAAuD;YAEzD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACgB,CAAC;YACrD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsD,CAAC;gBAChE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,+DAA+D,CAAC;yBAC5D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAyB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAChE;iBAAM;gBACL,OAAO,oCAAgB,CAAyB,UAAU,CAAC,CAAC;aAC7D;QACH,CAAC;QA4BD,MAAM,CACF,gBAC2C,EAC3C,iBAC2C,EAC3C,QAAsD;YAExD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACkB,CAAC;YACvD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwD,CAAC;gBAClE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,wEAAwE,CAAC;yBACrE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC;gBACvC,UAAU,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC;gBACnC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAwB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC/D;iBAAM;gBACL,OAAO,oCAAgB,CAAwB,UAAU,CAAC,CAAC;aAC5D;QACH,CAAC;KACF;IAlSY,iDAAoC,uCAkShD,CAAA;IA2ED,MAAa,4BAA4B;QAEvC,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA4BD,YAAY,CACR,gBACiD,EACjD,iBACiD,EACjD,QAA4D;YAE9D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACgB,CAAC;YACrD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsD,CAAC;gBAChE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,gDAAgD,CAAC;yBACvD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,EAAE;gBAClB,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA8B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrE;iBAAM;gBACL,OAAO,oCAAgB,CAA8B,UAAU,CAAC,CAAC;aAClE;QACH,CAAC;KACF;IA/EY,yCAA4B,+BA+ExC,CAAA;IAgBD,MAAa,qCAAqC;QAEhD,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA6BD,IAAI,CACA,gBAC8C,EAC9C,iBAC8C,EAC9C,QAAyD;YAE3D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACiB,CAAC;YACtD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAuD,CAAC;gBACjE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,+FAA+F,CAAC;yBAC5F,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC;gBAC9C,UAAU,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC;gBAC1C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA2B,UAAU,EAAE,QAAQ,CAAC,CAAC;aAClE;iBAAM;gBACL,OAAO,oCAAgB,CAA2B,UAAU,CAAC,CAAC;aAC/D;QACH,CAAC;KACF;IAlFY,kDAAqC,wCAkFjD,CAAA;IA4BD,MAAa,oCAAoC;QAE/C,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAyBD,GAAG,CAAC,gBAC4C,EAC5C,iBAC4C,EAC5C,QAAuD;YAEzD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACe,CAAC;YACpD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqD,CAAC;gBAC/D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kHAAkH,CAAC;yBAC/G,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,mBAAmB,CAAC;gBACnE,UAAU,EAAE,CAAC,WAAW,EAAE,mBAAmB,EAAE,eAAe,CAAC;gBAC/D,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAyB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAChE;iBAAM;gBACL,OAAO,oCAAgB,CAAyB,UAAU,CAAC,CAAC;aAC7D;QACH,CAAC;QA4BD,MAAM,CACF,gBAC4C,EAC5C,iBAC4C,EAC5C,QAAuD;YAEzD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACkB,CAAC;YACvD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwD,CAAC;gBAClE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,8FAA8F,CAAC;yBAC3F,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC;gBAC9C,UAAU,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC;gBAC1C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAyB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAChE;iBAAM;gBACL,OAAO,oCAAgB,CAAyB,UAAU,CAAC,CAAC;aAC7D;QACH,CAAC;QA6BD,IAAI,CACA,gBAC6C,EAC7C,iBAC6C,EAC7C,QAAwD;YAE1D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACgB,CAAC;YACrD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsD,CAAC;gBAChE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,8FAA8F,CAAC;yBAC3F,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC;gBAC9C,UAAU,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC;gBAC1C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA0B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACjE;iBAAM;gBACL,OAAO,oCAAgB,CAA0B,UAAU,CAAC,CAAC;aAC9D;QACH,CAAC;QA+BD,KAAK,CACD,gBAC4C,EAC5C,iBAC4C,EAC5C,QAAuD;YAEzD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACiB,CAAC;YACtD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAuD,CAAC;gBACjE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kHAAkH,CAAC;yBAC/G,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,mBAAmB,CAAC;gBACnE,UAAU,EAAE,CAAC,WAAW,EAAE,mBAAmB,EAAE,eAAe,CAAC;gBAC/D,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAyB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAChE;iBAAM;gBACL,OAAO,oCAAgB,CAAyB,UAAU,CAAC,CAAC;aAC7D;QACH,CAAC;QA8BD,MAAM,CACF,gBAC4C,EAC5C,iBAC4C,EAC5C,QAAuD;YAEzD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACkB,CAAC;YACvD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwD,CAAC;gBAClE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kHAAkH,CAAC;yBAC/G,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,mBAAmB,CAAC;gBACnE,UAAU,EAAE,CAAC,WAAW,EAAE,mBAAmB,EAAE,eAAe,CAAC;gBAC/D,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAyB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAChE;iBAAM;gBACL,OAAO,oCAAgB,CAAyB,UAAU,CAAC,CAAC;aAC7D;QACH,CAAC;KACF;IA/WY,iDAAoC,uCA+WhD,CAAA;IA6HD,MAAa,iCAAiC;QAE5C,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAyBD,GAAG,CAAC,gBACyC,EACzC,iBACyC,EACzC,QAAoD;YAEtD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACY,CAAC;YACjD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkD,CAAC;gBAC5D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4GAA4G,CAAC;yBACzG,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,gBAAgB,CAAC;gBAChE,UAAU,EAAE,CAAC,WAAW,EAAE,gBAAgB,EAAE,eAAe,CAAC;gBAC5D,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAsB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC7D;iBAAM;gBACL,OAAO,oCAAgB,CAAsB,UAAU,CAAC,CAAC;aAC1D;QACH,CAAC;QA4BD,MAAM,CACF,gBACyC,EACzC,iBACyC,EACzC,QAAoD;YAEtD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACe,CAAC;YACpD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqD,CAAC;gBAC/D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,2FAA2F,CAAC;yBACxF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC;gBAC9C,UAAU,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC;gBAC1C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAsB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC7D;iBAAM;gBACL,OAAO,oCAAgB,CAAsB,UAAU,CAAC,CAAC;aAC1D;QACH,CAAC;QA6BD,IAAI,CACA,gBAC0C,EAC1C,iBAC0C,EAC1C,QAAqD;YAEvD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACa,CAAC;YAClD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmD,CAAC;gBAC7D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,2FAA2F,CAAC;yBACxF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC;gBAC9C,UAAU,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC;gBAC1C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAuB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9D;iBAAM;gBACL,OAAO,oCAAgB,CAAuB,UAAU,CAAC,CAAC;aAC3D;QACH,CAAC;QA+BD,KAAK,CACD,gBACyC,EACzC,iBACyC,EACzC,QAAoD;YAEtD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACc,CAAC;YACnD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoD,CAAC;gBAC9D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4GAA4G,CAAC;yBACzG,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,gBAAgB,CAAC;gBAChE,UAAU,EAAE,CAAC,WAAW,EAAE,gBAAgB,EAAE,eAAe,CAAC;gBAC5D,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAsB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC7D;iBAAM;gBACL,OAAO,oCAAgB,CAAsB,UAAU,CAAC,CAAC;aAC1D;QACH,CAAC;QA8BD,MAAM,CACF,gBACyC,EACzC,iBACyC,EACzC,QAAoD;YAEtD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACe,CAAC;YACpD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqD,CAAC;gBAC/D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4GAA4G,CAAC;yBACzG,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,gBAAgB,CAAC;gBAChE,UAAU,EAAE,CAAC,WAAW,EAAE,gBAAgB,EAAE,eAAe,CAAC;gBAC5D,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAsB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC7D;iBAAM;gBACL,OAAO,oCAAgB,CAAsB,UAAU,CAAC,CAAC;aAC1D;QACH,CAAC;KACF;IA/WY,8CAAiC,oCA+W7C,CAAA;IA6HD,MAAa,+BAA+B;QAE1C,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA6BD,MAAM,CACF,gBAC0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACa,CAAC;YAClD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmD,CAAC;gBAC7D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,6HAA6H,CAAC;yBAC1H,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EACV,CAAC,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,cAAc,CAAC;gBAC/D,UAAU,EAAE,CAAC,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,eAAe,CAAC;gBACvE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;QA0BD,GAAG,CAAC,gBACuC,EACvC,iBACuC,EACvC,QAAkD;YAEpD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACU,CAAC;YAC/C,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgD,CAAC;gBAC1D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,6HAA6H,CAAC;yBAC1H,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EACV,CAAC,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,cAAc,CAAC;gBAC/D,UAAU,EAAE,CAAC,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,eAAe,CAAC;gBACvE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAoB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3D;iBAAM;gBACL,OAAO,oCAAgB,CAAoB,UAAU,CAAC,CAAC;aACxD;QACH,CAAC;QA6BD,MAAM,CACF,gBACuC,EACvC,iBACuC,EACvC,QAAkD;YAEpD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACa,CAAC;YAClD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmD,CAAC;gBAC7D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,8GAA8G,CAAC;yBAC3G,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,WAAW,CAAC;gBAC3D,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,eAAe,CAAC;gBACvD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAoB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3D;iBAAM;gBACL,OAAO,oCAAgB,CAAoB,UAAU,CAAC,CAAC;aACxD;QACH,CAAC;QA8BD,IAAI,CACA,gBACwC,EACxC,iBACwC,EACxC,QAAmD;YAErD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACW,CAAC;YAChD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiD,CAAC;gBAC3D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,8GAA8G,CAAC;yBAC3G,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,WAAW,CAAC;gBAC3D,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,eAAe,CAAC;gBACvD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAqB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC5D;iBAAM;gBACL,OAAO,oCAAgB,CAAqB,UAAU,CAAC,CAAC;aACzD;QACH,CAAC;QA+BD,KAAK,CACD,gBACuC,EACvC,iBACuC,EACvC,QAAkD;YAEpD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACY,CAAC;YACjD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkD,CAAC;gBAC5D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,6HAA6H,CAAC;yBAC1H,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EACV,CAAC,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,cAAc,CAAC;gBAC/D,UAAU,EAAE,CAAC,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,eAAe,CAAC;gBACvE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAoB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3D;iBAAM;gBACL,OAAO,oCAAgB,CAAoB,UAAU,CAAC,CAAC;aACxD;QACH,CAAC;QA8BD,MAAM,CACF,gBACuC,EACvC,iBACuC,EACvC,QAAkD;YAEpD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACa,CAAC;YAClD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmD,CAAC;gBAC7D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,6HAA6H,CAAC;yBAC1H,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EACV,CAAC,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,cAAc,CAAC;gBAC/D,UAAU,EAAE,CAAC,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,eAAe,CAAC;gBACvE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAoB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3D;iBAAM;gBACL,OAAO,oCAAgB,CAAoB,UAAU,CAAC,CAAC;aACxD;QACH,CAAC;KACF;IA5bY,4CAA+B,kCA4b3C,CAAA;IA8JD,MAAa,2BAA2B;QAEtC,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA2BD,MAAM,CACF,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA8C,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA+C,CAAC;gBACzD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kEAAkE,CAAC;yBAC/D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC;gBACzC,UAAU,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC;gBACrC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;QAwBD,GAAG,CAAC,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA2C,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4C,CAAC;gBACtD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kEAAkE,CAAC;yBAC/D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC;gBACzC,UAAU,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC;gBACrC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;QA2BD,MAAM,CACF,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA8C,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA+C,CAAC;gBACzD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,uDAAuD,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;QA4BD,IAAI,CACA,gBACoC,EACpC,iBAAsE,EACtE,QAA+C;YAEjD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA4C,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6C,CAAC;gBACvD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,uDAAuD,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxD;iBAAM;gBACL,OAAO,oCAAgB,CAAiB,UAAU,CAAC,CAAC;aACrD;QACH,CAAC;QA4BD,KAAK,CACD,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA6C,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8C,CAAC;gBACxD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kEAAkE,CAAC;yBAC/D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC;gBACzC,UAAU,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC;gBACrC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;QA4BD,MAAM,CACF,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA8C,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA+C,CAAC;gBACzD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kEAAkE,CAAC;yBAC/D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC;gBACzC,UAAU,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC;gBACrC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;KACF;IAraY,wCAA2B,8BAqavC,CAAA;IA8GD,MAAa,yBAAyB;QAEpC,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA0BD,GAAG,CAAC,gBACiC,EACjC,iBAAmE,EACnE,QAA4C;YAE9C,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAyC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0C,CAAC;gBACpD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,iHAAiH,CAAC;yBAC9G,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,QAAQ,CAAC;gBACrE,UAAU,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,CAAC;gBACjE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAc,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrD;iBAAM;gBACL,OAAO,oCAAgB,CAAc,UAAU,CAAC,CAAC;aAClD;QACH,CAAC;QA6BD,MAAM,CACF,gBACiC,EACjC,iBAAmE,EACnE,QAA4C;YAE9C,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA4C,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6C,CAAC;gBACvD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,wGAAwG,CAAC;yBACrG,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,WAAW,CAAC;gBAC3D,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,eAAe,CAAC;gBACvD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAc,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrD;iBAAM;gBACL,OAAO,oCAAgB,CAAc,UAAU,CAAC,CAAC;aAClD;QACH,CAAC;QA8BD,IAAI,CACA,gBACkC,EAClC,iBAAoE,EACpE,QAA6C;YAE/C,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,wGAAwG,CAAC;yBACrG,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,WAAW,CAAC;gBAC3D,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,eAAe,CAAC;gBACvD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAe,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtD;iBAAM;gBACL,OAAO,oCAAgB,CAAe,UAAU,CAAC,CAAC;aACnD;QACH,CAAC;QA8BD,KAAK,CACD,gBACiC,EACjC,iBAAmE,EACnE,QAA4C;YAE9C,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA2C,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4C,CAAC;gBACtD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,iHAAiH,CAAC;yBAC9G,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,QAAQ,CAAC;gBACrE,UAAU,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,CAAC;gBACjE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAc,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrD;iBAAM;gBACL,OAAO,oCAAgB,CAAc,UAAU,CAAC,CAAC;aAClD;QACH,CAAC;QA8BD,MAAM,CACF,gBACiC,EACjC,iBAAmE,EACnE,QAA4C;YAE9C,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA4C,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6C,CAAC;gBACvD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,iHAAiH,CAAC;yBAC9G,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,QAAQ,CAAC;gBACrE,UAAU,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,CAAC;gBACjE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAc,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrD;iBAAM;gBACL,OAAO,oCAAgB,CAAc,UAAU,CAAC,CAAC;aAClD;QACH,CAAC;KACF;IA5WY,sCAAyB,4BA4WrC,CAAA;IA4ID,MAAa,sCAAsC;QAEjD,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA6BD,MAAM,CACF,gBAC0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACoB,CAAC;YACzD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0D,CAAC;gBACpE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,8HAA8H,CAAC;yBAC3H,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,QAAQ,CAAC;gBACrE,UAAU,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,CAAC;gBACjE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;QA0BD,GAAG,CAAC,gBAC8C,EAC9C,iBAC8C,EAC9C,QAAyD;YAE3D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACiB,CAAC;YACtD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAuD,CAAC;gBACjE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,8HAA8H,CAAC;yBAC3H,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,QAAQ,CAAC;gBACrE,UAAU,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,CAAC;gBACjE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA2B,UAAU,EAAE,QAAQ,CAAC,CAAC;aAClE;iBAAM;gBACL,OAAO,oCAAgB,CAA2B,UAAU,CAAC,CAAC;aAC/D;QACH,CAAC;QA6BD,MAAM,CACF,gBAC8C,EAC9C,iBAC8C,EAC9C,QAAyD;YAE3D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACoB,CAAC;YACzD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0D,CAAC;gBACpE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,qHAAqH,CAAC;yBAClH,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,WAAW,CAAC;gBAC3D,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,eAAe,CAAC;gBACvD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA2B,UAAU,EAAE,QAAQ,CAAC,CAAC;aAClE;iBAAM;gBACL,OAAO,oCAAgB,CAA2B,UAAU,CAAC,CAAC;aAC/D;QACH,CAAC;QA8BD,IAAI,CACA,gBAC+C,EAC/C,iBAC+C,EAC/C,QAA0D;YAE5D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACkB,CAAC;YACvD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwD,CAAC;gBAClE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,qHAAqH,CAAC;yBAClH,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,WAAW,CAAC;gBAC3D,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,eAAe,CAAC;gBACvD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA4B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACnE;iBAAM;gBACL,OAAO,oCAAgB,CAA4B,UAAU,CAAC,CAAC;aAChE;QACH,CAAC;QA+BD,KAAK,CACD,gBAC8C,EAC9C,iBAC8C,EAC9C,QAAyD;YAE3D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACmB,CAAC;YACxD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAyD,CAAC;gBACnE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,8HAA8H,CAAC;yBAC3H,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,QAAQ,CAAC;gBACrE,UAAU,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,CAAC;gBACjE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA2B,UAAU,EAAE,QAAQ,CAAC,CAAC;aAClE;iBAAM;gBACL,OAAO,oCAAgB,CAA2B,UAAU,CAAC,CAAC;aAC/D;QACH,CAAC;QA8BD,MAAM,CACF,gBAC8C,EAC9C,iBAC8C,EAC9C,QAAyD;YAE3D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACoB,CAAC;YACzD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0D,CAAC;gBACpE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,8HAA8H,CAAC;yBAC3H,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,QAAQ,CAAC;gBACrE,UAAU,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,CAAC;gBACjE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA2B,UAAU,EAAE,QAAQ,CAAC,CAAC;aAClE;iBAAM;gBACL,OAAO,oCAAgB,CAA2B,UAAU,CAAC,CAAC;aAC/D;QACH,CAAC;KACF;IAxbY,mDAAsC,yCAwblD,CAAA;IAiKD,MAAa,4BAA4B;QAEvC,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA4BD,MAAM,CACF,gBAC0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACU,CAAC;YAC/C,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgD,CAAC;gBAC1D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kGAAkG,CAAC;yBAC/F,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,WAAW,CAAC;gBAC3D,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,eAAe,CAAC;gBACvD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;QAyBD,GAAG,CAAC,gBACoC,EACpC,iBAAsE,EACtE,QAA+C;YAEjD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA4C,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6C,CAAC;gBACvD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kGAAkG,CAAC;yBAC/F,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,WAAW,CAAC;gBAC3D,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,eAAe,CAAC;gBACvD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxD;iBAAM;gBACL,OAAO,oCAAgB,CAAiB,UAAU,CAAC,CAAC;aACrD;QACH,CAAC;QA4BD,MAAM,CACF,gBACoC,EACpC,iBAAsE,EACtE,QAA+C;YAEjD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACU,CAAC;YAC/C,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgD,CAAC;gBAC1D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,sFAAsF,CAAC;yBACnF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC;gBAC9C,UAAU,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC;gBAC1C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxD;iBAAM;gBACL,OAAO,oCAAgB,CAAiB,UAAU,CAAC,CAAC;aACrD;QACH,CAAC;QA6BD,IAAI,CACA,gBACqC,EACrC,iBAAuE,EACvE,QAAgD;YAElD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA6C,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8C,CAAC;gBACxD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,sFAAsF,CAAC;yBACnF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC;gBAC9C,UAAU,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC;gBAC1C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzD;iBAAM;gBACL,OAAO,oCAAgB,CAAkB,UAAU,CAAC,CAAC;aACtD;QACH,CAAC;QA8BD,KAAK,CACD,gBACoC,EACpC,iBAAsE,EACtE,QAA+C;YAEjD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA8C,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA+C,CAAC;gBACzD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kGAAkG,CAAC;yBAC/F,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,WAAW,CAAC;gBAC3D,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,eAAe,CAAC;gBACvD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxD;iBAAM;gBACL,OAAO,oCAAgB,CAAiB,UAAU,CAAC,CAAC;aACrD;QACH,CAAC;QA6BD,MAAM,CACF,gBACoC,EACpC,iBAAsE,EACtE,QAA+C;YAEjD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACU,CAAC;YAC/C,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgD,CAAC;gBAC1D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kGAAkG,CAAC;yBAC/F,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,WAAW,CAAC;gBAC3D,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,eAAe,CAAC;gBACvD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxD;iBAAM;gBACL,OAAO,oCAAgB,CAAiB,UAAU,CAAC,CAAC;aACrD;QACH,CAAC;KACF;IA7aY,yCAA4B,+BA6axC,CAAA;IA0ID,MAAa,oCAAoC;QAE/C,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA6BD,MAAM,CACF,gBAC0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACkB,CAAC;YACvD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwD,CAAC;gBAClE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,2HAA2H,CAAC;yBACxH,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,QAAQ,CAAC;gBACrE,UAAU,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,CAAC;gBACjE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;QA6BD,MAAM,CACF,gBAC2C,EAC3C,iBAC2C,EAC3C,QAAsD;YAExD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACkB,CAAC;YACvD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwD,CAAC;gBAClE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kHAAkH,CAAC;yBAC/G,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,WAAW,CAAC;gBAC3D,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,eAAe,CAAC;gBACvD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAwB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC/D;iBAAM;gBACL,OAAO,oCAAgB,CAAwB,UAAU,CAAC,CAAC;aAC5D;QACH,CAAC;QA8BD,IAAI,CACA,gBAC4C,EAC5C,iBAC4C,EAC5C,QAAuD;YAEzD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACgB,CAAC;YACrD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsD,CAAC;gBAChE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kHAAkH,CAAC;yBAC/G,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,WAAW,CAAC;gBAC3D,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,eAAe,CAAC;gBACvD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAyB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAChE;iBAAM;gBACL,OAAO,oCAAgB,CAAyB,UAAU,CAAC,CAAC;aAC7D;QACH,CAAC;QA+BD,MAAM,CACF,gBAC2C,EAC3C,iBAC2C,EAC3C,QAAsD;YAExD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACkB,CAAC;YACvD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwD,CAAC;gBAClE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,2HAA2H,CAAC;yBACxH,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,QAAQ,CAAC;gBACrE,UAAU,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,CAAC;gBACjE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAwB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC/D;iBAAM;gBACL,OAAO,oCAAgB,CAAwB,UAAU,CAAC,CAAC;aAC5D;QACH,CAAC;KACF;IA3SY,iDAAoC,uCA2ShD,CAAA;IA+GD,MAAa,uCAAuC;QAElD,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA4BD,MAAM,CACF,gBAE0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACqB,CAAC;YAC1D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2D,CAAC;gBACrE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,0HAA0H,CAAC;yBACvH,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,uBAAuB,CAAC;gBACvE,UAAU,EAAE,CAAC,WAAW,EAAE,uBAAuB,EAAE,eAAe,CAAC;gBACnE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;QAyBD,GAAG,CAAC,gBACgD,EAChD,iBACgD,EAChD,QAA2D;YAE7D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACkB,CAAC;YACvD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwD,CAAC;gBAClE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,0HAA0H,CAAC;yBACvH,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,uBAAuB,CAAC;gBACvE,UAAU,EAAE,CAAC,WAAW,EAAE,uBAAuB,EAAE,eAAe,CAAC;gBACnE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA6B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACpE;iBAAM;gBACL,OAAO,oCAAgB,CAA6B,UAAU,CAAC,CAAC;aACjE;QACH,CAAC;QA4BD,MAAM,CACF,gBAEgD,EAChD,iBACgD,EAChD,QAA2D;YAE7D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACqB,CAAC;YAC1D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2D,CAAC;gBACrE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kGAAkG,CAAC;yBAC/F,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC;gBAC9C,UAAU,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC;gBAC1C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA6B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACpE;iBAAM;gBACL,OAAO,oCAAgB,CAA6B,UAAU,CAAC,CAAC;aACjE;QACH,CAAC;QA+BD,IAAI,CACA,gBACiD,EACjD,iBACiD,EACjD,QAA4D;YAE9D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACmB,CAAC;YACxD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAyD,CAAC;gBACnE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kGAAkG,CAAC;yBAC/F,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC;gBAC9C,UAAU,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC;gBAC1C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA8B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrE;iBAAM;gBACL,OAAO,oCAAgB,CAA8B,UAAU,CAAC,CAAC;aAClE;QACH,CAAC;QA8BD,KAAK,CACD,gBACgD,EAChD,iBACgD,EAChD,QAA2D;YAE7D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACoB,CAAC;YACzD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0D,CAAC;gBACpE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,0HAA0H,CAAC;yBACvH,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,uBAAuB,CAAC;gBACvE,UAAU,EAAE,CAAC,WAAW,EAAE,uBAAuB,EAAE,eAAe,CAAC;gBACnE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA6B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACpE;iBAAM;gBACL,OAAO,oCAAgB,CAA6B,UAAU,CAAC,CAAC;aACjE;QACH,CAAC;QA6BD,MAAM,CACF,gBAEgD,EAChD,iBACgD,EAChD,QAA2D;YAE7D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACqB,CAAC;YAC1D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2D,CAAC;gBACrE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,0HAA0H,CAAC;yBACvH,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,uBAAuB,CAAC;gBACvE,UAAU,EAAE,CAAC,WAAW,EAAE,uBAAuB,EAAE,eAAe,CAAC;gBACnE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA6B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACpE;iBAAM;gBACL,OAAO,oCAAgB,CAA6B,UAAU,CAAC,CAAC;aACjE;QACH,CAAC;KACF;IAvbY,oDAAuC,0CAubnD,CAAA;IA0ID,MAAa,4BAA4B;QAEvC,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA2BD,IAAI,CACA,gBACqC,EACrC,iBAAuE,EACvE,QAAgD;YAElD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA6C,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8C,CAAC;gBACxD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,mCAAmC,CAAC;yBAC1C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,EAAE;gBAClB,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzD;iBAAM;gBACL,OAAO,oCAAgB,CAAkB,UAAU,CAAC,CAAC;aACtD;QACH,CAAC;KACF;IA7EY,yCAA4B,+BA6ExC,CAAA;IAoBD,MAAa,oCAAoC;QAE/C,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA6BD,MAAM,CACF,gBAC0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACkB,CAAC;YACvD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwD,CAAC;gBAClE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,uIAAuI,CAAC;yBACpI,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EACV,CAAC,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,mBAAmB,CAAC;gBACpE,UAAU,EACN,CAAC,WAAW,EAAE,WAAW,EAAE,mBAAmB,EAAE,eAAe,CAAC;gBACpE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;QA0BD,GAAG,CAAC,gBAC4C,EAC5C,iBAC4C,EAC5C,QAAuD;YAEzD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACe,CAAC;YACpD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqD,CAAC;gBAC/D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,uIAAuI,CAAC;yBACpI,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EACV,CAAC,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,mBAAmB,CAAC;gBACpE,UAAU,EACN,CAAC,WAAW,EAAE,WAAW,EAAE,mBAAmB,EAAE,eAAe,CAAC;gBACpE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAyB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAChE;iBAAM;gBACL,OAAO,oCAAgB,CAAyB,UAAU,CAAC,CAAC;aAC7D;QACH,CAAC;QA6BD,MAAM,CACF,gBAC4C,EAC5C,iBAC4C,EAC5C,QAAuD;YAEzD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACkB,CAAC;YACvD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwD,CAAC;gBAClE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,mHAAmH,CAAC;yBAChH,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,WAAW,CAAC;gBAC3D,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,eAAe,CAAC;gBACvD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAyB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAChE;iBAAM;gBACL,OAAO,oCAAgB,CAAyB,UAAU,CAAC,CAAC;aAC7D;QACH,CAAC;QA8BD,IAAI,CACA,gBAC6C,EAC7C,iBAC6C,EAC7C,QAAwD;YAE1D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACgB,CAAC;YACrD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsD,CAAC;gBAChE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,mHAAmH,CAAC;yBAChH,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,WAAW,CAAC;gBAC3D,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,eAAe,CAAC;gBACvD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA0B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACjE;iBAAM;gBACL,OAAO,oCAAgB,CAA0B,UAAU,CAAC,CAAC;aAC9D;QACH,CAAC;KACF;IAzSY,iDAAoC,uCAyShD,CAAA;IAyGD,MAAa,2BAA2B;QAEtC,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA6BD,gBAAgB,CACZ,gBAC0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACmB,CAAC;YACxD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAyD,CAAC;gBACnE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,qIAAqI,CAAC;yBAClI,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,oBAAoB,CAAC;gBACpE,UAAU,EAAE,CAAC,WAAW,EAAE,oBAAoB,EAAE,eAAe,CAAC;gBAChE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;QA0BD,GAAG,CAAC,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA2C,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4C,CAAC;gBACtD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,uIAAuI,CAAC;yBACpI,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EACV,CAAC,WAAW,EAAE,eAAe,EAAE,oBAAoB,EAAE,UAAU,CAAC;gBACpE,UAAU,EACN,CAAC,WAAW,EAAE,oBAAoB,EAAE,UAAU,EAAE,eAAe,CAAC;gBACpE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;QA8BD,IAAI,CACA,gBACoC,EACpC,iBAAsE,EACtE,QAA+C;YAEjD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA4C,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6C,CAAC;gBACvD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4HAA4H,CAAC;yBACzH,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,oBAAoB,CAAC;gBACpE,UAAU,EAAE,CAAC,WAAW,EAAE,oBAAoB,EAAE,eAAe,CAAC;gBAChE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxD;iBAAM;gBACL,OAAO,oCAAgB,CAAiB,UAAU,CAAC,CAAC;aACrD;QACH,CAAC;QA+BD,UAAU,CACN,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACa,CAAC;YAClD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmD,CAAC;gBAC7D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4HAA4H,CAAC;yBACzH,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,QAAQ,EACJ,CAAC,OAAO;oBACP,mIAAmI,CAAC;qBAChI,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;gBACtC,cAAc,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,oBAAoB,CAAC;gBACpE,UAAU,EAAE,CAAC,WAAW,EAAE,oBAAoB,EAAE,eAAe,CAAC;gBAChE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;KACF;IA1SY,wCAA2B,8BA0SvC,CAAA;IAkHD,MAAa,iCAAiC;QAE5C,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAwBD,GAAG,CAAC,gBACwC,EACxC,iBACwC,EACxC,QAAmD;YAErD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACY,CAAC;YACjD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkD,CAAC;gBAC5D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,6EAA6E,CAAC;yBAC1E,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC;gBAC9C,UAAU,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC;gBAC1C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAqB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC5D;iBAAM;gBACL,OAAO,oCAAgB,CAAqB,UAAU,CAAC,CAAC;aACzD;QACH,CAAC;QA6BD,MAAM,CACF,gBACwC,EACxC,iBACwC,EACxC,QAAmD;YAErD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACe,CAAC;YACpD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqD,CAAC;gBAC/D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,6DAA6D,CAAC;yBAC1D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAqB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC5D;iBAAM;gBACL,OAAO,oCAAgB,CAAqB,UAAU,CAAC,CAAC;aACzD;QACH,CAAC;QA4BD,IAAI,CACA,gBAC0C,EAC1C,iBAC0C,EAC1C,QAAqD;YAEvD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACa,CAAC;YAClD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmD,CAAC;gBAC7D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,6DAA6D,CAAC;yBAC1D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAuB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9D;iBAAM;gBACL,OAAO,oCAAgB,CAAuB,UAAU,CAAC,CAAC;aAC3D;QACH,CAAC;QA6BD,KAAK,CACD,gBACwC,EACxC,iBACwC,EACxC,QAAmD;YAErD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACc,CAAC;YACnD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoD,CAAC;gBAC9D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,6EAA6E,CAAC;yBAC1E,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC;gBAC9C,UAAU,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC;gBAC1C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAqB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC5D;iBAAM;gBACL,OAAO,oCAAgB,CAAqB,UAAU,CAAC,CAAC;aACzD;QACH,CAAC;QA4BD,MAAM,CACF,gBACwC,EACxC,iBACwC,EACxC,QAAmD;YAErD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACe,CAAC;YACpD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqD,CAAC;gBAC/D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,6EAA6E,CAAC;yBAC1E,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC;gBAC9C,UAAU,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC;gBAC1C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAqB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC5D;iBAAM;gBACL,OAAO,oCAAgB,CAAqB,UAAU,CAAC,CAAC;aACzD;QACH,CAAC;KACF;IA1WY,8CAAiC,oCA0W7C,CAAA;IAiGD,MAAa,2CAA2C;QAEtD,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA4BD,MAAM,CACF,gBAE0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACyB,CAAC;YAC9D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACoD,CAAC;gBAC9D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,2HAA2H,CAAC;yBACxH,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EACV,CAAC,WAAW,EAAE,eAAe,EAAE,0BAA0B,CAAC;gBAC9D,UAAU,EAAE,CAAC,WAAW,EAAE,0BAA0B,EAAE,eAAe,CAAC;gBACtE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;QAyBD,GAAG,CAAC,gBAE8C,EAC9C,iBAC8C,EAC9C,QAAyD;YAE3D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACsB,CAAC;YAC3D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4D,CAAC;gBACtE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,2HAA2H,CAAC;yBACxH,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EACV,CAAC,WAAW,EAAE,eAAe,EAAE,0BAA0B,CAAC;gBAC9D,UAAU,EAAE,CAAC,WAAW,EAAE,0BAA0B,EAAE,eAAe,CAAC;gBACtE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA2B,UAAU,EAAE,QAAQ,CAAC,CAAC;aAClE;iBAAM;gBACL,OAAO,oCAAgB,CAA2B,UAAU,CAAC,CAAC;aAC/D;QACH,CAAC;QA4BD,MAAM,CACF,gBAE8C,EAC9C,iBAC8C,EAC9C,QAAyD;YAE3D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACyB,CAAC;YAC9D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACoD,CAAC;gBAC9D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,gGAAgG,CAAC;yBAC7F,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC;gBAC9C,UAAU,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC;gBAC1C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA2B,UAAU,EAAE,QAAQ,CAAC,CAAC;aAClE;iBAAM;gBACL,OAAO,oCAAgB,CAA2B,UAAU,CAAC,CAAC;aAC/D;QACH,CAAC;QA6BD,IAAI,CACA,gBAE+C,EAC/C,iBAC+C,EAC/C,QAA0D;YAE5D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACuB,CAAC;YAC5D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6D,CAAC;gBACvE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,gGAAgG,CAAC;yBAC7F,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC;gBAC9C,UAAU,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC;gBAC1C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA4B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACnE;iBAAM;gBACL,OAAO,oCAAgB,CAA4B,UAAU,CAAC,CAAC;aAChE;QACH,CAAC;QA8BD,KAAK,CACD,gBAE8C,EAC9C,iBAC8C,EAC9C,QAAyD;YAE3D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACwB,CAAC;YAC7D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8D,CAAC;gBACxE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,2HAA2H,CAAC;yBACxH,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EACV,CAAC,WAAW,EAAE,eAAe,EAAE,0BAA0B,CAAC;gBAC9D,UAAU,EAAE,CAAC,WAAW,EAAE,0BAA0B,EAAE,eAAe,CAAC;gBACtE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA2B,UAAU,EAAE,QAAQ,CAAC,CAAC;aAClE;iBAAM;gBACL,OAAO,oCAAgB,CAA2B,UAAU,CAAC,CAAC;aAC/D;QACH,CAAC;QA6BD,MAAM,CACF,gBAE8C,EAC9C,iBAC8C,EAC9C,QAAyD;YAE3D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACyB,CAAC;YAC9D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACoD,CAAC;gBAC9D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,2HAA2H,CAAC;yBACxH,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EACV,CAAC,WAAW,EAAE,eAAe,EAAE,0BAA0B,CAAC;gBAC9D,UAAU,EAAE,CAAC,WAAW,EAAE,0BAA0B,EAAE,eAAe,CAAC;gBACtE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA2B,UAAU,EAAE,QAAQ,CAAC,CAAC;aAClE;iBAAM;gBACL,OAAO,oCAAgB,CAA2B,UAAU,CAAC,CAAC;aAC/D;QACH,CAAC;KACF;IA/bY,wDAA2C,8CA+bvD,CAAA;IAuID,MAAa,wCAAwC;QAEnD,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA4BD,MAAM,CACF,gBAE0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACsB,CAAC;YAC3D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4D,CAAC;gBACtE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,sGAAsG,CAAC;yBACnG,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,QAAQ,CAAC;gBACxD,UAAU,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,eAAe,CAAC;gBACpD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;QA4BD,MAAM,CACF,gBAE2C,EAC3C,iBAC2C,EAC3C,QAAsD;YAExD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACsB,CAAC;YAC3D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4D,CAAC;gBACtE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,6FAA6F,CAAC;yBAC1F,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC;gBAC9C,UAAU,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC;gBAC1C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAwB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC/D;iBAAM;gBACL,OAAO,oCAAgB,CAAwB,UAAU,CAAC,CAAC;aAC5D;QACH,CAAC;QA6BD,IAAI,CACA,gBAC4C,EAC5C,iBAC4C,EAC5C,QAAuD;YAEzD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACoB,CAAC;YACzD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0D,CAAC;gBACpE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,6FAA6F,CAAC;yBAC1F,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC;gBAC9C,UAAU,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC;gBAC1C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAyB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAChE;iBAAM;gBACL,OAAO,oCAAgB,CAAyB,UAAU,CAAC,CAAC;aAC7D;QACH,CAAC;QA6BD,MAAM,CACF,gBAE2C,EAC3C,iBAC2C,EAC3C,QAAsD;YAExD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACsB,CAAC;YAC3D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4D,CAAC;gBACtE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,sGAAsG,CAAC;yBACnG,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,QAAQ,CAAC;gBACxD,UAAU,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,eAAe,CAAC;gBACpD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAwB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC/D;iBAAM;gBACL,OAAO,oCAAgB,CAAwB,UAAU,CAAC,CAAC;aAC5D;QACH,CAAC;KACF;IAzSY,qDAAwC,2CAySpD,CAAA;IA8FD,MAAa,iBAAiB;QAG5B,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC,OAAO,GAAG,IAAI,yBAAyB,CAAC,IAAI,CAAC,CAAC;QACrD,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;KACF;IAZY,8BAAiB,oBAY7B,CAAA;IAGD,MAAa,yBAAyB;QAEpC,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA0BD,IAAI,CACA,gBACoC,EACpC,iBAAsE,EACtE,QAA+C;YAEjD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,6CAA6C,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,YAAY,CAAC;gBAC9B,UAAU,EAAE,CAAC,YAAY,CAAC;gBAC1B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxD;iBAAM;gBACL,OAAO,oCAAgB,CAAiB,UAAU,CAAC,CAAC;aACrD;QACH,CAAC;KACF;IA5EY,sCAAyB,4BA4ErC,CAAA;IAiBD,MAAa,qBAAqB;QAEhC,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA2BD,mBAAmB,CACf,gBAC0C,EAC1C,iBAC0C,EAC1C,QAAqD;YAEvD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACgB,CAAC;YACrD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsD,CAAC;gBAChE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,gDAAgD,CAAC;yBACvD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,EAAE;gBAClB,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAuB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9D;iBAAM;gBACL,OAAO,oCAAgB,CAAuB,UAAU,CAAC,CAAC;aAC3D;QACH,CAAC;QA2BD,iBAAiB,CACb,gBACgD,EAChD,iBACgD,EAChD,QAA2D;YAE7D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACc,CAAC;YACnD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoD,CAAC;gBAC9D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,8CAA8C,CAAC;yBACrD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,EAAE;gBAClB,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA6B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACpE;iBAAM;gBACL,OAAO,oCAAgB,CAA6B,UAAU,CAAC,CAAC;aACjE;QACH,CAAC;KACF;IAlJY,kCAAqB,wBAkJjC,CAAA;IA4BD,MAAa,qBAAqB;QAGhC,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC,mBAAmB;gBACpB,IAAI,yCAAyC,CAAC,IAAI,CAAC,CAAC;QAC1D,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;KACF;IAbY,kCAAqB,wBAajC,CAAA;IAGD,MAAa,yCAAyC;QAEpD,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA0BD,MAAM,CACF,gBAEgD,EAChD,iBACgD,EAChD,QAA2D;YAE7D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACuB,CAAC;YAC5D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6D,CAAC;gBACvE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,wDAAwD,CAAC;yBACrD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,EAAE;gBAClB,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA6B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACpE;iBAAM;gBACL,OAAO,oCAAgB,CAA6B,UAAU,CAAC,CAAC;aACjE;QACH,CAAC;KACF;IA/EY,sDAAyC,4CA+ErD,CAAA;AAcH,CAAC,EAhoWgB,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAgoW5B"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/analyticsreporting/README.md b/express-server/node_modules/googleapis/build/src/apis/analyticsreporting/README.md new file mode 100644 index 00000000..2c6abf81 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/analyticsreporting/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/analyticsreporting + +> Accesses Analytics report data. + +## Installation + +```sh +$ npm install @google/analyticsreporting +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/analyticsreporting/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/analyticsreporting/index.d.ts new file mode 100644 index 00000000..bb38667b --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/analyticsreporting/index.d.ts @@ -0,0 +1,6 @@ +import { analyticsreporting_v4 } from './v4'; +export declare const VERSIONS: { + 'v4': typeof analyticsreporting_v4.Analyticsreporting; +}; +export declare function analyticsreporting(version: 'v4'): analyticsreporting_v4.Analyticsreporting; +export declare function analyticsreporting(options: analyticsreporting_v4.Options): analyticsreporting_v4.Analyticsreporting; diff --git a/express-server/node_modules/googleapis/build/src/apis/analyticsreporting/index.js b/express-server/node_modules/googleapis/build/src/apis/analyticsreporting/index.js new file mode 100644 index 00000000..ae61942f --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/analyticsreporting/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v4_1 = require("./v4"); +exports.VERSIONS = { + 'v4': v4_1.analyticsreporting_v4.Analyticsreporting, +}; +function analyticsreporting(versionOrOptions) { + return googleapis_common_1.getAPI('analyticsreporting', versionOrOptions, exports.VERSIONS, this); +} +exports.analyticsreporting = analyticsreporting; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/analyticsreporting/index.js.map b/express-server/node_modules/googleapis/build/src/apis/analyticsreporting/index.js.map new file mode 100644 index 00000000..0a6f04c7 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/analyticsreporting/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/analyticsreporting/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAA2C;AAE9B,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,0BAAqB,CAAC,kBAAkB;CAC/C,CAAC;AAMF,SACA,kBAAkB,CAEd,gBAAoD;IACtD,OAAO,0BAAM,CAAI,oBAAoB,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAC3E,CAAC;AALD,gDAKC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/analyticsreporting/package.json b/express-server/node_modules/googleapis/build/src/apis/analyticsreporting/package.json new file mode 100644 index 00000000..fc132433 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/analyticsreporting/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/analyticsreporting", + "version": "0.1.0", + "description": "analyticsreporting", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/analyticsreporting/v4.d.ts b/express-server/node_modules/googleapis/build/src/apis/analyticsreporting/v4.d.ts new file mode 100644 index 00000000..9c58a52b --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/analyticsreporting/v4.d.ts @@ -0,0 +1,961 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace analyticsreporting_v4 { + interface Options extends GlobalOptions { + version: 'v4'; + } + /** + * Analytics Reporting API + * + * Accesses Analytics report data. + * + * @example + * const {google} = require('googleapis'); + * const analyticsreporting = google.analyticsreporting('v4'); + * + * @namespace analyticsreporting + * @type {Function} + * @version v4 + * @variation v4 + * @param {object=} options Options for Analyticsreporting + */ + class Analyticsreporting { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + reports: Resource$Reports; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Defines a cohort. A cohort is a group of users who share a common + * characteristic. For example, all users with the same acquisition date + * belong to the same cohort. + */ + interface Schema$Cohort { + /** + * This is used for `FIRST_VISIT_DATE` cohort, the cohort selects users + * whose first visit date is between start date and end date defined in the + * DateRange. The date ranges should be aligned for cohort requests. If the + * request contains `ga:cohortNthDay` it should be exactly one day long, if + * `ga:cohortNthWeek` it should be aligned to the week boundary (starting at + * Sunday and ending Saturday), and for `ga:cohortNthMonth` the date range + * should be aligned to the month (starting at the first and ending on the + * last day of the month). For LTV requests there are no such restrictions. + * You do not need to supply a date range for the + * `reportsRequest.dateRanges` field. + */ + dateRange?: Schema$DateRange; + /** + * A unique name for the cohort. If not defined name will be auto-generated + * with values cohort_[1234...]. + */ + name?: string; + /** + * Type of the cohort. The only supported type as of now is + * `FIRST_VISIT_DATE`. If this field is unspecified the cohort is treated as + * `FIRST_VISIT_DATE` type cohort. + */ + type?: string; + } + /** + * Defines a cohort group. For example: "cohortGroup": { + * "cohorts": [{ "name": "cohort 1", + * "type": "FIRST_VISIT_DATE", "dateRange": { + * "startDate": "2015-08-01", "endDate": + * "2015-08-01" } },{ "name": "cohort + * 2" "type": "FIRST_VISIT_DATE" + * "dateRange": { "startDate": "2015-07-01", + * "endDate": "2015-07-01" } }] } + */ + interface Schema$CohortGroup { + /** + * The definition for the cohort. + */ + cohorts?: Schema$Cohort[]; + /** + * Enable Life Time Value (LTV). LTV measures lifetime value for users + * acquired through different channels. Please see: [Cohort + * Analysis](https://support.google.com/analytics/answer/6074676) and + * [Lifetime Value](https://support.google.com/analytics/answer/6182550) If + * the value of lifetimeValue is false: - The metric values are similar to + * the values in the web interface cohort report. - The cohort definition + * date ranges must be aligned to the calendar week and month. i.e. while + * requesting `ga:cohortNthWeek` the `startDate` in the cohort definition + * should be a Sunday and the `endDate` should be the following Saturday, + * and for `ga:cohortNthMonth`, the `startDate` should be the 1st of the + * month and `endDate` should be the last day of the month. When the + * lifetimeValue is true: - The metric values will correspond to the values + * in the web interface LifeTime value report. - The Lifetime Value report + * shows you how user value (Revenue) and engagement (Appviews, Goal + * Completions, Sessions, and Session Duration) grow during the 90 days + * after a user is acquired. - The metrics are calculated as a cumulative + * average per user per the time increment. - The cohort definition date + * ranges need not be aligned to the calendar week and month boundaries. - + * The `viewId` must be an [app view + * ID](https://support.google.com/analytics/answer/2649553#WebVersusAppViews) + */ + lifetimeValue?: boolean; + } + /** + * Column headers. + */ + interface Schema$ColumnHeader { + /** + * The dimension names in the response. + */ + dimensions?: string[]; + /** + * Metric headers for the metrics in the response. + */ + metricHeader?: Schema$MetricHeader; + } + /** + * A contiguous set of days: startDate, startDate + 1 day, ..., endDate. The + * start and end dates are specified in + * [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) date format `YYYY-MM-DD`. + */ + interface Schema$DateRange { + /** + * The end date for the query in the format `YYYY-MM-DD`. + */ + endDate?: string; + /** + * The start date for the query in the format `YYYY-MM-DD`. + */ + startDate?: string; + } + /** + * Used to return a list of metrics for a single DateRange / dimension + * combination + */ + interface Schema$DateRangeValues { + /** + * The values of each pivot region. + */ + pivotValueRegions?: Schema$PivotValueRegion[]; + /** + * Each value corresponds to each Metric in the request. + */ + values?: string[]; + } + /** + * [Dimensions](https://support.google.com/analytics/answer/1033861) are + * attributes of your data. For example, the dimension `ga:city` indicates the + * city, for example, "Paris" or "New York", from which a + * session originates. + */ + interface Schema$Dimension { + /** + * If non-empty, we place dimension values into buckets after string to + * int64. Dimension values that are not the string representation of an + * integral value will be converted to zero. The bucket values have to be + * in increasing order. Each bucket is closed on the lower end, and open on + * the upper end. The "first" bucket includes all values less than + * the first boundary, the "last" bucket includes all values up to + * infinity. Dimension values that fall in a bucket get transformed to a new + * dimension value. For example, if one gives a list of "0, 1, 3, 4, + * 7", then we return the following buckets: - bucket #1: values < + * 0, dimension value "<0" - bucket #2: values in [0,1), + * dimension value "0" - bucket #3: values in [1,3), dimension + * value "1-2" - bucket #4: values in [3,4), dimension value + * "3" - bucket #5: values in [4,7), dimension value + * "4-6" - bucket #6: values >= 7, dimension value + * "7+" NOTE: If you are applying histogram mutation on any + * dimension, and using that dimension in sort, you will want to use the + * sort type `HISTOGRAM_BUCKET` for that purpose. Without that the dimension + * values will be sorted according to dictionary (lexicographic) order. For + * example the ascending dictionary order is: "<50", + * "1001+", "121-1000", "50-120" And the + * ascending `HISTOGRAM_BUCKET` order is: "<50", + * "50-120", "121-1000", "1001+" The client + * has to explicitly request `"orderType": + * "HISTOGRAM_BUCKET"` for a histogram-mutated dimension. + */ + histogramBuckets?: string[]; + /** + * Name of the dimension to fetch, for example `ga:browser`. + */ + name?: string; + } + /** + * Dimension filter specifies the filtering options on a dimension. + */ + interface Schema$DimensionFilter { + /** + * Should the match be case sensitive? Default is false. + */ + caseSensitive?: boolean; + /** + * The dimension to filter on. A DimensionFilter must contain a dimension. + */ + dimensionName?: string; + /** + * Strings or regular expression to match against. Only the first value of + * the list is used for comparison unless the operator is `IN_LIST`. If + * `IN_LIST` operator, then the entire list is used to filter the dimensions + * as explained in the description of the `IN_LIST` operator. + */ + expressions?: string[]; + /** + * Logical `NOT` operator. If this boolean is set to true, then the matching + * dimension values will be excluded in the report. The default is false. + */ + not?: boolean; + /** + * How to match the dimension to the expression. The default is REGEXP. + */ + operator?: string; + } + /** + * A group of dimension filters. Set the operator value to specify how the + * filters are logically combined. + */ + interface Schema$DimensionFilterClause { + /** + * The repeated set of filters. They are logically combined based on the + * operator specified. + */ + filters?: Schema$DimensionFilter[]; + /** + * The operator for combining multiple dimension filters. If unspecified, it + * is treated as an `OR`. + */ + operator?: string; + } + /** + * Dynamic segment definition for defining the segment within the request. A + * segment can select users, sessions or both. + */ + interface Schema$DynamicSegment { + /** + * The name of the dynamic segment. + */ + name?: string; + /** + * Session Segment to select sessions to include in the segment. + */ + sessionSegment?: Schema$SegmentDefinition; + /** + * User Segment to select users to include in the segment. + */ + userSegment?: Schema$SegmentDefinition; + } + /** + * The batch request containing multiple report request. + */ + interface Schema$GetReportsRequest { + /** + * Requests, each request will have a separate response. There can be a + * maximum of 5 requests. All requests should have the same `dateRanges`, + * `viewId`, `segments`, `samplingLevel`, and `cohortGroup`. + */ + reportRequests?: Schema$ReportRequest[]; + /** + * Enables [resource based + * quotas](/analytics/devguides/reporting/core/v4/limits-quotas#analytics_reporting_api_v4), + * (defaults to `False`). If this field is set to `True` the per view + * (profile) quotas are governed by the computational cost of the request. + * Note that using cost based quotas will higher enable sampling rates. (10 + * Million for `SMALL`, 100M for `LARGE`. See the [limits and quotas + * documentation](/analytics/devguides/reporting/core/v4/limits-quotas#analytics_reporting_api_v4) + * for details. + */ + useResourceQuotas?: boolean; + } + /** + * The main response class which holds the reports from the Reporting API + * `batchGet` call. + */ + interface Schema$GetReportsResponse { + /** + * The amount of resource quota tokens deducted to execute the query. + * Includes all responses. + */ + queryCost?: number; + /** + * Responses corresponding to each of the request. + */ + reports?: Schema$Report[]; + /** + * The amount of resource quota remaining for the property. + */ + resourceQuotasRemaining?: Schema$ResourceQuotasRemaining; + } + /** + * [Metrics](https://support.google.com/analytics/answer/1033861) are the + * quantitative measurements. For example, the metric `ga:users` indicates the + * total number of users for the requested time period. + */ + interface Schema$Metric { + /** + * An alias for the metric expression is an alternate name for the + * expression. The alias can be used for filtering and sorting. This field + * is optional and is useful if the expression is not a single metric but a + * complex expression which cannot be used in filtering and sorting. The + * alias is also used in the response column header. + */ + alias?: string; + /** + * A metric expression in the request. An expression is constructed from one + * or more metrics and numbers. Accepted operators include: Plus (+), Minus + * (-), Negation (Unary -), Divided by (/), Multiplied by (*), Parenthesis, + * Positive cardinal numbers (0-9), can include decimals and is limited to + * 1024 characters. Example `ga:totalRefunds/ga:users`, in most cases the + * metric expression is just a single metric name like `ga:users`. Adding + * mixed `MetricType` (E.g., `CURRENCY` + `PERCENTAGE`) metrics will result + * in unexpected results. + */ + expression?: string; + /** + * Specifies how the metric expression should be formatted, for example + * `INTEGER`. + */ + formattingType?: string; + } + /** + * MetricFilter specifies the filter on a metric. + */ + interface Schema$MetricFilter { + /** + * The value to compare against. + */ + comparisonValue?: string; + /** + * The metric that will be filtered on. A metricFilter must contain a metric + * name. A metric name can be an alias earlier defined as a metric or it can + * also be a metric expression. + */ + metricName?: string; + /** + * Logical `NOT` operator. If this boolean is set to true, then the matching + * metric values will be excluded in the report. The default is false. + */ + not?: boolean; + /** + * Is the metric `EQUAL`, `LESS_THAN` or `GREATER_THAN` the comparisonValue, + * the default is `EQUAL`. If the operator is `IS_MISSING`, checks if the + * metric is missing and would ignore the comparisonValue. + */ + operator?: string; + } + /** + * Represents a group of metric filters. Set the operator value to specify how + * the filters are logically combined. + */ + interface Schema$MetricFilterClause { + /** + * The repeated set of filters. They are logically combined based on the + * operator specified. + */ + filters?: Schema$MetricFilter[]; + /** + * The operator for combining multiple metric filters. If unspecified, it is + * treated as an `OR`. + */ + operator?: string; + } + /** + * The headers for the metrics. + */ + interface Schema$MetricHeader { + /** + * Headers for the metrics in the response. + */ + metricHeaderEntries?: Schema$MetricHeaderEntry[]; + /** + * Headers for the pivots in the response. + */ + pivotHeaders?: Schema$PivotHeader[]; + } + /** + * Header for the metrics. + */ + interface Schema$MetricHeaderEntry { + /** + * The name of the header. + */ + name?: string; + /** + * The type of the metric, for example `INTEGER`. + */ + type?: string; + } + /** + * Specifies the sorting options. + */ + interface Schema$OrderBy { + /** + * The field which to sort by. The default sort order is ascending. Example: + * `ga:browser`. Note, that you can only specify one field for sort here. + * For example, `ga:browser, ga:city` is not valid. + */ + fieldName?: string; + /** + * The order type. The default orderType is `VALUE`. + */ + orderType?: string; + /** + * The sorting order for the field. + */ + sortOrder?: string; + } + /** + * A list of segment filters in the `OR` group are combined with the logical + * OR operator. + */ + interface Schema$OrFiltersForSegment { + /** + * List of segment filters to be combined with a `OR` operator. + */ + segmentFilterClauses?: Schema$SegmentFilterClause[]; + } + /** + * The Pivot describes the pivot section in the request. The Pivot helps + * rearrange the information in the table for certain reports by pivoting your + * data on a second dimension. + */ + interface Schema$Pivot { + /** + * DimensionFilterClauses are logically combined with an `AND` operator: + * only data that is included by all these DimensionFilterClauses + * contributes to the values in this pivot region. Dimension filters can be + * used to restrict the columns shown in the pivot region. For example if + * you have `ga:browser` as the requested dimension in the pivot region, and + * you specify key filters to restrict `ga:browser` to only "IE" + * or "Firefox", then only those two browsers would show up as + * columns. + */ + dimensionFilterClauses?: Schema$DimensionFilterClause[]; + /** + * A list of dimensions to show as pivot columns. A Pivot can have a maximum + * of 4 dimensions. Pivot dimensions are part of the restriction on the + * total number of dimensions allowed in the request. + */ + dimensions?: Schema$Dimension[]; + /** + * Specifies the maximum number of groups to return. The default value is + * 10, also the maximum value is 1,000. + */ + maxGroupCount?: number; + /** + * The pivot metrics. Pivot metrics are part of the restriction on total + * number of metrics allowed in the request. + */ + metrics?: Schema$Metric[]; + /** + * If k metrics were requested, then the response will contain some + * data-dependent multiple of k columns in the report. E.g., if you pivoted + * on the dimension `ga:browser` then you'd get k columns for + * "Firefox", k columns for "IE", k columns for + * "Chrome", etc. The ordering of the groups of columns is + * determined by descending order of "total" for the first of the + * k values. Ties are broken by lexicographic ordering of the first pivot + * dimension, then lexicographic ordering of the second pivot dimension, and + * so on. E.g., if the totals for the first value for Firefox, IE, and + * Chrome were 8, 2, 8, respectively, the order of columns would be Chrome, + * Firefox, IE. The following let you choose which of the groups of k + * columns are included in the response. + */ + startGroup?: number; + } + /** + * The headers for each of the pivot sections defined in the request. + */ + interface Schema$PivotHeader { + /** + * A single pivot section header. + */ + pivotHeaderEntries?: Schema$PivotHeaderEntry[]; + /** + * The total number of groups for this pivot. + */ + totalPivotGroupsCount?: number; + } + /** + * The headers for the each of the metric column corresponding to the metrics + * requested in the pivots section of the response. + */ + interface Schema$PivotHeaderEntry { + /** + * The name of the dimensions in the pivot response. + */ + dimensionNames?: string[]; + /** + * The values for the dimensions in the pivot. + */ + dimensionValues?: string[]; + /** + * The metric header for the metric in the pivot. + */ + metric?: Schema$MetricHeaderEntry; + } + /** + * The metric values in the pivot region. + */ + interface Schema$PivotValueRegion { + /** + * The values of the metrics in each of the pivot regions. + */ + values?: string[]; + } + /** + * The data response corresponding to the request. + */ + interface Schema$Report { + /** + * The column headers. + */ + columnHeader?: Schema$ColumnHeader; + /** + * Response data. + */ + data?: Schema$ReportData; + /** + * Page token to retrieve the next page of results in the list. + */ + nextPageToken?: string; + } + /** + * The data part of the report. + */ + interface Schema$ReportData { + /** + * The last time the data in the report was refreshed. All the hits received + * before this timestamp are included in the calculation of the report. + */ + dataLastRefreshed?: string; + /** + * Indicates if response to this request is golden or not. Data is golden + * when the exact same request will not produce any new results if asked at + * a later point in time. + */ + isDataGolden?: boolean; + /** + * Minimum and maximum values seen over all matching rows. These are both + * empty when `hideValueRanges` in the request is false, or when rowCount is + * zero. + */ + maximums?: Schema$DateRangeValues[]; + /** + * Minimum and maximum values seen over all matching rows. These are both + * empty when `hideValueRanges` in the request is false, or when rowCount is + * zero. + */ + minimums?: Schema$DateRangeValues[]; + /** + * Total number of matching rows for this query. + */ + rowCount?: number; + /** + * There's one ReportRow for every unique combination of dimensions. + */ + rows?: Schema$ReportRow[]; + /** + * If the results are + * [sampled](https://support.google.com/analytics/answer/2637192), this + * returns the total number of samples read, one entry per date range. If + * the results are not sampled this field will not be defined. See + * [developer guide](/analytics/devguides/reporting/core/v4/basics#sampling) + * for details. + */ + samplesReadCounts?: string[]; + /** + * If the results are + * [sampled](https://support.google.com/analytics/answer/2637192), this + * returns the total number of samples present, one entry per date range. If + * the results are not sampled this field will not be defined. See + * [developer guide](/analytics/devguides/reporting/core/v4/basics#sampling) + * for details. + */ + samplingSpaceSizes?: string[]; + /** + * For each requested date range, for the set of all rows that match the + * query, every requested value format gets a total. The total for a value + * format is computed by first totaling the metrics mentioned in the value + * format and then evaluating the value format as a scalar expression. E.g., + * The "totals" for `3 / (ga:sessions + 2)` we compute `3 / ((sum + * of all relevant ga:sessions) + 2)`. Totals are computed before + * pagination. + */ + totals?: Schema$DateRangeValues[]; + } + /** + * The main request class which specifies the Reporting API request. + */ + interface Schema$ReportRequest { + /** + * Cohort group associated with this request. If there is a cohort group in + * the request the `ga:cohort` dimension must be present. Every + * [ReportRequest](#ReportRequest) within a `batchGet` method must contain + * the same `cohortGroup` definition. + */ + cohortGroup?: Schema$CohortGroup; + /** + * Date ranges in the request. The request can have a maximum of 2 date + * ranges. The response will contain a set of metric values for each + * combination of the dimensions for each date range in the request. So, if + * there are two date ranges, there will be two set of metric values, one + * for the original date range and one for the second date range. The + * `reportRequest.dateRanges` field should not be specified for cohorts or + * Lifetime value requests. If a date range is not provided, the default + * date range is (startDate: current date - 7 days, endDate: current date - + * 1 day). Every [ReportRequest](#ReportRequest) within a `batchGet` method + * must contain the same `dateRanges` definition. + */ + dateRanges?: Schema$DateRange[]; + /** + * The dimension filter clauses for filtering Dimension Values. They are + * logically combined with the `AND` operator. Note that filtering occurs + * before any dimensions are aggregated, so that the returned metrics + * represent the total for only the relevant dimensions. + */ + dimensionFilterClauses?: Schema$DimensionFilterClause[]; + /** + * The dimensions requested. Requests can have a total of 7 dimensions. + */ + dimensions?: Schema$Dimension[]; + /** + * Dimension or metric filters that restrict the data returned for your + * request. To use the `filtersExpression`, supply a dimension or metric on + * which to filter, followed by the filter expression. For example, the + * following expression selects `ga:browser` dimension which starts with + * Firefox; `ga:browser=~^Firefox`. For more information on dimensions and + * metric filters, see [Filters + * reference](https://developers.google.com/analytics/devguides/reporting/core/v3/reference#filters). + */ + filtersExpression?: string; + /** + * If set to true, hides the total of all metrics for all the matching rows, + * for every date range. The default false and will return the totals. + */ + hideTotals?: boolean; + /** + * If set to true, hides the minimum and maximum across all matching rows. + * The default is false and the value ranges are returned. + */ + hideValueRanges?: boolean; + /** + * If set to false, the response does not include rows if all the retrieved + * metrics are equal to zero. The default is false which will exclude these + * rows. + */ + includeEmptyRows?: boolean; + /** + * The metric filter clauses. They are logically combined with the `AND` + * operator. Metric filters look at only the first date range and not the + * comparing date range. Note that filtering on metrics occurs after the + * metrics are aggregated. + */ + metricFilterClauses?: Schema$MetricFilterClause[]; + /** + * The metrics requested. Requests must specify at least one metric. + * Requests can have a total of 10 metrics. + */ + metrics?: Schema$Metric[]; + /** + * Sort order on output rows. To compare two rows, the elements of the + * following are applied in order until a difference is found. All date + * ranges in the output get the same row order. + */ + orderBys?: Schema$OrderBy[]; + /** + * Page size is for paging and specifies the maximum number of returned + * rows. Page size should be >= 0. A query returns the default of 1,000 + * rows. The Analytics Core Reporting API returns a maximum of 100,000 rows + * per request, no matter how many you ask for. It can also return fewer + * rows than requested, if there aren't as many dimension segments as + * you expect. For instance, there are fewer than 300 possible values for + * `ga:country`, so when segmenting only by country, you can't get more + * than 300 rows, even if you set `pageSize` to a higher value. + */ + pageSize?: number; + /** + * A continuation token to get the next page of the results. Adding this to + * the request will return the rows after the pageToken. The pageToken + * should be the value returned in the nextPageToken parameter in the + * response to the GetReports request. + */ + pageToken?: string; + /** + * The pivot definitions. Requests can have a maximum of 2 pivots. + */ + pivots?: Schema$Pivot[]; + /** + * The desired report + * [sample](https://support.google.com/analytics/answer/2637192) size. If + * the the `samplingLevel` field is unspecified the `DEFAULT` sampling level + * is used. Every [ReportRequest](#ReportRequest) within a `batchGet` method + * must contain the same `samplingLevel` definition. See [developer + * guide](/analytics/devguides/reporting/core/v4/basics#sampling) for + * details. + */ + samplingLevel?: string; + /** + * Segment the data returned for the request. A segment definition helps + * look at a subset of the segment request. A request can contain up to four + * segments. Every [ReportRequest](#ReportRequest) within a `batchGet` + * method must contain the same `segments` definition. Requests with + * segments must have the `ga:segment` dimension. + */ + segments?: Schema$Segment[]; + /** + * The Analytics [view + * ID](https://support.google.com/analytics/answer/1009618) from which to + * retrieve data. Every [ReportRequest](#ReportRequest) within a `batchGet` + * method must contain the same `viewId`. + */ + viewId?: string; + } + /** + * A row in the report. + */ + interface Schema$ReportRow { + /** + * List of requested dimensions. + */ + dimensions?: string[]; + /** + * List of metrics for each requested DateRange. + */ + metrics?: Schema$DateRangeValues[]; + } + /** + * The resource quota tokens remaining for the property after the request is + * completed. + */ + interface Schema$ResourceQuotasRemaining { + /** + * Daily resource quota remaining remaining. + */ + dailyQuotaTokensRemaining?: number; + /** + * Hourly resource quota tokens remaining. + */ + hourlyQuotaTokensRemaining?: number; + } + /** + * The segment definition, if the report needs to be segmented. A Segment is a + * subset of the Analytics data. For example, of the entire set of users, one + * Segment might be users from a particular country or city. + */ + interface Schema$Segment { + /** + * A dynamic segment definition in the request. + */ + dynamicSegment?: Schema$DynamicSegment; + /** + * The segment ID of a built-in or custom segment, for example `gaid::-3`. + */ + segmentId?: string; + } + /** + * SegmentDefinition defines the segment to be a set of SegmentFilters which + * are combined together with a logical `AND` operation. + */ + interface Schema$SegmentDefinition { + /** + * A segment is defined by a set of segment filters which are combined + * together with a logical `AND` operation. + */ + segmentFilters?: Schema$SegmentFilter[]; + } + /** + * Dimension filter specifies the filtering options on a dimension. + */ + interface Schema$SegmentDimensionFilter { + /** + * Should the match be case sensitive, ignored for `IN_LIST` operator. + */ + caseSensitive?: boolean; + /** + * Name of the dimension for which the filter is being applied. + */ + dimensionName?: string; + /** + * The list of expressions, only the first element is used for all operators + */ + expressions?: string[]; + /** + * Maximum comparison values for `BETWEEN` match type. + */ + maxComparisonValue?: string; + /** + * Minimum comparison values for `BETWEEN` match type. + */ + minComparisonValue?: string; + /** + * The operator to use to match the dimension with the expressions. + */ + operator?: string; + } + /** + * SegmentFilter defines the segment to be either a simple or a sequence + * segment. A simple segment condition contains dimension and metric + * conditions to select the sessions or users. A sequence segment condition + * can be used to select users or sessions based on sequential conditions. + */ + interface Schema$SegmentFilter { + /** + * If true, match the complement of simple or sequence segment. For example, + * to match all visits not from "New York", we can define the + * segment as follows: "sessionSegment": { + * "segmentFilters": [{ "simpleSegment" :{ + * "orFiltersForSegment": [{ "segmentFilterClauses":[{ + * "dimensionFilter": { "dimensionName": + * "ga:city", "expressions": + * ["New York"] } }] }] + * }, "not": "True" }] }, + */ + not?: boolean; + /** + * Sequence conditions consist of one or more steps, where each step is + * defined by one or more dimension/metric conditions. Multiple steps can be + * combined with special sequence operators. + */ + sequenceSegment?: Schema$SequenceSegment; + /** + * A Simple segment conditions consist of one or more dimension/metric + * conditions that can be combined + */ + simpleSegment?: Schema$SimpleSegment; + } + /** + * Filter Clause to be used in a segment definition, can be wither a metric or + * a dimension filter. + */ + interface Schema$SegmentFilterClause { + /** + * Dimension Filter for the segment definition. + */ + dimensionFilter?: Schema$SegmentDimensionFilter; + /** + * Metric Filter for the segment definition. + */ + metricFilter?: Schema$SegmentMetricFilter; + /** + * Matches the complement (`!`) of the filter. + */ + not?: boolean; + } + /** + * Metric filter to be used in a segment filter clause. + */ + interface Schema$SegmentMetricFilter { + /** + * The value to compare against. If the operator is `BETWEEN`, this value is + * treated as minimum comparison value. + */ + comparisonValue?: string; + /** + * Max comparison value is only used for `BETWEEN` operator. + */ + maxComparisonValue?: string; + /** + * The metric that will be filtered on. A `metricFilter` must contain a + * metric name. + */ + metricName?: string; + /** + * Specifies is the operation to perform to compare the metric. The default + * is `EQUAL`. + */ + operator?: string; + /** + * Scope for a metric defines the level at which that metric is defined. The + * specified metric scope must be equal to or greater than its primary scope + * as defined in the data model. The primary scope is defined by if the + * segment is selecting users or sessions. + */ + scope?: string; + } + /** + * A segment sequence definition. + */ + interface Schema$SegmentSequenceStep { + /** + * Specifies if the step immediately precedes or can be any time before the + * next step. + */ + matchType?: string; + /** + * A sequence is specified with a list of Or grouped filters which are + * combined with `AND` operator. + */ + orFiltersForSegment?: Schema$OrFiltersForSegment[]; + } + /** + * Sequence conditions consist of one or more steps, where each step is + * defined by one or more dimension/metric conditions. Multiple steps can be + * combined with special sequence operators. + */ + interface Schema$SequenceSegment { + /** + * If set, first step condition must match the first hit of the visitor (in + * the date range). + */ + firstStepShouldMatchFirstHit?: boolean; + /** + * The list of steps in the sequence. + */ + segmentSequenceSteps?: Schema$SegmentSequenceStep[]; + } + /** + * A Simple segment conditions consist of one or more dimension/metric + * conditions that can be combined. + */ + interface Schema$SimpleSegment { + /** + * A list of segment filters groups which are combined with logical `AND` + * operator. + */ + orFiltersForSegment?: Schema$OrFiltersForSegment[]; + } + class Resource$Reports { + root: Analyticsreporting; + constructor(root: Analyticsreporting); + getRoot(): Analyticsreporting; + /** + * analyticsreporting.reports.batchGet + * @desc Returns the Analytics data. + * @alias analyticsreporting.reports.batchGet + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().GetReportsRequest} 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 + */ + batchGet(params?: Params$Resource$Reports$Batchget, options?: MethodOptions): AxiosPromise; + batchGet(params: Params$Resource$Reports$Batchget, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + batchGet(params: Params$Resource$Reports$Batchget, callback: BodyResponseCallback): void; + batchGet(callback: BodyResponseCallback): void; + } + interface Params$Resource$Reports$Batchget { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$GetReportsRequest; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/analyticsreporting/v4.js b/express-server/node_modules/googleapis/build/src/apis/analyticsreporting/v4.js new file mode 100644 index 00000000..e0d39353 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/analyticsreporting/v4.js @@ -0,0 +1,96 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var analyticsreporting_v4; +(function (analyticsreporting_v4) { + /** + * Analytics Reporting API + * + * Accesses Analytics report data. + * + * @example + * const {google} = require('googleapis'); + * const analyticsreporting = google.analyticsreporting('v4'); + * + * @namespace analyticsreporting + * @type {Function} + * @version v4 + * @variation v4 + * @param {object=} options Options for Analyticsreporting + */ + class Analyticsreporting { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.reports = new Resource$Reports(this); + } + getRoot() { + return this.root; + } + } + analyticsreporting_v4.Analyticsreporting = Analyticsreporting; + class Resource$Reports { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + batchGet(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://analyticsreporting.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v4/reports:batchGet') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + analyticsreporting_v4.Resource$Reports = Resource$Reports; +})(analyticsreporting_v4 = exports.analyticsreporting_v4 || (exports.analyticsreporting_v4 = {})); +//# sourceMappingURL=v4.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/analyticsreporting/v4.js.map b/express-server/node_modules/googleapis/build/src/apis/analyticsreporting/v4.js.map new file mode 100644 index 00000000..10f85fbb --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/analyticsreporting/v4.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v4.js","sourceRoot":"","sources":["../../../../src/apis/analyticsreporting/v4.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAIH,yDAA2H;AAE3H,yBAAyB;AACzB,6BAA6B;AAC7B,gCAAgC;AAChC,+BAA+B;AAC/B,+BAA+B;AAE/B,IAAiB,qBAAqB,CAy/BrC;AAz/BD,WAAiB,qBAAqB;IAKpC;;;;;;;;;;;;;;OAcG;IACH,MAAa,kBAAkB;QAO7B,YAAY,OAAsB,EAAE,MAA2B;YAJ/D,SAAI,GAAG,IAAI,CAAC;YAKV,IAAI,CAAC,QAAQ,GAAG,OAAO,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAExB,IAAI,CAAC,OAAO,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;KACF;IAlBY,wCAAkB,qBAkB9B,CAAA;IAw3BD,MAAa,gBAAgB;QAE3B,YAAY,IAAwB;YAClC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA0BD,QAAQ,CACJ,gBAC+C,EAC/C,iBAC+C,EAC/C,QAA0D;YAE5D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAqC,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsC,CAAC;gBAChD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,4CAA4C,CAAC;YACpE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,sBAAsB,CAAC;yBAC7B,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,EAAE;gBAClB,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA4B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACnE;iBAAM;gBACL,OAAO,oCAAgB,CAA4B,UAAU,CAAC,CAAC;aAChE;QACH,CAAC;KACF;IA7EY,sCAAgB,mBA6E5B,CAAA;AAcH,CAAC,EAz/BgB,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QAy/BrC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/androiddeviceprovisioning/README.md b/express-server/node_modules/googleapis/build/src/apis/androiddeviceprovisioning/README.md new file mode 100644 index 00000000..5656962d --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/androiddeviceprovisioning/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/androiddeviceprovisioning + +> Automates Android zero-touch enrollment for device resellers, customers, and EMMs. + +## Installation + +```sh +$ npm install @google/androiddeviceprovisioning +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/androiddeviceprovisioning/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/androiddeviceprovisioning/index.d.ts new file mode 100644 index 00000000..f29bbb92 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/androiddeviceprovisioning/index.d.ts @@ -0,0 +1,6 @@ +import { androiddeviceprovisioning_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof androiddeviceprovisioning_v1.Androiddeviceprovisioning; +}; +export declare function androiddeviceprovisioning(version: 'v1'): androiddeviceprovisioning_v1.Androiddeviceprovisioning; +export declare function androiddeviceprovisioning(options: androiddeviceprovisioning_v1.Options): androiddeviceprovisioning_v1.Androiddeviceprovisioning; diff --git a/express-server/node_modules/googleapis/build/src/apis/androiddeviceprovisioning/index.js b/express-server/node_modules/googleapis/build/src/apis/androiddeviceprovisioning/index.js new file mode 100644 index 00000000..65c2af7a --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/androiddeviceprovisioning/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.androiddeviceprovisioning_v1.Androiddeviceprovisioning, +}; +function androiddeviceprovisioning(versionOrOptions) { + return googleapis_common_1.getAPI('androiddeviceprovisioning', versionOrOptions, exports.VERSIONS, this); +} +exports.androiddeviceprovisioning = androiddeviceprovisioning; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/androiddeviceprovisioning/index.js.map b/express-server/node_modules/googleapis/build/src/apis/androiddeviceprovisioning/index.js.map new file mode 100644 index 00000000..0c805d9b --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/androiddeviceprovisioning/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/androiddeviceprovisioning/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAkD;AAErC,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,iCAA4B,CAAC,yBAAyB;CAC7D,CAAC;AAOF,SAAgB,yBAAyB,CAGrC,gBAA2D;IAC7D,OAAO,0BAAM,CACT,2BAA2B,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACrE,CAAC;AAND,8DAMC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/androiddeviceprovisioning/package.json b/express-server/node_modules/googleapis/build/src/apis/androiddeviceprovisioning/package.json new file mode 100644 index 00000000..b3fbb0eb --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/androiddeviceprovisioning/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/androiddeviceprovisioning", + "version": "0.1.0", + "description": "androiddeviceprovisioning", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/androiddeviceprovisioning/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/androiddeviceprovisioning/v1.d.ts new file mode 100644 index 00000000..9a311809 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/androiddeviceprovisioning/v1.d.ts @@ -0,0 +1,1726 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace androiddeviceprovisioning_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Android Device Provisioning Partner API + * + * Automates Android zero-touch enrollment for device resellers, customers, + * and EMMs. + * + * @example + * const {google} = require('googleapis'); + * const androiddeviceprovisioning = google.androiddeviceprovisioning('v1'); + * + * @namespace androiddeviceprovisioning + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Androiddeviceprovisioning + */ + class Androiddeviceprovisioning { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + customers: Resource$Customers; + operations: Resource$Operations; + partners: Resource$Partners; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Request message to claim a device on behalf of a customer. + */ + interface Schema$ClaimDeviceRequest { + /** + * Required. The ID of the customer for whom the device is being claimed. + */ + customerId?: string; + /** + * Required. The device identifier of the device to claim. + */ + deviceIdentifier?: Schema$DeviceIdentifier; + /** + * Required. The section type of the device's provisioning record. + */ + sectionType?: string; + } + /** + * Response message containing device id of the claim. + */ + interface Schema$ClaimDeviceResponse { + /** + * The device ID of the claimed device. + */ + deviceId?: string; + /** + * The resource name of the device in the format + * `partners/[PARTNER_ID]/devices/[DEVICE_ID]`. + */ + deviceName?: string; + } + /** + * Request to claim devices asynchronously in batch. Claiming a device adds + * the device to zero-touch enrollment and shows the device in the + * customer's view of the portal. + */ + interface Schema$ClaimDevicesRequest { + /** + * Required. A list of device claims. + */ + claims?: Schema$PartnerClaim[]; + } + /** + * A reseller, vendor, or customer in the zero-touch reseller and customer + * APIs. + */ + interface Schema$Company { + /** + * Input only. Optional. Email address of customer's users in the admin + * role. Each email address must be associated with a Google Account. + */ + adminEmails?: string[]; + /** + * Output only. The ID of the company. Assigned by the server. + */ + companyId?: string; + /** + * Required. The name of the company. For example _XYZ Corp_. Displayed to + * the company's employees in the zero-touch enrollment portal. + */ + companyName?: string; + /** + * Output only. The API resource name of the company. The resource name is + * one of the following formats: * + * `partners/[PARTNER_ID]/customers/[CUSTOMER_ID]` * + * `partners/[PARTNER_ID]/vendors/[VENDOR_ID]` * + * `partners/[PARTNER_ID]/vendors/[VENDOR_ID]/customers/[CUSTOMER_ID]` + * Assigned by the server. + */ + name?: string; + /** + * Input only. Email address of customer's users in the owner role. At + * least one `owner_email` is required. Each email address must be + * associated with a Google Account. Owners share the same access as admins + * but can also add, delete, and edit your organization's portal users. + */ + ownerEmails?: string[]; + /** + * Output only. Whether any user from the company has accepted the latest + * Terms of Service (ToS). See TermsStatus. + */ + termsStatus?: string; + } + /** + * A configuration collects the provisioning options for Android devices. Each + * configuration combines the following: * The EMM device policy controller + * (DPC) installed on the devices. * EMM policies enforced on the devices. * + * Metadata displayed on the device to help users during setup. Customers can + * add as many configurations as they need. However, zero-touch enrollment + * works best when a customer sets a default configuration that's applied + * to any new devices the organization purchases. + */ + interface Schema$Configuration { + /** + * Required. The name of the organization. Zero-touch enrollment shows this + * organization name to device users during device provisioning. + */ + companyName?: string; + /** + * Output only. The ID of the configuration. Assigned by the server. + */ + configurationId?: string; + /** + * Required. A short name that describes the configuration's purpose. + * For example, _Sales team_ or _Temporary employees_. The zero-touch + * enrollment portal displays this name to IT admins. + */ + configurationName?: string; + /** + * Required. The email address that device users can contact to get help. + * Zero-touch enrollment shows this email address to device users before + * device provisioning. The value is validated on input. + */ + contactEmail?: string; + /** + * Required. The telephone number that device users can call, using another + * device, to get help. Zero-touch enrollment shows this number to device + * users before device provisioning. Accepts numerals, spaces, the plus + * sign, hyphens, and parentheses. + */ + contactPhone?: string; + /** + * A message, containing one or two sentences, to help device users get help + * or give them more details about what’s happening to their device. + * Zero-touch enrollment shows this message before the device is + * provisioned. + */ + customMessage?: string; + /** + * The JSON-formatted EMM provisioning extras that are passed to the DPC. + */ + dpcExtras?: string; + /** + * Required. The resource name of the selected DPC (device policy + * controller) in the format `customers/[CUSTOMER_ID]/dpcs/x. To list the + * supported DPCs, call `customers.dpcs.list`. + */ + dpcResourcePath?: string; + /** + * Required. Whether this is the default configuration that zero-touch + * enrollment applies to any new devices the organization purchases in the + * future. Only one customer configuration can be the default. Setting this + * value to `true`, changes the previous default configuration's + * `isDefault` value to `false`. + */ + isDefault?: boolean; + /** + * Output only. The API resource name in the format + * `customers/[CUSTOMER_ID]/configurations/[CONFIGURATION_ID]`. Assigned by + * the server. + */ + name?: string; + } + /** + * Request message to create a customer. + */ + interface Schema$CreateCustomerRequest { + /** + * Required. The company data to populate the new customer. Must contain a + * value for `companyName` and at least one `owner_email` that's + * associated with a Google Account. The values for `companyId` and `name` + * must be empty. + */ + customer?: Schema$Company; + } + /** + * Request message for customer to assign a configuration to device. + */ + interface Schema$CustomerApplyConfigurationRequest { + /** + * Required. The configuration applied to the device in the format + * `customers/[CUSTOMER_ID]/configurations/[CONFIGURATION_ID]`. + */ + configuration?: string; + /** + * Required. The device the configuration is applied to. + */ + device?: Schema$DeviceReference; + } + /** + * Response message of customer's listing configuration. + */ + interface Schema$CustomerListConfigurationsResponse { + /** + * The configurations. + */ + configurations?: Schema$Configuration[]; + } + /** + * Response message for listing my customers. + */ + interface Schema$CustomerListCustomersResponse { + /** + * The customer accounts the calling user is a member of. + */ + customers?: Schema$Company[]; + /** + * A token used to access the next page of results. Omitted if no further + * results are available. + */ + nextPageToken?: string; + } + /** + * Response message of customer's liting devices. + */ + interface Schema$CustomerListDevicesResponse { + /** + * The customer's devices. + */ + devices?: Schema$Device[]; + /** + * A token used to access the next page of results. Omitted if no further + * results are available. + */ + nextPageToken?: string; + } + /** + * Response message of customer's listing DPCs. + */ + interface Schema$CustomerListDpcsResponse { + /** + * The list of DPCs available to the customer that support zero-touch + * enrollment. + */ + dpcs?: Schema$Dpc[]; + } + /** + * Request message for customer to remove the configuration from device. + */ + interface Schema$CustomerRemoveConfigurationRequest { + /** + * Required. The device to remove the configuration from. + */ + device?: Schema$DeviceReference; + } + /** + * Request message for customer to unclaim a device. + */ + interface Schema$CustomerUnclaimDeviceRequest { + /** + * Required. The device to unclaim. + */ + device?: Schema$DeviceReference; + } + /** + * An Android device registered for zero-touch enrollment. + */ + interface Schema$Device { + /** + * Output only. The provisioning claims for a device. Devices claimed for + * zero-touch enrollment have a claim with the type + * `SECTION_TYPE_ZERO_TOUCH`. Call `partners.devices.unclaim` or + * `partners.devices.unclaimAsync` to remove the device from zero-touch + * enrollment. + */ + claims?: Schema$DeviceClaim[]; + /** + * Not available to resellers. + */ + configuration?: string; + /** + * Output only. The ID of the device. Assigned by the server. + */ + deviceId?: string; + /** + * The hardware IDs that identify a manufactured device. To learn more, read + * [Identifiers](/zero-touch/guides/identifiers). + */ + deviceIdentifier?: Schema$DeviceIdentifier; + /** + * The metadata attached to the device. Structured as key-value pairs. To + * learn more, read [Device metadata](/zero-touch/guides/metadata). + */ + deviceMetadata?: Schema$DeviceMetadata; + /** + * Output only. The API resource name in the format + * `partners/[PARTNER_ID]/devices/[DEVICE_ID]`. Assigned by the server. + */ + name?: string; + } + /** + * A record of a device claimed by a reseller for a customer. Devices claimed + * for zero-touch enrollment have a claim with the type + * `SECTION_TYPE_ZERO_TOUCH`. To learn more, read [Claim devices for + * customers](/zero-touch/guides/how-it-works#claim). + */ + interface Schema$DeviceClaim { + /** + * The ID of the Customer that purchased the device. + */ + ownerCompanyId?: string; + /** + * The ID of the reseller that claimed the device. + */ + resellerId?: string; + /** + * Output only. The type of claim made on the device. + */ + sectionType?: string; + } + /** + * Encapsulates hardware and product IDs to identify a manufactured device. To + * understand requirements on identifier sets, read + * [Identifiers](/zero-touch/guides/identifiers). + */ + interface Schema$DeviceIdentifier { + /** + * The device’s IMEI number. Validated on input. + */ + imei?: string; + /** + * The device manufacturer’s name. Matches the device's built-in value + * returned from `android.os.Build.MANUFACTURER`. Allowed values are listed + * in + * [manufacturers](/zero-touch/resources/manufacturer-names#manufacturers-names). + */ + manufacturer?: string; + /** + * The device’s MEID number. + */ + meid?: string; + /** + * The device model's name. Matches the device's built-in value + * returned from `android.os.Build.MODEL`. Allowed values are listed in + * [models](/zero-touch/resources/manufacturer-names#model-names). + */ + model?: string; + /** + * The manufacturer's serial number for the device. This value might not + * be unique across different device models. + */ + serialNumber?: string; + } + /** + * Metadata entries that can be attached to a `Device`. To learn more, read + * [Device metadata](/zero-touch/guides/metadata). + */ + interface Schema$DeviceMetadata { + /** + * Metadata entries recorded as key-value pairs. + */ + entries?: any; + } + /** + * A `DeviceReference` is an API abstraction that lets you supply a _device_ + * argument to a method using one of the following identifier types: * A + * numeric API resource ID. * Real-world hardware IDs, such as IMEI number, + * belonging to the manufactured device. Methods that operate on devices + * take a `DeviceReference` as a parameter type because it's more flexible + * for the caller. To learn more about device identifiers, read + * [Identifiers](/zero-touch/guides/identifiers). + */ + interface Schema$DeviceReference { + /** + * The ID of the device. + */ + deviceId?: string; + /** + * The hardware IDs of the device. + */ + deviceIdentifier?: Schema$DeviceIdentifier; + } + /** + * Tracks the status of a long-running operation to asynchronously update a + * batch of reseller metadata attached to devices. To learn more, read + * [Long‑running batch + * operations](/zero-touch/guides/how-it-works#operations). + */ + interface Schema$DevicesLongRunningOperationMetadata { + /** + * The number of metadata updates in the operation. This might be different + * from the number of updates in the request if the API can't parse some + * of the updates. + */ + devicesCount?: number; + /** + * The processing status of the operation. + */ + processingStatus?: string; + /** + * The processing progress of the operation. Measured as a number from 0 to + * 100. A value of 10O doesnt always mean the operation completed—check for + * the inclusion of a `done` field. + */ + progress?: number; + } + /** + * Tracks the status of a long-running operation to claim, unclaim, or attach + * metadata to devices. To learn more, read [Long‑running batch + * operations](/zero-touch/guides/how-it-works#operations). + */ + interface Schema$DevicesLongRunningOperationResponse { + /** + * The processing status for each device in the operation. One + * `PerDeviceStatus` per device. The list order matches the items in the + * original request. + */ + perDeviceStatus?: Schema$OperationPerDevice[]; + /** + * A summary of how many items in the operation the server processed + * successfully. Updated as the operation progresses. + */ + successCount?: number; + } + /** + * An EMM's DPC ([device policy + * controller](http://developer.android.com/work/dpc/build-dpc.html)). + * Zero-touch enrollment installs a DPC (listed in the `Configuration`) on a + * device to maintain the customer's mobile policies. All the DPCs listed + * by the API support zero-touch enrollment and are available in Google Play. + */ + interface Schema$Dpc { + /** + * Output only. The title of the DPC app in Google Play. For example, + * _Google Apps Device Policy_. Useful in an application's user + * interface. + */ + dpcName?: string; + /** + * Output only. The API resource name in the format + * `customers/[CUSTOMER_ID]/dpcs/[DPC_ID]`. Assigned by the server. To + * maintain a reference to a DPC across customer accounts, persist and match + * the last path component (`DPC_ID`). + */ + name?: string; + /** + * Output only. The DPC's Android application ID that looks like a Java + * package name. Zero-touch enrollment installs the DPC app onto a device + * using this identifier. + */ + packageName?: string; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * Request to find devices. + */ + interface Schema$FindDevicesByDeviceIdentifierRequest { + /** + * Required. The device identifier to search for. + */ + deviceIdentifier?: Schema$DeviceIdentifier; + /** + * Required. The maximum number of devices to show in a page of results. + * Must be between 1 and 100 inclusive. + */ + limit?: string; + /** + * A token specifying which result page to return. + */ + pageToken?: string; + } + /** + * Response containing found devices. + */ + interface Schema$FindDevicesByDeviceIdentifierResponse { + /** + * Found devices. + */ + devices?: Schema$Device[]; + /** + * A token used to access the next page of results. Omitted if no further + * results are available. + */ + nextPageToken?: string; + } + /** + * Request to find devices by customers. + */ + interface Schema$FindDevicesByOwnerRequest { + /** + * Required. The list of customer IDs to search for. + */ + customerId?: string[]; + /** + * Required. The maximum number of devices to show in a page of results. + * Must be between 1 and 100 inclusive. + */ + limit?: string; + /** + * A token specifying which result page to return. + */ + pageToken?: string; + /** + * Required. The section type of the device's provisioning record. + */ + sectionType?: string; + } + /** + * Response containing found devices. + */ + interface Schema$FindDevicesByOwnerResponse { + /** + * The customer's devices. + */ + devices?: Schema$Device[]; + /** + * A token used to access the next page of results. Omitted if no further + * results are available. + */ + nextPageToken?: string; + } + /** + * Response message of all customers related to this partner. + */ + interface Schema$ListCustomersResponse { + /** + * List of customers related to this reseller partner. + */ + customers?: Schema$Company[]; + } + /** + * Response message to list customers of the vendor. + */ + interface Schema$ListVendorCustomersResponse { + /** + * List of customers of the vendor. + */ + customers?: Schema$Company[]; + /** + * A token to retrieve the next page of results. Omitted if no further + * results are available. + */ + nextPageToken?: string; + } + /** + * Response message to list vendors of the partner. + */ + interface Schema$ListVendorsResponse { + /** + * A token to retrieve the next page of results. Omitted if no further + * results are available. + */ + nextPageToken?: string; + /** + * List of vendors of the reseller partner. Fields `name`, `companyId` and + * `companyName` are populated to the Company object. + */ + vendors?: Schema$Company[]; + } + /** + * This resource represents a long-running operation that is the result of a + * network API call. + */ + interface Schema$Operation { + /** + * If the value is `false`, it means the operation is still in progress. If + * `true`, the operation is completed, and either `error` or `response` is + * available. + */ + done?: boolean; + /** + * This field will always be not set if the operation is created by + * `claimAsync`, `unclaimAsync`, or `updateMetadataAsync`. In this case, + * error information for each device is set in + * `response.perDeviceStatus.result.status`. + */ + error?: Schema$Status; + /** + * This field will contain a `DevicesLongRunningOperationMetadata` object if + * the operation is created by `claimAsync`, `unclaimAsync`, or + * `updateMetadataAsync`. + */ + metadata?: any; + /** + * The server-assigned name, which is only unique within the same service + * that originally returns it. If you use the default HTTP mapping, the + * `name` should have the format of `operations/some/unique/name`. + */ + name?: string; + /** + * This field will contain a `DevicesLongRunningOperationResponse` object if + * the operation is created by `claimAsync`, `unclaimAsync`, or + * `updateMetadataAsync`. + */ + response?: any; + } + /** + * A task for each device in the operation. Corresponds to each device change + * in the request. + */ + interface Schema$OperationPerDevice { + /** + * A copy of the original device-claim request received by the server. + */ + claim?: Schema$PartnerClaim; + /** + * The processing result for each device. + */ + result?: Schema$PerDeviceStatusInBatch; + /** + * A copy of the original device-unclaim request received by the server. + */ + unclaim?: Schema$PartnerUnclaim; + /** + * A copy of the original metadata-update request received by the server. + */ + updateMetadata?: Schema$UpdateMetadataArguments; + } + /** + * Identifies one claim request. + */ + interface Schema$PartnerClaim { + /** + * Required. The ID of the customer for whom the device is being claimed. + */ + customerId?: string; + /** + * Required. Device identifier of the device. + */ + deviceIdentifier?: Schema$DeviceIdentifier; + /** + * Required. The metadata to attach to the device at claim. + */ + deviceMetadata?: Schema$DeviceMetadata; + /** + * Required. The section type of the device's provisioning record. + */ + sectionType?: string; + } + /** + * Identifies one unclaim request. + */ + interface Schema$PartnerUnclaim { + /** + * Device ID of the device. + */ + deviceId?: string; + /** + * Device identifier of the device. + */ + deviceIdentifier?: Schema$DeviceIdentifier; + /** + * Required. The section type of the device's provisioning record. + */ + sectionType?: string; + } + /** + * Captures the processing status for each device in the operation. + */ + interface Schema$PerDeviceStatusInBatch { + /** + * If processing succeeds, the device ID of the device. + */ + deviceId?: string; + /** + * If processing fails, the error type. + */ + errorIdentifier?: string; + /** + * If processing fails, a developer message explaining what went wrong. + */ + errorMessage?: string; + /** + * The result status of the device after processing. + */ + status?: string; + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + /** + * Request message to unclaim a device. + */ + interface Schema$UnclaimDeviceRequest { + /** + * The device ID returned by `ClaimDevice`. + */ + deviceId?: string; + /** + * The device identifier you used when you claimed this device. + */ + deviceIdentifier?: Schema$DeviceIdentifier; + /** + * Required. The section type of the device's provisioning record. + */ + sectionType?: string; + } + /** + * Request to unclaim devices asynchronously in batch. + */ + interface Schema$UnclaimDevicesRequest { + /** + * Required. The list of devices to unclaim. + */ + unclaims?: Schema$PartnerUnclaim[]; + } + /** + * Request to update device metadata in batch. + */ + interface Schema$UpdateDeviceMetadataInBatchRequest { + /** + * Required. The list of metadata updates. + */ + updates?: Schema$UpdateMetadataArguments[]; + } + /** + * Request to set metadata for a device. + */ + interface Schema$UpdateDeviceMetadataRequest { + /** + * Required. The metdata to attach to the device. + */ + deviceMetadata?: Schema$DeviceMetadata; + } + /** + * Identifies metdata updates to one device. + */ + interface Schema$UpdateMetadataArguments { + /** + * Device ID of the device. + */ + deviceId?: string; + /** + * Device identifier. + */ + deviceIdentifier?: Schema$DeviceIdentifier; + /** + * Required. The metadata to update. + */ + deviceMetadata?: Schema$DeviceMetadata; + } + class Resource$Customers { + root: Androiddeviceprovisioning; + configurations: Resource$Customers$Configurations; + devices: Resource$Customers$Devices; + dpcs: Resource$Customers$Dpcs; + constructor(root: Androiddeviceprovisioning); + getRoot(): Androiddeviceprovisioning; + /** + * androiddeviceprovisioning.customers.list + * @desc Lists the user's customer accounts. + * @alias androiddeviceprovisioning.customers.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize The maximum number of customers to show in a page of results. A number between 1 and 100 (inclusive). + * @param {string=} params.pageToken A token specifying which result page to return. + * @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?: Params$Resource$Customers$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Customers$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Customers$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Customers$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The maximum number of customers to show in a page of results. A number + * between 1 and 100 (inclusive). + */ + pageSize?: number; + /** + * A token specifying which result page to return. + */ + pageToken?: string; + } + class Resource$Customers$Configurations { + root: Androiddeviceprovisioning; + constructor(root: Androiddeviceprovisioning); + getRoot(): Androiddeviceprovisioning; + /** + * androiddeviceprovisioning.customers.configurations.create + * @desc Creates a new configuration. Once created, a customer can apply the + * configuration to devices. + * @alias androiddeviceprovisioning.customers.configurations.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The customer that manages the configuration. An API resource name in the format `customers/[CUSTOMER_ID]`. + * @param {().Configuration} 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 + */ + create(params?: Params$Resource$Customers$Configurations$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Customers$Configurations$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Customers$Configurations$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * androiddeviceprovisioning.customers.configurations.delete + * @desc Deletes an unused configuration. The API call fails if the customer + * has devices with the configuration applied. + * @alias androiddeviceprovisioning.customers.configurations.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The configuration to delete. An API resource name in the format `customers/[CUSTOMER_ID]/configurations/[CONFIGURATION_ID]`. If the configuration is applied to any devices, the API call fails. + * @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?: Params$Resource$Customers$Configurations$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Customers$Configurations$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Customers$Configurations$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * androiddeviceprovisioning.customers.configurations.get + * @desc Gets the details of a configuration. + * @alias androiddeviceprovisioning.customers.configurations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The configuration to get. An API resource name in the format `customers/[CUSTOMER_ID]/configurations/[CONFIGURATION_ID]`. + * @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?: Params$Resource$Customers$Configurations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Customers$Configurations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Customers$Configurations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * androiddeviceprovisioning.customers.configurations.list + * @desc Lists a customer's configurations. + * @alias androiddeviceprovisioning.customers.configurations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The customer that manages the listed configurations. An API resource name in the format `customers/[CUSTOMER_ID]`. + * @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?: Params$Resource$Customers$Configurations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Customers$Configurations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Customers$Configurations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * androiddeviceprovisioning.customers.configurations.patch + * @desc Updates a configuration's field values. + * @alias androiddeviceprovisioning.customers.configurations.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Output only. The API resource name in the format `customers/[CUSTOMER_ID]/configurations/[CONFIGURATION_ID]`. Assigned by the server. + * @param {string=} params.updateMask Required. The field mask applied to the target `Configuration` before updating the fields. To learn more about using field masks, read [FieldMask](/protocol-buffers/docs/reference/google.protobuf#fieldmask) in the Protocol Buffers documentation. + * @param {().Configuration} 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 + */ + patch(params?: Params$Resource$Customers$Configurations$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Customers$Configurations$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Customers$Configurations$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Customers$Configurations$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The customer that manages the configuration. An API resource + * name in the format `customers/[CUSTOMER_ID]`. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Configuration; + } + interface Params$Resource$Customers$Configurations$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The configuration to delete. An API resource name in the format + * `customers/[CUSTOMER_ID]/configurations/[CONFIGURATION_ID]`. If the + * configuration is applied to any devices, the API call fails. + */ + name?: string; + } + interface Params$Resource$Customers$Configurations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The configuration to get. An API resource name in the format + * `customers/[CUSTOMER_ID]/configurations/[CONFIGURATION_ID]`. + */ + name?: string; + } + interface Params$Resource$Customers$Configurations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The customer that manages the listed configurations. An API + * resource name in the format `customers/[CUSTOMER_ID]`. + */ + parent?: string; + } + interface Params$Resource$Customers$Configurations$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Output only. The API resource name in the format + * `customers/[CUSTOMER_ID]/configurations/[CONFIGURATION_ID]`. Assigned by + * the server. + */ + name?: string; + /** + * Required. The field mask applied to the target `Configuration` before + * updating the fields. To learn more about using field masks, read + * [FieldMask](/protocol-buffers/docs/reference/google.protobuf#fieldmask) + * in the Protocol Buffers documentation. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Configuration; + } + class Resource$Customers$Devices { + root: Androiddeviceprovisioning; + constructor(root: Androiddeviceprovisioning); + getRoot(): Androiddeviceprovisioning; + /** + * androiddeviceprovisioning.customers.devices.applyConfiguration + * @desc Applies a Configuration to the device to register the device for + * zero-touch enrollment. After applying a configuration to a device, the + * device automatically provisions itself on first boot, or next factory + * reset. + * @alias androiddeviceprovisioning.customers.devices.applyConfiguration + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The customer managing the device. An API resource name in the format `customers/[CUSTOMER_ID]`. + * @param {().CustomerApplyConfigurationRequest} 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 + */ + applyConfiguration(params?: Params$Resource$Customers$Devices$Applyconfiguration, options?: MethodOptions): AxiosPromise; + applyConfiguration(params: Params$Resource$Customers$Devices$Applyconfiguration, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + applyConfiguration(params: Params$Resource$Customers$Devices$Applyconfiguration, callback: BodyResponseCallback): void; + applyConfiguration(callback: BodyResponseCallback): void; + /** + * androiddeviceprovisioning.customers.devices.get + * @desc Gets the details of a device. + * @alias androiddeviceprovisioning.customers.devices.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The device to get. An API resource name in the format `customers/[CUSTOMER_ID]/devices/[DEVICE_ID]`. + * @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?: Params$Resource$Customers$Devices$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Customers$Devices$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Customers$Devices$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * androiddeviceprovisioning.customers.devices.list + * @desc Lists a customer's devices. + * @alias androiddeviceprovisioning.customers.devices.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.pageSize The maximum number of devices to show in a page of results. Must be between 1 and 100 inclusive. + * @param {string=} params.pageToken A token specifying which result page to return. + * @param {string} params.parent Required. The customer managing the devices. An API resource name in the format `customers/[CUSTOMER_ID]`. + * @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?: Params$Resource$Customers$Devices$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Customers$Devices$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Customers$Devices$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * androiddeviceprovisioning.customers.devices.removeConfiguration + * @desc Removes a configuration from device. + * @alias androiddeviceprovisioning.customers.devices.removeConfiguration + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The customer managing the device in the format `customers/[CUSTOMER_ID]`. + * @param {().CustomerRemoveConfigurationRequest} 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 + */ + removeConfiguration(params?: Params$Resource$Customers$Devices$Removeconfiguration, options?: MethodOptions): AxiosPromise; + removeConfiguration(params: Params$Resource$Customers$Devices$Removeconfiguration, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + removeConfiguration(params: Params$Resource$Customers$Devices$Removeconfiguration, callback: BodyResponseCallback): void; + removeConfiguration(callback: BodyResponseCallback): void; + /** + * androiddeviceprovisioning.customers.devices.unclaim + * @desc Unclaims a device from a customer and removes it from zero-touch + * enrollment. After removing a device, a customer must contact their + * reseller to register the device into zero-touch enrollment again. + * @alias androiddeviceprovisioning.customers.devices.unclaim + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The customer managing the device. An API resource name in the format `customers/[CUSTOMER_ID]`. + * @param {().CustomerUnclaimDeviceRequest} 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 + */ + unclaim(params?: Params$Resource$Customers$Devices$Unclaim, options?: MethodOptions): AxiosPromise; + unclaim(params: Params$Resource$Customers$Devices$Unclaim, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + unclaim(params: Params$Resource$Customers$Devices$Unclaim, callback: BodyResponseCallback): void; + unclaim(callback: BodyResponseCallback): void; + } + interface Params$Resource$Customers$Devices$Applyconfiguration { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The customer managing the device. An API resource name in the + * format `customers/[CUSTOMER_ID]`. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CustomerApplyConfigurationRequest; + } + interface Params$Resource$Customers$Devices$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The device to get. An API resource name in the format + * `customers/[CUSTOMER_ID]/devices/[DEVICE_ID]`. + */ + name?: string; + } + interface Params$Resource$Customers$Devices$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The maximum number of devices to show in a page of results. Must be + * between 1 and 100 inclusive. + */ + pageSize?: string; + /** + * A token specifying which result page to return. + */ + pageToken?: string; + /** + * Required. The customer managing the devices. An API resource name in the + * format `customers/[CUSTOMER_ID]`. + */ + parent?: string; + } + interface Params$Resource$Customers$Devices$Removeconfiguration { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The customer managing the device in the format + * `customers/[CUSTOMER_ID]`. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CustomerRemoveConfigurationRequest; + } + interface Params$Resource$Customers$Devices$Unclaim { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The customer managing the device. An API resource name in the + * format `customers/[CUSTOMER_ID]`. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CustomerUnclaimDeviceRequest; + } + class Resource$Customers$Dpcs { + root: Androiddeviceprovisioning; + constructor(root: Androiddeviceprovisioning); + getRoot(): Androiddeviceprovisioning; + /** + * androiddeviceprovisioning.customers.dpcs.list + * @desc Lists the DPCs (device policy controllers) that support zero-touch + * enrollment. + * @alias androiddeviceprovisioning.customers.dpcs.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The customer that can use the DPCs in configurations. An API resource name in the format `customers/[CUSTOMER_ID]`. + * @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?: Params$Resource$Customers$Dpcs$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Customers$Dpcs$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Customers$Dpcs$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Customers$Dpcs$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The customer that can use the DPCs in configurations. An API + * resource name in the format `customers/[CUSTOMER_ID]`. + */ + parent?: string; + } + class Resource$Operations { + root: Androiddeviceprovisioning; + constructor(root: Androiddeviceprovisioning); + getRoot(): Androiddeviceprovisioning; + /** + * androiddeviceprovisioning.operations.get + * @desc Gets the latest state of a long-running operation. Clients can use + * this method to poll the operation result at intervals as recommended by + * the API service. + * @alias androiddeviceprovisioning.operations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource. + * @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?: Params$Resource$Operations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Operations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Operations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Operations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource. + */ + name?: string; + } + class Resource$Partners { + root: Androiddeviceprovisioning; + customers: Resource$Partners$Customers; + devices: Resource$Partners$Devices; + vendors: Resource$Partners$Vendors; + constructor(root: Androiddeviceprovisioning); + getRoot(): Androiddeviceprovisioning; + } + class Resource$Partners$Customers { + root: Androiddeviceprovisioning; + constructor(root: Androiddeviceprovisioning); + getRoot(): Androiddeviceprovisioning; + /** + * androiddeviceprovisioning.partners.customers.create + * @desc Creates a customer for zero-touch enrollment. After the method + * returns successfully, admin and owner roles can manage devices and EMM + * configs by calling API methods or using their zero-touch enrollment + * portal. The API doesn't notify the customer that they have access. + * @alias androiddeviceprovisioning.partners.customers.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The parent resource ID in the format `partners/[PARTNER_ID]` that identifies the reseller. + * @param {().CreateCustomerRequest} 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 + */ + create(params?: Params$Resource$Partners$Customers$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Partners$Customers$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Partners$Customers$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * androiddeviceprovisioning.partners.customers.list + * @desc Lists the customers that are enrolled to the reseller identified by + * the `partnerId` argument. This list includes customers that the reseller + * created and customers that enrolled themselves using the portal. + * @alias androiddeviceprovisioning.partners.customers.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.partnerId Required. The ID of the reseller partner. + * @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?: Params$Resource$Partners$Customers$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Partners$Customers$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Partners$Customers$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Partners$Customers$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The parent resource ID in the format `partners/[PARTNER_ID]` + * that identifies the reseller. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreateCustomerRequest; + } + interface Params$Resource$Partners$Customers$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The ID of the reseller partner. + */ + partnerId?: string; + } + class Resource$Partners$Devices { + root: Androiddeviceprovisioning; + constructor(root: Androiddeviceprovisioning); + getRoot(): Androiddeviceprovisioning; + /** + * androiddeviceprovisioning.partners.devices.claim + * @desc Claims a device for a customer and adds it to zero-touch + * enrollment. If the device is already claimed by another customer, the + * call returns an error. + * @alias androiddeviceprovisioning.partners.devices.claim + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.partnerId Required. The ID of the reseller partner. + * @param {().ClaimDeviceRequest} 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 + */ + claim(params?: Params$Resource$Partners$Devices$Claim, options?: MethodOptions): AxiosPromise; + claim(params: Params$Resource$Partners$Devices$Claim, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + claim(params: Params$Resource$Partners$Devices$Claim, callback: BodyResponseCallback): void; + claim(callback: BodyResponseCallback): void; + /** + * androiddeviceprovisioning.partners.devices.claimAsync + * @desc Claims a batch of devices for a customer asynchronously. Adds the + * devices to zero-touch enrollment. To learn more, read [Long‑running batch + * operations](/zero-touch/guides/how-it-works#operations). + * @alias androiddeviceprovisioning.partners.devices.claimAsync + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.partnerId Required. The ID of the reseller partner. + * @param {().ClaimDevicesRequest} 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 + */ + claimAsync(params?: Params$Resource$Partners$Devices$Claimasync, options?: MethodOptions): AxiosPromise; + claimAsync(params: Params$Resource$Partners$Devices$Claimasync, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + claimAsync(params: Params$Resource$Partners$Devices$Claimasync, callback: BodyResponseCallback): void; + claimAsync(callback: BodyResponseCallback): void; + /** + * androiddeviceprovisioning.partners.devices.findByIdentifier + * @desc Finds devices by hardware identifiers, such as IMEI. + * @alias androiddeviceprovisioning.partners.devices.findByIdentifier + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.partnerId Required. The ID of the reseller partner. + * @param {().FindDevicesByDeviceIdentifierRequest} 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 + */ + findByIdentifier(params?: Params$Resource$Partners$Devices$Findbyidentifier, options?: MethodOptions): AxiosPromise; + findByIdentifier(params: Params$Resource$Partners$Devices$Findbyidentifier, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + findByIdentifier(params: Params$Resource$Partners$Devices$Findbyidentifier, callback: BodyResponseCallback): void; + findByIdentifier(callback: BodyResponseCallback): void; + /** + * androiddeviceprovisioning.partners.devices.findByOwner + * @desc Finds devices claimed for customers. The results only contain + * devices registered to the reseller that's identified by the `partnerId` + * argument. The customer's devices purchased from other resellers don't + * appear in the results. + * @alias androiddeviceprovisioning.partners.devices.findByOwner + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.partnerId Required. The ID of the reseller partner. + * @param {().FindDevicesByOwnerRequest} 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 + */ + findByOwner(params?: Params$Resource$Partners$Devices$Findbyowner, options?: MethodOptions): AxiosPromise; + findByOwner(params: Params$Resource$Partners$Devices$Findbyowner, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + findByOwner(params: Params$Resource$Partners$Devices$Findbyowner, callback: BodyResponseCallback): void; + findByOwner(callback: BodyResponseCallback): void; + /** + * androiddeviceprovisioning.partners.devices.get + * @desc Gets a device. + * @alias androiddeviceprovisioning.partners.devices.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The device API resource name in the format `partners/[PARTNER_ID]/devices/[DEVICE_ID]`. + * @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?: Params$Resource$Partners$Devices$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Partners$Devices$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Partners$Devices$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * androiddeviceprovisioning.partners.devices.metadata + * @desc Updates reseller metadata associated with the device. + * @alias androiddeviceprovisioning.partners.devices.metadata + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.deviceId Required. The ID of the reseller partner. + * @param {string} params.metadataOwnerId Required. The owner of the newly set metadata. Set this to the partner ID. + * @param {().UpdateDeviceMetadataRequest} 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 + */ + metadata(params?: Params$Resource$Partners$Devices$Metadata, options?: MethodOptions): AxiosPromise; + metadata(params: Params$Resource$Partners$Devices$Metadata, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + metadata(params: Params$Resource$Partners$Devices$Metadata, callback: BodyResponseCallback): void; + metadata(callback: BodyResponseCallback): void; + /** + * androiddeviceprovisioning.partners.devices.unclaim + * @desc Unclaims a device from a customer and removes it from zero-touch + * enrollment. + * @alias androiddeviceprovisioning.partners.devices.unclaim + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.partnerId Required. The ID of the reseller partner. + * @param {().UnclaimDeviceRequest} 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 + */ + unclaim(params?: Params$Resource$Partners$Devices$Unclaim, options?: MethodOptions): AxiosPromise; + unclaim(params: Params$Resource$Partners$Devices$Unclaim, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + unclaim(params: Params$Resource$Partners$Devices$Unclaim, callback: BodyResponseCallback): void; + unclaim(callback: BodyResponseCallback): void; + /** + * androiddeviceprovisioning.partners.devices.unclaimAsync + * @desc Unclaims a batch of devices for a customer asynchronously. Removes + * the devices from zero-touch enrollment. To learn more, read [Long‑running + * batch operations](/zero-touch/guides/how-it-works#operations). + * @alias androiddeviceprovisioning.partners.devices.unclaimAsync + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.partnerId Required. The reseller partner ID. + * @param {().UnclaimDevicesRequest} 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 + */ + unclaimAsync(params?: Params$Resource$Partners$Devices$Unclaimasync, options?: MethodOptions): AxiosPromise; + unclaimAsync(params: Params$Resource$Partners$Devices$Unclaimasync, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + unclaimAsync(params: Params$Resource$Partners$Devices$Unclaimasync, callback: BodyResponseCallback): void; + unclaimAsync(callback: BodyResponseCallback): void; + /** + * androiddeviceprovisioning.partners.devices.updateMetadataAsync + * @desc Updates the reseller metadata attached to a batch of devices. This + * method updates devices asynchronously and returns an `Operation` that can + * be used to track progress. Read [Long‑running batch + * operations](/zero-touch/guides/how-it-works#operations). + * @alias androiddeviceprovisioning.partners.devices.updateMetadataAsync + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.partnerId Required. The reseller partner ID. + * @param {().UpdateDeviceMetadataInBatchRequest} 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 + */ + updateMetadataAsync(params?: Params$Resource$Partners$Devices$Updatemetadataasync, options?: MethodOptions): AxiosPromise; + updateMetadataAsync(params: Params$Resource$Partners$Devices$Updatemetadataasync, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + updateMetadataAsync(params: Params$Resource$Partners$Devices$Updatemetadataasync, callback: BodyResponseCallback): void; + updateMetadataAsync(callback: BodyResponseCallback): void; + } + interface Params$Resource$Partners$Devices$Claim { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The ID of the reseller partner. + */ + partnerId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ClaimDeviceRequest; + } + interface Params$Resource$Partners$Devices$Claimasync { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The ID of the reseller partner. + */ + partnerId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ClaimDevicesRequest; + } + interface Params$Resource$Partners$Devices$Findbyidentifier { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The ID of the reseller partner. + */ + partnerId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$FindDevicesByDeviceIdentifierRequest; + } + interface Params$Resource$Partners$Devices$Findbyowner { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The ID of the reseller partner. + */ + partnerId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$FindDevicesByOwnerRequest; + } + interface Params$Resource$Partners$Devices$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The device API resource name in the format + * `partners/[PARTNER_ID]/devices/[DEVICE_ID]`. + */ + name?: string; + } + interface Params$Resource$Partners$Devices$Metadata { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The ID of the reseller partner. + */ + deviceId?: string; + /** + * Required. The owner of the newly set metadata. Set this to the partner + * ID. + */ + metadataOwnerId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UpdateDeviceMetadataRequest; + } + interface Params$Resource$Partners$Devices$Unclaim { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The ID of the reseller partner. + */ + partnerId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UnclaimDeviceRequest; + } + interface Params$Resource$Partners$Devices$Unclaimasync { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The reseller partner ID. + */ + partnerId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UnclaimDevicesRequest; + } + interface Params$Resource$Partners$Devices$Updatemetadataasync { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The reseller partner ID. + */ + partnerId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UpdateDeviceMetadataInBatchRequest; + } + class Resource$Partners$Vendors { + root: Androiddeviceprovisioning; + customers: Resource$Partners$Vendors$Customers; + constructor(root: Androiddeviceprovisioning); + getRoot(): Androiddeviceprovisioning; + /** + * androiddeviceprovisioning.partners.vendors.list + * @desc Lists the vendors of the partner. + * @alias androiddeviceprovisioning.partners.vendors.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize The maximum number of results to be returned. + * @param {string=} params.pageToken A token identifying a page of results returned by the server. + * @param {string} params.parent Required. The resource name in the format `partners/[PARTNER_ID]`. + * @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?: Params$Resource$Partners$Vendors$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Partners$Vendors$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Partners$Vendors$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Partners$Vendors$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The maximum number of results to be returned. + */ + pageSize?: number; + /** + * A token identifying a page of results returned by the server. + */ + pageToken?: string; + /** + * Required. The resource name in the format `partners/[PARTNER_ID]`. + */ + parent?: string; + } + class Resource$Partners$Vendors$Customers { + root: Androiddeviceprovisioning; + constructor(root: Androiddeviceprovisioning); + getRoot(): Androiddeviceprovisioning; + /** + * androiddeviceprovisioning.partners.vendors.customers.list + * @desc Lists the customers of the vendor. + * @alias androiddeviceprovisioning.partners.vendors.customers.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize The maximum number of results to be returned. + * @param {string=} params.pageToken A token identifying a page of results returned by the server. + * @param {string} params.parent Required. The resource name in the format `partners/[PARTNER_ID]/vendors/[VENDOR_ID]`. + * @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?: Params$Resource$Partners$Vendors$Customers$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Partners$Vendors$Customers$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Partners$Vendors$Customers$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Partners$Vendors$Customers$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The maximum number of results to be returned. + */ + pageSize?: number; + /** + * A token identifying a page of results returned by the server. + */ + pageToken?: string; + /** + * Required. The resource name in the format + * `partners/[PARTNER_ID]/vendors/[VENDOR_ID]`. + */ + parent?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/androiddeviceprovisioning/v1.js b/express-server/node_modules/googleapis/build/src/apis/androiddeviceprovisioning/v1.js new file mode 100644 index 00000000..c4a6704b --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/androiddeviceprovisioning/v1.js @@ -0,0 +1,993 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var androiddeviceprovisioning_v1; +(function (androiddeviceprovisioning_v1) { + /** + * Android Device Provisioning Partner API + * + * Automates Android zero-touch enrollment for device resellers, customers, + * and EMMs. + * + * @example + * const {google} = require('googleapis'); + * const androiddeviceprovisioning = google.androiddeviceprovisioning('v1'); + * + * @namespace androiddeviceprovisioning + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Androiddeviceprovisioning + */ + class Androiddeviceprovisioning { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.customers = new Resource$Customers(this); + this.operations = new Resource$Operations(this); + this.partners = new Resource$Partners(this); + } + getRoot() { + return this.root; + } + } + androiddeviceprovisioning_v1.Androiddeviceprovisioning = Androiddeviceprovisioning; + class Resource$Customers { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.configurations = new Resource$Customers$Configurations(root); + this.devices = new Resource$Customers$Devices(root); + this.dpcs = new Resource$Customers$Dpcs(root); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || + 'https://androiddeviceprovisioning.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/customers').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androiddeviceprovisioning_v1.Resource$Customers = Resource$Customers; + class Resource$Customers$Configurations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || + 'https://androiddeviceprovisioning.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/configurations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || + 'https://androiddeviceprovisioning.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || + 'https://androiddeviceprovisioning.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || + 'https://androiddeviceprovisioning.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/configurations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || + 'https://androiddeviceprovisioning.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androiddeviceprovisioning_v1.Resource$Customers$Configurations = Resource$Customers$Configurations; + class Resource$Customers$Devices { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + applyConfiguration(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || + 'https://androiddeviceprovisioning.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/devices:applyConfiguration') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || + 'https://androiddeviceprovisioning.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || + 'https://androiddeviceprovisioning.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/devices') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + removeConfiguration(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || + 'https://androiddeviceprovisioning.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/devices:removeConfiguration') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + unclaim(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || + 'https://androiddeviceprovisioning.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/devices:unclaim') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androiddeviceprovisioning_v1.Resource$Customers$Devices = Resource$Customers$Devices; + class Resource$Customers$Dpcs { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || + 'https://androiddeviceprovisioning.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/dpcs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androiddeviceprovisioning_v1.Resource$Customers$Dpcs = Resource$Customers$Dpcs; + class Resource$Operations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || + 'https://androiddeviceprovisioning.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androiddeviceprovisioning_v1.Resource$Operations = Resource$Operations; + class Resource$Partners { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.customers = new Resource$Partners$Customers(root); + this.devices = new Resource$Partners$Devices(root); + this.vendors = new Resource$Partners$Vendors(root); + } + getRoot() { + return this.root; + } + } + androiddeviceprovisioning_v1.Resource$Partners = Resource$Partners; + class Resource$Partners$Customers { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || + 'https://androiddeviceprovisioning.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/customers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || + 'https://androiddeviceprovisioning.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/partners/{+partnerId}/customers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['partnerId'], + pathParams: ['partnerId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androiddeviceprovisioning_v1.Resource$Partners$Customers = Resource$Partners$Customers; + class Resource$Partners$Devices { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + claim(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || + 'https://androiddeviceprovisioning.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/partners/{+partnerId}/devices:claim') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['partnerId'], + pathParams: ['partnerId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + claimAsync(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || + 'https://androiddeviceprovisioning.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/partners/{+partnerId}/devices:claimAsync') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['partnerId'], + pathParams: ['partnerId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + findByIdentifier(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || + 'https://androiddeviceprovisioning.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/partners/{+partnerId}/devices:findByIdentifier') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['partnerId'], + pathParams: ['partnerId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + findByOwner(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || + 'https://androiddeviceprovisioning.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/partners/{+partnerId}/devices:findByOwner') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['partnerId'], + pathParams: ['partnerId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || + 'https://androiddeviceprovisioning.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + metadata(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || + 'https://androiddeviceprovisioning.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/partners/{+metadataOwnerId}/devices/{+deviceId}/metadata') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['metadataOwnerId', 'deviceId'], + pathParams: ['deviceId', 'metadataOwnerId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + unclaim(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || + 'https://androiddeviceprovisioning.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/partners/{+partnerId}/devices:unclaim') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['partnerId'], + pathParams: ['partnerId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + unclaimAsync(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || + 'https://androiddeviceprovisioning.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/partners/{+partnerId}/devices:unclaimAsync') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['partnerId'], + pathParams: ['partnerId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + updateMetadataAsync(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || + 'https://androiddeviceprovisioning.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/partners/{+partnerId}/devices:updateMetadataAsync') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['partnerId'], + pathParams: ['partnerId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androiddeviceprovisioning_v1.Resource$Partners$Devices = Resource$Partners$Devices; + class Resource$Partners$Vendors { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.customers = new Resource$Partners$Vendors$Customers(root); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || + 'https://androiddeviceprovisioning.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/vendors') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androiddeviceprovisioning_v1.Resource$Partners$Vendors = Resource$Partners$Vendors; + class Resource$Partners$Vendors$Customers { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || + 'https://androiddeviceprovisioning.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/customers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androiddeviceprovisioning_v1.Resource$Partners$Vendors$Customers = Resource$Partners$Vendors$Customers; +})(androiddeviceprovisioning_v1 = exports.androiddeviceprovisioning_v1 || (exports.androiddeviceprovisioning_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/androiddeviceprovisioning/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/androiddeviceprovisioning/v1.js.map new file mode 100644 index 00000000..50a98137 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/androiddeviceprovisioning/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/androiddeviceprovisioning/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/androidenterprise/README.md b/express-server/node_modules/googleapis/build/src/apis/androidenterprise/README.md new file mode 100644 index 00000000..457ef15b --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/androidenterprise/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/androidenterprise + +> Manages the deployment of apps to Android for Work users. + +## Installation + +```sh +$ npm install @google/androidenterprise +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/androidenterprise/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/androidenterprise/index.d.ts new file mode 100644 index 00000000..e0f3e3f3 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/androidenterprise/index.d.ts @@ -0,0 +1,6 @@ +import { androidenterprise_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof androidenterprise_v1.Androidenterprise; +}; +export declare function androidenterprise(version: 'v1'): androidenterprise_v1.Androidenterprise; +export declare function androidenterprise(options: androidenterprise_v1.Options): androidenterprise_v1.Androidenterprise; diff --git a/express-server/node_modules/googleapis/build/src/apis/androidenterprise/index.js b/express-server/node_modules/googleapis/build/src/apis/androidenterprise/index.js new file mode 100644 index 00000000..c86257f5 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/androidenterprise/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.androidenterprise_v1.Androidenterprise, +}; +function androidenterprise(versionOrOptions) { + return googleapis_common_1.getAPI('androidenterprise', versionOrOptions, exports.VERSIONS, this); +} +exports.androidenterprise = androidenterprise; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/androidenterprise/index.js.map b/express-server/node_modules/googleapis/build/src/apis/androidenterprise/index.js.map new file mode 100644 index 00000000..86a6c836 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/androidenterprise/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/androidenterprise/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAA0C;AAE7B,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,yBAAoB,CAAC,iBAAiB;CAC7C,CAAC;AAMF,SAAgB,iBAAiB,CAE7B,gBAAmD;IACrD,OAAO,0BAAM,CAAI,mBAAmB,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAC1E,CAAC;AAJD,8CAIC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/androidenterprise/package.json b/express-server/node_modules/googleapis/build/src/apis/androidenterprise/package.json new file mode 100644 index 00000000..29061714 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/androidenterprise/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/androidenterprise", + "version": "0.1.0", + "description": "androidenterprise", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/androidenterprise/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/androidenterprise/v1.d.ts new file mode 100644 index 00000000..3895af21 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/androidenterprise/v1.d.ts @@ -0,0 +1,4810 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace androidenterprise_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Google Play EMM API + * + * Manages the deployment of apps to Android for Work users. + * + * @example + * const {google} = require('googleapis'); + * const androidenterprise = google.androidenterprise('v1'); + * + * @namespace androidenterprise + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Androidenterprise + */ + class Androidenterprise { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + devices: Resource$Devices; + enterprises: Resource$Enterprises; + entitlements: Resource$Entitlements; + grouplicenses: Resource$Grouplicenses; + grouplicenseusers: Resource$Grouplicenseusers; + installs: Resource$Installs; + managedconfigurationsfordevice: Resource$Managedconfigurationsfordevice; + managedconfigurationsforuser: Resource$Managedconfigurationsforuser; + managedconfigurationssettings: Resource$Managedconfigurationssettings; + permissions: Resource$Permissions; + products: Resource$Products; + serviceaccountkeys: Resource$Serviceaccountkeys; + storelayoutclusters: Resource$Storelayoutclusters; + storelayoutpages: Resource$Storelayoutpages; + users: Resource$Users; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * This represents an enterprise admin who can manage the enterprise in the + * managed Google Play store. + */ + interface Schema$Administrator { + /** + * The admin's email address. + */ + email?: string; + } + /** + * A token authorizing an admin to access an iframe. + */ + interface Schema$AdministratorWebToken { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "androidenterprise#administratorWebToken". + */ + kind?: string; + /** + * An opaque token to be passed to the Play front-end to generate an iframe. + */ + token?: string; + } + /** + * Specification for a token used to generate iframes. The token specifies + * what data the admin is allowed to modify and the URI the iframe is allowed + * to communiate with. + */ + interface Schema$AdministratorWebTokenSpec { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "androidenterprise#administratorWebTokenSpec". + */ + kind?: string; + /** + * The URI of the parent frame hosting the iframe. To prevent XSS, the + * iframe may not be hosted at other URIs. This URI must be https. + */ + parent?: string; + /** + * The list of permissions the admin is granted within the iframe. The admin + * will only be allowed to view an iframe if they have all of the + * permissions associated with it. The only valid value is + * "approveApps" that will allow the admin to access the iframe in + * "approve" mode. + */ + permission?: string[]; + /** + * Options for displaying the Play Search page. + */ + playSearch?: Schema$AdministratorWebTokenSpecPlaySearch; + /** + * Options for displaying the Private Apps page. + */ + privateApps?: Schema$AdministratorWebTokenSpecPrivateApps; + /** + * Options for displaying the Store Builder page. + */ + storeBuilder?: Schema$AdministratorWebTokenSpecStoreBuilder; + /** + * Options for displaying the Web Apps page. + */ + webApps?: Schema$AdministratorWebTokenSpecWebApps; + } + interface Schema$AdministratorWebTokenSpecPlaySearch { + /** + * Whether the Play Search page is displayed. Default is true. + */ + enabled?: boolean; + } + interface Schema$AdministratorWebTokenSpecPrivateApps { + /** + * Whether the Private Apps page is displayed. Default is true. + */ + enabled?: boolean; + } + interface Schema$AdministratorWebTokenSpecStoreBuilder { + /** + * Whether the Store Builder page is displayed. Default is true. + */ + enabled?: boolean; + } + interface Schema$AdministratorWebTokenSpecWebApps { + /** + * Whether the Web Apps page is displayed. Default is true. + */ + enabled?: boolean; + } + /** + * Deprecated and unused. + */ + interface Schema$AndroidDevicePolicyConfig { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "androidenterprise#androidDevicePolicyConfig". + */ + kind?: string; + /** + * Deprecated and unused. + */ + state?: string; + } + /** + * Represents the list of app restrictions available to be pre-configured for + * the product. + */ + interface Schema$AppRestrictionsSchema { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "androidenterprise#appRestrictionsSchema". + */ + kind?: string; + /** + * The set of restrictions that make up this schema. + */ + restrictions?: Schema$AppRestrictionsSchemaRestriction[]; + } + /** + * An event generated when a new app version is uploaded to Google Play and + * its app restrictions schema changed. To fetch the app restrictions schema + * for an app, use Products.getAppRestrictionsSchema on the EMM API. + */ + interface Schema$AppRestrictionsSchemaChangeEvent { + /** + * The id of the product (e.g. "app:com.google.android.gm") for + * which the app restriction schema changed. This field will always be + * present. + */ + productId?: string; + } + /** + * A restriction in the App Restriction Schema represents a piece of + * configuration that may be pre-applied. + */ + interface Schema$AppRestrictionsSchemaRestriction { + /** + * The default value of the restriction. bundle and bundleArray restrictions + * never have a default value. + */ + defaultValue?: Schema$AppRestrictionsSchemaRestrictionRestrictionValue; + /** + * A longer description of the restriction, giving more detail of what it + * affects. + */ + description?: string; + /** + * For choice or multiselect restrictions, the list of possible entries' + * human-readable names. + */ + entry?: string[]; + /** + * For choice or multiselect restrictions, the list of possible entries' + * machine-readable values. These values should be used in the + * configuration, either as a single string value for a choice restriction + * or in a stringArray for a multiselect restriction. + */ + entryValue?: string[]; + /** + * The unique key that the product uses to identify the restriction, e.g. + * "com.google.android.gm.fieldname". + */ + key?: string; + /** + * For bundle or bundleArray restrictions, the list of nested restrictions. + * A bundle restriction is always nested within a bundleArray restriction, + * and a bundleArray restriction is at most two levels deep. + */ + nestedRestriction?: Schema$AppRestrictionsSchemaRestriction[]; + /** + * The type of the restriction. + */ + restrictionType?: string; + /** + * The name of the restriction. + */ + title?: string; + } + /** + * A typed value for the restriction. + */ + interface Schema$AppRestrictionsSchemaRestrictionRestrictionValue { + /** + * The type of the value being provided. + */ + type?: string; + /** + * The boolean value - this will only be present if type is bool. + */ + valueBool?: boolean; + /** + * The integer value - this will only be present if type is integer. + */ + valueInteger?: number; + /** + * The list of string values - this will only be present if type is + * multiselect. + */ + valueMultiselect?: string[]; + /** + * The string value - this will be present for types string, choice and + * hidden. + */ + valueString?: string; + } + /** + * Information on an approval URL. + */ + interface Schema$ApprovalUrlInfo { + /** + * A URL that displays a product's permissions and that can also be used + * to approve the product with the Products.approve call. + */ + approvalUrl?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "androidenterprise#approvalUrlInfo". + */ + kind?: string; + } + /** + * An event generated when a new version of an app is uploaded to Google Play. + * Notifications are sent for new public versions only: alpha, beta, or canary + * versions do not generate this event. To fetch up-to-date version history + * for an app, use Products.Get on the EMM API. + */ + interface Schema$AppUpdateEvent { + /** + * The id of the product (e.g. "app:com.google.android.gm") that + * was updated. This field will always be present. + */ + productId?: string; + } + /** + * This represents a single version of the app. + */ + interface Schema$AppVersion { + /** + * The track that this app was published in. For example if track is + * "alpha", this is an alpha version of the app. + */ + track?: string; + /** + * Unique increasing identifier for the app version. + */ + versionCode?: number; + /** + * The string used in the Play store by the app developer to identify the + * version. The string is not necessarily unique or localized (for example, + * the string could be "1.4"). + */ + versionString?: string; + } + /** + * An AuthenticationToken is used by the EMM's device policy client on a + * device to provision the given EMM-managed user on that device. + */ + interface Schema$AuthenticationToken { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "androidenterprise#authenticationToken". + */ + kind?: string; + /** + * The authentication token to be passed to the device policy client on the + * device where it can be used to provision the account for which this token + * was generated. + */ + token?: string; + } + /** + * A configuration variables resource contains the managed configuration + * settings ID to be applied to a single user, as well as the variable set + * that is attributed to the user. The variable set will be used to replace + * placeholders in the managed configuration settings. + */ + interface Schema$ConfigurationVariables { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "androidenterprise#configurationVariables". + */ + kind?: string; + /** + * The ID of the managed configurations settings. + */ + mcmId?: string; + /** + * The variable set that is attributed to the user. + */ + variableSet?: Schema$VariableSet[]; + } + /** + * A Devices resource represents a mobile device managed by the EMM and + * belonging to a specific enterprise user. + */ + interface Schema$Device { + /** + * The Google Play Services Android ID for the device encoded as a lowercase + * hex string. For example, "123456789abcdef0". + */ + androidId?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "androidenterprise#device". + */ + kind?: string; + /** + * Identifies the extent to which the device is controlled by a managed + * Google Play EMM in various deployment configurations. Possible values + * include: - "managedDevice", a device that has the EMM's + * device policy controller (DPC) as the device owner. - + * "managedProfile", a device that has a profile managed by the + * DPC (DPC is profile owner) in addition to a separate, personal profile + * that is unavailable to the DPC. - "containerApp", no longer + * used (deprecated). - "unmanagedProfile", a device that has + * been allowed (by the domain's admin, using the Admin Console to + * enable the privilege) to use managed Google Play, but the profile is + * itself not owned by a DPC. + */ + managementType?: string; + /** + * The policy enforced on the device. + */ + policy?: Schema$Policy; + } + /** + * The device resources for the user. + */ + interface Schema$DevicesListResponse { + /** + * A managed device. + */ + device?: Schema$Device[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "androidenterprise#devicesListResponse". + */ + kind?: string; + } + /** + * The state of a user's device, as accessed by the getState and setState + * methods on device resources. + */ + interface Schema$DeviceState { + /** + * The state of the Google account on the device. "enabled" + * indicates that the Google account on the device can be used to access + * Google services (including Google Play), while "disabled" means + * that it cannot. A new device is initially in the "disabled" + * state. + */ + accountState?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "androidenterprise#deviceState". + */ + kind?: string; + } + /** + * An Enterprises resource represents the binding between an EMM and a + * specific organization. That binding can be instantiated in one of two + * different ways using this API as follows: - For Google managed domain + * customers, the process involves using Enterprises.enroll and + * Enterprises.setAccount (in conjunction with artifacts obtained from the + * Admin console and the Google API Console) and submitted to the EMM through + * a more-or-less manual process. - For managed Google Play Accounts + * customers, the process involves using Enterprises.generateSignupUrl and + * Enterprises.completeSignup in conjunction with the managed Google Play + * sign-up UI (Google-provided mechanism) to create the binding without manual + * steps. As an EMM, you can support either or both approaches in your EMM + * console. See Create an Enterprise for details. + */ + interface Schema$Enterprise { + /** + * Admins of the enterprise. This is only supported for enterprises created + * via the EMM-initiated flow. + */ + administrator?: Schema$Administrator[]; + /** + * The unique ID for the enterprise. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "androidenterprise#enterprise". + */ + kind?: string; + /** + * The name of the enterprise, for example, "Example, Inc". + */ + name?: string; + /** + * The enterprise's primary domain, such as "example.com". + */ + primaryDomain?: string; + } + /** + * A service account that can be used to authenticate as the enterprise to API + * calls that require such authentication. + */ + interface Schema$EnterpriseAccount { + /** + * The email address of the service account. + */ + accountEmail?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "androidenterprise#enterpriseAccount". + */ + kind?: string; + } + /** + * The matching enterprise resources. + */ + interface Schema$EnterprisesListResponse { + /** + * An enterprise. + */ + enterprise?: Schema$Enterprise[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "androidenterprise#enterprisesListResponse". + */ + kind?: string; + } + interface Schema$EnterprisesSendTestPushNotificationResponse { + /** + * The message ID of the test push notification that was sent. + */ + messageId?: string; + /** + * The name of the Cloud Pub/Sub topic to which notifications for this + * enterprise's enrolled account will be sent. + */ + topicName?: string; + } + /** + * The presence of an Entitlements resource indicates that a user has the + * right to use a particular app. Entitlements are user specific, not device + * specific. This allows a user with an entitlement to an app to install the + * app on all their devices. It's also possible for a user to hold an + * entitlement to an app without installing the app on any device. The API + * can be used to create an entitlement. As an option, you can also use the + * API to trigger the installation of an app on all a user's managed + * devices at the same time the entitlement is created. If the app is free, + * creating the entitlement also creates a group license for that app. For + * paid apps, creating the entitlement consumes one license, and that license + * remains consumed until the entitlement is removed. If the enterprise + * hasn't purchased enough licenses, then no entitlement is created and + * the installation fails. An entitlement is also not created for an app if + * the app requires permissions that the enterprise hasn't accepted. If + * an entitlement is deleted, the app may be uninstalled from a user's + * device. As a best practice, uninstall the app by calling Installs.delete() + * before deleting the entitlement. Entitlements for apps that a user pays + * for on an unmanaged profile have "userPurchase" as the + * entitlement reason. These entitlements cannot be removed via the API. + */ + interface Schema$Entitlement { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "androidenterprise#entitlement". + */ + kind?: string; + /** + * The ID of the product that the entitlement is for. For example, + * "app:com.google.android.gm". + */ + productId?: string; + /** + * The reason for the entitlement. For example, "free" for free + * apps. This property is temporary: it will be replaced by the acquisition + * kind field of group licenses. + */ + reason?: string; + } + /** + * The entitlement resources for the user. + */ + interface Schema$EntitlementsListResponse { + /** + * An entitlement of a user to a product (e.g. an app). For example, a free + * app that they have installed, or a paid app that they have been allocated + * a license to. + */ + entitlement?: Schema$Entitlement[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "androidenterprise#entitlementsListResponse". + */ + kind?: string; + } + /** + * Group license objects allow you to keep track of licenses (called + * entitlements) for both free and paid apps. For a free app, a group license + * is created when an enterprise admin first approves the product in Google + * Play or when the first entitlement for the product is created for a user + * via the API. For a paid app, a group license object is only created when an + * enterprise admin purchases the product in Google Play for the first time. + * Use the API to query group licenses. A Grouplicenses resource includes the + * total number of licenses purchased (paid apps only) and the total number of + * licenses currently in use. In other words, the total number of Entitlements + * that exist for the product. Only one group license object is created per + * product and group license objects are never deleted. If a product is + * unapproved, its group license remains. This allows enterprise admins to + * keep track of any remaining entitlements for the product. + */ + interface Schema$GroupLicense { + /** + * How this group license was acquired. "bulkPurchase" means that + * this Grouplicenses resource was created because the enterprise purchased + * licenses for this product; otherwise, the value is "free" (for + * free products). + */ + acquisitionKind?: string; + /** + * Whether the product to which this group license relates is currently + * approved by the enterprise. Products are approved when a group license is + * first created, but this approval may be revoked by an enterprise admin + * via Google Play. Unapproved products will not be visible to end users in + * collections, and new entitlements to them should not normally be created. + */ + approval?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "androidenterprise#groupLicense". + */ + kind?: string; + /** + * The total number of provisioned licenses for this product. Returned by + * read operations, but ignored in write operations. + */ + numProvisioned?: number; + /** + * The number of purchased licenses (possibly in multiple purchases). If + * this field is omitted, then there is no limit on the number of licenses + * that can be provisioned (for example, if the acquisition kind is + * "free"). + */ + numPurchased?: number; + /** + * The permission approval status of the product. This field is only set if + * the product is approved. Possible states are: - + * "currentApproved", the current set of permissions is approved, + * but additional permissions will require the administrator to reapprove + * the product (If the product was approved without specifying the approved + * permissions setting, then this is the default behavior.), - + * "needsReapproval", the product has unapproved permissions. No + * additional product licenses can be assigned until the product is + * reapproved, - "allCurrentAndFutureApproved", the current + * permissions are approved and any future permission updates will be + * automatically approved without administrator review. + */ + permissions?: string; + /** + * The ID of the product that the license is for. For example, + * "app:com.google.android.gm". + */ + productId?: string; + } + /** + * The grouplicense resources for the enterprise. + */ + interface Schema$GroupLicensesListResponse { + /** + * A group license for a product approved for use in the enterprise. + */ + groupLicense?: Schema$GroupLicense[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "androidenterprise#groupLicensesListResponse". + */ + kind?: string; + } + /** + * The user resources for the group license. + */ + interface Schema$GroupLicenseUsersListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "androidenterprise#groupLicenseUsersListResponse". + */ + kind?: string; + /** + * A user of an enterprise. + */ + user?: Schema$User[]; + } + /** + * The existence of an Installs resource indicates that an app is installed on + * a particular device (or that an install is pending). The API can be used + * to create an install resource using the update method. This triggers the + * actual install of the app on the device. If the user does not already have + * an entitlement for the app, then an attempt is made to create one. If this + * fails (for example, because the app is not free and there is no available + * license), then the creation of the install fails. The API can also be used + * to update an installed app. If the update method is used on an existing + * install, then the app will be updated to the latest available version. Note + * that it is not possible to force the installation of a specific version of + * an app: the version code is read-only. If a user installs an app + * themselves (as permitted by the enterprise), then again an install resource + * and possibly an entitlement resource are automatically created. The API + * can also be used to delete an install resource, which triggers the removal + * of the app from the device. Note that deleting an install does not + * automatically remove the corresponding entitlement, even if there are no + * remaining installs. The install resource will also be deleted if the user + * uninstalls the app themselves. + */ + interface Schema$Install { + /** + * Install state. The state "installPending" means that an install + * request has recently been made and download to the device is in progress. + * The state "installed" means that the app has been installed. + * This field is read-only. + */ + installState?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "androidenterprise#install". + */ + kind?: string; + /** + * The ID of the product that the install is for. For example, + * "app:com.google.android.gm". + */ + productId?: string; + /** + * The version of the installed product. Guaranteed to be set only if the + * install state is "installed". + */ + versionCode?: number; + } + /** + * An event generated when an app installation failed on a device + */ + interface Schema$InstallFailureEvent { + /** + * The Android ID of the device. This field will always be present. + */ + deviceId?: string; + /** + * Additional details on the failure if applicable. + */ + failureDetails?: string; + /** + * The reason for the installation failure. This field will always be + * present. + */ + failureReason?: string; + /** + * The id of the product (e.g. "app:com.google.android.gm") for + * which the install failure event occured. This field will always be + * present. + */ + productId?: string; + /** + * The ID of the user. This field will always be present. + */ + userId?: string; + } + /** + * The install resources for the device. + */ + interface Schema$InstallsListResponse { + /** + * An installation of an app for a user on a specific device. The existence + * of an install implies that the user must have an entitlement to the app. + */ + install?: Schema$Install[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "androidenterprise#installsListResponse". + */ + kind?: string; + } + /** + * A localized string with its locale. + */ + interface Schema$LocalizedText { + /** + * The BCP47 tag for a locale. (e.g. "en-US", "de"). + */ + locale?: string; + /** + * The text localized in the associated locale. + */ + text?: string; + } + /** + * Maintenance window for managed Google Play Accounts. This allows Play store + * to update the apps on the foreground in the designated window. + */ + interface Schema$MaintenanceWindow { + /** + * Duration of the maintenance window, in milliseconds. The duration must be + * between 30 minutes and 24 hours (inclusive). + */ + durationMs?: string; + /** + * Start time of the maintenance window, in milliseconds after midnight on + * the device. Windows can span midnight. + */ + startTimeAfterMidnightMs?: string; + } + /** + * A managed configuration resource contains the set of managed properties + * defined by the app developer in the app's managed configurations + * schema, as well as any configuration variables defined for the user. + */ + interface Schema$ManagedConfiguration { + /** + * Contains the ID of the managed configuration profile and the set of + * configuration variables (if any) defined for the user. + */ + configurationVariables?: Schema$ConfigurationVariables; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "androidenterprise#managedConfiguration". + */ + kind?: string; + /** + * The set of managed properties for this configuration. + */ + managedProperty?: Schema$ManagedProperty[]; + /** + * The ID of the product that the managed configuration is for, e.g. + * "app:com.google.android.gm". + */ + productId?: string; + } + /** + * The managed configuration resources for the device. + */ + interface Schema$ManagedConfigurationsForDeviceListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "androidenterprise#managedConfigurationsForDeviceListResponse". + */ + kind?: string; + /** + * A managed configuration for an app on a specific device. + */ + managedConfigurationForDevice?: Schema$ManagedConfiguration[]; + } + /** + * The managed configuration resources for the user. + */ + interface Schema$ManagedConfigurationsForUserListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "androidenterprise#managedConfigurationsForUserListResponse". + */ + kind?: string; + /** + * A managed configuration for an app for a specific user. + */ + managedConfigurationForUser?: Schema$ManagedConfiguration[]; + } + /** + * A managed configurations settings resource contains the set of managed + * properties that have been configured for an Android app to be applied to a + * set of users. The app's developer would have defined configurable + * properties in the managed configurations schema. + */ + interface Schema$ManagedConfigurationsSettings { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "androidenterprise#managedConfigurationsSettings". + */ + kind?: string; + /** + * The last updated time of the managed configuration settings in + * milliseconds since 1970-01-01T00:00:00Z. + */ + lastUpdatedTimestampMillis?: string; + /** + * The set of managed properties for this configuration. + */ + managedProperty?: Schema$ManagedProperty[]; + /** + * The ID of the managed configurations settings. + */ + mcmId?: string; + /** + * The name of the managed configurations settings. + */ + name?: string; + } + /** + * The managed configurations settings for a product. + */ + interface Schema$ManagedConfigurationsSettingsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "androidenterprise#managedConfigurationsSettingsListResponse". + */ + kind?: string; + /** + * A managed configurations settings for an app that may be assigned to a + * group of users in an enterprise. + */ + managedConfigurationsSettings?: Schema$ManagedConfigurationsSettings[]; + } + /** + * A managed property of a managed configuration. The property must match one + * of the properties in the app restrictions schema of the product. Exactly + * one of the value fields must be populated, and it must match the + * property's type in the app restrictions schema. + */ + interface Schema$ManagedProperty { + /** + * The unique key that identifies the property. + */ + key?: string; + /** + * The boolean value - this will only be present if type of the property is + * bool. + */ + valueBool?: boolean; + /** + * The bundle of managed properties - this will only be present if type of + * the property is bundle. + */ + valueBundle?: Schema$ManagedPropertyBundle; + /** + * The list of bundles of properties - this will only be present if type of + * the property is bundle_array. + */ + valueBundleArray?: Schema$ManagedPropertyBundle[]; + /** + * The integer value - this will only be present if type of the property is + * integer. + */ + valueInteger?: number; + /** + * The string value - this will only be present if type of the property is + * string, choice or hidden. + */ + valueString?: string; + /** + * The list of string values - this will only be present if type of the + * property is multiselect. + */ + valueStringArray?: string[]; + } + /** + * A bundle of managed properties. + */ + interface Schema$ManagedPropertyBundle { + /** + * The list of managed properties. + */ + managedProperty?: Schema$ManagedProperty[]; + } + /** + * An event generated when a new device is ready to be managed. + */ + interface Schema$NewDeviceEvent { + /** + * The Android ID of the device. This field will always be present. + */ + deviceId?: string; + /** + * Policy app on the device. + */ + dpcPackageName?: string; + /** + * Identifies the extent to which the device is controlled by an Android EMM + * in various deployment configurations. Possible values include: - + * "managedDevice", a device where the DPC is set as device owner, + * - "managedProfile", a device where the DPC is set as profile + * owner. + */ + managementType?: string; + /** + * The ID of the user. This field will always be present. + */ + userId?: string; + } + /** + * An event generated when new permissions are added to an app. + */ + interface Schema$NewPermissionsEvent { + /** + * The set of permissions that the enterprise admin has already approved for + * this application. Use Permissions.Get on the EMM API to retrieve details + * about these permissions. + */ + approvedPermissions?: string[]; + /** + * The id of the product (e.g. "app:com.google.android.gm") for + * which new permissions were added. This field will always be present. + */ + productId?: string; + /** + * The set of permissions that the app is currently requesting. Use + * Permissions.Get on the EMM API to retrieve details about these + * permissions. + */ + requestedPermissions?: string[]; + } + /** + * A notification of one event relating to an enterprise. + */ + interface Schema$Notification { + /** + * Notifications about new app restrictions schema changes. + */ + appRestrictionsSchemaChangeEvent?: Schema$AppRestrictionsSchemaChangeEvent; + /** + * Notifications about app updates. + */ + appUpdateEvent?: Schema$AppUpdateEvent; + /** + * The ID of the enterprise for which the notification is sent. This will + * always be present. + */ + enterpriseId?: string; + /** + * Notifications about an app installation failure. + */ + installFailureEvent?: Schema$InstallFailureEvent; + /** + * Notifications about new devices. + */ + newDeviceEvent?: Schema$NewDeviceEvent; + /** + * Notifications about new app permissions. + */ + newPermissionsEvent?: Schema$NewPermissionsEvent; + /** + * Type of the notification. + */ + notificationType?: string; + /** + * Notifications about changes to a product's approval status. + */ + productApprovalEvent?: Schema$ProductApprovalEvent; + /** + * Notifications about product availability changes. + */ + productAvailabilityChangeEvent?: Schema$ProductAvailabilityChangeEvent; + /** + * The time when the notification was published in milliseconds since + * 1970-01-01T00:00:00Z. This will always be present. + */ + timestampMillis?: string; + } + /** + * A resource returned by the PullNotificationSet API, which contains a + * collection of notifications for enterprises associated with the service + * account authenticated for the request. + */ + interface Schema$NotificationSet { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "androidenterprise#notificationSet". + */ + kind?: string; + /** + * The notifications received, or empty if no notifications are present. + */ + notification?: Schema$Notification[]; + /** + * The notification set ID, required to mark the notification as received + * with the Enterprises.AcknowledgeNotification API. This will be omitted if + * no notifications are present. + */ + notificationSetId?: string; + } + interface Schema$PageInfo { + resultPerPage?: number; + startIndex?: number; + totalResults?: number; + } + /** + * A Permissions resource represents some extra capability, to be granted to + * an Android app, which requires explicit consent. An enterprise admin must + * consent to these permissions on behalf of their users before an entitlement + * for the app can be created. The permissions collection is read-only. The + * information provided for each permission (localized name and description) + * is intended to be used in the MDM user interface when obtaining consent + * from the enterprise. + */ + interface Schema$Permission { + /** + * A longer description of the Permissions resource, giving more details of + * what it affects. + */ + description?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "androidenterprise#permission". + */ + kind?: string; + /** + * The name of the permission. + */ + name?: string; + /** + * An opaque string uniquely identifying the permission. + */ + permissionId?: string; + } + /** + * The device policy for a given managed device. + */ + interface Schema$Policy { + /** + * The auto-update policy for apps installed on the device. + * "choiceToTheUser" allows the device's user to configure the + * app update policy. "always" enables auto updates. + * "never" disables auto updates. "wifiOnly" enables + * auto updates only when the device is connected to wifi. + */ + autoUpdatePolicy?: string; + /** + * The maintenance window defining when apps running in the foreground + * should be updated. + */ + maintenanceWindow?: Schema$MaintenanceWindow; + /** + * The availability granted to the device for the specified products. + * "all" gives the device access to all products, regardless of + * approval status. "all" does not enable automatic visibility of + * "alpha" or "beta" tracks. "whitelist" + * grants the device access the products specified in productPolicy[]. Only + * products that are approved or products that were previously approved + * (products with revoked approval) by the enterprise can be whitelisted. If + * no value is provided, the availability set at the user level is applied + * by default. + */ + productAvailabilityPolicy?: string; + /** + * The list of product policies. + */ + productPolicy?: Schema$ProductPolicy[]; + } + /** + * A Products resource represents an app in the Google Play store that is + * available to at least some users in the enterprise. (Some apps are + * restricted to a single enterprise, and no information about them is made + * available outside that enterprise.) The information provided for each + * product (localized name, icon, link to the full Google Play details page) + * is intended to allow a basic representation of the product within an EMM + * user interface. + */ + interface Schema$Product { + /** + * App versions currently available for this product. + */ + appVersion?: Schema$AppVersion[]; + /** + * The name of the author of the product (for example, the app developer). + */ + authorName?: string; + /** + * The countries which this app is available in. + */ + availableCountries?: string[]; + /** + * The tracks that are visible to the enterprise. + */ + availableTracks?: string[]; + /** + * The app category (e.g. RACING, SOCIAL, etc.) + */ + category?: string; + /** + * The content rating for this app. + */ + contentRating?: string; + /** + * The localized promotional description, if available. + */ + description?: string; + /** + * A link to the (consumer) Google Play details page for the product. + */ + detailsUrl?: string; + /** + * How and to whom the package is made available. The value + * publicGoogleHosted means that the package is available through the Play + * store and not restricted to a specific enterprise. The value + * privateGoogleHosted means that the package is a private app (restricted + * to an enterprise) but hosted by Google. The value privateSelfHosted means + * that the package is a private app (restricted to an enterprise) and is + * privately hosted. + */ + distributionChannel?: string; + /** + * A link to an image that can be used as an icon for the product. This + * image is suitable for use at up to 512px x 512px. + */ + iconUrl?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "androidenterprise#product". + */ + kind?: string; + /** + * The approximate time (within 7 days) the app was last published, + * expressed in milliseconds since epoch. + */ + lastUpdatedTimestampMillis?: string; + /** + * The minimum Android SDK necessary to run the app. + */ + minAndroidSdkVersion?: number; + /** + * A list of permissions required by the app. + */ + permissions?: Schema$ProductPermission[]; + /** + * A string of the form app:<package name>. For example, + * app:com.google.android.gm represents the Gmail app. + */ + productId?: string; + /** + * Whether this product is free, free with in-app purchases, or paid. If the + * pricing is unknown, this means the product is not generally available + * anymore (even though it might still be available to people who own it). + */ + productPricing?: string; + /** + * A description of the recent changes made to the app. + */ + recentChanges?: string; + /** + * Deprecated. + */ + requiresContainerApp?: boolean; + /** + * A list of screenshot links representing the app. + */ + screenshotUrls?: string[]; + /** + * The certificate used to sign this product. + */ + signingCertificate?: Schema$ProductSigningCertificate; + /** + * A link to a smaller image that can be used as an icon for the product. + * This image is suitable for use at up to 128px x 128px. + */ + smallIconUrl?: string; + /** + * The name of the product. + */ + title?: string; + /** + * A link to the managed Google Play details page for the product, for use + * by an Enterprise admin. + */ + workDetailsUrl?: string; + } + /** + * An event generated when a product's approval status is changed. + */ + interface Schema$ProductApprovalEvent { + /** + * Whether the product was approved or unapproved. This field will always be + * present. + */ + approved?: string; + /** + * The id of the product (e.g. "app:com.google.android.gm") for + * which the approval status has changed. This field will always be present. + */ + productId?: string; + } + /** + * An event generated whenever a product's availability changes. + */ + interface Schema$ProductAvailabilityChangeEvent { + /** + * The new state of the product. This field will always be present. + */ + availabilityStatus?: string; + /** + * The id of the product (e.g. "app:com.google.android.gm") for + * which the product availability changed. This field will always be + * present. + */ + productId?: string; + } + /** + * A product permissions resource represents the set of permissions required + * by a specific app and whether or not they have been accepted by an + * enterprise admin. The API can be used to read the set of permissions, and + * also to update the set to indicate that permissions have been accepted. + */ + interface Schema$ProductPermission { + /** + * An opaque string uniquely identifying the permission. + */ + permissionId?: string; + /** + * Whether the permission has been accepted or not. + */ + state?: string; + } + /** + * Information about the permissions required by a specific app and whether + * they have been accepted by the enterprise. + */ + interface Schema$ProductPermissions { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "androidenterprise#productPermissions". + */ + kind?: string; + /** + * The permissions required by the app. + */ + permission?: Schema$ProductPermission[]; + /** + * The ID of the app that the permissions relate to, e.g. + * "app:com.google.android.gm". + */ + productId?: string; + } + /** + * The policy for a product. + */ + interface Schema$ProductPolicy { + /** + * The ID of the product. For example, + * "app:com.google.android.gm". + */ + productId?: string; + /** + * Grants visibility to the specified track(s) of the product to the device. + * The track available to the device is based on the following order of + * preference: alpha, beta, production. For example, if an app has a prod + * version, a beta version and an alpha version and the enterprise has been + * granted visibility to both the alpha and beta tracks, if tracks is + * {"beta", "production"} then the beta version of the + * app is made available to the device. If there are no app versions in the + * specified track adding the "alpha" and "beta" values + * to the list of tracks will have no effect. Note that the enterprise + * requires access to alpha and/or beta tracks before users can be granted + * visibility to apps in those tracks. The allowed sets are: {} (considered + * equivalent to {"production"}) {"production"} + * {"beta", "production"} {"alpha", + * "beta", "production"} The order of elements is not + * relevant. Any other set of tracks will be rejected with an error. + */ + tracks?: string[]; + } + interface Schema$ProductsApproveRequest { + /** + * The approval URL that was shown to the user. Only the permissions shown + * to the user with that URL will be accepted, which may not be the + * product's entire set of permissions. For example, the URL may only + * display new permissions from an update after the product was approved, or + * not include new permissions if the product was updated since the URL was + * generated. + */ + approvalUrlInfo?: Schema$ApprovalUrlInfo; + /** + * Sets how new permission requests for the product are handled. + * "allPermissions" automatically approves all current and future + * permissions for the product. "currentPermissionsOnly" approves + * the current set of permissions for the product, but any future + * permissions added through updates will require manual reapproval. If not + * specified, only the current set of permissions will be approved. + */ + approvedPermissions?: string; + } + /** + * A set of products. + */ + interface Schema$ProductSet { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "androidenterprise#productSet". + */ + kind?: string; + /** + * The list of product IDs making up the set of products. + */ + productId?: string[]; + /** + * The interpretation of this product set. "unknown" should never + * be sent and is ignored if received. "whitelist" means that the + * user is entitled to access the product set. "includeAll" means + * that all products are accessible, including products that are approved, + * products with revoked approval, and products that have never been + * approved. "allApproved" means that the user is entitled to + * access all products that are approved for the enterprise. If the value is + * "allApproved" or "includeAll", the productId field is + * ignored. If no value is provided, it is interpreted as + * "whitelist" for backwards compatibility. Further + * "allApproved" or "includeAll" does not enable + * automatic visibility of "alpha" or "beta" tracks for + * Android app. Use ProductVisibility to enable "alpha" or + * "beta" tracks per user. + */ + productSetBehavior?: string; + /** + * Additional list of product IDs making up the product set. Unlike the + * productID array, in this list It's possible to specify which tracks + * (alpha, beta, production) of a product are visible to the user. See + * ProductVisibility and its fields for more information. Specifying the + * same product ID both here and in the productId array is not allowed and + * it will result in an error. + */ + productVisibility?: Schema$ProductVisibility[]; + } + interface Schema$ProductsGenerateApprovalUrlResponse { + /** + * A URL that can be rendered in an iframe to display the permissions (if + * any) of a product. This URL can be used to approve the product only once + * and only within 24 hours of being generated, using the Products.approve + * call. If the product is currently unapproved and has no permissions, this + * URL will point to an empty page. If the product is currently approved, a + * URL will only be generated if that product has added permissions since it + * was last approved, and the URL will only display those new permissions + * that have not yet been accepted. + */ + url?: string; + } + interface Schema$ProductSigningCertificate { + /** + * The base64 urlsafe encoded SHA1 hash of the certificate. (This field is + * deprecated in favor of SHA2-256. It should not be used and may be removed + * at any time.) + */ + certificateHashSha1?: string; + /** + * The base64 urlsafe encoded SHA2-256 hash of the certificate. + */ + certificateHashSha256?: string; + } + /** + * The matching products. + */ + interface Schema$ProductsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "androidenterprise#productsListResponse". + */ + kind?: string; + /** + * General pagination information. + */ + pageInfo?: Schema$PageInfo; + /** + * Information about a product (e.g. an app) in the Google Play store, for + * display to an enterprise admin. + */ + product?: Schema$Product[]; + /** + * Pagination information for token pagination. + */ + tokenPagination?: Schema$TokenPagination; + } + /** + * A product to be made visible to a user. + */ + interface Schema$ProductVisibility { + /** + * The product ID to make visible to the user. Required for each item in the + * productVisibility list. + */ + productId?: string; + /** + * Grants visibility to the specified track(s) of the product to the user. + * The track available to the user is based on the following order of + * preference: alpha, beta, production. For example, if an app has a prod + * version, a beta version and an alpha version and the enterprise has been + * granted visibility to both the alpha and beta tracks, if tracks is + * {"beta", "production"} the user will be able to + * install the app and they will get the beta version of the app. If there + * are no app versions in the specified track adding the "alpha" + * and "beta" values to the list of tracks will have no effect. + * Note that the enterprise requires access to alpha and/or beta tracks + * before users can be granted visibility to apps in those tracks. The + * allowed sets are: {} (considered equivalent to {"production"}) + * {"production"} {"beta", "production"} + * {"alpha", "beta", "production"} The order + * of elements is not relevant. Any other set of tracks will be rejected + * with an error. + */ + tracks?: string[]; + } + /** + * A service account identity, including the name and credentials that can be + * used to authenticate as the service account. + */ + interface Schema$ServiceAccount { + /** + * Credentials that can be used to authenticate as this ServiceAccount. + */ + key?: Schema$ServiceAccountKey; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "androidenterprise#serviceAccount". + */ + kind?: string; + /** + * The account name of the service account, in the form of an email address. + * Assigned by the server. + */ + name?: string; + } + /** + * Credentials that can be used to authenticate as a service account. + */ + interface Schema$ServiceAccountKey { + /** + * The body of the private key credentials file, in string format. This is + * only populated when the ServiceAccountKey is created, and is not stored + * by Google. + */ + data?: string; + /** + * An opaque, unique identifier for this ServiceAccountKey. Assigned by the + * server. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "androidenterprise#serviceAccountKey". + */ + kind?: string; + /** + * Public key data for the credentials file. This is an X.509 cert. If you + * are using the googleCredentials key type, this is identical to the cert + * that can be retrieved by using the X.509 cert url inside of the + * credentials file. + */ + publicData?: string; + /** + * The file format of the generated key data. + */ + type?: string; + } + interface Schema$ServiceAccountKeysListResponse { + /** + * The service account credentials. + */ + serviceAccountKey?: Schema$ServiceAccountKey[]; + } + /** + * A resource returned by the GenerateSignupUrl API, which contains the Signup + * URL and Completion Token. + */ + interface Schema$SignupInfo { + /** + * An opaque token that will be required, along with the Enterprise Token, + * for obtaining the enterprise resource from CompleteSignup. + */ + completionToken?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "androidenterprise#signupInfo". + */ + kind?: string; + /** + * A URL under which the Admin can sign up for an enterprise. The page + * pointed to cannot be rendered in an iframe. + */ + url?: string; + } + /** + * Definition of a managed Google Play store cluster, a list of products + * displayed as part of a store page. + */ + interface Schema$StoreCluster { + /** + * Unique ID of this cluster. Assigned by the server. Immutable once + * assigned. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "androidenterprise#storeCluster". + */ + kind?: string; + /** + * Ordered list of localized strings giving the name of this page. The text + * displayed is the one that best matches the user locale, or the first + * entry if there is no good match. There needs to be at least one entry. + */ + name?: Schema$LocalizedText[]; + /** + * String (US-ASCII only) used to determine order of this cluster within the + * parent page's elements. Page elements are sorted in lexicographic + * order of this field. Duplicated values are allowed, but ordering between + * elements with duplicate order is undefined. The value of this field is + * never visible to a user, it is used solely for the purpose of defining an + * ordering. Maximum length is 256 characters. + */ + orderInPage?: string; + /** + * List of products in the order they are displayed in the cluster. There + * should not be duplicates within a cluster. + */ + productId?: string[]; + } + /** + * General setting for the managed Google Play store layout, currently only + * specifying the page to display the first time the store is opened. + */ + interface Schema$StoreLayout { + /** + * The ID of the store page to be used as the homepage. The homepage is the + * first page shown in the managed Google Play Store. Not specifying a + * homepage is equivalent to setting the store layout type to + * "basic". + */ + homepageId?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "androidenterprise#storeLayout". + */ + kind?: string; + /** + * The store layout type. By default, this value is set to "basic" + * if the homepageId field is not set, and to "custom" otherwise. + * If set to "basic", the layout will consist of all approved apps + * that have been whitelisted for the user. + */ + storeLayoutType?: string; + } + /** + * The store page resources for the enterprise. + */ + interface Schema$StoreLayoutClustersListResponse { + /** + * A store cluster of an enterprise. + */ + cluster?: Schema$StoreCluster[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "androidenterprise#storeLayoutClustersListResponse". + */ + kind?: string; + } + /** + * The store page resources for the enterprise. + */ + interface Schema$StoreLayoutPagesListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "androidenterprise#storeLayoutPagesListResponse". + */ + kind?: string; + /** + * A store page of an enterprise. + */ + page?: Schema$StorePage[]; + } + /** + * Definition of a managed Google Play store page, made of a localized name + * and links to other pages. A page also contains clusters defined as a + * subcollection. + */ + interface Schema$StorePage { + /** + * Unique ID of this page. Assigned by the server. Immutable once assigned. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "androidenterprise#storePage". + */ + kind?: string; + /** + * Ordered list of pages a user should be able to reach from this page. The + * list can't include this page. It is recommended that the basic pages + * are created first, before adding the links between pages. The API + * doesn't verify that the pages exist or the pages are reachable. + */ + link?: string[]; + /** + * Ordered list of localized strings giving the name of this page. The text + * displayed is the one that best matches the user locale, or the first + * entry if there is no good match. There needs to be at least one entry. + */ + name?: Schema$LocalizedText[]; + } + interface Schema$TokenPagination { + nextPageToken?: string; + previousPageToken?: string; + } + /** + * A Users resource represents an account associated with an enterprise. The + * account may be specific to a device or to an individual user (who can then + * use the account across multiple devices). The account may provide access to + * managed Google Play only, or to other Google services, depending on the + * identity model: - The Google managed domain identity model requires + * synchronization to Google account sources (via primaryEmail). - The + * managed Google Play Accounts identity model provides a dynamic means for + * enterprises to create user or device accounts as needed. These accounts + * provide access to managed Google Play. + */ + interface Schema$User { + /** + * A unique identifier you create for this user, such as "user342" + * or "asset#44418". Do not use personally identifiable + * information (PII) for this property. Must always be set for EMM-managed + * users. Not set for Google-managed users. + */ + accountIdentifier?: string; + /** + * The type of account that this user represents. A userAccount can be + * installed on multiple devices, but a deviceAccount is specific to a + * single device. An EMM-managed user (emmManaged) can be either type + * (userAccount, deviceAccount), but a Google-managed user (googleManaged) + * is always a userAccount. + */ + accountType?: string; + /** + * The name that will appear in user interfaces. Setting this property is + * optional when creating EMM-managed users. If you do set this property, + * use something generic about the organization (such as "Example, + * Inc.") or your name (as EMM). Not used for Google-managed user + * accounts. + */ + displayName?: string; + /** + * The unique ID for the user. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "androidenterprise#user". + */ + kind?: string; + /** + * The entity that manages the user. With googleManaged users, the source of + * truth is Google so EMMs have to make sure a Google Account exists for the + * user. With emmManaged users, the EMM is in charge. + */ + managementType?: string; + /** + * The user's primary email address, for example, + * "jsmith@example.com". Will always be set for Google managed + * users and not set for EMM managed users. + */ + primaryEmail?: string; + } + /** + * The matching user resources. + */ + interface Schema$UsersListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "androidenterprise#usersListResponse". + */ + kind?: string; + /** + * A user of an enterprise. + */ + user?: Schema$User[]; + } + /** + * A UserToken is used by a user when setting up a managed device or profile + * with their managed Google Play account on a device. When the user enters + * their email address and token (activation code) the appropriate EMM app can + * be automatically downloaded. + */ + interface Schema$UserToken { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "androidenterprise#userToken". + */ + kind?: string; + /** + * The token (activation code) to be entered by the user. This consists of a + * sequence of decimal digits. Note that the leading digit may be 0. + */ + token?: string; + /** + * The unique ID for the user. + */ + userId?: string; + } + /** + * A variable set is a key-value pair of EMM-provided placeholders and its + * corresponding value, which is attributed to a user. For example, $FIRSTNAME + * could be a placeholder, and its value could be Alice. Placeholders should + * start with a '$' sign and should be alphanumeric only. + */ + interface Schema$VariableSet { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "androidenterprise#variableSet". + */ + kind?: string; + /** + * The placeholder string; defined by EMM. + */ + placeholder?: string; + /** + * The value of the placeholder, specific to the user. + */ + userValue?: string; + } + class Resource$Devices { + root: Androidenterprise; + constructor(root: Androidenterprise); + getRoot(): Androidenterprise; + /** + * androidenterprise.devices.get + * @desc Retrieves the details of a device. + * @alias androidenterprise.devices.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.deviceId The ID of the device. + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string} params.userId The ID of the user. + * @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?: Params$Resource$Devices$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Devices$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Devices$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * androidenterprise.devices.getState + * @desc Retrieves whether a device's access to Google services is enabled + * or disabled. The device state takes effect only if enforcing EMM policies + * on Android devices is enabled in the Google Admin Console. Otherwise, the + * device state is ignored and all devices are allowed access to Google + * services. This is only supported for Google-managed users. + * @alias androidenterprise.devices.getState + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.deviceId The ID of the device. + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string} params.userId The ID of the user. + * @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 + */ + getState(params?: Params$Resource$Devices$Getstate, options?: MethodOptions): AxiosPromise; + getState(params: Params$Resource$Devices$Getstate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getState(params: Params$Resource$Devices$Getstate, callback: BodyResponseCallback): void; + getState(callback: BodyResponseCallback): void; + /** + * androidenterprise.devices.list + * @desc Retrieves the IDs of all of a user's devices. + * @alias androidenterprise.devices.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string} params.userId The ID of the user. + * @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?: Params$Resource$Devices$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Devices$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Devices$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * androidenterprise.devices.patch + * @desc Updates the device policy. This method supports patch semantics. + * @alias androidenterprise.devices.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.deviceId The ID of the device. + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string=} params.updateMask Mask that identifies which fields to update. If not set, all modifiable fields will be modified. When set in a query parameter, this field should be specified as updateMask=,,... + * @param {string} params.userId The ID of the user. + * @param {().Device} 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 + */ + patch(params?: Params$Resource$Devices$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Devices$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Devices$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * androidenterprise.devices.setState + * @desc Sets whether a device's access to Google services is enabled or + * disabled. The device state takes effect only if enforcing EMM policies on + * Android devices is enabled in the Google Admin Console. Otherwise, the + * device state is ignored and all devices are allowed access to Google + * services. This is only supported for Google-managed users. + * @alias androidenterprise.devices.setState + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.deviceId The ID of the device. + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string} params.userId The ID of the user. + * @param {().DeviceState} 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 + */ + setState(params?: Params$Resource$Devices$Setstate, options?: MethodOptions): AxiosPromise; + setState(params: Params$Resource$Devices$Setstate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setState(params: Params$Resource$Devices$Setstate, callback: BodyResponseCallback): void; + setState(callback: BodyResponseCallback): void; + /** + * androidenterprise.devices.update + * @desc Updates the device policy + * @alias androidenterprise.devices.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.deviceId The ID of the device. + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string=} params.updateMask Mask that identifies which fields to update. If not set, all modifiable fields will be modified. When set in a query parameter, this field should be specified as updateMask=,,... + * @param {string} params.userId The ID of the user. + * @param {().Device} 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?: Params$Resource$Devices$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Devices$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Devices$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Devices$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the device. + */ + deviceId?: string; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * The ID of the user. + */ + userId?: string; + } + interface Params$Resource$Devices$Getstate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the device. + */ + deviceId?: string; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * The ID of the user. + */ + userId?: string; + } + interface Params$Resource$Devices$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * The ID of the user. + */ + userId?: string; + } + interface Params$Resource$Devices$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the device. + */ + deviceId?: string; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * Mask that identifies which fields to update. If not set, all modifiable + * fields will be modified. When set in a query parameter, this field + * should be specified as updateMask=,,... + */ + updateMask?: string; + /** + * The ID of the user. + */ + userId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Device; + } + interface Params$Resource$Devices$Setstate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the device. + */ + deviceId?: string; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * The ID of the user. + */ + userId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DeviceState; + } + interface Params$Resource$Devices$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the device. + */ + deviceId?: string; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * Mask that identifies which fields to update. If not set, all modifiable + * fields will be modified. When set in a query parameter, this field + * should be specified as updateMask=,,... + */ + updateMask?: string; + /** + * The ID of the user. + */ + userId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Device; + } + class Resource$Enterprises { + root: Androidenterprise; + constructor(root: Androidenterprise); + getRoot(): Androidenterprise; + /** + * androidenterprise.enterprises.acknowledgeNotificationSet + * @desc Acknowledges notifications that were received from + * Enterprises.PullNotificationSet to prevent subsequent calls from + * returning the same notifications. + * @alias androidenterprise.enterprises.acknowledgeNotificationSet + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {string=} params.notificationSetId The notification set ID as returned by Enterprises.PullNotificationSet. This must be provided. + * @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 + */ + acknowledgeNotificationSet(params?: Params$Resource$Enterprises$Acknowledgenotificationset, options?: MethodOptions): AxiosPromise; + acknowledgeNotificationSet(params: Params$Resource$Enterprises$Acknowledgenotificationset, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + acknowledgeNotificationSet(params: Params$Resource$Enterprises$Acknowledgenotificationset, callback: BodyResponseCallback): void; + acknowledgeNotificationSet(callback: BodyResponseCallback): void; + /** + * androidenterprise.enterprises.completeSignup + * @desc Completes the signup flow, by specifying the Completion token and + * Enterprise token. This request must not be called multiple times for a + * given Enterprise Token. + * @alias androidenterprise.enterprises.completeSignup + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {string=} params.completionToken The Completion token initially returned by GenerateSignupUrl. + * @param {string=} params.enterpriseToken The Enterprise token appended to the Callback URL. + * @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 + */ + completeSignup(params?: Params$Resource$Enterprises$Completesignup, options?: MethodOptions): AxiosPromise; + completeSignup(params: Params$Resource$Enterprises$Completesignup, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + completeSignup(params: Params$Resource$Enterprises$Completesignup, callback: BodyResponseCallback): void; + completeSignup(callback: BodyResponseCallback): void; + /** + * androidenterprise.enterprises.createWebToken + * @desc Returns a unique token to access an embeddable UI. To generate a + * web UI, pass the generated token into the managed Google Play javascript + * API. Each token may only be used to start one UI session. See the + * javascript API documentation for further information. + * @alias androidenterprise.enterprises.createWebToken + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {().AdministratorWebTokenSpec} 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 + */ + createWebToken(params?: Params$Resource$Enterprises$Createwebtoken, options?: MethodOptions): AxiosPromise; + createWebToken(params: Params$Resource$Enterprises$Createwebtoken, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + createWebToken(params: Params$Resource$Enterprises$Createwebtoken, callback: BodyResponseCallback): void; + createWebToken(callback: BodyResponseCallback): void; + /** + * androidenterprise.enterprises.enroll + * @desc Enrolls an enterprise with the calling EMM. + * @alias androidenterprise.enterprises.enroll + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.token The token provided by the enterprise to register the EMM. + * @param {().Enterprise} 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 + */ + enroll(params?: Params$Resource$Enterprises$Enroll, options?: MethodOptions): AxiosPromise; + enroll(params: Params$Resource$Enterprises$Enroll, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + enroll(params: Params$Resource$Enterprises$Enroll, callback: BodyResponseCallback): void; + enroll(callback: BodyResponseCallback): void; + /** + * androidenterprise.enterprises.generateSignupUrl + * @desc Generates a sign-up URL. + * @alias androidenterprise.enterprises.generateSignupUrl + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {string=} params.callbackUrl The callback URL to which the Admin will be redirected after successfully creating an enterprise. Before redirecting there the system will add a single query parameter to this URL named "enterpriseToken" which will contain an opaque token to be used for the CompleteSignup request. Beware that this means that the URL will be parsed, the parameter added and then a new URL formatted, i.e. there may be some minor formatting changes and, more importantly, the URL must be well-formed so that it can be parsed. + * @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 + */ + generateSignupUrl(params?: Params$Resource$Enterprises$Generatesignupurl, options?: MethodOptions): AxiosPromise; + generateSignupUrl(params: Params$Resource$Enterprises$Generatesignupurl, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + generateSignupUrl(params: Params$Resource$Enterprises$Generatesignupurl, callback: BodyResponseCallback): void; + generateSignupUrl(callback: BodyResponseCallback): void; + /** + * androidenterprise.enterprises.get + * @desc Retrieves the name and domain of an enterprise. + * @alias androidenterprise.enterprises.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.enterpriseId The ID of the enterprise. + * @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?: Params$Resource$Enterprises$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Enterprises$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Enterprises$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * androidenterprise.enterprises.getAndroidDevicePolicyConfig + * @desc Deprecated and unused. + * @alias androidenterprise.enterprises.getAndroidDevicePolicyConfig + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.enterpriseId The ID of the enterprise. + * @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 + */ + getAndroidDevicePolicyConfig(params?: Params$Resource$Enterprises$Getandroiddevicepolicyconfig, options?: MethodOptions): AxiosPromise; + getAndroidDevicePolicyConfig(params: Params$Resource$Enterprises$Getandroiddevicepolicyconfig, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getAndroidDevicePolicyConfig(params: Params$Resource$Enterprises$Getandroiddevicepolicyconfig, callback: BodyResponseCallback): void; + getAndroidDevicePolicyConfig(callback: BodyResponseCallback): void; + /** + * androidenterprise.enterprises.getServiceAccount + * @desc Returns a service account and credentials. The service account can + * be bound to the enterprise by calling setAccount. The service account is + * unique to this enterprise and EMM, and will be deleted if the enterprise + * is unbound. The credentials contain private key data and are not stored + * server-side. This method can only be called after calling + * Enterprises.Enroll or Enterprises.CompleteSignup, and before + * Enterprises.SetAccount; at other times it will return an error. + * Subsequent calls after the first will generate a new, unique set of + * credentials, and invalidate the previously generated credentials. Once + * the service account is bound to the enterprise, it can be managed using + * the serviceAccountKeys resource. + * @alias androidenterprise.enterprises.getServiceAccount + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string=} params.keyType The type of credential to return with the service account. Required. + * @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 + */ + getServiceAccount(params?: Params$Resource$Enterprises$Getserviceaccount, options?: MethodOptions): AxiosPromise; + getServiceAccount(params: Params$Resource$Enterprises$Getserviceaccount, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getServiceAccount(params: Params$Resource$Enterprises$Getserviceaccount, callback: BodyResponseCallback): void; + getServiceAccount(callback: BodyResponseCallback): void; + /** + * androidenterprise.enterprises.getStoreLayout + * @desc Returns the store layout for the enterprise. If the store layout + * has not been set, returns "basic" as the store layout type and no + * homepage. + * @alias androidenterprise.enterprises.getStoreLayout + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.enterpriseId The ID of the enterprise. + * @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 + */ + getStoreLayout(params?: Params$Resource$Enterprises$Getstorelayout, options?: MethodOptions): AxiosPromise; + getStoreLayout(params: Params$Resource$Enterprises$Getstorelayout, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getStoreLayout(params: Params$Resource$Enterprises$Getstorelayout, callback: BodyResponseCallback): void; + getStoreLayout(callback: BodyResponseCallback): void; + /** + * androidenterprise.enterprises.list + * @desc Looks up an enterprise by domain name. This is only supported for + * enterprises created via the Google-initiated creation flow. Lookup of the + * id is not needed for enterprises created via the EMM-initiated flow since + * the EMM learns the enterprise ID in the callback specified in the + * Enterprises.generateSignupUrl call. + * @alias androidenterprise.enterprises.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.domain The exact primary domain name of the enterprise to look up. + * @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?: Params$Resource$Enterprises$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Enterprises$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Enterprises$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * androidenterprise.enterprises.pullNotificationSet + * @desc Pulls and returns a notification set for the enterprises associated + * with the service account authenticated for the request. The notification + * set may be empty if no notification are pending. A notification set + * returned needs to be acknowledged within 20 seconds by calling + * Enterprises.AcknowledgeNotificationSet, unless the notification set is + * empty. Notifications that are not acknowledged within the 20 seconds will + * eventually be included again in the response to another + * PullNotificationSet request, and those that are never acknowledged will + * ultimately be deleted according to the Google Cloud Platform Pub/Sub + * system policy. Multiple requests might be performed concurrently to + * retrieve notifications, in which case the pending notifications (if any) + * will be split among each caller, if any are pending. If no notifications + * are present, an empty notification list is returned. Subsequent requests + * may return more notifications once they become available. + * @alias androidenterprise.enterprises.pullNotificationSet + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {string=} params.requestMode The request mode for pulling notifications. Specifying waitForNotifications will cause the request to block and wait until one or more notifications are present, or return an empty notification list if no notifications are present after some time. Speciying returnImmediately will cause the request to immediately return the pending notifications, or an empty list if no notifications are present. If omitted, defaults to waitForNotifications. + * @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 + */ + pullNotificationSet(params?: Params$Resource$Enterprises$Pullnotificationset, options?: MethodOptions): AxiosPromise; + pullNotificationSet(params: Params$Resource$Enterprises$Pullnotificationset, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + pullNotificationSet(params: Params$Resource$Enterprises$Pullnotificationset, callback: BodyResponseCallback): void; + pullNotificationSet(callback: BodyResponseCallback): void; + /** + * androidenterprise.enterprises.sendTestPushNotification + * @desc Sends a test notification to validate the EMM integration with the + * Google Cloud Pub/Sub service for this enterprise. + * @alias androidenterprise.enterprises.sendTestPushNotification + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.enterpriseId The ID of the enterprise. + * @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 + */ + sendTestPushNotification(params?: Params$Resource$Enterprises$Sendtestpushnotification, options?: MethodOptions): AxiosPromise; + sendTestPushNotification(params: Params$Resource$Enterprises$Sendtestpushnotification, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + sendTestPushNotification(params: Params$Resource$Enterprises$Sendtestpushnotification, callback: BodyResponseCallback): void; + sendTestPushNotification(callback: BodyResponseCallback): void; + /** + * androidenterprise.enterprises.setAccount + * @desc Sets the account that will be used to authenticate to the API as + * the enterprise. + * @alias androidenterprise.enterprises.setAccount + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {().EnterpriseAccount} 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 + */ + setAccount(params?: Params$Resource$Enterprises$Setaccount, options?: MethodOptions): AxiosPromise; + setAccount(params: Params$Resource$Enterprises$Setaccount, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setAccount(params: Params$Resource$Enterprises$Setaccount, callback: BodyResponseCallback): void; + setAccount(callback: BodyResponseCallback): void; + /** + * androidenterprise.enterprises.setAndroidDevicePolicyConfig + * @desc Deprecated and unused. + * @alias androidenterprise.enterprises.setAndroidDevicePolicyConfig + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {().AndroidDevicePolicyConfig} 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 + */ + setAndroidDevicePolicyConfig(params?: Params$Resource$Enterprises$Setandroiddevicepolicyconfig, options?: MethodOptions): AxiosPromise; + setAndroidDevicePolicyConfig(params: Params$Resource$Enterprises$Setandroiddevicepolicyconfig, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setAndroidDevicePolicyConfig(params: Params$Resource$Enterprises$Setandroiddevicepolicyconfig, callback: BodyResponseCallback): void; + setAndroidDevicePolicyConfig(callback: BodyResponseCallback): void; + /** + * androidenterprise.enterprises.setStoreLayout + * @desc Sets the store layout for the enterprise. By default, + * storeLayoutType is set to "basic" and the basic store layout is enabled. + * The basic layout only contains apps approved by the admin, and that have + * been added to the available product set for a user (using the + * setAvailableProductSet call). Apps on the page are sorted in order of + * their product ID value. If you create a custom store layout (by setting + * storeLayoutType = "custom" and setting a homepage), the basic store + * layout is disabled. + * @alias androidenterprise.enterprises.setStoreLayout + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {().StoreLayout} 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 + */ + setStoreLayout(params?: Params$Resource$Enterprises$Setstorelayout, options?: MethodOptions): AxiosPromise; + setStoreLayout(params: Params$Resource$Enterprises$Setstorelayout, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setStoreLayout(params: Params$Resource$Enterprises$Setstorelayout, callback: BodyResponseCallback): void; + setStoreLayout(callback: BodyResponseCallback): void; + /** + * androidenterprise.enterprises.unenroll + * @desc Unenrolls an enterprise from the calling EMM. + * @alias androidenterprise.enterprises.unenroll + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.enterpriseId The ID of the enterprise. + * @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 + */ + unenroll(params?: Params$Resource$Enterprises$Unenroll, options?: MethodOptions): AxiosPromise; + unenroll(params: Params$Resource$Enterprises$Unenroll, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + unenroll(params: Params$Resource$Enterprises$Unenroll, callback: BodyResponseCallback): void; + unenroll(callback: BodyResponseCallback): void; + } + interface Params$Resource$Enterprises$Acknowledgenotificationset { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The notification set ID as returned by Enterprises.PullNotificationSet. + * This must be provided. + */ + notificationSetId?: string; + } + interface Params$Resource$Enterprises$Completesignup { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The Completion token initially returned by GenerateSignupUrl. + */ + completionToken?: string; + /** + * The Enterprise token appended to the Callback URL. + */ + enterpriseToken?: string; + } + interface Params$Resource$Enterprises$Createwebtoken { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AdministratorWebTokenSpec; + } + interface Params$Resource$Enterprises$Enroll { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The token provided by the enterprise to register the EMM. + */ + token?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Enterprise; + } + interface Params$Resource$Enterprises$Generatesignupurl { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The callback URL to which the Admin will be redirected after successfully + * creating an enterprise. Before redirecting there the system will add a + * single query parameter to this URL named "enterpriseToken" which will + * contain an opaque token to be used for the CompleteSignup request. Beware + * that this means that the URL will be parsed, the parameter added and then + * a new URL formatted, i.e. there may be some minor formatting changes and, + * more importantly, the URL must be well-formed so that it can be parsed. + */ + callbackUrl?: string; + } + interface Params$Resource$Enterprises$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + } + interface Params$Resource$Enterprises$Getandroiddevicepolicyconfig { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + } + interface Params$Resource$Enterprises$Getserviceaccount { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * The type of credential to return with the service account. Required. + */ + keyType?: string; + } + interface Params$Resource$Enterprises$Getstorelayout { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + } + interface Params$Resource$Enterprises$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The exact primary domain name of the enterprise to look up. + */ + domain?: string; + } + interface Params$Resource$Enterprises$Pullnotificationset { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The request mode for pulling notifications. Specifying + * waitForNotifications will cause the request to block and wait until one + * or more notifications are present, or return an empty notification list + * if no notifications are present after some time. Speciying + * returnImmediately will cause the request to immediately return the + * pending notifications, or an empty list if no notifications are present. + * If omitted, defaults to waitForNotifications. + */ + requestMode?: string; + } + interface Params$Resource$Enterprises$Sendtestpushnotification { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + } + interface Params$Resource$Enterprises$Setaccount { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$EnterpriseAccount; + } + interface Params$Resource$Enterprises$Setandroiddevicepolicyconfig { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AndroidDevicePolicyConfig; + } + interface Params$Resource$Enterprises$Setstorelayout { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$StoreLayout; + } + interface Params$Resource$Enterprises$Unenroll { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + } + class Resource$Entitlements { + root: Androidenterprise; + constructor(root: Androidenterprise); + getRoot(): Androidenterprise; + /** + * androidenterprise.entitlements.delete + * @desc Removes an entitlement to an app for a user. + * @alias androidenterprise.entitlements.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string} params.entitlementId The ID of the entitlement (a product ID), e.g. "app:com.google.android.gm". + * @param {string} params.userId The ID of the user. + * @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?: Params$Resource$Entitlements$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Entitlements$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Entitlements$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * androidenterprise.entitlements.get + * @desc Retrieves details of an entitlement. + * @alias androidenterprise.entitlements.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string} params.entitlementId The ID of the entitlement (a product ID), e.g. "app:com.google.android.gm". + * @param {string} params.userId The ID of the user. + * @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?: Params$Resource$Entitlements$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Entitlements$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Entitlements$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * androidenterprise.entitlements.list + * @desc Lists all entitlements for the specified user. Only the ID is set. + * @alias androidenterprise.entitlements.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string} params.userId The ID of the user. + * @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?: Params$Resource$Entitlements$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Entitlements$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Entitlements$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * androidenterprise.entitlements.patch + * @desc Adds or updates an entitlement to an app for a user. This method + * supports patch semantics. + * @alias androidenterprise.entitlements.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string} params.entitlementId The ID of the entitlement (a product ID), e.g. "app:com.google.android.gm". + * @param {boolean=} params.install Set to true to also install the product on all the user's devices where possible. Failure to install on one or more devices will not prevent this operation from returning successfully, as long as the entitlement was successfully assigned to the user. + * @param {string} params.userId The ID of the user. + * @param {().Entitlement} 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 + */ + patch(params?: Params$Resource$Entitlements$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Entitlements$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Entitlements$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * androidenterprise.entitlements.update + * @desc Adds or updates an entitlement to an app for a user. + * @alias androidenterprise.entitlements.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string} params.entitlementId The ID of the entitlement (a product ID), e.g. "app:com.google.android.gm". + * @param {boolean=} params.install Set to true to also install the product on all the user's devices where possible. Failure to install on one or more devices will not prevent this operation from returning successfully, as long as the entitlement was successfully assigned to the user. + * @param {string} params.userId The ID of the user. + * @param {().Entitlement} 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?: Params$Resource$Entitlements$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Entitlements$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Entitlements$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Entitlements$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * The ID of the entitlement (a product ID), e.g. + * "app:com.google.android.gm". + */ + entitlementId?: string; + /** + * The ID of the user. + */ + userId?: string; + } + interface Params$Resource$Entitlements$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * The ID of the entitlement (a product ID), e.g. + * "app:com.google.android.gm". + */ + entitlementId?: string; + /** + * The ID of the user. + */ + userId?: string; + } + interface Params$Resource$Entitlements$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * The ID of the user. + */ + userId?: string; + } + interface Params$Resource$Entitlements$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * The ID of the entitlement (a product ID), e.g. + * "app:com.google.android.gm". + */ + entitlementId?: string; + /** + * Set to true to also install the product on all the user's devices where + * possible. Failure to install on one or more devices will not prevent this + * operation from returning successfully, as long as the entitlement was + * successfully assigned to the user. + */ + install?: boolean; + /** + * The ID of the user. + */ + userId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Entitlement; + } + interface Params$Resource$Entitlements$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * The ID of the entitlement (a product ID), e.g. + * "app:com.google.android.gm". + */ + entitlementId?: string; + /** + * Set to true to also install the product on all the user's devices where + * possible. Failure to install on one or more devices will not prevent this + * operation from returning successfully, as long as the entitlement was + * successfully assigned to the user. + */ + install?: boolean; + /** + * The ID of the user. + */ + userId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Entitlement; + } + class Resource$Grouplicenses { + root: Androidenterprise; + constructor(root: Androidenterprise); + getRoot(): Androidenterprise; + /** + * androidenterprise.grouplicenses.get + * @desc Retrieves details of an enterprise's group license for a product. + * @alias androidenterprise.grouplicenses.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string} params.groupLicenseId The ID of the product the group license is for, e.g. "app:com.google.android.gm". + * @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?: Params$Resource$Grouplicenses$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Grouplicenses$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Grouplicenses$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * androidenterprise.grouplicenses.list + * @desc Retrieves IDs of all products for which the enterprise has a group + * license. + * @alias androidenterprise.grouplicenses.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.enterpriseId The ID of the enterprise. + * @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?: Params$Resource$Grouplicenses$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Grouplicenses$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Grouplicenses$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Grouplicenses$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * The ID of the product the group license is for, e.g. + * "app:com.google.android.gm". + */ + groupLicenseId?: string; + } + interface Params$Resource$Grouplicenses$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + } + class Resource$Grouplicenseusers { + root: Androidenterprise; + constructor(root: Androidenterprise); + getRoot(): Androidenterprise; + /** + * androidenterprise.grouplicenseusers.list + * @desc Retrieves the IDs of the users who have been granted entitlements + * under the license. + * @alias androidenterprise.grouplicenseusers.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string} params.groupLicenseId The ID of the product the group license is for, e.g. "app:com.google.android.gm". + * @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?: Params$Resource$Grouplicenseusers$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Grouplicenseusers$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Grouplicenseusers$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Grouplicenseusers$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * The ID of the product the group license is for, e.g. + * "app:com.google.android.gm". + */ + groupLicenseId?: string; + } + class Resource$Installs { + root: Androidenterprise; + constructor(root: Androidenterprise); + getRoot(): Androidenterprise; + /** + * androidenterprise.installs.delete + * @desc Requests to remove an app from a device. A call to get or list will + * still show the app as installed on the device until it is actually + * removed. + * @alias androidenterprise.installs.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.deviceId The Android ID of the device. + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string} params.installId The ID of the product represented by the install, e.g. "app:com.google.android.gm". + * @param {string} params.userId The ID of the user. + * @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?: Params$Resource$Installs$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Installs$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Installs$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * androidenterprise.installs.get + * @desc Retrieves details of an installation of an app on a device. + * @alias androidenterprise.installs.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.deviceId The Android ID of the device. + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string} params.installId The ID of the product represented by the install, e.g. "app:com.google.android.gm". + * @param {string} params.userId The ID of the user. + * @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?: Params$Resource$Installs$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Installs$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Installs$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * androidenterprise.installs.list + * @desc Retrieves the details of all apps installed on the specified + * device. + * @alias androidenterprise.installs.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.deviceId The Android ID of the device. + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string} params.userId The ID of the user. + * @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?: Params$Resource$Installs$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Installs$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Installs$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * androidenterprise.installs.patch + * @desc Requests to install the latest version of an app to a device. If + * the app is already installed, then it is updated to the latest version if + * necessary. This method supports patch semantics. + * @alias androidenterprise.installs.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.deviceId The Android ID of the device. + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string} params.installId The ID of the product represented by the install, e.g. "app:com.google.android.gm". + * @param {string} params.userId The ID of the user. + * @param {().Install} 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 + */ + patch(params?: Params$Resource$Installs$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Installs$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Installs$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * androidenterprise.installs.update + * @desc Requests to install the latest version of an app to a device. If + * the app is already installed, then it is updated to the latest version if + * necessary. + * @alias androidenterprise.installs.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.deviceId The Android ID of the device. + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string} params.installId The ID of the product represented by the install, e.g. "app:com.google.android.gm". + * @param {string} params.userId The ID of the user. + * @param {().Install} 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?: Params$Resource$Installs$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Installs$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Installs$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Installs$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The Android ID of the device. + */ + deviceId?: string; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * The ID of the product represented by the install, e.g. + * "app:com.google.android.gm". + */ + installId?: string; + /** + * The ID of the user. + */ + userId?: string; + } + interface Params$Resource$Installs$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The Android ID of the device. + */ + deviceId?: string; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * The ID of the product represented by the install, e.g. + * "app:com.google.android.gm". + */ + installId?: string; + /** + * The ID of the user. + */ + userId?: string; + } + interface Params$Resource$Installs$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The Android ID of the device. + */ + deviceId?: string; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * The ID of the user. + */ + userId?: string; + } + interface Params$Resource$Installs$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The Android ID of the device. + */ + deviceId?: string; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * The ID of the product represented by the install, e.g. + * "app:com.google.android.gm". + */ + installId?: string; + /** + * The ID of the user. + */ + userId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Install; + } + interface Params$Resource$Installs$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The Android ID of the device. + */ + deviceId?: string; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * The ID of the product represented by the install, e.g. + * "app:com.google.android.gm". + */ + installId?: string; + /** + * The ID of the user. + */ + userId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Install; + } + class Resource$Managedconfigurationsfordevice { + root: Androidenterprise; + constructor(root: Androidenterprise); + getRoot(): Androidenterprise; + /** + * androidenterprise.managedconfigurationsfordevice.delete + * @desc Removes a per-device managed configuration for an app for the + * specified device. + * @alias androidenterprise.managedconfigurationsfordevice.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.deviceId The Android ID of the device. + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string} params.managedConfigurationForDeviceId The ID of the managed configuration (a product ID), e.g. "app:com.google.android.gm". + * @param {string} params.userId The ID of the user. + * @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?: Params$Resource$Managedconfigurationsfordevice$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Managedconfigurationsfordevice$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Managedconfigurationsfordevice$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * androidenterprise.managedconfigurationsfordevice.get + * @desc Retrieves details of a per-device managed configuration. + * @alias androidenterprise.managedconfigurationsfordevice.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.deviceId The Android ID of the device. + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string} params.managedConfigurationForDeviceId The ID of the managed configuration (a product ID), e.g. "app:com.google.android.gm". + * @param {string} params.userId The ID of the user. + * @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?: Params$Resource$Managedconfigurationsfordevice$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Managedconfigurationsfordevice$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Managedconfigurationsfordevice$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * androidenterprise.managedconfigurationsfordevice.list + * @desc Lists all the per-device managed configurations for the specified + * device. Only the ID is set. + * @alias androidenterprise.managedconfigurationsfordevice.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.deviceId The Android ID of the device. + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string} params.userId The ID of the user. + * @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?: Params$Resource$Managedconfigurationsfordevice$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Managedconfigurationsfordevice$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Managedconfigurationsfordevice$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * androidenterprise.managedconfigurationsfordevice.patch + * @desc Adds or updates a per-device managed configuration for an app for + * the specified device. This method supports patch semantics. + * @alias androidenterprise.managedconfigurationsfordevice.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.deviceId The Android ID of the device. + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string} params.managedConfigurationForDeviceId The ID of the managed configuration (a product ID), e.g. "app:com.google.android.gm". + * @param {string} params.userId The ID of the user. + * @param {().ManagedConfiguration} 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 + */ + patch(params?: Params$Resource$Managedconfigurationsfordevice$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Managedconfigurationsfordevice$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Managedconfigurationsfordevice$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * androidenterprise.managedconfigurationsfordevice.update + * @desc Adds or updates a per-device managed configuration for an app for + * the specified device. + * @alias androidenterprise.managedconfigurationsfordevice.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.deviceId The Android ID of the device. + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string} params.managedConfigurationForDeviceId The ID of the managed configuration (a product ID), e.g. "app:com.google.android.gm". + * @param {string} params.userId The ID of the user. + * @param {().ManagedConfiguration} 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?: Params$Resource$Managedconfigurationsfordevice$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Managedconfigurationsfordevice$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Managedconfigurationsfordevice$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Managedconfigurationsfordevice$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The Android ID of the device. + */ + deviceId?: string; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * The ID of the managed configuration (a product ID), e.g. + * "app:com.google.android.gm". + */ + managedConfigurationForDeviceId?: string; + /** + * The ID of the user. + */ + userId?: string; + } + interface Params$Resource$Managedconfigurationsfordevice$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The Android ID of the device. + */ + deviceId?: string; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * The ID of the managed configuration (a product ID), e.g. + * "app:com.google.android.gm". + */ + managedConfigurationForDeviceId?: string; + /** + * The ID of the user. + */ + userId?: string; + } + interface Params$Resource$Managedconfigurationsfordevice$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The Android ID of the device. + */ + deviceId?: string; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * The ID of the user. + */ + userId?: string; + } + interface Params$Resource$Managedconfigurationsfordevice$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The Android ID of the device. + */ + deviceId?: string; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * The ID of the managed configuration (a product ID), e.g. + * "app:com.google.android.gm". + */ + managedConfigurationForDeviceId?: string; + /** + * The ID of the user. + */ + userId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ManagedConfiguration; + } + interface Params$Resource$Managedconfigurationsfordevice$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The Android ID of the device. + */ + deviceId?: string; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * The ID of the managed configuration (a product ID), e.g. + * "app:com.google.android.gm". + */ + managedConfigurationForDeviceId?: string; + /** + * The ID of the user. + */ + userId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ManagedConfiguration; + } + class Resource$Managedconfigurationsforuser { + root: Androidenterprise; + constructor(root: Androidenterprise); + getRoot(): Androidenterprise; + /** + * androidenterprise.managedconfigurationsforuser.delete + * @desc Removes a per-user managed configuration for an app for the + * specified user. + * @alias androidenterprise.managedconfigurationsforuser.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string} params.managedConfigurationForUserId The ID of the managed configuration (a product ID), e.g. "app:com.google.android.gm". + * @param {string} params.userId The ID of the user. + * @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?: Params$Resource$Managedconfigurationsforuser$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Managedconfigurationsforuser$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Managedconfigurationsforuser$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * androidenterprise.managedconfigurationsforuser.get + * @desc Retrieves details of a per-user managed configuration for an app + * for the specified user. + * @alias androidenterprise.managedconfigurationsforuser.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string} params.managedConfigurationForUserId The ID of the managed configuration (a product ID), e.g. "app:com.google.android.gm". + * @param {string} params.userId The ID of the user. + * @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?: Params$Resource$Managedconfigurationsforuser$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Managedconfigurationsforuser$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Managedconfigurationsforuser$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * androidenterprise.managedconfigurationsforuser.list + * @desc Lists all the per-user managed configurations for the specified + * user. Only the ID is set. + * @alias androidenterprise.managedconfigurationsforuser.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string} params.userId The ID of the user. + * @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?: Params$Resource$Managedconfigurationsforuser$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Managedconfigurationsforuser$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Managedconfigurationsforuser$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * androidenterprise.managedconfigurationsforuser.patch + * @desc Adds or updates the managed configuration settings for an app for + * the specified user. If you support the Managed configurations iframe, you + * can apply managed configurations to a user by specifying an mcmId and its + * associated configuration variables (if any) in the request. + * Alternatively, all EMMs can apply managed configurations by passing a + * list of managed properties. This method supports patch semantics. + * @alias androidenterprise.managedconfigurationsforuser.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string} params.managedConfigurationForUserId The ID of the managed configuration (a product ID), e.g. "app:com.google.android.gm". + * @param {string} params.userId The ID of the user. + * @param {().ManagedConfiguration} 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 + */ + patch(params?: Params$Resource$Managedconfigurationsforuser$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Managedconfigurationsforuser$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Managedconfigurationsforuser$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * androidenterprise.managedconfigurationsforuser.update + * @desc Adds or updates the managed configuration settings for an app for + * the specified user. If you support the Managed configurations iframe, you + * can apply managed configurations to a user by specifying an mcmId and its + * associated configuration variables (if any) in the request. + * Alternatively, all EMMs can apply managed configurations by passing a + * list of managed properties. + * @alias androidenterprise.managedconfigurationsforuser.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string} params.managedConfigurationForUserId The ID of the managed configuration (a product ID), e.g. "app:com.google.android.gm". + * @param {string} params.userId The ID of the user. + * @param {().ManagedConfiguration} 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?: Params$Resource$Managedconfigurationsforuser$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Managedconfigurationsforuser$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Managedconfigurationsforuser$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Managedconfigurationsforuser$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * The ID of the managed configuration (a product ID), e.g. + * "app:com.google.android.gm". + */ + managedConfigurationForUserId?: string; + /** + * The ID of the user. + */ + userId?: string; + } + interface Params$Resource$Managedconfigurationsforuser$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * The ID of the managed configuration (a product ID), e.g. + * "app:com.google.android.gm". + */ + managedConfigurationForUserId?: string; + /** + * The ID of the user. + */ + userId?: string; + } + interface Params$Resource$Managedconfigurationsforuser$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * The ID of the user. + */ + userId?: string; + } + interface Params$Resource$Managedconfigurationsforuser$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * The ID of the managed configuration (a product ID), e.g. + * "app:com.google.android.gm". + */ + managedConfigurationForUserId?: string; + /** + * The ID of the user. + */ + userId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ManagedConfiguration; + } + interface Params$Resource$Managedconfigurationsforuser$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * The ID of the managed configuration (a product ID), e.g. + * "app:com.google.android.gm". + */ + managedConfigurationForUserId?: string; + /** + * The ID of the user. + */ + userId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ManagedConfiguration; + } + class Resource$Managedconfigurationssettings { + root: Androidenterprise; + constructor(root: Androidenterprise); + getRoot(): Androidenterprise; + /** + * androidenterprise.managedconfigurationssettings.list + * @desc Lists all the managed configurations settings for the specified + * app. Only the ID and the name is set. + * @alias androidenterprise.managedconfigurationssettings.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string} params.productId The ID of the product for which the managed configurations settings applies to. + * @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?: Params$Resource$Managedconfigurationssettings$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Managedconfigurationssettings$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Managedconfigurationssettings$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Managedconfigurationssettings$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * The ID of the product for which the managed configurations settings + * applies to. + */ + productId?: string; + } + class Resource$Permissions { + root: Androidenterprise; + constructor(root: Androidenterprise); + getRoot(): Androidenterprise; + /** + * androidenterprise.permissions.get + * @desc Retrieves details of an Android app permission for display to an + * enterprise admin. + * @alias androidenterprise.permissions.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.language The BCP47 tag for the user's preferred language (e.g. "en-US", "de") + * @param {string} params.permissionId The ID of the permission. + * @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?: Params$Resource$Permissions$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Permissions$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Permissions$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Permissions$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The BCP47 tag for the user's preferred language (e.g. "en-US", "de") + */ + language?: string; + /** + * The ID of the permission. + */ + permissionId?: string; + } + class Resource$Products { + root: Androidenterprise; + constructor(root: Androidenterprise); + getRoot(): Androidenterprise; + /** + * androidenterprise.products.approve + * @desc Approves the specified product and the relevant app permissions, if + * any. The maximum number of products that you can approve per enterprise + * customer is 1,000. To learn how to use managed Google Play to design and + * create a store layout to display approved products to your users, see + * Store Layout Design. + * @alias androidenterprise.products.approve + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string} params.productId The ID of the product. + * @param {().ProductsApproveRequest} 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 + */ + approve(params?: Params$Resource$Products$Approve, options?: MethodOptions): AxiosPromise; + approve(params: Params$Resource$Products$Approve, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + approve(params: Params$Resource$Products$Approve, callback: BodyResponseCallback): void; + approve(callback: BodyResponseCallback): void; + /** + * androidenterprise.products.generateApprovalUrl + * @desc Generates a URL that can be rendered in an iframe to display the + * permissions (if any) of a product. An enterprise admin must view these + * permissions and accept them on behalf of their organization in order to + * approve that product. Admins should accept the displayed permissions by + * interacting with a separate UI element in the EMM console, which in turn + * should trigger the use of this URL as the approvalUrlInfo.approvalUrl + * property in a Products.approve call to approve the product. This URL can + * only be used to display permissions for up to 1 day. + * @alias androidenterprise.products.generateApprovalUrl + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string=} params.languageCode The BCP 47 language code used for permission names and descriptions in the returned iframe, for instance "en-US". + * @param {string} params.productId The ID of the product. + * @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 + */ + generateApprovalUrl(params?: Params$Resource$Products$Generateapprovalurl, options?: MethodOptions): AxiosPromise; + generateApprovalUrl(params: Params$Resource$Products$Generateapprovalurl, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + generateApprovalUrl(params: Params$Resource$Products$Generateapprovalurl, callback: BodyResponseCallback): void; + generateApprovalUrl(callback: BodyResponseCallback): void; + /** + * androidenterprise.products.get + * @desc Retrieves details of a product for display to an enterprise admin. + * @alias androidenterprise.products.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string=} params.language The BCP47 tag for the user's preferred language (e.g. "en-US", "de"). + * @param {string} params.productId The ID of the product, e.g. "app:com.google.android.gm". + * @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?: Params$Resource$Products$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Products$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Products$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * androidenterprise.products.getAppRestrictionsSchema + * @desc Retrieves the schema that defines the configurable properties for + * this product. All products have a schema, but this schema may be empty if + * no managed configurations have been defined. This schema can be used to + * populate a UI that allows an admin to configure the product. To apply a + * managed configuration based on the schema obtained using this API, see + * Managed Configurations through Play. + * @alias androidenterprise.products.getAppRestrictionsSchema + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string=} params.language The BCP47 tag for the user's preferred language (e.g. "en-US", "de"). + * @param {string} params.productId The ID of the product. + * @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 + */ + getAppRestrictionsSchema(params?: Params$Resource$Products$Getapprestrictionsschema, options?: MethodOptions): AxiosPromise; + getAppRestrictionsSchema(params: Params$Resource$Products$Getapprestrictionsschema, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getAppRestrictionsSchema(params: Params$Resource$Products$Getapprestrictionsschema, callback: BodyResponseCallback): void; + getAppRestrictionsSchema(callback: BodyResponseCallback): void; + /** + * androidenterprise.products.getPermissions + * @desc Retrieves the Android app permissions required by this app. + * @alias androidenterprise.products.getPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string} params.productId The ID of the product. + * @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 + */ + getPermissions(params?: Params$Resource$Products$Getpermissions, options?: MethodOptions): AxiosPromise; + getPermissions(params: Params$Resource$Products$Getpermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getPermissions(params: Params$Resource$Products$Getpermissions, callback: BodyResponseCallback): void; + getPermissions(callback: BodyResponseCallback): void; + /** + * androidenterprise.products.list + * @desc Finds approved products that match a query, or all approved + * products if there is no query. + * @alias androidenterprise.products.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.approved Specifies whether to search among all products (false) or among only products that have been approved (true). Only "true" is supported, and should be specified. + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string=} params.language The BCP47 tag for the user's preferred language (e.g. "en-US", "de"). Results are returned in the language best matching the preferred language. + * @param {integer=} params.maxResults Specifies the maximum number of products that can be returned per request. If not specified, uses a default value of 100, which is also the maximum retrievable within a single response. + * @param {string=} params.query The search query as typed in the Google Play store search box. If omitted, all approved apps will be returned (using the pagination parameters), including apps that are not available in the store (e.g. unpublished apps). + * @param {string=} params.token A pagination token is contained in a request''s response when there are more products. The token can be used in a subsequent request to obtain more products, and so forth. This parameter cannot be used in the initial request. + * @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?: Params$Resource$Products$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Products$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Products$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * androidenterprise.products.unapprove + * @desc Unapproves the specified product (and the relevant app permissions, + * if any) + * @alias androidenterprise.products.unapprove + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string} params.productId The ID of the product. + * @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 + */ + unapprove(params?: Params$Resource$Products$Unapprove, options?: MethodOptions): AxiosPromise; + unapprove(params: Params$Resource$Products$Unapprove, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + unapprove(params: Params$Resource$Products$Unapprove, callback: BodyResponseCallback): void; + unapprove(callback: BodyResponseCallback): void; + } + interface Params$Resource$Products$Approve { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * The ID of the product. + */ + productId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ProductsApproveRequest; + } + interface Params$Resource$Products$Generateapprovalurl { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * The BCP 47 language code used for permission names and descriptions in + * the returned iframe, for instance "en-US". + */ + languageCode?: string; + /** + * The ID of the product. + */ + productId?: string; + } + interface Params$Resource$Products$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * The BCP47 tag for the user's preferred language (e.g. "en-US", "de"). + */ + language?: string; + /** + * The ID of the product, e.g. "app:com.google.android.gm". + */ + productId?: string; + } + interface Params$Resource$Products$Getapprestrictionsschema { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * The BCP47 tag for the user's preferred language (e.g. "en-US", "de"). + */ + language?: string; + /** + * The ID of the product. + */ + productId?: string; + } + interface Params$Resource$Products$Getpermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * The ID of the product. + */ + productId?: string; + } + interface Params$Resource$Products$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Specifies whether to search among all products (false) or among only + * products that have been approved (true). Only "true" is supported, and + * should be specified. + */ + approved?: boolean; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * The BCP47 tag for the user's preferred language (e.g. "en-US", "de"). + * Results are returned in the language best matching the preferred + * language. + */ + language?: string; + /** + * Specifies the maximum number of products that can be returned per + * request. If not specified, uses a default value of 100, which is also the + * maximum retrievable within a single response. + */ + maxResults?: number; + /** + * The search query as typed in the Google Play store search box. If + * omitted, all approved apps will be returned (using the pagination + * parameters), including apps that are not available in the store (e.g. + * unpublished apps). + */ + query?: string; + /** + * A pagination token is contained in a request''s response when there are + * more products. The token can be used in a subsequent request to obtain + * more products, and so forth. This parameter cannot be used in the initial + * request. + */ + token?: string; + } + interface Params$Resource$Products$Unapprove { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * The ID of the product. + */ + productId?: string; + } + class Resource$Serviceaccountkeys { + root: Androidenterprise; + constructor(root: Androidenterprise); + getRoot(): Androidenterprise; + /** + * androidenterprise.serviceaccountkeys.delete + * @desc Removes and invalidates the specified credentials for the service + * account associated with this enterprise. The calling service account must + * have been retrieved by calling Enterprises.GetServiceAccount and must + * have been set as the enterprise service account by calling + * Enterprises.SetAccount. + * @alias androidenterprise.serviceaccountkeys.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string} params.keyId The ID of the key. + * @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?: Params$Resource$Serviceaccountkeys$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Serviceaccountkeys$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Serviceaccountkeys$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * androidenterprise.serviceaccountkeys.insert + * @desc Generates new credentials for the service account associated with + * this enterprise. The calling service account must have been retrieved by + * calling Enterprises.GetServiceAccount and must have been set as the + * enterprise service account by calling Enterprises.SetAccount. Only the + * type of the key should be populated in the resource to be inserted. + * @alias androidenterprise.serviceaccountkeys.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {().ServiceAccountKey} 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?: Params$Resource$Serviceaccountkeys$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Serviceaccountkeys$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Serviceaccountkeys$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * androidenterprise.serviceaccountkeys.list + * @desc Lists all active credentials for the service account associated + * with this enterprise. Only the ID and key type are returned. The calling + * service account must have been retrieved by calling + * Enterprises.GetServiceAccount and must have been set as the enterprise + * service account by calling Enterprises.SetAccount. + * @alias androidenterprise.serviceaccountkeys.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.enterpriseId The ID of the enterprise. + * @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?: Params$Resource$Serviceaccountkeys$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Serviceaccountkeys$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Serviceaccountkeys$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Serviceaccountkeys$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * The ID of the key. + */ + keyId?: string; + } + interface Params$Resource$Serviceaccountkeys$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ServiceAccountKey; + } + interface Params$Resource$Serviceaccountkeys$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + } + class Resource$Storelayoutclusters { + root: Androidenterprise; + constructor(root: Androidenterprise); + getRoot(): Androidenterprise; + /** + * androidenterprise.storelayoutclusters.delete + * @desc Deletes a cluster. + * @alias androidenterprise.storelayoutclusters.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterId The ID of the cluster. + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string} params.pageId The ID of the page. + * @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?: Params$Resource$Storelayoutclusters$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Storelayoutclusters$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Storelayoutclusters$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * androidenterprise.storelayoutclusters.get + * @desc Retrieves details of a cluster. + * @alias androidenterprise.storelayoutclusters.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterId The ID of the cluster. + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string} params.pageId The ID of the page. + * @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?: Params$Resource$Storelayoutclusters$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Storelayoutclusters$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Storelayoutclusters$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * androidenterprise.storelayoutclusters.insert + * @desc Inserts a new cluster in a page. + * @alias androidenterprise.storelayoutclusters.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string} params.pageId The ID of the page. + * @param {().StoreCluster} 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?: Params$Resource$Storelayoutclusters$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Storelayoutclusters$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Storelayoutclusters$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * androidenterprise.storelayoutclusters.list + * @desc Retrieves the details of all clusters on the specified page. + * @alias androidenterprise.storelayoutclusters.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string} params.pageId The ID of the page. + * @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?: Params$Resource$Storelayoutclusters$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Storelayoutclusters$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Storelayoutclusters$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * androidenterprise.storelayoutclusters.patch + * @desc Updates a cluster. This method supports patch semantics. + * @alias androidenterprise.storelayoutclusters.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterId The ID of the cluster. + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string} params.pageId The ID of the page. + * @param {().StoreCluster} 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 + */ + patch(params?: Params$Resource$Storelayoutclusters$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Storelayoutclusters$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Storelayoutclusters$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * androidenterprise.storelayoutclusters.update + * @desc Updates a cluster. + * @alias androidenterprise.storelayoutclusters.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterId The ID of the cluster. + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string} params.pageId The ID of the page. + * @param {().StoreCluster} 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?: Params$Resource$Storelayoutclusters$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Storelayoutclusters$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Storelayoutclusters$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Storelayoutclusters$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the cluster. + */ + clusterId?: string; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * The ID of the page. + */ + pageId?: string; + } + interface Params$Resource$Storelayoutclusters$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the cluster. + */ + clusterId?: string; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * The ID of the page. + */ + pageId?: string; + } + interface Params$Resource$Storelayoutclusters$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * The ID of the page. + */ + pageId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$StoreCluster; + } + interface Params$Resource$Storelayoutclusters$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * The ID of the page. + */ + pageId?: string; + } + interface Params$Resource$Storelayoutclusters$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the cluster. + */ + clusterId?: string; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * The ID of the page. + */ + pageId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$StoreCluster; + } + interface Params$Resource$Storelayoutclusters$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the cluster. + */ + clusterId?: string; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * The ID of the page. + */ + pageId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$StoreCluster; + } + class Resource$Storelayoutpages { + root: Androidenterprise; + constructor(root: Androidenterprise); + getRoot(): Androidenterprise; + /** + * androidenterprise.storelayoutpages.delete + * @desc Deletes a store page. + * @alias androidenterprise.storelayoutpages.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string} params.pageId The ID of the page. + * @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?: Params$Resource$Storelayoutpages$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Storelayoutpages$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Storelayoutpages$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * androidenterprise.storelayoutpages.get + * @desc Retrieves details of a store page. + * @alias androidenterprise.storelayoutpages.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string} params.pageId The ID of the page. + * @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?: Params$Resource$Storelayoutpages$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Storelayoutpages$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Storelayoutpages$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * androidenterprise.storelayoutpages.insert + * @desc Inserts a new store page. + * @alias androidenterprise.storelayoutpages.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {().StorePage} 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?: Params$Resource$Storelayoutpages$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Storelayoutpages$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Storelayoutpages$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * androidenterprise.storelayoutpages.list + * @desc Retrieves the details of all pages in the store. + * @alias androidenterprise.storelayoutpages.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.enterpriseId The ID of the enterprise. + * @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?: Params$Resource$Storelayoutpages$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Storelayoutpages$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Storelayoutpages$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * androidenterprise.storelayoutpages.patch + * @desc Updates the content of a store page. This method supports patch + * semantics. + * @alias androidenterprise.storelayoutpages.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string} params.pageId The ID of the page. + * @param {().StorePage} 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 + */ + patch(params?: Params$Resource$Storelayoutpages$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Storelayoutpages$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Storelayoutpages$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * androidenterprise.storelayoutpages.update + * @desc Updates the content of a store page. + * @alias androidenterprise.storelayoutpages.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string} params.pageId The ID of the page. + * @param {().StorePage} 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?: Params$Resource$Storelayoutpages$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Storelayoutpages$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Storelayoutpages$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Storelayoutpages$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * The ID of the page. + */ + pageId?: string; + } + interface Params$Resource$Storelayoutpages$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * The ID of the page. + */ + pageId?: string; + } + interface Params$Resource$Storelayoutpages$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$StorePage; + } + interface Params$Resource$Storelayoutpages$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + } + interface Params$Resource$Storelayoutpages$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * The ID of the page. + */ + pageId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$StorePage; + } + interface Params$Resource$Storelayoutpages$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * The ID of the page. + */ + pageId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$StorePage; + } + class Resource$Users { + root: Androidenterprise; + constructor(root: Androidenterprise); + getRoot(): Androidenterprise; + /** + * androidenterprise.users.delete + * @desc Deleted an EMM-managed user. + * @alias androidenterprise.users.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string} params.userId The ID of the user. + * @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?: Params$Resource$Users$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Users$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Users$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * androidenterprise.users.generateAuthenticationToken + * @desc Generates an authentication token which the device policy client + * can use to provision the given EMM-managed user account on a device. The + * generated token is single-use and expires after a few minutes. This call + * only works with EMM-managed accounts. + * @alias androidenterprise.users.generateAuthenticationToken + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string} params.userId The ID of the user. + * @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 + */ + generateAuthenticationToken(params?: Params$Resource$Users$Generateauthenticationtoken, options?: MethodOptions): AxiosPromise; + generateAuthenticationToken(params: Params$Resource$Users$Generateauthenticationtoken, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + generateAuthenticationToken(params: Params$Resource$Users$Generateauthenticationtoken, callback: BodyResponseCallback): void; + generateAuthenticationToken(callback: BodyResponseCallback): void; + /** + * androidenterprise.users.generateToken + * @desc Generates a token (activation code) to allow this user to configure + * their managed account in the Android Setup Wizard. Revokes any previously + * generated token. This call only works with Google managed accounts. + * @alias androidenterprise.users.generateToken + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string} params.userId The ID of the user. + * @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 + */ + generateToken(params?: Params$Resource$Users$Generatetoken, options?: MethodOptions): AxiosPromise; + generateToken(params: Params$Resource$Users$Generatetoken, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + generateToken(params: Params$Resource$Users$Generatetoken, callback: BodyResponseCallback): void; + generateToken(callback: BodyResponseCallback): void; + /** + * androidenterprise.users.get + * @desc Retrieves a user's details. + * @alias androidenterprise.users.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string} params.userId The ID of the user. + * @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?: Params$Resource$Users$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Users$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Users$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * androidenterprise.users.getAvailableProductSet + * @desc Retrieves the set of products a user is entitled to access. + * @alias androidenterprise.users.getAvailableProductSet + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string} params.userId The ID of the user. + * @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 + */ + getAvailableProductSet(params?: Params$Resource$Users$Getavailableproductset, options?: MethodOptions): AxiosPromise; + getAvailableProductSet(params: Params$Resource$Users$Getavailableproductset, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getAvailableProductSet(params: Params$Resource$Users$Getavailableproductset, callback: BodyResponseCallback): void; + getAvailableProductSet(callback: BodyResponseCallback): void; + /** + * androidenterprise.users.insert + * @desc Creates a new EMM-managed user. The Users resource passed in the + * body of the request should include an accountIdentifier and an + * accountType. If a corresponding user already exists with the same account + * identifier, the user will be updated with the resource. In this case only + * the displayName field can be changed. + * @alias androidenterprise.users.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {().User} 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?: Params$Resource$Users$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Users$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Users$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * androidenterprise.users.list + * @desc Looks up a user by primary email address. This is only supported + * for Google-managed users. Lookup of the id is not needed for EMM-managed + * users because the id is already returned in the result of the + * Users.insert call. + * @alias androidenterprise.users.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.email The exact primary email address of the user to look up. + * @param {string} params.enterpriseId The ID of the enterprise. + * @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?: Params$Resource$Users$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Users$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Users$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * androidenterprise.users.patch + * @desc Updates the details of an EMM-managed user. Can be used with + * EMM-managed users only (not Google managed users). Pass the new details + * in the Users resource in the request body. Only the displayName field can + * be changed. Other fields must either be unset or have the currently + * active value. This method supports patch semantics. + * @alias androidenterprise.users.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string} params.userId The ID of the user. + * @param {().User} 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 + */ + patch(params?: Params$Resource$Users$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Users$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Users$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * androidenterprise.users.revokeDeviceAccess + * @desc Revokes access to all devices currently provisioned to the user. + * The user will no longer be able to use the managed Play store on any of + * their managed devices. This call only works with EMM-managed accounts. + * @alias androidenterprise.users.revokeDeviceAccess + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string} params.userId The ID of the user. + * @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 + */ + revokeDeviceAccess(params?: Params$Resource$Users$Revokedeviceaccess, options?: MethodOptions): AxiosPromise; + revokeDeviceAccess(params: Params$Resource$Users$Revokedeviceaccess, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + revokeDeviceAccess(params: Params$Resource$Users$Revokedeviceaccess, callback: BodyResponseCallback): void; + revokeDeviceAccess(callback: BodyResponseCallback): void; + /** + * androidenterprise.users.revokeToken + * @desc Revokes a previously generated token (activation code) for the + * user. + * @alias androidenterprise.users.revokeToken + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string} params.userId The ID of the user. + * @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 + */ + revokeToken(params?: Params$Resource$Users$Revoketoken, options?: MethodOptions): AxiosPromise; + revokeToken(params: Params$Resource$Users$Revoketoken, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + revokeToken(params: Params$Resource$Users$Revoketoken, callback: BodyResponseCallback): void; + revokeToken(callback: BodyResponseCallback): void; + /** + * androidenterprise.users.setAvailableProductSet + * @desc Modifies the set of products that a user is entitled to access + * (referred to as whitelisted products). Only products that are approved or + * products that were previously approved (products with revoked approval) + * can be whitelisted. + * @alias androidenterprise.users.setAvailableProductSet + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string} params.userId The ID of the user. + * @param {().ProductSet} 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 + */ + setAvailableProductSet(params?: Params$Resource$Users$Setavailableproductset, options?: MethodOptions): AxiosPromise; + setAvailableProductSet(params: Params$Resource$Users$Setavailableproductset, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setAvailableProductSet(params: Params$Resource$Users$Setavailableproductset, callback: BodyResponseCallback): void; + setAvailableProductSet(callback: BodyResponseCallback): void; + /** + * androidenterprise.users.update + * @desc Updates the details of an EMM-managed user. Can be used with + * EMM-managed users only (not Google managed users). Pass the new details + * in the Users resource in the request body. Only the displayName field can + * be changed. Other fields must either be unset or have the currently + * active value. + * @alias androidenterprise.users.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.enterpriseId The ID of the enterprise. + * @param {string} params.userId The ID of the user. + * @param {().User} 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?: Params$Resource$Users$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Users$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Users$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Users$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * The ID of the user. + */ + userId?: string; + } + interface Params$Resource$Users$Generateauthenticationtoken { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * The ID of the user. + */ + userId?: string; + } + interface Params$Resource$Users$Generatetoken { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * The ID of the user. + */ + userId?: string; + } + interface Params$Resource$Users$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * The ID of the user. + */ + userId?: string; + } + interface Params$Resource$Users$Getavailableproductset { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * The ID of the user. + */ + userId?: string; + } + interface Params$Resource$Users$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$User; + } + interface Params$Resource$Users$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The exact primary email address of the user to look up. + */ + email?: string; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + } + interface Params$Resource$Users$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * The ID of the user. + */ + userId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$User; + } + interface Params$Resource$Users$Revokedeviceaccess { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * The ID of the user. + */ + userId?: string; + } + interface Params$Resource$Users$Revoketoken { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * The ID of the user. + */ + userId?: string; + } + interface Params$Resource$Users$Setavailableproductset { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * The ID of the user. + */ + userId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ProductSet; + } + interface Params$Resource$Users$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the enterprise. + */ + enterpriseId?: string; + /** + * The ID of the user. + */ + userId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$User; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/androidenterprise/v1.js b/express-server/node_modules/googleapis/build/src/apis/androidenterprise/v1.js new file mode 100644 index 00000000..c124fdd2 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/androidenterprise/v1.js @@ -0,0 +1,2832 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var androidenterprise_v1; +(function (androidenterprise_v1) { + /** + * Google Play EMM API + * + * Manages the deployment of apps to Android for Work users. + * + * @example + * const {google} = require('googleapis'); + * const androidenterprise = google.androidenterprise('v1'); + * + * @namespace androidenterprise + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Androidenterprise + */ + class Androidenterprise { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.devices = new Resource$Devices(this); + this.enterprises = new Resource$Enterprises(this); + this.entitlements = new Resource$Entitlements(this); + this.grouplicenses = new Resource$Grouplicenses(this); + this.grouplicenseusers = new Resource$Grouplicenseusers(this); + this.installs = new Resource$Installs(this); + this.managedconfigurationsfordevice = + new Resource$Managedconfigurationsfordevice(this); + this.managedconfigurationsforuser = + new Resource$Managedconfigurationsforuser(this); + this.managedconfigurationssettings = + new Resource$Managedconfigurationssettings(this); + this.permissions = new Resource$Permissions(this); + this.products = new Resource$Products(this); + this.serviceaccountkeys = new Resource$Serviceaccountkeys(this); + this.storelayoutclusters = new Resource$Storelayoutclusters(this); + this.storelayoutpages = new Resource$Storelayoutpages(this); + this.users = new Resource$Users(this); + } + getRoot() { + return this.root; + } + } + androidenterprise_v1.Androidenterprise = Androidenterprise; + class Resource$Devices { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['enterpriseId', 'userId', 'deviceId'], + pathParams: ['deviceId', 'enterpriseId', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getState(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/state') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['enterpriseId', 'userId', 'deviceId'], + pathParams: ['deviceId', 'enterpriseId', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['enterpriseId', 'userId'], + pathParams: ['enterpriseId', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['enterpriseId', 'userId', 'deviceId'], + pathParams: ['deviceId', 'enterpriseId', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setState(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/state') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['enterpriseId', 'userId', 'deviceId'], + pathParams: ['deviceId', 'enterpriseId', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['enterpriseId', 'userId', 'deviceId'], + pathParams: ['deviceId', 'enterpriseId', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidenterprise_v1.Resource$Devices = Resource$Devices; + class Resource$Enterprises { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + acknowledgeNotificationSet(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/acknowledgeNotificationSet') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + completeSignup(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/androidenterprise/v1/enterprises/completeSignup') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + createWebToken(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/createWebToken') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['enterpriseId'], + pathParams: ['enterpriseId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + enroll(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/androidenterprise/v1/enterprises/enroll') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['token'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + generateSignupUrl(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/androidenterprise/v1/enterprises/signupUrl') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/androidenterprise/v1/enterprises/{enterpriseId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['enterpriseId'], + pathParams: ['enterpriseId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getAndroidDevicePolicyConfig(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/androidDevicePolicyConfig') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['enterpriseId'], + pathParams: ['enterpriseId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getServiceAccount(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/serviceAccount') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['enterpriseId'], + pathParams: ['enterpriseId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getStoreLayout(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/storeLayout') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['enterpriseId'], + pathParams: ['enterpriseId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/androidenterprise/v1/enterprises') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['domain'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + pullNotificationSet(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/pullNotificationSet') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + sendTestPushNotification(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/sendTestPushNotification') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['enterpriseId'], + pathParams: ['enterpriseId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setAccount(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/account') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['enterpriseId'], + pathParams: ['enterpriseId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setAndroidDevicePolicyConfig(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/androidDevicePolicyConfig') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['enterpriseId'], + pathParams: ['enterpriseId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setStoreLayout(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/storeLayout') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['enterpriseId'], + pathParams: ['enterpriseId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + unenroll(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/unenroll') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['enterpriseId'], + pathParams: ['enterpriseId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidenterprise_v1.Resource$Enterprises = Resource$Enterprises; + class Resource$Entitlements { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/entitlements/{entitlementId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['enterpriseId', 'userId', 'entitlementId'], + pathParams: ['enterpriseId', 'entitlementId', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/entitlements/{entitlementId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['enterpriseId', 'userId', 'entitlementId'], + pathParams: ['enterpriseId', 'entitlementId', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/entitlements') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['enterpriseId', 'userId'], + pathParams: ['enterpriseId', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/entitlements/{entitlementId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['enterpriseId', 'userId', 'entitlementId'], + pathParams: ['enterpriseId', 'entitlementId', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/entitlements/{entitlementId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['enterpriseId', 'userId', 'entitlementId'], + pathParams: ['enterpriseId', 'entitlementId', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidenterprise_v1.Resource$Entitlements = Resource$Entitlements; + class Resource$Grouplicenses { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/groupLicenses/{groupLicenseId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['enterpriseId', 'groupLicenseId'], + pathParams: ['enterpriseId', 'groupLicenseId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/groupLicenses') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['enterpriseId'], + pathParams: ['enterpriseId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidenterprise_v1.Resource$Grouplicenses = Resource$Grouplicenses; + class Resource$Grouplicenseusers { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/groupLicenses/{groupLicenseId}/users') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['enterpriseId', 'groupLicenseId'], + pathParams: ['enterpriseId', 'groupLicenseId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidenterprise_v1.Resource$Grouplicenseusers = Resource$Grouplicenseusers; + class Resource$Installs { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/installs/{installId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['enterpriseId', 'userId', 'deviceId', 'installId'], + pathParams: ['deviceId', 'enterpriseId', 'installId', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/installs/{installId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['enterpriseId', 'userId', 'deviceId', 'installId'], + pathParams: ['deviceId', 'enterpriseId', 'installId', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/installs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['enterpriseId', 'userId', 'deviceId'], + pathParams: ['deviceId', 'enterpriseId', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/installs/{installId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['enterpriseId', 'userId', 'deviceId', 'installId'], + pathParams: ['deviceId', 'enterpriseId', 'installId', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/installs/{installId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['enterpriseId', 'userId', 'deviceId', 'installId'], + pathParams: ['deviceId', 'enterpriseId', 'installId', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidenterprise_v1.Resource$Installs = Resource$Installs; + class Resource$Managedconfigurationsfordevice { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/managedConfigurationsForDevice/{managedConfigurationForDeviceId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: [ + 'enterpriseId', 'userId', 'deviceId', + 'managedConfigurationForDeviceId' + ], + pathParams: [ + 'deviceId', 'enterpriseId', 'managedConfigurationForDeviceId', + 'userId' + ], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/managedConfigurationsForDevice/{managedConfigurationForDeviceId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [ + 'enterpriseId', 'userId', 'deviceId', + 'managedConfigurationForDeviceId' + ], + pathParams: [ + 'deviceId', 'enterpriseId', 'managedConfigurationForDeviceId', + 'userId' + ], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/managedConfigurationsForDevice') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['enterpriseId', 'userId', 'deviceId'], + pathParams: ['deviceId', 'enterpriseId', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/managedConfigurationsForDevice/{managedConfigurationForDeviceId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: [ + 'enterpriseId', 'userId', 'deviceId', + 'managedConfigurationForDeviceId' + ], + pathParams: [ + 'deviceId', 'enterpriseId', 'managedConfigurationForDeviceId', + 'userId' + ], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/managedConfigurationsForDevice/{managedConfigurationForDeviceId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: [ + 'enterpriseId', 'userId', 'deviceId', + 'managedConfigurationForDeviceId' + ], + pathParams: [ + 'deviceId', 'enterpriseId', 'managedConfigurationForDeviceId', + 'userId' + ], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidenterprise_v1.Resource$Managedconfigurationsfordevice = Resource$Managedconfigurationsfordevice; + class Resource$Managedconfigurationsforuser { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/managedConfigurationsForUser/{managedConfigurationForUserId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['enterpriseId', 'userId', 'managedConfigurationForUserId'], + pathParams: ['enterpriseId', 'managedConfigurationForUserId', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/managedConfigurationsForUser/{managedConfigurationForUserId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['enterpriseId', 'userId', 'managedConfigurationForUserId'], + pathParams: ['enterpriseId', 'managedConfigurationForUserId', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/managedConfigurationsForUser') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['enterpriseId', 'userId'], + pathParams: ['enterpriseId', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/managedConfigurationsForUser/{managedConfigurationForUserId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['enterpriseId', 'userId', 'managedConfigurationForUserId'], + pathParams: ['enterpriseId', 'managedConfigurationForUserId', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/managedConfigurationsForUser/{managedConfigurationForUserId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['enterpriseId', 'userId', 'managedConfigurationForUserId'], + pathParams: ['enterpriseId', 'managedConfigurationForUserId', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidenterprise_v1.Resource$Managedconfigurationsforuser = Resource$Managedconfigurationsforuser; + class Resource$Managedconfigurationssettings { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/products/{productId}/managedConfigurationsSettings') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['enterpriseId', 'productId'], + pathParams: ['enterpriseId', 'productId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidenterprise_v1.Resource$Managedconfigurationssettings = Resource$Managedconfigurationssettings; + class Resource$Permissions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/androidenterprise/v1/permissions/{permissionId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['permissionId'], + pathParams: ['permissionId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidenterprise_v1.Resource$Permissions = Resource$Permissions; + class Resource$Products { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + approve(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/products/{productId}/approve') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['enterpriseId', 'productId'], + pathParams: ['enterpriseId', 'productId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + generateApprovalUrl(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/products/{productId}/generateApprovalUrl') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['enterpriseId', 'productId'], + pathParams: ['enterpriseId', 'productId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/products/{productId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['enterpriseId', 'productId'], + pathParams: ['enterpriseId', 'productId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getAppRestrictionsSchema(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/products/{productId}/appRestrictionsSchema') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['enterpriseId', 'productId'], + pathParams: ['enterpriseId', 'productId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/products/{productId}/permissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['enterpriseId', 'productId'], + pathParams: ['enterpriseId', 'productId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/products') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['enterpriseId'], + pathParams: ['enterpriseId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + unapprove(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/products/{productId}/unapprove') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['enterpriseId', 'productId'], + pathParams: ['enterpriseId', 'productId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidenterprise_v1.Resource$Products = Resource$Products; + class Resource$Serviceaccountkeys { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/serviceAccountKeys/{keyId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['enterpriseId', 'keyId'], + pathParams: ['enterpriseId', 'keyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/serviceAccountKeys') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['enterpriseId'], + pathParams: ['enterpriseId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/serviceAccountKeys') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['enterpriseId'], + pathParams: ['enterpriseId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidenterprise_v1.Resource$Serviceaccountkeys = Resource$Serviceaccountkeys; + class Resource$Storelayoutclusters { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/storeLayout/pages/{pageId}/clusters/{clusterId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['enterpriseId', 'pageId', 'clusterId'], + pathParams: ['clusterId', 'enterpriseId', 'pageId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/storeLayout/pages/{pageId}/clusters/{clusterId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['enterpriseId', 'pageId', 'clusterId'], + pathParams: ['clusterId', 'enterpriseId', 'pageId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/storeLayout/pages/{pageId}/clusters') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['enterpriseId', 'pageId'], + pathParams: ['enterpriseId', 'pageId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/storeLayout/pages/{pageId}/clusters') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['enterpriseId', 'pageId'], + pathParams: ['enterpriseId', 'pageId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/storeLayout/pages/{pageId}/clusters/{clusterId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['enterpriseId', 'pageId', 'clusterId'], + pathParams: ['clusterId', 'enterpriseId', 'pageId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/storeLayout/pages/{pageId}/clusters/{clusterId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['enterpriseId', 'pageId', 'clusterId'], + pathParams: ['clusterId', 'enterpriseId', 'pageId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidenterprise_v1.Resource$Storelayoutclusters = Resource$Storelayoutclusters; + class Resource$Storelayoutpages { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/storeLayout/pages/{pageId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['enterpriseId', 'pageId'], + pathParams: ['enterpriseId', 'pageId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/storeLayout/pages/{pageId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['enterpriseId', 'pageId'], + pathParams: ['enterpriseId', 'pageId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/storeLayout/pages') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['enterpriseId'], + pathParams: ['enterpriseId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/storeLayout/pages') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['enterpriseId'], + pathParams: ['enterpriseId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/storeLayout/pages/{pageId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['enterpriseId', 'pageId'], + pathParams: ['enterpriseId', 'pageId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/storeLayout/pages/{pageId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['enterpriseId', 'pageId'], + pathParams: ['enterpriseId', 'pageId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidenterprise_v1.Resource$Storelayoutpages = Resource$Storelayoutpages; + class Resource$Users { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['enterpriseId', 'userId'], + pathParams: ['enterpriseId', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + generateAuthenticationToken(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/authenticationToken') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['enterpriseId', 'userId'], + pathParams: ['enterpriseId', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + generateToken(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/token') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['enterpriseId', 'userId'], + pathParams: ['enterpriseId', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['enterpriseId', 'userId'], + pathParams: ['enterpriseId', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getAvailableProductSet(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/availableProductSet') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['enterpriseId', 'userId'], + pathParams: ['enterpriseId', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/users') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['enterpriseId'], + pathParams: ['enterpriseId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/users') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['enterpriseId', 'email'], + pathParams: ['enterpriseId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['enterpriseId', 'userId'], + pathParams: ['enterpriseId', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + revokeDeviceAccess(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/deviceAccess') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['enterpriseId', 'userId'], + pathParams: ['enterpriseId', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + revokeToken(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/token') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['enterpriseId', 'userId'], + pathParams: ['enterpriseId', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setAvailableProductSet(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/availableProductSet') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['enterpriseId', 'userId'], + pathParams: ['enterpriseId', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['enterpriseId', 'userId'], + pathParams: ['enterpriseId', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidenterprise_v1.Resource$Users = Resource$Users; +})(androidenterprise_v1 = exports.androidenterprise_v1 || (exports.androidenterprise_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/androidenterprise/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/androidenterprise/v1.js.map new file mode 100644 index 00000000..18f05937 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/androidenterprise/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/androidenterprise/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/androidmanagement/README.md b/express-server/node_modules/googleapis/build/src/apis/androidmanagement/README.md new file mode 100644 index 00000000..0ba3c223 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/androidmanagement/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/androidmanagement + +> The Android Management API provides remote enterprise management of Android devices and apps. + +## Installation + +```sh +$ npm install @google/androidmanagement +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/androidmanagement/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/androidmanagement/index.d.ts new file mode 100644 index 00000000..4c64d456 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/androidmanagement/index.d.ts @@ -0,0 +1,6 @@ +import { androidmanagement_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof androidmanagement_v1.Androidmanagement; +}; +export declare function androidmanagement(version: 'v1'): androidmanagement_v1.Androidmanagement; +export declare function androidmanagement(options: androidmanagement_v1.Options): androidmanagement_v1.Androidmanagement; diff --git a/express-server/node_modules/googleapis/build/src/apis/androidmanagement/index.js b/express-server/node_modules/googleapis/build/src/apis/androidmanagement/index.js new file mode 100644 index 00000000..1b106600 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/androidmanagement/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.androidmanagement_v1.Androidmanagement, +}; +function androidmanagement(versionOrOptions) { + return googleapis_common_1.getAPI('androidmanagement', versionOrOptions, exports.VERSIONS, this); +} +exports.androidmanagement = androidmanagement; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/androidmanagement/index.js.map b/express-server/node_modules/googleapis/build/src/apis/androidmanagement/index.js.map new file mode 100644 index 00000000..aab067eb --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/androidmanagement/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/androidmanagement/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAA0C;AAE7B,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,yBAAoB,CAAC,iBAAiB;CAC7C,CAAC;AAMF,SAAgB,iBAAiB,CAE7B,gBAAmD;IACrD,OAAO,0BAAM,CAAI,mBAAmB,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAC1E,CAAC;AAJD,8CAIC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/androidmanagement/package.json b/express-server/node_modules/googleapis/build/src/apis/androidmanagement/package.json new file mode 100644 index 00000000..e1e7505f --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/androidmanagement/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/androidmanagement", + "version": "0.1.0", + "description": "androidmanagement", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/androidmanagement/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/androidmanagement/v1.d.ts new file mode 100644 index 00000000..40f82173 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/androidmanagement/v1.d.ts @@ -0,0 +1,2574 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace androidmanagement_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Android Management API + * + * The Android Management API provides remote enterprise management of Android + * devices and apps. + * + * @example + * const {google} = require('googleapis'); + * const androidmanagement = google.androidmanagement('v1'); + * + * @namespace androidmanagement + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Androidmanagement + */ + class Androidmanagement { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + enterprises: Resource$Enterprises; + signupUrls: Resource$Signupurls; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Configuration for an always-on VPN connection. + */ + interface Schema$AlwaysOnVpnPackage { + /** + * Disallows networking when the VPN is not connected. + */ + lockdownEnabled?: boolean; + /** + * The package name of the VPN app. + */ + packageName?: string; + } + /** + * A compliance rule condition which is satisfied if the Android Framework API + * level on the device doesn't meet a minimum requirement. There can only + * be one rule with this type of condition per policy. + */ + interface Schema$ApiLevelCondition { + /** + * The minimum desired Android Framework API level. If the device + * doesn't meet the minimum requirement, this condition is satisfied. + * Must be greater than zero. + */ + minApiLevel?: number; + } + /** + * Information about an app. + */ + interface Schema$Application { + /** + * The set of managed properties available to be pre-configured for the app. + */ + managedProperties?: Schema$ManagedProperty[]; + /** + * The name of the app in the form + * enterprises/{enterpriseId}/applications/{package_name}. + */ + name?: string; + /** + * The permissions required by the app. + */ + permissions?: Schema$ApplicationPermission[]; + /** + * The title of the app. Localized. + */ + title?: string; + } + /** + * An app-related event. + */ + interface Schema$ApplicationEvent { + /** + * The creation time of the event. + */ + createTime?: string; + /** + * App event type. + */ + eventType?: string; + } + /** + * A permission required by the app. + */ + interface Schema$ApplicationPermission { + /** + * A longer description of the permission, providing more detail on what it + * affects. Localized. + */ + description?: string; + /** + * The name of the permission. Localized. + */ + name?: string; + /** + * An opaque string uniquely identifying the permission. Not localized. + */ + permissionId?: string; + } + /** + * Policy for an individual app. + */ + interface Schema$ApplicationPolicy { + /** + * The default policy for all permissions requested by the app. If + * specified, this overrides the policy-level default_permission_policy + * which applies to all apps. It does not override the permission_grants + * which applies to all apps. + */ + defaultPermissionPolicy?: string; + /** + * The scopes delegated to the app from Android Device Policy. + */ + delegatedScopes?: string[]; + /** + * Whether the app is disabled. When disabled, the app data is still + * preserved. + */ + disabled?: boolean; + /** + * The type of installation to perform. + */ + installType?: string; + /** + * Whether the app is allowed to lock itself in full-screen mode. + */ + lockTaskAllowed?: boolean; + /** + * Managed configuration applied to the app. The format for the + * configuration is dictated by the ManagedProperty values supported by the + * app. Each field name in the managed configuration must match the key + * field of the ManagedProperty. The field value must be compatible with the + * type of the ManagedProperty: <table> + * <tr><td><i>type</i></td><td><i>JSON + * value</i></td></tr> + * <tr><td>BOOL</td><td>true or + * false</td></tr> + * <tr><td>STRING</td><td>string</td></tr> + * <tr><td>INTEGER</td><td>number</td></tr> + * <tr><td>CHOICE</td><td>string</td></tr> + * <tr><td>MULTISELECT</td><td>array of + * strings</td></tr> + * <tr><td>HIDDEN</td><td>string</td></tr> + * <tr><td>BUNDLE_ARRAY</td><td>array of + * objects</td></tr> </table> + */ + managedConfiguration?: any; + /** + * The minimum version of the app that runs on the device. If set, the + * device attempts to update the app to at least this version code. If the + * app is not up-to-date, the device will contain a NonComplianceDetail with + * non_compliance_reason set to APP_NOT_UPDATED. The app must already be + * published to Google Play with a version code greater than or equal to + * this value. At most 20 apps may specify a minimum version code per + * policy. + */ + minimumVersionCode?: number; + /** + * The package name of the app. For example, com.google.android.youtube for + * the YouTube app. + */ + packageName?: string; + /** + * Explicit permission grants or denials for the app. These values override + * the default_permission_policy and permission_grants which apply to all + * apps. + */ + permissionGrants?: Schema$PermissionGrant[]; + } + /** + * Information reported about an installed app. + */ + interface Schema$ApplicationReport { + /** + * The source of the package. + */ + applicationSource?: string; + /** + * The display name of the app. + */ + displayName?: string; + /** + * List of app events. The most recent 20 events are stored in the list. + */ + events?: Schema$ApplicationEvent[]; + /** + * The package name of the app that installed this app. + */ + installerPackageName?: string; + /** + * Package name of the app. + */ + packageName?: string; + /** + * The SHA-256 hash of the app's APK file, which can be used to verify + * the app hasn't been modified. Each byte of the hash value is + * represented as a two-digit hexadecimal number. + */ + packageSha256Hash?: string; + /** + * The SHA-1 hash of each android.content.pm.Signature + * (https://developer.android.com/reference/android/content/pm/Signature.html) + * associated with the app package. Each byte of each hash value is + * represented as a two-digit hexadecimal number. + */ + signingKeyCertFingerprints?: string[]; + /** + * Application state. + */ + state?: string; + /** + * The app version code, which can be used to determine whether one version + * is more recent than another. + */ + versionCode?: number; + /** + * The app version as displayed to the user. + */ + versionName?: string; + } + /** + * A rule for automatically choosing a private key and certificate to + * authenticate the device to a server. + */ + interface Schema$ChoosePrivateKeyRule { + /** + * The package names for which outgoing requests are subject to this rule. + * If no package names are specified, then the rule applies to all packages. + * For each package name listed, the rule applies to that package and all + * other packages that shared the same Android UID. The SHA256 hash of the + * signing key signatures of each package_name will be verified against + * those provided by Play + */ + packageNames?: string[]; + /** + * The alias of the private key to be used. + */ + privateKeyAlias?: string; + /** + * The URL pattern to match against the URL of the outgoing request. The + * pattern may contain asterisk (*) wildcards. Any URL is matched if + * unspecified. + */ + urlPattern?: string; + } + /** + * A command. + */ + interface Schema$Command { + /** + * The timestamp at which the command was created. The timestamp is + * automatically generated by the server. + */ + createTime?: string; + /** + * The duration for which the command is valid. The command will expire if + * not executed by the device during this time. The default duration if + * unspecified is ten minutes. There is no maximum duration. + */ + duration?: string; + /** + * If the command failed, an error code explaining the failure. This is not + * set when the command is cancelled by the caller. + */ + errorCode?: string; + /** + * For commands of type RESET_PASSWORD, optionally specifies the new + * password. + */ + newPassword?: string; + /** + * For commands of type RESET_PASSWORD, optionally specifies flags. + */ + resetPasswordFlags?: string[]; + /** + * The type of the command. + */ + type?: string; + /** + * The resource name of the user that owns the device in the form + * enterprises/{enterpriseId}/users/{userId}. This is automatically + * generated by the server based on the device the command is sent to. + */ + userName?: string; + } + /** + * A rule declaring which mitigating actions to take when a device is not + * compliant with its policy. For every rule, there is always an implicit + * mitigating action to set policy_compliant to false for the Device resource, + * and display a message on the device indicating that the device is not + * compliant with its policy. Other mitigating actions may optionally be taken + * as well, depending on the field values in the rule. + */ + interface Schema$ComplianceRule { + /** + * A condition which is satisfied if the Android Framework API level on the + * device doesn't meet a minimum requirement. + */ + apiLevelCondition?: Schema$ApiLevelCondition; + /** + * If set to true, the rule includes a mitigating action to disable apps so + * that the device is effectively disabled, but app data is preserved. If + * the device is running an app in locked task mode, the app will be closed + * and a UI showing the reason for non-compliance will be displayed. + */ + disableApps?: boolean; + /** + * A condition which is satisfied if there exists any matching + * NonComplianceDetail for the device. + */ + nonComplianceDetailCondition?: Schema$NonComplianceDetailCondition; + /** + * If set, the rule includes a mitigating action to disable apps specified + * in the list, but app data is preserved. + */ + packageNamesToDisable?: string[]; + } + /** + * A device owned by an enterprise. Unless otherwise noted, all fields are + * read-only and can't be modified by enterprises.devices.patch. + */ + interface Schema$Device { + /** + * The API level of the Android platform version running on the device. + */ + apiLevel?: number; + /** + * Reports for apps installed on the device. This information is only + * available when application_reports_enabled is true in the device's + * policy. + */ + applicationReports?: Schema$ApplicationReport[]; + /** + * The name of the policy currently applied to the device. + */ + appliedPolicyName?: string; + /** + * The version of the policy currently applied to the device. + */ + appliedPolicyVersion?: string; + /** + * The state currently applied to the device. + */ + appliedState?: string; + /** + * Device settings information. This information is only available if + * deviceSettingsEnabled is true in the device's policy. + */ + deviceSettings?: Schema$DeviceSettings; + /** + * If the device state is DISABLED, an optional message that is displayed on + * the device indicating the reason the device is disabled. This field can + * be modified by a patch request. + */ + disabledReason?: Schema$UserFacingMessage; + /** + * Detailed information about displays on the device. This information is + * only available if displayInfoEnabled is true in the device's policy. + */ + displays?: Schema$Display[]; + /** + * The time of device enrollment. + */ + enrollmentTime?: string; + /** + * If the device was enrolled with an enrollment token with additional data + * provided, this field contains that data. + */ + enrollmentTokenData?: string; + /** + * If the device was enrolled with an enrollment token, this field contains + * the name of the token. + */ + enrollmentTokenName?: string; + /** + * Detailed information about the device hardware. + */ + hardwareInfo?: Schema$HardwareInfo; + /** + * Hardware status samples in chronological order. This information is only + * available if hardwareStatusEnabled is true in the device's policy. + */ + hardwareStatusSamples?: Schema$HardwareStatus[]; + /** + * Deprecated. + */ + lastPolicyComplianceReportTime?: string; + /** + * The last time the device fetched its policy. + */ + lastPolicySyncTime?: string; + /** + * The last time the device sent a status report. + */ + lastStatusReportTime?: string; + /** + * The type of management mode Android Device Policy takes on the device. + * This influences which policy settings are supported. + */ + managementMode?: string; + /** + * Events related to memory and storage measurements in chronological order. + * This information is only available if memoryInfoEnabled is true in the + * device's policy. + */ + memoryEvents?: Schema$MemoryEvent[]; + /** + * Memory information. This information is only available if + * memoryInfoEnabled is true in the device's policy. + */ + memoryInfo?: Schema$MemoryInfo; + /** + * The name of the device in the form + * enterprises/{enterpriseId}/devices/{deviceId}. + */ + name?: string; + /** + * Device network information. This information is only available if + * networkInfoEnabled is true in the device's policy. + */ + networkInfo?: Schema$NetworkInfo; + /** + * Details about policy settings that the device is not compliant with. + */ + nonComplianceDetails?: Schema$NonComplianceDetail[]; + /** + * Whether the device is compliant with its policy. + */ + policyCompliant?: boolean; + /** + * The name of the policy applied to the device, in the form + * enterprises/{enterpriseId}/policies/{policyId}. If not specified, the + * policy_name for the device's user is applied. This field can be + * modified by a patch request. You can specify only the policyId when + * calling enterprises.devices.patch, as long as the policyId doesn’t + * contain any slashes. The rest of the policy name is inferred. + */ + policyName?: string; + /** + * Power management events on the device in chronological order. This + * information is only available if powerManagementEventsEnabled is true in + * the device's policy. + */ + powerManagementEvents?: Schema$PowerManagementEvent[]; + /** + * If the same physical device has been enrolled multiple times, this field + * contains its previous device names. The serial number is used as the + * unique identifier to determine if the same physical device has enrolled + * previously. The names are in chronological order. + */ + previousDeviceNames?: string[]; + /** + * Detailed information about the device software. This information is only + * available if softwareInfoEnabled is true in the device's policy. + */ + softwareInfo?: Schema$SoftwareInfo; + /** + * The state to be applied to the device. This field can be modified by a + * patch request. Note that when calling enterprises.devices.patch, ACTIVE + * and DISABLED are the only allowable values. To enter the device into a + * DELETED state, call enterprises.devices.delete. + */ + state?: string; + /** + * The user who owns the device. + */ + user?: Schema$User; + /** + * The resource name of the user that owns this device in the form + * enterprises/{enterpriseId}/users/{userId}. + */ + userName?: string; + } + /** + * Information about security related device settings on device. + */ + interface Schema$DeviceSettings { + /** + * Whether ADB (https://developer.android.com/studio/command-line/adb.html) + * is enabled on the device. + */ + adbEnabled?: boolean; + /** + * Whether developer mode is enabled on the device. + */ + developmentSettingsEnabled?: boolean; + /** + * Encryption status from DevicePolicyManager. + */ + encryptionStatus?: string; + /** + * Whether the device is secured with PIN/password. + */ + isDeviceSecure?: boolean; + /** + * Whether the storage encryption is enabled. + */ + isEncrypted?: boolean; + /** + * Whether installing apps from unknown sources is enabled. + */ + unknownSourcesEnabled?: boolean; + /** + * Whether Verify Apps (Google Play Protect + * (https://support.google.com/googleplay/answer/2812853)) is enabled on the + * device. + */ + verifyAppsEnabled?: boolean; + } + /** + * Device display information. + */ + interface Schema$Display { + /** + * Display density expressed as dots-per-inch. + */ + density?: number; + /** + * Unique display id. + */ + displayId?: number; + /** + * Display height in pixels. + */ + height?: number; + /** + * Name of the display. + */ + name?: string; + /** + * Refresh rate of the display in frames per second. + */ + refreshRate?: number; + /** + * State of the display. + */ + state?: string; + /** + * Display width in pixels. + */ + width?: number; + } + /** + * 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); } The JSON + * representation for Empty is empty JSON object {}. + */ + interface Schema$Empty { + } + /** + * An enrollment token. + */ + interface Schema$EnrollmentToken { + /** + * Optional, arbitrary data associated with the enrollment token. This could + * contain, for example, the ID of an org unit the device is assigned to + * after enrollment. After a device enrolls with the token, this data will + * be exposed in the enrollment_token_data field of the Device resource. The + * data must be 1024 characters or less; otherwise, the creation request + * will fail. + */ + additionalData?: string; + /** + * The length of time the enrollment token is valid, ranging from 1 minute + * to 30 days. If not specified, the default duration is 1 hour. + */ + duration?: string; + /** + * The expiration time of the token. This is a read-only field generated by + * the server. + */ + expirationTimestamp?: string; + /** + * The name of the enrollment token, which is generated by the server during + * creation, in the form + * enterprises/{enterpriseId}/enrollmentTokens/{enrollmentTokenId}. + */ + name?: string; + /** + * Whether the enrollment token is for one time use only. If the flag is set + * to true, only one device can use it for registration. + */ + oneTimeOnly?: boolean; + /** + * The name of the policy initially applied to the enrolled device, in the + * form enterprises/{enterpriseId}/policies/{policyId}. If not specified, + * the policy_name for the device’s user is applied. If user_name is also + * not specified, enterprises/{enterpriseId}/policies/default is applied by + * default. When updating this field, you can specify only the policyId as + * long as the policyId doesn’t contain any slashes. The rest of the policy + * name will be inferred. + */ + policyName?: string; + /** + * A JSON string whose UTF-8 representation can be used to generate a QR + * code to enroll a device with this enrollment token. To enroll a device + * using NFC, the NFC record must contain a serialized java.util.Properties + * representation of the properties in the JSON. + */ + qrCode?: string; + /** + * The user associated with this enrollment token. If it's specified + * when the enrollment token is created and the user does not exist, the + * user will be created. This field must not contain personally identifiable + * information. Only the account_identifier field needs to be set. + */ + user?: Schema$User; + /** + * The token value that's passed to the device and authorizes the device + * to enroll. This is a read-only field generated by the server. + */ + value?: string; + } + /** + * The configuration applied to an enterprise. + */ + interface Schema$Enterprise { + /** + * Deprecated and unused. + */ + appAutoApprovalEnabled?: boolean; + /** + * The types of Google Pub/Sub notifications enabled for the enterprise. + */ + enabledNotificationTypes?: string[]; + /** + * The name of the enterprise displayed to users. + */ + enterpriseDisplayName?: string; + /** + * An image displayed as a logo during device provisioning. Supported types + * are: image/bmp, image/gif, image/x-ico, image/jpeg, image/png, + * image/webp, image/vnd.wap.wbmp, image/x-adobe-dng. + */ + logo?: Schema$ExternalData; + /** + * The name of the enterprise which is generated by the server during + * creation, in the form enterprises/{enterpriseId}. + */ + name?: string; + /** + * A color in RGB format that indicates the predominant color to display in + * the device management app UI. The color components are stored as follows: + * (red << 16) | (green << 8) | blue, where the value of each + * component is between 0 and 255, inclusive. + */ + primaryColor?: number; + /** + * The topic that Cloud Pub/Sub notifications are published to, in the form + * projects/{project}/topics/{topic}. This field is only required if Pub/Sub + * notifications are enabled. + */ + pubsubTopic?: string; + /** + * Terms and conditions that must be accepted when provisioning a device for + * this enterprise. A page of terms is generated for each value in this + * list. + */ + termsAndConditions?: Schema$TermsAndConditions[]; + } + /** + * Data hosted at an external location. The data is to be downloaded by + * Android Device Policy and verified against the hash. + */ + interface Schema$ExternalData { + /** + * The base-64 encoded SHA-256 hash of the content hosted at url. If the + * content doesn't match this hash, Android Device Policy won't use + * the data. + */ + sha256Hash?: string; + /** + * The absolute URL to the data, which must use either the http or https + * scheme. Android Device Policy doesn't provide any credentials in the + * GET request, so the URL must be publicly accessible. Including a long, + * random component in the URL may be used to prevent attackers from + * discovering the URL. + */ + url?: string; + } + /** + * Information about device hardware. The fields related to temperature + * thresholds are only available if hardwareStatusEnabled is true in the + * device's policy. + */ + interface Schema$HardwareInfo { + /** + * Battery shutdown temperature thresholds in Celsius for each battery on + * the device. + */ + batteryShutdownTemperatures?: number[]; + /** + * Battery throttling temperature thresholds in Celsius for each battery on + * the device. + */ + batteryThrottlingTemperatures?: number[]; + /** + * Brand of the device. For example, Google. + */ + brand?: string; + /** + * CPU shutdown temperature thresholds in Celsius for each CPU on the + * device. + */ + cpuShutdownTemperatures?: number[]; + /** + * CPU throttling temperature thresholds in Celsius for each CPU on the + * device. + */ + cpuThrottlingTemperatures?: number[]; + /** + * Baseband version. For example, MDM9625_104662.22.05.34p. + */ + deviceBasebandVersion?: string; + /** + * GPU shutdown temperature thresholds in Celsius for each GPU on the + * device. + */ + gpuShutdownTemperatures?: number[]; + /** + * GPU throttling temperature thresholds in Celsius for each GPU on the + * device. + */ + gpuThrottlingTemperatures?: number[]; + /** + * Name of the hardware. For example, Angler. + */ + hardware?: string; + /** + * Manufacturer. For example, Motorola. + */ + manufacturer?: string; + /** + * The model of the device. For example, Asus Nexus 7. + */ + model?: string; + /** + * The device serial number. + */ + serialNumber?: string; + /** + * Device skin shutdown temperature thresholds in Celsius. + */ + skinShutdownTemperatures?: number[]; + /** + * Device skin throttling temperature thresholds in Celsius. + */ + skinThrottlingTemperatures?: number[]; + } + /** + * Hardware status. Temperatures may be compared to the temperature thresholds + * available in hardwareInfo to determine hardware health. + */ + interface Schema$HardwareStatus { + /** + * Current battery temperatures in Celsius for each battery on the device. + */ + batteryTemperatures?: number[]; + /** + * Current CPU temperatures in Celsius for each CPU on the device. + */ + cpuTemperatures?: number[]; + /** + * CPU usages in percentage for each core available on the device. Usage is + * 0 for each unplugged core. Empty array implies that CPU usage is not + * supported in the system. + */ + cpuUsages?: number[]; + /** + * The time the measurements were taken. + */ + createTime?: string; + /** + * Fan speeds in RPM for each fan on the device. Empty array means that + * there are no fans or fan speed is not supported on the system. + */ + fanSpeeds?: number[]; + /** + * Current GPU temperatures in Celsius for each GPU on the device. + */ + gpuTemperatures?: number[]; + /** + * Current device skin temperatures in Celsius. + */ + skinTemperatures?: number[]; + } + /** + * Response to a request to list devices for a given enterprise. + */ + interface Schema$ListDevicesResponse { + /** + * The list of devices. + */ + devices?: Schema$Device[]; + /** + * If there are more results, a token to retrieve next page of results. + */ + nextPageToken?: string; + } + /** + * The response message for Operations.ListOperations. + */ + interface Schema$ListOperationsResponse { + /** + * The standard List next-page token. + */ + nextPageToken?: string; + /** + * A list of operations that matches the specified filter in the request. + */ + operations?: Schema$Operation[]; + } + /** + * Response to a request to list policies for a given enterprise. + */ + interface Schema$ListPoliciesResponse { + /** + * If there are more results, a token to retrieve next page of results. + */ + nextPageToken?: string; + /** + * The list of policies. + */ + policies?: Schema$Policy[]; + } + /** + * Managed property. + */ + interface Schema$ManagedProperty { + /** + * The default value of the property. BUNDLE_ARRAY properties don't have + * a default value. + */ + defaultValue?: any; + /** + * A longer description of the property, providing more detail of what it + * affects. Localized. + */ + description?: string; + /** + * For CHOICE or MULTISELECT properties, the list of possible entries. + */ + entries?: Schema$ManagedPropertyEntry[]; + /** + * The unique key that the app uses to identify the property, e.g. + * "com.google.android.gm.fieldname". + */ + key?: string; + /** + * For BUNDLE_ARRAY properties, the list of nested properties. A + * BUNDLE_ARRAY property is at most two levels deep. + */ + nestedProperties?: Schema$ManagedProperty[]; + /** + * The name of the property. Localized. + */ + title?: string; + /** + * The type of the property. + */ + type?: string; + } + /** + * An entry of a managed property. + */ + interface Schema$ManagedPropertyEntry { + /** + * The human-readable name of the value. Localized. + */ + name?: string; + /** + * The machine-readable value of the entry, which should be used in the + * configuration. Not localized. + */ + value?: string; + } + /** + * An event related to memory and storage measurements. + */ + interface Schema$MemoryEvent { + /** + * The number of free bytes in the medium, or for EXTERNAL_STORAGE_DETECTED, + * the total capacity in bytes of the storage medium. + */ + byteCount?: string; + /** + * The creation time of the event. + */ + createTime?: string; + /** + * Event type. + */ + eventType?: string; + } + /** + * Information about device memory and storage. + */ + interface Schema$MemoryInfo { + /** + * Total internal storage on device in bytes. + */ + totalInternalStorage?: string; + /** + * Total RAM on device in bytes. + */ + totalRam?: string; + } + /** + * Device network info. + */ + interface Schema$NetworkInfo { + /** + * IMEI number of the GSM device. For example, A1000031212. + */ + imei?: string; + /** + * MEID number of the CDMA device. For example, A00000292788E1. + */ + meid?: string; + /** + * Alphabetic name of current registered operator. For example, Vodafone. + */ + networkOperatorName?: string; + /** + * Wi-Fi MAC address of the device. For example, 7c:11:11:11:11:11. + */ + wifiMacAddress?: string; + } + /** + * Provides detail about non-compliance with a policy setting. + */ + interface Schema$NonComplianceDetail { + /** + * If the policy setting could not be applied, the current value of the + * setting on the device. + */ + currentValue?: any; + /** + * For settings with nested fields, if a particular nested field is out of + * compliance, this specifies the full path to the offending field. The path + * is formatted in the same way the policy JSON field would be referenced in + * JavaScript, that is: 1) For object-typed fields, the field name is + * followed by a dot then by a subfield name. 2) For array-typed fields, + * the field name is followed by the array index enclosed in brackets. For + * example, to indicate a problem with the url field in the externalData + * field in the 3rd application, the path would be + * applications[2].externalData.url + */ + fieldPath?: string; + /** + * If package_name is set and the non-compliance reason is APP_NOT_INSTALLED + * or APP_NOT_UPDATED, the detailed reason the app can't be installed or + * updated. + */ + installationFailureReason?: string; + /** + * The reason the device is not in compliance with the setting. + */ + nonComplianceReason?: string; + /** + * The package name indicating which app is out of compliance, if + * applicable. + */ + packageName?: string; + /** + * The name of the policy setting. This is the JSON field name of a + * top-level Policy field. + */ + settingName?: string; + } + /** + * A compliance rule condition which is satisfied if there exists any matching + * NonComplianceDetail for the device. A NonComplianceDetail matches a + * NonComplianceDetailCondition if all the fields which are set within the + * NonComplianceDetailCondition match the corresponding NonComplianceDetail + * fields. + */ + interface Schema$NonComplianceDetailCondition { + /** + * The reason the device is not in compliance with the setting. If not set, + * then this condition matches any reason. + */ + nonComplianceReason?: string; + /** + * The package name of the app that's out of compliance. If not set, + * then this condition matches any package name. + */ + packageName?: string; + /** + * The name of the policy setting. This is the JSON field name of a + * top-level Policy field. If not set, then this condition matches any + * setting name. + */ + settingName?: string; + } + /** + * This resource represents a long-running operation that is the result of a + * network API call. + */ + interface Schema$Operation { + /** + * If the value is false, it means the operation is still in progress. If + * true, the operation is completed, and either error or response is + * available. + */ + done?: boolean; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * Service-specific metadata associated with the operation. It typically + * contains progress information and common metadata such as create time. + * Some services might not provide such metadata. Any method that returns a + * long-running operation should document the metadata type, if any. + */ + metadata?: any; + /** + * The server-assigned name, which is only unique within the same service + * that originally returns it. If you use the default HTTP mapping, the name + * should have the format of operations/some/unique/name. + */ + name?: string; + /** + * The normal response of the operation in case of success. If the original + * method returns no data on success, such as Delete, the response is + * google.protobuf.Empty. If the original method is standard + * Get/Create/Update, the response should be the resource. For other + * methods, the response should have the type XxxResponse, where Xxx is the + * original method name. For example, if the original method name is + * TakeSnapshot(), the inferred response type is TakeSnapshotResponse. + */ + response?: any; + } + /** + * A list of package names. + */ + interface Schema$PackageNameList { + /** + * A list of package names. + */ + packageNames?: string[]; + } + /** + * Requirements for the password used to unlock a device. + */ + interface Schema$PasswordRequirements { + /** + * Number of incorrect device-unlock passwords that can be entered before a + * device is wiped. A value of 0 means there is no restriction. + */ + maximumFailedPasswordsForWipe?: number; + /** + * Password expiration timeout. + */ + passwordExpirationTimeout?: string; + /** + * The length of the password history. After setting this field, the user + * won't be able to enter a new password that is the same as any + * password in the history. A value of 0 means there is no restriction. + */ + passwordHistoryLength?: number; + /** + * The minimum allowed password length. A value of 0 means there is no + * restriction. Only enforced when password_quality is NUMERIC, + * NUMERIC_COMPLEX, ALPHABETIC, ALPHANUMERIC, or COMPLEX. + */ + passwordMinimumLength?: number; + /** + * Minimum number of letters required in the password. Only enforced when + * password_quality is COMPLEX. + */ + passwordMinimumLetters?: number; + /** + * Minimum number of lower case letters required in the password. Only + * enforced when password_quality is COMPLEX. + */ + passwordMinimumLowerCase?: number; + /** + * Minimum number of non-letter characters (numerical digits or symbols) + * required in the password. Only enforced when password_quality is COMPLEX. + */ + passwordMinimumNonLetter?: number; + /** + * Minimum number of numerical digits required in the password. Only + * enforced when password_quality is COMPLEX. + */ + passwordMinimumNumeric?: number; + /** + * Minimum number of symbols required in the password. Only enforced when + * password_quality is COMPLEX. + */ + passwordMinimumSymbols?: number; + /** + * Minimum number of upper case letters required in the password. Only + * enforced when password_quality is COMPLEX. + */ + passwordMinimumUpperCase?: number; + /** + * The required password quality. + */ + passwordQuality?: string; + } + /** + * Configuration for an Android permission and its grant state. + */ + interface Schema$PermissionGrant { + /** + * The Android permission or group, e.g. android.permission.READ_CALENDAR or + * android.permission_group.CALENDAR. + */ + permission?: string; + /** + * The policy for granting the permission. + */ + policy?: string; + } + /** + * A default activity for handling intents that match a particular intent + * filter. + */ + interface Schema$PersistentPreferredActivity { + /** + * The intent actions to match in the filter. If any actions are included in + * the filter, then an intent's action must be one of those values for + * it to match. If no actions are included, the intent action is ignored. + */ + actions?: string[]; + /** + * The intent categories to match in the filter. An intent includes the + * categories that it requires, all of which must be included in the filter + * in order to match. In other words, adding a category to the filter has no + * impact on matching unless that category is specified in the intent. + */ + categories?: string[]; + /** + * The activity that should be the default intent handler. This should be an + * Android component name, e.g. com.android.enterprise.app/.MainActivity. + * Alternatively, the value may be the package name of an app, which causes + * Android Device Policy to choose an appropriate activity from the app to + * handle the intent. + */ + receiverActivity?: string; + } + /** + * A policy resources represents a group settings that govern the behavior of + * a managed device and the apps installed on it. + */ + interface Schema$Policy { + /** + * Account types that can't be managed by the user. + */ + accountTypesWithManagementDisabled?: string[]; + /** + * Whether adding new users and profiles is disabled. + */ + addUserDisabled?: boolean; + /** + * Whether adjusting the master volume is disabled. + */ + adjustVolumeDisabled?: boolean; + /** + * Configuration for an always-on VPN connection. Use with + * vpn_config_disabled to prevent modification of this setting. + */ + alwaysOnVpnPackage?: Schema$AlwaysOnVpnPackage; + /** + * The app tracks for Android Device Policy the device can access. The + * device receives the latest version among all accessible tracks. If no + * tracks are specified, then the device only uses the production track. + */ + androidDevicePolicyTracks?: string[]; + /** + * The app auto update policy, which controls when automatic app updates can + * be applied. + */ + appAutoUpdatePolicy?: string; + /** + * Policy applied to apps. + */ + applications?: Schema$ApplicationPolicy[]; + /** + * Whether auto time is required, which prevents the user from manually + * setting the date and time. + */ + autoTimeRequired?: boolean; + /** + * Whether applications other than the ones configured in applications are + * blocked from being installed. When set, applications that were installed + * under a previous policy but no longer appear in the policy are + * automatically uninstalled. + */ + blockApplicationsEnabled?: boolean; + /** + * Whether configuring bluetooth is disabled. + */ + bluetoothConfigDisabled?: boolean; + /** + * Whether bluetooth contact sharing is disabled. + */ + bluetoothContactSharingDisabled?: boolean; + /** + * Whether bluetooth is disabled. Prefer this setting over + * bluetooth_config_disabled because bluetooth_config_disabled can be + * bypassed by the user. + */ + bluetoothDisabled?: boolean; + /** + * Whether all cameras on the device are disabled. + */ + cameraDisabled?: boolean; + /** + * Whether configuring cell broadcast is disabled. + */ + cellBroadcastsConfigDisabled?: boolean; + /** + * Rules for automatically choosing a private key and certificate to + * authenticate the device to a server. The rules are ordered by increasing + * precedence, so if an outgoing request matches more than one rule, the + * last rule defines which private key to use. + */ + choosePrivateKeyRules?: Schema$ChoosePrivateKeyRule[]; + /** + * Rules declaring which mitigating actions to take when a device is not + * compliant with its policy. When the conditions for multiple rules are + * satisfied, all of the mitigating actions for the rules are taken. There + * is a maximum limit of 100 rules. + */ + complianceRules?: Schema$ComplianceRule[]; + /** + * Whether creating windows besides app windows is disabled. + */ + createWindowsDisabled?: boolean; + /** + * Whether configuring user credentials is disabled. + */ + credentialsConfigDisabled?: boolean; + /** + * Whether roaming data services are disabled. + */ + dataRoamingDisabled?: boolean; + /** + * Whether the user is allowed to enable debugging features. + */ + debuggingFeaturesAllowed?: boolean; + /** + * The default permission policy for runtime permission requests. + */ + defaultPermissionPolicy?: string; + /** + * The device owner information to be shown on the lock screen. + */ + deviceOwnerLockScreenInfo?: Schema$UserFacingMessage; + /** + * Whether encryption is enabled + */ + encryptionPolicy?: string; + /** + * Whether app verification is force-enabled. + */ + ensureVerifyAppsEnabled?: boolean; + /** + * Whether factory resetting from settings is disabled. + */ + factoryResetDisabled?: boolean; + /** + * Email addresses of device administrators for factory reset protection. + * When the device is factory reset, it will require one of these admins to + * log in with the Google account email and password to unlock the device. + * If no admins are specified, the device won't provide factory reset + * protection. + */ + frpAdminEmails?: string[]; + /** + * Whether the user is allowed to have fun. Controls whether the Easter egg + * game in Settings is disabled. + */ + funDisabled?: boolean; + /** + * Whether user installation of apps is disabled. + */ + installAppsDisabled?: boolean; + /** + * Whether the user is allowed to enable the "Unknown Sources" + * setting, which allows installation of apps from unknown sources. + */ + installUnknownSourcesAllowed?: boolean; + /** + * Whether the keyguard is disabled. + */ + keyguardDisabled?: boolean; + /** + * Disabled keyguard customizations, such as widgets. + */ + keyguardDisabledFeatures?: string[]; + /** + * Whether the kiosk custom launcher is enabled. This replaces the home + * screen with a launcher that locks down the device to the apps installed + * via the applications setting. The apps appear on a single page in + * alphabetical order. It is recommended to also use status_bar_disabled to + * block access to device settings. + */ + kioskCustomLauncherEnabled?: boolean; + /** + * The degree of location detection enabled. The user may change the value + * unless the user is otherwise blocked from accessing device settings. + */ + locationMode?: string; + /** + * A message displayed to the user in the device administators settings + * screen. + */ + longSupportMessage?: Schema$UserFacingMessage; + /** + * Maximum time in milliseconds for user activity until the device locks. A + * value of 0 means there is no restriction. + */ + maximumTimeToLock?: string; + /** + * Whether configuring mobile networks is disabled. + */ + mobileNetworksConfigDisabled?: boolean; + /** + * Whether adding or removing accounts is disabled. + */ + modifyAccountsDisabled?: boolean; + /** + * Whether the user mounting physical external media is disabled. + */ + mountPhysicalMediaDisabled?: boolean; + /** + * The name of the policy in the form + * enterprises/{enterpriseId}/policies/{policyId}. + */ + name?: string; + /** + * Whether the network escape hatch is enabled. If a network connection + * can't be made at boot time, the escape hatch prompts the user to + * temporarily connect to a network in order to refresh the device policy. + * After applying policy, the temporary network will be forgotten and the + * device will continue booting. This prevents being unable to connect to a + * network if there is no suitable network in the last policy and the device + * boots into an app in lock task mode, or the user is otherwise unable to + * reach device settings. + */ + networkEscapeHatchEnabled?: boolean; + /** + * Whether resetting network settings is disabled. + */ + networkResetDisabled?: boolean; + /** + * Network configuration for the device. See configure networks for more + * information. + */ + openNetworkConfiguration?: any; + /** + * Whether using NFC to beam data from apps is disabled. + */ + outgoingBeamDisabled?: boolean; + /** + * Whether outgoing calls are disabled. + */ + outgoingCallsDisabled?: boolean; + /** + * Password requirements. + */ + passwordRequirements?: Schema$PasswordRequirements; + /** + * Explicit permission or group grants or denials for all apps. These values + * override the default_permission_policy. + */ + permissionGrants?: Schema$PermissionGrant[]; + /** + * If present, only the input methods provided by packages in this list are + * permitted. If this field is present, but the list is empty, then only + * system input methods are permitted. + */ + permittedInputMethods?: Schema$PackageNameList; + /** + * Default intent handler activities. + */ + persistentPreferredActivities?: Schema$PersistentPreferredActivity[]; + /** + * This mode controls which apps are available to the user in the Play Store + * and the behavior on the device when apps are removed from the policy. + */ + playStoreMode?: string; + /** + * Allows showing UI on a device for a user to choose a private key alias if + * there are no matching rules in ChoosePrivateKeyRules. For devices below + * Android P, setting this may leave enterprise keys vulnerable. + */ + privateKeySelectionEnabled?: boolean; + /** + * The network-independent global HTTP proxy. Typically proxies should be + * configured per-network in open_network_configuration. However for unusual + * configurations like general internal filtering a global HTTP proxy may be + * useful. If the proxy is not accessible, network access may break. The + * global proxy is only a recommendation and some apps may ignore it. + */ + recommendedGlobalProxy?: Schema$ProxyInfo; + /** + * Whether removing other users is disabled. + */ + removeUserDisabled?: boolean; + /** + * Whether rebooting the device into safe boot is disabled. + */ + safeBootDisabled?: boolean; + /** + * Whether screen capture is disabled. + */ + screenCaptureDisabled?: boolean; + /** + * Whether changing the user icon is disabled. + */ + setUserIconDisabled?: boolean; + /** + * Whether changing the wallpaper is disabled. + */ + setWallpaperDisabled?: boolean; + /** + * Whether location sharing is disabled. + */ + shareLocationDisabled?: boolean; + /** + * A message displayed to the user in the settings screen wherever + * functionality has been disabled by the admin. + */ + shortSupportMessage?: Schema$UserFacingMessage; + /** + * Flag to skip hints on the first use. Enterprise admin can enable the + * system recommendation for apps to skip their user tutorial and other + * introductory hints on first start-up. + */ + skipFirstUseHintsEnabled?: boolean; + /** + * Whether sending and receiving SMS messages is disabled. + */ + smsDisabled?: boolean; + /** + * Whether the status bar is disabled. This disables notifications, quick + * settings, and other screen overlays that allow escape from full-screen + * mode. + */ + statusBarDisabled?: boolean; + /** + * Status reporting settings + */ + statusReportingSettings?: Schema$StatusReportingSettings; + /** + * The battery plugged in modes for which the device stays on. When using + * this setting, it is recommended to clear maximum_time_to_lock so that the + * device doesn't lock itself while it stays on. + */ + stayOnPluggedModes?: string[]; + /** + * The system update policy, which controls how OS updates are applied. If + * the update type is WINDOWED, the update window will automatically apply + * to Play app updates as well. + */ + systemUpdate?: Schema$SystemUpdate; + /** + * Whether configuring tethering and portable hotspots is disabled. + */ + tetheringConfigDisabled?: boolean; + /** + * Whether user uninstallation of applications is disabled. + */ + uninstallAppsDisabled?: boolean; + /** + * Whether the microphone is muted and adjusting microphone volume is + * disabled. + */ + unmuteMicrophoneDisabled?: boolean; + /** + * Whether transferring files over USB is disabled. + */ + usbFileTransferDisabled?: boolean; + /** + * Whether USB storage is enabled. + */ + usbMassStorageEnabled?: boolean; + /** + * The version of the policy. This is a read-only field. The version is + * incremented each time the policy is updated. + */ + version?: string; + /** + * Whether configuring VPN is disabled. + */ + vpnConfigDisabled?: boolean; + /** + * Whether configuring Wi-Fi access points is disabled. + */ + wifiConfigDisabled?: boolean; + /** + * Whether Wi-Fi networks defined in Open Network Configuration are locked + * so they can't be edited by the user. + */ + wifiConfigsLockdownEnabled?: boolean; + } + /** + * A power management event. + */ + interface Schema$PowerManagementEvent { + /** + * For BATTERY_LEVEL_COLLECTED events, the battery level as a percentage. + */ + batteryLevel?: number; + /** + * The creation time of the event. + */ + createTime?: string; + /** + * Event type. + */ + eventType?: string; + } + /** + * Configuration info for an HTTP proxy. For a direct proxy, set the host, + * port, and excluded_hosts fields. For a PAC script proxy, set the pac_uri + * field. + */ + interface Schema$ProxyInfo { + /** + * For a direct proxy, the hosts for which the proxy is bypassed. The host + * names may contain wildcards such as *.example.com. + */ + excludedHosts?: string[]; + /** + * The host of the direct proxy. + */ + host?: string; + /** + * The URI of the PAC script used to configure the proxy. + */ + pacUri?: string; + /** + * The port of the direct proxy. + */ + port?: number; + } + /** + * An enterprise signup URL. + */ + interface Schema$SignupUrl { + /** + * The name of the resource. Use this value in the signupUrl field when + * calling enterprises.create to complete the enterprise signup flow. + */ + name?: string; + /** + * A URL where an enterprise admin can register their enterprise. The page + * can't be rendered in an iframe. + */ + url?: string; + } + /** + * Information about device software. + */ + interface Schema$SoftwareInfo { + /** + * Android build ID string meant for displaying to the user. For example, + * shamu-userdebug 6.0.1 MOB30I 2756745 dev-keys. + */ + androidBuildNumber?: string; + /** + * Build time. + */ + androidBuildTime?: string; + /** + * The Android Device Policy app version code. + */ + androidDevicePolicyVersionCode?: number; + /** + * The Android Device Policy app version as displayed to the user. + */ + androidDevicePolicyVersionName?: string; + /** + * The user-visible Android version string. For example, 6.0.1. + */ + androidVersion?: string; + /** + * The system bootloader version number, e.g. 0.6.7. + */ + bootloaderVersion?: string; + /** + * SHA-256 hash of android.content.pm.Signature + * (https://developer.android.com/reference/android/content/pm/Signature.html) + * associated with the system package, which can be used to verify that the + * system build hasn't been modified. + */ + deviceBuildSignature?: string; + /** + * Kernel version, for example, 2.6.32.9-g103d848. + */ + deviceKernelVersion?: string; + /** + * An IETF BCP 47 language code for the primary locale on the device. + */ + primaryLanguageCode?: string; + /** + * Security patch level, e.g. 2016-05-01. + */ + securityPatchLevel?: string; + } + /** + * 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). The error model is designed to be: + * Simple to use and understand for most users Flexible enough to meet + * unexpected needsOverviewThe Status message contains three pieces of data: + * error code, error message, and error details. The error code should be an + * enum value of google.rpc.Code, but it may accept additional error codes if + * needed. The error message should be a developer-facing English message that + * helps developers understand and resolve the error. If a localized + * user-facing error message is needed, put the localized message in the error + * details or localize it in the client. The optional error details may + * contain arbitrary information about the error. There is a predefined set of + * error detail types in the package google.rpc that can be used for common + * error conditions.Language mappingThe Status message is the logical + * representation of the error model, but it is not necessarily the actual + * wire format. When the Status message is exposed in different client + * libraries and different wire protocols, it can be mapped differently. For + * example, it will likely be mapped to some exceptions in Java, but more + * likely mapped to some error codes in C.Other usesThe error model and the + * Status message can be used in a variety of environments, either with or + * without APIs, to provide a consistent developer experience across different + * environments.Example uses of this error model include: Partial errors. If a + * service needs to return partial errors to the client, it may embed the + * Status in the normal response to indicate the partial errors. Workflow + * errors. A typical workflow has multiple steps. Each step may have a Status + * message for error reporting. Batch operations. If a client uses batch + * request and batch response, the Status message should be used directly + * inside batch response, one for each error sub-response. Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the Status message. Logging. If some API errors are stored in logs, + * the message Status could be used directly after any stripping needed for + * security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set of + * message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + /** + * Settings controlling the behavior of status reports. + */ + interface Schema$StatusReportingSettings { + /** + * Whether app reports are enabled. + */ + applicationReportsEnabled?: boolean; + /** + * Whether device settings reporting is enabled. + */ + deviceSettingsEnabled?: boolean; + /** + * Whether displays reporting is enabled. + */ + displayInfoEnabled?: boolean; + /** + * Whether hardware status reporting is enabled. + */ + hardwareStatusEnabled?: boolean; + /** + * Whether memory reporting is enabled. + */ + memoryInfoEnabled?: boolean; + /** + * Whether network info reporting is enabled. + */ + networkInfoEnabled?: boolean; + /** + * Whether power management event reporting is enabled. + */ + powerManagementEventsEnabled?: boolean; + /** + * Whether software info reporting is enabled. + */ + softwareInfoEnabled?: boolean; + } + /** + * Configuration for managing system updates + */ + interface Schema$SystemUpdate { + /** + * If the type is WINDOWED, the end of the maintenance window, measured as + * the number of minutes after midnight in device's local time. This + * value must be between 0 and 1439, inclusive. If this value is less than + * start_minutes, then the maintenance window spans midnight. If the + * maintenance window specified is smaller than 30 minutes, the actual + * window is extended to 30 minutes beyond the start time. + */ + endMinutes?: number; + /** + * If the type is WINDOWED, the start of the maintenance window, measured as + * the number of minutes after midnight in the device's local time. This + * value must be between 0 and 1439, inclusive. + */ + startMinutes?: number; + /** + * The type of system update to configure. + */ + type?: string; + } + /** + * A terms and conditions page to be accepted during provisioning. + */ + interface Schema$TermsAndConditions { + /** + * A well-formatted HTML string. It will be parsed on the client with + * android.text.Html#fromHtml. + */ + content?: Schema$UserFacingMessage; + /** + * A short header which appears above the HTML content. + */ + header?: Schema$UserFacingMessage; + } + /** + * A user belonging to an enterprise. + */ + interface Schema$User { + /** + * A unique identifier you create for this user, such as user342 or + * asset#44418. This field must be set when the user is created and + * can't be updated. This field must not contain personally identifiable + * information (PII). This identifier must be 1024 characters or less; + * otherwise, the update policy request will fail. + */ + accountIdentifier?: string; + } + /** + * Provides a user-facing message with locale info. The maximum message length + * is 4096 characters. + */ + interface Schema$UserFacingMessage { + /** + * The default message displayed if no localized message is specified or the + * user's locale doesn't match with any of the localized messages. A + * default message must be provided if any localized messages are provided. + */ + defaultMessage?: string; + /** + * A map containing <locale, message> pairs, where locale is a + * well-formed BCP 47 language + * (https://www.w3.org/International/articles/language-tags/) code, such as + * en-US, es-ES, or fr. + */ + localizedMessages?: any; + } + /** + * A web token used to access the managed Google Play iframe. + */ + interface Schema$WebToken { + /** + * The name of the web token, which is generated by the server during + * creation in the form enterprises/{enterpriseId}/webTokens/{webTokenId}. + */ + name?: string; + /** + * The URL of the parent frame hosting the iframe with the embedded UI. To + * prevent XSS, the iframe may not be hosted at other URLs. The URL must use + * the https scheme. + */ + parentFrameUrl?: string; + /** + * Permissions available to an admin in the embedded UI. An admin must have + * all of these permissions in order to view the UI. + */ + permissions?: string[]; + /** + * The token value which is used in the hosting page to generate the iframe + * with the embedded UI. This is a read-only field generated by the server. + */ + value?: string; + } + class Resource$Enterprises { + root: Androidmanagement; + applications: Resource$Enterprises$Applications; + devices: Resource$Enterprises$Devices; + enrollmentTokens: Resource$Enterprises$Enrollmenttokens; + policies: Resource$Enterprises$Policies; + webTokens: Resource$Enterprises$Webtokens; + constructor(root: Androidmanagement); + getRoot(): Androidmanagement; + /** + * androidmanagement.enterprises.create + * @desc Creates an enterprise. This is the last step in the enterprise + * signup flow. + * @alias androidmanagement.enterprises.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.enterpriseToken The enterprise token appended to the callback URL. + * @param {string=} params.projectId The ID of the Google Cloud Platform project which will own the enterprise. + * @param {string=} params.signupUrlName The name of the SignupUrl used to sign up for the enterprise. + * @param {().Enterprise} 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 + */ + create(params?: Params$Resource$Enterprises$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Enterprises$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Enterprises$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * androidmanagement.enterprises.get + * @desc Gets an enterprise. + * @alias androidmanagement.enterprises.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the enterprise in the form enterprises/{enterpriseId}. + * @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?: Params$Resource$Enterprises$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Enterprises$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Enterprises$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * androidmanagement.enterprises.patch + * @desc Updates an enterprise. + * @alias androidmanagement.enterprises.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the enterprise in the form enterprises/{enterpriseId}. + * @param {string=} params.updateMask The field mask indicating the fields to update. If not set, all modifiable fields will be modified. + * @param {().Enterprise} 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 + */ + patch(params?: Params$Resource$Enterprises$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Enterprises$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Enterprises$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Enterprises$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The enterprise token appended to the callback URL. + */ + enterpriseToken?: string; + /** + * The ID of the Google Cloud Platform project which will own the + * enterprise. + */ + projectId?: string; + /** + * The name of the SignupUrl used to sign up for the enterprise. + */ + signupUrlName?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Enterprise; + } + interface Params$Resource$Enterprises$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the enterprise in the form enterprises/{enterpriseId}. + */ + name?: string; + } + interface Params$Resource$Enterprises$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the enterprise in the form enterprises/{enterpriseId}. + */ + name?: string; + /** + * The field mask indicating the fields to update. If not set, all + * modifiable fields will be modified. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Enterprise; + } + class Resource$Enterprises$Applications { + root: Androidmanagement; + constructor(root: Androidmanagement); + getRoot(): Androidmanagement; + /** + * androidmanagement.enterprises.applications.get + * @desc Gets info about an application. + * @alias androidmanagement.enterprises.applications.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.languageCode The preferred language for localized application info, as a BCP47 tag (e.g. "en-US", "de"). If not specified the default language of the application will be used. + * @param {string} params.name The name of the application in the form enterprises/{enterpriseId}/applications/{package_name}. + * @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?: Params$Resource$Enterprises$Applications$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Enterprises$Applications$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Enterprises$Applications$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Enterprises$Applications$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The preferred language for localized application info, as a BCP47 tag + * (e.g. "en-US", "de"). If not specified the default language of the + * application will be used. + */ + languageCode?: string; + /** + * The name of the application in the form + * enterprises/{enterpriseId}/applications/{package_name}. + */ + name?: string; + } + class Resource$Enterprises$Devices { + root: Androidmanagement; + operations: Resource$Enterprises$Devices$Operations; + constructor(root: Androidmanagement); + getRoot(): Androidmanagement; + /** + * androidmanagement.enterprises.devices.delete + * @desc Deletes a device. This operation wipes the device. + * @alias androidmanagement.enterprises.devices.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the device in the form enterprises/{enterpriseId}/devices/{deviceId}. + * @param {string=} params.wipeDataFlags Optional flags that control the device wiping behavior. + * @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?: Params$Resource$Enterprises$Devices$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Enterprises$Devices$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Enterprises$Devices$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * androidmanagement.enterprises.devices.get + * @desc Gets a device. + * @alias androidmanagement.enterprises.devices.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the device in the form enterprises/{enterpriseId}/devices/{deviceId}. + * @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?: Params$Resource$Enterprises$Devices$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Enterprises$Devices$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Enterprises$Devices$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * androidmanagement.enterprises.devices.issueCommand + * @desc Issues a command to a device. The Operation resource returned + * contains a Command in its metadata field. Use the get operation method to + * get the status of the command. + * @alias androidmanagement.enterprises.devices.issueCommand + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the device in the form enterprises/{enterpriseId}/devices/{deviceId}. + * @param {().Command} 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 + */ + issueCommand(params?: Params$Resource$Enterprises$Devices$Issuecommand, options?: MethodOptions): AxiosPromise; + issueCommand(params: Params$Resource$Enterprises$Devices$Issuecommand, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + issueCommand(params: Params$Resource$Enterprises$Devices$Issuecommand, callback: BodyResponseCallback): void; + issueCommand(callback: BodyResponseCallback): void; + /** + * androidmanagement.enterprises.devices.list + * @desc Lists devices for a given enterprise. + * @alias androidmanagement.enterprises.devices.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize The requested page size. The actual page size may be fixed to a min or max value. + * @param {string=} params.pageToken A token identifying a page of results returned by the server. + * @param {string} params.parent The name of the enterprise in the form enterprises/{enterpriseId}. + * @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?: Params$Resource$Enterprises$Devices$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Enterprises$Devices$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Enterprises$Devices$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * androidmanagement.enterprises.devices.patch + * @desc Updates a device. + * @alias androidmanagement.enterprises.devices.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the device in the form enterprises/{enterpriseId}/devices/{deviceId}. + * @param {string=} params.updateMask The field mask indicating the fields to update. If not set, all modifiable fields will be modified. + * @param {().Device} 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 + */ + patch(params?: Params$Resource$Enterprises$Devices$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Enterprises$Devices$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Enterprises$Devices$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Enterprises$Devices$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the device in the form + * enterprises/{enterpriseId}/devices/{deviceId}. + */ + name?: string; + /** + * Optional flags that control the device wiping behavior. + */ + wipeDataFlags?: string; + } + interface Params$Resource$Enterprises$Devices$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the device in the form + * enterprises/{enterpriseId}/devices/{deviceId}. + */ + name?: string; + } + interface Params$Resource$Enterprises$Devices$Issuecommand { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the device in the form + * enterprises/{enterpriseId}/devices/{deviceId}. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Command; + } + interface Params$Resource$Enterprises$Devices$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The requested page size. The actual page size may be fixed to a min or + * max value. + */ + pageSize?: number; + /** + * A token identifying a page of results returned by the server. + */ + pageToken?: string; + /** + * The name of the enterprise in the form enterprises/{enterpriseId}. + */ + parent?: string; + } + interface Params$Resource$Enterprises$Devices$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the device in the form + * enterprises/{enterpriseId}/devices/{deviceId}. + */ + name?: string; + /** + * The field mask indicating the fields to update. If not set, all + * modifiable fields will be modified. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Device; + } + class Resource$Enterprises$Devices$Operations { + root: Androidmanagement; + constructor(root: Androidmanagement); + getRoot(): Androidmanagement; + /** + * androidmanagement.enterprises.devices.operations.cancel + * @desc Starts asynchronous cancellation on a long-running operation. The + * server makes a best effort to cancel the operation, but success is not + * guaranteed. If the server doesn't support this method, it returns + * google.rpc.Code.UNIMPLEMENTED. Clients can use Operations.GetOperation or + * other methods to check whether the cancellation succeeded or whether the + * operation completed despite cancellation. On successful cancellation, the + * operation is not deleted; instead, it becomes an operation with an + * Operation.error value with a google.rpc.Status.code of 1, corresponding + * to Code.CANCELLED. + * @alias androidmanagement.enterprises.devices.operations.cancel + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource to be cancelled. + * @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 + */ + cancel(params?: Params$Resource$Enterprises$Devices$Operations$Cancel, options?: MethodOptions): AxiosPromise; + cancel(params: Params$Resource$Enterprises$Devices$Operations$Cancel, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + cancel(params: Params$Resource$Enterprises$Devices$Operations$Cancel, callback: BodyResponseCallback): void; + cancel(callback: BodyResponseCallback): void; + /** + * androidmanagement.enterprises.devices.operations.delete + * @desc Deletes a long-running operation. This method indicates that the + * client is no longer interested in the operation result. It does not + * cancel the operation. If the server doesn't support this method, it + * returns google.rpc.Code.UNIMPLEMENTED. + * @alias androidmanagement.enterprises.devices.operations.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource to be deleted. + * @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?: Params$Resource$Enterprises$Devices$Operations$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Enterprises$Devices$Operations$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Enterprises$Devices$Operations$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * androidmanagement.enterprises.devices.operations.get + * @desc Gets the latest state of a long-running operation. Clients can use + * this method to poll the operation result at intervals as recommended by + * the API service. + * @alias androidmanagement.enterprises.devices.operations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource. + * @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?: Params$Resource$Enterprises$Devices$Operations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Enterprises$Devices$Operations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Enterprises$Devices$Operations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * androidmanagement.enterprises.devices.operations.list + * @desc Lists operations that match the specified filter in the request. If + * the server doesn't support this method, it returns UNIMPLEMENTED.NOTE: + * the name binding allows API services to override the binding to use + * different resource name schemes, such as users/x/operations. To override + * the binding, API services can add a binding such as + * "/v1/{name=users/x}/operations" to their service configuration. For + * backwards compatibility, the default name includes the operations + * collection id, however overriding users must ensure the name binding is + * the parent resource, without the operations collection id. + * @alias androidmanagement.enterprises.devices.operations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter The standard list filter. + * @param {string} params.name The name of the operation's parent resource. + * @param {integer=} params.pageSize The standard list page size. + * @param {string=} params.pageToken The standard list page token. + * @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?: Params$Resource$Enterprises$Devices$Operations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Enterprises$Devices$Operations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Enterprises$Devices$Operations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Enterprises$Devices$Operations$Cancel { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource to be cancelled. + */ + name?: string; + } + interface Params$Resource$Enterprises$Devices$Operations$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource to be deleted. + */ + name?: string; + } + interface Params$Resource$Enterprises$Devices$Operations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource. + */ + name?: string; + } + interface Params$Resource$Enterprises$Devices$Operations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The standard list filter. + */ + filter?: string; + /** + * The name of the operation's parent resource. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } + class Resource$Enterprises$Enrollmenttokens { + root: Androidmanagement; + constructor(root: Androidmanagement); + getRoot(): Androidmanagement; + /** + * androidmanagement.enterprises.enrollmentTokens.create + * @desc Creates an enrollment token for a given enterprise. + * @alias androidmanagement.enterprises.enrollmentTokens.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent The name of the enterprise in the form enterprises/{enterpriseId}. + * @param {().EnrollmentToken} 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 + */ + create(params?: Params$Resource$Enterprises$Enrollmenttokens$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Enterprises$Enrollmenttokens$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Enterprises$Enrollmenttokens$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * androidmanagement.enterprises.enrollmentTokens.delete + * @desc Deletes an enrollment token. This operation invalidates the token, + * preventing its future use. + * @alias androidmanagement.enterprises.enrollmentTokens.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the enrollment token in the form enterprises/{enterpriseId}/enrollmentTokens/{enrollmentTokenId}. + * @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?: Params$Resource$Enterprises$Enrollmenttokens$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Enterprises$Enrollmenttokens$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Enterprises$Enrollmenttokens$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + } + interface Params$Resource$Enterprises$Enrollmenttokens$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the enterprise in the form enterprises/{enterpriseId}. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$EnrollmentToken; + } + interface Params$Resource$Enterprises$Enrollmenttokens$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the enrollment token in the form + * enterprises/{enterpriseId}/enrollmentTokens/{enrollmentTokenId}. + */ + name?: string; + } + class Resource$Enterprises$Policies { + root: Androidmanagement; + constructor(root: Androidmanagement); + getRoot(): Androidmanagement; + /** + * androidmanagement.enterprises.policies.delete + * @desc Deletes a policy. This operation is only permitted if no devices + * are currently referencing the policy. + * @alias androidmanagement.enterprises.policies.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the policy in the form enterprises/{enterpriseId}/policies/{policyId}. + * @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?: Params$Resource$Enterprises$Policies$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Enterprises$Policies$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Enterprises$Policies$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * androidmanagement.enterprises.policies.get + * @desc Gets a policy. + * @alias androidmanagement.enterprises.policies.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the policy in the form enterprises/{enterpriseId}/policies/{policyId}. + * @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?: Params$Resource$Enterprises$Policies$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Enterprises$Policies$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Enterprises$Policies$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * androidmanagement.enterprises.policies.list + * @desc Lists policies for a given enterprise. + * @alias androidmanagement.enterprises.policies.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize The requested page size. The actual page size may be fixed to a min or max value. + * @param {string=} params.pageToken A token identifying a page of results returned by the server. + * @param {string} params.parent The name of the enterprise in the form enterprises/{enterpriseId}. + * @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?: Params$Resource$Enterprises$Policies$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Enterprises$Policies$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Enterprises$Policies$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * androidmanagement.enterprises.policies.patch + * @desc Updates or creates a policy. + * @alias androidmanagement.enterprises.policies.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the policy in the form enterprises/{enterpriseId}/policies/{policyId}. + * @param {string=} params.updateMask The field mask indicating the fields to update. If not set, all modifiable fields will be modified. + * @param {().Policy} 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 + */ + patch(params?: Params$Resource$Enterprises$Policies$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Enterprises$Policies$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Enterprises$Policies$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Enterprises$Policies$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the policy in the form + * enterprises/{enterpriseId}/policies/{policyId}. + */ + name?: string; + } + interface Params$Resource$Enterprises$Policies$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the policy in the form + * enterprises/{enterpriseId}/policies/{policyId}. + */ + name?: string; + } + interface Params$Resource$Enterprises$Policies$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The requested page size. The actual page size may be fixed to a min or + * max value. + */ + pageSize?: number; + /** + * A token identifying a page of results returned by the server. + */ + pageToken?: string; + /** + * The name of the enterprise in the form enterprises/{enterpriseId}. + */ + parent?: string; + } + interface Params$Resource$Enterprises$Policies$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the policy in the form + * enterprises/{enterpriseId}/policies/{policyId}. + */ + name?: string; + /** + * The field mask indicating the fields to update. If not set, all + * modifiable fields will be modified. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Policy; + } + class Resource$Enterprises$Webtokens { + root: Androidmanagement; + constructor(root: Androidmanagement); + getRoot(): Androidmanagement; + /** + * androidmanagement.enterprises.webTokens.create + * @desc Creates a web token to access an embeddable managed Google Play web + * UI for a given enterprise. + * @alias androidmanagement.enterprises.webTokens.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent The name of the enterprise in the form enterprises/{enterpriseId}. + * @param {().WebToken} 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 + */ + create(params?: Params$Resource$Enterprises$Webtokens$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Enterprises$Webtokens$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Enterprises$Webtokens$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + } + interface Params$Resource$Enterprises$Webtokens$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the enterprise in the form enterprises/{enterpriseId}. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$WebToken; + } + class Resource$Signupurls { + root: Androidmanagement; + constructor(root: Androidmanagement); + getRoot(): Androidmanagement; + /** + * androidmanagement.signupUrls.create + * @desc Creates an enterprise signup URL. + * @alias androidmanagement.signupUrls.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.callbackUrl The callback URL that the admin will be redirected to after successfully creating an enterprise. Before redirecting there the system will add a query parameter to this URL named enterpriseToken which will contain an opaque token to be used for the create enterprise request. The URL will be parsed then reformatted in order to add the enterpriseToken parameter, so there may be some minor formatting changes. + * @param {string=} params.projectId The ID of the Google Cloud Platform project which will own the enterprise. + * @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 + */ + create(params?: Params$Resource$Signupurls$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Signupurls$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Signupurls$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + } + interface Params$Resource$Signupurls$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The callback URL that the admin will be redirected to after successfully + * creating an enterprise. Before redirecting there the system will add a + * query parameter to this URL named enterpriseToken which will contain an + * opaque token to be used for the create enterprise request. The URL will + * be parsed then reformatted in order to add the enterpriseToken parameter, + * so there may be some minor formatting changes. + */ + callbackUrl?: string; + /** + * The ID of the Google Cloud Platform project which will own the + * enterprise. + */ + projectId?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/androidmanagement/v1.js b/express-server/node_modules/googleapis/build/src/apis/androidmanagement/v1.js new file mode 100644 index 00000000..9bdc01ef --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/androidmanagement/v1.js @@ -0,0 +1,779 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var androidmanagement_v1; +(function (androidmanagement_v1) { + /** + * Android Management API + * + * The Android Management API provides remote enterprise management of Android + * devices and apps. + * + * @example + * const {google} = require('googleapis'); + * const androidmanagement = google.androidmanagement('v1'); + * + * @namespace androidmanagement + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Androidmanagement + */ + class Androidmanagement { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.enterprises = new Resource$Enterprises(this); + this.signupUrls = new Resource$Signupurls(this); + } + getRoot() { + return this.root; + } + } + androidmanagement_v1.Androidmanagement = Androidmanagement; + class Resource$Enterprises { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.applications = new Resource$Enterprises$Applications(root); + this.devices = new Resource$Enterprises$Devices(root); + this.enrollmentTokens = new Resource$Enterprises$Enrollmenttokens(root); + this.policies = new Resource$Enterprises$Policies(root); + this.webTokens = new Resource$Enterprises$Webtokens(root); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://androidmanagement.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/enterprises').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://androidmanagement.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://androidmanagement.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidmanagement_v1.Resource$Enterprises = Resource$Enterprises; + class Resource$Enterprises$Applications { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://androidmanagement.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidmanagement_v1.Resource$Enterprises$Applications = Resource$Enterprises$Applications; + class Resource$Enterprises$Devices { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.operations = new Resource$Enterprises$Devices$Operations(root); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://androidmanagement.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://androidmanagement.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + issueCommand(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://androidmanagement.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:issueCommand') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://androidmanagement.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/devices') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://androidmanagement.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidmanagement_v1.Resource$Enterprises$Devices = Resource$Enterprises$Devices; + class Resource$Enterprises$Devices$Operations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + cancel(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://androidmanagement.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:cancel') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://androidmanagement.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://androidmanagement.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://androidmanagement.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidmanagement_v1.Resource$Enterprises$Devices$Operations = Resource$Enterprises$Devices$Operations; + class Resource$Enterprises$Enrollmenttokens { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://androidmanagement.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/enrollmentTokens') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://androidmanagement.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidmanagement_v1.Resource$Enterprises$Enrollmenttokens = Resource$Enterprises$Enrollmenttokens; + class Resource$Enterprises$Policies { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://androidmanagement.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://androidmanagement.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://androidmanagement.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/policies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://androidmanagement.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidmanagement_v1.Resource$Enterprises$Policies = Resource$Enterprises$Policies; + class Resource$Enterprises$Webtokens { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://androidmanagement.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/webTokens') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidmanagement_v1.Resource$Enterprises$Webtokens = Resource$Enterprises$Webtokens; + class Resource$Signupurls { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://androidmanagement.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/signupUrls').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidmanagement_v1.Resource$Signupurls = Resource$Signupurls; +})(androidmanagement_v1 = exports.androidmanagement_v1 || (exports.androidmanagement_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/androidmanagement/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/androidmanagement/v1.js.map new file mode 100644 index 00000000..ceb64a3c --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/androidmanagement/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/androidmanagement/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/androidpublisher/README.md b/express-server/node_modules/googleapis/build/src/apis/androidpublisher/README.md new file mode 100644 index 00000000..c06ebcf2 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/androidpublisher/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/androidpublisher + +> Lets Android application developers access their Google Play accounts. + +## Installation + +```sh +$ npm install @google/androidpublisher +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/androidpublisher/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/androidpublisher/index.d.ts new file mode 100644 index 00000000..d3d669a7 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/androidpublisher/index.d.ts @@ -0,0 +1,18 @@ +import { androidpublisher_v1 } from './v1'; +import { androidpublisher_v1_1 } from './v1.1'; +import { androidpublisher_v2 } from './v2'; +import { androidpublisher_v3 } from './v3'; +export declare const VERSIONS: { + 'v1.1': typeof androidpublisher_v1_1.Androidpublisher; + 'v1': typeof androidpublisher_v1.Androidpublisher; + 'v2': typeof androidpublisher_v2.Androidpublisher; + 'v3': typeof androidpublisher_v3.Androidpublisher; +}; +export declare function androidpublisher(version: 'v1_1'): androidpublisher_v1_1.Androidpublisher; +export declare function androidpublisher(options: androidpublisher_v1_1.Options): androidpublisher_v1_1.Androidpublisher; +export declare function androidpublisher(version: 'v1'): androidpublisher_v1.Androidpublisher; +export declare function androidpublisher(options: androidpublisher_v1.Options): androidpublisher_v1.Androidpublisher; +export declare function androidpublisher(version: 'v2'): androidpublisher_v2.Androidpublisher; +export declare function androidpublisher(options: androidpublisher_v2.Options): androidpublisher_v2.Androidpublisher; +export declare function androidpublisher(version: 'v3'): androidpublisher_v3.Androidpublisher; +export declare function androidpublisher(options: androidpublisher_v3.Options): androidpublisher_v3.Androidpublisher; diff --git a/express-server/node_modules/googleapis/build/src/apis/androidpublisher/index.js b/express-server/node_modules/googleapis/build/src/apis/androidpublisher/index.js new file mode 100644 index 00000000..a137c4c0 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/androidpublisher/index.js @@ -0,0 +1,31 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +const v1_1_1 = require("./v1.1"); +const v2_1 = require("./v2"); +const v3_1 = require("./v3"); +exports.VERSIONS = { + 'v1.1': v1_1_1.androidpublisher_v1_1.Androidpublisher, + 'v1': v1_1.androidpublisher_v1.Androidpublisher, + 'v2': v2_1.androidpublisher_v2.Androidpublisher, + 'v3': v3_1.androidpublisher_v3.Androidpublisher, +}; +function androidpublisher(versionOrOptions) { + return googleapis_common_1.getAPI('androidpublisher', versionOrOptions, exports.VERSIONS, this); +} +exports.androidpublisher = androidpublisher; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/androidpublisher/index.js.map b/express-server/node_modules/googleapis/build/src/apis/androidpublisher/index.js.map new file mode 100644 index 00000000..9a0cf2fe --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/androidpublisher/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/androidpublisher/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAE7D,6BAAyC;AACzC,iCAA6C;AAC7C,6BAAyC;AACzC,6BAAyC;AAE5B,QAAA,QAAQ,GAAG;IACtB,MAAM,EAAE,4BAAqB,CAAC,gBAAgB;IAC9C,IAAI,EAAE,wBAAmB,CAAC,gBAAgB;IAC1C,IAAI,EAAE,wBAAmB,CAAC,gBAAgB;IAC1C,IAAI,EAAE,wBAAmB,CAAC,gBAAgB;CAC3C,CAAC;AAkBF,SAAgB,gBAAgB,CAM5B,gBAG4D;IAC9D,OAAO,0BAAM,CAAI,kBAAkB,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACzE,CAAC;AAXD,4CAWC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/androidpublisher/package.json b/express-server/node_modules/googleapis/build/src/apis/androidpublisher/package.json new file mode 100644 index 00000000..5b3f2f19 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/androidpublisher/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/androidpublisher", + "version": "0.1.0", + "description": "androidpublisher", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/androidpublisher/v1.1.d.ts b/express-server/node_modules/googleapis/build/src/apis/androidpublisher/v1.1.d.ts new file mode 100644 index 00000000..ebdf275a --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/androidpublisher/v1.1.d.ts @@ -0,0 +1,241 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace androidpublisher_v1_1 { + interface Options extends GlobalOptions { + version: 'v1_1'; + } + /** + * Google Play Developer API + * + * Lets Android application developers access their Google Play accounts. + * + * @example + * const {google} = require('googleapis'); + * const androidpublisher = google.androidpublisher('v1.1'); + * + * @namespace androidpublisher + * @type {Function} + * @version v1.1 + * @variation v1.1 + * @param {object=} options Options for Androidpublisher + */ + class Androidpublisher { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + inapppurchases: Resource$Inapppurchases; + purchases: Resource$Purchases; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * An InappPurchase resource indicates the status of a user's inapp + * product purchase. + */ + interface Schema$InappPurchase { + /** + * The consumption state of the inapp product. Possible values are: - Yet + * to be consumed - Consumed + */ + consumptionState?: number; + /** + * A developer-specified string that contains supplemental information about + * an order. + */ + developerPayload?: string; + /** + * This kind represents an inappPurchase object in the androidpublisher + * service. + */ + kind?: string; + /** + * The order id associated with the purchase of the inapp product. + */ + orderId?: string; + /** + * The purchase state of the order. Possible values are: - Purchased - + * Canceled + */ + purchaseState?: number; + /** + * The time the product was purchased, in milliseconds since the epoch (Jan + * 1, 1970). + */ + purchaseTime?: string; + /** + * The type of purchase of the inapp product. This field is only set if this + * purchase was not made using the standard in-app billing flow. Possible + * values are: - Test (i.e. purchased from a license testing account) - + * Promo (i.e. purchased using a promo code) + */ + purchaseType?: number; + } + /** + * A SubscriptionPurchase resource indicates the status of a user's + * subscription purchase. + */ + interface Schema$SubscriptionPurchase { + /** + * Whether the subscription will automatically be renewed when it reaches + * its current expiry time. + */ + autoRenewing?: boolean; + /** + * Time at which the subscription was granted, in milliseconds since the + * Epoch. + */ + initiationTimestampMsec?: string; + /** + * This kind represents a subscriptionPurchase object in the + * androidpublisher service. + */ + kind?: string; + /** + * Time at which the subscription will expire, in milliseconds since the + * Epoch. + */ + validUntilTimestampMsec?: string; + } + class Resource$Inapppurchases { + root: Androidpublisher; + constructor(root: Androidpublisher); + getRoot(): Androidpublisher; + /** + * androidpublisher.inapppurchases.get + * @desc Checks the purchase and consumption status of an inapp item. + * @alias androidpublisher.inapppurchases.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.packageName The package name of the application the inapp product was sold in (for example, 'com.some.thing'). + * @param {string} params.productId The inapp product SKU (for example, 'com.some.thing.inapp1'). + * @param {string} params.token The token provided to the user's device when the inapp product was purchased. + * @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?: Params$Resource$Inapppurchases$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Inapppurchases$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Inapppurchases$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Inapppurchases$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The package name of the application the inapp product was sold in (for + * example, 'com.some.thing'). + */ + packageName?: string; + /** + * The inapp product SKU (for example, 'com.some.thing.inapp1'). + */ + productId?: string; + /** + * The token provided to the user's device when the inapp product was + * purchased. + */ + token?: string; + } + class Resource$Purchases { + root: Androidpublisher; + constructor(root: Androidpublisher); + getRoot(): Androidpublisher; + /** + * androidpublisher.purchases.cancel + * @desc Cancels a user's subscription purchase. The subscription remains + * valid until its expiration time. + * @alias androidpublisher.purchases.cancel + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.packageName The package name of the application for which this subscription was purchased (for example, 'com.some.thing'). + * @param {string} params.subscriptionId The purchased subscription ID (for example, 'monthly001'). + * @param {string} params.token The token provided to the user's device when the subscription was purchased. + * @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 + */ + cancel(params?: Params$Resource$Purchases$Cancel, options?: MethodOptions): AxiosPromise; + cancel(params: Params$Resource$Purchases$Cancel, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + cancel(params: Params$Resource$Purchases$Cancel, callback: BodyResponseCallback): void; + cancel(callback: BodyResponseCallback): void; + /** + * androidpublisher.purchases.get + * @desc Checks whether a user's subscription purchase is valid and returns + * its expiry time. + * @alias androidpublisher.purchases.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.packageName The package name of the application for which this subscription was purchased (for example, 'com.some.thing'). + * @param {string} params.subscriptionId The purchased subscription ID (for example, 'monthly001'). + * @param {string} params.token The token provided to the user's device when the subscription was purchased. + * @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?: Params$Resource$Purchases$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Purchases$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Purchases$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Purchases$Cancel { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The package name of the application for which this subscription was + * purchased (for example, 'com.some.thing'). + */ + packageName?: string; + /** + * The purchased subscription ID (for example, 'monthly001'). + */ + subscriptionId?: string; + /** + * The token provided to the user's device when the subscription was + * purchased. + */ + token?: string; + } + interface Params$Resource$Purchases$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The package name of the application for which this subscription was + * purchased (for example, 'com.some.thing'). + */ + packageName?: string; + /** + * The purchased subscription ID (for example, 'monthly001'). + */ + subscriptionId?: string; + /** + * The token provided to the user's device when the subscription was + * purchased. + */ + token?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/androidpublisher/v1.1.js b/express-server/node_modules/googleapis/build/src/apis/androidpublisher/v1.1.js new file mode 100644 index 00000000..1dbb6069 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/androidpublisher/v1.1.js @@ -0,0 +1,172 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var androidpublisher_v1_1; +(function (androidpublisher_v1_1) { + /** + * Google Play Developer API + * + * Lets Android application developers access their Google Play accounts. + * + * @example + * const {google} = require('googleapis'); + * const androidpublisher = google.androidpublisher('v1.1'); + * + * @namespace androidpublisher + * @type {Function} + * @version v1.1 + * @variation v1.1 + * @param {object=} options Options for Androidpublisher + */ + class Androidpublisher { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.inapppurchases = new Resource$Inapppurchases(this); + this.purchases = new Resource$Purchases(this); + } + getRoot() { + return this.root; + } + } + androidpublisher_v1_1.Androidpublisher = Androidpublisher; + class Resource$Inapppurchases { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v1.1/applications/{packageName}/inapp/{productId}/purchases/{token}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['packageName', 'productId', 'token'], + pathParams: ['packageName', 'productId', 'token'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidpublisher_v1_1.Resource$Inapppurchases = Resource$Inapppurchases; + class Resource$Purchases { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + cancel(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v1.1/applications/{packageName}/subscriptions/{subscriptionId}/purchases/{token}/cancel') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['packageName', 'subscriptionId', 'token'], + pathParams: ['packageName', 'subscriptionId', 'token'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v1.1/applications/{packageName}/subscriptions/{subscriptionId}/purchases/{token}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['packageName', 'subscriptionId', 'token'], + pathParams: ['packageName', 'subscriptionId', 'token'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidpublisher_v1_1.Resource$Purchases = Resource$Purchases; +})(androidpublisher_v1_1 = exports.androidpublisher_v1_1 || (exports.androidpublisher_v1_1 = {})); +//# sourceMappingURL=v1.1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/androidpublisher/v1.1.js.map b/express-server/node_modules/googleapis/build/src/apis/androidpublisher/v1.1.js.map new file mode 100644 index 00000000..e417429e --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/androidpublisher/v1.1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.1.js","sourceRoot":"","sources":["../../../../src/apis/androidpublisher/v1.1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/androidpublisher/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/androidpublisher/v1.d.ts new file mode 100644 index 00000000..acf36bd9 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/androidpublisher/v1.d.ts @@ -0,0 +1,155 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace androidpublisher_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Google Play Developer API + * + * Lets Android application developers access their Google Play accounts. + * + * @example + * const {google} = require('googleapis'); + * const androidpublisher = google.androidpublisher('v1'); + * + * @namespace androidpublisher + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Androidpublisher + */ + class Androidpublisher { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + purchases: Resource$Purchases; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * A SubscriptionPurchase resource indicates the status of a user's + * subscription purchase. + */ + interface Schema$SubscriptionPurchase { + /** + * Whether the subscription will automatically be renewed when it reaches + * its current expiry time. + */ + autoRenewing?: boolean; + /** + * Time at which the subscription was granted, in milliseconds since the + * Epoch. + */ + initiationTimestampMsec?: string; + /** + * This kind represents a subscriptionPurchase object in the + * androidpublisher service. + */ + kind?: string; + /** + * Time at which the subscription will expire, in milliseconds since the + * Epoch. + */ + validUntilTimestampMsec?: string; + } + class Resource$Purchases { + root: Androidpublisher; + constructor(root: Androidpublisher); + getRoot(): Androidpublisher; + /** + * androidpublisher.purchases.cancel + * @desc Cancels a user's subscription purchase. The subscription remains + * valid until its expiration time. + * @alias androidpublisher.purchases.cancel + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.packageName The package name of the application for which this subscription was purchased (for example, 'com.some.thing'). + * @param {string} params.subscriptionId The purchased subscription ID (for example, 'monthly001'). + * @param {string} params.token The token provided to the user's device when the subscription was purchased. + * @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 + */ + cancel(params?: Params$Resource$Purchases$Cancel, options?: MethodOptions): AxiosPromise; + cancel(params: Params$Resource$Purchases$Cancel, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + cancel(params: Params$Resource$Purchases$Cancel, callback: BodyResponseCallback): void; + cancel(callback: BodyResponseCallback): void; + /** + * androidpublisher.purchases.get + * @desc Checks whether a user's subscription purchase is valid and returns + * its expiry time. + * @alias androidpublisher.purchases.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.packageName The package name of the application for which this subscription was purchased (for example, 'com.some.thing'). + * @param {string} params.subscriptionId The purchased subscription ID (for example, 'monthly001'). + * @param {string} params.token The token provided to the user's device when the subscription was purchased. + * @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?: Params$Resource$Purchases$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Purchases$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Purchases$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Purchases$Cancel { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The package name of the application for which this subscription was + * purchased (for example, 'com.some.thing'). + */ + packageName?: string; + /** + * The purchased subscription ID (for example, 'monthly001'). + */ + subscriptionId?: string; + /** + * The token provided to the user's device when the subscription was + * purchased. + */ + token?: string; + } + interface Params$Resource$Purchases$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The package name of the application for which this subscription was + * purchased (for example, 'com.some.thing'). + */ + packageName?: string; + /** + * The purchased subscription ID (for example, 'monthly001'). + */ + subscriptionId?: string; + /** + * The token provided to the user's device when the subscription was + * purchased. + */ + token?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/androidpublisher/v1.js b/express-server/node_modules/googleapis/build/src/apis/androidpublisher/v1.js new file mode 100644 index 00000000..f7d80b16 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/androidpublisher/v1.js @@ -0,0 +1,129 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var androidpublisher_v1; +(function (androidpublisher_v1) { + /** + * Google Play Developer API + * + * Lets Android application developers access their Google Play accounts. + * + * @example + * const {google} = require('googleapis'); + * const androidpublisher = google.androidpublisher('v1'); + * + * @namespace androidpublisher + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Androidpublisher + */ + class Androidpublisher { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.purchases = new Resource$Purchases(this); + } + getRoot() { + return this.root; + } + } + androidpublisher_v1.Androidpublisher = Androidpublisher; + class Resource$Purchases { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + cancel(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v1/applications/{packageName}/subscriptions/{subscriptionId}/purchases/{token}/cancel') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['packageName', 'subscriptionId', 'token'], + pathParams: ['packageName', 'subscriptionId', 'token'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v1/applications/{packageName}/subscriptions/{subscriptionId}/purchases/{token}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['packageName', 'subscriptionId', 'token'], + pathParams: ['packageName', 'subscriptionId', 'token'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidpublisher_v1.Resource$Purchases = Resource$Purchases; +})(androidpublisher_v1 = exports.androidpublisher_v1 || (exports.androidpublisher_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/androidpublisher/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/androidpublisher/v1.js.map new file mode 100644 index 00000000..6038de5f --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/androidpublisher/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/androidpublisher/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/androidpublisher/v2.d.ts b/express-server/node_modules/googleapis/build/src/apis/androidpublisher/v2.d.ts new file mode 100644 index 00000000..0467eaf1 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/androidpublisher/v2.d.ts @@ -0,0 +1,3451 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace androidpublisher_v2 { + interface Options extends GlobalOptions { + version: 'v2'; + } + /** + * Google Play Developer API + * + * Lets Android application developers access their Google Play accounts. + * + * @example + * const {google} = require('googleapis'); + * const androidpublisher = google.androidpublisher('v2'); + * + * @namespace androidpublisher + * @type {Function} + * @version v2 + * @variation v2 + * @param {object=} options Options for Androidpublisher + */ + class Androidpublisher { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + edits: Resource$Edits; + inappproducts: Resource$Inappproducts; + orders: Resource$Orders; + purchases: Resource$Purchases; + reviews: Resource$Reviews; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + interface Schema$Apk { + /** + * Information about the binary payload of this APK. + */ + binary?: Schema$ApkBinary; + /** + * The version code of the APK, as specified in the APK's manifest file. + */ + versionCode?: number; + } + /** + * Represents the binary payload of an APK. + */ + interface Schema$ApkBinary { + /** + * A sha1 hash of the APK payload, encoded as a hex string and matching the + * output of the sha1sum command. + */ + sha1?: string; + /** + * A sha256 hash of the APK payload, encoded as a hex string and matching + * the output of the sha256sum command. + */ + sha256?: string; + } + interface Schema$ApkListing { + /** + * The language code, in BCP 47 format (eg "en-US"). + */ + language?: string; + /** + * Describe what's new in your APK. + */ + recentChanges?: string; + } + interface Schema$ApkListingsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "androidpublisher#apkListingsListResponse". + */ + kind?: string; + listings?: Schema$ApkListing[]; + } + interface Schema$ApksAddExternallyHostedRequest { + /** + * The definition of the externally-hosted APK and where it is located. + */ + externallyHostedApk?: Schema$ExternallyHostedApk; + } + interface Schema$ApksAddExternallyHostedResponse { + /** + * The definition of the externally-hosted APK and where it is located. + */ + externallyHostedApk?: Schema$ExternallyHostedApk; + } + interface Schema$ApksListResponse { + apks?: Schema$Apk[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "androidpublisher#apksListResponse". + */ + kind?: string; + } + interface Schema$AppDetails { + /** + * The user-visible support email for this app. + */ + contactEmail?: string; + /** + * The user-visible support telephone number for this app. + */ + contactPhone?: string; + /** + * The user-visible website for this app. + */ + contactWebsite?: string; + /** + * Default language code, in BCP 47 format (eg "en-US"). + */ + defaultLanguage?: string; + } + /** + * Represents an edit of an app. An edit allows clients to make multiple + * changes before committing them in one operation. + */ + interface Schema$AppEdit { + /** + * The time at which the edit will expire and will be no longer valid for + * use in any subsequent API calls (encoded as seconds since the Epoch). + */ + expiryTimeSeconds?: string; + /** + * The ID of the edit that can be used in subsequent API calls. + */ + id?: string; + } + interface Schema$Bundle { + /** + * A sha1 hash of the upload payload, encoded as a hex string and matching + * the output of the sha1sum command. + */ + sha1?: string; + /** + * A sha256 hash of the upload payload, encoded as a hex string and matching + * the output of the sha256sum command. + */ + sha256?: string; + /** + * The version code of the Android App Bundle. As specified in the Android + * App Bundle's base module APK manifest file. + */ + versionCode?: number; + } + interface Schema$BundlesListResponse { + bundles?: Schema$Bundle[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "androidpublisher#bundlesListResponse". + */ + kind?: string; + } + interface Schema$Comment { + /** + * A comment from a developer. + */ + developerComment?: Schema$DeveloperComment; + /** + * A comment from a user. + */ + userComment?: Schema$UserComment; + } + /** + * Represents a deobfuscation file. + */ + interface Schema$DeobfuscationFile { + /** + * The type of the deobfuscation file. + */ + symbolType?: string; + } + interface Schema$DeobfuscationFilesUploadResponse { + deobfuscationFile?: Schema$DeobfuscationFile; + } + interface Schema$DeveloperComment { + /** + * The last time at which this comment was updated. + */ + lastModified?: Schema$Timestamp; + /** + * The content of the comment, i.e. reply body. + */ + text?: string; + } + interface Schema$DeviceMetadata { + /** + * Device CPU make e.g. "Qualcomm" + */ + cpuMake?: string; + /** + * Device CPU model e.g. "MSM8974" + */ + cpuModel?: string; + /** + * Device class (e.g. tablet) + */ + deviceClass?: string; + /** + * OpenGL version + */ + glEsVersion?: number; + /** + * Device manufacturer (e.g. Motorola) + */ + manufacturer?: string; + /** + * Comma separated list of native platforms (e.g. "arm", + * "arm7") + */ + nativePlatform?: string; + /** + * Device model name (e.g. Droid) + */ + productName?: string; + /** + * Device RAM in Megabytes e.g. "2048" + */ + ramMb?: number; + /** + * Screen density in DPI + */ + screenDensityDpi?: number; + /** + * Screen height in pixels + */ + screenHeightPx?: number; + /** + * Screen width in pixels + */ + screenWidthPx?: number; + } + interface Schema$ExpansionFile { + /** + * If set this field indicates that this APK has an Expansion File uploaded + * to it: this APK does not reference another APK's Expansion File. The + * field's value is the size of the uploaded Expansion File in bytes. + */ + fileSize?: string; + /** + * If set this APK's Expansion File references another APK's + * Expansion File. The file_size field will not be set. + */ + referencesVersion?: number; + } + interface Schema$ExpansionFilesUploadResponse { + expansionFile?: Schema$ExpansionFile; + } + /** + * Defines an APK available for this application that is hosted externally and + * not uploaded to Google Play. This function is only available to enterprises + * who are using Google Play for Work, and whos application is restricted to + * the enterprise private channel + */ + interface Schema$ExternallyHostedApk { + /** + * The application label. + */ + applicationLabel?: string; + /** + * A certificate (or array of certificates if a certificate-chain is used) + * used to signed this APK, represented as a base64 encoded byte array. + */ + certificateBase64s?: string[]; + /** + * The URL at which the APK is hosted. This must be an https URL. + */ + externallyHostedUrl?: string; + /** + * The SHA1 checksum of this APK, represented as a base64 encoded byte + * array. + */ + fileSha1Base64?: string; + /** + * The SHA256 checksum of this APK, represented as a base64 encoded byte + * array. + */ + fileSha256Base64?: string; + /** + * The file size in bytes of this APK. + */ + fileSize?: string; + /** + * The icon image from the APK, as a base64 encoded byte array. + */ + iconBase64?: string; + /** + * The maximum SDK supported by this APK (optional). + */ + maximumSdk?: number; + /** + * The minimum SDK targeted by this APK. + */ + minimumSdk?: number; + /** + * The native code environments supported by this APK (optional). + */ + nativeCodes?: string[]; + /** + * The package name. + */ + packageName?: string; + /** + * The features required by this APK (optional). + */ + usesFeatures?: string[]; + /** + * The permissions requested by this APK. + */ + usesPermissions?: Schema$ExternallyHostedApkUsesPermission[]; + /** + * The version code of this APK. + */ + versionCode?: number; + /** + * The version name of this APK. + */ + versionName?: string; + } + /** + * A permission used by this APK. + */ + interface Schema$ExternallyHostedApkUsesPermission { + /** + * Optionally, the maximum SDK version for which the permission is required. + */ + maxSdkVersion?: number; + /** + * The name of the permission requested. + */ + name?: string; + } + interface Schema$Image { + /** + * A unique id representing this image. + */ + id?: string; + /** + * A sha1 hash of the image that was uploaded. + */ + sha1?: string; + /** + * A URL that will serve a preview of the image. + */ + url?: string; + } + interface Schema$ImagesDeleteAllResponse { + deleted?: Schema$Image[]; + } + interface Schema$ImagesListResponse { + images?: Schema$Image[]; + } + interface Schema$ImagesUploadResponse { + image?: Schema$Image; + } + interface Schema$InAppProduct { + /** + * The default language of the localized data, as defined by BCP 47. e.g. + * "en-US", "en-GB". + */ + defaultLanguage?: string; + /** + * Default price cannot be zero. In-app products can never be free. Default + * price is always in the developer's Checkout merchant currency. + */ + defaultPrice?: Schema$Price; + /** + * Grace period of the subscription, specified in ISO 8601 format. It will + * allow developers to give their subscribers a grace period when the + * payment for the new recurrence period is declined. Acceptable values = + * "P3D" (three days) and "P7D" (seven days) + */ + gracePeriod?: string; + /** + * List of localized title and description data. + */ + listings?: any; + /** + * The package name of the parent app. + */ + packageName?: string; + /** + * Prices per buyer region. None of these prices should be zero. In-app + * products can never be free. + */ + prices?: any; + /** + * Purchase type enum value. Unmodifiable after creation. + */ + purchaseType?: string; + /** + * Definition of a season for a seasonal subscription. Can be defined only + * for yearly subscriptions. + */ + season?: Schema$Season; + /** + * The stock-keeping-unit (SKU) of the product, unique within an app. + */ + sku?: string; + status?: string; + /** + * Subscription period, specified in ISO 8601 format. Acceptable values are + * "P1W" (one week), "P1M" (one month), "P3M" + * (three months), "P6M" (six months), and "P1Y" (one + * year). + */ + subscriptionPeriod?: string; + /** + * Trial period, specified in ISO 8601 format. Acceptable values are + * anything between "P7D" (seven days) and "P999D" (999 + * days). Seasonal subscriptions cannot have a trial period. + */ + trialPeriod?: string; + } + interface Schema$InAppProductListing { + description?: string; + title?: string; + } + interface Schema$InappproductsListResponse { + inappproduct?: Schema$InAppProduct[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "androidpublisher#inappproductsListResponse". + */ + kind?: string; + pageInfo?: Schema$PageInfo; + tokenPagination?: Schema$TokenPagination; + } + interface Schema$Listing { + /** + * Full description of the app; this may be up to 4000 characters in length. + */ + fullDescription?: string; + /** + * Language localization code (for example, "de-AT" for Austrian + * German). + */ + language?: string; + /** + * Short description of the app (previously known as promo text); this may + * be up to 80 characters in length. + */ + shortDescription?: string; + /** + * App's localized title. + */ + title?: string; + /** + * URL of a promotional YouTube video for the app. + */ + video?: string; + } + interface Schema$ListingsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "androidpublisher#listingsListResponse". + */ + kind?: string; + listings?: Schema$Listing[]; + } + interface Schema$MonthDay { + /** + * Day of a month, value in [1, 31] range. Valid range depends on the + * specified month. + */ + day?: number; + /** + * Month of a year. e.g. 1 = JAN, 2 = FEB etc. + */ + month?: number; + } + interface Schema$PageInfo { + resultPerPage?: number; + startIndex?: number; + totalResults?: number; + } + interface Schema$Price { + /** + * 3 letter Currency code, as defined by ISO 4217. + */ + currency?: string; + /** + * The price in millionths of the currency base unit represented as a + * string. + */ + priceMicros?: string; + } + /** + * A ProductPurchase resource indicates the status of a user's inapp + * product purchase. + */ + interface Schema$ProductPurchase { + /** + * The consumption state of the inapp product. Possible values are: - Yet + * to be consumed - Consumed + */ + consumptionState?: number; + /** + * A developer-specified string that contains supplemental information about + * an order. + */ + developerPayload?: string; + /** + * This kind represents an inappPurchase object in the androidpublisher + * service. + */ + kind?: string; + /** + * The order id associated with the purchase of the inapp product. + */ + orderId?: string; + /** + * The purchase state of the order. Possible values are: - Purchased - + * Canceled + */ + purchaseState?: number; + /** + * The time the product was purchased, in milliseconds since the epoch (Jan + * 1, 1970). + */ + purchaseTimeMillis?: string; + /** + * The type of purchase of the inapp product. This field is only set if this + * purchase was not made using the standard in-app billing flow. Possible + * values are: - Test (i.e. purchased from a license testing account) - + * Promo (i.e. purchased using a promo code) + */ + purchaseType?: number; + } + interface Schema$Prorate { + /** + * Default price cannot be zero and must be less than the full subscription + * price. Default price is always in the developer's Checkout merchant + * currency. Targeted countries have their prices set automatically based on + * the default_price. + */ + defaultPrice?: Schema$Price; + /** + * Defines the first day on which the price takes effect. + */ + start?: Schema$MonthDay; + } + interface Schema$Review { + /** + * The name of the user who wrote the review. + */ + authorName?: string; + /** + * A repeated field containing comments for the review. + */ + comments?: Schema$Comment[]; + /** + * Unique identifier for this review. + */ + reviewId?: string; + } + interface Schema$ReviewReplyResult { + /** + * The time at which the reply took effect. + */ + lastEdited?: Schema$Timestamp; + /** + * The reply text that was applied. + */ + replyText?: string; + } + interface Schema$ReviewsListResponse { + pageInfo?: Schema$PageInfo; + reviews?: Schema$Review[]; + tokenPagination?: Schema$TokenPagination; + } + interface Schema$ReviewsReplyRequest { + /** + * The text to set as the reply. Replies of more than approximately 350 + * characters will be rejected. HTML tags will be stripped. + */ + replyText?: string; + } + interface Schema$ReviewsReplyResponse { + result?: Schema$ReviewReplyResult; + } + interface Schema$Season { + /** + * Inclusive end date of the recurrence period. + */ + end?: Schema$MonthDay; + /** + * Optionally present list of prorations for the season. Each proration is a + * one-off discounted entry into a subscription. Each proration contains the + * first date on which the discount is available and the new pricing + * information. + */ + prorations?: Schema$Prorate[]; + /** + * Inclusive start date of the recurrence period. + */ + start?: Schema$MonthDay; + } + /** + * Information provided by the user when they complete the subscription + * cancellation flow (cancellation reason survey). + */ + interface Schema$SubscriptionCancelSurveyResult { + /** + * The cancellation reason the user chose in the survey. Possible values + * are: - Other - I don't use this service enough - Technical issues + * - Cost-related reasons - I found a better app + */ + cancelSurveyReason?: number; + /** + * The customized input cancel reason from the user. Only present when + * cancelReason is 0. + */ + userInputCancelReason?: string; + } + /** + * A SubscriptionDeferralInfo contains the data needed to defer a subscription + * purchase to a future expiry time. + */ + interface Schema$SubscriptionDeferralInfo { + /** + * The desired next expiry time to assign to the subscription, in + * milliseconds since the Epoch. The given time must be later/greater than + * the current expiry time for the subscription. + */ + desiredExpiryTimeMillis?: string; + /** + * The expected expiry time for the subscription. If the current expiry time + * for the subscription is not the value specified here, the deferral will + * not occur. + */ + expectedExpiryTimeMillis?: string; + } + /** + * Contains the price change information for a subscription that can be used + * to control the user journey for the price change in the app. This can be in + * the form of seeking confirmation from the user or tailoring the experience + * for a successful conversion. + */ + interface Schema$SubscriptionPriceChange { + /** + * The new price the subscription will renew with if the price change is + * accepted by the user. + */ + newPrice?: Schema$Price; + /** + * The current state of the price change. Possible values are: - + * Outstanding: State for a pending price change waiting for the user to + * agree. In this state, you can optionally seek confirmation from the user + * using the In-App API. - Accepted: State for an accepted price change + * that the subscription will renew with unless it's canceled. The price + * change takes effect on a future date when the subscription renews. Note + * that the change might not occur when the subscription is renewed next. + */ + state?: number; + } + /** + * A SubscriptionPurchase resource indicates the status of a user's + * subscription purchase. + */ + interface Schema$SubscriptionPurchase { + /** + * Whether the subscription will automatically be renewed when it reaches + * its current expiry time. + */ + autoRenewing?: boolean; + /** + * The reason why a subscription was canceled or is not auto-renewing. + * Possible values are: - User canceled the subscription - Subscription + * was canceled by the system, for example because of a billing problem - + * Subscription was replaced with a new subscription - Subscription was + * canceled by the developer + */ + cancelReason?: number; + /** + * Information provided by the user when they complete the subscription + * cancellation flow (cancellation reason survey). + */ + cancelSurveyResult?: Schema$SubscriptionCancelSurveyResult; + /** + * ISO 3166-1 alpha-2 billing country/region code of the user at the time + * the subscription was granted. + */ + countryCode?: string; + /** + * A developer-specified string that contains supplemental information about + * an order. + */ + developerPayload?: string; + /** + * The email address of the user when the subscription was purchased. Only + * present for purchases made with 'Subscribe with Google'. + */ + emailAddress?: string; + /** + * Time at which the subscription will expire, in milliseconds since the + * Epoch. + */ + expiryTimeMillis?: string; + /** + * The family name of the user when the subscription was purchased. Only + * present for purchases made with 'Subscribe with Google'. + */ + familyName?: string; + /** + * The given name of the user when the subscription was purchased. Only + * present for purchases made with 'Subscribe with Google'. + */ + givenName?: string; + /** + * This kind represents a subscriptionPurchase object in the + * androidpublisher service. + */ + kind?: string; + /** + * The purchase token of the originating purchase if this subscription is + * one of the following: - Re-signup of a canceled but non-lapsed + * subscription - Upgrade/downgrade from a previous subscription For + * example, suppose a user originally signs up and you receive purchase + * token X, then the user cancels and goes through the resignup flow (before + * their subscription lapses) and you receive purchase token Y, and finally + * the user upgrades their subscription and you receive purchase token Z. If + * you call this API with purchase token Z, this field will be set to Y. If + * you call this API with purchase token Y, this field will be set to X. If + * you call this API with purchase token X, this field will not be set. + */ + linkedPurchaseToken?: string; + /** + * The order id of the latest recurring order associated with the purchase + * of the subscription. + */ + orderId?: string; + /** + * The payment state of the subscription. Possible values are: - Payment + * pending - Payment received - Free trial - Pending deferred + * upgrade/downgrade + */ + paymentState?: number; + /** + * Price of the subscription, not including tax. Price is expressed in + * micro-units, where 1,000,000 micro-units represents one unit of the + * currency. For example, if the subscription price is €1.99, + * price_amount_micros is 1990000. + */ + priceAmountMicros?: string; + /** + * The latest price change information available. This is present only when + * there is an upcoming price change for the subscription yet to be applied. + * Once the subscription renews with the new price or the subscription is + * canceled, no price change information will be returned. + */ + priceChange?: Schema$SubscriptionPriceChange; + /** + * ISO 4217 currency code for the subscription price. For example, if the + * price is specified in British pounds sterling, price_currency_code is + * "GBP". + */ + priceCurrencyCode?: string; + /** + * The profile id of the user when the subscription was purchased. Only + * present for purchases made with 'Subscribe with Google'. + */ + profileId?: string; + /** + * The profile name of the user when the subscription was purchased. Only + * present for purchases made with 'Subscribe with Google'. + */ + profileName?: string; + /** + * The type of purchase of the subscription. This field is only set if this + * purchase was not made using the standard in-app billing flow. Possible + * values are: - Test (i.e. purchased from a license testing account) + */ + purchaseType?: number; + /** + * Time at which the subscription was granted, in milliseconds since the + * Epoch. + */ + startTimeMillis?: string; + /** + * The time at which the subscription was canceled by the user, in + * milliseconds since the epoch. Only present if cancelReason is 0. + */ + userCancellationTimeMillis?: string; + } + interface Schema$SubscriptionPurchasesDeferRequest { + /** + * The information about the new desired expiry time for the subscription. + */ + deferralInfo?: Schema$SubscriptionDeferralInfo; + } + interface Schema$SubscriptionPurchasesDeferResponse { + /** + * The new expiry time for the subscription in milliseconds since the Epoch. + */ + newExpiryTimeMillis?: string; + } + interface Schema$Testers { + googleGroups?: string[]; + googlePlusCommunities?: string[]; + } + interface Schema$Timestamp { + nanos?: number; + seconds?: string; + } + interface Schema$TokenPagination { + nextPageToken?: string; + previousPageToken?: string; + } + interface Schema$Track { + /** + * Identifier for this track. + */ + track?: string; + userFraction?: number; + /** + * Version codes to make active on this track. Note that this list should + * contain all versions you wish to be active, including those you wish to + * retain from previous releases. + */ + versionCodes?: number[]; + } + interface Schema$TracksListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "androidpublisher#tracksListResponse". + */ + kind?: string; + tracks?: Schema$Track[]; + } + interface Schema$UserComment { + /** + * Integer Android SDK version of the user's device at the time the + * review was written, e.g. 23 is Marshmallow. May be absent. + */ + androidOsVersion?: number; + /** + * Integer version code of the app as installed at the time the review was + * written. May be absent. + */ + appVersionCode?: number; + /** + * String version name of the app as installed at the time the review was + * written. May be absent. + */ + appVersionName?: string; + /** + * Codename for the reviewer's device, e.g. klte, flounder. May be + * absent. + */ + device?: string; + /** + * Some information about the characteristics of the user's device + */ + deviceMetadata?: Schema$DeviceMetadata; + /** + * The last time at which this comment was updated. + */ + lastModified?: Schema$Timestamp; + /** + * Untranslated text of the review, in the case where the review has been + * translated. If the review has not been translated this is left blank. + */ + originalText?: string; + /** + * Language code for the reviewer. This is taken from the device settings so + * is not guaranteed to match the language the review is written in. May be + * absent. + */ + reviewerLanguage?: string; + /** + * The star rating associated with the review, from 1 to 5. + */ + starRating?: number; + /** + * The content of the comment, i.e. review body. In some cases users have + * been able to write a review with separate title and body; in those cases + * the title and body are concatenated and separated by a tab character. + */ + text?: string; + /** + * Number of users who have given this review a thumbs down + */ + thumbsDownCount?: number; + /** + * Number of users who have given this review a thumbs up + */ + thumbsUpCount?: number; + } + /** + * A VoidedPurchase resource indicates a purchase that was either + * canceled/refunded/charged-back. + */ + interface Schema$VoidedPurchase { + /** + * This kind represents a voided purchase object in the androidpublisher + * service. + */ + kind?: string; + /** + * The time at which the purchase was made, in milliseconds since the epoch + * (Jan 1, 1970). + */ + purchaseTimeMillis?: string; + /** + * The token that was generated when a purchase was made. This uniquely + * identifies a purchase. + */ + purchaseToken?: string; + /** + * The time at which the purchase was canceled/refunded/charged-back, in + * milliseconds since the epoch (Jan 1, 1970). + */ + voidedTimeMillis?: string; + } + interface Schema$VoidedPurchasesListResponse { + pageInfo?: Schema$PageInfo; + tokenPagination?: Schema$TokenPagination; + voidedPurchases?: Schema$VoidedPurchase[]; + } + class Resource$Edits { + root: Androidpublisher; + apklistings: Resource$Edits$Apklistings; + apks: Resource$Edits$Apks; + bundles: Resource$Edits$Bundles; + deobfuscationfiles: Resource$Edits$Deobfuscationfiles; + details: Resource$Edits$Details; + expansionfiles: Resource$Edits$Expansionfiles; + images: Resource$Edits$Images; + listings: Resource$Edits$Listings; + testers: Resource$Edits$Testers; + tracks: Resource$Edits$Tracks; + constructor(root: Androidpublisher); + getRoot(): Androidpublisher; + /** + * androidpublisher.edits.commit + * @desc Commits/applies the changes made in this edit back to the app. + * @alias androidpublisher.edits.commit + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @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 + */ + commit(params?: Params$Resource$Edits$Commit, options?: MethodOptions): AxiosPromise; + commit(params: Params$Resource$Edits$Commit, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + commit(params: Params$Resource$Edits$Commit, callback: BodyResponseCallback): void; + commit(callback: BodyResponseCallback): void; + /** + * androidpublisher.edits.delete + * @desc Deletes an edit for an app. Creating a new edit will automatically + * delete any of your previous edits so this method need only be called if + * you want to preemptively abandon an edit. + * @alias androidpublisher.edits.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @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?: Params$Resource$Edits$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Edits$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Edits$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * androidpublisher.edits.get + * @desc Returns information about the edit specified. Calls will fail if + * the edit is no long active (e.g. has been deleted, superseded or + * expired). + * @alias androidpublisher.edits.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @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?: Params$Resource$Edits$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Edits$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Edits$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * androidpublisher.edits.insert + * @desc Creates a new edit for an app, populated with the app's current + * state. + * @alias androidpublisher.edits.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @param {().AppEdit} 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?: Params$Resource$Edits$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Edits$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Edits$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * androidpublisher.edits.validate + * @desc Checks that the edit can be successfully committed. The edit's + * changes are not applied to the live app. + * @alias androidpublisher.edits.validate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @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 + */ + validate(params?: Params$Resource$Edits$Validate, options?: MethodOptions): AxiosPromise; + validate(params: Params$Resource$Edits$Validate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + validate(params: Params$Resource$Edits$Validate, callback: BodyResponseCallback): void; + validate(callback: BodyResponseCallback): void; + } + interface Params$Resource$Edits$Commit { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + } + interface Params$Resource$Edits$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + } + interface Params$Resource$Edits$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + } + interface Params$Resource$Edits$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AppEdit; + } + interface Params$Resource$Edits$Validate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + } + class Resource$Edits$Apklistings { + root: Androidpublisher; + constructor(root: Androidpublisher); + getRoot(): Androidpublisher; + /** + * androidpublisher.edits.apklistings.delete + * @desc Deletes the APK-specific localized listing for a specified APK and + * language code. + * @alias androidpublisher.edits.apklistings.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.apkVersionCode The APK version code whose APK-specific listings should be read or modified. + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.language The language code (a BCP-47 language tag) of the APK-specific localized listing to read or modify. For example, to select Austrian German, pass "de-AT". + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @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?: Params$Resource$Edits$Apklistings$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Edits$Apklistings$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Edits$Apklistings$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * androidpublisher.edits.apklistings.deleteall + * @desc Deletes all the APK-specific localized listings for a specified + * APK. + * @alias androidpublisher.edits.apklistings.deleteall + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.apkVersionCode The APK version code whose APK-specific listings should be read or modified. + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @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 + */ + deleteall(params?: Params$Resource$Edits$Apklistings$Deleteall, options?: MethodOptions): AxiosPromise; + deleteall(params: Params$Resource$Edits$Apklistings$Deleteall, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + deleteall(params: Params$Resource$Edits$Apklistings$Deleteall, callback: BodyResponseCallback): void; + deleteall(callback: BodyResponseCallback): void; + /** + * androidpublisher.edits.apklistings.get + * @desc Fetches the APK-specific localized listing for a specified APK and + * language code. + * @alias androidpublisher.edits.apklistings.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.apkVersionCode The APK version code whose APK-specific listings should be read or modified. + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.language The language code (a BCP-47 language tag) of the APK-specific localized listing to read or modify. For example, to select Austrian German, pass "de-AT". + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @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?: Params$Resource$Edits$Apklistings$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Edits$Apklistings$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Edits$Apklistings$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * androidpublisher.edits.apklistings.list + * @desc Lists all the APK-specific localized listings for a specified APK. + * @alias androidpublisher.edits.apklistings.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.apkVersionCode The APK version code whose APK-specific listings should be read or modified. + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @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?: Params$Resource$Edits$Apklistings$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Edits$Apklistings$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Edits$Apklistings$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * androidpublisher.edits.apklistings.patch + * @desc Updates or creates the APK-specific localized listing for a + * specified APK and language code. This method supports patch semantics. + * @alias androidpublisher.edits.apklistings.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.apkVersionCode The APK version code whose APK-specific listings should be read or modified. + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.language The language code (a BCP-47 language tag) of the APK-specific localized listing to read or modify. For example, to select Austrian German, pass "de-AT". + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @param {().ApkListing} 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 + */ + patch(params?: Params$Resource$Edits$Apklistings$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Edits$Apklistings$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Edits$Apklistings$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * androidpublisher.edits.apklistings.update + * @desc Updates or creates the APK-specific localized listing for a + * specified APK and language code. + * @alias androidpublisher.edits.apklistings.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.apkVersionCode The APK version code whose APK-specific listings should be read or modified. + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.language The language code (a BCP-47 language tag) of the APK-specific localized listing to read or modify. For example, to select Austrian German, pass "de-AT". + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @param {().ApkListing} 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?: Params$Resource$Edits$Apklistings$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Edits$Apklistings$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Edits$Apklistings$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Edits$Apklistings$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The APK version code whose APK-specific listings should be read or + * modified. + */ + apkVersionCode?: number; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * The language code (a BCP-47 language tag) of the APK-specific localized + * listing to read or modify. For example, to select Austrian German, pass + * "de-AT". + */ + language?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + } + interface Params$Resource$Edits$Apklistings$Deleteall { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The APK version code whose APK-specific listings should be read or + * modified. + */ + apkVersionCode?: number; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + } + interface Params$Resource$Edits$Apklistings$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The APK version code whose APK-specific listings should be read or + * modified. + */ + apkVersionCode?: number; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * The language code (a BCP-47 language tag) of the APK-specific localized + * listing to read or modify. For example, to select Austrian German, pass + * "de-AT". + */ + language?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + } + interface Params$Resource$Edits$Apklistings$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The APK version code whose APK-specific listings should be read or + * modified. + */ + apkVersionCode?: number; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + } + interface Params$Resource$Edits$Apklistings$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The APK version code whose APK-specific listings should be read or + * modified. + */ + apkVersionCode?: number; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * The language code (a BCP-47 language tag) of the APK-specific localized + * listing to read or modify. For example, to select Austrian German, pass + * "de-AT". + */ + language?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ApkListing; + } + interface Params$Resource$Edits$Apklistings$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The APK version code whose APK-specific listings should be read or + * modified. + */ + apkVersionCode?: number; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * The language code (a BCP-47 language tag) of the APK-specific localized + * listing to read or modify. For example, to select Austrian German, pass + * "de-AT". + */ + language?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ApkListing; + } + class Resource$Edits$Apks { + root: Androidpublisher; + constructor(root: Androidpublisher); + getRoot(): Androidpublisher; + /** + * androidpublisher.edits.apks.addexternallyhosted + * @desc Creates a new APK without uploading the APK itself to Google Play, + * instead hosting the APK at a specified URL. This function is only + * available to enterprises using Google Play for Work whose application is + * configured to restrict distribution to the enterprise domain. + * @alias androidpublisher.edits.apks.addexternallyhosted + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @param {().ApksAddExternallyHostedRequest} 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 + */ + addexternallyhosted(params?: Params$Resource$Edits$Apks$Addexternallyhosted, options?: MethodOptions): AxiosPromise; + addexternallyhosted(params: Params$Resource$Edits$Apks$Addexternallyhosted, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + addexternallyhosted(params: Params$Resource$Edits$Apks$Addexternallyhosted, callback: BodyResponseCallback): void; + addexternallyhosted(callback: BodyResponseCallback): void; + /** + * androidpublisher.edits.apks.list + * @alias androidpublisher.edits.apks.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @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?: Params$Resource$Edits$Apks$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Edits$Apks$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Edits$Apks$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * androidpublisher.edits.apks.upload + * @alias androidpublisher.edits.apks.upload + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @param {object} params.media Media object + * @param {string} params.media.mimeType Media mime-type + * @param {string|object} params.media.body Media body contents + * @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 + */ + upload(params?: Params$Resource$Edits$Apks$Upload, options?: MethodOptions): AxiosPromise; + upload(params: Params$Resource$Edits$Apks$Upload, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + upload(params: Params$Resource$Edits$Apks$Upload, callback: BodyResponseCallback): void; + upload(callback: BodyResponseCallback): void; + } + interface Params$Resource$Edits$Apks$Addexternallyhosted { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ApksAddExternallyHostedRequest; + } + interface Params$Resource$Edits$Apks$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + } + interface Params$Resource$Edits$Apks$Upload { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + /** + * Media metadata + */ + media?: { + /** + * Media mime-type + */ + mediaType?: string; + /** + * Media body contents + */ + body?: any; + }; + } + class Resource$Edits$Bundles { + root: Androidpublisher; + constructor(root: Androidpublisher); + getRoot(): Androidpublisher; + /** + * androidpublisher.edits.bundles.list + * @alias androidpublisher.edits.bundles.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @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?: Params$Resource$Edits$Bundles$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Edits$Bundles$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Edits$Bundles$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * androidpublisher.edits.bundles.upload + * @desc Uploads a new Android App Bundle to this edit. If you are using the + * Google API client libraries, please increase the timeout of the http + * request before calling this endpoint (a timeout of 2 minutes is + * recommended). See: + * https://developers.google.com/api-client-library/java/google-api-java-client/errors + * for an example in java. + * @alias androidpublisher.edits.bundles.upload + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @param {object} params.media Media object + * @param {string} params.media.mimeType Media mime-type + * @param {string|object} params.media.body Media body contents + * @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 + */ + upload(params?: Params$Resource$Edits$Bundles$Upload, options?: MethodOptions): AxiosPromise; + upload(params: Params$Resource$Edits$Bundles$Upload, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + upload(params: Params$Resource$Edits$Bundles$Upload, callback: BodyResponseCallback): void; + upload(callback: BodyResponseCallback): void; + } + interface Params$Resource$Edits$Bundles$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + } + interface Params$Resource$Edits$Bundles$Upload { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + /** + * Media metadata + */ + media?: { + /** + * Media mime-type + */ + mediaType?: string; + /** + * Media body contents + */ + body?: any; + }; + } + class Resource$Edits$Deobfuscationfiles { + root: Androidpublisher; + constructor(root: Androidpublisher); + getRoot(): Androidpublisher; + /** + * androidpublisher.edits.deobfuscationfiles.upload + * @desc Uploads the deobfuscation file of the specified APK. If a + * deobfuscation file already exists, it will be replaced. + * @alias androidpublisher.edits.deobfuscationfiles.upload + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.apkVersionCode The version code of the APK whose deobfuscation file is being uploaded. + * @param {string} params.deobfuscationFileType + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.packageName Unique identifier of the Android app for which the deobfuscatiuon files are being uploaded; for example, "com.spiffygame". + * @param {object} params.media Media object + * @param {string} params.media.mimeType Media mime-type + * @param {string|object} params.media.body Media body contents + * @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 + */ + upload(params?: Params$Resource$Edits$Deobfuscationfiles$Upload, options?: MethodOptions): AxiosPromise; + upload(params: Params$Resource$Edits$Deobfuscationfiles$Upload, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + upload(params: Params$Resource$Edits$Deobfuscationfiles$Upload, callback: BodyResponseCallback): void; + upload(callback: BodyResponseCallback): void; + } + interface Params$Resource$Edits$Deobfuscationfiles$Upload { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The version code of the APK whose deobfuscation file is being uploaded. + */ + apkVersionCode?: number; + /** + * + */ + deobfuscationFileType?: string; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * Unique identifier of the Android app for which the deobfuscatiuon files + * are being uploaded; for example, "com.spiffygame". + */ + packageName?: string; + /** + * Media metadata + */ + media?: { + /** + * Media mime-type + */ + mediaType?: string; + /** + * Media body contents + */ + body?: any; + }; + } + class Resource$Edits$Details { + root: Androidpublisher; + constructor(root: Androidpublisher); + getRoot(): Androidpublisher; + /** + * androidpublisher.edits.details.get + * @desc Fetches app details for this edit. This includes the default + * language and developer support contact information. + * @alias androidpublisher.edits.details.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @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?: Params$Resource$Edits$Details$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Edits$Details$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Edits$Details$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * androidpublisher.edits.details.patch + * @desc Updates app details for this edit. This method supports patch + * semantics. + * @alias androidpublisher.edits.details.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @param {().AppDetails} 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 + */ + patch(params?: Params$Resource$Edits$Details$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Edits$Details$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Edits$Details$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * androidpublisher.edits.details.update + * @desc Updates app details for this edit. + * @alias androidpublisher.edits.details.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @param {().AppDetails} 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?: Params$Resource$Edits$Details$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Edits$Details$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Edits$Details$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Edits$Details$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + } + interface Params$Resource$Edits$Details$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AppDetails; + } + interface Params$Resource$Edits$Details$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AppDetails; + } + class Resource$Edits$Expansionfiles { + root: Androidpublisher; + constructor(root: Androidpublisher); + getRoot(): Androidpublisher; + /** + * androidpublisher.edits.expansionfiles.get + * @desc Fetches the Expansion File configuration for the APK specified. + * @alias androidpublisher.edits.expansionfiles.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.apkVersionCode The version code of the APK whose Expansion File configuration is being read or modified. + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.expansionFileType + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @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?: Params$Resource$Edits$Expansionfiles$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Edits$Expansionfiles$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Edits$Expansionfiles$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * androidpublisher.edits.expansionfiles.patch + * @desc Updates the APK's Expansion File configuration to reference another + * APK's Expansion Files. To add a new Expansion File use the Upload method. + * This method supports patch semantics. + * @alias androidpublisher.edits.expansionfiles.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.apkVersionCode The version code of the APK whose Expansion File configuration is being read or modified. + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.expansionFileType + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @param {().ExpansionFile} 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 + */ + patch(params?: Params$Resource$Edits$Expansionfiles$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Edits$Expansionfiles$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Edits$Expansionfiles$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * androidpublisher.edits.expansionfiles.update + * @desc Updates the APK's Expansion File configuration to reference another + * APK's Expansion Files. To add a new Expansion File use the Upload method. + * @alias androidpublisher.edits.expansionfiles.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.apkVersionCode The version code of the APK whose Expansion File configuration is being read or modified. + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.expansionFileType + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @param {().ExpansionFile} 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?: Params$Resource$Edits$Expansionfiles$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Edits$Expansionfiles$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Edits$Expansionfiles$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + /** + * androidpublisher.edits.expansionfiles.upload + * @desc Uploads and attaches a new Expansion File to the APK specified. + * @alias androidpublisher.edits.expansionfiles.upload + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.apkVersionCode The version code of the APK whose Expansion File configuration is being read or modified. + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.expansionFileType + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @param {object} params.media Media object + * @param {string} params.media.mimeType Media mime-type + * @param {string|object} params.media.body Media body contents + * @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 + */ + upload(params?: Params$Resource$Edits$Expansionfiles$Upload, options?: MethodOptions): AxiosPromise; + upload(params: Params$Resource$Edits$Expansionfiles$Upload, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + upload(params: Params$Resource$Edits$Expansionfiles$Upload, callback: BodyResponseCallback): void; + upload(callback: BodyResponseCallback): void; + } + interface Params$Resource$Edits$Expansionfiles$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The version code of the APK whose Expansion File configuration is being + * read or modified. + */ + apkVersionCode?: number; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * + */ + expansionFileType?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + } + interface Params$Resource$Edits$Expansionfiles$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The version code of the APK whose Expansion File configuration is being + * read or modified. + */ + apkVersionCode?: number; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * + */ + expansionFileType?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ExpansionFile; + } + interface Params$Resource$Edits$Expansionfiles$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The version code of the APK whose Expansion File configuration is being + * read or modified. + */ + apkVersionCode?: number; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * + */ + expansionFileType?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ExpansionFile; + } + interface Params$Resource$Edits$Expansionfiles$Upload { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The version code of the APK whose Expansion File configuration is being + * read or modified. + */ + apkVersionCode?: number; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * + */ + expansionFileType?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + /** + * Media metadata + */ + media?: { + /** + * Media mime-type + */ + mediaType?: string; + /** + * Media body contents + */ + body?: any; + }; + } + class Resource$Edits$Images { + root: Androidpublisher; + constructor(root: Androidpublisher); + getRoot(): Androidpublisher; + /** + * androidpublisher.edits.images.delete + * @desc Deletes the image (specified by id) from the edit. + * @alias androidpublisher.edits.images.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.imageId Unique identifier an image within the set of images attached to this edit. + * @param {string} params.imageType + * @param {string} params.language The language code (a BCP-47 language tag) of the localized listing whose images are to read or modified. For example, to select Austrian German, pass "de-AT". + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @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?: Params$Resource$Edits$Images$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Edits$Images$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Edits$Images$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * androidpublisher.edits.images.deleteall + * @desc Deletes all images for the specified language and image type. + * @alias androidpublisher.edits.images.deleteall + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.imageType + * @param {string} params.language The language code (a BCP-47 language tag) of the localized listing whose images are to read or modified. For example, to select Austrian German, pass "de-AT". + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @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 + */ + deleteall(params?: Params$Resource$Edits$Images$Deleteall, options?: MethodOptions): AxiosPromise; + deleteall(params: Params$Resource$Edits$Images$Deleteall, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + deleteall(params: Params$Resource$Edits$Images$Deleteall, callback: BodyResponseCallback): void; + deleteall(callback: BodyResponseCallback): void; + /** + * androidpublisher.edits.images.list + * @desc Lists all images for the specified language and image type. + * @alias androidpublisher.edits.images.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.imageType + * @param {string} params.language The language code (a BCP-47 language tag) of the localized listing whose images are to read or modified. For example, to select Austrian German, pass "de-AT". + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @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?: Params$Resource$Edits$Images$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Edits$Images$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Edits$Images$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * androidpublisher.edits.images.upload + * @desc Uploads a new image and adds it to the list of images for the + * specified language and image type. + * @alias androidpublisher.edits.images.upload + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.imageType + * @param {string} params.language The language code (a BCP-47 language tag) of the localized listing whose images are to read or modified. For example, to select Austrian German, pass "de-AT". + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @param {object} params.media Media object + * @param {string} params.media.mimeType Media mime-type + * @param {string|object} params.media.body Media body contents + * @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 + */ + upload(params?: Params$Resource$Edits$Images$Upload, options?: MethodOptions): AxiosPromise; + upload(params: Params$Resource$Edits$Images$Upload, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + upload(params: Params$Resource$Edits$Images$Upload, callback: BodyResponseCallback): void; + upload(callback: BodyResponseCallback): void; + } + interface Params$Resource$Edits$Images$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * Unique identifier an image within the set of images attached to this + * edit. + */ + imageId?: string; + /** + * + */ + imageType?: string; + /** + * The language code (a BCP-47 language tag) of the localized listing whose + * images are to read or modified. For example, to select Austrian German, + * pass "de-AT". + */ + language?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + } + interface Params$Resource$Edits$Images$Deleteall { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * + */ + imageType?: string; + /** + * The language code (a BCP-47 language tag) of the localized listing whose + * images are to read or modified. For example, to select Austrian German, + * pass "de-AT". + */ + language?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + } + interface Params$Resource$Edits$Images$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * + */ + imageType?: string; + /** + * The language code (a BCP-47 language tag) of the localized listing whose + * images are to read or modified. For example, to select Austrian German, + * pass "de-AT". + */ + language?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + } + interface Params$Resource$Edits$Images$Upload { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * + */ + imageType?: string; + /** + * The language code (a BCP-47 language tag) of the localized listing whose + * images are to read or modified. For example, to select Austrian German, + * pass "de-AT". + */ + language?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + /** + * Media metadata + */ + media?: { + /** + * Media mime-type + */ + mediaType?: string; + /** + * Media body contents + */ + body?: any; + }; + } + class Resource$Edits$Listings { + root: Androidpublisher; + constructor(root: Androidpublisher); + getRoot(): Androidpublisher; + /** + * androidpublisher.edits.listings.delete + * @desc Deletes the specified localized store listing from an edit. + * @alias androidpublisher.edits.listings.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.language The language code (a BCP-47 language tag) of the localized listing to read or modify. For example, to select Austrian German, pass "de-AT". + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @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?: Params$Resource$Edits$Listings$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Edits$Listings$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Edits$Listings$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * androidpublisher.edits.listings.deleteall + * @desc Deletes all localized listings from an edit. + * @alias androidpublisher.edits.listings.deleteall + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @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 + */ + deleteall(params?: Params$Resource$Edits$Listings$Deleteall, options?: MethodOptions): AxiosPromise; + deleteall(params: Params$Resource$Edits$Listings$Deleteall, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + deleteall(params: Params$Resource$Edits$Listings$Deleteall, callback: BodyResponseCallback): void; + deleteall(callback: BodyResponseCallback): void; + /** + * androidpublisher.edits.listings.get + * @desc Fetches information about a localized store listing. + * @alias androidpublisher.edits.listings.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.language The language code (a BCP-47 language tag) of the localized listing to read or modify. For example, to select Austrian German, pass "de-AT". + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @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?: Params$Resource$Edits$Listings$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Edits$Listings$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Edits$Listings$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * androidpublisher.edits.listings.list + * @desc Returns all of the localized store listings attached to this edit. + * @alias androidpublisher.edits.listings.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @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?: Params$Resource$Edits$Listings$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Edits$Listings$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Edits$Listings$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * androidpublisher.edits.listings.patch + * @desc Creates or updates a localized store listing. This method supports + * patch semantics. + * @alias androidpublisher.edits.listings.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.language The language code (a BCP-47 language tag) of the localized listing to read or modify. For example, to select Austrian German, pass "de-AT". + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @param {().Listing} 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 + */ + patch(params?: Params$Resource$Edits$Listings$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Edits$Listings$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Edits$Listings$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * androidpublisher.edits.listings.update + * @desc Creates or updates a localized store listing. + * @alias androidpublisher.edits.listings.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.language The language code (a BCP-47 language tag) of the localized listing to read or modify. For example, to select Austrian German, pass "de-AT". + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @param {().Listing} 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?: Params$Resource$Edits$Listings$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Edits$Listings$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Edits$Listings$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Edits$Listings$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * The language code (a BCP-47 language tag) of the localized listing to + * read or modify. For example, to select Austrian German, pass "de-AT". + */ + language?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + } + interface Params$Resource$Edits$Listings$Deleteall { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + } + interface Params$Resource$Edits$Listings$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * The language code (a BCP-47 language tag) of the localized listing to + * read or modify. For example, to select Austrian German, pass "de-AT". + */ + language?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + } + interface Params$Resource$Edits$Listings$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + } + interface Params$Resource$Edits$Listings$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * The language code (a BCP-47 language tag) of the localized listing to + * read or modify. For example, to select Austrian German, pass "de-AT". + */ + language?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Listing; + } + interface Params$Resource$Edits$Listings$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * The language code (a BCP-47 language tag) of the localized listing to + * read or modify. For example, to select Austrian German, pass "de-AT". + */ + language?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Listing; + } + class Resource$Edits$Testers { + root: Androidpublisher; + constructor(root: Androidpublisher); + getRoot(): Androidpublisher; + /** + * androidpublisher.edits.testers.get + * @alias androidpublisher.edits.testers.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @param {string} params.track The track to read or modify. Acceptable values are: "alpha", "beta", "production", "rollout" or "internal". + * @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?: Params$Resource$Edits$Testers$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Edits$Testers$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Edits$Testers$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * androidpublisher.edits.testers.patch + * @alias androidpublisher.edits.testers.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @param {string} params.track The track to read or modify. Acceptable values are: "alpha", "beta", "production", "rollout" or "internal". + * @param {().Testers} 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 + */ + patch(params?: Params$Resource$Edits$Testers$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Edits$Testers$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Edits$Testers$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * androidpublisher.edits.testers.update + * @alias androidpublisher.edits.testers.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @param {string} params.track The track to read or modify. Acceptable values are: "alpha", "beta", "production", "rollout" or "internal". + * @param {().Testers} 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?: Params$Resource$Edits$Testers$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Edits$Testers$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Edits$Testers$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Edits$Testers$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + /** + * The track to read or modify. Acceptable values are: "alpha", "beta", + * "production", "rollout" or "internal". + */ + track?: string; + } + interface Params$Resource$Edits$Testers$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + /** + * The track to read or modify. Acceptable values are: "alpha", "beta", + * "production", "rollout" or "internal". + */ + track?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Testers; + } + interface Params$Resource$Edits$Testers$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + /** + * The track to read or modify. Acceptable values are: "alpha", "beta", + * "production", "rollout" or "internal". + */ + track?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Testers; + } + class Resource$Edits$Tracks { + root: Androidpublisher; + constructor(root: Androidpublisher); + getRoot(): Androidpublisher; + /** + * androidpublisher.edits.tracks.get + * @desc Fetches the track configuration for the specified track type. + * Includes the APK version codes that are in this track. + * @alias androidpublisher.edits.tracks.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @param {string} params.track The track to read or modify. + * @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?: Params$Resource$Edits$Tracks$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Edits$Tracks$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Edits$Tracks$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * androidpublisher.edits.tracks.list + * @desc Lists all the track configurations for this edit. + * @alias androidpublisher.edits.tracks.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @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?: Params$Resource$Edits$Tracks$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Edits$Tracks$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Edits$Tracks$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * androidpublisher.edits.tracks.patch + * @desc Updates the track configuration for the specified track type. When + * halted, the rollout track cannot be updated without adding new APKs, and + * adding new APKs will cause it to resume. This method supports patch + * semantics. + * @alias androidpublisher.edits.tracks.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @param {string} params.track The track to read or modify. + * @param {().Track} 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 + */ + patch(params?: Params$Resource$Edits$Tracks$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Edits$Tracks$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Edits$Tracks$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * androidpublisher.edits.tracks.update + * @desc Updates the track configuration for the specified track type. When + * halted, the rollout track cannot be updated without adding new APKs, and + * adding new APKs will cause it to resume. + * @alias androidpublisher.edits.tracks.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @param {string} params.track The track to read or modify. + * @param {().Track} 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?: Params$Resource$Edits$Tracks$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Edits$Tracks$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Edits$Tracks$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Edits$Tracks$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + /** + * The track to read or modify. + */ + track?: string; + } + interface Params$Resource$Edits$Tracks$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + } + interface Params$Resource$Edits$Tracks$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + /** + * The track to read or modify. + */ + track?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Track; + } + interface Params$Resource$Edits$Tracks$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + /** + * The track to read or modify. + */ + track?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Track; + } + class Resource$Inappproducts { + root: Androidpublisher; + constructor(root: Androidpublisher); + getRoot(): Androidpublisher; + /** + * androidpublisher.inappproducts.delete + * @desc Delete an in-app product for an app. + * @alias androidpublisher.inappproducts.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.packageName Unique identifier for the Android app with the in-app product; for example, "com.spiffygame". + * @param {string} params.sku Unique identifier for the in-app product. + * @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?: Params$Resource$Inappproducts$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Inappproducts$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Inappproducts$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * androidpublisher.inappproducts.get + * @desc Returns information about the in-app product specified. + * @alias androidpublisher.inappproducts.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.packageName + * @param {string} params.sku Unique identifier for the in-app product. + * @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?: Params$Resource$Inappproducts$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Inappproducts$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Inappproducts$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * androidpublisher.inappproducts.insert + * @desc Creates a new in-app product for an app. + * @alias androidpublisher.inappproducts.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.autoConvertMissingPrices If true the prices for all regions targeted by the parent app that don't have a price specified for this in-app product will be auto converted to the target currency based on the default price. Defaults to false. + * @param {string} params.packageName Unique identifier for the Android app; for example, "com.spiffygame". + * @param {().InAppProduct} 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?: Params$Resource$Inappproducts$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Inappproducts$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Inappproducts$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * androidpublisher.inappproducts.list + * @desc List all the in-app products for an Android app, both subscriptions + * and managed in-app products.. + * @alias androidpublisher.inappproducts.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.maxResults + * @param {string} params.packageName Unique identifier for the Android app with in-app products; for example, "com.spiffygame". + * @param {integer=} params.startIndex + * @param {string=} params.token + * @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?: Params$Resource$Inappproducts$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Inappproducts$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Inappproducts$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * androidpublisher.inappproducts.patch + * @desc Updates the details of an in-app product. This method supports + * patch semantics. + * @alias androidpublisher.inappproducts.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.autoConvertMissingPrices If true the prices for all regions targeted by the parent app that don't have a price specified for this in-app product will be auto converted to the target currency based on the default price. Defaults to false. + * @param {string} params.packageName Unique identifier for the Android app with the in-app product; for example, "com.spiffygame". + * @param {string} params.sku Unique identifier for the in-app product. + * @param {().InAppProduct} 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 + */ + patch(params?: Params$Resource$Inappproducts$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Inappproducts$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Inappproducts$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * androidpublisher.inappproducts.update + * @desc Updates the details of an in-app product. + * @alias androidpublisher.inappproducts.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.autoConvertMissingPrices If true the prices for all regions targeted by the parent app that don't have a price specified for this in-app product will be auto converted to the target currency based on the default price. Defaults to false. + * @param {string} params.packageName Unique identifier for the Android app with the in-app product; for example, "com.spiffygame". + * @param {string} params.sku Unique identifier for the in-app product. + * @param {().InAppProduct} 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?: Params$Resource$Inappproducts$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Inappproducts$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Inappproducts$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Inappproducts$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for the Android app with the in-app product; for + * example, "com.spiffygame". + */ + packageName?: string; + /** + * Unique identifier for the in-app product. + */ + sku?: string; + } + interface Params$Resource$Inappproducts$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * + */ + packageName?: string; + /** + * Unique identifier for the in-app product. + */ + sku?: string; + } + interface Params$Resource$Inappproducts$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * If true the prices for all regions targeted by the parent app that don't + * have a price specified for this in-app product will be auto converted to + * the target currency based on the default price. Defaults to false. + */ + autoConvertMissingPrices?: boolean; + /** + * Unique identifier for the Android app; for example, "com.spiffygame". + */ + packageName?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InAppProduct; + } + interface Params$Resource$Inappproducts$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * + */ + maxResults?: number; + /** + * Unique identifier for the Android app with in-app products; for example, + * "com.spiffygame". + */ + packageName?: string; + /** + * + */ + startIndex?: number; + /** + * + */ + token?: string; + } + interface Params$Resource$Inappproducts$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * If true the prices for all regions targeted by the parent app that don't + * have a price specified for this in-app product will be auto converted to + * the target currency based on the default price. Defaults to false. + */ + autoConvertMissingPrices?: boolean; + /** + * Unique identifier for the Android app with the in-app product; for + * example, "com.spiffygame". + */ + packageName?: string; + /** + * Unique identifier for the in-app product. + */ + sku?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InAppProduct; + } + interface Params$Resource$Inappproducts$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * If true the prices for all regions targeted by the parent app that don't + * have a price specified for this in-app product will be auto converted to + * the target currency based on the default price. Defaults to false. + */ + autoConvertMissingPrices?: boolean; + /** + * Unique identifier for the Android app with the in-app product; for + * example, "com.spiffygame". + */ + packageName?: string; + /** + * Unique identifier for the in-app product. + */ + sku?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InAppProduct; + } + class Resource$Orders { + root: Androidpublisher; + constructor(root: Androidpublisher); + getRoot(): Androidpublisher; + /** + * androidpublisher.orders.refund + * @desc Refund a user's subscription or in-app purchase order. + * @alias androidpublisher.orders.refund + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.orderId The order ID provided to the user when the subscription or in-app order was purchased. + * @param {string} params.packageName The package name of the application for which this subscription or in-app item was purchased (for example, 'com.some.thing'). + * @param {boolean=} params.revoke Whether to revoke the purchased item. If set to true, access to the subscription or in-app item will be terminated immediately. If the item is a recurring subscription, all future payments will also be terminated. Consumed in-app items need to be handled by developer's app. (optional) + * @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 + */ + refund(params?: Params$Resource$Orders$Refund, options?: MethodOptions): AxiosPromise; + refund(params: Params$Resource$Orders$Refund, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + refund(params: Params$Resource$Orders$Refund, callback: BodyResponseCallback): void; + refund(callback: BodyResponseCallback): void; + } + interface Params$Resource$Orders$Refund { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The order ID provided to the user when the subscription or in-app order + * was purchased. + */ + orderId?: string; + /** + * The package name of the application for which this subscription or in-app + * item was purchased (for example, 'com.some.thing'). + */ + packageName?: string; + /** + * Whether to revoke the purchased item. If set to true, access to the + * subscription or in-app item will be terminated immediately. If the item + * is a recurring subscription, all future payments will also be terminated. + * Consumed in-app items need to be handled by developer's app. (optional) + */ + revoke?: boolean; + } + class Resource$Purchases { + root: Androidpublisher; + products: Resource$Purchases$Products; + subscriptions: Resource$Purchases$Subscriptions; + voidedpurchases: Resource$Purchases$Voidedpurchases; + constructor(root: Androidpublisher); + getRoot(): Androidpublisher; + } + class Resource$Purchases$Products { + root: Androidpublisher; + constructor(root: Androidpublisher); + getRoot(): Androidpublisher; + /** + * androidpublisher.purchases.products.get + * @desc Checks the purchase and consumption status of an inapp item. + * @alias androidpublisher.purchases.products.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.packageName The package name of the application the inapp product was sold in (for example, 'com.some.thing'). + * @param {string} params.productId The inapp product SKU (for example, 'com.some.thing.inapp1'). + * @param {string} params.token The token provided to the user's device when the inapp product was purchased. + * @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?: Params$Resource$Purchases$Products$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Purchases$Products$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Purchases$Products$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Purchases$Products$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The package name of the application the inapp product was sold in (for + * example, 'com.some.thing'). + */ + packageName?: string; + /** + * The inapp product SKU (for example, 'com.some.thing.inapp1'). + */ + productId?: string; + /** + * The token provided to the user's device when the inapp product was + * purchased. + */ + token?: string; + } + class Resource$Purchases$Subscriptions { + root: Androidpublisher; + constructor(root: Androidpublisher); + getRoot(): Androidpublisher; + /** + * androidpublisher.purchases.subscriptions.cancel + * @desc Cancels a user's subscription purchase. The subscription remains + * valid until its expiration time. + * @alias androidpublisher.purchases.subscriptions.cancel + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.packageName The package name of the application for which this subscription was purchased (for example, 'com.some.thing'). + * @param {string} params.subscriptionId The purchased subscription ID (for example, 'monthly001'). + * @param {string} params.token The token provided to the user's device when the subscription was purchased. + * @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 + */ + cancel(params?: Params$Resource$Purchases$Subscriptions$Cancel, options?: MethodOptions): AxiosPromise; + cancel(params: Params$Resource$Purchases$Subscriptions$Cancel, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + cancel(params: Params$Resource$Purchases$Subscriptions$Cancel, callback: BodyResponseCallback): void; + cancel(callback: BodyResponseCallback): void; + /** + * androidpublisher.purchases.subscriptions.defer + * @desc Defers a user's subscription purchase until a specified future + * expiration time. + * @alias androidpublisher.purchases.subscriptions.defer + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.packageName The package name of the application for which this subscription was purchased (for example, 'com.some.thing'). + * @param {string} params.subscriptionId The purchased subscription ID (for example, 'monthly001'). + * @param {string} params.token The token provided to the user's device when the subscription was purchased. + * @param {().SubscriptionPurchasesDeferRequest} 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 + */ + defer(params?: Params$Resource$Purchases$Subscriptions$Defer, options?: MethodOptions): AxiosPromise; + defer(params: Params$Resource$Purchases$Subscriptions$Defer, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + defer(params: Params$Resource$Purchases$Subscriptions$Defer, callback: BodyResponseCallback): void; + defer(callback: BodyResponseCallback): void; + /** + * androidpublisher.purchases.subscriptions.get + * @desc Checks whether a user's subscription purchase is valid and returns + * its expiry time. + * @alias androidpublisher.purchases.subscriptions.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.packageName The package name of the application for which this subscription was purchased (for example, 'com.some.thing'). + * @param {string} params.subscriptionId The purchased subscription ID (for example, 'monthly001'). + * @param {string} params.token The token provided to the user's device when the subscription was purchased. + * @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?: Params$Resource$Purchases$Subscriptions$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Purchases$Subscriptions$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Purchases$Subscriptions$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * androidpublisher.purchases.subscriptions.refund + * @desc Refunds a user's subscription purchase, but the subscription + * remains valid until its expiration time and it will continue to recur. + * @alias androidpublisher.purchases.subscriptions.refund + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.packageName The package name of the application for which this subscription was purchased (for example, 'com.some.thing'). + * @param {string} params.subscriptionId The purchased subscription ID (for example, 'monthly001'). + * @param {string} params.token The token provided to the user's device when the subscription was purchased. + * @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 + */ + refund(params?: Params$Resource$Purchases$Subscriptions$Refund, options?: MethodOptions): AxiosPromise; + refund(params: Params$Resource$Purchases$Subscriptions$Refund, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + refund(params: Params$Resource$Purchases$Subscriptions$Refund, callback: BodyResponseCallback): void; + refund(callback: BodyResponseCallback): void; + /** + * androidpublisher.purchases.subscriptions.revoke + * @desc Refunds and immediately revokes a user's subscription purchase. + * Access to the subscription will be terminated immediately and it will + * stop recurring. + * @alias androidpublisher.purchases.subscriptions.revoke + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.packageName The package name of the application for which this subscription was purchased (for example, 'com.some.thing'). + * @param {string} params.subscriptionId The purchased subscription ID (for example, 'monthly001'). + * @param {string} params.token The token provided to the user's device when the subscription was purchased. + * @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 + */ + revoke(params?: Params$Resource$Purchases$Subscriptions$Revoke, options?: MethodOptions): AxiosPromise; + revoke(params: Params$Resource$Purchases$Subscriptions$Revoke, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + revoke(params: Params$Resource$Purchases$Subscriptions$Revoke, callback: BodyResponseCallback): void; + revoke(callback: BodyResponseCallback): void; + } + interface Params$Resource$Purchases$Subscriptions$Cancel { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The package name of the application for which this subscription was + * purchased (for example, 'com.some.thing'). + */ + packageName?: string; + /** + * The purchased subscription ID (for example, 'monthly001'). + */ + subscriptionId?: string; + /** + * The token provided to the user's device when the subscription was + * purchased. + */ + token?: string; + } + interface Params$Resource$Purchases$Subscriptions$Defer { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The package name of the application for which this subscription was + * purchased (for example, 'com.some.thing'). + */ + packageName?: string; + /** + * The purchased subscription ID (for example, 'monthly001'). + */ + subscriptionId?: string; + /** + * The token provided to the user's device when the subscription was + * purchased. + */ + token?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SubscriptionPurchasesDeferRequest; + } + interface Params$Resource$Purchases$Subscriptions$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The package name of the application for which this subscription was + * purchased (for example, 'com.some.thing'). + */ + packageName?: string; + /** + * The purchased subscription ID (for example, 'monthly001'). + */ + subscriptionId?: string; + /** + * The token provided to the user's device when the subscription was + * purchased. + */ + token?: string; + } + interface Params$Resource$Purchases$Subscriptions$Refund { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The package name of the application for which this subscription was + * purchased (for example, 'com.some.thing'). + */ + packageName?: string; + /** + * The purchased subscription ID (for example, 'monthly001'). + */ + subscriptionId?: string; + /** + * The token provided to the user's device when the subscription was + * purchased. + */ + token?: string; + } + interface Params$Resource$Purchases$Subscriptions$Revoke { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The package name of the application for which this subscription was + * purchased (for example, 'com.some.thing'). + */ + packageName?: string; + /** + * The purchased subscription ID (for example, 'monthly001'). + */ + subscriptionId?: string; + /** + * The token provided to the user's device when the subscription was + * purchased. + */ + token?: string; + } + class Resource$Purchases$Voidedpurchases { + root: Androidpublisher; + constructor(root: Androidpublisher); + getRoot(): Androidpublisher; + /** + * androidpublisher.purchases.voidedpurchases.list + * @desc Lists the purchases that were canceled, refunded or charged-back. + * @alias androidpublisher.purchases.voidedpurchases.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.endTime The time, in milliseconds since the Epoch, of the newest voided in-app product purchase that you want to see in the response. The value of this parameter cannot be greater than the current time and is ignored if a pagination token is set. Default value is current time. Note: This filter is applied on the time at which the record is seen as voided by our systems and not the actual voided time returned in the response. + * @param {integer=} params.maxResults + * @param {string} params.packageName The package name of the application for which voided purchases need to be returned (for example, 'com.some.thing'). + * @param {integer=} params.startIndex + * @param {string=} params.startTime The time, in milliseconds since the Epoch, of the oldest voided in-app product purchase that you want to see in the response. The value of this parameter cannot be older than 30 days and is ignored if a pagination token is set. Default value is current time minus 30 days. Note: This filter is applied on the time at which the record is seen as voided by our systems and not the actual voided time returned in the response. + * @param {string=} params.token + * @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?: Params$Resource$Purchases$Voidedpurchases$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Purchases$Voidedpurchases$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Purchases$Voidedpurchases$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Purchases$Voidedpurchases$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The time, in milliseconds since the Epoch, of the newest voided in-app + * product purchase that you want to see in the response. The value of this + * parameter cannot be greater than the current time and is ignored if a + * pagination token is set. Default value is current time. Note: This filter + * is applied on the time at which the record is seen as voided by our + * systems and not the actual voided time returned in the response. + */ + endTime?: string; + /** + * + */ + maxResults?: number; + /** + * The package name of the application for which voided purchases need to be + * returned (for example, 'com.some.thing'). + */ + packageName?: string; + /** + * + */ + startIndex?: number; + /** + * The time, in milliseconds since the Epoch, of the oldest voided in-app + * product purchase that you want to see in the response. The value of this + * parameter cannot be older than 30 days and is ignored if a pagination + * token is set. Default value is current time minus 30 days. Note: This + * filter is applied on the time at which the record is seen as voided by + * our systems and not the actual voided time returned in the response. + */ + startTime?: string; + /** + * + */ + token?: string; + } + class Resource$Reviews { + root: Androidpublisher; + constructor(root: Androidpublisher); + getRoot(): Androidpublisher; + /** + * androidpublisher.reviews.get + * @desc Returns a single review. + * @alias androidpublisher.reviews.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.packageName Unique identifier for the Android app for which we want reviews; for example, "com.spiffygame". + * @param {string} params.reviewId + * @param {string=} params.translationLanguage + * @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?: Params$Resource$Reviews$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Reviews$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Reviews$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * androidpublisher.reviews.list + * @desc Returns a list of reviews. Only reviews from last week will be + * returned. + * @alias androidpublisher.reviews.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.maxResults + * @param {string} params.packageName Unique identifier for the Android app for which we want reviews; for example, "com.spiffygame". + * @param {integer=} params.startIndex + * @param {string=} params.token + * @param {string=} params.translationLanguage + * @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?: Params$Resource$Reviews$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Reviews$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Reviews$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * androidpublisher.reviews.reply + * @desc Reply to a single review, or update an existing reply. + * @alias androidpublisher.reviews.reply + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.packageName Unique identifier for the Android app for which we want reviews; for example, "com.spiffygame". + * @param {string} params.reviewId + * @param {().ReviewsReplyRequest} 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 + */ + reply(params?: Params$Resource$Reviews$Reply, options?: MethodOptions): AxiosPromise; + reply(params: Params$Resource$Reviews$Reply, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + reply(params: Params$Resource$Reviews$Reply, callback: BodyResponseCallback): void; + reply(callback: BodyResponseCallback): void; + } + interface Params$Resource$Reviews$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for the Android app for which we want reviews; for + * example, "com.spiffygame". + */ + packageName?: string; + /** + * + */ + reviewId?: string; + /** + * + */ + translationLanguage?: string; + } + interface Params$Resource$Reviews$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * + */ + maxResults?: number; + /** + * Unique identifier for the Android app for which we want reviews; for + * example, "com.spiffygame". + */ + packageName?: string; + /** + * + */ + startIndex?: number; + /** + * + */ + token?: string; + /** + * + */ + translationLanguage?: string; + } + interface Params$Resource$Reviews$Reply { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for the Android app for which we want reviews; for + * example, "com.spiffygame". + */ + packageName?: string; + /** + * + */ + reviewId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ReviewsReplyRequest; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/androidpublisher/v2.js b/express-server/node_modules/googleapis/build/src/apis/androidpublisher/v2.js new file mode 100644 index 00000000..f0545657 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/androidpublisher/v2.js @@ -0,0 +1,2127 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var androidpublisher_v2; +(function (androidpublisher_v2) { + /** + * Google Play Developer API + * + * Lets Android application developers access their Google Play accounts. + * + * @example + * const {google} = require('googleapis'); + * const androidpublisher = google.androidpublisher('v2'); + * + * @namespace androidpublisher + * @type {Function} + * @version v2 + * @variation v2 + * @param {object=} options Options for Androidpublisher + */ + class Androidpublisher { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.edits = new Resource$Edits(this); + this.inappproducts = new Resource$Inappproducts(this); + this.orders = new Resource$Orders(this); + this.purchases = new Resource$Purchases(this); + this.reviews = new Resource$Reviews(this); + } + getRoot() { + return this.root; + } + } + androidpublisher_v2.Androidpublisher = Androidpublisher; + class Resource$Edits { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.apklistings = new Resource$Edits$Apklistings(root); + this.apks = new Resource$Edits$Apks(root); + this.bundles = new Resource$Edits$Bundles(root); + this.deobfuscationfiles = new Resource$Edits$Deobfuscationfiles(root); + this.details = new Resource$Edits$Details(root); + this.expansionfiles = new Resource$Edits$Expansionfiles(root); + this.images = new Resource$Edits$Images(root); + this.listings = new Resource$Edits$Listings(root); + this.testers = new Resource$Edits$Testers(root); + this.tracks = new Resource$Edits$Tracks(root); + } + getRoot() { + return this.root; + } + commit(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/edits/{editId}:commit') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['packageName', 'editId'], + pathParams: ['editId', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/edits/{editId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['packageName', 'editId'], + pathParams: ['editId', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/edits/{editId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['packageName', 'editId'], + pathParams: ['editId', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/edits') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['packageName'], + pathParams: ['packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + validate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/edits/{editId}:validate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['packageName', 'editId'], + pathParams: ['editId', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidpublisher_v2.Resource$Edits = Resource$Edits; + class Resource$Edits$Apklistings { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/listings/{language}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['packageName', 'editId', 'apkVersionCode', 'language'], + pathParams: ['apkVersionCode', 'editId', 'language', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + deleteall(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/listings') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['packageName', 'editId', 'apkVersionCode'], + pathParams: ['apkVersionCode', 'editId', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/listings/{language}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['packageName', 'editId', 'apkVersionCode', 'language'], + pathParams: ['apkVersionCode', 'editId', 'language', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/listings') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['packageName', 'editId', 'apkVersionCode'], + pathParams: ['apkVersionCode', 'editId', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/listings/{language}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['packageName', 'editId', 'apkVersionCode', 'language'], + pathParams: ['apkVersionCode', 'editId', 'language', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/listings/{language}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['packageName', 'editId', 'apkVersionCode', 'language'], + pathParams: ['apkVersionCode', 'editId', 'language', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidpublisher_v2.Resource$Edits$Apklistings = Resource$Edits$Apklistings; + class Resource$Edits$Apks { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + addexternallyhosted(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/edits/{editId}/apks/externallyHosted') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['packageName', 'editId'], + pathParams: ['editId', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/edits/{editId}/apks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['packageName', 'editId'], + pathParams: ['editId', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + upload(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/edits/{editId}/apks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + mediaUrl: (rootUrl + + '/upload/androidpublisher/v2/applications/{packageName}/edits/{editId}/apks') + .replace(/([^:]\/)\/+/g, '$1'), + requiredParams: ['packageName', 'editId'], + pathParams: ['editId', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidpublisher_v2.Resource$Edits$Apks = Resource$Edits$Apks; + class Resource$Edits$Bundles { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/edits/{editId}/bundles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['packageName', 'editId'], + pathParams: ['editId', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + upload(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/edits/{editId}/bundles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + mediaUrl: (rootUrl + + '/upload/androidpublisher/v2/applications/{packageName}/edits/{editId}/bundles') + .replace(/([^:]\/)\/+/g, '$1'), + requiredParams: ['packageName', 'editId'], + pathParams: ['editId', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidpublisher_v2.Resource$Edits$Bundles = Resource$Edits$Bundles; + class Resource$Edits$Deobfuscationfiles { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + upload(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/deobfuscationFiles/{deobfuscationFileType}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + mediaUrl: (rootUrl + + '/upload/androidpublisher/v2/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/deobfuscationFiles/{deobfuscationFileType}') + .replace(/([^:]\/)\/+/g, '$1'), + requiredParams: [ + 'packageName', 'editId', 'apkVersionCode', 'deobfuscationFileType' + ], + pathParams: [ + 'apkVersionCode', 'deobfuscationFileType', 'editId', 'packageName' + ], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidpublisher_v2.Resource$Edits$Deobfuscationfiles = Resource$Edits$Deobfuscationfiles; + class Resource$Edits$Details { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/edits/{editId}/details') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['packageName', 'editId'], + pathParams: ['editId', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/edits/{editId}/details') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['packageName', 'editId'], + pathParams: ['editId', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/edits/{editId}/details') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['packageName', 'editId'], + pathParams: ['editId', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidpublisher_v2.Resource$Edits$Details = Resource$Edits$Details; + class Resource$Edits$Expansionfiles { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['packageName', 'editId', 'apkVersionCode', 'expansionFileType'], + pathParams: ['apkVersionCode', 'editId', 'expansionFileType', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['packageName', 'editId', 'apkVersionCode', 'expansionFileType'], + pathParams: ['apkVersionCode', 'editId', 'expansionFileType', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['packageName', 'editId', 'apkVersionCode', 'expansionFileType'], + pathParams: ['apkVersionCode', 'editId', 'expansionFileType', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + upload(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + mediaUrl: (rootUrl + + '/upload/androidpublisher/v2/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}') + .replace(/([^:]\/)\/+/g, '$1'), + requiredParams: ['packageName', 'editId', 'apkVersionCode', 'expansionFileType'], + pathParams: ['apkVersionCode', 'editId', 'expansionFileType', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidpublisher_v2.Resource$Edits$Expansionfiles = Resource$Edits$Expansionfiles; + class Resource$Edits$Images { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/edits/{editId}/listings/{language}/{imageType}/{imageId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['packageName', 'editId', 'language', 'imageType', 'imageId'], + pathParams: ['editId', 'imageId', 'imageType', 'language', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + deleteall(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/edits/{editId}/listings/{language}/{imageType}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['packageName', 'editId', 'language', 'imageType'], + pathParams: ['editId', 'imageType', 'language', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/edits/{editId}/listings/{language}/{imageType}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['packageName', 'editId', 'language', 'imageType'], + pathParams: ['editId', 'imageType', 'language', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + upload(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/edits/{editId}/listings/{language}/{imageType}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + mediaUrl: (rootUrl + + '/upload/androidpublisher/v2/applications/{packageName}/edits/{editId}/listings/{language}/{imageType}') + .replace(/([^:]\/)\/+/g, '$1'), + requiredParams: ['packageName', 'editId', 'language', 'imageType'], + pathParams: ['editId', 'imageType', 'language', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidpublisher_v2.Resource$Edits$Images = Resource$Edits$Images; + class Resource$Edits$Listings { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/edits/{editId}/listings/{language}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['packageName', 'editId', 'language'], + pathParams: ['editId', 'language', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + deleteall(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/edits/{editId}/listings') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['packageName', 'editId'], + pathParams: ['editId', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/edits/{editId}/listings/{language}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['packageName', 'editId', 'language'], + pathParams: ['editId', 'language', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/edits/{editId}/listings') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['packageName', 'editId'], + pathParams: ['editId', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/edits/{editId}/listings/{language}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['packageName', 'editId', 'language'], + pathParams: ['editId', 'language', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/edits/{editId}/listings/{language}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['packageName', 'editId', 'language'], + pathParams: ['editId', 'language', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidpublisher_v2.Resource$Edits$Listings = Resource$Edits$Listings; + class Resource$Edits$Testers { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/edits/{editId}/testers/{track}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['packageName', 'editId', 'track'], + pathParams: ['editId', 'packageName', 'track'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/edits/{editId}/testers/{track}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['packageName', 'editId', 'track'], + pathParams: ['editId', 'packageName', 'track'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/edits/{editId}/testers/{track}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['packageName', 'editId', 'track'], + pathParams: ['editId', 'packageName', 'track'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidpublisher_v2.Resource$Edits$Testers = Resource$Edits$Testers; + class Resource$Edits$Tracks { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/edits/{editId}/tracks/{track}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['packageName', 'editId', 'track'], + pathParams: ['editId', 'packageName', 'track'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/edits/{editId}/tracks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['packageName', 'editId'], + pathParams: ['editId', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/edits/{editId}/tracks/{track}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['packageName', 'editId', 'track'], + pathParams: ['editId', 'packageName', 'track'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/edits/{editId}/tracks/{track}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['packageName', 'editId', 'track'], + pathParams: ['editId', 'packageName', 'track'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidpublisher_v2.Resource$Edits$Tracks = Resource$Edits$Tracks; + class Resource$Inappproducts { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/inappproducts/{sku}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['packageName', 'sku'], + pathParams: ['packageName', 'sku'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/inappproducts/{sku}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['packageName', 'sku'], + pathParams: ['packageName', 'sku'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/inappproducts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['packageName'], + pathParams: ['packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/inappproducts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['packageName'], + pathParams: ['packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/inappproducts/{sku}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['packageName', 'sku'], + pathParams: ['packageName', 'sku'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/inappproducts/{sku}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['packageName', 'sku'], + pathParams: ['packageName', 'sku'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidpublisher_v2.Resource$Inappproducts = Resource$Inappproducts; + class Resource$Orders { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + refund(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/orders/{orderId}:refund') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['packageName', 'orderId'], + pathParams: ['orderId', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidpublisher_v2.Resource$Orders = Resource$Orders; + class Resource$Purchases { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.products = new Resource$Purchases$Products(root); + this.subscriptions = new Resource$Purchases$Subscriptions(root); + this.voidedpurchases = new Resource$Purchases$Voidedpurchases(root); + } + getRoot() { + return this.root; + } + } + androidpublisher_v2.Resource$Purchases = Resource$Purchases; + class Resource$Purchases$Products { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/purchases/products/{productId}/tokens/{token}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['packageName', 'productId', 'token'], + pathParams: ['packageName', 'productId', 'token'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidpublisher_v2.Resource$Purchases$Products = Resource$Purchases$Products; + class Resource$Purchases$Subscriptions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + cancel(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:cancel') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['packageName', 'subscriptionId', 'token'], + pathParams: ['packageName', 'subscriptionId', 'token'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + defer(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:defer') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['packageName', 'subscriptionId', 'token'], + pathParams: ['packageName', 'subscriptionId', 'token'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['packageName', 'subscriptionId', 'token'], + pathParams: ['packageName', 'subscriptionId', 'token'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + refund(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:refund') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['packageName', 'subscriptionId', 'token'], + pathParams: ['packageName', 'subscriptionId', 'token'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + revoke(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:revoke') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['packageName', 'subscriptionId', 'token'], + pathParams: ['packageName', 'subscriptionId', 'token'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidpublisher_v2.Resource$Purchases$Subscriptions = Resource$Purchases$Subscriptions; + class Resource$Purchases$Voidedpurchases { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/purchases/voidedpurchases') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['packageName'], + pathParams: ['packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidpublisher_v2.Resource$Purchases$Voidedpurchases = Resource$Purchases$Voidedpurchases; + class Resource$Reviews { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/reviews/{reviewId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['packageName', 'reviewId'], + pathParams: ['packageName', 'reviewId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/reviews') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['packageName'], + pathParams: ['packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + reply(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v2/applications/{packageName}/reviews/{reviewId}:reply') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['packageName', 'reviewId'], + pathParams: ['packageName', 'reviewId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidpublisher_v2.Resource$Reviews = Resource$Reviews; +})(androidpublisher_v2 = exports.androidpublisher_v2 || (exports.androidpublisher_v2 = {})); +//# sourceMappingURL=v2.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/androidpublisher/v2.js.map b/express-server/node_modules/googleapis/build/src/apis/androidpublisher/v2.js.map new file mode 100644 index 00000000..65805f29 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/androidpublisher/v2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v2.js","sourceRoot":"","sources":["../../../../src/apis/androidpublisher/v2.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/androidpublisher/v3.d.ts b/express-server/node_modules/googleapis/build/src/apis/androidpublisher/v3.d.ts new file mode 100644 index 00000000..6570e68f --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/androidpublisher/v3.d.ts @@ -0,0 +1,3193 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace androidpublisher_v3 { + interface Options extends GlobalOptions { + version: 'v3'; + } + /** + * Google Play Developer API + * + * Lets Android application developers access their Google Play accounts. + * + * @example + * const {google} = require('googleapis'); + * const androidpublisher = google.androidpublisher('v3'); + * + * @namespace androidpublisher + * @type {Function} + * @version v3 + * @variation v3 + * @param {object=} options Options for Androidpublisher + */ + class Androidpublisher { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + edits: Resource$Edits; + inappproducts: Resource$Inappproducts; + orders: Resource$Orders; + purchases: Resource$Purchases; + reviews: Resource$Reviews; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + interface Schema$Apk { + /** + * Information about the binary payload of this APK. + */ + binary?: Schema$ApkBinary; + /** + * The version code of the APK, as specified in the APK's manifest file. + */ + versionCode?: number; + } + /** + * Represents the binary payload of an APK. + */ + interface Schema$ApkBinary { + /** + * A sha1 hash of the APK payload, encoded as a hex string and matching the + * output of the sha1sum command. + */ + sha1?: string; + /** + * A sha256 hash of the APK payload, encoded as a hex string and matching + * the output of the sha256sum command. + */ + sha256?: string; + } + interface Schema$ApksAddExternallyHostedRequest { + /** + * The definition of the externally-hosted APK and where it is located. + */ + externallyHostedApk?: Schema$ExternallyHostedApk; + } + interface Schema$ApksAddExternallyHostedResponse { + /** + * The definition of the externally-hosted APK and where it is located. + */ + externallyHostedApk?: Schema$ExternallyHostedApk; + } + interface Schema$ApksListResponse { + apks?: Schema$Apk[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "androidpublisher#apksListResponse". + */ + kind?: string; + } + interface Schema$AppDetails { + /** + * The user-visible support email for this app. + */ + contactEmail?: string; + /** + * The user-visible support telephone number for this app. + */ + contactPhone?: string; + /** + * The user-visible website for this app. + */ + contactWebsite?: string; + /** + * Default language code, in BCP 47 format (eg "en-US"). + */ + defaultLanguage?: string; + } + /** + * Represents an edit of an app. An edit allows clients to make multiple + * changes before committing them in one operation. + */ + interface Schema$AppEdit { + /** + * The time at which the edit will expire and will be no longer valid for + * use in any subsequent API calls (encoded as seconds since the Epoch). + */ + expiryTimeSeconds?: string; + /** + * The ID of the edit that can be used in subsequent API calls. + */ + id?: string; + } + interface Schema$Bundle { + /** + * A sha1 hash of the upload payload, encoded as a hex string and matching + * the output of the sha1sum command. + */ + sha1?: string; + /** + * A sha256 hash of the upload payload, encoded as a hex string and matching + * the output of the sha256sum command. + */ + sha256?: string; + /** + * The version code of the Android App Bundle. As specified in the Android + * App Bundle's base module APK manifest file. + */ + versionCode?: number; + } + interface Schema$BundlesListResponse { + bundles?: Schema$Bundle[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "androidpublisher#bundlesListResponse". + */ + kind?: string; + } + interface Schema$Comment { + /** + * A comment from a developer. + */ + developerComment?: Schema$DeveloperComment; + /** + * A comment from a user. + */ + userComment?: Schema$UserComment; + } + /** + * Represents a deobfuscation file. + */ + interface Schema$DeobfuscationFile { + /** + * The type of the deobfuscation file. + */ + symbolType?: string; + } + interface Schema$DeobfuscationFilesUploadResponse { + deobfuscationFile?: Schema$DeobfuscationFile; + } + interface Schema$DeveloperComment { + /** + * The last time at which this comment was updated. + */ + lastModified?: Schema$Timestamp; + /** + * The content of the comment, i.e. reply body. + */ + text?: string; + } + interface Schema$DeviceMetadata { + /** + * Device CPU make e.g. "Qualcomm" + */ + cpuMake?: string; + /** + * Device CPU model e.g. "MSM8974" + */ + cpuModel?: string; + /** + * Device class (e.g. tablet) + */ + deviceClass?: string; + /** + * OpenGL version + */ + glEsVersion?: number; + /** + * Device manufacturer (e.g. Motorola) + */ + manufacturer?: string; + /** + * Comma separated list of native platforms (e.g. "arm", + * "arm7") + */ + nativePlatform?: string; + /** + * Device model name (e.g. Droid) + */ + productName?: string; + /** + * Device RAM in Megabytes e.g. "2048" + */ + ramMb?: number; + /** + * Screen density in DPI + */ + screenDensityDpi?: number; + /** + * Screen height in pixels + */ + screenHeightPx?: number; + /** + * Screen width in pixels + */ + screenWidthPx?: number; + } + interface Schema$ExpansionFile { + /** + * If set this field indicates that this APK has an Expansion File uploaded + * to it: this APK does not reference another APK's Expansion File. The + * field's value is the size of the uploaded Expansion File in bytes. + */ + fileSize?: string; + /** + * If set this APK's Expansion File references another APK's + * Expansion File. The file_size field will not be set. + */ + referencesVersion?: number; + } + interface Schema$ExpansionFilesUploadResponse { + expansionFile?: Schema$ExpansionFile; + } + /** + * Defines an APK available for this application that is hosted externally and + * not uploaded to Google Play. This function is only available to enterprises + * who are using Google Play for Work, and whos application is restricted to + * the enterprise private channel + */ + interface Schema$ExternallyHostedApk { + /** + * The application label. + */ + applicationLabel?: string; + /** + * A certificate (or array of certificates if a certificate-chain is used) + * used to signed this APK, represented as a base64 encoded byte array. + */ + certificateBase64s?: string[]; + /** + * The URL at which the APK is hosted. This must be an https URL. + */ + externallyHostedUrl?: string; + /** + * The SHA1 checksum of this APK, represented as a base64 encoded byte + * array. + */ + fileSha1Base64?: string; + /** + * The SHA256 checksum of this APK, represented as a base64 encoded byte + * array. + */ + fileSha256Base64?: string; + /** + * The file size in bytes of this APK. + */ + fileSize?: string; + /** + * The icon image from the APK, as a base64 encoded byte array. + */ + iconBase64?: string; + /** + * The maximum SDK supported by this APK (optional). + */ + maximumSdk?: number; + /** + * The minimum SDK targeted by this APK. + */ + minimumSdk?: number; + /** + * The native code environments supported by this APK (optional). + */ + nativeCodes?: string[]; + /** + * The package name. + */ + packageName?: string; + /** + * The features required by this APK (optional). + */ + usesFeatures?: string[]; + /** + * The permissions requested by this APK. + */ + usesPermissions?: Schema$ExternallyHostedApkUsesPermission[]; + /** + * The version code of this APK. + */ + versionCode?: number; + /** + * The version name of this APK. + */ + versionName?: string; + } + /** + * A permission used by this APK. + */ + interface Schema$ExternallyHostedApkUsesPermission { + /** + * Optionally, the maximum SDK version for which the permission is required. + */ + maxSdkVersion?: number; + /** + * The name of the permission requested. + */ + name?: string; + } + interface Schema$Image { + /** + * A unique id representing this image. + */ + id?: string; + /** + * A sha1 hash of the image that was uploaded. + */ + sha1?: string; + /** + * A URL that will serve a preview of the image. + */ + url?: string; + } + interface Schema$ImagesDeleteAllResponse { + deleted?: Schema$Image[]; + } + interface Schema$ImagesListResponse { + images?: Schema$Image[]; + } + interface Schema$ImagesUploadResponse { + image?: Schema$Image; + } + interface Schema$InAppProduct { + /** + * The default language of the localized data, as defined by BCP 47. e.g. + * "en-US", "en-GB". + */ + defaultLanguage?: string; + /** + * Default price cannot be zero. In-app products can never be free. Default + * price is always in the developer's Checkout merchant currency. + */ + defaultPrice?: Schema$Price; + /** + * Grace period of the subscription, specified in ISO 8601 format. It will + * allow developers to give their subscribers a grace period when the + * payment for the new recurrence period is declined. Acceptable values = + * "P3D" (three days) and "P7D" (seven days) + */ + gracePeriod?: string; + /** + * List of localized title and description data. + */ + listings?: any; + /** + * The package name of the parent app. + */ + packageName?: string; + /** + * Prices per buyer region. None of these prices should be zero. In-app + * products can never be free. + */ + prices?: any; + /** + * Purchase type enum value. Unmodifiable after creation. + */ + purchaseType?: string; + /** + * Definition of a season for a seasonal subscription. Can be defined only + * for yearly subscriptions. + */ + season?: Schema$Season; + /** + * The stock-keeping-unit (SKU) of the product, unique within an app. + */ + sku?: string; + status?: string; + /** + * Subscription period, specified in ISO 8601 format. Acceptable values are + * "P1W" (one week), "P1M" (one month), "P3M" + * (three months), "P6M" (six months), and "P1Y" (one + * year). + */ + subscriptionPeriod?: string; + /** + * Trial period, specified in ISO 8601 format. Acceptable values are + * anything between "P7D" (seven days) and "P999D" (999 + * days). Seasonal subscriptions cannot have a trial period. + */ + trialPeriod?: string; + } + interface Schema$InAppProductListing { + description?: string; + title?: string; + } + interface Schema$InappproductsListResponse { + inappproduct?: Schema$InAppProduct[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "androidpublisher#inappproductsListResponse". + */ + kind?: string; + pageInfo?: Schema$PageInfo; + tokenPagination?: Schema$TokenPagination; + } + interface Schema$Listing { + /** + * Full description of the app; this may be up to 4000 characters in length. + */ + fullDescription?: string; + /** + * Language localization code (for example, "de-AT" for Austrian + * German). + */ + language?: string; + /** + * Short description of the app (previously known as promo text); this may + * be up to 80 characters in length. + */ + shortDescription?: string; + /** + * App's localized title. + */ + title?: string; + /** + * URL of a promotional YouTube video for the app. + */ + video?: string; + } + interface Schema$ListingsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "androidpublisher#listingsListResponse". + */ + kind?: string; + listings?: Schema$Listing[]; + } + interface Schema$LocalizedText { + /** + * The language code, in BCP 47 format (eg "en-US"). + */ + language?: string; + /** + * The text in the given `language`. + */ + text?: string; + } + interface Schema$MonthDay { + /** + * Day of a month, value in [1, 31] range. Valid range depends on the + * specified month. + */ + day?: number; + /** + * Month of a year. e.g. 1 = JAN, 2 = FEB etc. + */ + month?: number; + } + interface Schema$PageInfo { + resultPerPage?: number; + startIndex?: number; + totalResults?: number; + } + interface Schema$Price { + /** + * 3 letter Currency code, as defined by ISO 4217. + */ + currency?: string; + /** + * The price in millionths of the currency base unit represented as a + * string. + */ + priceMicros?: string; + } + /** + * A ProductPurchase resource indicates the status of a user's inapp + * product purchase. + */ + interface Schema$ProductPurchase { + /** + * The consumption state of the inapp product. Possible values are: - Yet + * to be consumed - Consumed + */ + consumptionState?: number; + /** + * A developer-specified string that contains supplemental information about + * an order. + */ + developerPayload?: string; + /** + * This kind represents an inappPurchase object in the androidpublisher + * service. + */ + kind?: string; + /** + * The order id associated with the purchase of the inapp product. + */ + orderId?: string; + /** + * The purchase state of the order. Possible values are: - Purchased - + * Canceled + */ + purchaseState?: number; + /** + * The time the product was purchased, in milliseconds since the epoch (Jan + * 1, 1970). + */ + purchaseTimeMillis?: string; + /** + * The type of purchase of the inapp product. This field is only set if this + * purchase was not made using the standard in-app billing flow. Possible + * values are: - Test (i.e. purchased from a license testing account) - + * Promo (i.e. purchased using a promo code) + */ + purchaseType?: number; + } + interface Schema$Prorate { + /** + * Default price cannot be zero and must be less than the full subscription + * price. Default price is always in the developer's Checkout merchant + * currency. Targeted countries have their prices set automatically based on + * the default_price. + */ + defaultPrice?: Schema$Price; + /** + * Defines the first day on which the price takes effect. + */ + start?: Schema$MonthDay; + } + interface Schema$Review { + /** + * The name of the user who wrote the review. + */ + authorName?: string; + /** + * A repeated field containing comments for the review. + */ + comments?: Schema$Comment[]; + /** + * Unique identifier for this review. + */ + reviewId?: string; + } + interface Schema$ReviewReplyResult { + /** + * The time at which the reply took effect. + */ + lastEdited?: Schema$Timestamp; + /** + * The reply text that was applied. + */ + replyText?: string; + } + interface Schema$ReviewsListResponse { + pageInfo?: Schema$PageInfo; + reviews?: Schema$Review[]; + tokenPagination?: Schema$TokenPagination; + } + interface Schema$ReviewsReplyRequest { + /** + * The text to set as the reply. Replies of more than approximately 350 + * characters will be rejected. HTML tags will be stripped. + */ + replyText?: string; + } + interface Schema$ReviewsReplyResponse { + result?: Schema$ReviewReplyResult; + } + interface Schema$Season { + /** + * Inclusive end date of the recurrence period. + */ + end?: Schema$MonthDay; + /** + * Optionally present list of prorations for the season. Each proration is a + * one-off discounted entry into a subscription. Each proration contains the + * first date on which the discount is available and the new pricing + * information. + */ + prorations?: Schema$Prorate[]; + /** + * Inclusive start date of the recurrence period. + */ + start?: Schema$MonthDay; + } + /** + * Information provided by the user when they complete the subscription + * cancellation flow (cancellation reason survey). + */ + interface Schema$SubscriptionCancelSurveyResult { + /** + * The cancellation reason the user chose in the survey. Possible values + * are: - Other - I don't use this service enough - Technical issues + * - Cost-related reasons - I found a better app + */ + cancelSurveyReason?: number; + /** + * The customized input cancel reason from the user. Only present when + * cancelReason is 0. + */ + userInputCancelReason?: string; + } + /** + * A SubscriptionDeferralInfo contains the data needed to defer a subscription + * purchase to a future expiry time. + */ + interface Schema$SubscriptionDeferralInfo { + /** + * The desired next expiry time to assign to the subscription, in + * milliseconds since the Epoch. The given time must be later/greater than + * the current expiry time for the subscription. + */ + desiredExpiryTimeMillis?: string; + /** + * The expected expiry time for the subscription. If the current expiry time + * for the subscription is not the value specified here, the deferral will + * not occur. + */ + expectedExpiryTimeMillis?: string; + } + /** + * Contains the price change information for a subscription that can be used + * to control the user journey for the price change in the app. This can be in + * the form of seeking confirmation from the user or tailoring the experience + * for a successful conversion. + */ + interface Schema$SubscriptionPriceChange { + /** + * The new price the subscription will renew with if the price change is + * accepted by the user. + */ + newPrice?: Schema$Price; + /** + * The current state of the price change. Possible values are: - + * Outstanding: State for a pending price change waiting for the user to + * agree. In this state, you can optionally seek confirmation from the user + * using the In-App API. - Accepted: State for an accepted price change + * that the subscription will renew with unless it's canceled. The price + * change takes effect on a future date when the subscription renews. Note + * that the change might not occur when the subscription is renewed next. + */ + state?: number; + } + /** + * A SubscriptionPurchase resource indicates the status of a user's + * subscription purchase. + */ + interface Schema$SubscriptionPurchase { + /** + * Whether the subscription will automatically be renewed when it reaches + * its current expiry time. + */ + autoRenewing?: boolean; + /** + * The reason why a subscription was canceled or is not auto-renewing. + * Possible values are: - User canceled the subscription - Subscription + * was canceled by the system, for example because of a billing problem - + * Subscription was replaced with a new subscription - Subscription was + * canceled by the developer + */ + cancelReason?: number; + /** + * Information provided by the user when they complete the subscription + * cancellation flow (cancellation reason survey). + */ + cancelSurveyResult?: Schema$SubscriptionCancelSurveyResult; + /** + * ISO 3166-1 alpha-2 billing country/region code of the user at the time + * the subscription was granted. + */ + countryCode?: string; + /** + * A developer-specified string that contains supplemental information about + * an order. + */ + developerPayload?: string; + /** + * The email address of the user when the subscription was purchased. Only + * present for purchases made with 'Subscribe with Google'. + */ + emailAddress?: string; + /** + * Time at which the subscription will expire, in milliseconds since the + * Epoch. + */ + expiryTimeMillis?: string; + /** + * The family name of the user when the subscription was purchased. Only + * present for purchases made with 'Subscribe with Google'. + */ + familyName?: string; + /** + * The given name of the user when the subscription was purchased. Only + * present for purchases made with 'Subscribe with Google'. + */ + givenName?: string; + /** + * This kind represents a subscriptionPurchase object in the + * androidpublisher service. + */ + kind?: string; + /** + * The purchase token of the originating purchase if this subscription is + * one of the following: - Re-signup of a canceled but non-lapsed + * subscription - Upgrade/downgrade from a previous subscription For + * example, suppose a user originally signs up and you receive purchase + * token X, then the user cancels and goes through the resignup flow (before + * their subscription lapses) and you receive purchase token Y, and finally + * the user upgrades their subscription and you receive purchase token Z. If + * you call this API with purchase token Z, this field will be set to Y. If + * you call this API with purchase token Y, this field will be set to X. If + * you call this API with purchase token X, this field will not be set. + */ + linkedPurchaseToken?: string; + /** + * The order id of the latest recurring order associated with the purchase + * of the subscription. + */ + orderId?: string; + /** + * The payment state of the subscription. Possible values are: - Payment + * pending - Payment received - Free trial - Pending deferred + * upgrade/downgrade + */ + paymentState?: number; + /** + * Price of the subscription, not including tax. Price is expressed in + * micro-units, where 1,000,000 micro-units represents one unit of the + * currency. For example, if the subscription price is €1.99, + * price_amount_micros is 1990000. + */ + priceAmountMicros?: string; + /** + * The latest price change information available. This is present only when + * there is an upcoming price change for the subscription yet to be applied. + * Once the subscription renews with the new price or the subscription is + * canceled, no price change information will be returned. + */ + priceChange?: Schema$SubscriptionPriceChange; + /** + * ISO 4217 currency code for the subscription price. For example, if the + * price is specified in British pounds sterling, price_currency_code is + * "GBP". + */ + priceCurrencyCode?: string; + /** + * The profile id of the user when the subscription was purchased. Only + * present for purchases made with 'Subscribe with Google'. + */ + profileId?: string; + /** + * The profile name of the user when the subscription was purchased. Only + * present for purchases made with 'Subscribe with Google'. + */ + profileName?: string; + /** + * The type of purchase of the subscription. This field is only set if this + * purchase was not made using the standard in-app billing flow. Possible + * values are: - Test (i.e. purchased from a license testing account) + */ + purchaseType?: number; + /** + * Time at which the subscription was granted, in milliseconds since the + * Epoch. + */ + startTimeMillis?: string; + /** + * The time at which the subscription was canceled by the user, in + * milliseconds since the epoch. Only present if cancelReason is 0. + */ + userCancellationTimeMillis?: string; + } + interface Schema$SubscriptionPurchasesDeferRequest { + /** + * The information about the new desired expiry time for the subscription. + */ + deferralInfo?: Schema$SubscriptionDeferralInfo; + } + interface Schema$SubscriptionPurchasesDeferResponse { + /** + * The new expiry time for the subscription in milliseconds since the Epoch. + */ + newExpiryTimeMillis?: string; + } + interface Schema$Testers { + googleGroups?: string[]; + googlePlusCommunities?: string[]; + } + interface Schema$Timestamp { + nanos?: number; + seconds?: string; + } + interface Schema$TokenPagination { + nextPageToken?: string; + previousPageToken?: string; + } + interface Schema$Track { + /** + * A list of all active releases in this track during a read request. On an + * update request, it represents desired changes. + */ + releases?: Schema$TrackRelease[]; + /** + * Identifier for this track. + */ + track?: string; + } + interface Schema$TrackRelease { + /** + * The release name, used to identify this release in the Play Console UI. + * Not required to be unique. This is optional, if not set it will be + * generated from the version_name in the APKs. + */ + name?: string; + /** + * The description of what is new in the app in this release. + */ + releaseNotes?: Schema$LocalizedText[]; + /** + * The desired status of this release. + */ + status?: string; + /** + * Fraction of users who are eligible to receive the release. 0 < + * fraction < 1. To be set, release status must be "inProgress" + * or "halted". + */ + userFraction?: number; + /** + * A list of all version codes of APKs that will be exposed to the users of + * this track when this release is rolled out. Note that this list should + * contain all versions you wish to be active, including those you wish to + * retain from previous releases. + */ + versionCodes?: string[]; + } + interface Schema$TracksListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "androidpublisher#tracksListResponse". + */ + kind?: string; + tracks?: Schema$Track[]; + } + interface Schema$UserComment { + /** + * Integer Android SDK version of the user's device at the time the + * review was written, e.g. 23 is Marshmallow. May be absent. + */ + androidOsVersion?: number; + /** + * Integer version code of the app as installed at the time the review was + * written. May be absent. + */ + appVersionCode?: number; + /** + * String version name of the app as installed at the time the review was + * written. May be absent. + */ + appVersionName?: string; + /** + * Codename for the reviewer's device, e.g. klte, flounder. May be + * absent. + */ + device?: string; + /** + * Some information about the characteristics of the user's device + */ + deviceMetadata?: Schema$DeviceMetadata; + /** + * The last time at which this comment was updated. + */ + lastModified?: Schema$Timestamp; + /** + * Untranslated text of the review, in the case where the review has been + * translated. If the review has not been translated this is left blank. + */ + originalText?: string; + /** + * Language code for the reviewer. This is taken from the device settings so + * is not guaranteed to match the language the review is written in. May be + * absent. + */ + reviewerLanguage?: string; + /** + * The star rating associated with the review, from 1 to 5. + */ + starRating?: number; + /** + * The content of the comment, i.e. review body. In some cases users have + * been able to write a review with separate title and body; in those cases + * the title and body are concatenated and separated by a tab character. + */ + text?: string; + /** + * Number of users who have given this review a thumbs down + */ + thumbsDownCount?: number; + /** + * Number of users who have given this review a thumbs up + */ + thumbsUpCount?: number; + } + /** + * A VoidedPurchase resource indicates a purchase that was either + * canceled/refunded/charged-back. + */ + interface Schema$VoidedPurchase { + /** + * This kind represents a voided purchase object in the androidpublisher + * service. + */ + kind?: string; + /** + * The time at which the purchase was made, in milliseconds since the epoch + * (Jan 1, 1970). + */ + purchaseTimeMillis?: string; + /** + * The token that was generated when a purchase was made. This uniquely + * identifies a purchase. + */ + purchaseToken?: string; + /** + * The time at which the purchase was canceled/refunded/charged-back, in + * milliseconds since the epoch (Jan 1, 1970). + */ + voidedTimeMillis?: string; + } + interface Schema$VoidedPurchasesListResponse { + pageInfo?: Schema$PageInfo; + tokenPagination?: Schema$TokenPagination; + voidedPurchases?: Schema$VoidedPurchase[]; + } + class Resource$Edits { + root: Androidpublisher; + apks: Resource$Edits$Apks; + bundles: Resource$Edits$Bundles; + deobfuscationfiles: Resource$Edits$Deobfuscationfiles; + details: Resource$Edits$Details; + expansionfiles: Resource$Edits$Expansionfiles; + images: Resource$Edits$Images; + listings: Resource$Edits$Listings; + testers: Resource$Edits$Testers; + tracks: Resource$Edits$Tracks; + constructor(root: Androidpublisher); + getRoot(): Androidpublisher; + /** + * androidpublisher.edits.commit + * @desc Commits/applies the changes made in this edit back to the app. + * @alias androidpublisher.edits.commit + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @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 + */ + commit(params?: Params$Resource$Edits$Commit, options?: MethodOptions): AxiosPromise; + commit(params: Params$Resource$Edits$Commit, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + commit(params: Params$Resource$Edits$Commit, callback: BodyResponseCallback): void; + commit(callback: BodyResponseCallback): void; + /** + * androidpublisher.edits.delete + * @desc Deletes an edit for an app. Creating a new edit will automatically + * delete any of your previous edits so this method need only be called if + * you want to preemptively abandon an edit. + * @alias androidpublisher.edits.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @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?: Params$Resource$Edits$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Edits$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Edits$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * androidpublisher.edits.get + * @desc Returns information about the edit specified. Calls will fail if + * the edit is no long active (e.g. has been deleted, superseded or + * expired). + * @alias androidpublisher.edits.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @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?: Params$Resource$Edits$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Edits$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Edits$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * androidpublisher.edits.insert + * @desc Creates a new edit for an app, populated with the app's current + * state. + * @alias androidpublisher.edits.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @param {().AppEdit} 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?: Params$Resource$Edits$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Edits$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Edits$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * androidpublisher.edits.validate + * @desc Checks that the edit can be successfully committed. The edit's + * changes are not applied to the live app. + * @alias androidpublisher.edits.validate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @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 + */ + validate(params?: Params$Resource$Edits$Validate, options?: MethodOptions): AxiosPromise; + validate(params: Params$Resource$Edits$Validate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + validate(params: Params$Resource$Edits$Validate, callback: BodyResponseCallback): void; + validate(callback: BodyResponseCallback): void; + } + interface Params$Resource$Edits$Commit { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + } + interface Params$Resource$Edits$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + } + interface Params$Resource$Edits$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + } + interface Params$Resource$Edits$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AppEdit; + } + interface Params$Resource$Edits$Validate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + } + class Resource$Edits$Apks { + root: Androidpublisher; + constructor(root: Androidpublisher); + getRoot(): Androidpublisher; + /** + * androidpublisher.edits.apks.addexternallyhosted + * @desc Creates a new APK without uploading the APK itself to Google Play, + * instead hosting the APK at a specified URL. This function is only + * available to enterprises using Google Play for Work whose application is + * configured to restrict distribution to the enterprise domain. + * @alias androidpublisher.edits.apks.addexternallyhosted + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @param {().ApksAddExternallyHostedRequest} 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 + */ + addexternallyhosted(params?: Params$Resource$Edits$Apks$Addexternallyhosted, options?: MethodOptions): AxiosPromise; + addexternallyhosted(params: Params$Resource$Edits$Apks$Addexternallyhosted, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + addexternallyhosted(params: Params$Resource$Edits$Apks$Addexternallyhosted, callback: BodyResponseCallback): void; + addexternallyhosted(callback: BodyResponseCallback): void; + /** + * androidpublisher.edits.apks.list + * @alias androidpublisher.edits.apks.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @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?: Params$Resource$Edits$Apks$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Edits$Apks$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Edits$Apks$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * androidpublisher.edits.apks.upload + * @alias androidpublisher.edits.apks.upload + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @param {object} params.media Media object + * @param {string} params.media.mimeType Media mime-type + * @param {string|object} params.media.body Media body contents + * @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 + */ + upload(params?: Params$Resource$Edits$Apks$Upload, options?: MethodOptions): AxiosPromise; + upload(params: Params$Resource$Edits$Apks$Upload, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + upload(params: Params$Resource$Edits$Apks$Upload, callback: BodyResponseCallback): void; + upload(callback: BodyResponseCallback): void; + } + interface Params$Resource$Edits$Apks$Addexternallyhosted { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ApksAddExternallyHostedRequest; + } + interface Params$Resource$Edits$Apks$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + } + interface Params$Resource$Edits$Apks$Upload { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + /** + * Media metadata + */ + media?: { + /** + * Media mime-type + */ + mediaType?: string; + /** + * Media body contents + */ + body?: any; + }; + } + class Resource$Edits$Bundles { + root: Androidpublisher; + constructor(root: Androidpublisher); + getRoot(): Androidpublisher; + /** + * androidpublisher.edits.bundles.list + * @alias androidpublisher.edits.bundles.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @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?: Params$Resource$Edits$Bundles$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Edits$Bundles$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Edits$Bundles$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * androidpublisher.edits.bundles.upload + * @desc Uploads a new Android App Bundle to this edit. If you are using the + * Google API client libraries, please increase the timeout of the http + * request before calling this endpoint (a timeout of 2 minutes is + * recommended). See: + * https://developers.google.com/api-client-library/java/google-api-java-client/errors + * for an example in java. + * @alias androidpublisher.edits.bundles.upload + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @param {object} params.media Media object + * @param {string} params.media.mimeType Media mime-type + * @param {string|object} params.media.body Media body contents + * @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 + */ + upload(params?: Params$Resource$Edits$Bundles$Upload, options?: MethodOptions): AxiosPromise; + upload(params: Params$Resource$Edits$Bundles$Upload, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + upload(params: Params$Resource$Edits$Bundles$Upload, callback: BodyResponseCallback): void; + upload(callback: BodyResponseCallback): void; + } + interface Params$Resource$Edits$Bundles$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + } + interface Params$Resource$Edits$Bundles$Upload { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + /** + * Media metadata + */ + media?: { + /** + * Media mime-type + */ + mediaType?: string; + /** + * Media body contents + */ + body?: any; + }; + } + class Resource$Edits$Deobfuscationfiles { + root: Androidpublisher; + constructor(root: Androidpublisher); + getRoot(): Androidpublisher; + /** + * androidpublisher.edits.deobfuscationfiles.upload + * @desc Uploads the deobfuscation file of the specified APK. If a + * deobfuscation file already exists, it will be replaced. + * @alias androidpublisher.edits.deobfuscationfiles.upload + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.apkVersionCode The version code of the APK whose deobfuscation file is being uploaded. + * @param {string} params.deobfuscationFileType + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.packageName Unique identifier of the Android app for which the deobfuscatiuon files are being uploaded; for example, "com.spiffygame". + * @param {object} params.media Media object + * @param {string} params.media.mimeType Media mime-type + * @param {string|object} params.media.body Media body contents + * @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 + */ + upload(params?: Params$Resource$Edits$Deobfuscationfiles$Upload, options?: MethodOptions): AxiosPromise; + upload(params: Params$Resource$Edits$Deobfuscationfiles$Upload, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + upload(params: Params$Resource$Edits$Deobfuscationfiles$Upload, callback: BodyResponseCallback): void; + upload(callback: BodyResponseCallback): void; + } + interface Params$Resource$Edits$Deobfuscationfiles$Upload { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The version code of the APK whose deobfuscation file is being uploaded. + */ + apkVersionCode?: number; + /** + * + */ + deobfuscationFileType?: string; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * Unique identifier of the Android app for which the deobfuscatiuon files + * are being uploaded; for example, "com.spiffygame". + */ + packageName?: string; + /** + * Media metadata + */ + media?: { + /** + * Media mime-type + */ + mediaType?: string; + /** + * Media body contents + */ + body?: any; + }; + } + class Resource$Edits$Details { + root: Androidpublisher; + constructor(root: Androidpublisher); + getRoot(): Androidpublisher; + /** + * androidpublisher.edits.details.get + * @desc Fetches app details for this edit. This includes the default + * language and developer support contact information. + * @alias androidpublisher.edits.details.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @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?: Params$Resource$Edits$Details$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Edits$Details$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Edits$Details$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * androidpublisher.edits.details.patch + * @desc Updates app details for this edit. This method supports patch + * semantics. + * @alias androidpublisher.edits.details.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @param {().AppDetails} 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 + */ + patch(params?: Params$Resource$Edits$Details$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Edits$Details$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Edits$Details$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * androidpublisher.edits.details.update + * @desc Updates app details for this edit. + * @alias androidpublisher.edits.details.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @param {().AppDetails} 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?: Params$Resource$Edits$Details$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Edits$Details$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Edits$Details$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Edits$Details$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + } + interface Params$Resource$Edits$Details$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AppDetails; + } + interface Params$Resource$Edits$Details$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AppDetails; + } + class Resource$Edits$Expansionfiles { + root: Androidpublisher; + constructor(root: Androidpublisher); + getRoot(): Androidpublisher; + /** + * androidpublisher.edits.expansionfiles.get + * @desc Fetches the Expansion File configuration for the APK specified. + * @alias androidpublisher.edits.expansionfiles.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.apkVersionCode The version code of the APK whose Expansion File configuration is being read or modified. + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.expansionFileType + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @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?: Params$Resource$Edits$Expansionfiles$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Edits$Expansionfiles$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Edits$Expansionfiles$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * androidpublisher.edits.expansionfiles.patch + * @desc Updates the APK's Expansion File configuration to reference another + * APK's Expansion Files. To add a new Expansion File use the Upload method. + * This method supports patch semantics. + * @alias androidpublisher.edits.expansionfiles.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.apkVersionCode The version code of the APK whose Expansion File configuration is being read or modified. + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.expansionFileType + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @param {().ExpansionFile} 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 + */ + patch(params?: Params$Resource$Edits$Expansionfiles$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Edits$Expansionfiles$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Edits$Expansionfiles$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * androidpublisher.edits.expansionfiles.update + * @desc Updates the APK's Expansion File configuration to reference another + * APK's Expansion Files. To add a new Expansion File use the Upload method. + * @alias androidpublisher.edits.expansionfiles.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.apkVersionCode The version code of the APK whose Expansion File configuration is being read or modified. + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.expansionFileType + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @param {().ExpansionFile} 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?: Params$Resource$Edits$Expansionfiles$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Edits$Expansionfiles$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Edits$Expansionfiles$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + /** + * androidpublisher.edits.expansionfiles.upload + * @desc Uploads and attaches a new Expansion File to the APK specified. + * @alias androidpublisher.edits.expansionfiles.upload + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.apkVersionCode The version code of the APK whose Expansion File configuration is being read or modified. + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.expansionFileType + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @param {object} params.media Media object + * @param {string} params.media.mimeType Media mime-type + * @param {string|object} params.media.body Media body contents + * @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 + */ + upload(params?: Params$Resource$Edits$Expansionfiles$Upload, options?: MethodOptions): AxiosPromise; + upload(params: Params$Resource$Edits$Expansionfiles$Upload, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + upload(params: Params$Resource$Edits$Expansionfiles$Upload, callback: BodyResponseCallback): void; + upload(callback: BodyResponseCallback): void; + } + interface Params$Resource$Edits$Expansionfiles$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The version code of the APK whose Expansion File configuration is being + * read or modified. + */ + apkVersionCode?: number; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * + */ + expansionFileType?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + } + interface Params$Resource$Edits$Expansionfiles$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The version code of the APK whose Expansion File configuration is being + * read or modified. + */ + apkVersionCode?: number; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * + */ + expansionFileType?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ExpansionFile; + } + interface Params$Resource$Edits$Expansionfiles$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The version code of the APK whose Expansion File configuration is being + * read or modified. + */ + apkVersionCode?: number; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * + */ + expansionFileType?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ExpansionFile; + } + interface Params$Resource$Edits$Expansionfiles$Upload { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The version code of the APK whose Expansion File configuration is being + * read or modified. + */ + apkVersionCode?: number; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * + */ + expansionFileType?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + /** + * Media metadata + */ + media?: { + /** + * Media mime-type + */ + mediaType?: string; + /** + * Media body contents + */ + body?: any; + }; + } + class Resource$Edits$Images { + root: Androidpublisher; + constructor(root: Androidpublisher); + getRoot(): Androidpublisher; + /** + * androidpublisher.edits.images.delete + * @desc Deletes the image (specified by id) from the edit. + * @alias androidpublisher.edits.images.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.imageId Unique identifier an image within the set of images attached to this edit. + * @param {string} params.imageType + * @param {string} params.language The language code (a BCP-47 language tag) of the localized listing whose images are to read or modified. For example, to select Austrian German, pass "de-AT". + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @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?: Params$Resource$Edits$Images$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Edits$Images$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Edits$Images$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * androidpublisher.edits.images.deleteall + * @desc Deletes all images for the specified language and image type. + * @alias androidpublisher.edits.images.deleteall + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.imageType + * @param {string} params.language The language code (a BCP-47 language tag) of the localized listing whose images are to read or modified. For example, to select Austrian German, pass "de-AT". + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @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 + */ + deleteall(params?: Params$Resource$Edits$Images$Deleteall, options?: MethodOptions): AxiosPromise; + deleteall(params: Params$Resource$Edits$Images$Deleteall, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + deleteall(params: Params$Resource$Edits$Images$Deleteall, callback: BodyResponseCallback): void; + deleteall(callback: BodyResponseCallback): void; + /** + * androidpublisher.edits.images.list + * @desc Lists all images for the specified language and image type. + * @alias androidpublisher.edits.images.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.imageType + * @param {string} params.language The language code (a BCP-47 language tag) of the localized listing whose images are to read or modified. For example, to select Austrian German, pass "de-AT". + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @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?: Params$Resource$Edits$Images$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Edits$Images$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Edits$Images$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * androidpublisher.edits.images.upload + * @desc Uploads a new image and adds it to the list of images for the + * specified language and image type. + * @alias androidpublisher.edits.images.upload + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.imageType + * @param {string} params.language The language code (a BCP-47 language tag) of the localized listing whose images are to read or modified. For example, to select Austrian German, pass "de-AT". + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @param {object} params.media Media object + * @param {string} params.media.mimeType Media mime-type + * @param {string|object} params.media.body Media body contents + * @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 + */ + upload(params?: Params$Resource$Edits$Images$Upload, options?: MethodOptions): AxiosPromise; + upload(params: Params$Resource$Edits$Images$Upload, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + upload(params: Params$Resource$Edits$Images$Upload, callback: BodyResponseCallback): void; + upload(callback: BodyResponseCallback): void; + } + interface Params$Resource$Edits$Images$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * Unique identifier an image within the set of images attached to this + * edit. + */ + imageId?: string; + /** + * + */ + imageType?: string; + /** + * The language code (a BCP-47 language tag) of the localized listing whose + * images are to read or modified. For example, to select Austrian German, + * pass "de-AT". + */ + language?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + } + interface Params$Resource$Edits$Images$Deleteall { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * + */ + imageType?: string; + /** + * The language code (a BCP-47 language tag) of the localized listing whose + * images are to read or modified. For example, to select Austrian German, + * pass "de-AT". + */ + language?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + } + interface Params$Resource$Edits$Images$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * + */ + imageType?: string; + /** + * The language code (a BCP-47 language tag) of the localized listing whose + * images are to read or modified. For example, to select Austrian German, + * pass "de-AT". + */ + language?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + } + interface Params$Resource$Edits$Images$Upload { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * + */ + imageType?: string; + /** + * The language code (a BCP-47 language tag) of the localized listing whose + * images are to read or modified. For example, to select Austrian German, + * pass "de-AT". + */ + language?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + /** + * Media metadata + */ + media?: { + /** + * Media mime-type + */ + mediaType?: string; + /** + * Media body contents + */ + body?: any; + }; + } + class Resource$Edits$Listings { + root: Androidpublisher; + constructor(root: Androidpublisher); + getRoot(): Androidpublisher; + /** + * androidpublisher.edits.listings.delete + * @desc Deletes the specified localized store listing from an edit. + * @alias androidpublisher.edits.listings.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.language The language code (a BCP-47 language tag) of the localized listing to read or modify. For example, to select Austrian German, pass "de-AT". + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @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?: Params$Resource$Edits$Listings$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Edits$Listings$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Edits$Listings$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * androidpublisher.edits.listings.deleteall + * @desc Deletes all localized listings from an edit. + * @alias androidpublisher.edits.listings.deleteall + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @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 + */ + deleteall(params?: Params$Resource$Edits$Listings$Deleteall, options?: MethodOptions): AxiosPromise; + deleteall(params: Params$Resource$Edits$Listings$Deleteall, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + deleteall(params: Params$Resource$Edits$Listings$Deleteall, callback: BodyResponseCallback): void; + deleteall(callback: BodyResponseCallback): void; + /** + * androidpublisher.edits.listings.get + * @desc Fetches information about a localized store listing. + * @alias androidpublisher.edits.listings.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.language The language code (a BCP-47 language tag) of the localized listing to read or modify. For example, to select Austrian German, pass "de-AT". + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @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?: Params$Resource$Edits$Listings$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Edits$Listings$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Edits$Listings$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * androidpublisher.edits.listings.list + * @desc Returns all of the localized store listings attached to this edit. + * @alias androidpublisher.edits.listings.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @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?: Params$Resource$Edits$Listings$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Edits$Listings$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Edits$Listings$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * androidpublisher.edits.listings.patch + * @desc Creates or updates a localized store listing. This method supports + * patch semantics. + * @alias androidpublisher.edits.listings.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.language The language code (a BCP-47 language tag) of the localized listing to read or modify. For example, to select Austrian German, pass "de-AT". + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @param {().Listing} 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 + */ + patch(params?: Params$Resource$Edits$Listings$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Edits$Listings$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Edits$Listings$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * androidpublisher.edits.listings.update + * @desc Creates or updates a localized store listing. + * @alias androidpublisher.edits.listings.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.language The language code (a BCP-47 language tag) of the localized listing to read or modify. For example, to select Austrian German, pass "de-AT". + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @param {().Listing} 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?: Params$Resource$Edits$Listings$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Edits$Listings$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Edits$Listings$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Edits$Listings$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * The language code (a BCP-47 language tag) of the localized listing to + * read or modify. For example, to select Austrian German, pass "de-AT". + */ + language?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + } + interface Params$Resource$Edits$Listings$Deleteall { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + } + interface Params$Resource$Edits$Listings$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * The language code (a BCP-47 language tag) of the localized listing to + * read or modify. For example, to select Austrian German, pass "de-AT". + */ + language?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + } + interface Params$Resource$Edits$Listings$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + } + interface Params$Resource$Edits$Listings$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * The language code (a BCP-47 language tag) of the localized listing to + * read or modify. For example, to select Austrian German, pass "de-AT". + */ + language?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Listing; + } + interface Params$Resource$Edits$Listings$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * The language code (a BCP-47 language tag) of the localized listing to + * read or modify. For example, to select Austrian German, pass "de-AT". + */ + language?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Listing; + } + class Resource$Edits$Testers { + root: Androidpublisher; + constructor(root: Androidpublisher); + getRoot(): Androidpublisher; + /** + * androidpublisher.edits.testers.get + * @alias androidpublisher.edits.testers.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @param {string} params.track The track to read or modify. Acceptable values are: "alpha", "beta", "production", "rollout" or "internal". + * @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?: Params$Resource$Edits$Testers$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Edits$Testers$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Edits$Testers$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * androidpublisher.edits.testers.patch + * @alias androidpublisher.edits.testers.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @param {string} params.track The track to read or modify. Acceptable values are: "alpha", "beta", "production", "rollout" or "internal". + * @param {().Testers} 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 + */ + patch(params?: Params$Resource$Edits$Testers$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Edits$Testers$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Edits$Testers$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * androidpublisher.edits.testers.update + * @alias androidpublisher.edits.testers.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @param {string} params.track The track to read or modify. Acceptable values are: "alpha", "beta", "production", "rollout" or "internal". + * @param {().Testers} 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?: Params$Resource$Edits$Testers$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Edits$Testers$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Edits$Testers$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Edits$Testers$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + /** + * The track to read or modify. Acceptable values are: "alpha", "beta", + * "production", "rollout" or "internal". + */ + track?: string; + } + interface Params$Resource$Edits$Testers$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + /** + * The track to read or modify. Acceptable values are: "alpha", "beta", + * "production", "rollout" or "internal". + */ + track?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Testers; + } + interface Params$Resource$Edits$Testers$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + /** + * The track to read or modify. Acceptable values are: "alpha", "beta", + * "production", "rollout" or "internal". + */ + track?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Testers; + } + class Resource$Edits$Tracks { + root: Androidpublisher; + constructor(root: Androidpublisher); + getRoot(): Androidpublisher; + /** + * androidpublisher.edits.tracks.get + * @desc Fetches the track configuration for the specified track type. + * Includes the APK version codes that are in this track. + * @alias androidpublisher.edits.tracks.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @param {string} params.track The track to read or modify. + * @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?: Params$Resource$Edits$Tracks$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Edits$Tracks$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Edits$Tracks$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * androidpublisher.edits.tracks.list + * @desc Lists all the track configurations for this edit. + * @alias androidpublisher.edits.tracks.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @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?: Params$Resource$Edits$Tracks$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Edits$Tracks$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Edits$Tracks$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * androidpublisher.edits.tracks.patch + * @desc Updates the track configuration for the specified track type. When + * halted, the rollout track cannot be updated without adding new APKs, and + * adding new APKs will cause it to resume. This method supports patch + * semantics. + * @alias androidpublisher.edits.tracks.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @param {string} params.track The track to read or modify. + * @param {().Track} 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 + */ + patch(params?: Params$Resource$Edits$Tracks$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Edits$Tracks$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Edits$Tracks$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * androidpublisher.edits.tracks.update + * @desc Updates the track configuration for the specified track type. When + * halted, the rollout track cannot be updated without adding new APKs, and + * adding new APKs will cause it to resume. + * @alias androidpublisher.edits.tracks.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.editId Unique identifier for this edit. + * @param {string} params.packageName Unique identifier for the Android app that is being updated; for example, "com.spiffygame". + * @param {string} params.track The track to read or modify. + * @param {().Track} 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?: Params$Resource$Edits$Tracks$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Edits$Tracks$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Edits$Tracks$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Edits$Tracks$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + /** + * The track to read or modify. + */ + track?: string; + } + interface Params$Resource$Edits$Tracks$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + } + interface Params$Resource$Edits$Tracks$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + /** + * The track to read or modify. + */ + track?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Track; + } + interface Params$Resource$Edits$Tracks$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for this edit. + */ + editId?: string; + /** + * Unique identifier for the Android app that is being updated; for example, + * "com.spiffygame". + */ + packageName?: string; + /** + * The track to read or modify. + */ + track?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Track; + } + class Resource$Inappproducts { + root: Androidpublisher; + constructor(root: Androidpublisher); + getRoot(): Androidpublisher; + /** + * androidpublisher.inappproducts.delete + * @desc Delete an in-app product for an app. + * @alias androidpublisher.inappproducts.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.packageName Unique identifier for the Android app with the in-app product; for example, "com.spiffygame". + * @param {string} params.sku Unique identifier for the in-app product. + * @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?: Params$Resource$Inappproducts$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Inappproducts$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Inappproducts$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * androidpublisher.inappproducts.get + * @desc Returns information about the in-app product specified. + * @alias androidpublisher.inappproducts.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.packageName + * @param {string} params.sku Unique identifier for the in-app product. + * @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?: Params$Resource$Inappproducts$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Inappproducts$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Inappproducts$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * androidpublisher.inappproducts.insert + * @desc Creates a new in-app product for an app. + * @alias androidpublisher.inappproducts.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.autoConvertMissingPrices If true the prices for all regions targeted by the parent app that don't have a price specified for this in-app product will be auto converted to the target currency based on the default price. Defaults to false. + * @param {string} params.packageName Unique identifier for the Android app; for example, "com.spiffygame". + * @param {().InAppProduct} 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?: Params$Resource$Inappproducts$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Inappproducts$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Inappproducts$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * androidpublisher.inappproducts.list + * @desc List all the in-app products for an Android app, both subscriptions + * and managed in-app products.. + * @alias androidpublisher.inappproducts.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.maxResults + * @param {string} params.packageName Unique identifier for the Android app with in-app products; for example, "com.spiffygame". + * @param {integer=} params.startIndex + * @param {string=} params.token + * @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?: Params$Resource$Inappproducts$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Inappproducts$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Inappproducts$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * androidpublisher.inappproducts.patch + * @desc Updates the details of an in-app product. This method supports + * patch semantics. + * @alias androidpublisher.inappproducts.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.autoConvertMissingPrices If true the prices for all regions targeted by the parent app that don't have a price specified for this in-app product will be auto converted to the target currency based on the default price. Defaults to false. + * @param {string} params.packageName Unique identifier for the Android app with the in-app product; for example, "com.spiffygame". + * @param {string} params.sku Unique identifier for the in-app product. + * @param {().InAppProduct} 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 + */ + patch(params?: Params$Resource$Inappproducts$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Inappproducts$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Inappproducts$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * androidpublisher.inappproducts.update + * @desc Updates the details of an in-app product. + * @alias androidpublisher.inappproducts.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.autoConvertMissingPrices If true the prices for all regions targeted by the parent app that don't have a price specified for this in-app product will be auto converted to the target currency based on the default price. Defaults to false. + * @param {string} params.packageName Unique identifier for the Android app with the in-app product; for example, "com.spiffygame". + * @param {string} params.sku Unique identifier for the in-app product. + * @param {().InAppProduct} 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?: Params$Resource$Inappproducts$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Inappproducts$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Inappproducts$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Inappproducts$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for the Android app with the in-app product; for + * example, "com.spiffygame". + */ + packageName?: string; + /** + * Unique identifier for the in-app product. + */ + sku?: string; + } + interface Params$Resource$Inappproducts$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * + */ + packageName?: string; + /** + * Unique identifier for the in-app product. + */ + sku?: string; + } + interface Params$Resource$Inappproducts$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * If true the prices for all regions targeted by the parent app that don't + * have a price specified for this in-app product will be auto converted to + * the target currency based on the default price. Defaults to false. + */ + autoConvertMissingPrices?: boolean; + /** + * Unique identifier for the Android app; for example, "com.spiffygame". + */ + packageName?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InAppProduct; + } + interface Params$Resource$Inappproducts$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * + */ + maxResults?: number; + /** + * Unique identifier for the Android app with in-app products; for example, + * "com.spiffygame". + */ + packageName?: string; + /** + * + */ + startIndex?: number; + /** + * + */ + token?: string; + } + interface Params$Resource$Inappproducts$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * If true the prices for all regions targeted by the parent app that don't + * have a price specified for this in-app product will be auto converted to + * the target currency based on the default price. Defaults to false. + */ + autoConvertMissingPrices?: boolean; + /** + * Unique identifier for the Android app with the in-app product; for + * example, "com.spiffygame". + */ + packageName?: string; + /** + * Unique identifier for the in-app product. + */ + sku?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InAppProduct; + } + interface Params$Resource$Inappproducts$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * If true the prices for all regions targeted by the parent app that don't + * have a price specified for this in-app product will be auto converted to + * the target currency based on the default price. Defaults to false. + */ + autoConvertMissingPrices?: boolean; + /** + * Unique identifier for the Android app with the in-app product; for + * example, "com.spiffygame". + */ + packageName?: string; + /** + * Unique identifier for the in-app product. + */ + sku?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InAppProduct; + } + class Resource$Orders { + root: Androidpublisher; + constructor(root: Androidpublisher); + getRoot(): Androidpublisher; + /** + * androidpublisher.orders.refund + * @desc Refund a user's subscription or in-app purchase order. + * @alias androidpublisher.orders.refund + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.orderId The order ID provided to the user when the subscription or in-app order was purchased. + * @param {string} params.packageName The package name of the application for which this subscription or in-app item was purchased (for example, 'com.some.thing'). + * @param {boolean=} params.revoke Whether to revoke the purchased item. If set to true, access to the subscription or in-app item will be terminated immediately. If the item is a recurring subscription, all future payments will also be terminated. Consumed in-app items need to be handled by developer's app. (optional) + * @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 + */ + refund(params?: Params$Resource$Orders$Refund, options?: MethodOptions): AxiosPromise; + refund(params: Params$Resource$Orders$Refund, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + refund(params: Params$Resource$Orders$Refund, callback: BodyResponseCallback): void; + refund(callback: BodyResponseCallback): void; + } + interface Params$Resource$Orders$Refund { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The order ID provided to the user when the subscription or in-app order + * was purchased. + */ + orderId?: string; + /** + * The package name of the application for which this subscription or in-app + * item was purchased (for example, 'com.some.thing'). + */ + packageName?: string; + /** + * Whether to revoke the purchased item. If set to true, access to the + * subscription or in-app item will be terminated immediately. If the item + * is a recurring subscription, all future payments will also be terminated. + * Consumed in-app items need to be handled by developer's app. (optional) + */ + revoke?: boolean; + } + class Resource$Purchases { + root: Androidpublisher; + products: Resource$Purchases$Products; + subscriptions: Resource$Purchases$Subscriptions; + voidedpurchases: Resource$Purchases$Voidedpurchases; + constructor(root: Androidpublisher); + getRoot(): Androidpublisher; + } + class Resource$Purchases$Products { + root: Androidpublisher; + constructor(root: Androidpublisher); + getRoot(): Androidpublisher; + /** + * androidpublisher.purchases.products.get + * @desc Checks the purchase and consumption status of an inapp item. + * @alias androidpublisher.purchases.products.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.packageName The package name of the application the inapp product was sold in (for example, 'com.some.thing'). + * @param {string} params.productId The inapp product SKU (for example, 'com.some.thing.inapp1'). + * @param {string} params.token The token provided to the user's device when the inapp product was purchased. + * @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?: Params$Resource$Purchases$Products$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Purchases$Products$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Purchases$Products$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Purchases$Products$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The package name of the application the inapp product was sold in (for + * example, 'com.some.thing'). + */ + packageName?: string; + /** + * The inapp product SKU (for example, 'com.some.thing.inapp1'). + */ + productId?: string; + /** + * The token provided to the user's device when the inapp product was + * purchased. + */ + token?: string; + } + class Resource$Purchases$Subscriptions { + root: Androidpublisher; + constructor(root: Androidpublisher); + getRoot(): Androidpublisher; + /** + * androidpublisher.purchases.subscriptions.cancel + * @desc Cancels a user's subscription purchase. The subscription remains + * valid until its expiration time. + * @alias androidpublisher.purchases.subscriptions.cancel + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.packageName The package name of the application for which this subscription was purchased (for example, 'com.some.thing'). + * @param {string} params.subscriptionId The purchased subscription ID (for example, 'monthly001'). + * @param {string} params.token The token provided to the user's device when the subscription was purchased. + * @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 + */ + cancel(params?: Params$Resource$Purchases$Subscriptions$Cancel, options?: MethodOptions): AxiosPromise; + cancel(params: Params$Resource$Purchases$Subscriptions$Cancel, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + cancel(params: Params$Resource$Purchases$Subscriptions$Cancel, callback: BodyResponseCallback): void; + cancel(callback: BodyResponseCallback): void; + /** + * androidpublisher.purchases.subscriptions.defer + * @desc Defers a user's subscription purchase until a specified future + * expiration time. + * @alias androidpublisher.purchases.subscriptions.defer + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.packageName The package name of the application for which this subscription was purchased (for example, 'com.some.thing'). + * @param {string} params.subscriptionId The purchased subscription ID (for example, 'monthly001'). + * @param {string} params.token The token provided to the user's device when the subscription was purchased. + * @param {().SubscriptionPurchasesDeferRequest} 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 + */ + defer(params?: Params$Resource$Purchases$Subscriptions$Defer, options?: MethodOptions): AxiosPromise; + defer(params: Params$Resource$Purchases$Subscriptions$Defer, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + defer(params: Params$Resource$Purchases$Subscriptions$Defer, callback: BodyResponseCallback): void; + defer(callback: BodyResponseCallback): void; + /** + * androidpublisher.purchases.subscriptions.get + * @desc Checks whether a user's subscription purchase is valid and returns + * its expiry time. + * @alias androidpublisher.purchases.subscriptions.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.packageName The package name of the application for which this subscription was purchased (for example, 'com.some.thing'). + * @param {string} params.subscriptionId The purchased subscription ID (for example, 'monthly001'). + * @param {string} params.token The token provided to the user's device when the subscription was purchased. + * @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?: Params$Resource$Purchases$Subscriptions$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Purchases$Subscriptions$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Purchases$Subscriptions$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * androidpublisher.purchases.subscriptions.refund + * @desc Refunds a user's subscription purchase, but the subscription + * remains valid until its expiration time and it will continue to recur. + * @alias androidpublisher.purchases.subscriptions.refund + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.packageName The package name of the application for which this subscription was purchased (for example, 'com.some.thing'). + * @param {string} params.subscriptionId The purchased subscription ID (for example, 'monthly001'). + * @param {string} params.token The token provided to the user's device when the subscription was purchased. + * @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 + */ + refund(params?: Params$Resource$Purchases$Subscriptions$Refund, options?: MethodOptions): AxiosPromise; + refund(params: Params$Resource$Purchases$Subscriptions$Refund, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + refund(params: Params$Resource$Purchases$Subscriptions$Refund, callback: BodyResponseCallback): void; + refund(callback: BodyResponseCallback): void; + /** + * androidpublisher.purchases.subscriptions.revoke + * @desc Refunds and immediately revokes a user's subscription purchase. + * Access to the subscription will be terminated immediately and it will + * stop recurring. + * @alias androidpublisher.purchases.subscriptions.revoke + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.packageName The package name of the application for which this subscription was purchased (for example, 'com.some.thing'). + * @param {string} params.subscriptionId The purchased subscription ID (for example, 'monthly001'). + * @param {string} params.token The token provided to the user's device when the subscription was purchased. + * @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 + */ + revoke(params?: Params$Resource$Purchases$Subscriptions$Revoke, options?: MethodOptions): AxiosPromise; + revoke(params: Params$Resource$Purchases$Subscriptions$Revoke, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + revoke(params: Params$Resource$Purchases$Subscriptions$Revoke, callback: BodyResponseCallback): void; + revoke(callback: BodyResponseCallback): void; + } + interface Params$Resource$Purchases$Subscriptions$Cancel { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The package name of the application for which this subscription was + * purchased (for example, 'com.some.thing'). + */ + packageName?: string; + /** + * The purchased subscription ID (for example, 'monthly001'). + */ + subscriptionId?: string; + /** + * The token provided to the user's device when the subscription was + * purchased. + */ + token?: string; + } + interface Params$Resource$Purchases$Subscriptions$Defer { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The package name of the application for which this subscription was + * purchased (for example, 'com.some.thing'). + */ + packageName?: string; + /** + * The purchased subscription ID (for example, 'monthly001'). + */ + subscriptionId?: string; + /** + * The token provided to the user's device when the subscription was + * purchased. + */ + token?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SubscriptionPurchasesDeferRequest; + } + interface Params$Resource$Purchases$Subscriptions$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The package name of the application for which this subscription was + * purchased (for example, 'com.some.thing'). + */ + packageName?: string; + /** + * The purchased subscription ID (for example, 'monthly001'). + */ + subscriptionId?: string; + /** + * The token provided to the user's device when the subscription was + * purchased. + */ + token?: string; + } + interface Params$Resource$Purchases$Subscriptions$Refund { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The package name of the application for which this subscription was + * purchased (for example, 'com.some.thing'). + */ + packageName?: string; + /** + * The purchased subscription ID (for example, 'monthly001'). + */ + subscriptionId?: string; + /** + * The token provided to the user's device when the subscription was + * purchased. + */ + token?: string; + } + interface Params$Resource$Purchases$Subscriptions$Revoke { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The package name of the application for which this subscription was + * purchased (for example, 'com.some.thing'). + */ + packageName?: string; + /** + * The purchased subscription ID (for example, 'monthly001'). + */ + subscriptionId?: string; + /** + * The token provided to the user's device when the subscription was + * purchased. + */ + token?: string; + } + class Resource$Purchases$Voidedpurchases { + root: Androidpublisher; + constructor(root: Androidpublisher); + getRoot(): Androidpublisher; + /** + * androidpublisher.purchases.voidedpurchases.list + * @desc Lists the purchases that were canceled, refunded or charged-back. + * @alias androidpublisher.purchases.voidedpurchases.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.endTime The time, in milliseconds since the Epoch, of the newest voided in-app product purchase that you want to see in the response. The value of this parameter cannot be greater than the current time and is ignored if a pagination token is set. Default value is current time. Note: This filter is applied on the time at which the record is seen as voided by our systems and not the actual voided time returned in the response. + * @param {integer=} params.maxResults + * @param {string} params.packageName The package name of the application for which voided purchases need to be returned (for example, 'com.some.thing'). + * @param {integer=} params.startIndex + * @param {string=} params.startTime The time, in milliseconds since the Epoch, of the oldest voided in-app product purchase that you want to see in the response. The value of this parameter cannot be older than 30 days and is ignored if a pagination token is set. Default value is current time minus 30 days. Note: This filter is applied on the time at which the record is seen as voided by our systems and not the actual voided time returned in the response. + * @param {string=} params.token + * @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?: Params$Resource$Purchases$Voidedpurchases$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Purchases$Voidedpurchases$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Purchases$Voidedpurchases$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Purchases$Voidedpurchases$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The time, in milliseconds since the Epoch, of the newest voided in-app + * product purchase that you want to see in the response. The value of this + * parameter cannot be greater than the current time and is ignored if a + * pagination token is set. Default value is current time. Note: This filter + * is applied on the time at which the record is seen as voided by our + * systems and not the actual voided time returned in the response. + */ + endTime?: string; + /** + * + */ + maxResults?: number; + /** + * The package name of the application for which voided purchases need to be + * returned (for example, 'com.some.thing'). + */ + packageName?: string; + /** + * + */ + startIndex?: number; + /** + * The time, in milliseconds since the Epoch, of the oldest voided in-app + * product purchase that you want to see in the response. The value of this + * parameter cannot be older than 30 days and is ignored if a pagination + * token is set. Default value is current time minus 30 days. Note: This + * filter is applied on the time at which the record is seen as voided by + * our systems and not the actual voided time returned in the response. + */ + startTime?: string; + /** + * + */ + token?: string; + } + class Resource$Reviews { + root: Androidpublisher; + constructor(root: Androidpublisher); + getRoot(): Androidpublisher; + /** + * androidpublisher.reviews.get + * @desc Returns a single review. + * @alias androidpublisher.reviews.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.packageName Unique identifier for the Android app for which we want reviews; for example, "com.spiffygame". + * @param {string} params.reviewId + * @param {string=} params.translationLanguage + * @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?: Params$Resource$Reviews$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Reviews$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Reviews$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * androidpublisher.reviews.list + * @desc Returns a list of reviews. Only reviews from last week will be + * returned. + * @alias androidpublisher.reviews.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.maxResults + * @param {string} params.packageName Unique identifier for the Android app for which we want reviews; for example, "com.spiffygame". + * @param {integer=} params.startIndex + * @param {string=} params.token + * @param {string=} params.translationLanguage + * @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?: Params$Resource$Reviews$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Reviews$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Reviews$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * androidpublisher.reviews.reply + * @desc Reply to a single review, or update an existing reply. + * @alias androidpublisher.reviews.reply + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.packageName Unique identifier for the Android app for which we want reviews; for example, "com.spiffygame". + * @param {string} params.reviewId + * @param {().ReviewsReplyRequest} 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 + */ + reply(params?: Params$Resource$Reviews$Reply, options?: MethodOptions): AxiosPromise; + reply(params: Params$Resource$Reviews$Reply, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + reply(params: Params$Resource$Reviews$Reply, callback: BodyResponseCallback): void; + reply(callback: BodyResponseCallback): void; + } + interface Params$Resource$Reviews$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for the Android app for which we want reviews; for + * example, "com.spiffygame". + */ + packageName?: string; + /** + * + */ + reviewId?: string; + /** + * + */ + translationLanguage?: string; + } + interface Params$Resource$Reviews$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * + */ + maxResults?: number; + /** + * Unique identifier for the Android app for which we want reviews; for + * example, "com.spiffygame". + */ + packageName?: string; + /** + * + */ + startIndex?: number; + /** + * + */ + token?: string; + /** + * + */ + translationLanguage?: string; + } + interface Params$Resource$Reviews$Reply { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Unique identifier for the Android app for which we want reviews; for + * example, "com.spiffygame". + */ + packageName?: string; + /** + * + */ + reviewId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ReviewsReplyRequest; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/androidpublisher/v3.js b/express-server/node_modules/googleapis/build/src/apis/androidpublisher/v3.js new file mode 100644 index 00000000..28542654 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/androidpublisher/v3.js @@ -0,0 +1,1924 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var androidpublisher_v3; +(function (androidpublisher_v3) { + /** + * Google Play Developer API + * + * Lets Android application developers access their Google Play accounts. + * + * @example + * const {google} = require('googleapis'); + * const androidpublisher = google.androidpublisher('v3'); + * + * @namespace androidpublisher + * @type {Function} + * @version v3 + * @variation v3 + * @param {object=} options Options for Androidpublisher + */ + class Androidpublisher { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.edits = new Resource$Edits(this); + this.inappproducts = new Resource$Inappproducts(this); + this.orders = new Resource$Orders(this); + this.purchases = new Resource$Purchases(this); + this.reviews = new Resource$Reviews(this); + } + getRoot() { + return this.root; + } + } + androidpublisher_v3.Androidpublisher = Androidpublisher; + class Resource$Edits { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.apks = new Resource$Edits$Apks(root); + this.bundles = new Resource$Edits$Bundles(root); + this.deobfuscationfiles = new Resource$Edits$Deobfuscationfiles(root); + this.details = new Resource$Edits$Details(root); + this.expansionfiles = new Resource$Edits$Expansionfiles(root); + this.images = new Resource$Edits$Images(root); + this.listings = new Resource$Edits$Listings(root); + this.testers = new Resource$Edits$Testers(root); + this.tracks = new Resource$Edits$Tracks(root); + } + getRoot() { + return this.root; + } + commit(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v3/applications/{packageName}/edits/{editId}:commit') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['packageName', 'editId'], + pathParams: ['editId', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v3/applications/{packageName}/edits/{editId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['packageName', 'editId'], + pathParams: ['editId', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v3/applications/{packageName}/edits/{editId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['packageName', 'editId'], + pathParams: ['editId', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v3/applications/{packageName}/edits') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['packageName'], + pathParams: ['packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + validate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v3/applications/{packageName}/edits/{editId}:validate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['packageName', 'editId'], + pathParams: ['editId', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidpublisher_v3.Resource$Edits = Resource$Edits; + class Resource$Edits$Apks { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + addexternallyhosted(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v3/applications/{packageName}/edits/{editId}/apks/externallyHosted') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['packageName', 'editId'], + pathParams: ['editId', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v3/applications/{packageName}/edits/{editId}/apks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['packageName', 'editId'], + pathParams: ['editId', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + upload(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v3/applications/{packageName}/edits/{editId}/apks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + mediaUrl: (rootUrl + + '/upload/androidpublisher/v3/applications/{packageName}/edits/{editId}/apks') + .replace(/([^:]\/)\/+/g, '$1'), + requiredParams: ['packageName', 'editId'], + pathParams: ['editId', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidpublisher_v3.Resource$Edits$Apks = Resource$Edits$Apks; + class Resource$Edits$Bundles { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v3/applications/{packageName}/edits/{editId}/bundles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['packageName', 'editId'], + pathParams: ['editId', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + upload(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v3/applications/{packageName}/edits/{editId}/bundles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + mediaUrl: (rootUrl + + '/upload/androidpublisher/v3/applications/{packageName}/edits/{editId}/bundles') + .replace(/([^:]\/)\/+/g, '$1'), + requiredParams: ['packageName', 'editId'], + pathParams: ['editId', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidpublisher_v3.Resource$Edits$Bundles = Resource$Edits$Bundles; + class Resource$Edits$Deobfuscationfiles { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + upload(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v3/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/deobfuscationFiles/{deobfuscationFileType}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + mediaUrl: (rootUrl + + '/upload/androidpublisher/v3/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/deobfuscationFiles/{deobfuscationFileType}') + .replace(/([^:]\/)\/+/g, '$1'), + requiredParams: [ + 'packageName', 'editId', 'apkVersionCode', 'deobfuscationFileType' + ], + pathParams: [ + 'apkVersionCode', 'deobfuscationFileType', 'editId', 'packageName' + ], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidpublisher_v3.Resource$Edits$Deobfuscationfiles = Resource$Edits$Deobfuscationfiles; + class Resource$Edits$Details { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v3/applications/{packageName}/edits/{editId}/details') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['packageName', 'editId'], + pathParams: ['editId', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v3/applications/{packageName}/edits/{editId}/details') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['packageName', 'editId'], + pathParams: ['editId', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v3/applications/{packageName}/edits/{editId}/details') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['packageName', 'editId'], + pathParams: ['editId', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidpublisher_v3.Resource$Edits$Details = Resource$Edits$Details; + class Resource$Edits$Expansionfiles { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v3/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['packageName', 'editId', 'apkVersionCode', 'expansionFileType'], + pathParams: ['apkVersionCode', 'editId', 'expansionFileType', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v3/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['packageName', 'editId', 'apkVersionCode', 'expansionFileType'], + pathParams: ['apkVersionCode', 'editId', 'expansionFileType', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v3/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['packageName', 'editId', 'apkVersionCode', 'expansionFileType'], + pathParams: ['apkVersionCode', 'editId', 'expansionFileType', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + upload(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v3/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + mediaUrl: (rootUrl + + '/upload/androidpublisher/v3/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}') + .replace(/([^:]\/)\/+/g, '$1'), + requiredParams: ['packageName', 'editId', 'apkVersionCode', 'expansionFileType'], + pathParams: ['apkVersionCode', 'editId', 'expansionFileType', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidpublisher_v3.Resource$Edits$Expansionfiles = Resource$Edits$Expansionfiles; + class Resource$Edits$Images { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v3/applications/{packageName}/edits/{editId}/listings/{language}/{imageType}/{imageId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['packageName', 'editId', 'language', 'imageType', 'imageId'], + pathParams: ['editId', 'imageId', 'imageType', 'language', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + deleteall(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v3/applications/{packageName}/edits/{editId}/listings/{language}/{imageType}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['packageName', 'editId', 'language', 'imageType'], + pathParams: ['editId', 'imageType', 'language', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v3/applications/{packageName}/edits/{editId}/listings/{language}/{imageType}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['packageName', 'editId', 'language', 'imageType'], + pathParams: ['editId', 'imageType', 'language', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + upload(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v3/applications/{packageName}/edits/{editId}/listings/{language}/{imageType}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + mediaUrl: (rootUrl + + '/upload/androidpublisher/v3/applications/{packageName}/edits/{editId}/listings/{language}/{imageType}') + .replace(/([^:]\/)\/+/g, '$1'), + requiredParams: ['packageName', 'editId', 'language', 'imageType'], + pathParams: ['editId', 'imageType', 'language', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidpublisher_v3.Resource$Edits$Images = Resource$Edits$Images; + class Resource$Edits$Listings { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v3/applications/{packageName}/edits/{editId}/listings/{language}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['packageName', 'editId', 'language'], + pathParams: ['editId', 'language', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + deleteall(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v3/applications/{packageName}/edits/{editId}/listings') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['packageName', 'editId'], + pathParams: ['editId', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v3/applications/{packageName}/edits/{editId}/listings/{language}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['packageName', 'editId', 'language'], + pathParams: ['editId', 'language', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v3/applications/{packageName}/edits/{editId}/listings') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['packageName', 'editId'], + pathParams: ['editId', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v3/applications/{packageName}/edits/{editId}/listings/{language}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['packageName', 'editId', 'language'], + pathParams: ['editId', 'language', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v3/applications/{packageName}/edits/{editId}/listings/{language}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['packageName', 'editId', 'language'], + pathParams: ['editId', 'language', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidpublisher_v3.Resource$Edits$Listings = Resource$Edits$Listings; + class Resource$Edits$Testers { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v3/applications/{packageName}/edits/{editId}/testers/{track}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['packageName', 'editId', 'track'], + pathParams: ['editId', 'packageName', 'track'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v3/applications/{packageName}/edits/{editId}/testers/{track}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['packageName', 'editId', 'track'], + pathParams: ['editId', 'packageName', 'track'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v3/applications/{packageName}/edits/{editId}/testers/{track}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['packageName', 'editId', 'track'], + pathParams: ['editId', 'packageName', 'track'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidpublisher_v3.Resource$Edits$Testers = Resource$Edits$Testers; + class Resource$Edits$Tracks { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v3/applications/{packageName}/edits/{editId}/tracks/{track}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['packageName', 'editId', 'track'], + pathParams: ['editId', 'packageName', 'track'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v3/applications/{packageName}/edits/{editId}/tracks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['packageName', 'editId'], + pathParams: ['editId', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v3/applications/{packageName}/edits/{editId}/tracks/{track}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['packageName', 'editId', 'track'], + pathParams: ['editId', 'packageName', 'track'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v3/applications/{packageName}/edits/{editId}/tracks/{track}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['packageName', 'editId', 'track'], + pathParams: ['editId', 'packageName', 'track'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidpublisher_v3.Resource$Edits$Tracks = Resource$Edits$Tracks; + class Resource$Inappproducts { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v3/applications/{packageName}/inappproducts/{sku}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['packageName', 'sku'], + pathParams: ['packageName', 'sku'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v3/applications/{packageName}/inappproducts/{sku}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['packageName', 'sku'], + pathParams: ['packageName', 'sku'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v3/applications/{packageName}/inappproducts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['packageName'], + pathParams: ['packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v3/applications/{packageName}/inappproducts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['packageName'], + pathParams: ['packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v3/applications/{packageName}/inappproducts/{sku}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['packageName', 'sku'], + pathParams: ['packageName', 'sku'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v3/applications/{packageName}/inappproducts/{sku}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['packageName', 'sku'], + pathParams: ['packageName', 'sku'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidpublisher_v3.Resource$Inappproducts = Resource$Inappproducts; + class Resource$Orders { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + refund(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v3/applications/{packageName}/orders/{orderId}:refund') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['packageName', 'orderId'], + pathParams: ['orderId', 'packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidpublisher_v3.Resource$Orders = Resource$Orders; + class Resource$Purchases { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.products = new Resource$Purchases$Products(root); + this.subscriptions = new Resource$Purchases$Subscriptions(root); + this.voidedpurchases = new Resource$Purchases$Voidedpurchases(root); + } + getRoot() { + return this.root; + } + } + androidpublisher_v3.Resource$Purchases = Resource$Purchases; + class Resource$Purchases$Products { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v3/applications/{packageName}/purchases/products/{productId}/tokens/{token}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['packageName', 'productId', 'token'], + pathParams: ['packageName', 'productId', 'token'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidpublisher_v3.Resource$Purchases$Products = Resource$Purchases$Products; + class Resource$Purchases$Subscriptions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + cancel(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:cancel') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['packageName', 'subscriptionId', 'token'], + pathParams: ['packageName', 'subscriptionId', 'token'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + defer(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:defer') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['packageName', 'subscriptionId', 'token'], + pathParams: ['packageName', 'subscriptionId', 'token'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['packageName', 'subscriptionId', 'token'], + pathParams: ['packageName', 'subscriptionId', 'token'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + refund(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:refund') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['packageName', 'subscriptionId', 'token'], + pathParams: ['packageName', 'subscriptionId', 'token'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + revoke(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:revoke') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['packageName', 'subscriptionId', 'token'], + pathParams: ['packageName', 'subscriptionId', 'token'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidpublisher_v3.Resource$Purchases$Subscriptions = Resource$Purchases$Subscriptions; + class Resource$Purchases$Voidedpurchases { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v3/applications/{packageName}/purchases/voidedpurchases') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['packageName'], + pathParams: ['packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidpublisher_v3.Resource$Purchases$Voidedpurchases = Resource$Purchases$Voidedpurchases; + class Resource$Reviews { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v3/applications/{packageName}/reviews/{reviewId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['packageName', 'reviewId'], + pathParams: ['packageName', 'reviewId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v3/applications/{packageName}/reviews') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['packageName'], + pathParams: ['packageName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + reply(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/androidpublisher/v3/applications/{packageName}/reviews/{reviewId}:reply') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['packageName', 'reviewId'], + pathParams: ['packageName', 'reviewId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + androidpublisher_v3.Resource$Reviews = Resource$Reviews; +})(androidpublisher_v3 = exports.androidpublisher_v3 || (exports.androidpublisher_v3 = {})); +//# sourceMappingURL=v3.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/androidpublisher/v3.js.map b/express-server/node_modules/googleapis/build/src/apis/androidpublisher/v3.js.map new file mode 100644 index 00000000..c94f5933 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/androidpublisher/v3.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v3.js","sourceRoot":"","sources":["../../../../src/apis/androidpublisher/v3.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/appengine/README.md b/express-server/node_modules/googleapis/build/src/apis/appengine/README.md new file mode 100644 index 00000000..33f4fb86 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/appengine/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/appengine + +> The App Engine Admin API enables developers to provision and manage their App Engine applications. + +## Installation + +```sh +$ npm install @google/appengine +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/appengine/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/appengine/index.d.ts new file mode 100644 index 00000000..a0d96cb1 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/appengine/index.d.ts @@ -0,0 +1,22 @@ +import { appengine_v1 } from './v1'; +import { appengine_v1alpha } from './v1alpha'; +import { appengine_v1beta } from './v1beta'; +import { appengine_v1beta4 } from './v1beta4'; +import { appengine_v1beta5 } from './v1beta5'; +export declare const VERSIONS: { + 'v1': typeof appengine_v1.Appengine; + 'v1alpha': typeof appengine_v1alpha.Appengine; + 'v1beta': typeof appengine_v1beta.Appengine; + 'v1beta4': typeof appengine_v1beta4.Appengine; + 'v1beta5': typeof appengine_v1beta5.Appengine; +}; +export declare function appengine(version: 'v1'): appengine_v1.Appengine; +export declare function appengine(options: appengine_v1.Options): appengine_v1.Appengine; +export declare function appengine(version: 'v1alpha'): appengine_v1alpha.Appengine; +export declare function appengine(options: appengine_v1alpha.Options): appengine_v1alpha.Appengine; +export declare function appengine(version: 'v1beta'): appengine_v1beta.Appengine; +export declare function appengine(options: appengine_v1beta.Options): appengine_v1beta.Appengine; +export declare function appengine(version: 'v1beta4'): appengine_v1beta4.Appengine; +export declare function appengine(options: appengine_v1beta4.Options): appengine_v1beta4.Appengine; +export declare function appengine(version: 'v1beta5'): appengine_v1beta5.Appengine; +export declare function appengine(options: appengine_v1beta5.Options): appengine_v1beta5.Appengine; diff --git a/express-server/node_modules/googleapis/build/src/apis/appengine/index.js b/express-server/node_modules/googleapis/build/src/apis/appengine/index.js new file mode 100644 index 00000000..692d233e --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/appengine/index.js @@ -0,0 +1,33 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +const v1alpha_1 = require("./v1alpha"); +const v1beta_1 = require("./v1beta"); +const v1beta4_1 = require("./v1beta4"); +const v1beta5_1 = require("./v1beta5"); +exports.VERSIONS = { + 'v1': v1_1.appengine_v1.Appengine, + 'v1alpha': v1alpha_1.appengine_v1alpha.Appengine, + 'v1beta': v1beta_1.appengine_v1beta.Appengine, + 'v1beta4': v1beta4_1.appengine_v1beta4.Appengine, + 'v1beta5': v1beta5_1.appengine_v1beta5.Appengine, +}; +function appengine(versionOrOptions) { + return googleapis_common_1.getAPI('appengine', versionOrOptions, exports.VERSIONS, this); +} +exports.appengine = appengine; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/appengine/index.js.map b/express-server/node_modules/googleapis/build/src/apis/appengine/index.js.map new file mode 100644 index 00000000..2bc94932 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/appengine/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/appengine/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAkC;AAClC,uCAA4C;AAC5C,qCAA0C;AAC1C,uCAA4C;AAC5C,uCAA4C;AAE/B,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,iBAAY,CAAC,SAAS;IAC5B,SAAS,EAAE,2BAAiB,CAAC,SAAS;IACtC,QAAQ,EAAE,yBAAgB,CAAC,SAAS;IACpC,SAAS,EAAE,2BAAiB,CAAC,SAAS;IACtC,SAAS,EAAE,2BAAiB,CAAC,SAAS;CACvC,CAAC;AAiBF,SAAgB,SAAS,CAKrB,gBAG6D;IAC/D,OAAO,0BAAM,CAAI,WAAW,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAClE,CAAC;AAVD,8BAUC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/appengine/package.json b/express-server/node_modules/googleapis/build/src/apis/appengine/package.json new file mode 100644 index 00000000..ceedb853 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/appengine/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/appengine", + "version": "0.1.0", + "description": "appengine", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/appengine/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/appengine/v1.d.ts new file mode 100644 index 00000000..93ed46ce --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/appengine/v1.d.ts @@ -0,0 +1,3501 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace appengine_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * App Engine Admin API + * + * The App Engine Admin API enables developers to provision and manage their + * App Engine applications. + * + * @example + * const {google} = require('googleapis'); + * const appengine = google.appengine('v1'); + * + * @namespace appengine + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Appengine + */ + class Appengine { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + apps: Resource$Apps; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Google Cloud Endpoints + * (https://cloud.google.com/appengine/docs/python/endpoints/) configuration + * for API handlers. + */ + interface Schema$ApiConfigHandler { + /** + * Action to take when users access resources that require authentication. + * Defaults to redirect. + */ + authFailAction?: string; + /** + * Level of login required to access this resource. Defaults to optional. + */ + login?: string; + /** + * Path to the script from the application root directory. + */ + script?: string; + /** + * Security (HTTPS) enforcement for this URL. + */ + securityLevel?: string; + /** + * URL to serve the endpoint at. + */ + url?: string; + } + /** + * Uses Google Cloud Endpoints to handle requests. + */ + interface Schema$ApiEndpointHandler { + /** + * Path to the script from the application root directory. + */ + scriptPath?: string; + } + /** + * An Application resource contains the top-level configuration of an App + * Engine application. + */ + interface Schema$Application { + /** + * Google Apps authentication domain that controls which users can access + * this application.Defaults to open access for any Google Account. + */ + authDomain?: string; + /** + * Google Cloud Storage bucket that can be used for storing files associated + * with this application. This bucket is associated with the application and + * can be used by the gcloud deployment commands.@OutputOnly + */ + codeBucket?: string; + /** + * Google Cloud Storage bucket that can be used by this application to store + * content.@OutputOnly + */ + defaultBucket?: string; + /** + * Cookie expiration policy for this application. + */ + defaultCookieExpiration?: string; + /** + * Hostname used to reach this application, as resolved by App + * Engine.@OutputOnly + */ + defaultHostname?: string; + /** + * HTTP path dispatch rules for requests to the application that do not + * explicitly target a service or version. Rules are order-dependent. Up to + * 20 dispatch rules can be supported.@OutputOnly + */ + dispatchRules?: Schema$UrlDispatchRule[]; + /** + * The feature specific settings to be used in the application. + */ + featureSettings?: Schema$FeatureSettings; + /** + * The Google Container Registry domain used for storing managed build + * docker images for this application. + */ + gcrDomain?: string; + iap?: Schema$IdentityAwareProxy; + /** + * Identifier of the Application resource. This identifier is equivalent to + * the project ID of the Google Cloud Platform project where you want to + * deploy your application. Example: myapp. + */ + id?: string; + /** + * Location from which this application runs. Application instances run out + * of the data centers in the specified location, which is also where all of + * the application's end user content is stored.Defaults to + * us-central.View the list of supported locations + * (https://cloud.google.com/appengine/docs/locations). + */ + locationId?: string; + /** + * Full path to the Application resource in the API. Example: + * apps/myapp.@OutputOnly + */ + name?: string; + /** + * Serving status of this application. + */ + servingStatus?: string; + } + /** + * An SSL certificate that a user has been authorized to administer. A user is + * authorized to administer any certificate that applies to one of their + * authorized domains. + */ + interface Schema$AuthorizedCertificate { + /** + * The SSL certificate serving the AuthorizedCertificate resource. This must + * be obtained independently from a certificate authority. + */ + certificateRawData?: Schema$CertificateRawData; + /** + * The user-specified display name of the certificate. This is not + * guaranteed to be unique. Example: My Certificate. + */ + displayName?: string; + /** + * Aggregate count of the domain mappings with this certificate mapped. This + * count includes domain mappings on applications for which the user does + * not have VIEWER permissions.Only returned by GET or LIST requests when + * specifically requested by the view=FULL_CERTIFICATE option.@OutputOnly + */ + domainMappingsCount?: number; + /** + * Topmost applicable domains of this certificate. This certificate applies + * to these domains and their subdomains. Example: example.com.@OutputOnly + */ + domainNames?: string[]; + /** + * The time when this certificate expires. To update the renewal time on + * this certificate, upload an SSL certificate with a different expiration + * time using AuthorizedCertificates.UpdateAuthorizedCertificate.@OutputOnly + */ + expireTime?: string; + /** + * Relative name of the certificate. This is a unique value autogenerated on + * AuthorizedCertificate resource creation. Example: 12345.@OutputOnly + */ + id?: string; + /** + * Only applicable if this certificate is managed by App Engine. Managed + * certificates are tied to the lifecycle of a DomainMapping and cannot be + * updated or deleted via the AuthorizedCertificates API. If this + * certificate is manually administered by the user, this field will be + * empty.@OutputOnly + */ + managedCertificate?: Schema$ManagedCertificate; + /** + * Full path to the AuthorizedCertificate resource in the API. Example: + * apps/myapp/authorizedCertificates/12345.@OutputOnly + */ + name?: string; + /** + * The full paths to user visible Domain Mapping resources that have this + * certificate mapped. Example: apps/myapp/domainMappings/example.com.This + * may not represent the full list of mapped domain mappings if the user + * does not have VIEWER permissions on all of the applications that have + * this certificate mapped. See domain_mappings_count for a complete + * count.Only returned by GET or LIST requests when specifically requested + * by the view=FULL_CERTIFICATE option.@OutputOnly + */ + visibleDomainMappings?: string[]; + } + /** + * A domain that a user has been authorized to administer. To authorize use of + * a domain, verify ownership via Webmaster Central + * (https://www.google.com/webmasters/verification/home). + */ + interface Schema$AuthorizedDomain { + /** + * Fully qualified domain name of the domain authorized for use. Example: + * example.com. + */ + id?: string; + /** + * Full path to the AuthorizedDomain resource in the API. Example: + * apps/myapp/authorizedDomains/example.com.@OutputOnly + */ + name?: string; + } + /** + * Automatic scaling is based on request rate, response latencies, and other + * application metrics. + */ + interface Schema$AutomaticScaling { + /** + * The time period that the Autoscaler + * (https://cloud.google.com/compute/docs/autoscaler/) should wait before it + * starts collecting information from a new instance. This prevents the + * autoscaler from collecting information when the instance is initializing, + * during which the collected usage would not be reliable. Only applicable + * in the App Engine flexible environment. + */ + coolDownPeriod?: string; + /** + * Target scaling by CPU usage. + */ + cpuUtilization?: Schema$CpuUtilization; + /** + * Target scaling by disk usage. + */ + diskUtilization?: Schema$DiskUtilization; + /** + * Number of concurrent requests an automatic scaling instance can accept + * before the scheduler spawns a new instance.Defaults to a runtime-specific + * value. + */ + maxConcurrentRequests?: number; + /** + * Maximum number of idle instances that should be maintained for this + * version. + */ + maxIdleInstances?: number; + /** + * Maximum amount of time that a request should wait in the pending queue + * before starting a new instance to handle it. + */ + maxPendingLatency?: string; + /** + * Maximum number of instances that should be started to handle requests for + * this version. + */ + maxTotalInstances?: number; + /** + * Minimum number of idle instances that should be maintained for this + * version. Only applicable for the default version of a service. + */ + minIdleInstances?: number; + /** + * Minimum amount of time a request should wait in the pending queue before + * starting a new instance to handle it. + */ + minPendingLatency?: string; + /** + * Minimum number of running instances that should be maintained for this + * version. + */ + minTotalInstances?: number; + /** + * Target scaling by network usage. + */ + networkUtilization?: Schema$NetworkUtilization; + /** + * Target scaling by request utilization. + */ + requestUtilization?: Schema$RequestUtilization; + /** + * Scheduler settings for standard environment. + */ + standardSchedulerSettings?: Schema$StandardSchedulerSettings; + } + /** + * A service with basic scaling will create an instance when the application + * receives a request. The instance will be turned down when the app becomes + * idle. Basic scaling is ideal for work that is intermittent or driven by + * user activity. + */ + interface Schema$BasicScaling { + /** + * Duration of time after the last request that an instance must wait before + * the instance is shut down. + */ + idleTimeout?: string; + /** + * Maximum number of instances to create for this version. + */ + maxInstances?: number; + } + /** + * Request message for Firewall.BatchUpdateIngressRules. + */ + interface Schema$BatchUpdateIngressRulesRequest { + /** + * A list of FirewallRules to replace the existing set. + */ + ingressRules?: Schema$FirewallRule[]; + } + /** + * Response message for Firewall.UpdateAllIngressRules. + */ + interface Schema$BatchUpdateIngressRulesResponse { + /** + * The full list of ingress FirewallRules for this application. + */ + ingressRules?: Schema$FirewallRule[]; + } + /** + * An SSL certificate obtained from a certificate authority. + */ + interface Schema$CertificateRawData { + /** + * Unencrypted PEM encoded RSA private key. This field is set once on + * certificate creation and then encrypted. The key size must be 2048 bits + * or fewer. Must include the header and footer. Example: <pre> + * -----BEGIN RSA PRIVATE KEY----- <unencrypted_key_value> -----END + * RSA PRIVATE KEY----- </pre> @InputOnly + */ + privateKey?: string; + /** + * PEM encoded x.509 public key certificate. This field is set once on + * certificate creation. Must include the header and footer. Example: + * <pre> -----BEGIN CERTIFICATE----- <certificate_value> + * -----END CERTIFICATE----- </pre> + */ + publicCertificate?: string; + } + /** + * Options for the build operations performed as a part of the version + * deployment. Only applicable for App Engine flexible environment when + * creating a version using source code directly. + */ + interface Schema$CloudBuildOptions { + /** + * Path to the yaml file used in deployment, used to determine runtime + * configuration details.Required for flexible environment builds.See + * https://cloud.google.com/appengine/docs/standard/python/config/appref for + * more details. + */ + appYamlPath?: string; + /** + * The Cloud Build timeout used as part of any dependent builds performed by + * version creation. Defaults to 10 minutes. + */ + cloudBuildTimeout?: string; + } + /** + * Docker image that is used to create a container and start a VM instance for + * the version that you deploy. Only applicable for instances running in the + * App Engine flexible environment. + */ + interface Schema$ContainerInfo { + /** + * URI to the hosted container image in Google Container Registry. The URI + * must be fully qualified and include a tag or digest. Examples: + * "gcr.io/my-project/image:tag" or + * "gcr.io/my-project/image@digest" + */ + image?: string; + } + /** + * Target scaling by CPU usage. + */ + interface Schema$CpuUtilization { + /** + * Period of time over which CPU utilization is calculated. + */ + aggregationWindowLength?: string; + /** + * Target CPU utilization ratio to maintain when scaling. Must be between 0 + * and 1. + */ + targetUtilization?: number; + } + /** + * Metadata for the given google.longrunning.Operation during a + * google.appengine.v1.CreateVersionRequest. + */ + interface Schema$CreateVersionMetadataV1 { + /** + * The Cloud Build ID if one was created as part of the version create. + * @OutputOnly + */ + cloudBuildId?: string; + } + /** + * Metadata for the given google.longrunning.Operation during a + * google.appengine.v1alpha.CreateVersionRequest. + */ + interface Schema$CreateVersionMetadataV1Alpha { + /** + * The Cloud Build ID if one was created as part of the version create. + * @OutputOnly + */ + cloudBuildId?: string; + } + /** + * Metadata for the given google.longrunning.Operation during a + * google.appengine.v1beta.CreateVersionRequest. + */ + interface Schema$CreateVersionMetadataV1Beta { + /** + * The Cloud Build ID if one was created as part of the version create. + * @OutputOnly + */ + cloudBuildId?: string; + } + /** + * Request message for Instances.DebugInstance. + */ + interface Schema$DebugInstanceRequest { + /** + * Public SSH key to add to the instance. Examples: [USERNAME]:ssh-rsa + * [KEY_VALUE] [USERNAME] [USERNAME]:ssh-rsa [KEY_VALUE] google-ssh + * {"userName":"[USERNAME]","expireOn":"[EXPIRE_TIME]"}For + * more information, see Adding and Removing SSH Keys + * (https://cloud.google.com/compute/docs/instances/adding-removing-ssh-keys). + */ + sshKey?: string; + } + /** + * Code and application artifacts used to deploy a version to App Engine. + */ + interface Schema$Deployment { + /** + * Options for any Google Cloud Build builds created as a part of this + * deployment.Note that this is orthogonal to the build parameter, where the + * deployment depends on an already existing cloud build. These options will + * only be used if a new build is created, such as when deploying to the App + * Engine flexible environment using files or zip. + */ + cloudBuildOptions?: Schema$CloudBuildOptions; + /** + * The Docker image for the container that runs the version. Only applicable + * for instances running in the App Engine flexible environment. + */ + container?: Schema$ContainerInfo; + /** + * Manifest of the files stored in Google Cloud Storage that are included as + * part of this version. All files must be readable using the credentials + * supplied with this call. + */ + files?: any; + /** + * The zip file for this deployment, if this is a zip deployment. + */ + zip?: Schema$ZipInfo; + } + /** + * Target scaling by disk usage. Only applicable in the App Engine flexible + * environment. + */ + interface Schema$DiskUtilization { + /** + * Target bytes read per second. + */ + targetReadBytesPerSecond?: number; + /** + * Target ops read per seconds. + */ + targetReadOpsPerSecond?: number; + /** + * Target bytes written per second. + */ + targetWriteBytesPerSecond?: number; + /** + * Target ops written per second. + */ + targetWriteOpsPerSecond?: number; + } + /** + * A domain serving an App Engine application. + */ + interface Schema$DomainMapping { + /** + * Relative name of the domain serving the application. Example: + * example.com. + */ + id?: string; + /** + * Full path to the DomainMapping resource in the API. Example: + * apps/myapp/domainMapping/example.com.@OutputOnly + */ + name?: string; + /** + * The resource records required to configure this domain mapping. These + * records must be added to the domain's DNS configuration in order to + * serve the application via this domain mapping.@OutputOnly + */ + resourceRecords?: Schema$ResourceRecord[]; + /** + * SSL configuration for this domain. If unconfigured, this domain will not + * serve with SSL. + */ + sslSettings?: Schema$SslSettings; + } + /** + * 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); } The JSON + * representation for Empty is empty JSON object {}. + */ + interface Schema$Empty { + } + /** + * Cloud Endpoints (https://cloud.google.com/endpoints) configuration. The + * Endpoints API Service provides tooling for serving Open API and gRPC + * endpoints via an NGINX proxy. Only valid for App Engine Flexible + * environment deployments.The fields here refer to the name and configuration + * ID of a "service" resource in the Service Management API + * (https://cloud.google.com/service-management/overview). + */ + interface Schema$EndpointsApiService { + /** + * Endpoints service configuration ID as specified by the Service Management + * API. For example "2016-09-19r1".By default, the rollout + * strategy for Endpoints is RolloutStrategy.FIXED. This means that + * Endpoints starts up with a particular configuration ID. When a new + * configuration is rolled out, Endpoints must be given the new + * configuration ID. The config_id field is used to give the configuration + * ID and is required in this case.Endpoints also has a rollout strategy + * called RolloutStrategy.MANAGED. When using this, Endpoints fetches the + * latest configuration and does not need the configuration ID. In this + * case, config_id must be omitted. + */ + configId?: string; + /** + * Endpoints service name which is the name of the "service" + * resource in the Service Management API. For example + * "myapi.endpoints.myproject.cloud.goog" + */ + name?: string; + /** + * Endpoints rollout strategy. If FIXED, config_id must be specified. If + * MANAGED, config_id must be omitted. + */ + rolloutStrategy?: string; + } + /** + * The entrypoint for the application. + */ + interface Schema$Entrypoint { + /** + * The format should be a shell command that can be fed to bash -c. + */ + shell?: string; + } + /** + * Custom static error page to be served when an error occurs. + */ + interface Schema$ErrorHandler { + /** + * Error condition this handler applies to. + */ + errorCode?: string; + /** + * MIME type of file. Defaults to text/html. + */ + mimeType?: string; + /** + * Static file content to be served for this error. + */ + staticFile?: string; + } + /** + * The feature specific settings to be used in the application. These define + * behaviors that are user configurable. + */ + interface Schema$FeatureSettings { + /** + * Boolean value indicating if split health checks should be used instead of + * the legacy health checks. At an app.yaml level, this means defaulting to + * 'readiness_check' and 'liveness_check' values instead of + * 'health_check' ones. Once the legacy 'health_check' + * behavior is deprecated, and this value is always true, this setting can + * be removed. + */ + splitHealthChecks?: boolean; + } + /** + * Single source file that is part of the version to be deployed. Each source + * file that is deployed must be specified separately. + */ + interface Schema$FileInfo { + /** + * The MIME type of the file.Defaults to the value from Google Cloud + * Storage. + */ + mimeType?: string; + /** + * The SHA1 hash of the file, in hex. + */ + sha1Sum?: string; + /** + * URL source to use to fetch this file. Must be a URL to a resource in + * Google Cloud Storage in the form + * 'http(s)://storage.googleapis.com/<bucket>/<object>'. + */ + sourceUrl?: string; + } + /** + * A single firewall rule that is evaluated against incoming traffic and + * provides an action to take on matched requests. + */ + interface Schema$FirewallRule { + /** + * The action to take on matched requests. + */ + action?: string; + /** + * An optional string description of this rule. This field has a maximum + * length of 100 characters. + */ + description?: string; + /** + * A positive integer between 1, Int32.MaxValue-1 that defines the order of + * rule evaluation. Rules with the lowest priority are evaluated first.A + * default rule at priority Int32.MaxValue matches all IPv4 and IPv6 traffic + * when no previous rule matches. Only the action of this rule can be + * modified by the user. + */ + priority?: number; + /** + * IP address or range, defined using CIDR notation, of requests that this + * rule applies to. You can use the wildcard character "*" to + * match all IPs equivalent to "0/0" and "::/0" + * together. Examples: 192.168.1.1 or 192.168.0.0/16 or 2001:db8::/32 or + * 2001:0db8:0000:0042:0000:8a2e:0370:7334.<p>Truncation will be + * silently performed on addresses which are not properly truncated. For + * example, 1.2.3.4/24 is accepted as the same address as 1.2.3.0/24. + * Similarly, for IPv6, 2001:db8::1/32 is accepted as the same address as + * 2001:db8::/32. + */ + sourceRange?: string; + } + /** + * Health checking configuration for VM instances. Unhealthy instances are + * killed and replaced with new instances. Only applicable for instances in + * App Engine flexible environment. + */ + interface Schema$HealthCheck { + /** + * Interval between health checks. + */ + checkInterval?: string; + /** + * Whether to explicitly disable health checks for this instance. + */ + disableHealthCheck?: boolean; + /** + * Number of consecutive successful health checks required before receiving + * traffic. + */ + healthyThreshold?: number; + /** + * Host header to send when performing an HTTP health check. Example: + * "myapp.appspot.com" + */ + host?: string; + /** + * Number of consecutive failed health checks required before an instance is + * restarted. + */ + restartThreshold?: number; + /** + * Time before the health check is considered failed. + */ + timeout?: string; + /** + * Number of consecutive failed health checks required before removing + * traffic. + */ + unhealthyThreshold?: number; + } + /** + * Identity-Aware Proxy + */ + interface Schema$IdentityAwareProxy { + /** + * Whether the serving infrastructure will authenticate and authorize all + * incoming requests.If true, the oauth2_client_id and oauth2_client_secret + * fields must be non-empty. + */ + enabled?: boolean; + /** + * OAuth2 client ID to use for the authentication flow. + */ + oauth2ClientId?: string; + /** + * OAuth2 client secret to use for the authentication flow.For security + * reasons, this value cannot be retrieved via the API. Instead, the SHA-256 + * hash of the value is returned in the oauth2_client_secret_sha256 + * field.@InputOnly + */ + oauth2ClientSecret?: string; + /** + * Hex-encoded SHA-256 hash of the client secret.@OutputOnly + */ + oauth2ClientSecretSha256?: string; + } + /** + * An Instance resource is the computing unit that App Engine uses to + * automatically scale an application. + */ + interface Schema$Instance { + /** + * App Engine release this instance is running on.@OutputOnly + */ + appEngineRelease?: string; + /** + * Availability of the instance.@OutputOnly + */ + availability?: string; + /** + * Average latency (ms) over the last minute.@OutputOnly + */ + averageLatency?: number; + /** + * Number of errors since this instance was started.@OutputOnly + */ + errors?: number; + /** + * Relative name of the instance within the version. Example: + * instance-1.@OutputOnly + */ + id?: string; + /** + * Total memory in use (bytes).@OutputOnly + */ + memoryUsage?: string; + /** + * Full path to the Instance resource in the API. Example: + * apps/myapp/services/default/versions/v1/instances/instance-1.@OutputOnly + */ + name?: string; + /** + * Average queries per second (QPS) over the last minute.@OutputOnly + */ + qps?: number; + /** + * Number of requests since this instance was started.@OutputOnly + */ + requests?: number; + /** + * Time that this instance was started.@OutputOnly + */ + startTime?: string; + /** + * Whether this instance is in debug mode. Only applicable for instances in + * App Engine flexible environment.@OutputOnly + */ + vmDebugEnabled?: boolean; + /** + * Virtual machine ID of this instance. Only applicable for instances in App + * Engine flexible environment.@OutputOnly + */ + vmId?: string; + /** + * The IP address of this instance. Only applicable for instances in App + * Engine flexible environment.@OutputOnly + */ + vmIp?: string; + /** + * Name of the virtual machine where this instance lives. Only applicable + * for instances in App Engine flexible environment.@OutputOnly + */ + vmName?: string; + /** + * Status of the virtual machine where this instance lives. Only applicable + * for instances in App Engine flexible environment.@OutputOnly + */ + vmStatus?: string; + /** + * Zone where the virtual machine is located. Only applicable for instances + * in App Engine flexible environment.@OutputOnly + */ + vmZoneName?: string; + } + /** + * Third-party Python runtime library that is required by the application. + */ + interface Schema$Library { + /** + * Name of the library. Example: "django". + */ + name?: string; + /** + * Version of the library to select, or "latest". + */ + version?: string; + } + /** + * Response message for AuthorizedCertificates.ListAuthorizedCertificates. + */ + interface Schema$ListAuthorizedCertificatesResponse { + /** + * The SSL certificates the user is authorized to administer. + */ + certificates?: Schema$AuthorizedCertificate[]; + /** + * Continuation token for fetching the next page of results. + */ + nextPageToken?: string; + } + /** + * Response message for AuthorizedDomains.ListAuthorizedDomains. + */ + interface Schema$ListAuthorizedDomainsResponse { + /** + * The authorized domains belonging to the user. + */ + domains?: Schema$AuthorizedDomain[]; + /** + * Continuation token for fetching the next page of results. + */ + nextPageToken?: string; + } + /** + * Response message for DomainMappings.ListDomainMappings. + */ + interface Schema$ListDomainMappingsResponse { + /** + * The domain mappings for the application. + */ + domainMappings?: Schema$DomainMapping[]; + /** + * Continuation token for fetching the next page of results. + */ + nextPageToken?: string; + } + /** + * Response message for Firewall.ListIngressRules. + */ + interface Schema$ListIngressRulesResponse { + /** + * The ingress FirewallRules for this application. + */ + ingressRules?: Schema$FirewallRule[]; + /** + * Continuation token for fetching the next page of results. + */ + nextPageToken?: string; + } + /** + * Response message for Instances.ListInstances. + */ + interface Schema$ListInstancesResponse { + /** + * The instances belonging to the requested version. + */ + instances?: Schema$Instance[]; + /** + * Continuation token for fetching the next page of results. + */ + nextPageToken?: string; + } + /** + * The response message for Locations.ListLocations. + */ + interface Schema$ListLocationsResponse { + /** + * A list of locations that matches the specified filter in the request. + */ + locations?: Schema$Location[]; + /** + * The standard List next-page token. + */ + nextPageToken?: string; + } + /** + * The response message for Operations.ListOperations. + */ + interface Schema$ListOperationsResponse { + /** + * The standard List next-page token. + */ + nextPageToken?: string; + /** + * A list of operations that matches the specified filter in the request. + */ + operations?: Schema$Operation[]; + } + /** + * Response message for Services.ListServices. + */ + interface Schema$ListServicesResponse { + /** + * Continuation token for fetching the next page of results. + */ + nextPageToken?: string; + /** + * The services belonging to the requested application. + */ + services?: Schema$Service[]; + } + /** + * Response message for Versions.ListVersions. + */ + interface Schema$ListVersionsResponse { + /** + * Continuation token for fetching the next page of results. + */ + nextPageToken?: string; + /** + * The versions belonging to the requested service. + */ + versions?: Schema$Version[]; + } + /** + * Health checking configuration for VM instances. Unhealthy instances are + * killed and replaced with new instances. + */ + interface Schema$LivenessCheck { + /** + * Interval between health checks. + */ + checkInterval?: string; + /** + * Number of consecutive failed checks required before considering the VM + * unhealthy. + */ + failureThreshold?: number; + /** + * Host header to send when performing a HTTP Liveness check. Example: + * "myapp.appspot.com" + */ + host?: string; + /** + * The initial delay before starting to execute the checks. + */ + initialDelay?: string; + /** + * The request path. + */ + path?: string; + /** + * Number of consecutive successful checks required before considering the + * VM healthy. + */ + successThreshold?: number; + /** + * Time before the check is considered failed. + */ + timeout?: string; + } + /** + * A resource that represents Google Cloud Platform location. + */ + interface Schema$Location { + /** + * The friendly name for this location, typically a nearby city name. For + * example, "Tokyo". + */ + displayName?: string; + /** + * Cross-service attributes for the location. For example + * {"cloud.googleapis.com/region": "us-east1"} + */ + labels?: any; + /** + * The canonical id for this location. For example: "us-east1". + */ + locationId?: string; + /** + * Service-specific metadata. For example the available capacity at the + * given location. + */ + metadata?: any; + /** + * Resource name for the location, which may vary between implementations. + * For example: "projects/example-project/locations/us-east1" + */ + name?: string; + } + /** + * Metadata for the given google.cloud.location.Location. + */ + interface Schema$LocationMetadata { + /** + * App Engine flexible environment is available in the given + * location.@OutputOnly + */ + flexibleEnvironmentAvailable?: boolean; + /** + * App Engine standard environment is available in the given + * location.@OutputOnly + */ + standardEnvironmentAvailable?: boolean; + } + /** + * A certificate managed by App Engine. + */ + interface Schema$ManagedCertificate { + /** + * Time at which the certificate was last renewed. The renewal process is + * fully managed. Certificate renewal will automatically occur before the + * certificate expires. Renewal errors can be tracked via + * ManagementStatus.@OutputOnly + */ + lastRenewalTime?: string; + /** + * Status of certificate management. Refers to the most recent certificate + * acquisition or renewal attempt.@OutputOnly + */ + status?: string; + } + /** + * A service with manual scaling runs continuously, allowing you to perform + * complex initialization and rely on the state of its memory over time. + */ + interface Schema$ManualScaling { + /** + * Number of instances to assign to the service at the start. This number + * can later be altered by using the Modules API + * (https://cloud.google.com/appengine/docs/python/modules/functions) + * set_num_instances() function. + */ + instances?: number; + } + /** + * Extra network settings. Only applicable in the App Engine flexible + * environment. + */ + interface Schema$Network { + /** + * List of ports, or port pairs, to forward from the virtual machine to the + * application container. Only applicable in the App Engine flexible + * environment. + */ + forwardedPorts?: string[]; + /** + * Tag to apply to the instance during creation. Only applicable in the App + * Engine flexible environment. + */ + instanceTag?: string; + /** + * Google Compute Engine network where the virtual machines are created. + * Specify the short name, not the resource path.Defaults to default. + */ + name?: string; + /** + * Google Cloud Platform sub-network where the virtual machines are created. + * Specify the short name, not the resource path.If a subnetwork name is + * specified, a network name will also be required unless it is for the + * default network. If the network that the instance is being created in is + * a Legacy network, then the IP address is allocated from the IPv4Range. If + * the network that the instance is being created in is an auto Subnet Mode + * Network, then only network name should be specified (not the + * subnetwork_name) and the IP address is created from the IPCidrRange of + * the subnetwork that exists in that zone for that network. If the network + * that the instance is being created in is a custom Subnet Mode Network, + * then the subnetwork_name must be specified and the IP address is created + * from the IPCidrRange of the subnetwork.If specified, the subnetwork must + * exist in the same region as the App Engine flexible environment + * application. + */ + subnetworkName?: string; + } + /** + * Target scaling by network usage. Only applicable in the App Engine flexible + * environment. + */ + interface Schema$NetworkUtilization { + /** + * Target bytes received per second. + */ + targetReceivedBytesPerSecond?: number; + /** + * Target packets received per second. + */ + targetReceivedPacketsPerSecond?: number; + /** + * Target bytes sent per second. + */ + targetSentBytesPerSecond?: number; + /** + * Target packets sent per second. + */ + targetSentPacketsPerSecond?: number; + } + /** + * This resource represents a long-running operation that is the result of a + * network API call. + */ + interface Schema$Operation { + /** + * If the value is false, it means the operation is still in progress. If + * true, the operation is completed, and either error or response is + * available. + */ + done?: boolean; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * Service-specific metadata associated with the operation. It typically + * contains progress information and common metadata such as create time. + * Some services might not provide such metadata. Any method that returns a + * long-running operation should document the metadata type, if any. + */ + metadata?: any; + /** + * The server-assigned name, which is only unique within the same service + * that originally returns it. If you use the default HTTP mapping, the name + * should have the format of operations/some/unique/name. + */ + name?: string; + /** + * The normal response of the operation in case of success. If the original + * method returns no data on success, such as Delete, the response is + * google.protobuf.Empty. If the original method is standard + * Get/Create/Update, the response should be the resource. For other + * methods, the response should have the type XxxResponse, where Xxx is the + * original method name. For example, if the original method name is + * TakeSnapshot(), the inferred response type is TakeSnapshotResponse. + */ + response?: any; + } + /** + * Metadata for the given google.longrunning.Operation. + */ + interface Schema$OperationMetadata { + /** + * Timestamp that this operation completed.@OutputOnly + */ + endTime?: string; + /** + * Timestamp that this operation was created.@OutputOnly + */ + insertTime?: string; + /** + * API method that initiated this operation. Example: + * google.appengine.v1beta4.Version.CreateVersion.@OutputOnly + */ + method?: string; + /** + * Type of this operation. Deprecated, use method field instead. Example: + * "create_version".@OutputOnly + */ + operationType?: string; + /** + * Name of the resource that this operation is acting on. Example: + * apps/myapp/modules/default.@OutputOnly + */ + target?: string; + /** + * User who requested this operation.@OutputOnly + */ + user?: string; + } + /** + * Metadata for the given google.longrunning.Operation. + */ + interface Schema$OperationMetadataV1 { + createVersionMetadata?: Schema$CreateVersionMetadataV1; + /** + * Time that this operation completed.@OutputOnly + */ + endTime?: string; + /** + * Ephemeral message that may change every time the operation is polled. + * @OutputOnly + */ + ephemeralMessage?: string; + /** + * Time that this operation was created.@OutputOnly + */ + insertTime?: string; + /** + * API method that initiated this operation. Example: + * google.appengine.v1.Versions.CreateVersion.@OutputOnly + */ + method?: string; + /** + * Name of the resource that this operation is acting on. Example: + * apps/myapp/services/default.@OutputOnly + */ + target?: string; + /** + * User who requested this operation.@OutputOnly + */ + user?: string; + /** + * Durable messages that persist on every operation poll. @OutputOnly + */ + warning?: string[]; + } + /** + * Metadata for the given google.longrunning.Operation. + */ + interface Schema$OperationMetadataV1Alpha { + createVersionMetadata?: Schema$CreateVersionMetadataV1Alpha; + /** + * Time that this operation completed.@OutputOnly + */ + endTime?: string; + /** + * Ephemeral message that may change every time the operation is polled. + * @OutputOnly + */ + ephemeralMessage?: string; + /** + * Time that this operation was created.@OutputOnly + */ + insertTime?: string; + /** + * API method that initiated this operation. Example: + * google.appengine.v1alpha.Versions.CreateVersion.@OutputOnly + */ + method?: string; + /** + * Name of the resource that this operation is acting on. Example: + * apps/myapp/services/default.@OutputOnly + */ + target?: string; + /** + * User who requested this operation.@OutputOnly + */ + user?: string; + /** + * Durable messages that persist on every operation poll. @OutputOnly + */ + warning?: string[]; + } + /** + * Metadata for the given google.longrunning.Operation. + */ + interface Schema$OperationMetadataV1Beta { + createVersionMetadata?: Schema$CreateVersionMetadataV1Beta; + /** + * Time that this operation completed.@OutputOnly + */ + endTime?: string; + /** + * Ephemeral message that may change every time the operation is polled. + * @OutputOnly + */ + ephemeralMessage?: string; + /** + * Time that this operation was created.@OutputOnly + */ + insertTime?: string; + /** + * API method that initiated this operation. Example: + * google.appengine.v1beta.Versions.CreateVersion.@OutputOnly + */ + method?: string; + /** + * Name of the resource that this operation is acting on. Example: + * apps/myapp/services/default.@OutputOnly + */ + target?: string; + /** + * User who requested this operation.@OutputOnly + */ + user?: string; + /** + * Durable messages that persist on every operation poll. @OutputOnly + */ + warning?: string[]; + } + /** + * Metadata for the given google.longrunning.Operation. + */ + interface Schema$OperationMetadataV1Beta5 { + /** + * Timestamp that this operation completed.@OutputOnly + */ + endTime?: string; + /** + * Timestamp that this operation was created.@OutputOnly + */ + insertTime?: string; + /** + * API method name that initiated this operation. Example: + * google.appengine.v1beta5.Version.CreateVersion.@OutputOnly + */ + method?: string; + /** + * Name of the resource that this operation is acting on. Example: + * apps/myapp/services/default.@OutputOnly + */ + target?: string; + /** + * User who requested this operation.@OutputOnly + */ + user?: string; + } + /** + * Readiness checking configuration for VM instances. Unhealthy instances are + * removed from traffic rotation. + */ + interface Schema$ReadinessCheck { + /** + * A maximum time limit on application initialization, measured from moment + * the application successfully replies to a healthcheck until it is ready + * to serve traffic. + */ + appStartTimeout?: string; + /** + * Interval between health checks. + */ + checkInterval?: string; + /** + * Number of consecutive failed checks required before removing traffic. + */ + failureThreshold?: number; + /** + * Host header to send when performing a HTTP Readiness check. Example: + * "myapp.appspot.com" + */ + host?: string; + /** + * The request path. + */ + path?: string; + /** + * Number of consecutive successful checks required before receiving + * traffic. + */ + successThreshold?: number; + /** + * Time before the check is considered failed. + */ + timeout?: string; + } + /** + * Request message for 'Applications.RepairApplication'. + */ + interface Schema$RepairApplicationRequest { + } + /** + * Target scaling by request utilization. Only applicable in the App Engine + * flexible environment. + */ + interface Schema$RequestUtilization { + /** + * Target number of concurrent requests. + */ + targetConcurrentRequests?: number; + /** + * Target requests per second. + */ + targetRequestCountPerSecond?: number; + } + /** + * A DNS resource record. + */ + interface Schema$ResourceRecord { + /** + * Relative name of the object affected by this record. Only applicable for + * CNAME records. Example: 'www'. + */ + name?: string; + /** + * Data for this record. Values vary by record type, as defined in RFC 1035 + * (section 5) and RFC 1034 (section 3.6.1). + */ + rrdata?: string; + /** + * Resource record type. Example: AAAA. + */ + type?: string; + } + /** + * Machine resources for a version. + */ + interface Schema$Resources { + /** + * Number of CPU cores needed. + */ + cpu?: number; + /** + * Disk size (GB) needed. + */ + diskGb?: number; + /** + * Memory (GB) needed. + */ + memoryGb?: number; + /** + * User specified volumes. + */ + volumes?: Schema$Volume[]; + } + /** + * Executes a script to handle the request that matches the URL pattern. + */ + interface Schema$ScriptHandler { + /** + * Path to the script from the application root directory. + */ + scriptPath?: string; + } + /** + * A Service resource is a logical component of an application that can share + * state and communicate in a secure fashion with other services. For example, + * an application that handles customer requests might include separate + * services to handle tasks such as backend data analysis or API requests from + * mobile devices. Each service has a collection of versions that define a + * specific set of code used to implement the functionality of that service. + */ + interface Schema$Service { + /** + * Relative name of the service within the application. Example: + * default.@OutputOnly + */ + id?: string; + /** + * Full path to the Service resource in the API. Example: + * apps/myapp/services/default.@OutputOnly + */ + name?: string; + /** + * Mapping that defines fractional HTTP traffic diversion to different + * versions within the service. + */ + split?: Schema$TrafficSplit; + } + /** + * SSL configuration for a DomainMapping resource. + */ + interface Schema$SslSettings { + /** + * ID of the AuthorizedCertificate resource configuring SSL for the + * application. Clearing this field will remove SSL support.By default, a + * managed certificate is automatically created for every domain mapping. To + * omit SSL support or to configure SSL manually, specify + * SslManagementType.MANUAL on a CREATE or UPDATE request. You must be + * authorized to administer the AuthorizedCertificate resource to manually + * map it to a DomainMapping resource. Example: 12345. + */ + certificateId?: string; + /** + * ID of the managed AuthorizedCertificate resource currently being + * provisioned, if applicable. Until the new managed certificate has been + * successfully provisioned, the previous SSL state will be preserved. Once + * the provisioning process completes, the certificate_id field will reflect + * the new managed certificate and this field will be left empty. To remove + * SSL support while there is still a pending managed certificate, clear the + * certificate_id field with an UpdateDomainMappingRequest.@OutputOnly + */ + pendingManagedCertificateId?: string; + /** + * SSL management type for this domain. If AUTOMATIC, a managed certificate + * is automatically provisioned. If MANUAL, certificate_id must be manually + * specified in order to configure SSL for this domain. + */ + sslManagementType?: string; + } + /** + * Scheduler settings for standard environment. + */ + interface Schema$StandardSchedulerSettings { + /** + * Maximum number of instances to run for this version. Set to zero to + * disable max_instances configuration. + */ + maxInstances?: number; + /** + * Minimum number of instances to run for this version. Set to zero to + * disable min_instances configuration. + */ + minInstances?: number; + /** + * Target CPU utilization ratio to maintain when scaling. + */ + targetCpuUtilization?: number; + /** + * Target throughput utilization ratio to maintain when scaling + */ + targetThroughputUtilization?: number; + } + /** + * Files served directly to the user for a given URL, such as images, CSS + * stylesheets, or JavaScript source files. Static file handlers describe + * which files in the application directory are static files, and which URLs + * serve them. + */ + interface Schema$StaticFilesHandler { + /** + * Whether files should also be uploaded as code data. By default, files + * declared in static file handlers are uploaded as static data and are only + * served to end users; they cannot be read by the application. If enabled, + * uploads are charged against both your code and static data storage + * resource quotas. + */ + applicationReadable?: boolean; + /** + * Time a static file served by this handler should be cached by web proxies + * and browsers. + */ + expiration?: string; + /** + * HTTP headers to use for all responses from these URLs. + */ + httpHeaders?: any; + /** + * MIME type used to serve all files served by this handler.Defaults to + * file-specific MIME types, which are derived from each file's filename + * extension. + */ + mimeType?: string; + /** + * Path to the static files matched by the URL pattern, from the application + * root directory. The path can refer to text matched in groupings in the + * URL pattern. + */ + path?: string; + /** + * Whether this handler should match the request if the file referenced by + * the handler does not exist. + */ + requireMatchingFile?: boolean; + /** + * Regular expression that matches the file paths for all files that should + * be referenced by this handler. + */ + uploadPathRegex?: string; + } + /** + * 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). The error model is designed to be: + * Simple to use and understand for most users Flexible enough to meet + * unexpected needsOverviewThe Status message contains three pieces of data: + * error code, error message, and error details. The error code should be an + * enum value of google.rpc.Code, but it may accept additional error codes if + * needed. The error message should be a developer-facing English message that + * helps developers understand and resolve the error. If a localized + * user-facing error message is needed, put the localized message in the error + * details or localize it in the client. The optional error details may + * contain arbitrary information about the error. There is a predefined set of + * error detail types in the package google.rpc that can be used for common + * error conditions.Language mappingThe Status message is the logical + * representation of the error model, but it is not necessarily the actual + * wire format. When the Status message is exposed in different client + * libraries and different wire protocols, it can be mapped differently. For + * example, it will likely be mapped to some exceptions in Java, but more + * likely mapped to some error codes in C.Other usesThe error model and the + * Status message can be used in a variety of environments, either with or + * without APIs, to provide a consistent developer experience across different + * environments.Example uses of this error model include: Partial errors. If a + * service needs to return partial errors to the client, it may embed the + * Status in the normal response to indicate the partial errors. Workflow + * errors. A typical workflow has multiple steps. Each step may have a Status + * message for error reporting. Batch operations. If a client uses batch + * request and batch response, the Status message should be used directly + * inside batch response, one for each error sub-response. Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the Status message. Logging. If some API errors are stored in logs, + * the message Status could be used directly after any stripping needed for + * security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set of + * message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + /** + * Traffic routing configuration for versions within a single service. Traffic + * splits define how traffic directed to the service is assigned to versions. + */ + interface Schema$TrafficSplit { + /** + * Mapping from version IDs within the service to fractional (0.000, 1] + * allocations of traffic for that version. Each version can be specified + * only once, but some versions in the service may not have any traffic + * allocation. Services that have traffic allocated cannot be deleted until + * either the service is deleted or their traffic allocation is removed. + * Allocations must sum to 1. Up to two decimal place precision is supported + * for IP-based splits and up to three decimal places is supported for + * cookie-based splits. + */ + allocations?: any; + /** + * Mechanism used to determine which version a request is sent to. The + * traffic selection algorithm will be stable for either type until + * allocations are changed. + */ + shardBy?: string; + } + /** + * Rules to match an HTTP request and dispatch that request to a service. + */ + interface Schema$UrlDispatchRule { + /** + * Domain name to match against. The wildcard "*" is supported if + * specified before a period: "*.".Defaults to matching all + * domains: "*". + */ + domain?: string; + /** + * Pathname within the host. Must start with a "/". A single + * "*" can be included at the end of the path.The sum of the + * lengths of the domain and path may not exceed 100 characters. + */ + path?: string; + /** + * Resource ID of a service in this application that should serve the + * matched request. The service must already exist. Example: default. + */ + service?: string; + } + /** + * URL pattern and description of how the URL should be handled. App Engine + * can handle URLs by executing application code or by serving static files + * uploaded with the version, such as images, CSS, or JavaScript. + */ + interface Schema$UrlMap { + /** + * Uses API Endpoints to handle requests. + */ + apiEndpoint?: Schema$ApiEndpointHandler; + /** + * Action to take when users access resources that require authentication. + * Defaults to redirect. + */ + authFailAction?: string; + /** + * Level of login required to access this resource. Not supported for + * Node.js in the App Engine standard environment. + */ + login?: string; + /** + * 30x code to use when performing redirects for the secure field. Defaults + * to 302. + */ + redirectHttpResponseCode?: string; + /** + * Executes a script to handle the requests that match this URL pattern. + * Only the auto value is supported for Node.js in the App Engine standard + * environment, for example "script": "auto". + */ + script?: Schema$ScriptHandler; + /** + * Security (HTTPS) enforcement for this URL. + */ + securityLevel?: string; + /** + * Returns the contents of a file, such as an image, as the response. + */ + staticFiles?: Schema$StaticFilesHandler; + /** + * URL prefix. Uses regular expression syntax, which means regexp special + * characters must be escaped, but should not contain groupings. All URLs + * that begin with this prefix are handled by this handler, using the + * portion of the URL after the prefix as part of the file path. + */ + urlRegex?: string; + } + /** + * A Version resource is a specific set of source code and configuration files + * that are deployed into a service. + */ + interface Schema$Version { + /** + * Serving configuration for Google Cloud Endpoints + * (https://cloud.google.com/appengine/docs/python/endpoints/).Only returned + * in GET requests if view=FULL is set. + */ + apiConfig?: Schema$ApiConfigHandler; + /** + * Automatic scaling is based on request rate, response latencies, and other + * application metrics. + */ + automaticScaling?: Schema$AutomaticScaling; + /** + * A service with basic scaling will create an instance when the application + * receives a request. The instance will be turned down when the app becomes + * idle. Basic scaling is ideal for work that is intermittent or driven by + * user activity. + */ + basicScaling?: Schema$BasicScaling; + /** + * Metadata settings that are supplied to this version to enable beta + * runtime features. + */ + betaSettings?: any; + /** + * Email address of the user who created this version.@OutputOnly + */ + createdBy?: string; + /** + * Time that this version was created.@OutputOnly + */ + createTime?: string; + /** + * Duration that static files should be cached by web proxies and browsers. + * Only applicable if the corresponding StaticFilesHandler + * (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#StaticFilesHandler) + * does not specify its own expiration time.Only returned in GET requests if + * view=FULL is set. + */ + defaultExpiration?: string; + /** + * Code and application artifacts that make up this version.Only returned in + * GET requests if view=FULL is set. + */ + deployment?: Schema$Deployment; + /** + * Total size in bytes of all the files that are included in this version + * and currently hosted on the App Engine disk.@OutputOnly + */ + diskUsageBytes?: string; + /** + * Cloud Endpoints configuration.If endpoints_api_service is set, the Cloud + * Endpoints Extensible Service Proxy will be provided to serve the API + * implemented by the app. + */ + endpointsApiService?: Schema$EndpointsApiService; + /** + * The entrypoint for the application. + */ + entrypoint?: Schema$Entrypoint; + /** + * App Engine execution environment for this version.Defaults to standard. + */ + env?: string; + /** + * Environment variables available to the application.Only returned in GET + * requests if view=FULL is set. + */ + envVariables?: any; + /** + * Custom static error pages. Limited to 10KB per page.Only returned in GET + * requests if view=FULL is set. + */ + errorHandlers?: Schema$ErrorHandler[]; + /** + * An ordered list of URL-matching patterns that should be applied to + * incoming requests. The first matching URL handles the request and other + * request handlers are not attempted.Only returned in GET requests if + * view=FULL is set. + */ + handlers?: Schema$UrlMap[]; + /** + * Configures health checking for instances. Unhealthy instances are stopped + * and replaced with new instances. Only applicable in the App Engine + * flexible environment.Only returned in GET requests if view=FULL is set. + */ + healthCheck?: Schema$HealthCheck; + /** + * Relative name of the version within the service. Example: v1. Version + * names can contain only lowercase letters, numbers, or hyphens. Reserved + * names: "default", "latest", and any name with the + * prefix "ah-". + */ + id?: string; + /** + * Before an application can receive email or XMPP messages, the application + * must be configured to enable the service. + */ + inboundServices?: string[]; + /** + * Instance class that is used to run this version. Valid values are: + * AutomaticScaling: F1, F2, F4, F4_1G ManualScaling or BasicScaling: B1, + * B2, B4, B8, B4_1GDefaults to F1 for AutomaticScaling and B1 for + * ManualScaling or BasicScaling. + */ + instanceClass?: string; + /** + * Configuration for third-party Python runtime libraries that are required + * by the application.Only returned in GET requests if view=FULL is set. + */ + libraries?: Schema$Library[]; + /** + * Configures liveness health checking for instances. Unhealthy instances + * are stopped and replaced with new instancesOnly returned in GET requests + * if view=FULL is set. + */ + livenessCheck?: Schema$LivenessCheck; + /** + * A service with manual scaling runs continuously, allowing you to perform + * complex initialization and rely on the state of its memory over time. + */ + manualScaling?: Schema$ManualScaling; + /** + * Full path to the Version resource in the API. Example: + * apps/myapp/services/default/versions/v1.@OutputOnly + */ + name?: string; + /** + * Extra network settings. Only applicable in the App Engine flexible + * environment. + */ + network?: Schema$Network; + /** + * Files that match this pattern will not be built into this version. Only + * applicable for Go runtimes.Only returned in GET requests if view=FULL is + * set. + */ + nobuildFilesRegex?: string; + /** + * Configures readiness health checking for instances. Unhealthy instances + * are not put into the backend traffic rotation.Only returned in GET + * requests if view=FULL is set. + */ + readinessCheck?: Schema$ReadinessCheck; + /** + * Machine resources for this version. Only applicable in the App Engine + * flexible environment. + */ + resources?: Schema$Resources; + /** + * Desired runtime. Example: python27. + */ + runtime?: string; + /** + * The version of the API in the given runtime environment. Please see the + * app.yaml reference for valid values at + * https://cloud.google.com/appengine/docs/standard/<language>/config/appref + */ + runtimeApiVersion?: string; + /** + * The channel of the runtime to use. Only available for some runtimes. + * Defaults to the default channel. + */ + runtimeChannel?: string; + /** + * Current serving status of this version. Only the versions with a SERVING + * status create instances and can be billed.SERVING_STATUS_UNSPECIFIED is + * an invalid value. Defaults to SERVING. + */ + servingStatus?: string; + /** + * Whether multiple requests can be dispatched to this version at once. + */ + threadsafe?: boolean; + /** + * Serving URL for this version. Example: + * "https://myversion-dot-myservice-dot-myapp.appspot.com"@OutputOnly + */ + versionUrl?: string; + /** + * Whether to deploy this version in a container on a virtual machine. + */ + vm?: boolean; + /** + * The Google Compute Engine zones that are supported by this version in the + * App Engine flexible environment. + */ + zones?: string[]; + } + /** + * Volumes mounted within the app container. Only applicable in the App Engine + * flexible environment. + */ + interface Schema$Volume { + /** + * Unique name for the volume. + */ + name?: string; + /** + * Volume size in gigabytes. + */ + sizeGb?: number; + /** + * Underlying volume type, e.g. 'tmpfs'. + */ + volumeType?: string; + } + /** + * The zip file information for a zip deployment. + */ + interface Schema$ZipInfo { + /** + * An estimate of the number of files in a zip for a zip deployment. If set, + * must be greater than or equal to the actual number of files. Used for + * optimizing performance; if not provided, deployment may be slow. + */ + filesCount?: number; + /** + * URL of the zip file to deploy from. Must be a URL to a resource in Google + * Cloud Storage in the form + * 'http(s)://storage.googleapis.com/<bucket>/<object>'. + */ + sourceUrl?: string; + } + class Resource$Apps { + root: Appengine; + authorizedCertificates: Resource$Apps$Authorizedcertificates; + authorizedDomains: Resource$Apps$Authorizeddomains; + domainMappings: Resource$Apps$Domainmappings; + firewall: Resource$Apps$Firewall; + locations: Resource$Apps$Locations; + operations: Resource$Apps$Operations; + services: Resource$Apps$Services; + constructor(root: Appengine); + getRoot(): Appengine; + /** + * appengine.apps.create + * @desc Creates an App Engine application for a Google Cloud Platform + * project. Required fields: id - The ID of the target Cloud Platform + * project. location - The region + * (https://cloud.google.com/appengine/docs/locations) where you want the + * App Engine application located.For more information about App Engine + * applications, see Managing Projects, Applications, and Billing + * (https://cloud.google.com/appengine/docs/standard/python/console/). + * @alias appengine.apps.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().Application} 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 + */ + create(params?: Params$Resource$Apps$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Apps$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Apps$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * appengine.apps.get + * @desc Gets information about an application. + * @alias appengine.apps.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the Application resource to get. Example: apps/myapp. + * @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?: Params$Resource$Apps$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Apps$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Apps$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * appengine.apps.patch + * @desc Updates the specified Application resource. You can update the + * following fields: auth_domain - Google authentication domain for + * controlling user access to the application. default_cookie_expiration - + * Cookie expiration policy for the application. + * @alias appengine.apps.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the Application resource to update. Example: apps/myapp. + * @param {string=} params.updateMask Standard field mask for the set of fields to be updated. + * @param {().Application} 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 + */ + patch(params?: Params$Resource$Apps$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Apps$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Apps$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * appengine.apps.repair + * @desc Recreates the required App Engine features for the specified App + * Engine application, for example a Cloud Storage bucket or App Engine + * service account. Use this method if you receive an error message about a + * missing feature, for example, Error retrieving the App Engine service + * account. + * @alias appengine.apps.repair + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the application to repair. Example: apps/myapp + * @param {().RepairApplicationRequest} 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 + */ + repair(params?: Params$Resource$Apps$Repair, options?: MethodOptions): AxiosPromise; + repair(params: Params$Resource$Apps$Repair, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + repair(params: Params$Resource$Apps$Repair, callback: BodyResponseCallback): void; + repair(callback: BodyResponseCallback): void; + } + interface Params$Resource$Apps$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$Application; + } + interface Params$Resource$Apps$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the Application resource to get. Example: + * apps/myapp. + */ + appsId?: string; + } + interface Params$Resource$Apps$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the Application resource to update. Example: + * apps/myapp. + */ + appsId?: string; + /** + * Standard field mask for the set of fields to be updated. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Application; + } + interface Params$Resource$Apps$Repair { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the application to repair. Example: apps/myapp + */ + appsId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RepairApplicationRequest; + } + class Resource$Apps$Authorizedcertificates { + root: Appengine; + constructor(root: Appengine); + getRoot(): Appengine; + /** + * appengine.apps.authorizedCertificates.create + * @desc Uploads the specified SSL certificate. + * @alias appengine.apps.authorizedCertificates.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * @param {().AuthorizedCertificate} 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 + */ + create(params?: Params$Resource$Apps$Authorizedcertificates$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Apps$Authorizedcertificates$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Apps$Authorizedcertificates$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * appengine.apps.authorizedCertificates.delete + * @desc Deletes the specified SSL certificate. + * @alias appengine.apps.authorizedCertificates.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource to delete. Example: apps/myapp/authorizedCertificates/12345. + * @param {string} params.authorizedCertificatesId Part of `name`. See documentation of `appsId`. + * @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?: Params$Resource$Apps$Authorizedcertificates$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Apps$Authorizedcertificates$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Apps$Authorizedcertificates$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * appengine.apps.authorizedCertificates.get + * @desc Gets the specified SSL certificate. + * @alias appengine.apps.authorizedCertificates.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource requested. Example: apps/myapp/authorizedCertificates/12345. + * @param {string} params.authorizedCertificatesId Part of `name`. See documentation of `appsId`. + * @param {string=} params.view Controls the set of fields returned in the GET response. + * @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?: Params$Resource$Apps$Authorizedcertificates$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Apps$Authorizedcertificates$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Apps$Authorizedcertificates$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * appengine.apps.authorizedCertificates.list + * @desc Lists all SSL certificates the user is authorized to administer. + * @alias appengine.apps.authorizedCertificates.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * @param {integer=} params.pageSize Maximum results to return per page. + * @param {string=} params.pageToken Continuation token for fetching the next page of results. + * @param {string=} params.view Controls the set of fields returned in the LIST response. + * @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?: Params$Resource$Apps$Authorizedcertificates$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Apps$Authorizedcertificates$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Apps$Authorizedcertificates$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * appengine.apps.authorizedCertificates.patch + * @desc Updates the specified SSL certificate. To renew a certificate and + * maintain its existing domain mappings, update certificate_data with a new + * certificate. The new certificate must be applicable to the same domains + * as the original certificate. The certificate display_name may also be + * updated. + * @alias appengine.apps.authorizedCertificates.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource to update. Example: apps/myapp/authorizedCertificates/12345. + * @param {string} params.authorizedCertificatesId Part of `name`. See documentation of `appsId`. + * @param {string=} params.updateMask Standard field mask for the set of fields to be updated. Updates are only supported on the certificate_raw_data and display_name fields. + * @param {().AuthorizedCertificate} 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 + */ + patch(params?: Params$Resource$Apps$Authorizedcertificates$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Apps$Authorizedcertificates$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Apps$Authorizedcertificates$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Apps$Authorizedcertificates$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `parent`. Name of the parent Application resource. Example: + * apps/myapp. + */ + appsId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AuthorizedCertificate; + } + interface Params$Resource$Apps$Authorizedcertificates$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource to delete. Example: + * apps/myapp/authorizedCertificates/12345. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + authorizedCertificatesId?: string; + } + interface Params$Resource$Apps$Authorizedcertificates$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource requested. Example: + * apps/myapp/authorizedCertificates/12345. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + authorizedCertificatesId?: string; + /** + * Controls the set of fields returned in the GET response. + */ + view?: string; + } + interface Params$Resource$Apps$Authorizedcertificates$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `parent`. Name of the parent Application resource. Example: + * apps/myapp. + */ + appsId?: string; + /** + * Maximum results to return per page. + */ + pageSize?: number; + /** + * Continuation token for fetching the next page of results. + */ + pageToken?: string; + /** + * Controls the set of fields returned in the LIST response. + */ + view?: string; + } + interface Params$Resource$Apps$Authorizedcertificates$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource to update. Example: + * apps/myapp/authorizedCertificates/12345. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + authorizedCertificatesId?: string; + /** + * Standard field mask for the set of fields to be updated. Updates are only + * supported on the certificate_raw_data and display_name fields. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AuthorizedCertificate; + } + class Resource$Apps$Authorizeddomains { + root: Appengine; + constructor(root: Appengine); + getRoot(): Appengine; + /** + * appengine.apps.authorizedDomains.list + * @desc Lists all domains the user is authorized to administer. + * @alias appengine.apps.authorizedDomains.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * @param {integer=} params.pageSize Maximum results to return per page. + * @param {string=} params.pageToken Continuation token for fetching the next page of results. + * @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?: Params$Resource$Apps$Authorizeddomains$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Apps$Authorizeddomains$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Apps$Authorizeddomains$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Apps$Authorizeddomains$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `parent`. Name of the parent Application resource. Example: + * apps/myapp. + */ + appsId?: string; + /** + * Maximum results to return per page. + */ + pageSize?: number; + /** + * Continuation token for fetching the next page of results. + */ + pageToken?: string; + } + class Resource$Apps$Domainmappings { + root: Appengine; + constructor(root: Appengine); + getRoot(): Appengine; + /** + * appengine.apps.domainMappings.create + * @desc Maps a domain to an application. A user must be authorized to + * administer a domain in order to map it to an application. For a list of + * available authorized domains, see + * AuthorizedDomains.ListAuthorizedDomains. + * @alias appengine.apps.domainMappings.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * @param {string=} params.overrideStrategy Whether the domain creation should override any existing mappings for this domain. By default, overrides are rejected. + * @param {().DomainMapping} 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 + */ + create(params?: Params$Resource$Apps$Domainmappings$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Apps$Domainmappings$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Apps$Domainmappings$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * appengine.apps.domainMappings.delete + * @desc Deletes the specified domain mapping. A user must be authorized to + * administer the associated domain in order to delete a DomainMapping + * resource. + * @alias appengine.apps.domainMappings.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource to delete. Example: apps/myapp/domainMappings/example.com. + * @param {string} params.domainMappingsId Part of `name`. See documentation of `appsId`. + * @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?: Params$Resource$Apps$Domainmappings$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Apps$Domainmappings$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Apps$Domainmappings$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * appengine.apps.domainMappings.get + * @desc Gets the specified domain mapping. + * @alias appengine.apps.domainMappings.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource requested. Example: apps/myapp/domainMappings/example.com. + * @param {string} params.domainMappingsId Part of `name`. See documentation of `appsId`. + * @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?: Params$Resource$Apps$Domainmappings$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Apps$Domainmappings$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Apps$Domainmappings$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * appengine.apps.domainMappings.list + * @desc Lists the domain mappings on an application. + * @alias appengine.apps.domainMappings.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * @param {integer=} params.pageSize Maximum results to return per page. + * @param {string=} params.pageToken Continuation token for fetching the next page of results. + * @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?: Params$Resource$Apps$Domainmappings$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Apps$Domainmappings$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Apps$Domainmappings$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * appengine.apps.domainMappings.patch + * @desc Updates the specified domain mapping. To map an SSL certificate to + * a domain mapping, update certificate_id to point to an + * AuthorizedCertificate resource. A user must be authorized to administer + * the associated domain in order to update a DomainMapping resource. + * @alias appengine.apps.domainMappings.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource to update. Example: apps/myapp/domainMappings/example.com. + * @param {string} params.domainMappingsId Part of `name`. See documentation of `appsId`. + * @param {string=} params.updateMask Standard field mask for the set of fields to be updated. + * @param {().DomainMapping} 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 + */ + patch(params?: Params$Resource$Apps$Domainmappings$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Apps$Domainmappings$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Apps$Domainmappings$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Apps$Domainmappings$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `parent`. Name of the parent Application resource. Example: + * apps/myapp. + */ + appsId?: string; + /** + * Whether the domain creation should override any existing mappings for + * this domain. By default, overrides are rejected. + */ + overrideStrategy?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DomainMapping; + } + interface Params$Resource$Apps$Domainmappings$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource to delete. Example: + * apps/myapp/domainMappings/example.com. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + domainMappingsId?: string; + } + interface Params$Resource$Apps$Domainmappings$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource requested. Example: + * apps/myapp/domainMappings/example.com. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + domainMappingsId?: string; + } + interface Params$Resource$Apps$Domainmappings$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `parent`. Name of the parent Application resource. Example: + * apps/myapp. + */ + appsId?: string; + /** + * Maximum results to return per page. + */ + pageSize?: number; + /** + * Continuation token for fetching the next page of results. + */ + pageToken?: string; + } + interface Params$Resource$Apps$Domainmappings$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource to update. Example: + * apps/myapp/domainMappings/example.com. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + domainMappingsId?: string; + /** + * Standard field mask for the set of fields to be updated. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DomainMapping; + } + class Resource$Apps$Firewall { + root: Appengine; + ingressRules: Resource$Apps$Firewall$Ingressrules; + constructor(root: Appengine); + getRoot(): Appengine; + } + class Resource$Apps$Firewall$Ingressrules { + root: Appengine; + constructor(root: Appengine); + getRoot(): Appengine; + /** + * appengine.apps.firewall.ingressRules.batchUpdate + * @desc Replaces the entire firewall ruleset in one bulk operation. This + * overrides and replaces the rules of an existing firewall with the new + * rules.If the final rule does not match traffic with the '*' wildcard IP + * range, then an "allow all" rule is explicitly added to the end of the + * list. + * @alias appengine.apps.firewall.ingressRules.batchUpdate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the Firewall collection to set. Example: apps/myapp/firewall/ingressRules. + * @param {().BatchUpdateIngressRulesRequest} 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 + */ + batchUpdate(params?: Params$Resource$Apps$Firewall$Ingressrules$Batchupdate, options?: MethodOptions): AxiosPromise; + batchUpdate(params: Params$Resource$Apps$Firewall$Ingressrules$Batchupdate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + batchUpdate(params: Params$Resource$Apps$Firewall$Ingressrules$Batchupdate, callback: BodyResponseCallback): void; + batchUpdate(callback: BodyResponseCallback): void; + /** + * appengine.apps.firewall.ingressRules.create + * @desc Creates a firewall rule for the application. + * @alias appengine.apps.firewall.ingressRules.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `parent`. Name of the parent Firewall collection in which to create a new rule. Example: apps/myapp/firewall/ingressRules. + * @param {().FirewallRule} 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 + */ + create(params?: Params$Resource$Apps$Firewall$Ingressrules$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Apps$Firewall$Ingressrules$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Apps$Firewall$Ingressrules$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * appengine.apps.firewall.ingressRules.delete + * @desc Deletes the specified firewall rule. + * @alias appengine.apps.firewall.ingressRules.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the Firewall resource to delete. Example: apps/myapp/firewall/ingressRules/100. + * @param {string} params.ingressRulesId Part of `name`. See documentation of `appsId`. + * @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?: Params$Resource$Apps$Firewall$Ingressrules$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Apps$Firewall$Ingressrules$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Apps$Firewall$Ingressrules$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * appengine.apps.firewall.ingressRules.get + * @desc Gets the specified firewall rule. + * @alias appengine.apps.firewall.ingressRules.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the Firewall resource to retrieve. Example: apps/myapp/firewall/ingressRules/100. + * @param {string} params.ingressRulesId Part of `name`. See documentation of `appsId`. + * @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?: Params$Resource$Apps$Firewall$Ingressrules$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Apps$Firewall$Ingressrules$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Apps$Firewall$Ingressrules$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * appengine.apps.firewall.ingressRules.list + * @desc Lists the firewall rules of an application. + * @alias appengine.apps.firewall.ingressRules.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `parent`. Name of the Firewall collection to retrieve. Example: apps/myapp/firewall/ingressRules. + * @param {string=} params.matchingAddress A valid IP Address. If set, only rules matching this address will be returned. The first returned rule will be the rule that fires on requests from this IP. + * @param {integer=} params.pageSize Maximum results to return per page. + * @param {string=} params.pageToken Continuation token for fetching the next page of results. + * @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?: Params$Resource$Apps$Firewall$Ingressrules$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Apps$Firewall$Ingressrules$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Apps$Firewall$Ingressrules$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * appengine.apps.firewall.ingressRules.patch + * @desc Updates the specified firewall rule. + * @alias appengine.apps.firewall.ingressRules.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the Firewall resource to update. Example: apps/myapp/firewall/ingressRules/100. + * @param {string} params.ingressRulesId Part of `name`. See documentation of `appsId`. + * @param {string=} params.updateMask Standard field mask for the set of fields to be updated. + * @param {().FirewallRule} 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 + */ + patch(params?: Params$Resource$Apps$Firewall$Ingressrules$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Apps$Firewall$Ingressrules$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Apps$Firewall$Ingressrules$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Apps$Firewall$Ingressrules$Batchupdate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the Firewall collection to set. Example: + * apps/myapp/firewall/ingressRules. + */ + appsId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BatchUpdateIngressRulesRequest; + } + interface Params$Resource$Apps$Firewall$Ingressrules$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `parent`. Name of the parent Firewall collection in which to + * create a new rule. Example: apps/myapp/firewall/ingressRules. + */ + appsId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$FirewallRule; + } + interface Params$Resource$Apps$Firewall$Ingressrules$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the Firewall resource to delete. Example: + * apps/myapp/firewall/ingressRules/100. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + ingressRulesId?: string; + } + interface Params$Resource$Apps$Firewall$Ingressrules$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the Firewall resource to retrieve. Example: + * apps/myapp/firewall/ingressRules/100. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + ingressRulesId?: string; + } + interface Params$Resource$Apps$Firewall$Ingressrules$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `parent`. Name of the Firewall collection to retrieve. Example: + * apps/myapp/firewall/ingressRules. + */ + appsId?: string; + /** + * A valid IP Address. If set, only rules matching this address will be + * returned. The first returned rule will be the rule that fires on requests + * from this IP. + */ + matchingAddress?: string; + /** + * Maximum results to return per page. + */ + pageSize?: number; + /** + * Continuation token for fetching the next page of results. + */ + pageToken?: string; + } + interface Params$Resource$Apps$Firewall$Ingressrules$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the Firewall resource to update. Example: + * apps/myapp/firewall/ingressRules/100. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + ingressRulesId?: string; + /** + * Standard field mask for the set of fields to be updated. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$FirewallRule; + } + class Resource$Apps$Locations { + root: Appengine; + constructor(root: Appengine); + getRoot(): Appengine; + /** + * appengine.apps.locations.get + * @desc Gets information about a location. + * @alias appengine.apps.locations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Resource name for the location. + * @param {string} params.locationsId Part of `name`. See documentation of `appsId`. + * @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?: Params$Resource$Apps$Locations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Apps$Locations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Apps$Locations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * appengine.apps.locations.list + * @desc Lists information about the supported locations for this service. + * @alias appengine.apps.locations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. The resource that owns the locations collection, if applicable. + * @param {string=} params.filter The standard list filter. + * @param {integer=} params.pageSize The standard list page size. + * @param {string=} params.pageToken The standard list page token. + * @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?: Params$Resource$Apps$Locations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Apps$Locations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Apps$Locations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Apps$Locations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Resource name for the location. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + locationsId?: string; + } + interface Params$Resource$Apps$Locations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. The resource that owns the locations collection, if + * applicable. + */ + appsId?: string; + /** + * The standard list filter. + */ + filter?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } + class Resource$Apps$Operations { + root: Appengine; + constructor(root: Appengine); + getRoot(): Appengine; + /** + * appengine.apps.operations.get + * @desc Gets the latest state of a long-running operation. Clients can use + * this method to poll the operation result at intervals as recommended by + * the API service. + * @alias appengine.apps.operations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. The name of the operation resource. + * @param {string} params.operationsId Part of `name`. See documentation of `appsId`. + * @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?: Params$Resource$Apps$Operations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Apps$Operations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Apps$Operations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * appengine.apps.operations.list + * @desc Lists operations that match the specified filter in the request. If + * the server doesn't support this method, it returns UNIMPLEMENTED.NOTE: + * the name binding allows API services to override the binding to use + * different resource name schemes, such as users/x/operations. To override + * the binding, API services can add a binding such as + * "/v1/{name=users/x}/operations" to their service configuration. For + * backwards compatibility, the default name includes the operations + * collection id, however overriding users must ensure the name binding is + * the parent resource, without the operations collection id. + * @alias appengine.apps.operations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. The name of the operation's parent resource. + * @param {string=} params.filter The standard list filter. + * @param {integer=} params.pageSize The standard list page size. + * @param {string=} params.pageToken The standard list page token. + * @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?: Params$Resource$Apps$Operations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Apps$Operations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Apps$Operations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Apps$Operations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. The name of the operation resource. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + operationsId?: string; + } + interface Params$Resource$Apps$Operations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. The name of the operation's parent resource. + */ + appsId?: string; + /** + * The standard list filter. + */ + filter?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } + class Resource$Apps$Services { + root: Appengine; + versions: Resource$Apps$Services$Versions; + constructor(root: Appengine); + getRoot(): Appengine; + /** + * appengine.apps.services.delete + * @desc Deletes the specified service and all enclosed versions. + * @alias appengine.apps.services.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource requested. Example: apps/myapp/services/default. + * @param {string} params.servicesId Part of `name`. See documentation of `appsId`. + * @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?: Params$Resource$Apps$Services$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Apps$Services$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Apps$Services$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * appengine.apps.services.get + * @desc Gets the current configuration of the specified service. + * @alias appengine.apps.services.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource requested. Example: apps/myapp/services/default. + * @param {string} params.servicesId Part of `name`. See documentation of `appsId`. + * @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?: Params$Resource$Apps$Services$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Apps$Services$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Apps$Services$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * appengine.apps.services.list + * @desc Lists all the services in the application. + * @alias appengine.apps.services.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * @param {integer=} params.pageSize Maximum results to return per page. + * @param {string=} params.pageToken Continuation token for fetching the next page of results. + * @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?: Params$Resource$Apps$Services$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Apps$Services$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Apps$Services$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * appengine.apps.services.patch + * @desc Updates the configuration of the specified service. + * @alias appengine.apps.services.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource to update. Example: apps/myapp/services/default. + * @param {boolean=} params.migrateTraffic Set to true to gradually shift traffic to one or more versions that you specify. By default, traffic is shifted immediately. For gradual traffic migration, the target versions must be located within instances that are configured for both warmup requests (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#InboundServiceType) and automatic scaling (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#AutomaticScaling). You must specify the shardBy (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services#ShardBy) field in the Service resource. Gradual traffic migration is not supported in the App Engine flexible environment. For examples, see Migrating and Splitting Traffic (https://cloud.google.com/appengine/docs/admin-api/migrating-splitting-traffic). + * @param {string} params.servicesId Part of `name`. See documentation of `appsId`. + * @param {string=} params.updateMask Standard field mask for the set of fields to be updated. + * @param {().Service} 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 + */ + patch(params?: Params$Resource$Apps$Services$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Apps$Services$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Apps$Services$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Apps$Services$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource requested. Example: + * apps/myapp/services/default. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + servicesId?: string; + } + interface Params$Resource$Apps$Services$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource requested. Example: + * apps/myapp/services/default. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + servicesId?: string; + } + interface Params$Resource$Apps$Services$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `parent`. Name of the parent Application resource. Example: + * apps/myapp. + */ + appsId?: string; + /** + * Maximum results to return per page. + */ + pageSize?: number; + /** + * Continuation token for fetching the next page of results. + */ + pageToken?: string; + } + interface Params$Resource$Apps$Services$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource to update. Example: + * apps/myapp/services/default. + */ + appsId?: string; + /** + * Set to true to gradually shift traffic to one or more versions that you + * specify. By default, traffic is shifted immediately. For gradual traffic + * migration, the target versions must be located within instances that are + * configured for both warmup requests + * (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#InboundServiceType) + * and automatic scaling + * (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#AutomaticScaling). + * You must specify the shardBy + * (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services#ShardBy) + * field in the Service resource. Gradual traffic migration is not supported + * in the App Engine flexible environment. For examples, see Migrating and + * Splitting Traffic + * (https://cloud.google.com/appengine/docs/admin-api/migrating-splitting-traffic). + */ + migrateTraffic?: boolean; + /** + * Part of `name`. See documentation of `appsId`. + */ + servicesId?: string; + /** + * Standard field mask for the set of fields to be updated. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Service; + } + class Resource$Apps$Services$Versions { + root: Appengine; + instances: Resource$Apps$Services$Versions$Instances; + constructor(root: Appengine); + getRoot(): Appengine; + /** + * appengine.apps.services.versions.create + * @desc Deploys code and resource files to a new version. + * @alias appengine.apps.services.versions.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `parent`. Name of the parent resource to create this version under. Example: apps/myapp/services/default. + * @param {string} params.servicesId Part of `parent`. See documentation of `appsId`. + * @param {().Version} 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 + */ + create(params?: Params$Resource$Apps$Services$Versions$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Apps$Services$Versions$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Apps$Services$Versions$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * appengine.apps.services.versions.delete + * @desc Deletes an existing Version resource. + * @alias appengine.apps.services.versions.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1. + * @param {string} params.servicesId Part of `name`. See documentation of `appsId`. + * @param {string} params.versionsId Part of `name`. See documentation of `appsId`. + * @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?: Params$Resource$Apps$Services$Versions$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Apps$Services$Versions$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Apps$Services$Versions$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * appengine.apps.services.versions.get + * @desc Gets the specified Version resource. By default, only a BASIC_VIEW + * will be returned. Specify the FULL_VIEW parameter to get the full + * resource. + * @alias appengine.apps.services.versions.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1. + * @param {string} params.servicesId Part of `name`. See documentation of `appsId`. + * @param {string} params.versionsId Part of `name`. See documentation of `appsId`. + * @param {string=} params.view Controls the set of fields returned in the Get response. + * @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?: Params$Resource$Apps$Services$Versions$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Apps$Services$Versions$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Apps$Services$Versions$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * appengine.apps.services.versions.list + * @desc Lists the versions of a service. + * @alias appengine.apps.services.versions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `parent`. Name of the parent Service resource. Example: apps/myapp/services/default. + * @param {integer=} params.pageSize Maximum results to return per page. + * @param {string=} params.pageToken Continuation token for fetching the next page of results. + * @param {string} params.servicesId Part of `parent`. See documentation of `appsId`. + * @param {string=} params.view Controls the set of fields returned in the List response. + * @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?: Params$Resource$Apps$Services$Versions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Apps$Services$Versions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Apps$Services$Versions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * appengine.apps.services.versions.patch + * @desc Updates the specified Version resource. You can specify the + * following fields depending on the App Engine environment and type of + * scaling that the version resource uses:Standard environment + * instance_class + * (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.instance_class)automatic + * scaling in the standard environment: automatic_scaling.min_idle_instances + * (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling) + * automatic_scaling.max_idle_instances + * (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling) + * automaticScaling.standard_scheduler_settings.max_instances + * (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#StandardSchedulerSettings) + * automaticScaling.standard_scheduler_settings.min_instances + * (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#StandardSchedulerSettings) + * automaticScaling.standard_scheduler_settings.target_cpu_utilization + * (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#StandardSchedulerSettings) + * automaticScaling.standard_scheduler_settings.target_throughput_utilization + * (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#StandardSchedulerSettings)basic + * scaling or manual scaling in the standard environment: serving_status + * (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.serving_status)Flexible + * environment serving_status + * (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.serving_status)automatic + * scaling in the flexible environment: + * automatic_scaling.min_total_instances + * (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling) + * automatic_scaling.max_total_instances + * (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling) + * automatic_scaling.cool_down_period_sec + * (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling) + * automatic_scaling.cpu_utilization.target_utilization + * (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling) + * @alias appengine.apps.services.versions.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource to update. Example: apps/myapp/services/default/versions/1. + * @param {string} params.servicesId Part of `name`. See documentation of `appsId`. + * @param {string=} params.updateMask Standard field mask for the set of fields to be updated. + * @param {string} params.versionsId Part of `name`. See documentation of `appsId`. + * @param {().Version} 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 + */ + patch(params?: Params$Resource$Apps$Services$Versions$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Apps$Services$Versions$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Apps$Services$Versions$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Apps$Services$Versions$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `parent`. Name of the parent resource to create this version + * under. Example: apps/myapp/services/default. + */ + appsId?: string; + /** + * Part of `parent`. See documentation of `appsId`. + */ + servicesId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Version; + } + interface Params$Resource$Apps$Services$Versions$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource requested. Example: + * apps/myapp/services/default/versions/v1. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + servicesId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + versionsId?: string; + } + interface Params$Resource$Apps$Services$Versions$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource requested. Example: + * apps/myapp/services/default/versions/v1. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + servicesId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + versionsId?: string; + /** + * Controls the set of fields returned in the Get response. + */ + view?: string; + } + interface Params$Resource$Apps$Services$Versions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `parent`. Name of the parent Service resource. Example: + * apps/myapp/services/default. + */ + appsId?: string; + /** + * Maximum results to return per page. + */ + pageSize?: number; + /** + * Continuation token for fetching the next page of results. + */ + pageToken?: string; + /** + * Part of `parent`. See documentation of `appsId`. + */ + servicesId?: string; + /** + * Controls the set of fields returned in the List response. + */ + view?: string; + } + interface Params$Resource$Apps$Services$Versions$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource to update. Example: + * apps/myapp/services/default/versions/1. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + servicesId?: string; + /** + * Standard field mask for the set of fields to be updated. + */ + updateMask?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + versionsId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Version; + } + class Resource$Apps$Services$Versions$Instances { + root: Appengine; + constructor(root: Appengine); + getRoot(): Appengine; + /** + * appengine.apps.services.versions.instances.debug + * @desc Enables debugging on a VM instance. This allows you to use the SSH + * command to connect to the virtual machine where the instance lives. While + * in "debug mode", the instance continues to serve live traffic. You should + * delete the instance when you are done debugging and then allow the system + * to take over and determine if another instance should be started.Only + * applicable for instances in App Engine flexible environment. + * @alias appengine.apps.services.versions.instances.debug + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1. + * @param {string} params.instancesId Part of `name`. See documentation of `appsId`. + * @param {string} params.servicesId Part of `name`. See documentation of `appsId`. + * @param {string} params.versionsId Part of `name`. See documentation of `appsId`. + * @param {().DebugInstanceRequest} 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 + */ + debug(params?: Params$Resource$Apps$Services$Versions$Instances$Debug, options?: MethodOptions): AxiosPromise; + debug(params: Params$Resource$Apps$Services$Versions$Instances$Debug, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + debug(params: Params$Resource$Apps$Services$Versions$Instances$Debug, callback: BodyResponseCallback): void; + debug(callback: BodyResponseCallback): void; + /** + * appengine.apps.services.versions.instances.delete + * @desc Stops a running instance. + * @alias appengine.apps.services.versions.instances.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1. + * @param {string} params.instancesId Part of `name`. See documentation of `appsId`. + * @param {string} params.servicesId Part of `name`. See documentation of `appsId`. + * @param {string} params.versionsId Part of `name`. See documentation of `appsId`. + * @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?: Params$Resource$Apps$Services$Versions$Instances$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Apps$Services$Versions$Instances$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Apps$Services$Versions$Instances$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * appengine.apps.services.versions.instances.get + * @desc Gets instance information. + * @alias appengine.apps.services.versions.instances.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1. + * @param {string} params.instancesId Part of `name`. See documentation of `appsId`. + * @param {string} params.servicesId Part of `name`. See documentation of `appsId`. + * @param {string} params.versionsId Part of `name`. See documentation of `appsId`. + * @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?: Params$Resource$Apps$Services$Versions$Instances$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Apps$Services$Versions$Instances$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Apps$Services$Versions$Instances$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * appengine.apps.services.versions.instances.list + * @desc Lists the instances of a version.Tip: To aggregate details about + * instances over time, see the Stackdriver Monitoring API + * (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list). + * @alias appengine.apps.services.versions.instances.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `parent`. Name of the parent Version resource. Example: apps/myapp/services/default/versions/v1. + * @param {integer=} params.pageSize Maximum results to return per page. + * @param {string=} params.pageToken Continuation token for fetching the next page of results. + * @param {string} params.servicesId Part of `parent`. See documentation of `appsId`. + * @param {string} params.versionsId Part of `parent`. See documentation of `appsId`. + * @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?: Params$Resource$Apps$Services$Versions$Instances$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Apps$Services$Versions$Instances$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Apps$Services$Versions$Instances$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Apps$Services$Versions$Instances$Debug { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource requested. Example: + * apps/myapp/services/default/versions/v1/instances/instance-1. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + instancesId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + servicesId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + versionsId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DebugInstanceRequest; + } + interface Params$Resource$Apps$Services$Versions$Instances$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource requested. Example: + * apps/myapp/services/default/versions/v1/instances/instance-1. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + instancesId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + servicesId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + versionsId?: string; + } + interface Params$Resource$Apps$Services$Versions$Instances$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource requested. Example: + * apps/myapp/services/default/versions/v1/instances/instance-1. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + instancesId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + servicesId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + versionsId?: string; + } + interface Params$Resource$Apps$Services$Versions$Instances$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `parent`. Name of the parent Version resource. Example: + * apps/myapp/services/default/versions/v1. + */ + appsId?: string; + /** + * Maximum results to return per page. + */ + pageSize?: number; + /** + * Continuation token for fetching the next page of results. + */ + pageToken?: string; + /** + * Part of `parent`. See documentation of `appsId`. + */ + servicesId?: string; + /** + * Part of `parent`. See documentation of `appsId`. + */ + versionsId?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/appengine/v1.js b/express-server/node_modules/googleapis/build/src/apis/appengine/v1.js new file mode 100644 index 00000000..90c78554 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/appengine/v1.js @@ -0,0 +1,1369 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var appengine_v1; +(function (appengine_v1) { + /** + * App Engine Admin API + * + * The App Engine Admin API enables developers to provision and manage their + * App Engine applications. + * + * @example + * const {google} = require('googleapis'); + * const appengine = google.appengine('v1'); + * + * @namespace appengine + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Appengine + */ + class Appengine { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.apps = new Resource$Apps(this); + } + getRoot() { + return this.root; + } + } + appengine_v1.Appengine = Appengine; + class Resource$Apps { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.authorizedCertificates = + new Resource$Apps$Authorizedcertificates(root); + this.authorizedDomains = new Resource$Apps$Authorizeddomains(root); + this.domainMappings = new Resource$Apps$Domainmappings(root); + this.firewall = new Resource$Apps$Firewall(root); + this.locations = new Resource$Apps$Locations(root); + this.operations = new Resource$Apps$Operations(root); + this.services = new Resource$Apps$Services(root); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/apps').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/apps/{appsId}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId'], + pathParams: ['appsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/apps/{appsId}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['appsId'], + pathParams: ['appsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + repair(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/apps/{appsId}:repair') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['appsId'], + pathParams: ['appsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + appengine_v1.Resource$Apps = Resource$Apps; + class Resource$Apps$Authorizedcertificates { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/apps/{appsId}/authorizedCertificates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['appsId'], + pathParams: ['appsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['appsId', 'authorizedCertificatesId'], + pathParams: ['appsId', 'authorizedCertificatesId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId', 'authorizedCertificatesId'], + pathParams: ['appsId', 'authorizedCertificatesId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/apps/{appsId}/authorizedCertificates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId'], + pathParams: ['appsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['appsId', 'authorizedCertificatesId'], + pathParams: ['appsId', 'authorizedCertificatesId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + appengine_v1.Resource$Apps$Authorizedcertificates = Resource$Apps$Authorizedcertificates; + class Resource$Apps$Authorizeddomains { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/apps/{appsId}/authorizedDomains') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId'], + pathParams: ['appsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + appengine_v1.Resource$Apps$Authorizeddomains = Resource$Apps$Authorizeddomains; + class Resource$Apps$Domainmappings { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/apps/{appsId}/domainMappings') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['appsId'], + pathParams: ['appsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/apps/{appsId}/domainMappings/{domainMappingsId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['appsId', 'domainMappingsId'], + pathParams: ['appsId', 'domainMappingsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/apps/{appsId}/domainMappings/{domainMappingsId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId', 'domainMappingsId'], + pathParams: ['appsId', 'domainMappingsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/apps/{appsId}/domainMappings') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId'], + pathParams: ['appsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/apps/{appsId}/domainMappings/{domainMappingsId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['appsId', 'domainMappingsId'], + pathParams: ['appsId', 'domainMappingsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + appengine_v1.Resource$Apps$Domainmappings = Resource$Apps$Domainmappings; + class Resource$Apps$Firewall { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.ingressRules = new Resource$Apps$Firewall$Ingressrules(root); + } + getRoot() { + return this.root; + } + } + appengine_v1.Resource$Apps$Firewall = Resource$Apps$Firewall; + class Resource$Apps$Firewall$Ingressrules { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + batchUpdate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/apps/{appsId}/firewall/ingressRules:batchUpdate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['appsId'], + pathParams: ['appsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/apps/{appsId}/firewall/ingressRules') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['appsId'], + pathParams: ['appsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/apps/{appsId}/firewall/ingressRules/{ingressRulesId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['appsId', 'ingressRulesId'], + pathParams: ['appsId', 'ingressRulesId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/apps/{appsId}/firewall/ingressRules/{ingressRulesId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId', 'ingressRulesId'], + pathParams: ['appsId', 'ingressRulesId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/apps/{appsId}/firewall/ingressRules') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId'], + pathParams: ['appsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/apps/{appsId}/firewall/ingressRules/{ingressRulesId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['appsId', 'ingressRulesId'], + pathParams: ['appsId', 'ingressRulesId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + appengine_v1.Resource$Apps$Firewall$Ingressrules = Resource$Apps$Firewall$Ingressrules; + class Resource$Apps$Locations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/apps/{appsId}/locations/{locationsId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId', 'locationsId'], + pathParams: ['appsId', 'locationsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/apps/{appsId}/locations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId'], + pathParams: ['appsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + appengine_v1.Resource$Apps$Locations = Resource$Apps$Locations; + class Resource$Apps$Operations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/apps/{appsId}/operations/{operationsId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId', 'operationsId'], + pathParams: ['appsId', 'operationsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/apps/{appsId}/operations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId'], + pathParams: ['appsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + appengine_v1.Resource$Apps$Operations = Resource$Apps$Operations; + class Resource$Apps$Services { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.versions = new Resource$Apps$Services$Versions(root); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/apps/{appsId}/services/{servicesId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['appsId', 'servicesId'], + pathParams: ['appsId', 'servicesId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/apps/{appsId}/services/{servicesId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId', 'servicesId'], + pathParams: ['appsId', 'servicesId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/apps/{appsId}/services') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId'], + pathParams: ['appsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/apps/{appsId}/services/{servicesId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['appsId', 'servicesId'], + pathParams: ['appsId', 'servicesId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + appengine_v1.Resource$Apps$Services = Resource$Apps$Services; + class Resource$Apps$Services$Versions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.instances = new Resource$Apps$Services$Versions$Instances(root); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/apps/{appsId}/services/{servicesId}/versions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['appsId', 'servicesId'], + pathParams: ['appsId', 'servicesId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['appsId', 'servicesId', 'versionsId'], + pathParams: ['appsId', 'servicesId', 'versionsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId', 'servicesId', 'versionsId'], + pathParams: ['appsId', 'servicesId', 'versionsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/apps/{appsId}/services/{servicesId}/versions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId', 'servicesId'], + pathParams: ['appsId', 'servicesId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['appsId', 'servicesId', 'versionsId'], + pathParams: ['appsId', 'servicesId', 'versionsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + appengine_v1.Resource$Apps$Services$Versions = Resource$Apps$Services$Versions; + class Resource$Apps$Services$Versions$Instances { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + debug(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}:debug') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['appsId', 'servicesId', 'versionsId', 'instancesId'], + pathParams: ['appsId', 'instancesId', 'servicesId', 'versionsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['appsId', 'servicesId', 'versionsId', 'instancesId'], + pathParams: ['appsId', 'instancesId', 'servicesId', 'versionsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId', 'servicesId', 'versionsId', 'instancesId'], + pathParams: ['appsId', 'instancesId', 'servicesId', 'versionsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId', 'servicesId', 'versionsId'], + pathParams: ['appsId', 'servicesId', 'versionsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + appengine_v1.Resource$Apps$Services$Versions$Instances = Resource$Apps$Services$Versions$Instances; +})(appengine_v1 = exports.appengine_v1 || (exports.appengine_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/appengine/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/appengine/v1.js.map new file mode 100644 index 00000000..84b83c0c --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/appengine/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/appengine/v1.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAIH,yDAA2H;AAE3H,yBAAyB;AACzB,6BAA6B;AAC7B,gCAAgC;AAChC,+BAA+B;AAC/B,+BAA+B;AAE/B,IAAiB,YAAY,CA6+K5B;AA7+KD,WAAiB,YAAY;IAK3B;;;;;;;;;;;;;;;OAeG;IACH,MAAa,SAAS;QAOpB,YAAY,OAAsB,EAAE,MAA2B;YAJ/D,SAAI,GAAG,IAAI,CAAC;YAKV,IAAI,CAAC,QAAQ,GAAG,OAAO,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAExB,IAAI,CAAC,IAAI,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;KACF;IAlBY,sBAAS,YAkBrB,CAAA;IA01DD,MAAa,aAAa;QASxB,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC,sBAAsB;gBACvB,IAAI,oCAAoC,CAAC,IAAI,CAAC,CAAC;YACnD,IAAI,CAAC,iBAAiB,GAAG,IAAI,+BAA+B,CAAC,IAAI,CAAC,CAAC;YACnE,IAAI,CAAC,cAAc,GAAG,IAAI,4BAA4B,CAAC,IAAI,CAAC,CAAC;YAC7D,IAAI,CAAC,QAAQ,GAAG,IAAI,sBAAsB,CAAC,IAAI,CAAC,CAAC;YACjD,IAAI,CAAC,SAAS,GAAG,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC;YACnD,IAAI,CAAC,UAAU,GAAG,IAAI,wBAAwB,CAAC,IAAI,CAAC,CAAC;YACrD,IAAI,CAAC,QAAQ,GAAG,IAAI,sBAAsB,CAAC,IAAI,CAAC,CAAC;QACnD,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA+BD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAgC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiC,CAAC;gBAC3C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,UAAU,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACzD,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,EAAE;gBAClB,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAuBD,GAAG,CAAC,gBACwC,EACxC,iBACwC,EACxC,QAAmD;YAErD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAA6B,CAAC;YAClE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8B,CAAC;gBACxC,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO,GAAG,mBAAmB,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACjE,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAqB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC5D;iBAAM;gBACL,OAAO,oCAAgB,CAAqB,UAAU,CAAC,CAAC;aACzD;QACH,CAAC;QA8BD,KAAK,CACD,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAA+B,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgC,CAAC;gBAC1C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO,GAAG,mBAAmB,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACjE,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA8BD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAgC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiC,CAAC;gBAC3C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,0BAA0B,CAAC;yBACjC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;KACF;IAzSY,0BAAa,gBAySzB,CAAA;IAgED,MAAa,oCAAoC;QAE/C,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA4BD,MAAM,CACF,gBACkD,EAClD,iBACkD,EAClD,QAA6D;YAE/D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACkB,CAAC;YACvD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwD,CAAC;gBAClE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,0CAA0C,CAAC;yBACjD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA+B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtE;iBAAM;gBACL,OAAO,oCAAgB,CAA+B,UAAU,CAAC,CAAC;aACnE;QACH,CAAC;QA2BD,MAAM,CACF,gBACkC,EAClC,iBAAoE,EACpE,QAA6C;YAE/C,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACkB,CAAC;YACvD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwD,CAAC;gBAClE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,qEAAqE,CAAC;yBAClE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,0BAA0B,CAAC;gBACtD,UAAU,EAAE,CAAC,QAAQ,EAAE,0BAA0B,CAAC;gBAClD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAe,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtD;iBAAM;gBACL,OAAO,oCAAgB,CAAe,UAAU,CAAC,CAAC;aACnD;QACH,CAAC;QA0BD,GAAG,CAAC,gBACkD,EAClD,iBACkD,EAClD,QAA6D;YAE/D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACe,CAAC;YACpD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqD,CAAC;gBAC/D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,qEAAqE,CAAC;yBAClE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,0BAA0B,CAAC;gBACtD,UAAU,EAAE,CAAC,QAAQ,EAAE,0BAA0B,CAAC;gBAClD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA+B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtE;iBAAM;gBACL,OAAO,oCAAgB,CAA+B,UAAU,CAAC,CAAC;aACnE;QACH,CAAC;QAqCD,IAAI,CACA,gBAC+D,EAC/D,iBAC+D,EAC/D,QACmE;YAErE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACgB,CAAC;YACrD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsD,CAAC;gBAChE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,0CAA0C,CAAC;yBACjD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;QAkCD,KAAK,CACD,gBACkD,EAClD,iBACkD,EAClD,QAA6D;YAE/D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACiB,CAAC;YACtD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAuD,CAAC;gBACjE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,qEAAqE,CAAC;yBAClE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,0BAA0B,CAAC;gBACtD,UAAU,EAAE,CAAC,QAAQ,EAAE,0BAA0B,CAAC;gBAClD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA+B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtE;iBAAM;gBACL,OAAO,oCAAgB,CAA+B,UAAU,CAAC,CAAC;aACnE;QACH,CAAC;KACF;IAtXY,iDAAoC,uCAsXhD,CAAA;IA2GD,MAAa,+BAA+B;QAE1C,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAiCD,IAAI,CACA,gBAC0D,EAC1D,iBAC0D,EAC1D,QAAqE;YAEvE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACW,CAAC;YAChD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiD,CAAC;gBAC3D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,qCAAqC,CAAC;yBAC5C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;KACF;IAtFY,4CAA+B,kCAsF3C,CAAA;IAwBD,MAAa,4BAA4B;QAEvC,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA+BD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACU,CAAC;YAC/C,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgD,CAAC;gBAC1D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,kCAAkC,CAAC;yBACzC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA6BD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACU,CAAC;YAC/C,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgD,CAAC;gBAC1D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,qDAAqD,CAAC;yBAClD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,kBAAkB,CAAC;gBAC9C,UAAU,EAAE,CAAC,QAAQ,EAAE,kBAAkB,CAAC;gBAC1C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAwBD,GAAG,CAAC,gBAC0C,EAC1C,iBAC0C,EAC1C,QAAqD;YAEvD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA4C,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6C,CAAC;gBACvD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,qDAAqD,CAAC;yBAClD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,kBAAkB,CAAC;gBAC9C,UAAU,EAAE,CAAC,QAAQ,EAAE,kBAAkB,CAAC;gBAC1C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAuB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9D;iBAAM;gBACL,OAAO,oCAAgB,CAAuB,UAAU,CAAC,CAAC;aAC3D;QACH,CAAC;QAiCD,IAAI,CACA,gBACuD,EACvD,iBACuD,EACvD,QAAkE;YAEpE,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA6C,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8C,CAAC;gBACxD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,kCAAkC,CAAC;yBACzC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CAAoC,UAAU,CAAC,CAAC;aACxE;QACH,CAAC;QAgCD,KAAK,CACD,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA8C,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA+C,CAAC;gBACzD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,qDAAqD,CAAC;yBAClD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,kBAAkB,CAAC;gBAC9C,UAAU,EAAE,CAAC,QAAQ,EAAE,kBAAkB,CAAC;gBAC1C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;KACF;IA/WY,yCAA4B,+BA+WxC,CAAA;IAuGD,MAAa,sBAAsB;QAGjC,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC,YAAY,GAAG,IAAI,mCAAmC,CAAC,IAAI,CAAC,CAAC;QACpE,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;KACF;IAZY,mCAAsB,yBAYlC,CAAA;IAGD,MAAa,mCAAmC;QAE9C,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAqCD,WAAW,CACP,gBAE4D,EAC5D,iBAC4D,EAC5D,QACgE;YAElE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACsB,CAAC;YAC3D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4D,CAAC;gBACtE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,qDAAqD,CAAC;yBAClD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;QA2BD,MAAM,CACF,gBACyC,EACzC,iBACyC,EACzC,QAAoD;YAEtD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACiB,CAAC;YACtD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAuD,CAAC;gBACjE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,yCAAyC,CAAC;yBAChD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAsB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC7D;iBAAM;gBACL,OAAO,oCAAgB,CAAsB,UAAU,CAAC,CAAC;aAC1D;QACH,CAAC;QA2BD,MAAM,CACF,gBACkC,EAClC,iBAAoE,EACpE,QAA6C;YAE/C,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACiB,CAAC;YACtD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAuD,CAAC;gBACjE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,0DAA0D,CAAC;yBACvD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,gBAAgB,CAAC;gBAC5C,UAAU,EAAE,CAAC,QAAQ,EAAE,gBAAgB,CAAC;gBACxC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAe,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtD;iBAAM;gBACL,OAAO,oCAAgB,CAAe,UAAU,CAAC,CAAC;aACnD;QACH,CAAC;QAwBD,GAAG,CAAC,gBACyC,EACzC,iBACyC,EACzC,QAAoD;YAEtD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACc,CAAC;YACnD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoD,CAAC;gBAC9D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,0DAA0D,CAAC;yBACvD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,gBAAgB,CAAC;gBAC5C,UAAU,EAAE,CAAC,QAAQ,EAAE,gBAAgB,CAAC;gBACxC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAsB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC7D;iBAAM;gBACL,OAAO,oCAAgB,CAAsB,UAAU,CAAC,CAAC;aAC1D;QACH,CAAC;QA8BD,IAAI,CACA,gBACqD,EACrD,iBACqD,EACrD,QAAgE;YAElE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACe,CAAC;YACpD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqD,CAAC;gBAC/D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,yCAAyC,CAAC;yBAChD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzE;iBAAM;gBACL,OAAO,oCAAgB,CAAkC,UAAU,CAAC,CAAC;aACtE;QACH,CAAC;QA6BD,KAAK,CACD,gBACyC,EACzC,iBACyC,EACzC,QAAoD;YAEtD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACgB,CAAC;YACrD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsD,CAAC;gBAChE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,0DAA0D,CAAC;yBACvD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,gBAAgB,CAAC;gBAC5C,UAAU,EAAE,CAAC,QAAQ,EAAE,gBAAgB,CAAC;gBACxC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAsB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC7D;iBAAM;gBACL,OAAO,oCAAgB,CAAsB,UAAU,CAAC,CAAC;aAC1D;QACH,CAAC;KACF;IApbY,gDAAmC,sCAob/C,CAAA;IA0HD,MAAa,uBAAuB;QAElC,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAwBD,GAAG,CAAC,gBACqC,EACrC,iBAAuE,EACvE,QAAgD;YAElD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAuC,CAAC;YACnE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwC,CAAC;gBAClD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,2CAA2C,CAAC;yBAClD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC;gBACzC,UAAU,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC;gBACrC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzD;iBAAM;gBACL,OAAO,oCAAgB,CAAkB,UAAU,CAAC,CAAC;aACtD;QACH,CAAC;QA6BD,IAAI,CACA,gBACkD,EAClD,iBACkD,EAClD,QAA6D;YAE/D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAwC,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAyC,CAAC;gBACnD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,6BAA6B,CAAC;yBACpC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA+B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtE;iBAAM;gBACL,OAAO,oCAAgB,CAA+B,UAAU,CAAC,CAAC;aACnE;QACH,CAAC;KACF;IA/IY,oCAAuB,0BA+InC,CAAA;IA2CD,MAAa,wBAAwB;QAEnC,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA0BD,GAAG,CAAC,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAwC,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAyC,CAAC;gBACnD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,6CAA6C,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,cAAc,CAAC;gBAC1C,UAAU,EAAE,CAAC,QAAQ,EAAE,cAAc,CAAC;gBACtC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAsCD,IAAI,CACA,gBACmD,EACnD,iBACmD,EACnD,QAA8D;YAEhE,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAyC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0C,CAAC;gBACpD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,8BAA8B,CAAC;yBACrC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvE;iBAAM;gBACL,OAAO,oCAAgB,CAAgC,UAAU,CAAC,CAAC;aACpE;QACH,CAAC;KACF;IA3JY,qCAAwB,2BA2JpC,CAAA;IA0CD,MAAa,sBAAsB;QAGjC,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,+BAA+B,CAAC,IAAI,CAAC,CAAC;QAC5D,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA2BD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAyC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0C,CAAC;gBACpD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,yCAAyC,CAAC;yBAChD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC;gBACxC,UAAU,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC;gBACpC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAwBD,GAAG,CAAC,gBACoC,EACpC,iBAAsE,EACtE,QAA+C;YAEjD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAsC,CAAC;YAClE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAuC,CAAC;gBACjD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,yCAAyC,CAAC;yBAChD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC;gBACxC,UAAU,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC;gBACpC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxD;iBAAM;gBACL,OAAO,oCAAgB,CAAiB,UAAU,CAAC,CAAC;aACrD;QACH,CAAC;QA4BD,IAAI,CACA,gBACiD,EACjD,iBACiD,EACjD,QAA4D;YAE9D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAuC,CAAC;YACnE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwC,CAAC;gBAClD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,4BAA4B,CAAC;yBACnC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA8B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrE;iBAAM;gBACL,OAAO,oCAAgB,CAA8B,UAAU,CAAC,CAAC;aAClE;QACH,CAAC;QA8BD,KAAK,CACD,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAwC,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAyC,CAAC;gBACnD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,yCAAyC,CAAC;yBAChD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC;gBACxC,UAAU,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC;gBACpC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;KACF;IA3RY,mCAAsB,yBA2RlC,CAAA;IAgGD,MAAa,+BAA+B;QAG1C,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC,SAAS,GAAG,IAAI,yCAAyC,CAAC,IAAI,CAAC,CAAC;QACvE,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA4BD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACa,CAAC;YAClD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmD,CAAC;gBAC7D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO,GAAG,kDAAkD,CAAC;yBACzD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC;gBACxC,UAAU,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC;gBACpC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA4BD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACa,CAAC;YAClD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmD,CAAC;gBAC7D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,+DAA+D,CAAC;yBAC5D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,YAAY,CAAC;gBACtD,UAAU,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,YAAY,CAAC;gBAClD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA4BD,GAAG,CAAC,gBACoC,EACpC,iBAAsE,EACtE,QAA+C;YAEjD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACU,CAAC;YAC/C,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgD,CAAC;gBAC1D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,+DAA+D,CAAC;yBAC5D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,YAAY,CAAC;gBACtD,UAAU,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,YAAY,CAAC;gBAClD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxD;iBAAM;gBACL,OAAO,oCAAgB,CAAiB,UAAU,CAAC,CAAC;aACrD;QACH,CAAC;QA+BD,IAAI,CACA,gBACiD,EACjD,iBACiD,EACjD,QAA4D;YAE9D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACW,CAAC;YAChD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiD,CAAC;gBAC3D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO,GAAG,kDAAkD,CAAC;yBACzD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC;gBACxC,UAAU,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC;gBACpC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA8B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrE;iBAAM;gBACL,OAAO,oCAAgB,CAA8B,UAAU,CAAC,CAAC;aAClE;QACH,CAAC;QA2DD,KAAK,CACD,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACY,CAAC;YACjD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkD,CAAC;gBAC5D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,+DAA+D,CAAC;yBAC5D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,YAAY,CAAC;gBACtD,UAAU,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,YAAY,CAAC;gBAClD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;KACF;IA7YY,4CAA+B,kCA6Y3C,CAAA;IA6HD,MAAa,yCAAyC;QAEpD,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAmCD,KAAK,CACD,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACsB,CAAC;YAC3D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4D,CAAC;gBACtE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,6FAA6F,CAAC;yBAC1F,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,CAAC;gBACrE,UAAU,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,CAAC;gBACjE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA6BD,MAAM,CACF,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACuB,CAAC;YAC5D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6D,CAAC;gBACvE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,uFAAuF,CAAC;yBACpF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,CAAC;gBACrE,UAAU,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,CAAC;gBACjE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA0BD,GAAG,CAAC,gBACqC,EACrC,iBAAuE,EACvE,QAAgD;YAElD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACoB,CAAC;YACzD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0D,CAAC;gBACpE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,uFAAuF,CAAC;yBACpF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,CAAC;gBACrE,UAAU,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,CAAC;gBACjE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzD;iBAAM;gBACL,OAAO,oCAAgB,CAAkB,UAAU,CAAC,CAAC;aACtD;QACH,CAAC;QAiCD,IAAI,CACA,gBAEkD,EAClD,iBACkD,EAClD,QAA6D;YAE/D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACqB,CAAC;YAC1D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2D,CAAC;gBACrE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,yEAAyE,CAAC;yBACtE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,YAAY,CAAC;gBACtD,UAAU,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,YAAY,CAAC;gBAClD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA+B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtE;iBAAM;gBACL,OAAO,oCAAgB,CAA+B,UAAU,CAAC,CAAC;aACnE;QACH,CAAC;KACF;IAlTY,sDAAyC,4CAkTrD,CAAA;AA2GH,CAAC,EA7+KgB,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QA6+K5B"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/appengine/v1alpha.d.ts b/express-server/node_modules/googleapis/build/src/apis/appengine/v1alpha.d.ts new file mode 100644 index 00000000..de621dc1 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/appengine/v1alpha.d.ts @@ -0,0 +1,1267 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace appengine_v1alpha { + interface Options extends GlobalOptions { + version: 'v1alpha'; + } + /** + * App Engine Admin API + * + * The App Engine Admin API enables developers to provision and manage their + * App Engine applications. + * + * @example + * const {google} = require('googleapis'); + * const appengine = google.appengine('v1alpha'); + * + * @namespace appengine + * @type {Function} + * @version v1alpha + * @variation v1alpha + * @param {object=} options Options for Appengine + */ + class Appengine { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + apps: Resource$Apps; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * An SSL certificate that a user has been authorized to administer. A user is + * authorized to administer any certificate that applies to one of their + * authorized domains. + */ + interface Schema$AuthorizedCertificate { + /** + * The SSL certificate serving the AuthorizedCertificate resource. This must + * be obtained independently from a certificate authority. + */ + certificateRawData?: Schema$CertificateRawData; + /** + * The user-specified display name of the certificate. This is not + * guaranteed to be unique. Example: My Certificate. + */ + displayName?: string; + /** + * Aggregate count of the domain mappings with this certificate mapped. This + * count includes domain mappings on applications for which the user does + * not have VIEWER permissions.Only returned by GET or LIST requests when + * specifically requested by the view=FULL_CERTIFICATE option.@OutputOnly + */ + domainMappingsCount?: number; + /** + * Topmost applicable domains of this certificate. This certificate applies + * to these domains and their subdomains. Example: example.com.@OutputOnly + */ + domainNames?: string[]; + /** + * The time when this certificate expires. To update the renewal time on + * this certificate, upload an SSL certificate with a different expiration + * time using AuthorizedCertificates.UpdateAuthorizedCertificate.@OutputOnly + */ + expireTime?: string; + /** + * Relative name of the certificate. This is a unique value autogenerated on + * AuthorizedCertificate resource creation. Example: 12345.@OutputOnly + */ + id?: string; + /** + * Only applicable if this certificate is managed by App Engine. Managed + * certificates are tied to the lifecycle of a DomainMapping and cannot be + * updated or deleted via the AuthorizedCertificates API. If this + * certificate is manually administered by the user, this field will be + * empty.@OutputOnly + */ + managedCertificate?: Schema$ManagedCertificate; + /** + * Full path to the AuthorizedCertificate resource in the API. Example: + * apps/myapp/authorizedCertificates/12345.@OutputOnly + */ + name?: string; + /** + * The full paths to user visible Domain Mapping resources that have this + * certificate mapped. Example: apps/myapp/domainMappings/example.com.This + * may not represent the full list of mapped domain mappings if the user + * does not have VIEWER permissions on all of the applications that have + * this certificate mapped. See domain_mappings_count for a complete + * count.Only returned by GET or LIST requests when specifically requested + * by the view=FULL_CERTIFICATE option.@OutputOnly + */ + visibleDomainMappings?: string[]; + } + /** + * A domain that a user has been authorized to administer. To authorize use of + * a domain, verify ownership via Webmaster Central + * (https://www.google.com/webmasters/verification/home). + */ + interface Schema$AuthorizedDomain { + /** + * Fully qualified domain name of the domain authorized for use. Example: + * example.com. + */ + id?: string; + /** + * Full path to the AuthorizedDomain resource in the API. Example: + * apps/myapp/authorizedDomains/example.com.@OutputOnly + */ + name?: string; + } + /** + * An SSL certificate obtained from a certificate authority. + */ + interface Schema$CertificateRawData { + /** + * Unencrypted PEM encoded RSA private key. This field is set once on + * certificate creation and then encrypted. The key size must be 2048 bits + * or fewer. Must include the header and footer. Example: <pre> + * -----BEGIN RSA PRIVATE KEY----- <unencrypted_key_value> -----END + * RSA PRIVATE KEY----- </pre> @InputOnly + */ + privateKey?: string; + /** + * PEM encoded x.509 public key certificate. This field is set once on + * certificate creation. Must include the header and footer. Example: + * <pre> -----BEGIN CERTIFICATE----- <certificate_value> + * -----END CERTIFICATE----- </pre> + */ + publicCertificate?: string; + } + /** + * Metadata for the given google.longrunning.Operation during a + * google.appengine.v1.CreateVersionRequest. + */ + interface Schema$CreateVersionMetadataV1 { + /** + * The Cloud Build ID if one was created as part of the version create. + * @OutputOnly + */ + cloudBuildId?: string; + } + /** + * Metadata for the given google.longrunning.Operation during a + * google.appengine.v1alpha.CreateVersionRequest. + */ + interface Schema$CreateVersionMetadataV1Alpha { + /** + * The Cloud Build ID if one was created as part of the version create. + * @OutputOnly + */ + cloudBuildId?: string; + } + /** + * Metadata for the given google.longrunning.Operation during a + * google.appengine.v1beta.CreateVersionRequest. + */ + interface Schema$CreateVersionMetadataV1Beta { + /** + * The Cloud Build ID if one was created as part of the version create. + * @OutputOnly + */ + cloudBuildId?: string; + } + /** + * A domain serving an App Engine application. + */ + interface Schema$DomainMapping { + /** + * Relative name of the domain serving the application. Example: + * example.com. + */ + id?: string; + /** + * Full path to the DomainMapping resource in the API. Example: + * apps/myapp/domainMapping/example.com.@OutputOnly + */ + name?: string; + /** + * The resource records required to configure this domain mapping. These + * records must be added to the domain's DNS configuration in order to + * serve the application via this domain mapping.@OutputOnly + */ + resourceRecords?: Schema$ResourceRecord[]; + /** + * SSL configuration for this domain. If unconfigured, this domain will not + * serve with SSL. + */ + sslSettings?: Schema$SslSettings; + } + /** + * 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); } The JSON + * representation for Empty is empty JSON object {}. + */ + interface Schema$Empty { + } + /** + * Response message for AuthorizedCertificates.ListAuthorizedCertificates. + */ + interface Schema$ListAuthorizedCertificatesResponse { + /** + * The SSL certificates the user is authorized to administer. + */ + certificates?: Schema$AuthorizedCertificate[]; + /** + * Continuation token for fetching the next page of results. + */ + nextPageToken?: string; + } + /** + * Response message for AuthorizedDomains.ListAuthorizedDomains. + */ + interface Schema$ListAuthorizedDomainsResponse { + /** + * The authorized domains belonging to the user. + */ + domains?: Schema$AuthorizedDomain[]; + /** + * Continuation token for fetching the next page of results. + */ + nextPageToken?: string; + } + /** + * Response message for DomainMappings.ListDomainMappings. + */ + interface Schema$ListDomainMappingsResponse { + /** + * The domain mappings for the application. + */ + domainMappings?: Schema$DomainMapping[]; + /** + * Continuation token for fetching the next page of results. + */ + nextPageToken?: string; + } + /** + * The response message for Locations.ListLocations. + */ + interface Schema$ListLocationsResponse { + /** + * A list of locations that matches the specified filter in the request. + */ + locations?: Schema$Location[]; + /** + * The standard List next-page token. + */ + nextPageToken?: string; + } + /** + * The response message for Operations.ListOperations. + */ + interface Schema$ListOperationsResponse { + /** + * The standard List next-page token. + */ + nextPageToken?: string; + /** + * A list of operations that matches the specified filter in the request. + */ + operations?: Schema$Operation[]; + } + /** + * A resource that represents Google Cloud Platform location. + */ + interface Schema$Location { + /** + * The friendly name for this location, typically a nearby city name. For + * example, "Tokyo". + */ + displayName?: string; + /** + * Cross-service attributes for the location. For example + * {"cloud.googleapis.com/region": "us-east1"} + */ + labels?: any; + /** + * The canonical id for this location. For example: "us-east1". + */ + locationId?: string; + /** + * Service-specific metadata. For example the available capacity at the + * given location. + */ + metadata?: any; + /** + * Resource name for the location, which may vary between implementations. + * For example: "projects/example-project/locations/us-east1" + */ + name?: string; + } + /** + * Metadata for the given google.cloud.location.Location. + */ + interface Schema$LocationMetadata { + /** + * App Engine flexible environment is available in the given + * location.@OutputOnly + */ + flexibleEnvironmentAvailable?: boolean; + /** + * App Engine standard environment is available in the given + * location.@OutputOnly + */ + standardEnvironmentAvailable?: boolean; + } + /** + * A certificate managed by App Engine. + */ + interface Schema$ManagedCertificate { + /** + * Time at which the certificate was last renewed. The renewal process is + * fully managed. Certificate renewal will automatically occur before the + * certificate expires. Renewal errors can be tracked via + * ManagementStatus.@OutputOnly + */ + lastRenewalTime?: string; + /** + * Status of certificate management. Refers to the most recent certificate + * acquisition or renewal attempt.@OutputOnly + */ + status?: string; + } + /** + * This resource represents a long-running operation that is the result of a + * network API call. + */ + interface Schema$Operation { + /** + * If the value is false, it means the operation is still in progress. If + * true, the operation is completed, and either error or response is + * available. + */ + done?: boolean; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * Service-specific metadata associated with the operation. It typically + * contains progress information and common metadata such as create time. + * Some services might not provide such metadata. Any method that returns a + * long-running operation should document the metadata type, if any. + */ + metadata?: any; + /** + * The server-assigned name, which is only unique within the same service + * that originally returns it. If you use the default HTTP mapping, the name + * should have the format of operations/some/unique/name. + */ + name?: string; + /** + * The normal response of the operation in case of success. If the original + * method returns no data on success, such as Delete, the response is + * google.protobuf.Empty. If the original method is standard + * Get/Create/Update, the response should be the resource. For other + * methods, the response should have the type XxxResponse, where Xxx is the + * original method name. For example, if the original method name is + * TakeSnapshot(), the inferred response type is TakeSnapshotResponse. + */ + response?: any; + } + /** + * Metadata for the given google.longrunning.Operation. + */ + interface Schema$OperationMetadata { + /** + * Timestamp that this operation completed.@OutputOnly + */ + endTime?: string; + /** + * Timestamp that this operation was created.@OutputOnly + */ + insertTime?: string; + /** + * API method that initiated this operation. Example: + * google.appengine.v1beta4.Version.CreateVersion.@OutputOnly + */ + method?: string; + /** + * Type of this operation. Deprecated, use method field instead. Example: + * "create_version".@OutputOnly + */ + operationType?: string; + /** + * Name of the resource that this operation is acting on. Example: + * apps/myapp/modules/default.@OutputOnly + */ + target?: string; + /** + * User who requested this operation.@OutputOnly + */ + user?: string; + } + /** + * Metadata for the given google.longrunning.Operation. + */ + interface Schema$OperationMetadataV1 { + createVersionMetadata?: Schema$CreateVersionMetadataV1; + /** + * Time that this operation completed.@OutputOnly + */ + endTime?: string; + /** + * Ephemeral message that may change every time the operation is polled. + * @OutputOnly + */ + ephemeralMessage?: string; + /** + * Time that this operation was created.@OutputOnly + */ + insertTime?: string; + /** + * API method that initiated this operation. Example: + * google.appengine.v1.Versions.CreateVersion.@OutputOnly + */ + method?: string; + /** + * Name of the resource that this operation is acting on. Example: + * apps/myapp/services/default.@OutputOnly + */ + target?: string; + /** + * User who requested this operation.@OutputOnly + */ + user?: string; + /** + * Durable messages that persist on every operation poll. @OutputOnly + */ + warning?: string[]; + } + /** + * Metadata for the given google.longrunning.Operation. + */ + interface Schema$OperationMetadataV1Alpha { + createVersionMetadata?: Schema$CreateVersionMetadataV1Alpha; + /** + * Time that this operation completed.@OutputOnly + */ + endTime?: string; + /** + * Ephemeral message that may change every time the operation is polled. + * @OutputOnly + */ + ephemeralMessage?: string; + /** + * Time that this operation was created.@OutputOnly + */ + insertTime?: string; + /** + * API method that initiated this operation. Example: + * google.appengine.v1alpha.Versions.CreateVersion.@OutputOnly + */ + method?: string; + /** + * Name of the resource that this operation is acting on. Example: + * apps/myapp/services/default.@OutputOnly + */ + target?: string; + /** + * User who requested this operation.@OutputOnly + */ + user?: string; + /** + * Durable messages that persist on every operation poll. @OutputOnly + */ + warning?: string[]; + } + /** + * Metadata for the given google.longrunning.Operation. + */ + interface Schema$OperationMetadataV1Beta { + createVersionMetadata?: Schema$CreateVersionMetadataV1Beta; + /** + * Time that this operation completed.@OutputOnly + */ + endTime?: string; + /** + * Ephemeral message that may change every time the operation is polled. + * @OutputOnly + */ + ephemeralMessage?: string; + /** + * Time that this operation was created.@OutputOnly + */ + insertTime?: string; + /** + * API method that initiated this operation. Example: + * google.appengine.v1beta.Versions.CreateVersion.@OutputOnly + */ + method?: string; + /** + * Name of the resource that this operation is acting on. Example: + * apps/myapp/services/default.@OutputOnly + */ + target?: string; + /** + * User who requested this operation.@OutputOnly + */ + user?: string; + /** + * Durable messages that persist on every operation poll. @OutputOnly + */ + warning?: string[]; + } + /** + * Metadata for the given google.longrunning.Operation. + */ + interface Schema$OperationMetadataV1Beta5 { + /** + * Timestamp that this operation completed.@OutputOnly + */ + endTime?: string; + /** + * Timestamp that this operation was created.@OutputOnly + */ + insertTime?: string; + /** + * API method name that initiated this operation. Example: + * google.appengine.v1beta5.Version.CreateVersion.@OutputOnly + */ + method?: string; + /** + * Name of the resource that this operation is acting on. Example: + * apps/myapp/services/default.@OutputOnly + */ + target?: string; + /** + * User who requested this operation.@OutputOnly + */ + user?: string; + } + /** + * A DNS resource record. + */ + interface Schema$ResourceRecord { + /** + * Relative name of the object affected by this record. Only applicable for + * CNAME records. Example: 'www'. + */ + name?: string; + /** + * Data for this record. Values vary by record type, as defined in RFC 1035 + * (section 5) and RFC 1034 (section 3.6.1). + */ + rrdata?: string; + /** + * Resource record type. Example: AAAA. + */ + type?: string; + } + /** + * SSL configuration for a DomainMapping resource. + */ + interface Schema$SslSettings { + /** + * ID of the AuthorizedCertificate resource configuring SSL for the + * application. Clearing this field will remove SSL support.By default, a + * managed certificate is automatically created for every domain mapping. To + * omit SSL support or to configure SSL manually, specify + * no_managed_certificate on a CREATE or UPDATE request. You must be + * authorized to administer the AuthorizedCertificate resource to manually + * map it to a DomainMapping resource. Example: 12345. + */ + certificateId?: string; + /** + * Whether the mapped certificate is an App Engine managed certificate. + * Managed certificates are created by default with a domain mapping. To opt + * out, specify no_managed_certificate on a CREATE or UPDATE + * request.@OutputOnly + */ + isManagedCertificate?: boolean; + } + /** + * 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). The error model is designed to be: + * Simple to use and understand for most users Flexible enough to meet + * unexpected needsOverviewThe Status message contains three pieces of data: + * error code, error message, and error details. The error code should be an + * enum value of google.rpc.Code, but it may accept additional error codes if + * needed. The error message should be a developer-facing English message that + * helps developers understand and resolve the error. If a localized + * user-facing error message is needed, put the localized message in the error + * details or localize it in the client. The optional error details may + * contain arbitrary information about the error. There is a predefined set of + * error detail types in the package google.rpc that can be used for common + * error conditions.Language mappingThe Status message is the logical + * representation of the error model, but it is not necessarily the actual + * wire format. When the Status message is exposed in different client + * libraries and different wire protocols, it can be mapped differently. For + * example, it will likely be mapped to some exceptions in Java, but more + * likely mapped to some error codes in C.Other usesThe error model and the + * Status message can be used in a variety of environments, either with or + * without APIs, to provide a consistent developer experience across different + * environments.Example uses of this error model include: Partial errors. If a + * service needs to return partial errors to the client, it may embed the + * Status in the normal response to indicate the partial errors. Workflow + * errors. A typical workflow has multiple steps. Each step may have a Status + * message for error reporting. Batch operations. If a client uses batch + * request and batch response, the Status message should be used directly + * inside batch response, one for each error sub-response. Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the Status message. Logging. If some API errors are stored in logs, + * the message Status could be used directly after any stripping needed for + * security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set of + * message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + class Resource$Apps { + root: Appengine; + authorizedCertificates: Resource$Apps$Authorizedcertificates; + authorizedDomains: Resource$Apps$Authorizeddomains; + domainMappings: Resource$Apps$Domainmappings; + locations: Resource$Apps$Locations; + operations: Resource$Apps$Operations; + constructor(root: Appengine); + getRoot(): Appengine; + } + class Resource$Apps$Authorizedcertificates { + root: Appengine; + constructor(root: Appengine); + getRoot(): Appengine; + /** + * appengine.apps.authorizedCertificates.create + * @desc Uploads the specified SSL certificate. + * @alias appengine.apps.authorizedCertificates.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * @param {().AuthorizedCertificate} 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 + */ + create(params?: Params$Resource$Apps$Authorizedcertificates$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Apps$Authorizedcertificates$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Apps$Authorizedcertificates$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * appengine.apps.authorizedCertificates.delete + * @desc Deletes the specified SSL certificate. + * @alias appengine.apps.authorizedCertificates.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource to delete. Example: apps/myapp/authorizedCertificates/12345. + * @param {string} params.authorizedCertificatesId Part of `name`. See documentation of `appsId`. + * @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?: Params$Resource$Apps$Authorizedcertificates$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Apps$Authorizedcertificates$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Apps$Authorizedcertificates$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * appengine.apps.authorizedCertificates.get + * @desc Gets the specified SSL certificate. + * @alias appengine.apps.authorizedCertificates.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource requested. Example: apps/myapp/authorizedCertificates/12345. + * @param {string} params.authorizedCertificatesId Part of `name`. See documentation of `appsId`. + * @param {string=} params.view Controls the set of fields returned in the GET response. + * @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?: Params$Resource$Apps$Authorizedcertificates$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Apps$Authorizedcertificates$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Apps$Authorizedcertificates$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * appengine.apps.authorizedCertificates.list + * @desc Lists all SSL certificates the user is authorized to administer. + * @alias appengine.apps.authorizedCertificates.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * @param {integer=} params.pageSize Maximum results to return per page. + * @param {string=} params.pageToken Continuation token for fetching the next page of results. + * @param {string=} params.view Controls the set of fields returned in the LIST response. + * @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?: Params$Resource$Apps$Authorizedcertificates$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Apps$Authorizedcertificates$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Apps$Authorizedcertificates$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * appengine.apps.authorizedCertificates.patch + * @desc Updates the specified SSL certificate. To renew a certificate and + * maintain its existing domain mappings, update certificate_data with a new + * certificate. The new certificate must be applicable to the same domains + * as the original certificate. The certificate display_name may also be + * updated. + * @alias appengine.apps.authorizedCertificates.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource to update. Example: apps/myapp/authorizedCertificates/12345. + * @param {string} params.authorizedCertificatesId Part of `name`. See documentation of `appsId`. + * @param {string=} params.updateMask Standard field mask for the set of fields to be updated. Updates are only supported on the certificate_raw_data and display_name fields. + * @param {().AuthorizedCertificate} 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 + */ + patch(params?: Params$Resource$Apps$Authorizedcertificates$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Apps$Authorizedcertificates$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Apps$Authorizedcertificates$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Apps$Authorizedcertificates$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `parent`. Name of the parent Application resource. Example: + * apps/myapp. + */ + appsId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AuthorizedCertificate; + } + interface Params$Resource$Apps$Authorizedcertificates$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource to delete. Example: + * apps/myapp/authorizedCertificates/12345. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + authorizedCertificatesId?: string; + } + interface Params$Resource$Apps$Authorizedcertificates$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource requested. Example: + * apps/myapp/authorizedCertificates/12345. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + authorizedCertificatesId?: string; + /** + * Controls the set of fields returned in the GET response. + */ + view?: string; + } + interface Params$Resource$Apps$Authorizedcertificates$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `parent`. Name of the parent Application resource. Example: + * apps/myapp. + */ + appsId?: string; + /** + * Maximum results to return per page. + */ + pageSize?: number; + /** + * Continuation token for fetching the next page of results. + */ + pageToken?: string; + /** + * Controls the set of fields returned in the LIST response. + */ + view?: string; + } + interface Params$Resource$Apps$Authorizedcertificates$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource to update. Example: + * apps/myapp/authorizedCertificates/12345. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + authorizedCertificatesId?: string; + /** + * Standard field mask for the set of fields to be updated. Updates are only + * supported on the certificate_raw_data and display_name fields. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AuthorizedCertificate; + } + class Resource$Apps$Authorizeddomains { + root: Appengine; + constructor(root: Appengine); + getRoot(): Appengine; + /** + * appengine.apps.authorizedDomains.list + * @desc Lists all domains the user is authorized to administer. + * @alias appengine.apps.authorizedDomains.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * @param {integer=} params.pageSize Maximum results to return per page. + * @param {string=} params.pageToken Continuation token for fetching the next page of results. + * @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?: Params$Resource$Apps$Authorizeddomains$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Apps$Authorizeddomains$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Apps$Authorizeddomains$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Apps$Authorizeddomains$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `parent`. Name of the parent Application resource. Example: + * apps/myapp. + */ + appsId?: string; + /** + * Maximum results to return per page. + */ + pageSize?: number; + /** + * Continuation token for fetching the next page of results. + */ + pageToken?: string; + } + class Resource$Apps$Domainmappings { + root: Appengine; + constructor(root: Appengine); + getRoot(): Appengine; + /** + * appengine.apps.domainMappings.create + * @desc Maps a domain to an application. A user must be authorized to + * administer a domain in order to map it to an application. For a list of + * available authorized domains, see + * AuthorizedDomains.ListAuthorizedDomains. + * @alias appengine.apps.domainMappings.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * @param {boolean=} params.noManagedCertificate Whether a managed certificate should be provided by App Engine. If true, a certificate ID must be manaually set in the DomainMapping resource to configure SSL for this domain. If false, a managed certificate will be provisioned and a certificate ID will be automatically populated. + * @param {string=} params.overrideStrategy Whether the domain creation should override any existing mappings for this domain. By default, overrides are rejected. + * @param {().DomainMapping} 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 + */ + create(params?: Params$Resource$Apps$Domainmappings$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Apps$Domainmappings$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Apps$Domainmappings$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * appengine.apps.domainMappings.delete + * @desc Deletes the specified domain mapping. A user must be authorized to + * administer the associated domain in order to delete a DomainMapping + * resource. + * @alias appengine.apps.domainMappings.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource to delete. Example: apps/myapp/domainMappings/example.com. + * @param {string} params.domainMappingsId Part of `name`. See documentation of `appsId`. + * @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?: Params$Resource$Apps$Domainmappings$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Apps$Domainmappings$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Apps$Domainmappings$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * appengine.apps.domainMappings.get + * @desc Gets the specified domain mapping. + * @alias appengine.apps.domainMappings.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource requested. Example: apps/myapp/domainMappings/example.com. + * @param {string} params.domainMappingsId Part of `name`. See documentation of `appsId`. + * @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?: Params$Resource$Apps$Domainmappings$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Apps$Domainmappings$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Apps$Domainmappings$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * appengine.apps.domainMappings.list + * @desc Lists the domain mappings on an application. + * @alias appengine.apps.domainMappings.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * @param {integer=} params.pageSize Maximum results to return per page. + * @param {string=} params.pageToken Continuation token for fetching the next page of results. + * @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?: Params$Resource$Apps$Domainmappings$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Apps$Domainmappings$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Apps$Domainmappings$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * appengine.apps.domainMappings.patch + * @desc Updates the specified domain mapping. To map an SSL certificate to + * a domain mapping, update certificate_id to point to an + * AuthorizedCertificate resource. A user must be authorized to administer + * the associated domain in order to update a DomainMapping resource. + * @alias appengine.apps.domainMappings.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource to update. Example: apps/myapp/domainMappings/example.com. + * @param {string} params.domainMappingsId Part of `name`. See documentation of `appsId`. + * @param {boolean=} params.noManagedCertificate Whether a managed certificate should be provided by App Engine. If true, a certificate ID must be manually set in the DomainMapping resource to configure SSL for this domain. If false, a managed certificate will be provisioned and a certificate ID will be automatically populated. Only applicable if ssl_settings.certificate_id is specified in the update mask. + * @param {string=} params.updateMask Standard field mask for the set of fields to be updated. + * @param {().DomainMapping} 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 + */ + patch(params?: Params$Resource$Apps$Domainmappings$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Apps$Domainmappings$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Apps$Domainmappings$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Apps$Domainmappings$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `parent`. Name of the parent Application resource. Example: + * apps/myapp. + */ + appsId?: string; + /** + * Whether a managed certificate should be provided by App Engine. If true, + * a certificate ID must be manaually set in the DomainMapping resource to + * configure SSL for this domain. If false, a managed certificate will be + * provisioned and a certificate ID will be automatically populated. + */ + noManagedCertificate?: boolean; + /** + * Whether the domain creation should override any existing mappings for + * this domain. By default, overrides are rejected. + */ + overrideStrategy?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DomainMapping; + } + interface Params$Resource$Apps$Domainmappings$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource to delete. Example: + * apps/myapp/domainMappings/example.com. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + domainMappingsId?: string; + } + interface Params$Resource$Apps$Domainmappings$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource requested. Example: + * apps/myapp/domainMappings/example.com. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + domainMappingsId?: string; + } + interface Params$Resource$Apps$Domainmappings$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `parent`. Name of the parent Application resource. Example: + * apps/myapp. + */ + appsId?: string; + /** + * Maximum results to return per page. + */ + pageSize?: number; + /** + * Continuation token for fetching the next page of results. + */ + pageToken?: string; + } + interface Params$Resource$Apps$Domainmappings$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource to update. Example: + * apps/myapp/domainMappings/example.com. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + domainMappingsId?: string; + /** + * Whether a managed certificate should be provided by App Engine. If true, + * a certificate ID must be manually set in the DomainMapping resource to + * configure SSL for this domain. If false, a managed certificate will be + * provisioned and a certificate ID will be automatically populated. Only + * applicable if ssl_settings.certificate_id is specified in the update + * mask. + */ + noManagedCertificate?: boolean; + /** + * Standard field mask for the set of fields to be updated. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DomainMapping; + } + class Resource$Apps$Locations { + root: Appengine; + constructor(root: Appengine); + getRoot(): Appengine; + /** + * appengine.apps.locations.get + * @desc Gets information about a location. + * @alias appengine.apps.locations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Resource name for the location. + * @param {string} params.locationsId Part of `name`. See documentation of `appsId`. + * @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?: Params$Resource$Apps$Locations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Apps$Locations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Apps$Locations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * appengine.apps.locations.list + * @desc Lists information about the supported locations for this service. + * @alias appengine.apps.locations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. The resource that owns the locations collection, if applicable. + * @param {string=} params.filter The standard list filter. + * @param {integer=} params.pageSize The standard list page size. + * @param {string=} params.pageToken The standard list page token. + * @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?: Params$Resource$Apps$Locations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Apps$Locations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Apps$Locations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Apps$Locations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Resource name for the location. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + locationsId?: string; + } + interface Params$Resource$Apps$Locations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. The resource that owns the locations collection, if + * applicable. + */ + appsId?: string; + /** + * The standard list filter. + */ + filter?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } + class Resource$Apps$Operations { + root: Appengine; + constructor(root: Appengine); + getRoot(): Appengine; + /** + * appengine.apps.operations.get + * @desc Gets the latest state of a long-running operation. Clients can use + * this method to poll the operation result at intervals as recommended by + * the API service. + * @alias appengine.apps.operations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. The name of the operation resource. + * @param {string} params.operationsId Part of `name`. See documentation of `appsId`. + * @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?: Params$Resource$Apps$Operations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Apps$Operations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Apps$Operations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * appengine.apps.operations.list + * @desc Lists operations that match the specified filter in the request. If + * the server doesn't support this method, it returns UNIMPLEMENTED.NOTE: + * the name binding allows API services to override the binding to use + * different resource name schemes, such as users/x/operations. To override + * the binding, API services can add a binding such as + * "/v1/{name=users/x}/operations" to their service configuration. For + * backwards compatibility, the default name includes the operations + * collection id, however overriding users must ensure the name binding is + * the parent resource, without the operations collection id. + * @alias appengine.apps.operations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. The name of the operation's parent resource. + * @param {string=} params.filter The standard list filter. + * @param {integer=} params.pageSize The standard list page size. + * @param {string=} params.pageToken The standard list page token. + * @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?: Params$Resource$Apps$Operations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Apps$Operations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Apps$Operations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Apps$Operations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. The name of the operation resource. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + operationsId?: string; + } + interface Params$Resource$Apps$Operations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. The name of the operation's parent resource. + */ + appsId?: string; + /** + * The standard list filter. + */ + filter?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/appengine/v1alpha.js b/express-server/node_modules/googleapis/build/src/apis/appengine/v1alpha.js new file mode 100644 index 00000000..68245b74 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/appengine/v1alpha.js @@ -0,0 +1,593 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var appengine_v1alpha; +(function (appengine_v1alpha) { + /** + * App Engine Admin API + * + * The App Engine Admin API enables developers to provision and manage their + * App Engine applications. + * + * @example + * const {google} = require('googleapis'); + * const appengine = google.appengine('v1alpha'); + * + * @namespace appengine + * @type {Function} + * @version v1alpha + * @variation v1alpha + * @param {object=} options Options for Appengine + */ + class Appengine { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.apps = new Resource$Apps(this); + } + getRoot() { + return this.root; + } + } + appengine_v1alpha.Appengine = Appengine; + class Resource$Apps { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.authorizedCertificates = + new Resource$Apps$Authorizedcertificates(root); + this.authorizedDomains = new Resource$Apps$Authorizeddomains(root); + this.domainMappings = new Resource$Apps$Domainmappings(root); + this.locations = new Resource$Apps$Locations(root); + this.operations = new Resource$Apps$Operations(root); + } + getRoot() { + return this.root; + } + } + appengine_v1alpha.Resource$Apps = Resource$Apps; + class Resource$Apps$Authorizedcertificates { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha/apps/{appsId}/authorizedCertificates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['appsId'], + pathParams: ['appsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1alpha/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['appsId', 'authorizedCertificatesId'], + pathParams: ['appsId', 'authorizedCertificatesId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1alpha/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId', 'authorizedCertificatesId'], + pathParams: ['appsId', 'authorizedCertificatesId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha/apps/{appsId}/authorizedCertificates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId'], + pathParams: ['appsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1alpha/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['appsId', 'authorizedCertificatesId'], + pathParams: ['appsId', 'authorizedCertificatesId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + appengine_v1alpha.Resource$Apps$Authorizedcertificates = Resource$Apps$Authorizedcertificates; + class Resource$Apps$Authorizeddomains { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha/apps/{appsId}/authorizedDomains') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId'], + pathParams: ['appsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + appengine_v1alpha.Resource$Apps$Authorizeddomains = Resource$Apps$Authorizeddomains; + class Resource$Apps$Domainmappings { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha/apps/{appsId}/domainMappings') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['appsId'], + pathParams: ['appsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1alpha/apps/{appsId}/domainMappings/{domainMappingsId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['appsId', 'domainMappingsId'], + pathParams: ['appsId', 'domainMappingsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1alpha/apps/{appsId}/domainMappings/{domainMappingsId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId', 'domainMappingsId'], + pathParams: ['appsId', 'domainMappingsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha/apps/{appsId}/domainMappings') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId'], + pathParams: ['appsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1alpha/apps/{appsId}/domainMappings/{domainMappingsId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['appsId', 'domainMappingsId'], + pathParams: ['appsId', 'domainMappingsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + appengine_v1alpha.Resource$Apps$Domainmappings = Resource$Apps$Domainmappings; + class Resource$Apps$Locations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha/apps/{appsId}/locations/{locationsId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId', 'locationsId'], + pathParams: ['appsId', 'locationsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha/apps/{appsId}/locations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId'], + pathParams: ['appsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + appengine_v1alpha.Resource$Apps$Locations = Resource$Apps$Locations; + class Resource$Apps$Operations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha/apps/{appsId}/operations/{operationsId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId', 'operationsId'], + pathParams: ['appsId', 'operationsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha/apps/{appsId}/operations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId'], + pathParams: ['appsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + appengine_v1alpha.Resource$Apps$Operations = Resource$Apps$Operations; +})(appengine_v1alpha = exports.appengine_v1alpha || (exports.appengine_v1alpha = {})); +//# sourceMappingURL=v1alpha.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/appengine/v1alpha.js.map b/express-server/node_modules/googleapis/build/src/apis/appengine/v1alpha.js.map new file mode 100644 index 00000000..35057291 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/appengine/v1alpha.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1alpha.js","sourceRoot":"","sources":["../../../../src/apis/appengine/v1alpha.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/appengine/v1beta.d.ts b/express-server/node_modules/googleapis/build/src/apis/appengine/v1beta.d.ts new file mode 100644 index 00000000..2d6e605b --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/appengine/v1beta.d.ts @@ -0,0 +1,3599 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace appengine_v1beta { + interface Options extends GlobalOptions { + version: 'v1beta'; + } + /** + * App Engine Admin API + * + * The App Engine Admin API enables developers to provision and manage their + * App Engine applications. + * + * @example + * const {google} = require('googleapis'); + * const appengine = google.appengine('v1beta'); + * + * @namespace appengine + * @type {Function} + * @version v1beta + * @variation v1beta + * @param {object=} options Options for Appengine + */ + class Appengine { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + apps: Resource$Apps; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Google Cloud Endpoints + * (https://cloud.google.com/appengine/docs/python/endpoints/) configuration + * for API handlers. + */ + interface Schema$ApiConfigHandler { + /** + * Action to take when users access resources that require authentication. + * Defaults to redirect. + */ + authFailAction?: string; + /** + * Level of login required to access this resource. Defaults to optional. + */ + login?: string; + /** + * Path to the script from the application root directory. + */ + script?: string; + /** + * Security (HTTPS) enforcement for this URL. + */ + securityLevel?: string; + /** + * URL to serve the endpoint at. + */ + url?: string; + } + /** + * Uses Google Cloud Endpoints to handle requests. + */ + interface Schema$ApiEndpointHandler { + /** + * Path to the script from the application root directory. + */ + scriptPath?: string; + } + /** + * An Application resource contains the top-level configuration of an App + * Engine application. + */ + interface Schema$Application { + /** + * Google Apps authentication domain that controls which users can access + * this application.Defaults to open access for any Google Account. + */ + authDomain?: string; + /** + * Google Cloud Storage bucket that can be used for storing files associated + * with this application. This bucket is associated with the application and + * can be used by the gcloud deployment commands.@OutputOnly + */ + codeBucket?: string; + /** + * Google Cloud Storage bucket that can be used by this application to store + * content.@OutputOnly + */ + defaultBucket?: string; + /** + * Cookie expiration policy for this application. + */ + defaultCookieExpiration?: string; + /** + * Hostname used to reach this application, as resolved by App + * Engine.@OutputOnly + */ + defaultHostname?: string; + /** + * HTTP path dispatch rules for requests to the application that do not + * explicitly target a service or version. Rules are order-dependent. Up to + * 20 dispatch rules can be supported.@OutputOnly + */ + dispatchRules?: Schema$UrlDispatchRule[]; + /** + * The feature specific settings to be used in the application. + */ + featureSettings?: Schema$FeatureSettings; + /** + * The Google Container Registry domain used for storing managed build + * docker images for this application. + */ + gcrDomain?: string; + iap?: Schema$IdentityAwareProxy; + /** + * Identifier of the Application resource. This identifier is equivalent to + * the project ID of the Google Cloud Platform project where you want to + * deploy your application. Example: myapp. + */ + id?: string; + /** + * Location from which this application runs. Application instances run out + * of the data centers in the specified location, which is also where all of + * the application's end user content is stored.Defaults to + * us-central.View the list of supported locations + * (https://cloud.google.com/appengine/docs/locations). + */ + locationId?: string; + /** + * Full path to the Application resource in the API. Example: + * apps/myapp.@OutputOnly + */ + name?: string; + /** + * Serving status of this application. + */ + servingStatus?: string; + } + /** + * An SSL certificate that a user has been authorized to administer. A user is + * authorized to administer any certificate that applies to one of their + * authorized domains. + */ + interface Schema$AuthorizedCertificate { + /** + * The SSL certificate serving the AuthorizedCertificate resource. This must + * be obtained independently from a certificate authority. + */ + certificateRawData?: Schema$CertificateRawData; + /** + * The user-specified display name of the certificate. This is not + * guaranteed to be unique. Example: My Certificate. + */ + displayName?: string; + /** + * Aggregate count of the domain mappings with this certificate mapped. This + * count includes domain mappings on applications for which the user does + * not have VIEWER permissions.Only returned by GET or LIST requests when + * specifically requested by the view=FULL_CERTIFICATE option.@OutputOnly + */ + domainMappingsCount?: number; + /** + * Topmost applicable domains of this certificate. This certificate applies + * to these domains and their subdomains. Example: example.com.@OutputOnly + */ + domainNames?: string[]; + /** + * The time when this certificate expires. To update the renewal time on + * this certificate, upload an SSL certificate with a different expiration + * time using AuthorizedCertificates.UpdateAuthorizedCertificate.@OutputOnly + */ + expireTime?: string; + /** + * Relative name of the certificate. This is a unique value autogenerated on + * AuthorizedCertificate resource creation. Example: 12345.@OutputOnly + */ + id?: string; + /** + * Only applicable if this certificate is managed by App Engine. Managed + * certificates are tied to the lifecycle of a DomainMapping and cannot be + * updated or deleted via the AuthorizedCertificates API. If this + * certificate is manually administered by the user, this field will be + * empty.@OutputOnly + */ + managedCertificate?: Schema$ManagedCertificate; + /** + * Full path to the AuthorizedCertificate resource in the API. Example: + * apps/myapp/authorizedCertificates/12345.@OutputOnly + */ + name?: string; + /** + * The full paths to user visible Domain Mapping resources that have this + * certificate mapped. Example: apps/myapp/domainMappings/example.com.This + * may not represent the full list of mapped domain mappings if the user + * does not have VIEWER permissions on all of the applications that have + * this certificate mapped. See domain_mappings_count for a complete + * count.Only returned by GET or LIST requests when specifically requested + * by the view=FULL_CERTIFICATE option.@OutputOnly + */ + visibleDomainMappings?: string[]; + } + /** + * A domain that a user has been authorized to administer. To authorize use of + * a domain, verify ownership via Webmaster Central + * (https://www.google.com/webmasters/verification/home). + */ + interface Schema$AuthorizedDomain { + /** + * Fully qualified domain name of the domain authorized for use. Example: + * example.com. + */ + id?: string; + /** + * Full path to the AuthorizedDomain resource in the API. Example: + * apps/myapp/authorizedDomains/example.com.@OutputOnly + */ + name?: string; + } + /** + * Automatic scaling is based on request rate, response latencies, and other + * application metrics. + */ + interface Schema$AutomaticScaling { + /** + * The time period that the Autoscaler + * (https://cloud.google.com/compute/docs/autoscaler/) should wait before it + * starts collecting information from a new instance. This prevents the + * autoscaler from collecting information when the instance is initializing, + * during which the collected usage would not be reliable. Only applicable + * in the App Engine flexible environment. + */ + coolDownPeriod?: string; + /** + * Target scaling by CPU usage. + */ + cpuUtilization?: Schema$CpuUtilization; + /** + * Target scaling by user-provided metrics. + */ + customMetrics?: Schema$CustomMetric[]; + /** + * Target scaling by disk usage. + */ + diskUtilization?: Schema$DiskUtilization; + /** + * Number of concurrent requests an automatic scaling instance can accept + * before the scheduler spawns a new instance.Defaults to a runtime-specific + * value. + */ + maxConcurrentRequests?: number; + /** + * Maximum number of idle instances that should be maintained for this + * version. + */ + maxIdleInstances?: number; + /** + * Maximum amount of time that a request should wait in the pending queue + * before starting a new instance to handle it. + */ + maxPendingLatency?: string; + /** + * Maximum number of instances that should be started to handle requests for + * this version. + */ + maxTotalInstances?: number; + /** + * Minimum number of idle instances that should be maintained for this + * version. Only applicable for the default version of a service. + */ + minIdleInstances?: number; + /** + * Minimum amount of time a request should wait in the pending queue before + * starting a new instance to handle it. + */ + minPendingLatency?: string; + /** + * Minimum number of running instances that should be maintained for this + * version. + */ + minTotalInstances?: number; + /** + * Target scaling by network usage. + */ + networkUtilization?: Schema$NetworkUtilization; + /** + * Target scaling by request utilization. + */ + requestUtilization?: Schema$RequestUtilization; + /** + * Scheduler settings for standard environment. + */ + standardSchedulerSettings?: Schema$StandardSchedulerSettings; + } + /** + * A service with basic scaling will create an instance when the application + * receives a request. The instance will be turned down when the app becomes + * idle. Basic scaling is ideal for work that is intermittent or driven by + * user activity. + */ + interface Schema$BasicScaling { + /** + * Duration of time after the last request that an instance must wait before + * the instance is shut down. + */ + idleTimeout?: string; + /** + * Maximum number of instances to create for this version. + */ + maxInstances?: number; + } + /** + * Request message for Firewall.BatchUpdateIngressRules. + */ + interface Schema$BatchUpdateIngressRulesRequest { + /** + * A list of FirewallRules to replace the existing set. + */ + ingressRules?: Schema$FirewallRule[]; + } + /** + * Response message for Firewall.UpdateAllIngressRules. + */ + interface Schema$BatchUpdateIngressRulesResponse { + /** + * The full list of ingress FirewallRules for this application. + */ + ingressRules?: Schema$FirewallRule[]; + } + /** + * Google Cloud Build information. + */ + interface Schema$BuildInfo { + /** + * The Google Cloud Build id. Example: + * "f966068f-08b2-42c8-bdfe-74137dff2bf9" + */ + cloudBuildId?: string; + } + /** + * An SSL certificate obtained from a certificate authority. + */ + interface Schema$CertificateRawData { + /** + * Unencrypted PEM encoded RSA private key. This field is set once on + * certificate creation and then encrypted. The key size must be 2048 bits + * or fewer. Must include the header and footer. Example: <pre> + * -----BEGIN RSA PRIVATE KEY----- <unencrypted_key_value> -----END + * RSA PRIVATE KEY----- </pre> @InputOnly + */ + privateKey?: string; + /** + * PEM encoded x.509 public key certificate. This field is set once on + * certificate creation. Must include the header and footer. Example: + * <pre> -----BEGIN CERTIFICATE----- <certificate_value> + * -----END CERTIFICATE----- </pre> + */ + publicCertificate?: string; + } + /** + * Options for the build operations performed as a part of the version + * deployment. Only applicable for App Engine flexible environment when + * creating a version using source code directly. + */ + interface Schema$CloudBuildOptions { + /** + * Path to the yaml file used in deployment, used to determine runtime + * configuration details.Required for flexible environment builds.See + * https://cloud.google.com/appengine/docs/standard/python/config/appref for + * more details. + */ + appYamlPath?: string; + /** + * The Cloud Build timeout used as part of any dependent builds performed by + * version creation. Defaults to 10 minutes. + */ + cloudBuildTimeout?: string; + } + /** + * Docker image that is used to create a container and start a VM instance for + * the version that you deploy. Only applicable for instances running in the + * App Engine flexible environment. + */ + interface Schema$ContainerInfo { + /** + * URI to the hosted container image in Google Container Registry. The URI + * must be fully qualified and include a tag or digest. Examples: + * "gcr.io/my-project/image:tag" or + * "gcr.io/my-project/image@digest" + */ + image?: string; + } + /** + * Target scaling by CPU usage. + */ + interface Schema$CpuUtilization { + /** + * Period of time over which CPU utilization is calculated. + */ + aggregationWindowLength?: string; + /** + * Target CPU utilization ratio to maintain when scaling. Must be between 0 + * and 1. + */ + targetUtilization?: number; + } + /** + * Metadata for the given google.longrunning.Operation during a + * google.appengine.v1.CreateVersionRequest. + */ + interface Schema$CreateVersionMetadataV1 { + /** + * The Cloud Build ID if one was created as part of the version create. + * @OutputOnly + */ + cloudBuildId?: string; + } + /** + * Metadata for the given google.longrunning.Operation during a + * google.appengine.v1alpha.CreateVersionRequest. + */ + interface Schema$CreateVersionMetadataV1Alpha { + /** + * The Cloud Build ID if one was created as part of the version create. + * @OutputOnly + */ + cloudBuildId?: string; + } + /** + * Metadata for the given google.longrunning.Operation during a + * google.appengine.v1beta.CreateVersionRequest. + */ + interface Schema$CreateVersionMetadataV1Beta { + /** + * The Cloud Build ID if one was created as part of the version create. + * @OutputOnly + */ + cloudBuildId?: string; + } + /** + * Allows autoscaling based on Stackdriver metrics. + */ + interface Schema$CustomMetric { + /** + * Allows filtering on the metric's fields. + */ + filter?: string; + /** + * The name of the metric. + */ + metricName?: string; + /** + * May be used instead of target_utilization when an instance can handle a + * specific amount of work/resources and the metric value is equal to the + * current amount of work remaining. The autoscaler will try to keep the + * number of instances equal to the metric value divided by + * single_instance_assignment. + */ + singleInstanceAssignment?: number; + /** + * The type of the metric. Must be a string representing a Stackdriver + * metric type e.g. GAGUE, DELTA_PER_SECOND, etc. + */ + targetType?: string; + /** + * The target value for the metric. + */ + targetUtilization?: number; + } + /** + * Request message for Instances.DebugInstance. + */ + interface Schema$DebugInstanceRequest { + /** + * Public SSH key to add to the instance. Examples: [USERNAME]:ssh-rsa + * [KEY_VALUE] [USERNAME] [USERNAME]:ssh-rsa [KEY_VALUE] google-ssh + * {"userName":"[USERNAME]","expireOn":"[EXPIRE_TIME]"}For + * more information, see Adding and Removing SSH Keys + * (https://cloud.google.com/compute/docs/instances/adding-removing-ssh-keys). + */ + sshKey?: string; + } + /** + * Code and application artifacts used to deploy a version to App Engine. + */ + interface Schema$Deployment { + /** + * Google Cloud Build build information. Only applicable for instances + * running in the App Engine flexible environment. + */ + build?: Schema$BuildInfo; + /** + * Options for any Google Cloud Build builds created as a part of this + * deployment.Note that this is orthogonal to the build parameter, where the + * deployment depends on an already existing cloud build. These options will + * only be used if a new build is created, such as when deploying to the App + * Engine flexible environment using files or zip. + */ + cloudBuildOptions?: Schema$CloudBuildOptions; + /** + * The Docker image for the container that runs the version. Only applicable + * for instances running in the App Engine flexible environment. + */ + container?: Schema$ContainerInfo; + /** + * Manifest of the files stored in Google Cloud Storage that are included as + * part of this version. All files must be readable using the credentials + * supplied with this call. + */ + files?: any; + /** + * The zip file for this deployment, if this is a zip deployment. + */ + zip?: Schema$ZipInfo; + } + /** + * Target scaling by disk usage. Only applicable in the App Engine flexible + * environment. + */ + interface Schema$DiskUtilization { + /** + * Target bytes read per second. + */ + targetReadBytesPerSecond?: number; + /** + * Target ops read per seconds. + */ + targetReadOpsPerSecond?: number; + /** + * Target bytes written per second. + */ + targetWriteBytesPerSecond?: number; + /** + * Target ops written per second. + */ + targetWriteOpsPerSecond?: number; + } + /** + * A domain serving an App Engine application. + */ + interface Schema$DomainMapping { + /** + * Relative name of the domain serving the application. Example: + * example.com. + */ + id?: string; + /** + * Full path to the DomainMapping resource in the API. Example: + * apps/myapp/domainMapping/example.com.@OutputOnly + */ + name?: string; + /** + * The resource records required to configure this domain mapping. These + * records must be added to the domain's DNS configuration in order to + * serve the application via this domain mapping.@OutputOnly + */ + resourceRecords?: Schema$ResourceRecord[]; + /** + * SSL configuration for this domain. If unconfigured, this domain will not + * serve with SSL. + */ + sslSettings?: Schema$SslSettings; + } + /** + * 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); } The JSON + * representation for Empty is empty JSON object {}. + */ + interface Schema$Empty { + } + /** + * Cloud Endpoints (https://cloud.google.com/endpoints) configuration. The + * Endpoints API Service provides tooling for serving Open API and gRPC + * endpoints via an NGINX proxy. Only valid for App Engine Flexible + * environment deployments.The fields here refer to the name and configuration + * ID of a "service" resource in the Service Management API + * (https://cloud.google.com/service-management/overview). + */ + interface Schema$EndpointsApiService { + /** + * Endpoints service configuration ID as specified by the Service Management + * API. For example "2016-09-19r1".By default, the rollout + * strategy for Endpoints is RolloutStrategy.FIXED. This means that + * Endpoints starts up with a particular configuration ID. When a new + * configuration is rolled out, Endpoints must be given the new + * configuration ID. The config_id field is used to give the configuration + * ID and is required in this case.Endpoints also has a rollout strategy + * called RolloutStrategy.MANAGED. When using this, Endpoints fetches the + * latest configuration and does not need the configuration ID. In this + * case, config_id must be omitted. + */ + configId?: string; + /** + * Enable or disable trace sampling. By default, this is set to false for + * enabled. + */ + disableTraceSampling?: boolean; + /** + * Endpoints service name which is the name of the "service" + * resource in the Service Management API. For example + * "myapi.endpoints.myproject.cloud.goog" + */ + name?: string; + /** + * Endpoints rollout strategy. If FIXED, config_id must be specified. If + * MANAGED, config_id must be omitted. + */ + rolloutStrategy?: string; + } + /** + * The entrypoint for the application. + */ + interface Schema$Entrypoint { + /** + * The format should be a shell command that can be fed to bash -c. + */ + shell?: string; + } + /** + * Custom static error page to be served when an error occurs. + */ + interface Schema$ErrorHandler { + /** + * Error condition this handler applies to. + */ + errorCode?: string; + /** + * MIME type of file. Defaults to text/html. + */ + mimeType?: string; + /** + * Static file content to be served for this error. + */ + staticFile?: string; + } + /** + * The feature specific settings to be used in the application. These define + * behaviors that are user configurable. + */ + interface Schema$FeatureSettings { + /** + * Boolean value indicating if split health checks should be used instead of + * the legacy health checks. At an app.yaml level, this means defaulting to + * 'readiness_check' and 'liveness_check' values instead of + * 'health_check' ones. Once the legacy 'health_check' + * behavior is deprecated, and this value is always true, this setting can + * be removed. + */ + splitHealthChecks?: boolean; + /** + * If true, use Container-Optimized OS + * (https://cloud.google.com/container-optimized-os/) base image for VMs, + * rather than a base Debian image. + */ + useContainerOptimizedOs?: boolean; + } + /** + * Single source file that is part of the version to be deployed. Each source + * file that is deployed must be specified separately. + */ + interface Schema$FileInfo { + /** + * The MIME type of the file.Defaults to the value from Google Cloud + * Storage. + */ + mimeType?: string; + /** + * The SHA1 hash of the file, in hex. + */ + sha1Sum?: string; + /** + * URL source to use to fetch this file. Must be a URL to a resource in + * Google Cloud Storage in the form + * 'http(s)://storage.googleapis.com/<bucket>/<object>'. + */ + sourceUrl?: string; + } + /** + * A single firewall rule that is evaluated against incoming traffic and + * provides an action to take on matched requests. + */ + interface Schema$FirewallRule { + /** + * The action to take on matched requests. + */ + action?: string; + /** + * An optional string description of this rule. This field has a maximum + * length of 100 characters. + */ + description?: string; + /** + * A positive integer between 1, Int32.MaxValue-1 that defines the order of + * rule evaluation. Rules with the lowest priority are evaluated first.A + * default rule at priority Int32.MaxValue matches all IPv4 and IPv6 traffic + * when no previous rule matches. Only the action of this rule can be + * modified by the user. + */ + priority?: number; + /** + * IP address or range, defined using CIDR notation, of requests that this + * rule applies to. You can use the wildcard character "*" to + * match all IPs equivalent to "0/0" and "::/0" + * together. Examples: 192.168.1.1 or 192.168.0.0/16 or 2001:db8::/32 or + * 2001:0db8:0000:0042:0000:8a2e:0370:7334.<p>Truncation will be + * silently performed on addresses which are not properly truncated. For + * example, 1.2.3.4/24 is accepted as the same address as 1.2.3.0/24. + * Similarly, for IPv6, 2001:db8::1/32 is accepted as the same address as + * 2001:db8::/32. + */ + sourceRange?: string; + } + /** + * Health checking configuration for VM instances. Unhealthy instances are + * killed and replaced with new instances. Only applicable for instances in + * App Engine flexible environment. + */ + interface Schema$HealthCheck { + /** + * Interval between health checks. + */ + checkInterval?: string; + /** + * Whether to explicitly disable health checks for this instance. + */ + disableHealthCheck?: boolean; + /** + * Number of consecutive successful health checks required before receiving + * traffic. + */ + healthyThreshold?: number; + /** + * Host header to send when performing an HTTP health check. Example: + * "myapp.appspot.com" + */ + host?: string; + /** + * Number of consecutive failed health checks required before an instance is + * restarted. + */ + restartThreshold?: number; + /** + * Time before the health check is considered failed. + */ + timeout?: string; + /** + * Number of consecutive failed health checks required before removing + * traffic. + */ + unhealthyThreshold?: number; + } + /** + * Identity-Aware Proxy + */ + interface Schema$IdentityAwareProxy { + /** + * Whether the serving infrastructure will authenticate and authorize all + * incoming requests.If true, the oauth2_client_id and oauth2_client_secret + * fields must be non-empty. + */ + enabled?: boolean; + /** + * OAuth2 client ID to use for the authentication flow. + */ + oauth2ClientId?: string; + /** + * InputOnly OAuth client info required to generate client id to be used for + * IAP. + */ + oauth2ClientInfo?: Schema$OAuth2ClientInfo; + /** + * OAuth2 client secret to use for the authentication flow.For security + * reasons, this value cannot be retrieved via the API. Instead, the SHA-256 + * hash of the value is returned in the oauth2_client_secret_sha256 + * field.@InputOnly + */ + oauth2ClientSecret?: string; + /** + * Hex-encoded SHA-256 hash of the client secret.@OutputOnly + */ + oauth2ClientSecretSha256?: string; + } + /** + * An Instance resource is the computing unit that App Engine uses to + * automatically scale an application. + */ + interface Schema$Instance { + /** + * App Engine release this instance is running on.@OutputOnly + */ + appEngineRelease?: string; + /** + * Availability of the instance.@OutputOnly + */ + availability?: string; + /** + * Average latency (ms) over the last minute.@OutputOnly + */ + averageLatency?: number; + /** + * Number of errors since this instance was started.@OutputOnly + */ + errors?: number; + /** + * Relative name of the instance within the version. Example: + * instance-1.@OutputOnly + */ + id?: string; + /** + * Total memory in use (bytes).@OutputOnly + */ + memoryUsage?: string; + /** + * Full path to the Instance resource in the API. Example: + * apps/myapp/services/default/versions/v1/instances/instance-1.@OutputOnly + */ + name?: string; + /** + * Average queries per second (QPS) over the last minute.@OutputOnly + */ + qps?: number; + /** + * Number of requests since this instance was started.@OutputOnly + */ + requests?: number; + /** + * Time that this instance was started.@OutputOnly + */ + startTime?: string; + /** + * Whether this instance is in debug mode. Only applicable for instances in + * App Engine flexible environment.@OutputOnly + */ + vmDebugEnabled?: boolean; + /** + * Virtual machine ID of this instance. Only applicable for instances in App + * Engine flexible environment.@OutputOnly + */ + vmId?: string; + /** + * The IP address of this instance. Only applicable for instances in App + * Engine flexible environment.@OutputOnly + */ + vmIp?: string; + /** + * Name of the virtual machine where this instance lives. Only applicable + * for instances in App Engine flexible environment.@OutputOnly + */ + vmName?: string; + /** + * Status of the virtual machine where this instance lives. Only applicable + * for instances in App Engine flexible environment.@OutputOnly + */ + vmStatus?: string; + /** + * Zone where the virtual machine is located. Only applicable for instances + * in App Engine flexible environment.@OutputOnly + */ + vmZoneName?: string; + } + /** + * Third-party Python runtime library that is required by the application. + */ + interface Schema$Library { + /** + * Name of the library. Example: "django". + */ + name?: string; + /** + * Version of the library to select, or "latest". + */ + version?: string; + } + /** + * Response message for AuthorizedCertificates.ListAuthorizedCertificates. + */ + interface Schema$ListAuthorizedCertificatesResponse { + /** + * The SSL certificates the user is authorized to administer. + */ + certificates?: Schema$AuthorizedCertificate[]; + /** + * Continuation token for fetching the next page of results. + */ + nextPageToken?: string; + } + /** + * Response message for AuthorizedDomains.ListAuthorizedDomains. + */ + interface Schema$ListAuthorizedDomainsResponse { + /** + * The authorized domains belonging to the user. + */ + domains?: Schema$AuthorizedDomain[]; + /** + * Continuation token for fetching the next page of results. + */ + nextPageToken?: string; + } + /** + * Response message for DomainMappings.ListDomainMappings. + */ + interface Schema$ListDomainMappingsResponse { + /** + * The domain mappings for the application. + */ + domainMappings?: Schema$DomainMapping[]; + /** + * Continuation token for fetching the next page of results. + */ + nextPageToken?: string; + } + /** + * Response message for Firewall.ListIngressRules. + */ + interface Schema$ListIngressRulesResponse { + /** + * The ingress FirewallRules for this application. + */ + ingressRules?: Schema$FirewallRule[]; + /** + * Continuation token for fetching the next page of results. + */ + nextPageToken?: string; + } + /** + * Response message for Instances.ListInstances. + */ + interface Schema$ListInstancesResponse { + /** + * The instances belonging to the requested version. + */ + instances?: Schema$Instance[]; + /** + * Continuation token for fetching the next page of results. + */ + nextPageToken?: string; + } + /** + * The response message for Locations.ListLocations. + */ + interface Schema$ListLocationsResponse { + /** + * A list of locations that matches the specified filter in the request. + */ + locations?: Schema$Location[]; + /** + * The standard List next-page token. + */ + nextPageToken?: string; + } + /** + * The response message for Operations.ListOperations. + */ + interface Schema$ListOperationsResponse { + /** + * The standard List next-page token. + */ + nextPageToken?: string; + /** + * A list of operations that matches the specified filter in the request. + */ + operations?: Schema$Operation[]; + } + /** + * Response message for Services.ListServices. + */ + interface Schema$ListServicesResponse { + /** + * Continuation token for fetching the next page of results. + */ + nextPageToken?: string; + /** + * The services belonging to the requested application. + */ + services?: Schema$Service[]; + } + /** + * Response message for Versions.ListVersions. + */ + interface Schema$ListVersionsResponse { + /** + * Continuation token for fetching the next page of results. + */ + nextPageToken?: string; + /** + * The versions belonging to the requested service. + */ + versions?: Schema$Version[]; + } + /** + * Health checking configuration for VM instances. Unhealthy instances are + * killed and replaced with new instances. + */ + interface Schema$LivenessCheck { + /** + * Interval between health checks. + */ + checkInterval?: string; + /** + * Number of consecutive failed checks required before considering the VM + * unhealthy. + */ + failureThreshold?: number; + /** + * Host header to send when performing a HTTP Liveness check. Example: + * "myapp.appspot.com" + */ + host?: string; + /** + * The initial delay before starting to execute the checks. + */ + initialDelay?: string; + /** + * The request path. + */ + path?: string; + /** + * Number of consecutive successful checks required before considering the + * VM healthy. + */ + successThreshold?: number; + /** + * Time before the check is considered failed. + */ + timeout?: string; + } + /** + * A resource that represents Google Cloud Platform location. + */ + interface Schema$Location { + /** + * The friendly name for this location, typically a nearby city name. For + * example, "Tokyo". + */ + displayName?: string; + /** + * Cross-service attributes for the location. For example + * {"cloud.googleapis.com/region": "us-east1"} + */ + labels?: any; + /** + * The canonical id for this location. For example: "us-east1". + */ + locationId?: string; + /** + * Service-specific metadata. For example the available capacity at the + * given location. + */ + metadata?: any; + /** + * Resource name for the location, which may vary between implementations. + * For example: "projects/example-project/locations/us-east1" + */ + name?: string; + } + /** + * Metadata for the given google.cloud.location.Location. + */ + interface Schema$LocationMetadata { + /** + * App Engine flexible environment is available in the given + * location.@OutputOnly + */ + flexibleEnvironmentAvailable?: boolean; + /** + * App Engine standard environment is available in the given + * location.@OutputOnly + */ + standardEnvironmentAvailable?: boolean; + } + /** + * A certificate managed by App Engine. + */ + interface Schema$ManagedCertificate { + /** + * Time at which the certificate was last renewed. The renewal process is + * fully managed. Certificate renewal will automatically occur before the + * certificate expires. Renewal errors can be tracked via + * ManagementStatus.@OutputOnly + */ + lastRenewalTime?: string; + /** + * Status of certificate management. Refers to the most recent certificate + * acquisition or renewal attempt.@OutputOnly + */ + status?: string; + } + /** + * A service with manual scaling runs continuously, allowing you to perform + * complex initialization and rely on the state of its memory over time. + */ + interface Schema$ManualScaling { + /** + * Number of instances to assign to the service at the start. This number + * can later be altered by using the Modules API + * (https://cloud.google.com/appengine/docs/python/modules/functions) + * set_num_instances() function. + */ + instances?: number; + } + /** + * Extra network settings. Only applicable in the App Engine flexible + * environment. + */ + interface Schema$Network { + /** + * List of ports, or port pairs, to forward from the virtual machine to the + * application container. Only applicable in the App Engine flexible + * environment. + */ + forwardedPorts?: string[]; + /** + * Tag to apply to the instance during creation. Only applicable in the App + * Engine flexible environment. + */ + instanceTag?: string; + /** + * Google Compute Engine network where the virtual machines are created. + * Specify the short name, not the resource path.Defaults to default. + */ + name?: string; + /** + * Enable session affinity. + */ + sessionAffinity?: boolean; + /** + * Google Cloud Platform sub-network where the virtual machines are created. + * Specify the short name, not the resource path.If a subnetwork name is + * specified, a network name will also be required unless it is for the + * default network. If the network that the instance is being created in is + * a Legacy network, then the IP address is allocated from the IPv4Range. If + * the network that the instance is being created in is an auto Subnet Mode + * Network, then only network name should be specified (not the + * subnetwork_name) and the IP address is created from the IPCidrRange of + * the subnetwork that exists in that zone for that network. If the network + * that the instance is being created in is a custom Subnet Mode Network, + * then the subnetwork_name must be specified and the IP address is created + * from the IPCidrRange of the subnetwork.If specified, the subnetwork must + * exist in the same region as the App Engine flexible environment + * application. + */ + subnetworkName?: string; + } + /** + * Target scaling by network usage. Only applicable in the App Engine flexible + * environment. + */ + interface Schema$NetworkUtilization { + /** + * Target bytes received per second. + */ + targetReceivedBytesPerSecond?: number; + /** + * Target packets received per second. + */ + targetReceivedPacketsPerSecond?: number; + /** + * Target bytes sent per second. + */ + targetSentBytesPerSecond?: number; + /** + * Target packets sent per second. + */ + targetSentPacketsPerSecond?: number; + } + interface Schema$OAuth2ClientInfo { + /** + * Application name to be used in OAuth consent screen. + */ + applicationName?: string; + /** + * Nameof the client to be generated. Optional - If not provided, the name + * will be autogenerated by the backend. + */ + clientName?: string; + /** + * Developer's information to be used in OAuth consent screen. + */ + developerEmailAddress?: string; + } + /** + * This resource represents a long-running operation that is the result of a + * network API call. + */ + interface Schema$Operation { + /** + * If the value is false, it means the operation is still in progress. If + * true, the operation is completed, and either error or response is + * available. + */ + done?: boolean; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * Service-specific metadata associated with the operation. It typically + * contains progress information and common metadata such as create time. + * Some services might not provide such metadata. Any method that returns a + * long-running operation should document the metadata type, if any. + */ + metadata?: any; + /** + * The server-assigned name, which is only unique within the same service + * that originally returns it. If you use the default HTTP mapping, the name + * should have the format of operations/some/unique/name. + */ + name?: string; + /** + * The normal response of the operation in case of success. If the original + * method returns no data on success, such as Delete, the response is + * google.protobuf.Empty. If the original method is standard + * Get/Create/Update, the response should be the resource. For other + * methods, the response should have the type XxxResponse, where Xxx is the + * original method name. For example, if the original method name is + * TakeSnapshot(), the inferred response type is TakeSnapshotResponse. + */ + response?: any; + } + /** + * Metadata for the given google.longrunning.Operation. + */ + interface Schema$OperationMetadata { + /** + * Timestamp that this operation completed.@OutputOnly + */ + endTime?: string; + /** + * Timestamp that this operation was created.@OutputOnly + */ + insertTime?: string; + /** + * API method that initiated this operation. Example: + * google.appengine.v1beta4.Version.CreateVersion.@OutputOnly + */ + method?: string; + /** + * Type of this operation. Deprecated, use method field instead. Example: + * "create_version".@OutputOnly + */ + operationType?: string; + /** + * Name of the resource that this operation is acting on. Example: + * apps/myapp/modules/default.@OutputOnly + */ + target?: string; + /** + * User who requested this operation.@OutputOnly + */ + user?: string; + } + /** + * Metadata for the given google.longrunning.Operation. + */ + interface Schema$OperationMetadataV1 { + createVersionMetadata?: Schema$CreateVersionMetadataV1; + /** + * Time that this operation completed.@OutputOnly + */ + endTime?: string; + /** + * Ephemeral message that may change every time the operation is polled. + * @OutputOnly + */ + ephemeralMessage?: string; + /** + * Time that this operation was created.@OutputOnly + */ + insertTime?: string; + /** + * API method that initiated this operation. Example: + * google.appengine.v1.Versions.CreateVersion.@OutputOnly + */ + method?: string; + /** + * Name of the resource that this operation is acting on. Example: + * apps/myapp/services/default.@OutputOnly + */ + target?: string; + /** + * User who requested this operation.@OutputOnly + */ + user?: string; + /** + * Durable messages that persist on every operation poll. @OutputOnly + */ + warning?: string[]; + } + /** + * Metadata for the given google.longrunning.Operation. + */ + interface Schema$OperationMetadataV1Alpha { + createVersionMetadata?: Schema$CreateVersionMetadataV1Alpha; + /** + * Time that this operation completed.@OutputOnly + */ + endTime?: string; + /** + * Ephemeral message that may change every time the operation is polled. + * @OutputOnly + */ + ephemeralMessage?: string; + /** + * Time that this operation was created.@OutputOnly + */ + insertTime?: string; + /** + * API method that initiated this operation. Example: + * google.appengine.v1alpha.Versions.CreateVersion.@OutputOnly + */ + method?: string; + /** + * Name of the resource that this operation is acting on. Example: + * apps/myapp/services/default.@OutputOnly + */ + target?: string; + /** + * User who requested this operation.@OutputOnly + */ + user?: string; + /** + * Durable messages that persist on every operation poll. @OutputOnly + */ + warning?: string[]; + } + /** + * Metadata for the given google.longrunning.Operation. + */ + interface Schema$OperationMetadataV1Beta { + createVersionMetadata?: Schema$CreateVersionMetadataV1Beta; + /** + * Time that this operation completed.@OutputOnly + */ + endTime?: string; + /** + * Ephemeral message that may change every time the operation is polled. + * @OutputOnly + */ + ephemeralMessage?: string; + /** + * Time that this operation was created.@OutputOnly + */ + insertTime?: string; + /** + * API method that initiated this operation. Example: + * google.appengine.v1beta.Versions.CreateVersion.@OutputOnly + */ + method?: string; + /** + * Name of the resource that this operation is acting on. Example: + * apps/myapp/services/default.@OutputOnly + */ + target?: string; + /** + * User who requested this operation.@OutputOnly + */ + user?: string; + /** + * Durable messages that persist on every operation poll. @OutputOnly + */ + warning?: string[]; + } + /** + * Metadata for the given google.longrunning.Operation. + */ + interface Schema$OperationMetadataV1Beta5 { + /** + * Timestamp that this operation completed.@OutputOnly + */ + endTime?: string; + /** + * Timestamp that this operation was created.@OutputOnly + */ + insertTime?: string; + /** + * API method name that initiated this operation. Example: + * google.appengine.v1beta5.Version.CreateVersion.@OutputOnly + */ + method?: string; + /** + * Name of the resource that this operation is acting on. Example: + * apps/myapp/services/default.@OutputOnly + */ + target?: string; + /** + * User who requested this operation.@OutputOnly + */ + user?: string; + } + /** + * Readiness checking configuration for VM instances. Unhealthy instances are + * removed from traffic rotation. + */ + interface Schema$ReadinessCheck { + /** + * A maximum time limit on application initialization, measured from moment + * the application successfully replies to a healthcheck until it is ready + * to serve traffic. + */ + appStartTimeout?: string; + /** + * Interval between health checks. + */ + checkInterval?: string; + /** + * Number of consecutive failed checks required before removing traffic. + */ + failureThreshold?: number; + /** + * Host header to send when performing a HTTP Readiness check. Example: + * "myapp.appspot.com" + */ + host?: string; + /** + * The request path. + */ + path?: string; + /** + * Number of consecutive successful checks required before receiving + * traffic. + */ + successThreshold?: number; + /** + * Time before the check is considered failed. + */ + timeout?: string; + } + /** + * Request message for 'Applications.RepairApplication'. + */ + interface Schema$RepairApplicationRequest { + } + /** + * Target scaling by request utilization. Only applicable in the App Engine + * flexible environment. + */ + interface Schema$RequestUtilization { + /** + * Target number of concurrent requests. + */ + targetConcurrentRequests?: number; + /** + * Target requests per second. + */ + targetRequestCountPerSecond?: number; + } + /** + * A DNS resource record. + */ + interface Schema$ResourceRecord { + /** + * Relative name of the object affected by this record. Only applicable for + * CNAME records. Example: 'www'. + */ + name?: string; + /** + * Data for this record. Values vary by record type, as defined in RFC 1035 + * (section 5) and RFC 1034 (section 3.6.1). + */ + rrdata?: string; + /** + * Resource record type. Example: AAAA. + */ + type?: string; + } + /** + * Machine resources for a version. + */ + interface Schema$Resources { + /** + * Number of CPU cores needed. + */ + cpu?: number; + /** + * Disk size (GB) needed. + */ + diskGb?: number; + /** + * Memory (GB) needed. + */ + memoryGb?: number; + /** + * User specified volumes. + */ + volumes?: Schema$Volume[]; + } + /** + * Executes a script to handle the request that matches the URL pattern. + */ + interface Schema$ScriptHandler { + /** + * Path to the script from the application root directory. + */ + scriptPath?: string; + } + /** + * A Service resource is a logical component of an application that can share + * state and communicate in a secure fashion with other services. For example, + * an application that handles customer requests might include separate + * services to handle tasks such as backend data analysis or API requests from + * mobile devices. Each service has a collection of versions that define a + * specific set of code used to implement the functionality of that service. + */ + interface Schema$Service { + /** + * Relative name of the service within the application. Example: + * default.@OutputOnly + */ + id?: string; + /** + * Full path to the Service resource in the API. Example: + * apps/myapp/services/default.@OutputOnly + */ + name?: string; + /** + * Mapping that defines fractional HTTP traffic diversion to different + * versions within the service. + */ + split?: Schema$TrafficSplit; + } + /** + * SSL configuration for a DomainMapping resource. + */ + interface Schema$SslSettings { + /** + * ID of the AuthorizedCertificate resource configuring SSL for the + * application. Clearing this field will remove SSL support.By default, a + * managed certificate is automatically created for every domain mapping. To + * omit SSL support or to configure SSL manually, specify + * SslManagementType.MANUAL on a CREATE or UPDATE request. You must be + * authorized to administer the AuthorizedCertificate resource to manually + * map it to a DomainMapping resource. Example: 12345. + */ + certificateId?: string; + /** + * ID of the managed AuthorizedCertificate resource currently being + * provisioned, if applicable. Until the new managed certificate has been + * successfully provisioned, the previous SSL state will be preserved. Once + * the provisioning process completes, the certificate_id field will reflect + * the new managed certificate and this field will be left empty. To remove + * SSL support while there is still a pending managed certificate, clear the + * certificate_id field with an UpdateDomainMappingRequest.@OutputOnly + */ + pendingManagedCertificateId?: string; + /** + * SSL management type for this domain. If AUTOMATIC, a managed certificate + * is automatically provisioned. If MANUAL, certificate_id must be manually + * specified in order to configure SSL for this domain. + */ + sslManagementType?: string; + } + /** + * Scheduler settings for standard environment. + */ + interface Schema$StandardSchedulerSettings { + /** + * Maximum number of instances to run for this version. Set to zero to + * disable max_instances configuration. + */ + maxInstances?: number; + /** + * Minimum number of instances to run for this version. Set to zero to + * disable min_instances configuration. + */ + minInstances?: number; + /** + * Target CPU utilization ratio to maintain when scaling. + */ + targetCpuUtilization?: number; + /** + * Target throughput utilization ratio to maintain when scaling + */ + targetThroughputUtilization?: number; + } + /** + * Files served directly to the user for a given URL, such as images, CSS + * stylesheets, or JavaScript source files. Static file handlers describe + * which files in the application directory are static files, and which URLs + * serve them. + */ + interface Schema$StaticFilesHandler { + /** + * Whether files should also be uploaded as code data. By default, files + * declared in static file handlers are uploaded as static data and are only + * served to end users; they cannot be read by the application. If enabled, + * uploads are charged against both your code and static data storage + * resource quotas. + */ + applicationReadable?: boolean; + /** + * Time a static file served by this handler should be cached by web proxies + * and browsers. + */ + expiration?: string; + /** + * HTTP headers to use for all responses from these URLs. + */ + httpHeaders?: any; + /** + * MIME type used to serve all files served by this handler.Defaults to + * file-specific MIME types, which are derived from each file's filename + * extension. + */ + mimeType?: string; + /** + * Path to the static files matched by the URL pattern, from the application + * root directory. The path can refer to text matched in groupings in the + * URL pattern. + */ + path?: string; + /** + * Whether this handler should match the request if the file referenced by + * the handler does not exist. + */ + requireMatchingFile?: boolean; + /** + * Regular expression that matches the file paths for all files that should + * be referenced by this handler. + */ + uploadPathRegex?: string; + } + /** + * 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). The error model is designed to be: + * Simple to use and understand for most users Flexible enough to meet + * unexpected needsOverviewThe Status message contains three pieces of data: + * error code, error message, and error details. The error code should be an + * enum value of google.rpc.Code, but it may accept additional error codes if + * needed. The error message should be a developer-facing English message that + * helps developers understand and resolve the error. If a localized + * user-facing error message is needed, put the localized message in the error + * details or localize it in the client. The optional error details may + * contain arbitrary information about the error. There is a predefined set of + * error detail types in the package google.rpc that can be used for common + * error conditions.Language mappingThe Status message is the logical + * representation of the error model, but it is not necessarily the actual + * wire format. When the Status message is exposed in different client + * libraries and different wire protocols, it can be mapped differently. For + * example, it will likely be mapped to some exceptions in Java, but more + * likely mapped to some error codes in C.Other usesThe error model and the + * Status message can be used in a variety of environments, either with or + * without APIs, to provide a consistent developer experience across different + * environments.Example uses of this error model include: Partial errors. If a + * service needs to return partial errors to the client, it may embed the + * Status in the normal response to indicate the partial errors. Workflow + * errors. A typical workflow has multiple steps. Each step may have a Status + * message for error reporting. Batch operations. If a client uses batch + * request and batch response, the Status message should be used directly + * inside batch response, one for each error sub-response. Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the Status message. Logging. If some API errors are stored in logs, + * the message Status could be used directly after any stripping needed for + * security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set of + * message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + /** + * Traffic routing configuration for versions within a single service. Traffic + * splits define how traffic directed to the service is assigned to versions. + */ + interface Schema$TrafficSplit { + /** + * Mapping from version IDs within the service to fractional (0.000, 1] + * allocations of traffic for that version. Each version can be specified + * only once, but some versions in the service may not have any traffic + * allocation. Services that have traffic allocated cannot be deleted until + * either the service is deleted or their traffic allocation is removed. + * Allocations must sum to 1. Up to two decimal place precision is supported + * for IP-based splits and up to three decimal places is supported for + * cookie-based splits. + */ + allocations?: any; + /** + * Mechanism used to determine which version a request is sent to. The + * traffic selection algorithm will be stable for either type until + * allocations are changed. + */ + shardBy?: string; + } + /** + * Rules to match an HTTP request and dispatch that request to a service. + */ + interface Schema$UrlDispatchRule { + /** + * Domain name to match against. The wildcard "*" is supported if + * specified before a period: "*.".Defaults to matching all + * domains: "*". + */ + domain?: string; + /** + * Pathname within the host. Must start with a "/". A single + * "*" can be included at the end of the path.The sum of the + * lengths of the domain and path may not exceed 100 characters. + */ + path?: string; + /** + * Resource ID of a service in this application that should serve the + * matched request. The service must already exist. Example: default. + */ + service?: string; + } + /** + * URL pattern and description of how the URL should be handled. App Engine + * can handle URLs by executing application code or by serving static files + * uploaded with the version, such as images, CSS, or JavaScript. + */ + interface Schema$UrlMap { + /** + * Uses API Endpoints to handle requests. + */ + apiEndpoint?: Schema$ApiEndpointHandler; + /** + * Action to take when users access resources that require authentication. + * Defaults to redirect. + */ + authFailAction?: string; + /** + * Level of login required to access this resource. Not supported for + * Node.js in the App Engine standard environment. + */ + login?: string; + /** + * 30x code to use when performing redirects for the secure field. Defaults + * to 302. + */ + redirectHttpResponseCode?: string; + /** + * Executes a script to handle the requests that match this URL pattern. + * Only the auto value is supported for Node.js in the App Engine standard + * environment, for example "script": "auto". + */ + script?: Schema$ScriptHandler; + /** + * Security (HTTPS) enforcement for this URL. + */ + securityLevel?: string; + /** + * Returns the contents of a file, such as an image, as the response. + */ + staticFiles?: Schema$StaticFilesHandler; + /** + * URL prefix. Uses regular expression syntax, which means regexp special + * characters must be escaped, but should not contain groupings. All URLs + * that begin with this prefix are handled by this handler, using the + * portion of the URL after the prefix as part of the file path. + */ + urlRegex?: string; + } + /** + * A Version resource is a specific set of source code and configuration files + * that are deployed into a service. + */ + interface Schema$Version { + /** + * Serving configuration for Google Cloud Endpoints + * (https://cloud.google.com/appengine/docs/python/endpoints/).Only returned + * in GET requests if view=FULL is set. + */ + apiConfig?: Schema$ApiConfigHandler; + /** + * Automatic scaling is based on request rate, response latencies, and other + * application metrics. + */ + automaticScaling?: Schema$AutomaticScaling; + /** + * A service with basic scaling will create an instance when the application + * receives a request. The instance will be turned down when the app becomes + * idle. Basic scaling is ideal for work that is intermittent or driven by + * user activity. + */ + basicScaling?: Schema$BasicScaling; + /** + * Metadata settings that are supplied to this version to enable beta + * runtime features. + */ + betaSettings?: any; + /** + * Email address of the user who created this version.@OutputOnly + */ + createdBy?: string; + /** + * Time that this version was created.@OutputOnly + */ + createTime?: string; + /** + * Duration that static files should be cached by web proxies and browsers. + * Only applicable if the corresponding StaticFilesHandler + * (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#StaticFilesHandler) + * does not specify its own expiration time.Only returned in GET requests if + * view=FULL is set. + */ + defaultExpiration?: string; + /** + * Code and application artifacts that make up this version.Only returned in + * GET requests if view=FULL is set. + */ + deployment?: Schema$Deployment; + /** + * Total size in bytes of all the files that are included in this version + * and currently hosted on the App Engine disk.@OutputOnly + */ + diskUsageBytes?: string; + /** + * Cloud Endpoints configuration.If endpoints_api_service is set, the Cloud + * Endpoints Extensible Service Proxy will be provided to serve the API + * implemented by the app. + */ + endpointsApiService?: Schema$EndpointsApiService; + /** + * The entrypoint for the application. + */ + entrypoint?: Schema$Entrypoint; + /** + * App Engine execution environment for this version.Defaults to standard. + */ + env?: string; + /** + * Environment variables available to the application.Only returned in GET + * requests if view=FULL is set. + */ + envVariables?: any; + /** + * Custom static error pages. Limited to 10KB per page.Only returned in GET + * requests if view=FULL is set. + */ + errorHandlers?: Schema$ErrorHandler[]; + /** + * An ordered list of URL-matching patterns that should be applied to + * incoming requests. The first matching URL handles the request and other + * request handlers are not attempted.Only returned in GET requests if + * view=FULL is set. + */ + handlers?: Schema$UrlMap[]; + /** + * Configures health checking for instances. Unhealthy instances are stopped + * and replaced with new instances. Only applicable in the App Engine + * flexible environment.Only returned in GET requests if view=FULL is set. + */ + healthCheck?: Schema$HealthCheck; + /** + * Relative name of the version within the service. Example: v1. Version + * names can contain only lowercase letters, numbers, or hyphens. Reserved + * names: "default", "latest", and any name with the + * prefix "ah-". + */ + id?: string; + /** + * Before an application can receive email or XMPP messages, the application + * must be configured to enable the service. + */ + inboundServices?: string[]; + /** + * Instance class that is used to run this version. Valid values are: + * AutomaticScaling: F1, F2, F4, F4_1G ManualScaling or BasicScaling: B1, + * B2, B4, B8, B4_1GDefaults to F1 for AutomaticScaling and B1 for + * ManualScaling or BasicScaling. + */ + instanceClass?: string; + /** + * Configuration for third-party Python runtime libraries that are required + * by the application.Only returned in GET requests if view=FULL is set. + */ + libraries?: Schema$Library[]; + /** + * Configures liveness health checking for instances. Unhealthy instances + * are stopped and replaced with new instancesOnly returned in GET requests + * if view=FULL is set. + */ + livenessCheck?: Schema$LivenessCheck; + /** + * A service with manual scaling runs continuously, allowing you to perform + * complex initialization and rely on the state of its memory over time. + */ + manualScaling?: Schema$ManualScaling; + /** + * Full path to the Version resource in the API. Example: + * apps/myapp/services/default/versions/v1.@OutputOnly + */ + name?: string; + /** + * Extra network settings. Only applicable in the App Engine flexible + * environment. + */ + network?: Schema$Network; + /** + * Files that match this pattern will not be built into this version. Only + * applicable for Go runtimes.Only returned in GET requests if view=FULL is + * set. + */ + nobuildFilesRegex?: string; + /** + * Configures readiness health checking for instances. Unhealthy instances + * are not put into the backend traffic rotation.Only returned in GET + * requests if view=FULL is set. + */ + readinessCheck?: Schema$ReadinessCheck; + /** + * Machine resources for this version. Only applicable in the App Engine + * flexible environment. + */ + resources?: Schema$Resources; + /** + * Desired runtime. Example: python27. + */ + runtime?: string; + /** + * The version of the API in the given runtime environment. Please see the + * app.yaml reference for valid values at + * https://cloud.google.com/appengine/docs/standard/<language>/config/appref + */ + runtimeApiVersion?: string; + /** + * The channel of the runtime to use. Only available for some runtimes. + * Defaults to the default channel. + */ + runtimeChannel?: string; + /** + * Current serving status of this version. Only the versions with a SERVING + * status create instances and can be billed.SERVING_STATUS_UNSPECIFIED is + * an invalid value. Defaults to SERVING. + */ + servingStatus?: string; + /** + * Whether multiple requests can be dispatched to this version at once. + */ + threadsafe?: boolean; + /** + * Serving URL for this version. Example: + * "https://myversion-dot-myservice-dot-myapp.appspot.com"@OutputOnly + */ + versionUrl?: string; + /** + * Whether to deploy this version in a container on a virtual machine. + */ + vm?: boolean; + /** + * Enables VPC connectivity for standard apps. + */ + vpcAccessConnector?: Schema$VpcAccessConnector; + /** + * The Google Compute Engine zones that are supported by this version in the + * App Engine flexible environment. + */ + zones?: string[]; + } + /** + * Volumes mounted within the app container. Only applicable in the App Engine + * flexible environment. + */ + interface Schema$Volume { + /** + * Unique name for the volume. + */ + name?: string; + /** + * Volume size in gigabytes. + */ + sizeGb?: number; + /** + * Underlying volume type, e.g. 'tmpfs'. + */ + volumeType?: string; + } + /** + * VPC access connector specification. + */ + interface Schema$VpcAccessConnector { + /** + * Full Serverless VPC Access Connector name e.g. + * /projects/my-project/locations/us-central1/connectors/c1. + */ + name?: string; + } + /** + * The zip file information for a zip deployment. + */ + interface Schema$ZipInfo { + /** + * An estimate of the number of files in a zip for a zip deployment. If set, + * must be greater than or equal to the actual number of files. Used for + * optimizing performance; if not provided, deployment may be slow. + */ + filesCount?: number; + /** + * URL of the zip file to deploy from. Must be a URL to a resource in Google + * Cloud Storage in the form + * 'http(s)://storage.googleapis.com/<bucket>/<object>'. + */ + sourceUrl?: string; + } + class Resource$Apps { + root: Appengine; + authorizedCertificates: Resource$Apps$Authorizedcertificates; + authorizedDomains: Resource$Apps$Authorizeddomains; + domainMappings: Resource$Apps$Domainmappings; + firewall: Resource$Apps$Firewall; + locations: Resource$Apps$Locations; + operations: Resource$Apps$Operations; + services: Resource$Apps$Services; + constructor(root: Appengine); + getRoot(): Appengine; + /** + * appengine.apps.create + * @desc Creates an App Engine application for a Google Cloud Platform + * project. Required fields: id - The ID of the target Cloud Platform + * project. location - The region + * (https://cloud.google.com/appengine/docs/locations) where you want the + * App Engine application located.For more information about App Engine + * applications, see Managing Projects, Applications, and Billing + * (https://cloud.google.com/appengine/docs/standard/python/console/). + * @alias appengine.apps.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().Application} 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 + */ + create(params?: Params$Resource$Apps$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Apps$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Apps$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * appengine.apps.get + * @desc Gets information about an application. + * @alias appengine.apps.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the Application resource to get. Example: apps/myapp. + * @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?: Params$Resource$Apps$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Apps$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Apps$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * appengine.apps.patch + * @desc Updates the specified Application resource. You can update the + * following fields: auth_domain - Google authentication domain for + * controlling user access to the application. default_cookie_expiration - + * Cookie expiration policy for the application. + * @alias appengine.apps.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the Application resource to update. Example: apps/myapp. + * @param {string=} params.updateMask Standard field mask for the set of fields to be updated. + * @param {().Application} 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 + */ + patch(params?: Params$Resource$Apps$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Apps$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Apps$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * appengine.apps.repair + * @desc Recreates the required App Engine features for the specified App + * Engine application, for example a Cloud Storage bucket or App Engine + * service account. Use this method if you receive an error message about a + * missing feature, for example, Error retrieving the App Engine service + * account. + * @alias appengine.apps.repair + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the application to repair. Example: apps/myapp + * @param {().RepairApplicationRequest} 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 + */ + repair(params?: Params$Resource$Apps$Repair, options?: MethodOptions): AxiosPromise; + repair(params: Params$Resource$Apps$Repair, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + repair(params: Params$Resource$Apps$Repair, callback: BodyResponseCallback): void; + repair(callback: BodyResponseCallback): void; + } + interface Params$Resource$Apps$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$Application; + } + interface Params$Resource$Apps$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the Application resource to get. Example: + * apps/myapp. + */ + appsId?: string; + } + interface Params$Resource$Apps$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the Application resource to update. Example: + * apps/myapp. + */ + appsId?: string; + /** + * Standard field mask for the set of fields to be updated. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Application; + } + interface Params$Resource$Apps$Repair { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the application to repair. Example: apps/myapp + */ + appsId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RepairApplicationRequest; + } + class Resource$Apps$Authorizedcertificates { + root: Appengine; + constructor(root: Appengine); + getRoot(): Appengine; + /** + * appengine.apps.authorizedCertificates.create + * @desc Uploads the specified SSL certificate. + * @alias appengine.apps.authorizedCertificates.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * @param {().AuthorizedCertificate} 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 + */ + create(params?: Params$Resource$Apps$Authorizedcertificates$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Apps$Authorizedcertificates$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Apps$Authorizedcertificates$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * appengine.apps.authorizedCertificates.delete + * @desc Deletes the specified SSL certificate. + * @alias appengine.apps.authorizedCertificates.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource to delete. Example: apps/myapp/authorizedCertificates/12345. + * @param {string} params.authorizedCertificatesId Part of `name`. See documentation of `appsId`. + * @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?: Params$Resource$Apps$Authorizedcertificates$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Apps$Authorizedcertificates$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Apps$Authorizedcertificates$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * appengine.apps.authorizedCertificates.get + * @desc Gets the specified SSL certificate. + * @alias appengine.apps.authorizedCertificates.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource requested. Example: apps/myapp/authorizedCertificates/12345. + * @param {string} params.authorizedCertificatesId Part of `name`. See documentation of `appsId`. + * @param {string=} params.view Controls the set of fields returned in the GET response. + * @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?: Params$Resource$Apps$Authorizedcertificates$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Apps$Authorizedcertificates$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Apps$Authorizedcertificates$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * appengine.apps.authorizedCertificates.list + * @desc Lists all SSL certificates the user is authorized to administer. + * @alias appengine.apps.authorizedCertificates.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * @param {integer=} params.pageSize Maximum results to return per page. + * @param {string=} params.pageToken Continuation token for fetching the next page of results. + * @param {string=} params.view Controls the set of fields returned in the LIST response. + * @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?: Params$Resource$Apps$Authorizedcertificates$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Apps$Authorizedcertificates$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Apps$Authorizedcertificates$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * appengine.apps.authorizedCertificates.patch + * @desc Updates the specified SSL certificate. To renew a certificate and + * maintain its existing domain mappings, update certificate_data with a new + * certificate. The new certificate must be applicable to the same domains + * as the original certificate. The certificate display_name may also be + * updated. + * @alias appengine.apps.authorizedCertificates.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource to update. Example: apps/myapp/authorizedCertificates/12345. + * @param {string} params.authorizedCertificatesId Part of `name`. See documentation of `appsId`. + * @param {string=} params.updateMask Standard field mask for the set of fields to be updated. Updates are only supported on the certificate_raw_data and display_name fields. + * @param {().AuthorizedCertificate} 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 + */ + patch(params?: Params$Resource$Apps$Authorizedcertificates$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Apps$Authorizedcertificates$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Apps$Authorizedcertificates$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Apps$Authorizedcertificates$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `parent`. Name of the parent Application resource. Example: + * apps/myapp. + */ + appsId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AuthorizedCertificate; + } + interface Params$Resource$Apps$Authorizedcertificates$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource to delete. Example: + * apps/myapp/authorizedCertificates/12345. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + authorizedCertificatesId?: string; + } + interface Params$Resource$Apps$Authorizedcertificates$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource requested. Example: + * apps/myapp/authorizedCertificates/12345. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + authorizedCertificatesId?: string; + /** + * Controls the set of fields returned in the GET response. + */ + view?: string; + } + interface Params$Resource$Apps$Authorizedcertificates$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `parent`. Name of the parent Application resource. Example: + * apps/myapp. + */ + appsId?: string; + /** + * Maximum results to return per page. + */ + pageSize?: number; + /** + * Continuation token for fetching the next page of results. + */ + pageToken?: string; + /** + * Controls the set of fields returned in the LIST response. + */ + view?: string; + } + interface Params$Resource$Apps$Authorizedcertificates$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource to update. Example: + * apps/myapp/authorizedCertificates/12345. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + authorizedCertificatesId?: string; + /** + * Standard field mask for the set of fields to be updated. Updates are only + * supported on the certificate_raw_data and display_name fields. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AuthorizedCertificate; + } + class Resource$Apps$Authorizeddomains { + root: Appengine; + constructor(root: Appengine); + getRoot(): Appengine; + /** + * appengine.apps.authorizedDomains.list + * @desc Lists all domains the user is authorized to administer. + * @alias appengine.apps.authorizedDomains.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * @param {integer=} params.pageSize Maximum results to return per page. + * @param {string=} params.pageToken Continuation token for fetching the next page of results. + * @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?: Params$Resource$Apps$Authorizeddomains$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Apps$Authorizeddomains$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Apps$Authorizeddomains$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Apps$Authorizeddomains$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `parent`. Name of the parent Application resource. Example: + * apps/myapp. + */ + appsId?: string; + /** + * Maximum results to return per page. + */ + pageSize?: number; + /** + * Continuation token for fetching the next page of results. + */ + pageToken?: string; + } + class Resource$Apps$Domainmappings { + root: Appengine; + constructor(root: Appengine); + getRoot(): Appengine; + /** + * appengine.apps.domainMappings.create + * @desc Maps a domain to an application. A user must be authorized to + * administer a domain in order to map it to an application. For a list of + * available authorized domains, see + * AuthorizedDomains.ListAuthorizedDomains. + * @alias appengine.apps.domainMappings.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * @param {string=} params.overrideStrategy Whether the domain creation should override any existing mappings for this domain. By default, overrides are rejected. + * @param {().DomainMapping} 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 + */ + create(params?: Params$Resource$Apps$Domainmappings$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Apps$Domainmappings$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Apps$Domainmappings$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * appengine.apps.domainMappings.delete + * @desc Deletes the specified domain mapping. A user must be authorized to + * administer the associated domain in order to delete a DomainMapping + * resource. + * @alias appengine.apps.domainMappings.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource to delete. Example: apps/myapp/domainMappings/example.com. + * @param {string} params.domainMappingsId Part of `name`. See documentation of `appsId`. + * @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?: Params$Resource$Apps$Domainmappings$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Apps$Domainmappings$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Apps$Domainmappings$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * appengine.apps.domainMappings.get + * @desc Gets the specified domain mapping. + * @alias appengine.apps.domainMappings.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource requested. Example: apps/myapp/domainMappings/example.com. + * @param {string} params.domainMappingsId Part of `name`. See documentation of `appsId`. + * @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?: Params$Resource$Apps$Domainmappings$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Apps$Domainmappings$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Apps$Domainmappings$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * appengine.apps.domainMappings.list + * @desc Lists the domain mappings on an application. + * @alias appengine.apps.domainMappings.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * @param {integer=} params.pageSize Maximum results to return per page. + * @param {string=} params.pageToken Continuation token for fetching the next page of results. + * @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?: Params$Resource$Apps$Domainmappings$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Apps$Domainmappings$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Apps$Domainmappings$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * appengine.apps.domainMappings.patch + * @desc Updates the specified domain mapping. To map an SSL certificate to + * a domain mapping, update certificate_id to point to an + * AuthorizedCertificate resource. A user must be authorized to administer + * the associated domain in order to update a DomainMapping resource. + * @alias appengine.apps.domainMappings.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource to update. Example: apps/myapp/domainMappings/example.com. + * @param {string} params.domainMappingsId Part of `name`. See documentation of `appsId`. + * @param {string=} params.updateMask Standard field mask for the set of fields to be updated. + * @param {().DomainMapping} 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 + */ + patch(params?: Params$Resource$Apps$Domainmappings$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Apps$Domainmappings$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Apps$Domainmappings$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Apps$Domainmappings$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `parent`. Name of the parent Application resource. Example: + * apps/myapp. + */ + appsId?: string; + /** + * Whether the domain creation should override any existing mappings for + * this domain. By default, overrides are rejected. + */ + overrideStrategy?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DomainMapping; + } + interface Params$Resource$Apps$Domainmappings$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource to delete. Example: + * apps/myapp/domainMappings/example.com. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + domainMappingsId?: string; + } + interface Params$Resource$Apps$Domainmappings$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource requested. Example: + * apps/myapp/domainMappings/example.com. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + domainMappingsId?: string; + } + interface Params$Resource$Apps$Domainmappings$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `parent`. Name of the parent Application resource. Example: + * apps/myapp. + */ + appsId?: string; + /** + * Maximum results to return per page. + */ + pageSize?: number; + /** + * Continuation token for fetching the next page of results. + */ + pageToken?: string; + } + interface Params$Resource$Apps$Domainmappings$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource to update. Example: + * apps/myapp/domainMappings/example.com. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + domainMappingsId?: string; + /** + * Standard field mask for the set of fields to be updated. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DomainMapping; + } + class Resource$Apps$Firewall { + root: Appengine; + ingressRules: Resource$Apps$Firewall$Ingressrules; + constructor(root: Appengine); + getRoot(): Appengine; + } + class Resource$Apps$Firewall$Ingressrules { + root: Appengine; + constructor(root: Appengine); + getRoot(): Appengine; + /** + * appengine.apps.firewall.ingressRules.batchUpdate + * @desc Replaces the entire firewall ruleset in one bulk operation. This + * overrides and replaces the rules of an existing firewall with the new + * rules.If the final rule does not match traffic with the '*' wildcard IP + * range, then an "allow all" rule is explicitly added to the end of the + * list. + * @alias appengine.apps.firewall.ingressRules.batchUpdate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the Firewall collection to set. Example: apps/myapp/firewall/ingressRules. + * @param {().BatchUpdateIngressRulesRequest} 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 + */ + batchUpdate(params?: Params$Resource$Apps$Firewall$Ingressrules$Batchupdate, options?: MethodOptions): AxiosPromise; + batchUpdate(params: Params$Resource$Apps$Firewall$Ingressrules$Batchupdate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + batchUpdate(params: Params$Resource$Apps$Firewall$Ingressrules$Batchupdate, callback: BodyResponseCallback): void; + batchUpdate(callback: BodyResponseCallback): void; + /** + * appengine.apps.firewall.ingressRules.create + * @desc Creates a firewall rule for the application. + * @alias appengine.apps.firewall.ingressRules.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `parent`. Name of the parent Firewall collection in which to create a new rule. Example: apps/myapp/firewall/ingressRules. + * @param {().FirewallRule} 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 + */ + create(params?: Params$Resource$Apps$Firewall$Ingressrules$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Apps$Firewall$Ingressrules$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Apps$Firewall$Ingressrules$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * appengine.apps.firewall.ingressRules.delete + * @desc Deletes the specified firewall rule. + * @alias appengine.apps.firewall.ingressRules.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the Firewall resource to delete. Example: apps/myapp/firewall/ingressRules/100. + * @param {string} params.ingressRulesId Part of `name`. See documentation of `appsId`. + * @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?: Params$Resource$Apps$Firewall$Ingressrules$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Apps$Firewall$Ingressrules$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Apps$Firewall$Ingressrules$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * appengine.apps.firewall.ingressRules.get + * @desc Gets the specified firewall rule. + * @alias appengine.apps.firewall.ingressRules.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the Firewall resource to retrieve. Example: apps/myapp/firewall/ingressRules/100. + * @param {string} params.ingressRulesId Part of `name`. See documentation of `appsId`. + * @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?: Params$Resource$Apps$Firewall$Ingressrules$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Apps$Firewall$Ingressrules$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Apps$Firewall$Ingressrules$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * appengine.apps.firewall.ingressRules.list + * @desc Lists the firewall rules of an application. + * @alias appengine.apps.firewall.ingressRules.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `parent`. Name of the Firewall collection to retrieve. Example: apps/myapp/firewall/ingressRules. + * @param {string=} params.matchingAddress A valid IP Address. If set, only rules matching this address will be returned. The first returned rule will be the rule that fires on requests from this IP. + * @param {integer=} params.pageSize Maximum results to return per page. + * @param {string=} params.pageToken Continuation token for fetching the next page of results. + * @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?: Params$Resource$Apps$Firewall$Ingressrules$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Apps$Firewall$Ingressrules$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Apps$Firewall$Ingressrules$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * appengine.apps.firewall.ingressRules.patch + * @desc Updates the specified firewall rule. + * @alias appengine.apps.firewall.ingressRules.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the Firewall resource to update. Example: apps/myapp/firewall/ingressRules/100. + * @param {string} params.ingressRulesId Part of `name`. See documentation of `appsId`. + * @param {string=} params.updateMask Standard field mask for the set of fields to be updated. + * @param {().FirewallRule} 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 + */ + patch(params?: Params$Resource$Apps$Firewall$Ingressrules$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Apps$Firewall$Ingressrules$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Apps$Firewall$Ingressrules$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Apps$Firewall$Ingressrules$Batchupdate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the Firewall collection to set. Example: + * apps/myapp/firewall/ingressRules. + */ + appsId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BatchUpdateIngressRulesRequest; + } + interface Params$Resource$Apps$Firewall$Ingressrules$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `parent`. Name of the parent Firewall collection in which to + * create a new rule. Example: apps/myapp/firewall/ingressRules. + */ + appsId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$FirewallRule; + } + interface Params$Resource$Apps$Firewall$Ingressrules$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the Firewall resource to delete. Example: + * apps/myapp/firewall/ingressRules/100. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + ingressRulesId?: string; + } + interface Params$Resource$Apps$Firewall$Ingressrules$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the Firewall resource to retrieve. Example: + * apps/myapp/firewall/ingressRules/100. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + ingressRulesId?: string; + } + interface Params$Resource$Apps$Firewall$Ingressrules$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `parent`. Name of the Firewall collection to retrieve. Example: + * apps/myapp/firewall/ingressRules. + */ + appsId?: string; + /** + * A valid IP Address. If set, only rules matching this address will be + * returned. The first returned rule will be the rule that fires on requests + * from this IP. + */ + matchingAddress?: string; + /** + * Maximum results to return per page. + */ + pageSize?: number; + /** + * Continuation token for fetching the next page of results. + */ + pageToken?: string; + } + interface Params$Resource$Apps$Firewall$Ingressrules$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the Firewall resource to update. Example: + * apps/myapp/firewall/ingressRules/100. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + ingressRulesId?: string; + /** + * Standard field mask for the set of fields to be updated. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$FirewallRule; + } + class Resource$Apps$Locations { + root: Appengine; + constructor(root: Appengine); + getRoot(): Appengine; + /** + * appengine.apps.locations.get + * @desc Gets information about a location. + * @alias appengine.apps.locations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Resource name for the location. + * @param {string} params.locationsId Part of `name`. See documentation of `appsId`. + * @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?: Params$Resource$Apps$Locations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Apps$Locations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Apps$Locations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * appengine.apps.locations.list + * @desc Lists information about the supported locations for this service. + * @alias appengine.apps.locations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. The resource that owns the locations collection, if applicable. + * @param {string=} params.filter The standard list filter. + * @param {integer=} params.pageSize The standard list page size. + * @param {string=} params.pageToken The standard list page token. + * @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?: Params$Resource$Apps$Locations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Apps$Locations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Apps$Locations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Apps$Locations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Resource name for the location. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + locationsId?: string; + } + interface Params$Resource$Apps$Locations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. The resource that owns the locations collection, if + * applicable. + */ + appsId?: string; + /** + * The standard list filter. + */ + filter?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } + class Resource$Apps$Operations { + root: Appengine; + constructor(root: Appengine); + getRoot(): Appengine; + /** + * appengine.apps.operations.get + * @desc Gets the latest state of a long-running operation. Clients can use + * this method to poll the operation result at intervals as recommended by + * the API service. + * @alias appengine.apps.operations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. The name of the operation resource. + * @param {string} params.operationsId Part of `name`. See documentation of `appsId`. + * @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?: Params$Resource$Apps$Operations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Apps$Operations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Apps$Operations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * appengine.apps.operations.list + * @desc Lists operations that match the specified filter in the request. If + * the server doesn't support this method, it returns UNIMPLEMENTED.NOTE: + * the name binding allows API services to override the binding to use + * different resource name schemes, such as users/x/operations. To override + * the binding, API services can add a binding such as + * "/v1/{name=users/x}/operations" to their service configuration. For + * backwards compatibility, the default name includes the operations + * collection id, however overriding users must ensure the name binding is + * the parent resource, without the operations collection id. + * @alias appengine.apps.operations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. The name of the operation's parent resource. + * @param {string=} params.filter The standard list filter. + * @param {integer=} params.pageSize The standard list page size. + * @param {string=} params.pageToken The standard list page token. + * @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?: Params$Resource$Apps$Operations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Apps$Operations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Apps$Operations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Apps$Operations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. The name of the operation resource. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + operationsId?: string; + } + interface Params$Resource$Apps$Operations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. The name of the operation's parent resource. + */ + appsId?: string; + /** + * The standard list filter. + */ + filter?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } + class Resource$Apps$Services { + root: Appengine; + versions: Resource$Apps$Services$Versions; + constructor(root: Appengine); + getRoot(): Appengine; + /** + * appengine.apps.services.delete + * @desc Deletes the specified service and all enclosed versions. + * @alias appengine.apps.services.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource requested. Example: apps/myapp/services/default. + * @param {string} params.servicesId Part of `name`. See documentation of `appsId`. + * @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?: Params$Resource$Apps$Services$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Apps$Services$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Apps$Services$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * appengine.apps.services.get + * @desc Gets the current configuration of the specified service. + * @alias appengine.apps.services.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource requested. Example: apps/myapp/services/default. + * @param {string} params.servicesId Part of `name`. See documentation of `appsId`. + * @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?: Params$Resource$Apps$Services$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Apps$Services$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Apps$Services$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * appengine.apps.services.list + * @desc Lists all the services in the application. + * @alias appengine.apps.services.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `parent`. Name of the parent Application resource. Example: apps/myapp. + * @param {integer=} params.pageSize Maximum results to return per page. + * @param {string=} params.pageToken Continuation token for fetching the next page of results. + * @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?: Params$Resource$Apps$Services$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Apps$Services$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Apps$Services$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * appengine.apps.services.patch + * @desc Updates the configuration of the specified service. + * @alias appengine.apps.services.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource to update. Example: apps/myapp/services/default. + * @param {boolean=} params.migrateTraffic Set to true to gradually shift traffic to one or more versions that you specify. By default, traffic is shifted immediately. For gradual traffic migration, the target versions must be located within instances that are configured for both warmup requests (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#InboundServiceType) and automatic scaling (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#AutomaticScaling). You must specify the shardBy (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services#ShardBy) field in the Service resource. Gradual traffic migration is not supported in the App Engine flexible environment. For examples, see Migrating and Splitting Traffic (https://cloud.google.com/appengine/docs/admin-api/migrating-splitting-traffic). + * @param {string} params.servicesId Part of `name`. See documentation of `appsId`. + * @param {string=} params.updateMask Standard field mask for the set of fields to be updated. + * @param {().Service} 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 + */ + patch(params?: Params$Resource$Apps$Services$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Apps$Services$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Apps$Services$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Apps$Services$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource requested. Example: + * apps/myapp/services/default. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + servicesId?: string; + } + interface Params$Resource$Apps$Services$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource requested. Example: + * apps/myapp/services/default. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + servicesId?: string; + } + interface Params$Resource$Apps$Services$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `parent`. Name of the parent Application resource. Example: + * apps/myapp. + */ + appsId?: string; + /** + * Maximum results to return per page. + */ + pageSize?: number; + /** + * Continuation token for fetching the next page of results. + */ + pageToken?: string; + } + interface Params$Resource$Apps$Services$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource to update. Example: + * apps/myapp/services/default. + */ + appsId?: string; + /** + * Set to true to gradually shift traffic to one or more versions that you + * specify. By default, traffic is shifted immediately. For gradual traffic + * migration, the target versions must be located within instances that are + * configured for both warmup requests + * (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#InboundServiceType) + * and automatic scaling + * (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#AutomaticScaling). + * You must specify the shardBy + * (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services#ShardBy) + * field in the Service resource. Gradual traffic migration is not supported + * in the App Engine flexible environment. For examples, see Migrating and + * Splitting Traffic + * (https://cloud.google.com/appengine/docs/admin-api/migrating-splitting-traffic). + */ + migrateTraffic?: boolean; + /** + * Part of `name`. See documentation of `appsId`. + */ + servicesId?: string; + /** + * Standard field mask for the set of fields to be updated. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Service; + } + class Resource$Apps$Services$Versions { + root: Appengine; + instances: Resource$Apps$Services$Versions$Instances; + constructor(root: Appengine); + getRoot(): Appengine; + /** + * appengine.apps.services.versions.create + * @desc Deploys code and resource files to a new version. + * @alias appengine.apps.services.versions.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `parent`. Name of the parent resource to create this version under. Example: apps/myapp/services/default. + * @param {string} params.servicesId Part of `parent`. See documentation of `appsId`. + * @param {().Version} 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 + */ + create(params?: Params$Resource$Apps$Services$Versions$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Apps$Services$Versions$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Apps$Services$Versions$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * appengine.apps.services.versions.delete + * @desc Deletes an existing Version resource. + * @alias appengine.apps.services.versions.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1. + * @param {string} params.servicesId Part of `name`. See documentation of `appsId`. + * @param {string} params.versionsId Part of `name`. See documentation of `appsId`. + * @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?: Params$Resource$Apps$Services$Versions$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Apps$Services$Versions$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Apps$Services$Versions$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * appengine.apps.services.versions.get + * @desc Gets the specified Version resource. By default, only a BASIC_VIEW + * will be returned. Specify the FULL_VIEW parameter to get the full + * resource. + * @alias appengine.apps.services.versions.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1. + * @param {string} params.servicesId Part of `name`. See documentation of `appsId`. + * @param {string} params.versionsId Part of `name`. See documentation of `appsId`. + * @param {string=} params.view Controls the set of fields returned in the Get response. + * @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?: Params$Resource$Apps$Services$Versions$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Apps$Services$Versions$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Apps$Services$Versions$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * appengine.apps.services.versions.list + * @desc Lists the versions of a service. + * @alias appengine.apps.services.versions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `parent`. Name of the parent Service resource. Example: apps/myapp/services/default. + * @param {integer=} params.pageSize Maximum results to return per page. + * @param {string=} params.pageToken Continuation token for fetching the next page of results. + * @param {string} params.servicesId Part of `parent`. See documentation of `appsId`. + * @param {string=} params.view Controls the set of fields returned in the List response. + * @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?: Params$Resource$Apps$Services$Versions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Apps$Services$Versions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Apps$Services$Versions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * appengine.apps.services.versions.patch + * @desc Updates the specified Version resource. You can specify the + * following fields depending on the App Engine environment and type of + * scaling that the version resource uses:Standard environment + * instance_class + * (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.instance_class)automatic + * scaling in the standard environment: automatic_scaling.min_idle_instances + * (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling) + * automatic_scaling.max_idle_instances + * (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling) + * automaticScaling.standard_scheduler_settings.max_instances + * (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#StandardSchedulerSettings) + * automaticScaling.standard_scheduler_settings.min_instances + * (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#StandardSchedulerSettings) + * automaticScaling.standard_scheduler_settings.target_cpu_utilization + * (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#StandardSchedulerSettings) + * automaticScaling.standard_scheduler_settings.target_throughput_utilization + * (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#StandardSchedulerSettings)basic + * scaling or manual scaling in the standard environment: serving_status + * (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.serving_status)Flexible + * environment serving_status + * (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.serving_status)automatic + * scaling in the flexible environment: + * automatic_scaling.min_total_instances + * (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling) + * automatic_scaling.max_total_instances + * (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling) + * automatic_scaling.cool_down_period_sec + * (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling) + * automatic_scaling.cpu_utilization.target_utilization + * (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling) + * @alias appengine.apps.services.versions.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource to update. Example: apps/myapp/services/default/versions/1. + * @param {string} params.servicesId Part of `name`. See documentation of `appsId`. + * @param {string=} params.updateMask Standard field mask for the set of fields to be updated. + * @param {string} params.versionsId Part of `name`. See documentation of `appsId`. + * @param {().Version} 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 + */ + patch(params?: Params$Resource$Apps$Services$Versions$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Apps$Services$Versions$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Apps$Services$Versions$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Apps$Services$Versions$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `parent`. Name of the parent resource to create this version + * under. Example: apps/myapp/services/default. + */ + appsId?: string; + /** + * Part of `parent`. See documentation of `appsId`. + */ + servicesId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Version; + } + interface Params$Resource$Apps$Services$Versions$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource requested. Example: + * apps/myapp/services/default/versions/v1. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + servicesId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + versionsId?: string; + } + interface Params$Resource$Apps$Services$Versions$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource requested. Example: + * apps/myapp/services/default/versions/v1. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + servicesId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + versionsId?: string; + /** + * Controls the set of fields returned in the Get response. + */ + view?: string; + } + interface Params$Resource$Apps$Services$Versions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `parent`. Name of the parent Service resource. Example: + * apps/myapp/services/default. + */ + appsId?: string; + /** + * Maximum results to return per page. + */ + pageSize?: number; + /** + * Continuation token for fetching the next page of results. + */ + pageToken?: string; + /** + * Part of `parent`. See documentation of `appsId`. + */ + servicesId?: string; + /** + * Controls the set of fields returned in the List response. + */ + view?: string; + } + interface Params$Resource$Apps$Services$Versions$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource to update. Example: + * apps/myapp/services/default/versions/1. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + servicesId?: string; + /** + * Standard field mask for the set of fields to be updated. + */ + updateMask?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + versionsId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Version; + } + class Resource$Apps$Services$Versions$Instances { + root: Appengine; + constructor(root: Appengine); + getRoot(): Appengine; + /** + * appengine.apps.services.versions.instances.debug + * @desc Enables debugging on a VM instance. This allows you to use the SSH + * command to connect to the virtual machine where the instance lives. While + * in "debug mode", the instance continues to serve live traffic. You should + * delete the instance when you are done debugging and then allow the system + * to take over and determine if another instance should be started.Only + * applicable for instances in App Engine flexible environment. + * @alias appengine.apps.services.versions.instances.debug + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1. + * @param {string} params.instancesId Part of `name`. See documentation of `appsId`. + * @param {string} params.servicesId Part of `name`. See documentation of `appsId`. + * @param {string} params.versionsId Part of `name`. See documentation of `appsId`. + * @param {().DebugInstanceRequest} 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 + */ + debug(params?: Params$Resource$Apps$Services$Versions$Instances$Debug, options?: MethodOptions): AxiosPromise; + debug(params: Params$Resource$Apps$Services$Versions$Instances$Debug, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + debug(params: Params$Resource$Apps$Services$Versions$Instances$Debug, callback: BodyResponseCallback): void; + debug(callback: BodyResponseCallback): void; + /** + * appengine.apps.services.versions.instances.delete + * @desc Stops a running instance. + * @alias appengine.apps.services.versions.instances.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1. + * @param {string} params.instancesId Part of `name`. See documentation of `appsId`. + * @param {string} params.servicesId Part of `name`. See documentation of `appsId`. + * @param {string} params.versionsId Part of `name`. See documentation of `appsId`. + * @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?: Params$Resource$Apps$Services$Versions$Instances$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Apps$Services$Versions$Instances$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Apps$Services$Versions$Instances$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * appengine.apps.services.versions.instances.get + * @desc Gets instance information. + * @alias appengine.apps.services.versions.instances.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1. + * @param {string} params.instancesId Part of `name`. See documentation of `appsId`. + * @param {string} params.servicesId Part of `name`. See documentation of `appsId`. + * @param {string} params.versionsId Part of `name`. See documentation of `appsId`. + * @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?: Params$Resource$Apps$Services$Versions$Instances$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Apps$Services$Versions$Instances$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Apps$Services$Versions$Instances$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * appengine.apps.services.versions.instances.list + * @desc Lists the instances of a version.Tip: To aggregate details about + * instances over time, see the Stackdriver Monitoring API + * (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list). + * @alias appengine.apps.services.versions.instances.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `parent`. Name of the parent Version resource. Example: apps/myapp/services/default/versions/v1. + * @param {integer=} params.pageSize Maximum results to return per page. + * @param {string=} params.pageToken Continuation token for fetching the next page of results. + * @param {string} params.servicesId Part of `parent`. See documentation of `appsId`. + * @param {string} params.versionsId Part of `parent`. See documentation of `appsId`. + * @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?: Params$Resource$Apps$Services$Versions$Instances$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Apps$Services$Versions$Instances$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Apps$Services$Versions$Instances$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Apps$Services$Versions$Instances$Debug { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource requested. Example: + * apps/myapp/services/default/versions/v1/instances/instance-1. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + instancesId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + servicesId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + versionsId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DebugInstanceRequest; + } + interface Params$Resource$Apps$Services$Versions$Instances$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource requested. Example: + * apps/myapp/services/default/versions/v1/instances/instance-1. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + instancesId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + servicesId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + versionsId?: string; + } + interface Params$Resource$Apps$Services$Versions$Instances$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource requested. Example: + * apps/myapp/services/default/versions/v1/instances/instance-1. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + instancesId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + servicesId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + versionsId?: string; + } + interface Params$Resource$Apps$Services$Versions$Instances$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `parent`. Name of the parent Version resource. Example: + * apps/myapp/services/default/versions/v1. + */ + appsId?: string; + /** + * Maximum results to return per page. + */ + pageSize?: number; + /** + * Continuation token for fetching the next page of results. + */ + pageToken?: string; + /** + * Part of `parent`. See documentation of `appsId`. + */ + servicesId?: string; + /** + * Part of `parent`. See documentation of `appsId`. + */ + versionsId?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/appengine/v1beta.js b/express-server/node_modules/googleapis/build/src/apis/appengine/v1beta.js new file mode 100644 index 00000000..68e022cd --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/appengine/v1beta.js @@ -0,0 +1,1373 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var appengine_v1beta; +(function (appengine_v1beta) { + /** + * App Engine Admin API + * + * The App Engine Admin API enables developers to provision and manage their + * App Engine applications. + * + * @example + * const {google} = require('googleapis'); + * const appengine = google.appengine('v1beta'); + * + * @namespace appengine + * @type {Function} + * @version v1beta + * @variation v1beta + * @param {object=} options Options for Appengine + */ + class Appengine { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.apps = new Resource$Apps(this); + } + getRoot() { + return this.root; + } + } + appengine_v1beta.Appengine = Appengine; + class Resource$Apps { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.authorizedCertificates = + new Resource$Apps$Authorizedcertificates(root); + this.authorizedDomains = new Resource$Apps$Authorizeddomains(root); + this.domainMappings = new Resource$Apps$Domainmappings(root); + this.firewall = new Resource$Apps$Firewall(root); + this.locations = new Resource$Apps$Locations(root); + this.operations = new Resource$Apps$Operations(root); + this.services = new Resource$Apps$Services(root); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta/apps').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta/apps/{appsId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId'], + pathParams: ['appsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta/apps/{appsId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['appsId'], + pathParams: ['appsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + repair(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta/apps/{appsId}:repair') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['appsId'], + pathParams: ['appsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + appengine_v1beta.Resource$Apps = Resource$Apps; + class Resource$Apps$Authorizedcertificates { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta/apps/{appsId}/authorizedCertificates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['appsId'], + pathParams: ['appsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['appsId', 'authorizedCertificatesId'], + pathParams: ['appsId', 'authorizedCertificatesId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId', 'authorizedCertificatesId'], + pathParams: ['appsId', 'authorizedCertificatesId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta/apps/{appsId}/authorizedCertificates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId'], + pathParams: ['appsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['appsId', 'authorizedCertificatesId'], + pathParams: ['appsId', 'authorizedCertificatesId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + appengine_v1beta.Resource$Apps$Authorizedcertificates = Resource$Apps$Authorizedcertificates; + class Resource$Apps$Authorizeddomains { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta/apps/{appsId}/authorizedDomains') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId'], + pathParams: ['appsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + appengine_v1beta.Resource$Apps$Authorizeddomains = Resource$Apps$Authorizeddomains; + class Resource$Apps$Domainmappings { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta/apps/{appsId}/domainMappings') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['appsId'], + pathParams: ['appsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta/apps/{appsId}/domainMappings/{domainMappingsId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['appsId', 'domainMappingsId'], + pathParams: ['appsId', 'domainMappingsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta/apps/{appsId}/domainMappings/{domainMappingsId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId', 'domainMappingsId'], + pathParams: ['appsId', 'domainMappingsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta/apps/{appsId}/domainMappings') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId'], + pathParams: ['appsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta/apps/{appsId}/domainMappings/{domainMappingsId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['appsId', 'domainMappingsId'], + pathParams: ['appsId', 'domainMappingsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + appengine_v1beta.Resource$Apps$Domainmappings = Resource$Apps$Domainmappings; + class Resource$Apps$Firewall { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.ingressRules = new Resource$Apps$Firewall$Ingressrules(root); + } + getRoot() { + return this.root; + } + } + appengine_v1beta.Resource$Apps$Firewall = Resource$Apps$Firewall; + class Resource$Apps$Firewall$Ingressrules { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + batchUpdate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta/apps/{appsId}/firewall/ingressRules:batchUpdate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['appsId'], + pathParams: ['appsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta/apps/{appsId}/firewall/ingressRules') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['appsId'], + pathParams: ['appsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta/apps/{appsId}/firewall/ingressRules/{ingressRulesId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['appsId', 'ingressRulesId'], + pathParams: ['appsId', 'ingressRulesId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta/apps/{appsId}/firewall/ingressRules/{ingressRulesId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId', 'ingressRulesId'], + pathParams: ['appsId', 'ingressRulesId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta/apps/{appsId}/firewall/ingressRules') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId'], + pathParams: ['appsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta/apps/{appsId}/firewall/ingressRules/{ingressRulesId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['appsId', 'ingressRulesId'], + pathParams: ['appsId', 'ingressRulesId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + appengine_v1beta.Resource$Apps$Firewall$Ingressrules = Resource$Apps$Firewall$Ingressrules; + class Resource$Apps$Locations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta/apps/{appsId}/locations/{locationsId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId', 'locationsId'], + pathParams: ['appsId', 'locationsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta/apps/{appsId}/locations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId'], + pathParams: ['appsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + appengine_v1beta.Resource$Apps$Locations = Resource$Apps$Locations; + class Resource$Apps$Operations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta/apps/{appsId}/operations/{operationsId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId', 'operationsId'], + pathParams: ['appsId', 'operationsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta/apps/{appsId}/operations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId'], + pathParams: ['appsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + appengine_v1beta.Resource$Apps$Operations = Resource$Apps$Operations; + class Resource$Apps$Services { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.versions = new Resource$Apps$Services$Versions(root); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta/apps/{appsId}/services/{servicesId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['appsId', 'servicesId'], + pathParams: ['appsId', 'servicesId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta/apps/{appsId}/services/{servicesId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId', 'servicesId'], + pathParams: ['appsId', 'servicesId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta/apps/{appsId}/services') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId'], + pathParams: ['appsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta/apps/{appsId}/services/{servicesId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['appsId', 'servicesId'], + pathParams: ['appsId', 'servicesId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + appengine_v1beta.Resource$Apps$Services = Resource$Apps$Services; + class Resource$Apps$Services$Versions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.instances = new Resource$Apps$Services$Versions$Instances(root); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta/apps/{appsId}/services/{servicesId}/versions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['appsId', 'servicesId'], + pathParams: ['appsId', 'servicesId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['appsId', 'servicesId', 'versionsId'], + pathParams: ['appsId', 'servicesId', 'versionsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId', 'servicesId', 'versionsId'], + pathParams: ['appsId', 'servicesId', 'versionsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta/apps/{appsId}/services/{servicesId}/versions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId', 'servicesId'], + pathParams: ['appsId', 'servicesId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['appsId', 'servicesId', 'versionsId'], + pathParams: ['appsId', 'servicesId', 'versionsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + appengine_v1beta.Resource$Apps$Services$Versions = Resource$Apps$Services$Versions; + class Resource$Apps$Services$Versions$Instances { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + debug(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}:debug') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['appsId', 'servicesId', 'versionsId', 'instancesId'], + pathParams: ['appsId', 'instancesId', 'servicesId', 'versionsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['appsId', 'servicesId', 'versionsId', 'instancesId'], + pathParams: ['appsId', 'instancesId', 'servicesId', 'versionsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId', 'servicesId', 'versionsId', 'instancesId'], + pathParams: ['appsId', 'instancesId', 'servicesId', 'versionsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId', 'servicesId', 'versionsId'], + pathParams: ['appsId', 'servicesId', 'versionsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + appengine_v1beta.Resource$Apps$Services$Versions$Instances = Resource$Apps$Services$Versions$Instances; +})(appengine_v1beta = exports.appengine_v1beta || (exports.appengine_v1beta = {})); +//# sourceMappingURL=v1beta.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/appengine/v1beta.js.map b/express-server/node_modules/googleapis/build/src/apis/appengine/v1beta.js.map new file mode 100644 index 00000000..63058531 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/appengine/v1beta.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1beta.js","sourceRoot":"","sources":["../../../../src/apis/appengine/v1beta.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/appengine/v1beta4.d.ts b/express-server/node_modules/googleapis/build/src/apis/appengine/v1beta4.d.ts new file mode 100644 index 00000000..61919014 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/appengine/v1beta4.d.ts @@ -0,0 +1,2296 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace appengine_v1beta4 { + interface Options extends GlobalOptions { + version: 'v1beta4'; + } + /** + * App Engine Admin API + * + * The App Engine Admin API enables developers to provision and manage their + * App Engine applications. + * + * @example + * const {google} = require('googleapis'); + * const appengine = google.appengine('v1beta4'); + * + * @namespace appengine + * @type {Function} + * @version v1beta4 + * @variation v1beta4 + * @param {object=} options Options for Appengine + */ + class Appengine { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + apps: Resource$Apps; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Google Cloud Endpoints + * (https://cloud.google.com/appengine/docs/python/endpoints/) configuration + * for API handlers. + */ + interface Schema$ApiConfigHandler { + /** + * Action to take when users access resources that require authentication. + * Defaults to redirect. + */ + authFailAction?: string; + /** + * Level of login required to access this resource. Defaults to optional. + */ + login?: string; + /** + * Path to the script from the application root directory. + */ + script?: string; + /** + * Security (HTTPS) enforcement for this URL. + */ + securityLevel?: string; + /** + * URL to serve the endpoint at. + */ + url?: string; + } + /** + * Uses Google Cloud Endpoints to handle requests. + */ + interface Schema$ApiEndpointHandler { + /** + * Path to the script from the application root directory. + */ + scriptPath?: string; + } + /** + * An Application resource contains the top-level configuration of an App + * Engine application. + */ + interface Schema$Application { + /** + * Google Apps authentication domain that controls which users can access + * this application.Defaults to open access for any Google Account. + */ + authDomain?: string; + /** + * Google Cloud Storage bucket that can be used for storing files associated + * with this application. This bucket is associated with the application and + * can be used by the gcloud deployment commands.@OutputOnly + */ + codeBucket?: string; + /** + * Google Cloud Storage bucket that can be used by this application to store + * content.@OutputOnly + */ + defaultBucket?: string; + /** + * Cookie expiration policy for this application. + */ + defaultCookieExpiration?: string; + /** + * Hostname used to reach the application, as resolved by App + * Engine.@OutputOnly + */ + defaultHostname?: string; + /** + * HTTP path dispatch rules for requests to the application that do not + * explicitly target a module or version. Rules are + * order-dependent.@OutputOnly + */ + dispatchRules?: Schema$UrlDispatchRule[]; + iap?: Schema$IdentityAwareProxy; + /** + * Identifier of the Application resource. This identifier is equivalent to + * the project ID of the Google Cloud Platform project where you want to + * deploy your application. Example: myapp. + */ + id?: string; + /** + * Location from which this application will be run. Application instances + * will run out of data centers in the chosen location, which is also where + * all of the application's end user content is stored.Defaults to + * us-central.Options are:us-central - Central USeurope-west - Western + * Europeus-east1 - Eastern US + */ + location?: string; + /** + * Full path to the Application resource in the API. Example: + * apps/myapp.@OutputOnly + */ + name?: string; + } + /** + * Automatic scaling is based on request rate, response latencies, and other + * application metrics. + */ + interface Schema$AutomaticScaling { + /** + * The time period that the Autoscaler + * (https://cloud.google.com/compute/docs/autoscaler/) should wait before it + * starts collecting information from a new instance. This prevents the + * autoscaler from collecting information when the instance is initializing, + * during which the collected usage would not be reliable. Only applicable + * in the App Engine flexible environment. + */ + coolDownPeriod?: string; + /** + * Target scaling by CPU usage. + */ + cpuUtilization?: Schema$CpuUtilization; + /** + * Target scaling by disk usage. + */ + diskUtilization?: Schema$DiskUtilization; + /** + * Number of concurrent requests an automatic scaling instance can accept + * before the scheduler spawns a new instance.Defaults to a runtime-specific + * value. + */ + maxConcurrentRequests?: number; + /** + * Maximum number of idle instances that should be maintained for this + * version. + */ + maxIdleInstances?: number; + /** + * Maximum amount of time that a request should wait in the pending queue + * before starting a new instance to handle it. + */ + maxPendingLatency?: string; + /** + * Maximum number of instances that should be started to handle requests. + */ + maxTotalInstances?: number; + /** + * Minimum number of idle instances that should be maintained for this + * version. Only applicable for the default version of a module. + */ + minIdleInstances?: number; + /** + * Minimum amount of time a request should wait in the pending queue before + * starting a new instance to handle it. + */ + minPendingLatency?: string; + /** + * Minimum number of instances that should be maintained for this version. + */ + minTotalInstances?: number; + /** + * Target scaling by network usage. + */ + networkUtilization?: Schema$NetworkUtilization; + /** + * Target scaling by request utilization. + */ + requestUtilization?: Schema$RequestUtilization; + } + /** + * A module with basic scaling will create an instance when the application + * receives a request. The instance will be turned down when the app becomes + * idle. Basic scaling is ideal for work that is intermittent or driven by + * user activity. + */ + interface Schema$BasicScaling { + /** + * Duration of time after the last request that an instance must wait before + * the instance is shut down. + */ + idleTimeout?: string; + /** + * Maximum number of instances to create for this version. + */ + maxInstances?: number; + } + /** + * Docker image that is used to create a container and start a VM instance for + * the version that you deploy. Only applicable for instances running in the + * App Engine flexible environment. + */ + interface Schema$ContainerInfo { + /** + * URI to the hosted container image in Google Container Registry. The URI + * must be fully qualified and include a tag or digest. Examples: + * "gcr.io/my-project/image:tag" or + * "gcr.io/my-project/image@digest" + */ + image?: string; + } + /** + * Target scaling by CPU usage. + */ + interface Schema$CpuUtilization { + /** + * Period of time over which CPU utilization is calculated. + */ + aggregationWindowLength?: string; + /** + * Target CPU utilization ratio to maintain when scaling. Must be between 0 + * and 1. + */ + targetUtilization?: number; + } + /** + * Metadata for the given google.longrunning.Operation during a + * google.appengine.v1.CreateVersionRequest. + */ + interface Schema$CreateVersionMetadataV1 { + /** + * The Cloud Build ID if one was created as part of the version create. + * @OutputOnly + */ + cloudBuildId?: string; + } + /** + * Metadata for the given google.longrunning.Operation during a + * google.appengine.v1alpha.CreateVersionRequest. + */ + interface Schema$CreateVersionMetadataV1Alpha { + /** + * The Cloud Build ID if one was created as part of the version create. + * @OutputOnly + */ + cloudBuildId?: string; + } + /** + * Metadata for the given google.longrunning.Operation during a + * google.appengine.v1beta.CreateVersionRequest. + */ + interface Schema$CreateVersionMetadataV1Beta { + /** + * The Cloud Build ID if one was created as part of the version create. + * @OutputOnly + */ + cloudBuildId?: string; + } + /** + * Request message for Instances.DebugInstance. + */ + interface Schema$DebugInstanceRequest { + /** + * Public SSH key to add to the instance. Examples: [USERNAME]:ssh-rsa + * [KEY_VALUE] [USERNAME] [USERNAME]:ssh-rsa [KEY_VALUE] google-ssh + * {"userName":"[USERNAME]","expireOn":"[EXPIRE_TIME]"}For + * more information, see Adding and Removing SSH Keys + * (https://cloud.google.com/compute/docs/instances/adding-removing-ssh-keys). + */ + sshKey?: string; + } + /** + * Code and application artifacts used to deploy a version to App Engine. + */ + interface Schema$Deployment { + /** + * The Docker image for the container that runs the version. Only applicable + * for instances running in the App Engine flexible environment. + */ + container?: Schema$ContainerInfo; + /** + * Manifest of the files stored in Google Cloud Storage that are included as + * part of this version. All files must be readable using the credentials + * supplied with this call. + */ + files?: any; + /** + * Origin of the source code for this deployment. There can be more than one + * source reference per version if source code is distributed among multiple + * repositories. + */ + sourceReferences?: Schema$SourceReference[]; + } + /** + * Target scaling by disk usage. Only applicable for VM runtimes. + */ + interface Schema$DiskUtilization { + /** + * Target bytes read per second. + */ + targetReadBytesPerSec?: number; + /** + * Target ops read per second. + */ + targetReadOpsPerSec?: number; + /** + * Target bytes written per second. + */ + targetWriteBytesPerSec?: number; + /** + * Target ops written per second. + */ + targetWriteOpsPerSec?: number; + } + /** + * Cloud Endpoints (https://cloud.google.com/endpoints) configuration. The + * Endpoints API Service provides tooling for serving Open API and gRPC + * endpoints via an NGINX proxy. Only valid for App Engine Flexible + * environment deployments..The fields here refer to the name and + * configuration id of a "service" resource in the Service + * Management API (https://cloud.google.com/service-management/overview). + */ + interface Schema$EndpointsApiService { + /** + * Endpoints service configuration id as specified by the Service Management + * API. For example "2016-09-19r1"By default, the Endpoints + * service configuration id is fixed and config_id must be specified. To + * keep the Endpoints service configuration id updated with each rollout, + * specify RolloutStrategy.MANAGED and omit config_id. + */ + configId?: string; + /** + * Enable or disable trace sampling. By default, this is set to false for + * enabled. + */ + disableTraceSampling?: boolean; + /** + * Endpoints service name which is the name of the "service" + * resource in the Service Management API. For example + * "myapi.endpoints.myproject.cloud.goog" + */ + name?: string; + /** + * Endpoints rollout strategy. If FIXED, config_id must be specified. If + * MANAGED, config_id must be omitted. + */ + rolloutStrategy?: string; + } + /** + * Custom static error page to be served when an error occurs. + */ + interface Schema$ErrorHandler { + /** + * Error condition this handler applies to. + */ + errorCode?: string; + /** + * MIME type of file. Defaults to text/html. + */ + mimeType?: string; + /** + * Static file content to be served for this error. + */ + staticFile?: string; + } + /** + * Single source file that is part of the version to be deployed. Each source + * file that is deployed must be specified separately. + */ + interface Schema$FileInfo { + /** + * The MIME type of the file.Defaults to the value from Google Cloud + * Storage. + */ + mimeType?: string; + /** + * The SHA1 hash of the file, in hex. + */ + sha1Sum?: string; + /** + * URL source to use to fetch this file. Must be a URL to a resource in + * Google Cloud Storage in the form + * 'http(s)://storage.googleapis.com/<bucket>/<object>'. + */ + sourceUrl?: string; + } + /** + * Health checking configuration for VM instances. Unhealthy instances are + * killed and replaced with new instances. Only applicable for instances in + * App Engine flexible environment. + */ + interface Schema$HealthCheck { + /** + * Interval between health checks. + */ + checkInterval?: string; + /** + * Whether to explicitly disable health checks for this instance. + */ + disableHealthCheck?: boolean; + /** + * Number of consecutive successful health checks required before receiving + * traffic. + */ + healthyThreshold?: number; + /** + * Host header to send when performing an HTTP health check. Example: + * "myapp.appspot.com" + */ + host?: string; + /** + * Number of consecutive failed health checks required before an instance is + * restarted. + */ + restartThreshold?: number; + /** + * Time before the health check is considered failed. + */ + timeout?: string; + /** + * Number of consecutive failed health checks required before removing + * traffic. + */ + unhealthyThreshold?: number; + } + /** + * Identity-Aware Proxy + */ + interface Schema$IdentityAwareProxy { + /** + * Whether the serving infrastructure will authenticate and authorize all + * incoming requests.If true, the oauth2_client_id and oauth2_client_secret + * fields must be non-empty. + */ + enabled?: boolean; + /** + * OAuth2 client ID to use for the authentication flow. + */ + oauth2ClientId?: string; + /** + * For security reasons, this value cannot be retrieved via the API. + * Instead, the SHA-256 hash of the value is returned in the + * oauth2_client_secret_sha256 field.@InputOnly + */ + oauth2ClientSecret?: string; + /** + * Hex-encoded SHA-256 hash of the client secret.@OutputOnly + */ + oauth2ClientSecretSha256?: string; + } + /** + * An Instance resource is the computing unit that App Engine uses to + * automatically scale an application. + */ + interface Schema$Instance { + /** + * App Engine release this instance is running on.@OutputOnly + */ + appEngineRelease?: string; + /** + * Availability of the instance.@OutputOnly + */ + availability?: string; + /** + * Average latency (ms) over the last minute.@OutputOnly + */ + averageLatency?: number; + /** + * Number of errors since this instance was started.@OutputOnly + */ + errors?: number; + /** + * Relative name of the instance within the version. Example: + * instance-1.@OutputOnly + */ + id?: string; + /** + * Total memory in use (bytes).@OutputOnly + */ + memoryUsage?: string; + /** + * Full path to the Instance resource in the API. Example: + * apps/myapp/modules/default/versions/v1/instances/instance-1.@OutputOnly + */ + name?: string; + /** + * Average queries per second (QPS) over the last minute.@OutputOnly + */ + qps?: number; + /** + * Number of requests since this instance was started.@OutputOnly + */ + requests?: number; + /** + * Time that this instance was started.@OutputOnly + */ + startTimestamp?: string; + /** + * Virtual machine ID of this instance. Only applicable for instances in App + * Engine flexible environment.@OutputOnly + */ + vmId?: string; + /** + * The IP address of this instance. Only applicable for instances in App + * Engine flexible environment.@OutputOnly + */ + vmIp?: string; + /** + * Name of the virtual machine where this instance lives. Only applicable + * for instances in App Engine flexible environment.@OutputOnly + */ + vmName?: string; + /** + * Status of the virtual machine where this instance lives. Only applicable + * for instances in App Engine flexible environment.@OutputOnly + */ + vmStatus?: string; + /** + * Whether this instance is in debug mode. Only applicable for instances in + * App Engine flexible environment.@OutputOnly + */ + vmUnlocked?: boolean; + /** + * Zone where the virtual machine is located. Only applicable for instances + * in App Engine flexible environment.@OutputOnly + */ + vmZoneName?: string; + } + /** + * Third-party Python runtime library that is required by the application. + */ + interface Schema$Library { + /** + * Name of the library. Example: "django". + */ + name?: string; + /** + * Version of the library to select, or "latest". + */ + version?: string; + } + /** + * Response message for Instances.ListInstances. + */ + interface Schema$ListInstancesResponse { + /** + * The instances belonging to the requested version. + */ + instances?: Schema$Instance[]; + /** + * Continuation token for fetching the next page of results. + */ + nextPageToken?: string; + } + /** + * The response message for Locations.ListLocations. + */ + interface Schema$ListLocationsResponse { + /** + * A list of locations that matches the specified filter in the request. + */ + locations?: Schema$Location[]; + /** + * The standard List next-page token. + */ + nextPageToken?: string; + } + /** + * Response message for Modules.ListModules. + */ + interface Schema$ListModulesResponse { + /** + * The modules belonging to the requested application. + */ + modules?: Schema$Module[]; + /** + * Continuation token for fetching the next page of results. + */ + nextPageToken?: string; + } + /** + * The response message for Operations.ListOperations. + */ + interface Schema$ListOperationsResponse { + /** + * The standard List next-page token. + */ + nextPageToken?: string; + /** + * A list of operations that matches the specified filter in the request. + */ + operations?: Schema$Operation[]; + } + /** + * Response message for Versions.ListVersions. + */ + interface Schema$ListVersionsResponse { + /** + * Continuation token for fetching the next page of results. + */ + nextPageToken?: string; + /** + * The versions belonging to the requested module. + */ + versions?: Schema$Version[]; + } + /** + * A resource that represents Google Cloud Platform location. + */ + interface Schema$Location { + /** + * The friendly name for this location, typically a nearby city name. For + * example, "Tokyo". + */ + displayName?: string; + /** + * Cross-service attributes for the location. For example + * {"cloud.googleapis.com/region": "us-east1"} + */ + labels?: any; + /** + * The canonical id for this location. For example: "us-east1". + */ + locationId?: string; + /** + * Service-specific metadata. For example the available capacity at the + * given location. + */ + metadata?: any; + /** + * Resource name for the location, which may vary between implementations. + * For example: "projects/example-project/locations/us-east1" + */ + name?: string; + } + /** + * Metadata for the given google.cloud.location.Location. + */ + interface Schema$LocationMetadata { + /** + * App Engine flexible environment is available in the given + * location.@OutputOnly + */ + flexibleEnvironmentAvailable?: boolean; + /** + * App Engine standard environment is available in the given + * location.@OutputOnly + */ + standardEnvironmentAvailable?: boolean; + } + /** + * A module with manual scaling runs continuously, allowing you to perform + * complex initialization and rely on the state of its memory over time. + */ + interface Schema$ManualScaling { + /** + * Number of instances to assign to the module at the start. This number can + * later be altered by using the Modules API + * (https://cloud.google.com/appengine/docs/python/modules/functions) + * set_num_instances() function. + */ + instances?: number; + } + /** + * A Module resource is a logical component of an application that can share + * state and communicate in a secure fashion with other modules. For example, + * an application that handles customer requests might include separate + * modules to handle tasks such as backend data analysis or API requests from + * mobile devices. Each module has a collection of versions that define a + * specific set of code used to implement the functionality of that module. + */ + interface Schema$Module { + /** + * Relative name of the module within the application. Example: + * default.@OutputOnly + */ + id?: string; + /** + * Full path to the Module resource in the API. Example: + * apps/myapp/modules/default.@OutputOnly + */ + name?: string; + /** + * Mapping that defines fractional HTTP traffic diversion to different + * versions within the module. + */ + split?: Schema$TrafficSplit; + } + /** + * Extra network settings. Only applicable for VM runtimes. + */ + interface Schema$Network { + /** + * List of ports, or port pairs, to forward from the virtual machine to the + * application container. + */ + forwardedPorts?: string[]; + /** + * Tag to apply to the VM instance during creation. + */ + instanceTag?: string; + /** + * Google Cloud Platform network where the virtual machines are created. + * Specify the short name, not the resource path.Defaults to default. + */ + name?: string; + } + /** + * Target scaling by network usage. Only applicable for VM runtimes. + */ + interface Schema$NetworkUtilization { + /** + * Target bytes received per second. + */ + targetReceivedBytesPerSec?: number; + /** + * Target packets received per second. + */ + targetReceivedPacketsPerSec?: number; + /** + * Target bytes sent per second. + */ + targetSentBytesPerSec?: number; + /** + * Target packets sent per second. + */ + targetSentPacketsPerSec?: number; + } + /** + * This resource represents a long-running operation that is the result of a + * network API call. + */ + interface Schema$Operation { + /** + * If the value is false, it means the operation is still in progress. If + * true, the operation is completed, and either error or response is + * available. + */ + done?: boolean; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * Service-specific metadata associated with the operation. It typically + * contains progress information and common metadata such as create time. + * Some services might not provide such metadata. Any method that returns a + * long-running operation should document the metadata type, if any. + */ + metadata?: any; + /** + * The server-assigned name, which is only unique within the same service + * that originally returns it. If you use the default HTTP mapping, the name + * should have the format of operations/some/unique/name. + */ + name?: string; + /** + * The normal response of the operation in case of success. If the original + * method returns no data on success, such as Delete, the response is + * google.protobuf.Empty. If the original method is standard + * Get/Create/Update, the response should be the resource. For other + * methods, the response should have the type XxxResponse, where Xxx is the + * original method name. For example, if the original method name is + * TakeSnapshot(), the inferred response type is TakeSnapshotResponse. + */ + response?: any; + } + /** + * Metadata for the given google.longrunning.Operation. + */ + interface Schema$OperationMetadata { + /** + * Timestamp that this operation completed.@OutputOnly + */ + endTime?: string; + /** + * Timestamp that this operation was created.@OutputOnly + */ + insertTime?: string; + /** + * API method that initiated this operation. Example: + * google.appengine.v1beta4.Version.CreateVersion.@OutputOnly + */ + method?: string; + /** + * Type of this operation. Deprecated, use method field instead. Example: + * "create_version".@OutputOnly + */ + operationType?: string; + /** + * Name of the resource that this operation is acting on. Example: + * apps/myapp/modules/default.@OutputOnly + */ + target?: string; + /** + * User who requested this operation.@OutputOnly + */ + user?: string; + } + /** + * Metadata for the given google.longrunning.Operation. + */ + interface Schema$OperationMetadataV1 { + createVersionMetadata?: Schema$CreateVersionMetadataV1; + /** + * Time that this operation completed.@OutputOnly + */ + endTime?: string; + /** + * Ephemeral message that may change every time the operation is polled. + * @OutputOnly + */ + ephemeralMessage?: string; + /** + * Time that this operation was created.@OutputOnly + */ + insertTime?: string; + /** + * API method that initiated this operation. Example: + * google.appengine.v1.Versions.CreateVersion.@OutputOnly + */ + method?: string; + /** + * Name of the resource that this operation is acting on. Example: + * apps/myapp/services/default.@OutputOnly + */ + target?: string; + /** + * User who requested this operation.@OutputOnly + */ + user?: string; + /** + * Durable messages that persist on every operation poll. @OutputOnly + */ + warning?: string[]; + } + /** + * Metadata for the given google.longrunning.Operation. + */ + interface Schema$OperationMetadataV1Alpha { + createVersionMetadata?: Schema$CreateVersionMetadataV1Alpha; + /** + * Time that this operation completed.@OutputOnly + */ + endTime?: string; + /** + * Ephemeral message that may change every time the operation is polled. + * @OutputOnly + */ + ephemeralMessage?: string; + /** + * Time that this operation was created.@OutputOnly + */ + insertTime?: string; + /** + * API method that initiated this operation. Example: + * google.appengine.v1alpha.Versions.CreateVersion.@OutputOnly + */ + method?: string; + /** + * Name of the resource that this operation is acting on. Example: + * apps/myapp/services/default.@OutputOnly + */ + target?: string; + /** + * User who requested this operation.@OutputOnly + */ + user?: string; + /** + * Durable messages that persist on every operation poll. @OutputOnly + */ + warning?: string[]; + } + /** + * Metadata for the given google.longrunning.Operation. + */ + interface Schema$OperationMetadataV1Beta { + createVersionMetadata?: Schema$CreateVersionMetadataV1Beta; + /** + * Time that this operation completed.@OutputOnly + */ + endTime?: string; + /** + * Ephemeral message that may change every time the operation is polled. + * @OutputOnly + */ + ephemeralMessage?: string; + /** + * Time that this operation was created.@OutputOnly + */ + insertTime?: string; + /** + * API method that initiated this operation. Example: + * google.appengine.v1beta.Versions.CreateVersion.@OutputOnly + */ + method?: string; + /** + * Name of the resource that this operation is acting on. Example: + * apps/myapp/services/default.@OutputOnly + */ + target?: string; + /** + * User who requested this operation.@OutputOnly + */ + user?: string; + /** + * Durable messages that persist on every operation poll. @OutputOnly + */ + warning?: string[]; + } + /** + * Metadata for the given google.longrunning.Operation. + */ + interface Schema$OperationMetadataV1Beta5 { + /** + * Timestamp that this operation completed.@OutputOnly + */ + endTime?: string; + /** + * Timestamp that this operation was created.@OutputOnly + */ + insertTime?: string; + /** + * API method name that initiated this operation. Example: + * google.appengine.v1beta5.Version.CreateVersion.@OutputOnly + */ + method?: string; + /** + * Name of the resource that this operation is acting on. Example: + * apps/myapp/services/default.@OutputOnly + */ + target?: string; + /** + * User who requested this operation.@OutputOnly + */ + user?: string; + } + /** + * Target scaling by request utilization. Only applicable for VM runtimes. + */ + interface Schema$RequestUtilization { + /** + * Target number of concurrent requests. + */ + targetConcurrentRequests?: number; + /** + * Target requests per second. + */ + targetRequestCountPerSec?: number; + } + /** + * Machine resources for a version. + */ + interface Schema$Resources { + /** + * Number of CPU cores needed. + */ + cpu?: number; + /** + * Disk size (GB) needed. + */ + diskGb?: number; + /** + * Memory (GB) needed. + */ + memoryGb?: number; + /** + * User specified volumes. + */ + volumes?: Schema$Volume[]; + } + /** + * Executes a script to handle the request that matches the URL pattern. + */ + interface Schema$ScriptHandler { + /** + * Path to the script from the application root directory. + */ + scriptPath?: string; + } + /** + * Reference to a particular snapshot of the source tree used to build and + * deploy the application. + */ + interface Schema$SourceReference { + /** + * URI string identifying the repository. Example: + * "https://source.developers.google.com/p/app-123/r/default" + */ + repository?: string; + /** + * The canonical, persistent identifier of the deployed revision. Aliases + * that include tags or branch names are not allowed. Example (git): + * "2198322f89e0bb2e25021667c2ed489d1fd34e6b" + */ + revisionId?: string; + } + /** + * Files served directly to the user for a given URL, such as images, CSS + * stylesheets, or JavaScript source files. Static directory handlers make it + * easy to serve the entire contents of a directory as static files. + */ + interface Schema$StaticDirectoryHandler { + /** + * Whether files should also be uploaded as code data. By default, files + * declared in static directory handlers are uploaded as static data and are + * only served to end users; they cannot be read by the application. If + * enabled, uploads are charged against both your code and static data + * storage resource quotas. + */ + applicationReadable?: boolean; + /** + * Path to the directory containing the static files from the application + * root directory. Everything after the end of the matched URL pattern is + * appended to static_dir to form the full path to the requested file. + */ + directory?: string; + /** + * Time a static file served by this handler should be cached. + */ + expiration?: string; + /** + * HTTP headers to use for all responses from these URLs. + */ + httpHeaders?: any; + /** + * MIME type used to serve all files served by this handler. Defaults to + * file-specific MIME types, which are direved from each file's filename + * extension. + */ + mimeType?: string; + /** + * Whether this handler should match the request if the file referenced by + * the handler does not exist. + */ + requireMatchingFile?: boolean; + } + /** + * Files served directly to the user for a given URL, such as images, CSS + * stylesheets, or JavaScript source files. Static file handlers describe + * which files in the application directory are static files, and which URLs + * serve them. + */ + interface Schema$StaticFilesHandler { + /** + * Whether files should also be uploaded as code data. By default, files + * declared in static file handlers are uploaded as static data and are only + * served to end users; they cannot be read by the application. If enabled, + * uploads are charged against both your code and static data storage + * resource quotas. + */ + applicationReadable?: boolean; + /** + * Time a static file served by this handler should be cached. + */ + expiration?: string; + /** + * HTTP headers to use for all responses from these URLs. + */ + httpHeaders?: any; + /** + * MIME type used to serve all files served by this handler. Defaults to + * file-specific MIME types, which are derived from each file's filename + * extension. + */ + mimeType?: string; + /** + * Path to the static files matched by the URL pattern, from the application + * root directory. The path can refer to text matched in groupings in the + * URL pattern. + */ + path?: string; + /** + * Whether this handler should match the request if the file referenced by + * the handler does not exist. + */ + requireMatchingFile?: boolean; + /** + * Regular expression that matches the file paths for all files that should + * be referenced by this handler. + */ + uploadPathRegex?: string; + } + /** + * 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). The error model is designed to be: + * Simple to use and understand for most users Flexible enough to meet + * unexpected needsOverviewThe Status message contains three pieces of data: + * error code, error message, and error details. The error code should be an + * enum value of google.rpc.Code, but it may accept additional error codes if + * needed. The error message should be a developer-facing English message that + * helps developers understand and resolve the error. If a localized + * user-facing error message is needed, put the localized message in the error + * details or localize it in the client. The optional error details may + * contain arbitrary information about the error. There is a predefined set of + * error detail types in the package google.rpc that can be used for common + * error conditions.Language mappingThe Status message is the logical + * representation of the error model, but it is not necessarily the actual + * wire format. When the Status message is exposed in different client + * libraries and different wire protocols, it can be mapped differently. For + * example, it will likely be mapped to some exceptions in Java, but more + * likely mapped to some error codes in C.Other usesThe error model and the + * Status message can be used in a variety of environments, either with or + * without APIs, to provide a consistent developer experience across different + * environments.Example uses of this error model include: Partial errors. If a + * service needs to return partial errors to the client, it may embed the + * Status in the normal response to indicate the partial errors. Workflow + * errors. A typical workflow has multiple steps. Each step may have a Status + * message for error reporting. Batch operations. If a client uses batch + * request and batch response, the Status message should be used directly + * inside batch response, one for each error sub-response. Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the Status message. Logging. If some API errors are stored in logs, + * the message Status could be used directly after any stripping needed for + * security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set of + * message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + /** + * Traffic routing configuration for versions within a single module. Traffic + * splits define how traffic directed to the module is assigned to versions. + */ + interface Schema$TrafficSplit { + /** + * Mapping from version IDs within the module to fractional (0.000, 1] + * allocations of traffic for that version. Each version can be specified + * only once, but some versions in the module may not have any traffic + * allocation. Modules that have traffic allocated cannot be deleted until + * either the module is deleted or their traffic allocation is removed. + * Allocations must sum to 1. Up to two decimal place precision is supported + * for IP-based splits and up to three decimal places is supported for + * cookie-based splits. + */ + allocations?: any; + /** + * Mechanism used to determine which version a request is sent to. The + * traffic selection algorithm will be stable for either type until + * allocations are changed. + */ + shardBy?: string; + } + /** + * Rules to match an HTTP request and dispatch that request to a module. + */ + interface Schema$UrlDispatchRule { + /** + * Domain name to match against. The wildcard "*" is supported if + * specified before a period: "*.".Defaults to matching all + * domains: "*". + */ + domain?: string; + /** + * Resource ID of a module in this application that should serve the matched + * request. The module must already exist. Example: default. + */ + module?: string; + /** + * Pathname within the host. Must start with a "/". A single + * "*" can be included at the end of the path. The sum of the + * lengths of the domain and path may not exceed 100 characters. + */ + path?: string; + } + /** + * URL pattern and description of how the URL should be handled. App Engine + * can handle URLs by executing application code, or by serving static files + * uploaded with the version, such as images, CSS, or JavaScript. + */ + interface Schema$UrlMap { + /** + * Uses API Endpoints to handle requests. + */ + apiEndpoint?: Schema$ApiEndpointHandler; + /** + * Action to take when users access resources that require authentication. + * Defaults to redirect. + */ + authFailAction?: string; + /** + * Level of login required to access this resource. + */ + login?: string; + /** + * 30x code to use when performing redirects for the secure field. Defaults + * to 302. + */ + redirectHttpResponseCode?: string; + /** + * Executes a script to handle the request that matches this URL pattern. + */ + script?: Schema$ScriptHandler; + /** + * Security (HTTPS) enforcement for this URL. + */ + securityLevel?: string; + /** + * Serves the entire contents of a directory as static files.This attribute + * is deprecated. You can mimic the behavior of static directories using + * static files. + */ + staticDirectory?: Schema$StaticDirectoryHandler; + /** + * Returns the contents of a file, such as an image, as the response. + */ + staticFiles?: Schema$StaticFilesHandler; + /** + * A URL prefix. Uses regular expression syntax, which means regexp special + * characters must be escaped, but should not contain groupings. All URLs + * that begin with this prefix are handled by this handler, using the + * portion of the URL after the prefix as part of the file path. + */ + urlRegex?: string; + } + /** + * A Version resource is a specific set of source code and configuration files + * that are deployed into a module. + */ + interface Schema$Version { + /** + * Serving configuration for Google Cloud Endpoints + * (https://cloud.google.com/appengine/docs/python/endpoints/).Only returned + * in GET requests if view=FULL is set. + */ + apiConfig?: Schema$ApiConfigHandler; + /** + * Automatic scaling is based on request rate, response latencies, and other + * application metrics. + */ + automaticScaling?: Schema$AutomaticScaling; + /** + * A module with basic scaling will create an instance when the application + * receives a request. The instance will be turned down when the app becomes + * idle. Basic scaling is ideal for work that is intermittent or driven by + * user activity. + */ + basicScaling?: Schema$BasicScaling; + /** + * Metadata settings that are supplied to this version to enable beta + * runtime features. + */ + betaSettings?: any; + /** + * Time that this version was created.@OutputOnly + */ + creationTime?: string; + /** + * Duration that static files should be cached by web proxies and browsers. + * Only applicable if the corresponding StaticFilesHandler + * (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#staticfileshandler) + * does not specify its own expiration time.Only returned in GET requests if + * view=FULL is set. + */ + defaultExpiration?: string; + /** + * Email address of the user who created this version.@OutputOnly + */ + deployer?: string; + /** + * Code and application artifacts that make up this version.Only returned in + * GET requests if view=FULL is set. + */ + deployment?: Schema$Deployment; + /** + * Cloud Endpoints configuration.If endpoints_api_service is set, the Cloud + * Endpoints Extensible Service Proxy will be provided to serve the API + * implemented by the app. + */ + endpointsApiService?: Schema$EndpointsApiService; + /** + * App Engine execution environment to use for this version.Defaults to 1. + */ + env?: string; + /** + * Environment variables made available to the application.Only returned in + * GET requests if view=FULL is set. + */ + envVariables?: any; + /** + * Custom static error pages. Limited to 10KB per page.Only returned in GET + * requests if view=FULL is set. + */ + errorHandlers?: Schema$ErrorHandler[]; + /** + * An ordered list of URL-matching patterns that should be applied to + * incoming requests. The first matching URL handles the request and other + * request handlers are not attempted.Only returned in GET requests if + * view=FULL is set. + */ + handlers?: Schema$UrlMap[]; + /** + * Configures health checking for VM instances. Unhealthy instances are + * stopped and replaced with new instances. Only applicable for VM + * runtimes.Only returned in GET requests if view=FULL is set. + */ + healthCheck?: Schema$HealthCheck; + /** + * Relative name of the version within the module. Example: v1. Version + * names can contain only lowercase letters, numbers, or hyphens. Reserved + * names: "default", "latest", and any name with the + * prefix "ah-". + */ + id?: string; + /** + * Before an application can receive email or XMPP messages, the application + * must be configured to enable the service. + */ + inboundServices?: string[]; + /** + * Instance class that is used to run this version. Valid values are: + * AutomaticScaling: F1, F2, F4, F4_1G ManualScaling or BasicScaling: B1, + * B2, B4, B8, B4_1GDefaults to F1 for AutomaticScaling and B1 for + * ManualScaling or BasicScaling. + */ + instanceClass?: string; + /** + * Configuration for third-party Python runtime libraries required by the + * application.Only returned in GET requests if view=FULL is set. + */ + libraries?: Schema$Library[]; + /** + * A module with manual scaling runs continuously, allowing you to perform + * complex initialization and rely on the state of its memory over time. + */ + manualScaling?: Schema$ManualScaling; + /** + * Full path to the Version resource in the API. Example: + * apps/myapp/modules/default/versions/v1.@OutputOnly + */ + name?: string; + /** + * Extra network settings. Only applicable for VM runtimes. + */ + network?: Schema$Network; + /** + * Files that match this pattern will not be built into this version. Only + * applicable for Go runtimes.Only returned in GET requests if view=FULL is + * set. + */ + nobuildFilesRegex?: string; + /** + * Machine resources for this version. Only applicable for VM runtimes. + */ + resources?: Schema$Resources; + /** + * Desired runtime. Example: python27. + */ + runtime?: string; + /** + * The version of the API in the given runtime environment. Please see the + * app.yaml reference for valid values at + * https://cloud.google.com/appengine/docs/standard/<language>/config/appref + */ + runtimeApiVersion?: string; + /** + * Current serving status of this version. Only the versions with a SERVING + * status create instances and can be billed.SERVING_STATUS_UNSPECIFIED is + * an invalid value. Defaults to SERVING. + */ + servingStatus?: string; + /** + * Whether multiple requests can be dispatched to this version at once. + */ + threadsafe?: boolean; + /** + * Whether to deploy this version in a container on a virtual machine. + */ + vm?: boolean; + } + /** + * Volumes mounted within the app container. Only applicable for VM runtimes. + */ + interface Schema$Volume { + /** + * Unique name for the volume. + */ + name?: string; + /** + * Volume size in gigabytes. + */ + sizeGb?: number; + /** + * Underlying volume type, e.g. 'tmpfs'. + */ + volumeType?: string; + } + class Resource$Apps { + root: Appengine; + locations: Resource$Apps$Locations; + modules: Resource$Apps$Modules; + operations: Resource$Apps$Operations; + constructor(root: Appengine); + getRoot(): Appengine; + /** + * appengine.apps.create + * @desc Creates an App Engine application for a Google Cloud Platform + * project. Required fields: id - The ID of the target Cloud Platform + * project. location - The region + * (https://cloud.google.com/appengine/docs/locations) where you want the + * App Engine application located.For more information about App Engine + * applications, see Managing Projects, Applications, and Billing + * (https://cloud.google.com/appengine/docs/python/console/). + * @alias appengine.apps.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().Application} 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 + */ + create(params?: Params$Resource$Apps$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Apps$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Apps$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * appengine.apps.get + * @desc Gets information about an application. + * @alias appengine.apps.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the application to get. Example: apps/myapp. + * @param {boolean=} params.ensureResourcesExist Certain resources associated with an application are created on-demand. Controls whether these resources should be created when performing the GET operation. If specified and any resources could not be created, the request will fail with an error code. Additionally, this parameter can cause the request to take longer to complete. + * @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?: Params$Resource$Apps$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Apps$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Apps$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * appengine.apps.patch + * @desc Updates the specified Application resource. You can update the + * following fields: auth_domain + * (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta4/apps#Application.FIELDS.auth_domain) + * default_cookie_expiration + * (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta4/apps#Application.FIELDS.default_cookie_expiration) + * @alias appengine.apps.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the Application resource to update. Example: apps/myapp. + * @param {string=} params.mask Standard field mask for the set of fields to be updated. + * @param {().Application} 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 + */ + patch(params?: Params$Resource$Apps$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Apps$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Apps$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Apps$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$Application; + } + interface Params$Resource$Apps$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the application to get. Example: apps/myapp. + */ + appsId?: string; + /** + * Certain resources associated with an application are created on-demand. + * Controls whether these resources should be created when performing the + * GET operation. If specified and any resources could not be created, the + * request will fail with an error code. Additionally, this parameter can + * cause the request to take longer to complete. + */ + ensureResourcesExist?: boolean; + } + interface Params$Resource$Apps$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the Application resource to update. Example: + * apps/myapp. + */ + appsId?: string; + /** + * Standard field mask for the set of fields to be updated. + */ + mask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Application; + } + class Resource$Apps$Locations { + root: Appengine; + constructor(root: Appengine); + getRoot(): Appengine; + /** + * appengine.apps.locations.get + * @desc Gets information about a location. + * @alias appengine.apps.locations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Resource name for the location. + * @param {string} params.locationsId Part of `name`. See documentation of `appsId`. + * @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?: Params$Resource$Apps$Locations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Apps$Locations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Apps$Locations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * appengine.apps.locations.list + * @desc Lists information about the supported locations for this service. + * @alias appengine.apps.locations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. The resource that owns the locations collection, if applicable. + * @param {string=} params.filter The standard list filter. + * @param {integer=} params.pageSize The standard list page size. + * @param {string=} params.pageToken The standard list page token. + * @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?: Params$Resource$Apps$Locations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Apps$Locations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Apps$Locations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Apps$Locations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Resource name for the location. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + locationsId?: string; + } + interface Params$Resource$Apps$Locations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. The resource that owns the locations collection, if + * applicable. + */ + appsId?: string; + /** + * The standard list filter. + */ + filter?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } + class Resource$Apps$Modules { + root: Appengine; + versions: Resource$Apps$Modules$Versions; + constructor(root: Appengine); + getRoot(): Appengine; + /** + * appengine.apps.modules.delete + * @desc Deletes the specified module and all enclosed versions. + * @alias appengine.apps.modules.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource requested. Example: apps/myapp/modules/default. + * @param {string} params.modulesId Part of `name`. See documentation of `appsId`. + * @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?: Params$Resource$Apps$Modules$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Apps$Modules$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Apps$Modules$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * appengine.apps.modules.get + * @desc Gets the current configuration of the specified module. + * @alias appengine.apps.modules.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource requested. Example: apps/myapp/modules/default. + * @param {string} params.modulesId Part of `name`. See documentation of `appsId`. + * @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?: Params$Resource$Apps$Modules$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Apps$Modules$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Apps$Modules$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * appengine.apps.modules.list + * @desc Lists all the modules in the application. + * @alias appengine.apps.modules.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource requested. Example: apps/myapp. + * @param {integer=} params.pageSize Maximum results to return per page. + * @param {string=} params.pageToken Continuation token for fetching the next page of results. + * @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?: Params$Resource$Apps$Modules$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Apps$Modules$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Apps$Modules$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * appengine.apps.modules.patch + * @desc Updates the configuration of the specified module. + * @alias appengine.apps.modules.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource to update. Example: apps/myapp/modules/default. + * @param {string=} params.mask Standard field mask for the set of fields to be updated. + * @param {boolean=} params.migrateTraffic Set to true to gradually shift traffic to one or more versions that you specify. By default, traffic is shifted immediately. For gradual traffic migration, the target versions must be located within instances that are configured for both warmup requests (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta4/apps.modules.versions#inboundservicetype) and automatic scaling (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta4/apps.modules.versions#automaticscaling). You must specify the shardBy (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta4/apps.modules#shardby) field in the Module resource. Gradual traffic migration is not supported in the App Engine flexible environment. For examples, see Migrating and Splitting Traffic (https://cloud.google.com/appengine/docs/admin-api/migrating-splitting-traffic). + * @param {string} params.modulesId Part of `name`. See documentation of `appsId`. + * @param {().Module} 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 + */ + patch(params?: Params$Resource$Apps$Modules$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Apps$Modules$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Apps$Modules$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Apps$Modules$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource requested. Example: + * apps/myapp/modules/default. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + modulesId?: string; + } + interface Params$Resource$Apps$Modules$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource requested. Example: + * apps/myapp/modules/default. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + modulesId?: string; + } + interface Params$Resource$Apps$Modules$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource requested. Example: apps/myapp. + */ + appsId?: string; + /** + * Maximum results to return per page. + */ + pageSize?: number; + /** + * Continuation token for fetching the next page of results. + */ + pageToken?: string; + } + interface Params$Resource$Apps$Modules$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource to update. Example: + * apps/myapp/modules/default. + */ + appsId?: string; + /** + * Standard field mask for the set of fields to be updated. + */ + mask?: string; + /** + * Set to true to gradually shift traffic to one or more versions that you + * specify. By default, traffic is shifted immediately. For gradual traffic + * migration, the target versions must be located within instances that are + * configured for both warmup requests + * (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta4/apps.modules.versions#inboundservicetype) + * and automatic scaling + * (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta4/apps.modules.versions#automaticscaling). + * You must specify the shardBy + * (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta4/apps.modules#shardby) + * field in the Module resource. Gradual traffic migration is not supported + * in the App Engine flexible environment. For examples, see Migrating and + * Splitting Traffic + * (https://cloud.google.com/appengine/docs/admin-api/migrating-splitting-traffic). + */ + migrateTraffic?: boolean; + /** + * Part of `name`. See documentation of `appsId`. + */ + modulesId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Module; + } + class Resource$Apps$Modules$Versions { + root: Appengine; + instances: Resource$Apps$Modules$Versions$Instances; + constructor(root: Appengine); + getRoot(): Appengine; + /** + * appengine.apps.modules.versions.create + * @desc Deploys code and resource files to a new version. + * @alias appengine.apps.modules.versions.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource to update. Example: apps/myapp/modules/default. + * @param {string} params.modulesId Part of `name`. See documentation of `appsId`. + * @param {().Version} 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 + */ + create(params?: Params$Resource$Apps$Modules$Versions$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Apps$Modules$Versions$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Apps$Modules$Versions$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * appengine.apps.modules.versions.delete + * @desc Deletes an existing version. + * @alias appengine.apps.modules.versions.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource requested. Example: apps/myapp/modules/default/versions/v1. + * @param {string} params.modulesId Part of `name`. See documentation of `appsId`. + * @param {string} params.versionsId Part of `name`. See documentation of `appsId`. + * @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?: Params$Resource$Apps$Modules$Versions$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Apps$Modules$Versions$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Apps$Modules$Versions$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * appengine.apps.modules.versions.get + * @desc Gets the specified Version resource. By default, only a BASIC_VIEW + * will be returned. Specify the FULL_VIEW parameter to get the full + * resource. + * @alias appengine.apps.modules.versions.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource requested. Example: apps/myapp/modules/default/versions/v1. + * @param {string} params.modulesId Part of `name`. See documentation of `appsId`. + * @param {string} params.versionsId Part of `name`. See documentation of `appsId`. + * @param {string=} params.view Controls the set of fields returned in the Get response. + * @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?: Params$Resource$Apps$Modules$Versions$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Apps$Modules$Versions$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Apps$Modules$Versions$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * appengine.apps.modules.versions.list + * @desc Lists the versions of a module. + * @alias appengine.apps.modules.versions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource requested. Example: apps/myapp/modules/default. + * @param {string} params.modulesId Part of `name`. See documentation of `appsId`. + * @param {integer=} params.pageSize Maximum results to return per page. + * @param {string=} params.pageToken Continuation token for fetching the next page of results. + * @param {string=} params.view Controls the set of fields returned in the List response. + * @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?: Params$Resource$Apps$Modules$Versions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Apps$Modules$Versions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Apps$Modules$Versions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * appengine.apps.modules.versions.patch + * @desc Updates the specified Version resource. You can specify the + * following fields depending on the App Engine environment and type of + * scaling that the version resource uses: serving_status + * (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta4/apps.modules.versions#Version.FIELDS.serving_status): + * For Version resources that use basic scaling, manual scaling, or run in + * the App Engine flexible environment. instance_class + * (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta4/apps.modules.versions#Version.FIELDS.instance_class): + * For Version resources that run in the App Engine standard environment. + * automatic_scaling.min_idle_instances + * (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta4/apps.modules.versions#Version.FIELDS.automatic_scaling): + * For Version resources that use automatic scaling and run in the App + * Engine standard environment. automatic_scaling.max_idle_instances + * (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta4/apps.modules.versions#Version.FIELDS.automatic_scaling): + * For Version resources that use automatic scaling and run in the App + * Engine standard environment. + * @alias appengine.apps.modules.versions.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource to update. Example: apps/myapp/modules/default/versions/1. + * @param {string=} params.mask Standard field mask for the set of fields to be updated. + * @param {string} params.modulesId Part of `name`. See documentation of `appsId`. + * @param {string} params.versionsId Part of `name`. See documentation of `appsId`. + * @param {().Version} 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 + */ + patch(params?: Params$Resource$Apps$Modules$Versions$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Apps$Modules$Versions$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Apps$Modules$Versions$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Apps$Modules$Versions$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource to update. Example: + * apps/myapp/modules/default. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + modulesId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Version; + } + interface Params$Resource$Apps$Modules$Versions$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource requested. Example: + * apps/myapp/modules/default/versions/v1. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + modulesId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + versionsId?: string; + } + interface Params$Resource$Apps$Modules$Versions$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource requested. Example: + * apps/myapp/modules/default/versions/v1. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + modulesId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + versionsId?: string; + /** + * Controls the set of fields returned in the Get response. + */ + view?: string; + } + interface Params$Resource$Apps$Modules$Versions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource requested. Example: + * apps/myapp/modules/default. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + modulesId?: string; + /** + * Maximum results to return per page. + */ + pageSize?: number; + /** + * Continuation token for fetching the next page of results. + */ + pageToken?: string; + /** + * Controls the set of fields returned in the List response. + */ + view?: string; + } + interface Params$Resource$Apps$Modules$Versions$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource to update. Example: + * apps/myapp/modules/default/versions/1. + */ + appsId?: string; + /** + * Standard field mask for the set of fields to be updated. + */ + mask?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + modulesId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + versionsId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Version; + } + class Resource$Apps$Modules$Versions$Instances { + root: Appengine; + constructor(root: Appengine); + getRoot(): Appengine; + /** + * appengine.apps.modules.versions.instances.debug + * @desc Enables debugging on a VM instance. This allows you to use the SSH + * command to connect to the virtual machine where the instance lives. While + * in "debug mode", the instance continues to serve live traffic. You should + * delete the instance when you are done debugging and then allow the system + * to take over and determine if another instance should be started.Only + * applicable for instances in App Engine flexible environment. + * @alias appengine.apps.modules.versions.instances.debug + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource requested. Example: apps/myapp/modules/default/versions/v1/instances/instance-1. + * @param {string} params.instancesId Part of `name`. See documentation of `appsId`. + * @param {string} params.modulesId Part of `name`. See documentation of `appsId`. + * @param {string} params.versionsId Part of `name`. See documentation of `appsId`. + * @param {().DebugInstanceRequest} 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 + */ + debug(params?: Params$Resource$Apps$Modules$Versions$Instances$Debug, options?: MethodOptions): AxiosPromise; + debug(params: Params$Resource$Apps$Modules$Versions$Instances$Debug, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + debug(params: Params$Resource$Apps$Modules$Versions$Instances$Debug, callback: BodyResponseCallback): void; + debug(callback: BodyResponseCallback): void; + /** + * appengine.apps.modules.versions.instances.delete + * @desc Stops a running instance. + * @alias appengine.apps.modules.versions.instances.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource requested. Example: apps/myapp/modules/default/versions/v1/instances/instance-1. + * @param {string} params.instancesId Part of `name`. See documentation of `appsId`. + * @param {string} params.modulesId Part of `name`. See documentation of `appsId`. + * @param {string} params.versionsId Part of `name`. See documentation of `appsId`. + * @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?: Params$Resource$Apps$Modules$Versions$Instances$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Apps$Modules$Versions$Instances$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Apps$Modules$Versions$Instances$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * appengine.apps.modules.versions.instances.get + * @desc Gets instance information. + * @alias appengine.apps.modules.versions.instances.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource requested. Example: apps/myapp/modules/default/versions/v1/instances/instance-1. + * @param {string} params.instancesId Part of `name`. See documentation of `appsId`. + * @param {string} params.modulesId Part of `name`. See documentation of `appsId`. + * @param {string} params.versionsId Part of `name`. See documentation of `appsId`. + * @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?: Params$Resource$Apps$Modules$Versions$Instances$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Apps$Modules$Versions$Instances$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Apps$Modules$Versions$Instances$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * appengine.apps.modules.versions.instances.list + * @desc Lists the instances of a version.Tip: To aggregate details about + * instances over time, see the Stackdriver Monitoring API + * (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list). + * @alias appengine.apps.modules.versions.instances.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource requested. Example: apps/myapp/modules/default/versions/v1. + * @param {string} params.modulesId Part of `name`. See documentation of `appsId`. + * @param {integer=} params.pageSize Maximum results to return per page. + * @param {string=} params.pageToken Continuation token for fetching the next page of results. + * @param {string} params.versionsId Part of `name`. See documentation of `appsId`. + * @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?: Params$Resource$Apps$Modules$Versions$Instances$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Apps$Modules$Versions$Instances$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Apps$Modules$Versions$Instances$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Apps$Modules$Versions$Instances$Debug { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource requested. Example: + * apps/myapp/modules/default/versions/v1/instances/instance-1. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + instancesId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + modulesId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + versionsId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DebugInstanceRequest; + } + interface Params$Resource$Apps$Modules$Versions$Instances$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource requested. Example: + * apps/myapp/modules/default/versions/v1/instances/instance-1. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + instancesId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + modulesId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + versionsId?: string; + } + interface Params$Resource$Apps$Modules$Versions$Instances$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource requested. Example: + * apps/myapp/modules/default/versions/v1/instances/instance-1. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + instancesId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + modulesId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + versionsId?: string; + } + interface Params$Resource$Apps$Modules$Versions$Instances$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource requested. Example: + * apps/myapp/modules/default/versions/v1. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + modulesId?: string; + /** + * Maximum results to return per page. + */ + pageSize?: number; + /** + * Continuation token for fetching the next page of results. + */ + pageToken?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + versionsId?: string; + } + class Resource$Apps$Operations { + root: Appengine; + constructor(root: Appengine); + getRoot(): Appengine; + /** + * appengine.apps.operations.get + * @desc Gets the latest state of a long-running operation. Clients can use + * this method to poll the operation result at intervals as recommended by + * the API service. + * @alias appengine.apps.operations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. The name of the operation resource. + * @param {string} params.operationsId Part of `name`. See documentation of `appsId`. + * @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?: Params$Resource$Apps$Operations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Apps$Operations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Apps$Operations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * appengine.apps.operations.list + * @desc Lists operations that match the specified filter in the request. If + * the server doesn't support this method, it returns UNIMPLEMENTED.NOTE: + * the name binding allows API services to override the binding to use + * different resource name schemes, such as users/x/operations. To override + * the binding, API services can add a binding such as + * "/v1/{name=users/x}/operations" to their service configuration. For + * backwards compatibility, the default name includes the operations + * collection id, however overriding users must ensure the name binding is + * the parent resource, without the operations collection id. + * @alias appengine.apps.operations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. The name of the operation's parent resource. + * @param {string=} params.filter The standard list filter. + * @param {integer=} params.pageSize The standard list page size. + * @param {string=} params.pageToken The standard list page token. + * @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?: Params$Resource$Apps$Operations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Apps$Operations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Apps$Operations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Apps$Operations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. The name of the operation resource. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + operationsId?: string; + } + interface Params$Resource$Apps$Operations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. The name of the operation's parent resource. + */ + appsId?: string; + /** + * The standard list filter. + */ + filter?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/appengine/v1beta4.js b/express-server/node_modules/googleapis/build/src/apis/appengine/v1beta4.js new file mode 100644 index 00000000..84b7bf53 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/appengine/v1beta4.js @@ -0,0 +1,749 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var appengine_v1beta4; +(function (appengine_v1beta4) { + /** + * App Engine Admin API + * + * The App Engine Admin API enables developers to provision and manage their + * App Engine applications. + * + * @example + * const {google} = require('googleapis'); + * const appengine = google.appengine('v1beta4'); + * + * @namespace appengine + * @type {Function} + * @version v1beta4 + * @variation v1beta4 + * @param {object=} options Options for Appengine + */ + class Appengine { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.apps = new Resource$Apps(this); + } + getRoot() { + return this.root; + } + } + appengine_v1beta4.Appengine = Appengine; + class Resource$Apps { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.locations = new Resource$Apps$Locations(root); + this.modules = new Resource$Apps$Modules(root); + this.operations = new Resource$Apps$Operations(root); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta4/apps').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta4/apps/{appsId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId'], + pathParams: ['appsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta4/apps/{appsId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['appsId'], + pathParams: ['appsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + appengine_v1beta4.Resource$Apps = Resource$Apps; + class Resource$Apps$Locations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta4/apps/{appsId}/locations/{locationsId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId', 'locationsId'], + pathParams: ['appsId', 'locationsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta4/apps/{appsId}/locations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId'], + pathParams: ['appsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + appengine_v1beta4.Resource$Apps$Locations = Resource$Apps$Locations; + class Resource$Apps$Modules { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.versions = new Resource$Apps$Modules$Versions(root); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta4/apps/{appsId}/modules/{modulesId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['appsId', 'modulesId'], + pathParams: ['appsId', 'modulesId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta4/apps/{appsId}/modules/{modulesId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId', 'modulesId'], + pathParams: ['appsId', 'modulesId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta4/apps/{appsId}/modules') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId'], + pathParams: ['appsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta4/apps/{appsId}/modules/{modulesId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['appsId', 'modulesId'], + pathParams: ['appsId', 'modulesId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + appengine_v1beta4.Resource$Apps$Modules = Resource$Apps$Modules; + class Resource$Apps$Modules$Versions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.instances = new Resource$Apps$Modules$Versions$Instances(root); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta4/apps/{appsId}/modules/{modulesId}/versions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['appsId', 'modulesId'], + pathParams: ['appsId', 'modulesId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta4/apps/{appsId}/modules/{modulesId}/versions/{versionsId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['appsId', 'modulesId', 'versionsId'], + pathParams: ['appsId', 'modulesId', 'versionsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta4/apps/{appsId}/modules/{modulesId}/versions/{versionsId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId', 'modulesId', 'versionsId'], + pathParams: ['appsId', 'modulesId', 'versionsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta4/apps/{appsId}/modules/{modulesId}/versions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId', 'modulesId'], + pathParams: ['appsId', 'modulesId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta4/apps/{appsId}/modules/{modulesId}/versions/{versionsId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['appsId', 'modulesId', 'versionsId'], + pathParams: ['appsId', 'modulesId', 'versionsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + appengine_v1beta4.Resource$Apps$Modules$Versions = Resource$Apps$Modules$Versions; + class Resource$Apps$Modules$Versions$Instances { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + debug(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta4/apps/{appsId}/modules/{modulesId}/versions/{versionsId}/instances/{instancesId}:debug') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['appsId', 'modulesId', 'versionsId', 'instancesId'], + pathParams: ['appsId', 'instancesId', 'modulesId', 'versionsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta4/apps/{appsId}/modules/{modulesId}/versions/{versionsId}/instances/{instancesId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['appsId', 'modulesId', 'versionsId', 'instancesId'], + pathParams: ['appsId', 'instancesId', 'modulesId', 'versionsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta4/apps/{appsId}/modules/{modulesId}/versions/{versionsId}/instances/{instancesId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId', 'modulesId', 'versionsId', 'instancesId'], + pathParams: ['appsId', 'instancesId', 'modulesId', 'versionsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta4/apps/{appsId}/modules/{modulesId}/versions/{versionsId}/instances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId', 'modulesId', 'versionsId'], + pathParams: ['appsId', 'modulesId', 'versionsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + appengine_v1beta4.Resource$Apps$Modules$Versions$Instances = Resource$Apps$Modules$Versions$Instances; + class Resource$Apps$Operations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta4/apps/{appsId}/operations/{operationsId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId', 'operationsId'], + pathParams: ['appsId', 'operationsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta4/apps/{appsId}/operations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId'], + pathParams: ['appsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + appengine_v1beta4.Resource$Apps$Operations = Resource$Apps$Operations; +})(appengine_v1beta4 = exports.appengine_v1beta4 || (exports.appengine_v1beta4 = {})); +//# sourceMappingURL=v1beta4.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/appengine/v1beta4.js.map b/express-server/node_modules/googleapis/build/src/apis/appengine/v1beta4.js.map new file mode 100644 index 00000000..e5676896 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/appengine/v1beta4.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1beta4.js","sourceRoot":"","sources":["../../../../src/apis/appengine/v1beta4.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/appengine/v1beta5.d.ts b/express-server/node_modules/googleapis/build/src/apis/appengine/v1beta5.d.ts new file mode 100644 index 00000000..81986295 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/appengine/v1beta5.d.ts @@ -0,0 +1,2273 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace appengine_v1beta5 { + interface Options extends GlobalOptions { + version: 'v1beta5'; + } + /** + * App Engine Admin API + * + * The App Engine Admin API enables developers to provision and manage their + * App Engine applications. + * + * @example + * const {google} = require('googleapis'); + * const appengine = google.appengine('v1beta5'); + * + * @namespace appengine + * @type {Function} + * @version v1beta5 + * @variation v1beta5 + * @param {object=} options Options for Appengine + */ + class Appengine { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + apps: Resource$Apps; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Google Cloud Endpoints + * (https://cloud.google.com/appengine/docs/python/endpoints/) configuration + * for API handlers. + */ + interface Schema$ApiConfigHandler { + /** + * Action to take when users access resources that require authentication. + * Defaults to redirect. + */ + authFailAction?: string; + /** + * Level of login required to access this resource. Defaults to optional. + */ + login?: string; + /** + * Path to the script from the application root directory. + */ + script?: string; + /** + * Security (HTTPS) enforcement for this URL. + */ + securityLevel?: string; + /** + * URL to serve the endpoint at. + */ + url?: string; + } + /** + * Uses Google Cloud Endpoints to handle requests. + */ + interface Schema$ApiEndpointHandler { + /** + * Path to the script from the application root directory. + */ + scriptPath?: string; + } + /** + * An Application resource contains the top-level configuration of an App + * Engine application. + */ + interface Schema$Application { + /** + * Google Apps authentication domain that controls which users can access + * this application.Defaults to open access for any Google Account. + */ + authDomain?: string; + /** + * A Google Cloud Storage bucket that can be used for storing files + * associated with this application. This bucket is associated with the + * application and can be used by the gcloud deployment commands.@OutputOnly + */ + codeBucket?: string; + /** + * A Google Cloud Storage bucket that can be used by the application to + * store content.@OutputOnly + */ + defaultBucket?: string; + /** + * Cookie expiration policy for this application. + */ + defaultCookieExpiration?: string; + /** + * Hostname used to reach the application, as resolved by App + * Engine.@OutputOnly + */ + defaultHostname?: string; + /** + * HTTP path dispatch rules for requests to the application that do not + * explicitly target a service or version. Rules are + * order-dependent.@OutputOnly + */ + dispatchRules?: Schema$UrlDispatchRule[]; + iap?: Schema$IdentityAwareProxy; + /** + * Identifier of the Application resource. This identifier is equivalent to + * the project ID of the Google Cloud Platform project where you want to + * deploy your application. Example: myapp. + */ + id?: string; + /** + * Location from which this application will be run. Application instances + * will run out of data centers in the chosen location, which is also where + * all of the application's end user content is stored.Defaults to + * us-central.Options are:us-central - Central USeurope-west - Western + * Europeus-east1 - Eastern US + */ + location?: string; + /** + * Full path to the Application resource in the API. Example: + * apps/myapp.@OutputOnly + */ + name?: string; + } + /** + * Automatic scaling is based on request rate, response latencies, and other + * application metrics. + */ + interface Schema$AutomaticScaling { + /** + * The time period that the Autoscaler + * (https://cloud.google.com/compute/docs/autoscaler/) should wait before it + * starts collecting information from a new instance. This prevents the + * autoscaler from collecting information when the instance is initializing, + * during which the collected usage would not be reliable. Only applicable + * in the App Engine flexible environment. + */ + coolDownPeriod?: string; + /** + * Target scaling by CPU usage. + */ + cpuUtilization?: Schema$CpuUtilization; + /** + * Target scaling by disk usage. + */ + diskUtilization?: Schema$DiskUtilization; + /** + * Number of concurrent requests an automatic scaling instance can accept + * before the scheduler spawns a new instance.Defaults to a runtime-specific + * value. + */ + maxConcurrentRequests?: number; + /** + * Maximum number of idle instances that should be maintained for this + * version. + */ + maxIdleInstances?: number; + /** + * Maximum amount of time that a request should wait in the pending queue + * before starting a new instance to handle it. + */ + maxPendingLatency?: string; + /** + * Maximum number of instances that should be started to handle requests. + */ + maxTotalInstances?: number; + /** + * Minimum number of idle instances that should be maintained for this + * version. Only applicable for the default version of a module. + */ + minIdleInstances?: number; + /** + * Minimum amount of time a request should wait in the pending queue before + * starting a new instance to handle it. + */ + minPendingLatency?: string; + /** + * Minimum number of instances that should be maintained for this version. + */ + minTotalInstances?: number; + /** + * Target scaling by network usage. + */ + networkUtilization?: Schema$NetworkUtilization; + /** + * Target scaling by request utilization. + */ + requestUtilization?: Schema$RequestUtilization; + } + /** + * A service with basic scaling will create an instance when the application + * receives a request. The instance will be turned down when the app becomes + * idle. Basic scaling is ideal for work that is intermittent or driven by + * user activity. + */ + interface Schema$BasicScaling { + /** + * Duration of time after the last request that an instance must wait before + * the instance is shut down. + */ + idleTimeout?: string; + /** + * Maximum number of instances to create for this version. + */ + maxInstances?: number; + } + /** + * Docker image that is used to create a container and start a VM instance for + * the version that you deploy. Only applicable for instances running in the + * App Engine flexible environment. + */ + interface Schema$ContainerInfo { + /** + * URI to the hosted container image in Google Container Registry. The URI + * must be fully qualified and include a tag or digest. Examples: + * "gcr.io/my-project/image:tag" or + * "gcr.io/my-project/image@digest" + */ + image?: string; + } + /** + * Target scaling by CPU usage. + */ + interface Schema$CpuUtilization { + /** + * Period of time over which CPU utilization is calculated. + */ + aggregationWindowLength?: string; + /** + * Target CPU utilization ratio to maintain when scaling. Must be between 0 + * and 1. + */ + targetUtilization?: number; + } + /** + * Metadata for the given google.longrunning.Operation during a + * google.appengine.v1.CreateVersionRequest. + */ + interface Schema$CreateVersionMetadataV1 { + /** + * The Cloud Build ID if one was created as part of the version create. + * @OutputOnly + */ + cloudBuildId?: string; + } + /** + * Metadata for the given google.longrunning.Operation during a + * google.appengine.v1alpha.CreateVersionRequest. + */ + interface Schema$CreateVersionMetadataV1Alpha { + /** + * The Cloud Build ID if one was created as part of the version create. + * @OutputOnly + */ + cloudBuildId?: string; + } + /** + * Metadata for the given google.longrunning.Operation during a + * google.appengine.v1beta.CreateVersionRequest. + */ + interface Schema$CreateVersionMetadataV1Beta { + /** + * The Cloud Build ID if one was created as part of the version create. + * @OutputOnly + */ + cloudBuildId?: string; + } + /** + * Request message for Instances.DebugInstance. + */ + interface Schema$DebugInstanceRequest { + /** + * Public SSH key to add to the instance. Examples: [USERNAME]:ssh-rsa + * [KEY_VALUE] [USERNAME] [USERNAME]:ssh-rsa [KEY_VALUE] google-ssh + * {"userName":"[USERNAME]","expireOn":"[EXPIRE_TIME]"}For + * more information, see Adding and Removing SSH Keys + * (https://cloud.google.com/compute/docs/instances/adding-removing-ssh-keys). + */ + sshKey?: string; + } + /** + * Code and application artifacts used to deploy a version to App Engine. + */ + interface Schema$Deployment { + /** + * The Docker image for the container that runs the version. Only applicable + * for instances running in the App Engine flexible environment. + */ + container?: Schema$ContainerInfo; + /** + * Manifest of the files stored in Google Cloud Storage that are included as + * part of this version. All files must be readable using the credentials + * supplied with this call. + */ + files?: any; + /** + * Origin of the source code for this deployment. There can be more than one + * source reference per version if source code is distributed among multiple + * repositories. + */ + sourceReferences?: Schema$SourceReference[]; + } + /** + * Target scaling by disk usage. Only applicable for VM runtimes. + */ + interface Schema$DiskUtilization { + /** + * Target bytes read per second. + */ + targetReadBytesPerSec?: number; + /** + * Target ops read per second. + */ + targetReadOpsPerSec?: number; + /** + * Target bytes written per second. + */ + targetWriteBytesPerSec?: number; + /** + * Target ops written per second. + */ + targetWriteOpsPerSec?: number; + } + /** + * Cloud Endpoints (https://cloud.google.com/endpoints) configuration. The + * Endpoints API Service provides tooling for serving Open API and gRPC + * endpoints via an NGINX proxy. Only valid for App Engine Flexible + * environment deployments.The fields here refer to the name and configuration + * id of a "service" resource in the Service Management API + * (https://cloud.google.com/service-management/overview). + */ + interface Schema$EndpointsApiService { + /** + * Endpoints service configuration id as specified by the Service Management + * API. For example "2016-09-19r1"By default, the Endpoints + * service configuration id is fixed and config_id must be specified. To + * keep the Endpoints service configuration id updated with each rollout, + * specify RolloutStrategy.MANAGED and omit config_id. + */ + configId?: string; + /** + * Enable or disable trace sampling. By default, this is set to false for + * enabled. + */ + disableTraceSampling?: boolean; + /** + * Endpoints service name which is the name of the "service" + * resource in the Service Management API. For example + * "myapi.endpoints.myproject.cloud.goog" + */ + name?: string; + /** + * Endpoints rollout strategy. If FIXED, config_id must be specified. If + * MANAGED, config_id must be omitted. + */ + rolloutStrategy?: string; + } + /** + * Custom static error page to be served when an error occurs. + */ + interface Schema$ErrorHandler { + /** + * Error condition this handler applies to. + */ + errorCode?: string; + /** + * MIME type of file. Defaults to text/html. + */ + mimeType?: string; + /** + * Static file content to be served for this error. + */ + staticFile?: string; + } + /** + * Single source file that is part of the version to be deployed. Each source + * file that is deployed must be specified separately. + */ + interface Schema$FileInfo { + /** + * The MIME type of the file.Defaults to the value from Google Cloud + * Storage. + */ + mimeType?: string; + /** + * The SHA1 hash of the file, in hex. + */ + sha1Sum?: string; + /** + * URL source to use to fetch this file. Must be a URL to a resource in + * Google Cloud Storage in the form + * 'http(s)://storage.googleapis.com/<bucket>/<object>'. + */ + sourceUrl?: string; + } + /** + * Health checking configuration for VM instances. Unhealthy instances are + * killed and replaced with new instances. Only applicable for instances in + * App Engine flexible environment. + */ + interface Schema$HealthCheck { + /** + * Interval between health checks. + */ + checkInterval?: string; + /** + * Whether to explicitly disable health checks for this instance. + */ + disableHealthCheck?: boolean; + /** + * Number of consecutive successful health checks required before receiving + * traffic. + */ + healthyThreshold?: number; + /** + * Host header to send when performing an HTTP health check. Example: + * "myapp.appspot.com" + */ + host?: string; + /** + * Number of consecutive failed health checks required before an instance is + * restarted. + */ + restartThreshold?: number; + /** + * Time before the health check is considered failed. + */ + timeout?: string; + /** + * Number of consecutive failed health checks required before removing + * traffic. + */ + unhealthyThreshold?: number; + } + /** + * Identity-Aware Proxy + */ + interface Schema$IdentityAwareProxy { + /** + * Whether the serving infrastructure will authenticate and authorize all + * incoming requests.If true, the oauth2_client_id and oauth2_client_secret + * fields must be non-empty. + */ + enabled?: boolean; + /** + * OAuth2 client ID to use for the authentication flow. + */ + oauth2ClientId?: string; + /** + * For security reasons, this value cannot be retrieved via the API. + * Instead, the SHA-256 hash of the value is returned in the + * oauth2_client_secret_sha256 field.@InputOnly + */ + oauth2ClientSecret?: string; + /** + * Hex-encoded SHA-256 hash of the client secret.@OutputOnly + */ + oauth2ClientSecretSha256?: string; + } + /** + * An Instance resource is the computing unit that App Engine uses to + * automatically scale an application. + */ + interface Schema$Instance { + /** + * App Engine release this instance is running on.@OutputOnly + */ + appEngineRelease?: string; + /** + * Availability of the instance.@OutputOnly + */ + availability?: string; + /** + * Average latency (ms) over the last minute.@OutputOnly + */ + averageLatency?: number; + /** + * Number of errors since this instance was started.@OutputOnly + */ + errors?: number; + /** + * Relative name of the instance within the version. Example: + * instance-1.@OutputOnly + */ + id?: string; + /** + * Total memory in use (bytes).@OutputOnly + */ + memoryUsage?: string; + /** + * Full path to the Instance resource in the API. Example: + * apps/myapp/services/default/versions/v1/instances/instance-1.@OutputOnly + */ + name?: string; + /** + * Average queries per second (QPS) over the last minute.@OutputOnly + */ + qps?: number; + /** + * Number of requests since this instance was started.@OutputOnly + */ + requests?: number; + /** + * Time that this instance was started.@OutputOnly + */ + startTimestamp?: string; + /** + * Virtual machine ID of this instance. Only applicable for instances in App + * Engine flexible environment.@OutputOnly + */ + vmId?: string; + /** + * The IP address of this instance. Only applicable for instances in App + * Engine flexible environment.@OutputOnly + */ + vmIp?: string; + /** + * Name of the virtual machine where this instance lives. Only applicable + * for instances in App Engine flexible environment.@OutputOnly + */ + vmName?: string; + /** + * Status of the virtual machine where this instance lives. Only applicable + * for instances in App Engine flexible environment.@OutputOnly + */ + vmStatus?: string; + /** + * Whether this instance is in debug mode. Only applicable for instances in + * App Engine flexible environment.@OutputOnly + */ + vmUnlocked?: boolean; + /** + * Zone where the virtual machine is located. Only applicable for instances + * in App Engine flexible environment.@OutputOnly + */ + vmZoneName?: string; + } + /** + * Third-party Python runtime library that is required by the application. + */ + interface Schema$Library { + /** + * Name of the library. Example: "django". + */ + name?: string; + /** + * Version of the library to select, or "latest". + */ + version?: string; + } + /** + * Response message for Instances.ListInstances. + */ + interface Schema$ListInstancesResponse { + /** + * The instances belonging to the requested version. + */ + instances?: Schema$Instance[]; + /** + * Continuation token for fetching the next page of results. + */ + nextPageToken?: string; + } + /** + * The response message for Locations.ListLocations. + */ + interface Schema$ListLocationsResponse { + /** + * A list of locations that matches the specified filter in the request. + */ + locations?: Schema$Location[]; + /** + * The standard List next-page token. + */ + nextPageToken?: string; + } + /** + * The response message for Operations.ListOperations. + */ + interface Schema$ListOperationsResponse { + /** + * The standard List next-page token. + */ + nextPageToken?: string; + /** + * A list of operations that matches the specified filter in the request. + */ + operations?: Schema$Operation[]; + } + /** + * Response message for Services.ListServices. + */ + interface Schema$ListServicesResponse { + /** + * Continuation token for fetching the next page of results. + */ + nextPageToken?: string; + /** + * The services belonging to the requested application. + */ + services?: Schema$Service[]; + } + /** + * Response message for Versions.ListVersions. + */ + interface Schema$ListVersionsResponse { + /** + * Continuation token for fetching the next page of results. + */ + nextPageToken?: string; + /** + * The versions belonging to the requested service. + */ + versions?: Schema$Version[]; + } + /** + * A resource that represents Google Cloud Platform location. + */ + interface Schema$Location { + /** + * The friendly name for this location, typically a nearby city name. For + * example, "Tokyo". + */ + displayName?: string; + /** + * Cross-service attributes for the location. For example + * {"cloud.googleapis.com/region": "us-east1"} + */ + labels?: any; + /** + * The canonical id for this location. For example: "us-east1". + */ + locationId?: string; + /** + * Service-specific metadata. For example the available capacity at the + * given location. + */ + metadata?: any; + /** + * Resource name for the location, which may vary between implementations. + * For example: "projects/example-project/locations/us-east1" + */ + name?: string; + } + /** + * Metadata for the given google.cloud.location.Location. + */ + interface Schema$LocationMetadata { + /** + * App Engine flexible environment is available in the given + * location.@OutputOnly + */ + flexibleEnvironmentAvailable?: boolean; + /** + * App Engine standard environment is available in the given + * location.@OutputOnly + */ + standardEnvironmentAvailable?: boolean; + } + /** + * A service with manual scaling runs continuously, allowing you to perform + * complex initialization and rely on the state of its memory over time. + */ + interface Schema$ManualScaling { + /** + * Number of instances to assign to the service at the start. This number + * can later be altered by using the Modules API + * (https://cloud.google.com/appengine/docs/python/modules/functions) + * set_num_instances() function. + */ + instances?: number; + } + /** + * Extra network settings. Only applicable for VM runtimes. + */ + interface Schema$Network { + /** + * List of ports, or port pairs, to forward from the virtual machine to the + * application container. + */ + forwardedPorts?: string[]; + /** + * Tag to apply to the VM instance during creation. + */ + instanceTag?: string; + /** + * Google Cloud Platform network where the virtual machines are created. + * Specify the short name, not the resource path.Defaults to default. + */ + name?: string; + /** + * Google Cloud Platform sub-network where the virtual machines are created. + * Specify the short name, not the resource path.If a subnetwork name is + * specified, a network name will also be required unless it is for the + * default network. If the network the VM instance is being created in is a + * Legacy network, then the IP address is allocated from the IPv4Range. If + * the network the VM instance is being created in is an auto Subnet Mode + * Network, then only network name should be specified (not the + * subnetwork_name) and the IP address is created from the IPCidrRange of + * the subnetwork that exists in that zone for that network. If the network + * the VM instance is being created in is a custom Subnet Mode Network, then + * the subnetwork_name must be specified and the IP address is created from + * the IPCidrRange of the subnetwork.If specified, the subnetwork must exist + * in the same region as the Flex app. + */ + subnetworkName?: string; + } + /** + * Target scaling by network usage. Only applicable for VM runtimes. + */ + interface Schema$NetworkUtilization { + /** + * Target bytes received per second. + */ + targetReceivedBytesPerSec?: number; + /** + * Target packets received per second. + */ + targetReceivedPacketsPerSec?: number; + /** + * Target bytes sent per second. + */ + targetSentBytesPerSec?: number; + /** + * Target packets sent per second. + */ + targetSentPacketsPerSec?: number; + } + /** + * This resource represents a long-running operation that is the result of a + * network API call. + */ + interface Schema$Operation { + /** + * If the value is false, it means the operation is still in progress. If + * true, the operation is completed, and either error or response is + * available. + */ + done?: boolean; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * Service-specific metadata associated with the operation. It typically + * contains progress information and common metadata such as create time. + * Some services might not provide such metadata. Any method that returns a + * long-running operation should document the metadata type, if any. + */ + metadata?: any; + /** + * The server-assigned name, which is only unique within the same service + * that originally returns it. If you use the default HTTP mapping, the name + * should have the format of operations/some/unique/name. + */ + name?: string; + /** + * The normal response of the operation in case of success. If the original + * method returns no data on success, such as Delete, the response is + * google.protobuf.Empty. If the original method is standard + * Get/Create/Update, the response should be the resource. For other + * methods, the response should have the type XxxResponse, where Xxx is the + * original method name. For example, if the original method name is + * TakeSnapshot(), the inferred response type is TakeSnapshotResponse. + */ + response?: any; + } + /** + * Metadata for the given google.longrunning.Operation. + */ + interface Schema$OperationMetadata { + /** + * Timestamp that this operation completed.@OutputOnly + */ + endTime?: string; + /** + * Timestamp that this operation was created.@OutputOnly + */ + insertTime?: string; + /** + * API method that initiated this operation. Example: + * google.appengine.v1beta4.Version.CreateVersion.@OutputOnly + */ + method?: string; + /** + * Type of this operation. Deprecated, use method field instead. Example: + * "create_version".@OutputOnly + */ + operationType?: string; + /** + * Name of the resource that this operation is acting on. Example: + * apps/myapp/modules/default.@OutputOnly + */ + target?: string; + /** + * User who requested this operation.@OutputOnly + */ + user?: string; + } + /** + * Metadata for the given google.longrunning.Operation. + */ + interface Schema$OperationMetadataV1 { + createVersionMetadata?: Schema$CreateVersionMetadataV1; + /** + * Time that this operation completed.@OutputOnly + */ + endTime?: string; + /** + * Ephemeral message that may change every time the operation is polled. + * @OutputOnly + */ + ephemeralMessage?: string; + /** + * Time that this operation was created.@OutputOnly + */ + insertTime?: string; + /** + * API method that initiated this operation. Example: + * google.appengine.v1.Versions.CreateVersion.@OutputOnly + */ + method?: string; + /** + * Name of the resource that this operation is acting on. Example: + * apps/myapp/services/default.@OutputOnly + */ + target?: string; + /** + * User who requested this operation.@OutputOnly + */ + user?: string; + /** + * Durable messages that persist on every operation poll. @OutputOnly + */ + warning?: string[]; + } + /** + * Metadata for the given google.longrunning.Operation. + */ + interface Schema$OperationMetadataV1Alpha { + createVersionMetadata?: Schema$CreateVersionMetadataV1Alpha; + /** + * Time that this operation completed.@OutputOnly + */ + endTime?: string; + /** + * Ephemeral message that may change every time the operation is polled. + * @OutputOnly + */ + ephemeralMessage?: string; + /** + * Time that this operation was created.@OutputOnly + */ + insertTime?: string; + /** + * API method that initiated this operation. Example: + * google.appengine.v1alpha.Versions.CreateVersion.@OutputOnly + */ + method?: string; + /** + * Name of the resource that this operation is acting on. Example: + * apps/myapp/services/default.@OutputOnly + */ + target?: string; + /** + * User who requested this operation.@OutputOnly + */ + user?: string; + /** + * Durable messages that persist on every operation poll. @OutputOnly + */ + warning?: string[]; + } + /** + * Metadata for the given google.longrunning.Operation. + */ + interface Schema$OperationMetadataV1Beta { + createVersionMetadata?: Schema$CreateVersionMetadataV1Beta; + /** + * Time that this operation completed.@OutputOnly + */ + endTime?: string; + /** + * Ephemeral message that may change every time the operation is polled. + * @OutputOnly + */ + ephemeralMessage?: string; + /** + * Time that this operation was created.@OutputOnly + */ + insertTime?: string; + /** + * API method that initiated this operation. Example: + * google.appengine.v1beta.Versions.CreateVersion.@OutputOnly + */ + method?: string; + /** + * Name of the resource that this operation is acting on. Example: + * apps/myapp/services/default.@OutputOnly + */ + target?: string; + /** + * User who requested this operation.@OutputOnly + */ + user?: string; + /** + * Durable messages that persist on every operation poll. @OutputOnly + */ + warning?: string[]; + } + /** + * Metadata for the given google.longrunning.Operation. + */ + interface Schema$OperationMetadataV1Beta5 { + /** + * Timestamp that this operation completed.@OutputOnly + */ + endTime?: string; + /** + * Timestamp that this operation was created.@OutputOnly + */ + insertTime?: string; + /** + * API method name that initiated this operation. Example: + * google.appengine.v1beta5.Version.CreateVersion.@OutputOnly + */ + method?: string; + /** + * Name of the resource that this operation is acting on. Example: + * apps/myapp/services/default.@OutputOnly + */ + target?: string; + /** + * User who requested this operation.@OutputOnly + */ + user?: string; + } + /** + * Target scaling by request utilization. Only applicable for VM runtimes. + */ + interface Schema$RequestUtilization { + /** + * Target number of concurrent requests. + */ + targetConcurrentRequests?: number; + /** + * Target requests per second. + */ + targetRequestCountPerSec?: number; + } + /** + * Machine resources for a version. + */ + interface Schema$Resources { + /** + * Number of CPU cores needed. + */ + cpu?: number; + /** + * Disk size (GB) needed. + */ + diskGb?: number; + /** + * Memory (GB) needed. + */ + memoryGb?: number; + /** + * Volumes mounted within the app container. + */ + volumes?: Schema$Volume[]; + } + /** + * Executes a script to handle the request that matches the URL pattern. + */ + interface Schema$ScriptHandler { + /** + * Path to the script from the application root directory. + */ + scriptPath?: string; + } + /** + * A Service resource is a logical component of an application that can share + * state and communicate in a secure fashion with other services. For example, + * an application that handles customer requests might include separate + * services to handle other tasks such as API requests from mobile devices or + * backend data analysis. Each service has a collection of versions that + * define a specific set of code used to implement the functionality of that + * service. + */ + interface Schema$Service { + /** + * Relative name of the service within the application. Example: + * default.@OutputOnly + */ + id?: string; + /** + * Full path to the Service resource in the API. Example: + * apps/myapp/services/default.@OutputOnly + */ + name?: string; + /** + * Mapping that defines fractional HTTP traffic diversion to different + * versions within the service. + */ + split?: Schema$TrafficSplit; + } + /** + * Reference to a particular snapshot of the source tree used to build and + * deploy the application. + */ + interface Schema$SourceReference { + /** + * URI string identifying the repository. Example: + * "https://source.developers.google.com/p/app-123/r/default" + */ + repository?: string; + /** + * The canonical, persistent identifier of the deployed revision. Aliases + * that include tags or branch names are not allowed. Example (git): + * "2198322f89e0bb2e25021667c2ed489d1fd34e6b" + */ + revisionId?: string; + } + /** + * Files served directly to the user for a given URL, such as images, CSS + * stylesheets, or JavaScript source files. Static file handlers describe + * which files in the application directory are static files, and which URLs + * serve them. + */ + interface Schema$StaticFilesHandler { + /** + * Whether files should also be uploaded as code data. By default, files + * declared in static file handlers are uploaded as static data and are only + * served to end users; they cannot be read by the application. If enabled, + * uploads are charged against both your code and static data storage + * resource quotas. + */ + applicationReadable?: boolean; + /** + * Time a static file served by this handler should be cached. + */ + expiration?: string; + /** + * HTTP headers to use for all responses from these URLs. + */ + httpHeaders?: any; + /** + * MIME type used to serve all files served by this handler. Defaults to + * file-specific MIME types, which are derived from each file's filename + * extension. + */ + mimeType?: string; + /** + * Path to the static files matched by the URL pattern, from the application + * root directory. The path can refer to text matched in groupings in the + * URL pattern. + */ + path?: string; + /** + * Whether this handler should match the request if the file referenced by + * the handler does not exist. + */ + requireMatchingFile?: boolean; + /** + * Regular expression that matches the file paths for all files that should + * be referenced by this handler. + */ + uploadPathRegex?: string; + } + /** + * 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). The error model is designed to be: + * Simple to use and understand for most users Flexible enough to meet + * unexpected needsOverviewThe Status message contains three pieces of data: + * error code, error message, and error details. The error code should be an + * enum value of google.rpc.Code, but it may accept additional error codes if + * needed. The error message should be a developer-facing English message that + * helps developers understand and resolve the error. If a localized + * user-facing error message is needed, put the localized message in the error + * details or localize it in the client. The optional error details may + * contain arbitrary information about the error. There is a predefined set of + * error detail types in the package google.rpc that can be used for common + * error conditions.Language mappingThe Status message is the logical + * representation of the error model, but it is not necessarily the actual + * wire format. When the Status message is exposed in different client + * libraries and different wire protocols, it can be mapped differently. For + * example, it will likely be mapped to some exceptions in Java, but more + * likely mapped to some error codes in C.Other usesThe error model and the + * Status message can be used in a variety of environments, either with or + * without APIs, to provide a consistent developer experience across different + * environments.Example uses of this error model include: Partial errors. If a + * service needs to return partial errors to the client, it may embed the + * Status in the normal response to indicate the partial errors. Workflow + * errors. A typical workflow has multiple steps. Each step may have a Status + * message for error reporting. Batch operations. If a client uses batch + * request and batch response, the Status message should be used directly + * inside batch response, one for each error sub-response. Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the Status message. Logging. If some API errors are stored in logs, + * the message Status could be used directly after any stripping needed for + * security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set of + * message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + /** + * Traffic routing configuration for versions within a single service. Traffic + * splits define how traffic directed to the service is assigned to versions. + */ + interface Schema$TrafficSplit { + /** + * Mapping from version IDs within the service to fractional (0.000, 1] + * allocations of traffic for that version. Each version can be specified + * only once, but some versions in the service may not have any traffic + * allocation. Services that have traffic allocated cannot be deleted until + * either the service is deleted or their traffic allocation is removed. + * Allocations must sum to 1. Up to two decimal place precision is supported + * for IP-based splits and up to three decimal places is supported for + * cookie-based splits. + */ + allocations?: any; + /** + * Mechanism used to determine which version a request is sent to. The + * traffic selection algorithm will be stable for either type until + * allocations are changed. + */ + shardBy?: string; + } + /** + * Rules to match an HTTP request and dispatch that request to a service. + */ + interface Schema$UrlDispatchRule { + /** + * Domain name to match against. The wildcard "*" is supported if + * specified before a period: "*.".Defaults to matching all + * domains: "*". + */ + domain?: string; + /** + * Pathname within the host. Must start with a "/". A single + * "*" can be included at the end of the path. The sum of the + * lengths of the domain and path may not exceed 100 characters. + */ + path?: string; + /** + * Resource id of a service in this application that should serve the + * matched request. The service must already exist. Example: default. + */ + service?: string; + } + /** + * URL pattern and description of how the URL should be handled. App Engine + * can handle URLs by executing application code, or by serving static files + * uploaded with the version, such as images, CSS, or JavaScript. + */ + interface Schema$UrlMap { + /** + * Uses API Endpoints to handle requests. + */ + apiEndpoint?: Schema$ApiEndpointHandler; + /** + * Action to take when users access resources that require authentication. + * Defaults to redirect. + */ + authFailAction?: string; + /** + * Level of login required to access this resource. + */ + login?: string; + /** + * 30x code to use when performing redirects for the secure field. Defaults + * to 302. + */ + redirectHttpResponseCode?: string; + /** + * Executes a script to handle the request that matches this URL pattern. + */ + script?: Schema$ScriptHandler; + /** + * Security (HTTPS) enforcement for this URL. + */ + securityLevel?: string; + /** + * Returns the contents of a file, such as an image, as the response. + */ + staticFiles?: Schema$StaticFilesHandler; + /** + * A URL prefix. Uses regular expression syntax, which means regexp special + * characters must be escaped, but should not contain groupings. All URLs + * that begin with this prefix are handled by this handler, using the + * portion of the URL after the prefix as part of the file path. + */ + urlRegex?: string; + } + /** + * A Version resource is a specific set of source code and configuration files + * that are deployed into a service. + */ + interface Schema$Version { + /** + * Serving configuration for Google Cloud Endpoints + * (https://cloud.google.com/appengine/docs/python/endpoints/).Only returned + * in GET requests if view=FULL is set. + */ + apiConfig?: Schema$ApiConfigHandler; + /** + * Automatic scaling is based on request rate, response latencies, and other + * application metrics. + */ + automaticScaling?: Schema$AutomaticScaling; + /** + * A service with basic scaling will create an instance when the application + * receives a request. The instance will be turned down when the app becomes + * idle. Basic scaling is ideal for work that is intermittent or driven by + * user activity. + */ + basicScaling?: Schema$BasicScaling; + /** + * Metadata settings that are supplied to this version to enable beta + * runtime features. + */ + betaSettings?: any; + /** + * Time that this version was created.@OutputOnly + */ + creationTime?: string; + /** + * Duration that static files should be cached by web proxies and browsers. + * Only applicable if the corresponding StaticFilesHandler + * (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#staticfileshandler) + * does not specify its own expiration time.Only returned in GET requests if + * view=FULL is set. + */ + defaultExpiration?: string; + /** + * Email address of the user who created this version.@OutputOnly + */ + deployer?: string; + /** + * Code and application artifacts that make up this version.Only returned in + * GET requests if view=FULL is set. + */ + deployment?: Schema$Deployment; + /** + * Total size of version files hosted on App Engine disk in + * bytes.@OutputOnly + */ + diskUsageBytes?: string; + /** + * Cloud Endpoints configuration.If endpoints_api_service is set, the Cloud + * Endpoints Extensible Service Proxy will be provided to serve the API + * implemented by the app. + */ + endpointsApiService?: Schema$EndpointsApiService; + /** + * App Engine execution environment to use for this version.Defaults to 1. + */ + env?: string; + /** + * Environment variables made available to the application.Only returned in + * GET requests if view=FULL is set. + */ + envVariables?: any; + /** + * Custom static error pages. Limited to 10KB per page.Only returned in GET + * requests if view=FULL is set. + */ + errorHandlers?: Schema$ErrorHandler[]; + /** + * An ordered list of URL-matching patterns that should be applied to + * incoming requests. The first matching URL handles the request and other + * request handlers are not attempted.Only returned in GET requests if + * view=FULL is set. + */ + handlers?: Schema$UrlMap[]; + /** + * Configures health checking for VM instances. Unhealthy instances are be + * stopped and replaced with new instances. Only applicable for VM + * runtimes.Only returned in GET requests if view=FULL is set. + */ + healthCheck?: Schema$HealthCheck; + /** + * Relative name of the version within the module. Example: v1. Version + * names can contain only lowercase letters, numbers, or hyphens. Reserved + * names: "default", "latest", and any name with the + * prefix "ah-". + */ + id?: string; + /** + * Before an application can receive email or XMPP messages, the application + * must be configured to enable the service. + */ + inboundServices?: string[]; + /** + * Instance class that is used to run this version. Valid values are: + * AutomaticScaling: F1, F2, F4, F4_1G ManualScaling or BasicScaling: B1, + * B2, B4, B8, B4_1GDefaults to F1 for AutomaticScaling and B1 for + * ManualScaling or BasicScaling. + */ + instanceClass?: string; + /** + * Configuration for third-party Python runtime libraries required by the + * application.Only returned in GET requests if view=FULL is set. + */ + libraries?: Schema$Library[]; + /** + * A service with manual scaling runs continuously, allowing you to perform + * complex initialization and rely on the state of its memory over time. + */ + manualScaling?: Schema$ManualScaling; + /** + * Full path to the Version resource in the API. Example: + * apps/myapp/services/default/versions/v1.@OutputOnly + */ + name?: string; + /** + * Extra network settings. Only applicable for VM runtimes. + */ + network?: Schema$Network; + /** + * Files that match this pattern will not be built into this version. Only + * applicable for Go runtimes.Only returned in GET requests if view=FULL is + * set. + */ + nobuildFilesRegex?: string; + /** + * Machine resources for this version. Only applicable for VM runtimes. + */ + resources?: Schema$Resources; + /** + * Desired runtime. Example: python27. + */ + runtime?: string; + /** + * The version of the API in the given runtime environment. Please see the + * app.yaml reference for valid values at + * https://cloud.google.com/appengine/docs/standard/<language>/config/appref + */ + runtimeApiVersion?: string; + /** + * Current serving status of this version. Only the versions with a SERVING + * status create instances and can be billed.SERVING_STATUS_UNSPECIFIED is + * an invalid value. Defaults to SERVING. + */ + servingStatus?: string; + /** + * Whether multiple requests can be dispatched to this version at once. + */ + threadsafe?: boolean; + /** + * Whether to deploy this version in a container on a virtual machine. + */ + vm?: boolean; + } + /** + * Volumes mounted within the app container. Only applicable for VM runtimes. + */ + interface Schema$Volume { + /** + * Unique name for the volume. + */ + name?: string; + /** + * Volume size in gigabytes. + */ + sizeGb?: number; + /** + * Underlying volume type, e.g. 'tmpfs'. + */ + volumeType?: string; + } + class Resource$Apps { + root: Appengine; + locations: Resource$Apps$Locations; + operations: Resource$Apps$Operations; + services: Resource$Apps$Services; + constructor(root: Appengine); + getRoot(): Appengine; + /** + * appengine.apps.create + * @desc Creates an App Engine application for a Google Cloud Platform + * project. Required fields: id - The ID of the target Cloud Platform + * project. location - The region + * (https://cloud.google.com/appengine/docs/locations) where you want the + * App Engine application located.For more information about App Engine + * applications, see Managing Projects, Applications, and Billing + * (https://cloud.google.com/appengine/docs/python/console/). + * @alias appengine.apps.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().Application} 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 + */ + create(params?: Params$Resource$Apps$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Apps$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Apps$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * appengine.apps.get + * @desc Gets information about an application. + * @alias appengine.apps.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the application to get. Example: apps/myapp. + * @param {boolean=} params.ensureResourcesExist Certain resources associated with an application are created on-demand. Controls whether these resources should be created when performing the GET operation. If specified and any resources could not be created, the request will fail with an error code. Additionally, this parameter can cause the request to take longer to complete. Note: This parameter will be deprecated in a future 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 + */ + get(params?: Params$Resource$Apps$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Apps$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Apps$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * appengine.apps.patch + * @desc Updates the specified Application resource. You can update the + * following fields: auth_domain + * (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta5/apps#Application.FIELDS.auth_domain) + * default_cookie_expiration + * (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta5/apps#Application.FIELDS.default_cookie_expiration) + * @alias appengine.apps.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the Application resource to update. Example: apps/myapp. + * @param {string=} params.mask Standard field mask for the set of fields to be updated. + * @param {().Application} 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 + */ + patch(params?: Params$Resource$Apps$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Apps$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Apps$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Apps$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$Application; + } + interface Params$Resource$Apps$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the application to get. Example: apps/myapp. + */ + appsId?: string; + /** + * Certain resources associated with an application are created on-demand. + * Controls whether these resources should be created when performing the + * GET operation. If specified and any resources could not be created, the + * request will fail with an error code. Additionally, this parameter can + * cause the request to take longer to complete. Note: This parameter will + * be deprecated in a future version of the API. + */ + ensureResourcesExist?: boolean; + } + interface Params$Resource$Apps$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the Application resource to update. Example: + * apps/myapp. + */ + appsId?: string; + /** + * Standard field mask for the set of fields to be updated. + */ + mask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Application; + } + class Resource$Apps$Locations { + root: Appengine; + constructor(root: Appengine); + getRoot(): Appengine; + /** + * appengine.apps.locations.get + * @desc Gets information about a location. + * @alias appengine.apps.locations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Resource name for the location. + * @param {string} params.locationsId Part of `name`. See documentation of `appsId`. + * @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?: Params$Resource$Apps$Locations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Apps$Locations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Apps$Locations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * appengine.apps.locations.list + * @desc Lists information about the supported locations for this service. + * @alias appengine.apps.locations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. The resource that owns the locations collection, if applicable. + * @param {string=} params.filter The standard list filter. + * @param {integer=} params.pageSize The standard list page size. + * @param {string=} params.pageToken The standard list page token. + * @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?: Params$Resource$Apps$Locations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Apps$Locations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Apps$Locations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Apps$Locations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Resource name for the location. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + locationsId?: string; + } + interface Params$Resource$Apps$Locations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. The resource that owns the locations collection, if + * applicable. + */ + appsId?: string; + /** + * The standard list filter. + */ + filter?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } + class Resource$Apps$Operations { + root: Appengine; + constructor(root: Appengine); + getRoot(): Appengine; + /** + * appengine.apps.operations.get + * @desc Gets the latest state of a long-running operation. Clients can use + * this method to poll the operation result at intervals as recommended by + * the API service. + * @alias appengine.apps.operations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. The name of the operation resource. + * @param {string} params.operationsId Part of `name`. See documentation of `appsId`. + * @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?: Params$Resource$Apps$Operations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Apps$Operations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Apps$Operations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * appengine.apps.operations.list + * @desc Lists operations that match the specified filter in the request. If + * the server doesn't support this method, it returns UNIMPLEMENTED.NOTE: + * the name binding allows API services to override the binding to use + * different resource name schemes, such as users/x/operations. To override + * the binding, API services can add a binding such as + * "/v1/{name=users/x}/operations" to their service configuration. For + * backwards compatibility, the default name includes the operations + * collection id, however overriding users must ensure the name binding is + * the parent resource, without the operations collection id. + * @alias appengine.apps.operations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. The name of the operation's parent resource. + * @param {string=} params.filter The standard list filter. + * @param {integer=} params.pageSize The standard list page size. + * @param {string=} params.pageToken The standard list page token. + * @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?: Params$Resource$Apps$Operations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Apps$Operations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Apps$Operations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Apps$Operations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. The name of the operation resource. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + operationsId?: string; + } + interface Params$Resource$Apps$Operations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. The name of the operation's parent resource. + */ + appsId?: string; + /** + * The standard list filter. + */ + filter?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } + class Resource$Apps$Services { + root: Appengine; + versions: Resource$Apps$Services$Versions; + constructor(root: Appengine); + getRoot(): Appengine; + /** + * appengine.apps.services.delete + * @desc Deletes the specified service and all enclosed versions. + * @alias appengine.apps.services.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource requested. Example: apps/myapp/services/default. + * @param {string} params.servicesId Part of `name`. See documentation of `appsId`. + * @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?: Params$Resource$Apps$Services$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Apps$Services$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Apps$Services$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * appengine.apps.services.get + * @desc Gets the current configuration of the specified service. + * @alias appengine.apps.services.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource requested. Example: apps/myapp/services/default. + * @param {string} params.servicesId Part of `name`. See documentation of `appsId`. + * @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?: Params$Resource$Apps$Services$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Apps$Services$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Apps$Services$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * appengine.apps.services.list + * @desc Lists all the services in the application. + * @alias appengine.apps.services.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource requested. Example: apps/myapp. + * @param {integer=} params.pageSize Maximum results to return per page. + * @param {string=} params.pageToken Continuation token for fetching the next page of results. + * @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?: Params$Resource$Apps$Services$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Apps$Services$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Apps$Services$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * appengine.apps.services.patch + * @desc Updates the configuration of the specified service. + * @alias appengine.apps.services.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource to update. Example: apps/myapp/services/default. + * @param {string=} params.mask Standard field mask for the set of fields to be updated. + * @param {boolean=} params.migrateTraffic Set to true to gradually shift traffic to one or more versions that you specify. By default, traffic is shifted immediately. For gradual traffic migration, the target versions must be located within instances that are configured for both warmup requests (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta5/apps.services.versions#inboundservicetype) and automatic scaling (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta5/apps.services.versions#automaticscaling). You must specify the shardBy (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta5/apps.services#shardby) field in the Service resource. Gradual traffic migration is not supported in the App Engine flexible environment. For examples, see Migrating and Splitting Traffic (https://cloud.google.com/appengine/docs/admin-api/migrating-splitting-traffic). + * @param {string} params.servicesId Part of `name`. See documentation of `appsId`. + * @param {().Service} 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 + */ + patch(params?: Params$Resource$Apps$Services$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Apps$Services$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Apps$Services$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Apps$Services$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource requested. Example: + * apps/myapp/services/default. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + servicesId?: string; + } + interface Params$Resource$Apps$Services$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource requested. Example: + * apps/myapp/services/default. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + servicesId?: string; + } + interface Params$Resource$Apps$Services$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource requested. Example: apps/myapp. + */ + appsId?: string; + /** + * Maximum results to return per page. + */ + pageSize?: number; + /** + * Continuation token for fetching the next page of results. + */ + pageToken?: string; + } + interface Params$Resource$Apps$Services$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource to update. Example: + * apps/myapp/services/default. + */ + appsId?: string; + /** + * Standard field mask for the set of fields to be updated. + */ + mask?: string; + /** + * Set to true to gradually shift traffic to one or more versions that you + * specify. By default, traffic is shifted immediately. For gradual traffic + * migration, the target versions must be located within instances that are + * configured for both warmup requests + * (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta5/apps.services.versions#inboundservicetype) + * and automatic scaling + * (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta5/apps.services.versions#automaticscaling). + * You must specify the shardBy + * (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta5/apps.services#shardby) + * field in the Service resource. Gradual traffic migration is not supported + * in the App Engine flexible environment. For examples, see Migrating and + * Splitting Traffic + * (https://cloud.google.com/appengine/docs/admin-api/migrating-splitting-traffic). + */ + migrateTraffic?: boolean; + /** + * Part of `name`. See documentation of `appsId`. + */ + servicesId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Service; + } + class Resource$Apps$Services$Versions { + root: Appengine; + instances: Resource$Apps$Services$Versions$Instances; + constructor(root: Appengine); + getRoot(): Appengine; + /** + * appengine.apps.services.versions.create + * @desc Deploys new code and resource files to a new version. + * @alias appengine.apps.services.versions.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource to update. For example: "apps/myapp/services/default". + * @param {string} params.servicesId Part of `name`. See documentation of `appsId`. + * @param {().Version} 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 + */ + create(params?: Params$Resource$Apps$Services$Versions$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Apps$Services$Versions$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Apps$Services$Versions$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * appengine.apps.services.versions.delete + * @desc Deletes an existing version. + * @alias appengine.apps.services.versions.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1. + * @param {string} params.servicesId Part of `name`. See documentation of `appsId`. + * @param {string} params.versionsId Part of `name`. See documentation of `appsId`. + * @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?: Params$Resource$Apps$Services$Versions$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Apps$Services$Versions$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Apps$Services$Versions$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * appengine.apps.services.versions.get + * @desc Gets the specified Version resource. By default, only a BASIC_VIEW + * will be returned. Specify the FULL_VIEW parameter to get the full + * resource. + * @alias appengine.apps.services.versions.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1. + * @param {string} params.servicesId Part of `name`. See documentation of `appsId`. + * @param {string} params.versionsId Part of `name`. See documentation of `appsId`. + * @param {string=} params.view Controls the set of fields returned in the Get response. + * @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?: Params$Resource$Apps$Services$Versions$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Apps$Services$Versions$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Apps$Services$Versions$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * appengine.apps.services.versions.list + * @desc Lists the versions of a service. + * @alias appengine.apps.services.versions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource requested. Example: apps/myapp/services/default. + * @param {integer=} params.pageSize Maximum results to return per page. + * @param {string=} params.pageToken Continuation token for fetching the next page of results. + * @param {string} params.servicesId Part of `name`. See documentation of `appsId`. + * @param {string=} params.view Controls the set of fields returned in the List response. + * @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?: Params$Resource$Apps$Services$Versions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Apps$Services$Versions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Apps$Services$Versions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * appengine.apps.services.versions.patch + * @desc Updates the specified Version resource. You can specify the + * following fields depending on the App Engine environment and type of + * scaling that the version resource uses: serving_status + * (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta5/apps.services.versions#Version.FIELDS.serving_status): + * For Version resources that use basic scaling, manual scaling, or run in + * the App Engine flexible environment. instance_class + * (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta5/apps.services.versions#Version.FIELDS.instance_class): + * For Version resources that run in the App Engine standard environment. + * automatic_scaling.min_idle_instances + * (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta5/apps.services.versions#Version.FIELDS.automatic_scaling): + * For Version resources that use automatic scaling and run in the App + * Engine standard environment. automatic_scaling.max_idle_instances + * (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta5/apps.services.versions#Version.FIELDS.automatic_scaling): + * For Version resources that use automatic scaling and run in the App + * Engine standard environment. + * @alias appengine.apps.services.versions.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource to update. Example: apps/myapp/services/default/versions/1. + * @param {string=} params.mask Standard field mask for the set of fields to be updated. + * @param {string} params.servicesId Part of `name`. See documentation of `appsId`. + * @param {string} params.versionsId Part of `name`. See documentation of `appsId`. + * @param {().Version} 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 + */ + patch(params?: Params$Resource$Apps$Services$Versions$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Apps$Services$Versions$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Apps$Services$Versions$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Apps$Services$Versions$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource to update. For example: + * "apps/myapp/services/default". + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + servicesId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Version; + } + interface Params$Resource$Apps$Services$Versions$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource requested. Example: + * apps/myapp/services/default/versions/v1. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + servicesId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + versionsId?: string; + } + interface Params$Resource$Apps$Services$Versions$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource requested. Example: + * apps/myapp/services/default/versions/v1. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + servicesId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + versionsId?: string; + /** + * Controls the set of fields returned in the Get response. + */ + view?: string; + } + interface Params$Resource$Apps$Services$Versions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource requested. Example: + * apps/myapp/services/default. + */ + appsId?: string; + /** + * Maximum results to return per page. + */ + pageSize?: number; + /** + * Continuation token for fetching the next page of results. + */ + pageToken?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + servicesId?: string; + /** + * Controls the set of fields returned in the List response. + */ + view?: string; + } + interface Params$Resource$Apps$Services$Versions$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource to update. Example: + * apps/myapp/services/default/versions/1. + */ + appsId?: string; + /** + * Standard field mask for the set of fields to be updated. + */ + mask?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + servicesId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + versionsId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Version; + } + class Resource$Apps$Services$Versions$Instances { + root: Appengine; + constructor(root: Appengine); + getRoot(): Appengine; + /** + * appengine.apps.services.versions.instances.debug + * @desc Enables debugging on a VM instance. This allows you to use the SSH + * command to connect to the virtual machine where the instance lives. While + * in "debug mode", the instance continues to serve live traffic. You should + * delete the instance when you are done debugging and then allow the system + * to take over and determine if another instance should be started.Only + * applicable for instances in App Engine flexible environment. + * @alias appengine.apps.services.versions.instances.debug + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1. + * @param {string} params.instancesId Part of `name`. See documentation of `appsId`. + * @param {string} params.servicesId Part of `name`. See documentation of `appsId`. + * @param {string} params.versionsId Part of `name`. See documentation of `appsId`. + * @param {().DebugInstanceRequest} 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 + */ + debug(params?: Params$Resource$Apps$Services$Versions$Instances$Debug, options?: MethodOptions): AxiosPromise; + debug(params: Params$Resource$Apps$Services$Versions$Instances$Debug, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + debug(params: Params$Resource$Apps$Services$Versions$Instances$Debug, callback: BodyResponseCallback): void; + debug(callback: BodyResponseCallback): void; + /** + * appengine.apps.services.versions.instances.delete + * @desc Stops a running instance. + * @alias appengine.apps.services.versions.instances.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource requested. For example: "apps/myapp/services/default/versions/v1/instances/instance-1". + * @param {string} params.instancesId Part of `name`. See documentation of `appsId`. + * @param {string} params.servicesId Part of `name`. See documentation of `appsId`. + * @param {string} params.versionsId Part of `name`. See documentation of `appsId`. + * @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?: Params$Resource$Apps$Services$Versions$Instances$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Apps$Services$Versions$Instances$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Apps$Services$Versions$Instances$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * appengine.apps.services.versions.instances.get + * @desc Gets instance information. + * @alias appengine.apps.services.versions.instances.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1. + * @param {string} params.instancesId Part of `name`. See documentation of `appsId`. + * @param {string} params.servicesId Part of `name`. See documentation of `appsId`. + * @param {string} params.versionsId Part of `name`. See documentation of `appsId`. + * @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?: Params$Resource$Apps$Services$Versions$Instances$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Apps$Services$Versions$Instances$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Apps$Services$Versions$Instances$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * appengine.apps.services.versions.instances.list + * @desc Lists the instances of a version.Tip: To aggregate details about + * instances over time, see the Stackdriver Monitoring API + * (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list). + * @alias appengine.apps.services.versions.instances.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appsId Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1. + * @param {integer=} params.pageSize Maximum results to return per page. + * @param {string=} params.pageToken Continuation token for fetching the next page of results. + * @param {string} params.servicesId Part of `name`. See documentation of `appsId`. + * @param {string} params.versionsId Part of `name`. See documentation of `appsId`. + * @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?: Params$Resource$Apps$Services$Versions$Instances$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Apps$Services$Versions$Instances$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Apps$Services$Versions$Instances$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Apps$Services$Versions$Instances$Debug { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource requested. Example: + * apps/myapp/services/default/versions/v1/instances/instance-1. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + instancesId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + servicesId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + versionsId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DebugInstanceRequest; + } + interface Params$Resource$Apps$Services$Versions$Instances$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource requested. For example: + * "apps/myapp/services/default/versions/v1/instances/instance-1". + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + instancesId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + servicesId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + versionsId?: string; + } + interface Params$Resource$Apps$Services$Versions$Instances$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource requested. Example: + * apps/myapp/services/default/versions/v1/instances/instance-1. + */ + appsId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + instancesId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + servicesId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + versionsId?: string; + } + interface Params$Resource$Apps$Services$Versions$Instances$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Part of `name`. Name of the resource requested. Example: + * apps/myapp/services/default/versions/v1. + */ + appsId?: string; + /** + * Maximum results to return per page. + */ + pageSize?: number; + /** + * Continuation token for fetching the next page of results. + */ + pageToken?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + servicesId?: string; + /** + * Part of `name`. See documentation of `appsId`. + */ + versionsId?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/appengine/v1beta5.js b/express-server/node_modules/googleapis/build/src/apis/appengine/v1beta5.js new file mode 100644 index 00000000..068f5080 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/appengine/v1beta5.js @@ -0,0 +1,749 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var appengine_v1beta5; +(function (appengine_v1beta5) { + /** + * App Engine Admin API + * + * The App Engine Admin API enables developers to provision and manage their + * App Engine applications. + * + * @example + * const {google} = require('googleapis'); + * const appengine = google.appengine('v1beta5'); + * + * @namespace appengine + * @type {Function} + * @version v1beta5 + * @variation v1beta5 + * @param {object=} options Options for Appengine + */ + class Appengine { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.apps = new Resource$Apps(this); + } + getRoot() { + return this.root; + } + } + appengine_v1beta5.Appengine = Appengine; + class Resource$Apps { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.locations = new Resource$Apps$Locations(root); + this.operations = new Resource$Apps$Operations(root); + this.services = new Resource$Apps$Services(root); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta5/apps').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta5/apps/{appsId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId'], + pathParams: ['appsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta5/apps/{appsId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['appsId'], + pathParams: ['appsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + appengine_v1beta5.Resource$Apps = Resource$Apps; + class Resource$Apps$Locations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta5/apps/{appsId}/locations/{locationsId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId', 'locationsId'], + pathParams: ['appsId', 'locationsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta5/apps/{appsId}/locations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId'], + pathParams: ['appsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + appengine_v1beta5.Resource$Apps$Locations = Resource$Apps$Locations; + class Resource$Apps$Operations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta5/apps/{appsId}/operations/{operationsId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId', 'operationsId'], + pathParams: ['appsId', 'operationsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta5/apps/{appsId}/operations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId'], + pathParams: ['appsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + appengine_v1beta5.Resource$Apps$Operations = Resource$Apps$Operations; + class Resource$Apps$Services { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.versions = new Resource$Apps$Services$Versions(root); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta5/apps/{appsId}/services/{servicesId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['appsId', 'servicesId'], + pathParams: ['appsId', 'servicesId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta5/apps/{appsId}/services/{servicesId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId', 'servicesId'], + pathParams: ['appsId', 'servicesId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta5/apps/{appsId}/services') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId'], + pathParams: ['appsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta5/apps/{appsId}/services/{servicesId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['appsId', 'servicesId'], + pathParams: ['appsId', 'servicesId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + appengine_v1beta5.Resource$Apps$Services = Resource$Apps$Services; + class Resource$Apps$Services$Versions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.instances = new Resource$Apps$Services$Versions$Instances(root); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta5/apps/{appsId}/services/{servicesId}/versions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['appsId', 'servicesId'], + pathParams: ['appsId', 'servicesId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta5/apps/{appsId}/services/{servicesId}/versions/{versionsId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['appsId', 'servicesId', 'versionsId'], + pathParams: ['appsId', 'servicesId', 'versionsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta5/apps/{appsId}/services/{servicesId}/versions/{versionsId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId', 'servicesId', 'versionsId'], + pathParams: ['appsId', 'servicesId', 'versionsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta5/apps/{appsId}/services/{servicesId}/versions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId', 'servicesId'], + pathParams: ['appsId', 'servicesId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta5/apps/{appsId}/services/{servicesId}/versions/{versionsId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['appsId', 'servicesId', 'versionsId'], + pathParams: ['appsId', 'servicesId', 'versionsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + appengine_v1beta5.Resource$Apps$Services$Versions = Resource$Apps$Services$Versions; + class Resource$Apps$Services$Versions$Instances { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + debug(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta5/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}:debug') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['appsId', 'servicesId', 'versionsId', 'instancesId'], + pathParams: ['appsId', 'instancesId', 'servicesId', 'versionsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta5/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['appsId', 'servicesId', 'versionsId', 'instancesId'], + pathParams: ['appsId', 'instancesId', 'servicesId', 'versionsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta5/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId', 'servicesId', 'versionsId', 'instancesId'], + pathParams: ['appsId', 'instancesId', 'servicesId', 'versionsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta5/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appsId', 'servicesId', 'versionsId'], + pathParams: ['appsId', 'servicesId', 'versionsId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + appengine_v1beta5.Resource$Apps$Services$Versions$Instances = Resource$Apps$Services$Versions$Instances; +})(appengine_v1beta5 = exports.appengine_v1beta5 || (exports.appengine_v1beta5 = {})); +//# sourceMappingURL=v1beta5.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/appengine/v1beta5.js.map b/express-server/node_modules/googleapis/build/src/apis/appengine/v1beta5.js.map new file mode 100644 index 00000000..3af927a4 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/appengine/v1beta5.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1beta5.js","sourceRoot":"","sources":["../../../../src/apis/appengine/v1beta5.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/appsactivity/README.md b/express-server/node_modules/googleapis/build/src/apis/appsactivity/README.md new file mode 100644 index 00000000..e5725b17 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/appsactivity/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/appsactivity + +> Provides a historical view of activity. + +## Installation + +```sh +$ npm install @google/appsactivity +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/appsactivity/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/appsactivity/index.d.ts new file mode 100644 index 00000000..1e1a16a7 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/appsactivity/index.d.ts @@ -0,0 +1,6 @@ +import { appsactivity_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof appsactivity_v1.Appsactivity; +}; +export declare function appsactivity(version: 'v1'): appsactivity_v1.Appsactivity; +export declare function appsactivity(options: appsactivity_v1.Options): appsactivity_v1.Appsactivity; diff --git a/express-server/node_modules/googleapis/build/src/apis/appsactivity/index.js b/express-server/node_modules/googleapis/build/src/apis/appsactivity/index.js new file mode 100644 index 00000000..43725013 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/appsactivity/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.appsactivity_v1.Appsactivity, +}; +function appsactivity(versionOrOptions) { + return googleapis_common_1.getAPI('appsactivity', versionOrOptions, exports.VERSIONS, this); +} +exports.appsactivity = appsactivity; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/appsactivity/index.js.map b/express-server/node_modules/googleapis/build/src/apis/appsactivity/index.js.map new file mode 100644 index 00000000..7aa4e475 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/appsactivity/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/appsactivity/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAqC;AAExB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,oBAAe,CAAC,YAAY;CACnC,CAAC;AAKF,SAAgB,YAAY,CACE,gBAA8C;IAC1E,OAAO,0BAAM,CAAI,cAAc,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACrE,CAAC;AAHD,oCAGC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/appsactivity/package.json b/express-server/node_modules/googleapis/build/src/apis/appsactivity/package.json new file mode 100644 index 00000000..b794b587 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/appsactivity/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/appsactivity", + "version": "0.1.0", + "description": "appsactivity", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/appsactivity/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/appsactivity/v1.d.ts new file mode 100644 index 00000000..0e19719d --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/appsactivity/v1.d.ts @@ -0,0 +1,341 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace appsactivity_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Drive Activity API + * + * Provides a historical view of activity. + * + * @example + * const {google} = require('googleapis'); + * const appsactivity = google.appsactivity('v1'); + * + * @namespace appsactivity + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Appsactivity + */ + class Appsactivity { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + activities: Resource$Activities; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * An Activity resource is a combined view of multiple events. An activity has + * a list of individual events and a combined view of the common fields among + * all events. + */ + interface Schema$Activity { + /** + * The fields common to all of the singleEvents that make up the Activity. + */ + combinedEvent?: Schema$Event; + /** + * A list of all the Events that make up the Activity. + */ + singleEvents?: Schema$Event[]; + } + /** + * Represents the changes associated with an action taken by a user. + */ + interface Schema$Event { + /** + * Additional event types. Some events may have multiple types when multiple + * actions are part of a single event. For example, creating a document, + * renaming it, and sharing it may be part of a single file-creation event. + */ + additionalEventTypes?: string[]; + /** + * The time at which the event occurred formatted as Unix time in + * milliseconds. + */ + eventTimeMillis?: string; + /** + * Whether this event is caused by a user being deleted. + */ + fromUserDeletion?: boolean; + /** + * Extra information for move type events, such as changes in an + * object's parents. + */ + move?: Schema$Move; + /** + * Extra information for permissionChange type events, such as the user or + * group the new permission applies to. + */ + permissionChanges?: Schema$PermissionChange[]; + /** + * The main type of event that occurred. + */ + primaryEventType?: string; + /** + * Extra information for rename type events, such as the old and new names. + */ + rename?: Schema$Rename; + /** + * Information specific to the Target object modified by the event. + */ + target?: Schema$Target; + /** + * Represents the user responsible for the event. + */ + user?: Schema$User; + } + /** + * The response from the list request. Contains a list of activities and a + * token to retrieve the next page of results. + */ + interface Schema$ListActivitiesResponse { + /** + * List of activities. + */ + activities?: Schema$Activity[]; + /** + * Token for the next page of results. + */ + nextPageToken?: string; + } + /** + * Contains information about changes in an object's parents as a result + * of a move type event. + */ + interface Schema$Move { + /** + * The added parent(s). + */ + addedParents?: Schema$Parent[]; + /** + * The removed parent(s). + */ + removedParents?: Schema$Parent[]; + } + /** + * Contains information about a parent object. For example, a folder in Drive + * is a parent for all files within it. + */ + interface Schema$Parent { + /** + * The parent's ID. + */ + id?: string; + /** + * Whether this is the root folder. + */ + isRoot?: boolean; + /** + * The parent's title. + */ + title?: string; + } + /** + * Contains information about the permissions and type of access allowed with + * regards to a Google Drive object. This is a subset of the fields contained + * in a corresponding Drive Permissions object. + */ + interface Schema$Permission { + /** + * The name of the user or group the permission applies to. + */ + name?: string; + /** + * The ID for this permission. Corresponds to the Drive API's permission + * ID returned as part of the Drive Permissions resource. + */ + permissionId?: string; + /** + * Indicates the Google Drive permissions role. The role determines a + * user's ability to read, write, or comment on the file. + */ + role?: string; + /** + * Indicates how widely permissions are granted. + */ + type?: string; + /** + * The user's information if the type is USER. + */ + user?: Schema$User; + /** + * Whether the permission requires a link to the file. + */ + withLink?: boolean; + } + /** + * Contains information about a Drive object's permissions that changed as + * a result of a permissionChange type event. + */ + interface Schema$PermissionChange { + /** + * Lists all Permission objects added. + */ + addedPermissions?: Schema$Permission[]; + /** + * Lists all Permission objects removed. + */ + removedPermissions?: Schema$Permission[]; + } + /** + * Photo information for a user. + */ + interface Schema$Photo { + /** + * The URL of the photo. + */ + url?: string; + } + /** + * Contains information about a renametype event. + */ + interface Schema$Rename { + /** + * The new title. + */ + newTitle?: string; + /** + * The old title. + */ + oldTitle?: string; + } + /** + * Information about the object modified by the event. + */ + interface Schema$Target { + /** + * The ID of the target. For example, in Google Drive, this is the file or + * folder ID. + */ + id?: string; + /** + * The MIME type of the target. + */ + mimeType?: string; + /** + * The name of the target. For example, in Google Drive, this is the title + * of the file. + */ + name?: string; + } + /** + * A representation of a user. + */ + interface Schema$User { + /** + * A boolean which indicates whether the specified User was deleted. If + * true, name, photo and permission_id will be omitted. + */ + isDeleted?: boolean; + /** + * Whether the user is the authenticated user. + */ + isMe?: boolean; + /** + * The displayable name of the user. + */ + name?: string; + /** + * The permission ID associated with this user. Equivalent to the Drive + * API's permission ID for this user, returned as part of the Drive + * Permissions resource. + */ + permissionId?: string; + /** + * The profile photo of the user. Not present if the user has no profile + * photo. + */ + photo?: Schema$Photo; + } + class Resource$Activities { + root: Appsactivity; + constructor(root: Appsactivity); + getRoot(): Appsactivity; + /** + * appsactivity.activities.list + * @desc Returns a list of activities visible to the current logged in user. + * Visible activities are determined by the visiblity settings of the object + * that was acted on, e.g. Drive files a user can see. An activity is a + * record of past events. Multiple events may be merged if they are similar. + * A request is scoped to activities from a given Google service using the + * source parameter. + * @alias appsactivity.activities.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {string=} params.drive.ancestorId Identifies the Drive folder containing the items for which to return activities. + * @param {string=} params.drive.fileId Identifies the Drive item to return activities for. + * @param {string=} params.groupingStrategy Indicates the strategy to use when grouping singleEvents items in the associated combinedEvent object. + * @param {integer=} params.pageSize The maximum number of events to return on a page. The response includes a continuation token if there are more events. + * @param {string=} params.pageToken A token to retrieve a specific page of results. + * @param {string=} params.source The Google service from which to return activities. Possible values of source are: - drive.google.com + * @param {string=} params.userId Indicates the user to return activity for. Use the special value me to indicate the currently authenticated user. + * @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?: Params$Resource$Activities$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Activities$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Activities$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Activities$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifies the Drive folder containing the items for which to return + * activities. + */ + 'drive.ancestorId'?: string; + /** + * Identifies the Drive item to return activities for. + */ + 'drive.fileId'?: string; + /** + * Indicates the strategy to use when grouping singleEvents items in the + * associated combinedEvent object. + */ + groupingStrategy?: string; + /** + * The maximum number of events to return on a page. The response includes a + * continuation token if there are more events. + */ + pageSize?: number; + /** + * A token to retrieve a specific page of results. + */ + pageToken?: string; + /** + * The Google service from which to return activities. Possible values of + * source are: - drive.google.com + */ + source?: string; + /** + * Indicates the user to return activity for. Use the special value me to + * indicate the currently authenticated user. + */ + userId?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/appsactivity/v1.js b/express-server/node_modules/googleapis/build/src/apis/appsactivity/v1.js new file mode 100644 index 00000000..0c349743 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/appsactivity/v1.js @@ -0,0 +1,96 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var appsactivity_v1; +(function (appsactivity_v1) { + /** + * Drive Activity API + * + * Provides a historical view of activity. + * + * @example + * const {google} = require('googleapis'); + * const appsactivity = google.appsactivity('v1'); + * + * @namespace appsactivity + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Appsactivity + */ + class Appsactivity { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.activities = new Resource$Activities(this); + } + getRoot() { + return this.root; + } + } + appsactivity_v1.Appsactivity = Appsactivity; + class Resource$Activities { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/appsactivity/v1/activities') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + appsactivity_v1.Resource$Activities = Resource$Activities; +})(appsactivity_v1 = exports.appsactivity_v1 || (exports.appsactivity_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/appsactivity/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/appsactivity/v1.js.map new file mode 100644 index 00000000..b75933a5 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/appsactivity/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/appsactivity/v1.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAIH,yDAA2H;AAE3H,yBAAyB;AACzB,6BAA6B;AAC7B,gCAAgC;AAChC,+BAA+B;AAC/B,+BAA+B;AAE/B,IAAiB,eAAe,CA2Y/B;AA3YD,WAAiB,eAAe;IAK9B;;;;;;;;;;;;;;OAcG;IACH,MAAa,YAAY;QAOvB,YAAY,OAAsB,EAAE,MAA2B;YAJ/D,SAAI,GAAG,IAAI,CAAC;YAKV,IAAI,CAAC,QAAQ,GAAG,OAAO,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAExB,IAAI,CAAC,UAAU,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAClD,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;KACF;IAlBY,4BAAY,eAkBxB,CAAA;IAoOD,MAAa,mBAAmB;QAE9B,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAqCD,IAAI,CACA,gBACmD,EACnD,iBACmD,EACnD,QAA8D;YAEhE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAoC,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqC,CAAC;gBAC/C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,6BAA6B,CAAC;yBACpC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,EAAE;gBAClB,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvE;iBAAM;gBACL,OAAO,oCAAgB,CAAgC,UAAU,CAAC,CAAC;aACpE;QACH,CAAC;KACF;IAvFY,mCAAmB,sBAuF/B,CAAA;AA0CH,CAAC,EA3YgB,eAAe,GAAf,uBAAe,KAAf,uBAAe,QA2Y/B"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/appstate/README.md b/express-server/node_modules/googleapis/build/src/apis/appstate/README.md new file mode 100644 index 00000000..607712a1 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/appstate/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/appstate + +> The Google App State API. + +## Installation + +```sh +$ npm install @google/appstate +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/appstate/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/appstate/index.d.ts new file mode 100644 index 00000000..747a4016 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/appstate/index.d.ts @@ -0,0 +1,6 @@ +import { appstate_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof appstate_v1.Appstate; +}; +export declare function appstate(version: 'v1'): appstate_v1.Appstate; +export declare function appstate(options: appstate_v1.Options): appstate_v1.Appstate; diff --git a/express-server/node_modules/googleapis/build/src/apis/appstate/index.js b/express-server/node_modules/googleapis/build/src/apis/appstate/index.js new file mode 100644 index 00000000..9e2c8d77 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/appstate/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.appstate_v1.Appstate, +}; +function appstate(versionOrOptions) { + return googleapis_common_1.getAPI('appstate', versionOrOptions, exports.VERSIONS, this); +} +exports.appstate = appstate; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/appstate/index.js.map b/express-server/node_modules/googleapis/build/src/apis/appstate/index.js.map new file mode 100644 index 00000000..9408884e --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/appstate/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/appstate/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAiC;AAEpB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,gBAAW,CAAC,QAAQ;CAC3B,CAAC;AAIF,SAAgB,QAAQ,CACM,gBAA0C;IACtE,OAAO,0BAAM,CAAI,UAAU,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACjE,CAAC;AAHD,4BAGC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/appstate/package.json b/express-server/node_modules/googleapis/build/src/apis/appstate/package.json new file mode 100644 index 00000000..2c8168a9 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/appstate/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/appstate", + "version": "0.1.0", + "description": "appstate", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/appstate/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/appstate/v1.d.ts new file mode 100644 index 00000000..a707f6bd --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/appstate/v1.d.ts @@ -0,0 +1,281 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace appstate_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Google App State API + * + * The Google App State API. + * + * @example + * const {google} = require('googleapis'); + * const appstate = google.appstate('v1'); + * + * @namespace appstate + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Appstate + */ + class Appstate { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + states: Resource$States; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * This is a JSON template for an app state resource. + */ + interface Schema$GetResponse { + /** + * The current app state version. + */ + currentStateVersion?: string; + /** + * The requested data. + */ + data?: string; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string appstate#getResponse. + */ + kind?: string; + /** + * The key for the data. + */ + stateKey?: number; + } + /** + * This is a JSON template to convert a list-response for app state. + */ + interface Schema$ListResponse { + /** + * The app state data. + */ + items?: Schema$GetResponse[]; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string appstate#listResponse. + */ + kind?: string; + /** + * The maximum number of keys allowed for this user. + */ + maximumKeyCount?: number; + } + /** + * This is a JSON template for a requests which update app state + */ + interface Schema$UpdateRequest { + /** + * The new app state data that your application is trying to update with. + */ + data?: string; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string appstate#updateRequest. + */ + kind?: string; + } + /** + * This is a JSON template for an app state write result. + */ + interface Schema$WriteResult { + /** + * The version of the data for this key on the server. + */ + currentStateVersion?: string; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string appstate#writeResult. + */ + kind?: string; + /** + * The written key. + */ + stateKey?: number; + } + class Resource$States { + root: Appstate; + constructor(root: Appstate); + getRoot(): Appstate; + /** + * appstate.states.clear + * @desc Clears (sets to empty) the data for the passed key if and only if + * the passed version matches the currently stored version. This method + * results in a conflict error on version mismatch. + * @alias appstate.states.clear + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.currentDataVersion The version of the data to be cleared. Version strings are returned by the server. + * @param {integer} params.stateKey The key for the data to be retrieved. + * @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 + */ + clear(params?: Params$Resource$States$Clear, options?: MethodOptions): AxiosPromise; + clear(params: Params$Resource$States$Clear, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + clear(params: Params$Resource$States$Clear, callback: BodyResponseCallback): void; + clear(callback: BodyResponseCallback): void; + /** + * appstate.states.delete + * @desc Deletes a key and the data associated with it. The key is removed + * and no longer counts against the key quota. Note that since this method + * is not safe in the face of concurrent modifications, it should only be + * used for development and testing purposes. Invoking this method in + * shipping code can result in data loss and data corruption. + * @alias appstate.states.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.stateKey The key for the data to be retrieved. + * @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?: Params$Resource$States$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$States$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$States$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * appstate.states.get + * @desc Retrieves the data corresponding to the passed key. If the key does + * not exist on the server, an HTTP 404 will be returned. + * @alias appstate.states.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.stateKey The key for the data to be retrieved. + * @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?: Params$Resource$States$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$States$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$States$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * appstate.states.list + * @desc Lists all the states keys, and optionally the state data. + * @alias appstate.states.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {boolean=} params.includeData Whether to include the full data in addition to the version number + * @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?: Params$Resource$States$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$States$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$States$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * appstate.states.update + * @desc Update the data associated with the input key if and only if the + * passed version matches the currently stored version. This method is safe + * in the face of concurrent writes. Maximum per-key size is 128KB. + * @alias appstate.states.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.currentStateVersion The version of the app state your application is attempting to update. If this does not match the current version, this method will return a conflict error. If there is no data stored on the server for this key, the update will succeed irrespective of the value of this parameter. + * @param {integer} params.stateKey The key for the data to be retrieved. + * @param {().UpdateRequest} 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?: Params$Resource$States$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$States$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$States$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$States$Clear { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The version of the data to be cleared. Version strings are returned by + * the server. + */ + currentDataVersion?: string; + /** + * The key for the data to be retrieved. + */ + stateKey?: number; + } + interface Params$Resource$States$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The key for the data to be retrieved. + */ + stateKey?: number; + } + interface Params$Resource$States$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The key for the data to be retrieved. + */ + stateKey?: number; + } + interface Params$Resource$States$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Whether to include the full data in addition to the version number + */ + includeData?: boolean; + } + interface Params$Resource$States$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The version of the app state your application is attempting to update. If + * this does not match the current version, this method will return a + * conflict error. If there is no data stored on the server for this key, + * the update will succeed irrespective of the value of this parameter. + */ + currentStateVersion?: string; + /** + * The key for the data to be retrieved. + */ + stateKey?: number; + /** + * Request body metadata + */ + requestBody?: Schema$UpdateRequest; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/appstate/v1.js b/express-server/node_modules/googleapis/build/src/apis/appstate/v1.js new file mode 100644 index 00000000..c3cf9de4 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/appstate/v1.js @@ -0,0 +1,220 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var appstate_v1; +(function (appstate_v1) { + /** + * Google App State API + * + * The Google App State API. + * + * @example + * const {google} = require('googleapis'); + * const appstate = google.appstate('v1'); + * + * @namespace appstate + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Appstate + */ + class Appstate { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.states = new Resource$States(this); + } + getRoot() { + return this.root; + } + } + appstate_v1.Appstate = Appstate; + class Resource$States { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + clear(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/appstate/v1/states/{stateKey}/clear') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['stateKey'], + pathParams: ['stateKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/appstate/v1/states/{stateKey}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['stateKey'], + pathParams: ['stateKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/appstate/v1/states/{stateKey}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['stateKey'], + pathParams: ['stateKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/appstate/v1/states') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/appstate/v1/states/{stateKey}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['stateKey'], + pathParams: ['stateKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + appstate_v1.Resource$States = Resource$States; +})(appstate_v1 = exports.appstate_v1 || (exports.appstate_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/appstate/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/appstate/v1.js.map new file mode 100644 index 00000000..97fff81e --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/appstate/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/appstate/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/bigquery/README.md b/express-server/node_modules/googleapis/build/src/apis/bigquery/README.md new file mode 100644 index 00000000..a5280758 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/bigquery/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/bigquery + +> A data platform for customers to create, manage, share and query data. + +## Installation + +```sh +$ npm install @google/bigquery +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/bigquery/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/bigquery/index.d.ts new file mode 100644 index 00000000..e2fbfa07 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/bigquery/index.d.ts @@ -0,0 +1,6 @@ +import { bigquery_v2 } from './v2'; +export declare const VERSIONS: { + 'v2': typeof bigquery_v2.Bigquery; +}; +export declare function bigquery(version: 'v2'): bigquery_v2.Bigquery; +export declare function bigquery(options: bigquery_v2.Options): bigquery_v2.Bigquery; diff --git a/express-server/node_modules/googleapis/build/src/apis/bigquery/index.js b/express-server/node_modules/googleapis/build/src/apis/bigquery/index.js new file mode 100644 index 00000000..6c021bb9 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/bigquery/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v2_1 = require("./v2"); +exports.VERSIONS = { + 'v2': v2_1.bigquery_v2.Bigquery, +}; +function bigquery(versionOrOptions) { + return googleapis_common_1.getAPI('bigquery', versionOrOptions, exports.VERSIONS, this); +} +exports.bigquery = bigquery; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/bigquery/index.js.map b/express-server/node_modules/googleapis/build/src/apis/bigquery/index.js.map new file mode 100644 index 00000000..248ef98e --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/bigquery/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/bigquery/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAiC;AAEpB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,gBAAW,CAAC,QAAQ;CAC3B,CAAC;AAIF,SAAgB,QAAQ,CACM,gBAA0C;IACtE,OAAO,0BAAM,CAAI,UAAU,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACjE,CAAC;AAHD,4BAGC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/bigquery/package.json b/express-server/node_modules/googleapis/build/src/apis/bigquery/package.json new file mode 100644 index 00000000..41db8fef --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/bigquery/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/bigquery", + "version": "0.1.0", + "description": "bigquery", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/bigquery/v2.d.ts b/express-server/node_modules/googleapis/build/src/apis/bigquery/v2.d.ts new file mode 100644 index 00000000..892fe8c4 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/bigquery/v2.d.ts @@ -0,0 +1,4416 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace bigquery_v2 { + interface Options extends GlobalOptions { + version: 'v2'; + } + /** + * BigQuery API + * + * A data platform for customers to create, manage, share and query data. + * + * @example + * const {google} = require('googleapis'); + * const bigquery = google.bigquery('v2'); + * + * @namespace bigquery + * @type {Function} + * @version v2 + * @variation v2 + * @param {object=} options Options for Bigquery + */ + class Bigquery { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + datasets: Resource$Datasets; + jobs: Resource$Jobs; + projects: Resource$Projects; + tabledata: Resource$Tabledata; + tables: Resource$Tables; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + interface Schema$BigQueryModelTraining { + /** + * [Output-only, Beta] Index of current ML training iteration. Updated + * during create model query job to show job progress. + */ + currentIteration?: number; + /** + * [Output-only, Beta] Expected number of iterations for the create model + * query job specified as num_iterations in the input query. The actual + * total number of iterations may be less than this number due to early + * stop. + */ + expectedTotalIterations?: string; + } + interface Schema$BigtableColumn { + /** + * [Optional] The encoding of the values when the type is not STRING. + * Acceptable encoding values are: TEXT - indicates values are alphanumeric + * text strings. BINARY - indicates values are encoded using HBase + * Bytes.toBytes family of functions. 'encoding' can also be set at + * the column family level. However, the setting at this level takes + * precedence if 'encoding' is set at both levels. + */ + encoding?: string; + /** + * [Optional] If the qualifier is not a valid BigQuery field identifier i.e. + * does not match [a-zA-Z][a-zA-Z0-9_]*, a valid identifier must be provided + * as the column field name and is used as field name in queries. + */ + fieldName?: string; + /** + * [Optional] If this is set, only the latest version of value in this + * column are exposed. 'onlyReadLatest' can also be set at the + * column family level. However, the setting at this level takes precedence + * if 'onlyReadLatest' is set at both levels. + */ + onlyReadLatest?: boolean; + /** + * [Required] Qualifier of the column. Columns in the parent column family + * that has this exact qualifier are exposed as . field. If the qualifier is + * valid UTF-8 string, it can be specified in the qualifier_string field. + * Otherwise, a base-64 encoded value must be set to qualifier_encoded. The + * column field name is the same as the column qualifier. However, if the + * qualifier is not a valid BigQuery field identifier i.e. does not match + * [a-zA-Z][a-zA-Z0-9_]*, a valid identifier must be provided as field_name. + */ + qualifierEncoded?: string; + qualifierString?: string; + /** + * [Optional] The type to convert the value in cells of this column. The + * values are expected to be encoded using HBase Bytes.toBytes function when + * using the BINARY encoding value. Following BigQuery types are allowed + * (case-sensitive) - BYTES STRING INTEGER FLOAT BOOLEAN Default type is + * BYTES. 'type' can also be set at the column family level. + * However, the setting at this level takes precedence if 'type' is + * set at both levels. + */ + type?: string; + } + interface Schema$BigtableColumnFamily { + /** + * [Optional] Lists of columns that should be exposed as individual fields + * as opposed to a list of (column name, value) pairs. All columns whose + * qualifier matches a qualifier in this list can be accessed as .. Other + * columns can be accessed as a list through .Column field. + */ + columns?: Schema$BigtableColumn[]; + /** + * [Optional] The encoding of the values when the type is not STRING. + * Acceptable encoding values are: TEXT - indicates values are alphanumeric + * text strings. BINARY - indicates values are encoded using HBase + * Bytes.toBytes family of functions. This can be overridden for a specific + * column by listing that column in 'columns' and specifying an + * encoding for it. + */ + encoding?: string; + /** + * Identifier of the column family. + */ + familyId?: string; + /** + * [Optional] If this is set only the latest version of value are exposed + * for all columns in this column family. This can be overridden for a + * specific column by listing that column in 'columns' and + * specifying a different setting for that column. + */ + onlyReadLatest?: boolean; + /** + * [Optional] The type to convert the value in cells of this column family. + * The values are expected to be encoded using HBase Bytes.toBytes function + * when using the BINARY encoding value. Following BigQuery types are + * allowed (case-sensitive) - BYTES STRING INTEGER FLOAT BOOLEAN Default + * type is BYTES. This can be overridden for a specific column by listing + * that column in 'columns' and specifying a type for it. + */ + type?: string; + } + interface Schema$BigtableOptions { + /** + * [Optional] List of column families to expose in the table schema along + * with their types. This list restricts the column families that can be + * referenced in queries and specifies their value types. You can use this + * list to do type conversions - see the 'type' field for more + * details. If you leave this list empty, all column families are present in + * the table schema and their values are read as BYTES. During a query only + * the column families referenced in that query are read from Bigtable. + */ + columnFamilies?: Schema$BigtableColumnFamily[]; + /** + * [Optional] If field is true, then the column families that are not + * specified in columnFamilies list are not exposed in the table schema. + * Otherwise, they are read with BYTES type values. The default value is + * false. + */ + ignoreUnspecifiedColumnFamilies?: boolean; + /** + * [Optional] If field is true, then the rowkey column families will be read + * and converted to string. Otherwise they are read with BYTES type values + * and users need to manually cast them with CAST if necessary. The default + * value is false. + */ + readRowkeyAsString?: boolean; + } + interface Schema$Clustering { + /** + * [Repeated] One or more fields on which data should be clustered. Only + * top-level, non-repeated, simple-type fields are supported. When you + * cluster a table using multiple columns, the order of columns you specify + * is important. The order of the specified columns determines the sort + * order of the data. + */ + fields?: string[]; + } + interface Schema$CsvOptions { + /** + * [Optional] Indicates if BigQuery should accept rows that are missing + * trailing optional columns. If true, BigQuery treats missing trailing + * columns as null values. If false, records with missing trailing columns + * are treated as bad records, and if there are too many bad records, an + * invalid error is returned in the job result. The default value is false. + */ + allowJaggedRows?: boolean; + /** + * [Optional] Indicates if BigQuery should allow quoted data sections that + * contain newline characters in a CSV file. The default value is false. + */ + allowQuotedNewlines?: boolean; + /** + * [Optional] The character encoding of the data. The supported values are + * UTF-8 or ISO-8859-1. The default value is UTF-8. BigQuery decodes the + * data after the raw, binary data has been split using the values of the + * quote and fieldDelimiter properties. + */ + encoding?: string; + /** + * [Optional] The separator for fields in a CSV file. BigQuery converts the + * string to ISO-8859-1 encoding, and then uses the first byte of the + * encoded string to split the data in its raw, binary state. BigQuery also + * supports the escape sequence "\t" to specify a tab separator. + * The default value is a comma (','). + */ + fieldDelimiter?: string; + /** + * [Optional] The value that is used to quote data sections in a CSV file. + * BigQuery converts the string to ISO-8859-1 encoding, and then uses the + * first byte of the encoded string to split the data in its raw, binary + * state. The default value is a double-quote ('"'). If your + * data does not contain quoted sections, set the property value to an empty + * string. If your data contains quoted newline characters, you must also + * set the allowQuotedNewlines property to true. + */ + quote?: string; + /** + * [Optional] The number of rows at the top of a CSV file that BigQuery will + * skip when reading the data. The default value is 0. This property is + * useful if you have header rows in the file that should be skipped. + */ + skipLeadingRows?: string; + } + interface Schema$Dataset { + /** + * [Optional] An array of objects that define dataset access for one or more + * entities. You can set this property when inserting or updating a dataset + * in order to control who is allowed to access the data. If unspecified at + * dataset creation time, BigQuery adds default dataset access for the + * following entities: access.specialGroup: projectReaders; access.role: + * READER; access.specialGroup: projectWriters; access.role: WRITER; + * access.specialGroup: projectOwners; access.role: OWNER; + * access.userByEmail: [dataset creator email]; access.role: OWNER; + */ + access?: any[]; + /** + * [Output-only] The time when this dataset was created, in milliseconds + * since the epoch. + */ + creationTime?: string; + /** + * [Required] A reference that identifies the dataset. + */ + datasetReference?: Schema$DatasetReference; + /** + * [Optional] The default partition expiration for all partitioned tables in + * the dataset, in milliseconds. Once this property is set, all + * newly-created partitioned tables in the dataset will have an expirationMs + * property in the timePartitioning settings set to this value, and changing + * the value will only affect new tables, not existing ones. The storage in + * a partition will have an expiration time of its partition time plus this + * value. Setting this property overrides the use of + * defaultTableExpirationMs for partitioned tables: only one of + * defaultTableExpirationMs and defaultPartitionExpirationMs will be used + * for any new partitioned table. If you provide an explicit + * timePartitioning.expirationMs when creating or updating a partitioned + * table, that value takes precedence over the default partition expiration + * time indicated by this property. + */ + defaultPartitionExpirationMs?: string; + /** + * [Optional] The default lifetime of all tables in the dataset, in + * milliseconds. The minimum value is 3600000 milliseconds (one hour). Once + * this property is set, all newly-created tables in the dataset will have + * an expirationTime property set to the creation time plus the value in + * this property, and changing the value will only affect new tables, not + * existing ones. When the expirationTime for a given table is reached, that + * table will be deleted automatically. If a table's expirationTime is + * modified or removed before the table expires, or if you provide an + * explicit expirationTime when creating a table, that value takes + * precedence over the default expiration time indicated by this property. + */ + defaultTableExpirationMs?: string; + /** + * [Optional] A user-friendly description of the dataset. + */ + description?: string; + /** + * [Output-only] A hash of the resource. + */ + etag?: string; + /** + * [Optional] A descriptive name for the dataset. + */ + friendlyName?: string; + /** + * [Output-only] The fully-qualified unique name of the dataset in the + * format projectId:datasetId. The dataset name without the project name is + * given in the datasetId field. When creating a new dataset, leave this + * field blank, and instead specify the datasetId field. + */ + id?: string; + /** + * [Output-only] The resource type. + */ + kind?: string; + /** + * The labels associated with this dataset. You can use these to organize + * and group your datasets. You can set this property when inserting or + * updating a dataset. See Creating and Updating Dataset Labels for more + * information. + */ + labels?: any; + /** + * [Output-only] The date when this dataset or any of its tables was last + * modified, in milliseconds since the epoch. + */ + lastModifiedTime?: string; + /** + * The geographic location where the dataset should reside. The default + * value is US. See details at + * https://cloud.google.com/bigquery/docs/dataset-locations. + */ + location?: string; + /** + * [Output-only] A URL that can be used to access the resource again. You + * can use this URL in Get or Update requests to the resource. + */ + selfLink?: string; + } + interface Schema$DatasetList { + /** + * An array of the dataset resources in the project. Each resource contains + * basic information. For full information about a particular dataset + * resource, use the Datasets: get method. This property is omitted when + * there are no datasets in the project. + */ + datasets?: any[]; + /** + * A hash value of the results page. You can use this property to determine + * if the page has changed since the last request. + */ + etag?: string; + /** + * The list type. This property always returns the value + * "bigquery#datasetList". + */ + kind?: string; + /** + * A token that can be used to request the next results page. This property + * is omitted on the final results page. + */ + nextPageToken?: string; + } + interface Schema$DatasetReference { + /** + * [Required] A unique ID for this dataset, without the project name. The ID + * must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). + * The maximum length is 1,024 characters. + */ + datasetId?: string; + /** + * [Optional] The ID of the project containing this dataset. + */ + projectId?: string; + } + interface Schema$DestinationTableProperties { + /** + * [Optional] The description for the destination table. This will only be + * used if the destination table is newly created. If the table already + * exists and a value different than the current description is provided, + * the job will fail. + */ + description?: string; + /** + * [Optional] The friendly name for the destination table. This will only be + * used if the destination table is newly created. If the table already + * exists and a value different than the current friendly name is provided, + * the job will fail. + */ + friendlyName?: string; + } + interface Schema$EncryptionConfiguration { + /** + * [Optional] Describes the Cloud KMS encryption key that will be used to + * protect destination BigQuery table. The BigQuery Service Account + * associated with your project requires access to this encryption key. + */ + kmsKeyName?: string; + } + interface Schema$ErrorProto { + /** + * Debugging information. This property is internal to Google and should not + * be used. + */ + debugInfo?: string; + /** + * Specifies where the error occurred, if present. + */ + location?: string; + /** + * A human-readable description of the error. + */ + message?: string; + /** + * A short error code that summarizes the error. + */ + reason?: string; + } + interface Schema$ExplainQueryStage { + /** + * Number of parallel input segments completed. + */ + completedParallelInputs?: string; + /** + * Milliseconds the average shard spent on CPU-bound tasks. + */ + computeMsAvg?: string; + /** + * Milliseconds the slowest shard spent on CPU-bound tasks. + */ + computeMsMax?: string; + /** + * Relative amount of time the average shard spent on CPU-bound tasks. + */ + computeRatioAvg?: number; + /** + * Relative amount of time the slowest shard spent on CPU-bound tasks. + */ + computeRatioMax?: number; + /** + * Stage end time represented as milliseconds since epoch. + */ + endMs?: string; + /** + * Unique ID for stage within plan. + */ + id?: string; + /** + * IDs for stages that are inputs to this stage. + */ + inputStages?: string[]; + /** + * Human-readable name for stage. + */ + name?: string; + /** + * Number of parallel input segments to be processed. + */ + parallelInputs?: string; + /** + * Milliseconds the average shard spent reading input. + */ + readMsAvg?: string; + /** + * Milliseconds the slowest shard spent reading input. + */ + readMsMax?: string; + /** + * Relative amount of time the average shard spent reading input. + */ + readRatioAvg?: number; + /** + * Relative amount of time the slowest shard spent reading input. + */ + readRatioMax?: number; + /** + * Number of records read into the stage. + */ + recordsRead?: string; + /** + * Number of records written by the stage. + */ + recordsWritten?: string; + /** + * Total number of bytes written to shuffle. + */ + shuffleOutputBytes?: string; + /** + * Total number of bytes written to shuffle and spilled to disk. + */ + shuffleOutputBytesSpilled?: string; + /** + * Stage start time represented as milliseconds since epoch. + */ + startMs?: string; + /** + * Current status for the stage. + */ + status?: string; + /** + * List of operations within the stage in dependency order (approximately + * chronological). + */ + steps?: Schema$ExplainQueryStep[]; + /** + * Milliseconds the average shard spent waiting to be scheduled. + */ + waitMsAvg?: string; + /** + * Milliseconds the slowest shard spent waiting to be scheduled. + */ + waitMsMax?: string; + /** + * Relative amount of time the average shard spent waiting to be scheduled. + */ + waitRatioAvg?: number; + /** + * Relative amount of time the slowest shard spent waiting to be scheduled. + */ + waitRatioMax?: number; + /** + * Milliseconds the average shard spent on writing output. + */ + writeMsAvg?: string; + /** + * Milliseconds the slowest shard spent on writing output. + */ + writeMsMax?: string; + /** + * Relative amount of time the average shard spent on writing output. + */ + writeRatioAvg?: number; + /** + * Relative amount of time the slowest shard spent on writing output. + */ + writeRatioMax?: number; + } + interface Schema$ExplainQueryStep { + /** + * Machine-readable operation type. + */ + kind?: string; + /** + * Human-readable stage descriptions. + */ + substeps?: string[]; + } + interface Schema$ExternalDataConfiguration { + /** + * Try to detect schema and format options automatically. Any option + * specified explicitly will be honored. + */ + autodetect?: boolean; + /** + * [Optional] Additional options if sourceFormat is set to BIGTABLE. + */ + bigtableOptions?: Schema$BigtableOptions; + /** + * [Optional] The compression type of the data source. Possible values + * include GZIP and NONE. The default value is NONE. This setting is ignored + * for Google Cloud Bigtable, Google Cloud Datastore backups and Avro + * formats. + */ + compression?: string; + /** + * Additional properties to set if sourceFormat is set to CSV. + */ + csvOptions?: Schema$CsvOptions; + /** + * [Optional] Additional options if sourceFormat is set to GOOGLE_SHEETS. + */ + googleSheetsOptions?: Schema$GoogleSheetsOptions; + /** + * [Optional] Indicates if BigQuery should allow extra values that are not + * represented in the table schema. If true, the extra values are ignored. + * If false, records with extra columns are treated as bad records, and if + * there are too many bad records, an invalid error is returned in the job + * result. The default value is false. The sourceFormat property determines + * what BigQuery treats as an extra value: CSV: Trailing columns JSON: Named + * values that don't match any column names Google Cloud Bigtable: This + * setting is ignored. Google Cloud Datastore backups: This setting is + * ignored. Avro: This setting is ignored. + */ + ignoreUnknownValues?: boolean; + /** + * [Optional] The maximum number of bad records that BigQuery can ignore + * when reading data. If the number of bad records exceeds this value, an + * invalid error is returned in the job result. This is only valid for CSV, + * JSON, and Google Sheets. The default value is 0, which requires that all + * records are valid. This setting is ignored for Google Cloud Bigtable, + * Google Cloud Datastore backups and Avro formats. + */ + maxBadRecords?: number; + /** + * [Optional] The schema for the data. Schema is required for CSV and JSON + * formats. Schema is disallowed for Google Cloud Bigtable, Cloud Datastore + * backups, and Avro formats. + */ + schema?: Schema$TableSchema; + /** + * [Required] The data format. For CSV files, specify "CSV". For + * Google sheets, specify "GOOGLE_SHEETS". For newline-delimited + * JSON, specify "NEWLINE_DELIMITED_JSON". For Avro files, specify + * "AVRO". For Google Cloud Datastore backups, specify + * "DATASTORE_BACKUP". [Beta] For Google Cloud Bigtable, specify + * "BIGTABLE". + */ + sourceFormat?: string; + /** + * [Required] The fully-qualified URIs that point to your data in Google + * Cloud. For Google Cloud Storage URIs: Each URI can contain one + * '*' wildcard character and it must come after the + * 'bucket' name. Size limits related to load jobs apply to external + * data sources. For Google Cloud Bigtable URIs: Exactly one URI can be + * specified and it has be a fully specified and valid HTTPS URL for a + * Google Cloud Bigtable table. For Google Cloud Datastore backups, exactly + * one URI can be specified. Also, the '*' wildcard character is not + * allowed. + */ + sourceUris?: string[]; + } + interface Schema$GetQueryResultsResponse { + /** + * Whether the query result was fetched from the query cache. + */ + cacheHit?: boolean; + /** + * [Output-only] The first errors or warnings encountered during the running + * of the job. The final message includes the number of errors that caused + * the process to stop. Errors here do not necessarily mean that the job has + * completed or was unsuccessful. + */ + errors?: Schema$ErrorProto[]; + /** + * A hash of this response. + */ + etag?: string; + /** + * Whether the query has completed or not. If rows or totalRows are present, + * this will always be true. If this is false, totalRows will not be + * available. + */ + jobComplete?: boolean; + /** + * Reference to the BigQuery Job that was created to run the query. This + * field will be present even if the original request timed out, in which + * case GetQueryResults can be used to read the results once the query has + * completed. Since this API only returns the first page of results, + * subsequent pages can be fetched via the same mechanism (GetQueryResults). + */ + jobReference?: Schema$JobReference; + /** + * The resource type of the response. + */ + kind?: string; + /** + * [Output-only] The number of rows affected by a DML statement. Present + * only for DML statements INSERT, UPDATE or DELETE. + */ + numDmlAffectedRows?: string; + /** + * A token used for paging results. + */ + pageToken?: string; + /** + * An object with as many results as can be contained within the maximum + * permitted reply size. To get any additional rows, you can call + * GetQueryResults and specify the jobReference returned above. Present only + * when the query completes successfully. + */ + rows?: Schema$TableRow[]; + /** + * The schema of the results. Present only when the query completes + * successfully. + */ + schema?: Schema$TableSchema; + /** + * The total number of bytes processed for this query. + */ + totalBytesProcessed?: string; + /** + * The total number of rows in the complete query result set, which can be + * more than the number of rows in this single page of results. Present only + * when the query completes successfully. + */ + totalRows?: string; + } + interface Schema$GetServiceAccountResponse { + /** + * The service account email address. + */ + email?: string; + /** + * The resource type of the response. + */ + kind?: string; + } + interface Schema$GoogleSheetsOptions { + /** + * [Beta] [Optional] Range of a sheet to query from. Only used when + * non-empty. Typical format: !: + */ + range?: string; + /** + * [Optional] The number of rows at the top of a sheet that BigQuery will + * skip when reading the data. The default value is 0. This property is + * useful if you have header rows that should be skipped. When autodetect is + * on, behavior is the following: * skipLeadingRows unspecified - Autodetect + * tries to detect headers in the first row. If they are not detected, the + * row is read as data. Otherwise data is read starting from the second row. + * * skipLeadingRows is 0 - Instructs autodetect that there are no headers + * and data should be read starting from the first row. * skipLeadingRows = + * N > 0 - Autodetect skips N-1 rows and tries to detect headers in row + * N. If headers are not detected, row N is just skipped. Otherwise row N is + * used to extract column names for the detected schema. + */ + skipLeadingRows?: string; + } + interface Schema$IterationResult { + /** + * [Output-only, Beta] Time taken to run the training iteration in + * milliseconds. + */ + durationMs?: string; + /** + * [Output-only, Beta] Eval loss computed on the eval data at the end of the + * iteration. The eval loss is used for early stopping to avoid overfitting. + * No eval loss if eval_split_method option is specified as no_split or + * auto_split with input data size less than 500 rows. + */ + evalLoss?: number; + /** + * [Output-only, Beta] Index of the ML training iteration, starting from + * zero for each training run. + */ + index?: number; + /** + * [Output-only, Beta] Learning rate used for this iteration, it varies for + * different training iterations if learn_rate_strategy option is not + * constant. + */ + learnRate?: number; + /** + * [Output-only, Beta] Training loss computed on the training data at the + * end of the iteration. The training loss function is defined by model + * type. + */ + trainingLoss?: number; + } + interface Schema$Job { + /** + * [Required] Describes the job configuration. + */ + configuration?: Schema$JobConfiguration; + /** + * [Output-only] A hash of this resource. + */ + etag?: string; + /** + * [Output-only] Opaque ID field of the job + */ + id?: string; + /** + * [Optional] Reference describing the unique-per-user name of the job. + */ + jobReference?: Schema$JobReference; + /** + * [Output-only] The type of the resource. + */ + kind?: string; + /** + * [Output-only] A URL that can be used to access this resource again. + */ + selfLink?: string; + /** + * [Output-only] Information about the job, including starting time and + * ending time of the job. + */ + statistics?: Schema$JobStatistics; + /** + * [Output-only] The status of this job. Examine this value when polling an + * asynchronous job to see if the job is complete. + */ + status?: Schema$JobStatus; + /** + * [Output-only] Email address of the user who ran the job. + */ + user_email?: string; + } + interface Schema$JobCancelResponse { + /** + * The final state of the job. + */ + job?: Schema$Job; + /** + * The resource type of the response. + */ + kind?: string; + } + interface Schema$JobConfiguration { + /** + * [Pick one] Copies a table. + */ + copy?: Schema$JobConfigurationTableCopy; + /** + * [Optional] If set, don't actually run this job. A valid query will + * return a mostly empty response with some processing statistics, while an + * invalid query will return the same error it would if it wasn't a dry + * run. Behavior of non-query jobs is undefined. + */ + dryRun?: boolean; + /** + * [Pick one] Configures an extract job. + */ + extract?: Schema$JobConfigurationExtract; + /** + * [Optional] Job timeout in milliseconds. If this time limit is exceeded, + * BigQuery may attempt to terminate the job. + */ + jobTimeoutMs?: string; + /** + * [Output-only] The type of the job. Can be QUERY, LOAD, EXTRACT, COPY or + * UNKNOWN. + */ + jobType?: string; + /** + * The labels associated with this job. You can use these to organize and + * group your jobs. Label keys and values can be no longer than 63 + * characters, can only contain lowercase letters, numeric characters, + * underscores and dashes. International characters are allowed. Label + * values are optional. Label keys must start with a letter and each label + * in the list must have a different key. + */ + labels?: any; + /** + * [Pick one] Configures a load job. + */ + load?: Schema$JobConfigurationLoad; + /** + * [Pick one] Configures a query job. + */ + query?: Schema$JobConfigurationQuery; + } + interface Schema$JobConfigurationExtract { + /** + * [Optional] The compression type to use for exported files. Possible + * values include GZIP, DEFLATE, SNAPPY, and NONE. The default value is + * NONE. DEFLATE and SNAPPY are only supported for Avro. + */ + compression?: string; + /** + * [Optional] The exported file format. Possible values include CSV, + * NEWLINE_DELIMITED_JSON and AVRO. The default value is CSV. Tables with + * nested or repeated fields cannot be exported as CSV. + */ + destinationFormat?: string; + /** + * [Pick one] DEPRECATED: Use destinationUris instead, passing only one URI + * as necessary. The fully-qualified Google Cloud Storage URI where the + * extracted table should be written. + */ + destinationUri?: string; + /** + * [Pick one] A list of fully-qualified Google Cloud Storage URIs where the + * extracted table should be written. + */ + destinationUris?: string[]; + /** + * [Optional] Delimiter to use between fields in the exported data. Default + * is ',' + */ + fieldDelimiter?: string; + /** + * [Optional] Whether to print out a header row in the results. Default is + * true. + */ + printHeader?: boolean; + /** + * [Required] A reference to the table being exported. + */ + sourceTable?: Schema$TableReference; + } + interface Schema$JobConfigurationLoad { + /** + * [Optional] Accept rows that are missing trailing optional columns. The + * missing values are treated as nulls. If false, records with missing + * trailing columns are treated as bad records, and if there are too many + * bad records, an invalid error is returned in the job result. The default + * value is false. Only applicable to CSV, ignored for other formats. + */ + allowJaggedRows?: boolean; + /** + * Indicates if BigQuery should allow quoted data sections that contain + * newline characters in a CSV file. The default value is false. + */ + allowQuotedNewlines?: boolean; + /** + * [Optional] Indicates if we should automatically infer the options and + * schema for CSV and JSON sources. + */ + autodetect?: boolean; + /** + * [Beta] Clustering specification for the destination table. Must be + * specified with time-based partitioning, data in the table will be first + * partitioned and subsequently clustered. + */ + clustering?: Schema$Clustering; + /** + * [Optional] Specifies whether the job is allowed to create new tables. The + * following values are supported: CREATE_IF_NEEDED: If the table does not + * exist, BigQuery creates the table. CREATE_NEVER: The table must already + * exist. If it does not, a 'notFound' error is returned in the job + * result. The default value is CREATE_IF_NEEDED. Creation, truncation and + * append actions occur as one atomic update upon job completion. + */ + createDisposition?: string; + /** + * Custom encryption configuration (e.g., Cloud KMS keys). + */ + destinationEncryptionConfiguration?: Schema$EncryptionConfiguration; + /** + * [Required] The destination table to load the data into. + */ + destinationTable?: Schema$TableReference; + /** + * [Beta] [Optional] Properties with which to create the destination table + * if it is new. + */ + destinationTableProperties?: Schema$DestinationTableProperties; + /** + * [Optional] The character encoding of the data. The supported values are + * UTF-8 or ISO-8859-1. The default value is UTF-8. BigQuery decodes the + * data after the raw, binary data has been split using the values of the + * quote and fieldDelimiter properties. + */ + encoding?: string; + /** + * [Optional] The separator for fields in a CSV file. The separator can be + * any ISO-8859-1 single-byte character. To use a character in the range + * 128-255, you must encode the character as UTF8. BigQuery converts the + * string to ISO-8859-1 encoding, and then uses the first byte of the + * encoded string to split the data in its raw, binary state. BigQuery also + * supports the escape sequence "\t" to specify a tab separator. + * The default value is a comma (','). + */ + fieldDelimiter?: string; + /** + * [Optional] Indicates if BigQuery should allow extra values that are not + * represented in the table schema. If true, the extra values are ignored. + * If false, records with extra columns are treated as bad records, and if + * there are too many bad records, an invalid error is returned in the job + * result. The default value is false. The sourceFormat property determines + * what BigQuery treats as an extra value: CSV: Trailing columns JSON: Named + * values that don't match any column names + */ + ignoreUnknownValues?: boolean; + /** + * [Optional] The maximum number of bad records that BigQuery can ignore + * when running the job. If the number of bad records exceeds this value, an + * invalid error is returned in the job result. This is only valid for CSV + * and JSON. The default value is 0, which requires that all records are + * valid. + */ + maxBadRecords?: number; + /** + * [Optional] Specifies a string that represents a null value in a CSV file. + * For example, if you specify "x/", BigQuery interprets + * "x/" as a null value when loading a CSV file. The default value + * is the empty string. If you set this property to a custom value, BigQuery + * throws an error if an empty string is present for all data types except + * for STRING and BYTE. For STRING and BYTE columns, BigQuery interprets the + * empty string as an empty value. + */ + nullMarker?: string; + /** + * If sourceFormat is set to "DATASTORE_BACKUP", indicates which + * entity properties to load into BigQuery from a Cloud Datastore backup. + * Property names are case sensitive and must be top-level properties. If no + * properties are specified, BigQuery loads all properties. If any named + * property isn't found in the Cloud Datastore backup, an invalid error + * is returned in the job result. + */ + projectionFields?: string[]; + /** + * [Optional] The value that is used to quote data sections in a CSV file. + * BigQuery converts the string to ISO-8859-1 encoding, and then uses the + * first byte of the encoded string to split the data in its raw, binary + * state. The default value is a double-quote ('"'). If your + * data does not contain quoted sections, set the property value to an empty + * string. If your data contains quoted newline characters, you must also + * set the allowQuotedNewlines property to true. + */ + quote?: string; + /** + * [Optional] The schema for the destination table. The schema can be + * omitted if the destination table already exists, or if you're loading + * data from Google Cloud Datastore. + */ + schema?: Schema$TableSchema; + /** + * [Deprecated] The inline schema. For CSV schemas, specify as + * "Field1:Type1[,Field2:Type2]*". For example, "foo:STRING, + * bar:INTEGER, baz:FLOAT". + */ + schemaInline?: string; + /** + * [Deprecated] The format of the schemaInline property. + */ + schemaInlineFormat?: string; + /** + * Allows the schema of the destination table to be updated as a side effect + * of the load job if a schema is autodetected or supplied in the job + * configuration. Schema update options are supported in two cases: when + * writeDisposition is WRITE_APPEND; when writeDisposition is WRITE_TRUNCATE + * and the destination table is a partition of a table, specified by + * partition decorators. For normal tables, WRITE_TRUNCATE will always + * overwrite the schema. One or more of the following values are specified: + * ALLOW_FIELD_ADDITION: allow adding a nullable field to the schema. + * ALLOW_FIELD_RELAXATION: allow relaxing a required field in the original + * schema to nullable. + */ + schemaUpdateOptions?: string[]; + /** + * [Optional] The number of rows at the top of a CSV file that BigQuery will + * skip when loading the data. The default value is 0. This property is + * useful if you have header rows in the file that should be skipped. + */ + skipLeadingRows?: number; + /** + * [Optional] The format of the data files. For CSV files, specify + * "CSV". For datastore backups, specify + * "DATASTORE_BACKUP". For newline-delimited JSON, specify + * "NEWLINE_DELIMITED_JSON". For Avro, specify "AVRO". + * For parquet, specify "PARQUET". For orc, specify + * "ORC". The default value is CSV. + */ + sourceFormat?: string; + /** + * [Required] The fully-qualified URIs that point to your data in Google + * Cloud. For Google Cloud Storage URIs: Each URI can contain one + * '*' wildcard character and it must come after the + * 'bucket' name. Size limits related to load jobs apply to external + * data sources. For Google Cloud Bigtable URIs: Exactly one URI can be + * specified and it has be a fully specified and valid HTTPS URL for a + * Google Cloud Bigtable table. For Google Cloud Datastore backups: Exactly + * one URI can be specified. Also, the '*' wildcard character is not + * allowed. + */ + sourceUris?: string[]; + /** + * Time-based partitioning specification for the destination table. + */ + timePartitioning?: Schema$TimePartitioning; + /** + * [Optional] Specifies the action that occurs if the destination table + * already exists. The following values are supported: WRITE_TRUNCATE: If + * the table already exists, BigQuery overwrites the table data. + * WRITE_APPEND: If the table already exists, BigQuery appends the data to + * the table. WRITE_EMPTY: If the table already exists and contains data, a + * 'duplicate' error is returned in the job result. The default + * value is WRITE_APPEND. Each action is atomic and only occurs if BigQuery + * is able to complete the job successfully. Creation, truncation and append + * actions occur as one atomic update upon job completion. + */ + writeDisposition?: string; + } + interface Schema$JobConfigurationQuery { + /** + * [Optional] If true and query uses legacy SQL dialect, allows the query to + * produce arbitrarily large result tables at a slight cost in performance. + * Requires destinationTable to be set. For standard SQL queries, this flag + * is ignored and large results are always allowed. However, you must still + * set destinationTable when result size exceeds the allowed maximum + * response size. + */ + allowLargeResults?: boolean; + /** + * [Beta] Clustering specification for the destination table. Must be + * specified with time-based partitioning, data in the table will be first + * partitioned and subsequently clustered. + */ + clustering?: Schema$Clustering; + /** + * [Optional] Specifies whether the job is allowed to create new tables. The + * following values are supported: CREATE_IF_NEEDED: If the table does not + * exist, BigQuery creates the table. CREATE_NEVER: The table must already + * exist. If it does not, a 'notFound' error is returned in the job + * result. The default value is CREATE_IF_NEEDED. Creation, truncation and + * append actions occur as one atomic update upon job completion. + */ + createDisposition?: string; + /** + * [Optional] Specifies the default dataset to use for unqualified table + * names in the query. Note that this does not alter behavior of unqualified + * dataset names. + */ + defaultDataset?: Schema$DatasetReference; + /** + * Custom encryption configuration (e.g., Cloud KMS keys). + */ + destinationEncryptionConfiguration?: Schema$EncryptionConfiguration; + /** + * [Optional] Describes the table where the query results should be stored. + * If not present, a new table will be created to store the results. This + * property must be set for large results that exceed the maximum response + * size. + */ + destinationTable?: Schema$TableReference; + /** + * [Optional] If true and query uses legacy SQL dialect, flattens all nested + * and repeated fields in the query results. allowLargeResults must be true + * if this is set to false. For standard SQL queries, this flag is ignored + * and results are never flattened. + */ + flattenResults?: boolean; + /** + * [Optional] Limits the billing tier for this job. Queries that have + * resource usage beyond this tier will fail (without incurring a charge). + * If unspecified, this will be set to your project default. + */ + maximumBillingTier?: number; + /** + * [Optional] Limits the bytes billed for this job. Queries that will have + * bytes billed beyond this limit will fail (without incurring a charge). If + * unspecified, this will be set to your project default. + */ + maximumBytesBilled?: string; + /** + * Standard SQL only. Set to POSITIONAL to use positional (?) query + * parameters or to NAMED to use named (@myparam) query parameters in this + * query. + */ + parameterMode?: string; + /** + * [Deprecated] This property is deprecated. + */ + preserveNulls?: boolean; + /** + * [Optional] Specifies a priority for the query. Possible values include + * INTERACTIVE and BATCH. The default value is INTERACTIVE. + */ + priority?: string; + /** + * [Required] SQL query text to execute. The useLegacySql field can be used + * to indicate whether the query uses legacy SQL or standard SQL. + */ + query?: string; + /** + * Query parameters for standard SQL queries. + */ + queryParameters?: Schema$QueryParameter[]; + /** + * Allows the schema of the destination table to be updated as a side effect + * of the query job. Schema update options are supported in two cases: when + * writeDisposition is WRITE_APPEND; when writeDisposition is WRITE_TRUNCATE + * and the destination table is a partition of a table, specified by + * partition decorators. For normal tables, WRITE_TRUNCATE will always + * overwrite the schema. One or more of the following values are specified: + * ALLOW_FIELD_ADDITION: allow adding a nullable field to the schema. + * ALLOW_FIELD_RELAXATION: allow relaxing a required field in the original + * schema to nullable. + */ + schemaUpdateOptions?: string[]; + /** + * [Optional] If querying an external data source outside of BigQuery, + * describes the data format, location and other properties of the data + * source. By defining these properties, the data source can then be queried + * as if it were a standard BigQuery table. + */ + tableDefinitions?: any; + /** + * Time-based partitioning specification for the destination table. + */ + timePartitioning?: Schema$TimePartitioning; + /** + * Specifies whether to use BigQuery's legacy SQL dialect for this + * query. The default value is true. If set to false, the query will use + * BigQuery's standard SQL: + * https://cloud.google.com/bigquery/sql-reference/ When useLegacySql is set + * to false, the value of flattenResults is ignored; query will be run as if + * flattenResults is false. + */ + useLegacySql?: boolean; + /** + * [Optional] Whether to look for the result in the query cache. The query + * cache is a best-effort cache that will be flushed whenever tables in the + * query are modified. Moreover, the query cache is only available when a + * query does not have a destination table specified. The default value is + * true. + */ + useQueryCache?: boolean; + /** + * Describes user-defined function resources used in the query. + */ + userDefinedFunctionResources?: Schema$UserDefinedFunctionResource[]; + /** + * [Optional] Specifies the action that occurs if the destination table + * already exists. The following values are supported: WRITE_TRUNCATE: If + * the table already exists, BigQuery overwrites the table data and uses the + * schema from the query result. WRITE_APPEND: If the table already exists, + * BigQuery appends the data to the table. WRITE_EMPTY: If the table already + * exists and contains data, a 'duplicate' error is returned in the + * job result. The default value is WRITE_EMPTY. Each action is atomic and + * only occurs if BigQuery is able to complete the job successfully. + * Creation, truncation and append actions occur as one atomic update upon + * job completion. + */ + writeDisposition?: string; + } + interface Schema$JobConfigurationTableCopy { + /** + * [Optional] Specifies whether the job is allowed to create new tables. The + * following values are supported: CREATE_IF_NEEDED: If the table does not + * exist, BigQuery creates the table. CREATE_NEVER: The table must already + * exist. If it does not, a 'notFound' error is returned in the job + * result. The default value is CREATE_IF_NEEDED. Creation, truncation and + * append actions occur as one atomic update upon job completion. + */ + createDisposition?: string; + /** + * Custom encryption configuration (e.g., Cloud KMS keys). + */ + destinationEncryptionConfiguration?: Schema$EncryptionConfiguration; + /** + * [Required] The destination table + */ + destinationTable?: Schema$TableReference; + /** + * [Pick one] Source table to copy. + */ + sourceTable?: Schema$TableReference; + /** + * [Pick one] Source tables to copy. + */ + sourceTables?: Schema$TableReference[]; + /** + * [Optional] Specifies the action that occurs if the destination table + * already exists. The following values are supported: WRITE_TRUNCATE: If + * the table already exists, BigQuery overwrites the table data. + * WRITE_APPEND: If the table already exists, BigQuery appends the data to + * the table. WRITE_EMPTY: If the table already exists and contains data, a + * 'duplicate' error is returned in the job result. The default + * value is WRITE_EMPTY. Each action is atomic and only occurs if BigQuery + * is able to complete the job successfully. Creation, truncation and append + * actions occur as one atomic update upon job completion. + */ + writeDisposition?: string; + } + interface Schema$JobList { + /** + * A hash of this page of results. + */ + etag?: string; + /** + * List of jobs that were requested. + */ + jobs?: any[]; + /** + * The resource type of the response. + */ + kind?: string; + /** + * A token to request the next page of results. + */ + nextPageToken?: string; + } + interface Schema$JobReference { + /** + * [Required] The ID of the job. The ID must contain only letters (a-z, + * A-Z), numbers (0-9), underscores (_), or dashes (-). The maximum length + * is 1,024 characters. + */ + jobId?: string; + /** + * The geographic location of the job. Required except for US and EU. See + * details at + * https://cloud.google.com/bigquery/docs/dataset-locations#specifying_your_location. + */ + location?: string; + /** + * [Required] The ID of the project containing this job. + */ + projectId?: string; + } + interface Schema$JobStatistics { + /** + * [TrustedTester] [Output-only] Job progress (0.0 -> 1.0) for LOAD and + * EXTRACT jobs. + */ + completionRatio?: number; + /** + * [Output-only] Creation time of this job, in milliseconds since the epoch. + * This field will be present on all jobs. + */ + creationTime?: string; + /** + * [Output-only] End time of this job, in milliseconds since the epoch. This + * field will be present whenever a job is in the DONE state. + */ + endTime?: string; + /** + * [Output-only] Statistics for an extract job. + */ + extract?: Schema$JobStatistics4; + /** + * [Output-only] Statistics for a load job. + */ + load?: Schema$JobStatistics3; + /** + * [Output-only] Statistics for a query job. + */ + query?: Schema$JobStatistics2; + /** + * [Output-only] Quotas which delayed this job's start time. + */ + quotaDeferments?: string[]; + /** + * [Output-only] Start time of this job, in milliseconds since the epoch. + * This field will be present when the job transitions from the PENDING + * state to either RUNNING or DONE. + */ + startTime?: string; + /** + * [Output-only] [Deprecated] Use the bytes processed in the query + * statistics instead. + */ + totalBytesProcessed?: string; + } + interface Schema$JobStatistics2 { + /** + * [Output-only] Billing tier for the job. + */ + billingTier?: number; + /** + * [Output-only] Whether the query result was fetched from the query cache. + */ + cacheHit?: boolean; + /** + * The DDL operation performed, possibly dependent on the pre-existence of + * the DDL target. Possible values (new values might be added in the + * future): "CREATE": The query created the DDL target. + * "SKIP": No-op. Example cases: the query is CREATE TABLE IF NOT + * EXISTS while the table already exists, or the query is DROP TABLE IF + * EXISTS while the table does not exist. "REPLACE": The query + * replaced the DDL target. Example case: the query is CREATE OR REPLACE + * TABLE, and the table already exists. "DROP": The query deleted + * the DDL target. + */ + ddlOperationPerformed?: string; + /** + * The DDL target table. Present only for CREATE/DROP TABLE/VIEW queries. + */ + ddlTargetTable?: Schema$TableReference; + /** + * [Output-only] The original estimate of bytes processed for the job. + */ + estimatedBytesProcessed?: string; + /** + * [Output-only, Beta] Information about create model query job progress. + */ + modelTraining?: Schema$BigQueryModelTraining; + /** + * [Output-only, Beta] Deprecated; do not use. + */ + modelTrainingCurrentIteration?: number; + /** + * [Output-only, Beta] Deprecated; do not use. + */ + modelTrainingExpectedTotalIteration?: string; + /** + * [Output-only] The number of rows affected by a DML statement. Present + * only for DML statements INSERT, UPDATE or DELETE. + */ + numDmlAffectedRows?: string; + /** + * [Output-only] Describes execution plan for the query. + */ + queryPlan?: Schema$ExplainQueryStage[]; + /** + * [Output-only] Referenced tables for the job. Queries that reference more + * than 50 tables will not have a complete list. + */ + referencedTables?: Schema$TableReference[]; + /** + * [Output-only] Job resource usage breakdown by reservation. + */ + reservationUsage?: any[]; + /** + * [Output-only] The schema of the results. Present only for successful dry + * run of non-legacy SQL queries. + */ + schema?: Schema$TableSchema; + /** + * The type of query statement, if valid. Possible values (new values might + * be added in the future): "SELECT": SELECT query. + * "INSERT": INSERT query; see + * https://cloud.google.com/bigquery/docs/reference/standard-sql/data-manipulation-language + * "UPDATE": UPDATE query; see + * https://cloud.google.com/bigquery/docs/reference/standard-sql/data-manipulation-language + * "DELETE": DELETE query; see + * https://cloud.google.com/bigquery/docs/reference/standard-sql/data-manipulation-language + * "MERGE": MERGE query; see + * https://cloud.google.com/bigquery/docs/reference/standard-sql/data-manipulation-language + * "CREATE_TABLE": CREATE [OR REPLACE] TABLE without AS SELECT. + * "CREATE_TABLE_AS_SELECT": CREATE [OR REPLACE] TABLE ... AS + * SELECT ... "DROP_TABLE": DROP TABLE query. + * "CREATE_VIEW": CREATE [OR REPLACE] VIEW ... AS SELECT ... + * "DROP_VIEW": DROP VIEW query. + */ + statementType?: string; + /** + * [Output-only] [Beta] Describes a timeline of job execution. + */ + timeline?: Schema$QueryTimelineSample[]; + /** + * [Output-only] Total bytes billed for the job. + */ + totalBytesBilled?: string; + /** + * [Output-only] Total bytes processed for the job. + */ + totalBytesProcessed?: string; + /** + * [Output-only] Total number of partitions processed from all partitioned + * tables referenced in the job. + */ + totalPartitionsProcessed?: string; + /** + * [Output-only] Slot-milliseconds for the job. + */ + totalSlotMs?: string; + /** + * Standard SQL only: list of undeclared query parameters detected during a + * dry run validation. + */ + undeclaredQueryParameters?: Schema$QueryParameter[]; + } + interface Schema$JobStatistics3 { + /** + * [Output-only] The number of bad records encountered. Note that if the job + * has failed because of more bad records encountered than the maximum + * allowed in the load job configuration, then this number can be less than + * the total number of bad records present in the input data. + */ + badRecords?: string; + /** + * [Output-only] Number of bytes of source data in a load job. + */ + inputFileBytes?: string; + /** + * [Output-only] Number of source files in a load job. + */ + inputFiles?: string; + /** + * [Output-only] Size of the loaded data in bytes. Note that while a load + * job is in the running state, this value may change. + */ + outputBytes?: string; + /** + * [Output-only] Number of rows imported in a load job. Note that while an + * import job is in the running state, this value may change. + */ + outputRows?: string; + } + interface Schema$JobStatistics4 { + /** + * [Output-only] Number of files per destination URI or URI pattern + * specified in the extract configuration. These values will be in the same + * order as the URIs specified in the 'destinationUris' field. + */ + destinationUriFileCounts?: string[]; + } + interface Schema$JobStatus { + /** + * [Output-only] Final error result of the job. If present, indicates that + * the job has completed and was unsuccessful. + */ + errorResult?: Schema$ErrorProto; + /** + * [Output-only] The first errors encountered during the running of the job. + * The final message includes the number of errors that caused the process + * to stop. Errors here do not necessarily mean that the job has completed + * or was unsuccessful. + */ + errors?: Schema$ErrorProto[]; + /** + * [Output-only] Running state of the job. + */ + state?: string; + } + /** + * Represents a single JSON object. + */ + interface Schema$JsonObject { + } + interface Schema$JsonValue { + } + interface Schema$ModelDefinition { + /** + * [Output-only, Beta] Model options used for the first training run. These + * options are immutable for subsequent training runs. Default values are + * used for any options not specified in the input query. + */ + modelOptions?: any; + /** + * [Output-only, Beta] Information about ml training runs, each training run + * comprises of multiple iterations and there may be multiple training runs + * for the model if warm start is used or if a user decides to continue a + * previously cancelled query. + */ + trainingRuns?: Schema$TrainingRun[]; + } + interface Schema$ProjectList { + /** + * A hash of the page of results + */ + etag?: string; + /** + * The type of list. + */ + kind?: string; + /** + * A token to request the next page of results. + */ + nextPageToken?: string; + /** + * Projects to which you have at least READ access. + */ + projects?: any[]; + /** + * The total number of projects in the list. + */ + totalItems?: number; + } + interface Schema$ProjectReference { + /** + * [Required] ID of the project. Can be either the numeric ID or the + * assigned ID of the project. + */ + projectId?: string; + } + interface Schema$QueryParameter { + /** + * [Optional] If unset, this is a positional parameter. Otherwise, should be + * unique within a query. + */ + name?: string; + /** + * [Required] The type of this parameter. + */ + parameterType?: Schema$QueryParameterType; + /** + * [Required] The value of this parameter. + */ + parameterValue?: Schema$QueryParameterValue; + } + interface Schema$QueryParameterType { + /** + * [Optional] The type of the array's elements, if this is an array. + */ + arrayType?: Schema$QueryParameterType; + /** + * [Optional] The types of the fields of this struct, in order, if this is a + * struct. + */ + structTypes?: any[]; + /** + * [Required] The top level type of this field. + */ + type?: string; + } + interface Schema$QueryParameterValue { + /** + * [Optional] The array values, if this is an array type. + */ + arrayValues?: Schema$QueryParameterValue[]; + /** + * [Optional] The struct field values, in order of the struct type's + * declaration. + */ + structValues?: any; + /** + * [Optional] The value of this value, if a simple scalar type. + */ + value?: string; + } + interface Schema$QueryRequest { + /** + * [Optional] Specifies the default datasetId and projectId to assume for + * any unqualified table names in the query. If not set, all table names in + * the query string must be qualified in the format + * 'datasetId.tableId'. + */ + defaultDataset?: Schema$DatasetReference; + /** + * [Optional] If set to true, BigQuery doesn't run the job. Instead, if + * the query is valid, BigQuery returns statistics about the job such as how + * many bytes would be processed. If the query is invalid, an error returns. + * The default value is false. + */ + dryRun?: boolean; + /** + * The resource type of the request. + */ + kind?: string; + /** + * The geographic location where the job should run. Required except for US + * and EU. + */ + location?: string; + /** + * [Optional] The maximum number of rows of data to return per page of + * results. Setting this flag to a small value such as 1000 and then paging + * through results might improve reliability when the query result set is + * large. In addition to this limit, responses are also limited to 10 MB. By + * default, there is no maximum row count, and only the byte limit applies. + */ + maxResults?: number; + /** + * Standard SQL only. Set to POSITIONAL to use positional (?) query + * parameters or to NAMED to use named (@myparam) query parameters in this + * query. + */ + parameterMode?: string; + /** + * [Deprecated] This property is deprecated. + */ + preserveNulls?: boolean; + /** + * [Required] A query string, following the BigQuery query syntax, of the + * query to execute. Example: "SELECT count(f1) FROM + * [myProjectId:myDatasetId.myTableId]". + */ + query?: string; + /** + * Query parameters for Standard SQL queries. + */ + queryParameters?: Schema$QueryParameter[]; + /** + * [Optional] How long to wait for the query to complete, in milliseconds, + * before the request times out and returns. Note that this is only a + * timeout for the request, not the query. If the query takes longer to run + * than the timeout value, the call returns without any results and with the + * 'jobComplete' flag set to false. You can call GetQueryResults() + * to wait for the query to complete and read the results. The default value + * is 10000 milliseconds (10 seconds). + */ + timeoutMs?: number; + /** + * Specifies whether to use BigQuery's legacy SQL dialect for this + * query. The default value is true. If set to false, the query will use + * BigQuery's standard SQL: + * https://cloud.google.com/bigquery/sql-reference/ When useLegacySql is set + * to false, the value of flattenResults is ignored; query will be run as if + * flattenResults is false. + */ + useLegacySql?: boolean; + /** + * [Optional] Whether to look for the result in the query cache. The query + * cache is a best-effort cache that will be flushed whenever tables in the + * query are modified. The default value is true. + */ + useQueryCache?: boolean; + } + interface Schema$QueryResponse { + /** + * Whether the query result was fetched from the query cache. + */ + cacheHit?: boolean; + /** + * [Output-only] The first errors or warnings encountered during the running + * of the job. The final message includes the number of errors that caused + * the process to stop. Errors here do not necessarily mean that the job has + * completed or was unsuccessful. + */ + errors?: Schema$ErrorProto[]; + /** + * Whether the query has completed or not. If rows or totalRows are present, + * this will always be true. If this is false, totalRows will not be + * available. + */ + jobComplete?: boolean; + /** + * Reference to the Job that was created to run the query. This field will + * be present even if the original request timed out, in which case + * GetQueryResults can be used to read the results once the query has + * completed. Since this API only returns the first page of results, + * subsequent pages can be fetched via the same mechanism (GetQueryResults). + */ + jobReference?: Schema$JobReference; + /** + * The resource type. + */ + kind?: string; + /** + * [Output-only] The number of rows affected by a DML statement. Present + * only for DML statements INSERT, UPDATE or DELETE. + */ + numDmlAffectedRows?: string; + /** + * A token used for paging results. + */ + pageToken?: string; + /** + * An object with as many results as can be contained within the maximum + * permitted reply size. To get any additional rows, you can call + * GetQueryResults and specify the jobReference returned above. + */ + rows?: Schema$TableRow[]; + /** + * The schema of the results. Present only when the query completes + * successfully. + */ + schema?: Schema$TableSchema; + /** + * The total number of bytes processed for this query. If this query was a + * dry run, this is the number of bytes that would be processed if the query + * were run. + */ + totalBytesProcessed?: string; + /** + * The total number of rows in the complete query result set, which can be + * more than the number of rows in this single page of results. + */ + totalRows?: string; + } + interface Schema$QueryTimelineSample { + /** + * Total number of units currently being processed by workers. This does not + * correspond directly to slot usage. This is the largest value observed + * since the last sample. + */ + activeUnits?: string; + /** + * Total parallel units of work completed by this query. + */ + completedUnits?: string; + /** + * Milliseconds elapsed since the start of query execution. + */ + elapsedMs?: string; + /** + * Total parallel units of work remaining for the active stages. + */ + pendingUnits?: string; + /** + * Cumulative slot-ms consumed by the query. + */ + totalSlotMs?: string; + } + interface Schema$Streamingbuffer { + /** + * [Output-only] A lower-bound estimate of the number of bytes currently in + * the streaming buffer. + */ + estimatedBytes?: string; + /** + * [Output-only] A lower-bound estimate of the number of rows currently in + * the streaming buffer. + */ + estimatedRows?: string; + /** + * [Output-only] Contains the timestamp of the oldest entry in the streaming + * buffer, in milliseconds since the epoch, if the streaming buffer is + * available. + */ + oldestEntryTime?: string; + } + interface Schema$Table { + /** + * [Beta] Clustering specification for the table. Must be specified with + * time-based partitioning, data in the table will be first partitioned and + * subsequently clustered. + */ + clustering?: Schema$Clustering; + /** + * [Output-only] The time when this table was created, in milliseconds since + * the epoch. + */ + creationTime?: string; + /** + * [Optional] A user-friendly description of this table. + */ + description?: string; + /** + * Custom encryption configuration (e.g., Cloud KMS keys). + */ + encryptionConfiguration?: Schema$EncryptionConfiguration; + /** + * [Output-only] A hash of the table metadata. Used to ensure there were no + * concurrent modifications to the resource when attempting an update. Not + * guaranteed to change when the table contents or the fields numRows, + * numBytes, numLongTermBytes or lastModifiedTime change. + */ + etag?: string; + /** + * [Optional] The time when this table expires, in milliseconds since the + * epoch. If not present, the table will persist indefinitely. Expired + * tables will be deleted and their storage reclaimed. The + * defaultTableExpirationMs property of the encapsulating dataset can be + * used to set a default expirationTime on newly created tables. + */ + expirationTime?: string; + /** + * [Optional] Describes the data format, location, and other properties of a + * table stored outside of BigQuery. By defining these properties, the data + * source can then be queried as if it were a standard BigQuery table. + */ + externalDataConfiguration?: Schema$ExternalDataConfiguration; + /** + * [Optional] A descriptive name for this table. + */ + friendlyName?: string; + /** + * [Output-only] An opaque ID uniquely identifying the table. + */ + id?: string; + /** + * [Output-only] The type of the resource. + */ + kind?: string; + /** + * The labels associated with this table. You can use these to organize and + * group your tables. Label keys and values can be no longer than 63 + * characters, can only contain lowercase letters, numeric characters, + * underscores and dashes. International characters are allowed. Label + * values are optional. Label keys must start with a letter and each label + * in the list must have a different key. + */ + labels?: any; + /** + * [Output-only] The time when this table was last modified, in milliseconds + * since the epoch. + */ + lastModifiedTime?: string; + /** + * [Output-only] The geographic location where the table resides. This value + * is inherited from the dataset. + */ + location?: string; + /** + * [Output-only, Beta] Present iff this table represents a ML model. + * Describes the training information for the model, and it is required to + * run 'PREDICT' queries. + */ + model?: Schema$ModelDefinition; + /** + * [Output-only] The size of this table in bytes, excluding any data in the + * streaming buffer. + */ + numBytes?: string; + /** + * [Output-only] The number of bytes in the table that are considered + * "long-term storage". + */ + numLongTermBytes?: string; + /** + * [Output-only] The number of rows of data in this table, excluding any + * data in the streaming buffer. + */ + numRows?: string; + /** + * [Optional] Describes the schema of this table. + */ + schema?: Schema$TableSchema; + /** + * [Output-only] A URL that can be used to access this resource again. + */ + selfLink?: string; + /** + * [Output-only] Contains information regarding this table's streaming + * buffer, if one is present. This field will be absent if the table is not + * being streamed to or if there is no data in the streaming buffer. + */ + streamingBuffer?: Schema$Streamingbuffer; + /** + * [Required] Reference describing the ID of this table. + */ + tableReference?: Schema$TableReference; + /** + * Time-based partitioning specification for this table. + */ + timePartitioning?: Schema$TimePartitioning; + /** + * [Output-only] Describes the table type. The following values are + * supported: TABLE: A normal BigQuery table. VIEW: A virtual table defined + * by a SQL query. EXTERNAL: A table that references data stored in an + * external storage system, such as Google Cloud Storage. The default value + * is TABLE. + */ + type?: string; + /** + * [Optional] The view definition. + */ + view?: Schema$ViewDefinition; + } + interface Schema$TableCell { + v?: any; + } + interface Schema$TableDataInsertAllRequest { + /** + * [Optional] Accept rows that contain values that do not match the schema. + * The unknown values are ignored. Default is false, which treats unknown + * values as errors. + */ + ignoreUnknownValues?: boolean; + /** + * The resource type of the response. + */ + kind?: string; + /** + * The rows to insert. + */ + rows?: any[]; + /** + * [Optional] Insert all valid rows of a request, even if invalid rows + * exist. The default value is false, which causes the entire request to + * fail if any invalid rows exist. + */ + skipInvalidRows?: boolean; + /** + * [Experimental] If specified, treats the destination table as a base + * template, and inserts the rows into an instance table named + * "{destination}{templateSuffix}". BigQuery will manage creation + * of the instance table, using the schema of the base template table. See + * https://cloud.google.com/bigquery/streaming-data-into-bigquery#template-tables + * for considerations when working with templates tables. + */ + templateSuffix?: string; + } + interface Schema$TableDataInsertAllResponse { + /** + * An array of errors for rows that were not inserted. + */ + insertErrors?: any[]; + /** + * The resource type of the response. + */ + kind?: string; + } + interface Schema$TableDataList { + /** + * A hash of this page of results. + */ + etag?: string; + /** + * The resource type of the response. + */ + kind?: string; + /** + * A token used for paging results. Providing this token instead of the + * startIndex parameter can help you retrieve stable results when an + * underlying table is changing. + */ + pageToken?: string; + /** + * Rows of results. + */ + rows?: Schema$TableRow[]; + /** + * The total number of rows in the complete table. + */ + totalRows?: string; + } + interface Schema$TableFieldSchema { + /** + * [Optional] The field description. The maximum length is 1,024 characters. + */ + description?: string; + /** + * [Optional] Describes the nested schema fields if the type property is set + * to RECORD. + */ + fields?: Schema$TableFieldSchema[]; + /** + * [Optional] The field mode. Possible values include NULLABLE, REQUIRED and + * REPEATED. The default value is NULLABLE. + */ + mode?: string; + /** + * [Required] The field name. The name must contain only letters (a-z, A-Z), + * numbers (0-9), or underscores (_), and must start with a letter or + * underscore. The maximum length is 128 characters. + */ + name?: string; + /** + * [Required] The field data type. Possible values include STRING, BYTES, + * INTEGER, INT64 (same as INTEGER), FLOAT, FLOAT64 (same as FLOAT), + * BOOLEAN, BOOL (same as BOOLEAN), TIMESTAMP, DATE, TIME, DATETIME, RECORD + * (where RECORD indicates that the field contains a nested schema) or + * STRUCT (same as RECORD). + */ + type?: string; + } + interface Schema$TableList { + /** + * A hash of this page of results. + */ + etag?: string; + /** + * The type of list. + */ + kind?: string; + /** + * A token to request the next page of results. + */ + nextPageToken?: string; + /** + * Tables in the requested dataset. + */ + tables?: any[]; + /** + * The total number of tables in the dataset. + */ + totalItems?: number; + } + interface Schema$TableReference { + /** + * [Required] The ID of the dataset containing this table. + */ + datasetId?: string; + /** + * [Required] The ID of the project containing this table. + */ + projectId?: string; + /** + * [Required] The ID of the table. The ID must contain only letters (a-z, + * A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 + * characters. + */ + tableId?: string; + } + interface Schema$TableRow { + /** + * Represents a single row in the result set, consisting of one or more + * fields. + */ + f?: Schema$TableCell[]; + } + interface Schema$TableSchema { + /** + * Describes the fields in a table. + */ + fields?: Schema$TableFieldSchema[]; + } + interface Schema$TimePartitioning { + /** + * [Optional] Number of milliseconds for which to keep the storage for + * partitions in the table. The storage in a partition will have an + * expiration time of its partition time plus this value. + */ + expirationMs?: string; + /** + * [Beta] [Optional] If not set, the table is partitioned by pseudo column, + * referenced via either '_PARTITIONTIME' as TIMESTAMP type, or + * '_PARTITIONDATE' as DATE type. If field is specified, the table + * is instead partitioned by this field. The field must be a top-level + * TIMESTAMP or DATE field. Its mode must be NULLABLE or REQUIRED. + */ + field?: string; + /** + * [Beta] [Optional] If set to true, queries over this table require a + * partition filter that can be used for partition elimination to be + * specified. + */ + requirePartitionFilter?: boolean; + /** + * [Required] The only type supported is DAY, which will generate one + * partition per day. + */ + type?: string; + } + interface Schema$TrainingRun { + /** + * [Output-only, Beta] List of each iteration results. + */ + iterationResults?: Schema$IterationResult[]; + /** + * [Output-only, Beta] Training run start time in milliseconds since the + * epoch. + */ + startTime?: string; + /** + * [Output-only, Beta] Different state applicable for a training run. IN + * PROGRESS: Training run is in progress. FAILED: Training run ended due to + * a non-retryable failure. SUCCEEDED: Training run successfully completed. + * CANCELLED: Training run cancelled by the user. + */ + state?: string; + /** + * [Output-only, Beta] Training options used by this training run. These + * options are mutable for subsequent training runs. Default values are + * explicitly stored for options not specified in the input query of the + * first training run. For subsequent training runs, any option not + * explicitly specified in the input query will be copied from the previous + * training run. + */ + trainingOptions?: any; + } + interface Schema$UserDefinedFunctionResource { + /** + * [Pick one] An inline resource that contains code for a user-defined + * function (UDF). Providing a inline code resource is equivalent to + * providing a URI for a file containing the same code. + */ + inlineCode?: string; + /** + * [Pick one] A code resource to load from a Google Cloud Storage URI + * (gs://bucket/path). + */ + resourceUri?: string; + } + interface Schema$ViewDefinition { + /** + * [Required] A query that BigQuery executes when the view is referenced. + */ + query?: string; + /** + * Specifies whether to use BigQuery's legacy SQL for this view. The + * default value is true. If set to false, the view will use BigQuery's + * standard SQL: https://cloud.google.com/bigquery/sql-reference/ Queries + * and views that reference this view must use the same flag value. + */ + useLegacySql?: boolean; + /** + * Describes user-defined function resources used in the query. + */ + userDefinedFunctionResources?: Schema$UserDefinedFunctionResource[]; + } + class Resource$Datasets { + root: Bigquery; + constructor(root: Bigquery); + getRoot(): Bigquery; + /** + * bigquery.datasets.delete + * @desc Deletes the dataset specified by the datasetId value. Before you + * can delete a dataset, you must delete all its tables, either manually or + * by specifying deleteContents. Immediately after deletion, you can create + * another dataset with the same name. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the BigQuery API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/bigquery + * // 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` + * + * const {google} = require('googleapis'); + * var bigquery = google.bigquery('v2'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID of the dataset being deleted + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * // Dataset ID of dataset being deleted + * datasetId: 'my-dataset-id', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * bigquery.datasets.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 bigquery.datasets.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.datasetId Dataset ID of dataset being deleted + * @param {boolean=} params.deleteContents If True, delete all the tables in the dataset. If False and the dataset contains tables, the request will fail. Default is False + * @param {string} params.projectId Project ID of the dataset being deleted + * @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?: Params$Resource$Datasets$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Datasets$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Datasets$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * bigquery.datasets.get + * @desc Returns the dataset specified by datasetID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the BigQuery API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/bigquery + * // 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` + * + * const {google} = require('googleapis'); + * var bigquery = google.bigquery('v2'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID of the requested dataset + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * // Dataset ID of the requested dataset + * datasetId: 'my-dataset-id', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * bigquery.datasets.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 bigquery.datasets.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.datasetId Dataset ID of the requested dataset + * @param {string} params.projectId Project ID of the requested dataset + * @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?: Params$Resource$Datasets$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Datasets$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Datasets$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * bigquery.datasets.insert + * @desc Creates a new empty dataset. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the BigQuery API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/bigquery + * // 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` + * + * const {google} = require('googleapis'); + * var bigquery = google.bigquery('v2'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID of the new dataset + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * bigquery.datasets.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 bigquery.datasets.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId Project ID of the new dataset + * @param {().Dataset} 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?: Params$Resource$Datasets$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Datasets$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Datasets$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * bigquery.datasets.list + * @desc Lists all datasets in the specified project to which you have been + * granted the READER dataset role. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the BigQuery API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/bigquery + * // 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` + * + * const {google} = require('googleapis'); + * var bigquery = google.bigquery('v2'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID of the datasets to be listed + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var datasetsPage = response['datasets']; + * if (!datasetsPage) { + * return; + * } + * for (var i = 0; i < datasetsPage.length; i++) { + * // TODO: Change code below to process each resource in + * `datasetsPage`: console.log(JSON.stringify(datasetsPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * bigquery.datasets.list(request, handlePage); + * } + * }; + * + * bigquery.datasets.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 bigquery.datasets.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.all Whether to list all datasets, including hidden ones + * @param {string=} params.filter An expression for filtering the results of the request by label. The syntax is "labels.[:]". Multiple filters can be ANDed together by connecting with a space. Example: "labels.department:receiving labels.active". See Filtering datasets using labels for details. + * @param {integer=} params.maxResults The maximum number of results to return + * @param {string=} params.pageToken Page token, returned by a previous call, to request the next page of results + * @param {string} params.projectId Project ID of the datasets to be listed + * @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?: Params$Resource$Datasets$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Datasets$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Datasets$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * bigquery.datasets.patch + * @desc Updates information in an existing dataset. The update method + * replaces the entire dataset resource, whereas the patch method only + * replaces fields that are provided in the submitted dataset resource. This + * method supports patch semantics. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the BigQuery API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/bigquery + * // 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` + * + * const {google} = require('googleapis'); + * var bigquery = google.bigquery('v2'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID of the dataset being updated + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * // Dataset ID of the dataset being updated + * datasetId: 'my-dataset-id', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * bigquery.datasets.patch(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 bigquery.datasets.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.datasetId Dataset ID of the dataset being updated + * @param {string} params.projectId Project ID of the dataset being updated + * @param {().Dataset} 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 + */ + patch(params?: Params$Resource$Datasets$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Datasets$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Datasets$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * bigquery.datasets.update + * @desc Updates information in an existing dataset. The update method + * replaces the entire dataset resource, whereas the patch method only + * replaces fields that are provided in the submitted dataset resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the BigQuery API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/bigquery + * // 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` + * + * const {google} = require('googleapis'); + * var bigquery = google.bigquery('v2'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID of the dataset being updated + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * // Dataset ID of the dataset being updated + * datasetId: 'my-dataset-id', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * bigquery.datasets.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 bigquery.datasets.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.datasetId Dataset ID of the dataset being updated + * @param {string} params.projectId Project ID of the dataset being updated + * @param {().Dataset} 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?: Params$Resource$Datasets$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Datasets$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Datasets$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Datasets$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Dataset ID of dataset being deleted + */ + datasetId?: string; + /** + * If True, delete all the tables in the dataset. If False and the dataset + * contains tables, the request will fail. Default is False + */ + deleteContents?: boolean; + /** + * Project ID of the dataset being deleted + */ + projectId?: string; + } + interface Params$Resource$Datasets$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Dataset ID of the requested dataset + */ + datasetId?: string; + /** + * Project ID of the requested dataset + */ + projectId?: string; + } + interface Params$Resource$Datasets$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID of the new dataset + */ + projectId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Dataset; + } + interface Params$Resource$Datasets$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Whether to list all datasets, including hidden ones + */ + all?: boolean; + /** + * An expression for filtering the results of the request by label. The + * syntax is "labels.[:]". Multiple filters can be ANDed + * together by connecting with a space. Example: + * "labels.department:receiving labels.active". See Filtering datasets using + * labels for details. + */ + filter?: string; + /** + * The maximum number of results to return + */ + maxResults?: number; + /** + * Page token, returned by a previous call, to request the next page of + * results + */ + pageToken?: string; + /** + * Project ID of the datasets to be listed + */ + projectId?: string; + } + interface Params$Resource$Datasets$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Dataset ID of the dataset being updated + */ + datasetId?: string; + /** + * Project ID of the dataset being updated + */ + projectId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Dataset; + } + interface Params$Resource$Datasets$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Dataset ID of the dataset being updated + */ + datasetId?: string; + /** + * Project ID of the dataset being updated + */ + projectId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Dataset; + } + class Resource$Jobs { + root: Bigquery; + constructor(root: Bigquery); + getRoot(): Bigquery; + /** + * bigquery.jobs.cancel + * @desc Requests that a job be cancelled. This call will return + * immediately, and the client will need to poll for the job status to see + * if the cancel completed successfully. Cancelled jobs may still incur + * costs. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the BigQuery API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/bigquery + * // 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` + * + * const {google} = require('googleapis'); + * var bigquery = google.bigquery('v2'); + * + * authorize(function(authClient) { + * var request = { + * // [Required] Project ID of the job to cancel + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * // [Required] Job ID of the job to cancel + * jobId: 'my-job-id', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * bigquery.jobs.cancel(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 bigquery.jobs.cancel + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.jobId [Required] Job ID of the job to cancel + * @param {string=} params.location [Experimental] The geographic location of the job. Required except for US and EU. See details at https://cloud.google.com/bigquery/docs/dataset-locations#specifying_your_location. + * @param {string} params.projectId [Required] Project ID of the job to cancel + * @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 + */ + cancel(params?: Params$Resource$Jobs$Cancel, options?: MethodOptions): AxiosPromise; + cancel(params: Params$Resource$Jobs$Cancel, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + cancel(params: Params$Resource$Jobs$Cancel, callback: BodyResponseCallback): void; + cancel(callback: BodyResponseCallback): void; + /** + * bigquery.jobs.get + * @desc Returns information about a specific job. Job information is + * available for a six month period after creation. Requires that you're the + * person who ran the job, or have the Is Owner project role. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the BigQuery API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/bigquery + * // 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` + * + * const {google} = require('googleapis'); + * var bigquery = google.bigquery('v2'); + * + * authorize(function(authClient) { + * var request = { + * // [Required] Project ID of the requested job + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * // [Required] Job ID of the requested job + * jobId: 'my-job-id', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * bigquery.jobs.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 bigquery.jobs.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.jobId [Required] Job ID of the requested job + * @param {string=} params.location [Experimental] The geographic location of the job. Required except for US and EU. See details at https://cloud.google.com/bigquery/docs/dataset-locations#specifying_your_location. + * @param {string} params.projectId [Required] Project ID of the requested job + * @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?: Params$Resource$Jobs$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Jobs$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Jobs$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * bigquery.jobs.getQueryResults + * @desc Retrieves the results of a query job. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the BigQuery API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/bigquery + * // 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` + * + * const {google} = require('googleapis'); + * var bigquery = google.bigquery('v2'); + * + * authorize(function(authClient) { + * var request = { + * // [Required] Project ID of the query job + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * // [Required] Job ID of the query job + * jobId: 'my-job-id', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var errorsPage = response['errors']; + * if (!errorsPage) { + * return; + * } + * for (var i = 0; i < errorsPage.length; i++) { + * // TODO: Change code below to process each resource in + * `errorsPage`: console.log(JSON.stringify(errorsPage[i], null, 2)); + * } + * + * if (response.pageToken) { + * request.pageToken = response.pageToken; + * bigquery.jobs.getQueryResults(request, handlePage); + * } + * }; + * + * bigquery.jobs.getQueryResults(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 bigquery.jobs.getQueryResults + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.jobId [Required] Job ID of the query job + * @param {string=} params.location [Experimental] The geographic location where the job should run. Required except for US and EU. See details at https://cloud.google.com/bigquery/docs/dataset-locations#specifying_your_location. + * @param {integer=} params.maxResults Maximum number of results to read + * @param {string=} params.pageToken Page token, returned by a previous call, to request the next page of results + * @param {string} params.projectId [Required] Project ID of the query job + * @param {string=} params.startIndex Zero-based index of the starting row + * @param {integer=} params.timeoutMs How long to wait for the query to complete, in milliseconds, before returning. Default is 10 seconds. If the timeout passes before the job completes, the 'jobComplete' field in the response will be false + * @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 + */ + getQueryResults(params?: Params$Resource$Jobs$Getqueryresults, options?: MethodOptions): AxiosPromise; + getQueryResults(params: Params$Resource$Jobs$Getqueryresults, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getQueryResults(params: Params$Resource$Jobs$Getqueryresults, callback: BodyResponseCallback): void; + getQueryResults(callback: BodyResponseCallback): void; + /** + * bigquery.jobs.insert + * @desc Starts a new asynchronous job. Requires the Can View project role. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the BigQuery API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/bigquery + * // 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` + * + * const {google} = require('googleapis'); + * var bigquery = google.bigquery('v2'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID of the project that will be billed for the job + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * media: { + * // TODO: Add desired media content for upload. See + * // https://github.com/google/google-api-nodejs-client#media-uploads + * mimeType: '', // See + * https://www.w3.org/Protocols/rfc1341/4_Content-Type.html body: '', + * }, + * + * auth: authClient, + * }; + * + * bigquery.jobs.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 bigquery.jobs.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId Project ID of the project that will be billed for the job + * @param {object} params.resource Media resource metadata + * @param {object} params.media Media object + * @param {string} params.media.mimeType Media mime-type + * @param {string|object} params.media.body Media body contents + * @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?: Params$Resource$Jobs$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Jobs$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Jobs$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * bigquery.jobs.list + * @desc Lists all jobs that you started in the specified project. Job + * information is available for a six month period after creation. The job + * list is sorted in reverse chronological order, by job creation time. + * Requires the Can View project role, or the Is Owner project role if you + * set the allUsers property. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the BigQuery API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/bigquery + * // 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` + * + * const {google} = require('googleapis'); + * var bigquery = google.bigquery('v2'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID of the jobs to list + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var jobsPage = response['jobs']; + * if (!jobsPage) { + * return; + * } + * for (var i = 0; i < jobsPage.length; i++) { + * // TODO: Change code below to process each resource in `jobsPage`: + * console.log(JSON.stringify(jobsPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * bigquery.jobs.list(request, handlePage); + * } + * }; + * + * bigquery.jobs.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 bigquery.jobs.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.allUsers Whether to display jobs owned by all users in the project. Default false + * @param {string=} params.maxCreationTime Max value for job creation time, in milliseconds since the POSIX epoch. If set, only jobs created before or at this timestamp are returned + * @param {integer=} params.maxResults Maximum number of results to return + * @param {string=} params.minCreationTime Min value for job creation time, in milliseconds since the POSIX epoch. If set, only jobs created after or at this timestamp are returned + * @param {string=} params.pageToken Page token, returned by a previous call, to request the next page of results + * @param {string} params.projectId Project ID of the jobs to list + * @param {string=} params.projection Restrict information returned to a set of selected fields + * @param {string=} params.stateFilter Filter for job state + * @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?: Params$Resource$Jobs$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Jobs$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Jobs$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * bigquery.jobs.query + * @desc Runs a BigQuery SQL query synchronously and returns query results + * if the query completes within a specified timeout. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the BigQuery API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/bigquery + * // 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` + * + * const {google} = require('googleapis'); + * var bigquery = google.bigquery('v2'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID of the project billed for the query + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * bigquery.jobs.query(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 bigquery.jobs.query + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId Project ID of the project billed for the query + * @param {().QueryRequest} 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 + */ + query(params?: Params$Resource$Jobs$Query, options?: MethodOptions): AxiosPromise; + query(params: Params$Resource$Jobs$Query, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + query(params: Params$Resource$Jobs$Query, callback: BodyResponseCallback): void; + query(callback: BodyResponseCallback): void; + } + interface Params$Resource$Jobs$Cancel { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * [Required] Job ID of the job to cancel + */ + jobId?: string; + /** + * [Experimental] The geographic location of the job. Required except for US + * and EU. See details at + * https://cloud.google.com/bigquery/docs/dataset-locations#specifying_your_location. + */ + location?: string; + /** + * [Required] Project ID of the job to cancel + */ + projectId?: string; + } + interface Params$Resource$Jobs$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * [Required] Job ID of the requested job + */ + jobId?: string; + /** + * [Experimental] The geographic location of the job. Required except for US + * and EU. See details at + * https://cloud.google.com/bigquery/docs/dataset-locations#specifying_your_location. + */ + location?: string; + /** + * [Required] Project ID of the requested job + */ + projectId?: string; + } + interface Params$Resource$Jobs$Getqueryresults { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * [Required] Job ID of the query job + */ + jobId?: string; + /** + * [Experimental] The geographic location where the job should run. Required + * except for US and EU. See details at + * https://cloud.google.com/bigquery/docs/dataset-locations#specifying_your_location. + */ + location?: string; + /** + * Maximum number of results to read + */ + maxResults?: number; + /** + * Page token, returned by a previous call, to request the next page of + * results + */ + pageToken?: string; + /** + * [Required] Project ID of the query job + */ + projectId?: string; + /** + * Zero-based index of the starting row + */ + startIndex?: string; + /** + * How long to wait for the query to complete, in milliseconds, before + * returning. Default is 10 seconds. If the timeout passes before the job + * completes, the 'jobComplete' field in the response will be false + */ + timeoutMs?: number; + } + interface Params$Resource$Jobs$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID of the project that will be billed for the job + */ + projectId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Job; + /** + * Media metadata + */ + media?: { + /** + * Media mime-type + */ + mediaType?: string; + /** + * Media body contents + */ + body?: any; + }; + } + interface Params$Resource$Jobs$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Whether to display jobs owned by all users in the project. Default false + */ + allUsers?: boolean; + /** + * Max value for job creation time, in milliseconds since the POSIX epoch. + * If set, only jobs created before or at this timestamp are returned + */ + maxCreationTime?: string; + /** + * Maximum number of results to return + */ + maxResults?: number; + /** + * Min value for job creation time, in milliseconds since the POSIX epoch. + * If set, only jobs created after or at this timestamp are returned + */ + minCreationTime?: string; + /** + * Page token, returned by a previous call, to request the next page of + * results + */ + pageToken?: string; + /** + * Project ID of the jobs to list + */ + projectId?: string; + /** + * Restrict information returned to a set of selected fields + */ + projection?: string; + /** + * Filter for job state + */ + stateFilter?: string; + } + interface Params$Resource$Jobs$Query { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID of the project billed for the query + */ + projectId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$QueryRequest; + } + class Resource$Projects { + root: Bigquery; + constructor(root: Bigquery); + getRoot(): Bigquery; + /** + * bigquery.projects.getServiceAccount + * @desc Returns the email address of the service account for your project + * used for interactions with Google Cloud KMS. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the BigQuery API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/bigquery + * // 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` + * + * const {google} = require('googleapis'); + * var bigquery = google.bigquery('v2'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for which the service account is requested. + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * bigquery.projects.getServiceAccount(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 bigquery.projects.getServiceAccount + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId Project ID for which the service account is requested. + * @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 + */ + getServiceAccount(params?: Params$Resource$Projects$Getserviceaccount, options?: MethodOptions): AxiosPromise; + getServiceAccount(params: Params$Resource$Projects$Getserviceaccount, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getServiceAccount(params: Params$Resource$Projects$Getserviceaccount, callback: BodyResponseCallback): void; + getServiceAccount(callback: BodyResponseCallback): void; + /** + * bigquery.projects.list + * @desc Lists all projects to which you have been granted any project role. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the BigQuery API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/bigquery + * // 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` + * + * const {google} = require('googleapis'); + * var bigquery = google.bigquery('v2'); + * + * authorize(function(authClient) { + * var request = { + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var projectsPage = response['projects']; + * if (!projectsPage) { + * return; + * } + * for (var i = 0; i < projectsPage.length; i++) { + * // TODO: Change code below to process each resource in + * `projectsPage`: console.log(JSON.stringify(projectsPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * bigquery.projects.list(request, handlePage); + * } + * }; + * + * bigquery.projects.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 bigquery.projects.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {integer=} params.maxResults Maximum number of results to return + * @param {string=} params.pageToken Page token, returned by a previous call, to request the next page of results + * @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?: Params$Resource$Projects$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Getserviceaccount { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for which the service account is requested. + */ + projectId?: string; + } + interface Params$Resource$Projects$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Maximum number of results to return + */ + maxResults?: number; + /** + * Page token, returned by a previous call, to request the next page of + * results + */ + pageToken?: string; + } + class Resource$Tabledata { + root: Bigquery; + constructor(root: Bigquery); + getRoot(): Bigquery; + /** + * bigquery.tabledata.insertAll + * @desc Streams data into BigQuery one record at a time without needing to + * run a load job. Requires the WRITER dataset role. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the BigQuery API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/bigquery + * // 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` + * + * const {google} = require('googleapis'); + * var bigquery = google.bigquery('v2'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID of the destination table. + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * // Dataset ID of the destination table. + * datasetId: 'my-dataset-id', // TODO: Update placeholder value. + * + * // Table ID of the destination table. + * tableId: 'my-table-id', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * bigquery.tabledata.insertAll(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 bigquery.tabledata.insertAll + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.datasetId Dataset ID of the destination table. + * @param {string} params.projectId Project ID of the destination table. + * @param {string} params.tableId Table ID of the destination table. + * @param {().TableDataInsertAllRequest} 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 + */ + insertAll(params?: Params$Resource$Tabledata$Insertall, options?: MethodOptions): AxiosPromise; + insertAll(params: Params$Resource$Tabledata$Insertall, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insertAll(params: Params$Resource$Tabledata$Insertall, callback: BodyResponseCallback): void; + insertAll(callback: BodyResponseCallback): void; + /** + * bigquery.tabledata.list + * @desc Retrieves table data from a specified set of rows. Requires the + * READER dataset role. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the BigQuery API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/bigquery + * // 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` + * + * const {google} = require('googleapis'); + * var bigquery = google.bigquery('v2'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID of the table to read + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * // Dataset ID of the table to read + * datasetId: 'my-dataset-id', // TODO: Update placeholder value. + * + * // Table ID of the table to read + * tableId: 'my-table-id', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var rowsPage = response['rows']; + * if (!rowsPage) { + * return; + * } + * for (var i = 0; i < rowsPage.length; i++) { + * // TODO: Change code below to process each resource in `rowsPage`: + * console.log(JSON.stringify(rowsPage[i], null, 2)); + * } + * + * if (response.pageToken) { + * request.pageToken = response.pageToken; + * bigquery.tabledata.list(request, handlePage); + * } + * }; + * + * bigquery.tabledata.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 bigquery.tabledata.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.datasetId Dataset ID of the table to read + * @param {integer=} params.maxResults Maximum number of results to return + * @param {string=} params.pageToken Page token, returned by a previous call, identifying the result set + * @param {string} params.projectId Project ID of the table to read + * @param {string=} params.selectedFields List of fields to return (comma-separated). If unspecified, all fields are returned + * @param {string=} params.startIndex Zero-based index of the starting row to read + * @param {string} params.tableId Table ID of the table to read + * @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?: Params$Resource$Tabledata$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Tabledata$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Tabledata$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Tabledata$Insertall { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Dataset ID of the destination table. + */ + datasetId?: string; + /** + * Project ID of the destination table. + */ + projectId?: string; + /** + * Table ID of the destination table. + */ + tableId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TableDataInsertAllRequest; + } + interface Params$Resource$Tabledata$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Dataset ID of the table to read + */ + datasetId?: string; + /** + * Maximum number of results to return + */ + maxResults?: number; + /** + * Page token, returned by a previous call, identifying the result set + */ + pageToken?: string; + /** + * Project ID of the table to read + */ + projectId?: string; + /** + * List of fields to return (comma-separated). If unspecified, all fields + * are returned + */ + selectedFields?: string; + /** + * Zero-based index of the starting row to read + */ + startIndex?: string; + /** + * Table ID of the table to read + */ + tableId?: string; + } + class Resource$Tables { + root: Bigquery; + constructor(root: Bigquery); + getRoot(): Bigquery; + /** + * bigquery.tables.delete + * @desc Deletes the table specified by tableId from the dataset. If the + * table contains data, all the data will be deleted. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the BigQuery API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/bigquery + * // 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` + * + * const {google} = require('googleapis'); + * var bigquery = google.bigquery('v2'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID of the table to delete + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * // Dataset ID of the table to delete + * datasetId: 'my-dataset-id', // TODO: Update placeholder value. + * + * // Table ID of the table to delete + * tableId: 'my-table-id', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * bigquery.tables.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 bigquery.tables.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.datasetId Dataset ID of the table to delete + * @param {string} params.projectId Project ID of the table to delete + * @param {string} params.tableId Table ID of the table to delete + * @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?: Params$Resource$Tables$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Tables$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Tables$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * bigquery.tables.get + * @desc Gets the specified table resource by table ID. This method does not + * return the data in the table, it only returns the table resource, which + * describes the structure of this table. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the BigQuery API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/bigquery + * // 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` + * + * const {google} = require('googleapis'); + * var bigquery = google.bigquery('v2'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID of the requested table + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * // Dataset ID of the requested table + * datasetId: 'my-dataset-id', // TODO: Update placeholder value. + * + * // Table ID of the requested table + * tableId: 'my-table-id', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * bigquery.tables.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 bigquery.tables.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.datasetId Dataset ID of the requested table + * @param {string} params.projectId Project ID of the requested table + * @param {string=} params.selectedFields List of fields to return (comma-separated). If unspecified, all fields are returned + * @param {string} params.tableId Table ID of the requested table + * @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?: Params$Resource$Tables$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Tables$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Tables$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * bigquery.tables.insert + * @desc Creates a new, empty table in the dataset. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the BigQuery API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/bigquery + * // 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` + * + * const {google} = require('googleapis'); + * var bigquery = google.bigquery('v2'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID of the new table + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * // Dataset ID of the new table + * datasetId: 'my-dataset-id', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * bigquery.tables.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 bigquery.tables.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.datasetId Dataset ID of the new table + * @param {string} params.projectId Project ID of the new table + * @param {().Table} 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?: Params$Resource$Tables$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Tables$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Tables$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * bigquery.tables.list + * @desc Lists all tables in the specified dataset. Requires the READER + * dataset role. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the BigQuery API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/bigquery + * // 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` + * + * const {google} = require('googleapis'); + * var bigquery = google.bigquery('v2'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID of the tables to list + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * // Dataset ID of the tables to list + * datasetId: 'my-dataset-id', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var tablesPage = response['tables']; + * if (!tablesPage) { + * return; + * } + * for (var i = 0; i < tablesPage.length; i++) { + * // TODO: Change code below to process each resource in + * `tablesPage`: console.log(JSON.stringify(tablesPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * bigquery.tables.list(request, handlePage); + * } + * }; + * + * bigquery.tables.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 bigquery.tables.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.datasetId Dataset ID of the tables to list + * @param {integer=} params.maxResults Maximum number of results to return + * @param {string=} params.pageToken Page token, returned by a previous call, to request the next page of results + * @param {string} params.projectId Project ID of the tables to list + * @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?: Params$Resource$Tables$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Tables$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Tables$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * bigquery.tables.patch + * @desc Updates information in an existing table. The update method + * replaces the entire table resource, whereas the patch method only + * replaces fields that are provided in the submitted table resource. This + * method supports patch semantics. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the BigQuery API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/bigquery + * // 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` + * + * const {google} = require('googleapis'); + * var bigquery = google.bigquery('v2'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID of the table to update + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * // Dataset ID of the table to update + * datasetId: 'my-dataset-id', // TODO: Update placeholder value. + * + * // Table ID of the table to update + * tableId: 'my-table-id', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * bigquery.tables.patch(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 bigquery.tables.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.datasetId Dataset ID of the table to update + * @param {string} params.projectId Project ID of the table to update + * @param {string} params.tableId Table ID of the table to update + * @param {().Table} 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 + */ + patch(params?: Params$Resource$Tables$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Tables$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Tables$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * bigquery.tables.update + * @desc Updates information in an existing table. The update method + * replaces the entire table resource, whereas the patch method only + * replaces fields that are provided in the submitted table resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the BigQuery API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/bigquery + * // 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` + * + * const {google} = require('googleapis'); + * var bigquery = google.bigquery('v2'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID of the table to update + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * // Dataset ID of the table to update + * datasetId: 'my-dataset-id', // TODO: Update placeholder value. + * + * // Table ID of the table to update + * tableId: 'my-table-id', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * bigquery.tables.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 bigquery.tables.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.datasetId Dataset ID of the table to update + * @param {string} params.projectId Project ID of the table to update + * @param {string} params.tableId Table ID of the table to update + * @param {().Table} 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?: Params$Resource$Tables$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Tables$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Tables$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Tables$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Dataset ID of the table to delete + */ + datasetId?: string; + /** + * Project ID of the table to delete + */ + projectId?: string; + /** + * Table ID of the table to delete + */ + tableId?: string; + } + interface Params$Resource$Tables$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Dataset ID of the requested table + */ + datasetId?: string; + /** + * Project ID of the requested table + */ + projectId?: string; + /** + * List of fields to return (comma-separated). If unspecified, all fields + * are returned + */ + selectedFields?: string; + /** + * Table ID of the requested table + */ + tableId?: string; + } + interface Params$Resource$Tables$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Dataset ID of the new table + */ + datasetId?: string; + /** + * Project ID of the new table + */ + projectId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Table; + } + interface Params$Resource$Tables$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Dataset ID of the tables to list + */ + datasetId?: string; + /** + * Maximum number of results to return + */ + maxResults?: number; + /** + * Page token, returned by a previous call, to request the next page of + * results + */ + pageToken?: string; + /** + * Project ID of the tables to list + */ + projectId?: string; + } + interface Params$Resource$Tables$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Dataset ID of the table to update + */ + datasetId?: string; + /** + * Project ID of the table to update + */ + projectId?: string; + /** + * Table ID of the table to update + */ + tableId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Table; + } + interface Params$Resource$Tables$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Dataset ID of the table to update + */ + datasetId?: string; + /** + * Project ID of the table to update + */ + projectId?: string; + /** + * Table ID of the table to update + */ + tableId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Table; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/bigquery/v2.js b/express-server/node_modules/googleapis/build/src/apis/bigquery/v2.js new file mode 100644 index 00000000..46cacdeb --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/bigquery/v2.js @@ -0,0 +1,807 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var bigquery_v2; +(function (bigquery_v2) { + /** + * BigQuery API + * + * A data platform for customers to create, manage, share and query data. + * + * @example + * const {google} = require('googleapis'); + * const bigquery = google.bigquery('v2'); + * + * @namespace bigquery + * @type {Function} + * @version v2 + * @variation v2 + * @param {object=} options Options for Bigquery + */ + class Bigquery { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.datasets = new Resource$Datasets(this); + this.jobs = new Resource$Jobs(this); + this.projects = new Resource$Projects(this); + this.tabledata = new Resource$Tabledata(this); + this.tables = new Resource$Tables(this); + } + getRoot() { + return this.root; + } + } + bigquery_v2.Bigquery = Bigquery; + class Resource$Datasets { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/bigquery/v2/projects/{projectId}/datasets/{datasetId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['projectId', 'datasetId'], + pathParams: ['datasetId', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/bigquery/v2/projects/{projectId}/datasets/{datasetId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId', 'datasetId'], + pathParams: ['datasetId', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/bigquery/v2/projects/{projectId}/datasets') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId'], + pathParams: ['projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/bigquery/v2/projects/{projectId}/datasets') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId'], + pathParams: ['projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/bigquery/v2/projects/{projectId}/datasets/{datasetId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['projectId', 'datasetId'], + pathParams: ['datasetId', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/bigquery/v2/projects/{projectId}/datasets/{datasetId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['projectId', 'datasetId'], + pathParams: ['datasetId', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + bigquery_v2.Resource$Datasets = Resource$Datasets; + class Resource$Jobs { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + cancel(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/bigquery/v2/projects/{projectId}/jobs/{jobId}/cancel') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'jobId'], + pathParams: ['jobId', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/bigquery/v2/projects/{projectId}/jobs/{jobId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId', 'jobId'], + pathParams: ['jobId', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getQueryResults(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/bigquery/v2/projects/{projectId}/queries/{jobId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId', 'jobId'], + pathParams: ['jobId', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/bigquery/v2/projects/{projectId}/jobs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + mediaUrl: (rootUrl + '/upload/bigquery/v2/projects/{projectId}/jobs') + .replace(/([^:]\/)\/+/g, '$1'), + requiredParams: ['projectId'], + pathParams: ['projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/bigquery/v2/projects/{projectId}/jobs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId'], + pathParams: ['projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + query(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/bigquery/v2/projects/{projectId}/queries') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId'], + pathParams: ['projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + bigquery_v2.Resource$Jobs = Resource$Jobs; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + getServiceAccount(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/bigquery/v2/projects/{projectId}/serviceAccount') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId'], + pathParams: ['projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/bigquery/v2/projects') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + bigquery_v2.Resource$Projects = Resource$Projects; + class Resource$Tabledata { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + insertAll(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/bigquery/v2/projects/{projectId}/datasets/{datasetId}/tables/{tableId}/insertAll') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'datasetId', 'tableId'], + pathParams: ['datasetId', 'projectId', 'tableId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/bigquery/v2/projects/{projectId}/datasets/{datasetId}/tables/{tableId}/data') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId', 'datasetId', 'tableId'], + pathParams: ['datasetId', 'projectId', 'tableId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + bigquery_v2.Resource$Tabledata = Resource$Tabledata; + class Resource$Tables { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/bigquery/v2/projects/{projectId}/datasets/{datasetId}/tables/{tableId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['projectId', 'datasetId', 'tableId'], + pathParams: ['datasetId', 'projectId', 'tableId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/bigquery/v2/projects/{projectId}/datasets/{datasetId}/tables/{tableId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId', 'datasetId', 'tableId'], + pathParams: ['datasetId', 'projectId', 'tableId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/bigquery/v2/projects/{projectId}/datasets/{datasetId}/tables') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'datasetId'], + pathParams: ['datasetId', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/bigquery/v2/projects/{projectId}/datasets/{datasetId}/tables') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId', 'datasetId'], + pathParams: ['datasetId', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/bigquery/v2/projects/{projectId}/datasets/{datasetId}/tables/{tableId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['projectId', 'datasetId', 'tableId'], + pathParams: ['datasetId', 'projectId', 'tableId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/bigquery/v2/projects/{projectId}/datasets/{datasetId}/tables/{tableId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['projectId', 'datasetId', 'tableId'], + pathParams: ['datasetId', 'projectId', 'tableId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + bigquery_v2.Resource$Tables = Resource$Tables; +})(bigquery_v2 = exports.bigquery_v2 || (exports.bigquery_v2 = {})); +//# sourceMappingURL=v2.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/bigquery/v2.js.map b/express-server/node_modules/googleapis/build/src/apis/bigquery/v2.js.map new file mode 100644 index 00000000..191d6780 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/bigquery/v2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v2.js","sourceRoot":"","sources":["../../../../src/apis/bigquery/v2.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/bigquerydatatransfer/README.md b/express-server/node_modules/googleapis/build/src/apis/bigquerydatatransfer/README.md new file mode 100644 index 00000000..e5b321d2 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/bigquerydatatransfer/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/bigquerydatatransfer + +> Transfers data from partner SaaS applications to Google BigQuery on a scheduled, managed basis. + +## Installation + +```sh +$ npm install @google/bigquerydatatransfer +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/bigquerydatatransfer/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/bigquerydatatransfer/index.d.ts new file mode 100644 index 00000000..0c9efcb9 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/bigquerydatatransfer/index.d.ts @@ -0,0 +1,6 @@ +import { bigquerydatatransfer_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof bigquerydatatransfer_v1.Bigquerydatatransfer; +}; +export declare function bigquerydatatransfer(version: 'v1'): bigquerydatatransfer_v1.Bigquerydatatransfer; +export declare function bigquerydatatransfer(options: bigquerydatatransfer_v1.Options): bigquerydatatransfer_v1.Bigquerydatatransfer; diff --git a/express-server/node_modules/googleapis/build/src/apis/bigquerydatatransfer/index.js b/express-server/node_modules/googleapis/build/src/apis/bigquerydatatransfer/index.js new file mode 100644 index 00000000..b498ff36 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/bigquerydatatransfer/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.bigquerydatatransfer_v1.Bigquerydatatransfer, +}; +function bigquerydatatransfer(versionOrOptions) { + return googleapis_common_1.getAPI('bigquerydatatransfer', versionOrOptions, exports.VERSIONS, this); +} +exports.bigquerydatatransfer = bigquerydatatransfer; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/bigquerydatatransfer/index.js.map b/express-server/node_modules/googleapis/build/src/apis/bigquerydatatransfer/index.js.map new file mode 100644 index 00000000..60ad57f6 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/bigquerydatatransfer/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/bigquerydatatransfer/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAA6C;AAEhC,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,4BAAuB,CAAC,oBAAoB;CACnD,CAAC;AAMF,SACA,oBAAoB,CAEhB,gBAAsD;IACxD,OAAO,0BAAM,CAAI,sBAAsB,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAC7E,CAAC;AALD,oDAKC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/bigquerydatatransfer/package.json b/express-server/node_modules/googleapis/build/src/apis/bigquerydatatransfer/package.json new file mode 100644 index 00000000..468f1868 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/bigquerydatatransfer/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/bigquerydatatransfer", + "version": "0.1.0", + "description": "bigquerydatatransfer", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/bigquerydatatransfer/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/bigquerydatatransfer/v1.d.ts new file mode 100644 index 00000000..06030510 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/bigquerydatatransfer/v1.d.ts @@ -0,0 +1,1718 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace bigquerydatatransfer_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * BigQuery Data Transfer API + * + * Transfers data from partner SaaS applications to Google BigQuery on a + * scheduled, managed basis. + * + * @example + * const {google} = require('googleapis'); + * const bigquerydatatransfer = google.bigquerydatatransfer('v1'); + * + * @namespace bigquerydatatransfer + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Bigquerydatatransfer + */ + class Bigquerydatatransfer { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + projects: Resource$Projects; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * 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. + */ + interface Schema$CheckValidCredsRequest { + } + /** + * A response indicating whether the credentials exist and are valid. + */ + interface Schema$CheckValidCredsResponse { + /** + * If set to `true`, the credentials exist and are valid. + */ + hasValidCreds?: boolean; + } + /** + * Represents data source metadata. Metadata is sufficient to render UI and + * request proper OAuth tokens. + */ + interface Schema$DataSource { + /** + * Indicates the type of authorization. + */ + authorizationType?: string; + /** + * Data source client id which should be used to receive refresh token. + */ + clientId?: 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. + */ + dataRefreshType?: string; + /** + * Data source id. + */ + dataSourceId?: string; + /** + * Default data refresh window on days. Only meaningful when + * `data_refresh_type` = `SLIDING_WINDOW`. + */ + defaultDataRefreshWindowDays?: number; + /** + * 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`. + */ + defaultSchedule?: string; + /** + * User friendly data source description string. + */ + description?: string; + /** + * User friendly data source name. + */ + displayName?: string; + /** + * Url for the help document for this data source. + */ + helpUrl?: string; + /** + * Disables backfilling and manual run scheduling for the data source. + */ + manualRunsDisabled?: boolean; + /** + * The minimum interval for scheduler to schedule runs. + */ + minimumScheduleInterval?: string; + /** + * Output only. Data source resource name. + */ + name?: string; + /** + * Data source parameters. + */ + parameters?: Schema$DataSourceParameter[]; + /** + * 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 + */ + scopes?: string[]; + /** + * 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. + */ + supportsCustomSchedule?: boolean; + /** + * Deprecated. This field has no effect. + */ + supportsMultipleTransfers?: boolean; + /** + * Deprecated. This field has no effect. + */ + transferType?: string; + /** + * The number of seconds to wait for an update from the data source before + * the Data Transfer Service marks the transfer as FAILED. + */ + updateDeadlineSeconds?: number; + } + /** + * 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. + */ + interface Schema$DataSourceParameter { + /** + * All possible values for the parameter. + */ + allowedValues?: string[]; + /** + * Parameter description. + */ + description?: string; + /** + * Parameter display name in the user interface. + */ + displayName?: string; + /** + * Deprecated. This field has no effect. + */ + fields?: Schema$DataSourceParameter[]; + /** + * Cannot be changed after initial creation. + */ + immutable?: boolean; + /** + * For integer and double values specifies maxminum allowed value. + */ + maxValue?: number; + /** + * For integer and double values specifies minimum allowed value. + */ + minValue?: number; + /** + * Parameter identifier. + */ + paramId?: string; + /** + * Deprecated. This field has no effect. + */ + recurse?: boolean; + /** + * Deprecated. This field has no effect. + */ + repeated?: boolean; + /** + * Is parameter required. + */ + required?: boolean; + /** + * Parameter type. + */ + type?: string; + /** + * Description of the requirements for this field, in case the user input + * does not fulfill the regex pattern or min/max values. + */ + validationDescription?: string; + /** + * URL to a help document to further explain the naming requirements. + */ + validationHelpUrl?: string; + /** + * Regular expression which can be used for parameter validation. + */ + validationRegex?: string; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * Returns list of supported data sources and their metadata. + */ + interface Schema$ListDataSourcesResponse { + /** + * List of supported data sources and their transfer settings. + */ + dataSources?: Schema$DataSource[]; + /** + * 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. + */ + nextPageToken?: string; + } + /** + * The response message for Locations.ListLocations. + */ + interface Schema$ListLocationsResponse { + /** + * A list of locations that matches the specified filter in the request. + */ + locations?: Schema$Location[]; + /** + * The standard List next-page token. + */ + nextPageToken?: string; + } + /** + * The returned list of pipelines in the project. + */ + interface Schema$ListTransferConfigsResponse { + /** + * 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. + */ + nextPageToken?: string; + /** + * Output only. The stored pipeline transfer configurations. + */ + transferConfigs?: Schema$TransferConfig[]; + } + /** + * The returned list transfer run messages. + */ + interface Schema$ListTransferLogsResponse { + /** + * Output only. The next-pagination token. For multiple-page list results, + * this token can be used as the `GetTransferRunLogRequest.page_token` to + * request the next page of list results. + */ + nextPageToken?: string; + /** + * Output only. The stored pipeline transfer messages. + */ + transferMessages?: Schema$TransferMessage[]; + } + /** + * The returned list of pipelines in the project. + */ + interface Schema$ListTransferRunsResponse { + /** + * Output only. The next-pagination token. For multiple-page list results, + * this token can be used as the `ListTransferRunsRequest.page_token` to + * request the next page of list results. + */ + nextPageToken?: string; + /** + * Output only. The stored pipeline transfer runs. + */ + transferRuns?: Schema$TransferRun[]; + } + /** + * A resource that represents Google Cloud Platform location. + */ + interface Schema$Location { + /** + * The friendly name for this location, typically a nearby city name. For + * example, "Tokyo". + */ + displayName?: string; + /** + * Cross-service attributes for the location. For example + * {"cloud.googleapis.com/region": "us-east1"} + */ + labels?: any; + /** + * The canonical id for this location. For example: `"us-east1"`. + */ + locationId?: string; + /** + * Service-specific metadata. For example the available capacity at the + * given location. + */ + metadata?: any; + /** + * Resource name for the location, which may vary between implementations. + * For example: `"projects/example-project/locations/us-east1"` + */ + name?: string; + } + /** + * A request to schedule transfer runs for a time range. + */ + interface Schema$ScheduleTransferRunsRequest { + /** + * End time of the range of transfer runs. For example, + * `"2017-05-30T00:00:00+00:00"`. + */ + endTime?: string; + /** + * Start time of the range of transfer runs. For example, + * `"2017-05-25T00:00:00+00:00"`. + */ + startTime?: string; + } + /** + * A response to schedule transfer runs for a time range. + */ + interface Schema$ScheduleTransferRunsResponse { + /** + * The transfer runs that were scheduled. + */ + runs?: Schema$TransferRun[]; + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + /** + * 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. + */ + interface Schema$TransferConfig { + /** + * 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. + */ + dataRefreshWindowDays?: number; + /** + * Output only. Region in which BigQuery dataset is located. + */ + datasetRegion?: string; + /** + * Data source id. Cannot be changed once data transfer is created. + */ + dataSourceId?: string; + /** + * The BigQuery target dataset id. + */ + destinationDatasetId?: string; + /** + * Is this config disabled. When set to true, no runs are scheduled for a + * given transfer. + */ + disabled?: boolean; + /** + * User specified display name for the data transfer. + */ + displayName?: string; + /** + * The resource name of the transfer config. Transfer config names have the + * form `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. + */ + name?: string; + /** + * Output only. Next time when data transfer will run. + */ + nextRunTime?: string; + /** + * Data transfer specific parameters. + */ + params?: any; + /** + * 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 granularity should be at least 8 hours, or less frequent. + */ + schedule?: string; + /** + * Output only. State of the most recently updated transfer run. + */ + state?: string; + /** + * Output only. Data transfer modification time. Ignored by server on input. + */ + updateTime?: string; + /** + * Output only. Unique ID of the user on whose behalf transfer is done. + * Applicable only to data sources that do not support service accounts. + * When set to 0, the data source service account credentials are used. May + * be negative. Note, that this identifier is not stable. It may change over + * time even for the same user. + */ + userId?: string; + } + /** + * Represents a user facing message for a particular data transfer run. + */ + interface Schema$TransferMessage { + /** + * Message text. + */ + messageText?: string; + /** + * Time when message was logged. + */ + messageTime?: string; + /** + * Message severity. + */ + severity?: string; + } + /** + * Represents a data transfer run. + */ + interface Schema$TransferRun { + /** + * Output only. Data source id. + */ + dataSourceId?: string; + /** + * Output only. The BigQuery target dataset id. + */ + destinationDatasetId?: string; + /** + * Output only. Time when transfer run ended. Parameter ignored by server + * for input requests. + */ + endTime?: string; + /** + * Status of the transfer run. + */ + errorStatus?: Schema$Status; + /** + * 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. + */ + name?: string; + /** + * Output only. Data transfer specific parameters. + */ + params?: any; + /** + * For batch transfer runs, specifies the date and time that data should be + * ingested. + */ + runTime?: 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. + */ + schedule?: string; + /** + * Minimum time after which a transfer run can be started. + */ + scheduleTime?: string; + /** + * Output only. Time when transfer run was started. Parameter ignored by + * server for input requests. + */ + startTime?: string; + /** + * Data transfer run state. Ignored for input requests. + */ + state?: string; + /** + * Output only. Last time the data transfer run state was updated. + */ + updateTime?: string; + /** + * Output only. Unique ID of the user on whose behalf transfer is done. + * Applicable only to data sources that do not support service accounts. + * When set to 0, the data source service account credentials are used. May + * be negative. Note, that this identifier is not stable. It may change over + * time even for the same user. + */ + userId?: string; + } + class Resource$Projects { + root: Bigquerydatatransfer; + dataSources: Resource$Projects$Datasources; + locations: Resource$Projects$Locations; + transferConfigs: Resource$Projects$Transferconfigs; + constructor(root: Bigquerydatatransfer); + getRoot(): Bigquerydatatransfer; + } + class Resource$Projects$Datasources { + root: Bigquerydatatransfer; + constructor(root: Bigquerydatatransfer); + getRoot(): Bigquerydatatransfer; + /** + * bigquerydatatransfer.projects.dataSources.checkValidCreds + * @desc 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. + * @alias bigquerydatatransfer.projects.dataSources.checkValidCreds + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The data source in the form: `projects/{project_id}/dataSources/{data_source_id}` + * @param {().CheckValidCredsRequest} 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 + */ + checkValidCreds(params?: Params$Resource$Projects$Datasources$Checkvalidcreds, options?: MethodOptions): AxiosPromise; + checkValidCreds(params: Params$Resource$Projects$Datasources$Checkvalidcreds, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + checkValidCreds(params: Params$Resource$Projects$Datasources$Checkvalidcreds, callback: BodyResponseCallback): void; + checkValidCreds(callback: BodyResponseCallback): void; + /** + * bigquerydatatransfer.projects.dataSources.get + * @desc Retrieves a supported data source and returns its settings, which + * can be used for UI rendering. + * @alias bigquerydatatransfer.projects.dataSources.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The field will contain name of the resource requested, for example: `projects/{project_id}/dataSources/{data_source_id}` + * @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?: Params$Resource$Projects$Datasources$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Datasources$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Datasources$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * bigquerydatatransfer.projects.dataSources.list + * @desc Lists supported data sources and returns their settings, which can + * be used for UI rendering. + * @alias bigquerydatatransfer.projects.dataSources.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Page size. The default page size is the maximum value of 1000 results. + * @param {string=} params.pageToken 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. + * @param {string} params.parent The BigQuery project id for which data sources should be returned. Must be in the form: `projects/{project_id}` + * @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?: Params$Resource$Projects$Datasources$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Datasources$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Datasources$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Datasources$Checkvalidcreds { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The data source in the form: + * `projects/{project_id}/dataSources/{data_source_id}` + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CheckValidCredsRequest; + } + interface Params$Resource$Projects$Datasources$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The field will contain name of the resource requested, for example: + * `projects/{project_id}/dataSources/{data_source_id}` + */ + name?: string; + } + interface Params$Resource$Projects$Datasources$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Page size. The default page size is the maximum value of 1000 results. + */ + pageSize?: number; + /** + * 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. + */ + pageToken?: string; + /** + * The BigQuery project id for which data sources should be returned. Must + * be in the form: `projects/{project_id}` + */ + parent?: string; + } + class Resource$Projects$Locations { + root: Bigquerydatatransfer; + dataSources: Resource$Projects$Locations$Datasources; + transferConfigs: Resource$Projects$Locations$Transferconfigs; + constructor(root: Bigquerydatatransfer); + getRoot(): Bigquerydatatransfer; + /** + * bigquerydatatransfer.projects.locations.get + * @desc Gets information about a location. + * @alias bigquerydatatransfer.projects.locations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Resource name for the location. + * @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?: Params$Resource$Projects$Locations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Locations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Locations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * bigquerydatatransfer.projects.locations.list + * @desc Lists information about the supported locations for this service. + * @alias bigquerydatatransfer.projects.locations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter The standard list filter. + * @param {string} params.name The resource that owns the locations collection, if applicable. + * @param {integer=} params.pageSize The standard list page size. + * @param {string=} params.pageToken The standard list page token. + * @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?: Params$Resource$Projects$Locations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Resource name for the location. + */ + name?: string; + } + interface Params$Resource$Projects$Locations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The standard list filter. + */ + filter?: string; + /** + * The resource that owns the locations collection, if applicable. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } + class Resource$Projects$Locations$Datasources { + root: Bigquerydatatransfer; + constructor(root: Bigquerydatatransfer); + getRoot(): Bigquerydatatransfer; + /** + * bigquerydatatransfer.projects.locations.dataSources.checkValidCreds + * @desc 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. + * @alias + * bigquerydatatransfer.projects.locations.dataSources.checkValidCreds + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The data source in the form: `projects/{project_id}/dataSources/{data_source_id}` + * @param {().CheckValidCredsRequest} 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 + */ + checkValidCreds(params?: Params$Resource$Projects$Locations$Datasources$Checkvalidcreds, options?: MethodOptions): AxiosPromise; + checkValidCreds(params: Params$Resource$Projects$Locations$Datasources$Checkvalidcreds, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + checkValidCreds(params: Params$Resource$Projects$Locations$Datasources$Checkvalidcreds, callback: BodyResponseCallback): void; + checkValidCreds(callback: BodyResponseCallback): void; + /** + * bigquerydatatransfer.projects.locations.dataSources.get + * @desc Retrieves a supported data source and returns its settings, which + * can be used for UI rendering. + * @alias bigquerydatatransfer.projects.locations.dataSources.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The field will contain name of the resource requested, for example: `projects/{project_id}/dataSources/{data_source_id}` + * @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?: Params$Resource$Projects$Locations$Datasources$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Locations$Datasources$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Locations$Datasources$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * bigquerydatatransfer.projects.locations.dataSources.list + * @desc Lists supported data sources and returns their settings, which can + * be used for UI rendering. + * @alias bigquerydatatransfer.projects.locations.dataSources.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Page size. The default page size is the maximum value of 1000 results. + * @param {string=} params.pageToken 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. + * @param {string} params.parent The BigQuery project id for which data sources should be returned. Must be in the form: `projects/{project_id}` + * @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?: Params$Resource$Projects$Locations$Datasources$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$Datasources$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$Datasources$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Datasources$Checkvalidcreds { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The data source in the form: + * `projects/{project_id}/dataSources/{data_source_id}` + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CheckValidCredsRequest; + } + interface Params$Resource$Projects$Locations$Datasources$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The field will contain name of the resource requested, for example: + * `projects/{project_id}/dataSources/{data_source_id}` + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Datasources$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Page size. The default page size is the maximum value of 1000 results. + */ + pageSize?: number; + /** + * 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. + */ + pageToken?: string; + /** + * The BigQuery project id for which data sources should be returned. Must + * be in the form: `projects/{project_id}` + */ + parent?: string; + } + class Resource$Projects$Locations$Transferconfigs { + root: Bigquerydatatransfer; + runs: Resource$Projects$Locations$Transferconfigs$Runs; + constructor(root: Bigquerydatatransfer); + getRoot(): Bigquerydatatransfer; + /** + * bigquerydatatransfer.projects.locations.transferConfigs.create + * @desc Creates a new data transfer configuration. + * @alias bigquerydatatransfer.projects.locations.transferConfigs.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.authorizationCode Optional OAuth2 authorization code to use with this transfer configuration. This is required if new credentials are needed, as indicated by `CheckValidCreds`. In order to obtain authorization_code, please make a request to https://www.gstatic.com/bigquerydatatransfer/oauthz/auth?client_id=&scope=&redirect_uri= * client_id should be OAuth client_id of BigQuery DTS API for the given data source returned by ListDataSources method. * data_source_scopes are the scopes returned by ListDataSources method. * redirect_uri is an optional parameter. If not specified, then authorization code is posted to the opener of authorization flow window. Otherwise it will be sent to the redirect uri. A special value of urn:ietf:wg:oauth:2.0:oob means that authorization code should be returned in the title bar of the browser, with the page text prompting the user to copy the code and paste it in the application. + * @param {string} params.parent The BigQuery project id where the transfer configuration should be created. Must be in the format projects/{project_id}/locations/{location_id} If specified location and location of the destination bigquery dataset do not match - the request will fail. + * @param {().TransferConfig} 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 + */ + create(params?: Params$Resource$Projects$Locations$Transferconfigs$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Locations$Transferconfigs$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Locations$Transferconfigs$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * bigquerydatatransfer.projects.locations.transferConfigs.delete + * @desc Deletes a data transfer configuration, including any associated + * transfer runs and logs. + * @alias bigquerydatatransfer.projects.locations.transferConfigs.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The field will contain name of the resource requested, for example: `projects/{project_id}/transferConfigs/{config_id}` + * @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?: Params$Resource$Projects$Locations$Transferconfigs$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Locations$Transferconfigs$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Locations$Transferconfigs$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * bigquerydatatransfer.projects.locations.transferConfigs.get + * @desc Returns information about a data transfer config. + * @alias bigquerydatatransfer.projects.locations.transferConfigs.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The field will contain name of the resource requested, for example: `projects/{project_id}/transferConfigs/{config_id}` + * @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?: Params$Resource$Projects$Locations$Transferconfigs$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Locations$Transferconfigs$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Locations$Transferconfigs$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * bigquerydatatransfer.projects.locations.transferConfigs.list + * @desc Returns information about all data transfers in the project. + * @alias bigquerydatatransfer.projects.locations.transferConfigs.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.dataSourceIds When specified, only configurations of requested data sources are returned. + * @param {integer=} params.pageSize Page size. The default page size is the maximum value of 1000 results. + * @param {string=} params.pageToken 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. + * @param {string} params.parent The BigQuery project id for which data sources should be returned: `projects/{project_id}`. + * @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?: Params$Resource$Projects$Locations$Transferconfigs$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$Transferconfigs$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$Transferconfigs$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * bigquerydatatransfer.projects.locations.transferConfigs.patch + * @desc Updates a data transfer configuration. All fields must be set, even + * if they are not updated. + * @alias bigquerydatatransfer.projects.locations.transferConfigs.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.authorizationCode Optional OAuth2 authorization code to use with this transfer configuration. If it is provided, the transfer configuration will be associated with the authorizing user. In order to obtain authorization_code, please make a request to https://www.gstatic.com/bigquerydatatransfer/oauthz/auth?client_id=&scope=&redirect_uri= * client_id should be OAuth client_id of BigQuery DTS API for the given data source returned by ListDataSources method. * data_source_scopes are the scopes returned by ListDataSources method. * redirect_uri is an optional parameter. If not specified, then authorization code is posted to the opener of authorization flow window. Otherwise it will be sent to the redirect uri. A special value of urn:ietf:wg:oauth:2.0:oob means that authorization code should be returned in the title bar of the browser, with the page text prompting the user to copy the code and paste it in the application. + * @param {string} params.name The resource name of the transfer config. Transfer config names have the form `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. + * @param {string=} params.updateMask Required list of fields to be updated in this request. + * @param {().TransferConfig} 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 + */ + patch(params?: Params$Resource$Projects$Locations$Transferconfigs$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Locations$Transferconfigs$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Locations$Transferconfigs$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * bigquerydatatransfer.projects.locations.transferConfigs.scheduleRuns + * @desc 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. + * @alias + * bigquerydatatransfer.projects.locations.transferConfigs.scheduleRuns + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Transfer configuration name in the form: `projects/{project_id}/transferConfigs/{config_id}`. + * @param {().ScheduleTransferRunsRequest} 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 + */ + scheduleRuns(params?: Params$Resource$Projects$Locations$Transferconfigs$Scheduleruns, options?: MethodOptions): AxiosPromise; + scheduleRuns(params: Params$Resource$Projects$Locations$Transferconfigs$Scheduleruns, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + scheduleRuns(params: Params$Resource$Projects$Locations$Transferconfigs$Scheduleruns, callback: BodyResponseCallback): void; + scheduleRuns(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Transferconfigs$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional OAuth2 authorization code to use with this transfer + * configuration. This is required if new credentials are needed, as + * indicated by `CheckValidCreds`. In order to obtain authorization_code, + * please make a request to + * https://www.gstatic.com/bigquerydatatransfer/oauthz/auth?client_id=&scope=&redirect_uri= + * * client_id should be OAuth client_id of BigQuery DTS API for the given + * data source returned by ListDataSources method. * data_source_scopes are + * the scopes returned by ListDataSources method. * redirect_uri is an + * optional parameter. If not specified, then authorization code is posted + * to the opener of authorization flow window. Otherwise it will be sent + * to the redirect uri. A special value of urn:ietf:wg:oauth:2.0:oob means + * that authorization code should be returned in the title bar of the + * browser, with the page text prompting the user to copy the code and + * paste it in the application. + */ + authorizationCode?: string; + /** + * The BigQuery project id where the transfer configuration should be + * created. Must be in the format + * projects/{project_id}/locations/{location_id} If specified location and + * location of the destination bigquery dataset do not match - the request + * will fail. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TransferConfig; + } + interface Params$Resource$Projects$Locations$Transferconfigs$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The field will contain name of the resource requested, for example: + * `projects/{project_id}/transferConfigs/{config_id}` + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Transferconfigs$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The field will contain name of the resource requested, for example: + * `projects/{project_id}/transferConfigs/{config_id}` + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Transferconfigs$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * When specified, only configurations of requested data sources are + * returned. + */ + dataSourceIds?: string; + /** + * Page size. The default page size is the maximum value of 1000 results. + */ + pageSize?: number; + /** + * 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. + */ + pageToken?: string; + /** + * The BigQuery project id for which data sources should be returned: + * `projects/{project_id}`. + */ + parent?: string; + } + interface Params$Resource$Projects$Locations$Transferconfigs$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional OAuth2 authorization code to use with this transfer + * configuration. If it is provided, the transfer configuration will be + * associated with the authorizing user. In order to obtain + * authorization_code, please make a request to + * https://www.gstatic.com/bigquerydatatransfer/oauthz/auth?client_id=&scope=&redirect_uri= + * * client_id should be OAuth client_id of BigQuery DTS API for the given + * data source returned by ListDataSources method. * data_source_scopes are + * the scopes returned by ListDataSources method. * redirect_uri is an + * optional parameter. If not specified, then authorization code is posted + * to the opener of authorization flow window. Otherwise it will be sent + * to the redirect uri. A special value of urn:ietf:wg:oauth:2.0:oob means + * that authorization code should be returned in the title bar of the + * browser, with the page text prompting the user to copy the code and + * paste it in the application. + */ + authorizationCode?: string; + /** + * The resource name of the transfer config. Transfer config names have the + * form `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. + */ + name?: string; + /** + * Required list of fields to be updated in this request. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TransferConfig; + } + interface Params$Resource$Projects$Locations$Transferconfigs$Scheduleruns { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Transfer configuration name in the form: + * `projects/{project_id}/transferConfigs/{config_id}`. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ScheduleTransferRunsRequest; + } + class Resource$Projects$Locations$Transferconfigs$Runs { + root: Bigquerydatatransfer; + transferLogs: Resource$Projects$Locations$Transferconfigs$Runs$Transferlogs; + constructor(root: Bigquerydatatransfer); + getRoot(): Bigquerydatatransfer; + /** + * bigquerydatatransfer.projects.locations.transferConfigs.runs.delete + * @desc Deletes the specified transfer run. + * @alias + * bigquerydatatransfer.projects.locations.transferConfigs.runs.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The field will contain name of the resource requested, for example: `projects/{project_id}/transferConfigs/{config_id}/runs/{run_id}` + * @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?: Params$Resource$Projects$Locations$Transferconfigs$Runs$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Locations$Transferconfigs$Runs$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Locations$Transferconfigs$Runs$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * bigquerydatatransfer.projects.locations.transferConfigs.runs.get + * @desc Returns information about the particular transfer run. + * @alias bigquerydatatransfer.projects.locations.transferConfigs.runs.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The field will contain name of the resource requested, for example: `projects/{project_id}/transferConfigs/{config_id}/runs/{run_id}` + * @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?: Params$Resource$Projects$Locations$Transferconfigs$Runs$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Locations$Transferconfigs$Runs$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Locations$Transferconfigs$Runs$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * bigquerydatatransfer.projects.locations.transferConfigs.runs.list + * @desc Returns information about running and completed jobs. + * @alias bigquerydatatransfer.projects.locations.transferConfigs.runs.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Page size. The default page size is the maximum value of 1000 results. + * @param {string=} params.pageToken Pagination token, which can be used to request a specific page of `ListTransferRunsRequest` list results. For multiple-page results, `ListTransferRunsResponse` outputs a `next_page` token, which can be used as the `page_token` value to request the next page of list results. + * @param {string} params.parent Name of transfer configuration for which transfer runs should be retrieved. Format of transfer configuration resource name is: `projects/{project_id}/transferConfigs/{config_id}`. + * @param {string=} params.runAttempt Indicates how run attempts are to be pulled. + * @param {string=} params.states When specified, only transfer runs with requested states are returned. + * @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?: Params$Resource$Projects$Locations$Transferconfigs$Runs$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$Transferconfigs$Runs$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$Transferconfigs$Runs$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Transferconfigs$Runs$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The field will contain name of the resource requested, for example: + * `projects/{project_id}/transferConfigs/{config_id}/runs/{run_id}` + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Transferconfigs$Runs$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The field will contain name of the resource requested, for example: + * `projects/{project_id}/transferConfigs/{config_id}/runs/{run_id}` + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Transferconfigs$Runs$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Page size. The default page size is the maximum value of 1000 results. + */ + pageSize?: number; + /** + * Pagination token, which can be used to request a specific page of + * `ListTransferRunsRequest` list results. For multiple-page results, + * `ListTransferRunsResponse` outputs a `next_page` token, which can be used + * as the `page_token` value to request the next page of list results. + */ + pageToken?: string; + /** + * Name of transfer configuration for which transfer runs should be + * retrieved. Format of transfer configuration resource name is: + * `projects/{project_id}/transferConfigs/{config_id}`. + */ + parent?: string; + /** + * Indicates how run attempts are to be pulled. + */ + runAttempt?: string; + /** + * When specified, only transfer runs with requested states are returned. + */ + states?: string; + } + class Resource$Projects$Locations$Transferconfigs$Runs$Transferlogs { + root: Bigquerydatatransfer; + constructor(root: Bigquerydatatransfer); + getRoot(): Bigquerydatatransfer; + /** + * bigquerydatatransfer.projects.locations.transferConfigs.runs.transferLogs.list + * @desc Returns user facing log messages for the data transfer run. + * @alias + * bigquerydatatransfer.projects.locations.transferConfigs.runs.transferLogs.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.messageTypes Message types to return. If not populated - INFO, WARNING and ERROR messages are returned. + * @param {integer=} params.pageSize Page size. The default page size is the maximum value of 1000 results. + * @param {string=} params.pageToken Pagination token, which can be used to request a specific page of `ListTransferLogsRequest` list results. For multiple-page results, `ListTransferLogsResponse` outputs a `next_page` token, which can be used as the `page_token` value to request the next page of list results. + * @param {string} params.parent Transfer run name in the form: `projects/{project_id}/transferConfigs/{config_Id}/runs/{run_id}`. + * @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?: Params$Resource$Projects$Locations$Transferconfigs$Runs$Transferlogs$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$Transferconfigs$Runs$Transferlogs$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$Transferconfigs$Runs$Transferlogs$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Transferconfigs$Runs$Transferlogs$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Message types to return. If not populated - INFO, WARNING and ERROR + * messages are returned. + */ + messageTypes?: string; + /** + * Page size. The default page size is the maximum value of 1000 results. + */ + pageSize?: number; + /** + * Pagination token, which can be used to request a specific page of + * `ListTransferLogsRequest` list results. For multiple-page results, + * `ListTransferLogsResponse` outputs a `next_page` token, which can be used + * as the `page_token` value to request the next page of list results. + */ + pageToken?: string; + /** + * Transfer run name in the form: + * `projects/{project_id}/transferConfigs/{config_Id}/runs/{run_id}`. + */ + parent?: string; + } + class Resource$Projects$Transferconfigs { + root: Bigquerydatatransfer; + runs: Resource$Projects$Transferconfigs$Runs; + constructor(root: Bigquerydatatransfer); + getRoot(): Bigquerydatatransfer; + /** + * bigquerydatatransfer.projects.transferConfigs.create + * @desc Creates a new data transfer configuration. + * @alias bigquerydatatransfer.projects.transferConfigs.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.authorizationCode Optional OAuth2 authorization code to use with this transfer configuration. This is required if new credentials are needed, as indicated by `CheckValidCreds`. In order to obtain authorization_code, please make a request to https://www.gstatic.com/bigquerydatatransfer/oauthz/auth?client_id=&scope=&redirect_uri= * client_id should be OAuth client_id of BigQuery DTS API for the given data source returned by ListDataSources method. * data_source_scopes are the scopes returned by ListDataSources method. * redirect_uri is an optional parameter. If not specified, then authorization code is posted to the opener of authorization flow window. Otherwise it will be sent to the redirect uri. A special value of urn:ietf:wg:oauth:2.0:oob means that authorization code should be returned in the title bar of the browser, with the page text prompting the user to copy the code and paste it in the application. + * @param {string} params.parent The BigQuery project id where the transfer configuration should be created. Must be in the format projects/{project_id}/locations/{location_id} If specified location and location of the destination bigquery dataset do not match - the request will fail. + * @param {().TransferConfig} 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 + */ + create(params?: Params$Resource$Projects$Transferconfigs$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Transferconfigs$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Transferconfigs$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * bigquerydatatransfer.projects.transferConfigs.delete + * @desc Deletes a data transfer configuration, including any associated + * transfer runs and logs. + * @alias bigquerydatatransfer.projects.transferConfigs.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The field will contain name of the resource requested, for example: `projects/{project_id}/transferConfigs/{config_id}` + * @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?: Params$Resource$Projects$Transferconfigs$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Transferconfigs$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Transferconfigs$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * bigquerydatatransfer.projects.transferConfigs.get + * @desc Returns information about a data transfer config. + * @alias bigquerydatatransfer.projects.transferConfigs.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The field will contain name of the resource requested, for example: `projects/{project_id}/transferConfigs/{config_id}` + * @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?: Params$Resource$Projects$Transferconfigs$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Transferconfigs$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Transferconfigs$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * bigquerydatatransfer.projects.transferConfigs.list + * @desc Returns information about all data transfers in the project. + * @alias bigquerydatatransfer.projects.transferConfigs.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.dataSourceIds When specified, only configurations of requested data sources are returned. + * @param {integer=} params.pageSize Page size. The default page size is the maximum value of 1000 results. + * @param {string=} params.pageToken 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. + * @param {string} params.parent The BigQuery project id for which data sources should be returned: `projects/{project_id}`. + * @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?: Params$Resource$Projects$Transferconfigs$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Transferconfigs$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Transferconfigs$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * bigquerydatatransfer.projects.transferConfigs.patch + * @desc Updates a data transfer configuration. All fields must be set, even + * if they are not updated. + * @alias bigquerydatatransfer.projects.transferConfigs.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.authorizationCode Optional OAuth2 authorization code to use with this transfer configuration. If it is provided, the transfer configuration will be associated with the authorizing user. In order to obtain authorization_code, please make a request to https://www.gstatic.com/bigquerydatatransfer/oauthz/auth?client_id=&scope=&redirect_uri= * client_id should be OAuth client_id of BigQuery DTS API for the given data source returned by ListDataSources method. * data_source_scopes are the scopes returned by ListDataSources method. * redirect_uri is an optional parameter. If not specified, then authorization code is posted to the opener of authorization flow window. Otherwise it will be sent to the redirect uri. A special value of urn:ietf:wg:oauth:2.0:oob means that authorization code should be returned in the title bar of the browser, with the page text prompting the user to copy the code and paste it in the application. + * @param {string} params.name The resource name of the transfer config. Transfer config names have the form `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. + * @param {string=} params.updateMask Required list of fields to be updated in this request. + * @param {().TransferConfig} 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 + */ + patch(params?: Params$Resource$Projects$Transferconfigs$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Transferconfigs$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Transferconfigs$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * bigquerydatatransfer.projects.transferConfigs.scheduleRuns + * @desc 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. + * @alias bigquerydatatransfer.projects.transferConfigs.scheduleRuns + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Transfer configuration name in the form: `projects/{project_id}/transferConfigs/{config_id}`. + * @param {().ScheduleTransferRunsRequest} 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 + */ + scheduleRuns(params?: Params$Resource$Projects$Transferconfigs$Scheduleruns, options?: MethodOptions): AxiosPromise; + scheduleRuns(params: Params$Resource$Projects$Transferconfigs$Scheduleruns, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + scheduleRuns(params: Params$Resource$Projects$Transferconfigs$Scheduleruns, callback: BodyResponseCallback): void; + scheduleRuns(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Transferconfigs$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional OAuth2 authorization code to use with this transfer + * configuration. This is required if new credentials are needed, as + * indicated by `CheckValidCreds`. In order to obtain authorization_code, + * please make a request to + * https://www.gstatic.com/bigquerydatatransfer/oauthz/auth?client_id=&scope=&redirect_uri= + * * client_id should be OAuth client_id of BigQuery DTS API for the given + * data source returned by ListDataSources method. * data_source_scopes are + * the scopes returned by ListDataSources method. * redirect_uri is an + * optional parameter. If not specified, then authorization code is posted + * to the opener of authorization flow window. Otherwise it will be sent + * to the redirect uri. A special value of urn:ietf:wg:oauth:2.0:oob means + * that authorization code should be returned in the title bar of the + * browser, with the page text prompting the user to copy the code and + * paste it in the application. + */ + authorizationCode?: string; + /** + * The BigQuery project id where the transfer configuration should be + * created. Must be in the format + * projects/{project_id}/locations/{location_id} If specified location and + * location of the destination bigquery dataset do not match - the request + * will fail. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TransferConfig; + } + interface Params$Resource$Projects$Transferconfigs$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The field will contain name of the resource requested, for example: + * `projects/{project_id}/transferConfigs/{config_id}` + */ + name?: string; + } + interface Params$Resource$Projects$Transferconfigs$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The field will contain name of the resource requested, for example: + * `projects/{project_id}/transferConfigs/{config_id}` + */ + name?: string; + } + interface Params$Resource$Projects$Transferconfigs$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * When specified, only configurations of requested data sources are + * returned. + */ + dataSourceIds?: string; + /** + * Page size. The default page size is the maximum value of 1000 results. + */ + pageSize?: number; + /** + * 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. + */ + pageToken?: string; + /** + * The BigQuery project id for which data sources should be returned: + * `projects/{project_id}`. + */ + parent?: string; + } + interface Params$Resource$Projects$Transferconfigs$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional OAuth2 authorization code to use with this transfer + * configuration. If it is provided, the transfer configuration will be + * associated with the authorizing user. In order to obtain + * authorization_code, please make a request to + * https://www.gstatic.com/bigquerydatatransfer/oauthz/auth?client_id=&scope=&redirect_uri= + * * client_id should be OAuth client_id of BigQuery DTS API for the given + * data source returned by ListDataSources method. * data_source_scopes are + * the scopes returned by ListDataSources method. * redirect_uri is an + * optional parameter. If not specified, then authorization code is posted + * to the opener of authorization flow window. Otherwise it will be sent + * to the redirect uri. A special value of urn:ietf:wg:oauth:2.0:oob means + * that authorization code should be returned in the title bar of the + * browser, with the page text prompting the user to copy the code and + * paste it in the application. + */ + authorizationCode?: string; + /** + * The resource name of the transfer config. Transfer config names have the + * form `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. + */ + name?: string; + /** + * Required list of fields to be updated in this request. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TransferConfig; + } + interface Params$Resource$Projects$Transferconfigs$Scheduleruns { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Transfer configuration name in the form: + * `projects/{project_id}/transferConfigs/{config_id}`. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ScheduleTransferRunsRequest; + } + class Resource$Projects$Transferconfigs$Runs { + root: Bigquerydatatransfer; + transferLogs: Resource$Projects$Transferconfigs$Runs$Transferlogs; + constructor(root: Bigquerydatatransfer); + getRoot(): Bigquerydatatransfer; + /** + * bigquerydatatransfer.projects.transferConfigs.runs.delete + * @desc Deletes the specified transfer run. + * @alias bigquerydatatransfer.projects.transferConfigs.runs.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The field will contain name of the resource requested, for example: `projects/{project_id}/transferConfigs/{config_id}/runs/{run_id}` + * @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?: Params$Resource$Projects$Transferconfigs$Runs$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Transferconfigs$Runs$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Transferconfigs$Runs$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * bigquerydatatransfer.projects.transferConfigs.runs.get + * @desc Returns information about the particular transfer run. + * @alias bigquerydatatransfer.projects.transferConfigs.runs.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The field will contain name of the resource requested, for example: `projects/{project_id}/transferConfigs/{config_id}/runs/{run_id}` + * @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?: Params$Resource$Projects$Transferconfigs$Runs$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Transferconfigs$Runs$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Transferconfigs$Runs$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * bigquerydatatransfer.projects.transferConfigs.runs.list + * @desc Returns information about running and completed jobs. + * @alias bigquerydatatransfer.projects.transferConfigs.runs.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Page size. The default page size is the maximum value of 1000 results. + * @param {string=} params.pageToken Pagination token, which can be used to request a specific page of `ListTransferRunsRequest` list results. For multiple-page results, `ListTransferRunsResponse` outputs a `next_page` token, which can be used as the `page_token` value to request the next page of list results. + * @param {string} params.parent Name of transfer configuration for which transfer runs should be retrieved. Format of transfer configuration resource name is: `projects/{project_id}/transferConfigs/{config_id}`. + * @param {string=} params.runAttempt Indicates how run attempts are to be pulled. + * @param {string=} params.states When specified, only transfer runs with requested states are returned. + * @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?: Params$Resource$Projects$Transferconfigs$Runs$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Transferconfigs$Runs$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Transferconfigs$Runs$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Transferconfigs$Runs$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The field will contain name of the resource requested, for example: + * `projects/{project_id}/transferConfigs/{config_id}/runs/{run_id}` + */ + name?: string; + } + interface Params$Resource$Projects$Transferconfigs$Runs$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The field will contain name of the resource requested, for example: + * `projects/{project_id}/transferConfigs/{config_id}/runs/{run_id}` + */ + name?: string; + } + interface Params$Resource$Projects$Transferconfigs$Runs$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Page size. The default page size is the maximum value of 1000 results. + */ + pageSize?: number; + /** + * Pagination token, which can be used to request a specific page of + * `ListTransferRunsRequest` list results. For multiple-page results, + * `ListTransferRunsResponse` outputs a `next_page` token, which can be used + * as the `page_token` value to request the next page of list results. + */ + pageToken?: string; + /** + * Name of transfer configuration for which transfer runs should be + * retrieved. Format of transfer configuration resource name is: + * `projects/{project_id}/transferConfigs/{config_id}`. + */ + parent?: string; + /** + * Indicates how run attempts are to be pulled. + */ + runAttempt?: string; + /** + * When specified, only transfer runs with requested states are returned. + */ + states?: string; + } + class Resource$Projects$Transferconfigs$Runs$Transferlogs { + root: Bigquerydatatransfer; + constructor(root: Bigquerydatatransfer); + getRoot(): Bigquerydatatransfer; + /** + * bigquerydatatransfer.projects.transferConfigs.runs.transferLogs.list + * @desc Returns user facing log messages for the data transfer run. + * @alias + * bigquerydatatransfer.projects.transferConfigs.runs.transferLogs.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.messageTypes Message types to return. If not populated - INFO, WARNING and ERROR messages are returned. + * @param {integer=} params.pageSize Page size. The default page size is the maximum value of 1000 results. + * @param {string=} params.pageToken Pagination token, which can be used to request a specific page of `ListTransferLogsRequest` list results. For multiple-page results, `ListTransferLogsResponse` outputs a `next_page` token, which can be used as the `page_token` value to request the next page of list results. + * @param {string} params.parent Transfer run name in the form: `projects/{project_id}/transferConfigs/{config_Id}/runs/{run_id}`. + * @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?: Params$Resource$Projects$Transferconfigs$Runs$Transferlogs$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Transferconfigs$Runs$Transferlogs$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Transferconfigs$Runs$Transferlogs$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Transferconfigs$Runs$Transferlogs$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Message types to return. If not populated - INFO, WARNING and ERROR + * messages are returned. + */ + messageTypes?: string; + /** + * Page size. The default page size is the maximum value of 1000 results. + */ + pageSize?: number; + /** + * Pagination token, which can be used to request a specific page of + * `ListTransferLogsRequest` list results. For multiple-page results, + * `ListTransferLogsResponse` outputs a `next_page` token, which can be used + * as the `page_token` value to request the next page of list results. + */ + pageToken?: string; + /** + * Transfer run name in the form: + * `projects/{project_id}/transferConfigs/{config_Id}/runs/{run_id}`. + */ + parent?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/bigquerydatatransfer/v1.js b/express-server/node_modules/googleapis/build/src/apis/bigquerydatatransfer/v1.js new file mode 100644 index 00000000..b7793d69 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/bigquerydatatransfer/v1.js @@ -0,0 +1,1023 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var bigquerydatatransfer_v1; +(function (bigquerydatatransfer_v1) { + /** + * BigQuery Data Transfer API + * + * Transfers data from partner SaaS applications to Google BigQuery on a + * scheduled, managed basis. + * + * @example + * const {google} = require('googleapis'); + * const bigquerydatatransfer = google.bigquerydatatransfer('v1'); + * + * @namespace bigquerydatatransfer + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Bigquerydatatransfer + */ + class Bigquerydatatransfer { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.projects = new Resource$Projects(this); + } + getRoot() { + return this.root; + } + } + bigquerydatatransfer_v1.Bigquerydatatransfer = Bigquerydatatransfer; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.dataSources = new Resource$Projects$Datasources(root); + this.locations = new Resource$Projects$Locations(root); + this.transferConfigs = new Resource$Projects$Transferconfigs(root); + } + getRoot() { + return this.root; + } + } + bigquerydatatransfer_v1.Resource$Projects = Resource$Projects; + class Resource$Projects$Datasources { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + checkValidCreds(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://bigquerydatatransfer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:checkValidCreds') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://bigquerydatatransfer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://bigquerydatatransfer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/dataSources') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + bigquerydatatransfer_v1.Resource$Projects$Datasources = Resource$Projects$Datasources; + class Resource$Projects$Locations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.dataSources = new Resource$Projects$Locations$Datasources(root); + this.transferConfigs = + new Resource$Projects$Locations$Transferconfigs(root); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://bigquerydatatransfer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://bigquerydatatransfer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}/locations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + bigquerydatatransfer_v1.Resource$Projects$Locations = Resource$Projects$Locations; + class Resource$Projects$Locations$Datasources { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + checkValidCreds(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://bigquerydatatransfer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:checkValidCreds') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://bigquerydatatransfer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://bigquerydatatransfer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/dataSources') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + bigquerydatatransfer_v1.Resource$Projects$Locations$Datasources = Resource$Projects$Locations$Datasources; + class Resource$Projects$Locations$Transferconfigs { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.runs = new Resource$Projects$Locations$Transferconfigs$Runs(root); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://bigquerydatatransfer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/transferConfigs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://bigquerydatatransfer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://bigquerydatatransfer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://bigquerydatatransfer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/transferConfigs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://bigquerydatatransfer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + scheduleRuns(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://bigquerydatatransfer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}:scheduleRuns') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + bigquerydatatransfer_v1.Resource$Projects$Locations$Transferconfigs = Resource$Projects$Locations$Transferconfigs; + class Resource$Projects$Locations$Transferconfigs$Runs { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.transferLogs = + new Resource$Projects$Locations$Transferconfigs$Runs$Transferlogs(root); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://bigquerydatatransfer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://bigquerydatatransfer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://bigquerydatatransfer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/runs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + bigquerydatatransfer_v1.Resource$Projects$Locations$Transferconfigs$Runs = Resource$Projects$Locations$Transferconfigs$Runs; + class Resource$Projects$Locations$Transferconfigs$Runs$Transferlogs { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://bigquerydatatransfer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/transferLogs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + bigquerydatatransfer_v1.Resource$Projects$Locations$Transferconfigs$Runs$Transferlogs = Resource$Projects$Locations$Transferconfigs$Runs$Transferlogs; + class Resource$Projects$Transferconfigs { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.runs = new Resource$Projects$Transferconfigs$Runs(root); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://bigquerydatatransfer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/transferConfigs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://bigquerydatatransfer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://bigquerydatatransfer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://bigquerydatatransfer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/transferConfigs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://bigquerydatatransfer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + scheduleRuns(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://bigquerydatatransfer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}:scheduleRuns') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + bigquerydatatransfer_v1.Resource$Projects$Transferconfigs = Resource$Projects$Transferconfigs; + class Resource$Projects$Transferconfigs$Runs { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.transferLogs = + new Resource$Projects$Transferconfigs$Runs$Transferlogs(root); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://bigquerydatatransfer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://bigquerydatatransfer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://bigquerydatatransfer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/runs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + bigquerydatatransfer_v1.Resource$Projects$Transferconfigs$Runs = Resource$Projects$Transferconfigs$Runs; + class Resource$Projects$Transferconfigs$Runs$Transferlogs { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://bigquerydatatransfer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/transferLogs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + bigquerydatatransfer_v1.Resource$Projects$Transferconfigs$Runs$Transferlogs = Resource$Projects$Transferconfigs$Runs$Transferlogs; +})(bigquerydatatransfer_v1 = exports.bigquerydatatransfer_v1 || (exports.bigquerydatatransfer_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/bigquerydatatransfer/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/bigquerydatatransfer/v1.js.map new file mode 100644 index 00000000..72075075 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/bigquerydatatransfer/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/bigquerydatatransfer/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/binaryauthorization/README.md b/express-server/node_modules/googleapis/build/src/apis/binaryauthorization/README.md new file mode 100644 index 00000000..380af7c7 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/binaryauthorization/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/binaryauthorization + +> The management interface for Binary Authorization, a system providing policy control for images deployed to Kubernetes Engine clusters. + +## Installation + +```sh +$ npm install @google/binaryauthorization +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/binaryauthorization/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/binaryauthorization/index.d.ts new file mode 100644 index 00000000..e8b6e29b --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/binaryauthorization/index.d.ts @@ -0,0 +1,6 @@ +import { binaryauthorization_v1beta1 } from './v1beta1'; +export declare const VERSIONS: { + 'v1beta1': typeof binaryauthorization_v1beta1.Binaryauthorization; +}; +export declare function binaryauthorization(version: 'v1beta1'): binaryauthorization_v1beta1.Binaryauthorization; +export declare function binaryauthorization(options: binaryauthorization_v1beta1.Options): binaryauthorization_v1beta1.Binaryauthorization; diff --git a/express-server/node_modules/googleapis/build/src/apis/binaryauthorization/index.js b/express-server/node_modules/googleapis/build/src/apis/binaryauthorization/index.js new file mode 100644 index 00000000..8ef1dc1a --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/binaryauthorization/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1beta1_1 = require("./v1beta1"); +exports.VERSIONS = { + 'v1beta1': v1beta1_1.binaryauthorization_v1beta1.Binaryauthorization, +}; +function binaryauthorization(versionOrOptions) { + return googleapis_common_1.getAPI('binaryauthorization', versionOrOptions, exports.VERSIONS, this); +} +exports.binaryauthorization = binaryauthorization; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/binaryauthorization/index.js.map b/express-server/node_modules/googleapis/build/src/apis/binaryauthorization/index.js.map new file mode 100644 index 00000000..ebe50e31 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/binaryauthorization/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/binaryauthorization/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,uCAAsD;AAEzC,QAAA,QAAQ,GAAG;IACtB,SAAS,EAAE,qCAA2B,CAAC,mBAAmB;CAC3D,CAAC;AAOF,SACA,mBAAmB,CAEf,gBAA+D;IACjE,OAAO,0BAAM,CAAI,qBAAqB,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAC5E,CAAC;AALD,kDAKC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/binaryauthorization/package.json b/express-server/node_modules/googleapis/build/src/apis/binaryauthorization/package.json new file mode 100644 index 00000000..86157a55 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/binaryauthorization/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/binaryauthorization", + "version": "0.1.0", + "description": "binaryauthorization", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/binaryauthorization/v1beta1.d.ts b/express-server/node_modules/googleapis/build/src/apis/binaryauthorization/v1beta1.d.ts new file mode 100644 index 00000000..2b70999c --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/binaryauthorization/v1beta1.d.ts @@ -0,0 +1,809 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace binaryauthorization_v1beta1 { + interface Options extends GlobalOptions { + version: 'v1beta1'; + } + /** + * Binary Authorization API + * + * The management interface for Binary Authorization, a system providing + * policy control for images deployed to Kubernetes Engine clusters. + * + * @example + * const {google} = require('googleapis'); + * const binaryauthorization = google.binaryauthorization('v1beta1'); + * + * @namespace binaryauthorization + * @type {Function} + * @version v1beta1 + * @variation v1beta1 + * @param {object=} options Options for Binaryauthorization + */ + class Binaryauthorization { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + projects: Resource$Projects; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * An admission rule specifies either that all container images used in a pod + * creation request must be attested to by one or more attestors, that all pod + * creations will be allowed, or that all pod creations will be denied. Images + * matching an admission whitelist pattern are exempted from admission rules + * and will never block a pod creation. + */ + interface Schema$AdmissionRule { + /** + * Required. The action when a pod creation is denied by the admission rule. + */ + enforcementMode?: string; + /** + * Required. How this admission rule will be evaluated. + */ + evaluationMode?: string; + /** + * Optional. The resource names of the attestors that must attest to a + * container image, in the format `projects/x/attestors/x. Each attestor + * must exist before a policy can reference it. To add an attestor to a + * policy the principal issuing the policy change request must be able to + * read the attestor resource. Note: this field must be non-empty when the + * evaluation_mode field specifies REQUIRE_ATTESTATION, otherwise it must be + * empty. + */ + requireAttestationsBy?: string[]; + } + /** + * An admission whitelist pattern exempts images from checks by admission + * rules. + */ + interface Schema$AdmissionWhitelistPattern { + /** + * An image name pattern to whitelist, in the form `registry/path/to/image`. + * This supports a trailing `*` as a wildcard, but this is allowed only in + * text after the `registry/` part. + */ + namePattern?: string; + } + /** + * An attestor that attests to container image artifacts. An existing attestor + * cannot be modified except where indicated. + */ + interface Schema$Attestor { + /** + * Optional. A descriptive comment. This field may be updated. The field + * may be displayed in chooser dialogs. + */ + description?: string; + /** + * Required. The resource name, in the format: `projects/x/attestors/x. This + * field may not be updated. + */ + name?: string; + /** + * Output only. Time when the attestor was last updated. + */ + updateTime?: string; + /** + * A Drydock ATTESTATION_AUTHORITY Note, created by the user. + */ + userOwnedDrydockNote?: Schema$UserOwnedDrydockNote; + } + /** + * An attestator public key that will be used to verify attestations signed by + * this attestor. + */ + interface Schema$AttestorPublicKey { + /** + * ASCII-armored representation of a PGP public key, as the entire output by + * the command `gpg --export --armor foo@example.com` (either LF or CRLF + * line endings). + */ + asciiArmoredPgpPublicKey?: string; + /** + * Optional. A descriptive comment. This field may be updated. + */ + comment?: string; + /** + * Output only. This field will be overwritten with key ID information, for + * example, an identifier extracted from a PGP public key. This field may + * not be updated. + */ + id?: string; + } + /** + * Associates `members` with a `role`. + */ + interface Schema$Binding { + /** + * Unimplemented. The condition that is associated with this binding. NOTE: + * an unsatisfied condition will not allow user access via current binding. + * Different bindings, including their conditions, are examined + * independently. + */ + condition?: Schema$Expr; + /** + * Specifies the identities requesting access for a Cloud Platform resource. + * `members` can have the following values: * `allUsers`: A special + * identifier that represents anyone who is on the internet; with or + * without a Google account. * `allAuthenticatedUsers`: A special + * identifier that represents anyone who is authenticated with a Google + * account or a service account. * `user:{emailid}`: An email address that + * represents a specific Google account. For example, `alice@gmail.com` . + * * `serviceAccount:{emailid}`: An email address that represents a service + * account. For example, `my-other-app@appspot.gserviceaccount.com`. * + * `group:{emailid}`: An email address that represents a Google group. For + * example, `admins@example.com`. * `domain:{domain}`: A Google Apps + * domain name that represents all the users of that domain. For example, + * `google.com` or `example.com`. + */ + members?: string[]; + /** + * Role that is assigned to `members`. For example, `roles/viewer`, + * `roles/editor`, or `roles/owner`. + */ + role?: string; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * Represents an expression text. Example: title: "User account + * presence" description: "Determines whether the request has a + * user account" expression: "size(request.user) > 0" + */ + interface Schema$Expr { + /** + * An optional description of the expression. This is a longer text which + * describes the expression, e.g. when hovered over it in a UI. + */ + description?: string; + /** + * Textual representation of an expression in Common Expression Language + * syntax. The application context of the containing message determines + * which well-known feature set of CEL is supported. + */ + expression?: string; + /** + * An optional string indicating the location of the expression for error + * reporting, e.g. a file name and a position in the file. + */ + location?: string; + /** + * An optional title for the expression, i.e. a short string describing its + * purpose. This can be used e.g. in UIs which allow to enter the + * expression. + */ + title?: string; + } + /** + * Defines an Identity and Access Management (IAM) policy. It is used to + * specify access control policies for Cloud Platform resources. A `Policy` + * consists of a list of `bindings`. A `binding` binds a list of `members` to + * a `role`, where the members can be user accounts, Google groups, Google + * domains, and service accounts. A `role` is a named list of permissions + * defined by IAM. **JSON Example** { "bindings": [ { + * "role": "roles/owner", "members": [ + * "user:mike@example.com", "group:admins@example.com", + * "domain:google.com", + * "serviceAccount:my-other-app@appspot.gserviceaccount.com" ] }, { + * "role": "roles/viewer", "members": + * ["user:sean@example.com"] } ] } **YAML + * Example** bindings: - members: - user:mike@example.com - + * group:admins@example.com - domain:google.com - + * serviceAccount:my-other-app@appspot.gserviceaccount.com role: + * roles/owner - members: - user:sean@example.com role: + * roles/viewer For a description of IAM and its features, see the [IAM + * developer's guide](https://cloud.google.com/iam/docs). + */ + interface Schema$IamPolicy { + /** + * Associates a list of `members` to a `role`. `bindings` with no members + * will result in an error. + */ + bindings?: Schema$Binding[]; + /** + * `etag` is used for optimistic concurrency control as a way to help + * prevent simultaneous updates of a policy from overwriting each other. It + * is strongly suggested that systems make use of the `etag` in the + * read-modify-write cycle to perform policy updates in order to avoid race + * conditions: An `etag` is returned in the response to `getIamPolicy`, and + * systems are expected to put that etag in the request to `setIamPolicy` to + * ensure that their change will be applied to the same version of the + * policy. If no `etag` is provided in the call to `setIamPolicy`, then the + * existing policy is overwritten blindly. + */ + etag?: string; + /** + * Deprecated. + */ + version?: number; + } + /** + * Response message for BinauthzManagementService.ListAttestors. + */ + interface Schema$ListAttestorsResponse { + /** + * The list of attestors. + */ + attestors?: Schema$Attestor[]; + /** + * A token to retrieve the next page of results. Pass this value in the + * ListAttestorsRequest.page_token field in the subsequent call to the + * `ListAttestors` method to retrieve the next page of results. + */ + nextPageToken?: string; + } + /** + * A policy for container image binary authorization. + */ + interface Schema$Policy { + /** + * Optional. Admission policy whitelisting. A matching admission request + * will always be permitted. This feature is typically used to exclude + * Google or third-party infrastructure images from Binary Authorization + * policies. + */ + admissionWhitelistPatterns?: Schema$AdmissionWhitelistPattern[]; + /** + * Optional. Per-cluster admission rules. Cluster spec format: + * `location.clusterId`. There can be at most one admission rule per cluster + * spec. A `location` is either a compute zone (e.g. us-central1-a) or a + * region (e.g. us-central1). For `clusterId` syntax restrictions see + * https://cloud.google.com/container-engine/reference/rest/v1/projects.zones.clusters. + */ + clusterAdmissionRules?: any; + /** + * Required. Default admission rule for a cluster without a per-cluster + * admission rule. + */ + defaultAdmissionRule?: Schema$AdmissionRule; + /** + * Optional. A descriptive comment. + */ + description?: string; + /** + * Output only. The resource name, in the format `projects/x/policy`. There + * is at most one policy per project. + */ + name?: string; + /** + * Output only. Time when the policy was last updated. + */ + updateTime?: string; + } + /** + * Request message for `SetIamPolicy` method. + */ + interface Schema$SetIamPolicyRequest { + /** + * REQUIRED: The complete policy to be applied to the `resource`. The size + * of the policy is limited to a few 10s of KB. An empty policy is a valid + * policy but certain Cloud Platform services (such as Projects) might + * reject them. + */ + policy?: Schema$IamPolicy; + } + /** + * Request message for `TestIamPermissions` method. + */ + interface Schema$TestIamPermissionsRequest { + /** + * The set of permissions to check for the `resource`. Permissions with + * wildcards (such as '*' or 'storage.*') are not allowed. + * For more information see [IAM + * Overview](https://cloud.google.com/iam/docs/overview#permissions). + */ + permissions?: string[]; + } + /** + * Response message for `TestIamPermissions` method. + */ + interface Schema$TestIamPermissionsResponse { + /** + * A subset of `TestPermissionsRequest.permissions` that the caller is + * allowed. + */ + permissions?: string[]; + } + /** + * An user owned drydock note references a Drydock ATTESTATION_AUTHORITY Note + * created by the user. + */ + interface Schema$UserOwnedDrydockNote { + /** + * Output only. This field will contain the service account email address + * that this Attestor will use as the principal when querying Container + * Analysis. Attestor administrators must grant this service account the IAM + * role needed to read attestations from the note_reference in Container + * Analysis (`containeranalysis.notes.occurrences.viewer`). This email + * address is fixed for the lifetime of the Attestor, but callers should not + * make any other assumptions about the service account email; future + * versions may use an email based on a different naming pattern. + */ + delegationServiceAccountEmail?: string; + /** + * Required. The Drydock resource name of a ATTESTATION_AUTHORITY Note, + * created by the user, in the format: `projects/x/notes/x (or the legacy + * `providers/x/notes/x). This field may not be updated. An attestation by + * this attestor is stored as a Drydock ATTESTATION_AUTHORITY Occurrence + * that names a container image and that links to this Note. Drydock is an + * external dependency. + */ + noteReference?: string; + /** + * Optional. Public keys that verify attestations signed by this attestor. + * This field may be updated. If this field is non-empty, one of the + * specified public keys must verify that an attestation was signed by this + * attestor for the image specified in the admission request. If this field + * is empty, this attestor always returns that no valid attestations exist. + */ + publicKeys?: Schema$AttestorPublicKey[]; + } + class Resource$Projects { + root: Binaryauthorization; + attestors: Resource$Projects$Attestors; + policy: Resource$Projects$Policy; + constructor(root: Binaryauthorization); + getRoot(): Binaryauthorization; + /** + * binaryauthorization.projects.getPolicy + * @desc Gets the policy for this project. Returns a default policy if the + * project does not have one. + * @alias binaryauthorization.projects.getPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The resource name of the policy to retrieve, in the format `projects/x/policy`. + * @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 + */ + getPolicy(params?: Params$Resource$Projects$Getpolicy, options?: MethodOptions): AxiosPromise; + getPolicy(params: Params$Resource$Projects$Getpolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getPolicy(params: Params$Resource$Projects$Getpolicy, callback: BodyResponseCallback): void; + getPolicy(callback: BodyResponseCallback): void; + /** + * binaryauthorization.projects.updatePolicy + * @desc Creates or updates a project's policy, and returns a copy of the + * new policy. A policy is always updated as a whole, to avoid race + * conditions with concurrent policy enforcement (or management!) requests. + * Returns NOT_FOUND if the project does not exist, INVALID_ARGUMENT if the + * request is malformed. + * @alias binaryauthorization.projects.updatePolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Output only. The resource name, in the format `projects/x/policy`. There is at most one policy per project. + * @param {().Policy} 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 + */ + updatePolicy(params?: Params$Resource$Projects$Updatepolicy, options?: MethodOptions): AxiosPromise; + updatePolicy(params: Params$Resource$Projects$Updatepolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + updatePolicy(params: Params$Resource$Projects$Updatepolicy, callback: BodyResponseCallback): void; + updatePolicy(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Getpolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of the policy to retrieve, in the format + * `projects/x/policy`. + */ + name?: string; + } + interface Params$Resource$Projects$Updatepolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Output only. The resource name, in the format `projects/x/policy`. There + * is at most one policy per project. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Policy; + } + class Resource$Projects$Attestors { + root: Binaryauthorization; + constructor(root: Binaryauthorization); + getRoot(): Binaryauthorization; + /** + * binaryauthorization.projects.attestors.create + * @desc Creates an attestor, and returns a copy of the new attestor. + * Returns NOT_FOUND if the project does not exist, INVALID_ARGUMENT if the + * request is malformed, ALREADY_EXISTS if the attestor already exists. + * @alias binaryauthorization.projects.attestors.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.attestorId Required. The attestors ID. + * @param {string} params.parent Required. The parent of this attestor. + * @param {().Attestor} 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 + */ + create(params?: Params$Resource$Projects$Attestors$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Attestors$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Attestors$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * binaryauthorization.projects.attestors.delete + * @desc Deletes an attestor. Returns NOT_FOUND if the attestor does not + * exist. + * @alias binaryauthorization.projects.attestors.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The name of the attestors to delete, in the format `projects/x/attestors/x`. + * @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?: Params$Resource$Projects$Attestors$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Attestors$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Attestors$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * binaryauthorization.projects.attestors.get + * @desc Gets an attestor. Returns NOT_FOUND if the attestor does not exist. + * @alias binaryauthorization.projects.attestors.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The name of the attestor to retrieve, in the format `projects/x/attestors/x`. + * @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?: Params$Resource$Projects$Attestors$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Attestors$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Attestors$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * binaryauthorization.projects.attestors.getIamPolicy + * @desc Gets the access control policy for a resource. Returns an empty + * policy if the resource exists and does not have a policy set. + * @alias binaryauthorization.projects.attestors.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. + * @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 + */ + getIamPolicy(params?: Params$Resource$Projects$Attestors$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Projects$Attestors$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Projects$Attestors$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * binaryauthorization.projects.attestors.list + * @desc Lists attestors. Returns INVALID_ARGUMENT if the project does not + * exist. + * @alias binaryauthorization.projects.attestors.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default. + * @param {string=} params.pageToken A token identifying a page of results the server should return. Typically, this is the value of ListAttestorsResponse.next_page_token returned from the previous call to the `ListAttestors` method. + * @param {string} params.parent Required. The resource name of the project associated with the attestors, in the format `projects/x`. + * @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?: Params$Resource$Projects$Attestors$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Attestors$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Attestors$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * binaryauthorization.projects.attestors.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @alias binaryauthorization.projects.attestors.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. + * @param {().SetIamPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Projects$Attestors$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Projects$Attestors$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Projects$Attestors$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * binaryauthorization.projects.attestors.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. If + * the resource does not exist, this will return an empty set of + * permissions, not a NOT_FOUND error. Note: This operation is designed to + * be used for building permission-aware UIs and command-line tools, not for + * authorization checking. This operation may "fail open" without warning. + * @alias binaryauthorization.projects.attestors.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. + * @param {().TestIamPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Projects$Attestors$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Projects$Attestors$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Projects$Attestors$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + /** + * binaryauthorization.projects.attestors.update + * @desc Updates an attestor. Returns NOT_FOUND if the attestor does not + * exist. + * @alias binaryauthorization.projects.attestors.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The resource name, in the format: `projects/x/attestors/x`. This field may not be updated. + * @param {().Attestor} 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?: Params$Resource$Projects$Attestors$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Projects$Attestors$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Projects$Attestors$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Attestors$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The attestors ID. + */ + attestorId?: string; + /** + * Required. The parent of this attestor. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Attestor; + } + interface Params$Resource$Projects$Attestors$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the attestors to delete, in the format + * `projects/x/attestors/x`. + */ + name?: string; + } + interface Params$Resource$Projects$Attestors$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the attestor to retrieve, in the format + * `projects/x/attestors/x`. + */ + name?: string; + } + interface Params$Resource$Projects$Attestors$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being requested. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + } + interface Params$Resource$Projects$Attestors$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Requested page size. The server may return fewer results than requested. + * If unspecified, the server will pick an appropriate default. + */ + pageSize?: number; + /** + * A token identifying a page of results the server should return. + * Typically, this is the value of ListAttestorsResponse.next_page_token + * returned from the previous call to the `ListAttestors` method. + */ + pageToken?: string; + /** + * Required. The resource name of the project associated with the attestors, + * in the format `projects/x`. + */ + parent?: string; + } + interface Params$Resource$Projects$Attestors$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being specified. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetIamPolicyRequest; + } + interface Params$Resource$Projects$Attestors$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestIamPermissionsRequest; + } + interface Params$Resource$Projects$Attestors$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name, in the format: `projects/x/attestors/x`. + * This field may not be updated. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Attestor; + } + class Resource$Projects$Policy { + root: Binaryauthorization; + constructor(root: Binaryauthorization); + getRoot(): Binaryauthorization; + /** + * binaryauthorization.projects.policy.getIamPolicy + * @desc Gets the access control policy for a resource. Returns an empty + * policy if the resource exists and does not have a policy set. + * @alias binaryauthorization.projects.policy.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. + * @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 + */ + getIamPolicy(params?: Params$Resource$Projects$Policy$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Projects$Policy$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Projects$Policy$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * binaryauthorization.projects.policy.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @alias binaryauthorization.projects.policy.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. + * @param {().SetIamPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Projects$Policy$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Projects$Policy$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Projects$Policy$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * binaryauthorization.projects.policy.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. If + * the resource does not exist, this will return an empty set of + * permissions, not a NOT_FOUND error. Note: This operation is designed to + * be used for building permission-aware UIs and command-line tools, not for + * authorization checking. This operation may "fail open" without warning. + * @alias binaryauthorization.projects.policy.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. + * @param {().TestIamPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Projects$Policy$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Projects$Policy$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Projects$Policy$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Policy$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being requested. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + } + interface Params$Resource$Projects$Policy$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being specified. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetIamPolicyRequest; + } + interface Params$Resource$Projects$Policy$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestIamPermissionsRequest; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/binaryauthorization/v1beta1.js b/express-server/node_modules/googleapis/build/src/apis/binaryauthorization/v1beta1.js new file mode 100644 index 00000000..57174190 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/binaryauthorization/v1beta1.js @@ -0,0 +1,486 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var binaryauthorization_v1beta1; +(function (binaryauthorization_v1beta1) { + /** + * Binary Authorization API + * + * The management interface for Binary Authorization, a system providing + * policy control for images deployed to Kubernetes Engine clusters. + * + * @example + * const {google} = require('googleapis'); + * const binaryauthorization = google.binaryauthorization('v1beta1'); + * + * @namespace binaryauthorization + * @type {Function} + * @version v1beta1 + * @variation v1beta1 + * @param {object=} options Options for Binaryauthorization + */ + class Binaryauthorization { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.projects = new Resource$Projects(this); + } + getRoot() { + return this.root; + } + } + binaryauthorization_v1beta1.Binaryauthorization = Binaryauthorization; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.attestors = new Resource$Projects$Attestors(root); + this.policy = new Resource$Projects$Policy(root); + } + getRoot() { + return this.root; + } + getPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://binaryauthorization.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + updatePolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://binaryauthorization.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + binaryauthorization_v1beta1.Resource$Projects = Resource$Projects; + class Resource$Projects$Attestors { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://binaryauthorization.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+parent}/attestors') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://binaryauthorization.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://binaryauthorization.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://binaryauthorization.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+resource}:getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://binaryauthorization.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+parent}/attestors') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://binaryauthorization.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+resource}:setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://binaryauthorization.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+resource}:testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://binaryauthorization.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + binaryauthorization_v1beta1.Resource$Projects$Attestors = Resource$Projects$Attestors; + class Resource$Projects$Policy { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://binaryauthorization.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+resource}:getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://binaryauthorization.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+resource}:setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://binaryauthorization.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+resource}:testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + binaryauthorization_v1beta1.Resource$Projects$Policy = Resource$Projects$Policy; +})(binaryauthorization_v1beta1 = exports.binaryauthorization_v1beta1 || (exports.binaryauthorization_v1beta1 = {})); +//# sourceMappingURL=v1beta1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/binaryauthorization/v1beta1.js.map b/express-server/node_modules/googleapis/build/src/apis/binaryauthorization/v1beta1.js.map new file mode 100644 index 00000000..3ac913e3 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/binaryauthorization/v1beta1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1beta1.js","sourceRoot":"","sources":["../../../../src/apis/binaryauthorization/v1beta1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/blogger/README.md b/express-server/node_modules/googleapis/build/src/apis/blogger/README.md new file mode 100644 index 00000000..7fe1ff49 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/blogger/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/blogger + +> API for access to the data within Blogger. + +## Installation + +```sh +$ npm install @google/blogger +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/blogger/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/blogger/index.d.ts new file mode 100644 index 00000000..1cbed810 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/blogger/index.d.ts @@ -0,0 +1,10 @@ +import { blogger_v2 } from './v2'; +import { blogger_v3 } from './v3'; +export declare const VERSIONS: { + 'v2': typeof blogger_v2.Blogger; + 'v3': typeof blogger_v3.Blogger; +}; +export declare function blogger(version: 'v2'): blogger_v2.Blogger; +export declare function blogger(options: blogger_v2.Options): blogger_v2.Blogger; +export declare function blogger(version: 'v3'): blogger_v3.Blogger; +export declare function blogger(options: blogger_v3.Options): blogger_v3.Blogger; diff --git a/express-server/node_modules/googleapis/build/src/apis/blogger/index.js b/express-server/node_modules/googleapis/build/src/apis/blogger/index.js new file mode 100644 index 00000000..36791623 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/blogger/index.js @@ -0,0 +1,27 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v2_1 = require("./v2"); +const v3_1 = require("./v3"); +exports.VERSIONS = { + 'v2': v2_1.blogger_v2.Blogger, + 'v3': v3_1.blogger_v3.Blogger, +}; +function blogger(versionOrOptions) { + return googleapis_common_1.getAPI('blogger', versionOrOptions, exports.VERSIONS, this); +} +exports.blogger = blogger; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/blogger/index.js.map b/express-server/node_modules/googleapis/build/src/apis/blogger/index.js.map new file mode 100644 index 00000000..18c1f019 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/blogger/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/blogger/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAgC;AAChC,6BAAgC;AAEnB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,eAAU,CAAC,OAAO;IACxB,IAAI,EAAE,eAAU,CAAC,OAAO;CACzB,CAAC;AAMF,SAAgB,OAAO,CAEnB,gBAAiE;IACnE,OAAO,0BAAM,CAAI,SAAS,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAChE,CAAC;AAJD,0BAIC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/blogger/package.json b/express-server/node_modules/googleapis/build/src/apis/blogger/package.json new file mode 100644 index 00000000..af738aa8 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/blogger/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/blogger", + "version": "0.1.0", + "description": "blogger", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/blogger/v2.d.ts b/express-server/node_modules/googleapis/build/src/apis/blogger/v2.d.ts new file mode 100644 index 00000000..d5773d29 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/blogger/v2.d.ts @@ -0,0 +1,661 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace blogger_v2 { + interface Options extends GlobalOptions { + version: 'v2'; + } + /** + * Blogger API + * + * API for access to the data within Blogger. + * + * @example + * const {google} = require('googleapis'); + * const blogger = google.blogger('v2'); + * + * @namespace blogger + * @type {Function} + * @version v2 + * @variation v2 + * @param {object=} options Options for Blogger + */ + class Blogger { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + blogs: Resource$Blogs; + comments: Resource$Comments; + pages: Resource$Pages; + posts: Resource$Posts; + users: Resource$Users; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + interface Schema$Blog { + /** + * The description of this blog. This is displayed underneath the title. + */ + description?: string; + /** + * The identifier for this resource. + */ + id?: string; + /** + * The kind of this entry. Always blogger#blog + */ + kind?: string; + /** + * The locale this Blog is set to. + */ + locale?: any; + /** + * The name of this blog. This is displayed as the title. + */ + name?: string; + /** + * The container of pages in this blog. + */ + pages?: any; + /** + * The container of posts in this blog. + */ + posts?: any; + /** + * RFC 3339 date-time when this blog was published. + */ + published?: string; + /** + * The API REST URL to fetch this resource from. + */ + selfLink?: string; + /** + * RFC 3339 date-time when this blog was last updated. + */ + updated?: string; + /** + * The URL where this blog is published. + */ + url?: string; + } + interface Schema$BlogList { + /** + * The list of Blogs this user has Authorship or Admin rights over. + */ + items?: Schema$Blog[]; + /** + * The kind of this entity. Always blogger#blogList + */ + kind?: string; + } + interface Schema$Comment { + /** + * The author of this Comment. + */ + author?: any; + /** + * Data about the blog containing this comment. + */ + blog?: any; + /** + * The actual content of the comment. May include HTML markup. + */ + content?: string; + /** + * The identifier for this resource. + */ + id?: string; + /** + * Data about the comment this is in reply to. + */ + inReplyTo?: any; + /** + * The kind of this entry. Always blogger#comment + */ + kind?: string; + /** + * Data about the post containing this comment. + */ + post?: any; + /** + * RFC 3339 date-time when this comment was published. + */ + published?: string; + /** + * The API REST URL to fetch this resource from. + */ + selfLink?: string; + /** + * RFC 3339 date-time when this comment was last updated. + */ + updated?: string; + } + interface Schema$CommentList { + /** + * The List of Comments for a Post. + */ + items?: Schema$Comment[]; + /** + * The kind of this entry. Always blogger#commentList + */ + kind?: string; + /** + * Pagination token to fetch the next page, if one exists. + */ + nextPageToken?: string; + /** + * Pagination token to fetch the previous page, if one exists. + */ + prevPageToken?: string; + } + interface Schema$Page { + /** + * The author of this Page. + */ + author?: any; + /** + * Data about the blog containing this Page. + */ + blog?: any; + /** + * The body content of this Page, in HTML. + */ + content?: string; + /** + * The identifier for this resource. + */ + id?: string; + /** + * The kind of this entity. Always blogger#page + */ + kind?: string; + /** + * RFC 3339 date-time when this Page was published. + */ + published?: string; + /** + * The API REST URL to fetch this resource from. + */ + selfLink?: string; + /** + * The title of this entity. This is the name displayed in the Admin user + * interface. + */ + title?: string; + /** + * RFC 3339 date-time when this Page was last updated. + */ + updated?: string; + /** + * The URL that this Page is displayed at. + */ + url?: string; + } + interface Schema$PageList { + /** + * The list of Pages for a Blog. + */ + items?: Schema$Page[]; + /** + * The kind of this entity. Always blogger#pageList + */ + kind?: string; + } + interface Schema$Post { + /** + * The author of this Post. + */ + author?: any; + /** + * Data about the blog containing this Post. + */ + blog?: any; + /** + * The content of the Post. May contain HTML markup. + */ + content?: string; + /** + * The identifier of this Post. + */ + id?: string; + /** + * The kind of this entity. Always blogger#post + */ + kind?: string; + /** + * The list of labels this Post was tagged with. + */ + labels?: string[]; + /** + * RFC 3339 date-time when this Post was published. + */ + published?: string; + /** + * The container of comments on this Post. + */ + replies?: any; + /** + * The API REST URL to fetch this resource from. + */ + selfLink?: string; + /** + * The title of the Post. + */ + title?: string; + /** + * RFC 3339 date-time when this Post was last updated. + */ + updated?: string; + /** + * The URL where this Post is displayed. + */ + url?: string; + } + interface Schema$PostList { + /** + * The list of Posts for this Blog. + */ + items?: Schema$Post[]; + /** + * The kind of this entity. Always blogger#postList + */ + kind?: string; + /** + * Pagination token to fetch the next page, if one exists. + */ + nextPageToken?: string; + /** + * Pagination token to fetch the previous page, if one exists. + */ + prevPageToken?: string; + } + interface Schema$User { + /** + * Profile summary information. + */ + about?: string; + /** + * The container of blogs for this user. + */ + blogs?: any; + /** + * The timestamp of when this profile was created, in seconds since epoch. + */ + created?: string; + /** + * The display name. + */ + displayName?: string; + /** + * The identifier for this User. + */ + id?: string; + /** + * The kind of this entity. Always blogger#user + */ + kind?: string; + /** + * This user's locale + */ + locale?: any; + /** + * The API REST URL to fetch this resource from. + */ + selfLink?: string; + /** + * The user's profile page. + */ + url?: string; + } + class Resource$Blogs { + root: Blogger; + constructor(root: Blogger); + getRoot(): Blogger; + /** + * blogger.blogs.get + * @desc Gets one blog by id. + * @alias blogger.blogs.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.blogId The ID of the blog to get. + * @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?: Params$Resource$Blogs$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Blogs$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Blogs$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Blogs$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the blog to get. + */ + blogId?: string; + } + class Resource$Comments { + root: Blogger; + constructor(root: Blogger); + getRoot(): Blogger; + /** + * blogger.comments.get + * @desc Gets one comment by id. + * @alias blogger.comments.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.blogId ID of the blog to containing the comment. + * @param {string} params.commentId The ID of the comment to get. + * @param {string} params.postId ID of the post to fetch posts from. + * @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?: Params$Resource$Comments$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Comments$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Comments$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * blogger.comments.list + * @desc Retrieves the comments for a blog, possibly filtered. + * @alias blogger.comments.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.blogId ID of the blog to fetch comments from. + * @param {boolean=} params.fetchBodies Whether the body content of the comments is included. + * @param {integer=} params.maxResults Maximum number of comments to include in the result. + * @param {string=} params.pageToken Continuation token if request is paged. + * @param {string} params.postId ID of the post to fetch posts from. + * @param {string=} params.startDate Earliest date of comment to fetch, a date-time with RFC 3339 formatting. + * @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?: Params$Resource$Comments$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Comments$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Comments$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Comments$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ID of the blog to containing the comment. + */ + blogId?: string; + /** + * The ID of the comment to get. + */ + commentId?: string; + /** + * ID of the post to fetch posts from. + */ + postId?: string; + } + interface Params$Resource$Comments$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ID of the blog to fetch comments from. + */ + blogId?: string; + /** + * Whether the body content of the comments is included. + */ + fetchBodies?: boolean; + /** + * Maximum number of comments to include in the result. + */ + maxResults?: number; + /** + * Continuation token if request is paged. + */ + pageToken?: string; + /** + * ID of the post to fetch posts from. + */ + postId?: string; + /** + * Earliest date of comment to fetch, a date-time with RFC 3339 formatting. + */ + startDate?: string; + } + class Resource$Pages { + root: Blogger; + constructor(root: Blogger); + getRoot(): Blogger; + /** + * blogger.pages.get + * @desc Gets one blog page by id. + * @alias blogger.pages.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.blogId ID of the blog containing the page. + * @param {string} params.pageId The ID of the page to get. + * @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?: Params$Resource$Pages$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Pages$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Pages$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * blogger.pages.list + * @desc Retrieves pages for a blog, possibly filtered. + * @alias blogger.pages.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.blogId ID of the blog to fetch pages from. + * @param {boolean=} params.fetchBodies Whether to retrieve the Page bodies. + * @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?: Params$Resource$Pages$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Pages$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Pages$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Pages$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ID of the blog containing the page. + */ + blogId?: string; + /** + * The ID of the page to get. + */ + pageId?: string; + } + interface Params$Resource$Pages$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ID of the blog to fetch pages from. + */ + blogId?: string; + /** + * Whether to retrieve the Page bodies. + */ + fetchBodies?: boolean; + } + class Resource$Posts { + root: Blogger; + constructor(root: Blogger); + getRoot(): Blogger; + /** + * blogger.posts.get + * @desc Get a post by id. + * @alias blogger.posts.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.blogId ID of the blog to fetch the post from. + * @param {string} params.postId The ID of the post + * @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?: Params$Resource$Posts$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Posts$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Posts$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * blogger.posts.list + * @desc Retrieves a list of posts, possibly filtered. + * @alias blogger.posts.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.blogId ID of the blog to fetch posts from. + * @param {boolean=} params.fetchBodies Whether the body content of posts is included. + * @param {integer=} params.maxResults Maximum number of posts to fetch. + * @param {string=} params.pageToken Continuation token if the request is paged. + * @param {string=} params.startDate Earliest post date to fetch, a date-time with RFC 3339 formatting. + * @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?: Params$Resource$Posts$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Posts$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Posts$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Posts$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ID of the blog to fetch the post from. + */ + blogId?: string; + /** + * The ID of the post + */ + postId?: string; + } + interface Params$Resource$Posts$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ID of the blog to fetch posts from. + */ + blogId?: string; + /** + * Whether the body content of posts is included. + */ + fetchBodies?: boolean; + /** + * Maximum number of posts to fetch. + */ + maxResults?: number; + /** + * Continuation token if the request is paged. + */ + pageToken?: string; + /** + * Earliest post date to fetch, a date-time with RFC 3339 formatting. + */ + startDate?: string; + } + class Resource$Users { + root: Blogger; + blogs: Resource$Users$Blogs; + constructor(root: Blogger); + getRoot(): Blogger; + /** + * blogger.users.get + * @desc Gets one user by id. + * @alias blogger.users.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.userId The ID of the user to get. + * @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?: Params$Resource$Users$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Users$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Users$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Users$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the user to get. + */ + userId?: string; + } + class Resource$Users$Blogs { + root: Blogger; + constructor(root: Blogger); + getRoot(): Blogger; + /** + * blogger.users.blogs.list + * @desc Retrieves a list of blogs, possibly filtered. + * @alias blogger.users.blogs.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.userId ID of the user whose blogs are to be fetched. Either the word 'self' (sans quote marks) or the user's profile identifier. + * @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?: Params$Resource$Users$Blogs$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Users$Blogs$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Users$Blogs$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Users$Blogs$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ID of the user whose blogs are to be fetched. Either the word 'self' + * (sans quote marks) or the user's profile identifier. + */ + userId?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/blogger/v2.js b/express-server/node_modules/googleapis/build/src/apis/blogger/v2.js new file mode 100644 index 00000000..d61e9e8d --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/blogger/v2.js @@ -0,0 +1,401 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var blogger_v2; +(function (blogger_v2) { + /** + * Blogger API + * + * API for access to the data within Blogger. + * + * @example + * const {google} = require('googleapis'); + * const blogger = google.blogger('v2'); + * + * @namespace blogger + * @type {Function} + * @version v2 + * @variation v2 + * @param {object=} options Options for Blogger + */ + class Blogger { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.blogs = new Resource$Blogs(this); + this.comments = new Resource$Comments(this); + this.pages = new Resource$Pages(this); + this.posts = new Resource$Posts(this); + this.users = new Resource$Users(this); + } + getRoot() { + return this.root; + } + } + blogger_v2.Blogger = Blogger; + class Resource$Blogs { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/blogger/v2/blogs/{blogId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['blogId'], + pathParams: ['blogId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + blogger_v2.Resource$Blogs = Resource$Blogs; + class Resource$Comments { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/blogger/v2/blogs/{blogId}/posts/{postId}/comments/{commentId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['blogId', 'postId', 'commentId'], + pathParams: ['blogId', 'commentId', 'postId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/blogger/v2/blogs/{blogId}/posts/{postId}/comments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['blogId', 'postId'], + pathParams: ['blogId', 'postId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + blogger_v2.Resource$Comments = Resource$Comments; + class Resource$Pages { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/blogger/v2/blogs/{blogId}/pages/{pageId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['blogId', 'pageId'], + pathParams: ['blogId', 'pageId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/blogger/v2/blogs/{blogId}/pages') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['blogId'], + pathParams: ['blogId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + blogger_v2.Resource$Pages = Resource$Pages; + class Resource$Posts { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/blogger/v2/blogs/{blogId}/posts/{postId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['blogId', 'postId'], + pathParams: ['blogId', 'postId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/blogger/v2/blogs/{blogId}/posts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['blogId'], + pathParams: ['blogId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + blogger_v2.Resource$Posts = Resource$Posts; + class Resource$Users { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.blogs = new Resource$Users$Blogs(root); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/blogger/v2/users/{userId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userId'], + pathParams: ['userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + blogger_v2.Resource$Users = Resource$Users; + class Resource$Users$Blogs { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/blogger/v2/users/{userId}/blogs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userId'], + pathParams: ['userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + blogger_v2.Resource$Users$Blogs = Resource$Users$Blogs; +})(blogger_v2 = exports.blogger_v2 || (exports.blogger_v2 = {})); +//# sourceMappingURL=v2.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/blogger/v2.js.map b/express-server/node_modules/googleapis/build/src/apis/blogger/v2.js.map new file mode 100644 index 00000000..1aebd3d3 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/blogger/v2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v2.js","sourceRoot":"","sources":["../../../../src/apis/blogger/v2.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/blogger/v3.d.ts b/express-server/node_modules/googleapis/build/src/apis/blogger/v3.d.ts new file mode 100644 index 00000000..f930c675 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/blogger/v3.d.ts @@ -0,0 +1,2000 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace blogger_v3 { + interface Options extends GlobalOptions { + version: 'v3'; + } + /** + * Blogger API + * + * API for access to the data within Blogger. + * + * @example + * const {google} = require('googleapis'); + * const blogger = google.blogger('v3'); + * + * @namespace blogger + * @type {Function} + * @version v3 + * @variation v3 + * @param {object=} options Options for Blogger + */ + class Blogger { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + blogs: Resource$Blogs; + blogUserInfos: Resource$Bloguserinfos; + comments: Resource$Comments; + pages: Resource$Pages; + pageViews: Resource$Pageviews; + posts: Resource$Posts; + postUserInfos: Resource$Postuserinfos; + users: Resource$Users; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + interface Schema$Blog { + /** + * The JSON custom meta-data for the Blog + */ + customMetaData?: string; + /** + * The description of this blog. This is displayed underneath the title. + */ + description?: string; + /** + * The identifier for this resource. + */ + id?: string; + /** + * The kind of this entry. Always blogger#blog + */ + kind?: string; + /** + * The locale this Blog is set to. + */ + locale?: any; + /** + * The name of this blog. This is displayed as the title. + */ + name?: string; + /** + * The container of pages in this blog. + */ + pages?: any; + /** + * The container of posts in this blog. + */ + posts?: any; + /** + * RFC 3339 date-time when this blog was published. + */ + published?: string; + /** + * The API REST URL to fetch this resource from. + */ + selfLink?: string; + /** + * The status of the blog. + */ + status?: string; + /** + * RFC 3339 date-time when this blog was last updated. + */ + updated?: string; + /** + * The URL where this blog is published. + */ + url?: string; + } + interface Schema$BlogList { + /** + * Admin level list of blog per-user information + */ + blogUserInfos?: Schema$BlogUserInfo[]; + /** + * The list of Blogs this user has Authorship or Admin rights over. + */ + items?: Schema$Blog[]; + /** + * The kind of this entity. Always blogger#blogList + */ + kind?: string; + } + interface Schema$BlogPerUserInfo { + /** + * ID of the Blog resource + */ + blogId?: string; + /** + * True if the user has Admin level access to the blog. + */ + hasAdminAccess?: boolean; + /** + * The kind of this entity. Always blogger#blogPerUserInfo + */ + kind?: string; + /** + * The Photo Album Key for the user when adding photos to the blog + */ + photosAlbumKey?: string; + /** + * Access permissions that the user has for the blog (ADMIN, AUTHOR, or + * READER). + */ + role?: string; + /** + * ID of the User + */ + userId?: string; + } + interface Schema$BlogUserInfo { + /** + * The Blog resource. + */ + blog?: Schema$Blog; + /** + * Information about a User for the Blog. + */ + blog_user_info?: Schema$BlogPerUserInfo; + /** + * The kind of this entity. Always blogger#blogUserInfo + */ + kind?: string; + } + interface Schema$Comment { + /** + * The author of this Comment. + */ + author?: any; + /** + * Data about the blog containing this comment. + */ + blog?: any; + /** + * The actual content of the comment. May include HTML markup. + */ + content?: string; + /** + * The identifier for this resource. + */ + id?: string; + /** + * Data about the comment this is in reply to. + */ + inReplyTo?: any; + /** + * The kind of this entry. Always blogger#comment + */ + kind?: string; + /** + * Data about the post containing this comment. + */ + post?: any; + /** + * RFC 3339 date-time when this comment was published. + */ + published?: string; + /** + * The API REST URL to fetch this resource from. + */ + selfLink?: string; + /** + * The status of the comment (only populated for admin users) + */ + status?: string; + /** + * RFC 3339 date-time when this comment was last updated. + */ + updated?: string; + } + interface Schema$CommentList { + /** + * Etag of the response. + */ + etag?: string; + /** + * The List of Comments for a Post. + */ + items?: Schema$Comment[]; + /** + * The kind of this entry. Always blogger#commentList + */ + kind?: string; + /** + * Pagination token to fetch the next page, if one exists. + */ + nextPageToken?: string; + /** + * Pagination token to fetch the previous page, if one exists. + */ + prevPageToken?: string; + } + interface Schema$Page { + /** + * The author of this Page. + */ + author?: any; + /** + * Data about the blog containing this Page. + */ + blog?: any; + /** + * The body content of this Page, in HTML. + */ + content?: string; + /** + * Etag of the resource. + */ + etag?: string; + /** + * The identifier for this resource. + */ + id?: string; + /** + * The kind of this entity. Always blogger#page + */ + kind?: string; + /** + * RFC 3339 date-time when this Page was published. + */ + published?: string; + /** + * The API REST URL to fetch this resource from. + */ + selfLink?: string; + /** + * The status of the page for admin resources (either LIVE or DRAFT). + */ + status?: string; + /** + * The title of this entity. This is the name displayed in the Admin user + * interface. + */ + title?: string; + /** + * RFC 3339 date-time when this Page was last updated. + */ + updated?: string; + /** + * The URL that this Page is displayed at. + */ + url?: string; + } + interface Schema$PageList { + /** + * Etag of the response. + */ + etag?: string; + /** + * The list of Pages for a Blog. + */ + items?: Schema$Page[]; + /** + * The kind of this entity. Always blogger#pageList + */ + kind?: string; + /** + * Pagination token to fetch the next page, if one exists. + */ + nextPageToken?: string; + } + interface Schema$Pageviews { + /** + * Blog Id + */ + blogId?: string; + /** + * The container of posts in this blog. + */ + counts?: any[]; + /** + * The kind of this entry. Always blogger#page_views + */ + kind?: string; + } + interface Schema$Post { + /** + * The author of this Post. + */ + author?: any; + /** + * Data about the blog containing this Post. + */ + blog?: any; + /** + * The content of the Post. May contain HTML markup. + */ + content?: string; + /** + * The JSON meta-data for the Post. + */ + customMetaData?: string; + /** + * Etag of the resource. + */ + etag?: string; + /** + * The identifier of this Post. + */ + id?: string; + /** + * Display image for the Post. + */ + images?: any[]; + /** + * The kind of this entity. Always blogger#post + */ + kind?: string; + /** + * The list of labels this Post was tagged with. + */ + labels?: string[]; + /** + * The location for geotagged posts. + */ + location?: any; + /** + * RFC 3339 date-time when this Post was published. + */ + published?: string; + /** + * Comment control and display setting for readers of this post. + */ + readerComments?: string; + /** + * The container of comments on this Post. + */ + replies?: any; + /** + * The API REST URL to fetch this resource from. + */ + selfLink?: string; + /** + * Status of the post. Only set for admin-level requests + */ + status?: string; + /** + * The title of the Post. + */ + title?: string; + /** + * The title link URL, similar to atom's related link. + */ + titleLink?: string; + /** + * RFC 3339 date-time when this Post was last updated. + */ + updated?: string; + /** + * The URL where this Post is displayed. + */ + url?: string; + } + interface Schema$PostList { + /** + * Etag of the response. + */ + etag?: string; + /** + * The list of Posts for this Blog. + */ + items?: Schema$Post[]; + /** + * The kind of this entity. Always blogger#postList + */ + kind?: string; + /** + * Pagination token to fetch the next page, if one exists. + */ + nextPageToken?: string; + } + interface Schema$PostPerUserInfo { + /** + * ID of the Blog that the post resource belongs to. + */ + blogId?: string; + /** + * True if the user has Author level access to the post. + */ + hasEditAccess?: boolean; + /** + * The kind of this entity. Always blogger#postPerUserInfo + */ + kind?: string; + /** + * ID of the Post resource. + */ + postId?: string; + /** + * ID of the User. + */ + userId?: string; + } + interface Schema$PostUserInfo { + /** + * The kind of this entity. Always blogger#postUserInfo + */ + kind?: string; + /** + * The Post resource. + */ + post?: Schema$Post; + /** + * Information about a User for the Post. + */ + post_user_info?: Schema$PostPerUserInfo; + } + interface Schema$PostUserInfosList { + /** + * The list of Posts with User information for the post, for this Blog. + */ + items?: Schema$PostUserInfo[]; + /** + * The kind of this entity. Always blogger#postList + */ + kind?: string; + /** + * Pagination token to fetch the next page, if one exists. + */ + nextPageToken?: string; + } + interface Schema$User { + /** + * Profile summary information. + */ + about?: string; + /** + * The container of blogs for this user. + */ + blogs?: any; + /** + * The timestamp of when this profile was created, in seconds since epoch. + */ + created?: string; + /** + * The display name. + */ + displayName?: string; + /** + * The identifier for this User. + */ + id?: string; + /** + * The kind of this entity. Always blogger#user + */ + kind?: string; + /** + * This user's locale + */ + locale?: any; + /** + * The API REST URL to fetch this resource from. + */ + selfLink?: string; + /** + * The user's profile page. + */ + url?: string; + } + class Resource$Blogs { + root: Blogger; + constructor(root: Blogger); + getRoot(): Blogger; + /** + * blogger.blogs.get + * @desc Gets one blog by ID. + * @alias blogger.blogs.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.blogId The ID of the blog to get. + * @param {integer=} params.maxPosts Maximum number of posts to pull back with the blog. + * @param {string=} params.view Access level with which to view the blog. Note that some fields require elevated access. + * @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?: Params$Resource$Blogs$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Blogs$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Blogs$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * blogger.blogs.getByUrl + * @desc Retrieve a Blog by URL. + * @alias blogger.blogs.getByUrl + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.url The URL of the blog to retrieve. + * @param {string=} params.view Access level with which to view the blog. Note that some fields require elevated access. + * @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 + */ + getByUrl(params?: Params$Resource$Blogs$Getbyurl, options?: MethodOptions): AxiosPromise; + getByUrl(params: Params$Resource$Blogs$Getbyurl, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getByUrl(params: Params$Resource$Blogs$Getbyurl, callback: BodyResponseCallback): void; + getByUrl(callback: BodyResponseCallback): void; + /** + * blogger.blogs.listByUser + * @desc Retrieves a list of blogs, possibly filtered. + * @alias blogger.blogs.listByUser + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.fetchUserInfo Whether the response is a list of blogs with per-user information instead of just blogs. + * @param {string=} params.role User access types for blogs to include in the results, e.g. AUTHOR will return blogs where the user has author level access. If no roles are specified, defaults to ADMIN and AUTHOR roles. + * @param {string=} params.status Blog statuses to include in the result (default: Live blogs only). Note that ADMIN access is required to view deleted blogs. + * @param {string} params.userId ID of the user whose blogs are to be fetched. Either the word 'self' (sans quote marks) or the user's profile identifier. + * @param {string=} params.view Access level with which to view the blogs. Note that some fields require elevated access. + * @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 + */ + listByUser(params?: Params$Resource$Blogs$Listbyuser, options?: MethodOptions): AxiosPromise; + listByUser(params: Params$Resource$Blogs$Listbyuser, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listByUser(params: Params$Resource$Blogs$Listbyuser, callback: BodyResponseCallback): void; + listByUser(callback: BodyResponseCallback): void; + } + interface Params$Resource$Blogs$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the blog to get. + */ + blogId?: string; + /** + * Maximum number of posts to pull back with the blog. + */ + maxPosts?: number; + /** + * Access level with which to view the blog. Note that some fields require + * elevated access. + */ + view?: string; + } + interface Params$Resource$Blogs$Getbyurl { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The URL of the blog to retrieve. + */ + url?: string; + /** + * Access level with which to view the blog. Note that some fields require + * elevated access. + */ + view?: string; + } + interface Params$Resource$Blogs$Listbyuser { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Whether the response is a list of blogs with per-user information instead + * of just blogs. + */ + fetchUserInfo?: boolean; + /** + * User access types for blogs to include in the results, e.g. AUTHOR will + * return blogs where the user has author level access. If no roles are + * specified, defaults to ADMIN and AUTHOR roles. + */ + role?: string; + /** + * Blog statuses to include in the result (default: Live blogs only). Note + * that ADMIN access is required to view deleted blogs. + */ + status?: string; + /** + * ID of the user whose blogs are to be fetched. Either the word 'self' + * (sans quote marks) or the user's profile identifier. + */ + userId?: string; + /** + * Access level with which to view the blogs. Note that some fields require + * elevated access. + */ + view?: string; + } + class Resource$Bloguserinfos { + root: Blogger; + constructor(root: Blogger); + getRoot(): Blogger; + /** + * blogger.blogUserInfos.get + * @desc Gets one blog and user info pair by blogId and userId. + * @alias blogger.blogUserInfos.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.blogId The ID of the blog to get. + * @param {integer=} params.maxPosts Maximum number of posts to pull back with the blog. + * @param {string} params.userId ID of the user whose blogs are to be fetched. Either the word 'self' (sans quote marks) or the user's profile identifier. + * @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?: Params$Resource$Bloguserinfos$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Bloguserinfos$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Bloguserinfos$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Bloguserinfos$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the blog to get. + */ + blogId?: string; + /** + * Maximum number of posts to pull back with the blog. + */ + maxPosts?: number; + /** + * ID of the user whose blogs are to be fetched. Either the word 'self' + * (sans quote marks) or the user's profile identifier. + */ + userId?: string; + } + class Resource$Comments { + root: Blogger; + constructor(root: Blogger); + getRoot(): Blogger; + /** + * blogger.comments.approve + * @desc Marks a comment as not spam. + * @alias blogger.comments.approve + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.blogId The ID of the Blog. + * @param {string} params.commentId The ID of the comment to mark as not spam. + * @param {string} params.postId The ID of the Post. + * @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 + */ + approve(params?: Params$Resource$Comments$Approve, options?: MethodOptions): AxiosPromise; + approve(params: Params$Resource$Comments$Approve, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + approve(params: Params$Resource$Comments$Approve, callback: BodyResponseCallback): void; + approve(callback: BodyResponseCallback): void; + /** + * blogger.comments.delete + * @desc Delete a comment by ID. + * @alias blogger.comments.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.blogId The ID of the Blog. + * @param {string} params.commentId The ID of the comment to delete. + * @param {string} params.postId The ID of the Post. + * @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?: Params$Resource$Comments$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Comments$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Comments$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * blogger.comments.get + * @desc Gets one comment by ID. + * @alias blogger.comments.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.blogId ID of the blog to containing the comment. + * @param {string} params.commentId The ID of the comment to get. + * @param {string} params.postId ID of the post to fetch posts from. + * @param {string=} params.view Access level for the requested comment (default: READER). Note that some comments will require elevated permissions, for example comments where the parent posts which is in a draft state, or comments that are pending moderation. + * @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?: Params$Resource$Comments$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Comments$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Comments$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * blogger.comments.list + * @desc Retrieves the comments for a post, possibly filtered. + * @alias blogger.comments.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.blogId ID of the blog to fetch comments from. + * @param {string=} params.endDate Latest date of comment to fetch, a date-time with RFC 3339 formatting. + * @param {boolean=} params.fetchBodies Whether the body content of the comments is included. + * @param {integer=} params.maxResults Maximum number of comments to include in the result. + * @param {string=} params.pageToken Continuation token if request is paged. + * @param {string} params.postId ID of the post to fetch posts from. + * @param {string=} params.startDate Earliest date of comment to fetch, a date-time with RFC 3339 formatting. + * @param {string=} params.status + * @param {string=} params.view Access level with which to view the returned result. Note that some fields require elevated access. + * @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?: Params$Resource$Comments$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Comments$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Comments$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * blogger.comments.listByBlog + * @desc Retrieves the comments for a blog, across all posts, possibly + * filtered. + * @alias blogger.comments.listByBlog + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.blogId ID of the blog to fetch comments from. + * @param {string=} params.endDate Latest date of comment to fetch, a date-time with RFC 3339 formatting. + * @param {boolean=} params.fetchBodies Whether the body content of the comments is included. + * @param {integer=} params.maxResults Maximum number of comments to include in the result. + * @param {string=} params.pageToken Continuation token if request is paged. + * @param {string=} params.startDate Earliest date of comment to fetch, a date-time with RFC 3339 formatting. + * @param {string=} params.status + * @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 + */ + listByBlog(params?: Params$Resource$Comments$Listbyblog, options?: MethodOptions): AxiosPromise; + listByBlog(params: Params$Resource$Comments$Listbyblog, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listByBlog(params: Params$Resource$Comments$Listbyblog, callback: BodyResponseCallback): void; + listByBlog(callback: BodyResponseCallback): void; + /** + * blogger.comments.markAsSpam + * @desc Marks a comment as spam. + * @alias blogger.comments.markAsSpam + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.blogId The ID of the Blog. + * @param {string} params.commentId The ID of the comment to mark as spam. + * @param {string} params.postId The ID of the Post. + * @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 + */ + markAsSpam(params?: Params$Resource$Comments$Markasspam, options?: MethodOptions): AxiosPromise; + markAsSpam(params: Params$Resource$Comments$Markasspam, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + markAsSpam(params: Params$Resource$Comments$Markasspam, callback: BodyResponseCallback): void; + markAsSpam(callback: BodyResponseCallback): void; + /** + * blogger.comments.removeContent + * @desc Removes the content of a comment. + * @alias blogger.comments.removeContent + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.blogId The ID of the Blog. + * @param {string} params.commentId The ID of the comment to delete content from. + * @param {string} params.postId The ID of the Post. + * @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 + */ + removeContent(params?: Params$Resource$Comments$Removecontent, options?: MethodOptions): AxiosPromise; + removeContent(params: Params$Resource$Comments$Removecontent, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + removeContent(params: Params$Resource$Comments$Removecontent, callback: BodyResponseCallback): void; + removeContent(callback: BodyResponseCallback): void; + } + interface Params$Resource$Comments$Approve { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the Blog. + */ + blogId?: string; + /** + * The ID of the comment to mark as not spam. + */ + commentId?: string; + /** + * The ID of the Post. + */ + postId?: string; + } + interface Params$Resource$Comments$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the Blog. + */ + blogId?: string; + /** + * The ID of the comment to delete. + */ + commentId?: string; + /** + * The ID of the Post. + */ + postId?: string; + } + interface Params$Resource$Comments$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ID of the blog to containing the comment. + */ + blogId?: string; + /** + * The ID of the comment to get. + */ + commentId?: string; + /** + * ID of the post to fetch posts from. + */ + postId?: string; + /** + * Access level for the requested comment (default: READER). Note that some + * comments will require elevated permissions, for example comments where + * the parent posts which is in a draft state, or comments that are pending + * moderation. + */ + view?: string; + } + interface Params$Resource$Comments$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ID of the blog to fetch comments from. + */ + blogId?: string; + /** + * Latest date of comment to fetch, a date-time with RFC 3339 formatting. + */ + endDate?: string; + /** + * Whether the body content of the comments is included. + */ + fetchBodies?: boolean; + /** + * Maximum number of comments to include in the result. + */ + maxResults?: number; + /** + * Continuation token if request is paged. + */ + pageToken?: string; + /** + * ID of the post to fetch posts from. + */ + postId?: string; + /** + * Earliest date of comment to fetch, a date-time with RFC 3339 formatting. + */ + startDate?: string; + /** + * + */ + status?: string; + /** + * Access level with which to view the returned result. Note that some + * fields require elevated access. + */ + view?: string; + } + interface Params$Resource$Comments$Listbyblog { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ID of the blog to fetch comments from. + */ + blogId?: string; + /** + * Latest date of comment to fetch, a date-time with RFC 3339 formatting. + */ + endDate?: string; + /** + * Whether the body content of the comments is included. + */ + fetchBodies?: boolean; + /** + * Maximum number of comments to include in the result. + */ + maxResults?: number; + /** + * Continuation token if request is paged. + */ + pageToken?: string; + /** + * Earliest date of comment to fetch, a date-time with RFC 3339 formatting. + */ + startDate?: string; + /** + * + */ + status?: string; + } + interface Params$Resource$Comments$Markasspam { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the Blog. + */ + blogId?: string; + /** + * The ID of the comment to mark as spam. + */ + commentId?: string; + /** + * The ID of the Post. + */ + postId?: string; + } + interface Params$Resource$Comments$Removecontent { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the Blog. + */ + blogId?: string; + /** + * The ID of the comment to delete content from. + */ + commentId?: string; + /** + * The ID of the Post. + */ + postId?: string; + } + class Resource$Pages { + root: Blogger; + constructor(root: Blogger); + getRoot(): Blogger; + /** + * blogger.pages.delete + * @desc Delete a page by ID. + * @alias blogger.pages.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.blogId The ID of the Blog. + * @param {string} params.pageId The ID of the Page. + * @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?: Params$Resource$Pages$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Pages$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Pages$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * blogger.pages.get + * @desc Gets one blog page by ID. + * @alias blogger.pages.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.blogId ID of the blog containing the page. + * @param {string} params.pageId The ID of the page to get. + * @param {string=} params.view + * @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?: Params$Resource$Pages$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Pages$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Pages$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * blogger.pages.insert + * @desc Add a page. + * @alias blogger.pages.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.blogId ID of the blog to add the page to. + * @param {boolean=} params.isDraft Whether to create the page as a draft (default: false). + * @param {().Page} 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?: Params$Resource$Pages$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Pages$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Pages$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * blogger.pages.list + * @desc Retrieves the pages for a blog, optionally including non-LIVE + * statuses. + * @alias blogger.pages.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.blogId ID of the blog to fetch Pages from. + * @param {boolean=} params.fetchBodies Whether to retrieve the Page bodies. + * @param {integer=} params.maxResults Maximum number of Pages to fetch. + * @param {string=} params.pageToken Continuation token if the request is paged. + * @param {string=} params.status + * @param {string=} params.view Access level with which to view the returned result. Note that some fields require elevated access. + * @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?: Params$Resource$Pages$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Pages$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Pages$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * blogger.pages.patch + * @desc Update a page. This method supports patch semantics. + * @alias blogger.pages.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.blogId The ID of the Blog. + * @param {string} params.pageId The ID of the Page. + * @param {boolean=} params.publish Whether a publish action should be performed when the page is updated (default: false). + * @param {boolean=} params.revert Whether a revert action should be performed when the page is updated (default: false). + * @param {().Page} 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 + */ + patch(params?: Params$Resource$Pages$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Pages$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Pages$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * blogger.pages.publish + * @desc Publishes a draft page. + * @alias blogger.pages.publish + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.blogId The ID of the blog. + * @param {string} params.pageId The ID of the page. + * @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 + */ + publish(params?: Params$Resource$Pages$Publish, options?: MethodOptions): AxiosPromise; + publish(params: Params$Resource$Pages$Publish, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + publish(params: Params$Resource$Pages$Publish, callback: BodyResponseCallback): void; + publish(callback: BodyResponseCallback): void; + /** + * blogger.pages.revert + * @desc Revert a published or scheduled page to draft state. + * @alias blogger.pages.revert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.blogId The ID of the blog. + * @param {string} params.pageId The ID of the page. + * @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 + */ + revert(params?: Params$Resource$Pages$Revert, options?: MethodOptions): AxiosPromise; + revert(params: Params$Resource$Pages$Revert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + revert(params: Params$Resource$Pages$Revert, callback: BodyResponseCallback): void; + revert(callback: BodyResponseCallback): void; + /** + * blogger.pages.update + * @desc Update a page. + * @alias blogger.pages.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.blogId The ID of the Blog. + * @param {string} params.pageId The ID of the Page. + * @param {boolean=} params.publish Whether a publish action should be performed when the page is updated (default: false). + * @param {boolean=} params.revert Whether a revert action should be performed when the page is updated (default: false). + * @param {().Page} 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?: Params$Resource$Pages$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Pages$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Pages$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Pages$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the Blog. + */ + blogId?: string; + /** + * The ID of the Page. + */ + pageId?: string; + } + interface Params$Resource$Pages$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ID of the blog containing the page. + */ + blogId?: string; + /** + * The ID of the page to get. + */ + pageId?: string; + /** + * + */ + view?: string; + } + interface Params$Resource$Pages$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ID of the blog to add the page to. + */ + blogId?: string; + /** + * Whether to create the page as a draft (default: false). + */ + isDraft?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$Page; + } + interface Params$Resource$Pages$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ID of the blog to fetch Pages from. + */ + blogId?: string; + /** + * Whether to retrieve the Page bodies. + */ + fetchBodies?: boolean; + /** + * Maximum number of Pages to fetch. + */ + maxResults?: number; + /** + * Continuation token if the request is paged. + */ + pageToken?: string; + /** + * + */ + status?: string; + /** + * Access level with which to view the returned result. Note that some + * fields require elevated access. + */ + view?: string; + } + interface Params$Resource$Pages$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the Blog. + */ + blogId?: string; + /** + * The ID of the Page. + */ + pageId?: string; + /** + * Whether a publish action should be performed when the page is updated + * (default: false). + */ + publish?: boolean; + /** + * Whether a revert action should be performed when the page is updated + * (default: false). + */ + revert?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$Page; + } + interface Params$Resource$Pages$Publish { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the blog. + */ + blogId?: string; + /** + * The ID of the page. + */ + pageId?: string; + } + interface Params$Resource$Pages$Revert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the blog. + */ + blogId?: string; + /** + * The ID of the page. + */ + pageId?: string; + } + interface Params$Resource$Pages$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the Blog. + */ + blogId?: string; + /** + * The ID of the Page. + */ + pageId?: string; + /** + * Whether a publish action should be performed when the page is updated + * (default: false). + */ + publish?: boolean; + /** + * Whether a revert action should be performed when the page is updated + * (default: false). + */ + revert?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$Page; + } + class Resource$Pageviews { + root: Blogger; + constructor(root: Blogger); + getRoot(): Blogger; + /** + * blogger.pageViews.get + * @desc Retrieve pageview stats for a Blog. + * @alias blogger.pageViews.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.blogId The ID of the blog to get. + * @param {string=} params.range + * @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?: Params$Resource$Pageviews$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Pageviews$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Pageviews$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Pageviews$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the blog to get. + */ + blogId?: string; + /** + * + */ + range?: string; + } + class Resource$Posts { + root: Blogger; + constructor(root: Blogger); + getRoot(): Blogger; + /** + * blogger.posts.delete + * @desc Delete a post by ID. + * @alias blogger.posts.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.blogId The ID of the Blog. + * @param {string} params.postId The ID of the Post. + * @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?: Params$Resource$Posts$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Posts$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Posts$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * blogger.posts.get + * @desc Get a post by ID. + * @alias blogger.posts.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.blogId ID of the blog to fetch the post from. + * @param {boolean=} params.fetchBody Whether the body content of the post is included (default: true). This should be set to false when the post bodies are not required, to help minimize traffic. + * @param {boolean=} params.fetchImages Whether image URL metadata for each post is included (default: false). + * @param {integer=} params.maxComments Maximum number of comments to pull back on a post. + * @param {string} params.postId The ID of the post + * @param {string=} params.view Access level with which to view the returned result. Note that some fields require elevated access. + * @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?: Params$Resource$Posts$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Posts$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Posts$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * blogger.posts.getByPath + * @desc Retrieve a Post by Path. + * @alias blogger.posts.getByPath + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.blogId ID of the blog to fetch the post from. + * @param {integer=} params.maxComments Maximum number of comments to pull back on a post. + * @param {string} params.path Path of the Post to retrieve. + * @param {string=} params.view Access level with which to view the returned result. Note that some fields require elevated access. + * @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 + */ + getByPath(params?: Params$Resource$Posts$Getbypath, options?: MethodOptions): AxiosPromise; + getByPath(params: Params$Resource$Posts$Getbypath, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getByPath(params: Params$Resource$Posts$Getbypath, callback: BodyResponseCallback): void; + getByPath(callback: BodyResponseCallback): void; + /** + * blogger.posts.insert + * @desc Add a post. + * @alias blogger.posts.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.blogId ID of the blog to add the post to. + * @param {boolean=} params.fetchBody Whether the body content of the post is included with the result (default: true). + * @param {boolean=} params.fetchImages Whether image URL metadata for each post is included in the returned result (default: false). + * @param {boolean=} params.isDraft Whether to create the post as a draft (default: false). + * @param {().Post} 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?: Params$Resource$Posts$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Posts$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Posts$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * blogger.posts.list + * @desc Retrieves a list of posts, possibly filtered. + * @alias blogger.posts.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.blogId ID of the blog to fetch posts from. + * @param {string=} params.endDate Latest post date to fetch, a date-time with RFC 3339 formatting. + * @param {boolean=} params.fetchBodies Whether the body content of posts is included (default: true). This should be set to false when the post bodies are not required, to help minimize traffic. + * @param {boolean=} params.fetchImages Whether image URL metadata for each post is included. + * @param {string=} params.labels Comma-separated list of labels to search for. + * @param {integer=} params.maxResults Maximum number of posts to fetch. + * @param {string=} params.orderBy Sort search results + * @param {string=} params.pageToken Continuation token if the request is paged. + * @param {string=} params.startDate Earliest post date to fetch, a date-time with RFC 3339 formatting. + * @param {string=} params.status Statuses to include in the results. + * @param {string=} params.view Access level with which to view the returned result. Note that some fields require escalated access. + * @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?: Params$Resource$Posts$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Posts$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Posts$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * blogger.posts.patch + * @desc Update a post. This method supports patch semantics. + * @alias blogger.posts.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.blogId The ID of the Blog. + * @param {boolean=} params.fetchBody Whether the body content of the post is included with the result (default: true). + * @param {boolean=} params.fetchImages Whether image URL metadata for each post is included in the returned result (default: false). + * @param {integer=} params.maxComments Maximum number of comments to retrieve with the returned post. + * @param {string} params.postId The ID of the Post. + * @param {boolean=} params.publish Whether a publish action should be performed when the post is updated (default: false). + * @param {boolean=} params.revert Whether a revert action should be performed when the post is updated (default: false). + * @param {().Post} 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 + */ + patch(params?: Params$Resource$Posts$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Posts$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Posts$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * blogger.posts.publish + * @desc Publishes a draft post, optionally at the specific time of the + * given publishDate parameter. + * @alias blogger.posts.publish + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.blogId The ID of the Blog. + * @param {string} params.postId The ID of the Post. + * @param {string=} params.publishDate Optional date and time to schedule the publishing of the Blog. If no publishDate parameter is given, the post is either published at the a previously saved schedule date (if present), or the current time. If a future date is given, the post will be scheduled to be published. + * @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 + */ + publish(params?: Params$Resource$Posts$Publish, options?: MethodOptions): AxiosPromise; + publish(params: Params$Resource$Posts$Publish, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + publish(params: Params$Resource$Posts$Publish, callback: BodyResponseCallback): void; + publish(callback: BodyResponseCallback): void; + /** + * blogger.posts.revert + * @desc Revert a published or scheduled post to draft state. + * @alias blogger.posts.revert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.blogId The ID of the Blog. + * @param {string} params.postId The ID of the Post. + * @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 + */ + revert(params?: Params$Resource$Posts$Revert, options?: MethodOptions): AxiosPromise; + revert(params: Params$Resource$Posts$Revert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + revert(params: Params$Resource$Posts$Revert, callback: BodyResponseCallback): void; + revert(callback: BodyResponseCallback): void; + /** + * blogger.posts.search + * @desc Search for a post. + * @alias blogger.posts.search + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.blogId ID of the blog to fetch the post from. + * @param {boolean=} params.fetchBodies Whether the body content of posts is included (default: true). This should be set to false when the post bodies are not required, to help minimize traffic. + * @param {string=} params.orderBy Sort search results + * @param {string} params.q Query terms to search this blog for matching posts. + * @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 + */ + search(params?: Params$Resource$Posts$Search, options?: MethodOptions): AxiosPromise; + search(params: Params$Resource$Posts$Search, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + search(params: Params$Resource$Posts$Search, callback: BodyResponseCallback): void; + search(callback: BodyResponseCallback): void; + /** + * blogger.posts.update + * @desc Update a post. + * @alias blogger.posts.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.blogId The ID of the Blog. + * @param {boolean=} params.fetchBody Whether the body content of the post is included with the result (default: true). + * @param {boolean=} params.fetchImages Whether image URL metadata for each post is included in the returned result (default: false). + * @param {integer=} params.maxComments Maximum number of comments to retrieve with the returned post. + * @param {string} params.postId The ID of the Post. + * @param {boolean=} params.publish Whether a publish action should be performed when the post is updated (default: false). + * @param {boolean=} params.revert Whether a revert action should be performed when the post is updated (default: false). + * @param {().Post} 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?: Params$Resource$Posts$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Posts$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Posts$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Posts$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the Blog. + */ + blogId?: string; + /** + * The ID of the Post. + */ + postId?: string; + } + interface Params$Resource$Posts$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ID of the blog to fetch the post from. + */ + blogId?: string; + /** + * Whether the body content of the post is included (default: true). This + * should be set to false when the post bodies are not required, to help + * minimize traffic. + */ + fetchBody?: boolean; + /** + * Whether image URL metadata for each post is included (default: false). + */ + fetchImages?: boolean; + /** + * Maximum number of comments to pull back on a post. + */ + maxComments?: number; + /** + * The ID of the post + */ + postId?: string; + /** + * Access level with which to view the returned result. Note that some + * fields require elevated access. + */ + view?: string; + } + interface Params$Resource$Posts$Getbypath { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ID of the blog to fetch the post from. + */ + blogId?: string; + /** + * Maximum number of comments to pull back on a post. + */ + maxComments?: number; + /** + * Path of the Post to retrieve. + */ + path?: string; + /** + * Access level with which to view the returned result. Note that some + * fields require elevated access. + */ + view?: string; + } + interface Params$Resource$Posts$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ID of the blog to add the post to. + */ + blogId?: string; + /** + * Whether the body content of the post is included with the result + * (default: true). + */ + fetchBody?: boolean; + /** + * Whether image URL metadata for each post is included in the returned + * result (default: false). + */ + fetchImages?: boolean; + /** + * Whether to create the post as a draft (default: false). + */ + isDraft?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$Post; + } + interface Params$Resource$Posts$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ID of the blog to fetch posts from. + */ + blogId?: string; + /** + * Latest post date to fetch, a date-time with RFC 3339 formatting. + */ + endDate?: string; + /** + * Whether the body content of posts is included (default: true). This + * should be set to false when the post bodies are not required, to help + * minimize traffic. + */ + fetchBodies?: boolean; + /** + * Whether image URL metadata for each post is included. + */ + fetchImages?: boolean; + /** + * Comma-separated list of labels to search for. + */ + labels?: string; + /** + * Maximum number of posts to fetch. + */ + maxResults?: number; + /** + * Sort search results + */ + orderBy?: string; + /** + * Continuation token if the request is paged. + */ + pageToken?: string; + /** + * Earliest post date to fetch, a date-time with RFC 3339 formatting. + */ + startDate?: string; + /** + * Statuses to include in the results. + */ + status?: string; + /** + * Access level with which to view the returned result. Note that some + * fields require escalated access. + */ + view?: string; + } + interface Params$Resource$Posts$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the Blog. + */ + blogId?: string; + /** + * Whether the body content of the post is included with the result + * (default: true). + */ + fetchBody?: boolean; + /** + * Whether image URL metadata for each post is included in the returned + * result (default: false). + */ + fetchImages?: boolean; + /** + * Maximum number of comments to retrieve with the returned post. + */ + maxComments?: number; + /** + * The ID of the Post. + */ + postId?: string; + /** + * Whether a publish action should be performed when the post is updated + * (default: false). + */ + publish?: boolean; + /** + * Whether a revert action should be performed when the post is updated + * (default: false). + */ + revert?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$Post; + } + interface Params$Resource$Posts$Publish { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the Blog. + */ + blogId?: string; + /** + * The ID of the Post. + */ + postId?: string; + /** + * Optional date and time to schedule the publishing of the Blog. If no + * publishDate parameter is given, the post is either published at the a + * previously saved schedule date (if present), or the current time. If a + * future date is given, the post will be scheduled to be published. + */ + publishDate?: string; + } + interface Params$Resource$Posts$Revert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the Blog. + */ + blogId?: string; + /** + * The ID of the Post. + */ + postId?: string; + } + interface Params$Resource$Posts$Search { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ID of the blog to fetch the post from. + */ + blogId?: string; + /** + * Whether the body content of posts is included (default: true). This + * should be set to false when the post bodies are not required, to help + * minimize traffic. + */ + fetchBodies?: boolean; + /** + * Sort search results + */ + orderBy?: string; + /** + * Query terms to search this blog for matching posts. + */ + q?: string; + } + interface Params$Resource$Posts$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the Blog. + */ + blogId?: string; + /** + * Whether the body content of the post is included with the result + * (default: true). + */ + fetchBody?: boolean; + /** + * Whether image URL metadata for each post is included in the returned + * result (default: false). + */ + fetchImages?: boolean; + /** + * Maximum number of comments to retrieve with the returned post. + */ + maxComments?: number; + /** + * The ID of the Post. + */ + postId?: string; + /** + * Whether a publish action should be performed when the post is updated + * (default: false). + */ + publish?: boolean; + /** + * Whether a revert action should be performed when the post is updated + * (default: false). + */ + revert?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$Post; + } + class Resource$Postuserinfos { + root: Blogger; + constructor(root: Blogger); + getRoot(): Blogger; + /** + * blogger.postUserInfos.get + * @desc Gets one post and user info pair, by post ID and user ID. The post + * user info contains per-user information about the post, such as access + * rights, specific to the user. + * @alias blogger.postUserInfos.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.blogId The ID of the blog. + * @param {integer=} params.maxComments Maximum number of comments to pull back on a post. + * @param {string} params.postId The ID of the post to get. + * @param {string} params.userId ID of the user for the per-user information to be fetched. Either the word 'self' (sans quote marks) or the user's profile identifier. + * @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?: Params$Resource$Postuserinfos$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Postuserinfos$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Postuserinfos$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * blogger.postUserInfos.list + * @desc Retrieves a list of post and post user info pairs, possibly + * filtered. The post user info contains per-user information about the + * post, such as access rights, specific to the user. + * @alias blogger.postUserInfos.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.blogId ID of the blog to fetch posts from. + * @param {string=} params.endDate Latest post date to fetch, a date-time with RFC 3339 formatting. + * @param {boolean=} params.fetchBodies Whether the body content of posts is included. Default is false. + * @param {string=} params.labels Comma-separated list of labels to search for. + * @param {integer=} params.maxResults Maximum number of posts to fetch. + * @param {string=} params.orderBy Sort order applied to search results. Default is published. + * @param {string=} params.pageToken Continuation token if the request is paged. + * @param {string=} params.startDate Earliest post date to fetch, a date-time with RFC 3339 formatting. + * @param {string=} params.status + * @param {string} params.userId ID of the user for the per-user information to be fetched. Either the word 'self' (sans quote marks) or the user's profile identifier. + * @param {string=} params.view Access level with which to view the returned result. Note that some fields require elevated access. + * @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?: Params$Resource$Postuserinfos$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Postuserinfos$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Postuserinfos$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Postuserinfos$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the blog. + */ + blogId?: string; + /** + * Maximum number of comments to pull back on a post. + */ + maxComments?: number; + /** + * The ID of the post to get. + */ + postId?: string; + /** + * ID of the user for the per-user information to be fetched. Either the + * word 'self' (sans quote marks) or the user's profile identifier. + */ + userId?: string; + } + interface Params$Resource$Postuserinfos$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ID of the blog to fetch posts from. + */ + blogId?: string; + /** + * Latest post date to fetch, a date-time with RFC 3339 formatting. + */ + endDate?: string; + /** + * Whether the body content of posts is included. Default is false. + */ + fetchBodies?: boolean; + /** + * Comma-separated list of labels to search for. + */ + labels?: string; + /** + * Maximum number of posts to fetch. + */ + maxResults?: number; + /** + * Sort order applied to search results. Default is published. + */ + orderBy?: string; + /** + * Continuation token if the request is paged. + */ + pageToken?: string; + /** + * Earliest post date to fetch, a date-time with RFC 3339 formatting. + */ + startDate?: string; + /** + * + */ + status?: string; + /** + * ID of the user for the per-user information to be fetched. Either the + * word 'self' (sans quote marks) or the user's profile identifier. + */ + userId?: string; + /** + * Access level with which to view the returned result. Note that some + * fields require elevated access. + */ + view?: string; + } + class Resource$Users { + root: Blogger; + constructor(root: Blogger); + getRoot(): Blogger; + /** + * blogger.users.get + * @desc Gets one user by ID. + * @alias blogger.users.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.userId The ID of the user to get. + * @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?: Params$Resource$Users$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Users$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Users$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Users$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the user to get. + */ + userId?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/blogger/v3.js b/express-server/node_modules/googleapis/build/src/apis/blogger/v3.js new file mode 100644 index 00000000..e6db16f8 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/blogger/v3.js @@ -0,0 +1,1174 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var blogger_v3; +(function (blogger_v3) { + /** + * Blogger API + * + * API for access to the data within Blogger. + * + * @example + * const {google} = require('googleapis'); + * const blogger = google.blogger('v3'); + * + * @namespace blogger + * @type {Function} + * @version v3 + * @variation v3 + * @param {object=} options Options for Blogger + */ + class Blogger { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.blogs = new Resource$Blogs(this); + this.blogUserInfos = new Resource$Bloguserinfos(this); + this.comments = new Resource$Comments(this); + this.pages = new Resource$Pages(this); + this.pageViews = new Resource$Pageviews(this); + this.posts = new Resource$Posts(this); + this.postUserInfos = new Resource$Postuserinfos(this); + this.users = new Resource$Users(this); + } + getRoot() { + return this.root; + } + } + blogger_v3.Blogger = Blogger; + class Resource$Blogs { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/blogger/v3/blogs/{blogId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['blogId'], + pathParams: ['blogId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getByUrl(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/blogger/v3/blogs/byurl') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['url'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listByUser(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/blogger/v3/users/{userId}/blogs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userId'], + pathParams: ['userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + blogger_v3.Resource$Blogs = Resource$Blogs; + class Resource$Bloguserinfos { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/blogger/v3/users/{userId}/blogs/{blogId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userId', 'blogId'], + pathParams: ['blogId', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + blogger_v3.Resource$Bloguserinfos = Resource$Bloguserinfos; + class Resource$Comments { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + approve(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/blogger/v3/blogs/{blogId}/posts/{postId}/comments/{commentId}/approve') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['blogId', 'postId', 'commentId'], + pathParams: ['blogId', 'commentId', 'postId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/blogger/v3/blogs/{blogId}/posts/{postId}/comments/{commentId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['blogId', 'postId', 'commentId'], + pathParams: ['blogId', 'commentId', 'postId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/blogger/v3/blogs/{blogId}/posts/{postId}/comments/{commentId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['blogId', 'postId', 'commentId'], + pathParams: ['blogId', 'commentId', 'postId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/blogger/v3/blogs/{blogId}/posts/{postId}/comments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['blogId', 'postId'], + pathParams: ['blogId', 'postId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listByBlog(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/blogger/v3/blogs/{blogId}/comments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['blogId'], + pathParams: ['blogId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + markAsSpam(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/blogger/v3/blogs/{blogId}/posts/{postId}/comments/{commentId}/spam') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['blogId', 'postId', 'commentId'], + pathParams: ['blogId', 'commentId', 'postId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + removeContent(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/blogger/v3/blogs/{blogId}/posts/{postId}/comments/{commentId}/removecontent') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['blogId', 'postId', 'commentId'], + pathParams: ['blogId', 'commentId', 'postId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + blogger_v3.Resource$Comments = Resource$Comments; + class Resource$Pages { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/blogger/v3/blogs/{blogId}/pages/{pageId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['blogId', 'pageId'], + pathParams: ['blogId', 'pageId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/blogger/v3/blogs/{blogId}/pages/{pageId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['blogId', 'pageId'], + pathParams: ['blogId', 'pageId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/blogger/v3/blogs/{blogId}/pages') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['blogId'], + pathParams: ['blogId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/blogger/v3/blogs/{blogId}/pages') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['blogId'], + pathParams: ['blogId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/blogger/v3/blogs/{blogId}/pages/{pageId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['blogId', 'pageId'], + pathParams: ['blogId', 'pageId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + publish(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/blogger/v3/blogs/{blogId}/pages/{pageId}/publish') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['blogId', 'pageId'], + pathParams: ['blogId', 'pageId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + revert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/blogger/v3/blogs/{blogId}/pages/{pageId}/revert') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['blogId', 'pageId'], + pathParams: ['blogId', 'pageId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/blogger/v3/blogs/{blogId}/pages/{pageId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['blogId', 'pageId'], + pathParams: ['blogId', 'pageId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + blogger_v3.Resource$Pages = Resource$Pages; + class Resource$Pageviews { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/blogger/v3/blogs/{blogId}/pageviews') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['blogId'], + pathParams: ['blogId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + blogger_v3.Resource$Pageviews = Resource$Pageviews; + class Resource$Posts { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/blogger/v3/blogs/{blogId}/posts/{postId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['blogId', 'postId'], + pathParams: ['blogId', 'postId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/blogger/v3/blogs/{blogId}/posts/{postId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['blogId', 'postId'], + pathParams: ['blogId', 'postId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getByPath(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/blogger/v3/blogs/{blogId}/posts/bypath') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['blogId', 'path'], + pathParams: ['blogId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/blogger/v3/blogs/{blogId}/posts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['blogId'], + pathParams: ['blogId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/blogger/v3/blogs/{blogId}/posts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['blogId'], + pathParams: ['blogId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/blogger/v3/blogs/{blogId}/posts/{postId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['blogId', 'postId'], + pathParams: ['blogId', 'postId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + publish(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/blogger/v3/blogs/{blogId}/posts/{postId}/publish') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['blogId', 'postId'], + pathParams: ['blogId', 'postId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + revert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/blogger/v3/blogs/{blogId}/posts/{postId}/revert') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['blogId', 'postId'], + pathParams: ['blogId', 'postId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + search(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/blogger/v3/blogs/{blogId}/posts/search') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['blogId', 'q'], + pathParams: ['blogId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/blogger/v3/blogs/{blogId}/posts/{postId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['blogId', 'postId'], + pathParams: ['blogId', 'postId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + blogger_v3.Resource$Posts = Resource$Posts; + class Resource$Postuserinfos { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/blogger/v3/users/{userId}/blogs/{blogId}/posts/{postId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userId', 'blogId', 'postId'], + pathParams: ['blogId', 'postId', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/blogger/v3/users/{userId}/blogs/{blogId}/posts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userId', 'blogId'], + pathParams: ['blogId', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + blogger_v3.Resource$Postuserinfos = Resource$Postuserinfos; + class Resource$Users { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/blogger/v3/users/{userId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userId'], + pathParams: ['userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + blogger_v3.Resource$Users = Resource$Users; +})(blogger_v3 = exports.blogger_v3 || (exports.blogger_v3 = {})); +//# sourceMappingURL=v3.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/blogger/v3.js.map b/express-server/node_modules/googleapis/build/src/apis/blogger/v3.js.map new file mode 100644 index 00000000..67ccd67a --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/blogger/v3.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v3.js","sourceRoot":"","sources":["../../../../src/apis/blogger/v3.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/books/README.md b/express-server/node_modules/googleapis/build/src/apis/books/README.md new file mode 100644 index 00000000..2e46e9d3 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/books/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/books + +> Searches for books and manages your Google Books library. + +## Installation + +```sh +$ npm install @google/books +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/books/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/books/index.d.ts new file mode 100644 index 00000000..6b40b15a --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/books/index.d.ts @@ -0,0 +1,6 @@ +import { books_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof books_v1.Books; +}; +export declare function books(version: 'v1'): books_v1.Books; +export declare function books(options: books_v1.Options): books_v1.Books; diff --git a/express-server/node_modules/googleapis/build/src/apis/books/index.js b/express-server/node_modules/googleapis/build/src/apis/books/index.js new file mode 100644 index 00000000..12d0602c --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/books/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.books_v1.Books, +}; +function books(versionOrOptions) { + return googleapis_common_1.getAPI('books', versionOrOptions, exports.VERSIONS, this); +} +exports.books = books; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/books/index.js.map b/express-server/node_modules/googleapis/build/src/apis/books/index.js.map new file mode 100644 index 00000000..1a18241f --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/books/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/books/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAA8B;AAEjB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,aAAQ,CAAC,KAAK;CACrB,CAAC;AAIF,SAAgB,KAAK,CACS,gBAAuC;IACnE,OAAO,0BAAM,CAAI,OAAO,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAC9D,CAAC;AAHD,sBAGC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/books/package.json b/express-server/node_modules/googleapis/build/src/apis/books/package.json new file mode 100644 index 00000000..7afd18b0 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/books/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/books", + "version": "0.1.0", + "description": "books", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/books/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/books/v1.d.ts new file mode 100644 index 00000000..3644a35a --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/books/v1.d.ts @@ -0,0 +1,3279 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace books_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Books API + * + * Searches for books and manages your Google Books library. + * + * @example + * const {google} = require('googleapis'); + * const books = google.books('v1'); + * + * @namespace books + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Books + */ + class Books { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + bookshelves: Resource$Bookshelves; + cloudloading: Resource$Cloudloading; + dictionary: Resource$Dictionary; + familysharing: Resource$Familysharing; + layers: Resource$Layers; + myconfig: Resource$Myconfig; + mylibrary: Resource$Mylibrary; + notification: Resource$Notification; + onboarding: Resource$Onboarding; + personalizedstream: Resource$Personalizedstream; + promooffer: Resource$Promooffer; + series: Resource$Series; + volumes: Resource$Volumes; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + interface Schema$Annotation { + /** + * Anchor text after excerpt. For requests, if the user bookmarked a screen + * that has no flowing text on it, then this field should be empty. + */ + afterSelectedText?: string; + /** + * Anchor text before excerpt. For requests, if the user bookmarked a screen + * that has no flowing text on it, then this field should be empty. + */ + beforeSelectedText?: string; + /** + * Selection ranges sent from the client. + */ + clientVersionRanges?: any; + /** + * Timestamp for the created time of this annotation. + */ + created?: string; + /** + * Selection ranges for the most recent content version. + */ + currentVersionRanges?: any; + /** + * User-created data for this annotation. + */ + data?: string; + /** + * Indicates that this annotation is deleted. + */ + deleted?: boolean; + /** + * The highlight style for this annotation. + */ + highlightStyle?: string; + /** + * Id of this annotation, in the form of a GUID. + */ + id?: string; + /** + * Resource type. + */ + kind?: string; + /** + * The layer this annotation is for. + */ + layerId?: string; + layerSummary?: any; + /** + * Pages that this annotation spans. + */ + pageIds?: string[]; + /** + * Excerpt from the volume. + */ + selectedText?: string; + /** + * URL to this resource. + */ + selfLink?: string; + /** + * Timestamp for the last time this annotation was modified. + */ + updated?: string; + /** + * The volume that this annotation belongs to. + */ + volumeId?: string; + } + interface Schema$Annotationdata { + /** + * The type of annotation this data is for. + */ + annotationType?: string; + data?: any; + /** + * Base64 encoded data for this annotation data. + */ + encoded_data?: string; + /** + * Unique id for this annotation data. + */ + id?: string; + /** + * Resource Type + */ + kind?: string; + /** + * The Layer id for this data. * + */ + layerId?: string; + /** + * URL for this resource. * + */ + selfLink?: string; + /** + * Timestamp for the last time this data was updated. (RFC 3339 UTC + * date-time format). + */ + updated?: string; + /** + * The volume id for this data. * + */ + volumeId?: string; + } + interface Schema$Annotations { + /** + * A list of annotations. + */ + items?: Schema$Annotation[]; + /** + * Resource type. + */ + kind?: string; + /** + * Token to pass in for pagination for the next page. This will not be + * present if this request does not have more results. + */ + nextPageToken?: string; + /** + * Total number of annotations found. This may be greater than the number of + * notes returned in this response if results have been paginated. + */ + totalItems?: number; + } + interface Schema$Annotationsdata { + /** + * A list of Annotation Data. + */ + items?: Schema$Annotationdata[]; + /** + * Resource type + */ + kind?: string; + /** + * Token to pass in for pagination for the next page. This will not be + * present if this request does not have more results. + */ + nextPageToken?: string; + /** + * The total number of volume annotations found. + */ + totalItems?: number; + } + interface Schema$AnnotationsSummary { + kind?: string; + layers?: any[]; + } + interface Schema$BooksAnnotationsRange { + /** + * The offset from the ending position. + */ + endOffset?: string; + /** + * The ending position for the range. + */ + endPosition?: string; + /** + * The offset from the starting position. + */ + startOffset?: string; + /** + * The starting position for the range. + */ + startPosition?: string; + } + interface Schema$BooksCloudloadingResource { + author?: string; + processingState?: string; + title?: string; + volumeId?: string; + } + interface Schema$Bookshelf { + /** + * Whether this bookshelf is PUBLIC or PRIVATE. + */ + access?: string; + /** + * Created time for this bookshelf (formatted UTC timestamp with millisecond + * resolution). + */ + created?: string; + /** + * Description of this bookshelf. + */ + description?: string; + /** + * Id of this bookshelf, only unique by user. + */ + id?: number; + /** + * Resource type for bookshelf metadata. + */ + kind?: string; + /** + * URL to this resource. + */ + selfLink?: string; + /** + * Title of this bookshelf. + */ + title?: string; + /** + * Last modified time of this bookshelf (formatted UTC timestamp with + * millisecond resolution). + */ + updated?: string; + /** + * Number of volumes in this bookshelf. + */ + volumeCount?: number; + /** + * Last time a volume was added or removed from this bookshelf (formatted + * UTC timestamp with millisecond resolution). + */ + volumesLastUpdated?: string; + } + interface Schema$Bookshelves { + /** + * A list of bookshelves. + */ + items?: Schema$Bookshelf[]; + /** + * Resource type. + */ + kind?: string; + } + interface Schema$BooksVolumesRecommendedRateResponse { + consistency_token?: string; + } + interface Schema$Category { + /** + * A list of onboarding categories. + */ + items?: any[]; + /** + * Resource type. + */ + kind?: string; + } + interface Schema$ConcurrentAccessRestriction { + /** + * Whether access is granted for this (user, device, volume). + */ + deviceAllowed?: boolean; + /** + * Resource type. + */ + kind?: string; + /** + * The maximum number of concurrent access licenses for this volume. + */ + maxConcurrentDevices?: number; + /** + * Error/warning message. + */ + message?: string; + /** + * Client nonce for verification. Download access and client-validation + * only. + */ + nonce?: string; + /** + * Error/warning reason code. + */ + reasonCode?: string; + /** + * Whether this volume has any concurrent access restrictions. + */ + restricted?: boolean; + /** + * Response signature. + */ + signature?: string; + /** + * Client app identifier for verification. Download access and + * client-validation only. + */ + source?: string; + /** + * Time in seconds for license auto-expiration. + */ + timeWindowSeconds?: number; + /** + * Identifies the volume for which this entry applies. + */ + volumeId?: string; + } + interface Schema$Dictlayerdata { + common?: any; + dict?: any; + kind?: string; + } + interface Schema$Discoveryclusters { + clusters?: any[]; + /** + * Resorce type. + */ + kind?: string; + totalClusters?: number; + } + interface Schema$DownloadAccesses { + /** + * A list of download access responses. + */ + downloadAccessList?: Schema$DownloadAccessRestriction[]; + /** + * Resource type. + */ + kind?: string; + } + interface Schema$DownloadAccessRestriction { + /** + * If restricted, whether access is granted for this (user, device, volume). + */ + deviceAllowed?: boolean; + /** + * If restricted, the number of content download licenses already acquired + * (including the requesting client, if licensed). + */ + downloadsAcquired?: number; + /** + * If deviceAllowed, whether access was just acquired with this request. + */ + justAcquired?: boolean; + /** + * Resource type. + */ + kind?: string; + /** + * If restricted, the maximum number of content download licenses for this + * volume. + */ + maxDownloadDevices?: number; + /** + * Error/warning message. + */ + message?: string; + /** + * Client nonce for verification. Download access and client-validation + * only. + */ + nonce?: string; + /** + * Error/warning reason code. Additional codes may be added in the future. 0 + * OK 100 ACCESS_DENIED_PUBLISHER_LIMIT 101 ACCESS_DENIED_LIMIT 200 + * WARNING_USED_LAST_ACCESS + */ + reasonCode?: string; + /** + * Whether this volume has any download access restrictions. + */ + restricted?: boolean; + /** + * Response signature. + */ + signature?: string; + /** + * Client app identifier for verification. Download access and + * client-validation only. + */ + source?: string; + /** + * Identifies the volume for which this entry applies. + */ + volumeId?: string; + } + interface Schema$FamilyInfo { + /** + * Resource type. + */ + kind?: string; + /** + * Family membership info of the user that made the request. + */ + membership?: any; + } + interface Schema$Geolayerdata { + common?: any; + geo?: any; + kind?: string; + } + interface Schema$Layersummaries { + /** + * A list of layer summary items. + */ + items?: Schema$Layersummary[]; + /** + * Resource type. + */ + kind?: string; + /** + * The total number of layer summaries found. + */ + totalItems?: number; + } + interface Schema$Layersummary { + /** + * The number of annotations for this layer. + */ + annotationCount?: number; + /** + * Link to get data for this annotation. + */ + annotationsDataLink?: string; + /** + * The link to get the annotations for this layer. + */ + annotationsLink?: string; + /** + * The list of annotation types contained for this layer. + */ + annotationTypes?: string[]; + /** + * The content version this resource is for. + */ + contentVersion?: string; + /** + * The number of data items for this layer. + */ + dataCount?: number; + /** + * Unique id of this layer summary. + */ + id?: string; + /** + * Resource Type + */ + kind?: string; + /** + * The layer id for this summary. + */ + layerId?: string; + /** + * URL to this resource. + */ + selfLink?: string; + /** + * Timestamp for the last time an item in this layer was updated. (RFC 3339 + * UTC date-time format). + */ + updated?: string; + /** + * The current version of this layer's volume annotations. Note that + * this version applies only to the data in the + * books.layers.volumeAnnotations.* responses. The actual annotation data is + * versioned separately. + */ + volumeAnnotationsVersion?: string; + /** + * The volume id this resource is for. + */ + volumeId?: string; + } + interface Schema$Metadata { + /** + * A list of offline dictionary metadata. + */ + items?: any[]; + /** + * Resource type. + */ + kind?: string; + } + interface Schema$Notification { + body?: string; + /** + * The list of crm experiment ids. + */ + crmExperimentIds?: string[]; + doc_id?: string; + doc_type?: string; + dont_show_notification?: boolean; + iconUrl?: string; + is_document_mature?: boolean; + /** + * Resource type. + */ + kind?: string; + notificationGroup?: string; + notification_type?: string; + pcampaign_id?: string; + reason?: string; + show_notification_settings_action?: boolean; + targetUrl?: string; + title?: string; + } + interface Schema$Offers { + /** + * A list of offers. + */ + items?: any[]; + /** + * Resource type. + */ + kind?: string; + } + interface Schema$ReadingPosition { + /** + * Position in an EPUB as a CFI. + */ + epubCfiPosition?: string; + /** + * Position in a volume for image-based content. + */ + gbImagePosition?: string; + /** + * Position in a volume for text-based content. + */ + gbTextPosition?: string; + /** + * Resource type for a reading position. + */ + kind?: string; + /** + * Position in a PDF file. + */ + pdfPosition?: string; + /** + * Timestamp when this reading position was last updated (formatted UTC + * timestamp with millisecond resolution). + */ + updated?: string; + /** + * Volume id associated with this reading position. + */ + volumeId?: string; + } + interface Schema$RequestAccess { + /** + * A concurrent access response. + */ + concurrentAccess?: Schema$ConcurrentAccessRestriction; + /** + * A download access response. + */ + downloadAccess?: Schema$DownloadAccessRestriction; + /** + * Resource type. + */ + kind?: string; + } + interface Schema$Review { + /** + * Author of this review. + */ + author?: any; + /** + * Review text. + */ + content?: string; + /** + * Date of this review. + */ + date?: string; + /** + * URL for the full review text, for reviews gathered from the web. + */ + fullTextUrl?: string; + /** + * Resource type for a review. + */ + kind?: string; + /** + * Star rating for this review. Possible values are ONE, TWO, THREE, FOUR, + * FIVE or NOT_RATED. + */ + rating?: string; + /** + * Information regarding the source of this review, when the review is not + * from a Google Books user. + */ + source?: any; + /** + * Title for this review. + */ + title?: string; + /** + * Source type for this review. Possible values are EDITORIAL, WEB_USER or + * GOOGLE_USER. + */ + type?: string; + /** + * Volume that this review is for. + */ + volumeId?: string; + } + interface Schema$Series { + /** + * Resource type. + */ + kind?: string; + series?: any[]; + } + interface Schema$Seriesmembership { + /** + * Resorce type. + */ + kind?: string; + member?: Schema$Volume[]; + nextPageToken?: string; + } + interface Schema$Usersettings { + /** + * Resource type. + */ + kind?: string; + /** + * User settings in sub-objects, each for different purposes. + */ + notesExport?: any; + notification?: any; + } + interface Schema$Volume { + /** + * Any information about a volume related to reading or obtaining that + * volume text. This information can depend on country (books may be public + * domain in one country but not in another, e.g.). + */ + accessInfo?: any; + /** + * Opaque identifier for a specific version of a volume resource. (In LITE + * projection) + */ + etag?: string; + /** + * Unique identifier for a volume. (In LITE projection.) + */ + id?: string; + /** + * Resource type for a volume. (In LITE projection.) + */ + kind?: string; + /** + * What layers exist in this volume and high level information about them. + */ + layerInfo?: any; + /** + * Recommendation related information for this volume. + */ + recommendedInfo?: any; + /** + * Any information about a volume related to the eBookstore and/or + * purchaseability. This information can depend on the country where the + * request originates from (i.e. books may not be for sale in certain + * countries). + */ + saleInfo?: any; + /** + * Search result information related to this volume. + */ + searchInfo?: any; + /** + * URL to this resource. (In LITE projection.) + */ + selfLink?: string; + /** + * User specific information related to this volume. (e.g. page this user + * last read or whether they purchased this book) + */ + userInfo?: any; + /** + * General volume information. + */ + volumeInfo?: any; + } + interface Schema$Volume2 { + /** + * A list of volumes. + */ + items?: Schema$Volume[]; + /** + * Resource type. + */ + kind?: string; + nextPageToken?: string; + } + interface Schema$Volumeannotation { + /** + * The annotation data id for this volume annotation. + */ + annotationDataId?: string; + /** + * Link to get data for this annotation. + */ + annotationDataLink?: string; + /** + * The type of annotation this is. + */ + annotationType?: string; + /** + * The content ranges to identify the selected text. + */ + contentRanges?: any; + /** + * Data for this annotation. + */ + data?: string; + /** + * Indicates that this annotation is deleted. + */ + deleted?: boolean; + /** + * Unique id of this volume annotation. + */ + id?: string; + /** + * Resource Type + */ + kind?: string; + /** + * The Layer this annotation is for. + */ + layerId?: string; + /** + * Pages the annotation spans. + */ + pageIds?: string[]; + /** + * Excerpt from the volume. + */ + selectedText?: string; + /** + * URL to this resource. + */ + selfLink?: string; + /** + * Timestamp for the last time this anntoation was updated. (RFC 3339 UTC + * date-time format). + */ + updated?: string; + /** + * The Volume this annotation is for. + */ + volumeId?: string; + } + interface Schema$Volumeannotations { + /** + * A list of volume annotations. + */ + items?: Schema$Volumeannotation[]; + /** + * Resource type + */ + kind?: string; + /** + * Token to pass in for pagination for the next page. This will not be + * present if this request does not have more results. + */ + nextPageToken?: string; + /** + * The total number of volume annotations found. + */ + totalItems?: number; + /** + * The version string for all of the volume annotations in this layer (not + * just the ones in this response). Note: the version string doesn't + * apply to the annotation data, just the information in this response (e.g. + * the location of annotations in the book). + */ + version?: string; + } + interface Schema$Volumes { + /** + * A list of volumes. + */ + items?: Schema$Volume[]; + /** + * Resource type. + */ + kind?: string; + /** + * Total number of volumes found. This might be greater than the number of + * volumes returned in this response if results have been paginated. + */ + totalItems?: number; + } + interface Schema$Volumeseriesinfo { + /** + * The display number string. This should be used only for display purposes + * and the actual sequence should be inferred from the below orderNumber. + */ + bookDisplayNumber?: string; + /** + * Resource type. + */ + kind?: string; + /** + * Short book title in the context of the series. + */ + shortSeriesBookTitle?: string; + volumeSeries?: any[]; + } + class Resource$Bookshelves { + root: Books; + volumes: Resource$Bookshelves$Volumes; + constructor(root: Books); + getRoot(): Books; + /** + * books.bookshelves.get + * @desc Retrieves metadata for a specific bookshelf for the specified user. + * @alias books.bookshelves.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.shelf ID of bookshelf to retrieve. + * @param {string=} params.source String to identify the originator of this request. + * @param {string} params.userId ID of user for whom to retrieve bookshelves. + * @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?: Params$Resource$Bookshelves$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Bookshelves$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Bookshelves$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * books.bookshelves.list + * @desc Retrieves a list of public bookshelves for the specified user. + * @alias books.bookshelves.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.source String to identify the originator of this request. + * @param {string} params.userId ID of user for whom to retrieve bookshelves. + * @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?: Params$Resource$Bookshelves$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Bookshelves$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Bookshelves$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Bookshelves$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ID of bookshelf to retrieve. + */ + shelf?: string; + /** + * String to identify the originator of this request. + */ + source?: string; + /** + * ID of user for whom to retrieve bookshelves. + */ + userId?: string; + } + interface Params$Resource$Bookshelves$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * String to identify the originator of this request. + */ + source?: string; + /** + * ID of user for whom to retrieve bookshelves. + */ + userId?: string; + } + class Resource$Bookshelves$Volumes { + root: Books; + constructor(root: Books); + getRoot(): Books; + /** + * books.bookshelves.volumes.list + * @desc Retrieves volumes in a specific bookshelf for the specified user. + * @alias books.bookshelves.volumes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.maxResults Maximum number of results to return + * @param {string} params.shelf ID of bookshelf to retrieve volumes. + * @param {boolean=} params.showPreorders Set to true to show pre-ordered books. Defaults to false. + * @param {string=} params.source String to identify the originator of this request. + * @param {integer=} params.startIndex Index of the first element to return (starts at 0) + * @param {string} params.userId ID of user for whom to retrieve bookshelf volumes. + * @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?: Params$Resource$Bookshelves$Volumes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Bookshelves$Volumes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Bookshelves$Volumes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Bookshelves$Volumes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Maximum number of results to return + */ + maxResults?: number; + /** + * ID of bookshelf to retrieve volumes. + */ + shelf?: string; + /** + * Set to true to show pre-ordered books. Defaults to false. + */ + showPreorders?: boolean; + /** + * String to identify the originator of this request. + */ + source?: string; + /** + * Index of the first element to return (starts at 0) + */ + startIndex?: number; + /** + * ID of user for whom to retrieve bookshelf volumes. + */ + userId?: string; + } + class Resource$Cloudloading { + root: Books; + constructor(root: Books); + getRoot(): Books; + /** + * books.cloudloading.addBook + * @alias books.cloudloading.addBook + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {string=} params.drive_document_id A drive document id. The upload_client_token must not be set. + * @param {string=} params.mime_type The document MIME type. It can be set only if the drive_document_id is set. + * @param {string=} params.name The document name. It can be set only if the drive_document_id is set. + * @param {string=} params.upload_client_token + * @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 + */ + addBook(params?: Params$Resource$Cloudloading$Addbook, options?: MethodOptions): AxiosPromise; + addBook(params: Params$Resource$Cloudloading$Addbook, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + addBook(params: Params$Resource$Cloudloading$Addbook, callback: BodyResponseCallback): void; + addBook(callback: BodyResponseCallback): void; + /** + * books.cloudloading.deleteBook + * @desc Remove the book and its contents + * @alias books.cloudloading.deleteBook + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.volumeId The id of the book to be removed. + * @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 + */ + deleteBook(params?: Params$Resource$Cloudloading$Deletebook, options?: MethodOptions): AxiosPromise; + deleteBook(params: Params$Resource$Cloudloading$Deletebook, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + deleteBook(params: Params$Resource$Cloudloading$Deletebook, callback: BodyResponseCallback): void; + deleteBook(callback: BodyResponseCallback): void; + /** + * books.cloudloading.updateBook + * @alias books.cloudloading.updateBook + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().BooksCloudloadingResource} 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 + */ + updateBook(params?: Params$Resource$Cloudloading$Updatebook, options?: MethodOptions): AxiosPromise; + updateBook(params: Params$Resource$Cloudloading$Updatebook, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + updateBook(params: Params$Resource$Cloudloading$Updatebook, callback: BodyResponseCallback): void; + updateBook(callback: BodyResponseCallback): void; + } + interface Params$Resource$Cloudloading$Addbook { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A drive document id. The upload_client_token must not be set. + */ + drive_document_id?: string; + /** + * The document MIME type. It can be set only if the drive_document_id is + * set. + */ + mime_type?: string; + /** + * The document name. It can be set only if the drive_document_id is set. + */ + name?: string; + /** + * + */ + upload_client_token?: string; + } + interface Params$Resource$Cloudloading$Deletebook { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The id of the book to be removed. + */ + volumeId?: string; + } + interface Params$Resource$Cloudloading$Updatebook { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$BooksCloudloadingResource; + } + class Resource$Dictionary { + root: Books; + constructor(root: Books); + getRoot(): Books; + /** + * books.dictionary.listOfflineMetadata + * @desc Returns a list of offline dictionary metadata available + * @alias books.dictionary.listOfflineMetadata + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.cpksver The device/version ID from which to request the 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 + */ + listOfflineMetadata(params?: Params$Resource$Dictionary$Listofflinemetadata, options?: MethodOptions): AxiosPromise; + listOfflineMetadata(params: Params$Resource$Dictionary$Listofflinemetadata, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listOfflineMetadata(params: Params$Resource$Dictionary$Listofflinemetadata, callback: BodyResponseCallback): void; + listOfflineMetadata(callback: BodyResponseCallback): void; + } + interface Params$Resource$Dictionary$Listofflinemetadata { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The device/version ID from which to request the data. + */ + cpksver?: string; + } + class Resource$Familysharing { + root: Books; + constructor(root: Books); + getRoot(): Books; + /** + * books.familysharing.getFamilyInfo + * @desc Gets information regarding the family that the user is part of. + * @alias books.familysharing.getFamilyInfo + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {string=} params.source String to identify the originator of this request. + * @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 + */ + getFamilyInfo(params?: Params$Resource$Familysharing$Getfamilyinfo, options?: MethodOptions): AxiosPromise; + getFamilyInfo(params: Params$Resource$Familysharing$Getfamilyinfo, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getFamilyInfo(params: Params$Resource$Familysharing$Getfamilyinfo, callback: BodyResponseCallback): void; + getFamilyInfo(callback: BodyResponseCallback): void; + /** + * books.familysharing.share + * @desc Initiates sharing of the content with the user's family. Empty + * response indicates success. + * @alias books.familysharing.share + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {string=} params.docId The docid to share. + * @param {string=} params.source String to identify the originator of this request. + * @param {string=} params.volumeId The volume to share. + * @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 + */ + share(params?: Params$Resource$Familysharing$Share, options?: MethodOptions): AxiosPromise; + share(params: Params$Resource$Familysharing$Share, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + share(params: Params$Resource$Familysharing$Share, callback: BodyResponseCallback): void; + share(callback: BodyResponseCallback): void; + /** + * books.familysharing.unshare + * @desc Initiates revoking content that has already been shared with the + * user's family. Empty response indicates success. + * @alias books.familysharing.unshare + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {string=} params.docId The docid to unshare. + * @param {string=} params.source String to identify the originator of this request. + * @param {string=} params.volumeId The volume to unshare. + * @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 + */ + unshare(params?: Params$Resource$Familysharing$Unshare, options?: MethodOptions): AxiosPromise; + unshare(params: Params$Resource$Familysharing$Unshare, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + unshare(params: Params$Resource$Familysharing$Unshare, callback: BodyResponseCallback): void; + unshare(callback: BodyResponseCallback): void; + } + interface Params$Resource$Familysharing$Getfamilyinfo { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * String to identify the originator of this request. + */ + source?: string; + } + interface Params$Resource$Familysharing$Share { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The docid to share. + */ + docId?: string; + /** + * String to identify the originator of this request. + */ + source?: string; + /** + * The volume to share. + */ + volumeId?: string; + } + interface Params$Resource$Familysharing$Unshare { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The docid to unshare. + */ + docId?: string; + /** + * String to identify the originator of this request. + */ + source?: string; + /** + * The volume to unshare. + */ + volumeId?: string; + } + class Resource$Layers { + root: Books; + annotationData: Resource$Layers$Annotationdata; + volumeAnnotations: Resource$Layers$Volumeannotations; + constructor(root: Books); + getRoot(): Books; + /** + * books.layers.get + * @desc Gets the layer summary for a volume. + * @alias books.layers.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.contentVersion The content version for the requested volume. + * @param {string=} params.source String to identify the originator of this request. + * @param {string} params.summaryId The ID for the layer to get the summary for. + * @param {string} params.volumeId The volume to retrieve layers for. + * @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?: Params$Resource$Layers$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Layers$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Layers$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * books.layers.list + * @desc List the layer summaries for a volume. + * @alias books.layers.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.contentVersion The content version for the requested volume. + * @param {integer=} params.maxResults Maximum number of results to return + * @param {string=} params.pageToken The value of the nextToken from the previous page. + * @param {string=} params.source String to identify the originator of this request. + * @param {string} params.volumeId The volume to retrieve layers for. + * @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?: Params$Resource$Layers$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Layers$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Layers$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Layers$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The content version for the requested volume. + */ + contentVersion?: string; + /** + * String to identify the originator of this request. + */ + source?: string; + /** + * The ID for the layer to get the summary for. + */ + summaryId?: string; + /** + * The volume to retrieve layers for. + */ + volumeId?: string; + } + interface Params$Resource$Layers$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The content version for the requested volume. + */ + contentVersion?: string; + /** + * Maximum number of results to return + */ + maxResults?: number; + /** + * The value of the nextToken from the previous page. + */ + pageToken?: string; + /** + * String to identify the originator of this request. + */ + source?: string; + /** + * The volume to retrieve layers for. + */ + volumeId?: string; + } + class Resource$Layers$Annotationdata { + root: Books; + constructor(root: Books); + getRoot(): Books; + /** + * books.layers.annotationData.get + * @desc Gets the annotation data. + * @alias books.layers.annotationData.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.allowWebDefinitions For the dictionary layer. Whether or not to allow web definitions. + * @param {string} params.annotationDataId The ID of the annotation data to retrieve. + * @param {string} params.contentVersion The content version for the volume you are trying to retrieve. + * @param {integer=} params.h The requested pixel height for any images. If height is provided width must also be provided. + * @param {string} params.layerId The ID for the layer to get the annotations. + * @param {string=} params.locale The locale information for the data. ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. + * @param {integer=} params.scale The requested scale for the image. + * @param {string=} params.source String to identify the originator of this request. + * @param {string} params.volumeId The volume to retrieve annotations for. + * @param {integer=} params.w The requested pixel width for any images. If width is provided height must also be provided. + * @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?: Params$Resource$Layers$Annotationdata$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Layers$Annotationdata$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Layers$Annotationdata$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * books.layers.annotationData.list + * @desc Gets the annotation data for a volume and layer. + * @alias books.layers.annotationData.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.annotationDataId The list of Annotation Data Ids to retrieve. Pagination is ignored if this is set. + * @param {string} params.contentVersion The content version for the requested volume. + * @param {integer=} params.h The requested pixel height for any images. If height is provided width must also be provided. + * @param {string} params.layerId The ID for the layer to get the annotation data. + * @param {string=} params.locale The locale information for the data. ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. + * @param {integer=} params.maxResults Maximum number of results to return + * @param {string=} params.pageToken The value of the nextToken from the previous page. + * @param {integer=} params.scale The requested scale for the image. + * @param {string=} params.source String to identify the originator of this request. + * @param {string=} params.updatedMax RFC 3339 timestamp to restrict to items updated prior to this timestamp (exclusive). + * @param {string=} params.updatedMin RFC 3339 timestamp to restrict to items updated since this timestamp (inclusive). + * @param {string} params.volumeId The volume to retrieve annotation data for. + * @param {integer=} params.w The requested pixel width for any images. If width is provided height must also be provided. + * @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?: Params$Resource$Layers$Annotationdata$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Layers$Annotationdata$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Layers$Annotationdata$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Layers$Annotationdata$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * For the dictionary layer. Whether or not to allow web definitions. + */ + allowWebDefinitions?: boolean; + /** + * The ID of the annotation data to retrieve. + */ + annotationDataId?: string; + /** + * The content version for the volume you are trying to retrieve. + */ + contentVersion?: string; + /** + * The requested pixel height for any images. If height is provided width + * must also be provided. + */ + h?: number; + /** + * The ID for the layer to get the annotations. + */ + layerId?: string; + /** + * The locale information for the data. ISO-639-1 language and ISO-3166-1 + * country code. Ex: 'en_US'. + */ + locale?: string; + /** + * The requested scale for the image. + */ + scale?: number; + /** + * String to identify the originator of this request. + */ + source?: string; + /** + * The volume to retrieve annotations for. + */ + volumeId?: string; + /** + * The requested pixel width for any images. If width is provided height + * must also be provided. + */ + w?: number; + } + interface Params$Resource$Layers$Annotationdata$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The list of Annotation Data Ids to retrieve. Pagination is ignored if + * this is set. + */ + annotationDataId?: string; + /** + * The content version for the requested volume. + */ + contentVersion?: string; + /** + * The requested pixel height for any images. If height is provided width + * must also be provided. + */ + h?: number; + /** + * The ID for the layer to get the annotation data. + */ + layerId?: string; + /** + * The locale information for the data. ISO-639-1 language and ISO-3166-1 + * country code. Ex: 'en_US'. + */ + locale?: string; + /** + * Maximum number of results to return + */ + maxResults?: number; + /** + * The value of the nextToken from the previous page. + */ + pageToken?: string; + /** + * The requested scale for the image. + */ + scale?: number; + /** + * String to identify the originator of this request. + */ + source?: string; + /** + * RFC 3339 timestamp to restrict to items updated prior to this timestamp + * (exclusive). + */ + updatedMax?: string; + /** + * RFC 3339 timestamp to restrict to items updated since this timestamp + * (inclusive). + */ + updatedMin?: string; + /** + * The volume to retrieve annotation data for. + */ + volumeId?: string; + /** + * The requested pixel width for any images. If width is provided height + * must also be provided. + */ + w?: number; + } + class Resource$Layers$Volumeannotations { + root: Books; + constructor(root: Books); + getRoot(): Books; + /** + * books.layers.volumeAnnotations.get + * @desc Gets the volume annotation. + * @alias books.layers.volumeAnnotations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.annotationId The ID of the volume annotation to retrieve. + * @param {string} params.layerId The ID for the layer to get the annotations. + * @param {string=} params.locale The locale information for the data. ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. + * @param {string=} params.source String to identify the originator of this request. + * @param {string} params.volumeId The volume to retrieve annotations for. + * @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?: Params$Resource$Layers$Volumeannotations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Layers$Volumeannotations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Layers$Volumeannotations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * books.layers.volumeAnnotations.list + * @desc Gets the volume annotations for a volume and layer. + * @alias books.layers.volumeAnnotations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.contentVersion The content version for the requested volume. + * @param {string=} params.endOffset The end offset to end retrieving data from. + * @param {string=} params.endPosition The end position to end retrieving data from. + * @param {string} params.layerId The ID for the layer to get the annotations. + * @param {string=} params.locale The locale information for the data. ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. + * @param {integer=} params.maxResults Maximum number of results to return + * @param {string=} params.pageToken The value of the nextToken from the previous page. + * @param {boolean=} params.showDeleted Set to true to return deleted annotations. updatedMin must be in the request to use this. Defaults to false. + * @param {string=} params.source String to identify the originator of this request. + * @param {string=} params.startOffset The start offset to start retrieving data from. + * @param {string=} params.startPosition The start position to start retrieving data from. + * @param {string=} params.updatedMax RFC 3339 timestamp to restrict to items updated prior to this timestamp (exclusive). + * @param {string=} params.updatedMin RFC 3339 timestamp to restrict to items updated since this timestamp (inclusive). + * @param {string=} params.volumeAnnotationsVersion The version of the volume annotations that you are requesting. + * @param {string} params.volumeId The volume to retrieve annotations for. + * @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?: Params$Resource$Layers$Volumeannotations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Layers$Volumeannotations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Layers$Volumeannotations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Layers$Volumeannotations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the volume annotation to retrieve. + */ + annotationId?: string; + /** + * The ID for the layer to get the annotations. + */ + layerId?: string; + /** + * The locale information for the data. ISO-639-1 language and ISO-3166-1 + * country code. Ex: 'en_US'. + */ + locale?: string; + /** + * String to identify the originator of this request. + */ + source?: string; + /** + * The volume to retrieve annotations for. + */ + volumeId?: string; + } + interface Params$Resource$Layers$Volumeannotations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The content version for the requested volume. + */ + contentVersion?: string; + /** + * The end offset to end retrieving data from. + */ + endOffset?: string; + /** + * The end position to end retrieving data from. + */ + endPosition?: string; + /** + * The ID for the layer to get the annotations. + */ + layerId?: string; + /** + * The locale information for the data. ISO-639-1 language and ISO-3166-1 + * country code. Ex: 'en_US'. + */ + locale?: string; + /** + * Maximum number of results to return + */ + maxResults?: number; + /** + * The value of the nextToken from the previous page. + */ + pageToken?: string; + /** + * Set to true to return deleted annotations. updatedMin must be in the + * request to use this. Defaults to false. + */ + showDeleted?: boolean; + /** + * String to identify the originator of this request. + */ + source?: string; + /** + * The start offset to start retrieving data from. + */ + startOffset?: string; + /** + * The start position to start retrieving data from. + */ + startPosition?: string; + /** + * RFC 3339 timestamp to restrict to items updated prior to this timestamp + * (exclusive). + */ + updatedMax?: string; + /** + * RFC 3339 timestamp to restrict to items updated since this timestamp + * (inclusive). + */ + updatedMin?: string; + /** + * The version of the volume annotations that you are requesting. + */ + volumeAnnotationsVersion?: string; + /** + * The volume to retrieve annotations for. + */ + volumeId?: string; + } + class Resource$Myconfig { + root: Books; + constructor(root: Books); + getRoot(): Books; + /** + * books.myconfig.getUserSettings + * @desc Gets the current settings for the user. + * @alias books.myconfig.getUserSettings + * @memberOf! () + * + * @param {object=} params Parameters for request + * @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 + */ + getUserSettings(params?: Params$Resource$Myconfig$Getusersettings, options?: MethodOptions): AxiosPromise; + getUserSettings(params: Params$Resource$Myconfig$Getusersettings, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getUserSettings(params: Params$Resource$Myconfig$Getusersettings, callback: BodyResponseCallback): void; + getUserSettings(callback: BodyResponseCallback): void; + /** + * books.myconfig.releaseDownloadAccess + * @desc Release downloaded content access restriction. + * @alias books.myconfig.releaseDownloadAccess + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.cpksver The device/version ID from which to release the restriction. + * @param {string=} params.locale ISO-639-1, ISO-3166-1 codes for message localization, i.e. en_US. + * @param {string=} params.source String to identify the originator of this request. + * @param {string} params.volumeIds The volume(s) to release restrictions for. + * @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 + */ + releaseDownloadAccess(params?: Params$Resource$Myconfig$Releasedownloadaccess, options?: MethodOptions): AxiosPromise; + releaseDownloadAccess(params: Params$Resource$Myconfig$Releasedownloadaccess, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + releaseDownloadAccess(params: Params$Resource$Myconfig$Releasedownloadaccess, callback: BodyResponseCallback): void; + releaseDownloadAccess(callback: BodyResponseCallback): void; + /** + * books.myconfig.requestAccess + * @desc Request concurrent and download access restrictions. + * @alias books.myconfig.requestAccess + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.cpksver The device/version ID from which to request the restrictions. + * @param {string=} params.licenseTypes The type of access license to request. If not specified, the default is BOTH. + * @param {string=} params.locale ISO-639-1, ISO-3166-1 codes for message localization, i.e. en_US. + * @param {string} params.nonce The client nonce value. + * @param {string} params.source String to identify the originator of this request. + * @param {string} params.volumeId The volume to request concurrent/download restrictions for. + * @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 + */ + requestAccess(params?: Params$Resource$Myconfig$Requestaccess, options?: MethodOptions): AxiosPromise; + requestAccess(params: Params$Resource$Myconfig$Requestaccess, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + requestAccess(params: Params$Resource$Myconfig$Requestaccess, callback: BodyResponseCallback): void; + requestAccess(callback: BodyResponseCallback): void; + /** + * books.myconfig.syncVolumeLicenses + * @desc Request downloaded content access for specified volumes on the My + * eBooks shelf. + * @alias books.myconfig.syncVolumeLicenses + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.cpksver The device/version ID from which to release the restriction. + * @param {string=} params.features List of features supported by the client, i.e., 'RENTALS' + * @param {boolean=} params.includeNonComicsSeries Set to true to include non-comics series. Defaults to false. + * @param {string=} params.locale ISO-639-1, ISO-3166-1 codes for message localization, i.e. en_US. + * @param {string} params.nonce The client nonce value. + * @param {boolean=} params.showPreorders Set to true to show pre-ordered books. Defaults to false. + * @param {string} params.source String to identify the originator of this request. + * @param {string=} params.volumeIds The volume(s) to request download restrictions for. + * @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 + */ + syncVolumeLicenses(params?: Params$Resource$Myconfig$Syncvolumelicenses, options?: MethodOptions): AxiosPromise; + syncVolumeLicenses(params: Params$Resource$Myconfig$Syncvolumelicenses, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + syncVolumeLicenses(params: Params$Resource$Myconfig$Syncvolumelicenses, callback: BodyResponseCallback): void; + syncVolumeLicenses(callback: BodyResponseCallback): void; + /** + * books.myconfig.updateUserSettings + * @desc Sets the settings for the user. If a sub-object is specified, it + * will overwrite the existing sub-object stored in the server. Unspecified + * sub-objects will retain the existing value. + * @alias books.myconfig.updateUserSettings + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().Usersettings} 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 + */ + updateUserSettings(params?: Params$Resource$Myconfig$Updateusersettings, options?: MethodOptions): AxiosPromise; + updateUserSettings(params: Params$Resource$Myconfig$Updateusersettings, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + updateUserSettings(params: Params$Resource$Myconfig$Updateusersettings, callback: BodyResponseCallback): void; + updateUserSettings(callback: BodyResponseCallback): void; + } + interface Params$Resource$Myconfig$Getusersettings { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } + interface Params$Resource$Myconfig$Releasedownloadaccess { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The device/version ID from which to release the restriction. + */ + cpksver?: string; + /** + * ISO-639-1, ISO-3166-1 codes for message localization, i.e. en_US. + */ + locale?: string; + /** + * String to identify the originator of this request. + */ + source?: string; + /** + * The volume(s) to release restrictions for. + */ + volumeIds?: string; + } + interface Params$Resource$Myconfig$Requestaccess { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The device/version ID from which to request the restrictions. + */ + cpksver?: string; + /** + * The type of access license to request. If not specified, the default is + * BOTH. + */ + licenseTypes?: string; + /** + * ISO-639-1, ISO-3166-1 codes for message localization, i.e. en_US. + */ + locale?: string; + /** + * The client nonce value. + */ + nonce?: string; + /** + * String to identify the originator of this request. + */ + source?: string; + /** + * The volume to request concurrent/download restrictions for. + */ + volumeId?: string; + } + interface Params$Resource$Myconfig$Syncvolumelicenses { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The device/version ID from which to release the restriction. + */ + cpksver?: string; + /** + * List of features supported by the client, i.e., 'RENTALS' + */ + features?: string; + /** + * Set to true to include non-comics series. Defaults to false. + */ + includeNonComicsSeries?: boolean; + /** + * ISO-639-1, ISO-3166-1 codes for message localization, i.e. en_US. + */ + locale?: string; + /** + * The client nonce value. + */ + nonce?: string; + /** + * Set to true to show pre-ordered books. Defaults to false. + */ + showPreorders?: boolean; + /** + * String to identify the originator of this request. + */ + source?: string; + /** + * The volume(s) to request download restrictions for. + */ + volumeIds?: string; + } + interface Params$Resource$Myconfig$Updateusersettings { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$Usersettings; + } + class Resource$Mylibrary { + root: Books; + annotations: Resource$Mylibrary$Annotations; + bookshelves: Resource$Mylibrary$Bookshelves; + readingpositions: Resource$Mylibrary$Readingpositions; + constructor(root: Books); + getRoot(): Books; + } + class Resource$Mylibrary$Annotations { + root: Books; + constructor(root: Books); + getRoot(): Books; + /** + * books.mylibrary.annotations.delete + * @desc Deletes an annotation. + * @alias books.mylibrary.annotations.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.annotationId The ID for the annotation to delete. + * @param {string=} params.source String to identify the originator of this request. + * @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?: Params$Resource$Mylibrary$Annotations$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Mylibrary$Annotations$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Mylibrary$Annotations$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * books.mylibrary.annotations.insert + * @desc Inserts a new annotation. + * @alias books.mylibrary.annotations.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.annotationId The ID for the annotation to insert. + * @param {string=} params.country ISO-3166-1 code to override the IP-based location. + * @param {boolean=} params.showOnlySummaryInResponse Requests that only the summary of the specified layer be provided in the response. + * @param {string=} params.source String to identify the originator of this request. + * @param {().Annotation} 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?: Params$Resource$Mylibrary$Annotations$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Mylibrary$Annotations$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Mylibrary$Annotations$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * books.mylibrary.annotations.list + * @desc Retrieves a list of annotations, possibly filtered. + * @alias books.mylibrary.annotations.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {string=} params.contentVersion The content version for the requested volume. + * @param {string=} params.layerId The layer ID to limit annotation by. + * @param {string=} params.layerIds The layer ID(s) to limit annotation by. + * @param {integer=} params.maxResults Maximum number of results to return + * @param {string=} params.pageToken The value of the nextToken from the previous page. + * @param {boolean=} params.showDeleted Set to true to return deleted annotations. updatedMin must be in the request to use this. Defaults to false. + * @param {string=} params.source String to identify the originator of this request. + * @param {string=} params.updatedMax RFC 3339 timestamp to restrict to items updated prior to this timestamp (exclusive). + * @param {string=} params.updatedMin RFC 3339 timestamp to restrict to items updated since this timestamp (inclusive). + * @param {string=} params.volumeId The volume to restrict annotations to. + * @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?: Params$Resource$Mylibrary$Annotations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Mylibrary$Annotations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Mylibrary$Annotations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * books.mylibrary.annotations.summary + * @desc Gets the summary of specified layers. + * @alias books.mylibrary.annotations.summary + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.layerIds Array of layer IDs to get the summary for. + * @param {string} params.volumeId Volume id to get the summary for. + * @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 + */ + summary(params?: Params$Resource$Mylibrary$Annotations$Summary, options?: MethodOptions): AxiosPromise; + summary(params: Params$Resource$Mylibrary$Annotations$Summary, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + summary(params: Params$Resource$Mylibrary$Annotations$Summary, callback: BodyResponseCallback): void; + summary(callback: BodyResponseCallback): void; + /** + * books.mylibrary.annotations.update + * @desc Updates an existing annotation. + * @alias books.mylibrary.annotations.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.annotationId The ID for the annotation to update. + * @param {string=} params.source String to identify the originator of this request. + * @param {().Annotation} 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?: Params$Resource$Mylibrary$Annotations$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Mylibrary$Annotations$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Mylibrary$Annotations$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Mylibrary$Annotations$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID for the annotation to delete. + */ + annotationId?: string; + /** + * String to identify the originator of this request. + */ + source?: string; + } + interface Params$Resource$Mylibrary$Annotations$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID for the annotation to insert. + */ + annotationId?: string; + /** + * ISO-3166-1 code to override the IP-based location. + */ + country?: string; + /** + * Requests that only the summary of the specified layer be provided in the + * response. + */ + showOnlySummaryInResponse?: boolean; + /** + * String to identify the originator of this request. + */ + source?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Annotation; + } + interface Params$Resource$Mylibrary$Annotations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The content version for the requested volume. + */ + contentVersion?: string; + /** + * The layer ID to limit annotation by. + */ + layerId?: string; + /** + * The layer ID(s) to limit annotation by. + */ + layerIds?: string; + /** + * Maximum number of results to return + */ + maxResults?: number; + /** + * The value of the nextToken from the previous page. + */ + pageToken?: string; + /** + * Set to true to return deleted annotations. updatedMin must be in the + * request to use this. Defaults to false. + */ + showDeleted?: boolean; + /** + * String to identify the originator of this request. + */ + source?: string; + /** + * RFC 3339 timestamp to restrict to items updated prior to this timestamp + * (exclusive). + */ + updatedMax?: string; + /** + * RFC 3339 timestamp to restrict to items updated since this timestamp + * (inclusive). + */ + updatedMin?: string; + /** + * The volume to restrict annotations to. + */ + volumeId?: string; + } + interface Params$Resource$Mylibrary$Annotations$Summary { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Array of layer IDs to get the summary for. + */ + layerIds?: string; + /** + * Volume id to get the summary for. + */ + volumeId?: string; + } + interface Params$Resource$Mylibrary$Annotations$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID for the annotation to update. + */ + annotationId?: string; + /** + * String to identify the originator of this request. + */ + source?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Annotation; + } + class Resource$Mylibrary$Bookshelves { + root: Books; + volumes: Resource$Mylibrary$Bookshelves$Volumes; + constructor(root: Books); + getRoot(): Books; + /** + * books.mylibrary.bookshelves.addVolume + * @desc Adds a volume to a bookshelf. + * @alias books.mylibrary.bookshelves.addVolume + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.reason The reason for which the book is added to the library. + * @param {string} params.shelf ID of bookshelf to which to add a volume. + * @param {string=} params.source String to identify the originator of this request. + * @param {string} params.volumeId ID of volume to add. + * @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 + */ + addVolume(params?: Params$Resource$Mylibrary$Bookshelves$Addvolume, options?: MethodOptions): AxiosPromise; + addVolume(params: Params$Resource$Mylibrary$Bookshelves$Addvolume, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + addVolume(params: Params$Resource$Mylibrary$Bookshelves$Addvolume, callback: BodyResponseCallback): void; + addVolume(callback: BodyResponseCallback): void; + /** + * books.mylibrary.bookshelves.clearVolumes + * @desc Clears all volumes from a bookshelf. + * @alias books.mylibrary.bookshelves.clearVolumes + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.shelf ID of bookshelf from which to remove a volume. + * @param {string=} params.source String to identify the originator of this request. + * @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 + */ + clearVolumes(params?: Params$Resource$Mylibrary$Bookshelves$Clearvolumes, options?: MethodOptions): AxiosPromise; + clearVolumes(params: Params$Resource$Mylibrary$Bookshelves$Clearvolumes, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + clearVolumes(params: Params$Resource$Mylibrary$Bookshelves$Clearvolumes, callback: BodyResponseCallback): void; + clearVolumes(callback: BodyResponseCallback): void; + /** + * books.mylibrary.bookshelves.get + * @desc Retrieves metadata for a specific bookshelf belonging to the + * authenticated user. + * @alias books.mylibrary.bookshelves.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.shelf ID of bookshelf to retrieve. + * @param {string=} params.source String to identify the originator of this request. + * @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?: Params$Resource$Mylibrary$Bookshelves$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Mylibrary$Bookshelves$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Mylibrary$Bookshelves$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * books.mylibrary.bookshelves.list + * @desc Retrieves a list of bookshelves belonging to the authenticated + * user. + * @alias books.mylibrary.bookshelves.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {string=} params.source String to identify the originator of this request. + * @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?: Params$Resource$Mylibrary$Bookshelves$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Mylibrary$Bookshelves$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Mylibrary$Bookshelves$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * books.mylibrary.bookshelves.moveVolume + * @desc Moves a volume within a bookshelf. + * @alias books.mylibrary.bookshelves.moveVolume + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.shelf ID of bookshelf with the volume. + * @param {string=} params.source String to identify the originator of this request. + * @param {string} params.volumeId ID of volume to move. + * @param {integer} params.volumePosition Position on shelf to move the item (0 puts the item before the current first item, 1 puts it between the first and the second and so on.) + * @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 + */ + moveVolume(params?: Params$Resource$Mylibrary$Bookshelves$Movevolume, options?: MethodOptions): AxiosPromise; + moveVolume(params: Params$Resource$Mylibrary$Bookshelves$Movevolume, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + moveVolume(params: Params$Resource$Mylibrary$Bookshelves$Movevolume, callback: BodyResponseCallback): void; + moveVolume(callback: BodyResponseCallback): void; + /** + * books.mylibrary.bookshelves.removeVolume + * @desc Removes a volume from a bookshelf. + * @alias books.mylibrary.bookshelves.removeVolume + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.reason The reason for which the book is removed from the library. + * @param {string} params.shelf ID of bookshelf from which to remove a volume. + * @param {string=} params.source String to identify the originator of this request. + * @param {string} params.volumeId ID of volume to remove. + * @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 + */ + removeVolume(params?: Params$Resource$Mylibrary$Bookshelves$Removevolume, options?: MethodOptions): AxiosPromise; + removeVolume(params: Params$Resource$Mylibrary$Bookshelves$Removevolume, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + removeVolume(params: Params$Resource$Mylibrary$Bookshelves$Removevolume, callback: BodyResponseCallback): void; + removeVolume(callback: BodyResponseCallback): void; + } + interface Params$Resource$Mylibrary$Bookshelves$Addvolume { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The reason for which the book is added to the library. + */ + reason?: string; + /** + * ID of bookshelf to which to add a volume. + */ + shelf?: string; + /** + * String to identify the originator of this request. + */ + source?: string; + /** + * ID of volume to add. + */ + volumeId?: string; + } + interface Params$Resource$Mylibrary$Bookshelves$Clearvolumes { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ID of bookshelf from which to remove a volume. + */ + shelf?: string; + /** + * String to identify the originator of this request. + */ + source?: string; + } + interface Params$Resource$Mylibrary$Bookshelves$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ID of bookshelf to retrieve. + */ + shelf?: string; + /** + * String to identify the originator of this request. + */ + source?: string; + } + interface Params$Resource$Mylibrary$Bookshelves$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * String to identify the originator of this request. + */ + source?: string; + } + interface Params$Resource$Mylibrary$Bookshelves$Movevolume { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ID of bookshelf with the volume. + */ + shelf?: string; + /** + * String to identify the originator of this request. + */ + source?: string; + /** + * ID of volume to move. + */ + volumeId?: string; + /** + * Position on shelf to move the item (0 puts the item before the current + * first item, 1 puts it between the first and the second and so on.) + */ + volumePosition?: number; + } + interface Params$Resource$Mylibrary$Bookshelves$Removevolume { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The reason for which the book is removed from the library. + */ + reason?: string; + /** + * ID of bookshelf from which to remove a volume. + */ + shelf?: string; + /** + * String to identify the originator of this request. + */ + source?: string; + /** + * ID of volume to remove. + */ + volumeId?: string; + } + class Resource$Mylibrary$Bookshelves$Volumes { + root: Books; + constructor(root: Books); + getRoot(): Books; + /** + * books.mylibrary.bookshelves.volumes.list + * @desc Gets volume information for volumes on a bookshelf. + * @alias books.mylibrary.bookshelves.volumes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.country ISO-3166-1 code to override the IP-based location. + * @param {integer=} params.maxResults Maximum number of results to return + * @param {string=} params.projection Restrict information returned to a set of selected fields. + * @param {string=} params.q Full-text search query string in this bookshelf. + * @param {string} params.shelf The bookshelf ID or name retrieve volumes for. + * @param {boolean=} params.showPreorders Set to true to show pre-ordered books. Defaults to false. + * @param {string=} params.source String to identify the originator of this request. + * @param {integer=} params.startIndex Index of the first element to return (starts at 0) + * @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?: Params$Resource$Mylibrary$Bookshelves$Volumes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Mylibrary$Bookshelves$Volumes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Mylibrary$Bookshelves$Volumes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Mylibrary$Bookshelves$Volumes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ISO-3166-1 code to override the IP-based location. + */ + country?: string; + /** + * Maximum number of results to return + */ + maxResults?: number; + /** + * Restrict information returned to a set of selected fields. + */ + projection?: string; + /** + * Full-text search query string in this bookshelf. + */ + q?: string; + /** + * The bookshelf ID or name retrieve volumes for. + */ + shelf?: string; + /** + * Set to true to show pre-ordered books. Defaults to false. + */ + showPreorders?: boolean; + /** + * String to identify the originator of this request. + */ + source?: string; + /** + * Index of the first element to return (starts at 0) + */ + startIndex?: number; + } + class Resource$Mylibrary$Readingpositions { + root: Books; + constructor(root: Books); + getRoot(): Books; + /** + * books.mylibrary.readingpositions.get + * @desc Retrieves my reading position information for a volume. + * @alias books.mylibrary.readingpositions.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.contentVersion Volume content version for which this reading position is requested. + * @param {string=} params.source String to identify the originator of this request. + * @param {string} params.volumeId ID of volume for which to retrieve a reading position. + * @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?: Params$Resource$Mylibrary$Readingpositions$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Mylibrary$Readingpositions$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Mylibrary$Readingpositions$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * books.mylibrary.readingpositions.setPosition + * @desc Sets my reading position information for a volume. + * @alias books.mylibrary.readingpositions.setPosition + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.action Action that caused this reading position to be set. + * @param {string=} params.contentVersion Volume content version for which this reading position applies. + * @param {string=} params.deviceCookie Random persistent device cookie optional on set position. + * @param {string} params.position Position string for the new volume reading position. + * @param {string=} params.source String to identify the originator of this request. + * @param {string} params.timestamp RFC 3339 UTC format timestamp associated with this reading position. + * @param {string} params.volumeId ID of volume for which to update the reading position. + * @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 + */ + setPosition(params?: Params$Resource$Mylibrary$Readingpositions$Setposition, options?: MethodOptions): AxiosPromise; + setPosition(params: Params$Resource$Mylibrary$Readingpositions$Setposition, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setPosition(params: Params$Resource$Mylibrary$Readingpositions$Setposition, callback: BodyResponseCallback): void; + setPosition(callback: BodyResponseCallback): void; + } + interface Params$Resource$Mylibrary$Readingpositions$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Volume content version for which this reading position is requested. + */ + contentVersion?: string; + /** + * String to identify the originator of this request. + */ + source?: string; + /** + * ID of volume for which to retrieve a reading position. + */ + volumeId?: string; + } + interface Params$Resource$Mylibrary$Readingpositions$Setposition { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Action that caused this reading position to be set. + */ + action?: string; + /** + * Volume content version for which this reading position applies. + */ + contentVersion?: string; + /** + * Random persistent device cookie optional on set position. + */ + deviceCookie?: string; + /** + * Position string for the new volume reading position. + */ + position?: string; + /** + * String to identify the originator of this request. + */ + source?: string; + /** + * RFC 3339 UTC format timestamp associated with this reading position. + */ + timestamp?: string; + /** + * ID of volume for which to update the reading position. + */ + volumeId?: string; + } + class Resource$Notification { + root: Books; + constructor(root: Books); + getRoot(): Books; + /** + * books.notification.get + * @desc Returns notification details for a given notification id. + * @alias books.notification.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.locale ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for generating notification title and body. + * @param {string} params.notification_id String to identify the notification. + * @param {string=} params.source String to identify the originator of this request. + * @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?: Params$Resource$Notification$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Notification$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Notification$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Notification$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for + * generating notification title and body. + */ + locale?: string; + /** + * String to identify the notification. + */ + notification_id?: string; + /** + * String to identify the originator of this request. + */ + source?: string; + } + class Resource$Onboarding { + root: Books; + constructor(root: Books); + getRoot(): Books; + /** + * books.onboarding.listCategories + * @desc List categories for onboarding experience. + * @alias books.onboarding.listCategories + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {string=} params.locale ISO-639-1 language and ISO-3166-1 country code. Default is en-US if unset. + * @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 + */ + listCategories(params?: Params$Resource$Onboarding$Listcategories, options?: MethodOptions): AxiosPromise; + listCategories(params: Params$Resource$Onboarding$Listcategories, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listCategories(params: Params$Resource$Onboarding$Listcategories, callback: BodyResponseCallback): void; + listCategories(callback: BodyResponseCallback): void; + /** + * books.onboarding.listCategoryVolumes + * @desc List available volumes under categories for onboarding experience. + * @alias books.onboarding.listCategoryVolumes + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {string=} params.categoryId List of category ids requested. + * @param {string=} params.locale ISO-639-1 language and ISO-3166-1 country code. Default is en-US if unset. + * @param {string=} params.maxAllowedMaturityRating The maximum allowed maturity rating of returned volumes. Books with a higher maturity rating are filtered out. + * @param {integer=} params.pageSize Number of maximum results per page to be included in the response. + * @param {string=} params.pageToken The value of the nextToken from the previous page. + * @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 + */ + listCategoryVolumes(params?: Params$Resource$Onboarding$Listcategoryvolumes, options?: MethodOptions): AxiosPromise; + listCategoryVolumes(params: Params$Resource$Onboarding$Listcategoryvolumes, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listCategoryVolumes(params: Params$Resource$Onboarding$Listcategoryvolumes, callback: BodyResponseCallback): void; + listCategoryVolumes(callback: BodyResponseCallback): void; + } + interface Params$Resource$Onboarding$Listcategories { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ISO-639-1 language and ISO-3166-1 country code. Default is en-US if + * unset. + */ + locale?: string; + } + interface Params$Resource$Onboarding$Listcategoryvolumes { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * List of category ids requested. + */ + categoryId?: string; + /** + * ISO-639-1 language and ISO-3166-1 country code. Default is en-US if + * unset. + */ + locale?: string; + /** + * The maximum allowed maturity rating of returned volumes. Books with a + * higher maturity rating are filtered out. + */ + maxAllowedMaturityRating?: string; + /** + * Number of maximum results per page to be included in the response. + */ + pageSize?: number; + /** + * The value of the nextToken from the previous page. + */ + pageToken?: string; + } + class Resource$Personalizedstream { + root: Books; + constructor(root: Books); + getRoot(): Books; + /** + * books.personalizedstream.get + * @desc Returns a stream of personalized book clusters + * @alias books.personalizedstream.get + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {string=} params.locale ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for generating recommendations. + * @param {string=} params.maxAllowedMaturityRating The maximum allowed maturity rating of returned recommendations. Books with a higher maturity rating are filtered out. + * @param {string=} params.source String to identify the originator of this request. + * @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?: Params$Resource$Personalizedstream$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Personalizedstream$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Personalizedstream$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Personalizedstream$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for + * generating recommendations. + */ + locale?: string; + /** + * The maximum allowed maturity rating of returned recommendations. Books + * with a higher maturity rating are filtered out. + */ + maxAllowedMaturityRating?: string; + /** + * String to identify the originator of this request. + */ + source?: string; + } + class Resource$Promooffer { + root: Books; + constructor(root: Books); + getRoot(): Books; + /** + * books.promooffer.accept + * @alias books.promooffer.accept + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {string=} params.androidId device android_id + * @param {string=} params.device device device + * @param {string=} params.manufacturer device manufacturer + * @param {string=} params.model device model + * @param {string=} params.offerId + * @param {string=} params.product device product + * @param {string=} params.serial device serial + * @param {string=} params.volumeId Volume id to exercise the offer + * @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 + */ + accept(params?: Params$Resource$Promooffer$Accept, options?: MethodOptions): AxiosPromise; + accept(params: Params$Resource$Promooffer$Accept, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + accept(params: Params$Resource$Promooffer$Accept, callback: BodyResponseCallback): void; + accept(callback: BodyResponseCallback): void; + /** + * books.promooffer.dismiss + * @alias books.promooffer.dismiss + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {string=} params.androidId device android_id + * @param {string=} params.device device device + * @param {string=} params.manufacturer device manufacturer + * @param {string=} params.model device model + * @param {string=} params.offerId Offer to dimiss + * @param {string=} params.product device product + * @param {string=} params.serial device serial + * @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 + */ + dismiss(params?: Params$Resource$Promooffer$Dismiss, options?: MethodOptions): AxiosPromise; + dismiss(params: Params$Resource$Promooffer$Dismiss, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + dismiss(params: Params$Resource$Promooffer$Dismiss, callback: BodyResponseCallback): void; + dismiss(callback: BodyResponseCallback): void; + /** + * books.promooffer.get + * @desc Returns a list of promo offers available to the user + * @alias books.promooffer.get + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {string=} params.androidId device android_id + * @param {string=} params.device device device + * @param {string=} params.manufacturer device manufacturer + * @param {string=} params.model device model + * @param {string=} params.product device product + * @param {string=} params.serial device serial + * @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?: Params$Resource$Promooffer$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Promooffer$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Promooffer$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Promooffer$Accept { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * device android_id + */ + androidId?: string; + /** + * device device + */ + device?: string; + /** + * device manufacturer + */ + manufacturer?: string; + /** + * device model + */ + model?: string; + /** + * + */ + offerId?: string; + /** + * device product + */ + product?: string; + /** + * device serial + */ + serial?: string; + /** + * Volume id to exercise the offer + */ + volumeId?: string; + } + interface Params$Resource$Promooffer$Dismiss { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * device android_id + */ + androidId?: string; + /** + * device device + */ + device?: string; + /** + * device manufacturer + */ + manufacturer?: string; + /** + * device model + */ + model?: string; + /** + * Offer to dimiss + */ + offerId?: string; + /** + * device product + */ + product?: string; + /** + * device serial + */ + serial?: string; + } + interface Params$Resource$Promooffer$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * device android_id + */ + androidId?: string; + /** + * device device + */ + device?: string; + /** + * device manufacturer + */ + manufacturer?: string; + /** + * device model + */ + model?: string; + /** + * device product + */ + product?: string; + /** + * device serial + */ + serial?: string; + } + class Resource$Series { + root: Books; + membership: Resource$Series$Membership; + constructor(root: Books); + getRoot(): Books; + /** + * books.series.get + * @desc Returns Series metadata for the given series ids. + * @alias books.series.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.series_id String that identifies the series + * @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?: Params$Resource$Series$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Series$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Series$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Series$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * String that identifies the series + */ + series_id?: string; + } + class Resource$Series$Membership { + root: Books; + constructor(root: Books); + getRoot(): Books; + /** + * books.series.membership.get + * @desc Returns Series membership data given the series id. + * @alias books.series.membership.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.page_size Number of maximum results per page to be included in the response. + * @param {string=} params.page_token The value of the nextToken from the previous page. + * @param {string} params.series_id String that identifies the series + * @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?: Params$Resource$Series$Membership$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Series$Membership$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Series$Membership$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Series$Membership$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Number of maximum results per page to be included in the response. + */ + page_size?: number; + /** + * The value of the nextToken from the previous page. + */ + page_token?: string; + /** + * String that identifies the series + */ + series_id?: string; + } + class Resource$Volumes { + root: Books; + associated: Resource$Volumes$Associated; + mybooks: Resource$Volumes$Mybooks; + recommended: Resource$Volumes$Recommended; + useruploaded: Resource$Volumes$Useruploaded; + constructor(root: Books); + getRoot(): Books; + /** + * books.volumes.get + * @desc Gets volume information for a single volume. + * @alias books.volumes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.country ISO-3166-1 code to override the IP-based location. + * @param {boolean=} params.includeNonComicsSeries Set to true to include non-comics series. Defaults to false. + * @param {string=} params.partner Brand results for partner ID. + * @param {string=} params.projection Restrict information returned to a set of selected fields. + * @param {string=} params.source String to identify the originator of this request. + * @param {boolean=} params.user_library_consistent_read + * @param {string} params.volumeId ID of volume to retrieve. + * @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?: Params$Resource$Volumes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Volumes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Volumes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * books.volumes.list + * @desc Performs a book search. + * @alias books.volumes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.download Restrict to volumes by download availability. + * @param {string=} params.filter Filter search results. + * @param {string=} params.langRestrict Restrict results to books with this language code. + * @param {string=} params.libraryRestrict Restrict search to this user's library. + * @param {string=} params.maxAllowedMaturityRating The maximum allowed maturity rating of returned recommendations. Books with a higher maturity rating are filtered out. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.orderBy Sort search results. + * @param {string=} params.partner Restrict and brand results for partner ID. + * @param {string=} params.printType Restrict to books or magazines. + * @param {string=} params.projection Restrict information returned to a set of selected fields. + * @param {string} params.q Full-text search query string. + * @param {boolean=} params.showPreorders Set to true to show books available for preorder. Defaults to false. + * @param {string=} params.source String to identify the originator of this request. + * @param {integer=} params.startIndex Index of the first result to return (starts at 0) + * @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?: Params$Resource$Volumes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Volumes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Volumes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Volumes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ISO-3166-1 code to override the IP-based location. + */ + country?: string; + /** + * Set to true to include non-comics series. Defaults to false. + */ + includeNonComicsSeries?: boolean; + /** + * Brand results for partner ID. + */ + partner?: string; + /** + * Restrict information returned to a set of selected fields. + */ + projection?: string; + /** + * String to identify the originator of this request. + */ + source?: string; + /** + * + */ + user_library_consistent_read?: boolean; + /** + * ID of volume to retrieve. + */ + volumeId?: string; + } + interface Params$Resource$Volumes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Restrict to volumes by download availability. + */ + download?: string; + /** + * Filter search results. + */ + filter?: string; + /** + * Restrict results to books with this language code. + */ + langRestrict?: string; + /** + * Restrict search to this user's library. + */ + libraryRestrict?: string; + /** + * The maximum allowed maturity rating of returned recommendations. Books + * with a higher maturity rating are filtered out. + */ + maxAllowedMaturityRating?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Sort search results. + */ + orderBy?: string; + /** + * Restrict and brand results for partner ID. + */ + partner?: string; + /** + * Restrict to books or magazines. + */ + printType?: string; + /** + * Restrict information returned to a set of selected fields. + */ + projection?: string; + /** + * Full-text search query string. + */ + q?: string; + /** + * Set to true to show books available for preorder. Defaults to false. + */ + showPreorders?: boolean; + /** + * String to identify the originator of this request. + */ + source?: string; + /** + * Index of the first result to return (starts at 0) + */ + startIndex?: number; + } + class Resource$Volumes$Associated { + root: Books; + constructor(root: Books); + getRoot(): Books; + /** + * books.volumes.associated.list + * @desc Return a list of associated books. + * @alias books.volumes.associated.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.association Association type. + * @param {string=} params.locale ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for generating recommendations. + * @param {string=} params.maxAllowedMaturityRating The maximum allowed maturity rating of returned recommendations. Books with a higher maturity rating are filtered out. + * @param {string=} params.source String to identify the originator of this request. + * @param {string} params.volumeId ID of the source volume. + * @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?: Params$Resource$Volumes$Associated$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Volumes$Associated$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Volumes$Associated$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Volumes$Associated$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Association type. + */ + association?: string; + /** + * ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for + * generating recommendations. + */ + locale?: string; + /** + * The maximum allowed maturity rating of returned recommendations. Books + * with a higher maturity rating are filtered out. + */ + maxAllowedMaturityRating?: string; + /** + * String to identify the originator of this request. + */ + source?: string; + /** + * ID of the source volume. + */ + volumeId?: string; + } + class Resource$Volumes$Mybooks { + root: Books; + constructor(root: Books); + getRoot(): Books; + /** + * books.volumes.mybooks.list + * @desc Return a list of books in My Library. + * @alias books.volumes.mybooks.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {string=} params.acquireMethod How the book was acquired + * @param {string=} params.country ISO-3166-1 code to override the IP-based location. + * @param {string=} params.locale ISO-639-1 language and ISO-3166-1 country code. Ex:'en_US'. Used for generating recommendations. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.processingState The processing state of the user uploaded volumes to be returned. Applicable only if the UPLOADED is specified in the acquireMethod. + * @param {string=} params.source String to identify the originator of this request. + * @param {integer=} params.startIndex Index of the first result to return (starts at 0) + * @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?: Params$Resource$Volumes$Mybooks$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Volumes$Mybooks$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Volumes$Mybooks$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Volumes$Mybooks$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * How the book was acquired + */ + acquireMethod?: string; + /** + * ISO-3166-1 code to override the IP-based location. + */ + country?: string; + /** + * ISO-639-1 language and ISO-3166-1 country code. Ex:'en_US'. Used for + * generating recommendations. + */ + locale?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * The processing state of the user uploaded volumes to be returned. + * Applicable only if the UPLOADED is specified in the acquireMethod. + */ + processingState?: string; + /** + * String to identify the originator of this request. + */ + source?: string; + /** + * Index of the first result to return (starts at 0) + */ + startIndex?: number; + } + class Resource$Volumes$Recommended { + root: Books; + constructor(root: Books); + getRoot(): Books; + /** + * books.volumes.recommended.list + * @desc Return a list of recommended books for the current user. + * @alias books.volumes.recommended.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {string=} params.locale ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for generating recommendations. + * @param {string=} params.maxAllowedMaturityRating The maximum allowed maturity rating of returned recommendations. Books with a higher maturity rating are filtered out. + * @param {string=} params.source String to identify the originator of this request. + * @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?: Params$Resource$Volumes$Recommended$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Volumes$Recommended$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Volumes$Recommended$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * books.volumes.recommended.rate + * @desc Rate a recommended book for the current user. + * @alias books.volumes.recommended.rate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.locale ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for generating recommendations. + * @param {string} params.rating Rating to be given to the volume. + * @param {string=} params.source String to identify the originator of this request. + * @param {string} params.volumeId ID of the source volume. + * @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 + */ + rate(params?: Params$Resource$Volumes$Recommended$Rate, options?: MethodOptions): AxiosPromise; + rate(params: Params$Resource$Volumes$Recommended$Rate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + rate(params: Params$Resource$Volumes$Recommended$Rate, callback: BodyResponseCallback): void; + rate(callback: BodyResponseCallback): void; + } + interface Params$Resource$Volumes$Recommended$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for + * generating recommendations. + */ + locale?: string; + /** + * The maximum allowed maturity rating of returned recommendations. Books + * with a higher maturity rating are filtered out. + */ + maxAllowedMaturityRating?: string; + /** + * String to identify the originator of this request. + */ + source?: string; + } + interface Params$Resource$Volumes$Recommended$Rate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for + * generating recommendations. + */ + locale?: string; + /** + * Rating to be given to the volume. + */ + rating?: string; + /** + * String to identify the originator of this request. + */ + source?: string; + /** + * ID of the source volume. + */ + volumeId?: string; + } + class Resource$Volumes$Useruploaded { + root: Books; + constructor(root: Books); + getRoot(): Books; + /** + * books.volumes.useruploaded.list + * @desc Return a list of books uploaded by the current user. + * @alias books.volumes.useruploaded.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {string=} params.locale ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for generating recommendations. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.processingState The processing state of the user uploaded volumes to be returned. + * @param {string=} params.source String to identify the originator of this request. + * @param {integer=} params.startIndex Index of the first result to return (starts at 0) + * @param {string=} params.volumeId The ids of the volumes to be returned. If not specified all that match the processingState are returned. + * @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?: Params$Resource$Volumes$Useruploaded$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Volumes$Useruploaded$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Volumes$Useruploaded$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Volumes$Useruploaded$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for + * generating recommendations. + */ + locale?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * The processing state of the user uploaded volumes to be returned. + */ + processingState?: string; + /** + * String to identify the originator of this request. + */ + source?: string; + /** + * Index of the first result to return (starts at 0) + */ + startIndex?: number; + /** + * The ids of the volumes to be returned. If not specified all that match + * the processingState are returned. + */ + volumeId?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/books/v1.js b/express-server/node_modules/googleapis/build/src/apis/books/v1.js new file mode 100644 index 00000000..5ae998b4 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/books/v1.js @@ -0,0 +1,1919 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var books_v1; +(function (books_v1) { + /** + * Books API + * + * Searches for books and manages your Google Books library. + * + * @example + * const {google} = require('googleapis'); + * const books = google.books('v1'); + * + * @namespace books + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Books + */ + class Books { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.bookshelves = new Resource$Bookshelves(this); + this.cloudloading = new Resource$Cloudloading(this); + this.dictionary = new Resource$Dictionary(this); + this.familysharing = new Resource$Familysharing(this); + this.layers = new Resource$Layers(this); + this.myconfig = new Resource$Myconfig(this); + this.mylibrary = new Resource$Mylibrary(this); + this.notification = new Resource$Notification(this); + this.onboarding = new Resource$Onboarding(this); + this.personalizedstream = new Resource$Personalizedstream(this); + this.promooffer = new Resource$Promooffer(this); + this.series = new Resource$Series(this); + this.volumes = new Resource$Volumes(this); + } + getRoot() { + return this.root; + } + } + books_v1.Books = Books; + class Resource$Bookshelves { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.volumes = new Resource$Bookshelves$Volumes(root); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/books/v1/users/{userId}/bookshelves/{shelf}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userId', 'shelf'], + pathParams: ['shelf', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/books/v1/users/{userId}/bookshelves') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userId'], + pathParams: ['userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + books_v1.Resource$Bookshelves = Resource$Bookshelves; + class Resource$Bookshelves$Volumes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/books/v1/users/{userId}/bookshelves/{shelf}/volumes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userId', 'shelf'], + pathParams: ['shelf', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + books_v1.Resource$Bookshelves$Volumes = Resource$Bookshelves$Volumes; + class Resource$Cloudloading { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + addBook(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/books/v1/cloudloading/addBook') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + deleteBook(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/books/v1/cloudloading/deleteBook') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['volumeId'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + updateBook(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/books/v1/cloudloading/updateBook') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + books_v1.Resource$Cloudloading = Resource$Cloudloading; + class Resource$Dictionary { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + listOfflineMetadata(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/books/v1/dictionary/listOfflineMetadata') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['cpksver'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + books_v1.Resource$Dictionary = Resource$Dictionary; + class Resource$Familysharing { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + getFamilyInfo(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/books/v1/familysharing/getFamilyInfo') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + share(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/books/v1/familysharing/share') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + unshare(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/books/v1/familysharing/unshare') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + books_v1.Resource$Familysharing = Resource$Familysharing; + class Resource$Layers { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.annotationData = new Resource$Layers$Annotationdata(root); + this.volumeAnnotations = new Resource$Layers$Volumeannotations(root); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/books/v1/volumes/{volumeId}/layersummary/{summaryId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['volumeId', 'summaryId'], + pathParams: ['summaryId', 'volumeId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/books/v1/volumes/{volumeId}/layersummary') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['volumeId'], + pathParams: ['volumeId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + books_v1.Resource$Layers = Resource$Layers; + class Resource$Layers$Annotationdata { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/books/v1/volumes/{volumeId}/layers/{layerId}/data/{annotationDataId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['volumeId', 'layerId', 'annotationDataId', 'contentVersion'], + pathParams: ['annotationDataId', 'layerId', 'volumeId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/books/v1/volumes/{volumeId}/layers/{layerId}/data') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['volumeId', 'layerId', 'contentVersion'], + pathParams: ['layerId', 'volumeId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + books_v1.Resource$Layers$Annotationdata = Resource$Layers$Annotationdata; + class Resource$Layers$Volumeannotations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/books/v1/volumes/{volumeId}/layers/{layerId}/annotations/{annotationId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['volumeId', 'layerId', 'annotationId'], + pathParams: ['annotationId', 'layerId', 'volumeId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/books/v1/volumes/{volumeId}/layers/{layerId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['volumeId', 'layerId', 'contentVersion'], + pathParams: ['layerId', 'volumeId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + books_v1.Resource$Layers$Volumeannotations = Resource$Layers$Volumeannotations; + class Resource$Myconfig { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + getUserSettings(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/books/v1/myconfig/getUserSettings') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + releaseDownloadAccess(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/books/v1/myconfig/releaseDownloadAccess') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['volumeIds', 'cpksver'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + requestAccess(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/books/v1/myconfig/requestAccess') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['source', 'volumeId', 'nonce', 'cpksver'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + syncVolumeLicenses(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/books/v1/myconfig/syncVolumeLicenses') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['source', 'nonce', 'cpksver'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + updateUserSettings(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/books/v1/myconfig/updateUserSettings') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + books_v1.Resource$Myconfig = Resource$Myconfig; + class Resource$Mylibrary { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.annotations = new Resource$Mylibrary$Annotations(root); + this.bookshelves = new Resource$Mylibrary$Bookshelves(root); + this.readingpositions = new Resource$Mylibrary$Readingpositions(root); + } + getRoot() { + return this.root; + } + } + books_v1.Resource$Mylibrary = Resource$Mylibrary; + class Resource$Mylibrary$Annotations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/books/v1/mylibrary/annotations/{annotationId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['annotationId'], + pathParams: ['annotationId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/books/v1/mylibrary/annotations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/books/v1/mylibrary/annotations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + summary(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/books/v1/mylibrary/annotations/summary') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['layerIds', 'volumeId'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/books/v1/mylibrary/annotations/{annotationId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['annotationId'], + pathParams: ['annotationId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + books_v1.Resource$Mylibrary$Annotations = Resource$Mylibrary$Annotations; + class Resource$Mylibrary$Bookshelves { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.volumes = new Resource$Mylibrary$Bookshelves$Volumes(root); + } + getRoot() { + return this.root; + } + addVolume(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/books/v1/mylibrary/bookshelves/{shelf}/addVolume') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['shelf', 'volumeId'], + pathParams: ['shelf'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + clearVolumes(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/books/v1/mylibrary/bookshelves/{shelf}/clearVolumes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['shelf'], + pathParams: ['shelf'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/books/v1/mylibrary/bookshelves/{shelf}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['shelf'], + pathParams: ['shelf'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/books/v1/mylibrary/bookshelves') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + moveVolume(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/books/v1/mylibrary/bookshelves/{shelf}/moveVolume') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['shelf', 'volumeId', 'volumePosition'], + pathParams: ['shelf'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + removeVolume(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/books/v1/mylibrary/bookshelves/{shelf}/removeVolume') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['shelf', 'volumeId'], + pathParams: ['shelf'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + books_v1.Resource$Mylibrary$Bookshelves = Resource$Mylibrary$Bookshelves; + class Resource$Mylibrary$Bookshelves$Volumes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/books/v1/mylibrary/bookshelves/{shelf}/volumes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['shelf'], + pathParams: ['shelf'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + books_v1.Resource$Mylibrary$Bookshelves$Volumes = Resource$Mylibrary$Bookshelves$Volumes; + class Resource$Mylibrary$Readingpositions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/books/v1/mylibrary/readingpositions/{volumeId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['volumeId'], + pathParams: ['volumeId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setPosition(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/books/v1/mylibrary/readingpositions/{volumeId}/setPosition') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['volumeId', 'timestamp', 'position'], + pathParams: ['volumeId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + books_v1.Resource$Mylibrary$Readingpositions = Resource$Mylibrary$Readingpositions; + class Resource$Notification { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/books/v1/notification/get') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['notification_id'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + books_v1.Resource$Notification = Resource$Notification; + class Resource$Onboarding { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + listCategories(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/books/v1/onboarding/listCategories') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listCategoryVolumes(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/books/v1/onboarding/listCategoryVolumes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + books_v1.Resource$Onboarding = Resource$Onboarding; + class Resource$Personalizedstream { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/books/v1/personalizedstream/get') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + books_v1.Resource$Personalizedstream = Resource$Personalizedstream; + class Resource$Promooffer { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + accept(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/books/v1/promooffer/accept') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + dismiss(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/books/v1/promooffer/dismiss') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/books/v1/promooffer/get') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + books_v1.Resource$Promooffer = Resource$Promooffer; + class Resource$Series { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.membership = new Resource$Series$Membership(root); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/books/v1/series/get') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['series_id'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + books_v1.Resource$Series = Resource$Series; + class Resource$Series$Membership { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/books/v1/series/membership/get') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['series_id'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + books_v1.Resource$Series$Membership = Resource$Series$Membership; + class Resource$Volumes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.associated = new Resource$Volumes$Associated(root); + this.mybooks = new Resource$Volumes$Mybooks(root); + this.recommended = new Resource$Volumes$Recommended(root); + this.useruploaded = new Resource$Volumes$Useruploaded(root); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/books/v1/volumes/{volumeId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['volumeId'], + pathParams: ['volumeId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/books/v1/volumes').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['q'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + books_v1.Resource$Volumes = Resource$Volumes; + class Resource$Volumes$Associated { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/books/v1/volumes/{volumeId}/associated') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['volumeId'], + pathParams: ['volumeId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + books_v1.Resource$Volumes$Associated = Resource$Volumes$Associated; + class Resource$Volumes$Mybooks { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/books/v1/volumes/mybooks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + books_v1.Resource$Volumes$Mybooks = Resource$Volumes$Mybooks; + class Resource$Volumes$Recommended { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/books/v1/volumes/recommended') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + rate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/books/v1/volumes/recommended/rate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['rating', 'volumeId'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + books_v1.Resource$Volumes$Recommended = Resource$Volumes$Recommended; + class Resource$Volumes$Useruploaded { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/books/v1/volumes/useruploaded') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + books_v1.Resource$Volumes$Useruploaded = Resource$Volumes$Useruploaded; +})(books_v1 = exports.books_v1 || (exports.books_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/books/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/books/v1.js.map new file mode 100644 index 00000000..bf0c265e --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/books/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/books/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/calendar/README.md b/express-server/node_modules/googleapis/build/src/apis/calendar/README.md new file mode 100644 index 00000000..d49a9ff3 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/calendar/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/calendar + +> Manipulates events and other calendar data. + +## Installation + +```sh +$ npm install @google/calendar +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/calendar/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/calendar/index.d.ts new file mode 100644 index 00000000..e5a2ba0e --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/calendar/index.d.ts @@ -0,0 +1,6 @@ +import { calendar_v3 } from './v3'; +export declare const VERSIONS: { + 'v3': typeof calendar_v3.Calendar; +}; +export declare function calendar(version: 'v3'): calendar_v3.Calendar; +export declare function calendar(options: calendar_v3.Options): calendar_v3.Calendar; diff --git a/express-server/node_modules/googleapis/build/src/apis/calendar/index.js b/express-server/node_modules/googleapis/build/src/apis/calendar/index.js new file mode 100644 index 00000000..9be5534b --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/calendar/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v3_1 = require("./v3"); +exports.VERSIONS = { + 'v3': v3_1.calendar_v3.Calendar, +}; +function calendar(versionOrOptions) { + return googleapis_common_1.getAPI('calendar', versionOrOptions, exports.VERSIONS, this); +} +exports.calendar = calendar; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/calendar/index.js.map b/express-server/node_modules/googleapis/build/src/apis/calendar/index.js.map new file mode 100644 index 00000000..2d60da3a --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/calendar/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/calendar/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAiC;AAEpB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,gBAAW,CAAC,QAAQ;CAC3B,CAAC;AAIF,SAAgB,QAAQ,CACM,gBAA0C;IACtE,OAAO,0BAAM,CAAI,UAAU,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACjE,CAAC;AAHD,4BAGC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/calendar/package.json b/express-server/node_modules/googleapis/build/src/apis/calendar/package.json new file mode 100644 index 00000000..74019947 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/calendar/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/calendar", + "version": "0.1.0", + "description": "calendar", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/calendar/v3.d.ts b/express-server/node_modules/googleapis/build/src/apis/calendar/v3.d.ts new file mode 100644 index 00000000..a15cd171 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/calendar/v3.d.ts @@ -0,0 +1,3070 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace calendar_v3 { + interface Options extends GlobalOptions { + version: 'v3'; + } + /** + * Calendar API + * + * Manipulates events and other calendar data. + * + * @example + * const {google} = require('googleapis'); + * const calendar = google.calendar('v3'); + * + * @namespace calendar + * @type {Function} + * @version v3 + * @variation v3 + * @param {object=} options Options for Calendar + */ + class Calendar { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + acl: Resource$Acl; + calendarList: Resource$Calendarlist; + calendars: Resource$Calendars; + channels: Resource$Channels; + colors: Resource$Colors; + events: Resource$Events; + freebusy: Resource$Freebusy; + settings: Resource$Settings; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + interface Schema$Acl { + /** + * ETag of the collection. + */ + etag?: string; + /** + * List of rules on the access control list. + */ + items?: Schema$AclRule[]; + /** + * Type of the collection ("calendar#acl"). + */ + kind?: string; + /** + * Token used to access the next page of this result. Omitted if no further + * results are available, in which case nextSyncToken is provided. + */ + nextPageToken?: string; + /** + * Token used at a later point in time to retrieve only the entries that + * have changed since this result was returned. Omitted if further results + * are available, in which case nextPageToken is provided. + */ + nextSyncToken?: string; + } + interface Schema$AclRule { + /** + * ETag of the resource. + */ + etag?: string; + /** + * Identifier of the ACL rule. + */ + id?: string; + /** + * Type of the resource ("calendar#aclRule"). + */ + kind?: string; + /** + * The role assigned to the scope. Possible values are: - "none" + * - Provides no access. - "freeBusyReader" - Provides read + * access to free/busy information. - "reader" - Provides read + * access to the calendar. Private events will appear to users with reader + * access, but event details will be hidden. - "writer" - + * Provides read and write access to the calendar. Private events will + * appear to users with writer access, and event details will be visible. - + * "owner" - Provides ownership of the calendar. This role has all + * of the permissions of the writer role with the additional ability to see + * and manipulate ACLs. + */ + role?: string; + /** + * The scope of the rule. + */ + scope?: any; + } + interface Schema$Calendar { + /** + * Conferencing properties for this calendar, for example what types of + * conferences are allowed. + */ + conferenceProperties?: Schema$ConferenceProperties; + /** + * Description of the calendar. Optional. + */ + description?: string; + /** + * ETag of the resource. + */ + etag?: string; + /** + * Identifier of the calendar. To retrieve IDs call the calendarList.list() + * method. + */ + id?: string; + /** + * Type of the resource ("calendar#calendar"). + */ + kind?: string; + /** + * Geographic location of the calendar as free-form text. Optional. + */ + location?: string; + /** + * Title of the calendar. + */ + summary?: string; + /** + * The time zone of the calendar. (Formatted as an IANA Time Zone Database + * name, e.g. "Europe/Zurich".) Optional. + */ + timeZone?: string; + } + interface Schema$CalendarList { + /** + * ETag of the collection. + */ + etag?: string; + /** + * Calendars that are present on the user's calendar list. + */ + items?: Schema$CalendarListEntry[]; + /** + * Type of the collection ("calendar#calendarList"). + */ + kind?: string; + /** + * Token used to access the next page of this result. Omitted if no further + * results are available, in which case nextSyncToken is provided. + */ + nextPageToken?: string; + /** + * Token used at a later point in time to retrieve only the entries that + * have changed since this result was returned. Omitted if further results + * are available, in which case nextPageToken is provided. + */ + nextSyncToken?: string; + } + interface Schema$CalendarListEntry { + /** + * The effective access role that the authenticated user has on the + * calendar. Read-only. Possible values are: - "freeBusyReader" + * - Provides read access to free/busy information. - "reader" - + * Provides read access to the calendar. Private events will appear to users + * with reader access, but event details will be hidden. - + * "writer" - Provides read and write access to the calendar. + * Private events will appear to users with writer access, and event details + * will be visible. - "owner" - Provides ownership of the + * calendar. This role has all of the permissions of the writer role with + * the additional ability to see and manipulate ACLs. + */ + accessRole?: string; + /** + * The main color of the calendar in the hexadecimal format + * "#0088aa". This property supersedes the index-based colorId + * property. To set or change this property, you need to specify + * colorRgbFormat=true in the parameters of the insert, update and patch + * methods. Optional. + */ + backgroundColor?: string; + /** + * The color of the calendar. This is an ID referring to an entry in the + * calendar section of the colors definition (see the colors endpoint). This + * property is superseded by the backgroundColor and foregroundColor + * properties and can be ignored when using these properties. Optional. + */ + colorId?: string; + /** + * Conferencing properties for this calendar, for example what types of + * conferences are allowed. + */ + conferenceProperties?: Schema$ConferenceProperties; + /** + * The default reminders that the authenticated user has for this calendar. + */ + defaultReminders?: Schema$EventReminder[]; + /** + * Whether this calendar list entry has been deleted from the calendar list. + * Read-only. Optional. The default is False. + */ + deleted?: boolean; + /** + * Description of the calendar. Optional. Read-only. + */ + description?: string; + /** + * ETag of the resource. + */ + etag?: string; + /** + * The foreground color of the calendar in the hexadecimal format + * "#ffffff". This property supersedes the index-based colorId + * property. To set or change this property, you need to specify + * colorRgbFormat=true in the parameters of the insert, update and patch + * methods. Optional. + */ + foregroundColor?: string; + /** + * Whether the calendar has been hidden from the list. Optional. The default + * is False. + */ + hidden?: boolean; + /** + * Identifier of the calendar. + */ + id?: string; + /** + * Type of the resource ("calendar#calendarListEntry"). + */ + kind?: string; + /** + * Geographic location of the calendar as free-form text. Optional. + * Read-only. + */ + location?: string; + /** + * The notifications that the authenticated user is receiving for this + * calendar. + */ + notificationSettings?: any; + /** + * Whether the calendar is the primary calendar of the authenticated user. + * Read-only. Optional. The default is False. + */ + primary?: boolean; + /** + * Whether the calendar content shows up in the calendar UI. Optional. The + * default is False. + */ + selected?: boolean; + /** + * Title of the calendar. Read-only. + */ + summary?: string; + /** + * The summary that the authenticated user has set for this calendar. + * Optional. + */ + summaryOverride?: string; + /** + * The time zone of the calendar. Optional. Read-only. + */ + timeZone?: string; + } + interface Schema$CalendarNotification { + /** + * The method used to deliver the notification. Possible values are: - + * "email" - Reminders are sent via email. - "sms" - + * Reminders are sent via SMS. This value is read-only and is ignored on + * inserts and updates. SMS reminders are only available for G Suite + * customers. Required when adding a notification. + */ + method?: string; + /** + * The type of notification. Possible values are: - + * "eventCreation" - Notification sent when a new event is put on + * the calendar. - "eventChange" - Notification sent when an + * event is changed. - "eventCancellation" - Notification sent + * when an event is cancelled. - "eventResponse" - Notification + * sent when an attendee responds to the event invitation. - + * "agenda" - An agenda with the events of the day (sent out in + * the morning). Required when adding a notification. + */ + type?: string; + } + interface Schema$Channel { + /** + * The address where notifications are delivered for this channel. + */ + address?: string; + /** + * Date and time of notification channel expiration, expressed as a Unix + * timestamp, in milliseconds. Optional. + */ + expiration?: string; + /** + * A UUID or similar unique string that identifies this channel. + */ + id?: string; + /** + * Identifies this as a notification channel used to watch for changes to a + * resource. Value: the fixed string "api#channel". + */ + kind?: string; + /** + * Additional parameters controlling delivery channel behavior. Optional. + */ + params?: any; + /** + * A Boolean value to indicate whether payload is wanted. Optional. + */ + payload?: boolean; + /** + * An opaque ID that identifies the resource being watched on this channel. + * Stable across different API versions. + */ + resourceId?: string; + /** + * A version-specific identifier for the watched resource. + */ + resourceUri?: string; + /** + * An arbitrary string delivered to the target address with each + * notification delivered over this channel. Optional. + */ + token?: string; + /** + * The type of delivery mechanism used for this channel. + */ + type?: string; + } + interface Schema$ColorDefinition { + /** + * The background color associated with this color definition. + */ + background?: string; + /** + * The foreground color that can be used to write on top of a background + * with 'background' color. + */ + foreground?: string; + } + interface Schema$Colors { + /** + * A global palette of calendar colors, mapping from the color ID to its + * definition. A calendarListEntry resource refers to one of these color IDs + * in its color field. Read-only. + */ + calendar?: any; + /** + * A global palette of event colors, mapping from the color ID to its + * definition. An event resource may refer to one of these color IDs in its + * color field. Read-only. + */ + event?: any; + /** + * Type of the resource ("calendar#colors"). + */ + kind?: string; + /** + * Last modification time of the color palette (as a RFC3339 timestamp). + * Read-only. + */ + updated?: string; + } + interface Schema$ConferenceData { + /** + * The ID of the conference. Can be used by developers to keep track of + * conferences, should not be displayed to users. Values for solution types: + * - "eventHangout": unset. - "eventNamedHangout": the + * name of the Hangout. - "hangoutsMeet": the 10-letter meeting + * code, for example "aaa-bbbb-ccc". Optional. + */ + conferenceId?: string; + /** + * The conference solution, such as Hangouts or Hangouts Meet. Unset for a + * conference with a failed create request. Either conferenceSolution and at + * least one entryPoint, or createRequest is required. + */ + conferenceSolution?: Schema$ConferenceSolution; + /** + * A request to generate a new conference and attach it to the event. The + * data is generated asynchronously. To see whether the data is present + * check the status field. Either conferenceSolution and at least one + * entryPoint, or createRequest is required. + */ + createRequest?: Schema$CreateConferenceRequest; + /** + * Information about individual conference entry points, such as URLs or + * phone numbers. All of them must belong to the same conference. Either + * conferenceSolution and at least one entryPoint, or createRequest is + * required. + */ + entryPoints?: Schema$EntryPoint[]; + /** + * Additional notes (such as instructions from the domain administrator, + * legal notices) to display to the user. Can contain HTML. The maximum + * length is 2048 characters. Optional. + */ + notes?: string; + /** + * Additional properties related to a conference. An example would be a + * solution-specific setting for enabling video streaming. + */ + parameters?: Schema$ConferenceParameters; + /** + * The signature of the conference data. Genereated on server side. Must be + * preserved while copying the conference data between events, otherwise the + * conference data will not be copied. Unset for a conference with a failed + * create request. Optional for a conference with a pending create request. + */ + signature?: string; + } + interface Schema$ConferenceParameters { + /** + * Additional add-on specific data. + */ + addOnParameters?: Schema$ConferenceParametersAddOnParameters; + } + interface Schema$ConferenceParametersAddOnParameters { + parameters?: any; + } + interface Schema$ConferenceProperties { + /** + * The types of conference solutions that are supported for this calendar. + * The possible values are: - "eventHangout" - + * "eventNamedHangout" - "hangoutsMeet" Optional. + */ + allowedConferenceSolutionTypes?: string[]; + } + interface Schema$ConferenceRequestStatus { + /** + * The current status of the conference create request. Read-only. The + * possible values are: - "pending": the conference create + * request is still being processed. - "success": the conference + * create request succeeded, the entry points are populated. - + * "failure": the conference create request failed, there are no + * entry points. + */ + statusCode?: string; + } + interface Schema$ConferenceSolution { + /** + * The user-visible icon for this solution. + */ + iconUri?: string; + /** + * The key which can uniquely identify the conference solution for this + * event. + */ + key?: Schema$ConferenceSolutionKey; + /** + * The user-visible name of this solution. Not localized. + */ + name?: string; + } + interface Schema$ConferenceSolutionKey { + /** + * The conference solution type. If a client encounters an unfamiliar or + * empty type, it should still be able to display the entry points. However, + * it should disallow modifications. The possible values are: - + * "eventHangout" for Hangouts for consumers + * (http://hangouts.google.com) - "eventNamedHangout" for classic + * Hangouts for G Suite users (http://hangouts.google.com) - + * "hangoutsMeet" for Hangouts Meet (http://meet.google.com) + */ + type?: string; + } + interface Schema$CreateConferenceRequest { + /** + * The conference solution, such as Hangouts or Hangouts Meet. + */ + conferenceSolutionKey?: Schema$ConferenceSolutionKey; + /** + * The client-generated unique ID for this request. Clients should + * regenerate this ID for every new request. If an ID provided is the same + * as for the previous request, the request is ignored. + */ + requestId?: string; + /** + * The status of the conference create request. + */ + status?: Schema$ConferenceRequestStatus; + } + interface Schema$EntryPoint { + /** + * The access code to access the conference. The maximum length is 128 + * characters. When creating new conference data, populate only the subset + * of {meetingCode, accessCode, passcode, password, pin} fields that match + * the terminology that the conference provider uses. Only the populated + * fields should be displayed. Optional. + */ + accessCode?: string; + /** + * Features of the entry point, such as being toll or toll-free. One entry + * point can have multiple features. However, toll and toll-free cannot be + * both set on the same entry point. + */ + entryPointFeatures?: string[]; + /** + * The type of the conference entry point. Possible values are: - + * "video" - joining a conference over HTTP. A conference can have + * zero or one video entry point. - "phone" - joining a conference + * by dialing a phone number. A conference can have zero or more phone entry + * points. - "sip" - joining a conference over SIP. A conference + * can have zero or one sip entry point. - "more" - further + * conference joining instructions, for example additional phone numbers. A + * conference can have zero or one more entry point. A conference with only + * a more entry point is not a valid conference. + */ + entryPointType?: string; + /** + * The label for the URI. Visible to end users. Not localized. The maximum + * length is 512 characters. Examples: - for video: + * meet.google.com/aaa-bbbb-ccc - for phone: +1 123 268 2601 - for sip: + * 12345678@altostrat.com - for more: should not be filled Optional. + */ + label?: string; + /** + * The meeting code to access the conference. The maximum length is 128 + * characters. When creating new conference data, populate only the subset + * of {meetingCode, accessCode, passcode, password, pin} fields that match + * the terminology that the conference provider uses. Only the populated + * fields should be displayed. Optional. + */ + meetingCode?: string; + /** + * The passcode to access the conference. The maximum length is 128 + * characters. When creating new conference data, populate only the subset + * of {meetingCode, accessCode, passcode, password, pin} fields that match + * the terminology that the conference provider uses. Only the populated + * fields should be displayed. + */ + passcode?: string; + /** + * The password to access the conference. The maximum length is 128 + * characters. When creating new conference data, populate only the subset + * of {meetingCode, accessCode, passcode, password, pin} fields that match + * the terminology that the conference provider uses. Only the populated + * fields should be displayed. Optional. + */ + password?: string; + /** + * The PIN to access the conference. The maximum length is 128 characters. + * When creating new conference data, populate only the subset of + * {meetingCode, accessCode, passcode, password, pin} fields that match the + * terminology that the conference provider uses. Only the populated fields + * should be displayed. Optional. + */ + pin?: string; + /** + * The CLDR/ISO 3166 region code for the country associated with this phone + * access. Example: "SE" for Sweden. Calendar backend will + * populate this field only for EntryPointType.PHONE. + */ + regionCode?: string; + /** + * The URI of the entry point. The maximum length is 1300 characters. + * Format: - for video, http: or https: schema is required. - for phone, + * tel: schema is required. The URI should include the entire dial sequence + * (e.g., tel:+12345678900,,,123456789;1234). - for sip, sip: schema is + * required, e.g., sip:12345678@myprovider.com. - for more, http: or https: + * schema is required. + */ + uri?: string; + } + interface Schema$Error { + /** + * Domain, or broad category, of the error. + */ + domain?: string; + /** + * Specific reason for the error. Some of the possible values are: - + * "groupTooBig" - The group of users requested is too large for a + * single query. - "tooManyCalendarsRequested" - The number of + * calendars requested is too large for a single query. - + * "notFound" - The requested resource was not found. - + * "internalError" - The API service has encountered an internal + * error. Additional error types may be added in the future, so clients + * should gracefully handle additional error statuses not included in this + * list. + */ + reason?: string; + } + interface Schema$Event { + /** + * Whether anyone can invite themselves to the event (currently works for + * Google+ events only). Optional. The default is False. + */ + anyoneCanAddSelf?: boolean; + /** + * File attachments for the event. Currently only Google Drive attachments + * are supported. In order to modify attachments the supportsAttachments + * request parameter should be set to true. There can be at most 25 + * attachments per event, + */ + attachments?: Schema$EventAttachment[]; + /** + * The attendees of the event. See the Events with attendees guide for more + * information on scheduling events with other calendar users. + */ + attendees?: Schema$EventAttendee[]; + /** + * Whether attendees may have been omitted from the event's + * representation. When retrieving an event, this may be due to a + * restriction specified by the maxAttendee query parameter. When updating + * an event, this can be used to only update the participant's response. + * Optional. The default is False. + */ + attendeesOmitted?: boolean; + /** + * The color of the event. This is an ID referring to an entry in the event + * section of the colors definition (see the colors endpoint). Optional. + */ + colorId?: string; + /** + * The conference-related information, such as details of a Hangouts Meet + * conference. To create new conference details use the createRequest field. + * To persist your changes, remember to set the conferenceDataVersion + * request parameter to 1 for all event modification requests. + */ + conferenceData?: Schema$ConferenceData; + /** + * Creation time of the event (as a RFC3339 timestamp). Read-only. + */ + created?: string; + /** + * The creator of the event. Read-only. + */ + creator?: any; + /** + * Description of the event. Optional. + */ + description?: string; + /** + * The (exclusive) end time of the event. For a recurring event, this is the + * end time of the first instance. + */ + end?: Schema$EventDateTime; + /** + * Whether the end time is actually unspecified. An end time is still + * provided for compatibility reasons, even if this attribute is set to + * True. The default is False. + */ + endTimeUnspecified?: boolean; + /** + * ETag of the resource. + */ + etag?: string; + /** + * Extended properties of the event. + */ + extendedProperties?: any; + /** + * A gadget that extends this event. + */ + gadget?: any; + /** + * Whether attendees other than the organizer can invite others to the + * event. Optional. The default is True. + */ + guestsCanInviteOthers?: boolean; + /** + * Whether attendees other than the organizer can modify the event. + * Optional. The default is False. + */ + guestsCanModify?: boolean; + /** + * Whether attendees other than the organizer can see who the event's + * attendees are. Optional. The default is True. + */ + guestsCanSeeOtherGuests?: boolean; + /** + * An absolute link to the Google+ hangout associated with this event. + * Read-only. + */ + hangoutLink?: string; + /** + * An absolute link to this event in the Google Calendar Web UI. Read-only. + */ + htmlLink?: string; + /** + * Event unique identifier as defined in RFC5545. It is used to uniquely + * identify events accross calendaring systems and must be supplied when + * importing events via the import method. Note that the icalUID and the id + * are not identical and only one of them should be supplied at event + * creation time. One difference in their semantics is that in recurring + * events, all occurrences of one event have different ids while they all + * share the same icalUIDs. + */ + iCalUID?: string; + /** + * Opaque identifier of the event. When creating new single or recurring + * events, you can specify their IDs. Provided IDs must follow these rules: + * - characters allowed in the ID are those used in base32hex encoding, i.e. + * lowercase letters a-v and digits 0-9, see section 3.1.2 in RFC2938 - the + * length of the ID must be between 5 and 1024 characters - the ID must be + * unique per calendar Due to the globally distributed nature of the + * system, we cannot guarantee that ID collisions will be detected at event + * creation time. To minimize the risk of collisions we recommend using an + * established UUID algorithm such as one described in RFC4122. If you do + * not specify an ID, it will be automatically generated by the server. Note + * that the icalUID and the id are not identical and only one of them should + * be supplied at event creation time. One difference in their semantics is + * that in recurring events, all occurrences of one event have different ids + * while they all share the same icalUIDs. + */ + id?: string; + /** + * Type of the resource ("calendar#event"). + */ + kind?: string; + /** + * Geographic location of the event as free-form text. Optional. + */ + location?: string; + /** + * Whether this is a locked event copy where no changes can be made to the + * main event fields "summary", "description", + * "location", "start", "end" or + * "recurrence". The default is False. Read-Only. + */ + locked?: boolean; + /** + * The organizer of the event. If the organizer is also an attendee, this is + * indicated with a separate entry in attendees with the organizer field set + * to True. To change the organizer, use the move operation. Read-only, + * except when importing an event. + */ + organizer?: any; + /** + * For an instance of a recurring event, this is the time at which this + * event would start according to the recurrence data in the recurring event + * identified by recurringEventId. It uniquely identifies the instance + * within the recurring event series even if the instance was moved to a + * different time. Immutable. + */ + originalStartTime?: Schema$EventDateTime; + /** + * Whether this is a private event copy where changes are not shared with + * other copies on other calendars. Optional. Immutable. The default is + * False. + */ + privateCopy?: boolean; + /** + * List of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event, as + * specified in RFC5545. Note that DTSTART and DTEND lines are not allowed + * in this field; event start and end times are specified in the start and + * end fields. This field is omitted for single events or instances of + * recurring events. + */ + recurrence?: string[]; + /** + * For an instance of a recurring event, this is the id of the recurring + * event to which this instance belongs. Immutable. + */ + recurringEventId?: string; + /** + * Information about the event's reminders for the authenticated user. + */ + reminders?: any; + /** + * Sequence number as per iCalendar. + */ + sequence?: number; + /** + * Source from which the event was created. For example, a web page, an + * email message or any document identifiable by an URL with HTTP or HTTPS + * scheme. Can only be seen or modified by the creator of the event. + */ + source?: any; + /** + * The (inclusive) start time of the event. For a recurring event, this is + * the start time of the first instance. + */ + start?: Schema$EventDateTime; + /** + * Status of the event. Optional. Possible values are: - + * "confirmed" - The event is confirmed. This is the default + * status. - "tentative" - The event is tentatively confirmed. - + * "cancelled" - The event is cancelled (deleted). The list method + * returns cancelled events only on incremental sync (when syncToken or + * updatedMin are specified) or if the showDeleted flag is set to true. The + * get method always returns them. A cancelled status represents two + * different states depending on the event type: - Cancelled exceptions of + * an uncancelled recurring event indicate that this instance should no + * longer be presented to the user. Clients should store these events for + * the lifetime of the parent recurring event. Cancelled exceptions are only + * guaranteed to have values for the id, recurringEventId and + * originalStartTime fields populated. The other fields might be empty. - + * All other cancelled events represent deleted events. Clients should + * remove their locally synced copies. Such cancelled events will eventually + * disappear, so do not rely on them being available indefinitely. Deleted + * events are only guaranteed to have the id field populated. On the + * organizer's calendar, cancelled events continue to expose event + * details (summary, location, etc.) so that they can be restored + * (undeleted). Similarly, the events to which the user was invited and that + * they manually removed continue to provide details. However, incremental + * sync requests with showDeleted set to false will not return these + * details. If an event changes its organizer (for example via the move + * operation) and the original organizer is not on the attendee list, it + * will leave behind a cancelled event where only the id field is guaranteed + * to be populated. + */ + status?: string; + /** + * Title of the event. + */ + summary?: string; + /** + * Whether the event blocks time on the calendar. Optional. Possible values + * are: - "opaque" - Default value. The event does block time on + * the calendar. This is equivalent to setting Show me as to Busy in the + * Calendar UI. - "transparent" - The event does not block time + * on the calendar. This is equivalent to setting Show me as to Available in + * the Calendar UI. + */ + transparency?: string; + /** + * Last modification time of the event (as a RFC3339 timestamp). Read-only. + */ + updated?: string; + /** + * Visibility of the event. Optional. Possible values are: - + * "default" - Uses the default visibility for events on the + * calendar. This is the default value. - "public" - The event is + * public and event details are visible to all readers of the calendar. - + * "private" - The event is private and only event attendees may + * view event details. - "confidential" - The event is private. + * This value is provided for compatibility reasons. + */ + visibility?: string; + } + interface Schema$EventAttachment { + /** + * ID of the attached file. Read-only. For Google Drive files, this is the + * ID of the corresponding Files resource entry in the Drive API. + */ + fileId?: string; + /** + * URL link to the attachment. For adding Google Drive file attachments use + * the same format as in alternateLink property of the Files resource in the + * Drive API. Required when adding an attachment. + */ + fileUrl?: string; + /** + * URL link to the attachment's icon. Read-only. + */ + iconLink?: string; + /** + * Internet media type (MIME type) of the attachment. + */ + mimeType?: string; + /** + * Attachment title. + */ + title?: string; + } + interface Schema$EventAttendee { + /** + * Number of additional guests. Optional. The default is 0. + */ + additionalGuests?: number; + /** + * The attendee's response comment. Optional. + */ + comment?: string; + /** + * The attendee's name, if available. Optional. + */ + displayName?: string; + /** + * The attendee's email address, if available. This field must be + * present when adding an attendee. It must be a valid email address as per + * RFC5322. Required when adding an attendee. + */ + email?: string; + /** + * The attendee's Profile ID, if available. It corresponds to the id + * field in the People collection of the Google+ API + */ + id?: string; + /** + * Whether this is an optional attendee. Optional. The default is False. + */ + optional?: boolean; + /** + * Whether the attendee is the organizer of the event. Read-only. The + * default is False. + */ + organizer?: boolean; + /** + * Whether the attendee is a resource. Can only be set when the attendee is + * added to the event for the first time. Subsequent modifications are + * ignored. Optional. The default is False. + */ + resource?: boolean; + /** + * The attendee's response status. Possible values are: - + * "needsAction" - The attendee has not responded to the + * invitation. - "declined" - The attendee has declined the + * invitation. - "tentative" - The attendee has tentatively + * accepted the invitation. - "accepted" - The attendee has + * accepted the invitation. + */ + responseStatus?: string; + /** + * Whether this entry represents the calendar on which this copy of the + * event appears. Read-only. The default is False. + */ + self?: boolean; + } + interface Schema$EventDateTime { + /** + * The date, in the format "yyyy-mm-dd", if this is an all-day + * event. + */ + date?: string; + /** + * The time, as a combined date-time value (formatted according to RFC3339). + * A time zone offset is required unless a time zone is explicitly specified + * in timeZone. + */ + dateTime?: string; + /** + * The time zone in which the time is specified. (Formatted as an IANA Time + * Zone Database name, e.g. "Europe/Zurich".) For recurring events + * this field is required and specifies the time zone in which the + * recurrence is expanded. For single events this field is optional and + * indicates a custom time zone for the event start/end. + */ + timeZone?: string; + } + interface Schema$EventReminder { + /** + * The method used by this reminder. Possible values are: - + * "email" - Reminders are sent via email. - "sms" - + * Reminders are sent via SMS. These are only available for G Suite + * customers. Requests to set SMS reminders for other account types are + * ignored. - "popup" - Reminders are sent via a UI popup. + * Required when adding a reminder. + */ + method?: string; + /** + * Number of minutes before the start of the event when the reminder should + * trigger. Valid values are between 0 and 40320 (4 weeks in minutes). + * Required when adding a reminder. + */ + minutes?: number; + } + interface Schema$Events { + /** + * The user's access role for this calendar. Read-only. Possible values + * are: - "none" - The user has no access. - + * "freeBusyReader" - The user has read access to free/busy + * information. - "reader" - The user has read access to the + * calendar. Private events will appear to users with reader access, but + * event details will be hidden. - "writer" - The user has read + * and write access to the calendar. Private events will appear to users + * with writer access, and event details will be visible. - + * "owner" - The user has ownership of the calendar. This role has + * all of the permissions of the writer role with the additional ability to + * see and manipulate ACLs. + */ + accessRole?: string; + /** + * The default reminders on the calendar for the authenticated user. These + * reminders apply to all events on this calendar that do not explicitly + * override them (i.e. do not have reminders.useDefault set to True). + */ + defaultReminders?: Schema$EventReminder[]; + /** + * Description of the calendar. Read-only. + */ + description?: string; + /** + * ETag of the collection. + */ + etag?: string; + /** + * List of events on the calendar. + */ + items?: Schema$Event[]; + /** + * Type of the collection ("calendar#events"). + */ + kind?: string; + /** + * Token used to access the next page of this result. Omitted if no further + * results are available, in which case nextSyncToken is provided. + */ + nextPageToken?: string; + /** + * Token used at a later point in time to retrieve only the entries that + * have changed since this result was returned. Omitted if further results + * are available, in which case nextPageToken is provided. + */ + nextSyncToken?: string; + /** + * Title of the calendar. Read-only. + */ + summary?: string; + /** + * The time zone of the calendar. Read-only. + */ + timeZone?: string; + /** + * Last modification time of the calendar (as a RFC3339 timestamp). + * Read-only. + */ + updated?: string; + } + interface Schema$FreeBusyCalendar { + /** + * List of time ranges during which this calendar should be regarded as + * busy. + */ + busy?: Schema$TimePeriod[]; + /** + * Optional error(s) (if computation for the calendar failed). + */ + errors?: Schema$Error[]; + } + interface Schema$FreeBusyGroup { + /** + * List of calendars' identifiers within a group. + */ + calendars?: string[]; + /** + * Optional error(s) (if computation for the group failed). + */ + errors?: Schema$Error[]; + } + interface Schema$FreeBusyRequest { + /** + * Maximal number of calendars for which FreeBusy information is to be + * provided. Optional. Maximum value is 50. + */ + calendarExpansionMax?: number; + /** + * Maximal number of calendar identifiers to be provided for a single group. + * Optional. An error is returned for a group with more members than this + * value. Maximum value is 100. + */ + groupExpansionMax?: number; + /** + * List of calendars and/or groups to query. + */ + items?: Schema$FreeBusyRequestItem[]; + /** + * The end of the interval for the query formatted as per RFC3339. + */ + timeMax?: string; + /** + * The start of the interval for the query formatted as per RFC3339. + */ + timeMin?: string; + /** + * Time zone used in the response. Optional. The default is UTC. + */ + timeZone?: string; + } + interface Schema$FreeBusyRequestItem { + /** + * The identifier of a calendar or a group. + */ + id?: string; + } + interface Schema$FreeBusyResponse { + /** + * List of free/busy information for calendars. + */ + calendars?: any; + /** + * Expansion of groups. + */ + groups?: any; + /** + * Type of the resource ("calendar#freeBusy"). + */ + kind?: string; + /** + * The end of the interval. + */ + timeMax?: string; + /** + * The start of the interval. + */ + timeMin?: string; + } + interface Schema$Setting { + /** + * ETag of the resource. + */ + etag?: string; + /** + * The id of the user setting. + */ + id?: string; + /** + * Type of the resource ("calendar#setting"). + */ + kind?: string; + /** + * Value of the user setting. The format of the value depends on the ID of + * the setting. It must always be a UTF-8 string of length up to 1024 + * characters. + */ + value?: string; + } + interface Schema$Settings { + /** + * Etag of the collection. + */ + etag?: string; + /** + * List of user settings. + */ + items?: Schema$Setting[]; + /** + * Type of the collection ("calendar#settings"). + */ + kind?: string; + /** + * Token used to access the next page of this result. Omitted if no further + * results are available, in which case nextSyncToken is provided. + */ + nextPageToken?: string; + /** + * Token used at a later point in time to retrieve only the entries that + * have changed since this result was returned. Omitted if further results + * are available, in which case nextPageToken is provided. + */ + nextSyncToken?: string; + } + interface Schema$TimePeriod { + /** + * The (exclusive) end of the time period. + */ + end?: string; + /** + * The (inclusive) start of the time period. + */ + start?: string; + } + class Resource$Acl { + root: Calendar; + constructor(root: Calendar); + getRoot(): Calendar; + /** + * calendar.acl.delete + * @desc Deletes an access control rule. + * @alias calendar.acl.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.calendarId Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the "primary" keyword. + * @param {string} params.ruleId ACL rule identifier. + * @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?: Params$Resource$Acl$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Acl$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Acl$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * calendar.acl.get + * @desc Returns an access control rule. + * @alias calendar.acl.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.calendarId Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the "primary" keyword. + * @param {string} params.ruleId ACL rule identifier. + * @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?: Params$Resource$Acl$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Acl$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Acl$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * calendar.acl.insert + * @desc Creates an access control rule. + * @alias calendar.acl.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.calendarId Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the "primary" keyword. + * @param {boolean=} params.sendNotifications Whether to send notifications about the calendar sharing change. Optional. The default is True. + * @param {().AclRule} 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?: Params$Resource$Acl$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Acl$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Acl$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * calendar.acl.list + * @desc Returns the rules in the access control list for the calendar. + * @alias calendar.acl.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.calendarId Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the "primary" keyword. + * @param {integer=} params.maxResults Maximum number of entries returned on one result page. By default the value is 100 entries. The page size can never be larger than 250 entries. Optional. + * @param {string=} params.pageToken Token specifying which result page to return. Optional. + * @param {boolean=} params.showDeleted Whether to include deleted ACLs in the result. Deleted ACLs are represented by role equal to "none". Deleted ACLs will always be included if syncToken is provided. Optional. The default is False. + * @param {string=} params.syncToken Token obtained from the nextSyncToken field returned on the last page of results from the previous list request. It makes the result of this list request contain only entries that have changed since then. All entries deleted since the previous list request will always be in the result set and it is not allowed to set showDeleted to False. If the syncToken expires, the server will respond with a 410 GONE response code and the client should clear its storage and perform a full synchronization without any syncToken. Learn more about incremental synchronization. Optional. The default is to return all entries. + * @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?: Params$Resource$Acl$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Acl$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Acl$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * calendar.acl.patch + * @desc Updates an access control rule. This method supports patch + * semantics. + * @alias calendar.acl.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.calendarId Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the "primary" keyword. + * @param {string} params.ruleId ACL rule identifier. + * @param {boolean=} params.sendNotifications Whether to send notifications about the calendar sharing change. Note that there are no notifications on access removal. Optional. The default is True. + * @param {().AclRule} 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 + */ + patch(params?: Params$Resource$Acl$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Acl$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Acl$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * calendar.acl.update + * @desc Updates an access control rule. + * @alias calendar.acl.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.calendarId Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the "primary" keyword. + * @param {string} params.ruleId ACL rule identifier. + * @param {boolean=} params.sendNotifications Whether to send notifications about the calendar sharing change. Note that there are no notifications on access removal. Optional. The default is True. + * @param {().AclRule} 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?: Params$Resource$Acl$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Acl$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Acl$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + /** + * calendar.acl.watch + * @desc Watch for changes to ACL resources. + * @alias calendar.acl.watch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.calendarId Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the "primary" keyword. + * @param {integer=} params.maxResults Maximum number of entries returned on one result page. By default the value is 100 entries. The page size can never be larger than 250 entries. Optional. + * @param {string=} params.pageToken Token specifying which result page to return. Optional. + * @param {boolean=} params.showDeleted Whether to include deleted ACLs in the result. Deleted ACLs are represented by role equal to "none". Deleted ACLs will always be included if syncToken is provided. Optional. The default is False. + * @param {string=} params.syncToken Token obtained from the nextSyncToken field returned on the last page of results from the previous list request. It makes the result of this list request contain only entries that have changed since then. All entries deleted since the previous list request will always be in the result set and it is not allowed to set showDeleted to False. If the syncToken expires, the server will respond with a 410 GONE response code and the client should clear its storage and perform a full synchronization without any syncToken. Learn more about incremental synchronization. Optional. The default is to return all entries. + * @param {().Channel} 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 + */ + watch(params?: Params$Resource$Acl$Watch, options?: MethodOptions): AxiosPromise; + watch(params: Params$Resource$Acl$Watch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + watch(params: Params$Resource$Acl$Watch, callback: BodyResponseCallback): void; + watch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Acl$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Calendar identifier. To retrieve calendar IDs call the calendarList.list + * method. If you want to access the primary calendar of the currently + * logged in user, use the "primary" keyword. + */ + calendarId?: string; + /** + * ACL rule identifier. + */ + ruleId?: string; + } + interface Params$Resource$Acl$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Calendar identifier. To retrieve calendar IDs call the calendarList.list + * method. If you want to access the primary calendar of the currently + * logged in user, use the "primary" keyword. + */ + calendarId?: string; + /** + * ACL rule identifier. + */ + ruleId?: string; + } + interface Params$Resource$Acl$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Calendar identifier. To retrieve calendar IDs call the calendarList.list + * method. If you want to access the primary calendar of the currently + * logged in user, use the "primary" keyword. + */ + calendarId?: string; + /** + * Whether to send notifications about the calendar sharing change. + * Optional. The default is True. + */ + sendNotifications?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$AclRule; + } + interface Params$Resource$Acl$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Calendar identifier. To retrieve calendar IDs call the calendarList.list + * method. If you want to access the primary calendar of the currently + * logged in user, use the "primary" keyword. + */ + calendarId?: string; + /** + * Maximum number of entries returned on one result page. By default the + * value is 100 entries. The page size can never be larger than 250 entries. + * Optional. + */ + maxResults?: number; + /** + * Token specifying which result page to return. Optional. + */ + pageToken?: string; + /** + * Whether to include deleted ACLs in the result. Deleted ACLs are + * represented by role equal to "none". Deleted ACLs will always be included + * if syncToken is provided. Optional. The default is False. + */ + showDeleted?: boolean; + /** + * Token obtained from the nextSyncToken field returned on the last page of + * results from the previous list request. It makes the result of this list + * request contain only entries that have changed since then. All entries + * deleted since the previous list request will always be in the result set + * and it is not allowed to set showDeleted to False. If the syncToken + * expires, the server will respond with a 410 GONE response code and the + * client should clear its storage and perform a full synchronization + * without any syncToken. Learn more about incremental synchronization. + * Optional. The default is to return all entries. + */ + syncToken?: string; + } + interface Params$Resource$Acl$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Calendar identifier. To retrieve calendar IDs call the calendarList.list + * method. If you want to access the primary calendar of the currently + * logged in user, use the "primary" keyword. + */ + calendarId?: string; + /** + * ACL rule identifier. + */ + ruleId?: string; + /** + * Whether to send notifications about the calendar sharing change. Note + * that there are no notifications on access removal. Optional. The default + * is True. + */ + sendNotifications?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$AclRule; + } + interface Params$Resource$Acl$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Calendar identifier. To retrieve calendar IDs call the calendarList.list + * method. If you want to access the primary calendar of the currently + * logged in user, use the "primary" keyword. + */ + calendarId?: string; + /** + * ACL rule identifier. + */ + ruleId?: string; + /** + * Whether to send notifications about the calendar sharing change. Note + * that there are no notifications on access removal. Optional. The default + * is True. + */ + sendNotifications?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$AclRule; + } + interface Params$Resource$Acl$Watch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Calendar identifier. To retrieve calendar IDs call the calendarList.list + * method. If you want to access the primary calendar of the currently + * logged in user, use the "primary" keyword. + */ + calendarId?: string; + /** + * Maximum number of entries returned on one result page. By default the + * value is 100 entries. The page size can never be larger than 250 entries. + * Optional. + */ + maxResults?: number; + /** + * Token specifying which result page to return. Optional. + */ + pageToken?: string; + /** + * Whether to include deleted ACLs in the result. Deleted ACLs are + * represented by role equal to "none". Deleted ACLs will always be included + * if syncToken is provided. Optional. The default is False. + */ + showDeleted?: boolean; + /** + * Token obtained from the nextSyncToken field returned on the last page of + * results from the previous list request. It makes the result of this list + * request contain only entries that have changed since then. All entries + * deleted since the previous list request will always be in the result set + * and it is not allowed to set showDeleted to False. If the syncToken + * expires, the server will respond with a 410 GONE response code and the + * client should clear its storage and perform a full synchronization + * without any syncToken. Learn more about incremental synchronization. + * Optional. The default is to return all entries. + */ + syncToken?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Channel; + } + class Resource$Calendarlist { + root: Calendar; + constructor(root: Calendar); + getRoot(): Calendar; + /** + * calendar.calendarList.delete + * @desc Removes a calendar from the user's calendar list. + * @alias calendar.calendarList.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.calendarId Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the "primary" keyword. + * @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?: Params$Resource$Calendarlist$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Calendarlist$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Calendarlist$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * calendar.calendarList.get + * @desc Returns a calendar from the user's calendar list. + * @alias calendar.calendarList.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.calendarId Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the "primary" keyword. + * @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?: Params$Resource$Calendarlist$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Calendarlist$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Calendarlist$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * calendar.calendarList.insert + * @desc Inserts an existing calendar into the user's calendar list. + * @alias calendar.calendarList.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.colorRgbFormat Whether to use the foregroundColor and backgroundColor fields to write the calendar colors (RGB). If this feature is used, the index-based colorId field will be set to the best matching option automatically. Optional. The default is False. + * @param {().CalendarListEntry} 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?: Params$Resource$Calendarlist$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Calendarlist$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Calendarlist$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * calendar.calendarList.list + * @desc Returns the calendars on the user's calendar list. + * @alias calendar.calendarList.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {integer=} params.maxResults Maximum number of entries returned on one result page. By default the value is 100 entries. The page size can never be larger than 250 entries. Optional. + * @param {string=} params.minAccessRole The minimum access role for the user in the returned entries. Optional. The default is no restriction. + * @param {string=} params.pageToken Token specifying which result page to return. Optional. + * @param {boolean=} params.showDeleted Whether to include deleted calendar list entries in the result. Optional. The default is False. + * @param {boolean=} params.showHidden Whether to show hidden entries. Optional. The default is False. + * @param {string=} params.syncToken Token obtained from the nextSyncToken field returned on the last page of results from the previous list request. It makes the result of this list request contain only entries that have changed since then. If only read-only fields such as calendar properties or ACLs have changed, the entry won't be returned. All entries deleted and hidden since the previous list request will always be in the result set and it is not allowed to set showDeleted neither showHidden to False. To ensure client state consistency minAccessRole query parameter cannot be specified together with nextSyncToken. If the syncToken expires, the server will respond with a 410 GONE response code and the client should clear its storage and perform a full synchronization without any syncToken. Learn more about incremental synchronization. Optional. The default is to return all entries. + * @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?: Params$Resource$Calendarlist$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Calendarlist$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Calendarlist$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * calendar.calendarList.patch + * @desc Updates an existing calendar on the user's calendar list. This + * method supports patch semantics. + * @alias calendar.calendarList.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.calendarId Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the "primary" keyword. + * @param {boolean=} params.colorRgbFormat Whether to use the foregroundColor and backgroundColor fields to write the calendar colors (RGB). If this feature is used, the index-based colorId field will be set to the best matching option automatically. Optional. The default is False. + * @param {().CalendarListEntry} 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 + */ + patch(params?: Params$Resource$Calendarlist$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Calendarlist$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Calendarlist$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * calendar.calendarList.update + * @desc Updates an existing calendar on the user's calendar list. + * @alias calendar.calendarList.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.calendarId Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the "primary" keyword. + * @param {boolean=} params.colorRgbFormat Whether to use the foregroundColor and backgroundColor fields to write the calendar colors (RGB). If this feature is used, the index-based colorId field will be set to the best matching option automatically. Optional. The default is False. + * @param {().CalendarListEntry} 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?: Params$Resource$Calendarlist$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Calendarlist$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Calendarlist$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + /** + * calendar.calendarList.watch + * @desc Watch for changes to CalendarList resources. + * @alias calendar.calendarList.watch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.maxResults Maximum number of entries returned on one result page. By default the value is 100 entries. The page size can never be larger than 250 entries. Optional. + * @param {string=} params.minAccessRole The minimum access role for the user in the returned entries. Optional. The default is no restriction. + * @param {string=} params.pageToken Token specifying which result page to return. Optional. + * @param {boolean=} params.showDeleted Whether to include deleted calendar list entries in the result. Optional. The default is False. + * @param {boolean=} params.showHidden Whether to show hidden entries. Optional. The default is False. + * @param {string=} params.syncToken Token obtained from the nextSyncToken field returned on the last page of results from the previous list request. It makes the result of this list request contain only entries that have changed since then. If only read-only fields such as calendar properties or ACLs have changed, the entry won't be returned. All entries deleted and hidden since the previous list request will always be in the result set and it is not allowed to set showDeleted neither showHidden to False. To ensure client state consistency minAccessRole query parameter cannot be specified together with nextSyncToken. If the syncToken expires, the server will respond with a 410 GONE response code and the client should clear its storage and perform a full synchronization without any syncToken. Learn more about incremental synchronization. Optional. The default is to return all entries. + * @param {().Channel} 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 + */ + watch(params?: Params$Resource$Calendarlist$Watch, options?: MethodOptions): AxiosPromise; + watch(params: Params$Resource$Calendarlist$Watch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + watch(params: Params$Resource$Calendarlist$Watch, callback: BodyResponseCallback): void; + watch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Calendarlist$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Calendar identifier. To retrieve calendar IDs call the calendarList.list + * method. If you want to access the primary calendar of the currently + * logged in user, use the "primary" keyword. + */ + calendarId?: string; + } + interface Params$Resource$Calendarlist$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Calendar identifier. To retrieve calendar IDs call the calendarList.list + * method. If you want to access the primary calendar of the currently + * logged in user, use the "primary" keyword. + */ + calendarId?: string; + } + interface Params$Resource$Calendarlist$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Whether to use the foregroundColor and backgroundColor fields to write + * the calendar colors (RGB). If this feature is used, the index-based + * colorId field will be set to the best matching option automatically. + * Optional. The default is False. + */ + colorRgbFormat?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$CalendarListEntry; + } + interface Params$Resource$Calendarlist$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Maximum number of entries returned on one result page. By default the + * value is 100 entries. The page size can never be larger than 250 entries. + * Optional. + */ + maxResults?: number; + /** + * The minimum access role for the user in the returned entries. Optional. + * The default is no restriction. + */ + minAccessRole?: string; + /** + * Token specifying which result page to return. Optional. + */ + pageToken?: string; + /** + * Whether to include deleted calendar list entries in the result. Optional. + * The default is False. + */ + showDeleted?: boolean; + /** + * Whether to show hidden entries. Optional. The default is False. + */ + showHidden?: boolean; + /** + * Token obtained from the nextSyncToken field returned on the last page of + * results from the previous list request. It makes the result of this list + * request contain only entries that have changed since then. If only + * read-only fields such as calendar properties or ACLs have changed, the + * entry won't be returned. All entries deleted and hidden since the + * previous list request will always be in the result set and it is not + * allowed to set showDeleted neither showHidden to False. To ensure client + * state consistency minAccessRole query parameter cannot be specified + * together with nextSyncToken. If the syncToken expires, the server will + * respond with a 410 GONE response code and the client should clear its + * storage and perform a full synchronization without any syncToken. Learn + * more about incremental synchronization. Optional. The default is to + * return all entries. + */ + syncToken?: string; + } + interface Params$Resource$Calendarlist$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Calendar identifier. To retrieve calendar IDs call the calendarList.list + * method. If you want to access the primary calendar of the currently + * logged in user, use the "primary" keyword. + */ + calendarId?: string; + /** + * Whether to use the foregroundColor and backgroundColor fields to write + * the calendar colors (RGB). If this feature is used, the index-based + * colorId field will be set to the best matching option automatically. + * Optional. The default is False. + */ + colorRgbFormat?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$CalendarListEntry; + } + interface Params$Resource$Calendarlist$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Calendar identifier. To retrieve calendar IDs call the calendarList.list + * method. If you want to access the primary calendar of the currently + * logged in user, use the "primary" keyword. + */ + calendarId?: string; + /** + * Whether to use the foregroundColor and backgroundColor fields to write + * the calendar colors (RGB). If this feature is used, the index-based + * colorId field will be set to the best matching option automatically. + * Optional. The default is False. + */ + colorRgbFormat?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$CalendarListEntry; + } + interface Params$Resource$Calendarlist$Watch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Maximum number of entries returned on one result page. By default the + * value is 100 entries. The page size can never be larger than 250 entries. + * Optional. + */ + maxResults?: number; + /** + * The minimum access role for the user in the returned entries. Optional. + * The default is no restriction. + */ + minAccessRole?: string; + /** + * Token specifying which result page to return. Optional. + */ + pageToken?: string; + /** + * Whether to include deleted calendar list entries in the result. Optional. + * The default is False. + */ + showDeleted?: boolean; + /** + * Whether to show hidden entries. Optional. The default is False. + */ + showHidden?: boolean; + /** + * Token obtained from the nextSyncToken field returned on the last page of + * results from the previous list request. It makes the result of this list + * request contain only entries that have changed since then. If only + * read-only fields such as calendar properties or ACLs have changed, the + * entry won't be returned. All entries deleted and hidden since the + * previous list request will always be in the result set and it is not + * allowed to set showDeleted neither showHidden to False. To ensure client + * state consistency minAccessRole query parameter cannot be specified + * together with nextSyncToken. If the syncToken expires, the server will + * respond with a 410 GONE response code and the client should clear its + * storage and perform a full synchronization without any syncToken. Learn + * more about incremental synchronization. Optional. The default is to + * return all entries. + */ + syncToken?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Channel; + } + class Resource$Calendars { + root: Calendar; + constructor(root: Calendar); + getRoot(): Calendar; + /** + * calendar.calendars.clear + * @desc Clears a primary calendar. This operation deletes all events + * associated with the primary calendar of an account. + * @alias calendar.calendars.clear + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.calendarId Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the "primary" keyword. + * @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 + */ + clear(params?: Params$Resource$Calendars$Clear, options?: MethodOptions): AxiosPromise; + clear(params: Params$Resource$Calendars$Clear, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + clear(params: Params$Resource$Calendars$Clear, callback: BodyResponseCallback): void; + clear(callback: BodyResponseCallback): void; + /** + * calendar.calendars.delete + * @desc Deletes a secondary calendar. Use calendars.clear for clearing all + * events on primary calendars. + * @alias calendar.calendars.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.calendarId Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the "primary" keyword. + * @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?: Params$Resource$Calendars$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Calendars$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Calendars$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * calendar.calendars.get + * @desc Returns metadata for a calendar. + * @alias calendar.calendars.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.calendarId Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the "primary" keyword. + * @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?: Params$Resource$Calendars$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Calendars$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Calendars$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * calendar.calendars.insert + * @desc Creates a secondary calendar. + * @alias calendar.calendars.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().Calendar} 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?: Params$Resource$Calendars$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Calendars$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Calendars$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * calendar.calendars.patch + * @desc Updates metadata for a calendar. This method supports patch + * semantics. + * @alias calendar.calendars.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.calendarId Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the "primary" keyword. + * @param {().Calendar} 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 + */ + patch(params?: Params$Resource$Calendars$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Calendars$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Calendars$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * calendar.calendars.update + * @desc Updates metadata for a calendar. + * @alias calendar.calendars.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.calendarId Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the "primary" keyword. + * @param {().Calendar} 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?: Params$Resource$Calendars$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Calendars$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Calendars$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Calendars$Clear { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Calendar identifier. To retrieve calendar IDs call the calendarList.list + * method. If you want to access the primary calendar of the currently + * logged in user, use the "primary" keyword. + */ + calendarId?: string; + } + interface Params$Resource$Calendars$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Calendar identifier. To retrieve calendar IDs call the calendarList.list + * method. If you want to access the primary calendar of the currently + * logged in user, use the "primary" keyword. + */ + calendarId?: string; + } + interface Params$Resource$Calendars$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Calendar identifier. To retrieve calendar IDs call the calendarList.list + * method. If you want to access the primary calendar of the currently + * logged in user, use the "primary" keyword. + */ + calendarId?: string; + } + interface Params$Resource$Calendars$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$Calendar; + } + interface Params$Resource$Calendars$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Calendar identifier. To retrieve calendar IDs call the calendarList.list + * method. If you want to access the primary calendar of the currently + * logged in user, use the "primary" keyword. + */ + calendarId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Calendar; + } + interface Params$Resource$Calendars$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Calendar identifier. To retrieve calendar IDs call the calendarList.list + * method. If you want to access the primary calendar of the currently + * logged in user, use the "primary" keyword. + */ + calendarId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Calendar; + } + class Resource$Channels { + root: Calendar; + constructor(root: Calendar); + getRoot(): Calendar; + /** + * calendar.channels.stop + * @desc Stop watching resources through this channel + * @alias calendar.channels.stop + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().Channel} 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 + */ + stop(params?: Params$Resource$Channels$Stop, options?: MethodOptions): AxiosPromise; + stop(params: Params$Resource$Channels$Stop, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + stop(params: Params$Resource$Channels$Stop, callback: BodyResponseCallback): void; + stop(callback: BodyResponseCallback): void; + } + interface Params$Resource$Channels$Stop { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$Channel; + } + class Resource$Colors { + root: Calendar; + constructor(root: Calendar); + getRoot(): Calendar; + /** + * calendar.colors.get + * @desc Returns the color definitions for calendars and events. + * @alias calendar.colors.get + * @memberOf! () + * + * @param {object=} params Parameters for request + * @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?: Params$Resource$Colors$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Colors$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Colors$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Colors$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } + class Resource$Events { + root: Calendar; + constructor(root: Calendar); + getRoot(): Calendar; + /** + * calendar.events.delete + * @desc Deletes an event. + * @alias calendar.events.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.calendarId Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the "primary" keyword. + * @param {string} params.eventId Event identifier. + * @param {boolean=} params.sendNotifications Whether to send notifications about the deletion of the event. Optional. The default is False. + * @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?: Params$Resource$Events$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Events$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Events$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * calendar.events.get + * @desc Returns an event. + * @alias calendar.events.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.alwaysIncludeEmail Whether to always include a value in the email field for the organizer, creator and attendees, even if no real email is available (i.e. a generated, non-working value will be provided). The use of this option is discouraged and should only be used by clients which cannot handle the absence of an email address value in the mentioned places. Optional. The default is False. + * @param {string} params.calendarId Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the "primary" keyword. + * @param {string} params.eventId Event identifier. + * @param {integer=} params.maxAttendees The maximum number of attendees to include in the response. If there are more than the specified number of attendees, only the participant is returned. Optional. + * @param {string=} params.timeZone Time zone used in the response. Optional. The default is the time zone of the calendar. + * @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?: Params$Resource$Events$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Events$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Events$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * calendar.events.import + * @desc Imports an event. This operation is used to add a private copy of an + * existing event to a calendar. + * @alias calendar.events.import + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.calendarId Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the "primary" keyword. + * @param {integer=} params.conferenceDataVersion Version number of conference data supported by the API client. Version 0 assumes no conference data support and ignores conference data in the event's body. Version 1 enables support for copying of ConferenceData as well as for creating new conferences using the createRequest field of conferenceData. The default is 0. + * @param {boolean=} params.supportsAttachments Whether API client performing operation supports event attachments. Optional. The default is False. + * @param {().Event} 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 + */ + import(params?: Params$Resource$Events$Import, options?: MethodOptions): AxiosPromise; + import(params: Params$Resource$Events$Import, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + import(params: Params$Resource$Events$Import, callback: BodyResponseCallback): void; + import(callback: BodyResponseCallback): void; + /** + * calendar.events.insert + * @desc Creates an event. + * @alias calendar.events.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.calendarId Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the "primary" keyword. + * @param {integer=} params.conferenceDataVersion Version number of conference data supported by the API client. Version 0 assumes no conference data support and ignores conference data in the event's body. Version 1 enables support for copying of ConferenceData as well as for creating new conferences using the createRequest field of conferenceData. The default is 0. + * @param {integer=} params.maxAttendees The maximum number of attendees to include in the response. If there are more than the specified number of attendees, only the participant is returned. Optional. + * @param {boolean=} params.sendNotifications Whether to send notifications about the creation of the new event. Optional. The default is False. + * @param {boolean=} params.supportsAttachments Whether API client performing operation supports event attachments. Optional. The default is False. + * @param {().Event} 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?: Params$Resource$Events$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Events$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Events$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * calendar.events.instances + * @desc Returns instances of the specified recurring event. + * @alias calendar.events.instances + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.alwaysIncludeEmail Whether to always include a value in the email field for the organizer, creator and attendees, even if no real email is available (i.e. a generated, non-working value will be provided). The use of this option is discouraged and should only be used by clients which cannot handle the absence of an email address value in the mentioned places. Optional. The default is False. + * @param {string} params.calendarId Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the "primary" keyword. + * @param {string} params.eventId Recurring event identifier. + * @param {integer=} params.maxAttendees The maximum number of attendees to include in the response. If there are more than the specified number of attendees, only the participant is returned. Optional. + * @param {integer=} params.maxResults Maximum number of events returned on one result page. By default the value is 250 events. The page size can never be larger than 2500 events. Optional. + * @param {string=} params.originalStart The original start time of the instance in the result. Optional. + * @param {string=} params.pageToken Token specifying which result page to return. Optional. + * @param {boolean=} params.showDeleted Whether to include deleted events (with status equals "cancelled") in the result. Cancelled instances of recurring events will still be included if singleEvents is False. Optional. The default is False. + * @param {string=} params.timeMax Upper bound (exclusive) for an event's start time to filter by. Optional. The default is not to filter by start time. Must be an RFC3339 timestamp with mandatory time zone offset. + * @param {string=} params.timeMin Lower bound (inclusive) for an event's end time to filter by. Optional. The default is not to filter by end time. Must be an RFC3339 timestamp with mandatory time zone offset. + * @param {string=} params.timeZone Time zone used in the response. Optional. The default is the time zone of the calendar. + * @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 + */ + instances(params?: Params$Resource$Events$Instances, options?: MethodOptions): AxiosPromise; + instances(params: Params$Resource$Events$Instances, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + instances(params: Params$Resource$Events$Instances, callback: BodyResponseCallback): void; + instances(callback: BodyResponseCallback): void; + /** + * calendar.events.list + * @desc Returns events on the specified calendar. + * @alias calendar.events.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.alwaysIncludeEmail Whether to always include a value in the email field for the organizer, creator and attendees, even if no real email is available (i.e. a generated, non-working value will be provided). The use of this option is discouraged and should only be used by clients which cannot handle the absence of an email address value in the mentioned places. Optional. The default is False. + * @param {string} params.calendarId Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the "primary" keyword. + * @param {string=} params.iCalUID Specifies event ID in the iCalendar format to be included in the response. Optional. + * @param {integer=} params.maxAttendees The maximum number of attendees to include in the response. If there are more than the specified number of attendees, only the participant is returned. Optional. + * @param {integer=} params.maxResults Maximum number of events returned on one result page. The number of events in the resulting page may be less than this value, or none at all, even if there are more events matching the query. Incomplete pages can be detected by a non-empty nextPageToken field in the response. By default the value is 250 events. The page size can never be larger than 2500 events. Optional. + * @param {string=} params.orderBy The order of the events returned in the result. Optional. The default is an unspecified, stable order. + * @param {string=} params.pageToken Token specifying which result page to return. Optional. + * @param {string=} params.privateExtendedProperty Extended properties constraint specified as propertyName=value. Matches only private properties. This parameter might be repeated multiple times to return events that match all given constraints. + * @param {string=} params.q Free text search terms to find events that match these terms in any field, except for extended properties. Optional. + * @param {string=} params.sharedExtendedProperty Extended properties constraint specified as propertyName=value. Matches only shared properties. This parameter might be repeated multiple times to return events that match all given constraints. + * @param {boolean=} params.showDeleted Whether to include deleted events (with status equals "cancelled") in the result. Cancelled instances of recurring events (but not the underlying recurring event) will still be included if showDeleted and singleEvents are both False. If showDeleted and singleEvents are both True, only single instances of deleted events (but not the underlying recurring events) are returned. Optional. The default is False. + * @param {boolean=} params.showHiddenInvitations Whether to include hidden invitations in the result. Optional. The default is False. + * @param {boolean=} params.singleEvents Whether to expand recurring events into instances and only return single one-off events and instances of recurring events, but not the underlying recurring events themselves. Optional. The default is False. + * @param {string=} params.syncToken Token obtained from the nextSyncToken field returned on the last page of results from the previous list request. It makes the result of this list request contain only entries that have changed since then. All events deleted since the previous list request will always be in the result set and it is not allowed to set showDeleted to False. There are several query parameters that cannot be specified together with nextSyncToken to ensure consistency of the client state. These are: - iCalUID - orderBy - privateExtendedProperty - q - sharedExtendedProperty - timeMin - timeMax - updatedMin If the syncToken expires, the server will respond with a 410 GONE response code and the client should clear its storage and perform a full synchronization without any syncToken. Learn more about incremental synchronization. Optional. The default is to return all entries. + * @param {string=} params.timeMax Upper bound (exclusive) for an event's start time to filter by. Optional. The default is not to filter by start time. Must be an RFC3339 timestamp with mandatory time zone offset, e.g., 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but will be ignored. If timeMin is set, timeMax must be greater than timeMin. + * @param {string=} params.timeMin Lower bound (inclusive) for an event's end time to filter by. Optional. The default is not to filter by end time. Must be an RFC3339 timestamp with mandatory time zone offset, e.g., 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but will be ignored. If timeMax is set, timeMin must be smaller than timeMax. + * @param {string=} params.timeZone Time zone used in the response. Optional. The default is the time zone of the calendar. + * @param {string=} params.updatedMin Lower bound for an event's last modification time (as a RFC3339 timestamp) to filter by. When specified, entries deleted since this time will always be included regardless of showDeleted. Optional. The default is not to filter by last modification time. + * @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?: Params$Resource$Events$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Events$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Events$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * calendar.events.move + * @desc Moves an event to another calendar, i.e. changes an event's + * organizer. + * @alias calendar.events.move + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.calendarId Calendar identifier of the source calendar where the event currently is on. + * @param {string} params.destination Calendar identifier of the target calendar where the event is to be moved to. + * @param {string} params.eventId Event identifier. + * @param {boolean=} params.sendNotifications Whether to send notifications about the change of the event's organizer. Optional. The default is False. + * @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 + */ + move(params?: Params$Resource$Events$Move, options?: MethodOptions): AxiosPromise; + move(params: Params$Resource$Events$Move, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + move(params: Params$Resource$Events$Move, callback: BodyResponseCallback): void; + move(callback: BodyResponseCallback): void; + /** + * calendar.events.patch + * @desc Updates an event. This method supports patch semantics. + * @alias calendar.events.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.alwaysIncludeEmail Whether to always include a value in the email field for the organizer, creator and attendees, even if no real email is available (i.e. a generated, non-working value will be provided). The use of this option is discouraged and should only be used by clients which cannot handle the absence of an email address value in the mentioned places. Optional. The default is False. + * @param {string} params.calendarId Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the "primary" keyword. + * @param {integer=} params.conferenceDataVersion Version number of conference data supported by the API client. Version 0 assumes no conference data support and ignores conference data in the event's body. Version 1 enables support for copying of ConferenceData as well as for creating new conferences using the createRequest field of conferenceData. The default is 0. + * @param {string} params.eventId Event identifier. + * @param {integer=} params.maxAttendees The maximum number of attendees to include in the response. If there are more than the specified number of attendees, only the participant is returned. Optional. + * @param {boolean=} params.sendNotifications Whether to send notifications about the event update (e.g. attendee's responses, title changes, etc.). Optional. The default is False. + * @param {boolean=} params.supportsAttachments Whether API client performing operation supports event attachments. Optional. The default is False. + * @param {().Event} 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 + */ + patch(params?: Params$Resource$Events$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Events$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Events$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * calendar.events.quickAdd + * @desc Creates an event based on a simple text string. + * @alias calendar.events.quickAdd + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.calendarId Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the "primary" keyword. + * @param {boolean=} params.sendNotifications Whether to send notifications about the creation of the event. Optional. The default is False. + * @param {string} params.text The text describing the event to be created. + * @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 + */ + quickAdd(params?: Params$Resource$Events$Quickadd, options?: MethodOptions): AxiosPromise; + quickAdd(params: Params$Resource$Events$Quickadd, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + quickAdd(params: Params$Resource$Events$Quickadd, callback: BodyResponseCallback): void; + quickAdd(callback: BodyResponseCallback): void; + /** + * calendar.events.update + * @desc Updates an event. + * @alias calendar.events.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.alwaysIncludeEmail Whether to always include a value in the email field for the organizer, creator and attendees, even if no real email is available (i.e. a generated, non-working value will be provided). The use of this option is discouraged and should only be used by clients which cannot handle the absence of an email address value in the mentioned places. Optional. The default is False. + * @param {string} params.calendarId Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the "primary" keyword. + * @param {integer=} params.conferenceDataVersion Version number of conference data supported by the API client. Version 0 assumes no conference data support and ignores conference data in the event's body. Version 1 enables support for copying of ConferenceData as well as for creating new conferences using the createRequest field of conferenceData. The default is 0. + * @param {string} params.eventId Event identifier. + * @param {integer=} params.maxAttendees The maximum number of attendees to include in the response. If there are more than the specified number of attendees, only the participant is returned. Optional. + * @param {boolean=} params.sendNotifications Whether to send notifications about the event update (e.g. attendee's responses, title changes, etc.). Optional. The default is False. + * @param {boolean=} params.supportsAttachments Whether API client performing operation supports event attachments. Optional. The default is False. + * @param {().Event} 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?: Params$Resource$Events$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Events$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Events$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + /** + * calendar.events.watch + * @desc Watch for changes to Events resources. + * @alias calendar.events.watch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.alwaysIncludeEmail Whether to always include a value in the email field for the organizer, creator and attendees, even if no real email is available (i.e. a generated, non-working value will be provided). The use of this option is discouraged and should only be used by clients which cannot handle the absence of an email address value in the mentioned places. Optional. The default is False. + * @param {string} params.calendarId Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the "primary" keyword. + * @param {string=} params.iCalUID Specifies event ID in the iCalendar format to be included in the response. Optional. + * @param {integer=} params.maxAttendees The maximum number of attendees to include in the response. If there are more than the specified number of attendees, only the participant is returned. Optional. + * @param {integer=} params.maxResults Maximum number of events returned on one result page. The number of events in the resulting page may be less than this value, or none at all, even if there are more events matching the query. Incomplete pages can be detected by a non-empty nextPageToken field in the response. By default the value is 250 events. The page size can never be larger than 2500 events. Optional. + * @param {string=} params.orderBy The order of the events returned in the result. Optional. The default is an unspecified, stable order. + * @param {string=} params.pageToken Token specifying which result page to return. Optional. + * @param {string=} params.privateExtendedProperty Extended properties constraint specified as propertyName=value. Matches only private properties. This parameter might be repeated multiple times to return events that match all given constraints. + * @param {string=} params.q Free text search terms to find events that match these terms in any field, except for extended properties. Optional. + * @param {string=} params.sharedExtendedProperty Extended properties constraint specified as propertyName=value. Matches only shared properties. This parameter might be repeated multiple times to return events that match all given constraints. + * @param {boolean=} params.showDeleted Whether to include deleted events (with status equals "cancelled") in the result. Cancelled instances of recurring events (but not the underlying recurring event) will still be included if showDeleted and singleEvents are both False. If showDeleted and singleEvents are both True, only single instances of deleted events (but not the underlying recurring events) are returned. Optional. The default is False. + * @param {boolean=} params.showHiddenInvitations Whether to include hidden invitations in the result. Optional. The default is False. + * @param {boolean=} params.singleEvents Whether to expand recurring events into instances and only return single one-off events and instances of recurring events, but not the underlying recurring events themselves. Optional. The default is False. + * @param {string=} params.syncToken Token obtained from the nextSyncToken field returned on the last page of results from the previous list request. It makes the result of this list request contain only entries that have changed since then. All events deleted since the previous list request will always be in the result set and it is not allowed to set showDeleted to False. There are several query parameters that cannot be specified together with nextSyncToken to ensure consistency of the client state. These are: - iCalUID - orderBy - privateExtendedProperty - q - sharedExtendedProperty - timeMin - timeMax - updatedMin If the syncToken expires, the server will respond with a 410 GONE response code and the client should clear its storage and perform a full synchronization without any syncToken. Learn more about incremental synchronization. Optional. The default is to return all entries. + * @param {string=} params.timeMax Upper bound (exclusive) for an event's start time to filter by. Optional. The default is not to filter by start time. Must be an RFC3339 timestamp with mandatory time zone offset, e.g., 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but will be ignored. If timeMin is set, timeMax must be greater than timeMin. + * @param {string=} params.timeMin Lower bound (inclusive) for an event's end time to filter by. Optional. The default is not to filter by end time. Must be an RFC3339 timestamp with mandatory time zone offset, e.g., 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but will be ignored. If timeMax is set, timeMin must be smaller than timeMax. + * @param {string=} params.timeZone Time zone used in the response. Optional. The default is the time zone of the calendar. + * @param {string=} params.updatedMin Lower bound for an event's last modification time (as a RFC3339 timestamp) to filter by. When specified, entries deleted since this time will always be included regardless of showDeleted. Optional. The default is not to filter by last modification time. + * @param {().Channel} 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 + */ + watch(params?: Params$Resource$Events$Watch, options?: MethodOptions): AxiosPromise; + watch(params: Params$Resource$Events$Watch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + watch(params: Params$Resource$Events$Watch, callback: BodyResponseCallback): void; + watch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Events$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Calendar identifier. To retrieve calendar IDs call the calendarList.list + * method. If you want to access the primary calendar of the currently + * logged in user, use the "primary" keyword. + */ + calendarId?: string; + /** + * Event identifier. + */ + eventId?: string; + /** + * Whether to send notifications about the deletion of the event. Optional. + * The default is False. + */ + sendNotifications?: boolean; + } + interface Params$Resource$Events$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Whether to always include a value in the email field for the organizer, + * creator and attendees, even if no real email is available (i.e. a + * generated, non-working value will be provided). The use of this option is + * discouraged and should only be used by clients which cannot handle the + * absence of an email address value in the mentioned places. Optional. The + * default is False. + */ + alwaysIncludeEmail?: boolean; + /** + * Calendar identifier. To retrieve calendar IDs call the calendarList.list + * method. If you want to access the primary calendar of the currently + * logged in user, use the "primary" keyword. + */ + calendarId?: string; + /** + * Event identifier. + */ + eventId?: string; + /** + * The maximum number of attendees to include in the response. If there are + * more than the specified number of attendees, only the participant is + * returned. Optional. + */ + maxAttendees?: number; + /** + * Time zone used in the response. Optional. The default is the time zone of + * the calendar. + */ + timeZone?: string; + } + interface Params$Resource$Events$Import { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Calendar identifier. To retrieve calendar IDs call the calendarList.list + * method. If you want to access the primary calendar of the currently + * logged in user, use the "primary" keyword. + */ + calendarId?: string; + /** + * Version number of conference data supported by the API client. Version 0 + * assumes no conference data support and ignores conference data in the + * event's body. Version 1 enables support for copying of ConferenceData as + * well as for creating new conferences using the createRequest field of + * conferenceData. The default is 0. + */ + conferenceDataVersion?: number; + /** + * Whether API client performing operation supports event attachments. + * Optional. The default is False. + */ + supportsAttachments?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$Event; + } + interface Params$Resource$Events$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Calendar identifier. To retrieve calendar IDs call the calendarList.list + * method. If you want to access the primary calendar of the currently + * logged in user, use the "primary" keyword. + */ + calendarId?: string; + /** + * Version number of conference data supported by the API client. Version 0 + * assumes no conference data support and ignores conference data in the + * event's body. Version 1 enables support for copying of ConferenceData as + * well as for creating new conferences using the createRequest field of + * conferenceData. The default is 0. + */ + conferenceDataVersion?: number; + /** + * The maximum number of attendees to include in the response. If there are + * more than the specified number of attendees, only the participant is + * returned. Optional. + */ + maxAttendees?: number; + /** + * Whether to send notifications about the creation of the new event. + * Optional. The default is False. + */ + sendNotifications?: boolean; + /** + * Whether API client performing operation supports event attachments. + * Optional. The default is False. + */ + supportsAttachments?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$Event; + } + interface Params$Resource$Events$Instances { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Whether to always include a value in the email field for the organizer, + * creator and attendees, even if no real email is available (i.e. a + * generated, non-working value will be provided). The use of this option is + * discouraged and should only be used by clients which cannot handle the + * absence of an email address value in the mentioned places. Optional. The + * default is False. + */ + alwaysIncludeEmail?: boolean; + /** + * Calendar identifier. To retrieve calendar IDs call the calendarList.list + * method. If you want to access the primary calendar of the currently + * logged in user, use the "primary" keyword. + */ + calendarId?: string; + /** + * Recurring event identifier. + */ + eventId?: string; + /** + * The maximum number of attendees to include in the response. If there are + * more than the specified number of attendees, only the participant is + * returned. Optional. + */ + maxAttendees?: number; + /** + * Maximum number of events returned on one result page. By default the + * value is 250 events. The page size can never be larger than 2500 events. + * Optional. + */ + maxResults?: number; + /** + * The original start time of the instance in the result. Optional. + */ + originalStart?: string; + /** + * Token specifying which result page to return. Optional. + */ + pageToken?: string; + /** + * Whether to include deleted events (with status equals "cancelled") in the + * result. Cancelled instances of recurring events will still be included if + * singleEvents is False. Optional. The default is False. + */ + showDeleted?: boolean; + /** + * Upper bound (exclusive) for an event's start time to filter by. Optional. + * The default is not to filter by start time. Must be an RFC3339 timestamp + * with mandatory time zone offset. + */ + timeMax?: string; + /** + * Lower bound (inclusive) for an event's end time to filter by. Optional. + * The default is not to filter by end time. Must be an RFC3339 timestamp + * with mandatory time zone offset. + */ + timeMin?: string; + /** + * Time zone used in the response. Optional. The default is the time zone of + * the calendar. + */ + timeZone?: string; + } + interface Params$Resource$Events$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Whether to always include a value in the email field for the organizer, + * creator and attendees, even if no real email is available (i.e. a + * generated, non-working value will be provided). The use of this option is + * discouraged and should only be used by clients which cannot handle the + * absence of an email address value in the mentioned places. Optional. The + * default is False. + */ + alwaysIncludeEmail?: boolean; + /** + * Calendar identifier. To retrieve calendar IDs call the calendarList.list + * method. If you want to access the primary calendar of the currently + * logged in user, use the "primary" keyword. + */ + calendarId?: string; + /** + * Specifies event ID in the iCalendar format to be included in the + * response. Optional. + */ + iCalUID?: string; + /** + * The maximum number of attendees to include in the response. If there are + * more than the specified number of attendees, only the participant is + * returned. Optional. + */ + maxAttendees?: number; + /** + * Maximum number of events returned on one result page. The number of + * events in the resulting page may be less than this value, or none at all, + * even if there are more events matching the query. Incomplete pages can be + * detected by a non-empty nextPageToken field in the response. By default + * the value is 250 events. The page size can never be larger than 2500 + * events. Optional. + */ + maxResults?: number; + /** + * The order of the events returned in the result. Optional. The default is + * an unspecified, stable order. + */ + orderBy?: string; + /** + * Token specifying which result page to return. Optional. + */ + pageToken?: string; + /** + * Extended properties constraint specified as propertyName=value. Matches + * only private properties. This parameter might be repeated multiple times + * to return events that match all given constraints. + */ + privateExtendedProperty?: string; + /** + * Free text search terms to find events that match these terms in any + * field, except for extended properties. Optional. + */ + q?: string; + /** + * Extended properties constraint specified as propertyName=value. Matches + * only shared properties. This parameter might be repeated multiple times + * to return events that match all given constraints. + */ + sharedExtendedProperty?: string; + /** + * Whether to include deleted events (with status equals "cancelled") in the + * result. Cancelled instances of recurring events (but not the underlying + * recurring event) will still be included if showDeleted and singleEvents + * are both False. If showDeleted and singleEvents are both True, only + * single instances of deleted events (but not the underlying recurring + * events) are returned. Optional. The default is False. + */ + showDeleted?: boolean; + /** + * Whether to include hidden invitations in the result. Optional. The + * default is False. + */ + showHiddenInvitations?: boolean; + /** + * Whether to expand recurring events into instances and only return single + * one-off events and instances of recurring events, but not the underlying + * recurring events themselves. Optional. The default is False. + */ + singleEvents?: boolean; + /** + * Token obtained from the nextSyncToken field returned on the last page of + * results from the previous list request. It makes the result of this list + * request contain only entries that have changed since then. All events + * deleted since the previous list request will always be in the result set + * and it is not allowed to set showDeleted to False. There are several + * query parameters that cannot be specified together with nextSyncToken to + * ensure consistency of the client state. These are: - iCalUID - orderBy + * - privateExtendedProperty - q - sharedExtendedProperty - timeMin - + * timeMax - updatedMin If the syncToken expires, the server will respond + * with a 410 GONE response code and the client should clear its storage and + * perform a full synchronization without any syncToken. Learn more about + * incremental synchronization. Optional. The default is to return all + * entries. + */ + syncToken?: string; + /** + * Upper bound (exclusive) for an event's start time to filter by. Optional. + * The default is not to filter by start time. Must be an RFC3339 timestamp + * with mandatory time zone offset, e.g., 2011-06-03T10:00:00-07:00, + * 2011-06-03T10:00:00Z. Milliseconds may be provided but will be ignored. + * If timeMin is set, timeMax must be greater than timeMin. + */ + timeMax?: string; + /** + * Lower bound (inclusive) for an event's end time to filter by. Optional. + * The default is not to filter by end time. Must be an RFC3339 timestamp + * with mandatory time zone offset, e.g., 2011-06-03T10:00:00-07:00, + * 2011-06-03T10:00:00Z. Milliseconds may be provided but will be ignored. + * If timeMax is set, timeMin must be smaller than timeMax. + */ + timeMin?: string; + /** + * Time zone used in the response. Optional. The default is the time zone of + * the calendar. + */ + timeZone?: string; + /** + * Lower bound for an event's last modification time (as a RFC3339 + * timestamp) to filter by. When specified, entries deleted since this time + * will always be included regardless of showDeleted. Optional. The default + * is not to filter by last modification time. + */ + updatedMin?: string; + } + interface Params$Resource$Events$Move { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Calendar identifier of the source calendar where the event currently is + * on. + */ + calendarId?: string; + /** + * Calendar identifier of the target calendar where the event is to be moved + * to. + */ + destination?: string; + /** + * Event identifier. + */ + eventId?: string; + /** + * Whether to send notifications about the change of the event's organizer. + * Optional. The default is False. + */ + sendNotifications?: boolean; + } + interface Params$Resource$Events$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Whether to always include a value in the email field for the organizer, + * creator and attendees, even if no real email is available (i.e. a + * generated, non-working value will be provided). The use of this option is + * discouraged and should only be used by clients which cannot handle the + * absence of an email address value in the mentioned places. Optional. The + * default is False. + */ + alwaysIncludeEmail?: boolean; + /** + * Calendar identifier. To retrieve calendar IDs call the calendarList.list + * method. If you want to access the primary calendar of the currently + * logged in user, use the "primary" keyword. + */ + calendarId?: string; + /** + * Version number of conference data supported by the API client. Version 0 + * assumes no conference data support and ignores conference data in the + * event's body. Version 1 enables support for copying of ConferenceData as + * well as for creating new conferences using the createRequest field of + * conferenceData. The default is 0. + */ + conferenceDataVersion?: number; + /** + * Event identifier. + */ + eventId?: string; + /** + * The maximum number of attendees to include in the response. If there are + * more than the specified number of attendees, only the participant is + * returned. Optional. + */ + maxAttendees?: number; + /** + * Whether to send notifications about the event update (e.g. attendee's + * responses, title changes, etc.). Optional. The default is False. + */ + sendNotifications?: boolean; + /** + * Whether API client performing operation supports event attachments. + * Optional. The default is False. + */ + supportsAttachments?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$Event; + } + interface Params$Resource$Events$Quickadd { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Calendar identifier. To retrieve calendar IDs call the calendarList.list + * method. If you want to access the primary calendar of the currently + * logged in user, use the "primary" keyword. + */ + calendarId?: string; + /** + * Whether to send notifications about the creation of the event. Optional. + * The default is False. + */ + sendNotifications?: boolean; + /** + * The text describing the event to be created. + */ + text?: string; + } + interface Params$Resource$Events$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Whether to always include a value in the email field for the organizer, + * creator and attendees, even if no real email is available (i.e. a + * generated, non-working value will be provided). The use of this option is + * discouraged and should only be used by clients which cannot handle the + * absence of an email address value in the mentioned places. Optional. The + * default is False. + */ + alwaysIncludeEmail?: boolean; + /** + * Calendar identifier. To retrieve calendar IDs call the calendarList.list + * method. If you want to access the primary calendar of the currently + * logged in user, use the "primary" keyword. + */ + calendarId?: string; + /** + * Version number of conference data supported by the API client. Version 0 + * assumes no conference data support and ignores conference data in the + * event's body. Version 1 enables support for copying of ConferenceData as + * well as for creating new conferences using the createRequest field of + * conferenceData. The default is 0. + */ + conferenceDataVersion?: number; + /** + * Event identifier. + */ + eventId?: string; + /** + * The maximum number of attendees to include in the response. If there are + * more than the specified number of attendees, only the participant is + * returned. Optional. + */ + maxAttendees?: number; + /** + * Whether to send notifications about the event update (e.g. attendee's + * responses, title changes, etc.). Optional. The default is False. + */ + sendNotifications?: boolean; + /** + * Whether API client performing operation supports event attachments. + * Optional. The default is False. + */ + supportsAttachments?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$Event; + } + interface Params$Resource$Events$Watch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Whether to always include a value in the email field for the organizer, + * creator and attendees, even if no real email is available (i.e. a + * generated, non-working value will be provided). The use of this option is + * discouraged and should only be used by clients which cannot handle the + * absence of an email address value in the mentioned places. Optional. The + * default is False. + */ + alwaysIncludeEmail?: boolean; + /** + * Calendar identifier. To retrieve calendar IDs call the calendarList.list + * method. If you want to access the primary calendar of the currently + * logged in user, use the "primary" keyword. + */ + calendarId?: string; + /** + * Specifies event ID in the iCalendar format to be included in the + * response. Optional. + */ + iCalUID?: string; + /** + * The maximum number of attendees to include in the response. If there are + * more than the specified number of attendees, only the participant is + * returned. Optional. + */ + maxAttendees?: number; + /** + * Maximum number of events returned on one result page. The number of + * events in the resulting page may be less than this value, or none at all, + * even if there are more events matching the query. Incomplete pages can be + * detected by a non-empty nextPageToken field in the response. By default + * the value is 250 events. The page size can never be larger than 2500 + * events. Optional. + */ + maxResults?: number; + /** + * The order of the events returned in the result. Optional. The default is + * an unspecified, stable order. + */ + orderBy?: string; + /** + * Token specifying which result page to return. Optional. + */ + pageToken?: string; + /** + * Extended properties constraint specified as propertyName=value. Matches + * only private properties. This parameter might be repeated multiple times + * to return events that match all given constraints. + */ + privateExtendedProperty?: string; + /** + * Free text search terms to find events that match these terms in any + * field, except for extended properties. Optional. + */ + q?: string; + /** + * Extended properties constraint specified as propertyName=value. Matches + * only shared properties. This parameter might be repeated multiple times + * to return events that match all given constraints. + */ + sharedExtendedProperty?: string; + /** + * Whether to include deleted events (with status equals "cancelled") in the + * result. Cancelled instances of recurring events (but not the underlying + * recurring event) will still be included if showDeleted and singleEvents + * are both False. If showDeleted and singleEvents are both True, only + * single instances of deleted events (but not the underlying recurring + * events) are returned. Optional. The default is False. + */ + showDeleted?: boolean; + /** + * Whether to include hidden invitations in the result. Optional. The + * default is False. + */ + showHiddenInvitations?: boolean; + /** + * Whether to expand recurring events into instances and only return single + * one-off events and instances of recurring events, but not the underlying + * recurring events themselves. Optional. The default is False. + */ + singleEvents?: boolean; + /** + * Token obtained from the nextSyncToken field returned on the last page of + * results from the previous list request. It makes the result of this list + * request contain only entries that have changed since then. All events + * deleted since the previous list request will always be in the result set + * and it is not allowed to set showDeleted to False. There are several + * query parameters that cannot be specified together with nextSyncToken to + * ensure consistency of the client state. These are: - iCalUID - orderBy + * - privateExtendedProperty - q - sharedExtendedProperty - timeMin - + * timeMax - updatedMin If the syncToken expires, the server will respond + * with a 410 GONE response code and the client should clear its storage and + * perform a full synchronization without any syncToken. Learn more about + * incremental synchronization. Optional. The default is to return all + * entries. + */ + syncToken?: string; + /** + * Upper bound (exclusive) for an event's start time to filter by. Optional. + * The default is not to filter by start time. Must be an RFC3339 timestamp + * with mandatory time zone offset, e.g., 2011-06-03T10:00:00-07:00, + * 2011-06-03T10:00:00Z. Milliseconds may be provided but will be ignored. + * If timeMin is set, timeMax must be greater than timeMin. + */ + timeMax?: string; + /** + * Lower bound (inclusive) for an event's end time to filter by. Optional. + * The default is not to filter by end time. Must be an RFC3339 timestamp + * with mandatory time zone offset, e.g., 2011-06-03T10:00:00-07:00, + * 2011-06-03T10:00:00Z. Milliseconds may be provided but will be ignored. + * If timeMax is set, timeMin must be smaller than timeMax. + */ + timeMin?: string; + /** + * Time zone used in the response. Optional. The default is the time zone of + * the calendar. + */ + timeZone?: string; + /** + * Lower bound for an event's last modification time (as a RFC3339 + * timestamp) to filter by. When specified, entries deleted since this time + * will always be included regardless of showDeleted. Optional. The default + * is not to filter by last modification time. + */ + updatedMin?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Channel; + } + class Resource$Freebusy { + root: Calendar; + constructor(root: Calendar); + getRoot(): Calendar; + /** + * calendar.freebusy.query + * @desc Returns free/busy information for a set of calendars. + * @alias calendar.freebusy.query + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().FreeBusyRequest} 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 + */ + query(params?: Params$Resource$Freebusy$Query, options?: MethodOptions): AxiosPromise; + query(params: Params$Resource$Freebusy$Query, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + query(params: Params$Resource$Freebusy$Query, callback: BodyResponseCallback): void; + query(callback: BodyResponseCallback): void; + } + interface Params$Resource$Freebusy$Query { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$FreeBusyRequest; + } + class Resource$Settings { + root: Calendar; + constructor(root: Calendar); + getRoot(): Calendar; + /** + * calendar.settings.get + * @desc Returns a single user setting. + * @alias calendar.settings.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.setting The id of the user setting. + * @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?: Params$Resource$Settings$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Settings$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Settings$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * calendar.settings.list + * @desc Returns all user settings for the authenticated user. + * @alias calendar.settings.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {integer=} params.maxResults Maximum number of entries returned on one result page. By default the value is 100 entries. The page size can never be larger than 250 entries. Optional. + * @param {string=} params.pageToken Token specifying which result page to return. Optional. + * @param {string=} params.syncToken Token obtained from the nextSyncToken field returned on the last page of results from the previous list request. It makes the result of this list request contain only entries that have changed since then. If the syncToken expires, the server will respond with a 410 GONE response code and the client should clear its storage and perform a full synchronization without any syncToken. Learn more about incremental synchronization. Optional. The default is to return all entries. + * @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?: Params$Resource$Settings$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Settings$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Settings$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * calendar.settings.watch + * @desc Watch for changes to Settings resources. + * @alias calendar.settings.watch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.maxResults Maximum number of entries returned on one result page. By default the value is 100 entries. The page size can never be larger than 250 entries. Optional. + * @param {string=} params.pageToken Token specifying which result page to return. Optional. + * @param {string=} params.syncToken Token obtained from the nextSyncToken field returned on the last page of results from the previous list request. It makes the result of this list request contain only entries that have changed since then. If the syncToken expires, the server will respond with a 410 GONE response code and the client should clear its storage and perform a full synchronization without any syncToken. Learn more about incremental synchronization. Optional. The default is to return all entries. + * @param {().Channel} 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 + */ + watch(params?: Params$Resource$Settings$Watch, options?: MethodOptions): AxiosPromise; + watch(params: Params$Resource$Settings$Watch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + watch(params: Params$Resource$Settings$Watch, callback: BodyResponseCallback): void; + watch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Settings$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The id of the user setting. + */ + setting?: string; + } + interface Params$Resource$Settings$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Maximum number of entries returned on one result page. By default the + * value is 100 entries. The page size can never be larger than 250 entries. + * Optional. + */ + maxResults?: number; + /** + * Token specifying which result page to return. Optional. + */ + pageToken?: string; + /** + * Token obtained from the nextSyncToken field returned on the last page of + * results from the previous list request. It makes the result of this list + * request contain only entries that have changed since then. If the + * syncToken expires, the server will respond with a 410 GONE response code + * and the client should clear its storage and perform a full + * synchronization without any syncToken. Learn more about incremental + * synchronization. Optional. The default is to return all entries. + */ + syncToken?: string; + } + interface Params$Resource$Settings$Watch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Maximum number of entries returned on one result page. By default the + * value is 100 entries. The page size can never be larger than 250 entries. + * Optional. + */ + maxResults?: number; + /** + * Token specifying which result page to return. Optional. + */ + pageToken?: string; + /** + * Token obtained from the nextSyncToken field returned on the last page of + * results from the previous list request. It makes the result of this list + * request contain only entries that have changed since then. If the + * syncToken expires, the server will respond with a 410 GONE response code + * and the client should clear its storage and perform a full + * synchronization without any syncToken. Learn more about incremental + * synchronization. Optional. The default is to return all entries. + */ + syncToken?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Channel; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/calendar/v3.js b/express-server/node_modules/googleapis/build/src/apis/calendar/v3.js new file mode 100644 index 00000000..de4f9939 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/calendar/v3.js @@ -0,0 +1,1286 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var calendar_v3; +(function (calendar_v3) { + /** + * Calendar API + * + * Manipulates events and other calendar data. + * + * @example + * const {google} = require('googleapis'); + * const calendar = google.calendar('v3'); + * + * @namespace calendar + * @type {Function} + * @version v3 + * @variation v3 + * @param {object=} options Options for Calendar + */ + class Calendar { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.acl = new Resource$Acl(this); + this.calendarList = new Resource$Calendarlist(this); + this.calendars = new Resource$Calendars(this); + this.channels = new Resource$Channels(this); + this.colors = new Resource$Colors(this); + this.events = new Resource$Events(this); + this.freebusy = new Resource$Freebusy(this); + this.settings = new Resource$Settings(this); + } + getRoot() { + return this.root; + } + } + calendar_v3.Calendar = Calendar; + class Resource$Acl { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/calendar/v3/calendars/{calendarId}/acl/{ruleId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['calendarId', 'ruleId'], + pathParams: ['calendarId', 'ruleId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/calendar/v3/calendars/{calendarId}/acl/{ruleId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['calendarId', 'ruleId'], + pathParams: ['calendarId', 'ruleId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/calendar/v3/calendars/{calendarId}/acl') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['calendarId'], + pathParams: ['calendarId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/calendar/v3/calendars/{calendarId}/acl') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['calendarId'], + pathParams: ['calendarId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/calendar/v3/calendars/{calendarId}/acl/{ruleId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['calendarId', 'ruleId'], + pathParams: ['calendarId', 'ruleId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/calendar/v3/calendars/{calendarId}/acl/{ruleId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['calendarId', 'ruleId'], + pathParams: ['calendarId', 'ruleId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + watch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/calendar/v3/calendars/{calendarId}/acl/watch') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['calendarId'], + pathParams: ['calendarId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + calendar_v3.Resource$Acl = Resource$Acl; + class Resource$Calendarlist { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/calendar/v3/users/me/calendarList/{calendarId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['calendarId'], + pathParams: ['calendarId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/calendar/v3/users/me/calendarList/{calendarId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['calendarId'], + pathParams: ['calendarId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/calendar/v3/users/me/calendarList') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/calendar/v3/users/me/calendarList') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/calendar/v3/users/me/calendarList/{calendarId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['calendarId'], + pathParams: ['calendarId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/calendar/v3/users/me/calendarList/{calendarId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['calendarId'], + pathParams: ['calendarId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + watch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/calendar/v3/users/me/calendarList/watch') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + calendar_v3.Resource$Calendarlist = Resource$Calendarlist; + class Resource$Calendars { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + clear(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/calendar/v3/calendars/{calendarId}/clear') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['calendarId'], + pathParams: ['calendarId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/calendar/v3/calendars/{calendarId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['calendarId'], + pathParams: ['calendarId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/calendar/v3/calendars/{calendarId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['calendarId'], + pathParams: ['calendarId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/calendar/v3/calendars') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/calendar/v3/calendars/{calendarId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['calendarId'], + pathParams: ['calendarId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/calendar/v3/calendars/{calendarId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['calendarId'], + pathParams: ['calendarId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + calendar_v3.Resource$Calendars = Resource$Calendars; + class Resource$Channels { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + stop(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/calendar/v3/channels/stop') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + calendar_v3.Resource$Channels = Resource$Channels; + class Resource$Colors { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/calendar/v3/colors') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + calendar_v3.Resource$Colors = Resource$Colors; + class Resource$Events { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/calendar/v3/calendars/{calendarId}/events/{eventId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['calendarId', 'eventId'], + pathParams: ['calendarId', 'eventId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/calendar/v3/calendars/{calendarId}/events/{eventId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['calendarId', 'eventId'], + pathParams: ['calendarId', 'eventId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + import(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { options: Object.assign({ url: (rootUrl + '/calendar/v3/calendars/{calendarId}/events/import').replace(/([^:]\/)\/+/g, '$1'), method: 'POST' }, options), params, requiredParams: ['calendarId'], pathParams: ['calendarId'], context: this.getRoot() }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/calendar/v3/calendars/{calendarId}/events') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['calendarId'], + pathParams: ['calendarId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + instances(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/calendar/v3/calendars/{calendarId}/events/{eventId}/instances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['calendarId', 'eventId'], + pathParams: ['calendarId', 'eventId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/calendar/v3/calendars/{calendarId}/events') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['calendarId'], + pathParams: ['calendarId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + move(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/calendar/v3/calendars/{calendarId}/events/{eventId}/move') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['calendarId', 'eventId', 'destination'], + pathParams: ['calendarId', 'eventId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/calendar/v3/calendars/{calendarId}/events/{eventId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['calendarId', 'eventId'], + pathParams: ['calendarId', 'eventId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + quickAdd(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/calendar/v3/calendars/{calendarId}/events/quickAdd') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['calendarId', 'text'], + pathParams: ['calendarId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/calendar/v3/calendars/{calendarId}/events/{eventId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['calendarId', 'eventId'], + pathParams: ['calendarId', 'eventId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + watch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/calendar/v3/calendars/{calendarId}/events/watch') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['calendarId'], + pathParams: ['calendarId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + calendar_v3.Resource$Events = Resource$Events; + class Resource$Freebusy { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + query(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/calendar/v3/freeBusy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + calendar_v3.Resource$Freebusy = Resource$Freebusy; + class Resource$Settings { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/calendar/v3/users/me/settings/{setting}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['setting'], + pathParams: ['setting'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/calendar/v3/users/me/settings') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + watch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/calendar/v3/users/me/settings/watch') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + calendar_v3.Resource$Settings = Resource$Settings; +})(calendar_v3 = exports.calendar_v3 || (exports.calendar_v3 = {})); +//# sourceMappingURL=v3.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/calendar/v3.js.map b/express-server/node_modules/googleapis/build/src/apis/calendar/v3.js.map new file mode 100644 index 00000000..61b76340 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/calendar/v3.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v3.js","sourceRoot":"","sources":["../../../../src/apis/calendar/v3.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/chat/README.md b/express-server/node_modules/googleapis/build/src/apis/chat/README.md new file mode 100644 index 00000000..284f18ae --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/chat/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/chat + +> Create bots and extend the new Hangouts Chat. + +## Installation + +```sh +$ npm install @google/chat +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/chat/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/chat/index.d.ts new file mode 100644 index 00000000..e4d41555 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/chat/index.d.ts @@ -0,0 +1,6 @@ +import { chat_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof chat_v1.Chat; +}; +export declare function chat(version: 'v1'): chat_v1.Chat; +export declare function chat(options: chat_v1.Options): chat_v1.Chat; diff --git a/express-server/node_modules/googleapis/build/src/apis/chat/index.js b/express-server/node_modules/googleapis/build/src/apis/chat/index.js new file mode 100644 index 00000000..0d70beb8 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/chat/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.chat_v1.Chat, +}; +function chat(versionOrOptions) { + return googleapis_common_1.getAPI('chat', versionOrOptions, exports.VERSIONS, this); +} +exports.chat = chat; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/chat/index.js.map b/express-server/node_modules/googleapis/build/src/apis/chat/index.js.map new file mode 100644 index 00000000..1fff2209 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/chat/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/chat/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAA6B;AAEhB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,YAAO,CAAC,IAAI;CACnB,CAAC;AAIF,SAAgB,IAAI,CACU,gBAAsC;IAClE,OAAO,0BAAM,CAAI,MAAM,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAC7D,CAAC;AAHD,oBAGC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/chat/package.json b/express-server/node_modules/googleapis/build/src/apis/chat/package.json new file mode 100644 index 00000000..dbb5b143 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/chat/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/chat", + "version": "0.1.0", + "description": "chat", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/chat/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/chat/v1.d.ts new file mode 100644 index 00000000..61c54407 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/chat/v1.d.ts @@ -0,0 +1,857 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace chat_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Hangouts Chat API + * + * Enables bots to fetch information and perform actions in Hangouts Chat. + * + * @example + * const {google} = require('googleapis'); + * const chat = google.chat('v1'); + * + * @namespace chat + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Chat + */ + class Chat { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + spaces: Resource$Spaces; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * List of string parameters to supply when the action method is invoked. For + * example, consider three snooze buttons: snooze now, snooze 1 day, snooze + * next week. You might use action method = snooze(), passing the snooze type + * and snooze time in the list of string parameters. + */ + interface Schema$ActionParameter { + /** + * The name of the parameter for the action script. + */ + key?: string; + /** + * The value of the parameter. + */ + value?: string; + } + /** + * Parameters that a bot can use to configure how it's response is posted. + */ + interface Schema$ActionResponse { + /** + * The type of bot response. + */ + type?: string; + /** + * URL for users to auth or config. (Only for REQUEST_CONFIG response + * types.) + */ + url?: string; + } + /** + * Annotations associated with the plain-text body of the message. Example + * plain-text message body: ``` Hello @FooBot how are you!" ``` The + * corresponding annotations metadata: ``` "annotations":[{ + * "type":"USER_MENTION", "startIndex":6, + * "length":7, "userMention": { "user": { + * "name":"users/107946847022116401880", + * "displayName":"FooBot", + * "avatarUrl":"https://goo.gl/aeDtrS", + * "type":"BOT" }, + * "type":"MENTION" } }] ``` + */ + interface Schema$Annotation { + /** + * Length of the substring in the plain-text message body this annotation + * corresponds to. + */ + length?: number; + /** + * Start index (0-based, inclusive) in the plain-text message body this + * annotation corresponds to. + */ + startIndex?: number; + /** + * The type of this annotation. + */ + type?: string; + /** + * The metadata of user mention. + */ + userMention?: Schema$UserMentionMetadata; + } + /** + * A button. Can be a text button or an image button. + */ + interface Schema$Button { + /** + * A button with image and onclick action. + */ + imageButton?: Schema$ImageButton; + /** + * A button with text and onclick action. + */ + textButton?: Schema$TextButton; + } + /** + * A card is a UI element that can contain UI widgets such as texts, images. + */ + interface Schema$Card { + /** + * The actions of this card. + */ + cardActions?: Schema$CardAction[]; + /** + * The header of the card. A header usually contains a title and an image. + */ + header?: Schema$CardHeader; + /** + * Name of the card. + */ + name?: string; + /** + * Sections are separated by a line divider. + */ + sections?: Schema$Section[]; + } + /** + * A card action is the action associated with the card. For an invoice card, + * a typical action would be: delete invoice, email invoice or open the + * invoice in browser. + */ + interface Schema$CardAction { + /** + * The label used to be displayed in the action menu item. + */ + actionLabel?: string; + /** + * The onclick action for this action item. + */ + onClick?: Schema$OnClick; + } + interface Schema$CardHeader { + /** + * The image's type (e.g. square border or circular border). + */ + imageStyle?: string; + /** + * The URL of the image in the card header. + */ + imageUrl?: string; + /** + * The subtitle of the card header. + */ + subtitle?: string; + /** + * The title must be specified. The header has a fixed height: if both a + * title and subtitle is specified, each will take up 1 line. If only the + * title is specified, it will take up both lines. + */ + title?: string; + } + /** + * Hangouts Chat events. + */ + interface Schema$DeprecatedEvent { + /** + * The form action data associated with an interactive card that was + * clicked. Only populated for CARD_CLICKED events. See the [Interactive + * Cards guide](/hangouts/chat/how-tos/cards-onclick) for more information. + */ + action?: Schema$FormAction; + /** + * The URL the bot should redirect the user to after they have completed an + * authorization or configuration flow outside of Hangouts Chat. See the + * [Authorizing access to 3p services guide](/hangouts/chat/how-tos/auth-3p) + * for more information. + */ + configCompleteRedirectUrl?: string; + /** + * The timestamp indicating when the event was dispatched. + */ + eventTime?: string; + /** + * The message that triggered the event, if applicable. + */ + message?: Schema$Message; + /** + * The room or DM in which the event occurred. + */ + space?: Schema$Space; + /** + * The bot-defined key for the thread related to the event. See the + * thread_key field of the `spaces.message.create` request for more + * information. + */ + threadKey?: string; + /** + * A secret value that bots can use to verify if a request is from Google. + * The token is randomly generated by Google, remains static, and can be + * obtained from the Hangouts Chat API configuration page in the Cloud + * Console. Developers can revoke/regenerate it if needed from the same + * page. + */ + token?: string; + /** + * The type of the event. + */ + type?: string; + /** + * The user that triggered the event. + */ + user?: Schema$User; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * A form action describes the behavior when the form is submitted. For + * example, an Apps Script can be invoked to handle the form. + */ + interface Schema$FormAction { + /** + * Apps Script function to invoke when the containing element is + * clicked/activated. + */ + actionMethodName?: string; + /** + * List of action parameters. + */ + parameters?: Schema$ActionParameter[]; + } + /** + * An image that is specified by a URL and can have an onclick action. + */ + interface Schema$Image { + /** + * The aspect ratio of this image (width/height). + */ + aspectRatio?: number; + /** + * The URL of the image. + */ + imageUrl?: string; + /** + * The onclick action. + */ + onClick?: Schema$OnClick; + } + /** + * An image button with an onclick action. + */ + interface Schema$ImageButton { + /** + * The icon specified by an enum that indices to an icon provided by Chat + * API. + */ + icon?: string; + /** + * The icon specified by a URL. + */ + iconUrl?: string; + /** + * The name of this image_button which will be used for accessibility. + * Default value will be provided if developers don't specify. + */ + name?: string; + /** + * The onclick action. + */ + onClick?: Schema$OnClick; + } + /** + * A UI element contains a key (label) and a value (content). And this element + * may also contain some actions such as onclick button. + */ + interface Schema$KeyValue { + /** + * The text of the bottom label. Formatted text supported. + */ + bottomLabel?: string; + /** + * A button that can be clicked to trigger an action. + */ + button?: Schema$Button; + /** + * The text of the content. Formatted text supported and always required. + */ + content?: string; + /** + * If the content should be multiline. + */ + contentMultiline?: boolean; + /** + * An enum value that will be replaced by the Chat API with the + * corresponding icon image. + */ + icon?: string; + /** + * The icon specified by a URL. + */ + iconUrl?: string; + /** + * The onclick action. Only the top label, bottom label and content region + * are clickable. + */ + onClick?: Schema$OnClick; + /** + * The text of the top label. Formatted text supported. + */ + topLabel?: string; + } + interface Schema$ListMembershipsResponse { + /** + * List of memberships in the requested (or first) page. + */ + memberships?: Schema$Membership[]; + /** + * Continuation token to retrieve the next page of results. It will be empty + * for the last page of results. + */ + nextPageToken?: string; + } + interface Schema$ListSpacesResponse { + /** + * Continuation token to retrieve the next page of results. It will be empty + * for the last page of results. Tokens expire in an hour. An error is + * thrown if an expired token is passed. + */ + nextPageToken?: string; + /** + * List of spaces in the requested (or first) page. + */ + spaces?: Schema$Space[]; + } + /** + * Represents a membership relation in Hangouts Chat. + */ + interface Schema$Membership { + /** + * The creation time of the membership a.k.a the time at which the member + * joined the space, if applicable. + */ + createTime?: string; + /** + * Member details. + */ + member?: Schema$User; + /** + * Resource name of the membership, in the form + * "spaces/x/members/*". Example: + * spaces/AAAAMpdlehY/members/105115627578887013105 + */ + name?: string; + /** + * State of the membership. + */ + state?: string; + } + /** + * A message in Hangouts Chat. + */ + interface Schema$Message { + /** + * Input only. Parameters that a bot can use to configure how its response + * is posted. + */ + actionResponse?: Schema$ActionResponse; + /** + * Output only. Annotations associated with the text in this message. + */ + annotations?: Schema$Annotation[]; + /** + * Plain-text body of the message with all bot mentions stripped out. + */ + argumentText?: string; + /** + * Rich, formatted and interactive cards that can be used to display UI + * elements such as: formatted texts, buttons, clickable images. Cards are + * normally displayed below the plain-text body of the message. + */ + cards?: Schema$Card[]; + /** + * Output only. The time at which the message was created in Hangouts Chat + * server. + */ + createTime?: string; + /** + * A plain-text description of the message's cards, used when the actual + * cards cannot be displayed (e.g. mobile notifications). + */ + fallbackText?: string; + /** + * Resource name, in the form "spaces/x/messages/*". Example: + * spaces/AAAAMpdlehY/messages/UMxbHmzDlr4.UMxbHmzDlr4 + */ + name?: string; + /** + * Text for generating preview chips. This text will not be displayed to the + * user, but any links to images, web pages, videos, etc. included here will + * generate preview chips. + */ + previewText?: string; + /** + * The user who created the message. + */ + sender?: Schema$User; + /** + * The space the message belongs to. + */ + space?: Schema$Space; + /** + * Plain-text body of the message. + */ + text?: string; + /** + * The thread the message belongs to. + */ + thread?: Schema$Thread; + } + /** + * An onclick action (e.g. open a link). + */ + interface Schema$OnClick { + /** + * A form action will be trigger by this onclick if specified. + */ + action?: Schema$FormAction; + /** + * This onclick triggers an open link action if specified. + */ + openLink?: Schema$OpenLink; + } + /** + * A link that opens a new window. + */ + interface Schema$OpenLink { + /** + * The URL to open. + */ + url?: string; + } + /** + * A section contains a collection of widgets that are rendered (vertically) + * in the order that they are specified. Across all platforms, cards have a + * narrow fixed width, so there is currently no need for layout properties + * (e.g. float). + */ + interface Schema$Section { + /** + * The header of the section, text formatted supported. + */ + header?: string; + /** + * A section must contain at least 1 widget. + */ + widgets?: Schema$WidgetMarkup[]; + } + /** + * A room or DM in Hangouts Chat. + */ + interface Schema$Space { + /** + * Output only. The display name (only if the space is a room). + */ + displayName?: string; + /** + * Resource name of the space, in the form "spaces/*". Example: + * spaces/AAAAMpdlehYs + */ + name?: string; + /** + * Output only. The type of a space. + */ + type?: string; + } + /** + * A button with text and onclick action. + */ + interface Schema$TextButton { + /** + * The onclick action of the button. + */ + onClick?: Schema$OnClick; + /** + * The text of the button. + */ + text?: string; + } + /** + * A paragraph of text. Formatted text supported. + */ + interface Schema$TextParagraph { + text?: string; + } + /** + * A thread in Hangouts Chat. + */ + interface Schema$Thread { + /** + * Resource name, in the form "spaces/x/threads/*". Example: + * spaces/AAAAMpdlehY/threads/UMxbHmzDlr4 + */ + name?: string; + } + /** + * A user in Hangouts Chat. + */ + interface Schema$User { + /** + * The user's display name. + */ + displayName?: string; + /** + * Resource name, in the format "users/*". + */ + name?: string; + /** + * User type. + */ + type?: string; + } + /** + * Annotation metadata for user mentions (@). + */ + interface Schema$UserMentionMetadata { + /** + * The type of user mention. + */ + type?: string; + /** + * The user mentioned. + */ + user?: Schema$User; + } + /** + * A widget is a UI element that presents texts, images, etc. + */ + interface Schema$WidgetMarkup { + /** + * A list of buttons. Buttons is also oneof data and only one of these + * fields should be set. + */ + buttons?: Schema$Button[]; + /** + * Display an image in this widget. + */ + image?: Schema$Image; + /** + * Display a key value item in this widget. + */ + keyValue?: Schema$KeyValue; + /** + * Display a text paragraph in this widget. + */ + textParagraph?: Schema$TextParagraph; + } + class Resource$Spaces { + root: Chat; + members: Resource$Spaces$Members; + messages: Resource$Spaces$Messages; + constructor(root: Chat); + getRoot(): Chat; + /** + * chat.spaces.get + * @desc Returns a space. + * @alias chat.spaces.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. Resource name of the space, in the form "spaces/x". Example: spaces/AAAAMpdlehY + * @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?: Params$Resource$Spaces$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Spaces$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Spaces$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * chat.spaces.list + * @desc Lists spaces the caller is a member of. + * @alias chat.spaces.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Requested page size. The value is capped at 1000. Server may return fewer results than requested. If unspecified, server will default to 100. + * @param {string=} params.pageToken A token identifying a page of results the server should return. + * @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?: Params$Resource$Spaces$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Spaces$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Spaces$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Spaces$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. Resource name of the space, in the form "spaces/x". Example: + * spaces/AAAAMpdlehY + */ + name?: string; + } + interface Params$Resource$Spaces$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Requested page size. The value is capped at 1000. Server may return fewer + * results than requested. If unspecified, server will default to 100. + */ + pageSize?: number; + /** + * A token identifying a page of results the server should return. + */ + pageToken?: string; + } + class Resource$Spaces$Members { + root: Chat; + constructor(root: Chat); + getRoot(): Chat; + /** + * chat.spaces.members.get + * @desc Returns a membership. + * @alias chat.spaces.members.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. Resource name of the membership to be retrieved, in the form "spaces/x/members/x". Example: spaces/AAAAMpdlehY/members/105115627578887013105 + * @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?: Params$Resource$Spaces$Members$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Spaces$Members$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Spaces$Members$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * chat.spaces.members.list + * @desc Lists human memberships in a space. + * @alias chat.spaces.members.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Requested page size. The value is capped at 1000. Server may return fewer results than requested. If unspecified, server will default to 100. + * @param {string=} params.pageToken A token identifying a page of results the server should return. + * @param {string} params.parent Required. The resource name of the space for which membership list is to be fetched, in the form "spaces/x". Example: spaces/AAAAMpdlehY + * @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?: Params$Resource$Spaces$Members$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Spaces$Members$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Spaces$Members$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Spaces$Members$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. Resource name of the membership to be retrieved, in the form + * "spaces/x/members/x". Example: + * spaces/AAAAMpdlehY/members/105115627578887013105 + */ + name?: string; + } + interface Params$Resource$Spaces$Members$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Requested page size. The value is capped at 1000. Server may return fewer + * results than requested. If unspecified, server will default to 100. + */ + pageSize?: number; + /** + * A token identifying a page of results the server should return. + */ + pageToken?: string; + /** + * Required. The resource name of the space for which membership list is to + * be fetched, in the form "spaces/x". Example: spaces/AAAAMpdlehY + */ + parent?: string; + } + class Resource$Spaces$Messages { + root: Chat; + constructor(root: Chat); + getRoot(): Chat; + /** + * chat.spaces.messages.create + * @desc Creates a message. + * @alias chat.spaces.messages.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. Space resource name, in the form "spaces/x". Example: spaces/AAAAMpdlehY + * @param {string=} params.threadKey Opaque thread identifier string that can be specified to group messages into a single thread. If this is the first message with a given thread identifier, a new thread is created. Subsequent messages with the same thread identifier will be posted into the same thread. This relieves bots and webhooks from having to store the Hangouts Chat thread ID of a thread (created earlier by them) to post further updates to it. Has no effect if thread field, corresponding to an existing thread, is set in message. + * @param {().Message} 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 + */ + create(params?: Params$Resource$Spaces$Messages$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Spaces$Messages$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Spaces$Messages$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * chat.spaces.messages.delete + * @desc Deletes a message. + * @alias chat.spaces.messages.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. Resource name of the message to be deleted, in the form "spaces/x/messages/x" Example: spaces/AAAAMpdlehY/messages/UMxbHmzDlr4.UMxbHmzDlr4 + * @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?: Params$Resource$Spaces$Messages$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Spaces$Messages$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Spaces$Messages$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * chat.spaces.messages.get + * @desc Returns a message. + * @alias chat.spaces.messages.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. Resource name of the message to be retrieved, in the form "spaces/x/messages/x". Example: spaces/AAAAMpdlehY/messages/UMxbHmzDlr4.UMxbHmzDlr4 + * @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?: Params$Resource$Spaces$Messages$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Spaces$Messages$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Spaces$Messages$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * chat.spaces.messages.update + * @desc Updates a message. + * @alias chat.spaces.messages.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Resource name, in the form "spaces/x/messages/x". Example: spaces/AAAAMpdlehY/messages/UMxbHmzDlr4.UMxbHmzDlr4 + * @param {string=} params.updateMask Required. The field paths to be updated. Currently supported field paths: "text", "cards". + * @param {().Message} 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?: Params$Resource$Spaces$Messages$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Spaces$Messages$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Spaces$Messages$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Spaces$Messages$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. Space resource name, in the form "spaces/x". Example: + * spaces/AAAAMpdlehY + */ + parent?: string; + /** + * Opaque thread identifier string that can be specified to group messages + * into a single thread. If this is the first message with a given thread + * identifier, a new thread is created. Subsequent messages with the same + * thread identifier will be posted into the same thread. This relieves bots + * and webhooks from having to store the Hangouts Chat thread ID of a thread + * (created earlier by them) to post further updates to it. Has no effect + * if thread field, corresponding to an existing thread, is set in message. + */ + threadKey?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Message; + } + interface Params$Resource$Spaces$Messages$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. Resource name of the message to be deleted, in the form + * "spaces/x/messages/x" Example: + * spaces/AAAAMpdlehY/messages/UMxbHmzDlr4.UMxbHmzDlr4 + */ + name?: string; + } + interface Params$Resource$Spaces$Messages$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. Resource name of the message to be retrieved, in the form + * "spaces/x/messages/x". Example: + * spaces/AAAAMpdlehY/messages/UMxbHmzDlr4.UMxbHmzDlr4 + */ + name?: string; + } + interface Params$Resource$Spaces$Messages$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Resource name, in the form "spaces/x/messages/x". Example: + * spaces/AAAAMpdlehY/messages/UMxbHmzDlr4.UMxbHmzDlr4 + */ + name?: string; + /** + * Required. The field paths to be updated. Currently supported field + * paths: "text", "cards". + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Message; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/chat/v1.js b/express-server/node_modules/googleapis/build/src/apis/chat/v1.js new file mode 100644 index 00000000..d842ba10 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/chat/v1.js @@ -0,0 +1,329 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var chat_v1; +(function (chat_v1) { + /** + * Hangouts Chat API + * + * Enables bots to fetch information and perform actions in Hangouts Chat. + * + * @example + * const {google} = require('googleapis'); + * const chat = google.chat('v1'); + * + * @namespace chat + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Chat + */ + class Chat { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.spaces = new Resource$Spaces(this); + } + getRoot() { + return this.root; + } + } + chat_v1.Chat = Chat; + class Resource$Spaces { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.members = new Resource$Spaces$Members(root); + this.messages = new Resource$Spaces$Messages(root); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://chat.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://chat.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/spaces').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + chat_v1.Resource$Spaces = Resource$Spaces; + class Resource$Spaces$Members { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://chat.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://chat.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/members') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + chat_v1.Resource$Spaces$Members = Resource$Spaces$Members; + class Resource$Spaces$Messages { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://chat.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/messages') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://chat.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://chat.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://chat.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + chat_v1.Resource$Spaces$Messages = Resource$Spaces$Messages; +})(chat_v1 = exports.chat_v1 || (exports.chat_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/chat/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/chat/v1.js.map new file mode 100644 index 00000000..0a415e13 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/chat/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/chat/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/civicinfo/README.md b/express-server/node_modules/googleapis/build/src/apis/civicinfo/README.md new file mode 100644 index 00000000..9d2966f1 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/civicinfo/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/civicinfo + +> Provides polling places, early vote locations, contest data, election officials, and government representatives for U.S. residential addresses. + +## Installation + +```sh +$ npm install @google/civicinfo +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/civicinfo/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/civicinfo/index.d.ts new file mode 100644 index 00000000..2ef8299e --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/civicinfo/index.d.ts @@ -0,0 +1,6 @@ +import { civicinfo_v2 } from './v2'; +export declare const VERSIONS: { + 'v2': typeof civicinfo_v2.Civicinfo; +}; +export declare function civicinfo(version: 'v2'): civicinfo_v2.Civicinfo; +export declare function civicinfo(options: civicinfo_v2.Options): civicinfo_v2.Civicinfo; diff --git a/express-server/node_modules/googleapis/build/src/apis/civicinfo/index.js b/express-server/node_modules/googleapis/build/src/apis/civicinfo/index.js new file mode 100644 index 00000000..7744f0fb --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/civicinfo/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v2_1 = require("./v2"); +exports.VERSIONS = { + 'v2': v2_1.civicinfo_v2.Civicinfo, +}; +function civicinfo(versionOrOptions) { + return googleapis_common_1.getAPI('civicinfo', versionOrOptions, exports.VERSIONS, this); +} +exports.civicinfo = civicinfo; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/civicinfo/index.js.map b/express-server/node_modules/googleapis/build/src/apis/civicinfo/index.js.map new file mode 100644 index 00000000..df9a2a70 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/civicinfo/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/civicinfo/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAkC;AAErB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,iBAAY,CAAC,SAAS;CAC7B,CAAC;AAKF,SAAgB,SAAS,CACK,gBAA2C;IACvE,OAAO,0BAAM,CAAI,WAAW,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAClE,CAAC;AAHD,8BAGC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/civicinfo/package.json b/express-server/node_modules/googleapis/build/src/apis/civicinfo/package.json new file mode 100644 index 00000000..de45b600 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/civicinfo/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/civicinfo", + "version": "0.1.0", + "description": "civicinfo", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/civicinfo/v2.d.ts b/express-server/node_modules/googleapis/build/src/apis/civicinfo/v2.d.ts new file mode 100644 index 00000000..64f7dba4 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/civicinfo/v2.d.ts @@ -0,0 +1,1159 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace civicinfo_v2 { + interface Options extends GlobalOptions { + version: 'v2'; + } + /** + * Google Civic Information API + * + * Provides polling places, early vote locations, contest data, election + * officials, and government representatives for U.S. residential addresses. + * + * @example + * const {google} = require('googleapis'); + * const civicinfo = google.civicinfo('v2'); + * + * @namespace civicinfo + * @type {Function} + * @version v2 + * @variation v2 + * @param {object=} options Options for Civicinfo + */ + class Civicinfo { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + divisions: Resource$Divisions; + elections: Resource$Elections; + representatives: Resource$Representatives; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Describes information about a regional election administrative area. + */ + interface Schema$AdministrationRegion { + /** + * The election administration body for this area. + */ + electionAdministrationBody?: Schema$AdministrativeBody; + /** + * An ID for this object. IDs may change in future requests and should not + * be cached. Access to this field requires special access that can be + * requested from the Request more link on the Quotas page. + */ + id?: string; + /** + * The city or county that provides election information for this voter. + * This object can have the same elements as state. + */ + local_jurisdiction?: Schema$AdministrationRegion; + /** + * The name of the jurisdiction. + */ + name?: string; + /** + * A list of sources for this area. If multiple sources are listed the data + * has been aggregated from those sources. + */ + sources?: Schema$Source[]; + } + /** + * Information about an election administrative body (e.g. County Board of + * Elections). + */ + interface Schema$AdministrativeBody { + /** + * A URL provided by this administrative body for information on absentee + * voting. + */ + absenteeVotingInfoUrl?: string; + addressLines?: string[]; + /** + * A URL provided by this administrative body to give contest information to + * the voter. + */ + ballotInfoUrl?: string; + /** + * The mailing address of this administrative body. + */ + correspondenceAddress?: Schema$SimpleAddressType; + /** + * A URL provided by this administrative body for looking up general + * election information. + */ + electionInfoUrl?: string; + /** + * The election officials for this election administrative body. + */ + electionOfficials?: Schema$ElectionOfficial[]; + /** + * A URL provided by this administrative body for confirming that the voter + * is registered to vote. + */ + electionRegistrationConfirmationUrl?: string; + /** + * A URL provided by this administrative body for looking up how to register + * to vote. + */ + electionRegistrationUrl?: string; + /** + * A URL provided by this administrative body describing election rules to + * the voter. + */ + electionRulesUrl?: string; + /** + * A description of the hours of operation for this administrative body. + */ + hoursOfOperation?: string; + /** + * The name of this election administrative body. + */ + name?: string; + /** + * The physical address of this administrative body. + */ + physicalAddress?: Schema$SimpleAddressType; + /** + * A description of the services this administrative body may provide. + */ + voter_services?: string[]; + /** + * A URL provided by this administrative body for looking up where to vote. + */ + votingLocationFinderUrl?: string; + } + /** + * Information about a candidate running for elected office. + */ + interface Schema$Candidate { + /** + * The URL for the candidate's campaign web site. + */ + candidateUrl?: string; + /** + * A list of known (social) media channels for this candidate. + */ + channels?: Schema$Channel[]; + /** + * The email address for the candidate's campaign. + */ + email?: string; + /** + * The candidate's name. If this is a joint ticket it will indicate the + * name of the candidate at the top of a ticket followed by a / and that + * name of candidate at the bottom of the ticket. e.g. "Mitt Romney / + * Paul Ryan" + */ + name?: string; + /** + * The order the candidate appears on the ballot for this contest. + */ + orderOnBallot?: string; + /** + * The full name of the party the candidate is a member of. + */ + party?: string; + /** + * The voice phone number for the candidate's campaign office. + */ + phone?: string; + /** + * A URL for a photo of the candidate. + */ + photoUrl?: string; + } + /** + * A social media or web channel for a candidate. + */ + interface Schema$Channel { + /** + * The unique public identifier for the candidate's channel. + */ + id?: string; + /** + * The type of channel. The following is a list of types of channels, but is + * not exhaustive. More channel types may be added at a later time. One of: + * GooglePlus, YouTube, Facebook, Twitter + */ + type?: string; + } + /** + * Information about a contest that appears on a voter's ballot. + */ + interface Schema$Contest { + /** + * A number specifying the position of this contest on the voter's + * ballot. + */ + ballotPlacement?: string; + /** + * The official title on the ballot for this contest, only where available. + */ + ballotTitle?: string; + /** + * The candidate choices for this contest. + */ + candidates?: Schema$Candidate[]; + /** + * Information about the electoral district that this contest is in. + */ + district?: Schema$ElectoralDistrict; + /** + * A description of any additional eligibility requirements for voting in + * this contest. + */ + electorateSpecifications?: string; + /** + * An ID for this object. IDs may change in future requests and should not + * be cached. Access to this field requires special access that can be + * requested from the Request more link on the Quotas page. + */ + id?: string; + /** + * The levels of government of the office for this contest. There may be + * more than one in cases where a jurisdiction effectively acts at two + * different levels of government; for example, the mayor of the District of + * Columbia acts at "locality" level, but also effectively at both + * "administrative-area-2" and "administrative-area-1". + */ + level?: string[]; + /** + * The number of candidates that will be elected to office in this contest. + */ + numberElected?: string; + /** + * The number of candidates that a voter may vote for in this contest. + */ + numberVotingFor?: string; + /** + * The name of the office for this contest. + */ + office?: string; + /** + * If this is a partisan election, the name of the party it is for. + */ + primaryParty?: string; + /** + * The set of ballot responses for the referendum. A ballot response + * represents a line on the ballot. Common examples might include + * "yes" or "no" for referenda. This field is only + * populated for contests of type 'Referendum'. + */ + referendumBallotResponses?: string[]; + /** + * Specifies a short summary of the referendum that is typically on the + * ballot below the title but above the text. This field is only populated + * for contests of type 'Referendum'. + */ + referendumBrief?: string; + /** + * A statement in opposition to the referendum. It does not necessarily + * appear on the ballot. This field is only populated for contests of type + * 'Referendum'. + */ + referendumConStatement?: string; + /** + * Specifies what effect abstaining (not voting) on the proposition will + * have (i.e. whether abstaining is considered a vote against it). This + * field is only populated for contests of type 'Referendum'. + */ + referendumEffectOfAbstain?: string; + /** + * The threshold of votes that the referendum needs in order to pass, e.g. + * "two-thirds". This field is only populated for contests of type + * 'Referendum'. + */ + referendumPassageThreshold?: string; + /** + * A statement in favor of the referendum. It does not necessarily appear on + * the ballot. This field is only populated for contests of type + * 'Referendum'. + */ + referendumProStatement?: string; + /** + * A brief description of the referendum. This field is only populated for + * contests of type 'Referendum'. + */ + referendumSubtitle?: string; + /** + * The full text of the referendum. This field is only populated for + * contests of type 'Referendum'. + */ + referendumText?: string; + /** + * The title of the referendum (e.g. 'Proposition 42'). This field + * is only populated for contests of type 'Referendum'. + */ + referendumTitle?: string; + /** + * A link to the referendum. This field is only populated for contests of + * type 'Referendum'. + */ + referendumUrl?: string; + /** + * The roles which this office fulfills. + */ + roles?: string[]; + /** + * A list of sources for this contest. If multiple sources are listed, the + * data has been aggregated from those sources. + */ + sources?: Schema$Source[]; + /** + * "Yes" or "No" depending on whether this a contest + * being held outside the normal election cycle. + */ + special?: string; + /** + * The type of contest. Usually this will be 'General', + * 'Primary', or 'Run-off' for contests with candidates. For + * referenda this will be 'Referendum'. For Retention contests this + * will typically be 'Retention'. + */ + type?: string; + } + interface Schema$ContextParams { + clientProfile?: string; + } + /** + * A request to look up representative information for a single division. + */ + interface Schema$DivisionRepresentativeInfoRequest { + contextParams?: Schema$ContextParams; + } + /** + * A search request for political geographies. + */ + interface Schema$DivisionSearchRequest { + contextParams?: Schema$ContextParams; + } + /** + * The result of a division search query. + */ + interface Schema$DivisionSearchResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "civicinfo#divisionSearchResponse". + */ + kind?: string; + results?: Schema$DivisionSearchResult[]; + } + /** + * Represents a political geographic division that matches the requested + * query. + */ + interface Schema$DivisionSearchResult { + /** + * Other Open Civic Data identifiers that refer to the same division -- for + * example, those that refer to other political divisions whose boundaries + * are defined to be coterminous with this one. For example, + * ocd-division/country:us/state:wy will include an alias of + * ocd-division/country:us/state:wy/cd:1, since Wyoming has only one + * Congressional district. + */ + aliases?: string[]; + /** + * The name of the division. + */ + name?: string; + /** + * The unique Open Civic Data identifier for this division. + */ + ocdId?: string; + } + /** + * Information about the election that was queried. + */ + interface Schema$Election { + /** + * Day of the election in YYYY-MM-DD format. + */ + electionDay?: string; + /** + * The unique ID of this election. + */ + id?: string; + /** + * A displayable name for the election. + */ + name?: string; + /** + * The political division of the election. Represented as an OCD Division + * ID. Voters within these political jurisdictions are covered by this + * election. This is typically a state such as + * ocd-division/country:us/state:ca or for the midterms or general election + * the entire US (i.e. ocd-division/country:us). + */ + ocdDivisionId?: string; + } + /** + * Information about individual election officials. + */ + interface Schema$ElectionOfficial { + /** + * The email address of the election official. + */ + emailAddress?: string; + /** + * The fax number of the election official. + */ + faxNumber?: string; + /** + * The full name of the election official. + */ + name?: string; + /** + * The office phone number of the election official. + */ + officePhoneNumber?: string; + /** + * The title of the election official. + */ + title?: string; + } + interface Schema$ElectionsQueryRequest { + contextParams?: Schema$ContextParams; + } + /** + * The list of elections available for this version of the API. + */ + interface Schema$ElectionsQueryResponse { + /** + * A list of available elections + */ + elections?: Schema$Election[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "civicinfo#electionsQueryResponse". + */ + kind?: string; + } + /** + * Describes the geographic scope of a contest. + */ + interface Schema$ElectoralDistrict { + /** + * An identifier for this district, relative to its scope. For example, the + * 34th State Senate district would have id "34" and a scope of + * stateUpper. + */ + id?: string; + kgForeignKey?: string; + /** + * The name of the district. + */ + name?: string; + /** + * The geographic scope of this district. If unspecified the district's + * geography is not known. One of: national, statewide, congressional, + * stateUpper, stateLower, countywide, judicial, schoolBoard, cityWide, + * township, countyCouncil, cityCouncil, ward, special + */ + scope?: string; + } + interface Schema$FieldMetadataProto { + internal?: Schema$InternalFieldMetadataProto; + } + /** + * Describes a political geography. + */ + interface Schema$GeographicDivision { + /** + * Any other valid OCD IDs that refer to the same division. Because OCD IDs + * are meant to be human-readable and at least somewhat predictable, there + * are occasionally several identifiers for a single division. These + * identifiers are defined to be equivalent to one another, and one is + * always indicated as the primary identifier. The primary identifier will + * be returned in ocd_id above, and any other equivalent valid identifiers + * will be returned in this list. For example, if this division's OCD + * ID is ocd-division/country:us/district:dc, this will contain + * ocd-division/country:us/state:dc. + */ + alsoKnownAs?: string[]; + /** + * The name of the division. + */ + name?: string; + /** + * List of indices in the offices array, one for each office elected from + * this division. Will only be present if includeOffices was true (or + * absent) in the request. + */ + officeIndices?: number[]; + } + interface Schema$InternalFieldMetadataProto { + isAuto?: boolean; + sourceSummary?: Schema$InternalSourceSummaryProto; + } + interface Schema$InternalSourceSummaryProto { + dataset?: string; + provider?: string; + } + interface Schema$LivegraphBacktraceRecordInfo { + dataSourcePublishMsec?: string; + expId?: string; + expInfo?: Schema$LivegraphBacktraceRecordInfoExpInfo; + isRecon?: boolean; + isWlmThrottled?: boolean; + numberOfTriples?: string; + priority?: string; + process?: string; + proxyReceiveMsec?: string; + proxySentMsec?: string; + recordId?: string; + shouldMonitorLatency?: boolean; + subscriberReceiveMsec?: string; + topicBuildFinishMsec?: string; + topicBuildStartMsec?: string; + version?: string; + } + interface Schema$LivegraphBacktraceRecordInfoExpInfo { + deletedIns?: string[]; + } + interface Schema$MessageSet { + recordMessageSetExt?: Schema$LivegraphBacktraceRecordInfo; + } + /** + * Information about an Office held by one or more Officials. + */ + interface Schema$Office { + /** + * The OCD ID of the division with which this office is associated. + */ + divisionId?: string; + /** + * The levels of government of which this office is part. There may be more + * than one in cases where a jurisdiction effectively acts at two different + * levels of government; for example, the mayor of the District of Columbia + * acts at "locality" level, but also effectively at both + * "administrative-area-2" and "administrative-area-1". + */ + levels?: string[]; + /** + * The human-readable name of the office. + */ + name?: string; + /** + * List of indices in the officials array of people who presently hold this + * office. + */ + officialIndices?: number[]; + /** + * The roles which this office fulfills. Roles are not meant to be + * exhaustive, or to exactly specify the entire set of responsibilities of a + * given office, but are meant to be rough categories that are useful for + * general selection from or sorting of a list of offices. + */ + roles?: string[]; + /** + * A list of sources for this office. If multiple sources are listed, the + * data has been aggregated from those sources. + */ + sources?: Schema$Source[]; + } + /** + * Information about a person holding an elected office. + */ + interface Schema$Official { + /** + * Addresses at which to contact the official. + */ + address?: Schema$SimpleAddressType[]; + /** + * A list of known (social) media channels for this official. + */ + channels?: Schema$Channel[]; + /** + * The direct email addresses for the official. + */ + emails?: string[]; + /** + * The official's name. + */ + name?: string; + /** + * The full name of the party the official belongs to. + */ + party?: string; + /** + * The official's public contact phone numbers. + */ + phones?: string[]; + /** + * A URL for a photo of the official. + */ + photoUrl?: string; + /** + * The official's public website URLs. + */ + urls?: string[]; + } + interface Schema$PointProto { + latE7?: number; + lngE7?: number; + metadata?: Schema$FieldMetadataProto; + temporaryData?: Schema$MessageSet; + } + /** + * A location where a voter can vote. This may be an early vote site, an + * election day voting location, or a drop off location for a completed + * ballot. + */ + interface Schema$PollingLocation { + /** + * The address of the location. + */ + address?: Schema$SimpleAddressType; + /** + * The last date that this early vote site or drop off location may be used. + * This field is not populated for polling locations. + */ + endDate?: string; + /** + * An ID for this object. IDs may change in future requests and should not + * be cached. Access to this field requires special access that can be + * requested from the Request more link on the Quotas page. + */ + id?: string; + /** + * The name of the early vote site or drop off location. This field is not + * populated for polling locations. + */ + name?: string; + /** + * Notes about this location (e.g. accessibility ramp or entrance to use). + */ + notes?: string; + /** + * A description of when this location is open. + */ + pollingHours?: string; + /** + * A list of sources for this location. If multiple sources are listed the + * data has been aggregated from those sources. + */ + sources?: Schema$Source[]; + /** + * The first date that this early vote site or drop off location may be + * used. This field is not populated for polling locations. + */ + startDate?: string; + /** + * The services provided by this early vote site or drop off location. This + * field is not populated for polling locations. + */ + voterServices?: string; + } + interface Schema$PostalAddress { + addressLines?: string[]; + administrativeAreaName?: string; + countryName?: string; + countryNameCode?: string; + dependentLocalityName?: string; + dependentThoroughfareName?: string; + firmName?: string; + isDisputed?: boolean; + languageCode?: string; + localityName?: string; + postalCodeNumber?: string; + postalCodeNumberExtension?: string; + postBoxNumber?: string; + premiseName?: string; + recipientName?: string; + sortingCode?: string; + subAdministrativeAreaName?: string; + subPremiseName?: string; + thoroughfareName?: string; + thoroughfareNumber?: string; + } + interface Schema$Provenance { + collidedSegmentSource?: Schema$StreetSegmentList; + ctclContestUuid?: string; + ctclOfficeUuid?: string; + datasetId?: string; + precinctId?: string; + precinctSplitId?: string; + tsStreetSegmentId?: string; + vip5PrecinctId?: string; + vip5StreetSegmentId?: string; + vipStreetSegmentId?: string; + } + interface Schema$RepresentativeInfoData { + /** + * Political geographic divisions that contain the requested address. + */ + divisions?: any; + /** + * Elected offices referenced by the divisions listed above. Will only be + * present if includeOffices was true in the request. + */ + offices?: Schema$Office[]; + /** + * Officials holding the offices listed above. Will only be present if + * includeOffices was true in the request. + */ + officials?: Schema$Official[]; + } + /** + * A request for political geography and representative information for an + * address. + */ + interface Schema$RepresentativeInfoRequest { + contextParams?: Schema$ContextParams; + } + /** + * The result of a representative info lookup query. + */ + interface Schema$RepresentativeInfoResponse { + /** + * Political geographic divisions that contain the requested address. + */ + divisions?: any; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "civicinfo#representativeInfoResponse". + */ + kind?: string; + /** + * The normalized version of the requested address + */ + normalizedInput?: Schema$SimpleAddressType; + /** + * Elected offices referenced by the divisions listed above. Will only be + * present if includeOffices was true in the request. + */ + offices?: Schema$Office[]; + /** + * Officials holding the offices listed above. Will only be present if + * includeOffices was true in the request. + */ + officials?: Schema$Official[]; + } + /** + * A simple representation of an address. + */ + interface Schema$SimpleAddressType { + /** + * The city or town for the address. + */ + city?: string; + /** + * The street name and number of this address. + */ + line1?: string; + /** + * The second line the address, if needed. + */ + line2?: string; + /** + * The third line of the address, if needed. + */ + line3?: string; + /** + * The name of the location. + */ + locationName?: string; + /** + * The US two letter state abbreviation of the address. + */ + state?: string; + /** + * The US Postal Zip Code of the address. + */ + zip?: string; + } + /** + * Contains information about the data source for the element containing it. + */ + interface Schema$Source { + /** + * The name of the data source. + */ + name?: string; + /** + * Whether this data comes from an official government source. + */ + official?: boolean; + } + interface Schema$StreetSegment { + administrationRegionIds?: string[]; + beforeGeocodeId?: string; + catalistUniquePrecinctCode?: string; + city?: string; + cityCouncilDistrict?: string; + congressionalDistrict?: string; + contestIds?: string[]; + countyCouncilDistrict?: string; + countyFips?: string; + datasetId?: string; + earlyVoteSiteByIds?: string[]; + endHouseNumber?: string; + geocodedPoint?: Schema$PointProto; + geographicDivisionOcdIds?: string[]; + id?: string; + judicialDistrict?: string; + mailOnly?: boolean; + municipalDistrict?: string; + ncoaAddress?: string; + oddOrEvens?: string[]; + originalId?: string; + pollinglocationByIds?: string[]; + precinctName?: string; + precinctOcdId?: string; + provenances?: Schema$Provenance[]; + published?: boolean; + schoolDistrict?: string; + startHouseNumber?: string; + startLatE7?: string; + startLngE7?: string; + state?: string; + stateHouseDistrict?: string; + stateSenateDistrict?: string; + streetName?: string; + subAdministrativeAreaName?: string; + surrogateId?: string; + targetsmartUniquePrecinctCode?: string; + townshipDistrict?: string; + unitNumber?: string; + unitType?: string; + vanPrecinctCode?: string; + voterGeographicDivisionOcdIds?: string[]; + wardDistrict?: string; + wildcard?: boolean; + zip?: string; + } + interface Schema$StreetSegmentList { + segments?: Schema$StreetSegment[]; + } + /** + * A request for information about a voter. + */ + interface Schema$VoterInfoRequest { + contextParams?: Schema$ContextParams; + voterInfoSegmentResult?: Schema$VoterInfoSegmentResult; + } + /** + * The result of a voter info lookup query. + */ + interface Schema$VoterInfoResponse { + /** + * Contests that will appear on the voter's ballot. + */ + contests?: Schema$Contest[]; + /** + * Locations where a voter is eligible to drop off a completed ballot. The + * voter must have received and completed a ballot prior to arriving at the + * location. The location may not have ballots available on the premises. + * These locations could be open on or before election day as indicated in + * the pollingHours field. + */ + dropOffLocations?: Schema$PollingLocation[]; + /** + * Locations where the voter is eligible to vote early, prior to election + * day. + */ + earlyVoteSites?: Schema$PollingLocation[]; + /** + * The election that was queried. + */ + election?: Schema$Election; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "civicinfo#voterInfoResponse". + */ + kind?: string; + /** + * Specifies whether voters in the precinct vote only by mailing their + * ballots (with the possible option of dropping off their ballots as well). + */ + mailOnly?: boolean; + /** + * The normalized version of the requested address + */ + normalizedInput?: Schema$SimpleAddressType; + /** + * When there are multiple elections for a voter address, the otherElections + * field is populated in the API response and there are two + * possibilities: 1. If the earliest election is not the intended election, + * specify the election ID of the desired election in a second API request + * using the electionId field. 2. If these elections occur on the same day, + * the API doesn?t return any polling location, contest, or election + * official information to ensure that an additional query is made. For + * user-facing applications, we recommend displaying these elections to the + * user to disambiguate. A second API request using the electionId field + * should be made for the election that is relevant to the user. + */ + otherElections?: Schema$Election[]; + /** + * Locations where the voter is eligible to vote on election day. + */ + pollingLocations?: Schema$PollingLocation[]; + precinctId?: string; + segments?: Schema$StreetSegment[]; + /** + * Local Election Information for the state that the voter votes in. For the + * US, there will only be one element in this array. + */ + state?: Schema$AdministrationRegion[]; + } + interface Schema$VoterInfoSegmentResult { + generatedMillis?: string; + postalAddress?: Schema$PostalAddress; + request?: Schema$VoterInfoRequest; + response?: Schema$VoterInfoResponse; + } + class Resource$Divisions { + root: Civicinfo; + constructor(root: Civicinfo); + getRoot(): Civicinfo; + /** + * civicinfo.divisions.search + * @desc Searches for political divisions by their natural name or OCD ID. + * @alias civicinfo.divisions.search + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.query The search query. Queries can cover any parts of a OCD ID or a human readable division name. All words given in the query are treated as required patterns. In addition to that, most query operators of the Apache Lucene library are supported. See http://lucene.apache.org/core/2_9_4/queryparsersyntax.html + * @param {().DivisionSearchRequest} 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 + */ + search(params?: Params$Resource$Divisions$Search, options?: MethodOptions): AxiosPromise; + search(params: Params$Resource$Divisions$Search, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + search(params: Params$Resource$Divisions$Search, callback: BodyResponseCallback): void; + search(callback: BodyResponseCallback): void; + } + interface Params$Resource$Divisions$Search { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The search query. Queries can cover any parts of a OCD ID or a human + * readable division name. All words given in the query are treated as + * required patterns. In addition to that, most query operators of the + * Apache Lucene library are supported. See + * http://lucene.apache.org/core/2_9_4/queryparsersyntax.html + */ + query?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DivisionSearchRequest; + } + class Resource$Elections { + root: Civicinfo; + constructor(root: Civicinfo); + getRoot(): Civicinfo; + /** + * civicinfo.elections.electionQuery + * @desc List of available elections to query. + * @alias civicinfo.elections.electionQuery + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().ElectionsQueryRequest} 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 + */ + electionQuery(params?: Params$Resource$Elections$Electionquery, options?: MethodOptions): AxiosPromise; + electionQuery(params: Params$Resource$Elections$Electionquery, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + electionQuery(params: Params$Resource$Elections$Electionquery, callback: BodyResponseCallback): void; + electionQuery(callback: BodyResponseCallback): void; + /** + * civicinfo.elections.voterInfoQuery + * @desc Looks up information relevant to a voter based on the voter's + * registered address. + * @alias civicinfo.elections.voterInfoQuery + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.address The registered address of the voter to look up. + * @param {string=} params.electionId The unique ID of the election to look up. A list of election IDs can be obtained at https://www.googleapis.com/civicinfo/{version}/electionsIf no election ID is specified in the query and there is more than one election with data for the given voter, the additional elections are provided in the otherElections response field. + * @param {boolean=} params.officialOnly If set to true, only data from official state sources will be returned. + * @param {boolean=} params.returnAllAvailableData If set to true, the query will return the success codeand include any partial information when it is unable to determine a matching address or unable to determine the election for electionId=0 queries. + * @param {().VoterInfoRequest} 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 + */ + voterInfoQuery(params?: Params$Resource$Elections$Voterinfoquery, options?: MethodOptions): AxiosPromise; + voterInfoQuery(params: Params$Resource$Elections$Voterinfoquery, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + voterInfoQuery(params: Params$Resource$Elections$Voterinfoquery, callback: BodyResponseCallback): void; + voterInfoQuery(callback: BodyResponseCallback): void; + } + interface Params$Resource$Elections$Electionquery { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$ElectionsQueryRequest; + } + interface Params$Resource$Elections$Voterinfoquery { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The registered address of the voter to look up. + */ + address?: string; + /** + * The unique ID of the election to look up. A list of election IDs can be + * obtained at https://www.googleapis.com/civicinfo/{version}/electionsIf no + * election ID is specified in the query and there is more than one election + * with data for the given voter, the additional elections are provided in + * the otherElections response field. + */ + electionId?: string; + /** + * If set to true, only data from official state sources will be returned. + */ + officialOnly?: boolean; + /** + * If set to true, the query will return the success codeand include any + * partial information when it is unable to determine a matching address or + * unable to determine the election for electionId=0 queries. + */ + returnAllAvailableData?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$VoterInfoRequest; + } + class Resource$Representatives { + root: Civicinfo; + constructor(root: Civicinfo); + getRoot(): Civicinfo; + /** + * civicinfo.representatives.representativeInfoByAddress + * @desc Looks up political geography and representative information for a + * single address. + * @alias civicinfo.representatives.representativeInfoByAddress + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.address The address to look up. May only be specified if the field ocdId is not given in the URL. + * @param {boolean=} params.includeOffices Whether to return information about offices and officials. If false, only the top-level district information will be returned. + * @param {string=} params.levels A list of office levels to filter by. Only offices that serve at least one of these levels will be returned. Divisions that don't contain a matching office will not be returned. + * @param {string=} params.roles A list of office roles to filter by. Only offices fulfilling one of these roles will be returned. Divisions that don't contain a matching office will not be returned. + * @param {().RepresentativeInfoRequest} 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 + */ + representativeInfoByAddress(params?: Params$Resource$Representatives$Representativeinfobyaddress, options?: MethodOptions): AxiosPromise; + representativeInfoByAddress(params: Params$Resource$Representatives$Representativeinfobyaddress, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + representativeInfoByAddress(params: Params$Resource$Representatives$Representativeinfobyaddress, callback: BodyResponseCallback): void; + representativeInfoByAddress(callback: BodyResponseCallback): void; + /** + * civicinfo.representatives.representativeInfoByDivision + * @desc Looks up representative information for a single geographic + * division. + * @alias civicinfo.representatives.representativeInfoByDivision + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.levels A list of office levels to filter by. Only offices that serve at least one of these levels will be returned. Divisions that don't contain a matching office will not be returned. + * @param {string} params.ocdId The Open Civic Data division identifier of the division to look up. + * @param {boolean=} params.recursive If true, information about all divisions contained in the division requested will be included as well. For example, if querying ocd-division/country:us/district:dc, this would also return all DC's wards and ANCs. + * @param {string=} params.roles A list of office roles to filter by. Only offices fulfilling one of these roles will be returned. Divisions that don't contain a matching office will not be returned. + * @param {().DivisionRepresentativeInfoRequest} 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 + */ + representativeInfoByDivision(params?: Params$Resource$Representatives$Representativeinfobydivision, options?: MethodOptions): AxiosPromise; + representativeInfoByDivision(params: Params$Resource$Representatives$Representativeinfobydivision, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + representativeInfoByDivision(params: Params$Resource$Representatives$Representativeinfobydivision, callback: BodyResponseCallback): void; + representativeInfoByDivision(callback: BodyResponseCallback): void; + } + interface Params$Resource$Representatives$Representativeinfobyaddress { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The address to look up. May only be specified if the field ocdId is not + * given in the URL. + */ + address?: string; + /** + * Whether to return information about offices and officials. If false, only + * the top-level district information will be returned. + */ + includeOffices?: boolean; + /** + * A list of office levels to filter by. Only offices that serve at least + * one of these levels will be returned. Divisions that don't contain a + * matching office will not be returned. + */ + levels?: string; + /** + * A list of office roles to filter by. Only offices fulfilling one of these + * roles will be returned. Divisions that don't contain a matching office + * will not be returned. + */ + roles?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RepresentativeInfoRequest; + } + interface Params$Resource$Representatives$Representativeinfobydivision { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A list of office levels to filter by. Only offices that serve at least + * one of these levels will be returned. Divisions that don't contain a + * matching office will not be returned. + */ + levels?: string; + /** + * The Open Civic Data division identifier of the division to look up. + */ + ocdId?: string; + /** + * If true, information about all divisions contained in the division + * requested will be included as well. For example, if querying + * ocd-division/country:us/district:dc, this would also return all DC's + * wards and ANCs. + */ + recursive?: boolean; + /** + * A list of office roles to filter by. Only offices fulfilling one of these + * roles will be returned. Divisions that don't contain a matching office + * will not be returned. + */ + roles?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DivisionRepresentativeInfoRequest; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/civicinfo/v2.js b/express-server/node_modules/googleapis/build/src/apis/civicinfo/v2.js new file mode 100644 index 00000000..b1693455 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/civicinfo/v2.js @@ -0,0 +1,243 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var civicinfo_v2; +(function (civicinfo_v2) { + /** + * Google Civic Information API + * + * Provides polling places, early vote locations, contest data, election + * officials, and government representatives for U.S. residential addresses. + * + * @example + * const {google} = require('googleapis'); + * const civicinfo = google.civicinfo('v2'); + * + * @namespace civicinfo + * @type {Function} + * @version v2 + * @variation v2 + * @param {object=} options Options for Civicinfo + */ + class Civicinfo { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.divisions = new Resource$Divisions(this); + this.elections = new Resource$Elections(this); + this.representatives = new Resource$Representatives(this); + } + getRoot() { + return this.root; + } + } + civicinfo_v2.Civicinfo = Civicinfo; + class Resource$Divisions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + search(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/civicinfo/v2/divisions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + civicinfo_v2.Resource$Divisions = Resource$Divisions; + class Resource$Elections { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + electionQuery(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/civicinfo/v2/elections') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + voterInfoQuery(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/civicinfo/v2/voterinfo') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['address'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + civicinfo_v2.Resource$Elections = Resource$Elections; + class Resource$Representatives { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + representativeInfoByAddress(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/civicinfo/v2/representatives') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + representativeInfoByDivision(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/civicinfo/v2/representatives/{ocdId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['ocdId'], + pathParams: ['ocdId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + civicinfo_v2.Resource$Representatives = Resource$Representatives; +})(civicinfo_v2 = exports.civicinfo_v2 || (exports.civicinfo_v2 = {})); +//# sourceMappingURL=v2.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/civicinfo/v2.js.map b/express-server/node_modules/googleapis/build/src/apis/civicinfo/v2.js.map new file mode 100644 index 00000000..e49bf2ca --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/civicinfo/v2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v2.js","sourceRoot":"","sources":["../../../../src/apis/civicinfo/v2.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/classroom/README.md b/express-server/node_modules/googleapis/build/src/apis/classroom/README.md new file mode 100644 index 00000000..3a57e705 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/classroom/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/classroom + +> Manages classes, rosters, and invitations in Google Classroom. + +## Installation + +```sh +$ npm install @google/classroom +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/classroom/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/classroom/index.d.ts new file mode 100644 index 00000000..d604c6d9 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/classroom/index.d.ts @@ -0,0 +1,6 @@ +import { classroom_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof classroom_v1.Classroom; +}; +export declare function classroom(version: 'v1'): classroom_v1.Classroom; +export declare function classroom(options: classroom_v1.Options): classroom_v1.Classroom; diff --git a/express-server/node_modules/googleapis/build/src/apis/classroom/index.js b/express-server/node_modules/googleapis/build/src/apis/classroom/index.js new file mode 100644 index 00000000..37071a5d --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/classroom/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.classroom_v1.Classroom, +}; +function classroom(versionOrOptions) { + return googleapis_common_1.getAPI('classroom', versionOrOptions, exports.VERSIONS, this); +} +exports.classroom = classroom; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/classroom/index.js.map b/express-server/node_modules/googleapis/build/src/apis/classroom/index.js.map new file mode 100644 index 00000000..79cf7b22 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/classroom/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/classroom/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAkC;AAErB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,iBAAY,CAAC,SAAS;CAC7B,CAAC;AAKF,SAAgB,SAAS,CACK,gBAA2C;IACvE,OAAO,0BAAM,CAAI,WAAW,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAClE,CAAC;AAHD,8BAGC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/classroom/package.json b/express-server/node_modules/googleapis/build/src/apis/classroom/package.json new file mode 100644 index 00000000..cc08e3c7 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/classroom/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/classroom", + "version": "0.1.0", + "description": "classroom", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/classroom/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/classroom/v1.d.ts new file mode 100644 index 00000000..de314dce --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/classroom/v1.d.ts @@ -0,0 +1,3657 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace classroom_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Google Classroom API + * + * Manages classes, rosters, and invitations in Google Classroom. + * + * @example + * const {google} = require('googleapis'); + * const classroom = google.classroom('v1'); + * + * @namespace classroom + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Classroom + */ + class Classroom { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + courses: Resource$Courses; + invitations: Resource$Invitations; + registrations: Resource$Registrations; + userProfiles: Resource$Userprofiles; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Announcement created by a teacher for students of the course + */ + interface Schema$Announcement { + /** + * Absolute link to this announcement in the Classroom web UI. This is only + * populated if `state` is `PUBLISHED`. Read-only. + */ + alternateLink?: string; + /** + * Assignee mode of the announcement. If unspecified, the default value is + * `ALL_STUDENTS`. + */ + assigneeMode?: string; + /** + * Identifier of the course. Read-only. + */ + courseId?: string; + /** + * Timestamp when this announcement was created. Read-only. + */ + creationTime?: string; + /** + * Identifier for the user that created the announcement. Read-only. + */ + creatorUserId?: string; + /** + * Classroom-assigned identifier of this announcement, unique per course. + * Read-only. + */ + id?: string; + /** + * Identifiers of students with access to the announcement. This field is + * set only if `assigneeMode` is `INDIVIDUAL_STUDENTS`. If the + * `assigneeMode` is `INDIVIDUAL_STUDENTS`, then only students specified in + * this field will be able to see the announcement. + */ + individualStudentsOptions?: Schema$IndividualStudentsOptions; + /** + * Additional materials. Announcements must have no more than 20 material + * items. + */ + materials?: Schema$Material[]; + /** + * Optional timestamp when this announcement is scheduled to be published. + */ + scheduledTime?: string; + /** + * Status of this announcement. If unspecified, the default state is + * `DRAFT`. + */ + state?: string; + /** + * Description of this announcement. The text must be a valid UTF-8 string + * containing no more than 30,000 characters. + */ + text?: string; + /** + * Timestamp of the most recent change to this announcement. Read-only. + */ + updateTime?: string; + } + /** + * Additional details for assignments. + */ + interface Schema$Assignment { + /** + * Drive folder where attachments from student submissions are placed. This + * is only populated for course teachers and administrators. + */ + studentWorkFolder?: Schema$DriveFolder; + } + /** + * Student work for an assignment. + */ + interface Schema$AssignmentSubmission { + /** + * Attachments added by the student. Drive files that correspond to + * materials with a share mode of STUDENT_COPY may not exist yet if the + * student has not accessed the assignment in Classroom. Some attachment + * metadata is only populated if the requesting user has permission to + * access it. Identifier and alternate_link fields are always available, but + * others (e.g. title) may not be. + */ + attachments?: Schema$Attachment[]; + } + /** + * Attachment added to student assignment work. When creating attachments, + * setting the `form` field is not supported. + */ + interface Schema$Attachment { + /** + * Google Drive file attachment. + */ + driveFile?: Schema$DriveFile; + /** + * Google Forms attachment. + */ + form?: Schema$Form; + /** + * Link attachment. + */ + link?: Schema$Link; + /** + * Youtube video attachment. + */ + youTubeVideo?: Schema$YouTubeVideo; + } + /** + * A reference to a Cloud Pub/Sub topic. To register for notifications, the + * owner of the topic must grant + * `classroom-notifications@system.gserviceaccount.com` the + * `projects.topics.publish` permission. + */ + interface Schema$CloudPubsubTopic { + /** + * The `name` field of a Cloud Pub/Sub + * [Topic](https://cloud.google.com/pubsub/docs/reference/rest/v1/projects.topics#Topic). + */ + topicName?: string; + } + /** + * A Course in Classroom. + */ + interface Schema$Course { + /** + * Absolute link to this course in the Classroom web UI. Read-only. + */ + alternateLink?: string; + /** + * The Calendar ID for a calendar that all course members can see, to which + * Classroom adds events for course work and announcements in the course. + * Read-only. + */ + calendarId?: string; + /** + * The email address of a Google group containing all members of the course. + * This group does not accept email and can only be used for permissions. + * Read-only. + */ + courseGroupEmail?: string; + /** + * Sets of materials that appear on the "about" page of this + * course. Read-only. + */ + courseMaterialSets?: Schema$CourseMaterialSet[]; + /** + * State of the course. If unspecified, the default state is `PROVISIONED`. + */ + courseState?: string; + /** + * Creation time of the course. Specifying this field in a course update + * mask results in an error. Read-only. + */ + creationTime?: string; + /** + * Optional description. For example, "We'll be learning about the + * structure of living creatures from a combination of textbooks, guest + * lectures, and lab work. Expect to be excited!" If set, this field + * must be a valid UTF-8 string and no longer than 30,000 characters. + */ + description?: string; + /** + * Optional heading for the description. For example, "Welcome to 10th + * Grade Biology." If set, this field must be a valid UTF-8 string and + * no longer than 3600 characters. + */ + descriptionHeading?: string; + /** + * Enrollment code to use when joining this course. Specifying this field in + * a course update mask results in an error. Read-only. + */ + enrollmentCode?: string; + /** + * Whether or not guardian notifications are enabled for this course. + * Read-only. + */ + guardiansEnabled?: boolean; + /** + * Identifier for this course assigned by Classroom. When creating a + * course, you may optionally set this identifier to an alias string in the + * request to create a corresponding alias. The `id` is still assigned by + * Classroom and cannot be updated after the course is created. Specifying + * this field in a course update mask results in an error. + */ + id?: string; + /** + * Name of the course. For example, "10th Grade Biology". The name + * is required. It must be between 1 and 750 characters and a valid UTF-8 + * string. + */ + name?: string; + /** + * The identifier of the owner of a course. When specified as a parameter + * of a create course request, this field is required. The identifier can be + * one of the following: * the numeric identifier for the user * the email + * address of the user * the string literal `"me"`, indicating the + * requesting user This must be set in a create request. Admins can also + * specify this field in a patch course request to transfer ownership. In + * other contexts, it is read-only. + */ + ownerId?: string; + /** + * Optional room location. For example, "301". If set, this field + * must be a valid UTF-8 string and no longer than 650 characters. + */ + room?: string; + /** + * Section of the course. For example, "Period 2". If set, this + * field must be a valid UTF-8 string and no longer than 2800 characters. + */ + section?: string; + /** + * Information about a Drive Folder that is shared with all teachers of the + * course. This field will only be set for teachers of the course and + * domain administrators. Read-only. + */ + teacherFolder?: Schema$DriveFolder; + /** + * The email address of a Google group containing all teachers of the + * course. This group does not accept email and can only be used for + * permissions. Read-only. + */ + teacherGroupEmail?: string; + /** + * Time of the most recent update to this course. Specifying this field in a + * course update mask results in an error. Read-only. + */ + updateTime?: string; + } + /** + * Alternative identifier for a course. An alias uniquely identifies a + * course. It must be unique within one of the following scopes: * domain: A + * domain-scoped alias is visible to all users within the alias creator's + * domain and can be created only by a domain admin. A domain-scoped alias is + * often used when a course has an identifier external to Classroom. * + * project: A project-scoped alias is visible to any request from an + * application using the Developer Console project ID that created the alias + * and can be created by any project. A project-scoped alias is often used + * when an application has alternative identifiers. A random value can also be + * used to avoid duplicate courses in the event of transmission failures, as + * retrying a request will return `ALREADY_EXISTS` if a previous one has + * succeeded. + */ + interface Schema$CourseAlias { + /** + * Alias string. The format of the string indicates the desired alias + * scoping. * `d:<name>` indicates a domain-scoped alias. Example: + * `d:math_101` * `p:<name>` indicates a project-scoped alias. + * Example: `p:abc123` This field has a maximum length of 256 characters. + */ + alias?: string; + } + /** + * A material attached to a course as part of a material set. + */ + interface Schema$CourseMaterial { + /** + * Google Drive file attachment. + */ + driveFile?: Schema$DriveFile; + /** + * Google Forms attachment. + */ + form?: Schema$Form; + /** + * Link atatchment. + */ + link?: Schema$Link; + /** + * Youtube video attachment. + */ + youTubeVideo?: Schema$YouTubeVideo; + } + /** + * A set of materials that appears on the "About" page of the + * course. These materials might include a syllabus, schedule, or other + * background information relating to the course as a whole. + */ + interface Schema$CourseMaterialSet { + /** + * Materials attached to this set. + */ + materials?: Schema$CourseMaterial[]; + /** + * Title for this set. + */ + title?: string; + } + /** + * Information about a `Feed` with a `feed_type` of `COURSE_ROSTER_CHANGES`. + */ + interface Schema$CourseRosterChangesInfo { + /** + * The `course_id` of the course to subscribe to roster changes for. + */ + courseId?: string; + } + /** + * Course work created by a teacher for students of the course. + */ + interface Schema$CourseWork { + /** + * Absolute link to this course work in the Classroom web UI. This is only + * populated if `state` is `PUBLISHED`. Read-only. + */ + alternateLink?: string; + /** + * Assignee mode of the coursework. If unspecified, the default value is + * `ALL_STUDENTS`. + */ + assigneeMode?: string; + /** + * Assignment details. This is populated only when `work_type` is + * `ASSIGNMENT`. Read-only. + */ + assignment?: Schema$Assignment; + /** + * Whether this course work item is associated with the Developer Console + * project making the request. See google.classroom.Work.CreateCourseWork + * for more details. Read-only. + */ + associatedWithDeveloper?: boolean; + /** + * Identifier of the course. Read-only. + */ + courseId?: string; + /** + * Timestamp when this course work was created. Read-only. + */ + creationTime?: string; + /** + * Identifier for the user that created the coursework. Read-only. + */ + creatorUserId?: string; + /** + * Optional description of this course work. If set, the description must be + * a valid UTF-8 string containing no more than 30,000 characters. + */ + description?: string; + /** + * Optional date, in UTC, that submissions for this this course work are + * due. This must be specified if `due_time` is specified. + */ + dueDate?: Schema$Date; + /** + * Optional time of day, in UTC, that submissions for this this course work + * are due. This must be specified if `due_date` is specified. + */ + dueTime?: Schema$TimeOfDay; + /** + * Classroom-assigned identifier of this course work, unique per course. + * Read-only. + */ + id?: string; + /** + * Identifiers of students with access to the coursework. This field is set + * only if `assigneeMode` is `INDIVIDUAL_STUDENTS`. If the `assigneeMode` is + * `INDIVIDUAL_STUDENTS`, then only students specified in this field will be + * assigned the coursework. + */ + individualStudentsOptions?: Schema$IndividualStudentsOptions; + /** + * Additional materials. CourseWork must have no more than 20 material + * items. + */ + materials?: Schema$Material[]; + /** + * Maximum grade for this course work. If zero or unspecified, this + * assignment is considered ungraded. This must be a non-negative integer + * value. + */ + maxPoints?: number; + /** + * Multiple choice question details. For read operations, this field is + * populated only when `work_type` is `MULTIPLE_CHOICE_QUESTION`. For write + * operations, this field must be specified when creating course work with a + * `work_type` of `MULTIPLE_CHOICE_QUESTION`, and it must not be set + * otherwise. + */ + multipleChoiceQuestion?: Schema$MultipleChoiceQuestion; + /** + * Optional timestamp when this course work is scheduled to be published. + */ + scheduledTime?: string; + /** + * Status of this course work. If unspecified, the default state is `DRAFT`. + */ + state?: string; + /** + * Setting to determine when students are allowed to modify submissions. If + * unspecified, the default value is `MODIFIABLE_UNTIL_TURNED_IN`. + */ + submissionModificationMode?: string; + /** + * Title of this course work. The title must be a valid UTF-8 string + * containing between 1 and 3000 characters. + */ + title?: string; + /** + * Timestamp of the most recent change to this course work. Read-only. + */ + updateTime?: string; + /** + * Type of this course work. The type is set when the course work is + * created and cannot be changed. + */ + workType?: string; + } + /** + * Information about a `Feed` with a `feed_type` of `COURSE_WORK_CHANGES`. + */ + interface Schema$CourseWorkChangesInfo { + /** + * The `course_id` of the course to subscribe to work changes for. + */ + courseId?: string; + } + /** + * Represents a whole or partial calendar date, e.g. a birthday. The time of + * day and time zone are either specified elsewhere or are not significant. + * The date is relative to the Proleptic Gregorian Calendar. This can + * represent: * A full date, with non-zero year, month and day values * A + * month and day value, with a zero year, e.g. an anniversary * A year on its + * own, with zero month and day values * A year and month value, with a zero + * day, e.g. a credit card expiration date Related types are + * google.type.TimeOfDay and `google.protobuf.Timestamp`. + */ + interface Schema$Date { + /** + * Day of month. Must be from 1 to 31 and valid for the year and month, or 0 + * if specifying a year by itself or a year and month where the day is not + * significant. + */ + day?: number; + /** + * Month of year. Must be from 1 to 12, or 0 if specifying a year without a + * month and day. + */ + month?: number; + /** + * Year of date. Must be from 1 to 9999, or 0 if specifying a date without a + * year. + */ + year?: number; + } + /** + * Representation of a Google Drive file. + */ + interface Schema$DriveFile { + /** + * URL that can be used to access the Drive item. Read-only. + */ + alternateLink?: string; + /** + * Drive API resource ID. + */ + id?: string; + /** + * URL of a thumbnail image of the Drive item. Read-only. + */ + thumbnailUrl?: string; + /** + * Title of the Drive item. Read-only. + */ + title?: string; + } + /** + * Representation of a Google Drive folder. + */ + interface Schema$DriveFolder { + /** + * URL that can be used to access the Drive folder. Read-only. + */ + alternateLink?: string; + /** + * Drive API resource ID. + */ + id?: string; + /** + * Title of the Drive folder. Read-only. + */ + title?: string; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * A class of notifications that an application can register to receive. For + * example: "all roster changes for a domain". + */ + interface Schema$Feed { + /** + * Information about a `Feed` with a `feed_type` of `COURSE_ROSTER_CHANGES`. + * This field must be specified if `feed_type` is `COURSE_ROSTER_CHANGES`. + */ + courseRosterChangesInfo?: Schema$CourseRosterChangesInfo; + /** + * Information about a `Feed` with a `feed_type` of `COURSE_WORK_CHANGES`. + * This field must be specified if `feed_type` is `COURSE_WORK_CHANGES`. + */ + courseWorkChangesInfo?: Schema$CourseWorkChangesInfo; + /** + * The type of feed. + */ + feedType?: string; + } + /** + * Google Forms item. + */ + interface Schema$Form { + /** + * URL of the form. + */ + formUrl?: string; + /** + * URL of the form responses document. Only set if respsonses have been + * recorded and only when the requesting user is an editor of the form. + * Read-only. + */ + responseUrl?: string; + /** + * URL of a thumbnail image of the Form. Read-only. + */ + thumbnailUrl?: string; + /** + * Title of the Form. Read-only. + */ + title?: string; + } + /** + * Global user permission description. + */ + interface Schema$GlobalPermission { + /** + * Permission value. + */ + permission?: string; + } + /** + * The history of each grade on this submission. + */ + interface Schema$GradeHistory { + /** + * The teacher who made the grade change. + */ + actorUserId?: string; + /** + * The type of grade change at this time in the submission grade history. + */ + gradeChangeType?: string; + /** + * When the grade of the submission was changed. + */ + gradeTimestamp?: string; + /** + * The denominator of the grade at this time in the submission grade + * history. + */ + maxPoints?: number; + /** + * The numerator of the grade at this time in the submission grade history. + */ + pointsEarned?: number; + } + /** + * Association between a student and a guardian of that student. The guardian + * may receive information about the student's course work. + */ + interface Schema$Guardian { + /** + * Identifier for the guardian. + */ + guardianId?: string; + /** + * User profile for the guardian. + */ + guardianProfile?: Schema$UserProfile; + /** + * The email address to which the initial guardian invitation was sent. This + * field is only visible to domain administrators. + */ + invitedEmailAddress?: string; + /** + * Identifier for the student to whom the guardian relationship applies. + */ + studentId?: string; + } + /** + * An invitation to become the guardian of a specified user, sent to a + * specified email address. + */ + interface Schema$GuardianInvitation { + /** + * The time that this invitation was created. Read-only. + */ + creationTime?: string; + /** + * Unique identifier for this invitation. Read-only. + */ + invitationId?: string; + /** + * Email address that the invitation was sent to. This field is only visible + * to domain administrators. + */ + invitedEmailAddress?: string; + /** + * The state that this invitation is in. + */ + state?: string; + /** + * ID of the student (in standard format) + */ + studentId?: string; + } + /** + * Assignee details about a coursework/announcement. This field is set if and + * only if `assigneeMode` is `INDIVIDUAL_STUDENTS`. + */ + interface Schema$IndividualStudentsOptions { + /** + * Identifiers for the students that have access to the + * coursework/announcement. + */ + studentIds?: string[]; + } + /** + * An invitation to join a course. + */ + interface Schema$Invitation { + /** + * Identifier of the course to invite the user to. + */ + courseId?: string; + /** + * Identifier assigned by Classroom. Read-only. + */ + id?: string; + /** + * Role to invite the user to have. Must not be `COURSE_ROLE_UNSPECIFIED`. + */ + role?: string; + /** + * Identifier of the invited user. When specified as a parameter of a + * request, this identifier can be set to one of the following: * the + * numeric identifier for the user * the email address of the user * the + * string literal `"me"`, indicating the requesting user + */ + userId?: string; + } + /** + * URL item. + */ + interface Schema$Link { + /** + * URL of a thumbnail image of the target URL. Read-only. + */ + thumbnailUrl?: string; + /** + * Title of the target of the URL. Read-only. + */ + title?: string; + /** + * URL to link to. This must be a valid UTF-8 string containing between 1 + * and 2024 characters. + */ + url?: string; + } + /** + * Response when listing course work. + */ + interface Schema$ListAnnouncementsResponse { + /** + * Announcement items that match the request. + */ + announcements?: Schema$Announcement[]; + /** + * Token identifying the next page of results to return. If empty, no + * further results are available. + */ + nextPageToken?: string; + } + /** + * Response when listing course aliases. + */ + interface Schema$ListCourseAliasesResponse { + /** + * The course aliases. + */ + aliases?: Schema$CourseAlias[]; + /** + * Token identifying the next page of results to return. If empty, no + * further results are available. + */ + nextPageToken?: string; + } + /** + * Response when listing courses. + */ + interface Schema$ListCoursesResponse { + /** + * Courses that match the list request. + */ + courses?: Schema$Course[]; + /** + * Token identifying the next page of results to return. If empty, no + * further results are available. + */ + nextPageToken?: string; + } + /** + * Response when listing course work. + */ + interface Schema$ListCourseWorkResponse { + /** + * Course work items that match the request. + */ + courseWork?: Schema$CourseWork[]; + /** + * Token identifying the next page of results to return. If empty, no + * further results are available. + */ + nextPageToken?: string; + } + /** + * Response when listing guardian invitations. + */ + interface Schema$ListGuardianInvitationsResponse { + /** + * Guardian invitations that matched the list request. + */ + guardianInvitations?: Schema$GuardianInvitation[]; + /** + * Token identifying the next page of results to return. If empty, no + * further results are available. + */ + nextPageToken?: string; + } + /** + * Response when listing guardians. + */ + interface Schema$ListGuardiansResponse { + /** + * Guardians on this page of results that met the criteria specified in the + * request. + */ + guardians?: Schema$Guardian[]; + /** + * Token identifying the next page of results to return. If empty, no + * further results are available. + */ + nextPageToken?: string; + } + /** + * Response when listing invitations. + */ + interface Schema$ListInvitationsResponse { + /** + * Invitations that match the list request. + */ + invitations?: Schema$Invitation[]; + /** + * Token identifying the next page of results to return. If empty, no + * further results are available. + */ + nextPageToken?: string; + } + /** + * Response when listing students. + */ + interface Schema$ListStudentsResponse { + /** + * Token identifying the next page of results to return. If empty, no + * further results are available. + */ + nextPageToken?: string; + /** + * Students who match the list request. + */ + students?: Schema$Student[]; + } + /** + * Response when listing student submissions. + */ + interface Schema$ListStudentSubmissionsResponse { + /** + * Token identifying the next page of results to return. If empty, no + * further results are available. + */ + nextPageToken?: string; + /** + * Student work that matches the request. + */ + studentSubmissions?: Schema$StudentSubmission[]; + } + /** + * Response when listing teachers. + */ + interface Schema$ListTeachersResponse { + /** + * Token identifying the next page of results to return. If empty, no + * further results are available. + */ + nextPageToken?: string; + /** + * Teachers who match the list request. + */ + teachers?: Schema$Teacher[]; + } + /** + * Material attached to course work. When creating attachments, setting the + * `form` field is not supported. + */ + interface Schema$Material { + /** + * Google Drive file material. + */ + driveFile?: Schema$SharedDriveFile; + /** + * Google Forms material. + */ + form?: Schema$Form; + /** + * Link material. On creation, will be upgraded to a more appropriate type + * if possible, and this will be reflected in the response. + */ + link?: Schema$Link; + /** + * YouTube video material. + */ + youtubeVideo?: Schema$YouTubeVideo; + } + /** + * Request to modify assignee mode and options of an announcement. + */ + interface Schema$ModifyAnnouncementAssigneesRequest { + /** + * Mode of the announcement describing whether it will be accessible by all + * students or specified individual students. + */ + assigneeMode?: string; + /** + * Set which students can view or cannot view the announcement. Must be + * specified only when `assigneeMode` is `INDIVIDUAL_STUDENTS`. + */ + modifyIndividualStudentsOptions?: Schema$ModifyIndividualStudentsOptions; + } + /** + * Request to modify the attachments of a student submission. + */ + interface Schema$ModifyAttachmentsRequest { + /** + * Attachments to add. A student submission may not have more than 20 + * attachments. Form attachments are not supported. + */ + addAttachments?: Schema$Attachment[]; + } + /** + * Request to modify assignee mode and options of a coursework. + */ + interface Schema$ModifyCourseWorkAssigneesRequest { + /** + * Mode of the coursework describing whether it will be assigned to all + * students or specified individual students. + */ + assigneeMode?: string; + /** + * Set which students are assigned or not assigned to the coursework. Must + * be specified only when `assigneeMode` is `INDIVIDUAL_STUDENTS`. + */ + modifyIndividualStudentsOptions?: Schema$ModifyIndividualStudentsOptions; + } + /** + * Contains fields to add or remove students from a course work or + * announcement where the `assigneeMode` is set to `INDIVIDUAL_STUDENTS`. + */ + interface Schema$ModifyIndividualStudentsOptions { + /** + * Ids of students to be added as having access to this + * coursework/announcement. + */ + addStudentIds?: string[]; + /** + * Ids of students to be removed from having access to this + * coursework/announcement. + */ + removeStudentIds?: string[]; + } + /** + * Additional details for multiple-choice questions. + */ + interface Schema$MultipleChoiceQuestion { + /** + * Possible choices. + */ + choices?: string[]; + } + /** + * Student work for a multiple-choice question. + */ + interface Schema$MultipleChoiceSubmission { + /** + * Student's select choice. + */ + answer?: string; + } + /** + * Details of the user's name. + */ + interface Schema$Name { + /** + * The user's last name. Read-only. + */ + familyName?: string; + /** + * The user's full name formed by concatenating the first and last name + * values. Read-only. + */ + fullName?: string; + /** + * The user's first name. Read-only. + */ + givenName?: string; + } + /** + * Request to reclaim a student submission. + */ + interface Schema$ReclaimStudentSubmissionRequest { + } + /** + * An instruction to Classroom to send notifications from the `feed` to the + * provided destination. + */ + interface Schema$Registration { + /** + * The Cloud Pub/Sub topic that notifications are to be sent to. + */ + cloudPubsubTopic?: Schema$CloudPubsubTopic; + /** + * The time until which the `Registration` is effective. This is a + * read-only field assigned by the server. + */ + expiryTime?: string; + /** + * Specification for the class of notifications that Classroom should + * deliver to the destination. + */ + feed?: Schema$Feed; + /** + * A server-generated unique identifier for this `Registration`. Read-only. + */ + registrationId?: string; + } + /** + * Request to return a student submission. + */ + interface Schema$ReturnStudentSubmissionRequest { + } + /** + * Drive file that is used as material for course work. + */ + interface Schema$SharedDriveFile { + /** + * Drive file details. + */ + driveFile?: Schema$DriveFile; + /** + * Mechanism by which students access the Drive item. + */ + shareMode?: string; + } + /** + * Student work for a short answer question. + */ + interface Schema$ShortAnswerSubmission { + /** + * Student response to a short-answer question. + */ + answer?: string; + } + /** + * The history of each state this submission has been in. + */ + interface Schema$StateHistory { + /** + * The teacher or student who made the change + */ + actorUserId?: string; + /** + * The workflow pipeline stage. + */ + state?: string; + /** + * When the submission entered this state. + */ + stateTimestamp?: string; + } + /** + * Student in a course. + */ + interface Schema$Student { + /** + * Identifier of the course. Read-only. + */ + courseId?: string; + /** + * Global user information for the student. Read-only. + */ + profile?: Schema$UserProfile; + /** + * Information about a Drive Folder for this student's work in this + * course. Only visible to the student and domain administrators. Read-only. + */ + studentWorkFolder?: Schema$DriveFolder; + /** + * Identifier of the user. When specified as a parameter of a request, this + * identifier can be one of the following: * the numeric identifier for the + * user * the email address of the user * the string literal + * `"me"`, indicating the requesting user + */ + userId?: string; + } + /** + * Student submission for course work. StudentSubmission items are generated + * when a CourseWork item is created. StudentSubmissions that have never been + * accessed (i.e. with `state` = NEW) may not have a creation time or update + * time. + */ + interface Schema$StudentSubmission { + /** + * Absolute link to the submission in the Classroom web UI. Read-only. + */ + alternateLink?: string; + /** + * Optional grade. If unset, no grade was set. This value must be + * non-negative. Decimal (i.e. non-integer) values are allowed, but will be + * rounded to two decimal places. This may be modified only by course + * teachers. + */ + assignedGrade?: number; + /** + * Submission content when course_work_type is ASSIGNMENT. Students can + * modify this content using google.classroom.Work.ModifyAttachments. + */ + assignmentSubmission?: Schema$AssignmentSubmission; + /** + * Whether this student submission is associated with the Developer Console + * project making the request. See google.classroom.Work.CreateCourseWork + * for more details. Read-only. + */ + associatedWithDeveloper?: boolean; + /** + * Identifier of the course. Read-only. + */ + courseId?: string; + /** + * Identifier for the course work this corresponds to. Read-only. + */ + courseWorkId?: string; + /** + * Type of course work this submission is for. Read-only. + */ + courseWorkType?: string; + /** + * Creation time of this submission. This may be unset if the student has + * not accessed this item. Read-only. + */ + creationTime?: string; + /** + * Optional pending grade. If unset, no grade was set. This value must be + * non-negative. Decimal (i.e. non-integer) values are allowed, but will be + * rounded to two decimal places. This is only visible to and modifiable by + * course teachers. + */ + draftGrade?: number; + /** + * Classroom-assigned Identifier for the student submission. This is unique + * among submissions for the relevant course work. Read-only. + */ + id?: string; + /** + * Whether this submission is late. Read-only. + */ + late?: boolean; + /** + * Submission content when course_work_type is MULTIPLE_CHOICE_QUESTION. + */ + multipleChoiceSubmission?: Schema$MultipleChoiceSubmission; + /** + * Submission content when course_work_type is SHORT_ANSWER_QUESTION. + */ + shortAnswerSubmission?: Schema$ShortAnswerSubmission; + /** + * State of this submission. Read-only. + */ + state?: string; + /** + * The history of the submission (includes state and grade histories). + * Read-only. + */ + submissionHistory?: Schema$SubmissionHistory[]; + /** + * Last update time of this submission. This may be unset if the student has + * not accessed this item. Read-only. + */ + updateTime?: string; + /** + * Identifier for the student that owns this submission. Read-only. + */ + userId?: string; + } + /** + * The history of the submission. This currently includes state and grade + * histories. + */ + interface Schema$SubmissionHistory { + /** + * The grade history information of the submission, if present. + */ + gradeHistory?: Schema$GradeHistory; + /** + * The state history information of the submission, if present. + */ + stateHistory?: Schema$StateHistory; + } + /** + * Teacher of a course. + */ + interface Schema$Teacher { + /** + * Identifier of the course. Read-only. + */ + courseId?: string; + /** + * Global user information for the teacher. Read-only. + */ + profile?: Schema$UserProfile; + /** + * Identifier of the user. When specified as a parameter of a request, this + * identifier can be one of the following: * the numeric identifier for the + * user * the email address of the user * the string literal + * `"me"`, indicating the requesting user + */ + userId?: string; + } + /** + * Represents a time of day. The date and time zone are either not significant + * or are specified elsewhere. An API may choose to allow leap seconds. + * Related types are google.type.Date and `google.protobuf.Timestamp`. + */ + interface Schema$TimeOfDay { + /** + * Hours of day in 24 hour format. Should be from 0 to 23. An API may choose + * to allow the value "24:00:00" for scenarios like business + * closing time. + */ + hours?: number; + /** + * Minutes of hour of day. Must be from 0 to 59. + */ + minutes?: number; + /** + * Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + */ + nanos?: number; + /** + * Seconds of minutes of the time. Must normally be from 0 to 59. An API may + * allow the value 60 if it allows leap-seconds. + */ + seconds?: number; + } + /** + * Request to turn in a student submission. + */ + interface Schema$TurnInStudentSubmissionRequest { + } + /** + * Global information for a user. + */ + interface Schema$UserProfile { + /** + * Email address of the user. Read-only. + */ + emailAddress?: string; + /** + * Identifier of the user. Read-only. + */ + id?: string; + /** + * Name of the user. Read-only. + */ + name?: Schema$Name; + /** + * Global permissions of the user. Read-only. + */ + permissions?: Schema$GlobalPermission[]; + /** + * URL of user's profile photo. Read-only. + */ + photoUrl?: string; + /** + * Represents whether a G Suite for Education user's domain + * administrator has explicitly verified them as being a teacher. If the + * user is not a member of a G Suite for Education domain, than this field + * will always be false. Read-only + */ + verifiedTeacher?: boolean; + } + /** + * YouTube video item. + */ + interface Schema$YouTubeVideo { + /** + * URL that can be used to view the YouTube video. Read-only. + */ + alternateLink?: string; + /** + * YouTube API resource ID. + */ + id?: string; + /** + * URL of a thumbnail image of the YouTube video. Read-only. + */ + thumbnailUrl?: string; + /** + * Title of the YouTube video. Read-only. + */ + title?: string; + } + class Resource$Courses { + root: Classroom; + aliases: Resource$Courses$Aliases; + announcements: Resource$Courses$Announcements; + courseWork: Resource$Courses$Coursework; + students: Resource$Courses$Students; + teachers: Resource$Courses$Teachers; + constructor(root: Classroom); + getRoot(): Classroom; + /** + * classroom.courses.create + * @desc Creates a course. The user specified in `ownerId` is the owner of + * the created course and added as a teacher. This method returns the + * following error codes: * `PERMISSION_DENIED` if the requesting user is + * not permitted to create courses or for access errors. * `NOT_FOUND` if + * the primary teacher is not a valid user. * `FAILED_PRECONDITION` if the + * course owner's account is disabled or for the following request errors: + * * UserGroupsMembershipLimitReached * `ALREADY_EXISTS` if an alias was + * specified in the `id` and already exists. + * @alias classroom.courses.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().Course} 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 + */ + create(params?: Params$Resource$Courses$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Courses$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Courses$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * classroom.courses.delete + * @desc Deletes a course. This method returns the following error codes: + * * `PERMISSION_DENIED` if the requesting user is not permitted to delete + * the requested course or for access errors. * `NOT_FOUND` if no course + * exists with the requested ID. + * @alias classroom.courses.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Identifier of the course to delete. This identifier can be either the Classroom-assigned identifier or an alias. + * @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?: Params$Resource$Courses$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Courses$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Courses$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * classroom.courses.get + * @desc Returns a course. This method returns the following error codes: + * * `PERMISSION_DENIED` if the requesting user is not permitted to access + * the requested course or for access errors. * `NOT_FOUND` if no course + * exists with the requested ID. + * @alias classroom.courses.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Identifier of the course to return. This identifier can be either the Classroom-assigned identifier or an alias. + * @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?: Params$Resource$Courses$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Courses$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Courses$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * classroom.courses.list + * @desc Returns a list of courses that the requesting user is permitted to + * view, restricted to those that match the request. Returned courses are + * ordered by creation time, with the most recently created coming first. + * This method returns the following error codes: * `PERMISSION_DENIED` for + * access errors. * `INVALID_ARGUMENT` if the query argument is malformed. * + * `NOT_FOUND` if any users specified in the query arguments do not exist. + * @alias classroom.courses.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.courseStates Restricts returned courses to those in one of the specified states The default value is ACTIVE, ARCHIVED, PROVISIONED, DECLINED. + * @param {integer=} params.pageSize Maximum number of items to return. Zero or unspecified indicates that the server may assign a maximum. The server may return fewer than the specified number of results. + * @param {string=} params.pageToken nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this token. + * @param {string=} params.studentId Restricts returned courses to those having a student with the specified identifier. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `"me"`, indicating the requesting user + * @param {string=} params.teacherId Restricts returned courses to those having a teacher with the specified identifier. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `"me"`, indicating the requesting user + * @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?: Params$Resource$Courses$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Courses$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Courses$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * classroom.courses.patch + * @desc Updates one or more fields in a course. This method returns the + * following error codes: * `PERMISSION_DENIED` if the requesting user is + * not permitted to modify the requested course or for access errors. * + * `NOT_FOUND` if no course exists with the requested ID. * + * `INVALID_ARGUMENT` if invalid fields are specified in the update mask or + * if no update mask is supplied. * `FAILED_PRECONDITION` for the following + * request errors: * CourseNotModifiable + * @alias classroom.courses.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Identifier of the course to update. This identifier can be either the Classroom-assigned identifier or an alias. + * @param {string=} params.updateMask Mask that identifies which fields on the course to update. This field is required to do an update. The update will fail if invalid fields are specified. The following fields are valid: * `name` * `section` * `descriptionHeading` * `description` * `room` * `courseState` * `ownerId` Note: patches to ownerId are treated as being effective immediately, but in practice it may take some time for the ownership transfer of all affected resources to complete. When set in a query parameter, this field should be specified as `updateMask=,,...` + * @param {().Course} 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 + */ + patch(params?: Params$Resource$Courses$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Courses$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Courses$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * classroom.courses.update + * @desc Updates a course. This method returns the following error codes: + * * `PERMISSION_DENIED` if the requesting user is not permitted to modify + * the requested course or for access errors. * `NOT_FOUND` if no course + * exists with the requested ID. * `FAILED_PRECONDITION` for the following + * request errors: * CourseNotModifiable + * @alias classroom.courses.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Identifier of the course to update. This identifier can be either the Classroom-assigned identifier or an alias. + * @param {().Course} 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?: Params$Resource$Courses$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Courses$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Courses$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Courses$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$Course; + } + interface Params$Resource$Courses$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifier of the course to delete. This identifier can be either the + * Classroom-assigned identifier or an alias. + */ + id?: string; + } + interface Params$Resource$Courses$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifier of the course to return. This identifier can be either the + * Classroom-assigned identifier or an alias. + */ + id?: string; + } + interface Params$Resource$Courses$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Restricts returned courses to those in one of the specified states The + * default value is ACTIVE, ARCHIVED, PROVISIONED, DECLINED. + */ + courseStates?: string; + /** + * Maximum number of items to return. Zero or unspecified indicates that the + * server may assign a maximum. The server may return fewer than the + * specified number of results. + */ + pageSize?: number; + /** + * nextPageToken value returned from a previous list call, indicating that + * the subsequent page of results should be returned. The list request must + * be otherwise identical to the one that resulted in this token. + */ + pageToken?: string; + /** + * Restricts returned courses to those having a student with the specified + * identifier. The identifier can be one of the following: * the numeric + * identifier for the user * the email address of the user * the string + * literal `"me"`, indicating the requesting user + */ + studentId?: string; + /** + * Restricts returned courses to those having a teacher with the specified + * identifier. The identifier can be one of the following: * the numeric + * identifier for the user * the email address of the user * the string + * literal `"me"`, indicating the requesting user + */ + teacherId?: string; + } + interface Params$Resource$Courses$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifier of the course to update. This identifier can be either the + * Classroom-assigned identifier or an alias. + */ + id?: string; + /** + * Mask that identifies which fields on the course to update. This field is + * required to do an update. The update will fail if invalid fields are + * specified. The following fields are valid: * `name` * `section` * + * `descriptionHeading` * `description` * `room` * `courseState` * `ownerId` + * Note: patches to ownerId are treated as being effective immediately, but + * in practice it may take some time for the ownership transfer of all + * affected resources to complete. When set in a query parameter, this + * field should be specified as `updateMask=,,...` + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Course; + } + interface Params$Resource$Courses$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifier of the course to update. This identifier can be either the + * Classroom-assigned identifier or an alias. + */ + id?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Course; + } + class Resource$Courses$Aliases { + root: Classroom; + constructor(root: Classroom); + getRoot(): Classroom; + /** + * classroom.courses.aliases.create + * @desc Creates an alias for a course. This method returns the following + * error codes: * `PERMISSION_DENIED` if the requesting user is not + * permitted to create the alias or for access errors. * `NOT_FOUND` if the + * course does not exist. * `ALREADY_EXISTS` if the alias already exists. * + * `FAILED_PRECONDITION` if the alias requested does not make sense for the + * requesting user or course (for example, if a user not in a domain + * attempts to access a domain-scoped alias). + * @alias classroom.courses.aliases.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.courseId Identifier of the course to alias. This identifier can be either the Classroom-assigned identifier or an alias. + * @param {().CourseAlias} 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 + */ + create(params?: Params$Resource$Courses$Aliases$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Courses$Aliases$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Courses$Aliases$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * classroom.courses.aliases.delete + * @desc Deletes an alias of a course. This method returns the following + * error codes: * `PERMISSION_DENIED` if the requesting user is not + * permitted to remove the alias or for access errors. * `NOT_FOUND` if the + * alias does not exist. * `FAILED_PRECONDITION` if the alias requested does + * not make sense for the requesting user or course (for example, if a + * user not in a domain attempts to delete a domain-scoped alias). + * @alias classroom.courses.aliases.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.alias Alias to delete. This may not be the Classroom-assigned identifier. + * @param {string} params.courseId Identifier of the course whose alias should be deleted. This identifier can be either the Classroom-assigned identifier or an alias. + * @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?: Params$Resource$Courses$Aliases$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Courses$Aliases$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Courses$Aliases$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * classroom.courses.aliases.list + * @desc Returns a list of aliases for a course. This method returns the + * following error codes: * `PERMISSION_DENIED` if the requesting user is + * not permitted to access the course or for access errors. * `NOT_FOUND` if + * the course does not exist. + * @alias classroom.courses.aliases.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.courseId The identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias. + * @param {integer=} params.pageSize Maximum number of items to return. Zero or unspecified indicates that the server may assign a maximum. The server may return fewer than the specified number of results. + * @param {string=} params.pageToken nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this token. + * @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?: Params$Resource$Courses$Aliases$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Courses$Aliases$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Courses$Aliases$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Courses$Aliases$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifier of the course to alias. This identifier can be either the + * Classroom-assigned identifier or an alias. + */ + courseId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CourseAlias; + } + interface Params$Resource$Courses$Aliases$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Alias to delete. This may not be the Classroom-assigned identifier. + */ + alias?: string; + /** + * Identifier of the course whose alias should be deleted. This identifier + * can be either the Classroom-assigned identifier or an alias. + */ + courseId?: string; + } + interface Params$Resource$Courses$Aliases$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The identifier of the course. This identifier can be either the + * Classroom-assigned identifier or an alias. + */ + courseId?: string; + /** + * Maximum number of items to return. Zero or unspecified indicates that the + * server may assign a maximum. The server may return fewer than the + * specified number of results. + */ + pageSize?: number; + /** + * nextPageToken value returned from a previous list call, indicating that + * the subsequent page of results should be returned. The list request must + * be otherwise identical to the one that resulted in this token. + */ + pageToken?: string; + } + class Resource$Courses$Announcements { + root: Classroom; + constructor(root: Classroom); + getRoot(): Classroom; + /** + * classroom.courses.announcements.create + * @desc Creates an announcement. This method returns the following error + * codes: * `PERMISSION_DENIED` if the requesting user is not permitted to + * access the requested course, create announcements in the requested + * course, share a Drive attachment, or for access errors. * + * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the + * requested course does not exist. * `FAILED_PRECONDITION` for the + * following request error: * AttachmentNotVisible + * @alias classroom.courses.announcements.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.courseId Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias. + * @param {().Announcement} 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 + */ + create(params?: Params$Resource$Courses$Announcements$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Courses$Announcements$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Courses$Announcements$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * classroom.courses.announcements.delete + * @desc Deletes an announcement. This request must be made by the + * Developer Console project of the [OAuth client + * ID](https://support.google.com/cloud/answer/6158849) used to create the + * corresponding announcement item. This method returns the following error + * codes: * `PERMISSION_DENIED` if the requesting developer project did not + * create the corresponding announcement, if the requesting user is not + * permitted to delete the requested course or for access errors. * + * `FAILED_PRECONDITION` if the requested announcement has already been + * deleted. * `NOT_FOUND` if no course exists with the requested ID. + * @alias classroom.courses.announcements.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.courseId Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias. + * @param {string} params.id Identifier of the announcement to delete. This identifier is a Classroom-assigned identifier. + * @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?: Params$Resource$Courses$Announcements$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Courses$Announcements$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Courses$Announcements$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * classroom.courses.announcements.get + * @desc Returns an announcement. This method returns the following error + * codes: * `PERMISSION_DENIED` if the requesting user is not permitted to + * access the requested course or announcement, or for access errors. * + * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the + * requested course or announcement does not exist. + * @alias classroom.courses.announcements.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.courseId Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias. + * @param {string} params.id Identifier of the announcement. + * @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?: Params$Resource$Courses$Announcements$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Courses$Announcements$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Courses$Announcements$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * classroom.courses.announcements.list + * @desc Returns a list of announcements that the requester is permitted to + * view. Course students may only view `PUBLISHED` announcements. Course + * teachers and domain administrators may view all announcements. This + * method returns the following error codes: * `PERMISSION_DENIED` if the + * requesting user is not permitted to access the requested course or for + * access errors. * `INVALID_ARGUMENT` if the request is malformed. * + * `NOT_FOUND` if the requested course does not exist. + * @alias classroom.courses.announcements.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.announcementStates Restriction on the `state` of announcements returned. If this argument is left unspecified, the default value is `PUBLISHED`. + * @param {string} params.courseId Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias. + * @param {string=} params.orderBy Optional sort ordering for results. A comma-separated list of fields with an optional sort direction keyword. Supported field is `updateTime`. Supported direction keywords are `asc` and `desc`. If not specified, `updateTime desc` is the default behavior. Examples: `updateTime asc`, `updateTime` + * @param {integer=} params.pageSize Maximum number of items to return. Zero or unspecified indicates that the server may assign a maximum. The server may return fewer than the specified number of results. + * @param {string=} params.pageToken nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this token. + * @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?: Params$Resource$Courses$Announcements$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Courses$Announcements$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Courses$Announcements$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * classroom.courses.announcements.modifyAssignees + * @desc Modifies assignee mode and options of an announcement. Only a + * teacher of the course that contains the announcement may call this + * method. This method returns the following error codes: * + * `PERMISSION_DENIED` if the requesting user is not permitted to access the + * requested course or course work or for access errors. * + * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the + * requested course or course work does not exist. + * @alias classroom.courses.announcements.modifyAssignees + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.courseId Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias. + * @param {string} params.id Identifier of the announcement. + * @param {().ModifyAnnouncementAssigneesRequest} 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 + */ + modifyAssignees(params?: Params$Resource$Courses$Announcements$Modifyassignees, options?: MethodOptions): AxiosPromise; + modifyAssignees(params: Params$Resource$Courses$Announcements$Modifyassignees, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + modifyAssignees(params: Params$Resource$Courses$Announcements$Modifyassignees, callback: BodyResponseCallback): void; + modifyAssignees(callback: BodyResponseCallback): void; + /** + * classroom.courses.announcements.patch + * @desc Updates one or more fields of an announcement. This method returns + * the following error codes: * `PERMISSION_DENIED` if the requesting + * developer project did not create the corresponding announcement or for + * access errors. * `INVALID_ARGUMENT` if the request is malformed. * + * `FAILED_PRECONDITION` if the requested announcement has already been + * deleted. * `NOT_FOUND` if the requested course or announcement does not + * exist + * @alias classroom.courses.announcements.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.courseId Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias. + * @param {string} params.id Identifier of the announcement. + * @param {string=} params.updateMask Mask that identifies which fields on the announcement to update. This field is required to do an update. The update fails if invalid fields are specified. If a field supports empty values, it can be cleared by specifying it in the update mask and not in the Announcement object. If a field that does not support empty values is included in the update mask and not set in the Announcement object, an `INVALID_ARGUMENT` error will be returned. The following fields may be specified by teachers: * `text` * `state` * `scheduled_time` + * @param {().Announcement} 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 + */ + patch(params?: Params$Resource$Courses$Announcements$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Courses$Announcements$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Courses$Announcements$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Courses$Announcements$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifier of the course. This identifier can be either the + * Classroom-assigned identifier or an alias. + */ + courseId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Announcement; + } + interface Params$Resource$Courses$Announcements$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifier of the course. This identifier can be either the + * Classroom-assigned identifier or an alias. + */ + courseId?: string; + /** + * Identifier of the announcement to delete. This identifier is a + * Classroom-assigned identifier. + */ + id?: string; + } + interface Params$Resource$Courses$Announcements$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifier of the course. This identifier can be either the + * Classroom-assigned identifier or an alias. + */ + courseId?: string; + /** + * Identifier of the announcement. + */ + id?: string; + } + interface Params$Resource$Courses$Announcements$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Restriction on the `state` of announcements returned. If this argument is + * left unspecified, the default value is `PUBLISHED`. + */ + announcementStates?: string; + /** + * Identifier of the course. This identifier can be either the + * Classroom-assigned identifier or an alias. + */ + courseId?: string; + /** + * Optional sort ordering for results. A comma-separated list of fields with + * an optional sort direction keyword. Supported field is `updateTime`. + * Supported direction keywords are `asc` and `desc`. If not specified, + * `updateTime desc` is the default behavior. Examples: `updateTime asc`, + * `updateTime` + */ + orderBy?: string; + /** + * Maximum number of items to return. Zero or unspecified indicates that the + * server may assign a maximum. The server may return fewer than the + * specified number of results. + */ + pageSize?: number; + /** + * nextPageToken value returned from a previous list call, indicating that + * the subsequent page of results should be returned. The list request must + * be otherwise identical to the one that resulted in this token. + */ + pageToken?: string; + } + interface Params$Resource$Courses$Announcements$Modifyassignees { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifier of the course. This identifier can be either the + * Classroom-assigned identifier or an alias. + */ + courseId?: string; + /** + * Identifier of the announcement. + */ + id?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ModifyAnnouncementAssigneesRequest; + } + interface Params$Resource$Courses$Announcements$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifier of the course. This identifier can be either the + * Classroom-assigned identifier or an alias. + */ + courseId?: string; + /** + * Identifier of the announcement. + */ + id?: string; + /** + * Mask that identifies which fields on the announcement to update. This + * field is required to do an update. The update fails if invalid fields are + * specified. If a field supports empty values, it can be cleared by + * specifying it in the update mask and not in the Announcement object. If a + * field that does not support empty values is included in the update mask + * and not set in the Announcement object, an `INVALID_ARGUMENT` error will + * be returned. The following fields may be specified by teachers: * + * `text` * `state` * `scheduled_time` + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Announcement; + } + class Resource$Courses$Coursework { + root: Classroom; + studentSubmissions: Resource$Courses$Coursework$Studentsubmissions; + constructor(root: Classroom); + getRoot(): Classroom; + /** + * classroom.courses.courseWork.create + * @desc Creates course work. The resulting course work (and corresponding + * student submissions) are associated with the Developer Console project of + * the [OAuth client ID](https://support.google.com/cloud/answer/6158849) + * used to make the request. Classroom API requests to modify course work + * and student submissions must be made with an OAuth client ID from the + * associated Developer Console project. This method returns the following + * error codes: * `PERMISSION_DENIED` if the requesting user is not + * permitted to access the requested course, create course work in the + * requested course, share a Drive attachment, or for access errors. * + * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the + * requested course does not exist. * `FAILED_PRECONDITION` for the + * following request error: * AttachmentNotVisible + * @alias classroom.courses.courseWork.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.courseId Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias. + * @param {().CourseWork} 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 + */ + create(params?: Params$Resource$Courses$Coursework$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Courses$Coursework$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Courses$Coursework$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * classroom.courses.courseWork.delete + * @desc Deletes a course work. This request must be made by the Developer + * Console project of the [OAuth client + * ID](https://support.google.com/cloud/answer/6158849) used to create the + * corresponding course work item. This method returns the following error + * codes: * `PERMISSION_DENIED` if the requesting developer project did not + * create the corresponding course work, if the requesting user is not + * permitted to delete the requested course or for access errors. * + * `FAILED_PRECONDITION` if the requested course work has already been + * deleted. * `NOT_FOUND` if no course exists with the requested ID. + * @alias classroom.courses.courseWork.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.courseId Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias. + * @param {string} params.id Identifier of the course work to delete. This identifier is a Classroom-assigned identifier. + * @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?: Params$Resource$Courses$Coursework$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Courses$Coursework$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Courses$Coursework$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * classroom.courses.courseWork.get + * @desc Returns course work. This method returns the following error + * codes: * `PERMISSION_DENIED` if the requesting user is not permitted to + * access the requested course or course work, or for access errors. * + * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the + * requested course or course work does not exist. + * @alias classroom.courses.courseWork.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.courseId Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias. + * @param {string} params.id Identifier of the course work. + * @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?: Params$Resource$Courses$Coursework$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Courses$Coursework$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Courses$Coursework$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * classroom.courses.courseWork.list + * @desc Returns a list of course work that the requester is permitted to + * view. Course students may only view `PUBLISHED` course work. Course + * teachers and domain administrators may view all course work. This method + * returns the following error codes: * `PERMISSION_DENIED` if the + * requesting user is not permitted to access the requested course or for + * access errors. * `INVALID_ARGUMENT` if the request is malformed. * + * `NOT_FOUND` if the requested course does not exist. + * @alias classroom.courses.courseWork.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.courseId Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias. + * @param {string=} params.courseWorkStates Restriction on the work status to return. Only courseWork that matches is returned. If unspecified, items with a work status of `PUBLISHED` is returned. + * @param {string=} params.orderBy Optional sort ordering for results. A comma-separated list of fields with an optional sort direction keyword. Supported fields are `updateTime` and `dueDate`. Supported direction keywords are `asc` and `desc`. If not specified, `updateTime desc` is the default behavior. Examples: `dueDate asc,updateTime desc`, `updateTime,dueDate desc` + * @param {integer=} params.pageSize Maximum number of items to return. Zero or unspecified indicates that the server may assign a maximum. The server may return fewer than the specified number of results. + * @param {string=} params.pageToken nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this token. + * @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?: Params$Resource$Courses$Coursework$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Courses$Coursework$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Courses$Coursework$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * classroom.courses.courseWork.modifyAssignees + * @desc Modifies assignee mode and options of a coursework. Only a teacher + * of the course that contains the coursework may call this method. This + * method returns the following error codes: * `PERMISSION_DENIED` if the + * requesting user is not permitted to access the requested course or course + * work or for access errors. * `INVALID_ARGUMENT` if the request is + * malformed. * `NOT_FOUND` if the requested course or course work does not + * exist. + * @alias classroom.courses.courseWork.modifyAssignees + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.courseId Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias. + * @param {string} params.id Identifier of the coursework. + * @param {().ModifyCourseWorkAssigneesRequest} 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 + */ + modifyAssignees(params?: Params$Resource$Courses$Coursework$Modifyassignees, options?: MethodOptions): AxiosPromise; + modifyAssignees(params: Params$Resource$Courses$Coursework$Modifyassignees, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + modifyAssignees(params: Params$Resource$Courses$Coursework$Modifyassignees, callback: BodyResponseCallback): void; + modifyAssignees(callback: BodyResponseCallback): void; + /** + * classroom.courses.courseWork.patch + * @desc Updates one or more fields of a course work. See + * google.classroom.v1.CourseWork for details of which fields may be updated + * and who may change them. This request must be made by the Developer + * Console project of the [OAuth client + * ID](https://support.google.com/cloud/answer/6158849) used to create the + * corresponding course work item. This method returns the following error + * codes: * `PERMISSION_DENIED` if the requesting developer project did not + * create the corresponding course work, if the user is not permitted to + * make the requested modification to the student submission, or for access + * errors. * `INVALID_ARGUMENT` if the request is malformed. * + * `FAILED_PRECONDITION` if the requested course work has already been + * deleted. * `NOT_FOUND` if the requested course, course work, or student + * submission does not exist. + * @alias classroom.courses.courseWork.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.courseId Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias. + * @param {string} params.id Identifier of the course work. + * @param {string=} params.updateMask Mask that identifies which fields on the course work to update. This field is required to do an update. The update fails if invalid fields are specified. If a field supports empty values, it can be cleared by specifying it in the update mask and not in the CourseWork object. If a field that does not support empty values is included in the update mask and not set in the CourseWork object, an `INVALID_ARGUMENT` error will be returned. The following fields may be specified by teachers: * `title` * `description` * `state` * `due_date` * `due_time` * `max_points` * `scheduled_time` * `submission_modification_mode` + * @param {().CourseWork} 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 + */ + patch(params?: Params$Resource$Courses$Coursework$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Courses$Coursework$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Courses$Coursework$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Courses$Coursework$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifier of the course. This identifier can be either the + * Classroom-assigned identifier or an alias. + */ + courseId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CourseWork; + } + interface Params$Resource$Courses$Coursework$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifier of the course. This identifier can be either the + * Classroom-assigned identifier or an alias. + */ + courseId?: string; + /** + * Identifier of the course work to delete. This identifier is a + * Classroom-assigned identifier. + */ + id?: string; + } + interface Params$Resource$Courses$Coursework$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifier of the course. This identifier can be either the + * Classroom-assigned identifier or an alias. + */ + courseId?: string; + /** + * Identifier of the course work. + */ + id?: string; + } + interface Params$Resource$Courses$Coursework$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifier of the course. This identifier can be either the + * Classroom-assigned identifier or an alias. + */ + courseId?: string; + /** + * Restriction on the work status to return. Only courseWork that matches is + * returned. If unspecified, items with a work status of `PUBLISHED` is + * returned. + */ + courseWorkStates?: string; + /** + * Optional sort ordering for results. A comma-separated list of fields with + * an optional sort direction keyword. Supported fields are `updateTime` and + * `dueDate`. Supported direction keywords are `asc` and `desc`. If not + * specified, `updateTime desc` is the default behavior. Examples: `dueDate + * asc,updateTime desc`, `updateTime,dueDate desc` + */ + orderBy?: string; + /** + * Maximum number of items to return. Zero or unspecified indicates that the + * server may assign a maximum. The server may return fewer than the + * specified number of results. + */ + pageSize?: number; + /** + * nextPageToken value returned from a previous list call, indicating that + * the subsequent page of results should be returned. The list request must + * be otherwise identical to the one that resulted in this token. + */ + pageToken?: string; + } + interface Params$Resource$Courses$Coursework$Modifyassignees { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifier of the course. This identifier can be either the + * Classroom-assigned identifier or an alias. + */ + courseId?: string; + /** + * Identifier of the coursework. + */ + id?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ModifyCourseWorkAssigneesRequest; + } + interface Params$Resource$Courses$Coursework$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifier of the course. This identifier can be either the + * Classroom-assigned identifier or an alias. + */ + courseId?: string; + /** + * Identifier of the course work. + */ + id?: string; + /** + * Mask that identifies which fields on the course work to update. This + * field is required to do an update. The update fails if invalid fields are + * specified. If a field supports empty values, it can be cleared by + * specifying it in the update mask and not in the CourseWork object. If a + * field that does not support empty values is included in the update mask + * and not set in the CourseWork object, an `INVALID_ARGUMENT` error will be + * returned. The following fields may be specified by teachers: * `title` + * * `description` * `state` * `due_date` * `due_time` * `max_points` * + * `scheduled_time` * `submission_modification_mode` + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CourseWork; + } + class Resource$Courses$Coursework$Studentsubmissions { + root: Classroom; + constructor(root: Classroom); + getRoot(): Classroom; + /** + * classroom.courses.courseWork.studentSubmissions.get + * @desc Returns a student submission. * `PERMISSION_DENIED` if the + * requesting user is not permitted to access the requested course, course + * work, or student submission or for access errors. * `INVALID_ARGUMENT` if + * the request is malformed. * `NOT_FOUND` if the requested course, course + * work, or student submission does not exist. + * @alias classroom.courses.courseWork.studentSubmissions.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.courseId Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias. + * @param {string} params.courseWorkId Identifier of the course work. + * @param {string} params.id Identifier of the student submission. + * @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?: Params$Resource$Courses$Coursework$Studentsubmissions$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Courses$Coursework$Studentsubmissions$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Courses$Coursework$Studentsubmissions$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * classroom.courses.courseWork.studentSubmissions.list + * @desc Returns a list of student submissions that the requester is + * permitted to view, factoring in the OAuth scopes of the request. `-` may + * be specified as the `course_work_id` to include student submissions for + * multiple course work items. Course students may only view their own + * work. Course teachers and domain administrators may view all student + * submissions. This method returns the following error codes: * + * `PERMISSION_DENIED` if the requesting user is not permitted to access the + * requested course or course work, or for access errors. * + * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the + * requested course does not exist. + * @alias classroom.courses.courseWork.studentSubmissions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.courseId Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias. + * @param {string} params.courseWorkId Identifier of the student work to request. This may be set to the string literal `"-"` to request student work for all course work in the specified course. + * @param {string=} params.late Requested lateness value. If specified, returned student submissions are restricted by the requested value. If unspecified, submissions are returned regardless of `late` value. + * @param {integer=} params.pageSize Maximum number of items to return. Zero or unspecified indicates that the server may assign a maximum. The server may return fewer than the specified number of results. + * @param {string=} params.pageToken nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this token. + * @param {string=} params.states Requested submission states. If specified, returned student submissions match one of the specified submission states. + * @param {string=} params.userId Optional argument to restrict returned student work to those owned by the student with the specified identifier. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `"me"`, indicating the requesting user + * @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?: Params$Resource$Courses$Coursework$Studentsubmissions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Courses$Coursework$Studentsubmissions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Courses$Coursework$Studentsubmissions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * classroom.courses.courseWork.studentSubmissions.modifyAttachments + * @desc Modifies attachments of student submission. Attachments may only + * be added to student submissions belonging to course work objects with a + * `workType` of `ASSIGNMENT`. This request must be made by the Developer + * Console project of the [OAuth client + * ID](https://support.google.com/cloud/answer/6158849) used to create the + * corresponding course work item. This method returns the following error + * codes: * `PERMISSION_DENIED` if the requesting user is not permitted to + * access the requested course or course work, if the user is not permitted + * to modify attachments on the requested student submission, or for access + * errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` + * if the requested course, course work, or student submission does not + * exist. + * @alias classroom.courses.courseWork.studentSubmissions.modifyAttachments + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.courseId Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias. + * @param {string} params.courseWorkId Identifier of the course work. + * @param {string} params.id Identifier of the student submission. + * @param {().ModifyAttachmentsRequest} 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 + */ + modifyAttachments(params?: Params$Resource$Courses$Coursework$Studentsubmissions$Modifyattachments, options?: MethodOptions): AxiosPromise; + modifyAttachments(params: Params$Resource$Courses$Coursework$Studentsubmissions$Modifyattachments, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + modifyAttachments(params: Params$Resource$Courses$Coursework$Studentsubmissions$Modifyattachments, callback: BodyResponseCallback): void; + modifyAttachments(callback: BodyResponseCallback): void; + /** + * classroom.courses.courseWork.studentSubmissions.patch + * @desc Updates one or more fields of a student submission. See + * google.classroom.v1.StudentSubmission for details of which fields may be + * updated and who may change them. This request must be made by the + * Developer Console project of the [OAuth client + * ID](https://support.google.com/cloud/answer/6158849) used to create the + * corresponding course work item. This method returns the following error + * codes: * `PERMISSION_DENIED` if the requesting developer project did not + * create the corresponding course work, if the user is not permitted to + * make the requested modification to the student submission, or for access + * errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` + * if the requested course, course work, or student submission does not + * exist. + * @alias classroom.courses.courseWork.studentSubmissions.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.courseId Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias. + * @param {string} params.courseWorkId Identifier of the course work. + * @param {string} params.id Identifier of the student submission. + * @param {string=} params.updateMask Mask that identifies which fields on the student submission to update. This field is required to do an update. The update fails if invalid fields are specified. The following fields may be specified by teachers: * `draft_grade` * `assigned_grade` + * @param {().StudentSubmission} 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 + */ + patch(params?: Params$Resource$Courses$Coursework$Studentsubmissions$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Courses$Coursework$Studentsubmissions$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Courses$Coursework$Studentsubmissions$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * classroom.courses.courseWork.studentSubmissions.reclaim + * @desc Reclaims a student submission on behalf of the student that owns + * it. Reclaiming a student submission transfers ownership of attached + * Drive files to the student and update the submission state. Only the + * student that owns the requested student submission may call this method, + * and only for a student submission that has been turned in. This request + * must be made by the Developer Console project of the [OAuth client + * ID](https://support.google.com/cloud/answer/6158849) used to create the + * corresponding course work item. This method returns the following error + * codes: * `PERMISSION_DENIED` if the requesting user is not permitted to + * access the requested course or course work, unsubmit the requested + * student submission, or for access errors. * `FAILED_PRECONDITION` if the + * student submission has not been turned in. * `INVALID_ARGUMENT` if the + * request is malformed. * `NOT_FOUND` if the requested course, course work, + * or student submission does not exist. + * @alias classroom.courses.courseWork.studentSubmissions.reclaim + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.courseId Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias. + * @param {string} params.courseWorkId Identifier of the course work. + * @param {string} params.id Identifier of the student submission. + * @param {().ReclaimStudentSubmissionRequest} 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 + */ + reclaim(params?: Params$Resource$Courses$Coursework$Studentsubmissions$Reclaim, options?: MethodOptions): AxiosPromise; + reclaim(params: Params$Resource$Courses$Coursework$Studentsubmissions$Reclaim, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + reclaim(params: Params$Resource$Courses$Coursework$Studentsubmissions$Reclaim, callback: BodyResponseCallback): void; + reclaim(callback: BodyResponseCallback): void; + /** + * classroom.courses.courseWork.studentSubmissions.return + * @desc Returns a student submission. Returning a student submission + * transfers ownership of attached Drive files to the student and may also + * update the submission state. Unlike the Classroom application, returning + * a student submission does not set assignedGrade to the draftGrade value. + * Only a teacher of the course that contains the requested student + * submission may call this method. This request must be made by the + * Developer Console project of the [OAuth client + * ID](https://support.google.com/cloud/answer/6158849) used to create the + * corresponding course work item. This method returns the following error + * codes: * `PERMISSION_DENIED` if the requesting user is not permitted to + * access the requested course or course work, return the requested student + * submission, or for access errors. * `INVALID_ARGUMENT` if the request is + * malformed. * `NOT_FOUND` if the requested course, course work, or student + * submission does not exist. + * @alias classroom.courses.courseWork.studentSubmissions.return + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.courseId Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias. + * @param {string} params.courseWorkId Identifier of the course work. + * @param {string} params.id Identifier of the student submission. + * @param {().ReturnStudentSubmissionRequest} 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 + */ + return(params?: Params$Resource$Courses$Coursework$Studentsubmissions$Return, options?: MethodOptions): AxiosPromise; + return(params: Params$Resource$Courses$Coursework$Studentsubmissions$Return, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + return(params: Params$Resource$Courses$Coursework$Studentsubmissions$Return, callback: BodyResponseCallback): void; + return(callback: BodyResponseCallback): void; + /** + * classroom.courses.courseWork.studentSubmissions.turnIn + * @desc Turns in a student submission. Turning in a student submission + * transfers ownership of attached Drive files to the teacher and may also + * update the submission state. This may only be called by the student that + * owns the specified student submission. This request must be made by the + * Developer Console project of the [OAuth client + * ID](https://support.google.com/cloud/answer/6158849) used to create the + * corresponding course work item. This method returns the following error + * codes: * `PERMISSION_DENIED` if the requesting user is not permitted to + * access the requested course or course work, turn in the requested student + * submission, or for access errors. * `INVALID_ARGUMENT` if the request is + * malformed. * `NOT_FOUND` if the requested course, course work, or student + * submission does not exist. + * @alias classroom.courses.courseWork.studentSubmissions.turnIn + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.courseId Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias. + * @param {string} params.courseWorkId Identifier of the course work. + * @param {string} params.id Identifier of the student submission. + * @param {().TurnInStudentSubmissionRequest} 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 + */ + turnIn(params?: Params$Resource$Courses$Coursework$Studentsubmissions$Turnin, options?: MethodOptions): AxiosPromise; + turnIn(params: Params$Resource$Courses$Coursework$Studentsubmissions$Turnin, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + turnIn(params: Params$Resource$Courses$Coursework$Studentsubmissions$Turnin, callback: BodyResponseCallback): void; + turnIn(callback: BodyResponseCallback): void; + } + interface Params$Resource$Courses$Coursework$Studentsubmissions$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifier of the course. This identifier can be either the + * Classroom-assigned identifier or an alias. + */ + courseId?: string; + /** + * Identifier of the course work. + */ + courseWorkId?: string; + /** + * Identifier of the student submission. + */ + id?: string; + } + interface Params$Resource$Courses$Coursework$Studentsubmissions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifier of the course. This identifier can be either the + * Classroom-assigned identifier or an alias. + */ + courseId?: string; + /** + * Identifier of the student work to request. This may be set to the string + * literal `"-"` to request student work for all course work in the + * specified course. + */ + courseWorkId?: string; + /** + * Requested lateness value. If specified, returned student submissions are + * restricted by the requested value. If unspecified, submissions are + * returned regardless of `late` value. + */ + late?: string; + /** + * Maximum number of items to return. Zero or unspecified indicates that the + * server may assign a maximum. The server may return fewer than the + * specified number of results. + */ + pageSize?: number; + /** + * nextPageToken value returned from a previous list call, indicating that + * the subsequent page of results should be returned. The list request must + * be otherwise identical to the one that resulted in this token. + */ + pageToken?: string; + /** + * Requested submission states. If specified, returned student submissions + * match one of the specified submission states. + */ + states?: string; + /** + * Optional argument to restrict returned student work to those owned by the + * student with the specified identifier. The identifier can be one of the + * following: * the numeric identifier for the user * the email address of + * the user * the string literal `"me"`, indicating the requesting user + */ + userId?: string; + } + interface Params$Resource$Courses$Coursework$Studentsubmissions$Modifyattachments { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifier of the course. This identifier can be either the + * Classroom-assigned identifier or an alias. + */ + courseId?: string; + /** + * Identifier of the course work. + */ + courseWorkId?: string; + /** + * Identifier of the student submission. + */ + id?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ModifyAttachmentsRequest; + } + interface Params$Resource$Courses$Coursework$Studentsubmissions$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifier of the course. This identifier can be either the + * Classroom-assigned identifier or an alias. + */ + courseId?: string; + /** + * Identifier of the course work. + */ + courseWorkId?: string; + /** + * Identifier of the student submission. + */ + id?: string; + /** + * Mask that identifies which fields on the student submission to update. + * This field is required to do an update. The update fails if invalid + * fields are specified. The following fields may be specified by teachers: + * * `draft_grade` * `assigned_grade` + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$StudentSubmission; + } + interface Params$Resource$Courses$Coursework$Studentsubmissions$Reclaim { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifier of the course. This identifier can be either the + * Classroom-assigned identifier or an alias. + */ + courseId?: string; + /** + * Identifier of the course work. + */ + courseWorkId?: string; + /** + * Identifier of the student submission. + */ + id?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ReclaimStudentSubmissionRequest; + } + interface Params$Resource$Courses$Coursework$Studentsubmissions$Return { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifier of the course. This identifier can be either the + * Classroom-assigned identifier or an alias. + */ + courseId?: string; + /** + * Identifier of the course work. + */ + courseWorkId?: string; + /** + * Identifier of the student submission. + */ + id?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ReturnStudentSubmissionRequest; + } + interface Params$Resource$Courses$Coursework$Studentsubmissions$Turnin { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifier of the course. This identifier can be either the + * Classroom-assigned identifier or an alias. + */ + courseId?: string; + /** + * Identifier of the course work. + */ + courseWorkId?: string; + /** + * Identifier of the student submission. + */ + id?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TurnInStudentSubmissionRequest; + } + class Resource$Courses$Students { + root: Classroom; + constructor(root: Classroom); + getRoot(): Classroom; + /** + * classroom.courses.students.create + * @desc Adds a user as a student of a course. This method returns the + * following error codes: * `PERMISSION_DENIED` if the requesting user is + * not permitted to create students in this course or for access errors. * + * `NOT_FOUND` if the requested course ID does not exist. * + * `FAILED_PRECONDITION` if the requested user's account is disabled, for + * the following request errors: * CourseMemberLimitReached * + * CourseNotModifiable * UserGroupsMembershipLimitReached * + * `ALREADY_EXISTS` if the user is already a student or teacher in the + * course. + * @alias classroom.courses.students.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.courseId Identifier of the course to create the student in. This identifier can be either the Classroom-assigned identifier or an alias. + * @param {string=} params.enrollmentCode Enrollment code of the course to create the student in. This code is required if userId corresponds to the requesting user; it may be omitted if the requesting user has administrative permissions to create students for any user. + * @param {().Student} 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 + */ + create(params?: Params$Resource$Courses$Students$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Courses$Students$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Courses$Students$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * classroom.courses.students.delete + * @desc Deletes a student of a course. This method returns the following + * error codes: * `PERMISSION_DENIED` if the requesting user is not + * permitted to delete students of this course or for access errors. * + * `NOT_FOUND` if no student of this course has the requested ID or if the + * course does not exist. + * @alias classroom.courses.students.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.courseId Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias. + * @param {string} params.userId Identifier of the student to delete. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `"me"`, indicating the requesting user + * @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?: Params$Resource$Courses$Students$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Courses$Students$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Courses$Students$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * classroom.courses.students.get + * @desc Returns a student of a course. This method returns the following + * error codes: * `PERMISSION_DENIED` if the requesting user is not + * permitted to view students of this course or for access errors. * + * `NOT_FOUND` if no student of this course has the requested ID or if the + * course does not exist. + * @alias classroom.courses.students.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.courseId Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias. + * @param {string} params.userId Identifier of the student to return. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `"me"`, indicating the requesting user + * @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?: Params$Resource$Courses$Students$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Courses$Students$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Courses$Students$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * classroom.courses.students.list + * @desc Returns a list of students of this course that the requester is + * permitted to view. This method returns the following error codes: * + * `NOT_FOUND` if the course does not exist. * `PERMISSION_DENIED` for + * access errors. + * @alias classroom.courses.students.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.courseId Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias. + * @param {integer=} params.pageSize Maximum number of items to return. Zero means no maximum. The server may return fewer than the specified number of results. + * @param {string=} params.pageToken nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this token. + * @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?: Params$Resource$Courses$Students$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Courses$Students$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Courses$Students$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Courses$Students$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifier of the course to create the student in. This identifier can be + * either the Classroom-assigned identifier or an alias. + */ + courseId?: string; + /** + * Enrollment code of the course to create the student in. This code is + * required if userId corresponds to the requesting user; it may be omitted + * if the requesting user has administrative permissions to create students + * for any user. + */ + enrollmentCode?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Student; + } + interface Params$Resource$Courses$Students$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifier of the course. This identifier can be either the + * Classroom-assigned identifier or an alias. + */ + courseId?: string; + /** + * Identifier of the student to delete. The identifier can be one of the + * following: * the numeric identifier for the user * the email address of + * the user * the string literal `"me"`, indicating the requesting user + */ + userId?: string; + } + interface Params$Resource$Courses$Students$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifier of the course. This identifier can be either the + * Classroom-assigned identifier or an alias. + */ + courseId?: string; + /** + * Identifier of the student to return. The identifier can be one of the + * following: * the numeric identifier for the user * the email address of + * the user * the string literal `"me"`, indicating the requesting user + */ + userId?: string; + } + interface Params$Resource$Courses$Students$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifier of the course. This identifier can be either the + * Classroom-assigned identifier or an alias. + */ + courseId?: string; + /** + * Maximum number of items to return. Zero means no maximum. The server may + * return fewer than the specified number of results. + */ + pageSize?: number; + /** + * nextPageToken value returned from a previous list call, indicating that + * the subsequent page of results should be returned. The list request must + * be otherwise identical to the one that resulted in this token. + */ + pageToken?: string; + } + class Resource$Courses$Teachers { + root: Classroom; + constructor(root: Classroom); + getRoot(): Classroom; + /** + * classroom.courses.teachers.create + * @desc Creates a teacher of a course. This method returns the following + * error codes: * `PERMISSION_DENIED` if the requesting user is not + * permitted to create teachers in this course or for access errors. * + * `NOT_FOUND` if the requested course ID does not exist. * + * `FAILED_PRECONDITION` if the requested user's account is disabled, for + * the following request errors: * CourseMemberLimitReached * + * CourseNotModifiable * CourseTeacherLimitReached * + * UserGroupsMembershipLimitReached * `ALREADY_EXISTS` if the user is + * already a teacher or student in the course. + * @alias classroom.courses.teachers.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.courseId Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias. + * @param {().Teacher} 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 + */ + create(params?: Params$Resource$Courses$Teachers$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Courses$Teachers$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Courses$Teachers$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * classroom.courses.teachers.delete + * @desc Deletes a teacher of a course. This method returns the following + * error codes: * `PERMISSION_DENIED` if the requesting user is not + * permitted to delete teachers of this course or for access errors. * + * `NOT_FOUND` if no teacher of this course has the requested ID or if the + * course does not exist. * `FAILED_PRECONDITION` if the requested ID + * belongs to the primary teacher of this course. + * @alias classroom.courses.teachers.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.courseId Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias. + * @param {string} params.userId Identifier of the teacher to delete. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `"me"`, indicating the requesting user + * @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?: Params$Resource$Courses$Teachers$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Courses$Teachers$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Courses$Teachers$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * classroom.courses.teachers.get + * @desc Returns a teacher of a course. This method returns the following + * error codes: * `PERMISSION_DENIED` if the requesting user is not + * permitted to view teachers of this course or for access errors. * + * `NOT_FOUND` if no teacher of this course has the requested ID or if the + * course does not exist. + * @alias classroom.courses.teachers.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.courseId Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias. + * @param {string} params.userId Identifier of the teacher to return. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `"me"`, indicating the requesting user + * @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?: Params$Resource$Courses$Teachers$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Courses$Teachers$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Courses$Teachers$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * classroom.courses.teachers.list + * @desc Returns a list of teachers of this course that the requester is + * permitted to view. This method returns the following error codes: * + * `NOT_FOUND` if the course does not exist. * `PERMISSION_DENIED` for + * access errors. + * @alias classroom.courses.teachers.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.courseId Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias. + * @param {integer=} params.pageSize Maximum number of items to return. Zero means no maximum. The server may return fewer than the specified number of results. + * @param {string=} params.pageToken nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this token. + * @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?: Params$Resource$Courses$Teachers$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Courses$Teachers$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Courses$Teachers$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Courses$Teachers$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifier of the course. This identifier can be either the + * Classroom-assigned identifier or an alias. + */ + courseId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Teacher; + } + interface Params$Resource$Courses$Teachers$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifier of the course. This identifier can be either the + * Classroom-assigned identifier or an alias. + */ + courseId?: string; + /** + * Identifier of the teacher to delete. The identifier can be one of the + * following: * the numeric identifier for the user * the email address of + * the user * the string literal `"me"`, indicating the requesting user + */ + userId?: string; + } + interface Params$Resource$Courses$Teachers$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifier of the course. This identifier can be either the + * Classroom-assigned identifier or an alias. + */ + courseId?: string; + /** + * Identifier of the teacher to return. The identifier can be one of the + * following: * the numeric identifier for the user * the email address of + * the user * the string literal `"me"`, indicating the requesting user + */ + userId?: string; + } + interface Params$Resource$Courses$Teachers$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifier of the course. This identifier can be either the + * Classroom-assigned identifier or an alias. + */ + courseId?: string; + /** + * Maximum number of items to return. Zero means no maximum. The server may + * return fewer than the specified number of results. + */ + pageSize?: number; + /** + * nextPageToken value returned from a previous list call, indicating that + * the subsequent page of results should be returned. The list request must + * be otherwise identical to the one that resulted in this token. + */ + pageToken?: string; + } + class Resource$Invitations { + root: Classroom; + constructor(root: Classroom); + getRoot(): Classroom; + /** + * classroom.invitations.accept + * @desc Accepts an invitation, removing it and adding the invited user to + * the teachers or students (as appropriate) of the specified course. Only + * the invited user may accept an invitation. This method returns the + * following error codes: * `PERMISSION_DENIED` if the requesting user is + * not permitted to accept the requested invitation or for access errors. * + * `FAILED_PRECONDITION` for the following request errors: * + * CourseMemberLimitReached * CourseNotModifiable * + * CourseTeacherLimitReached * UserGroupsMembershipLimitReached * + * `NOT_FOUND` if no invitation exists with the requested ID. + * @alias classroom.invitations.accept + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Identifier of the invitation to accept. + * @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 + */ + accept(params?: Params$Resource$Invitations$Accept, options?: MethodOptions): AxiosPromise; + accept(params: Params$Resource$Invitations$Accept, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + accept(params: Params$Resource$Invitations$Accept, callback: BodyResponseCallback): void; + accept(callback: BodyResponseCallback): void; + /** + * classroom.invitations.create + * @desc Creates an invitation. Only one invitation for a user and course + * may exist at a time. Delete and re-create an invitation to make changes. + * This method returns the following error codes: * `PERMISSION_DENIED` if + * the requesting user is not permitted to create invitations for this + * course or for access errors. * `NOT_FOUND` if the course or the user does + * not exist. * `FAILED_PRECONDITION` if the requested user's account is + * disabled or if the user already has this role or a role with greater + * permissions. * `ALREADY_EXISTS` if an invitation for the specified user + * and course already exists. + * @alias classroom.invitations.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().Invitation} 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 + */ + create(params?: Params$Resource$Invitations$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Invitations$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Invitations$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * classroom.invitations.delete + * @desc Deletes an invitation. This method returns the following error + * codes: * `PERMISSION_DENIED` if the requesting user is not permitted to + * delete the requested invitation or for access errors. * `NOT_FOUND` if no + * invitation exists with the requested ID. + * @alias classroom.invitations.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Identifier of the invitation to delete. + * @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?: Params$Resource$Invitations$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Invitations$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Invitations$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * classroom.invitations.get + * @desc Returns an invitation. This method returns the following error + * codes: * `PERMISSION_DENIED` if the requesting user is not permitted to + * view the requested invitation or for access errors. * `NOT_FOUND` if no + * invitation exists with the requested ID. + * @alias classroom.invitations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Identifier of the invitation to return. + * @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?: Params$Resource$Invitations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Invitations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Invitations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * classroom.invitations.list + * @desc Returns a list of invitations that the requesting user is permitted + * to view, restricted to those that match the list request. *Note:* At + * least one of `user_id` or `course_id` must be supplied. Both fields can + * be supplied. This method returns the following error codes: * + * `PERMISSION_DENIED` for access errors. + * @alias classroom.invitations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.courseId Restricts returned invitations to those for a course with the specified identifier. + * @param {integer=} params.pageSize Maximum number of items to return. Zero means no maximum. The server may return fewer than the specified number of results. + * @param {string=} params.pageToken nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this token. + * @param {string=} params.userId Restricts returned invitations to those for a specific user. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `"me"`, indicating the requesting user + * @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?: Params$Resource$Invitations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Invitations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Invitations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Invitations$Accept { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifier of the invitation to accept. + */ + id?: string; + } + interface Params$Resource$Invitations$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$Invitation; + } + interface Params$Resource$Invitations$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifier of the invitation to delete. + */ + id?: string; + } + interface Params$Resource$Invitations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifier of the invitation to return. + */ + id?: string; + } + interface Params$Resource$Invitations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Restricts returned invitations to those for a course with the specified + * identifier. + */ + courseId?: string; + /** + * Maximum number of items to return. Zero means no maximum. The server may + * return fewer than the specified number of results. + */ + pageSize?: number; + /** + * nextPageToken value returned from a previous list call, indicating that + * the subsequent page of results should be returned. The list request must + * be otherwise identical to the one that resulted in this token. + */ + pageToken?: string; + /** + * Restricts returned invitations to those for a specific user. The + * identifier can be one of the following: * the numeric identifier for the + * user * the email address of the user * the string literal `"me"`, + * indicating the requesting user + */ + userId?: string; + } + class Resource$Registrations { + root: Classroom; + constructor(root: Classroom); + getRoot(): Classroom; + /** + * classroom.registrations.create + * @desc Creates a `Registration`, causing Classroom to start sending + * notifications from the provided `feed` to the destination provided in + * `cloudPubSubTopic`. Returns the created `Registration`. Currently, this + * will be the same as the argument, but with server-assigned fields such as + * `expiry_time` and `id` filled in. Note that any value specified for the + * `expiry_time` or `id` fields will be ignored. While Classroom may + * validate the `cloudPubSubTopic` and return errors on a best effort basis, + * it is the caller's responsibility to ensure that it exists and that + * Classroom has permission to publish to it. This method may return the + * following error codes: * `PERMISSION_DENIED` if: * the authenticated + * user does not have permission to receive notifications from the + * requested field; or * the credential provided does not include the + * appropriate scope for the requested feed. * another access + * error is encountered. * `INVALID_ARGUMENT` if: * no + * `cloudPubsubTopic` is specified, or the specified `cloudPubsubTopic` is + * not valid; or * no `feed` is specified, or the specified `feed` is + * not valid. * `NOT_FOUND` if: * the specified `feed` cannot be + * located, or the requesting user does not have permission to + * determine whether or not it exists; or * the specified + * `cloudPubsubTopic` cannot be located, or Classroom has not been + * granted permission to publish to it. + * @alias classroom.registrations.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().Registration} 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 + */ + create(params?: Params$Resource$Registrations$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Registrations$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Registrations$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * classroom.registrations.delete + * @desc Deletes a `Registration`, causing Classroom to stop sending + * notifications for that `Registration`. + * @alias classroom.registrations.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.registrationId The `registration_id` of the `Registration` to be deleted. + * @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?: Params$Resource$Registrations$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Registrations$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Registrations$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + } + interface Params$Resource$Registrations$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$Registration; + } + interface Params$Resource$Registrations$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The `registration_id` of the `Registration` to be deleted. + */ + registrationId?: string; + } + class Resource$Userprofiles { + root: Classroom; + guardianInvitations: Resource$Userprofiles$Guardianinvitations; + guardians: Resource$Userprofiles$Guardians; + constructor(root: Classroom); + getRoot(): Classroom; + /** + * classroom.userProfiles.get + * @desc Returns a user profile. This method returns the following error + * codes: * `PERMISSION_DENIED` if the requesting user is not permitted to + * access this user profile, if no profile exists with the requested ID, or + * for access errors. + * @alias classroom.userProfiles.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.userId Identifier of the profile to return. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `"me"`, indicating the requesting user + * @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?: Params$Resource$Userprofiles$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Userprofiles$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Userprofiles$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Userprofiles$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifier of the profile to return. The identifier can be one of the + * following: * the numeric identifier for the user * the email address of + * the user * the string literal `"me"`, indicating the requesting user + */ + userId?: string; + } + class Resource$Userprofiles$Guardianinvitations { + root: Classroom; + constructor(root: Classroom); + getRoot(): Classroom; + /** + * classroom.userProfiles.guardianInvitations.create + * @desc Creates a guardian invitation, and sends an email to the guardian + * asking them to confirm that they are the student's guardian. Once the + * guardian accepts the invitation, their `state` will change to `COMPLETED` + * and they will start receiving guardian notifications. A `Guardian` + * resource will also be created to represent the active guardian. The + * request object must have the `student_id` and `invited_email_address` + * fields set. Failing to set these fields, or setting any other fields in + * the request, will result in an error. This method returns the following + * error codes: * `PERMISSION_DENIED` if the current user does not have + * permission to manage guardians, if the guardian in question has already + * rejected too many requests for that student, if guardians are not + * enabled for the domain in question, or for other access errors. * + * `RESOURCE_EXHAUSTED` if the student or guardian has exceeded the guardian + * link limit. * `INVALID_ARGUMENT` if the guardian email address is not + * valid (for example, if it is too long), or if the format of the student + * ID provided cannot be recognized (it is not an email address, nor a + * `user_id` from this API). This error will also be returned if read-only + * fields are set, or if the `state` field is set to to a value other than + * `PENDING`. * `NOT_FOUND` if the student ID provided is a valid student + * ID, but Classroom has no record of that student. * `ALREADY_EXISTS` if + * there is already a pending guardian invitation for the student and + * `invited_email_address` provided, or if the provided + * `invited_email_address` matches the Google account of an existing + * `Guardian` for this user. + * @alias classroom.userProfiles.guardianInvitations.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.studentId ID of the student (in standard format) + * @param {().GuardianInvitation} 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 + */ + create(params?: Params$Resource$Userprofiles$Guardianinvitations$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Userprofiles$Guardianinvitations$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Userprofiles$Guardianinvitations$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * classroom.userProfiles.guardianInvitations.get + * @desc Returns a specific guardian invitation. This method returns the + * following error codes: * `PERMISSION_DENIED` if the requesting user is + * not permitted to view guardian invitations for the student identified + * by the `student_id`, if guardians are not enabled for the domain in + * question, or for other access errors. * `INVALID_ARGUMENT` if a + * `student_id` is specified, but its format cannot be recognized (it is + * not an email address, nor a `student_id` from the API, nor the literal + * string `me`). * `NOT_FOUND` if Classroom cannot find any record of the + * given student or `invitation_id`. May also be returned if the student + * exists, but the requesting user does not have access to see that + * student. + * @alias classroom.userProfiles.guardianInvitations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.invitationId The `id` field of the `GuardianInvitation` being requested. + * @param {string} params.studentId The ID of the student whose guardian invitation is being requested. + * @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?: Params$Resource$Userprofiles$Guardianinvitations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Userprofiles$Guardianinvitations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Userprofiles$Guardianinvitations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * classroom.userProfiles.guardianInvitations.list + * @desc Returns a list of guardian invitations that the requesting user is + * permitted to view, filtered by the parameters provided. This method + * returns the following error codes: * `PERMISSION_DENIED` if a + * `student_id` is specified, and the requesting user is not permitted to + * view guardian invitations for that student, if `"-"` is specified as + * the `student_id` and the user is not a domain administrator, if + * guardians are not enabled for the domain in question, or for other + * access errors. * `INVALID_ARGUMENT` if a `student_id` is specified, but + * its format cannot be recognized (it is not an email address, nor a + * `student_id` from the API, nor the literal string `me`). May also be + * returned if an invalid `page_token` or `state` is provided. * + * `NOT_FOUND` if a `student_id` is specified, and its format can be + * recognized, but Classroom has no record of that student. + * @alias classroom.userProfiles.guardianInvitations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.invitedEmailAddress If specified, only results with the specified `invited_email_address` will be returned. + * @param {integer=} params.pageSize Maximum number of items to return. Zero or unspecified indicates that the server may assign a maximum. The server may return fewer than the specified number of results. + * @param {string=} params.pageToken nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this token. + * @param {string=} params.states If specified, only results with the specified `state` values will be returned. Otherwise, results with a `state` of `PENDING` will be returned. + * @param {string} params.studentId The ID of the student whose guardian invitations are to be returned. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `"me"`, indicating the requesting user * the string literal `"-"`, indicating that results should be returned for all students that the requesting user is permitted to view guardian invitations. + * @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?: Params$Resource$Userprofiles$Guardianinvitations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Userprofiles$Guardianinvitations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Userprofiles$Guardianinvitations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * classroom.userProfiles.guardianInvitations.patch + * @desc Modifies a guardian invitation. Currently, the only valid + * modification is to change the `state` from `PENDING` to `COMPLETE`. This + * has the effect of withdrawing the invitation. This method returns the + * following error codes: * `PERMISSION_DENIED` if the current user does + * not have permission to manage guardians, if guardians are not enabled + * for the domain in question or for other access errors. * + * `FAILED_PRECONDITION` if the guardian link is not in the `PENDING` state. + * * `INVALID_ARGUMENT` if the format of the student ID provided cannot be + * recognized (it is not an email address, nor a `user_id` from this API), + * or if the passed `GuardianInvitation` has a `state` other than + * `COMPLETE`, or if it modifies fields other than `state`. * `NOT_FOUND` if + * the student ID provided is a valid student ID, but Classroom has no + * record of that student, or if the `id` field does not refer to a + * guardian invitation known to Classroom. + * @alias classroom.userProfiles.guardianInvitations.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.invitationId The `id` field of the `GuardianInvitation` to be modified. + * @param {string} params.studentId The ID of the student whose guardian invitation is to be modified. + * @param {string=} params.updateMask Mask that identifies which fields on the course to update. This field is required to do an update. The update will fail if invalid fields are specified. The following fields are valid: * `state` When set in a query parameter, this field should be specified as `updateMask=,,...` + * @param {().GuardianInvitation} 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 + */ + patch(params?: Params$Resource$Userprofiles$Guardianinvitations$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Userprofiles$Guardianinvitations$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Userprofiles$Guardianinvitations$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Userprofiles$Guardianinvitations$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ID of the student (in standard format) + */ + studentId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GuardianInvitation; + } + interface Params$Resource$Userprofiles$Guardianinvitations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The `id` field of the `GuardianInvitation` being requested. + */ + invitationId?: string; + /** + * The ID of the student whose guardian invitation is being requested. + */ + studentId?: string; + } + interface Params$Resource$Userprofiles$Guardianinvitations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * If specified, only results with the specified `invited_email_address` + * will be returned. + */ + invitedEmailAddress?: string; + /** + * Maximum number of items to return. Zero or unspecified indicates that the + * server may assign a maximum. The server may return fewer than the + * specified number of results. + */ + pageSize?: number; + /** + * nextPageToken value returned from a previous list call, indicating that + * the subsequent page of results should be returned. The list request must + * be otherwise identical to the one that resulted in this token. + */ + pageToken?: string; + /** + * If specified, only results with the specified `state` values will be + * returned. Otherwise, results with a `state` of `PENDING` will be + * returned. + */ + states?: string; + /** + * The ID of the student whose guardian invitations are to be returned. The + * identifier can be one of the following: * the numeric identifier for the + * user * the email address of the user * the string literal `"me"`, + * indicating the requesting user * the string literal `"-"`, indicating + * that results should be returned for all students that the requesting + * user is permitted to view guardian invitations. + */ + studentId?: string; + } + interface Params$Resource$Userprofiles$Guardianinvitations$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The `id` field of the `GuardianInvitation` to be modified. + */ + invitationId?: string; + /** + * The ID of the student whose guardian invitation is to be modified. + */ + studentId?: string; + /** + * Mask that identifies which fields on the course to update. This field is + * required to do an update. The update will fail if invalid fields are + * specified. The following fields are valid: * `state` When set in a + * query parameter, this field should be specified as + * `updateMask=,,...` + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GuardianInvitation; + } + class Resource$Userprofiles$Guardians { + root: Classroom; + constructor(root: Classroom); + getRoot(): Classroom; + /** + * classroom.userProfiles.guardians.delete + * @desc Deletes a guardian. The guardian will no longer receive guardian + * notifications and the guardian will no longer be accessible via the API. + * This method returns the following error codes: * `PERMISSION_DENIED` if + * no user that matches the provided `student_id` is visible to the + * requesting user, if the requesting user is not permitted to manage + * guardians for the student identified by the `student_id`, if guardians + * are not enabled for the domain in question, or for other access errors. + * * `INVALID_ARGUMENT` if a `student_id` is specified, but its format + * cannot be recognized (it is not an email address, nor a `student_id` + * from the API). * `NOT_FOUND` if the requesting user is permitted to + * modify guardians for the requested `student_id`, but no `Guardian` + * record exists for that student with the provided `guardian_id`. + * @alias classroom.userProfiles.guardians.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.guardianId The `id` field from a `Guardian`. + * @param {string} params.studentId The student whose guardian is to be deleted. One of the following: * the numeric identifier for the user * the email address of the user * the string literal `"me"`, indicating the requesting user + * @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?: Params$Resource$Userprofiles$Guardians$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Userprofiles$Guardians$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Userprofiles$Guardians$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * classroom.userProfiles.guardians.get + * @desc Returns a specific guardian. This method returns the following + * error codes: * `PERMISSION_DENIED` if no user that matches the provided + * `student_id` is visible to the requesting user, if the requesting user + * is not permitted to view guardian information for the student + * identified by the `student_id`, if guardians are not enabled for the + * domain in question, or for other access errors. * `INVALID_ARGUMENT` if + * a `student_id` is specified, but its format cannot be recognized (it is + * not an email address, nor a `student_id` from the API, nor the literal + * string `me`). * `NOT_FOUND` if the requesting user is permitted to view + * guardians for the requested `student_id`, but no `Guardian` record + * exists for that student that matches the provided `guardian_id`. + * @alias classroom.userProfiles.guardians.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.guardianId The `id` field from a `Guardian`. + * @param {string} params.studentId The student whose guardian is being requested. One of the following: * the numeric identifier for the user * the email address of the user * the string literal `"me"`, indicating the requesting user + * @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?: Params$Resource$Userprofiles$Guardians$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Userprofiles$Guardians$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Userprofiles$Guardians$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * classroom.userProfiles.guardians.list + * @desc Returns a list of guardians that the requesting user is permitted + * to view, restricted to those that match the request. To list guardians + * for any student that the requesting user may view guardians for, use the + * literal character `-` for the student ID. This method returns the + * following error codes: * `PERMISSION_DENIED` if a `student_id` is + * specified, and the requesting user is not permitted to view guardian + * information for that student, if `"-"` is specified as the `student_id` + * and the user is not a domain administrator, if guardians are not + * enabled for the domain in question, if the `invited_email_address` + * filter is set by a user who is not a domain administrator, or for other + * access errors. * `INVALID_ARGUMENT` if a `student_id` is specified, but + * its format cannot be recognized (it is not an email address, nor a + * `student_id` from the API, nor the literal string `me`). May also be + * returned if an invalid `page_token` is provided. * `NOT_FOUND` if a + * `student_id` is specified, and its format can be recognized, but + * Classroom has no record of that student. + * @alias classroom.userProfiles.guardians.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.invitedEmailAddress Filter results by the email address that the original invitation was sent to, resulting in this guardian link. This filter can only be used by domain administrators. + * @param {integer=} params.pageSize Maximum number of items to return. Zero or unspecified indicates that the server may assign a maximum. The server may return fewer than the specified number of results. + * @param {string=} params.pageToken nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this token. + * @param {string} params.studentId Filter results by the student who the guardian is linked to. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `"me"`, indicating the requesting user * the string literal `"-"`, indicating that results should be returned for all students that the requesting user has access to view. + * @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?: Params$Resource$Userprofiles$Guardians$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Userprofiles$Guardians$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Userprofiles$Guardians$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Userprofiles$Guardians$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The `id` field from a `Guardian`. + */ + guardianId?: string; + /** + * The student whose guardian is to be deleted. One of the following: * the + * numeric identifier for the user * the email address of the user * the + * string literal `"me"`, indicating the requesting user + */ + studentId?: string; + } + interface Params$Resource$Userprofiles$Guardians$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The `id` field from a `Guardian`. + */ + guardianId?: string; + /** + * The student whose guardian is being requested. One of the following: * + * the numeric identifier for the user * the email address of the user * the + * string literal `"me"`, indicating the requesting user + */ + studentId?: string; + } + interface Params$Resource$Userprofiles$Guardians$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Filter results by the email address that the original invitation was sent + * to, resulting in this guardian link. This filter can only be used by + * domain administrators. + */ + invitedEmailAddress?: string; + /** + * Maximum number of items to return. Zero or unspecified indicates that the + * server may assign a maximum. The server may return fewer than the + * specified number of results. + */ + pageSize?: number; + /** + * nextPageToken value returned from a previous list call, indicating that + * the subsequent page of results should be returned. The list request must + * be otherwise identical to the one that resulted in this token. + */ + pageToken?: string; + /** + * Filter results by the student who the guardian is linked to. The + * identifier can be one of the following: * the numeric identifier for the + * user * the email address of the user * the string literal `"me"`, + * indicating the requesting user * the string literal `"-"`, indicating + * that results should be returned for all students that the requesting + * user has access to view. + */ + studentId?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/classroom/v1.js b/express-server/node_modules/googleapis/build/src/apis/classroom/v1.js new file mode 100644 index 00000000..89bfe505 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/classroom/v1.js @@ -0,0 +1,1773 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var classroom_v1; +(function (classroom_v1) { + /** + * Google Classroom API + * + * Manages classes, rosters, and invitations in Google Classroom. + * + * @example + * const {google} = require('googleapis'); + * const classroom = google.classroom('v1'); + * + * @namespace classroom + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Classroom + */ + class Classroom { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.courses = new Resource$Courses(this); + this.invitations = new Resource$Invitations(this); + this.registrations = new Resource$Registrations(this); + this.userProfiles = new Resource$Userprofiles(this); + } + getRoot() { + return this.root; + } + } + classroom_v1.Classroom = Classroom; + class Resource$Courses { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.aliases = new Resource$Courses$Aliases(root); + this.announcements = new Resource$Courses$Announcements(root); + this.courseWork = new Resource$Courses$Coursework(root); + this.students = new Resource$Courses$Students(root); + this.teachers = new Resource$Courses$Teachers(root); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/courses').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/courses/{id}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['id'], + pathParams: ['id'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/courses/{id}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['id'], + pathParams: ['id'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/courses').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/courses/{id}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['id'], + pathParams: ['id'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/courses/{id}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['id'], + pathParams: ['id'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + classroom_v1.Resource$Courses = Resource$Courses; + class Resource$Courses$Aliases { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/courses/{courseId}/aliases') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['courseId'], + pathParams: ['courseId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/courses/{courseId}/aliases/{alias}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['courseId', 'alias'], + pathParams: ['alias', 'courseId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/courses/{courseId}/aliases') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['courseId'], + pathParams: ['courseId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + classroom_v1.Resource$Courses$Aliases = Resource$Courses$Aliases; + class Resource$Courses$Announcements { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/courses/{courseId}/announcements') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['courseId'], + pathParams: ['courseId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/courses/{courseId}/announcements/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['courseId', 'id'], + pathParams: ['courseId', 'id'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/courses/{courseId}/announcements/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['courseId', 'id'], + pathParams: ['courseId', 'id'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/courses/{courseId}/announcements') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['courseId'], + pathParams: ['courseId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + modifyAssignees(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/courses/{courseId}/announcements/{id}:modifyAssignees') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['courseId', 'id'], + pathParams: ['courseId', 'id'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/courses/{courseId}/announcements/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['courseId', 'id'], + pathParams: ['courseId', 'id'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + classroom_v1.Resource$Courses$Announcements = Resource$Courses$Announcements; + class Resource$Courses$Coursework { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.studentSubmissions = + new Resource$Courses$Coursework$Studentsubmissions(root); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/courses/{courseId}/courseWork') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['courseId'], + pathParams: ['courseId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/courses/{courseId}/courseWork/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['courseId', 'id'], + pathParams: ['courseId', 'id'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/courses/{courseId}/courseWork/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['courseId', 'id'], + pathParams: ['courseId', 'id'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/courses/{courseId}/courseWork') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['courseId'], + pathParams: ['courseId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + modifyAssignees(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/courses/{courseId}/courseWork/{id}:modifyAssignees') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['courseId', 'id'], + pathParams: ['courseId', 'id'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/courses/{courseId}/courseWork/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['courseId', 'id'], + pathParams: ['courseId', 'id'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + classroom_v1.Resource$Courses$Coursework = Resource$Courses$Coursework; + class Resource$Courses$Coursework$Studentsubmissions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['courseId', 'courseWorkId', 'id'], + pathParams: ['courseId', 'courseWorkId', 'id'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['courseId', 'courseWorkId'], + pathParams: ['courseId', 'courseWorkId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + modifyAttachments(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:modifyAttachments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['courseId', 'courseWorkId', 'id'], + pathParams: ['courseId', 'courseWorkId', 'id'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['courseId', 'courseWorkId', 'id'], + pathParams: ['courseId', 'courseWorkId', 'id'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + reclaim(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:reclaim') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['courseId', 'courseWorkId', 'id'], + pathParams: ['courseId', 'courseWorkId', 'id'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + return(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:return') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['courseId', 'courseWorkId', 'id'], + pathParams: ['courseId', 'courseWorkId', 'id'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + turnIn(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:turnIn') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['courseId', 'courseWorkId', 'id'], + pathParams: ['courseId', 'courseWorkId', 'id'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + classroom_v1.Resource$Courses$Coursework$Studentsubmissions = Resource$Courses$Coursework$Studentsubmissions; + class Resource$Courses$Students { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/courses/{courseId}/students') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['courseId'], + pathParams: ['courseId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/courses/{courseId}/students/{userId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['courseId', 'userId'], + pathParams: ['courseId', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/courses/{courseId}/students/{userId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['courseId', 'userId'], + pathParams: ['courseId', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/courses/{courseId}/students') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['courseId'], + pathParams: ['courseId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + classroom_v1.Resource$Courses$Students = Resource$Courses$Students; + class Resource$Courses$Teachers { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/courses/{courseId}/teachers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['courseId'], + pathParams: ['courseId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/courses/{courseId}/teachers/{userId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['courseId', 'userId'], + pathParams: ['courseId', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/courses/{courseId}/teachers/{userId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['courseId', 'userId'], + pathParams: ['courseId', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/courses/{courseId}/teachers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['courseId'], + pathParams: ['courseId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + classroom_v1.Resource$Courses$Teachers = Resource$Courses$Teachers; + class Resource$Invitations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + accept(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/invitations/{id}:accept') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['id'], + pathParams: ['id'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/invitations').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/invitations/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['id'], + pathParams: ['id'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/invitations/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['id'], + pathParams: ['id'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/invitations').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + classroom_v1.Resource$Invitations = Resource$Invitations; + class Resource$Registrations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/registrations').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/registrations/{registrationId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['registrationId'], + pathParams: ['registrationId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + classroom_v1.Resource$Registrations = Resource$Registrations; + class Resource$Userprofiles { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.guardianInvitations = + new Resource$Userprofiles$Guardianinvitations(root); + this.guardians = new Resource$Userprofiles$Guardians(root); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/userProfiles/{userId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userId'], + pathParams: ['userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + classroom_v1.Resource$Userprofiles = Resource$Userprofiles; + class Resource$Userprofiles$Guardianinvitations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/userProfiles/{studentId}/guardianInvitations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['studentId'], + pathParams: ['studentId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/userProfiles/{studentId}/guardianInvitations/{invitationId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['studentId', 'invitationId'], + pathParams: ['invitationId', 'studentId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/userProfiles/{studentId}/guardianInvitations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['studentId'], + pathParams: ['studentId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/userProfiles/{studentId}/guardianInvitations/{invitationId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['studentId', 'invitationId'], + pathParams: ['invitationId', 'studentId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + classroom_v1.Resource$Userprofiles$Guardianinvitations = Resource$Userprofiles$Guardianinvitations; + class Resource$Userprofiles$Guardians { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/userProfiles/{studentId}/guardians/{guardianId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['studentId', 'guardianId'], + pathParams: ['guardianId', 'studentId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/userProfiles/{studentId}/guardians/{guardianId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['studentId', 'guardianId'], + pathParams: ['guardianId', 'studentId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/userProfiles/{studentId}/guardians') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['studentId'], + pathParams: ['studentId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + classroom_v1.Resource$Userprofiles$Guardians = Resource$Userprofiles$Guardians; +})(classroom_v1 = exports.classroom_v1 || (exports.classroom_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/classroom/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/classroom/v1.js.map new file mode 100644 index 00000000..ed0c7f0a --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/classroom/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/classroom/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudbilling/README.md b/express-server/node_modules/googleapis/build/src/apis/cloudbilling/README.md new file mode 100644 index 00000000..38e127cc --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudbilling/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/cloudbilling + +> Allows developers to manage billing for their Google Cloud Platform projects programmatically. + +## Installation + +```sh +$ npm install @google/cloudbilling +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudbilling/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/cloudbilling/index.d.ts new file mode 100644 index 00000000..0743d44e --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudbilling/index.d.ts @@ -0,0 +1,6 @@ +import { cloudbilling_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof cloudbilling_v1.Cloudbilling; +}; +export declare function cloudbilling(version: 'v1'): cloudbilling_v1.Cloudbilling; +export declare function cloudbilling(options: cloudbilling_v1.Options): cloudbilling_v1.Cloudbilling; diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudbilling/index.js b/express-server/node_modules/googleapis/build/src/apis/cloudbilling/index.js new file mode 100644 index 00000000..0a87b9fe --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudbilling/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.cloudbilling_v1.Cloudbilling, +}; +function cloudbilling(versionOrOptions) { + return googleapis_common_1.getAPI('cloudbilling', versionOrOptions, exports.VERSIONS, this); +} +exports.cloudbilling = cloudbilling; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudbilling/index.js.map b/express-server/node_modules/googleapis/build/src/apis/cloudbilling/index.js.map new file mode 100644 index 00000000..9f3edaf0 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudbilling/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/cloudbilling/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAqC;AAExB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,oBAAe,CAAC,YAAY;CACnC,CAAC;AAKF,SAAgB,YAAY,CACE,gBAA8C;IAC1E,OAAO,0BAAM,CAAI,cAAc,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACrE,CAAC;AAHD,oCAGC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudbilling/package.json b/express-server/node_modules/googleapis/build/src/apis/cloudbilling/package.json new file mode 100644 index 00000000..9f9eb9cf --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudbilling/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/cloudbilling", + "version": "0.1.0", + "description": "cloudbilling", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudbilling/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/cloudbilling/v1.d.ts new file mode 100644 index 00000000..c235d39e --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudbilling/v1.d.ts @@ -0,0 +1,1542 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace cloudbilling_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Cloud Billing API + * + * Allows developers to manage billing for their Google Cloud Platform + * projects programmatically. + * + * @example + * const {google} = require('googleapis'); + * const cloudbilling = google.cloudbilling('v1'); + * + * @namespace cloudbilling + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Cloudbilling + */ + class Cloudbilling { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + billingAccounts: Resource$Billingaccounts; + projects: Resource$Projects; + services: Resource$Services; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Represents the aggregation level and interval for pricing of a single SKU. + */ + interface Schema$AggregationInfo { + /** + * The number of intervals to aggregate over. Example: If aggregation_level + * is "DAILY" and aggregation_count is 14, aggregation will be + * over 14 days. + */ + aggregationCount?: number; + aggregationInterval?: string; + aggregationLevel?: string; + } + /** + * Specifies the audit configuration for a service. The configuration + * determines which permission types are logged, and what identities, if any, + * are exempted from logging. An AuditConfig must have one or more + * AuditLogConfigs. If there are AuditConfigs for both `allServices` and a + * specific service, the union of the two AuditConfigs is used for that + * service: the log_types specified in each AuditConfig are enabled, and the + * exempted_members in each AuditLogConfig are exempted. Example Policy with + * multiple AuditConfigs: { "audit_configs": [ { + * "service": "allServices" "audit_log_configs": + * [ { "log_type": "DATA_READ", + * "exempted_members": [ "user:foo@gmail.com" ] }, { + * "log_type": "DATA_WRITE", }, { + * "log_type": "ADMIN_READ", } ] }, + * { "service": "fooservice.googleapis.com" + * "audit_log_configs": [ { "log_type": + * "DATA_READ", }, { "log_type": + * "DATA_WRITE", "exempted_members": [ + * "user:bar@gmail.com" ] } ] } + * ] } For fooservice, this policy enables DATA_READ, DATA_WRITE and + * ADMIN_READ logging. It also exempts foo@gmail.com from DATA_READ logging, + * and bar@gmail.com from DATA_WRITE logging. + */ + interface Schema$AuditConfig { + /** + * The configuration for logging of each type of permission. + */ + auditLogConfigs?: Schema$AuditLogConfig[]; + /** + * Specifies a service that will be enabled for audit logging. For example, + * `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a + * special value that covers all services. + */ + service?: string; + } + /** + * Provides the configuration for logging a type of permissions. Example: { + * "audit_log_configs": [ { "log_type": + * "DATA_READ", "exempted_members": [ + * "user:foo@gmail.com" ] }, { + * "log_type": "DATA_WRITE", } ] } This + * enables 'DATA_READ' and 'DATA_WRITE' logging, while + * exempting foo@gmail.com from DATA_READ logging. + */ + interface Schema$AuditLogConfig { + /** + * Specifies the identities that do not cause logging for this type of + * permission. Follows the same format of Binding.members. + */ + exemptedMembers?: string[]; + /** + * The log type that this config enables. + */ + logType?: string; + } + /** + * A billing account in [GCP Console](https://console.cloud.google.com/). You + * can assign a billing account to one or more projects. + */ + interface Schema$BillingAccount { + /** + * The display name given to the billing account, such as `My Billing + * Account`. This name is displayed in the GCP Console. + */ + displayName?: string; + /** + * If this account is a + * [subaccount](https://cloud.google.com/billing/docs/concepts), then this + * will be the resource name of the master billing account that it is being + * resold through. Otherwise this will be empty. + */ + masterBillingAccount?: string; + /** + * The resource name of the billing account. The resource name has the form + * `billingAccounts/{billing_account_id}`. For example, + * `billingAccounts/012345-567890-ABCDEF` would be the resource name for + * billing account `012345-567890-ABCDEF`. + */ + name?: string; + /** + * True if the billing account is open, and will therefore be charged for + * any usage on associated projects. False if the billing account is closed, + * and therefore projects associated with it will be unable to use paid + * services. + */ + open?: boolean; + } + /** + * Associates `members` with a `role`. + */ + interface Schema$Binding { + /** + * Unimplemented. The condition that is associated with this binding. NOTE: + * an unsatisfied condition will not allow user access via current binding. + * Different bindings, including their conditions, are examined + * independently. + */ + condition?: Schema$Expr; + /** + * Specifies the identities requesting access for a Cloud Platform resource. + * `members` can have the following values: * `allUsers`: A special + * identifier that represents anyone who is on the internet; with or + * without a Google account. * `allAuthenticatedUsers`: A special + * identifier that represents anyone who is authenticated with a Google + * account or a service account. * `user:{emailid}`: An email address that + * represents a specific Google account. For example, `alice@gmail.com` . + * * `serviceAccount:{emailid}`: An email address that represents a service + * account. For example, `my-other-app@appspot.gserviceaccount.com`. * + * `group:{emailid}`: An email address that represents a Google group. For + * example, `admins@example.com`. * `domain:{domain}`: A Google Apps + * domain name that represents all the users of that domain. For example, + * `google.com` or `example.com`. + */ + members?: string[]; + /** + * Role that is assigned to `members`. For example, `roles/viewer`, + * `roles/editor`, or `roles/owner`. + */ + role?: string; + } + /** + * Represents the category hierarchy of a SKU. + */ + interface Schema$Category { + /** + * The type of product the SKU refers to. Example: "Compute", + * "Storage", "Network", "ApplicationServices" + * etc. + */ + resourceFamily?: string; + /** + * A group classification for related SKUs. Example: "RAM", + * "GPU", "Prediction", "Ops", + * "GoogleEgress" etc. + */ + resourceGroup?: string; + /** + * The display name of the service this SKU belongs to. + */ + serviceDisplayName?: string; + /** + * Represents how the SKU is consumed. Example: "OnDemand", + * "Preemptible", "Commit1Mo", "Commit1Yr" + * etc. + */ + usageType?: string; + } + /** + * Represents an expression text. Example: title: "User account + * presence" description: "Determines whether the request has a + * user account" expression: "size(request.user) > 0" + */ + interface Schema$Expr { + /** + * An optional description of the expression. This is a longer text which + * describes the expression, e.g. when hovered over it in a UI. + */ + description?: string; + /** + * Textual representation of an expression in Common Expression Language + * syntax. The application context of the containing message determines + * which well-known feature set of CEL is supported. + */ + expression?: string; + /** + * An optional string indicating the location of the expression for error + * reporting, e.g. a file name and a position in the file. + */ + location?: string; + /** + * An optional title for the expression, i.e. a short string describing its + * purpose. This can be used e.g. in UIs which allow to enter the + * expression. + */ + title?: string; + } + /** + * Response message for `ListBillingAccounts`. + */ + interface Schema$ListBillingAccountsResponse { + /** + * A list of billing accounts. + */ + billingAccounts?: Schema$BillingAccount[]; + /** + * A token to retrieve the next page of results. To retrieve the next page, + * call `ListBillingAccounts` again with the `page_token` field set to this + * value. This field is empty if there are no more results to retrieve. + */ + nextPageToken?: string; + } + /** + * Request message for `ListProjectBillingInfoResponse`. + */ + interface Schema$ListProjectBillingInfoResponse { + /** + * A token to retrieve the next page of results. To retrieve the next page, + * call `ListProjectBillingInfo` again with the `page_token` field set to + * this value. This field is empty if there are no more results to retrieve. + */ + nextPageToken?: string; + /** + * A list of `ProjectBillingInfo` resources representing the projects + * associated with the billing account. + */ + projectBillingInfo?: Schema$ProjectBillingInfo[]; + } + /** + * Response message for `ListServices`. + */ + interface Schema$ListServicesResponse { + /** + * A token to retrieve the next page of results. To retrieve the next page, + * call `ListServices` again with the `page_token` field set to this value. + * This field is empty if there are no more results to retrieve. + */ + nextPageToken?: string; + /** + * A list of services. + */ + services?: Schema$Service[]; + } + /** + * Response message for `ListSkus`. + */ + interface Schema$ListSkusResponse { + /** + * A token to retrieve the next page of results. To retrieve the next page, + * call `ListSkus` again with the `page_token` field set to this value. This + * field is empty if there are no more results to retrieve. + */ + nextPageToken?: string; + /** + * The list of public SKUs of the given service. + */ + skus?: Schema$Sku[]; + } + /** + * Represents an amount of money with its currency type. + */ + interface Schema$Money { + /** + * The 3-letter currency code defined in ISO 4217. + */ + currencyCode?: string; + /** + * Number of nano (10^-9) units of the amount. The value must be between + * -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` + * must be positive or zero. If `units` is zero, `nanos` can be positive, + * zero, or negative. If `units` is negative, `nanos` must be negative or + * zero. For example $-1.75 is represented as `units`=-1 and + * `nanos`=-750,000,000. + */ + nanos?: number; + /** + * The whole units of the amount. For example if `currencyCode` is + * `"USD"`, then 1 unit is one US dollar. + */ + units?: string; + } + /** + * Defines an Identity and Access Management (IAM) policy. It is used to + * specify access control policies for Cloud Platform resources. A `Policy` + * consists of a list of `bindings`. A `binding` binds a list of `members` to + * a `role`, where the members can be user accounts, Google groups, Google + * domains, and service accounts. A `role` is a named list of permissions + * defined by IAM. **JSON Example** { "bindings": [ { + * "role": "roles/owner", "members": [ + * "user:mike@example.com", "group:admins@example.com", + * "domain:google.com", + * "serviceAccount:my-other-app@appspot.gserviceaccount.com" ] }, { + * "role": "roles/viewer", "members": + * ["user:sean@example.com"] } ] } **YAML + * Example** bindings: - members: - user:mike@example.com - + * group:admins@example.com - domain:google.com - + * serviceAccount:my-other-app@appspot.gserviceaccount.com role: + * roles/owner - members: - user:sean@example.com role: + * roles/viewer For a description of IAM and its features, see the [IAM + * developer's guide](https://cloud.google.com/iam/docs). + */ + interface Schema$Policy { + /** + * Specifies cloud audit logging configuration for this policy. + */ + auditConfigs?: Schema$AuditConfig[]; + /** + * Associates a list of `members` to a `role`. `bindings` with no members + * will result in an error. + */ + bindings?: Schema$Binding[]; + /** + * `etag` is used for optimistic concurrency control as a way to help + * prevent simultaneous updates of a policy from overwriting each other. It + * is strongly suggested that systems make use of the `etag` in the + * read-modify-write cycle to perform policy updates in order to avoid race + * conditions: An `etag` is returned in the response to `getIamPolicy`, and + * systems are expected to put that etag in the request to `setIamPolicy` to + * ensure that their change will be applied to the same version of the + * policy. If no `etag` is provided in the call to `setIamPolicy`, then the + * existing policy is overwritten blindly. + */ + etag?: string; + /** + * Deprecated. + */ + version?: number; + } + /** + * Expresses a mathematical pricing formula. For Example:- `usage_unit: GBy` + * `tiered_rates:` `[start_usage_amount: 20, unit_price: $10]` + * `[start_usage_amount: 100, unit_price: $5]` The above expresses a pricing + * formula where the first 20GB is free, the next 80GB is priced at $10 per GB + * followed by $5 per GB for additional usage. + */ + interface Schema$PricingExpression { + /** + * The base unit for the SKU which is the unit used in usage exports. + * Example: "By" + */ + baseUnit?: string; + /** + * Conversion factor for converting from price per usage_unit to price per + * base_unit, and start_usage_amount to start_usage_amount in base_unit. + * unit_price / base_unit_conversion_factor = price per base_unit. + * start_usage_amount * base_unit_conversion_factor = start_usage_amount in + * base_unit. + */ + baseUnitConversionFactor?: number; + /** + * The base unit in human readable form. Example: "byte". + */ + baseUnitDescription?: string; + /** + * The recommended quantity of units for displaying pricing info. When + * displaying pricing info it is recommended to display: (unit_price * + * display_quantity) per display_quantity usage_unit. This field does not + * affect the pricing formula and is for display purposes only. Example: If + * the unit_price is "0.0001 USD", the usage_unit is + * "GB" and the display_quantity is "1000" then the + * recommended way of displaying the pricing info is "0.10 USD per 1000 + * GB" + */ + displayQuantity?: number; + /** + * The list of tiered rates for this pricing. The total cost is computed by + * applying each of the tiered rates on usage. This repeated list is sorted + * by ascending order of start_usage_amount. + */ + tieredRates?: Schema$TierRate[]; + /** + * The short hand for unit of usage this pricing is specified in. Example: + * usage_unit of "GiBy" means that usage is specified in + * "Gibi Byte". + */ + usageUnit?: string; + /** + * The unit of usage in human readable form. Example: "gibi byte". + */ + usageUnitDescription?: string; + } + /** + * Represents the pricing information for a SKU at a single point of time. + */ + interface Schema$PricingInfo { + /** + * Aggregation Info. This can be left unspecified if the pricing expression + * doesn't require aggregation. + */ + aggregationInfo?: Schema$AggregationInfo; + /** + * Conversion rate used for currency conversion, from USD to the currency + * specified in the request. This includes any surcharge collected for + * billing in non USD currency. If a currency is not specified in the + * request this defaults to 1.0. Example: USD * currency_conversion_rate = + * JPY + */ + currencyConversionRate?: number; + /** + * The timestamp from which this pricing was effective within the requested + * time range. This is guaranteed to be greater than or equal to the + * start_time field in the request and less than the end_time field in the + * request. If a time range was not specified in the request this field will + * be equivalent to a time within the last 12 hours, indicating the latest + * pricing info. + */ + effectiveTime?: string; + /** + * Expresses the pricing formula. See `PricingExpression` for an example. + */ + pricingExpression?: Schema$PricingExpression; + /** + * An optional human readable summary of the pricing information, has a + * maximum length of 256 characters. + */ + summary?: string; + } + /** + * Encapsulation of billing information for a GCP Console project. A project + * has at most one associated billing account at a time (but a billing account + * can be assigned to multiple projects). + */ + interface Schema$ProjectBillingInfo { + /** + * The resource name of the billing account associated with the project, if + * any. For example, `billingAccounts/012345-567890-ABCDEF`. + */ + billingAccountName?: string; + /** + * True if the project is associated with an open billing account, to which + * usage on the project is charged. False if the project is associated with + * a closed billing account, or no billing account at all, and therefore + * cannot use paid services. This field is read-only. + */ + billingEnabled?: boolean; + /** + * The resource name for the `ProjectBillingInfo`; has the form + * `projects/{project_id}/billingInfo`. For example, the resource name for + * the billing information for project `tokyo-rain-123` would be + * `projects/tokyo-rain-123/billingInfo`. This field is read-only. + */ + name?: string; + /** + * The ID of the project that this `ProjectBillingInfo` represents, such as + * `tokyo-rain-123`. This is a convenience field so that you don't need + * to parse the `name` field to obtain a project ID. This field is + * read-only. + */ + projectId?: string; + } + /** + * Encapsulates a single service in Google Cloud Platform. + */ + interface Schema$Service { + /** + * A human readable display name for this service. + */ + displayName?: string; + /** + * The resource name for the service. Example: + * "services/DA34-426B-A397" + */ + name?: string; + /** + * The identifier for the service. Example: "DA34-426B-A397" + */ + serviceId?: string; + } + /** + * Request message for `SetIamPolicy` method. + */ + interface Schema$SetIamPolicyRequest { + /** + * REQUIRED: The complete policy to be applied to the `resource`. The size + * of the policy is limited to a few 10s of KB. An empty policy is a valid + * policy but certain Cloud Platform services (such as Projects) might + * reject them. + */ + policy?: Schema$Policy; + /** + * OPTIONAL: A FieldMask specifying which fields of the policy to modify. + * Only the fields in the mask will be modified. If no mask is provided, the + * following default mask is used: paths: "bindings, etag" This + * field is only used by Cloud IAM. + */ + updateMask?: string; + } + /** + * Encapsulates a single SKU in Google Cloud Platform + */ + interface Schema$Sku { + /** + * The category hierarchy of this SKU, purely for organizational purpose. + */ + category?: Schema$Category; + /** + * A human readable description of the SKU, has a maximum length of 256 + * characters. + */ + description?: string; + /** + * The resource name for the SKU. Example: + * "services/DA34-426B-A397/skus/AA95-CD31-42FE" + */ + name?: string; + /** + * A timeline of pricing info for this SKU in chronological order. + */ + pricingInfo?: Schema$PricingInfo[]; + /** + * Identifies the service provider. This is 'Google' for first party + * services in Google Cloud Platform. + */ + serviceProviderName?: string; + /** + * List of service regions this SKU is offered at. Example: + * "asia-east1" Service regions can be found at + * https://cloud.google.com/about/locations/ + */ + serviceRegions?: string[]; + /** + * The identifier for the SKU. Example: "AA95-CD31-42FE" + */ + skuId?: string; + } + /** + * Request message for `TestIamPermissions` method. + */ + interface Schema$TestIamPermissionsRequest { + /** + * The set of permissions to check for the `resource`. Permissions with + * wildcards (such as '*' or 'storage.*') are not allowed. + * For more information see [IAM + * Overview](https://cloud.google.com/iam/docs/overview#permissions). + */ + permissions?: string[]; + } + /** + * Response message for `TestIamPermissions` method. + */ + interface Schema$TestIamPermissionsResponse { + /** + * A subset of `TestPermissionsRequest.permissions` that the caller is + * allowed. + */ + permissions?: string[]; + } + /** + * The price rate indicating starting usage and its corresponding price. + */ + interface Schema$TierRate { + /** + * Usage is priced at this rate only after this amount. Example: + * start_usage_amount of 10 indicates that the usage will be priced at the + * unit_price after the first 10 usage_units. + */ + startUsageAmount?: number; + /** + * The price per unit of usage. Example: unit_price of amount $10 indicates + * that each unit will cost $10. + */ + unitPrice?: Schema$Money; + } + class Resource$Billingaccounts { + root: Cloudbilling; + projects: Resource$Billingaccounts$Projects; + constructor(root: Cloudbilling); + getRoot(): Cloudbilling; + /** + * cloudbilling.billingAccounts.create + * @desc Creates a billing account. This method can only be used to create + * [billing subaccounts](https://cloud.google.com/billing/docs/concepts) by + * GCP resellers. When creating a subaccount, the current authenticated user + * must have the `billing.accounts.update` IAM permission on the master + * account, which is typically given to billing account + * [administrators](https://cloud.google.com/billing/docs/how-to/billing-access). + * This method will return an error if the master account has not been + * provisioned as a reseller account. + * @alias cloudbilling.billingAccounts.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().BillingAccount} 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 + */ + create(params?: Params$Resource$Billingaccounts$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Billingaccounts$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Billingaccounts$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * cloudbilling.billingAccounts.get + * @desc Gets information about a billing account. The current authenticated + * user must be a [viewer of the billing + * account](https://cloud.google.com/billing/docs/how-to/billing-access). + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Billing API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudbilling + * // 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 cloudbilling = google.cloudbilling('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The resource name of the billing account to retrieve. For example, + * // `billingAccounts/012345-567890-ABCDEF`. + * name: 'billingAccounts/my-billing-account', // TODO: Update + * placeholder value. + * + * auth: authClient, + * }; + * + * cloudbilling.billingAccounts.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 cloudbilling.billingAccounts.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name of the billing account to retrieve. For example, `billingAccounts/012345-567890-ABCDEF`. + * @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?: Params$Resource$Billingaccounts$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Billingaccounts$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Billingaccounts$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * cloudbilling.billingAccounts.getIamPolicy + * @desc Gets the access control policy for a billing account. The caller + * must have the `billing.accounts.getIamPolicy` permission on the account, + * which is often given to billing account + * [viewers](https://cloud.google.com/billing/docs/how-to/billing-access). + * @alias cloudbilling.billingAccounts.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. + * @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 + */ + getIamPolicy(params?: Params$Resource$Billingaccounts$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Billingaccounts$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Billingaccounts$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * cloudbilling.billingAccounts.list + * @desc Lists the billing accounts that the current authenticated user has + * permission to + * [view](https://cloud.google.com/billing/docs/how-to/billing-access). + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Billing API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudbilling + * // 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 cloudbilling = google.cloudbilling('v1'); + * + * authorize(function(authClient) { + * var request = { + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var billingAccountsPage = response['billingAccounts']; + * if (!billingAccountsPage) { + * return; + * } + * for (var i = 0; i < billingAccountsPage.length; i++) { + * // TODO: Change code below to process each resource in + * `billingAccountsPage`: console.log(JSON.stringify(billingAccountsPage[i], + * null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * cloudbilling.billingAccounts.list(request, handlePage); + * } + * }; + * + * cloudbilling.billingAccounts.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 cloudbilling.billingAccounts.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter Options for how to filter the returned billing accounts. Currently this only supports filtering for [subaccounts](https://cloud.google.com/billing/docs/concepts) under a single provided reseller billing account. (e.g. "master_billing_account=billingAccounts/012345-678901-ABCDEF"). Boolean algebra and other fields are not currently supported. + * @param {integer=} params.pageSize Requested page size. The maximum page size is 100; this is also the default. + * @param {string=} params.pageToken A token identifying a page of results to return. This should be a `next_page_token` value returned from a previous `ListBillingAccounts` call. If unspecified, the first page of results is returned. + * @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?: Params$Resource$Billingaccounts$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Billingaccounts$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Billingaccounts$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * cloudbilling.billingAccounts.patch + * @desc Updates a billing account's fields. Currently the only field that + * can be edited is `display_name`. The current authenticated user must have + * the `billing.accounts.update` IAM permission, which is typically given to + * the + * [administrator](https://cloud.google.com/billing/docs/how-to/billing-access) + * of the billing account. + * @alias cloudbilling.billingAccounts.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the billing account resource to be updated. + * @param {string=} params.updateMask The update mask applied to the resource. Only "display_name" is currently supported. + * @param {().BillingAccount} 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 + */ + patch(params?: Params$Resource$Billingaccounts$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Billingaccounts$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Billingaccounts$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * cloudbilling.billingAccounts.setIamPolicy + * @desc Sets the access control policy for a billing account. Replaces any + * existing policy. The caller must have the `billing.accounts.setIamPolicy` + * permission on the account, which is often given to billing account + * [administrators](https://cloud.google.com/billing/docs/how-to/billing-access). + * @alias cloudbilling.billingAccounts.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. + * @param {().SetIamPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Billingaccounts$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Billingaccounts$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Billingaccounts$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * cloudbilling.billingAccounts.testIamPermissions + * @desc Tests the access control policy for a billing account. This method + * takes the resource and a set of permissions as input and returns the + * subset of the input permissions that the caller is allowed for that + * resource. + * @alias cloudbilling.billingAccounts.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. + * @param {().TestIamPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Billingaccounts$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Billingaccounts$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Billingaccounts$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Billingaccounts$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$BillingAccount; + } + interface Params$Resource$Billingaccounts$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the billing account to retrieve. For example, + * `billingAccounts/012345-567890-ABCDEF`. + */ + name?: string; + } + interface Params$Resource$Billingaccounts$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being requested. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + } + interface Params$Resource$Billingaccounts$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Options for how to filter the returned billing accounts. Currently this + * only supports filtering for + * [subaccounts](https://cloud.google.com/billing/docs/concepts) under a + * single provided reseller billing account. (e.g. + * "master_billing_account=billingAccounts/012345-678901-ABCDEF"). Boolean + * algebra and other fields are not currently supported. + */ + filter?: string; + /** + * Requested page size. The maximum page size is 100; this is also the + * default. + */ + pageSize?: number; + /** + * A token identifying a page of results to return. This should be a + * `next_page_token` value returned from a previous `ListBillingAccounts` + * call. If unspecified, the first page of results is returned. + */ + pageToken?: string; + } + interface Params$Resource$Billingaccounts$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the billing account resource to be updated. + */ + name?: string; + /** + * The update mask applied to the resource. Only "display_name" is currently + * supported. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BillingAccount; + } + interface Params$Resource$Billingaccounts$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being specified. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetIamPolicyRequest; + } + interface Params$Resource$Billingaccounts$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestIamPermissionsRequest; + } + class Resource$Billingaccounts$Projects { + root: Cloudbilling; + constructor(root: Cloudbilling); + getRoot(): Cloudbilling; + /** + * cloudbilling.billingAccounts.projects.list + * @desc Lists the projects associated with a billing account. The current + * authenticated user must have the `billing.resourceAssociations.list` IAM + * permission, which is often given to billing account + * [viewers](https://cloud.google.com/billing/docs/how-to/billing-access). + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Billing API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudbilling + * // 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 cloudbilling = google.cloudbilling('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The resource name of the billing account associated with the + * projects that + * // you want to list. For example, + * `billingAccounts/012345-567890-ABCDEF`. name: + * 'billingAccounts/my-billing-account', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var projectBillingInfoPage = response['projectBillingInfo']; + * if (!projectBillingInfoPage) { + * return; + * } + * for (var i = 0; i < projectBillingInfoPage.length; i++) { + * // TODO: Change code below to process each resource in + * `projectBillingInfoPage`: + * console.log(JSON.stringify(projectBillingInfoPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * cloudbilling.billingAccounts.projects.list(request, handlePage); + * } + * }; + * + * cloudbilling.billingAccounts.projects.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 cloudbilling.billingAccounts.projects.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name of the billing account associated with the projects that you want to list. For example, `billingAccounts/012345-567890-ABCDEF`. + * @param {integer=} params.pageSize Requested page size. The maximum page size is 100; this is also the default. + * @param {string=} params.pageToken A token identifying a page of results to be returned. This should be a `next_page_token` value returned from a previous `ListProjectBillingInfo` call. If unspecified, the first page of results is returned. + * @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?: Params$Resource$Billingaccounts$Projects$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Billingaccounts$Projects$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Billingaccounts$Projects$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Billingaccounts$Projects$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the billing account associated with the projects + * that you want to list. For example, + * `billingAccounts/012345-567890-ABCDEF`. + */ + name?: string; + /** + * Requested page size. The maximum page size is 100; this is also the + * default. + */ + pageSize?: number; + /** + * A token identifying a page of results to be returned. This should be a + * `next_page_token` value returned from a previous `ListProjectBillingInfo` + * call. If unspecified, the first page of results is returned. + */ + pageToken?: string; + } + class Resource$Projects { + root: Cloudbilling; + constructor(root: Cloudbilling); + getRoot(): Cloudbilling; + /** + * cloudbilling.projects.getBillingInfo + * @desc Gets the billing information for a project. The current + * authenticated user must have [permission to view the + * project](https://cloud.google.com/docs/permissions-overview#h.bgs0oxofvnoo + * ). + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Billing API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudbilling + * // 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 cloudbilling = google.cloudbilling('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The resource name of the project for which billing information is + * // retrieved. For example, `projects/tokyo-rain-123`. + * name: 'projects/my-project', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * cloudbilling.projects.getBillingInfo(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 cloudbilling.projects.getBillingInfo + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name of the project for which billing information is retrieved. For example, `projects/tokyo-rain-123`. + * @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 + */ + getBillingInfo(params?: Params$Resource$Projects$Getbillinginfo, options?: MethodOptions): AxiosPromise; + getBillingInfo(params: Params$Resource$Projects$Getbillinginfo, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getBillingInfo(params: Params$Resource$Projects$Getbillinginfo, callback: BodyResponseCallback): void; + getBillingInfo(callback: BodyResponseCallback): void; + /** + * cloudbilling.projects.updateBillingInfo + * @desc Sets or updates the billing account associated with a project. You + * specify the new billing account by setting the `billing_account_name` in + * the `ProjectBillingInfo` resource to the resource name of a billing + * account. Associating a project with an open billing account enables + * billing on the project and allows charges for resource usage. If the + * project already had a billing account, this method changes the billing + * account used for resource usage charges. *Note:* Incurred charges that + * have not yet been reported in the transaction history of the GCP Console + * might be billed to the new billing account, even if the charge occurred + * before the new billing account was assigned to the project. The current + * authenticated user must have ownership privileges for both the + * [project](https://cloud.google.com/docs/permissions-overview#h.bgs0oxofvnoo + * ) and the [billing + * account](https://cloud.google.com/billing/docs/how-to/billing-access). + * You can disable billing on the project by setting the + * `billing_account_name` field to empty. This action disassociates the + * current billing account from the project. Any billable activity of your + * in-use services will stop, and your application could stop functioning as + * expected. Any unbilled charges to date will be billed to the previously + * associated account. The current authenticated user must be either an + * owner of the project or an owner of the billing account for the project. + * Note that associating a project with a *closed* billing account will have + * much the same effect as disabling billing on the project: any paid + * resources used by the project will be shut down. Thus, unless you wish to + * disable billing, you should always call this method with the name of an + * *open* billing account. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Billing API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudbilling + * // 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 cloudbilling = google.cloudbilling('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The resource name of the project associated with the billing + * information + * // that you want to update. For example, `projects/tokyo-rain-123`. + * name: 'projects/my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * cloudbilling.projects.updateBillingInfo(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 cloudbilling.projects.updateBillingInfo + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name of the project associated with the billing information that you want to update. For example, `projects/tokyo-rain-123`. + * @param {().ProjectBillingInfo} 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 + */ + updateBillingInfo(params?: Params$Resource$Projects$Updatebillinginfo, options?: MethodOptions): AxiosPromise; + updateBillingInfo(params: Params$Resource$Projects$Updatebillinginfo, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + updateBillingInfo(params: Params$Resource$Projects$Updatebillinginfo, callback: BodyResponseCallback): void; + updateBillingInfo(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Getbillinginfo { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the project for which billing information is + * retrieved. For example, `projects/tokyo-rain-123`. + */ + name?: string; + } + interface Params$Resource$Projects$Updatebillinginfo { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the project associated with the billing information + * that you want to update. For example, `projects/tokyo-rain-123`. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ProjectBillingInfo; + } + class Resource$Services { + root: Cloudbilling; + skus: Resource$Services$Skus; + constructor(root: Cloudbilling); + getRoot(): Cloudbilling; + /** + * cloudbilling.services.list + * @desc Lists all public cloud services. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Billing API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudbilling + * // 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 cloudbilling = google.cloudbilling('v1'); + * + * authorize(function(authClient) { + * var request = { + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var servicesPage = response['services']; + * if (!servicesPage) { + * return; + * } + * for (var i = 0; i < servicesPage.length; i++) { + * // TODO: Change code below to process each resource in + * `servicesPage`: console.log(JSON.stringify(servicesPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * cloudbilling.services.list(request, handlePage); + * } + * }; + * + * cloudbilling.services.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 cloudbilling.services.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Requested page size. Defaults to 5000. + * @param {string=} params.pageToken A token identifying a page of results to return. This should be a `next_page_token` value returned from a previous `ListServices` call. If unspecified, the first page of results is returned. + * @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?: Params$Resource$Services$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Services$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Services$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Services$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Requested page size. Defaults to 5000. + */ + pageSize?: number; + /** + * A token identifying a page of results to return. This should be a + * `next_page_token` value returned from a previous `ListServices` call. If + * unspecified, the first page of results is returned. + */ + pageToken?: string; + } + class Resource$Services$Skus { + root: Cloudbilling; + constructor(root: Cloudbilling); + getRoot(): Cloudbilling; + /** + * cloudbilling.services.skus.list + * @desc Lists all publicly available SKUs for a given cloud service. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Billing API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudbilling + * // 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 cloudbilling = google.cloudbilling('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The name of the service. + * // Example: "services/DA34-426B-A397" + * parent: 'services/my-service', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var skusPage = response['skus']; + * if (!skusPage) { + * return; + * } + * for (var i = 0; i < skusPage.length; i++) { + * // TODO: Change code below to process each resource in `skusPage`: + * console.log(JSON.stringify(skusPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * cloudbilling.services.skus.list(request, handlePage); + * } + * }; + * + * cloudbilling.services.skus.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 cloudbilling.services.skus.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.currencyCode The ISO 4217 currency code for the pricing info in the response proto. Will use the conversion rate as of start_time. Optional. If not specified USD will be used. + * @param {string=} params.endTime Optional exclusive end time of the time range for which the pricing versions will be returned. Timestamps in the future are not allowed. The time range has to be within a single calendar month in America/Los_Angeles timezone. Time range as a whole is optional. If not specified, the latest pricing will be returned (up to 12 hours old at most). + * @param {integer=} params.pageSize Requested page size. Defaults to 5000. + * @param {string=} params.pageToken A token identifying a page of results to return. This should be a `next_page_token` value returned from a previous `ListSkus` call. If unspecified, the first page of results is returned. + * @param {string} params.parent The name of the service. Example: "services/DA34-426B-A397" + * @param {string=} params.startTime Optional inclusive start time of the time range for which the pricing versions will be returned. Timestamps in the future are not allowed. The time range has to be within a single calendar month in America/Los_Angeles timezone. Time range as a whole is optional. If not specified, the latest pricing will be returned (up to 12 hours old at most). + * @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?: Params$Resource$Services$Skus$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Services$Skus$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Services$Skus$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Services$Skus$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ISO 4217 currency code for the pricing info in the response proto. + * Will use the conversion rate as of start_time. Optional. If not specified + * USD will be used. + */ + currencyCode?: string; + /** + * Optional exclusive end time of the time range for which the pricing + * versions will be returned. Timestamps in the future are not allowed. The + * time range has to be within a single calendar month in + * America/Los_Angeles timezone. Time range as a whole is optional. If not + * specified, the latest pricing will be returned (up to 12 hours old at + * most). + */ + endTime?: string; + /** + * Requested page size. Defaults to 5000. + */ + pageSize?: number; + /** + * A token identifying a page of results to return. This should be a + * `next_page_token` value returned from a previous `ListSkus` call. If + * unspecified, the first page of results is returned. + */ + pageToken?: string; + /** + * The name of the service. Example: "services/DA34-426B-A397" + */ + parent?: string; + /** + * Optional inclusive start time of the time range for which the pricing + * versions will be returned. Timestamps in the future are not allowed. The + * time range has to be within a single calendar month in + * America/Los_Angeles timezone. Time range as a whole is optional. If not + * specified, the latest pricing will be returned (up to 12 hours old at + * most). + */ + startTime?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudbilling/v1.js b/express-server/node_modules/googleapis/build/src/apis/cloudbilling/v1.js new file mode 100644 index 00000000..e333832e --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudbilling/v1.js @@ -0,0 +1,479 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var cloudbilling_v1; +(function (cloudbilling_v1) { + /** + * Cloud Billing API + * + * Allows developers to manage billing for their Google Cloud Platform + * projects programmatically. + * + * @example + * const {google} = require('googleapis'); + * const cloudbilling = google.cloudbilling('v1'); + * + * @namespace cloudbilling + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Cloudbilling + */ + class Cloudbilling { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.billingAccounts = new Resource$Billingaccounts(this); + this.projects = new Resource$Projects(this); + this.services = new Resource$Services(this); + } + getRoot() { + return this.root; + } + } + cloudbilling_v1.Cloudbilling = Cloudbilling; + class Resource$Billingaccounts { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.projects = new Resource$Billingaccounts$Projects(root); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudbilling.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/billingAccounts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudbilling.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudbilling.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudbilling.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/billingAccounts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudbilling.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudbilling.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudbilling.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + cloudbilling_v1.Resource$Billingaccounts = Resource$Billingaccounts; + class Resource$Billingaccounts$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudbilling.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}/projects') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + cloudbilling_v1.Resource$Billingaccounts$Projects = Resource$Billingaccounts$Projects; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + getBillingInfo(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudbilling.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}/billingInfo') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + updateBillingInfo(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudbilling.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}/billingInfo') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + cloudbilling_v1.Resource$Projects = Resource$Projects; + class Resource$Services { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.skus = new Resource$Services$Skus(root); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudbilling.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/services').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + cloudbilling_v1.Resource$Services = Resource$Services; + class Resource$Services$Skus { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudbilling.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/skus') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + cloudbilling_v1.Resource$Services$Skus = Resource$Services$Skus; +})(cloudbilling_v1 = exports.cloudbilling_v1 || (exports.cloudbilling_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudbilling/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/cloudbilling/v1.js.map new file mode 100644 index 00000000..0322e64a --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudbilling/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/cloudbilling/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudbuild/README.md b/express-server/node_modules/googleapis/build/src/apis/cloudbuild/README.md new file mode 100644 index 00000000..47a0213b --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudbuild/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/cloudbuild + +> Creates and manages builds on Google Cloud Platform. + +## Installation + +```sh +$ npm install @google/cloudbuild +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudbuild/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/cloudbuild/index.d.ts new file mode 100644 index 00000000..e934d7a6 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudbuild/index.d.ts @@ -0,0 +1,6 @@ +import { cloudbuild_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof cloudbuild_v1.Cloudbuild; +}; +export declare function cloudbuild(version: 'v1'): cloudbuild_v1.Cloudbuild; +export declare function cloudbuild(options: cloudbuild_v1.Options): cloudbuild_v1.Cloudbuild; diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudbuild/index.js b/express-server/node_modules/googleapis/build/src/apis/cloudbuild/index.js new file mode 100644 index 00000000..2b72dfa7 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudbuild/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.cloudbuild_v1.Cloudbuild, +}; +function cloudbuild(versionOrOptions) { + return googleapis_common_1.getAPI('cloudbuild', versionOrOptions, exports.VERSIONS, this); +} +exports.cloudbuild = cloudbuild; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudbuild/index.js.map b/express-server/node_modules/googleapis/build/src/apis/cloudbuild/index.js.map new file mode 100644 index 00000000..e9a7e61c --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudbuild/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/cloudbuild/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAmC;AAEtB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,kBAAa,CAAC,UAAU;CAC/B,CAAC;AAKF,SAAgB,UAAU,CACI,gBAA4C;IACxE,OAAO,0BAAM,CAAI,YAAY,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACnE,CAAC;AAHD,gCAGC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudbuild/package.json b/express-server/node_modules/googleapis/build/src/apis/cloudbuild/package.json new file mode 100644 index 00000000..65e30b41 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudbuild/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/cloudbuild", + "version": "0.1.0", + "description": "cloudbuild", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudbuild/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/cloudbuild/v1.d.ts new file mode 100644 index 00000000..7e64a70a --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudbuild/v1.d.ts @@ -0,0 +1,1330 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace cloudbuild_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Cloud Build API + * + * Creates and manages builds on Google Cloud Platform. + * + * @example + * const {google} = require('googleapis'); + * const cloudbuild = google.cloudbuild('v1'); + * + * @namespace cloudbuild + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Cloudbuild + */ + class Cloudbuild { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + operations: Resource$Operations; + projects: Resource$Projects; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Files in the workspace to upload to Cloud Storage upon successful + * completion of all build steps. + */ + interface Schema$ArtifactObjects { + /** + * Cloud Storage bucket and optional object path, in the form + * "gs://bucket/path/to/somewhere/". (see [Bucket Name + * Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)). + * Files in the workspace matching any path pattern will be uploaded to + * Cloud Storage with this location as a prefix. + */ + location?: string; + /** + * Path globs used to match files in the build's workspace. + */ + paths?: string[]; + /** + * Output only. Stores timing information for pushing all artifact objects. + */ + timing?: Schema$TimeSpan; + } + /** + * An artifact that was uploaded during a build. This is a single record in + * the artifact manifest JSON file. + */ + interface Schema$ArtifactResult { + /** + * The file hash of the artifact. + */ + fileHash?: Schema$FileHashes[]; + /** + * The path of an artifact in a Google Cloud Storage bucket, with the + * generation number. For example, + * `gs://mybucket/path/to/output.jar#generation`. + */ + location?: string; + } + /** + * Artifacts produced by a build that should be uploaded upon successful + * completion of all build steps. + */ + interface Schema$Artifacts { + /** + * A list of images to be pushed upon the successful completion of all build + * steps. The images will be pushed using the builder service account's + * credentials. The digests of the pushed images will be stored in the + * Build resource's results field. If any of the images fail to be + * pushed, the build is marked FAILURE. + */ + images?: string[]; + /** + * A list of objects to be uploaded to Cloud Storage upon successful + * completion of all build steps. Files in the workspace matching specified + * paths globs will be uploaded to the specified Cloud Storage location + * using the builder service account's credentials. The location and + * generation of the uploaded objects will be stored in the Build + * resource's results field. If any objects fail to be pushed, the + * build is marked FAILURE. + */ + objects?: Schema$ArtifactObjects; + } + /** + * A build resource in the Cloud Build API. At a high level, a `Build` + * describes where to find source code, how to build it (for example, the + * builder image to run on the source), and where to store the built + * artifacts. Fields can include the following variables, which will be + * expanded when the build is created: - $PROJECT_ID: the project ID of the + * build. - $BUILD_ID: the autogenerated ID of the build. - $REPO_NAME: the + * source repository name specified by RepoSource. - $BRANCH_NAME: the branch + * name specified by RepoSource. - $TAG_NAME: the tag name specified by + * RepoSource. - $REVISION_ID or $COMMIT_SHA: the commit SHA specified by + * RepoSource or resolved from the specified branch or tag. - $SHORT_SHA: + * first 7 characters of $REVISION_ID or $COMMIT_SHA. + */ + interface Schema$Build { + /** + * Artifacts produced by the build that should be uploaded upon successful + * completion of all build steps. + */ + artifacts?: Schema$Artifacts; + /** + * Output only. The ID of the `BuildTrigger` that triggered this build, if + * it was triggered automatically. + */ + buildTriggerId?: string; + /** + * Output only. Time at which the request to create the build was received. + */ + createTime?: string; + /** + * Output only. Time at which execution of the build was finished. The + * difference between finish_time and start_time is the duration of the + * build's execution. + */ + finishTime?: string; + /** + * Output only. Unique identifier of the build. + */ + id?: string; + /** + * A list of images to be pushed upon the successful completion of all build + * steps. The images are pushed using the builder service account's + * credentials. The digests of the pushed images will be stored in the + * `Build` resource's results field. If any of the images fail to be + * pushed, the build status is marked `FAILURE`. + */ + images?: string[]; + /** + * Google Cloud Storage bucket where logs should be written (see [Bucket + * Name + * Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)). + * Logs file names will be of the format + * `${logs_bucket}/log-${build_id}.txt`. + */ + logsBucket?: string; + /** + * Output only. URL to logs for this build in Google Cloud Console. + */ + logUrl?: string; + /** + * Special options for this build. + */ + options?: Schema$BuildOptions; + /** + * Output only. ID of the project. + */ + projectId?: string; + /** + * Output only. Results of the build. + */ + results?: Schema$Results; + /** + * Secrets to decrypt using Cloud Key Management Service. + */ + secrets?: Schema$Secret[]; + /** + * The location of the source files to build. + */ + source?: Schema$Source; + /** + * Output only. A permanent fixed identifier for source. + */ + sourceProvenance?: Schema$SourceProvenance; + /** + * Output only. Time at which execution of the build was started. + */ + startTime?: string; + /** + * Output only. Status of the build. + */ + status?: string; + /** + * Output only. Customer-readable message about the current status. + */ + statusDetail?: string; + /** + * Required. The operations to be performed on the workspace. + */ + steps?: Schema$BuildStep[]; + /** + * Substitutions data for `Build` resource. + */ + substitutions?: any; + /** + * Tags for annotation of a `Build`. These are not docker tags. + */ + tags?: string[]; + /** + * Amount of time that this build should be allowed to run, to second + * granularity. If this amount of time elapses, work on the build will cease + * and the build status will be `TIMEOUT`. Default time is ten minutes. + */ + timeout?: string; + /** + * Output only. Stores timing information for phases of the build. Valid + * keys are: * BUILD: time to execute all build steps * PUSH: time to push + * all specified images. * FETCHSOURCE: time to fetch source. If the build + * does not specify source or images, these keys will not be included. + */ + timing?: any; + } + /** + * Metadata for build operations. + */ + interface Schema$BuildOperationMetadata { + /** + * The build that the operation is tracking. + */ + build?: Schema$Build; + } + /** + * Optional arguments to enable specific features of builds. + */ + interface Schema$BuildOptions { + /** + * Requested disk size for the VM that runs the build. Note that this is + * *NOT* "disk free"; some of the space will be used by the + * operating system and build utilities. Also note that this is the minimum + * disk size that will be allocated for the build -- the build may run with + * a larger disk than requested. At present, the maximum disk size is + * 1000GB; builds that request more than the maximum are rejected with an + * error. + */ + diskSizeGb?: string; + /** + * Option to specify the logging mode, which determines where the logs are + * stored. + */ + logging?: string; + /** + * Option to define build log streaming behavior to Google Cloud Storage. + */ + logStreamingOption?: string; + /** + * Compute Engine machine type on which to run the build. + */ + machineType?: string; + /** + * Requested verifiability options. + */ + requestedVerifyOption?: string; + /** + * Requested hash for SourceProvenance. + */ + sourceProvenanceHash?: string[]; + /** + * Option to specify behavior when there is an error in the substitution + * checks. + */ + substitutionOption?: string; + } + /** + * A step in the build pipeline. + */ + interface Schema$BuildStep { + /** + * A list of arguments that will be presented to the step when it is + * started. If the image used to run the step's container has an + * entrypoint, the `args` are used as arguments to that entrypoint. If the + * image does not define an entrypoint, the first element in args is used as + * the entrypoint, and the remainder will be used as arguments. + */ + args?: string[]; + /** + * Working directory to use when running this step's container. If this + * value is a relative path, it is relative to the build's working + * directory. If this value is absolute, it may be outside the build's + * working directory, in which case the contents of the path may not be + * persisted across build step executions, unless a `volume` for that path + * is specified. If the build specifies a `RepoSource` with `dir` and a + * step with a `dir`, which specifies an absolute path, the `RepoSource` + * `dir` is ignored for the step's execution. + */ + dir?: string; + /** + * Entrypoint to be used instead of the build step image's default + * entrypoint. If unset, the image's default entrypoint is used. + */ + entrypoint?: string; + /** + * A list of environment variable definitions to be used when running a + * step. The elements are of the form "KEY=VALUE" for the + * environment variable "KEY" being given the value + * "VALUE". + */ + env?: string[]; + /** + * Unique identifier for this build step, used in `wait_for` to reference + * this build step as a dependency. + */ + id?: string; + /** + * Required. The name of the container image that will run this particular + * build step. If the image is available in the host's Docker + * daemon's cache, it will be run directly. If not, the host will + * attempt to pull the image first, using the builder service account's + * credentials if necessary. The Docker daemon's cache will already + * have the latest versions of all of the officially supported build steps + * ([https://github.com/GoogleCloudPlatform/cloud-builders](https://github.com/GoogleCloudPlatform/cloud-builders)). + * The Docker daemon will also have cached many of the layers for some + * popular images, like "ubuntu", "debian", but they + * will be refreshed at the time you attempt to use them. If you built an + * image in a previous build step, it will be stored in the host's + * Docker daemon's cache and is available to use as the name for a later + * build step. + */ + name?: string; + /** + * A list of environment variables which are encrypted using a Cloud Key + * Management Service crypto key. These values must be specified in the + * build's `Secret`. + */ + secretEnv?: string[]; + /** + * Output only. Status of the build step. At this time, build step status is + * only updated on build completion; step status is not updated in real-time + * as the build progresses. + */ + status?: string; + /** + * Time limit for executing this build step. If not defined, the step has no + * time limit and will be allowed to continue to run until either it + * completes or the build itself times out. + */ + timeout?: string; + /** + * Output only. Stores timing information for executing this build step. + */ + timing?: Schema$TimeSpan; + /** + * List of volumes to mount into the build step. Each volume will be + * created as an empty volume prior to execution of the build step. Upon + * completion of the build, volumes and their contents will be discarded. + * Using a named volume in only one step is not valid as it is indicative of + * a mis-configured build request. + */ + volumes?: Schema$Volume[]; + /** + * The ID(s) of the step(s) that this build step depends on. This build step + * will not start until all the build steps in `wait_for` have completed + * successfully. If `wait_for` is empty, this build step will start when all + * previous build steps in the `Build.Steps` list have completed + * successfully. + */ + waitFor?: string[]; + } + /** + * Configuration for an automated build in response to source repository + * changes. + */ + interface Schema$BuildTrigger { + /** + * Contents of the build template. + */ + build?: Schema$Build; + /** + * Output only. Time when the trigger was created. + */ + createTime?: string; + /** + * Human-readable description of this trigger. + */ + description?: string; + /** + * If true, the trigger will never result in a build. + */ + disabled?: boolean; + /** + * Path, from the source root, to a file whose contents is used for the + * template. + */ + filename?: string; + /** + * Output only. Unique identifier of the trigger. + */ + id?: string; + /** + * ignored_files and included_files are file glob matches using + * http://godoc/pkg/path/filepath#Match extended with support for + * "**". If ignored_files and changed files are both empty, then + * they are not used to determine whether or not to trigger a build. If + * ignored_files is not empty, then we ignore any files that match any of + * the ignored_file globs. If the change has no files that are outside of + * the ignored_files globs, then we do not trigger a build. + */ + ignoredFiles?: string[]; + /** + * If any of the files altered in the commit pass the ignored_files filter + * and included_files is empty, then as far as this filter is concerned, we + * should trigger the build. If any of the files altered in the commit pass + * the ignored_files filter and included_files is not empty, then we make + * sure that at least one of those files matches a included_files glob. If + * not, then we do not trigger a build. + */ + includedFiles?: string[]; + /** + * Substitutions data for Build resource. + */ + substitutions?: any; + /** + * Template describing the types of source changes to trigger a build. + * Branch and tag names in trigger templates are interpreted as regular + * expressions. Any branch or tag change that matches that regular + * expression will trigger a build. + */ + triggerTemplate?: Schema$RepoSource; + } + /** + * An image built by the pipeline. + */ + interface Schema$BuiltImage { + /** + * Docker Registry 2.0 digest. + */ + digest?: string; + /** + * Name used to push the container image to Google Container Registry, as + * presented to `docker push`. + */ + name?: string; + /** + * Output only. Stores timing information for pushing the specified image. + */ + pushTiming?: Schema$TimeSpan; + } + /** + * Request to cancel an ongoing build. + */ + interface Schema$CancelBuildRequest { + } + /** + * The request message for Operations.CancelOperation. + */ + interface Schema$CancelOperationRequest { + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * Container message for hashes of byte content of files, used in + * SourceProvenance messages to verify integrity of source input to the build. + */ + interface Schema$FileHashes { + /** + * Collection of file hashes. + */ + fileHash?: Schema$Hash[]; + } + /** + * Container message for hash values. + */ + interface Schema$Hash { + /** + * The type of hash that was performed. + */ + type?: string; + /** + * The hash value. + */ + value?: string; + } + /** + * Response including listed builds. + */ + interface Schema$ListBuildsResponse { + /** + * Builds will be sorted by `create_time`, descending. + */ + builds?: Schema$Build[]; + /** + * Token to receive the next page of results. + */ + nextPageToken?: string; + } + /** + * Response containing existing `BuildTriggers`. + */ + interface Schema$ListBuildTriggersResponse { + /** + * `BuildTriggers` for the project, sorted by `create_time` descending. + */ + triggers?: Schema$BuildTrigger[]; + } + /** + * The response message for Operations.ListOperations. + */ + interface Schema$ListOperationsResponse { + /** + * The standard List next-page token. + */ + nextPageToken?: string; + /** + * A list of operations that matches the specified filter in the request. + */ + operations?: Schema$Operation[]; + } + /** + * This resource represents a long-running operation that is the result of a + * network API call. + */ + interface Schema$Operation { + /** + * If the value is `false`, it means the operation is still in progress. If + * `true`, the operation is completed, and either `error` or `response` is + * available. + */ + done?: boolean; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * Service-specific metadata associated with the operation. It typically + * contains progress information and common metadata such as create time. + * Some services might not provide such metadata. Any method that returns a + * long-running operation should document the metadata type, if any. + */ + metadata?: any; + /** + * The server-assigned name, which is only unique within the same service + * that originally returns it. If you use the default HTTP mapping, the + * `name` should have the format of `operations/some/unique/name`. + */ + name?: string; + /** + * The normal response of the operation in case of success. If the original + * method returns no data on success, such as `Delete`, the response is + * `google.protobuf.Empty`. If the original method is standard + * `Get`/`Create`/`Update`, the response should be the resource. For other + * methods, the response should have the type `XxxResponse`, where `Xxx` is + * the original method name. For example, if the original method name is + * `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: any; + } + /** + * Location of the source in a Google Cloud Source Repository. + */ + interface Schema$RepoSource { + /** + * Name of the branch to build. + */ + branchName?: string; + /** + * Explicit commit SHA to build. + */ + commitSha?: string; + /** + * Directory, relative to the source root, in which to run the build. This + * must be a relative path. If a step's `dir` is specified and is an + * absolute path, this value is ignored for that step's execution. + */ + dir?: string; + /** + * ID of the project that owns the Cloud Source Repository. If omitted, the + * project ID requesting the build is assumed. + */ + projectId?: string; + /** + * Name of the Cloud Source Repository. If omitted, the name + * "default" is assumed. + */ + repoName?: string; + /** + * Name of the tag to build. + */ + tagName?: string; + } + /** + * Artifacts created by the build pipeline. + */ + interface Schema$Results { + /** + * Path to the artifact manifest. Only populated when artifacts are + * uploaded. + */ + artifactManifest?: string; + /** + * List of build step digests, in the order corresponding to build step + * indices. + */ + buildStepImages?: string[]; + /** + * List of build step outputs, produced by builder images, in the order + * corresponding to build step indices. [Cloud + * Builders](https://cloud.google.com/cloud-build/docs/cloud-builders) can + * produce this output by writing to `$BUILDER_OUTPUT/output`. Only the + * first 4KB of data is stored. + */ + buildStepOutputs?: string[]; + /** + * Container images that were built as a part of the build. + */ + images?: Schema$BuiltImage[]; + /** + * Number of artifacts uploaded. Only populated when artifacts are uploaded. + */ + numArtifacts?: string; + } + /** + * Specifies a build to retry. + */ + interface Schema$RetryBuildRequest { + } + /** + * Pairs a set of secret environment variables containing encrypted values + * with the Cloud KMS key to use to decrypt the value. + */ + interface Schema$Secret { + /** + * Cloud KMS key name to use to decrypt these envs. + */ + kmsKeyName?: string; + /** + * Map of environment variable name to its encrypted value. Secret + * environment variables must be unique across all of a build's secrets, + * and must be used by at least one build step. Values can be at most 1 KB + * in size. There can be at most ten secret values across all of a + * build's secrets. + */ + secretEnv?: any; + } + /** + * Location of the source in a supported storage service. + */ + interface Schema$Source { + /** + * If provided, get the source from this location in a Cloud Source + * Repository. + */ + repoSource?: Schema$RepoSource; + /** + * If provided, get the source from this location in Google Cloud Storage. + */ + storageSource?: Schema$StorageSource; + } + /** + * Provenance of the source. Ways to find the original source, or verify that + * some source was used for this build. + */ + interface Schema$SourceProvenance { + /** + * Output only. Hash(es) of the build source, which can be used to verify + * that the originalsource integrity was maintained in the build. Note that + * `FileHashes` willonly be populated if `BuildOptions` has requested a + * `SourceProvenanceHash`. The keys to this map are file paths used as + * build source and the values contain the hash values for those files. If + * the build source came in a single package such as a gzipped tarfile + * (`.tar.gz`), the `FileHash` will be for the single path to that file. + */ + fileHashes?: any; + /** + * A copy of the build's `source.repo_source`, if exists, with any + * revisions resolved. + */ + resolvedRepoSource?: Schema$RepoSource; + /** + * A copy of the build's `source.storage_source`, if exists, with any + * generations resolved. + */ + resolvedStorageSource?: Schema$StorageSource; + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + /** + * Location of the source in an archive file in Google Cloud Storage. + */ + interface Schema$StorageSource { + /** + * Google Cloud Storage bucket containing the source (see [Bucket Name + * Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)). + */ + bucket?: string; + /** + * Google Cloud Storage generation for the object. If the generation is + * omitted, the latest generation will be used. + */ + generation?: string; + /** + * Google Cloud Storage object containing the source. This object must be a + * gzipped archive file (`.tar.gz`) containing source to build. + */ + object?: string; + } + /** + * Start and end times for a build execution phase. + */ + interface Schema$TimeSpan { + /** + * End of time span. + */ + endTime?: string; + /** + * Start of time span. + */ + startTime?: string; + } + /** + * Volume describes a Docker container volume which is mounted into build + * steps in order to persist files across build step execution. + */ + interface Schema$Volume { + /** + * Name of the volume to mount. Volume names must be unique per build step + * and must be valid names for Docker volumes. Each named volume must be + * used by at least two build steps. + */ + name?: string; + /** + * Path at which to mount the volume. Paths must be absolute and cannot + * conflict with other volume paths on the same build step or with certain + * reserved volume paths. + */ + path?: string; + } + class Resource$Operations { + root: Cloudbuild; + constructor(root: Cloudbuild); + getRoot(): Cloudbuild; + /** + * cloudbuild.operations.cancel + * @desc Starts asynchronous cancellation on a long-running operation. The + * server makes a best effort to cancel the operation, but success is not + * guaranteed. If the server doesn't support this method, it returns + * `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation + * or other methods to check whether the cancellation succeeded or whether + * the operation completed despite cancellation. On successful cancellation, + * the operation is not deleted; instead, it becomes an operation with an + * Operation.error value with a google.rpc.Status.code of 1, corresponding + * to `Code.CANCELLED`. + * @alias cloudbuild.operations.cancel + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource to be cancelled. + * @param {().CancelOperationRequest} 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 + */ + cancel(params?: Params$Resource$Operations$Cancel, options?: MethodOptions): AxiosPromise; + cancel(params: Params$Resource$Operations$Cancel, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + cancel(params: Params$Resource$Operations$Cancel, callback: BodyResponseCallback): void; + cancel(callback: BodyResponseCallback): void; + /** + * cloudbuild.operations.get + * @desc Gets the latest state of a long-running operation. Clients can use + * this method to poll the operation result at intervals as recommended by + * the API service. + * @alias cloudbuild.operations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource. + * @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?: Params$Resource$Operations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Operations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Operations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * cloudbuild.operations.list + * @desc Lists operations that match the specified filter in the request. If + * the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: + * the `name` binding allows API services to override the binding to use + * different resource name schemes, such as `users/x/operations`. To + * override the binding, API services can add a binding such as + * `"/v1/{name=users/x}/operations"` to their service configuration. For + * backwards compatibility, the default name includes the operations + * collection id, however overriding users must ensure the name binding is + * the parent resource, without the operations collection id. + * @alias cloudbuild.operations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter The standard list filter. + * @param {string} params.name The name of the operation's parent resource. + * @param {integer=} params.pageSize The standard list page size. + * @param {string=} params.pageToken The standard list page token. + * @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?: Params$Resource$Operations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Operations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Operations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Operations$Cancel { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource to be cancelled. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CancelOperationRequest; + } + interface Params$Resource$Operations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource. + */ + name?: string; + } + interface Params$Resource$Operations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The standard list filter. + */ + filter?: string; + /** + * The name of the operation's parent resource. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } + class Resource$Projects { + root: Cloudbuild; + builds: Resource$Projects$Builds; + triggers: Resource$Projects$Triggers; + constructor(root: Cloudbuild); + getRoot(): Cloudbuild; + } + class Resource$Projects$Builds { + root: Cloudbuild; + constructor(root: Cloudbuild); + getRoot(): Cloudbuild; + /** + * cloudbuild.projects.builds.cancel + * @desc Cancels a build in progress. + * @alias cloudbuild.projects.builds.cancel + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id ID of the build. + * @param {string} params.projectId ID of the project. + * @param {().CancelBuildRequest} 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 + */ + cancel(params?: Params$Resource$Projects$Builds$Cancel, options?: MethodOptions): AxiosPromise; + cancel(params: Params$Resource$Projects$Builds$Cancel, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + cancel(params: Params$Resource$Projects$Builds$Cancel, callback: BodyResponseCallback): void; + cancel(callback: BodyResponseCallback): void; + /** + * cloudbuild.projects.builds.create + * @desc Starts a build with the specified configuration. This method + * returns a long-running `Operation`, which includes the build ID. Pass the + * build ID to `GetBuild` to determine the build status (such as `SUCCESS` + * or `FAILURE`). + * @alias cloudbuild.projects.builds.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId ID of the project. + * @param {().Build} 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 + */ + create(params?: Params$Resource$Projects$Builds$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Builds$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Builds$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * cloudbuild.projects.builds.get + * @desc Returns information about a previously requested build. The + * `Build` that is returned includes its status (such as `SUCCESS`, + * `FAILURE`, or `WORKING`), and timing information. + * @alias cloudbuild.projects.builds.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id ID of the build. + * @param {string} params.projectId ID of the project. + * @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?: Params$Resource$Projects$Builds$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Builds$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Builds$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * cloudbuild.projects.builds.list + * @desc Lists previously requested builds. Previously requested builds may + * still be in-progress, or may have finished successfully or + * unsuccessfully. + * @alias cloudbuild.projects.builds.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter The raw filter text to constrain the results. + * @param {integer=} params.pageSize Number of results to return in the list. + * @param {string=} params.pageToken Token to provide to skip to a particular spot in the list. + * @param {string} params.projectId ID of the project. + * @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?: Params$Resource$Projects$Builds$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Builds$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Builds$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * cloudbuild.projects.builds.retry + * @desc Creates a new build based on the specified build. This method + * creates a new build using the original build request, which may or may + * not result in an identical build. For triggered builds: * Triggered + * builds resolve to a precise revision; therefore a retry of a triggered + * build will result in a build that uses the same revision. For + * non-triggered builds that specify `RepoSource`: * If the original build + * built from the tip of a branch, the retried build will build from the tip + * of that branch, which may not be the same revision as the original build. + * * If the original build specified a commit sha or revision ID, the + * retried build will use the identical source. For builds that specify + * `StorageSource`: * If the original build pulled source from Google Cloud + * Storage without specifying the generation of the object, the new build + * will use the current object, which may be different from the original + * build source. * If the original build pulled source from Cloud Storage + * and specified the generation of the object, the new build will attempt to + * use the same object, which may or may not be available depending on the + * bucket's lifecycle management settings. + * @alias cloudbuild.projects.builds.retry + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Build ID of the original build. + * @param {string} params.projectId ID of the project. + * @param {().RetryBuildRequest} 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 + */ + retry(params?: Params$Resource$Projects$Builds$Retry, options?: MethodOptions): AxiosPromise; + retry(params: Params$Resource$Projects$Builds$Retry, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + retry(params: Params$Resource$Projects$Builds$Retry, callback: BodyResponseCallback): void; + retry(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Builds$Cancel { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ID of the build. + */ + id?: string; + /** + * ID of the project. + */ + projectId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CancelBuildRequest; + } + interface Params$Resource$Projects$Builds$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ID of the project. + */ + projectId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Build; + } + interface Params$Resource$Projects$Builds$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ID of the build. + */ + id?: string; + /** + * ID of the project. + */ + projectId?: string; + } + interface Params$Resource$Projects$Builds$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The raw filter text to constrain the results. + */ + filter?: string; + /** + * Number of results to return in the list. + */ + pageSize?: number; + /** + * Token to provide to skip to a particular spot in the list. + */ + pageToken?: string; + /** + * ID of the project. + */ + projectId?: string; + } + interface Params$Resource$Projects$Builds$Retry { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Build ID of the original build. + */ + id?: string; + /** + * ID of the project. + */ + projectId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RetryBuildRequest; + } + class Resource$Projects$Triggers { + root: Cloudbuild; + constructor(root: Cloudbuild); + getRoot(): Cloudbuild; + /** + * cloudbuild.projects.triggers.create + * @desc Creates a new `BuildTrigger`. This API is experimental. + * @alias cloudbuild.projects.triggers.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId ID of the project for which to configure automatic builds. + * @param {().BuildTrigger} 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 + */ + create(params?: Params$Resource$Projects$Triggers$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Triggers$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Triggers$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * cloudbuild.projects.triggers.delete + * @desc Deletes a `BuildTrigger` by its project ID and trigger ID. This + * API is experimental. + * @alias cloudbuild.projects.triggers.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId ID of the project that owns the trigger. + * @param {string} params.triggerId ID of the `BuildTrigger` to delete. + * @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?: Params$Resource$Projects$Triggers$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Triggers$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Triggers$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * cloudbuild.projects.triggers.get + * @desc Returns information about a `BuildTrigger`. This API is + * experimental. + * @alias cloudbuild.projects.triggers.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId ID of the project that owns the trigger. + * @param {string} params.triggerId ID of the `BuildTrigger` to get. + * @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?: Params$Resource$Projects$Triggers$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Triggers$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Triggers$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * cloudbuild.projects.triggers.list + * @desc Lists existing `BuildTrigger`s. This API is experimental. + * @alias cloudbuild.projects.triggers.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId ID of the project for which to list BuildTriggers. + * @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?: Params$Resource$Projects$Triggers$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Triggers$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Triggers$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * cloudbuild.projects.triggers.patch + * @desc Updates a `BuildTrigger` by its project ID and trigger ID. This + * API is experimental. + * @alias cloudbuild.projects.triggers.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId ID of the project that owns the trigger. + * @param {string} params.triggerId ID of the `BuildTrigger` to update. + * @param {().BuildTrigger} 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 + */ + patch(params?: Params$Resource$Projects$Triggers$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Triggers$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Triggers$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * cloudbuild.projects.triggers.run + * @desc Runs a `BuildTrigger` at a particular source revision. + * @alias cloudbuild.projects.triggers.run + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId ID of the project. + * @param {string} params.triggerId ID of the trigger. + * @param {().RepoSource} 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 + */ + run(params?: Params$Resource$Projects$Triggers$Run, options?: MethodOptions): AxiosPromise; + run(params: Params$Resource$Projects$Triggers$Run, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + run(params: Params$Resource$Projects$Triggers$Run, callback: BodyResponseCallback): void; + run(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Triggers$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ID of the project for which to configure automatic builds. + */ + projectId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BuildTrigger; + } + interface Params$Resource$Projects$Triggers$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ID of the project that owns the trigger. + */ + projectId?: string; + /** + * ID of the `BuildTrigger` to delete. + */ + triggerId?: string; + } + interface Params$Resource$Projects$Triggers$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ID of the project that owns the trigger. + */ + projectId?: string; + /** + * ID of the `BuildTrigger` to get. + */ + triggerId?: string; + } + interface Params$Resource$Projects$Triggers$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ID of the project for which to list BuildTriggers. + */ + projectId?: string; + } + interface Params$Resource$Projects$Triggers$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ID of the project that owns the trigger. + */ + projectId?: string; + /** + * ID of the `BuildTrigger` to update. + */ + triggerId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BuildTrigger; + } + interface Params$Resource$Projects$Triggers$Run { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ID of the project. + */ + projectId?: string; + /** + * ID of the trigger. + */ + triggerId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RepoSource; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudbuild/v1.js b/express-server/node_modules/googleapis/build/src/apis/cloudbuild/v1.js new file mode 100644 index 00000000..e0449bb1 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudbuild/v1.js @@ -0,0 +1,531 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var cloudbuild_v1; +(function (cloudbuild_v1) { + /** + * Cloud Build API + * + * Creates and manages builds on Google Cloud Platform. + * + * @example + * const {google} = require('googleapis'); + * const cloudbuild = google.cloudbuild('v1'); + * + * @namespace cloudbuild + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Cloudbuild + */ + class Cloudbuild { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.operations = new Resource$Operations(this); + this.projects = new Resource$Projects(this); + } + getRoot() { + return this.root; + } + } + cloudbuild_v1.Cloudbuild = Cloudbuild; + class Resource$Operations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + cancel(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudbuild.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:cancel') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudbuild.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudbuild.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + cloudbuild_v1.Resource$Operations = Resource$Operations; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.builds = new Resource$Projects$Builds(root); + this.triggers = new Resource$Projects$Triggers(root); + } + getRoot() { + return this.root; + } + } + cloudbuild_v1.Resource$Projects = Resource$Projects; + class Resource$Projects$Builds { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + cancel(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudbuild.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/projects/{projectId}/builds/{id}:cancel') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'id'], + pathParams: ['id', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudbuild.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/projects/{projectId}/builds') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId'], + pathParams: ['projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudbuild.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/projects/{projectId}/builds/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId', 'id'], + pathParams: ['id', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudbuild.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/projects/{projectId}/builds') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId'], + pathParams: ['projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + retry(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudbuild.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/projects/{projectId}/builds/{id}:retry') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'id'], + pathParams: ['id', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + cloudbuild_v1.Resource$Projects$Builds = Resource$Projects$Builds; + class Resource$Projects$Triggers { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudbuild.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/projects/{projectId}/triggers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId'], + pathParams: ['projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudbuild.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/projects/{projectId}/triggers/{triggerId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['projectId', 'triggerId'], + pathParams: ['projectId', 'triggerId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudbuild.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/projects/{projectId}/triggers/{triggerId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId', 'triggerId'], + pathParams: ['projectId', 'triggerId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudbuild.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/projects/{projectId}/triggers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId'], + pathParams: ['projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudbuild.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/projects/{projectId}/triggers/{triggerId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['projectId', 'triggerId'], + pathParams: ['projectId', 'triggerId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + run(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudbuild.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/projects/{projectId}/triggers/{triggerId}:run') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'triggerId'], + pathParams: ['projectId', 'triggerId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + cloudbuild_v1.Resource$Projects$Triggers = Resource$Projects$Triggers; +})(cloudbuild_v1 = exports.cloudbuild_v1 || (exports.cloudbuild_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudbuild/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/cloudbuild/v1.js.map new file mode 100644 index 00000000..a9c2f4d6 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudbuild/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/cloudbuild/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/clouddebugger/README.md b/express-server/node_modules/googleapis/build/src/apis/clouddebugger/README.md new file mode 100644 index 00000000..0d4b51ee --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/clouddebugger/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/clouddebugger + +> Examines the call stack and variables of a running application without stopping or slowing it down. + +## Installation + +```sh +$ npm install @google/clouddebugger +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/clouddebugger/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/clouddebugger/index.d.ts new file mode 100644 index 00000000..bd471fe4 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/clouddebugger/index.d.ts @@ -0,0 +1,6 @@ +import { clouddebugger_v2 } from './v2'; +export declare const VERSIONS: { + 'v2': typeof clouddebugger_v2.Clouddebugger; +}; +export declare function clouddebugger(version: 'v2'): clouddebugger_v2.Clouddebugger; +export declare function clouddebugger(options: clouddebugger_v2.Options): clouddebugger_v2.Clouddebugger; diff --git a/express-server/node_modules/googleapis/build/src/apis/clouddebugger/index.js b/express-server/node_modules/googleapis/build/src/apis/clouddebugger/index.js new file mode 100644 index 00000000..9d869e70 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/clouddebugger/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v2_1 = require("./v2"); +exports.VERSIONS = { + 'v2': v2_1.clouddebugger_v2.Clouddebugger, +}; +function clouddebugger(versionOrOptions) { + return googleapis_common_1.getAPI('clouddebugger', versionOrOptions, exports.VERSIONS, this); +} +exports.clouddebugger = clouddebugger; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/clouddebugger/index.js.map b/express-server/node_modules/googleapis/build/src/apis/clouddebugger/index.js.map new file mode 100644 index 00000000..7b2eddce --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/clouddebugger/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/clouddebugger/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAsC;AAEzB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,qBAAgB,CAAC,aAAa;CACrC,CAAC;AAKF,SAAgB,aAAa,CACC,gBAA+C;IAC3E,OAAO,0BAAM,CAAI,eAAe,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACtE,CAAC;AAHD,sCAGC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/clouddebugger/package.json b/express-server/node_modules/googleapis/build/src/apis/clouddebugger/package.json new file mode 100644 index 00000000..4ae38a43 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/clouddebugger/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/clouddebugger", + "version": "0.1.0", + "description": "clouddebugger", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/clouddebugger/v2.d.ts b/express-server/node_modules/googleapis/build/src/apis/clouddebugger/v2.d.ts new file mode 100644 index 00000000..6c925c68 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/clouddebugger/v2.d.ts @@ -0,0 +1,1479 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace clouddebugger_v2 { + interface Options extends GlobalOptions { + version: 'v2'; + } + /** + * Stackdriver Debugger API + * + * Examines the call stack and variables of a running application without + * stopping or slowing it down. + * + * @example + * const {google} = require('googleapis'); + * const clouddebugger = google.clouddebugger('v2'); + * + * @namespace clouddebugger + * @type {Function} + * @version v2 + * @variation v2 + * @param {object=} options Options for Clouddebugger + */ + class Clouddebugger { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + controller: Resource$Controller; + debugger: Resource$Debugger; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * An alias to a repo revision. + */ + interface Schema$AliasContext { + /** + * The alias kind. + */ + kind?: string; + /** + * The alias name. + */ + name?: string; + } + /** + * Represents the breakpoint specification, status and results. + */ + interface Schema$Breakpoint { + /** + * Action that the agent should perform when the code at the breakpoint + * location is hit. + */ + action?: string; + /** + * Condition that triggers the breakpoint. The condition is a compound + * boolean expression composed using expressions in a programming language + * at the source location. + */ + condition?: string; + /** + * Time this breakpoint was created by the server in seconds resolution. + */ + createTime?: string; + /** + * Values of evaluated expressions at breakpoint time. The evaluated + * expressions appear in exactly the same order they are listed in the + * `expressions` field. The `name` field holds the original expression text, + * the `value` or `members` field holds the result of the evaluated + * expression. If the expression cannot be evaluated, the `status` inside + * the `Variable` will indicate an error and contain the error text. + */ + evaluatedExpressions?: Schema$Variable[]; + /** + * List of read-only expressions to evaluate at the breakpoint location. The + * expressions are composed using expressions in the programming language at + * the source location. If the breakpoint action is `LOG`, the evaluated + * expressions are included in log statements. + */ + expressions?: string[]; + /** + * Time this breakpoint was finalized as seen by the server in seconds + * resolution. + */ + finalTime?: string; + /** + * Breakpoint identifier, unique in the scope of the debuggee. + */ + id?: string; + /** + * When true, indicates that this is a final result and the breakpoint state + * will not change from here on. + */ + isFinalState?: boolean; + /** + * A set of custom breakpoint properties, populated by the agent, to be + * displayed to the user. + */ + labels?: any; + /** + * Breakpoint source location. + */ + location?: Schema$SourceLocation; + /** + * Indicates the severity of the log. Only relevant when action is `LOG`. + */ + logLevel?: string; + /** + * Only relevant when action is `LOG`. Defines the message to log when the + * breakpoint hits. The message may include parameter placeholders `$0`, + * `$1`, etc. These placeholders are replaced with the evaluated value of + * the appropriate expression. Expressions not referenced in + * `log_message_format` are not logged. Example: `Message received, id = + * $0, count = $1` with `expressions` = `[ message.id, message.count ]`. + */ + logMessageFormat?: string; + /** + * The stack at breakpoint time, where stack_frames[0] represents the most + * recently entered function. + */ + stackFrames?: Schema$StackFrame[]; + /** + * Breakpoint status. The status includes an error flag and a human + * readable message. This field is usually unset. The message can be either + * informational or an error message. Regardless, clients should always + * display the text message back to the user. Error status indicates + * complete failure of the breakpoint. Example (non-final state): `Still + * loading symbols...` Examples (final state): * `Invalid line number` + * referring to location * `Field f not found in class C` referring to + * condition + */ + status?: Schema$StatusMessage; + /** + * E-mail address of the user that created this breakpoint + */ + userEmail?: string; + /** + * The `variable_table` exists to aid with computation, memory and network + * traffic optimization. It enables storing a variable once and reference + * it from multiple variables, including variables stored in the + * `variable_table` itself. For example, the same `this` object, which may + * appear at many levels of the stack, can have all of its data stored once + * in this table. The stack frame variables then would hold only a + * reference to it. The variable `var_table_index` field is an index into + * this repeated field. The stored objects are nameless and get their name + * from the referencing variable. The effective variable is a merge of the + * referencing variable and the referenced variable. + */ + variableTable?: Schema$Variable[]; + } + /** + * A CloudRepoSourceContext denotes a particular revision in a cloud repo (a + * repo hosted by the Google Cloud Platform). + */ + interface Schema$CloudRepoSourceContext { + /** + * An alias, which may be a branch or tag. + */ + aliasContext?: Schema$AliasContext; + /** + * The name of an alias (branch, tag, etc.). + */ + aliasName?: string; + /** + * The ID of the repo. + */ + repoId?: Schema$RepoId; + /** + * A revision ID. + */ + revisionId?: string; + } + /** + * A CloudWorkspaceId is a unique identifier for a cloud workspace. A cloud + * workspace is a place associated with a repo where modified files can be + * stored before they are committed. + */ + interface Schema$CloudWorkspaceId { + /** + * The unique name of the workspace within the repo. This is the name + * chosen by the client in the Source API's CreateWorkspace method. + */ + name?: string; + /** + * The ID of the repo containing the workspace. + */ + repoId?: Schema$RepoId; + } + /** + * A CloudWorkspaceSourceContext denotes a workspace at a particular snapshot. + */ + interface Schema$CloudWorkspaceSourceContext { + /** + * The ID of the snapshot. An empty snapshot_id refers to the most recent + * snapshot. + */ + snapshotId?: string; + /** + * The ID of the workspace. + */ + workspaceId?: Schema$CloudWorkspaceId; + } + /** + * Represents the debugged application. The application may include one or + * more replicated processes executing the same code. Each of these processes + * is attached with a debugger agent, carrying out the debugging commands. + * Agents attached to the same debuggee identify themselves as such by using + * exactly the same Debuggee message value when registering. + */ + interface Schema$Debuggee { + /** + * Version ID of the agent. Schema: `domain/language-platform/vmajor.minor` + * (for example `google.com/java-gcp/v1.1`). + */ + agentVersion?: string; + /** + * Human readable description of the debuggee. Including a human-readable + * project name, environment name and version information is recommended. + */ + description?: string; + /** + * References to the locations and revisions of the source code used in the + * deployed application. + */ + extSourceContexts?: Schema$ExtendedSourceContext[]; + /** + * Unique identifier for the debuggee generated by the controller service. + */ + id?: string; + /** + * If set to `true`, indicates that the agent should disable itself and + * detach from the debuggee. + */ + isDisabled?: boolean; + /** + * If set to `true`, indicates that Controller service does not detect any + * activity from the debuggee agents and the application is possibly + * stopped. + */ + isInactive?: boolean; + /** + * A set of custom debuggee properties, populated by the agent, to be + * displayed to the user. + */ + labels?: any; + /** + * Project the debuggee is associated with. Use project number or id when + * registering a Google Cloud Platform project. + */ + project?: string; + /** + * References to the locations and revisions of the source code used in the + * deployed application. + */ + sourceContexts?: Schema$SourceContext[]; + /** + * Human readable message to be displayed to the user about this debuggee. + * Absence of this field indicates no status. The message can be either + * informational or an error status. + */ + status?: Schema$StatusMessage; + /** + * Uniquifier to further distiguish the application. It is possible that + * different applications might have identical values in the debuggee + * message, thus, incorrectly identified as a single application by the + * Controller service. This field adds salt to further distiguish the + * application. Agents should consider seeding this field with value that + * identifies the code, binary, configuration and environment. + */ + uniquifier?: string; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * An ExtendedSourceContext is a SourceContext combined with additional + * details describing the context. + */ + interface Schema$ExtendedSourceContext { + /** + * Any source context. + */ + context?: Schema$SourceContext; + /** + * Labels with user defined metadata. + */ + labels?: any; + } + /** + * Represents a message with parameters. + */ + interface Schema$FormatMessage { + /** + * Format template for the message. The `format` uses placeholders `$0`, + * `$1`, etc. to reference parameters. `$$` can be used to denote the `$` + * character. Examples: * `Failed to load '$0' which helps debug + * $1 the first time it is loaded. Again, $0 is very important.` * + * `Please pay $$10 to use $0 instead of $1.` + */ + format?: string; + /** + * Optional parameters to be embedded into the message. + */ + parameters?: string[]; + } + /** + * A SourceContext referring to a Gerrit project. + */ + interface Schema$GerritSourceContext { + /** + * An alias, which may be a branch or tag. + */ + aliasContext?: Schema$AliasContext; + /** + * The name of an alias (branch, tag, etc.). + */ + aliasName?: string; + /** + * The full project name within the host. Projects may be nested, so + * "project/subproject" is a valid project name. The "repo + * name" is hostURI/project. + */ + gerritProject?: string; + /** + * The URI of a running Gerrit instance. + */ + hostUri?: string; + /** + * A revision (commit) ID. + */ + revisionId?: string; + } + /** + * Response for getting breakpoint information. + */ + interface Schema$GetBreakpointResponse { + /** + * Complete breakpoint state. The fields `id` and `location` are guaranteed + * to be set. + */ + breakpoint?: Schema$Breakpoint; + } + /** + * A GitSourceContext denotes a particular revision in a third party Git + * repository (e.g. GitHub). + */ + interface Schema$GitSourceContext { + /** + * Git commit hash. required. + */ + revisionId?: string; + /** + * Git repository URL. + */ + url?: string; + } + /** + * Response for listing active breakpoints. + */ + interface Schema$ListActiveBreakpointsResponse { + /** + * List of all active breakpoints. The fields `id` and `location` are + * guaranteed to be set on each breakpoint. + */ + breakpoints?: Schema$Breakpoint[]; + /** + * A token that can be used in the next method call to block until the list + * of breakpoints changes. + */ + nextWaitToken?: string; + /** + * If set to `true`, indicates that there is no change to the list of active + * breakpoints and the server-selected timeout has expired. The + * `breakpoints` field would be empty and should be ignored. + */ + waitExpired?: boolean; + } + /** + * Response for listing breakpoints. + */ + interface Schema$ListBreakpointsResponse { + /** + * List of breakpoints matching the request. The fields `id` and `location` + * are guaranteed to be set on each breakpoint. The fields: `stack_frames`, + * `evaluated_expressions` and `variable_table` are cleared on each + * breakpoint regardless of its status. + */ + breakpoints?: Schema$Breakpoint[]; + /** + * A wait token that can be used in the next call to `list` (REST) or + * `ListBreakpoints` (RPC) to block until the list of breakpoints has + * changes. + */ + nextWaitToken?: string; + } + /** + * Response for listing debuggees. + */ + interface Schema$ListDebuggeesResponse { + /** + * List of debuggees accessible to the calling user. The fields + * `debuggee.id` and `description` are guaranteed to be set. The + * `description` field is a human readable field provided by agents and can + * be displayed to users. + */ + debuggees?: Schema$Debuggee[]; + } + /** + * Selects a repo using a Google Cloud Platform project ID (e.g. + * winged-cargo-31) and a repo name within that project. + */ + interface Schema$ProjectRepoId { + /** + * The ID of the project. + */ + projectId?: string; + /** + * The name of the repo. Leave empty for the default repo. + */ + repoName?: string; + } + /** + * Request to register a debuggee. + */ + interface Schema$RegisterDebuggeeRequest { + /** + * Debuggee information to register. The fields `project`, `uniquifier`, + * `description` and `agent_version` of the debuggee must be set. + */ + debuggee?: Schema$Debuggee; + } + /** + * Response for registering a debuggee. + */ + interface Schema$RegisterDebuggeeResponse { + /** + * Debuggee resource. The field `id` is guranteed to be set (in addition to + * the echoed fields). If the field `is_disabled` is set to `true`, the + * agent should disable itself by removing all breakpoints and detaching + * from the application. It should however continue to poll + * `RegisterDebuggee` until reenabled. + */ + debuggee?: Schema$Debuggee; + } + /** + * A unique identifier for a cloud repo. + */ + interface Schema$RepoId { + /** + * A combination of a project ID and a repo name. + */ + projectRepoId?: Schema$ProjectRepoId; + /** + * A server-assigned, globally unique identifier. + */ + uid?: string; + } + /** + * Response for setting a breakpoint. + */ + interface Schema$SetBreakpointResponse { + /** + * Breakpoint resource. The field `id` is guaranteed to be set (in addition + * to the echoed fileds). + */ + breakpoint?: Schema$Breakpoint; + } + /** + * A SourceContext is a reference to a tree of files. A SourceContext together + * with a path point to a unique revision of a single file or directory. + */ + interface Schema$SourceContext { + /** + * A SourceContext referring to a revision in a cloud repo. + */ + cloudRepo?: Schema$CloudRepoSourceContext; + /** + * A SourceContext referring to a snapshot in a cloud workspace. + */ + cloudWorkspace?: Schema$CloudWorkspaceSourceContext; + /** + * A SourceContext referring to a Gerrit project. + */ + gerrit?: Schema$GerritSourceContext; + /** + * A SourceContext referring to any third party Git repo (e.g. GitHub). + */ + git?: Schema$GitSourceContext; + } + /** + * Represents a location in the source code. + */ + interface Schema$SourceLocation { + /** + * Column within a line. The first column in a line as the value `1`. Agents + * that do not support setting breakpoints on specific columns ignore this + * field. + */ + column?: number; + /** + * Line inside the file. The first line in the file has the value `1`. + */ + line?: number; + /** + * Path to the source file within the source context of the target binary. + */ + path?: string; + } + /** + * Represents a stack frame context. + */ + interface Schema$StackFrame { + /** + * Set of arguments passed to this function. Note that this might not be + * populated for all stack frames. + */ + arguments?: Schema$Variable[]; + /** + * Demangled function name at the call site. + */ + function?: string; + /** + * Set of local variables at the stack frame location. Note that this might + * not be populated for all stack frames. + */ + locals?: Schema$Variable[]; + /** + * Source location of the call site. + */ + location?: Schema$SourceLocation; + } + /** + * Represents a contextual status message. The message can indicate an error + * or informational status, and refer to specific parts of the containing + * object. For example, the `Breakpoint.status` field can indicate an error + * referring to the `BREAKPOINT_SOURCE_LOCATION` with the message `Location + * not found`. + */ + interface Schema$StatusMessage { + /** + * Status message text. + */ + description?: Schema$FormatMessage; + /** + * Distinguishes errors from informational messages. + */ + isError?: boolean; + /** + * Reference to which the message applies. + */ + refersTo?: string; + } + /** + * Request to update an active breakpoint. + */ + interface Schema$UpdateActiveBreakpointRequest { + /** + * Updated breakpoint information. The field `id` must be set. The agent + * must echo all Breakpoint specification fields in the update. + */ + breakpoint?: Schema$Breakpoint; + } + /** + * Response for updating an active breakpoint. The message is defined to allow + * future extensions. + */ + interface Schema$UpdateActiveBreakpointResponse { + } + /** + * Represents a variable or an argument possibly of a compound object type. + * Note how the following variables are represented: 1) A simple variable: + * int x = 5 { name: "x", value: "5", type: + * "int" } // Captured variable 2) A compound object: struct + * T { int m1; int m2; }; T x = { 3, 7 }; { // + * Captured variable name: "x", type: "T", + * members { name: "m1", value: "3", type: "int" + * }, members { name: "m2", value: "7", type: + * "int" } } 3) A pointer where the pointee was captured: T x = + * { 3, 7 }; T* p = &x; { // Captured variable name: + * "p", type: "T*", value: + * "0x00500500", members { name: "m1", value: + * "3", type: "int" }, members { name: + * "m2", value: "7", type: "int" } } 4) A + * pointer where the pointee was not captured: T* p = new T; { // + * Captured variable name: "p", type: + * "T*", value: "0x00400400" status { + * is_error: true, description { format: "unavailable" } } } The + * status should describe the reason for the missing value, such as + * `<optimized out>`, `<inaccessible>`, `<pointers limit + * reached>`. Note that a null pointer should not have members. 5) An + * unnamed value: int* p = new int(7); { // Captured variable + * name: "p", value: "0x00500500", type: + * "int*", members { value: "7", type: + * "int" } } 6) An unnamed pointer where the pointee was not + * captured: int* p = new int(7); int** pp = &p; { // + * Captured variable name: "pp", value: + * "0x00500500", type: "int**", members { + * value: "0x00400400", type: "int*" status { + * is_error: true, description: { format: + * "unavailable" } } } } } To optimize + * computation, memory and network traffic, variables that repeat in the + * output multiple times can be stored once in a shared variable table and be + * referenced using the `var_table_index` field. The variables stored in the + * shared table are nameless and are essentially a partition of the complete + * variable. To reconstruct the complete variable, merge the referencing + * variable with the referenced variable. When using the shared variable + * table, the following variables: T x = { 3, 7 }; T* p = &x; + * T& r = x; { name: "x", var_table_index: 3, type: + * "T" } // Captured variables { name: "p", value + * "0x00500500", type="T*", var_table_index: 3 } { + * name: "r", type="T&", var_table_index: 3 } { + * // Shared variable table entry #3: members { name: "m1", + * value: "3", type: "int" }, members { name: + * "m2", value: "7", type: "int" } } Note + * that the pointer address is stored with the referencing variable and not + * with the referenced variable. This allows the referenced variable to be + * shared between pointers and references. The type field is optional. The + * debugger agent may or may not support it. + */ + interface Schema$Variable { + /** + * Members contained or pointed to by the variable. + */ + members?: Schema$Variable[]; + /** + * Name of the variable, if any. + */ + name?: string; + /** + * Status associated with the variable. This field will usually stay unset. + * A status of a single variable only applies to that variable or + * expression. The rest of breakpoint data still remains valid. Variables + * might be reported in error state even when breakpoint is not in final + * state. The message may refer to variable name with `refers_to` set to + * `VARIABLE_NAME`. Alternatively `refers_to` will be set to + * `VARIABLE_VALUE`. In either case variable value and members will be + * unset. Example of error message applied to name: `Invalid expression + * syntax`. Example of information message applied to value: `Not + * captured`. Examples of error message applied to value: * `Malformed + * string`, * `Field f not found in class C` * `Null pointer + * dereference` + */ + status?: Schema$StatusMessage; + /** + * Variable type (e.g. `MyClass`). If the variable is split with + * `var_table_index`, `type` goes next to `value`. The interpretation of a + * type is agent specific. It is recommended to include the dynamic type + * rather than a static type of an object. + */ + type?: string; + /** + * Simple value of the variable. + */ + value?: string; + /** + * Reference to a variable in the shared variable table. More than one + * variable can reference the same variable in the table. The + * `var_table_index` field is an index into `variable_table` in Breakpoint. + */ + varTableIndex?: number; + } + class Resource$Controller { + root: Clouddebugger; + debuggees: Resource$Controller$Debuggees; + constructor(root: Clouddebugger); + getRoot(): Clouddebugger; + } + class Resource$Controller$Debuggees { + root: Clouddebugger; + breakpoints: Resource$Controller$Debuggees$Breakpoints; + constructor(root: Clouddebugger); + getRoot(): Clouddebugger; + /** + * clouddebugger.controller.debuggees.register + * @desc Registers the debuggee with the controller service. All agents + * attached to the same application must call this method with exactly the + * same request content to get back the same stable `debuggee_id`. Agents + * should call this method again whenever `google.rpc.Code.NOT_FOUND` is + * returned from any controller method. This protocol allows the controller + * service to disable debuggees, recover from data loss, or change the + * `debuggee_id` format. Agents must handle `debuggee_id` value changing + * upon re-registration. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Stackdriver Debugger API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/clouddebugger + * // 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 cloudDebugger = google.clouddebugger('v2'); + * + * authorize(function(authClient) { + * var request = { + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * cloudDebugger.controller.debuggees.register(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 clouddebugger.controller.debuggees.register + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().RegisterDebuggeeRequest} 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 + */ + register(params?: Params$Resource$Controller$Debuggees$Register, options?: MethodOptions): AxiosPromise; + register(params: Params$Resource$Controller$Debuggees$Register, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + register(params: Params$Resource$Controller$Debuggees$Register, callback: BodyResponseCallback): void; + register(callback: BodyResponseCallback): void; + } + interface Params$Resource$Controller$Debuggees$Register { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$RegisterDebuggeeRequest; + } + class Resource$Controller$Debuggees$Breakpoints { + root: Clouddebugger; + constructor(root: Clouddebugger); + getRoot(): Clouddebugger; + /** + * clouddebugger.controller.debuggees.breakpoints.list + * @desc Returns the list of all active breakpoints for the debuggee. The + * breakpoint specification (`location`, `condition`, and `expressions` + * fields) is semantically immutable, although the field values may change. + * For example, an agent may update the location line number to reflect the + * actual line where the breakpoint was set, but this doesn't change the + * breakpoint semantics. This means that an agent does not need to check if + * a breakpoint has changed when it encounters the same breakpoint on a + * successive call. Moreover, an agent should remember the breakpoints that + * are completed until the controller removes them from the active list to + * avoid setting those breakpoints again. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Stackdriver Debugger API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/clouddebugger + * // 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 cloudDebugger = google.clouddebugger('v2'); + * + * authorize(function(authClient) { + * var request = { + * // Identifies the debuggee. + * debuggeeId: 'my-debuggee-id', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * cloudDebugger.controller.debuggees.breakpoints.list(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 clouddebugger.controller.debuggees.breakpoints.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.debuggeeId Identifies the debuggee. + * @param {boolean=} params.successOnTimeout If set to `true` (recommended), returns `google.rpc.Code.OK` status and sets the `wait_expired` response field to `true` when the server-selected timeout has expired. If set to `false` (deprecated), returns `google.rpc.Code.ABORTED` status when the server-selected timeout has expired. + * @param {string=} params.waitToken A token that, if specified, blocks the method call until the list of active breakpoints has changed, or a server-selected timeout has expired. The value should be set from the `next_wait_token` field in the last response. The initial value should be set to `"init"`. + * @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?: Params$Resource$Controller$Debuggees$Breakpoints$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Controller$Debuggees$Breakpoints$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Controller$Debuggees$Breakpoints$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * clouddebugger.controller.debuggees.breakpoints.update + * @desc Updates the breakpoint state or mutable fields. The entire + * Breakpoint message must be sent back to the controller service. Updates + * to active breakpoint fields are only allowed if the new value does not + * change the breakpoint specification. Updates to the `location`, + * `condition` and `expressions` fields should not alter the breakpoint + * semantics. These may only make changes such as canonicalizing a value or + * snapping the location to the correct line of code. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Stackdriver Debugger API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/clouddebugger + * // 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 cloudDebugger = google.clouddebugger('v2'); + * + * authorize(function(authClient) { + * var request = { + * // Identifies the debuggee being debugged. + * debuggeeId: 'my-debuggee-id', // TODO: Update placeholder value. + * + * // Breakpoint identifier, unique in the scope of the debuggee. + * id: 'my-id', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * cloudDebugger.controller.debuggees.breakpoints.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 clouddebugger.controller.debuggees.breakpoints.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.debuggeeId Identifies the debuggee being debugged. + * @param {string} params.id Breakpoint identifier, unique in the scope of the debuggee. + * @param {().UpdateActiveBreakpointRequest} 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?: Params$Resource$Controller$Debuggees$Breakpoints$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Controller$Debuggees$Breakpoints$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Controller$Debuggees$Breakpoints$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Controller$Debuggees$Breakpoints$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifies the debuggee. + */ + debuggeeId?: string; + /** + * If set to `true` (recommended), returns `google.rpc.Code.OK` status and + * sets the `wait_expired` response field to `true` when the server-selected + * timeout has expired. If set to `false` (deprecated), returns + * `google.rpc.Code.ABORTED` status when the server-selected timeout has + * expired. + */ + successOnTimeout?: boolean; + /** + * A token that, if specified, blocks the method call until the list of + * active breakpoints has changed, or a server-selected timeout has expired. + * The value should be set from the `next_wait_token` field in the last + * response. The initial value should be set to `"init"`. + */ + waitToken?: string; + } + interface Params$Resource$Controller$Debuggees$Breakpoints$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifies the debuggee being debugged. + */ + debuggeeId?: string; + /** + * Breakpoint identifier, unique in the scope of the debuggee. + */ + id?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UpdateActiveBreakpointRequest; + } + class Resource$Debugger { + root: Clouddebugger; + debuggees: Resource$Debugger$Debuggees; + constructor(root: Clouddebugger); + getRoot(): Clouddebugger; + } + class Resource$Debugger$Debuggees { + root: Clouddebugger; + breakpoints: Resource$Debugger$Debuggees$Breakpoints; + constructor(root: Clouddebugger); + getRoot(): Clouddebugger; + /** + * clouddebugger.debugger.debuggees.list + * @desc Lists all the debuggees that the user has access to. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Stackdriver Debugger API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/clouddebugger + * // 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 cloudDebugger = google.clouddebugger('v2'); + * + * authorize(function(authClient) { + * var request = { + * auth: authClient, + * }; + * + * cloudDebugger.debugger.debuggees.list(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 clouddebugger.debugger.debuggees.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.clientVersion The client version making the call. Schema: `domain/type/version` (e.g., `google.com/intellij/v1`). + * @param {boolean=} params.includeInactive When set to `true`, the result includes all debuggees. Otherwise, the result includes only debuggees that are active. + * @param {string=} params.project Project number of a Google Cloud project whose debuggees to list. + * @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?: Params$Resource$Debugger$Debuggees$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Debugger$Debuggees$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Debugger$Debuggees$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Debugger$Debuggees$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The client version making the call. Schema: `domain/type/version` (e.g., + * `google.com/intellij/v1`). + */ + clientVersion?: string; + /** + * When set to `true`, the result includes all debuggees. Otherwise, the + * result includes only debuggees that are active. + */ + includeInactive?: boolean; + /** + * Project number of a Google Cloud project whose debuggees to list. + */ + project?: string; + } + class Resource$Debugger$Debuggees$Breakpoints { + root: Clouddebugger; + constructor(root: Clouddebugger); + getRoot(): Clouddebugger; + /** + * clouddebugger.debugger.debuggees.breakpoints.delete + * @desc Deletes the breakpoint from the debuggee. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Stackdriver Debugger API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/clouddebugger + * // 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 cloudDebugger = google.clouddebugger('v2'); + * + * authorize(function(authClient) { + * var request = { + * // ID of the debuggee whose breakpoint to delete. + * debuggeeId: 'my-debuggee-id', // TODO: Update placeholder value. + * + * // ID of the breakpoint to delete. + * breakpointId: 'my-breakpoint-id', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * cloudDebugger.debugger.debuggees.breakpoints.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 clouddebugger.debugger.debuggees.breakpoints.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.breakpointId ID of the breakpoint to delete. + * @param {string=} params.clientVersion The client version making the call. Schema: `domain/type/version` (e.g., `google.com/intellij/v1`). + * @param {string} params.debuggeeId ID of the debuggee whose breakpoint to delete. + * @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?: Params$Resource$Debugger$Debuggees$Breakpoints$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Debugger$Debuggees$Breakpoints$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Debugger$Debuggees$Breakpoints$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * clouddebugger.debugger.debuggees.breakpoints.get + * @desc Gets breakpoint information. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Stackdriver Debugger API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/clouddebugger + * // 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 cloudDebugger = google.clouddebugger('v2'); + * + * authorize(function(authClient) { + * var request = { + * // ID of the debuggee whose breakpoint to get. + * debuggeeId: 'my-debuggee-id', // TODO: Update placeholder value. + * + * // ID of the breakpoint to get. + * breakpointId: 'my-breakpoint-id', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * cloudDebugger.debugger.debuggees.breakpoints.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 clouddebugger.debugger.debuggees.breakpoints.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.breakpointId ID of the breakpoint to get. + * @param {string=} params.clientVersion The client version making the call. Schema: `domain/type/version` (e.g., `google.com/intellij/v1`). + * @param {string} params.debuggeeId ID of the debuggee whose breakpoint to get. + * @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?: Params$Resource$Debugger$Debuggees$Breakpoints$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Debugger$Debuggees$Breakpoints$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Debugger$Debuggees$Breakpoints$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * clouddebugger.debugger.debuggees.breakpoints.list + * @desc Lists all breakpoints for the debuggee. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Stackdriver Debugger API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/clouddebugger + * // 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 cloudDebugger = google.clouddebugger('v2'); + * + * authorize(function(authClient) { + * var request = { + * // ID of the debuggee whose breakpoints to list. + * debuggeeId: 'my-debuggee-id', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * cloudDebugger.debugger.debuggees.breakpoints.list(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 clouddebugger.debugger.debuggees.breakpoints.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.action.value Only breakpoints with the specified action will pass the filter. + * @param {string=} params.clientVersion The client version making the call. Schema: `domain/type/version` (e.g., `google.com/intellij/v1`). + * @param {string} params.debuggeeId ID of the debuggee whose breakpoints to list. + * @param {boolean=} params.includeAllUsers When set to `true`, the response includes the list of breakpoints set by any user. Otherwise, it includes only breakpoints set by the caller. + * @param {boolean=} params.includeInactive When set to `true`, the response includes active and inactive breakpoints. Otherwise, it includes only active breakpoints. + * @param {boolean=} params.stripResults This field is deprecated. The following fields are always stripped out of the result: `stack_frames`, `evaluated_expressions` and `variable_table`. + * @param {string=} params.waitToken A wait token that, if specified, blocks the call until the breakpoints list has changed, or a server selected timeout has expired. The value should be set from the last response. The error code `google.rpc.Code.ABORTED` (RPC) is returned on wait timeout, which should be called again with the same `wait_token`. + * @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?: Params$Resource$Debugger$Debuggees$Breakpoints$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Debugger$Debuggees$Breakpoints$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Debugger$Debuggees$Breakpoints$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * clouddebugger.debugger.debuggees.breakpoints.set + * @desc Sets the breakpoint to the debuggee. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Stackdriver Debugger API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/clouddebugger + * // 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 cloudDebugger = google.clouddebugger('v2'); + * + * authorize(function(authClient) { + * var request = { + * // ID of the debuggee where the breakpoint is to be set. + * debuggeeId: 'my-debuggee-id', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * cloudDebugger.debugger.debuggees.breakpoints.set(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 clouddebugger.debugger.debuggees.breakpoints.set + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.clientVersion The client version making the call. Schema: `domain/type/version` (e.g., `google.com/intellij/v1`). + * @param {string} params.debuggeeId ID of the debuggee where the breakpoint is to be set. + * @param {().Breakpoint} 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 + */ + set(params?: Params$Resource$Debugger$Debuggees$Breakpoints$Set, options?: MethodOptions): AxiosPromise; + set(params: Params$Resource$Debugger$Debuggees$Breakpoints$Set, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + set(params: Params$Resource$Debugger$Debuggees$Breakpoints$Set, callback: BodyResponseCallback): void; + set(callback: BodyResponseCallback): void; + } + interface Params$Resource$Debugger$Debuggees$Breakpoints$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ID of the breakpoint to delete. + */ + breakpointId?: string; + /** + * The client version making the call. Schema: `domain/type/version` (e.g., + * `google.com/intellij/v1`). + */ + clientVersion?: string; + /** + * ID of the debuggee whose breakpoint to delete. + */ + debuggeeId?: string; + } + interface Params$Resource$Debugger$Debuggees$Breakpoints$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ID of the breakpoint to get. + */ + breakpointId?: string; + /** + * The client version making the call. Schema: `domain/type/version` (e.g., + * `google.com/intellij/v1`). + */ + clientVersion?: string; + /** + * ID of the debuggee whose breakpoint to get. + */ + debuggeeId?: string; + } + interface Params$Resource$Debugger$Debuggees$Breakpoints$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Only breakpoints with the specified action will pass the filter. + */ + 'action.value'?: string; + /** + * The client version making the call. Schema: `domain/type/version` (e.g., + * `google.com/intellij/v1`). + */ + clientVersion?: string; + /** + * ID of the debuggee whose breakpoints to list. + */ + debuggeeId?: string; + /** + * When set to `true`, the response includes the list of breakpoints set by + * any user. Otherwise, it includes only breakpoints set by the caller. + */ + includeAllUsers?: boolean; + /** + * When set to `true`, the response includes active and inactive + * breakpoints. Otherwise, it includes only active breakpoints. + */ + includeInactive?: boolean; + /** + * This field is deprecated. The following fields are always stripped out of + * the result: `stack_frames`, `evaluated_expressions` and `variable_table`. + */ + stripResults?: boolean; + /** + * A wait token that, if specified, blocks the call until the breakpoints + * list has changed, or a server selected timeout has expired. The value + * should be set from the last response. The error code + * `google.rpc.Code.ABORTED` (RPC) is returned on wait timeout, which should + * be called again with the same `wait_token`. + */ + waitToken?: string; + } + interface Params$Resource$Debugger$Debuggees$Breakpoints$Set { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The client version making the call. Schema: `domain/type/version` (e.g., + * `google.com/intellij/v1`). + */ + clientVersion?: string; + /** + * ID of the debuggee where the breakpoint is to be set. + */ + debuggeeId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Breakpoint; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/clouddebugger/v2.js b/express-server/node_modules/googleapis/build/src/apis/clouddebugger/v2.js new file mode 100644 index 00000000..5892d677 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/clouddebugger/v2.js @@ -0,0 +1,374 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var clouddebugger_v2; +(function (clouddebugger_v2) { + /** + * Stackdriver Debugger API + * + * Examines the call stack and variables of a running application without + * stopping or slowing it down. + * + * @example + * const {google} = require('googleapis'); + * const clouddebugger = google.clouddebugger('v2'); + * + * @namespace clouddebugger + * @type {Function} + * @version v2 + * @variation v2 + * @param {object=} options Options for Clouddebugger + */ + class Clouddebugger { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.controller = new Resource$Controller(this); + this.debugger = new Resource$Debugger(this); + } + getRoot() { + return this.root; + } + } + clouddebugger_v2.Clouddebugger = Clouddebugger; + class Resource$Controller { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.debuggees = new Resource$Controller$Debuggees(root); + } + getRoot() { + return this.root; + } + } + clouddebugger_v2.Resource$Controller = Resource$Controller; + class Resource$Controller$Debuggees { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.breakpoints = new Resource$Controller$Debuggees$Breakpoints(root); + } + getRoot() { + return this.root; + } + register(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://clouddebugger.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/controller/debuggees/register') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + clouddebugger_v2.Resource$Controller$Debuggees = Resource$Controller$Debuggees; + class Resource$Controller$Debuggees$Breakpoints { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://clouddebugger.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v2/controller/debuggees/{debuggeeId}/breakpoints') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['debuggeeId'], + pathParams: ['debuggeeId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://clouddebugger.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v2/controller/debuggees/{debuggeeId}/breakpoints/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['debuggeeId', 'id'], + pathParams: ['debuggeeId', 'id'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + clouddebugger_v2.Resource$Controller$Debuggees$Breakpoints = Resource$Controller$Debuggees$Breakpoints; + class Resource$Debugger { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.debuggees = new Resource$Debugger$Debuggees(root); + } + getRoot() { + return this.root; + } + } + clouddebugger_v2.Resource$Debugger = Resource$Debugger; + class Resource$Debugger$Debuggees { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.breakpoints = new Resource$Debugger$Debuggees$Breakpoints(root); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://clouddebugger.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/debugger/debuggees') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + clouddebugger_v2.Resource$Debugger$Debuggees = Resource$Debugger$Debuggees; + class Resource$Debugger$Debuggees$Breakpoints { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://clouddebugger.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v2/debugger/debuggees/{debuggeeId}/breakpoints/{breakpointId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['debuggeeId', 'breakpointId'], + pathParams: ['breakpointId', 'debuggeeId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://clouddebugger.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v2/debugger/debuggees/{debuggeeId}/breakpoints/{breakpointId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['debuggeeId', 'breakpointId'], + pathParams: ['breakpointId', 'debuggeeId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://clouddebugger.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/debugger/debuggees/{debuggeeId}/breakpoints') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['debuggeeId'], + pathParams: ['debuggeeId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + set(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://clouddebugger.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v2/debugger/debuggees/{debuggeeId}/breakpoints/set') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['debuggeeId'], + pathParams: ['debuggeeId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + clouddebugger_v2.Resource$Debugger$Debuggees$Breakpoints = Resource$Debugger$Debuggees$Breakpoints; +})(clouddebugger_v2 = exports.clouddebugger_v2 || (exports.clouddebugger_v2 = {})); +//# sourceMappingURL=v2.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/clouddebugger/v2.js.map b/express-server/node_modules/googleapis/build/src/apis/clouddebugger/v2.js.map new file mode 100644 index 00000000..d1140852 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/clouddebugger/v2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v2.js","sourceRoot":"","sources":["../../../../src/apis/clouddebugger/v2.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/clouderrorreporting/README.md b/express-server/node_modules/googleapis/build/src/apis/clouderrorreporting/README.md new file mode 100644 index 00000000..c4477573 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/clouderrorreporting/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/clouderrorreporting + +> Groups and counts similar errors from cloud services and applications, reports new errors, and provides access to error groups and their associated errors. + +## Installation + +```sh +$ npm install @google/clouderrorreporting +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/clouderrorreporting/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/clouderrorreporting/index.d.ts new file mode 100644 index 00000000..3ace1268 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/clouderrorreporting/index.d.ts @@ -0,0 +1,6 @@ +import { clouderrorreporting_v1beta1 } from './v1beta1'; +export declare const VERSIONS: { + 'v1beta1': typeof clouderrorreporting_v1beta1.Clouderrorreporting; +}; +export declare function clouderrorreporting(version: 'v1beta1'): clouderrorreporting_v1beta1.Clouderrorreporting; +export declare function clouderrorreporting(options: clouderrorreporting_v1beta1.Options): clouderrorreporting_v1beta1.Clouderrorreporting; diff --git a/express-server/node_modules/googleapis/build/src/apis/clouderrorreporting/index.js b/express-server/node_modules/googleapis/build/src/apis/clouderrorreporting/index.js new file mode 100644 index 00000000..24ca00a7 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/clouderrorreporting/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1beta1_1 = require("./v1beta1"); +exports.VERSIONS = { + 'v1beta1': v1beta1_1.clouderrorreporting_v1beta1.Clouderrorreporting, +}; +function clouderrorreporting(versionOrOptions) { + return googleapis_common_1.getAPI('clouderrorreporting', versionOrOptions, exports.VERSIONS, this); +} +exports.clouderrorreporting = clouderrorreporting; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/clouderrorreporting/index.js.map b/express-server/node_modules/googleapis/build/src/apis/clouderrorreporting/index.js.map new file mode 100644 index 00000000..0833f01a --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/clouderrorreporting/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/clouderrorreporting/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,uCAAsD;AAEzC,QAAA,QAAQ,GAAG;IACtB,SAAS,EAAE,qCAA2B,CAAC,mBAAmB;CAC3D,CAAC;AAOF,SACA,mBAAmB,CAEf,gBAA+D;IACjE,OAAO,0BAAM,CAAI,qBAAqB,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAC5E,CAAC;AALD,kDAKC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/clouderrorreporting/package.json b/express-server/node_modules/googleapis/build/src/apis/clouderrorreporting/package.json new file mode 100644 index 00000000..09cd6e54 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/clouderrorreporting/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/clouderrorreporting", + "version": "0.1.0", + "description": "clouderrorreporting", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/clouderrorreporting/v1beta1.d.ts b/express-server/node_modules/googleapis/build/src/apis/clouderrorreporting/v1beta1.d.ts new file mode 100644 index 00000000..a2c24931 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/clouderrorreporting/v1beta1.d.ts @@ -0,0 +1,726 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace clouderrorreporting_v1beta1 { + interface Options extends GlobalOptions { + version: 'v1beta1'; + } + /** + * Stackdriver Error Reporting API + * + * Groups and counts similar errors from cloud services and applications, + * reports new errors, and provides access to error groups and their + * associated errors. + * + * @example + * const {google} = require('googleapis'); + * const clouderrorreporting = google.clouderrorreporting('v1beta1'); + * + * @namespace clouderrorreporting + * @type {Function} + * @version v1beta1 + * @variation v1beta1 + * @param {object=} options Options for Clouderrorreporting + */ + class Clouderrorreporting { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + projects: Resource$Projects; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Response message for deleting error events. + */ + interface Schema$DeleteEventsResponse { + } + /** + * A description of the context in which an error occurred. This data should + * be provided by the application when reporting an error, unless the error + * report has been generated automatically from Google App Engine logs. + */ + interface Schema$ErrorContext { + /** + * The HTTP request which was processed when the error was triggered. + */ + httpRequest?: Schema$HttpRequestContext; + /** + * The location in the source code where the decision was made to report the + * error, usually the place where it was logged. For a logged exception this + * would be the source line where the exception is logged, usually close to + * the place where it was caught. + */ + reportLocation?: Schema$SourceLocation; + /** + * Source code that was used to build the executable which has caused the + * given error message. + */ + sourceReferences?: Schema$SourceReference[]; + /** + * The user who caused or was affected by the crash. This can be a user ID, + * an email address, or an arbitrary token that uniquely identifies the + * user. When sending an error report, leave this field empty if the user + * was not logged in. In this case the Error Reporting system will use other + * data, such as remote IP address, to distinguish affected users. See + * `affected_users_count` in `ErrorGroupStats`. + */ + user?: string; + } + /** + * An error event which is returned by the Error Reporting system. + */ + interface Schema$ErrorEvent { + /** + * Data about the context in which the error occurred. + */ + context?: Schema$ErrorContext; + /** + * Time when the event occurred as provided in the error report. If the + * report did not contain a timestamp, the time the error was received by + * the Error Reporting system is used. + */ + eventTime?: string; + /** + * The stack trace that was reported or logged by the service. + */ + message?: string; + /** + * The `ServiceContext` for which this error was reported. + */ + serviceContext?: Schema$ServiceContext; + } + /** + * Description of a group of similar error events. + */ + interface Schema$ErrorGroup { + /** + * Group IDs are unique for a given project. If the same kind of error + * occurs in different service contexts, it will receive the same group ID. + */ + groupId?: string; + /** + * The group resource name. Example: + * <code>projects/my-project-123/groups/my-groupid</code> + */ + name?: string; + /** + * Associated tracking issues. + */ + trackingIssues?: Schema$TrackingIssue[]; + } + /** + * Data extracted for a specific group based on certain filter criteria, such + * as a given time period and/or service filter. + */ + interface Schema$ErrorGroupStats { + /** + * Service contexts with a non-zero error count for the given filter + * criteria. This list can be truncated if multiple services are affected. + * Refer to `num_affected_services` for the total count. + */ + affectedServices?: Schema$ServiceContext[]; + /** + * Approximate number of affected users in the given group that match the + * filter criteria. Users are distinguished by data in the `ErrorContext` of + * the individual error events, such as their login name or their remote IP + * address in case of HTTP requests. The number of affected users can be + * zero even if the number of errors is non-zero if no data was provided + * from which the affected user could be deduced. Users are counted based on + * data in the request context that was provided in the error report. If + * more users are implicitly affected, such as due to a crash of the whole + * service, this is not reflected here. + */ + affectedUsersCount?: string; + /** + * Approximate total number of events in the given group that match the + * filter criteria. + */ + count?: string; + /** + * Approximate first occurrence that was ever seen for this group and which + * matches the given filter criteria, ignoring the time_range that was + * specified in the request. + */ + firstSeenTime?: string; + /** + * Group data that is independent of the filter criteria. + */ + group?: Schema$ErrorGroup; + /** + * Approximate last occurrence that was ever seen for this group and which + * matches the given filter criteria, ignoring the time_range that was + * specified in the request. + */ + lastSeenTime?: string; + /** + * The total number of services with a non-zero error count for the given + * filter criteria. + */ + numAffectedServices?: number; + /** + * An arbitrary event that is chosen as representative for the whole group. + * The representative event is intended to be used as a quick preview for + * the whole group. Events in the group are usually sufficiently similar to + * each other such that showing an arbitrary representative provides insight + * into the characteristics of the group as a whole. + */ + representative?: Schema$ErrorEvent; + /** + * Approximate number of occurrences over time. Timed counts returned by + * ListGroups are guaranteed to be: - Inside the requested time interval - + * Non-overlapping, and - Ordered by ascending time. + */ + timedCounts?: Schema$TimedCount[]; + } + /** + * HTTP request data that is related to a reported error. This data should be + * provided by the application when reporting an error, unless the error + * report has been generated automatically from Google App Engine logs. + */ + interface Schema$HttpRequestContext { + /** + * The type of HTTP request, such as `GET`, `POST`, etc. + */ + method?: string; + /** + * The referrer information that is provided with the request. + */ + referrer?: string; + /** + * The IP address from which the request originated. This can be IPv4, IPv6, + * or a token which is derived from the IP address, depending on the data + * that has been provided in the error report. + */ + remoteIp?: string; + /** + * The HTTP response status code for the request. + */ + responseStatusCode?: number; + /** + * The URL of the request. + */ + url?: string; + /** + * The user agent information that is provided with the request. + */ + userAgent?: string; + } + /** + * Contains a set of requested error events. + */ + interface Schema$ListEventsResponse { + /** + * The error events which match the given request. + */ + errorEvents?: Schema$ErrorEvent[]; + /** + * If non-empty, more results are available. Pass this token, along with the + * same query parameters as the first request, to view the next page of + * results. + */ + nextPageToken?: string; + /** + * The timestamp specifies the start time to which the request was + * restricted. + */ + timeRangeBegin?: string; + } + /** + * Contains a set of requested error group stats. + */ + interface Schema$ListGroupStatsResponse { + /** + * The error group stats which match the given request. + */ + errorGroupStats?: Schema$ErrorGroupStats[]; + /** + * If non-empty, more results are available. Pass this token, along with the + * same query parameters as the first request, to view the next page of + * results. + */ + nextPageToken?: string; + /** + * The timestamp specifies the start time to which the request was + * restricted. The start time is set based on the requested time range. It + * may be adjusted to a later time if a project has exceeded the storage + * quota and older data has been deleted. + */ + timeRangeBegin?: string; + } + /** + * An error event which is reported to the Error Reporting system. + */ + interface Schema$ReportedErrorEvent { + /** + * [Optional] A description of the context in which the error occurred. + */ + context?: Schema$ErrorContext; + /** + * [Optional] Time when the event occurred. If not provided, the time when + * the event was received by the Error Reporting system will be used. + */ + eventTime?: string; + /** + * [Required] The error message. If no `context.reportLocation` is provided, + * the message must contain a header (typically consisting of the exception + * type name and an error message) and an exception stack trace in one of + * the supported programming languages and formats. Supported languages are + * Java, Python, JavaScript, Ruby, C#, PHP, and Go. Supported stack trace + * formats are: * **Java**: Must be the return value of + * [`Throwable.printStackTrace()`](https://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html#printStackTrace%28%29). + * * **Python**: Must be the return value of + * [`traceback.format_exc()`](https://docs.python.org/2/library/traceback.html#traceback.format_exc). + * * **JavaScript**: Must be the value of + * [`error.stack`](https://github.com/v8/v8/wiki/Stack-Trace-API) as + * returned by V8. * **Ruby**: Must contain frames returned by + * [`Exception.backtrace`](https://ruby-doc.org/core-2.2.0/Exception.html#method-i-backtrace). + * * **C#**: Must be the return value of + * [`Exception.ToString()`](https://msdn.microsoft.com/en-us/library/system.exception.tostring.aspx). + * * **PHP**: Must start with `PHP (Notice|Parse error|Fatal error|Warning)` + * and contain the result of + * [`(string)$exception`](http://php.net/manual/en/exception.tostring.php). + * * **Go**: Must be the return value of + * [`runtime.Stack()`](https://golang.org/pkg/runtime/debug/#Stack). + */ + message?: string; + /** + * [Required] The service context in which this error has occurred. + */ + serviceContext?: Schema$ServiceContext; + } + /** + * Response for reporting an individual error event. Data may be added to this + * message in the future. + */ + interface Schema$ReportErrorEventResponse { + } + /** + * Describes a running service that sends errors. Its version changes over + * time and multiple versions can run in parallel. + */ + interface Schema$ServiceContext { + /** + * Type of the MonitoredResource. List of possible values: + * https://cloud.google.com/monitoring/api/resources Value is set + * automatically for incoming errors and must not be set when reporting + * errors. + */ + resourceType?: string; + /** + * An identifier of the service, such as the name of the executable, job, or + * Google App Engine service name. This field is expected to have a low + * number of values that are relatively stable over time, as opposed to + * `version`, which can be changed whenever new code is deployed. Contains + * the service name for error reports extracted from Google App Engine logs + * or `default` if the App Engine default service is used. + */ + service?: string; + /** + * Represents the source code version that the developer provided, which + * could represent a version label or a Git SHA-1 hash, for example. For App + * Engine standard environment, the version is set to the version of the + * app. + */ + version?: string; + } + /** + * Indicates a location in the source code of the service for which errors are + * reported. `functionName` must be provided by the application when reporting + * an error, unless the error report contains a `message` with a supported + * exception stack trace. All fields are optional for the later case. + */ + interface Schema$SourceLocation { + /** + * The source code filename, which can include a truncated relative path, or + * a full path from a production machine. + */ + filePath?: string; + /** + * Human-readable name of a function or method. The value can include + * optional context like the class or package name. For example, + * `my.package.MyClass.method` in case of Java. + */ + functionName?: string; + /** + * 1-based. 0 indicates that the line number is unknown. + */ + lineNumber?: number; + } + /** + * A reference to a particular snapshot of the source tree used to build and + * deploy an application. + */ + interface Schema$SourceReference { + /** + * Optional. A URI string identifying the repository. Example: + * "https://github.com/GoogleCloudPlatform/kubernetes.git" + */ + repository?: string; + /** + * The canonical and persistent identifier of the deployed revision. Example + * (git): "0035781c50ec7aa23385dc841529ce8a4b70db1b" + */ + revisionId?: string; + } + /** + * The number of errors in a given time period. All numbers are approximate + * since the error events are sampled before counting them. + */ + interface Schema$TimedCount { + /** + * Approximate number of occurrences in the given time period. + */ + count?: string; + /** + * End of the time period to which `count` refers (excluded). + */ + endTime?: string; + /** + * Start of the time period to which `count` refers (included). + */ + startTime?: string; + } + /** + * Information related to tracking the progress on resolving the error. + */ + interface Schema$TrackingIssue { + /** + * A URL pointing to a related entry in an issue tracking system. Example: + * https://github.com/user/project/issues/4 + */ + url?: string; + } + class Resource$Projects { + root: Clouderrorreporting; + events: Resource$Projects$Events; + groups: Resource$Projects$Groups; + groupStats: Resource$Projects$Groupstats; + constructor(root: Clouderrorreporting); + getRoot(): Clouderrorreporting; + /** + * clouderrorreporting.projects.deleteEvents + * @desc Deletes all error events of a given project. + * @alias clouderrorreporting.projects.deleteEvents + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectName [Required] The resource name of the Google Cloud Platform project. Written as `projects/` plus the [Google Cloud Platform project ID](https://support.google.com/cloud/answer/6158840). Example: `projects/my-project-123`. + * @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 + */ + deleteEvents(params?: Params$Resource$Projects$Deleteevents, options?: MethodOptions): AxiosPromise; + deleteEvents(params: Params$Resource$Projects$Deleteevents, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + deleteEvents(params: Params$Resource$Projects$Deleteevents, callback: BodyResponseCallback): void; + deleteEvents(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Deleteevents { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * [Required] The resource name of the Google Cloud Platform project. + * Written as `projects/` plus the [Google Cloud Platform project + * ID](https://support.google.com/cloud/answer/6158840). Example: + * `projects/my-project-123`. + */ + projectName?: string; + } + class Resource$Projects$Events { + root: Clouderrorreporting; + constructor(root: Clouderrorreporting); + getRoot(): Clouderrorreporting; + /** + * clouderrorreporting.projects.events.list + * @desc Lists the specified events. + * @alias clouderrorreporting.projects.events.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.groupId [Required] The group for which events shall be returned. + * @param {integer=} params.pageSize [Optional] The maximum number of results to return per response. + * @param {string=} params.pageToken [Optional] A `next_page_token` provided by a previous response. + * @param {string} params.projectName [Required] The resource name of the Google Cloud Platform project. Written as `projects/` plus the [Google Cloud Platform project ID](https://support.google.com/cloud/answer/6158840). Example: `projects/my-project-123`. + * @param {string=} params.serviceFilter.resourceType [Optional] The exact value to match against [`ServiceContext.resource_type`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.resource_type). + * @param {string=} params.serviceFilter.service [Optional] The exact value to match against [`ServiceContext.service`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.service). + * @param {string=} params.serviceFilter.version [Optional] The exact value to match against [`ServiceContext.version`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.version). + * @param {string=} params.timeRange.period Restricts the query to the specified time range. + * @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?: Params$Resource$Projects$Events$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Events$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Events$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * clouderrorreporting.projects.events.report + * @desc Report an individual error event. This endpoint accepts **either** + * an OAuth token, **or** an [API + * key](https://support.google.com/cloud/answer/6158862) for authentication. + * To use an API key, append it to the URL as the value of a `key` + * parameter. For example: `POST + * https://clouderrorreporting.googleapis.com/v1beta1/projects/example-project/events:report?key=123ABC456` + * @alias clouderrorreporting.projects.events.report + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectName [Required] The resource name of the Google Cloud Platform project. Written as `projects/` plus the [Google Cloud Platform project ID](https://support.google.com/cloud/answer/6158840). Example: `projects/my-project-123`. + * @param {().ReportedErrorEvent} 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 + */ + report(params?: Params$Resource$Projects$Events$Report, options?: MethodOptions): AxiosPromise; + report(params: Params$Resource$Projects$Events$Report, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + report(params: Params$Resource$Projects$Events$Report, callback: BodyResponseCallback): void; + report(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Events$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * [Required] The group for which events shall be returned. + */ + groupId?: string; + /** + * [Optional] The maximum number of results to return per response. + */ + pageSize?: number; + /** + * [Optional] A `next_page_token` provided by a previous response. + */ + pageToken?: string; + /** + * [Required] The resource name of the Google Cloud Platform project. + * Written as `projects/` plus the [Google Cloud Platform project + * ID](https://support.google.com/cloud/answer/6158840). Example: + * `projects/my-project-123`. + */ + projectName?: string; + /** + * [Optional] The exact value to match against + * [`ServiceContext.resource_type`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.resource_type). + */ + 'serviceFilter.resourceType'?: string; + /** + * [Optional] The exact value to match against + * [`ServiceContext.service`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.service). + */ + 'serviceFilter.service'?: string; + /** + * [Optional] The exact value to match against + * [`ServiceContext.version`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.version). + */ + 'serviceFilter.version'?: string; + /** + * Restricts the query to the specified time range. + */ + 'timeRange.period'?: string; + } + interface Params$Resource$Projects$Events$Report { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * [Required] The resource name of the Google Cloud Platform project. + * Written as `projects/` plus the [Google Cloud Platform project + * ID](https://support.google.com/cloud/answer/6158840). Example: + * `projects/my-project-123`. + */ + projectName?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ReportedErrorEvent; + } + class Resource$Projects$Groups { + root: Clouderrorreporting; + constructor(root: Clouderrorreporting); + getRoot(): Clouderrorreporting; + /** + * clouderrorreporting.projects.groups.get + * @desc Get the specified group. + * @alias clouderrorreporting.projects.groups.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.groupName [Required] The group resource name. Written as projects/projectID/groups/group_name. Call groupStats.list to return a list of groups belonging to this project. Example: projects/my-project-123/groups/my-group + * @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?: Params$Resource$Projects$Groups$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Groups$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Groups$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * clouderrorreporting.projects.groups.update + * @desc Replace the data for the specified group. Fails if the group does + * not exist. + * @alias clouderrorreporting.projects.groups.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The group resource name. Example: projects/my-project-123/groups/my-groupid + * @param {().ErrorGroup} 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?: Params$Resource$Projects$Groups$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Projects$Groups$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Projects$Groups$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Groups$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * [Required] The group resource name. Written as + * projects/projectID/groups/group_name. + * Call + * groupStats.list to return a list of groups belonging to + * this project. Example: + * projects/my-project-123/groups/my-group + */ + groupName?: string; + } + interface Params$Resource$Projects$Groups$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The group resource name. Example: + * projects/my-project-123/groups/my-groupid + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ErrorGroup; + } + class Resource$Projects$Groupstats { + root: Clouderrorreporting; + constructor(root: Clouderrorreporting); + getRoot(): Clouderrorreporting; + /** + * clouderrorreporting.projects.groupStats.list + * @desc Lists the specified groups. + * @alias clouderrorreporting.projects.groupStats.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.alignment [Optional] The alignment of the timed counts to be returned. Default is `ALIGNMENT_EQUAL_AT_END`. + * @param {string=} params.alignmentTime [Optional] Time where the timed counts shall be aligned if rounded alignment is chosen. Default is 00:00 UTC. + * @param {string=} params.groupId [Optional] List all ErrorGroupStats with these IDs. + * @param {string=} params.order [Optional] The sort order in which the results are returned. Default is `COUNT_DESC`. + * @param {integer=} params.pageSize [Optional] The maximum number of results to return per response. Default is 20. + * @param {string=} params.pageToken [Optional] A `next_page_token` provided by a previous response. To view additional results, pass this token along with the identical query parameters as the first request. + * @param {string} params.projectName [Required] The resource name of the Google Cloud Platform project. Written as projects/ plus the Google Cloud Platform project ID. Example: projects/my-project-123. + * @param {string=} params.serviceFilter.resourceType [Optional] The exact value to match against [`ServiceContext.resource_type`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.resource_type). + * @param {string=} params.serviceFilter.service [Optional] The exact value to match against [`ServiceContext.service`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.service). + * @param {string=} params.serviceFilter.version [Optional] The exact value to match against [`ServiceContext.version`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.version). + * @param {string=} params.timedCountDuration [Optional] The preferred duration for a single returned `TimedCount`. If not set, no timed counts are returned. + * @param {string=} params.timeRange.period Restricts the query to the specified time range. + * @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?: Params$Resource$Projects$Groupstats$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Groupstats$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Groupstats$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Groupstats$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * [Optional] The alignment of the timed counts to be returned. Default is + * `ALIGNMENT_EQUAL_AT_END`. + */ + alignment?: string; + /** + * [Optional] Time where the timed counts shall be aligned if rounded + * alignment is chosen. Default is 00:00 UTC. + */ + alignmentTime?: string; + /** + * [Optional] List all ErrorGroupStats with these IDs. + */ + groupId?: string; + /** + * [Optional] The sort order in which the results are returned. Default is + * `COUNT_DESC`. + */ + order?: string; + /** + * [Optional] The maximum number of results to return per response. Default + * is 20. + */ + pageSize?: number; + /** + * [Optional] A `next_page_token` provided by a previous response. To view + * additional results, pass this token along with the identical query + * parameters as the first request. + */ + pageToken?: string; + /** + * [Required] The resource name of the Google Cloud Platform project. + * Written as projects/ plus the Google Cloud + * Platform project ID. Example: projects/my-project-123. + */ + projectName?: string; + /** + * [Optional] The exact value to match against + * [`ServiceContext.resource_type`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.resource_type). + */ + 'serviceFilter.resourceType'?: string; + /** + * [Optional] The exact value to match against + * [`ServiceContext.service`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.service). + */ + 'serviceFilter.service'?: string; + /** + * [Optional] The exact value to match against + * [`ServiceContext.version`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.version). + */ + 'serviceFilter.version'?: string; + /** + * [Optional] The preferred duration for a single returned `TimedCount`. If + * not set, no timed counts are returned. + */ + timedCountDuration?: string; + /** + * Restricts the query to the specified time range. + */ + 'timeRange.period'?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/clouderrorreporting/v1beta1.js b/express-server/node_modules/googleapis/build/src/apis/clouderrorreporting/v1beta1.js new file mode 100644 index 00000000..e44e4f7d --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/clouderrorreporting/v1beta1.js @@ -0,0 +1,285 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var clouderrorreporting_v1beta1; +(function (clouderrorreporting_v1beta1) { + /** + * Stackdriver Error Reporting API + * + * Groups and counts similar errors from cloud services and applications, + * reports new errors, and provides access to error groups and their + * associated errors. + * + * @example + * const {google} = require('googleapis'); + * const clouderrorreporting = google.clouderrorreporting('v1beta1'); + * + * @namespace clouderrorreporting + * @type {Function} + * @version v1beta1 + * @variation v1beta1 + * @param {object=} options Options for Clouderrorreporting + */ + class Clouderrorreporting { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.projects = new Resource$Projects(this); + } + getRoot() { + return this.root; + } + } + clouderrorreporting_v1beta1.Clouderrorreporting = Clouderrorreporting; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.events = new Resource$Projects$Events(root); + this.groups = new Resource$Projects$Groups(root); + this.groupStats = new Resource$Projects$Groupstats(root); + } + getRoot() { + return this.root; + } + deleteEvents(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://clouderrorreporting.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+projectName}/events') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['projectName'], + pathParams: ['projectName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + clouderrorreporting_v1beta1.Resource$Projects = Resource$Projects; + class Resource$Projects$Events { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://clouderrorreporting.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+projectName}/events') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectName'], + pathParams: ['projectName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + report(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://clouderrorreporting.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+projectName}/events:report') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectName'], + pathParams: ['projectName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + clouderrorreporting_v1beta1.Resource$Projects$Events = Resource$Projects$Events; + class Resource$Projects$Groups { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://clouderrorreporting.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+groupName}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['groupName'], + pathParams: ['groupName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://clouderrorreporting.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + clouderrorreporting_v1beta1.Resource$Projects$Groups = Resource$Projects$Groups; + class Resource$Projects$Groupstats { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://clouderrorreporting.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+projectName}/groupStats') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectName'], + pathParams: ['projectName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + clouderrorreporting_v1beta1.Resource$Projects$Groupstats = Resource$Projects$Groupstats; +})(clouderrorreporting_v1beta1 = exports.clouderrorreporting_v1beta1 || (exports.clouderrorreporting_v1beta1 = {})); +//# sourceMappingURL=v1beta1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/clouderrorreporting/v1beta1.js.map b/express-server/node_modules/googleapis/build/src/apis/clouderrorreporting/v1beta1.js.map new file mode 100644 index 00000000..63bc0b3c --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/clouderrorreporting/v1beta1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1beta1.js","sourceRoot":"","sources":["../../../../src/apis/clouderrorreporting/v1beta1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudfunctions/README.md b/express-server/node_modules/googleapis/build/src/apis/cloudfunctions/README.md new file mode 100644 index 00000000..f98ab919 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudfunctions/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/cloudfunctions + +> Manages lightweight user-provided functions executed in response to events. + +## Installation + +```sh +$ npm install @google/cloudfunctions +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudfunctions/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/cloudfunctions/index.d.ts new file mode 100644 index 00000000..da02f582 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudfunctions/index.d.ts @@ -0,0 +1,10 @@ +import { cloudfunctions_v1 } from './v1'; +import { cloudfunctions_v1beta2 } from './v1beta2'; +export declare const VERSIONS: { + 'v1': typeof cloudfunctions_v1.Cloudfunctions; + 'v1beta2': typeof cloudfunctions_v1beta2.Cloudfunctions; +}; +export declare function cloudfunctions(version: 'v1'): cloudfunctions_v1.Cloudfunctions; +export declare function cloudfunctions(options: cloudfunctions_v1.Options): cloudfunctions_v1.Cloudfunctions; +export declare function cloudfunctions(version: 'v1beta2'): cloudfunctions_v1beta2.Cloudfunctions; +export declare function cloudfunctions(options: cloudfunctions_v1beta2.Options): cloudfunctions_v1beta2.Cloudfunctions; diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudfunctions/index.js b/express-server/node_modules/googleapis/build/src/apis/cloudfunctions/index.js new file mode 100644 index 00000000..c1086f4e --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudfunctions/index.js @@ -0,0 +1,27 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +const v1beta2_1 = require("./v1beta2"); +exports.VERSIONS = { + 'v1': v1_1.cloudfunctions_v1.Cloudfunctions, + 'v1beta2': v1beta2_1.cloudfunctions_v1beta2.Cloudfunctions, +}; +function cloudfunctions(versionOrOptions) { + return googleapis_common_1.getAPI('cloudfunctions', versionOrOptions, exports.VERSIONS, this); +} +exports.cloudfunctions = cloudfunctions; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudfunctions/index.js.map b/express-server/node_modules/googleapis/build/src/apis/cloudfunctions/index.js.map new file mode 100644 index 00000000..25db388c --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudfunctions/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/cloudfunctions/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAuC;AACvC,uCAAiD;AAEpC,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,sBAAiB,CAAC,cAAc;IACtC,SAAS,EAAE,gCAAsB,CAAC,cAAc;CACjD,CAAC;AASF,SAAgB,cAAc,CAI1B,gBACkE;IACpE,OAAO,0BAAM,CAAI,gBAAgB,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACvE,CAAC;AAPD,wCAOC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudfunctions/package.json b/express-server/node_modules/googleapis/build/src/apis/cloudfunctions/package.json new file mode 100644 index 00000000..9ecfc91d --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudfunctions/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/cloudfunctions", + "version": "0.1.0", + "description": "cloudfunctions", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudfunctions/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/cloudfunctions/v1.d.ts new file mode 100644 index 00000000..82b0aa45 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudfunctions/v1.d.ts @@ -0,0 +1,945 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace cloudfunctions_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Cloud Functions API + * + * Manages lightweight user-provided functions executed in response to events. + * + * @example + * const {google} = require('googleapis'); + * const cloudfunctions = google.cloudfunctions('v1'); + * + * @namespace cloudfunctions + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Cloudfunctions + */ + class Cloudfunctions { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + operations: Resource$Operations; + projects: Resource$Projects; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Request for the `CallFunction` method. + */ + interface Schema$CallFunctionRequest { + /** + * Input to be passed to the function. + */ + data?: string; + } + /** + * Response of `CallFunction` method. + */ + interface Schema$CallFunctionResponse { + /** + * Either system or user-function generated error. Set if execution was not + * successful. + */ + error?: string; + /** + * Execution id of function invocation. + */ + executionId?: string; + /** + * Result populated for successful execution of synchronous function. Will + * not be populated if function does not return a result through context. + */ + result?: string; + } + /** + * Describes a Cloud Function that contains user computation executed in + * response to an event. It encapsulate function and triggers configurations. + */ + interface Schema$CloudFunction { + /** + * The amount of memory in MB available for a function. Defaults to 256MB. + */ + availableMemoryMb?: number; + /** + * User-provided description of a function. + */ + description?: string; + /** + * The name of the function (as defined in source code) that will be + * executed. Defaults to the resource name suffix, if not specified. For + * backward compatibility, if function with given name is not found, then + * the system will try to use function named "function". For + * Node.js this is name of a function exported by the module specified in + * `source_location`. + */ + entryPoint?: string; + /** + * **Beta Feature** Environment variables that shall be available during + * function execution. + */ + environmentVariables?: any; + /** + * A source that fires events in response to a condition in another service. + */ + eventTrigger?: Schema$EventTrigger; + /** + * An HTTPS endpoint type of source that can be triggered via URL. + */ + httpsTrigger?: Schema$HttpsTrigger; + /** + * Labels associated with this Cloud Function. + */ + labels?: any; + /** + * The limit on the maximum number of function instances that may coexist at + * a given time. This feature is currently in alpha, available only for + * whitelisted users. + */ + maxInstances?: number; + /** + * A user-defined name of the function. Function names must be unique + * globally and match pattern `projects/x/locations/x/functions/x + */ + name?: string; + /** + * The VPC Network that this cloud function can connect to. It can be either + * the fully-qualified URI, or the short name of the network resource. If + * the short network name is used, the network must belong to the same + * project. Otherwise, it must belong to a project within the same + * organization. The format of this field is either + * `projects/{project}/global/networks/{network}` or `{network}`, where + * {project} is a project id where the network is defined, and {network} is + * the short name of the network. See [the VPC + * documentation](https://cloud.google.com/compute/docs/vpc) for more + * information on connecting Cloud projects. This feature is currently in + * alpha, available only for whitelisted users. + */ + network?: string; + /** + * The runtime in which the function is going to run. If empty, defaults to + * Node.js 6. + */ + runtime?: string; + /** + * Output only. The email of the function's service account. + */ + serviceAccountEmail?: string; + /** + * The Google Cloud Storage URL, starting with gs://, pointing to the zip + * archive which contains the function. + */ + sourceArchiveUrl?: string; + /** + * **Beta Feature** The source repository where a function is hosted. + */ + sourceRepository?: Schema$SourceRepository; + /** + * The Google Cloud Storage signed URL used for source uploading, generated + * by google.cloud.functions.v1.GenerateUploadUrl + */ + sourceUploadUrl?: string; + /** + * Output only. Status of the function deployment. + */ + status?: string; + /** + * The function execution timeout. Execution is considered failed and can be + * terminated if the function is not completed at the end of the timeout + * period. Defaults to 60 seconds. + */ + timeout?: string; + /** + * Output only. The last update timestamp of a Cloud Function. + */ + updateTime?: string; + /** + * Output only. The version identifier of the Cloud Function. Each + * deployment attempt results in a new version of a function being created. + */ + versionId?: string; + } + /** + * Describes EventTrigger, used to request events be sent from another + * service. + */ + interface Schema$EventTrigger { + /** + * Required. The type of event to observe. For example: + * `providers/cloud.storage/eventTypes/object.change` and + * `providers/cloud.pubsub/eventTypes/topic.publish`. Event types match + * pattern `providers/x/eventTypes/*.*`. The pattern contains: 1. + * namespace: For example, `cloud.storage` and + * `google.firebase.analytics`. 2. resource type: The type of resource on + * which event occurs. For example, the Google Cloud Storage API includes + * the type `object`. 3. action: The action that generates the event. For + * example, action for a Google Cloud Storage Object is 'change'. + * These parts are lower case. + */ + eventType?: string; + /** + * Specifies policy for failed executions. + */ + failurePolicy?: Schema$FailurePolicy; + /** + * Required. The resource(s) from which to observe events, for example, + * `projects/_/buckets/myBucket`. Not all syntactically correct values are + * accepted by all services. For example: 1. The authorization model must + * support it. Google Cloud Functions only allows EventTriggers to be + * deployed that observe resources in the same project as the + * `CloudFunction`. 2. The resource type must match the pattern expected for + * an `event_type`. For example, an `EventTrigger` that has an + * `event_type` of "google.pubsub.topic.publish" should have a + * resource that matches Google Cloud Pub/Sub topics. Additionally, some + * services may support short names when creating an `EventTrigger`. These + * will always be returned in the normalized "long" format. See + * each *service's* documentation for supported formats. + */ + resource?: string; + /** + * The hostname of the service that should be observed. If no string is + * provided, the default service implementing the API will be used. For + * example, `storage.googleapis.com` is the default for all event types in + * the `google.storage` namespace. + */ + service?: string; + } + /** + * Describes the policy in case of function's execution failure. If empty, + * then defaults to ignoring failures (i.e. not retrying them). + */ + interface Schema$FailurePolicy { + /** + * If specified, then the function will be retried in case of a failure. + */ + retry?: Schema$Retry; + } + /** + * Request of `GenerateDownloadUrl` method. + */ + interface Schema$GenerateDownloadUrlRequest { + /** + * The optional version of function. If not set, default, current version is + * used. + */ + versionId?: string; + } + /** + * Response of `GenerateDownloadUrl` method. + */ + interface Schema$GenerateDownloadUrlResponse { + /** + * The generated Google Cloud Storage signed URL that should be used for + * function source code download. + */ + downloadUrl?: string; + } + /** + * Request of `GenerateSourceUploadUrl` method. + */ + interface Schema$GenerateUploadUrlRequest { + } + /** + * Response of `GenerateSourceUploadUrl` method. + */ + interface Schema$GenerateUploadUrlResponse { + /** + * The generated Google Cloud Storage signed URL that should be used for a + * function source code upload. The uploaded file should be a zip archive + * which contains a function. + */ + uploadUrl?: string; + } + /** + * Describes HttpsTrigger, could be used to connect web hooks to function. + */ + interface Schema$HttpsTrigger { + /** + * Output only. The deployed url for the function. + */ + url?: string; + } + /** + * Response for the `ListFunctions` method. + */ + interface Schema$ListFunctionsResponse { + /** + * The functions that match the request. + */ + functions?: Schema$CloudFunction[]; + /** + * If not empty, indicates that there may be more functions that match the + * request; this value should be passed in a new + * google.cloud.functions.v1.ListFunctionsRequest to get more functions. + */ + nextPageToken?: string; + } + /** + * The response message for Locations.ListLocations. + */ + interface Schema$ListLocationsResponse { + /** + * A list of locations that matches the specified filter in the request. + */ + locations?: Schema$Location[]; + /** + * The standard List next-page token. + */ + nextPageToken?: string; + } + /** + * The response message for Operations.ListOperations. + */ + interface Schema$ListOperationsResponse { + /** + * The standard List next-page token. + */ + nextPageToken?: string; + /** + * A list of operations that matches the specified filter in the request. + */ + operations?: Schema$Operation[]; + } + /** + * A resource that represents Google Cloud Platform location. + */ + interface Schema$Location { + /** + * The friendly name for this location, typically a nearby city name. For + * example, "Tokyo". + */ + displayName?: string; + /** + * Cross-service attributes for the location. For example + * {"cloud.googleapis.com/region": "us-east1"} + */ + labels?: any; + /** + * The canonical id for this location. For example: `"us-east1"`. + */ + locationId?: string; + /** + * Service-specific metadata. For example the available capacity at the + * given location. + */ + metadata?: any; + /** + * Resource name for the location, which may vary between implementations. + * For example: `"projects/example-project/locations/us-east1"` + */ + name?: string; + } + /** + * This resource represents a long-running operation that is the result of a + * network API call. + */ + interface Schema$Operation { + /** + * If the value is `false`, it means the operation is still in progress. If + * `true`, the operation is completed, and either `error` or `response` is + * available. + */ + done?: boolean; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * Service-specific metadata associated with the operation. It typically + * contains progress information and common metadata such as create time. + * Some services might not provide such metadata. Any method that returns a + * long-running operation should document the metadata type, if any. + */ + metadata?: any; + /** + * The server-assigned name, which is only unique within the same service + * that originally returns it. If you use the default HTTP mapping, the + * `name` should have the format of `operations/some/unique/name`. + */ + name?: string; + /** + * The normal response of the operation in case of success. If the original + * method returns no data on success, such as `Delete`, the response is + * `google.protobuf.Empty`. If the original method is standard + * `Get`/`Create`/`Update`, the response should be the resource. For other + * methods, the response should have the type `XxxResponse`, where `Xxx` is + * the original method name. For example, if the original method name is + * `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: any; + } + /** + * Metadata describing an Operation + */ + interface Schema$OperationMetadataV1 { + /** + * The original request that started the operation. + */ + request?: any; + /** + * Target of the operation - for example + * projects/project-1/locations/region-1/functions/function-1 + */ + target?: string; + /** + * Type of operation. + */ + type?: string; + /** + * The last update timestamp of the operation. + */ + updateTime?: string; + /** + * Version id of the function created or updated by an API call. This field + * is only pupulated for Create and Update operations. + */ + versionId?: string; + } + /** + * Metadata describing an Operation + */ + interface Schema$OperationMetadataV1Beta2 { + /** + * The original request that started the operation. + */ + request?: any; + /** + * Target of the operation - for example + * projects/project-1/locations/region-1/functions/function-1 + */ + target?: string; + /** + * Type of operation. + */ + type?: string; + /** + * The last update timestamp of the operation. + */ + updateTime?: string; + /** + * Version id of the function created or updated by an API call. This field + * is only pupulated for Create and Update operations. + */ + versionId?: string; + } + /** + * Describes the retry policy in case of function's execution failure. A + * function execution will be retried on any failure. A failed execution will + * be retried up to 7 days with an exponential backoff (capped at 10 seconds). + * Retried execution is charged as any other execution. + */ + interface Schema$Retry { + } + /** + * Describes SourceRepository, used to represent parameters related to source + * repository where a function is hosted. + */ + interface Schema$SourceRepository { + /** + * Output only. The URL pointing to the hosted repository where the function + * were defined at the time of deployment. It always points to a specific + * commit in the format described above. + */ + deployedUrl?: string; + /** + * The URL pointing to the hosted repository where the function is defined. + * There are supported Cloud Source Repository URLs in the following + * formats: To refer to a specific commit: + * `https://source.developers.google.com/projects/x/repos/x/revisions/x/paths/x + * To refer to a moveable alias (branch): + * `https://source.developers.google.com/projects/x/repos/x/moveable-aliases/x/paths/x + * In particular, to refer to HEAD use `master` moveable alias. To refer to + * a specific fixed alias (tag): + * `https://source.developers.google.com/projects/x/repos/x/fixed-aliases/x/paths/x + * You may omit `paths/x if you want to use the main directory. + */ + url?: string; + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + class Resource$Operations { + root: Cloudfunctions; + constructor(root: Cloudfunctions); + getRoot(): Cloudfunctions; + /** + * cloudfunctions.operations.get + * @desc Gets the latest state of a long-running operation. Clients can use + * this method to poll the operation result at intervals as recommended by + * the API service. + * @alias cloudfunctions.operations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource. + * @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?: Params$Resource$Operations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Operations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Operations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * cloudfunctions.operations.list + * @desc Lists operations that match the specified filter in the request. If + * the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: + * the `name` binding allows API services to override the binding to use + * different resource name schemes, such as `users/x/operations`. To + * override the binding, API services can add a binding such as + * `"/v1/{name=users/x}/operations"` to their service configuration. For + * backwards compatibility, the default name includes the operations + * collection id, however overriding users must ensure the name binding is + * the parent resource, without the operations collection id. + * @alias cloudfunctions.operations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter The standard list filter. + * @param {string=} params.name The name of the operation's parent resource. + * @param {integer=} params.pageSize The standard list page size. + * @param {string=} params.pageToken The standard list page token. + * @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?: Params$Resource$Operations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Operations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Operations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Operations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource. + */ + name?: string; + } + interface Params$Resource$Operations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The standard list filter. + */ + filter?: string; + /** + * The name of the operation's parent resource. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } + class Resource$Projects { + root: Cloudfunctions; + locations: Resource$Projects$Locations; + constructor(root: Cloudfunctions); + getRoot(): Cloudfunctions; + } + class Resource$Projects$Locations { + root: Cloudfunctions; + functions: Resource$Projects$Locations$Functions; + constructor(root: Cloudfunctions); + getRoot(): Cloudfunctions; + /** + * cloudfunctions.projects.locations.list + * @desc Lists information about the supported locations for this service. + * @alias cloudfunctions.projects.locations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter The standard list filter. + * @param {string} params.name The resource that owns the locations collection, if applicable. + * @param {integer=} params.pageSize The standard list page size. + * @param {string=} params.pageToken The standard list page token. + * @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?: Params$Resource$Projects$Locations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The standard list filter. + */ + filter?: string; + /** + * The resource that owns the locations collection, if applicable. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } + class Resource$Projects$Locations$Functions { + root: Cloudfunctions; + constructor(root: Cloudfunctions); + getRoot(): Cloudfunctions; + /** + * cloudfunctions.projects.locations.functions.call + * @desc Invokes synchronously deployed function. To be used for testing, + * very limited traffic allowed. + * @alias cloudfunctions.projects.locations.functions.call + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the function to be called. + * @param {().CallFunctionRequest} 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 + */ + call(params?: Params$Resource$Projects$Locations$Functions$Call, options?: MethodOptions): AxiosPromise; + call(params: Params$Resource$Projects$Locations$Functions$Call, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + call(params: Params$Resource$Projects$Locations$Functions$Call, callback: BodyResponseCallback): void; + call(callback: BodyResponseCallback): void; + /** + * cloudfunctions.projects.locations.functions.create + * @desc Creates a new function. If a function with the given name already + * exists in the specified project, the long running operation will return + * `ALREADY_EXISTS` error. + * @alias cloudfunctions.projects.locations.functions.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.location The project and location in which the function should be created, specified in the format `projects/x/locations/x` + * @param {().CloudFunction} 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 + */ + create(params?: Params$Resource$Projects$Locations$Functions$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Locations$Functions$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Locations$Functions$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * cloudfunctions.projects.locations.functions.delete + * @desc Deletes a function with the given name from the specified project. + * If the given function is used by some trigger, the trigger will be + * updated to remove this function. + * @alias cloudfunctions.projects.locations.functions.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the function which should be deleted. + * @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?: Params$Resource$Projects$Locations$Functions$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Locations$Functions$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Locations$Functions$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * cloudfunctions.projects.locations.functions.generateDownloadUrl + * @desc Returns a signed URL for downloading deployed function source code. + * The URL is only valid for a limited period and should be used within + * minutes after generation. For more information about the signed URL usage + * see: https://cloud.google.com/storage/docs/access-control/signed-urls + * @alias cloudfunctions.projects.locations.functions.generateDownloadUrl + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of function for which source code Google Cloud Storage signed URL should be generated. + * @param {().GenerateDownloadUrlRequest} 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 + */ + generateDownloadUrl(params?: Params$Resource$Projects$Locations$Functions$Generatedownloadurl, options?: MethodOptions): AxiosPromise; + generateDownloadUrl(params: Params$Resource$Projects$Locations$Functions$Generatedownloadurl, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + generateDownloadUrl(params: Params$Resource$Projects$Locations$Functions$Generatedownloadurl, callback: BodyResponseCallback): void; + generateDownloadUrl(callback: BodyResponseCallback): void; + /** + * cloudfunctions.projects.locations.functions.generateUploadUrl + * @desc Returns a signed URL for uploading a function source code. For more + * information about the signed URL usage see: + * https://cloud.google.com/storage/docs/access-control/signed-urls. Once + * the function source code upload is complete, the used signed URL should + * be provided in CreateFunction or UpdateFunction request as a reference to + * the function source code. When uploading source code to the generated + * signed URL, please follow these restrictions: * Source file type should + * be a zip file. * Source file size should not exceed 100MB limit. When + * making a HTTP PUT request, these two headers need to be specified: * + * `content-type: application/zip` * `x-goog-content-length-range: + * 0,104857600` + * @alias cloudfunctions.projects.locations.functions.generateUploadUrl + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent The project and location in which the Google Cloud Storage signed URL should be generated, specified in the format `projects/x/locations/x`. + * @param {().GenerateUploadUrlRequest} 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 + */ + generateUploadUrl(params?: Params$Resource$Projects$Locations$Functions$Generateuploadurl, options?: MethodOptions): AxiosPromise; + generateUploadUrl(params: Params$Resource$Projects$Locations$Functions$Generateuploadurl, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + generateUploadUrl(params: Params$Resource$Projects$Locations$Functions$Generateuploadurl, callback: BodyResponseCallback): void; + generateUploadUrl(callback: BodyResponseCallback): void; + /** + * cloudfunctions.projects.locations.functions.get + * @desc Returns a function with the given name from the requested project. + * @alias cloudfunctions.projects.locations.functions.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the function which details should be obtained. + * @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?: Params$Resource$Projects$Locations$Functions$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Locations$Functions$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Locations$Functions$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * cloudfunctions.projects.locations.functions.list + * @desc Returns a list of functions that belong to the requested project. + * @alias cloudfunctions.projects.locations.functions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Maximum number of functions to return per call. + * @param {string=} params.pageToken The value returned by the last `ListFunctionsResponse`; indicates that this is a continuation of a prior `ListFunctions` call, and that the system should return the next page of data. + * @param {string} params.parent The project and location from which the function should be listed, specified in the format `projects/x/locations/x` If you want to list functions in all locations, use "-" in place of a location. + * @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?: Params$Resource$Projects$Locations$Functions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$Functions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$Functions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * cloudfunctions.projects.locations.functions.patch + * @desc Updates existing function. + * @alias cloudfunctions.projects.locations.functions.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name A user-defined name of the function. Function names must be unique globally and match pattern `projects/x/locations/x/functions/x` + * @param {string=} params.updateMask Required list of fields to be updated in this request. + * @param {().CloudFunction} 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 + */ + patch(params?: Params$Resource$Projects$Locations$Functions$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Locations$Functions$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Locations$Functions$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Functions$Call { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the function to be called. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CallFunctionRequest; + } + interface Params$Resource$Projects$Locations$Functions$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The project and location in which the function should be created, + * specified in the format `projects/x/locations/x` + */ + location?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CloudFunction; + } + interface Params$Resource$Projects$Locations$Functions$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the function which should be deleted. + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Functions$Generatedownloadurl { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of function for which source code Google Cloud Storage signed + * URL should be generated. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GenerateDownloadUrlRequest; + } + interface Params$Resource$Projects$Locations$Functions$Generateuploadurl { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The project and location in which the Google Cloud Storage signed URL + * should be generated, specified in the format `projects/x/locations/x`. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GenerateUploadUrlRequest; + } + interface Params$Resource$Projects$Locations$Functions$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the function which details should be obtained. + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Functions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Maximum number of functions to return per call. + */ + pageSize?: number; + /** + * The value returned by the last `ListFunctionsResponse`; indicates that + * this is a continuation of a prior `ListFunctions` call, and that the + * system should return the next page of data. + */ + pageToken?: string; + /** + * The project and location from which the function should be listed, + * specified in the format `projects/x/locations/x` If you want to list + * functions in all locations, use "-" in place of a location. + */ + parent?: string; + } + interface Params$Resource$Projects$Locations$Functions$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A user-defined name of the function. Function names must be unique + * globally and match pattern `projects/x/locations/x/functions/x` + */ + name?: string; + /** + * Required list of fields to be updated in this request. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CloudFunction; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudfunctions/v1.js b/express-server/node_modules/googleapis/build/src/apis/cloudfunctions/v1.js new file mode 100644 index 00000000..78405cd8 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudfunctions/v1.js @@ -0,0 +1,433 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var cloudfunctions_v1; +(function (cloudfunctions_v1) { + /** + * Cloud Functions API + * + * Manages lightweight user-provided functions executed in response to events. + * + * @example + * const {google} = require('googleapis'); + * const cloudfunctions = google.cloudfunctions('v1'); + * + * @namespace cloudfunctions + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Cloudfunctions + */ + class Cloudfunctions { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.operations = new Resource$Operations(this); + this.projects = new Resource$Projects(this); + } + getRoot() { + return this.root; + } + } + cloudfunctions_v1.Cloudfunctions = Cloudfunctions; + class Resource$Operations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudfunctions.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudfunctions.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/operations').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + cloudfunctions_v1.Resource$Operations = Resource$Operations; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.locations = new Resource$Projects$Locations(root); + } + getRoot() { + return this.root; + } + } + cloudfunctions_v1.Resource$Projects = Resource$Projects; + class Resource$Projects$Locations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.functions = new Resource$Projects$Locations$Functions(root); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudfunctions.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}/locations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + cloudfunctions_v1.Resource$Projects$Locations = Resource$Projects$Locations; + class Resource$Projects$Locations$Functions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + call(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudfunctions.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:call').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudfunctions.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+location}/functions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['location'], + pathParams: ['location'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudfunctions.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + generateDownloadUrl(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudfunctions.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:generateDownloadUrl') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + generateUploadUrl(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudfunctions.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/functions:generateUploadUrl') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudfunctions.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudfunctions.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/functions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudfunctions.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + cloudfunctions_v1.Resource$Projects$Locations$Functions = Resource$Projects$Locations$Functions; +})(cloudfunctions_v1 = exports.cloudfunctions_v1 || (exports.cloudfunctions_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudfunctions/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/cloudfunctions/v1.js.map new file mode 100644 index 00000000..d9aeb38c --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudfunctions/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/cloudfunctions/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudfunctions/v1beta2.d.ts b/express-server/node_modules/googleapis/build/src/apis/cloudfunctions/v1beta2.d.ts new file mode 100644 index 00000000..36f4711f --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudfunctions/v1beta2.d.ts @@ -0,0 +1,960 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace cloudfunctions_v1beta2 { + interface Options extends GlobalOptions { + version: 'v1beta2'; + } + /** + * Cloud Functions API + * + * Manages lightweight user-provided functions executed in response to events. + * + * @example + * const {google} = require('googleapis'); + * const cloudfunctions = google.cloudfunctions('v1beta2'); + * + * @namespace cloudfunctions + * @type {Function} + * @version v1beta2 + * @variation v1beta2 + * @param {object=} options Options for Cloudfunctions + */ + class Cloudfunctions { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + operations: Resource$Operations; + projects: Resource$Projects; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Request for the `CallFunction` method. + */ + interface Schema$CallFunctionRequest { + /** + * Input to be passed to the function. + */ + data?: string; + } + /** + * Response of `CallFunction` method. + */ + interface Schema$CallFunctionResponse { + /** + * Either system or user-function generated error. Set if execution was not + * successful. + */ + error?: string; + /** + * Execution id of function invocation. + */ + executionId?: string; + /** + * Result populated for successful execution of synchronous function. Will + * not be populated if function does not return a result through context. + */ + result?: string; + } + /** + * Describes a Cloud Function that contains user computation executed in + * response to an event. It encapsulate function and triggers configurations. + */ + interface Schema$CloudFunction { + /** + * The amount of memory in MB available for a function. Defaults to 256MB. + */ + availableMemoryMb?: number; + /** + * The name of the function (as defined in source code) that will be + * executed. Defaults to the resource name suffix, if not specified. For + * backward compatibility, if function with given name is not found, then + * the system will try to use function named "function". For + * Node.js this is name of a function exported by the module specified in + * `source_location`. + */ + entryPoint?: string; + /** + * **Beta Feature** Environment variables that shall be available during + * function execution. + */ + environmentVariables?: any; + /** + * A source that fires events in response to a condition in another service. + */ + eventTrigger?: Schema$EventTrigger; + /** + * An HTTPS endpoint type of source that can be triggered via URL. + */ + httpsTrigger?: Schema$HTTPSTrigger; + /** + * Labels associated with this Cloud Function. + */ + labels?: any; + /** + * Output only. Name of the most recent operation modifying the function. If + * the function status is `DEPLOYING` or `DELETING`, then it points to the + * active operation. + */ + latestOperation?: string; + /** + * The limit on the maximum number of function instances that may coexist at + * a given time. This feature is currently in alpha, available only for + * whitelisted users. + */ + maxInstances?: number; + /** + * A user-defined name of the function. Function names must be unique + * globally and match pattern `projects/x/locations/x/functions/x + */ + name?: string; + /** + * The VPC Network that this cloud function can connect to. It can be either + * the fully-qualified URI, or the short name of the network resource. If + * the short network name is used, the network must belong to the same + * project. Otherwise, it must belong to a project within the same + * organization. The format of this field is either + * `projects/{project}/global/networks/{network}` or `{network}`, where + * {project} is a project id where the network is defined, and {network} is + * the short name of the network. See [the VPC + * documentation](https://cloud.google.com/compute/docs/vpc) for more + * information on connecting Cloud projects. This feature is currently in + * alpha, available only for whitelisted users. + */ + network?: string; + /** + * The runtime in which the function is going to run. If empty, defaults to + * Node.js 6. + */ + runtime?: string; + /** + * Output only. The service account of the function. + */ + serviceAccount?: string; + /** + * The Google Cloud Storage URL, starting with gs://, pointing to the zip + * archive which contains the function. + */ + sourceArchiveUrl?: string; + /** + * The hosted repository where the function is defined. + */ + sourceRepository?: Schema$SourceRepository; + /** + * The URL pointing to the hosted repository where the function is defined. + * There are supported Cloud Source Repository URLs in the following + * formats: To refer to a specific commit: + * `https://source.developers.google.com/projects/x/repos/x/revisions/x/paths/x + * To refer to a moveable alias (branch): + * `https://source.developers.google.com/projects/x/repos/x/moveable-aliases/x/paths/x + * In particular, to refer to HEAD use `master` moveable alias. To refer to + * a specific fixed alias (tag): + * `https://source.developers.google.com/projects/x/repos/x/fixed-aliases/x/paths/x + * You may omit `paths/x if you want to use the main directory. + */ + sourceRepositoryUrl?: string; + /** + * The Google Cloud Storage signed URL used for source uploading, generated + * by google.cloud.functions.v1beta2.GenerateUploadUrl + */ + sourceUploadUrl?: string; + /** + * Output only. Status of the function deployment. + */ + status?: string; + /** + * The function execution timeout. Execution is considered failed and can be + * terminated if the function is not completed at the end of the timeout + * period. Defaults to 60 seconds. + */ + timeout?: string; + /** + * Output only. The last update timestamp of a Cloud Function. + */ + updateTime?: string; + /** + * Output only. The version identifier of the Cloud Function. Each + * deployment attempt results in a new version of a function being created. + */ + versionId?: string; + } + /** + * Describes EventTrigger, used to request events be sent from another + * service. + */ + interface Schema$EventTrigger { + /** + * `event_type` names contain the service that is sending an event and the + * kind of event that was fired. Must be of the form + * `providers/x/eventTypes/x e.g. Directly handle a Message published to + * Google Cloud Pub/Sub `providers/cloud.pubsub/eventTypes/topic.publish`. + * Handle an object changing in Google Cloud Storage: + * `providers/cloud.storage/eventTypes/object.change` Handle a write to the + * Firebase Realtime Database: + * `providers/google.firebase.database/eventTypes/ref.write` + */ + eventType?: string; + /** + * Specifies policy for failed executions. + */ + failurePolicy?: Schema$FailurePolicy; + /** + * Which instance of the source's service should send events. E.g. for + * Pub/Sub this would be a Pub/Sub topic at `projects/x/topics/x. For Google + * Cloud Storage this would be a bucket at `projects/x/buckets/x. For any + * source that only supports one instance per-project, this should be the + * name of the project (`projects/x) + */ + resource?: string; + /** + * The hostname of the service that should be observed. If no string is + * provided, the default service implementing the API will be used. For + * example, `storage.googleapis.com` is the default for all event types in + * the `google.storage` namespace. + */ + service?: string; + } + /** + * Describes the policy in case of function's execution failure. If empty, + * then defaults to ignoring failures (i.e. not retrying them). + */ + interface Schema$FailurePolicy { + /** + * If specified, then the function will be retried in case of a failure. + */ + retry?: Schema$Retry; + } + /** + * Request of `GenerateDownloadUrl` method. + */ + interface Schema$GenerateDownloadUrlRequest { + /** + * The optional version of function. + */ + versionId?: string; + } + /** + * Response of `GenerateDownloadUrl` method. + */ + interface Schema$GenerateDownloadUrlResponse { + /** + * The generated Google Cloud Storage signed URL that should be used for + * function source code download. + */ + downloadUrl?: string; + } + /** + * Request of `GenerateUploadUrl` method. + */ + interface Schema$GenerateUploadUrlRequest { + } + /** + * Response of `GenerateUploadUrl` method. + */ + interface Schema$GenerateUploadUrlResponse { + /** + * The generated Google Cloud Storage signed URL that should be used for a + * function source code upload. The uploaded file should be a zip archive + * which contains a function. + */ + uploadUrl?: string; + } + /** + * Describes HTTPSTrigger, could be used to connect web hooks to function. + */ + interface Schema$HTTPSTrigger { + /** + * Output only. The deployed url for the function. + */ + url?: string; + } + /** + * Response for the `ListFunctions` method. + */ + interface Schema$ListFunctionsResponse { + /** + * The functions that match the request. + */ + functions?: Schema$CloudFunction[]; + /** + * If not empty, indicates that there may be more functions that match the + * request; this value should be passed in a new + * google.cloud.functions.v1beta2.ListFunctionsRequest to get more + * functions. + */ + nextPageToken?: string; + } + /** + * The response message for Locations.ListLocations. + */ + interface Schema$ListLocationsResponse { + /** + * A list of locations that matches the specified filter in the request. + */ + locations?: Schema$Location[]; + /** + * The standard List next-page token. + */ + nextPageToken?: string; + } + /** + * The response message for Operations.ListOperations. + */ + interface Schema$ListOperationsResponse { + /** + * The standard List next-page token. + */ + nextPageToken?: string; + /** + * A list of operations that matches the specified filter in the request. + */ + operations?: Schema$Operation[]; + } + /** + * A resource that represents Google Cloud Platform location. + */ + interface Schema$Location { + /** + * The friendly name for this location, typically a nearby city name. For + * example, "Tokyo". + */ + displayName?: string; + /** + * Cross-service attributes for the location. For example + * {"cloud.googleapis.com/region": "us-east1"} + */ + labels?: any; + /** + * The canonical id for this location. For example: `"us-east1"`. + */ + locationId?: string; + /** + * Service-specific metadata. For example the available capacity at the + * given location. + */ + metadata?: any; + /** + * Resource name for the location, which may vary between implementations. + * For example: `"projects/example-project/locations/us-east1"` + */ + name?: string; + } + /** + * This resource represents a long-running operation that is the result of a + * network API call. + */ + interface Schema$Operation { + /** + * If the value is `false`, it means the operation is still in progress. If + * `true`, the operation is completed, and either `error` or `response` is + * available. + */ + done?: boolean; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * Service-specific metadata associated with the operation. It typically + * contains progress information and common metadata such as create time. + * Some services might not provide such metadata. Any method that returns a + * long-running operation should document the metadata type, if any. + */ + metadata?: any; + /** + * The server-assigned name, which is only unique within the same service + * that originally returns it. If you use the default HTTP mapping, the + * `name` should have the format of `operations/some/unique/name`. + */ + name?: string; + /** + * The normal response of the operation in case of success. If the original + * method returns no data on success, such as `Delete`, the response is + * `google.protobuf.Empty`. If the original method is standard + * `Get`/`Create`/`Update`, the response should be the resource. For other + * methods, the response should have the type `XxxResponse`, where `Xxx` is + * the original method name. For example, if the original method name is + * `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: any; + } + /** + * Metadata describing an Operation + */ + interface Schema$OperationMetadataV1 { + /** + * The original request that started the operation. + */ + request?: any; + /** + * Target of the operation - for example + * projects/project-1/locations/region-1/functions/function-1 + */ + target?: string; + /** + * Type of operation. + */ + type?: string; + /** + * The last update timestamp of the operation. + */ + updateTime?: string; + /** + * Version id of the function created or updated by an API call. This field + * is only pupulated for Create and Update operations. + */ + versionId?: string; + } + /** + * Metadata describing an Operation + */ + interface Schema$OperationMetadataV1Beta2 { + /** + * The original request that started the operation. + */ + request?: any; + /** + * Target of the operation - for example + * projects/project-1/locations/region-1/functions/function-1 + */ + target?: string; + /** + * Type of operation. + */ + type?: string; + /** + * The last update timestamp of the operation. + */ + updateTime?: string; + /** + * Version id of the function created or updated by an API call. This field + * is only pupulated for Create and Update operations. + */ + versionId?: string; + } + /** + * Describes the retry policy in case of function's execution failure. A + * function execution will be retried on any failure. A failed execution will + * be retried up to 7 days with an exponential backoff (capped at 10 seconds). + * Retried execution is charged as any other execution. + */ + interface Schema$Retry { + } + /** + * Describes the location of the function source in a remote repository. + */ + interface Schema$SourceRepository { + /** + * The name of the branch from which the function should be fetched. + */ + branch?: string; + /** + * Output only. The id of the revision that was resolved at the moment of + * function creation or update. For example when a user deployed from a + * branch, it will be the revision id of the latest change on this branch at + * that time. If user deployed from revision then this value will be always + * equal to the revision specified by the user. + */ + deployedRevision?: string; + /** + * URL to the hosted repository where the function is defined. Only paths in + * https://source.developers.google.com domain are supported. The path + * should contain the name of the repository. + */ + repositoryUrl?: string; + /** + * The id of the revision that captures the state of the repository from + * which the function should be fetched. + */ + revision?: string; + /** + * The path within the repository where the function is defined. The path + * should point to the directory where Cloud Functions files are located. + * Use "/" if the function is defined directly in the root + * directory of a repository. + */ + sourcePath?: string; + /** + * The name of the tag that captures the state of the repository from which + * the function should be fetched. + */ + tag?: string; + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + class Resource$Operations { + root: Cloudfunctions; + constructor(root: Cloudfunctions); + getRoot(): Cloudfunctions; + /** + * cloudfunctions.operations.get + * @desc Gets the latest state of a long-running operation. Clients can use + * this method to poll the operation result at intervals as recommended by + * the API service. + * @alias cloudfunctions.operations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource. + * @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?: Params$Resource$Operations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Operations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Operations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * cloudfunctions.operations.list + * @desc Lists operations that match the specified filter in the request. If + * the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: + * the `name` binding allows API services to override the binding to use + * different resource name schemes, such as `users/x/operations`. To + * override the binding, API services can add a binding such as + * `"/v1/{name=users/x}/operations"` to their service configuration. For + * backwards compatibility, the default name includes the operations + * collection id, however overriding users must ensure the name binding is + * the parent resource, without the operations collection id. + * @alias cloudfunctions.operations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter The standard list filter. + * @param {string=} params.name The name of the operation's parent resource. + * @param {integer=} params.pageSize The standard list page size. + * @param {string=} params.pageToken The standard list page token. + * @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?: Params$Resource$Operations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Operations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Operations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Operations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource. + */ + name?: string; + } + interface Params$Resource$Operations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The standard list filter. + */ + filter?: string; + /** + * The name of the operation's parent resource. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } + class Resource$Projects { + root: Cloudfunctions; + locations: Resource$Projects$Locations; + constructor(root: Cloudfunctions); + getRoot(): Cloudfunctions; + } + class Resource$Projects$Locations { + root: Cloudfunctions; + functions: Resource$Projects$Locations$Functions; + constructor(root: Cloudfunctions); + getRoot(): Cloudfunctions; + /** + * cloudfunctions.projects.locations.list + * @desc Lists information about the supported locations for this service. + * @alias cloudfunctions.projects.locations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter The standard list filter. + * @param {string} params.name The resource that owns the locations collection, if applicable. + * @param {integer=} params.pageSize The standard list page size. + * @param {string=} params.pageToken The standard list page token. + * @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?: Params$Resource$Projects$Locations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The standard list filter. + */ + filter?: string; + /** + * The resource that owns the locations collection, if applicable. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } + class Resource$Projects$Locations$Functions { + root: Cloudfunctions; + constructor(root: Cloudfunctions); + getRoot(): Cloudfunctions; + /** + * cloudfunctions.projects.locations.functions.call + * @desc Invokes synchronously deployed function. To be used for testing, + * very limited traffic allowed. + * @alias cloudfunctions.projects.locations.functions.call + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the function to be called. + * @param {().CallFunctionRequest} 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 + */ + call(params?: Params$Resource$Projects$Locations$Functions$Call, options?: MethodOptions): AxiosPromise; + call(params: Params$Resource$Projects$Locations$Functions$Call, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + call(params: Params$Resource$Projects$Locations$Functions$Call, callback: BodyResponseCallback): void; + call(callback: BodyResponseCallback): void; + /** + * cloudfunctions.projects.locations.functions.create + * @desc Creates a new function. If a function with the given name already + * exists in the specified project, the long running operation will return + * `ALREADY_EXISTS` error. + * @alias cloudfunctions.projects.locations.functions.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.location The project and location in which the function should be created, specified in the format `projects/x/locations/x` + * @param {().CloudFunction} 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 + */ + create(params?: Params$Resource$Projects$Locations$Functions$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Locations$Functions$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Locations$Functions$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * cloudfunctions.projects.locations.functions.delete + * @desc Deletes a function with the given name from the specified project. + * If the given function is used by some trigger, the trigger will be + * updated to remove this function. + * @alias cloudfunctions.projects.locations.functions.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the function which should be deleted. + * @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?: Params$Resource$Projects$Locations$Functions$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Locations$Functions$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Locations$Functions$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * cloudfunctions.projects.locations.functions.generateDownloadUrl + * @desc Returns a signed URL for downloading deployed function source code. + * The URL is only valid for a limited period and should be used within + * minutes after generation. For more information about the signed URL usage + * see: https://cloud.google.com/storage/docs/access-control/signed-urls + * @alias cloudfunctions.projects.locations.functions.generateDownloadUrl + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of function for which source code Google Cloud Storage signed URL should be generated. + * @param {().GenerateDownloadUrlRequest} 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 + */ + generateDownloadUrl(params?: Params$Resource$Projects$Locations$Functions$Generatedownloadurl, options?: MethodOptions): AxiosPromise; + generateDownloadUrl(params: Params$Resource$Projects$Locations$Functions$Generatedownloadurl, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + generateDownloadUrl(params: Params$Resource$Projects$Locations$Functions$Generatedownloadurl, callback: BodyResponseCallback): void; + generateDownloadUrl(callback: BodyResponseCallback): void; + /** + * cloudfunctions.projects.locations.functions.generateUploadUrl + * @desc Returns a signed URL for uploading a function source code. For more + * information about the signed URL usage see: + * https://cloud.google.com/storage/docs/access-control/signed-urls Once the + * function source code upload is complete, the used signed URL should be + * provided in CreateFunction or UpdateFunction request as a reference to + * the function source code. When uploading source code to the generated + * signed URL, please follow these restrictions: * Source file type should + * be a zip file. * Source file size should not exceed 100MB limit. When + * making a HTTP PUT request, these two headers need to be specified: * + * `content-type: application/zip` * `x-goog-content-length-range: + * 0,104857600` + * @alias cloudfunctions.projects.locations.functions.generateUploadUrl + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent The project and location in which the Google Cloud Storage signed URL should be generated, specified in the format `projects/x/locations/x`. + * @param {().GenerateUploadUrlRequest} 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 + */ + generateUploadUrl(params?: Params$Resource$Projects$Locations$Functions$Generateuploadurl, options?: MethodOptions): AxiosPromise; + generateUploadUrl(params: Params$Resource$Projects$Locations$Functions$Generateuploadurl, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + generateUploadUrl(params: Params$Resource$Projects$Locations$Functions$Generateuploadurl, callback: BodyResponseCallback): void; + generateUploadUrl(callback: BodyResponseCallback): void; + /** + * cloudfunctions.projects.locations.functions.get + * @desc Returns a function with the given name from the requested project. + * @alias cloudfunctions.projects.locations.functions.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the function which details should be obtained. + * @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?: Params$Resource$Projects$Locations$Functions$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Locations$Functions$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Locations$Functions$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * cloudfunctions.projects.locations.functions.list + * @desc Returns a list of functions that belong to the requested project. + * @alias cloudfunctions.projects.locations.functions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.location The project and location from which the function should be listed, specified in the format `projects/x/locations/x` If you want to list functions in all locations, use "-" in place of a location. + * @param {integer=} params.pageSize Maximum number of functions to return per call. + * @param {string=} params.pageToken The value returned by the last `ListFunctionsResponse`; indicates that this is a continuation of a prior `ListFunctions` call, and that the system should return the next page of 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 + */ + list(params?: Params$Resource$Projects$Locations$Functions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$Functions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$Functions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * cloudfunctions.projects.locations.functions.update + * @desc Updates existing function. + * @alias cloudfunctions.projects.locations.functions.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the function to be updated. + * @param {().CloudFunction} 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?: Params$Resource$Projects$Locations$Functions$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Projects$Locations$Functions$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Projects$Locations$Functions$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Functions$Call { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the function to be called. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CallFunctionRequest; + } + interface Params$Resource$Projects$Locations$Functions$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The project and location in which the function should be created, + * specified in the format `projects/x/locations/x` + */ + location?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CloudFunction; + } + interface Params$Resource$Projects$Locations$Functions$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the function which should be deleted. + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Functions$Generatedownloadurl { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of function for which source code Google Cloud Storage signed + * URL should be generated. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GenerateDownloadUrlRequest; + } + interface Params$Resource$Projects$Locations$Functions$Generateuploadurl { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The project and location in which the Google Cloud Storage signed URL + * should be generated, specified in the format `projects/x/locations/x`. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GenerateUploadUrlRequest; + } + interface Params$Resource$Projects$Locations$Functions$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the function which details should be obtained. + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Functions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The project and location from which the function should be listed, + * specified in the format `projects/x/locations/x` If you want to list + * functions in all locations, use "-" in place of a location. + */ + location?: string; + /** + * Maximum number of functions to return per call. + */ + pageSize?: number; + /** + * The value returned by the last `ListFunctionsResponse`; indicates that + * this is a continuation of a prior `ListFunctions` call, and that the + * system should return the next page of data. + */ + pageToken?: string; + } + interface Params$Resource$Projects$Locations$Functions$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the function to be updated. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CloudFunction; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudfunctions/v1beta2.js b/express-server/node_modules/googleapis/build/src/apis/cloudfunctions/v1beta2.js new file mode 100644 index 00000000..28d19022 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudfunctions/v1beta2.js @@ -0,0 +1,435 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var cloudfunctions_v1beta2; +(function (cloudfunctions_v1beta2) { + /** + * Cloud Functions API + * + * Manages lightweight user-provided functions executed in response to events. + * + * @example + * const {google} = require('googleapis'); + * const cloudfunctions = google.cloudfunctions('v1beta2'); + * + * @namespace cloudfunctions + * @type {Function} + * @version v1beta2 + * @variation v1beta2 + * @param {object=} options Options for Cloudfunctions + */ + class Cloudfunctions { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.operations = new Resource$Operations(this); + this.projects = new Resource$Projects(this); + } + getRoot() { + return this.root; + } + } + cloudfunctions_v1beta2.Cloudfunctions = Cloudfunctions; + class Resource$Operations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudfunctions.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudfunctions.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/operations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + cloudfunctions_v1beta2.Resource$Operations = Resource$Operations; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.locations = new Resource$Projects$Locations(root); + } + getRoot() { + return this.root; + } + } + cloudfunctions_v1beta2.Resource$Projects = Resource$Projects; + class Resource$Projects$Locations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.functions = new Resource$Projects$Locations$Functions(root); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudfunctions.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+name}/locations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + cloudfunctions_v1beta2.Resource$Projects$Locations = Resource$Projects$Locations; + class Resource$Projects$Locations$Functions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + call(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudfunctions.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+name}:call') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudfunctions.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+location}/functions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['location'], + pathParams: ['location'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudfunctions.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + generateDownloadUrl(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudfunctions.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+name}:generateDownloadUrl') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + generateUploadUrl(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudfunctions.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+parent}/functions:generateUploadUrl') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudfunctions.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudfunctions.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+location}/functions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['location'], + pathParams: ['location'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudfunctions.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + cloudfunctions_v1beta2.Resource$Projects$Locations$Functions = Resource$Projects$Locations$Functions; +})(cloudfunctions_v1beta2 = exports.cloudfunctions_v1beta2 || (exports.cloudfunctions_v1beta2 = {})); +//# sourceMappingURL=v1beta2.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudfunctions/v1beta2.js.map b/express-server/node_modules/googleapis/build/src/apis/cloudfunctions/v1beta2.js.map new file mode 100644 index 00000000..83913ef8 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudfunctions/v1beta2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1beta2.js","sourceRoot":"","sources":["../../../../src/apis/cloudfunctions/v1beta2.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudiot/README.md b/express-server/node_modules/googleapis/build/src/apis/cloudiot/README.md new file mode 100644 index 00000000..673e99f3 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudiot/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/cloudiot + +> Registers and manages IoT (Internet of Things) devices that connect to the Google Cloud Platform. + +## Installation + +```sh +$ npm install @google/cloudiot +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudiot/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/cloudiot/index.d.ts new file mode 100644 index 00000000..beb73da4 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudiot/index.d.ts @@ -0,0 +1,6 @@ +import { cloudiot_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof cloudiot_v1.Cloudiot; +}; +export declare function cloudiot(version: 'v1'): cloudiot_v1.Cloudiot; +export declare function cloudiot(options: cloudiot_v1.Options): cloudiot_v1.Cloudiot; diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudiot/index.js b/express-server/node_modules/googleapis/build/src/apis/cloudiot/index.js new file mode 100644 index 00000000..b625c03d --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudiot/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.cloudiot_v1.Cloudiot, +}; +function cloudiot(versionOrOptions) { + return googleapis_common_1.getAPI('cloudiot', versionOrOptions, exports.VERSIONS, this); +} +exports.cloudiot = cloudiot; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudiot/index.js.map b/express-server/node_modules/googleapis/build/src/apis/cloudiot/index.js.map new file mode 100644 index 00000000..d2b717d3 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudiot/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/cloudiot/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAiC;AAEpB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,gBAAW,CAAC,QAAQ;CAC3B,CAAC;AAIF,SAAgB,QAAQ,CACM,gBAA0C;IACtE,OAAO,0BAAM,CAAI,UAAU,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACjE,CAAC;AAHD,4BAGC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudiot/package.json b/express-server/node_modules/googleapis/build/src/apis/cloudiot/package.json new file mode 100644 index 00000000..631e73e6 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudiot/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/cloudiot", + "version": "0.1.0", + "description": "cloudiot", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudiot/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/cloudiot/v1.d.ts new file mode 100644 index 00000000..ad8cc74f --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudiot/v1.d.ts @@ -0,0 +1,1659 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace cloudiot_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Cloud IoT API + * + * Registers and manages IoT (Internet of Things) devices that connect to the + * Google Cloud Platform. + * + * @example + * const {google} = require('googleapis'); + * const cloudiot = google.cloudiot('v1'); + * + * @namespace cloudiot + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Cloudiot + */ + class Cloudiot { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + projects: Resource$Projects; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Associates `members` with a `role`. + */ + interface Schema$Binding { + /** + * Unimplemented. The condition that is associated with this binding. NOTE: + * an unsatisfied condition will not allow user access via current binding. + * Different bindings, including their conditions, are examined + * independently. + */ + condition?: Schema$Expr; + /** + * Specifies the identities requesting access for a Cloud Platform resource. + * `members` can have the following values: * `allUsers`: A special + * identifier that represents anyone who is on the internet; with or + * without a Google account. * `allAuthenticatedUsers`: A special + * identifier that represents anyone who is authenticated with a Google + * account or a service account. * `user:{emailid}`: An email address that + * represents a specific Google account. For example, `alice@gmail.com` . + * * `serviceAccount:{emailid}`: An email address that represents a service + * account. For example, `my-other-app@appspot.gserviceaccount.com`. * + * `group:{emailid}`: An email address that represents a Google group. For + * example, `admins@example.com`. * `domain:{domain}`: A Google Apps + * domain name that represents all the users of that domain. For example, + * `google.com` or `example.com`. + */ + members?: string[]; + /** + * Role that is assigned to `members`. For example, `roles/viewer`, + * `roles/editor`, or `roles/owner`. + */ + role?: string; + } + /** + * The device resource. + */ + interface Schema$Device { + /** + * If a device is blocked, connections or requests from this device will + * fail. Can be used to temporarily prevent the device from connecting if, + * for example, the sensor is generating bad data and needs maintenance. + */ + blocked?: boolean; + /** + * The most recent device configuration, which is eventually sent from Cloud + * IoT Core to the device. If not present on creation, the configuration + * will be initialized with an empty payload and version value of `1`. To + * update this field after creation, use the + * `DeviceManager.ModifyCloudToDeviceConfig` method. + */ + config?: Schema$DeviceConfig; + /** + * The credentials used to authenticate this device. To allow credential + * rotation without interruption, multiple device credentials can be bound + * to this device. No more than 3 credentials can be bound to a single + * device at a time. When new credentials are added to a device, they are + * verified against the registry credentials. For details, see the + * description of the `DeviceRegistry.credentials` field. + */ + credentials?: Schema$DeviceCredential[]; + /** + * The user-defined device identifier. The device ID must be unique within a + * device registry. + */ + id?: string; + /** + * [Output only] The last time a cloud-to-device config version + * acknowledgment was received from the device. This field is only for + * configurations sent through MQTT. + */ + lastConfigAckTime?: string; + /** + * [Output only] The last time a cloud-to-device config version was sent to + * the device. + */ + lastConfigSendTime?: string; + /** + * [Output only] The error message of the most recent error, such as a + * failure to publish to Cloud Pub/Sub. 'last_error_time' is the + * timestamp of this field. If no errors have occurred, this field has an + * empty message and the status code 0 == OK. Otherwise, this field is + * expected to have a status code other than OK. + */ + lastErrorStatus?: Schema$Status; + /** + * [Output only] The time the most recent error occurred, such as a failure + * to publish to Cloud Pub/Sub. This field is the timestamp of + * 'last_error_status'. + */ + lastErrorTime?: string; + /** + * [Output only] The last time a telemetry event was received. Timestamps + * are periodically collected and written to storage; they may be stale by a + * few minutes. + */ + lastEventTime?: string; + /** + * [Output only] The last time an MQTT `PINGREQ` was received. This field + * applies only to devices connecting through MQTT. MQTT clients usually + * only send `PINGREQ` messages if the connection is idle, and no other + * messages have been sent. Timestamps are periodically collected and + * written to storage; they may be stale by a few minutes. + */ + lastHeartbeatTime?: string; + /** + * [Output only] The last time a state event was received. Timestamps are + * periodically collected and written to storage; they may be stale by a few + * minutes. + */ + lastStateTime?: string; + /** + * The metadata key-value pairs assigned to the device. This metadata is not + * interpreted or indexed by Cloud IoT Core. It can be used to add + * contextual information for the device. Keys must conform to the regular + * expression a-zA-Z+ and be less than 128 bytes in length. Values are + * free-form strings. Each value must be less than or equal to 32 KB in + * size. The total size of all keys and values must be less than 256 KB, + * and the maximum number of key-value pairs is 500. + */ + metadata?: any; + /** + * The resource path name. For example, + * `projects/p1/locations/us-central1/registries/registry0/devices/dev0` or + * `projects/p1/locations/us-central1/registries/registry0/devices/{num_id}`. + * When `name` is populated as a response from the service, it always ends + * in the device numeric ID. + */ + name?: string; + /** + * [Output only] A server-defined unique numeric ID for the device. This is + * a more compact way to identify devices, and it is globally unique. + */ + numId?: string; + /** + * [Output only] The state most recently received from the device. If no + * state has been reported, this field is not present. + */ + state?: Schema$DeviceState; + } + /** + * The device configuration. Eventually delivered to devices. + */ + interface Schema$DeviceConfig { + /** + * The device configuration data. + */ + binaryData?: string; + /** + * [Output only] The time at which this configuration version was updated in + * Cloud IoT Core. This timestamp is set by the server. + */ + cloudUpdateTime?: string; + /** + * [Output only] The time at which Cloud IoT Core received the + * acknowledgment from the device, indicating that the device has received + * this configuration version. If this field is not present, the device has + * not yet acknowledged that it received this version. Note that when the + * config was sent to the device, many config versions may have been + * available in Cloud IoT Core while the device was disconnected, and on + * connection, only the latest version is sent to the device. Some versions + * may never be sent to the device, and therefore are never acknowledged. + * This timestamp is set by Cloud IoT Core. + */ + deviceAckTime?: string; + /** + * [Output only] The version of this update. The version number is assigned + * by the server, and is always greater than 0 after device creation. The + * version must be 0 on the `CreateDevice` request if a `config` is + * specified; the response of `CreateDevice` will always have a value of 1. + */ + version?: string; + } + /** + * A server-stored device credential used for authentication. + */ + interface Schema$DeviceCredential { + /** + * [Optional] The time at which this credential becomes invalid. This + * credential will be ignored for new client authentication requests after + * this timestamp; however, it will not be automatically deleted. + */ + expirationTime?: string; + /** + * A public key used to verify the signature of JSON Web Tokens (JWTs). When + * adding a new device credential, either via device creation or via + * modifications, this public key credential may be required to be signed by + * one of the registry level certificates. More specifically, if the + * registry contains at least one certificate, any new device credential + * must be signed by one of the registry certificates. As a result, when the + * registry contains certificates, only X.509 certificates are accepted as + * device credentials. However, if the registry does not contain a + * certificate, self-signed certificates and public keys will be accepted. + * New device credentials must be different from every registry-level + * certificate. + */ + publicKey?: Schema$PublicKeyCredential; + } + /** + * A container for a group of devices. + */ + interface Schema$DeviceRegistry { + /** + * The credentials used to verify the device credentials. No more than 10 + * credentials can be bound to a single registry at a time. The verification + * process occurs at the time of device creation or update. If this field is + * empty, no verification is performed. Otherwise, the credentials of a + * newly created device or added credentials of an updated device should be + * signed with one of these registry credentials. Note, however, that + * existing devices will never be affected by modifications to this list of + * credentials: after a device has been successfully created in a registry, + * it should be able to connect even if its registry credentials are + * revoked, deleted, or modified. + */ + credentials?: Schema$RegistryCredential[]; + /** + * The configuration for notification of telemetry events received from the + * device. All telemetry events that were successfully published by the + * device and acknowledged by Cloud IoT Core are guaranteed to be delivered + * to Cloud Pub/Sub. If multiple configurations match a message, only the + * first matching configuration is used. If you try to publish a device + * telemetry event using MQTT without specifying a Cloud Pub/Sub topic for + * the device's registry, the connection closes automatically. If you + * try to do so using an HTTP connection, an error is returned. Up to 10 + * configurations may be provided. + */ + eventNotificationConfigs?: Schema$EventNotificationConfig[]; + /** + * The DeviceService (HTTP) configuration for this device registry. + */ + httpConfig?: Schema$HttpConfig; + /** + * The identifier of this device registry. For example, `myRegistry`. + */ + id?: string; + /** + * The MQTT configuration for this device registry. + */ + mqttConfig?: Schema$MqttConfig; + /** + * The resource path name. For example, + * `projects/example-project/locations/us-central1/registries/my-registry`. + */ + name?: string; + /** + * The configuration for notification of new states received from the + * device. State updates are guaranteed to be stored in the state history, + * but notifications to Cloud Pub/Sub are not guaranteed. For example, if + * permissions are misconfigured or the specified topic doesn't exist, + * no notification will be published but the state will still be stored in + * Cloud IoT Core. + */ + stateNotificationConfig?: Schema$StateNotificationConfig; + } + /** + * The device state, as reported by the device. + */ + interface Schema$DeviceState { + /** + * The device state data. + */ + binaryData?: string; + /** + * [Output only] The time at which this state version was updated in Cloud + * IoT Core. + */ + updateTime?: string; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * The configuration for forwarding telemetry events. + */ + interface Schema$EventNotificationConfig { + /** + * A Cloud Pub/Sub topic name. For example, + * `projects/myProject/topics/deviceEvents`. + */ + pubsubTopicName?: string; + /** + * If the subfolder name matches this string exactly, this configuration + * will be used. The string must not include the leading '/' + * character. If empty, all strings are matched. This field is used only for + * telemetry events; subfolders are not supported for state changes. + */ + subfolderMatches?: string; + } + /** + * Represents an expression text. Example: title: "User account + * presence" description: "Determines whether the request has a + * user account" expression: "size(request.user) > 0" + */ + interface Schema$Expr { + /** + * An optional description of the expression. This is a longer text which + * describes the expression, e.g. when hovered over it in a UI. + */ + description?: string; + /** + * Textual representation of an expression in Common Expression Language + * syntax. The application context of the containing message determines + * which well-known feature set of CEL is supported. + */ + expression?: string; + /** + * An optional string indicating the location of the expression for error + * reporting, e.g. a file name and a position in the file. + */ + location?: string; + /** + * An optional title for the expression, i.e. a short string describing its + * purpose. This can be used e.g. in UIs which allow to enter the + * expression. + */ + title?: string; + } + /** + * Request message for `GetIamPolicy` method. + */ + interface Schema$GetIamPolicyRequest { + } + /** + * The configuration of the HTTP bridge for a device registry. + */ + interface Schema$HttpConfig { + /** + * If enabled, allows devices to use DeviceService via the HTTP protocol. + * Otherwise, any requests to DeviceService will fail for this registry. + */ + httpEnabledState?: string; + } + /** + * Response for `ListDeviceConfigVersions`. + */ + interface Schema$ListDeviceConfigVersionsResponse { + /** + * The device configuration for the last few versions. Versions are listed + * in decreasing order, starting from the most recent one. + */ + deviceConfigs?: Schema$DeviceConfig[]; + } + /** + * Response for `ListDeviceRegistries`. + */ + interface Schema$ListDeviceRegistriesResponse { + /** + * The registries that matched the query. + */ + deviceRegistries?: Schema$DeviceRegistry[]; + /** + * If not empty, indicates that there may be more registries that match the + * request; this value should be passed in a new + * `ListDeviceRegistriesRequest`. + */ + nextPageToken?: string; + } + /** + * Response for `ListDevices`. + */ + interface Schema$ListDevicesResponse { + /** + * The devices that match the request. + */ + devices?: Schema$Device[]; + /** + * If not empty, indicates that there may be more devices that match the + * request; this value should be passed in a new `ListDevicesRequest`. + */ + nextPageToken?: string; + } + /** + * Response for `ListDeviceStates`. + */ + interface Schema$ListDeviceStatesResponse { + /** + * The last few device states. States are listed in descending order of + * server update time, starting from the most recent one. + */ + deviceStates?: Schema$DeviceState[]; + } + /** + * Request for `ModifyCloudToDeviceConfig`. + */ + interface Schema$ModifyCloudToDeviceConfigRequest { + /** + * The configuration data for the device. + */ + binaryData?: string; + /** + * The version number to update. If this value is zero, it will not check + * the version number of the server and will always update the current + * version; otherwise, this update will fail if the version number found on + * the server does not match this version number. This is used to support + * multiple simultaneous updates without losing data. + */ + versionToUpdate?: string; + } + /** + * The configuration of MQTT for a device registry. + */ + interface Schema$MqttConfig { + /** + * If enabled, allows connections using the MQTT protocol. Otherwise, MQTT + * connections to this registry will fail. + */ + mqttEnabledState?: string; + } + /** + * Defines an Identity and Access Management (IAM) policy. It is used to + * specify access control policies for Cloud Platform resources. A `Policy` + * consists of a list of `bindings`. A `binding` binds a list of `members` to + * a `role`, where the members can be user accounts, Google groups, Google + * domains, and service accounts. A `role` is a named list of permissions + * defined by IAM. **JSON Example** { "bindings": [ { + * "role": "roles/owner", "members": [ + * "user:mike@example.com", "group:admins@example.com", + * "domain:google.com", + * "serviceAccount:my-other-app@appspot.gserviceaccount.com" ] }, { + * "role": "roles/viewer", "members": + * ["user:sean@example.com"] } ] } **YAML + * Example** bindings: - members: - user:mike@example.com - + * group:admins@example.com - domain:google.com - + * serviceAccount:my-other-app@appspot.gserviceaccount.com role: + * roles/owner - members: - user:sean@example.com role: + * roles/viewer For a description of IAM and its features, see the [IAM + * developer's guide](https://cloud.google.com/iam/docs). + */ + interface Schema$Policy { + /** + * Associates a list of `members` to a `role`. `bindings` with no members + * will result in an error. + */ + bindings?: Schema$Binding[]; + /** + * `etag` is used for optimistic concurrency control as a way to help + * prevent simultaneous updates of a policy from overwriting each other. It + * is strongly suggested that systems make use of the `etag` in the + * read-modify-write cycle to perform policy updates in order to avoid race + * conditions: An `etag` is returned in the response to `getIamPolicy`, and + * systems are expected to put that etag in the request to `setIamPolicy` to + * ensure that their change will be applied to the same version of the + * policy. If no `etag` is provided in the call to `setIamPolicy`, then the + * existing policy is overwritten blindly. + */ + etag?: string; + /** + * Deprecated. + */ + version?: number; + } + /** + * A public key certificate format and data. + */ + interface Schema$PublicKeyCertificate { + /** + * The certificate data. + */ + certificate?: string; + /** + * The certificate format. + */ + format?: string; + /** + * [Output only] The certificate details. Used only for X.509 certificates. + */ + x509Details?: Schema$X509CertificateDetails; + } + /** + * A public key format and data. + */ + interface Schema$PublicKeyCredential { + /** + * The format of the key. + */ + format?: string; + /** + * The key data. + */ + key?: string; + } + /** + * A server-stored registry credential used to validate device credentials. + */ + interface Schema$RegistryCredential { + /** + * A public key certificate used to verify the device credentials. + */ + publicKeyCertificate?: Schema$PublicKeyCertificate; + } + /** + * Request message for `SetIamPolicy` method. + */ + interface Schema$SetIamPolicyRequest { + /** + * REQUIRED: The complete policy to be applied to the `resource`. The size + * of the policy is limited to a few 10s of KB. An empty policy is a valid + * policy but certain Cloud Platform services (such as Projects) might + * reject them. + */ + policy?: Schema$Policy; + } + /** + * The configuration for notification of new states received from the device. + */ + interface Schema$StateNotificationConfig { + /** + * A Cloud Pub/Sub topic name. For example, + * `projects/myProject/topics/deviceEvents`. + */ + pubsubTopicName?: string; + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + /** + * Request message for `TestIamPermissions` method. + */ + interface Schema$TestIamPermissionsRequest { + /** + * The set of permissions to check for the `resource`. Permissions with + * wildcards (such as '*' or 'storage.*') are not allowed. + * For more information see [IAM + * Overview](https://cloud.google.com/iam/docs/overview#permissions). + */ + permissions?: string[]; + } + /** + * Response message for `TestIamPermissions` method. + */ + interface Schema$TestIamPermissionsResponse { + /** + * A subset of `TestPermissionsRequest.permissions` that the caller is + * allowed. + */ + permissions?: string[]; + } + /** + * Details of an X.509 certificate. For informational purposes only. + */ + interface Schema$X509CertificateDetails { + /** + * The time the certificate becomes invalid. + */ + expiryTime?: string; + /** + * The entity that signed the certificate. + */ + issuer?: string; + /** + * The type of public key in the certificate. + */ + publicKeyType?: string; + /** + * The algorithm used to sign the certificate. + */ + signatureAlgorithm?: string; + /** + * The time the certificate becomes valid. + */ + startTime?: string; + /** + * The entity the certificate and public key belong to. + */ + subject?: string; + } + class Resource$Projects { + root: Cloudiot; + locations: Resource$Projects$Locations; + constructor(root: Cloudiot); + getRoot(): Cloudiot; + } + class Resource$Projects$Locations { + root: Cloudiot; + registries: Resource$Projects$Locations$Registries; + constructor(root: Cloudiot); + getRoot(): Cloudiot; + } + class Resource$Projects$Locations$Registries { + root: Cloudiot; + devices: Resource$Projects$Locations$Registries$Devices; + groups: Resource$Projects$Locations$Registries$Groups; + constructor(root: Cloudiot); + getRoot(): Cloudiot; + /** + * cloudiot.projects.locations.registries.create + * @desc Creates a device registry that contains devices. + * @alias cloudiot.projects.locations.registries.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent The project and cloud region where this device registry must be created. For example, `projects/example-project/locations/us-central1`. + * @param {().DeviceRegistry} 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 + */ + create(params?: Params$Resource$Projects$Locations$Registries$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Locations$Registries$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Locations$Registries$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * cloudiot.projects.locations.registries.delete + * @desc Deletes a device registry configuration. + * @alias cloudiot.projects.locations.registries.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the device registry. For example, `projects/example-project/locations/us-central1/registries/my-registry`. + * @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?: Params$Resource$Projects$Locations$Registries$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Locations$Registries$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Locations$Registries$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * cloudiot.projects.locations.registries.get + * @desc Gets a device registry configuration. + * @alias cloudiot.projects.locations.registries.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the device registry. For example, `projects/example-project/locations/us-central1/registries/my-registry`. + * @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?: Params$Resource$Projects$Locations$Registries$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Locations$Registries$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Locations$Registries$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * cloudiot.projects.locations.registries.getIamPolicy + * @desc Gets the access control policy for a resource. Returns an empty + * policy if the resource exists and does not have a policy set. + * @alias cloudiot.projects.locations.registries.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. + * @param {().GetIamPolicyRequest} 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 + */ + getIamPolicy(params?: Params$Resource$Projects$Locations$Registries$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Projects$Locations$Registries$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Projects$Locations$Registries$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * cloudiot.projects.locations.registries.list + * @desc Lists device registries. + * @alias cloudiot.projects.locations.registries.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize The maximum number of registries to return in the response. If this value is zero, the service will select a default size. A call may return fewer objects than requested. A non-empty `next_page_token` in the response indicates that more data is available. + * @param {string=} params.pageToken The value returned by the last `ListDeviceRegistriesResponse`; indicates that this is a continuation of a prior `ListDeviceRegistries` call and the system should return the next page of data. + * @param {string} params.parent The project and cloud region path. For example, `projects/example-project/locations/us-central1`. + * @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?: Params$Resource$Projects$Locations$Registries$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$Registries$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$Registries$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * cloudiot.projects.locations.registries.patch + * @desc Updates a device registry configuration. + * @alias cloudiot.projects.locations.registries.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource path name. For example, `projects/example-project/locations/us-central1/registries/my-registry`. + * @param {string=} params.updateMask Only updates the `device_registry` fields indicated by this mask. The field mask must not be empty, and it must not contain fields that are immutable or only set by the server. Mutable top-level fields: `event_notification_config`, `http_config`, `mqtt_config`, and `state_notification_config`. + * @param {().DeviceRegistry} 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 + */ + patch(params?: Params$Resource$Projects$Locations$Registries$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Locations$Registries$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Locations$Registries$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * cloudiot.projects.locations.registries.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @alias cloudiot.projects.locations.registries.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. + * @param {().SetIamPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Projects$Locations$Registries$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Projects$Locations$Registries$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Projects$Locations$Registries$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * cloudiot.projects.locations.registries.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. If + * the resource does not exist, this will return an empty set of + * permissions, not a NOT_FOUND error. + * @alias cloudiot.projects.locations.registries.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. + * @param {().TestIamPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Projects$Locations$Registries$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Projects$Locations$Registries$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Projects$Locations$Registries$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Registries$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The project and cloud region where this device registry must be created. + * For example, `projects/example-project/locations/us-central1`. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DeviceRegistry; + } + interface Params$Resource$Projects$Locations$Registries$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the device registry. For example, + * `projects/example-project/locations/us-central1/registries/my-registry`. + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Registries$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the device registry. For example, + * `projects/example-project/locations/us-central1/registries/my-registry`. + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Registries$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being requested. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GetIamPolicyRequest; + } + interface Params$Resource$Projects$Locations$Registries$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The maximum number of registries to return in the response. If this value + * is zero, the service will select a default size. A call may return fewer + * objects than requested. A non-empty `next_page_token` in the response + * indicates that more data is available. + */ + pageSize?: number; + /** + * The value returned by the last `ListDeviceRegistriesResponse`; indicates + * that this is a continuation of a prior `ListDeviceRegistries` call and + * the system should return the next page of data. + */ + pageToken?: string; + /** + * The project and cloud region path. For example, + * `projects/example-project/locations/us-central1`. + */ + parent?: string; + } + interface Params$Resource$Projects$Locations$Registries$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource path name. For example, + * `projects/example-project/locations/us-central1/registries/my-registry`. + */ + name?: string; + /** + * Only updates the `device_registry` fields indicated by this mask. The + * field mask must not be empty, and it must not contain fields that are + * immutable or only set by the server. Mutable top-level fields: + * `event_notification_config`, `http_config`, `mqtt_config`, and + * `state_notification_config`. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DeviceRegistry; + } + interface Params$Resource$Projects$Locations$Registries$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being specified. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetIamPolicyRequest; + } + interface Params$Resource$Projects$Locations$Registries$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestIamPermissionsRequest; + } + class Resource$Projects$Locations$Registries$Devices { + root: Cloudiot; + configVersions: Resource$Projects$Locations$Registries$Devices$Configversions; + states: Resource$Projects$Locations$Registries$Devices$States; + constructor(root: Cloudiot); + getRoot(): Cloudiot; + /** + * cloudiot.projects.locations.registries.devices.create + * @desc Creates a device in a device registry. + * @alias cloudiot.projects.locations.registries.devices.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent The name of the device registry where this device should be created. For example, `projects/example-project/locations/us-central1/registries/my-registry`. + * @param {().Device} 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 + */ + create(params?: Params$Resource$Projects$Locations$Registries$Devices$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Locations$Registries$Devices$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Locations$Registries$Devices$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * cloudiot.projects.locations.registries.devices.delete + * @desc Deletes a device. + * @alias cloudiot.projects.locations.registries.devices.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the device. For example, `projects/p0/locations/us-central1/registries/registry0/devices/device0` or `projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`. + * @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?: Params$Resource$Projects$Locations$Registries$Devices$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Locations$Registries$Devices$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Locations$Registries$Devices$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * cloudiot.projects.locations.registries.devices.get + * @desc Gets details about a device. + * @alias cloudiot.projects.locations.registries.devices.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.fieldMask The fields of the `Device` resource to be returned in the response. If the field mask is unset or empty, all fields are returned. + * @param {string} params.name The name of the device. For example, `projects/p0/locations/us-central1/registries/registry0/devices/device0` or `projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`. + * @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?: Params$Resource$Projects$Locations$Registries$Devices$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Locations$Registries$Devices$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Locations$Registries$Devices$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * cloudiot.projects.locations.registries.devices.list + * @desc List devices in a device registry. + * @alias cloudiot.projects.locations.registries.devices.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.deviceIds A list of device string IDs. For example, `['device0', 'device12']`. If empty, this field is ignored. Maximum IDs: 10,000 + * @param {string=} params.deviceNumIds A list of device numeric IDs. If empty, this field is ignored. Maximum IDs: 10,000. + * @param {string=} params.fieldMask The fields of the `Device` resource to be returned in the response. The fields `id` and `num_id` are always returned, along with any other fields specified. + * @param {integer=} params.pageSize The maximum number of devices to return in the response. If this value is zero, the service will select a default size. A call may return fewer objects than requested. A non-empty `next_page_token` in the response indicates that more data is available. + * @param {string=} params.pageToken The value returned by the last `ListDevicesResponse`; indicates that this is a continuation of a prior `ListDevices` call and the system should return the next page of data. + * @param {string} params.parent The device registry path. Required. For example, `projects/my-project/locations/us-central1/registries/my-registry`. + * @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?: Params$Resource$Projects$Locations$Registries$Devices$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$Registries$Devices$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$Registries$Devices$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * cloudiot.projects.locations.registries.devices.modifyCloudToDeviceConfig + * @desc Modifies the configuration for the device, which is eventually sent + * from the Cloud IoT Core servers. Returns the modified configuration + * version and its metadata. + * @alias + * cloudiot.projects.locations.registries.devices.modifyCloudToDeviceConfig + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the device. For example, `projects/p0/locations/us-central1/registries/registry0/devices/device0` or `projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`. + * @param {().ModifyCloudToDeviceConfigRequest} 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 + */ + modifyCloudToDeviceConfig(params?: Params$Resource$Projects$Locations$Registries$Devices$Modifycloudtodeviceconfig, options?: MethodOptions): AxiosPromise; + modifyCloudToDeviceConfig(params: Params$Resource$Projects$Locations$Registries$Devices$Modifycloudtodeviceconfig, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + modifyCloudToDeviceConfig(params: Params$Resource$Projects$Locations$Registries$Devices$Modifycloudtodeviceconfig, callback: BodyResponseCallback): void; + modifyCloudToDeviceConfig(callback: BodyResponseCallback): void; + /** + * cloudiot.projects.locations.registries.devices.patch + * @desc Updates a device. + * @alias cloudiot.projects.locations.registries.devices.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource path name. For example, `projects/p1/locations/us-central1/registries/registry0/devices/dev0` or `projects/p1/locations/us-central1/registries/registry0/devices/{num_id}`. When `name` is populated as a response from the service, it always ends in the device numeric ID. + * @param {string=} params.updateMask Only updates the `device` fields indicated by this mask. The field mask must not be empty, and it must not contain fields that are immutable or only set by the server. Mutable top-level fields: `credentials`, `blocked`, and `metadata` + * @param {().Device} 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 + */ + patch(params?: Params$Resource$Projects$Locations$Registries$Devices$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Locations$Registries$Devices$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Locations$Registries$Devices$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Registries$Devices$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the device registry where this device should be created. For + * example, + * `projects/example-project/locations/us-central1/registries/my-registry`. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Device; + } + interface Params$Resource$Projects$Locations$Registries$Devices$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the device. For example, + * `projects/p0/locations/us-central1/registries/registry0/devices/device0` + * or + * `projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`. + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Registries$Devices$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The fields of the `Device` resource to be returned in the response. If + * the field mask is unset or empty, all fields are returned. + */ + fieldMask?: string; + /** + * The name of the device. For example, + * `projects/p0/locations/us-central1/registries/registry0/devices/device0` + * or + * `projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`. + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Registries$Devices$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A list of device string IDs. For example, `['device0', 'device12']`. If + * empty, this field is ignored. Maximum IDs: 10,000 + */ + deviceIds?: string; + /** + * A list of device numeric IDs. If empty, this field is ignored. Maximum + * IDs: 10,000. + */ + deviceNumIds?: string; + /** + * The fields of the `Device` resource to be returned in the response. The + * fields `id` and `num_id` are always returned, along with any other fields + * specified. + */ + fieldMask?: string; + /** + * The maximum number of devices to return in the response. If this value is + * zero, the service will select a default size. A call may return fewer + * objects than requested. A non-empty `next_page_token` in the response + * indicates that more data is available. + */ + pageSize?: number; + /** + * The value returned by the last `ListDevicesResponse`; indicates that this + * is a continuation of a prior `ListDevices` call and the system should + * return the next page of data. + */ + pageToken?: string; + /** + * The device registry path. Required. For example, + * `projects/my-project/locations/us-central1/registries/my-registry`. + */ + parent?: string; + } + interface Params$Resource$Projects$Locations$Registries$Devices$Modifycloudtodeviceconfig { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the device. For example, + * `projects/p0/locations/us-central1/registries/registry0/devices/device0` + * or + * `projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ModifyCloudToDeviceConfigRequest; + } + interface Params$Resource$Projects$Locations$Registries$Devices$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource path name. For example, + * `projects/p1/locations/us-central1/registries/registry0/devices/dev0` or + * `projects/p1/locations/us-central1/registries/registry0/devices/{num_id}`. + * When `name` is populated as a response from the service, it always ends + * in the device numeric ID. + */ + name?: string; + /** + * Only updates the `device` fields indicated by this mask. The field mask + * must not be empty, and it must not contain fields that are immutable or + * only set by the server. Mutable top-level fields: `credentials`, + * `blocked`, and `metadata` + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Device; + } + class Resource$Projects$Locations$Registries$Devices$Configversions { + root: Cloudiot; + constructor(root: Cloudiot); + getRoot(): Cloudiot; + /** + * cloudiot.projects.locations.registries.devices.configVersions.list + * @desc Lists the last few versions of the device configuration in + * descending order (i.e.: newest first). + * @alias cloudiot.projects.locations.registries.devices.configVersions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the device. For example, `projects/p0/locations/us-central1/registries/registry0/devices/device0` or `projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`. + * @param {integer=} params.numVersions The number of versions to list. Versions are listed in decreasing order of the version number. The maximum number of versions retained is 10. If this value is zero, it will return all the versions available. + * @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?: Params$Resource$Projects$Locations$Registries$Devices$Configversions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$Registries$Devices$Configversions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$Registries$Devices$Configversions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Registries$Devices$Configversions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the device. For example, + * `projects/p0/locations/us-central1/registries/registry0/devices/device0` + * or + * `projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`. + */ + name?: string; + /** + * The number of versions to list. Versions are listed in decreasing order + * of the version number. The maximum number of versions retained is 10. If + * this value is zero, it will return all the versions available. + */ + numVersions?: number; + } + class Resource$Projects$Locations$Registries$Devices$States { + root: Cloudiot; + constructor(root: Cloudiot); + getRoot(): Cloudiot; + /** + * cloudiot.projects.locations.registries.devices.states.list + * @desc Lists the last few versions of the device state in descending order + * (i.e.: newest first). + * @alias cloudiot.projects.locations.registries.devices.states.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the device. For example, `projects/p0/locations/us-central1/registries/registry0/devices/device0` or `projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`. + * @param {integer=} params.numStates The number of states to list. States are listed in descending order of update time. The maximum number of states retained is 10. If this value is zero, it will return all the states available. + * @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?: Params$Resource$Projects$Locations$Registries$Devices$States$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$Registries$Devices$States$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$Registries$Devices$States$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Registries$Devices$States$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the device. For example, + * `projects/p0/locations/us-central1/registries/registry0/devices/device0` + * or + * `projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`. + */ + name?: string; + /** + * The number of states to list. States are listed in descending order of + * update time. The maximum number of states retained is 10. If this value + * is zero, it will return all the states available. + */ + numStates?: number; + } + class Resource$Projects$Locations$Registries$Groups { + root: Cloudiot; + devices: Resource$Projects$Locations$Registries$Groups$Devices; + constructor(root: Cloudiot); + getRoot(): Cloudiot; + /** + * cloudiot.projects.locations.registries.groups.getIamPolicy + * @desc Gets the access control policy for a resource. Returns an empty + * policy if the resource exists and does not have a policy set. + * @alias cloudiot.projects.locations.registries.groups.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. + * @param {().GetIamPolicyRequest} 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 + */ + getIamPolicy(params?: Params$Resource$Projects$Locations$Registries$Groups$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Projects$Locations$Registries$Groups$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Projects$Locations$Registries$Groups$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * cloudiot.projects.locations.registries.groups.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @alias cloudiot.projects.locations.registries.groups.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. + * @param {().SetIamPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Projects$Locations$Registries$Groups$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Projects$Locations$Registries$Groups$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Projects$Locations$Registries$Groups$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * cloudiot.projects.locations.registries.groups.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. If + * the resource does not exist, this will return an empty set of + * permissions, not a NOT_FOUND error. + * @alias cloudiot.projects.locations.registries.groups.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. + * @param {().TestIamPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Projects$Locations$Registries$Groups$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Projects$Locations$Registries$Groups$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Projects$Locations$Registries$Groups$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Registries$Groups$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being requested. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GetIamPolicyRequest; + } + interface Params$Resource$Projects$Locations$Registries$Groups$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being specified. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetIamPolicyRequest; + } + interface Params$Resource$Projects$Locations$Registries$Groups$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestIamPermissionsRequest; + } + class Resource$Projects$Locations$Registries$Groups$Devices { + root: Cloudiot; + configVersions: Resource$Projects$Locations$Registries$Groups$Devices$Configversions; + states: Resource$Projects$Locations$Registries$Groups$Devices$States; + constructor(root: Cloudiot); + getRoot(): Cloudiot; + /** + * cloudiot.projects.locations.registries.groups.devices.get + * @desc Gets details about a device. + * @alias cloudiot.projects.locations.registries.groups.devices.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.fieldMask The fields of the `Device` resource to be returned in the response. If the field mask is unset or empty, all fields are returned. + * @param {string} params.name The name of the device. For example, `projects/p0/locations/us-central1/registries/registry0/devices/device0` or `projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`. + * @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?: Params$Resource$Projects$Locations$Registries$Groups$Devices$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Locations$Registries$Groups$Devices$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Locations$Registries$Groups$Devices$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * cloudiot.projects.locations.registries.groups.devices.list + * @desc List devices in a device registry. + * @alias cloudiot.projects.locations.registries.groups.devices.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.deviceIds A list of device string IDs. For example, `['device0', 'device12']`. If empty, this field is ignored. Maximum IDs: 10,000 + * @param {string=} params.deviceNumIds A list of device numeric IDs. If empty, this field is ignored. Maximum IDs: 10,000. + * @param {string=} params.fieldMask The fields of the `Device` resource to be returned in the response. The fields `id` and `num_id` are always returned, along with any other fields specified. + * @param {integer=} params.pageSize The maximum number of devices to return in the response. If this value is zero, the service will select a default size. A call may return fewer objects than requested. A non-empty `next_page_token` in the response indicates that more data is available. + * @param {string=} params.pageToken The value returned by the last `ListDevicesResponse`; indicates that this is a continuation of a prior `ListDevices` call and the system should return the next page of data. + * @param {string} params.parent The device registry path. Required. For example, `projects/my-project/locations/us-central1/registries/my-registry`. + * @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?: Params$Resource$Projects$Locations$Registries$Groups$Devices$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$Registries$Groups$Devices$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$Registries$Groups$Devices$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * cloudiot.projects.locations.registries.groups.devices.modifyCloudToDeviceConfig + * @desc Modifies the configuration for the device, which is eventually sent + * from the Cloud IoT Core servers. Returns the modified configuration + * version and its metadata. + * @alias + * cloudiot.projects.locations.registries.groups.devices.modifyCloudToDeviceConfig + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the device. For example, `projects/p0/locations/us-central1/registries/registry0/devices/device0` or `projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`. + * @param {().ModifyCloudToDeviceConfigRequest} 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 + */ + modifyCloudToDeviceConfig(params?: Params$Resource$Projects$Locations$Registries$Groups$Devices$Modifycloudtodeviceconfig, options?: MethodOptions): AxiosPromise; + modifyCloudToDeviceConfig(params: Params$Resource$Projects$Locations$Registries$Groups$Devices$Modifycloudtodeviceconfig, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + modifyCloudToDeviceConfig(params: Params$Resource$Projects$Locations$Registries$Groups$Devices$Modifycloudtodeviceconfig, callback: BodyResponseCallback): void; + modifyCloudToDeviceConfig(callback: BodyResponseCallback): void; + /** + * cloudiot.projects.locations.registries.groups.devices.patch + * @desc Updates a device. + * @alias cloudiot.projects.locations.registries.groups.devices.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource path name. For example, `projects/p1/locations/us-central1/registries/registry0/devices/dev0` or `projects/p1/locations/us-central1/registries/registry0/devices/{num_id}`. When `name` is populated as a response from the service, it always ends in the device numeric ID. + * @param {string=} params.updateMask Only updates the `device` fields indicated by this mask. The field mask must not be empty, and it must not contain fields that are immutable or only set by the server. Mutable top-level fields: `credentials`, `blocked`, and `metadata` + * @param {().Device} 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 + */ + patch(params?: Params$Resource$Projects$Locations$Registries$Groups$Devices$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Locations$Registries$Groups$Devices$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Locations$Registries$Groups$Devices$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Registries$Groups$Devices$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The fields of the `Device` resource to be returned in the response. If + * the field mask is unset or empty, all fields are returned. + */ + fieldMask?: string; + /** + * The name of the device. For example, + * `projects/p0/locations/us-central1/registries/registry0/devices/device0` + * or + * `projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`. + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Registries$Groups$Devices$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A list of device string IDs. For example, `['device0', 'device12']`. If + * empty, this field is ignored. Maximum IDs: 10,000 + */ + deviceIds?: string; + /** + * A list of device numeric IDs. If empty, this field is ignored. Maximum + * IDs: 10,000. + */ + deviceNumIds?: string; + /** + * The fields of the `Device` resource to be returned in the response. The + * fields `id` and `num_id` are always returned, along with any other fields + * specified. + */ + fieldMask?: string; + /** + * The maximum number of devices to return in the response. If this value is + * zero, the service will select a default size. A call may return fewer + * objects than requested. A non-empty `next_page_token` in the response + * indicates that more data is available. + */ + pageSize?: number; + /** + * The value returned by the last `ListDevicesResponse`; indicates that this + * is a continuation of a prior `ListDevices` call and the system should + * return the next page of data. + */ + pageToken?: string; + /** + * The device registry path. Required. For example, + * `projects/my-project/locations/us-central1/registries/my-registry`. + */ + parent?: string; + } + interface Params$Resource$Projects$Locations$Registries$Groups$Devices$Modifycloudtodeviceconfig { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the device. For example, + * `projects/p0/locations/us-central1/registries/registry0/devices/device0` + * or + * `projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ModifyCloudToDeviceConfigRequest; + } + interface Params$Resource$Projects$Locations$Registries$Groups$Devices$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource path name. For example, + * `projects/p1/locations/us-central1/registries/registry0/devices/dev0` or + * `projects/p1/locations/us-central1/registries/registry0/devices/{num_id}`. + * When `name` is populated as a response from the service, it always ends + * in the device numeric ID. + */ + name?: string; + /** + * Only updates the `device` fields indicated by this mask. The field mask + * must not be empty, and it must not contain fields that are immutable or + * only set by the server. Mutable top-level fields: `credentials`, + * `blocked`, and `metadata` + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Device; + } + class Resource$Projects$Locations$Registries$Groups$Devices$Configversions { + root: Cloudiot; + constructor(root: Cloudiot); + getRoot(): Cloudiot; + /** + * cloudiot.projects.locations.registries.groups.devices.configVersions.list + * @desc Lists the last few versions of the device configuration in + * descending order (i.e.: newest first). + * @alias + * cloudiot.projects.locations.registries.groups.devices.configVersions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the device. For example, `projects/p0/locations/us-central1/registries/registry0/devices/device0` or `projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`. + * @param {integer=} params.numVersions The number of versions to list. Versions are listed in decreasing order of the version number. The maximum number of versions retained is 10. If this value is zero, it will return all the versions available. + * @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?: Params$Resource$Projects$Locations$Registries$Groups$Devices$Configversions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$Registries$Groups$Devices$Configversions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$Registries$Groups$Devices$Configversions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Registries$Groups$Devices$Configversions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the device. For example, + * `projects/p0/locations/us-central1/registries/registry0/devices/device0` + * or + * `projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`. + */ + name?: string; + /** + * The number of versions to list. Versions are listed in decreasing order + * of the version number. The maximum number of versions retained is 10. If + * this value is zero, it will return all the versions available. + */ + numVersions?: number; + } + class Resource$Projects$Locations$Registries$Groups$Devices$States { + root: Cloudiot; + constructor(root: Cloudiot); + getRoot(): Cloudiot; + /** + * cloudiot.projects.locations.registries.groups.devices.states.list + * @desc Lists the last few versions of the device state in descending order + * (i.e.: newest first). + * @alias cloudiot.projects.locations.registries.groups.devices.states.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the device. For example, `projects/p0/locations/us-central1/registries/registry0/devices/device0` or `projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`. + * @param {integer=} params.numStates The number of states to list. States are listed in descending order of update time. The maximum number of states retained is 10. If this value is zero, it will return all the states available. + * @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?: Params$Resource$Projects$Locations$Registries$Groups$Devices$States$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$Registries$Groups$Devices$States$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$Registries$Groups$Devices$States$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Registries$Groups$Devices$States$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the device. For example, + * `projects/p0/locations/us-central1/registries/registry0/devices/device0` + * or + * `projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`. + */ + name?: string; + /** + * The number of states to list. States are listed in descending order of + * update time. The maximum number of states retained is 10. If this value + * is zero, it will return all the states available. + */ + numStates?: number; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudiot/v1.js b/express-server/node_modules/googleapis/build/src/apis/cloudiot/v1.js new file mode 100644 index 00000000..c76ed420 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudiot/v1.js @@ -0,0 +1,937 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var cloudiot_v1; +(function (cloudiot_v1) { + /** + * Cloud IoT API + * + * Registers and manages IoT (Internet of Things) devices that connect to the + * Google Cloud Platform. + * + * @example + * const {google} = require('googleapis'); + * const cloudiot = google.cloudiot('v1'); + * + * @namespace cloudiot + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Cloudiot + */ + class Cloudiot { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.projects = new Resource$Projects(this); + } + getRoot() { + return this.root; + } + } + cloudiot_v1.Cloudiot = Cloudiot; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.locations = new Resource$Projects$Locations(root); + } + getRoot() { + return this.root; + } + } + cloudiot_v1.Resource$Projects = Resource$Projects; + class Resource$Projects$Locations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.registries = new Resource$Projects$Locations$Registries(root); + } + getRoot() { + return this.root; + } + } + cloudiot_v1.Resource$Projects$Locations = Resource$Projects$Locations; + class Resource$Projects$Locations$Registries { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.devices = new Resource$Projects$Locations$Registries$Devices(root); + this.groups = new Resource$Projects$Locations$Registries$Groups(root); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudiot.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/registries') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudiot.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudiot.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudiot.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudiot.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/registries') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudiot.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudiot.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudiot.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + cloudiot_v1.Resource$Projects$Locations$Registries = Resource$Projects$Locations$Registries; + class Resource$Projects$Locations$Registries$Devices { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.configVersions = + new Resource$Projects$Locations$Registries$Devices$Configversions(root); + this.states = + new Resource$Projects$Locations$Registries$Devices$States(root); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudiot.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/devices') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudiot.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudiot.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudiot.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/devices') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + modifyCloudToDeviceConfig(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudiot.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:modifyCloudToDeviceConfig') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudiot.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + cloudiot_v1.Resource$Projects$Locations$Registries$Devices = Resource$Projects$Locations$Registries$Devices; + class Resource$Projects$Locations$Registries$Devices$Configversions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudiot.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}/configVersions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + cloudiot_v1.Resource$Projects$Locations$Registries$Devices$Configversions = Resource$Projects$Locations$Registries$Devices$Configversions; + class Resource$Projects$Locations$Registries$Devices$States { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudiot.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}/states') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + cloudiot_v1.Resource$Projects$Locations$Registries$Devices$States = Resource$Projects$Locations$Registries$Devices$States; + class Resource$Projects$Locations$Registries$Groups { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.devices = + new Resource$Projects$Locations$Registries$Groups$Devices(root); + } + getRoot() { + return this.root; + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudiot.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudiot.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudiot.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + cloudiot_v1.Resource$Projects$Locations$Registries$Groups = Resource$Projects$Locations$Registries$Groups; + class Resource$Projects$Locations$Registries$Groups$Devices { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.configVersions = + new Resource$Projects$Locations$Registries$Groups$Devices$Configversions(root); + this.states = + new Resource$Projects$Locations$Registries$Groups$Devices$States(root); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudiot.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudiot.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/devices') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + modifyCloudToDeviceConfig(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudiot.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:modifyCloudToDeviceConfig') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudiot.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + cloudiot_v1.Resource$Projects$Locations$Registries$Groups$Devices = Resource$Projects$Locations$Registries$Groups$Devices; + class Resource$Projects$Locations$Registries$Groups$Devices$Configversions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudiot.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}/configVersions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + cloudiot_v1.Resource$Projects$Locations$Registries$Groups$Devices$Configversions = Resource$Projects$Locations$Registries$Groups$Devices$Configversions; + class Resource$Projects$Locations$Registries$Groups$Devices$States { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudiot.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}/states') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + cloudiot_v1.Resource$Projects$Locations$Registries$Groups$Devices$States = Resource$Projects$Locations$Registries$Groups$Devices$States; +})(cloudiot_v1 = exports.cloudiot_v1 || (exports.cloudiot_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudiot/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/cloudiot/v1.js.map new file mode 100644 index 00000000..e55b7912 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudiot/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/cloudiot/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudkms/README.md b/express-server/node_modules/googleapis/build/src/apis/cloudkms/README.md new file mode 100644 index 00000000..58bf20ff --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudkms/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/cloudkms + +> Manages keys and performs cryptographic operations in a central cloud service, for direct use by other cloud resources and applications. + +## Installation + +```sh +$ npm install @google/cloudkms +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudkms/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/cloudkms/index.d.ts new file mode 100644 index 00000000..a00b4f2e --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudkms/index.d.ts @@ -0,0 +1,6 @@ +import { cloudkms_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof cloudkms_v1.Cloudkms; +}; +export declare function cloudkms(version: 'v1'): cloudkms_v1.Cloudkms; +export declare function cloudkms(options: cloudkms_v1.Options): cloudkms_v1.Cloudkms; diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudkms/index.js b/express-server/node_modules/googleapis/build/src/apis/cloudkms/index.js new file mode 100644 index 00000000..3a6b7c27 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudkms/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.cloudkms_v1.Cloudkms, +}; +function cloudkms(versionOrOptions) { + return googleapis_common_1.getAPI('cloudkms', versionOrOptions, exports.VERSIONS, this); +} +exports.cloudkms = cloudkms; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudkms/index.js.map b/express-server/node_modules/googleapis/build/src/apis/cloudkms/index.js.map new file mode 100644 index 00000000..b1b13088 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudkms/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/cloudkms/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAiC;AAEpB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,gBAAW,CAAC,QAAQ;CAC3B,CAAC;AAIF,SAAgB,QAAQ,CACM,gBAA0C;IACtE,OAAO,0BAAM,CAAI,UAAU,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACjE,CAAC;AAHD,4BAGC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudkms/package.json b/express-server/node_modules/googleapis/build/src/apis/cloudkms/package.json new file mode 100644 index 00000000..70fbffbc --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudkms/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/cloudkms", + "version": "0.1.0", + "description": "cloudkms", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudkms/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/cloudkms/v1.d.ts new file mode 100644 index 00000000..2b2a97ee --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudkms/v1.d.ts @@ -0,0 +1,1628 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace cloudkms_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Cloud Key Management Service (KMS) API + * + * Manages keys and performs cryptographic operations in a central cloud + * service, for direct use by other cloud resources and applications. + * + * @example + * const {google} = require('googleapis'); + * const cloudkms = google.cloudkms('v1'); + * + * @namespace cloudkms + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Cloudkms + */ + class Cloudkms { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + projects: Resource$Projects; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Request message for KeyManagementService.AsymmetricDecrypt. + */ + interface Schema$AsymmetricDecryptRequest { + /** + * Required. The data encrypted with the named CryptoKeyVersion's public + * key using OAEP. + */ + ciphertext?: string; + } + /** + * Response message for KeyManagementService.AsymmetricDecrypt. + */ + interface Schema$AsymmetricDecryptResponse { + /** + * The decrypted data originally encrypted with the matching public key. + */ + plaintext?: string; + } + /** + * Request message for KeyManagementService.AsymmetricSign. + */ + interface Schema$AsymmetricSignRequest { + /** + * Required. The digest of the data to sign. The digest must be produced + * with the same digest algorithm as specified by the key version's + * algorithm. + */ + digest?: Schema$Digest; + } + /** + * Response message for KeyManagementService.AsymmetricSign. + */ + interface Schema$AsymmetricSignResponse { + /** + * The created signature. + */ + signature?: string; + } + /** + * Specifies the audit configuration for a service. The configuration + * determines which permission types are logged, and what identities, if any, + * are exempted from logging. An AuditConfig must have one or more + * AuditLogConfigs. If there are AuditConfigs for both `allServices` and a + * specific service, the union of the two AuditConfigs is used for that + * service: the log_types specified in each AuditConfig are enabled, and the + * exempted_members in each AuditLogConfig are exempted. Example Policy with + * multiple AuditConfigs: { "audit_configs": [ { + * "service": "allServices" "audit_log_configs": + * [ { "log_type": "DATA_READ", + * "exempted_members": [ "user:foo@gmail.com" ] }, { + * "log_type": "DATA_WRITE", }, { + * "log_type": "ADMIN_READ", } ] }, + * { "service": "fooservice.googleapis.com" + * "audit_log_configs": [ { "log_type": + * "DATA_READ", }, { "log_type": + * "DATA_WRITE", "exempted_members": [ + * "user:bar@gmail.com" ] } ] } + * ] } For fooservice, this policy enables DATA_READ, DATA_WRITE and + * ADMIN_READ logging. It also exempts foo@gmail.com from DATA_READ logging, + * and bar@gmail.com from DATA_WRITE logging. + */ + interface Schema$AuditConfig { + /** + * The configuration for logging of each type of permission. + */ + auditLogConfigs?: Schema$AuditLogConfig[]; + /** + * Specifies a service that will be enabled for audit logging. For example, + * `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a + * special value that covers all services. + */ + service?: string; + } + /** + * Provides the configuration for logging a type of permissions. Example: { + * "audit_log_configs": [ { "log_type": + * "DATA_READ", "exempted_members": [ + * "user:foo@gmail.com" ] }, { + * "log_type": "DATA_WRITE", } ] } This + * enables 'DATA_READ' and 'DATA_WRITE' logging, while + * exempting foo@gmail.com from DATA_READ logging. + */ + interface Schema$AuditLogConfig { + /** + * Specifies the identities that do not cause logging for this type of + * permission. Follows the same format of Binding.members. + */ + exemptedMembers?: string[]; + /** + * The log type that this config enables. + */ + logType?: string; + } + /** + * Associates `members` with a `role`. + */ + interface Schema$Binding { + /** + * Unimplemented. The condition that is associated with this binding. NOTE: + * an unsatisfied condition will not allow user access via current binding. + * Different bindings, including their conditions, are examined + * independently. + */ + condition?: Schema$Expr; + /** + * Specifies the identities requesting access for a Cloud Platform resource. + * `members` can have the following values: * `allUsers`: A special + * identifier that represents anyone who is on the internet; with or + * without a Google account. * `allAuthenticatedUsers`: A special + * identifier that represents anyone who is authenticated with a Google + * account or a service account. * `user:{emailid}`: An email address that + * represents a specific Google account. For example, `alice@gmail.com` . + * * `serviceAccount:{emailid}`: An email address that represents a service + * account. For example, `my-other-app@appspot.gserviceaccount.com`. * + * `group:{emailid}`: An email address that represents a Google group. For + * example, `admins@example.com`. * `domain:{domain}`: A Google Apps + * domain name that represents all the users of that domain. For example, + * `google.com` or `example.com`. + */ + members?: string[]; + /** + * Role that is assigned to `members`. For example, `roles/viewer`, + * `roles/editor`, or `roles/owner`. + */ + role?: string; + } + /** + * A CryptoKey represents a logical key that can be used for cryptographic + * operations. A CryptoKey is made up of one or more versions, which + * represent the actual key material used in cryptographic operations. + */ + interface Schema$CryptoKey { + /** + * Output only. The time at which this CryptoKey was created. + */ + createTime?: string; + /** + * Labels with user-defined metadata. For more information, see [Labeling + * Keys](/kms/docs/labeling-keys). + */ + labels?: any; + /** + * Output only. The resource name for this CryptoKey in the format + * `projects/x/locations/x/keyRings/x/cryptoKeys/x. + */ + name?: string; + /** + * At next_rotation_time, the Key Management Service will automatically: 1. + * Create a new version of this CryptoKey. 2. Mark the new version as + * primary. Key rotations performed manually via CreateCryptoKeyVersion and + * UpdateCryptoKeyPrimaryVersion do not affect next_rotation_time. Keys + * with purpose ENCRYPT_DECRYPT support automatic rotation. For other keys, + * this field must be omitted. + */ + nextRotationTime?: string; + /** + * Output only. A copy of the "primary" CryptoKeyVersion that will + * be used by Encrypt when this CryptoKey is given in EncryptRequest.name. + * The CryptoKey's primary version can be updated via + * UpdateCryptoKeyPrimaryVersion. All keys with purpose ENCRYPT_DECRYPT + * have a primary. For other keys, this field will be omitted. + */ + primary?: Schema$CryptoKeyVersion; + /** + * The immutable purpose of this CryptoKey. + */ + purpose?: string; + /** + * next_rotation_time will be advanced by this period when the service + * automatically rotates a key. Must be at least one day. If + * rotation_period is set, next_rotation_time must also be set. Keys with + * purpose ENCRYPT_DECRYPT support automatic rotation. For other keys, this + * field must be omitted. + */ + rotationPeriod?: string; + /** + * A template describing settings for new CryptoKeyVersion instances. The + * properties of new CryptoKeyVersion instances created by either + * CreateCryptoKeyVersion or auto-rotation are controlled by this template. + */ + versionTemplate?: Schema$CryptoKeyVersionTemplate; + } + /** + * A CryptoKeyVersion represents an individual cryptographic key, and the + * associated key material. An ENABLED version can be used for cryptographic + * operations. For security reasons, the raw cryptographic key material + * represented by a CryptoKeyVersion can never be viewed or exported. It can + * only be used to encrypt, decrypt, or sign data when an authorized user or + * application invokes Cloud KMS. + */ + interface Schema$CryptoKeyVersion { + /** + * Output only. The CryptoKeyVersionAlgorithm that this CryptoKeyVersion + * supports. + */ + algorithm?: string; + /** + * Output only. Statement that was generated and signed by the HSM at key + * creation time. Use this statement to verify attributes of the key as + * stored on the HSM, independently of Google. Only provided for key + * versions with protection_level HSM. + */ + attestation?: Schema$KeyOperationAttestation; + /** + * Output only. The time at which this CryptoKeyVersion was created. + */ + createTime?: string; + /** + * Output only. The time this CryptoKeyVersion's key material was + * destroyed. Only present if state is DESTROYED. + */ + destroyEventTime?: string; + /** + * Output only. The time this CryptoKeyVersion's key material is + * scheduled for destruction. Only present if state is DESTROY_SCHEDULED. + */ + destroyTime?: string; + /** + * Output only. The time this CryptoKeyVersion's key material was + * generated. + */ + generateTime?: string; + /** + * Output only. The resource name for this CryptoKeyVersion in the format + * `projects/x/locations/x/keyRings/x/cryptoKeys/x/cryptoKeyVersions/x. + */ + name?: string; + /** + * Output only. The ProtectionLevel describing how crypto operations are + * performed with this CryptoKeyVersion. + */ + protectionLevel?: string; + /** + * The current state of the CryptoKeyVersion. + */ + state?: string; + } + /** + * A CryptoKeyVersionTemplate specifies the properties to use when creating a + * new CryptoKeyVersion, either manually with CreateCryptoKeyVersion or + * automatically as a result of auto-rotation. + */ + interface Schema$CryptoKeyVersionTemplate { + /** + * Required. Algorithm to use when creating a CryptoKeyVersion based on this + * template. For backwards compatibility, GOOGLE_SYMMETRIC_ENCRYPTION is + * implied if both this field is omitted and CryptoKey.purpose is + * ENCRYPT_DECRYPT. + */ + algorithm?: string; + /** + * ProtectionLevel to use when creating a CryptoKeyVersion based on this + * template. Immutable. Defaults to SOFTWARE. + */ + protectionLevel?: string; + } + /** + * Request message for KeyManagementService.Decrypt. + */ + interface Schema$DecryptRequest { + /** + * Optional data that must match the data originally supplied in + * EncryptRequest.additional_authenticated_data. + */ + additionalAuthenticatedData?: string; + /** + * Required. The encrypted data originally returned in + * EncryptResponse.ciphertext. + */ + ciphertext?: string; + } + /** + * Response message for KeyManagementService.Decrypt. + */ + interface Schema$DecryptResponse { + /** + * The decrypted data originally supplied in EncryptRequest.plaintext. + */ + plaintext?: string; + } + /** + * Request message for KeyManagementService.DestroyCryptoKeyVersion. + */ + interface Schema$DestroyCryptoKeyVersionRequest { + } + /** + * A Digest holds a cryptographic message digest. + */ + interface Schema$Digest { + /** + * A message digest produced with the SHA-256 algorithm. + */ + sha256?: string; + /** + * A message digest produced with the SHA-384 algorithm. + */ + sha384?: string; + /** + * A message digest produced with the SHA-512 algorithm. + */ + sha512?: string; + } + /** + * Request message for KeyManagementService.Encrypt. + */ + interface Schema$EncryptRequest { + /** + * Optional data that, if specified, must also be provided during decryption + * through DecryptRequest.additional_authenticated_data. The maximum size + * depends on the key version's protection_level. For SOFTWARE keys, the + * AAD must be no larger than 64KiB. For HSM keys, the combined length of + * the plaintext and additional_authenticated_data fields must be no larger + * than 8KiB. + */ + additionalAuthenticatedData?: string; + /** + * Required. The data to encrypt. Must be no larger than 64KiB. The maximum + * size depends on the key version's protection_level. For SOFTWARE + * keys, the plaintext must be no larger than 64KiB. For HSM keys, the + * combined length of the plaintext and additional_authenticated_data fields + * must be no larger than 8KiB. + */ + plaintext?: string; + } + /** + * Response message for KeyManagementService.Encrypt. + */ + interface Schema$EncryptResponse { + /** + * The encrypted data. + */ + ciphertext?: string; + /** + * The resource name of the CryptoKeyVersion used in encryption. + */ + name?: string; + } + /** + * Represents an expression text. Example: title: "User account + * presence" description: "Determines whether the request has a + * user account" expression: "size(request.user) > 0" + */ + interface Schema$Expr { + /** + * An optional description of the expression. This is a longer text which + * describes the expression, e.g. when hovered over it in a UI. + */ + description?: string; + /** + * Textual representation of an expression in Common Expression Language + * syntax. The application context of the containing message determines + * which well-known feature set of CEL is supported. + */ + expression?: string; + /** + * An optional string indicating the location of the expression for error + * reporting, e.g. a file name and a position in the file. + */ + location?: string; + /** + * An optional title for the expression, i.e. a short string describing its + * purpose. This can be used e.g. in UIs which allow to enter the + * expression. + */ + title?: string; + } + /** + * Contains an HSM-generated attestation about a key operation. + */ + interface Schema$KeyOperationAttestation { + /** + * Output only. The attestation data provided by the HSM when the key + * operation was performed. + */ + content?: string; + /** + * Output only. The format of the attestation data. + */ + format?: string; + } + /** + * A KeyRing is a toplevel logical grouping of CryptoKeys. + */ + interface Schema$KeyRing { + /** + * Output only. The time at which this KeyRing was created. + */ + createTime?: string; + /** + * Output only. The resource name for the KeyRing in the format + * `projects/x/locations/x/keyRings/x. + */ + name?: string; + } + /** + * Response message for KeyManagementService.ListCryptoKeys. + */ + interface Schema$ListCryptoKeysResponse { + /** + * The list of CryptoKeys. + */ + cryptoKeys?: Schema$CryptoKey[]; + /** + * A token to retrieve next page of results. Pass this value in + * ListCryptoKeysRequest.page_token to retrieve the next page of results. + */ + nextPageToken?: string; + /** + * The total number of CryptoKeys that matched the query. + */ + totalSize?: number; + } + /** + * Response message for KeyManagementService.ListCryptoKeyVersions. + */ + interface Schema$ListCryptoKeyVersionsResponse { + /** + * The list of CryptoKeyVersions. + */ + cryptoKeyVersions?: Schema$CryptoKeyVersion[]; + /** + * A token to retrieve next page of results. Pass this value in + * ListCryptoKeyVersionsRequest.page_token to retrieve the next page of + * results. + */ + nextPageToken?: string; + /** + * The total number of CryptoKeyVersions that matched the query. + */ + totalSize?: number; + } + /** + * Response message for KeyManagementService.ListKeyRings. + */ + interface Schema$ListKeyRingsResponse { + /** + * The list of KeyRings. + */ + keyRings?: Schema$KeyRing[]; + /** + * A token to retrieve next page of results. Pass this value in + * ListKeyRingsRequest.page_token to retrieve the next page of results. + */ + nextPageToken?: string; + /** + * The total number of KeyRings that matched the query. + */ + totalSize?: number; + } + /** + * The response message for Locations.ListLocations. + */ + interface Schema$ListLocationsResponse { + /** + * A list of locations that matches the specified filter in the request. + */ + locations?: Schema$Location[]; + /** + * The standard List next-page token. + */ + nextPageToken?: string; + } + /** + * A resource that represents Google Cloud Platform location. + */ + interface Schema$Location { + /** + * The friendly name for this location, typically a nearby city name. For + * example, "Tokyo". + */ + displayName?: string; + /** + * Cross-service attributes for the location. For example + * {"cloud.googleapis.com/region": "us-east1"} + */ + labels?: any; + /** + * The canonical id for this location. For example: `"us-east1"`. + */ + locationId?: string; + /** + * Service-specific metadata. For example the available capacity at the + * given location. + */ + metadata?: any; + /** + * Resource name for the location, which may vary between implementations. + * For example: `"projects/example-project/locations/us-east1"` + */ + name?: string; + } + /** + * Cloud KMS metadata for the given google.cloud.location.Location. + */ + interface Schema$LocationMetadata { + /** + * Indicates whether CryptoKeys with protection_level HSM can be created in + * this location. + */ + hsmAvailable?: boolean; + } + /** + * Defines an Identity and Access Management (IAM) policy. It is used to + * specify access control policies for Cloud Platform resources. A `Policy` + * consists of a list of `bindings`. A `binding` binds a list of `members` to + * a `role`, where the members can be user accounts, Google groups, Google + * domains, and service accounts. A `role` is a named list of permissions + * defined by IAM. **JSON Example** { "bindings": [ { + * "role": "roles/owner", "members": [ + * "user:mike@example.com", "group:admins@example.com", + * "domain:google.com", + * "serviceAccount:my-other-app@appspot.gserviceaccount.com" ] }, { + * "role": "roles/viewer", "members": + * ["user:sean@example.com"] } ] } **YAML + * Example** bindings: - members: - user:mike@example.com - + * group:admins@example.com - domain:google.com - + * serviceAccount:my-other-app@appspot.gserviceaccount.com role: + * roles/owner - members: - user:sean@example.com role: + * roles/viewer For a description of IAM and its features, see the [IAM + * developer's guide](https://cloud.google.com/iam/docs). + */ + interface Schema$Policy { + /** + * Specifies cloud audit logging configuration for this policy. + */ + auditConfigs?: Schema$AuditConfig[]; + /** + * Associates a list of `members` to a `role`. `bindings` with no members + * will result in an error. + */ + bindings?: Schema$Binding[]; + /** + * `etag` is used for optimistic concurrency control as a way to help + * prevent simultaneous updates of a policy from overwriting each other. It + * is strongly suggested that systems make use of the `etag` in the + * read-modify-write cycle to perform policy updates in order to avoid race + * conditions: An `etag` is returned in the response to `getIamPolicy`, and + * systems are expected to put that etag in the request to `setIamPolicy` to + * ensure that their change will be applied to the same version of the + * policy. If no `etag` is provided in the call to `setIamPolicy`, then the + * existing policy is overwritten blindly. + */ + etag?: string; + /** + * Deprecated. + */ + version?: number; + } + /** + * The public key for a given CryptoKeyVersion. Obtained via GetPublicKey. + */ + interface Schema$PublicKey { + /** + * The Algorithm associated with this key. + */ + algorithm?: string; + /** + * The public key, encoded in PEM format. For more information, see the [RFC + * 7468](https://tools.ietf.org/html/rfc7468) sections for [General + * Considerations](https://tools.ietf.org/html/rfc7468#section-2) and + * [Textual Encoding of Subject Public Key Info] + * (https://tools.ietf.org/html/rfc7468#section-13). + */ + pem?: string; + } + /** + * Request message for KeyManagementService.RestoreCryptoKeyVersion. + */ + interface Schema$RestoreCryptoKeyVersionRequest { + } + /** + * Request message for `SetIamPolicy` method. + */ + interface Schema$SetIamPolicyRequest { + /** + * REQUIRED: The complete policy to be applied to the `resource`. The size + * of the policy is limited to a few 10s of KB. An empty policy is a valid + * policy but certain Cloud Platform services (such as Projects) might + * reject them. + */ + policy?: Schema$Policy; + /** + * OPTIONAL: A FieldMask specifying which fields of the policy to modify. + * Only the fields in the mask will be modified. If no mask is provided, the + * following default mask is used: paths: "bindings, etag" This + * field is only used by Cloud IAM. + */ + updateMask?: string; + } + /** + * Request message for `TestIamPermissions` method. + */ + interface Schema$TestIamPermissionsRequest { + /** + * The set of permissions to check for the `resource`. Permissions with + * wildcards (such as '*' or 'storage.*') are not allowed. + * For more information see [IAM + * Overview](https://cloud.google.com/iam/docs/overview#permissions). + */ + permissions?: string[]; + } + /** + * Response message for `TestIamPermissions` method. + */ + interface Schema$TestIamPermissionsResponse { + /** + * A subset of `TestPermissionsRequest.permissions` that the caller is + * allowed. + */ + permissions?: string[]; + } + /** + * Request message for KeyManagementService.UpdateCryptoKeyPrimaryVersion. + */ + interface Schema$UpdateCryptoKeyPrimaryVersionRequest { + /** + * The id of the child CryptoKeyVersion to use as primary. + */ + cryptoKeyVersionId?: string; + } + class Resource$Projects { + root: Cloudkms; + locations: Resource$Projects$Locations; + constructor(root: Cloudkms); + getRoot(): Cloudkms; + } + class Resource$Projects$Locations { + root: Cloudkms; + keyRings: Resource$Projects$Locations$Keyrings; + constructor(root: Cloudkms); + getRoot(): Cloudkms; + /** + * cloudkms.projects.locations.get + * @desc Gets information about a location. + * @alias cloudkms.projects.locations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Resource name for the location. + * @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?: Params$Resource$Projects$Locations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Locations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Locations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * cloudkms.projects.locations.list + * @desc Lists information about the supported locations for this service. + * @alias cloudkms.projects.locations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter The standard list filter. + * @param {string} params.name The resource that owns the locations collection, if applicable. + * @param {integer=} params.pageSize The standard list page size. + * @param {string=} params.pageToken The standard list page token. + * @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?: Params$Resource$Projects$Locations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Resource name for the location. + */ + name?: string; + } + interface Params$Resource$Projects$Locations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The standard list filter. + */ + filter?: string; + /** + * The resource that owns the locations collection, if applicable. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } + class Resource$Projects$Locations$Keyrings { + root: Cloudkms; + cryptoKeys: Resource$Projects$Locations$Keyrings$Cryptokeys; + constructor(root: Cloudkms); + getRoot(): Cloudkms; + /** + * cloudkms.projects.locations.keyRings.create + * @desc Create a new KeyRing in a given Project and Location. + * @alias cloudkms.projects.locations.keyRings.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.keyRingId Required. It must be unique within a location and match the regular expression `[a-zA-Z0-9_-]{1,63}` + * @param {string} params.parent Required. The resource name of the location associated with the KeyRings, in the format `projects/x/locations/x`. + * @param {().KeyRing} 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 + */ + create(params?: Params$Resource$Projects$Locations$Keyrings$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Locations$Keyrings$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Locations$Keyrings$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * cloudkms.projects.locations.keyRings.get + * @desc Returns metadata for a given KeyRing. + * @alias cloudkms.projects.locations.keyRings.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the KeyRing to get. + * @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?: Params$Resource$Projects$Locations$Keyrings$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Locations$Keyrings$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Locations$Keyrings$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * cloudkms.projects.locations.keyRings.getIamPolicy + * @desc Gets the access control policy for a resource. Returns an empty + * policy if the resource exists and does not have a policy set. + * @alias cloudkms.projects.locations.keyRings.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. + * @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 + */ + getIamPolicy(params?: Params$Resource$Projects$Locations$Keyrings$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Projects$Locations$Keyrings$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Projects$Locations$Keyrings$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * cloudkms.projects.locations.keyRings.list + * @desc Lists KeyRings. + * @alias cloudkms.projects.locations.keyRings.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Optional limit on the number of KeyRings to include in the response. Further KeyRings can subsequently be obtained by including the ListKeyRingsResponse.next_page_token in a subsequent request. If unspecified, the server will pick an appropriate default. + * @param {string=} params.pageToken Optional pagination token, returned earlier via ListKeyRingsResponse.next_page_token. + * @param {string} params.parent Required. The resource name of the location associated with the KeyRings, in the format `projects/x/locations/x`. + * @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?: Params$Resource$Projects$Locations$Keyrings$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$Keyrings$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$Keyrings$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * cloudkms.projects.locations.keyRings.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @alias cloudkms.projects.locations.keyRings.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. + * @param {().SetIamPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Projects$Locations$Keyrings$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Projects$Locations$Keyrings$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Projects$Locations$Keyrings$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * cloudkms.projects.locations.keyRings.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. If + * the resource does not exist, this will return an empty set of + * permissions, not a NOT_FOUND error. Note: This operation is designed to + * be used for building permission-aware UIs and command-line tools, not for + * authorization checking. This operation may "fail open" without warning. + * @alias cloudkms.projects.locations.keyRings.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. + * @param {().TestIamPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Projects$Locations$Keyrings$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Projects$Locations$Keyrings$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Projects$Locations$Keyrings$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Keyrings$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. It must be unique within a location and match the regular + * expression `[a-zA-Z0-9_-]{1,63}` + */ + keyRingId?: string; + /** + * Required. The resource name of the location associated with the KeyRings, + * in the format `projects/x/locations/x`. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$KeyRing; + } + interface Params$Resource$Projects$Locations$Keyrings$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the KeyRing to get. + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Keyrings$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being requested. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + } + interface Params$Resource$Projects$Locations$Keyrings$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional limit on the number of KeyRings to include in the response. + * Further KeyRings can subsequently be obtained by including the + * ListKeyRingsResponse.next_page_token in a subsequent request. If + * unspecified, the server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional pagination token, returned earlier via + * ListKeyRingsResponse.next_page_token. + */ + pageToken?: string; + /** + * Required. The resource name of the location associated with the KeyRings, + * in the format `projects/x/locations/x`. + */ + parent?: string; + } + interface Params$Resource$Projects$Locations$Keyrings$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being specified. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetIamPolicyRequest; + } + interface Params$Resource$Projects$Locations$Keyrings$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestIamPermissionsRequest; + } + class Resource$Projects$Locations$Keyrings$Cryptokeys { + root: Cloudkms; + cryptoKeyVersions: Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions; + constructor(root: Cloudkms); + getRoot(): Cloudkms; + /** + * cloudkms.projects.locations.keyRings.cryptoKeys.create + * @desc Create a new CryptoKey within a KeyRing. CryptoKey.purpose and + * CryptoKey.version_template.algorithm are required. + * @alias cloudkms.projects.locations.keyRings.cryptoKeys.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.cryptoKeyId Required. It must be unique within a KeyRing and match the regular expression `[a-zA-Z0-9_-]{1,63}` + * @param {string} params.parent Required. The name of the KeyRing associated with the CryptoKeys. + * @param {().CryptoKey} 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 + */ + create(params?: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * cloudkms.projects.locations.keyRings.cryptoKeys.decrypt + * @desc Decrypts data that was protected by Encrypt. The CryptoKey.purpose + * must be ENCRYPT_DECRYPT. + * @alias cloudkms.projects.locations.keyRings.cryptoKeys.decrypt + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The resource name of the CryptoKey to use for decryption. The server will choose the appropriate version. + * @param {().DecryptRequest} 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 + */ + decrypt(params?: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Decrypt, options?: MethodOptions): AxiosPromise; + decrypt(params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Decrypt, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + decrypt(params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Decrypt, callback: BodyResponseCallback): void; + decrypt(callback: BodyResponseCallback): void; + /** + * cloudkms.projects.locations.keyRings.cryptoKeys.encrypt + * @desc Encrypts data, so that it can only be recovered by a call to + * Decrypt. The CryptoKey.purpose must be ENCRYPT_DECRYPT. + * @alias cloudkms.projects.locations.keyRings.cryptoKeys.encrypt + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The resource name of the CryptoKey or CryptoKeyVersion to use for encryption. If a CryptoKey is specified, the server will use its primary version. + * @param {().EncryptRequest} 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 + */ + encrypt(params?: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Encrypt, options?: MethodOptions): AxiosPromise; + encrypt(params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Encrypt, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + encrypt(params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Encrypt, callback: BodyResponseCallback): void; + encrypt(callback: BodyResponseCallback): void; + /** + * cloudkms.projects.locations.keyRings.cryptoKeys.get + * @desc Returns metadata for a given CryptoKey, as well as its primary + * CryptoKeyVersion. + * @alias cloudkms.projects.locations.keyRings.cryptoKeys.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the CryptoKey to get. + * @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?: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * cloudkms.projects.locations.keyRings.cryptoKeys.getIamPolicy + * @desc Gets the access control policy for a resource. Returns an empty + * policy if the resource exists and does not have a policy set. + * @alias cloudkms.projects.locations.keyRings.cryptoKeys.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. + * @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 + */ + getIamPolicy(params?: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * cloudkms.projects.locations.keyRings.cryptoKeys.list + * @desc Lists CryptoKeys. + * @alias cloudkms.projects.locations.keyRings.cryptoKeys.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Optional limit on the number of CryptoKeys to include in the response. Further CryptoKeys can subsequently be obtained by including the ListCryptoKeysResponse.next_page_token in a subsequent request. If unspecified, the server will pick an appropriate default. + * @param {string=} params.pageToken Optional pagination token, returned earlier via ListCryptoKeysResponse.next_page_token. + * @param {string} params.parent Required. The resource name of the KeyRing to list, in the format `projects/x/locations/x/keyRings/x`. + * @param {string=} params.versionView The fields of the primary version to include in the response. + * @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?: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * cloudkms.projects.locations.keyRings.cryptoKeys.patch + * @desc Update a CryptoKey. + * @alias cloudkms.projects.locations.keyRings.cryptoKeys.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Output only. The resource name for this CryptoKey in the format `projects/x/locations/x/keyRings/x/cryptoKeys/x`. + * @param {string=} params.updateMask Required list of fields to be updated in this request. + * @param {().CryptoKey} 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 + */ + patch(params?: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * cloudkms.projects.locations.keyRings.cryptoKeys.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @alias cloudkms.projects.locations.keyRings.cryptoKeys.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. + * @param {().SetIamPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * cloudkms.projects.locations.keyRings.cryptoKeys.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. If + * the resource does not exist, this will return an empty set of + * permissions, not a NOT_FOUND error. Note: This operation is designed to + * be used for building permission-aware UIs and command-line tools, not for + * authorization checking. This operation may "fail open" without warning. + * @alias cloudkms.projects.locations.keyRings.cryptoKeys.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. + * @param {().TestIamPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + /** + * cloudkms.projects.locations.keyRings.cryptoKeys.updatePrimaryVersion + * @desc Update the version of a CryptoKey that will be used in Encrypt. + * Returns an error if called on an asymmetric key. + * @alias + * cloudkms.projects.locations.keyRings.cryptoKeys.updatePrimaryVersion + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name of the CryptoKey to update. + * @param {().UpdateCryptoKeyPrimaryVersionRequest} 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 + */ + updatePrimaryVersion(params?: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Updateprimaryversion, options?: MethodOptions): AxiosPromise; + updatePrimaryVersion(params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Updateprimaryversion, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + updatePrimaryVersion(params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Updateprimaryversion, callback: BodyResponseCallback): void; + updatePrimaryVersion(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. It must be unique within a KeyRing and match the regular + * expression `[a-zA-Z0-9_-]{1,63}` + */ + cryptoKeyId?: string; + /** + * Required. The name of the KeyRing associated with the CryptoKeys. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CryptoKey; + } + interface Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Decrypt { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of the CryptoKey to use for decryption. The + * server will choose the appropriate version. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DecryptRequest; + } + interface Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Encrypt { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of the CryptoKey or CryptoKeyVersion to use + * for encryption. If a CryptoKey is specified, the server will use its + * primary version. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$EncryptRequest; + } + interface Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the CryptoKey to get. + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being requested. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + } + interface Params$Resource$Projects$Locations$Keyrings$Cryptokeys$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional limit on the number of CryptoKeys to include in the response. + * Further CryptoKeys can subsequently be obtained by including the + * ListCryptoKeysResponse.next_page_token in a subsequent request. If + * unspecified, the server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional pagination token, returned earlier via + * ListCryptoKeysResponse.next_page_token. + */ + pageToken?: string; + /** + * Required. The resource name of the KeyRing to list, in the format + * `projects/x/locations/x/keyRings/x`. + */ + parent?: string; + /** + * The fields of the primary version to include in the response. + */ + versionView?: string; + } + interface Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Output only. The resource name for this CryptoKey in the format + * `projects/x/locations/x/keyRings/x/cryptoKeys/x`. + */ + name?: string; + /** + * Required list of fields to be updated in this request. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CryptoKey; + } + interface Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being specified. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetIamPolicyRequest; + } + interface Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestIamPermissionsRequest; + } + interface Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Updateprimaryversion { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the CryptoKey to update. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UpdateCryptoKeyPrimaryVersionRequest; + } + class Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions { + root: Cloudkms; + constructor(root: Cloudkms); + getRoot(): Cloudkms; + /** + * cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.asymmetricDecrypt + * @desc Decrypts data that was encrypted with a public key retrieved from + * GetPublicKey corresponding to a CryptoKeyVersion with CryptoKey.purpose + * ASYMMETRIC_DECRYPT. + * @alias + * cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.asymmetricDecrypt + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The resource name of the CryptoKeyVersion to use for decryption. + * @param {().AsymmetricDecryptRequest} 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 + */ + asymmetricDecrypt(params?: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Asymmetricdecrypt, options?: MethodOptions): AxiosPromise; + asymmetricDecrypt(params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Asymmetricdecrypt, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + asymmetricDecrypt(params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Asymmetricdecrypt, callback: BodyResponseCallback): void; + asymmetricDecrypt(callback: BodyResponseCallback): void; + /** + * cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.asymmetricSign + * @desc Signs data using a CryptoKeyVersion with CryptoKey.purpose + * ASYMMETRIC_SIGN, producing a signature that can be verified with the + * public key retrieved from GetPublicKey. + * @alias + * cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.asymmetricSign + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The resource name of the CryptoKeyVersion to use for signing. + * @param {().AsymmetricSignRequest} 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 + */ + asymmetricSign(params?: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Asymmetricsign, options?: MethodOptions): AxiosPromise; + asymmetricSign(params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Asymmetricsign, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + asymmetricSign(params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Asymmetricsign, callback: BodyResponseCallback): void; + asymmetricSign(callback: BodyResponseCallback): void; + /** + * cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.create + * @desc Create a new CryptoKeyVersion in a CryptoKey. The server will + * assign the next sequential id. If unset, state will be set to ENABLED. + * @alias + * cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The name of the CryptoKey associated with the CryptoKeyVersions. + * @param {().CryptoKeyVersion} 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 + */ + create(params?: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.destroy + * @desc Schedule a CryptoKeyVersion for destruction. Upon calling this + * method, CryptoKeyVersion.state will be set to DESTROY_SCHEDULED and + * destroy_time will be set to a time 24 hours in the future, at which point + * the state will be changed to DESTROYED, and the key material will be + * irrevocably destroyed. Before the destroy_time is reached, + * RestoreCryptoKeyVersion may be called to reverse the process. + * @alias + * cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.destroy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name of the CryptoKeyVersion to destroy. + * @param {().DestroyCryptoKeyVersionRequest} 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 + */ + destroy(params?: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Destroy, options?: MethodOptions): AxiosPromise; + destroy(params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Destroy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + destroy(params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Destroy, callback: BodyResponseCallback): void; + destroy(callback: BodyResponseCallback): void; + /** + * cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.get + * @desc Returns metadata for a given CryptoKeyVersion. + * @alias + * cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the CryptoKeyVersion to get. + * @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?: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.getPublicKey + * @desc Returns the public key for the given CryptoKeyVersion. The + * CryptoKey.purpose must be ASYMMETRIC_SIGN or ASYMMETRIC_DECRYPT. + * @alias + * cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.getPublicKey + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the CryptoKeyVersion public key to get. + * @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 + */ + getPublicKey(params?: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Getpublickey, options?: MethodOptions): AxiosPromise; + getPublicKey(params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Getpublickey, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getPublicKey(params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Getpublickey, callback: BodyResponseCallback): void; + getPublicKey(callback: BodyResponseCallback): void; + /** + * cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.list + * @desc Lists CryptoKeyVersions. + * @alias + * cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Optional limit on the number of CryptoKeyVersions to include in the response. Further CryptoKeyVersions can subsequently be obtained by including the ListCryptoKeyVersionsResponse.next_page_token in a subsequent request. If unspecified, the server will pick an appropriate default. + * @param {string=} params.pageToken Optional pagination token, returned earlier via ListCryptoKeyVersionsResponse.next_page_token. + * @param {string} params.parent Required. The resource name of the CryptoKey to list, in the format `projects/x/locations/x/keyRings/x/cryptoKeys/x`. + * @param {string=} params.view The fields to include in the response. + * @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?: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.patch + * @desc Update a CryptoKeyVersion's metadata. state may be changed between + * ENABLED and DISABLED using this method. See DestroyCryptoKeyVersion and + * RestoreCryptoKeyVersion to move between other states. + * @alias + * cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Output only. The resource name for this CryptoKeyVersion in the format `projects/x/locations/x/keyRings/x/cryptoKeys/x/cryptoKeyVersions/x`. + * @param {string=} params.updateMask Required list of fields to be updated in this request. + * @param {().CryptoKeyVersion} 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 + */ + patch(params?: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.restore + * @desc Restore a CryptoKeyVersion in the DESTROY_SCHEDULED state. Upon + * restoration of the CryptoKeyVersion, state will be set to DISABLED, and + * destroy_time will be cleared. + * @alias + * cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.restore + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name of the CryptoKeyVersion to restore. + * @param {().RestoreCryptoKeyVersionRequest} 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 + */ + restore(params?: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Restore, options?: MethodOptions): AxiosPromise; + restore(params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Restore, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + restore(params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Restore, callback: BodyResponseCallback): void; + restore(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Asymmetricdecrypt { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of the CryptoKeyVersion to use for + * decryption. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AsymmetricDecryptRequest; + } + interface Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Asymmetricsign { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of the CryptoKeyVersion to use for signing. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AsymmetricSignRequest; + } + interface Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the CryptoKey associated with the + * CryptoKeyVersions. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CryptoKeyVersion; + } + interface Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Destroy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the CryptoKeyVersion to destroy. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DestroyCryptoKeyVersionRequest; + } + interface Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the CryptoKeyVersion to get. + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Getpublickey { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the CryptoKeyVersion public key to get. + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional limit on the number of CryptoKeyVersions to include in the + * response. Further CryptoKeyVersions can subsequently be obtained by + * including the ListCryptoKeyVersionsResponse.next_page_token in a + * subsequent request. If unspecified, the server will pick an appropriate + * default. + */ + pageSize?: number; + /** + * Optional pagination token, returned earlier via + * ListCryptoKeyVersionsResponse.next_page_token. + */ + pageToken?: string; + /** + * Required. The resource name of the CryptoKey to list, in the format + * `projects/x/locations/x/keyRings/x/cryptoKeys/x`. + */ + parent?: string; + /** + * The fields to include in the response. + */ + view?: string; + } + interface Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Output only. The resource name for this CryptoKeyVersion in the format + * `projects/x/locations/x/keyRings/x/cryptoKeys/x/cryptoKeyVersions/x`. + */ + name?: string; + /** + * Required list of fields to be updated in this request. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CryptoKeyVersion; + } + interface Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Restore { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the CryptoKeyVersion to restore. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RestoreCryptoKeyVersionRequest; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudkms/v1.js b/express-server/node_modules/googleapis/build/src/apis/cloudkms/v1.js new file mode 100644 index 00000000..d8091c62 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudkms/v1.js @@ -0,0 +1,943 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var cloudkms_v1; +(function (cloudkms_v1) { + /** + * Cloud Key Management Service (KMS) API + * + * Manages keys and performs cryptographic operations in a central cloud + * service, for direct use by other cloud resources and applications. + * + * @example + * const {google} = require('googleapis'); + * const cloudkms = google.cloudkms('v1'); + * + * @namespace cloudkms + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Cloudkms + */ + class Cloudkms { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.projects = new Resource$Projects(this); + } + getRoot() { + return this.root; + } + } + cloudkms_v1.Cloudkms = Cloudkms; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.locations = new Resource$Projects$Locations(root); + } + getRoot() { + return this.root; + } + } + cloudkms_v1.Resource$Projects = Resource$Projects; + class Resource$Projects$Locations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.keyRings = new Resource$Projects$Locations$Keyrings(root); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudkms.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudkms.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}/locations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + cloudkms_v1.Resource$Projects$Locations = Resource$Projects$Locations; + class Resource$Projects$Locations$Keyrings { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.cryptoKeys = + new Resource$Projects$Locations$Keyrings$Cryptokeys(root); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudkms.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/keyRings') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudkms.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudkms.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudkms.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/keyRings') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudkms.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudkms.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + cloudkms_v1.Resource$Projects$Locations$Keyrings = Resource$Projects$Locations$Keyrings; + class Resource$Projects$Locations$Keyrings$Cryptokeys { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.cryptoKeyVersions = + new Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions(root); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudkms.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/cryptoKeys') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + decrypt(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudkms.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:decrypt') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + encrypt(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudkms.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:encrypt') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudkms.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudkms.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudkms.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/cryptoKeys') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudkms.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudkms.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudkms.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + updatePrimaryVersion(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudkms.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:updatePrimaryVersion') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + cloudkms_v1.Resource$Projects$Locations$Keyrings$Cryptokeys = Resource$Projects$Locations$Keyrings$Cryptokeys; + class Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + asymmetricDecrypt(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudkms.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:asymmetricDecrypt') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + asymmetricSign(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudkms.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:asymmetricSign') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudkms.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/cryptoKeyVersions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + destroy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudkms.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:destroy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudkms.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getPublicKey(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudkms.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}/publicKey') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudkms.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/cryptoKeyVersions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudkms.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + restore(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudkms.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:restore') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + cloudkms_v1.Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions = Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions; +})(cloudkms_v1 = exports.cloudkms_v1 || (exports.cloudkms_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudkms/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/cloudkms/v1.js.map new file mode 100644 index 00000000..14647667 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudkms/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/cloudkms/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudprofiler/README.md b/express-server/node_modules/googleapis/build/src/apis/cloudprofiler/README.md new file mode 100644 index 00000000..fb927404 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudprofiler/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/cloudprofiler + +> Manages continuous profiling information. + +## Installation + +```sh +$ npm install @google/cloudprofiler +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudprofiler/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/cloudprofiler/index.d.ts new file mode 100644 index 00000000..15b0f420 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudprofiler/index.d.ts @@ -0,0 +1,6 @@ +import { cloudprofiler_v2 } from './v2'; +export declare const VERSIONS: { + 'v2': typeof cloudprofiler_v2.Cloudprofiler; +}; +export declare function cloudprofiler(version: 'v2'): cloudprofiler_v2.Cloudprofiler; +export declare function cloudprofiler(options: cloudprofiler_v2.Options): cloudprofiler_v2.Cloudprofiler; diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudprofiler/index.js b/express-server/node_modules/googleapis/build/src/apis/cloudprofiler/index.js new file mode 100644 index 00000000..c099039f --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudprofiler/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v2_1 = require("./v2"); +exports.VERSIONS = { + 'v2': v2_1.cloudprofiler_v2.Cloudprofiler, +}; +function cloudprofiler(versionOrOptions) { + return googleapis_common_1.getAPI('cloudprofiler', versionOrOptions, exports.VERSIONS, this); +} +exports.cloudprofiler = cloudprofiler; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudprofiler/index.js.map b/express-server/node_modules/googleapis/build/src/apis/cloudprofiler/index.js.map new file mode 100644 index 00000000..4eb24f75 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudprofiler/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/cloudprofiler/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAsC;AAEzB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,qBAAgB,CAAC,aAAa;CACrC,CAAC;AAKF,SAAgB,aAAa,CACC,gBAA+C;IAC3E,OAAO,0BAAM,CAAI,eAAe,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACtE,CAAC;AAHD,sCAGC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudprofiler/package.json b/express-server/node_modules/googleapis/build/src/apis/cloudprofiler/package.json new file mode 100644 index 00000000..95c0a1ca --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudprofiler/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/cloudprofiler", + "version": "0.1.0", + "description": "cloudprofiler", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudprofiler/v2.d.ts b/express-server/node_modules/googleapis/build/src/apis/cloudprofiler/v2.d.ts new file mode 100644 index 00000000..677266c0 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudprofiler/v2.d.ts @@ -0,0 +1,259 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace cloudprofiler_v2 { + interface Options extends GlobalOptions { + version: 'v2'; + } + /** + * Stackdriver Profiler API + * + * Manages continuous profiling information. + * + * @example + * const {google} = require('googleapis'); + * const cloudprofiler = google.cloudprofiler('v2'); + * + * @namespace cloudprofiler + * @type {Function} + * @version v2 + * @variation v2 + * @param {object=} options Options for Cloudprofiler + */ + class Cloudprofiler { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + projects: Resource$Projects; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * CreateProfileRequest describes a profile resource online creation request. + * The deployment field must be populated. The profile_type specifies the list + * of profile types supported by the agent. The creation call will hang until + * a profile of one of these types needs to be collected. + */ + interface Schema$CreateProfileRequest { + /** + * Deployment details. + */ + deployment?: Schema$Deployment; + /** + * One or more profile types that the agent is capable of providing. + */ + profileType?: string[]; + } + /** + * Deployment contains the deployment identification information. + */ + interface Schema$Deployment { + /** + * Labels identify the deployment within the user universe and same target. + * Validation regex for label names: `^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$`. + * Value for an individual label must be <= 512 bytes, the total size of + * all label names and values must be <= 1024 bytes. Label named + * "language" can be used to record the programming language of + * the profiled deployment. The standard choices for the value include + * "java", "go", "python", "ruby", + * "nodejs", "php", "dotnet". For deployments + * running on Google Cloud Platform, "zone" or "region" + * label should be present describing the deployment location. An example of + * a zone is "us-central1-a", an example of a region is + * "us-central1" or "us-central". + */ + labels?: any; + /** + * Project ID is the ID of a cloud project. Validation regex: + * `^a-z{4,61}[a-z0-9]$`. + */ + projectId?: string; + /** + * Target is the service name used to group related deployments: * Service + * name for GAE Flex / Standard. * Cluster and container name for GKE. * + * User-specified string for direct GCE profiling (e.g. Java). * Job name + * for Dataflow. Validation regex: `^[a-z]([-a-z0-9_.]{0,253}[a-z0-9])?$`. + */ + target?: string; + } + /** + * Profile resource. + */ + interface Schema$Profile { + /** + * Deployment this profile corresponds to. + */ + deployment?: Schema$Deployment; + /** + * Duration of the profiling session. Input (for the offline mode) or output + * (for the online mode). The field represents requested profiling duration. + * It may slightly differ from the effective profiling duration, which is + * recorded in the profile data, in case the profiling can't be stopped + * immediately (e.g. in case stopping the profiling is handled + * asynchronously). + */ + duration?: string; + /** + * Input only. Labels associated to this specific profile. These labels will + * get merged with the deployment labels for the final data set. See + * documentation on deployment labels for validation rules and limits. + */ + labels?: any; + /** + * Output only. Opaque, server-assigned, unique ID for this profile. + */ + name?: string; + /** + * Input only. Profile bytes, as a gzip compressed serialized proto, the + * format is + * https://github.com/google/pprof/blob/master/proto/profile.proto. + */ + profileBytes?: string; + /** + * Type of profile. For offline mode, this must be specified when creating + * the profile. For online mode it is assigned and returned by the server. + */ + profileType?: string; + } + class Resource$Projects { + root: Cloudprofiler; + profiles: Resource$Projects$Profiles; + constructor(root: Cloudprofiler); + getRoot(): Cloudprofiler; + } + class Resource$Projects$Profiles { + root: Cloudprofiler; + constructor(root: Cloudprofiler); + getRoot(): Cloudprofiler; + /** + * cloudprofiler.projects.profiles.create + * @desc CreateProfile creates a new profile resource in the online mode. + * The server ensures that the new profiles are created at a constant rate + * per deployment, so the creation request may hang for some time until the + * next profile session is available. The request may fail with ABORTED + * error if the creation is not available within ~1m, the response will + * indicate the duration of the backoff the client should take before + * attempting creating a profile again. The backoff duration is returned in + * google.rpc.RetryInfo extension on the response status. To a gRPC client, + * the extension will be return as a binary-serialized proto in the trailing + * metadata item named "google.rpc.retryinfo-bin". + * @alias cloudprofiler.projects.profiles.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Parent project to create the profile in. + * @param {().CreateProfileRequest} 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 + */ + create(params?: Params$Resource$Projects$Profiles$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Profiles$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Profiles$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * cloudprofiler.projects.profiles.createOffline + * @desc CreateOfflineProfile creates a new profile resource in the offline + * mode. The client provides the profile to create along with the profile + * bytes, the server records it. + * @alias cloudprofiler.projects.profiles.createOffline + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Parent project to create the profile in. + * @param {().Profile} 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 + */ + createOffline(params?: Params$Resource$Projects$Profiles$Createoffline, options?: MethodOptions): AxiosPromise; + createOffline(params: Params$Resource$Projects$Profiles$Createoffline, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + createOffline(params: Params$Resource$Projects$Profiles$Createoffline, callback: BodyResponseCallback): void; + createOffline(callback: BodyResponseCallback): void; + /** + * cloudprofiler.projects.profiles.patch + * @desc UpdateProfile updates the profile bytes and labels on the profile + * resource created in the online mode. Updating the bytes for profiles + * created in the offline mode is currently not supported: the profile + * content must be provided at the time of the profile creation. + * @alias cloudprofiler.projects.profiles.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Output only. Opaque, server-assigned, unique ID for this profile. + * @param {string=} params.updateMask Field mask used to specify the fields to be overwritten. Currently only profile_bytes and labels fields are supported by UpdateProfile, so only those fields can be specified in the mask. When no mask is provided, all fields are overwritten. + * @param {().Profile} 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 + */ + patch(params?: Params$Resource$Projects$Profiles$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Profiles$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Profiles$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Profiles$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Parent project to create the profile in. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreateProfileRequest; + } + interface Params$Resource$Projects$Profiles$Createoffline { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Parent project to create the profile in. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Profile; + } + interface Params$Resource$Projects$Profiles$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Output only. Opaque, server-assigned, unique ID for this profile. + */ + name?: string; + /** + * Field mask used to specify the fields to be overwritten. Currently only + * profile_bytes and labels fields are supported by UpdateProfile, so only + * those fields can be specified in the mask. When no mask is provided, all + * fields are overwritten. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Profile; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudprofiler/v2.js b/express-server/node_modules/googleapis/build/src/apis/cloudprofiler/v2.js new file mode 100644 index 00000000..f41b589d --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudprofiler/v2.js @@ -0,0 +1,168 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var cloudprofiler_v2; +(function (cloudprofiler_v2) { + /** + * Stackdriver Profiler API + * + * Manages continuous profiling information. + * + * @example + * const {google} = require('googleapis'); + * const cloudprofiler = google.cloudprofiler('v2'); + * + * @namespace cloudprofiler + * @type {Function} + * @version v2 + * @variation v2 + * @param {object=} options Options for Cloudprofiler + */ + class Cloudprofiler { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.projects = new Resource$Projects(this); + } + getRoot() { + return this.root; + } + } + cloudprofiler_v2.Cloudprofiler = Cloudprofiler; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.profiles = new Resource$Projects$Profiles(root); + } + getRoot() { + return this.root; + } + } + cloudprofiler_v2.Resource$Projects = Resource$Projects; + class Resource$Projects$Profiles { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudprofiler.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/profiles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + createOffline(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudprofiler.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/profiles:createOffline') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudprofiler.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + cloudprofiler_v2.Resource$Projects$Profiles = Resource$Projects$Profiles; +})(cloudprofiler_v2 = exports.cloudprofiler_v2 || (exports.cloudprofiler_v2 = {})); +//# sourceMappingURL=v2.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudprofiler/v2.js.map b/express-server/node_modules/googleapis/build/src/apis/cloudprofiler/v2.js.map new file mode 100644 index 00000000..f81b694f --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudprofiler/v2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v2.js","sourceRoot":"","sources":["../../../../src/apis/cloudprofiler/v2.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudresourcemanager/README.md b/express-server/node_modules/googleapis/build/src/apis/cloudresourcemanager/README.md new file mode 100644 index 00000000..eede155b --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudresourcemanager/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/cloudresourcemanager + +> The Google Cloud Resource Manager API provides methods for creating, reading, and updating project metadata. + +## Installation + +```sh +$ npm install @google/cloudresourcemanager +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudresourcemanager/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/cloudresourcemanager/index.d.ts new file mode 100644 index 00000000..d2265ca1 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudresourcemanager/index.d.ts @@ -0,0 +1,18 @@ +import { cloudresourcemanager_v1 } from './v1'; +import { cloudresourcemanager_v1beta1 } from './v1beta1'; +import { cloudresourcemanager_v2 } from './v2'; +import { cloudresourcemanager_v2beta1 } from './v2beta1'; +export declare const VERSIONS: { + 'v1': typeof cloudresourcemanager_v1.Cloudresourcemanager; + 'v1beta1': typeof cloudresourcemanager_v1beta1.Cloudresourcemanager; + 'v2': typeof cloudresourcemanager_v2.Cloudresourcemanager; + 'v2beta1': typeof cloudresourcemanager_v2beta1.Cloudresourcemanager; +}; +export declare function cloudresourcemanager(version: 'v1'): cloudresourcemanager_v1.Cloudresourcemanager; +export declare function cloudresourcemanager(options: cloudresourcemanager_v1.Options): cloudresourcemanager_v1.Cloudresourcemanager; +export declare function cloudresourcemanager(version: 'v1beta1'): cloudresourcemanager_v1beta1.Cloudresourcemanager; +export declare function cloudresourcemanager(options: cloudresourcemanager_v1beta1.Options): cloudresourcemanager_v1beta1.Cloudresourcemanager; +export declare function cloudresourcemanager(version: 'v2'): cloudresourcemanager_v2.Cloudresourcemanager; +export declare function cloudresourcemanager(options: cloudresourcemanager_v2.Options): cloudresourcemanager_v2.Cloudresourcemanager; +export declare function cloudresourcemanager(version: 'v2beta1'): cloudresourcemanager_v2beta1.Cloudresourcemanager; +export declare function cloudresourcemanager(options: cloudresourcemanager_v2beta1.Options): cloudresourcemanager_v2beta1.Cloudresourcemanager; diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudresourcemanager/index.js b/express-server/node_modules/googleapis/build/src/apis/cloudresourcemanager/index.js new file mode 100644 index 00000000..1a5554c7 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudresourcemanager/index.js @@ -0,0 +1,31 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +const v1beta1_1 = require("./v1beta1"); +const v2_1 = require("./v2"); +const v2beta1_1 = require("./v2beta1"); +exports.VERSIONS = { + 'v1': v1_1.cloudresourcemanager_v1.Cloudresourcemanager, + 'v1beta1': v1beta1_1.cloudresourcemanager_v1beta1.Cloudresourcemanager, + 'v2': v2_1.cloudresourcemanager_v2.Cloudresourcemanager, + 'v2beta1': v2beta1_1.cloudresourcemanager_v2beta1.Cloudresourcemanager, +}; +function cloudresourcemanager(versionOrOptions) { + return googleapis_common_1.getAPI('cloudresourcemanager', versionOrOptions, exports.VERSIONS, this); +} +exports.cloudresourcemanager = cloudresourcemanager; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudresourcemanager/index.js.map b/express-server/node_modules/googleapis/build/src/apis/cloudresourcemanager/index.js.map new file mode 100644 index 00000000..5d2b810d --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudresourcemanager/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/cloudresourcemanager/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAA6C;AAC7C,uCAAuD;AACvD,6BAA6C;AAC7C,uCAAuD;AAE1C,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,4BAAuB,CAAC,oBAAoB;IAClD,SAAS,EAAE,sCAA4B,CAAC,oBAAoB;IAC5D,IAAI,EAAE,4BAAuB,CAAC,oBAAoB;IAClD,SAAS,EAAE,sCAA4B,CAAC,oBAAoB;CAC7D,CAAC;AAoBF,SAAgB,oBAAoB,CAMhC,gBAIoC;IACtC,OAAO,0BAAM,CAAI,sBAAsB,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAC7E,CAAC;AAZD,oDAYC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudresourcemanager/package.json b/express-server/node_modules/googleapis/build/src/apis/cloudresourcemanager/package.json new file mode 100644 index 00000000..bb2a00c2 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudresourcemanager/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/cloudresourcemanager", + "version": "0.1.0", + "description": "cloudresourcemanager", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudresourcemanager/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/cloudresourcemanager/v1.d.ts new file mode 100644 index 00000000..2b828039 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudresourcemanager/v1.d.ts @@ -0,0 +1,4584 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace cloudresourcemanager_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Cloud Resource Manager API + * + * The Google Cloud Resource Manager API provides methods for creating, + * reading, and updating project metadata. + * + * @example + * const {google} = require('googleapis'); + * const cloudresourcemanager = google.cloudresourcemanager('v1'); + * + * @namespace cloudresourcemanager + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Cloudresourcemanager + */ + class Cloudresourcemanager { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + folders: Resource$Folders; + liens: Resource$Liens; + operations: Resource$Operations; + organizations: Resource$Organizations; + projects: Resource$Projects; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Identifying information for a single ancestor of a project. + */ + interface Schema$Ancestor { + /** + * Resource id of the ancestor. + */ + resourceId?: Schema$ResourceId; + } + /** + * Specifies the audit configuration for a service. The configuration + * determines which permission types are logged, and what identities, if any, + * are exempted from logging. An AuditConfig must have one or more + * AuditLogConfigs. If there are AuditConfigs for both `allServices` and a + * specific service, the union of the two AuditConfigs is used for that + * service: the log_types specified in each AuditConfig are enabled, and the + * exempted_members in each AuditLogConfig are exempted. Example Policy with + * multiple AuditConfigs: { "audit_configs": [ { + * "service": "allServices" "audit_log_configs": + * [ { "log_type": "DATA_READ", + * "exempted_members": [ "user:foo@gmail.com" ] }, { + * "log_type": "DATA_WRITE", }, { + * "log_type": "ADMIN_READ", } ] }, + * { "service": "fooservice.googleapis.com" + * "audit_log_configs": [ { "log_type": + * "DATA_READ", }, { "log_type": + * "DATA_WRITE", "exempted_members": [ + * "user:bar@gmail.com" ] } ] } + * ] } For fooservice, this policy enables DATA_READ, DATA_WRITE and + * ADMIN_READ logging. It also exempts foo@gmail.com from DATA_READ logging, + * and bar@gmail.com from DATA_WRITE logging. + */ + interface Schema$AuditConfig { + /** + * The configuration for logging of each type of permission. + */ + auditLogConfigs?: Schema$AuditLogConfig[]; + /** + * Specifies a service that will be enabled for audit logging. For example, + * `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a + * special value that covers all services. + */ + service?: string; + } + /** + * Provides the configuration for logging a type of permissions. Example: { + * "audit_log_configs": [ { "log_type": + * "DATA_READ", "exempted_members": [ + * "user:foo@gmail.com" ] }, { + * "log_type": "DATA_WRITE", } ] } This + * enables 'DATA_READ' and 'DATA_WRITE' logging, while + * exempting foo@gmail.com from DATA_READ logging. + */ + interface Schema$AuditLogConfig { + /** + * Specifies the identities that do not cause logging for this type of + * permission. Follows the same format of Binding.members. + */ + exemptedMembers?: string[]; + /** + * The log type that this config enables. + */ + logType?: string; + } + /** + * Associates `members` with a `role`. + */ + interface Schema$Binding { + /** + * Unimplemented. The condition that is associated with this binding. NOTE: + * an unsatisfied condition will not allow user access via current binding. + * Different bindings, including their conditions, are examined + * independently. + */ + condition?: Schema$Expr; + /** + * Specifies the identities requesting access for a Cloud Platform resource. + * `members` can have the following values: * `allUsers`: A special + * identifier that represents anyone who is on the internet; with or + * without a Google account. * `allAuthenticatedUsers`: A special + * identifier that represents anyone who is authenticated with a Google + * account or a service account. * `user:{emailid}`: An email address that + * represents a specific Google account. For example, `alice@gmail.com` . + * * `serviceAccount:{emailid}`: An email address that represents a service + * account. For example, `my-other-app@appspot.gserviceaccount.com`. * + * `group:{emailid}`: An email address that represents a Google group. For + * example, `admins@example.com`. * `domain:{domain}`: A Google Apps + * domain name that represents all the users of that domain. For example, + * `google.com` or `example.com`. + */ + members?: string[]; + /** + * Role that is assigned to `members`. For example, `roles/viewer`, + * `roles/editor`, or `roles/owner`. + */ + role?: string; + } + /** + * A `Constraint` that is either enforced or not. For example a constraint + * `constraints/compute.disableSerialPortAccess`. If it is enforced on a VM + * instance, serial port connections will not be opened to that instance. + */ + interface Schema$BooleanConstraint { + } + /** + * Used in `policy_type` to specify how `boolean_policy` will behave at this + * resource. + */ + interface Schema$BooleanPolicy { + /** + * If `true`, then the `Policy` is enforced. If `false`, then any + * configuration is acceptable. Suppose you have a `Constraint` + * `constraints/compute.disableSerialPortAccess` with `constraint_default` + * set to `ALLOW`. A `Policy` for that `Constraint` exhibits the following + * behavior: - If the `Policy` at this resource has enforced set to + * `false`, serial port connection attempts will be allowed. - If the + * `Policy` at this resource has enforced set to `true`, serial port + * connection attempts will be refused. - If the `Policy` at this resource + * is `RestoreDefault`, serial port connection attempts will be allowed. + * - If no `Policy` is set at this resource or anywhere higher in the + * resource hierarchy, serial port connection attempts will be allowed. - + * If no `Policy` is set at this resource, but one exists higher in the + * resource hierarchy, the behavior is as if the`Policy` were set at this + * resource. The following examples demonstrate the different possible + * layerings: Example 1 (nearest `Constraint` wins): `organizations/foo` + * has a `Policy` with: {enforced: false} `projects/bar` has no + * `Policy` set. The constraint at `projects/bar` and `organizations/foo` + * will not be enforced. Example 2 (enforcement gets replaced): + * `organizations/foo` has a `Policy` with: {enforced: false} + * `projects/bar` has a `Policy` with: {enforced: true} The constraint + * at `organizations/foo` is not enforced. The constraint at `projects/bar` + * is enforced. Example 3 (RestoreDefault): `organizations/foo` has a + * `Policy` with: {enforced: true} `projects/bar` has a `Policy` with: + * {RestoreDefault: {}} The constraint at `organizations/foo` is enforced. + * The constraint at `projects/bar` is not enforced, because + * `constraint_default` for the `Constraint` is `ALLOW`. + */ + enforced?: boolean; + } + /** + * The request sent to the ClearOrgPolicy method. + */ + interface Schema$ClearOrgPolicyRequest { + /** + * Name of the `Constraint` of the `Policy` to clear. + */ + constraint?: string; + /** + * The current version, for concurrency control. Not sending an `etag` will + * cause the `Policy` to be cleared blindly. + */ + etag?: string; + } + /** + * A `Constraint` describes a way in which a resource's configuration can + * be restricted. For example, it controls which cloud services can be + * activated across an organization, or whether a Compute Engine instance can + * have serial port connections established. `Constraints` can be configured + * by the organization's policy adminstrator to fit the needs of the + * organzation by setting Policies for `Constraints` at different locations in + * the organization's resource hierarchy. Policies are inherited down the + * resource hierarchy from higher levels, but can also be overridden. For + * details about the inheritance rules please read about Policies. + * `Constraints` have a default behavior determined by the + * `constraint_default` field, which is the enforcement behavior that is used + * in the absence of a `Policy` being defined or inherited for the resource in + * question. + */ + interface Schema$Constraint { + /** + * Defines this constraint as being a BooleanConstraint. + */ + booleanConstraint?: Schema$BooleanConstraint; + /** + * The evaluation behavior of this constraint in the absense of + * 'Policy'. + */ + constraintDefault?: string; + /** + * Detailed description of what this `Constraint` controls as well as how + * and where it is enforced. Mutable. + */ + description?: string; + /** + * The human readable name. Mutable. + */ + displayName?: string; + /** + * Defines this constraint as being a ListConstraint. + */ + listConstraint?: Schema$ListConstraint; + /** + * Immutable value, required to globally be unique. For example, + * `constraints/serviceuser.services` + */ + name?: string; + /** + * Version of the `Constraint`. Default version is 0; + */ + version?: number; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * Represents an expression text. Example: title: "User account + * presence" description: "Determines whether the request has a + * user account" expression: "size(request.user) > 0" + */ + interface Schema$Expr { + /** + * An optional description of the expression. This is a longer text which + * describes the expression, e.g. when hovered over it in a UI. + */ + description?: string; + /** + * Textual representation of an expression in Common Expression Language + * syntax. The application context of the containing message determines + * which well-known feature set of CEL is supported. + */ + expression?: string; + /** + * An optional string indicating the location of the expression for error + * reporting, e.g. a file name and a position in the file. + */ + location?: string; + /** + * An optional title for the expression, i.e. a short string describing its + * purpose. This can be used e.g. in UIs which allow to enter the + * expression. + */ + title?: string; + } + /** + * Metadata describing a long running folder operation + */ + interface Schema$FolderOperation { + /** + * The resource name of the folder or organization we are either creating + * the folder under or moving the folder to. + */ + destinationParent?: string; + /** + * The display name of the folder. + */ + displayName?: string; + /** + * The type of this operation. + */ + operationType?: string; + /** + * The resource name of the folder's parent. Only applicable when the + * operation_type is MOVE. + */ + sourceParent?: string; + } + /** + * A classification of the Folder Operation error. + */ + interface Schema$FolderOperationError { + /** + * The type of operation error experienced. + */ + errorMessageId?: string; + } + /** + * The request sent to the GetAncestry method. + */ + interface Schema$GetAncestryRequest { + } + /** + * Response from the GetAncestry method. + */ + interface Schema$GetAncestryResponse { + /** + * Ancestors are ordered from bottom to top of the resource hierarchy. The + * first ancestor is the project itself, followed by the project's + * parent, etc.. + */ + ancestor?: Schema$Ancestor[]; + } + /** + * The request sent to the GetEffectiveOrgPolicy method. + */ + interface Schema$GetEffectiveOrgPolicyRequest { + /** + * The name of the `Constraint` to compute the effective `Policy`. + */ + constraint?: string; + } + /** + * Request message for `GetIamPolicy` method. + */ + interface Schema$GetIamPolicyRequest { + } + /** + * The request sent to the GetOrgPolicy method. + */ + interface Schema$GetOrgPolicyRequest { + /** + * Name of the `Constraint` to get the `Policy`. + */ + constraint?: string; + } + /** + * A Lien represents an encumbrance on the actions that can be performed on a + * resource. + */ + interface Schema$Lien { + /** + * The creation time of this Lien. + */ + createTime?: string; + /** + * A system-generated unique identifier for this Lien. Example: + * `liens/1234abcd` + */ + name?: string; + /** + * A stable, user-visible/meaningful string identifying the origin of the + * Lien, intended to be inspected programmatically. Maximum length of 200 + * characters. Example: 'compute.googleapis.com' + */ + origin?: string; + /** + * A reference to the resource this Lien is attached to. The server will + * validate the parent against those for which Liens are supported. Example: + * `projects/1234` + */ + parent?: string; + /** + * Concise user-visible strings indicating why an action cannot be performed + * on a resource. Maximum length of 200 characters. Example: 'Holds + * production API key' + */ + reason?: string; + /** + * The types of operations which should be blocked as a result of this Lien. + * Each value should correspond to an IAM permission. The server will + * validate the permissions against those for which Liens are supported. An + * empty list is meaningless and will be rejected. Example: + * ['resourcemanager.projects.delete'] + */ + restrictions?: string[]; + } + /** + * The request sent to the [ListAvailableOrgPolicyConstraints] + * google.cloud.OrgPolicy.v1.ListAvailableOrgPolicyConstraints] method. + */ + interface Schema$ListAvailableOrgPolicyConstraintsRequest { + /** + * Size of the pages to be returned. This is currently unsupported and will + * be ignored. The server may at any point start using this field to limit + * page size. + */ + pageSize?: number; + /** + * Page token used to retrieve the next page. This is currently unsupported + * and will be ignored. The server may at any point start using this field. + */ + pageToken?: string; + } + /** + * The response returned from the ListAvailableOrgPolicyConstraints method. + * Returns all `Constraints` that could be set at this level of the hierarchy + * (contrast with the response from `ListPolicies`, which returns all policies + * which are set). + */ + interface Schema$ListAvailableOrgPolicyConstraintsResponse { + /** + * The collection of constraints that are settable on the request resource. + */ + constraints?: Schema$Constraint[]; + /** + * Page token used to retrieve the next page. This is currently not used. + */ + nextPageToken?: string; + } + /** + * A `Constraint` that allows or disallows a list of string values, which are + * configured by an Organization's policy administrator with a `Policy`. + */ + interface Schema$ListConstraint { + /** + * Optional. The Google Cloud Console will try to default to a configuration + * that matches the value specified in this `Constraint`. + */ + suggestedValue?: string; + /** + * Indicates whether subtrees of Cloud Resource Manager resource hierarchy + * can be used in `Policy.allowed_values` and `Policy.denied_values`. For + * example, `"under:folders/123"` would match any resource under + * the 'folders/123' folder. + */ + supportsUnder?: boolean; + } + /** + * The response message for Liens.ListLiens. + */ + interface Schema$ListLiensResponse { + /** + * A list of Liens. + */ + liens?: Schema$Lien[]; + /** + * Token to retrieve the next page of results, or empty if there are no more + * results in the list. + */ + nextPageToken?: string; + } + /** + * The request sent to the ListOrgPolicies method. + */ + interface Schema$ListOrgPoliciesRequest { + /** + * Size of the pages to be returned. This is currently unsupported and will + * be ignored. The server may at any point start using this field to limit + * page size. + */ + pageSize?: number; + /** + * Page token used to retrieve the next page. This is currently unsupported + * and will be ignored. The server may at any point start using this field. + */ + pageToken?: string; + } + /** + * The response returned from the ListOrgPolicies method. It will be empty if + * no `Policies` are set on the resource. + */ + interface Schema$ListOrgPoliciesResponse { + /** + * Page token used to retrieve the next page. This is currently not used, + * but the server may at any point start supplying a valid token. + */ + nextPageToken?: string; + /** + * The `Policies` that are set on the resource. It will be empty if no + * `Policies` are set. + */ + policies?: Schema$OrgPolicy[]; + } + /** + * Used in `policy_type` to specify how `list_policy` behaves at this + * resource. `ListPolicy` can define specific values and subtrees of Cloud + * Resource Manager resource hierarchy (`Organizations`, `Folders`, + * `Projects`) that are allowed or denied by setting the `allowed_values` and + * `denied_values` fields. This is achieved by using the `under:` and optional + * `is:` prefixes. The `under:` prefix is used to denote resource subtree + * values. The `is:` prefix is used to denote specific values, and is required + * only if the value contains a ":". Values prefixed with + * "is:" are treated the same as values with no prefix. Ancestry + * subtrees must be in one of the following formats: - + * “projects/<project-id>”, e.g. “projects/tokyo-rain-123” - + * “folders/<folder-id>”, e.g. “folders/1234” - + * “organizations/<organization-id>”, e.g. “organizations/1234” The + * `supports_under` field of the associated `Constraint` defines whether + * ancestry prefixes can be used. You can set `allowed_values` and + * `denied_values` in the same `Policy` if `all_values` is + * `ALL_VALUES_UNSPECIFIED`. `ALLOW` or `DENY` are used to allow or deny all + * values. If `all_values` is set to either `ALLOW` or `DENY`, + * `allowed_values` and `denied_values` must be unset. + */ + interface Schema$ListPolicy { + /** + * List of values allowed at this resource. Can only be set if `all_values` + * is set to `ALL_VALUES_UNSPECIFIED`. + */ + allowedValues?: string[]; + /** + * The policy all_values state. + */ + allValues?: string; + /** + * List of values denied at this resource. Can only be set if `all_values` + * is set to `ALL_VALUES_UNSPECIFIED`. + */ + deniedValues?: string[]; + /** + * Determines the inheritance behavior for this `Policy`. By default, a + * `ListPolicy` set at a resource supercedes any `Policy` set anywhere up + * the resource hierarchy. However, if `inherit_from_parent` is set to + * `true`, then the values from the effective `Policy` of the parent + * resource are inherited, meaning the values set in this `Policy` are added + * to the values inherited up the hierarchy. Setting `Policy` hierarchies + * that inherit both allowed values and denied values isn't recommended + * in most circumstances to keep the configuration simple and + * understandable. However, it is possible to set a `Policy` with + * `allowed_values` set that inherits a `Policy` with `denied_values` set. + * In this case, the values that are allowed must be in `allowed_values` and + * not present in `denied_values`. For example, suppose you have a + * `Constraint` `constraints/serviceuser.services`, which has a + * `constraint_type` of `list_constraint`, and with `constraint_default` set + * to `ALLOW`. Suppose that at the Organization level, a `Policy` is applied + * that restricts the allowed API activations to {`E1`, `E2`}. Then, if a + * `Policy` is applied to a project below the Organization that has + * `inherit_from_parent` set to `false` and field all_values set to DENY, + * then an attempt to activate any API will be denied. The following + * examples demonstrate different possible layerings for `projects/bar` + * parented by `organizations/foo`: Example 1 (no inherited values): + * `organizations/foo` has a `Policy` with values: {allowed_values: “E1” + * allowed_values:”E2”} `projects/bar` has `inherit_from_parent` `false` + * and values: {allowed_values: "E3" allowed_values: + * "E4"} The accepted values at `organizations/foo` are `E1`, + * `E2`. The accepted values at `projects/bar` are `E3`, and `E4`. Example + * 2 (inherited values): `organizations/foo` has a `Policy` with values: + * {allowed_values: “E1” allowed_values:”E2”} `projects/bar` has a + * `Policy` with values: {value: “E3” value: ”E4” inherit_from_parent: + * true} The accepted values at `organizations/foo` are `E1`, `E2`. The + * accepted values at `projects/bar` are `E1`, `E2`, `E3`, and `E4`. Example + * 3 (inheriting both allowed and denied values): `organizations/foo` has + * a `Policy` with values: {allowed_values: "E1" + * allowed_values: "E2"} `projects/bar` has a `Policy` with: + * {denied_values: "E1"} The accepted values at + * `organizations/foo` are `E1`, `E2`. The value accepted at `projects/bar` + * is `E2`. Example 4 (RestoreDefault): `organizations/foo` has a + * `Policy` with values: {allowed_values: “E1” allowed_values:”E2”} + * `projects/bar` has a `Policy` with values: {RestoreDefault: {}} The + * accepted values at `organizations/foo` are `E1`, `E2`. The accepted + * values at `projects/bar` are either all or none depending on the value of + * `constraint_default` (if `ALLOW`, all; if `DENY`, none). Example 5 (no + * policy inherits parent policy): `organizations/foo` has no `Policy` + * set. `projects/bar` has no `Policy` set. The accepted values at both + * levels are either all or none depending on the value of + * `constraint_default` (if `ALLOW`, all; if `DENY`, none). Example 6 + * (ListConstraint allowing all): `organizations/foo` has a `Policy` with + * values: {allowed_values: “E1” allowed_values: ”E2”} `projects/bar` + * has a `Policy` with: {all: ALLOW} The accepted values at + * `organizations/foo` are `E1`, E2`. Any value is accepted at + * `projects/bar`. Example 7 (ListConstraint allowing none): + * `organizations/foo` has a `Policy` with values: {allowed_values: “E1” + * allowed_values: ”E2”} `projects/bar` has a `Policy` with: {all: + * DENY} The accepted values at `organizations/foo` are `E1`, E2`. No value + * is accepted at `projects/bar`. Example 10 (allowed and denied subtrees + * of Resource Manager hierarchy): Given the following resource hierarchy + * O1->{F1, F2}; F1->{P1}; F2->{P2, P3}, `organizations/foo` has + * a `Policy` with values: {allowed_values: + * "under:organizations/O1"} `projects/bar` has a `Policy` with: + * {allowed_values: "under:projects/P3"} {denied_values: + * "under:folders/F2"} The accepted values at `organizations/foo` + * are `organizations/O1`, `folders/F1`, `folders/F2`, `projects/P1`, + * `projects/P2`, `projects/P3`. The accepted values at `projects/bar` are + * `organizations/O1`, `folders/F1`, `projects/P1`. + */ + inheritFromParent?: boolean; + /** + * Optional. The Google Cloud Console will try to default to a configuration + * that matches the value specified in this `Policy`. If `suggested_value` + * is not set, it will inherit the value specified higher in the hierarchy, + * unless `inherit_from_parent` is `false`. + */ + suggestedValue?: string; + } + /** + * A page of the response received from the ListProjects method. A paginated + * response where more pages are available has `next_page_token` set. This + * token can be used in a subsequent request to retrieve the next request + * page. + */ + interface Schema$ListProjectsResponse { + /** + * Pagination token. If the result set is too large to fit in a single + * response, this token is returned. It encodes the position of the current + * result cursor. Feeding this value into a new list request with the + * `page_token` parameter gives the next page of the results. When + * `next_page_token` is not filled in, there is no next page and the list + * returned is the last page in the result set. Pagination tokens have a + * limited lifetime. + */ + nextPageToken?: string; + /** + * The list of Projects that matched the list filter. This list can be + * paginated. + */ + projects?: Schema$Project[]; + } + /** + * This resource represents a long-running operation that is the result of a + * network API call. + */ + interface Schema$Operation { + /** + * If the value is `false`, it means the operation is still in progress. If + * `true`, the operation is completed, and either `error` or `response` is + * available. + */ + done?: boolean; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * Service-specific metadata associated with the operation. It typically + * contains progress information and common metadata such as create time. + * Some services might not provide such metadata. Any method that returns a + * long-running operation should document the metadata type, if any. + */ + metadata?: any; + /** + * The server-assigned name, which is only unique within the same service + * that originally returns it. If you use the default HTTP mapping, the + * `name` should have the format of `operations/some/unique/name`. + */ + name?: string; + /** + * The normal response of the operation in case of success. If the original + * method returns no data on success, such as `Delete`, the response is + * `google.protobuf.Empty`. If the original method is standard + * `Get`/`Create`/`Update`, the response should be the resource. For other + * methods, the response should have the type `XxxResponse`, where `Xxx` is + * the original method name. For example, if the original method name is + * `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: any; + } + /** + * The root node in the resource hierarchy to which a particular entity's + * (e.g., company) resources belong. + */ + interface Schema$Organization { + /** + * Timestamp when the Organization was created. Assigned by the server. + * @OutputOnly + */ + creationTime?: string; + /** + * A human-readable string that refers to the Organization in the GCP + * Console UI. This string is set by the server and cannot be changed. The + * string will be set to the primary domain (for example, + * "google.com") of the G Suite customer that owns the + * organization. @OutputOnly + */ + displayName?: string; + /** + * The organization's current lifecycle state. Assigned by the server. + * @OutputOnly + */ + lifecycleState?: string; + /** + * Output Only. The resource name of the organization. This is the + * organization's relative path in the API. Its format is + * "organizations/[organization_id]". For example, + * "organizations/1234". + */ + name?: string; + /** + * The owner of this Organization. The owner should be specified on + * creation. Once set, it cannot be changed. This field is required. + */ + owner?: Schema$OrganizationOwner; + } + /** + * The entity that owns an Organization. The lifetime of the Organization and + * all of its descendants are bound to the `OrganizationOwner`. If the + * `OrganizationOwner` is deleted, the Organization and all its descendants + * will be deleted. + */ + interface Schema$OrganizationOwner { + /** + * The G Suite customer id used in the Directory API. + */ + directoryCustomerId?: string; + } + /** + * Defines a Cloud Organization `Policy` which is used to specify + * `Constraints` for configurations of Cloud Platform resources. + */ + interface Schema$OrgPolicy { + /** + * For boolean `Constraints`, whether to enforce the `Constraint` or not. + */ + booleanPolicy?: Schema$BooleanPolicy; + /** + * The name of the `Constraint` the `Policy` is configuring, for example, + * `constraints/serviceuser.services`. Immutable after creation. + */ + constraint?: string; + /** + * An opaque tag indicating the current version of the `Policy`, used for + * concurrency control. When the `Policy` is returned from either a + * `GetPolicy` or a `ListOrgPolicy` request, this `etag` indicates the + * version of the current `Policy` to use when executing a read-modify-write + * loop. When the `Policy` is returned from a `GetEffectivePolicy` request, + * the `etag` will be unset. When the `Policy` is used in a `SetOrgPolicy` + * method, use the `etag` value that was returned from a `GetOrgPolicy` + * request as part of a read-modify-write loop for concurrency control. Not + * setting the `etag`in a `SetOrgPolicy` request will result in an + * unconditional write of the `Policy`. + */ + etag?: string; + /** + * List of values either allowed or disallowed. + */ + listPolicy?: Schema$ListPolicy; + /** + * Restores the default behavior of the constraint; independent of + * `Constraint` type. + */ + restoreDefault?: Schema$RestoreDefault; + /** + * The time stamp the `Policy` was previously updated. This is set by the + * server, not specified by the caller, and represents the last time a call + * to `SetOrgPolicy` was made for that `Policy`. Any value set by the client + * will be ignored. + */ + updateTime?: string; + /** + * Version of the `Policy`. Default version is 0; + */ + version?: number; + } + /** + * Defines an Identity and Access Management (IAM) policy. It is used to + * specify access control policies for Cloud Platform resources. A `Policy` + * consists of a list of `bindings`. A `binding` binds a list of `members` to + * a `role`, where the members can be user accounts, Google groups, Google + * domains, and service accounts. A `role` is a named list of permissions + * defined by IAM. **JSON Example** { "bindings": [ { + * "role": "roles/owner", "members": [ + * "user:mike@example.com", "group:admins@example.com", + * "domain:google.com", + * "serviceAccount:my-other-app@appspot.gserviceaccount.com" ] }, { + * "role": "roles/viewer", "members": + * ["user:sean@example.com"] } ] } **YAML + * Example** bindings: - members: - user:mike@example.com - + * group:admins@example.com - domain:google.com - + * serviceAccount:my-other-app@appspot.gserviceaccount.com role: + * roles/owner - members: - user:sean@example.com role: + * roles/viewer For a description of IAM and its features, see the [IAM + * developer's guide](https://cloud.google.com/iam/docs). + */ + interface Schema$Policy { + /** + * Specifies cloud audit logging configuration for this policy. + */ + auditConfigs?: Schema$AuditConfig[]; + /** + * Associates a list of `members` to a `role`. `bindings` with no members + * will result in an error. + */ + bindings?: Schema$Binding[]; + /** + * `etag` is used for optimistic concurrency control as a way to help + * prevent simultaneous updates of a policy from overwriting each other. It + * is strongly suggested that systems make use of the `etag` in the + * read-modify-write cycle to perform policy updates in order to avoid race + * conditions: An `etag` is returned in the response to `getIamPolicy`, and + * systems are expected to put that etag in the request to `setIamPolicy` to + * ensure that their change will be applied to the same version of the + * policy. If no `etag` is provided in the call to `setIamPolicy`, then the + * existing policy is overwritten blindly. + */ + etag?: string; + /** + * Deprecated. + */ + version?: number; + } + /** + * A Project is a high-level Google Cloud Platform entity. It is a container + * for ACLs, APIs, App Engine Apps, VMs, and other Google Cloud Platform + * resources. + */ + interface Schema$Project { + /** + * Creation time. Read-only. + */ + createTime?: string; + /** + * The labels associated with this Project. Label keys must be between 1 + * and 63 characters long and must conform to the following regular + * expression: \[a-z\](\[-a-z0-9\]*\[a-z0-9\])?. Label values must be + * between 0 and 63 characters long and must conform to the regular + * expression (\[a-z\](\[-a-z0-9\]*\[a-z0-9\])?)?. No more than 256 labels + * can be associated with a given resource. Clients should store labels in + * a representation such as JSON that does not depend on specific characters + * being disallowed. Example: <code>"environment" : + * "dev"</code> Read-write. + */ + labels?: any; + /** + * The Project lifecycle state. Read-only. + */ + lifecycleState?: string; + /** + * The user-assigned display name of the Project. It must be 4 to 30 + * characters. Allowed characters are: lowercase and uppercase letters, + * numbers, hyphen, single-quote, double-quote, space, and exclamation + * point. Example: <code>My Project</code> Read-write. + */ + name?: string; + /** + * An optional reference to a parent Resource. Supported parent types + * include "organization" and "folder". Once set, the + * parent cannot be cleared. The `parent` can be set on creation or using + * the `UpdateProject` method; the end user must have the + * `resourcemanager.projects.create` permission on the parent. Read-write. + */ + parent?: Schema$ResourceId; + /** + * The unique, user-assigned ID of the Project. It must be 6 to 30 lowercase + * letters, digits, or hyphens. It must start with a letter. Trailing + * hyphens are prohibited. Example: <code>tokyo-rain-123</code> + * Read-only after creation. + */ + projectId?: string; + /** + * The number uniquely identifying the project. Example: + * <code>415104041262</code> Read-only. + */ + projectNumber?: string; + } + /** + * A status object which is used as the `metadata` field for the Operation + * returned by CreateProject. It provides insight for when significant phases + * of Project creation have completed. + */ + interface Schema$ProjectCreationStatus { + /** + * Creation time of the project creation workflow. + */ + createTime?: string; + /** + * True if the project can be retrieved using GetProject. No other + * operations on the project are guaranteed to work until the project + * creation is complete. + */ + gettable?: boolean; + /** + * True if the project creation process is complete. + */ + ready?: boolean; + } + /** + * A container to reference an id for any resource type. A `resource` in + * Google Cloud Platform is a generic term for something you (a developer) may + * want to interact with through one of our API's. Some examples are an + * App Engine app, a Compute Engine instance, a Cloud SQL database, and so on. + */ + interface Schema$ResourceId { + /** + * Required field for the type-specific id. This should correspond to the id + * used in the type-specific API's. + */ + id?: string; + /** + * Required field representing the resource type this id is for. At present, + * the valid types are: "organization" and "folder". + */ + type?: string; + } + /** + * Ignores policies set above this resource and restores the + * `constraint_default` enforcement behavior of the specific `Constraint` at + * this resource. Suppose that `constraint_default` is set to `ALLOW` for the + * `Constraint` `constraints/serviceuser.services`. Suppose that organization + * foo.com sets a `Policy` at their Organization resource node that restricts + * the allowed service activations to deny all service activations. They could + * then set a `Policy` with the `policy_type` `restore_default` on several + * experimental projects, restoring the `constraint_default` enforcement of + * the `Constraint` for only those projects, allowing those projects to have + * all services activated. + */ + interface Schema$RestoreDefault { + } + /** + * The request sent to the `SearchOrganizations` method. + */ + interface Schema$SearchOrganizationsRequest { + /** + * An optional query string used to filter the Organizations to return in + * the response. Filter rules are case-insensitive. Organizations may be + * filtered by `owner.directoryCustomerId` or by `domain`, where the domain + * is a G Suite domain, for example: |Filter|Description| + * |------|-----------| |owner.directorycustomerid:123456789|Organizations + * with `owner.directory_customer_id` equal to `123456789`.| + * |domain:google.com|Organizations corresponding to the domain + * `google.com`.| This field is optional. + */ + filter?: string; + /** + * The maximum number of Organizations to return in the response. This field + * is optional. + */ + pageSize?: number; + /** + * A pagination token returned from a previous call to `SearchOrganizations` + * that indicates from where listing should continue. This field is + * optional. + */ + pageToken?: string; + } + /** + * The response returned from the `SearchOrganizations` method. + */ + interface Schema$SearchOrganizationsResponse { + /** + * A pagination token to be used to retrieve the next page of results. If + * the result is too large to fit within the page size specified in the + * request, this field will be set with a token that can be used to fetch + * the next page of results. If this field is empty, it indicates that this + * response contains the last page of results. + */ + nextPageToken?: string; + /** + * The list of Organizations that matched the search query, possibly + * paginated. + */ + organizations?: Schema$Organization[]; + } + /** + * Request message for `SetIamPolicy` method. + */ + interface Schema$SetIamPolicyRequest { + /** + * REQUIRED: The complete policy to be applied to the `resource`. The size + * of the policy is limited to a few 10s of KB. An empty policy is a valid + * policy but certain Cloud Platform services (such as Projects) might + * reject them. + */ + policy?: Schema$Policy; + /** + * OPTIONAL: A FieldMask specifying which fields of the policy to modify. + * Only the fields in the mask will be modified. If no mask is provided, the + * following default mask is used: paths: "bindings, etag" This + * field is only used by Cloud IAM. + */ + updateMask?: string; + } + /** + * The request sent to the SetOrgPolicyRequest method. + */ + interface Schema$SetOrgPolicyRequest { + /** + * `Policy` to set on the resource. + */ + policy?: Schema$OrgPolicy; + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + /** + * Request message for `TestIamPermissions` method. + */ + interface Schema$TestIamPermissionsRequest { + /** + * The set of permissions to check for the `resource`. Permissions with + * wildcards (such as '*' or 'storage.*') are not allowed. + * For more information see [IAM + * Overview](https://cloud.google.com/iam/docs/overview#permissions). + */ + permissions?: string[]; + } + /** + * Response message for `TestIamPermissions` method. + */ + interface Schema$TestIamPermissionsResponse { + /** + * A subset of `TestPermissionsRequest.permissions` that the caller is + * allowed. + */ + permissions?: string[]; + } + /** + * The request sent to the UndeleteProject method. + */ + interface Schema$UndeleteProjectRequest { + } + class Resource$Folders { + root: Cloudresourcemanager; + constructor(root: Cloudresourcemanager); + getRoot(): Cloudresourcemanager; + /** + * cloudresourcemanager.folders.clearOrgPolicy + * @desc Clears a `Policy` from a resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Resource Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudresourcemanager + * // 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 cloudResourceManager = google.cloudresourcemanager('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Name of the resource for the `Policy` to clear. + * resource_: 'folders/my-folder', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * cloudResourceManager.folders.clearOrgPolicy(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 cloudresourcemanager.folders.clearOrgPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ Name of the resource for the `Policy` to clear. + * @param {().ClearOrgPolicyRequest} 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 + */ + clearOrgPolicy(params?: Params$Resource$Folders$Clearorgpolicy, options?: MethodOptions): AxiosPromise; + clearOrgPolicy(params: Params$Resource$Folders$Clearorgpolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + clearOrgPolicy(params: Params$Resource$Folders$Clearorgpolicy, callback: BodyResponseCallback): void; + clearOrgPolicy(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.folders.getEffectiveOrgPolicy + * @desc Gets the effective `Policy` on a resource. This is the result of + * merging `Policies` in the resource hierarchy. The returned `Policy` will + * not have an `etag`set because it is a computed `Policy` across multiple + * resources. Subtrees of Resource Manager resource hierarchy with 'under:' + * prefix will not be expanded. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Resource Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudresourcemanager + * // 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 cloudResourceManager = google.cloudresourcemanager('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The name of the resource to start computing the effective + * `Policy`. resource_: 'folders/my-folder', // TODO: Update placeholder + * value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * cloudResourceManager.folders.getEffectiveOrgPolicy(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 cloudresourcemanager.folders.getEffectiveOrgPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ The name of the resource to start computing the effective `Policy`. + * @param {().GetEffectiveOrgPolicyRequest} 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 + */ + getEffectiveOrgPolicy(params?: Params$Resource$Folders$Geteffectiveorgpolicy, options?: MethodOptions): AxiosPromise; + getEffectiveOrgPolicy(params: Params$Resource$Folders$Geteffectiveorgpolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getEffectiveOrgPolicy(params: Params$Resource$Folders$Geteffectiveorgpolicy, callback: BodyResponseCallback): void; + getEffectiveOrgPolicy(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.folders.getOrgPolicy + * @desc Gets a `Policy` on a resource. If no `Policy` is set on the + * resource, a `Policy` is returned with default values including + * `POLICY_TYPE_NOT_SET` for the `policy_type oneof`. The `etag` value can + * be used with `SetOrgPolicy()` to create or update a `Policy` during + * read-modify-write. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Resource Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudresourcemanager + * // 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 cloudResourceManager = google.cloudresourcemanager('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Name of the resource the `Policy` is set on. + * resource_: 'folders/my-folder', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * cloudResourceManager.folders.getOrgPolicy(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 cloudresourcemanager.folders.getOrgPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ Name of the resource the `Policy` is set on. + * @param {().GetOrgPolicyRequest} 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 + */ + getOrgPolicy(params?: Params$Resource$Folders$Getorgpolicy, options?: MethodOptions): AxiosPromise; + getOrgPolicy(params: Params$Resource$Folders$Getorgpolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getOrgPolicy(params: Params$Resource$Folders$Getorgpolicy, callback: BodyResponseCallback): void; + getOrgPolicy(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.folders.listAvailableOrgPolicyConstraints + * @desc Lists `Constraints` that could be applied on the specified + * resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Resource Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudresourcemanager + * // 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 cloudResourceManager = google.cloudresourcemanager('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Name of the resource to list `Constraints` for. + * resource_: 'folders/my-folder', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var constraintsPage = response['constraints']; + * if (!constraintsPage) { + * return; + * } + * for (var i = 0; i < constraintsPage.length; i++) { + * // TODO: Change code below to process each resource in + * `constraintsPage`: console.log(JSON.stringify(constraintsPage[i], null, + * 2)); + * } + * + * if (response.nextPageToken) { + * request.resource.pageToken = response.nextPageToken; + * cloudResourceManager.folders.listAvailableOrgPolicyConstraints(request, + * handlePage); + * } + * }; + * + * cloudResourceManager.folders.listAvailableOrgPolicyConstraints(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 cloudresourcemanager.folders.listAvailableOrgPolicyConstraints + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ Name of the resource to list `Constraints` for. + * @param {().ListAvailableOrgPolicyConstraintsRequest} 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 + */ + listAvailableOrgPolicyConstraints(params?: Params$Resource$Folders$Listavailableorgpolicyconstraints, options?: MethodOptions): AxiosPromise; + listAvailableOrgPolicyConstraints(params: Params$Resource$Folders$Listavailableorgpolicyconstraints, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listAvailableOrgPolicyConstraints(params: Params$Resource$Folders$Listavailableorgpolicyconstraints, callback: BodyResponseCallback): void; + listAvailableOrgPolicyConstraints(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.folders.listOrgPolicies + * @desc Lists all the `Policies` set for a particular resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Resource Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudresourcemanager + * // 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 cloudResourceManager = google.cloudresourcemanager('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Name of the resource to list Policies for. + * resource_: 'folders/my-folder', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var policiesPage = response['policies']; + * if (!policiesPage) { + * return; + * } + * for (var i = 0; i < policiesPage.length; i++) { + * // TODO: Change code below to process each resource in + * `policiesPage`: console.log(JSON.stringify(policiesPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.resource.pageToken = response.nextPageToken; + * cloudResourceManager.folders.listOrgPolicies(request, handlePage); + * } + * }; + * + * cloudResourceManager.folders.listOrgPolicies(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 cloudresourcemanager.folders.listOrgPolicies + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ Name of the resource to list Policies for. + * @param {().ListOrgPoliciesRequest} 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 + */ + listOrgPolicies(params?: Params$Resource$Folders$Listorgpolicies, options?: MethodOptions): AxiosPromise; + listOrgPolicies(params: Params$Resource$Folders$Listorgpolicies, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listOrgPolicies(params: Params$Resource$Folders$Listorgpolicies, callback: BodyResponseCallback): void; + listOrgPolicies(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.folders.setOrgPolicy + * @desc Updates the specified `Policy` on the resource. Creates a new + * `Policy` for that `Constraint` on the resource if one does not exist. Not + * supplying an `etag` on the request `Policy` results in an unconditional + * write of the `Policy`. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Resource Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudresourcemanager + * // 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 cloudResourceManager = google.cloudresourcemanager('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Resource name of the resource to attach the `Policy`. + * resource_: 'folders/my-folder', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * cloudResourceManager.folders.setOrgPolicy(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 cloudresourcemanager.folders.setOrgPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ Resource name of the resource to attach the `Policy`. + * @param {().SetOrgPolicyRequest} 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 + */ + setOrgPolicy(params?: Params$Resource$Folders$Setorgpolicy, options?: MethodOptions): AxiosPromise; + setOrgPolicy(params: Params$Resource$Folders$Setorgpolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setOrgPolicy(params: Params$Resource$Folders$Setorgpolicy, callback: BodyResponseCallback): void; + setOrgPolicy(callback: BodyResponseCallback): void; + } + interface Params$Resource$Folders$Clearorgpolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the resource for the `Policy` to clear. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ClearOrgPolicyRequest; + } + interface Params$Resource$Folders$Geteffectiveorgpolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the resource to start computing the effective `Policy`. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GetEffectiveOrgPolicyRequest; + } + interface Params$Resource$Folders$Getorgpolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the resource the `Policy` is set on. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GetOrgPolicyRequest; + } + interface Params$Resource$Folders$Listavailableorgpolicyconstraints { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the resource to list `Constraints` for. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ListAvailableOrgPolicyConstraintsRequest; + } + interface Params$Resource$Folders$Listorgpolicies { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the resource to list Policies for. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ListOrgPoliciesRequest; + } + interface Params$Resource$Folders$Setorgpolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Resource name of the resource to attach the `Policy`. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetOrgPolicyRequest; + } + class Resource$Liens { + root: Cloudresourcemanager; + constructor(root: Cloudresourcemanager); + getRoot(): Cloudresourcemanager; + /** + * cloudresourcemanager.liens.create + * @desc Create a Lien which applies to the resource denoted by the `parent` + * field. Callers of this method will require permission on the `parent` + * resource. For example, applying to `projects/1234` requires permission + * `resourcemanager.projects.updateLiens`. NOTE: Some resources may limit + * the number of Liens which may be applied. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Resource Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudresourcemanager + * // 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 cloudResourceManager = google.cloudresourcemanager('v1'); + * + * authorize(function(authClient) { + * var request = { + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * cloudResourceManager.liens.create(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 cloudresourcemanager.liens.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().Lien} 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 + */ + create(params?: Params$Resource$Liens$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Liens$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Liens$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.liens.delete + * @desc Delete a Lien by `name`. Callers of this method will require + * permission on the `parent` resource. For example, a Lien with a `parent` + * of `projects/1234` requires permission + * `resourcemanager.projects.updateLiens`. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Resource Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudresourcemanager + * // 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 cloudResourceManager = google.cloudresourcemanager('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The name/identifier of the Lien to delete. + * name: 'liens/my-lien', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * cloudResourceManager.liens.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 cloudresourcemanager.liens.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name/identifier of the Lien to delete. + * @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?: Params$Resource$Liens$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Liens$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Liens$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.liens.get + * @desc Retrieve a Lien by `name`. Callers of this method will require + * permission on the `parent` resource. For example, a Lien with a `parent` + * of `projects/1234` requires permission requires permission + * `resourcemanager.projects.get` or `resourcemanager.projects.updateLiens`. + * @alias cloudresourcemanager.liens.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name/identifier of the Lien. + * @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?: Params$Resource$Liens$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Liens$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Liens$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.liens.list + * @desc List all Liens applied to the `parent` resource. Callers of this + * method will require permission on the `parent` resource. For example, a + * Lien with a `parent` of `projects/1234` requires permission + * `resourcemanager.projects.get`. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Resource Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudresourcemanager + * // 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 cloudResourceManager = google.cloudresourcemanager('v1'); + * + * authorize(function(authClient) { + * var request = { + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var liensPage = response['liens']; + * if (!liensPage) { + * return; + * } + * for (var i = 0; i < liensPage.length; i++) { + * // TODO: Change code below to process each resource in `liensPage`: + * console.log(JSON.stringify(liensPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * cloudResourceManager.liens.list(request, handlePage); + * } + * }; + * + * cloudResourceManager.liens.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 cloudresourcemanager.liens.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize The maximum number of items to return. This is a suggestion for the server. + * @param {string=} params.pageToken The `next_page_token` value returned from a previous List request, if any. + * @param {string=} params.parent The name of the resource to list all attached Liens. For example, `projects/1234`. + * @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?: Params$Resource$Liens$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Liens$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Liens$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Liens$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$Lien; + } + interface Params$Resource$Liens$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name/identifier of the Lien to delete. + */ + name?: string; + } + interface Params$Resource$Liens$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name/identifier of the Lien. + */ + name?: string; + } + interface Params$Resource$Liens$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The maximum number of items to return. This is a suggestion for the + * server. + */ + pageSize?: number; + /** + * The `next_page_token` value returned from a previous List request, if + * any. + */ + pageToken?: string; + /** + * The name of the resource to list all attached Liens. For example, + * `projects/1234`. + */ + parent?: string; + } + class Resource$Operations { + root: Cloudresourcemanager; + constructor(root: Cloudresourcemanager); + getRoot(): Cloudresourcemanager; + /** + * cloudresourcemanager.operations.get + * @desc Gets the latest state of a long-running operation. Clients can use + * this method to poll the operation result at intervals as recommended by + * the API service. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Resource Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudresourcemanager + * // 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 cloudResourceManager = google.cloudresourcemanager('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The name of the operation resource. + * name: 'operations/my-operation', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * cloudResourceManager.operations.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 cloudresourcemanager.operations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource. + * @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?: Params$Resource$Operations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Operations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Operations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Operations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource. + */ + name?: string; + } + class Resource$Organizations { + root: Cloudresourcemanager; + constructor(root: Cloudresourcemanager); + getRoot(): Cloudresourcemanager; + /** + * cloudresourcemanager.organizations.clearOrgPolicy + * @desc Clears a `Policy` from a resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Resource Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudresourcemanager + * // 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 cloudResourceManager = google.cloudresourcemanager('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Name of the resource for the `Policy` to clear. + * resource_: 'organizations/my-organization', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * cloudResourceManager.organizations.clearOrgPolicy(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 cloudresourcemanager.organizations.clearOrgPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ Name of the resource for the `Policy` to clear. + * @param {().ClearOrgPolicyRequest} 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 + */ + clearOrgPolicy(params?: Params$Resource$Organizations$Clearorgpolicy, options?: MethodOptions): AxiosPromise; + clearOrgPolicy(params: Params$Resource$Organizations$Clearorgpolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + clearOrgPolicy(params: Params$Resource$Organizations$Clearorgpolicy, callback: BodyResponseCallback): void; + clearOrgPolicy(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.organizations.get + * @desc Fetches an Organization resource identified by the specified + * resource name. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Resource Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudresourcemanager + * // 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 cloudResourceManager = google.cloudresourcemanager('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The resource name of the Organization to fetch, e.g. + * "organizations/1234". name: 'organizations/my-organization', // TODO: + * Update placeholder value. + * + * auth: authClient, + * }; + * + * cloudResourceManager.organizations.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 cloudresourcemanager.organizations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name of the Organization to fetch, e.g. "organizations/1234". + * @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?: Params$Resource$Organizations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Organizations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Organizations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.organizations.getEffectiveOrgPolicy + * @desc Gets the effective `Policy` on a resource. This is the result of + * merging `Policies` in the resource hierarchy. The returned `Policy` will + * not have an `etag`set because it is a computed `Policy` across multiple + * resources. Subtrees of Resource Manager resource hierarchy with 'under:' + * prefix will not be expanded. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Resource Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudresourcemanager + * // 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 cloudResourceManager = google.cloudresourcemanager('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The name of the resource to start computing the effective + * `Policy`. resource_: 'organizations/my-organization', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * cloudResourceManager.organizations.getEffectiveOrgPolicy(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 cloudresourcemanager.organizations.getEffectiveOrgPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ The name of the resource to start computing the effective `Policy`. + * @param {().GetEffectiveOrgPolicyRequest} 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 + */ + getEffectiveOrgPolicy(params?: Params$Resource$Organizations$Geteffectiveorgpolicy, options?: MethodOptions): AxiosPromise; + getEffectiveOrgPolicy(params: Params$Resource$Organizations$Geteffectiveorgpolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getEffectiveOrgPolicy(params: Params$Resource$Organizations$Geteffectiveorgpolicy, callback: BodyResponseCallback): void; + getEffectiveOrgPolicy(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.organizations.getIamPolicy + * @desc Gets the access control policy for an Organization resource. May be + * empty if no such policy or resource exists. The `resource` field should + * be the organization's resource name, e.g. "organizations/123". + * Authorization requires the Google IAM permission + * `resourcemanager.organizations.getIamPolicy` on the specified + * organization + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Resource Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudresourcemanager + * // 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 cloudResourceManager = google.cloudresourcemanager('v1'); + * + * authorize(function(authClient) { + * var request = { + * // REQUIRED: The resource for which the policy is being requested. + * // See the operation documentation for the appropriate value for this + * field. resource_: 'organizations/my-organization', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * cloudResourceManager.organizations.getIamPolicy(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 cloudresourcemanager.organizations.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. + * @param {().GetIamPolicyRequest} 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 + */ + getIamPolicy(params?: Params$Resource$Organizations$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Organizations$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Organizations$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.organizations.getOrgPolicy + * @desc Gets a `Policy` on a resource. If no `Policy` is set on the + * resource, a `Policy` is returned with default values including + * `POLICY_TYPE_NOT_SET` for the `policy_type oneof`. The `etag` value can + * be used with `SetOrgPolicy()` to create or update a `Policy` during + * read-modify-write. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Resource Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudresourcemanager + * // 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 cloudResourceManager = google.cloudresourcemanager('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Name of the resource the `Policy` is set on. + * resource_: 'organizations/my-organization', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * cloudResourceManager.organizations.getOrgPolicy(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 cloudresourcemanager.organizations.getOrgPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ Name of the resource the `Policy` is set on. + * @param {().GetOrgPolicyRequest} 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 + */ + getOrgPolicy(params?: Params$Resource$Organizations$Getorgpolicy, options?: MethodOptions): AxiosPromise; + getOrgPolicy(params: Params$Resource$Organizations$Getorgpolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getOrgPolicy(params: Params$Resource$Organizations$Getorgpolicy, callback: BodyResponseCallback): void; + getOrgPolicy(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.organizations.listAvailableOrgPolicyConstraints + * @desc Lists `Constraints` that could be applied on the specified + * resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Resource Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudresourcemanager + * // 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 cloudResourceManager = google.cloudresourcemanager('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Name of the resource to list `Constraints` for. + * resource_: 'organizations/my-organization', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var constraintsPage = response['constraints']; + * if (!constraintsPage) { + * return; + * } + * for (var i = 0; i < constraintsPage.length; i++) { + * // TODO: Change code below to process each resource in + * `constraintsPage`: console.log(JSON.stringify(constraintsPage[i], null, + * 2)); + * } + * + * if (response.nextPageToken) { + * request.resource.pageToken = response.nextPageToken; + * cloudResourceManager.organizations.listAvailableOrgPolicyConstraints(request, + * handlePage); + * } + * }; + * + * cloudResourceManager.organizations.listAvailableOrgPolicyConstraints(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 + * cloudresourcemanager.organizations.listAvailableOrgPolicyConstraints + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ Name of the resource to list `Constraints` for. + * @param {().ListAvailableOrgPolicyConstraintsRequest} 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 + */ + listAvailableOrgPolicyConstraints(params?: Params$Resource$Organizations$Listavailableorgpolicyconstraints, options?: MethodOptions): AxiosPromise; + listAvailableOrgPolicyConstraints(params: Params$Resource$Organizations$Listavailableorgpolicyconstraints, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listAvailableOrgPolicyConstraints(params: Params$Resource$Organizations$Listavailableorgpolicyconstraints, callback: BodyResponseCallback): void; + listAvailableOrgPolicyConstraints(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.organizations.listOrgPolicies + * @desc Lists all the `Policies` set for a particular resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Resource Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudresourcemanager + * // 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 cloudResourceManager = google.cloudresourcemanager('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Name of the resource to list Policies for. + * resource_: 'organizations/my-organization', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var policiesPage = response['policies']; + * if (!policiesPage) { + * return; + * } + * for (var i = 0; i < policiesPage.length; i++) { + * // TODO: Change code below to process each resource in + * `policiesPage`: console.log(JSON.stringify(policiesPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.resource.pageToken = response.nextPageToken; + * cloudResourceManager.organizations.listOrgPolicies(request, + * handlePage); + * } + * }; + * + * cloudResourceManager.organizations.listOrgPolicies(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 cloudresourcemanager.organizations.listOrgPolicies + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ Name of the resource to list Policies for. + * @param {().ListOrgPoliciesRequest} 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 + */ + listOrgPolicies(params?: Params$Resource$Organizations$Listorgpolicies, options?: MethodOptions): AxiosPromise; + listOrgPolicies(params: Params$Resource$Organizations$Listorgpolicies, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listOrgPolicies(params: Params$Resource$Organizations$Listorgpolicies, callback: BodyResponseCallback): void; + listOrgPolicies(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.organizations.search + * @desc Searches Organization resources that are visible to the user and + * satisfy the specified filter. This method returns Organizations in an + * unspecified order. New Organizations do not necessarily appear at the end + * of the results. Search will only return organizations on which the user + * has the permission `resourcemanager.organizations.get` + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Resource Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudresourcemanager + * // 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 cloudResourceManager = google.cloudresourcemanager('v1'); + * + * authorize(function(authClient) { + * var request = { + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var organizationsPage = response['organizations']; + * if (!organizationsPage) { + * return; + * } + * for (var i = 0; i < organizationsPage.length; i++) { + * // TODO: Change code below to process each resource in + * `organizationsPage`: console.log(JSON.stringify(organizationsPage[i], + * null, 2)); + * } + * + * if (response.nextPageToken) { + * request.resource.pageToken = response.nextPageToken; + * cloudResourceManager.organizations.search(request, handlePage); + * } + * }; + * + * cloudResourceManager.organizations.search(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 cloudresourcemanager.organizations.search + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().SearchOrganizationsRequest} 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 + */ + search(params?: Params$Resource$Organizations$Search, options?: MethodOptions): AxiosPromise; + search(params: Params$Resource$Organizations$Search, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + search(params: Params$Resource$Organizations$Search, callback: BodyResponseCallback): void; + search(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.organizations.setIamPolicy + * @desc Sets the access control policy on an Organization resource. + * Replaces any existing policy. The `resource` field should be the + * organization's resource name, e.g. "organizations/123". Authorization + * requires the Google IAM permission + * `resourcemanager.organizations.setIamPolicy` on the specified + * organization + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Resource Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudresourcemanager + * // 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 cloudResourceManager = google.cloudresourcemanager('v1'); + * + * authorize(function(authClient) { + * var request = { + * // REQUIRED: The resource for which the policy is being specified. + * // See the operation documentation for the appropriate value for this + * field. resource_: 'organizations/my-organization', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * cloudResourceManager.organizations.setIamPolicy(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 cloudresourcemanager.organizations.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. + * @param {().SetIamPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Organizations$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Organizations$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Organizations$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.organizations.setOrgPolicy + * @desc Updates the specified `Policy` on the resource. Creates a new + * `Policy` for that `Constraint` on the resource if one does not exist. Not + * supplying an `etag` on the request `Policy` results in an unconditional + * write of the `Policy`. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Resource Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudresourcemanager + * // 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 cloudResourceManager = google.cloudresourcemanager('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Resource name of the resource to attach the `Policy`. + * resource_: 'organizations/my-organization', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * cloudResourceManager.organizations.setOrgPolicy(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 cloudresourcemanager.organizations.setOrgPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ Resource name of the resource to attach the `Policy`. + * @param {().SetOrgPolicyRequest} 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 + */ + setOrgPolicy(params?: Params$Resource$Organizations$Setorgpolicy, options?: MethodOptions): AxiosPromise; + setOrgPolicy(params: Params$Resource$Organizations$Setorgpolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setOrgPolicy(params: Params$Resource$Organizations$Setorgpolicy, callback: BodyResponseCallback): void; + setOrgPolicy(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.organizations.testIamPermissions + * @desc Returns permissions that a caller has on the specified + * Organization. The `resource` field should be the organization's resource + * name, e.g. "organizations/123". There are no permissions required for + * making this API call. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Resource Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudresourcemanager + * // 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 cloudResourceManager = google.cloudresourcemanager('v1'); + * + * authorize(function(authClient) { + * var request = { + * // REQUIRED: The resource for which the policy detail is being + * requested. + * // See the operation documentation for the appropriate value for this + * field. resource_: 'organizations/my-organization', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * cloudResourceManager.organizations.testIamPermissions(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 cloudresourcemanager.organizations.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. + * @param {().TestIamPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Organizations$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Organizations$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Organizations$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Organizations$Clearorgpolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the resource for the `Policy` to clear. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ClearOrgPolicyRequest; + } + interface Params$Resource$Organizations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the Organization to fetch, e.g. + * "organizations/1234". + */ + name?: string; + } + interface Params$Resource$Organizations$Geteffectiveorgpolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the resource to start computing the effective `Policy`. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GetEffectiveOrgPolicyRequest; + } + interface Params$Resource$Organizations$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being requested. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GetIamPolicyRequest; + } + interface Params$Resource$Organizations$Getorgpolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the resource the `Policy` is set on. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GetOrgPolicyRequest; + } + interface Params$Resource$Organizations$Listavailableorgpolicyconstraints { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the resource to list `Constraints` for. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ListAvailableOrgPolicyConstraintsRequest; + } + interface Params$Resource$Organizations$Listorgpolicies { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the resource to list Policies for. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ListOrgPoliciesRequest; + } + interface Params$Resource$Organizations$Search { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$SearchOrganizationsRequest; + } + interface Params$Resource$Organizations$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being specified. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetIamPolicyRequest; + } + interface Params$Resource$Organizations$Setorgpolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Resource name of the resource to attach the `Policy`. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetOrgPolicyRequest; + } + interface Params$Resource$Organizations$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestIamPermissionsRequest; + } + class Resource$Projects { + root: Cloudresourcemanager; + constructor(root: Cloudresourcemanager); + getRoot(): Cloudresourcemanager; + /** + * cloudresourcemanager.projects.clearOrgPolicy + * @desc Clears a `Policy` from a resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Resource Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudresourcemanager + * // 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 cloudResourceManager = google.cloudresourcemanager('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Name of the resource for the `Policy` to clear. + * resource_: 'projects/my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * cloudResourceManager.projects.clearOrgPolicy(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 cloudresourcemanager.projects.clearOrgPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ Name of the resource for the `Policy` to clear. + * @param {().ClearOrgPolicyRequest} 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 + */ + clearOrgPolicy(params?: Params$Resource$Projects$Clearorgpolicy, options?: MethodOptions): AxiosPromise; + clearOrgPolicy(params: Params$Resource$Projects$Clearorgpolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + clearOrgPolicy(params: Params$Resource$Projects$Clearorgpolicy, callback: BodyResponseCallback): void; + clearOrgPolicy(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.projects.create + * @desc Request that a new Project be created. The result is an Operation + * which can be used to track the creation process. It is automatically + * deleted after a few hours, so there is no need to call DeleteOperation. + * Our SLO permits Project creation to take up to 30 seconds at the 90th + * percentile. As of 2016-08-29, we are observing 6 seconds 50th percentile + * latency. 95th percentile latency is around 11 seconds. We recommend + * polling at the 5th second with an exponential backoff. Authorization + * requires the Google IAM permission `resourcemanager.projects.create` on + * the specified parent for the new project. The parent is identified by a + * specified ResourceId, which must include both an ID and a type, such as + * organization. This method does not associate the new project with a + * billing account. You can set or update the billing account associated + * with a project using the [`projects.updateBillingInfo`] + * (/billing/reference/rest/v1/projects/updateBillingInfo) method. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Resource Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudresourcemanager + * // 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 cloudResourceManager = google.cloudresourcemanager('v1'); + * + * authorize(function(authClient) { + * var request = { + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * cloudResourceManager.projects.create(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 cloudresourcemanager.projects.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().Project} 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 + */ + create(params?: Params$Resource$Projects$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.projects.delete + * @desc Marks the Project identified by the specified `project_id` (for + * example, `my-project-123`) for deletion. This method will only affect the + * Project if it has a lifecycle state of ACTIVE. This method changes the + * Project's lifecycle state from ACTIVE to DELETE_REQUESTED. The deletion + * starts at an unspecified time, at which point the Project is no longer + * accessible. Until the deletion completes, you can check the lifecycle + * state checked by retrieving the Project with GetProject, and the Project + * remains visible to ListProjects. However, you cannot update the project. + * After the deletion completes, the Project is not retrievable by the + * GetProject and ListProjects methods. The caller must have modify + * permissions for this Project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Resource Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudresourcemanager + * // 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 cloudResourceManager = google.cloudresourcemanager('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The Project ID (for example, `foo-bar-123`). + * // Required. + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * cloudResourceManager.projects.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 cloudresourcemanager.projects.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId The Project ID (for example, `foo-bar-123`). Required. + * @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?: Params$Resource$Projects$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.projects.get + * @desc Retrieves the Project identified by the specified `project_id` (for + * example, `my-project-123`). The caller must have read permissions for + * this Project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Resource Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudresourcemanager + * // 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 cloudResourceManager = google.cloudresourcemanager('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The Project ID (for example, `my-project-123`). + * // Required. + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * cloudResourceManager.projects.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 cloudresourcemanager.projects.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId The Project ID (for example, `my-project-123`). Required. + * @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?: Params$Resource$Projects$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.projects.getAncestry + * @desc Gets a list of ancestors in the resource hierarchy for the Project + * identified by the specified `project_id` (for example, `my-project-123`). + * The caller must have read permissions for this Project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Resource Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudresourcemanager + * // 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 cloudResourceManager = google.cloudresourcemanager('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The Project ID (for example, `my-project-123`). + * // Required. + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * cloudResourceManager.projects.getAncestry(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 cloudresourcemanager.projects.getAncestry + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId The Project ID (for example, `my-project-123`). Required. + * @param {().GetAncestryRequest} 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 + */ + getAncestry(params?: Params$Resource$Projects$Getancestry, options?: MethodOptions): AxiosPromise; + getAncestry(params: Params$Resource$Projects$Getancestry, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getAncestry(params: Params$Resource$Projects$Getancestry, callback: BodyResponseCallback): void; + getAncestry(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.projects.getEffectiveOrgPolicy + * @desc Gets the effective `Policy` on a resource. This is the result of + * merging `Policies` in the resource hierarchy. The returned `Policy` will + * not have an `etag`set because it is a computed `Policy` across multiple + * resources. Subtrees of Resource Manager resource hierarchy with 'under:' + * prefix will not be expanded. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Resource Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudresourcemanager + * // 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 cloudResourceManager = google.cloudresourcemanager('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The name of the resource to start computing the effective + * `Policy`. resource_: 'projects/my-project', // TODO: Update placeholder + * value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * cloudResourceManager.projects.getEffectiveOrgPolicy(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 cloudresourcemanager.projects.getEffectiveOrgPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ The name of the resource to start computing the effective `Policy`. + * @param {().GetEffectiveOrgPolicyRequest} 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 + */ + getEffectiveOrgPolicy(params?: Params$Resource$Projects$Geteffectiveorgpolicy, options?: MethodOptions): AxiosPromise; + getEffectiveOrgPolicy(params: Params$Resource$Projects$Geteffectiveorgpolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getEffectiveOrgPolicy(params: Params$Resource$Projects$Geteffectiveorgpolicy, callback: BodyResponseCallback): void; + getEffectiveOrgPolicy(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.projects.getIamPolicy + * @desc Returns the IAM access control policy for the specified Project. + * Permission is denied if the policy or the resource does not exist. + * Authorization requires the Google IAM permission + * `resourcemanager.projects.getIamPolicy` on the project. For additional + * information about resource structure and identification, see [Resource + * Names](/apis/design/resource_names). + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Resource Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudresourcemanager + * // 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 cloudResourceManager = google.cloudresourcemanager('v1'); + * + * authorize(function(authClient) { + * var request = { + * // REQUIRED: The resource for which the policy is being requested. + * // See the operation documentation for the appropriate value for this + * field. resource_: 'my-resource', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * cloudResourceManager.projects.getIamPolicy(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 cloudresourcemanager.projects.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. + * @param {().GetIamPolicyRequest} 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 + */ + getIamPolicy(params?: Params$Resource$Projects$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Projects$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Projects$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.projects.getOrgPolicy + * @desc Gets a `Policy` on a resource. If no `Policy` is set on the + * resource, a `Policy` is returned with default values including + * `POLICY_TYPE_NOT_SET` for the `policy_type oneof`. The `etag` value can + * be used with `SetOrgPolicy()` to create or update a `Policy` during + * read-modify-write. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Resource Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudresourcemanager + * // 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 cloudResourceManager = google.cloudresourcemanager('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Name of the resource the `Policy` is set on. + * resource_: 'projects/my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * cloudResourceManager.projects.getOrgPolicy(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 cloudresourcemanager.projects.getOrgPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ Name of the resource the `Policy` is set on. + * @param {().GetOrgPolicyRequest} 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 + */ + getOrgPolicy(params?: Params$Resource$Projects$Getorgpolicy, options?: MethodOptions): AxiosPromise; + getOrgPolicy(params: Params$Resource$Projects$Getorgpolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getOrgPolicy(params: Params$Resource$Projects$Getorgpolicy, callback: BodyResponseCallback): void; + getOrgPolicy(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.projects.list + * @desc Lists Projects that are visible to the user and satisfy the + * specified filter. This method returns Projects in an unspecified order. + * This method is eventually consistent with project mutations; this means + * that a newly created project may not appear in the results or recent + * updates to an existing project may not be reflected in the results. To + * retrieve the latest state of a project, use the GetProject method. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Resource Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudresourcemanager + * // 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 cloudResourceManager = google.cloudresourcemanager('v1'); + * + * authorize(function(authClient) { + * var request = { + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var projectsPage = response['projects']; + * if (!projectsPage) { + * return; + * } + * for (var i = 0; i < projectsPage.length; i++) { + * // TODO: Change code below to process each resource in + * `projectsPage`: console.log(JSON.stringify(projectsPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * cloudResourceManager.projects.list(request, handlePage); + * } + * }; + * + * cloudResourceManager.projects.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 cloudresourcemanager.projects.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter An expression for filtering the results of the request. Filter rules are case insensitive. The fields eligible for filtering are: + `name` + `id` + labels.key where *key* is the name of a label Some examples of using labels as filters: |Filter|Description| |------|-----------| |name:how*|The project's name starts with "how".| |name:Howl|The project's name is `Howl` or `howl`.| |name:HOWL|Equivalent to above.| |NAME:howl|Equivalent to above.| |labels.color:*|The project has the label `color`.| |labels.color:red|The project's label `color` has the value `red`.| |labels.color:red labels.size:big|The project's label `color` has the value `red` and its label `size` has the value `big`. If you specify a filter that has both `parent.type` and `parent.id`, then the `resourcemanager.projects.list` permission is checked on the parent. If the user has this permission, all projects under the parent will be returned after remaining filters have been applied. If the user lacks this permission, then all projects for which the user has the `resourcemanager.projects.get` permission will be returned after remaining filters have been applied. If no filter is specified, the call will return projects for which the user has `resourcemanager.projects.get` permissions. Optional. + * @param {integer=} params.pageSize The maximum number of Projects to return in the response. The server can return fewer Projects than requested. If unspecified, server picks an appropriate default. Optional. + * @param {string=} params.pageToken A pagination token returned from a previous call to ListProjects that indicates from where listing should continue. Optional. + * @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?: Params$Resource$Projects$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.projects.listAvailableOrgPolicyConstraints + * @desc Lists `Constraints` that could be applied on the specified + * resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Resource Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudresourcemanager + * // 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 cloudResourceManager = google.cloudresourcemanager('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Name of the resource to list `Constraints` for. + * resource_: 'projects/my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var constraintsPage = response['constraints']; + * if (!constraintsPage) { + * return; + * } + * for (var i = 0; i < constraintsPage.length; i++) { + * // TODO: Change code below to process each resource in + * `constraintsPage`: console.log(JSON.stringify(constraintsPage[i], null, + * 2)); + * } + * + * if (response.nextPageToken) { + * request.resource.pageToken = response.nextPageToken; + * cloudResourceManager.projects.listAvailableOrgPolicyConstraints(request, + * handlePage); + * } + * }; + * + * cloudResourceManager.projects.listAvailableOrgPolicyConstraints(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 cloudresourcemanager.projects.listAvailableOrgPolicyConstraints + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ Name of the resource to list `Constraints` for. + * @param {().ListAvailableOrgPolicyConstraintsRequest} 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 + */ + listAvailableOrgPolicyConstraints(params?: Params$Resource$Projects$Listavailableorgpolicyconstraints, options?: MethodOptions): AxiosPromise; + listAvailableOrgPolicyConstraints(params: Params$Resource$Projects$Listavailableorgpolicyconstraints, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listAvailableOrgPolicyConstraints(params: Params$Resource$Projects$Listavailableorgpolicyconstraints, callback: BodyResponseCallback): void; + listAvailableOrgPolicyConstraints(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.projects.listOrgPolicies + * @desc Lists all the `Policies` set for a particular resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Resource Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudresourcemanager + * // 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 cloudResourceManager = google.cloudresourcemanager('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Name of the resource to list Policies for. + * resource_: 'projects/my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var policiesPage = response['policies']; + * if (!policiesPage) { + * return; + * } + * for (var i = 0; i < policiesPage.length; i++) { + * // TODO: Change code below to process each resource in + * `policiesPage`: console.log(JSON.stringify(policiesPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.resource.pageToken = response.nextPageToken; + * cloudResourceManager.projects.listOrgPolicies(request, handlePage); + * } + * }; + * + * cloudResourceManager.projects.listOrgPolicies(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 cloudresourcemanager.projects.listOrgPolicies + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ Name of the resource to list Policies for. + * @param {().ListOrgPoliciesRequest} 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 + */ + listOrgPolicies(params?: Params$Resource$Projects$Listorgpolicies, options?: MethodOptions): AxiosPromise; + listOrgPolicies(params: Params$Resource$Projects$Listorgpolicies, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listOrgPolicies(params: Params$Resource$Projects$Listorgpolicies, callback: BodyResponseCallback): void; + listOrgPolicies(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.projects.setIamPolicy + * @desc Sets the IAM access control policy for the specified Project. + * Overwrites any existing policy. The following constraints apply when + * using `setIamPolicy()`: + Project does not support `allUsers` and + * `allAuthenticatedUsers` as `members` in a `Binding` of a `Policy`. + The + * owner role can be granted only to `user` and `serviceAccount`. + Service + * accounts can be made owners of a project directly without any + * restrictions. However, to be added as an owner, a user must be invited + * via Cloud Platform console and must accept the invitation. + A user + * cannot be granted the owner role using `setIamPolicy()`. The user must be + * granted the owner role using the Cloud Platform Console and must + * explicitly accept the invitation. + You can only grant ownership of a + * project to a member by using the GCP Console. Inviting a member will + * deliver an invitation email that they must accept. An invitation email is + * not generated if you are granting a role other than owner, or if both the + * member you are inviting and the project are part of your organization. + + * Membership changes that leave the project without any owners that have + * accepted the Terms of Service (ToS) will be rejected. + If the project + * is not part of an organization, there must be at least one owner who has + * accepted the Terms of Service (ToS) agreement in the policy. Calling + * `setIamPolicy()` to remove the last ToS-accepted owner from the policy + * will fail. This restriction also applies to legacy projects that no + * longer have owners who have accepted the ToS. Edits to IAM policies will + * be rejected until the lack of a ToS-accepting owner is rectified. + This + * method will replace the existing policy, and cannot be used to append + * additional IAM settings. Note: Removing service accounts from policies + * or changing their roles can render services completely inoperable. It is + * important to understand how the service account is being used before + * removing or updating its roles. Authorization requires the Google IAM + * permission `resourcemanager.projects.setIamPolicy` on the project + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Resource Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudresourcemanager + * // 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 cloudResourceManager = google.cloudresourcemanager('v1'); + * + * authorize(function(authClient) { + * var request = { + * // REQUIRED: The resource for which the policy is being specified. + * // See the operation documentation for the appropriate value for this + * field. resource_: 'my-resource', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * cloudResourceManager.projects.setIamPolicy(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 cloudresourcemanager.projects.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. + * @param {().SetIamPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Projects$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Projects$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Projects$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.projects.setOrgPolicy + * @desc Updates the specified `Policy` on the resource. Creates a new + * `Policy` for that `Constraint` on the resource if one does not exist. Not + * supplying an `etag` on the request `Policy` results in an unconditional + * write of the `Policy`. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Resource Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudresourcemanager + * // 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 cloudResourceManager = google.cloudresourcemanager('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Resource name of the resource to attach the `Policy`. + * resource_: 'projects/my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * cloudResourceManager.projects.setOrgPolicy(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 cloudresourcemanager.projects.setOrgPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ Resource name of the resource to attach the `Policy`. + * @param {().SetOrgPolicyRequest} 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 + */ + setOrgPolicy(params?: Params$Resource$Projects$Setorgpolicy, options?: MethodOptions): AxiosPromise; + setOrgPolicy(params: Params$Resource$Projects$Setorgpolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setOrgPolicy(params: Params$Resource$Projects$Setorgpolicy, callback: BodyResponseCallback): void; + setOrgPolicy(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.projects.testIamPermissions + * @desc Returns permissions that a caller has on the specified Project. + * There are no permissions required for making this API call. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Resource Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudresourcemanager + * // 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 cloudResourceManager = google.cloudresourcemanager('v1'); + * + * authorize(function(authClient) { + * var request = { + * // REQUIRED: The resource for which the policy detail is being + * requested. + * // See the operation documentation for the appropriate value for this + * field. resource_: 'my-resource', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * cloudResourceManager.projects.testIamPermissions(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 cloudresourcemanager.projects.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. + * @param {().TestIamPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Projects$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Projects$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Projects$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.projects.undelete + * @desc Restores the Project identified by the specified `project_id` (for + * example, `my-project-123`). You can only use this method for a Project + * that has a lifecycle state of DELETE_REQUESTED. After deletion starts, + * the Project cannot be restored. The caller must have modify permissions + * for this Project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Resource Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudresourcemanager + * // 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 cloudResourceManager = google.cloudresourcemanager('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The project ID (for example, `foo-bar-123`). + * // Required. + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * cloudResourceManager.projects.undelete(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 cloudresourcemanager.projects.undelete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId The project ID (for example, `foo-bar-123`). Required. + * @param {().UndeleteProjectRequest} 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 + */ + undelete(params?: Params$Resource$Projects$Undelete, options?: MethodOptions): AxiosPromise; + undelete(params: Params$Resource$Projects$Undelete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + undelete(params: Params$Resource$Projects$Undelete, callback: BodyResponseCallback): void; + undelete(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.projects.update + * @desc Updates the attributes of the Project identified by the specified + * `project_id` (for example, `my-project-123`). The caller must have + * modify permissions for this Project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Resource Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudresourcemanager + * // 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 cloudResourceManager = google.cloudresourcemanager('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The project ID (for example, `my-project-123`). + * // Required. + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * cloudResourceManager.projects.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 cloudresourcemanager.projects.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId The project ID (for example, `my-project-123`). Required. + * @param {().Project} 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?: Params$Resource$Projects$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Projects$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Projects$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Clearorgpolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the resource for the `Policy` to clear. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ClearOrgPolicyRequest; + } + interface Params$Resource$Projects$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$Project; + } + interface Params$Resource$Projects$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The Project ID (for example, `foo-bar-123`). Required. + */ + projectId?: string; + } + interface Params$Resource$Projects$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The Project ID (for example, `my-project-123`). Required. + */ + projectId?: string; + } + interface Params$Resource$Projects$Getancestry { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The Project ID (for example, `my-project-123`). Required. + */ + projectId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GetAncestryRequest; + } + interface Params$Resource$Projects$Geteffectiveorgpolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the resource to start computing the effective `Policy`. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GetEffectiveOrgPolicyRequest; + } + interface Params$Resource$Projects$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being requested. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GetIamPolicyRequest; + } + interface Params$Resource$Projects$Getorgpolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the resource the `Policy` is set on. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GetOrgPolicyRequest; + } + interface Params$Resource$Projects$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * An expression for filtering the results of the request. Filter rules are + * case insensitive. The fields eligible for filtering are: + `name` + `id` + * + labels.key where *key* is the name of a label + * Some examples of using labels as filters: |Filter|Description| + * |------|-----------| |name:how*|The project's name starts with "how".| + * |name:Howl|The project's name is `Howl` or `howl`.| |name:HOWL|Equivalent + * to above.| |NAME:howl|Equivalent to above.| |labels.color:*|The project + * has the label `color`.| |labels.color:red|The project's label `color` has + * the value `red`.| |labels.color:red labels.size:big|The project's + * label `color` has the value `red` and its label `size` has the value + * `big`. If you specify a filter that has both `parent.type` and + * `parent.id`, then the `resourcemanager.projects.list` permission is + * checked on the parent. If the user has this permission, all projects + * under the parent will be returned after remaining filters have been + * applied. If the user lacks this permission, then all projects for which + * the user has the `resourcemanager.projects.get` permission will be + * returned after remaining filters have been applied. If no filter is + * specified, the call will return projects for which the user has + * `resourcemanager.projects.get` permissions. Optional. + */ + filter?: string; + /** + * The maximum number of Projects to return in the response. The server can + * return fewer Projects than requested. If unspecified, server picks an + * appropriate default. Optional. + */ + pageSize?: number; + /** + * A pagination token returned from a previous call to ListProjects that + * indicates from where listing should continue. Optional. + */ + pageToken?: string; + } + interface Params$Resource$Projects$Listavailableorgpolicyconstraints { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the resource to list `Constraints` for. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ListAvailableOrgPolicyConstraintsRequest; + } + interface Params$Resource$Projects$Listorgpolicies { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the resource to list Policies for. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ListOrgPoliciesRequest; + } + interface Params$Resource$Projects$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being specified. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetIamPolicyRequest; + } + interface Params$Resource$Projects$Setorgpolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Resource name of the resource to attach the `Policy`. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetOrgPolicyRequest; + } + interface Params$Resource$Projects$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestIamPermissionsRequest; + } + interface Params$Resource$Projects$Undelete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The project ID (for example, `foo-bar-123`). Required. + */ + projectId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UndeleteProjectRequest; + } + interface Params$Resource$Projects$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The project ID (for example, `my-project-123`). Required. + */ + projectId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Project; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudresourcemanager/v1.js b/express-server/node_modules/googleapis/build/src/apis/cloudresourcemanager/v1.js new file mode 100644 index 00000000..2dc7d8f1 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudresourcemanager/v1.js @@ -0,0 +1,1283 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var cloudresourcemanager_v1; +(function (cloudresourcemanager_v1) { + /** + * Cloud Resource Manager API + * + * The Google Cloud Resource Manager API provides methods for creating, + * reading, and updating project metadata. + * + * @example + * const {google} = require('googleapis'); + * const cloudresourcemanager = google.cloudresourcemanager('v1'); + * + * @namespace cloudresourcemanager + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Cloudresourcemanager + */ + class Cloudresourcemanager { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.folders = new Resource$Folders(this); + this.liens = new Resource$Liens(this); + this.operations = new Resource$Operations(this); + this.organizations = new Resource$Organizations(this); + this.projects = new Resource$Projects(this); + } + getRoot() { + return this.root; + } + } + cloudresourcemanager_v1.Cloudresourcemanager = Cloudresourcemanager; + class Resource$Folders { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + clearOrgPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:clearOrgPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getEffectiveOrgPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:getEffectiveOrgPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getOrgPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:getOrgPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listAvailableOrgPolicyConstraints(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/{+resource}:listAvailableOrgPolicyConstraints') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listOrgPolicies(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:listOrgPolicies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setOrgPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:setOrgPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + cloudresourcemanager_v1.Resource$Folders = Resource$Folders; + class Resource$Liens { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/liens').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/liens').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + cloudresourcemanager_v1.Resource$Liens = Resource$Liens; + class Resource$Operations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + cloudresourcemanager_v1.Resource$Operations = Resource$Operations; + class Resource$Organizations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + clearOrgPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:clearOrgPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getEffectiveOrgPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:getEffectiveOrgPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getOrgPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:getOrgPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listAvailableOrgPolicyConstraints(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/{+resource}:listAvailableOrgPolicyConstraints') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listOrgPolicies(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:listOrgPolicies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + search(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/organizations:search') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setOrgPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:setOrgPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + cloudresourcemanager_v1.Resource$Organizations = Resource$Organizations; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + clearOrgPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:clearOrgPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/projects').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/projects/{projectId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['projectId'], + pathParams: ['projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/projects/{projectId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId'], + pathParams: ['projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getAncestry(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/projects/{projectId}:getAncestry') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId'], + pathParams: ['projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getEffectiveOrgPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:getEffectiveOrgPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/projects/{resource}:getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getOrgPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:getOrgPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/projects').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listAvailableOrgPolicyConstraints(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/{+resource}:listAvailableOrgPolicyConstraints') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listOrgPolicies(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:listOrgPolicies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/projects/{resource}:setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setOrgPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:setOrgPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/projects/{resource}:testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + undelete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/projects/{projectId}:undelete') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId'], + pathParams: ['projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/projects/{projectId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['projectId'], + pathParams: ['projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + cloudresourcemanager_v1.Resource$Projects = Resource$Projects; +})(cloudresourcemanager_v1 = exports.cloudresourcemanager_v1 || (exports.cloudresourcemanager_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudresourcemanager/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/cloudresourcemanager/v1.js.map new file mode 100644 index 00000000..97b7c527 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudresourcemanager/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/cloudresourcemanager/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudresourcemanager/v1beta1.d.ts b/express-server/node_modules/googleapis/build/src/apis/cloudresourcemanager/v1beta1.d.ts new file mode 100644 index 00000000..1a5b4ea1 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudresourcemanager/v1beta1.d.ts @@ -0,0 +1,2047 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace cloudresourcemanager_v1beta1 { + interface Options extends GlobalOptions { + version: 'v1beta1'; + } + /** + * Cloud Resource Manager API + * + * The Google Cloud Resource Manager API provides methods for creating, + * reading, and updating project metadata. + * + * @example + * const {google} = require('googleapis'); + * const cloudresourcemanager = google.cloudresourcemanager('v1beta1'); + * + * @namespace cloudresourcemanager + * @type {Function} + * @version v1beta1 + * @variation v1beta1 + * @param {object=} options Options for Cloudresourcemanager + */ + class Cloudresourcemanager { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + organizations: Resource$Organizations; + projects: Resource$Projects; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Identifying information for a single ancestor of a project. + */ + interface Schema$Ancestor { + /** + * Resource id of the ancestor. + */ + resourceId?: Schema$ResourceId; + } + /** + * Specifies the audit configuration for a service. The configuration + * determines which permission types are logged, and what identities, if any, + * are exempted from logging. An AuditConfig must have one or more + * AuditLogConfigs. If there are AuditConfigs for both `allServices` and a + * specific service, the union of the two AuditConfigs is used for that + * service: the log_types specified in each AuditConfig are enabled, and the + * exempted_members in each AuditLogConfig are exempted. Example Policy with + * multiple AuditConfigs: { "audit_configs": [ { + * "service": "allServices" "audit_log_configs": + * [ { "log_type": "DATA_READ", + * "exempted_members": [ "user:foo@gmail.com" ] }, { + * "log_type": "DATA_WRITE", }, { + * "log_type": "ADMIN_READ", } ] }, + * { "service": "fooservice.googleapis.com" + * "audit_log_configs": [ { "log_type": + * "DATA_READ", }, { "log_type": + * "DATA_WRITE", "exempted_members": [ + * "user:bar@gmail.com" ] } ] } + * ] } For fooservice, this policy enables DATA_READ, DATA_WRITE and + * ADMIN_READ logging. It also exempts foo@gmail.com from DATA_READ logging, + * and bar@gmail.com from DATA_WRITE logging. + */ + interface Schema$AuditConfig { + /** + * The configuration for logging of each type of permission. + */ + auditLogConfigs?: Schema$AuditLogConfig[]; + /** + * Specifies a service that will be enabled for audit logging. For example, + * `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a + * special value that covers all services. + */ + service?: string; + } + /** + * Provides the configuration for logging a type of permissions. Example: { + * "audit_log_configs": [ { "log_type": + * "DATA_READ", "exempted_members": [ + * "user:foo@gmail.com" ] }, { + * "log_type": "DATA_WRITE", } ] } This + * enables 'DATA_READ' and 'DATA_WRITE' logging, while + * exempting foo@gmail.com from DATA_READ logging. + */ + interface Schema$AuditLogConfig { + /** + * Specifies the identities that do not cause logging for this type of + * permission. Follows the same format of Binding.members. + */ + exemptedMembers?: string[]; + /** + * The log type that this config enables. + */ + logType?: string; + } + /** + * Associates `members` with a `role`. + */ + interface Schema$Binding { + /** + * Unimplemented. The condition that is associated with this binding. NOTE: + * an unsatisfied condition will not allow user access via current binding. + * Different bindings, including their conditions, are examined + * independently. + */ + condition?: Schema$Expr; + /** + * Specifies the identities requesting access for a Cloud Platform resource. + * `members` can have the following values: * `allUsers`: A special + * identifier that represents anyone who is on the internet; with or + * without a Google account. * `allAuthenticatedUsers`: A special + * identifier that represents anyone who is authenticated with a Google + * account or a service account. * `user:{emailid}`: An email address that + * represents a specific Google account. For example, `alice@gmail.com` . + * * `serviceAccount:{emailid}`: An email address that represents a service + * account. For example, `my-other-app@appspot.gserviceaccount.com`. * + * `group:{emailid}`: An email address that represents a Google group. For + * example, `admins@example.com`. * `domain:{domain}`: A Google Apps + * domain name that represents all the users of that domain. For example, + * `google.com` or `example.com`. + */ + members?: string[]; + /** + * Role that is assigned to `members`. For example, `roles/viewer`, + * `roles/editor`, or `roles/owner`. + */ + role?: string; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * Represents an expression text. Example: title: "User account + * presence" description: "Determines whether the request has a + * user account" expression: "size(request.user) > 0" + */ + interface Schema$Expr { + /** + * An optional description of the expression. This is a longer text which + * describes the expression, e.g. when hovered over it in a UI. + */ + description?: string; + /** + * Textual representation of an expression in Common Expression Language + * syntax. The application context of the containing message determines + * which well-known feature set of CEL is supported. + */ + expression?: string; + /** + * An optional string indicating the location of the expression for error + * reporting, e.g. a file name and a position in the file. + */ + location?: string; + /** + * An optional title for the expression, i.e. a short string describing its + * purpose. This can be used e.g. in UIs which allow to enter the + * expression. + */ + title?: string; + } + /** + * Metadata describing a long running folder operation + */ + interface Schema$FolderOperation { + /** + * The resource name of the folder or organization we are either creating + * the folder under or moving the folder to. + */ + destinationParent?: string; + /** + * The display name of the folder. + */ + displayName?: string; + /** + * The type of this operation. + */ + operationType?: string; + /** + * The resource name of the folder's parent. Only applicable when the + * operation_type is MOVE. + */ + sourceParent?: string; + } + /** + * A classification of the Folder Operation error. + */ + interface Schema$FolderOperationError { + /** + * The type of operation error experienced. + */ + errorMessageId?: string; + } + /** + * The request sent to the GetAncestry method. + */ + interface Schema$GetAncestryRequest { + } + /** + * Response from the GetAncestry method. + */ + interface Schema$GetAncestryResponse { + /** + * Ancestors are ordered from bottom to top of the resource hierarchy. The + * first ancestor is the project itself, followed by the project's + * parent, etc. + */ + ancestor?: Schema$Ancestor[]; + } + /** + * Request message for `GetIamPolicy` method. + */ + interface Schema$GetIamPolicyRequest { + } + /** + * The response returned from the `ListOrganizations` method. + */ + interface Schema$ListOrganizationsResponse { + /** + * A pagination token to be used to retrieve the next page of results. If + * the result is too large to fit within the page size specified in the + * request, this field will be set with a token that can be used to fetch + * the next page of results. If this field is empty, it indicates that this + * response contains the last page of results. + */ + nextPageToken?: string; + /** + * The list of Organizations that matched the list query, possibly + * paginated. + */ + organizations?: Schema$Organization[]; + } + /** + * A page of the response received from the ListProjects method. A paginated + * response where more pages are available has `next_page_token` set. This + * token can be used in a subsequent request to retrieve the next request + * page. + */ + interface Schema$ListProjectsResponse { + /** + * Pagination token. If the result set is too large to fit in a single + * response, this token is returned. It encodes the position of the current + * result cursor. Feeding this value into a new list request with the + * `page_token` parameter gives the next page of the results. When + * `next_page_token` is not filled in, there is no next page and the list + * returned is the last page in the result set. Pagination tokens have a + * limited lifetime. + */ + nextPageToken?: string; + /** + * The list of Projects that matched the list filter. This list can be + * paginated. + */ + projects?: Schema$Project[]; + } + /** + * The root node in the resource hierarchy to which a particular entity's + * (e.g., company) resources belong. + */ + interface Schema$Organization { + /** + * Timestamp when the Organization was created. Assigned by the server. + * @OutputOnly + */ + creationTime?: string; + /** + * A human-readable string that refers to the Organization in the GCP + * Console UI. This string is set by the server and cannot be changed. The + * string will be set to the primary domain (for example, + * "google.com") of the G Suite customer that owns the + * organization. @OutputOnly + */ + displayName?: string; + /** + * The organization's current lifecycle state. Assigned by the server. + * @OutputOnly + */ + lifecycleState?: string; + /** + * Output Only. The resource name of the organization. This is the + * organization's relative path in the API. Its format is + * "organizations/[organization_id]". For example, + * "organizations/1234". + */ + name?: string; + /** + * An immutable id for the Organization that is assigned on creation. This + * should be omitted when creating a new Organization. This field is + * read-only. + */ + organizationId?: string; + /** + * The owner of this Organization. The owner should be specified on + * creation. Once set, it cannot be changed. This field is required. + */ + owner?: Schema$OrganizationOwner; + } + /** + * The entity that owns an Organization. The lifetime of the Organization and + * all of its descendants are bound to the `OrganizationOwner`. If the + * `OrganizationOwner` is deleted, the Organization and all its descendants + * will be deleted. + */ + interface Schema$OrganizationOwner { + /** + * The G Suite customer id used in the Directory API. + */ + directoryCustomerId?: string; + } + /** + * Defines an Identity and Access Management (IAM) policy. It is used to + * specify access control policies for Cloud Platform resources. A `Policy` + * consists of a list of `bindings`. A `binding` binds a list of `members` to + * a `role`, where the members can be user accounts, Google groups, Google + * domains, and service accounts. A `role` is a named list of permissions + * defined by IAM. **JSON Example** { "bindings": [ { + * "role": "roles/owner", "members": [ + * "user:mike@example.com", "group:admins@example.com", + * "domain:google.com", + * "serviceAccount:my-other-app@appspot.gserviceaccount.com" ] }, { + * "role": "roles/viewer", "members": + * ["user:sean@example.com"] } ] } **YAML + * Example** bindings: - members: - user:mike@example.com - + * group:admins@example.com - domain:google.com - + * serviceAccount:my-other-app@appspot.gserviceaccount.com role: + * roles/owner - members: - user:sean@example.com role: + * roles/viewer For a description of IAM and its features, see the [IAM + * developer's guide](https://cloud.google.com/iam/docs). + */ + interface Schema$Policy { + /** + * Specifies cloud audit logging configuration for this policy. + */ + auditConfigs?: Schema$AuditConfig[]; + /** + * Associates a list of `members` to a `role`. `bindings` with no members + * will result in an error. + */ + bindings?: Schema$Binding[]; + /** + * `etag` is used for optimistic concurrency control as a way to help + * prevent simultaneous updates of a policy from overwriting each other. It + * is strongly suggested that systems make use of the `etag` in the + * read-modify-write cycle to perform policy updates in order to avoid race + * conditions: An `etag` is returned in the response to `getIamPolicy`, and + * systems are expected to put that etag in the request to `setIamPolicy` to + * ensure that their change will be applied to the same version of the + * policy. If no `etag` is provided in the call to `setIamPolicy`, then the + * existing policy is overwritten blindly. + */ + etag?: string; + /** + * Deprecated. + */ + version?: number; + } + /** + * A Project is a high-level Google Cloud Platform entity. It is a container + * for ACLs, APIs, App Engine Apps, VMs, and other Google Cloud Platform + * resources. + */ + interface Schema$Project { + /** + * Creation time. Read-only. + */ + createTime?: string; + /** + * The labels associated with this Project. Label keys must be between 1 + * and 63 characters long and must conform to the following regular + * expression: \[a-z\](\[-a-z0-9\]*\[a-z0-9\])?. Label values must be + * between 0 and 63 characters long and must conform to the regular + * expression (\[a-z\](\[-a-z0-9\]*\[a-z0-9\])?)?. No more than 256 labels + * can be associated with a given resource. Clients should store labels in + * a representation such as JSON that does not depend on specific characters + * being disallowed. Example: <code>"environment" : + * "dev"</code> Read-write. + */ + labels?: any; + /** + * The Project lifecycle state. Read-only. + */ + lifecycleState?: string; + /** + * The user-assigned display name of the Project. It must be 4 to 30 + * characters. Allowed characters are: lowercase and uppercase letters, + * numbers, hyphen, single-quote, double-quote, space, and exclamation + * point. Example: <code>My Project</code> Read-write. + */ + name?: string; + /** + * An optional reference to a parent Resource. Supported parent types + * include "organization" and "folder". Once set, the + * parent cannot be cleared. The `parent` can be set on creation or using + * the `UpdateProject` method; the end user must have the + * `resourcemanager.projects.create` permission on the parent. Read-write. + */ + parent?: Schema$ResourceId; + /** + * The unique, user-assigned ID of the Project. It must be 6 to 30 lowercase + * letters, digits, or hyphens. It must start with a letter. Trailing + * hyphens are prohibited. Example: <code>tokyo-rain-123</code> + * Read-only after creation. + */ + projectId?: string; + /** + * The number uniquely identifying the project. Example: + * <code>415104041262</code> Read-only. + */ + projectNumber?: string; + } + /** + * A status object which is used as the `metadata` field for the Operation + * returned by CreateProject. It provides insight for when significant phases + * of Project creation have completed. + */ + interface Schema$ProjectCreationStatus { + /** + * Creation time of the project creation workflow. + */ + createTime?: string; + /** + * True if the project can be retrieved using GetProject. No other + * operations on the project are guaranteed to work until the project + * creation is complete. + */ + gettable?: boolean; + /** + * True if the project creation process is complete. + */ + ready?: boolean; + } + /** + * A container to reference an id for any resource type. A `resource` in + * Google Cloud Platform is a generic term for something you (a developer) may + * want to interact with through one of our API's. Some examples are an + * App Engine app, a Compute Engine instance, a Cloud SQL database, and so on. + */ + interface Schema$ResourceId { + /** + * Required field for the type-specific id. This should correspond to the id + * used in the type-specific API's. + */ + id?: string; + /** + * Required field representing the resource type this id is for. At present, + * the valid types are "project", "folder", and + * "organization". + */ + type?: string; + } + /** + * Request message for `SetIamPolicy` method. + */ + interface Schema$SetIamPolicyRequest { + /** + * REQUIRED: The complete policy to be applied to the `resource`. The size + * of the policy is limited to a few 10s of KB. An empty policy is a valid + * policy but certain Cloud Platform services (such as Projects) might + * reject them. + */ + policy?: Schema$Policy; + /** + * OPTIONAL: A FieldMask specifying which fields of the policy to modify. + * Only the fields in the mask will be modified. If no mask is provided, the + * following default mask is used: paths: "bindings, etag" This + * field is only used by Cloud IAM. + */ + updateMask?: string; + } + /** + * Request message for `TestIamPermissions` method. + */ + interface Schema$TestIamPermissionsRequest { + /** + * The set of permissions to check for the `resource`. Permissions with + * wildcards (such as '*' or 'storage.*') are not allowed. + * For more information see [IAM + * Overview](https://cloud.google.com/iam/docs/overview#permissions). + */ + permissions?: string[]; + } + /** + * Response message for `TestIamPermissions` method. + */ + interface Schema$TestIamPermissionsResponse { + /** + * A subset of `TestPermissionsRequest.permissions` that the caller is + * allowed. + */ + permissions?: string[]; + } + /** + * The request sent to the UndeleteProject method. + */ + interface Schema$UndeleteProjectRequest { + } + class Resource$Organizations { + root: Cloudresourcemanager; + constructor(root: Cloudresourcemanager); + getRoot(): Cloudresourcemanager; + /** + * cloudresourcemanager.organizations.get + * @desc Fetches an Organization resource identified by the specified + * resource name. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Resource Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudresourcemanager + * // 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 cloudResourceManager = google.cloudresourcemanager('v1beta1'); + * + * authorize(function(authClient) { + * var request = { + * // The resource name of the Organization to fetch, e.g. + * "organizations/1234". name: 'organizations/my-organization', // TODO: + * Update placeholder value. + * + * auth: authClient, + * }; + * + * cloudResourceManager.organizations.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 cloudresourcemanager.organizations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name of the Organization to fetch, e.g. "organizations/1234". + * @param {string=} params.organizationId The id of the Organization resource to fetch. This field is deprecated and will be removed in v1. Use name instead. + * @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?: Params$Resource$Organizations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Organizations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Organizations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.organizations.getIamPolicy + * @desc Gets the access control policy for an Organization resource. May be + * empty if no such policy or resource exists. The `resource` field should + * be the organization's resource name, e.g. "organizations/123". + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Resource Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudresourcemanager + * // 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 cloudResourceManager = google.cloudresourcemanager('v1beta1'); + * + * authorize(function(authClient) { + * var request = { + * // REQUIRED: The resource for which the policy is being requested. + * // See the operation documentation for the appropriate value for this + * field. resource_: 'organizations/my-organization', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * cloudResourceManager.organizations.getIamPolicy(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 cloudresourcemanager.organizations.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. + * @param {().GetIamPolicyRequest} 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 + */ + getIamPolicy(params?: Params$Resource$Organizations$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Organizations$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Organizations$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.organizations.list + * @desc Lists Organization resources that are visible to the user and + * satisfy the specified filter. This method returns Organizations in an + * unspecified order. New Organizations do not necessarily appear at the end + * of the list. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Resource Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudresourcemanager + * // 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 cloudResourceManager = google.cloudresourcemanager('v1beta1'); + * + * authorize(function(authClient) { + * var request = { + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var organizationsPage = response['organizations']; + * if (!organizationsPage) { + * return; + * } + * for (var i = 0; i < organizationsPage.length; i++) { + * // TODO: Change code below to process each resource in + * `organizationsPage`: console.log(JSON.stringify(organizationsPage[i], + * null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * cloudResourceManager.organizations.list(request, handlePage); + * } + * }; + * + * cloudResourceManager.organizations.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 cloudresourcemanager.organizations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter An optional query string used to filter the Organizations to return in the response. Filter rules are case-insensitive. Organizations may be filtered by `owner.directoryCustomerId` or by `domain`, where the domain is a G Suite domain, for example: |Filter|Description| |------|-----------| |owner.directorycustomerid:123456789|Organizations with `owner.directory_customer_id` equal to `123456789`.| |domain:google.com|Organizations corresponding to the domain `google.com`.| This field is optional. + * @param {integer=} params.pageSize The maximum number of Organizations to return in the response. This field is optional. + * @param {string=} params.pageToken A pagination token returned from a previous call to `ListOrganizations` that indicates from where listing should continue. This field is optional. + * @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?: Params$Resource$Organizations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Organizations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Organizations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.organizations.setIamPolicy + * @desc Sets the access control policy on an Organization resource. + * Replaces any existing policy. The `resource` field should be the + * organization's resource name, e.g. "organizations/123". + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Resource Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudresourcemanager + * // 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 cloudResourceManager = google.cloudresourcemanager('v1beta1'); + * + * authorize(function(authClient) { + * var request = { + * // REQUIRED: The resource for which the policy is being specified. + * // See the operation documentation for the appropriate value for this + * field. resource_: 'organizations/my-organization', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * cloudResourceManager.organizations.setIamPolicy(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 cloudresourcemanager.organizations.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. + * @param {().SetIamPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Organizations$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Organizations$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Organizations$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.organizations.testIamPermissions + * @desc Returns permissions that a caller has on the specified + * Organization. The `resource` field should be the organization's resource + * name, e.g. "organizations/123". + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Resource Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudresourcemanager + * // 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 cloudResourceManager = google.cloudresourcemanager('v1beta1'); + * + * authorize(function(authClient) { + * var request = { + * // REQUIRED: The resource for which the policy detail is being + * requested. + * // See the operation documentation for the appropriate value for this + * field. resource_: 'organizations/my-organization', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * cloudResourceManager.organizations.testIamPermissions(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 cloudresourcemanager.organizations.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. + * @param {().TestIamPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Organizations$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Organizations$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Organizations$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.organizations.update + * @desc Updates an Organization resource identified by the specified + * resource name. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Resource Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudresourcemanager + * // 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 cloudResourceManager = google.cloudresourcemanager('v1beta1'); + * + * authorize(function(authClient) { + * var request = { + * // Output Only. The resource name of the organization. This is the + * // organization's relative path in the API. Its format is + * // "organizations/[organization_id]". For example, + * "organizations/1234". name: 'organizations/my-organization', // TODO: + * Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * cloudResourceManager.organizations.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 cloudresourcemanager.organizations.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Output Only. The resource name of the organization. This is the organization's relative path in the API. Its format is "organizations/[organization_id]". For example, "organizations/1234". + * @param {().Organization} 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?: Params$Resource$Organizations$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Organizations$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Organizations$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Organizations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the Organization to fetch, e.g. + * "organizations/1234". + */ + name?: string; + /** + * The id of the Organization resource to fetch. This field is deprecated + * and will be removed in v1. Use name instead. + */ + organizationId?: string; + } + interface Params$Resource$Organizations$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being requested. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GetIamPolicyRequest; + } + interface Params$Resource$Organizations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * An optional query string used to filter the Organizations to return in + * the response. Filter rules are case-insensitive. Organizations may be + * filtered by `owner.directoryCustomerId` or by `domain`, where the domain + * is a G Suite domain, for example: |Filter|Description| + * |------|-----------| |owner.directorycustomerid:123456789|Organizations + * with `owner.directory_customer_id` equal to `123456789`.| + * |domain:google.com|Organizations corresponding to the domain + * `google.com`.| This field is optional. + */ + filter?: string; + /** + * The maximum number of Organizations to return in the response. This field + * is optional. + */ + pageSize?: number; + /** + * A pagination token returned from a previous call to `ListOrganizations` + * that indicates from where listing should continue. This field is + * optional. + */ + pageToken?: string; + } + interface Params$Resource$Organizations$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being specified. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetIamPolicyRequest; + } + interface Params$Resource$Organizations$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestIamPermissionsRequest; + } + interface Params$Resource$Organizations$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Output Only. The resource name of the organization. This is the + * organization's relative path in the API. Its format is + * "organizations/[organization_id]". For example, "organizations/1234". + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Organization; + } + class Resource$Projects { + root: Cloudresourcemanager; + constructor(root: Cloudresourcemanager); + getRoot(): Cloudresourcemanager; + /** + * cloudresourcemanager.projects.create + * @desc Creates a Project resource. Initially, the Project resource is + * owned by its creator exclusively. The creator can later grant permission + * to others to read or update the Project. Several APIs are activated + * automatically for the Project, including Google Cloud Storage. The parent + * is identified by a specified ResourceId, which must include both an ID + * and a type, such as project, folder, or organization. This method does + * not associate the new project with a billing account. You can set or + * update the billing account associated with a project using the + * [`projects.updateBillingInfo`] + * (/billing/reference/rest/v1/projects/updateBillingInfo) method. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Resource Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudresourcemanager + * // 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 cloudResourceManager = google.cloudresourcemanager('v1beta1'); + * + * authorize(function(authClient) { + * var request = { + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * cloudResourceManager.projects.create(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 cloudresourcemanager.projects.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.useLegacyStack A safety hatch to opt out of the new reliable project creation process. + * @param {().Project} 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 + */ + create(params?: Params$Resource$Projects$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.projects.delete + * @desc Marks the Project identified by the specified `project_id` (for + * example, `my-project-123`) for deletion. This method will only affect the + * Project if it has a lifecycle state of ACTIVE. This method changes the + * Project's lifecycle state from ACTIVE to DELETE_REQUESTED. The deletion + * starts at an unspecified time, at which point the project is no longer + * accessible. Until the deletion completes, you can check the lifecycle + * state checked by retrieving the Project with GetProject, and the Project + * remains visible to ListProjects. However, you cannot update the project. + * After the deletion completes, the Project is not retrievable by the + * GetProject and ListProjects methods. The caller must have modify + * permissions for this Project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Resource Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudresourcemanager + * // 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 cloudResourceManager = google.cloudresourcemanager('v1beta1'); + * + * authorize(function(authClient) { + * var request = { + * // The Project ID (for example, `foo-bar-123`). + * // Required. + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * cloudResourceManager.projects.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 cloudresourcemanager.projects.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId The Project ID (for example, `foo-bar-123`). Required. + * @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?: Params$Resource$Projects$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.projects.get + * @desc Retrieves the Project identified by the specified `project_id` (for + * example, `my-project-123`). The caller must have read permissions for + * this Project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Resource Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudresourcemanager + * // 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 cloudResourceManager = google.cloudresourcemanager('v1beta1'); + * + * authorize(function(authClient) { + * var request = { + * // The Project ID (for example, `my-project-123`). + * // Required. + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * cloudResourceManager.projects.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 cloudresourcemanager.projects.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId The Project ID (for example, `my-project-123`). Required. + * @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?: Params$Resource$Projects$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.projects.getAncestry + * @desc Gets a list of ancestors in the resource hierarchy for the Project + * identified by the specified `project_id` (for example, `my-project-123`). + * The caller must have read permissions for this Project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Resource Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudresourcemanager + * // 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 cloudResourceManager = google.cloudresourcemanager('v1beta1'); + * + * authorize(function(authClient) { + * var request = { + * // The Project ID (for example, `my-project-123`). + * // Required. + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * cloudResourceManager.projects.getAncestry(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 cloudresourcemanager.projects.getAncestry + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId The Project ID (for example, `my-project-123`). Required. + * @param {().GetAncestryRequest} 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 + */ + getAncestry(params?: Params$Resource$Projects$Getancestry, options?: MethodOptions): AxiosPromise; + getAncestry(params: Params$Resource$Projects$Getancestry, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getAncestry(params: Params$Resource$Projects$Getancestry, callback: BodyResponseCallback): void; + getAncestry(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.projects.getIamPolicy + * @desc Returns the IAM access control policy for the specified Project. + * Permission is denied if the policy or the resource does not exist. For + * additional information about resource structure and identification, see + * [Resource Names](/apis/design/resource_names). + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Resource Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudresourcemanager + * // 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 cloudResourceManager = google.cloudresourcemanager('v1beta1'); + * + * authorize(function(authClient) { + * var request = { + * // REQUIRED: The resource for which the policy is being requested. + * // See the operation documentation for the appropriate value for this + * field. resource_: 'my-resource', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * cloudResourceManager.projects.getIamPolicy(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 cloudresourcemanager.projects.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. + * @param {().GetIamPolicyRequest} 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 + */ + getIamPolicy(params?: Params$Resource$Projects$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Projects$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Projects$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.projects.list + * @desc Lists Projects that are visible to the user and satisfy the + * specified filter. This method returns Projects in an unspecified order. + * This method is eventually consistent with project mutations; this means + * that a newly created project may not appear in the results or recent + * updates to an existing project may not be reflected in the results. To + * retrieve the latest state of a project, use the GetProjectmethod. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Resource Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudresourcemanager + * // 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 cloudResourceManager = google.cloudresourcemanager('v1beta1'); + * + * authorize(function(authClient) { + * var request = { + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var projectsPage = response['projects']; + * if (!projectsPage) { + * return; + * } + * for (var i = 0; i < projectsPage.length; i++) { + * // TODO: Change code below to process each resource in + * `projectsPage`: console.log(JSON.stringify(projectsPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * cloudResourceManager.projects.list(request, handlePage); + * } + * }; + * + * cloudResourceManager.projects.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 cloudresourcemanager.projects.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter An expression for filtering the results of the request. Filter rules are case insensitive. The fields eligible for filtering are: + `name` + `id` + labels.key where *key* is the name of a label Some examples of using labels as filters: |Filter|Description| |------|-----------| |name:how*|The project's name starts with "how".| |name:Howl|The project's name is `Howl` or `howl`.| |name:HOWL|Equivalent to above.| |NAME:howl|Equivalent to above.| |labels.color:*|The project has the label `color`.| |labels.color:red|The project's label `color` has the value `red`.| |labels.color:red labels.size:big|The project's label `color` has the value `red` and its label `size` has the value `big`. If you specify a filter that has both `parent.type` and `parent.id`, then the `resourcemanager.projects.list` permission is checked on the parent. If the user has this permission, all projects under the parent will be returned after remaining filters have been applied. If the user lacks this permission, then all projects for which the user has the `resourcemanager.projects.get` permission will be returned after remaining filters have been applied. If no filter is specified, the call will return projects for which the user has `resourcemanager.projects.get` permissions. Optional. + * @param {integer=} params.pageSize The maximum number of Projects to return in the response. The server can return fewer Projects than requested. If unspecified, server picks an appropriate default. Optional. + * @param {string=} params.pageToken A pagination token returned from a previous call to ListProjects that indicates from where listing should continue. Optional. + * @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?: Params$Resource$Projects$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.projects.setIamPolicy + * @desc Sets the IAM access control policy for the specified Project. + * Overwrites any existing policy. The following constraints apply when + * using `setIamPolicy()`: + Project does not support `allUsers` and + * `allAuthenticatedUsers` as `members` in a `Binding` of a `Policy`. + The + * owner role can be granted only to `user` and `serviceAccount`. + Service + * accounts can be made owners of a project directly without any + * restrictions. However, to be added as an owner, a user must be invited + * via Cloud Platform console and must accept the invitation. + A user + * cannot be granted the owner role using `setIamPolicy()`. The user must be + * granted the owner role using the Cloud Platform Console and must + * explicitly accept the invitation. + Invitations to grant the owner role + * cannot be sent using `setIamPolicy()`; they must be sent only using the + * Cloud Platform Console. + Membership changes that leave the project + * without any owners that have accepted the Terms of Service (ToS) will be + * rejected. + If the project is not part of an organization, there must be + * at least one owner who has accepted the Terms of Service (ToS) agreement + * in the policy. Calling `setIamPolicy()` to remove the last ToS-accepted + * owner from the policy will fail. This restriction also applies to legacy + * projects that no longer have owners who have accepted the ToS. Edits to + * IAM policies will be rejected until the lack of a ToS-accepting owner is + * rectified. + This method will replace the existing policy, and cannot be + * used to append additional IAM settings. Note: Removing service accounts + * from policies or changing their roles can render services completely + * inoperable. It is important to understand how the service account is + * being used before removing or updating its roles. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Resource Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudresourcemanager + * // 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 cloudResourceManager = google.cloudresourcemanager('v1beta1'); + * + * authorize(function(authClient) { + * var request = { + * // REQUIRED: The resource for which the policy is being specified. + * // See the operation documentation for the appropriate value for this + * field. resource_: 'my-resource', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * cloudResourceManager.projects.setIamPolicy(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 cloudresourcemanager.projects.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. + * @param {().SetIamPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Projects$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Projects$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Projects$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.projects.testIamPermissions + * @desc Returns permissions that a caller has on the specified Project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Resource Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudresourcemanager + * // 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 cloudResourceManager = google.cloudresourcemanager('v1beta1'); + * + * authorize(function(authClient) { + * var request = { + * // REQUIRED: The resource for which the policy detail is being + * requested. + * // See the operation documentation for the appropriate value for this + * field. resource_: 'my-resource', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * cloudResourceManager.projects.testIamPermissions(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 cloudresourcemanager.projects.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. + * @param {().TestIamPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Projects$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Projects$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Projects$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.projects.undelete + * @desc Restores the Project identified by the specified `project_id` (for + * example, `my-project-123`). You can only use this method for a Project + * that has a lifecycle state of DELETE_REQUESTED. After deletion starts, + * the Project cannot be restored. The caller must have modify permissions + * for this Project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Resource Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudresourcemanager + * // 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 cloudResourceManager = google.cloudresourcemanager('v1beta1'); + * + * authorize(function(authClient) { + * var request = { + * // The project ID (for example, `foo-bar-123`). + * // Required. + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * cloudResourceManager.projects.undelete(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 cloudresourcemanager.projects.undelete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId The project ID (for example, `foo-bar-123`). Required. + * @param {().UndeleteProjectRequest} 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 + */ + undelete(params?: Params$Resource$Projects$Undelete, options?: MethodOptions): AxiosPromise; + undelete(params: Params$Resource$Projects$Undelete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + undelete(params: Params$Resource$Projects$Undelete, callback: BodyResponseCallback): void; + undelete(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.projects.update + * @desc Updates the attributes of the Project identified by the specified + * `project_id` (for example, `my-project-123`). The caller must have + * modify permissions for this Project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Resource Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudresourcemanager + * // 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 cloudResourceManager = google.cloudresourcemanager('v1beta1'); + * + * authorize(function(authClient) { + * var request = { + * // The project ID (for example, `my-project-123`). + * // Required. + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * cloudResourceManager.projects.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 cloudresourcemanager.projects.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId The project ID (for example, `my-project-123`). Required. + * @param {().Project} 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?: Params$Resource$Projects$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Projects$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Projects$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A safety hatch to opt out of the new reliable project creation process. + */ + useLegacyStack?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$Project; + } + interface Params$Resource$Projects$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The Project ID (for example, `foo-bar-123`). Required. + */ + projectId?: string; + } + interface Params$Resource$Projects$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The Project ID (for example, `my-project-123`). Required. + */ + projectId?: string; + } + interface Params$Resource$Projects$Getancestry { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The Project ID (for example, `my-project-123`). Required. + */ + projectId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GetAncestryRequest; + } + interface Params$Resource$Projects$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being requested. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GetIamPolicyRequest; + } + interface Params$Resource$Projects$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * An expression for filtering the results of the request. Filter rules are + * case insensitive. The fields eligible for filtering are: + `name` + `id` + * + labels.key where *key* is the name of a label + * Some examples of using labels as filters: |Filter|Description| + * |------|-----------| |name:how*|The project's name starts with "how".| + * |name:Howl|The project's name is `Howl` or `howl`.| |name:HOWL|Equivalent + * to above.| |NAME:howl|Equivalent to above.| |labels.color:*|The project + * has the label `color`.| |labels.color:red|The project's label `color` has + * the value `red`.| |labels.color:red labels.size:big|The project's + * label `color` has the value `red` and its label `size` has the value + * `big`. If you specify a filter that has both `parent.type` and + * `parent.id`, then the `resourcemanager.projects.list` permission is + * checked on the parent. If the user has this permission, all projects + * under the parent will be returned after remaining filters have been + * applied. If the user lacks this permission, then all projects for which + * the user has the `resourcemanager.projects.get` permission will be + * returned after remaining filters have been applied. If no filter is + * specified, the call will return projects for which the user has + * `resourcemanager.projects.get` permissions. Optional. + */ + filter?: string; + /** + * The maximum number of Projects to return in the response. The server can + * return fewer Projects than requested. If unspecified, server picks an + * appropriate default. Optional. + */ + pageSize?: number; + /** + * A pagination token returned from a previous call to ListProjects that + * indicates from where listing should continue. Optional. + */ + pageToken?: string; + } + interface Params$Resource$Projects$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being specified. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetIamPolicyRequest; + } + interface Params$Resource$Projects$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestIamPermissionsRequest; + } + interface Params$Resource$Projects$Undelete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The project ID (for example, `foo-bar-123`). Required. + */ + projectId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UndeleteProjectRequest; + } + interface Params$Resource$Projects$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The project ID (for example, `my-project-123`). Required. + */ + projectId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Project; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudresourcemanager/v1beta1.js b/express-server/node_modules/googleapis/build/src/apis/cloudresourcemanager/v1beta1.js new file mode 100644 index 00000000..41966ec2 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudresourcemanager/v1beta1.js @@ -0,0 +1,569 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var cloudresourcemanager_v1beta1; +(function (cloudresourcemanager_v1beta1) { + /** + * Cloud Resource Manager API + * + * The Google Cloud Resource Manager API provides methods for creating, + * reading, and updating project metadata. + * + * @example + * const {google} = require('googleapis'); + * const cloudresourcemanager = google.cloudresourcemanager('v1beta1'); + * + * @namespace cloudresourcemanager + * @type {Function} + * @version v1beta1 + * @variation v1beta1 + * @param {object=} options Options for Cloudresourcemanager + */ + class Cloudresourcemanager { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.organizations = new Resource$Organizations(this); + this.projects = new Resource$Projects(this); + } + getRoot() { + return this.root; + } + } + cloudresourcemanager_v1beta1.Cloudresourcemanager = Cloudresourcemanager; + class Resource$Organizations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+resource}:getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/organizations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+resource}:setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+resource}:testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + cloudresourcemanager_v1beta1.Resource$Organizations = Resource$Organizations; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/projects').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/projects/{projectId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['projectId'], + pathParams: ['projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/projects/{projectId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId'], + pathParams: ['projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getAncestry(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/projects/{projectId}:getAncestry') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId'], + pathParams: ['projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/projects/{resource}:getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/projects').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/projects/{resource}:setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/projects/{resource}:testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + undelete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/projects/{projectId}:undelete') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId'], + pathParams: ['projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/projects/{projectId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['projectId'], + pathParams: ['projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + cloudresourcemanager_v1beta1.Resource$Projects = Resource$Projects; +})(cloudresourcemanager_v1beta1 = exports.cloudresourcemanager_v1beta1 || (exports.cloudresourcemanager_v1beta1 = {})); +//# sourceMappingURL=v1beta1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudresourcemanager/v1beta1.js.map b/express-server/node_modules/googleapis/build/src/apis/cloudresourcemanager/v1beta1.js.map new file mode 100644 index 00000000..d08b6dca --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudresourcemanager/v1beta1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1beta1.js","sourceRoot":"","sources":["../../../../src/apis/cloudresourcemanager/v1beta1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudresourcemanager/v2.d.ts b/express-server/node_modules/googleapis/build/src/apis/cloudresourcemanager/v2.d.ts new file mode 100644 index 00000000..64f31bd5 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudresourcemanager/v2.d.ts @@ -0,0 +1,985 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace cloudresourcemanager_v2 { + interface Options extends GlobalOptions { + version: 'v2'; + } + /** + * Cloud Resource Manager API + * + * The Google Cloud Resource Manager API provides methods for creating, + * reading, and updating project metadata. + * + * @example + * const {google} = require('googleapis'); + * const cloudresourcemanager = google.cloudresourcemanager('v2'); + * + * @namespace cloudresourcemanager + * @type {Function} + * @version v2 + * @variation v2 + * @param {object=} options Options for Cloudresourcemanager + */ + class Cloudresourcemanager { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + folders: Resource$Folders; + operations: Resource$Operations; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Specifies the audit configuration for a service. The configuration + * determines which permission types are logged, and what identities, if any, + * are exempted from logging. An AuditConfig must have one or more + * AuditLogConfigs. If there are AuditConfigs for both `allServices` and a + * specific service, the union of the two AuditConfigs is used for that + * service: the log_types specified in each AuditConfig are enabled, and the + * exempted_members in each AuditLogConfig are exempted. Example Policy with + * multiple AuditConfigs: { "audit_configs": [ { + * "service": "allServices" "audit_log_configs": + * [ { "log_type": "DATA_READ", + * "exempted_members": [ "user:foo@gmail.com" ] }, { + * "log_type": "DATA_WRITE", }, { + * "log_type": "ADMIN_READ", } ] }, + * { "service": "fooservice.googleapis.com" + * "audit_log_configs": [ { "log_type": + * "DATA_READ", }, { "log_type": + * "DATA_WRITE", "exempted_members": [ + * "user:bar@gmail.com" ] } ] } + * ] } For fooservice, this policy enables DATA_READ, DATA_WRITE and + * ADMIN_READ logging. It also exempts foo@gmail.com from DATA_READ logging, + * and bar@gmail.com from DATA_WRITE logging. + */ + interface Schema$AuditConfig { + /** + * The configuration for logging of each type of permission. + */ + auditLogConfigs?: Schema$AuditLogConfig[]; + /** + * Specifies a service that will be enabled for audit logging. For example, + * `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a + * special value that covers all services. + */ + service?: string; + } + /** + * Provides the configuration for logging a type of permissions. Example: { + * "audit_log_configs": [ { "log_type": + * "DATA_READ", "exempted_members": [ + * "user:foo@gmail.com" ] }, { + * "log_type": "DATA_WRITE", } ] } This + * enables 'DATA_READ' and 'DATA_WRITE' logging, while + * exempting foo@gmail.com from DATA_READ logging. + */ + interface Schema$AuditLogConfig { + /** + * Specifies the identities that do not cause logging for this type of + * permission. Follows the same format of Binding.members. + */ + exemptedMembers?: string[]; + /** + * The log type that this config enables. + */ + logType?: string; + } + /** + * Associates `members` with a `role`. + */ + interface Schema$Binding { + /** + * Unimplemented. The condition that is associated with this binding. NOTE: + * an unsatisfied condition will not allow user access via current binding. + * Different bindings, including their conditions, are examined + * independently. + */ + condition?: Schema$Expr; + /** + * Specifies the identities requesting access for a Cloud Platform resource. + * `members` can have the following values: * `allUsers`: A special + * identifier that represents anyone who is on the internet; with or + * without a Google account. * `allAuthenticatedUsers`: A special + * identifier that represents anyone who is authenticated with a Google + * account or a service account. * `user:{emailid}`: An email address that + * represents a specific Google account. For example, `alice@gmail.com` . + * * `serviceAccount:{emailid}`: An email address that represents a service + * account. For example, `my-other-app@appspot.gserviceaccount.com`. * + * `group:{emailid}`: An email address that represents a Google group. For + * example, `admins@example.com`. * `domain:{domain}`: A Google Apps + * domain name that represents all the users of that domain. For example, + * `google.com` or `example.com`. + */ + members?: string[]; + /** + * Role that is assigned to `members`. For example, `roles/viewer`, + * `roles/editor`, or `roles/owner`. + */ + role?: string; + } + /** + * Represents an expression text. Example: title: "User account + * presence" description: "Determines whether the request has a + * user account" expression: "size(request.user) > 0" + */ + interface Schema$Expr { + /** + * An optional description of the expression. This is a longer text which + * describes the expression, e.g. when hovered over it in a UI. + */ + description?: string; + /** + * Textual representation of an expression in Common Expression Language + * syntax. The application context of the containing message determines + * which well-known feature set of CEL is supported. + */ + expression?: string; + /** + * An optional string indicating the location of the expression for error + * reporting, e.g. a file name and a position in the file. + */ + location?: string; + /** + * An optional title for the expression, i.e. a short string describing its + * purpose. This can be used e.g. in UIs which allow to enter the + * expression. + */ + title?: string; + } + /** + * A Folder in an Organization's resource hierarchy, used to organize that + * Organization's resources. + */ + interface Schema$Folder { + /** + * Output only. Timestamp when the Folder was created. Assigned by the + * server. + */ + createTime?: string; + /** + * The folder’s display name. A folder’s display name must be unique amongst + * its siblings, e.g. no two folders with the same parent can share the same + * display name. The display name must start and end with a letter or digit, + * may contain letters, digits, spaces, hyphens and underscores and can be + * no longer than 30 characters. This is captured by the regular expression: + * [\p{L}\p{N}]([\p{L}\p{N}_- ]{0,28}[\p{L}\p{N}])?. + */ + displayName?: string; + /** + * Output only. The lifecycle state of the folder. Updates to the + * lifecycle_state must be performed via DeleteFolder and UndeleteFolder. + */ + lifecycleState?: string; + /** + * Output only. The resource name of the Folder. Its format is + * `folders/{folder_id}`, for example: "folders/1234". + */ + name?: string; + /** + * The Folder’s parent's resource name. Updates to the folder's + * parent must be performed via MoveFolder. + */ + parent?: string; + } + /** + * Metadata describing a long running folder operation + */ + interface Schema$FolderOperation { + /** + * The resource name of the folder or organization we are either creating + * the folder under or moving the folder to. + */ + destinationParent?: string; + /** + * The display name of the folder. + */ + displayName?: string; + /** + * The type of this operation. + */ + operationType?: string; + /** + * The resource name of the folder's parent. Only applicable when the + * operation_type is MOVE. + */ + sourceParent?: string; + } + /** + * A classification of the Folder Operation error. + */ + interface Schema$FolderOperationError { + /** + * The type of operation error experienced. + */ + errorMessageId?: string; + } + /** + * Request message for `GetIamPolicy` method. + */ + interface Schema$GetIamPolicyRequest { + } + /** + * The ListFolders response message. + */ + interface Schema$ListFoldersResponse { + /** + * A possibly paginated list of Folders that are direct descendants of the + * specified parent resource. + */ + folders?: Schema$Folder[]; + /** + * A pagination token returned from a previous call to `ListFolders` that + * indicates from where listing should continue. This field is optional. + */ + nextPageToken?: string; + } + /** + * The MoveFolder request message. + */ + interface Schema$MoveFolderRequest { + /** + * The resource name of the Folder or Organization to reparent the folder + * under. Must be of the form `folders/{folder_id}` or + * `organizations/{org_id}`. + */ + destinationParent?: string; + } + /** + * This resource represents a long-running operation that is the result of a + * network API call. + */ + interface Schema$Operation { + /** + * If the value is `false`, it means the operation is still in progress. If + * `true`, the operation is completed, and either `error` or `response` is + * available. + */ + done?: boolean; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * Service-specific metadata associated with the operation. It typically + * contains progress information and common metadata such as create time. + * Some services might not provide such metadata. Any method that returns a + * long-running operation should document the metadata type, if any. + */ + metadata?: any; + /** + * The server-assigned name, which is only unique within the same service + * that originally returns it. If you use the default HTTP mapping, the + * `name` should have the format of `operations/some/unique/name`. + */ + name?: string; + /** + * The normal response of the operation in case of success. If the original + * method returns no data on success, such as `Delete`, the response is + * `google.protobuf.Empty`. If the original method is standard + * `Get`/`Create`/`Update`, the response should be the resource. For other + * methods, the response should have the type `XxxResponse`, where `Xxx` is + * the original method name. For example, if the original method name is + * `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: any; + } + /** + * Defines an Identity and Access Management (IAM) policy. It is used to + * specify access control policies for Cloud Platform resources. A `Policy` + * consists of a list of `bindings`. A `binding` binds a list of `members` to + * a `role`, where the members can be user accounts, Google groups, Google + * domains, and service accounts. A `role` is a named list of permissions + * defined by IAM. **JSON Example** { "bindings": [ { + * "role": "roles/owner", "members": [ + * "user:mike@example.com", "group:admins@example.com", + * "domain:google.com", + * "serviceAccount:my-other-app@appspot.gserviceaccount.com" ] }, { + * "role": "roles/viewer", "members": + * ["user:sean@example.com"] } ] } **YAML + * Example** bindings: - members: - user:mike@example.com - + * group:admins@example.com - domain:google.com - + * serviceAccount:my-other-app@appspot.gserviceaccount.com role: + * roles/owner - members: - user:sean@example.com role: + * roles/viewer For a description of IAM and its features, see the [IAM + * developer's guide](https://cloud.google.com/iam/docs). + */ + interface Schema$Policy { + /** + * Specifies cloud audit logging configuration for this policy. + */ + auditConfigs?: Schema$AuditConfig[]; + /** + * Associates a list of `members` to a `role`. `bindings` with no members + * will result in an error. + */ + bindings?: Schema$Binding[]; + /** + * `etag` is used for optimistic concurrency control as a way to help + * prevent simultaneous updates of a policy from overwriting each other. It + * is strongly suggested that systems make use of the `etag` in the + * read-modify-write cycle to perform policy updates in order to avoid race + * conditions: An `etag` is returned in the response to `getIamPolicy`, and + * systems are expected to put that etag in the request to `setIamPolicy` to + * ensure that their change will be applied to the same version of the + * policy. If no `etag` is provided in the call to `setIamPolicy`, then the + * existing policy is overwritten blindly. + */ + etag?: string; + /** + * Deprecated. + */ + version?: number; + } + /** + * A status object which is used as the `metadata` field for the Operation + * returned by CreateProject. It provides insight for when significant phases + * of Project creation have completed. + */ + interface Schema$ProjectCreationStatus { + /** + * Creation time of the project creation workflow. + */ + createTime?: string; + /** + * True if the project can be retrieved using GetProject. No other + * operations on the project are guaranteed to work until the project + * creation is complete. + */ + gettable?: boolean; + /** + * True if the project creation process is complete. + */ + ready?: boolean; + } + /** + * The request message for searching folders. + */ + interface Schema$SearchFoldersRequest { + /** + * The maximum number of folders to return in the response. This field is + * optional. + */ + pageSize?: number; + /** + * A pagination token returned from a previous call to `SearchFolders` that + * indicates from where search should continue. This field is optional. + */ + pageToken?: string; + /** + * Search criteria used to select the Folders to return. If no search + * criteria is specified then all accessible folders will be returned. Query + * expressions can be used to restrict results based upon displayName, + * lifecycleState and parent, where the operators `=`, `NOT`, `AND` and `OR` + * can be used along with the suffix wildcard symbol `*`. The displayName + * field in a query expression should use escaped quotes for values that + * include whitespace to prevent unexpected behavior. Some example queries + * are: |Query | Description| |----- | -----------| |displayName=Test* | + * Folders whose display name starts with "Test".| + * |lifecycleState=ACTIVE | Folders whose lifecycleState is ACTIVE.| + * |parent=folders/123 | Folders whose parent is "folders/123".| + * |parent=folders/123 AND lifecycleState=ACTIVE | Active folders whose + * parent is "folders/123".| |displayName=\\"Test + * String\\"|Folders whose display name includes both "Test" + * and "String".| + */ + query?: string; + } + /** + * The response message for searching folders. + */ + interface Schema$SearchFoldersResponse { + /** + * A possibly paginated folder search results. the specified parent + * resource. + */ + folders?: Schema$Folder[]; + /** + * A pagination token returned from a previous call to `SearchFolders` that + * indicates from where searching should continue. This field is optional. + */ + nextPageToken?: string; + } + /** + * Request message for `SetIamPolicy` method. + */ + interface Schema$SetIamPolicyRequest { + /** + * REQUIRED: The complete policy to be applied to the `resource`. The size + * of the policy is limited to a few 10s of KB. An empty policy is a valid + * policy but certain Cloud Platform services (such as Projects) might + * reject them. + */ + policy?: Schema$Policy; + /** + * OPTIONAL: A FieldMask specifying which fields of the policy to modify. + * Only the fields in the mask will be modified. If no mask is provided, the + * following default mask is used: paths: "bindings, etag" This + * field is only used by Cloud IAM. + */ + updateMask?: string; + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + /** + * Request message for `TestIamPermissions` method. + */ + interface Schema$TestIamPermissionsRequest { + /** + * The set of permissions to check for the `resource`. Permissions with + * wildcards (such as '*' or 'storage.*') are not allowed. + * For more information see [IAM + * Overview](https://cloud.google.com/iam/docs/overview#permissions). + */ + permissions?: string[]; + } + /** + * Response message for `TestIamPermissions` method. + */ + interface Schema$TestIamPermissionsResponse { + /** + * A subset of `TestPermissionsRequest.permissions` that the caller is + * allowed. + */ + permissions?: string[]; + } + /** + * The UndeleteFolder request message. + */ + interface Schema$UndeleteFolderRequest { + } + class Resource$Folders { + root: Cloudresourcemanager; + constructor(root: Cloudresourcemanager); + getRoot(): Cloudresourcemanager; + /** + * cloudresourcemanager.folders.create + * @desc Creates a Folder in the resource hierarchy. Returns an Operation + * which can be used to track the progress of the folder creation workflow. + * Upon success the Operation.response field will be populated with the + * created Folder. In order to succeed, the addition of this new Folder + * must not violate the Folder naming, height or fanout constraints. + The + * Folder's display_name must be distinct from all other Folder's that share + * its parent. + The addition of the Folder must not cause the active Folder + * hierarchy to exceed a height of 4. Note, the full active + deleted Folder + * hierarchy is allowed to reach a height of 8; this provides additional + * headroom when moving folders that contain deleted folders. + The addition + * of the Folder must not cause the total number of Folders under its parent + * to exceed 100. If the operation fails due to a folder constraint + * violation, some errors may be returned by the CreateFolder request, with + * status code FAILED_PRECONDITION and an error description. Other folder + * constraint violations will be communicated in the Operation, with the + * specific PreconditionFailure returned via the details list in the + * Operation.error field. The caller must have + * `resourcemanager.folders.create` permission on the identified parent. + * @alias cloudresourcemanager.folders.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.parent The resource name of the new Folder's parent. Must be of the form `folders/{folder_id}` or `organizations/{org_id}`. + * @param {().Folder} 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 + */ + create(params?: Params$Resource$Folders$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Folders$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Folders$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.folders.delete + * @desc Requests deletion of a Folder. The Folder is moved into the + * DELETE_REQUESTED state immediately, and is deleted approximately 30 days + * later. This method may only be called on an empty Folder in the ACTIVE + * state, where a Folder is empty if it doesn't contain any Folders or + * Projects in the ACTIVE state. The caller must have + * `resourcemanager.folders.delete` permission on the identified folder. + * @alias cloudresourcemanager.folders.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name the resource name of the Folder to be deleted. Must be of the form `folders/{folder_id}`. + * @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?: Params$Resource$Folders$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Folders$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Folders$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.folders.get + * @desc Retrieves a Folder identified by the supplied resource name. Valid + * Folder resource names have the format `folders/{folder_id}` (for example, + * `folders/1234`). The caller must have `resourcemanager.folders.get` + * permission on the identified folder. + * @alias cloudresourcemanager.folders.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name of the Folder to retrieve. Must be of the form `folders/{folder_id}`. + * @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?: Params$Resource$Folders$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Folders$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Folders$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.folders.getIamPolicy + * @desc Gets the access control policy for a Folder. The returned policy + * may be empty if no such policy or resource exists. The `resource` field + * should be the Folder's resource name, e.g. "folders/1234". The caller + * must have `resourcemanager.folders.getIamPolicy` permission on the + * identified folder. + * @alias cloudresourcemanager.folders.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. + * @param {().GetIamPolicyRequest} 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 + */ + getIamPolicy(params?: Params$Resource$Folders$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Folders$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Folders$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.folders.list + * @desc Lists the Folders that are direct descendants of supplied parent + * resource. List provides a strongly consistent view of the Folders + * underneath the specified parent resource. List returns Folders sorted + * based upon the (ascending) lexical ordering of their display_name. The + * caller must have `resourcemanager.folders.list` permission on the + * identified parent. + * @alias cloudresourcemanager.folders.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize The maximum number of Folders to return in the response. This field is optional. + * @param {string=} params.pageToken A pagination token returned from a previous call to `ListFolders` that indicates where this listing should continue from. This field is optional. + * @param {string=} params.parent The resource name of the Organization or Folder whose Folders are being listed. Must be of the form `folders/{folder_id}` or `organizations/{org_id}`. Access to this method is controlled by checking the `resourcemanager.folders.list` permission on the `parent`. + * @param {boolean=} params.showDeleted Controls whether Folders in the DELETE_REQUESTED state should be returned. Defaults to false. This field is optional. + * @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?: Params$Resource$Folders$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Folders$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Folders$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.folders.move + * @desc Moves a Folder under a new resource parent. Returns an Operation + * which can be used to track the progress of the folder move workflow. Upon + * success the Operation.response field will be populated with the moved + * Folder. Upon failure, a FolderOperationError categorizing the failure + * cause will be returned - if the failure occurs synchronously then the + * FolderOperationError will be returned via the Status.details field and if + * it occurs asynchronously then the FolderOperation will be returned via + * the the Operation.error field. In addition, the Operation.metadata field + * will be populated with a FolderOperation message as an aid to stateless + * clients. Folder moves will be rejected if they violate either the naming, + * height or fanout constraints described in the CreateFolder documentation. + * The caller must have `resourcemanager.folders.move` permission on the + * folder's current and proposed new parent. + * @alias cloudresourcemanager.folders.move + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name of the Folder to move. Must be of the form folders/{folder_id} + * @param {().MoveFolderRequest} 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 + */ + move(params?: Params$Resource$Folders$Move, options?: MethodOptions): AxiosPromise; + move(params: Params$Resource$Folders$Move, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + move(params: Params$Resource$Folders$Move, callback: BodyResponseCallback): void; + move(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.folders.patch + * @desc Updates a Folder, changing its display_name. Changes to the folder + * display_name will be rejected if they violate either the display_name + * formatting rules or naming constraints described in the CreateFolder + * documentation. The Folder's display name must start and end with a + * letter or digit, may contain letters, digits, spaces, hyphens and + * underscores and can be no longer than 30 characters. This is captured by + * the regular expression: [\p{L}\p{N}]([\p{L}\p{N}_- ]{0,28}[\p{L}\p{N}])?. + * The caller must have `resourcemanager.folders.update` permission on the + * identified folder. If the update fails due to the unique name constraint + * then a PreconditionFailure explaining this violation will be returned in + * the Status.details field. + * @alias cloudresourcemanager.folders.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Output only. The resource name of the Folder. Its format is `folders/{folder_id}`, for example: "folders/1234". + * @param {string=} params.updateMask Fields to be updated. Only the `display_name` can be updated. + * @param {().Folder} 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 + */ + patch(params?: Params$Resource$Folders$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Folders$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Folders$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.folders.search + * @desc Search for folders that match specific filter criteria. Search + * provides an eventually consistent view of the folders a user has access + * to which meet the specified filter criteria. This will only return + * folders on which the caller has the permission + * `resourcemanager.folders.get`. + * @alias cloudresourcemanager.folders.search + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().SearchFoldersRequest} 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 + */ + search(params?: Params$Resource$Folders$Search, options?: MethodOptions): AxiosPromise; + search(params: Params$Resource$Folders$Search, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + search(params: Params$Resource$Folders$Search, callback: BodyResponseCallback): void; + search(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.folders.setIamPolicy + * @desc Sets the access control policy on a Folder, replacing any existing + * policy. The `resource` field should be the Folder's resource name, e.g. + * "folders/1234". The caller must have + * `resourcemanager.folders.setIamPolicy` permission on the identified + * folder. + * @alias cloudresourcemanager.folders.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. + * @param {().SetIamPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Folders$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Folders$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Folders$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.folders.testIamPermissions + * @desc Returns permissions that a caller has on the specified Folder. The + * `resource` field should be the Folder's resource name, e.g. + * "folders/1234". There are no permissions required for making this API + * call. + * @alias cloudresourcemanager.folders.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. + * @param {().TestIamPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Folders$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Folders$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Folders$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.folders.undelete + * @desc Cancels the deletion request for a Folder. This method may only be + * called on a Folder in the DELETE_REQUESTED state. In order to succeed, + * the Folder's parent must be in the ACTIVE state. In addition, + * reintroducing the folder into the tree must not violate folder naming, + * height and fanout constraints described in the CreateFolder + * documentation. The caller must have `resourcemanager.folders.undelete` + * permission on the identified folder. + * @alias cloudresourcemanager.folders.undelete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name of the Folder to undelete. Must be of the form `folders/{folder_id}`. + * @param {().UndeleteFolderRequest} 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 + */ + undelete(params?: Params$Resource$Folders$Undelete, options?: MethodOptions): AxiosPromise; + undelete(params: Params$Resource$Folders$Undelete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + undelete(params: Params$Resource$Folders$Undelete, callback: BodyResponseCallback): void; + undelete(callback: BodyResponseCallback): void; + } + interface Params$Resource$Folders$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the new Folder's parent. Must be of the form + * `folders/{folder_id}` or `organizations/{org_id}`. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Folder; + } + interface Params$Resource$Folders$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * the resource name of the Folder to be deleted. Must be of the form + * `folders/{folder_id}`. + */ + name?: string; + } + interface Params$Resource$Folders$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the Folder to retrieve. Must be of the form + * `folders/{folder_id}`. + */ + name?: string; + } + interface Params$Resource$Folders$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being requested. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GetIamPolicyRequest; + } + interface Params$Resource$Folders$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The maximum number of Folders to return in the response. This field is + * optional. + */ + pageSize?: number; + /** + * A pagination token returned from a previous call to `ListFolders` that + * indicates where this listing should continue from. This field is + * optional. + */ + pageToken?: string; + /** + * The resource name of the Organization or Folder whose Folders are being + * listed. Must be of the form `folders/{folder_id}` or + * `organizations/{org_id}`. Access to this method is controlled by checking + * the `resourcemanager.folders.list` permission on the `parent`. + */ + parent?: string; + /** + * Controls whether Folders in the DELETE_REQUESTED state should be + * returned. Defaults to false. This field is optional. + */ + showDeleted?: boolean; + } + interface Params$Resource$Folders$Move { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the Folder to move. Must be of the form + * folders/{folder_id} + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$MoveFolderRequest; + } + interface Params$Resource$Folders$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Output only. The resource name of the Folder. Its format is + * `folders/{folder_id}`, for example: "folders/1234". + */ + name?: string; + /** + * Fields to be updated. Only the `display_name` can be updated. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Folder; + } + interface Params$Resource$Folders$Search { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$SearchFoldersRequest; + } + interface Params$Resource$Folders$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being specified. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetIamPolicyRequest; + } + interface Params$Resource$Folders$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestIamPermissionsRequest; + } + interface Params$Resource$Folders$Undelete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the Folder to undelete. Must be of the form + * `folders/{folder_id}`. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UndeleteFolderRequest; + } + class Resource$Operations { + root: Cloudresourcemanager; + constructor(root: Cloudresourcemanager); + getRoot(): Cloudresourcemanager; + /** + * cloudresourcemanager.operations.get + * @desc Gets the latest state of a long-running operation. Clients can use + * this method to poll the operation result at intervals as recommended by + * the API service. + * @alias cloudresourcemanager.operations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource. + * @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?: Params$Resource$Operations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Operations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Operations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Operations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource. + */ + name?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudresourcemanager/v2.js b/express-server/node_modules/googleapis/build/src/apis/cloudresourcemanager/v2.js new file mode 100644 index 00000000..a09f3daf --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudresourcemanager/v2.js @@ -0,0 +1,442 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var cloudresourcemanager_v2; +(function (cloudresourcemanager_v2) { + /** + * Cloud Resource Manager API + * + * The Google Cloud Resource Manager API provides methods for creating, + * reading, and updating project metadata. + * + * @example + * const {google} = require('googleapis'); + * const cloudresourcemanager = google.cloudresourcemanager('v2'); + * + * @namespace cloudresourcemanager + * @type {Function} + * @version v2 + * @variation v2 + * @param {object=} options Options for Cloudresourcemanager + */ + class Cloudresourcemanager { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.folders = new Resource$Folders(this); + this.operations = new Resource$Operations(this); + } + getRoot() { + return this.root; + } + } + cloudresourcemanager_v2.Cloudresourcemanager = Cloudresourcemanager; + class Resource$Folders { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/folders').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+resource}:getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/folders').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + move(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}:move').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + search(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/folders:search') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+resource}:setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+resource}:testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + undelete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}:undelete') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + cloudresourcemanager_v2.Resource$Folders = Resource$Folders; + class Resource$Operations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + cloudresourcemanager_v2.Resource$Operations = Resource$Operations; +})(cloudresourcemanager_v2 = exports.cloudresourcemanager_v2 || (exports.cloudresourcemanager_v2 = {})); +//# sourceMappingURL=v2.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudresourcemanager/v2.js.map b/express-server/node_modules/googleapis/build/src/apis/cloudresourcemanager/v2.js.map new file mode 100644 index 00000000..5688c3b5 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudresourcemanager/v2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v2.js","sourceRoot":"","sources":["../../../../src/apis/cloudresourcemanager/v2.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudresourcemanager/v2beta1.d.ts b/express-server/node_modules/googleapis/build/src/apis/cloudresourcemanager/v2beta1.d.ts new file mode 100644 index 00000000..9c7728d6 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudresourcemanager/v2beta1.d.ts @@ -0,0 +1,985 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace cloudresourcemanager_v2beta1 { + interface Options extends GlobalOptions { + version: 'v2beta1'; + } + /** + * Cloud Resource Manager API + * + * The Google Cloud Resource Manager API provides methods for creating, + * reading, and updating project metadata. + * + * @example + * const {google} = require('googleapis'); + * const cloudresourcemanager = google.cloudresourcemanager('v2beta1'); + * + * @namespace cloudresourcemanager + * @type {Function} + * @version v2beta1 + * @variation v2beta1 + * @param {object=} options Options for Cloudresourcemanager + */ + class Cloudresourcemanager { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + folders: Resource$Folders; + operations: Resource$Operations; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Specifies the audit configuration for a service. The configuration + * determines which permission types are logged, and what identities, if any, + * are exempted from logging. An AuditConfig must have one or more + * AuditLogConfigs. If there are AuditConfigs for both `allServices` and a + * specific service, the union of the two AuditConfigs is used for that + * service: the log_types specified in each AuditConfig are enabled, and the + * exempted_members in each AuditLogConfig are exempted. Example Policy with + * multiple AuditConfigs: { "audit_configs": [ { + * "service": "allServices" "audit_log_configs": + * [ { "log_type": "DATA_READ", + * "exempted_members": [ "user:foo@gmail.com" ] }, { + * "log_type": "DATA_WRITE", }, { + * "log_type": "ADMIN_READ", } ] }, + * { "service": "fooservice.googleapis.com" + * "audit_log_configs": [ { "log_type": + * "DATA_READ", }, { "log_type": + * "DATA_WRITE", "exempted_members": [ + * "user:bar@gmail.com" ] } ] } + * ] } For fooservice, this policy enables DATA_READ, DATA_WRITE and + * ADMIN_READ logging. It also exempts foo@gmail.com from DATA_READ logging, + * and bar@gmail.com from DATA_WRITE logging. + */ + interface Schema$AuditConfig { + /** + * The configuration for logging of each type of permission. + */ + auditLogConfigs?: Schema$AuditLogConfig[]; + /** + * Specifies a service that will be enabled for audit logging. For example, + * `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a + * special value that covers all services. + */ + service?: string; + } + /** + * Provides the configuration for logging a type of permissions. Example: { + * "audit_log_configs": [ { "log_type": + * "DATA_READ", "exempted_members": [ + * "user:foo@gmail.com" ] }, { + * "log_type": "DATA_WRITE", } ] } This + * enables 'DATA_READ' and 'DATA_WRITE' logging, while + * exempting foo@gmail.com from DATA_READ logging. + */ + interface Schema$AuditLogConfig { + /** + * Specifies the identities that do not cause logging for this type of + * permission. Follows the same format of Binding.members. + */ + exemptedMembers?: string[]; + /** + * The log type that this config enables. + */ + logType?: string; + } + /** + * Associates `members` with a `role`. + */ + interface Schema$Binding { + /** + * Unimplemented. The condition that is associated with this binding. NOTE: + * an unsatisfied condition will not allow user access via current binding. + * Different bindings, including their conditions, are examined + * independently. + */ + condition?: Schema$Expr; + /** + * Specifies the identities requesting access for a Cloud Platform resource. + * `members` can have the following values: * `allUsers`: A special + * identifier that represents anyone who is on the internet; with or + * without a Google account. * `allAuthenticatedUsers`: A special + * identifier that represents anyone who is authenticated with a Google + * account or a service account. * `user:{emailid}`: An email address that + * represents a specific Google account. For example, `alice@gmail.com` . + * * `serviceAccount:{emailid}`: An email address that represents a service + * account. For example, `my-other-app@appspot.gserviceaccount.com`. * + * `group:{emailid}`: An email address that represents a Google group. For + * example, `admins@example.com`. * `domain:{domain}`: A Google Apps + * domain name that represents all the users of that domain. For example, + * `google.com` or `example.com`. + */ + members?: string[]; + /** + * Role that is assigned to `members`. For example, `roles/viewer`, + * `roles/editor`, or `roles/owner`. + */ + role?: string; + } + /** + * Represents an expression text. Example: title: "User account + * presence" description: "Determines whether the request has a + * user account" expression: "size(request.user) > 0" + */ + interface Schema$Expr { + /** + * An optional description of the expression. This is a longer text which + * describes the expression, e.g. when hovered over it in a UI. + */ + description?: string; + /** + * Textual representation of an expression in Common Expression Language + * syntax. The application context of the containing message determines + * which well-known feature set of CEL is supported. + */ + expression?: string; + /** + * An optional string indicating the location of the expression for error + * reporting, e.g. a file name and a position in the file. + */ + location?: string; + /** + * An optional title for the expression, i.e. a short string describing its + * purpose. This can be used e.g. in UIs which allow to enter the + * expression. + */ + title?: string; + } + /** + * A Folder in an Organization's resource hierarchy, used to organize that + * Organization's resources. + */ + interface Schema$Folder { + /** + * Output only. Timestamp when the Folder was created. Assigned by the + * server. + */ + createTime?: string; + /** + * The folder’s display name. A folder’s display name must be unique amongst + * its siblings, e.g. no two folders with the same parent can share the same + * display name. The display name must start and end with a letter or digit, + * may contain letters, digits, spaces, hyphens and underscores and can be + * no longer than 30 characters. This is captured by the regular expression: + * [\p{L}\p{N}]([\p{L}\p{N}_- ]{0,28}[\p{L}\p{N}])?. + */ + displayName?: string; + /** + * Output only. The lifecycle state of the folder. Updates to the + * lifecycle_state must be performed via DeleteFolder and UndeleteFolder. + */ + lifecycleState?: string; + /** + * Output only. The resource name of the Folder. Its format is + * `folders/{folder_id}`, for example: "folders/1234". + */ + name?: string; + /** + * The Folder’s parent's resource name. Updates to the folder's + * parent must be performed via MoveFolder. + */ + parent?: string; + } + /** + * Metadata describing a long running folder operation + */ + interface Schema$FolderOperation { + /** + * The resource name of the folder or organization we are either creating + * the folder under or moving the folder to. + */ + destinationParent?: string; + /** + * The display name of the folder. + */ + displayName?: string; + /** + * The type of this operation. + */ + operationType?: string; + /** + * The resource name of the folder's parent. Only applicable when the + * operation_type is MOVE. + */ + sourceParent?: string; + } + /** + * A classification of the Folder Operation error. + */ + interface Schema$FolderOperationError { + /** + * The type of operation error experienced. + */ + errorMessageId?: string; + } + /** + * Request message for `GetIamPolicy` method. + */ + interface Schema$GetIamPolicyRequest { + } + /** + * The ListFolders response message. + */ + interface Schema$ListFoldersResponse { + /** + * A possibly paginated list of Folders that are direct descendants of the + * specified parent resource. + */ + folders?: Schema$Folder[]; + /** + * A pagination token returned from a previous call to `ListFolders` that + * indicates from where listing should continue. This field is optional. + */ + nextPageToken?: string; + } + /** + * The MoveFolder request message. + */ + interface Schema$MoveFolderRequest { + /** + * The resource name of the Folder or Organization to reparent the folder + * under. Must be of the form `folders/{folder_id}` or + * `organizations/{org_id}`. + */ + destinationParent?: string; + } + /** + * This resource represents a long-running operation that is the result of a + * network API call. + */ + interface Schema$Operation { + /** + * If the value is `false`, it means the operation is still in progress. If + * `true`, the operation is completed, and either `error` or `response` is + * available. + */ + done?: boolean; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * Service-specific metadata associated with the operation. It typically + * contains progress information and common metadata such as create time. + * Some services might not provide such metadata. Any method that returns a + * long-running operation should document the metadata type, if any. + */ + metadata?: any; + /** + * The server-assigned name, which is only unique within the same service + * that originally returns it. If you use the default HTTP mapping, the + * `name` should have the format of `operations/some/unique/name`. + */ + name?: string; + /** + * The normal response of the operation in case of success. If the original + * method returns no data on success, such as `Delete`, the response is + * `google.protobuf.Empty`. If the original method is standard + * `Get`/`Create`/`Update`, the response should be the resource. For other + * methods, the response should have the type `XxxResponse`, where `Xxx` is + * the original method name. For example, if the original method name is + * `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: any; + } + /** + * Defines an Identity and Access Management (IAM) policy. It is used to + * specify access control policies for Cloud Platform resources. A `Policy` + * consists of a list of `bindings`. A `binding` binds a list of `members` to + * a `role`, where the members can be user accounts, Google groups, Google + * domains, and service accounts. A `role` is a named list of permissions + * defined by IAM. **JSON Example** { "bindings": [ { + * "role": "roles/owner", "members": [ + * "user:mike@example.com", "group:admins@example.com", + * "domain:google.com", + * "serviceAccount:my-other-app@appspot.gserviceaccount.com" ] }, { + * "role": "roles/viewer", "members": + * ["user:sean@example.com"] } ] } **YAML + * Example** bindings: - members: - user:mike@example.com - + * group:admins@example.com - domain:google.com - + * serviceAccount:my-other-app@appspot.gserviceaccount.com role: + * roles/owner - members: - user:sean@example.com role: + * roles/viewer For a description of IAM and its features, see the [IAM + * developer's guide](https://cloud.google.com/iam/docs). + */ + interface Schema$Policy { + /** + * Specifies cloud audit logging configuration for this policy. + */ + auditConfigs?: Schema$AuditConfig[]; + /** + * Associates a list of `members` to a `role`. `bindings` with no members + * will result in an error. + */ + bindings?: Schema$Binding[]; + /** + * `etag` is used for optimistic concurrency control as a way to help + * prevent simultaneous updates of a policy from overwriting each other. It + * is strongly suggested that systems make use of the `etag` in the + * read-modify-write cycle to perform policy updates in order to avoid race + * conditions: An `etag` is returned in the response to `getIamPolicy`, and + * systems are expected to put that etag in the request to `setIamPolicy` to + * ensure that their change will be applied to the same version of the + * policy. If no `etag` is provided in the call to `setIamPolicy`, then the + * existing policy is overwritten blindly. + */ + etag?: string; + /** + * Deprecated. + */ + version?: number; + } + /** + * A status object which is used as the `metadata` field for the Operation + * returned by CreateProject. It provides insight for when significant phases + * of Project creation have completed. + */ + interface Schema$ProjectCreationStatus { + /** + * Creation time of the project creation workflow. + */ + createTime?: string; + /** + * True if the project can be retrieved using GetProject. No other + * operations on the project are guaranteed to work until the project + * creation is complete. + */ + gettable?: boolean; + /** + * True if the project creation process is complete. + */ + ready?: boolean; + } + /** + * The request message for searching folders. + */ + interface Schema$SearchFoldersRequest { + /** + * The maximum number of folders to return in the response. This field is + * optional. + */ + pageSize?: number; + /** + * A pagination token returned from a previous call to `SearchFolders` that + * indicates from where search should continue. This field is optional. + */ + pageToken?: string; + /** + * Search criteria used to select the Folders to return. If no search + * criteria is specified then all accessible folders will be returned. Query + * expressions can be used to restrict results based upon displayName, + * lifecycleState and parent, where the operators `=`, `NOT`, `AND` and `OR` + * can be used along with the suffix wildcard symbol `*`. The displayName + * field in a query expression should use escaped quotes for values that + * include whitespace to prevent unexpected behavior. Some example queries + * are: |Query | Description| |----- | -----------| |displayName=Test* | + * Folders whose display name starts with "Test".| + * |lifecycleState=ACTIVE | Folders whose lifecycleState is ACTIVE.| + * |parent=folders/123 | Folders whose parent is "folders/123".| + * |parent=folders/123 AND lifecycleState=ACTIVE | Active folders whose + * parent is "folders/123".| |displayName=\\"Test + * String\\"|Folders whose display name includes both "Test" + * and "String".| + */ + query?: string; + } + /** + * The response message for searching folders. + */ + interface Schema$SearchFoldersResponse { + /** + * A possibly paginated folder search results. the specified parent + * resource. + */ + folders?: Schema$Folder[]; + /** + * A pagination token returned from a previous call to `SearchFolders` that + * indicates from where searching should continue. This field is optional. + */ + nextPageToken?: string; + } + /** + * Request message for `SetIamPolicy` method. + */ + interface Schema$SetIamPolicyRequest { + /** + * REQUIRED: The complete policy to be applied to the `resource`. The size + * of the policy is limited to a few 10s of KB. An empty policy is a valid + * policy but certain Cloud Platform services (such as Projects) might + * reject them. + */ + policy?: Schema$Policy; + /** + * OPTIONAL: A FieldMask specifying which fields of the policy to modify. + * Only the fields in the mask will be modified. If no mask is provided, the + * following default mask is used: paths: "bindings, etag" This + * field is only used by Cloud IAM. + */ + updateMask?: string; + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + /** + * Request message for `TestIamPermissions` method. + */ + interface Schema$TestIamPermissionsRequest { + /** + * The set of permissions to check for the `resource`. Permissions with + * wildcards (such as '*' or 'storage.*') are not allowed. + * For more information see [IAM + * Overview](https://cloud.google.com/iam/docs/overview#permissions). + */ + permissions?: string[]; + } + /** + * Response message for `TestIamPermissions` method. + */ + interface Schema$TestIamPermissionsResponse { + /** + * A subset of `TestPermissionsRequest.permissions` that the caller is + * allowed. + */ + permissions?: string[]; + } + /** + * The UndeleteFolder request message. + */ + interface Schema$UndeleteFolderRequest { + } + class Resource$Folders { + root: Cloudresourcemanager; + constructor(root: Cloudresourcemanager); + getRoot(): Cloudresourcemanager; + /** + * cloudresourcemanager.folders.create + * @desc Creates a Folder in the resource hierarchy. Returns an Operation + * which can be used to track the progress of the folder creation workflow. + * Upon success the Operation.response field will be populated with the + * created Folder. In order to succeed, the addition of this new Folder + * must not violate the Folder naming, height or fanout constraints. + The + * Folder's display_name must be distinct from all other Folder's that share + * its parent. + The addition of the Folder must not cause the active Folder + * hierarchy to exceed a height of 4. Note, the full active + deleted Folder + * hierarchy is allowed to reach a height of 8; this provides additional + * headroom when moving folders that contain deleted folders. + The addition + * of the Folder must not cause the total number of Folders under its parent + * to exceed 100. If the operation fails due to a folder constraint + * violation, some errors may be returned by the CreateFolder request, with + * status code FAILED_PRECONDITION and an error description. Other folder + * constraint violations will be communicated in the Operation, with the + * specific PreconditionFailure returned via the details list in the + * Operation.error field. The caller must have + * `resourcemanager.folders.create` permission on the identified parent. + * @alias cloudresourcemanager.folders.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.parent The resource name of the new Folder's parent. Must be of the form `folders/{folder_id}` or `organizations/{org_id}`. + * @param {().Folder} 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 + */ + create(params?: Params$Resource$Folders$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Folders$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Folders$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.folders.delete + * @desc Requests deletion of a Folder. The Folder is moved into the + * DELETE_REQUESTED state immediately, and is deleted approximately 30 days + * later. This method may only be called on an empty Folder in the ACTIVE + * state, where a Folder is empty if it doesn't contain any Folders or + * Projects in the ACTIVE state. The caller must have + * `resourcemanager.folders.delete` permission on the identified folder. + * @alias cloudresourcemanager.folders.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name the resource name of the Folder to be deleted. Must be of the form `folders/{folder_id}`. + * @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?: Params$Resource$Folders$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Folders$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Folders$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.folders.get + * @desc Retrieves a Folder identified by the supplied resource name. Valid + * Folder resource names have the format `folders/{folder_id}` (for example, + * `folders/1234`). The caller must have `resourcemanager.folders.get` + * permission on the identified folder. + * @alias cloudresourcemanager.folders.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name of the Folder to retrieve. Must be of the form `folders/{folder_id}`. + * @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?: Params$Resource$Folders$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Folders$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Folders$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.folders.getIamPolicy + * @desc Gets the access control policy for a Folder. The returned policy + * may be empty if no such policy or resource exists. The `resource` field + * should be the Folder's resource name, e.g. "folders/1234". The caller + * must have `resourcemanager.folders.getIamPolicy` permission on the + * identified folder. + * @alias cloudresourcemanager.folders.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. + * @param {().GetIamPolicyRequest} 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 + */ + getIamPolicy(params?: Params$Resource$Folders$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Folders$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Folders$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.folders.list + * @desc Lists the Folders that are direct descendants of supplied parent + * resource. List provides a strongly consistent view of the Folders + * underneath the specified parent resource. List returns Folders sorted + * based upon the (ascending) lexical ordering of their display_name. The + * caller must have `resourcemanager.folders.list` permission on the + * identified parent. + * @alias cloudresourcemanager.folders.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize The maximum number of Folders to return in the response. This field is optional. + * @param {string=} params.pageToken A pagination token returned from a previous call to `ListFolders` that indicates where this listing should continue from. This field is optional. + * @param {string=} params.parent The resource name of the Organization or Folder whose Folders are being listed. Must be of the form `folders/{folder_id}` or `organizations/{org_id}`. Access to this method is controlled by checking the `resourcemanager.folders.list` permission on the `parent`. + * @param {boolean=} params.showDeleted Controls whether Folders in the DELETE_REQUESTED state should be returned. Defaults to false. This field is optional. + * @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?: Params$Resource$Folders$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Folders$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Folders$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.folders.move + * @desc Moves a Folder under a new resource parent. Returns an Operation + * which can be used to track the progress of the folder move workflow. Upon + * success the Operation.response field will be populated with the moved + * Folder. Upon failure, a FolderOperationError categorizing the failure + * cause will be returned - if the failure occurs synchronously then the + * FolderOperationError will be returned via the Status.details field and if + * it occurs asynchronously then the FolderOperation will be returned via + * the the Operation.error field. In addition, the Operation.metadata field + * will be populated with a FolderOperation message as an aid to stateless + * clients. Folder moves will be rejected if they violate either the naming, + * height or fanout constraints described in the CreateFolder documentation. + * The caller must have `resourcemanager.folders.move` permission on the + * folder's current and proposed new parent. + * @alias cloudresourcemanager.folders.move + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name of the Folder to move. Must be of the form folders/{folder_id} + * @param {().MoveFolderRequest} 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 + */ + move(params?: Params$Resource$Folders$Move, options?: MethodOptions): AxiosPromise; + move(params: Params$Resource$Folders$Move, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + move(params: Params$Resource$Folders$Move, callback: BodyResponseCallback): void; + move(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.folders.patch + * @desc Updates a Folder, changing its display_name. Changes to the folder + * display_name will be rejected if they violate either the display_name + * formatting rules or naming constraints described in the CreateFolder + * documentation. The Folder's display name must start and end with a + * letter or digit, may contain letters, digits, spaces, hyphens and + * underscores and can be no longer than 30 characters. This is captured by + * the regular expression: [\p{L}\p{N}]([\p{L}\p{N}_- ]{0,28}[\p{L}\p{N}])?. + * The caller must have `resourcemanager.folders.update` permission on the + * identified folder. If the update fails due to the unique name constraint + * then a PreconditionFailure explaining this violation will be returned in + * the Status.details field. + * @alias cloudresourcemanager.folders.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Output only. The resource name of the Folder. Its format is `folders/{folder_id}`, for example: "folders/1234". + * @param {string=} params.updateMask Fields to be updated. Only the `display_name` can be updated. + * @param {().Folder} 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 + */ + patch(params?: Params$Resource$Folders$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Folders$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Folders$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.folders.search + * @desc Search for folders that match specific filter criteria. Search + * provides an eventually consistent view of the folders a user has access + * to which meet the specified filter criteria. This will only return + * folders on which the caller has the permission + * `resourcemanager.folders.get`. + * @alias cloudresourcemanager.folders.search + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().SearchFoldersRequest} 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 + */ + search(params?: Params$Resource$Folders$Search, options?: MethodOptions): AxiosPromise; + search(params: Params$Resource$Folders$Search, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + search(params: Params$Resource$Folders$Search, callback: BodyResponseCallback): void; + search(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.folders.setIamPolicy + * @desc Sets the access control policy on a Folder, replacing any existing + * policy. The `resource` field should be the Folder's resource name, e.g. + * "folders/1234". The caller must have + * `resourcemanager.folders.setIamPolicy` permission on the identified + * folder. + * @alias cloudresourcemanager.folders.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. + * @param {().SetIamPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Folders$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Folders$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Folders$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.folders.testIamPermissions + * @desc Returns permissions that a caller has on the specified Folder. The + * `resource` field should be the Folder's resource name, e.g. + * "folders/1234". There are no permissions required for making this API + * call. + * @alias cloudresourcemanager.folders.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. + * @param {().TestIamPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Folders$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Folders$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Folders$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + /** + * cloudresourcemanager.folders.undelete + * @desc Cancels the deletion request for a Folder. This method may only be + * called on a Folder in the DELETE_REQUESTED state. In order to succeed, + * the Folder's parent must be in the ACTIVE state. In addition, + * reintroducing the folder into the tree must not violate folder naming, + * height and fanout constraints described in the CreateFolder + * documentation. The caller must have `resourcemanager.folders.undelete` + * permission on the identified folder. + * @alias cloudresourcemanager.folders.undelete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name of the Folder to undelete. Must be of the form `folders/{folder_id}`. + * @param {().UndeleteFolderRequest} 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 + */ + undelete(params?: Params$Resource$Folders$Undelete, options?: MethodOptions): AxiosPromise; + undelete(params: Params$Resource$Folders$Undelete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + undelete(params: Params$Resource$Folders$Undelete, callback: BodyResponseCallback): void; + undelete(callback: BodyResponseCallback): void; + } + interface Params$Resource$Folders$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the new Folder's parent. Must be of the form + * `folders/{folder_id}` or `organizations/{org_id}`. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Folder; + } + interface Params$Resource$Folders$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * the resource name of the Folder to be deleted. Must be of the form + * `folders/{folder_id}`. + */ + name?: string; + } + interface Params$Resource$Folders$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the Folder to retrieve. Must be of the form + * `folders/{folder_id}`. + */ + name?: string; + } + interface Params$Resource$Folders$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being requested. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GetIamPolicyRequest; + } + interface Params$Resource$Folders$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The maximum number of Folders to return in the response. This field is + * optional. + */ + pageSize?: number; + /** + * A pagination token returned from a previous call to `ListFolders` that + * indicates where this listing should continue from. This field is + * optional. + */ + pageToken?: string; + /** + * The resource name of the Organization or Folder whose Folders are being + * listed. Must be of the form `folders/{folder_id}` or + * `organizations/{org_id}`. Access to this method is controlled by checking + * the `resourcemanager.folders.list` permission on the `parent`. + */ + parent?: string; + /** + * Controls whether Folders in the DELETE_REQUESTED state should be + * returned. Defaults to false. This field is optional. + */ + showDeleted?: boolean; + } + interface Params$Resource$Folders$Move { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the Folder to move. Must be of the form + * folders/{folder_id} + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$MoveFolderRequest; + } + interface Params$Resource$Folders$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Output only. The resource name of the Folder. Its format is + * `folders/{folder_id}`, for example: "folders/1234". + */ + name?: string; + /** + * Fields to be updated. Only the `display_name` can be updated. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Folder; + } + interface Params$Resource$Folders$Search { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$SearchFoldersRequest; + } + interface Params$Resource$Folders$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being specified. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetIamPolicyRequest; + } + interface Params$Resource$Folders$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestIamPermissionsRequest; + } + interface Params$Resource$Folders$Undelete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the Folder to undelete. Must be of the form + * `folders/{folder_id}`. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UndeleteFolderRequest; + } + class Resource$Operations { + root: Cloudresourcemanager; + constructor(root: Cloudresourcemanager); + getRoot(): Cloudresourcemanager; + /** + * cloudresourcemanager.operations.get + * @desc Gets the latest state of a long-running operation. Clients can use + * this method to poll the operation result at intervals as recommended by + * the API service. + * @alias cloudresourcemanager.operations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource. + * @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?: Params$Resource$Operations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Operations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Operations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Operations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource. + */ + name?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudresourcemanager/v2beta1.js b/express-server/node_modules/googleapis/build/src/apis/cloudresourcemanager/v2beta1.js new file mode 100644 index 00000000..570a1159 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudresourcemanager/v2beta1.js @@ -0,0 +1,442 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var cloudresourcemanager_v2beta1; +(function (cloudresourcemanager_v2beta1) { + /** + * Cloud Resource Manager API + * + * The Google Cloud Resource Manager API provides methods for creating, + * reading, and updating project metadata. + * + * @example + * const {google} = require('googleapis'); + * const cloudresourcemanager = google.cloudresourcemanager('v2beta1'); + * + * @namespace cloudresourcemanager + * @type {Function} + * @version v2beta1 + * @variation v2beta1 + * @param {object=} options Options for Cloudresourcemanager + */ + class Cloudresourcemanager { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.folders = new Resource$Folders(this); + this.operations = new Resource$Operations(this); + } + getRoot() { + return this.root; + } + } + cloudresourcemanager_v2beta1.Cloudresourcemanager = Cloudresourcemanager; + class Resource$Folders { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/folders').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+resource}:getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/folders').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + move(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}:move').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + search(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/folders:search') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+resource}:setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+resource}:testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + undelete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}:undelete') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + cloudresourcemanager_v2beta1.Resource$Folders = Resource$Folders; + class Resource$Operations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudresourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + cloudresourcemanager_v2beta1.Resource$Operations = Resource$Operations; +})(cloudresourcemanager_v2beta1 = exports.cloudresourcemanager_v2beta1 || (exports.cloudresourcemanager_v2beta1 = {})); +//# sourceMappingURL=v2beta1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudresourcemanager/v2beta1.js.map b/express-server/node_modules/googleapis/build/src/apis/cloudresourcemanager/v2beta1.js.map new file mode 100644 index 00000000..8f706315 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudresourcemanager/v2beta1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v2beta1.js","sourceRoot":"","sources":["../../../../src/apis/cloudresourcemanager/v2beta1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudshell/README.md b/express-server/node_modules/googleapis/build/src/apis/cloudshell/README.md new file mode 100644 index 00000000..c99ca805 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudshell/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/cloudshell + +> Allows users to start, configure, and connect to interactive shell sessions running in the cloud. + +## Installation + +```sh +$ npm install @google/cloudshell +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudshell/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/cloudshell/index.d.ts new file mode 100644 index 00000000..51e7b3d9 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudshell/index.d.ts @@ -0,0 +1,10 @@ +import { cloudshell_v1 } from './v1'; +import { cloudshell_v1alpha1 } from './v1alpha1'; +export declare const VERSIONS: { + 'v1': typeof cloudshell_v1.Cloudshell; + 'v1alpha1': typeof cloudshell_v1alpha1.Cloudshell; +}; +export declare function cloudshell(version: 'v1'): cloudshell_v1.Cloudshell; +export declare function cloudshell(options: cloudshell_v1.Options): cloudshell_v1.Cloudshell; +export declare function cloudshell(version: 'v1alpha1'): cloudshell_v1alpha1.Cloudshell; +export declare function cloudshell(options: cloudshell_v1alpha1.Options): cloudshell_v1alpha1.Cloudshell; diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudshell/index.js b/express-server/node_modules/googleapis/build/src/apis/cloudshell/index.js new file mode 100644 index 00000000..a882995b --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudshell/index.js @@ -0,0 +1,27 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +const v1alpha1_1 = require("./v1alpha1"); +exports.VERSIONS = { + 'v1': v1_1.cloudshell_v1.Cloudshell, + 'v1alpha1': v1alpha1_1.cloudshell_v1alpha1.Cloudshell, +}; +function cloudshell(versionOrOptions) { + return googleapis_common_1.getAPI('cloudshell', versionOrOptions, exports.VERSIONS, this); +} +exports.cloudshell = cloudshell; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudshell/index.js.map b/express-server/node_modules/googleapis/build/src/apis/cloudshell/index.js.map new file mode 100644 index 00000000..d952effc --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudshell/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/cloudshell/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAmC;AACnC,yCAA+C;AAElC,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,kBAAa,CAAC,UAAU;IAC9B,UAAU,EAAE,8BAAmB,CAAC,UAAU;CAC3C,CAAC;AAQF,SACA,UAAU,CAEN,gBAC2B;IAC7B,OAAO,0BAAM,CAAI,YAAY,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACnE,CAAC;AAND,gCAMC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudshell/package.json b/express-server/node_modules/googleapis/build/src/apis/cloudshell/package.json new file mode 100644 index 00000000..44af33f4 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudshell/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/cloudshell", + "version": "0.1.0", + "description": "cloudshell", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudshell/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/cloudshell/v1.d.ts new file mode 100644 index 00000000..aa13b2dd --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudshell/v1.d.ts @@ -0,0 +1,412 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace cloudshell_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Cloud Shell API + * + * Allows users to start, configure, and connect to interactive shell sessions + * running in the cloud. + * + * @example + * const {google} = require('googleapis'); + * const cloudshell = google.cloudshell('v1'); + * + * @namespace cloudshell + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Cloudshell + */ + class Cloudshell { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + operations: Resource$Operations; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * The request message for Operations.CancelOperation. + */ + interface Schema$CancelOperationRequest { + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * A Cloud Shell environment, which is defined as the combination of a Docker + * image specifying what is installed on the environment and a home directory + * containing the user's data that will remain across sessions. Each user + * has a single environment with the ID "default". + */ + interface Schema$Environment { + /** + * Required. Full path to the Docker image used to run this environment, + * e.g. "gcr.io/dev-con/cloud-devshell:latest". + */ + dockerImage?: string; + /** + * Output only. The environment's identifier, which is always + * "default". + */ + id?: string; + /** + * Output only. Full name of this resource, in the format + * `users/{owner_email}/environments/{environment_id}`. `{owner_email}` is + * the email address of the user to whom this environment belongs, and + * `{environment_id}` is the identifier of this environment. For example, + * `users/someone@example.com/environments/default`. + */ + name?: string; + /** + * Output only. Public keys associated with the environment. Clients can + * connect to this environment via SSH only if they possess a private key + * corresponding to at least one of these public keys. Keys can be added to + * or removed from the environment using the CreatePublicKey and + * DeletePublicKey methods. + */ + publicKeys?: Schema$PublicKey[]; + /** + * Output only. Host to which clients can connect to initiate SSH sessions + * with the environment. + */ + sshHost?: string; + /** + * Output only. Port to which clients can connect to initiate SSH sessions + * with the environment. + */ + sshPort?: number; + /** + * Output only. Username that clients should use when initiating SSH + * sessions with the environment. + */ + sshUsername?: string; + /** + * Output only. Current execution state of this environment. + */ + state?: string; + } + /** + * The response message for Operations.ListOperations. + */ + interface Schema$ListOperationsResponse { + /** + * The standard List next-page token. + */ + nextPageToken?: string; + /** + * A list of operations that matches the specified filter in the request. + */ + operations?: Schema$Operation[]; + } + /** + * This resource represents a long-running operation that is the result of a + * network API call. + */ + interface Schema$Operation { + /** + * If the value is `false`, it means the operation is still in progress. If + * `true`, the operation is completed, and either `error` or `response` is + * available. + */ + done?: boolean; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * Service-specific metadata associated with the operation. It typically + * contains progress information and common metadata such as create time. + * Some services might not provide such metadata. Any method that returns a + * long-running operation should document the metadata type, if any. + */ + metadata?: any; + /** + * The server-assigned name, which is only unique within the same service + * that originally returns it. If you use the default HTTP mapping, the + * `name` should have the format of `operations/some/unique/name`. + */ + name?: string; + /** + * The normal response of the operation in case of success. If the original + * method returns no data on success, such as `Delete`, the response is + * `google.protobuf.Empty`. If the original method is standard + * `Get`/`Create`/`Update`, the response should be the resource. For other + * methods, the response should have the type `XxxResponse`, where `Xxx` is + * the original method name. For example, if the original method name is + * `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: any; + } + /** + * A public SSH key, corresponding to a private SSH key held by the client. + */ + interface Schema$PublicKey { + /** + * Required. Format of this key's content. + */ + format?: string; + /** + * Required. Content of this key. + */ + key?: string; + /** + * Output only. Full name of this resource, in the format + * `users/{owner_email}/environments/{environment_id}/publicKeys/{key_id}`. + * `{owner_email}` is the email address of the user to whom the key belongs. + * `{environment_id}` is the identifier of the environment to which the key + * grants access. `{key_id}` is the unique identifier of the key. For + * example, + * `users/someone@example.com/environments/default/publicKeys/myKey`. + */ + name?: string; + } + /** + * Message included in the metadata field of operations returned from + * StartEnvironment. + */ + interface Schema$StartEnvironmentMetadata { + /** + * Current state of the environment being started. + */ + state?: string; + } + /** + * Message included in the response field of operations returned from + * StartEnvironment once the operation is complete. + */ + interface Schema$StartEnvironmentResponse { + /** + * Environment that was started. + */ + environment?: Schema$Environment; + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + class Resource$Operations { + root: Cloudshell; + constructor(root: Cloudshell); + getRoot(): Cloudshell; + /** + * cloudshell.operations.cancel + * @desc Starts asynchronous cancellation on a long-running operation. The + * server makes a best effort to cancel the operation, but success is not + * guaranteed. If the server doesn't support this method, it returns + * `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation + * or other methods to check whether the cancellation succeeded or whether + * the operation completed despite cancellation. On successful cancellation, + * the operation is not deleted; instead, it becomes an operation with an + * Operation.error value with a google.rpc.Status.code of 1, corresponding + * to `Code.CANCELLED`. + * @alias cloudshell.operations.cancel + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource to be cancelled. + * @param {().CancelOperationRequest} 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 + */ + cancel(params?: Params$Resource$Operations$Cancel, options?: MethodOptions): AxiosPromise; + cancel(params: Params$Resource$Operations$Cancel, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + cancel(params: Params$Resource$Operations$Cancel, callback: BodyResponseCallback): void; + cancel(callback: BodyResponseCallback): void; + /** + * cloudshell.operations.delete + * @desc Deletes a long-running operation. This method indicates that the + * client is no longer interested in the operation result. It does not + * cancel the operation. If the server doesn't support this method, it + * returns `google.rpc.Code.UNIMPLEMENTED`. + * @alias cloudshell.operations.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource to be deleted. + * @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?: Params$Resource$Operations$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Operations$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Operations$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * cloudshell.operations.get + * @desc Gets the latest state of a long-running operation. Clients can use + * this method to poll the operation result at intervals as recommended by + * the API service. + * @alias cloudshell.operations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource. + * @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?: Params$Resource$Operations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Operations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Operations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * cloudshell.operations.list + * @desc Lists operations that match the specified filter in the request. If + * the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: + * the `name` binding allows API services to override the binding to use + * different resource name schemes, such as `users/x/operations`. To + * override the binding, API services can add a binding such as + * `"/v1/{name=users/x}/operations"` to their service configuration. For + * backwards compatibility, the default name includes the operations + * collection id, however overriding users must ensure the name binding is + * the parent resource, without the operations collection id. + * @alias cloudshell.operations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter The standard list filter. + * @param {string} params.name The name of the operation's parent resource. + * @param {integer=} params.pageSize The standard list page size. + * @param {string=} params.pageToken The standard list page token. + * @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?: Params$Resource$Operations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Operations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Operations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Operations$Cancel { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource to be cancelled. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CancelOperationRequest; + } + interface Params$Resource$Operations$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource to be deleted. + */ + name?: string; + } + interface Params$Resource$Operations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource. + */ + name?: string; + } + interface Params$Resource$Operations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The standard list filter. + */ + filter?: string; + /** + * The name of the operation's parent resource. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudshell/v1.js b/express-server/node_modules/googleapis/build/src/apis/cloudshell/v1.js new file mode 100644 index 00000000..a19c6839 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudshell/v1.js @@ -0,0 +1,187 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var cloudshell_v1; +(function (cloudshell_v1) { + /** + * Cloud Shell API + * + * Allows users to start, configure, and connect to interactive shell sessions + * running in the cloud. + * + * @example + * const {google} = require('googleapis'); + * const cloudshell = google.cloudshell('v1'); + * + * @namespace cloudshell + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Cloudshell + */ + class Cloudshell { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.operations = new Resource$Operations(this); + } + getRoot() { + return this.root; + } + } + cloudshell_v1.Cloudshell = Cloudshell; + class Resource$Operations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + cancel(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudshell.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:cancel') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudshell.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudshell.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudshell.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + cloudshell_v1.Resource$Operations = Resource$Operations; +})(cloudshell_v1 = exports.cloudshell_v1 || (exports.cloudshell_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudshell/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/cloudshell/v1.js.map new file mode 100644 index 00000000..32724496 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudshell/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/cloudshell/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudshell/v1alpha1.d.ts b/express-server/node_modules/googleapis/build/src/apis/cloudshell/v1alpha1.d.ts new file mode 100644 index 00000000..6246d014 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudshell/v1alpha1.d.ts @@ -0,0 +1,494 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace cloudshell_v1alpha1 { + interface Options extends GlobalOptions { + version: 'v1alpha1'; + } + /** + * Cloud Shell API + * + * Allows users to start, configure, and connect to interactive shell sessions + * running in the cloud. + * + * @example + * const {google} = require('googleapis'); + * const cloudshell = google.cloudshell('v1alpha1'); + * + * @namespace cloudshell + * @type {Function} + * @version v1alpha1 + * @variation v1alpha1 + * @param {object=} options Options for Cloudshell + */ + class Cloudshell { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + users: Resource$Users; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Request message for AuthorizeEnvironment. + */ + interface Schema$AuthorizeEnvironmentRequest { + /** + * The OAuth access token that should be sent to the environment. + */ + accessToken?: string; + } + /** + * Request message for CreatePublicKey. + */ + interface Schema$CreatePublicKeyRequest { + /** + * Key that should be added to the environment. + */ + key?: Schema$PublicKey; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * A Cloud Shell environment, which is defined as the combination of a Docker + * image specifying what is installed on the environment and a home directory + * containing the user's data that will remain across sessions. Each user + * has a single environment with the ID "default". + */ + interface Schema$Environment { + /** + * Required. Full path to the Docker image used to run this environment, + * e.g. "gcr.io/dev-con/cloud-devshell:latest". + */ + dockerImage?: string; + /** + * Output only. The environment's identifier, which is always + * "default". + */ + id?: string; + /** + * Output only. Full name of this resource, in the format + * `users/{owner_email}/environments/{environment_id}`. `{owner_email}` is + * the email address of the user to whom this environment belongs, and + * `{environment_id}` is the identifier of this environment. For example, + * `users/someone@example.com/environments/default`. + */ + name?: string; + /** + * Output only. Public keys associated with the environment. Clients can + * connect to this environment via SSH only if they possess a private key + * corresponding to at least one of these public keys. Keys can be added to + * or removed from the environment using the CreatePublicKey and + * DeletePublicKey methods. + */ + publicKeys?: Schema$PublicKey[]; + /** + * Output only. Host to which clients can connect to initiate SSH sessions + * with the environment. + */ + sshHost?: string; + /** + * Output only. Port to which clients can connect to initiate SSH sessions + * with the environment. + */ + sshPort?: number; + /** + * Output only. Username that clients should use when initiating SSH + * sessions with the environment. + */ + sshUsername?: string; + /** + * Output only. Current execution state of this environment. + */ + state?: string; + } + /** + * This resource represents a long-running operation that is the result of a + * network API call. + */ + interface Schema$Operation { + /** + * If the value is `false`, it means the operation is still in progress. If + * `true`, the operation is completed, and either `error` or `response` is + * available. + */ + done?: boolean; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * Service-specific metadata associated with the operation. It typically + * contains progress information and common metadata such as create time. + * Some services might not provide such metadata. Any method that returns a + * long-running operation should document the metadata type, if any. + */ + metadata?: any; + /** + * The server-assigned name, which is only unique within the same service + * that originally returns it. If you use the default HTTP mapping, the + * `name` should have the format of `operations/some/unique/name`. + */ + name?: string; + /** + * The normal response of the operation in case of success. If the original + * method returns no data on success, such as `Delete`, the response is + * `google.protobuf.Empty`. If the original method is standard + * `Get`/`Create`/`Update`, the response should be the resource. For other + * methods, the response should have the type `XxxResponse`, where `Xxx` is + * the original method name. For example, if the original method name is + * `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: any; + } + /** + * A public SSH key, corresponding to a private SSH key held by the client. + */ + interface Schema$PublicKey { + /** + * Required. Format of this key's content. + */ + format?: string; + /** + * Required. Content of this key. + */ + key?: string; + /** + * Output only. Full name of this resource, in the format + * `users/{owner_email}/environments/{environment_id}/publicKeys/{key_id}`. + * `{owner_email}` is the email address of the user to whom the key belongs. + * `{environment_id}` is the identifier of the environment to which the key + * grants access. `{key_id}` is the unique identifier of the key. For + * example, + * `users/someone@example.com/environments/default/publicKeys/myKey`. + */ + name?: string; + } + /** + * Message included in the metadata field of operations returned from + * StartEnvironment. + */ + interface Schema$StartEnvironmentMetadata { + /** + * Current state of the environment being started. + */ + state?: string; + } + /** + * Request message for StartEnvironment. + */ + interface Schema$StartEnvironmentRequest { + /** + * The initial access token passed to the environment. If this is present + * and valid, the environment will be pre-authenticated with gcloud so that + * the user can run gcloud commands in Cloud Shell without having to log in. + * This code can be updated later by calling AuthorizeEnvironment. + */ + accessToken?: string; + } + /** + * Message included in the response field of operations returned from + * StartEnvironment once the operation is complete. + */ + interface Schema$StartEnvironmentResponse { + /** + * Environment that was started. + */ + environment?: Schema$Environment; + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + class Resource$Users { + root: Cloudshell; + environments: Resource$Users$Environments; + constructor(root: Cloudshell); + getRoot(): Cloudshell; + } + class Resource$Users$Environments { + root: Cloudshell; + publicKeys: Resource$Users$Environments$Publickeys; + constructor(root: Cloudshell); + getRoot(): Cloudshell; + /** + * cloudshell.users.environments.authorize + * @desc Sends an access token to a running environment on behalf of a user. + * When this completes, the environment will be authorized to run gcloud + * commands without requiring the user to manually authenticate. + * @alias cloudshell.users.environments.authorize + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Name of the resource that should receive the token, for example `users/me/environments/default` or `users/someone@example.com/environments/default`. + * @param {().AuthorizeEnvironmentRequest} 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 + */ + authorize(params?: Params$Resource$Users$Environments$Authorize, options?: MethodOptions): AxiosPromise; + authorize(params: Params$Resource$Users$Environments$Authorize, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + authorize(params: Params$Resource$Users$Environments$Authorize, callback: BodyResponseCallback): void; + authorize(callback: BodyResponseCallback): void; + /** + * cloudshell.users.environments.get + * @desc Gets an environment. Returns NOT_FOUND if the environment does not + * exist. + * @alias cloudshell.users.environments.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Name of the requested resource, for example `users/me/environments/default` or `users/someone@example.com/environments/default`. + * @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?: Params$Resource$Users$Environments$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Users$Environments$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Users$Environments$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * cloudshell.users.environments.patch + * @desc Updates an existing environment. + * @alias cloudshell.users.environments.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Name of the resource to be updated, for example `users/me/environments/default` or `users/someone@example.com/environments/default`. + * @param {string=} params.updateMask Mask specifying which fields in the environment should be updated. + * @param {().Environment} 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 + */ + patch(params?: Params$Resource$Users$Environments$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Users$Environments$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Users$Environments$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * cloudshell.users.environments.start + * @desc Starts an existing environment, allowing clients to connect to it. + * The returned operation will contain an instance of + * StartEnvironmentMetadata in its metadata field. Users can wait for the + * environment to start by polling this operation via GetOperation. Once the + * environment has finished starting and is ready to accept connections, the + * operation will contain a StartEnvironmentResponse in its response field. + * @alias cloudshell.users.environments.start + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Name of the resource that should be started, for example `users/me/environments/default` or `users/someone@example.com/environments/default`. + * @param {().StartEnvironmentRequest} 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 + */ + start(params?: Params$Resource$Users$Environments$Start, options?: MethodOptions): AxiosPromise; + start(params: Params$Resource$Users$Environments$Start, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + start(params: Params$Resource$Users$Environments$Start, callback: BodyResponseCallback): void; + start(callback: BodyResponseCallback): void; + } + interface Params$Resource$Users$Environments$Authorize { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the resource that should receive the token, for example + * `users/me/environments/default` or + * `users/someone@example.com/environments/default`. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AuthorizeEnvironmentRequest; + } + interface Params$Resource$Users$Environments$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the requested resource, for example + * `users/me/environments/default` or + * `users/someone@example.com/environments/default`. + */ + name?: string; + } + interface Params$Resource$Users$Environments$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the resource to be updated, for example + * `users/me/environments/default` or + * `users/someone@example.com/environments/default`. + */ + name?: string; + /** + * Mask specifying which fields in the environment should be updated. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Environment; + } + interface Params$Resource$Users$Environments$Start { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the resource that should be started, for example + * `users/me/environments/default` or + * `users/someone@example.com/environments/default`. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$StartEnvironmentRequest; + } + class Resource$Users$Environments$Publickeys { + root: Cloudshell; + constructor(root: Cloudshell); + getRoot(): Cloudshell; + /** + * cloudshell.users.environments.publicKeys.create + * @desc Adds a public SSH key to an environment, allowing clients with the + * corresponding private key to connect to that environment via SSH. If a + * key with the same format and content already exists, this will return the + * existing key. + * @alias cloudshell.users.environments.publicKeys.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Parent resource name, e.g. `users/me/environments/default`. + * @param {().CreatePublicKeyRequest} 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 + */ + create(params?: Params$Resource$Users$Environments$Publickeys$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Users$Environments$Publickeys$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Users$Environments$Publickeys$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * cloudshell.users.environments.publicKeys.delete + * @desc Removes a public SSH key from an environment. Clients will no + * longer be able to connect to the environment using the corresponding + * private key. + * @alias cloudshell.users.environments.publicKeys.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Name of the resource to be deleted, e.g. `users/me/environments/default/publicKeys/my-key`. + * @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?: Params$Resource$Users$Environments$Publickeys$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Users$Environments$Publickeys$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Users$Environments$Publickeys$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + } + interface Params$Resource$Users$Environments$Publickeys$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Parent resource name, e.g. `users/me/environments/default`. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreatePublicKeyRequest; + } + interface Params$Resource$Users$Environments$Publickeys$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the resource to be deleted, e.g. + * `users/me/environments/default/publicKeys/my-key`. + */ + name?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudshell/v1alpha1.js b/express-server/node_modules/googleapis/build/src/apis/cloudshell/v1alpha1.js new file mode 100644 index 00000000..3779c371 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudshell/v1alpha1.js @@ -0,0 +1,271 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var cloudshell_v1alpha1; +(function (cloudshell_v1alpha1) { + /** + * Cloud Shell API + * + * Allows users to start, configure, and connect to interactive shell sessions + * running in the cloud. + * + * @example + * const {google} = require('googleapis'); + * const cloudshell = google.cloudshell('v1alpha1'); + * + * @namespace cloudshell + * @type {Function} + * @version v1alpha1 + * @variation v1alpha1 + * @param {object=} options Options for Cloudshell + */ + class Cloudshell { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.users = new Resource$Users(this); + } + getRoot() { + return this.root; + } + } + cloudshell_v1alpha1.Cloudshell = Cloudshell; + class Resource$Users { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.environments = new Resource$Users$Environments(root); + } + getRoot() { + return this.root; + } + } + cloudshell_v1alpha1.Resource$Users = Resource$Users; + class Resource$Users$Environments { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.publicKeys = new Resource$Users$Environments$Publickeys(root); + } + getRoot() { + return this.root; + } + authorize(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudshell.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha1/{+name}:authorize') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudshell.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudshell.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + start(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudshell.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha1/{+name}:start') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + cloudshell_v1alpha1.Resource$Users$Environments = Resource$Users$Environments; + class Resource$Users$Environments$Publickeys { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudshell.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha1/{+parent}/publicKeys') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudshell.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + cloudshell_v1alpha1.Resource$Users$Environments$Publickeys = Resource$Users$Environments$Publickeys; +})(cloudshell_v1alpha1 = exports.cloudshell_v1alpha1 || (exports.cloudshell_v1alpha1 = {})); +//# sourceMappingURL=v1alpha1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudshell/v1alpha1.js.map b/express-server/node_modules/googleapis/build/src/apis/cloudshell/v1alpha1.js.map new file mode 100644 index 00000000..0d8f228a --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudshell/v1alpha1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1alpha1.js","sourceRoot":"","sources":["../../../../src/apis/cloudshell/v1alpha1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudtasks/README.md b/express-server/node_modules/googleapis/build/src/apis/cloudtasks/README.md new file mode 100644 index 00000000..26677daf --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudtasks/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/cloudtasks + +> Manages the execution of large numbers of distributed requests. + +## Installation + +```sh +$ npm install @google/cloudtasks +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudtasks/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/cloudtasks/index.d.ts new file mode 100644 index 00000000..956043f0 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudtasks/index.d.ts @@ -0,0 +1,10 @@ +import { cloudtasks_v2beta2 } from './v2beta2'; +import { cloudtasks_v2beta3 } from './v2beta3'; +export declare const VERSIONS: { + 'v2beta2': typeof cloudtasks_v2beta2.Cloudtasks; + 'v2beta3': typeof cloudtasks_v2beta3.Cloudtasks; +}; +export declare function cloudtasks(version: 'v2beta2'): cloudtasks_v2beta2.Cloudtasks; +export declare function cloudtasks(options: cloudtasks_v2beta2.Options): cloudtasks_v2beta2.Cloudtasks; +export declare function cloudtasks(version: 'v2beta3'): cloudtasks_v2beta3.Cloudtasks; +export declare function cloudtasks(options: cloudtasks_v2beta3.Options): cloudtasks_v2beta3.Cloudtasks; diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudtasks/index.js b/express-server/node_modules/googleapis/build/src/apis/cloudtasks/index.js new file mode 100644 index 00000000..9c0a9e10 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudtasks/index.js @@ -0,0 +1,27 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v2beta2_1 = require("./v2beta2"); +const v2beta3_1 = require("./v2beta3"); +exports.VERSIONS = { + 'v2beta2': v2beta2_1.cloudtasks_v2beta2.Cloudtasks, + 'v2beta3': v2beta3_1.cloudtasks_v2beta3.Cloudtasks, +}; +function cloudtasks(versionOrOptions) { + return googleapis_common_1.getAPI('cloudtasks', versionOrOptions, exports.VERSIONS, this); +} +exports.cloudtasks = cloudtasks; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudtasks/index.js.map b/express-server/node_modules/googleapis/build/src/apis/cloudtasks/index.js.map new file mode 100644 index 00000000..f2d1dc64 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudtasks/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/cloudtasks/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,uCAA6C;AAC7C,uCAA6C;AAEhC,QAAA,QAAQ,GAAG;IACtB,SAAS,EAAE,4BAAkB,CAAC,UAAU;IACxC,SAAS,EAAE,4BAAkB,CAAC,UAAU;CACzC,CAAC;AAQF,SACA,UAAU,CAEN,gBAC+D;IACjE,OAAO,0BAAM,CAAI,YAAY,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACnE,CAAC;AAND,gCAMC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudtasks/package.json b/express-server/node_modules/googleapis/build/src/apis/cloudtasks/package.json new file mode 100644 index 00000000..1c2aca13 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudtasks/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/cloudtasks", + "version": "0.1.0", + "description": "cloudtasks", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudtasks/v2beta2.d.ts b/express-server/node_modules/googleapis/build/src/apis/cloudtasks/v2beta2.d.ts new file mode 100644 index 00000000..b5f65f85 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudtasks/v2beta2.d.ts @@ -0,0 +1,3142 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace cloudtasks_v2beta2 { + interface Options extends GlobalOptions { + version: 'v2beta2'; + } + /** + * Cloud Tasks API + * + * Manages the execution of large numbers of distributed requests. + * + * @example + * const {google} = require('googleapis'); + * const cloudtasks = google.cloudtasks('v2beta2'); + * + * @namespace cloudtasks + * @type {Function} + * @version v2beta2 + * @variation v2beta2 + * @param {object=} options Options for Cloudtasks + */ + class Cloudtasks { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + projects: Resource$Projects; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Request message for acknowledging a task using AcknowledgeTask. + */ + interface Schema$AcknowledgeTaskRequest { + /** + * Required. The task's current schedule time, available in the + * schedule_time returned by LeaseTasks response or RenewLease response. + * This restriction is to ensure that your worker currently holds the lease. + */ + scheduleTime?: string; + } + /** + * App Engine HTTP request. The message defines the HTTP request that is sent + * to an App Engine app when the task is dispatched. This proto can only be + * used for tasks in a queue which has app_engine_http_target set. Using + * AppEngineHttpRequest requires + * [`appengine.applications.get`](https://cloud.google.com/appengine/docs/admin-api/access-control) + * Google IAM permission for the project and the following scope: + * `https://www.googleapis.com/auth/cloud-platform` The task will be + * delivered to the App Engine app which belongs to the same project as the + * queue. For more information, see [How Requests are + * Routed](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed) + * and how routing is affected by [dispatch + * files](https://cloud.google.com/appengine/docs/python/config/dispatchref). + * The AppEngineRouting used to construct the URL that the task is delivered + * to can be set at the queue-level or task-level: * If set, + * app_engine_routing_override is used for all tasks in the queue, no + * matter what the setting is for the task-level app_engine_routing. The + * `url` that the task will be sent to is: * `url =` host `+` relative_url + * The task attempt has succeeded if the app's request handler returns an + * HTTP response code in the range [`200` - `299`]. `503` is considered an App + * Engine system error instead of an application error. Requests returning + * error `503` will be retried regardless of retry configuration and not + * counted against retry counts. Any other response code or a failure to + * receive a response before the deadline is a failed attempt. + */ + interface Schema$AppEngineHttpRequest { + /** + * Task-level setting for App Engine routing. If set, + * app_engine_routing_override is used for all tasks in the queue, no matter + * what the setting is for the task-level app_engine_routing. + */ + appEngineRouting?: Schema$AppEngineRouting; + /** + * HTTP request headers. This map contains the header field names and + * values. Headers can be set when the task is created. Repeated headers are + * not supported but a header value can contain commas. Cloud Tasks sets + * some headers to default values: * `User-Agent`: By default, this header + * is `"AppEngine-Google; (+http://code.google.com/appengine)"`. + * This header can be modified, but Cloud Tasks will append + * `"AppEngine-Google; (+http://code.google.com/appengine)"` to + * the modified `User-Agent`. If the task has a payload, Cloud Tasks sets + * the following headers: * `Content-Type`: By default, the `Content-Type` + * header is set to `"application/octet-stream"`. The default + * can be overridden by explicitly setting `Content-Type` to a particular + * media type when the task is created. For example, `Content-Type` can + * be set to `"application/json"`. * `Content-Length`: This is + * computed by Cloud Tasks. This value is output only. It cannot be + * changed. The headers below cannot be set or overridden: * `Host` * + * `X-Google-*` * `X-AppEngine-*` In addition, Cloud Tasks sets some + * headers when the task is dispatched, such as headers containing + * information about the task; see [request + * headers](https://cloud.google.com/appengine/docs/python/taskqueue/push/creating-handlers#reading_request_headers). + * These headers are set only when the task is dispatched, so they are not + * visible when the task is returned in a Cloud Tasks response. Although + * there is no specific limit for the maximum number of headers or the size, + * there is a limit on the maximum size of the Task. For more information, + * see the CreateTask documentation. + */ + headers?: any; + /** + * The HTTP method to use for the request. The default is POST. The + * app's request handler for the task's target URL must be able to + * handle HTTP requests with this http_method, otherwise the task attempt + * will fail with error code 405 (Method Not Allowed). See [Writing a push + * task request + * handler](https://cloud.google.com/appengine/docs/java/taskqueue/push/creating-handlers#writing_a_push_task_request_handler) + * and the documentation for the request handlers in the language your app + * is written in e.g. [Python Request + * Handler](https://cloud.google.com/appengine/docs/python/tools/webapp/requesthandlerclass). + */ + httpMethod?: string; + /** + * Payload. The payload will be sent as the HTTP message body. A message + * body, and thus a payload, is allowed only if the HTTP method is POST or + * PUT. It is an error to set a data payload on a task with an incompatible + * HttpMethod. + */ + payload?: string; + /** + * The relative URL. The relative URL must begin with "/" and + * must be a valid HTTP relative URL. It can contain a path and query string + * arguments. If the relative URL is empty, then the root path "/" + * will be used. No spaces are allowed, and the maximum length allowed is + * 2083 characters. + */ + relativeUrl?: string; + } + /** + * App Engine HTTP target. The task will be delivered to the App Engine + * application hostname specified by its AppEngineHttpTarget and + * AppEngineHttpRequest. The documentation for AppEngineHttpRequest explains + * how the task's host URL is constructed. Using AppEngineHttpTarget + * requires + * [`appengine.applications.get`](https://cloud.google.com/appengine/docs/admin-api/access-control) + * Google IAM permission for the project and the following scope: + * `https://www.googleapis.com/auth/cloud-platform` + */ + interface Schema$AppEngineHttpTarget { + /** + * Overrides for the task-level app_engine_routing. If set, + * `app_engine_routing_override` is used for all tasks in the queue, no + * matter what the setting is for the task-level app_engine_routing. + */ + appEngineRoutingOverride?: Schema$AppEngineRouting; + } + /** + * App Engine Routing. For more information about services, versions, and + * instances see [An Overview of App + * Engine](https://cloud.google.com/appengine/docs/python/an-overview-of-app-engine), + * [Microservices Architecture on Google App + * Engine](https://cloud.google.com/appengine/docs/python/microservices-on-app-engine), + * [App Engine Standard request + * routing](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed), + * and [App Engine Flex request + * routing](https://cloud.google.com/appengine/docs/flexible/python/how-requests-are-routed). + */ + interface Schema$AppEngineRouting { + /** + * Output only. The host that the task is sent to. For more information, + * see [How Requests are + * Routed](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed). + * The host is constructed as: * `host = + * [application_domain_name]`</br> `| [service] + '.' + + * [application_domain_name]`</br> `| [version] + '.' + + * [application_domain_name]`</br> `| [version_dot_service]+ + * '.' + [application_domain_name]`</br> `| [instance] + + * '.' + [application_domain_name]`</br> `| + * [instance_dot_service] + '.' + + * [application_domain_name]`</br> `| [instance_dot_version] + + * '.' + [application_domain_name]`</br> `| + * [instance_dot_version_dot_service] + '.' + + * [application_domain_name]` * `application_domain_name` = The domain name + * of the app, for example <app-id>.appspot.com, which is associated + * with the queue's project ID. Some tasks which were created using + * the App Engine SDK use a custom domain name. * `service =` service * + * `version =` version * `version_dot_service =` version `+ '.' + * +` service * `instance =` instance * `instance_dot_service =` + * instance `+ '.' +` service * `instance_dot_version =` instance + * `+ '.' +` version * `instance_dot_version_dot_service =` + * instance `+ '.' +` version `+ '.' +` service If + * service is empty, then the task will be sent to the service which is the + * default service when the task is attempted. If version is empty, then + * the task will be sent to the version which is the default version when + * the task is attempted. If instance is empty, then the task will be sent + * to an instance which is available when the task is attempted. If + * service, version, or instance is invalid, then the task will be sent to + * the default version of the default service when the task is attempted. + */ + host?: string; + /** + * App instance. By default, the task is sent to an instance which is + * available when the task is attempted. Requests can only be sent to a + * specific instance if [manual scaling is used in App Engine + * Standard](https://cloud.google.com/appengine/docs/python/an-overview-of-app-engine?hl=en_US#scaling_types_and_instance_classes). + * App Engine Flex does not support instances. For more information, see + * [App Engine Standard request + * routing](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed) + * and [App Engine Flex request + * routing](https://cloud.google.com/appengine/docs/flexible/python/how-requests-are-routed). + */ + instance?: string; + /** + * App service. By default, the task is sent to the service which is the + * default service when the task is attempted. For some queues or tasks + * which were created using the App Engine Task Queue API, host is not + * parsable into service, version, and instance. For example, some tasks + * which were created using the App Engine SDK use a custom domain name; + * custom domains are not parsed by Cloud Tasks. If host is not parsable, + * then service, version, and instance are the empty string. + */ + service?: string; + /** + * App version. By default, the task is sent to the version which is the + * default version when the task is attempted. For some queues or tasks + * which were created using the App Engine Task Queue API, host is not + * parsable into service, version, and instance. For example, some tasks + * which were created using the App Engine SDK use a custom domain name; + * custom domains are not parsed by Cloud Tasks. If host is not parsable, + * then service, version, and instance are the empty string. + */ + version?: string; + } + /** + * The status of a task attempt. + */ + interface Schema$AttemptStatus { + /** + * Output only. The time that this attempt was dispatched. `dispatch_time` + * will be truncated to the nearest microsecond. + */ + dispatchTime?: string; + /** + * Output only. The response from the target for this attempt. If the task + * has not been attempted or the task is currently running then the response + * status is unset. + */ + responseStatus?: Schema$Status; + /** + * Output only. The time that this attempt response was received. + * `response_time` will be truncated to the nearest microsecond. + */ + responseTime?: string; + /** + * Output only. The time that this attempt was scheduled. `schedule_time` + * will be truncated to the nearest microsecond. + */ + scheduleTime?: string; + } + /** + * Associates `members` with a `role`. + */ + interface Schema$Binding { + /** + * Unimplemented. The condition that is associated with this binding. NOTE: + * an unsatisfied condition will not allow user access via current binding. + * Different bindings, including their conditions, are examined + * independently. + */ + condition?: Schema$Expr; + /** + * Specifies the identities requesting access for a Cloud Platform resource. + * `members` can have the following values: * `allUsers`: A special + * identifier that represents anyone who is on the internet; with or + * without a Google account. * `allAuthenticatedUsers`: A special + * identifier that represents anyone who is authenticated with a Google + * account or a service account. * `user:{emailid}`: An email address that + * represents a specific Google account. For example, `alice@gmail.com` . + * * `serviceAccount:{emailid}`: An email address that represents a service + * account. For example, `my-other-app@appspot.gserviceaccount.com`. * + * `group:{emailid}`: An email address that represents a Google group. For + * example, `admins@example.com`. * `domain:{domain}`: A Google Apps + * domain name that represents all the users of that domain. For example, + * `google.com` or `example.com`. + */ + members?: string[]; + /** + * Role that is assigned to `members`. For example, `roles/viewer`, + * `roles/editor`, or `roles/owner`. + */ + role?: string; + } + /** + * Request message for canceling a lease using CancelLease. + */ + interface Schema$CancelLeaseRequest { + /** + * The response_view specifies which subset of the Task will be returned. By + * default response_view is BASIC; not all information is retrieved by + * default because some data, such as payloads, might be desirable to return + * only when needed because of its large size or because of the sensitivity + * of data that it contains. Authorization for FULL requires + * `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) + * permission on the Task resource. + */ + responseView?: string; + /** + * Required. The task's current schedule time, available in the + * schedule_time returned by LeaseTasks response or RenewLease response. + * This restriction is to ensure that your worker currently holds the lease. + */ + scheduleTime?: string; + } + /** + * Request message for CreateTask. + */ + interface Schema$CreateTaskRequest { + /** + * The response_view specifies which subset of the Task will be returned. By + * default response_view is BASIC; not all information is retrieved by + * default because some data, such as payloads, might be desirable to return + * only when needed because of its large size or because of the sensitivity + * of data that it contains. Authorization for FULL requires + * `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) + * permission on the Task resource. + */ + responseView?: string; + /** + * Required. The task to add. Task names have the following format: + * `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`. + * The user can optionally specify a task name. If a name is not specified + * then the system will generate a random unique task id, which will be set + * in the task returned in the response. If schedule_time is not set or is + * in the past then Cloud Tasks will set it to the current time. Task + * De-duplication: Explicitly specifying a task ID enables task + * de-duplication. If a task's ID is identical to that of an existing + * task or a task that was deleted or completed recently then the call will + * fail with ALREADY_EXISTS. If the task's queue was created using Cloud + * Tasks, then another task with the same name can't be created for + * ~1hour after the original task was deleted or completed. If the + * task's queue was created using queue.yaml or queue.xml, then another + * task with the same name can't be created for ~9days after the + * original task was deleted or completed. Because there is an extra lookup + * cost to identify duplicate task names, these CreateTask calls have + * significantly increased latency. Using hashed strings for the task id or + * for the prefix of the task id is recommended. Choosing task ids that are + * sequential or have sequential prefixes, for example using a timestamp, + * causes an increase in latency and error rates in all task commands. The + * infrastructure relies on an approximately uniform distribution of task + * ids to store and serve tasks efficiently. + */ + task?: Schema$Task; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * Represents an expression text. Example: title: "User account + * presence" description: "Determines whether the request has a + * user account" expression: "size(request.user) > 0" + */ + interface Schema$Expr { + /** + * An optional description of the expression. This is a longer text which + * describes the expression, e.g. when hovered over it in a UI. + */ + description?: string; + /** + * Textual representation of an expression in Common Expression Language + * syntax. The application context of the containing message determines + * which well-known feature set of CEL is supported. + */ + expression?: string; + /** + * An optional string indicating the location of the expression for error + * reporting, e.g. a file name and a position in the file. + */ + location?: string; + /** + * An optional title for the expression, i.e. a short string describing its + * purpose. This can be used e.g. in UIs which allow to enter the + * expression. + */ + title?: string; + } + /** + * Request message for `GetIamPolicy` method. + */ + interface Schema$GetIamPolicyRequest { + } + /** + * Request message for leasing tasks using LeaseTasks. + */ + interface Schema$LeaseTasksRequest { + /** + * `filter` can be used to specify a subset of tasks to lease. When + * `filter` is set to `tag=<my-tag>` then the response will contain + * only tasks whose tag is equal to `<my-tag>`. `<my-tag>` must + * be less than 500 characters. When `filter` is set to + * `tag_function=oldest_tag()`, only tasks which have the same tag as the + * task with the oldest schedule_time will be returned. Grammar Syntax: * + * `filter = "tag=" tag | "tag_function=" function` * + * `tag = string` * `function = "oldest_tag()"` The + * `oldest_tag()` function returns tasks which have the same tag as the + * oldest task (ordered by schedule time). SDK compatibility: Although the + * SDK allows tags to be either string or + * [bytes](https://cloud.google.com/appengine/docs/standard/java/javadoc/com/google/appengine/api/taskqueue/TaskOptions.html#tag-byte:A-), + * only UTF-8 encoded tags can be used in Cloud Tasks. Tag which aren't + * UTF-8 encoded can't be used in the filter and the task's tag will + * be displayed as empty in Cloud Tasks. + */ + filter?: string; + /** + * After the worker has successfully finished the work associated with the + * task, the worker must call via AcknowledgeTask before the schedule_time. + * Otherwise the task will be returned to a later LeaseTasks call so that + * another worker can retry it. The maximum lease duration is 1 week. + * `lease_duration` will be truncated to the nearest second. + */ + leaseDuration?: string; + /** + * The maximum number of tasks to lease. The system will make a best effort + * to return as close to as `max_tasks` as possible. The largest that + * `max_tasks` can be is 1000. The maximum total size of a lease tasks + * response is 32 MB. If the sum of all task sizes requested reaches this + * limit, fewer tasks than requested are returned. + */ + maxTasks?: number; + /** + * The response_view specifies which subset of the Task will be returned. By + * default response_view is BASIC; not all information is retrieved by + * default because some data, such as payloads, might be desirable to return + * only when needed because of its large size or because of the sensitivity + * of data that it contains. Authorization for FULL requires + * `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) + * permission on the Task resource. + */ + responseView?: string; + } + /** + * Response message for leasing tasks using LeaseTasks. + */ + interface Schema$LeaseTasksResponse { + /** + * The leased tasks. + */ + tasks?: Schema$Task[]; + } + /** + * The response message for Locations.ListLocations. + */ + interface Schema$ListLocationsResponse { + /** + * A list of locations that matches the specified filter in the request. + */ + locations?: Schema$Location[]; + /** + * The standard List next-page token. + */ + nextPageToken?: string; + } + /** + * Response message for ListQueues. + */ + interface Schema$ListQueuesResponse { + /** + * A token to retrieve next page of results. To return the next page of + * results, call ListQueues with this value as the page_token. If the + * next_page_token is empty, there are no more results. The page token is + * valid for only 2 hours. + */ + nextPageToken?: string; + /** + * The list of queues. + */ + queues?: Schema$Queue[]; + } + /** + * Response message for listing tasks using ListTasks. + */ + interface Schema$ListTasksResponse { + /** + * A token to retrieve next page of results. To return the next page of + * results, call ListTasks with this value as the page_token. If the + * next_page_token is empty, there are no more results. + */ + nextPageToken?: string; + /** + * The list of tasks. + */ + tasks?: Schema$Task[]; + } + /** + * A resource that represents Google Cloud Platform location. + */ + interface Schema$Location { + /** + * The friendly name for this location, typically a nearby city name. For + * example, "Tokyo". + */ + displayName?: string; + /** + * Cross-service attributes for the location. For example + * {"cloud.googleapis.com/region": "us-east1"} + */ + labels?: any; + /** + * The canonical id for this location. For example: `"us-east1"`. + */ + locationId?: string; + /** + * Service-specific metadata. For example the available capacity at the + * given location. + */ + metadata?: any; + /** + * Resource name for the location, which may vary between implementations. + * For example: `"projects/example-project/locations/us-east1"` + */ + name?: string; + } + /** + * Request message for PauseQueue. + */ + interface Schema$PauseQueueRequest { + } + /** + * Defines an Identity and Access Management (IAM) policy. It is used to + * specify access control policies for Cloud Platform resources. A `Policy` + * consists of a list of `bindings`. A `binding` binds a list of `members` to + * a `role`, where the members can be user accounts, Google groups, Google + * domains, and service accounts. A `role` is a named list of permissions + * defined by IAM. **JSON Example** { "bindings": [ { + * "role": "roles/owner", "members": [ + * "user:mike@example.com", "group:admins@example.com", + * "domain:google.com", + * "serviceAccount:my-other-app@appspot.gserviceaccount.com" ] }, { + * "role": "roles/viewer", "members": + * ["user:sean@example.com"] } ] } **YAML + * Example** bindings: - members: - user:mike@example.com - + * group:admins@example.com - domain:google.com - + * serviceAccount:my-other-app@appspot.gserviceaccount.com role: + * roles/owner - members: - user:sean@example.com role: + * roles/viewer For a description of IAM and its features, see the [IAM + * developer's guide](https://cloud.google.com/iam/docs). + */ + interface Schema$Policy { + /** + * Associates a list of `members` to a `role`. `bindings` with no members + * will result in an error. + */ + bindings?: Schema$Binding[]; + /** + * `etag` is used for optimistic concurrency control as a way to help + * prevent simultaneous updates of a policy from overwriting each other. It + * is strongly suggested that systems make use of the `etag` in the + * read-modify-write cycle to perform policy updates in order to avoid race + * conditions: An `etag` is returned in the response to `getIamPolicy`, and + * systems are expected to put that etag in the request to `setIamPolicy` to + * ensure that their change will be applied to the same version of the + * policy. If no `etag` is provided in the call to `setIamPolicy`, then the + * existing policy is overwritten blindly. + */ + etag?: string; + /** + * Deprecated. + */ + version?: number; + } + /** + * The pull message contains data that can be used by the caller of LeaseTasks + * to process the task. This proto can only be used for tasks in a queue + * which has pull_target set. + */ + interface Schema$PullMessage { + /** + * A data payload consumed by the worker to execute the task. + */ + payload?: string; + /** + * The task's tag. Tags allow similar tasks to be processed in a batch. + * If you label tasks with a tag, your worker can lease tasks with the same + * tag using filter. For example, if you want to aggregate the events + * associated with a specific user once a day, you could tag tasks with the + * user ID. The task's tag can only be set when the task is created. + * The tag must be less than 500 characters. SDK compatibility: Although + * the SDK allows tags to be either string or + * [bytes](https://cloud.google.com/appengine/docs/standard/java/javadoc/com/google/appengine/api/taskqueue/TaskOptions.html#tag-byte:A-), + * only UTF-8 encoded tags can be used in Cloud Tasks. If a tag isn't + * UTF-8 encoded, the tag will be empty when the task is returned by Cloud + * Tasks. + */ + tag?: string; + } + /** + * Pull target. + */ + interface Schema$PullTarget { + } + /** + * Request message for PurgeQueue. + */ + interface Schema$PurgeQueueRequest { + } + /** + * A queue is a container of related tasks. Queues are configured to manage + * how those tasks are dispatched. Configurable properties include rate + * limits, retry options, target types, and others. + */ + interface Schema$Queue { + /** + * App Engine HTTP target. An App Engine queue is a queue that has an + * AppEngineHttpTarget. + */ + appEngineHttpTarget?: Schema$AppEngineHttpTarget; + /** + * Caller-specified and required in CreateQueue, after which it becomes + * output only. The queue name. The queue name must have the following + * format: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` * + * `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]), hyphens + * (-), colons (:), or periods (.). For more information, see + * [Identifying + * projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects) + * * `LOCATION_ID` is the canonical ID for the queue's location. The + * list of available locations can be obtained by calling ListLocations. + * For more information, see https://cloud.google.com/about/locations/. * + * `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or hyphens + * (-). The maximum length is 100 characters. + */ + name?: string; + /** + * Pull target. A pull queue is a queue that has a PullTarget. + */ + pullTarget?: Schema$PullTarget; + /** + * Output only. The last time this queue was purged. All tasks that were + * created before this time were purged. A queue can be purged using + * PurgeQueue, the [App Engine Task Queue SDK, or the Cloud + * Console](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/deleting-tasks-and-queues#purging_all_tasks_from_a_queue). + * Purge time will be truncated to the nearest microsecond. Purge time will + * be unset if the queue has never been purged. + */ + purgeTime?: string; + /** + * Rate limits for task dispatches. rate_limits and retry_config are + * related because they both control task attempts however they control how + * tasks are attempted in different ways: * rate_limits controls the total + * rate of dispatches from a queue (i.e. all traffic dispatched from the + * queue, regardless of whether the dispatch is from a first attempt or a + * retry). * retry_config controls what happens to particular a task after + * its first attempt fails. That is, retry_config controls task retries + * (the second attempt, third attempt, etc). + */ + rateLimits?: Schema$RateLimits; + /** + * Settings that determine the retry behavior. * For tasks created using + * Cloud Tasks: the queue-level retry settings apply to all tasks in the + * queue that were created using Cloud Tasks. Retry settings cannot be set + * on individual tasks. * For tasks created using the App Engine SDK: the + * queue-level retry settings apply to all tasks in the queue which do not + * have retry settings explicitly set on the task and were created by the + * App Engine SDK. See [App Engine + * documentation](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/retrying-tasks). + */ + retryConfig?: Schema$RetryConfig; + /** + * Output only. The state of the queue. `state` can only be changed by + * called PauseQueue, ResumeQueue, or uploading + * [queue.yaml/xml](https://cloud.google.com/appengine/docs/python/config/queueref). + * UpdateQueue cannot be used to change `state`. + */ + state?: string; + } + /** + * Rate limits. This message determines the maximum rate that tasks can be + * dispatched by a queue, regardless of whether the dispatch is a first task + * attempt or a retry. Note: The debugging command, RunTask, will run a task + * even if the queue has reached its RateLimits. + */ + interface Schema$RateLimits { + /** + * Output only. The max burst size. Max burst size limits how fast tasks in + * queue are processed when many tasks are in the queue and the rate is + * high. This field allows the queue to have a high rate so processing + * starts shortly after a task is enqueued, but still limits resource usage + * when many tasks are enqueued in a short period of time. The [token + * bucket](https://wikipedia.org/wiki/Token_Bucket) algorithm is used to + * control the rate of task dispatches. Each queue has a token bucket that + * holds tokens, up to the maximum specified by `max_burst_size`. Each time + * a task is dispatched, a token is removed from the bucket. Tasks will be + * dispatched until the queue's bucket runs out of tokens. The bucket + * will be continuously refilled with new tokens based on + * max_tasks_dispatched_per_second. Cloud Tasks will pick the value of + * `max_burst_size` based on the value of max_tasks_dispatched_per_second. + * For App Engine queues that were created or updated using + * `queue.yaml/xml`, `max_burst_size` is equal to + * [bucket_size](https://cloud.google.com/appengine/docs/standard/python/config/queueref#bucket_size). + * Since `max_burst_size` is output only, if UpdateQueue is called on a + * queue created by `queue.yaml/xml`, `max_burst_size` will be reset based + * on the value of max_tasks_dispatched_per_second, regardless of whether + * max_tasks_dispatched_per_second is updated. + */ + maxBurstSize?: number; + /** + * The maximum number of concurrent tasks that Cloud Tasks allows to be + * dispatched for this queue. After this threshold has been reached, Cloud + * Tasks stops dispatching tasks until the number of concurrent requests + * decreases. If unspecified when the queue is created, Cloud Tasks will + * pick the default. The maximum allowed value is 5,000. This field is + * output only for pull queues and always -1, which indicates no limit. No + * other queue types can have `max_concurrent_tasks` set to -1. This field + * has the same meaning as [max_concurrent_requests in + * queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#max_concurrent_requests). + */ + maxConcurrentTasks?: number; + /** + * The maximum rate at which tasks are dispatched from this queue. If + * unspecified when the queue is created, Cloud Tasks will pick the default. + * * For App Engine queues, the maximum allowed value is 500. * This field + * is output only for pull queues. In addition to the + * `max_tasks_dispatched_per_second` limit, a maximum of 10 QPS of + * LeaseTasks requests are allowed per pull queue. This field has the same + * meaning as [rate in + * queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate). + */ + maxTasksDispatchedPerSecond?: number; + } + /** + * Request message for renewing a lease using RenewLease. + */ + interface Schema$RenewLeaseRequest { + /** + * Required. The desired new lease duration, starting from now. The + * maximum lease duration is 1 week. `lease_duration` will be truncated to + * the nearest second. + */ + leaseDuration?: string; + /** + * The response_view specifies which subset of the Task will be returned. By + * default response_view is BASIC; not all information is retrieved by + * default because some data, such as payloads, might be desirable to return + * only when needed because of its large size or because of the sensitivity + * of data that it contains. Authorization for FULL requires + * `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) + * permission on the Task resource. + */ + responseView?: string; + /** + * Required. The task's current schedule time, available in the + * schedule_time returned by LeaseTasks response or RenewLease response. + * This restriction is to ensure that your worker currently holds the lease. + */ + scheduleTime?: string; + } + /** + * Request message for ResumeQueue. + */ + interface Schema$ResumeQueueRequest { + } + /** + * Retry config. These settings determine how a failed task attempt is + * retried. + */ + interface Schema$RetryConfig { + /** + * The maximum number of attempts for a task. Cloud Tasks will attempt the + * task `max_attempts` times (that is, if the first attempt fails, then + * there will be `max_attempts - 1` retries). Must be > 0. + */ + maxAttempts?: number; + /** + * A task will be scheduled for retry between min_backoff and max_backoff + * duration after it fails, if the queue's RetryConfig specifies that + * the task should be retried. If unspecified when the queue is created, + * Cloud Tasks will pick the default. This field is output only for pull + * queues. `max_backoff` will be truncated to the nearest second. This + * field has the same meaning as [max_backoff_seconds in + * queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + */ + maxBackoff?: string; + /** + * The time between retries will double `max_doublings` times. A task's + * retry interval starts at min_backoff, then doubles `max_doublings` times, + * then increases linearly, and finally retries retries at intervals of + * max_backoff up to max_attempts times. For example, if min_backoff is + * 10s, max_backoff is 300s, and `max_doublings` is 3, then the a task will + * first be retried in 10s. The retry interval will double three times, and + * then increase linearly by 2^3 * 10s. Finally, the task will retry at + * intervals of max_backoff until the task has been attempted max_attempts + * times. Thus, the requests will retry at 10s, 20s, 40s, 80s, 160s, 240s, + * 300s, 300s, .... If unspecified when the queue is created, Cloud Tasks + * will pick the default. This field is output only for pull queues. This + * field has the same meaning as [max_doublings in + * queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + */ + maxDoublings?: number; + /** + * If positive, `max_retry_duration` specifies the time limit for retrying a + * failed task, measured from when the task was first attempted. Once + * `max_retry_duration` time has passed *and* the task has been attempted + * max_attempts times, no further attempts will be made and the task will be + * deleted. If zero, then the task age is unlimited. If unspecified when + * the queue is created, Cloud Tasks will pick the default. This field is + * output only for pull queues. `max_retry_duration` will be truncated to + * the nearest second. This field has the same meaning as [task_age_limit + * in + * queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + */ + maxRetryDuration?: string; + /** + * A task will be scheduled for retry between min_backoff and max_backoff + * duration after it fails, if the queue's RetryConfig specifies that + * the task should be retried. If unspecified when the queue is created, + * Cloud Tasks will pick the default. This field is output only for pull + * queues. `min_backoff` will be truncated to the nearest second. This + * field has the same meaning as [min_backoff_seconds in + * queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + */ + minBackoff?: string; + /** + * If true, then the number of attempts is unlimited. + */ + unlimitedAttempts?: boolean; + } + /** + * Request message for forcing a task to run now using RunTask. + */ + interface Schema$RunTaskRequest { + /** + * The response_view specifies which subset of the Task will be returned. By + * default response_view is BASIC; not all information is retrieved by + * default because some data, such as payloads, might be desirable to return + * only when needed because of its large size or because of the sensitivity + * of data that it contains. Authorization for FULL requires + * `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) + * permission on the Task resource. + */ + responseView?: string; + } + /** + * Request message for `SetIamPolicy` method. + */ + interface Schema$SetIamPolicyRequest { + /** + * REQUIRED: The complete policy to be applied to the `resource`. The size + * of the policy is limited to a few 10s of KB. An empty policy is a valid + * policy but certain Cloud Platform services (such as Projects) might + * reject them. + */ + policy?: Schema$Policy; + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + /** + * A unit of scheduled work. + */ + interface Schema$Task { + /** + * App Engine HTTP request that is sent to the task's target. Can be set + * only if app_engine_http_target is set on the queue. An App Engine task + * is a task that has AppEngineHttpRequest set. + */ + appEngineHttpRequest?: Schema$AppEngineHttpRequest; + /** + * Output only. The time that the task was created. `create_time` will be + * truncated to the nearest second. + */ + createTime?: string; + /** + * Optionally caller-specified in CreateTask. The task name. The task name + * must have the following format: + * `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID` + * * `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]), hyphens + * (-), colons (:), or periods (.). For more information, see + * [Identifying + * projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects) + * * `LOCATION_ID` is the canonical ID for the task's location. The + * list of available locations can be obtained by calling ListLocations. + * For more information, see https://cloud.google.com/about/locations/. * + * `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or hyphens + * (-). The maximum length is 100 characters. * `TASK_ID` can contain only + * letters ([A-Za-z]), numbers ([0-9]), hyphens (-), or underscores (_). + * The maximum length is 500 characters. + */ + name?: string; + /** + * LeaseTasks to process the task. Can be set only if pull_target is set on + * the queue. A pull task is a task that has PullMessage set. + */ + pullMessage?: Schema$PullMessage; + /** + * The time when the task is scheduled to be attempted. For App Engine + * queues, this is when the task will be attempted or retried. For pull + * queues, this is the time when the task is available to be leased; if a + * task is currently leased, this is the time when the current lease + * expires, that is, the time that the task was leased plus the + * lease_duration. `schedule_time` will be truncated to the nearest + * microsecond. + */ + scheduleTime?: string; + /** + * Output only. The task status. + */ + status?: Schema$TaskStatus; + /** + * Output only. The view specifies which subset of the Task has been + * returned. + */ + view?: string; + } + /** + * Status of the task. + */ + interface Schema$TaskStatus { + /** + * Output only. The number of attempts dispatched. This count includes + * tasks which have been dispatched but haven't received a response. + */ + attemptDispatchCount?: number; + /** + * Output only. The number of attempts which have received a response. This + * field is not calculated for pull tasks. + */ + attemptResponseCount?: number; + /** + * Output only. The status of the task's first attempt. Only + * dispatch_time will be set. The other AttemptStatus information is not + * retained by Cloud Tasks. This field is not calculated for pull tasks. + */ + firstAttemptStatus?: Schema$AttemptStatus; + /** + * Output only. The status of the task's last attempt. This field is + * not calculated for pull tasks. + */ + lastAttemptStatus?: Schema$AttemptStatus; + } + /** + * Request message for `TestIamPermissions` method. + */ + interface Schema$TestIamPermissionsRequest { + /** + * The set of permissions to check for the `resource`. Permissions with + * wildcards (such as '*' or 'storage.*') are not allowed. + * For more information see [IAM + * Overview](https://cloud.google.com/iam/docs/overview#permissions). + */ + permissions?: string[]; + } + /** + * Response message for `TestIamPermissions` method. + */ + interface Schema$TestIamPermissionsResponse { + /** + * A subset of `TestPermissionsRequest.permissions` that the caller is + * allowed. + */ + permissions?: string[]; + } + class Resource$Projects { + root: Cloudtasks; + locations: Resource$Projects$Locations; + constructor(root: Cloudtasks); + getRoot(): Cloudtasks; + } + class Resource$Projects$Locations { + root: Cloudtasks; + queues: Resource$Projects$Locations$Queues; + constructor(root: Cloudtasks); + getRoot(): Cloudtasks; + /** + * cloudtasks.projects.locations.get + * @desc Gets information about a location. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Tasks API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudtasks + * // 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 cloudTasks = google.cloudtasks('v2beta2'); + * + * authorize(function(authClient) { + * var request = { + * // Resource name for the location. + * name: 'projects/my-project/locations/my-location', // TODO: Update + * placeholder value. + * + * auth: authClient, + * }; + * + * cloudTasks.projects.locations.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 cloudtasks.projects.locations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Resource name for the location. + * @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?: Params$Resource$Projects$Locations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Locations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Locations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * cloudtasks.projects.locations.list + * @desc Lists information about the supported locations for this service. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Tasks API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudtasks + * // 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 cloudTasks = google.cloudtasks('v2beta2'); + * + * authorize(function(authClient) { + * var request = { + * // The resource that owns the locations collection, if applicable. + * name: 'projects/my-project', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var locationsPage = response['locations']; + * if (!locationsPage) { + * return; + * } + * for (var i = 0; i < locationsPage.length; i++) { + * // TODO: Change code below to process each resource in + * `locationsPage`: console.log(JSON.stringify(locationsPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * cloudTasks.projects.locations.list(request, handlePage); + * } + * }; + * + * cloudTasks.projects.locations.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 cloudtasks.projects.locations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter The standard list filter. + * @param {string} params.name The resource that owns the locations collection, if applicable. + * @param {integer=} params.pageSize The standard list page size. + * @param {string=} params.pageToken The standard list page token. + * @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?: Params$Resource$Projects$Locations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Resource name for the location. + */ + name?: string; + } + interface Params$Resource$Projects$Locations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The standard list filter. + */ + filter?: string; + /** + * The resource that owns the locations collection, if applicable. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } + class Resource$Projects$Locations$Queues { + root: Cloudtasks; + tasks: Resource$Projects$Locations$Queues$Tasks; + constructor(root: Cloudtasks); + getRoot(): Cloudtasks; + /** + * cloudtasks.projects.locations.queues.create + * @desc Creates a queue. Queues created with this method allow tasks to + * live for a maximum of 31 days. After a task is 31 days old, the task will + * be deleted regardless of whether it was dispatched or not. WARNING: + * Using this method may have unintended side effects if you are using an + * App Engine `queue.yaml` or `queue.xml` file to manage your queues. Read + * [Overview of Queue Management and + * queue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before using + * this method. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Tasks API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudtasks + * // 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 cloudTasks = google.cloudtasks('v2beta2'); + * + * authorize(function(authClient) { + * var request = { + * // Required. + * // The location name in which the queue will be created. + * // For example: `projects/PROJECT_ID/locations/LOCATION_ID` + * // The list of allowed locations can be obtained by calling Cloud + * // Tasks' implementation of + * // google.cloud.location.Locations.ListLocations. + * parent: 'projects/my-project/locations/my-location', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * cloudTasks.projects.locations.queues.create(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 cloudtasks.projects.locations.queues.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The location name in which the queue will be created. For example: `projects/PROJECT_ID/locations/LOCATION_ID` The list of allowed locations can be obtained by calling Cloud Tasks' implementation of ListLocations. + * @param {().Queue} 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 + */ + create(params?: Params$Resource$Projects$Locations$Queues$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Locations$Queues$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Locations$Queues$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * cloudtasks.projects.locations.queues.delete + * @desc Deletes a queue. This command will delete the queue even if it has + * tasks in it. Note: If you delete a queue, a queue with the same name + * can't be created for 7 days. WARNING: Using this method may have + * unintended side effects if you are using an App Engine `queue.yaml` or + * `queue.xml` file to manage your queues. Read [Overview of Queue + * Management and + * queue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before using + * this method. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Tasks API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudtasks + * // 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 cloudTasks = google.cloudtasks('v2beta2'); + * + * authorize(function(authClient) { + * var request = { + * // Required. + * // The queue name. For example: + * // `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` + * name: 'projects/my-project/locations/my-location/queues/my-queue', // + * TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * cloudTasks.projects.locations.queues.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 cloudtasks.projects.locations.queues.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The queue name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` + * @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?: Params$Resource$Projects$Locations$Queues$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Locations$Queues$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Locations$Queues$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * cloudtasks.projects.locations.queues.get + * @desc Gets a queue. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Tasks API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudtasks + * // 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 cloudTasks = google.cloudtasks('v2beta2'); + * + * authorize(function(authClient) { + * var request = { + * // Required. + * // The resource name of the queue. For example: + * // `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` + * name: 'projects/my-project/locations/my-location/queues/my-queue', // + * TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * cloudTasks.projects.locations.queues.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 cloudtasks.projects.locations.queues.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The resource name of the queue. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` + * @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?: Params$Resource$Projects$Locations$Queues$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Locations$Queues$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Locations$Queues$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * cloudtasks.projects.locations.queues.getIamPolicy + * @desc Gets the access control policy for a Queue. Returns an empty policy + * if the resource exists and does not have a policy set. Authorization + * requires the following [Google IAM](https://cloud.google.com/iam) + * permission on the specified resource parent: * + * `cloudtasks.queues.getIamPolicy` + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Tasks API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudtasks + * // 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 cloudTasks = google.cloudtasks('v2beta2'); + * + * authorize(function(authClient) { + * var request = { + * // REQUIRED: The resource for which the policy is being requested. + * // See the operation documentation for the appropriate value for this + * field. resource_: + * 'projects/my-project/locations/my-location/queues/my-queue', // TODO: + * Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * cloudTasks.projects.locations.queues.getIamPolicy(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 cloudtasks.projects.locations.queues.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. + * @param {().GetIamPolicyRequest} 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 + */ + getIamPolicy(params?: Params$Resource$Projects$Locations$Queues$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Projects$Locations$Queues$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Projects$Locations$Queues$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * cloudtasks.projects.locations.queues.list + * @desc Lists queues. Queues are returned in lexicographical order. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Tasks API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudtasks + * // 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 cloudTasks = google.cloudtasks('v2beta2'); + * + * authorize(function(authClient) { + * var request = { + * // Required. + * // The location name. + * // For example: `projects/PROJECT_ID/locations/LOCATION_ID` + * parent: 'projects/my-project/locations/my-location', // TODO: Update + * placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var queuesPage = response['queues']; + * if (!queuesPage) { + * return; + * } + * for (var i = 0; i < queuesPage.length; i++) { + * // TODO: Change code below to process each resource in + * `queuesPage`: console.log(JSON.stringify(queuesPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * cloudTasks.projects.locations.queues.list(request, handlePage); + * } + * }; + * + * cloudTasks.projects.locations.queues.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 cloudtasks.projects.locations.queues.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter `filter` can be used to specify a subset of queues. Any Queue field can be used as a filter and several operators as supported. For example: `<=, <, >=, >, !=, =, :`. The filter syntax is the same as described in [Stackdriver's Advanced Logs Filters](https://cloud.google.com/logging/docs/view/advanced_filters). Sample filter "app_engine_http_target: *". Note that using filters might cause fewer queues than the requested_page size to be returned. + * @param {integer=} params.pageSize Requested page size. The maximum page size is 9800. If unspecified, the page size will be the maximum. Fewer queues than requested might be returned, even if more queues exist; use the next_page_token in the response to determine if more queues exist. + * @param {string=} params.pageToken A token identifying the page of results to return. To request the first page results, page_token must be empty. To request the next page of results, page_token must be the value of next_page_token returned from the previous call to ListQueues method. It is an error to switch the value of the filter while iterating through pages. + * @param {string} params.parent Required. The location name. For example: `projects/PROJECT_ID/locations/LOCATION_ID` + * @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?: Params$Resource$Projects$Locations$Queues$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$Queues$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$Queues$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * cloudtasks.projects.locations.queues.patch + * @desc Updates a queue. This method creates the queue if it does not + * exist and updates the queue if it does exist. Queues created with this + * method allow tasks to live for a maximum of 31 days. After a task is 31 + * days old, the task will be deleted regardless of whether it was + * dispatched or not. WARNING: Using this method may have unintended side + * effects if you are using an App Engine `queue.yaml` or `queue.xml` file + * to manage your queues. Read [Overview of Queue Management and + * queue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before using + * this method. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Tasks API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudtasks + * // 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 cloudTasks = google.cloudtasks('v2beta2'); + * + * authorize(function(authClient) { + * var request = { + * // The queue name. + * // The queue name must have the following format: + * // `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` + * // * `PROJECT_ID` can contain uppercase and lowercase letters, + * // numbers, hyphens, colons, and periods; that is, it must match + * // the regular expression: `[a-zA-Z\\d-:\\.]+`. + * // * `QUEUE_ID` can contain uppercase and lowercase letters, + * // numbers, and hyphens; that is, it must match the regular + * // expression: `[a-zA-Z\\d-]+`. The maximum length is 100 + * // characters. + * // Caller-specified and required in CreateQueueRequest, after which + * // it becomes output only. + * name: 'projects/my-project/locations/my-location/queues/my-queue', // + * TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * cloudTasks.projects.locations.queues.patch(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 cloudtasks.projects.locations.queues.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Caller-specified and required in CreateQueue, after which it becomes output only. The queue name. The queue name must have the following format: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` * `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]), hyphens (-), colons (:), or periods (.). For more information, see [Identifying projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects) * `LOCATION_ID` is the canonical ID for the queue's location. The list of available locations can be obtained by calling ListLocations. For more information, see https://cloud.google.com/about/locations/. * `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or hyphens (-). The maximum length is 100 characters. + * @param {string=} params.updateMask A mask used to specify which fields of the queue are being updated. If empty, then all fields will be updated. + * @param {().Queue} 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 + */ + patch(params?: Params$Resource$Projects$Locations$Queues$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Locations$Queues$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Locations$Queues$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * cloudtasks.projects.locations.queues.pause + * @desc Pauses the queue. If a queue is paused then the system will stop + * dispatching tasks until the queue is resumed via ResumeQueue. Tasks can + * still be added when the queue is paused. A queue is paused if its state + * is PAUSED. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Tasks API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudtasks + * // 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 cloudTasks = google.cloudtasks('v2beta2'); + * + * authorize(function(authClient) { + * var request = { + * // Required. + * // The queue name. For example: + * // `projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID` + * name: 'projects/my-project/locations/my-location/queues/my-queue', // + * TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * cloudTasks.projects.locations.queues.pause(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 cloudtasks.projects.locations.queues.pause + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The queue name. For example: `projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID` + * @param {().PauseQueueRequest} 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 + */ + pause(params?: Params$Resource$Projects$Locations$Queues$Pause, options?: MethodOptions): AxiosPromise; + pause(params: Params$Resource$Projects$Locations$Queues$Pause, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + pause(params: Params$Resource$Projects$Locations$Queues$Pause, callback: BodyResponseCallback): void; + pause(callback: BodyResponseCallback): void; + /** + * cloudtasks.projects.locations.queues.purge + * @desc Purges a queue by deleting all of its tasks. All tasks created + * before this method is called are permanently deleted. Purge operations + * can take up to one minute to take effect. Tasks might be dispatched + * before the purge takes effect. A purge is irreversible. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Tasks API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudtasks + * // 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 cloudTasks = google.cloudtasks('v2beta2'); + * + * authorize(function(authClient) { + * var request = { + * // Required. + * // The queue name. For example: + * // `projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID` + * name: 'projects/my-project/locations/my-location/queues/my-queue', // + * TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * cloudTasks.projects.locations.queues.purge(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 cloudtasks.projects.locations.queues.purge + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The queue name. For example: `projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID` + * @param {().PurgeQueueRequest} 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 + */ + purge(params?: Params$Resource$Projects$Locations$Queues$Purge, options?: MethodOptions): AxiosPromise; + purge(params: Params$Resource$Projects$Locations$Queues$Purge, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + purge(params: Params$Resource$Projects$Locations$Queues$Purge, callback: BodyResponseCallback): void; + purge(callback: BodyResponseCallback): void; + /** + * cloudtasks.projects.locations.queues.resume + * @desc Resume a queue. This method resumes a queue after it has been + * PAUSED or DISABLED. The state of a queue is stored in the queue's state; + * after calling this method it will be set to RUNNING. WARNING: Resuming + * many high-QPS queues at the same time can lead to target overloading. If + * you are resuming high-QPS queues, follow the 500/50/5 pattern described + * in [Managing Cloud Tasks Scaling + * Risks](https://cloud.google.com/tasks/docs/manage-cloud-task-scaling). + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Tasks API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudtasks + * // 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 cloudTasks = google.cloudtasks('v2beta2'); + * + * authorize(function(authClient) { + * var request = { + * // Required. + * // The queue name. For example: + * // `projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID` + * name: 'projects/my-project/locations/my-location/queues/my-queue', // + * TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * cloudTasks.projects.locations.queues.resume(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 cloudtasks.projects.locations.queues.resume + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The queue name. For example: `projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID` + * @param {().ResumeQueueRequest} 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 + */ + resume(params?: Params$Resource$Projects$Locations$Queues$Resume, options?: MethodOptions): AxiosPromise; + resume(params: Params$Resource$Projects$Locations$Queues$Resume, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + resume(params: Params$Resource$Projects$Locations$Queues$Resume, callback: BodyResponseCallback): void; + resume(callback: BodyResponseCallback): void; + /** + * cloudtasks.projects.locations.queues.setIamPolicy + * @desc Sets the access control policy for a Queue. Replaces any existing + * policy. Note: The Cloud Console does not check queue-level IAM + * permissions yet. Project-level permissions are required to use the Cloud + * Console. Authorization requires the following [Google + * IAM](https://cloud.google.com/iam) permission on the specified resource + * parent: * `cloudtasks.queues.setIamPolicy` + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Tasks API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudtasks + * // 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 cloudTasks = google.cloudtasks('v2beta2'); + * + * authorize(function(authClient) { + * var request = { + * // REQUIRED: The resource for which the policy is being specified. + * // See the operation documentation for the appropriate value for this + * field. resource_: + * 'projects/my-project/locations/my-location/queues/my-queue', // TODO: + * Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * cloudTasks.projects.locations.queues.setIamPolicy(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 cloudtasks.projects.locations.queues.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. + * @param {().SetIamPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Projects$Locations$Queues$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Projects$Locations$Queues$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Projects$Locations$Queues$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * cloudtasks.projects.locations.queues.testIamPermissions + * @desc Returns permissions that a caller has on a Queue. If the resource + * does not exist, this will return an empty set of permissions, not a + * NOT_FOUND error. Note: This operation is designed to be used for + * building permission-aware UIs and command-line tools, not for + * authorization checking. This operation may "fail open" without warning. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Tasks API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudtasks + * // 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 cloudTasks = google.cloudtasks('v2beta2'); + * + * authorize(function(authClient) { + * var request = { + * // REQUIRED: The resource for which the policy detail is being + * requested. + * // See the operation documentation for the appropriate value for this + * field. resource_: + * 'projects/my-project/locations/my-location/queues/my-queue', // TODO: + * Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * cloudTasks.projects.locations.queues.testIamPermissions(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 cloudtasks.projects.locations.queues.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. + * @param {().TestIamPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Projects$Locations$Queues$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Projects$Locations$Queues$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Projects$Locations$Queues$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Queues$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The location name in which the queue will be created. For + * example: `projects/PROJECT_ID/locations/LOCATION_ID` The list of allowed + * locations can be obtained by calling Cloud Tasks' implementation of + * ListLocations. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Queue; + } + interface Params$Resource$Projects$Locations$Queues$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The queue name. For example: + * `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Queues$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of the queue. For example: + * `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Queues$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being requested. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GetIamPolicyRequest; + } + interface Params$Resource$Projects$Locations$Queues$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * `filter` can be used to specify a subset of queues. Any Queue field can + * be used as a filter and several operators as supported. For example: `<=, + * <, >=, >, !=, =, :`. The filter syntax is the same as described in + * [Stackdriver's Advanced Logs + * Filters](https://cloud.google.com/logging/docs/view/advanced_filters). + * Sample filter "app_engine_http_target: *". Note that using filters might + * cause fewer queues than the requested_page size to be returned. + */ + filter?: string; + /** + * Requested page size. The maximum page size is 9800. If unspecified, the + * page size will be the maximum. Fewer queues than requested might be + * returned, even if more queues exist; use the next_page_token in the + * response to determine if more queues exist. + */ + pageSize?: number; + /** + * A token identifying the page of results to return. To request the first + * page results, page_token must be empty. To request the next page of + * results, page_token must be the value of next_page_token returned from + * the previous call to ListQueues method. It is an error to switch the + * value of the filter while iterating through pages. + */ + pageToken?: string; + /** + * Required. The location name. For example: + * `projects/PROJECT_ID/locations/LOCATION_ID` + */ + parent?: string; + } + interface Params$Resource$Projects$Locations$Queues$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Caller-specified and required in CreateQueue, after which it becomes + * output only. The queue name. The queue name must have the following + * format: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` * + * `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]), hyphens + * (-), colons (:), or periods (.). For more information, see + * [Identifying + * projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects) + * * `LOCATION_ID` is the canonical ID for the queue's location. The list + * of available locations can be obtained by calling ListLocations. For + * more information, see https://cloud.google.com/about/locations/. * + * `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or hyphens + * (-). The maximum length is 100 characters. + */ + name?: string; + /** + * A mask used to specify which fields of the queue are being updated. If + * empty, then all fields will be updated. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Queue; + } + interface Params$Resource$Projects$Locations$Queues$Pause { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The queue name. For example: + * `projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID` + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$PauseQueueRequest; + } + interface Params$Resource$Projects$Locations$Queues$Purge { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The queue name. For example: + * `projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID` + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$PurgeQueueRequest; + } + interface Params$Resource$Projects$Locations$Queues$Resume { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The queue name. For example: + * `projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID` + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ResumeQueueRequest; + } + interface Params$Resource$Projects$Locations$Queues$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being specified. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetIamPolicyRequest; + } + interface Params$Resource$Projects$Locations$Queues$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestIamPermissionsRequest; + } + class Resource$Projects$Locations$Queues$Tasks { + root: Cloudtasks; + constructor(root: Cloudtasks); + getRoot(): Cloudtasks; + /** + * cloudtasks.projects.locations.queues.tasks.acknowledge + * @desc Acknowledges a pull task. The worker, that is, the entity that + * leased this task must call this method to indicate that the work + * associated with the task has finished. The worker must acknowledge a + * task within the lease_duration or the lease will expire and the task will + * become available to be leased again. After the task is acknowledged, it + * will not be returned by a later LeaseTasks, GetTask, or ListTasks. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Tasks API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudtasks + * // 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 cloudTasks = google.cloudtasks('v2beta2'); + * + * authorize(function(authClient) { + * var request = { + * // Required. + * // The task name. For example: + * // + * `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID` + * name: + * 'projects/my-project/locations/my-location/queues/my-queue/tasks/my-task', + * // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * cloudTasks.projects.locations.queues.tasks.acknowledge(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 cloudtasks.projects.locations.queues.tasks.acknowledge + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The task name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID` + * @param {().AcknowledgeTaskRequest} 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 + */ + acknowledge(params?: Params$Resource$Projects$Locations$Queues$Tasks$Acknowledge, options?: MethodOptions): AxiosPromise; + acknowledge(params: Params$Resource$Projects$Locations$Queues$Tasks$Acknowledge, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + acknowledge(params: Params$Resource$Projects$Locations$Queues$Tasks$Acknowledge, callback: BodyResponseCallback): void; + acknowledge(callback: BodyResponseCallback): void; + /** + * cloudtasks.projects.locations.queues.tasks.cancelLease + * @desc Cancel a pull task's lease. The worker can use this method to + * cancel a task's lease by setting its schedule_time to now. This will make + * the task available to be leased to the next caller of LeaseTasks. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Tasks API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudtasks + * // 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 cloudTasks = google.cloudtasks('v2beta2'); + * + * authorize(function(authClient) { + * var request = { + * // Required. + * // The task name. For example: + * // + * `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID` + * name: + * 'projects/my-project/locations/my-location/queues/my-queue/tasks/my-task', + * // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * cloudTasks.projects.locations.queues.tasks.cancelLease(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 cloudtasks.projects.locations.queues.tasks.cancelLease + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The task name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID` + * @param {().CancelLeaseRequest} 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 + */ + cancelLease(params?: Params$Resource$Projects$Locations$Queues$Tasks$Cancellease, options?: MethodOptions): AxiosPromise; + cancelLease(params: Params$Resource$Projects$Locations$Queues$Tasks$Cancellease, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + cancelLease(params: Params$Resource$Projects$Locations$Queues$Tasks$Cancellease, callback: BodyResponseCallback): void; + cancelLease(callback: BodyResponseCallback): void; + /** + * cloudtasks.projects.locations.queues.tasks.create + * @desc Creates a task and adds it to a queue. Tasks cannot be updated + * after creation; there is no UpdateTask command. * For App Engine queues, + * the maximum task size is 100KB. * For pull queues, the maximum task + * size is 1MB. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Tasks API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudtasks + * // 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 cloudTasks = google.cloudtasks('v2beta2'); + * + * authorize(function(authClient) { + * var request = { + * // Required. + * // The queue name. For example: + * // `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` + * // The queue must already exist. + * parent: 'projects/my-project/locations/my-location/queues/my-queue', + * // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * cloudTasks.projects.locations.queues.tasks.create(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 cloudtasks.projects.locations.queues.tasks.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The queue name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` The queue must already exist. + * @param {().CreateTaskRequest} 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 + */ + create(params?: Params$Resource$Projects$Locations$Queues$Tasks$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Locations$Queues$Tasks$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Locations$Queues$Tasks$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * cloudtasks.projects.locations.queues.tasks.delete + * @desc Deletes a task. A task can be deleted if it is scheduled or + * dispatched. A task cannot be deleted if it has completed successfully or + * permanently failed. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Tasks API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudtasks + * // 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 cloudTasks = google.cloudtasks('v2beta2'); + * + * authorize(function(authClient) { + * var request = { + * // Required. + * // The task name. For example: + * // + * `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID` + * name: + * 'projects/my-project/locations/my-location/queues/my-queue/tasks/my-task', + * // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * cloudTasks.projects.locations.queues.tasks.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 cloudtasks.projects.locations.queues.tasks.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The task name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID` + * @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?: Params$Resource$Projects$Locations$Queues$Tasks$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Locations$Queues$Tasks$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Locations$Queues$Tasks$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * cloudtasks.projects.locations.queues.tasks.get + * @desc Gets a task. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Tasks API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudtasks + * // 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 cloudTasks = google.cloudtasks('v2beta2'); + * + * authorize(function(authClient) { + * var request = { + * // Required. + * // The task name. For example: + * // + * `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID` + * name: + * 'projects/my-project/locations/my-location/queues/my-queue/tasks/my-task', + * // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * cloudTasks.projects.locations.queues.tasks.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 cloudtasks.projects.locations.queues.tasks.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The task name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID` + * @param {string=} params.responseView The response_view specifies which subset of the Task will be returned. By default response_view is BASIC; not all information is retrieved by default because some data, such as payloads, might be desirable to return only when needed because of its large size or because of the sensitivity of data that it contains. Authorization for FULL requires `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) permission on the Task resource. + * @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?: Params$Resource$Projects$Locations$Queues$Tasks$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Locations$Queues$Tasks$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Locations$Queues$Tasks$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * cloudtasks.projects.locations.queues.tasks.lease + * @desc Leases tasks from a pull queue for lease_duration. This method is + * invoked by the worker to obtain a lease. The worker must acknowledge the + * task via AcknowledgeTask after they have performed the work associated + * with the task. The payload is intended to store data that the worker + * needs to perform the work associated with the task. To return the + * payloads in the response, set response_view to FULL. A maximum of 10 qps + * of LeaseTasks requests are allowed per queue. RESOURCE_EXHAUSTED is + * returned when this limit is exceeded. RESOURCE_EXHAUSTED is also returned + * when max_tasks_dispatched_per_second is exceeded. + * @alias cloudtasks.projects.locations.queues.tasks.lease + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The queue name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` + * @param {().LeaseTasksRequest} 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 + */ + lease(params?: Params$Resource$Projects$Locations$Queues$Tasks$Lease, options?: MethodOptions): AxiosPromise; + lease(params: Params$Resource$Projects$Locations$Queues$Tasks$Lease, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + lease(params: Params$Resource$Projects$Locations$Queues$Tasks$Lease, callback: BodyResponseCallback): void; + lease(callback: BodyResponseCallback): void; + /** + * cloudtasks.projects.locations.queues.tasks.list + * @desc Lists the tasks in a queue. By default, only the BASIC view is + * retrieved due to performance considerations; response_view controls the + * subset of information which is returned. The tasks may be returned in + * any order. The ordering may change at any time. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Tasks API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudtasks + * // 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 cloudTasks = google.cloudtasks('v2beta2'); + * + * authorize(function(authClient) { + * var request = { + * // Required. + * // The queue name. For example: + * // `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` + * parent: 'projects/my-project/locations/my-location/queues/my-queue', + * // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var tasksPage = response['tasks']; + * if (!tasksPage) { + * return; + * } + * for (var i = 0; i < tasksPage.length; i++) { + * // TODO: Change code below to process each resource in `tasksPage`: + * console.log(JSON.stringify(tasksPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * cloudTasks.projects.locations.queues.tasks.list(request, + * handlePage); + * } + * }; + * + * cloudTasks.projects.locations.queues.tasks.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 cloudtasks.projects.locations.queues.tasks.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Requested page size. Fewer tasks than requested might be returned. The maximum page size is 1000. If unspecified, the page size will be the maximum. Fewer tasks than requested might be returned, even if more tasks exist; use next_page_token in the response to determine if more tasks exist. + * @param {string=} params.pageToken A token identifying the page of results to return. To request the first page results, page_token must be empty. To request the next page of results, page_token must be the value of next_page_token returned from the previous call to ListTasks method. The page token is valid for only 2 hours. + * @param {string} params.parent Required. The queue name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` + * @param {string=} params.responseView The response_view specifies which subset of the Task will be returned. By default response_view is BASIC; not all information is retrieved by default because some data, such as payloads, might be desirable to return only when needed because of its large size or because of the sensitivity of data that it contains. Authorization for FULL requires `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) permission on the Task resource. + * @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?: Params$Resource$Projects$Locations$Queues$Tasks$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$Queues$Tasks$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$Queues$Tasks$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * cloudtasks.projects.locations.queues.tasks.renewLease + * @desc Renew the current lease of a pull task. The worker can use this + * method to extend the lease by a new duration, starting from now. The new + * task lease will be returned in the task's schedule_time. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Tasks API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudtasks + * // 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 cloudTasks = google.cloudtasks('v2beta2'); + * + * authorize(function(authClient) { + * var request = { + * // Required. + * // The task name. For example: + * // + * `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID` + * name: + * 'projects/my-project/locations/my-location/queues/my-queue/tasks/my-task', + * // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * cloudTasks.projects.locations.queues.tasks.renewLease(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 cloudtasks.projects.locations.queues.tasks.renewLease + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The task name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID` + * @param {().RenewLeaseRequest} 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 + */ + renewLease(params?: Params$Resource$Projects$Locations$Queues$Tasks$Renewlease, options?: MethodOptions): AxiosPromise; + renewLease(params: Params$Resource$Projects$Locations$Queues$Tasks$Renewlease, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + renewLease(params: Params$Resource$Projects$Locations$Queues$Tasks$Renewlease, callback: BodyResponseCallback): void; + renewLease(callback: BodyResponseCallback): void; + /** + * cloudtasks.projects.locations.queues.tasks.run + * @desc Forces a task to run now. When this method is called, Cloud Tasks + * will dispatch the task, even if the task is already running, the queue + * has reached its RateLimits or is PAUSED. This command is meant to be + * used for manual debugging. For example, RunTask can be used to retry a + * failed task after a fix has been made or to manually force a task to be + * dispatched now. The dispatched task is returned. That is, the task that + * is returned contains the status after the task is dispatched but before + * the task is received by its target. If Cloud Tasks receives a successful + * response from the task's target, then the task will be deleted; otherwise + * the task's schedule_time will be reset to the time that RunTask was + * called plus the retry delay specified in the queue's RetryConfig. RunTask + * returns NOT_FOUND when it is called on a task that has already succeeded + * or permanently failed. RunTask cannot be called on a pull task. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Tasks API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudtasks + * // 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 cloudTasks = google.cloudtasks('v2beta2'); + * + * authorize(function(authClient) { + * var request = { + * // Required. + * // The task name. For example: + * // + * `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID` + * name: + * 'projects/my-project/locations/my-location/queues/my-queue/tasks/my-task', + * // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * cloudTasks.projects.locations.queues.tasks.run(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 cloudtasks.projects.locations.queues.tasks.run + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The task name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID` + * @param {().RunTaskRequest} 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 + */ + run(params?: Params$Resource$Projects$Locations$Queues$Tasks$Run, options?: MethodOptions): AxiosPromise; + run(params: Params$Resource$Projects$Locations$Queues$Tasks$Run, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + run(params: Params$Resource$Projects$Locations$Queues$Tasks$Run, callback: BodyResponseCallback): void; + run(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Queues$Tasks$Acknowledge { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The task name. For example: + * `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID` + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AcknowledgeTaskRequest; + } + interface Params$Resource$Projects$Locations$Queues$Tasks$Cancellease { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The task name. For example: + * `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID` + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CancelLeaseRequest; + } + interface Params$Resource$Projects$Locations$Queues$Tasks$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The queue name. For example: + * `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` The queue + * must already exist. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreateTaskRequest; + } + interface Params$Resource$Projects$Locations$Queues$Tasks$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The task name. For example: + * `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID` + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Queues$Tasks$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The task name. For example: + * `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID` + */ + name?: string; + /** + * The response_view specifies which subset of the Task will be returned. By + * default response_view is BASIC; not all information is retrieved by + * default because some data, such as payloads, might be desirable to return + * only when needed because of its large size or because of the sensitivity + * of data that it contains. Authorization for FULL requires + * `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) + * permission on the Task resource. + */ + responseView?: string; + } + interface Params$Resource$Projects$Locations$Queues$Tasks$Lease { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The queue name. For example: + * `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$LeaseTasksRequest; + } + interface Params$Resource$Projects$Locations$Queues$Tasks$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Requested page size. Fewer tasks than requested might be returned. The + * maximum page size is 1000. If unspecified, the page size will be the + * maximum. Fewer tasks than requested might be returned, even if more tasks + * exist; use next_page_token in the response to determine if more tasks + * exist. + */ + pageSize?: number; + /** + * A token identifying the page of results to return. To request the first + * page results, page_token must be empty. To request the next page of + * results, page_token must be the value of next_page_token returned from + * the previous call to ListTasks method. The page token is valid for only + * 2 hours. + */ + pageToken?: string; + /** + * Required. The queue name. For example: + * `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` + */ + parent?: string; + /** + * The response_view specifies which subset of the Task will be returned. By + * default response_view is BASIC; not all information is retrieved by + * default because some data, such as payloads, might be desirable to return + * only when needed because of its large size or because of the sensitivity + * of data that it contains. Authorization for FULL requires + * `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) + * permission on the Task resource. + */ + responseView?: string; + } + interface Params$Resource$Projects$Locations$Queues$Tasks$Renewlease { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The task name. For example: + * `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID` + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RenewLeaseRequest; + } + interface Params$Resource$Projects$Locations$Queues$Tasks$Run { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The task name. For example: + * `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID` + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RunTaskRequest; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudtasks/v2beta2.js b/express-server/node_modules/googleapis/build/src/apis/cloudtasks/v2beta2.js new file mode 100644 index 00000000..17812e23 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudtasks/v2beta2.js @@ -0,0 +1,774 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var cloudtasks_v2beta2; +(function (cloudtasks_v2beta2) { + /** + * Cloud Tasks API + * + * Manages the execution of large numbers of distributed requests. + * + * @example + * const {google} = require('googleapis'); + * const cloudtasks = google.cloudtasks('v2beta2'); + * + * @namespace cloudtasks + * @type {Function} + * @version v2beta2 + * @variation v2beta2 + * @param {object=} options Options for Cloudtasks + */ + class Cloudtasks { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.projects = new Resource$Projects(this); + } + getRoot() { + return this.root; + } + } + cloudtasks_v2beta2.Cloudtasks = Cloudtasks; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.locations = new Resource$Projects$Locations(root); + } + getRoot() { + return this.root; + } + } + cloudtasks_v2beta2.Resource$Projects = Resource$Projects; + class Resource$Projects$Locations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.queues = new Resource$Projects$Locations$Queues(root); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudtasks.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudtasks.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta2/{+name}/locations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + cloudtasks_v2beta2.Resource$Projects$Locations = Resource$Projects$Locations; + class Resource$Projects$Locations$Queues { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.tasks = new Resource$Projects$Locations$Queues$Tasks(root); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudtasks.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta2/{+parent}/queues') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudtasks.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudtasks.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudtasks.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta2/{+resource}:getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudtasks.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta2/{+parent}/queues') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudtasks.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + pause(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudtasks.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta2/{+name}:pause') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + purge(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudtasks.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta2/{+name}:purge') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + resume(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudtasks.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta2/{+name}:resume') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudtasks.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta2/{+resource}:setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudtasks.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta2/{+resource}:testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + cloudtasks_v2beta2.Resource$Projects$Locations$Queues = Resource$Projects$Locations$Queues; + class Resource$Projects$Locations$Queues$Tasks { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + acknowledge(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudtasks.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta2/{+name}:acknowledge') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + cancelLease(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudtasks.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta2/{+name}:cancelLease') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudtasks.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta2/{+parent}/tasks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudtasks.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudtasks.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + lease(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudtasks.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta2/{+parent}/tasks:lease') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudtasks.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta2/{+parent}/tasks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + renewLease(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudtasks.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta2/{+name}:renewLease') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + run(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudtasks.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta2/{+name}:run') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + cloudtasks_v2beta2.Resource$Projects$Locations$Queues$Tasks = Resource$Projects$Locations$Queues$Tasks; +})(cloudtasks_v2beta2 = exports.cloudtasks_v2beta2 || (exports.cloudtasks_v2beta2 = {})); +//# sourceMappingURL=v2beta2.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudtasks/v2beta2.js.map b/express-server/node_modules/googleapis/build/src/apis/cloudtasks/v2beta2.js.map new file mode 100644 index 00000000..19853a05 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudtasks/v2beta2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v2beta2.js","sourceRoot":"","sources":["../../../../src/apis/cloudtasks/v2beta2.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudtasks/v2beta3.d.ts b/express-server/node_modules/googleapis/build/src/apis/cloudtasks/v2beta3.d.ts new file mode 100644 index 00000000..7d9236b3 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudtasks/v2beta3.d.ts @@ -0,0 +1,1553 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace cloudtasks_v2beta3 { + interface Options extends GlobalOptions { + version: 'v2beta3'; + } + /** + * Cloud Tasks API + * + * Manages the execution of large numbers of distributed requests. + * + * @example + * const {google} = require('googleapis'); + * const cloudtasks = google.cloudtasks('v2beta3'); + * + * @namespace cloudtasks + * @type {Function} + * @version v2beta3 + * @variation v2beta3 + * @param {object=} options Options for Cloudtasks + */ + class Cloudtasks { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + projects: Resource$Projects; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * App Engine HTTP queue. The task will be delivered to the App Engine + * application hostname specified by its AppEngineHttpQueue and + * AppEngineHttpRequest. The documentation for AppEngineHttpRequest explains + * how the task's host URL is constructed. Using AppEngineHttpQueue + * requires + * [`appengine.applications.get`](https://cloud.google.com/appengine/docs/admin-api/access-control) + * Google IAM permission for the project and the following scope: + * `https://www.googleapis.com/auth/cloud-platform` + */ + interface Schema$AppEngineHttpQueue { + /** + * Overrides for the task-level app_engine_routing. If set, + * `app_engine_routing_override` is used for all tasks in the queue, no + * matter what the setting is for the task-level app_engine_routing. + */ + appEngineRoutingOverride?: Schema$AppEngineRouting; + } + /** + * App Engine HTTP request. The message defines the HTTP request that is sent + * to an App Engine app when the task is dispatched. This proto can only be + * used for tasks in a queue which has app_engine_http_queue set. Using + * AppEngineHttpRequest requires + * [`appengine.applications.get`](https://cloud.google.com/appengine/docs/admin-api/access-control) + * Google IAM permission for the project and the following scope: + * `https://www.googleapis.com/auth/cloud-platform` The task will be + * delivered to the App Engine app which belongs to the same project as the + * queue. For more information, see [How Requests are + * Routed](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed) + * and how routing is affected by [dispatch + * files](https://cloud.google.com/appengine/docs/python/config/dispatchref). + * The AppEngineRouting used to construct the URL that the task is delivered + * to can be set at the queue-level or task-level: * If set, + * app_engine_routing_override is used for all tasks in the queue, no + * matter what the setting is for the task-level app_engine_routing. The + * `url` that the task will be sent to is: * `url =` host `+` relative_uri + * The task attempt has succeeded if the app's request handler returns an + * HTTP response code in the range [`200` - `299`]. `503` is considered an App + * Engine system error instead of an application error. Requests returning + * error `503` will be retried regardless of retry configuration and not + * counted against retry counts. Any other response code or a failure to + * receive a response before the deadline is a failed attempt. + */ + interface Schema$AppEngineHttpRequest { + /** + * Task-level setting for App Engine routing. If set, + * app_engine_routing_override is used for all tasks in the queue, no matter + * what the setting is for the task-level app_engine_routing. + */ + appEngineRouting?: Schema$AppEngineRouting; + /** + * HTTP request body. A request body is allowed only if the HTTP method is + * POST or PUT. It is an error to set a body on a task with an incompatible + * HttpMethod. + */ + body?: string; + /** + * HTTP request headers. This map contains the header field names and + * values. Headers can be set when the task is created. Repeated headers are + * not supported but a header value can contain commas. Cloud Tasks sets + * some headers to default values: * `User-Agent`: By default, this header + * is `"AppEngine-Google; (+http://code.google.com/appengine)"`. + * This header can be modified, but Cloud Tasks will append + * `"AppEngine-Google; (+http://code.google.com/appengine)"` to + * the modified `User-Agent`. If the task has a body, Cloud Tasks sets + * the following headers: * `Content-Type`: By default, the `Content-Type` + * header is set to `"application/octet-stream"`. The default + * can be overridden by explicitly setting `Content-Type` to a particular + * media type when the task is created. For example, `Content-Type` can + * be set to `"application/json"`. * `Content-Length`: This is + * computed by Cloud Tasks. This value is output only. It cannot be + * changed. The headers below cannot be set or overridden: * `Host` * + * `X-Google-*` * `X-AppEngine-*` In addition, Cloud Tasks sets some + * headers when the task is dispatched, such as headers containing + * information about the task; see [request + * headers](https://cloud.google.com/appengine/docs/python/taskqueue/push/creating-handlers#reading_request_headers). + * These headers are set only when the task is dispatched, so they are not + * visible when the task is returned in a Cloud Tasks response. Although + * there is no specific limit for the maximum number of headers or the size, + * there is a limit on the maximum size of the Task. For more information, + * see the CreateTask documentation. + */ + headers?: any; + /** + * The HTTP method to use for the request. The default is POST. The + * app's request handler for the task's target URL must be able to + * handle HTTP requests with this http_method, otherwise the task attempt + * will fail with error code 405 (Method Not Allowed). See [Writing a push + * task request + * handler](https://cloud.google.com/appengine/docs/java/taskqueue/push/creating-handlers#writing_a_push_task_request_handler) + * and the documentation for the request handlers in the language your app + * is written in e.g. [Python Request + * Handler](https://cloud.google.com/appengine/docs/python/tools/webapp/requesthandlerclass). + */ + httpMethod?: string; + /** + * The relative URI. The relative URI must begin with "/" and + * must be a valid HTTP relative URI. It can contain a path and query string + * arguments. If the relative URI is empty, then the root path "/" + * will be used. No spaces are allowed, and the maximum length allowed is + * 2083 characters. + */ + relativeUri?: string; + } + /** + * App Engine Routing. Specifies the target URI. Since this target type + * dispatches tasks to secure app handlers, unsecure app handlers, and URIs + * restricted with [`login: + * admin`](https://cloud.google.com/appengine/docs/standard/python/config/appref) + * the protocol (for example, HTTP or HTTPS) cannot be explictly specified. + * Task dispatches do not follow redirects and cannot target URI paths + * restricted with [`login: + * required`](https://cloud.google.com/appengine/docs/standard/python/config/appref) + * because tasks are not run as any user. For more information about + * services, versions, and instances see [An Overview of App + * Engine](https://cloud.google.com/appengine/docs/python/an-overview-of-app-engine), + * [Microservices Architecture on Google App + * Engine](https://cloud.google.com/appengine/docs/python/microservices-on-app-engine), + * [App Engine Standard request + * routing](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed), + * and [App Engine Flex request + * routing](https://cloud.google.com/appengine/docs/flexible/python/how-requests-are-routed). + */ + interface Schema$AppEngineRouting { + /** + * Output only. The host that the task is sent to. The host is constructed + * from the domain name of the app associated with the queue's project + * ID (for example <app-id>.appspot.com), and the service, version, + * and instance. Tasks which were created using the App Engine SDK might + * have a custom domain name. For more information, see [How Requests are + * Routed](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed). + */ + host?: string; + /** + * App instance. By default, the task is sent to an instance which is + * available when the task is attempted. Requests can only be sent to a + * specific instance if [manual scaling is used in App Engine + * Standard](https://cloud.google.com/appengine/docs/python/an-overview-of-app-engine?hl=en_US#scaling_types_and_instance_classes). + * App Engine Flex does not support instances. For more information, see + * [App Engine Standard request + * routing](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed) + * and [App Engine Flex request + * routing](https://cloud.google.com/appengine/docs/flexible/python/how-requests-are-routed). + */ + instance?: string; + /** + * App service. By default, the task is sent to the service which is the + * default service when the task is attempted. For some queues or tasks + * which were created using the App Engine Task Queue API, host is not + * parsable into service, version, and instance. For example, some tasks + * which were created using the App Engine SDK use a custom domain name; + * custom domains are not parsed by Cloud Tasks. If host is not parsable, + * then service, version, and instance are the empty string. + */ + service?: string; + /** + * App version. By default, the task is sent to the version which is the + * default version when the task is attempted. For some queues or tasks + * which were created using the App Engine Task Queue API, host is not + * parsable into service, version, and instance. For example, some tasks + * which were created using the App Engine SDK use a custom domain name; + * custom domains are not parsed by Cloud Tasks. If host is not parsable, + * then service, version, and instance are the empty string. + */ + version?: string; + } + /** + * The status of a task attempt. + */ + interface Schema$Attempt { + /** + * Output only. The time that this attempt was dispatched. `dispatch_time` + * will be truncated to the nearest microsecond. + */ + dispatchTime?: string; + /** + * Output only. The response from the target for this attempt. If + * `response_time` is unset, then the task has not been attempted or is + * currently running and the `response_status` field is meaningless. + */ + responseStatus?: Schema$Status; + /** + * Output only. The time that this attempt response was received. + * `response_time` will be truncated to the nearest microsecond. + */ + responseTime?: string; + /** + * Output only. The time that this attempt was scheduled. `schedule_time` + * will be truncated to the nearest microsecond. + */ + scheduleTime?: string; + } + /** + * Associates `members` with a `role`. + */ + interface Schema$Binding { + /** + * Unimplemented. The condition that is associated with this binding. NOTE: + * an unsatisfied condition will not allow user access via current binding. + * Different bindings, including their conditions, are examined + * independently. + */ + condition?: Schema$Expr; + /** + * Specifies the identities requesting access for a Cloud Platform resource. + * `members` can have the following values: * `allUsers`: A special + * identifier that represents anyone who is on the internet; with or + * without a Google account. * `allAuthenticatedUsers`: A special + * identifier that represents anyone who is authenticated with a Google + * account or a service account. * `user:{emailid}`: An email address that + * represents a specific Google account. For example, `alice@gmail.com` . + * * `serviceAccount:{emailid}`: An email address that represents a service + * account. For example, `my-other-app@appspot.gserviceaccount.com`. * + * `group:{emailid}`: An email address that represents a Google group. For + * example, `admins@example.com`. * `domain:{domain}`: A Google Apps + * domain name that represents all the users of that domain. For example, + * `google.com` or `example.com`. + */ + members?: string[]; + /** + * Role that is assigned to `members`. For example, `roles/viewer`, + * `roles/editor`, or `roles/owner`. + */ + role?: string; + } + /** + * Request message for CreateTask. + */ + interface Schema$CreateTaskRequest { + /** + * The response_view specifies which subset of the Task will be returned. By + * default response_view is BASIC; not all information is retrieved by + * default because some data, such as payloads, might be desirable to return + * only when needed because of its large size or because of the sensitivity + * of data that it contains. Authorization for FULL requires + * `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) + * permission on the Task resource. + */ + responseView?: string; + /** + * Required. The task to add. Task names have the following format: + * `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`. + * The user can optionally specify a task name. If a name is not specified + * then the system will generate a random unique task id, which will be set + * in the task returned in the response. If schedule_time is not set or is + * in the past then Cloud Tasks will set it to the current time. Task + * De-duplication: Explicitly specifying a task ID enables task + * de-duplication. If a task's ID is identical to that of an existing + * task or a task that was deleted or executed recently then the call will + * fail with ALREADY_EXISTS. If the task's queue was created using Cloud + * Tasks, then another task with the same name can't be created for + * ~1hour after the original task was deleted or executed. If the task's + * queue was created using queue.yaml or queue.xml, then another task with + * the same name can't be created for ~9days after the original task was + * deleted or executed. Because there is an extra lookup cost to identify + * duplicate task names, these CreateTask calls have significantly increased + * latency. Using hashed strings for the task id or for the prefix of the + * task id is recommended. Choosing task ids that are sequential or have + * sequential prefixes, for example using a timestamp, causes an increase in + * latency and error rates in all task commands. The infrastructure relies + * on an approximately uniform distribution of task ids to store and serve + * tasks efficiently. + */ + task?: Schema$Task; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * Represents an expression text. Example: title: "User account + * presence" description: "Determines whether the request has a + * user account" expression: "size(request.user) > 0" + */ + interface Schema$Expr { + /** + * An optional description of the expression. This is a longer text which + * describes the expression, e.g. when hovered over it in a UI. + */ + description?: string; + /** + * Textual representation of an expression in Common Expression Language + * syntax. The application context of the containing message determines + * which well-known feature set of CEL is supported. + */ + expression?: string; + /** + * An optional string indicating the location of the expression for error + * reporting, e.g. a file name and a position in the file. + */ + location?: string; + /** + * An optional title for the expression, i.e. a short string describing its + * purpose. This can be used e.g. in UIs which allow to enter the + * expression. + */ + title?: string; + } + /** + * Request message for `GetIamPolicy` method. + */ + interface Schema$GetIamPolicyRequest { + } + /** + * The response message for Locations.ListLocations. + */ + interface Schema$ListLocationsResponse { + /** + * A list of locations that matches the specified filter in the request. + */ + locations?: Schema$Location[]; + /** + * The standard List next-page token. + */ + nextPageToken?: string; + } + /** + * Response message for ListQueues. + */ + interface Schema$ListQueuesResponse { + /** + * A token to retrieve next page of results. To return the next page of + * results, call ListQueues with this value as the page_token. If the + * next_page_token is empty, there are no more results. The page token is + * valid for only 2 hours. + */ + nextPageToken?: string; + /** + * The list of queues. + */ + queues?: Schema$Queue[]; + } + /** + * Response message for listing tasks using ListTasks. + */ + interface Schema$ListTasksResponse { + /** + * A token to retrieve next page of results. To return the next page of + * results, call ListTasks with this value as the page_token. If the + * next_page_token is empty, there are no more results. + */ + nextPageToken?: string; + /** + * The list of tasks. + */ + tasks?: Schema$Task[]; + } + /** + * A resource that represents Google Cloud Platform location. + */ + interface Schema$Location { + /** + * The friendly name for this location, typically a nearby city name. For + * example, "Tokyo". + */ + displayName?: string; + /** + * Cross-service attributes for the location. For example + * {"cloud.googleapis.com/region": "us-east1"} + */ + labels?: any; + /** + * The canonical id for this location. For example: `"us-east1"`. + */ + locationId?: string; + /** + * Service-specific metadata. For example the available capacity at the + * given location. + */ + metadata?: any; + /** + * Resource name for the location, which may vary between implementations. + * For example: `"projects/example-project/locations/us-east1"` + */ + name?: string; + } + /** + * Request message for PauseQueue. + */ + interface Schema$PauseQueueRequest { + } + /** + * Defines an Identity and Access Management (IAM) policy. It is used to + * specify access control policies for Cloud Platform resources. A `Policy` + * consists of a list of `bindings`. A `binding` binds a list of `members` to + * a `role`, where the members can be user accounts, Google groups, Google + * domains, and service accounts. A `role` is a named list of permissions + * defined by IAM. **JSON Example** { "bindings": [ { + * "role": "roles/owner", "members": [ + * "user:mike@example.com", "group:admins@example.com", + * "domain:google.com", + * "serviceAccount:my-other-app@appspot.gserviceaccount.com" ] }, { + * "role": "roles/viewer", "members": + * ["user:sean@example.com"] } ] } **YAML + * Example** bindings: - members: - user:mike@example.com - + * group:admins@example.com - domain:google.com - + * serviceAccount:my-other-app@appspot.gserviceaccount.com role: + * roles/owner - members: - user:sean@example.com role: + * roles/viewer For a description of IAM and its features, see the [IAM + * developer's guide](https://cloud.google.com/iam/docs). + */ + interface Schema$Policy { + /** + * Associates a list of `members` to a `role`. `bindings` with no members + * will result in an error. + */ + bindings?: Schema$Binding[]; + /** + * `etag` is used for optimistic concurrency control as a way to help + * prevent simultaneous updates of a policy from overwriting each other. It + * is strongly suggested that systems make use of the `etag` in the + * read-modify-write cycle to perform policy updates in order to avoid race + * conditions: An `etag` is returned in the response to `getIamPolicy`, and + * systems are expected to put that etag in the request to `setIamPolicy` to + * ensure that their change will be applied to the same version of the + * policy. If no `etag` is provided in the call to `setIamPolicy`, then the + * existing policy is overwritten blindly. + */ + etag?: string; + /** + * Deprecated. + */ + version?: number; + } + /** + * Request message for PurgeQueue. + */ + interface Schema$PurgeQueueRequest { + } + /** + * A queue is a container of related tasks. Queues are configured to manage + * how those tasks are dispatched. Configurable properties include rate + * limits, retry options, queue types, and others. + */ + interface Schema$Queue { + /** + * App Engine HTTP queue. An App Engine queue is a queue that has an + * AppEngineHttpQeueue type. + */ + appEngineHttpQueue?: Schema$AppEngineHttpQueue; + /** + * Caller-specified and required in CreateQueue, after which it becomes + * output only. The queue name. The queue name must have the following + * format: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` * + * `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]), hyphens + * (-), colons (:), or periods (.). For more information, see + * [Identifying + * projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects) + * * `LOCATION_ID` is the canonical ID for the queue's location. The + * list of available locations can be obtained by calling ListLocations. + * For more information, see https://cloud.google.com/about/locations/. * + * `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or hyphens + * (-). The maximum length is 100 characters. + */ + name?: string; + /** + * Output only. The last time this queue was purged. All tasks that were + * created before this time were purged. A queue can be purged using + * PurgeQueue, the [App Engine Task Queue SDK, or the Cloud + * Console](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/deleting-tasks-and-queues#purging_all_tasks_from_a_queue). + * Purge time will be truncated to the nearest microsecond. Purge time will + * be unset if the queue has never been purged. + */ + purgeTime?: string; + /** + * Rate limits for task dispatches. rate_limits and retry_config are + * related because they both control task attempts however they control how + * tasks are attempted in different ways: * rate_limits controls the total + * rate of dispatches from a queue (i.e. all traffic dispatched from the + * queue, regardless of whether the dispatch is from a first attempt or a + * retry). * retry_config controls what happens to particular a task after + * its first attempt fails. That is, retry_config controls task retries + * (the second attempt, third attempt, etc). + */ + rateLimits?: Schema$RateLimits; + /** + * Settings that determine the retry behavior. * For tasks created using + * Cloud Tasks: the queue-level retry settings apply to all tasks in the + * queue that were created using Cloud Tasks. Retry settings cannot be set + * on individual tasks. * For tasks created using the App Engine SDK: the + * queue-level retry settings apply to all tasks in the queue which do not + * have retry settings explicitly set on the task and were created by the + * App Engine SDK. See [App Engine + * documentation](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/retrying-tasks). + */ + retryConfig?: Schema$RetryConfig; + /** + * Output only. The state of the queue. `state` can only be changed by + * called PauseQueue, ResumeQueue, or uploading + * [queue.yaml/xml](https://cloud.google.com/appengine/docs/python/config/queueref). + * UpdateQueue cannot be used to change `state`. + */ + state?: string; + } + /** + * Rate limits. This message determines the maximum rate that tasks can be + * dispatched by a queue, regardless of whether the dispatch is a first task + * attempt or a retry. Note: The debugging command, RunTask, will run a task + * even if the queue has reached its RateLimits. + */ + interface Schema$RateLimits { + /** + * Output only. The max burst size. Max burst size limits how fast tasks in + * queue are processed when many tasks are in the queue and the rate is + * high. This field allows the queue to have a high rate so processing + * starts shortly after a task is enqueued, but still limits resource usage + * when many tasks are enqueued in a short period of time. The [token + * bucket](https://wikipedia.org/wiki/Token_Bucket) algorithm is used to + * control the rate of task dispatches. Each queue has a token bucket that + * holds tokens, up to the maximum specified by `max_burst_size`. Each time + * a task is dispatched, a token is removed from the bucket. Tasks will be + * dispatched until the queue's bucket runs out of tokens. The bucket + * will be continuously refilled with new tokens based on + * max_dispatches_per_second. Cloud Tasks will pick the value of + * `max_burst_size` based on the value of max_dispatches_per_second. For + * App Engine queues that were created or updated using `queue.yaml/xml`, + * `max_burst_size` is equal to + * [bucket_size](https://cloud.google.com/appengine/docs/standard/python/config/queueref#bucket_size). + * Since `max_burst_size` is output only, if UpdateQueue is called on a + * queue created by `queue.yaml/xml`, `max_burst_size` will be reset based + * on the value of max_dispatches_per_second, regardless of whether + * max_dispatches_per_second is updated. + */ + maxBurstSize?: number; + /** + * The maximum number of concurrent tasks that Cloud Tasks allows to be + * dispatched for this queue. After this threshold has been reached, Cloud + * Tasks stops dispatching tasks until the number of concurrent requests + * decreases. If unspecified when the queue is created, Cloud Tasks will + * pick the default. The maximum allowed value is 5,000. This field has + * the same meaning as [max_concurrent_requests in + * queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#max_concurrent_requests). + */ + maxConcurrentDispatches?: number; + /** + * The maximum rate at which tasks are dispatched from this queue. If + * unspecified when the queue is created, Cloud Tasks will pick the default. + * * For App Engine queues, the maximum allowed value is 500. This field + * has the same meaning as [rate in + * queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate). + */ + maxDispatchesPerSecond?: number; + } + /** + * Request message for ResumeQueue. + */ + interface Schema$ResumeQueueRequest { + } + /** + * Retry config. These settings determine when a failed task attempt is + * retried. + */ + interface Schema$RetryConfig { + /** + * Number of attempts per task. Cloud Tasks will attempt the task + * `max_attempts` times (that is, if the first attempt fails, then there + * will be `max_attempts - 1` retries). Must be >= -1. If unspecified + * when the queue is created, Cloud Tasks will pick the default. -1 + * indicates unlimited attempts. This field has the same meaning as + * [task_retry_limit in + * queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + */ + maxAttempts?: number; + /** + * A task will be scheduled for retry between min_backoff and max_backoff + * duration after it fails, if the queue's RetryConfig specifies that + * the task should be retried. If unspecified when the queue is created, + * Cloud Tasks will pick the default. `max_backoff` will be truncated to + * the nearest second. This field has the same meaning as + * [max_backoff_seconds in + * queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + */ + maxBackoff?: string; + /** + * The time between retries will double `max_doublings` times. A task's + * retry interval starts at min_backoff, then doubles `max_doublings` times, + * then increases linearly, and finally retries retries at intervals of + * max_backoff up to max_attempts times. For example, if min_backoff is + * 10s, max_backoff is 300s, and `max_doublings` is 3, then the a task will + * first be retried in 10s. The retry interval will double three times, and + * then increase linearly by 2^3 * 10s. Finally, the task will retry at + * intervals of max_backoff until the task has been attempted max_attempts + * times. Thus, the requests will retry at 10s, 20s, 40s, 80s, 160s, 240s, + * 300s, 300s, .... If unspecified when the queue is created, Cloud Tasks + * will pick the default. This field has the same meaning as + * [max_doublings in + * queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + */ + maxDoublings?: number; + /** + * If positive, `max_retry_duration` specifies the time limit for retrying a + * failed task, measured from when the task was first attempted. Once + * `max_retry_duration` time has passed *and* the task has been attempted + * max_attempts times, no further attempts will be made and the task will be + * deleted. If zero, then the task age is unlimited. If unspecified when + * the queue is created, Cloud Tasks will pick the default. + * `max_retry_duration` will be truncated to the nearest second. This field + * has the same meaning as [task_age_limit in + * queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + */ + maxRetryDuration?: string; + /** + * A task will be scheduled for retry between min_backoff and max_backoff + * duration after it fails, if the queue's RetryConfig specifies that + * the task should be retried. If unspecified when the queue is created, + * Cloud Tasks will pick the default. `min_backoff` will be truncated to + * the nearest second. This field has the same meaning as + * [min_backoff_seconds in + * queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + */ + minBackoff?: string; + } + /** + * Request message for forcing a task to run now using RunTask. + */ + interface Schema$RunTaskRequest { + /** + * The response_view specifies which subset of the Task will be returned. By + * default response_view is BASIC; not all information is retrieved by + * default because some data, such as payloads, might be desirable to return + * only when needed because of its large size or because of the sensitivity + * of data that it contains. Authorization for FULL requires + * `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) + * permission on the Task resource. + */ + responseView?: string; + } + /** + * Request message for `SetIamPolicy` method. + */ + interface Schema$SetIamPolicyRequest { + /** + * REQUIRED: The complete policy to be applied to the `resource`. The size + * of the policy is limited to a few 10s of KB. An empty policy is a valid + * policy but certain Cloud Platform services (such as Projects) might + * reject them. + */ + policy?: Schema$Policy; + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + /** + * A unit of scheduled work. + */ + interface Schema$Task { + /** + * App Engine HTTP request that is sent to the task's target. Can be set + * only if app_engine_http_queue is set on the queue. An App Engine task is + * a task that has AppEngineHttpRequest set. + */ + appEngineHttpRequest?: Schema$AppEngineHttpRequest; + /** + * Output only. The time that the task was created. `create_time` will be + * truncated to the nearest second. + */ + createTime?: string; + /** + * Output only. The number of attempts dispatched. This count includes + * tasks which have been dispatched but haven't received a response. + */ + dispatchCount?: number; + /** + * Output only. The status of the task's first attempt. Only + * dispatch_time will be set. The other Attempt information is not retained + * by Cloud Tasks. + */ + firstAttempt?: Schema$Attempt; + /** + * Output only. The status of the task's last attempt. + */ + lastAttempt?: Schema$Attempt; + /** + * Optionally caller-specified in CreateTask. The task name. The task name + * must have the following format: + * `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID` + * * `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]), hyphens + * (-), colons (:), or periods (.). For more information, see + * [Identifying + * projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects) + * * `LOCATION_ID` is the canonical ID for the task's location. The + * list of available locations can be obtained by calling ListLocations. + * For more information, see https://cloud.google.com/about/locations/. * + * `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or hyphens + * (-). The maximum length is 100 characters. * `TASK_ID` can contain only + * letters ([A-Za-z]), numbers ([0-9]), hyphens (-), or underscores (_). + * The maximum length is 500 characters. + */ + name?: string; + /** + * Output only. The number of attempts which have received a response. + */ + responseCount?: number; + /** + * The time when the task is scheduled to be attempted. For App Engine + * queues, this is when the task will be attempted or retried. + * `schedule_time` will be truncated to the nearest microsecond. + */ + scheduleTime?: string; + /** + * Output only. The view specifies which subset of the Task has been + * returned. + */ + view?: string; + } + /** + * Request message for `TestIamPermissions` method. + */ + interface Schema$TestIamPermissionsRequest { + /** + * The set of permissions to check for the `resource`. Permissions with + * wildcards (such as '*' or 'storage.*') are not allowed. + * For more information see [IAM + * Overview](https://cloud.google.com/iam/docs/overview#permissions). + */ + permissions?: string[]; + } + /** + * Response message for `TestIamPermissions` method. + */ + interface Schema$TestIamPermissionsResponse { + /** + * A subset of `TestPermissionsRequest.permissions` that the caller is + * allowed. + */ + permissions?: string[]; + } + class Resource$Projects { + root: Cloudtasks; + locations: Resource$Projects$Locations; + constructor(root: Cloudtasks); + getRoot(): Cloudtasks; + } + class Resource$Projects$Locations { + root: Cloudtasks; + queues: Resource$Projects$Locations$Queues; + constructor(root: Cloudtasks); + getRoot(): Cloudtasks; + /** + * cloudtasks.projects.locations.get + * @desc Gets information about a location. + * @alias cloudtasks.projects.locations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Resource name for the location. + * @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?: Params$Resource$Projects$Locations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Locations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Locations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * cloudtasks.projects.locations.list + * @desc Lists information about the supported locations for this service. + * @alias cloudtasks.projects.locations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter The standard list filter. + * @param {string} params.name The resource that owns the locations collection, if applicable. + * @param {integer=} params.pageSize The standard list page size. + * @param {string=} params.pageToken The standard list page token. + * @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?: Params$Resource$Projects$Locations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Resource name for the location. + */ + name?: string; + } + interface Params$Resource$Projects$Locations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The standard list filter. + */ + filter?: string; + /** + * The resource that owns the locations collection, if applicable. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } + class Resource$Projects$Locations$Queues { + root: Cloudtasks; + tasks: Resource$Projects$Locations$Queues$Tasks; + constructor(root: Cloudtasks); + getRoot(): Cloudtasks; + /** + * cloudtasks.projects.locations.queues.create + * @desc Creates a queue. Queues created with this method allow tasks to + * live for a maximum of 31 days. After a task is 31 days old, the task will + * be deleted regardless of whether it was dispatched or not. WARNING: + * Using this method may have unintended side effects if you are using an + * App Engine `queue.yaml` or `queue.xml` file to manage your queues. Read + * [Overview of Queue Management and + * queue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before using + * this method. + * @alias cloudtasks.projects.locations.queues.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The location name in which the queue will be created. For example: `projects/PROJECT_ID/locations/LOCATION_ID` The list of allowed locations can be obtained by calling Cloud Tasks' implementation of ListLocations. + * @param {().Queue} 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 + */ + create(params?: Params$Resource$Projects$Locations$Queues$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Locations$Queues$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Locations$Queues$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * cloudtasks.projects.locations.queues.delete + * @desc Deletes a queue. This command will delete the queue even if it has + * tasks in it. Note: If you delete a queue, a queue with the same name + * can't be created for 7 days. WARNING: Using this method may have + * unintended side effects if you are using an App Engine `queue.yaml` or + * `queue.xml` file to manage your queues. Read [Overview of Queue + * Management and + * queue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before using + * this method. + * @alias cloudtasks.projects.locations.queues.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The queue name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` + * @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?: Params$Resource$Projects$Locations$Queues$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Locations$Queues$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Locations$Queues$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * cloudtasks.projects.locations.queues.get + * @desc Gets a queue. + * @alias cloudtasks.projects.locations.queues.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The resource name of the queue. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` + * @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?: Params$Resource$Projects$Locations$Queues$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Locations$Queues$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Locations$Queues$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * cloudtasks.projects.locations.queues.getIamPolicy + * @desc Gets the access control policy for a Queue. Returns an empty policy + * if the resource exists and does not have a policy set. Authorization + * requires the following [Google IAM](https://cloud.google.com/iam) + * permission on the specified resource parent: * + * `cloudtasks.queues.getIamPolicy` + * @alias cloudtasks.projects.locations.queues.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. + * @param {().GetIamPolicyRequest} 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 + */ + getIamPolicy(params?: Params$Resource$Projects$Locations$Queues$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Projects$Locations$Queues$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Projects$Locations$Queues$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * cloudtasks.projects.locations.queues.list + * @desc Lists queues. Queues are returned in lexicographical order. + * @alias cloudtasks.projects.locations.queues.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter `filter` can be used to specify a subset of queues. Any Queue field can be used as a filter and several operators as supported. For example: `<=, <, >=, >, !=, =, :`. The filter syntax is the same as described in [Stackdriver's Advanced Logs Filters](https://cloud.google.com/logging/docs/view/advanced_filters). Sample filter "state: PAUSED". Note that using filters might cause fewer queues than the requested page_size to be returned. + * @param {integer=} params.pageSize Requested page size. The maximum page size is 9800. If unspecified, the page size will be the maximum. Fewer queues than requested might be returned, even if more queues exist; use the next_page_token in the response to determine if more queues exist. + * @param {string=} params.pageToken A token identifying the page of results to return. To request the first page results, page_token must be empty. To request the next page of results, page_token must be the value of next_page_token returned from the previous call to ListQueues method. It is an error to switch the value of the filter while iterating through pages. + * @param {string} params.parent Required. The location name. For example: `projects/PROJECT_ID/locations/LOCATION_ID` + * @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?: Params$Resource$Projects$Locations$Queues$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$Queues$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$Queues$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * cloudtasks.projects.locations.queues.patch + * @desc Updates a queue. This method creates the queue if it does not + * exist and updates the queue if it does exist. Queues created with this + * method allow tasks to live for a maximum of 31 days. After a task is 31 + * days old, the task will be deleted regardless of whether it was + * dispatched or not. WARNING: Using this method may have unintended side + * effects if you are using an App Engine `queue.yaml` or `queue.xml` file + * to manage your queues. Read [Overview of Queue Management and + * queue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before using + * this method. + * @alias cloudtasks.projects.locations.queues.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Caller-specified and required in CreateQueue, after which it becomes output only. The queue name. The queue name must have the following format: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` * `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]), hyphens (-), colons (:), or periods (.). For more information, see [Identifying projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects) * `LOCATION_ID` is the canonical ID for the queue's location. The list of available locations can be obtained by calling ListLocations. For more information, see https://cloud.google.com/about/locations/. * `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or hyphens (-). The maximum length is 100 characters. + * @param {string=} params.updateMask A mask used to specify which fields of the queue are being updated. If empty, then all fields will be updated. + * @param {().Queue} 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 + */ + patch(params?: Params$Resource$Projects$Locations$Queues$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Locations$Queues$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Locations$Queues$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * cloudtasks.projects.locations.queues.pause + * @desc Pauses the queue. If a queue is paused then the system will stop + * dispatching tasks until the queue is resumed via ResumeQueue. Tasks can + * still be added when the queue is paused. A queue is paused if its state + * is PAUSED. + * @alias cloudtasks.projects.locations.queues.pause + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The queue name. For example: `projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID` + * @param {().PauseQueueRequest} 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 + */ + pause(params?: Params$Resource$Projects$Locations$Queues$Pause, options?: MethodOptions): AxiosPromise; + pause(params: Params$Resource$Projects$Locations$Queues$Pause, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + pause(params: Params$Resource$Projects$Locations$Queues$Pause, callback: BodyResponseCallback): void; + pause(callback: BodyResponseCallback): void; + /** + * cloudtasks.projects.locations.queues.purge + * @desc Purges a queue by deleting all of its tasks. All tasks created + * before this method is called are permanently deleted. Purge operations + * can take up to one minute to take effect. Tasks might be dispatched + * before the purge takes effect. A purge is irreversible. + * @alias cloudtasks.projects.locations.queues.purge + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The queue name. For example: `projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID` + * @param {().PurgeQueueRequest} 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 + */ + purge(params?: Params$Resource$Projects$Locations$Queues$Purge, options?: MethodOptions): AxiosPromise; + purge(params: Params$Resource$Projects$Locations$Queues$Purge, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + purge(params: Params$Resource$Projects$Locations$Queues$Purge, callback: BodyResponseCallback): void; + purge(callback: BodyResponseCallback): void; + /** + * cloudtasks.projects.locations.queues.resume + * @desc Resume a queue. This method resumes a queue after it has been + * PAUSED or DISABLED. The state of a queue is stored in the queue's state; + * after calling this method it will be set to RUNNING. WARNING: Resuming + * many high-QPS queues at the same time can lead to target overloading. If + * you are resuming high-QPS queues, follow the 500/50/5 pattern described + * in [Managing Cloud Tasks Scaling + * Risks](https://cloud.google.com/tasks/docs/manage-cloud-task-scaling). + * @alias cloudtasks.projects.locations.queues.resume + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The queue name. For example: `projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID` + * @param {().ResumeQueueRequest} 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 + */ + resume(params?: Params$Resource$Projects$Locations$Queues$Resume, options?: MethodOptions): AxiosPromise; + resume(params: Params$Resource$Projects$Locations$Queues$Resume, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + resume(params: Params$Resource$Projects$Locations$Queues$Resume, callback: BodyResponseCallback): void; + resume(callback: BodyResponseCallback): void; + /** + * cloudtasks.projects.locations.queues.setIamPolicy + * @desc Sets the access control policy for a Queue. Replaces any existing + * policy. Note: The Cloud Console does not check queue-level IAM + * permissions yet. Project-level permissions are required to use the Cloud + * Console. Authorization requires the following [Google + * IAM](https://cloud.google.com/iam) permission on the specified resource + * parent: * `cloudtasks.queues.setIamPolicy` + * @alias cloudtasks.projects.locations.queues.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. + * @param {().SetIamPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Projects$Locations$Queues$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Projects$Locations$Queues$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Projects$Locations$Queues$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * cloudtasks.projects.locations.queues.testIamPermissions + * @desc Returns permissions that a caller has on a Queue. If the resource + * does not exist, this will return an empty set of permissions, not a + * NOT_FOUND error. Note: This operation is designed to be used for + * building permission-aware UIs and command-line tools, not for + * authorization checking. This operation may "fail open" without warning. + * @alias cloudtasks.projects.locations.queues.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. + * @param {().TestIamPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Projects$Locations$Queues$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Projects$Locations$Queues$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Projects$Locations$Queues$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Queues$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The location name in which the queue will be created. For + * example: `projects/PROJECT_ID/locations/LOCATION_ID` The list of allowed + * locations can be obtained by calling Cloud Tasks' implementation of + * ListLocations. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Queue; + } + interface Params$Resource$Projects$Locations$Queues$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The queue name. For example: + * `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Queues$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of the queue. For example: + * `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Queues$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being requested. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GetIamPolicyRequest; + } + interface Params$Resource$Projects$Locations$Queues$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * `filter` can be used to specify a subset of queues. Any Queue field can + * be used as a filter and several operators as supported. For example: `<=, + * <, >=, >, !=, =, :`. The filter syntax is the same as described in + * [Stackdriver's Advanced Logs + * Filters](https://cloud.google.com/logging/docs/view/advanced_filters). + * Sample filter "state: PAUSED". Note that using filters might cause fewer + * queues than the requested page_size to be returned. + */ + filter?: string; + /** + * Requested page size. The maximum page size is 9800. If unspecified, the + * page size will be the maximum. Fewer queues than requested might be + * returned, even if more queues exist; use the next_page_token in the + * response to determine if more queues exist. + */ + pageSize?: number; + /** + * A token identifying the page of results to return. To request the first + * page results, page_token must be empty. To request the next page of + * results, page_token must be the value of next_page_token returned from + * the previous call to ListQueues method. It is an error to switch the + * value of the filter while iterating through pages. + */ + pageToken?: string; + /** + * Required. The location name. For example: + * `projects/PROJECT_ID/locations/LOCATION_ID` + */ + parent?: string; + } + interface Params$Resource$Projects$Locations$Queues$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Caller-specified and required in CreateQueue, after which it becomes + * output only. The queue name. The queue name must have the following + * format: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` * + * `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]), hyphens + * (-), colons (:), or periods (.). For more information, see + * [Identifying + * projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects) + * * `LOCATION_ID` is the canonical ID for the queue's location. The list + * of available locations can be obtained by calling ListLocations. For + * more information, see https://cloud.google.com/about/locations/. * + * `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or hyphens + * (-). The maximum length is 100 characters. + */ + name?: string; + /** + * A mask used to specify which fields of the queue are being updated. If + * empty, then all fields will be updated. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Queue; + } + interface Params$Resource$Projects$Locations$Queues$Pause { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The queue name. For example: + * `projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID` + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$PauseQueueRequest; + } + interface Params$Resource$Projects$Locations$Queues$Purge { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The queue name. For example: + * `projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID` + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$PurgeQueueRequest; + } + interface Params$Resource$Projects$Locations$Queues$Resume { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The queue name. For example: + * `projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID` + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ResumeQueueRequest; + } + interface Params$Resource$Projects$Locations$Queues$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being specified. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetIamPolicyRequest; + } + interface Params$Resource$Projects$Locations$Queues$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestIamPermissionsRequest; + } + class Resource$Projects$Locations$Queues$Tasks { + root: Cloudtasks; + constructor(root: Cloudtasks); + getRoot(): Cloudtasks; + /** + * cloudtasks.projects.locations.queues.tasks.create + * @desc Creates a task and adds it to a queue. Tasks cannot be updated + * after creation; there is no UpdateTask command. * For App Engine queues, + * the maximum task size is 100KB. + * @alias cloudtasks.projects.locations.queues.tasks.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The queue name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` The queue must already exist. + * @param {().CreateTaskRequest} 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 + */ + create(params?: Params$Resource$Projects$Locations$Queues$Tasks$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Locations$Queues$Tasks$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Locations$Queues$Tasks$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * cloudtasks.projects.locations.queues.tasks.delete + * @desc Deletes a task. A task can be deleted if it is scheduled or + * dispatched. A task cannot be deleted if it has executed successfully or + * permanently failed. + * @alias cloudtasks.projects.locations.queues.tasks.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The task name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID` + * @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?: Params$Resource$Projects$Locations$Queues$Tasks$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Locations$Queues$Tasks$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Locations$Queues$Tasks$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * cloudtasks.projects.locations.queues.tasks.get + * @desc Gets a task. + * @alias cloudtasks.projects.locations.queues.tasks.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The task name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID` + * @param {string=} params.responseView The response_view specifies which subset of the Task will be returned. By default response_view is BASIC; not all information is retrieved by default because some data, such as payloads, might be desirable to return only when needed because of its large size or because of the sensitivity of data that it contains. Authorization for FULL requires `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) permission on the Task resource. + * @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?: Params$Resource$Projects$Locations$Queues$Tasks$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Locations$Queues$Tasks$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Locations$Queues$Tasks$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * cloudtasks.projects.locations.queues.tasks.list + * @desc Lists the tasks in a queue. By default, only the BASIC view is + * retrieved due to performance considerations; response_view controls the + * subset of information which is returned. The tasks may be returned in + * any order. The ordering may change at any time. + * @alias cloudtasks.projects.locations.queues.tasks.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Requested page size. Fewer tasks than requested might be returned. The maximum page size is 1000. If unspecified, the page size will be the maximum. Fewer tasks than requested might be returned, even if more tasks exist; use next_page_token in the response to determine if more tasks exist. + * @param {string=} params.pageToken A token identifying the page of results to return. To request the first page results, page_token must be empty. To request the next page of results, page_token must be the value of next_page_token returned from the previous call to ListTasks method. The page token is valid for only 2 hours. + * @param {string} params.parent Required. The queue name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` + * @param {string=} params.responseView The response_view specifies which subset of the Task will be returned. By default response_view is BASIC; not all information is retrieved by default because some data, such as payloads, might be desirable to return only when needed because of its large size or because of the sensitivity of data that it contains. Authorization for FULL requires `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) permission on the Task resource. + * @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?: Params$Resource$Projects$Locations$Queues$Tasks$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$Queues$Tasks$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$Queues$Tasks$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * cloudtasks.projects.locations.queues.tasks.run + * @desc Forces a task to run now. When this method is called, Cloud Tasks + * will dispatch the task, even if the task is already running, the queue + * has reached its RateLimits or is PAUSED. This command is meant to be + * used for manual debugging. For example, RunTask can be used to retry a + * failed task after a fix has been made or to manually force a task to be + * dispatched now. The dispatched task is returned. That is, the task that + * is returned contains the status after the task is dispatched but before + * the task is received by its target. If Cloud Tasks receives a successful + * response from the task's target, then the task will be deleted; otherwise + * the task's schedule_time will be reset to the time that RunTask was + * called plus the retry delay specified in the queue's RetryConfig. RunTask + * returns NOT_FOUND when it is called on a task that has already succeeded + * or permanently failed. + * @alias cloudtasks.projects.locations.queues.tasks.run + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The task name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID` + * @param {().RunTaskRequest} 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 + */ + run(params?: Params$Resource$Projects$Locations$Queues$Tasks$Run, options?: MethodOptions): AxiosPromise; + run(params: Params$Resource$Projects$Locations$Queues$Tasks$Run, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + run(params: Params$Resource$Projects$Locations$Queues$Tasks$Run, callback: BodyResponseCallback): void; + run(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Queues$Tasks$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The queue name. For example: + * `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` The queue + * must already exist. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreateTaskRequest; + } + interface Params$Resource$Projects$Locations$Queues$Tasks$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The task name. For example: + * `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID` + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Queues$Tasks$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The task name. For example: + * `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID` + */ + name?: string; + /** + * The response_view specifies which subset of the Task will be returned. By + * default response_view is BASIC; not all information is retrieved by + * default because some data, such as payloads, might be desirable to return + * only when needed because of its large size or because of the sensitivity + * of data that it contains. Authorization for FULL requires + * `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) + * permission on the Task resource. + */ + responseView?: string; + } + interface Params$Resource$Projects$Locations$Queues$Tasks$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Requested page size. Fewer tasks than requested might be returned. The + * maximum page size is 1000. If unspecified, the page size will be the + * maximum. Fewer tasks than requested might be returned, even if more tasks + * exist; use next_page_token in the response to determine if more tasks + * exist. + */ + pageSize?: number; + /** + * A token identifying the page of results to return. To request the first + * page results, page_token must be empty. To request the next page of + * results, page_token must be the value of next_page_token returned from + * the previous call to ListTasks method. The page token is valid for only + * 2 hours. + */ + pageToken?: string; + /** + * Required. The queue name. For example: + * `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` + */ + parent?: string; + /** + * The response_view specifies which subset of the Task will be returned. By + * default response_view is BASIC; not all information is retrieved by + * default because some data, such as payloads, might be desirable to return + * only when needed because of its large size or because of the sensitivity + * of data that it contains. Authorization for FULL requires + * `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) + * permission on the Task resource. + */ + responseView?: string; + } + interface Params$Resource$Projects$Locations$Queues$Tasks$Run { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The task name. For example: + * `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID` + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RunTaskRequest; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudtasks/v2beta3.js b/express-server/node_modules/googleapis/build/src/apis/cloudtasks/v2beta3.js new file mode 100644 index 00000000..06fee948 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudtasks/v2beta3.js @@ -0,0 +1,650 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var cloudtasks_v2beta3; +(function (cloudtasks_v2beta3) { + /** + * Cloud Tasks API + * + * Manages the execution of large numbers of distributed requests. + * + * @example + * const {google} = require('googleapis'); + * const cloudtasks = google.cloudtasks('v2beta3'); + * + * @namespace cloudtasks + * @type {Function} + * @version v2beta3 + * @variation v2beta3 + * @param {object=} options Options for Cloudtasks + */ + class Cloudtasks { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.projects = new Resource$Projects(this); + } + getRoot() { + return this.root; + } + } + cloudtasks_v2beta3.Cloudtasks = Cloudtasks; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.locations = new Resource$Projects$Locations(root); + } + getRoot() { + return this.root; + } + } + cloudtasks_v2beta3.Resource$Projects = Resource$Projects; + class Resource$Projects$Locations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.queues = new Resource$Projects$Locations$Queues(root); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudtasks.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta3/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudtasks.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta3/{+name}/locations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + cloudtasks_v2beta3.Resource$Projects$Locations = Resource$Projects$Locations; + class Resource$Projects$Locations$Queues { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.tasks = new Resource$Projects$Locations$Queues$Tasks(root); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudtasks.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta3/{+parent}/queues') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudtasks.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta3/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudtasks.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta3/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudtasks.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta3/{+resource}:getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudtasks.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta3/{+parent}/queues') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudtasks.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta3/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + pause(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudtasks.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta3/{+name}:pause') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + purge(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudtasks.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta3/{+name}:purge') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + resume(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudtasks.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta3/{+name}:resume') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudtasks.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta3/{+resource}:setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudtasks.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta3/{+resource}:testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + cloudtasks_v2beta3.Resource$Projects$Locations$Queues = Resource$Projects$Locations$Queues; + class Resource$Projects$Locations$Queues$Tasks { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudtasks.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta3/{+parent}/tasks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudtasks.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta3/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudtasks.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta3/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudtasks.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta3/{+parent}/tasks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + run(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudtasks.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta3/{+name}:run') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + cloudtasks_v2beta3.Resource$Projects$Locations$Queues$Tasks = Resource$Projects$Locations$Queues$Tasks; +})(cloudtasks_v2beta3 = exports.cloudtasks_v2beta3 || (exports.cloudtasks_v2beta3 = {})); +//# sourceMappingURL=v2beta3.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudtasks/v2beta3.js.map b/express-server/node_modules/googleapis/build/src/apis/cloudtasks/v2beta3.js.map new file mode 100644 index 00000000..fd823d13 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudtasks/v2beta3.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v2beta3.js","sourceRoot":"","sources":["../../../../src/apis/cloudtasks/v2beta3.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudtrace/README.md b/express-server/node_modules/googleapis/build/src/apis/cloudtrace/README.md new file mode 100644 index 00000000..a8d80978 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudtrace/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/cloudtrace + +> Sends application trace data to Stackdriver Trace for viewing. Trace data is collected for all App Engine applications by default. Trace data from other applications can be provided using this API. This library is used to interact with the Trace API directly. If you are looking to instrument your application for Stackdriver Trace, we recommend using OpenCensus. + +## Installation + +```sh +$ npm install @google/cloudtrace +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudtrace/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/cloudtrace/index.d.ts new file mode 100644 index 00000000..95d2d000 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudtrace/index.d.ts @@ -0,0 +1,10 @@ +import { cloudtrace_v1 } from './v1'; +import { cloudtrace_v2 } from './v2'; +export declare const VERSIONS: { + 'v1': typeof cloudtrace_v1.Cloudtrace; + 'v2': typeof cloudtrace_v2.Cloudtrace; +}; +export declare function cloudtrace(version: 'v1'): cloudtrace_v1.Cloudtrace; +export declare function cloudtrace(options: cloudtrace_v1.Options): cloudtrace_v1.Cloudtrace; +export declare function cloudtrace(version: 'v2'): cloudtrace_v2.Cloudtrace; +export declare function cloudtrace(options: cloudtrace_v2.Options): cloudtrace_v2.Cloudtrace; diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudtrace/index.js b/express-server/node_modules/googleapis/build/src/apis/cloudtrace/index.js new file mode 100644 index 00000000..180860b3 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudtrace/index.js @@ -0,0 +1,27 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +const v2_1 = require("./v2"); +exports.VERSIONS = { + 'v1': v1_1.cloudtrace_v1.Cloudtrace, + 'v2': v2_1.cloudtrace_v2.Cloudtrace, +}; +function cloudtrace(versionOrOptions) { + return googleapis_common_1.getAPI('cloudtrace', versionOrOptions, exports.VERSIONS, this); +} +exports.cloudtrace = cloudtrace; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudtrace/index.js.map b/express-server/node_modules/googleapis/build/src/apis/cloudtrace/index.js.map new file mode 100644 index 00000000..7616d63b --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudtrace/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/cloudtrace/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAmC;AACnC,6BAAmC;AAEtB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,kBAAa,CAAC,UAAU;IAC9B,IAAI,EAAE,kBAAa,CAAC,UAAU;CAC/B,CAAC;AAQF,SACA,UAAU,CAEN,gBAAuE;IACzE,OAAO,0BAAM,CAAI,YAAY,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACnE,CAAC;AALD,gCAKC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudtrace/package.json b/express-server/node_modules/googleapis/build/src/apis/cloudtrace/package.json new file mode 100644 index 00000000..64413069 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudtrace/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/cloudtrace", + "version": "0.1.0", + "description": "cloudtrace", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudtrace/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/cloudtrace/v1.d.ts new file mode 100644 index 00000000..3bceb192 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudtrace/v1.d.ts @@ -0,0 +1,512 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace cloudtrace_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Stackdriver Trace API + * + * Sends application trace data to Stackdriver Trace for viewing. Trace data + * is collected for all App Engine applications by default. Trace data from + * other applications can be provided using this API. This library is used to + * interact with the Trace API directly. If you are looking to instrument your + * application for Stackdriver Trace, we recommend using OpenCensus. + * + * @example + * const {google} = require('googleapis'); + * const cloudtrace = google.cloudtrace('v1'); + * + * @namespace cloudtrace + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Cloudtrace + */ + class Cloudtrace { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + projects: Resource$Projects; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * The response message for the `ListTraces` method. + */ + interface Schema$ListTracesResponse { + /** + * If defined, indicates that there are more traces that match the request + * and that this value should be passed to the next request to continue + * retrieving additional traces. + */ + nextPageToken?: string; + /** + * List of trace records as specified by the view parameter. + */ + traces?: Schema$Trace[]; + } + /** + * A trace describes how long it takes for an application to perform an + * operation. It consists of a set of spans, each of which represent a single + * timed event within the operation. + */ + interface Schema$Trace { + /** + * Project ID of the Cloud project where the trace data is stored. + */ + projectId?: string; + /** + * Collection of spans in the trace. + */ + spans?: Schema$TraceSpan[]; + /** + * Globally unique identifier for the trace. This identifier is a 128-bit + * numeric value formatted as a 32-byte hex string. For example, + * `382d4f4c6b7bb2f4a972559d9085001d`. + */ + traceId?: string; + } + /** + * List of new or updated traces. + */ + interface Schema$Traces { + /** + * List of traces. + */ + traces?: Schema$Trace[]; + } + /** + * A span represents a single timed event within a trace. Spans can be nested + * and form a trace tree. Often, a trace contains a root span that describes + * the end-to-end latency of an operation and, optionally, one or more + * subspans for its suboperations. Spans do not need to be contiguous. There + * may be gaps between spans in a trace. + */ + interface Schema$TraceSpan { + /** + * End time of the span in nanoseconds from the UNIX epoch. + */ + endTime?: string; + /** + * Distinguishes between spans generated in a particular context. For + * example, two spans with the same name may be distinguished using + * `RPC_CLIENT` and `RPC_SERVER` to identify queueing latency associated + * with the span. + */ + kind?: string; + /** + * Collection of labels associated with the span. Label keys must be less + * than 128 bytes. Label values must be less than 16 kilobytes (10MB for + * `/stacktrace` values). Some predefined label keys exist, or you may + * create your own. When creating your own, we recommend the following + * formats: * `/category/product/key` for agents of well-known products + * (e.g. `/db/mongodb/read_size`). * `short_host/path/key` for + * domain-specific keys (e.g. `foo.com/myproduct/bar`) Predefined labels + * include: * `/agent` * `/component` * `/error/message` * + * `/error/name` * `/http/client_city` * `/http/client_country` * + * `/http/client_protocol` * `/http/client_region` * `/http/host` * + * `/http/method` * `/http/path` * `/http/redirected_url` * + * `/http/request/size` * `/http/response/size` * `/http/route` * + * `/http/status_code` * `/http/url` * `/http/user_agent` * `/pid` * + * `/stacktrace` * `/tid` + */ + labels?: any; + /** + * Name of the span. Must be less than 128 bytes. The span name is sanitized + * and displayed in the Stackdriver Trace tool in the Google Cloud Platform + * Console. The name may be a method name or some other per-call site name. + * For the same executable and the same call point, a best practice is to + * use a consistent name, which makes it easier to correlate cross-trace + * spans. + */ + name?: string; + /** + * ID of the parent span, if any. Optional. + */ + parentSpanId?: string; + /** + * Identifier for the span. Must be a 64-bit integer other than 0 and unique + * within a trace. For example, `2205310701640571284`. + */ + spanId?: string; + /** + * Start time of the span in nanoseconds from the UNIX epoch. + */ + startTime?: string; + } + class Resource$Projects { + root: Cloudtrace; + traces: Resource$Projects$Traces; + constructor(root: Cloudtrace); + getRoot(): Cloudtrace; + /** + * cloudtrace.projects.patchTraces + * @desc Sends new traces to Stackdriver Trace or updates existing traces. + * If the ID of a trace that you send matches that of an existing trace, any + * fields in the existing trace and its spans are overwritten by the + * provided values, and any new fields provided are merged with the existing + * trace data. If the ID does not match, a new trace is created. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Stackdriver Trace API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudtrace + * // 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 cloudTrace = google.cloudtrace('v1'); + * + * authorize(function(authClient) { + * var request = { + * // ID of the Cloud project where the trace data is stored. + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * cloudTrace.projects.patchTraces(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 cloudtrace.projects.patchTraces + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId ID of the Cloud project where the trace data is stored. + * @param {().Traces} 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 + */ + patchTraces(params?: Params$Resource$Projects$Patchtraces, options?: MethodOptions): AxiosPromise; + patchTraces(params: Params$Resource$Projects$Patchtraces, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patchTraces(params: Params$Resource$Projects$Patchtraces, callback: BodyResponseCallback): void; + patchTraces(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Patchtraces { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ID of the Cloud project where the trace data is stored. + */ + projectId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Traces; + } + class Resource$Projects$Traces { + root: Cloudtrace; + constructor(root: Cloudtrace); + getRoot(): Cloudtrace; + /** + * cloudtrace.projects.traces.get + * @desc Gets a single trace by its ID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Stackdriver Trace API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudtrace + * // 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 cloudTrace = google.cloudtrace('v1'); + * + * authorize(function(authClient) { + * var request = { + * // ID of the Cloud project where the trace data is stored. + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * // ID of the trace to return. + * traceId: 'my-trace-id', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * cloudTrace.projects.traces.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 cloudtrace.projects.traces.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId ID of the Cloud project where the trace data is stored. + * @param {string} params.traceId ID of the trace to return. + * @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?: Params$Resource$Projects$Traces$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Traces$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Traces$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * cloudtrace.projects.traces.list + * @desc Returns of a list of traces that match the specified filter + * conditions. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Stackdriver Trace API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/cloudtrace + * // 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 cloudTrace = google.cloudtrace('v1'); + * + * authorize(function(authClient) { + * var request = { + * // ID of the Cloud project where the trace data is stored. + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var tracesPage = response['traces']; + * if (!tracesPage) { + * return; + * } + * for (var i = 0; i < tracesPage.length; i++) { + * // TODO: Change code below to process each resource in + * `tracesPage`: console.log(JSON.stringify(tracesPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * cloudTrace.projects.traces.list(request, handlePage); + * } + * }; + * + * cloudTrace.projects.traces.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 cloudtrace.projects.traces.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.endTime End of the time interval (inclusive) during which the trace data was collected from the application. + * @param {string=} params.filter An optional filter against labels for the request. By default, searches use prefix matching. To specify exact match, prepend a plus symbol (`+`) to the search term. Multiple terms are ANDed. Syntax: * `root:NAME_PREFIX` or `NAME_PREFIX`: Return traces where any root span starts with `NAME_PREFIX`. * `+root:NAME` or `+NAME`: Return traces where any root span's name is exactly `NAME`. * `span:NAME_PREFIX`: Return traces where any span starts with `NAME_PREFIX`. * `+span:NAME`: Return traces where any span's name is exactly `NAME`. * `latency:DURATION`: Return traces whose overall latency is greater or equal to than `DURATION`. Accepted units are nanoseconds (`ns`), milliseconds (`ms`), and seconds (`s`). Default is `ms`. For example, `latency:24ms` returns traces whose overall latency is greater than or equal to 24 milliseconds. * `label:LABEL_KEY`: Return all traces containing the specified label key (exact match, case-sensitive) regardless of the key:value pair's value (including empty values). * `LABEL_KEY:VALUE_PREFIX`: Return all traces containing the specified label key (exact match, case-sensitive) whose value starts with `VALUE_PREFIX`. Both a key and a value must be specified. * `+LABEL_KEY:VALUE`: Return all traces containing a key:value pair exactly matching the specified text. Both a key and a value must be specified. * `method:VALUE`: Equivalent to `/http/method:VALUE`. * `url:VALUE`: Equivalent to `/http/url:VALUE`. + * @param {string=} params.orderBy Field used to sort the returned traces. Optional. Can be one of the following: * `trace_id` * `name` (`name` field of root span in the trace) * `duration` (difference between `end_time` and `start_time` fields of the root span) * `start` (`start_time` field of the root span) Descending order can be specified by appending `desc` to the sort field (for example, `name desc`). Only one sort field is permitted. + * @param {integer=} params.pageSize Maximum number of traces to return. If not specified or <= 0, the implementation selects a reasonable value. The implementation may return fewer traces than the requested page size. Optional. + * @param {string=} params.pageToken Token identifying the page of results to return. If provided, use the value of the `next_page_token` field from a previous request. Optional. + * @param {string} params.projectId ID of the Cloud project where the trace data is stored. + * @param {string=} params.startTime Start of the time interval (inclusive) during which the trace data was collected from the application. + * @param {string=} params.view Type of data returned for traces in the list. Optional. Default is `MINIMAL`. + * @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?: Params$Resource$Projects$Traces$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Traces$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Traces$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Traces$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ID of the Cloud project where the trace data is stored. + */ + projectId?: string; + /** + * ID of the trace to return. + */ + traceId?: string; + } + interface Params$Resource$Projects$Traces$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * End of the time interval (inclusive) during which the trace data was + * collected from the application. + */ + endTime?: string; + /** + * An optional filter against labels for the request. By default, searches + * use prefix matching. To specify exact match, prepend a plus symbol (`+`) + * to the search term. Multiple terms are ANDed. Syntax: * + * `root:NAME_PREFIX` or `NAME_PREFIX`: Return traces where any root span + * starts with `NAME_PREFIX`. * `+root:NAME` or `+NAME`: Return traces + * where any root span's name is exactly `NAME`. * `span:NAME_PREFIX`: + * Return traces where any span starts with `NAME_PREFIX`. * + * `+span:NAME`: Return traces where any span's name is exactly `NAME`. + * * `latency:DURATION`: Return traces whose overall latency is greater or + * equal to than `DURATION`. Accepted units are nanoseconds (`ns`), + * milliseconds (`ms`), and seconds (`s`). Default is `ms`. For example, + * `latency:24ms` returns traces whose overall latency is greater than + * or equal to 24 milliseconds. * `label:LABEL_KEY`: Return all traces + * containing the specified label key (exact match, case-sensitive) + * regardless of the key:value pair's value (including empty values). * + * `LABEL_KEY:VALUE_PREFIX`: Return all traces containing the specified + * label key (exact match, case-sensitive) whose value starts with + * `VALUE_PREFIX`. Both a key and a value must be specified. * + * `+LABEL_KEY:VALUE`: Return all traces containing a key:value pair exactly + * matching the specified text. Both a key and a value must be specified. * + * `method:VALUE`: Equivalent to `/http/method:VALUE`. * `url:VALUE`: + * Equivalent to `/http/url:VALUE`. + */ + filter?: string; + /** + * Field used to sort the returned traces. Optional. Can be one of the + * following: * `trace_id` * `name` (`name` field of root span in the + * trace) * `duration` (difference between `end_time` and `start_time` + * fields of the root span) * `start` (`start_time` field of the root + * span) Descending order can be specified by appending `desc` to the sort + * field (for example, `name desc`). Only one sort field is permitted. + */ + orderBy?: string; + /** + * Maximum number of traces to return. If not specified or <= 0, the + * implementation selects a reasonable value. The implementation may return + * fewer traces than the requested page size. Optional. + */ + pageSize?: number; + /** + * Token identifying the page of results to return. If provided, use the + * value of the `next_page_token` field from a previous request. Optional. + */ + pageToken?: string; + /** + * ID of the Cloud project where the trace data is stored. + */ + projectId?: string; + /** + * Start of the time interval (inclusive) during which the trace data was + * collected from the application. + */ + startTime?: string; + /** + * Type of data returned for traces in the list. Optional. Default is + * `MINIMAL`. + */ + view?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudtrace/v1.js b/express-server/node_modules/googleapis/build/src/apis/cloudtrace/v1.js new file mode 100644 index 00000000..2bbbaa2b --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudtrace/v1.js @@ -0,0 +1,173 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var cloudtrace_v1; +(function (cloudtrace_v1) { + /** + * Stackdriver Trace API + * + * Sends application trace data to Stackdriver Trace for viewing. Trace data + * is collected for all App Engine applications by default. Trace data from + * other applications can be provided using this API. This library is used to + * interact with the Trace API directly. If you are looking to instrument your + * application for Stackdriver Trace, we recommend using OpenCensus. + * + * @example + * const {google} = require('googleapis'); + * const cloudtrace = google.cloudtrace('v1'); + * + * @namespace cloudtrace + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Cloudtrace + */ + class Cloudtrace { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.projects = new Resource$Projects(this); + } + getRoot() { + return this.root; + } + } + cloudtrace_v1.Cloudtrace = Cloudtrace; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.traces = new Resource$Projects$Traces(root); + } + getRoot() { + return this.root; + } + patchTraces(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudtrace.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/projects/{projectId}/traces') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['projectId'], + pathParams: ['projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + cloudtrace_v1.Resource$Projects = Resource$Projects; + class Resource$Projects$Traces { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudtrace.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/projects/{projectId}/traces/{traceId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId', 'traceId'], + pathParams: ['projectId', 'traceId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudtrace.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/projects/{projectId}/traces') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId'], + pathParams: ['projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + cloudtrace_v1.Resource$Projects$Traces = Resource$Projects$Traces; +})(cloudtrace_v1 = exports.cloudtrace_v1 || (exports.cloudtrace_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudtrace/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/cloudtrace/v1.js.map new file mode 100644 index 00000000..2fd728eb --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudtrace/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/cloudtrace/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudtrace/v2.d.ts b/express-server/node_modules/googleapis/build/src/apis/cloudtrace/v2.d.ts new file mode 100644 index 00000000..04d61bb2 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudtrace/v2.d.ts @@ -0,0 +1,549 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace cloudtrace_v2 { + interface Options extends GlobalOptions { + version: 'v2'; + } + /** + * Stackdriver Trace API + * + * Sends application trace data to Stackdriver Trace for viewing. Trace data + * is collected for all App Engine applications by default. Trace data from + * other applications can be provided using this API. This library is used to + * interact with the Trace API directly. If you are looking to instrument your + * application for Stackdriver Trace, we recommend using OpenCensus. + * + * @example + * const {google} = require('googleapis'); + * const cloudtrace = google.cloudtrace('v2'); + * + * @namespace cloudtrace + * @type {Function} + * @version v2 + * @variation v2 + * @param {object=} options Options for Cloudtrace + */ + class Cloudtrace { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + projects: Resource$Projects; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Text annotation with a set of attributes. + */ + interface Schema$Annotation { + /** + * A set of attributes on the annotation. You can have up to 4 attributes + * per Annotation. + */ + attributes?: Schema$Attributes; + /** + * A user-supplied message describing the event. The maximum length for the + * description is 256 bytes. + */ + description?: Schema$TruncatableString; + } + /** + * A set of attributes, each in the format `[KEY]:[VALUE]`. + */ + interface Schema$Attributes { + /** + * The set of attributes. Each attribute's key can be up to 128 bytes + * long. The value can be a string up to 256 bytes, an integer, or the + * Boolean values `true` and `false`. For example: "/instance_id": + * "my-instance" "/http/user_agent": "" + * "/http/request_bytes": 300 "abc.com/myattribute": + * true + */ + attributeMap?: any; + /** + * The number of attributes that were discarded. Attributes can be discarded + * because their keys are too long or because there are too many attributes. + * If this value is 0 then all attributes are valid. + */ + droppedAttributesCount?: number; + } + /** + * The allowed types for [VALUE] in a `[KEY]:[VALUE]` attribute. + */ + interface Schema$AttributeValue { + /** + * A Boolean value represented by `true` or `false`. + */ + boolValue?: boolean; + /** + * A 64-bit signed integer. + */ + intValue?: string; + /** + * A string up to 256 bytes long. + */ + stringValue?: Schema$TruncatableString; + } + /** + * The request message for the `BatchWriteSpans` method. + */ + interface Schema$BatchWriteSpansRequest { + /** + * A list of new spans. The span names must not match existing spans, or the + * results are undefined. + */ + spans?: Schema$Span[]; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * A pointer from the current span to another span in the same trace or in a + * different trace. For example, this can be used in batching operations, + * where a single batch handler processes multiple requests from different + * traces or when the handler receives a request from a different project. + */ + interface Schema$Link { + /** + * A set of attributes on the link. You have have up to 32 attributes per + * link. + */ + attributes?: Schema$Attributes; + /** + * The [SPAN_ID] for a span within a trace. + */ + spanId?: string; + /** + * The [TRACE_ID] for a trace within a project. + */ + traceId?: string; + /** + * The relationship of the current span relative to the linked span. + */ + type?: string; + } + /** + * A collection of links, which are references from this span to a span in the + * same or different trace. + */ + interface Schema$Links { + /** + * The number of dropped links after the maximum size was enforced. If this + * value is 0, then no links were dropped. + */ + droppedLinksCount?: number; + /** + * A collection of links. + */ + link?: Schema$Link[]; + } + /** + * An event describing a message sent/received between Spans. + */ + interface Schema$MessageEvent { + /** + * The number of compressed bytes sent or received. If missing assumed to be + * the same size as uncompressed. + */ + compressedSizeBytes?: string; + /** + * An identifier for the MessageEvent's message that can be used to + * match SENT and RECEIVED MessageEvents. It is recommended to be unique + * within a Span. + */ + id?: string; + /** + * Type of MessageEvent. Indicates whether the message was sent or received. + */ + type?: string; + /** + * The number of uncompressed bytes sent or received. + */ + uncompressedSizeBytes?: string; + } + /** + * Binary module. + */ + interface Schema$Module { + /** + * A unique identifier for the module, usually a hash of its contents (up to + * 128 bytes). + */ + buildId?: Schema$TruncatableString; + /** + * For example: main binary, kernel modules, and dynamic libraries such as + * libc.so, sharedlib.so (up to 256 bytes). + */ + module?: Schema$TruncatableString; + } + /** + * A span represents a single operation within a trace. Spans can be nested to + * form a trace tree. Often, a trace contains a root span that describes the + * end-to-end latency, and one or more subspans for its sub-operations. A + * trace can also contain multiple root spans, or none at all. Spans do not + * need to be contiguous&mdash;there may be gaps or overlaps between spans + * in a trace. + */ + interface Schema$Span { + /** + * A set of attributes on the span. You can have up to 32 attributes per + * span. + */ + attributes?: Schema$Attributes; + /** + * An optional number of child spans that were generated while this span was + * active. If set, allows implementation to detect missing child spans. + */ + childSpanCount?: number; + /** + * A description of the span's operation (up to 128 bytes). Stackdriver + * Trace displays the description in the Google Cloud Platform Console. For + * example, the display name can be a qualified method name or a file name + * and a line number where the operation is called. A best practice is to + * use the same display name within an application and at the same call + * point. This makes it easier to correlate spans in different traces. + */ + displayName?: Schema$TruncatableString; + /** + * The end time of the span. On the client side, this is the time kept by + * the local machine where the span execution ends. On the server side, this + * is the time when the server application handler stops running. + */ + endTime?: string; + /** + * Links associated with the span. You can have up to 128 links per Span. + */ + links?: Schema$Links; + /** + * The resource name of the span in the following format: + * projects/[PROJECT_ID]/traces/[TRACE_ID]/spans/SPAN_ID is a unique + * identifier for a trace within a project; it is a 32-character hexadecimal + * encoding of a 16-byte array. [SPAN_ID] is a unique identifier for a span + * within a trace; it is a 16-character hexadecimal encoding of an 8-byte + * array. + */ + name?: string; + /** + * The [SPAN_ID] of this span's parent span. If this is a root span, + * then this field must be empty. + */ + parentSpanId?: string; + /** + * (Optional) Set this parameter to indicate whether this span is in the + * same process as its parent. If you do not set this parameter, Stackdriver + * Trace is unable to take advantage of this helpful information. + */ + sameProcessAsParentSpan?: boolean; + /** + * The [SPAN_ID] portion of the span's resource name. + */ + spanId?: string; + /** + * Stack trace captured at the start of the span. + */ + stackTrace?: Schema$StackTrace; + /** + * The start time of the span. On the client side, this is the time kept by + * the local machine where the span execution starts. On the server side, + * this is the time when the server's application handler starts + * running. + */ + startTime?: string; + /** + * An optional final status for this span. + */ + status?: Schema$Status; + /** + * A set of time events. You can have up to 32 annotations and 128 message + * events per span. + */ + timeEvents?: Schema$TimeEvents; + } + /** + * Represents a single stack frame in a stack trace. + */ + interface Schema$StackFrame { + /** + * The column number where the function call appears, if available. This is + * important in JavaScript because of its anonymous functions. + */ + columnNumber?: string; + /** + * The name of the source file where the function call appears (up to 256 + * bytes). + */ + fileName?: Schema$TruncatableString; + /** + * The fully-qualified name that uniquely identifies the function or method + * that is active in this frame (up to 1024 bytes). + */ + functionName?: Schema$TruncatableString; + /** + * The line number in `file_name` where the function call appears. + */ + lineNumber?: string; + /** + * The binary module from where the code was loaded. + */ + loadModule?: Schema$Module; + /** + * An un-mangled function name, if `function_name` is + * [mangled](http://www.avabodh.com/cxxin/namemangling.html). The name can + * be fully-qualified (up to 1024 bytes). + */ + originalFunctionName?: Schema$TruncatableString; + /** + * The version of the deployed source code (up to 128 bytes). + */ + sourceVersion?: Schema$TruncatableString; + } + /** + * A collection of stack frames, which can be truncated. + */ + interface Schema$StackFrames { + /** + * The number of stack frames that were dropped because there were too many + * stack frames. If this value is 0, then no stack frames were dropped. + */ + droppedFramesCount?: number; + /** + * Stack frames in this call stack. + */ + frame?: Schema$StackFrame[]; + } + /** + * A call stack appearing in a trace. + */ + interface Schema$StackTrace { + /** + * Stack frames in this stack trace. A maximum of 128 frames are allowed. + */ + stackFrames?: Schema$StackFrames; + /** + * The hash ID is used to conserve network bandwidth for duplicate stack + * traces within a single trace. Often multiple spans will have identical + * stack traces. The first occurrence of a stack trace should contain both + * the `stackFrame` content and a value in `stackTraceHashId`. Subsequent + * spans within the same request can refer to that stack trace by only + * setting `stackTraceHashId`. + */ + stackTraceHashId?: string; + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + /** + * A time-stamped annotation or message event in the Span. + */ + interface Schema$TimeEvent { + /** + * Text annotation with a set of attributes. + */ + annotation?: Schema$Annotation; + /** + * An event describing a message sent/received between Spans. + */ + messageEvent?: Schema$MessageEvent; + /** + * The timestamp indicating the time the event occurred. + */ + time?: string; + } + /** + * A collection of `TimeEvent`s. A `TimeEvent` is a time-stamped annotation on + * the span, consisting of either user-supplied key:value pairs, or details of + * a message sent/received between Spans. + */ + interface Schema$TimeEvents { + /** + * The number of dropped annotations in all the included time events. If the + * value is 0, then no annotations were dropped. + */ + droppedAnnotationsCount?: number; + /** + * The number of dropped message events in all the included time events. If + * the value is 0, then no message events were dropped. + */ + droppedMessageEventsCount?: number; + /** + * A collection of `TimeEvent`s. + */ + timeEvent?: Schema$TimeEvent[]; + } + /** + * Represents a string that might be shortened to a specified length. + */ + interface Schema$TruncatableString { + /** + * The number of bytes removed from the original string. If this value is 0, + * then the string was not shortened. + */ + truncatedByteCount?: number; + /** + * The shortened string. For example, if the original string is 500 bytes + * long and the limit of the string is 128 bytes, then `value` contains the + * first 128 bytes of the 500-byte string. Truncation always happens on a + * UTF8 character boundary. If there are multi-byte characters in the + * string, then the length of the shortened string might be less than the + * size limit. + */ + value?: string; + } + class Resource$Projects { + root: Cloudtrace; + traces: Resource$Projects$Traces; + constructor(root: Cloudtrace); + getRoot(): Cloudtrace; + } + class Resource$Projects$Traces { + root: Cloudtrace; + spans: Resource$Projects$Traces$Spans; + constructor(root: Cloudtrace); + getRoot(): Cloudtrace; + /** + * cloudtrace.projects.traces.batchWrite + * @desc Sends new spans to new or existing traces. You cannot update + * existing spans. + * @alias cloudtrace.projects.traces.batchWrite + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The name of the project where the spans belong. The format is `projects/[PROJECT_ID]`. + * @param {().BatchWriteSpansRequest} 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 + */ + batchWrite(params?: Params$Resource$Projects$Traces$Batchwrite, options?: MethodOptions): AxiosPromise; + batchWrite(params: Params$Resource$Projects$Traces$Batchwrite, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + batchWrite(params: Params$Resource$Projects$Traces$Batchwrite, callback: BodyResponseCallback): void; + batchWrite(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Traces$Batchwrite { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the project where the spans belong. The format is + * `projects/[PROJECT_ID]`. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BatchWriteSpansRequest; + } + class Resource$Projects$Traces$Spans { + root: Cloudtrace; + constructor(root: Cloudtrace); + getRoot(): Cloudtrace; + /** + * cloudtrace.projects.traces.spans.createSpan + * @desc Creates a new span. + * @alias cloudtrace.projects.traces.spans.createSpan + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name of the span in the following format: projects/[PROJECT_ID]/traces/[TRACE_ID]/spans/SPAN_ID is a unique identifier for a trace within a project; it is a 32-character hexadecimal encoding of a 16-byte array. [SPAN_ID] is a unique identifier for a span within a trace; it is a 16-character hexadecimal encoding of an 8-byte array. + * @param {().Span} 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 + */ + createSpan(params?: Params$Resource$Projects$Traces$Spans$Createspan, options?: MethodOptions): AxiosPromise; + createSpan(params: Params$Resource$Projects$Traces$Spans$Createspan, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + createSpan(params: Params$Resource$Projects$Traces$Spans$Createspan, callback: BodyResponseCallback): void; + createSpan(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Traces$Spans$Createspan { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the span in the following format: + * projects/[PROJECT_ID]/traces/[TRACE_ID]/spans/SPAN_ID is a unique + * identifier for a trace within a project; it is a 32-character hexadecimal + * encoding of a 16-byte array. [SPAN_ID] is a unique identifier for a span + * within a trace; it is a 16-character hexadecimal encoding of an 8-byte + * array. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Span; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudtrace/v2.js b/express-server/node_modules/googleapis/build/src/apis/cloudtrace/v2.js new file mode 100644 index 00000000..66ea4b57 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudtrace/v2.js @@ -0,0 +1,152 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var cloudtrace_v2; +(function (cloudtrace_v2) { + /** + * Stackdriver Trace API + * + * Sends application trace data to Stackdriver Trace for viewing. Trace data + * is collected for all App Engine applications by default. Trace data from + * other applications can be provided using this API. This library is used to + * interact with the Trace API directly. If you are looking to instrument your + * application for Stackdriver Trace, we recommend using OpenCensus. + * + * @example + * const {google} = require('googleapis'); + * const cloudtrace = google.cloudtrace('v2'); + * + * @namespace cloudtrace + * @type {Function} + * @version v2 + * @variation v2 + * @param {object=} options Options for Cloudtrace + */ + class Cloudtrace { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.projects = new Resource$Projects(this); + } + getRoot() { + return this.root; + } + } + cloudtrace_v2.Cloudtrace = Cloudtrace; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.traces = new Resource$Projects$Traces(root); + } + getRoot() { + return this.root; + } + } + cloudtrace_v2.Resource$Projects = Resource$Projects; + class Resource$Projects$Traces { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.spans = new Resource$Projects$Traces$Spans(root); + } + getRoot() { + return this.root; + } + batchWrite(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudtrace.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}/traces:batchWrite') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + cloudtrace_v2.Resource$Projects$Traces = Resource$Projects$Traces; + class Resource$Projects$Traces$Spans { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + createSpan(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://cloudtrace.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + cloudtrace_v2.Resource$Projects$Traces$Spans = Resource$Projects$Traces$Spans; +})(cloudtrace_v2 = exports.cloudtrace_v2 || (exports.cloudtrace_v2 = {})); +//# sourceMappingURL=v2.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/cloudtrace/v2.js.map b/express-server/node_modules/googleapis/build/src/apis/cloudtrace/v2.js.map new file mode 100644 index 00000000..34a682ec --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/cloudtrace/v2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v2.js","sourceRoot":"","sources":["../../../../src/apis/cloudtrace/v2.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/composer/README.md b/express-server/node_modules/googleapis/build/src/apis/composer/README.md new file mode 100644 index 00000000..07d5cbef --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/composer/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/composer + +> Manages Apache Airflow environments on Google Cloud Platform. + +## Installation + +```sh +$ npm install @google/composer +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/composer/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/composer/index.d.ts new file mode 100644 index 00000000..d586826b --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/composer/index.d.ts @@ -0,0 +1,10 @@ +import { composer_v1 } from './v1'; +import { composer_v1beta1 } from './v1beta1'; +export declare const VERSIONS: { + 'v1': typeof composer_v1.Composer; + 'v1beta1': typeof composer_v1beta1.Composer; +}; +export declare function composer(version: 'v1'): composer_v1.Composer; +export declare function composer(options: composer_v1.Options): composer_v1.Composer; +export declare function composer(version: 'v1beta1'): composer_v1beta1.Composer; +export declare function composer(options: composer_v1beta1.Options): composer_v1beta1.Composer; diff --git a/express-server/node_modules/googleapis/build/src/apis/composer/index.js b/express-server/node_modules/googleapis/build/src/apis/composer/index.js new file mode 100644 index 00000000..e3c48d5a --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/composer/index.js @@ -0,0 +1,27 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +const v1beta1_1 = require("./v1beta1"); +exports.VERSIONS = { + 'v1': v1_1.composer_v1.Composer, + 'v1beta1': v1beta1_1.composer_v1beta1.Composer, +}; +function composer(versionOrOptions) { + return googleapis_common_1.getAPI('composer', versionOrOptions, exports.VERSIONS, this); +} +exports.composer = composer; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/composer/index.js.map b/express-server/node_modules/googleapis/build/src/apis/composer/index.js.map new file mode 100644 index 00000000..da7567cb --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/composer/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/composer/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAiC;AACjC,uCAA2C;AAE9B,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,gBAAW,CAAC,QAAQ;IAC1B,SAAS,EAAE,0BAAgB,CAAC,QAAQ;CACrC,CAAC;AAOF,SAAgB,QAAQ,CAEpB,gBACwB;IAC1B,OAAO,0BAAM,CAAI,UAAU,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACjE,CAAC;AALD,4BAKC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/composer/package.json b/express-server/node_modules/googleapis/build/src/apis/composer/package.json new file mode 100644 index 00000000..078a1172 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/composer/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/composer", + "version": "0.1.0", + "description": "composer", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/composer/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/composer/v1.d.ts new file mode 100644 index 00000000..c42d580e --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/composer/v1.d.ts @@ -0,0 +1,784 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace composer_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Cloud Composer API + * + * Manages Apache Airflow environments on Google Cloud Platform. + * + * @example + * const {google} = require('googleapis'); + * const composer = google.composer('v1'); + * + * @namespace composer + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Composer + */ + class Composer { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + projects: Resource$Projects; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * An environment for running orchestration tasks. + */ + interface Schema$Environment { + /** + * Configuration parameters for this environment. + */ + config?: Schema$EnvironmentConfig; + /** + * Output only. The time at which this environment was created. + */ + createTime?: string; + /** + * Optional. User-defined labels for this environment. The labels map can + * contain no more than 64 entries. Entries of the labels map are UTF8 + * strings that comply with the following restrictions: * Keys must conform + * to regexp: \p{Ll}\p{Lo}{0,62} * Values must conform to regexp: + * [\p{Ll}\p{Lo}\p{N}_-]{0,63} * Both keys and values are additionally + * constrained to be <= 128 bytes in size. + */ + labels?: any; + /** + * The resource name of the environment, in the form: + * "projects/{projectId}/locations/{locationId}/environments/{environmentId}" + */ + name?: string; + /** + * The current state of the environment. + */ + state?: string; + /** + * Output only. The time at which this environment was last modified. + */ + updateTime?: string; + /** + * Output only. The UUID (Universally Unique IDentifier) associated with + * this environment. This value is generated when the environment is + * created. + */ + uuid?: string; + } + /** + * Configuration information for an environment. + */ + interface Schema$EnvironmentConfig { + /** + * The URI of the Apache Airflow Web UI hosted within this environment (see + * [Airflow web + * interface](/composer/docs/how-to/accessing/airflow-web-interface)). + */ + airflowUri?: string; + /** + * Output only. The Cloud Storage prefix of the DAGs for this environment. + * Although Cloud Storage objects reside in a flat namespace, a hierarchical + * file tree can be simulated using "/"-delimited object name + * prefixes. DAG objects for this environment reside in a simulated + * directory with the given prefix. + */ + dagGcsPrefix?: string; + /** + * Output only. The Kubernetes Engine cluster used to run this environment. + */ + gkeCluster?: string; + /** + * The configuration used for the Kubernetes Engine cluster. + */ + nodeConfig?: Schema$NodeConfig; + /** + * The number of nodes in the Kubernetes Engine cluster that will be used to + * run this environment. + */ + nodeCount?: number; + /** + * The configuration settings for software inside the environment. + */ + softwareConfig?: Schema$SoftwareConfig; + } + /** + * The environments in a project and location. + */ + interface Schema$ListEnvironmentsResponse { + /** + * The list of environments returned by a ListEnvironmentsRequest. + */ + environments?: Schema$Environment[]; + /** + * The page token used to query for the next page if one exists. + */ + nextPageToken?: string; + } + /** + * The response message for Operations.ListOperations. + */ + interface Schema$ListOperationsResponse { + /** + * The standard List next-page token. + */ + nextPageToken?: string; + /** + * A list of operations that matches the specified filter in the request. + */ + operations?: Schema$Operation[]; + } + /** + * The configuration information for the Kubernetes Engine nodes running the + * Apache Airflow software. + */ + interface Schema$NodeConfig { + /** + * Optional. The disk size in GB used for node VMs. Minimum size is 20GB. If + * unspecified, defaults to 100GB. Cannot be updated. + */ + diskSizeGb?: number; + /** + * Optional. The Compute Engine [zone](/compute/docs/regions-zones) in which + * to deploy the VMs used to run the Apache Airflow software, specified as a + * [relative resource + * name](/apis/design/resource_names#relative_resource_name). For example: + * "projects/{projectId}/zones/{zoneId}". This `location` must + * belong to the enclosing environment's project and location. If both + * this field and `nodeConfig.machineType` are specified, + * `nodeConfig.machineType` must belong to this `location`; if both are + * unspecified, the service will pick a zone in the Compute Engine region + * corresponding to the Cloud Composer location, and propagate that choice + * to both fields. If only one field (`location` or + * `nodeConfig.machineType`) is specified, the location information from the + * specified field will be propagated to the unspecified field. + */ + location?: string; + /** + * Optional. The Compute Engine [machine type](/compute/docs/machine-types) + * used for cluster instances, specified as a [relative resource + * name](/apis/design/resource_names#relative_resource_name). For example: + * "projects/{projectId}/zones/{zoneId}/machineTypes/{machineTypeId}". + * The `machineType` must belong to the enclosing environment's project + * and location. If both this field and `nodeConfig.location` are specified, + * this `machineType` must belong to the `nodeConfig.location`; if both are + * unspecified, the service will pick a zone in the Compute Engine region + * corresponding to the Cloud Composer location, and propagate that choice + * to both fields. If exactly one of this field and `nodeConfig.location` is + * specified, the location information from the specified field will be + * propagated to the unspecified field. If this field is unspecified, the + * `machineTypeId` defaults to "n1-standard-1". + */ + machineType?: string; + /** + * Optional. The Compute Engine network to be used for machine + * communications, specified as a [relative resource + * name](/apis/design/resource_names#relative_resource_name). For example: + * "projects/{projectId}/global/networks/{networkId}". [Shared + * VPC](/vpc/docs/shared-vpc) is not currently supported. The network must + * belong to the environment's project. If unspecified, the + * "default" network ID in the environment's project is used. + * If a [Custom Subnet Network](/vpc/docs/vpc#vpc_networks_and_subnets) is + * provided, `nodeConfig.subnetwork` must also be provided. + */ + network?: string; + /** + * Optional. The set of Google API scopes to be made available on all node + * VMs. If `oauth_scopes` is empty, defaults to + * ["https://www.googleapis.com/auth/cloud-platform"]. Cannot be + * updated. + */ + oauthScopes?: string[]; + /** + * Optional. The Google Cloud Platform Service Account to be used by the + * node VMs. If a service account is not specified, the "default" + * Compute Engine service account is used. Cannot be updated. + */ + serviceAccount?: string; + /** + * Optional. The Compute Engine subnetwork to be used for machine + * communications, specified as a [relative resource + * name](/apis/design/resource_names#relative_resource_name). For example: + * "projects/{projectId}/regions/{regionId}/subnetworks/{subnetworkId}" + * If a subnetwork is provided, `nodeConfig.network` must also be provided, + * and the subnetwork must belong to the enclosing environment's project + * and location. + */ + subnetwork?: string; + /** + * Optional. The list of instance tags applied to all node VMs. Tags are + * used to identify valid sources or targets for network firewalls. Each tag + * within the list must comply with + * [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). Cannot be updated. + */ + tags?: string[]; + } + /** + * This resource represents a long-running operation that is the result of a + * network API call. + */ + interface Schema$Operation { + /** + * If the value is `false`, it means the operation is still in progress. If + * `true`, the operation is completed, and either `error` or `response` is + * available. + */ + done?: boolean; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * Service-specific metadata associated with the operation. It typically + * contains progress information and common metadata such as create time. + * Some services might not provide such metadata. Any method that returns a + * long-running operation should document the metadata type, if any. + */ + metadata?: any; + /** + * The server-assigned name, which is only unique within the same service + * that originally returns it. If you use the default HTTP mapping, the + * `name` should have the format of `operations/some/unique/name`. + */ + name?: string; + /** + * The normal response of the operation in case of success. If the original + * method returns no data on success, such as `Delete`, the response is + * `google.protobuf.Empty`. If the original method is standard + * `Get`/`Create`/`Update`, the response should be the resource. For other + * methods, the response should have the type `XxxResponse`, where `Xxx` is + * the original method name. For example, if the original method name is + * `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: any; + } + /** + * Metadata describing an operation. + */ + interface Schema$OperationMetadata { + /** + * Output only. The time the operation was submitted to the server. + */ + createTime?: string; + /** + * Output only. The time when the operation terminated, regardless of its + * success. This field is unset if the operation is still ongoing. + */ + endTime?: string; + /** + * Output only. The type of operation being performed. + */ + operationType?: string; + /** + * Output only. The resource being operated on, as a [relative resource + * name]( /apis/design/resource_names#relative_resource_name). + */ + resource?: string; + /** + * Output only. The UUID of the resource being operated on. + */ + resourceUuid?: string; + /** + * Output only. The current operation state. + */ + state?: string; + } + /** + * Specifies the selection and configuration of software inside the + * environment. + */ + interface Schema$SoftwareConfig { + /** + * Optional. Apache Airflow configuration properties to override. Property + * keys contain the section and property names, separated by a hyphen, for + * example "core-dags_are_paused_at_creation". Section names must + * not contain hyphens ("-"), opening square brackets + * ("["), or closing square brackets ("]"). The + * property name must not be empty and must not contain an equals sign + * ("=") or semicolon (";"). Section and property names + * must not contain a period ("."). Apache Airflow configuration + * property names must be written in + * [snake_case](https://en.wikipedia.org/wiki/Snake_case). Property values + * can contain any character, and can be written in any lower/upper case + * format. Certain Apache Airflow configuration property values are + * [blacklisted](/composer/docs/how-to/managing/setting-airflow-configurations#airflow_configuration_blacklists), + * and cannot be overridden. + */ + airflowConfigOverrides?: any; + /** + * Optional. Additional environment variables to provide to the Apache + * Airflow scheduler, worker, and webserver processes. Environment variable + * names must match the regular expression `a-zA-Z_*`. They cannot specify + * Apache Airflow software configuration overrides (they cannot match the + * regular expression `AIRFLOW__[A-Z0-9_]+__[A-Z0-9_]+`), and they cannot + * match any of the following reserved names: * `AIRFLOW_HOME` * + * `C_FORCE_ROOT` * `CONTAINER_NAME` * `DAGS_FOLDER` * `GCP_PROJECT` * + * `GCS_BUCKET` * `GKE_CLUSTER_NAME` * `SQL_DATABASE` * `SQL_INSTANCE` * + * `SQL_PASSWORD` * `SQL_PROJECT` * `SQL_REGION` * `SQL_USER` + */ + envVariables?: any; + /** + * Output only. The version of the software running in the environment. This + * encapsulates both the version of Cloud Composer functionality and the + * version of Apache Airflow. It must match the regular expression + * `composer-[0-9]+\.[0-9]+(\.[0-9]+)?-airflow-[0-9]+\.[0-9]+(\.[0-9]+.*)?`. + * The Cloud Composer portion of the version is a [semantic + * version](https://semver.org). The portion of the image version following + * _airflow-_ is an official Apache Airflow repository [release + * name](https://github.com/apache/incubator-airflow/releases). See also + * [Release Notes](/composer/docs/release-notes). + */ + imageVersion?: string; + /** + * Optional. Custom Python Package Index (PyPI) packages to be installed in + * the environment. Keys refer to the lowercase package name such as + * "numpy" and values are the lowercase extras and version + * specifier such as "==1.12.0", "[devel,gcp_api]", or + * "[devel]>=1.8.2, <1.9.2". To specify a package without + * pinning it to a version specifier, use the empty string as the value. + */ + pypiPackages?: any; + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + class Resource$Projects { + root: Composer; + locations: Resource$Projects$Locations; + constructor(root: Composer); + getRoot(): Composer; + } + class Resource$Projects$Locations { + root: Composer; + environments: Resource$Projects$Locations$Environments; + operations: Resource$Projects$Locations$Operations; + constructor(root: Composer); + getRoot(): Composer; + } + class Resource$Projects$Locations$Environments { + root: Composer; + constructor(root: Composer); + getRoot(): Composer; + /** + * composer.projects.locations.environments.create + * @desc Create a new environment. + * @alias composer.projects.locations.environments.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent The parent must be of the form "projects/{projectId}/locations/{locationId}". + * @param {().Environment} 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 + */ + create(params?: Params$Resource$Projects$Locations$Environments$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Locations$Environments$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Locations$Environments$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * composer.projects.locations.environments.delete + * @desc Delete an environment. + * @alias composer.projects.locations.environments.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The environment to delete, in the form: "projects/{projectId}/locations/{locationId}/environments/{environmentId}" + * @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?: Params$Resource$Projects$Locations$Environments$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Locations$Environments$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Locations$Environments$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * composer.projects.locations.environments.get + * @desc Get an existing environment. + * @alias composer.projects.locations.environments.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name of the environment to get, in the form: "projects/{projectId}/locations/{locationId}/environments/{environmentId}" + * @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?: Params$Resource$Projects$Locations$Environments$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Locations$Environments$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Locations$Environments$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * composer.projects.locations.environments.list + * @desc List environments. + * @alias composer.projects.locations.environments.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize The maximum number of environments to return. + * @param {string=} params.pageToken The next_page_token value returned from a previous List request, if any. + * @param {string} params.parent List environments in the given project and location, in the form: "projects/{projectId}/locations/{locationId}" + * @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?: Params$Resource$Projects$Locations$Environments$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$Environments$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$Environments$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * composer.projects.locations.environments.patch + * @desc Update an environment. + * @alias composer.projects.locations.environments.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The relative resource name of the environment to update, in the form: "projects/{projectId}/locations/{locationId}/environments/{environmentId}" + * @param {string=} params.updateMask Required. A comma-separated list of paths, relative to `Environment`, of fields to update. For example, to set the version of scikit-learn to install in the environment to 0.19.0 and to remove an existing installation of numpy, the `updateMask` parameter would include the following two `paths` values: "config.softwareConfig.pypiPackages.scikit-learn" and "config.softwareConfig.pypiPackages.numpy". The included patch environment would specify the scikit-learn version as follows: { "config":{ "softwareConfig":{ "pypiPackages":{ "scikit-learn":"==0.19.0" } } } } Note that in the above example, any existing PyPI packages other than scikit-learn and numpy will be unaffected. Only one update type may be included in a single request's `updateMask`. For example, one cannot update both the PyPI packages and labels in the same request. However, it is possible to update multiple members of a map field simultaneously in the same request. For example, to set the labels "label1" and "label2" while clearing "label3" (assuming it already exists), one can provide the paths "labels.label1", "labels.label2", and "labels.label3" and populate the patch environment as follows: { "labels":{ "label1":"new-label1-value" "label2":"new-label2-value" } } Note that in the above example, any existing labels that are not included in the `updateMask` will be unaffected. It is also possible to replace an entire map field by providing the map field's path in the `updateMask`. The new value of the field will be that which is provided in the patch environment. For example, to delete all pre-existing user-specified PyPI packages and install botocore at version 1.7.14, the `updateMask` would contain the path "config.softwareConfig.pypiPackages", and the patch environment would be the following: { "config":{ "softwareConfig":{ "pypiPackages":{ "botocore":"==1.7.14" } } } } **Note:** Only the following fields can be updated:
Mask Purpose
config.softwareConfig.pypiPackages Replace all custom custom PyPI packages. If a replacement package map is not included in `environment`, all custom PyPI packages are cleared. It is an error to provide both this mask and a mask specifying an individual package.
config.softwareConfig.pypiPackages.packagename Update the custom PyPI package packagename, preserving other packages. To delete the package, include it in `updateMask`, and omit the mapping for it in `environment.config.softwareConfig.pypiPackages`. It is an error to provide both a mask of this form and the "config.softwareConfig.pypiPackages" mask.
labels Replace all environment labels. If a replacement labels map is not included in `environment`, all labels are cleared. It is an error to provide both this mask and a mask specifying one or more individual labels.
labels.labelName Set the label named labelName, while preserving other labels. To delete the label, include it in `updateMask` and omit its mapping in `environment.labels`. It is an error to provide both a mask of this form and the "labels" mask.
config.nodeCount Horizontally scale the number of nodes in the environment. An integer greater than or equal to 3 must be provided in the `config.nodeCount` field.
config.softwareConfig.airflowConfigOverrides Replace all Apache Airflow config overrides. If a replacement config overrides map is not included in `environment`, all config overrides are cleared. It is an error to provide both this mask and a mask specifying one or more individual config overrides.
config.softwareConfig.airflowConfigOverrides.section-name Override the Apache Airflow config property name in the section named section, preserving other properties. To delete the property override, include it in `updateMask` and omit its mapping in `environment.config.softwareConfig.airflowConfigOverrides`. It is an error to provide both a mask of this form and the "config.softwareConfig.airflowConfigOverrides" mask.
config.softwareConfig.envVariables Replace all environment variables. If a replacement environment variable map is not included in `environment`, all custom environment variables are cleared. It is an error to provide both this mask and a mask specifying one or more individual environment variables.
+ * @param {().Environment} 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 + */ + patch(params?: Params$Resource$Projects$Locations$Environments$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Locations$Environments$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Locations$Environments$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Environments$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The parent must be of the form + * "projects/{projectId}/locations/{locationId}". + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Environment; + } + interface Params$Resource$Projects$Locations$Environments$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The environment to delete, in the form: + * "projects/{projectId}/locations/{locationId}/environments/{environmentId}" + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Environments$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the environment to get, in the form: + * "projects/{projectId}/locations/{locationId}/environments/{environmentId}" + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Environments$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The maximum number of environments to return. + */ + pageSize?: number; + /** + * The next_page_token value returned from a previous List request, if any. + */ + pageToken?: string; + /** + * List environments in the given project and location, in the form: + * "projects/{projectId}/locations/{locationId}" + */ + parent?: string; + } + interface Params$Resource$Projects$Locations$Environments$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The relative resource name of the environment to update, in the form: + * "projects/{projectId}/locations/{locationId}/environments/{environmentId}" + */ + name?: string; + /** + * Required. A comma-separated list of paths, relative to `Environment`, of + * fields to update. For example, to set the version of scikit-learn to + * install in the environment to 0.19.0 and to remove an existing + * installation of numpy, the `updateMask` parameter would include the + * following two `paths` values: + * "config.softwareConfig.pypiPackages.scikit-learn" and + * "config.softwareConfig.pypiPackages.numpy". The included patch + * environment would specify the scikit-learn version as follows: { + * "config":{ "softwareConfig":{ "pypiPackages":{ + * "scikit-learn":"==0.19.0" } } } } Note that + * in the above example, any existing PyPI packages other than scikit-learn + * and numpy will be unaffected. Only one update type may be included in a + * single request's `updateMask`. For example, one cannot update both the + * PyPI packages and labels in the same request. However, it is possible to + * update multiple members of a map field simultaneously in the same + * request. For example, to set the labels "label1" and "label2" while + * clearing "label3" (assuming it already exists), one can provide the paths + * "labels.label1", "labels.label2", and "labels.label3" and populate the + * patch environment as follows: { "labels":{ + * "label1":"new-label1-value" "label2":"new-label2-value" } + * } Note that in the above example, any existing labels that are not + * included in the `updateMask` will be unaffected. It is also possible to + * replace an entire map field by providing the map field's path in the + * `updateMask`. The new value of the field will be that which is provided + * in the patch environment. For example, to delete all pre-existing + * user-specified PyPI packages and install botocore at version 1.7.14, the + * `updateMask` would contain the path "config.softwareConfig.pypiPackages", + * and the patch environment would be the following: { "config":{ + * "softwareConfig":{ "pypiPackages":{ "botocore":"==1.7.14" } } + * } } **Note:** Only the following fields can be updated: + * + * + * + * + * + * + * + * + * + * + * + *
MaskPurpose
config.softwareConfig.pypiPackages Replace all custom + * custom PyPI packages. If a replacement package map is not included in + * `environment`, all custom PyPI packages are cleared. It is an error to + * provide both this mask and a mask specifying an individual package.
config.softwareConfig.pypiPackages.packagenameUpdate the custom PyPI package packagename, preserving + * other packages. To delete the package, include it in `updateMask`, and + * omit the mapping for it in + * `environment.config.softwareConfig.pypiPackages`. It is an error to + * provide both a mask of this form and the + * "config.softwareConfig.pypiPackages" mask.
labels Replace all environment labels. If a replacement + * labels map is not included in `environment`, all labels are cleared. It + * is an error to provide both this mask and a mask specifying one or more + * individual labels.
labels.labelName Set the label named + * labelName, while preserving other labels. To delete the + * label, include it in `updateMask` and omit its mapping in + * `environment.labels`. It is an error to provide both a mask of this form + * and the "labels" mask.
config.nodeCountHorizontally scale the number of nodes in the environment. An integer + * greater than or equal to 3 must be provided in the `config.nodeCount` + * field.
config.softwareConfig.airflowConfigOverrides Replace all + * Apache Airflow config overrides. If a replacement config overrides map + * is not included in `environment`, all config overrides are cleared. It + * is an error to provide both this mask and a mask specifying one or more + * individual config overrides.
config.softwareConfig.airflowConfigOverrides.section-name + * Override the Apache Airflow config property + * name in the section named section, preserving + * other properties. To delete the property override, include it in + * `updateMask` and omit its mapping in + * `environment.config.softwareConfig.airflowConfigOverrides`. It is an + * error to provide both a mask of this form and the + * "config.softwareConfig.airflowConfigOverrides" mask.
config.softwareConfig.envVariables Replace all environment + * variables. If a replacement environment variable map is not included in + * `environment`, all custom environment variables are cleared. It is an + * error to provide both this mask and a mask specifying one or more + * individual environment variables.
+ */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Environment; + } + class Resource$Projects$Locations$Operations { + root: Composer; + constructor(root: Composer); + getRoot(): Composer; + /** + * composer.projects.locations.operations.delete + * @desc Deletes a long-running operation. This method indicates that the + * client is no longer interested in the operation result. It does not + * cancel the operation. If the server doesn't support this method, it + * returns `google.rpc.Code.UNIMPLEMENTED`. + * @alias composer.projects.locations.operations.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource to be deleted. + * @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?: Params$Resource$Projects$Locations$Operations$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Locations$Operations$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Locations$Operations$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * composer.projects.locations.operations.get + * @desc Gets the latest state of a long-running operation. Clients can use + * this method to poll the operation result at intervals as recommended by + * the API service. + * @alias composer.projects.locations.operations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource. + * @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?: Params$Resource$Projects$Locations$Operations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Locations$Operations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Locations$Operations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * composer.projects.locations.operations.list + * @desc Lists operations that match the specified filter in the request. If + * the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: + * the `name` binding allows API services to override the binding to use + * different resource name schemes, such as `users/x/operations`. To + * override the binding, API services can add a binding such as + * `"/v1/{name=users/x}/operations"` to their service configuration. For + * backwards compatibility, the default name includes the operations + * collection id, however overriding users must ensure the name binding is + * the parent resource, without the operations collection id. + * @alias composer.projects.locations.operations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter The standard list filter. + * @param {string} params.name The name of the operation's parent resource. + * @param {integer=} params.pageSize The standard list page size. + * @param {string=} params.pageToken The standard list page token. + * @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?: Params$Resource$Projects$Locations$Operations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$Operations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$Operations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Operations$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource to be deleted. + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Operations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource. + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Operations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The standard list filter. + */ + filter?: string; + /** + * The name of the operation's parent resource. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/composer/v1.js b/express-server/node_modules/googleapis/build/src/apis/composer/v1.js new file mode 100644 index 00000000..6c82032a --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/composer/v1.js @@ -0,0 +1,341 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var composer_v1; +(function (composer_v1) { + /** + * Cloud Composer API + * + * Manages Apache Airflow environments on Google Cloud Platform. + * + * @example + * const {google} = require('googleapis'); + * const composer = google.composer('v1'); + * + * @namespace composer + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Composer + */ + class Composer { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.projects = new Resource$Projects(this); + } + getRoot() { + return this.root; + } + } + composer_v1.Composer = Composer; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.locations = new Resource$Projects$Locations(root); + } + getRoot() { + return this.root; + } + } + composer_v1.Resource$Projects = Resource$Projects; + class Resource$Projects$Locations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.environments = new Resource$Projects$Locations$Environments(root); + this.operations = new Resource$Projects$Locations$Operations(root); + } + getRoot() { + return this.root; + } + } + composer_v1.Resource$Projects$Locations = Resource$Projects$Locations; + class Resource$Projects$Locations$Environments { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://composer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/environments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://composer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://composer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://composer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/environments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://composer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + composer_v1.Resource$Projects$Locations$Environments = Resource$Projects$Locations$Environments; + class Resource$Projects$Locations$Operations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://composer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://composer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://composer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}/operations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + composer_v1.Resource$Projects$Locations$Operations = Resource$Projects$Locations$Operations; +})(composer_v1 = exports.composer_v1 || (exports.composer_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/composer/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/composer/v1.js.map new file mode 100644 index 00000000..b282b2d7 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/composer/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/composer/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/composer/v1beta1.d.ts b/express-server/node_modules/googleapis/build/src/apis/composer/v1beta1.d.ts new file mode 100644 index 00000000..7ad1b947 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/composer/v1beta1.d.ts @@ -0,0 +1,787 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace composer_v1beta1 { + interface Options extends GlobalOptions { + version: 'v1beta1'; + } + /** + * Cloud Composer API + * + * Manages Apache Airflow environments on Google Cloud Platform. + * + * @example + * const {google} = require('googleapis'); + * const composer = google.composer('v1beta1'); + * + * @namespace composer + * @type {Function} + * @version v1beta1 + * @variation v1beta1 + * @param {object=} options Options for Composer + */ + class Composer { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + projects: Resource$Projects; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * An environment for running orchestration tasks. + */ + interface Schema$Environment { + /** + * Configuration parameters for this environment. + */ + config?: Schema$EnvironmentConfig; + /** + * Output only. The time at which this environment was created. + */ + createTime?: string; + /** + * Optional. User-defined labels for this environment. The labels map can + * contain no more than 64 entries. Entries of the labels map are UTF8 + * strings that comply with the following restrictions: * Keys must conform + * to regexp: \p{Ll}\p{Lo}{0,62} * Values must conform to regexp: + * [\p{Ll}\p{Lo}\p{N}_-]{0,63} * Both keys and values are additionally + * constrained to be <= 128 bytes in size. + */ + labels?: any; + /** + * The resource name of the environment, in the form: + * "projects/{projectId}/locations/{locationId}/environments/{environmentId}" + */ + name?: string; + /** + * The current state of the environment. + */ + state?: string; + /** + * Output only. The time at which this environment was last modified. + */ + updateTime?: string; + /** + * Output only. The UUID (Universally Unique IDentifier) associated with + * this environment. This value is generated when the environment is + * created. + */ + uuid?: string; + } + /** + * Configuration information for an environment. + */ + interface Schema$EnvironmentConfig { + /** + * The URI of the Apache Airflow Web UI hosted within this environment (see + * [Airflow web + * interface](/composer/docs/how-to/accessing/airflow-web-interface)). + */ + airflowUri?: string; + /** + * Output only. The Cloud Storage prefix of the DAGs for this environment. + * Although Cloud Storage objects reside in a flat namespace, a hierarchical + * file tree can be simulated using "/"-delimited object name + * prefixes. DAG objects for this environment reside in a simulated + * directory with the given prefix. + */ + dagGcsPrefix?: string; + /** + * Output only. The Kubernetes Engine cluster used to run this environment. + */ + gkeCluster?: string; + /** + * The configuration used for the Kubernetes Engine cluster. + */ + nodeConfig?: Schema$NodeConfig; + /** + * The number of nodes in the Kubernetes Engine cluster that will be used to + * run this environment. + */ + nodeCount?: number; + /** + * The configuration settings for software inside the environment. + */ + softwareConfig?: Schema$SoftwareConfig; + } + /** + * The environments in a project and location. + */ + interface Schema$ListEnvironmentsResponse { + /** + * The list of environments returned by a ListEnvironmentsRequest. + */ + environments?: Schema$Environment[]; + /** + * The page token used to query for the next page if one exists. + */ + nextPageToken?: string; + } + /** + * The response message for Operations.ListOperations. + */ + interface Schema$ListOperationsResponse { + /** + * The standard List next-page token. + */ + nextPageToken?: string; + /** + * A list of operations that matches the specified filter in the request. + */ + operations?: Schema$Operation[]; + } + /** + * The configuration information for the Kubernetes Engine nodes running the + * Apache Airflow software. + */ + interface Schema$NodeConfig { + /** + * Optional. The disk size in GB used for node VMs. Minimum size is 20GB. If + * unspecified, defaults to 100GB. Cannot be updated. + */ + diskSizeGb?: number; + /** + * Optional. The Compute Engine [zone](/compute/docs/regions-zones) in which + * to deploy the VMs used to run the Apache Airflow software, specified as a + * [relative resource + * name](/apis/design/resource_names#relative_resource_name). For example: + * "projects/{projectId}/zones/{zoneId}". This `location` must + * belong to the enclosing environment's project and location. If both + * this field and `nodeConfig.machineType` are specified, + * `nodeConfig.machineType` must belong to this `location`; if both are + * unspecified, the service will pick a zone in the Compute Engine region + * corresponding to the Cloud Composer location, and propagate that choice + * to both fields. If only one field (`location` or + * `nodeConfig.machineType`) is specified, the location information from the + * specified field will be propagated to the unspecified field. + */ + location?: string; + /** + * Optional. The Compute Engine [machine type](/compute/docs/machine-types) + * used for cluster instances, specified as a [relative resource + * name](/apis/design/resource_names#relative_resource_name). For example: + * "projects/{projectId}/zones/{zoneId}/machineTypes/{machineTypeId}". + * The `machineType` must belong to the enclosing environment's project + * and location. If both this field and `nodeConfig.location` are specified, + * this `machineType` must belong to the `nodeConfig.location`; if both are + * unspecified, the service will pick a zone in the Compute Engine region + * corresponding to the Cloud Composer location, and propagate that choice + * to both fields. If exactly one of this field and `nodeConfig.location` is + * specified, the location information from the specified field will be + * propagated to the unspecified field. If this field is unspecified, the + * `machineTypeId` defaults to "n1-standard-1". + */ + machineType?: string; + /** + * Optional. The Compute Engine network to be used for machine + * communications, specified as a [relative resource + * name](/apis/design/resource_names#relative_resource_name). For example: + * "projects/{projectId}/global/networks/{networkId}". If + * unspecified, the default network in the environment's project is + * used. If a [Custom Subnet + * Network](/vpc/docs/vpc#vpc_networks_and_subnets) is provided, + * `nodeConfig.subnetwork` must also be provided. For [Shared + * VPC](/vpc/docs/shared-vpc) subnetwork requirements, see + * `nodeConfig.subnetwork`. + */ + network?: string; + /** + * Optional. The set of Google API scopes to be made available on all node + * VMs. Defaults to + * ["https://www.googleapis.com/auth/cloud-platform"] and must be + * included in the list of specified scopes. Cannot be updated. + */ + oauthScopes?: string[]; + /** + * Optional. The Google Cloud Platform Service Account to be used by the + * node VMs. If a service account is not specified, the "default" + * Compute Engine service account is used. Cannot be updated. + */ + serviceAccount?: string; + /** + * Optional. The Compute Engine subnetwork to be used for machine + * communications, specified as a [relative resource + * name](/apis/design/resource_names#relative_resource_name). For example: + * "projects/{projectId}/regions/{regionId}/subnetworks/{subnetworkId}" + * If a subnetwork is provided, `nodeConfig.network` must also be provided, + * and the subnetwork must belong to the same project as the network. For + * Shared VPC, you must configure the subnetwork with secondary ranges named + * <strong>composer-pods</strong> and + * <strong>composer-services</strong> to support Alias IPs. + */ + subnetwork?: string; + /** + * Optional. The list of instance tags applied to all node VMs. Tags are + * used to identify valid sources or targets for network firewalls. Each tag + * within the list must comply with + * [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). Cannot be updated. + */ + tags?: string[]; + } + /** + * This resource represents a long-running operation that is the result of a + * network API call. + */ + interface Schema$Operation { + /** + * If the value is `false`, it means the operation is still in progress. If + * `true`, the operation is completed, and either `error` or `response` is + * available. + */ + done?: boolean; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * Service-specific metadata associated with the operation. It typically + * contains progress information and common metadata such as create time. + * Some services might not provide such metadata. Any method that returns a + * long-running operation should document the metadata type, if any. + */ + metadata?: any; + /** + * The server-assigned name, which is only unique within the same service + * that originally returns it. If you use the default HTTP mapping, the + * `name` should have the format of `operations/some/unique/name`. + */ + name?: string; + /** + * The normal response of the operation in case of success. If the original + * method returns no data on success, such as `Delete`, the response is + * `google.protobuf.Empty`. If the original method is standard + * `Get`/`Create`/`Update`, the response should be the resource. For other + * methods, the response should have the type `XxxResponse`, where `Xxx` is + * the original method name. For example, if the original method name is + * `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: any; + } + /** + * Metadata describing an operation. + */ + interface Schema$OperationMetadata { + /** + * Output only. The time the operation was submitted to the server. + */ + createTime?: string; + /** + * Output only. The time when the operation terminated, regardless of its + * success. This field is unset if the operation is still ongoing. + */ + endTime?: string; + /** + * Output only. The type of operation being performed. + */ + operationType?: string; + /** + * Output only. The resource being operated on, as a [relative resource + * name]( /apis/design/resource_names#relative_resource_name). + */ + resource?: string; + /** + * Output only. The UUID of the resource being operated on. + */ + resourceUuid?: string; + /** + * Output only. The current operation state. + */ + state?: string; + } + /** + * Specifies the selection and configuration of software inside the + * environment. + */ + interface Schema$SoftwareConfig { + /** + * Optional. Apache Airflow configuration properties to override. Property + * keys contain the section and property names, separated by a hyphen, for + * example "core-dags_are_paused_at_creation". Section names must + * not contain hyphens ("-"), opening square brackets + * ("["), or closing square brackets ("]"). The + * property name must not be empty and must not contain an equals sign + * ("=") or semicolon (";"). Section and property names + * must not contain a period ("."). Apache Airflow configuration + * property names must be written in + * [snake_case](https://en.wikipedia.org/wiki/Snake_case). Property values + * can contain any character, and can be written in any lower/upper case + * format. Certain Apache Airflow configuration property values are + * [blacklisted](/composer/docs/how-to/managing/setting-airflow-configurations#airflow_configuration_blacklists), + * and cannot be overridden. + */ + airflowConfigOverrides?: any; + /** + * Optional. Additional environment variables to provide to the Apache + * Airflow scheduler, worker, and webserver processes. Environment variable + * names must match the regular expression `a-zA-Z_*`. They cannot specify + * Apache Airflow software configuration overrides (they cannot match the + * regular expression `AIRFLOW__[A-Z0-9_]+__[A-Z0-9_]+`), and they cannot + * match any of the following reserved names: * `AIRFLOW_HOME` * + * `C_FORCE_ROOT` * `CONTAINER_NAME` * `DAGS_FOLDER` * `GCP_PROJECT` * + * `GCS_BUCKET` * `GKE_CLUSTER_NAME` * `SQL_DATABASE` * `SQL_INSTANCE` * + * `SQL_PASSWORD` * `SQL_PROJECT` * `SQL_REGION` * `SQL_USER` + */ + envVariables?: any; + /** + * Output only. The version of the software running in the environment. This + * encapsulates both the version of Cloud Composer functionality and the + * version of Apache Airflow. It must match the regular expression + * `composer-[0-9]+\.[0-9]+(\.[0-9]+)?-airflow-[0-9]+\.[0-9]+(\.[0-9]+.*)?`. + * The Cloud Composer portion of the version is a [semantic + * version](https://semver.org). The portion of the image version following + * <em>airflow-</em> is an official Apache Airflow repository + * [release name](https://github.com/apache/incubator-airflow/releases). See + * also [Release Notes](/composer/docs/release-notes). + */ + imageVersion?: string; + /** + * Optional. Custom Python Package Index (PyPI) packages to be installed in + * the environment. Keys refer to the lowercase package name such as + * "numpy" and values are the lowercase extras and version + * specifier such as "==1.12.0", "[devel,gcp_api]", or + * "[devel]>=1.8.2, <1.9.2". To specify a package without + * pinning it to a version specifier, use the empty string as the value. + */ + pypiPackages?: any; + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + class Resource$Projects { + root: Composer; + locations: Resource$Projects$Locations; + constructor(root: Composer); + getRoot(): Composer; + } + class Resource$Projects$Locations { + root: Composer; + environments: Resource$Projects$Locations$Environments; + operations: Resource$Projects$Locations$Operations; + constructor(root: Composer); + getRoot(): Composer; + } + class Resource$Projects$Locations$Environments { + root: Composer; + constructor(root: Composer); + getRoot(): Composer; + /** + * composer.projects.locations.environments.create + * @desc Create a new environment. + * @alias composer.projects.locations.environments.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent The parent must be of the form "projects/{projectId}/locations/{locationId}". + * @param {().Environment} 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 + */ + create(params?: Params$Resource$Projects$Locations$Environments$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Locations$Environments$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Locations$Environments$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * composer.projects.locations.environments.delete + * @desc Delete an environment. + * @alias composer.projects.locations.environments.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The environment to delete, in the form: "projects/{projectId}/locations/{locationId}/environments/{environmentId}" + * @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?: Params$Resource$Projects$Locations$Environments$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Locations$Environments$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Locations$Environments$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * composer.projects.locations.environments.get + * @desc Get an existing environment. + * @alias composer.projects.locations.environments.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name of the environment to get, in the form: "projects/{projectId}/locations/{locationId}/environments/{environmentId}" + * @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?: Params$Resource$Projects$Locations$Environments$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Locations$Environments$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Locations$Environments$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * composer.projects.locations.environments.list + * @desc List environments. + * @alias composer.projects.locations.environments.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize The maximum number of environments to return. + * @param {string=} params.pageToken The next_page_token value returned from a previous List request, if any. + * @param {string} params.parent List environments in the given project and location, in the form: "projects/{projectId}/locations/{locationId}" + * @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?: Params$Resource$Projects$Locations$Environments$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$Environments$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$Environments$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * composer.projects.locations.environments.patch + * @desc Update an environment. + * @alias composer.projects.locations.environments.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The relative resource name of the environment to update, in the form: "projects/{projectId}/locations/{locationId}/environments/{environmentId}" + * @param {string=} params.updateMask Required. A comma-separated list of paths, relative to `Environment`, of fields to update. For example, to set the version of scikit-learn to install in the environment to 0.19.0 and to remove an existing installation of argparse, the `updateMask` parameter would include the following two `paths` values: "config.softwareConfig.pypiPackages.scikit-learn" and "config.softwareConfig.pypiPackages.argparse". The included patch environment would specify the scikit-learn version as follows: { "config":{ "softwareConfig":{ "pypiPackages":{ "scikit-learn":"==0.19.0" } } } } Note that in the above example, any existing PyPI packages other than scikit-learn and argparse will be unaffected. Only one update type may be included in a single request's `updateMask`. For example, one cannot update both the PyPI packages and labels in the same request. However, it is possible to update multiple members of a map field simultaneously in the same request. For example, to set the labels "label1" and "label2" while clearing "label3" (assuming it already exists), one can provide the paths "labels.label1", "labels.label2", and "labels.label3" and populate the patch environment as follows: { "labels":{ "label1":"new-label1-value" "label2":"new-label2-value" } } Note that in the above example, any existing labels that are not included in the `updateMask` will be unaffected. It is also possible to replace an entire map field by providing the map field's path in the `updateMask`. The new value of the field will be that which is provided in the patch environment. For example, to delete all pre-existing user-specified PyPI packages and install botocore at version 1.7.14, the `updateMask` would contain the path "config.softwareConfig.pypiPackages", and the patch environment would be the following: { "config":{ "softwareConfig":{ "pypiPackages":{ "botocore":"==1.7.14" } } } } Note: Only the following fields can be updated:
Mask Purpose
config.softwareConfig.pypiPackages Replace all custom custom PyPI packages. If a replacement package map is not included in `environment`, all custom PyPI packages are cleared. It is an error to provide both this mask and a mask specifying an individual package.
config.softwareConfig.pypiPackages.packagename Update the custom PyPI package packagename, preserving other packages. To delete the package, include it in `updateMask`, and omit the mapping for it in `environment.config.softwareConfig.pypiPackages`. It is an error to provide both a mask of this form and the "config.softwareConfig.pypiPackages" mask.
labels Replace all environment labels. If a replacement labels map is not included in `environment`, all labels are cleared. It is an error to provide both this mask and a mask specifying one or more individual labels.
labels.labelName Set the label named labelName, while preserving other labels. To delete the label, include it in `updateMask` and omit its mapping in `environment.labels`. It is an error to provide both a mask of this form and the "labels" mask.
config.nodeCount Horizontally scale the number of nodes in the environment. An integer greater than or equal to 3 must be provided in the `config.nodeCount` field.
config.softwareConfig.airflowConfigOverrides Replace all Apache Airflow config overrides. If a replacement config overrides map is not included in `environment`, all config overrides are cleared. It is an error to provide both this mask and a mask specifying one or more individual config overrides.
config.softwareConfig.airflowConfigOverrides.section-name Override the Apache Airflow config property name in the section named section, preserving other properties. To delete the property override, include it in `updateMask` and omit its mapping in `environment.config.softwareConfig.airflowConfigOverrides`. It is an error to provide both a mask of this form and the "config.softwareConfig.airflowConfigOverrides" mask.
config.softwareConfig.envVariables Replace all environment variables. If a replacement environment variable map is not included in `environment`, all custom environment variables are cleared. It is an error to provide both this mask and a mask specifying one or more individual environment variables.
+ * @param {().Environment} 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 + */ + patch(params?: Params$Resource$Projects$Locations$Environments$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Locations$Environments$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Locations$Environments$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Environments$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The parent must be of the form + * "projects/{projectId}/locations/{locationId}". + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Environment; + } + interface Params$Resource$Projects$Locations$Environments$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The environment to delete, in the form: + * "projects/{projectId}/locations/{locationId}/environments/{environmentId}" + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Environments$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the environment to get, in the form: + * "projects/{projectId}/locations/{locationId}/environments/{environmentId}" + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Environments$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The maximum number of environments to return. + */ + pageSize?: number; + /** + * The next_page_token value returned from a previous List request, if any. + */ + pageToken?: string; + /** + * List environments in the given project and location, in the form: + * "projects/{projectId}/locations/{locationId}" + */ + parent?: string; + } + interface Params$Resource$Projects$Locations$Environments$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The relative resource name of the environment to update, in the form: + * "projects/{projectId}/locations/{locationId}/environments/{environmentId}" + */ + name?: string; + /** + * Required. A comma-separated list of paths, relative to `Environment`, of + * fields to update. For example, to set the version of scikit-learn to + * install in the environment to 0.19.0 and to remove an existing + * installation of argparse, the `updateMask` parameter would include the + * following two `paths` values: + * "config.softwareConfig.pypiPackages.scikit-learn" and + * "config.softwareConfig.pypiPackages.argparse". The included patch + * environment would specify the scikit-learn version as follows: { + * "config":{ "softwareConfig":{ "pypiPackages":{ + * "scikit-learn":"==0.19.0" } } } } Note that + * in the above example, any existing PyPI packages other than scikit-learn + * and argparse will be unaffected. Only one update type may be included in + * a single request's `updateMask`. For example, one cannot update both the + * PyPI packages and labels in the same request. However, it is possible to + * update multiple members of a map field simultaneously in the same + * request. For example, to set the labels "label1" and "label2" while + * clearing "label3" (assuming it already exists), one can provide the paths + * "labels.label1", "labels.label2", and "labels.label3" and populate the + * patch environment as follows: { "labels":{ + * "label1":"new-label1-value" "label2":"new-label2-value" } + * } Note that in the above example, any existing labels that are not + * included in the `updateMask` will be unaffected. It is also possible to + * replace an entire map field by providing the map field's path in the + * `updateMask`. The new value of the field will be that which is provided + * in the patch environment. For example, to delete all pre-existing + * user-specified PyPI packages and install botocore at version 1.7.14, the + * `updateMask` would contain the path "config.softwareConfig.pypiPackages", + * and the patch environment would be the following: { "config":{ + * "softwareConfig":{ "pypiPackages":{ "botocore":"==1.7.14" } } + * } } Note: Only the following fields can be updated: + * + * + * + * + * + * + * + * + * + * + * + *
MaskPurpose
config.softwareConfig.pypiPackages Replace all custom + * custom PyPI packages. If a replacement package map is not included in + * `environment`, all custom PyPI packages are cleared. It is an error to + * provide both this mask and a mask specifying an individual package.
config.softwareConfig.pypiPackages.packagenameUpdate the custom PyPI package packagename, preserving + * other packages. To delete the package, include it in `updateMask`, and + * omit the mapping for it in + * `environment.config.softwareConfig.pypiPackages`. It is an error to + * provide both a mask of this form and the + * "config.softwareConfig.pypiPackages" mask.
labels Replace all environment labels. If a replacement + * labels map is not included in `environment`, all labels are cleared. It + * is an error to provide both this mask and a mask specifying one or more + * individual labels.
labels.labelName Set the label named + * labelName, while preserving other labels. To delete the + * label, include it in `updateMask` and omit its mapping in + * `environment.labels`. It is an error to provide both a mask of this form + * and the "labels" mask.
config.nodeCountHorizontally scale the number of nodes in the environment. An integer + * greater than or equal to 3 must be provided in the `config.nodeCount` + * field.
config.softwareConfig.airflowConfigOverrides Replace all + * Apache Airflow config overrides. If a replacement config overrides map + * is not included in `environment`, all config overrides are cleared. It + * is an error to provide both this mask and a mask specifying one or more + * individual config overrides.
config.softwareConfig.airflowConfigOverrides.section-name + * Override the Apache Airflow config property + * name in the section named section, preserving + * other properties. To delete the property override, include it in + * `updateMask` and omit its mapping in + * `environment.config.softwareConfig.airflowConfigOverrides`. It is an + * error to provide both a mask of this form and the + * "config.softwareConfig.airflowConfigOverrides" mask.
config.softwareConfig.envVariables Replace all environment + * variables. If a replacement environment variable map is not included in + * `environment`, all custom environment variables are cleared. It is an + * error to provide both this mask and a mask specifying one or more + * individual environment variables.
+ */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Environment; + } + class Resource$Projects$Locations$Operations { + root: Composer; + constructor(root: Composer); + getRoot(): Composer; + /** + * composer.projects.locations.operations.delete + * @desc Deletes a long-running operation. This method indicates that the + * client is no longer interested in the operation result. It does not + * cancel the operation. If the server doesn't support this method, it + * returns `google.rpc.Code.UNIMPLEMENTED`. + * @alias composer.projects.locations.operations.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource to be deleted. + * @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?: Params$Resource$Projects$Locations$Operations$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Locations$Operations$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Locations$Operations$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * composer.projects.locations.operations.get + * @desc Gets the latest state of a long-running operation. Clients can use + * this method to poll the operation result at intervals as recommended by + * the API service. + * @alias composer.projects.locations.operations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource. + * @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?: Params$Resource$Projects$Locations$Operations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Locations$Operations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Locations$Operations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * composer.projects.locations.operations.list + * @desc Lists operations that match the specified filter in the request. If + * the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: + * the `name` binding allows API services to override the binding to use + * different resource name schemes, such as `users/x/operations`. To + * override the binding, API services can add a binding such as + * `"/v1/{name=users/x}/operations"` to their service configuration. For + * backwards compatibility, the default name includes the operations + * collection id, however overriding users must ensure the name binding is + * the parent resource, without the operations collection id. + * @alias composer.projects.locations.operations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter The standard list filter. + * @param {string} params.name The name of the operation's parent resource. + * @param {integer=} params.pageSize The standard list page size. + * @param {string=} params.pageToken The standard list page token. + * @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?: Params$Resource$Projects$Locations$Operations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$Operations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$Operations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Operations$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource to be deleted. + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Operations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource. + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Operations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The standard list filter. + */ + filter?: string; + /** + * The name of the operation's parent resource. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/composer/v1beta1.js b/express-server/node_modules/googleapis/build/src/apis/composer/v1beta1.js new file mode 100644 index 00000000..128d23d8 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/composer/v1beta1.js @@ -0,0 +1,341 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var composer_v1beta1; +(function (composer_v1beta1) { + /** + * Cloud Composer API + * + * Manages Apache Airflow environments on Google Cloud Platform. + * + * @example + * const {google} = require('googleapis'); + * const composer = google.composer('v1beta1'); + * + * @namespace composer + * @type {Function} + * @version v1beta1 + * @variation v1beta1 + * @param {object=} options Options for Composer + */ + class Composer { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.projects = new Resource$Projects(this); + } + getRoot() { + return this.root; + } + } + composer_v1beta1.Composer = Composer; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.locations = new Resource$Projects$Locations(root); + } + getRoot() { + return this.root; + } + } + composer_v1beta1.Resource$Projects = Resource$Projects; + class Resource$Projects$Locations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.environments = new Resource$Projects$Locations$Environments(root); + this.operations = new Resource$Projects$Locations$Operations(root); + } + getRoot() { + return this.root; + } + } + composer_v1beta1.Resource$Projects$Locations = Resource$Projects$Locations; + class Resource$Projects$Locations$Environments { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://composer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+parent}/environments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://composer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://composer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://composer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+parent}/environments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://composer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + composer_v1beta1.Resource$Projects$Locations$Environments = Resource$Projects$Locations$Environments; + class Resource$Projects$Locations$Operations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://composer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://composer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://composer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}/operations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + composer_v1beta1.Resource$Projects$Locations$Operations = Resource$Projects$Locations$Operations; +})(composer_v1beta1 = exports.composer_v1beta1 || (exports.composer_v1beta1 = {})); +//# sourceMappingURL=v1beta1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/composer/v1beta1.js.map b/express-server/node_modules/googleapis/build/src/apis/composer/v1beta1.js.map new file mode 100644 index 00000000..941489a9 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/composer/v1beta1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1beta1.js","sourceRoot":"","sources":["../../../../src/apis/composer/v1beta1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/compute/README.md b/express-server/node_modules/googleapis/build/src/apis/compute/README.md new file mode 100644 index 00000000..b21aca56 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/compute/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/compute + +> Creates and runs virtual machines on Google Cloud Platform. + +## Installation + +```sh +$ npm install @google/compute +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/compute/alpha.d.ts b/express-server/node_modules/googleapis/build/src/apis/compute/alpha.d.ts new file mode 100644 index 00000000..71aaf4ce --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/compute/alpha.d.ts @@ -0,0 +1,42879 @@ +/** + * 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 { JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace compute_alpha { + interface Options extends GlobalOptions { + version: 'alpha'; + } + /** + * Compute Engine API + * + * Creates and runs virtual machines on Google Cloud Platform. + * + * @example + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * @namespace compute + * @type {Function} + * @version alpha + * @variation alpha + * @param {object=} options Options for Compute + */ + class Compute { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + acceleratorTypes: Resource$Acceleratortypes; + addresses: Resource$Addresses; + allocations: Resource$Allocations; + autoscalers: Resource$Autoscalers; + backendBuckets: Resource$Backendbuckets; + backendServices: Resource$Backendservices; + disks: Resource$Disks; + diskTypes: Resource$Disktypes; + firewalls: Resource$Firewalls; + forwardingRules: Resource$Forwardingrules; + globalAddresses: Resource$Globaladdresses; + globalForwardingRules: Resource$Globalforwardingrules; + globalOperations: Resource$Globaloperations; + healthChecks: Resource$Healthchecks; + httpHealthChecks: Resource$Httphealthchecks; + httpsHealthChecks: Resource$Httpshealthchecks; + images: Resource$Images; + instanceGroupManagers: Resource$Instancegroupmanagers; + instanceGroups: Resource$Instancegroups; + instances: Resource$Instances; + instanceTemplates: Resource$Instancetemplates; + interconnectAttachments: Resource$Interconnectattachments; + interconnectLocations: Resource$Interconnectlocations; + interconnects: Resource$Interconnects; + licenseCodes: Resource$Licensecodes; + licenses: Resource$Licenses; + machineImages: Resource$Machineimages; + machineTypes: Resource$Machinetypes; + networkEndpointGroups: Resource$Networkendpointgroups; + networks: Resource$Networks; + nodeGroups: Resource$Nodegroups; + nodeTemplates: Resource$Nodetemplates; + nodeTypes: Resource$Nodetypes; + projects: Resource$Projects; + regionAutoscalers: Resource$Regionautoscalers; + regionBackendServices: Resource$Regionbackendservices; + regionCommitments: Resource$Regioncommitments; + regionDisks: Resource$Regiondisks; + regionDiskTypes: Resource$Regiondisktypes; + regionHealthChecks: Resource$Regionhealthchecks; + regionInstanceGroupManagers: Resource$Regioninstancegroupmanagers; + regionInstanceGroups: Resource$Regioninstancegroups; + regionOperations: Resource$Regionoperations; + regions: Resource$Regions; + regionSslCertificates: Resource$Regionsslcertificates; + regionTargetHttpProxies: Resource$Regiontargethttpproxies; + regionTargetHttpsProxies: Resource$Regiontargethttpsproxies; + regionUrlMaps: Resource$Regionurlmaps; + resourcePolicies: Resource$Resourcepolicies; + routers: Resource$Routers; + routes: Resource$Routes; + securityPolicies: Resource$Securitypolicies; + snapshots: Resource$Snapshots; + sslCertificates: Resource$Sslcertificates; + sslPolicies: Resource$Sslpolicies; + subnetworks: Resource$Subnetworks; + targetHttpProxies: Resource$Targethttpproxies; + targetHttpsProxies: Resource$Targethttpsproxies; + targetInstances: Resource$Targetinstances; + targetPools: Resource$Targetpools; + targetSslProxies: Resource$Targetsslproxies; + targetTcpProxies: Resource$Targettcpproxies; + targetVpnGateways: Resource$Targetvpngateways; + urlMaps: Resource$Urlmaps; + vpnGateways: Resource$Vpngateways; + vpnTunnels: Resource$Vpntunnels; + zoneOperations: Resource$Zoneoperations; + zones: Resource$Zones; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * A specification of the type and number of accelerator cards attached to the + * instance. + */ + interface Schema$AcceleratorConfig { + /** + * The number of the guest accelerator cards exposed to this instance. + */ + acceleratorCount?: number; + /** + * Full or partial URL of the accelerator type resource to attach to this + * instance. If you are creating an instance template, specify only the + * accelerator name. + */ + acceleratorType?: string; + } + /** + * An Accelerator Type resource. (== resource_for beta.acceleratorTypes ==) + * (== resource_for v1.acceleratorTypes ==) + */ + interface Schema$AcceleratorType { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * [Output Only] The deprecation status associated with this accelerator + * type. + */ + deprecated?: Schema$DeprecationStatus; + /** + * [Output Only] An optional textual description of the resource. + */ + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] The type of the resource. Always compute#acceleratorType + * for accelerator types. + */ + kind?: string; + /** + * [Output Only] Maximum accelerator cards allowed per instance. + */ + maximumCardsPerInstance?: number; + /** + * [Output Only] Name of the resource. + */ + name?: string; + /** + * [Output Only] Server-defined fully-qualified URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] The name of the zone where the accelerator type resides, + * such as us-central1-a. You must specify this field as part of the HTTP + * request URL. It is not settable as a field in the request body. + */ + zone?: string; + } + interface Schema$AcceleratorTypeAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of AcceleratorTypesScopedList resources. + */ + items?: any; + /** + * [Output Only] Type of resource. Always + * compute#acceleratorTypeAggregatedList for aggregated lists of accelerator + * types. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of accelerator types. + */ + interface Schema$AcceleratorTypeList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of AcceleratorType resources. + */ + items?: Schema$AcceleratorType[]; + /** + * [Output Only] Type of resource. Always compute#acceleratorTypeList for + * lists of accelerator types. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$AcceleratorTypesScopedList { + /** + * [Output Only] A list of accelerator types contained in this scope. + */ + acceleratorTypes?: Schema$AcceleratorType[]; + /** + * [Output Only] An informational warning that appears when the accelerator + * types list is empty. + */ + warning?: any; + } + /** + * An access configuration attached to an instance's network interface. + * Only one access config per instance is supported. + */ + interface Schema$AccessConfig { + /** + * [Output Only] Type of the resource. Always compute#accessConfig for + * access configs. + */ + kind?: string; + /** + * The name of this access configuration. The default and recommended name + * is External NAT but you can use any arbitrary string you would like. For + * example, My external IP or Network Access. + */ + name?: string; + /** + * An external IP address associated with this instance. Specify an unused + * static external IP address available to the project or leave this field + * undefined to use an IP from a shared ephemeral IP address pool. If you + * specify a static external IP address, it must live in the same region as + * the zone of the instance. + */ + natIP?: string; + /** + * This signifies the networking tier used for configuring this access + * configuration and can only take the following values: PREMIUM, STANDARD. + * If an AccessConfig is specified without a valid external IP address, an + * ephemeral IP will be created with this networkTier. If an AccessConfig + * with a valid external IP address is specified, it must match that of the + * networkTier associated with the Address resource owning that IP. + */ + networkTier?: string; + /** + * [Output Only] The public DNS domain name for the instance. + */ + publicDnsName?: string; + /** + * The DNS domain name for the public PTR record. This field can only be set + * when the set_public_ptr field is enabled. + */ + publicPtrDomainName?: string; + /** + * Specifies whether a public DNS ?A? record should be created for the + * external IP address of this access configuration. + */ + setPublicDns?: boolean; + /** + * Specifies whether a public DNS ?PTR? record should be created to map the + * external IP address of the instance to a DNS domain name. + */ + setPublicPtr?: boolean; + /** + * The type of configuration. The default and only option is ONE_TO_ONE_NAT. + */ + type?: string; + } + /** + * A reserved address resource. (== resource_for beta.addresses ==) (== + * resource_for v1.addresses ==) (== resource_for beta.globalAddresses ==) (== + * resource_for v1.globalAddresses ==) + */ + interface Schema$Address { + /** + * The static IP address represented by this resource. + */ + address?: string; + /** + * The type of address to reserve, either INTERNAL or EXTERNAL. If + * unspecified, defaults to EXTERNAL. + */ + addressType?: string; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * The IP Version that will be used by this address. Valid options are IPV4 + * or IPV6. This can only be specified for a global address. + */ + ipVersion?: string; + /** + * [Output Only] Type of the resource. Always compute#address for addresses. + */ + kind?: string; + /** + * A fingerprint for the labels being applied to this Address, which is + * essentially a hash of the labels set used for optimistic locking. The + * fingerprint is initially generated by Compute Engine and changes after + * every request to modify or update labels. You must always provide an + * up-to-date fingerprint hash in order to update or change labels. To see + * the latest fingerprint, make a get() request to retrieve an Address. + */ + labelFingerprint?: string; + /** + * Labels to apply to this Address resource. These can be later modified by + * the setLabels method. Each label key/value must comply with RFC1035. + * Label values may be empty. + */ + labels?: any; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * The URL of the network in which to reserve the address. This field can + * only be used with INTERNAL type with VPC_PEERING purpose. + */ + network?: string; + /** + * This signifies the networking tier used for configuring this Address and + * can only take the following values: PREMIUM , STANDARD. If this field is + * not specified, it is assumed to be PREMIUM. + */ + networkTier?: string; + /** + * The prefix length if the resource reprensents an IP range. + */ + prefixLength?: number; + /** + * The purpose of resource, only used with INTERNAL type. + */ + purpose?: string; + /** + * [Output Only] URL of the region where the regional address resides. This + * field is not applicable to global addresses. You must specify this field + * as part of the HTTP request URL. You cannot set this field in the request + * body. + */ + region?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] The status of the address, which can be one of RESERVING, + * RESERVED, or IN_USE. An address that is RESERVING is currently in the + * process of being reserved. A RESERVED address is currently reserved and + * available to use. An IN_USE address is currently being used by another + * resource and is not available. + */ + status?: string; + /** + * The URL of the subnetwork in which to reserve the address. If an IP + * address is specified, it must be within the subnetwork's IP range. + * This field can only be used with INTERNAL type with + * GCE_ENDPOINT/DNS_RESOLVER purposes. + */ + subnetwork?: string; + /** + * [Output Only] The URLs of the resources that are using this address. + */ + users?: string[]; + } + interface Schema$AddressAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of AddressesScopedList resources. + */ + items?: any; + /** + * [Output Only] Type of resource. Always compute#addressAggregatedList for + * aggregated lists of addresses. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$AddressesScopedList { + /** + * [Output Only] A list of addresses contained in this scope. + */ + addresses?: Schema$Address[]; + /** + * [Output Only] Informational warning which replaces the list of addresses + * when the list is empty. + */ + warning?: any; + } + /** + * Contains a list of addresses. + */ + interface Schema$AddressList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Address resources. + */ + items?: Schema$Address[]; + /** + * [Output Only] Type of resource. Always compute#addressList for lists of + * addresses. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * An alias IP range attached to an instance's network interface. + */ + interface Schema$AliasIpRange { + /** + * The IP CIDR range represented by this alias IP range. This IP CIDR range + * must belong to the specified subnetwork and cannot contain IP addresses + * reserved by system or used by other network interfaces. This range may be + * a single IP address (e.g. 10.2.3.4), a netmask (e.g. /24) or a CIDR + * format string (e.g. 10.1.2.0/24). + */ + ipCidrRange?: string; + /** + * Optional subnetwork secondary range name specifying the secondary range + * from which to allocate the IP CIDR range for this alias IP range. If left + * unspecified, the primary range of the subnetwork will be used. + */ + subnetworkRangeName?: string; + } + /** + * Allocation resource + */ + interface Schema$Allocation { + /** + * Full or partial url for commitment in which this allocation is to be + * created. This field is ignored when allocations are created during + * committment creation. + */ + commitment?: string; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of the resource. Always compute#allocations for + * allocations. + */ + kind?: string; + /** + * The name of the resource, provided by the client when initially creating + * the resource. The resource name must be 1-63 characters long, and comply + * with RFC1035. Specifically, the name must be 1-63 characters long and + * match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the + * first character must be a lowercase letter, and all following characters + * must be a dash, lowercase letter, or digit, except the last character, + * which cannot be a dash. + */ + name?: string; + /** + * [Output Only] Server-defined fully-qualified URL for this resource. + */ + selfLink?: string; + specificAllocation?: Schema$AllocationSpecificSKUAllocation; + /** + * Indicates whether the allocation can be consumed by VMs with ?any + * allocation? defined. If the field is set, then only VMs that target the + * allocation by name using --allocation-affinity can consume this + * allocation. + */ + specificAllocationRequired?: boolean; + zone?: string; + } + /** + * AllocationAffinity is the configuration of desired allocation which this + * instance could take capacity from. + */ + interface Schema$AllocationAffinity { + consumeAllocationType?: string; + /** + * Corresponds to the label key of allocation resource. + */ + key?: string; + /** + * Corresponds to the label values of allocation resource. + */ + values?: string[]; + } + /** + * Contains a list of allocations. + */ + interface Schema$AllocationAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Allocation resources. + */ + items?: any; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$AllocationList { + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] A list of Allocation resources. + */ + items?: Schema$Allocation[]; + /** + * [Output Only] Type of resource.Always compute#allocationsList for listsof + * allocations + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * This allocation type allows to pre allocate specific instance + * configuration. + */ + interface Schema$AllocationSpecificSKUAllocation { + /** + * Specifies number of resources that are allocated. + */ + count?: string; + instanceProperties?: Schema$AllocationSpecificSKUAllocationAllocatedInstanceProperties; + /** + * [OutputOnly] Indicates how many resource are in use. + */ + inUseCount?: string; + } + /** + * Properties of the SKU instances being reserved. + */ + interface Schema$AllocationSpecificSKUAllocationAllocatedInstanceProperties { + /** + * Specifies accelerator type and count. + */ + guestAccelerators?: Schema$AcceleratorConfig[]; + /** + * Specifies amount of local ssd to reserve with each instance. The type of + * disk is local-ssd. + */ + localSsds?: Schema$AllocationSpecificSKUAllocationAllocatedInstancePropertiesAllocatedDisk[]; + /** + * Specifies type of machine (name only) which has fixed number of vCPUs and + * fixed amount of memory. This also includes specifying custom machine type + * following custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY pattern. + */ + machineType?: string; + /** + * Minimum cpu platform the allocation. + */ + minCpuPlatform?: string; + } + interface Schema$AllocationSpecificSKUAllocationAllocatedInstancePropertiesAllocatedDisk { + /** + * Specifies the size of the disk in base-2 GB. + */ + diskSizeGb?: string; + /** + * Specifies the disk interface to use for attaching this disk, which is + * either SCSI or NVME. The default is SCSI. For performance characteristics + * of SCSI over NVMe, see Local SSD performance. + */ + interface?: string; + } + interface Schema$AllocationsScopedList { + /** + * A list of allocations contained in this scope. + */ + allocations?: Schema$Allocation[]; + /** + * Informational warning which replaces the list of allocations when the + * list is empty. + */ + warning?: any; + } + interface Schema$AllocationsUpdateResourceShapeRequest { + /** + * Number of allocated resources which are to be updated with minimum = 1 + * and maximum = 100. + */ + count?: number; + /** + * The name of destination allocation where the modified machines are added. + * If existing, its machine spec must match the modified machine spec. If + * non existing, new allocation with this name and modified machine spec is + * created automatically. + */ + destinationAllocation?: string; + updatedResourceProperties?: Schema$AllocationSpecificSKUAllocationAllocatedInstanceProperties; + } + /** + * An instance-attached disk resource. + */ + interface Schema$AttachedDisk { + /** + * Specifies whether the disk will be auto-deleted when the instance is + * deleted (but not when the disk is detached from the instance). + */ + autoDelete?: boolean; + /** + * Indicates that this is a boot disk. The virtual machine will use the + * first partition of the disk for its root filesystem. + */ + boot?: boolean; + /** + * Specifies a unique device name of your choice that is reflected into the + * /dev/disk/by-id/google-* tree of a Linux operating system running within + * the instance. This name can be used to reference the device for mounting, + * resizing, and so on, from within the instance. If not specified, the + * server chooses a default device name to apply to this disk, in the form + * persistent-disks-x, where x is a number assigned by Google Compute + * Engine. This field is only applicable for persistent disks. + */ + deviceName?: string; + /** + * Encrypts or decrypts a disk using a customer-supplied encryption key. If + * you are creating a new disk, this field encrypts the new disk using an + * encryption key that you provide. If you are attaching an existing disk + * that is already encrypted, this field decrypts the disk using the + * customer-supplied encryption key. If you encrypt a disk using a + * customer-supplied key, you must provide the same key again when you + * attempt to use this resource at a later time. For example, you must + * provide the key when you create a snapshot or an image from the disk or + * when you attach the disk to a virtual machine instance. If you do not + * provide an encryption key, then the disk will be encrypted using an + * automatically generated key and you do not need to provide a key to use + * the disk later. Instance templates do not store customer-supplied + * encryption keys, so you cannot use your own keys to encrypt disks in a + * managed instance group. + */ + diskEncryptionKey?: Schema$CustomerEncryptionKey; + /** + * The size of the disk in base-2 GB. This supersedes disk_size_gb in + * InitializeParams. + */ + diskSizeGb?: string; + /** + * A list of features to enable on the guest operating system. Applicable + * only for bootable images. Read Enabling guest operating system features + * to see a list of available options. + */ + guestOsFeatures?: Schema$GuestOsFeature[]; + /** + * [Output Only] A zero-based index to this disk, where 0 is reserved for + * the boot disk. If you have many disks attached to an instance, each disk + * would have a unique index number. + */ + index?: number; + /** + * [Input Only] Specifies the parameters for a new disk that will be created + * alongside the new instance. Use initialization parameters to create boot + * disks or local SSDs attached to the new instance. This property is + * mutually exclusive with the source property; you can only define one or + * the other, but not both. + */ + initializeParams?: Schema$AttachedDiskInitializeParams; + /** + * Specifies the disk interface to use for attaching this disk, which is + * either SCSI or NVME. The default is SCSI. Persistent disks must always + * use SCSI and the request will fail if you attempt to attach a persistent + * disk in any other format than SCSI. Local SSDs can use either NVME or + * SCSI. For performance characteristics of SCSI over NVMe, see Local SSD + * performance. + */ + interface?: string; + /** + * [Output Only] Type of the resource. Always compute#attachedDisk for + * attached disks. + */ + kind?: string; + /** + * [Output Only] Any valid publicly visible licenses. + */ + licenses?: string[]; + /** + * The mode in which to attach this disk, either READ_WRITE or READ_ONLY. If + * not specified, the default is to attach the disk in READ_WRITE mode. + */ + mode?: string; + /** + * For LocalSSD disks on VM Instances in STOPPED or SUSPENDED state, this + * field is set to PRESERVED if the LocalSSD data has been saved to a + * persistent location by customer request. (see the discard_local_ssd + * option on Stop/Suspend). Read-only in the api. + */ + savedState?: string; + /** + * Specifies a valid partial or full URL to an existing Persistent Disk + * resource. When creating a new instance, one of + * initializeParams.sourceImage or disks.source is required except for local + * SSD. If desired, you can also attach existing non-root persistent disks + * using this property. This field is only applicable for persistent disks. + * Note that for InstanceTemplate, specify the disk name, not the URL for + * the disk. + */ + source?: string; + /** + * Specifies the type of the disk, either SCRATCH or PERSISTENT. If not + * specified, the default is PERSISTENT. + */ + type?: string; + } + /** + * [Input Only] Specifies the parameters for a new disk that will be created + * alongside the new instance. Use initialization parameters to create boot + * disks or local SSDs attached to the new instance. This property is + * mutually exclusive with the source property; you can only define one or the + * other, but not both. + */ + interface Schema$AttachedDiskInitializeParams { + /** + * An optional description. Provide this property when creating the disk. + */ + description?: string; + /** + * Specifies the disk name. If not specified, the default is to use the name + * of the instance. If the disk with the instance name exists already in the + * given zone/region, a new name will be automatically generated. + */ + diskName?: string; + /** + * Specifies the size of the disk in base-2 GB. + */ + diskSizeGb?: string; + /** + * Specifies the disk type to use to create the instance. If not specified, + * the default is pd-standard, specified using the full URL. For example: + * https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/pd-standard + * Other values include pd-ssd and local-ssd. If you define this field, you + * can provide either the full or partial URL. For example, the following + * are valid values: - + * https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/diskType + * - projects/project/zones/zone/diskTypes/diskType - + * zones/zone/diskTypes/diskType Note that for InstanceTemplate, this is + * the name of the disk type, not URL. + */ + diskType?: string; + /** + * Labels to apply to this disk. These can be later modified by the + * disks.setLabels method. This field is only applicable for persistent + * disks. + */ + labels?: any; + /** + * The source image to create this disk. When creating a new instance, one + * of initializeParams.sourceImage or disks.source is required except for + * local SSD. To create a disk with one of the public operating system + * images, specify the image by its family name. For example, specify + * family/debian-9 to use the latest Debian 9 image: + * projects/debian-cloud/global/images/family/debian-9 Alternatively, use + * a specific version of a public operating system image: + * projects/debian-cloud/global/images/debian-9-stretch-vYYYYMMDD To + * create a disk with a custom image that you created, specify the image + * name in the following format: global/images/my-custom-image You can + * also specify a custom image by its image family, which returns the latest + * version of the image in that family. Replace the image name with + * family/family-name: global/images/family/my-image-family If the source + * image is deleted later, this field will not be set. + */ + sourceImage?: string; + /** + * The customer-supplied encryption key of the source image. Required if the + * source image is protected by a customer-supplied encryption key. Instance + * templates do not store customer-supplied encryption keys, so you cannot + * create disks for instances in a managed instance group if the source + * images are encrypted with your own keys. + */ + sourceImageEncryptionKey?: Schema$CustomerEncryptionKey; + /** + * The source snapshot to create this disk. When creating a new instance, + * one of initializeParams.sourceSnapshot or disks.source is required except + * for local SSD. To create a disk with a snapshot that you created, + * specify the snapshot name in the following format: + * global/snapshots/my-backup If the source snapshot is deleted later, + * this field will not be set. + */ + sourceSnapshot?: string; + /** + * The customer-supplied encryption key of the source snapshot. + */ + sourceSnapshotEncryptionKey?: Schema$CustomerEncryptionKey; + } + /** + * Specifies the audit configuration for a service. The configuration + * determines which permission types are logged, and what identities, if any, + * are exempted from logging. An AuditConfig must have one or more + * AuditLogConfigs. If there are AuditConfigs for both `allServices` and a + * specific service, the union of the two AuditConfigs is used for that + * service: the log_types specified in each AuditConfig are enabled, and the + * exempted_members in each AuditLogConfig are exempted. Example Policy with + * multiple AuditConfigs: { "audit_configs": [ { + * "service": "allServices" "audit_log_configs": + * [ { "log_type": "DATA_READ", + * "exempted_members": [ "user:foo@gmail.com" ] }, { + * "log_type": "DATA_WRITE", }, { "log_type": + * "ADMIN_READ", } ] }, { "service": + * "fooservice.googleapis.com" "audit_log_configs": [ { + * "log_type": "DATA_READ", }, { "log_type": + * "DATA_WRITE", "exempted_members": [ + * "user:bar@gmail.com" ] } ] } ] } For fooservice, this policy + * enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts + * foo@gmail.com from DATA_READ logging, and bar@gmail.com from DATA_WRITE + * logging. + */ + interface Schema$AuditConfig { + /** + * The configuration for logging of each type of permission. + */ + auditLogConfigs?: Schema$AuditLogConfig[]; + exemptedMembers?: string[]; + /** + * Specifies a service that will be enabled for audit logging. For example, + * `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a + * special value that covers all services. + */ + service?: string; + } + /** + * Provides the configuration for logging a type of permissions. Example: { + * "audit_log_configs": [ { "log_type": + * "DATA_READ", "exempted_members": [ + * "user:foo@gmail.com" ] }, { "log_type": + * "DATA_WRITE", } ] } This enables 'DATA_READ' and + * 'DATA_WRITE' logging, while exempting foo@gmail.com from DATA_READ + * logging. + */ + interface Schema$AuditLogConfig { + /** + * Specifies the identities that do not cause logging for this type of + * permission. Follows the same format of [Binding.members][]. + */ + exemptedMembers?: string[]; + /** + * The log type that this config enables. + */ + logType?: string; + } + /** + * Authorization-related information used by Cloud Audit Logging. + */ + interface Schema$AuthorizationLoggingOptions { + /** + * The type of the permission that was checked. + */ + permissionType?: string; + } + /** + * Represents an Autoscaler resource. Autoscalers allow you to automatically + * scale virtual machine instances in managed instance groups according to an + * autoscaling policy that you define. For more information, read Autoscaling + * Groups of Instances. (== resource_for beta.autoscalers ==) (== resource_for + * v1.autoscalers ==) (== resource_for beta.regionAutoscalers ==) (== + * resource_for v1.regionAutoscalers ==) + */ + interface Schema$Autoscaler { + /** + * The configuration parameters for the autoscaling algorithm. You can + * define one or more of the policies for an autoscaler: cpuUtilization, + * customMetricUtilizations, and loadBalancingUtilization. If none of these + * are specified, the default will be to autoscale based on cpuUtilization + * to 0.6 or 60%. + */ + autoscalingPolicy?: Schema$AutoscalingPolicy; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of the resource. Always compute#autoscaler for + * autoscalers. + */ + kind?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * [Output Only] Target recommended MIG size (number of instances) computed + * by autoscaler. Autoscaler calculates recommended MIG size even when + * autoscaling policy mode is different from ON. This field is empty when + * autoscaler is not connected to the existing managed instance group or + * autoscaler did not generate its prediction. + */ + recommendedSize?: number; + /** + * [Output Only] URL of the region where the instance group resides (for + * autoscalers living in regional scope). + */ + region?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] The status of the autoscaler configuration. + */ + status?: string; + /** + * [Output Only] Human-readable details about the current state of the + * autoscaler. Read the documentation for Commonly returned status messages + * for examples of status messages you might encounter. + */ + statusDetails?: Schema$AutoscalerStatusDetails[]; + /** + * URL of the managed instance group that this autoscaler will scale. + */ + target?: string; + /** + * [Output Only] URL of the zone where the instance group resides (for + * autoscalers living in zonal scope). + */ + zone?: string; + } + interface Schema$AutoscalerAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of AutoscalersScopedList resources. + */ + items?: any; + /** + * [Output Only] Type of resource. Always compute#autoscalerAggregatedList + * for aggregated lists of autoscalers. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of Autoscaler resources. + */ + interface Schema$AutoscalerList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Autoscaler resources. + */ + items?: Schema$Autoscaler[]; + /** + * [Output Only] Type of resource. Always compute#autoscalerList for lists + * of autoscalers. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$AutoscalersScopedList { + /** + * [Output Only] A list of autoscalers contained in this scope. + */ + autoscalers?: Schema$Autoscaler[]; + /** + * [Output Only] Informational warning which replaces the list of + * autoscalers when the list is empty. + */ + warning?: any; + } + interface Schema$AutoscalerStatusDetails { + /** + * The status message. + */ + message?: string; + /** + * The type of error returned. + */ + type?: string; + } + /** + * Cloud Autoscaler policy. + */ + interface Schema$AutoscalingPolicy { + /** + * The number of seconds that the autoscaler should wait before it starts + * collecting information from a new instance. This prevents the autoscaler + * from collecting information when the instance is initializing, during + * which the collected usage would not be reliable. The default time + * autoscaler waits is 60 seconds. Virtual machine initialization times + * might vary because of numerous factors. We recommend that you test how + * long an instance may take to initialize. To do this, create an instance + * and time the startup process. + */ + coolDownPeriodSec?: number; + /** + * Defines the CPU utilization policy that allows the autoscaler to scale + * based on the average CPU utilization of a managed instance group. + */ + cpuUtilization?: Schema$AutoscalingPolicyCpuUtilization; + /** + * Configuration parameters of autoscaling based on a custom metric. + */ + customMetricUtilizations?: Schema$AutoscalingPolicyCustomMetricUtilization[]; + /** + * Configuration parameters of autoscaling based on load balancer. + */ + loadBalancingUtilization?: Schema$AutoscalingPolicyLoadBalancingUtilization; + /** + * The maximum number of instances that the autoscaler can scale up to. This + * is required when creating or updating an autoscaler. The maximum number + * of replicas should not be lower than minimal number of replicas. + */ + maxNumReplicas?: number; + /** + * The minimum number of replicas that the autoscaler can scale down to. + * This cannot be less than 0. If not provided, autoscaler will choose a + * default value depending on maximum number of instances allowed. + */ + minNumReplicas?: number; + /** + * Defines operating mode for this policy. + */ + mode?: string; + /** + * Configuration parameters of autoscaling based on queuing system. + */ + queueBasedScaling?: Schema$AutoscalingPolicyQueueBasedScaling; + } + /** + * CPU utilization policy. + */ + interface Schema$AutoscalingPolicyCpuUtilization { + /** + * The target CPU utilization that the autoscaler should maintain. Must be a + * float value in the range (0, 1]. If not specified, the default is 0.6. If + * the CPU level is below the target utilization, the autoscaler scales down + * the number of instances until it reaches the minimum number of instances + * you specified or until the average CPU of your instances reaches the + * target utilization. If the average CPU is above the target utilization, + * the autoscaler scales up until it reaches the maximum number of instances + * you specified or until the average utilization reaches the target + * utilization. + */ + utilizationTarget?: number; + } + /** + * Custom utilization metric policy. + */ + interface Schema$AutoscalingPolicyCustomMetricUtilization { + /** + * A filter string, compatible with a Stackdriver Monitoring filter string + * for TimeSeries.list API call. This filter is used to select a specific + * TimeSeries for the purpose of autoscaling and to determine whether the + * metric is exporting per-instance or per-group data. For the filter to be + * valid for autoscaling purposes, the following rules apply: - You can + * only use the AND operator for joining selectors. - You can only use + * direct equality comparison operator (=) without any functions for each + * selector. - You can specify the metric in both the filter string and in + * the metric field. However, if specified in both places, the metric must + * be identical. - The monitored resource type determines what kind of + * values are expected for the metric. If it is a gce_instance, the + * autoscaler expects the metric to include a separate TimeSeries for each + * instance in a group. In such a case, you cannot filter on resource + * labels. If the resource type is any other value, the autoscaler expects + * this metric to contain values that apply to the entire autoscaled + * instance group and resource label filtering can be performed to point + * autoscaler at the correct TimeSeries to scale upon. This is called a + * per-group metric for the purpose of autoscaling. If not specified, the + * type defaults to gce_instance. You should provide a filter that is + * selective enough to pick just one TimeSeries for the autoscaled group or + * for each of the instances (if you are using gce_instance resource type). + * If multiple TimeSeries are returned upon the query execution, the + * autoscaler will sum their respective values to obtain its scaling value. + */ + filter?: string; + /** + * The identifier (type) of the Stackdriver Monitoring metric. The metric + * cannot have negative values. The metric must have a value type of INT64 + * or DOUBLE. + */ + metric?: string; + /** + * If scaling is based on a per-group metric value that represents the total + * amount of work to be done or resource usage, set this value to an amount + * assigned for a single instance of the scaled group. Autoscaler will keep + * the number of instances proportional to the value of this metric, the + * metric itself should not change value due to group resizing. A good + * metric to use with the target is for example + * pubsub.googleapis.com/subscription/num_undelivered_messages or a custom + * metric exporting the total number of requests coming to your instances. + * A bad example would be a metric exporting an average or median latency, + * since this value can't include a chunk assignable to a single + * instance, it could be better used with utilization_target instead. + */ + singleInstanceAssignment?: number; + /** + * The target value of the metric that autoscaler should maintain. This must + * be a positive value. A utilization metric scales number of virtual + * machines handling requests to increase or decrease proportionally to the + * metric. For example, a good metric to use as a utilization_target is + * compute.googleapis.com/instance/network/received_bytes_count. The + * autoscaler will work to keep this value constant for each of the + * instances. + */ + utilizationTarget?: number; + /** + * Defines how target utilization value is expressed for a Stackdriver + * Monitoring metric. Either GAUGE, DELTA_PER_SECOND, or DELTA_PER_MINUTE. + * If not specified, the default is GAUGE. + */ + utilizationTargetType?: string; + } + /** + * Configuration parameters of autoscaling based on load balancing. + */ + interface Schema$AutoscalingPolicyLoadBalancingUtilization { + /** + * Fraction of backend capacity utilization (set in HTTP(s) load balancing + * configuration) that autoscaler should maintain. Must be a positive float + * value. If not defined, the default is 0.8. + */ + utilizationTarget?: number; + } + /** + * Configuration parameters of autoscaling based on queuing system. + */ + interface Schema$AutoscalingPolicyQueueBasedScaling { + /** + * Scaling based on the average number of tasks in the queue per each active + * instance. The autoscaler keeps the average number of tasks per instance + * below this number, based on data collected in the last couple of minutes. + * The autoscaler will also take into account incoming tasks when + * calculating when to scale. + */ + acceptableBacklogPerInstance?: number; + /** + * Configuration for Cloud Pub/Sub subscription queue. + */ + cloudPubSub?: Schema$AutoscalingPolicyQueueBasedScalingCloudPubSub; + /** + * The scaling algorithm will also calculate throughput estimates on its + * own; if you explicitly provide this value, the autoscaler will take into + * account your value as well as automatic estimates when deciding how to + * scale. + */ + singleWorkerThroughputPerSec?: number; + } + /** + * Configuration parameters for scaling based on Cloud Pub/Sub subscription + * queue. + */ + interface Schema$AutoscalingPolicyQueueBasedScalingCloudPubSub { + /** + * Cloud Pub/Sub subscription used for scaling. Provide the partial URL + * (starting with projects/) or just the subscription name. The subscription + * must be assigned to the topic specified in topicName and must be in a + * pull configuration. The subscription must belong to the same project as + * the Autoscaler. + */ + subscription?: string; + /** + * Cloud Pub/Sub topic used for scaling. Provide the partial URL or partial + * URL (starting with projects/) or just the topic name. The topic must + * belong to the same project as the Autoscaler resource. + */ + topic?: string; + } + /** + * Message containing information of one individual backend. + */ + interface Schema$Backend { + /** + * Specifies the balancing mode for this backend. For global HTTP(S) or + * TCP/SSL load balancing, the default is UTILIZATION. Valid values are + * UTILIZATION, RATE (for HTTP(S)) and CONNECTION (for TCP/SSL). For + * Internal Load Balancing, the default and only supported mode is + * CONNECTION. + */ + balancingMode?: string; + /** + * A multiplier applied to the group's maximum servicing capacity (based + * on UTILIZATION, RATE or CONNECTION). Default value is 1, which means the + * group will serve up to 100% of its configured capacity (depending on + * balancingMode). A setting of 0 means the group is completely drained, + * offering 0% of its available Capacity. Valid range is [0.0,1.0]. This + * cannot be used for internal load balancing. + */ + capacityScaler?: number; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * This field designates whether this is a failover backend. More than one + * failover backend can be configured for a given BackendService. + */ + failover?: boolean; + /** + * The fully-qualified URL of a Instance Group resource. This instance group + * defines the list of instances that serve traffic. Member virtual machine + * instances from each instance group must live in the same zone as the + * instance group itself. No two backends in a backend service are allowed + * to use same Instance Group resource. Note that you must specify an + * Instance Group resource using the fully-qualified URL, rather than a + * partial URL. When the BackendService has load balancing scheme INTERNAL, + * the instance group must be within the same region as the BackendService. + */ + group?: string; + /** + * The max number of simultaneous connections for the group. Can be used + * with either CONNECTION or UTILIZATION balancing modes. For CONNECTION + * mode, either maxConnections or maxConnectionsPerInstance must be set. + * This cannot be used for internal load balancing. + */ + maxConnections?: number; + /** + * The max number of simultaneous connections that a single backend network + * endpoint can handle. This is used to calculate the capacity of the group. + * Can be used in either CONNECTION or UTILIZATION balancing modes. For + * CONNECTION mode, either maxConnections or maxConnectionsPerEndpoint must + * be set. This cannot be used for internal load balancing. + */ + maxConnectionsPerEndpoint?: number; + /** + * The max number of simultaneous connections that a single backend instance + * can handle. This is used to calculate the capacity of the group. Can be + * used in either CONNECTION or UTILIZATION balancing modes. For CONNECTION + * mode, either maxConnections or maxConnectionsPerInstance must be set. + * This cannot be used for internal load balancing. + */ + maxConnectionsPerInstance?: number; + /** + * The max requests per second (RPS) of the group. Can be used with either + * RATE or UTILIZATION balancing modes, but required if RATE mode. For RATE + * mode, either maxRate or maxRatePerInstance must be set. This cannot be + * used for internal load balancing. + */ + maxRate?: number; + /** + * The max requests per second (RPS) that a single backend network endpoint + * can handle. This is used to calculate the capacity of the group. Can be + * used in either balancing mode. For RATE mode, either maxRate or + * maxRatePerEndpoint must be set. This cannot be used for internal load + * balancing. + */ + maxRatePerEndpoint?: number; + /** + * The max requests per second (RPS) that a single backend instance can + * handle. This is used to calculate the capacity of the group. Can be used + * in either balancing mode. For RATE mode, either maxRate or + * maxRatePerInstance must be set. This cannot be used for internal load + * balancing. + */ + maxRatePerInstance?: number; + /** + * Used when balancingMode is UTILIZATION. This ratio defines the CPU + * utilization target for the group. The default is 0.8. Valid range is + * [0.0, 1.0]. This cannot be used for internal load balancing. + */ + maxUtilization?: number; + } + /** + * A BackendBucket resource. This resource defines a Cloud Storage bucket. + */ + interface Schema$BackendBucket { + /** + * Cloud Storage bucket name. + */ + bucketName?: string; + /** + * Cloud CDN configuration for this BackendBucket. + */ + cdnPolicy?: Schema$BackendBucketCdnPolicy; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional textual description of the resource; provided by the client + * when the resource is created. + */ + description?: string; + /** + * If true, enable Cloud CDN for this BackendBucket. + */ + enableCdn?: boolean; + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * Type of the resource. + */ + kind?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + } + /** + * Message containing Cloud CDN configuration for a backend bucket. + */ + interface Schema$BackendBucketCdnPolicy { + /** + * Maximum number of seconds the response to a signed URL request will be + * considered fresh. After this time period, the response will be + * revalidated before being served. Defaults to 1hr (3600s). When serving + * responses to signed URL requests, Cloud CDN will internally behave as + * though all responses from this backend had a ?Cache-Control: public, + * max-age=[TTL]? header, regardless of any existing Cache-Control header. + * The actual headers served in responses will not be altered. + */ + signedUrlCacheMaxAgeSec?: string; + /** + * [Output Only] Names of the keys for signing request URLs. + */ + signedUrlKeyNames?: string[]; + } + /** + * Contains a list of BackendBucket resources. + */ + interface Schema$BackendBucketList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of BackendBucket resources. + */ + items?: Schema$BackendBucket[]; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * A BackendService resource. This resource defines a group of backend virtual + * machines and their serving capacity. (== resource_for v1.backendService ==) + * (== resource_for beta.backendService ==) + */ + interface Schema$BackendService { + /** + * Lifetime of cookies in seconds if session_affinity is GENERATED_COOKIE. + * If set to 0, the cookie is non-persistent and lasts only until the end of + * the browser session (or equivalent). The maximum allowed value for TTL is + * one day. When the load balancing scheme is INTERNAL, this field is not + * used. + */ + affinityCookieTtlSec?: number; + /** + * Directs request to an App Engine app. cloudFunctionBackend and backends[] + * must be empty if this is set. + */ + appEngineBackend?: Schema$BackendServiceAppEngineBackend; + /** + * The list of backends that serve this BackendService. + */ + backends?: Schema$Backend[]; + /** + * Cloud CDN configuration for this BackendService. + */ + cdnPolicy?: Schema$BackendServiceCdnPolicy; + /** + * Directs request to a cloud function. appEngineBackend and backends[] must + * be empty if this is set. + */ + cloudFunctionBackend?: Schema$BackendServiceCloudFunctionBackend; + connectionDraining?: Schema$ConnectionDraining; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * Headers that the HTTP/S load balancer should add to proxied requests. + */ + customRequestHeaders?: string[]; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * If true, enable Cloud CDN for this BackendService. When the load + * balancing scheme is INTERNAL, this field is not used. + */ + enableCDN?: boolean; + failoverPolicy?: Schema$BackendServiceFailoverPolicy; + /** + * Fingerprint of this resource. A hash of the contents stored in this + * object. This field is used in optimistic locking. This field will be + * ignored when inserting a BackendService. An up-to-date fingerprint must + * be provided in order to update the BackendService. To see the latest + * fingerprint, make a get() request to retrieve a BackendService. + */ + fingerprint?: string; + /** + * The list of URLs to the HttpHealthCheck or HttpsHealthCheck resource for + * health checking this BackendService. Currently at most one health check + * can be specified, and a health check is required for Compute Engine + * backend services. A health check must not be specified for App Engine + * backend and Cloud Function backend. For internal load balancing, a URL + * to a HealthCheck resource must be specified instead. + */ + healthChecks?: string[]; + iap?: Schema$BackendServiceIAP; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of resource. Always compute#backendService for backend + * services. + */ + kind?: string; + /** + * Indicates whether the backend service will be used with internal or + * external load balancing. A backend service created for one type of load + * balancing cannot be used with the other. Possible values are INTERNAL and + * EXTERNAL. + */ + loadBalancingScheme?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * Deprecated in favor of portName. The TCP port to connect on the backend. + * The default value is 80. This cannot be used for internal load + * balancing. + */ + port?: number; + /** + * Name of backend port. The same name should appear in the instance groups + * referenced by this service. Required when the load balancing scheme is + * EXTERNAL. When the load balancing scheme is INTERNAL, this field is not + * used. + */ + portName?: string; + /** + * The protocol this BackendService uses to communicate with backends. + * Possible values are HTTP, HTTPS, TCP, and SSL. The default is HTTP. For + * internal load balancing, the possible values are TCP and UDP, and the + * default is TCP. + */ + protocol?: string; + /** + * [Output Only] URL of the region where the regional backend service + * resides. This field is not applicable to global backend services. You + * must specify this field as part of the HTTP request URL. It is not + * settable as a field in the request body. + */ + region?: string; + /** + * [Output Only] The resource URL for the security policy associated with + * this backend service. + */ + securityPolicy?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * Type of session affinity to use. The default is NONE. When the load + * balancing scheme is EXTERNAL, can be NONE, CLIENT_IP, or + * GENERATED_COOKIE. When the load balancing scheme is INTERNAL, can be + * NONE, CLIENT_IP, CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO. When the + * protocol is UDP, this field is not used. + */ + sessionAffinity?: string; + /** + * How many seconds to wait for the backend before considering it a failed + * request. Default is 30 seconds. + */ + timeoutSec?: number; + } + /** + * Contains a list of BackendServicesScopedList. + */ + interface Schema$BackendServiceAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of BackendServicesScopedList resources. + */ + items?: any; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Configuration of a App Engine backend. + */ + interface Schema$BackendServiceAppEngineBackend { + /** + * Optional. App Engine app service name. + */ + appEngineService?: string; + /** + * Required. Project ID of the project hosting the app. This is the project + * ID of this project. Reference to another project is not allowed. + */ + targetProject?: string; + /** + * Optional. Version of App Engine app service. When empty, App Engine will + * do its normal traffic split. + */ + version?: string; + } + /** + * Message containing Cloud CDN configuration for a backend service. + */ + interface Schema$BackendServiceCdnPolicy { + /** + * The CacheKeyPolicy for this CdnPolicy. + */ + cacheKeyPolicy?: Schema$CacheKeyPolicy; + /** + * Maximum number of seconds the response to a signed URL request will be + * considered fresh. After this time period, the response will be + * revalidated before being served. Defaults to 1hr (3600s). When serving + * responses to signed URL requests, Cloud CDN will internally behave as + * though all responses from this backend had a ?Cache-Control: public, + * max-age=[TTL]? header, regardless of any existing Cache-Control header. + * The actual headers served in responses will not be altered. + */ + signedUrlCacheMaxAgeSec?: string; + /** + * [Output Only] Names of the keys for signing request URLs. + */ + signedUrlKeyNames?: string[]; + } + /** + * Configuration of a Cloud Function backend. + */ + interface Schema$BackendServiceCloudFunctionBackend { + /** + * Required. A cloud function name. Special value ?*? represents all cloud + * functions in the project. + */ + functionName?: string; + /** + * Required. Project ID of the project hosting the cloud function. + */ + targetProject?: string; + } + interface Schema$BackendServiceFailoverPolicy { + /** + * On failover or failback, this field indicates whether connection drain + * will be honored. Setting this to true has the following effect: + * connections to the old active pool are not drained. Connections to the + * new active pool use the timeout of 10 min (currently fixed). Setting to + * false has the following effect: both old and new connections will have a + * drain timeout of 10 min. This can be set to true only if the protocol is + * TCP. The default is false. + */ + disableConnectionDrainOnFailover?: boolean; + /** + * This option is used only when no healthy VMs are detected in the primary + * and backup instance groups. When set to true, traffic is dropped. When + * set to false, new connections are sent across all VMs in the primary + * group. The default is false. + */ + dropTrafficIfUnhealthy?: boolean; + /** + * The value of the field must be in [0, 1]. If the ratio of the healthy VMs + * in the primary backend is at or below this number, traffic arriving at + * the load-balanced IP will be directed to the failover backend. In case + * where 'failoverRatio' is not set or all the VMs in the backup + * backend are unhealthy, the traffic will be directed back to the primary + * backend in the "force" mode, where traffic will be spread to + * the healthy VMs with the best effort, or to all VMs when no VM is + * healthy. This field is only used with l4 load balancing. + */ + failoverRatio?: number; + } + interface Schema$BackendServiceGroupHealth { + healthStatus?: Schema$HealthStatus[]; + /** + * [Output Only] Type of resource. Always compute#backendServiceGroupHealth + * for the health of backend services. + */ + kind?: string; + } + /** + * Identity-Aware Proxy + */ + interface Schema$BackendServiceIAP { + enabled?: boolean; + oauth2ClientId?: string; + /** + * [Input Only] OAuth client info required to generate client id to be used + * for IAP. + */ + oauth2ClientInfo?: Schema$BackendServiceIAPOAuth2ClientInfo; + oauth2ClientSecret?: string; + /** + * [Output Only] SHA256 hash value for the field oauth2_client_secret above. + */ + oauth2ClientSecretSha256?: string; + } + interface Schema$BackendServiceIAPOAuth2ClientInfo { + /** + * Application name to be used in OAuth consent screen. + */ + applicationName?: string; + /** + * Name of the client to be generated. Optional - If not provided, the name + * will be autogenerated by the backend. + */ + clientName?: string; + /** + * Developer's information to be used in OAuth consent screen. + */ + developerEmailAddress?: string; + } + /** + * Contains a list of BackendService resources. + */ + interface Schema$BackendServiceList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of BackendService resources. + */ + items?: Schema$BackendService[]; + /** + * [Output Only] Type of resource. Always compute#backendServiceList for + * lists of backend services. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$BackendServiceReference { + backendService?: string; + } + interface Schema$BackendServicesScopedList { + /** + * A list of BackendServices contained in this scope. + */ + backendServices?: Schema$BackendService[]; + /** + * Informational warning which replaces the list of backend services when + * the list is empty. + */ + warning?: any; + } + /** + * Associates `members` with a `role`. + */ + interface Schema$Binding { + /** + * Unimplemented. The condition that is associated with this binding. NOTE: + * an unsatisfied condition will not allow user access via current binding. + * Different bindings, including their conditions, are examined + * independently. + */ + condition?: Schema$Expr; + /** + * Specifies the identities requesting access for a Cloud Platform resource. + * `members` can have the following values: * `allUsers`: A special + * identifier that represents anyone who is on the internet; with or without + * a Google account. * `allAuthenticatedUsers`: A special identifier that + * represents anyone who is authenticated with a Google account or a service + * account. * `user:{emailid}`: An email address that represents a specific + * Google account. For example, `alice@gmail.com` . * + * `serviceAccount:{emailid}`: An email address that represents a service + * account. For example, `my-other-app@appspot.gserviceaccount.com`. * + * `group:{emailid}`: An email address that represents a Google group. For + * example, `admins@example.com`. * `domain:{domain}`: A Google Apps + * domain name that represents all the users of that domain. For example, + * `google.com` or `example.com`. + */ + members?: string[]; + /** + * Role that is assigned to `members`. For example, `roles/viewer`, + * `roles/editor`, or `roles/owner`. + */ + role?: string; + } + interface Schema$CacheInvalidationRule { + /** + * If set, this invalidation rule will only apply to requests with a Host + * header matching host. + */ + host?: string; + path?: string; + } + /** + * Message containing what to include in the cache key for a request for Cloud + * CDN. + */ + interface Schema$CacheKeyPolicy { + /** + * If true, requests to different hosts will be cached separately. + */ + includeHost?: boolean; + /** + * If true, http and https requests will be cached separately. + */ + includeProtocol?: boolean; + /** + * If true, include query string parameters in the cache key according to + * query_string_whitelist and query_string_blacklist. If neither is set, the + * entire query string will be included. If false, the query string will be + * excluded from the cache key entirely. + */ + includeQueryString?: boolean; + /** + * Names of query string parameters to exclude in cache keys. All other + * parameters will be included. Either specify query_string_whitelist or + * query_string_blacklist, not both. '&' and '=' will be + * percent encoded and not treated as delimiters. + */ + queryStringBlacklist?: string[]; + /** + * Names of query string parameters to include in cache keys. All other + * parameters will be excluded. Either specify query_string_whitelist or + * query_string_blacklist, not both. '&' and '=' will be + * percent encoded and not treated as delimiters. + */ + queryStringWhitelist?: string[]; + } + /** + * Represents a Commitment resource. Creating a Commitment resource means that + * you are purchasing a committed use contract with an explicit start and end + * time. You can create commitments based on vCPUs and memory usage and + * receive discounted rates. For full details, read Signing Up for Committed + * Use Discounts. Committed use discounts are subject to Google Cloud + * Platform's Service Specific Terms. By purchasing a committed use + * discount, you agree to these terms. Committed use discounts will not renew, + * so you must purchase a new commitment to continue receiving discounts. (== + * resource_for beta.commitments ==) (== resource_for v1.commitments ==) + */ + interface Schema$Commitment { + /** + * List of allocations for this commitment. + */ + allocations?: Schema$Allocation[]; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] Commitment end time in RFC3339 text format. + */ + endTimestamp?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of the resource. Always compute#commitment for + * commitments. + */ + kind?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * The plan for this commitment, which determines duration and discount + * rate. The currently supported plans are TWELVE_MONTH (1 year), and + * THIRTY_SIX_MONTH (3 years). + */ + plan?: string; + /** + * [Output Only] URL of the region where this commitment may be used. + */ + region?: string; + /** + * A list of commitment amounts for particular resources. Note that VCPU and + * MEMORY resource commitments must occur together. + */ + resources?: Schema$ResourceCommitment[]; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] Commitment start time in RFC3339 text format. + */ + startTimestamp?: string; + /** + * [Output Only] Status of the commitment with regards to eventual + * expiration (each commitment has an end date defined). One of the + * following values: NOT_YET_ACTIVE, ACTIVE, EXPIRED. + */ + status?: string; + /** + * [Output Only] An optional, human-readable explanation of the status. + */ + statusMessage?: string; + /** + * The type of commitment, which affects the discount rate and the eligible + * resources. Type MEMORY_OPTIMIZED specifies a commitment that will only + * apply to memory optimized machines. + */ + type?: string; + } + interface Schema$CommitmentAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of CommitmentsScopedList resources. + */ + items?: any; + /** + * [Output Only] Type of resource. Always compute#commitmentAggregatedList + * for aggregated lists of commitments. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of Commitment resources. + */ + interface Schema$CommitmentList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Commitment resources. + */ + items?: Schema$Commitment[]; + /** + * [Output Only] Type of resource. Always compute#commitmentList for lists + * of commitments. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$CommitmentsScopedList { + /** + * [Output Only] A list of commitments contained in this scope. + */ + commitments?: Schema$Commitment[]; + /** + * [Output Only] Informational warning which replaces the list of + * commitments when the list is empty. + */ + warning?: any; + } + /** + * A condition to be met. + */ + interface Schema$Condition { + /** + * Trusted attributes supplied by the IAM system. + */ + iam?: string; + /** + * An operator to apply the subject with. + */ + op?: string; + /** + * Trusted attributes discharged by the service. + */ + svc?: string; + /** + * Trusted attributes supplied by any service that owns resources and uses + * the IAM system for access control. + */ + sys?: string; + /** + * DEPRECATED. Use 'values' instead. + */ + value?: string; + /** + * The objects of the condition. This is mutually exclusive with + * 'value'. + */ + values?: string[]; + } + /** + * Message containing connection draining configuration. + */ + interface Schema$ConnectionDraining { + /** + * Time for which instance will be drained (not accept new connections, but + * still work to finish started). + */ + drainingTimeoutSec?: number; + } + /** + * Represents a customer-supplied encryption key + */ + interface Schema$CustomerEncryptionKey { + /** + * The name of the encryption key that is stored in Google Cloud KMS. + */ + kmsKeyName?: string; + /** + * Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648 + * base64 to either encrypt or decrypt this resource. + */ + rawKey?: string; + /** + * Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit + * customer-supplied encryption key to either encrypt or decrypt this + * resource. The key must meet the following requirements before you can + * provide it to Compute Engine: - The key is wrapped using a RSA public + * key certificate provided by Google. - After being wrapped, the key must + * be encoded in RFC 4648 base64 encoding. Gets the RSA public key + * certificate provided by Google at: + * https://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem + */ + rsaEncryptedKey?: string; + /** + * [Output only] The RFC 4648 base64 encoded SHA-256 hash of the + * customer-supplied encryption key that protects this resource. + */ + sha256?: string; + } + interface Schema$CustomerEncryptionKeyProtectedDisk { + /** + * Decrypts data associated with the disk with a customer-supplied + * encryption key. + */ + diskEncryptionKey?: Schema$CustomerEncryptionKey; + /** + * Specifies a valid partial or full URL to an existing Persistent Disk + * resource. This field is only applicable for persistent disks. + */ + source?: string; + } + /** + * Deprecation status for a public resource. + */ + interface Schema$DeprecationStatus { + /** + * An optional RFC3339 timestamp on or after which the state of this + * resource is intended to change to DELETED. This is only informational and + * the status will not change unless the client explicitly changes it. + */ + deleted?: string; + /** + * An optional RFC3339 timestamp on or after which the state of this + * resource is intended to change to DEPRECATED. This is only informational + * and the status will not change unless the client explicitly changes it. + */ + deprecated?: string; + /** + * An optional RFC3339 timestamp on or after which the state of this + * resource is intended to change to OBSOLETE. This is only informational + * and the status will not change unless the client explicitly changes it. + */ + obsolete?: string; + /** + * The URL of the suggested replacement for a deprecated resource. The + * suggested replacement resource must be the same kind of resource as the + * deprecated resource. + */ + replacement?: string; + /** + * The deprecation state of this resource. This can be DEPRECATED, OBSOLETE, + * or DELETED. Operations which create a new resource using a DEPRECATED + * resource will return successfully, but with a warning indicating the + * deprecated resource and recommending its replacement. Operations which + * use OBSOLETE or DELETED resources will be rejected and result in an + * error. + */ + state?: string; + } + /** + * A Disk resource. (== resource_for beta.disks ==) (== resource_for v1.disks + * ==) + */ + interface Schema$Disk { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * Encrypts the disk using a customer-supplied encryption key. After you + * encrypt a disk with a customer-supplied key, you must provide the same + * key if you use the disk later (e.g. to create a disk snapshot or an + * image, or to attach the disk to a virtual machine). Customer-supplied + * encryption keys do not protect access to metadata of the disk. If you do + * not provide an encryption key when creating the disk, then the disk will + * be encrypted using an automatically generated key and you do not need to + * provide a key to use the disk later. + */ + diskEncryptionKey?: Schema$CustomerEncryptionKey; + /** + * A list of features to enable on the guest operating system. Applicable + * only for bootable images. Read Enabling guest operating system features + * to see a list of available options. + */ + guestOsFeatures?: Schema$GuestOsFeature[]; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of the resource. Always compute#disk for disks. + */ + kind?: string; + /** + * A fingerprint for the labels being applied to this disk, which is + * essentially a hash of the labels set used for optimistic locking. The + * fingerprint is initially generated by Compute Engine and changes after + * every request to modify or update labels. You must always provide an + * up-to-date fingerprint hash in order to update or change labels. To see + * the latest fingerprint, make a get() request to retrieve a disk. + */ + labelFingerprint?: string; + /** + * Labels to apply to this disk. These can be later modified by the + * setLabels method. + */ + labels?: any; + /** + * [Output Only] Last attach timestamp in RFC3339 text format. + */ + lastAttachTimestamp?: string; + /** + * [Output Only] Last detach timestamp in RFC3339 text format. + */ + lastDetachTimestamp?: string; + /** + * Integer license codes indicating which licenses are attached to this + * disk. + */ + licenseCodes?: string[]; + /** + * A list of publicly visible licenses. Reserved for Google's use. + */ + licenses?: string[]; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * Internal use only. + */ + options?: string; + /** + * Physical block size of the persistent disk, in bytes. If not present in a + * request, a default value is used. Initially only 4096 is supported, but + * other powers of two may be added. If an unsupported value is requested, + * the error message will list the supported values, but even a supported + * value may be allowed for only some projects. + */ + physicalBlockSizeBytes?: string; + /** + * [Output Only] URL of the region where the disk resides. Only applicable + * for regional resources. You must specify this field as part of the HTTP + * request URL. It is not settable as a field in the request body. + */ + region?: string; + /** + * URLs of the zones where the disk should be replicated to. Only applicable + * for regional resources. + */ + replicaZones?: string[]; + /** + * Resource policies applied to this disk for automatic snapshot creations. + */ + resourcePolicies?: string[]; + /** + * [Output Only] Server-defined fully-qualified URL for this resource. + */ + selfLink?: string; + /** + * Size of the persistent disk, specified in GB. You can specify this field + * when creating a persistent disk using the sourceImage or sourceSnapshot + * parameter, or specify it alone to create an empty persistent disk. If + * you specify this field along with sourceImage or sourceSnapshot, the + * value of sizeGb must not be less than the size of the sourceImage or the + * size of the snapshot. Acceptable values are 1 to 65536, inclusive. + */ + sizeGb?: string; + /** + * The source image used to create this disk. If the source image is + * deleted, this field will not be set. To create a disk with one of the + * public operating system images, specify the image by its family name. For + * example, specify family/debian-9 to use the latest Debian 9 image: + * projects/debian-cloud/global/images/family/debian-9 Alternatively, use + * a specific version of a public operating system image: + * projects/debian-cloud/global/images/debian-9-stretch-vYYYYMMDD To + * create a disk with a custom image that you created, specify the image + * name in the following format: global/images/my-custom-image You can + * also specify a custom image by its image family, which returns the latest + * version of the image in that family. Replace the image name with + * family/family-name: global/images/family/my-image-family + */ + sourceImage?: string; + /** + * The customer-supplied encryption key of the source image. Required if the + * source image is protected by a customer-supplied encryption key. + */ + sourceImageEncryptionKey?: Schema$CustomerEncryptionKey; + /** + * [Output Only] The ID value of the image used to create this disk. This + * value identifies the exact image that was used to create this persistent + * disk. For example, if you created the persistent disk from an image that + * was later deleted and recreated under the same name, the source image ID + * would identify the exact version of the image that was used. + */ + sourceImageId?: string; + /** + * The source snapshot used to create this disk. You can provide this as a + * partial or full URL to the resource. For example, the following are valid + * values: - + * https://www.googleapis.com/compute/v1/projects/project/global/snapshots/snapshot + * - projects/project/global/snapshots/snapshot - global/snapshots/snapshot + */ + sourceSnapshot?: string; + /** + * The customer-supplied encryption key of the source snapshot. Required if + * the source snapshot is protected by a customer-supplied encryption key. + */ + sourceSnapshotEncryptionKey?: Schema$CustomerEncryptionKey; + /** + * [Output Only] The unique ID of the snapshot used to create this disk. + * This value identifies the exact snapshot that was used to create this + * persistent disk. For example, if you created the persistent disk from a + * snapshot that was later deleted and recreated under the same name, the + * source snapshot ID would identify the exact version of the snapshot that + * was used. + */ + sourceSnapshotId?: string; + /** + * [Output Only] The status of disk creation. + */ + status?: string; + /** + * [Deprecated] Storage type of the persistent disk. + */ + storageType?: string; + /** + * URL of the disk type resource describing which disk type to use to create + * the disk. Provide this when creating the disk. For example: + * project/zones/zone/diskTypes/pd-standard or pd-ssd + */ + type?: string; + /** + * [Output Only] Links to the users of the disk (attached instances) in + * form: project/zones/zone/instances/instance + */ + users?: string[]; + /** + * [Output Only] URL of the zone where the disk resides. You must specify + * this field as part of the HTTP request URL. It is not settable as a field + * in the request body. + */ + zone?: string; + } + interface Schema$DiskAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of DisksScopedList resources. + */ + items?: any; + /** + * [Output Only] Type of resource. Always compute#diskAggregatedList for + * aggregated lists of persistent disks. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * A specification of the desired way to instantiate a disk in the instance + * template when its created from a source instance. + */ + interface Schema$DiskInstantiationConfig { + /** + * Specifies whether the disk will be auto-deleted when the instance is + * deleted (but not when the disk is detached from the instance). + */ + autoDelete?: boolean; + /** + * The custom source image to be used to restore this disk when + * instantiating this instance template. + */ + customImage?: string; + /** + * Specifies the device name of the disk to which the configurations apply + * to. + */ + deviceName?: string; + /** + * Specifies whether to include the disk and what image to use. Possible + * values are: - source-image: to use the same image that was used to + * create the source instance's corresponding disk. Applicable to the + * boot disk and additional read-write disks. - source-image-family: to use + * the same image family that was used to create the source instance's + * corresponding disk. Applicable to the boot disk and additional read-write + * disks. - custom-image: to use a user-provided image url for disk + * creation. Applicable to the boot disk and additional read-write disks. - + * attach-read-only: to attach a read-only disk. Applicable to read-only + * disks. - do-not-include: to exclude a disk from the template. Applicable + * to additional read-write disks, local SSDs, and read-only disks. + */ + instantiateFrom?: string; + } + /** + * A list of Disk resources. + */ + interface Schema$DiskList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Disk resources. + */ + items?: Schema$Disk[]; + /** + * [Output Only] Type of resource. Always compute#diskList for lists of + * disks. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$DiskMoveRequest { + /** + * The URL of the destination zone to move the disk. This can be a full or + * partial URL. For example, the following are all valid URLs to a zone: - + * https://www.googleapis.com/compute/v1/projects/project/zones/zone - + * projects/project/zones/zone - zones/zone + */ + destinationZone?: string; + /** + * The URL of the target disk to move. This can be a full or partial URL. + * For example, the following are all valid URLs to a disk: - + * https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk + * - projects/project/zones/zone/disks/disk - zones/zone/disks/disk + */ + targetDisk?: string; + } + interface Schema$DisksAddResourcePoliciesRequest { + /** + * Resource policies to be added to this disk. + */ + resourcePolicies?: string[]; + } + interface Schema$DisksRemoveResourcePoliciesRequest { + /** + * Resource policies to be removed from this disk. + */ + resourcePolicies?: string[]; + } + interface Schema$DisksResizeRequest { + /** + * The new size of the persistent disk, which is specified in GB. + */ + sizeGb?: string; + } + interface Schema$DisksScopedList { + /** + * [Output Only] A list of disks contained in this scope. + */ + disks?: Schema$Disk[]; + /** + * [Output Only] Informational warning which replaces the list of disks when + * the list is empty. + */ + warning?: any; + } + /** + * A DiskType resource. (== resource_for beta.diskTypes ==) (== resource_for + * v1.diskTypes ==) + */ + interface Schema$DiskType { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * [Output Only] Server-defined default disk size in GB. + */ + defaultDiskSizeGb?: string; + /** + * [Output Only] The deprecation status associated with this disk type. + */ + deprecated?: Schema$DeprecationStatus; + /** + * [Output Only] An optional description of this resource. + */ + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of the resource. Always compute#diskType for disk + * types. + */ + kind?: string; + /** + * [Output Only] Name of the resource. + */ + name?: string; + /** + * [Output Only] URL of the region where the disk type resides. Only + * applicable for regional resources. You must specify this field as part of + * the HTTP request URL. It is not settable as a field in the request body. + */ + region?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] An optional textual description of the valid disk size, + * such as "10GB-10TB". + */ + validDiskSize?: string; + /** + * [Output Only] URL of the zone where the disk type resides. You must + * specify this field as part of the HTTP request URL. It is not settable as + * a field in the request body. + */ + zone?: string; + } + interface Schema$DiskTypeAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of DiskTypesScopedList resources. + */ + items?: any; + /** + * [Output Only] Type of resource. Always compute#diskTypeAggregatedList. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of disk types. + */ + interface Schema$DiskTypeList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of DiskType resources. + */ + items?: Schema$DiskType[]; + /** + * [Output Only] Type of resource. Always compute#diskTypeList for disk + * types. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$DiskTypesScopedList { + /** + * [Output Only] A list of disk types contained in this scope. + */ + diskTypes?: Schema$DiskType[]; + /** + * [Output Only] Informational warning which replaces the list of disk types + * when the list is empty. + */ + warning?: any; + } + interface Schema$DistributionPolicy { + /** + * Zones where the regional managed instance group will create and manage + * instances. + */ + zones?: Schema$DistributionPolicyZoneConfiguration[]; + } + interface Schema$DistributionPolicyZoneConfiguration { + /** + * The URL of the zone. The zone must exist in the region where the managed + * instance group is located. + */ + zone?: string; + } + /** + * Represents an expression text. Example: title: "User account + * presence" description: "Determines whether the request has a user + * account" expression: "size(request.user) > 0" + */ + interface Schema$Expr { + /** + * An optional description of the expression. This is a longer text which + * describes the expression, e.g. when hovered over it in a UI. + */ + description?: string; + /** + * Textual representation of an expression in Common Expression Language + * syntax. The application context of the containing message determines + * which well-known feature set of CEL is supported. + */ + expression?: string; + /** + * An optional string indicating the location of the expression for error + * reporting, e.g. a file name and a position in the file. + */ + location?: string; + /** + * An optional title for the expression, i.e. a short string describing its + * purpose. This can be used e.g. in UIs which allow to enter the + * expression. + */ + title?: string; + } + /** + * Represents a Firewall resource. + */ + interface Schema$Firewall { + /** + * The list of ALLOW rules specified by this firewall. Each rule specifies a + * protocol and port-range tuple that describes a permitted connection. + */ + allowed?: any[]; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * The list of DENY rules specified by this firewall. Each rule specifies a + * protocol and port-range tuple that describes a denied connection. + */ + denied?: any[]; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * If destination ranges are specified, the firewall will apply only to + * traffic that has destination IP address in these ranges. These ranges + * must be expressed in CIDR format. Only IPv4 is supported. + */ + destinationRanges?: string[]; + /** + * Direction of traffic to which this firewall applies; default is INGRESS. + * Note: For INGRESS traffic, it is NOT supported to specify + * destinationRanges; For EGRESS traffic, it is NOT supported to specify + * sourceRanges OR sourceTags. + */ + direction?: string; + /** + * Denotes whether the firewall rule is disabled, i.e not applied to the + * network it is associated with. When set to true, the firewall rule is not + * enforced and the network behaves as if it did not exist. If this is + * unspecified, the firewall rule will be enabled. + */ + disabled?: boolean; + /** + * This field denotes whether to enable logging for a particular firewall + * rule. If logging is enabled, logs will be exported to Stackdriver. + */ + enableLogging?: boolean; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of the resource. Always compute#firewall for firewall + * rules. + */ + kind?: string; + /** + * Name of the resource; provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * URL of the network resource for this firewall rule. If not specified when + * creating a firewall rule, the default network is used: + * global/networks/default If you choose to specify this property, you can + * specify the network as a full or partial URL. For example, the following + * are all valid URLs: - + * https://www.googleapis.com/compute/v1/projects/myproject/global/networks/my-network + * - projects/myproject/global/networks/my-network - + * global/networks/default + */ + network?: string; + /** + * Priority for this rule. This is an integer between 0 and 65535, both + * inclusive. When not specified, the value assumed is 1000. Relative + * priorities determine precedence of conflicting rules. Lower value of + * priority implies higher precedence (eg, a rule with priority 0 has higher + * precedence than a rule with priority 1). DENY rules take precedence over + * ALLOW rules having equal priority. + */ + priority?: number; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * If source ranges are specified, the firewall will apply only to traffic + * that has source IP address in these ranges. These ranges must be + * expressed in CIDR format. One or both of sourceRanges and sourceTags may + * be set. If both properties are set, the firewall will apply to traffic + * that has source IP address within sourceRanges OR the source IP that + * belongs to a tag listed in the sourceTags property. The connection does + * not need to match both properties for the firewall to apply. Only IPv4 is + * supported. + */ + sourceRanges?: string[]; + /** + * If source service accounts are specified, the firewall will apply only to + * traffic originating from an instance with a service account in this list. + * Source service accounts cannot be used to control traffic to an + * instance's external IP address because service accounts are + * associated with an instance, not an IP address. sourceRanges can be set + * at the same time as sourceServiceAccounts. If both are set, the firewall + * will apply to traffic that has source IP address within sourceRanges OR + * the source IP belongs to an instance with service account listed in + * sourceServiceAccount. The connection does not need to match both + * properties for the firewall to apply. sourceServiceAccounts cannot be + * used at the same time as sourceTags or targetTags. + */ + sourceServiceAccounts?: string[]; + /** + * If source tags are specified, the firewall rule applies only to traffic + * with source IPs that match the primary network interfaces of VM instances + * that have the tag and are in the same VPC network. Source tags cannot be + * used to control traffic to an instance's external IP address, it only + * applies to traffic between instances in the same virtual network. Because + * tags are associated with instances, not IP addresses. One or both of + * sourceRanges and sourceTags may be set. If both properties are set, the + * firewall will apply to traffic that has source IP address within + * sourceRanges OR the source IP that belongs to a tag listed in the + * sourceTags property. The connection does not need to match both + * properties for the firewall to apply. + */ + sourceTags?: string[]; + /** + * A list of service accounts indicating sets of instances located in the + * network that may make network connections as specified in allowed[]. + * targetServiceAccounts cannot be used at the same time as targetTags or + * sourceTags. If neither targetServiceAccounts nor targetTags are + * specified, the firewall rule applies to all instances on the specified + * network. + */ + targetServiceAccounts?: string[]; + /** + * A list of tags that controls which instances the firewall rule applies + * to. If targetTags are specified, then the firewall rule applies only to + * instances in the VPC network that have one of those tags. If no + * targetTags are specified, the firewall rule applies to all instances on + * the specified network. + */ + targetTags?: string[]; + } + /** + * Contains a list of firewalls. + */ + interface Schema$FirewallList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Firewall resources. + */ + items?: Schema$Firewall[]; + /** + * [Output Only] Type of resource. Always compute#firewallList for lists of + * firewalls. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Encapsulates numeric value that can be either absolute or relative. + */ + interface Schema$FixedOrPercent { + /** + * [Output Only] Absolute value of VM instances calculated based on the + * specific mode. - If the value is fixed, then the caculated value is + * equal to the fixed value. - If the value is a percent, then the + * calculated value is percent/100 * targetSize. For example, the calculated + * value of a 80% of a managed instance group with 150 instances would be + * (80/100 * 150) = 120 VM instances. If there is a remainder, the number is + * rounded up. + */ + calculated?: number; + /** + * Specifies a fixed number of VM instances. This must be a positive + * integer. + */ + fixed?: number; + /** + * Specifies a percentage of instances between 0 to 100%, inclusive. For + * example, specify 80 for 80%. + */ + percent?: number; + } + /** + * A ForwardingRule resource. A ForwardingRule resource specifies which pool + * of target virtual machines to forward a packet to if it matches the given + * [IPAddress, IPProtocol, ports] tuple. (== resource_for beta.forwardingRules + * ==) (== resource_for v1.forwardingRules ==) (== resource_for + * beta.globalForwardingRules ==) (== resource_for v1.globalForwardingRules + * ==) (== resource_for beta.regionForwardingRules ==) (== resource_for + * v1.regionForwardingRules ==) + */ + interface Schema$ForwardingRule { + /** + * This field is used along with the backend_service field for internal load + * balancing or with the target field for internal TargetInstance. If the + * field is set to TRUE, clients can access ILB from all regions. Otherwise + * only allows access from clients in the same region as the internal load + * balancer. + */ + allowGlobalAccess?: boolean; + /** + * This field is used along with the backend_service field for internal load + * balancing or with the target field for internal TargetInstance. This + * field cannot be used with port or portRange fields. When the load + * balancing scheme is INTERNAL and protocol is TCP/UDP, specify this field + * to allow packets addressed to any ports will be forwarded to the backends + * configured with this forwarding rule. + */ + allPorts?: boolean; + /** + * This field is only used for INTERNAL load balancing. For internal load + * balancing, this field identifies the BackendService resource to receive + * the matched traffic. + */ + backendService?: string; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * Fingerprint of this resource. A hash of the contents stored in this + * object. This field is used in optimistic locking. This field will be + * ignored when inserting a ForwardingRule. Include the fingerprint in patch + * request to ensure that you do not overwrite changes that were applied + * from another concurrent request. To see the latest fingerprint, make a + * get() request to retrieve a ForwardingRule. + */ + fingerprint?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * The IP address that this forwarding rule is serving on behalf of. + * Addresses are restricted based on the forwarding rule's load + * balancing scheme (EXTERNAL or INTERNAL) and scope (global or regional). + * When the load balancing scheme is EXTERNAL, for global forwarding rules, + * the address must be a global IP, and for regional forwarding rules, the + * address must live in the same region as the forwarding rule. If this + * field is empty, an ephemeral IPv4 address from the same scope (global or + * regional) will be assigned. A regional forwarding rule supports IPv4 + * only. A global forwarding rule supports either IPv4 or IPv6. When the + * load balancing scheme is INTERNAL_SELF_MANAGED, this must be a URL + * reference to an existing Address resource ( internal regional static IP + * address). When the load balancing scheme is INTERNAL, this can only be + * an RFC 1918 IP address belonging to the network/subnet configured for the + * forwarding rule. By default, if this field is empty, an ephemeral + * internal IP address will be automatically allocated from the IP range of + * the subnet or network configured for this forwarding rule. An address + * can be specified either by a literal IP address or a URL reference to an + * existing Address resource. The following examples are all valid: - + * 100.1.2.3 - + * https://www.googleapis.com/compute/v1/projects/project/regions/region/addresses/address + * - projects/project/regions/region/addresses/address - + * regions/region/addresses/address - global/addresses/address - address + */ + IPAddress?: string; + /** + * The IP protocol to which this rule applies. Valid options are TCP, UDP, + * ESP, AH, SCTP or ICMP. When the load balancing scheme is INTERNAL, only + * TCP and UDP are valid. When the load balancing scheme is + * INTERNAL_SELF_MANAGED, only TCPis valid. + */ + IPProtocol?: string; + /** + * The IP Version that will be used by this forwarding rule. Valid options + * are IPV4 or IPV6. This can only be specified for an external global + * forwarding rule. + */ + ipVersion?: string; + /** + * [Output Only] Type of the resource. Always compute#forwardingRule for + * Forwarding Rule resources. + */ + kind?: string; + /** + * A fingerprint for the labels being applied to this resource, which is + * essentially a hash of the labels set used for optimistic locking. The + * fingerprint is initially generated by Compute Engine and changes after + * every request to modify or update labels. You must always provide an + * up-to-date fingerprint hash in order to update or change labels. To see + * the latest fingerprint, make a get() request to retrieve a + * ForwardingRule. + */ + labelFingerprint?: string; + /** + * Labels to apply to this resource. These can be later modified by the + * setLabels method. Each label key/value pair must comply with RFC1035. + * Label values may be empty. + */ + labels?: any; + /** + * This signifies what the ForwardingRule will be used for and can only take + * the following values: INTERNAL, INTERNAL_SELF_MANAGED, EXTERNAL. The + * value of INTERNAL means that this will be used for Internal Network Load + * Balancing (TCP, UDP). The value of INTERNAL_SELF_MANAGED means that this + * will be used for Internal Global HTTP(S) LB. The value of EXTERNAL means + * that this will be used for External Load Balancing (HTTP(S) LB, External + * TCP/UDP LB, SSL Proxy) + */ + loadBalancingScheme?: string; + /** + * Name of the resource; provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * This field is not used for external load balancing. For INTERNAL and + * INTERNAL_SELF_MANAGED load balancing, this field identifies the network + * that the load balanced IP should belong to for this Forwarding Rule. If + * this field is not specified, the default network will be used. + */ + network?: string; + /** + * This signifies the networking tier used for configuring this load + * balancer and can only take the following values: PREMIUM , STANDARD. For + * regional ForwardingRule, the valid values are PREMIUM and STANDARD. For + * GlobalForwardingRule, the valid value is PREMIUM. If this field is not + * specified, it is assumed to be PREMIUM. If IPAddress is specified, this + * value must be equal to the networkTier of the Address. + */ + networkTier?: string; + /** + * This field is used along with the target field for TargetHttpProxy, + * TargetHttpsProxy, TargetSslProxy, TargetTcpProxy, TargetVpnGateway, + * TargetPool, TargetInstance. Applicable only when IPProtocol is TCP, UDP, + * or SCTP, only packets addressed to ports in the specified range will be + * forwarded to target. Forwarding rules with the same [IPAddress, + * IPProtocol] pair must have disjoint port ranges. Some types of + * forwarding target have constraints on the acceptable ports: - + * TargetHttpProxy: 80, 8080 - TargetHttpsProxy: 443 - TargetTcpProxy: 25, + * 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688, 1883, 5222 - + * TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, + * 1688, 1883, 5222 - TargetVpnGateway: 500, 4500 + */ + portRange?: string; + /** + * This field is used along with the backend_service field for internal load + * balancing. When the load balancing scheme is INTERNAL, a single port or + * a comma separated list of ports can be configured. Only packets addressed + * to these ports will be forwarded to the backends configured with this + * forwarding rule. You may specify a maximum of up to 5 ports. + */ + ports?: string[]; + /** + * [Output Only] URL of the region where the regional forwarding rule + * resides. This field is not applicable to global forwarding rules. You + * must specify this field as part of the HTTP request URL. It is not + * settable as a field in the request body. + */ + region?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * An optional prefix to the service name for this Forwarding Rule. If + * specified, will be the first label of the fully qualified service name. + * The label must be 1-63 characters long, and comply with RFC1035. + * Specifically, the label must be 1-63 characters long and match the + * regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first + * character must be a lowercase letter, and all following characters must + * be a dash, lowercase letter, or digit, except the last character, which + * cannot be a dash. This field is only used for internal load balancing. + */ + serviceLabel?: string; + /** + * [Output Only] The internal fully qualified service name for this + * Forwarding Rule. This field is only used for internal load balancing. + */ + serviceName?: string; + /** + * This field is only used for INTERNAL load balancing. For internal load + * balancing, this field identifies the subnetwork that the load balanced IP + * should belong to for this Forwarding Rule. If the network specified is + * in auto subnet mode, this field is optional. However, if the network is + * in custom subnet mode, a subnetwork must be specified. + */ + subnetwork?: string; + /** + * The URL of the target resource to receive the matched traffic. For + * regional forwarding rules, this target must live in the same region as + * the forwarding rule. For global forwarding rules, this target must be a + * global load balancing resource. The forwarded traffic must be of a type + * appropriate to the target object. For INTERNAL_SELF_MANAGED" load + * balancing, only HTTP and HTTPS targets are valid. + */ + target?: string; + } + interface Schema$ForwardingRuleAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of ForwardingRulesScopedList resources. + */ + items?: any; + /** + * [Output Only] Type of resource. Always + * compute#forwardingRuleAggregatedList for lists of forwarding rules. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of ForwardingRule resources. + */ + interface Schema$ForwardingRuleList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of ForwardingRule resources. + */ + items?: Schema$ForwardingRule[]; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$ForwardingRuleReference { + forwardingRule?: string; + } + interface Schema$ForwardingRulesScopedList { + /** + * A list of forwarding rules contained in this scope. + */ + forwardingRules?: Schema$ForwardingRule[]; + /** + * Informational warning which replaces the list of forwarding rules when + * the list is empty. + */ + warning?: any; + } + interface Schema$GlobalSetLabelsRequest { + /** + * The fingerprint of the previous set of labels for this resource, used to + * detect conflicts. The fingerprint is initially generated by Compute + * Engine and changes after every request to modify or update labels. You + * must always provide an up-to-date fingerprint hash when updating or + * changing labels. Make a get() request to the resource to get the latest + * fingerprint. + */ + labelFingerprint?: string; + /** + * A list of labels to apply for this resource. Each label key & value + * must comply with RFC1035. Specifically, the name must be 1-63 characters + * long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which + * means the first character must be a lowercase letter, and all following + * characters must be a dash, lowercase letter, or digit, except the last + * character, which cannot be a dash. For example, + * "webserver-frontend": "images". A label value can + * also be empty (e.g. "my-label": ""). + */ + labels?: any; + } + interface Schema$GlobalSetPolicyRequest { + /** + * Flatten Policy to create a backwacd compatible wire-format. Deprecated. + * Use 'policy' to specify bindings. + */ + bindings?: Schema$Binding[]; + /** + * Flatten Policy to create a backward compatible wire-format. Deprecated. + * Use 'policy' to specify the etag. + */ + etag?: string; + /** + * REQUIRED: The complete policy to be applied to the 'resource'. + * The size of the policy is limited to a few 10s of KB. An empty policy is + * in general a valid policy but certain services (like Projects) might + * reject them. + */ + policy?: Schema$Policy; + } + /** + * A guest attributes entry. + */ + interface Schema$GuestAttributes { + /** + * [Output Only] Type of the resource. Always compute#guestAttributes for + * guest attributes entry. + */ + kind?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * The key to search for. + */ + variableKey?: string; + /** + * [Output Only] The value found for the requested key. + */ + variableValue?: string; + } + /** + * Guest OS features. + */ + interface Schema$GuestOsFeature { + /** + * The ID of a supported feature. Read Enabling guest operating system + * features to see a list of available options. + */ + type?: string; + } + /** + * An HealthCheck resource. This resource defines a template for how + * individual virtual machines should be checked for health, via one of the + * supported protocols. + */ + interface Schema$HealthCheck { + /** + * How often (in seconds) to send a health check. The default value is 5 + * seconds. + */ + checkIntervalSec?: number; + /** + * [Output Only] Creation timestamp in 3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * A so-far unhealthy instance will be marked healthy after this many + * consecutive successes. The default value is 2. + */ + healthyThreshold?: number; + http2HealthCheck?: Schema$HTTP2HealthCheck; + httpHealthCheck?: Schema$HTTPHealthCheck; + httpsHealthCheck?: Schema$HTTPSHealthCheck; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * Type of the resource. + */ + kind?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * [Output Only] Region where the health check resides. Not applicable to + * global health checks. + */ + region?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + sslHealthCheck?: Schema$SSLHealthCheck; + tcpHealthCheck?: Schema$TCPHealthCheck; + /** + * How long (in seconds) to wait before claiming failure. The default value + * is 5 seconds. It is invalid for timeoutSec to have greater value than + * checkIntervalSec. + */ + timeoutSec?: number; + /** + * Specifies the type of the healthCheck, either TCP, SSL, HTTP or HTTPS. If + * not specified, the default is TCP. Exactly one of the protocol-specific + * health check field must be specified, which must match type field. + */ + type?: string; + udpHealthCheck?: Schema$UDPHealthCheck; + /** + * A so-far healthy instance will be marked unhealthy after this many + * consecutive failures. The default value is 2. + */ + unhealthyThreshold?: number; + } + /** + * Contains a list of HealthCheck resources. + */ + interface Schema$HealthCheckList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of HealthCheck resources. + */ + items?: Schema$HealthCheck[]; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * A full or valid partial URL to a health check. For example, the following + * are valid URLs: - + * https://www.googleapis.com/compute/beta/projects/project-id/global/httpHealthChecks/health-check + * - projects/project-id/global/httpHealthChecks/health-check - + * global/httpHealthChecks/health-check + */ + interface Schema$HealthCheckReference { + healthCheck?: string; + } + interface Schema$HealthChecksAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of HealthChecksScopedList resources. + */ + items?: any; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$HealthChecksScopedList { + /** + * A list of HealthChecks contained in this scope. + */ + healthChecks?: Schema$HealthCheck[]; + /** + * Informational warning which replaces the list of backend services when + * the list is empty. + */ + warning?: any; + } + interface Schema$HealthStatus { + /** + * Health state of the instance. + */ + healthState?: string; + /** + * URL of the instance resource. + */ + instance?: string; + /** + * The IP address represented by this resource. + */ + ipAddress?: string; + /** + * The port on the instance. + */ + port?: number; + } + interface Schema$HealthStatusForNetworkEndpoint { + /** + * URL of the backend service associated with the health state of the + * network endpoint. + */ + backendService?: Schema$BackendServiceReference; + /** + * URL of the forwarding rule associated with the health state of the + * network endpoint. + */ + forwardingRule?: Schema$ForwardingRuleReference; + /** + * URL of the health check associated with the health state of the network + * endpoint. + */ + healthCheck?: Schema$HealthCheckReference; + /** + * Health state of the network endpoint determined based on the health + * checks configured. + */ + healthState?: string; + } + /** + * UrlMaps A host-matching rule for a URL. If matched, will use the named + * PathMatcher to select the BackendService. + */ + interface Schema$HostRule { + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * The list of host patterns to match. They must be valid hostnames, except + * * will match any string of ([a-z0-9-.]*). In that case, * must be the + * first character and must be followed in the pattern by either - or .. + */ + hosts?: string[]; + /** + * The name of the PathMatcher to use to match the path portion of the URL + * if the hostRule matches the URL's host portion. + */ + pathMatcher?: string; + } + interface Schema$HTTP2HealthCheck { + /** + * The value of the host header in the HTTP/2 health check request. If left + * empty (default value), the IP on behalf of which this health check is + * performed will be used. + */ + host?: string; + /** + * The TCP port number for the health check request. The default value is + * 443. Valid values are 1 through 65535. + */ + port?: number; + /** + * Port name as defined in InstanceGroup#NamedPort#name. If both port and + * port_name are defined, port takes precedence. + */ + portName?: string; + /** + * Specifies how port is selected for health checking, can be one of + * following values: USE_FIXED_PORT: The port number in port is used for + * health checking. USE_NAMED_PORT: The portName is used for health + * checking. USE_SERVING_PORT: For NetworkEndpointGroup, the port specified + * for each network endpoint is used for health checking. For other + * backends, the port or named port specified in the Backend Service is used + * for health checking. If not specified, HTTP2 health check follows + * behavior specified in port and portName fields. + */ + portSpecification?: string; + /** + * Specifies the type of proxy header to append before sending data to the + * backend, either NONE or PROXY_V1. The default is NONE. + */ + proxyHeader?: string; + /** + * The request path of the HTTP/2 health check request. The default value is + * /. + */ + requestPath?: string; + /** + * The string to match anywhere in the first 1024 bytes of the response + * body. If left empty (the default value), the status code determines + * health. The response data can only be ASCII. + */ + response?: string; + } + interface Schema$HTTPHealthCheck { + /** + * The value of the host header in the HTTP health check request. If left + * empty (default value), the IP on behalf of which this health check is + * performed will be used. + */ + host?: string; + /** + * The TCP port number for the health check request. The default value + * is 80. Valid values are 1 through 65535. + */ + port?: number; + /** + * Port name as defined in InstanceGroup#NamedPort#name. If both port and + * port_name are defined, port takes precedence. + */ + portName?: string; + /** + * Specifies how port is selected for health checking, can be one of + * following values: USE_FIXED_PORT: The port number in port is used for + * health checking. USE_NAMED_PORT: The portName is used for health + * checking. USE_SERVING_PORT: For NetworkEndpointGroup, the port specified + * for each network endpoint is used for health checking. For other + * backends, the port or named port specified in the Backend Service is used + * for health checking. If not specified, HTTP health check follows + * behavior specified in port and portName fields. + */ + portSpecification?: string; + /** + * Specifies the type of proxy header to append before sending data to the + * backend, either NONE or PROXY_V1. The default is NONE. + */ + proxyHeader?: string; + /** + * The request path of the HTTP health check request. The default value is + * /. + */ + requestPath?: string; + /** + * The string to match anywhere in the first 1024 bytes of the response + * body. If left empty (the default value), the status code determines + * health. The response data can only be ASCII. + */ + response?: string; + } + /** + * An HttpHealthCheck resource. This resource defines a template for how + * individual instances should be checked for health, via HTTP. + */ + interface Schema$HttpHealthCheck { + /** + * How often (in seconds) to send a health check. The default value is 5 + * seconds. + */ + checkIntervalSec?: number; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * A so-far unhealthy instance will be marked healthy after this many + * consecutive successes. The default value is 2. + */ + healthyThreshold?: number; + /** + * The value of the host header in the HTTP health check request. If left + * empty (default value), the public IP on behalf of which this health check + * is performed will be used. + */ + host?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of the resource. Always compute#httpHealthCheck for + * HTTP health checks. + */ + kind?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * The TCP port number for the HTTP health check request. The default value + * is 80. + */ + port?: number; + /** + * The request path of the HTTP health check request. The default value is + * /. + */ + requestPath?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * How long (in seconds) to wait before claiming failure. The default value + * is 5 seconds. It is invalid for timeoutSec to have greater value than + * checkIntervalSec. + */ + timeoutSec?: number; + /** + * A so-far healthy instance will be marked unhealthy after this many + * consecutive failures. The default value is 2. + */ + unhealthyThreshold?: number; + } + /** + * Contains a list of HttpHealthCheck resources. + */ + interface Schema$HttpHealthCheckList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of HttpHealthCheck resources. + */ + items?: Schema$HttpHealthCheck[]; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * An HttpsHealthCheck resource. This resource defines a template for how + * individual instances should be checked for health, via HTTPS. + */ + interface Schema$HttpsHealthCheck { + /** + * How often (in seconds) to send a health check. The default value is 5 + * seconds. + */ + checkIntervalSec?: number; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * A so-far unhealthy instance will be marked healthy after this many + * consecutive successes. The default value is 2. + */ + healthyThreshold?: number; + /** + * The value of the host header in the HTTPS health check request. If left + * empty (default value), the public IP on behalf of which this health check + * is performed will be used. + */ + host?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * Type of the resource. + */ + kind?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * The TCP port number for the HTTPS health check request. The default value + * is 443. + */ + port?: number; + /** + * The request path of the HTTPS health check request. The default value is + * "/". + */ + requestPath?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * How long (in seconds) to wait before claiming failure. The default value + * is 5 seconds. It is invalid for timeoutSec to have a greater value than + * checkIntervalSec. + */ + timeoutSec?: number; + /** + * A so-far healthy instance will be marked unhealthy after this many + * consecutive failures. The default value is 2. + */ + unhealthyThreshold?: number; + } + interface Schema$HTTPSHealthCheck { + /** + * The value of the host header in the HTTPS health check request. If left + * empty (default value), the IP on behalf of which this health check is + * performed will be used. + */ + host?: string; + /** + * The TCP port number for the health check request. The default value is + * 443. Valid values are 1 through 65535. + */ + port?: number; + /** + * Port name as defined in InstanceGroup#NamedPort#name. If both port and + * port_name are defined, port takes precedence. + */ + portName?: string; + /** + * Specifies how port is selected for health checking, can be one of + * following values: USE_FIXED_PORT: The port number in port is used for + * health checking. USE_NAMED_PORT: The portName is used for health + * checking. USE_SERVING_PORT: For NetworkEndpointGroup, the port specified + * for each network endpoint is used for health checking. For other + * backends, the port or named port specified in the Backend Service is used + * for health checking. If not specified, HTTPS health check follows + * behavior specified in port and portName fields. + */ + portSpecification?: string; + /** + * Specifies the type of proxy header to append before sending data to the + * backend, either NONE or PROXY_V1. The default is NONE. + */ + proxyHeader?: string; + /** + * The request path of the HTTPS health check request. The default value is + * /. + */ + requestPath?: string; + /** + * The string to match anywhere in the first 1024 bytes of the response + * body. If left empty (the default value), the status code determines + * health. The response data can only be ASCII. + */ + response?: string; + } + /** + * Contains a list of HttpsHealthCheck resources. + */ + interface Schema$HttpsHealthCheckList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of HttpsHealthCheck resources. + */ + items?: Schema$HttpsHealthCheck[]; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * An Image resource. (== resource_for beta.images ==) (== resource_for + * v1.images ==) + */ + interface Schema$Image { + /** + * Size of the image tar.gz archive stored in Google Cloud Storage (in + * bytes). + */ + archiveSizeBytes?: string; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * The deprecation status associated with this image. + */ + deprecated?: Schema$DeprecationStatus; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * Size of the image when restored onto a persistent disk (in GB). + */ + diskSizeGb?: string; + /** + * The name of the image family to which this image belongs. You can create + * disks by specifying an image family instead of a specific image name. The + * image family always returns its latest image that is not deprecated. The + * name of the image family must comply with RFC1035. + */ + family?: string; + /** + * A list of features to enable on the guest operating system. Applicable + * only for bootable images. Read Enabling guest operating system features + * to see a list of available options. + */ + guestOsFeatures?: Schema$GuestOsFeature[]; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * Encrypts the image using a customer-supplied encryption key. After you + * encrypt an image with a customer-supplied key, you must provide the same + * key if you use the image later (e.g. to create a disk from the image). + * Customer-supplied encryption keys do not protect access to metadata of + * the disk. If you do not provide an encryption key when creating the + * image, then the disk will be encrypted using an automatically generated + * key and you do not need to provide a key to use the image later. + */ + imageEncryptionKey?: Schema$CustomerEncryptionKey; + /** + * [Output Only] Type of the resource. Always compute#image for images. + */ + kind?: string; + /** + * A fingerprint for the labels being applied to this image, which is + * essentially a hash of the labels used for optimistic locking. The + * fingerprint is initially generated by Compute Engine and changes after + * every request to modify or update labels. You must always provide an + * up-to-date fingerprint hash in order to update or change labels. To see + * the latest fingerprint, make a get() request to retrieve an image. + */ + labelFingerprint?: string; + /** + * Labels to apply to this image. These can be later modified by the + * setLabels method. + */ + labels?: any; + /** + * Integer license codes indicating which licenses are attached to this + * image. + */ + licenseCodes?: string[]; + /** + * Any applicable license URI. + */ + licenses?: string[]; + /** + * Name of the resource; provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * The parameters of the raw disk image. + */ + rawDisk?: any; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * URL of the source disk used to create this image. This can be a full or + * valid partial URL. You must provide either this property or the + * rawDisk.source property but not both to create an image. For example, the + * following are valid values: - + * https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk + * - projects/project/zones/zone/disks/disk - zones/zone/disks/disk + */ + sourceDisk?: string; + /** + * The customer-supplied encryption key of the source disk. Required if the + * source disk is protected by a customer-supplied encryption key. + */ + sourceDiskEncryptionKey?: Schema$CustomerEncryptionKey; + /** + * [Output Only] The ID value of the disk used to create this image. This + * value may be used to determine whether the image was taken from the + * current or a previous instance of a given disk name. + */ + sourceDiskId?: string; + /** + * URL of the source image used to create this image. This can be a full or + * valid partial URL. You must provide exactly one of: - this property, or + * - the rawDisk.source property, or - the sourceDisk property in order + * to create an image. + */ + sourceImage?: string; + /** + * The customer-supplied encryption key of the source image. Required if the + * source image is protected by a customer-supplied encryption key. + */ + sourceImageEncryptionKey?: Schema$CustomerEncryptionKey; + /** + * [Output Only] The ID value of the image used to create this image. This + * value may be used to determine whether the image was taken from the + * current or a previous instance of a given image name. + */ + sourceImageId?: string; + /** + * URL of the source snapshot used to create this image. This can be a full + * or valid partial URL. You must provide exactly one of: - this property, + * or - the sourceImage property, or - the rawDisk.source property, or + * - the sourceDisk property in order to create an image. + */ + sourceSnapshot?: string; + /** + * The customer-supplied encryption key of the source snapshot. Required if + * the source snapshot is protected by a customer-supplied encryption key. + */ + sourceSnapshotEncryptionKey?: Schema$CustomerEncryptionKey; + /** + * [Output Only] The ID value of the snapshot used to create this image. + * This value may be used to determine whether the snapshot was taken from + * the current or a previous instance of a given snapshot name. + */ + sourceSnapshotId?: string; + /** + * The type of the image used to create this disk. The default and only + * value is RAW + */ + sourceType?: string; + /** + * [Output Only] The status of the image. An image can be used to create + * other resources, such as instances, only after the image has been + * successfully created and the status is set to READY. Possible values are + * FAILED, PENDING, or READY. + */ + status?: string; + } + /** + * Contains a list of images. + */ + interface Schema$ImageList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Image resources. + */ + items?: Schema$Image[]; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * An Instance resource. (== resource_for beta.instances ==) (== resource_for + * v1.instances ==) + */ + interface Schema$Instance { + allocationAffinity?: Schema$AllocationAffinity; + /** + * Allows this instance to send and receive packets with non-matching + * destination or source IPs. This is required if you plan to use this + * instance to forward routes. For more information, see Enabling IP + * Forwarding. + */ + canIpForward?: boolean; + /** + * [Output Only] The CPU platform used by this instance. + */ + cpuPlatform?: string; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * Whether the resource should be protected against deletion. + */ + deletionProtection?: boolean; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * Array of disks associated with this instance. Persistent disks must be + * created before you can assign them. + */ + disks?: Schema$AttachedDisk[]; + /** + * A list of the type and count of accelerator cards attached to the + * instance. + */ + guestAccelerators?: Schema$AcceleratorConfig[]; + hostname?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * Encrypts or decrypts data for an instance with a customer-supplied + * encryption key. If you are creating a new instance, this field encrypts + * the local SSD and in-memory contents of the instance using a key that you + * provide. If you are restarting an instance protected with a + * customer-supplied encryption key, you must provide the correct key in + * order to successfully restart the instance. If you do not provide an + * encryption key when creating the instance, then the local SSD and + * in-memory contents will be encrypted using an automatically generated key + * and you do not need to provide a key to start the instance later. + * Instance templates do not store customer-supplied encryption keys, so you + * cannot use your own keys to encrypt local SSDs and in-memory content in a + * managed instance group. + */ + instanceEncryptionKey?: Schema$CustomerEncryptionKey; + /** + * [Output Only] Type of the resource. Always compute#instance for + * instances. + */ + kind?: string; + /** + * A fingerprint for this request, which is essentially a hash of the + * label's contents and used for optimistic locking. The fingerprint is + * initially generated by Compute Engine and changes after every request to + * modify or update labels. You must always provide an up-to-date + * fingerprint hash in order to update or change labels. To see the latest + * fingerprint, make get() request to the instance. + */ + labelFingerprint?: string; + /** + * Labels to apply to this instance. These can be later modified by the + * setLabels method. + */ + labels?: any; + /** + * Full or partial URL of the machine type resource to use for this + * instance, in the format: zones/zone/machineTypes/machine-type. This is + * provided by the client when the instance is created. For example, the + * following is a valid partial url to a predefined machine type: + * zones/us-central1-f/machineTypes/n1-standard-1 To create a custom + * machine type, provide a URL to a machine type in the following format, + * where CPUS is 1 or an even number up to 32 (2, 4, 6, ... 24, etc), and + * MEMORY is the total memory for this instance. Memory must be a multiple + * of 256 MB and must be supplied in MB (e.g. 5 GB of memory is 5120 MB): + * zones/zone/machineTypes/custom-CPUS-MEMORY For example: + * zones/us-central1-f/machineTypes/custom-4-5120 For a full list of + * restrictions, read the Specifications for custom machine types. + */ + machineType?: string; + /** + * The metadata key/value pairs assigned to this instance. This includes + * custom metadata and predefined keys. + */ + metadata?: Schema$Metadata; + /** + * Specifies a minimum CPU platform for the VM instance. Applicable values + * are the friendly names of CPU platforms, such as minCpuPlatform: + * "Intel Haswell" or minCpuPlatform: "Intel Sandy + * Bridge". + */ + minCpuPlatform?: string; + /** + * The name of the resource, provided by the client when initially creating + * the resource. The resource name must be 1-63 characters long, and comply + * with RFC1035. Specifically, the name must be 1-63 characters long and + * match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the + * first character must be a lowercase letter, and all following characters + * must be a dash, lowercase letter, or digit, except the last character, + * which cannot be a dash. + */ + name?: string; + /** + * An array of network configurations for this instance. These specify how + * interfaces are configured to interact with other network services, such + * as connecting to the internet. Multiple interfaces are supported per + * instance. + */ + networkInterfaces?: Schema$NetworkInterface[]; + /** + * Total amount of preserved state for SUSPENDED instances. Read-only in the + * api. + */ + preservedStateSizeGb?: string; + /** + * Resource policies applied to this instance. + */ + resourcePolicies?: string[]; + /** + * Sets the scheduling options for this instance. + */ + scheduling?: Schema$Scheduling; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * A list of service accounts, with their specified scopes, authorized for + * this instance. Only one service account per VM instance is supported. + * Service accounts generate access tokens that can be accessed through the + * metadata server and used to authenticate applications on the instance. + * See Service Accounts for more information. + */ + serviceAccounts?: Schema$ServiceAccount[]; + shieldedVmConfig?: Schema$ShieldedVmConfig; + shieldedVmIntegrityPolicy?: Schema$ShieldedVmIntegrityPolicy; + /** + * Source machine image + */ + sourceMachineImage?: string; + /** + * [Output Only] Whether a VM has been restricted for start because Compute + * Engine has detected suspicious activity. + */ + startRestricted?: boolean; + /** + * [Output Only] The status of the instance. One of the following values: + * PROVISIONING, STAGING, RUNNING, STOPPING, STOPPED, SUSPENDING, SUSPENDED, + * and TERMINATED. + */ + status?: string; + /** + * [Output Only] An optional, human-readable explanation of the status. + */ + statusMessage?: string; + /** + * Tags to apply to this instance. Tags are used to identify valid sources + * or targets for network firewalls and are specified by the client during + * instance creation. The tags can be later modified by the setTags method. + * Each tag within the list must comply with RFC1035. Multiple tags can be + * specified via the 'tags.items' field. + */ + tags?: Schema$Tags; + /** + * [Output Only] URL of the zone where the instance resides. You must + * specify this field as part of the HTTP request URL. It is not settable as + * a field in the request body. + */ + zone?: string; + } + interface Schema$InstanceAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of InstancesScopedList resources. + */ + items?: any; + /** + * [Output Only] Type of resource. Always compute#instanceAggregatedList for + * aggregated lists of Instance resources. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * InstanceGroups (== resource_for beta.instanceGroups ==) (== resource_for + * v1.instanceGroups ==) (== resource_for beta.regionInstanceGroups ==) (== + * resource_for v1.regionInstanceGroups ==) + */ + interface Schema$InstanceGroup { + /** + * [Output Only] The creation timestamp for this instance group in RFC3339 + * text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] The fingerprint of the named ports. The system uses this + * fingerprint to detect conflicts when multiple users change the named + * ports concurrently. + */ + fingerprint?: string; + /** + * [Output Only] A unique identifier for this instance group, generated by + * the server. + */ + id?: string; + /** + * [Output Only] The resource type, which is always compute#instanceGroup + * for instance groups. + */ + kind?: string; + /** + * The name of the instance group. The name must be 1-63 characters long, + * and comply with RFC1035. + */ + name?: string; + /** + * Assigns a name to a port number. For example: {name: "http", + * port: 80} This allows the system to reference ports by the assigned name + * instead of a port number. Named ports can also contain multiple ports. + * For example: [{name: "http", port: 80},{name: "http", + * port: 8080}] Named ports apply to all instances in this instance group. + */ + namedPorts?: Schema$NamedPort[]; + /** + * The URL of the network to which all instances in the instance group + * belong. + */ + network?: string; + /** + * [Output Only] The URL of the region where the instance group is located + * (for regional resources). + */ + region?: string; + /** + * [Output Only] The URL for this instance group. The server generates this + * URL. + */ + selfLink?: string; + /** + * [Output Only] The total number of instances in the instance group. + */ + size?: number; + /** + * [Output Only] The URL of the subnetwork to which all instances in the + * instance group belong. + */ + subnetwork?: string; + /** + * [Output Only] The URL of the zone where the instance group is located + * (for zonal resources). + */ + zone?: string; + } + interface Schema$InstanceGroupAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of InstanceGroupsScopedList resources. + */ + items?: any; + /** + * [Output Only] The resource type, which is always + * compute#instanceGroupAggregatedList for aggregated lists of instance + * groups. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * A list of InstanceGroup resources. + */ + interface Schema$InstanceGroupList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of InstanceGroup resources. + */ + items?: Schema$InstanceGroup[]; + /** + * [Output Only] The resource type, which is always + * compute#instanceGroupList for instance group lists. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * An Instance Group Manager resource. (== resource_for + * beta.instanceGroupManagers ==) (== resource_for v1.instanceGroupManagers + * ==) (== resource_for beta.regionInstanceGroupManagers ==) (== resource_for + * v1.regionInstanceGroupManagers ==) + */ + interface Schema$InstanceGroupManager { + /** + * The autohealing policy for this managed instance group. You can specify + * only one value. + */ + autoHealingPolicies?: Schema$InstanceGroupManagerAutoHealingPolicy[]; + /** + * The base instance name to use for instances in this group. The value must + * be 1-58 characters long. Instances are named by appending a hyphen and a + * random four-character string to the base instance name. The base instance + * name must comply with RFC1035. + */ + baseInstanceName?: string; + /** + * [Output Only] The creation timestamp for this managed instance group in + * RFC3339 text format. + */ + creationTimestamp?: string; + /** + * [Output Only] The list of instance actions and the number of instances in + * this managed instance group that are scheduled for each of those actions. + */ + currentActions?: Schema$InstanceGroupManagerActionsSummary; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * Policy specifying intended distribution of instances in regional managed + * instance group. + */ + distributionPolicy?: Schema$DistributionPolicy; + /** + * The action to perform in case of zone failure. Only one value is + * supported, NO_FAILOVER. The default is NO_FAILOVER. + */ + failoverAction?: string; + /** + * Fingerprint of this resource. This field may be used in optimistic + * locking. It will be ignored when inserting an InstanceGroupManager. An + * up-to-date fingerprint must be provided in order to update the + * InstanceGroupManager. To see the latest fingerprint, make a get() + * request to retrieve an InstanceGroupManager. + */ + fingerprint?: string; + /** + * [Output Only] A unique identifier for this resource type. The server + * generates this identifier. + */ + id?: string; + /** + * [Output Only] The URL of the Instance Group resource. + */ + instanceGroup?: string; + /** + * The URL of the instance template that is specified for this managed + * instance group. The group uses this template to create all new instances + * in the managed instance group. + */ + instanceTemplate?: string; + /** + * [Output Only] The resource type, which is always + * compute#instanceGroupManager for managed instance groups. + */ + kind?: string; + /** + * The name of the managed instance group. The name must be 1-63 characters + * long, and comply with RFC1035. + */ + name?: string; + /** + * Named ports configured for the Instance Groups complementary to this + * Instance Group Manager. + */ + namedPorts?: Schema$NamedPort[]; + /** + * [Output Only] The list of instance actions and the number of instances in + * this managed instance group that are pending for each of those actions. + */ + pendingActions?: Schema$InstanceGroupManagerPendingActionsSummary; + /** + * [Output Only] The URL of the region where the managed instance group + * resides (for regional resources). + */ + region?: string; + /** + * [Output Only] The URL for this managed instance group. The server defines + * this URL. + */ + selfLink?: string; + /** + * The service account to be used as credentials for all operations + * performed by the managed instance group on instances. The service + * accounts needs all permissions required to create and delete instances. + * By default, the service account + * {projectNumber}@cloudservices.gserviceaccount.com is used. + */ + serviceAccount?: string; + /** + * Stateful configuration for this Instanced Group Manager + */ + statefulPolicy?: Schema$StatefulPolicy; + /** + * [Output Only] The status of this managed instance group. + */ + status?: Schema$InstanceGroupManagerStatus; + /** + * The URLs for all TargetPool resources to which instances in the + * instanceGroup field are added. The target pools automatically apply to + * all of the instances in the managed instance group. + */ + targetPools?: string[]; + /** + * The target number of running instances for this managed instance group. + * Deleting or abandoning instances reduces this number. Resizing the group + * changes this number. + */ + targetSize?: number; + /** + * The update policy for this managed instance group. + */ + updatePolicy?: Schema$InstanceGroupManagerUpdatePolicy; + /** + * Specifies the instance templates used by this managed instance group to + * create instances. Each version is defined by an instanceTemplate. Every + * template can appear at most once per instance group. This field overrides + * the top-level instanceTemplate field. Read more about the relationships + * between these fields. Exactly one version must leave the targetSize field + * unset. That version will be applied to all remaining instances. For more + * information, read about canary updates. + */ + versions?: Schema$InstanceGroupManagerVersion[]; + /** + * [Output Only] The URL of the zone where the managed instance group is + * located (for zonal resources). + */ + zone?: string; + } + interface Schema$InstanceGroupManagerActionsSummary { + /** + * [Output Only] The total number of instances in the managed instance group + * that are scheduled to be abandoned. Abandoning an instance removes it + * from the managed instance group without deleting it. + */ + abandoning?: number; + /** + * [Output Only] The number of instances in the managed instance group that + * are scheduled to be created or are currently being created. If the group + * fails to create any of these instances, it tries again until it creates + * the instance successfully. If you have disabled creation retries, this + * field will not be populated; instead, the creatingWithoutRetries field + * will be populated. + */ + creating?: number; + /** + * [Output Only] The number of instances that the managed instance group + * will attempt to create. The group attempts to create each instance only + * once. If the group fails to create any of these instances, it decreases + * the group's targetSize value accordingly. + */ + creatingWithoutRetries?: number; + /** + * [Output Only] The number of instances in the managed instance group that + * are scheduled to be deleted or are currently being deleted. + */ + deleting?: number; + /** + * [Output Only] The number of instances in the managed instance group that + * are running and have no scheduled actions. + */ + none?: number; + /** + * [Output Only] The number of instances in the managed instance group that + * are scheduled to be recreated or are currently being being recreated. + * Recreating an instance deletes the existing root persistent disk and + * creates a new disk from the image that is defined in the instance + * template. + */ + recreating?: number; + /** + * [Output Only] The number of instances in the managed instance group that + * are being reconfigured with properties that do not require a restart or a + * recreate action. For example, setting or removing target pools for the + * instance. + */ + refreshing?: number; + /** + * [Output Only] The number of instances in the managed instance group that + * are scheduled to be restarted or are currently being restarted. + */ + restarting?: number; + /** + * [Output Only] The number of instances in the managed instance group that + * are being verified. See the managedInstances[].currentAction property in + * the listManagedInstances method documentation. + */ + verifying?: number; + } + interface Schema$InstanceGroupManagerAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of InstanceGroupManagersScopedList resources. + */ + items?: any; + /** + * [Output Only] The resource type, which is always + * compute#instanceGroupManagerAggregatedList for an aggregated list of + * managed instance groups. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$InstanceGroupManagerAutoHealingPolicy { + /** + * The URL for the health check that signals autohealing. + */ + healthCheck?: string; + /** + * The number of seconds that the managed instance group waits before it + * applies autohealing policies to new instances or recently recreated + * instances. This initial delay allows instances to initialize and run + * their startup scripts before the instance group determines that they are + * UNHEALTHY. This prevents the managed instance group from recreating its + * instances prematurely. This value must be from range [0, 3600]. + */ + initialDelaySec?: number; + /** + * Maximum number of instances that can be unavailable when autohealing. The + * instance is considered available if all of the following conditions are + * satisfied: 1. Instance's status is RUNNING. 2. Instance's + * liveness health check result was observed to be HEALTHY at least once. By + * default, a percent value of 100% is used. + */ + maxUnavailable?: Schema$FixedOrPercent; + } + /** + * [Output Only] A list of managed instance groups. + */ + interface Schema$InstanceGroupManagerList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of InstanceGroupManager resources. + */ + items?: Schema$InstanceGroupManager[]; + /** + * [Output Only] The resource type, which is always + * compute#instanceGroupManagerList for a list of managed instance groups. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$InstanceGroupManagerPendingActionsSummary { + /** + * [Output Only] The number of instances in the managed instance group that + * are pending to be created. + */ + creating?: number; + /** + * [Output Only] The number of instances in the managed instance group that + * are pending to be deleted. + */ + deleting?: number; + /** + * [Output Only] The number of instances in the managed instance group that + * are pending to be recreated. + */ + recreating?: number; + /** + * [Output Only] The number of instances in the managed instance group that + * are pending to be restarted. + */ + restarting?: number; + } + interface Schema$InstanceGroupManagersAbandonInstancesRequest { + /** + * The URLs of one or more instances to abandon. This can be a full URL or a + * partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. + */ + instances?: string[]; + } + /** + * InstanceGroupManagers.applyUpdatesToInstances + */ + interface Schema$InstanceGroupManagersApplyUpdatesRequest { + /** + * The list of URLs of one or more instances for which we want to apply + * updates on this managed instance group. This can be a full URL or a + * partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. + */ + instances?: string[]; + /** + * The maximal action that should be perfomed on the instances. By default + * REPLACE. + */ + maximalAction?: string; + /** + * The minimal action that should be perfomed on the instances. By default + * NONE. + */ + minimalAction?: string; + } + interface Schema$InstanceGroupManagersDeleteInstancesRequest { + /** + * The URLs of one or more instances to delete. This can be a full URL or a + * partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. + */ + instances?: string[]; + } + /** + * InstanceGroupManagers.deletePerInstanceConfigs + */ + interface Schema$InstanceGroupManagersDeletePerInstanceConfigsReq { + /** + * The list of instances for which we want to delete per-instance configs on + * this managed instance group. + */ + instances?: string[]; + } + interface Schema$InstanceGroupManagersListManagedInstancesResponse { + /** + * [Output Only] The list of instances in the managed instance group. + */ + managedInstances?: Schema$ManagedInstance[]; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + } + interface Schema$InstanceGroupManagersListPerInstanceConfigsResp { + /** + * [Output Only] The list of PerInstanceConfig. + */ + items?: Schema$PerInstanceConfig[]; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$InstanceGroupManagersRecreateInstancesRequest { + /** + * The URLs of one or more instances to recreate. This can be a full URL or + * a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. + */ + instances?: string[]; + } + interface Schema$InstanceGroupManagersResizeAdvancedRequest { + /** + * If this flag is true, the managed instance group attempts to create all + * instances initiated by this resize request only once. If there is an + * error during creation, the managed instance group does not retry create + * this instance, and we will decrease the targetSize of the request + * instead. If the flag is false, the group attemps to recreate each + * instance continuously until it succeeds. This flag matters only in the + * first attempt of creation of an instance. After an instance is + * successfully created while this flag is enabled, the instance behaves the + * same way as all the other instances created with a regular resize + * request. In particular, if a running instance dies unexpectedly at a + * later time and needs to be recreated, this mode does not affect the + * recreation behavior in that scenario. This flag is applicable only to + * the current resize request. It does not influence other resize requests + * in any way. You can see which instances is being creating in which mode + * by calling the get or listManagedInstances API. + */ + noCreationRetries?: boolean; + /** + * The number of running instances that the managed instance group should + * maintain at any given time. The group automatically adds or removes + * instances to maintain the number of instances specified by this + * parameter. + */ + targetSize?: number; + } + interface Schema$InstanceGroupManagersScopedList { + /** + * [Output Only] The list of managed instance groups that are contained in + * the specified project and zone. + */ + instanceGroupManagers?: Schema$InstanceGroupManager[]; + /** + * [Output Only] The warning that replaces the list of managed instance + * groups when the list is empty. + */ + warning?: any; + } + interface Schema$InstanceGroupManagersSetAutoHealingRequest { + autoHealingPolicies?: Schema$InstanceGroupManagerAutoHealingPolicy[]; + } + interface Schema$InstanceGroupManagersSetInstanceTemplateRequest { + /** + * The URL of the instance template that is specified for this managed + * instance group. The group uses this template to create all new instances + * in the managed instance group. + */ + instanceTemplate?: string; + } + interface Schema$InstanceGroupManagersSetTargetPoolsRequest { + /** + * The fingerprint of the target pools information. Use this optional + * property to prevent conflicts when multiple users change the target pools + * settings concurrently. Obtain the fingerprint with the + * instanceGroupManagers.get method. Then, include the fingerprint in your + * request to ensure that you do not overwrite changes that were applied + * from another concurrent request. + */ + fingerprint?: string; + /** + * The list of target pool URLs that instances in this managed instance + * group belong to. The managed instance group applies these target pools to + * all of the instances in the group. Existing instances and new instances + * in the group all receive these target pool settings. + */ + targetPools?: string[]; + } + interface Schema$InstanceGroupManagerStatus { + /** + * [Output Only] A bit indicating whether the managed instance group is in a + * stable state. A stable state means that: none of the instances in the + * managed instance group is currently undergoing any type of change (for + * example, creation, restart, or deletion); no future changes are scheduled + * for instances in the managed instance group; and the managed instance + * group itself is not being modified. + */ + isStable?: boolean; + /** + * [Output Only] A bit indicating whether version target has been reached in + * this managed instance group, i.e. all instances are in their target + * version. Instances' target version are specified by version field on + * Instance Group Manager. + */ + versionTargetReached?: boolean; + } + /** + * InstanceGroupManagers.updatePerInstanceConfigs + */ + interface Schema$InstanceGroupManagersUpdatePerInstanceConfigsReq { + /** + * The list of per-instance configs to insert or patch on this managed + * instance group. + */ + perInstanceConfigs?: Schema$PerInstanceConfig[]; + } + interface Schema$InstanceGroupManagerUpdatePolicy { + instanceRedistributionType?: string; + /** + * The maximum number of instances that can be created above the specified + * targetSize during the update process. By default, a fixed value of 1 is + * used. This value can be either a fixed number or a percentage if the + * instance group has 10 or more instances. If you set a percentage, the + * number of instances will be rounded up if necessary. At least one of + * either maxSurge or maxUnavailable must be greater than 0. Learn more + * about maxSurge. + */ + maxSurge?: Schema$FixedOrPercent; + /** + * The maximum number of instances that can be unavailable during the update + * process. An instance is considered available if all of the following + * conditions are satisfied: - The instance's status is RUNNING. - + * If there is a health check on the instance group, the instance's + * liveness health check result must be HEALTHY at least once. If there is + * no health check on the group, then the instance only needs to have a + * status of RUNNING to be considered available. By default, a fixed value + * of 1 is used. This value can be either a fixed number or a percentage if + * the instance group has 10 or more instances. If you set a percentage, the + * number of instances will be rounded up if necessary. At least one of + * either maxSurge or maxUnavailable must be greater than 0. Learn more + * about maxUnavailable. + */ + maxUnavailable?: Schema$FixedOrPercent; + /** + * Minimal action to be taken on an instance. You can specify either RESTART + * to restart existing instances or REPLACE to delete and create new + * instances from the target template. If you specify a RESTART, the Updater + * will attempt to perform that action only. However, if the Updater + * determines that the minimal action you specify is not enough to perform + * the update, it might perform a more disruptive action. + */ + minimalAction?: string; + /** + * Minimum number of seconds to wait for after a newly created instance + * becomes available. This value must be from range [0, 3600]. + */ + minReadySec?: number; + type?: string; + } + interface Schema$InstanceGroupManagerVersion { + instanceTemplate?: string; + /** + * Name of the version. Unique among all versions in the scope of this + * managed instance group. + */ + name?: string; + /** + * Tag describing the version. Used to trigger rollout of a target version + * even if instance_template remains unchanged. Deprecated in favor of + * 'name'. + */ + tag?: string; + /** + * Specifies the intended number of instances to be created from the + * instanceTemplate. The final number of instances created from the template + * will be equal to: - If expressed as a fixed number, the minimum of + * either targetSize.fixed or instanceGroupManager.targetSize is used. - if + * expressed as a percent, the targetSize would be (targetSize.percent/100 * + * InstanceGroupManager.targetSize) If there is a remainder, the number is + * rounded up. If unset, this version will update any remaining instances + * not updated by another version. Read Starting a canary update for more + * information. + */ + targetSize?: Schema$FixedOrPercent; + } + interface Schema$InstanceGroupsAddInstancesRequest { + /** + * The list of instances to add to the instance group. + */ + instances?: Schema$InstanceReference[]; + } + interface Schema$InstanceGroupsListInstances { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of InstanceWithNamedPorts resources. + */ + items?: Schema$InstanceWithNamedPorts[]; + /** + * [Output Only] The resource type, which is always + * compute#instanceGroupsListInstances for the list of instances in the + * specified instance group. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$InstanceGroupsListInstancesRequest { + /** + * A filter for the state of the instances in the instance group. Valid + * options are ALL or RUNNING. If you do not specify this parameter the list + * includes all instances regardless of their state. + */ + instanceState?: string; + } + interface Schema$InstanceGroupsRemoveInstancesRequest { + /** + * The list of instances to remove from the instance group. + */ + instances?: Schema$InstanceReference[]; + } + interface Schema$InstanceGroupsScopedList { + /** + * [Output Only] The list of instance groups that are contained in this + * scope. + */ + instanceGroups?: Schema$InstanceGroup[]; + /** + * [Output Only] An informational warning that replaces the list of instance + * groups when the list is empty. + */ + warning?: any; + } + interface Schema$InstanceGroupsSetNamedPortsRequest { + /** + * The fingerprint of the named ports information for this instance group. + * Use this optional property to prevent conflicts when multiple users + * change the named ports settings concurrently. Obtain the fingerprint with + * the instanceGroups.get method. Then, include the fingerprint in your + * request to ensure that you do not overwrite changes that were applied + * from another concurrent request. + */ + fingerprint?: string; + /** + * The list of named ports to set for this instance group. + */ + namedPorts?: Schema$NamedPort[]; + } + /** + * Contains a list of instances. + */ + interface Schema$InstanceList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Instance resources. + */ + items?: Schema$Instance[]; + /** + * [Output Only] Type of resource. Always compute#instanceList for lists of + * Instance resources. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of instance referrers. + */ + interface Schema$InstanceListReferrers { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Reference resources. + */ + items?: Schema$Reference[]; + /** + * [Output Only] Type of resource. Always compute#instanceListReferrers for + * lists of Instance referrers. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$InstanceMoveRequest { + /** + * The URL of the destination zone to move the instance. This can be a full + * or partial URL. For example, the following are all valid URLs to a zone: + * - https://www.googleapis.com/compute/v1/projects/project/zones/zone - + * projects/project/zones/zone - zones/zone + */ + destinationZone?: string; + /** + * The URL of the target instance to move. This can be a full or partial + * URL. For example, the following are all valid URLs to an instance: - + * https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/instance + * - projects/project/zones/zone/instances/instance - + * zones/zone/instances/instance + */ + targetInstance?: string; + } + interface Schema$InstanceProperties { + /** + * Enables instances created based on this template to send packets with + * source IP addresses other than their own and receive packets with + * destination IP addresses other than their own. If these instances will be + * used as an IP gateway or it will be set as the next-hop in a Route + * resource, specify true. If unsure, leave this set to false. See the + * Enable IP forwarding documentation for more information. + */ + canIpForward?: boolean; + /** + * An optional text description for the instances that are created from this + * instance template. + */ + description?: string; + /** + * An array of disks that are associated with the instances that are created + * from this template. + */ + disks?: Schema$AttachedDisk[]; + /** + * A list of guest accelerator cards' type and count to use for + * instances created from the instance template. + */ + guestAccelerators?: Schema$AcceleratorConfig[]; + /** + * Labels to apply to instances that are created from this template. + */ + labels?: any; + /** + * The machine type to use for instances that are created from this + * template. + */ + machineType?: string; + /** + * The metadata key/value pairs to assign to instances that are created from + * this template. These pairs can consist of custom metadata or predefined + * keys. See Project and instance metadata for more information. + */ + metadata?: Schema$Metadata; + /** + * Minimum cpu/platform to be used by this instance. The instance may be + * scheduled on the specified or newer cpu/platform. Applicable values are + * the friendly names of CPU platforms, such as minCpuPlatform: "Intel + * Haswell" or minCpuPlatform: "Intel Sandy Bridge". For more + * information, read Specifying a Minimum CPU Platform. + */ + minCpuPlatform?: string; + /** + * An array of network access configurations for this interface. + */ + networkInterfaces?: Schema$NetworkInterface[]; + /** + * Specifies the scheduling options for the instances that are created from + * this template. + */ + scheduling?: Schema$Scheduling; + /** + * A list of service accounts with specified scopes. Access tokens for these + * service accounts are available to the instances that are created from + * this template. Use metadata queries to obtain the access tokens for these + * instances. + */ + serviceAccounts?: Schema$ServiceAccount[]; + /** + * Specifies the Shielded VM options for the instances that are created from + * this template. + */ + shieldedVmConfig?: Schema$ShieldedVmConfig; + /** + * A list of tags to apply to the instances that are created from this + * template. The tags identify valid sources or targets for network + * firewalls. The setTags method can modify this list of tags. Each tag + * within the list must comply with RFC1035. + */ + tags?: Schema$Tags; + } + interface Schema$InstanceReference { + /** + * The URL for a specific instance. + */ + instance?: string; + } + interface Schema$InstancesAddResourcePoliciesRequest { + /** + * Resource policies to be added to this instance. + */ + resourcePolicies?: string[]; + } + interface Schema$InstancesRemoveResourcePoliciesRequest { + /** + * Resource policies to be removed from this instance. + */ + resourcePolicies?: string[]; + } + interface Schema$InstancesResumeRequest { + /** + * Array of disks associated with this instance that are protected with a + * customer-supplied encryption key. In order to resume the instance, the + * disk url and its corresponding key must be provided. If the disk is not + * protected with a customer-supplied encryption key it should not be + * specified. + */ + disks?: Schema$CustomerEncryptionKeyProtectedDisk[]; + /** + * Decrypts data associated with an instance that is protected with a + * customer-supplied encryption key. If the instance you are starting is + * protected with a customer-supplied encryption key, the correct key must + * be provided otherwise the instance resume will not succeed. + */ + instanceEncryptionKey?: Schema$CustomerEncryptionKey; + } + interface Schema$InstancesScopedList { + /** + * [Output Only] A list of instances contained in this scope. + */ + instances?: Schema$Instance[]; + /** + * [Output Only] Informational warning which replaces the list of instances + * when the list is empty. + */ + warning?: any; + } + interface Schema$InstancesSetLabelsRequest { + /** + * Fingerprint of the previous set of labels for this resource, used to + * prevent conflicts. Provide the latest fingerprint value when making a + * request to add or change labels. + */ + labelFingerprint?: string; + labels?: any; + } + interface Schema$InstancesSetMachineResourcesRequest { + /** + * A list of the type and count of accelerator cards attached to the + * instance. + */ + guestAccelerators?: Schema$AcceleratorConfig[]; + } + interface Schema$InstancesSetMachineTypeRequest { + /** + * Full or partial URL of the machine type resource. See Machine Types for a + * full list of machine types. For example: + * zones/us-central1-f/machineTypes/n1-standard-1 + */ + machineType?: string; + } + interface Schema$InstancesSetMinCpuPlatformRequest { + /** + * Minimum cpu/platform this instance should be started at. + */ + minCpuPlatform?: string; + } + interface Schema$InstancesSetServiceAccountRequest { + /** + * Email address of the service account. + */ + email?: string; + /** + * The list of scopes to be made available for this service account. + */ + scopes?: string[]; + } + interface Schema$InstancesStartWithEncryptionKeyRequest { + /** + * Array of disks associated with this instance that are protected with a + * customer-supplied encryption key. In order to start the instance, the + * disk url and its corresponding key must be provided. If the disk is not + * protected with a customer-supplied encryption key it should not be + * specified. + */ + disks?: Schema$CustomerEncryptionKeyProtectedDisk[]; + /** + * Decrypts data associated with an instance that is protected with a + * customer-supplied encryption key. If the instance you are starting is + * protected with a customer-supplied encryption key, the correct key must + * be provided otherwise the instance start will not succeed. + */ + instanceEncryptionKey?: Schema$CustomerEncryptionKey; + } + /** + * An Instance Template resource. (== resource_for beta.instanceTemplates ==) + * (== resource_for v1.instanceTemplates ==) + */ + interface Schema$InstanceTemplate { + /** + * [Output Only] The creation timestamp for this instance template in + * RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] A unique identifier for this instance template. The server + * defines this identifier. + */ + id?: string; + /** + * [Output Only] The resource type, which is always compute#instanceTemplate + * for instance templates. + */ + kind?: string; + /** + * Name of the resource; provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * The instance properties for this instance template. + */ + properties?: Schema$InstanceProperties; + /** + * [Output Only] The URL for this instance template. The server defines this + * URL. + */ + selfLink?: string; + /** + * The source instance used to create the template. You can provide this as + * a partial or full URL to the resource. For example, the following are + * valid values: - + * https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/instance + * - projects/project/zones/zone/instances/instance + */ + sourceInstance?: string; + /** + * The source instance params to use to create this instance template. + */ + sourceInstanceParams?: Schema$SourceInstanceParams; + } + /** + * A list of instance templates. + */ + interface Schema$InstanceTemplateList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of InstanceTemplate resources. + */ + items?: Schema$InstanceTemplate[]; + /** + * [Output Only] The resource type, which is always + * compute#instanceTemplatesListResponse for instance template lists. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$InstanceWithNamedPorts { + /** + * [Output Only] The URL of the instance. + */ + instance?: string; + /** + * [Output Only] The named ports that belong to this instance group. + */ + namedPorts?: Schema$NamedPort[]; + /** + * [Output Only] The status of the instance. + */ + status?: string; + } + /** + * Represents an Interconnects resource. The Interconnects resource is a + * dedicated connection between Google's network and your on-premises + * network. For more information, see the Dedicated overview page. (== + * resource_for v1.interconnects ==) (== resource_for beta.interconnects ==) + */ + interface Schema$Interconnect { + /** + * Administrative status of the interconnect. When this is set to true, the + * Interconnect is functional and can carry traffic. When set to false, no + * packets can be carried over the interconnect and no BGP routes are + * exchanged over it. By default, the status is set to true. + */ + adminEnabled?: boolean; + /** + * [Output Only] A list of CircuitInfo objects, that describe the individual + * circuits in this LAG. + */ + circuitInfos?: Schema$InterconnectCircuitInfo[]; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * Customer name, to put in the Letter of Authorization as the party + * authorized to request a crossconnect. + */ + customerName?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] A list of outages expected for this Interconnect. + */ + expectedOutages?: Schema$InterconnectOutageNotification[]; + /** + * [Output Only] IP address configured on the Google side of the + * Interconnect link. This can be used only for ping tests. + */ + googleIpAddress?: string; + /** + * [Output Only] Google reference ID; to be used when raising support + * tickets with Google or otherwise to debug backend connectivity issues. + */ + googleReferenceId?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] A list of the URLs of all InterconnectAttachments + * configured to use this Interconnect. + */ + interconnectAttachments?: string[]; + /** + * Type of interconnect. Note that "IT_PRIVATE" has been + * deprecated in favor of "DEDICATED" + */ + interconnectType?: string; + /** + * [Output Only] Type of the resource. Always compute#interconnect for + * interconnects. + */ + kind?: string; + /** + * A fingerprint for the labels being applied to this Interconnect, which is + * essentially a hash of the labels set used for optimistic locking. The + * fingerprint is initially generated by Compute Engine and changes after + * every request to modify or update labels. You must always provide an + * up-to-date fingerprint hash in order to update or change labels. To see + * the latest fingerprint, make a get() request to retrieve an Interconnect. + */ + labelFingerprint?: string; + /** + * Labels to apply to this Interconnect resource. These can be later + * modified by the setLabels method. Each label key/value must comply with + * RFC1035. Label values may be empty. + */ + labels?: any; + /** + * Type of link requested. This field indicates speed of each of the links + * in the bundle, not the entire bundle. Only 10G per link is allowed for a + * dedicated interconnect. Options: Ethernet_10G_LR + */ + linkType?: string; + /** + * URL of the InterconnectLocation object that represents where this + * connection is to be provisioned. + */ + location?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * Email address to contact the customer NOC for operations and maintenance + * notifications regarding this Interconnect. If specified, this will be + * used for notifications in addition to all other forms described, such as + * Stackdriver logs alerting and Cloud Notifications. + */ + nocContactEmail?: string; + /** + * [Output Only] The current status of whether or not this Interconnect is + * functional. + */ + operationalStatus?: string; + /** + * [Output Only] IP address configured on the customer side of the + * Interconnect link. The customer should configure this IP address during + * turnup when prompted by Google NOC. This can be used only for ping tests. + */ + peerIpAddress?: string; + /** + * [Output Only] Number of links actually provisioned in this interconnect. + */ + provisionedLinkCount?: number; + /** + * Target number of physical links in the link bundle, as requested by the + * customer. + */ + requestedLinkCount?: number; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] The current state of whether or not this Interconnect is + * functional. + */ + state?: string; + } + /** + * Represents an InterconnectAttachment (VLAN attachment) resource. For more + * information, see Creating VLAN Attachments. (== resource_for + * beta.interconnectAttachments ==) (== resource_for + * v1.interconnectAttachments ==) + */ + interface Schema$InterconnectAttachment { + /** + * Determines whether this Attachment will carry packets. Not present for + * PARTNER_PROVIDER. + */ + adminEnabled?: boolean; + /** + * [Deprecated] Replaced by edge_availability_domain. + */ + availabilityZone?: string; + /** + * Provisioned bandwidth capacity for the interconnectAttachment. Can be set + * by the partner to update the customer's provisioned bandwidth. Output + * only for for PARTNER type, mutable for PARTNER_PROVIDER, not available + * for DEDICATED. + */ + bandwidth?: string; + /** + * Up to 16 candidate prefixes that can be used to restrict the allocation + * of cloudRouterIpAddress and customerRouterIpAddress for this attachment. + * All prefixes must be within link-local address space (169.254.0.0/16) and + * must be /29 or shorter (/28, /27, etc). Google will attempt to select an + * unused /29 from the supplied candidate prefix(es). The request will fail + * if all possible /29s are in use on Google?s edge. If not supplied, Google + * will randomly select an unused /29 from all of link-local space. + */ + candidateSubnets?: string[]; + /** + * [Output Only] IPv4 address + prefix length to be configured on Cloud + * Router Interface for this interconnect attachment. + */ + cloudRouterIpAddress?: string; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * [Output Only] IPv4 address + prefix length to be configured on the + * customer router subinterface for this interconnect attachment. + */ + customerRouterIpAddress?: string; + /** + * An optional description of this resource. + */ + description?: string; + /** + * Desired availability domain for the attachment. Only available for type + * PARTNER, at creation time. For improved reliability, customers should + * configure a pair of attachments with one per availability domain. The + * selected availability domain will be provided to the Partner via the + * pairing key so that the provisioned circuit will lie in the specified + * domain. If not specified, the value will default to + * AVAILABILITY_DOMAIN_ANY. + */ + edgeAvailabilityDomain?: string; + /** + * [Output Only] Google reference ID, to be used when raising support + * tickets with Google or otherwise to debug backend connectivity issues. + */ + googleReferenceId?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * URL of the underlying Interconnect object that this attachment's + * traffic will traverse through. + */ + interconnect?: string; + /** + * [Output Only] Type of the resource. Always compute#interconnectAttachment + * for interconnect attachments. + */ + kind?: string; + /** + * A fingerprint for the labels being applied to this + * InterconnectAttachment, which is essentially a hash of the labels set + * used for optimistic locking. The fingerprint is initially generated by + * Compute Engine and changes after every request to modify or update + * labels. You must always provide an up-to-date fingerprint hash in order + * to update or change labels. To see the latest fingerprint, make a get() + * request to retrieve an InterconnectAttachment. + */ + labelFingerprint?: string; + /** + * Labels to apply to this InterconnectAttachment resource. These can be + * later modified by the setLabels method. Each label key/value must comply + * with RFC1035. Label values may be empty. + */ + labels?: any; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * [Output Only] The current status of whether or not this interconnect + * attachment is functional. + */ + operationalStatus?: string; + /** + * [Output only for type PARTNER. Input only for PARTNER_PROVIDER. Not + * present for DEDICATED]. The opaque identifier of an PARTNER attachment + * used to initiate provisioning with a selected partner. Of the form + * "XXXXX/region/domain" + */ + pairingKey?: string; + /** + * Optional BGP ASN for the router that should be supplied by a layer 3 + * Partner if they configured BGP on behalf of the customer. Output only for + * PARTNER type, input only for PARTNER_PROVIDER, not available for + * DEDICATED. + */ + partnerAsn?: string; + /** + * Informational metadata about Partner attachments from Partners to display + * to customers. Output only for for PARTNER type, mutable for + * PARTNER_PROVIDER, not available for DEDICATED. + */ + partnerMetadata?: Schema$InterconnectAttachmentPartnerMetadata; + /** + * [Output Only] Information specific to an InterconnectAttachment. This + * property is populated if the interconnect that this is attached to is of + * type DEDICATED. + */ + privateInterconnectInfo?: Schema$InterconnectAttachmentPrivateInfo; + /** + * [Output Only] URL of the region where the regional interconnect + * attachment resides. You must specify this field as part of the HTTP + * request URL. It is not settable as a field in the request body. + */ + region?: string; + /** + * URL of the cloud router to be used for dynamic routing. This router must + * be in the same region as this InterconnectAttachment. The + * InterconnectAttachment will automatically connect the Interconnect to the + * network & region within which the Cloud Router is configured. + */ + router?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] The current state of this attachment's functionality. + */ + state?: string; + type?: string; + /** + * Available only for DEDICATED and PARTNER_PROVIDER. Desired VLAN tag for + * this attachment, in the range 2-4094. This field refers to 802.1q VLAN + * tag, also known as IEEE 802.1Q Only specified at creation time. + */ + vlanTag8021q?: number; + } + interface Schema$InterconnectAttachmentAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of InterconnectAttachmentsScopedList resources. + */ + items?: any; + /** + * [Output Only] Type of resource. Always + * compute#interconnectAttachmentAggregatedList for aggregated lists of + * interconnect attachments. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Response to the list request, and contains a list of interconnect + * attachments. + */ + interface Schema$InterconnectAttachmentList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of InterconnectAttachment resources. + */ + items?: Schema$InterconnectAttachment[]; + /** + * [Output Only] Type of resource. Always compute#interconnectAttachmentList + * for lists of interconnect attachments. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Informational metadata about Partner attachments from Partners to display + * to customers. These fields are propagated from PARTNER_PROVIDER attachments + * to their corresponding PARTNER attachments. + */ + interface Schema$InterconnectAttachmentPartnerMetadata { + /** + * Plain text name of the Interconnect this attachment is connected to, as + * displayed in the Partner?s portal. For instance ?Chicago 1?. This value + * may be validated to match approved Partner values. + */ + interconnectName?: string; + /** + * Plain text name of the Partner providing this attachment. This value may + * be validated to match approved Partner values. + */ + partnerName?: string; + /** + * URL of the Partner?s portal for this Attachment. Partners may customise + * this to be a deep-link to the specific resource on the Partner portal. + * This value may be validated to match approved Partner values. + */ + portalUrl?: string; + } + /** + * Information for an interconnect attachment when this belongs to an + * interconnect of type DEDICATED. + */ + interface Schema$InterconnectAttachmentPrivateInfo { + /** + * [Output Only] 802.1q encapsulation tag to be used for traffic between + * Google and the customer, going to and from this network and region. + */ + tag8021q?: number; + } + interface Schema$InterconnectAttachmentsScopedList { + /** + * A list of interconnect attachments contained in this scope. + */ + interconnectAttachments?: Schema$InterconnectAttachment[]; + /** + * Informational warning which replaces the list of addresses when the list + * is empty. + */ + warning?: any; + } + /** + * Describes a single physical circuit between the Customer and Google. + * CircuitInfo objects are created by Google, so all fields are output only. + * Next id: 4 + */ + interface Schema$InterconnectCircuitInfo { + /** + * Customer-side demarc ID for this circuit. + */ + customerDemarcId?: string; + /** + * Google-assigned unique ID for this circuit. Assigned at circuit turn-up. + */ + googleCircuitId?: string; + /** + * Google-side demarc ID for this circuit. Assigned at circuit turn-up and + * provided by Google to the customer in the LOA. + */ + googleDemarcId?: string; + } + /** + * Diagnostics information about interconnect, contains detailed and current + * technical information about Google?s side of the connection. + */ + interface Schema$InterconnectDiagnostics { + /** + * A list of InterconnectDiagnostics.ARPEntry objects, describing individual + * neighbors currently seen by the Google router in the ARP cache for the + * Interconnect. This will be empty when the Interconnect is not bundled. + */ + arpCaches?: Schema$InterconnectDiagnosticsARPEntry[]; + /** + * A list of InterconnectDiagnostics.LinkStatus objects, describing the + * status for each link on the Interconnect. + */ + links?: Schema$InterconnectDiagnosticsLinkStatus[]; + /** + * The MAC address of the Interconnect's bundle interface. + */ + macAddress?: string; + } + /** + * Describing the ARP neighbor entries seen on this link + */ + interface Schema$InterconnectDiagnosticsARPEntry { + /** + * The IP address of this ARP neighbor. + */ + ipAddress?: string; + /** + * The MAC address of this ARP neighbor. + */ + macAddress?: string; + } + interface Schema$InterconnectDiagnosticsLinkLACPStatus { + /** + * System ID of the port on Google?s side of the LACP exchange. + */ + googleSystemId?: string; + /** + * System ID of the port on the neighbor?s side of the LACP exchange. + */ + neighborSystemId?: string; + state?: string; + } + interface Schema$InterconnectDiagnosticsLinkOpticalPower { + state?: string; + /** + * Value of the current optical power, read in dBm. + */ + value?: number; + } + interface Schema$InterconnectDiagnosticsLinkStatus { + /** + * A list of InterconnectDiagnostics.ARPEntry objects, describing the ARP + * neighbor entries seen on this link. This will be empty if the link is + * bundled + */ + arpCaches?: Schema$InterconnectDiagnosticsARPEntry[]; + /** + * The unique ID for this link assigned during turn up by Google. + */ + circuitId?: string; + /** + * The Demarc address assigned by Google and provided in the LoA. + */ + googleDemarc?: string; + lacpStatus?: Schema$InterconnectDiagnosticsLinkLACPStatus; + receivingOpticalPower?: Schema$InterconnectDiagnosticsLinkOpticalPower; + transmittingOpticalPower?: Schema$InterconnectDiagnosticsLinkOpticalPower; + } + /** + * Response to the list request, and contains a list of interconnects. + */ + interface Schema$InterconnectList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Interconnect resources. + */ + items?: Schema$Interconnect[]; + /** + * [Output Only] Type of resource. Always compute#interconnectList for lists + * of interconnects. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Represents an InterconnectLocations resource. The InterconnectLocations + * resource describes the locations where you can connect to Google's + * networks. For more information, see Colocation Facilities. + */ + interface Schema$InterconnectLocation { + /** + * [Output Only] The postal address of the Point of Presence, each line in + * the address is separated by a newline character. + */ + address?: string; + /** + * [Output Only] Availability zone for this InterconnectLocation. Within a + * metropolitan area (metro), maintenance will not be simultaneously + * scheduled in more than one availability zone. Example: "zone1" + * or "zone2". + */ + availabilityZone?: string; + /** + * [Output Only] Metropolitan area designator that indicates which city an + * interconnect is located. For example: "Chicago, IL", + * "Amsterdam, Netherlands". + */ + city?: string; + /** + * [Output Only] Continent for this location. + */ + continent?: string; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * [Output Only] An optional description of the resource. + */ + description?: string; + /** + * [Output Only] The name of the provider for this facility (e.g., EQUINIX). + */ + facilityProvider?: string; + /** + * [Output Only] A provider-assigned Identifier for this facility (e.g., + * Ashburn-DC1). + */ + facilityProviderFacilityId?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of the resource. Always compute#interconnectLocation + * for interconnect locations. + */ + kind?: string; + /** + * [Output Only] Name of the resource. + */ + name?: string; + /** + * [Output Only] The peeringdb identifier for this facility (corresponding + * with a netfac type in peeringdb). + */ + peeringdbFacilityId?: string; + /** + * [Output Only] A list of InterconnectLocation.RegionInfo objects, that + * describe parameters pertaining to the relation between this + * InterconnectLocation and various Google Cloud regions. + */ + regionInfos?: Schema$InterconnectLocationRegionInfo[]; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] The status of this InterconnectLocation. If the status is + * AVAILABLE, new Interconnects may be provisioned in this + * InterconnectLocation. Otherwise, no new Interconnects may be provisioned. + */ + status?: string; + } + /** + * Response to the list request, and contains a list of interconnect + * locations. + */ + interface Schema$InterconnectLocationList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of InterconnectLocation resources. + */ + items?: Schema$InterconnectLocation[]; + /** + * [Output Only] Type of resource. Always compute#interconnectLocationList + * for lists of interconnect locations. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Information about any potential InterconnectAttachments between an + * Interconnect at a specific InterconnectLocation, and a specific Cloud + * Region. + */ + interface Schema$InterconnectLocationRegionInfo { + /** + * Expected round-trip time in milliseconds, from this InterconnectLocation + * to a VM in this region. + */ + expectedRttMs?: string; + /** + * Identifies the network presence of this location. + */ + locationPresence?: string; + /** + * URL for the region of this location. + */ + region?: string; + } + /** + * Description of a planned outage on this Interconnect. Next id: 9 + */ + interface Schema$InterconnectOutageNotification { + /** + * If issue_type is IT_PARTIAL_OUTAGE, a list of the Google-side circuit IDs + * that will be affected. + */ + affectedCircuits?: string[]; + /** + * A description about the purpose of the outage. + */ + description?: string; + /** + * Scheduled end time for the outage (milliseconds since Unix epoch). + */ + endTime?: string; + /** + * Form this outage is expected to take. Note that the "IT_" + * versions of this enum have been deprecated in favor of the unprefixed + * values. + */ + issueType?: string; + /** + * Unique identifier for this outage notification. + */ + name?: string; + /** + * The party that generated this notification. Note that + * "NSRC_GOOGLE" has been deprecated in favor of + * "GOOGLE" + */ + source?: string; + /** + * Scheduled start time for the outage (milliseconds since Unix epoch). + */ + startTime?: string; + /** + * State of this notification. Note that the "NS_" versions of + * this enum have been deprecated in favor of the unprefixed values. + */ + state?: string; + } + /** + * Response for the InterconnectsGetDiagnosticsRequest. + */ + interface Schema$InterconnectsGetDiagnosticsResponse { + result?: Schema$InterconnectDiagnostics; + } + interface Schema$InternalIpAddress { + /** + * IP CIDR address or range. + */ + cidr?: string; + /** + * The owner of the internal IP address. + */ + owner?: string; + /** + * The purpose of the internal IP address if applicable. + */ + purpose?: string; + /** + * The region of the internal IP address if applicable. + */ + region?: string; + /** + * The type of the internal IP address. + */ + type?: string; + } + interface Schema$InternalIpOwner { + /** + * IP CIDR range being owned. + */ + ipCidrRange?: string; + /** + * URLs of the IP owners of the IP CIDR range. + */ + owners?: string[]; + /** + * Whether this IP CIDR range is reserved for system use. + */ + systemOwned?: boolean; + } + interface Schema$IpAddressesList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of InternalIpAddress resources. + */ + items?: Schema$InternalIpAddress[]; + /** + * [Output Only] Type of resource. Always compute#ipAddressesList for IP + * addresses lists. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of IP owners. + */ + interface Schema$IpOwnerList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of InternalIpOwner resources. + */ + items?: Schema$InternalIpOwner[]; + /** + * [Output Only] Type of resource. Always compute#ipOwnerList for lists of + * IP owners. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * A license resource. + */ + interface Schema$License { + /** + * [Output Only] Deprecated. This field no longer reflects whether a license + * charges a usage fee. + */ + chargesUseFee?: boolean; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional textual description of the resource; provided by the client + * when the resource is created. + */ + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of resource. Always compute#license for licenses. + */ + kind?: string; + /** + * [Output Only] The unique code used to attach this license to images, + * snapshots, and disks. + */ + licenseCode?: string; + /** + * [Output Only] Name of the resource. The name is 1-63 characters long and + * complies with RFC1035. + */ + name?: string; + resourceRequirements?: Schema$LicenseResourceRequirements; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * If false, licenses will not be copied from the source resource when + * creating an image from a disk, disk from snapshot, or snapshot from disk. + */ + transferable?: boolean; + } + interface Schema$LicenseCode { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * [Output Only] Description of this License Code. + */ + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of resource. Always compute#licenseCode for licenses. + */ + kind?: string; + /** + * [Output Only] URL and description aliases of Licenses with the same + * License Code. + */ + licenseAlias?: Schema$LicenseCodeLicenseAlias[]; + /** + * [Output Only] Name of the resource. The name is 1-20 characters long and + * must be a valid 64 bit integer. + */ + name?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] Current state of this License Code. + */ + state?: string; + /** + * [Output Only] If true, the license will remain attached when creating + * images or snapshots from disks. Otherwise, the license is not + * transferred. + */ + transferable?: boolean; + } + interface Schema$LicenseCodeLicenseAlias { + /** + * [Output Only] Description of this License Code. + */ + description?: string; + /** + * [Output Only] URL of license corresponding to this License Code. + */ + selfLink?: string; + } + interface Schema$LicenseResourceRequirements { + /** + * Minimum number of guest cpus required to use the Instance. Enforced at + * Instance creation and Instance start. + */ + minGuestCpuCount?: number; + /** + * Minimum memory required to use the Instance. Enforced at Instance + * creation and Instance start. + */ + minMemoryMb?: number; + } + interface Schema$LicensesListResponse { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of License resources. + */ + items?: Schema$License[]; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Specifies what kind of log the caller must write + */ + interface Schema$LogConfig { + /** + * Cloud audit options. + */ + cloudAudit?: Schema$LogConfigCloudAuditOptions; + /** + * Counter options. + */ + counter?: Schema$LogConfigCounterOptions; + /** + * Data access options. + */ + dataAccess?: Schema$LogConfigDataAccessOptions; + } + /** + * Write a Cloud Audit log + */ + interface Schema$LogConfigCloudAuditOptions { + /** + * Information used by the Cloud Audit Logging pipeline. + */ + authorizationLoggingOptions?: Schema$AuthorizationLoggingOptions; + /** + * The log_name to populate in the Cloud Audit Record. + */ + logName?: string; + } + /** + * Increment a streamz counter with the specified metric and field names. + * Metric names should start with a '/', generally be lowercase-only, + * and end in "_count". Field names should not contain an initial + * slash. The actual exported metric names will have "/iam/policy" + * prepended. Field names correspond to IAM request parameters and field + * values are their respective values. At present the only supported field + * names are - "iam_principal", corresponding to + * IAMContext.principal; - "" (empty string), resulting in one + * aggretated counter with no field. Examples: counter { metric: + * "/debug_access_count" field: "iam_principal" } ==> + * increment counter /iam/policy/backend_debug_access_count + * {iam_principal=[value of IAMContext.principal]} At this time we do not + * support: * multiple field names (though this may be supported in the + * future) * decrementing the counter * incrementing it by anything other than + * 1 + */ + interface Schema$LogConfigCounterOptions { + /** + * The field value to attribute. + */ + field?: string; + /** + * The metric to update. + */ + metric?: string; + } + /** + * Write a Data Access (Gin) log + */ + interface Schema$LogConfigDataAccessOptions { + /** + * Whether Gin logging should happen in a fail-closed manner at the caller. + * This is relevant only in the LocalIAM implementation, for now. + */ + logMode?: string; + } + /** + * Machine image resource. + */ + interface Schema$MachineImage { + /** + * [Output Only] The creation timestamp for this machine image in RFC3339 + * text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] A unique identifier for this machine image. The server + * defines this identifier. + */ + id?: string; + /** + * [Output Only] The resource type, which is always compute#machineImage for + * machine image. + */ + kind?: string; + /** + * Name of the resource; provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * [Output Only] The URL for this machine image. The server defines this + * URL. + */ + selfLink?: string; + /** + * The source instance used to create the template. You can provide this as + * a partial or full URL to the resource. For example, the following are + * valid values: - + * https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/instance + * - projects/project/zones/zone/instances/instance + */ + sourceInstance?: string; + sourceInstanceProperties?: Schema$SourceInstanceProperties; + /** + * [Output Only] The status of disk creation. + */ + status?: string; + /** + * GCS bucket storage location of the snapshot (regional or multi-regional). + */ + storageLocations?: string[]; + } + /** + * A list of machine images. + */ + interface Schema$MachineImageList { + etag?: string; + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of MachineImage resources. + */ + items?: Schema$MachineImage[]; + /** + * [Output Only] The resource type, which is always + * compute#machineImagesListResponse for machine image lists. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * A Machine Type resource. (== resource_for v1.machineTypes ==) (== + * resource_for beta.machineTypes ==) + */ + interface Schema$MachineType { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * [Output Only] The deprecation status associated with this machine type. + */ + deprecated?: Schema$DeprecationStatus; + /** + * [Output Only] An optional textual description of the resource. + */ + description?: string; + /** + * [Output Only] The number of virtual CPUs that are available to the + * instance. + */ + guestCpus?: number; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Whether this machine type has a shared CPU. See Shared-core + * machine types for more information. + */ + isSharedCpu?: boolean; + /** + * [Output Only] The type of the resource. Always compute#machineType for + * machine types. + */ + kind?: string; + /** + * [Output Only] Maximum persistent disks allowed. + */ + maximumPersistentDisks?: number; + /** + * [Output Only] Maximum total persistent disks size (GB) allowed. + */ + maximumPersistentDisksSizeGb?: string; + /** + * [Output Only] The amount of physical memory available to the instance, + * defined in MB. + */ + memoryMb?: number; + /** + * [Output Only] Name of the resource. + */ + name?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] The name of the zone where the machine type resides, such + * as us-central1-a. + */ + zone?: string; + } + interface Schema$MachineTypeAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of MachineTypesScopedList resources. + */ + items?: any; + /** + * [Output Only] Type of resource. Always compute#machineTypeAggregatedList + * for aggregated lists of machine types. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of machine types. + */ + interface Schema$MachineTypeList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of MachineType resources. + */ + items?: Schema$MachineType[]; + /** + * [Output Only] Type of resource. Always compute#machineTypeList for lists + * of machine types. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$MachineTypesScopedList { + /** + * [Output Only] A list of machine types contained in this scope. + */ + machineTypes?: Schema$MachineType[]; + /** + * [Output Only] An informational warning that appears when the machine + * types list is empty. + */ + warning?: any; + } + /** + * A Managed Instance resource. + */ + interface Schema$ManagedInstance { + /** + * [Output Only] The current action that the managed instance group has + * scheduled for the instance. Possible values: - NONE The instance is + * running, and the managed instance group does not have any scheduled + * actions for this instance. - CREATING The managed instance group is + * creating this instance. If the group fails to create this instance, it + * will try again until it is successful. - CREATING_WITHOUT_RETRIES The + * managed instance group is attempting to create this instance only once. + * If the group fails to create this instance, it does not try again and the + * group's targetSize value is decreased instead. - RECREATING The + * managed instance group is recreating this instance. - DELETING The + * managed instance group is permanently deleting this instance. - + * ABANDONING The managed instance group is abandoning this instance. The + * instance will be removed from the instance group and from any target + * pools that are associated with this group. - RESTARTING The managed + * instance group is restarting the instance. - REFRESHING The managed + * instance group is applying configuration changes to the instance without + * stopping it. For example, the group can update the target pool list for + * an instance without stopping that instance. - VERIFYING The managed + * instance group has created the instance and it is in the process of being + * verified. + */ + currentAction?: string; + /** + * [Output only] The unique identifier for this resource. This field is + * empty when instance does not exist. + */ + id?: string; + /** + * [Output Only] The URL of the instance. The URL can exist even if the + * instance has not yet been created. + */ + instance?: string; + /** + * [Output Only] The status of the instance. This field is empty when the + * instance does not exist. + */ + instanceStatus?: string; + /** + * [Output Only] The intended template of the instance. This field is empty + * when current_action is one of { DELETING, ABANDONING }. + */ + instanceTemplate?: string; + /** + * [Output Only] Information about the last attempt to create or delete the + * instance. + */ + lastAttempt?: Schema$ManagedInstanceLastAttempt; + /** + * [Output Only] Override defined for this instance. + */ + override?: Schema$ManagedInstanceOverride; + /** + * [Output Only] Tag describing the version. + */ + tag?: string; + /** + * [Output Only] Intended version of this instance. + */ + version?: Schema$ManagedInstanceVersion; + } + interface Schema$ManagedInstanceLastAttempt { + /** + * [Output Only] Encountered errors during the last attempt to create or + * delete the instance. + */ + errors?: any; + } + /** + * Overrides of stateful properties for a given instance + */ + interface Schema$ManagedInstanceOverride { + /** + * Disk overrides defined for this instance. According to documentation the + * maximum number of disks attached to an instance is 128: + * https://cloud.google.com/compute/docs/disks/ However, compute API defines + * the limit at 140, so this is what we check. + */ + disks?: Schema$ManagedInstanceOverrideDiskOverride[]; + /** + * Metadata overrides defined for this instance. TODO(b/69785416) validate + * the total length is <9 KB + */ + metadata?: any[]; + /** + * [Output Only] Indicates where does the override come from. + */ + origin?: string; + } + interface Schema$ManagedInstanceOverrideDiskOverride { + /** + * The name of the device on the VM + */ + deviceName?: string; + /** + * The mode in which to attach this disk, either READ_WRITE or READ_ONLY. If + * not specified, the default is to attach the disk in READ_WRITE mode. + */ + mode?: string; + /** + * The disk that is/will be mounted + */ + source?: string; + } + interface Schema$ManagedInstanceVersion { + /** + * [Output Only] The intended template of the instance. This field is empty + * when current_action is one of { DELETING, ABANDONING }. + */ + instanceTemplate?: string; + /** + * [Output Only] Name of the version. + */ + name?: string; + } + /** + * A metadata key/value entry. + */ + interface Schema$Metadata { + /** + * Specifies a fingerprint for this request, which is essentially a hash of + * the metadata's contents and used for optimistic locking. The + * fingerprint is initially generated by Compute Engine and changes after + * every request to modify or update metadata. You must always provide an + * up-to-date fingerprint hash in order to update or change metadata. To + * see the latest fingerprint, make a get() request to retrieve the + * resource. + */ + fingerprint?: string; + /** + * Array of key/value pairs. The total size of all keys and values must be + * less than 512 KB. + */ + items?: any[]; + /** + * [Output Only] Type of the resource. Always compute#metadata for metadata. + */ + kind?: string; + } + /** + * The named port. For example: . + */ + interface Schema$NamedPort { + /** + * The name for this named port. The name must be 1-63 characters long, and + * comply with RFC1035. + */ + name?: string; + /** + * The port number, which can be a value between 1 and 65535. + */ + port?: number; + } + /** + * Represents a Network resource. Read Networks and Firewalls for more + * information. (== resource_for v1.networks ==) (== resource_for + * beta.networks ==) + */ + interface Schema$Network { + /** + * When set to true, the network is created in "auto subnet mode". + * When set to false, the network is in "custom subnet mode". In + * "auto subnet mode", a newly created network is assigned the + * default CIDR of 10.128.0.0/9 and it automatically creates one subnetwork + * per region. + */ + autoCreateSubnetworks?: boolean; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * [Output Only] Type of VM-to-VM traffic encryption for this network. + */ + crossVmEncryption?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * A gateway address for default routing to other networks. This value is + * read only and is selected by the Google Compute Engine, typically as the + * first usable address in the IPv4Range. + */ + gatewayIPv4?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * The range of internal addresses that are legal on this network. This + * range is a CIDR specification, for example: 192.168.0.0/16. Provided by + * the client when the network is created. + */ + IPv4Range?: string; + /** + * [Output Only] Type of the resource. Always compute#network for networks. + */ + kind?: string; + /** + * [Output Only] Type of LB-to-VM traffic encryption for this network. + */ + loadBalancerVmEncryption?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * [Output Only] A list of network peerings for the resource. + */ + peerings?: Schema$NetworkPeering[]; + /** + * The network-level routing configuration for this network. Used by Cloud + * Router to determine what type of network-wide routing behavior to + * enforce. + */ + routingConfig?: Schema$NetworkRoutingConfig; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] Server-defined fully-qualified URLs for all subnetworks in + * this network. + */ + subnetworks?: string[]; + } + /** + * The network endpoint. + */ + interface Schema$NetworkEndpoint { + /** + * The name for a specific VM instance that the IP address belongs to. This + * is required for network endpoints of type GCE_VM_IP_PORT. The instance + * must be in the same zone of network endpoint group. The name must be + * 1-63 characters long, and comply with RFC1035. + */ + instance?: string; + /** + * Optional IPv4 address of network endpoint. The IP address must belong to + * a VM in GCE (either the primary IP or as part of an aliased IP range). If + * the IP address is not specified, then the primary IP address for the VM + * instance in the network that the network endpoint group belongs to will + * be used. + */ + ipAddress?: string; + /** + * Optional port number of network endpoint. If not specified and the + * NetworkEndpointGroup.network_endpoint_type is GCE_IP_PORT, the + * defaultPort for the network endpoint group will be used. + */ + port?: number; + } + /** + * Represents a collection of network endpoints. + */ + interface Schema$NetworkEndpointGroup { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of the resource. Always compute#networkEndpointGroup + * for network endpoint group. + */ + kind?: string; + /** + * This field is only valid when the network endpoint group is used for load + * balancing. [Deprecated] This field is deprecated. + */ + loadBalancer?: Schema$NetworkEndpointGroupLbNetworkEndpointGroup; + /** + * Name of the resource; provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * Type of network endpoints in this network endpoint group. Currently the + * only supported value is GCE_VM_IP_PORT. + */ + networkEndpointType?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output only] Number of network endpoints in the network endpoint group. + */ + size?: number; + /** + * Specify the type of this network endpoint group. Only LOAD_BALANCING is + * valid for now. + */ + type?: string; + } + interface Schema$NetworkEndpointGroupAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of NetworkEndpointGroupsScopedList resources. + */ + items?: any; + /** + * [Output Only] The resource type, which is always + * compute#networkEndpointGroupAggregatedList for aggregated lists of + * network endpoint groups. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Load balancing specific fields for network endpoint group. + */ + interface Schema$NetworkEndpointGroupLbNetworkEndpointGroup { + /** + * The default port used if the port number is not specified in the network + * endpoint. [Deprecated] This field is deprecated. + */ + defaultPort?: number; + /** + * The URL of the network to which all network endpoints in the NEG belong. + * Uses "default" project network if unspecified. [Deprecated] + * This field is deprecated. + */ + network?: string; + /** + * Optional URL of the subnetwork to which all network endpoints in the NEG + * belong. [Deprecated] This field is deprecated. + */ + subnetwork?: string; + /** + * [Output Only] The URL of the zone where the network endpoint group is + * located. [Deprecated] This field is deprecated. + */ + zone?: string; + } + interface Schema$NetworkEndpointGroupList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of NetworkEndpointGroup resources. + */ + items?: Schema$NetworkEndpointGroup[]; + /** + * [Output Only] The resource type, which is always + * compute#networkEndpointGroupList for network endpoint group lists. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$NetworkEndpointGroupsAttachEndpointsRequest { + /** + * The list of network endpoints to be attached. + */ + networkEndpoints?: Schema$NetworkEndpoint[]; + } + interface Schema$NetworkEndpointGroupsDetachEndpointsRequest { + /** + * The list of network endpoints to be detached. + */ + networkEndpoints?: Schema$NetworkEndpoint[]; + } + interface Schema$NetworkEndpointGroupsListEndpointsRequest { + /** + * Optional query parameter for showing the health status of each network + * endpoint. Valid options are SKIP or SHOW. If you don't specifiy this + * parameter, the health status of network endpoints will not be provided. + */ + healthStatus?: string; + } + interface Schema$NetworkEndpointGroupsListNetworkEndpoints { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of NetworkEndpointWithHealthStatus resources. + */ + items?: Schema$NetworkEndpointWithHealthStatus[]; + /** + * [Output Only] The resource type, which is always + * compute#networkEndpointGroupsListNetworkEndpoints for the list of network + * endpoints in the specified network endpoint group. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$NetworkEndpointGroupsScopedList { + /** + * [Output Only] The list of network endpoint groups that are contained in + * this scope. + */ + networkEndpointGroups?: Schema$NetworkEndpointGroup[]; + /** + * [Output Only] An informational warning that replaces the list of network + * endpoint groups when the list is empty. + */ + warning?: any; + } + interface Schema$NetworkEndpointWithHealthStatus { + /** + * [Output only] The health status of network endpoint; + */ + healths?: Schema$HealthStatusForNetworkEndpoint[]; + /** + * [Output only] The network endpoint; + */ + networkEndpoint?: Schema$NetworkEndpoint; + } + /** + * A network interface resource attached to an instance. + */ + interface Schema$NetworkInterface { + /** + * An array of configurations for this interface. Currently, only one access + * config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs + * specified, then this instance will have no external internet access. + */ + accessConfigs?: Schema$AccessConfig[]; + /** + * An array of alias IP ranges for this network interface. Can only be + * specified for network interfaces on subnet-mode networks. + */ + aliasIpRanges?: Schema$AliasIpRange[]; + /** + * Fingerprint hash of contents stored in this network interface. This field + * will be ignored when inserting an Instance or adding a NetworkInterface. + * An up-to-date fingerprint must be provided in order to update the + * NetworkInterface. + */ + fingerprint?: string; + /** + * [Output Only] Type of the resource. Always compute#networkInterface for + * network interfaces. + */ + kind?: string; + /** + * [Output Only] The name of the network interface, generated by the server. + * For network devices, these are eth0, eth1, etc. + */ + name?: string; + /** + * URL of the network resource for this instance. When creating an instance, + * if neither the network nor the subnetwork is specified, the default + * network global/networks/default is used; if the network is not specified + * but the subnetwork is specified, the network is inferred. This field is + * optional when creating a firewall rule. If not specified when creating a + * firewall rule, the default network global/networks/default is used. If + * you specify this property, you can specify the network as a full or + * partial URL. For example, the following are all valid URLs: - + * https://www.googleapis.com/compute/v1/projects/project/global/networks/network + * - projects/project/global/networks/network - global/networks/default + */ + network?: string; + /** + * An IPv4 internal network address to assign to the instance for this + * network interface. If not specified by the user, an unused internal IP is + * assigned by the system. + */ + networkIP?: string; + /** + * The URL of the Subnetwork resource for this instance. If the network + * resource is in legacy mode, do not provide this property. If the network + * is in auto subnet mode, providing the subnetwork is optional. If the + * network is in custom subnet mode, then this field should be specified. If + * you specify this property, you can specify the subnetwork as a full or + * partial URL. For example, the following are all valid URLs: - + * https://www.googleapis.com/compute/v1/projects/project/regions/region/subnetworks/subnetwork + * - regions/region/subnetworks/subnetwork + */ + subnetwork?: string; + } + /** + * Contains a list of networks. + */ + interface Schema$NetworkList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Network resources. + */ + items?: Schema$Network[]; + /** + * [Output Only] Type of resource. Always compute#networkList for lists of + * networks. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * A network peering attached to a network resource. The message includes the + * peering name, peer network, peering state, and a flag indicating whether + * Google Compute Engine should automatically create routes for the peering. + */ + interface Schema$NetworkPeering { + /** + * Whether full mesh connectivity is created and managed automatically. When + * it is set to true, Google Compute Engine will automatically create and + * manage the routes between two networks when the state is ACTIVE. + * Otherwise, user needs to create routes manually to route packets to peer + * network. + */ + autoCreateRoutes?: boolean; + /** + * Whether to export the custom routes to peer network. + */ + exportCustomRoutes?: boolean; + /** + * Whether to import the custom routes from peer network. + */ + importCustomRoutes?: boolean; + /** + * Name of this peering. Provided by the client when the peering is created. + * The name must comply with RFC1035. Specifically, the name must be 1-63 + * characters long and match regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` + * which means the first character must be a lowercase letter, and all the + * following characters must be a dash, lowercase letter, or digit, except + * the last character, which cannot be a dash. + */ + name?: string; + /** + * The URL of the peer network. It can be either full URL or partial URL. + * The peer network may belong to a different project. If the partial URL + * does not contain project, it is assumed that the peer network is in the + * same project as the current network. + */ + network?: string; + /** + * [Output Only] State for the peering. + */ + state?: string; + /** + * [Output Only] Details about the current state of the peering. + */ + stateDetails?: string; + } + /** + * A routing configuration attached to a network resource. The message + * includes the list of routers associated with the network, and a flag + * indicating the type of routing behavior to enforce network-wide. + */ + interface Schema$NetworkRoutingConfig { + /** + * The network-wide routing mode to use. If set to REGIONAL, this + * network's cloud routers will only advertise routes with subnetworks + * of this network in the same region as the router. If set to GLOBAL, this + * network's cloud routers will advertise routes with all subnetworks of + * this network, across regions. + */ + routingMode?: string; + } + interface Schema$NetworksAddPeeringRequest { + /** + * Whether Google Compute Engine manages the routes automatically. + */ + autoCreateRoutes?: boolean; + /** + * Whether to export the custom routes to peer network. + */ + exportCustomRoutes?: boolean; + /** + * Whether to import the custom routes from peer network. + */ + importCustomRoutes?: boolean; + /** + * Name of the peering, which should conform to RFC1035. + */ + name?: string; + /** + * URL of the peer network. It can be either full URL or partial URL. The + * peer network may belong to a different project. If the partial URL does + * not contain project, it is assumed that the peer network is in the same + * project as the current network. + */ + peerNetwork?: string; + } + interface Schema$NetworksRemovePeeringRequest { + /** + * Name of the peering, which should conform to RFC1035. + */ + name?: string; + } + interface Schema$NetworksUpdatePeeringRequest { + networkPeering?: Schema$NetworkPeering; + } + /** + * A NodeGroup resource. + */ + interface Schema$NodeGroup { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] The type of the resource. Always compute#nodeGroup for node + * group. + */ + kind?: string; + /** + * The name of the resource, provided by the client when initially creating + * the resource. The resource name must be 1-63 characters long, and comply + * with RFC1035. Specifically, the name must be 1-63 characters long and + * match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the + * first character must be a lowercase letter, and all following characters + * must be a dash, lowercase letter, or digit, except the last character, + * which cannot be a dash. + */ + name?: string; + /** + * The URL of the node template to which this node group belongs. + */ + nodeTemplate?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] The total number of nodes in the node group. + */ + size?: number; + status?: string; + /** + * [Output Only] The name of the zone where the node group resides, such as + * us-central1-a. + */ + zone?: string; + } + interface Schema$NodeGroupAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of NodeGroupsScopedList resources. + */ + items?: any; + /** + * [Output Only] Type of resource.Always compute#nodeGroupAggregatedList for + * aggregated lists of node groups. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of nodeGroups. + */ + interface Schema$NodeGroupList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of NodeGroup resources. + */ + items?: Schema$NodeGroup[]; + /** + * [Output Only] Type of resource.Always compute#nodeGroupList for lists of + * node groups. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$NodeGroupNode { + /** + * Instances scheduled on this node. + */ + instances?: string[]; + /** + * The name of the node. + */ + name?: string; + /** + * The type of this node. + */ + nodeType?: string; + /** + * Binding properties for the physical server. + */ + serverBinding?: Schema$ServerBinding; + status?: string; + } + interface Schema$NodeGroupsAddNodesRequest { + /** + * Count of additional nodes to be added to the node group. + */ + additionalNodeCount?: number; + } + interface Schema$NodeGroupsDeleteNodesRequest { + nodes?: string[]; + } + interface Schema$NodeGroupsListNodes { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Node resources. + */ + items?: Schema$NodeGroupNode[]; + /** + * [Output Only] The resource type, which is always + * compute.nodeGroupsListNodes for the list of nodes in the specified node + * group. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$NodeGroupsScopedList { + /** + * [Output Only] A list of node groups contained in this scope. + */ + nodeGroups?: Schema$NodeGroup[]; + /** + * [Output Only] An informational warning that appears when the nodeGroup + * list is empty. + */ + warning?: any; + } + interface Schema$NodeGroupsSetNodeTemplateRequest { + /** + * Full or partial URL of the node template resource to be updated for this + * node group. + */ + nodeTemplate?: string; + } + /** + * A Node Template resource. + */ + interface Schema$NodeTemplate { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] The type of the resource. Always compute#nodeTemplate for + * node templates. + */ + kind?: string; + /** + * The name of the resource, provided by the client when initially creating + * the resource. The resource name must be 1-63 characters long, and comply + * with RFC1035. Specifically, the name must be 1-63 characters long and + * match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the + * first character must be a lowercase letter, and all following characters + * must be a dash, lowercase letter, or digit, except the last charaicter, + * which cannot be a dash. + */ + name?: string; + /** + * Labels to use for node affinity, which will be used in instance + * scheduling. + */ + nodeAffinityLabels?: any; + /** + * The node type to use for nodes group that are created from this template. + */ + nodeType?: string; + /** + * The flexible properties of the desired node type. Node groups that use + * this node template will create nodes of a type that matches these + * properties. This field is mutually exclusive with the node_type + * property; you can only define one or the other, but not both. + */ + nodeTypeFlexibility?: Schema$NodeTemplateNodeTypeFlexibility; + /** + * [Output Only] The name of the region where the node template resides, + * such as us-central1. + */ + region?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * Binding properties for the physical server. + */ + serverBinding?: Schema$ServerBinding; + /** + * [Output Only] The status of the node template. One of the following + * values: CREATING, READY, and DELETING. + */ + status?: string; + /** + * [Output Only] An optional, human-readable explanation of the status. + */ + statusMessage?: string; + } + interface Schema$NodeTemplateAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of NodeTemplatesScopedList resources. + */ + items?: any; + /** + * [Output Only] Type of resource.Always compute#nodeTemplateAggregatedList + * for aggregated lists of node templates. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of node templates. + */ + interface Schema$NodeTemplateList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of NodeTemplate resources. + */ + items?: Schema$NodeTemplate[]; + /** + * [Output Only] Type of resource.Always compute#nodeTemplateList for lists + * of node templates. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$NodeTemplateNodeTypeFlexibility { + cpus?: string; + localSsd?: string; + memory?: string; + } + interface Schema$NodeTemplatesScopedList { + /** + * [Output Only] A list of node templates contained in this scope. + */ + nodeTemplates?: Schema$NodeTemplate[]; + /** + * [Output Only] An informational warning that appears when the node + * templates list is empty. + */ + warning?: any; + } + /** + * A Node Type resource. + */ + interface Schema$NodeType { + /** + * [Output Only] The CPU platform used by this node type. + */ + cpuPlatform?: string; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * [Output Only] The deprecation status associated with this node type. + */ + deprecated?: Schema$DeprecationStatus; + /** + * [Output Only] An optional textual description of the resource. + */ + description?: string; + /** + * [Output Only] The number of virtual CPUs that are available to the node + * type. + */ + guestCpus?: number; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] The type of the resource. Always compute#nodeType for node + * types. + */ + kind?: string; + /** + * [Output Only] Local SSD available to the node type, defined in GB. + */ + localSsdGb?: number; + /** + * [Output Only] The amount of physical memory available to the node type, + * defined in MB. + */ + memoryMb?: number; + /** + * [Output Only] Name of the resource. + */ + name?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] The name of the zone where the node type resides, such as + * us-central1-a. + */ + zone?: string; + } + interface Schema$NodeTypeAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of NodeTypesScopedList resources. + */ + items?: any; + /** + * [Output Only] Type of resource.Always compute#nodeTypeAggregatedList for + * aggregated lists of node types. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of node types. + */ + interface Schema$NodeTypeList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of NodeType resources. + */ + items?: Schema$NodeType[]; + /** + * [Output Only] Type of resource.Always compute#nodeTypeList for lists of + * node types. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$NodeTypesScopedList { + /** + * [Output Only] A list of node types contained in this scope. + */ + nodeTypes?: Schema$NodeType[]; + /** + * [Output Only] An informational warning that appears when the node types + * list is empty. + */ + warning?: any; + } + /** + * An Operation resource, used to manage asynchronous API requests. (== + * resource_for v1.globalOperations ==) (== resource_for beta.globalOperations + * ==) (== resource_for v1.regionOperations ==) (== resource_for + * beta.regionOperations ==) (== resource_for v1.zoneOperations ==) (== + * resource_for beta.zoneOperations ==) + */ + interface Schema$Operation { + /** + * [Output Only] The value of `requestId` if you provided it in the request. + * Not present otherwise. + */ + clientOperationId?: string; + /** + * [Deprecated] This field is deprecated. + */ + creationTimestamp?: string; + /** + * [Output Only] A textual description of the operation, which is set when + * the operation is created. + */ + description?: string; + /** + * [Output Only] The time that this operation was completed. This value is + * in RFC3339 text format. + */ + endTime?: string; + /** + * [Output Only] If errors are generated during processing of the operation, + * this field will be populated. + */ + error?: any; + /** + * [Output Only] If the operation fails, this field contains the HTTP error + * message that was returned, such as NOT FOUND. + */ + httpErrorMessage?: string; + /** + * [Output Only] If the operation fails, this field contains the HTTP error + * status code that was returned. For example, a 404 means the resource was + * not found. + */ + httpErrorStatusCode?: number; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] The time that this operation was requested. This value is + * in RFC3339 text format. + */ + insertTime?: string; + /** + * [Output Only] Type of the resource. Always compute#operation for + * Operation resources. + */ + kind?: string; + /** + * [Output Only] Name of the resource. + */ + name?: string; + /** + * [Output Only] The type of operation, such as insert, update, or delete, + * and so on. + */ + operationType?: string; + /** + * [Output Only] An optional progress indicator that ranges from 0 to 100. + * There is no requirement that this be linear or support any granularity of + * operations. This should not be used to guess when the operation will be + * complete. This number should monotonically increase as the operation + * progresses. + */ + progress?: number; + /** + * [Output Only] The URL of the region where the operation resides. Only + * available when performing regional operations. You must specify this + * field as part of the HTTP request URL. It is not settable as a field in + * the request body. + */ + region?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] The time that this operation was started by the server. + * This value is in RFC3339 text format. + */ + startTime?: string; + /** + * [Output Only] The status of the operation, which can be one of the + * following: PENDING, RUNNING, or DONE. + */ + status?: string; + /** + * [Output Only] An optional textual description of the current status of + * the operation. + */ + statusMessage?: string; + /** + * [Output Only] The unique target ID, which identifies a specific + * incarnation of the target resource. + */ + targetId?: string; + /** + * [Output Only] The URL of the resource that the operation modifies. For + * operations related to creating a snapshot, this points to the persistent + * disk that the snapshot was created from. + */ + targetLink?: string; + /** + * [Output Only] User who requested the operation, for example: + * user@example.com. + */ + user?: string; + /** + * [Output Only] If warning messages are generated during processing of the + * operation, this field will be populated. + */ + warnings?: any[]; + /** + * [Output Only] The URL of the zone where the operation resides. Only + * available when performing per-zone operations. You must specify this + * field as part of the HTTP request URL. It is not settable as a field in + * the request body. + */ + zone?: string; + } + interface Schema$OperationAggregatedList { + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] A map of scoped operation lists. + */ + items?: any; + /** + * [Output Only] Type of resource. Always compute#operationAggregatedList + * for aggregated lists of operations. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of Operation resources. + */ + interface Schema$OperationList { + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] A list of Operation resources. + */ + items?: Schema$Operation[]; + /** + * [Output Only] Type of resource. Always compute#operations for Operations + * resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$OperationsScopedList { + /** + * [Output Only] A list of operations contained in this scope. + */ + operations?: Schema$Operation[]; + /** + * [Output Only] Informational warning which replaces the list of operations + * when the list is empty. + */ + warning?: any; + } + /** + * A matcher for the path portion of the URL. The BackendService from the + * longest-matched rule will serve the URL. If no rule was matched, the + * default service will be used. + */ + interface Schema$PathMatcher { + /** + * The full or partial URL to the BackendService resource. This will be used + * if none of the pathRules defined by this PathMatcher is matched by the + * URL's path portion. For example, the following are all valid URLs to + * a BackendService resource: - + * https://www.googleapis.com/compute/v1/projects/project/global/backendServices/backendService + * - compute/v1/projects/project/global/backendServices/backendService - + * global/backendServices/backendService + */ + defaultService?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * The name to which this PathMatcher is referred by the HostRule. + */ + name?: string; + /** + * The list of path rules. + */ + pathRules?: Schema$PathRule[]; + } + /** + * A path-matching rule for a URL. If matched, will use the specified + * BackendService to handle the traffic arriving at this URL. + */ + interface Schema$PathRule { + /** + * The list of path patterns to match. Each must start with / and the only + * place a * is allowed is at the end following a /. The string fed to the + * path matcher does not include any text after the first ? or #, and those + * chars are not allowed here. + */ + paths?: string[]; + /** + * The URL of the BackendService resource if this rule is matched. + */ + service?: string; + } + interface Schema$PerInstanceConfig { + /** + * Fingerprint of this per-instance config. This field may be used in + * optimistic locking. It will be ignored when inserting a per-instance + * config. An up-to-date fingerprint must be provided in order to update an + * existing per-instance config or the field needs to be unset. + */ + fingerprint?: string; + /** + * The URL of the instance. Serves as a merge key during + * UpdatePerInstanceConfigs operation, i.e. if per-instance config with the + * same instance URL exists then it will be updated, otherwise a new one + * will be created. + */ + instance?: string; + override?: Schema$ManagedInstanceOverride; + } + /** + * Defines an Identity and Access Management (IAM) policy. It is used to + * specify access control policies for Cloud Platform resources. A `Policy` + * consists of a list of `bindings`. A `binding` binds a list of `members` to + * a `role`, where the members can be user accounts, Google groups, Google + * domains, and service accounts. A `role` is a named list of permissions + * defined by IAM. **JSON Example** { "bindings": [ { + * "role": "roles/owner", "members": [ + * "user:mike@example.com", "group:admins@example.com", + * "domain:google.com", + * "serviceAccount:my-other-app@appspot.gserviceaccount.com" ] }, { + * "role": "roles/viewer", "members": + * ["user:sean@example.com"] } ] } **YAML Example** bindings: - + * members: - user:mike@example.com - group:admins@example.com - + * domain:google.com - serviceAccount:my-other-app@appspot.gserviceaccount.com + * role: roles/owner - members: - user:sean@example.com role: roles/viewer For + * a description of IAM and its features, see the [IAM developer's + * guide](https://cloud.google.com/iam/docs). + */ + interface Schema$Policy { + /** + * Specifies cloud audit logging configuration for this policy. + */ + auditConfigs?: Schema$AuditConfig[]; + /** + * Associates a list of `members` to a `role`. `bindings` with no members + * will result in an error. + */ + bindings?: Schema$Binding[]; + /** + * `etag` is used for optimistic concurrency control as a way to help + * prevent simultaneous updates of a policy from overwriting each other. It + * is strongly suggested that systems make use of the `etag` in the + * read-modify-write cycle to perform policy updates in order to avoid race + * conditions: An `etag` is returned in the response to `getIamPolicy`, and + * systems are expected to put that etag in the request to `setIamPolicy` to + * ensure that their change will be applied to the same version of the + * policy. If no `etag` is provided in the call to `setIamPolicy`, then the + * existing policy is overwritten blindly. + */ + etag?: string; + iamOwned?: boolean; + /** + * If more than one rule is specified, the rules are applied in the + * following manner: - All matching LOG rules are always applied. - If any + * DENY/DENY_WITH_LOG rule matches, permission is denied. Logging will be + * applied if one or more matching rule requires logging. - Otherwise, if + * any ALLOW/ALLOW_WITH_LOG rule matches, permission is granted. Logging + * will be applied if one or more matching rule requires logging. - + * Otherwise, if no rule applies, permission is denied. + */ + rules?: Schema$Rule[]; + /** + * Deprecated. + */ + version?: number; + } + interface Schema$PreconfiguredWafSet { + /** + * List of entities that are currently supported for WAF rules. + */ + expressionSets?: Schema$WafExpressionSet[]; + } + /** + * A Project resource. For an overview of projects, see Cloud Platform + * Resource Hierarchy. (== resource_for v1.projects ==) (== resource_for + * beta.projects ==) + */ + interface Schema$Project { + /** + * Metadata key/value pairs available to all instances contained in this + * project. See Custom metadata for more information. + */ + commonInstanceMetadata?: Schema$Metadata; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * This signifies the default network tier used for configuring resources of + * the project and can only take the following values: PREMIUM, STANDARD. + * Initially the default network tier is PREMIUM. + */ + defaultNetworkTier?: string; + /** + * [Output Only] Default service account used by VMs running in this + * project. + */ + defaultServiceAccount?: string; + /** + * An optional textual description of the resource. + */ + description?: string; + /** + * Restricted features enabled for use on this project. + */ + enabledFeatures?: string[]; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. This is not the project ID, and is just a unique + * ID used by Compute Engine to identify resources. + */ + id?: string; + /** + * [Output Only] Type of the resource. Always compute#project for projects. + */ + kind?: string; + /** + * The project ID. For example: my-example-project. Use the project ID to + * make requests to Compute Engine. + */ + name?: string; + /** + * [Output Only] Quotas assigned to this project. + */ + quotas?: Schema$Quota[]; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * The naming prefix for daily usage reports and the Google Cloud Storage + * bucket where they are stored. + */ + usageExportLocation?: Schema$UsageExportLocation; + /** + * [Output Only] The role this project has in a shared VPC configuration. + * Currently only HOST projects are differentiated. + */ + xpnProjectStatus?: string; + } + interface Schema$ProjectsDisableXpnResourceRequest { + /** + * Service resource (a.k.a service project) ID. + */ + xpnResource?: Schema$XpnResourceId; + } + interface Schema$ProjectsEnableXpnResourceRequest { + /** + * Service resource (a.k.a service project) ID. + */ + xpnResource?: Schema$XpnResourceId; + } + interface Schema$ProjectsGetXpnResources { + /** + * [Output Only] Type of resource. Always compute#projectsGetXpnResources + * for lists of service resources (a.k.a service projects) + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * Service resources (a.k.a service projects) attached to this project as + * their shared VPC host. + */ + resources?: Schema$XpnResourceId[]; + } + interface Schema$ProjectsListXpnHostsRequest { + /** + * Optional organization ID managed by Cloud Resource Manager, for which to + * list shared VPC host projects. If not specified, the organization will be + * inferred from the project. + */ + organization?: string; + } + interface Schema$ProjectsSetDefaultNetworkTierRequest { + /** + * Default network tier to be set. + */ + networkTier?: string; + } + interface Schema$ProjectsSetDefaultServiceAccountRequest { + /** + * Email address of the service account. + */ + email?: string; + } + /** + * A quotas entry. + */ + interface Schema$Quota { + /** + * [Output Only] Quota limit for this metric. + */ + limit?: number; + /** + * [Output Only] Name of the quota metric. + */ + metric?: string; + /** + * [Output Only] Current usage of this metric. + */ + usage?: number; + } + /** + * Represents a reference to a resource. + */ + interface Schema$Reference { + /** + * [Output Only] Type of the resource. Always compute#reference for + * references. + */ + kind?: string; + /** + * A description of the reference type with no implied semantics. Possible + * values include: - MEMBER_OF + */ + referenceType?: string; + /** + * URL of the resource which refers to the target. + */ + referrer?: string; + /** + * URL of the resource to which this reference points. + */ + target?: string; + } + /** + * Region resource. (== resource_for beta.regions ==) (== resource_for + * v1.regions ==) + */ + interface Schema$Region { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * [Output Only] The deprecation status associated with this region. + */ + deprecated?: Schema$DeprecationStatus; + /** + * [Output Only] Textual description of the resource. + */ + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of the resource. Always compute#region for regions. + */ + kind?: string; + /** + * [Output Only] Name of the resource. + */ + name?: string; + /** + * [Output Only] Quotas assigned to this region. + */ + quotas?: Schema$Quota[]; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] Status of the region, either UP or DOWN. + */ + status?: string; + /** + * [Output Only] A list of zones available in this region, in the form of + * resource URLs. + */ + zones?: string[]; + } + /** + * Contains a list of autoscalers. + */ + interface Schema$RegionAutoscalerList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Autoscaler resources. + */ + items?: Schema$Autoscaler[]; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$RegionDisksAddResourcePoliciesRequest { + /** + * Resource policies to be added to this disk. + */ + resourcePolicies?: string[]; + } + interface Schema$RegionDisksRemoveResourcePoliciesRequest { + /** + * Resource policies to be removed from this disk. + */ + resourcePolicies?: string[]; + } + interface Schema$RegionDisksResizeRequest { + /** + * The new size of the regional persistent disk, which is specified in GB. + */ + sizeGb?: string; + } + interface Schema$RegionDiskTypeList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of DiskType resources. + */ + items?: Schema$DiskType[]; + /** + * [Output Only] Type of resource. Always compute#regionDiskTypeList for + * region disk types. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of InstanceGroup resources. + */ + interface Schema$RegionInstanceGroupList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of InstanceGroup resources. + */ + items?: Schema$InstanceGroup[]; + /** + * The resource type. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * RegionInstanceGroupManagers.deletePerInstanceConfigs + */ + interface Schema$RegionInstanceGroupManagerDeleteInstanceConfigReq { + /** + * The list of instances for which we want to delete per-instance configs on + * this managed instance group. + */ + instances?: string[]; + } + /** + * Contains a list of managed instance groups. + */ + interface Schema$RegionInstanceGroupManagerList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of InstanceGroupManager resources. + */ + items?: Schema$InstanceGroupManager[]; + /** + * [Output Only] The resource type, which is always + * compute#instanceGroupManagerList for a list of managed instance groups + * that exist in th regional scope. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$RegionInstanceGroupManagersAbandonInstancesRequest { + /** + * The URLs of one or more instances to abandon. This can be a full URL or a + * partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. + */ + instances?: string[]; + } + /** + * InstanceGroupManagers.applyUpdatesToInstances + */ + interface Schema$RegionInstanceGroupManagersApplyUpdatesRequest { + /** + * The list of instances for which we want to apply changes on this managed + * instance group. + */ + instances?: string[]; + /** + * The maximal action that should be perfomed on the instances. By default + * REPLACE. + */ + maximalAction?: string; + /** + * The minimal action that should be perfomed on the instances. By default + * NONE. + */ + minimalAction?: string; + } + interface Schema$RegionInstanceGroupManagersDeleteInstancesRequest { + /** + * The URLs of one or more instances to delete. This can be a full URL or a + * partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. + */ + instances?: string[]; + } + interface Schema$RegionInstanceGroupManagersListInstanceConfigsResp { + /** + * [Output Only] The list of PerInstanceConfig. + */ + items?: Schema$PerInstanceConfig[]; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$RegionInstanceGroupManagersListInstancesResponse { + /** + * A list of managed instances. + */ + managedInstances?: Schema$ManagedInstance[]; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + } + interface Schema$RegionInstanceGroupManagersRecreateRequest { + /** + * The URLs of one or more instances to recreate. This can be a full URL or + * a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. + */ + instances?: string[]; + } + interface Schema$RegionInstanceGroupManagersSetAutoHealingRequest { + autoHealingPolicies?: Schema$InstanceGroupManagerAutoHealingPolicy[]; + } + interface Schema$RegionInstanceGroupManagersSetTargetPoolsRequest { + /** + * Fingerprint of the target pools information, which is a hash of the + * contents. This field is used for optimistic locking when you update the + * target pool entries. This field is optional. + */ + fingerprint?: string; + /** + * The URL of all TargetPool resources to which instances in the + * instanceGroup field are added. The target pools automatically apply to + * all of the instances in the managed instance group. + */ + targetPools?: string[]; + } + interface Schema$RegionInstanceGroupManagersSetTemplateRequest { + /** + * URL of the InstanceTemplate resource from which all new instances will be + * created. + */ + instanceTemplate?: string; + } + /** + * RegionInstanceGroupManagers.updatePerInstanceConfigs + */ + interface Schema$RegionInstanceGroupManagerUpdateInstanceConfigReq { + /** + * The list of per-instance configs to insert or patch on this managed + * instance group. + */ + perInstanceConfigs?: Schema$PerInstanceConfig[]; + } + interface Schema$RegionInstanceGroupsListInstances { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of InstanceWithNamedPorts resources. + */ + items?: Schema$InstanceWithNamedPorts[]; + /** + * The resource type. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$RegionInstanceGroupsListInstancesRequest { + /** + * Instances in which state should be returned. Valid options are: + * 'ALL', 'RUNNING'. By default, it lists all instances. + */ + instanceState?: string; + /** + * Name of port user is interested in. It is optional. If it is set, only + * information about this ports will be returned. If it is not set, all the + * named ports will be returned. Always lists all instances. + */ + portName?: string; + } + interface Schema$RegionInstanceGroupsSetNamedPortsRequest { + /** + * The fingerprint of the named ports information for this instance group. + * Use this optional property to prevent conflicts when multiple users + * change the named ports settings concurrently. Obtain the fingerprint with + * the instanceGroups.get method. Then, include the fingerprint in your + * request to ensure that you do not overwrite changes that were applied + * from another concurrent request. + */ + fingerprint?: string; + /** + * The list of named ports to set for this instance group. + */ + namedPorts?: Schema$NamedPort[]; + } + /** + * Contains a list of region resources. + */ + interface Schema$RegionList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Region resources. + */ + items?: Schema$Region[]; + /** + * [Output Only] Type of resource. Always compute#regionList for lists of + * regions. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$RegionSetLabelsRequest { + /** + * The fingerprint of the previous set of labels for this resource, used to + * detect conflicts. The fingerprint is initially generated by Compute + * Engine and changes after every request to modify or update labels. You + * must always provide an up-to-date fingerprint hash in order to update or + * change labels. Make a get() request to the resource to get the latest + * fingerprint. + */ + labelFingerprint?: string; + /** + * The labels to set for this resource. + */ + labels?: any; + } + interface Schema$RegionSetPolicyRequest { + /** + * Flatten Policy to create a backwacd compatible wire-format. Deprecated. + * Use 'policy' to specify bindings. + */ + bindings?: Schema$Binding[]; + /** + * Flatten Policy to create a backward compatible wire-format. Deprecated. + * Use 'policy' to specify the etag. + */ + etag?: string; + /** + * REQUIRED: The complete policy to be applied to the 'resource'. + * The size of the policy is limited to a few 10s of KB. An empty policy is + * in general a valid policy but certain services (like Projects) might + * reject them. + */ + policy?: Schema$Policy; + } + interface Schema$RegionTargetHttpsProxiesSetSslCertificatesRequest { + /** + * New set of SslCertificate resources to associate with this + * TargetHttpsProxy resource. Currently exactly one SslCertificate resource + * must be specified. + */ + sslCertificates?: string[]; + } + interface Schema$RegionUrlMapsValidateRequest { + /** + * Content of the UrlMap to be validated. + */ + resource?: Schema$UrlMap; + } + /** + * Commitment for a particular resource (a Commitment is composed of one or + * more of these). + */ + interface Schema$ResourceCommitment { + /** + * The amount of the resource purchased (in a type-dependent unit, such as + * bytes). For vCPUs, this can just be an integer. For memory, this must be + * provided in MB. Memory must be a multiple of 256 MB, with up to 6.5GB of + * memory per every vCPU. + */ + amount?: string; + /** + * Type of resource for which this commitment applies. Possible values are + * VCPU and MEMORY + */ + type?: string; + } + interface Schema$ResourceGroupReference { + /** + * A URI referencing one of the instance groups listed in the backend + * service. + */ + group?: string; + } + interface Schema$ResourcePoliciesScopedList { + /** + * A list of resourcePolicies contained in this scope. + */ + resourcePolicies?: Schema$ResourcePolicy[]; + /** + * Informational warning which replaces the list of resourcePolicies when + * the list is empty. + */ + warning?: any; + } + interface Schema$ResourcePolicy { + /** + * Resource policy for persistent disks for creating snapshots. + */ + backupSchedulePolicy?: Schema$ResourcePolicyBackupSchedulePolicy; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of the resource. Always compute#resource_policies for + * resource policies. + */ + kind?: string; + /** + * The name of the resource, provided by the client when initially creating + * the resource. The resource name must be 1-63 characters long, and comply + * with RFC1035. Specifically, the name must be 1-63 characters long and + * match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the + * first character must be a lowercase letter, and all following characters + * must be a dash, lowercase letter, or digit, except the last character, + * which cannot be a dash. + */ + name?: string; + region?: string; + /** + * [Output Only] Server-defined fully-qualified URL for this resource. + */ + selfLink?: string; + /** + * Resource policy applicable to VMs for infrastructure maintenance. + */ + vmMaintenancePolicy?: Schema$ResourcePolicyVmMaintenancePolicy; + } + /** + * Contains a list of resourcePolicies. + */ + interface Schema$ResourcePolicyAggregatedList { + etag?: string; + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of ResourcePolicy resources. + */ + items?: any; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * A backup schedule policy specifies when and how frequently snapshots are to + * be created for the target disk. Also specifies how many and how long these + * automatically created snapshot should be retained. + */ + interface Schema$ResourcePolicyBackupSchedulePolicy { + /** + * Retention policy applied to snapshots created by this resource policy. + */ + retentionPolicy?: Schema$ResourcePolicyBackupSchedulePolicyRetentionPolicy; + /** + * A Vm Maintenance Policy specifies what kind of infrastructure maintenance + * we are allowed to perform on this VM and when. Schedule that is applied + * to disks covered by this policy. + */ + schedule?: Schema$ResourcePolicyBackupSchedulePolicySchedule; + /** + * Properties with which snapshots are created such as lables, encryption + * keys. + */ + snapshotProperties?: Schema$ResourcePolicyBackupSchedulePolicySnapshotProperties; + } + /** + * Policy for retention of automatically created snapshots. + */ + interface Schema$ResourcePolicyBackupSchedulePolicyRetentionPolicy { + /** + * Maximum age of the snapshot that is allowed to be kept. + */ + maxRetentionDays?: number; + } + /** + * A schedule for disks where the schedueled operations are performed. + */ + interface Schema$ResourcePolicyBackupSchedulePolicySchedule { + dailySchedule?: Schema$ResourcePolicyDailyCycle; + hourlySchedule?: Schema$ResourcePolicyHourlyCycle; + weeklySchedule?: Schema$ResourcePolicyWeeklyCycle; + } + /** + * Specified snapshot properties for automatic snapshots created by this + * policy. + */ + interface Schema$ResourcePolicyBackupSchedulePolicySnapshotProperties { + /** + * Indication to perform a ?guest aware? snapshot. + */ + guestFlush?: boolean; + /** + * Labels to apply to automatic snapshots. These can be later modified by + * the setLabels method. Label values may be empty. + */ + labels?: any; + /** + * GCS bucket storage location of the auto snapshot (regional or + * multi-regional). + */ + storageLocations?: string[]; + } + /** + * Time window specified for daily operations. + */ + interface Schema$ResourcePolicyDailyCycle { + /** + * Allows to define schedule that runs every nth day of the month. + */ + daysInCycle?: number; + /** + * [Output only] Duration of the time window, automatically chosen to be + * smallest possible in the given scenario. + */ + duration?: string; + /** + * Time within the window to start the operations. It must be in format + * "HH:MM?, where HH : [00-23] and MM : [00-59] GMT. + */ + startTime?: string; + } + /** + * Time window specified for hourly operations. + */ + interface Schema$ResourcePolicyHourlyCycle { + /** + * [Output only] Duration of the time window, automatically chosen to be + * smallest possible in the given scenario. + */ + duration?: string; + /** + * Allows to define schedule that runs every nth hour. + */ + hoursInCycle?: number; + /** + * Time within the window to start the operations. It must be in format + * "HH:MM?, where HH : [00-23] and MM : [00-59] GMT. + */ + startTime?: string; + } + interface Schema$ResourcePolicyList { + etag?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] A list of ResourcePolicy resources. + */ + items?: Schema$ResourcePolicy[]; + /** + * [Output Only] Type of resource.Always compute#resourcePoliciesList for + * listsof resourcePolicies + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$ResourcePolicyVmMaintenancePolicy { + /** + * Maintenance windows that are applied to VMs covered by this policy. + */ + maintenanceWindow?: Schema$ResourcePolicyVmMaintenancePolicyMaintenanceWindow; + } + /** + * A maintenance window for VMs. When set, we restrict our maintenance + * operations to this window. + */ + interface Schema$ResourcePolicyVmMaintenancePolicyMaintenanceWindow { + dailyMaintenanceWindow?: Schema$ResourcePolicyDailyCycle; + } + /** + * Time window specified for weekly operations. + */ + interface Schema$ResourcePolicyWeeklyCycle { + /** + * Up to 7 intervals/windows, one for each day of the week. + */ + dayOfWeeks?: Schema$ResourcePolicyWeeklyCycleDayOfWeek[]; + } + interface Schema$ResourcePolicyWeeklyCycleDayOfWeek { + /** + * Allows to define schedule that runs specified day of the week. + */ + day?: string; + /** + * [Output only] Duration of the time window, automatically chosen to be + * smallest possible in the given scenario. + */ + duration?: string; + /** + * Time within the window to start the operations. It must be in format + * "HH:MM?, where HH : [00-23] and MM : [00-59] GMT. + */ + startTime?: string; + } + /** + * Represents a Route resource. A route specifies how certain packets should + * be handled by the network. Routes are associated with instances by tags and + * the set of routes for a particular instance is called its routing table. + * For each packet leaving an instance, the system searches that + * instance's routing table for a single best matching route. Routes match + * packets by destination IP address, preferring smaller or more specific + * ranges over larger ones. If there is a tie, the system selects the route + * with the smallest priority value. If there is still a tie, it uses the + * layer three and four packet headers to select just one of the remaining + * matching routes. The packet is then forwarded as specified by the nextHop + * field of the winning route - either to another instance destination, an + * instance gateway, or a Google Compute Engine-operated gateway. Packets + * that do not match any route in the sending instance's routing table are + * dropped. (== resource_for beta.routes ==) (== resource_for v1.routes ==) + */ + interface Schema$Route { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * The destination range of outgoing packets that this route applies to. + * Only IPv4 is supported. + */ + destRange?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of this resource. Always compute#routes for Route + * resources. + */ + kind?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * Fully-qualified URL of the network that this route applies to. + */ + network?: string; + /** + * The URL to a gateway that should handle matching packets. You can only + * specify the internet gateway using a full or partial valid URL: + * projects/<project-id>/global/gateways/default-internet-gateway + */ + nextHopGateway?: string; + /** + * The URL to a forwarding rule of type loadBalancingScheme=INTERNAL that + * should handle matching packets. You can only specify the forwarding rule + * as a partial or full URL. For example, the following are all valid URLs: + * - + * https://www.googleapis.com/compute/v1/projects/project/regions/region/forwardingRules/forwardingRule + * - regions/region/forwardingRules/forwardingRule Note that this can only + * be used when the destination_range is a public (non-RFC 1918) IP CIDR + * range. + */ + nextHopIlb?: string; + /** + * The URL to an instance that should handle matching packets. You can + * specify this as a full or partial URL. For example: + * https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/ + */ + nextHopInstance?: string; + /** + * The network IP address of an instance that should handle matching + * packets. Only IPv4 is supported. + */ + nextHopIp?: string; + /** + * The URL of the local network if it should handle matching packets. + */ + nextHopNetwork?: string; + /** + * [Output Only] The network peering name that should handle matching + * packets, which should conform to RFC1035. + */ + nextHopPeering?: string; + /** + * The URL to a VpnTunnel that should handle matching packets. + */ + nextHopVpnTunnel?: string; + /** + * The priority of this route. Priority is used to break ties in cases where + * there is more than one matching route of equal prefix length. In the case + * of two routes with equal prefix length, the one with the lowest-numbered + * priority value wins. Default value is 1000. Valid range is 0 through + * 65535. + */ + priority?: number; + /** + * [Output Only] Server-defined fully-qualified URL for this resource. + */ + selfLink?: string; + /** + * A list of instance tags to which this route applies. + */ + tags?: string[]; + /** + * [Output Only] If potential misconfigurations are detected for this route, + * this field will be populated with warning messages. + */ + warnings?: any[]; + } + /** + * Contains a list of Route resources. + */ + interface Schema$RouteList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Route resources. + */ + items?: Schema$Route[]; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Router resource. + */ + interface Schema$Router { + /** + * BGP information specific to this router. + */ + bgp?: Schema$RouterBgp; + /** + * BGP information that needs to be configured into the routing stack to + * establish the BGP peering. It must specify peer ASN and either interface + * name, IP, or peer IP. Please refer to RFC4273. + */ + bgpPeers?: Schema$RouterBgpPeer[]; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * Router interfaces. Each interface requires either one linked resource + * (e.g. linkedVpnTunnel), or IP address and IP address range (e.g. + * ipRange), or both. + */ + interfaces?: Schema$RouterInterface[]; + /** + * [Output Only] Type of resource. Always compute#router for routers. + */ + kind?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * A list of Nat services created in this router. + */ + nats?: Schema$RouterNat[]; + /** + * URI of the network to which this router belongs. + */ + network?: string; + /** + * [Output Only] URI of the region where the router resides. You must + * specify this field as part of the HTTP request URL. It is not settable as + * a field in the request body. + */ + region?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + } + /** + * Description-tagged IP ranges for the router to advertise. + */ + interface Schema$RouterAdvertisedIpRange { + /** + * User-specified description for the IP range. + */ + description?: string; + /** + * The IP range to advertise. The value must be a CIDR-formatted string. + */ + range?: string; + } + /** + * Contains a list of routers. + */ + interface Schema$RouterAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Router resources. + */ + items?: any; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$RouterBgp { + /** + * User-specified list of prefix groups to advertise in custom mode. This + * field can only be populated if advertise_mode is CUSTOM and is advertised + * to all peers of the router. These groups will be advertised in addition + * to any specified prefixes. Leave this field blank to advertise no custom + * groups. + */ + advertisedGroups?: string[]; + /** + * User-specified list of individual IP ranges to advertise in custom mode. + * This field can only be populated if advertise_mode is CUSTOM and is + * advertised to all peers of the router. These IP ranges will be advertised + * in addition to any specified groups. Leave this field blank to advertise + * no custom IP ranges. + */ + advertisedIpRanges?: Schema$RouterAdvertisedIpRange[]; + /** + * User-specified flag to indicate which mode to use for advertisement. + */ + advertiseMode?: string; + /** + * Local BGP Autonomous System Number (ASN). Must be an RFC6996 private ASN, + * either 16-bit or 32-bit. The value will be fixed for this router + * resource. All VPN tunnels that link to this router will have the same + * local ASN. + */ + asn?: number; + } + interface Schema$RouterBgpPeer { + /** + * User-specified list of prefix groups to advertise in custom mode. This + * field can only be populated if advertise_mode is CUSTOM and overrides the + * list defined for the router (in Bgp message). These groups will be + * advertised in addition to any specified prefixes. Leave this field blank + * to advertise no custom groups. + */ + advertisedGroups?: string[]; + /** + * User-specified list of individual IP ranges to advertise in custom mode. + * This field can only be populated if advertise_mode is CUSTOM and + * overrides the list defined for the router (in Bgp message). These IP + * ranges will be advertised in addition to any specified groups. Leave this + * field blank to advertise no custom IP ranges. + */ + advertisedIpRanges?: Schema$RouterAdvertisedIpRange[]; + /** + * The priority of routes advertised to this BGP peer. In the case where + * there is more than one matching route of maximum length, the routes with + * lowest priority value win. + */ + advertisedRoutePriority?: number; + /** + * User-specified flag to indicate which mode to use for advertisement. + */ + advertiseMode?: string; + /** + * Name of the interface the BGP peer is associated with. + */ + interfaceName?: string; + /** + * IP address of the interface inside Google Cloud Platform. Only IPv4 is + * supported. + */ + ipAddress?: string; + /** + * [Output Only] Type of how the resource/configuration of the BGP peer is + * managed. MANAGED_BY_USER is the default value; MANAGED_BY_ATTACHMENT + * represents an BGP peer that is automatically created for PARTNER + * interconnectAttachment, Google will automatically create/delete this type + * of BGP peer when the PARTNER interconnectAttachment is created/deleted. + */ + managementType?: string; + /** + * Name of this BGP peer. The name must be 1-63 characters long and comply + * with RFC1035. + */ + name?: string; + /** + * Peer BGP Autonomous System Number (ASN). For VPN use case, this value can + * be different for every tunnel. + */ + peerAsn?: number; + /** + * IP address of the BGP interface outside Google cloud. Only IPv4 is + * supported. + */ + peerIpAddress?: string; + } + interface Schema$RouterInterface { + /** + * IP address and range of the interface. The IP range must be in the + * RFC3927 link-local IP space. The value must be a CIDR-formatted string, + * for example: 169.254.0.1/30. NOTE: Do not truncate the address as it + * represents the IP address of the interface. + */ + ipRange?: string; + /** + * URI of the linked interconnect attachment. It must be in the same region + * as the router. Each interface can have at most one linked resource and it + * could either be a VPN Tunnel or an interconnect attachment. + */ + linkedInterconnectAttachment?: string; + /** + * URI of the linked VPN tunnel. It must be in the same region as the + * router. Each interface can have at most one linked resource and it could + * either be a VPN Tunnel or an interconnect attachment. + */ + linkedVpnTunnel?: string; + /** + * [Output Only] Type of how the resource/configuration of the interface is + * managed. MANAGED_BY_USER is the default value; MANAGED_BY_ATTACHMENT + * represents an interface that is automatically created for PARTNER type + * interconnectAttachment, Google will automatically create/update/delete + * this type of interface when the PARTNER interconnectAttachment is + * created/provisioned/deleted. + */ + managementType?: string; + /** + * Name of this interface entry. The name must be 1-63 characters long and + * comply with RFC1035. + */ + name?: string; + } + /** + * Contains a list of Router resources. + */ + interface Schema$RouterList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Router resources. + */ + items?: Schema$Router[]; + /** + * [Output Only] Type of resource. Always compute#router for routers. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Represents a Nat resource. It enables the VMs within the specified + * subnetworks to access Internet without external IP addresses. It specifies + * a list of subnetworks (and the ranges within) that want to use NAT. + * Customers can also provide the external IPs that would be used for NAT. GCP + * would auto-allocate ephemeral IPs if no external IPs are provided. + */ + interface Schema$RouterNat { + /** + * Timeout (in seconds) for ICMP connections. Defaults to 30s if not set. + */ + icmpIdleTimeoutSec?: number; + /** + * Minimum number of ports allocated to a VM from this NAT config. If not + * set, a default number of ports is allocated to a VM. This gets rounded up + * to the nearest power of 2. Eg. if the value of this field is 50, at least + * 64 ports will be allocated to a VM. + */ + minPortsPerVm?: number; + /** + * Unique name of this Nat service. The name must be 1-63 characters long + * and comply with RFC1035. + */ + name?: string; + /** + * Specify the NatIpAllocateOption. If it is AUTO_ONLY, then nat_ip should + * be empty. + */ + natIpAllocateOption?: string; + /** + * A list of URLs of the IP resources used for this Nat service. These IPs + * must be valid static external IP addresses assigned to the project. + * max_length is subject to change post alpha. + */ + natIps?: string[]; + /** + * Specify the Nat option. If this field contains + * ALL_SUBNETWORKS_ALL_IP_RANGES or ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES, + * then there should not be any other Router.Nat section in any Router for + * this network in this region. + */ + sourceSubnetworkIpRangesToNat?: string; + /** + * A list of Subnetwork resources whose traffic should be translated by NAT + * Gateway. It is used only when LIST_OF_SUBNETWORKS is selected for the + * SubnetworkIpRangeToNatOption above. + */ + subnetworks?: Schema$RouterNatSubnetworkToNat[]; + /** + * Timeout (in seconds) for TCP established connections. Defaults to 1200s + * if not set. + */ + tcpEstablishedIdleTimeoutSec?: number; + /** + * Timeout (in seconds) for TCP transitory connections. Defaults to 30s if + * not set. + */ + tcpTransitoryIdleTimeoutSec?: number; + /** + * Timeout (in seconds) for UDP connections. Defaults to 30s if not set. + */ + udpIdleTimeoutSec?: number; + } + /** + * Defines the IP ranges that want to use NAT for a subnetwork. + */ + interface Schema$RouterNatSubnetworkToNat { + /** + * URL for the subnetwork resource to use NAT. + */ + name?: string; + /** + * A list of the secondary ranges of the Subnetwork that are allowed to use + * NAT. This can be populated only if + * "LIST_OF_SECONDARY_IP_RANGES" is one of the values in + * source_ip_ranges_to_nat. + */ + secondaryIpRangeNames?: string[]; + /** + * Specify the options for NAT ranges in the Subnetwork. All usages of + * single value are valid except NAT_IP_RANGE_OPTION_UNSPECIFIED. The only + * valid option with multiple values is: ["PRIMARY_IP_RANGE", + * "LIST_OF_SECONDARY_IP_RANGES"] Default: [ALL_IP_RANGES] + */ + sourceIpRangesToNat?: string[]; + } + interface Schema$RoutersPreviewResponse { + /** + * Preview of given router. + */ + resource?: Schema$Router; + } + interface Schema$RoutersScopedList { + /** + * A list of routers contained in this scope. + */ + routers?: Schema$Router[]; + /** + * Informational warning which replaces the list of routers when the list is + * empty. + */ + warning?: any; + } + interface Schema$RouterStatus { + /** + * Best routes for this router's network. + */ + bestRoutes?: Schema$Route[]; + /** + * Best routes learned by this router. + */ + bestRoutesForRouter?: Schema$Route[]; + bgpPeerStatus?: Schema$RouterStatusBgpPeerStatus[]; + natStatus?: Schema$RouterStatusNatStatus[]; + /** + * URI of the network to which this router belongs. + */ + network?: string; + } + interface Schema$RouterStatusBgpPeerStatus { + /** + * Routes that were advertised to the remote BGP peer + */ + advertisedRoutes?: Schema$Route[]; + /** + * IP address of the local BGP interface. + */ + ipAddress?: string; + /** + * URL of the VPN tunnel that this BGP peer controls. + */ + linkedVpnTunnel?: string; + /** + * Name of this BGP peer. Unique within the Routers resource. + */ + name?: string; + /** + * Number of routes learned from the remote BGP Peer. + */ + numLearnedRoutes?: number; + /** + * IP address of the remote BGP interface. + */ + peerIpAddress?: string; + /** + * BGP state as specified in RFC1771. + */ + state?: string; + /** + * Status of the BGP peer: {UP, DOWN} + */ + status?: string; + /** + * Time this session has been up. Format: 14 years, 51 weeks, 6 days, 23 + * hours, 59 minutes, 59 seconds + */ + uptime?: string; + /** + * Time this session has been up, in seconds. Format: 145 + */ + uptimeSeconds?: string; + } + /** + * Status of a NAT contained in this router. + */ + interface Schema$RouterStatusNatStatus { + /** + * A list of IPs auto-allocated for NAT. Example: ["1.1.1.1", + * "129.2.16.89"] + */ + autoAllocatedNatIps?: string[]; + /** + * The number of extra IPs to allocate. This will be greater than 0 only if + * user-specified IPs are NOT enough to allow all configured VMs to use NAT. + * This value is meaningful only when auto-allocation of NAT IPs is *not* + * used. + */ + minExtraNatIpsNeeded?: number; + /** + * Unique name of this NAT. + */ + name?: string; + /** + * Number of VM endpoints (i.e., Nics) that can use NAT. + */ + numVmEndpointsWithNatMappings?: number; + /** + * A list of fully qualified URLs of reserved IP address resources. + */ + userAllocatedNatIpResources?: string[]; + /** + * A list of IPs user-allocated for NAT. They will be raw IP strings like + * "179.12.26.133". + */ + userAllocatedNatIps?: string[]; + } + interface Schema$RouterStatusResponse { + /** + * Type of resource. + */ + kind?: string; + result?: Schema$RouterStatus; + } + /** + * A rule to be applied in a Policy. + */ + interface Schema$Rule { + /** + * Required + */ + action?: string; + /** + * Additional restrictions that must be met. All conditions must pass for + * the rule to match. + */ + conditions?: Schema$Condition[]; + /** + * Human-readable description of the rule. + */ + description?: string; + /** + * If one or more 'in' clauses are specified, the rule matches if + * the PRINCIPAL/AUTHORITY_SELECTOR is in at least one of these entries. + */ + ins?: string[]; + /** + * The config returned to callers of tech.iam.IAM.CheckPolicy for any + * entries that match the LOG action. + */ + logConfigs?: Schema$LogConfig[]; + /** + * If one or more 'not_in' clauses are specified, the rule matches + * if the PRINCIPAL/AUTHORITY_SELECTOR is in none of the entries. + */ + notIns?: string[]; + /** + * A permission is a string of form '..' (e.g., + * 'storage.buckets.list'). A value of '*' matches all + * permissions, and a verb part of '*' (e.g., + * 'storage.buckets.*') matches all verbs. + */ + permissions?: string[]; + } + /** + * An instance-attached disk resource. + */ + interface Schema$SavedAttachedDisk { + /** + * Specifies whether the disk will be auto-deleted when the instance is + * deleted (but not when the disk is detached from the instance). + */ + autoDelete?: boolean; + /** + * Indicates that this is a boot disk. The virtual machine will use the + * first partition of the disk for its root filesystem. + */ + boot?: boolean; + /** + * Specifies a unique device name of your choice that is reflected into the + * /dev/disk/by-id/google-* tree of a Linux operating system running within + * the instance. This name can be used to reference the device for mounting, + * resizing, and so on, from within the instance. If not specified, the + * server chooses a default device name to apply to this disk, in the form + * persistent-disks-x, where x is a number assigned by Google Compute + * Engine. This field is only applicable for persistent disks. + */ + deviceName?: string; + /** + * Encrypts or decrypts a disk using a customer-supplied encryption key. If + * you are creating a new disk, this field encrypts the new disk using an + * encryption key that you provide. If you are attaching an existing disk + * that is already encrypted, this field decrypts the disk using the + * customer-supplied encryption key. If you encrypt a disk using a + * customer-supplied key, you must provide the same key again when you + * attempt to use this resource at a later time. For example, you must + * provide the key when you create a snapshot or an image from the disk or + * when you attach the disk to a virtual machine instance. If you do not + * provide an encryption key, then the disk will be encrypted using an + * automatically generated key and you do not need to provide a key to use + * the disk later. Instance templates do not store customer-supplied + * encryption keys, so you cannot use your own keys to encrypt disks in a + * managed instance group. + */ + diskEncryptionKey?: Schema$CustomerEncryptionKey; + /** + * The size of the disk in base-2 GB. This supersedes disk_size_gb in + * InitializeParams. + */ + diskSizeGb?: string; + /** + * A list of features to enable on the guest operating system. Applicable + * only for bootable images. Read Enabling guest operating system features + * to see a list of available options. + */ + guestOsFeatures?: Schema$GuestOsFeature[]; + /** + * [Output Only] A zero-based index to this disk, where 0 is reserved for + * the boot disk. If you have many disks attached to an instance, each disk + * would have a unique index number. + */ + index?: number; + /** + * [Input Only] Specifies the parameters for a new disk that will be created + * alongside the new instance. Use initialization parameters to create boot + * disks or local SSDs attached to the new instance. This property is + * mutually exclusive with the source property; you can only define one or + * the other, but not both. + */ + initializeParams?: Schema$AttachedDiskInitializeParams; + /** + * Specifies the disk interface to use for attaching this disk, which is + * either SCSI or NVME. The default is SCSI. Persistent disks must always + * use SCSI and the request will fail if you attempt to attach a persistent + * disk in any other format than SCSI. Local SSDs can use either NVME or + * SCSI. For performance characteristics of SCSI over NVMe, see Local SSD + * performance. + */ + interface?: string; + /** + * [Output Only] Type of the resource. Always compute#attachedDisk for + * attached disks. + */ + kind?: string; + /** + * [Output Only] Any valid publicly visible licenses. + */ + licenses?: string[]; + /** + * The mode in which to attach this disk, either READ_WRITE or READ_ONLY. If + * not specified, the default is to attach the disk in READ_WRITE mode. + */ + mode?: string; + /** + * For LocalSSD disks on VM Instances in STOPPED or SUSPENDED state, this + * field is set to PRESERVED if the LocalSSD data has been saved to a + * persistent location by customer request. (see the discard_local_ssd + * option on Stop/Suspend). Read-only in the api. + */ + savedState?: string; + /** + * Specifies a valid partial or full URL to an existing Persistent Disk + * resource. When creating a new instance, one of + * initializeParams.sourceImage or disks.source is required except for local + * SSD. If desired, you can also attach existing non-root persistent disks + * using this property. This field is only applicable for persistent disks. + * Note that for InstanceTemplate, specify the disk name, not the URL for + * the disk. + */ + source?: string; + /** + * [Output Only] A size of the storage used by the disk's snapshot. + */ + storageBytes?: string; + /** + * [Output Only] An indicator whether storageBytes is in a stable state or + * it is being adjusted as a result of shared storage reallocation. This + * status can either be UPDATING, meaning the size of the snapshot is being + * updated, or UP_TO_DATE, meaning the size of the snapshot is up-to-date. + */ + storageBytesStatus?: string; + /** + * Specifies the type of the disk, either SCRATCH or PERSISTENT. If not + * specified, the default is PERSISTENT. + */ + type?: string; + } + /** + * Sets the scheduling options for an Instance. + */ + interface Schema$Scheduling { + /** + * Specifies whether the instance should be automatically restarted if it is + * terminated by Compute Engine (not terminated by a user). You can only set + * the automatic restart option for standard instances. Preemptible + * instances cannot be automatically restarted. By default, this is set to + * true so an instance is automatically restarted if it is terminated by + * Compute Engine. + */ + automaticRestart?: boolean; + /** + * A set of node affinity and anti-affinity. + */ + nodeAffinities?: Schema$SchedulingNodeAffinity[]; + /** + * Defines the maintenance behavior for this instance. For standard + * instances, the default behavior is MIGRATE. For preemptible instances, + * the default and only possible behavior is TERMINATE. For more + * information, see Setting Instance Scheduling Options. + */ + onHostMaintenance?: string; + /** + * Defines whether the instance is preemptible. This can only be set during + * instance creation, it cannot be set or changed after the instance has + * been created. + */ + preemptible?: boolean; + } + /** + * Node Affinity: the configuration of desired nodes onto which this Instance + * could be scheduled. + */ + interface Schema$SchedulingNodeAffinity { + /** + * Corresponds to the label key of Node resource. + */ + key?: string; + /** + * Defines the operation of node selection. + */ + operator?: string; + /** + * Corresponds to the label values of Node resource. + */ + values?: string[]; + } + interface Schema$SecurityPoliciesListPreconfiguredExpressionSetsResponse { + preconfiguredExpressionSets?: Schema$SecurityPoliciesWafConfig; + } + interface Schema$SecurityPoliciesWafConfig { + wafRules?: Schema$PreconfiguredWafSet; + } + /** + * A security policy is comprised of one or more rules. It can also be + * associated with one or more 'targets'. (== resource_for + * v1.securityPolicies ==) (== resource_for beta.securityPolicies ==) + */ + interface Schema$SecurityPolicy { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * Specifies a fingerprint for this resource, which is essentially a hash of + * the metadata's contents and used for optimistic locking. The + * fingerprint is initially generated by Compute Engine and changes after + * every request to modify or update metadata. You must always provide an + * up-to-date fingerprint hash in order to update or change metadata. To + * see the latest fingerprint, make get() request to the security policy. + */ + fingerprint?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output only] Type of the resource. Always compute#securityPolicyfor + * security policies + */ + kind?: string; + /** + * A fingerprint for the labels being applied to this security policy, which + * is essentially a hash of the labels set used for optimistic locking. The + * fingerprint is initially generated by Compute Engine and changes after + * every request to modify or update labels. You must always provide an + * up-to-date fingerprint hash in order to update or change labels. To see + * the latest fingerprint, make get() request to the security policy. + */ + labelFingerprint?: string; + /** + * Labels to apply to this security policy resource. These can be later + * modified by the setLabels method. Each label key/value must comply with + * RFC1035. Label values may be empty. + */ + labels?: any; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * A list of rules that belong to this policy. There must always be a + * default rule (rule with priority 2147483647 and match "*"). If + * no rules are provided when creating a security policy, a default rule + * with action "allow" will be added. + */ + rules?: Schema$SecurityPolicyRule[]; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + } + interface Schema$SecurityPolicyList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of SecurityPolicy resources. + */ + items?: Schema$SecurityPolicy[]; + /** + * [Output Only] Type of resource. Always compute#securityPolicyList for + * listsof securityPolicies + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$SecurityPolicyReference { + securityPolicy?: string; + } + /** + * Represents a rule that describes one or more match conditions along with + * the action to be taken when traffic matches this condition (allow or deny). + */ + interface Schema$SecurityPolicyRule { + /** + * The Action to preform when the client connection triggers the rule. Can + * currently be either "allow" or "deny()" where valid + * values for status are 403, 404, and 502. + */ + action?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output only] Type of the resource. Always compute#securityPolicyRule for + * security policy rules + */ + kind?: string; + /** + * A match condition that incoming traffic is evaluated against. If it + * evaluates to true, the corresponding ?action? is enforced. + */ + match?: Schema$SecurityPolicyRuleMatcher; + /** + * If set to true, the specified action is not enforced. + */ + preview?: boolean; + /** + * An integer indicating the priority of a rule in the list. The priority + * must be a positive value between 0 and 2147483647. Rules are evaluated in + * the increasing order of priority. + */ + priority?: number; + } + /** + * Represents a match condition that incoming traffic is evaluated against. + * Exactly one field must be specified. + */ + interface Schema$SecurityPolicyRuleMatcher { + /** + * The configuration options available when specifying versioned_expr. This + * field must be specified if versioned_expr is specified and cannot be + * specified if versioned_expr is not specified. + */ + config?: Schema$SecurityPolicyRuleMatcherConfig; + /** + * User defined CEVAL expression. A CEVAL expression is used to specify + * match criteria such as origin.ip, source.region_code and contents in the + * request header. + */ + expr?: Schema$Expr; + /** + * CIDR IP address range. + */ + srcIpRanges?: string[]; + /** + * Preconfigured versioned expression. If this field is specified, config + * must also be specified. Available preconfigured expressions along with + * their requirements are: SRC_IPS_V1 - must specify the corresponding + * src_ip_range field in config. + */ + versionedExpr?: string; + } + interface Schema$SecurityPolicyRuleMatcherConfig { + /** + * CIDR IP address range. + */ + srcIpRanges?: string[]; + } + /** + * An instance's serial console output. + */ + interface Schema$SerialPortOutput { + /** + * [Output Only] The contents of the console output. + */ + contents?: string; + /** + * [Output Only] Type of the resource. Always compute#serialPortOutput for + * serial port output. + */ + kind?: string; + /** + * [Output Only] The position of the next byte of content from the serial + * console output. Use this value in the next request as the start + * parameter. + */ + next?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * The starting byte position of the output that was returned. This should + * match the start parameter sent with the request. If the serial console + * output exceeds the size of the buffer, older output will be overwritten + * by newer content and the start values will be mismatched. + */ + start?: string; + } + interface Schema$ServerBinding { + type?: string; + } + /** + * A service account. + */ + interface Schema$ServiceAccount { + /** + * Email address of the service account. + */ + email?: string; + /** + * The list of scopes to be made available for this service account. + */ + scopes?: string[]; + } + /** + * A set of Shielded VM options. + */ + interface Schema$ShieldedVmConfig { + /** + * Defines whether the instance has integrity monitoring enabled. + */ + enableIntegrityMonitoring?: boolean; + /** + * Defines whether the instance has Secure Boot enabled. + */ + enableSecureBoot?: boolean; + /** + * Defines whether the instance has the vTPM enabled. + */ + enableVtpm?: boolean; + } + /** + * The policy describes the baseline against which VM instance boot integrity + * is measured. + */ + interface Schema$ShieldedVmIntegrityPolicy { + /** + * Updates the integrity policy baseline using the measurements from the VM + * instance's most recent boot. + */ + updateAutoLearnPolicy?: boolean; + } + /** + * Represents a customer-supplied Signing Key used by Cloud CDN Signed URLs + */ + interface Schema$SignedUrlKey { + /** + * Name of the key. The name must be 1-63 characters long, and comply with + * RFC1035. Specifically, the name must be 1-63 characters long and match + * the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first + * character must be a lowercase letter, and all following characters must + * be a dash, lowercase letter, or digit, except the last character, which + * cannot be a dash. + */ + keyName?: string; + /** + * 128-bit key value used for signing the URL. The key value must be a valid + * RFC 4648 Section 5 base64url encoded string. + */ + keyValue?: string; + } + /** + * A persistent disk snapshot resource. (== resource_for beta.snapshots ==) + * (== resource_for v1.snapshots ==) + */ + interface Schema$Snapshot { + /** + * [Output Only] Set to true if snapshots are autoamtically by applying + * resource policy on the target disk. + */ + autoCreated?: boolean; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] Size of the snapshot, specified in GB. + */ + diskSizeGb?: string; + /** + * [Output Only] A list of features to enable on the guest operating system. + * Applicable only for bootable images. Read Enabling guest operating + * system features to see a list of available options. + */ + guestOsFeatures?: Schema$GuestOsFeature[]; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of the resource. Always compute#snapshot for Snapshot + * resources. + */ + kind?: string; + /** + * A fingerprint for the labels being applied to this snapshot, which is + * essentially a hash of the labels set used for optimistic locking. The + * fingerprint is initially generated by Compute Engine and changes after + * every request to modify or update labels. You must always provide an + * up-to-date fingerprint hash in order to update or change labels. To see + * the latest fingerprint, make a get() request to retrieve a snapshot. + */ + labelFingerprint?: string; + /** + * Labels to apply to this snapshot. These can be later modified by the + * setLabels method. Label values may be empty. + */ + labels?: any; + /** + * [Output Only] Integer license codes indicating which licenses are + * attached to this snapshot. + */ + licenseCodes?: string[]; + /** + * [Output Only] A list of public visible licenses that apply to this + * snapshot. This can be because the original image had licenses attached + * (such as a Windows image). + */ + licenses?: string[]; + /** + * Name of the resource; provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * Encrypts the snapshot using a customer-supplied encryption key. After + * you encrypt a snapshot using a customer-supplied key, you must provide + * the same key if you use the image later For example, you must provide the + * encryption key when you create a disk from the encrypted snapshot in a + * future request. Customer-supplied encryption keys do not protect access + * to metadata of the disk. If you do not provide an encryption key when + * creating the snapshot, then the snapshot will be encrypted using an + * automatically generated key and you do not need to provide a key to use + * the snapshot later. + */ + snapshotEncryptionKey?: Schema$CustomerEncryptionKey; + /** + * [Output Only] The source disk used to create this snapshot. + */ + sourceDisk?: string; + /** + * The customer-supplied encryption key of the source disk. Required if the + * source disk is protected by a customer-supplied encryption key. + */ + sourceDiskEncryptionKey?: Schema$CustomerEncryptionKey; + /** + * [Output Only] The ID value of the disk used to create this snapshot. This + * value may be used to determine whether the snapshot was taken from the + * current or a previous instance of a given disk name. + */ + sourceDiskId?: string; + /** + * [Output Only] The status of the snapshot. This can be CREATING, DELETING, + * FAILED, READY, or UPLOADING. + */ + status?: string; + /** + * [Output Only] A size of the storage used by the snapshot. As snapshots + * share storage, this number is expected to change with snapshot + * creation/deletion. + */ + storageBytes?: string; + /** + * [Output Only] An indicator whether storageBytes is in a stable state or + * it is being adjusted as a result of shared storage reallocation. This + * status can either be UPDATING, meaning the size of the snapshot is being + * updated, or UP_TO_DATE, meaning the size of the snapshot is up-to-date. + */ + storageBytesStatus?: string; + /** + * GCS bucket storage location of the snapshot (regional or multi-regional). + */ + storageLocations?: string[]; + } + /** + * Contains a list of Snapshot resources. + */ + interface Schema$SnapshotList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Snapshot resources. + */ + items?: Schema$Snapshot[]; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * A specification of the parameters to use when creating the instance + * template from a source instance. + */ + interface Schema$SourceInstanceParams { + /** + * Attached disks configuration. If not provided, defaults are applied: For + * boot disk and any other R/W disks, new custom images will be created from + * each disk. For read-only disks, they will be attached in read-only mode. + * Local SSD disks will be created as blank volumes. + */ + diskConfigs?: Schema$DiskInstantiationConfig[]; + } + interface Schema$SourceInstanceProperties { + /** + * Enables instances created based on this template to send packets with + * source IP addresses other than their own and receive packets with + * destination IP addresses other than their own. If these instances will be + * used as an IP gateway or it will be set as the next-hop in a Route + * resource, specify true. If unsure, leave this set to false. See the + * Enable IP forwarding documentation for more information. + */ + canIpForward?: boolean; + /** + * Whether the resource should be protected against deletion. + */ + deletionProtection?: boolean; + /** + * An optional text description for the instances that are created from this + * instance template. + */ + description?: string; + /** + * An array of disks that are associated with the instances that are created + * from this template. + */ + disks?: Schema$SavedAttachedDisk[]; + /** + * A list of guest accelerator cards' type and count to use for + * instances created from the instance template. + */ + guestAccelerators?: Schema$AcceleratorConfig[]; + /** + * Labels to apply to instances that are created from this template. + */ + labels?: any; + /** + * The machine type to use for instances that are created from this + * template. + */ + machineType?: string; + /** + * The metadata key/value pairs to assign to instances that are created from + * this template. These pairs can consist of custom metadata or predefined + * keys. See Project and instance metadata for more information. + */ + metadata?: Schema$Metadata; + /** + * Minimum cpu/platform to be used by this instance. The instance may be + * scheduled on the specified or newer cpu/platform. Applicable values are + * the friendly names of CPU platforms, such as minCpuPlatform: "Intel + * Haswell" or minCpuPlatform: "Intel Sandy Bridge". For more + * information, read Specifying a Minimum CPU Platform. + */ + minCpuPlatform?: string; + /** + * An array of network access configurations for this interface. + */ + networkInterfaces?: Schema$NetworkInterface[]; + /** + * Specifies the scheduling options for the instances that are created from + * this template. + */ + scheduling?: Schema$Scheduling; + /** + * A list of service accounts with specified scopes. Access tokens for these + * service accounts are available to the instances that are created from + * this template. Use metadata queries to obtain the access tokens for these + * instances. + */ + serviceAccounts?: Schema$ServiceAccount[]; + /** + * A list of tags to apply to the instances that are created from this + * template. The tags identify valid sources or targets for network + * firewalls. The setTags method can modify this list of tags. Each tag + * within the list must comply with RFC1035. + */ + tags?: Schema$Tags; + } + /** + * An SslCertificate resource. This resource provides a mechanism to upload an + * SSL key and certificate to the load balancer to serve secure connections + * from the user. (== resource_for beta.sslCertificates ==) (== resource_for + * v1.sslCertificates ==) + */ + interface Schema$SslCertificate { + /** + * A local certificate file. The certificate must be in PEM format. The + * certificate chain must be no greater than 5 certs long. The chain must + * include at least one intermediate cert. + */ + certificate?: string; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] Expire time of the certificate. RFC3339 + */ + expireTime?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of the resource. Always compute#sslCertificate for SSL + * certificates. + */ + kind?: string; + /** + * Configuration and status of a managed SSL certificate. + */ + managed?: Schema$SslCertificateManagedSslCertificate; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * A write-only private key in PEM format. Only insert requests will include + * this field. + */ + privateKey?: string; + /** + * [Output Only] URL of the region where the regional SSL Certificate + * resides. This field is not applicable to global SSL Certificate. + */ + region?: string; + /** + * [Output only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * Configuration and status of a self-managed SSL certificate. + */ + selfManaged?: Schema$SslCertificateSelfManagedSslCertificate; + /** + * [Output Only] Domains associated with the certificate via Subject + * Alternative Name. + */ + subjectAlternativeNames?: string[]; + /** + * (Optional) Specifies the type of SSL certificate, either + * "SELF_MANAGED" or "MANAGED". If not specified, the + * certificate is self-managed and the fields certificate and private_key + * are used. + */ + type?: string; + } + interface Schema$SslCertificateAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of SslCertificatesScopedList resources. + */ + items?: any; + /** + * [Output Only] Type of resource. Always + * compute#sslCertificateAggregatedList for lists of SSL Certificates. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of SslCertificate resources. + */ + interface Schema$SslCertificateList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of SslCertificate resources. + */ + items?: Schema$SslCertificate[]; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Configuration and status of a managed SSL certificate. + */ + interface Schema$SslCertificateManagedSslCertificate { + /** + * The domains for which a managed SSL certificate will be generated. + * Currently only single-domain certs are supported. + */ + domains?: string[]; + /** + * [Output only] Detailed statuses of the domains specified for managed + * certificate resource. + */ + domainStatus?: any; + /** + * [Output only] Status of the managed certificate resource. + */ + status?: string; + } + /** + * Configuration and status of a self-managed SSL certificate. + */ + interface Schema$SslCertificateSelfManagedSslCertificate { + /** + * A local certificate file. The certificate must be in PEM format. The + * certificate chain must be no greater than 5 certs long. The chain must + * include at least one intermediate cert. + */ + certificate?: string; + /** + * A write-only private key in PEM format. Only insert requests will include + * this field. + */ + privateKey?: string; + } + interface Schema$SslCertificatesScopedList { + /** + * List of SslCertificates contained in this scope. + */ + sslCertificates?: Schema$SslCertificate[]; + /** + * Informational warning which replaces the list of backend services when + * the list is empty. + */ + warning?: any; + } + interface Schema$SSLHealthCheck { + /** + * The TCP port number for the health check request. The default value is + * 443. Valid values are 1 through 65535. + */ + port?: number; + /** + * Port name as defined in InstanceGroup#NamedPort#name. If both port and + * port_name are defined, port takes precedence. + */ + portName?: string; + /** + * Specifies how port is selected for health checking, can be one of + * following values: USE_FIXED_PORT: The port number in port is used for + * health checking. USE_NAMED_PORT: The portName is used for health + * checking. USE_SERVING_PORT: For NetworkEndpointGroup, the port specified + * for each network endpoint is used for health checking. For other + * backends, the port or named port specified in the Backend Service is used + * for health checking. If not specified, SSL health check follows + * behavior specified in port and portName fields. + */ + portSpecification?: string; + /** + * Specifies the type of proxy header to append before sending data to the + * backend, either NONE or PROXY_V1. The default is NONE. + */ + proxyHeader?: string; + /** + * The application data to send once the SSL connection has been established + * (default value is empty). If both request and response are empty, the + * connection establishment alone will indicate health. The request data can + * only be ASCII. + */ + request?: string; + /** + * The bytes to match against the beginning of the response data. If left + * empty (the default value), any response will indicate health. The + * response data can only be ASCII. + */ + response?: string; + } + interface Schema$SslPoliciesList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of SslPolicy resources. + */ + items?: Schema$SslPolicy[]; + /** + * [Output Only] Type of the resource. Always compute#sslPoliciesList for + * lists of sslPolicies. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$SslPoliciesListAvailableFeaturesResponse { + features?: string[]; + } + /** + * A SSL policy specifies the server-side support for SSL features. This can + * be attached to a TargetHttpsProxy or a TargetSslProxy. This affects + * connections between clients and the HTTPS or SSL proxy load balancer. They + * do not affect the connection between the load balancers and the backends. + */ + interface Schema$SslPolicy { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * A list of features enabled when the selected profile is CUSTOM. The - + * method returns the set of features that can be specified in this list. + * This field must be empty if the profile is not CUSTOM. + */ + customFeatures?: string[]; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] The list of features enabled in the SSL policy. + */ + enabledFeatures?: string[]; + /** + * Fingerprint of this resource. A hash of the contents stored in this + * object. This field is used in optimistic locking. This field will be + * ignored when inserting a SslPolicy. An up-to-date fingerprint must be + * provided in order to update the SslPolicy. To see the latest + * fingerprint, make a get() request to retrieve an SslPolicy. + */ + fingerprint?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output only] Type of the resource. Always compute#sslPolicyfor SSL + * policies. + */ + kind?: string; + /** + * The minimum version of SSL protocol that can be used by the clients to + * establish a connection with the load balancer. This can be one of + * TLS_1_0, TLS_1_1, TLS_1_2. + */ + minTlsVersion?: string; + /** + * Name of the resource. The name must be 1-63 characters long, and comply + * with RFC1035. Specifically, the name must be 1-63 characters long and + * match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the + * first character must be a lowercase letter, and all following characters + * must be a dash, lowercase letter, or digit, except the last character, + * which cannot be a dash. + */ + name?: string; + /** + * Profile specifies the set of SSL features that can be used by the load + * balancer when negotiating SSL with clients. This can be one of + * COMPATIBLE, MODERN, RESTRICTED, or CUSTOM. If using CUSTOM, the set of + * SSL features to enable must be specified in the customFeatures field. + */ + profile?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] If potential misconfigurations are detected for this SSL + * policy, this field will be populated with warning messages. + */ + warnings?: any[]; + } + interface Schema$SslPolicyReference { + /** + * URL of the SSL policy resource. Set this to empty string to clear any + * existing SSL policy associated with the target proxy resource. + */ + sslPolicy?: string; + } + interface Schema$StatefulPolicy { + preservedResources?: Schema$StatefulPolicyPreservedResources; + } + interface Schema$StatefulPolicyPreservedDisk { + /** + * Device name of the disk to be preserved + */ + deviceName?: string; + } + /** + * Configuration of all preserved resources. + */ + interface Schema$StatefulPolicyPreservedResources { + /** + * Disks created on the instances that will be preserved on instance delete, + * resize down, etc. + */ + disks?: Schema$StatefulPolicyPreservedDisk[]; + } + /** + * A Subnetwork resource. (== resource_for beta.subnetworks ==) (== + * resource_for v1.subnetworks ==) + */ + interface Schema$Subnetwork { + /** + * Can only be specified if VPC flow logging for this subnetwork is enabled. + * Toggles the aggregation interval for collecting flow logs. Increasing the + * interval time will reduce the amount of generated flow logs for long + * lasting connections. Default is an interval of 5 seconds per connection. + */ + aggregationInterval?: string; + /** + * Whether this subnetwork can conflict with static routes. Setting this to + * true allows this subnetwork's primary and secondary ranges to + * conflict with routes that have already been configured on the + * corresponding network. Static routes will take precedence over the + * subnetwork route if the route prefix length is at least as large as the + * subnetwork prefix length. Also, packets destined to IPs within + * subnetwork may contain private/sensitive data and are prevented from + * leaving the virtual network. Setting this field to true will disable this + * feature. The default value is false and applies to all existing + * subnetworks and automatically created subnetworks. This field cannot be + * set to true at resource creation time. + */ + allowSubnetCidrRoutesOverlap?: boolean; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. This field can be set only at resource creation + * time. + */ + description?: string; + /** + * Whether to enable flow logging for this subnetwork. + */ + enableFlowLogs?: boolean; + /** + * Whether the VMs in this subnet can directly access Google services via + * internal IPv6 addresses. This field can be both set at resource creation + * time and updated using patch. + */ + enablePrivateV6Access?: boolean; + /** + * Fingerprint of this resource. A hash of the contents stored in this + * object. This field is used in optimistic locking. This field will be + * ignored when inserting a Subnetwork. An up-to-date fingerprint must be + * provided in order to update the Subnetwork. To see the latest + * fingerprint, make a get() request to retrieve a Subnetwork. + */ + fingerprint?: string; + /** + * Can only be specified if VPC flow logging for this subnetwork is enabled. + * The value of the field must be in [0, 1]. Set the sampling rate of VPC + * flow logs within the subnetwork where 1.0 means all collected logs are + * reported and 0.0 means no logs are reported. Default is 0.5 which means + * half of all collected logs are reported. + */ + flowSampling?: number; + /** + * [Output Only] The gateway address for default routes to reach destination + * addresses outside this subnetwork. + */ + gatewayAddress?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * The range of internal addresses that are owned by this subnetwork. + * Provide this property when you create the subnetwork. For + * example, 10.0.0.0/8 or 192.168.0.0/16. Ranges must be unique and + * non-overlapping within a network. Only IPv4 is supported. This field can + * be set only at resource creation time. + */ + ipCidrRange?: string; + /** + * [Output Only] The range of internal IPv6 addresses that are owned by this + * subnetwork. + */ + ipv6CidrRange?: string; + /** + * [Output Only] Type of the resource. Always compute#subnetwork for + * Subnetwork resources. + */ + kind?: string; + /** + * Can only be specified if VPC flow logging for this subnetwork is enabled. + * Configures whether metadata fields should be added to the reported VPC + * flow logs. Default is INCLUDE_ALL_METADATA. + */ + metadata?: string; + /** + * The name of the resource, provided by the client when initially creating + * the resource. The name must be 1-63 characters long, and comply with + * RFC1035. Specifically, the name must be 1-63 characters long and match + * the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first + * character must be a lowercase letter, and all following characters must + * be a dash, lowercase letter, or digit, except the last character, which + * cannot be a dash. + */ + name?: string; + /** + * The URL of the network to which this subnetwork belongs, provided by the + * client when initially creating the subnetwork. Only networks that are in + * the distributed mode can have subnetworks. This field can be set only at + * resource creation time. + */ + network?: string; + /** + * Whether the VMs in this subnet can access Google services without + * assigned external IP addresses. This field can be both set at resource + * creation time and updated using setPrivateIpGoogleAccess. + */ + privateIpGoogleAccess?: boolean; + /** + * The purpose of the resource. This field can be either PRIVATE_RFC_1918 or + * INTERNAL_HTTPS_LOAD_BALANCER. A subnetwork with purpose set to + * INTERNAL_HTTPS_LOAD_BALANCER is a user-created subnetwork that is + * reserved for Internal HTTP(S) Load Balancing. If unspecified, the purpose + * defaults to PRIVATE_RFC_1918. + */ + purpose?: string; + /** + * URL of the region where the Subnetwork resides. This field can be set + * only at resource creation time. + */ + region?: string; + /** + * The role of subnetwork. Currenly, this field is only used when purpose = + * INTERNAL_HTTPS_LOAD_BALANCER. The value can be set to ACTIVE or BACKUP. + * An ACTIVE subnetwork is one that is currently being used for Internal + * HTTP(S) Load Balancing. A BACKUP subnetwork is one that is ready to be + * promoted to ACTIVE or is currently draining. + */ + role?: string; + /** + * An array of configurations for secondary IP ranges for VM instances + * contained in this subnetwork. The primary IP of such VM must belong to + * the primary ipCidrRange of the subnetwork. The alias IPs may belong to + * either primary or secondary ranges. + */ + secondaryIpRanges?: Schema$SubnetworkSecondaryRange[]; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] The state of the subnetwork, which can be one of READY or + * DRAINING. A subnetwork that is READY is ready to be used. The state of + * DRAINING is only applicable to subnetworks that have the purpose set to + * INTERNAL_HTTPS_LOAD_BALANCER and indicates that connections to the load + * balancer are being drained. A subnetwork that is draining cannot be used + * or modified until it reaches a status of READY. + */ + state?: string; + } + interface Schema$SubnetworkAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of SubnetworksScopedList resources. + */ + items?: any; + /** + * [Output Only] Type of resource. Always compute#subnetworkAggregatedList + * for aggregated lists of subnetworks. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of Subnetwork resources. + */ + interface Schema$SubnetworkList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Subnetwork resources. + */ + items?: Schema$Subnetwork[]; + /** + * [Output Only] Type of resource. Always compute#subnetworkList for lists + * of subnetworks. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Represents a secondary IP range of a subnetwork. + */ + interface Schema$SubnetworkSecondaryRange { + /** + * The range of IP addresses belonging to this subnetwork secondary range. + * Provide this property when you create the subnetwork. Ranges must be + * unique and non-overlapping with all primary and secondary IP ranges + * within a network. Only IPv4 is supported. + */ + ipCidrRange?: string; + /** + * The name associated with this subnetwork secondary range, used when + * adding an alias IP range to a VM instance. The name must be 1-63 + * characters long, and comply with RFC1035. The name must be unique within + * the subnetwork. + */ + rangeName?: string; + } + interface Schema$SubnetworksExpandIpCidrRangeRequest { + /** + * The IP (in CIDR format or netmask) of internal addresses that are legal + * on this Subnetwork. This range should be disjoint from other subnetworks + * within this network. This range can only be larger than (i.e. a superset + * of) the range previously defined before the update. + */ + ipCidrRange?: string; + } + interface Schema$SubnetworksScopedList { + /** + * A list of subnetworks contained in this scope. + */ + subnetworks?: Schema$Subnetwork[]; + /** + * An informational warning that appears when the list of addresses is + * empty. + */ + warning?: any; + } + interface Schema$SubnetworksSetPrivateIpGoogleAccessRequest { + privateIpGoogleAccess?: boolean; + } + /** + * A set of instance tags. + */ + interface Schema$Tags { + /** + * Specifies a fingerprint for this request, which is essentially a hash of + * the tags' contents and used for optimistic locking. The fingerprint + * is initially generated by Compute Engine and changes after every request + * to modify or update tags. You must always provide an up-to-date + * fingerprint hash in order to update or change tags. To see the latest + * fingerprint, make get() request to the instance. + */ + fingerprint?: string; + /** + * An array of tags. Each tag must be 1-63 characters long, and comply with + * RFC1035. + */ + items?: string[]; + } + interface Schema$TargetHttpProxiesScopedList { + /** + * A list of TargetHttpProxies contained in this scope. + */ + targetHttpProxies?: Schema$TargetHttpProxy[]; + /** + * Informational warning which replaces the list of backend services when + * the list is empty. + */ + warning?: any; + } + /** + * A TargetHttpProxy resource. This resource defines an HTTP proxy. (== + * resource_for beta.targetHttpProxies ==) (== resource_for + * v1.targetHttpProxies ==) + */ + interface Schema$TargetHttpProxy { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of resource. Always compute#targetHttpProxy for target + * HTTP proxies. + */ + kind?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * [Output Only] URL of the region where the regional Target HTTP Proxy + * resides. This field is not applicable to global Target HTTP Proxies. + */ + region?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * URL to the UrlMap resource that defines the mapping from URL to the + * BackendService. + */ + urlMap?: string; + } + interface Schema$TargetHttpProxyAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of TargetHttpProxiesScopedList resources. + */ + items?: any; + /** + * [Output Only] Type of resource. Always + * compute#targetHttpProxyAggregatedList for lists of Target HTTP Proxies. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * A list of TargetHttpProxy resources. + */ + interface Schema$TargetHttpProxyList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of TargetHttpProxy resources. + */ + items?: Schema$TargetHttpProxy[]; + /** + * Type of resource. Always compute#targetHttpProxyList for lists of target + * HTTP proxies. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$TargetHttpsProxiesScopedList { + /** + * A list of TargetHttpsProxies contained in this scope. + */ + targetHttpsProxies?: Schema$TargetHttpsProxy[]; + /** + * Informational warning which replaces the list of backend services when + * the list is empty. + */ + warning?: any; + } + interface Schema$TargetHttpsProxiesSetQuicOverrideRequest { + /** + * QUIC policy for the TargetHttpsProxy resource. + */ + quicOverride?: string; + } + interface Schema$TargetHttpsProxiesSetSslCertificatesRequest { + /** + * New set of SslCertificate resources to associate with this + * TargetHttpsProxy resource. Currently exactly one SslCertificate resource + * must be specified. + */ + sslCertificates?: string[]; + } + /** + * A TargetHttpsProxy resource. This resource defines an HTTPS proxy. (== + * resource_for beta.targetHttpsProxies ==) (== resource_for + * v1.targetHttpsProxies ==) + */ + interface Schema$TargetHttpsProxy { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of resource. Always compute#targetHttpsProxy for + * target HTTPS proxies. + */ + kind?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * Specifies the QUIC override policy for this TargetHttpsProxy resource. + * This determines whether the load balancer will attempt to negotiate QUIC + * with clients or not. Can specify one of NONE, ENABLE, or DISABLE. Specify + * ENABLE to always enable QUIC, Enables QUIC when set to ENABLE, and + * disables QUIC when set to DISABLE. If NONE is specified, uses the QUIC + * policy with no user overrides, which is equivalent to DISABLE. Not + * specifying this field is equivalent to specifying NONE. + */ + quicOverride?: string; + /** + * [Output Only] URL of the region where the regional TargetHttpsProxy + * resides. This field is not applicable to global TargetHttpsProxies. + */ + region?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * URLs to SslCertificate resources that are used to authenticate + * connections between users and the load balancer. Currently, exactly one + * SSL certificate must be specified. + */ + sslCertificates?: string[]; + /** + * URL of SslPolicy resource that will be associated with the + * TargetHttpsProxy resource. If not set, the TargetHttpsProxy resource will + * not have any SSL policy configured. + */ + sslPolicy?: string; + /** + * A fully-qualified or valid partial URL to the UrlMap resource that + * defines the mapping from URL to the BackendService. For example, the + * following are all valid URLs for specifying a URL map: - + * https://www.googleapis.compute/v1/projects/project/global/urlMaps/url-map + * - projects/project/global/urlMaps/url-map - global/urlMaps/url-map + */ + urlMap?: string; + } + interface Schema$TargetHttpsProxyAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of TargetHttpsProxiesScopedList resources. + */ + items?: any; + /** + * [Output Only] Type of resource. Always + * compute#targetHttpsProxyAggregatedList for lists of Target HTTP Proxies. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of TargetHttpsProxy resources. + */ + interface Schema$TargetHttpsProxyList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of TargetHttpsProxy resources. + */ + items?: Schema$TargetHttpsProxy[]; + /** + * Type of resource. Always compute#targetHttpsProxyList for lists of target + * HTTPS proxies. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * A TargetInstance resource. This resource defines an endpoint instance that + * terminates traffic of certain protocols. (== resource_for + * beta.targetInstances ==) (== resource_for v1.targetInstances ==) + */ + interface Schema$TargetInstance { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * A URL to the virtual machine instance that handles traffic for this + * target instance. When creating a target instance, you can provide the + * fully-qualified URL or a valid partial URL to the desired virtual + * machine. For example, the following are all valid URLs: - + * https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/instance + * - projects/project/zones/zone/instances/instance - + * zones/zone/instances/instance + */ + instance?: string; + /** + * [Output Only] The type of the resource. Always compute#targetInstance for + * target instances. + */ + kind?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * NAT option controlling how IPs are NAT'ed to the instance. Currently + * only NO_NAT (default value) is supported. + */ + natPolicy?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] URL of the zone where the target instance resides. You must + * specify this field as part of the HTTP request URL. It is not settable as + * a field in the request body. + */ + zone?: string; + } + interface Schema$TargetInstanceAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of TargetInstance resources. + */ + items?: any; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of TargetInstance resources. + */ + interface Schema$TargetInstanceList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of TargetInstance resources. + */ + items?: Schema$TargetInstance[]; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$TargetInstancesScopedList { + /** + * A list of target instances contained in this scope. + */ + targetInstances?: Schema$TargetInstance[]; + /** + * Informational warning which replaces the list of addresses when the list + * is empty. + */ + warning?: any; + } + /** + * A TargetPool resource. This resource defines a pool of instances, an + * associated HttpHealthCheck resource, and the fallback target pool. (== + * resource_for beta.targetPools ==) (== resource_for v1.targetPools ==) + */ + interface Schema$TargetPool { + /** + * This field is applicable only when the containing target pool is serving + * a forwarding rule as the primary pool, and its failoverRatio field is + * properly set to a value between [0, 1]. backupPool and failoverRatio + * together define the fallback behavior of the primary target pool: if the + * ratio of the healthy instances in the primary pool is at or below + * failoverRatio, traffic arriving at the load-balanced IP will be directed + * to the backup pool. In case where failoverRatio and backupPool are not + * set, or all the instances in the backup pool are unhealthy, the traffic + * will be directed back to the primary pool in the "force" mode, + * where traffic will be spread to the healthy instances with the best + * effort, or to all instances when no instance is healthy. + */ + backupPool?: string; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * This field is applicable only when the containing target pool is serving + * a forwarding rule as the primary pool (i.e., not as a backup pool to some + * other target pool). The value of the field must be in [0, 1]. If set, + * backupPool must also be set. They together define the fallback behavior + * of the primary target pool: if the ratio of the healthy instances in the + * primary pool is at or below this number, traffic arriving at the + * load-balanced IP will be directed to the backup pool. In case where + * failoverRatio is not set or all the instances in the backup pool are + * unhealthy, the traffic will be directed back to the primary pool in the + * "force" mode, where traffic will be spread to the healthy + * instances with the best effort, or to all instances when no instance is + * healthy. + */ + failoverRatio?: number; + /** + * The URL of the HttpHealthCheck resource. A member instance in this pool + * is considered healthy if and only if the health checks pass. An empty + * list means all member instances will be considered healthy at all times. + * Only HttpHealthChecks are supported. Only one health check may be + * specified. + */ + healthChecks?: string[]; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * A list of resource URLs to the virtual machine instances serving this + * pool. They must live in zones contained in the same region as this pool. + */ + instances?: string[]; + /** + * [Output Only] Type of the resource. Always compute#targetPool for target + * pools. + */ + kind?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * [Output Only] URL of the region where the target pool resides. + */ + region?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * Sesssion affinity option, must be one of the following values: NONE: + * Connections from the same client IP may go to any instance in the pool. + * CLIENT_IP: Connections from the same client IP will go to the same + * instance in the pool while that instance remains healthy. + * CLIENT_IP_PROTO: Connections from the same client IP with the same IP + * protocol will go to the same instance in the pool while that instance + * remains healthy. + */ + sessionAffinity?: string; + } + interface Schema$TargetPoolAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of TargetPool resources. + */ + items?: any; + /** + * [Output Only] Type of resource. Always compute#targetPoolAggregatedList + * for aggregated lists of target pools. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$TargetPoolInstanceHealth { + healthStatus?: Schema$HealthStatus[]; + /** + * [Output Only] Type of resource. Always compute#targetPoolInstanceHealth + * when checking the health of an instance. + */ + kind?: string; + } + /** + * Contains a list of TargetPool resources. + */ + interface Schema$TargetPoolList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of TargetPool resources. + */ + items?: Schema$TargetPool[]; + /** + * [Output Only] Type of resource. Always compute#targetPoolList for lists + * of target pools. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$TargetPoolsAddHealthCheckRequest { + /** + * The HttpHealthCheck to add to the target pool. + */ + healthChecks?: Schema$HealthCheckReference[]; + } + interface Schema$TargetPoolsAddInstanceRequest { + /** + * A full or partial URL to an instance to add to this target pool. This can + * be a full or partial URL. For example, the following are valid URLs: - + * https://www.googleapis.com/compute/v1/projects/project-id/zones/zone/instances/instance-name + * - projects/project-id/zones/zone/instances/instance-name - + * zones/zone/instances/instance-name + */ + instances?: Schema$InstanceReference[]; + } + interface Schema$TargetPoolsRemoveHealthCheckRequest { + /** + * Health check URL to be removed. This can be a full or valid partial URL. + * For example, the following are valid URLs: - + * https://www.googleapis.com/compute/beta/projects/project/global/httpHealthChecks/health-check + * - projects/project/global/httpHealthChecks/health-check - + * global/httpHealthChecks/health-check + */ + healthChecks?: Schema$HealthCheckReference[]; + } + interface Schema$TargetPoolsRemoveInstanceRequest { + /** + * URLs of the instances to be removed from target pool. + */ + instances?: Schema$InstanceReference[]; + } + interface Schema$TargetPoolsScopedList { + /** + * A list of target pools contained in this scope. + */ + targetPools?: Schema$TargetPool[]; + /** + * Informational warning which replaces the list of addresses when the list + * is empty. + */ + warning?: any; + } + interface Schema$TargetReference { + target?: string; + } + interface Schema$TargetSslProxiesSetBackendServiceRequest { + /** + * The URL of the new BackendService resource for the targetSslProxy. + */ + service?: string; + } + interface Schema$TargetSslProxiesSetProxyHeaderRequest { + /** + * The new type of proxy header to append before sending data to the + * backend. NONE or PROXY_V1 are allowed. + */ + proxyHeader?: string; + } + interface Schema$TargetSslProxiesSetSslCertificatesRequest { + /** + * New set of URLs to SslCertificate resources to associate with this + * TargetSslProxy. Currently exactly one ssl certificate must be specified. + */ + sslCertificates?: string[]; + } + /** + * A TargetSslProxy resource. This resource defines an SSL proxy. (== + * resource_for beta.targetSslProxies ==) (== resource_for v1.targetSslProxies + * ==) + */ + interface Schema$TargetSslProxy { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of the resource. Always compute#targetSslProxy for + * target SSL proxies. + */ + kind?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * Specifies the type of proxy header to append before sending data to the + * backend, either NONE or PROXY_V1. The default is NONE. + */ + proxyHeader?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * URL to the BackendService resource. + */ + service?: string; + /** + * URLs to SslCertificate resources that are used to authenticate + * connections to Backends. Currently exactly one SSL certificate must be + * specified. + */ + sslCertificates?: string[]; + /** + * URL of SslPolicy resource that will be associated with the TargetSslProxy + * resource. If not set, the TargetSslProxy resource will not have any SSL + * policy configured. + */ + sslPolicy?: string; + } + /** + * Contains a list of TargetSslProxy resources. + */ + interface Schema$TargetSslProxyList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of TargetSslProxy resources. + */ + items?: Schema$TargetSslProxy[]; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$TargetTcpProxiesSetBackendServiceRequest { + /** + * The URL of the new BackendService resource for the targetTcpProxy. + */ + service?: string; + } + interface Schema$TargetTcpProxiesSetProxyHeaderRequest { + /** + * The new type of proxy header to append before sending data to the + * backend. NONE or PROXY_V1 are allowed. + */ + proxyHeader?: string; + } + /** + * A TargetTcpProxy resource. This resource defines a TCP proxy. (== + * resource_for beta.targetTcpProxies ==) (== resource_for v1.targetTcpProxies + * ==) + */ + interface Schema$TargetTcpProxy { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of the resource. Always compute#targetTcpProxy for + * target TCP proxies. + */ + kind?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * Specifies the type of proxy header to append before sending data to the + * backend, either NONE or PROXY_V1. The default is NONE. + */ + proxyHeader?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * URL to the BackendService resource. + */ + service?: string; + } + /** + * Contains a list of TargetTcpProxy resources. + */ + interface Schema$TargetTcpProxyList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of TargetTcpProxy resources. + */ + items?: Schema$TargetTcpProxy[]; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Represents a Target VPN gateway resource. (== resource_for + * beta.targetVpnGateways ==) (== resource_for v1.targetVpnGateways ==) + */ + interface Schema$TargetVpnGateway { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] A list of URLs to the ForwardingRule resources. + * ForwardingRules are created using compute.forwardingRules.insert and + * associated to a VPN gateway. + */ + forwardingRules?: string[]; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of resource. Always compute#targetVpnGateway for + * target VPN gateways. + */ + kind?: string; + /** + * A fingerprint for the labels being applied to this TargetVpnGateway, + * which is essentially a hash of the labels set used for optimistic + * locking. The fingerprint is initially generated by Compute Engine and + * changes after every request to modify or update labels. You must always + * provide an up-to-date fingerprint hash in order to update or change + * labels. To see the latest fingerprint, make a get() request to retrieve + * a TargetVpnGateway. + */ + labelFingerprint?: string; + /** + * Labels to apply to this TargetVpnGateway resource. These can be later + * modified by the setLabels method. Each label key/value must comply with + * RFC1035. Label values may be empty. + */ + labels?: any; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * URL of the network to which this VPN gateway is attached. Provided by the + * client when the VPN gateway is created. + */ + network?: string; + /** + * [Output Only] URL of the region where the target VPN gateway resides. You + * must specify this field as part of the HTTP request URL. It is not + * settable as a field in the request body. + */ + region?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] The status of the VPN gateway. + */ + status?: string; + /** + * [Output Only] A list of URLs to VpnTunnel resources. VpnTunnels are + * created using compute.vpntunnels.insert method and associated to a VPN + * gateway. + */ + tunnels?: string[]; + } + interface Schema$TargetVpnGatewayAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of TargetVpnGateway resources. + */ + items?: any; + /** + * [Output Only] Type of resource. Always compute#targetVpnGateway for + * target VPN gateways. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of TargetVpnGateway resources. + */ + interface Schema$TargetVpnGatewayList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of TargetVpnGateway resources. + */ + items?: Schema$TargetVpnGateway[]; + /** + * [Output Only] Type of resource. Always compute#targetVpnGateway for + * target VPN gateways. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$TargetVpnGatewaysScopedList { + /** + * [Output Only] A list of target vpn gateways contained in this scope. + */ + targetVpnGateways?: Schema$TargetVpnGateway[]; + /** + * [Output Only] Informational warning which replaces the list of addresses + * when the list is empty. + */ + warning?: any; + } + interface Schema$TCPHealthCheck { + /** + * The TCP port number for the health check request. The default value + * is 80. Valid values are 1 through 65535. + */ + port?: number; + /** + * Port name as defined in InstanceGroup#NamedPort#name. If both port and + * port_name are defined, port takes precedence. + */ + portName?: string; + /** + * Specifies how port is selected for health checking, can be one of + * following values: USE_FIXED_PORT: The port number in port is used for + * health checking. USE_NAMED_PORT: The portName is used for health + * checking. USE_SERVING_PORT: For NetworkEndpointGroup, the port specified + * for each network endpoint is used for health checking. For other + * backends, the port or named port specified in the Backend Service is used + * for health checking. If not specified, TCP health check follows + * behavior specified in port and portName fields. + */ + portSpecification?: string; + /** + * Specifies the type of proxy header to append before sending data to the + * backend, either NONE or PROXY_V1. The default is NONE. + */ + proxyHeader?: string; + /** + * The application data to send once the TCP connection has been established + * (default value is empty). If both request and response are empty, the + * connection establishment alone will indicate health. The request data can + * only be ASCII. + */ + request?: string; + /** + * The bytes to match against the beginning of the response data. If left + * empty (the default value), any response will indicate health. The + * response data can only be ASCII. + */ + response?: string; + } + interface Schema$TestFailure { + actualService?: string; + expectedService?: string; + host?: string; + path?: string; + } + interface Schema$TestPermissionsRequest { + /** + * The set of permissions to check for the 'resource'. Permissions + * with wildcards (such as '*' or 'storage.*') are not + * allowed. + */ + permissions?: string[]; + } + interface Schema$TestPermissionsResponse { + /** + * A subset of `TestPermissionsRequest.permissions` that the caller is + * allowed. + */ + permissions?: string[]; + } + interface Schema$UDPHealthCheck { + /** + * The UDP port number for the health check request. Valid values are 1 + * through 65535. + */ + port?: number; + /** + * Port name as defined in InstanceGroup#NamedPort#name. If both port and + * port_name are defined, port takes precedence. + */ + portName?: string; + /** + * Raw data of request to send in payload of UDP packet. It is an error if + * this is empty. The request data can only be ASCII. + */ + request?: string; + /** + * The bytes to match against the beginning of the response data. It is an + * error if this is empty. The response data can only be ASCII. + */ + response?: string; + } + /** + * A UrlMap resource. This resource defines the mapping from URL to the + * BackendService resource, based on the "longest-match" of the + * URL's host and path. + */ + interface Schema$UrlMap { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * The URL of the BackendService resource if none of the hostRules match. + */ + defaultService?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * Fingerprint of this resource. A hash of the contents stored in this + * object. This field is used in optimistic locking. This field will be + * ignored when inserting a UrlMap. An up-to-date fingerprint must be + * provided in order to update the UrlMap. To see the latest fingerprint, + * make a get() request to retrieve a UrlMap. + */ + fingerprint?: string; + /** + * The list of HostRules to use against the URL. + */ + hostRules?: Schema$HostRule[]; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of the resource. Always compute#urlMaps for url maps. + */ + kind?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * The list of named PathMatchers to use against the URL. + */ + pathMatchers?: Schema$PathMatcher[]; + /** + * [Output Only] URL of the region where the regional URL map resides. This + * field is not applicable to global URL maps. You must specify this field + * as part of the HTTP request URL. It is not settable as a field in the + * request body. + */ + region?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * The list of expected URL mapping tests. Request to update this UrlMap + * will succeed only if all of the test cases pass. You can specify a + * maximum of 100 tests per UrlMap. + */ + tests?: Schema$UrlMapTest[]; + } + /** + * Contains a list of UrlMap resources. + */ + interface Schema$UrlMapList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of UrlMap resources. + */ + items?: Schema$UrlMap[]; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$UrlMapReference { + urlMap?: string; + } + interface Schema$UrlMapsAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of UrlMapsScopedList resources. + */ + items?: any; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$UrlMapsScopedList { + /** + * A list of UrlMaps contained in this scope. + */ + urlMaps?: Schema$UrlMap[]; + /** + * Informational warning which replaces the list of backend services when + * the list is empty. + */ + warning?: any; + } + interface Schema$UrlMapsValidateRequest { + /** + * Content of the UrlMap to be validated. + */ + resource?: Schema$UrlMap; + } + interface Schema$UrlMapsValidateResponse { + result?: Schema$UrlMapValidationResult; + } + /** + * Message for the expected URL mappings. + */ + interface Schema$UrlMapTest { + /** + * Description of this test case. + */ + description?: string; + /** + * Host portion of the URL. + */ + host?: string; + /** + * Path portion of the URL. + */ + path?: string; + /** + * Expected BackendService resource the given URL should be mapped to. + */ + service?: string; + } + /** + * Message representing the validation result for a UrlMap. + */ + interface Schema$UrlMapValidationResult { + loadErrors?: string[]; + /** + * Whether the given UrlMap can be successfully loaded. If false, + * 'loadErrors' indicates the reasons. + */ + loadSucceeded?: boolean; + testFailures?: Schema$TestFailure[]; + /** + * If successfully loaded, this field indicates whether the test passed. If + * false, 'testFailures's indicate the reason of failure. + */ + testPassed?: boolean; + } + /** + * Subnetwork which the current user has compute.subnetworks.use permission + * on. + */ + interface Schema$UsableSubnetwork { + /** + * The range of internal addresses that are owned by this subnetwork. + */ + ipCidrRange?: string; + /** + * Network URL. + */ + network?: string; + /** + * Secondary IP ranges. + */ + secondaryIpRanges?: Schema$UsableSubnetworkSecondaryRange[]; + /** + * Subnetwork URL. + */ + subnetwork?: string; + } + interface Schema$UsableSubnetworksAggregatedList { + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output] A list of usable subnetwork URLs. + */ + items?: Schema$UsableSubnetwork[]; + /** + * [Output Only] Type of resource. Always + * compute#usableSubnetworksAggregatedList for aggregated lists of usable + * subnetworks. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Secondary IP range of a usable subnetwork. + */ + interface Schema$UsableSubnetworkSecondaryRange { + /** + * The range of IP addresses belonging to this subnetwork secondary range. + */ + ipCidrRange?: string; + /** + * The name associated with this subnetwork secondary range, used when + * adding an alias IP range to a VM instance. The name must be 1-63 + * characters long, and comply with RFC1035. The name must be unique within + * the subnetwork. + */ + rangeName?: string; + } + /** + * The location in Cloud Storage and naming method of the daily usage report. + * Contains bucket_name and report_name prefix. + */ + interface Schema$UsageExportLocation { + /** + * The name of an existing bucket in Cloud Storage where the usage report + * object is stored. The Google Service Account is granted write access to + * this bucket. This can either be the bucket name by itself, such as + * example-bucket, or the bucket name with gs:// or + * https://storage.googleapis.com/ in front of it, such as + * gs://example-bucket. + */ + bucketName?: string; + /** + * An optional prefix for the name of the usage report object stored in + * bucketName. If not supplied, defaults to usage. The report is stored as a + * CSV file named report_name_prefix_gce_YYYYMMDD.csv where YYYYMMDD is the + * day of the usage according to Pacific Time. If you supply a prefix, it + * should conform to Cloud Storage object naming conventions. + */ + reportNamePrefix?: string; + } + /** + * Contain information of Nat mapping for a VM endpoint (i.e., NIC). + */ + interface Schema$VmEndpointNatMappings { + /** + * Name of the VM instance which the endpoint belongs to + */ + instanceName?: string; + interfaceNatMappings?: Schema$VmEndpointNatMappingsInterfaceNatMappings[]; + } + /** + * Contain information of Nat mapping for an interface of this endpoint. + */ + interface Schema$VmEndpointNatMappingsInterfaceNatMappings { + /** + * A list of all IP:port-range mappings assigned to this interface. These + * ranges are inclusive, that is, both the first and the last ports can be + * used for NAT. Example: ["2.2.2.2:12345-12355", + * "1.1.1.1:2234-2234"]. + */ + natIpPortRanges?: string[]; + /** + * Total number of ports across all NAT IPs allocated to this interface. It + * equals to the aggregated port number in the field nat_ip_port_ranges. + */ + numTotalNatPorts?: number; + /** + * Alias IP range for this interface endpoint. It will be a private (RFC + * 1918) IP range. Examples: "10.33.4.55/32", or + * "192.168.5.0/24". + */ + sourceAliasIpRange?: string; + /** + * Primary IP of the VM for this NIC. + */ + sourceVirtualIp?: string; + } + /** + * Contains a list of VmEndpointNatMappings. + */ + interface Schema$VmEndpointNatMappingsList { + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of resource. Always compute#vmEndpointNatMappingsList + * for lists of Nat mappings of VM endpoints. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] A list of Nat mapping information of VM endpoints. + */ + result?: Schema$VmEndpointNatMappings[]; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Represents a VPN gateway resource. + */ + interface Schema$VpnGateway { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of resource. Always compute#vpnGateway for VPN + * gateways. + */ + kind?: string; + /** + * A fingerprint for the labels being applied to this VpnGateway, which is + * essentially a hash of the labels set used for optimistic locking. The + * fingerprint is initially generated by Compute Engine and changes after + * every request to modify or update labels. You must always provide an + * up-to-date fingerprint hash in order to update or change labels. To see + * the latest fingerprint, make a get() request to retrieve an VpnGateway. + */ + labelFingerprint?: string; + /** + * Labels to apply to this VpnGateway resource. These can be later modified + * by the setLabels method. Each label key/value must comply with RFC1035. + * Label values may be empty. + */ + labels?: any; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * URL of the network to which this VPN gateway is attached. Provided by the + * client when the VPN gateway is created. + */ + network?: string; + /** + * [Output Only] URL of the region where the VPN gateway resides. + */ + region?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] A list of interfaces on this VPN gateway. + */ + vpnInterfaces?: Schema$VpnGatewayVpnGatewayInterface[]; + } + interface Schema$VpnGatewayAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of VpnGateway resources. + */ + items?: any; + /** + * [Output Only] Type of resource. Always compute#vpnGateway for VPN + * gateways. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of VpnGateway resources. + */ + interface Schema$VpnGatewayList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of VpnGateway resources. + */ + items?: Schema$VpnGateway[]; + /** + * [Output Only] Type of resource. Always compute#vpnGateway for VPN + * gateways. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$VpnGatewaysScopedList { + /** + * [Output Only] A list of VPN gateways contained in this scope. + */ + vpnGateways?: Schema$VpnGateway[]; + /** + * [Output Only] Informational warning which replaces the list of addresses + * when the list is empty. + */ + warning?: any; + } + /** + * A VPN gateway interface. + */ + interface Schema$VpnGatewayVpnGatewayInterface { + /** + * The numeric ID of this VPN gateway interface. + */ + id?: number; + /** + * The external IP address for this VPN gateway interface. + */ + ipAddress?: string; + } + /** + * VPN tunnel resource. (== resource_for beta.vpnTunnels ==) (== resource_for + * v1.vpnTunnels ==) + */ + interface Schema$VpnTunnel { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] Detailed status message for the VPN tunnel. + */ + detailedStatus?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * IKE protocol version to use when establishing the VPN tunnel with peer + * VPN gateway. Acceptable IKE versions are 1 or 2. Default version is 2. + */ + ikeVersion?: number; + /** + * [Output Only] Type of resource. Always compute#vpnTunnel for VPN tunnels. + */ + kind?: string; + /** + * A fingerprint for the labels being applied to this VpnTunnel, which is + * essentially a hash of the labels set used for optimistic locking. The + * fingerprint is initially generated by Compute Engine and changes after + * every request to modify or update labels. You must always provide an + * up-to-date fingerprint hash in order to update or change labels. To see + * the latest fingerprint, make a get() request to retrieve a VpnTunnel. + */ + labelFingerprint?: string; + /** + * Labels to apply to this VpnTunnel. These can be later modified by the + * setLabels method. Each label key/value pair must comply with RFC1035. + * Label values may be empty. + */ + labels?: any; + /** + * Local traffic selector to use when establishing the VPN tunnel with peer + * VPN gateway. The value should be a CIDR formatted string, for example: + * 192.168.0.0/16. The ranges should be disjoint. Only IPv4 is supported. + */ + localTrafficSelector?: string[]; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * IP address of the peer VPN gateway. Only IPv4 is supported. + */ + peerIp?: string; + /** + * [Output Only] URL of the region where the VPN tunnel resides. You must + * specify this field as part of the HTTP request URL. It is not settable as + * a field in the request body. + */ + region?: string; + /** + * Remote traffic selectors to use when establishing the VPN tunnel with + * peer VPN gateway. The value should be a CIDR formatted string, for + * example: 192.168.0.0/16. The ranges should be disjoint. Only IPv4 is + * supported. + */ + remoteTrafficSelector?: string[]; + /** + * URL of router resource to be used for dynamic routing. + */ + router?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * Shared secret used to set the secure session between the Cloud VPN + * gateway and the peer VPN gateway. + */ + sharedSecret?: string; + /** + * Hash of the shared secret. + */ + sharedSecretHash?: string; + /** + * [Output Only] The status of the VPN tunnel. + */ + status?: string; + /** + * URL of the Target VPN gateway with which this VPN tunnel is associated. + * Provided by the client when the VPN tunnel is created. + */ + targetVpnGateway?: string; + /** + * URL of the VPN gateway with which this VPN tunnel is associated. Provided + * by the client when the VPN tunnel is created. This must be used (instead + * of target_vpn_gateway) if a High Availability VPN gateway resource is + * created. + */ + vpnGateway?: string; + /** + * The interface ID of the VPN gateway with which this VPN tunnel is + * associated. + */ + vpnGatewayInterface?: number; + } + interface Schema$VpnTunnelAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of VpnTunnelsScopedList resources. + */ + items?: any; + /** + * [Output Only] Type of resource. Always compute#vpnTunnel for VPN tunnels. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of VpnTunnel resources. + */ + interface Schema$VpnTunnelList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of VpnTunnel resources. + */ + items?: Schema$VpnTunnel[]; + /** + * [Output Only] Type of resource. Always compute#vpnTunnel for VPN tunnels. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$VpnTunnelsScopedList { + /** + * A list of vpn tunnels contained in this scope. + */ + vpnTunnels?: Schema$VpnTunnel[]; + /** + * Informational warning which replaces the list of addresses when the list + * is empty. + */ + warning?: any; + } + interface Schema$WafExpressionSet { + /** + * A list of alternate IDs. The format should be: - E.g. XSS-stable Generic + * suffix like "stable" is particularly useful if a policy likes + * to avail newer set of expressions without having to change the policy. A + * given alias name can't be used for more than one entity set. + */ + aliases?: string[]; + /** + * List of available expressions. + */ + expressions?: Schema$WafExpressionSetExpression[]; + /** + * Google specified expression set ID. The format should be: - E.g. + * XSS-20170329 + */ + id?: string; + } + interface Schema$WafExpressionSetExpression { + /** + * Expression ID should uniquely identify the origin of the expression. E.g. + * owasp-crs-v020901-id973337 identifies Owasp core rule set version 2.9.1 + * rule id 973337. The ID could be used to determine the individual attack + * definition that has been detected. It could also be used to exclude it + * from the policy in case of false positive. + */ + id?: string; + } + interface Schema$XpnHostList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * [Output Only] A list of shared VPC host project URLs. + */ + items?: Schema$Project[]; + /** + * [Output Only] Type of resource. Always compute#xpnHostList for lists of + * shared VPC hosts. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Service resource (a.k.a service project) ID. + */ + interface Schema$XpnResourceId { + /** + * The ID of the service resource. In the case of projects, this field + * matches the project ID (e.g., my-project), not the project number (e.g., + * 12345678). + */ + id?: string; + /** + * The type of the service resource. + */ + type?: string; + } + /** + * A Zone resource. (== resource_for beta.zones ==) (== resource_for v1.zones + * ==) + */ + interface Schema$Zone { + /** + * [Output Only] Available cpu/platform selections for the zone. + */ + availableCpuPlatforms?: string[]; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * [Output Only] The deprecation status associated with this zone. + */ + deprecated?: Schema$DeprecationStatus; + /** + * [Output Only] Textual description of the resource. + */ + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of the resource. Always compute#zone for zones. + */ + kind?: string; + /** + * [Output Only] Name of the resource. + */ + name?: string; + /** + * [Output Only] Full URL reference to the region which hosts the zone. + */ + region?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] Status of the zone, either UP or DOWN. + */ + status?: string; + } + /** + * Contains a list of zone resources. + */ + interface Schema$ZoneList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Zone resources. + */ + items?: Schema$Zone[]; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$ZoneSetLabelsRequest { + /** + * The fingerprint of the previous set of labels for this resource, used to + * detect conflicts. The fingerprint is initially generated by Compute + * Engine and changes after every request to modify or update labels. You + * must always provide an up-to-date fingerprint hash in order to update or + * change labels. Make a get() request to the resource to get the latest + * fingerprint. + */ + labelFingerprint?: string; + /** + * The labels to set for this resource. + */ + labels?: any; + } + interface Schema$ZoneSetPolicyRequest { + /** + * Flatten Policy to create a backwacd compatible wire-format. Deprecated. + * Use 'policy' to specify bindings. + */ + bindings?: Schema$Binding[]; + /** + * Flatten Policy to create a backward compatible wire-format. Deprecated. + * Use 'policy' to specify the etag. + */ + etag?: string; + /** + * REQUIRED: The complete policy to be applied to the 'resource'. + * The size of the policy is limited to a few 10s of KB. An empty policy is + * in general a valid policy but certain services (like Projects) might + * reject them. + */ + policy?: Schema$Policy; + } + class Resource$Acceleratortypes { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.acceleratorTypes.aggregatedList + * @desc Retrieves an aggregated list of accelerator types. + * @alias compute.acceleratorTypes.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Acceleratortypes$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Acceleratortypes$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Acceleratortypes$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.acceleratorTypes.get + * @desc Returns the specified accelerator type. + * @alias compute.acceleratorTypes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.acceleratorType Name of the accelerator type to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone for this request. + * @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?: Params$Resource$Acceleratortypes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Acceleratortypes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Acceleratortypes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.acceleratorTypes.list + * @desc Retrieves a list of accelerator types available to the specified + * project. + * @alias compute.acceleratorTypes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone for this request. + * @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?: Params$Resource$Acceleratortypes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Acceleratortypes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Acceleratortypes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Acceleratortypes$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Acceleratortypes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the accelerator type to return. + */ + acceleratorType?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Acceleratortypes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + class Resource$Addresses { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.addresses.aggregatedList + * @desc Retrieves an aggregated list of addresses. + * @alias compute.addresses.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Addresses$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Addresses$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Addresses$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.addresses.delete + * @desc Deletes the specified address resource. + * @alias compute.addresses.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.address Name of the address resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Addresses$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Addresses$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Addresses$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.addresses.get + * @desc Returns the specified address resource. + * @alias compute.addresses.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.address Name of the address resource to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @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?: Params$Resource$Addresses$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Addresses$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Addresses$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.addresses.insert + * @desc Creates an address resource in the specified project using the data + * included in the request. + * @alias compute.addresses.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Address} 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?: Params$Resource$Addresses$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Addresses$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Addresses$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.addresses.list + * @desc Retrieves a list of addresses contained within the specified + * region. + * @alias compute.addresses.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @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?: Params$Resource$Addresses$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Addresses$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Addresses$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.addresses.setLabels + * @desc Sets the labels on an Address. To learn more about labels, read the + * Labeling Resources documentation. + * @alias compute.addresses.setLabels + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.resource_ Name of the resource for this request. + * @param {().RegionSetLabelsRequest} 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 + */ + setLabels(params?: Params$Resource$Addresses$Setlabels, options?: MethodOptions): AxiosPromise; + setLabels(params: Params$Resource$Addresses$Setlabels, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setLabels(params: Params$Resource$Addresses$Setlabels, callback: BodyResponseCallback): void; + setLabels(callback: BodyResponseCallback): void; + /** + * compute.addresses.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.addresses.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Addresses$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Addresses$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Addresses$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Addresses$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Addresses$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the address resource to delete. + */ + address?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Addresses$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the address resource to return. + */ + address?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + } + interface Params$Resource$Addresses$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Address; + } + interface Params$Resource$Addresses$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + } + interface Params$Resource$Addresses$Setlabels { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RegionSetLabelsRequest; + } + interface Params$Resource$Addresses$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Allocations { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.allocations.aggregatedList + * @desc Retrieves an aggregated list of allocations. + * @alias compute.allocations.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Allocations$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Allocations$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Allocations$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.allocations.get + * @desc Retrieves all information of the specified allocation. + * @alias compute.allocations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.allocation Name of the allocation to retrieve. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone Name of the zone for this request. + * @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?: Params$Resource$Allocations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Allocations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Allocations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.allocations.getIamPolicy + * @desc Gets the access control policy for a resource. May be empty if no + * such policy or resource exists. + * @alias compute.allocations.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {string} params.zone The name of the zone for this request. + * @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 + */ + getIamPolicy(params?: Params$Resource$Allocations$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Allocations$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Allocations$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * compute.allocations.insert + * @desc Creates a new allocation. + * @alias compute.allocations.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone Name of the zone for this request. + * @param {().Allocation} 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?: Params$Resource$Allocations$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Allocations$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Allocations$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.allocations.list + * @desc A list all the allocations that have been configured for the + * specified project in specified zone. + * @alias compute.allocations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone Name of the zone for this request. + * @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?: Params$Resource$Allocations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Allocations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Allocations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.allocations.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @alias compute.allocations.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {string} params.zone The name of the zone for this request. + * @param {().ZoneSetPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Allocations$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Allocations$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Allocations$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * compute.allocations.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.allocations.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {string} params.zone The name of the zone for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Allocations$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Allocations$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Allocations$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + /** + * compute.allocations.updateResourceShape + * @desc Updates the shape of an allocation. + * @alias compute.allocations.updateResourceShape + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.allocation Name of the allocation to update. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone Name of the zone for this request. + * @param {().AllocationsUpdateResourceShapeRequest} 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 + */ + updateResourceShape(params?: Params$Resource$Allocations$Updateresourceshape, options?: MethodOptions): AxiosPromise; + updateResourceShape(params: Params$Resource$Allocations$Updateresourceshape, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + updateResourceShape(params: Params$Resource$Allocations$Updateresourceshape, callback: BodyResponseCallback): void; + updateResourceShape(callback: BodyResponseCallback): void; + } + interface Params$Resource$Allocations$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Allocations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the allocation to retrieve. + */ + allocation?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Allocations$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Allocations$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Allocation; + } + interface Params$Resource$Allocations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Allocations$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ZoneSetPolicyRequest; + } + interface Params$Resource$Allocations$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + interface Params$Resource$Allocations$Updateresourceshape { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the allocation to update. + */ + allocation?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AllocationsUpdateResourceShapeRequest; + } + class Resource$Autoscalers { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.autoscalers.aggregatedList + * @desc Retrieves an aggregated list of autoscalers. + * @alias compute.autoscalers.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Autoscalers$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Autoscalers$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Autoscalers$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.autoscalers.delete + * @desc Deletes the specified autoscaler. + * @alias compute.autoscalers.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.autoscaler Name of the autoscaler to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone Name of the zone for this request. + * @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?: Params$Resource$Autoscalers$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Autoscalers$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Autoscalers$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.autoscalers.get + * @desc Returns the specified autoscaler resource. Gets a list of available + * autoscalers by making a list() request. + * @alias compute.autoscalers.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.autoscaler Name of the autoscaler to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone Name of the zone for this request. + * @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?: Params$Resource$Autoscalers$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Autoscalers$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Autoscalers$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.autoscalers.insert + * @desc Creates an autoscaler in the specified project using the data + * included in the request. + * @alias compute.autoscalers.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone Name of the zone for this request. + * @param {().Autoscaler} 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?: Params$Resource$Autoscalers$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Autoscalers$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Autoscalers$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.autoscalers.list + * @desc Retrieves a list of autoscalers contained within the specified + * zone. + * @alias compute.autoscalers.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone Name of the zone for this request. + * @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?: Params$Resource$Autoscalers$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Autoscalers$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Autoscalers$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.autoscalers.patch + * @desc Updates an autoscaler in the specified project using the data + * included in the request. This method supports PATCH semantics and uses + * the JSON merge patch format and processing rules. + * @alias compute.autoscalers.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.autoscaler Name of the autoscaler to patch. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone Name of the zone for this request. + * @param {().Autoscaler} 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 + */ + patch(params?: Params$Resource$Autoscalers$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Autoscalers$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Autoscalers$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * compute.autoscalers.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.autoscalers.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {string} params.zone The name of the zone for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Autoscalers$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Autoscalers$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Autoscalers$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + /** + * compute.autoscalers.update + * @desc Updates an autoscaler in the specified project using the data + * included in the request. + * @alias compute.autoscalers.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.autoscaler Name of the autoscaler to update. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone Name of the zone for this request. + * @param {().Autoscaler} 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?: Params$Resource$Autoscalers$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Autoscalers$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Autoscalers$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Autoscalers$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Autoscalers$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the autoscaler to delete. + */ + autoscaler?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Autoscalers$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the autoscaler to return. + */ + autoscaler?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Autoscalers$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Autoscaler; + } + interface Params$Resource$Autoscalers$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Autoscalers$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the autoscaler to patch. + */ + autoscaler?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Autoscaler; + } + interface Params$Resource$Autoscalers$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + interface Params$Resource$Autoscalers$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the autoscaler to update. + */ + autoscaler?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Autoscaler; + } + class Resource$Backendbuckets { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.backendBuckets.addSignedUrlKey + * @desc Adds a key for validating requests with signed URLs for this + * backend bucket. + * @alias compute.backendBuckets.addSignedUrlKey + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendBucket Name of the BackendBucket resource to which the Signed URL Key should be added. The name should conform to RFC1035. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().SignedUrlKey} 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 + */ + addSignedUrlKey(params?: Params$Resource$Backendbuckets$Addsignedurlkey, options?: MethodOptions): AxiosPromise; + addSignedUrlKey(params: Params$Resource$Backendbuckets$Addsignedurlkey, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + addSignedUrlKey(params: Params$Resource$Backendbuckets$Addsignedurlkey, callback: BodyResponseCallback): void; + addSignedUrlKey(callback: BodyResponseCallback): void; + /** + * compute.backendBuckets.delete + * @desc Deletes the specified BackendBucket resource. + * @alias compute.backendBuckets.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendBucket Name of the BackendBucket resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Backendbuckets$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Backendbuckets$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Backendbuckets$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.backendBuckets.deleteSignedUrlKey + * @desc Deletes a key for validating requests with signed URLs for this + * backend bucket. + * @alias compute.backendBuckets.deleteSignedUrlKey + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendBucket Name of the BackendBucket resource to which the Signed URL Key should be added. The name should conform to RFC1035. + * @param {string} params.keyName The name of the Signed URL Key to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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 + */ + deleteSignedUrlKey(params?: Params$Resource$Backendbuckets$Deletesignedurlkey, options?: MethodOptions): AxiosPromise; + deleteSignedUrlKey(params: Params$Resource$Backendbuckets$Deletesignedurlkey, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + deleteSignedUrlKey(params: Params$Resource$Backendbuckets$Deletesignedurlkey, callback: BodyResponseCallback): void; + deleteSignedUrlKey(callback: BodyResponseCallback): void; + /** + * compute.backendBuckets.get + * @desc Returns the specified BackendBucket resource. Gets a list of + * available backend buckets by making a list() request. + * @alias compute.backendBuckets.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendBucket Name of the BackendBucket resource to return. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Backendbuckets$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Backendbuckets$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Backendbuckets$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.backendBuckets.getIamPolicy + * @desc Gets the access control policy for a resource. May be empty if no + * such policy or resource exists. + * @alias compute.backendBuckets.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @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 + */ + getIamPolicy(params?: Params$Resource$Backendbuckets$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Backendbuckets$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Backendbuckets$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * compute.backendBuckets.insert + * @desc Creates a BackendBucket resource in the specified project using the + * data included in the request. + * @alias compute.backendBuckets.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().BackendBucket} 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?: Params$Resource$Backendbuckets$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Backendbuckets$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Backendbuckets$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.backendBuckets.list + * @desc Retrieves the list of BackendBucket resources available to the + * specified project. + * @alias compute.backendBuckets.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Backendbuckets$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Backendbuckets$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Backendbuckets$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.backendBuckets.patch + * @desc Updates the specified BackendBucket resource with the data included + * in the request. This method supports PATCH semantics and uses the JSON + * merge patch format and processing rules. + * @alias compute.backendBuckets.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendBucket Name of the BackendBucket resource to patch. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().BackendBucket} 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 + */ + patch(params?: Params$Resource$Backendbuckets$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Backendbuckets$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Backendbuckets$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * compute.backendBuckets.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @alias compute.backendBuckets.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().GlobalSetPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Backendbuckets$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Backendbuckets$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Backendbuckets$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * compute.backendBuckets.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.backendBuckets.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Backendbuckets$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Backendbuckets$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Backendbuckets$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + /** + * compute.backendBuckets.update + * @desc Updates the specified BackendBucket resource with the data included + * in the request. + * @alias compute.backendBuckets.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendBucket Name of the BackendBucket resource to update. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().BackendBucket} 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?: Params$Resource$Backendbuckets$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Backendbuckets$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Backendbuckets$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Backendbuckets$Addsignedurlkey { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendBucket resource to which the Signed URL Key should be + * added. The name should conform to RFC1035. + */ + backendBucket?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SignedUrlKey; + } + interface Params$Resource$Backendbuckets$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendBucket resource to delete. + */ + backendBucket?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Backendbuckets$Deletesignedurlkey { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendBucket resource to which the Signed URL Key should be + * added. The name should conform to RFC1035. + */ + backendBucket?: string; + /** + * The name of the Signed URL Key to delete. + */ + keyName?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Backendbuckets$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendBucket resource to return. + */ + backendBucket?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Backendbuckets$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + } + interface Params$Resource$Backendbuckets$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BackendBucket; + } + interface Params$Resource$Backendbuckets$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Backendbuckets$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendBucket resource to patch. + */ + backendBucket?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BackendBucket; + } + interface Params$Resource$Backendbuckets$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GlobalSetPolicyRequest; + } + interface Params$Resource$Backendbuckets$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + interface Params$Resource$Backendbuckets$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendBucket resource to update. + */ + backendBucket?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BackendBucket; + } + class Resource$Backendservices { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.backendServices.addSignedUrlKey + * @desc Adds a key for validating requests with signed URLs for this + * backend service. + * @alias compute.backendServices.addSignedUrlKey + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendService Name of the BackendService resource to which the Signed URL Key should be added. The name should conform to RFC1035. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().SignedUrlKey} 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 + */ + addSignedUrlKey(params?: Params$Resource$Backendservices$Addsignedurlkey, options?: MethodOptions): AxiosPromise; + addSignedUrlKey(params: Params$Resource$Backendservices$Addsignedurlkey, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + addSignedUrlKey(params: Params$Resource$Backendservices$Addsignedurlkey, callback: BodyResponseCallback): void; + addSignedUrlKey(callback: BodyResponseCallback): void; + /** + * compute.backendServices.aggregatedList + * @desc Retrieves the list of all BackendService resources, regional and + * global, available to the specified project. + * @alias compute.backendServices.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Name of the project scoping this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Backendservices$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Backendservices$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Backendservices$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.backendServices.delete + * @desc Deletes the specified BackendService resource. + * @alias compute.backendServices.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendService Name of the BackendService resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Backendservices$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Backendservices$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Backendservices$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.backendServices.deleteSignedUrlKey + * @desc Deletes a key for validating requests with signed URLs for this + * backend service. + * @alias compute.backendServices.deleteSignedUrlKey + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendService Name of the BackendService resource to which the Signed URL Key should be added. The name should conform to RFC1035. + * @param {string} params.keyName The name of the Signed URL Key to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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 + */ + deleteSignedUrlKey(params?: Params$Resource$Backendservices$Deletesignedurlkey, options?: MethodOptions): AxiosPromise; + deleteSignedUrlKey(params: Params$Resource$Backendservices$Deletesignedurlkey, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + deleteSignedUrlKey(params: Params$Resource$Backendservices$Deletesignedurlkey, callback: BodyResponseCallback): void; + deleteSignedUrlKey(callback: BodyResponseCallback): void; + /** + * compute.backendServices.get + * @desc Returns the specified BackendService resource. Gets a list of + * available backend services by making a list() request. + * @alias compute.backendServices.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendService Name of the BackendService resource to return. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Backendservices$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Backendservices$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Backendservices$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.backendServices.getHealth + * @desc Gets the most recent health check results for this BackendService. + * @alias compute.backendServices.getHealth + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendService Name of the BackendService resource to which the queried instance belongs. + * @param {string} params.project + * @param {().ResourceGroupReference} 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 + */ + getHealth(params?: Params$Resource$Backendservices$Gethealth, options?: MethodOptions): AxiosPromise; + getHealth(params: Params$Resource$Backendservices$Gethealth, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getHealth(params: Params$Resource$Backendservices$Gethealth, callback: BodyResponseCallback): void; + getHealth(callback: BodyResponseCallback): void; + /** + * compute.backendServices.insert + * @desc Creates a BackendService resource in the specified project using + * the data included in the request. There are several restrictions and + * guidelines to keep in mind when creating a backend service. Read + * Restrictions and Guidelines for more information. + * @alias compute.backendServices.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().BackendService} 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?: Params$Resource$Backendservices$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Backendservices$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Backendservices$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.backendServices.list + * @desc Retrieves the list of BackendService resources available to the + * specified project. + * @alias compute.backendServices.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Backendservices$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Backendservices$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Backendservices$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.backendServices.patch + * @desc Patches the specified BackendService resource with the data + * included in the request. There are several restrictions and guidelines to + * keep in mind when updating a backend service. Read Restrictions and + * Guidelines for more information. This method supports PATCH semantics and + * uses the JSON merge patch format and processing rules. + * @alias compute.backendServices.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendService Name of the BackendService resource to patch. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().BackendService} 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 + */ + patch(params?: Params$Resource$Backendservices$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Backendservices$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Backendservices$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * compute.backendServices.setSecurityPolicy + * @desc Sets the security policy for the specified backend service. + * @alias compute.backendServices.setSecurityPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendService Name of the BackendService resource to which the security policy should be set. The name should conform to RFC1035. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().SecurityPolicyReference} 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 + */ + setSecurityPolicy(params?: Params$Resource$Backendservices$Setsecuritypolicy, options?: MethodOptions): AxiosPromise; + setSecurityPolicy(params: Params$Resource$Backendservices$Setsecuritypolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setSecurityPolicy(params: Params$Resource$Backendservices$Setsecuritypolicy, callback: BodyResponseCallback): void; + setSecurityPolicy(callback: BodyResponseCallback): void; + /** + * compute.backendServices.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.backendServices.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Backendservices$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Backendservices$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Backendservices$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + /** + * compute.backendServices.update + * @desc Updates the specified BackendService resource with the data + * included in the request. There are several restrictions and guidelines to + * keep in mind when updating a backend service. Read Restrictions and + * Guidelines for more information. + * @alias compute.backendServices.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendService Name of the BackendService resource to update. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().BackendService} 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?: Params$Resource$Backendservices$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Backendservices$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Backendservices$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Backendservices$Addsignedurlkey { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendService resource to which the Signed URL Key should be + * added. The name should conform to RFC1035. + */ + backendService?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SignedUrlKey; + } + interface Params$Resource$Backendservices$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Name of the project scoping this request. + */ + project?: string; + } + interface Params$Resource$Backendservices$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendService resource to delete. + */ + backendService?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Backendservices$Deletesignedurlkey { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendService resource to which the Signed URL Key should be + * added. The name should conform to RFC1035. + */ + backendService?: string; + /** + * The name of the Signed URL Key to delete. + */ + keyName?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Backendservices$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendService resource to return. + */ + backendService?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Backendservices$Gethealth { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendService resource to which the queried instance + * belongs. + */ + backendService?: string; + /** + * + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ResourceGroupReference; + } + interface Params$Resource$Backendservices$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BackendService; + } + interface Params$Resource$Backendservices$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Backendservices$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendService resource to patch. + */ + backendService?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BackendService; + } + interface Params$Resource$Backendservices$Setsecuritypolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendService resource to which the security policy should + * be set. The name should conform to RFC1035. + */ + backendService?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SecurityPolicyReference; + } + interface Params$Resource$Backendservices$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + interface Params$Resource$Backendservices$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendService resource to update. + */ + backendService?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BackendService; + } + class Resource$Disks { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.disks.addResourcePolicies + * @desc Adds existing resource policies to a disk. You can only add one + * policy which will be applied to this disk for scheduling snapshot + * creation. + * @alias compute.disks.addResourcePolicies + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.disk The disk name for this request. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().DisksAddResourcePoliciesRequest} 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 + */ + addResourcePolicies(params?: Params$Resource$Disks$Addresourcepolicies, options?: MethodOptions): AxiosPromise; + addResourcePolicies(params: Params$Resource$Disks$Addresourcepolicies, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + addResourcePolicies(params: Params$Resource$Disks$Addresourcepolicies, callback: BodyResponseCallback): void; + addResourcePolicies(callback: BodyResponseCallback): void; + /** + * compute.disks.aggregatedList + * @desc Retrieves an aggregated list of persistent disks. + * @alias compute.disks.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Disks$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Disks$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Disks$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.disks.createSnapshot + * @desc Creates a snapshot of a specified persistent disk. + * @alias compute.disks.createSnapshot + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.disk Name of the persistent disk to snapshot. + * @param {boolean=} params.guestFlush + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().Snapshot} 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 + */ + createSnapshot(params?: Params$Resource$Disks$Createsnapshot, options?: MethodOptions): AxiosPromise; + createSnapshot(params: Params$Resource$Disks$Createsnapshot, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + createSnapshot(params: Params$Resource$Disks$Createsnapshot, callback: BodyResponseCallback): void; + createSnapshot(callback: BodyResponseCallback): void; + /** + * compute.disks.delete + * @desc Deletes the specified persistent disk. Deleting a disk removes its + * data permanently and is irreversible. However, deleting a disk does not + * delete any snapshots previously made from the disk. You must separately + * delete snapshots. + * @alias compute.disks.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.disk Name of the persistent disk to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @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?: Params$Resource$Disks$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Disks$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Disks$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.disks.get + * @desc Returns a specified persistent disk. Gets a list of available + * persistent disks by making a list() request. + * @alias compute.disks.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.disk Name of the persistent disk to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone for this request. + * @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?: Params$Resource$Disks$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Disks$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Disks$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.disks.getIamPolicy + * @desc Gets the access control policy for a resource. May be empty if no + * such policy or resource exists. + * @alias compute.disks.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {string} params.zone The name of the zone for this request. + * @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 + */ + getIamPolicy(params?: Params$Resource$Disks$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Disks$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Disks$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * compute.disks.insert + * @desc Creates a persistent disk in the specified project using the data + * in the request. You can create a disk with a sourceImage, a + * sourceSnapshot, or create an empty 500 GB data disk by omitting all + * properties. You can also create a disk that is larger than the default + * size by specifying the sizeGb property. + * @alias compute.disks.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string=} params.sourceImage Optional. Source image to restore onto a disk. + * @param {string} params.zone The name of the zone for this request. + * @param {().Disk} 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?: Params$Resource$Disks$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Disks$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Disks$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.disks.list + * @desc Retrieves a list of persistent disks contained within the specified + * zone. + * @alias compute.disks.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone for this request. + * @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?: Params$Resource$Disks$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Disks$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Disks$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.disks.removeResourcePolicies + * @desc Removes resource policies from a disk. + * @alias compute.disks.removeResourcePolicies + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.disk The disk name for this request. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().DisksRemoveResourcePoliciesRequest} 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 + */ + removeResourcePolicies(params?: Params$Resource$Disks$Removeresourcepolicies, options?: MethodOptions): AxiosPromise; + removeResourcePolicies(params: Params$Resource$Disks$Removeresourcepolicies, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + removeResourcePolicies(params: Params$Resource$Disks$Removeresourcepolicies, callback: BodyResponseCallback): void; + removeResourcePolicies(callback: BodyResponseCallback): void; + /** + * compute.disks.resize + * @desc Resizes the specified persistent disk. You can only increase the + * size of the disk. + * @alias compute.disks.resize + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.disk The name of the persistent disk. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().DisksResizeRequest} 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 + */ + resize(params?: Params$Resource$Disks$Resize, options?: MethodOptions): AxiosPromise; + resize(params: Params$Resource$Disks$Resize, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + resize(params: Params$Resource$Disks$Resize, callback: BodyResponseCallback): void; + resize(callback: BodyResponseCallback): void; + /** + * compute.disks.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @alias compute.disks.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {string} params.zone The name of the zone for this request. + * @param {().ZoneSetPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Disks$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Disks$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Disks$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * compute.disks.setLabels + * @desc Sets the labels on a disk. To learn more about labels, read the + * Labeling Resources documentation. + * @alias compute.disks.setLabels + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.resource_ Name of the resource for this request. + * @param {string} params.zone The name of the zone for this request. + * @param {().ZoneSetLabelsRequest} 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 + */ + setLabels(params?: Params$Resource$Disks$Setlabels, options?: MethodOptions): AxiosPromise; + setLabels(params: Params$Resource$Disks$Setlabels, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setLabels(params: Params$Resource$Disks$Setlabels, callback: BodyResponseCallback): void; + setLabels(callback: BodyResponseCallback): void; + /** + * compute.disks.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.disks.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {string} params.zone The name of the zone for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Disks$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Disks$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Disks$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Disks$Addresourcepolicies { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The disk name for this request. + */ + disk?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DisksAddResourcePoliciesRequest; + } + interface Params$Resource$Disks$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Disks$Createsnapshot { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the persistent disk to snapshot. + */ + disk?: string; + /** + * + */ + guestFlush?: boolean; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Snapshot; + } + interface Params$Resource$Disks$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the persistent disk to delete. + */ + disk?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Disks$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the persistent disk to return. + */ + disk?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Disks$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Disks$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Optional. Source image to restore onto a disk. + */ + sourceImage?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Disk; + } + interface Params$Resource$Disks$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Disks$Removeresourcepolicies { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The disk name for this request. + */ + disk?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DisksRemoveResourcePoliciesRequest; + } + interface Params$Resource$Disks$Resize { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the persistent disk. + */ + disk?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DisksResizeRequest; + } + interface Params$Resource$Disks$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ZoneSetPolicyRequest; + } + interface Params$Resource$Disks$Setlabels { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ZoneSetLabelsRequest; + } + interface Params$Resource$Disks$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Disktypes { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.diskTypes.aggregatedList + * @desc Retrieves an aggregated list of disk types. + * @alias compute.diskTypes.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Disktypes$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Disktypes$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Disktypes$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.diskTypes.get + * @desc Returns the specified disk type. Gets a list of available disk + * types by making a list() request. + * @alias compute.diskTypes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.diskType Name of the disk type to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone for this request. + * @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?: Params$Resource$Disktypes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Disktypes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Disktypes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.diskTypes.list + * @desc Retrieves a list of disk types available to the specified project. + * @alias compute.diskTypes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone for this request. + * @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?: Params$Resource$Disktypes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Disktypes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Disktypes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Disktypes$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Disktypes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the disk type to return. + */ + diskType?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Disktypes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + class Resource$Firewalls { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.firewalls.delete + * @desc Deletes the specified firewall. + * @alias compute.firewalls.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.firewall Name of the firewall rule to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Firewalls$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Firewalls$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Firewalls$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.firewalls.get + * @desc Returns the specified firewall. + * @alias compute.firewalls.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.firewall Name of the firewall rule to return. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Firewalls$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Firewalls$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Firewalls$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.firewalls.insert + * @desc Creates a firewall rule in the specified project using the data + * included in the request. + * @alias compute.firewalls.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Firewall} 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?: Params$Resource$Firewalls$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Firewalls$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Firewalls$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.firewalls.list + * @desc Retrieves the list of firewall rules available to the specified + * project. + * @alias compute.firewalls.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Firewalls$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Firewalls$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Firewalls$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.firewalls.patch + * @desc Updates the specified firewall rule with the data included in the + * request. This method supports PATCH semantics and uses the JSON merge + * patch format and processing rules. + * @alias compute.firewalls.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.firewall Name of the firewall rule to patch. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Firewall} 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 + */ + patch(params?: Params$Resource$Firewalls$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Firewalls$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Firewalls$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * compute.firewalls.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.firewalls.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Firewalls$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Firewalls$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Firewalls$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + /** + * compute.firewalls.update + * @desc Updates the specified firewall rule with the data included in the + * request. The PUT method can only update the following fields of firewall + * rule: allowed, description, sourceRanges, sourceTags, targetTags. + * @alias compute.firewalls.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.firewall Name of the firewall rule to update. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Firewall} 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?: Params$Resource$Firewalls$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Firewalls$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Firewalls$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Firewalls$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the firewall rule to delete. + */ + firewall?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Firewalls$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the firewall rule to return. + */ + firewall?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Firewalls$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Firewall; + } + interface Params$Resource$Firewalls$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Firewalls$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the firewall rule to patch. + */ + firewall?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Firewall; + } + interface Params$Resource$Firewalls$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + interface Params$Resource$Firewalls$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the firewall rule to update. + */ + firewall?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Firewall; + } + class Resource$Forwardingrules { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.forwardingRules.aggregatedList + * @desc Retrieves an aggregated list of forwarding rules. + * @alias compute.forwardingRules.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Forwardingrules$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Forwardingrules$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Forwardingrules$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.forwardingRules.delete + * @desc Deletes the specified ForwardingRule resource. + * @alias compute.forwardingRules.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.forwardingRule Name of the ForwardingRule resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Forwardingrules$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Forwardingrules$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Forwardingrules$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.forwardingRules.get + * @desc Returns the specified ForwardingRule resource. + * @alias compute.forwardingRules.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.forwardingRule Name of the ForwardingRule resource to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @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?: Params$Resource$Forwardingrules$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Forwardingrules$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Forwardingrules$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.forwardingRules.insert + * @desc Creates a ForwardingRule resource in the specified project and + * region using the data included in the request. + * @alias compute.forwardingRules.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().ForwardingRule} 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?: Params$Resource$Forwardingrules$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Forwardingrules$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Forwardingrules$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.forwardingRules.list + * @desc Retrieves a list of ForwardingRule resources available to the + * specified project and region. + * @alias compute.forwardingRules.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @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?: Params$Resource$Forwardingrules$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Forwardingrules$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Forwardingrules$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.forwardingRules.patch + * @desc Updates the specified forwarding rule with the data included in the + * request. This method supports PATCH semantics and uses the JSON merge + * patch format and processing rules. Currently, you can only patch the + * network_tier field. + * @alias compute.forwardingRules.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.forwardingRule Name of the ForwardingRule resource to patch. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().ForwardingRule} 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 + */ + patch(params?: Params$Resource$Forwardingrules$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Forwardingrules$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Forwardingrules$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * compute.forwardingRules.setLabels + * @desc Sets the labels on the specified resource. To learn more about + * labels, read the Labeling Resources documentation. + * @alias compute.forwardingRules.setLabels + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.resource_ Name of the resource for this request. + * @param {().RegionSetLabelsRequest} 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 + */ + setLabels(params?: Params$Resource$Forwardingrules$Setlabels, options?: MethodOptions): AxiosPromise; + setLabels(params: Params$Resource$Forwardingrules$Setlabels, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setLabels(params: Params$Resource$Forwardingrules$Setlabels, callback: BodyResponseCallback): void; + setLabels(callback: BodyResponseCallback): void; + /** + * compute.forwardingRules.setTarget + * @desc Changes target URL for forwarding rule. The new target should be of + * the same type as the old target. + * @alias compute.forwardingRules.setTarget + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.forwardingRule Name of the ForwardingRule resource in which target is to be set. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().TargetReference} 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 + */ + setTarget(params?: Params$Resource$Forwardingrules$Settarget, options?: MethodOptions): AxiosPromise; + setTarget(params: Params$Resource$Forwardingrules$Settarget, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setTarget(params: Params$Resource$Forwardingrules$Settarget, callback: BodyResponseCallback): void; + setTarget(callback: BodyResponseCallback): void; + /** + * compute.forwardingRules.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.forwardingRules.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Forwardingrules$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Forwardingrules$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Forwardingrules$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Forwardingrules$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Forwardingrules$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the ForwardingRule resource to delete. + */ + forwardingRule?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Forwardingrules$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the ForwardingRule resource to return. + */ + forwardingRule?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + } + interface Params$Resource$Forwardingrules$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ForwardingRule; + } + interface Params$Resource$Forwardingrules$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + } + interface Params$Resource$Forwardingrules$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the ForwardingRule resource to patch. + */ + forwardingRule?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ForwardingRule; + } + interface Params$Resource$Forwardingrules$Setlabels { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RegionSetLabelsRequest; + } + interface Params$Resource$Forwardingrules$Settarget { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the ForwardingRule resource in which target is to be set. + */ + forwardingRule?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetReference; + } + interface Params$Resource$Forwardingrules$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Globaladdresses { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.globalAddresses.delete + * @desc Deletes the specified address resource. + * @alias compute.globalAddresses.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.address Name of the address resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Globaladdresses$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Globaladdresses$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Globaladdresses$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.globalAddresses.get + * @desc Returns the specified address resource. Gets a list of available + * addresses by making a list() request. + * @alias compute.globalAddresses.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.address Name of the address resource to return. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Globaladdresses$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Globaladdresses$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Globaladdresses$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.globalAddresses.insert + * @desc Creates an address resource in the specified project using the data + * included in the request. + * @alias compute.globalAddresses.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Address} 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?: Params$Resource$Globaladdresses$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Globaladdresses$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Globaladdresses$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.globalAddresses.list + * @desc Retrieves a list of global addresses. + * @alias compute.globalAddresses.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Globaladdresses$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Globaladdresses$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Globaladdresses$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.globalAddresses.setLabels + * @desc Sets the labels on a GlobalAddress. To learn more about labels, + * read the Labeling Resources documentation. + * @alias compute.globalAddresses.setLabels + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().GlobalSetLabelsRequest} 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 + */ + setLabels(params?: Params$Resource$Globaladdresses$Setlabels, options?: MethodOptions): AxiosPromise; + setLabels(params: Params$Resource$Globaladdresses$Setlabels, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setLabels(params: Params$Resource$Globaladdresses$Setlabels, callback: BodyResponseCallback): void; + setLabels(callback: BodyResponseCallback): void; + /** + * compute.globalAddresses.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.globalAddresses.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Globaladdresses$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Globaladdresses$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Globaladdresses$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Globaladdresses$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the address resource to delete. + */ + address?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Globaladdresses$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the address resource to return. + */ + address?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Globaladdresses$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Address; + } + interface Params$Resource$Globaladdresses$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Globaladdresses$Setlabels { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GlobalSetLabelsRequest; + } + interface Params$Resource$Globaladdresses$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Globalforwardingrules { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.globalForwardingRules.delete + * @desc Deletes the specified GlobalForwardingRule resource. + * @alias compute.globalForwardingRules.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.forwardingRule Name of the ForwardingRule resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Globalforwardingrules$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Globalforwardingrules$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Globalforwardingrules$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.globalForwardingRules.get + * @desc Returns the specified GlobalForwardingRule resource. Gets a list of + * available forwarding rules by making a list() request. + * @alias compute.globalForwardingRules.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.forwardingRule Name of the ForwardingRule resource to return. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Globalforwardingrules$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Globalforwardingrules$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Globalforwardingrules$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.globalForwardingRules.insert + * @desc Creates a GlobalForwardingRule resource in the specified project + * using the data included in the request. + * @alias compute.globalForwardingRules.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().ForwardingRule} 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?: Params$Resource$Globalforwardingrules$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Globalforwardingrules$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Globalforwardingrules$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.globalForwardingRules.list + * @desc Retrieves a list of GlobalForwardingRule resources available to the + * specified project. + * @alias compute.globalForwardingRules.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Globalforwardingrules$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Globalforwardingrules$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Globalforwardingrules$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.globalForwardingRules.patch + * @desc Updates the specified forwarding rule with the data included in the + * request. This method supports PATCH semantics and uses the JSON merge + * patch format and processing rules. Currently, you can only patch the + * network_tier field. + * @alias compute.globalForwardingRules.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.forwardingRule Name of the ForwardingRule resource to patch. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().ForwardingRule} 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 + */ + patch(params?: Params$Resource$Globalforwardingrules$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Globalforwardingrules$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Globalforwardingrules$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * compute.globalForwardingRules.setLabels + * @desc Sets the labels on the specified resource. To learn more about + * labels, read the Labeling Resources documentation. + * @alias compute.globalForwardingRules.setLabels + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().GlobalSetLabelsRequest} 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 + */ + setLabels(params?: Params$Resource$Globalforwardingrules$Setlabels, options?: MethodOptions): AxiosPromise; + setLabels(params: Params$Resource$Globalforwardingrules$Setlabels, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setLabels(params: Params$Resource$Globalforwardingrules$Setlabels, callback: BodyResponseCallback): void; + setLabels(callback: BodyResponseCallback): void; + /** + * compute.globalForwardingRules.setTarget + * @desc Changes target URL for the GlobalForwardingRule resource. The new + * target should be of the same type as the old target. + * @alias compute.globalForwardingRules.setTarget + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.forwardingRule Name of the ForwardingRule resource in which target is to be set. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().TargetReference} 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 + */ + setTarget(params?: Params$Resource$Globalforwardingrules$Settarget, options?: MethodOptions): AxiosPromise; + setTarget(params: Params$Resource$Globalforwardingrules$Settarget, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setTarget(params: Params$Resource$Globalforwardingrules$Settarget, callback: BodyResponseCallback): void; + setTarget(callback: BodyResponseCallback): void; + /** + * compute.globalForwardingRules.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.globalForwardingRules.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Globalforwardingrules$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Globalforwardingrules$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Globalforwardingrules$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Globalforwardingrules$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the ForwardingRule resource to delete. + */ + forwardingRule?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Globalforwardingrules$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the ForwardingRule resource to return. + */ + forwardingRule?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Globalforwardingrules$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ForwardingRule; + } + interface Params$Resource$Globalforwardingrules$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Globalforwardingrules$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the ForwardingRule resource to patch. + */ + forwardingRule?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ForwardingRule; + } + interface Params$Resource$Globalforwardingrules$Setlabels { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GlobalSetLabelsRequest; + } + interface Params$Resource$Globalforwardingrules$Settarget { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the ForwardingRule resource in which target is to be set. + */ + forwardingRule?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetReference; + } + interface Params$Resource$Globalforwardingrules$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Globaloperations { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.globalOperations.aggregatedList + * @desc Retrieves an aggregated list of all operations. + * @alias compute.globalOperations.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Globaloperations$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Globaloperations$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Globaloperations$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.globalOperations.delete + * @desc Deletes the specified Operations resource. + * @alias compute.globalOperations.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.operation Name of the Operations resource to delete. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Globaloperations$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Globaloperations$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Globaloperations$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.globalOperations.get + * @desc Retrieves the specified Operations resource. Gets a list of + * operations by making a list() request. + * @alias compute.globalOperations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.operation Name of the Operations resource to return. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Globaloperations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Globaloperations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Globaloperations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.globalOperations.list + * @desc Retrieves a list of Operation resources contained within the + * specified project. + * @alias compute.globalOperations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Globaloperations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Globaloperations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Globaloperations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.globalOperations.wait + * @desc Waits for the specified Operations resource until it is done or + * timeout, and retrieves the specified Operations resource. 1. Immediately + * returns when the operation is already done. 2. Waits for no more than the + * default deadline (2 minutes, subject to change) and then returns the + * current state of the operation, which may be DONE or still in + * progress. 3. Is best-effort: a. The server can wait less than the default + * deadline or zero seconds, in overload situations. b. There is no + * guarantee that the operation is actually done when returns. 4. User + * should be prepared to retry if the operation is not DONE. + * @alias compute.globalOperations.wait + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.operation Name of the Operations resource to return. + * @param {string} params.project Project ID for this request. + * @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 + */ + wait(params?: Params$Resource$Globaloperations$Wait, options?: MethodOptions): AxiosPromise; + wait(params: Params$Resource$Globaloperations$Wait, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + wait(params: Params$Resource$Globaloperations$Wait, callback: BodyResponseCallback): void; + wait(callback: BodyResponseCallback): void; + } + interface Params$Resource$Globaloperations$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Globaloperations$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the Operations resource to delete. + */ + operation?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Globaloperations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the Operations resource to return. + */ + operation?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Globaloperations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Globaloperations$Wait { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the Operations resource to return. + */ + operation?: string; + /** + * Project ID for this request. + */ + project?: string; + } + class Resource$Healthchecks { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.healthChecks.aggregatedList + * @desc Retrieves the list of all HealthCheck resources, regional and + * global, available to the specified project. + * @alias compute.healthChecks.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Name of the project scoping this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Healthchecks$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Healthchecks$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Healthchecks$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.healthChecks.delete + * @desc Deletes the specified HealthCheck resource. + * @alias compute.healthChecks.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.healthCheck Name of the HealthCheck resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Healthchecks$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Healthchecks$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Healthchecks$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.healthChecks.get + * @desc Returns the specified HealthCheck resource. Gets a list of + * available health checks by making a list() request. + * @alias compute.healthChecks.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.healthCheck Name of the HealthCheck resource to return. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Healthchecks$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Healthchecks$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Healthchecks$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.healthChecks.insert + * @desc Creates a HealthCheck resource in the specified project using the + * data included in the request. + * @alias compute.healthChecks.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().HealthCheck} 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?: Params$Resource$Healthchecks$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Healthchecks$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Healthchecks$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.healthChecks.list + * @desc Retrieves the list of HealthCheck resources available to the + * specified project. + * @alias compute.healthChecks.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Healthchecks$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Healthchecks$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Healthchecks$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.healthChecks.patch + * @desc Updates a HealthCheck resource in the specified project using the + * data included in the request. This method supports PATCH semantics and + * uses the JSON merge patch format and processing rules. + * @alias compute.healthChecks.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.healthCheck Name of the HealthCheck resource to patch. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().HealthCheck} 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 + */ + patch(params?: Params$Resource$Healthchecks$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Healthchecks$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Healthchecks$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * compute.healthChecks.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.healthChecks.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Healthchecks$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Healthchecks$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Healthchecks$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + /** + * compute.healthChecks.update + * @desc Updates a HealthCheck resource in the specified project using the + * data included in the request. + * @alias compute.healthChecks.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.healthCheck Name of the HealthCheck resource to update. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().HealthCheck} 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?: Params$Resource$Healthchecks$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Healthchecks$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Healthchecks$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Healthchecks$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Name of the project scoping this request. + */ + project?: string; + } + interface Params$Resource$Healthchecks$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the HealthCheck resource to delete. + */ + healthCheck?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Healthchecks$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the HealthCheck resource to return. + */ + healthCheck?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Healthchecks$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$HealthCheck; + } + interface Params$Resource$Healthchecks$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Healthchecks$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the HealthCheck resource to patch. + */ + healthCheck?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$HealthCheck; + } + interface Params$Resource$Healthchecks$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + interface Params$Resource$Healthchecks$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the HealthCheck resource to update. + */ + healthCheck?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$HealthCheck; + } + class Resource$Httphealthchecks { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.httpHealthChecks.delete + * @desc Deletes the specified HttpHealthCheck resource. + * @alias compute.httpHealthChecks.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.httpHealthCheck Name of the HttpHealthCheck resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Httphealthchecks$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Httphealthchecks$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Httphealthchecks$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.httpHealthChecks.get + * @desc Returns the specified HttpHealthCheck resource. Gets a list of + * available HTTP health checks by making a list() request. + * @alias compute.httpHealthChecks.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.httpHealthCheck Name of the HttpHealthCheck resource to return. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Httphealthchecks$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Httphealthchecks$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Httphealthchecks$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.httpHealthChecks.insert + * @desc Creates a HttpHealthCheck resource in the specified project using + * the data included in the request. + * @alias compute.httpHealthChecks.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().HttpHealthCheck} 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?: Params$Resource$Httphealthchecks$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Httphealthchecks$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Httphealthchecks$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.httpHealthChecks.list + * @desc Retrieves the list of HttpHealthCheck resources available to the + * specified project. + * @alias compute.httpHealthChecks.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Httphealthchecks$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Httphealthchecks$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Httphealthchecks$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.httpHealthChecks.patch + * @desc Updates a HttpHealthCheck resource in the specified project using + * the data included in the request. This method supports PATCH semantics + * and uses the JSON merge patch format and processing rules. + * @alias compute.httpHealthChecks.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.httpHealthCheck Name of the HttpHealthCheck resource to patch. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().HttpHealthCheck} 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 + */ + patch(params?: Params$Resource$Httphealthchecks$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Httphealthchecks$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Httphealthchecks$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * compute.httpHealthChecks.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.httpHealthChecks.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Httphealthchecks$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Httphealthchecks$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Httphealthchecks$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + /** + * compute.httpHealthChecks.update + * @desc Updates a HttpHealthCheck resource in the specified project using + * the data included in the request. + * @alias compute.httpHealthChecks.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.httpHealthCheck Name of the HttpHealthCheck resource to update. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().HttpHealthCheck} 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?: Params$Resource$Httphealthchecks$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Httphealthchecks$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Httphealthchecks$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Httphealthchecks$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the HttpHealthCheck resource to delete. + */ + httpHealthCheck?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Httphealthchecks$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the HttpHealthCheck resource to return. + */ + httpHealthCheck?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Httphealthchecks$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$HttpHealthCheck; + } + interface Params$Resource$Httphealthchecks$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Httphealthchecks$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the HttpHealthCheck resource to patch. + */ + httpHealthCheck?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$HttpHealthCheck; + } + interface Params$Resource$Httphealthchecks$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + interface Params$Resource$Httphealthchecks$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the HttpHealthCheck resource to update. + */ + httpHealthCheck?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$HttpHealthCheck; + } + class Resource$Httpshealthchecks { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.httpsHealthChecks.delete + * @desc Deletes the specified HttpsHealthCheck resource. + * @alias compute.httpsHealthChecks.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.httpsHealthCheck Name of the HttpsHealthCheck resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Httpshealthchecks$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Httpshealthchecks$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Httpshealthchecks$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.httpsHealthChecks.get + * @desc Returns the specified HttpsHealthCheck resource. Gets a list of + * available HTTPS health checks by making a list() request. + * @alias compute.httpsHealthChecks.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.httpsHealthCheck Name of the HttpsHealthCheck resource to return. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Httpshealthchecks$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Httpshealthchecks$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Httpshealthchecks$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.httpsHealthChecks.insert + * @desc Creates a HttpsHealthCheck resource in the specified project using + * the data included in the request. + * @alias compute.httpsHealthChecks.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().HttpsHealthCheck} 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?: Params$Resource$Httpshealthchecks$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Httpshealthchecks$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Httpshealthchecks$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.httpsHealthChecks.list + * @desc Retrieves the list of HttpsHealthCheck resources available to the + * specified project. + * @alias compute.httpsHealthChecks.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Httpshealthchecks$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Httpshealthchecks$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Httpshealthchecks$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.httpsHealthChecks.patch + * @desc Updates a HttpsHealthCheck resource in the specified project using + * the data included in the request. This method supports PATCH semantics + * and uses the JSON merge patch format and processing rules. + * @alias compute.httpsHealthChecks.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.httpsHealthCheck Name of the HttpsHealthCheck resource to patch. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().HttpsHealthCheck} 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 + */ + patch(params?: Params$Resource$Httpshealthchecks$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Httpshealthchecks$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Httpshealthchecks$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * compute.httpsHealthChecks.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.httpsHealthChecks.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Httpshealthchecks$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Httpshealthchecks$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Httpshealthchecks$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + /** + * compute.httpsHealthChecks.update + * @desc Updates a HttpsHealthCheck resource in the specified project using + * the data included in the request. + * @alias compute.httpsHealthChecks.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.httpsHealthCheck Name of the HttpsHealthCheck resource to update. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().HttpsHealthCheck} 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?: Params$Resource$Httpshealthchecks$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Httpshealthchecks$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Httpshealthchecks$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Httpshealthchecks$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the HttpsHealthCheck resource to delete. + */ + httpsHealthCheck?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Httpshealthchecks$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the HttpsHealthCheck resource to return. + */ + httpsHealthCheck?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Httpshealthchecks$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$HttpsHealthCheck; + } + interface Params$Resource$Httpshealthchecks$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Httpshealthchecks$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the HttpsHealthCheck resource to patch. + */ + httpsHealthCheck?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$HttpsHealthCheck; + } + interface Params$Resource$Httpshealthchecks$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + interface Params$Resource$Httpshealthchecks$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the HttpsHealthCheck resource to update. + */ + httpsHealthCheck?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$HttpsHealthCheck; + } + class Resource$Images { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.images.delete + * @desc Deletes the specified image. + * @alias compute.images.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.image Name of the image resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Images$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Images$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Images$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.images.deprecate + * @desc Sets the deprecation status of an image. If an empty request body + * is given, clears the deprecation status instead. + * @alias compute.images.deprecate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.image Image name. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().DeprecationStatus} 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 + */ + deprecate(params?: Params$Resource$Images$Deprecate, options?: MethodOptions): AxiosPromise; + deprecate(params: Params$Resource$Images$Deprecate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + deprecate(params: Params$Resource$Images$Deprecate, callback: BodyResponseCallback): void; + deprecate(callback: BodyResponseCallback): void; + /** + * compute.images.get + * @desc Returns the specified image. Gets a list of available images by + * making a list() request. + * @alias compute.images.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.image Name of the image resource to return. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Images$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Images$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Images$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.images.getFromFamily + * @desc Returns the latest image that is part of an image family and is not + * deprecated. + * @alias compute.images.getFromFamily + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.family Name of the image family to search for. + * @param {string} params.project Project ID for this request. + * @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 + */ + getFromFamily(params?: Params$Resource$Images$Getfromfamily, options?: MethodOptions): AxiosPromise; + getFromFamily(params: Params$Resource$Images$Getfromfamily, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getFromFamily(params: Params$Resource$Images$Getfromfamily, callback: BodyResponseCallback): void; + getFromFamily(callback: BodyResponseCallback): void; + /** + * compute.images.getIamPolicy + * @desc Gets the access control policy for a resource. May be empty if no + * such policy or resource exists. + * @alias compute.images.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @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 + */ + getIamPolicy(params?: Params$Resource$Images$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Images$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Images$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * compute.images.insert + * @desc Creates an image in the specified project using the data included + * in the request. + * @alias compute.images.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.forceCreate Force image creation if true. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Image} 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?: Params$Resource$Images$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Images$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Images$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.images.list + * @desc Retrieves the list of custom images available to the specified + * project. Custom images are images you create that belong to your project. + * This method does not get any images that belong to other projects, + * including publicly-available images, like Debian 8. If you want to get a + * list of publicly-available images, use this method to make a request to + * the respective image project, such as debian-cloud or windows-cloud. + * @alias compute.images.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Images$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Images$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Images$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.images.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @alias compute.images.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().GlobalSetPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Images$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Images$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Images$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * compute.images.setLabels + * @desc Sets the labels on an image. To learn more about labels, read the + * Labeling Resources documentation. + * @alias compute.images.setLabels + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().GlobalSetLabelsRequest} 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 + */ + setLabels(params?: Params$Resource$Images$Setlabels, options?: MethodOptions): AxiosPromise; + setLabels(params: Params$Resource$Images$Setlabels, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setLabels(params: Params$Resource$Images$Setlabels, callback: BodyResponseCallback): void; + setLabels(callback: BodyResponseCallback): void; + /** + * compute.images.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.images.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Images$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Images$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Images$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Images$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the image resource to delete. + */ + image?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Images$Deprecate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Image name. + */ + image?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DeprecationStatus; + } + interface Params$Resource$Images$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the image resource to return. + */ + image?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Images$Getfromfamily { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the image family to search for. + */ + family?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Images$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + } + interface Params$Resource$Images$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Force image creation if true. + */ + forceCreate?: boolean; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Image; + } + interface Params$Resource$Images$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Images$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GlobalSetPolicyRequest; + } + interface Params$Resource$Images$Setlabels { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GlobalSetLabelsRequest; + } + interface Params$Resource$Images$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Instancegroupmanagers { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.instanceGroupManagers.abandonInstances + * @desc Schedules a group action to remove the specified instances from the + * managed instance group. Abandoning an instance does not delete the + * instance, but it does remove the instance from any target pools that are + * applied by the managed instance group. This method reduces the targetSize + * of the managed instance group by the number of instances that you + * abandon. This operation is marked as DONE when the action is scheduled + * even if the instances have not yet been removed from the group. You must + * separately verify the status of the abandoning action with the + * listmanagedinstances method. If the group is part of a backend service + * that has enabled connection draining, it can take up to 60 seconds after + * the connection draining duration has elapsed before the VM instance is + * removed or deleted. You can specify a maximum of 1000 instances with + * this method per request. + * @alias compute.instanceGroupManagers.abandonInstances + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager The name of the managed instance group. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone where the managed instance group is located. + * @param {().InstanceGroupManagersAbandonInstancesRequest} 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 + */ + abandonInstances(params?: Params$Resource$Instancegroupmanagers$Abandoninstances, options?: MethodOptions): AxiosPromise; + abandonInstances(params: Params$Resource$Instancegroupmanagers$Abandoninstances, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + abandonInstances(params: Params$Resource$Instancegroupmanagers$Abandoninstances, callback: BodyResponseCallback): void; + abandonInstances(callback: BodyResponseCallback): void; + /** + * compute.instanceGroupManagers.aggregatedList + * @desc Retrieves the list of managed instance groups and groups them by + * zone. + * @alias compute.instanceGroupManagers.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Instancegroupmanagers$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Instancegroupmanagers$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Instancegroupmanagers$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.instanceGroupManagers.applyUpdatesToInstances + * @desc Apply changes to selected instances on the managed instance group. + * This method can be used to apply new overrides and/or new versions. + * @alias compute.instanceGroupManagers.applyUpdatesToInstances + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager The name of the managed instance group, should conform to RFC1035. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone where the managed instance group is located. Should conform to RFC1035. + * @param {().InstanceGroupManagersApplyUpdatesRequest} 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 + */ + applyUpdatesToInstances(params?: Params$Resource$Instancegroupmanagers$Applyupdatestoinstances, options?: MethodOptions): AxiosPromise; + applyUpdatesToInstances(params: Params$Resource$Instancegroupmanagers$Applyupdatestoinstances, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + applyUpdatesToInstances(params: Params$Resource$Instancegroupmanagers$Applyupdatestoinstances, callback: BodyResponseCallback): void; + applyUpdatesToInstances(callback: BodyResponseCallback): void; + /** + * compute.instanceGroupManagers.delete + * @desc Deletes the specified managed instance group and all of the + * instances in that group. Note that the instance group must not belong to + * a backend service. Read Deleting an instance group for more information. + * @alias compute.instanceGroupManagers.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager The name of the managed instance group to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone where the managed instance group is located. + * @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?: Params$Resource$Instancegroupmanagers$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Instancegroupmanagers$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Instancegroupmanagers$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.instanceGroupManagers.deleteInstances + * @desc Schedules a group action to delete the specified instances in the + * managed instance group. The instances are also removed from any target + * pools of which they were a member. This method reduces the targetSize of + * the managed instance group by the number of instances that you delete. + * This operation is marked as DONE when the action is scheduled even if the + * instances are still being deleted. You must separately verify the status + * of the deleting action with the listmanagedinstances method. If the + * group is part of a backend service that has enabled connection draining, + * it can take up to 60 seconds after the connection draining duration has + * elapsed before the VM instance is removed or deleted. You can specify a + * maximum of 1000 instances with this method per request. + * @alias compute.instanceGroupManagers.deleteInstances + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager The name of the managed instance group. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone where the managed instance group is located. + * @param {().InstanceGroupManagersDeleteInstancesRequest} 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 + */ + deleteInstances(params?: Params$Resource$Instancegroupmanagers$Deleteinstances, options?: MethodOptions): AxiosPromise; + deleteInstances(params: Params$Resource$Instancegroupmanagers$Deleteinstances, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + deleteInstances(params: Params$Resource$Instancegroupmanagers$Deleteinstances, callback: BodyResponseCallback): void; + deleteInstances(callback: BodyResponseCallback): void; + /** + * compute.instanceGroupManagers.deletePerInstanceConfigs + * @desc Deletes selected per-instance configs for the managed instance + * group. + * @alias compute.instanceGroupManagers.deletePerInstanceConfigs + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager The name of the managed instance group. It should conform to RFC1035. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone where the managed instance group is located. It should conform to RFC1035. + * @param {().InstanceGroupManagersDeletePerInstanceConfigsReq} 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 + */ + deletePerInstanceConfigs(params?: Params$Resource$Instancegroupmanagers$Deleteperinstanceconfigs, options?: MethodOptions): AxiosPromise; + deletePerInstanceConfigs(params: Params$Resource$Instancegroupmanagers$Deleteperinstanceconfigs, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + deletePerInstanceConfigs(params: Params$Resource$Instancegroupmanagers$Deleteperinstanceconfigs, callback: BodyResponseCallback): void; + deletePerInstanceConfigs(callback: BodyResponseCallback): void; + /** + * compute.instanceGroupManagers.get + * @desc Returns all of the details about the specified managed instance + * group. Gets a list of available managed instance groups by making a + * list() request. + * @alias compute.instanceGroupManagers.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager The name of the managed instance group. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone where the managed instance group is located. + * @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?: Params$Resource$Instancegroupmanagers$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Instancegroupmanagers$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Instancegroupmanagers$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.instanceGroupManagers.insert + * @desc Creates a managed instance group using the information that you + * specify in the request. After the group is created, it schedules an + * action to create instances in the group using the specified instance + * template. This operation is marked as DONE when the group is created even + * if the instances in the group have not yet been created. You must + * separately verify the status of the individual instances with the + * listmanagedinstances method. A managed instance group can have up to + * 1000 VM instances per group. Please contact Cloud Support if you need an + * increase in this limit. + * @alias compute.instanceGroupManagers.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone where you want to create the managed instance group. + * @param {().InstanceGroupManager} 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?: Params$Resource$Instancegroupmanagers$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Instancegroupmanagers$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Instancegroupmanagers$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.instanceGroupManagers.list + * @desc Retrieves a list of managed instance groups that are contained + * within the specified project and zone. + * @alias compute.instanceGroupManagers.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone where the managed instance group is located. + * @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?: Params$Resource$Instancegroupmanagers$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Instancegroupmanagers$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Instancegroupmanagers$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.instanceGroupManagers.listManagedInstances + * @desc Lists all of the instances in the managed instance group. Each + * instance in the list has a currentAction, which indicates the action that + * the managed instance group is performing on the instance. For example, if + * the group is still creating an instance, the currentAction is CREATING. + * If a previous action failed, the list displays the errors for that failed + * action. + * @alias compute.instanceGroupManagers.listManagedInstances + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {string} params.instanceGroupManager The name of the managed instance group. + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.order_by Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone where the managed instance group is located. + * @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 + */ + listManagedInstances(params?: Params$Resource$Instancegroupmanagers$Listmanagedinstances, options?: MethodOptions): AxiosPromise; + listManagedInstances(params: Params$Resource$Instancegroupmanagers$Listmanagedinstances, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listManagedInstances(params: Params$Resource$Instancegroupmanagers$Listmanagedinstances, callback: BodyResponseCallback): void; + listManagedInstances(callback: BodyResponseCallback): void; + /** + * compute.instanceGroupManagers.listPerInstanceConfigs + * @desc Lists all of the per-instance configs defined for the managed + * instance group. + * @alias compute.instanceGroupManagers.listPerInstanceConfigs + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {string} params.instanceGroupManager The name of the managed instance group. It should conform to RFC1035. + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone where the managed instance group is located. It should conform to RFC1035. + * @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 + */ + listPerInstanceConfigs(params?: Params$Resource$Instancegroupmanagers$Listperinstanceconfigs, options?: MethodOptions): AxiosPromise; + listPerInstanceConfigs(params: Params$Resource$Instancegroupmanagers$Listperinstanceconfigs, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listPerInstanceConfigs(params: Params$Resource$Instancegroupmanagers$Listperinstanceconfigs, callback: BodyResponseCallback): void; + listPerInstanceConfigs(callback: BodyResponseCallback): void; + /** + * compute.instanceGroupManagers.patch + * @desc Updates a managed instance group using the information that you + * specify in the request. This operation is marked as DONE when the group + * is patched even if the instances in the group are still in the process of + * being patched. You must separately verify the status of the individual + * instances with the listManagedInstances method. This method supports + * PATCH semantics and uses the JSON merge patch format and processing + * rules. + * @alias compute.instanceGroupManagers.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager The name of the instance group manager. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone where you want to create the managed instance group. + * @param {().InstanceGroupManager} 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 + */ + patch(params?: Params$Resource$Instancegroupmanagers$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Instancegroupmanagers$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Instancegroupmanagers$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * compute.instanceGroupManagers.recreateInstances + * @desc Schedules a group action to recreate the specified instances in the + * managed instance group. The instances are deleted and recreated using the + * current instance template for the managed instance group. This operation + * is marked as DONE when the action is scheduled even if the instances have + * not yet been recreated. You must separately verify the status of the + * recreating action with the listmanagedinstances method. If the group is + * part of a backend service that has enabled connection draining, it can + * take up to 60 seconds after the connection draining duration has elapsed + * before the VM instance is removed or deleted. You can specify a maximum + * of 1000 instances with this method per request. + * @alias compute.instanceGroupManagers.recreateInstances + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager The name of the managed instance group. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone where the managed instance group is located. + * @param {().InstanceGroupManagersRecreateInstancesRequest} 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 + */ + recreateInstances(params?: Params$Resource$Instancegroupmanagers$Recreateinstances, options?: MethodOptions): AxiosPromise; + recreateInstances(params: Params$Resource$Instancegroupmanagers$Recreateinstances, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + recreateInstances(params: Params$Resource$Instancegroupmanagers$Recreateinstances, callback: BodyResponseCallback): void; + recreateInstances(callback: BodyResponseCallback): void; + /** + * compute.instanceGroupManagers.resize + * @desc Resizes the managed instance group. If you increase the size, the + * group creates new instances using the current instance template. If you + * decrease the size, the group deletes instances. The resize operation is + * marked DONE when the resize actions are scheduled even if the group has + * not yet added or deleted any instances. You must separately verify the + * status of the creating or deleting actions with the listmanagedinstances + * method. If the group is part of a backend service that has enabled + * connection draining, it can take up to 60 seconds after the connection + * draining duration has elapsed before the VM instance is removed or + * deleted. + * @alias compute.instanceGroupManagers.resize + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager The name of the managed instance group. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {integer} params.size The number of running instances that the managed instance group should maintain at any given time. The group automatically adds or removes instances to maintain the number of instances specified by this parameter. + * @param {string} params.zone The name of the zone where the managed instance group is located. + * @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 + */ + resize(params?: Params$Resource$Instancegroupmanagers$Resize, options?: MethodOptions): AxiosPromise; + resize(params: Params$Resource$Instancegroupmanagers$Resize, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + resize(params: Params$Resource$Instancegroupmanagers$Resize, callback: BodyResponseCallback): void; + resize(callback: BodyResponseCallback): void; + /** + * compute.instanceGroupManagers.resizeAdvanced + * @desc Resizes the managed instance group with advanced configuration + * options like disabling creation retries. This is an extended version of + * the resize method. If you increase the size of the instance group, the + * group creates new instances using the current instance template. If you + * decrease the size, the group deletes instances. The resize operation is + * marked DONE when the resize actions are scheduled even if the group has + * not yet added or deleted any instances. You must separately verify the + * status of the creating, creatingWithoutRetries, or deleting actions with + * the get or listmanagedinstances method. If the group is part of a + * backend service that has enabled connection draining, it can take up to + * 60 seconds after the connection draining duration has elapsed before the + * VM instance is removed or deleted. + * @alias compute.instanceGroupManagers.resizeAdvanced + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager The name of the managed instance group. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone where the managed instance group is located. + * @param {().InstanceGroupManagersResizeAdvancedRequest} 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 + */ + resizeAdvanced(params?: Params$Resource$Instancegroupmanagers$Resizeadvanced, options?: MethodOptions): AxiosPromise; + resizeAdvanced(params: Params$Resource$Instancegroupmanagers$Resizeadvanced, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + resizeAdvanced(params: Params$Resource$Instancegroupmanagers$Resizeadvanced, callback: BodyResponseCallback): void; + resizeAdvanced(callback: BodyResponseCallback): void; + /** + * compute.instanceGroupManagers.setAutoHealingPolicies + * @desc Modifies the autohealing policies. + * @alias compute.instanceGroupManagers.setAutoHealingPolicies + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager The name of the instance group manager. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone where the managed instance group is located. + * @param {().InstanceGroupManagersSetAutoHealingRequest} 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 + */ + setAutoHealingPolicies(params?: Params$Resource$Instancegroupmanagers$Setautohealingpolicies, options?: MethodOptions): AxiosPromise; + setAutoHealingPolicies(params: Params$Resource$Instancegroupmanagers$Setautohealingpolicies, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setAutoHealingPolicies(params: Params$Resource$Instancegroupmanagers$Setautohealingpolicies, callback: BodyResponseCallback): void; + setAutoHealingPolicies(callback: BodyResponseCallback): void; + /** + * compute.instanceGroupManagers.setInstanceTemplate + * @desc Specifies the instance template to use when creating new instances + * in this group. The templates for existing instances in the group do not + * change unless you recreate them. + * @alias compute.instanceGroupManagers.setInstanceTemplate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager The name of the managed instance group. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone where the managed instance group is located. + * @param {().InstanceGroupManagersSetInstanceTemplateRequest} 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 + */ + setInstanceTemplate(params?: Params$Resource$Instancegroupmanagers$Setinstancetemplate, options?: MethodOptions): AxiosPromise; + setInstanceTemplate(params: Params$Resource$Instancegroupmanagers$Setinstancetemplate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setInstanceTemplate(params: Params$Resource$Instancegroupmanagers$Setinstancetemplate, callback: BodyResponseCallback): void; + setInstanceTemplate(callback: BodyResponseCallback): void; + /** + * compute.instanceGroupManagers.setTargetPools + * @desc Modifies the target pools to which all instances in this managed + * instance group are assigned. The target pools automatically apply to all + * of the instances in the managed instance group. This operation is marked + * DONE when you make the request even if the instances have not yet been + * added to their target pools. The change might take some time to apply to + * all of the instances in the group depending on the size of the group. + * @alias compute.instanceGroupManagers.setTargetPools + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager The name of the managed instance group. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone where the managed instance group is located. + * @param {().InstanceGroupManagersSetTargetPoolsRequest} 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 + */ + setTargetPools(params?: Params$Resource$Instancegroupmanagers$Settargetpools, options?: MethodOptions): AxiosPromise; + setTargetPools(params: Params$Resource$Instancegroupmanagers$Settargetpools, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setTargetPools(params: Params$Resource$Instancegroupmanagers$Settargetpools, callback: BodyResponseCallback): void; + setTargetPools(callback: BodyResponseCallback): void; + /** + * compute.instanceGroupManagers.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.instanceGroupManagers.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {string} params.zone The name of the zone for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Instancegroupmanagers$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Instancegroupmanagers$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Instancegroupmanagers$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + /** + * compute.instanceGroupManagers.update + * @desc Updates a managed instance group using the information that you + * specify in the request. This operation is marked as DONE when the group + * is updated even if the instances in the group have not yet been updated. + * You must separately verify the status of the individual instances with + * the listManagedInstances method. + * @alias compute.instanceGroupManagers.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager The name of the instance group manager. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone where you want to create the managed instance group. + * @param {().InstanceGroupManager} 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?: Params$Resource$Instancegroupmanagers$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Instancegroupmanagers$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Instancegroupmanagers$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + /** + * compute.instanceGroupManagers.updatePerInstanceConfigs + * @desc Insert or patch (for the ones that already exist) per-instance + * configs for the managed instance group. perInstanceConfig.instance serves + * as a key used to distinguish whether to perform insert or patch. + * @alias compute.instanceGroupManagers.updatePerInstanceConfigs + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager The name of the managed instance group. It should conform to RFC1035. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone where the managed instance group is located. It should conform to RFC1035. + * @param {().InstanceGroupManagersUpdatePerInstanceConfigsReq} 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 + */ + updatePerInstanceConfigs(params?: Params$Resource$Instancegroupmanagers$Updateperinstanceconfigs, options?: MethodOptions): AxiosPromise; + updatePerInstanceConfigs(params: Params$Resource$Instancegroupmanagers$Updateperinstanceconfigs, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + updatePerInstanceConfigs(params: Params$Resource$Instancegroupmanagers$Updateperinstanceconfigs, callback: BodyResponseCallback): void; + updatePerInstanceConfigs(callback: BodyResponseCallback): void; + } + interface Params$Resource$Instancegroupmanagers$Abandoninstances { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where the managed instance group is located. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManagersAbandonInstancesRequest; + } + interface Params$Resource$Instancegroupmanagers$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Instancegroupmanagers$Applyupdatestoinstances { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the managed instance group, should conform to RFC1035. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone where the managed instance group is located. Should + * conform to RFC1035. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManagersApplyUpdatesRequest; + } + interface Params$Resource$Instancegroupmanagers$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the managed instance group to delete. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where the managed instance group is located. + */ + zone?: string; + } + interface Params$Resource$Instancegroupmanagers$Deleteinstances { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where the managed instance group is located. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManagersDeleteInstancesRequest; + } + interface Params$Resource$Instancegroupmanagers$Deleteperinstanceconfigs { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the managed instance group. It should conform to RFC1035. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone where the managed instance group is located. It + * should conform to RFC1035. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManagersDeletePerInstanceConfigsReq; + } + interface Params$Resource$Instancegroupmanagers$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone where the managed instance group is located. + */ + zone?: string; + } + interface Params$Resource$Instancegroupmanagers$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where you want to create the managed instance group. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManager; + } + interface Params$Resource$Instancegroupmanagers$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone where the managed instance group is located. + */ + zone?: string; + } + interface Params$Resource$Instancegroupmanagers$Listmanagedinstances { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + order_by?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone where the managed instance group is located. + */ + zone?: string; + } + interface Params$Resource$Instancegroupmanagers$Listperinstanceconfigs { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The name of the managed instance group. It should conform to RFC1035. + */ + instanceGroupManager?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone where the managed instance group is located. It + * should conform to RFC1035. + */ + zone?: string; + } + interface Params$Resource$Instancegroupmanagers$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the instance group manager. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where you want to create the managed instance group. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManager; + } + interface Params$Resource$Instancegroupmanagers$Recreateinstances { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where the managed instance group is located. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManagersRecreateInstancesRequest; + } + interface Params$Resource$Instancegroupmanagers$Resize { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The number of running instances that the managed instance group should + * maintain at any given time. The group automatically adds or removes + * instances to maintain the number of instances specified by this + * parameter. + */ + size?: number; + /** + * The name of the zone where the managed instance group is located. + */ + zone?: string; + } + interface Params$Resource$Instancegroupmanagers$Resizeadvanced { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where the managed instance group is located. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManagersResizeAdvancedRequest; + } + interface Params$Resource$Instancegroupmanagers$Setautohealingpolicies { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the instance group manager. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where the managed instance group is located. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManagersSetAutoHealingRequest; + } + interface Params$Resource$Instancegroupmanagers$Setinstancetemplate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where the managed instance group is located. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManagersSetInstanceTemplateRequest; + } + interface Params$Resource$Instancegroupmanagers$Settargetpools { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where the managed instance group is located. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManagersSetTargetPoolsRequest; + } + interface Params$Resource$Instancegroupmanagers$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + interface Params$Resource$Instancegroupmanagers$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the instance group manager. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where you want to create the managed instance group. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManager; + } + interface Params$Resource$Instancegroupmanagers$Updateperinstanceconfigs { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the managed instance group. It should conform to RFC1035. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where the managed instance group is located. It + * should conform to RFC1035. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManagersUpdatePerInstanceConfigsReq; + } + class Resource$Instancegroups { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.instanceGroups.addInstances + * @desc Adds a list of instances to the specified instance group. All of + * the instances in the instance group must be in the same + * network/subnetwork. Read Adding instances for more information. + * @alias compute.instanceGroups.addInstances + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroup The name of the instance group where you are adding instances. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone where the instance group is located. + * @param {().InstanceGroupsAddInstancesRequest} 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 + */ + addInstances(params?: Params$Resource$Instancegroups$Addinstances, options?: MethodOptions): AxiosPromise; + addInstances(params: Params$Resource$Instancegroups$Addinstances, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + addInstances(params: Params$Resource$Instancegroups$Addinstances, callback: BodyResponseCallback): void; + addInstances(callback: BodyResponseCallback): void; + /** + * compute.instanceGroups.aggregatedList + * @desc Retrieves the list of instance groups and sorts them by zone. + * @alias compute.instanceGroups.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Instancegroups$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Instancegroups$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Instancegroups$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.instanceGroups.delete + * @desc Deletes the specified instance group. The instances in the group + * are not deleted. Note that instance group must not belong to a backend + * service. Read Deleting an instance group for more information. + * @alias compute.instanceGroups.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroup The name of the instance group to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone where the instance group is located. + * @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?: Params$Resource$Instancegroups$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Instancegroups$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Instancegroups$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.instanceGroups.get + * @desc Returns the specified instance group. Gets a list of available + * instance groups by making a list() request. + * @alias compute.instanceGroups.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroup The name of the instance group. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone where the instance group is located. + * @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?: Params$Resource$Instancegroups$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Instancegroups$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Instancegroups$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.instanceGroups.insert + * @desc Creates an instance group in the specified project using the + * parameters that are included in the request. + * @alias compute.instanceGroups.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone where you want to create the instance group. + * @param {().InstanceGroup} 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?: Params$Resource$Instancegroups$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Instancegroups$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Instancegroups$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.instanceGroups.list + * @desc Retrieves the list of instance groups that are located in the + * specified project and zone. + * @alias compute.instanceGroups.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone where the instance group is located. + * @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?: Params$Resource$Instancegroups$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Instancegroups$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Instancegroups$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.instanceGroups.listInstances + * @desc Lists the instances in the specified instance group. + * @alias compute.instanceGroups.listInstances + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {string} params.instanceGroup The name of the instance group from which you want to generate a list of included instances. + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone where the instance group is located. + * @param {().InstanceGroupsListInstancesRequest} 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 + */ + listInstances(params?: Params$Resource$Instancegroups$Listinstances, options?: MethodOptions): AxiosPromise; + listInstances(params: Params$Resource$Instancegroups$Listinstances, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listInstances(params: Params$Resource$Instancegroups$Listinstances, callback: BodyResponseCallback): void; + listInstances(callback: BodyResponseCallback): void; + /** + * compute.instanceGroups.removeInstances + * @desc Removes one or more instances from the specified instance group, + * but does not delete those instances. If the group is part of a backend + * service that has enabled connection draining, it can take up to 60 + * seconds after the connection draining duration before the VM instance is + * removed or deleted. + * @alias compute.instanceGroups.removeInstances + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroup The name of the instance group where the specified instances will be removed. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone where the instance group is located. + * @param {().InstanceGroupsRemoveInstancesRequest} 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 + */ + removeInstances(params?: Params$Resource$Instancegroups$Removeinstances, options?: MethodOptions): AxiosPromise; + removeInstances(params: Params$Resource$Instancegroups$Removeinstances, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + removeInstances(params: Params$Resource$Instancegroups$Removeinstances, callback: BodyResponseCallback): void; + removeInstances(callback: BodyResponseCallback): void; + /** + * compute.instanceGroups.setNamedPorts + * @desc Sets the named ports for the specified instance group. + * @alias compute.instanceGroups.setNamedPorts + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroup The name of the instance group where the named ports are updated. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone where the instance group is located. + * @param {().InstanceGroupsSetNamedPortsRequest} 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 + */ + setNamedPorts(params?: Params$Resource$Instancegroups$Setnamedports, options?: MethodOptions): AxiosPromise; + setNamedPorts(params: Params$Resource$Instancegroups$Setnamedports, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setNamedPorts(params: Params$Resource$Instancegroups$Setnamedports, callback: BodyResponseCallback): void; + setNamedPorts(callback: BodyResponseCallback): void; + /** + * compute.instanceGroups.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.instanceGroups.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {string} params.zone The name of the zone for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Instancegroups$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Instancegroups$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Instancegroups$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Instancegroups$Addinstances { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the instance group where you are adding instances. + */ + instanceGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where the instance group is located. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupsAddInstancesRequest; + } + interface Params$Resource$Instancegroups$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Instancegroups$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the instance group to delete. + */ + instanceGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where the instance group is located. + */ + zone?: string; + } + interface Params$Resource$Instancegroups$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the instance group. + */ + instanceGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone where the instance group is located. + */ + zone?: string; + } + interface Params$Resource$Instancegroups$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where you want to create the instance group. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroup; + } + interface Params$Resource$Instancegroups$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone where the instance group is located. + */ + zone?: string; + } + interface Params$Resource$Instancegroups$Listinstances { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The name of the instance group from which you want to generate a list of + * included instances. + */ + instanceGroup?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone where the instance group is located. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupsListInstancesRequest; + } + interface Params$Resource$Instancegroups$Removeinstances { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the instance group where the specified instances will be + * removed. + */ + instanceGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where the instance group is located. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupsRemoveInstancesRequest; + } + interface Params$Resource$Instancegroups$Setnamedports { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the instance group where the named ports are updated. + */ + instanceGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where the instance group is located. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupsSetNamedPortsRequest; + } + interface Params$Resource$Instancegroups$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Instances { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.instances.addAccessConfig + * @desc Adds an access config to an instance's network interface. + * @alias compute.instances.addAccessConfig + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance The instance name for this request. + * @param {string} params.networkInterface The name of the network interface to add to this instance. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().AccessConfig} 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 + */ + addAccessConfig(params?: Params$Resource$Instances$Addaccessconfig, options?: MethodOptions): AxiosPromise; + addAccessConfig(params: Params$Resource$Instances$Addaccessconfig, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + addAccessConfig(params: Params$Resource$Instances$Addaccessconfig, callback: BodyResponseCallback): void; + addAccessConfig(callback: BodyResponseCallback): void; + /** + * compute.instances.addResourcePolicies + * @desc Adds existing resource policies to an instance. You can only add + * one policy right now which will be applied to this instance for + * scheduling live migrations. + * @alias compute.instances.addResourcePolicies + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance The instance name for this request. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().InstancesAddResourcePoliciesRequest} 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 + */ + addResourcePolicies(params?: Params$Resource$Instances$Addresourcepolicies, options?: MethodOptions): AxiosPromise; + addResourcePolicies(params: Params$Resource$Instances$Addresourcepolicies, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + addResourcePolicies(params: Params$Resource$Instances$Addresourcepolicies, callback: BodyResponseCallback): void; + addResourcePolicies(callback: BodyResponseCallback): void; + /** + * compute.instances.aggregatedList + * @desc Retrieves aggregated list of all of the instances in your project + * across all regions and zones. + * @alias compute.instances.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Instances$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Instances$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Instances$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.instances.attachDisk + * @desc Attaches an existing Disk resource to an instance. You must first + * create the disk before you can attach it. It is not possible to create + * and attach a disk at the same time. For more information, read Adding a + * persistent disk to your instance. + * @alias compute.instances.attachDisk + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.forceAttach Whether to force attach the disk even if it's currently attached to another instance. This is only available for regional disks. + * @param {string} params.instance The instance name for this request. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().AttachedDisk} 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 + */ + attachDisk(params?: Params$Resource$Instances$Attachdisk, options?: MethodOptions): AxiosPromise; + attachDisk(params: Params$Resource$Instances$Attachdisk, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + attachDisk(params: Params$Resource$Instances$Attachdisk, callback: BodyResponseCallback): void; + attachDisk(callback: BodyResponseCallback): void; + /** + * compute.instances.delete + * @desc Deletes the specified Instance resource. For more information, see + * Stopping or Deleting an Instance. + * @alias compute.instances.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Name of the instance resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @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?: Params$Resource$Instances$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Instances$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Instances$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.instances.deleteAccessConfig + * @desc Deletes an access config from an instance's network interface. + * @alias compute.instances.deleteAccessConfig + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accessConfig The name of the access config to delete. + * @param {string} params.instance The instance name for this request. + * @param {string} params.networkInterface The name of the network interface. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @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 + */ + deleteAccessConfig(params?: Params$Resource$Instances$Deleteaccessconfig, options?: MethodOptions): AxiosPromise; + deleteAccessConfig(params: Params$Resource$Instances$Deleteaccessconfig, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + deleteAccessConfig(params: Params$Resource$Instances$Deleteaccessconfig, callback: BodyResponseCallback): void; + deleteAccessConfig(callback: BodyResponseCallback): void; + /** + * compute.instances.detachDisk + * @desc Detaches a disk from an instance. + * @alias compute.instances.detachDisk + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.deviceName Disk device name to detach. + * @param {string} params.instance Instance name. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @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 + */ + detachDisk(params?: Params$Resource$Instances$Detachdisk, options?: MethodOptions): AxiosPromise; + detachDisk(params: Params$Resource$Instances$Detachdisk, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + detachDisk(params: Params$Resource$Instances$Detachdisk, callback: BodyResponseCallback): void; + detachDisk(callback: BodyResponseCallback): void; + /** + * compute.instances.get + * @desc Returns the specified Instance resource. Gets a list of available + * instances by making a list() request. + * @alias compute.instances.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Name of the instance resource to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone for this request. + * @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?: Params$Resource$Instances$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Instances$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Instances$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.instances.getGuestAttributes + * @desc Returns the specified guest attributes entry. + * @alias compute.instances.getGuestAttributes + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Name of the instance scoping this request. + * @param {string} params.project Project ID for this request. + * @param {string=} params.variableKey Specifies the key for the guest attributes entry. + * @param {string} params.zone The name of the zone for this request. + * @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 + */ + getGuestAttributes(params?: Params$Resource$Instances$Getguestattributes, options?: MethodOptions): AxiosPromise; + getGuestAttributes(params: Params$Resource$Instances$Getguestattributes, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getGuestAttributes(params: Params$Resource$Instances$Getguestattributes, callback: BodyResponseCallback): void; + getGuestAttributes(callback: BodyResponseCallback): void; + /** + * compute.instances.getIamPolicy + * @desc Gets the access control policy for a resource. May be empty if no + * such policy or resource exists. + * @alias compute.instances.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {string} params.zone The name of the zone for this request. + * @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 + */ + getIamPolicy(params?: Params$Resource$Instances$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Instances$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Instances$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * compute.instances.getSerialPortOutput + * @desc Returns the last 1 MB of serial port output from the specified + * instance. + * @alias compute.instances.getSerialPortOutput + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Name of the instance scoping this request. + * @param {integer=} params.port Specifies which COM or serial port to retrieve data from. + * @param {string} params.project Project ID for this request. + * @param {string=} params.start Returns output starting from a specific byte position. Use this to page through output when the output is too large to return in a single request. For the initial request, leave this field unspecified. For subsequent calls, this field should be set to the next value returned in the previous call. + * @param {string} params.zone The name of the zone for this request. + * @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 + */ + getSerialPortOutput(params?: Params$Resource$Instances$Getserialportoutput, options?: MethodOptions): AxiosPromise; + getSerialPortOutput(params: Params$Resource$Instances$Getserialportoutput, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getSerialPortOutput(params: Params$Resource$Instances$Getserialportoutput, callback: BodyResponseCallback): void; + getSerialPortOutput(callback: BodyResponseCallback): void; + /** + * compute.instances.insert + * @desc Creates an instance resource in the specified project using the + * data included in the request. + * @alias compute.instances.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string=} params.sourceInstanceTemplate Specifies instance template to create the instance. This field is optional. It can be a full or partial URL. For example, the following are all valid URLs to an instance template: - https://www.googleapis.com/compute/v1/projects/project/global/instanceTemplates/instanceTemplate - projects/project/global/instanceTemplates/instanceTemplate - global/instanceTemplates/instanceTemplate + * @param {string=} params.sourceMachineImage Specifies instance machine to create the instance. This field is optional. It can be a full or partial URL. For example, the following are all valid URLs to an instance template: - https://www.googleapis.com/compute/v1/projects/project/global/global/machineImages/machineImage - projects/project/global/global/machineImages/machineImage - global/machineImages/machineImage + * @param {string} params.zone The name of the zone for this request. + * @param {().Instance} 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?: Params$Resource$Instances$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Instances$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Instances$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.instances.list + * @desc Retrieves the list of instances contained within the specified + * zone. + * @alias compute.instances.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone for this request. + * @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?: Params$Resource$Instances$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Instances$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Instances$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.instances.listReferrers + * @desc Retrieves the list of referrers to instances contained within the + * specified zone. + * @alias compute.instances.listReferrers + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {string} params.instance Name of the target instance scoping this request, or '-' if the request should span over all instances in the container. + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone for this request. + * @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 + */ + listReferrers(params?: Params$Resource$Instances$Listreferrers, options?: MethodOptions): AxiosPromise; + listReferrers(params: Params$Resource$Instances$Listreferrers, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listReferrers(params: Params$Resource$Instances$Listreferrers, callback: BodyResponseCallback): void; + listReferrers(callback: BodyResponseCallback): void; + /** + * compute.instances.removeResourcePolicies + * @desc Removes resource policies from an instance. + * @alias compute.instances.removeResourcePolicies + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance The instance name for this request. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().InstancesRemoveResourcePoliciesRequest} 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 + */ + removeResourcePolicies(params?: Params$Resource$Instances$Removeresourcepolicies, options?: MethodOptions): AxiosPromise; + removeResourcePolicies(params: Params$Resource$Instances$Removeresourcepolicies, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + removeResourcePolicies(params: Params$Resource$Instances$Removeresourcepolicies, callback: BodyResponseCallback): void; + removeResourcePolicies(callback: BodyResponseCallback): void; + /** + * compute.instances.reset + * @desc Performs a reset on the instance. For more information, see + * Resetting an instance. + * @alias compute.instances.reset + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Name of the instance scoping this request. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @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 + */ + reset(params?: Params$Resource$Instances$Reset, options?: MethodOptions): AxiosPromise; + reset(params: Params$Resource$Instances$Reset, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + reset(params: Params$Resource$Instances$Reset, callback: BodyResponseCallback): void; + reset(callback: BodyResponseCallback): void; + /** + * compute.instances.resume + * @desc Resumes an instance that was suspended using the + * instances().suspend method. + * @alias compute.instances.resume + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Name of the instance resource to resume. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().InstancesResumeRequest} 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 + */ + resume(params?: Params$Resource$Instances$Resume, options?: MethodOptions): AxiosPromise; + resume(params: Params$Resource$Instances$Resume, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + resume(params: Params$Resource$Instances$Resume, callback: BodyResponseCallback): void; + resume(callback: BodyResponseCallback): void; + /** + * compute.instances.setDeletionProtection + * @desc Sets deletion protection on the instance. + * @alias compute.instances.setDeletionProtection + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.deletionProtection Whether the resource should be protected against deletion. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.resource_ Name of the resource for this request. + * @param {string} params.zone The name of the zone for this request. + * @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 + */ + setDeletionProtection(params?: Params$Resource$Instances$Setdeletionprotection, options?: MethodOptions): AxiosPromise; + setDeletionProtection(params: Params$Resource$Instances$Setdeletionprotection, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setDeletionProtection(params: Params$Resource$Instances$Setdeletionprotection, callback: BodyResponseCallback): void; + setDeletionProtection(callback: BodyResponseCallback): void; + /** + * compute.instances.setDiskAutoDelete + * @desc Sets the auto-delete flag for a disk attached to an instance. + * @alias compute.instances.setDiskAutoDelete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean} params.autoDelete Whether to auto-delete the disk when the instance is deleted. + * @param {string} params.deviceName The device name of the disk to modify. + * @param {string} params.instance The instance name. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @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 + */ + setDiskAutoDelete(params?: Params$Resource$Instances$Setdiskautodelete, options?: MethodOptions): AxiosPromise; + setDiskAutoDelete(params: Params$Resource$Instances$Setdiskautodelete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setDiskAutoDelete(params: Params$Resource$Instances$Setdiskautodelete, callback: BodyResponseCallback): void; + setDiskAutoDelete(callback: BodyResponseCallback): void; + /** + * compute.instances.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @alias compute.instances.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {string} params.zone The name of the zone for this request. + * @param {().ZoneSetPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Instances$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Instances$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Instances$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * compute.instances.setLabels + * @desc Sets labels on an instance. To learn more about labels, read the + * Labeling Resources documentation. + * @alias compute.instances.setLabels + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Name of the instance scoping this request. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().InstancesSetLabelsRequest} 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 + */ + setLabels(params?: Params$Resource$Instances$Setlabels, options?: MethodOptions): AxiosPromise; + setLabels(params: Params$Resource$Instances$Setlabels, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setLabels(params: Params$Resource$Instances$Setlabels, callback: BodyResponseCallback): void; + setLabels(callback: BodyResponseCallback): void; + /** + * compute.instances.setMachineResources + * @desc Changes the number and/or type of accelerator for a stopped + * instance to the values specified in the request. + * @alias compute.instances.setMachineResources + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Name of the instance scoping this request. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().InstancesSetMachineResourcesRequest} 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 + */ + setMachineResources(params?: Params$Resource$Instances$Setmachineresources, options?: MethodOptions): AxiosPromise; + setMachineResources(params: Params$Resource$Instances$Setmachineresources, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setMachineResources(params: Params$Resource$Instances$Setmachineresources, callback: BodyResponseCallback): void; + setMachineResources(callback: BodyResponseCallback): void; + /** + * compute.instances.setMachineType + * @desc Changes the machine type for a stopped instance to the machine type + * specified in the request. + * @alias compute.instances.setMachineType + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Name of the instance scoping this request. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().InstancesSetMachineTypeRequest} 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 + */ + setMachineType(params?: Params$Resource$Instances$Setmachinetype, options?: MethodOptions): AxiosPromise; + setMachineType(params: Params$Resource$Instances$Setmachinetype, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setMachineType(params: Params$Resource$Instances$Setmachinetype, callback: BodyResponseCallback): void; + setMachineType(callback: BodyResponseCallback): void; + /** + * compute.instances.setMetadata + * @desc Sets metadata for the specified instance to the data included in + * the request. + * @alias compute.instances.setMetadata + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Name of the instance scoping this request. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().Metadata} 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 + */ + setMetadata(params?: Params$Resource$Instances$Setmetadata, options?: MethodOptions): AxiosPromise; + setMetadata(params: Params$Resource$Instances$Setmetadata, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setMetadata(params: Params$Resource$Instances$Setmetadata, callback: BodyResponseCallback): void; + setMetadata(callback: BodyResponseCallback): void; + /** + * compute.instances.setMinCpuPlatform + * @desc Changes the minimum CPU platform that this instance should use. + * This method can only be called on a stopped instance. For more + * information, read Specifying a Minimum CPU Platform. + * @alias compute.instances.setMinCpuPlatform + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Name of the instance scoping this request. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().InstancesSetMinCpuPlatformRequest} 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 + */ + setMinCpuPlatform(params?: Params$Resource$Instances$Setmincpuplatform, options?: MethodOptions): AxiosPromise; + setMinCpuPlatform(params: Params$Resource$Instances$Setmincpuplatform, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setMinCpuPlatform(params: Params$Resource$Instances$Setmincpuplatform, callback: BodyResponseCallback): void; + setMinCpuPlatform(callback: BodyResponseCallback): void; + /** + * compute.instances.setScheduling + * @desc Sets an instance's scheduling options. + * @alias compute.instances.setScheduling + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Instance name. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().Scheduling} 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 + */ + setScheduling(params?: Params$Resource$Instances$Setscheduling, options?: MethodOptions): AxiosPromise; + setScheduling(params: Params$Resource$Instances$Setscheduling, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setScheduling(params: Params$Resource$Instances$Setscheduling, callback: BodyResponseCallback): void; + setScheduling(callback: BodyResponseCallback): void; + /** + * compute.instances.setServiceAccount + * @desc Sets the service account on the instance. For more information, + * read Changing the service account and access scopes for an instance. + * @alias compute.instances.setServiceAccount + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Name of the instance resource to start. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().InstancesSetServiceAccountRequest} 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 + */ + setServiceAccount(params?: Params$Resource$Instances$Setserviceaccount, options?: MethodOptions): AxiosPromise; + setServiceAccount(params: Params$Resource$Instances$Setserviceaccount, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setServiceAccount(params: Params$Resource$Instances$Setserviceaccount, callback: BodyResponseCallback): void; + setServiceAccount(callback: BodyResponseCallback): void; + /** + * compute.instances.setShieldedVmIntegrityPolicy + * @desc Sets the Shielded VM integrity policy for a VM instance. You can + * only use this method on a running VM instance. This method supports PATCH + * semantics and uses the JSON merge patch format and processing rules. + * @alias compute.instances.setShieldedVmIntegrityPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Name of the instance scoping this request. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().ShieldedVmIntegrityPolicy} 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 + */ + setShieldedVmIntegrityPolicy(params?: Params$Resource$Instances$Setshieldedvmintegritypolicy, options?: MethodOptions): AxiosPromise; + setShieldedVmIntegrityPolicy(params: Params$Resource$Instances$Setshieldedvmintegritypolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setShieldedVmIntegrityPolicy(params: Params$Resource$Instances$Setshieldedvmintegritypolicy, callback: BodyResponseCallback): void; + setShieldedVmIntegrityPolicy(callback: BodyResponseCallback): void; + /** + * compute.instances.setTags + * @desc Sets tags for the specified instance to the data included in the + * request. + * @alias compute.instances.setTags + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Name of the instance scoping this request. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().Tags} 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 + */ + setTags(params?: Params$Resource$Instances$Settags, options?: MethodOptions): AxiosPromise; + setTags(params: Params$Resource$Instances$Settags, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setTags(params: Params$Resource$Instances$Settags, callback: BodyResponseCallback): void; + setTags(callback: BodyResponseCallback): void; + /** + * compute.instances.simulateMaintenanceEvent + * @desc Simulates a maintenance event on the instance. + * @alias compute.instances.simulateMaintenanceEvent + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Name of the instance scoping this request. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone for this request. + * @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 + */ + simulateMaintenanceEvent(params?: Params$Resource$Instances$Simulatemaintenanceevent, options?: MethodOptions): AxiosPromise; + simulateMaintenanceEvent(params: Params$Resource$Instances$Simulatemaintenanceevent, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + simulateMaintenanceEvent(params: Params$Resource$Instances$Simulatemaintenanceevent, callback: BodyResponseCallback): void; + simulateMaintenanceEvent(callback: BodyResponseCallback): void; + /** + * compute.instances.start + * @desc Starts an instance that was stopped using the instances().stop + * method. For more information, see Restart an instance. + * @alias compute.instances.start + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Name of the instance resource to start. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @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 + */ + start(params?: Params$Resource$Instances$Start, options?: MethodOptions): AxiosPromise; + start(params: Params$Resource$Instances$Start, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + start(params: Params$Resource$Instances$Start, callback: BodyResponseCallback): void; + start(callback: BodyResponseCallback): void; + /** + * compute.instances.startWithEncryptionKey + * @desc Starts an instance that was stopped using the instances().stop + * method. For more information, see Restart an instance. + * @alias compute.instances.startWithEncryptionKey + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Name of the instance resource to start. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().InstancesStartWithEncryptionKeyRequest} 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 + */ + startWithEncryptionKey(params?: Params$Resource$Instances$Startwithencryptionkey, options?: MethodOptions): AxiosPromise; + startWithEncryptionKey(params: Params$Resource$Instances$Startwithencryptionkey, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + startWithEncryptionKey(params: Params$Resource$Instances$Startwithencryptionkey, callback: BodyResponseCallback): void; + startWithEncryptionKey(callback: BodyResponseCallback): void; + /** + * compute.instances.stop + * @desc Stops a running instance, shutting it down cleanly, and allows you + * to restart the instance at a later time. Stopped instances do not incur + * VM usage charges while they are stopped. However, resources that the VM + * is using, such as persistent disks and static IP addresses, will continue + * to be charged until they are deleted. For more information, see Stopping + * an instance. + * @alias compute.instances.stop + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.discardLocalSsd If true, discard the contents of any attached localSSD partitions. Default value is false (== preserve localSSD data). + * @param {string} params.instance Name of the instance resource to stop. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @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 + */ + stop(params?: Params$Resource$Instances$Stop, options?: MethodOptions): AxiosPromise; + stop(params: Params$Resource$Instances$Stop, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + stop(params: Params$Resource$Instances$Stop, callback: BodyResponseCallback): void; + stop(callback: BodyResponseCallback): void; + /** + * compute.instances.suspend + * @desc This method suspends a running instance, saving its state to + * persistent storage, and allows you to resume the instance at a later + * time. Suspended instances incur reduced per-minute, virtual machine usage + * charges while they are suspended. Any resources the virtual machine is + * using, such as persistent disks and static IP addresses, will continue to + * be charged until they are deleted. + * @alias compute.instances.suspend + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.discardLocalSsd If true, discard the contents of any attached localSSD partitions. Default value is false (== preserve localSSD data). + * @param {string} params.instance Name of the instance resource to suspend. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @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 + */ + suspend(params?: Params$Resource$Instances$Suspend, options?: MethodOptions): AxiosPromise; + suspend(params: Params$Resource$Instances$Suspend, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + suspend(params: Params$Resource$Instances$Suspend, callback: BodyResponseCallback): void; + suspend(callback: BodyResponseCallback): void; + /** + * compute.instances.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.instances.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {string} params.zone The name of the zone for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Instances$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Instances$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Instances$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + /** + * compute.instances.updateAccessConfig + * @desc Updates the specified access config from an instance's network + * interface with the data included in the request. This method supports + * PATCH semantics and uses the JSON merge patch format and processing + * rules. + * @alias compute.instances.updateAccessConfig + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance The instance name for this request. + * @param {string} params.networkInterface The name of the network interface where the access config is attached. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().AccessConfig} 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 + */ + updateAccessConfig(params?: Params$Resource$Instances$Updateaccessconfig, options?: MethodOptions): AxiosPromise; + updateAccessConfig(params: Params$Resource$Instances$Updateaccessconfig, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + updateAccessConfig(params: Params$Resource$Instances$Updateaccessconfig, callback: BodyResponseCallback): void; + updateAccessConfig(callback: BodyResponseCallback): void; + /** + * compute.instances.updateNetworkInterface + * @desc Updates an instance's network interface. This method follows PATCH + * semantics. + * @alias compute.instances.updateNetworkInterface + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance The instance name for this request. + * @param {string} params.networkInterface The name of the network interface to update. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().NetworkInterface} 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 + */ + updateNetworkInterface(params?: Params$Resource$Instances$Updatenetworkinterface, options?: MethodOptions): AxiosPromise; + updateNetworkInterface(params: Params$Resource$Instances$Updatenetworkinterface, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + updateNetworkInterface(params: Params$Resource$Instances$Updatenetworkinterface, callback: BodyResponseCallback): void; + updateNetworkInterface(callback: BodyResponseCallback): void; + /** + * compute.instances.updateShieldedVmConfig + * @desc Updates the Shielded VM config for a VM instance. You can only use + * this method on a stopped VM instance. This method supports PATCH + * semantics and uses the JSON merge patch format and processing rules. + * @alias compute.instances.updateShieldedVmConfig + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Name of the instance scoping this request. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().ShieldedVmConfig} 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 + */ + updateShieldedVmConfig(params?: Params$Resource$Instances$Updateshieldedvmconfig, options?: MethodOptions): AxiosPromise; + updateShieldedVmConfig(params: Params$Resource$Instances$Updateshieldedvmconfig, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + updateShieldedVmConfig(params: Params$Resource$Instances$Updateshieldedvmconfig, callback: BodyResponseCallback): void; + updateShieldedVmConfig(callback: BodyResponseCallback): void; + } + interface Params$Resource$Instances$Addaccessconfig { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The instance name for this request. + */ + instance?: string; + /** + * The name of the network interface to add to this instance. + */ + networkInterface?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AccessConfig; + } + interface Params$Resource$Instances$Addresourcepolicies { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The instance name for this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstancesAddResourcePoliciesRequest; + } + interface Params$Resource$Instances$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Instances$Attachdisk { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Whether to force attach the disk even if it's currently attached to + * another instance. This is only available for regional disks. + */ + forceAttach?: boolean; + /** + * The instance name for this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AttachedDisk; + } + interface Params$Resource$Instances$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the instance resource to delete. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Instances$Deleteaccessconfig { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the access config to delete. + */ + accessConfig?: string; + /** + * The instance name for this request. + */ + instance?: string; + /** + * The name of the network interface. + */ + networkInterface?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Instances$Detachdisk { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Disk device name to detach. + */ + deviceName?: string; + /** + * Instance name. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Instances$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the instance resource to return. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Instances$Getguestattributes { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Specifies the key for the guest attributes entry. + */ + variableKey?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Instances$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Instances$Getserialportoutput { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Specifies which COM or serial port to retrieve data from. + */ + port?: number; + /** + * Project ID for this request. + */ + project?: string; + /** + * Returns output starting from a specific byte position. Use this to page + * through output when the output is too large to return in a single + * request. For the initial request, leave this field unspecified. For + * subsequent calls, this field should be set to the next value returned in + * the previous call. + */ + start?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Instances$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Specifies instance template to create the instance. This field is + * optional. It can be a full or partial URL. For example, the following are + * all valid URLs to an instance template: - + * https://www.googleapis.com/compute/v1/projects/project/global/instanceTemplates/instanceTemplate + * - projects/project/global/instanceTemplates/instanceTemplate - + * global/instanceTemplates/instanceTemplate + */ + sourceInstanceTemplate?: string; + /** + * Specifies instance machine to create the instance. This field is + * optional. It can be a full or partial URL. For example, the following are + * all valid URLs to an instance template: - + * https://www.googleapis.com/compute/v1/projects/project/global/global/machineImages/machineImage + * - projects/project/global/global/machineImages/machineImage - + * global/machineImages/machineImage + */ + sourceMachineImage?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Instance; + } + interface Params$Resource$Instances$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Instances$Listreferrers { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * Name of the target instance scoping this request, or '-' if the request + * should span over all instances in the container. + */ + instance?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Instances$Removeresourcepolicies { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The instance name for this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstancesRemoveResourcePoliciesRequest; + } + interface Params$Resource$Instances$Reset { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Instances$Resume { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the instance resource to resume. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstancesResumeRequest; + } + interface Params$Resource$Instances$Setdeletionprotection { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Whether the resource should be protected against deletion. + */ + deletionProtection?: boolean; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Instances$Setdiskautodelete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Whether to auto-delete the disk when the instance is deleted. + */ + autoDelete?: boolean; + /** + * The device name of the disk to modify. + */ + deviceName?: string; + /** + * The instance name. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Instances$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ZoneSetPolicyRequest; + } + interface Params$Resource$Instances$Setlabels { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstancesSetLabelsRequest; + } + interface Params$Resource$Instances$Setmachineresources { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstancesSetMachineResourcesRequest; + } + interface Params$Resource$Instances$Setmachinetype { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstancesSetMachineTypeRequest; + } + interface Params$Resource$Instances$Setmetadata { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Metadata; + } + interface Params$Resource$Instances$Setmincpuplatform { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstancesSetMinCpuPlatformRequest; + } + interface Params$Resource$Instances$Setscheduling { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Instance name. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Scheduling; + } + interface Params$Resource$Instances$Setserviceaccount { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the instance resource to start. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstancesSetServiceAccountRequest; + } + interface Params$Resource$Instances$Setshieldedvmintegritypolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ShieldedVmIntegrityPolicy; + } + interface Params$Resource$Instances$Settags { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Tags; + } + interface Params$Resource$Instances$Simulatemaintenanceevent { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Instances$Start { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the instance resource to start. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Instances$Startwithencryptionkey { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the instance resource to start. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstancesStartWithEncryptionKeyRequest; + } + interface Params$Resource$Instances$Stop { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * If true, discard the contents of any attached localSSD partitions. + * Default value is false (== preserve localSSD data). + */ + discardLocalSsd?: boolean; + /** + * Name of the instance resource to stop. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Instances$Suspend { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * If true, discard the contents of any attached localSSD partitions. + * Default value is false (== preserve localSSD data). + */ + discardLocalSsd?: boolean; + /** + * Name of the instance resource to suspend. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Instances$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + interface Params$Resource$Instances$Updateaccessconfig { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The instance name for this request. + */ + instance?: string; + /** + * The name of the network interface where the access config is attached. + */ + networkInterface?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AccessConfig; + } + interface Params$Resource$Instances$Updatenetworkinterface { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The instance name for this request. + */ + instance?: string; + /** + * The name of the network interface to update. + */ + networkInterface?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$NetworkInterface; + } + interface Params$Resource$Instances$Updateshieldedvmconfig { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ShieldedVmConfig; + } + class Resource$Instancetemplates { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.instanceTemplates.delete + * @desc Deletes the specified instance template. Deleting an instance + * template is permanent and cannot be undone. It's not possible to delete + * templates which are in use by an instance group. + * @alias compute.instanceTemplates.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceTemplate The name of the instance template to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Instancetemplates$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Instancetemplates$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Instancetemplates$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.instanceTemplates.get + * @desc Returns the specified instance template. Gets a list of available + * instance templates by making a list() request. + * @alias compute.instanceTemplates.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceTemplate The name of the instance template. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Instancetemplates$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Instancetemplates$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Instancetemplates$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.instanceTemplates.getIamPolicy + * @desc Gets the access control policy for a resource. May be empty if no + * such policy or resource exists. + * @alias compute.instanceTemplates.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @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 + */ + getIamPolicy(params?: Params$Resource$Instancetemplates$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Instancetemplates$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Instancetemplates$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * compute.instanceTemplates.insert + * @desc Creates an instance template in the specified project using the + * data that is included in the request. If you are creating a new template + * to update an existing instance group, your new instance template must use + * the same network or, if applicable, the same subnetwork as the original + * template. + * @alias compute.instanceTemplates.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().InstanceTemplate} 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?: Params$Resource$Instancetemplates$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Instancetemplates$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Instancetemplates$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.instanceTemplates.list + * @desc Retrieves a list of instance templates that are contained within + * the specified project and zone. + * @alias compute.instanceTemplates.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Instancetemplates$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Instancetemplates$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Instancetemplates$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.instanceTemplates.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @alias compute.instanceTemplates.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().GlobalSetPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Instancetemplates$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Instancetemplates$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Instancetemplates$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * compute.instanceTemplates.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.instanceTemplates.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Instancetemplates$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Instancetemplates$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Instancetemplates$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Instancetemplates$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the instance template to delete. + */ + instanceTemplate?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Instancetemplates$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the instance template. + */ + instanceTemplate?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Instancetemplates$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + } + interface Params$Resource$Instancetemplates$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceTemplate; + } + interface Params$Resource$Instancetemplates$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Instancetemplates$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GlobalSetPolicyRequest; + } + interface Params$Resource$Instancetemplates$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Interconnectattachments { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.interconnectAttachments.aggregatedList + * @desc Retrieves an aggregated list of interconnect attachments. + * @alias compute.interconnectAttachments.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Interconnectattachments$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Interconnectattachments$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Interconnectattachments$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.interconnectAttachments.delete + * @desc Deletes the specified interconnect attachment. + * @alias compute.interconnectAttachments.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.interconnectAttachment Name of the interconnect attachment to delete. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Interconnectattachments$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Interconnectattachments$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Interconnectattachments$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.interconnectAttachments.get + * @desc Returns the specified interconnect attachment. + * @alias compute.interconnectAttachments.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.interconnectAttachment Name of the interconnect attachment to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @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?: Params$Resource$Interconnectattachments$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Interconnectattachments$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Interconnectattachments$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.interconnectAttachments.getIamPolicy + * @desc Gets the access control policy for a resource. May be empty if no + * such policy or resource exists. + * @alias compute.interconnectAttachments.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @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 + */ + getIamPolicy(params?: Params$Resource$Interconnectattachments$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Interconnectattachments$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Interconnectattachments$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * compute.interconnectAttachments.insert + * @desc Creates an InterconnectAttachment in the specified project using + * the data included in the request. + * @alias compute.interconnectAttachments.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().InterconnectAttachment} 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?: Params$Resource$Interconnectattachments$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Interconnectattachments$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Interconnectattachments$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.interconnectAttachments.list + * @desc Retrieves the list of interconnect attachments contained within the + * specified region. + * @alias compute.interconnectAttachments.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @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?: Params$Resource$Interconnectattachments$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Interconnectattachments$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Interconnectattachments$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.interconnectAttachments.patch + * @desc Updates the specified interconnect attachment with the data + * included in the request. This method supports PATCH semantics and uses + * the JSON merge patch format and processing rules. + * @alias compute.interconnectAttachments.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.interconnectAttachment Name of the interconnect attachment to patch. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().InterconnectAttachment} 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 + */ + patch(params?: Params$Resource$Interconnectattachments$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Interconnectattachments$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Interconnectattachments$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * compute.interconnectAttachments.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @alias compute.interconnectAttachments.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().RegionSetPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Interconnectattachments$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Interconnectattachments$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Interconnectattachments$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * compute.interconnectAttachments.setLabels + * @desc Sets the labels on an InterconnectAttachment. To learn more about + * labels, read the Labeling Resources documentation. + * @alias compute.interconnectAttachments.setLabels + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.resource_ Name of the resource for this request. + * @param {().RegionSetLabelsRequest} 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 + */ + setLabels(params?: Params$Resource$Interconnectattachments$Setlabels, options?: MethodOptions): AxiosPromise; + setLabels(params: Params$Resource$Interconnectattachments$Setlabels, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setLabels(params: Params$Resource$Interconnectattachments$Setlabels, callback: BodyResponseCallback): void; + setLabels(callback: BodyResponseCallback): void; + /** + * compute.interconnectAttachments.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.interconnectAttachments.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Interconnectattachments$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Interconnectattachments$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Interconnectattachments$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Interconnectattachments$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Interconnectattachments$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the interconnect attachment to delete. + */ + interconnectAttachment?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Interconnectattachments$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the interconnect attachment to return. + */ + interconnectAttachment?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + } + interface Params$Resource$Interconnectattachments$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + } + interface Params$Resource$Interconnectattachments$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InterconnectAttachment; + } + interface Params$Resource$Interconnectattachments$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + } + interface Params$Resource$Interconnectattachments$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the interconnect attachment to patch. + */ + interconnectAttachment?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InterconnectAttachment; + } + interface Params$Resource$Interconnectattachments$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RegionSetPolicyRequest; + } + interface Params$Resource$Interconnectattachments$Setlabels { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RegionSetLabelsRequest; + } + interface Params$Resource$Interconnectattachments$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Interconnectlocations { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.interconnectLocations.get + * @desc Returns the details for the specified interconnect location. Gets a + * list of available interconnect locations by making a list() request. + * @alias compute.interconnectLocations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.interconnectLocation Name of the interconnect location to return. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Interconnectlocations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Interconnectlocations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Interconnectlocations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.interconnectLocations.list + * @desc Retrieves the list of interconnect locations available to the + * specified project. + * @alias compute.interconnectLocations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Interconnectlocations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Interconnectlocations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Interconnectlocations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.interconnectLocations.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.interconnectLocations.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Interconnectlocations$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Interconnectlocations$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Interconnectlocations$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Interconnectlocations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the interconnect location to return. + */ + interconnectLocation?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Interconnectlocations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Interconnectlocations$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Interconnects { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.interconnects.delete + * @desc Deletes the specified interconnect. + * @alias compute.interconnects.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.interconnect Name of the interconnect to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Interconnects$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Interconnects$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Interconnects$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.interconnects.get + * @desc Returns the specified interconnect. Get a list of available + * interconnects by making a list() request. + * @alias compute.interconnects.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.interconnect Name of the interconnect to return. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Interconnects$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Interconnects$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Interconnects$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.interconnects.getDiagnostics + * @desc Returns the interconnectDiagnostics for the specified interconnect. + * @alias compute.interconnects.getDiagnostics + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.interconnect Name of the interconnect resource to query. + * @param {string} params.project Project ID for this request. + * @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 + */ + getDiagnostics(params?: Params$Resource$Interconnects$Getdiagnostics, options?: MethodOptions): AxiosPromise; + getDiagnostics(params: Params$Resource$Interconnects$Getdiagnostics, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getDiagnostics(params: Params$Resource$Interconnects$Getdiagnostics, callback: BodyResponseCallback): void; + getDiagnostics(callback: BodyResponseCallback): void; + /** + * compute.interconnects.getIamPolicy + * @desc Gets the access control policy for a resource. May be empty if no + * such policy or resource exists. + * @alias compute.interconnects.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @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 + */ + getIamPolicy(params?: Params$Resource$Interconnects$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Interconnects$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Interconnects$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * compute.interconnects.insert + * @desc Creates a Interconnect in the specified project using the data + * included in the request. + * @alias compute.interconnects.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Interconnect} 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?: Params$Resource$Interconnects$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Interconnects$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Interconnects$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.interconnects.list + * @desc Retrieves the list of interconnect available to the specified + * project. + * @alias compute.interconnects.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Interconnects$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Interconnects$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Interconnects$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.interconnects.patch + * @desc Updates the specified interconnect with the data included in the + * request. This method supports PATCH semantics and uses the JSON merge + * patch format and processing rules. + * @alias compute.interconnects.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.interconnect Name of the interconnect to update. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Interconnect} 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 + */ + patch(params?: Params$Resource$Interconnects$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Interconnects$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Interconnects$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * compute.interconnects.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @alias compute.interconnects.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().GlobalSetPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Interconnects$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Interconnects$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Interconnects$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * compute.interconnects.setLabels + * @desc Sets the labels on an Interconnect. To learn more about labels, + * read the Labeling Resources documentation. + * @alias compute.interconnects.setLabels + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().GlobalSetLabelsRequest} 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 + */ + setLabels(params?: Params$Resource$Interconnects$Setlabels, options?: MethodOptions): AxiosPromise; + setLabels(params: Params$Resource$Interconnects$Setlabels, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setLabels(params: Params$Resource$Interconnects$Setlabels, callback: BodyResponseCallback): void; + setLabels(callback: BodyResponseCallback): void; + /** + * compute.interconnects.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.interconnects.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Interconnects$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Interconnects$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Interconnects$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Interconnects$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the interconnect to delete. + */ + interconnect?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Interconnects$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the interconnect to return. + */ + interconnect?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Interconnects$Getdiagnostics { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the interconnect resource to query. + */ + interconnect?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Interconnects$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + } + interface Params$Resource$Interconnects$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Interconnect; + } + interface Params$Resource$Interconnects$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Interconnects$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the interconnect to update. + */ + interconnect?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Interconnect; + } + interface Params$Resource$Interconnects$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GlobalSetPolicyRequest; + } + interface Params$Resource$Interconnects$Setlabels { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GlobalSetLabelsRequest; + } + interface Params$Resource$Interconnects$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Licensecodes { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.licenseCodes.get + * @desc Return a specified license code. License codes are mirrored across + * all projects that have permissions to read the License Code. + * @alias compute.licenseCodes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.licenseCode Number corresponding to the License code resource to return. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Licensecodes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Licensecodes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Licensecodes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.licenseCodes.getIamPolicy + * @desc Gets the access control policy for a resource. May be empty if no + * such policy or resource exists. + * @alias compute.licenseCodes.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @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 + */ + getIamPolicy(params?: Params$Resource$Licensecodes$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Licensecodes$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Licensecodes$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * compute.licenseCodes.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @alias compute.licenseCodes.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().GlobalSetPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Licensecodes$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Licensecodes$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Licensecodes$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * compute.licenseCodes.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.licenseCodes.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Licensecodes$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Licensecodes$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Licensecodes$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Licensecodes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Number corresponding to the License code resource to return. + */ + licenseCode?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Licensecodes$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + } + interface Params$Resource$Licensecodes$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GlobalSetPolicyRequest; + } + interface Params$Resource$Licensecodes$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Licenses { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.licenses.delete + * @desc Deletes the specified license. + * @alias compute.licenses.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.license Name of the license resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Licenses$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Licenses$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Licenses$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.licenses.get + * @desc Returns the specified License resource. + * @alias compute.licenses.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.license Name of the License resource to return. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Licenses$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Licenses$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Licenses$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.licenses.getIamPolicy + * @desc Gets the access control policy for a resource. May be empty if no + * such policy or resource exists. + * @alias compute.licenses.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @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 + */ + getIamPolicy(params?: Params$Resource$Licenses$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Licenses$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Licenses$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * compute.licenses.insert + * @desc Create a License resource in the specified project. + * @alias compute.licenses.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().License} 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?: Params$Resource$Licenses$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Licenses$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Licenses$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.licenses.list + * @desc Retrieves the list of licenses available in the specified project. + * This method does not get any licenses that belong to other projects, + * including licenses attached to publicly-available images, like Debian 9. + * If you want to get a list of publicly-available licenses, use this method + * to make a request to the respective image project, such as debian-cloud + * or windows-cloud. + * @alias compute.licenses.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Licenses$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Licenses$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Licenses$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.licenses.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @alias compute.licenses.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().GlobalSetPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Licenses$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Licenses$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Licenses$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * compute.licenses.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.licenses.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Licenses$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Licenses$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Licenses$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Licenses$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the license resource to delete. + */ + license?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Licenses$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the License resource to return. + */ + license?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Licenses$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + } + interface Params$Resource$Licenses$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$License; + } + interface Params$Resource$Licenses$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Licenses$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GlobalSetPolicyRequest; + } + interface Params$Resource$Licenses$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Machineimages { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.machineImages.delete + * @desc Deletes the specified machine image. If you delete an instance + * template that is being referenced from another instance group, the + * instance group will not be able to create or recreate virtual machine + * instances. Deleting an machine image is permanent and cannot be undone. + * @alias compute.machineImages.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.machineImage The name of the machine image to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Machineimages$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Machineimages$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Machineimages$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.machineImages.get + * @desc Returns the specified machine image. Gets a list of available + * machine images by making a list() request. + * @alias compute.machineImages.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.machineImage The name of the machine image. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Machineimages$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Machineimages$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Machineimages$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.machineImages.getIamPolicy + * @desc Gets the access control policy for a resource. May be empty if no + * such policy or resource exists. + * @alias compute.machineImages.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @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 + */ + getIamPolicy(params?: Params$Resource$Machineimages$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Machineimages$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Machineimages$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * compute.machineImages.insert + * @desc Creates an machine image in the specified project using the data + * that is included in the request. If you are creating a new template to + * update an existing instance group, your new machine image must use the + * same network or, if applicable, the same subnetwork as the original + * template. + * @alias compute.machineImages.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string=} params.sourceInstance Optional. Source image to restore onto a disk. + * @param {().MachineImage} 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?: Params$Resource$Machineimages$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Machineimages$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Machineimages$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.machineImages.list + * @desc Retrieves a list of machine images that are contained within the + * specified project. + * @alias compute.machineImages.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Machineimages$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Machineimages$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Machineimages$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.machineImages.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @alias compute.machineImages.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().GlobalSetPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Machineimages$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Machineimages$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Machineimages$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * compute.machineImages.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.machineImages.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Machineimages$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Machineimages$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Machineimages$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Machineimages$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the machine image to delete. + */ + machineImage?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Machineimages$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the machine image. + */ + machineImage?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Machineimages$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + } + interface Params$Resource$Machineimages$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Optional. Source image to restore onto a disk. + */ + sourceInstance?: string; + /** + * Request body metadata + */ + requestBody?: Schema$MachineImage; + } + interface Params$Resource$Machineimages$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Machineimages$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GlobalSetPolicyRequest; + } + interface Params$Resource$Machineimages$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Machinetypes { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.machineTypes.aggregatedList + * @desc Retrieves an aggregated list of machine types. + * @alias compute.machineTypes.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Machinetypes$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Machinetypes$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Machinetypes$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.machineTypes.get + * @desc Returns the specified machine type. Gets a list of available + * machine types by making a list() request. + * @alias compute.machineTypes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.machineType Name of the machine type to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone for this request. + * @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?: Params$Resource$Machinetypes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Machinetypes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Machinetypes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.machineTypes.list + * @desc Retrieves a list of machine types available to the specified + * project. + * @alias compute.machineTypes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone for this request. + * @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?: Params$Resource$Machinetypes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Machinetypes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Machinetypes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Machinetypes$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Machinetypes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the machine type to return. + */ + machineType?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Machinetypes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + class Resource$Networkendpointgroups { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.networkEndpointGroups.aggregatedList + * @desc Retrieves the list of network endpoint groups and sorts them by + * zone. + * @alias compute.networkEndpointGroups.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Networkendpointgroups$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Networkendpointgroups$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Networkendpointgroups$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.networkEndpointGroups.attachNetworkEndpoints + * @desc Attach a list of network endpoints to the specified network + * endpoint group. + * @alias compute.networkEndpointGroups.attachNetworkEndpoints + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.networkEndpointGroup The name of the network endpoint group where you are attaching network endpoints to. It should comply with RFC1035. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone where the network endpoint group is located. It should comply with RFC1035. + * @param {().NetworkEndpointGroupsAttachEndpointsRequest} 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 + */ + attachNetworkEndpoints(params?: Params$Resource$Networkendpointgroups$Attachnetworkendpoints, options?: MethodOptions): AxiosPromise; + attachNetworkEndpoints(params: Params$Resource$Networkendpointgroups$Attachnetworkendpoints, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + attachNetworkEndpoints(params: Params$Resource$Networkendpointgroups$Attachnetworkendpoints, callback: BodyResponseCallback): void; + attachNetworkEndpoints(callback: BodyResponseCallback): void; + /** + * compute.networkEndpointGroups.delete + * @desc Deletes the specified network endpoint group. The network endpoints + * in the NEG and the VM instances they belong to are not terminated when + * the NEG is deleted. Note that the NEG cannot be deleted if there are + * backend services referencing it. + * @alias compute.networkEndpointGroups.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.networkEndpointGroup The name of the network endpoint group to delete. It should comply with RFC1035. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone where the network endpoint group is located. It should comply with RFC1035. + * @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?: Params$Resource$Networkendpointgroups$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Networkendpointgroups$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Networkendpointgroups$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.networkEndpointGroups.detachNetworkEndpoints + * @desc Detach a list of network endpoints from the specified network + * endpoint group. + * @alias compute.networkEndpointGroups.detachNetworkEndpoints + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.networkEndpointGroup The name of the network endpoint group where you are removing network endpoints. It should comply with RFC1035. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone where the network endpoint group is located. It should comply with RFC1035. + * @param {().NetworkEndpointGroupsDetachEndpointsRequest} 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 + */ + detachNetworkEndpoints(params?: Params$Resource$Networkendpointgroups$Detachnetworkendpoints, options?: MethodOptions): AxiosPromise; + detachNetworkEndpoints(params: Params$Resource$Networkendpointgroups$Detachnetworkendpoints, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + detachNetworkEndpoints(params: Params$Resource$Networkendpointgroups$Detachnetworkendpoints, callback: BodyResponseCallback): void; + detachNetworkEndpoints(callback: BodyResponseCallback): void; + /** + * compute.networkEndpointGroups.get + * @desc Returns the specified network endpoint group. Gets a list of + * available network endpoint groups by making a list() request. + * @alias compute.networkEndpointGroups.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.networkEndpointGroup The name of the network endpoint group. It should comply with RFC1035. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone where the network endpoint group is located. It should comply with RFC1035. + * @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?: Params$Resource$Networkendpointgroups$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Networkendpointgroups$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Networkendpointgroups$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.networkEndpointGroups.insert + * @desc Creates a network endpoint group in the specified project using the + * parameters that are included in the request. + * @alias compute.networkEndpointGroups.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone where you want to create the network endpoint group. It should comply with RFC1035. + * @param {().NetworkEndpointGroup} 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?: Params$Resource$Networkendpointgroups$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Networkendpointgroups$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Networkendpointgroups$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.networkEndpointGroups.list + * @desc Retrieves the list of network endpoint groups that are located in + * the specified project and zone. + * @alias compute.networkEndpointGroups.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone where the network endpoint group is located. It should comply with RFC1035. + * @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?: Params$Resource$Networkendpointgroups$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Networkendpointgroups$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Networkendpointgroups$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.networkEndpointGroups.listNetworkEndpoints + * @desc Lists the network endpoints in the specified network endpoint + * group. + * @alias compute.networkEndpointGroups.listNetworkEndpoints + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string} params.networkEndpointGroup The name of the network endpoint group from which you want to generate a list of included network endpoints. It should comply with RFC1035. + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone where the network endpoint group is located. It should comply with RFC1035. + * @param {().NetworkEndpointGroupsListEndpointsRequest} 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 + */ + listNetworkEndpoints(params?: Params$Resource$Networkendpointgroups$Listnetworkendpoints, options?: MethodOptions): AxiosPromise; + listNetworkEndpoints(params: Params$Resource$Networkendpointgroups$Listnetworkendpoints, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listNetworkEndpoints(params: Params$Resource$Networkendpointgroups$Listnetworkendpoints, callback: BodyResponseCallback): void; + listNetworkEndpoints(callback: BodyResponseCallback): void; + /** + * compute.networkEndpointGroups.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.networkEndpointGroups.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {string} params.zone The name of the zone for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Networkendpointgroups$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Networkendpointgroups$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Networkendpointgroups$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Networkendpointgroups$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Networkendpointgroups$Attachnetworkendpoints { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the network endpoint group where you are attaching network + * endpoints to. It should comply with RFC1035. + */ + networkEndpointGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where the network endpoint group is located. It + * should comply with RFC1035. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$NetworkEndpointGroupsAttachEndpointsRequest; + } + interface Params$Resource$Networkendpointgroups$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the network endpoint group to delete. It should comply with + * RFC1035. + */ + networkEndpointGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where the network endpoint group is located. It + * should comply with RFC1035. + */ + zone?: string; + } + interface Params$Resource$Networkendpointgroups$Detachnetworkendpoints { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the network endpoint group where you are removing network + * endpoints. It should comply with RFC1035. + */ + networkEndpointGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where the network endpoint group is located. It + * should comply with RFC1035. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$NetworkEndpointGroupsDetachEndpointsRequest; + } + interface Params$Resource$Networkendpointgroups$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the network endpoint group. It should comply with RFC1035. + */ + networkEndpointGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone where the network endpoint group is located. It + * should comply with RFC1035. + */ + zone?: string; + } + interface Params$Resource$Networkendpointgroups$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where you want to create the network endpoint group. + * It should comply with RFC1035. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$NetworkEndpointGroup; + } + interface Params$Resource$Networkendpointgroups$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone where the network endpoint group is located. It + * should comply with RFC1035. + */ + zone?: string; + } + interface Params$Resource$Networkendpointgroups$Listnetworkendpoints { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * The name of the network endpoint group from which you want to generate a + * list of included network endpoints. It should comply with RFC1035. + */ + networkEndpointGroup?: string; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone where the network endpoint group is located. It + * should comply with RFC1035. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$NetworkEndpointGroupsListEndpointsRequest; + } + interface Params$Resource$Networkendpointgroups$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Networks { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.networks.addPeering + * @desc Adds a peering to the specified network. + * @alias compute.networks.addPeering + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.network Name of the network resource to add peering to. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().NetworksAddPeeringRequest} 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 + */ + addPeering(params?: Params$Resource$Networks$Addpeering, options?: MethodOptions): AxiosPromise; + addPeering(params: Params$Resource$Networks$Addpeering, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + addPeering(params: Params$Resource$Networks$Addpeering, callback: BodyResponseCallback): void; + addPeering(callback: BodyResponseCallback): void; + /** + * compute.networks.delete + * @desc Deletes the specified network. + * @alias compute.networks.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.network Name of the network to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Networks$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Networks$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Networks$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.networks.get + * @desc Returns the specified network. Gets a list of available networks by + * making a list() request. + * @alias compute.networks.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.network Name of the network to return. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Networks$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Networks$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Networks$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.networks.insert + * @desc Creates a network in the specified project using the data included + * in the request. + * @alias compute.networks.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Network} 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?: Params$Resource$Networks$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Networks$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Networks$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.networks.list + * @desc Retrieves the list of networks available to the specified project. + * @alias compute.networks.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Networks$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Networks$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Networks$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.networks.listIpAddresses + * @desc Lists the internal IP addresses in the specified network. + * @alias compute.networks.listIpAddresses + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string} params.network Name of the network for this request. + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string=} params.types (Optional) types filter separate by comma, valid values are: SUBNETWORK, RESERVED, PEER_USED, PEER_RESERVED, REMOTE_USED, REMOTE_RESERVED. + * @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 + */ + listIpAddresses(params?: Params$Resource$Networks$Listipaddresses, options?: MethodOptions): AxiosPromise; + listIpAddresses(params: Params$Resource$Networks$Listipaddresses, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listIpAddresses(params: Params$Resource$Networks$Listipaddresses, callback: BodyResponseCallback): void; + listIpAddresses(callback: BodyResponseCallback): void; + /** + * compute.networks.listIpOwners + * @desc Lists the internal IP owners in the specified network. + * @alias compute.networks.listIpOwners + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {string=} params.ipCidrRange (Optional) IP CIDR range filter, example: "10.128.10.0/30". + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string} params.network Name of the network to return. + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.ownerProjects (Optional) Project IDs filter, example: "project-1,project-2". + * @param {string=} params.ownerTypes (Optional) Owner types filter, example: "instance,forwardingRule". + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string=} params.subnetName (Optional) Subnetwork name filter. + * @param {string=} params.subnetRegion (Optional) Subnetwork region filter. + * @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 + */ + listIpOwners(params?: Params$Resource$Networks$Listipowners, options?: MethodOptions): AxiosPromise; + listIpOwners(params: Params$Resource$Networks$Listipowners, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listIpOwners(params: Params$Resource$Networks$Listipowners, callback: BodyResponseCallback): void; + listIpOwners(callback: BodyResponseCallback): void; + /** + * compute.networks.patch + * @desc Patches the specified network with the data included in the + * request. Only the following fields can be modified: + * routingConfig.routingMode. + * @alias compute.networks.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.network Name of the network to update. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Network} 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 + */ + patch(params?: Params$Resource$Networks$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Networks$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Networks$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * compute.networks.removePeering + * @desc Removes a peering from the specified network. + * @alias compute.networks.removePeering + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.network Name of the network resource to remove peering from. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().NetworksRemovePeeringRequest} 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 + */ + removePeering(params?: Params$Resource$Networks$Removepeering, options?: MethodOptions): AxiosPromise; + removePeering(params: Params$Resource$Networks$Removepeering, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + removePeering(params: Params$Resource$Networks$Removepeering, callback: BodyResponseCallback): void; + removePeering(callback: BodyResponseCallback): void; + /** + * compute.networks.switchToCustomMode + * @desc Switches the network mode from auto subnet mode to custom subnet + * mode. + * @alias compute.networks.switchToCustomMode + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.network Name of the network to be updated. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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 + */ + switchToCustomMode(params?: Params$Resource$Networks$Switchtocustommode, options?: MethodOptions): AxiosPromise; + switchToCustomMode(params: Params$Resource$Networks$Switchtocustommode, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + switchToCustomMode(params: Params$Resource$Networks$Switchtocustommode, callback: BodyResponseCallback): void; + switchToCustomMode(callback: BodyResponseCallback): void; + /** + * compute.networks.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.networks.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Networks$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Networks$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Networks$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + /** + * compute.networks.updatePeering + * @desc Updates the specified network peering with the data included in the + * request Only the following fields can be modified: + * NetworkPeering.export_custom_routes, and + * NetworkPeering.import_custom_routes + * @alias compute.networks.updatePeering + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.network Name of the network resource which the updated peering is belonging to. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().NetworksUpdatePeeringRequest} 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 + */ + updatePeering(params?: Params$Resource$Networks$Updatepeering, options?: MethodOptions): AxiosPromise; + updatePeering(params: Params$Resource$Networks$Updatepeering, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + updatePeering(params: Params$Resource$Networks$Updatepeering, callback: BodyResponseCallback): void; + updatePeering(callback: BodyResponseCallback): void; + } + interface Params$Resource$Networks$Addpeering { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the network resource to add peering to. + */ + network?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$NetworksAddPeeringRequest; + } + interface Params$Resource$Networks$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the network to delete. + */ + network?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Networks$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the network to return. + */ + network?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Networks$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Network; + } + interface Params$Resource$Networks$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Networks$Listipaddresses { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Name of the network for this request. + */ + network?: string; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * (Optional) types filter separate by comma, valid values are: SUBNETWORK, + * RESERVED, PEER_USED, PEER_RESERVED, REMOTE_USED, REMOTE_RESERVED. + */ + types?: string; + } + interface Params$Resource$Networks$Listipowners { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * (Optional) IP CIDR range filter, example: "10.128.10.0/30". + */ + ipCidrRange?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Name of the network to return. + */ + network?: string; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * (Optional) Project IDs filter, example: "project-1,project-2". + */ + ownerProjects?: string; + /** + * (Optional) Owner types filter, example: "instance,forwardingRule". + */ + ownerTypes?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * (Optional) Subnetwork name filter. + */ + subnetName?: string; + /** + * (Optional) Subnetwork region filter. + */ + subnetRegion?: string; + } + interface Params$Resource$Networks$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the network to update. + */ + network?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Network; + } + interface Params$Resource$Networks$Removepeering { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the network resource to remove peering from. + */ + network?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$NetworksRemovePeeringRequest; + } + interface Params$Resource$Networks$Switchtocustommode { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the network to be updated. + */ + network?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Networks$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + interface Params$Resource$Networks$Updatepeering { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the network resource which the updated peering is belonging to. + */ + network?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$NetworksUpdatePeeringRequest; + } + class Resource$Nodegroups { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.nodeGroups.addNodes + * @desc Adds specified number of nodes to the node group. + * @alias compute.nodeGroups.addNodes + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.nodeGroup Name of the NodeGroup resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().NodeGroupsAddNodesRequest} 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 + */ + addNodes(params?: Params$Resource$Nodegroups$Addnodes, options?: MethodOptions): AxiosPromise; + addNodes(params: Params$Resource$Nodegroups$Addnodes, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + addNodes(params: Params$Resource$Nodegroups$Addnodes, callback: BodyResponseCallback): void; + addNodes(callback: BodyResponseCallback): void; + /** + * compute.nodeGroups.aggregatedList + * @desc Retrieves an aggregated list of node groups. Note: use + * nodeGroups.listNodes for more details about each group. + * @alias compute.nodeGroups.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Nodegroups$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Nodegroups$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Nodegroups$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.nodeGroups.delete + * @desc Deletes the specified NodeGroup resource. + * @alias compute.nodeGroups.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.nodeGroup Name of the NodeGroup resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @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?: Params$Resource$Nodegroups$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Nodegroups$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Nodegroups$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.nodeGroups.deleteNodes + * @desc Deletes specified nodes from the node group. + * @alias compute.nodeGroups.deleteNodes + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.nodeGroup Name of the NodeGroup resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().NodeGroupsDeleteNodesRequest} 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 + */ + deleteNodes(params?: Params$Resource$Nodegroups$Deletenodes, options?: MethodOptions): AxiosPromise; + deleteNodes(params: Params$Resource$Nodegroups$Deletenodes, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + deleteNodes(params: Params$Resource$Nodegroups$Deletenodes, callback: BodyResponseCallback): void; + deleteNodes(callback: BodyResponseCallback): void; + /** + * compute.nodeGroups.get + * @desc Returns the specified NodeGroup. Get a list of available NodeGroups + * by making a list() request. Note: the "nodes" field should not be used. + * Use nodeGroups.listNodes instead. + * @alias compute.nodeGroups.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.nodeGroup Name of the node group to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone for this request. + * @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?: Params$Resource$Nodegroups$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Nodegroups$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Nodegroups$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.nodeGroups.getIamPolicy + * @desc Gets the access control policy for a resource. May be empty if no + * such policy or resource exists. + * @alias compute.nodeGroups.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {string} params.zone The name of the zone for this request. + * @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 + */ + getIamPolicy(params?: Params$Resource$Nodegroups$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Nodegroups$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Nodegroups$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * compute.nodeGroups.insert + * @desc Creates a NodeGroup resource in the specified project using the + * data included in the request. + * @alias compute.nodeGroups.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.initialNodeCount Initial count of nodes in the node group. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().NodeGroup} 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?: Params$Resource$Nodegroups$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Nodegroups$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Nodegroups$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.nodeGroups.list + * @desc Retrieves a list of node groups available to the specified project. + * Note: use nodeGroups.listNodes for more details about each group. + * @alias compute.nodeGroups.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone for this request. + * @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?: Params$Resource$Nodegroups$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Nodegroups$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Nodegroups$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.nodeGroups.listNodes + * @desc Lists nodes in the node group. + * @alias compute.nodeGroups.listNodes + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string} params.nodeGroup Name of the NodeGroup resource whose nodes you want to list. + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone for this request. + * @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 + */ + listNodes(params?: Params$Resource$Nodegroups$Listnodes, options?: MethodOptions): AxiosPromise; + listNodes(params: Params$Resource$Nodegroups$Listnodes, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listNodes(params: Params$Resource$Nodegroups$Listnodes, callback: BodyResponseCallback): void; + listNodes(callback: BodyResponseCallback): void; + /** + * compute.nodeGroups.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @alias compute.nodeGroups.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {string} params.zone The name of the zone for this request. + * @param {().ZoneSetPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Nodegroups$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Nodegroups$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Nodegroups$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * compute.nodeGroups.setNodeTemplate + * @desc Updates the node template of the node group. + * @alias compute.nodeGroups.setNodeTemplate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.nodeGroup Name of the NodeGroup resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().NodeGroupsSetNodeTemplateRequest} 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 + */ + setNodeTemplate(params?: Params$Resource$Nodegroups$Setnodetemplate, options?: MethodOptions): AxiosPromise; + setNodeTemplate(params: Params$Resource$Nodegroups$Setnodetemplate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setNodeTemplate(params: Params$Resource$Nodegroups$Setnodetemplate, callback: BodyResponseCallback): void; + setNodeTemplate(callback: BodyResponseCallback): void; + /** + * compute.nodeGroups.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.nodeGroups.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {string} params.zone The name of the zone for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Nodegroups$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Nodegroups$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Nodegroups$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Nodegroups$Addnodes { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the NodeGroup resource to delete. + */ + nodeGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$NodeGroupsAddNodesRequest; + } + interface Params$Resource$Nodegroups$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Nodegroups$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the NodeGroup resource to delete. + */ + nodeGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Nodegroups$Deletenodes { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the NodeGroup resource to delete. + */ + nodeGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$NodeGroupsDeleteNodesRequest; + } + interface Params$Resource$Nodegroups$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the node group to return. + */ + nodeGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Nodegroups$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Nodegroups$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Initial count of nodes in the node group. + */ + initialNodeCount?: number; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$NodeGroup; + } + interface Params$Resource$Nodegroups$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Nodegroups$Listnodes { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Name of the NodeGroup resource whose nodes you want to list. + */ + nodeGroup?: string; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Nodegroups$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ZoneSetPolicyRequest; + } + interface Params$Resource$Nodegroups$Setnodetemplate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the NodeGroup resource to delete. + */ + nodeGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$NodeGroupsSetNodeTemplateRequest; + } + interface Params$Resource$Nodegroups$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Nodetemplates { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.nodeTemplates.aggregatedList + * @desc Retrieves an aggregated list of node templates. + * @alias compute.nodeTemplates.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Nodetemplates$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Nodetemplates$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Nodetemplates$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.nodeTemplates.delete + * @desc Deletes the specified NodeTemplate resource. + * @alias compute.nodeTemplates.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.nodeTemplate Name of the NodeTemplate resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Nodetemplates$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Nodetemplates$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Nodetemplates$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.nodeTemplates.get + * @desc Returns the specified node template. Gets a list of available node + * templates by making a list() request. + * @alias compute.nodeTemplates.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.nodeTemplate Name of the node template to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @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?: Params$Resource$Nodetemplates$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Nodetemplates$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Nodetemplates$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.nodeTemplates.getIamPolicy + * @desc Gets the access control policy for a resource. May be empty if no + * such policy or resource exists. + * @alias compute.nodeTemplates.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @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 + */ + getIamPolicy(params?: Params$Resource$Nodetemplates$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Nodetemplates$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Nodetemplates$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * compute.nodeTemplates.insert + * @desc Creates a NodeTemplate resource in the specified project using the + * data included in the request. + * @alias compute.nodeTemplates.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().NodeTemplate} 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?: Params$Resource$Nodetemplates$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Nodetemplates$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Nodetemplates$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.nodeTemplates.list + * @desc Retrieves a list of node templates available to the specified + * project. + * @alias compute.nodeTemplates.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @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?: Params$Resource$Nodetemplates$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Nodetemplates$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Nodetemplates$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.nodeTemplates.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @alias compute.nodeTemplates.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().RegionSetPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Nodetemplates$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Nodetemplates$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Nodetemplates$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * compute.nodeTemplates.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.nodeTemplates.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Nodetemplates$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Nodetemplates$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Nodetemplates$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Nodetemplates$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Nodetemplates$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the NodeTemplate resource to delete. + */ + nodeTemplate?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Nodetemplates$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the node template to return. + */ + nodeTemplate?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + } + interface Params$Resource$Nodetemplates$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + } + interface Params$Resource$Nodetemplates$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$NodeTemplate; + } + interface Params$Resource$Nodetemplates$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + } + interface Params$Resource$Nodetemplates$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RegionSetPolicyRequest; + } + interface Params$Resource$Nodetemplates$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Nodetypes { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.nodeTypes.aggregatedList + * @desc Retrieves an aggregated list of node types. + * @alias compute.nodeTypes.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Nodetypes$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Nodetypes$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Nodetypes$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.nodeTypes.get + * @desc Returns the specified node type. Gets a list of available node + * types by making a list() request. + * @alias compute.nodeTypes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.nodeType Name of the node type to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone for this request. + * @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?: Params$Resource$Nodetypes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Nodetypes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Nodetypes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.nodeTypes.list + * @desc Retrieves a list of node types available to the specified project. + * @alias compute.nodeTypes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone for this request. + * @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?: Params$Resource$Nodetypes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Nodetypes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Nodetypes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Nodetypes$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Nodetypes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the node type to return. + */ + nodeType?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Nodetypes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + class Resource$Projects { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.projects.disableXpnHost + * @desc Disable this project as a shared VPC host project. + * @alias compute.projects.disableXpnHost + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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 + */ + disableXpnHost(params?: Params$Resource$Projects$Disablexpnhost, options?: MethodOptions): AxiosPromise; + disableXpnHost(params: Params$Resource$Projects$Disablexpnhost, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + disableXpnHost(params: Params$Resource$Projects$Disablexpnhost, callback: BodyResponseCallback): void; + disableXpnHost(callback: BodyResponseCallback): void; + /** + * compute.projects.disableXpnResource + * @desc Disable a serivce resource (a.k.a service project) associated with + * this host project. + * @alias compute.projects.disableXpnResource + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().ProjectsDisableXpnResourceRequest} 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 + */ + disableXpnResource(params?: Params$Resource$Projects$Disablexpnresource, options?: MethodOptions): AxiosPromise; + disableXpnResource(params: Params$Resource$Projects$Disablexpnresource, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + disableXpnResource(params: Params$Resource$Projects$Disablexpnresource, callback: BodyResponseCallback): void; + disableXpnResource(callback: BodyResponseCallback): void; + /** + * compute.projects.enableXpnHost + * @desc Enable this project as a shared VPC host project. + * @alias compute.projects.enableXpnHost + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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 + */ + enableXpnHost(params?: Params$Resource$Projects$Enablexpnhost, options?: MethodOptions): AxiosPromise; + enableXpnHost(params: Params$Resource$Projects$Enablexpnhost, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + enableXpnHost(params: Params$Resource$Projects$Enablexpnhost, callback: BodyResponseCallback): void; + enableXpnHost(callback: BodyResponseCallback): void; + /** + * compute.projects.enableXpnResource + * @desc Enable service resource (a.k.a service project) for a host project, + * so that subnets in the host project can be used by instances in the + * service project. + * @alias compute.projects.enableXpnResource + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().ProjectsEnableXpnResourceRequest} 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 + */ + enableXpnResource(params?: Params$Resource$Projects$Enablexpnresource, options?: MethodOptions): AxiosPromise; + enableXpnResource(params: Params$Resource$Projects$Enablexpnresource, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + enableXpnResource(params: Params$Resource$Projects$Enablexpnresource, callback: BodyResponseCallback): void; + enableXpnResource(callback: BodyResponseCallback): void; + /** + * compute.projects.get + * @desc Returns the specified Project resource. + * @alias compute.projects.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Projects$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.projects.getXpnHost + * @desc Gets the shared VPC host project that this project links to. May be + * empty if no link exists. + * @alias compute.projects.getXpnHost + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @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 + */ + getXpnHost(params?: Params$Resource$Projects$Getxpnhost, options?: MethodOptions): AxiosPromise; + getXpnHost(params: Params$Resource$Projects$Getxpnhost, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getXpnHost(params: Params$Resource$Projects$Getxpnhost, callback: BodyResponseCallback): void; + getXpnHost(callback: BodyResponseCallback): void; + /** + * compute.projects.getXpnResources + * @desc Gets service resources (a.k.a service project) associated with this + * host project. + * @alias compute.projects.getXpnResources + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.order_by Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + getXpnResources(params?: Params$Resource$Projects$Getxpnresources, options?: MethodOptions): AxiosPromise; + getXpnResources(params: Params$Resource$Projects$Getxpnresources, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getXpnResources(params: Params$Resource$Projects$Getxpnresources, callback: BodyResponseCallback): void; + getXpnResources(callback: BodyResponseCallback): void; + /** + * compute.projects.listXpnHosts + * @desc Lists all shared VPC host projects visible to the user in an + * organization. + * @alias compute.projects.listXpnHosts + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.order_by Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {().ProjectsListXpnHostsRequest} 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 + */ + listXpnHosts(params?: Params$Resource$Projects$Listxpnhosts, options?: MethodOptions): AxiosPromise; + listXpnHosts(params: Params$Resource$Projects$Listxpnhosts, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listXpnHosts(params: Params$Resource$Projects$Listxpnhosts, callback: BodyResponseCallback): void; + listXpnHosts(callback: BodyResponseCallback): void; + /** + * compute.projects.moveDisk + * @desc Moves a persistent disk from one zone to another. + * @alias compute.projects.moveDisk + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().DiskMoveRequest} 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 + */ + moveDisk(params?: Params$Resource$Projects$Movedisk, options?: MethodOptions): AxiosPromise; + moveDisk(params: Params$Resource$Projects$Movedisk, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + moveDisk(params: Params$Resource$Projects$Movedisk, callback: BodyResponseCallback): void; + moveDisk(callback: BodyResponseCallback): void; + /** + * compute.projects.moveInstance + * @desc Moves an instance and its attached persistent disks from one zone + * to another. + * @alias compute.projects.moveInstance + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().InstanceMoveRequest} 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 + */ + moveInstance(params?: Params$Resource$Projects$Moveinstance, options?: MethodOptions): AxiosPromise; + moveInstance(params: Params$Resource$Projects$Moveinstance, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + moveInstance(params: Params$Resource$Projects$Moveinstance, callback: BodyResponseCallback): void; + moveInstance(callback: BodyResponseCallback): void; + /** + * compute.projects.setCommonInstanceMetadata + * @desc Sets metadata common to all instances within the specified project + * using the data included in the request. + * @alias compute.projects.setCommonInstanceMetadata + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Metadata} 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 + */ + setCommonInstanceMetadata(params?: Params$Resource$Projects$Setcommoninstancemetadata, options?: MethodOptions): AxiosPromise; + setCommonInstanceMetadata(params: Params$Resource$Projects$Setcommoninstancemetadata, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setCommonInstanceMetadata(params: Params$Resource$Projects$Setcommoninstancemetadata, callback: BodyResponseCallback): void; + setCommonInstanceMetadata(callback: BodyResponseCallback): void; + /** + * compute.projects.setDefaultNetworkTier + * @desc Sets the default network tier of the project. The default network + * tier is used when an address/forwardingRule/instance is created without + * specifying the network tier field. + * @alias compute.projects.setDefaultNetworkTier + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().ProjectsSetDefaultNetworkTierRequest} 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 + */ + setDefaultNetworkTier(params?: Params$Resource$Projects$Setdefaultnetworktier, options?: MethodOptions): AxiosPromise; + setDefaultNetworkTier(params: Params$Resource$Projects$Setdefaultnetworktier, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setDefaultNetworkTier(params: Params$Resource$Projects$Setdefaultnetworktier, callback: BodyResponseCallback): void; + setDefaultNetworkTier(callback: BodyResponseCallback): void; + /** + * compute.projects.setDefaultServiceAccount + * @desc Sets the default service account of the project. The default + * service account is used when a VM instance is created with the service + * account email address set to "default". + * @alias compute.projects.setDefaultServiceAccount + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().ProjectsSetDefaultServiceAccountRequest} 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 + */ + setDefaultServiceAccount(params?: Params$Resource$Projects$Setdefaultserviceaccount, options?: MethodOptions): AxiosPromise; + setDefaultServiceAccount(params: Params$Resource$Projects$Setdefaultserviceaccount, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setDefaultServiceAccount(params: Params$Resource$Projects$Setdefaultserviceaccount, callback: BodyResponseCallback): void; + setDefaultServiceAccount(callback: BodyResponseCallback): void; + /** + * compute.projects.setUsageExportBucket + * @desc Enables the usage export feature and sets the usage export bucket + * where reports are stored. If you provide an empty request body using this + * method, the usage export feature will be disabled. + * @alias compute.projects.setUsageExportBucket + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().UsageExportLocation} 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 + */ + setUsageExportBucket(params?: Params$Resource$Projects$Setusageexportbucket, options?: MethodOptions): AxiosPromise; + setUsageExportBucket(params: Params$Resource$Projects$Setusageexportbucket, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setUsageExportBucket(params: Params$Resource$Projects$Setusageexportbucket, callback: BodyResponseCallback): void; + setUsageExportBucket(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Disablexpnhost { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Projects$Disablexpnresource { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ProjectsDisableXpnResourceRequest; + } + interface Params$Resource$Projects$Enablexpnhost { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Projects$Enablexpnresource { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ProjectsEnableXpnResourceRequest; + } + interface Params$Resource$Projects$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Projects$Getxpnhost { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Projects$Getxpnresources { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + order_by?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Projects$Listxpnhosts { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + order_by?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ProjectsListXpnHostsRequest; + } + interface Params$Resource$Projects$Movedisk { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DiskMoveRequest; + } + interface Params$Resource$Projects$Moveinstance { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceMoveRequest; + } + interface Params$Resource$Projects$Setcommoninstancemetadata { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Metadata; + } + interface Params$Resource$Projects$Setdefaultnetworktier { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ProjectsSetDefaultNetworkTierRequest; + } + interface Params$Resource$Projects$Setdefaultserviceaccount { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ProjectsSetDefaultServiceAccountRequest; + } + interface Params$Resource$Projects$Setusageexportbucket { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UsageExportLocation; + } + class Resource$Regionautoscalers { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.regionAutoscalers.delete + * @desc Deletes the specified autoscaler. + * @alias compute.regionAutoscalers.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.autoscaler Name of the autoscaler to delete. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Regionautoscalers$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Regionautoscalers$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Regionautoscalers$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.regionAutoscalers.get + * @desc Returns the specified autoscaler. + * @alias compute.regionAutoscalers.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.autoscaler Name of the autoscaler to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @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?: Params$Resource$Regionautoscalers$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Regionautoscalers$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Regionautoscalers$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.regionAutoscalers.insert + * @desc Creates an autoscaler in the specified project using the data + * included in the request. + * @alias compute.regionAutoscalers.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Autoscaler} 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?: Params$Resource$Regionautoscalers$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Regionautoscalers$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Regionautoscalers$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.regionAutoscalers.list + * @desc Retrieves a list of autoscalers contained within the specified + * region. + * @alias compute.regionAutoscalers.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @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?: Params$Resource$Regionautoscalers$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Regionautoscalers$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Regionautoscalers$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.regionAutoscalers.patch + * @desc Updates an autoscaler in the specified project using the data + * included in the request. This method supports PATCH semantics and uses + * the JSON merge patch format and processing rules. + * @alias compute.regionAutoscalers.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.autoscaler Name of the autoscaler to patch. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Autoscaler} 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 + */ + patch(params?: Params$Resource$Regionautoscalers$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Regionautoscalers$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Regionautoscalers$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * compute.regionAutoscalers.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.regionAutoscalers.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Regionautoscalers$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Regionautoscalers$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Regionautoscalers$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + /** + * compute.regionAutoscalers.update + * @desc Updates an autoscaler in the specified project using the data + * included in the request. + * @alias compute.regionAutoscalers.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.autoscaler Name of the autoscaler to update. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Autoscaler} 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?: Params$Resource$Regionautoscalers$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Regionautoscalers$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Regionautoscalers$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Regionautoscalers$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the autoscaler to delete. + */ + autoscaler?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Regionautoscalers$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the autoscaler to return. + */ + autoscaler?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + } + interface Params$Resource$Regionautoscalers$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Autoscaler; + } + interface Params$Resource$Regionautoscalers$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + } + interface Params$Resource$Regionautoscalers$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the autoscaler to patch. + */ + autoscaler?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Autoscaler; + } + interface Params$Resource$Regionautoscalers$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + interface Params$Resource$Regionautoscalers$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the autoscaler to update. + */ + autoscaler?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Autoscaler; + } + class Resource$Regionbackendservices { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.regionBackendServices.delete + * @desc Deletes the specified regional BackendService resource. + * @alias compute.regionBackendServices.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendService Name of the BackendService resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Regionbackendservices$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Regionbackendservices$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Regionbackendservices$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.regionBackendServices.get + * @desc Returns the specified regional BackendService resource. + * @alias compute.regionBackendServices.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendService Name of the BackendService resource to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @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?: Params$Resource$Regionbackendservices$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Regionbackendservices$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Regionbackendservices$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.regionBackendServices.getHealth + * @desc Gets the most recent health check results for this regional + * BackendService. + * @alias compute.regionBackendServices.getHealth + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendService Name of the BackendService resource for which to get health. + * @param {string} params.project + * @param {string} params.region Name of the region scoping this request. + * @param {().ResourceGroupReference} 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 + */ + getHealth(params?: Params$Resource$Regionbackendservices$Gethealth, options?: MethodOptions): AxiosPromise; + getHealth(params: Params$Resource$Regionbackendservices$Gethealth, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getHealth(params: Params$Resource$Regionbackendservices$Gethealth, callback: BodyResponseCallback): void; + getHealth(callback: BodyResponseCallback): void; + /** + * compute.regionBackendServices.insert + * @desc Creates a regional BackendService resource in the specified project + * using the data included in the request. There are several restrictions + * and guidelines to keep in mind when creating a regional backend service. + * Read Restrictions and Guidelines for more information. + * @alias compute.regionBackendServices.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().BackendService} 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?: Params$Resource$Regionbackendservices$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Regionbackendservices$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Regionbackendservices$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.regionBackendServices.list + * @desc Retrieves the list of regional BackendService resources available + * to the specified project in the given region. + * @alias compute.regionBackendServices.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @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?: Params$Resource$Regionbackendservices$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Regionbackendservices$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Regionbackendservices$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.regionBackendServices.patch + * @desc Updates the specified regional BackendService resource with the + * data included in the request. There are several restrictions and + * guidelines to keep in mind when updating a backend service. Read + * Restrictions and Guidelines for more information. This method supports + * PATCH semantics and uses the JSON merge patch format and processing + * rules. + * @alias compute.regionBackendServices.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendService Name of the BackendService resource to patch. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().BackendService} 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 + */ + patch(params?: Params$Resource$Regionbackendservices$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Regionbackendservices$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Regionbackendservices$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * compute.regionBackendServices.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.regionBackendServices.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Regionbackendservices$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Regionbackendservices$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Regionbackendservices$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + /** + * compute.regionBackendServices.update + * @desc Updates the specified regional BackendService resource with the + * data included in the request. There are several restrictions and + * guidelines to keep in mind when updating a backend service. Read + * Restrictions and Guidelines for more information. + * @alias compute.regionBackendServices.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendService Name of the BackendService resource to update. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().BackendService} 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?: Params$Resource$Regionbackendservices$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Regionbackendservices$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Regionbackendservices$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Regionbackendservices$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendService resource to delete. + */ + backendService?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Regionbackendservices$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendService resource to return. + */ + backendService?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + } + interface Params$Resource$Regionbackendservices$Gethealth { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendService resource for which to get health. + */ + backendService?: string; + /** + * + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ResourceGroupReference; + } + interface Params$Resource$Regionbackendservices$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BackendService; + } + interface Params$Resource$Regionbackendservices$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + } + interface Params$Resource$Regionbackendservices$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendService resource to patch. + */ + backendService?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BackendService; + } + interface Params$Resource$Regionbackendservices$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + interface Params$Resource$Regionbackendservices$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendService resource to update. + */ + backendService?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BackendService; + } + class Resource$Regioncommitments { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.regionCommitments.aggregatedList + * @desc Retrieves an aggregated list of commitments. + * @alias compute.regionCommitments.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Regioncommitments$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Regioncommitments$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Regioncommitments$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.regionCommitments.get + * @desc Returns the specified commitment resource. Gets a list of available + * commitments by making a list() request. + * @alias compute.regionCommitments.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.commitment Name of the commitment to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @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?: Params$Resource$Regioncommitments$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Regioncommitments$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Regioncommitments$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.regionCommitments.insert + * @desc Creates a commitment in the specified project using the data + * included in the request. + * @alias compute.regionCommitments.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Commitment} 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?: Params$Resource$Regioncommitments$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Regioncommitments$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Regioncommitments$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.regionCommitments.list + * @desc Retrieves a list of commitments contained within the specified + * region. + * @alias compute.regionCommitments.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @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?: Params$Resource$Regioncommitments$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Regioncommitments$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Regioncommitments$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.regionCommitments.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.regionCommitments.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Regioncommitments$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Regioncommitments$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Regioncommitments$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Regioncommitments$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Regioncommitments$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the commitment to return. + */ + commitment?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + } + interface Params$Resource$Regioncommitments$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Commitment; + } + interface Params$Resource$Regioncommitments$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + } + interface Params$Resource$Regioncommitments$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Regiondisks { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.regionDisks.addResourcePolicies + * @desc Adds existing resource policies to a regional disk. You can only + * add one policy which will be applied to this disk for scheduling snapshot + * creation. + * @alias compute.regionDisks.addResourcePolicies + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.disk The disk name for this request. + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().RegionDisksAddResourcePoliciesRequest} 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 + */ + addResourcePolicies(params?: Params$Resource$Regiondisks$Addresourcepolicies, options?: MethodOptions): AxiosPromise; + addResourcePolicies(params: Params$Resource$Regiondisks$Addresourcepolicies, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + addResourcePolicies(params: Params$Resource$Regiondisks$Addresourcepolicies, callback: BodyResponseCallback): void; + addResourcePolicies(callback: BodyResponseCallback): void; + /** + * compute.regionDisks.createSnapshot + * @desc Creates a snapshot of this regional disk. + * @alias compute.regionDisks.createSnapshot + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.disk Name of the regional persistent disk to snapshot. + * @param {boolean=} params.guestFlush + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Snapshot} 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 + */ + createSnapshot(params?: Params$Resource$Regiondisks$Createsnapshot, options?: MethodOptions): AxiosPromise; + createSnapshot(params: Params$Resource$Regiondisks$Createsnapshot, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + createSnapshot(params: Params$Resource$Regiondisks$Createsnapshot, callback: BodyResponseCallback): void; + createSnapshot(callback: BodyResponseCallback): void; + /** + * compute.regionDisks.delete + * @desc Deletes the specified regional persistent disk. Deleting a regional + * disk removes all the replicas of its data permanently and is + * irreversible. However, deleting a disk does not delete any snapshots + * previously made from the disk. You must separately delete snapshots. + * @alias compute.regionDisks.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.disk Name of the regional persistent disk to delete. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Regiondisks$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Regiondisks$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Regiondisks$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.regionDisks.get + * @desc Returns a specified regional persistent disk. + * @alias compute.regionDisks.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.disk Name of the regional persistent disk to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @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?: Params$Resource$Regiondisks$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Regiondisks$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Regiondisks$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.regionDisks.insert + * @desc Creates a persistent regional disk in the specified project using + * the data included in the request. + * @alias compute.regionDisks.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string=} params.sourceImage Optional. Source image to restore onto a disk. + * @param {().Disk} 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?: Params$Resource$Regiondisks$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Regiondisks$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Regiondisks$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.regionDisks.list + * @desc Retrieves the list of persistent disks contained within the + * specified region. + * @alias compute.regionDisks.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @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?: Params$Resource$Regiondisks$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Regiondisks$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Regiondisks$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.regionDisks.removeResourcePolicies + * @desc Removes resource policies from a regional disk. + * @alias compute.regionDisks.removeResourcePolicies + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.disk The disk name for this request. + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().RegionDisksRemoveResourcePoliciesRequest} 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 + */ + removeResourcePolicies(params?: Params$Resource$Regiondisks$Removeresourcepolicies, options?: MethodOptions): AxiosPromise; + removeResourcePolicies(params: Params$Resource$Regiondisks$Removeresourcepolicies, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + removeResourcePolicies(params: Params$Resource$Regiondisks$Removeresourcepolicies, callback: BodyResponseCallback): void; + removeResourcePolicies(callback: BodyResponseCallback): void; + /** + * compute.regionDisks.resize + * @desc Resizes the specified regional persistent disk. + * @alias compute.regionDisks.resize + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.disk Name of the regional persistent disk. + * @param {string} params.project The project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().RegionDisksResizeRequest} 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 + */ + resize(params?: Params$Resource$Regiondisks$Resize, options?: MethodOptions): AxiosPromise; + resize(params: Params$Resource$Regiondisks$Resize, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + resize(params: Params$Resource$Regiondisks$Resize, callback: BodyResponseCallback): void; + resize(callback: BodyResponseCallback): void; + /** + * compute.regionDisks.setLabels + * @desc Sets the labels on the target regional disk. + * @alias compute.regionDisks.setLabels + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.resource_ Name of the resource for this request. + * @param {().RegionSetLabelsRequest} 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 + */ + setLabels(params?: Params$Resource$Regiondisks$Setlabels, options?: MethodOptions): AxiosPromise; + setLabels(params: Params$Resource$Regiondisks$Setlabels, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setLabels(params: Params$Resource$Regiondisks$Setlabels, callback: BodyResponseCallback): void; + setLabels(callback: BodyResponseCallback): void; + /** + * compute.regionDisks.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.regionDisks.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Regiondisks$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Regiondisks$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Regiondisks$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Regiondisks$Addresourcepolicies { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The disk name for this request. + */ + disk?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RegionDisksAddResourcePoliciesRequest; + } + interface Params$Resource$Regiondisks$Createsnapshot { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the regional persistent disk to snapshot. + */ + disk?: string; + /** + * + */ + guestFlush?: boolean; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Snapshot; + } + interface Params$Resource$Regiondisks$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the regional persistent disk to delete. + */ + disk?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Regiondisks$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the regional persistent disk to return. + */ + disk?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + } + interface Params$Resource$Regiondisks$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Optional. Source image to restore onto a disk. + */ + sourceImage?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Disk; + } + interface Params$Resource$Regiondisks$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + } + interface Params$Resource$Regiondisks$Removeresourcepolicies { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The disk name for this request. + */ + disk?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RegionDisksRemoveResourcePoliciesRequest; + } + interface Params$Resource$Regiondisks$Resize { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the regional persistent disk. + */ + disk?: string; + /** + * The project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RegionDisksResizeRequest; + } + interface Params$Resource$Regiondisks$Setlabels { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RegionSetLabelsRequest; + } + interface Params$Resource$Regiondisks$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Regiondisktypes { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.regionDiskTypes.get + * @desc Returns the specified regional disk type. Gets a list of available + * disk types by making a list() request. + * @alias compute.regionDiskTypes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.diskType Name of the disk type to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @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?: Params$Resource$Regiondisktypes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Regiondisktypes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Regiondisktypes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.regionDiskTypes.list + * @desc Retrieves a list of regional disk types available to the specified + * project. + * @alias compute.regionDiskTypes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @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?: Params$Resource$Regiondisktypes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Regiondisktypes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Regiondisktypes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Regiondisktypes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the disk type to return. + */ + diskType?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + } + interface Params$Resource$Regiondisktypes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + } + class Resource$Regionhealthchecks { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.regionHealthChecks.delete + * @desc Deletes the specified HealthCheck resource. + * @alias compute.regionHealthChecks.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.healthCheck Name of the HealthCheck resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Regionhealthchecks$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Regionhealthchecks$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Regionhealthchecks$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.regionHealthChecks.get + * @desc Returns the specified HealthCheck resource. Gets a list of + * available health checks by making a list() request. + * @alias compute.regionHealthChecks.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.healthCheck Name of the HealthCheck resource to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @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?: Params$Resource$Regionhealthchecks$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Regionhealthchecks$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Regionhealthchecks$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.regionHealthChecks.insert + * @desc Creates a HealthCheck resource in the specified project using the + * data included in the request. + * @alias compute.regionHealthChecks.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().HealthCheck} 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?: Params$Resource$Regionhealthchecks$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Regionhealthchecks$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Regionhealthchecks$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.regionHealthChecks.list + * @desc Retrieves the list of HealthCheck resources available to the + * specified project. + * @alias compute.regionHealthChecks.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @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?: Params$Resource$Regionhealthchecks$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Regionhealthchecks$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Regionhealthchecks$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.regionHealthChecks.patch + * @desc Updates a HealthCheck resource in the specified project using the + * data included in the request. This method supports PATCH semantics and + * uses the JSON merge patch format and processing rules. + * @alias compute.regionHealthChecks.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.healthCheck Name of the HealthCheck resource to patch. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().HealthCheck} 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 + */ + patch(params?: Params$Resource$Regionhealthchecks$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Regionhealthchecks$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Regionhealthchecks$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * compute.regionHealthChecks.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.regionHealthChecks.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Regionhealthchecks$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Regionhealthchecks$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Regionhealthchecks$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + /** + * compute.regionHealthChecks.update + * @desc Updates a HealthCheck resource in the specified project using the + * data included in the request. + * @alias compute.regionHealthChecks.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.healthCheck Name of the HealthCheck resource to update. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().HealthCheck} 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?: Params$Resource$Regionhealthchecks$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Regionhealthchecks$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Regionhealthchecks$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Regionhealthchecks$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the HealthCheck resource to delete. + */ + healthCheck?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Regionhealthchecks$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the HealthCheck resource to return. + */ + healthCheck?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + } + interface Params$Resource$Regionhealthchecks$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$HealthCheck; + } + interface Params$Resource$Regionhealthchecks$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + } + interface Params$Resource$Regionhealthchecks$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the HealthCheck resource to patch. + */ + healthCheck?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$HealthCheck; + } + interface Params$Resource$Regionhealthchecks$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + interface Params$Resource$Regionhealthchecks$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the HealthCheck resource to update. + */ + healthCheck?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$HealthCheck; + } + class Resource$Regioninstancegroupmanagers { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.regionInstanceGroupManagers.abandonInstances + * @desc Schedules a group action to remove the specified instances from the + * managed instance group. Abandoning an instance does not delete the + * instance, but it does remove the instance from any target pools that are + * applied by the managed instance group. This method reduces the targetSize + * of the managed instance group by the number of instances that you + * abandon. This operation is marked as DONE when the action is scheduled + * even if the instances have not yet been removed from the group. You must + * separately verify the status of the abandoning action with the + * listmanagedinstances method. If the group is part of a backend service + * that has enabled connection draining, it can take up to 60 seconds after + * the connection draining duration has elapsed before the VM instance is + * removed or deleted. You can specify a maximum of 1000 instances with + * this method per request. + * @alias compute.regionInstanceGroupManagers.abandonInstances + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager Name of the managed instance group. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().RegionInstanceGroupManagersAbandonInstancesRequest} 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 + */ + abandonInstances(params?: Params$Resource$Regioninstancegroupmanagers$Abandoninstances, options?: MethodOptions): AxiosPromise; + abandonInstances(params: Params$Resource$Regioninstancegroupmanagers$Abandoninstances, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + abandonInstances(params: Params$Resource$Regioninstancegroupmanagers$Abandoninstances, callback: BodyResponseCallback): void; + abandonInstances(callback: BodyResponseCallback): void; + /** + * compute.regionInstanceGroupManagers.applyUpdatesToInstances + * @desc Apply updates to selected instances the managed instance group. + * @alias compute.regionInstanceGroupManagers.applyUpdatesToInstances + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager The name of the managed instance group, should conform to RFC1035. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request, should conform to RFC1035. + * @param {().RegionInstanceGroupManagersApplyUpdatesRequest} 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 + */ + applyUpdatesToInstances(params?: Params$Resource$Regioninstancegroupmanagers$Applyupdatestoinstances, options?: MethodOptions): AxiosPromise; + applyUpdatesToInstances(params: Params$Resource$Regioninstancegroupmanagers$Applyupdatestoinstances, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + applyUpdatesToInstances(params: Params$Resource$Regioninstancegroupmanagers$Applyupdatestoinstances, callback: BodyResponseCallback): void; + applyUpdatesToInstances(callback: BodyResponseCallback): void; + /** + * compute.regionInstanceGroupManagers.delete + * @desc Deletes the specified managed instance group and all of the + * instances in that group. + * @alias compute.regionInstanceGroupManagers.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager Name of the managed instance group to delete. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Regioninstancegroupmanagers$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Regioninstancegroupmanagers$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Regioninstancegroupmanagers$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.regionInstanceGroupManagers.deleteInstances + * @desc Schedules a group action to delete the specified instances in the + * managed instance group. The instances are also removed from any target + * pools of which they were a member. This method reduces the targetSize of + * the managed instance group by the number of instances that you delete. + * This operation is marked as DONE when the action is scheduled even if the + * instances are still being deleted. You must separately verify the status + * of the deleting action with the listmanagedinstances method. If the + * group is part of a backend service that has enabled connection draining, + * it can take up to 60 seconds after the connection draining duration has + * elapsed before the VM instance is removed or deleted. You can specify a + * maximum of 1000 instances with this method per request. + * @alias compute.regionInstanceGroupManagers.deleteInstances + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager Name of the managed instance group. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().RegionInstanceGroupManagersDeleteInstancesRequest} 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 + */ + deleteInstances(params?: Params$Resource$Regioninstancegroupmanagers$Deleteinstances, options?: MethodOptions): AxiosPromise; + deleteInstances(params: Params$Resource$Regioninstancegroupmanagers$Deleteinstances, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + deleteInstances(params: Params$Resource$Regioninstancegroupmanagers$Deleteinstances, callback: BodyResponseCallback): void; + deleteInstances(callback: BodyResponseCallback): void; + /** + * compute.regionInstanceGroupManagers.deletePerInstanceConfigs + * @desc Deletes selected per-instance configs for the managed instance + * group. + * @alias compute.regionInstanceGroupManagers.deletePerInstanceConfigs + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager The name of the managed instance group. It should conform to RFC1035. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request, should conform to RFC1035. + * @param {().RegionInstanceGroupManagerDeleteInstanceConfigReq} 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 + */ + deletePerInstanceConfigs(params?: Params$Resource$Regioninstancegroupmanagers$Deleteperinstanceconfigs, options?: MethodOptions): AxiosPromise; + deletePerInstanceConfigs(params: Params$Resource$Regioninstancegroupmanagers$Deleteperinstanceconfigs, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + deletePerInstanceConfigs(params: Params$Resource$Regioninstancegroupmanagers$Deleteperinstanceconfigs, callback: BodyResponseCallback): void; + deletePerInstanceConfigs(callback: BodyResponseCallback): void; + /** + * compute.regionInstanceGroupManagers.get + * @desc Returns all of the details about the specified managed instance + * group. + * @alias compute.regionInstanceGroupManagers.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager Name of the managed instance group to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @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?: Params$Resource$Regioninstancegroupmanagers$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Regioninstancegroupmanagers$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Regioninstancegroupmanagers$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.regionInstanceGroupManagers.insert + * @desc Creates a managed instance group using the information that you + * specify in the request. After the group is created, it schedules an + * action to create instances in the group using the specified instance + * template. This operation is marked as DONE when the group is created even + * if the instances in the group have not yet been created. You must + * separately verify the status of the individual instances with the + * listmanagedinstances method. A regional managed instance group can + * contain up to 2000 instances. + * @alias compute.regionInstanceGroupManagers.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().InstanceGroupManager} 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?: Params$Resource$Regioninstancegroupmanagers$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Regioninstancegroupmanagers$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Regioninstancegroupmanagers$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.regionInstanceGroupManagers.list + * @desc Retrieves the list of managed instance groups that are contained + * within the specified region. + * @alias compute.regionInstanceGroupManagers.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @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?: Params$Resource$Regioninstancegroupmanagers$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Regioninstancegroupmanagers$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Regioninstancegroupmanagers$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.regionInstanceGroupManagers.listManagedInstances + * @desc Lists the instances in the managed instance group and instances + * that are scheduled to be created. The list includes any current actions + * that the group has scheduled for its instances. + * @alias compute.regionInstanceGroupManagers.listManagedInstances + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {string} params.instanceGroupManager The name of the managed instance group. + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.order_by Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @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 + */ + listManagedInstances(params?: Params$Resource$Regioninstancegroupmanagers$Listmanagedinstances, options?: MethodOptions): AxiosPromise; + listManagedInstances(params: Params$Resource$Regioninstancegroupmanagers$Listmanagedinstances, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listManagedInstances(params: Params$Resource$Regioninstancegroupmanagers$Listmanagedinstances, callback: BodyResponseCallback): void; + listManagedInstances(callback: BodyResponseCallback): void; + /** + * compute.regionInstanceGroupManagers.listPerInstanceConfigs + * @desc Lists all of the per-instance configs defined for the managed + * instance group. + * @alias compute.regionInstanceGroupManagers.listPerInstanceConfigs + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {string} params.instanceGroupManager The name of the managed instance group. It should conform to RFC1035. + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request, should conform to RFC1035. + * @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 + */ + listPerInstanceConfigs(params?: Params$Resource$Regioninstancegroupmanagers$Listperinstanceconfigs, options?: MethodOptions): AxiosPromise; + listPerInstanceConfigs(params: Params$Resource$Regioninstancegroupmanagers$Listperinstanceconfigs, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listPerInstanceConfigs(params: Params$Resource$Regioninstancegroupmanagers$Listperinstanceconfigs, callback: BodyResponseCallback): void; + listPerInstanceConfigs(callback: BodyResponseCallback): void; + /** + * compute.regionInstanceGroupManagers.patch + * @desc Updates a managed instance group using the information that you + * specify in the request. This operation is marked as DONE when the group + * is patched even if the instances in the group are still in the process of + * being patched. You must separately verify the status of the individual + * instances with the listmanagedinstances method. This method supports + * PATCH semantics and uses the JSON merge patch format and processing + * rules. + * @alias compute.regionInstanceGroupManagers.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager The name of the instance group manager. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().InstanceGroupManager} 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 + */ + patch(params?: Params$Resource$Regioninstancegroupmanagers$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Regioninstancegroupmanagers$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Regioninstancegroupmanagers$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * compute.regionInstanceGroupManagers.recreateInstances + * @desc Schedules a group action to recreate the specified instances in the + * managed instance group. The instances are deleted and recreated using the + * current instance template for the managed instance group. This operation + * is marked as DONE when the action is scheduled even if the instances have + * not yet been recreated. You must separately verify the status of the + * recreating action with the listmanagedinstances method. If the group is + * part of a backend service that has enabled connection draining, it can + * take up to 60 seconds after the connection draining duration has elapsed + * before the VM instance is removed or deleted. You can specify a maximum + * of 1000 instances with this method per request. + * @alias compute.regionInstanceGroupManagers.recreateInstances + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager Name of the managed instance group. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().RegionInstanceGroupManagersRecreateRequest} 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 + */ + recreateInstances(params?: Params$Resource$Regioninstancegroupmanagers$Recreateinstances, options?: MethodOptions): AxiosPromise; + recreateInstances(params: Params$Resource$Regioninstancegroupmanagers$Recreateinstances, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + recreateInstances(params: Params$Resource$Regioninstancegroupmanagers$Recreateinstances, callback: BodyResponseCallback): void; + recreateInstances(callback: BodyResponseCallback): void; + /** + * compute.regionInstanceGroupManagers.resize + * @desc Changes the intended size for the managed instance group. If you + * increase the size, the group schedules actions to create new instances + * using the current instance template. If you decrease the size, the group + * schedules delete actions on one or more instances. The resize operation + * is marked DONE when the resize actions are scheduled even if the group + * has not yet added or deleted any instances. You must separately verify + * the status of the creating or deleting actions with the + * listmanagedinstances method. If the group is part of a backend service + * that has enabled connection draining, it can take up to 60 seconds after + * the connection draining duration has elapsed before the VM instance is + * removed or deleted. + * @alias compute.regionInstanceGroupManagers.resize + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager Name of the managed instance group. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {integer} params.size Number of instances that should exist in this instance group manager. + * @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 + */ + resize(params?: Params$Resource$Regioninstancegroupmanagers$Resize, options?: MethodOptions): AxiosPromise; + resize(params: Params$Resource$Regioninstancegroupmanagers$Resize, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + resize(params: Params$Resource$Regioninstancegroupmanagers$Resize, callback: BodyResponseCallback): void; + resize(callback: BodyResponseCallback): void; + /** + * compute.regionInstanceGroupManagers.setAutoHealingPolicies + * @desc Modifies the autohealing policy for the instances in this managed + * instance group. + * @alias compute.regionInstanceGroupManagers.setAutoHealingPolicies + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager Name of the managed instance group. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().RegionInstanceGroupManagersSetAutoHealingRequest} 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 + */ + setAutoHealingPolicies(params?: Params$Resource$Regioninstancegroupmanagers$Setautohealingpolicies, options?: MethodOptions): AxiosPromise; + setAutoHealingPolicies(params: Params$Resource$Regioninstancegroupmanagers$Setautohealingpolicies, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setAutoHealingPolicies(params: Params$Resource$Regioninstancegroupmanagers$Setautohealingpolicies, callback: BodyResponseCallback): void; + setAutoHealingPolicies(callback: BodyResponseCallback): void; + /** + * compute.regionInstanceGroupManagers.setInstanceTemplate + * @desc Sets the instance template to use when creating new instances or + * recreating instances in this group. Existing instances are not affected. + * @alias compute.regionInstanceGroupManagers.setInstanceTemplate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager The name of the managed instance group. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().RegionInstanceGroupManagersSetTemplateRequest} 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 + */ + setInstanceTemplate(params?: Params$Resource$Regioninstancegroupmanagers$Setinstancetemplate, options?: MethodOptions): AxiosPromise; + setInstanceTemplate(params: Params$Resource$Regioninstancegroupmanagers$Setinstancetemplate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setInstanceTemplate(params: Params$Resource$Regioninstancegroupmanagers$Setinstancetemplate, callback: BodyResponseCallback): void; + setInstanceTemplate(callback: BodyResponseCallback): void; + /** + * compute.regionInstanceGroupManagers.setTargetPools + * @desc Modifies the target pools to which all new instances in this group + * are assigned. Existing instances in the group are not affected. + * @alias compute.regionInstanceGroupManagers.setTargetPools + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager Name of the managed instance group. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().RegionInstanceGroupManagersSetTargetPoolsRequest} 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 + */ + setTargetPools(params?: Params$Resource$Regioninstancegroupmanagers$Settargetpools, options?: MethodOptions): AxiosPromise; + setTargetPools(params: Params$Resource$Regioninstancegroupmanagers$Settargetpools, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setTargetPools(params: Params$Resource$Regioninstancegroupmanagers$Settargetpools, callback: BodyResponseCallback): void; + setTargetPools(callback: BodyResponseCallback): void; + /** + * compute.regionInstanceGroupManagers.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.regionInstanceGroupManagers.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Regioninstancegroupmanagers$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Regioninstancegroupmanagers$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Regioninstancegroupmanagers$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + /** + * compute.regionInstanceGroupManagers.update + * @desc Updates a managed instance group using the information that you + * specify in the request. This operation is marked as DONE when the group + * is updated even if the instances in the group have not yet been updated. + * You must separately verify the status of the individual instances with + * the listmanagedinstances method. + * @alias compute.regionInstanceGroupManagers.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager The name of the instance group manager. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().InstanceGroupManager} 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?: Params$Resource$Regioninstancegroupmanagers$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Regioninstancegroupmanagers$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Regioninstancegroupmanagers$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + /** + * compute.regionInstanceGroupManagers.updatePerInstanceConfigs + * @desc Insert or patch (for the ones that already exist) per-instance + * configs for the managed instance group. perInstanceConfig.instance serves + * as a key used to distinguish whether to perform insert or patch. + * @alias compute.regionInstanceGroupManagers.updatePerInstanceConfigs + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager The name of the managed instance group. It should conform to RFC1035. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request, should conform to RFC1035. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().RegionInstanceGroupManagerUpdateInstanceConfigReq} 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 + */ + updatePerInstanceConfigs(params?: Params$Resource$Regioninstancegroupmanagers$Updateperinstanceconfigs, options?: MethodOptions): AxiosPromise; + updatePerInstanceConfigs(params: Params$Resource$Regioninstancegroupmanagers$Updateperinstanceconfigs, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + updatePerInstanceConfigs(params: Params$Resource$Regioninstancegroupmanagers$Updateperinstanceconfigs, callback: BodyResponseCallback): void; + updatePerInstanceConfigs(callback: BodyResponseCallback): void; + } + interface Params$Resource$Regioninstancegroupmanagers$Abandoninstances { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RegionInstanceGroupManagersAbandonInstancesRequest; + } + interface Params$Resource$Regioninstancegroupmanagers$Applyupdatestoinstances { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the managed instance group, should conform to RFC1035. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request, should conform to RFC1035. + */ + region?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RegionInstanceGroupManagersApplyUpdatesRequest; + } + interface Params$Resource$Regioninstancegroupmanagers$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the managed instance group to delete. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Regioninstancegroupmanagers$Deleteinstances { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RegionInstanceGroupManagersDeleteInstancesRequest; + } + interface Params$Resource$Regioninstancegroupmanagers$Deleteperinstanceconfigs { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the managed instance group. It should conform to RFC1035. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request, should conform to RFC1035. + */ + region?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RegionInstanceGroupManagerDeleteInstanceConfigReq; + } + interface Params$Resource$Regioninstancegroupmanagers$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the managed instance group to return. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + } + interface Params$Resource$Regioninstancegroupmanagers$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManager; + } + interface Params$Resource$Regioninstancegroupmanagers$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + } + interface Params$Resource$Regioninstancegroupmanagers$Listmanagedinstances { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + order_by?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + } + interface Params$Resource$Regioninstancegroupmanagers$Listperinstanceconfigs { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The name of the managed instance group. It should conform to RFC1035. + */ + instanceGroupManager?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request, should conform to RFC1035. + */ + region?: string; + } + interface Params$Resource$Regioninstancegroupmanagers$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the instance group manager. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManager; + } + interface Params$Resource$Regioninstancegroupmanagers$Recreateinstances { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RegionInstanceGroupManagersRecreateRequest; + } + interface Params$Resource$Regioninstancegroupmanagers$Resize { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Number of instances that should exist in this instance group manager. + */ + size?: number; + } + interface Params$Resource$Regioninstancegroupmanagers$Setautohealingpolicies { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RegionInstanceGroupManagersSetAutoHealingRequest; + } + interface Params$Resource$Regioninstancegroupmanagers$Setinstancetemplate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RegionInstanceGroupManagersSetTemplateRequest; + } + interface Params$Resource$Regioninstancegroupmanagers$Settargetpools { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RegionInstanceGroupManagersSetTargetPoolsRequest; + } + interface Params$Resource$Regioninstancegroupmanagers$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + interface Params$Resource$Regioninstancegroupmanagers$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the instance group manager. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManager; + } + interface Params$Resource$Regioninstancegroupmanagers$Updateperinstanceconfigs { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the managed instance group. It should conform to RFC1035. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request, should conform to RFC1035. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RegionInstanceGroupManagerUpdateInstanceConfigReq; + } + class Resource$Regioninstancegroups { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.regionInstanceGroups.get + * @desc Returns the specified instance group resource. + * @alias compute.regionInstanceGroups.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroup Name of the instance group resource to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @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?: Params$Resource$Regioninstancegroups$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Regioninstancegroups$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Regioninstancegroups$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.regionInstanceGroups.list + * @desc Retrieves the list of instance group resources contained within the + * specified region. + * @alias compute.regionInstanceGroups.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @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?: Params$Resource$Regioninstancegroups$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Regioninstancegroups$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Regioninstancegroups$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.regionInstanceGroups.listInstances + * @desc Lists the instances in the specified instance group and displays + * information about the named ports. Depending on the specified options, + * this method can list all instances or only the instances that are + * running. + * @alias compute.regionInstanceGroups.listInstances + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {string} params.instanceGroup Name of the regional instance group for which we want to list the instances. + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {().RegionInstanceGroupsListInstancesRequest} 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 + */ + listInstances(params?: Params$Resource$Regioninstancegroups$Listinstances, options?: MethodOptions): AxiosPromise; + listInstances(params: Params$Resource$Regioninstancegroups$Listinstances, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listInstances(params: Params$Resource$Regioninstancegroups$Listinstances, callback: BodyResponseCallback): void; + listInstances(callback: BodyResponseCallback): void; + /** + * compute.regionInstanceGroups.setNamedPorts + * @desc Sets the named ports for the specified regional instance group. + * @alias compute.regionInstanceGroups.setNamedPorts + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroup The name of the regional instance group where the named ports are updated. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().RegionInstanceGroupsSetNamedPortsRequest} 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 + */ + setNamedPorts(params?: Params$Resource$Regioninstancegroups$Setnamedports, options?: MethodOptions): AxiosPromise; + setNamedPorts(params: Params$Resource$Regioninstancegroups$Setnamedports, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setNamedPorts(params: Params$Resource$Regioninstancegroups$Setnamedports, callback: BodyResponseCallback): void; + setNamedPorts(callback: BodyResponseCallback): void; + /** + * compute.regionInstanceGroups.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.regionInstanceGroups.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Regioninstancegroups$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Regioninstancegroups$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Regioninstancegroups$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Regioninstancegroups$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the instance group resource to return. + */ + instanceGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + } + interface Params$Resource$Regioninstancegroups$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + } + interface Params$Resource$Regioninstancegroups$Listinstances { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * Name of the regional instance group for which we want to list the + * instances. + */ + instanceGroup?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RegionInstanceGroupsListInstancesRequest; + } + interface Params$Resource$Regioninstancegroups$Setnamedports { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the regional instance group where the named ports are + * updated. + */ + instanceGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RegionInstanceGroupsSetNamedPortsRequest; + } + interface Params$Resource$Regioninstancegroups$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Regionoperations { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.regionOperations.delete + * @desc Deletes the specified region-specific Operations resource. + * @alias compute.regionOperations.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.operation Name of the Operations resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @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?: Params$Resource$Regionoperations$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Regionoperations$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Regionoperations$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.regionOperations.get + * @desc Retrieves the specified region-specific Operations resource. + * @alias compute.regionOperations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.operation Name of the Operations resource to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @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?: Params$Resource$Regionoperations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Regionoperations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Regionoperations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.regionOperations.list + * @desc Retrieves a list of Operation resources contained within the + * specified region. + * @alias compute.regionOperations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @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?: Params$Resource$Regionoperations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Regionoperations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Regionoperations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.regionOperations.wait + * @desc Waits for the specified region-specific Operations resource until + * it is done or timeout, and retrieves the specified Operations + * resource. 1. Immediately returns when the operation is already done. 2. + * Waits for no more than the default deadline (2 minutes, subject to + * change) and then returns the current state of the operation, which may be + * DONE or still in progress. 3. Is best-effort: a. The server can wait less + * than the default deadline or zero seconds, in overload situations. b. + * There is no guarantee that the operation is actually done when + * returns. 4. User should be prepared to retry if the operation is not + * DONE. + * @alias compute.regionOperations.wait + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.operation Name of the Operations resource to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @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 + */ + wait(params?: Params$Resource$Regionoperations$Wait, options?: MethodOptions): AxiosPromise; + wait(params: Params$Resource$Regionoperations$Wait, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + wait(params: Params$Resource$Regionoperations$Wait, callback: BodyResponseCallback): void; + wait(callback: BodyResponseCallback): void; + } + interface Params$Resource$Regionoperations$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the Operations resource to delete. + */ + operation?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + } + interface Params$Resource$Regionoperations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the Operations resource to return. + */ + operation?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + } + interface Params$Resource$Regionoperations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + } + interface Params$Resource$Regionoperations$Wait { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the Operations resource to return. + */ + operation?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + } + class Resource$Regions { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.regions.get + * @desc Returns the specified Region resource. Gets a list of available + * regions by making a list() request. + * @alias compute.regions.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region resource to return. + * @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?: Params$Resource$Regions$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Regions$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Regions$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.regions.list + * @desc Retrieves the list of region resources available to the specified + * project. + * @alias compute.regions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Regions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Regions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Regions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Regions$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region resource to return. + */ + region?: string; + } + interface Params$Resource$Regions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + class Resource$Regionsslcertificates { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.regionSslCertificates.delete + * @desc Deletes the specified SslCertificate resource in the region. + * @alias compute.regionSslCertificates.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.sslCertificate Name of the SslCertificate resource to delete. + * @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?: Params$Resource$Regionsslcertificates$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Regionsslcertificates$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Regionsslcertificates$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.regionSslCertificates.get + * @desc Returns the specified SslCertificate resource in the specified + * region. Get a list of available SSL certificates by making a list() + * request. + * @alias compute.regionSslCertificates.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string} params.sslCertificate Name of the SslCertificate resource to return. + * @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?: Params$Resource$Regionsslcertificates$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Regionsslcertificates$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Regionsslcertificates$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.regionSslCertificates.insert + * @desc Creates a SslCertificate resource in the specified project and + * region using the data included in the request + * @alias compute.regionSslCertificates.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().SslCertificate} 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?: Params$Resource$Regionsslcertificates$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Regionsslcertificates$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Regionsslcertificates$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.regionSslCertificates.list + * @desc Retrieves the list of SslCertificate resources available to the + * specified project in the specified region. + * @alias compute.regionSslCertificates.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @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?: Params$Resource$Regionsslcertificates$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Regionsslcertificates$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Regionsslcertificates$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.regionSslCertificates.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource and + * region. + * @alias compute.regionSslCertificates.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Regionsslcertificates$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Regionsslcertificates$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Regionsslcertificates$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Regionsslcertificates$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the SslCertificate resource to delete. + */ + sslCertificate?: string; + } + interface Params$Resource$Regionsslcertificates$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * Name of the SslCertificate resource to return. + */ + sslCertificate?: string; + } + interface Params$Resource$Regionsslcertificates$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SslCertificate; + } + interface Params$Resource$Regionsslcertificates$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + } + interface Params$Resource$Regionsslcertificates$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Regiontargethttpproxies { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.regionTargetHttpProxies.delete + * @desc Deletes the specified TargetHttpProxy resource. + * @alias compute.regionTargetHttpProxies.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetHttpProxy Name of the TargetHttpProxy resource to delete. + * @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?: Params$Resource$Regiontargethttpproxies$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Regiontargethttpproxies$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Regiontargethttpproxies$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.regionTargetHttpProxies.get + * @desc Returns the specified TargetHttpProxy resource in the specified + * region. Gets a list of available target HTTP proxies by making a list() + * request. + * @alias compute.regionTargetHttpProxies.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string} params.targetHttpProxy Name of the TargetHttpProxy resource to return. + * @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?: Params$Resource$Regiontargethttpproxies$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Regiontargethttpproxies$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Regiontargethttpproxies$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.regionTargetHttpProxies.insert + * @desc Creates a TargetHttpProxy resource in the specified project and + * region using the data included in the request. + * @alias compute.regionTargetHttpProxies.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().TargetHttpProxy} 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?: Params$Resource$Regiontargethttpproxies$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Regiontargethttpproxies$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Regiontargethttpproxies$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.regionTargetHttpProxies.list + * @desc Retrieves the list of TargetHttpProxy resources available to the + * specified project in the specified region. + * @alias compute.regionTargetHttpProxies.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @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?: Params$Resource$Regiontargethttpproxies$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Regiontargethttpproxies$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Regiontargethttpproxies$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.regionTargetHttpProxies.setUrlMap + * @desc Changes the URL map for TargetHttpProxy. + * @alias compute.regionTargetHttpProxies.setUrlMap + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetHttpProxy Name of the TargetHttpProxy to set a URL map for. + * @param {().UrlMapReference} 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 + */ + setUrlMap(params?: Params$Resource$Regiontargethttpproxies$Seturlmap, options?: MethodOptions): AxiosPromise; + setUrlMap(params: Params$Resource$Regiontargethttpproxies$Seturlmap, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setUrlMap(params: Params$Resource$Regiontargethttpproxies$Seturlmap, callback: BodyResponseCallback): void; + setUrlMap(callback: BodyResponseCallback): void; + /** + * compute.regionTargetHttpProxies.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.regionTargetHttpProxies.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Regiontargethttpproxies$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Regiontargethttpproxies$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Regiontargethttpproxies$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Regiontargethttpproxies$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetHttpProxy resource to delete. + */ + targetHttpProxy?: string; + } + interface Params$Resource$Regiontargethttpproxies$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * Name of the TargetHttpProxy resource to return. + */ + targetHttpProxy?: string; + } + interface Params$Resource$Regiontargethttpproxies$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetHttpProxy; + } + interface Params$Resource$Regiontargethttpproxies$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + } + interface Params$Resource$Regiontargethttpproxies$Seturlmap { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetHttpProxy to set a URL map for. + */ + targetHttpProxy?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UrlMapReference; + } + interface Params$Resource$Regiontargethttpproxies$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Regiontargethttpsproxies { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.regionTargetHttpsProxies.delete + * @desc Deletes the specified TargetHttpsProxy resource. + * @alias compute.regionTargetHttpsProxies.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetHttpsProxy Name of the TargetHttpsProxy resource to delete. + * @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?: Params$Resource$Regiontargethttpsproxies$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Regiontargethttpsproxies$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Regiontargethttpsproxies$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.regionTargetHttpsProxies.get + * @desc Returns the specified TargetHttpsProxy resource in the specified + * region. Gets a list of available target HTTP proxies by making a list() + * request. + * @alias compute.regionTargetHttpsProxies.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string} params.targetHttpsProxy Name of the TargetHttpsProxy resource to return. + * @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?: Params$Resource$Regiontargethttpsproxies$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Regiontargethttpsproxies$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Regiontargethttpsproxies$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.regionTargetHttpsProxies.insert + * @desc Creates a TargetHttpsProxy resource in the specified project and + * region using the data included in the request. + * @alias compute.regionTargetHttpsProxies.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().TargetHttpsProxy} 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?: Params$Resource$Regiontargethttpsproxies$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Regiontargethttpsproxies$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Regiontargethttpsproxies$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.regionTargetHttpsProxies.list + * @desc Retrieves the list of TargetHttpsProxy resources available to the + * specified project in the specified region. + * @alias compute.regionTargetHttpsProxies.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @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?: Params$Resource$Regiontargethttpsproxies$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Regiontargethttpsproxies$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Regiontargethttpsproxies$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.regionTargetHttpsProxies.setSslCertificates + * @desc Replaces SslCertificates for TargetHttpsProxy. + * @alias compute.regionTargetHttpsProxies.setSslCertificates + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetHttpsProxy Name of the TargetHttpsProxy resource to set an SslCertificates resource for. + * @param {().RegionTargetHttpsProxiesSetSslCertificatesRequest} 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 + */ + setSslCertificates(params?: Params$Resource$Regiontargethttpsproxies$Setsslcertificates, options?: MethodOptions): AxiosPromise; + setSslCertificates(params: Params$Resource$Regiontargethttpsproxies$Setsslcertificates, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setSslCertificates(params: Params$Resource$Regiontargethttpsproxies$Setsslcertificates, callback: BodyResponseCallback): void; + setSslCertificates(callback: BodyResponseCallback): void; + /** + * compute.regionTargetHttpsProxies.setUrlMap + * @desc Changes the URL map for TargetHttpsProxy. + * @alias compute.regionTargetHttpsProxies.setUrlMap + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetHttpsProxy Name of the TargetHttpsProxy to set a URL map for. + * @param {().UrlMapReference} 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 + */ + setUrlMap(params?: Params$Resource$Regiontargethttpsproxies$Seturlmap, options?: MethodOptions): AxiosPromise; + setUrlMap(params: Params$Resource$Regiontargethttpsproxies$Seturlmap, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setUrlMap(params: Params$Resource$Regiontargethttpsproxies$Seturlmap, callback: BodyResponseCallback): void; + setUrlMap(callback: BodyResponseCallback): void; + /** + * compute.regionTargetHttpsProxies.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.regionTargetHttpsProxies.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Regiontargethttpsproxies$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Regiontargethttpsproxies$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Regiontargethttpsproxies$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Regiontargethttpsproxies$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetHttpsProxy resource to delete. + */ + targetHttpsProxy?: string; + } + interface Params$Resource$Regiontargethttpsproxies$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * Name of the TargetHttpsProxy resource to return. + */ + targetHttpsProxy?: string; + } + interface Params$Resource$Regiontargethttpsproxies$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetHttpsProxy; + } + interface Params$Resource$Regiontargethttpsproxies$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + } + interface Params$Resource$Regiontargethttpsproxies$Setsslcertificates { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetHttpsProxy resource to set an SslCertificates resource + * for. + */ + targetHttpsProxy?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RegionTargetHttpsProxiesSetSslCertificatesRequest; + } + interface Params$Resource$Regiontargethttpsproxies$Seturlmap { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetHttpsProxy to set a URL map for. + */ + targetHttpsProxy?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UrlMapReference; + } + interface Params$Resource$Regiontargethttpsproxies$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Regionurlmaps { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.regionUrlMaps.delete + * @desc Deletes the specified UrlMap resource. + * @alias compute.regionUrlMaps.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId begin_interface: MixerMutationRequestBuilder Request ID to support idempotency. + * @param {string} params.urlMap Name of the UrlMap resource to delete. + * @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?: Params$Resource$Regionurlmaps$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Regionurlmaps$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Regionurlmaps$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.regionUrlMaps.get + * @desc Returns the specified UrlMap resource. Gets a list of available URL + * maps by making a list() request. + * @alias compute.regionUrlMaps.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string} params.urlMap Name of the UrlMap resource to return. + * @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?: Params$Resource$Regionurlmaps$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Regionurlmaps$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Regionurlmaps$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.regionUrlMaps.insert + * @desc Creates a UrlMap resource in the specified project using the data + * included in the request. + * @alias compute.regionUrlMaps.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId begin_interface: MixerMutationRequestBuilder Request ID to support idempotency. + * @param {().UrlMap} 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?: Params$Resource$Regionurlmaps$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Regionurlmaps$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Regionurlmaps$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.regionUrlMaps.invalidateCache + * @desc Initiates a cache invalidation operation, invalidating the + * specified path, scoped to the specified UrlMap. + * @alias compute.regionUrlMaps.invalidateCache + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId begin_interface: MixerMutationRequestBuilder Request ID to support idempotency. + * @param {string} params.urlMap Name of the UrlMap scoping this request. + * @param {().CacheInvalidationRule} 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 + */ + invalidateCache(params?: Params$Resource$Regionurlmaps$Invalidatecache, options?: MethodOptions): AxiosPromise; + invalidateCache(params: Params$Resource$Regionurlmaps$Invalidatecache, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + invalidateCache(params: Params$Resource$Regionurlmaps$Invalidatecache, callback: BodyResponseCallback): void; + invalidateCache(callback: BodyResponseCallback): void; + /** + * compute.regionUrlMaps.list + * @desc Retrieves the list of UrlMap resources available to the specified + * project in the specified region. + * @alias compute.regionUrlMaps.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @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?: Params$Resource$Regionurlmaps$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Regionurlmaps$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Regionurlmaps$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.regionUrlMaps.patch + * @desc Patches the specified UrlMap resource with the data included in the + * request. This method supports PATCH semantics and uses JSON merge patch + * format and processing rules. + * @alias compute.regionUrlMaps.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId begin_interface: MixerMutationRequestBuilder Request ID to support idempotency. + * @param {string} params.urlMap Name of the UrlMap resource to patch. + * @param {().UrlMap} 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 + */ + patch(params?: Params$Resource$Regionurlmaps$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Regionurlmaps$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Regionurlmaps$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * compute.regionUrlMaps.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.regionUrlMaps.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Regionurlmaps$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Regionurlmaps$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Regionurlmaps$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + /** + * compute.regionUrlMaps.update + * @desc Updates the specified UrlMap resource with the data included in the + * request. + * @alias compute.regionUrlMaps.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId begin_interface: MixerMutationRequestBuilder Request ID to support idempotency. + * @param {string} params.urlMap Name of the UrlMap resource to update. + * @param {().UrlMap} 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?: Params$Resource$Regionurlmaps$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Regionurlmaps$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Regionurlmaps$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + /** + * compute.regionUrlMaps.validate + * @desc Runs static validation for the UrlMap. In particular, the tests of + * the provided UrlMap will be run. Calling this method does NOT create the + * UrlMap. + * @alias compute.regionUrlMaps.validate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string} params.urlMap Name of the UrlMap resource to be validated as. + * @param {().RegionUrlMapsValidateRequest} 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 + */ + validate(params?: Params$Resource$Regionurlmaps$Validate, options?: MethodOptions): AxiosPromise; + validate(params: Params$Resource$Regionurlmaps$Validate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + validate(params: Params$Resource$Regionurlmaps$Validate, callback: BodyResponseCallback): void; + validate(callback: BodyResponseCallback): void; + } + interface Params$Resource$Regionurlmaps$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * begin_interface: MixerMutationRequestBuilder Request ID to support + * idempotency. + */ + requestId?: string; + /** + * Name of the UrlMap resource to delete. + */ + urlMap?: string; + } + interface Params$Resource$Regionurlmaps$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * Name of the UrlMap resource to return. + */ + urlMap?: string; + } + interface Params$Resource$Regionurlmaps$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * begin_interface: MixerMutationRequestBuilder Request ID to support + * idempotency. + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UrlMap; + } + interface Params$Resource$Regionurlmaps$Invalidatecache { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * begin_interface: MixerMutationRequestBuilder Request ID to support + * idempotency. + */ + requestId?: string; + /** + * Name of the UrlMap scoping this request. + */ + urlMap?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CacheInvalidationRule; + } + interface Params$Resource$Regionurlmaps$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + } + interface Params$Resource$Regionurlmaps$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * begin_interface: MixerMutationRequestBuilder Request ID to support + * idempotency. + */ + requestId?: string; + /** + * Name of the UrlMap resource to patch. + */ + urlMap?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UrlMap; + } + interface Params$Resource$Regionurlmaps$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + interface Params$Resource$Regionurlmaps$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * begin_interface: MixerMutationRequestBuilder Request ID to support + * idempotency. + */ + requestId?: string; + /** + * Name of the UrlMap resource to update. + */ + urlMap?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UrlMap; + } + interface Params$Resource$Regionurlmaps$Validate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * Name of the UrlMap resource to be validated as. + */ + urlMap?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RegionUrlMapsValidateRequest; + } + class Resource$Resourcepolicies { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.resourcePolicies.aggregatedList + * @desc Retrieves an aggregated list of resource policies. + * @alias compute.resourcePolicies.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Resourcepolicies$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Resourcepolicies$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Resourcepolicies$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.resourcePolicies.delete + * @desc Deletes the specified resource policy. + * @alias compute.resourcePolicies.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.resourcePolicy Name of the resource policy to delete. + * @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?: Params$Resource$Resourcepolicies$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Resourcepolicies$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Resourcepolicies$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.resourcePolicies.get + * @desc Retrieves all information of the specified resource policy. + * @alias compute.resourcePolicies.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string} params.resourcePolicy Name of the resource policy to retrieve. + * @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?: Params$Resource$Resourcepolicies$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Resourcepolicies$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Resourcepolicies$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.resourcePolicies.getIamPolicy + * @desc Gets the access control policy for a resource. May be empty if no + * such policy or resource exists. + * @alias compute.resourcePolicies.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @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 + */ + getIamPolicy(params?: Params$Resource$Resourcepolicies$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Resourcepolicies$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Resourcepolicies$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * compute.resourcePolicies.insert + * @desc Creates a new resource policy. + * @alias compute.resourcePolicies.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().ResourcePolicy} 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?: Params$Resource$Resourcepolicies$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Resourcepolicies$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Resourcepolicies$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.resourcePolicies.list + * @desc A list all the resource policies that have been configured for the + * specified project in specified region. + * @alias compute.resourcePolicies.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @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?: Params$Resource$Resourcepolicies$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Resourcepolicies$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Resourcepolicies$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.resourcePolicies.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @alias compute.resourcePolicies.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().RegionSetPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Resourcepolicies$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Resourcepolicies$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Resourcepolicies$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * compute.resourcePolicies.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.resourcePolicies.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Resourcepolicies$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Resourcepolicies$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Resourcepolicies$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Resourcepolicies$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Resourcepolicies$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the resource policy to delete. + */ + resourcePolicy?: string; + } + interface Params$Resource$Resourcepolicies$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * Name of the resource policy to retrieve. + */ + resourcePolicy?: string; + } + interface Params$Resource$Resourcepolicies$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + } + interface Params$Resource$Resourcepolicies$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ResourcePolicy; + } + interface Params$Resource$Resourcepolicies$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + } + interface Params$Resource$Resourcepolicies$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RegionSetPolicyRequest; + } + interface Params$Resource$Resourcepolicies$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Routers { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.routers.aggregatedList + * @desc Retrieves an aggregated list of routers. + * @alias compute.routers.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Routers$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Routers$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Routers$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.routers.delete + * @desc Deletes the specified Router resource. + * @alias compute.routers.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.router Name of the Router resource to delete. + * @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?: Params$Resource$Routers$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Routers$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Routers$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.routers.get + * @desc Returns the specified Router resource. Gets a list of available + * routers by making a list() request. + * @alias compute.routers.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string} params.router Name of the Router resource to return. + * @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?: Params$Resource$Routers$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Routers$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Routers$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.routers.getNatMappingInfo + * @desc Retrieves runtime Nat mapping information of VM endpoints. + * @alias compute.routers.getNatMappingInfo + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string} params.router Name of the Router resource to query for Nat Mapping information of VM endpoints. + * @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 + */ + getNatMappingInfo(params?: Params$Resource$Routers$Getnatmappinginfo, options?: MethodOptions): AxiosPromise; + getNatMappingInfo(params: Params$Resource$Routers$Getnatmappinginfo, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getNatMappingInfo(params: Params$Resource$Routers$Getnatmappinginfo, callback: BodyResponseCallback): void; + getNatMappingInfo(callback: BodyResponseCallback): void; + /** + * compute.routers.getRouterStatus + * @desc Retrieves runtime information of the specified router. + * @alias compute.routers.getRouterStatus + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string} params.router Name of the Router resource to query. + * @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 + */ + getRouterStatus(params?: Params$Resource$Routers$Getrouterstatus, options?: MethodOptions): AxiosPromise; + getRouterStatus(params: Params$Resource$Routers$Getrouterstatus, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getRouterStatus(params: Params$Resource$Routers$Getrouterstatus, callback: BodyResponseCallback): void; + getRouterStatus(callback: BodyResponseCallback): void; + /** + * compute.routers.insert + * @desc Creates a Router resource in the specified project and region using + * the data included in the request. + * @alias compute.routers.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Router} 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?: Params$Resource$Routers$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Routers$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Routers$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.routers.list + * @desc Retrieves a list of Router resources available to the specified + * project. + * @alias compute.routers.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @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?: Params$Resource$Routers$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Routers$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Routers$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.routers.patch + * @desc Patches the specified Router resource with the data included in the + * request. This method supports PATCH semantics and uses JSON merge patch + * format and processing rules. + * @alias compute.routers.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.router Name of the Router resource to patch. + * @param {().Router} 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 + */ + patch(params?: Params$Resource$Routers$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Routers$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Routers$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * compute.routers.preview + * @desc Preview fields auto-generated during router create and update + * operations. Calling this method does NOT create or update the router. + * @alias compute.routers.preview + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string} params.router Name of the Router resource to query. + * @param {().Router} 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 + */ + preview(params?: Params$Resource$Routers$Preview, options?: MethodOptions): AxiosPromise; + preview(params: Params$Resource$Routers$Preview, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + preview(params: Params$Resource$Routers$Preview, callback: BodyResponseCallback): void; + preview(callback: BodyResponseCallback): void; + /** + * compute.routers.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.routers.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Routers$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Routers$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Routers$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + /** + * compute.routers.update + * @desc Updates the specified Router resource with the data included in the + * request. + * @alias compute.routers.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.router Name of the Router resource to update. + * @param {().Router} 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?: Params$Resource$Routers$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Routers$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Routers$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Routers$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Routers$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the Router resource to delete. + */ + router?: string; + } + interface Params$Resource$Routers$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * Name of the Router resource to return. + */ + router?: string; + } + interface Params$Resource$Routers$Getnatmappinginfo { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * Name of the Router resource to query for Nat Mapping information of VM + * endpoints. + */ + router?: string; + } + interface Params$Resource$Routers$Getrouterstatus { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * Name of the Router resource to query. + */ + router?: string; + } + interface Params$Resource$Routers$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Router; + } + interface Params$Resource$Routers$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + } + interface Params$Resource$Routers$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the Router resource to patch. + */ + router?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Router; + } + interface Params$Resource$Routers$Preview { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * Name of the Router resource to query. + */ + router?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Router; + } + interface Params$Resource$Routers$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + interface Params$Resource$Routers$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the Router resource to update. + */ + router?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Router; + } + class Resource$Routes { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.routes.delete + * @desc Deletes the specified Route resource. + * @alias compute.routes.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.route Name of the Route resource to delete. + * @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?: Params$Resource$Routes$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Routes$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Routes$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.routes.get + * @desc Returns the specified Route resource. Gets a list of available + * routes by making a list() request. + * @alias compute.routes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.route Name of the Route resource to return. + * @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?: Params$Resource$Routes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Routes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Routes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.routes.insert + * @desc Creates a Route resource in the specified project using the data + * included in the request. + * @alias compute.routes.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Route} 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?: Params$Resource$Routes$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Routes$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Routes$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.routes.list + * @desc Retrieves the list of Route resources available to the specified + * project. + * @alias compute.routes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Routes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Routes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Routes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.routes.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.routes.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Routes$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Routes$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Routes$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Routes$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the Route resource to delete. + */ + route?: string; + } + interface Params$Resource$Routes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the Route resource to return. + */ + route?: string; + } + interface Params$Resource$Routes$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Route; + } + interface Params$Resource$Routes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Routes$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Securitypolicies { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.securityPolicies.addRule + * @desc Inserts a rule into a security policy. + * @alias compute.securityPolicies.addRule + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.securityPolicy Name of the security policy to update. + * @param {boolean=} params.validateOnly If true, the request will not be committed. + * @param {().SecurityPolicyRule} 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 + */ + addRule(params?: Params$Resource$Securitypolicies$Addrule, options?: MethodOptions): AxiosPromise; + addRule(params: Params$Resource$Securitypolicies$Addrule, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + addRule(params: Params$Resource$Securitypolicies$Addrule, callback: BodyResponseCallback): void; + addRule(callback: BodyResponseCallback): void; + /** + * compute.securityPolicies.delete + * @desc Deletes the specified policy. + * @alias compute.securityPolicies.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.securityPolicy Name of the security policy to delete. + * @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?: Params$Resource$Securitypolicies$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Securitypolicies$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Securitypolicies$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.securityPolicies.get + * @desc List all of the ordered rules present in a single specified policy. + * @alias compute.securityPolicies.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.securityPolicy Name of the security policy to get. + * @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?: Params$Resource$Securitypolicies$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Securitypolicies$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Securitypolicies$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.securityPolicies.getRule + * @desc Gets a rule at the specified priority. + * @alias compute.securityPolicies.getRule + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.priority The priority of the rule to get from the security policy. + * @param {string} params.project Project ID for this request. + * @param {string} params.securityPolicy Name of the security policy to which the queried rule belongs. + * @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 + */ + getRule(params?: Params$Resource$Securitypolicies$Getrule, options?: MethodOptions): AxiosPromise; + getRule(params: Params$Resource$Securitypolicies$Getrule, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getRule(params: Params$Resource$Securitypolicies$Getrule, callback: BodyResponseCallback): void; + getRule(callback: BodyResponseCallback): void; + /** + * compute.securityPolicies.insert + * @desc Creates a new policy in the specified project using the data + * included in the request. + * @alias compute.securityPolicies.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {boolean=} params.validateOnly If true, the request will not be committed. + * @param {().SecurityPolicy} 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?: Params$Resource$Securitypolicies$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Securitypolicies$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Securitypolicies$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.securityPolicies.list + * @desc List all the policies that have been configured for the specified + * project. + * @alias compute.securityPolicies.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Securitypolicies$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Securitypolicies$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Securitypolicies$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.securityPolicies.listPreconfiguredExpressionSets + * @desc Gets the current list of preconfigured Web Application Firewall + * (WAF) expressions. + * @alias compute.securityPolicies.listPreconfiguredExpressionSets + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + listPreconfiguredExpressionSets(params?: Params$Resource$Securitypolicies$Listpreconfiguredexpressionsets, options?: MethodOptions): AxiosPromise; + listPreconfiguredExpressionSets(params: Params$Resource$Securitypolicies$Listpreconfiguredexpressionsets, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listPreconfiguredExpressionSets(params: Params$Resource$Securitypolicies$Listpreconfiguredexpressionsets, callback: BodyResponseCallback): void; + listPreconfiguredExpressionSets(callback: BodyResponseCallback): void; + /** + * compute.securityPolicies.patch + * @desc Patches the specified policy with the data included in the request. + * @alias compute.securityPolicies.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.securityPolicy Name of the security policy to update. + * @param {().SecurityPolicy} 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 + */ + patch(params?: Params$Resource$Securitypolicies$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Securitypolicies$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Securitypolicies$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * compute.securityPolicies.patchRule + * @desc Patches a rule at the specified priority. + * @alias compute.securityPolicies.patchRule + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.priority The priority of the rule to patch. + * @param {string} params.project Project ID for this request. + * @param {string} params.securityPolicy Name of the security policy to update. + * @param {boolean=} params.validateOnly If true, the request will not be committed. + * @param {().SecurityPolicyRule} 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 + */ + patchRule(params?: Params$Resource$Securitypolicies$Patchrule, options?: MethodOptions): AxiosPromise; + patchRule(params: Params$Resource$Securitypolicies$Patchrule, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patchRule(params: Params$Resource$Securitypolicies$Patchrule, callback: BodyResponseCallback): void; + patchRule(callback: BodyResponseCallback): void; + /** + * compute.securityPolicies.removeRule + * @desc Deletes a rule at the specified priority. + * @alias compute.securityPolicies.removeRule + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.priority The priority of the rule to remove from the security policy. + * @param {string} params.project Project ID for this request. + * @param {string} params.securityPolicy Name of the security policy to update. + * @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 + */ + removeRule(params?: Params$Resource$Securitypolicies$Removerule, options?: MethodOptions): AxiosPromise; + removeRule(params: Params$Resource$Securitypolicies$Removerule, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + removeRule(params: Params$Resource$Securitypolicies$Removerule, callback: BodyResponseCallback): void; + removeRule(callback: BodyResponseCallback): void; + /** + * compute.securityPolicies.setLabels + * @desc Sets the labels on a security policy. To learn more about labels, + * read the Labeling Resources documentation. + * @alias compute.securityPolicies.setLabels + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().GlobalSetLabelsRequest} 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 + */ + setLabels(params?: Params$Resource$Securitypolicies$Setlabels, options?: MethodOptions): AxiosPromise; + setLabels(params: Params$Resource$Securitypolicies$Setlabels, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setLabels(params: Params$Resource$Securitypolicies$Setlabels, callback: BodyResponseCallback): void; + setLabels(callback: BodyResponseCallback): void; + /** + * compute.securityPolicies.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.securityPolicies.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Securitypolicies$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Securitypolicies$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Securitypolicies$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Securitypolicies$Addrule { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the security policy to update. + */ + securityPolicy?: string; + /** + * If true, the request will not be committed. + */ + validateOnly?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$SecurityPolicyRule; + } + interface Params$Resource$Securitypolicies$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the security policy to delete. + */ + securityPolicy?: string; + } + interface Params$Resource$Securitypolicies$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the security policy to get. + */ + securityPolicy?: string; + } + interface Params$Resource$Securitypolicies$Getrule { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The priority of the rule to get from the security policy. + */ + priority?: number; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the security policy to which the queried rule belongs. + */ + securityPolicy?: string; + } + interface Params$Resource$Securitypolicies$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * If true, the request will not be committed. + */ + validateOnly?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$SecurityPolicy; + } + interface Params$Resource$Securitypolicies$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Securitypolicies$Listpreconfiguredexpressionsets { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Securitypolicies$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the security policy to update. + */ + securityPolicy?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SecurityPolicy; + } + interface Params$Resource$Securitypolicies$Patchrule { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The priority of the rule to patch. + */ + priority?: number; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the security policy to update. + */ + securityPolicy?: string; + /** + * If true, the request will not be committed. + */ + validateOnly?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$SecurityPolicyRule; + } + interface Params$Resource$Securitypolicies$Removerule { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The priority of the rule to remove from the security policy. + */ + priority?: number; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the security policy to update. + */ + securityPolicy?: string; + } + interface Params$Resource$Securitypolicies$Setlabels { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GlobalSetLabelsRequest; + } + interface Params$Resource$Securitypolicies$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Snapshots { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.snapshots.delete + * @desc Deletes the specified Snapshot resource. Keep in mind that deleting + * a single snapshot might not necessarily delete all the data on that + * snapshot. If any data on the snapshot that is marked for deletion is + * needed for subsequent snapshots, the data will be moved to the next + * corresponding snapshot. For more information, see Deleting snaphots. + * @alias compute.snapshots.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.snapshot Name of the Snapshot resource to delete. + * @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?: Params$Resource$Snapshots$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Snapshots$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Snapshots$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.snapshots.get + * @desc Returns the specified Snapshot resource. Gets a list of available + * snapshots by making a list() request. + * @alias compute.snapshots.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.snapshot Name of the Snapshot resource to return. + * @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?: Params$Resource$Snapshots$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Snapshots$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Snapshots$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.snapshots.getIamPolicy + * @desc Gets the access control policy for a resource. May be empty if no + * such policy or resource exists. + * @alias compute.snapshots.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @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 + */ + getIamPolicy(params?: Params$Resource$Snapshots$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Snapshots$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Snapshots$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * compute.snapshots.list + * @desc Retrieves the list of Snapshot resources contained within the + * specified project. + * @alias compute.snapshots.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Snapshots$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Snapshots$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Snapshots$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.snapshots.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @alias compute.snapshots.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().GlobalSetPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Snapshots$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Snapshots$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Snapshots$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * compute.snapshots.setLabels + * @desc Sets the labels on a snapshot. To learn more about labels, read the + * Labeling Resources documentation. + * @alias compute.snapshots.setLabels + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().GlobalSetLabelsRequest} 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 + */ + setLabels(params?: Params$Resource$Snapshots$Setlabels, options?: MethodOptions): AxiosPromise; + setLabels(params: Params$Resource$Snapshots$Setlabels, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setLabels(params: Params$Resource$Snapshots$Setlabels, callback: BodyResponseCallback): void; + setLabels(callback: BodyResponseCallback): void; + /** + * compute.snapshots.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.snapshots.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Snapshots$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Snapshots$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Snapshots$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Snapshots$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the Snapshot resource to delete. + */ + snapshot?: string; + } + interface Params$Resource$Snapshots$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the Snapshot resource to return. + */ + snapshot?: string; + } + interface Params$Resource$Snapshots$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + } + interface Params$Resource$Snapshots$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Snapshots$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GlobalSetPolicyRequest; + } + interface Params$Resource$Snapshots$Setlabels { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GlobalSetLabelsRequest; + } + interface Params$Resource$Snapshots$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Sslcertificates { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.sslCertificates.aggregatedList + * @desc Retrieves the list of all SslCertificate resources, regional and + * global, available to the specified project. + * @alias compute.sslCertificates.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Name of the project scoping this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Sslcertificates$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Sslcertificates$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Sslcertificates$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.sslCertificates.delete + * @desc Deletes the specified SslCertificate resource. + * @alias compute.sslCertificates.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.sslCertificate Name of the SslCertificate resource to delete. + * @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?: Params$Resource$Sslcertificates$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Sslcertificates$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Sslcertificates$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.sslCertificates.get + * @desc Returns the specified SslCertificate resource. Gets a list of + * available SSL certificates by making a list() request. + * @alias compute.sslCertificates.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.sslCertificate Name of the SslCertificate resource to return. + * @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?: Params$Resource$Sslcertificates$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Sslcertificates$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Sslcertificates$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.sslCertificates.insert + * @desc Creates a SslCertificate resource in the specified project using + * the data included in the request. + * @alias compute.sslCertificates.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().SslCertificate} 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?: Params$Resource$Sslcertificates$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Sslcertificates$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Sslcertificates$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.sslCertificates.list + * @desc Retrieves the list of SslCertificate resources available to the + * specified project. + * @alias compute.sslCertificates.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Sslcertificates$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Sslcertificates$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Sslcertificates$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.sslCertificates.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.sslCertificates.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Sslcertificates$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Sslcertificates$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Sslcertificates$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Sslcertificates$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Name of the project scoping this request. + */ + project?: string; + } + interface Params$Resource$Sslcertificates$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the SslCertificate resource to delete. + */ + sslCertificate?: string; + } + interface Params$Resource$Sslcertificates$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the SslCertificate resource to return. + */ + sslCertificate?: string; + } + interface Params$Resource$Sslcertificates$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SslCertificate; + } + interface Params$Resource$Sslcertificates$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Sslcertificates$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Sslpolicies { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.sslPolicies.delete + * @desc Deletes the specified SSL policy. The SSL policy resource can be + * deleted only if it is not in use by any TargetHttpsProxy or + * TargetSslProxy resources. + * @alias compute.sslPolicies.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.sslPolicy Name of the SSL policy to delete. The name must be 1-63 characters long, and comply with RFC1035. + * @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?: Params$Resource$Sslpolicies$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Sslpolicies$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Sslpolicies$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.sslPolicies.get + * @desc Lists all of the ordered rules present in a single specified + * policy. + * @alias compute.sslPolicies.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.sslPolicy Name of the SSL policy to update. The name must be 1-63 characters long, and comply with RFC1035. + * @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?: Params$Resource$Sslpolicies$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Sslpolicies$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Sslpolicies$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.sslPolicies.insert + * @desc Returns the specified SSL policy resource. Gets a list of available + * SSL policies by making a list() request. + * @alias compute.sslPolicies.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().SslPolicy} 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?: Params$Resource$Sslpolicies$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Sslpolicies$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Sslpolicies$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.sslPolicies.list + * @desc Lists all the SSL policies that have been configured for the + * specified project. + * @alias compute.sslPolicies.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Sslpolicies$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Sslpolicies$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Sslpolicies$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.sslPolicies.listAvailableFeatures + * @desc Lists all features that can be specified in the SSL policy when + * using custom profile. + * @alias compute.sslPolicies.listAvailableFeatures + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + listAvailableFeatures(params?: Params$Resource$Sslpolicies$Listavailablefeatures, options?: MethodOptions): AxiosPromise; + listAvailableFeatures(params: Params$Resource$Sslpolicies$Listavailablefeatures, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listAvailableFeatures(params: Params$Resource$Sslpolicies$Listavailablefeatures, callback: BodyResponseCallback): void; + listAvailableFeatures(callback: BodyResponseCallback): void; + /** + * compute.sslPolicies.patch + * @desc Patches the specified SSL policy with the data included in the + * request. + * @alias compute.sslPolicies.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.sslPolicy Name of the SSL policy to update. The name must be 1-63 characters long, and comply with RFC1035. + * @param {().SslPolicy} 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 + */ + patch(params?: Params$Resource$Sslpolicies$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Sslpolicies$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Sslpolicies$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * compute.sslPolicies.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.sslPolicies.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Sslpolicies$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Sslpolicies$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Sslpolicies$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Sslpolicies$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the SSL policy to delete. The name must be 1-63 characters long, + * and comply with RFC1035. + */ + sslPolicy?: string; + } + interface Params$Resource$Sslpolicies$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the SSL policy to update. The name must be 1-63 characters long, + * and comply with RFC1035. + */ + sslPolicy?: string; + } + interface Params$Resource$Sslpolicies$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SslPolicy; + } + interface Params$Resource$Sslpolicies$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Sslpolicies$Listavailablefeatures { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Sslpolicies$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the SSL policy to update. The name must be 1-63 characters long, + * and comply with RFC1035. + */ + sslPolicy?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SslPolicy; + } + interface Params$Resource$Sslpolicies$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Subnetworks { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.subnetworks.aggregatedList + * @desc Retrieves an aggregated list of subnetworks. + * @alias compute.subnetworks.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Subnetworks$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Subnetworks$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Subnetworks$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.subnetworks.delete + * @desc Deletes the specified subnetwork. + * @alias compute.subnetworks.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.subnetwork Name of the Subnetwork resource to delete. + * @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?: Params$Resource$Subnetworks$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Subnetworks$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Subnetworks$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.subnetworks.expandIpCidrRange + * @desc Expands the IP CIDR range of the subnetwork to a specified value. + * @alias compute.subnetworks.expandIpCidrRange + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.subnetwork Name of the Subnetwork resource to update. + * @param {().SubnetworksExpandIpCidrRangeRequest} 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 + */ + expandIpCidrRange(params?: Params$Resource$Subnetworks$Expandipcidrrange, options?: MethodOptions): AxiosPromise; + expandIpCidrRange(params: Params$Resource$Subnetworks$Expandipcidrrange, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + expandIpCidrRange(params: Params$Resource$Subnetworks$Expandipcidrrange, callback: BodyResponseCallback): void; + expandIpCidrRange(callback: BodyResponseCallback): void; + /** + * compute.subnetworks.get + * @desc Returns the specified subnetwork. Gets a list of available + * subnetworks list() request. + * @alias compute.subnetworks.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string} params.subnetwork Name of the Subnetwork resource to return. + * @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?: Params$Resource$Subnetworks$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Subnetworks$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Subnetworks$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.subnetworks.getIamPolicy + * @desc Gets the access control policy for a resource. May be empty if no + * such policy or resource exists. + * @alias compute.subnetworks.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @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 + */ + getIamPolicy(params?: Params$Resource$Subnetworks$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Subnetworks$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Subnetworks$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * compute.subnetworks.insert + * @desc Creates a subnetwork in the specified project using the data + * included in the request. + * @alias compute.subnetworks.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Subnetwork} 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?: Params$Resource$Subnetworks$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Subnetworks$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Subnetworks$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.subnetworks.list + * @desc Retrieves a list of subnetworks available to the specified project. + * @alias compute.subnetworks.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @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?: Params$Resource$Subnetworks$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Subnetworks$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Subnetworks$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.subnetworks.listUsable + * @desc Retrieves an aggregated list of usable subnetworks. + * @alias compute.subnetworks.listUsable + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + listUsable(params?: Params$Resource$Subnetworks$Listusable, options?: MethodOptions): AxiosPromise; + listUsable(params: Params$Resource$Subnetworks$Listusable, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listUsable(params: Params$Resource$Subnetworks$Listusable, callback: BodyResponseCallback): void; + listUsable(callback: BodyResponseCallback): void; + /** + * compute.subnetworks.patch + * @desc Patches the specified subnetwork with the data included in the + * request. Only the following fields within the subnetwork resource can be + * specified in the request: secondary_ip_range, + * allow_subnet_cidr_routes_overlap and role. It is also mandatory to + * specify the current fingeprint of the subnetwork resource being patched. + * @alias compute.subnetworks.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.drainTimeoutSeconds The drain timeout specifies the upper bound in seconds on the amount of time allowed to drain connections from the current ACTIVE subnetwork to the current BACKUP subnetwork. The drain timeout is only applicable when the following conditions are true: - the subnetwork being patched has purpose = INTERNAL_HTTPS_LOAD_BALANCER - the subnetwork being patched has role = BACKUP - the patch request is setting the role to ACTIVE. Note that after this patch operation the roles of the ACTIVE and BACKUP subnetworks will be swapped. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.subnetwork Name of the Subnetwork resource to patch. + * @param {().Subnetwork} 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 + */ + patch(params?: Params$Resource$Subnetworks$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Subnetworks$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Subnetworks$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * compute.subnetworks.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @alias compute.subnetworks.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().RegionSetPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Subnetworks$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Subnetworks$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Subnetworks$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * compute.subnetworks.setPrivateIpGoogleAccess + * @desc Set whether VMs in this subnet can access Google services without + * assigning external IP addresses through Private Google Access. + * @alias compute.subnetworks.setPrivateIpGoogleAccess + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.subnetwork Name of the Subnetwork resource. + * @param {().SubnetworksSetPrivateIpGoogleAccessRequest} 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 + */ + setPrivateIpGoogleAccess(params?: Params$Resource$Subnetworks$Setprivateipgoogleaccess, options?: MethodOptions): AxiosPromise; + setPrivateIpGoogleAccess(params: Params$Resource$Subnetworks$Setprivateipgoogleaccess, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setPrivateIpGoogleAccess(params: Params$Resource$Subnetworks$Setprivateipgoogleaccess, callback: BodyResponseCallback): void; + setPrivateIpGoogleAccess(callback: BodyResponseCallback): void; + /** + * compute.subnetworks.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.subnetworks.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Subnetworks$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Subnetworks$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Subnetworks$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Subnetworks$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Subnetworks$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the Subnetwork resource to delete. + */ + subnetwork?: string; + } + interface Params$Resource$Subnetworks$Expandipcidrrange { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the Subnetwork resource to update. + */ + subnetwork?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SubnetworksExpandIpCidrRangeRequest; + } + interface Params$Resource$Subnetworks$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * Name of the Subnetwork resource to return. + */ + subnetwork?: string; + } + interface Params$Resource$Subnetworks$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + } + interface Params$Resource$Subnetworks$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Subnetwork; + } + interface Params$Resource$Subnetworks$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + } + interface Params$Resource$Subnetworks$Listusable { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Subnetworks$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The drain timeout specifies the upper bound in seconds on the amount of + * time allowed to drain connections from the current ACTIVE subnetwork to + * the current BACKUP subnetwork. The drain timeout is only applicable when + * the following conditions are true: - the subnetwork being patched has + * purpose = INTERNAL_HTTPS_LOAD_BALANCER - the subnetwork being patched has + * role = BACKUP - the patch request is setting the role to ACTIVE. Note + * that after this patch operation the roles of the ACTIVE and BACKUP + * subnetworks will be swapped. + */ + drainTimeoutSeconds?: number; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the Subnetwork resource to patch. + */ + subnetwork?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Subnetwork; + } + interface Params$Resource$Subnetworks$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RegionSetPolicyRequest; + } + interface Params$Resource$Subnetworks$Setprivateipgoogleaccess { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the Subnetwork resource. + */ + subnetwork?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SubnetworksSetPrivateIpGoogleAccessRequest; + } + interface Params$Resource$Subnetworks$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Targethttpproxies { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.targetHttpProxies.aggregatedList + * @desc Retrieves the list of all TargetHttpProxy resources, regional and + * global, available to the specified project. + * @alias compute.targetHttpProxies.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Name of the project scoping this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Targethttpproxies$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Targethttpproxies$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Targethttpproxies$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.targetHttpProxies.delete + * @desc Deletes the specified TargetHttpProxy resource. + * @alias compute.targetHttpProxies.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetHttpProxy Name of the TargetHttpProxy resource to delete. + * @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?: Params$Resource$Targethttpproxies$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Targethttpproxies$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Targethttpproxies$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.targetHttpProxies.get + * @desc Returns the specified TargetHttpProxy resource. Gets a list of + * available target HTTP proxies by making a list() request. + * @alias compute.targetHttpProxies.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.targetHttpProxy Name of the TargetHttpProxy resource to return. + * @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?: Params$Resource$Targethttpproxies$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Targethttpproxies$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Targethttpproxies$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.targetHttpProxies.insert + * @desc Creates a TargetHttpProxy resource in the specified project using + * the data included in the request. + * @alias compute.targetHttpProxies.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().TargetHttpProxy} 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?: Params$Resource$Targethttpproxies$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Targethttpproxies$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Targethttpproxies$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.targetHttpProxies.list + * @desc Retrieves the list of TargetHttpProxy resources available to the + * specified project. + * @alias compute.targetHttpProxies.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Targethttpproxies$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Targethttpproxies$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Targethttpproxies$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.targetHttpProxies.setUrlMap + * @desc Changes the URL map for TargetHttpProxy. + * @alias compute.targetHttpProxies.setUrlMap + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetHttpProxy Name of the TargetHttpProxy to set a URL map for. + * @param {().UrlMapReference} 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 + */ + setUrlMap(params?: Params$Resource$Targethttpproxies$Seturlmap, options?: MethodOptions): AxiosPromise; + setUrlMap(params: Params$Resource$Targethttpproxies$Seturlmap, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setUrlMap(params: Params$Resource$Targethttpproxies$Seturlmap, callback: BodyResponseCallback): void; + setUrlMap(callback: BodyResponseCallback): void; + /** + * compute.targetHttpProxies.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.targetHttpProxies.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Targethttpproxies$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Targethttpproxies$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Targethttpproxies$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Targethttpproxies$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Name of the project scoping this request. + */ + project?: string; + } + interface Params$Resource$Targethttpproxies$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetHttpProxy resource to delete. + */ + targetHttpProxy?: string; + } + interface Params$Resource$Targethttpproxies$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the TargetHttpProxy resource to return. + */ + targetHttpProxy?: string; + } + interface Params$Resource$Targethttpproxies$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetHttpProxy; + } + interface Params$Resource$Targethttpproxies$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Targethttpproxies$Seturlmap { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetHttpProxy to set a URL map for. + */ + targetHttpProxy?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UrlMapReference; + } + interface Params$Resource$Targethttpproxies$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Targethttpsproxies { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.targetHttpsProxies.aggregatedList + * @desc Retrieves the list of all TargetHttpsProxy resources, regional and + * global, available to the specified project. + * @alias compute.targetHttpsProxies.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Name of the project scoping this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Targethttpsproxies$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Targethttpsproxies$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Targethttpsproxies$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.targetHttpsProxies.delete + * @desc Deletes the specified TargetHttpsProxy resource. + * @alias compute.targetHttpsProxies.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetHttpsProxy Name of the TargetHttpsProxy resource to delete. + * @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?: Params$Resource$Targethttpsproxies$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Targethttpsproxies$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Targethttpsproxies$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.targetHttpsProxies.get + * @desc Returns the specified TargetHttpsProxy resource. Gets a list of + * available target HTTPS proxies by making a list() request. + * @alias compute.targetHttpsProxies.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.targetHttpsProxy Name of the TargetHttpsProxy resource to return. + * @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?: Params$Resource$Targethttpsproxies$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Targethttpsproxies$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Targethttpsproxies$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.targetHttpsProxies.insert + * @desc Creates a TargetHttpsProxy resource in the specified project using + * the data included in the request. + * @alias compute.targetHttpsProxies.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().TargetHttpsProxy} 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?: Params$Resource$Targethttpsproxies$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Targethttpsproxies$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Targethttpsproxies$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.targetHttpsProxies.list + * @desc Retrieves the list of TargetHttpsProxy resources available to the + * specified project. + * @alias compute.targetHttpsProxies.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Targethttpsproxies$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Targethttpsproxies$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Targethttpsproxies$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.targetHttpsProxies.setQuicOverride + * @desc Sets the QUIC override policy for TargetHttpsProxy. + * @alias compute.targetHttpsProxies.setQuicOverride + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetHttpsProxy Name of the TargetHttpsProxy resource to set the QUIC override policy for. The name should conform to RFC1035. + * @param {().TargetHttpsProxiesSetQuicOverrideRequest} 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 + */ + setQuicOverride(params?: Params$Resource$Targethttpsproxies$Setquicoverride, options?: MethodOptions): AxiosPromise; + setQuicOverride(params: Params$Resource$Targethttpsproxies$Setquicoverride, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setQuicOverride(params: Params$Resource$Targethttpsproxies$Setquicoverride, callback: BodyResponseCallback): void; + setQuicOverride(callback: BodyResponseCallback): void; + /** + * compute.targetHttpsProxies.setSslCertificates + * @desc Replaces SslCertificates for TargetHttpsProxy. + * @alias compute.targetHttpsProxies.setSslCertificates + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetHttpsProxy Name of the TargetHttpsProxy resource to set an SslCertificates resource for. + * @param {().TargetHttpsProxiesSetSslCertificatesRequest} 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 + */ + setSslCertificates(params?: Params$Resource$Targethttpsproxies$Setsslcertificates, options?: MethodOptions): AxiosPromise; + setSslCertificates(params: Params$Resource$Targethttpsproxies$Setsslcertificates, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setSslCertificates(params: Params$Resource$Targethttpsproxies$Setsslcertificates, callback: BodyResponseCallback): void; + setSslCertificates(callback: BodyResponseCallback): void; + /** + * compute.targetHttpsProxies.setSslPolicy + * @desc Sets the SSL policy for TargetHttpsProxy. The SSL policy specifies + * the server-side support for SSL features. This affects connections + * between clients and the HTTPS proxy load balancer. They do not affect the + * connection between the load balancer and the backends. + * @alias compute.targetHttpsProxies.setSslPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetHttpsProxy Name of the TargetHttpsProxy resource whose SSL policy is to be set. The name must be 1-63 characters long, and comply with RFC1035. + * @param {().SslPolicyReference} 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 + */ + setSslPolicy(params?: Params$Resource$Targethttpsproxies$Setsslpolicy, options?: MethodOptions): AxiosPromise; + setSslPolicy(params: Params$Resource$Targethttpsproxies$Setsslpolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setSslPolicy(params: Params$Resource$Targethttpsproxies$Setsslpolicy, callback: BodyResponseCallback): void; + setSslPolicy(callback: BodyResponseCallback): void; + /** + * compute.targetHttpsProxies.setUrlMap + * @desc Changes the URL map for TargetHttpsProxy. + * @alias compute.targetHttpsProxies.setUrlMap + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetHttpsProxy Name of the TargetHttpsProxy resource whose URL map is to be set. + * @param {().UrlMapReference} 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 + */ + setUrlMap(params?: Params$Resource$Targethttpsproxies$Seturlmap, options?: MethodOptions): AxiosPromise; + setUrlMap(params: Params$Resource$Targethttpsproxies$Seturlmap, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setUrlMap(params: Params$Resource$Targethttpsproxies$Seturlmap, callback: BodyResponseCallback): void; + setUrlMap(callback: BodyResponseCallback): void; + /** + * compute.targetHttpsProxies.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.targetHttpsProxies.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Targethttpsproxies$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Targethttpsproxies$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Targethttpsproxies$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Targethttpsproxies$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Name of the project scoping this request. + */ + project?: string; + } + interface Params$Resource$Targethttpsproxies$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetHttpsProxy resource to delete. + */ + targetHttpsProxy?: string; + } + interface Params$Resource$Targethttpsproxies$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the TargetHttpsProxy resource to return. + */ + targetHttpsProxy?: string; + } + interface Params$Resource$Targethttpsproxies$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetHttpsProxy; + } + interface Params$Resource$Targethttpsproxies$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Targethttpsproxies$Setquicoverride { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetHttpsProxy resource to set the QUIC override policy + * for. The name should conform to RFC1035. + */ + targetHttpsProxy?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetHttpsProxiesSetQuicOverrideRequest; + } + interface Params$Resource$Targethttpsproxies$Setsslcertificates { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetHttpsProxy resource to set an SslCertificates resource + * for. + */ + targetHttpsProxy?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetHttpsProxiesSetSslCertificatesRequest; + } + interface Params$Resource$Targethttpsproxies$Setsslpolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetHttpsProxy resource whose SSL policy is to be set. The + * name must be 1-63 characters long, and comply with RFC1035. + */ + targetHttpsProxy?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SslPolicyReference; + } + interface Params$Resource$Targethttpsproxies$Seturlmap { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetHttpsProxy resource whose URL map is to be set. + */ + targetHttpsProxy?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UrlMapReference; + } + interface Params$Resource$Targethttpsproxies$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Targetinstances { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.targetInstances.aggregatedList + * @desc Retrieves an aggregated list of target instances. + * @alias compute.targetInstances.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Targetinstances$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Targetinstances$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Targetinstances$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.targetInstances.delete + * @desc Deletes the specified TargetInstance resource. + * @alias compute.targetInstances.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetInstance Name of the TargetInstance resource to delete. + * @param {string} params.zone Name of the zone scoping this request. + * @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?: Params$Resource$Targetinstances$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Targetinstances$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Targetinstances$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.targetInstances.get + * @desc Returns the specified TargetInstance resource. Gets a list of + * available target instances by making a list() request. + * @alias compute.targetInstances.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.targetInstance Name of the TargetInstance resource to return. + * @param {string} params.zone Name of the zone scoping this request. + * @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?: Params$Resource$Targetinstances$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Targetinstances$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Targetinstances$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.targetInstances.insert + * @desc Creates a TargetInstance resource in the specified project and zone + * using the data included in the request. + * @alias compute.targetInstances.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone Name of the zone scoping this request. + * @param {().TargetInstance} 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?: Params$Resource$Targetinstances$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Targetinstances$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Targetinstances$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.targetInstances.list + * @desc Retrieves a list of TargetInstance resources available to the + * specified project and zone. + * @alias compute.targetInstances.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone Name of the zone scoping this request. + * @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?: Params$Resource$Targetinstances$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Targetinstances$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Targetinstances$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.targetInstances.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.targetInstances.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {string} params.zone The name of the zone for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Targetinstances$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Targetinstances$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Targetinstances$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Targetinstances$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Targetinstances$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetInstance resource to delete. + */ + targetInstance?: string; + /** + * Name of the zone scoping this request. + */ + zone?: string; + } + interface Params$Resource$Targetinstances$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the TargetInstance resource to return. + */ + targetInstance?: string; + /** + * Name of the zone scoping this request. + */ + zone?: string; + } + interface Params$Resource$Targetinstances$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the zone scoping this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetInstance; + } + interface Params$Resource$Targetinstances$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the zone scoping this request. + */ + zone?: string; + } + interface Params$Resource$Targetinstances$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Targetpools { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.targetPools.addHealthCheck + * @desc Adds health check URLs to a target pool. + * @alias compute.targetPools.addHealthCheck + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetPool Name of the target pool to add a health check to. + * @param {().TargetPoolsAddHealthCheckRequest} 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 + */ + addHealthCheck(params?: Params$Resource$Targetpools$Addhealthcheck, options?: MethodOptions): AxiosPromise; + addHealthCheck(params: Params$Resource$Targetpools$Addhealthcheck, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + addHealthCheck(params: Params$Resource$Targetpools$Addhealthcheck, callback: BodyResponseCallback): void; + addHealthCheck(callback: BodyResponseCallback): void; + /** + * compute.targetPools.addInstance + * @desc Adds an instance to a target pool. + * @alias compute.targetPools.addInstance + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetPool Name of the TargetPool resource to add instances to. + * @param {().TargetPoolsAddInstanceRequest} 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 + */ + addInstance(params?: Params$Resource$Targetpools$Addinstance, options?: MethodOptions): AxiosPromise; + addInstance(params: Params$Resource$Targetpools$Addinstance, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + addInstance(params: Params$Resource$Targetpools$Addinstance, callback: BodyResponseCallback): void; + addInstance(callback: BodyResponseCallback): void; + /** + * compute.targetPools.aggregatedList + * @desc Retrieves an aggregated list of target pools. + * @alias compute.targetPools.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Targetpools$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Targetpools$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Targetpools$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.targetPools.delete + * @desc Deletes the specified target pool. + * @alias compute.targetPools.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetPool Name of the TargetPool resource to delete. + * @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?: Params$Resource$Targetpools$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Targetpools$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Targetpools$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.targetPools.get + * @desc Returns the specified target pool. Gets a list of available target + * pools by making a list() request. + * @alias compute.targetPools.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string} params.targetPool Name of the TargetPool resource to return. + * @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?: Params$Resource$Targetpools$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Targetpools$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Targetpools$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.targetPools.getHealth + * @desc Gets the most recent health check results for each IP for the + * instance that is referenced by the given target pool. + * @alias compute.targetPools.getHealth + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string} params.targetPool Name of the TargetPool resource to which the queried instance belongs. + * @param {().InstanceReference} 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 + */ + getHealth(params?: Params$Resource$Targetpools$Gethealth, options?: MethodOptions): AxiosPromise; + getHealth(params: Params$Resource$Targetpools$Gethealth, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getHealth(params: Params$Resource$Targetpools$Gethealth, callback: BodyResponseCallback): void; + getHealth(callback: BodyResponseCallback): void; + /** + * compute.targetPools.insert + * @desc Creates a target pool in the specified project and region using the + * data included in the request. + * @alias compute.targetPools.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().TargetPool} 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?: Params$Resource$Targetpools$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Targetpools$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Targetpools$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.targetPools.list + * @desc Retrieves a list of target pools available to the specified project + * and region. + * @alias compute.targetPools.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @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?: Params$Resource$Targetpools$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Targetpools$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Targetpools$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.targetPools.removeHealthCheck + * @desc Removes health check URL from a target pool. + * @alias compute.targetPools.removeHealthCheck + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetPool Name of the target pool to remove health checks from. + * @param {().TargetPoolsRemoveHealthCheckRequest} 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 + */ + removeHealthCheck(params?: Params$Resource$Targetpools$Removehealthcheck, options?: MethodOptions): AxiosPromise; + removeHealthCheck(params: Params$Resource$Targetpools$Removehealthcheck, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + removeHealthCheck(params: Params$Resource$Targetpools$Removehealthcheck, callback: BodyResponseCallback): void; + removeHealthCheck(callback: BodyResponseCallback): void; + /** + * compute.targetPools.removeInstance + * @desc Removes instance URL from a target pool. + * @alias compute.targetPools.removeInstance + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetPool Name of the TargetPool resource to remove instances from. + * @param {().TargetPoolsRemoveInstanceRequest} 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 + */ + removeInstance(params?: Params$Resource$Targetpools$Removeinstance, options?: MethodOptions): AxiosPromise; + removeInstance(params: Params$Resource$Targetpools$Removeinstance, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + removeInstance(params: Params$Resource$Targetpools$Removeinstance, callback: BodyResponseCallback): void; + removeInstance(callback: BodyResponseCallback): void; + /** + * compute.targetPools.setBackup + * @desc Changes a backup target pool's configurations. + * @alias compute.targetPools.setBackup + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {number=} params.failoverRatio New failoverRatio value for the target pool. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetPool Name of the TargetPool resource to set a backup pool for. + * @param {().TargetReference} 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 + */ + setBackup(params?: Params$Resource$Targetpools$Setbackup, options?: MethodOptions): AxiosPromise; + setBackup(params: Params$Resource$Targetpools$Setbackup, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setBackup(params: Params$Resource$Targetpools$Setbackup, callback: BodyResponseCallback): void; + setBackup(callback: BodyResponseCallback): void; + /** + * compute.targetPools.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.targetPools.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Targetpools$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Targetpools$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Targetpools$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Targetpools$Addhealthcheck { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the target pool to add a health check to. + */ + targetPool?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetPoolsAddHealthCheckRequest; + } + interface Params$Resource$Targetpools$Addinstance { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetPool resource to add instances to. + */ + targetPool?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetPoolsAddInstanceRequest; + } + interface Params$Resource$Targetpools$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Targetpools$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetPool resource to delete. + */ + targetPool?: string; + } + interface Params$Resource$Targetpools$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * Name of the TargetPool resource to return. + */ + targetPool?: string; + } + interface Params$Resource$Targetpools$Gethealth { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * Name of the TargetPool resource to which the queried instance belongs. + */ + targetPool?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceReference; + } + interface Params$Resource$Targetpools$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetPool; + } + interface Params$Resource$Targetpools$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + } + interface Params$Resource$Targetpools$Removehealthcheck { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the target pool to remove health checks from. + */ + targetPool?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetPoolsRemoveHealthCheckRequest; + } + interface Params$Resource$Targetpools$Removeinstance { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetPool resource to remove instances from. + */ + targetPool?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetPoolsRemoveInstanceRequest; + } + interface Params$Resource$Targetpools$Setbackup { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * New failoverRatio value for the target pool. + */ + failoverRatio?: number; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetPool resource to set a backup pool for. + */ + targetPool?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetReference; + } + interface Params$Resource$Targetpools$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Targetsslproxies { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.targetSslProxies.delete + * @desc Deletes the specified TargetSslProxy resource. + * @alias compute.targetSslProxies.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetSslProxy Name of the TargetSslProxy resource to delete. + * @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?: Params$Resource$Targetsslproxies$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Targetsslproxies$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Targetsslproxies$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.targetSslProxies.get + * @desc Returns the specified TargetSslProxy resource. Gets a list of + * available target SSL proxies by making a list() request. + * @alias compute.targetSslProxies.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.targetSslProxy Name of the TargetSslProxy resource to return. + * @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?: Params$Resource$Targetsslproxies$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Targetsslproxies$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Targetsslproxies$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.targetSslProxies.insert + * @desc Creates a TargetSslProxy resource in the specified project using + * the data included in the request. + * @alias compute.targetSslProxies.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().TargetSslProxy} 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?: Params$Resource$Targetsslproxies$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Targetsslproxies$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Targetsslproxies$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.targetSslProxies.list + * @desc Retrieves the list of TargetSslProxy resources available to the + * specified project. + * @alias compute.targetSslProxies.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Targetsslproxies$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Targetsslproxies$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Targetsslproxies$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.targetSslProxies.setBackendService + * @desc Changes the BackendService for TargetSslProxy. + * @alias compute.targetSslProxies.setBackendService + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetSslProxy Name of the TargetSslProxy resource whose BackendService resource is to be set. + * @param {().TargetSslProxiesSetBackendServiceRequest} 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 + */ + setBackendService(params?: Params$Resource$Targetsslproxies$Setbackendservice, options?: MethodOptions): AxiosPromise; + setBackendService(params: Params$Resource$Targetsslproxies$Setbackendservice, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setBackendService(params: Params$Resource$Targetsslproxies$Setbackendservice, callback: BodyResponseCallback): void; + setBackendService(callback: BodyResponseCallback): void; + /** + * compute.targetSslProxies.setProxyHeader + * @desc Changes the ProxyHeaderType for TargetSslProxy. + * @alias compute.targetSslProxies.setProxyHeader + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetSslProxy Name of the TargetSslProxy resource whose ProxyHeader is to be set. + * @param {().TargetSslProxiesSetProxyHeaderRequest} 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 + */ + setProxyHeader(params?: Params$Resource$Targetsslproxies$Setproxyheader, options?: MethodOptions): AxiosPromise; + setProxyHeader(params: Params$Resource$Targetsslproxies$Setproxyheader, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setProxyHeader(params: Params$Resource$Targetsslproxies$Setproxyheader, callback: BodyResponseCallback): void; + setProxyHeader(callback: BodyResponseCallback): void; + /** + * compute.targetSslProxies.setSslCertificates + * @desc Changes SslCertificates for TargetSslProxy. + * @alias compute.targetSslProxies.setSslCertificates + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetSslProxy Name of the TargetSslProxy resource whose SslCertificate resource is to be set. + * @param {().TargetSslProxiesSetSslCertificatesRequest} 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 + */ + setSslCertificates(params?: Params$Resource$Targetsslproxies$Setsslcertificates, options?: MethodOptions): AxiosPromise; + setSslCertificates(params: Params$Resource$Targetsslproxies$Setsslcertificates, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setSslCertificates(params: Params$Resource$Targetsslproxies$Setsslcertificates, callback: BodyResponseCallback): void; + setSslCertificates(callback: BodyResponseCallback): void; + /** + * compute.targetSslProxies.setSslPolicy + * @desc Sets the SSL policy for TargetSslProxy. The SSL policy specifies + * the server-side support for SSL features. This affects connections + * between clients and the SSL proxy load balancer. They do not affect the + * connection between the load balancer and the backends. + * @alias compute.targetSslProxies.setSslPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetSslProxy Name of the TargetSslProxy resource whose SSL policy is to be set. The name must be 1-63 characters long, and comply with RFC1035. + * @param {().SslPolicyReference} 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 + */ + setSslPolicy(params?: Params$Resource$Targetsslproxies$Setsslpolicy, options?: MethodOptions): AxiosPromise; + setSslPolicy(params: Params$Resource$Targetsslproxies$Setsslpolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setSslPolicy(params: Params$Resource$Targetsslproxies$Setsslpolicy, callback: BodyResponseCallback): void; + setSslPolicy(callback: BodyResponseCallback): void; + /** + * compute.targetSslProxies.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.targetSslProxies.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Targetsslproxies$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Targetsslproxies$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Targetsslproxies$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Targetsslproxies$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetSslProxy resource to delete. + */ + targetSslProxy?: string; + } + interface Params$Resource$Targetsslproxies$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the TargetSslProxy resource to return. + */ + targetSslProxy?: string; + } + interface Params$Resource$Targetsslproxies$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetSslProxy; + } + interface Params$Resource$Targetsslproxies$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Targetsslproxies$Setbackendservice { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetSslProxy resource whose BackendService resource is to + * be set. + */ + targetSslProxy?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetSslProxiesSetBackendServiceRequest; + } + interface Params$Resource$Targetsslproxies$Setproxyheader { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetSslProxy resource whose ProxyHeader is to be set. + */ + targetSslProxy?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetSslProxiesSetProxyHeaderRequest; + } + interface Params$Resource$Targetsslproxies$Setsslcertificates { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetSslProxy resource whose SslCertificate resource is to + * be set. + */ + targetSslProxy?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetSslProxiesSetSslCertificatesRequest; + } + interface Params$Resource$Targetsslproxies$Setsslpolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetSslProxy resource whose SSL policy is to be set. The + * name must be 1-63 characters long, and comply with RFC1035. + */ + targetSslProxy?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SslPolicyReference; + } + interface Params$Resource$Targetsslproxies$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Targettcpproxies { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.targetTcpProxies.delete + * @desc Deletes the specified TargetTcpProxy resource. + * @alias compute.targetTcpProxies.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetTcpProxy Name of the TargetTcpProxy resource to delete. + * @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?: Params$Resource$Targettcpproxies$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Targettcpproxies$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Targettcpproxies$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.targetTcpProxies.get + * @desc Returns the specified TargetTcpProxy resource. Gets a list of + * available target TCP proxies by making a list() request. + * @alias compute.targetTcpProxies.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.targetTcpProxy Name of the TargetTcpProxy resource to return. + * @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?: Params$Resource$Targettcpproxies$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Targettcpproxies$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Targettcpproxies$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.targetTcpProxies.insert + * @desc Creates a TargetTcpProxy resource in the specified project using + * the data included in the request. + * @alias compute.targetTcpProxies.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().TargetTcpProxy} 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?: Params$Resource$Targettcpproxies$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Targettcpproxies$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Targettcpproxies$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.targetTcpProxies.list + * @desc Retrieves the list of TargetTcpProxy resources available to the + * specified project. + * @alias compute.targetTcpProxies.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Targettcpproxies$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Targettcpproxies$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Targettcpproxies$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.targetTcpProxies.setBackendService + * @desc Changes the BackendService for TargetTcpProxy. + * @alias compute.targetTcpProxies.setBackendService + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetTcpProxy Name of the TargetTcpProxy resource whose BackendService resource is to be set. + * @param {().TargetTcpProxiesSetBackendServiceRequest} 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 + */ + setBackendService(params?: Params$Resource$Targettcpproxies$Setbackendservice, options?: MethodOptions): AxiosPromise; + setBackendService(params: Params$Resource$Targettcpproxies$Setbackendservice, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setBackendService(params: Params$Resource$Targettcpproxies$Setbackendservice, callback: BodyResponseCallback): void; + setBackendService(callback: BodyResponseCallback): void; + /** + * compute.targetTcpProxies.setProxyHeader + * @desc Changes the ProxyHeaderType for TargetTcpProxy. + * @alias compute.targetTcpProxies.setProxyHeader + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetTcpProxy Name of the TargetTcpProxy resource whose ProxyHeader is to be set. + * @param {().TargetTcpProxiesSetProxyHeaderRequest} 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 + */ + setProxyHeader(params?: Params$Resource$Targettcpproxies$Setproxyheader, options?: MethodOptions): AxiosPromise; + setProxyHeader(params: Params$Resource$Targettcpproxies$Setproxyheader, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setProxyHeader(params: Params$Resource$Targettcpproxies$Setproxyheader, callback: BodyResponseCallback): void; + setProxyHeader(callback: BodyResponseCallback): void; + /** + * compute.targetTcpProxies.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.targetTcpProxies.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Targettcpproxies$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Targettcpproxies$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Targettcpproxies$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Targettcpproxies$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetTcpProxy resource to delete. + */ + targetTcpProxy?: string; + } + interface Params$Resource$Targettcpproxies$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the TargetTcpProxy resource to return. + */ + targetTcpProxy?: string; + } + interface Params$Resource$Targettcpproxies$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetTcpProxy; + } + interface Params$Resource$Targettcpproxies$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Targettcpproxies$Setbackendservice { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetTcpProxy resource whose BackendService resource is to + * be set. + */ + targetTcpProxy?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetTcpProxiesSetBackendServiceRequest; + } + interface Params$Resource$Targettcpproxies$Setproxyheader { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetTcpProxy resource whose ProxyHeader is to be set. + */ + targetTcpProxy?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetTcpProxiesSetProxyHeaderRequest; + } + interface Params$Resource$Targettcpproxies$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Targetvpngateways { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.targetVpnGateways.aggregatedList + * @desc Retrieves an aggregated list of target VPN gateways. + * @alias compute.targetVpnGateways.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Targetvpngateways$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Targetvpngateways$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Targetvpngateways$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.targetVpnGateways.delete + * @desc Deletes the specified target VPN gateway. + * @alias compute.targetVpnGateways.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetVpnGateway Name of the target VPN gateway to delete. + * @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?: Params$Resource$Targetvpngateways$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Targetvpngateways$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Targetvpngateways$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.targetVpnGateways.get + * @desc Returns the specified target VPN gateway. Gets a list of available + * target VPN gateways by making a list() request. + * @alias compute.targetVpnGateways.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string} params.targetVpnGateway Name of the target VPN gateway to return. + * @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?: Params$Resource$Targetvpngateways$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Targetvpngateways$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Targetvpngateways$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.targetVpnGateways.insert + * @desc Creates a target VPN gateway in the specified project and region + * using the data included in the request. + * @alias compute.targetVpnGateways.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().TargetVpnGateway} 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?: Params$Resource$Targetvpngateways$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Targetvpngateways$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Targetvpngateways$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.targetVpnGateways.list + * @desc Retrieves a list of target VPN gateways available to the specified + * project and region. + * @alias compute.targetVpnGateways.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @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?: Params$Resource$Targetvpngateways$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Targetvpngateways$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Targetvpngateways$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.targetVpnGateways.setLabels + * @desc Sets the labels on a TargetVpnGateway. To learn more about labels, + * read the Labeling Resources documentation. + * @alias compute.targetVpnGateways.setLabels + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.resource_ Name of the resource for this request. + * @param {().RegionSetLabelsRequest} 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 + */ + setLabels(params?: Params$Resource$Targetvpngateways$Setlabels, options?: MethodOptions): AxiosPromise; + setLabels(params: Params$Resource$Targetvpngateways$Setlabels, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setLabels(params: Params$Resource$Targetvpngateways$Setlabels, callback: BodyResponseCallback): void; + setLabels(callback: BodyResponseCallback): void; + /** + * compute.targetVpnGateways.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.targetVpnGateways.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Targetvpngateways$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Targetvpngateways$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Targetvpngateways$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Targetvpngateways$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Targetvpngateways$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the target VPN gateway to delete. + */ + targetVpnGateway?: string; + } + interface Params$Resource$Targetvpngateways$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * Name of the target VPN gateway to return. + */ + targetVpnGateway?: string; + } + interface Params$Resource$Targetvpngateways$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetVpnGateway; + } + interface Params$Resource$Targetvpngateways$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + } + interface Params$Resource$Targetvpngateways$Setlabels { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RegionSetLabelsRequest; + } + interface Params$Resource$Targetvpngateways$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Urlmaps { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.urlMaps.aggregatedList + * @desc Retrieves the list of all UrlMap resources, regional and global, + * available to the specified project. + * @alias compute.urlMaps.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Name of the project scoping this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Urlmaps$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Urlmaps$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Urlmaps$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.urlMaps.delete + * @desc Deletes the specified UrlMap resource. + * @alias compute.urlMaps.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.urlMap Name of the UrlMap resource to delete. + * @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?: Params$Resource$Urlmaps$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Urlmaps$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Urlmaps$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.urlMaps.get + * @desc Returns the specified UrlMap resource. Gets a list of available URL + * maps by making a list() request. + * @alias compute.urlMaps.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.urlMap Name of the UrlMap resource to return. + * @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?: Params$Resource$Urlmaps$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Urlmaps$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Urlmaps$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.urlMaps.insert + * @desc Creates a UrlMap resource in the specified project using the data + * included in the request. + * @alias compute.urlMaps.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().UrlMap} 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?: Params$Resource$Urlmaps$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Urlmaps$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Urlmaps$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.urlMaps.invalidateCache + * @desc Initiates a cache invalidation operation, invalidating the + * specified path, scoped to the specified UrlMap. + * @alias compute.urlMaps.invalidateCache + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.urlMap Name of the UrlMap scoping this request. + * @param {().CacheInvalidationRule} 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 + */ + invalidateCache(params?: Params$Resource$Urlmaps$Invalidatecache, options?: MethodOptions): AxiosPromise; + invalidateCache(params: Params$Resource$Urlmaps$Invalidatecache, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + invalidateCache(params: Params$Resource$Urlmaps$Invalidatecache, callback: BodyResponseCallback): void; + invalidateCache(callback: BodyResponseCallback): void; + /** + * compute.urlMaps.list + * @desc Retrieves the list of UrlMap resources available to the specified + * project. + * @alias compute.urlMaps.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Urlmaps$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Urlmaps$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Urlmaps$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.urlMaps.patch + * @desc Patches the specified UrlMap resource with the data included in the + * request. This method supports PATCH semantics and uses the JSON merge + * patch format and processing rules. + * @alias compute.urlMaps.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.urlMap Name of the UrlMap resource to patch. + * @param {().UrlMap} 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 + */ + patch(params?: Params$Resource$Urlmaps$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Urlmaps$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Urlmaps$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * compute.urlMaps.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.urlMaps.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Urlmaps$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Urlmaps$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Urlmaps$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + /** + * compute.urlMaps.update + * @desc Updates the specified UrlMap resource with the data included in the + * request. + * @alias compute.urlMaps.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.urlMap Name of the UrlMap resource to update. + * @param {().UrlMap} 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?: Params$Resource$Urlmaps$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Urlmaps$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Urlmaps$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + /** + * compute.urlMaps.validate + * @desc Runs static validation for the UrlMap. In particular, the tests of + * the provided UrlMap will be run. Calling this method does NOT create the + * UrlMap. + * @alias compute.urlMaps.validate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.urlMap Name of the UrlMap resource to be validated as. + * @param {().UrlMapsValidateRequest} 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 + */ + validate(params?: Params$Resource$Urlmaps$Validate, options?: MethodOptions): AxiosPromise; + validate(params: Params$Resource$Urlmaps$Validate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + validate(params: Params$Resource$Urlmaps$Validate, callback: BodyResponseCallback): void; + validate(callback: BodyResponseCallback): void; + } + interface Params$Resource$Urlmaps$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Name of the project scoping this request. + */ + project?: string; + } + interface Params$Resource$Urlmaps$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the UrlMap resource to delete. + */ + urlMap?: string; + } + interface Params$Resource$Urlmaps$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the UrlMap resource to return. + */ + urlMap?: string; + } + interface Params$Resource$Urlmaps$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UrlMap; + } + interface Params$Resource$Urlmaps$Invalidatecache { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the UrlMap scoping this request. + */ + urlMap?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CacheInvalidationRule; + } + interface Params$Resource$Urlmaps$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Urlmaps$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the UrlMap resource to patch. + */ + urlMap?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UrlMap; + } + interface Params$Resource$Urlmaps$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + interface Params$Resource$Urlmaps$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the UrlMap resource to update. + */ + urlMap?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UrlMap; + } + interface Params$Resource$Urlmaps$Validate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the UrlMap resource to be validated as. + */ + urlMap?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UrlMapsValidateRequest; + } + class Resource$Vpngateways { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.vpnGateways.aggregatedList + * @desc Retrieves an aggregated list of VPN gateways. + * @alias compute.vpnGateways.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Vpngateways$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Vpngateways$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Vpngateways$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.vpnGateways.delete + * @desc Deletes the specified VPN gateway. + * @alias compute.vpnGateways.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.vpnGateway Name of the VPN gateway to delete. + * @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?: Params$Resource$Vpngateways$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Vpngateways$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Vpngateways$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.vpnGateways.get + * @desc Returns the specified VPN gateway. Gets a list of available VPN + * gateways by making a list() request. + * @alias compute.vpnGateways.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string} params.vpnGateway Name of the VPN gateway to return. + * @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?: Params$Resource$Vpngateways$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Vpngateways$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Vpngateways$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.vpnGateways.insert + * @desc Creates a VPN gateway in the specified project and region using the + * data included in the request. + * @alias compute.vpnGateways.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().VpnGateway} 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?: Params$Resource$Vpngateways$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Vpngateways$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Vpngateways$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.vpnGateways.list + * @desc Retrieves a list of VPN gateways available to the specified project + * and region. + * @alias compute.vpnGateways.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @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?: Params$Resource$Vpngateways$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Vpngateways$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Vpngateways$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.vpnGateways.setLabels + * @desc Sets the labels on a VpnGateway. To learn more about labels, read + * the Labeling Resources documentation. + * @alias compute.vpnGateways.setLabels + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.resource_ Name of the resource for this request. + * @param {().RegionSetLabelsRequest} 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 + */ + setLabels(params?: Params$Resource$Vpngateways$Setlabels, options?: MethodOptions): AxiosPromise; + setLabels(params: Params$Resource$Vpngateways$Setlabels, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setLabels(params: Params$Resource$Vpngateways$Setlabels, callback: BodyResponseCallback): void; + setLabels(callback: BodyResponseCallback): void; + /** + * compute.vpnGateways.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.vpnGateways.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Vpngateways$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Vpngateways$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Vpngateways$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Vpngateways$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Vpngateways$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the VPN gateway to delete. + */ + vpnGateway?: string; + } + interface Params$Resource$Vpngateways$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * Name of the VPN gateway to return. + */ + vpnGateway?: string; + } + interface Params$Resource$Vpngateways$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$VpnGateway; + } + interface Params$Resource$Vpngateways$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + } + interface Params$Resource$Vpngateways$Setlabels { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RegionSetLabelsRequest; + } + interface Params$Resource$Vpngateways$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Vpntunnels { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.vpnTunnels.aggregatedList + * @desc Retrieves an aggregated list of VPN tunnels. + * @alias compute.vpnTunnels.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Vpntunnels$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Vpntunnels$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Vpntunnels$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.vpnTunnels.delete + * @desc Deletes the specified VpnTunnel resource. + * @alias compute.vpnTunnels.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.vpnTunnel Name of the VpnTunnel resource to delete. + * @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?: Params$Resource$Vpntunnels$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Vpntunnels$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Vpntunnels$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.vpnTunnels.get + * @desc Returns the specified VpnTunnel resource. Gets a list of available + * VPN tunnels by making a list() request. + * @alias compute.vpnTunnels.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string} params.vpnTunnel Name of the VpnTunnel resource to return. + * @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?: Params$Resource$Vpntunnels$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Vpntunnels$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Vpntunnels$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.vpnTunnels.insert + * @desc Creates a VpnTunnel resource in the specified project and region + * using the data included in the request. + * @alias compute.vpnTunnels.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().VpnTunnel} 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?: Params$Resource$Vpntunnels$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Vpntunnels$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Vpntunnels$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.vpnTunnels.list + * @desc Retrieves a list of VpnTunnel resources contained in the specified + * project and region. + * @alias compute.vpnTunnels.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @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?: Params$Resource$Vpntunnels$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Vpntunnels$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Vpntunnels$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.vpnTunnels.setLabels + * @desc Sets the labels on a VpnTunnel. To learn more about labels, read + * the Labeling Resources documentation. + * @alias compute.vpnTunnels.setLabels + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.resource_ Name of the resource for this request. + * @param {().RegionSetLabelsRequest} 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 + */ + setLabels(params?: Params$Resource$Vpntunnels$Setlabels, options?: MethodOptions): AxiosPromise; + setLabels(params: Params$Resource$Vpntunnels$Setlabels, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setLabels(params: Params$Resource$Vpntunnels$Setlabels, callback: BodyResponseCallback): void; + setLabels(callback: BodyResponseCallback): void; + /** + * compute.vpnTunnels.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.vpnTunnels.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Vpntunnels$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Vpntunnels$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Vpntunnels$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Vpntunnels$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Vpntunnels$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the VpnTunnel resource to delete. + */ + vpnTunnel?: string; + } + interface Params$Resource$Vpntunnels$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * Name of the VpnTunnel resource to return. + */ + vpnTunnel?: string; + } + interface Params$Resource$Vpntunnels$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$VpnTunnel; + } + interface Params$Resource$Vpntunnels$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + } + interface Params$Resource$Vpntunnels$Setlabels { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RegionSetLabelsRequest; + } + interface Params$Resource$Vpntunnels$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Zoneoperations { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.zoneOperations.delete + * @desc Deletes the specified zone-specific Operations resource. + * @alias compute.zoneOperations.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.operation Name of the Operations resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone Name of the zone for this request. + * @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?: Params$Resource$Zoneoperations$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Zoneoperations$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Zoneoperations$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.zoneOperations.get + * @desc Retrieves the specified zone-specific Operations resource. + * @alias compute.zoneOperations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.operation Name of the Operations resource to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone Name of the zone for this request. + * @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?: Params$Resource$Zoneoperations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Zoneoperations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Zoneoperations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.zoneOperations.list + * @desc Retrieves a list of Operation resources contained within the + * specified zone. + * @alias compute.zoneOperations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone Name of the zone for request. + * @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?: Params$Resource$Zoneoperations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Zoneoperations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Zoneoperations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.zoneOperations.wait + * @desc Waits for the specified zone-specific Operations resource until it + * is done or timeout, and retrieves the specified Operations resource. 1. + * Immediately returns when the operation is already done. 2. Waits for no + * more than the default deadline (2 minutes, subject to change) and then + * returns the current state of the operation, which may be DONE or still in + * progress. 3. Is best-effort: a. The server can wait less than the default + * deadline or zero seconds, in overload situations. b. There is no + * guarantee that the operation is actually done when returns. 4. User + * should be prepared to retry if the operation is not DONE. + * @alias compute.zoneOperations.wait + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.operation Name of the Operations resource to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone Name of the zone for this request. + * @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 + */ + wait(params?: Params$Resource$Zoneoperations$Wait, options?: MethodOptions): AxiosPromise; + wait(params: Params$Resource$Zoneoperations$Wait, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + wait(params: Params$Resource$Zoneoperations$Wait, callback: BodyResponseCallback): void; + wait(callback: BodyResponseCallback): void; + } + interface Params$Resource$Zoneoperations$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the Operations resource to delete. + */ + operation?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Zoneoperations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the Operations resource to return. + */ + operation?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Zoneoperations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the zone for request. + */ + zone?: string; + } + interface Params$Resource$Zoneoperations$Wait { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the Operations resource to return. + */ + operation?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the zone for this request. + */ + zone?: string; + } + class Resource$Zones { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.zones.get + * @desc Returns the specified Zone resource. Gets a list of available zones + * by making a list() request. + * @alias compute.zones.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.zone Name of the zone resource to return. + * @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?: Params$Resource$Zones$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Zones$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Zones$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.zones.list + * @desc Retrieves the list of Zone resources available to the specified + * project. + * @alias compute.zones.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Zones$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Zones$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Zones$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Zones$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the zone resource to return. + */ + zone?: string; + } + interface Params$Resource$Zones$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/compute/alpha.js b/express-server/node_modules/googleapis/build/src/apis/compute/alpha.js new file mode 100644 index 00000000..59cc89ad --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/compute/alpha.js @@ -0,0 +1,18772 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var compute_alpha; +(function (compute_alpha) { + /** + * Compute Engine API + * + * Creates and runs virtual machines on Google Cloud Platform. + * + * @example + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * @namespace compute + * @type {Function} + * @version alpha + * @variation alpha + * @param {object=} options Options for Compute + */ + class Compute { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.acceleratorTypes = new Resource$Acceleratortypes(this); + this.addresses = new Resource$Addresses(this); + this.allocations = new Resource$Allocations(this); + this.autoscalers = new Resource$Autoscalers(this); + this.backendBuckets = new Resource$Backendbuckets(this); + this.backendServices = new Resource$Backendservices(this); + this.disks = new Resource$Disks(this); + this.diskTypes = new Resource$Disktypes(this); + this.firewalls = new Resource$Firewalls(this); + this.forwardingRules = new Resource$Forwardingrules(this); + this.globalAddresses = new Resource$Globaladdresses(this); + this.globalForwardingRules = new Resource$Globalforwardingrules(this); + this.globalOperations = new Resource$Globaloperations(this); + this.healthChecks = new Resource$Healthchecks(this); + this.httpHealthChecks = new Resource$Httphealthchecks(this); + this.httpsHealthChecks = new Resource$Httpshealthchecks(this); + this.images = new Resource$Images(this); + this.instanceGroupManagers = new Resource$Instancegroupmanagers(this); + this.instanceGroups = new Resource$Instancegroups(this); + this.instances = new Resource$Instances(this); + this.instanceTemplates = new Resource$Instancetemplates(this); + this.interconnectAttachments = new Resource$Interconnectattachments(this); + this.interconnectLocations = new Resource$Interconnectlocations(this); + this.interconnects = new Resource$Interconnects(this); + this.licenseCodes = new Resource$Licensecodes(this); + this.licenses = new Resource$Licenses(this); + this.machineImages = new Resource$Machineimages(this); + this.machineTypes = new Resource$Machinetypes(this); + this.networkEndpointGroups = new Resource$Networkendpointgroups(this); + this.networks = new Resource$Networks(this); + this.nodeGroups = new Resource$Nodegroups(this); + this.nodeTemplates = new Resource$Nodetemplates(this); + this.nodeTypes = new Resource$Nodetypes(this); + this.projects = new Resource$Projects(this); + this.regionAutoscalers = new Resource$Regionautoscalers(this); + this.regionBackendServices = new Resource$Regionbackendservices(this); + this.regionCommitments = new Resource$Regioncommitments(this); + this.regionDisks = new Resource$Regiondisks(this); + this.regionDiskTypes = new Resource$Regiondisktypes(this); + this.regionHealthChecks = new Resource$Regionhealthchecks(this); + this.regionInstanceGroupManagers = + new Resource$Regioninstancegroupmanagers(this); + this.regionInstanceGroups = new Resource$Regioninstancegroups(this); + this.regionOperations = new Resource$Regionoperations(this); + this.regions = new Resource$Regions(this); + this.regionSslCertificates = new Resource$Regionsslcertificates(this); + this.regionTargetHttpProxies = new Resource$Regiontargethttpproxies(this); + this.regionTargetHttpsProxies = + new Resource$Regiontargethttpsproxies(this); + this.regionUrlMaps = new Resource$Regionurlmaps(this); + this.resourcePolicies = new Resource$Resourcepolicies(this); + this.routers = new Resource$Routers(this); + this.routes = new Resource$Routes(this); + this.securityPolicies = new Resource$Securitypolicies(this); + this.snapshots = new Resource$Snapshots(this); + this.sslCertificates = new Resource$Sslcertificates(this); + this.sslPolicies = new Resource$Sslpolicies(this); + this.subnetworks = new Resource$Subnetworks(this); + this.targetHttpProxies = new Resource$Targethttpproxies(this); + this.targetHttpsProxies = new Resource$Targethttpsproxies(this); + this.targetInstances = new Resource$Targetinstances(this); + this.targetPools = new Resource$Targetpools(this); + this.targetSslProxies = new Resource$Targetsslproxies(this); + this.targetTcpProxies = new Resource$Targettcpproxies(this); + this.targetVpnGateways = new Resource$Targetvpngateways(this); + this.urlMaps = new Resource$Urlmaps(this); + this.vpnGateways = new Resource$Vpngateways(this); + this.vpnTunnels = new Resource$Vpntunnels(this); + this.zoneOperations = new Resource$Zoneoperations(this); + this.zones = new Resource$Zones(this); + } + getRoot() { + return this.root; + } + } + compute_alpha.Compute = Compute; + class Resource$Acceleratortypes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/aggregated/acceleratorTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/acceleratorTypes/{acceleratorType}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'acceleratorType'], + pathParams: ['acceleratorType', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/acceleratorTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Acceleratortypes = Resource$Acceleratortypes; + class Resource$Addresses { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/aggregated/addresses') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/addresses/{address}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'region', 'address'], + pathParams: ['address', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/addresses/{address}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'address'], + pathParams: ['address', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/addresses') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/addresses') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setLabels(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/addresses/{resource}/setLabels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/addresses/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Addresses = Resource$Addresses; + class Resource$Allocations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/aggregated/allocations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/allocations/{allocation}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'allocation'], + pathParams: ['allocation', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/allocations/{resource}/getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/allocations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/allocations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/allocations/{resource}/setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/allocations/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + updateResourceShape(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/allocations/{allocation}/updateResourceShape') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'allocation'], + pathParams: ['allocation', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Allocations = Resource$Allocations; + class Resource$Autoscalers { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/aggregated/autoscalers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/autoscalers/{autoscaler}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'zone', 'autoscaler'], + pathParams: ['autoscaler', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/autoscalers/{autoscaler}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'autoscaler'], + pathParams: ['autoscaler', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/autoscalers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/autoscalers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/autoscalers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/autoscalers/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/autoscalers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Autoscalers = Resource$Autoscalers; + class Resource$Backendbuckets { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + addSignedUrlKey(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/backendBuckets/{backendBucket}/addSignedUrlKey') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'backendBucket'], + pathParams: ['backendBucket', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/backendBuckets/{backendBucket}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'backendBucket'], + pathParams: ['backendBucket', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + deleteSignedUrlKey(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/backendBuckets/{backendBucket}/deleteSignedUrlKey') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'backendBucket', 'keyName'], + pathParams: ['backendBucket', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/backendBuckets/{backendBucket}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'backendBucket'], + pathParams: ['backendBucket', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/backendBuckets/{resource}/getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/backendBuckets') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/backendBuckets') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/backendBuckets/{backendBucket}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'backendBucket'], + pathParams: ['backendBucket', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/backendBuckets/{resource}/setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/backendBuckets/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/backendBuckets/{backendBucket}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['project', 'backendBucket'], + pathParams: ['backendBucket', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Backendbuckets = Resource$Backendbuckets; + class Resource$Backendservices { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + addSignedUrlKey(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/backendServices/{backendService}/addSignedUrlKey') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'backendService'], + pathParams: ['backendService', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/aggregated/backendServices') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/backendServices/{backendService}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'backendService'], + pathParams: ['backendService', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + deleteSignedUrlKey(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/backendServices/{backendService}/deleteSignedUrlKey') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'backendService', 'keyName'], + pathParams: ['backendService', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/backendServices/{backendService}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'backendService'], + pathParams: ['backendService', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getHealth(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/backendServices/{backendService}/getHealth') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'backendService'], + pathParams: ['backendService', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/backendServices') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/backendServices') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/backendServices/{backendService}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'backendService'], + pathParams: ['backendService', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setSecurityPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/backendServices/{backendService}/setSecurityPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'backendService'], + pathParams: ['backendService', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/backendServices/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/backendServices/{backendService}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['project', 'backendService'], + pathParams: ['backendService', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Backendservices = Resource$Backendservices; + class Resource$Disks { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + addResourcePolicies(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/disks/{disk}/addResourcePolicies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'disk'], + pathParams: ['disk', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/aggregated/disks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + createSnapshot(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/disks/{disk}/createSnapshot') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'disk'], + pathParams: ['disk', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/disks/{disk}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'zone', 'disk'], + pathParams: ['disk', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/disks/{disk}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'disk'], + pathParams: ['disk', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/disks/{resource}/getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/disks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/disks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + removeResourcePolicies(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/disks/{disk}/removeResourcePolicies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'disk'], + pathParams: ['disk', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + resize(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/disks/{disk}/resize') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'disk'], + pathParams: ['disk', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/disks/{resource}/setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setLabels(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/disks/{resource}/setLabels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/disks/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Disks = Resource$Disks; + class Resource$Disktypes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/aggregated/diskTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/diskTypes/{diskType}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'diskType'], + pathParams: ['diskType', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/diskTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Disktypes = Resource$Disktypes; + class Resource$Firewalls { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/firewalls/{firewall}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'firewall'], + pathParams: ['firewall', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/firewalls/{firewall}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'firewall'], + pathParams: ['firewall', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/firewalls') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/firewalls') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/firewalls/{firewall}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'firewall'], + pathParams: ['firewall', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/firewalls/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/firewalls/{firewall}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['project', 'firewall'], + pathParams: ['firewall', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Firewalls = Resource$Firewalls; + class Resource$Forwardingrules { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/aggregated/forwardingRules') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/forwardingRules/{forwardingRule}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'region', 'forwardingRule'], + pathParams: ['forwardingRule', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/forwardingRules/{forwardingRule}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'forwardingRule'], + pathParams: ['forwardingRule', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/forwardingRules') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/forwardingRules') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/forwardingRules/{forwardingRule}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'region', 'forwardingRule'], + pathParams: ['forwardingRule', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setLabels(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/forwardingRules/{resource}/setLabels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setTarget(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/forwardingRules/{forwardingRule}/setTarget') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'forwardingRule'], + pathParams: ['forwardingRule', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/forwardingRules/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Forwardingrules = Resource$Forwardingrules; + class Resource$Globaladdresses { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/addresses/{address}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'address'], + pathParams: ['address', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/addresses/{address}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'address'], + pathParams: ['address', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/addresses') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/addresses') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setLabels(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/addresses/{resource}/setLabels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/addresses/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Globaladdresses = Resource$Globaladdresses; + class Resource$Globalforwardingrules { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/forwardingRules/{forwardingRule}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'forwardingRule'], + pathParams: ['forwardingRule', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/forwardingRules/{forwardingRule}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'forwardingRule'], + pathParams: ['forwardingRule', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/forwardingRules') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/forwardingRules') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/forwardingRules/{forwardingRule}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'forwardingRule'], + pathParams: ['forwardingRule', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setLabels(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/forwardingRules/{resource}/setLabels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setTarget(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/forwardingRules/{forwardingRule}/setTarget') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'forwardingRule'], + pathParams: ['forwardingRule', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/forwardingRules/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Globalforwardingrules = Resource$Globalforwardingrules; + class Resource$Globaloperations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/aggregated/operations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/operations/{operation}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'operation'], + pathParams: ['operation', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/operations/{operation}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'operation'], + pathParams: ['operation', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/operations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + wait(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/operations/{operation}/wait') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'operation'], + pathParams: ['operation', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Globaloperations = Resource$Globaloperations; + class Resource$Healthchecks { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/aggregated/healthChecks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/healthChecks/{healthCheck}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'healthCheck'], + pathParams: ['healthCheck', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/healthChecks/{healthCheck}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'healthCheck'], + pathParams: ['healthCheck', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/healthChecks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/healthChecks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/healthChecks/{healthCheck}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'healthCheck'], + pathParams: ['healthCheck', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/healthChecks/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/healthChecks/{healthCheck}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['project', 'healthCheck'], + pathParams: ['healthCheck', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Healthchecks = Resource$Healthchecks; + class Resource$Httphealthchecks { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/httpHealthChecks/{httpHealthCheck}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'httpHealthCheck'], + pathParams: ['httpHealthCheck', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/httpHealthChecks/{httpHealthCheck}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'httpHealthCheck'], + pathParams: ['httpHealthCheck', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/httpHealthChecks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/httpHealthChecks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/httpHealthChecks/{httpHealthCheck}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'httpHealthCheck'], + pathParams: ['httpHealthCheck', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/httpHealthChecks/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/httpHealthChecks/{httpHealthCheck}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['project', 'httpHealthCheck'], + pathParams: ['httpHealthCheck', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Httphealthchecks = Resource$Httphealthchecks; + class Resource$Httpshealthchecks { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'httpsHealthCheck'], + pathParams: ['httpsHealthCheck', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'httpsHealthCheck'], + pathParams: ['httpsHealthCheck', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/httpsHealthChecks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/httpsHealthChecks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'httpsHealthCheck'], + pathParams: ['httpsHealthCheck', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/httpsHealthChecks/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['project', 'httpsHealthCheck'], + pathParams: ['httpsHealthCheck', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Httpshealthchecks = Resource$Httpshealthchecks; + class Resource$Images { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/images/{image}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'image'], + pathParams: ['image', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + deprecate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/images/{image}/deprecate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'image'], + pathParams: ['image', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/images/{image}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'image'], + pathParams: ['image', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getFromFamily(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/images/family/{family}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'family'], + pathParams: ['family', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/images/{resource}/getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/alpha/projects/{project}/global/images') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/alpha/projects/{project}/global/images') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/images/{resource}/setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setLabels(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/images/{resource}/setLabels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/images/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Images = Resource$Images; + class Resource$Instancegroupmanagers { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + abandonInstances(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/abandonInstances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/aggregated/instanceGroupManagers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + applyUpdatesToInstances(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/applyUpdatesToInstances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + deleteInstances(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/deleteInstances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + deletePerInstanceConfigs(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/deletePerInstanceConfigs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listManagedInstances(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listManagedInstances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listPerInstanceConfigs(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listPerInstanceConfigs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + recreateInstances(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/recreateInstances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + resize(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resize') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager', 'size'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + resizeAdvanced(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeAdvanced') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setAutoHealingPolicies(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setAutoHealingPolicies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setInstanceTemplate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setInstanceTemplate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setTargetPools(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setTargetPools') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + updatePerInstanceConfigs(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/updatePerInstanceConfigs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Instancegroupmanagers = Resource$Instancegroupmanagers; + class Resource$Instancegroups { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + addInstances(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/addInstances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroup'], + pathParams: ['instanceGroup', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/aggregated/instanceGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroup'], + pathParams: ['instanceGroup', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroup'], + pathParams: ['instanceGroup', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listInstances(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/listInstances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroup'], + pathParams: ['instanceGroup', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + removeInstances(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/removeInstances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroup'], + pathParams: ['instanceGroup', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setNamedPorts(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/setNamedPorts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroup'], + pathParams: ['instanceGroup', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroups/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Instancegroups = Resource$Instancegroups; + class Resource$Instances { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + addAccessConfig(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/addAccessConfig') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance', 'networkInterface'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + addResourcePolicies(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/addResourcePolicies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/aggregated/instances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + attachDisk(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/attachDisk') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + deleteAccessConfig(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/deleteAccessConfig') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance', 'accessConfig', 'networkInterface'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + detachDisk(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/detachDisk') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance', 'deviceName'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getGuestAttributes(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/getGuestAttributes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instances/{resource}/getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getSerialPortOutput(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/serialPort') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listReferrers(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/referrers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + removeResourcePolicies(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/removeResourcePolicies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + reset(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/reset') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + resume(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/resume') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setDeletionProtection(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instances/{resource}/setDeletionProtection') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setDiskAutoDelete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/setDiskAutoDelete') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance', 'autoDelete', 'deviceName'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instances/{resource}/setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setLabels(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/setLabels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setMachineResources(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/setMachineResources') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setMachineType(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/setMachineType') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setMetadata(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/setMetadata') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setMinCpuPlatform(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/setMinCpuPlatform') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setScheduling(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/setScheduling') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setServiceAccount(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/setServiceAccount') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setShieldedVmIntegrityPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/setShieldedVmIntegrityPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setTags(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/setTags') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + simulateMaintenanceEvent(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/simulateMaintenanceEvent') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + start(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/start') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + startWithEncryptionKey(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/startWithEncryptionKey') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + stop(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/stop') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + suspend(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/suspend') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instances/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + updateAccessConfig(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/updateAccessConfig') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance', 'networkInterface'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + updateNetworkInterface(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/updateNetworkInterface') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'zone', 'instance', 'networkInterface'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + updateShieldedVmConfig(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/updateShieldedVmConfig') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Instances = Resource$Instances; + class Resource$Instancetemplates { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/instanceTemplates/{instanceTemplate}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'instanceTemplate'], + pathParams: ['instanceTemplate', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/instanceTemplates/{instanceTemplate}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'instanceTemplate'], + pathParams: ['instanceTemplate', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/instanceTemplates/{resource}/getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/instanceTemplates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/instanceTemplates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/instanceTemplates/{resource}/setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/instanceTemplates/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Instancetemplates = Resource$Instancetemplates; + class Resource$Interconnectattachments { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/aggregated/interconnectAttachments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'region', 'interconnectAttachment'], + pathParams: ['interconnectAttachment', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'interconnectAttachment'], + pathParams: ['interconnectAttachment', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/interconnectAttachments/{resource}/getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/interconnectAttachments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/interconnectAttachments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'region', 'interconnectAttachment'], + pathParams: ['interconnectAttachment', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/interconnectAttachments/{resource}/setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setLabels(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/interconnectAttachments/{resource}/setLabels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/interconnectAttachments/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Interconnectattachments = Resource$Interconnectattachments; + class Resource$Interconnectlocations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/interconnectLocations/{interconnectLocation}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'interconnectLocation'], + pathParams: ['interconnectLocation', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/interconnectLocations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/interconnectLocations/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Interconnectlocations = Resource$Interconnectlocations; + class Resource$Interconnects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/interconnects/{interconnect}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'interconnect'], + pathParams: ['interconnect', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/interconnects/{interconnect}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'interconnect'], + pathParams: ['interconnect', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getDiagnostics(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/interconnects/{interconnect}/getDiagnostics') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'interconnect'], + pathParams: ['interconnect', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/interconnects/{resource}/getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/interconnects') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/interconnects') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/interconnects/{interconnect}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'interconnect'], + pathParams: ['interconnect', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/interconnects/{resource}/setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setLabels(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/interconnects/{resource}/setLabels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/interconnects/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Interconnects = Resource$Interconnects; + class Resource$Licensecodes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/licenseCodes/{licenseCode}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'licenseCode'], + pathParams: ['licenseCode', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/licenseCodes/{resource}/getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/licenseCodes/{resource}/setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/licenseCodes/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Licensecodes = Resource$Licensecodes; + class Resource$Licenses { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/licenses/{license}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'license'], + pathParams: ['license', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/licenses/{license}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'license'], + pathParams: ['license', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/licenses/{resource}/getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/licenses') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/licenses') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/licenses/{resource}/setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/licenses/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Licenses = Resource$Licenses; + class Resource$Machineimages { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/machineImages/{machineImage}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'machineImage'], + pathParams: ['machineImage', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/machineImages/{machineImage}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'machineImage'], + pathParams: ['machineImage', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/machineImages/{resource}/getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/machineImages') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/machineImages') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/machineImages/{resource}/setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/machineImages/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Machineimages = Resource$Machineimages; + class Resource$Machinetypes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/aggregated/machineTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/machineTypes/{machineType}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'machineType'], + pathParams: ['machineType', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/machineTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Machinetypes = Resource$Machinetypes; + class Resource$Networkendpointgroups { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/aggregated/networkEndpointGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + attachNetworkEndpoints(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'networkEndpointGroup'], + pathParams: ['networkEndpointGroup', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'zone', 'networkEndpointGroup'], + pathParams: ['networkEndpointGroup', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + detachNetworkEndpoints(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'networkEndpointGroup'], + pathParams: ['networkEndpointGroup', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'networkEndpointGroup'], + pathParams: ['networkEndpointGroup', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/networkEndpointGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/networkEndpointGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listNetworkEndpoints(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'networkEndpointGroup'], + pathParams: ['networkEndpointGroup', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/networkEndpointGroups/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Networkendpointgroups = Resource$Networkendpointgroups; + class Resource$Networks { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + addPeering(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/networks/{network}/addPeering') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'network'], + pathParams: ['network', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/networks/{network}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'network'], + pathParams: ['network', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/networks/{network}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'network'], + pathParams: ['network', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/networks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/networks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listIpAddresses(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/networks/{network}/listIpAddresses') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'network'], + pathParams: ['network', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listIpOwners(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/networks/{network}/listIpOwners') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'network'], + pathParams: ['network', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/networks/{network}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'network'], + pathParams: ['network', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + removePeering(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/networks/{network}/removePeering') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'network'], + pathParams: ['network', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + switchToCustomMode(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/networks/{network}/switchToCustomMode') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'network'], + pathParams: ['network', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/networks/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + updatePeering(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/networks/{network}/updatePeering') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'network'], + pathParams: ['network', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Networks = Resource$Networks; + class Resource$Nodegroups { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + addNodes(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/addNodes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'nodeGroup'], + pathParams: ['nodeGroup', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/aggregated/nodeGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'zone', 'nodeGroup'], + pathParams: ['nodeGroup', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + deleteNodes(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/deleteNodes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'nodeGroup'], + pathParams: ['nodeGroup', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'nodeGroup'], + pathParams: ['nodeGroup', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/nodeGroups/{resource}/getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/nodeGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'initialNodeCount'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/nodeGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listNodes(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/listNodes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'nodeGroup'], + pathParams: ['nodeGroup', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/nodeGroups/{resource}/setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setNodeTemplate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/setNodeTemplate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'nodeGroup'], + pathParams: ['nodeGroup', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/nodeGroups/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Nodegroups = Resource$Nodegroups; + class Resource$Nodetemplates { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/aggregated/nodeTemplates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/nodeTemplates/{nodeTemplate}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'region', 'nodeTemplate'], + pathParams: ['nodeTemplate', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/nodeTemplates/{nodeTemplate}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'nodeTemplate'], + pathParams: ['nodeTemplate', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/nodeTemplates/{resource}/getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/nodeTemplates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/nodeTemplates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/nodeTemplates/{resource}/setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/nodeTemplates/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Nodetemplates = Resource$Nodetemplates; + class Resource$Nodetypes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/aggregated/nodeTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/nodeTypes/{nodeType}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'nodeType'], + pathParams: ['nodeType', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/nodeTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Nodetypes = Resource$Nodetypes; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + disableXpnHost(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/alpha/projects/{project}/disableXpnHost') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + disableXpnResource(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/disableXpnResource') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + enableXpnHost(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/alpha/projects/{project}/enableXpnHost') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + enableXpnResource(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/enableXpnResource') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/alpha/projects/{project}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getXpnHost(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/alpha/projects/{project}/getXpnHost') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getXpnResources(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/getXpnResources') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listXpnHosts(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/alpha/projects/{project}/listXpnHosts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + moveDisk(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/alpha/projects/{project}/moveDisk') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + moveInstance(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/alpha/projects/{project}/moveInstance') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setCommonInstanceMetadata(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/setCommonInstanceMetadata') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setDefaultNetworkTier(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/setDefaultNetworkTier') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setDefaultServiceAccount(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/setDefaultServiceAccount') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setUsageExportBucket(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/setUsageExportBucket') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Projects = Resource$Projects; + class Resource$Regionautoscalers { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/autoscalers/{autoscaler}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'region', 'autoscaler'], + pathParams: ['autoscaler', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/autoscalers/{autoscaler}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'autoscaler'], + pathParams: ['autoscaler', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/autoscalers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/autoscalers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/autoscalers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/autoscalers/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/autoscalers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Regionautoscalers = Resource$Regionautoscalers; + class Resource$Regionbackendservices { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/backendServices/{backendService}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'region', 'backendService'], + pathParams: ['backendService', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/backendServices/{backendService}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'backendService'], + pathParams: ['backendService', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getHealth(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/backendServices/{backendService}/getHealth') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'backendService'], + pathParams: ['backendService', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/backendServices') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/backendServices') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/backendServices/{backendService}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'region', 'backendService'], + pathParams: ['backendService', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/backendServices/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/backendServices/{backendService}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['project', 'region', 'backendService'], + pathParams: ['backendService', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Regionbackendservices = Resource$Regionbackendservices; + class Resource$Regioncommitments { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/aggregated/commitments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/commitments/{commitment}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'commitment'], + pathParams: ['commitment', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/commitments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/commitments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/commitments/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Regioncommitments = Resource$Regioncommitments; + class Resource$Regiondisks { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + addResourcePolicies(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/disks/{disk}/addResourcePolicies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'disk'], + pathParams: ['disk', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + createSnapshot(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/disks/{disk}/createSnapshot') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'disk'], + pathParams: ['disk', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/disks/{disk}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'region', 'disk'], + pathParams: ['disk', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/disks/{disk}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'disk'], + pathParams: ['disk', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/disks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/disks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + removeResourcePolicies(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/disks/{disk}/removeResourcePolicies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'disk'], + pathParams: ['disk', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + resize(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/disks/{disk}/resize') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'disk'], + pathParams: ['disk', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setLabels(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/disks/{resource}/setLabels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/disks/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Regiondisks = Resource$Regiondisks; + class Resource$Regiondisktypes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/diskTypes/{diskType}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'diskType'], + pathParams: ['diskType', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/diskTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Regiondisktypes = Resource$Regiondisktypes; + class Resource$Regionhealthchecks { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/healthChecks/{healthCheck}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'region', 'healthCheck'], + pathParams: ['healthCheck', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/healthChecks/{healthCheck}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'healthCheck'], + pathParams: ['healthCheck', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/healthChecks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/healthChecks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/healthChecks/{healthCheck}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'region', 'healthCheck'], + pathParams: ['healthCheck', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/healthChecks/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/healthChecks/{healthCheck}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['project', 'region', 'healthCheck'], + pathParams: ['healthCheck', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Regionhealthchecks = Resource$Regionhealthchecks; + class Resource$Regioninstancegroupmanagers { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + abandonInstances(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/abandonInstances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + applyUpdatesToInstances(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/applyUpdatesToInstances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'region', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + deleteInstances(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/deleteInstances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + deletePerInstanceConfigs(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/deletePerInstanceConfigs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/instanceGroupManagers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/instanceGroupManagers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listManagedInstances(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listManagedInstances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listPerInstanceConfigs(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listPerInstanceConfigs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'region', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + recreateInstances(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/recreateInstances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + resize(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resize') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'instanceGroupManager', 'size'], + pathParams: ['instanceGroupManager', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setAutoHealingPolicies(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setAutoHealingPolicies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setInstanceTemplate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setInstanceTemplate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setTargetPools(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setTargetPools') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/instanceGroupManagers/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['project', 'region', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + updatePerInstanceConfigs(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/updatePerInstanceConfigs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Regioninstancegroupmanagers = Resource$Regioninstancegroupmanagers; + class Resource$Regioninstancegroups { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/instanceGroups/{instanceGroup}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'instanceGroup'], + pathParams: ['instanceGroup', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/instanceGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listInstances(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/instanceGroups/{instanceGroup}/listInstances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'instanceGroup'], + pathParams: ['instanceGroup', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setNamedPorts(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/instanceGroups/{instanceGroup}/setNamedPorts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'instanceGroup'], + pathParams: ['instanceGroup', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/instanceGroups/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Regioninstancegroups = Resource$Regioninstancegroups; + class Resource$Regionoperations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/operations/{operation}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'region', 'operation'], + pathParams: ['operation', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/operations/{operation}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'operation'], + pathParams: ['operation', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/operations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + wait(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/operations/{operation}/wait') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'operation'], + pathParams: ['operation', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Regionoperations = Resource$Regionoperations; + class Resource$Regions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/alpha/projects/{project}/regions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Regions = Resource$Regions; + class Resource$Regionsslcertificates { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/sslCertificates/{sslCertificate}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'region', 'sslCertificate'], + pathParams: ['project', 'region', 'sslCertificate'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/sslCertificates/{sslCertificate}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'sslCertificate'], + pathParams: ['project', 'region', 'sslCertificate'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/sslCertificates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/sslCertificates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/sslCertificates/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Regionsslcertificates = Resource$Regionsslcertificates; + class Resource$Regiontargethttpproxies { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'region', 'targetHttpProxy'], + pathParams: ['project', 'region', 'targetHttpProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'targetHttpProxy'], + pathParams: ['project', 'region', 'targetHttpProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/targetHttpProxies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/targetHttpProxies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setUrlMap(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}/setUrlMap') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'targetHttpProxy'], + pathParams: ['project', 'region', 'targetHttpProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/targetHttpProxies/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Regiontargethttpproxies = Resource$Regiontargethttpproxies; + class Resource$Regiontargethttpsproxies { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'region', 'targetHttpsProxy'], + pathParams: ['project', 'region', 'targetHttpsProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'targetHttpsProxy'], + pathParams: ['project', 'region', 'targetHttpsProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/targetHttpsProxies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/targetHttpsProxies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setSslCertificates(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}/setSslCertificates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'targetHttpsProxy'], + pathParams: ['project', 'region', 'targetHttpsProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setUrlMap(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}/setUrlMap') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'targetHttpsProxy'], + pathParams: ['project', 'region', 'targetHttpsProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/targetHttpsProxies/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Regiontargethttpsproxies = Resource$Regiontargethttpsproxies; + class Resource$Regionurlmaps { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/urlMaps/{urlMap}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'region', 'urlMap'], + pathParams: ['project', 'region', 'urlMap'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/urlMaps/{urlMap}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'urlMap'], + pathParams: ['project', 'region', 'urlMap'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/urlMaps') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + invalidateCache(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/urlMaps/{urlMap}/invalidateCache') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'urlMap'], + pathParams: ['project', 'region', 'urlMap'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/urlMaps') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/urlMaps/{urlMap}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'region', 'urlMap'], + pathParams: ['project', 'region', 'urlMap'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/urlMaps/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/urlMaps/{urlMap}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['project', 'region', 'urlMap'], + pathParams: ['project', 'region', 'urlMap'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + validate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/urlMaps/{urlMap}/validate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'urlMap'], + pathParams: ['project', 'region', 'urlMap'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Regionurlmaps = Resource$Regionurlmaps; + class Resource$Resourcepolicies { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/aggregated/resourcePolicies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'region', 'resourcePolicy'], + pathParams: ['project', 'region', 'resourcePolicy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'resourcePolicy'], + pathParams: ['project', 'region', 'resourcePolicy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/resourcePolicies/{resource}/getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/resourcePolicies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/resourcePolicies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/resourcePolicies/{resource}/setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/resourcePolicies/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Resourcepolicies = Resource$Resourcepolicies; + class Resource$Routers { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/aggregated/routers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/routers/{router}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'region', 'router'], + pathParams: ['project', 'region', 'router'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/routers/{router}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'router'], + pathParams: ['project', 'region', 'router'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getNatMappingInfo(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/routers/{router}/getNatMappingInfo') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'router'], + pathParams: ['project', 'region', 'router'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getRouterStatus(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/routers/{router}/getRouterStatus') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'router'], + pathParams: ['project', 'region', 'router'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/routers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/routers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/routers/{router}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'region', 'router'], + pathParams: ['project', 'region', 'router'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + preview(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/routers/{router}/preview') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'router'], + pathParams: ['project', 'region', 'router'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/routers/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/routers/{router}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['project', 'region', 'router'], + pathParams: ['project', 'region', 'router'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Routers = Resource$Routers; + class Resource$Routes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/routes/{route}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'route'], + pathParams: ['project', 'route'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/routes/{route}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'route'], + pathParams: ['project', 'route'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/alpha/projects/{project}/global/routes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/alpha/projects/{project}/global/routes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/routes/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Routes = Resource$Routes; + class Resource$Securitypolicies { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + addRule(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/securityPolicies/{securityPolicy}/addRule') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'securityPolicy'], + pathParams: ['project', 'securityPolicy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/securityPolicies/{securityPolicy}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'securityPolicy'], + pathParams: ['project', 'securityPolicy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/securityPolicies/{securityPolicy}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'securityPolicy'], + pathParams: ['project', 'securityPolicy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getRule(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/securityPolicies/{securityPolicy}/getRule') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'securityPolicy'], + pathParams: ['project', 'securityPolicy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/securityPolicies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/securityPolicies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listPreconfiguredExpressionSets(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/securityPolicies/listPreconfiguredExpressionSets') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/securityPolicies/{securityPolicy}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'securityPolicy'], + pathParams: ['project', 'securityPolicy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patchRule(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/securityPolicies/{securityPolicy}/patchRule') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'securityPolicy'], + pathParams: ['project', 'securityPolicy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + removeRule(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/securityPolicies/{securityPolicy}/removeRule') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'securityPolicy'], + pathParams: ['project', 'securityPolicy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setLabels(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/securityPolicies/{resource}/setLabels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/securityPolicies/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Securitypolicies = Resource$Securitypolicies; + class Resource$Snapshots { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/snapshots/{snapshot}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'snapshot'], + pathParams: ['project', 'snapshot'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/snapshots/{snapshot}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'snapshot'], + pathParams: ['project', 'snapshot'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/snapshots/{resource}/getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/snapshots') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/snapshots/{resource}/setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setLabels(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/snapshots/{resource}/setLabels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/snapshots/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Snapshots = Resource$Snapshots; + class Resource$Sslcertificates { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/aggregated/sslCertificates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/sslCertificates/{sslCertificate}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'sslCertificate'], + pathParams: ['project', 'sslCertificate'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/sslCertificates/{sslCertificate}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'sslCertificate'], + pathParams: ['project', 'sslCertificate'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/sslCertificates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/sslCertificates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/sslCertificates/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Sslcertificates = Resource$Sslcertificates; + class Resource$Sslpolicies { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/sslPolicies/{sslPolicy}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'sslPolicy'], + pathParams: ['project', 'sslPolicy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/sslPolicies/{sslPolicy}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'sslPolicy'], + pathParams: ['project', 'sslPolicy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/sslPolicies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/sslPolicies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listAvailableFeatures(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/sslPolicies/listAvailableFeatures') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/sslPolicies/{sslPolicy}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'sslPolicy'], + pathParams: ['project', 'sslPolicy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/sslPolicies/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Sslpolicies = Resource$Sslpolicies; + class Resource$Subnetworks { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/aggregated/subnetworks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/subnetworks/{subnetwork}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'region', 'subnetwork'], + pathParams: ['project', 'region', 'subnetwork'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + expandIpCidrRange(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/subnetworks/{subnetwork}/expandIpCidrRange') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'subnetwork'], + pathParams: ['project', 'region', 'subnetwork'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/subnetworks/{subnetwork}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'subnetwork'], + pathParams: ['project', 'region', 'subnetwork'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/subnetworks/{resource}/getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/subnetworks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/subnetworks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listUsable(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/aggregated/subnetworks/listUsable') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/subnetworks/{subnetwork}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'region', 'subnetwork'], + pathParams: ['project', 'region', 'subnetwork'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/subnetworks/{resource}/setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setPrivateIpGoogleAccess(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/subnetworks/{subnetwork}/setPrivateIpGoogleAccess') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'subnetwork'], + pathParams: ['project', 'region', 'subnetwork'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/subnetworks/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Subnetworks = Resource$Subnetworks; + class Resource$Targethttpproxies { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/aggregated/targetHttpProxies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/targetHttpProxies/{targetHttpProxy}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'targetHttpProxy'], + pathParams: ['project', 'targetHttpProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/targetHttpProxies/{targetHttpProxy}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'targetHttpProxy'], + pathParams: ['project', 'targetHttpProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/targetHttpProxies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/targetHttpProxies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setUrlMap(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/targetHttpProxies/{targetHttpProxy}/setUrlMap') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'targetHttpProxy'], + pathParams: ['project', 'targetHttpProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/targetHttpProxies/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Targethttpproxies = Resource$Targethttpproxies; + class Resource$Targethttpsproxies { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/aggregated/targetHttpsProxies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'targetHttpsProxy'], + pathParams: ['project', 'targetHttpsProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'targetHttpsProxy'], + pathParams: ['project', 'targetHttpsProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/targetHttpsProxies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/targetHttpsProxies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setQuicOverride(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}/setQuicOverride') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'targetHttpsProxy'], + pathParams: ['project', 'targetHttpsProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setSslCertificates(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/targetHttpsProxies/{targetHttpsProxy}/setSslCertificates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'targetHttpsProxy'], + pathParams: ['project', 'targetHttpsProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setSslPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}/setSslPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'targetHttpsProxy'], + pathParams: ['project', 'targetHttpsProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setUrlMap(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/targetHttpsProxies/{targetHttpsProxy}/setUrlMap') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'targetHttpsProxy'], + pathParams: ['project', 'targetHttpsProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/targetHttpsProxies/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Targethttpsproxies = Resource$Targethttpsproxies; + class Resource$Targetinstances { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/aggregated/targetInstances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/targetInstances/{targetInstance}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'zone', 'targetInstance'], + pathParams: ['project', 'targetInstance', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/targetInstances/{targetInstance}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'targetInstance'], + pathParams: ['project', 'targetInstance', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/targetInstances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/targetInstances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/targetInstances/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Targetinstances = Resource$Targetinstances; + class Resource$Targetpools { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + addHealthCheck(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/targetPools/{targetPool}/addHealthCheck') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'targetPool'], + pathParams: ['project', 'region', 'targetPool'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + addInstance(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/targetPools/{targetPool}/addInstance') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'targetPool'], + pathParams: ['project', 'region', 'targetPool'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/aggregated/targetPools') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/targetPools/{targetPool}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'region', 'targetPool'], + pathParams: ['project', 'region', 'targetPool'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/targetPools/{targetPool}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'targetPool'], + pathParams: ['project', 'region', 'targetPool'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getHealth(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/targetPools/{targetPool}/getHealth') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'targetPool'], + pathParams: ['project', 'region', 'targetPool'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/targetPools') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/targetPools') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + removeHealthCheck(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/targetPools/{targetPool}/removeHealthCheck') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'targetPool'], + pathParams: ['project', 'region', 'targetPool'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + removeInstance(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/targetPools/{targetPool}/removeInstance') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'targetPool'], + pathParams: ['project', 'region', 'targetPool'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setBackup(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/targetPools/{targetPool}/setBackup') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'targetPool'], + pathParams: ['project', 'region', 'targetPool'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/targetPools/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Targetpools = Resource$Targetpools; + class Resource$Targetsslproxies { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/targetSslProxies/{targetSslProxy}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'targetSslProxy'], + pathParams: ['project', 'targetSslProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/targetSslProxies/{targetSslProxy}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'targetSslProxy'], + pathParams: ['project', 'targetSslProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/targetSslProxies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/targetSslProxies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setBackendService(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/targetSslProxies/{targetSslProxy}/setBackendService') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'targetSslProxy'], + pathParams: ['project', 'targetSslProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setProxyHeader(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/targetSslProxies/{targetSslProxy}/setProxyHeader') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'targetSslProxy'], + pathParams: ['project', 'targetSslProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setSslCertificates(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/targetSslProxies/{targetSslProxy}/setSslCertificates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'targetSslProxy'], + pathParams: ['project', 'targetSslProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setSslPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/targetSslProxies/{targetSslProxy}/setSslPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'targetSslProxy'], + pathParams: ['project', 'targetSslProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/targetSslProxies/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Targetsslproxies = Resource$Targetsslproxies; + class Resource$Targettcpproxies { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/targetTcpProxies/{targetTcpProxy}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'targetTcpProxy'], + pathParams: ['project', 'targetTcpProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/targetTcpProxies/{targetTcpProxy}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'targetTcpProxy'], + pathParams: ['project', 'targetTcpProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/targetTcpProxies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/targetTcpProxies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setBackendService(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/targetTcpProxies/{targetTcpProxy}/setBackendService') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'targetTcpProxy'], + pathParams: ['project', 'targetTcpProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setProxyHeader(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/targetTcpProxies/{targetTcpProxy}/setProxyHeader') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'targetTcpProxy'], + pathParams: ['project', 'targetTcpProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/targetTcpProxies/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Targettcpproxies = Resource$Targettcpproxies; + class Resource$Targetvpngateways { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/aggregated/targetVpnGateways') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/targetVpnGateways/{targetVpnGateway}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'region', 'targetVpnGateway'], + pathParams: ['project', 'region', 'targetVpnGateway'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/targetVpnGateways/{targetVpnGateway}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'targetVpnGateway'], + pathParams: ['project', 'region', 'targetVpnGateway'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/targetVpnGateways') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/targetVpnGateways') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setLabels(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/targetVpnGateways/{resource}/setLabels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/targetVpnGateways/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Targetvpngateways = Resource$Targetvpngateways; + class Resource$Urlmaps { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/aggregated/urlMaps') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/urlMaps/{urlMap}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'urlMap'], + pathParams: ['project', 'urlMap'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/urlMaps/{urlMap}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'urlMap'], + pathParams: ['project', 'urlMap'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/alpha/projects/{project}/global/urlMaps') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + invalidateCache(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/urlMaps/{urlMap}/invalidateCache') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'urlMap'], + pathParams: ['project', 'urlMap'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/alpha/projects/{project}/global/urlMaps') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/urlMaps/{urlMap}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'urlMap'], + pathParams: ['project', 'urlMap'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/urlMaps/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/urlMaps/{urlMap}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['project', 'urlMap'], + pathParams: ['project', 'urlMap'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + validate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/global/urlMaps/{urlMap}/validate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'urlMap'], + pathParams: ['project', 'urlMap'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Urlmaps = Resource$Urlmaps; + class Resource$Vpngateways { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/aggregated/vpnGateways') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/vpnGateways/{vpnGateway}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'region', 'vpnGateway'], + pathParams: ['project', 'region', 'vpnGateway'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/vpnGateways/{vpnGateway}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'vpnGateway'], + pathParams: ['project', 'region', 'vpnGateway'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/vpnGateways') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/vpnGateways') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setLabels(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/vpnGateways/{resource}/setLabels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/vpnGateways/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Vpngateways = Resource$Vpngateways; + class Resource$Vpntunnels { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/aggregated/vpnTunnels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/vpnTunnels/{vpnTunnel}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'region', 'vpnTunnel'], + pathParams: ['project', 'region', 'vpnTunnel'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/vpnTunnels/{vpnTunnel}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'vpnTunnel'], + pathParams: ['project', 'region', 'vpnTunnel'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/vpnTunnels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/vpnTunnels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setLabels(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/vpnTunnels/{resource}/setLabels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/vpnTunnels/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Vpntunnels = Resource$Vpntunnels; + class Resource$Zoneoperations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/operations/{operation}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'zone', 'operation'], + pathParams: ['operation', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/operations/{operation}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'operation'], + pathParams: ['operation', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/operations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + wait(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/operations/{operation}/wait') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'operation'], + pathParams: ['operation', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Zoneoperations = Resource$Zoneoperations; + class Resource$Zones { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/alpha/projects/{project}/zones/{zone}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/alpha/projects/{project}/zones') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_alpha.Resource$Zones = Resource$Zones; +})(compute_alpha = exports.compute_alpha || (exports.compute_alpha = {})); +//# sourceMappingURL=alpha.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/compute/alpha.js.map b/express-server/node_modules/googleapis/build/src/apis/compute/alpha.js.map new file mode 100644 index 00000000..f96b77c4 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/compute/alpha.js.map @@ -0,0 +1 @@ +{"version":3,"file":"alpha.js","sourceRoot":"","sources":["../../../../src/apis/compute/alpha.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/compute/beta.d.ts b/express-server/node_modules/googleapis/build/src/apis/compute/beta.d.ts new file mode 100644 index 00000000..9bc20119 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/compute/beta.d.ts @@ -0,0 +1,58386 @@ +/** + * 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 { JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace compute_beta { + interface Options extends GlobalOptions { + version: 'beta'; + } + /** + * Compute Engine API + * + * Creates and runs virtual machines on Google Cloud Platform. + * + * @example + * const {google} = require('googleapis'); + * const compute = google.compute('beta'); + * + * @namespace compute + * @type {Function} + * @version beta + * @variation beta + * @param {object=} options Options for Compute + */ + class Compute { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + acceleratorTypes: Resource$Acceleratortypes; + addresses: Resource$Addresses; + autoscalers: Resource$Autoscalers; + backendBuckets: Resource$Backendbuckets; + backendServices: Resource$Backendservices; + disks: Resource$Disks; + diskTypes: Resource$Disktypes; + firewalls: Resource$Firewalls; + forwardingRules: Resource$Forwardingrules; + globalAddresses: Resource$Globaladdresses; + globalForwardingRules: Resource$Globalforwardingrules; + globalOperations: Resource$Globaloperations; + healthChecks: Resource$Healthchecks; + httpHealthChecks: Resource$Httphealthchecks; + httpsHealthChecks: Resource$Httpshealthchecks; + images: Resource$Images; + instanceGroupManagers: Resource$Instancegroupmanagers; + instanceGroups: Resource$Instancegroups; + instances: Resource$Instances; + instanceTemplates: Resource$Instancetemplates; + interconnectAttachments: Resource$Interconnectattachments; + interconnectLocations: Resource$Interconnectlocations; + interconnects: Resource$Interconnects; + licenseCodes: Resource$Licensecodes; + licenses: Resource$Licenses; + machineTypes: Resource$Machinetypes; + networkEndpointGroups: Resource$Networkendpointgroups; + networks: Resource$Networks; + nodeGroups: Resource$Nodegroups; + nodeTemplates: Resource$Nodetemplates; + nodeTypes: Resource$Nodetypes; + projects: Resource$Projects; + regionAutoscalers: Resource$Regionautoscalers; + regionBackendServices: Resource$Regionbackendservices; + regionCommitments: Resource$Regioncommitments; + regionDisks: Resource$Regiondisks; + regionDiskTypes: Resource$Regiondisktypes; + regionInstanceGroupManagers: Resource$Regioninstancegroupmanagers; + regionInstanceGroups: Resource$Regioninstancegroups; + regionOperations: Resource$Regionoperations; + regions: Resource$Regions; + resourcePolicies: Resource$Resourcepolicies; + routers: Resource$Routers; + routes: Resource$Routes; + securityPolicies: Resource$Securitypolicies; + snapshots: Resource$Snapshots; + sslCertificates: Resource$Sslcertificates; + sslPolicies: Resource$Sslpolicies; + subnetworks: Resource$Subnetworks; + targetHttpProxies: Resource$Targethttpproxies; + targetHttpsProxies: Resource$Targethttpsproxies; + targetInstances: Resource$Targetinstances; + targetPools: Resource$Targetpools; + targetSslProxies: Resource$Targetsslproxies; + targetTcpProxies: Resource$Targettcpproxies; + targetVpnGateways: Resource$Targetvpngateways; + urlMaps: Resource$Urlmaps; + vpnTunnels: Resource$Vpntunnels; + zoneOperations: Resource$Zoneoperations; + zones: Resource$Zones; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * A specification of the type and number of accelerator cards attached to the + * instance. + */ + interface Schema$AcceleratorConfig { + /** + * The number of the guest accelerator cards exposed to this instance. + */ + acceleratorCount?: number; + /** + * Full or partial URL of the accelerator type resource to attach to this + * instance. If you are creating an instance template, specify only the + * accelerator name. + */ + acceleratorType?: string; + } + /** + * An Accelerator Type resource. (== resource_for beta.acceleratorTypes ==) + * (== resource_for v1.acceleratorTypes ==) + */ + interface Schema$AcceleratorType { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * [Output Only] The deprecation status associated with this accelerator + * type. + */ + deprecated?: Schema$DeprecationStatus; + /** + * [Output Only] An optional textual description of the resource. + */ + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] The type of the resource. Always compute#acceleratorType + * for accelerator types. + */ + kind?: string; + /** + * [Output Only] Maximum accelerator cards allowed per instance. + */ + maximumCardsPerInstance?: number; + /** + * [Output Only] Name of the resource. + */ + name?: string; + /** + * [Output Only] Server-defined fully-qualified URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] The name of the zone where the accelerator type resides, + * such as us-central1-a. You must specify this field as part of the HTTP + * request URL. It is not settable as a field in the request body. + */ + zone?: string; + } + interface Schema$AcceleratorTypeAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of AcceleratorTypesScopedList resources. + */ + items?: any; + /** + * [Output Only] Type of resource. Always + * compute#acceleratorTypeAggregatedList for aggregated lists of accelerator + * types. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of accelerator types. + */ + interface Schema$AcceleratorTypeList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of AcceleratorType resources. + */ + items?: Schema$AcceleratorType[]; + /** + * [Output Only] Type of resource. Always compute#acceleratorTypeList for + * lists of accelerator types. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$AcceleratorTypesScopedList { + /** + * [Output Only] A list of accelerator types contained in this scope. + */ + acceleratorTypes?: Schema$AcceleratorType[]; + /** + * [Output Only] An informational warning that appears when the accelerator + * types list is empty. + */ + warning?: any; + } + /** + * An access configuration attached to an instance's network interface. + * Only one access config per instance is supported. + */ + interface Schema$AccessConfig { + /** + * [Output Only] Type of the resource. Always compute#accessConfig for + * access configs. + */ + kind?: string; + /** + * The name of this access configuration. The default and recommended name + * is External NAT but you can use any arbitrary string you would like. For + * example, My external IP or Network Access. + */ + name?: string; + /** + * An external IP address associated with this instance. Specify an unused + * static external IP address available to the project or leave this field + * undefined to use an IP from a shared ephemeral IP address pool. If you + * specify a static external IP address, it must live in the same region as + * the zone of the instance. + */ + natIP?: string; + /** + * This signifies the networking tier used for configuring this access + * configuration and can only take the following values: PREMIUM, STANDARD. + * If an AccessConfig is specified without a valid external IP address, an + * ephemeral IP will be created with this networkTier. If an AccessConfig + * with a valid external IP address is specified, it must match that of the + * networkTier associated with the Address resource owning that IP. + */ + networkTier?: string; + /** + * The DNS domain name for the public PTR record. This field can only be set + * when the set_public_ptr field is enabled. + */ + publicPtrDomainName?: string; + /** + * Specifies whether a public DNS ?PTR? record should be created to map the + * external IP address of the instance to a DNS domain name. + */ + setPublicPtr?: boolean; + /** + * The type of configuration. The default and only option is ONE_TO_ONE_NAT. + */ + type?: string; + } + /** + * A reserved address resource. (== resource_for beta.addresses ==) (== + * resource_for v1.addresses ==) (== resource_for beta.globalAddresses ==) (== + * resource_for v1.globalAddresses ==) + */ + interface Schema$Address { + /** + * The static IP address represented by this resource. + */ + address?: string; + /** + * The type of address to reserve, either INTERNAL or EXTERNAL. If + * unspecified, defaults to EXTERNAL. + */ + addressType?: string; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * The IP Version that will be used by this address. Valid options are IPV4 + * or IPV6. This can only be specified for a global address. + */ + ipVersion?: string; + /** + * [Output Only] Type of the resource. Always compute#address for addresses. + */ + kind?: string; + /** + * A fingerprint for the labels being applied to this Address, which is + * essentially a hash of the labels set used for optimistic locking. The + * fingerprint is initially generated by Compute Engine and changes after + * every request to modify or update labels. You must always provide an + * up-to-date fingerprint hash in order to update or change labels. To see + * the latest fingerprint, make a get() request to retrieve an Address. + */ + labelFingerprint?: string; + /** + * Labels to apply to this Address resource. These can be later modified by + * the setLabels method. Each label key/value must comply with RFC1035. + * Label values may be empty. + */ + labels?: any; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * The URL of the network in which to reserve the address. This field can + * only be used with INTERNAL type with VPC_PEERING purpose. + */ + network?: string; + /** + * This signifies the networking tier used for configuring this Address and + * can only take the following values: PREMIUM , STANDARD. If this field is + * not specified, it is assumed to be PREMIUM. + */ + networkTier?: string; + /** + * The prefix length if the resource reprensents an IP range. + */ + prefixLength?: number; + /** + * The purpose of resource, only used with INTERNAL type. + */ + purpose?: string; + /** + * [Output Only] URL of the region where the regional address resides. This + * field is not applicable to global addresses. You must specify this field + * as part of the HTTP request URL. You cannot set this field in the request + * body. + */ + region?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] The status of the address, which can be one of RESERVING, + * RESERVED, or IN_USE. An address that is RESERVING is currently in the + * process of being reserved. A RESERVED address is currently reserved and + * available to use. An IN_USE address is currently being used by another + * resource and is not available. + */ + status?: string; + /** + * The URL of the subnetwork in which to reserve the address. If an IP + * address is specified, it must be within the subnetwork's IP range. + * This field can only be used with INTERNAL type with + * GCE_ENDPOINT/DNS_RESOLVER purposes. + */ + subnetwork?: string; + /** + * [Output Only] The URLs of the resources that are using this address. + */ + users?: string[]; + } + interface Schema$AddressAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of AddressesScopedList resources. + */ + items?: any; + /** + * [Output Only] Type of resource. Always compute#addressAggregatedList for + * aggregated lists of addresses. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$AddressesScopedList { + /** + * [Output Only] A list of addresses contained in this scope. + */ + addresses?: Schema$Address[]; + /** + * [Output Only] Informational warning which replaces the list of addresses + * when the list is empty. + */ + warning?: any; + } + /** + * Contains a list of addresses. + */ + interface Schema$AddressList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Address resources. + */ + items?: Schema$Address[]; + /** + * [Output Only] Type of resource. Always compute#addressList for lists of + * addresses. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * An alias IP range attached to an instance's network interface. + */ + interface Schema$AliasIpRange { + /** + * The IP CIDR range represented by this alias IP range. This IP CIDR range + * must belong to the specified subnetwork and cannot contain IP addresses + * reserved by system or used by other network interfaces. This range may be + * a single IP address (e.g. 10.2.3.4), a netmask (e.g. /24) or a CIDR + * format string (e.g. 10.1.2.0/24). + */ + ipCidrRange?: string; + /** + * Optional subnetwork secondary range name specifying the secondary range + * from which to allocate the IP CIDR range for this alias IP range. If left + * unspecified, the primary range of the subnetwork will be used. + */ + subnetworkRangeName?: string; + } + /** + * An instance-attached disk resource. + */ + interface Schema$AttachedDisk { + /** + * Specifies whether the disk will be auto-deleted when the instance is + * deleted (but not when the disk is detached from the instance). + */ + autoDelete?: boolean; + /** + * Indicates that this is a boot disk. The virtual machine will use the + * first partition of the disk for its root filesystem. + */ + boot?: boolean; + /** + * Specifies a unique device name of your choice that is reflected into the + * /dev/disk/by-id/google-* tree of a Linux operating system running within + * the instance. This name can be used to reference the device for mounting, + * resizing, and so on, from within the instance. If not specified, the + * server chooses a default device name to apply to this disk, in the form + * persistent-disks-x, where x is a number assigned by Google Compute + * Engine. This field is only applicable for persistent disks. + */ + deviceName?: string; + /** + * Encrypts or decrypts a disk using a customer-supplied encryption key. If + * you are creating a new disk, this field encrypts the new disk using an + * encryption key that you provide. If you are attaching an existing disk + * that is already encrypted, this field decrypts the disk using the + * customer-supplied encryption key. If you encrypt a disk using a + * customer-supplied key, you must provide the same key again when you + * attempt to use this resource at a later time. For example, you must + * provide the key when you create a snapshot or an image from the disk or + * when you attach the disk to a virtual machine instance. If you do not + * provide an encryption key, then the disk will be encrypted using an + * automatically generated key and you do not need to provide a key to use + * the disk later. Instance templates do not store customer-supplied + * encryption keys, so you cannot use your own keys to encrypt disks in a + * managed instance group. + */ + diskEncryptionKey?: Schema$CustomerEncryptionKey; + /** + * A list of features to enable on the guest operating system. Applicable + * only for bootable images. Read Enabling guest operating system features + * to see a list of available options. + */ + guestOsFeatures?: Schema$GuestOsFeature[]; + /** + * [Output Only] A zero-based index to this disk, where 0 is reserved for + * the boot disk. If you have many disks attached to an instance, each disk + * would have a unique index number. + */ + index?: number; + /** + * [Input Only] Specifies the parameters for a new disk that will be created + * alongside the new instance. Use initialization parameters to create boot + * disks or local SSDs attached to the new instance. This property is + * mutually exclusive with the source property; you can only define one or + * the other, but not both. + */ + initializeParams?: Schema$AttachedDiskInitializeParams; + /** + * Specifies the disk interface to use for attaching this disk, which is + * either SCSI or NVME. The default is SCSI. Persistent disks must always + * use SCSI and the request will fail if you attempt to attach a persistent + * disk in any other format than SCSI. Local SSDs can use either NVME or + * SCSI. For performance characteristics of SCSI over NVMe, see Local SSD + * performance. + */ + interface?: string; + /** + * [Output Only] Type of the resource. Always compute#attachedDisk for + * attached disks. + */ + kind?: string; + /** + * [Output Only] Any valid publicly visible licenses. + */ + licenses?: string[]; + /** + * The mode in which to attach this disk, either READ_WRITE or READ_ONLY. If + * not specified, the default is to attach the disk in READ_WRITE mode. + */ + mode?: string; + /** + * Specifies a valid partial or full URL to an existing Persistent Disk + * resource. When creating a new instance, one of + * initializeParams.sourceImage or disks.source is required except for local + * SSD. If desired, you can also attach existing non-root persistent disks + * using this property. This field is only applicable for persistent disks. + * Note that for InstanceTemplate, specify the disk name, not the URL for + * the disk. + */ + source?: string; + /** + * Specifies the type of the disk, either SCRATCH or PERSISTENT. If not + * specified, the default is PERSISTENT. + */ + type?: string; + } + /** + * [Input Only] Specifies the parameters for a new disk that will be created + * alongside the new instance. Use initialization parameters to create boot + * disks or local SSDs attached to the new instance. This property is + * mutually exclusive with the source property; you can only define one or the + * other, but not both. + */ + interface Schema$AttachedDiskInitializeParams { + /** + * An optional description. Provide this property when creating the disk. + */ + description?: string; + /** + * Specifies the disk name. If not specified, the default is to use the name + * of the instance. If the disk with the instance name exists already in the + * given zone/region, a new name will be automatically generated. + */ + diskName?: string; + /** + * Specifies the size of the disk in base-2 GB. + */ + diskSizeGb?: string; + /** + * Specifies the disk type to use to create the instance. If not specified, + * the default is pd-standard, specified using the full URL. For example: + * https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/pd-standard + * Other values include pd-ssd and local-ssd. If you define this field, you + * can provide either the full or partial URL. For example, the following + * are valid values: - + * https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/diskType + * - projects/project/zones/zone/diskTypes/diskType - + * zones/zone/diskTypes/diskType Note that for InstanceTemplate, this is + * the name of the disk type, not URL. + */ + diskType?: string; + /** + * Labels to apply to this disk. These can be later modified by the + * disks.setLabels method. This field is only applicable for persistent + * disks. + */ + labels?: any; + /** + * The source image to create this disk. When creating a new instance, one + * of initializeParams.sourceImage or disks.source is required except for + * local SSD. To create a disk with one of the public operating system + * images, specify the image by its family name. For example, specify + * family/debian-9 to use the latest Debian 9 image: + * projects/debian-cloud/global/images/family/debian-9 Alternatively, use + * a specific version of a public operating system image: + * projects/debian-cloud/global/images/debian-9-stretch-vYYYYMMDD To + * create a disk with a custom image that you created, specify the image + * name in the following format: global/images/my-custom-image You can + * also specify a custom image by its image family, which returns the latest + * version of the image in that family. Replace the image name with + * family/family-name: global/images/family/my-image-family If the source + * image is deleted later, this field will not be set. + */ + sourceImage?: string; + /** + * The customer-supplied encryption key of the source image. Required if the + * source image is protected by a customer-supplied encryption key. Instance + * templates do not store customer-supplied encryption keys, so you cannot + * create disks for instances in a managed instance group if the source + * images are encrypted with your own keys. + */ + sourceImageEncryptionKey?: Schema$CustomerEncryptionKey; + } + /** + * Specifies the audit configuration for a service. The configuration + * determines which permission types are logged, and what identities, if any, + * are exempted from logging. An AuditConfig must have one or more + * AuditLogConfigs. If there are AuditConfigs for both `allServices` and a + * specific service, the union of the two AuditConfigs is used for that + * service: the log_types specified in each AuditConfig are enabled, and the + * exempted_members in each AuditLogConfig are exempted. Example Policy with + * multiple AuditConfigs: { "audit_configs": [ { + * "service": "allServices" "audit_log_configs": + * [ { "log_type": "DATA_READ", + * "exempted_members": [ "user:foo@gmail.com" ] }, { + * "log_type": "DATA_WRITE", }, { "log_type": + * "ADMIN_READ", } ] }, { "service": + * "fooservice.googleapis.com" "audit_log_configs": [ { + * "log_type": "DATA_READ", }, { "log_type": + * "DATA_WRITE", "exempted_members": [ + * "user:bar@gmail.com" ] } ] } ] } For fooservice, this policy + * enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts + * foo@gmail.com from DATA_READ logging, and bar@gmail.com from DATA_WRITE + * logging. + */ + interface Schema$AuditConfig { + /** + * The configuration for logging of each type of permission. + */ + auditLogConfigs?: Schema$AuditLogConfig[]; + exemptedMembers?: string[]; + /** + * Specifies a service that will be enabled for audit logging. For example, + * `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a + * special value that covers all services. + */ + service?: string; + } + /** + * Provides the configuration for logging a type of permissions. Example: { + * "audit_log_configs": [ { "log_type": + * "DATA_READ", "exempted_members": [ + * "user:foo@gmail.com" ] }, { "log_type": + * "DATA_WRITE", } ] } This enables 'DATA_READ' and + * 'DATA_WRITE' logging, while exempting foo@gmail.com from DATA_READ + * logging. + */ + interface Schema$AuditLogConfig { + /** + * Specifies the identities that do not cause logging for this type of + * permission. Follows the same format of [Binding.members][]. + */ + exemptedMembers?: string[]; + /** + * The log type that this config enables. + */ + logType?: string; + } + /** + * Authorization-related information used by Cloud Audit Logging. + */ + interface Schema$AuthorizationLoggingOptions { + /** + * The type of the permission that was checked. + */ + permissionType?: string; + } + /** + * Represents an Autoscaler resource. Autoscalers allow you to automatically + * scale virtual machine instances in managed instance groups according to an + * autoscaling policy that you define. For more information, read Autoscaling + * Groups of Instances. (== resource_for beta.autoscalers ==) (== resource_for + * v1.autoscalers ==) (== resource_for beta.regionAutoscalers ==) (== + * resource_for v1.regionAutoscalers ==) + */ + interface Schema$Autoscaler { + /** + * The configuration parameters for the autoscaling algorithm. You can + * define one or more of the policies for an autoscaler: cpuUtilization, + * customMetricUtilizations, and loadBalancingUtilization. If none of these + * are specified, the default will be to autoscale based on cpuUtilization + * to 0.6 or 60%. + */ + autoscalingPolicy?: Schema$AutoscalingPolicy; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of the resource. Always compute#autoscaler for + * autoscalers. + */ + kind?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * [Output Only] URL of the region where the instance group resides (for + * autoscalers living in regional scope). + */ + region?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] The status of the autoscaler configuration. + */ + status?: string; + /** + * [Output Only] Human-readable details about the current state of the + * autoscaler. Read the documentation for Commonly returned status messages + * for examples of status messages you might encounter. + */ + statusDetails?: Schema$AutoscalerStatusDetails[]; + /** + * URL of the managed instance group that this autoscaler will scale. + */ + target?: string; + /** + * [Output Only] URL of the zone where the instance group resides (for + * autoscalers living in zonal scope). + */ + zone?: string; + } + interface Schema$AutoscalerAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of AutoscalersScopedList resources. + */ + items?: any; + /** + * [Output Only] Type of resource. Always compute#autoscalerAggregatedList + * for aggregated lists of autoscalers. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of Autoscaler resources. + */ + interface Schema$AutoscalerList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Autoscaler resources. + */ + items?: Schema$Autoscaler[]; + /** + * [Output Only] Type of resource. Always compute#autoscalerList for lists + * of autoscalers. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$AutoscalersScopedList { + /** + * [Output Only] A list of autoscalers contained in this scope. + */ + autoscalers?: Schema$Autoscaler[]; + /** + * [Output Only] Informational warning which replaces the list of + * autoscalers when the list is empty. + */ + warning?: any; + } + interface Schema$AutoscalerStatusDetails { + /** + * The status message. + */ + message?: string; + /** + * The type of error returned. + */ + type?: string; + } + /** + * Cloud Autoscaler policy. + */ + interface Schema$AutoscalingPolicy { + /** + * The number of seconds that the autoscaler should wait before it starts + * collecting information from a new instance. This prevents the autoscaler + * from collecting information when the instance is initializing, during + * which the collected usage would not be reliable. The default time + * autoscaler waits is 60 seconds. Virtual machine initialization times + * might vary because of numerous factors. We recommend that you test how + * long an instance may take to initialize. To do this, create an instance + * and time the startup process. + */ + coolDownPeriodSec?: number; + /** + * Defines the CPU utilization policy that allows the autoscaler to scale + * based on the average CPU utilization of a managed instance group. + */ + cpuUtilization?: Schema$AutoscalingPolicyCpuUtilization; + /** + * Configuration parameters of autoscaling based on a custom metric. + */ + customMetricUtilizations?: Schema$AutoscalingPolicyCustomMetricUtilization[]; + /** + * Configuration parameters of autoscaling based on load balancer. + */ + loadBalancingUtilization?: Schema$AutoscalingPolicyLoadBalancingUtilization; + /** + * The maximum number of instances that the autoscaler can scale up to. This + * is required when creating or updating an autoscaler. The maximum number + * of replicas should not be lower than minimal number of replicas. + */ + maxNumReplicas?: number; + /** + * The minimum number of replicas that the autoscaler can scale down to. + * This cannot be less than 0. If not provided, autoscaler will choose a + * default value depending on maximum number of instances allowed. + */ + minNumReplicas?: number; + } + /** + * CPU utilization policy. + */ + interface Schema$AutoscalingPolicyCpuUtilization { + /** + * The target CPU utilization that the autoscaler should maintain. Must be a + * float value in the range (0, 1]. If not specified, the default is 0.6. If + * the CPU level is below the target utilization, the autoscaler scales down + * the number of instances until it reaches the minimum number of instances + * you specified or until the average CPU of your instances reaches the + * target utilization. If the average CPU is above the target utilization, + * the autoscaler scales up until it reaches the maximum number of instances + * you specified or until the average utilization reaches the target + * utilization. + */ + utilizationTarget?: number; + } + /** + * Custom utilization metric policy. + */ + interface Schema$AutoscalingPolicyCustomMetricUtilization { + /** + * A filter string, compatible with a Stackdriver Monitoring filter string + * for TimeSeries.list API call. This filter is used to select a specific + * TimeSeries for the purpose of autoscaling and to determine whether the + * metric is exporting per-instance or per-group data. For the filter to be + * valid for autoscaling purposes, the following rules apply: - You can + * only use the AND operator for joining selectors. - You can only use + * direct equality comparison operator (=) without any functions for each + * selector. - You can specify the metric in both the filter string and in + * the metric field. However, if specified in both places, the metric must + * be identical. - The monitored resource type determines what kind of + * values are expected for the metric. If it is a gce_instance, the + * autoscaler expects the metric to include a separate TimeSeries for each + * instance in a group. In such a case, you cannot filter on resource + * labels. If the resource type is any other value, the autoscaler expects + * this metric to contain values that apply to the entire autoscaled + * instance group and resource label filtering can be performed to point + * autoscaler at the correct TimeSeries to scale upon. This is called a + * per-group metric for the purpose of autoscaling. If not specified, the + * type defaults to gce_instance. You should provide a filter that is + * selective enough to pick just one TimeSeries for the autoscaled group or + * for each of the instances (if you are using gce_instance resource type). + * If multiple TimeSeries are returned upon the query execution, the + * autoscaler will sum their respective values to obtain its scaling value. + */ + filter?: string; + /** + * The identifier (type) of the Stackdriver Monitoring metric. The metric + * cannot have negative values. The metric must have a value type of INT64 + * or DOUBLE. + */ + metric?: string; + /** + * If scaling is based on a per-group metric value that represents the total + * amount of work to be done or resource usage, set this value to an amount + * assigned for a single instance of the scaled group. Autoscaler will keep + * the number of instances proportional to the value of this metric, the + * metric itself should not change value due to group resizing. A good + * metric to use with the target is for example + * pubsub.googleapis.com/subscription/num_undelivered_messages or a custom + * metric exporting the total number of requests coming to your instances. + * A bad example would be a metric exporting an average or median latency, + * since this value can't include a chunk assignable to a single + * instance, it could be better used with utilization_target instead. + */ + singleInstanceAssignment?: number; + /** + * The target value of the metric that autoscaler should maintain. This must + * be a positive value. A utilization metric scales number of virtual + * machines handling requests to increase or decrease proportionally to the + * metric. For example, a good metric to use as a utilization_target is + * compute.googleapis.com/instance/network/received_bytes_count. The + * autoscaler will work to keep this value constant for each of the + * instances. + */ + utilizationTarget?: number; + /** + * Defines how target utilization value is expressed for a Stackdriver + * Monitoring metric. Either GAUGE, DELTA_PER_SECOND, or DELTA_PER_MINUTE. + * If not specified, the default is GAUGE. + */ + utilizationTargetType?: string; + } + /** + * Configuration parameters of autoscaling based on load balancing. + */ + interface Schema$AutoscalingPolicyLoadBalancingUtilization { + /** + * Fraction of backend capacity utilization (set in HTTP(s) load balancing + * configuration) that autoscaler should maintain. Must be a positive float + * value. If not defined, the default is 0.8. + */ + utilizationTarget?: number; + } + /** + * Message containing information of one individual backend. + */ + interface Schema$Backend { + /** + * Specifies the balancing mode for this backend. For global HTTP(S) or + * TCP/SSL load balancing, the default is UTILIZATION. Valid values are + * UTILIZATION, RATE (for HTTP(S)) and CONNECTION (for TCP/SSL). For + * Internal Load Balancing, the default and only supported mode is + * CONNECTION. + */ + balancingMode?: string; + /** + * A multiplier applied to the group's maximum servicing capacity (based + * on UTILIZATION, RATE or CONNECTION). Default value is 1, which means the + * group will serve up to 100% of its configured capacity (depending on + * balancingMode). A setting of 0 means the group is completely drained, + * offering 0% of its available Capacity. Valid range is [0.0,1.0]. This + * cannot be used for internal load balancing. + */ + capacityScaler?: number; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * The fully-qualified URL of a Instance Group resource. This instance group + * defines the list of instances that serve traffic. Member virtual machine + * instances from each instance group must live in the same zone as the + * instance group itself. No two backends in a backend service are allowed + * to use same Instance Group resource. Note that you must specify an + * Instance Group resource using the fully-qualified URL, rather than a + * partial URL. When the BackendService has load balancing scheme INTERNAL, + * the instance group must be within the same region as the BackendService. + */ + group?: string; + /** + * The max number of simultaneous connections for the group. Can be used + * with either CONNECTION or UTILIZATION balancing modes. For CONNECTION + * mode, either maxConnections or maxConnectionsPerInstance must be set. + * This cannot be used for internal load balancing. + */ + maxConnections?: number; + /** + * The max number of simultaneous connections that a single backend network + * endpoint can handle. This is used to calculate the capacity of the group. + * Can be used in either CONNECTION or UTILIZATION balancing modes. For + * CONNECTION mode, either maxConnections or maxConnectionsPerEndpoint must + * be set. This cannot be used for internal load balancing. + */ + maxConnectionsPerEndpoint?: number; + /** + * The max number of simultaneous connections that a single backend instance + * can handle. This is used to calculate the capacity of the group. Can be + * used in either CONNECTION or UTILIZATION balancing modes. For CONNECTION + * mode, either maxConnections or maxConnectionsPerInstance must be set. + * This cannot be used for internal load balancing. + */ + maxConnectionsPerInstance?: number; + /** + * The max requests per second (RPS) of the group. Can be used with either + * RATE or UTILIZATION balancing modes, but required if RATE mode. For RATE + * mode, either maxRate or maxRatePerInstance must be set. This cannot be + * used for internal load balancing. + */ + maxRate?: number; + /** + * The max requests per second (RPS) that a single backend network endpoint + * can handle. This is used to calculate the capacity of the group. Can be + * used in either balancing mode. For RATE mode, either maxRate or + * maxRatePerEndpoint must be set. This cannot be used for internal load + * balancing. + */ + maxRatePerEndpoint?: number; + /** + * The max requests per second (RPS) that a single backend instance can + * handle. This is used to calculate the capacity of the group. Can be used + * in either balancing mode. For RATE mode, either maxRate or + * maxRatePerInstance must be set. This cannot be used for internal load + * balancing. + */ + maxRatePerInstance?: number; + /** + * Used when balancingMode is UTILIZATION. This ratio defines the CPU + * utilization target for the group. The default is 0.8. Valid range is + * [0.0, 1.0]. This cannot be used for internal load balancing. + */ + maxUtilization?: number; + } + /** + * A BackendBucket resource. This resource defines a Cloud Storage bucket. + */ + interface Schema$BackendBucket { + /** + * Cloud Storage bucket name. + */ + bucketName?: string; + /** + * Cloud CDN configuration for this BackendBucket. + */ + cdnPolicy?: Schema$BackendBucketCdnPolicy; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional textual description of the resource; provided by the client + * when the resource is created. + */ + description?: string; + /** + * If true, enable Cloud CDN for this BackendBucket. + */ + enableCdn?: boolean; + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * Type of the resource. + */ + kind?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + } + /** + * Message containing Cloud CDN configuration for a backend bucket. + */ + interface Schema$BackendBucketCdnPolicy { + /** + * Maximum number of seconds the response to a signed URL request will be + * considered fresh. After this time period, the response will be + * revalidated before being served. Defaults to 1hr (3600s). When serving + * responses to signed URL requests, Cloud CDN will internally behave as + * though all responses from this backend had a ?Cache-Control: public, + * max-age=[TTL]? header, regardless of any existing Cache-Control header. + * The actual headers served in responses will not be altered. + */ + signedUrlCacheMaxAgeSec?: string; + /** + * [Output Only] Names of the keys for signing request URLs. + */ + signedUrlKeyNames?: string[]; + } + /** + * Contains a list of BackendBucket resources. + */ + interface Schema$BackendBucketList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of BackendBucket resources. + */ + items?: Schema$BackendBucket[]; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * A BackendService resource. This resource defines a group of backend virtual + * machines and their serving capacity. (== resource_for v1.backendService ==) + * (== resource_for beta.backendService ==) + */ + interface Schema$BackendService { + /** + * Lifetime of cookies in seconds if session_affinity is GENERATED_COOKIE. + * If set to 0, the cookie is non-persistent and lasts only until the end of + * the browser session (or equivalent). The maximum allowed value for TTL is + * one day. When the load balancing scheme is INTERNAL, this field is not + * used. + */ + affinityCookieTtlSec?: number; + /** + * The list of backends that serve this BackendService. + */ + backends?: Schema$Backend[]; + /** + * Cloud CDN configuration for this BackendService. + */ + cdnPolicy?: Schema$BackendServiceCdnPolicy; + connectionDraining?: Schema$ConnectionDraining; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * Headers that the HTTP/S load balancer should add to proxied requests. + */ + customRequestHeaders?: string[]; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * If true, enable Cloud CDN for this BackendService. When the load + * balancing scheme is INTERNAL, this field is not used. + */ + enableCDN?: boolean; + /** + * Fingerprint of this resource. A hash of the contents stored in this + * object. This field is used in optimistic locking. This field will be + * ignored when inserting a BackendService. An up-to-date fingerprint must + * be provided in order to update the BackendService. To see the latest + * fingerprint, make a get() request to retrieve a BackendService. + */ + fingerprint?: string; + /** + * The list of URLs to the HttpHealthCheck or HttpsHealthCheck resource for + * health checking this BackendService. Currently at most one health check + * can be specified, and a health check is required for Compute Engine + * backend services. A health check must not be specified for App Engine + * backend and Cloud Function backend. For internal load balancing, a URL + * to a HealthCheck resource must be specified instead. + */ + healthChecks?: string[]; + iap?: Schema$BackendServiceIAP; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of resource. Always compute#backendService for backend + * services. + */ + kind?: string; + /** + * Indicates whether the backend service will be used with internal or + * external load balancing. A backend service created for one type of load + * balancing cannot be used with the other. Possible values are INTERNAL and + * EXTERNAL. + */ + loadBalancingScheme?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * Deprecated in favor of portName. The TCP port to connect on the backend. + * The default value is 80. This cannot be used for internal load + * balancing. + */ + port?: number; + /** + * Name of backend port. The same name should appear in the instance groups + * referenced by this service. Required when the load balancing scheme is + * EXTERNAL. When the load balancing scheme is INTERNAL, this field is not + * used. + */ + portName?: string; + /** + * The protocol this BackendService uses to communicate with backends. + * Possible values are HTTP, HTTPS, TCP, and SSL. The default is HTTP. For + * internal load balancing, the possible values are TCP and UDP, and the + * default is TCP. + */ + protocol?: string; + /** + * [Output Only] URL of the region where the regional backend service + * resides. This field is not applicable to global backend services. You + * must specify this field as part of the HTTP request URL. It is not + * settable as a field in the request body. + */ + region?: string; + /** + * [Output Only] The resource URL for the security policy associated with + * this backend service. + */ + securityPolicy?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * Type of session affinity to use. The default is NONE. When the load + * balancing scheme is EXTERNAL, can be NONE, CLIENT_IP, or + * GENERATED_COOKIE. When the load balancing scheme is INTERNAL, can be + * NONE, CLIENT_IP, CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO. When the + * protocol is UDP, this field is not used. + */ + sessionAffinity?: string; + /** + * How many seconds to wait for the backend before considering it a failed + * request. Default is 30 seconds. + */ + timeoutSec?: number; + } + /** + * Contains a list of BackendServicesScopedList. + */ + interface Schema$BackendServiceAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of BackendServicesScopedList resources. + */ + items?: any; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Message containing Cloud CDN configuration for a backend service. + */ + interface Schema$BackendServiceCdnPolicy { + /** + * The CacheKeyPolicy for this CdnPolicy. + */ + cacheKeyPolicy?: Schema$CacheKeyPolicy; + /** + * Maximum number of seconds the response to a signed URL request will be + * considered fresh. After this time period, the response will be + * revalidated before being served. Defaults to 1hr (3600s). When serving + * responses to signed URL requests, Cloud CDN will internally behave as + * though all responses from this backend had a ?Cache-Control: public, + * max-age=[TTL]? header, regardless of any existing Cache-Control header. + * The actual headers served in responses will not be altered. + */ + signedUrlCacheMaxAgeSec?: string; + /** + * [Output Only] Names of the keys for signing request URLs. + */ + signedUrlKeyNames?: string[]; + } + interface Schema$BackendServiceGroupHealth { + healthStatus?: Schema$HealthStatus[]; + /** + * [Output Only] Type of resource. Always compute#backendServiceGroupHealth + * for the health of backend services. + */ + kind?: string; + } + /** + * Identity-Aware Proxy + */ + interface Schema$BackendServiceIAP { + enabled?: boolean; + oauth2ClientId?: string; + oauth2ClientSecret?: string; + /** + * [Output Only] SHA256 hash value for the field oauth2_client_secret above. + */ + oauth2ClientSecretSha256?: string; + } + /** + * Contains a list of BackendService resources. + */ + interface Schema$BackendServiceList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of BackendService resources. + */ + items?: Schema$BackendService[]; + /** + * [Output Only] Type of resource. Always compute#backendServiceList for + * lists of backend services. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$BackendServiceReference { + backendService?: string; + } + interface Schema$BackendServicesScopedList { + /** + * A list of BackendServices contained in this scope. + */ + backendServices?: Schema$BackendService[]; + /** + * Informational warning which replaces the list of backend services when + * the list is empty. + */ + warning?: any; + } + /** + * Associates `members` with a `role`. + */ + interface Schema$Binding { + /** + * Unimplemented. The condition that is associated with this binding. NOTE: + * an unsatisfied condition will not allow user access via current binding. + * Different bindings, including their conditions, are examined + * independently. + */ + condition?: Schema$Expr; + /** + * Specifies the identities requesting access for a Cloud Platform resource. + * `members` can have the following values: * `allUsers`: A special + * identifier that represents anyone who is on the internet; with or without + * a Google account. * `allAuthenticatedUsers`: A special identifier that + * represents anyone who is authenticated with a Google account or a service + * account. * `user:{emailid}`: An email address that represents a specific + * Google account. For example, `alice@gmail.com` . * + * `serviceAccount:{emailid}`: An email address that represents a service + * account. For example, `my-other-app@appspot.gserviceaccount.com`. * + * `group:{emailid}`: An email address that represents a Google group. For + * example, `admins@example.com`. * `domain:{domain}`: A Google Apps + * domain name that represents all the users of that domain. For example, + * `google.com` or `example.com`. + */ + members?: string[]; + /** + * Role that is assigned to `members`. For example, `roles/viewer`, + * `roles/editor`, or `roles/owner`. + */ + role?: string; + } + interface Schema$CacheInvalidationRule { + /** + * If set, this invalidation rule will only apply to requests with a Host + * header matching host. + */ + host?: string; + path?: string; + } + /** + * Message containing what to include in the cache key for a request for Cloud + * CDN. + */ + interface Schema$CacheKeyPolicy { + /** + * If true, requests to different hosts will be cached separately. + */ + includeHost?: boolean; + /** + * If true, http and https requests will be cached separately. + */ + includeProtocol?: boolean; + /** + * If true, include query string parameters in the cache key according to + * query_string_whitelist and query_string_blacklist. If neither is set, the + * entire query string will be included. If false, the query string will be + * excluded from the cache key entirely. + */ + includeQueryString?: boolean; + /** + * Names of query string parameters to exclude in cache keys. All other + * parameters will be included. Either specify query_string_whitelist or + * query_string_blacklist, not both. '&' and '=' will be + * percent encoded and not treated as delimiters. + */ + queryStringBlacklist?: string[]; + /** + * Names of query string parameters to include in cache keys. All other + * parameters will be excluded. Either specify query_string_whitelist or + * query_string_blacklist, not both. '&' and '=' will be + * percent encoded and not treated as delimiters. + */ + queryStringWhitelist?: string[]; + } + /** + * Represents a Commitment resource. Creating a Commitment resource means that + * you are purchasing a committed use contract with an explicit start and end + * time. You can create commitments based on vCPUs and memory usage and + * receive discounted rates. For full details, read Signing Up for Committed + * Use Discounts. Committed use discounts are subject to Google Cloud + * Platform's Service Specific Terms. By purchasing a committed use + * discount, you agree to these terms. Committed use discounts will not renew, + * so you must purchase a new commitment to continue receiving discounts. (== + * resource_for beta.commitments ==) (== resource_for v1.commitments ==) + */ + interface Schema$Commitment { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] Commitment end time in RFC3339 text format. + */ + endTimestamp?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of the resource. Always compute#commitment for + * commitments. + */ + kind?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * The plan for this commitment, which determines duration and discount + * rate. The currently supported plans are TWELVE_MONTH (1 year), and + * THIRTY_SIX_MONTH (3 years). + */ + plan?: string; + /** + * [Output Only] URL of the region where this commitment may be used. + */ + region?: string; + /** + * A list of commitment amounts for particular resources. Note that VCPU and + * MEMORY resource commitments must occur together. + */ + resources?: Schema$ResourceCommitment[]; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] Commitment start time in RFC3339 text format. + */ + startTimestamp?: string; + /** + * [Output Only] Status of the commitment with regards to eventual + * expiration (each commitment has an end date defined). One of the + * following values: NOT_YET_ACTIVE, ACTIVE, EXPIRED. + */ + status?: string; + /** + * [Output Only] An optional, human-readable explanation of the status. + */ + statusMessage?: string; + } + interface Schema$CommitmentAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of CommitmentsScopedList resources. + */ + items?: any; + /** + * [Output Only] Type of resource. Always compute#commitmentAggregatedList + * for aggregated lists of commitments. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of Commitment resources. + */ + interface Schema$CommitmentList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Commitment resources. + */ + items?: Schema$Commitment[]; + /** + * [Output Only] Type of resource. Always compute#commitmentList for lists + * of commitments. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$CommitmentsScopedList { + /** + * [Output Only] A list of commitments contained in this scope. + */ + commitments?: Schema$Commitment[]; + /** + * [Output Only] Informational warning which replaces the list of + * commitments when the list is empty. + */ + warning?: any; + } + /** + * A condition to be met. + */ + interface Schema$Condition { + /** + * Trusted attributes supplied by the IAM system. + */ + iam?: string; + /** + * An operator to apply the subject with. + */ + op?: string; + /** + * Trusted attributes discharged by the service. + */ + svc?: string; + /** + * Trusted attributes supplied by any service that owns resources and uses + * the IAM system for access control. + */ + sys?: string; + /** + * DEPRECATED. Use 'values' instead. + */ + value?: string; + /** + * The objects of the condition. This is mutually exclusive with + * 'value'. + */ + values?: string[]; + } + /** + * Message containing connection draining configuration. + */ + interface Schema$ConnectionDraining { + /** + * Time for which instance will be drained (not accept new connections, but + * still work to finish started). + */ + drainingTimeoutSec?: number; + } + /** + * Represents a customer-supplied encryption key + */ + interface Schema$CustomerEncryptionKey { + /** + * The name of the encryption key that is stored in Google Cloud KMS. + */ + kmsKeyName?: string; + /** + * Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648 + * base64 to either encrypt or decrypt this resource. + */ + rawKey?: string; + /** + * Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit + * customer-supplied encryption key to either encrypt or decrypt this + * resource. The key must meet the following requirements before you can + * provide it to Compute Engine: - The key is wrapped using a RSA public + * key certificate provided by Google. - After being wrapped, the key must + * be encoded in RFC 4648 base64 encoding. Gets the RSA public key + * certificate provided by Google at: + * https://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem + */ + rsaEncryptedKey?: string; + /** + * [Output only] The RFC 4648 base64 encoded SHA-256 hash of the + * customer-supplied encryption key that protects this resource. + */ + sha256?: string; + } + interface Schema$CustomerEncryptionKeyProtectedDisk { + /** + * Decrypts data associated with the disk with a customer-supplied + * encryption key. + */ + diskEncryptionKey?: Schema$CustomerEncryptionKey; + /** + * Specifies a valid partial or full URL to an existing Persistent Disk + * resource. This field is only applicable for persistent disks. + */ + source?: string; + } + /** + * Deprecation status for a public resource. + */ + interface Schema$DeprecationStatus { + /** + * An optional RFC3339 timestamp on or after which the state of this + * resource is intended to change to DELETED. This is only informational and + * the status will not change unless the client explicitly changes it. + */ + deleted?: string; + /** + * An optional RFC3339 timestamp on or after which the state of this + * resource is intended to change to DEPRECATED. This is only informational + * and the status will not change unless the client explicitly changes it. + */ + deprecated?: string; + /** + * An optional RFC3339 timestamp on or after which the state of this + * resource is intended to change to OBSOLETE. This is only informational + * and the status will not change unless the client explicitly changes it. + */ + obsolete?: string; + /** + * The URL of the suggested replacement for a deprecated resource. The + * suggested replacement resource must be the same kind of resource as the + * deprecated resource. + */ + replacement?: string; + /** + * The deprecation state of this resource. This can be DEPRECATED, OBSOLETE, + * or DELETED. Operations which create a new resource using a DEPRECATED + * resource will return successfully, but with a warning indicating the + * deprecated resource and recommending its replacement. Operations which + * use OBSOLETE or DELETED resources will be rejected and result in an + * error. + */ + state?: string; + } + /** + * A Disk resource. (== resource_for beta.disks ==) (== resource_for v1.disks + * ==) + */ + interface Schema$Disk { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * Encrypts the disk using a customer-supplied encryption key. After you + * encrypt a disk with a customer-supplied key, you must provide the same + * key if you use the disk later (e.g. to create a disk snapshot or an + * image, or to attach the disk to a virtual machine). Customer-supplied + * encryption keys do not protect access to metadata of the disk. If you do + * not provide an encryption key when creating the disk, then the disk will + * be encrypted using an automatically generated key and you do not need to + * provide a key to use the disk later. + */ + diskEncryptionKey?: Schema$CustomerEncryptionKey; + /** + * A list of features to enable on the guest operating system. Applicable + * only for bootable images. Read Enabling guest operating system features + * to see a list of available options. + */ + guestOsFeatures?: Schema$GuestOsFeature[]; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of the resource. Always compute#disk for disks. + */ + kind?: string; + /** + * A fingerprint for the labels being applied to this disk, which is + * essentially a hash of the labels set used for optimistic locking. The + * fingerprint is initially generated by Compute Engine and changes after + * every request to modify or update labels. You must always provide an + * up-to-date fingerprint hash in order to update or change labels. To see + * the latest fingerprint, make a get() request to retrieve a disk. + */ + labelFingerprint?: string; + /** + * Labels to apply to this disk. These can be later modified by the + * setLabels method. + */ + labels?: any; + /** + * [Output Only] Last attach timestamp in RFC3339 text format. + */ + lastAttachTimestamp?: string; + /** + * [Output Only] Last detach timestamp in RFC3339 text format. + */ + lastDetachTimestamp?: string; + /** + * Integer license codes indicating which licenses are attached to this + * disk. + */ + licenseCodes?: string[]; + /** + * A list of publicly visible licenses. Reserved for Google's use. + */ + licenses?: string[]; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * Internal use only. + */ + options?: string; + /** + * [Output Only] URL of the region where the disk resides. Only applicable + * for regional resources. You must specify this field as part of the HTTP + * request URL. It is not settable as a field in the request body. + */ + region?: string; + /** + * URLs of the zones where the disk should be replicated to. Only applicable + * for regional resources. + */ + replicaZones?: string[]; + /** + * Resource policies applied to this disk for automatic snapshot creations. + */ + resourcePolicies?: string[]; + /** + * [Output Only] Server-defined fully-qualified URL for this resource. + */ + selfLink?: string; + /** + * Size of the persistent disk, specified in GB. You can specify this field + * when creating a persistent disk using the sourceImage or sourceSnapshot + * parameter, or specify it alone to create an empty persistent disk. If + * you specify this field along with sourceImage or sourceSnapshot, the + * value of sizeGb must not be less than the size of the sourceImage or the + * size of the snapshot. Acceptable values are 1 to 65536, inclusive. + */ + sizeGb?: string; + /** + * The source image used to create this disk. If the source image is + * deleted, this field will not be set. To create a disk with one of the + * public operating system images, specify the image by its family name. For + * example, specify family/debian-9 to use the latest Debian 9 image: + * projects/debian-cloud/global/images/family/debian-9 Alternatively, use + * a specific version of a public operating system image: + * projects/debian-cloud/global/images/debian-9-stretch-vYYYYMMDD To + * create a disk with a custom image that you created, specify the image + * name in the following format: global/images/my-custom-image You can + * also specify a custom image by its image family, which returns the latest + * version of the image in that family. Replace the image name with + * family/family-name: global/images/family/my-image-family + */ + sourceImage?: string; + /** + * The customer-supplied encryption key of the source image. Required if the + * source image is protected by a customer-supplied encryption key. + */ + sourceImageEncryptionKey?: Schema$CustomerEncryptionKey; + /** + * [Output Only] The ID value of the image used to create this disk. This + * value identifies the exact image that was used to create this persistent + * disk. For example, if you created the persistent disk from an image that + * was later deleted and recreated under the same name, the source image ID + * would identify the exact version of the image that was used. + */ + sourceImageId?: string; + /** + * The source snapshot used to create this disk. You can provide this as a + * partial or full URL to the resource. For example, the following are valid + * values: - + * https://www.googleapis.com/compute/v1/projects/project/global/snapshots/snapshot + * - projects/project/global/snapshots/snapshot - global/snapshots/snapshot + */ + sourceSnapshot?: string; + /** + * The customer-supplied encryption key of the source snapshot. Required if + * the source snapshot is protected by a customer-supplied encryption key. + */ + sourceSnapshotEncryptionKey?: Schema$CustomerEncryptionKey; + /** + * [Output Only] The unique ID of the snapshot used to create this disk. + * This value identifies the exact snapshot that was used to create this + * persistent disk. For example, if you created the persistent disk from a + * snapshot that was later deleted and recreated under the same name, the + * source snapshot ID would identify the exact version of the snapshot that + * was used. + */ + sourceSnapshotId?: string; + /** + * [Output Only] The status of disk creation. + */ + status?: string; + /** + * [Deprecated] Storage type of the persistent disk. + */ + storageType?: string; + /** + * URL of the disk type resource describing which disk type to use to create + * the disk. Provide this when creating the disk. For example: + * project/zones/zone/diskTypes/pd-standard or pd-ssd + */ + type?: string; + /** + * [Output Only] Links to the users of the disk (attached instances) in + * form: project/zones/zone/instances/instance + */ + users?: string[]; + /** + * [Output Only] URL of the zone where the disk resides. You must specify + * this field as part of the HTTP request URL. It is not settable as a field + * in the request body. + */ + zone?: string; + } + interface Schema$DiskAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of DisksScopedList resources. + */ + items?: any; + /** + * [Output Only] Type of resource. Always compute#diskAggregatedList for + * aggregated lists of persistent disks. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * A specification of the desired way to instantiate a disk in the instance + * template when its created from a source instance. + */ + interface Schema$DiskInstantiationConfig { + /** + * Specifies whether the disk will be auto-deleted when the instance is + * deleted (but not when the disk is detached from the instance). + */ + autoDelete?: boolean; + /** + * The custom source image to be used to restore this disk when + * instantiating this instance template. + */ + customImage?: string; + /** + * Specifies the device name of the disk to which the configurations apply + * to. + */ + deviceName?: string; + /** + * Specifies whether to include the disk and what image to use. Possible + * values are: - source-image: to use the same image that was used to + * create the source instance's corresponding disk. Applicable to the + * boot disk and additional read-write disks. - source-image-family: to use + * the same image family that was used to create the source instance's + * corresponding disk. Applicable to the boot disk and additional read-write + * disks. - custom-image: to use a user-provided image url for disk + * creation. Applicable to the boot disk and additional read-write disks. - + * attach-read-only: to attach a read-only disk. Applicable to read-only + * disks. - do-not-include: to exclude a disk from the template. Applicable + * to additional read-write disks, local SSDs, and read-only disks. + */ + instantiateFrom?: string; + } + /** + * A list of Disk resources. + */ + interface Schema$DiskList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Disk resources. + */ + items?: Schema$Disk[]; + /** + * [Output Only] Type of resource. Always compute#diskList for lists of + * disks. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$DiskMoveRequest { + /** + * The URL of the destination zone to move the disk. This can be a full or + * partial URL. For example, the following are all valid URLs to a zone: - + * https://www.googleapis.com/compute/v1/projects/project/zones/zone - + * projects/project/zones/zone - zones/zone + */ + destinationZone?: string; + /** + * The URL of the target disk to move. This can be a full or partial URL. + * For example, the following are all valid URLs to a disk: - + * https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk + * - projects/project/zones/zone/disks/disk - zones/zone/disks/disk + */ + targetDisk?: string; + } + interface Schema$DisksAddResourcePoliciesRequest { + /** + * Resource policies to be added to this disk. + */ + resourcePolicies?: string[]; + } + interface Schema$DisksRemoveResourcePoliciesRequest { + /** + * Resource policies to be removed from this disk. + */ + resourcePolicies?: string[]; + } + interface Schema$DisksResizeRequest { + /** + * The new size of the persistent disk, which is specified in GB. + */ + sizeGb?: string; + } + interface Schema$DisksScopedList { + /** + * [Output Only] A list of disks contained in this scope. + */ + disks?: Schema$Disk[]; + /** + * [Output Only] Informational warning which replaces the list of disks when + * the list is empty. + */ + warning?: any; + } + /** + * A DiskType resource. (== resource_for beta.diskTypes ==) (== resource_for + * v1.diskTypes ==) + */ + interface Schema$DiskType { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * [Output Only] Server-defined default disk size in GB. + */ + defaultDiskSizeGb?: string; + /** + * [Output Only] The deprecation status associated with this disk type. + */ + deprecated?: Schema$DeprecationStatus; + /** + * [Output Only] An optional description of this resource. + */ + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of the resource. Always compute#diskType for disk + * types. + */ + kind?: string; + /** + * [Output Only] Name of the resource. + */ + name?: string; + /** + * [Output Only] URL of the region where the disk type resides. Only + * applicable for regional resources. You must specify this field as part of + * the HTTP request URL. It is not settable as a field in the request body. + */ + region?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] An optional textual description of the valid disk size, + * such as "10GB-10TB". + */ + validDiskSize?: string; + /** + * [Output Only] URL of the zone where the disk type resides. You must + * specify this field as part of the HTTP request URL. It is not settable as + * a field in the request body. + */ + zone?: string; + } + interface Schema$DiskTypeAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of DiskTypesScopedList resources. + */ + items?: any; + /** + * [Output Only] Type of resource. Always compute#diskTypeAggregatedList. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of disk types. + */ + interface Schema$DiskTypeList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of DiskType resources. + */ + items?: Schema$DiskType[]; + /** + * [Output Only] Type of resource. Always compute#diskTypeList for disk + * types. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$DiskTypesScopedList { + /** + * [Output Only] A list of disk types contained in this scope. + */ + diskTypes?: Schema$DiskType[]; + /** + * [Output Only] Informational warning which replaces the list of disk types + * when the list is empty. + */ + warning?: any; + } + interface Schema$DistributionPolicy { + /** + * Zones where the regional managed instance group will create and manage + * instances. + */ + zones?: Schema$DistributionPolicyZoneConfiguration[]; + } + interface Schema$DistributionPolicyZoneConfiguration { + /** + * The URL of the zone. The zone must exist in the region where the managed + * instance group is located. + */ + zone?: string; + } + /** + * Represents an expression text. Example: title: "User account + * presence" description: "Determines whether the request has a user + * account" expression: "size(request.user) > 0" + */ + interface Schema$Expr { + /** + * An optional description of the expression. This is a longer text which + * describes the expression, e.g. when hovered over it in a UI. + */ + description?: string; + /** + * Textual representation of an expression in Common Expression Language + * syntax. The application context of the containing message determines + * which well-known feature set of CEL is supported. + */ + expression?: string; + /** + * An optional string indicating the location of the expression for error + * reporting, e.g. a file name and a position in the file. + */ + location?: string; + /** + * An optional title for the expression, i.e. a short string describing its + * purpose. This can be used e.g. in UIs which allow to enter the + * expression. + */ + title?: string; + } + /** + * Represents a Firewall resource. + */ + interface Schema$Firewall { + /** + * The list of ALLOW rules specified by this firewall. Each rule specifies a + * protocol and port-range tuple that describes a permitted connection. + */ + allowed?: any[]; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * The list of DENY rules specified by this firewall. Each rule specifies a + * protocol and port-range tuple that describes a denied connection. + */ + denied?: any[]; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * If destination ranges are specified, the firewall will apply only to + * traffic that has destination IP address in these ranges. These ranges + * must be expressed in CIDR format. Only IPv4 is supported. + */ + destinationRanges?: string[]; + /** + * Direction of traffic to which this firewall applies; default is INGRESS. + * Note: For INGRESS traffic, it is NOT supported to specify + * destinationRanges; For EGRESS traffic, it is NOT supported to specify + * sourceRanges OR sourceTags. + */ + direction?: string; + /** + * Denotes whether the firewall rule is disabled, i.e not applied to the + * network it is associated with. When set to true, the firewall rule is not + * enforced and the network behaves as if it did not exist. If this is + * unspecified, the firewall rule will be enabled. + */ + disabled?: boolean; + /** + * This field denotes whether to enable logging for a particular firewall + * rule. If logging is enabled, logs will be exported to Stackdriver. + */ + enableLogging?: boolean; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of the resource. Always compute#firewall for firewall + * rules. + */ + kind?: string; + /** + * Name of the resource; provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * URL of the network resource for this firewall rule. If not specified when + * creating a firewall rule, the default network is used: + * global/networks/default If you choose to specify this property, you can + * specify the network as a full or partial URL. For example, the following + * are all valid URLs: - + * https://www.googleapis.com/compute/v1/projects/myproject/global/networks/my-network + * - projects/myproject/global/networks/my-network - + * global/networks/default + */ + network?: string; + /** + * Priority for this rule. This is an integer between 0 and 65535, both + * inclusive. When not specified, the value assumed is 1000. Relative + * priorities determine precedence of conflicting rules. Lower value of + * priority implies higher precedence (eg, a rule with priority 0 has higher + * precedence than a rule with priority 1). DENY rules take precedence over + * ALLOW rules having equal priority. + */ + priority?: number; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * If source ranges are specified, the firewall will apply only to traffic + * that has source IP address in these ranges. These ranges must be + * expressed in CIDR format. One or both of sourceRanges and sourceTags may + * be set. If both properties are set, the firewall will apply to traffic + * that has source IP address within sourceRanges OR the source IP that + * belongs to a tag listed in the sourceTags property. The connection does + * not need to match both properties for the firewall to apply. Only IPv4 is + * supported. + */ + sourceRanges?: string[]; + /** + * If source service accounts are specified, the firewall will apply only to + * traffic originating from an instance with a service account in this list. + * Source service accounts cannot be used to control traffic to an + * instance's external IP address because service accounts are + * associated with an instance, not an IP address. sourceRanges can be set + * at the same time as sourceServiceAccounts. If both are set, the firewall + * will apply to traffic that has source IP address within sourceRanges OR + * the source IP belongs to an instance with service account listed in + * sourceServiceAccount. The connection does not need to match both + * properties for the firewall to apply. sourceServiceAccounts cannot be + * used at the same time as sourceTags or targetTags. + */ + sourceServiceAccounts?: string[]; + /** + * If source tags are specified, the firewall rule applies only to traffic + * with source IPs that match the primary network interfaces of VM instances + * that have the tag and are in the same VPC network. Source tags cannot be + * used to control traffic to an instance's external IP address, it only + * applies to traffic between instances in the same virtual network. Because + * tags are associated with instances, not IP addresses. One or both of + * sourceRanges and sourceTags may be set. If both properties are set, the + * firewall will apply to traffic that has source IP address within + * sourceRanges OR the source IP that belongs to a tag listed in the + * sourceTags property. The connection does not need to match both + * properties for the firewall to apply. + */ + sourceTags?: string[]; + /** + * A list of service accounts indicating sets of instances located in the + * network that may make network connections as specified in allowed[]. + * targetServiceAccounts cannot be used at the same time as targetTags or + * sourceTags. If neither targetServiceAccounts nor targetTags are + * specified, the firewall rule applies to all instances on the specified + * network. + */ + targetServiceAccounts?: string[]; + /** + * A list of tags that controls which instances the firewall rule applies + * to. If targetTags are specified, then the firewall rule applies only to + * instances in the VPC network that have one of those tags. If no + * targetTags are specified, the firewall rule applies to all instances on + * the specified network. + */ + targetTags?: string[]; + } + /** + * Contains a list of firewalls. + */ + interface Schema$FirewallList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Firewall resources. + */ + items?: Schema$Firewall[]; + /** + * [Output Only] Type of resource. Always compute#firewallList for lists of + * firewalls. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Encapsulates numeric value that can be either absolute or relative. + */ + interface Schema$FixedOrPercent { + /** + * [Output Only] Absolute value of VM instances calculated based on the + * specific mode. - If the value is fixed, then the caculated value is + * equal to the fixed value. - If the value is a percent, then the + * calculated value is percent/100 * targetSize. For example, the calculated + * value of a 80% of a managed instance group with 150 instances would be + * (80/100 * 150) = 120 VM instances. If there is a remainder, the number is + * rounded up. + */ + calculated?: number; + /** + * Specifies a fixed number of VM instances. This must be a positive + * integer. + */ + fixed?: number; + /** + * Specifies a percentage of instances between 0 to 100%, inclusive. For + * example, specify 80 for 80%. + */ + percent?: number; + } + /** + * A ForwardingRule resource. A ForwardingRule resource specifies which pool + * of target virtual machines to forward a packet to if it matches the given + * [IPAddress, IPProtocol, ports] tuple. (== resource_for beta.forwardingRules + * ==) (== resource_for v1.forwardingRules ==) (== resource_for + * beta.globalForwardingRules ==) (== resource_for v1.globalForwardingRules + * ==) (== resource_for beta.regionForwardingRules ==) (== resource_for + * v1.regionForwardingRules ==) + */ + interface Schema$ForwardingRule { + /** + * This field is only used for INTERNAL load balancing. For internal load + * balancing, this field identifies the BackendService resource to receive + * the matched traffic. + */ + backendService?: string; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * The IP address that this forwarding rule is serving on behalf of. + * Addresses are restricted based on the forwarding rule's load + * balancing scheme (EXTERNAL or INTERNAL) and scope (global or regional). + * When the load balancing scheme is EXTERNAL, for global forwarding rules, + * the address must be a global IP, and for regional forwarding rules, the + * address must live in the same region as the forwarding rule. If this + * field is empty, an ephemeral IPv4 address from the same scope (global or + * regional) will be assigned. A regional forwarding rule supports IPv4 + * only. A global forwarding rule supports either IPv4 or IPv6. When the + * load balancing scheme is INTERNAL_SELF_MANAGED, this must be a URL + * reference to an existing Address resource ( internal regional static IP + * address), with a purpose of GCE_END_POINT and address_type of INTERNAL. + * When the load balancing scheme is INTERNAL, this can only be an RFC 1918 + * IP address belonging to the network/subnet configured for the forwarding + * rule. By default, if this field is empty, an ephemeral internal IP + * address will be automatically allocated from the IP range of the subnet + * or network configured for this forwarding rule. An address can be + * specified either by a literal IP address or a URL reference to an + * existing Address resource. The following examples are all valid: - + * 100.1.2.3 - + * https://www.googleapis.com/compute/v1/projects/project/regions/region/addresses/address + * - projects/project/regions/region/addresses/address - + * regions/region/addresses/address - global/addresses/address - address + */ + IPAddress?: string; + /** + * The IP protocol to which this rule applies. Valid options are TCP, UDP, + * ESP, AH, SCTP or ICMP. When the load balancing scheme is INTERNAL, only + * TCP and UDP are valid. When the load balancing scheme is + * INTERNAL_SELF_MANAGED, only TCPis valid. + */ + IPProtocol?: string; + /** + * The IP Version that will be used by this forwarding rule. Valid options + * are IPV4 or IPV6. This can only be specified for an external global + * forwarding rule. + */ + ipVersion?: string; + /** + * [Output Only] Type of the resource. Always compute#forwardingRule for + * Forwarding Rule resources. + */ + kind?: string; + /** + * A fingerprint for the labels being applied to this resource, which is + * essentially a hash of the labels set used for optimistic locking. The + * fingerprint is initially generated by Compute Engine and changes after + * every request to modify or update labels. You must always provide an + * up-to-date fingerprint hash in order to update or change labels. To see + * the latest fingerprint, make a get() request to retrieve a + * ForwardingRule. + */ + labelFingerprint?: string; + /** + * Labels to apply to this resource. These can be later modified by the + * setLabels method. Each label key/value pair must comply with RFC1035. + * Label values may be empty. + */ + labels?: any; + /** + * This signifies what the ForwardingRule will be used for and can only take + * the following values: INTERNAL, INTERNAL_SELF_MANAGED, EXTERNAL. The + * value of INTERNAL means that this will be used for Internal Network Load + * Balancing (TCP, UDP). The value of INTERNAL_SELF_MANAGED means that this + * will be used for Internal Global HTTP(S) LB. The value of EXTERNAL means + * that this will be used for External Load Balancing (HTTP(S) LB, External + * TCP/UDP LB, SSL Proxy) + */ + loadBalancingScheme?: string; + /** + * Name of the resource; provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * This field is not used for external load balancing. For INTERNAL and + * INTERNAL_SELF_MANAGED load balancing, this field identifies the network + * that the load balanced IP should belong to for this Forwarding Rule. If + * this field is not specified, the default network will be used. + */ + network?: string; + /** + * This signifies the networking tier used for configuring this load + * balancer and can only take the following values: PREMIUM , STANDARD. For + * regional ForwardingRule, the valid values are PREMIUM and STANDARD. For + * GlobalForwardingRule, the valid value is PREMIUM. If this field is not + * specified, it is assumed to be PREMIUM. If IPAddress is specified, this + * value must be equal to the networkTier of the Address. + */ + networkTier?: string; + /** + * This field is used along with the target field for TargetHttpProxy, + * TargetHttpsProxy, TargetSslProxy, TargetTcpProxy, TargetVpnGateway, + * TargetPool, TargetInstance. Applicable only when IPProtocol is TCP, UDP, + * or SCTP, only packets addressed to ports in the specified range will be + * forwarded to target. Forwarding rules with the same [IPAddress, + * IPProtocol] pair must have disjoint port ranges. Some types of + * forwarding target have constraints on the acceptable ports: - + * TargetHttpProxy: 80, 8080 - TargetHttpsProxy: 443 - TargetTcpProxy: 25, + * 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688, 1883, 5222 - + * TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, + * 1688, 1883, 5222 - TargetVpnGateway: 500, 4500 + */ + portRange?: string; + /** + * This field is used along with the backend_service field for internal load + * balancing. When the load balancing scheme is INTERNAL, a single port or + * a comma separated list of ports can be configured. Only packets addressed + * to these ports will be forwarded to the backends configured with this + * forwarding rule. You may specify a maximum of up to 5 ports. + */ + ports?: string[]; + /** + * [Output Only] URL of the region where the regional forwarding rule + * resides. This field is not applicable to global forwarding rules. You + * must specify this field as part of the HTTP request URL. It is not + * settable as a field in the request body. + */ + region?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * An optional prefix to the service name for this Forwarding Rule. If + * specified, will be the first label of the fully qualified service name. + * The label must be 1-63 characters long, and comply with RFC1035. + * Specifically, the label must be 1-63 characters long and match the + * regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first + * character must be a lowercase letter, and all following characters must + * be a dash, lowercase letter, or digit, except the last character, which + * cannot be a dash. This field is only used for internal load balancing. + */ + serviceLabel?: string; + /** + * [Output Only] The internal fully qualified service name for this + * Forwarding Rule. This field is only used for internal load balancing. + */ + serviceName?: string; + /** + * This field is only used for INTERNAL load balancing. For internal load + * balancing, this field identifies the subnetwork that the load balanced IP + * should belong to for this Forwarding Rule. If the network specified is + * in auto subnet mode, this field is optional. However, if the network is + * in custom subnet mode, a subnetwork must be specified. + */ + subnetwork?: string; + /** + * The URL of the target resource to receive the matched traffic. For + * regional forwarding rules, this target must live in the same region as + * the forwarding rule. For global forwarding rules, this target must be a + * global load balancing resource. The forwarded traffic must be of a type + * appropriate to the target object. For INTERNAL_SELF_MANAGED" load + * balancing, only HTTP and HTTPS targets are valid. + */ + target?: string; + } + interface Schema$ForwardingRuleAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of ForwardingRulesScopedList resources. + */ + items?: any; + /** + * [Output Only] Type of resource. Always + * compute#forwardingRuleAggregatedList for lists of forwarding rules. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of ForwardingRule resources. + */ + interface Schema$ForwardingRuleList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of ForwardingRule resources. + */ + items?: Schema$ForwardingRule[]; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$ForwardingRuleReference { + forwardingRule?: string; + } + interface Schema$ForwardingRulesScopedList { + /** + * A list of forwarding rules contained in this scope. + */ + forwardingRules?: Schema$ForwardingRule[]; + /** + * Informational warning which replaces the list of forwarding rules when + * the list is empty. + */ + warning?: any; + } + interface Schema$GlobalSetLabelsRequest { + /** + * The fingerprint of the previous set of labels for this resource, used to + * detect conflicts. The fingerprint is initially generated by Compute + * Engine and changes after every request to modify or update labels. You + * must always provide an up-to-date fingerprint hash when updating or + * changing labels. Make a get() request to the resource to get the latest + * fingerprint. + */ + labelFingerprint?: string; + /** + * A list of labels to apply for this resource. Each label key & value + * must comply with RFC1035. Specifically, the name must be 1-63 characters + * long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which + * means the first character must be a lowercase letter, and all following + * characters must be a dash, lowercase letter, or digit, except the last + * character, which cannot be a dash. For example, + * "webserver-frontend": "images". A label value can + * also be empty (e.g. "my-label": ""). + */ + labels?: any; + } + interface Schema$GlobalSetPolicyRequest { + /** + * Flatten Policy to create a backwacd compatible wire-format. Deprecated. + * Use 'policy' to specify bindings. + */ + bindings?: Schema$Binding[]; + /** + * Flatten Policy to create a backward compatible wire-format. Deprecated. + * Use 'policy' to specify the etag. + */ + etag?: string; + /** + * REQUIRED: The complete policy to be applied to the 'resource'. + * The size of the policy is limited to a few 10s of KB. An empty policy is + * in general a valid policy but certain services (like Projects) might + * reject them. + */ + policy?: Schema$Policy; + } + /** + * A guest attributes entry. + */ + interface Schema$GuestAttributes { + /** + * [Output Only] Type of the resource. Always compute#guestAttributes for + * guest attributes entry. + */ + kind?: string; + /** + * The path to be queried. This can be the default namespace ('/') + * or a nested namespace ('//') or a specified key ('//') + */ + queryPath?: string; + /** + * [Output Only] The value of the requested queried path. + */ + queryValue?: Schema$GuestAttributesValue; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * The key to search for. + */ + variableKey?: string; + /** + * [Output Only] The value found for the requested key. + */ + variableValue?: string; + } + /** + * A guest attributes namespace/key/value entry. + */ + interface Schema$GuestAttributesEntry { + /** + * Key for the guest attribute entry. + */ + key?: string; + /** + * Namespace for the guest attribute entry. + */ + namespace?: string; + /** + * Value for the guest attribute entry. + */ + value?: string; + } + /** + * Array of guest attribute namespace/key/value tuples. + */ + interface Schema$GuestAttributesValue { + items?: Schema$GuestAttributesEntry[]; + } + /** + * Guest OS features. + */ + interface Schema$GuestOsFeature { + /** + * The ID of a supported feature. Read Enabling guest operating system + * features to see a list of available options. + */ + type?: string; + } + /** + * An HealthCheck resource. This resource defines a template for how + * individual virtual machines should be checked for health, via one of the + * supported protocols. + */ + interface Schema$HealthCheck { + /** + * How often (in seconds) to send a health check. The default value is 5 + * seconds. + */ + checkIntervalSec?: number; + /** + * [Output Only] Creation timestamp in 3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * A so-far unhealthy instance will be marked healthy after this many + * consecutive successes. The default value is 2. + */ + healthyThreshold?: number; + http2HealthCheck?: Schema$HTTP2HealthCheck; + httpHealthCheck?: Schema$HTTPHealthCheck; + httpsHealthCheck?: Schema$HTTPSHealthCheck; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * Type of the resource. + */ + kind?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + sslHealthCheck?: Schema$SSLHealthCheck; + tcpHealthCheck?: Schema$TCPHealthCheck; + /** + * How long (in seconds) to wait before claiming failure. The default value + * is 5 seconds. It is invalid for timeoutSec to have greater value than + * checkIntervalSec. + */ + timeoutSec?: number; + /** + * Specifies the type of the healthCheck, either TCP, SSL, HTTP or HTTPS. If + * not specified, the default is TCP. Exactly one of the protocol-specific + * health check field must be specified, which must match type field. + */ + type?: string; + /** + * A so-far healthy instance will be marked unhealthy after this many + * consecutive failures. The default value is 2. + */ + unhealthyThreshold?: number; + } + /** + * Contains a list of HealthCheck resources. + */ + interface Schema$HealthCheckList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of HealthCheck resources. + */ + items?: Schema$HealthCheck[]; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * A full or valid partial URL to a health check. For example, the following + * are valid URLs: - + * https://www.googleapis.com/compute/beta/projects/project-id/global/httpHealthChecks/health-check + * - projects/project-id/global/httpHealthChecks/health-check - + * global/httpHealthChecks/health-check + */ + interface Schema$HealthCheckReference { + healthCheck?: string; + } + interface Schema$HealthStatus { + /** + * Health state of the instance. + */ + healthState?: string; + /** + * URL of the instance resource. + */ + instance?: string; + /** + * The IP address represented by this resource. + */ + ipAddress?: string; + /** + * The port on the instance. + */ + port?: number; + } + interface Schema$HealthStatusForNetworkEndpoint { + /** + * URL of the backend service associated with the health state of the + * network endpoint. + */ + backendService?: Schema$BackendServiceReference; + /** + * URL of the forwarding rule associated with the health state of the + * network endpoint. + */ + forwardingRule?: Schema$ForwardingRuleReference; + /** + * URL of the health check associated with the health state of the network + * endpoint. + */ + healthCheck?: Schema$HealthCheckReference; + /** + * Health state of the network endpoint determined based on the health + * checks configured. + */ + healthState?: string; + } + /** + * UrlMaps A host-matching rule for a URL. If matched, will use the named + * PathMatcher to select the BackendService. + */ + interface Schema$HostRule { + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * The list of host patterns to match. They must be valid hostnames, except + * * will match any string of ([a-z0-9-.]*). In that case, * must be the + * first character and must be followed in the pattern by either - or .. + */ + hosts?: string[]; + /** + * The name of the PathMatcher to use to match the path portion of the URL + * if the hostRule matches the URL's host portion. + */ + pathMatcher?: string; + } + interface Schema$HTTP2HealthCheck { + /** + * The value of the host header in the HTTP/2 health check request. If left + * empty (default value), the IP on behalf of which this health check is + * performed will be used. + */ + host?: string; + /** + * The TCP port number for the health check request. The default value is + * 443. Valid values are 1 through 65535. + */ + port?: number; + /** + * Port name as defined in InstanceGroup#NamedPort#name. If both port and + * port_name are defined, port takes precedence. + */ + portName?: string; + /** + * Specifies how port is selected for health checking, can be one of + * following values: USE_FIXED_PORT: The port number in port is used for + * health checking. USE_NAMED_PORT: The portName is used for health + * checking. USE_SERVING_PORT: For NetworkEndpointGroup, the port specified + * for each network endpoint is used for health checking. For other + * backends, the port or named port specified in the Backend Service is used + * for health checking. If not specified, HTTP2 health check follows + * behavior specified in port and portName fields. + */ + portSpecification?: string; + /** + * Specifies the type of proxy header to append before sending data to the + * backend, either NONE or PROXY_V1. The default is NONE. + */ + proxyHeader?: string; + /** + * The request path of the HTTP/2 health check request. The default value is + * /. + */ + requestPath?: string; + /** + * The string to match anywhere in the first 1024 bytes of the response + * body. If left empty (the default value), the status code determines + * health. The response data can only be ASCII. + */ + response?: string; + } + interface Schema$HTTPHealthCheck { + /** + * The value of the host header in the HTTP health check request. If left + * empty (default value), the IP on behalf of which this health check is + * performed will be used. + */ + host?: string; + /** + * The TCP port number for the health check request. The default value + * is 80. Valid values are 1 through 65535. + */ + port?: number; + /** + * Port name as defined in InstanceGroup#NamedPort#name. If both port and + * port_name are defined, port takes precedence. + */ + portName?: string; + /** + * Specifies how port is selected for health checking, can be one of + * following values: USE_FIXED_PORT: The port number in port is used for + * health checking. USE_NAMED_PORT: The portName is used for health + * checking. USE_SERVING_PORT: For NetworkEndpointGroup, the port specified + * for each network endpoint is used for health checking. For other + * backends, the port or named port specified in the Backend Service is used + * for health checking. If not specified, HTTP health check follows + * behavior specified in port and portName fields. + */ + portSpecification?: string; + /** + * Specifies the type of proxy header to append before sending data to the + * backend, either NONE or PROXY_V1. The default is NONE. + */ + proxyHeader?: string; + /** + * The request path of the HTTP health check request. The default value is + * /. + */ + requestPath?: string; + /** + * The string to match anywhere in the first 1024 bytes of the response + * body. If left empty (the default value), the status code determines + * health. The response data can only be ASCII. + */ + response?: string; + } + /** + * An HttpHealthCheck resource. This resource defines a template for how + * individual instances should be checked for health, via HTTP. + */ + interface Schema$HttpHealthCheck { + /** + * How often (in seconds) to send a health check. The default value is 5 + * seconds. + */ + checkIntervalSec?: number; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * A so-far unhealthy instance will be marked healthy after this many + * consecutive successes. The default value is 2. + */ + healthyThreshold?: number; + /** + * The value of the host header in the HTTP health check request. If left + * empty (default value), the public IP on behalf of which this health check + * is performed will be used. + */ + host?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of the resource. Always compute#httpHealthCheck for + * HTTP health checks. + */ + kind?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * The TCP port number for the HTTP health check request. The default value + * is 80. + */ + port?: number; + /** + * The request path of the HTTP health check request. The default value is + * /. + */ + requestPath?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * How long (in seconds) to wait before claiming failure. The default value + * is 5 seconds. It is invalid for timeoutSec to have greater value than + * checkIntervalSec. + */ + timeoutSec?: number; + /** + * A so-far healthy instance will be marked unhealthy after this many + * consecutive failures. The default value is 2. + */ + unhealthyThreshold?: number; + } + /** + * Contains a list of HttpHealthCheck resources. + */ + interface Schema$HttpHealthCheckList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of HttpHealthCheck resources. + */ + items?: Schema$HttpHealthCheck[]; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * An HttpsHealthCheck resource. This resource defines a template for how + * individual instances should be checked for health, via HTTPS. + */ + interface Schema$HttpsHealthCheck { + /** + * How often (in seconds) to send a health check. The default value is 5 + * seconds. + */ + checkIntervalSec?: number; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * A so-far unhealthy instance will be marked healthy after this many + * consecutive successes. The default value is 2. + */ + healthyThreshold?: number; + /** + * The value of the host header in the HTTPS health check request. If left + * empty (default value), the public IP on behalf of which this health check + * is performed will be used. + */ + host?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * Type of the resource. + */ + kind?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * The TCP port number for the HTTPS health check request. The default value + * is 443. + */ + port?: number; + /** + * The request path of the HTTPS health check request. The default value is + * "/". + */ + requestPath?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * How long (in seconds) to wait before claiming failure. The default value + * is 5 seconds. It is invalid for timeoutSec to have a greater value than + * checkIntervalSec. + */ + timeoutSec?: number; + /** + * A so-far healthy instance will be marked unhealthy after this many + * consecutive failures. The default value is 2. + */ + unhealthyThreshold?: number; + } + interface Schema$HTTPSHealthCheck { + /** + * The value of the host header in the HTTPS health check request. If left + * empty (default value), the IP on behalf of which this health check is + * performed will be used. + */ + host?: string; + /** + * The TCP port number for the health check request. The default value is + * 443. Valid values are 1 through 65535. + */ + port?: number; + /** + * Port name as defined in InstanceGroup#NamedPort#name. If both port and + * port_name are defined, port takes precedence. + */ + portName?: string; + /** + * Specifies how port is selected for health checking, can be one of + * following values: USE_FIXED_PORT: The port number in port is used for + * health checking. USE_NAMED_PORT: The portName is used for health + * checking. USE_SERVING_PORT: For NetworkEndpointGroup, the port specified + * for each network endpoint is used for health checking. For other + * backends, the port or named port specified in the Backend Service is used + * for health checking. If not specified, HTTPS health check follows + * behavior specified in port and portName fields. + */ + portSpecification?: string; + /** + * Specifies the type of proxy header to append before sending data to the + * backend, either NONE or PROXY_V1. The default is NONE. + */ + proxyHeader?: string; + /** + * The request path of the HTTPS health check request. The default value is + * /. + */ + requestPath?: string; + /** + * The string to match anywhere in the first 1024 bytes of the response + * body. If left empty (the default value), the status code determines + * health. The response data can only be ASCII. + */ + response?: string; + } + /** + * Contains a list of HttpsHealthCheck resources. + */ + interface Schema$HttpsHealthCheckList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of HttpsHealthCheck resources. + */ + items?: Schema$HttpsHealthCheck[]; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * An Image resource. (== resource_for beta.images ==) (== resource_for + * v1.images ==) + */ + interface Schema$Image { + /** + * Size of the image tar.gz archive stored in Google Cloud Storage (in + * bytes). + */ + archiveSizeBytes?: string; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * The deprecation status associated with this image. + */ + deprecated?: Schema$DeprecationStatus; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * Size of the image when restored onto a persistent disk (in GB). + */ + diskSizeGb?: string; + /** + * The name of the image family to which this image belongs. You can create + * disks by specifying an image family instead of a specific image name. The + * image family always returns its latest image that is not deprecated. The + * name of the image family must comply with RFC1035. + */ + family?: string; + /** + * A list of features to enable on the guest operating system. Applicable + * only for bootable images. Read Enabling guest operating system features + * to see a list of available options. + */ + guestOsFeatures?: Schema$GuestOsFeature[]; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * Encrypts the image using a customer-supplied encryption key. After you + * encrypt an image with a customer-supplied key, you must provide the same + * key if you use the image later (e.g. to create a disk from the image). + * Customer-supplied encryption keys do not protect access to metadata of + * the disk. If you do not provide an encryption key when creating the + * image, then the disk will be encrypted using an automatically generated + * key and you do not need to provide a key to use the image later. + */ + imageEncryptionKey?: Schema$CustomerEncryptionKey; + /** + * [Output Only] Type of the resource. Always compute#image for images. + */ + kind?: string; + /** + * A fingerprint for the labels being applied to this image, which is + * essentially a hash of the labels used for optimistic locking. The + * fingerprint is initially generated by Compute Engine and changes after + * every request to modify or update labels. You must always provide an + * up-to-date fingerprint hash in order to update or change labels. To see + * the latest fingerprint, make a get() request to retrieve an image. + */ + labelFingerprint?: string; + /** + * Labels to apply to this image. These can be later modified by the + * setLabels method. + */ + labels?: any; + /** + * Integer license codes indicating which licenses are attached to this + * image. + */ + licenseCodes?: string[]; + /** + * Any applicable license URI. + */ + licenses?: string[]; + /** + * Name of the resource; provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * The parameters of the raw disk image. + */ + rawDisk?: any; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * URL of the source disk used to create this image. This can be a full or + * valid partial URL. You must provide either this property or the + * rawDisk.source property but not both to create an image. For example, the + * following are valid values: - + * https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk + * - projects/project/zones/zone/disks/disk - zones/zone/disks/disk + */ + sourceDisk?: string; + /** + * The customer-supplied encryption key of the source disk. Required if the + * source disk is protected by a customer-supplied encryption key. + */ + sourceDiskEncryptionKey?: Schema$CustomerEncryptionKey; + /** + * [Output Only] The ID value of the disk used to create this image. This + * value may be used to determine whether the image was taken from the + * current or a previous instance of a given disk name. + */ + sourceDiskId?: string; + /** + * URL of the source image used to create this image. This can be a full or + * valid partial URL. You must provide exactly one of: - this property, or + * - the rawDisk.source property, or - the sourceDisk property in order + * to create an image. + */ + sourceImage?: string; + /** + * The customer-supplied encryption key of the source image. Required if the + * source image is protected by a customer-supplied encryption key. + */ + sourceImageEncryptionKey?: Schema$CustomerEncryptionKey; + /** + * [Output Only] The ID value of the image used to create this image. This + * value may be used to determine whether the image was taken from the + * current or a previous instance of a given image name. + */ + sourceImageId?: string; + /** + * URL of the source snapshot used to create this image. This can be a full + * or valid partial URL. You must provide exactly one of: - this property, + * or - the sourceImage property, or - the rawDisk.source property, or + * - the sourceDisk property in order to create an image. + */ + sourceSnapshot?: string; + /** + * The customer-supplied encryption key of the source snapshot. Required if + * the source snapshot is protected by a customer-supplied encryption key. + */ + sourceSnapshotEncryptionKey?: Schema$CustomerEncryptionKey; + /** + * [Output Only] The ID value of the snapshot used to create this image. + * This value may be used to determine whether the snapshot was taken from + * the current or a previous instance of a given snapshot name. + */ + sourceSnapshotId?: string; + /** + * The type of the image used to create this disk. The default and only + * value is RAW + */ + sourceType?: string; + /** + * [Output Only] The status of the image. An image can be used to create + * other resources, such as instances, only after the image has been + * successfully created and the status is set to READY. Possible values are + * FAILED, PENDING, or READY. + */ + status?: string; + } + /** + * Contains a list of images. + */ + interface Schema$ImageList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Image resources. + */ + items?: Schema$Image[]; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * An Instance resource. (== resource_for beta.instances ==) (== resource_for + * v1.instances ==) + */ + interface Schema$Instance { + /** + * Allows this instance to send and receive packets with non-matching + * destination or source IPs. This is required if you plan to use this + * instance to forward routes. For more information, see Enabling IP + * Forwarding. + */ + canIpForward?: boolean; + /** + * [Output Only] The CPU platform used by this instance. + */ + cpuPlatform?: string; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * Whether the resource should be protected against deletion. + */ + deletionProtection?: boolean; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * Array of disks associated with this instance. Persistent disks must be + * created before you can assign them. + */ + disks?: Schema$AttachedDisk[]; + /** + * A list of the type and count of accelerator cards attached to the + * instance. + */ + guestAccelerators?: Schema$AcceleratorConfig[]; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of the resource. Always compute#instance for + * instances. + */ + kind?: string; + /** + * A fingerprint for this request, which is essentially a hash of the + * label's contents and used for optimistic locking. The fingerprint is + * initially generated by Compute Engine and changes after every request to + * modify or update labels. You must always provide an up-to-date + * fingerprint hash in order to update or change labels. To see the latest + * fingerprint, make get() request to the instance. + */ + labelFingerprint?: string; + /** + * Labels to apply to this instance. These can be later modified by the + * setLabels method. + */ + labels?: any; + /** + * Full or partial URL of the machine type resource to use for this + * instance, in the format: zones/zone/machineTypes/machine-type. This is + * provided by the client when the instance is created. For example, the + * following is a valid partial url to a predefined machine type: + * zones/us-central1-f/machineTypes/n1-standard-1 To create a custom + * machine type, provide a URL to a machine type in the following format, + * where CPUS is 1 or an even number up to 32 (2, 4, 6, ... 24, etc), and + * MEMORY is the total memory for this instance. Memory must be a multiple + * of 256 MB and must be supplied in MB (e.g. 5 GB of memory is 5120 MB): + * zones/zone/machineTypes/custom-CPUS-MEMORY For example: + * zones/us-central1-f/machineTypes/custom-4-5120 For a full list of + * restrictions, read the Specifications for custom machine types. + */ + machineType?: string; + /** + * The metadata key/value pairs assigned to this instance. This includes + * custom metadata and predefined keys. + */ + metadata?: Schema$Metadata; + /** + * Specifies a minimum CPU platform for the VM instance. Applicable values + * are the friendly names of CPU platforms, such as minCpuPlatform: + * "Intel Haswell" or minCpuPlatform: "Intel Sandy + * Bridge". + */ + minCpuPlatform?: string; + /** + * The name of the resource, provided by the client when initially creating + * the resource. The resource name must be 1-63 characters long, and comply + * with RFC1035. Specifically, the name must be 1-63 characters long and + * match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the + * first character must be a lowercase letter, and all following characters + * must be a dash, lowercase letter, or digit, except the last character, + * which cannot be a dash. + */ + name?: string; + /** + * An array of network configurations for this instance. These specify how + * interfaces are configured to interact with other network services, such + * as connecting to the internet. Multiple interfaces are supported per + * instance. + */ + networkInterfaces?: Schema$NetworkInterface[]; + /** + * Sets the scheduling options for this instance. + */ + scheduling?: Schema$Scheduling; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * A list of service accounts, with their specified scopes, authorized for + * this instance. Only one service account per VM instance is supported. + * Service accounts generate access tokens that can be accessed through the + * metadata server and used to authenticate applications on the instance. + * See Service Accounts for more information. + */ + serviceAccounts?: Schema$ServiceAccount[]; + shieldedVmConfig?: Schema$ShieldedVmConfig; + shieldedVmIntegrityPolicy?: Schema$ShieldedVmIntegrityPolicy; + /** + * [Output Only] Whether a VM has been restricted for start because Compute + * Engine has detected suspicious activity. + */ + startRestricted?: boolean; + /** + * [Output Only] The status of the instance. One of the following values: + * PROVISIONING, STAGING, RUNNING, STOPPING, STOPPED, SUSPENDING, SUSPENDED, + * and TERMINATED. + */ + status?: string; + /** + * [Output Only] An optional, human-readable explanation of the status. + */ + statusMessage?: string; + /** + * Tags to apply to this instance. Tags are used to identify valid sources + * or targets for network firewalls and are specified by the client during + * instance creation. The tags can be later modified by the setTags method. + * Each tag within the list must comply with RFC1035. Multiple tags can be + * specified via the 'tags.items' field. + */ + tags?: Schema$Tags; + /** + * [Output Only] URL of the zone where the instance resides. You must + * specify this field as part of the HTTP request URL. It is not settable as + * a field in the request body. + */ + zone?: string; + } + interface Schema$InstanceAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of InstancesScopedList resources. + */ + items?: any; + /** + * [Output Only] Type of resource. Always compute#instanceAggregatedList for + * aggregated lists of Instance resources. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * InstanceGroups (== resource_for beta.instanceGroups ==) (== resource_for + * v1.instanceGroups ==) (== resource_for beta.regionInstanceGroups ==) (== + * resource_for v1.regionInstanceGroups ==) + */ + interface Schema$InstanceGroup { + /** + * [Output Only] The creation timestamp for this instance group in RFC3339 + * text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] The fingerprint of the named ports. The system uses this + * fingerprint to detect conflicts when multiple users change the named + * ports concurrently. + */ + fingerprint?: string; + /** + * [Output Only] A unique identifier for this instance group, generated by + * the server. + */ + id?: string; + /** + * [Output Only] The resource type, which is always compute#instanceGroup + * for instance groups. + */ + kind?: string; + /** + * The name of the instance group. The name must be 1-63 characters long, + * and comply with RFC1035. + */ + name?: string; + /** + * Assigns a name to a port number. For example: {name: "http", + * port: 80} This allows the system to reference ports by the assigned name + * instead of a port number. Named ports can also contain multiple ports. + * For example: [{name: "http", port: 80},{name: "http", + * port: 8080}] Named ports apply to all instances in this instance group. + */ + namedPorts?: Schema$NamedPort[]; + /** + * The URL of the network to which all instances in the instance group + * belong. + */ + network?: string; + /** + * [Output Only] The URL of the region where the instance group is located + * (for regional resources). + */ + region?: string; + /** + * [Output Only] The URL for this instance group. The server generates this + * URL. + */ + selfLink?: string; + /** + * [Output Only] The total number of instances in the instance group. + */ + size?: number; + /** + * [Output Only] The URL of the subnetwork to which all instances in the + * instance group belong. + */ + subnetwork?: string; + /** + * [Output Only] The URL of the zone where the instance group is located + * (for zonal resources). + */ + zone?: string; + } + interface Schema$InstanceGroupAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of InstanceGroupsScopedList resources. + */ + items?: any; + /** + * [Output Only] The resource type, which is always + * compute#instanceGroupAggregatedList for aggregated lists of instance + * groups. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * A list of InstanceGroup resources. + */ + interface Schema$InstanceGroupList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of InstanceGroup resources. + */ + items?: Schema$InstanceGroup[]; + /** + * [Output Only] The resource type, which is always + * compute#instanceGroupList for instance group lists. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * An Instance Group Manager resource. (== resource_for + * beta.instanceGroupManagers ==) (== resource_for v1.instanceGroupManagers + * ==) (== resource_for beta.regionInstanceGroupManagers ==) (== resource_for + * v1.regionInstanceGroupManagers ==) + */ + interface Schema$InstanceGroupManager { + /** + * The autohealing policy for this managed instance group. You can specify + * only one value. + */ + autoHealingPolicies?: Schema$InstanceGroupManagerAutoHealingPolicy[]; + /** + * The base instance name to use for instances in this group. The value must + * be 1-58 characters long. Instances are named by appending a hyphen and a + * random four-character string to the base instance name. The base instance + * name must comply with RFC1035. + */ + baseInstanceName?: string; + /** + * [Output Only] The creation timestamp for this managed instance group in + * RFC3339 text format. + */ + creationTimestamp?: string; + /** + * [Output Only] The list of instance actions and the number of instances in + * this managed instance group that are scheduled for each of those actions. + */ + currentActions?: Schema$InstanceGroupManagerActionsSummary; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * Policy specifying intended distribution of instances in regional managed + * instance group. + */ + distributionPolicy?: Schema$DistributionPolicy; + /** + * The action to perform in case of zone failure. Only one value is + * supported, NO_FAILOVER. The default is NO_FAILOVER. + */ + failoverAction?: string; + /** + * Fingerprint of this resource. This field may be used in optimistic + * locking. It will be ignored when inserting an InstanceGroupManager. An + * up-to-date fingerprint must be provided in order to update the + * InstanceGroupManager. To see the latest fingerprint, make a get() + * request to retrieve an InstanceGroupManager. + */ + fingerprint?: string; + /** + * [Output Only] A unique identifier for this resource type. The server + * generates this identifier. + */ + id?: string; + /** + * [Output Only] The URL of the Instance Group resource. + */ + instanceGroup?: string; + /** + * The URL of the instance template that is specified for this managed + * instance group. The group uses this template to create all new instances + * in the managed instance group. + */ + instanceTemplate?: string; + /** + * [Output Only] The resource type, which is always + * compute#instanceGroupManager for managed instance groups. + */ + kind?: string; + /** + * The name of the managed instance group. The name must be 1-63 characters + * long, and comply with RFC1035. + */ + name?: string; + /** + * Named ports configured for the Instance Groups complementary to this + * Instance Group Manager. + */ + namedPorts?: Schema$NamedPort[]; + /** + * [Output Only] The list of instance actions and the number of instances in + * this managed instance group that are pending for each of those actions. + */ + pendingActions?: Schema$InstanceGroupManagerPendingActionsSummary; + /** + * [Output Only] The URL of the region where the managed instance group + * resides (for regional resources). + */ + region?: string; + /** + * [Output Only] The URL for this managed instance group. The server defines + * this URL. + */ + selfLink?: string; + /** + * The service account to be used as credentials for all operations + * performed by the managed instance group on instances. The service + * accounts needs all permissions required to create and delete instances. + * By default, the service account + * {projectNumber}@cloudservices.gserviceaccount.com is used. + */ + serviceAccount?: string; + /** + * [Output Only] The status of this managed instance group. + */ + status?: Schema$InstanceGroupManagerStatus; + /** + * The URLs for all TargetPool resources to which instances in the + * instanceGroup field are added. The target pools automatically apply to + * all of the instances in the managed instance group. + */ + targetPools?: string[]; + /** + * The target number of running instances for this managed instance group. + * Deleting or abandoning instances reduces this number. Resizing the group + * changes this number. + */ + targetSize?: number; + /** + * The update policy for this managed instance group. + */ + updatePolicy?: Schema$InstanceGroupManagerUpdatePolicy; + /** + * Specifies the instance templates used by this managed instance group to + * create instances. Each version is defined by an instanceTemplate. Every + * template can appear at most once per instance group. This field overrides + * the top-level instanceTemplate field. Read more about the relationships + * between these fields. Exactly one version must leave the targetSize field + * unset. That version will be applied to all remaining instances. For more + * information, read about canary updates. + */ + versions?: Schema$InstanceGroupManagerVersion[]; + /** + * [Output Only] The URL of the zone where the managed instance group is + * located (for zonal resources). + */ + zone?: string; + } + interface Schema$InstanceGroupManagerActionsSummary { + /** + * [Output Only] The total number of instances in the managed instance group + * that are scheduled to be abandoned. Abandoning an instance removes it + * from the managed instance group without deleting it. + */ + abandoning?: number; + /** + * [Output Only] The number of instances in the managed instance group that + * are scheduled to be created or are currently being created. If the group + * fails to create any of these instances, it tries again until it creates + * the instance successfully. If you have disabled creation retries, this + * field will not be populated; instead, the creatingWithoutRetries field + * will be populated. + */ + creating?: number; + /** + * [Output Only] The number of instances that the managed instance group + * will attempt to create. The group attempts to create each instance only + * once. If the group fails to create any of these instances, it decreases + * the group's targetSize value accordingly. + */ + creatingWithoutRetries?: number; + /** + * [Output Only] The number of instances in the managed instance group that + * are scheduled to be deleted or are currently being deleted. + */ + deleting?: number; + /** + * [Output Only] The number of instances in the managed instance group that + * are running and have no scheduled actions. + */ + none?: number; + /** + * [Output Only] The number of instances in the managed instance group that + * are scheduled to be recreated or are currently being being recreated. + * Recreating an instance deletes the existing root persistent disk and + * creates a new disk from the image that is defined in the instance + * template. + */ + recreating?: number; + /** + * [Output Only] The number of instances in the managed instance group that + * are being reconfigured with properties that do not require a restart or a + * recreate action. For example, setting or removing target pools for the + * instance. + */ + refreshing?: number; + /** + * [Output Only] The number of instances in the managed instance group that + * are scheduled to be restarted or are currently being restarted. + */ + restarting?: number; + /** + * [Output Only] The number of instances in the managed instance group that + * are being verified. See the managedInstances[].currentAction property in + * the listManagedInstances method documentation. + */ + verifying?: number; + } + interface Schema$InstanceGroupManagerAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of InstanceGroupManagersScopedList resources. + */ + items?: any; + /** + * [Output Only] The resource type, which is always + * compute#instanceGroupManagerAggregatedList for an aggregated list of + * managed instance groups. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$InstanceGroupManagerAutoHealingPolicy { + /** + * The URL for the health check that signals autohealing. + */ + healthCheck?: string; + /** + * The number of seconds that the managed instance group waits before it + * applies autohealing policies to new instances or recently recreated + * instances. This initial delay allows instances to initialize and run + * their startup scripts before the instance group determines that they are + * UNHEALTHY. This prevents the managed instance group from recreating its + * instances prematurely. This value must be from range [0, 3600]. + */ + initialDelaySec?: number; + } + /** + * [Output Only] A list of managed instance groups. + */ + interface Schema$InstanceGroupManagerList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of InstanceGroupManager resources. + */ + items?: Schema$InstanceGroupManager[]; + /** + * [Output Only] The resource type, which is always + * compute#instanceGroupManagerList for a list of managed instance groups. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$InstanceGroupManagerPendingActionsSummary { + /** + * [Output Only] The number of instances in the managed instance group that + * are pending to be created. + */ + creating?: number; + /** + * [Output Only] The number of instances in the managed instance group that + * are pending to be deleted. + */ + deleting?: number; + /** + * [Output Only] The number of instances in the managed instance group that + * are pending to be recreated. + */ + recreating?: number; + /** + * [Output Only] The number of instances in the managed instance group that + * are pending to be restarted. + */ + restarting?: number; + } + interface Schema$InstanceGroupManagersAbandonInstancesRequest { + /** + * The URLs of one or more instances to abandon. This can be a full URL or a + * partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. + */ + instances?: string[]; + } + interface Schema$InstanceGroupManagersDeleteInstancesRequest { + /** + * The URLs of one or more instances to delete. This can be a full URL or a + * partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. + */ + instances?: string[]; + } + interface Schema$InstanceGroupManagersListManagedInstancesResponse { + /** + * [Output Only] The list of instances in the managed instance group. + */ + managedInstances?: Schema$ManagedInstance[]; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + } + interface Schema$InstanceGroupManagersRecreateInstancesRequest { + /** + * The URLs of one or more instances to recreate. This can be a full URL or + * a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. + */ + instances?: string[]; + } + interface Schema$InstanceGroupManagersResizeAdvancedRequest { + /** + * If this flag is true, the managed instance group attempts to create all + * instances initiated by this resize request only once. If there is an + * error during creation, the managed instance group does not retry create + * this instance, and we will decrease the targetSize of the request + * instead. If the flag is false, the group attemps to recreate each + * instance continuously until it succeeds. This flag matters only in the + * first attempt of creation of an instance. After an instance is + * successfully created while this flag is enabled, the instance behaves the + * same way as all the other instances created with a regular resize + * request. In particular, if a running instance dies unexpectedly at a + * later time and needs to be recreated, this mode does not affect the + * recreation behavior in that scenario. This flag is applicable only to + * the current resize request. It does not influence other resize requests + * in any way. You can see which instances is being creating in which mode + * by calling the get or listManagedInstances API. + */ + noCreationRetries?: boolean; + /** + * The number of running instances that the managed instance group should + * maintain at any given time. The group automatically adds or removes + * instances to maintain the number of instances specified by this + * parameter. + */ + targetSize?: number; + } + interface Schema$InstanceGroupManagersScopedList { + /** + * [Output Only] The list of managed instance groups that are contained in + * the specified project and zone. + */ + instanceGroupManagers?: Schema$InstanceGroupManager[]; + /** + * [Output Only] The warning that replaces the list of managed instance + * groups when the list is empty. + */ + warning?: any; + } + interface Schema$InstanceGroupManagersSetAutoHealingRequest { + autoHealingPolicies?: Schema$InstanceGroupManagerAutoHealingPolicy[]; + } + interface Schema$InstanceGroupManagersSetInstanceTemplateRequest { + /** + * The URL of the instance template that is specified for this managed + * instance group. The group uses this template to create all new instances + * in the managed instance group. + */ + instanceTemplate?: string; + } + interface Schema$InstanceGroupManagersSetTargetPoolsRequest { + /** + * The fingerprint of the target pools information. Use this optional + * property to prevent conflicts when multiple users change the target pools + * settings concurrently. Obtain the fingerprint with the + * instanceGroupManagers.get method. Then, include the fingerprint in your + * request to ensure that you do not overwrite changes that were applied + * from another concurrent request. + */ + fingerprint?: string; + /** + * The list of target pool URLs that instances in this managed instance + * group belong to. The managed instance group applies these target pools to + * all of the instances in the group. Existing instances and new instances + * in the group all receive these target pool settings. + */ + targetPools?: string[]; + } + interface Schema$InstanceGroupManagerStatus { + /** + * [Output Only] A bit indicating whether the managed instance group is in a + * stable state. A stable state means that: none of the instances in the + * managed instance group is currently undergoing any type of change (for + * example, creation, restart, or deletion); no future changes are scheduled + * for instances in the managed instance group; and the managed instance + * group itself is not being modified. + */ + isStable?: boolean; + } + interface Schema$InstanceGroupManagerUpdatePolicy { + /** + * The maximum number of instances that can be created above the specified + * targetSize during the update process. By default, a fixed value of 1 is + * used. This value can be either a fixed number or a percentage if the + * instance group has 10 or more instances. If you set a percentage, the + * number of instances will be rounded up if necessary. At least one of + * either maxSurge or maxUnavailable must be greater than 0. Learn more + * about maxSurge. + */ + maxSurge?: Schema$FixedOrPercent; + /** + * The maximum number of instances that can be unavailable during the update + * process. An instance is considered available if all of the following + * conditions are satisfied: - The instance's status is RUNNING. - + * If there is a health check on the instance group, the instance's + * liveness health check result must be HEALTHY at least once. If there is + * no health check on the group, then the instance only needs to have a + * status of RUNNING to be considered available. By default, a fixed value + * of 1 is used. This value can be either a fixed number or a percentage if + * the instance group has 10 or more instances. If you set a percentage, the + * number of instances will be rounded up if necessary. At least one of + * either maxSurge or maxUnavailable must be greater than 0. Learn more + * about maxUnavailable. + */ + maxUnavailable?: Schema$FixedOrPercent; + /** + * Minimal action to be taken on an instance. You can specify either RESTART + * to restart existing instances or REPLACE to delete and create new + * instances from the target template. If you specify a RESTART, the Updater + * will attempt to perform that action only. However, if the Updater + * determines that the minimal action you specify is not enough to perform + * the update, it might perform a more disruptive action. + */ + minimalAction?: string; + /** + * Minimum number of seconds to wait for after a newly created instance + * becomes available. This value must be from range [0, 3600]. + */ + minReadySec?: number; + type?: string; + } + interface Schema$InstanceGroupManagerVersion { + instanceTemplate?: string; + /** + * Name of the version. Unique among all versions in the scope of this + * managed instance group. + */ + name?: string; + /** + * Specifies the intended number of instances to be created from the + * instanceTemplate. The final number of instances created from the template + * will be equal to: - If expressed as a fixed number, the minimum of + * either targetSize.fixed or instanceGroupManager.targetSize is used. - if + * expressed as a percent, the targetSize would be (targetSize.percent/100 * + * InstanceGroupManager.targetSize) If there is a remainder, the number is + * rounded up. If unset, this version will update any remaining instances + * not updated by another version. Read Starting a canary update for more + * information. + */ + targetSize?: Schema$FixedOrPercent; + } + interface Schema$InstanceGroupsAddInstancesRequest { + /** + * The list of instances to add to the instance group. + */ + instances?: Schema$InstanceReference[]; + } + interface Schema$InstanceGroupsListInstances { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of InstanceWithNamedPorts resources. + */ + items?: Schema$InstanceWithNamedPorts[]; + /** + * [Output Only] The resource type, which is always + * compute#instanceGroupsListInstances for the list of instances in the + * specified instance group. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$InstanceGroupsListInstancesRequest { + /** + * A filter for the state of the instances in the instance group. Valid + * options are ALL or RUNNING. If you do not specify this parameter the list + * includes all instances regardless of their state. + */ + instanceState?: string; + } + interface Schema$InstanceGroupsRemoveInstancesRequest { + /** + * The list of instances to remove from the instance group. + */ + instances?: Schema$InstanceReference[]; + } + interface Schema$InstanceGroupsScopedList { + /** + * [Output Only] The list of instance groups that are contained in this + * scope. + */ + instanceGroups?: Schema$InstanceGroup[]; + /** + * [Output Only] An informational warning that replaces the list of instance + * groups when the list is empty. + */ + warning?: any; + } + interface Schema$InstanceGroupsSetNamedPortsRequest { + /** + * The fingerprint of the named ports information for this instance group. + * Use this optional property to prevent conflicts when multiple users + * change the named ports settings concurrently. Obtain the fingerprint with + * the instanceGroups.get method. Then, include the fingerprint in your + * request to ensure that you do not overwrite changes that were applied + * from another concurrent request. + */ + fingerprint?: string; + /** + * The list of named ports to set for this instance group. + */ + namedPorts?: Schema$NamedPort[]; + } + /** + * Contains a list of instances. + */ + interface Schema$InstanceList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Instance resources. + */ + items?: Schema$Instance[]; + /** + * [Output Only] Type of resource. Always compute#instanceList for lists of + * Instance resources. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of instance referrers. + */ + interface Schema$InstanceListReferrers { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Reference resources. + */ + items?: Schema$Reference[]; + /** + * [Output Only] Type of resource. Always compute#instanceListReferrers for + * lists of Instance referrers. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$InstanceMoveRequest { + /** + * The URL of the destination zone to move the instance. This can be a full + * or partial URL. For example, the following are all valid URLs to a zone: + * - https://www.googleapis.com/compute/v1/projects/project/zones/zone - + * projects/project/zones/zone - zones/zone + */ + destinationZone?: string; + /** + * The URL of the target instance to move. This can be a full or partial + * URL. For example, the following are all valid URLs to an instance: - + * https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/instance + * - projects/project/zones/zone/instances/instance - + * zones/zone/instances/instance + */ + targetInstance?: string; + } + interface Schema$InstanceProperties { + /** + * Enables instances created based on this template to send packets with + * source IP addresses other than their own and receive packets with + * destination IP addresses other than their own. If these instances will be + * used as an IP gateway or it will be set as the next-hop in a Route + * resource, specify true. If unsure, leave this set to false. See the + * Enable IP forwarding documentation for more information. + */ + canIpForward?: boolean; + /** + * An optional text description for the instances that are created from this + * instance template. + */ + description?: string; + /** + * An array of disks that are associated with the instances that are created + * from this template. + */ + disks?: Schema$AttachedDisk[]; + /** + * A list of guest accelerator cards' type and count to use for + * instances created from the instance template. + */ + guestAccelerators?: Schema$AcceleratorConfig[]; + /** + * Labels to apply to instances that are created from this template. + */ + labels?: any; + /** + * The machine type to use for instances that are created from this + * template. + */ + machineType?: string; + /** + * The metadata key/value pairs to assign to instances that are created from + * this template. These pairs can consist of custom metadata or predefined + * keys. See Project and instance metadata for more information. + */ + metadata?: Schema$Metadata; + /** + * Minimum cpu/platform to be used by this instance. The instance may be + * scheduled on the specified or newer cpu/platform. Applicable values are + * the friendly names of CPU platforms, such as minCpuPlatform: "Intel + * Haswell" or minCpuPlatform: "Intel Sandy Bridge". For more + * information, read Specifying a Minimum CPU Platform. + */ + minCpuPlatform?: string; + /** + * An array of network access configurations for this interface. + */ + networkInterfaces?: Schema$NetworkInterface[]; + /** + * Specifies the scheduling options for the instances that are created from + * this template. + */ + scheduling?: Schema$Scheduling; + /** + * A list of service accounts with specified scopes. Access tokens for these + * service accounts are available to the instances that are created from + * this template. Use metadata queries to obtain the access tokens for these + * instances. + */ + serviceAccounts?: Schema$ServiceAccount[]; + /** + * Specifies the Shielded VM options for the instances that are created from + * this template. + */ + shieldedVmConfig?: Schema$ShieldedVmConfig; + /** + * A list of tags to apply to the instances that are created from this + * template. The tags identify valid sources or targets for network + * firewalls. The setTags method can modify this list of tags. Each tag + * within the list must comply with RFC1035. + */ + tags?: Schema$Tags; + } + interface Schema$InstanceReference { + /** + * The URL for a specific instance. + */ + instance?: string; + } + interface Schema$InstancesScopedList { + /** + * [Output Only] A list of instances contained in this scope. + */ + instances?: Schema$Instance[]; + /** + * [Output Only] Informational warning which replaces the list of instances + * when the list is empty. + */ + warning?: any; + } + interface Schema$InstancesSetLabelsRequest { + /** + * Fingerprint of the previous set of labels for this resource, used to + * prevent conflicts. Provide the latest fingerprint value when making a + * request to add or change labels. + */ + labelFingerprint?: string; + labels?: any; + } + interface Schema$InstancesSetMachineResourcesRequest { + /** + * A list of the type and count of accelerator cards attached to the + * instance. + */ + guestAccelerators?: Schema$AcceleratorConfig[]; + } + interface Schema$InstancesSetMachineTypeRequest { + /** + * Full or partial URL of the machine type resource. See Machine Types for a + * full list of machine types. For example: + * zones/us-central1-f/machineTypes/n1-standard-1 + */ + machineType?: string; + } + interface Schema$InstancesSetMinCpuPlatformRequest { + /** + * Minimum cpu/platform this instance should be started at. + */ + minCpuPlatform?: string; + } + interface Schema$InstancesSetServiceAccountRequest { + /** + * Email address of the service account. + */ + email?: string; + /** + * The list of scopes to be made available for this service account. + */ + scopes?: string[]; + } + interface Schema$InstancesStartWithEncryptionKeyRequest { + /** + * Array of disks associated with this instance that are protected with a + * customer-supplied encryption key. In order to start the instance, the + * disk url and its corresponding key must be provided. If the disk is not + * protected with a customer-supplied encryption key it should not be + * specified. + */ + disks?: Schema$CustomerEncryptionKeyProtectedDisk[]; + } + /** + * An Instance Template resource. (== resource_for beta.instanceTemplates ==) + * (== resource_for v1.instanceTemplates ==) + */ + interface Schema$InstanceTemplate { + /** + * [Output Only] The creation timestamp for this instance template in + * RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] A unique identifier for this instance template. The server + * defines this identifier. + */ + id?: string; + /** + * [Output Only] The resource type, which is always compute#instanceTemplate + * for instance templates. + */ + kind?: string; + /** + * Name of the resource; provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * The instance properties for this instance template. + */ + properties?: Schema$InstanceProperties; + /** + * [Output Only] The URL for this instance template. The server defines this + * URL. + */ + selfLink?: string; + /** + * The source instance used to create the template. You can provide this as + * a partial or full URL to the resource. For example, the following are + * valid values: - + * https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/instance + * - projects/project/zones/zone/instances/instance + */ + sourceInstance?: string; + /** + * The source instance params to use to create this instance template. + */ + sourceInstanceParams?: Schema$SourceInstanceParams; + } + /** + * A list of instance templates. + */ + interface Schema$InstanceTemplateList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of InstanceTemplate resources. + */ + items?: Schema$InstanceTemplate[]; + /** + * [Output Only] The resource type, which is always + * compute#instanceTemplatesListResponse for instance template lists. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$InstanceWithNamedPorts { + /** + * [Output Only] The URL of the instance. + */ + instance?: string; + /** + * [Output Only] The named ports that belong to this instance group. + */ + namedPorts?: Schema$NamedPort[]; + /** + * [Output Only] The status of the instance. + */ + status?: string; + } + /** + * Represents an Interconnects resource. The Interconnects resource is a + * dedicated connection between Google's network and your on-premises + * network. For more information, see the Dedicated overview page. (== + * resource_for v1.interconnects ==) (== resource_for beta.interconnects ==) + */ + interface Schema$Interconnect { + /** + * Administrative status of the interconnect. When this is set to true, the + * Interconnect is functional and can carry traffic. When set to false, no + * packets can be carried over the interconnect and no BGP routes are + * exchanged over it. By default, the status is set to true. + */ + adminEnabled?: boolean; + /** + * [Output Only] A list of CircuitInfo objects, that describe the individual + * circuits in this LAG. + */ + circuitInfos?: Schema$InterconnectCircuitInfo[]; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * Customer name, to put in the Letter of Authorization as the party + * authorized to request a crossconnect. + */ + customerName?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] A list of outages expected for this Interconnect. + */ + expectedOutages?: Schema$InterconnectOutageNotification[]; + /** + * [Output Only] IP address configured on the Google side of the + * Interconnect link. This can be used only for ping tests. + */ + googleIpAddress?: string; + /** + * [Output Only] Google reference ID; to be used when raising support + * tickets with Google or otherwise to debug backend connectivity issues. + */ + googleReferenceId?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] A list of the URLs of all InterconnectAttachments + * configured to use this Interconnect. + */ + interconnectAttachments?: string[]; + /** + * Type of interconnect. Note that "IT_PRIVATE" has been + * deprecated in favor of "DEDICATED" + */ + interconnectType?: string; + /** + * [Output Only] Type of the resource. Always compute#interconnect for + * interconnects. + */ + kind?: string; + /** + * A fingerprint for the labels being applied to this Interconnect, which is + * essentially a hash of the labels set used for optimistic locking. The + * fingerprint is initially generated by Compute Engine and changes after + * every request to modify or update labels. You must always provide an + * up-to-date fingerprint hash in order to update or change labels. To see + * the latest fingerprint, make a get() request to retrieve an Interconnect. + */ + labelFingerprint?: string; + /** + * Labels to apply to this Interconnect resource. These can be later + * modified by the setLabels method. Each label key/value must comply with + * RFC1035. Label values may be empty. + */ + labels?: any; + /** + * Type of link requested. This field indicates speed of each of the links + * in the bundle, not the entire bundle. Only 10G per link is allowed for a + * dedicated interconnect. Options: Ethernet_10G_LR + */ + linkType?: string; + /** + * URL of the InterconnectLocation object that represents where this + * connection is to be provisioned. + */ + location?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * Email address to contact the customer NOC for operations and maintenance + * notifications regarding this Interconnect. If specified, this will be + * used for notifications in addition to all other forms described, such as + * Stackdriver logs alerting and Cloud Notifications. + */ + nocContactEmail?: string; + /** + * [Output Only] The current status of whether or not this Interconnect is + * functional. + */ + operationalStatus?: string; + /** + * [Output Only] IP address configured on the customer side of the + * Interconnect link. The customer should configure this IP address during + * turnup when prompted by Google NOC. This can be used only for ping tests. + */ + peerIpAddress?: string; + /** + * [Output Only] Number of links actually provisioned in this interconnect. + */ + provisionedLinkCount?: number; + /** + * Target number of physical links in the link bundle, as requested by the + * customer. + */ + requestedLinkCount?: number; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] The current state of whether or not this Interconnect is + * functional. + */ + state?: string; + } + /** + * Represents an InterconnectAttachment (VLAN attachment) resource. For more + * information, see Creating VLAN Attachments. (== resource_for + * beta.interconnectAttachments ==) (== resource_for + * v1.interconnectAttachments ==) + */ + interface Schema$InterconnectAttachment { + /** + * Determines whether this Attachment will carry packets. Not present for + * PARTNER_PROVIDER. + */ + adminEnabled?: boolean; + /** + * Provisioned bandwidth capacity for the interconnectAttachment. Can be set + * by the partner to update the customer's provisioned bandwidth. Output + * only for for PARTNER type, mutable for PARTNER_PROVIDER, not available + * for DEDICATED. + */ + bandwidth?: string; + /** + * Up to 16 candidate prefixes that can be used to restrict the allocation + * of cloudRouterIpAddress and customerRouterIpAddress for this attachment. + * All prefixes must be within link-local address space (169.254.0.0/16) and + * must be /29 or shorter (/28, /27, etc). Google will attempt to select an + * unused /29 from the supplied candidate prefix(es). The request will fail + * if all possible /29s are in use on Google?s edge. If not supplied, Google + * will randomly select an unused /29 from all of link-local space. + */ + candidateSubnets?: string[]; + /** + * [Output Only] IPv4 address + prefix length to be configured on Cloud + * Router Interface for this interconnect attachment. + */ + cloudRouterIpAddress?: string; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * [Output Only] IPv4 address + prefix length to be configured on the + * customer router subinterface for this interconnect attachment. + */ + customerRouterIpAddress?: string; + /** + * An optional description of this resource. + */ + description?: string; + /** + * Desired availability domain for the attachment. Only available for type + * PARTNER, at creation time. For improved reliability, customers should + * configure a pair of attachments with one per availability domain. The + * selected availability domain will be provided to the Partner via the + * pairing key so that the provisioned circuit will lie in the specified + * domain. If not specified, the value will default to + * AVAILABILITY_DOMAIN_ANY. + */ + edgeAvailabilityDomain?: string; + /** + * [Output Only] Google reference ID, to be used when raising support + * tickets with Google or otherwise to debug backend connectivity issues. + */ + googleReferenceId?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * URL of the underlying Interconnect object that this attachment's + * traffic will traverse through. + */ + interconnect?: string; + /** + * [Output Only] Type of the resource. Always compute#interconnectAttachment + * for interconnect attachments. + */ + kind?: string; + /** + * A fingerprint for the labels being applied to this + * InterconnectAttachment, which is essentially a hash of the labels set + * used for optimistic locking. The fingerprint is initially generated by + * Compute Engine and changes after every request to modify or update + * labels. You must always provide an up-to-date fingerprint hash in order + * to update or change labels. To see the latest fingerprint, make a get() + * request to retrieve an InterconnectAttachment. + */ + labelFingerprint?: string; + /** + * Labels to apply to this InterconnectAttachment resource. These can be + * later modified by the setLabels method. Each label key/value must comply + * with RFC1035. Label values may be empty. + */ + labels?: any; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * [Output Only] The current status of whether or not this interconnect + * attachment is functional. + */ + operationalStatus?: string; + /** + * [Output only for type PARTNER. Input only for PARTNER_PROVIDER. Not + * present for DEDICATED]. The opaque identifier of an PARTNER attachment + * used to initiate provisioning with a selected partner. Of the form + * "XXXXX/region/domain" + */ + pairingKey?: string; + /** + * Optional BGP ASN for the router that should be supplied by a layer 3 + * Partner if they configured BGP on behalf of the customer. Output only for + * PARTNER type, input only for PARTNER_PROVIDER, not available for + * DEDICATED. + */ + partnerAsn?: string; + /** + * Informational metadata about Partner attachments from Partners to display + * to customers. Output only for for PARTNER type, mutable for + * PARTNER_PROVIDER, not available for DEDICATED. + */ + partnerMetadata?: Schema$InterconnectAttachmentPartnerMetadata; + /** + * [Output Only] Information specific to an InterconnectAttachment. This + * property is populated if the interconnect that this is attached to is of + * type DEDICATED. + */ + privateInterconnectInfo?: Schema$InterconnectAttachmentPrivateInfo; + /** + * [Output Only] URL of the region where the regional interconnect + * attachment resides. You must specify this field as part of the HTTP + * request URL. It is not settable as a field in the request body. + */ + region?: string; + /** + * URL of the cloud router to be used for dynamic routing. This router must + * be in the same region as this InterconnectAttachment. The + * InterconnectAttachment will automatically connect the Interconnect to the + * network & region within which the Cloud Router is configured. + */ + router?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] The current state of this attachment's functionality. + */ + state?: string; + type?: string; + /** + * Available only for DEDICATED and PARTNER_PROVIDER. Desired VLAN tag for + * this attachment, in the range 2-4094. This field refers to 802.1q VLAN + * tag, also known as IEEE 802.1Q Only specified at creation time. + */ + vlanTag8021q?: number; + } + interface Schema$InterconnectAttachmentAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of InterconnectAttachmentsScopedList resources. + */ + items?: any; + /** + * [Output Only] Type of resource. Always + * compute#interconnectAttachmentAggregatedList for aggregated lists of + * interconnect attachments. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Response to the list request, and contains a list of interconnect + * attachments. + */ + interface Schema$InterconnectAttachmentList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of InterconnectAttachment resources. + */ + items?: Schema$InterconnectAttachment[]; + /** + * [Output Only] Type of resource. Always compute#interconnectAttachmentList + * for lists of interconnect attachments. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Informational metadata about Partner attachments from Partners to display + * to customers. These fields are propagated from PARTNER_PROVIDER attachments + * to their corresponding PARTNER attachments. + */ + interface Schema$InterconnectAttachmentPartnerMetadata { + /** + * Plain text name of the Interconnect this attachment is connected to, as + * displayed in the Partner?s portal. For instance ?Chicago 1?. This value + * may be validated to match approved Partner values. + */ + interconnectName?: string; + /** + * Plain text name of the Partner providing this attachment. This value may + * be validated to match approved Partner values. + */ + partnerName?: string; + /** + * URL of the Partner?s portal for this Attachment. Partners may customise + * this to be a deep-link to the specific resource on the Partner portal. + * This value may be validated to match approved Partner values. + */ + portalUrl?: string; + } + /** + * Information for an interconnect attachment when this belongs to an + * interconnect of type DEDICATED. + */ + interface Schema$InterconnectAttachmentPrivateInfo { + /** + * [Output Only] 802.1q encapsulation tag to be used for traffic between + * Google and the customer, going to and from this network and region. + */ + tag8021q?: number; + } + interface Schema$InterconnectAttachmentsScopedList { + /** + * A list of interconnect attachments contained in this scope. + */ + interconnectAttachments?: Schema$InterconnectAttachment[]; + /** + * Informational warning which replaces the list of addresses when the list + * is empty. + */ + warning?: any; + } + /** + * Describes a single physical circuit between the Customer and Google. + * CircuitInfo objects are created by Google, so all fields are output only. + * Next id: 4 + */ + interface Schema$InterconnectCircuitInfo { + /** + * Customer-side demarc ID for this circuit. + */ + customerDemarcId?: string; + /** + * Google-assigned unique ID for this circuit. Assigned at circuit turn-up. + */ + googleCircuitId?: string; + /** + * Google-side demarc ID for this circuit. Assigned at circuit turn-up and + * provided by Google to the customer in the LOA. + */ + googleDemarcId?: string; + } + /** + * Diagnostics information about interconnect, contains detailed and current + * technical information about Google?s side of the connection. + */ + interface Schema$InterconnectDiagnostics { + /** + * A list of InterconnectDiagnostics.ARPEntry objects, describing individual + * neighbors currently seen by the Google router in the ARP cache for the + * Interconnect. This will be empty when the Interconnect is not bundled. + */ + arpCaches?: Schema$InterconnectDiagnosticsARPEntry[]; + /** + * A list of InterconnectDiagnostics.LinkStatus objects, describing the + * status for each link on the Interconnect. + */ + links?: Schema$InterconnectDiagnosticsLinkStatus[]; + /** + * The MAC address of the Interconnect's bundle interface. + */ + macAddress?: string; + } + /** + * Describing the ARP neighbor entries seen on this link + */ + interface Schema$InterconnectDiagnosticsARPEntry { + /** + * The IP address of this ARP neighbor. + */ + ipAddress?: string; + /** + * The MAC address of this ARP neighbor. + */ + macAddress?: string; + } + interface Schema$InterconnectDiagnosticsLinkLACPStatus { + /** + * System ID of the port on Google?s side of the LACP exchange. + */ + googleSystemId?: string; + /** + * System ID of the port on the neighbor?s side of the LACP exchange. + */ + neighborSystemId?: string; + state?: string; + } + interface Schema$InterconnectDiagnosticsLinkOpticalPower { + state?: string; + /** + * Value of the current optical power, read in dBm. + */ + value?: number; + } + interface Schema$InterconnectDiagnosticsLinkStatus { + /** + * A list of InterconnectDiagnostics.ARPEntry objects, describing the ARP + * neighbor entries seen on this link. This will be empty if the link is + * bundled + */ + arpCaches?: Schema$InterconnectDiagnosticsARPEntry[]; + /** + * The unique ID for this link assigned during turn up by Google. + */ + circuitId?: string; + /** + * The Demarc address assigned by Google and provided in the LoA. + */ + googleDemarc?: string; + lacpStatus?: Schema$InterconnectDiagnosticsLinkLACPStatus; + receivingOpticalPower?: Schema$InterconnectDiagnosticsLinkOpticalPower; + transmittingOpticalPower?: Schema$InterconnectDiagnosticsLinkOpticalPower; + } + /** + * Response to the list request, and contains a list of interconnects. + */ + interface Schema$InterconnectList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Interconnect resources. + */ + items?: Schema$Interconnect[]; + /** + * [Output Only] Type of resource. Always compute#interconnectList for lists + * of interconnects. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Represents an InterconnectLocations resource. The InterconnectLocations + * resource describes the locations where you can connect to Google's + * networks. For more information, see Colocation Facilities. + */ + interface Schema$InterconnectLocation { + /** + * [Output Only] The postal address of the Point of Presence, each line in + * the address is separated by a newline character. + */ + address?: string; + /** + * [Output Only] Availability zone for this InterconnectLocation. Within a + * metropolitan area (metro), maintenance will not be simultaneously + * scheduled in more than one availability zone. Example: "zone1" + * or "zone2". + */ + availabilityZone?: string; + /** + * [Output Only] Metropolitan area designator that indicates which city an + * interconnect is located. For example: "Chicago, IL", + * "Amsterdam, Netherlands". + */ + city?: string; + /** + * [Output Only] Continent for this location. + */ + continent?: string; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * [Output Only] An optional description of the resource. + */ + description?: string; + /** + * [Output Only] The name of the provider for this facility (e.g., EQUINIX). + */ + facilityProvider?: string; + /** + * [Output Only] A provider-assigned Identifier for this facility (e.g., + * Ashburn-DC1). + */ + facilityProviderFacilityId?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of the resource. Always compute#interconnectLocation + * for interconnect locations. + */ + kind?: string; + /** + * [Output Only] Name of the resource. + */ + name?: string; + /** + * [Output Only] The peeringdb identifier for this facility (corresponding + * with a netfac type in peeringdb). + */ + peeringdbFacilityId?: string; + /** + * [Output Only] A list of InterconnectLocation.RegionInfo objects, that + * describe parameters pertaining to the relation between this + * InterconnectLocation and various Google Cloud regions. + */ + regionInfos?: Schema$InterconnectLocationRegionInfo[]; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + } + /** + * Response to the list request, and contains a list of interconnect + * locations. + */ + interface Schema$InterconnectLocationList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of InterconnectLocation resources. + */ + items?: Schema$InterconnectLocation[]; + /** + * [Output Only] Type of resource. Always compute#interconnectLocationList + * for lists of interconnect locations. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Information about any potential InterconnectAttachments between an + * Interconnect at a specific InterconnectLocation, and a specific Cloud + * Region. + */ + interface Schema$InterconnectLocationRegionInfo { + /** + * Expected round-trip time in milliseconds, from this InterconnectLocation + * to a VM in this region. + */ + expectedRttMs?: string; + /** + * Identifies the network presence of this location. + */ + locationPresence?: string; + /** + * URL for the region of this location. + */ + region?: string; + } + /** + * Description of a planned outage on this Interconnect. Next id: 9 + */ + interface Schema$InterconnectOutageNotification { + /** + * If issue_type is IT_PARTIAL_OUTAGE, a list of the Google-side circuit IDs + * that will be affected. + */ + affectedCircuits?: string[]; + /** + * A description about the purpose of the outage. + */ + description?: string; + /** + * Scheduled end time for the outage (milliseconds since Unix epoch). + */ + endTime?: string; + /** + * Form this outage is expected to take. Note that the "IT_" + * versions of this enum have been deprecated in favor of the unprefixed + * values. + */ + issueType?: string; + /** + * Unique identifier for this outage notification. + */ + name?: string; + /** + * The party that generated this notification. Note that + * "NSRC_GOOGLE" has been deprecated in favor of + * "GOOGLE" + */ + source?: string; + /** + * Scheduled start time for the outage (milliseconds since Unix epoch). + */ + startTime?: string; + /** + * State of this notification. Note that the "NS_" versions of + * this enum have been deprecated in favor of the unprefixed values. + */ + state?: string; + } + /** + * Response for the InterconnectsGetDiagnosticsRequest. + */ + interface Schema$InterconnectsGetDiagnosticsResponse { + result?: Schema$InterconnectDiagnostics; + } + /** + * A license resource. + */ + interface Schema$License { + /** + * [Output Only] Deprecated. This field no longer reflects whether a license + * charges a usage fee. + */ + chargesUseFee?: boolean; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional textual description of the resource; provided by the client + * when the resource is created. + */ + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of resource. Always compute#license for licenses. + */ + kind?: string; + /** + * [Output Only] The unique code used to attach this license to images, + * snapshots, and disks. + */ + licenseCode?: string; + /** + * Name of the resource. The name must be 1-63 characters long and comply + * with RFC1035. + */ + name?: string; + resourceRequirements?: Schema$LicenseResourceRequirements; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * If false, licenses will not be copied from the source resource when + * creating an image from a disk, disk from snapshot, or snapshot from disk. + */ + transferable?: boolean; + } + interface Schema$LicenseCode { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * [Output Only] Description of this License Code. + */ + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of resource. Always compute#licenseCode for licenses. + */ + kind?: string; + /** + * [Output Only] URL and description aliases of Licenses with the same + * License Code. + */ + licenseAlias?: Schema$LicenseCodeLicenseAlias[]; + /** + * [Output Only] Name of the resource. The name is 1-20 characters long and + * must be a valid 64 bit integer. + */ + name?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] Current state of this License Code. + */ + state?: string; + /** + * [Output Only] If true, the license will remain attached when creating + * images or snapshots from disks. Otherwise, the license is not + * transferred. + */ + transferable?: boolean; + } + interface Schema$LicenseCodeLicenseAlias { + /** + * [Output Only] Description of this License Code. + */ + description?: string; + /** + * [Output Only] URL of license corresponding to this License Code. + */ + selfLink?: string; + } + interface Schema$LicenseResourceRequirements { + /** + * Minimum number of guest cpus required to use the Instance. Enforced at + * Instance creation and Instance start. + */ + minGuestCpuCount?: number; + /** + * Minimum memory required to use the Instance. Enforced at Instance + * creation and Instance start. + */ + minMemoryMb?: number; + } + interface Schema$LicensesListResponse { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of License resources. + */ + items?: Schema$License[]; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Specifies what kind of log the caller must write + */ + interface Schema$LogConfig { + /** + * Cloud audit options. + */ + cloudAudit?: Schema$LogConfigCloudAuditOptions; + /** + * Counter options. + */ + counter?: Schema$LogConfigCounterOptions; + /** + * Data access options. + */ + dataAccess?: Schema$LogConfigDataAccessOptions; + } + /** + * Write a Cloud Audit log + */ + interface Schema$LogConfigCloudAuditOptions { + /** + * Information used by the Cloud Audit Logging pipeline. + */ + authorizationLoggingOptions?: Schema$AuthorizationLoggingOptions; + /** + * The log_name to populate in the Cloud Audit Record. + */ + logName?: string; + } + /** + * Increment a streamz counter with the specified metric and field names. + * Metric names should start with a '/', generally be lowercase-only, + * and end in "_count". Field names should not contain an initial + * slash. The actual exported metric names will have "/iam/policy" + * prepended. Field names correspond to IAM request parameters and field + * values are their respective values. At present the only supported field + * names are - "iam_principal", corresponding to + * IAMContext.principal; - "" (empty string), resulting in one + * aggretated counter with no field. Examples: counter { metric: + * "/debug_access_count" field: "iam_principal" } ==> + * increment counter /iam/policy/backend_debug_access_count + * {iam_principal=[value of IAMContext.principal]} At this time we do not + * support: * multiple field names (though this may be supported in the + * future) * decrementing the counter * incrementing it by anything other than + * 1 + */ + interface Schema$LogConfigCounterOptions { + /** + * The field value to attribute. + */ + field?: string; + /** + * The metric to update. + */ + metric?: string; + } + /** + * Write a Data Access (Gin) log + */ + interface Schema$LogConfigDataAccessOptions { + /** + * Whether Gin logging should happen in a fail-closed manner at the caller. + * This is relevant only in the LocalIAM implementation, for now. + */ + logMode?: string; + } + /** + * A Machine Type resource. (== resource_for v1.machineTypes ==) (== + * resource_for beta.machineTypes ==) + */ + interface Schema$MachineType { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * [Output Only] The deprecation status associated with this machine type. + */ + deprecated?: Schema$DeprecationStatus; + /** + * [Output Only] An optional textual description of the resource. + */ + description?: string; + /** + * [Output Only] The number of virtual CPUs that are available to the + * instance. + */ + guestCpus?: number; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Whether this machine type has a shared CPU. See Shared-core + * machine types for more information. + */ + isSharedCpu?: boolean; + /** + * [Output Only] The type of the resource. Always compute#machineType for + * machine types. + */ + kind?: string; + /** + * [Output Only] Maximum persistent disks allowed. + */ + maximumPersistentDisks?: number; + /** + * [Output Only] Maximum total persistent disks size (GB) allowed. + */ + maximumPersistentDisksSizeGb?: string; + /** + * [Output Only] The amount of physical memory available to the instance, + * defined in MB. + */ + memoryMb?: number; + /** + * [Output Only] Name of the resource. + */ + name?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] The name of the zone where the machine type resides, such + * as us-central1-a. + */ + zone?: string; + } + interface Schema$MachineTypeAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of MachineTypesScopedList resources. + */ + items?: any; + /** + * [Output Only] Type of resource. Always compute#machineTypeAggregatedList + * for aggregated lists of machine types. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of machine types. + */ + interface Schema$MachineTypeList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of MachineType resources. + */ + items?: Schema$MachineType[]; + /** + * [Output Only] Type of resource. Always compute#machineTypeList for lists + * of machine types. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$MachineTypesScopedList { + /** + * [Output Only] A list of machine types contained in this scope. + */ + machineTypes?: Schema$MachineType[]; + /** + * [Output Only] An informational warning that appears when the machine + * types list is empty. + */ + warning?: any; + } + /** + * A Managed Instance resource. + */ + interface Schema$ManagedInstance { + /** + * [Output Only] The current action that the managed instance group has + * scheduled for the instance. Possible values: - NONE The instance is + * running, and the managed instance group does not have any scheduled + * actions for this instance. - CREATING The managed instance group is + * creating this instance. If the group fails to create this instance, it + * will try again until it is successful. - CREATING_WITHOUT_RETRIES The + * managed instance group is attempting to create this instance only once. + * If the group fails to create this instance, it does not try again and the + * group's targetSize value is decreased instead. - RECREATING The + * managed instance group is recreating this instance. - DELETING The + * managed instance group is permanently deleting this instance. - + * ABANDONING The managed instance group is abandoning this instance. The + * instance will be removed from the instance group and from any target + * pools that are associated with this group. - RESTARTING The managed + * instance group is restarting the instance. - REFRESHING The managed + * instance group is applying configuration changes to the instance without + * stopping it. For example, the group can update the target pool list for + * an instance without stopping that instance. - VERIFYING The managed + * instance group has created the instance and it is in the process of being + * verified. + */ + currentAction?: string; + /** + * [Output only] The unique identifier for this resource. This field is + * empty when instance does not exist. + */ + id?: string; + /** + * [Output Only] The URL of the instance. The URL can exist even if the + * instance has not yet been created. + */ + instance?: string; + /** + * [Output Only] The status of the instance. This field is empty when the + * instance does not exist. + */ + instanceStatus?: string; + /** + * [Output Only] Information about the last attempt to create or delete the + * instance. + */ + lastAttempt?: Schema$ManagedInstanceLastAttempt; + /** + * [Output Only] Intended version of this instance. + */ + version?: Schema$ManagedInstanceVersion; + } + interface Schema$ManagedInstanceLastAttempt { + /** + * [Output Only] Encountered errors during the last attempt to create or + * delete the instance. + */ + errors?: any; + } + interface Schema$ManagedInstanceVersion { + /** + * [Output Only] The intended template of the instance. This field is empty + * when current_action is one of { DELETING, ABANDONING }. + */ + instanceTemplate?: string; + /** + * [Output Only] Name of the version. + */ + name?: string; + } + /** + * A metadata key/value entry. + */ + interface Schema$Metadata { + /** + * Specifies a fingerprint for this request, which is essentially a hash of + * the metadata's contents and used for optimistic locking. The + * fingerprint is initially generated by Compute Engine and changes after + * every request to modify or update metadata. You must always provide an + * up-to-date fingerprint hash in order to update or change metadata. To + * see the latest fingerprint, make a get() request to retrieve the + * resource. + */ + fingerprint?: string; + /** + * Array of key/value pairs. The total size of all keys and values must be + * less than 512 KB. + */ + items?: any[]; + /** + * [Output Only] Type of the resource. Always compute#metadata for metadata. + */ + kind?: string; + } + /** + * The named port. For example: . + */ + interface Schema$NamedPort { + /** + * The name for this named port. The name must be 1-63 characters long, and + * comply with RFC1035. + */ + name?: string; + /** + * The port number, which can be a value between 1 and 65535. + */ + port?: number; + } + /** + * Represents a Network resource. Read Networks and Firewalls for more + * information. (== resource_for v1.networks ==) (== resource_for + * beta.networks ==) + */ + interface Schema$Network { + /** + * When set to true, the network is created in "auto subnet mode". + * When set to false, the network is in "custom subnet mode". In + * "auto subnet mode", a newly created network is assigned the + * default CIDR of 10.128.0.0/9 and it automatically creates one subnetwork + * per region. + */ + autoCreateSubnetworks?: boolean; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * A gateway address for default routing to other networks. This value is + * read only and is selected by the Google Compute Engine, typically as the + * first usable address in the IPv4Range. + */ + gatewayIPv4?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * The range of internal addresses that are legal on this network. This + * range is a CIDR specification, for example: 192.168.0.0/16. Provided by + * the client when the network is created. + */ + IPv4Range?: string; + /** + * [Output Only] Type of the resource. Always compute#network for networks. + */ + kind?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * [Output Only] A list of network peerings for the resource. + */ + peerings?: Schema$NetworkPeering[]; + /** + * The network-level routing configuration for this network. Used by Cloud + * Router to determine what type of network-wide routing behavior to + * enforce. + */ + routingConfig?: Schema$NetworkRoutingConfig; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] Server-defined fully-qualified URLs for all subnetworks in + * this network. + */ + subnetworks?: string[]; + } + /** + * The network endpoint. + */ + interface Schema$NetworkEndpoint { + /** + * The name for a specific VM instance that the IP address belongs to. This + * is required for network endpoints of type GCE_VM_IP_PORT. The instance + * must be in the same zone of network endpoint group. The name must be + * 1-63 characters long, and comply with RFC1035. + */ + instance?: string; + /** + * Optional IPv4 address of network endpoint. The IP address must belong to + * a VM in GCE (either the primary IP or as part of an aliased IP range). If + * the IP address is not specified, then the primary IP address for the VM + * instance in the network that the network endpoint group belongs to will + * be used. + */ + ipAddress?: string; + /** + * Optional port number of network endpoint. If not specified and the + * NetworkEndpointGroup.network_endpoint_type is GCE_IP_PORT, the + * defaultPort for the network endpoint group will be used. + */ + port?: number; + } + /** + * Represents a collection of network endpoints. + */ + interface Schema$NetworkEndpointGroup { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * The default port used if the port number is not specified in the network + * endpoint. + */ + defaultPort?: number; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of the resource. Always compute#networkEndpointGroup + * for network endpoint group. + */ + kind?: string; + /** + * This field is only valid when the network endpoint group is used for load + * balancing. [Deprecated] This field is deprecated. + */ + loadBalancer?: Schema$NetworkEndpointGroupLbNetworkEndpointGroup; + /** + * Name of the resource; provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * The URL of the network to which all network endpoints in the NEG belong. + * Uses "default" project network if unspecified. + */ + network?: string; + /** + * Type of network endpoints in this network endpoint group. Currently the + * only supported value is GCE_VM_IP_PORT. + */ + networkEndpointType?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output only] Number of network endpoints in the network endpoint group. + */ + size?: number; + /** + * Optional URL of the subnetwork to which all network endpoints in the NEG + * belong. + */ + subnetwork?: string; + /** + * [Output Only] The URL of the zone where the network endpoint group is + * located. + */ + zone?: string; + } + interface Schema$NetworkEndpointGroupAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of NetworkEndpointGroupsScopedList resources. + */ + items?: any; + /** + * [Output Only] The resource type, which is always + * compute#networkEndpointGroupAggregatedList for aggregated lists of + * network endpoint groups. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Load balancing specific fields for network endpoint group. + */ + interface Schema$NetworkEndpointGroupLbNetworkEndpointGroup { + /** + * The default port used if the port number is not specified in the network + * endpoint. [Deprecated] This field is deprecated. + */ + defaultPort?: number; + /** + * The URL of the network to which all network endpoints in the NEG belong. + * Uses "default" project network if unspecified. [Deprecated] + * This field is deprecated. + */ + network?: string; + /** + * Optional URL of the subnetwork to which all network endpoints in the NEG + * belong. [Deprecated] This field is deprecated. + */ + subnetwork?: string; + /** + * [Output Only] The URL of the zone where the network endpoint group is + * located. [Deprecated] This field is deprecated. + */ + zone?: string; + } + interface Schema$NetworkEndpointGroupList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of NetworkEndpointGroup resources. + */ + items?: Schema$NetworkEndpointGroup[]; + /** + * [Output Only] The resource type, which is always + * compute#networkEndpointGroupList for network endpoint group lists. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$NetworkEndpointGroupsAttachEndpointsRequest { + /** + * The list of network endpoints to be attached. + */ + networkEndpoints?: Schema$NetworkEndpoint[]; + } + interface Schema$NetworkEndpointGroupsDetachEndpointsRequest { + /** + * The list of network endpoints to be detached. + */ + networkEndpoints?: Schema$NetworkEndpoint[]; + } + interface Schema$NetworkEndpointGroupsListEndpointsRequest { + /** + * Optional query parameter for showing the health status of each network + * endpoint. Valid options are SKIP or SHOW. If you don't specifiy this + * parameter, the health status of network endpoints will not be provided. + */ + healthStatus?: string; + } + interface Schema$NetworkEndpointGroupsListNetworkEndpoints { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of NetworkEndpointWithHealthStatus resources. + */ + items?: Schema$NetworkEndpointWithHealthStatus[]; + /** + * [Output Only] The resource type, which is always + * compute#networkEndpointGroupsListNetworkEndpoints for the list of network + * endpoints in the specified network endpoint group. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$NetworkEndpointGroupsScopedList { + /** + * [Output Only] The list of network endpoint groups that are contained in + * this scope. + */ + networkEndpointGroups?: Schema$NetworkEndpointGroup[]; + /** + * [Output Only] An informational warning that replaces the list of network + * endpoint groups when the list is empty. + */ + warning?: any; + } + interface Schema$NetworkEndpointWithHealthStatus { + /** + * [Output only] The health status of network endpoint; + */ + healths?: Schema$HealthStatusForNetworkEndpoint[]; + /** + * [Output only] The network endpoint; + */ + networkEndpoint?: Schema$NetworkEndpoint; + } + /** + * A network interface resource attached to an instance. + */ + interface Schema$NetworkInterface { + /** + * An array of configurations for this interface. Currently, only one access + * config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs + * specified, then this instance will have no external internet access. + */ + accessConfigs?: Schema$AccessConfig[]; + /** + * An array of alias IP ranges for this network interface. Can only be + * specified for network interfaces on subnet-mode networks. + */ + aliasIpRanges?: Schema$AliasIpRange[]; + /** + * Fingerprint hash of contents stored in this network interface. This field + * will be ignored when inserting an Instance or adding a NetworkInterface. + * An up-to-date fingerprint must be provided in order to update the + * NetworkInterface. + */ + fingerprint?: string; + /** + * [Output Only] Type of the resource. Always compute#networkInterface for + * network interfaces. + */ + kind?: string; + /** + * [Output Only] The name of the network interface, generated by the server. + * For network devices, these are eth0, eth1, etc. + */ + name?: string; + /** + * URL of the network resource for this instance. When creating an instance, + * if neither the network nor the subnetwork is specified, the default + * network global/networks/default is used; if the network is not specified + * but the subnetwork is specified, the network is inferred. This field is + * optional when creating a firewall rule. If not specified when creating a + * firewall rule, the default network global/networks/default is used. If + * you specify this property, you can specify the network as a full or + * partial URL. For example, the following are all valid URLs: - + * https://www.googleapis.com/compute/v1/projects/project/global/networks/network + * - projects/project/global/networks/network - global/networks/default + */ + network?: string; + /** + * An IPv4 internal network address to assign to the instance for this + * network interface. If not specified by the user, an unused internal IP is + * assigned by the system. + */ + networkIP?: string; + /** + * The URL of the Subnetwork resource for this instance. If the network + * resource is in legacy mode, do not provide this property. If the network + * is in auto subnet mode, providing the subnetwork is optional. If the + * network is in custom subnet mode, then this field should be specified. If + * you specify this property, you can specify the subnetwork as a full or + * partial URL. For example, the following are all valid URLs: - + * https://www.googleapis.com/compute/v1/projects/project/regions/region/subnetworks/subnetwork + * - regions/region/subnetworks/subnetwork + */ + subnetwork?: string; + } + /** + * Contains a list of networks. + */ + interface Schema$NetworkList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Network resources. + */ + items?: Schema$Network[]; + /** + * [Output Only] Type of resource. Always compute#networkList for lists of + * networks. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * A network peering attached to a network resource. The message includes the + * peering name, peer network, peering state, and a flag indicating whether + * Google Compute Engine should automatically create routes for the peering. + */ + interface Schema$NetworkPeering { + /** + * Whether full mesh connectivity is created and managed automatically. When + * it is set to true, Google Compute Engine will automatically create and + * manage the routes between two networks when the state is ACTIVE. + * Otherwise, user needs to create routes manually to route packets to peer + * network. + */ + autoCreateRoutes?: boolean; + /** + * Name of this peering. Provided by the client when the peering is created. + * The name must comply with RFC1035. Specifically, the name must be 1-63 + * characters long and match regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` + * which means the first character must be a lowercase letter, and all the + * following characters must be a dash, lowercase letter, or digit, except + * the last character, which cannot be a dash. + */ + name?: string; + /** + * The URL of the peer network. It can be either full URL or partial URL. + * The peer network may belong to a different project. If the partial URL + * does not contain project, it is assumed that the peer network is in the + * same project as the current network. + */ + network?: string; + /** + * [Output Only] State for the peering. + */ + state?: string; + /** + * [Output Only] Details about the current state of the peering. + */ + stateDetails?: string; + } + /** + * A routing configuration attached to a network resource. The message + * includes the list of routers associated with the network, and a flag + * indicating the type of routing behavior to enforce network-wide. + */ + interface Schema$NetworkRoutingConfig { + /** + * The network-wide routing mode to use. If set to REGIONAL, this + * network's cloud routers will only advertise routes with subnetworks + * of this network in the same region as the router. If set to GLOBAL, this + * network's cloud routers will advertise routes with all subnetworks of + * this network, across regions. + */ + routingMode?: string; + } + interface Schema$NetworksAddPeeringRequest { + /** + * Whether Google Compute Engine manages the routes automatically. + */ + autoCreateRoutes?: boolean; + /** + * Name of the peering, which should conform to RFC1035. + */ + name?: string; + /** + * URL of the peer network. It can be either full URL or partial URL. The + * peer network may belong to a different project. If the partial URL does + * not contain project, it is assumed that the peer network is in the same + * project as the current network. + */ + peerNetwork?: string; + } + interface Schema$NetworksRemovePeeringRequest { + /** + * Name of the peering, which should conform to RFC1035. + */ + name?: string; + } + /** + * A NodeGroup resource. + */ + interface Schema$NodeGroup { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] The type of the resource. Always compute#nodeGroup for node + * group. + */ + kind?: string; + /** + * The name of the resource, provided by the client when initially creating + * the resource. The resource name must be 1-63 characters long, and comply + * with RFC1035. Specifically, the name must be 1-63 characters long and + * match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the + * first character must be a lowercase letter, and all following characters + * must be a dash, lowercase letter, or digit, except the last character, + * which cannot be a dash. + */ + name?: string; + /** + * The URL of the node template to which this node group belongs. + */ + nodeTemplate?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] The total number of nodes in the node group. + */ + size?: number; + status?: string; + /** + * [Output Only] The name of the zone where the node group resides, such as + * us-central1-a. + */ + zone?: string; + } + interface Schema$NodeGroupAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of NodeGroupsScopedList resources. + */ + items?: any; + /** + * [Output Only] Type of resource.Always compute#nodeGroupAggregatedList for + * aggregated lists of node groups. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of nodeGroups. + */ + interface Schema$NodeGroupList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of NodeGroup resources. + */ + items?: Schema$NodeGroup[]; + /** + * [Output Only] Type of resource.Always compute#nodeGroupList for lists of + * node groups. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$NodeGroupNode { + /** + * Instances scheduled on this node. + */ + instances?: string[]; + /** + * The name of the node. + */ + name?: string; + /** + * The type of this node. + */ + nodeType?: string; + status?: string; + } + interface Schema$NodeGroupsAddNodesRequest { + /** + * Count of additional nodes to be added to the node group. + */ + additionalNodeCount?: number; + } + interface Schema$NodeGroupsDeleteNodesRequest { + nodes?: string[]; + } + interface Schema$NodeGroupsListNodes { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Node resources. + */ + items?: Schema$NodeGroupNode[]; + /** + * [Output Only] The resource type, which is always + * compute.nodeGroupsListNodes for the list of nodes in the specified node + * group. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$NodeGroupsScopedList { + /** + * [Output Only] A list of node groups contained in this scope. + */ + nodeGroups?: Schema$NodeGroup[]; + /** + * [Output Only] An informational warning that appears when the nodeGroup + * list is empty. + */ + warning?: any; + } + interface Schema$NodeGroupsSetNodeTemplateRequest { + /** + * Full or partial URL of the node template resource to be updated for this + * node group. + */ + nodeTemplate?: string; + } + /** + * A Node Template resource. + */ + interface Schema$NodeTemplate { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] The type of the resource. Always compute#nodeTemplate for + * node templates. + */ + kind?: string; + /** + * The name of the resource, provided by the client when initially creating + * the resource. The resource name must be 1-63 characters long, and comply + * with RFC1035. Specifically, the name must be 1-63 characters long and + * match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the + * first character must be a lowercase letter, and all following characters + * must be a dash, lowercase letter, or digit, except the last charaicter, + * which cannot be a dash. + */ + name?: string; + /** + * Labels to use for node affinity, which will be used in instance + * scheduling. + */ + nodeAffinityLabels?: any; + /** + * The node type to use for nodes group that are created from this template. + */ + nodeType?: string; + /** + * The flexible properties of the desired node type. Node groups that use + * this node template will create nodes of a type that matches these + * properties. This field is mutually exclusive with the node_type + * property; you can only define one or the other, but not both. + */ + nodeTypeFlexibility?: Schema$NodeTemplateNodeTypeFlexibility; + /** + * [Output Only] The name of the region where the node template resides, + * such as us-central1. + */ + region?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] The status of the node template. One of the following + * values: CREATING, READY, and DELETING. + */ + status?: string; + /** + * [Output Only] An optional, human-readable explanation of the status. + */ + statusMessage?: string; + } + interface Schema$NodeTemplateAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of NodeTemplatesScopedList resources. + */ + items?: any; + /** + * [Output Only] Type of resource.Always compute#nodeTemplateAggregatedList + * for aggregated lists of node templates. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of node templates. + */ + interface Schema$NodeTemplateList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of NodeTemplate resources. + */ + items?: Schema$NodeTemplate[]; + /** + * [Output Only] Type of resource.Always compute#nodeTemplateList for lists + * of node templates. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$NodeTemplateNodeTypeFlexibility { + cpus?: string; + localSsd?: string; + memory?: string; + } + interface Schema$NodeTemplatesScopedList { + /** + * [Output Only] A list of node templates contained in this scope. + */ + nodeTemplates?: Schema$NodeTemplate[]; + /** + * [Output Only] An informational warning that appears when the node + * templates list is empty. + */ + warning?: any; + } + /** + * A Node Type resource. + */ + interface Schema$NodeType { + /** + * [Output Only] The CPU platform used by this node type. + */ + cpuPlatform?: string; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * [Output Only] The deprecation status associated with this node type. + */ + deprecated?: Schema$DeprecationStatus; + /** + * [Output Only] An optional textual description of the resource. + */ + description?: string; + /** + * [Output Only] The number of virtual CPUs that are available to the node + * type. + */ + guestCpus?: number; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] The type of the resource. Always compute#nodeType for node + * types. + */ + kind?: string; + /** + * [Output Only] Local SSD available to the node type, defined in GB. + */ + localSsdGb?: number; + /** + * [Output Only] The amount of physical memory available to the node type, + * defined in MB. + */ + memoryMb?: number; + /** + * [Output Only] Name of the resource. + */ + name?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] The name of the zone where the node type resides, such as + * us-central1-a. + */ + zone?: string; + } + interface Schema$NodeTypeAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of NodeTypesScopedList resources. + */ + items?: any; + /** + * [Output Only] Type of resource.Always compute#nodeTypeAggregatedList for + * aggregated lists of node types. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of node types. + */ + interface Schema$NodeTypeList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of NodeType resources. + */ + items?: Schema$NodeType[]; + /** + * [Output Only] Type of resource.Always compute#nodeTypeList for lists of + * node types. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$NodeTypesScopedList { + /** + * [Output Only] A list of node types contained in this scope. + */ + nodeTypes?: Schema$NodeType[]; + /** + * [Output Only] An informational warning that appears when the node types + * list is empty. + */ + warning?: any; + } + /** + * An Operation resource, used to manage asynchronous API requests. (== + * resource_for v1.globalOperations ==) (== resource_for beta.globalOperations + * ==) (== resource_for v1.regionOperations ==) (== resource_for + * beta.regionOperations ==) (== resource_for v1.zoneOperations ==) (== + * resource_for beta.zoneOperations ==) + */ + interface Schema$Operation { + /** + * [Output Only] The value of `requestId` if you provided it in the request. + * Not present otherwise. + */ + clientOperationId?: string; + /** + * [Deprecated] This field is deprecated. + */ + creationTimestamp?: string; + /** + * [Output Only] A textual description of the operation, which is set when + * the operation is created. + */ + description?: string; + /** + * [Output Only] The time that this operation was completed. This value is + * in RFC3339 text format. + */ + endTime?: string; + /** + * [Output Only] If errors are generated during processing of the operation, + * this field will be populated. + */ + error?: any; + /** + * [Output Only] If the operation fails, this field contains the HTTP error + * message that was returned, such as NOT FOUND. + */ + httpErrorMessage?: string; + /** + * [Output Only] If the operation fails, this field contains the HTTP error + * status code that was returned. For example, a 404 means the resource was + * not found. + */ + httpErrorStatusCode?: number; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] The time that this operation was requested. This value is + * in RFC3339 text format. + */ + insertTime?: string; + /** + * [Output Only] Type of the resource. Always compute#operation for + * Operation resources. + */ + kind?: string; + /** + * [Output Only] Name of the resource. + */ + name?: string; + /** + * [Output Only] The type of operation, such as insert, update, or delete, + * and so on. + */ + operationType?: string; + /** + * [Output Only] An optional progress indicator that ranges from 0 to 100. + * There is no requirement that this be linear or support any granularity of + * operations. This should not be used to guess when the operation will be + * complete. This number should monotonically increase as the operation + * progresses. + */ + progress?: number; + /** + * [Output Only] The URL of the region where the operation resides. Only + * available when performing regional operations. You must specify this + * field as part of the HTTP request URL. It is not settable as a field in + * the request body. + */ + region?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] The time that this operation was started by the server. + * This value is in RFC3339 text format. + */ + startTime?: string; + /** + * [Output Only] The status of the operation, which can be one of the + * following: PENDING, RUNNING, or DONE. + */ + status?: string; + /** + * [Output Only] An optional textual description of the current status of + * the operation. + */ + statusMessage?: string; + /** + * [Output Only] The unique target ID, which identifies a specific + * incarnation of the target resource. + */ + targetId?: string; + /** + * [Output Only] The URL of the resource that the operation modifies. For + * operations related to creating a snapshot, this points to the persistent + * disk that the snapshot was created from. + */ + targetLink?: string; + /** + * [Output Only] User who requested the operation, for example: + * user@example.com. + */ + user?: string; + /** + * [Output Only] If warning messages are generated during processing of the + * operation, this field will be populated. + */ + warnings?: any[]; + /** + * [Output Only] The URL of the zone where the operation resides. Only + * available when performing per-zone operations. You must specify this + * field as part of the HTTP request URL. It is not settable as a field in + * the request body. + */ + zone?: string; + } + interface Schema$OperationAggregatedList { + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] A map of scoped operation lists. + */ + items?: any; + /** + * [Output Only] Type of resource. Always compute#operationAggregatedList + * for aggregated lists of operations. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of Operation resources. + */ + interface Schema$OperationList { + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] A list of Operation resources. + */ + items?: Schema$Operation[]; + /** + * [Output Only] Type of resource. Always compute#operations for Operations + * resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$OperationsScopedList { + /** + * [Output Only] A list of operations contained in this scope. + */ + operations?: Schema$Operation[]; + /** + * [Output Only] Informational warning which replaces the list of operations + * when the list is empty. + */ + warning?: any; + } + /** + * A matcher for the path portion of the URL. The BackendService from the + * longest-matched rule will serve the URL. If no rule was matched, the + * default service will be used. + */ + interface Schema$PathMatcher { + /** + * The full or partial URL to the BackendService resource. This will be used + * if none of the pathRules defined by this PathMatcher is matched by the + * URL's path portion. For example, the following are all valid URLs to + * a BackendService resource: - + * https://www.googleapis.com/compute/v1/projects/project/global/backendServices/backendService + * - compute/v1/projects/project/global/backendServices/backendService - + * global/backendServices/backendService + */ + defaultService?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * The name to which this PathMatcher is referred by the HostRule. + */ + name?: string; + /** + * The list of path rules. + */ + pathRules?: Schema$PathRule[]; + } + /** + * A path-matching rule for a URL. If matched, will use the specified + * BackendService to handle the traffic arriving at this URL. + */ + interface Schema$PathRule { + /** + * The list of path patterns to match. Each must start with / and the only + * place a * is allowed is at the end following a /. The string fed to the + * path matcher does not include any text after the first ? or #, and those + * chars are not allowed here. + */ + paths?: string[]; + /** + * The URL of the BackendService resource if this rule is matched. + */ + service?: string; + } + /** + * Defines an Identity and Access Management (IAM) policy. It is used to + * specify access control policies for Cloud Platform resources. A `Policy` + * consists of a list of `bindings`. A `binding` binds a list of `members` to + * a `role`, where the members can be user accounts, Google groups, Google + * domains, and service accounts. A `role` is a named list of permissions + * defined by IAM. **JSON Example** { "bindings": [ { + * "role": "roles/owner", "members": [ + * "user:mike@example.com", "group:admins@example.com", + * "domain:google.com", + * "serviceAccount:my-other-app@appspot.gserviceaccount.com" ] }, { + * "role": "roles/viewer", "members": + * ["user:sean@example.com"] } ] } **YAML Example** bindings: - + * members: - user:mike@example.com - group:admins@example.com - + * domain:google.com - serviceAccount:my-other-app@appspot.gserviceaccount.com + * role: roles/owner - members: - user:sean@example.com role: roles/viewer For + * a description of IAM and its features, see the [IAM developer's + * guide](https://cloud.google.com/iam/docs). + */ + interface Schema$Policy { + /** + * Specifies cloud audit logging configuration for this policy. + */ + auditConfigs?: Schema$AuditConfig[]; + /** + * Associates a list of `members` to a `role`. `bindings` with no members + * will result in an error. + */ + bindings?: Schema$Binding[]; + /** + * `etag` is used for optimistic concurrency control as a way to help + * prevent simultaneous updates of a policy from overwriting each other. It + * is strongly suggested that systems make use of the `etag` in the + * read-modify-write cycle to perform policy updates in order to avoid race + * conditions: An `etag` is returned in the response to `getIamPolicy`, and + * systems are expected to put that etag in the request to `setIamPolicy` to + * ensure that their change will be applied to the same version of the + * policy. If no `etag` is provided in the call to `setIamPolicy`, then the + * existing policy is overwritten blindly. + */ + etag?: string; + iamOwned?: boolean; + /** + * If more than one rule is specified, the rules are applied in the + * following manner: - All matching LOG rules are always applied. - If any + * DENY/DENY_WITH_LOG rule matches, permission is denied. Logging will be + * applied if one or more matching rule requires logging. - Otherwise, if + * any ALLOW/ALLOW_WITH_LOG rule matches, permission is granted. Logging + * will be applied if one or more matching rule requires logging. - + * Otherwise, if no rule applies, permission is denied. + */ + rules?: Schema$Rule[]; + /** + * Deprecated. + */ + version?: number; + } + interface Schema$PreconfiguredWafSet { + /** + * List of entities that are currently supported for WAF rules. + */ + expressionSets?: Schema$WafExpressionSet[]; + } + /** + * A Project resource. For an overview of projects, see Cloud Platform + * Resource Hierarchy. (== resource_for v1.projects ==) (== resource_for + * beta.projects ==) + */ + interface Schema$Project { + /** + * Metadata key/value pairs available to all instances contained in this + * project. See Custom metadata for more information. + */ + commonInstanceMetadata?: Schema$Metadata; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * This signifies the default network tier used for configuring resources of + * the project and can only take the following values: PREMIUM, STANDARD. + * Initially the default network tier is PREMIUM. + */ + defaultNetworkTier?: string; + /** + * [Output Only] Default service account used by VMs running in this + * project. + */ + defaultServiceAccount?: string; + /** + * An optional textual description of the resource. + */ + description?: string; + /** + * Restricted features enabled for use on this project. + */ + enabledFeatures?: string[]; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. This is not the project ID, and is just a unique + * ID used by Compute Engine to identify resources. + */ + id?: string; + /** + * [Output Only] Type of the resource. Always compute#project for projects. + */ + kind?: string; + /** + * The project ID. For example: my-example-project. Use the project ID to + * make requests to Compute Engine. + */ + name?: string; + /** + * [Output Only] Quotas assigned to this project. + */ + quotas?: Schema$Quota[]; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * The naming prefix for daily usage reports and the Google Cloud Storage + * bucket where they are stored. + */ + usageExportLocation?: Schema$UsageExportLocation; + /** + * [Output Only] The role this project has in a shared VPC configuration. + * Currently only HOST projects are differentiated. + */ + xpnProjectStatus?: string; + } + interface Schema$ProjectsDisableXpnResourceRequest { + /** + * Service resource (a.k.a service project) ID. + */ + xpnResource?: Schema$XpnResourceId; + } + interface Schema$ProjectsEnableXpnResourceRequest { + /** + * Service resource (a.k.a service project) ID. + */ + xpnResource?: Schema$XpnResourceId; + } + interface Schema$ProjectsGetXpnResources { + /** + * [Output Only] Type of resource. Always compute#projectsGetXpnResources + * for lists of service resources (a.k.a service projects) + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * Service resources (a.k.a service projects) attached to this project as + * their shared VPC host. + */ + resources?: Schema$XpnResourceId[]; + } + interface Schema$ProjectsListXpnHostsRequest { + /** + * Optional organization ID managed by Cloud Resource Manager, for which to + * list shared VPC host projects. If not specified, the organization will be + * inferred from the project. + */ + organization?: string; + } + interface Schema$ProjectsSetDefaultNetworkTierRequest { + /** + * Default network tier to be set. + */ + networkTier?: string; + } + /** + * A quotas entry. + */ + interface Schema$Quota { + /** + * [Output Only] Quota limit for this metric. + */ + limit?: number; + /** + * [Output Only] Name of the quota metric. + */ + metric?: string; + /** + * [Output Only] Current usage of this metric. + */ + usage?: number; + } + /** + * Represents a reference to a resource. + */ + interface Schema$Reference { + /** + * [Output Only] Type of the resource. Always compute#reference for + * references. + */ + kind?: string; + /** + * A description of the reference type with no implied semantics. Possible + * values include: - MEMBER_OF + */ + referenceType?: string; + /** + * URL of the resource which refers to the target. + */ + referrer?: string; + /** + * URL of the resource to which this reference points. + */ + target?: string; + } + /** + * Region resource. (== resource_for beta.regions ==) (== resource_for + * v1.regions ==) + */ + interface Schema$Region { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * [Output Only] The deprecation status associated with this region. + */ + deprecated?: Schema$DeprecationStatus; + /** + * [Output Only] Textual description of the resource. + */ + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of the resource. Always compute#region for regions. + */ + kind?: string; + /** + * [Output Only] Name of the resource. + */ + name?: string; + /** + * [Output Only] Quotas assigned to this region. + */ + quotas?: Schema$Quota[]; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] Status of the region, either UP or DOWN. + */ + status?: string; + /** + * [Output Only] A list of zones available in this region, in the form of + * resource URLs. + */ + zones?: string[]; + } + /** + * Contains a list of autoscalers. + */ + interface Schema$RegionAutoscalerList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Autoscaler resources. + */ + items?: Schema$Autoscaler[]; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$RegionDisksAddResourcePoliciesRequest { + /** + * Resource policies to be added to this disk. + */ + resourcePolicies?: string[]; + } + interface Schema$RegionDisksRemoveResourcePoliciesRequest { + /** + * Resource policies to be removed from this disk. + */ + resourcePolicies?: string[]; + } + interface Schema$RegionDisksResizeRequest { + /** + * The new size of the regional persistent disk, which is specified in GB. + */ + sizeGb?: string; + } + interface Schema$RegionDiskTypeList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of DiskType resources. + */ + items?: Schema$DiskType[]; + /** + * [Output Only] Type of resource. Always compute#regionDiskTypeList for + * region disk types. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of InstanceGroup resources. + */ + interface Schema$RegionInstanceGroupList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of InstanceGroup resources. + */ + items?: Schema$InstanceGroup[]; + /** + * The resource type. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of managed instance groups. + */ + interface Schema$RegionInstanceGroupManagerList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of InstanceGroupManager resources. + */ + items?: Schema$InstanceGroupManager[]; + /** + * [Output Only] The resource type, which is always + * compute#instanceGroupManagerList for a list of managed instance groups + * that exist in th regional scope. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$RegionInstanceGroupManagersAbandonInstancesRequest { + /** + * The URLs of one or more instances to abandon. This can be a full URL or a + * partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. + */ + instances?: string[]; + } + interface Schema$RegionInstanceGroupManagersDeleteInstancesRequest { + /** + * The URLs of one or more instances to delete. This can be a full URL or a + * partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. + */ + instances?: string[]; + } + interface Schema$RegionInstanceGroupManagersListInstancesResponse { + /** + * A list of managed instances. + */ + managedInstances?: Schema$ManagedInstance[]; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + } + interface Schema$RegionInstanceGroupManagersRecreateRequest { + /** + * The URLs of one or more instances to recreate. This can be a full URL or + * a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. + */ + instances?: string[]; + } + interface Schema$RegionInstanceGroupManagersSetAutoHealingRequest { + autoHealingPolicies?: Schema$InstanceGroupManagerAutoHealingPolicy[]; + } + interface Schema$RegionInstanceGroupManagersSetTargetPoolsRequest { + /** + * Fingerprint of the target pools information, which is a hash of the + * contents. This field is used for optimistic locking when you update the + * target pool entries. This field is optional. + */ + fingerprint?: string; + /** + * The URL of all TargetPool resources to which instances in the + * instanceGroup field are added. The target pools automatically apply to + * all of the instances in the managed instance group. + */ + targetPools?: string[]; + } + interface Schema$RegionInstanceGroupManagersSetTemplateRequest { + /** + * URL of the InstanceTemplate resource from which all new instances will be + * created. + */ + instanceTemplate?: string; + } + interface Schema$RegionInstanceGroupsListInstances { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of InstanceWithNamedPorts resources. + */ + items?: Schema$InstanceWithNamedPorts[]; + /** + * The resource type. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$RegionInstanceGroupsListInstancesRequest { + /** + * Instances in which state should be returned. Valid options are: + * 'ALL', 'RUNNING'. By default, it lists all instances. + */ + instanceState?: string; + /** + * Name of port user is interested in. It is optional. If it is set, only + * information about this ports will be returned. If it is not set, all the + * named ports will be returned. Always lists all instances. + */ + portName?: string; + } + interface Schema$RegionInstanceGroupsSetNamedPortsRequest { + /** + * The fingerprint of the named ports information for this instance group. + * Use this optional property to prevent conflicts when multiple users + * change the named ports settings concurrently. Obtain the fingerprint with + * the instanceGroups.get method. Then, include the fingerprint in your + * request to ensure that you do not overwrite changes that were applied + * from another concurrent request. + */ + fingerprint?: string; + /** + * The list of named ports to set for this instance group. + */ + namedPorts?: Schema$NamedPort[]; + } + /** + * Contains a list of region resources. + */ + interface Schema$RegionList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Region resources. + */ + items?: Schema$Region[]; + /** + * [Output Only] Type of resource. Always compute#regionList for lists of + * regions. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$RegionSetLabelsRequest { + /** + * The fingerprint of the previous set of labels for this resource, used to + * detect conflicts. The fingerprint is initially generated by Compute + * Engine and changes after every request to modify or update labels. You + * must always provide an up-to-date fingerprint hash in order to update or + * change labels. Make a get() request to the resource to get the latest + * fingerprint. + */ + labelFingerprint?: string; + /** + * The labels to set for this resource. + */ + labels?: any; + } + interface Schema$RegionSetPolicyRequest { + /** + * Flatten Policy to create a backwacd compatible wire-format. Deprecated. + * Use 'policy' to specify bindings. + */ + bindings?: Schema$Binding[]; + /** + * Flatten Policy to create a backward compatible wire-format. Deprecated. + * Use 'policy' to specify the etag. + */ + etag?: string; + /** + * REQUIRED: The complete policy to be applied to the 'resource'. + * The size of the policy is limited to a few 10s of KB. An empty policy is + * in general a valid policy but certain services (like Projects) might + * reject them. + */ + policy?: Schema$Policy; + } + /** + * Commitment for a particular resource (a Commitment is composed of one or + * more of these). + */ + interface Schema$ResourceCommitment { + /** + * The amount of the resource purchased (in a type-dependent unit, such as + * bytes). For vCPUs, this can just be an integer. For memory, this must be + * provided in MB. Memory must be a multiple of 256 MB, with up to 6.5GB of + * memory per every vCPU. + */ + amount?: string; + /** + * Type of resource for which this commitment applies. Possible values are + * VCPU and MEMORY + */ + type?: string; + } + interface Schema$ResourceGroupReference { + /** + * A URI referencing one of the instance groups listed in the backend + * service. + */ + group?: string; + } + interface Schema$ResourcePoliciesScopedList { + /** + * A list of resourcePolicies contained in this scope. + */ + resourcePolicies?: Schema$ResourcePolicy[]; + /** + * Informational warning which replaces the list of resourcePolicies when + * the list is empty. + */ + warning?: any; + } + interface Schema$ResourcePolicy { + /** + * Resource policy for persistent disks for creating snapshots. + */ + backupSchedulePolicy?: Schema$ResourcePolicyBackupSchedulePolicy; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of the resource. Always compute#resource_policies for + * resource policies. + */ + kind?: string; + /** + * The name of the resource, provided by the client when initially creating + * the resource. The resource name must be 1-63 characters long, and comply + * with RFC1035. Specifically, the name must be 1-63 characters long and + * match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the + * first character must be a lowercase letter, and all following characters + * must be a dash, lowercase letter, or digit, except the last character, + * which cannot be a dash. + */ + name?: string; + region?: string; + /** + * [Output Only] Server-defined fully-qualified URL for this resource. + */ + selfLink?: string; + } + /** + * Contains a list of resourcePolicies. + */ + interface Schema$ResourcePolicyAggregatedList { + etag?: string; + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of ResourcePolicy resources. + */ + items?: any; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * A backup schedule policy specifies when and how frequently snapshots are to + * be created for the target disk. Also specifies how many and how long these + * automatically created snapshot should be retained. + */ + interface Schema$ResourcePolicyBackupSchedulePolicy { + /** + * Retention policy applied to snapshots created by this resource policy. + */ + retentionPolicy?: Schema$ResourcePolicyBackupSchedulePolicyRetentionPolicy; + /** + * A Vm Maintenance Policy specifies what kind of infrastructure maintenance + * we are allowed to perform on this VM and when. Schedule that is applied + * to disks covered by this policy. + */ + schedule?: Schema$ResourcePolicyBackupSchedulePolicySchedule; + /** + * Properties with which snapshots are created such as lables, encryption + * keys. + */ + snapshotProperties?: Schema$ResourcePolicyBackupSchedulePolicySnapshotProperties; + } + /** + * Policy for retention of automatically created snapshots. + */ + interface Schema$ResourcePolicyBackupSchedulePolicyRetentionPolicy { + /** + * Maximum age of the snapshot that is allowed to be kept. + */ + maxRetentionDays?: number; + } + /** + * A schedule for disks where the schedueled operations are performed. + */ + interface Schema$ResourcePolicyBackupSchedulePolicySchedule { + dailySchedule?: Schema$ResourcePolicyDailyCycle; + hourlySchedule?: Schema$ResourcePolicyHourlyCycle; + weeklySchedule?: Schema$ResourcePolicyWeeklyCycle; + } + /** + * Specified snapshot properties for automatic snapshots created by this + * policy. + */ + interface Schema$ResourcePolicyBackupSchedulePolicySnapshotProperties { + /** + * Indication to perform a ?guest aware? snapshot. + */ + guestFlush?: boolean; + /** + * Labels to apply to automatic snapshots. These can be later modified by + * the setLabels method. Label values may be empty. + */ + labels?: any; + /** + * GCS bucket storage location of the auto snapshot (regional or + * multi-regional). + */ + storageLocations?: string[]; + } + /** + * Time window specified for daily operations. + */ + interface Schema$ResourcePolicyDailyCycle { + /** + * Allows to define schedule that runs every nth day of the month. + */ + daysInCycle?: number; + /** + * [Output only] Duration of the time window, automatically chosen to be + * smallest possible in the given scenario. + */ + duration?: string; + /** + * Time within the window to start the operations. It must be in format + * "HH:MM?, where HH : [00-23] and MM : [00-59] GMT. + */ + startTime?: string; + } + /** + * Time window specified for hourly operations. + */ + interface Schema$ResourcePolicyHourlyCycle { + /** + * [Output only] Duration of the time window, automatically chosen to be + * smallest possible in the given scenario. + */ + duration?: string; + /** + * Allows to define schedule that runs every nth hour. + */ + hoursInCycle?: number; + /** + * Time within the window to start the operations. It must be in format + * "HH:MM?, where HH : [00-23] and MM : [00-59] GMT. + */ + startTime?: string; + } + interface Schema$ResourcePolicyList { + etag?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] A list of ResourcePolicy resources. + */ + items?: Schema$ResourcePolicy[]; + /** + * [Output Only] Type of resource.Always compute#resourcePoliciesList for + * listsof resourcePolicies + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Time window specified for weekly operations. + */ + interface Schema$ResourcePolicyWeeklyCycle { + /** + * Up to 7 intervals/windows, one for each day of the week. + */ + dayOfWeeks?: Schema$ResourcePolicyWeeklyCycleDayOfWeek[]; + } + interface Schema$ResourcePolicyWeeklyCycleDayOfWeek { + /** + * Allows to define schedule that runs specified day of the week. + */ + day?: string; + /** + * [Output only] Duration of the time window, automatically chosen to be + * smallest possible in the given scenario. + */ + duration?: string; + /** + * Time within the window to start the operations. It must be in format + * "HH:MM?, where HH : [00-23] and MM : [00-59] GMT. + */ + startTime?: string; + } + /** + * Represents a Route resource. A route specifies how certain packets should + * be handled by the network. Routes are associated with instances by tags and + * the set of routes for a particular instance is called its routing table. + * For each packet leaving an instance, the system searches that + * instance's routing table for a single best matching route. Routes match + * packets by destination IP address, preferring smaller or more specific + * ranges over larger ones. If there is a tie, the system selects the route + * with the smallest priority value. If there is still a tie, it uses the + * layer three and four packet headers to select just one of the remaining + * matching routes. The packet is then forwarded as specified by the nextHop + * field of the winning route - either to another instance destination, an + * instance gateway, or a Google Compute Engine-operated gateway. Packets + * that do not match any route in the sending instance's routing table are + * dropped. (== resource_for beta.routes ==) (== resource_for v1.routes ==) + */ + interface Schema$Route { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * The destination range of outgoing packets that this route applies to. + * Only IPv4 is supported. + */ + destRange?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of this resource. Always compute#routes for Route + * resources. + */ + kind?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * Fully-qualified URL of the network that this route applies to. + */ + network?: string; + /** + * The URL to a gateway that should handle matching packets. You can only + * specify the internet gateway using a full or partial valid URL: + * projects/<project-id>/global/gateways/default-internet-gateway + */ + nextHopGateway?: string; + /** + * The URL to an instance that should handle matching packets. You can + * specify this as a full or partial URL. For example: + * https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/ + */ + nextHopInstance?: string; + /** + * The network IP address of an instance that should handle matching + * packets. Only IPv4 is supported. + */ + nextHopIp?: string; + /** + * The URL of the local network if it should handle matching packets. + */ + nextHopNetwork?: string; + /** + * [Output Only] The network peering name that should handle matching + * packets, which should conform to RFC1035. + */ + nextHopPeering?: string; + /** + * The URL to a VpnTunnel that should handle matching packets. + */ + nextHopVpnTunnel?: string; + /** + * The priority of this route. Priority is used to break ties in cases where + * there is more than one matching route of equal prefix length. In the case + * of two routes with equal prefix length, the one with the lowest-numbered + * priority value wins. Default value is 1000. Valid range is 0 through + * 65535. + */ + priority?: number; + /** + * [Output Only] Server-defined fully-qualified URL for this resource. + */ + selfLink?: string; + /** + * A list of instance tags to which this route applies. + */ + tags?: string[]; + /** + * [Output Only] If potential misconfigurations are detected for this route, + * this field will be populated with warning messages. + */ + warnings?: any[]; + } + /** + * Contains a list of Route resources. + */ + interface Schema$RouteList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Route resources. + */ + items?: Schema$Route[]; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Router resource. + */ + interface Schema$Router { + /** + * BGP information specific to this router. + */ + bgp?: Schema$RouterBgp; + /** + * BGP information that needs to be configured into the routing stack to + * establish the BGP peering. It must specify peer ASN and either interface + * name, IP, or peer IP. Please refer to RFC4273. + */ + bgpPeers?: Schema$RouterBgpPeer[]; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * Router interfaces. Each interface requires either one linked resource + * (e.g. linkedVpnTunnel), or IP address and IP address range (e.g. + * ipRange), or both. + */ + interfaces?: Schema$RouterInterface[]; + /** + * [Output Only] Type of resource. Always compute#router for routers. + */ + kind?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * A list of Nat services created in this router. + */ + nats?: Schema$RouterNat[]; + /** + * URI of the network to which this router belongs. + */ + network?: string; + /** + * [Output Only] URI of the region where the router resides. You must + * specify this field as part of the HTTP request URL. It is not settable as + * a field in the request body. + */ + region?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + } + /** + * Description-tagged IP ranges for the router to advertise. + */ + interface Schema$RouterAdvertisedIpRange { + /** + * User-specified description for the IP range. + */ + description?: string; + /** + * The IP range to advertise. The value must be a CIDR-formatted string. + */ + range?: string; + } + /** + * Contains a list of routers. + */ + interface Schema$RouterAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Router resources. + */ + items?: any; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$RouterBgp { + /** + * User-specified list of prefix groups to advertise in custom mode. This + * field can only be populated if advertise_mode is CUSTOM and is advertised + * to all peers of the router. These groups will be advertised in addition + * to any specified prefixes. Leave this field blank to advertise no custom + * groups. + */ + advertisedGroups?: string[]; + /** + * User-specified list of individual IP ranges to advertise in custom mode. + * This field can only be populated if advertise_mode is CUSTOM and is + * advertised to all peers of the router. These IP ranges will be advertised + * in addition to any specified groups. Leave this field blank to advertise + * no custom IP ranges. + */ + advertisedIpRanges?: Schema$RouterAdvertisedIpRange[]; + /** + * User-specified flag to indicate which mode to use for advertisement. + */ + advertiseMode?: string; + /** + * Local BGP Autonomous System Number (ASN). Must be an RFC6996 private ASN, + * either 16-bit or 32-bit. The value will be fixed for this router + * resource. All VPN tunnels that link to this router will have the same + * local ASN. + */ + asn?: number; + } + interface Schema$RouterBgpPeer { + /** + * User-specified list of prefix groups to advertise in custom mode. This + * field can only be populated if advertise_mode is CUSTOM and overrides the + * list defined for the router (in Bgp message). These groups will be + * advertised in addition to any specified prefixes. Leave this field blank + * to advertise no custom groups. + */ + advertisedGroups?: string[]; + /** + * User-specified list of individual IP ranges to advertise in custom mode. + * This field can only be populated if advertise_mode is CUSTOM and + * overrides the list defined for the router (in Bgp message). These IP + * ranges will be advertised in addition to any specified groups. Leave this + * field blank to advertise no custom IP ranges. + */ + advertisedIpRanges?: Schema$RouterAdvertisedIpRange[]; + /** + * The priority of routes advertised to this BGP peer. In the case where + * there is more than one matching route of maximum length, the routes with + * lowest priority value win. + */ + advertisedRoutePriority?: number; + /** + * User-specified flag to indicate which mode to use for advertisement. + */ + advertiseMode?: string; + /** + * Name of the interface the BGP peer is associated with. + */ + interfaceName?: string; + /** + * IP address of the interface inside Google Cloud Platform. Only IPv4 is + * supported. + */ + ipAddress?: string; + /** + * [Output Only] Type of how the resource/configuration of the BGP peer is + * managed. MANAGED_BY_USER is the default value; MANAGED_BY_ATTACHMENT + * represents an BGP peer that is automatically created for PARTNER + * interconnectAttachment, Google will automatically create/delete this type + * of BGP peer when the PARTNER interconnectAttachment is created/deleted. + */ + managementType?: string; + /** + * Name of this BGP peer. The name must be 1-63 characters long and comply + * with RFC1035. + */ + name?: string; + /** + * Peer BGP Autonomous System Number (ASN). For VPN use case, this value can + * be different for every tunnel. + */ + peerAsn?: number; + /** + * IP address of the BGP interface outside Google cloud. Only IPv4 is + * supported. + */ + peerIpAddress?: string; + } + interface Schema$RouterInterface { + /** + * IP address and range of the interface. The IP range must be in the + * RFC3927 link-local IP space. The value must be a CIDR-formatted string, + * for example: 169.254.0.1/30. NOTE: Do not truncate the address as it + * represents the IP address of the interface. + */ + ipRange?: string; + /** + * URI of the linked interconnect attachment. It must be in the same region + * as the router. Each interface can have at most one linked resource and it + * could either be a VPN Tunnel or an interconnect attachment. + */ + linkedInterconnectAttachment?: string; + /** + * URI of the linked VPN tunnel. It must be in the same region as the + * router. Each interface can have at most one linked resource and it could + * either be a VPN Tunnel or an interconnect attachment. + */ + linkedVpnTunnel?: string; + /** + * [Output Only] Type of how the resource/configuration of the interface is + * managed. MANAGED_BY_USER is the default value; MANAGED_BY_ATTACHMENT + * represents an interface that is automatically created for PARTNER type + * interconnectAttachment, Google will automatically create/update/delete + * this type of interface when the PARTNER interconnectAttachment is + * created/provisioned/deleted. + */ + managementType?: string; + /** + * Name of this interface entry. The name must be 1-63 characters long and + * comply with RFC1035. + */ + name?: string; + } + /** + * Contains a list of Router resources. + */ + interface Schema$RouterList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Router resources. + */ + items?: Schema$Router[]; + /** + * [Output Only] Type of resource. Always compute#router for routers. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Represents a Nat resource. It enables the VMs within the specified + * subnetworks to access Internet without external IP addresses. It specifies + * a list of subnetworks (and the ranges within) that want to use NAT. + * Customers can also provide the external IPs that would be used for NAT. GCP + * would auto-allocate ephemeral IPs if no external IPs are provided. + */ + interface Schema$RouterNat { + /** + * Timeout (in seconds) for ICMP connections. Defaults to 30s if not set. + */ + icmpIdleTimeoutSec?: number; + /** + * Minimum number of ports allocated to a VM from this NAT config. If not + * set, a default number of ports is allocated to a VM. This gets rounded up + * to the nearest power of 2. Eg. if the value of this field is 50, at least + * 64 ports will be allocated to a VM. + */ + minPortsPerVm?: number; + /** + * Unique name of this Nat service. The name must be 1-63 characters long + * and comply with RFC1035. + */ + name?: string; + /** + * Specify the NatIpAllocateOption. If it is AUTO_ONLY, then nat_ip should + * be empty. + */ + natIpAllocateOption?: string; + /** + * A list of URLs of the IP resources used for this Nat service. These IPs + * must be valid static external IP addresses assigned to the project. + * max_length is subject to change post alpha. + */ + natIps?: string[]; + /** + * Specify the Nat option. If this field contains + * ALL_SUBNETWORKS_ALL_IP_RANGES or ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES, + * then there should not be any other Router.Nat section in any Router for + * this network in this region. + */ + sourceSubnetworkIpRangesToNat?: string; + /** + * A list of Subnetwork resources whose traffic should be translated by NAT + * Gateway. It is used only when LIST_OF_SUBNETWORKS is selected for the + * SubnetworkIpRangeToNatOption above. + */ + subnetworks?: Schema$RouterNatSubnetworkToNat[]; + /** + * Timeout (in seconds) for TCP established connections. Defaults to 1200s + * if not set. + */ + tcpEstablishedIdleTimeoutSec?: number; + /** + * Timeout (in seconds) for TCP transitory connections. Defaults to 30s if + * not set. + */ + tcpTransitoryIdleTimeoutSec?: number; + /** + * Timeout (in seconds) for UDP connections. Defaults to 30s if not set. + */ + udpIdleTimeoutSec?: number; + } + /** + * Defines the IP ranges that want to use NAT for a subnetwork. + */ + interface Schema$RouterNatSubnetworkToNat { + /** + * URL for the subnetwork resource to use NAT. + */ + name?: string; + /** + * A list of the secondary ranges of the Subnetwork that are allowed to use + * NAT. This can be populated only if + * "LIST_OF_SECONDARY_IP_RANGES" is one of the values in + * source_ip_ranges_to_nat. + */ + secondaryIpRangeNames?: string[]; + /** + * Specify the options for NAT ranges in the Subnetwork. All usages of + * single value are valid except NAT_IP_RANGE_OPTION_UNSPECIFIED. The only + * valid option with multiple values is: ["PRIMARY_IP_RANGE", + * "LIST_OF_SECONDARY_IP_RANGES"] Default: [ALL_IP_RANGES] + */ + sourceIpRangesToNat?: string[]; + } + interface Schema$RoutersPreviewResponse { + /** + * Preview of given router. + */ + resource?: Schema$Router; + } + interface Schema$RoutersScopedList { + /** + * A list of routers contained in this scope. + */ + routers?: Schema$Router[]; + /** + * Informational warning which replaces the list of routers when the list is + * empty. + */ + warning?: any; + } + interface Schema$RouterStatus { + /** + * Best routes for this router's network. + */ + bestRoutes?: Schema$Route[]; + /** + * Best routes learned by this router. + */ + bestRoutesForRouter?: Schema$Route[]; + bgpPeerStatus?: Schema$RouterStatusBgpPeerStatus[]; + natStatus?: Schema$RouterStatusNatStatus[]; + /** + * URI of the network to which this router belongs. + */ + network?: string; + } + interface Schema$RouterStatusBgpPeerStatus { + /** + * Routes that were advertised to the remote BGP peer + */ + advertisedRoutes?: Schema$Route[]; + /** + * IP address of the local BGP interface. + */ + ipAddress?: string; + /** + * URL of the VPN tunnel that this BGP peer controls. + */ + linkedVpnTunnel?: string; + /** + * Name of this BGP peer. Unique within the Routers resource. + */ + name?: string; + /** + * Number of routes learned from the remote BGP Peer. + */ + numLearnedRoutes?: number; + /** + * IP address of the remote BGP interface. + */ + peerIpAddress?: string; + /** + * BGP state as specified in RFC1771. + */ + state?: string; + /** + * Status of the BGP peer: {UP, DOWN} + */ + status?: string; + /** + * Time this session has been up. Format: 14 years, 51 weeks, 6 days, 23 + * hours, 59 minutes, 59 seconds + */ + uptime?: string; + /** + * Time this session has been up, in seconds. Format: 145 + */ + uptimeSeconds?: string; + } + /** + * Status of a NAT contained in this router. + */ + interface Schema$RouterStatusNatStatus { + /** + * A list of IPs auto-allocated for NAT. Example: ["1.1.1.1", + * "129.2.16.89"] + */ + autoAllocatedNatIps?: string[]; + /** + * The number of extra IPs to allocate. This will be greater than 0 only if + * user-specified IPs are NOT enough to allow all configured VMs to use NAT. + * This value is meaningful only when auto-allocation of NAT IPs is *not* + * used. + */ + minExtraNatIpsNeeded?: number; + /** + * Unique name of this NAT. + */ + name?: string; + /** + * Number of VM endpoints (i.e., Nics) that can use NAT. + */ + numVmEndpointsWithNatMappings?: number; + /** + * A list of fully qualified URLs of reserved IP address resources. + */ + userAllocatedNatIpResources?: string[]; + /** + * A list of IPs user-allocated for NAT. They will be raw IP strings like + * "179.12.26.133". + */ + userAllocatedNatIps?: string[]; + } + interface Schema$RouterStatusResponse { + /** + * Type of resource. + */ + kind?: string; + result?: Schema$RouterStatus; + } + /** + * A rule to be applied in a Policy. + */ + interface Schema$Rule { + /** + * Required + */ + action?: string; + /** + * Additional restrictions that must be met. All conditions must pass for + * the rule to match. + */ + conditions?: Schema$Condition[]; + /** + * Human-readable description of the rule. + */ + description?: string; + /** + * If one or more 'in' clauses are specified, the rule matches if + * the PRINCIPAL/AUTHORITY_SELECTOR is in at least one of these entries. + */ + ins?: string[]; + /** + * The config returned to callers of tech.iam.IAM.CheckPolicy for any + * entries that match the LOG action. + */ + logConfigs?: Schema$LogConfig[]; + /** + * If one or more 'not_in' clauses are specified, the rule matches + * if the PRINCIPAL/AUTHORITY_SELECTOR is in none of the entries. + */ + notIns?: string[]; + /** + * A permission is a string of form '..' (e.g., + * 'storage.buckets.list'). A value of '*' matches all + * permissions, and a verb part of '*' (e.g., + * 'storage.buckets.*') matches all verbs. + */ + permissions?: string[]; + } + /** + * Sets the scheduling options for an Instance. + */ + interface Schema$Scheduling { + /** + * Specifies whether the instance should be automatically restarted if it is + * terminated by Compute Engine (not terminated by a user). You can only set + * the automatic restart option for standard instances. Preemptible + * instances cannot be automatically restarted. By default, this is set to + * true so an instance is automatically restarted if it is terminated by + * Compute Engine. + */ + automaticRestart?: boolean; + /** + * A set of node affinity and anti-affinity. + */ + nodeAffinities?: Schema$SchedulingNodeAffinity[]; + /** + * Defines the maintenance behavior for this instance. For standard + * instances, the default behavior is MIGRATE. For preemptible instances, + * the default and only possible behavior is TERMINATE. For more + * information, see Setting Instance Scheduling Options. + */ + onHostMaintenance?: string; + /** + * Defines whether the instance is preemptible. This can only be set during + * instance creation, it cannot be set or changed after the instance has + * been created. + */ + preemptible?: boolean; + } + /** + * Node Affinity: the configuration of desired nodes onto which this Instance + * could be scheduled. + */ + interface Schema$SchedulingNodeAffinity { + /** + * Corresponds to the label key of Node resource. + */ + key?: string; + /** + * Defines the operation of node selection. + */ + operator?: string; + /** + * Corresponds to the label values of Node resource. + */ + values?: string[]; + } + interface Schema$SecurityPoliciesListPreconfiguredExpressionSetsResponse { + preconfiguredExpressionSets?: Schema$SecurityPoliciesWafConfig; + } + interface Schema$SecurityPoliciesWafConfig { + wafRules?: Schema$PreconfiguredWafSet; + } + /** + * A security policy is comprised of one or more rules. It can also be + * associated with one or more 'targets'. (== resource_for + * v1.securityPolicies ==) (== resource_for beta.securityPolicies ==) + */ + interface Schema$SecurityPolicy { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * Specifies a fingerprint for this resource, which is essentially a hash of + * the metadata's contents and used for optimistic locking. The + * fingerprint is initially generated by Compute Engine and changes after + * every request to modify or update metadata. You must always provide an + * up-to-date fingerprint hash in order to update or change metadata. To + * see the latest fingerprint, make get() request to the security policy. + */ + fingerprint?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output only] Type of the resource. Always compute#securityPolicyfor + * security policies + */ + kind?: string; + /** + * A fingerprint for the labels being applied to this security policy, which + * is essentially a hash of the labels set used for optimistic locking. The + * fingerprint is initially generated by Compute Engine and changes after + * every request to modify or update labels. You must always provide an + * up-to-date fingerprint hash in order to update or change labels. To see + * the latest fingerprint, make get() request to the security policy. + */ + labelFingerprint?: string; + /** + * Labels to apply to this security policy resource. These can be later + * modified by the setLabels method. Each label key/value must comply with + * RFC1035. Label values may be empty. + */ + labels?: any; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * A list of rules that belong to this policy. There must always be a + * default rule (rule with priority 2147483647 and match "*"). If + * no rules are provided when creating a security policy, a default rule + * with action "allow" will be added. + */ + rules?: Schema$SecurityPolicyRule[]; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + } + interface Schema$SecurityPolicyList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of SecurityPolicy resources. + */ + items?: Schema$SecurityPolicy[]; + /** + * [Output Only] Type of resource. Always compute#securityPolicyList for + * listsof securityPolicies + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$SecurityPolicyReference { + securityPolicy?: string; + } + /** + * Represents a rule that describes one or more match conditions along with + * the action to be taken when traffic matches this condition (allow or deny). + */ + interface Schema$SecurityPolicyRule { + /** + * The Action to preform when the client connection triggers the rule. Can + * currently be either "allow" or "deny()" where valid + * values for status are 403, 404, and 502. + */ + action?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output only] Type of the resource. Always compute#securityPolicyRule for + * security policy rules + */ + kind?: string; + /** + * A match condition that incoming traffic is evaluated against. If it + * evaluates to true, the corresponding ?action? is enforced. + */ + match?: Schema$SecurityPolicyRuleMatcher; + /** + * If set to true, the specified action is not enforced. + */ + preview?: boolean; + /** + * An integer indicating the priority of a rule in the list. The priority + * must be a positive value between 0 and 2147483647. Rules are evaluated in + * the increasing order of priority. + */ + priority?: number; + } + /** + * Represents a match condition that incoming traffic is evaluated against. + * Exactly one field must be specified. + */ + interface Schema$SecurityPolicyRuleMatcher { + /** + * The configuration options available when specifying versioned_expr. This + * field must be specified if versioned_expr is specified and cannot be + * specified if versioned_expr is not specified. + */ + config?: Schema$SecurityPolicyRuleMatcherConfig; + /** + * User defined CEVAL expression. A CEVAL expression is used to specify + * match criteria such as origin.ip, source.region_code and contents in the + * request header. + */ + expr?: Schema$Expr; + /** + * CIDR IP address range. + */ + srcIpRanges?: string[]; + /** + * Preconfigured versioned expression. If this field is specified, config + * must also be specified. Available preconfigured expressions along with + * their requirements are: SRC_IPS_V1 - must specify the corresponding + * src_ip_range field in config. + */ + versionedExpr?: string; + } + interface Schema$SecurityPolicyRuleMatcherConfig { + /** + * CIDR IP address range. + */ + srcIpRanges?: string[]; + } + /** + * An instance's serial console output. + */ + interface Schema$SerialPortOutput { + /** + * [Output Only] The contents of the console output. + */ + contents?: string; + /** + * [Output Only] Type of the resource. Always compute#serialPortOutput for + * serial port output. + */ + kind?: string; + /** + * [Output Only] The position of the next byte of content from the serial + * console output. Use this value in the next request as the start + * parameter. + */ + next?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * The starting byte position of the output that was returned. This should + * match the start parameter sent with the request. If the serial console + * output exceeds the size of the buffer, older output will be overwritten + * by newer content and the start values will be mismatched. + */ + start?: string; + } + /** + * A service account. + */ + interface Schema$ServiceAccount { + /** + * Email address of the service account. + */ + email?: string; + /** + * The list of scopes to be made available for this service account. + */ + scopes?: string[]; + } + /** + * A set of Shielded VM options. + */ + interface Schema$ShieldedVmConfig { + /** + * Defines whether the instance has integrity monitoring enabled. + */ + enableIntegrityMonitoring?: boolean; + /** + * Defines whether the instance has Secure Boot enabled. + */ + enableSecureBoot?: boolean; + /** + * Defines whether the instance has the vTPM enabled. + */ + enableVtpm?: boolean; + } + /** + * A shielded VM identity entry. + */ + interface Schema$ShieldedVmIdentity { + encryptionKey?: Schema$ShieldedVmIdentityEntry; + /** + * [Output Only] Type of the resource. Always compute#shieldedVmIdentity for + * shielded VM identity entry. + */ + kind?: string; + signingKey?: Schema$ShieldedVmIdentityEntry; + } + /** + * A Shielded VM Identity Entry. + */ + interface Schema$ShieldedVmIdentityEntry { + ekCert?: string; + ekPub?: string; + } + /** + * The policy describes the baseline against which VM instance boot integrity + * is measured. + */ + interface Schema$ShieldedVmIntegrityPolicy { + /** + * Updates the integrity policy baseline using the measurements from the VM + * instance's most recent boot. + */ + updateAutoLearnPolicy?: boolean; + } + /** + * Represents a customer-supplied Signing Key used by Cloud CDN Signed URLs + */ + interface Schema$SignedUrlKey { + /** + * Name of the key. The name must be 1-63 characters long, and comply with + * RFC1035. Specifically, the name must be 1-63 characters long and match + * the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first + * character must be a lowercase letter, and all following characters must + * be a dash, lowercase letter, or digit, except the last character, which + * cannot be a dash. + */ + keyName?: string; + /** + * 128-bit key value used for signing the URL. The key value must be a valid + * RFC 4648 Section 5 base64url encoded string. + */ + keyValue?: string; + } + /** + * A persistent disk snapshot resource. (== resource_for beta.snapshots ==) + * (== resource_for v1.snapshots ==) + */ + interface Schema$Snapshot { + /** + * [Output Only] Set to true if snapshots are autoamtically by applying + * resource policy on the target disk. + */ + autoCreated?: boolean; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] Size of the snapshot, specified in GB. + */ + diskSizeGb?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of the resource. Always compute#snapshot for Snapshot + * resources. + */ + kind?: string; + /** + * A fingerprint for the labels being applied to this snapshot, which is + * essentially a hash of the labels set used for optimistic locking. The + * fingerprint is initially generated by Compute Engine and changes after + * every request to modify or update labels. You must always provide an + * up-to-date fingerprint hash in order to update or change labels. To see + * the latest fingerprint, make a get() request to retrieve a snapshot. + */ + labelFingerprint?: string; + /** + * Labels to apply to this snapshot. These can be later modified by the + * setLabels method. Label values may be empty. + */ + labels?: any; + /** + * [Output Only] Integer license codes indicating which licenses are + * attached to this snapshot. + */ + licenseCodes?: string[]; + /** + * [Output Only] A list of public visible licenses that apply to this + * snapshot. This can be because the original image had licenses attached + * (such as a Windows image). + */ + licenses?: string[]; + /** + * Name of the resource; provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * Encrypts the snapshot using a customer-supplied encryption key. After + * you encrypt a snapshot using a customer-supplied key, you must provide + * the same key if you use the image later For example, you must provide the + * encryption key when you create a disk from the encrypted snapshot in a + * future request. Customer-supplied encryption keys do not protect access + * to metadata of the disk. If you do not provide an encryption key when + * creating the snapshot, then the snapshot will be encrypted using an + * automatically generated key and you do not need to provide a key to use + * the snapshot later. + */ + snapshotEncryptionKey?: Schema$CustomerEncryptionKey; + /** + * [Output Only] The source disk used to create this snapshot. + */ + sourceDisk?: string; + /** + * The customer-supplied encryption key of the source disk. Required if the + * source disk is protected by a customer-supplied encryption key. + */ + sourceDiskEncryptionKey?: Schema$CustomerEncryptionKey; + /** + * [Output Only] The ID value of the disk used to create this snapshot. This + * value may be used to determine whether the snapshot was taken from the + * current or a previous instance of a given disk name. + */ + sourceDiskId?: string; + /** + * [Output Only] The status of the snapshot. This can be CREATING, DELETING, + * FAILED, READY, or UPLOADING. + */ + status?: string; + /** + * [Output Only] A size of the storage used by the snapshot. As snapshots + * share storage, this number is expected to change with snapshot + * creation/deletion. + */ + storageBytes?: string; + /** + * [Output Only] An indicator whether storageBytes is in a stable state or + * it is being adjusted as a result of shared storage reallocation. This + * status can either be UPDATING, meaning the size of the snapshot is being + * updated, or UP_TO_DATE, meaning the size of the snapshot is up-to-date. + */ + storageBytesStatus?: string; + /** + * GCS bucket storage location of the snapshot (regional or multi-regional). + */ + storageLocations?: string[]; + } + /** + * Contains a list of Snapshot resources. + */ + interface Schema$SnapshotList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Snapshot resources. + */ + items?: Schema$Snapshot[]; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * A specification of the parameters to use when creating the instance + * template from a source instance. + */ + interface Schema$SourceInstanceParams { + /** + * Attached disks configuration. If not provided, defaults are applied: For + * boot disk and any other R/W disks, new custom images will be created from + * each disk. For read-only disks, they will be attached in read-only mode. + * Local SSD disks will be created as blank volumes. + */ + diskConfigs?: Schema$DiskInstantiationConfig[]; + } + /** + * An SslCertificate resource. This resource provides a mechanism to upload an + * SSL key and certificate to the load balancer to serve secure connections + * from the user. (== resource_for beta.sslCertificates ==) (== resource_for + * v1.sslCertificates ==) + */ + interface Schema$SslCertificate { + /** + * A local certificate file. The certificate must be in PEM format. The + * certificate chain must be no greater than 5 certs long. The chain must + * include at least one intermediate cert. + */ + certificate?: string; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] Expire time of the certificate. RFC3339 + */ + expireTime?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of the resource. Always compute#sslCertificate for SSL + * certificates. + */ + kind?: string; + /** + * Configuration and status of a managed SSL certificate. + */ + managed?: Schema$SslCertificateManagedSslCertificate; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * A write-only private key in PEM format. Only insert requests will include + * this field. + */ + privateKey?: string; + /** + * [Output only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * Configuration and status of a self-managed SSL certificate. + */ + selfManaged?: Schema$SslCertificateSelfManagedSslCertificate; + /** + * [Output Only] Domains associated with the certificate via Subject + * Alternative Name. + */ + subjectAlternativeNames?: string[]; + /** + * (Optional) Specifies the type of SSL certificate, either + * "SELF_MANAGED" or "MANAGED". If not specified, the + * certificate is self-managed and the fields certificate and private_key + * are used. + */ + type?: string; + } + /** + * Contains a list of SslCertificate resources. + */ + interface Schema$SslCertificateList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of SslCertificate resources. + */ + items?: Schema$SslCertificate[]; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Configuration and status of a managed SSL certificate. + */ + interface Schema$SslCertificateManagedSslCertificate { + /** + * The domains for which a managed SSL certificate will be generated. + * Currently only single-domain certs are supported. + */ + domains?: string[]; + /** + * [Output only] Detailed statuses of the domains specified for managed + * certificate resource. + */ + domainStatus?: any; + /** + * [Output only] Status of the managed certificate resource. + */ + status?: string; + } + /** + * Configuration and status of a self-managed SSL certificate. + */ + interface Schema$SslCertificateSelfManagedSslCertificate { + /** + * A local certificate file. The certificate must be in PEM format. The + * certificate chain must be no greater than 5 certs long. The chain must + * include at least one intermediate cert. + */ + certificate?: string; + /** + * A write-only private key in PEM format. Only insert requests will include + * this field. + */ + privateKey?: string; + } + interface Schema$SSLHealthCheck { + /** + * The TCP port number for the health check request. The default value is + * 443. Valid values are 1 through 65535. + */ + port?: number; + /** + * Port name as defined in InstanceGroup#NamedPort#name. If both port and + * port_name are defined, port takes precedence. + */ + portName?: string; + /** + * Specifies how port is selected for health checking, can be one of + * following values: USE_FIXED_PORT: The port number in port is used for + * health checking. USE_NAMED_PORT: The portName is used for health + * checking. USE_SERVING_PORT: For NetworkEndpointGroup, the port specified + * for each network endpoint is used for health checking. For other + * backends, the port or named port specified in the Backend Service is used + * for health checking. If not specified, SSL health check follows + * behavior specified in port and portName fields. + */ + portSpecification?: string; + /** + * Specifies the type of proxy header to append before sending data to the + * backend, either NONE or PROXY_V1. The default is NONE. + */ + proxyHeader?: string; + /** + * The application data to send once the SSL connection has been established + * (default value is empty). If both request and response are empty, the + * connection establishment alone will indicate health. The request data can + * only be ASCII. + */ + request?: string; + /** + * The bytes to match against the beginning of the response data. If left + * empty (the default value), any response will indicate health. The + * response data can only be ASCII. + */ + response?: string; + } + interface Schema$SslPoliciesList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of SslPolicy resources. + */ + items?: Schema$SslPolicy[]; + /** + * [Output Only] Type of the resource. Always compute#sslPoliciesList for + * lists of sslPolicies. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$SslPoliciesListAvailableFeaturesResponse { + features?: string[]; + } + /** + * A SSL policy specifies the server-side support for SSL features. This can + * be attached to a TargetHttpsProxy or a TargetSslProxy. This affects + * connections between clients and the HTTPS or SSL proxy load balancer. They + * do not affect the connection between the load balancers and the backends. + */ + interface Schema$SslPolicy { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * A list of features enabled when the selected profile is CUSTOM. The - + * method returns the set of features that can be specified in this list. + * This field must be empty if the profile is not CUSTOM. + */ + customFeatures?: string[]; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] The list of features enabled in the SSL policy. + */ + enabledFeatures?: string[]; + /** + * Fingerprint of this resource. A hash of the contents stored in this + * object. This field is used in optimistic locking. This field will be + * ignored when inserting a SslPolicy. An up-to-date fingerprint must be + * provided in order to update the SslPolicy. To see the latest + * fingerprint, make a get() request to retrieve an SslPolicy. + */ + fingerprint?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output only] Type of the resource. Always compute#sslPolicyfor SSL + * policies. + */ + kind?: string; + /** + * The minimum version of SSL protocol that can be used by the clients to + * establish a connection with the load balancer. This can be one of + * TLS_1_0, TLS_1_1, TLS_1_2. + */ + minTlsVersion?: string; + /** + * Name of the resource. The name must be 1-63 characters long, and comply + * with RFC1035. Specifically, the name must be 1-63 characters long and + * match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the + * first character must be a lowercase letter, and all following characters + * must be a dash, lowercase letter, or digit, except the last character, + * which cannot be a dash. + */ + name?: string; + /** + * Profile specifies the set of SSL features that can be used by the load + * balancer when negotiating SSL with clients. This can be one of + * COMPATIBLE, MODERN, RESTRICTED, or CUSTOM. If using CUSTOM, the set of + * SSL features to enable must be specified in the customFeatures field. + */ + profile?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] If potential misconfigurations are detected for this SSL + * policy, this field will be populated with warning messages. + */ + warnings?: any[]; + } + interface Schema$SslPolicyReference { + /** + * URL of the SSL policy resource. Set this to empty string to clear any + * existing SSL policy associated with the target proxy resource. + */ + sslPolicy?: string; + } + /** + * A Subnetwork resource. (== resource_for beta.subnetworks ==) (== + * resource_for v1.subnetworks ==) + */ + interface Schema$Subnetwork { + /** + * Whether this subnetwork can conflict with static routes. Setting this to + * true allows this subnetwork's primary and secondary ranges to + * conflict with routes that have already been configured on the + * corresponding network. Static routes will take precedence over the + * subnetwork route if the route prefix length is at least as large as the + * subnetwork prefix length. Also, packets destined to IPs within + * subnetwork may contain private/sensitive data and are prevented from + * leaving the virtual network. Setting this field to true will disable this + * feature. The default value is false and applies to all existing + * subnetworks and automatically created subnetworks. This field cannot be + * set to true at resource creation time. + */ + allowSubnetCidrRoutesOverlap?: boolean; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. This field can be set only at resource creation + * time. + */ + description?: string; + /** + * Whether to enable flow logging for this subnetwork. If this field is not + * explicitly set, it will not appear in get listings. If not set the + * default behavior is to disable flow logging. + */ + enableFlowLogs?: boolean; + /** + * Fingerprint of this resource. A hash of the contents stored in this + * object. This field is used in optimistic locking. This field will be + * ignored when inserting a Subnetwork. An up-to-date fingerprint must be + * provided in order to update the Subnetwork. To see the latest + * fingerprint, make a get() request to retrieve a Subnetwork. + */ + fingerprint?: string; + /** + * [Output Only] The gateway address for default routes to reach destination + * addresses outside this subnetwork. + */ + gatewayAddress?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * The range of internal addresses that are owned by this subnetwork. + * Provide this property when you create the subnetwork. For + * example, 10.0.0.0/8 or 192.168.0.0/16. Ranges must be unique and + * non-overlapping within a network. Only IPv4 is supported. This field can + * be set only at resource creation time. + */ + ipCidrRange?: string; + /** + * [Output Only] Type of the resource. Always compute#subnetwork for + * Subnetwork resources. + */ + kind?: string; + /** + * The name of the resource, provided by the client when initially creating + * the resource. The name must be 1-63 characters long, and comply with + * RFC1035. Specifically, the name must be 1-63 characters long and match + * the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first + * character must be a lowercase letter, and all following characters must + * be a dash, lowercase letter, or digit, except the last character, which + * cannot be a dash. + */ + name?: string; + /** + * The URL of the network to which this subnetwork belongs, provided by the + * client when initially creating the subnetwork. Only networks that are in + * the distributed mode can have subnetworks. This field can be set only at + * resource creation time. + */ + network?: string; + /** + * Whether the VMs in this subnet can access Google services without + * assigned external IP addresses. This field can be both set at resource + * creation time and updated using setPrivateIpGoogleAccess. + */ + privateIpGoogleAccess?: boolean; + /** + * URL of the region where the Subnetwork resides. This field can be set + * only at resource creation time. + */ + region?: string; + /** + * An array of configurations for secondary IP ranges for VM instances + * contained in this subnetwork. The primary IP of such VM must belong to + * the primary ipCidrRange of the subnetwork. The alias IPs may belong to + * either primary or secondary ranges. + */ + secondaryIpRanges?: Schema$SubnetworkSecondaryRange[]; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + } + interface Schema$SubnetworkAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of SubnetworksScopedList resources. + */ + items?: any; + /** + * [Output Only] Type of resource. Always compute#subnetworkAggregatedList + * for aggregated lists of subnetworks. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of Subnetwork resources. + */ + interface Schema$SubnetworkList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Subnetwork resources. + */ + items?: Schema$Subnetwork[]; + /** + * [Output Only] Type of resource. Always compute#subnetworkList for lists + * of subnetworks. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Represents a secondary IP range of a subnetwork. + */ + interface Schema$SubnetworkSecondaryRange { + /** + * The range of IP addresses belonging to this subnetwork secondary range. + * Provide this property when you create the subnetwork. Ranges must be + * unique and non-overlapping with all primary and secondary IP ranges + * within a network. Only IPv4 is supported. + */ + ipCidrRange?: string; + /** + * The name associated with this subnetwork secondary range, used when + * adding an alias IP range to a VM instance. The name must be 1-63 + * characters long, and comply with RFC1035. The name must be unique within + * the subnetwork. + */ + rangeName?: string; + } + interface Schema$SubnetworksExpandIpCidrRangeRequest { + /** + * The IP (in CIDR format or netmask) of internal addresses that are legal + * on this Subnetwork. This range should be disjoint from other subnetworks + * within this network. This range can only be larger than (i.e. a superset + * of) the range previously defined before the update. + */ + ipCidrRange?: string; + } + interface Schema$SubnetworksScopedList { + /** + * A list of subnetworks contained in this scope. + */ + subnetworks?: Schema$Subnetwork[]; + /** + * An informational warning that appears when the list of addresses is + * empty. + */ + warning?: any; + } + interface Schema$SubnetworksSetPrivateIpGoogleAccessRequest { + privateIpGoogleAccess?: boolean; + } + /** + * A set of instance tags. + */ + interface Schema$Tags { + /** + * Specifies a fingerprint for this request, which is essentially a hash of + * the tags' contents and used for optimistic locking. The fingerprint + * is initially generated by Compute Engine and changes after every request + * to modify or update tags. You must always provide an up-to-date + * fingerprint hash in order to update or change tags. To see the latest + * fingerprint, make get() request to the instance. + */ + fingerprint?: string; + /** + * An array of tags. Each tag must be 1-63 characters long, and comply with + * RFC1035. + */ + items?: string[]; + } + /** + * A TargetHttpProxy resource. This resource defines an HTTP proxy. (== + * resource_for beta.targetHttpProxies ==) (== resource_for + * v1.targetHttpProxies ==) + */ + interface Schema$TargetHttpProxy { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of resource. Always compute#targetHttpProxy for target + * HTTP proxies. + */ + kind?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * URL to the UrlMap resource that defines the mapping from URL to the + * BackendService. + */ + urlMap?: string; + } + /** + * A list of TargetHttpProxy resources. + */ + interface Schema$TargetHttpProxyList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of TargetHttpProxy resources. + */ + items?: Schema$TargetHttpProxy[]; + /** + * Type of resource. Always compute#targetHttpProxyList for lists of target + * HTTP proxies. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$TargetHttpsProxiesSetQuicOverrideRequest { + /** + * QUIC policy for the TargetHttpsProxy resource. + */ + quicOverride?: string; + } + interface Schema$TargetHttpsProxiesSetSslCertificatesRequest { + /** + * New set of SslCertificate resources to associate with this + * TargetHttpsProxy resource. Currently exactly one SslCertificate resource + * must be specified. + */ + sslCertificates?: string[]; + } + /** + * A TargetHttpsProxy resource. This resource defines an HTTPS proxy. (== + * resource_for beta.targetHttpsProxies ==) (== resource_for + * v1.targetHttpsProxies ==) + */ + interface Schema$TargetHttpsProxy { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of resource. Always compute#targetHttpsProxy for + * target HTTPS proxies. + */ + kind?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * Specifies the QUIC override policy for this TargetHttpsProxy resource. + * This determines whether the load balancer will attempt to negotiate QUIC + * with clients or not. Can specify one of NONE, ENABLE, or DISABLE. Specify + * ENABLE to always enable QUIC, Enables QUIC when set to ENABLE, and + * disables QUIC when set to DISABLE. If NONE is specified, uses the QUIC + * policy with no user overrides, which is equivalent to DISABLE. Not + * specifying this field is equivalent to specifying NONE. + */ + quicOverride?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * URLs to SslCertificate resources that are used to authenticate + * connections between users and the load balancer. Currently, exactly one + * SSL certificate must be specified. + */ + sslCertificates?: string[]; + /** + * URL of SslPolicy resource that will be associated with the + * TargetHttpsProxy resource. If not set, the TargetHttpsProxy resource will + * not have any SSL policy configured. + */ + sslPolicy?: string; + /** + * A fully-qualified or valid partial URL to the UrlMap resource that + * defines the mapping from URL to the BackendService. For example, the + * following are all valid URLs for specifying a URL map: - + * https://www.googleapis.compute/v1/projects/project/global/urlMaps/url-map + * - projects/project/global/urlMaps/url-map - global/urlMaps/url-map + */ + urlMap?: string; + } + /** + * Contains a list of TargetHttpsProxy resources. + */ + interface Schema$TargetHttpsProxyList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of TargetHttpsProxy resources. + */ + items?: Schema$TargetHttpsProxy[]; + /** + * Type of resource. Always compute#targetHttpsProxyList for lists of target + * HTTPS proxies. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * A TargetInstance resource. This resource defines an endpoint instance that + * terminates traffic of certain protocols. (== resource_for + * beta.targetInstances ==) (== resource_for v1.targetInstances ==) + */ + interface Schema$TargetInstance { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * A URL to the virtual machine instance that handles traffic for this + * target instance. When creating a target instance, you can provide the + * fully-qualified URL or a valid partial URL to the desired virtual + * machine. For example, the following are all valid URLs: - + * https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/instance + * - projects/project/zones/zone/instances/instance - + * zones/zone/instances/instance + */ + instance?: string; + /** + * [Output Only] The type of the resource. Always compute#targetInstance for + * target instances. + */ + kind?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * NAT option controlling how IPs are NAT'ed to the instance. Currently + * only NO_NAT (default value) is supported. + */ + natPolicy?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] URL of the zone where the target instance resides. You must + * specify this field as part of the HTTP request URL. It is not settable as + * a field in the request body. + */ + zone?: string; + } + interface Schema$TargetInstanceAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of TargetInstance resources. + */ + items?: any; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of TargetInstance resources. + */ + interface Schema$TargetInstanceList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of TargetInstance resources. + */ + items?: Schema$TargetInstance[]; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$TargetInstancesScopedList { + /** + * A list of target instances contained in this scope. + */ + targetInstances?: Schema$TargetInstance[]; + /** + * Informational warning which replaces the list of addresses when the list + * is empty. + */ + warning?: any; + } + /** + * A TargetPool resource. This resource defines a pool of instances, an + * associated HttpHealthCheck resource, and the fallback target pool. (== + * resource_for beta.targetPools ==) (== resource_for v1.targetPools ==) + */ + interface Schema$TargetPool { + /** + * This field is applicable only when the containing target pool is serving + * a forwarding rule as the primary pool, and its failoverRatio field is + * properly set to a value between [0, 1]. backupPool and failoverRatio + * together define the fallback behavior of the primary target pool: if the + * ratio of the healthy instances in the primary pool is at or below + * failoverRatio, traffic arriving at the load-balanced IP will be directed + * to the backup pool. In case where failoverRatio and backupPool are not + * set, or all the instances in the backup pool are unhealthy, the traffic + * will be directed back to the primary pool in the "force" mode, + * where traffic will be spread to the healthy instances with the best + * effort, or to all instances when no instance is healthy. + */ + backupPool?: string; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * This field is applicable only when the containing target pool is serving + * a forwarding rule as the primary pool (i.e., not as a backup pool to some + * other target pool). The value of the field must be in [0, 1]. If set, + * backupPool must also be set. They together define the fallback behavior + * of the primary target pool: if the ratio of the healthy instances in the + * primary pool is at or below this number, traffic arriving at the + * load-balanced IP will be directed to the backup pool. In case where + * failoverRatio is not set or all the instances in the backup pool are + * unhealthy, the traffic will be directed back to the primary pool in the + * "force" mode, where traffic will be spread to the healthy + * instances with the best effort, or to all instances when no instance is + * healthy. + */ + failoverRatio?: number; + /** + * The URL of the HttpHealthCheck resource. A member instance in this pool + * is considered healthy if and only if the health checks pass. An empty + * list means all member instances will be considered healthy at all times. + * Only HttpHealthChecks are supported. Only one health check may be + * specified. + */ + healthChecks?: string[]; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * A list of resource URLs to the virtual machine instances serving this + * pool. They must live in zones contained in the same region as this pool. + */ + instances?: string[]; + /** + * [Output Only] Type of the resource. Always compute#targetPool for target + * pools. + */ + kind?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * [Output Only] URL of the region where the target pool resides. + */ + region?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * Sesssion affinity option, must be one of the following values: NONE: + * Connections from the same client IP may go to any instance in the pool. + * CLIENT_IP: Connections from the same client IP will go to the same + * instance in the pool while that instance remains healthy. + * CLIENT_IP_PROTO: Connections from the same client IP with the same IP + * protocol will go to the same instance in the pool while that instance + * remains healthy. + */ + sessionAffinity?: string; + } + interface Schema$TargetPoolAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of TargetPool resources. + */ + items?: any; + /** + * [Output Only] Type of resource. Always compute#targetPoolAggregatedList + * for aggregated lists of target pools. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$TargetPoolInstanceHealth { + healthStatus?: Schema$HealthStatus[]; + /** + * [Output Only] Type of resource. Always compute#targetPoolInstanceHealth + * when checking the health of an instance. + */ + kind?: string; + } + /** + * Contains a list of TargetPool resources. + */ + interface Schema$TargetPoolList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of TargetPool resources. + */ + items?: Schema$TargetPool[]; + /** + * [Output Only] Type of resource. Always compute#targetPoolList for lists + * of target pools. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$TargetPoolsAddHealthCheckRequest { + /** + * The HttpHealthCheck to add to the target pool. + */ + healthChecks?: Schema$HealthCheckReference[]; + } + interface Schema$TargetPoolsAddInstanceRequest { + /** + * A full or partial URL to an instance to add to this target pool. This can + * be a full or partial URL. For example, the following are valid URLs: - + * https://www.googleapis.com/compute/v1/projects/project-id/zones/zone/instances/instance-name + * - projects/project-id/zones/zone/instances/instance-name - + * zones/zone/instances/instance-name + */ + instances?: Schema$InstanceReference[]; + } + interface Schema$TargetPoolsRemoveHealthCheckRequest { + /** + * Health check URL to be removed. This can be a full or valid partial URL. + * For example, the following are valid URLs: - + * https://www.googleapis.com/compute/beta/projects/project/global/httpHealthChecks/health-check + * - projects/project/global/httpHealthChecks/health-check - + * global/httpHealthChecks/health-check + */ + healthChecks?: Schema$HealthCheckReference[]; + } + interface Schema$TargetPoolsRemoveInstanceRequest { + /** + * URLs of the instances to be removed from target pool. + */ + instances?: Schema$InstanceReference[]; + } + interface Schema$TargetPoolsScopedList { + /** + * A list of target pools contained in this scope. + */ + targetPools?: Schema$TargetPool[]; + /** + * Informational warning which replaces the list of addresses when the list + * is empty. + */ + warning?: any; + } + interface Schema$TargetReference { + target?: string; + } + interface Schema$TargetSslProxiesSetBackendServiceRequest { + /** + * The URL of the new BackendService resource for the targetSslProxy. + */ + service?: string; + } + interface Schema$TargetSslProxiesSetProxyHeaderRequest { + /** + * The new type of proxy header to append before sending data to the + * backend. NONE or PROXY_V1 are allowed. + */ + proxyHeader?: string; + } + interface Schema$TargetSslProxiesSetSslCertificatesRequest { + /** + * New set of URLs to SslCertificate resources to associate with this + * TargetSslProxy. Currently exactly one ssl certificate must be specified. + */ + sslCertificates?: string[]; + } + /** + * A TargetSslProxy resource. This resource defines an SSL proxy. (== + * resource_for beta.targetSslProxies ==) (== resource_for v1.targetSslProxies + * ==) + */ + interface Schema$TargetSslProxy { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of the resource. Always compute#targetSslProxy for + * target SSL proxies. + */ + kind?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * Specifies the type of proxy header to append before sending data to the + * backend, either NONE or PROXY_V1. The default is NONE. + */ + proxyHeader?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * URL to the BackendService resource. + */ + service?: string; + /** + * URLs to SslCertificate resources that are used to authenticate + * connections to Backends. Currently exactly one SSL certificate must be + * specified. + */ + sslCertificates?: string[]; + /** + * URL of SslPolicy resource that will be associated with the TargetSslProxy + * resource. If not set, the TargetSslProxy resource will not have any SSL + * policy configured. + */ + sslPolicy?: string; + } + /** + * Contains a list of TargetSslProxy resources. + */ + interface Schema$TargetSslProxyList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of TargetSslProxy resources. + */ + items?: Schema$TargetSslProxy[]; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$TargetTcpProxiesSetBackendServiceRequest { + /** + * The URL of the new BackendService resource for the targetTcpProxy. + */ + service?: string; + } + interface Schema$TargetTcpProxiesSetProxyHeaderRequest { + /** + * The new type of proxy header to append before sending data to the + * backend. NONE or PROXY_V1 are allowed. + */ + proxyHeader?: string; + } + /** + * A TargetTcpProxy resource. This resource defines a TCP proxy. (== + * resource_for beta.targetTcpProxies ==) (== resource_for v1.targetTcpProxies + * ==) + */ + interface Schema$TargetTcpProxy { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of the resource. Always compute#targetTcpProxy for + * target TCP proxies. + */ + kind?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * Specifies the type of proxy header to append before sending data to the + * backend, either NONE or PROXY_V1. The default is NONE. + */ + proxyHeader?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * URL to the BackendService resource. + */ + service?: string; + } + /** + * Contains a list of TargetTcpProxy resources. + */ + interface Schema$TargetTcpProxyList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of TargetTcpProxy resources. + */ + items?: Schema$TargetTcpProxy[]; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Represents a Target VPN gateway resource. (== resource_for + * beta.targetVpnGateways ==) (== resource_for v1.targetVpnGateways ==) + */ + interface Schema$TargetVpnGateway { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] A list of URLs to the ForwardingRule resources. + * ForwardingRules are created using compute.forwardingRules.insert and + * associated to a VPN gateway. + */ + forwardingRules?: string[]; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of resource. Always compute#targetVpnGateway for + * target VPN gateways. + */ + kind?: string; + /** + * A fingerprint for the labels being applied to this TargetVpnGateway, + * which is essentially a hash of the labels set used for optimistic + * locking. The fingerprint is initially generated by Compute Engine and + * changes after every request to modify or update labels. You must always + * provide an up-to-date fingerprint hash in order to update or change + * labels. To see the latest fingerprint, make a get() request to retrieve + * a TargetVpnGateway. + */ + labelFingerprint?: string; + /** + * Labels to apply to this TargetVpnGateway resource. These can be later + * modified by the setLabels method. Each label key/value must comply with + * RFC1035. Label values may be empty. + */ + labels?: any; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * URL of the network to which this VPN gateway is attached. Provided by the + * client when the VPN gateway is created. + */ + network?: string; + /** + * [Output Only] URL of the region where the target VPN gateway resides. You + * must specify this field as part of the HTTP request URL. It is not + * settable as a field in the request body. + */ + region?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] The status of the VPN gateway. + */ + status?: string; + /** + * [Output Only] A list of URLs to VpnTunnel resources. VpnTunnels are + * created using compute.vpntunnels.insert method and associated to a VPN + * gateway. + */ + tunnels?: string[]; + } + interface Schema$TargetVpnGatewayAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of TargetVpnGateway resources. + */ + items?: any; + /** + * [Output Only] Type of resource. Always compute#targetVpnGateway for + * target VPN gateways. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of TargetVpnGateway resources. + */ + interface Schema$TargetVpnGatewayList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of TargetVpnGateway resources. + */ + items?: Schema$TargetVpnGateway[]; + /** + * [Output Only] Type of resource. Always compute#targetVpnGateway for + * target VPN gateways. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$TargetVpnGatewaysScopedList { + /** + * [Output Only] A list of target vpn gateways contained in this scope. + */ + targetVpnGateways?: Schema$TargetVpnGateway[]; + /** + * [Output Only] Informational warning which replaces the list of addresses + * when the list is empty. + */ + warning?: any; + } + interface Schema$TCPHealthCheck { + /** + * The TCP port number for the health check request. The default value + * is 80. Valid values are 1 through 65535. + */ + port?: number; + /** + * Port name as defined in InstanceGroup#NamedPort#name. If both port and + * port_name are defined, port takes precedence. + */ + portName?: string; + /** + * Specifies how port is selected for health checking, can be one of + * following values: USE_FIXED_PORT: The port number in port is used for + * health checking. USE_NAMED_PORT: The portName is used for health + * checking. USE_SERVING_PORT: For NetworkEndpointGroup, the port specified + * for each network endpoint is used for health checking. For other + * backends, the port or named port specified in the Backend Service is used + * for health checking. If not specified, TCP health check follows + * behavior specified in port and portName fields. + */ + portSpecification?: string; + /** + * Specifies the type of proxy header to append before sending data to the + * backend, either NONE or PROXY_V1. The default is NONE. + */ + proxyHeader?: string; + /** + * The application data to send once the TCP connection has been established + * (default value is empty). If both request and response are empty, the + * connection establishment alone will indicate health. The request data can + * only be ASCII. + */ + request?: string; + /** + * The bytes to match against the beginning of the response data. If left + * empty (the default value), any response will indicate health. The + * response data can only be ASCII. + */ + response?: string; + } + interface Schema$TestFailure { + actualService?: string; + expectedService?: string; + host?: string; + path?: string; + } + interface Schema$TestPermissionsRequest { + /** + * The set of permissions to check for the 'resource'. Permissions + * with wildcards (such as '*' or 'storage.*') are not + * allowed. + */ + permissions?: string[]; + } + interface Schema$TestPermissionsResponse { + /** + * A subset of `TestPermissionsRequest.permissions` that the caller is + * allowed. + */ + permissions?: string[]; + } + /** + * A UrlMap resource. This resource defines the mapping from URL to the + * BackendService resource, based on the "longest-match" of the + * URL's host and path. + */ + interface Schema$UrlMap { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * The URL of the BackendService resource if none of the hostRules match. + */ + defaultService?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * Fingerprint of this resource. A hash of the contents stored in this + * object. This field is used in optimistic locking. This field will be + * ignored when inserting a UrlMap. An up-to-date fingerprint must be + * provided in order to update the UrlMap. To see the latest fingerprint, + * make a get() request to retrieve a UrlMap. + */ + fingerprint?: string; + /** + * The list of HostRules to use against the URL. + */ + hostRules?: Schema$HostRule[]; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of the resource. Always compute#urlMaps for url maps. + */ + kind?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * The list of named PathMatchers to use against the URL. + */ + pathMatchers?: Schema$PathMatcher[]; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * The list of expected URL mapping tests. Request to update this UrlMap + * will succeed only if all of the test cases pass. You can specify a + * maximum of 100 tests per UrlMap. + */ + tests?: Schema$UrlMapTest[]; + } + /** + * Contains a list of UrlMap resources. + */ + interface Schema$UrlMapList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of UrlMap resources. + */ + items?: Schema$UrlMap[]; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$UrlMapReference { + urlMap?: string; + } + interface Schema$UrlMapsValidateRequest { + /** + * Content of the UrlMap to be validated. + */ + resource?: Schema$UrlMap; + } + interface Schema$UrlMapsValidateResponse { + result?: Schema$UrlMapValidationResult; + } + /** + * Message for the expected URL mappings. + */ + interface Schema$UrlMapTest { + /** + * Description of this test case. + */ + description?: string; + /** + * Host portion of the URL. + */ + host?: string; + /** + * Path portion of the URL. + */ + path?: string; + /** + * Expected BackendService resource the given URL should be mapped to. + */ + service?: string; + } + /** + * Message representing the validation result for a UrlMap. + */ + interface Schema$UrlMapValidationResult { + loadErrors?: string[]; + /** + * Whether the given UrlMap can be successfully loaded. If false, + * 'loadErrors' indicates the reasons. + */ + loadSucceeded?: boolean; + testFailures?: Schema$TestFailure[]; + /** + * If successfully loaded, this field indicates whether the test passed. If + * false, 'testFailures's indicate the reason of failure. + */ + testPassed?: boolean; + } + /** + * Subnetwork which the current user has compute.subnetworks.use permission + * on. + */ + interface Schema$UsableSubnetwork { + /** + * The range of internal addresses that are owned by this subnetwork. + */ + ipCidrRange?: string; + /** + * Network URL. + */ + network?: string; + /** + * Secondary IP ranges. + */ + secondaryIpRanges?: Schema$UsableSubnetworkSecondaryRange[]; + /** + * Subnetwork URL. + */ + subnetwork?: string; + } + interface Schema$UsableSubnetworksAggregatedList { + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output] A list of usable subnetwork URLs. + */ + items?: Schema$UsableSubnetwork[]; + /** + * [Output Only] Type of resource. Always + * compute#usableSubnetworksAggregatedList for aggregated lists of usable + * subnetworks. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Secondary IP range of a usable subnetwork. + */ + interface Schema$UsableSubnetworkSecondaryRange { + /** + * The range of IP addresses belonging to this subnetwork secondary range. + */ + ipCidrRange?: string; + /** + * The name associated with this subnetwork secondary range, used when + * adding an alias IP range to a VM instance. The name must be 1-63 + * characters long, and comply with RFC1035. The name must be unique within + * the subnetwork. + */ + rangeName?: string; + } + /** + * The location in Cloud Storage and naming method of the daily usage report. + * Contains bucket_name and report_name prefix. + */ + interface Schema$UsageExportLocation { + /** + * The name of an existing bucket in Cloud Storage where the usage report + * object is stored. The Google Service Account is granted write access to + * this bucket. This can either be the bucket name by itself, such as + * example-bucket, or the bucket name with gs:// or + * https://storage.googleapis.com/ in front of it, such as + * gs://example-bucket. + */ + bucketName?: string; + /** + * An optional prefix for the name of the usage report object stored in + * bucketName. If not supplied, defaults to usage. The report is stored as a + * CSV file named report_name_prefix_gce_YYYYMMDD.csv where YYYYMMDD is the + * day of the usage according to Pacific Time. If you supply a prefix, it + * should conform to Cloud Storage object naming conventions. + */ + reportNamePrefix?: string; + } + /** + * Contain information of Nat mapping for a VM endpoint (i.e., NIC). + */ + interface Schema$VmEndpointNatMappings { + /** + * Name of the VM instance which the endpoint belongs to + */ + instanceName?: string; + interfaceNatMappings?: Schema$VmEndpointNatMappingsInterfaceNatMappings[]; + } + /** + * Contain information of Nat mapping for an interface of this endpoint. + */ + interface Schema$VmEndpointNatMappingsInterfaceNatMappings { + /** + * A list of all IP:port-range mappings assigned to this interface. These + * ranges are inclusive, that is, both the first and the last ports can be + * used for NAT. Example: ["2.2.2.2:12345-12355", + * "1.1.1.1:2234-2234"]. + */ + natIpPortRanges?: string[]; + /** + * Total number of ports across all NAT IPs allocated to this interface. It + * equals to the aggregated port number in the field nat_ip_port_ranges. + */ + numTotalNatPorts?: number; + /** + * Alias IP range for this interface endpoint. It will be a private (RFC + * 1918) IP range. Examples: "10.33.4.55/32", or + * "192.168.5.0/24". + */ + sourceAliasIpRange?: string; + /** + * Primary IP of the VM for this NIC. + */ + sourceVirtualIp?: string; + } + /** + * Contains a list of VmEndpointNatMappings. + */ + interface Schema$VmEndpointNatMappingsList { + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of resource. Always compute#vmEndpointNatMappingsList + * for lists of Nat mappings of VM endpoints. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] A list of Nat mapping information of VM endpoints. + */ + result?: Schema$VmEndpointNatMappings[]; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * VPN tunnel resource. (== resource_for beta.vpnTunnels ==) (== resource_for + * v1.vpnTunnels ==) + */ + interface Schema$VpnTunnel { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] Detailed status message for the VPN tunnel. + */ + detailedStatus?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * IKE protocol version to use when establishing the VPN tunnel with peer + * VPN gateway. Acceptable IKE versions are 1 or 2. Default version is 2. + */ + ikeVersion?: number; + /** + * [Output Only] Type of resource. Always compute#vpnTunnel for VPN tunnels. + */ + kind?: string; + /** + * A fingerprint for the labels being applied to this VpnTunnel, which is + * essentially a hash of the labels set used for optimistic locking. The + * fingerprint is initially generated by Compute Engine and changes after + * every request to modify or update labels. You must always provide an + * up-to-date fingerprint hash in order to update or change labels. To see + * the latest fingerprint, make a get() request to retrieve a VpnTunnel. + */ + labelFingerprint?: string; + /** + * Labels to apply to this VpnTunnel. These can be later modified by the + * setLabels method. Each label key/value pair must comply with RFC1035. + * Label values may be empty. + */ + labels?: any; + /** + * Local traffic selector to use when establishing the VPN tunnel with peer + * VPN gateway. The value should be a CIDR formatted string, for example: + * 192.168.0.0/16. The ranges should be disjoint. Only IPv4 is supported. + */ + localTrafficSelector?: string[]; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * IP address of the peer VPN gateway. Only IPv4 is supported. + */ + peerIp?: string; + /** + * [Output Only] URL of the region where the VPN tunnel resides. You must + * specify this field as part of the HTTP request URL. It is not settable as + * a field in the request body. + */ + region?: string; + /** + * Remote traffic selectors to use when establishing the VPN tunnel with + * peer VPN gateway. The value should be a CIDR formatted string, for + * example: 192.168.0.0/16. The ranges should be disjoint. Only IPv4 is + * supported. + */ + remoteTrafficSelector?: string[]; + /** + * URL of router resource to be used for dynamic routing. + */ + router?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * Shared secret used to set the secure session between the Cloud VPN + * gateway and the peer VPN gateway. + */ + sharedSecret?: string; + /** + * Hash of the shared secret. + */ + sharedSecretHash?: string; + /** + * [Output Only] The status of the VPN tunnel. + */ + status?: string; + /** + * URL of the Target VPN gateway with which this VPN tunnel is associated. + * Provided by the client when the VPN tunnel is created. + */ + targetVpnGateway?: string; + } + interface Schema$VpnTunnelAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of VpnTunnelsScopedList resources. + */ + items?: any; + /** + * [Output Only] Type of resource. Always compute#vpnTunnel for VPN tunnels. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of VpnTunnel resources. + */ + interface Schema$VpnTunnelList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of VpnTunnel resources. + */ + items?: Schema$VpnTunnel[]; + /** + * [Output Only] Type of resource. Always compute#vpnTunnel for VPN tunnels. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$VpnTunnelsScopedList { + /** + * A list of vpn tunnels contained in this scope. + */ + vpnTunnels?: Schema$VpnTunnel[]; + /** + * Informational warning which replaces the list of addresses when the list + * is empty. + */ + warning?: any; + } + interface Schema$WafExpressionSet { + /** + * A list of alternate IDs. The format should be: - E.g. XSS-stable Generic + * suffix like "stable" is particularly useful if a policy likes + * to avail newer set of expressions without having to change the policy. A + * given alias name can't be used for more than one entity set. + */ + aliases?: string[]; + /** + * List of available expressions. + */ + expressions?: Schema$WafExpressionSetExpression[]; + /** + * Google specified expression set ID. The format should be: - E.g. + * XSS-20170329 + */ + id?: string; + } + interface Schema$WafExpressionSetExpression { + /** + * Expression ID should uniquely identify the origin of the expression. E.g. + * owasp-crs-v020901-id973337 identifies Owasp core rule set version 2.9.1 + * rule id 973337. The ID could be used to determine the individual attack + * definition that has been detected. It could also be used to exclude it + * from the policy in case of false positive. + */ + id?: string; + } + interface Schema$XpnHostList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * [Output Only] A list of shared VPC host project URLs. + */ + items?: Schema$Project[]; + /** + * [Output Only] Type of resource. Always compute#xpnHostList for lists of + * shared VPC hosts. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Service resource (a.k.a service project) ID. + */ + interface Schema$XpnResourceId { + /** + * The ID of the service resource. In the case of projects, this field + * matches the project ID (e.g., my-project), not the project number (e.g., + * 12345678). + */ + id?: string; + /** + * The type of the service resource. + */ + type?: string; + } + /** + * A Zone resource. (== resource_for beta.zones ==) (== resource_for v1.zones + * ==) + */ + interface Schema$Zone { + /** + * [Output Only] Available cpu/platform selections for the zone. + */ + availableCpuPlatforms?: string[]; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * [Output Only] The deprecation status associated with this zone. + */ + deprecated?: Schema$DeprecationStatus; + /** + * [Output Only] Textual description of the resource. + */ + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of the resource. Always compute#zone for zones. + */ + kind?: string; + /** + * [Output Only] Name of the resource. + */ + name?: string; + /** + * [Output Only] Full URL reference to the region which hosts the zone. + */ + region?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] Status of the zone, either UP or DOWN. + */ + status?: string; + } + /** + * Contains a list of zone resources. + */ + interface Schema$ZoneList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Zone resources. + */ + items?: Schema$Zone[]; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$ZoneSetLabelsRequest { + /** + * The fingerprint of the previous set of labels for this resource, used to + * detect conflicts. The fingerprint is initially generated by Compute + * Engine and changes after every request to modify or update labels. You + * must always provide an up-to-date fingerprint hash in order to update or + * change labels. Make a get() request to the resource to get the latest + * fingerprint. + */ + labelFingerprint?: string; + /** + * The labels to set for this resource. + */ + labels?: any; + } + interface Schema$ZoneSetPolicyRequest { + /** + * Flatten Policy to create a backwacd compatible wire-format. Deprecated. + * Use 'policy' to specify bindings. + */ + bindings?: Schema$Binding[]; + /** + * Flatten Policy to create a backward compatible wire-format. Deprecated. + * Use 'policy' to specify the etag. + */ + etag?: string; + /** + * REQUIRED: The complete policy to be applied to the 'resource'. + * The size of the policy is limited to a few 10s of KB. An empty policy is + * in general a valid policy but certain services (like Projects) might + * reject them. + */ + policy?: Schema$Policy; + } + class Resource$Acceleratortypes { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.acceleratorTypes.aggregatedList + * @desc Retrieves an aggregated list of accelerator types. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * } + * Object.keys(itemsPage).forEach(function(name) { + * // TODO: Change code below to process each `name` property: + * console.log(name + ': ' + JSON.stringify(itemsPage[name], null, + * 2)); + * }); + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * compute.acceleratorTypes.aggregatedList(request, handlePage); + * } + * }; + * + * compute.acceleratorTypes.aggregatedList(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 compute.acceleratorTypes.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Acceleratortypes$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Acceleratortypes$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Acceleratortypes$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.acceleratorTypes.get + * @desc Returns the specified accelerator type. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the accelerator type to return. + * acceleratorType: 'my-accelerator-type', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * compute.acceleratorTypes.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 compute.acceleratorTypes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.acceleratorType Name of the accelerator type to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone for this request. + * @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?: Params$Resource$Acceleratortypes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Acceleratortypes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Acceleratortypes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.acceleratorTypes.list + * @desc Retrieves a list of accelerator types available to the specified + * project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // 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; + * compute.acceleratorTypes.list(request, handlePage); + * } + * }; + * + * compute.acceleratorTypes.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 compute.acceleratorTypes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone for this request. + * @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?: Params$Resource$Acceleratortypes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Acceleratortypes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Acceleratortypes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Acceleratortypes$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Acceleratortypes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the accelerator type to return. + */ + acceleratorType?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Acceleratortypes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + class Resource$Addresses { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.addresses.aggregatedList + * @desc Retrieves an aggregated list of addresses. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * } + * Object.keys(itemsPage).forEach(function(name) { + * // TODO: Change code below to process each `name` property: + * console.log(name + ': ' + JSON.stringify(itemsPage[name], null, + * 2)); + * }); + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * compute.addresses.aggregatedList(request, handlePage); + * } + * }; + * + * compute.addresses.aggregatedList(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 compute.addresses.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Addresses$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Addresses$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Addresses$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.addresses.delete + * @desc Deletes the specified address resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the address resource to delete. + * address: 'my-address', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.addresses.delete(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 compute.addresses.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.address Name of the address resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Addresses$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Addresses$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Addresses$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.addresses.get + * @desc Returns the specified address resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the address resource to return. + * address: 'my-address', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.addresses.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 compute.addresses.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.address Name of the address resource to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @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?: Params$Resource$Addresses$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Addresses$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Addresses$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.addresses.insert + * @desc Creates an address resource in the specified project using the data + * included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.addresses.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 compute.addresses.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Address} 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?: Params$Resource$Addresses$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Addresses$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Addresses$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.addresses.list + * @desc Retrieves a list of addresses contained within the specified + * region. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // 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; + * compute.addresses.list(request, handlePage); + * } + * }; + * + * compute.addresses.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 compute.addresses.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @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?: Params$Resource$Addresses$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Addresses$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Addresses$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.addresses.setLabels + * @desc Sets the labels on an Address. To learn more about labels, read the + * Labeling Resources documentation. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the resource for this request. + * resource_: 'my-resource', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.addresses.setLabels(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 compute.addresses.setLabels + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.resource_ Name of the resource for this request. + * @param {().RegionSetLabelsRequest} 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 + */ + setLabels(params?: Params$Resource$Addresses$Setlabels, options?: MethodOptions): AxiosPromise; + setLabels(params: Params$Resource$Addresses$Setlabels, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setLabels(params: Params$Resource$Addresses$Setlabels, callback: BodyResponseCallback): void; + setLabels(callback: BodyResponseCallback): void; + /** + * compute.addresses.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the resource for this request. + * resource_: 'my-resource', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.addresses.testIamPermissions(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 compute.addresses.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Addresses$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Addresses$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Addresses$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Addresses$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Addresses$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the address resource to delete. + */ + address?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Addresses$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the address resource to return. + */ + address?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + } + interface Params$Resource$Addresses$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Address; + } + interface Params$Resource$Addresses$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + } + interface Params$Resource$Addresses$Setlabels { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RegionSetLabelsRequest; + } + interface Params$Resource$Addresses$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Autoscalers { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.autoscalers.aggregatedList + * @desc Retrieves an aggregated list of autoscalers. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * } + * Object.keys(itemsPage).forEach(function(name) { + * // TODO: Change code below to process each `name` property: + * console.log(name + ': ' + JSON.stringify(itemsPage[name], null, + * 2)); + * }); + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * compute.autoscalers.aggregatedList(request, handlePage); + * } + * }; + * + * compute.autoscalers.aggregatedList(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 compute.autoscalers.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Autoscalers$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Autoscalers$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Autoscalers$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.autoscalers.delete + * @desc Deletes the specified autoscaler. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the autoscaler to delete. + * autoscaler: 'my-autoscaler', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.autoscalers.delete(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 compute.autoscalers.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.autoscaler Name of the autoscaler to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone Name of the zone for this request. + * @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?: Params$Resource$Autoscalers$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Autoscalers$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Autoscalers$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.autoscalers.get + * @desc Returns the specified autoscaler resource. Gets a list of available + * autoscalers by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the autoscaler to return. + * autoscaler: 'my-autoscaler', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.autoscalers.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 compute.autoscalers.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.autoscaler Name of the autoscaler to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone Name of the zone for this request. + * @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?: Params$Resource$Autoscalers$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Autoscalers$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Autoscalers$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.autoscalers.insert + * @desc Creates an autoscaler in the specified project using the data + * included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.autoscalers.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 compute.autoscalers.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone Name of the zone for this request. + * @param {().Autoscaler} 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?: Params$Resource$Autoscalers$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Autoscalers$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Autoscalers$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.autoscalers.list + * @desc Retrieves a list of autoscalers contained within the specified + * zone. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the zone for this request. + * zone: 'my-zone', // 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; + * compute.autoscalers.list(request, handlePage); + * } + * }; + * + * compute.autoscalers.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 compute.autoscalers.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone Name of the zone for this request. + * @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?: Params$Resource$Autoscalers$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Autoscalers$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Autoscalers$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.autoscalers.patch + * @desc Updates an autoscaler in the specified project using the data + * included in the request. This method supports PATCH semantics and uses + * the JSON merge patch format and processing rules. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * compute.autoscalers.patch(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 compute.autoscalers.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.autoscaler Name of the autoscaler to patch. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone Name of the zone for this request. + * @param {().Autoscaler} 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 + */ + patch(params?: Params$Resource$Autoscalers$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Autoscalers$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Autoscalers$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * compute.autoscalers.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the resource for this request. + * resource_: 'my-resource', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.autoscalers.testIamPermissions(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 compute.autoscalers.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {string} params.zone The name of the zone for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Autoscalers$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Autoscalers$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Autoscalers$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + /** + * compute.autoscalers.update + * @desc Updates an autoscaler in the specified project using the data + * included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * compute.autoscalers.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 compute.autoscalers.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.autoscaler Name of the autoscaler to update. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone Name of the zone for this request. + * @param {().Autoscaler} 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?: Params$Resource$Autoscalers$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Autoscalers$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Autoscalers$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Autoscalers$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Autoscalers$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the autoscaler to delete. + */ + autoscaler?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Autoscalers$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the autoscaler to return. + */ + autoscaler?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Autoscalers$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Autoscaler; + } + interface Params$Resource$Autoscalers$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Autoscalers$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the autoscaler to patch. + */ + autoscaler?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Autoscaler; + } + interface Params$Resource$Autoscalers$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + interface Params$Resource$Autoscalers$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the autoscaler to update. + */ + autoscaler?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Autoscaler; + } + class Resource$Backendbuckets { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.backendBuckets.addSignedUrlKey + * @desc Adds a key for validating requests with signed URLs for this + * backend bucket. + * @alias compute.backendBuckets.addSignedUrlKey + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendBucket Name of the BackendBucket resource to which the Signed URL Key should be added. The name should conform to RFC1035. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().SignedUrlKey} 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 + */ + addSignedUrlKey(params?: Params$Resource$Backendbuckets$Addsignedurlkey, options?: MethodOptions): AxiosPromise; + addSignedUrlKey(params: Params$Resource$Backendbuckets$Addsignedurlkey, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + addSignedUrlKey(params: Params$Resource$Backendbuckets$Addsignedurlkey, callback: BodyResponseCallback): void; + addSignedUrlKey(callback: BodyResponseCallback): void; + /** + * compute.backendBuckets.delete + * @desc Deletes the specified BackendBucket resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the BackendBucket resource to delete. + * backendBucket: 'my-backend-bucket', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * compute.backendBuckets.delete(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 compute.backendBuckets.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendBucket Name of the BackendBucket resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Backendbuckets$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Backendbuckets$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Backendbuckets$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.backendBuckets.deleteSignedUrlKey + * @desc Deletes a key for validating requests with signed URLs for this + * backend bucket. + * @alias compute.backendBuckets.deleteSignedUrlKey + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendBucket Name of the BackendBucket resource to which the Signed URL Key should be added. The name should conform to RFC1035. + * @param {string} params.keyName The name of the Signed URL Key to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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 + */ + deleteSignedUrlKey(params?: Params$Resource$Backendbuckets$Deletesignedurlkey, options?: MethodOptions): AxiosPromise; + deleteSignedUrlKey(params: Params$Resource$Backendbuckets$Deletesignedurlkey, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + deleteSignedUrlKey(params: Params$Resource$Backendbuckets$Deletesignedurlkey, callback: BodyResponseCallback): void; + deleteSignedUrlKey(callback: BodyResponseCallback): void; + /** + * compute.backendBuckets.get + * @desc Returns the specified BackendBucket resource. Gets a list of + * available backend buckets by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the BackendBucket resource to return. + * backendBucket: 'my-backend-bucket', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * compute.backendBuckets.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 compute.backendBuckets.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendBucket Name of the BackendBucket resource to return. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Backendbuckets$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Backendbuckets$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Backendbuckets$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.backendBuckets.insert + * @desc Creates a BackendBucket resource in the specified project using the + * data included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.backendBuckets.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 compute.backendBuckets.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().BackendBucket} 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?: Params$Resource$Backendbuckets$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Backendbuckets$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Backendbuckets$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.backendBuckets.list + * @desc Retrieves the list of BackendBucket resources available to the + * specified project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * compute.backendBuckets.list(request, handlePage); + * } + * }; + * + * compute.backendBuckets.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 compute.backendBuckets.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Backendbuckets$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Backendbuckets$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Backendbuckets$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.backendBuckets.patch + * @desc Updates the specified BackendBucket resource with the data included + * in the request. This method supports PATCH semantics and uses the JSON + * merge patch format and processing rules. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the BackendBucket resource to patch. + * backendBucket: 'my-backend-bucket', // TODO: Update placeholder + * value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * compute.backendBuckets.patch(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 compute.backendBuckets.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendBucket Name of the BackendBucket resource to patch. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().BackendBucket} 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 + */ + patch(params?: Params$Resource$Backendbuckets$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Backendbuckets$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Backendbuckets$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * compute.backendBuckets.update + * @desc Updates the specified BackendBucket resource with the data included + * in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the BackendBucket resource to update. + * backendBucket: 'my-backend-bucket', // TODO: Update placeholder + * value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * compute.backendBuckets.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 compute.backendBuckets.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendBucket Name of the BackendBucket resource to update. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().BackendBucket} 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?: Params$Resource$Backendbuckets$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Backendbuckets$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Backendbuckets$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Backendbuckets$Addsignedurlkey { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendBucket resource to which the Signed URL Key should be + * added. The name should conform to RFC1035. + */ + backendBucket?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SignedUrlKey; + } + interface Params$Resource$Backendbuckets$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendBucket resource to delete. + */ + backendBucket?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Backendbuckets$Deletesignedurlkey { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendBucket resource to which the Signed URL Key should be + * added. The name should conform to RFC1035. + */ + backendBucket?: string; + /** + * The name of the Signed URL Key to delete. + */ + keyName?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Backendbuckets$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendBucket resource to return. + */ + backendBucket?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Backendbuckets$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BackendBucket; + } + interface Params$Resource$Backendbuckets$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Backendbuckets$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendBucket resource to patch. + */ + backendBucket?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BackendBucket; + } + interface Params$Resource$Backendbuckets$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendBucket resource to update. + */ + backendBucket?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BackendBucket; + } + class Resource$Backendservices { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.backendServices.addSignedUrlKey + * @desc Adds a key for validating requests with signed URLs for this + * backend service. + * @alias compute.backendServices.addSignedUrlKey + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendService Name of the BackendService resource to which the Signed URL Key should be added. The name should conform to RFC1035. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().SignedUrlKey} 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 + */ + addSignedUrlKey(params?: Params$Resource$Backendservices$Addsignedurlkey, options?: MethodOptions): AxiosPromise; + addSignedUrlKey(params: Params$Resource$Backendservices$Addsignedurlkey, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + addSignedUrlKey(params: Params$Resource$Backendservices$Addsignedurlkey, callback: BodyResponseCallback): void; + addSignedUrlKey(callback: BodyResponseCallback): void; + /** + * compute.backendServices.aggregatedList + * @desc Retrieves the list of all BackendService resources, regional and + * global, available to the specified project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Name of the project scoping this request. + * 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; + * } + * Object.keys(itemsPage).forEach(function(name) { + * // TODO: Change code below to process each `name` property: + * console.log(name + ': ' + JSON.stringify(itemsPage[name], null, + * 2)); + * }); + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * compute.backendServices.aggregatedList(request, handlePage); + * } + * }; + * + * compute.backendServices.aggregatedList(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 compute.backendServices.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Name of the project scoping this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Backendservices$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Backendservices$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Backendservices$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.backendServices.delete + * @desc Deletes the specified BackendService resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the BackendService resource to delete. + * backendService: 'my-backend-service', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * compute.backendServices.delete(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 compute.backendServices.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendService Name of the BackendService resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Backendservices$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Backendservices$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Backendservices$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.backendServices.deleteSignedUrlKey + * @desc Deletes a key for validating requests with signed URLs for this + * backend service. + * @alias compute.backendServices.deleteSignedUrlKey + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendService Name of the BackendService resource to which the Signed URL Key should be added. The name should conform to RFC1035. + * @param {string} params.keyName The name of the Signed URL Key to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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 + */ + deleteSignedUrlKey(params?: Params$Resource$Backendservices$Deletesignedurlkey, options?: MethodOptions): AxiosPromise; + deleteSignedUrlKey(params: Params$Resource$Backendservices$Deletesignedurlkey, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + deleteSignedUrlKey(params: Params$Resource$Backendservices$Deletesignedurlkey, callback: BodyResponseCallback): void; + deleteSignedUrlKey(callback: BodyResponseCallback): void; + /** + * compute.backendServices.get + * @desc Returns the specified BackendService resource. Gets a list of + * available backend services by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the BackendService resource to return. + * backendService: 'my-backend-service', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * compute.backendServices.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 compute.backendServices.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendService Name of the BackendService resource to return. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Backendservices$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Backendservices$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Backendservices$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.backendServices.getHealth + * @desc Gets the most recent health check results for this BackendService. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the BackendService resource to which the queried instance + * belongs. backendService: 'my-backend-service', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.backendServices.getHealth(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 compute.backendServices.getHealth + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendService Name of the BackendService resource to which the queried instance belongs. + * @param {string} params.project + * @param {().ResourceGroupReference} 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 + */ + getHealth(params?: Params$Resource$Backendservices$Gethealth, options?: MethodOptions): AxiosPromise; + getHealth(params: Params$Resource$Backendservices$Gethealth, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getHealth(params: Params$Resource$Backendservices$Gethealth, callback: BodyResponseCallback): void; + getHealth(callback: BodyResponseCallback): void; + /** + * compute.backendServices.insert + * @desc Creates a BackendService resource in the specified project using + * the data included in the request. There are several restrictions and + * guidelines to keep in mind when creating a backend service. Read + * Restrictions and Guidelines for more information. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.backendServices.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 compute.backendServices.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().BackendService} 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?: Params$Resource$Backendservices$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Backendservices$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Backendservices$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.backendServices.list + * @desc Retrieves the list of BackendService resources available to the + * specified project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * compute.backendServices.list(request, handlePage); + * } + * }; + * + * compute.backendServices.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 compute.backendServices.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Backendservices$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Backendservices$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Backendservices$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.backendServices.patch + * @desc Patches the specified BackendService resource with the data + * included in the request. There are several restrictions and guidelines to + * keep in mind when updating a backend service. Read Restrictions and + * Guidelines for more information. This method supports PATCH semantics and + * uses the JSON merge patch format and processing rules. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the BackendService resource to patch. + * backendService: 'my-backend-service', // TODO: Update placeholder + * value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * compute.backendServices.patch(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 compute.backendServices.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendService Name of the BackendService resource to patch. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().BackendService} 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 + */ + patch(params?: Params$Resource$Backendservices$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Backendservices$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Backendservices$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * compute.backendServices.setSecurityPolicy + * @desc Sets the security policy for the specified backend service. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the BackendService resource to which the security policy + * should be set. The name should + * // conform to RFC1035. + * backendService: 'my-backend-service', // TODO: Update placeholder + * value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.backendServices.setSecurityPolicy(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 compute.backendServices.setSecurityPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendService Name of the BackendService resource to which the security policy should be set. The name should conform to RFC1035. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().SecurityPolicyReference} 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 + */ + setSecurityPolicy(params?: Params$Resource$Backendservices$Setsecuritypolicy, options?: MethodOptions): AxiosPromise; + setSecurityPolicy(params: Params$Resource$Backendservices$Setsecuritypolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setSecurityPolicy(params: Params$Resource$Backendservices$Setsecuritypolicy, callback: BodyResponseCallback): void; + setSecurityPolicy(callback: BodyResponseCallback): void; + /** + * compute.backendServices.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the resource for this request. + * resource_: 'my-resource', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.backendServices.testIamPermissions(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 compute.backendServices.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Backendservices$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Backendservices$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Backendservices$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + /** + * compute.backendServices.update + * @desc Updates the specified BackendService resource with the data + * included in the request. There are several restrictions and guidelines to + * keep in mind when updating a backend service. Read Restrictions and + * Guidelines for more information. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the BackendService resource to update. + * backendService: 'my-backend-service', // TODO: Update placeholder + * value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * compute.backendServices.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 compute.backendServices.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendService Name of the BackendService resource to update. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().BackendService} 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?: Params$Resource$Backendservices$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Backendservices$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Backendservices$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Backendservices$Addsignedurlkey { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendService resource to which the Signed URL Key should be + * added. The name should conform to RFC1035. + */ + backendService?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SignedUrlKey; + } + interface Params$Resource$Backendservices$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Name of the project scoping this request. + */ + project?: string; + } + interface Params$Resource$Backendservices$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendService resource to delete. + */ + backendService?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Backendservices$Deletesignedurlkey { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendService resource to which the Signed URL Key should be + * added. The name should conform to RFC1035. + */ + backendService?: string; + /** + * The name of the Signed URL Key to delete. + */ + keyName?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Backendservices$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendService resource to return. + */ + backendService?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Backendservices$Gethealth { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendService resource to which the queried instance + * belongs. + */ + backendService?: string; + /** + * + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ResourceGroupReference; + } + interface Params$Resource$Backendservices$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BackendService; + } + interface Params$Resource$Backendservices$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Backendservices$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendService resource to patch. + */ + backendService?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BackendService; + } + interface Params$Resource$Backendservices$Setsecuritypolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendService resource to which the security policy should + * be set. The name should conform to RFC1035. + */ + backendService?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SecurityPolicyReference; + } + interface Params$Resource$Backendservices$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + interface Params$Resource$Backendservices$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendService resource to update. + */ + backendService?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BackendService; + } + class Resource$Disks { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.disks.addResourcePolicies + * @desc Adds existing resource policies to a disk. You can only add one + * policy which will be applied to this disk for scheduling snapshot + * creation. + * @alias compute.disks.addResourcePolicies + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.disk The disk name for this request. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().DisksAddResourcePoliciesRequest} 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 + */ + addResourcePolicies(params?: Params$Resource$Disks$Addresourcepolicies, options?: MethodOptions): AxiosPromise; + addResourcePolicies(params: Params$Resource$Disks$Addresourcepolicies, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + addResourcePolicies(params: Params$Resource$Disks$Addresourcepolicies, callback: BodyResponseCallback): void; + addResourcePolicies(callback: BodyResponseCallback): void; + /** + * compute.disks.aggregatedList + * @desc Retrieves an aggregated list of persistent disks. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * } + * Object.keys(itemsPage).forEach(function(name) { + * // TODO: Change code below to process each `name` property: + * console.log(name + ': ' + JSON.stringify(itemsPage[name], null, + * 2)); + * }); + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * compute.disks.aggregatedList(request, handlePage); + * } + * }; + * + * compute.disks.aggregatedList(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 compute.disks.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Disks$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Disks$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Disks$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.disks.createSnapshot + * @desc Creates a snapshot of a specified persistent disk. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the persistent disk to snapshot. + * disk: 'my-disk', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.disks.createSnapshot(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 compute.disks.createSnapshot + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.disk Name of the persistent disk to snapshot. + * @param {boolean=} params.guestFlush + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().Snapshot} 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 + */ + createSnapshot(params?: Params$Resource$Disks$Createsnapshot, options?: MethodOptions): AxiosPromise; + createSnapshot(params: Params$Resource$Disks$Createsnapshot, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + createSnapshot(params: Params$Resource$Disks$Createsnapshot, callback: BodyResponseCallback): void; + createSnapshot(callback: BodyResponseCallback): void; + /** + * compute.disks.delete + * @desc Deletes the specified persistent disk. Deleting a disk removes its + * data permanently and is irreversible. However, deleting a disk does not + * delete any snapshots previously made from the disk. You must separately + * delete snapshots. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the persistent disk to delete. + * disk: 'my-disk', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.disks.delete(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 compute.disks.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.disk Name of the persistent disk to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @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?: Params$Resource$Disks$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Disks$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Disks$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.disks.get + * @desc Returns a specified persistent disk. Gets a list of available + * persistent disks by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the persistent disk to return. + * disk: 'my-disk', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.disks.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 compute.disks.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.disk Name of the persistent disk to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone for this request. + * @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?: Params$Resource$Disks$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Disks$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Disks$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.disks.getIamPolicy + * @desc Gets the access control policy for a resource. May be empty if no + * such policy or resource exists. + * @alias compute.disks.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {string} params.zone The name of the zone for this request. + * @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 + */ + getIamPolicy(params?: Params$Resource$Disks$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Disks$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Disks$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * compute.disks.insert + * @desc Creates a persistent disk in the specified project using the data + * in the request. You can create a disk with a sourceImage, a + * sourceSnapshot, or create an empty 500 GB data disk by omitting all + * properties. You can also create a disk that is larger than the default + * size by specifying the sizeGb property. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.disks.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 compute.disks.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string=} params.sourceImage Optional. Source image to restore onto a disk. + * @param {string} params.zone The name of the zone for this request. + * @param {().Disk} 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?: Params$Resource$Disks$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Disks$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Disks$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.disks.list + * @desc Retrieves a list of persistent disks contained within the specified + * zone. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // 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; + * compute.disks.list(request, handlePage); + * } + * }; + * + * compute.disks.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 compute.disks.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone for this request. + * @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?: Params$Resource$Disks$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Disks$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Disks$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.disks.removeResourcePolicies + * @desc Removes resource policies from a disk. + * @alias compute.disks.removeResourcePolicies + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.disk The disk name for this request. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().DisksRemoveResourcePoliciesRequest} 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 + */ + removeResourcePolicies(params?: Params$Resource$Disks$Removeresourcepolicies, options?: MethodOptions): AxiosPromise; + removeResourcePolicies(params: Params$Resource$Disks$Removeresourcepolicies, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + removeResourcePolicies(params: Params$Resource$Disks$Removeresourcepolicies, callback: BodyResponseCallback): void; + removeResourcePolicies(callback: BodyResponseCallback): void; + /** + * compute.disks.resize + * @desc Resizes the specified persistent disk. You can only increase the + * size of the disk. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the persistent disk. + * disk: 'my-disk', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.disks.resize(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 compute.disks.resize + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.disk The name of the persistent disk. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().DisksResizeRequest} 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 + */ + resize(params?: Params$Resource$Disks$Resize, options?: MethodOptions): AxiosPromise; + resize(params: Params$Resource$Disks$Resize, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + resize(params: Params$Resource$Disks$Resize, callback: BodyResponseCallback): void; + resize(callback: BodyResponseCallback): void; + /** + * compute.disks.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @alias compute.disks.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {string} params.zone The name of the zone for this request. + * @param {().ZoneSetPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Disks$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Disks$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Disks$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * compute.disks.setLabels + * @desc Sets the labels on a disk. To learn more about labels, read the + * Labeling Resources documentation. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the resource for this request. + * resource_: 'my-resource', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.disks.setLabels(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 compute.disks.setLabels + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.resource_ Name of the resource for this request. + * @param {string} params.zone The name of the zone for this request. + * @param {().ZoneSetLabelsRequest} 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 + */ + setLabels(params?: Params$Resource$Disks$Setlabels, options?: MethodOptions): AxiosPromise; + setLabels(params: Params$Resource$Disks$Setlabels, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setLabels(params: Params$Resource$Disks$Setlabels, callback: BodyResponseCallback): void; + setLabels(callback: BodyResponseCallback): void; + /** + * compute.disks.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the resource for this request. + * resource_: 'my-resource', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.disks.testIamPermissions(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 compute.disks.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {string} params.zone The name of the zone for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Disks$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Disks$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Disks$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Disks$Addresourcepolicies { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The disk name for this request. + */ + disk?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DisksAddResourcePoliciesRequest; + } + interface Params$Resource$Disks$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Disks$Createsnapshot { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the persistent disk to snapshot. + */ + disk?: string; + /** + * + */ + guestFlush?: boolean; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Snapshot; + } + interface Params$Resource$Disks$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the persistent disk to delete. + */ + disk?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Disks$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the persistent disk to return. + */ + disk?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Disks$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Disks$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Optional. Source image to restore onto a disk. + */ + sourceImage?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Disk; + } + interface Params$Resource$Disks$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Disks$Removeresourcepolicies { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The disk name for this request. + */ + disk?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DisksRemoveResourcePoliciesRequest; + } + interface Params$Resource$Disks$Resize { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the persistent disk. + */ + disk?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DisksResizeRequest; + } + interface Params$Resource$Disks$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ZoneSetPolicyRequest; + } + interface Params$Resource$Disks$Setlabels { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ZoneSetLabelsRequest; + } + interface Params$Resource$Disks$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Disktypes { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.diskTypes.aggregatedList + * @desc Retrieves an aggregated list of disk types. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * } + * Object.keys(itemsPage).forEach(function(name) { + * // TODO: Change code below to process each `name` property: + * console.log(name + ': ' + JSON.stringify(itemsPage[name], null, + * 2)); + * }); + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * compute.diskTypes.aggregatedList(request, handlePage); + * } + * }; + * + * compute.diskTypes.aggregatedList(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 compute.diskTypes.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Disktypes$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Disktypes$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Disktypes$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.diskTypes.get + * @desc Returns the specified disk type. Gets a list of available disk + * types by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the disk type to return. + * diskType: 'my-disk-type', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.diskTypes.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 compute.diskTypes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.diskType Name of the disk type to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone for this request. + * @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?: Params$Resource$Disktypes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Disktypes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Disktypes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.diskTypes.list + * @desc Retrieves a list of disk types available to the specified project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // 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; + * compute.diskTypes.list(request, handlePage); + * } + * }; + * + * compute.diskTypes.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 compute.diskTypes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone for this request. + * @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?: Params$Resource$Disktypes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Disktypes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Disktypes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Disktypes$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Disktypes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the disk type to return. + */ + diskType?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Disktypes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + class Resource$Firewalls { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.firewalls.delete + * @desc Deletes the specified firewall. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the firewall rule to delete. + * firewall: 'my-firewall', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.firewalls.delete(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 compute.firewalls.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.firewall Name of the firewall rule to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Firewalls$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Firewalls$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Firewalls$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.firewalls.get + * @desc Returns the specified firewall. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the firewall rule to return. + * firewall: 'my-firewall', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.firewalls.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 compute.firewalls.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.firewall Name of the firewall rule to return. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Firewalls$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Firewalls$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Firewalls$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.firewalls.insert + * @desc Creates a firewall rule in the specified project using the data + * included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.firewalls.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 compute.firewalls.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Firewall} 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?: Params$Resource$Firewalls$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Firewalls$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Firewalls$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.firewalls.list + * @desc Retrieves the list of firewall rules available to the specified + * project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * compute.firewalls.list(request, handlePage); + * } + * }; + * + * compute.firewalls.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 compute.firewalls.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Firewalls$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Firewalls$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Firewalls$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.firewalls.patch + * @desc Updates the specified firewall rule with the data included in the + * request. This method supports PATCH semantics and uses the JSON merge + * patch format and processing rules. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the firewall rule to patch. + * firewall: 'my-firewall', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * compute.firewalls.patch(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 compute.firewalls.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.firewall Name of the firewall rule to patch. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Firewall} 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 + */ + patch(params?: Params$Resource$Firewalls$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Firewalls$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Firewalls$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * compute.firewalls.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the resource for this request. + * resource_: 'my-resource', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.firewalls.testIamPermissions(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 compute.firewalls.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Firewalls$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Firewalls$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Firewalls$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + /** + * compute.firewalls.update + * @desc Updates the specified firewall rule with the data included in the + * request. The PUT method can only update the following fields of firewall + * rule: allowed, description, sourceRanges, sourceTags, targetTags. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the firewall rule to update. + * firewall: 'my-firewall', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * compute.firewalls.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 compute.firewalls.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.firewall Name of the firewall rule to update. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Firewall} 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?: Params$Resource$Firewalls$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Firewalls$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Firewalls$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Firewalls$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the firewall rule to delete. + */ + firewall?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Firewalls$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the firewall rule to return. + */ + firewall?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Firewalls$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Firewall; + } + interface Params$Resource$Firewalls$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Firewalls$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the firewall rule to patch. + */ + firewall?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Firewall; + } + interface Params$Resource$Firewalls$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + interface Params$Resource$Firewalls$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the firewall rule to update. + */ + firewall?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Firewall; + } + class Resource$Forwardingrules { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.forwardingRules.aggregatedList + * @desc Retrieves an aggregated list of forwarding rules. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * } + * Object.keys(itemsPage).forEach(function(name) { + * // TODO: Change code below to process each `name` property: + * console.log(name + ': ' + JSON.stringify(itemsPage[name], null, + * 2)); + * }); + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * compute.forwardingRules.aggregatedList(request, handlePage); + * } + * }; + * + * compute.forwardingRules.aggregatedList(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 compute.forwardingRules.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Forwardingrules$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Forwardingrules$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Forwardingrules$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.forwardingRules.delete + * @desc Deletes the specified ForwardingRule resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the ForwardingRule resource to delete. + * forwardingRule: 'my-forwarding-rule', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * compute.forwardingRules.delete(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 compute.forwardingRules.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.forwardingRule Name of the ForwardingRule resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Forwardingrules$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Forwardingrules$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Forwardingrules$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.forwardingRules.get + * @desc Returns the specified ForwardingRule resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the ForwardingRule resource to return. + * forwardingRule: 'my-forwarding-rule', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * compute.forwardingRules.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 compute.forwardingRules.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.forwardingRule Name of the ForwardingRule resource to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @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?: Params$Resource$Forwardingrules$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Forwardingrules$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Forwardingrules$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.forwardingRules.insert + * @desc Creates a ForwardingRule resource in the specified project and + * region using the data included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.forwardingRules.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 compute.forwardingRules.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().ForwardingRule} 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?: Params$Resource$Forwardingrules$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Forwardingrules$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Forwardingrules$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.forwardingRules.list + * @desc Retrieves a list of ForwardingRule resources available to the + * specified project and region. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // 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; + * compute.forwardingRules.list(request, handlePage); + * } + * }; + * + * compute.forwardingRules.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 compute.forwardingRules.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @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?: Params$Resource$Forwardingrules$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Forwardingrules$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Forwardingrules$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.forwardingRules.setLabels + * @desc Sets the labels on the specified resource. To learn more about + * labels, read the Labeling Resources documentation. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the resource for this request. + * resource_: 'my-resource', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.forwardingRules.setLabels(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 compute.forwardingRules.setLabels + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.resource_ Name of the resource for this request. + * @param {().RegionSetLabelsRequest} 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 + */ + setLabels(params?: Params$Resource$Forwardingrules$Setlabels, options?: MethodOptions): AxiosPromise; + setLabels(params: Params$Resource$Forwardingrules$Setlabels, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setLabels(params: Params$Resource$Forwardingrules$Setlabels, callback: BodyResponseCallback): void; + setLabels(callback: BodyResponseCallback): void; + /** + * compute.forwardingRules.setTarget + * @desc Changes target URL for forwarding rule. The new target should be of + * the same type as the old target. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the ForwardingRule resource in which target is to be set. + * forwardingRule: 'my-forwarding-rule', // TODO: Update placeholder + * value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.forwardingRules.setTarget(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 compute.forwardingRules.setTarget + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.forwardingRule Name of the ForwardingRule resource in which target is to be set. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().TargetReference} 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 + */ + setTarget(params?: Params$Resource$Forwardingrules$Settarget, options?: MethodOptions): AxiosPromise; + setTarget(params: Params$Resource$Forwardingrules$Settarget, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setTarget(params: Params$Resource$Forwardingrules$Settarget, callback: BodyResponseCallback): void; + setTarget(callback: BodyResponseCallback): void; + /** + * compute.forwardingRules.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the resource for this request. + * resource_: 'my-resource', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.forwardingRules.testIamPermissions(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 compute.forwardingRules.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Forwardingrules$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Forwardingrules$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Forwardingrules$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Forwardingrules$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Forwardingrules$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the ForwardingRule resource to delete. + */ + forwardingRule?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Forwardingrules$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the ForwardingRule resource to return. + */ + forwardingRule?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + } + interface Params$Resource$Forwardingrules$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ForwardingRule; + } + interface Params$Resource$Forwardingrules$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + } + interface Params$Resource$Forwardingrules$Setlabels { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RegionSetLabelsRequest; + } + interface Params$Resource$Forwardingrules$Settarget { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the ForwardingRule resource in which target is to be set. + */ + forwardingRule?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetReference; + } + interface Params$Resource$Forwardingrules$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Globaladdresses { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.globalAddresses.delete + * @desc Deletes the specified address resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the address resource to delete. + * address: 'my-address', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.globalAddresses.delete(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 compute.globalAddresses.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.address Name of the address resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Globaladdresses$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Globaladdresses$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Globaladdresses$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.globalAddresses.get + * @desc Returns the specified address resource. Gets a list of available + * addresses by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the address resource to return. + * address: 'my-address', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.globalAddresses.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 compute.globalAddresses.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.address Name of the address resource to return. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Globaladdresses$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Globaladdresses$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Globaladdresses$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.globalAddresses.insert + * @desc Creates an address resource in the specified project using the data + * included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.globalAddresses.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 compute.globalAddresses.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Address} 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?: Params$Resource$Globaladdresses$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Globaladdresses$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Globaladdresses$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.globalAddresses.list + * @desc Retrieves a list of global addresses. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * compute.globalAddresses.list(request, handlePage); + * } + * }; + * + * compute.globalAddresses.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 compute.globalAddresses.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Globaladdresses$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Globaladdresses$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Globaladdresses$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.globalAddresses.setLabels + * @desc Sets the labels on a GlobalAddress. To learn more about labels, + * read the Labeling Resources documentation. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the resource for this request. + * resource_: 'my-resource', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.globalAddresses.setLabels(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 compute.globalAddresses.setLabels + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().GlobalSetLabelsRequest} 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 + */ + setLabels(params?: Params$Resource$Globaladdresses$Setlabels, options?: MethodOptions): AxiosPromise; + setLabels(params: Params$Resource$Globaladdresses$Setlabels, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setLabels(params: Params$Resource$Globaladdresses$Setlabels, callback: BodyResponseCallback): void; + setLabels(callback: BodyResponseCallback): void; + /** + * compute.globalAddresses.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the resource for this request. + * resource_: 'my-resource', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.globalAddresses.testIamPermissions(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 compute.globalAddresses.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Globaladdresses$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Globaladdresses$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Globaladdresses$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Globaladdresses$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the address resource to delete. + */ + address?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Globaladdresses$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the address resource to return. + */ + address?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Globaladdresses$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Address; + } + interface Params$Resource$Globaladdresses$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Globaladdresses$Setlabels { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GlobalSetLabelsRequest; + } + interface Params$Resource$Globaladdresses$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Globalforwardingrules { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.globalForwardingRules.delete + * @desc Deletes the specified GlobalForwardingRule resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the ForwardingRule resource to delete. + * forwardingRule: 'my-forwarding-rule', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * compute.globalForwardingRules.delete(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 compute.globalForwardingRules.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.forwardingRule Name of the ForwardingRule resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Globalforwardingrules$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Globalforwardingrules$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Globalforwardingrules$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.globalForwardingRules.get + * @desc Returns the specified GlobalForwardingRule resource. Gets a list of + * available forwarding rules by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the ForwardingRule resource to return. + * forwardingRule: 'my-forwarding-rule', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * compute.globalForwardingRules.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 compute.globalForwardingRules.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.forwardingRule Name of the ForwardingRule resource to return. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Globalforwardingrules$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Globalforwardingrules$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Globalforwardingrules$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.globalForwardingRules.insert + * @desc Creates a GlobalForwardingRule resource in the specified project + * using the data included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.globalForwardingRules.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 compute.globalForwardingRules.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().ForwardingRule} 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?: Params$Resource$Globalforwardingrules$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Globalforwardingrules$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Globalforwardingrules$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.globalForwardingRules.list + * @desc Retrieves a list of GlobalForwardingRule resources available to the + * specified project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * compute.globalForwardingRules.list(request, handlePage); + * } + * }; + * + * compute.globalForwardingRules.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 compute.globalForwardingRules.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Globalforwardingrules$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Globalforwardingrules$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Globalforwardingrules$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.globalForwardingRules.setLabels + * @desc Sets the labels on the specified resource. To learn more about + * labels, read the Labeling Resources documentation. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the resource for this request. + * resource_: 'my-resource', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.globalForwardingRules.setLabels(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 compute.globalForwardingRules.setLabels + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().GlobalSetLabelsRequest} 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 + */ + setLabels(params?: Params$Resource$Globalforwardingrules$Setlabels, options?: MethodOptions): AxiosPromise; + setLabels(params: Params$Resource$Globalforwardingrules$Setlabels, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setLabels(params: Params$Resource$Globalforwardingrules$Setlabels, callback: BodyResponseCallback): void; + setLabels(callback: BodyResponseCallback): void; + /** + * compute.globalForwardingRules.setTarget + * @desc Changes target URL for the GlobalForwardingRule resource. The new + * target should be of the same type as the old target. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the ForwardingRule resource in which target is to be set. + * forwardingRule: 'my-forwarding-rule', // TODO: Update placeholder + * value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.globalForwardingRules.setTarget(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 compute.globalForwardingRules.setTarget + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.forwardingRule Name of the ForwardingRule resource in which target is to be set. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().TargetReference} 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 + */ + setTarget(params?: Params$Resource$Globalforwardingrules$Settarget, options?: MethodOptions): AxiosPromise; + setTarget(params: Params$Resource$Globalforwardingrules$Settarget, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setTarget(params: Params$Resource$Globalforwardingrules$Settarget, callback: BodyResponseCallback): void; + setTarget(callback: BodyResponseCallback): void; + /** + * compute.globalForwardingRules.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the resource for this request. + * resource_: 'my-resource', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.globalForwardingRules.testIamPermissions(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 compute.globalForwardingRules.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Globalforwardingrules$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Globalforwardingrules$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Globalforwardingrules$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Globalforwardingrules$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the ForwardingRule resource to delete. + */ + forwardingRule?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Globalforwardingrules$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the ForwardingRule resource to return. + */ + forwardingRule?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Globalforwardingrules$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ForwardingRule; + } + interface Params$Resource$Globalforwardingrules$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Globalforwardingrules$Setlabels { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GlobalSetLabelsRequest; + } + interface Params$Resource$Globalforwardingrules$Settarget { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the ForwardingRule resource in which target is to be set. + */ + forwardingRule?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetReference; + } + interface Params$Resource$Globalforwardingrules$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Globaloperations { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.globalOperations.aggregatedList + * @desc Retrieves an aggregated list of all operations. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * } + * Object.keys(itemsPage).forEach(function(name) { + * // TODO: Change code below to process each `name` property: + * console.log(name + ': ' + JSON.stringify(itemsPage[name], null, + * 2)); + * }); + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * compute.globalOperations.aggregatedList(request, handlePage); + * } + * }; + * + * compute.globalOperations.aggregatedList(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 compute.globalOperations.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Globaloperations$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Globaloperations$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Globaloperations$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.globalOperations.delete + * @desc Deletes the specified Operations resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the Operations resource to delete. + * operation: 'my-operation', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.globalOperations.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 compute.globalOperations.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.operation Name of the Operations resource to delete. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Globaloperations$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Globaloperations$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Globaloperations$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.globalOperations.get + * @desc Retrieves the specified Operations resource. Gets a list of + * operations by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the Operations resource to return. + * operation: 'my-operation', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.globalOperations.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 compute.globalOperations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.operation Name of the Operations resource to return. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Globaloperations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Globaloperations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Globaloperations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.globalOperations.list + * @desc Retrieves a list of Operation resources contained within the + * specified project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * compute.globalOperations.list(request, handlePage); + * } + * }; + * + * compute.globalOperations.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 compute.globalOperations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Globaloperations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Globaloperations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Globaloperations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Globaloperations$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Globaloperations$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the Operations resource to delete. + */ + operation?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Globaloperations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the Operations resource to return. + */ + operation?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Globaloperations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + class Resource$Healthchecks { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.healthChecks.delete + * @desc Deletes the specified HealthCheck resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the HealthCheck resource to delete. + * healthCheck: 'my-health-check', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.healthChecks.delete(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 compute.healthChecks.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.healthCheck Name of the HealthCheck resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Healthchecks$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Healthchecks$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Healthchecks$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.healthChecks.get + * @desc Returns the specified HealthCheck resource. Gets a list of + * available health checks by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the HealthCheck resource to return. + * healthCheck: 'my-health-check', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.healthChecks.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 compute.healthChecks.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.healthCheck Name of the HealthCheck resource to return. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Healthchecks$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Healthchecks$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Healthchecks$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.healthChecks.insert + * @desc Creates a HealthCheck resource in the specified project using the + * data included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.healthChecks.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 compute.healthChecks.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().HealthCheck} 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?: Params$Resource$Healthchecks$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Healthchecks$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Healthchecks$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.healthChecks.list + * @desc Retrieves the list of HealthCheck resources available to the + * specified project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * compute.healthChecks.list(request, handlePage); + * } + * }; + * + * compute.healthChecks.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 compute.healthChecks.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Healthchecks$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Healthchecks$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Healthchecks$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.healthChecks.patch + * @desc Updates a HealthCheck resource in the specified project using the + * data included in the request. This method supports PATCH semantics and + * uses the JSON merge patch format and processing rules. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the HealthCheck resource to patch. + * healthCheck: 'my-health-check', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * compute.healthChecks.patch(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 compute.healthChecks.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.healthCheck Name of the HealthCheck resource to patch. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().HealthCheck} 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 + */ + patch(params?: Params$Resource$Healthchecks$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Healthchecks$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Healthchecks$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * compute.healthChecks.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the resource for this request. + * resource_: 'my-resource', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.healthChecks.testIamPermissions(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 compute.healthChecks.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Healthchecks$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Healthchecks$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Healthchecks$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + /** + * compute.healthChecks.update + * @desc Updates a HealthCheck resource in the specified project using the + * data included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the HealthCheck resource to update. + * healthCheck: 'my-health-check', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * compute.healthChecks.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 compute.healthChecks.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.healthCheck Name of the HealthCheck resource to update. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().HealthCheck} 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?: Params$Resource$Healthchecks$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Healthchecks$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Healthchecks$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Healthchecks$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the HealthCheck resource to delete. + */ + healthCheck?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Healthchecks$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the HealthCheck resource to return. + */ + healthCheck?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Healthchecks$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$HealthCheck; + } + interface Params$Resource$Healthchecks$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Healthchecks$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the HealthCheck resource to patch. + */ + healthCheck?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$HealthCheck; + } + interface Params$Resource$Healthchecks$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + interface Params$Resource$Healthchecks$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the HealthCheck resource to update. + */ + healthCheck?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$HealthCheck; + } + class Resource$Httphealthchecks { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.httpHealthChecks.delete + * @desc Deletes the specified HttpHealthCheck resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the HttpHealthCheck resource to delete. + * httpHealthCheck: 'my-http-health-check', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * compute.httpHealthChecks.delete(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 compute.httpHealthChecks.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.httpHealthCheck Name of the HttpHealthCheck resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Httphealthchecks$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Httphealthchecks$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Httphealthchecks$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.httpHealthChecks.get + * @desc Returns the specified HttpHealthCheck resource. Gets a list of + * available HTTP health checks by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the HttpHealthCheck resource to return. + * httpHealthCheck: 'my-http-health-check', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * compute.httpHealthChecks.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 compute.httpHealthChecks.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.httpHealthCheck Name of the HttpHealthCheck resource to return. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Httphealthchecks$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Httphealthchecks$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Httphealthchecks$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.httpHealthChecks.insert + * @desc Creates a HttpHealthCheck resource in the specified project using + * the data included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.httpHealthChecks.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 compute.httpHealthChecks.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().HttpHealthCheck} 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?: Params$Resource$Httphealthchecks$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Httphealthchecks$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Httphealthchecks$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.httpHealthChecks.list + * @desc Retrieves the list of HttpHealthCheck resources available to the + * specified project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * compute.httpHealthChecks.list(request, handlePage); + * } + * }; + * + * compute.httpHealthChecks.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 compute.httpHealthChecks.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Httphealthchecks$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Httphealthchecks$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Httphealthchecks$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.httpHealthChecks.patch + * @desc Updates a HttpHealthCheck resource in the specified project using + * the data included in the request. This method supports PATCH semantics + * and uses the JSON merge patch format and processing rules. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the HttpHealthCheck resource to patch. + * httpHealthCheck: 'my-http-health-check', // TODO: Update placeholder + * value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * compute.httpHealthChecks.patch(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 compute.httpHealthChecks.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.httpHealthCheck Name of the HttpHealthCheck resource to patch. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().HttpHealthCheck} 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 + */ + patch(params?: Params$Resource$Httphealthchecks$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Httphealthchecks$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Httphealthchecks$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * compute.httpHealthChecks.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the resource for this request. + * resource_: 'my-resource', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.httpHealthChecks.testIamPermissions(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 compute.httpHealthChecks.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Httphealthchecks$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Httphealthchecks$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Httphealthchecks$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + /** + * compute.httpHealthChecks.update + * @desc Updates a HttpHealthCheck resource in the specified project using + * the data included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the HttpHealthCheck resource to update. + * httpHealthCheck: 'my-http-health-check', // TODO: Update placeholder + * value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * compute.httpHealthChecks.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 compute.httpHealthChecks.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.httpHealthCheck Name of the HttpHealthCheck resource to update. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().HttpHealthCheck} 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?: Params$Resource$Httphealthchecks$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Httphealthchecks$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Httphealthchecks$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Httphealthchecks$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the HttpHealthCheck resource to delete. + */ + httpHealthCheck?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Httphealthchecks$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the HttpHealthCheck resource to return. + */ + httpHealthCheck?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Httphealthchecks$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$HttpHealthCheck; + } + interface Params$Resource$Httphealthchecks$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Httphealthchecks$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the HttpHealthCheck resource to patch. + */ + httpHealthCheck?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$HttpHealthCheck; + } + interface Params$Resource$Httphealthchecks$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + interface Params$Resource$Httphealthchecks$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the HttpHealthCheck resource to update. + */ + httpHealthCheck?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$HttpHealthCheck; + } + class Resource$Httpshealthchecks { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.httpsHealthChecks.delete + * @desc Deletes the specified HttpsHealthCheck resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the HttpsHealthCheck resource to delete. + * httpsHealthCheck: 'my-https-health-check', // TODO: Update + * placeholder value. + * + * auth: authClient, + * }; + * + * compute.httpsHealthChecks.delete(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 compute.httpsHealthChecks.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.httpsHealthCheck Name of the HttpsHealthCheck resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Httpshealthchecks$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Httpshealthchecks$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Httpshealthchecks$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.httpsHealthChecks.get + * @desc Returns the specified HttpsHealthCheck resource. Gets a list of + * available HTTPS health checks by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the HttpsHealthCheck resource to return. + * httpsHealthCheck: 'my-https-health-check', // TODO: Update + * placeholder value. + * + * auth: authClient, + * }; + * + * compute.httpsHealthChecks.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 compute.httpsHealthChecks.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.httpsHealthCheck Name of the HttpsHealthCheck resource to return. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Httpshealthchecks$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Httpshealthchecks$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Httpshealthchecks$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.httpsHealthChecks.insert + * @desc Creates a HttpsHealthCheck resource in the specified project using + * the data included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.httpsHealthChecks.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 compute.httpsHealthChecks.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().HttpsHealthCheck} 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?: Params$Resource$Httpshealthchecks$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Httpshealthchecks$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Httpshealthchecks$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.httpsHealthChecks.list + * @desc Retrieves the list of HttpsHealthCheck resources available to the + * specified project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * compute.httpsHealthChecks.list(request, handlePage); + * } + * }; + * + * compute.httpsHealthChecks.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 compute.httpsHealthChecks.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Httpshealthchecks$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Httpshealthchecks$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Httpshealthchecks$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.httpsHealthChecks.patch + * @desc Updates a HttpsHealthCheck resource in the specified project using + * the data included in the request. This method supports PATCH semantics + * and uses the JSON merge patch format and processing rules. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the HttpsHealthCheck resource to patch. + * httpsHealthCheck: 'my-https-health-check', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * compute.httpsHealthChecks.patch(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 compute.httpsHealthChecks.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.httpsHealthCheck Name of the HttpsHealthCheck resource to patch. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().HttpsHealthCheck} 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 + */ + patch(params?: Params$Resource$Httpshealthchecks$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Httpshealthchecks$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Httpshealthchecks$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * compute.httpsHealthChecks.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the resource for this request. + * resource_: 'my-resource', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.httpsHealthChecks.testIamPermissions(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 compute.httpsHealthChecks.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Httpshealthchecks$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Httpshealthchecks$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Httpshealthchecks$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + /** + * compute.httpsHealthChecks.update + * @desc Updates a HttpsHealthCheck resource in the specified project using + * the data included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the HttpsHealthCheck resource to update. + * httpsHealthCheck: 'my-https-health-check', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * compute.httpsHealthChecks.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 compute.httpsHealthChecks.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.httpsHealthCheck Name of the HttpsHealthCheck resource to update. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().HttpsHealthCheck} 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?: Params$Resource$Httpshealthchecks$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Httpshealthchecks$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Httpshealthchecks$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Httpshealthchecks$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the HttpsHealthCheck resource to delete. + */ + httpsHealthCheck?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Httpshealthchecks$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the HttpsHealthCheck resource to return. + */ + httpsHealthCheck?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Httpshealthchecks$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$HttpsHealthCheck; + } + interface Params$Resource$Httpshealthchecks$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Httpshealthchecks$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the HttpsHealthCheck resource to patch. + */ + httpsHealthCheck?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$HttpsHealthCheck; + } + interface Params$Resource$Httpshealthchecks$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + interface Params$Resource$Httpshealthchecks$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the HttpsHealthCheck resource to update. + */ + httpsHealthCheck?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$HttpsHealthCheck; + } + class Resource$Images { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.images.delete + * @desc Deletes the specified image. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the image resource to delete. + * image: 'my-image', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.images.delete(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 compute.images.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.image Name of the image resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Images$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Images$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Images$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.images.deprecate + * @desc Sets the deprecation status of an image. If an empty request body + * is given, clears the deprecation status instead. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Image name. + * image: 'my-image', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.images.deprecate(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 compute.images.deprecate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.image Image name. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().DeprecationStatus} 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 + */ + deprecate(params?: Params$Resource$Images$Deprecate, options?: MethodOptions): AxiosPromise; + deprecate(params: Params$Resource$Images$Deprecate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + deprecate(params: Params$Resource$Images$Deprecate, callback: BodyResponseCallback): void; + deprecate(callback: BodyResponseCallback): void; + /** + * compute.images.get + * @desc Returns the specified image. Gets a list of available images by + * making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the image resource to return. + * image: 'my-image', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.images.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 compute.images.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.image Name of the image resource to return. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Images$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Images$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Images$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.images.getFromFamily + * @desc Returns the latest image that is part of an image family and is not + * deprecated. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the image family to search for. + * family: 'my-family', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.images.getFromFamily(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 compute.images.getFromFamily + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.family Name of the image family to search for. + * @param {string} params.project Project ID for this request. + * @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 + */ + getFromFamily(params?: Params$Resource$Images$Getfromfamily, options?: MethodOptions): AxiosPromise; + getFromFamily(params: Params$Resource$Images$Getfromfamily, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getFromFamily(params: Params$Resource$Images$Getfromfamily, callback: BodyResponseCallback): void; + getFromFamily(callback: BodyResponseCallback): void; + /** + * compute.images.getIamPolicy + * @desc Gets the access control policy for a resource. May be empty if no + * such policy or resource exists. + * @alias compute.images.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @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 + */ + getIamPolicy(params?: Params$Resource$Images$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Images$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Images$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * compute.images.insert + * @desc Creates an image in the specified project using the data included + * in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.images.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 compute.images.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.forceCreate Force image creation if true. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Image} 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?: Params$Resource$Images$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Images$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Images$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.images.list + * @desc Retrieves the list of custom images available to the specified + * project. Custom images are images you create that belong to your project. + * This method does not get any images that belong to other projects, + * including publicly-available images, like Debian 8. If you want to get a + * list of publicly-available images, use this method to make a request to + * the respective image project, such as debian-cloud or windows-cloud. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * compute.images.list(request, handlePage); + * } + * }; + * + * compute.images.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 compute.images.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Images$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Images$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Images$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.images.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @alias compute.images.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().GlobalSetPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Images$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Images$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Images$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * compute.images.setLabels + * @desc Sets the labels on an image. To learn more about labels, read the + * Labeling Resources documentation. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the resource for this request. + * resource_: 'my-resource', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.images.setLabels(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 compute.images.setLabels + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().GlobalSetLabelsRequest} 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 + */ + setLabels(params?: Params$Resource$Images$Setlabels, options?: MethodOptions): AxiosPromise; + setLabels(params: Params$Resource$Images$Setlabels, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setLabels(params: Params$Resource$Images$Setlabels, callback: BodyResponseCallback): void; + setLabels(callback: BodyResponseCallback): void; + /** + * compute.images.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the resource for this request. + * resource_: 'my-resource', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.images.testIamPermissions(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 compute.images.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Images$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Images$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Images$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Images$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the image resource to delete. + */ + image?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Images$Deprecate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Image name. + */ + image?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DeprecationStatus; + } + interface Params$Resource$Images$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the image resource to return. + */ + image?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Images$Getfromfamily { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the image family to search for. + */ + family?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Images$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + } + interface Params$Resource$Images$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Force image creation if true. + */ + forceCreate?: boolean; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Image; + } + interface Params$Resource$Images$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Images$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GlobalSetPolicyRequest; + } + interface Params$Resource$Images$Setlabels { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GlobalSetLabelsRequest; + } + interface Params$Resource$Images$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Instancegroupmanagers { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.instanceGroupManagers.abandonInstances + * @desc Schedules a group action to remove the specified instances from the + * managed instance group. Abandoning an instance does not delete the + * instance, but it does remove the instance from any target pools that are + * applied by the managed instance group. This method reduces the targetSize + * of the managed instance group by the number of instances that you + * abandon. This operation is marked as DONE when the action is scheduled + * even if the instances have not yet been removed from the group. You must + * separately verify the status of the abandoning action with the + * listmanagedinstances method. If the group is part of a backend service + * that has enabled connection draining, it can take up to 60 seconds after + * the connection draining duration has elapsed before the VM instance is + * removed or deleted. You can specify a maximum of 1000 instances with + * this method per request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone where the managed instance group is located. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the managed instance group. + * instanceGroupManager: 'my-instance-group-manager', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.instanceGroupManagers.abandonInstances(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 compute.instanceGroupManagers.abandonInstances + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager The name of the managed instance group. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone where the managed instance group is located. + * @param {().InstanceGroupManagersAbandonInstancesRequest} 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 + */ + abandonInstances(params?: Params$Resource$Instancegroupmanagers$Abandoninstances, options?: MethodOptions): AxiosPromise; + abandonInstances(params: Params$Resource$Instancegroupmanagers$Abandoninstances, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + abandonInstances(params: Params$Resource$Instancegroupmanagers$Abandoninstances, callback: BodyResponseCallback): void; + abandonInstances(callback: BodyResponseCallback): void; + /** + * compute.instanceGroupManagers.aggregatedList + * @desc Retrieves the list of managed instance groups and groups them by + * zone. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * } + * Object.keys(itemsPage).forEach(function(name) { + * // TODO: Change code below to process each `name` property: + * console.log(name + ': ' + JSON.stringify(itemsPage[name], null, + * 2)); + * }); + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * compute.instanceGroupManagers.aggregatedList(request, handlePage); + * } + * }; + * + * compute.instanceGroupManagers.aggregatedList(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 compute.instanceGroupManagers.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Instancegroupmanagers$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Instancegroupmanagers$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Instancegroupmanagers$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.instanceGroupManagers.delete + * @desc Deletes the specified managed instance group and all of the + * instances in that group. Note that the instance group must not belong to + * a backend service. Read Deleting an instance group for more information. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone where the managed instance group is located. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the managed instance group to delete. + * instanceGroupManager: 'my-instance-group-manager', // TODO: Update + * placeholder value. + * + * auth: authClient, + * }; + * + * compute.instanceGroupManagers.delete(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 compute.instanceGroupManagers.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager The name of the managed instance group to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone where the managed instance group is located. + * @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?: Params$Resource$Instancegroupmanagers$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Instancegroupmanagers$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Instancegroupmanagers$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.instanceGroupManagers.deleteInstances + * @desc Schedules a group action to delete the specified instances in the + * managed instance group. The instances are also removed from any target + * pools of which they were a member. This method reduces the targetSize of + * the managed instance group by the number of instances that you delete. + * This operation is marked as DONE when the action is scheduled even if the + * instances are still being deleted. You must separately verify the status + * of the deleting action with the listmanagedinstances method. If the + * group is part of a backend service that has enabled connection draining, + * it can take up to 60 seconds after the connection draining duration has + * elapsed before the VM instance is removed or deleted. You can specify a + * maximum of 1000 instances with this method per request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone where the managed instance group is located. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the managed instance group. + * instanceGroupManager: 'my-instance-group-manager', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.instanceGroupManagers.deleteInstances(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 compute.instanceGroupManagers.deleteInstances + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager The name of the managed instance group. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone where the managed instance group is located. + * @param {().InstanceGroupManagersDeleteInstancesRequest} 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 + */ + deleteInstances(params?: Params$Resource$Instancegroupmanagers$Deleteinstances, options?: MethodOptions): AxiosPromise; + deleteInstances(params: Params$Resource$Instancegroupmanagers$Deleteinstances, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + deleteInstances(params: Params$Resource$Instancegroupmanagers$Deleteinstances, callback: BodyResponseCallback): void; + deleteInstances(callback: BodyResponseCallback): void; + /** + * compute.instanceGroupManagers.get + * @desc Returns all of the details about the specified managed instance + * group. Gets a list of available managed instance groups by making a + * list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone where the managed instance group is located. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the managed instance group. + * instanceGroupManager: 'my-instance-group-manager', // TODO: Update + * placeholder value. + * + * auth: authClient, + * }; + * + * compute.instanceGroupManagers.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 compute.instanceGroupManagers.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager The name of the managed instance group. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone where the managed instance group is located. + * @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?: Params$Resource$Instancegroupmanagers$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Instancegroupmanagers$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Instancegroupmanagers$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.instanceGroupManagers.insert + * @desc Creates a managed instance group using the information that you + * specify in the request. After the group is created, it schedules an + * action to create instances in the group using the specified instance + * template. This operation is marked as DONE when the group is created even + * if the instances in the group have not yet been created. You must + * separately verify the status of the individual instances with the + * listmanagedinstances method. A managed instance group can have up to + * 1000 VM instances per group. Please contact Cloud Support if you need an + * increase in this limit. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone where you want to create the managed instance + * group. zone: 'my-zone', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.instanceGroupManagers.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 compute.instanceGroupManagers.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone where you want to create the managed instance group. + * @param {().InstanceGroupManager} 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?: Params$Resource$Instancegroupmanagers$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Instancegroupmanagers$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Instancegroupmanagers$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.instanceGroupManagers.list + * @desc Retrieves a list of managed instance groups that are contained + * within the specified project and zone. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone where the managed instance group is located. + * zone: 'my-zone', // 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; + * compute.instanceGroupManagers.list(request, handlePage); + * } + * }; + * + * compute.instanceGroupManagers.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 compute.instanceGroupManagers.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone where the managed instance group is located. + * @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?: Params$Resource$Instancegroupmanagers$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Instancegroupmanagers$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Instancegroupmanagers$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.instanceGroupManagers.listManagedInstances + * @desc Lists all of the instances in the managed instance group. Each + * instance in the list has a currentAction, which indicates the action that + * the managed instance group is performing on the instance. For example, if + * the group is still creating an instance, the currentAction is CREATING. + * If a previous action failed, the list displays the errors for that failed + * action. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone where the managed instance group is located. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the managed instance group. + * instanceGroupManager: 'my-instance-group-manager', // TODO: Update + * placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var managedInstancesPage = response['managedInstances']; + * if (!managedInstancesPage) { + * return; + * } + * for (var i = 0; i < managedInstancesPage.length; i++) { + * // TODO: Change code below to process each resource in + * `managedInstancesPage`: + * console.log(JSON.stringify(managedInstancesPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * compute.instanceGroupManagers.listManagedInstances(request, + * handlePage); + * } + * }; + * + * compute.instanceGroupManagers.listManagedInstances(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 compute.instanceGroupManagers.listManagedInstances + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {string} params.instanceGroupManager The name of the managed instance group. + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.order_by Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone where the managed instance group is located. + * @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 + */ + listManagedInstances(params?: Params$Resource$Instancegroupmanagers$Listmanagedinstances, options?: MethodOptions): AxiosPromise; + listManagedInstances(params: Params$Resource$Instancegroupmanagers$Listmanagedinstances, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listManagedInstances(params: Params$Resource$Instancegroupmanagers$Listmanagedinstances, callback: BodyResponseCallback): void; + listManagedInstances(callback: BodyResponseCallback): void; + /** + * compute.instanceGroupManagers.patch + * @desc Updates a managed instance group using the information that you + * specify in the request. This operation is marked as DONE when the group + * is patched even if the instances in the group are still in the process of + * being patched. You must separately verify the status of the individual + * instances with the listManagedInstances method. This method supports + * PATCH semantics and uses the JSON merge patch format and processing + * rules. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone where you want to create the managed instance + * group. zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the instance group manager. + * instanceGroupManager: 'my-instance-group-manager', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * compute.instanceGroupManagers.patch(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 compute.instanceGroupManagers.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager The name of the instance group manager. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone where you want to create the managed instance group. + * @param {().InstanceGroupManager} 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 + */ + patch(params?: Params$Resource$Instancegroupmanagers$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Instancegroupmanagers$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Instancegroupmanagers$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * compute.instanceGroupManagers.recreateInstances + * @desc Schedules a group action to recreate the specified instances in the + * managed instance group. The instances are deleted and recreated using the + * current instance template for the managed instance group. This operation + * is marked as DONE when the action is scheduled even if the instances have + * not yet been recreated. You must separately verify the status of the + * recreating action with the listmanagedinstances method. If the group is + * part of a backend service that has enabled connection draining, it can + * take up to 60 seconds after the connection draining duration has elapsed + * before the VM instance is removed or deleted. You can specify a maximum + * of 1000 instances with this method per request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone where the managed instance group is located. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the managed instance group. + * instanceGroupManager: 'my-instance-group-manager', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.instanceGroupManagers.recreateInstances(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 compute.instanceGroupManagers.recreateInstances + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager The name of the managed instance group. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone where the managed instance group is located. + * @param {().InstanceGroupManagersRecreateInstancesRequest} 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 + */ + recreateInstances(params?: Params$Resource$Instancegroupmanagers$Recreateinstances, options?: MethodOptions): AxiosPromise; + recreateInstances(params: Params$Resource$Instancegroupmanagers$Recreateinstances, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + recreateInstances(params: Params$Resource$Instancegroupmanagers$Recreateinstances, callback: BodyResponseCallback): void; + recreateInstances(callback: BodyResponseCallback): void; + /** + * compute.instanceGroupManagers.resize + * @desc Resizes the managed instance group. If you increase the size, the + * group creates new instances using the current instance template. If you + * decrease the size, the group deletes instances. The resize operation is + * marked DONE when the resize actions are scheduled even if the group has + * not yet added or deleted any instances. You must separately verify the + * status of the creating or deleting actions with the listmanagedinstances + * method. If the group is part of a backend service that has enabled + * connection draining, it can take up to 60 seconds after the connection + * draining duration has elapsed before the VM instance is removed or + * deleted. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone where the managed instance group is located. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the managed instance group. + * instanceGroupManager: 'my-instance-group-manager', // TODO: Update + * placeholder value. + * + * // The number of running instances that the managed instance group + * should maintain at any given time. + * // The group automatically adds or removes instances to maintain the + * number of instances specified by + * // this parameter. + * size: 0, // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.instanceGroupManagers.resize(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 compute.instanceGroupManagers.resize + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager The name of the managed instance group. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {integer} params.size The number of running instances that the managed instance group should maintain at any given time. The group automatically adds or removes instances to maintain the number of instances specified by this parameter. + * @param {string} params.zone The name of the zone where the managed instance group is located. + * @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 + */ + resize(params?: Params$Resource$Instancegroupmanagers$Resize, options?: MethodOptions): AxiosPromise; + resize(params: Params$Resource$Instancegroupmanagers$Resize, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + resize(params: Params$Resource$Instancegroupmanagers$Resize, callback: BodyResponseCallback): void; + resize(callback: BodyResponseCallback): void; + /** + * compute.instanceGroupManagers.resizeAdvanced + * @desc Resizes the managed instance group with advanced configuration + * options like disabling creation retries. This is an extended version of + * the resize method. If you increase the size of the instance group, the + * group creates new instances using the current instance template. If you + * decrease the size, the group deletes instances. The resize operation is + * marked DONE when the resize actions are scheduled even if the group has + * not yet added or deleted any instances. You must separately verify the + * status of the creating, creatingWithoutRetries, or deleting actions with + * the get or listmanagedinstances method. If the group is part of a + * backend service that has enabled connection draining, it can take up to + * 60 seconds after the connection draining duration has elapsed before the + * VM instance is removed or deleted. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone where the managed instance group is located. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the managed instance group. + * instanceGroupManager: 'my-instance-group-manager', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.instanceGroupManagers.resizeAdvanced(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 compute.instanceGroupManagers.resizeAdvanced + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager The name of the managed instance group. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone where the managed instance group is located. + * @param {().InstanceGroupManagersResizeAdvancedRequest} 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 + */ + resizeAdvanced(params?: Params$Resource$Instancegroupmanagers$Resizeadvanced, options?: MethodOptions): AxiosPromise; + resizeAdvanced(params: Params$Resource$Instancegroupmanagers$Resizeadvanced, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + resizeAdvanced(params: Params$Resource$Instancegroupmanagers$Resizeadvanced, callback: BodyResponseCallback): void; + resizeAdvanced(callback: BodyResponseCallback): void; + /** + * compute.instanceGroupManagers.setAutoHealingPolicies + * @desc Modifies the autohealing policies. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone where the managed instance group is located. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the instance group manager. + * instanceGroupManager: 'my-instance-group-manager', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.instanceGroupManagers.setAutoHealingPolicies(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 compute.instanceGroupManagers.setAutoHealingPolicies + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager The name of the instance group manager. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone where the managed instance group is located. + * @param {().InstanceGroupManagersSetAutoHealingRequest} 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 + */ + setAutoHealingPolicies(params?: Params$Resource$Instancegroupmanagers$Setautohealingpolicies, options?: MethodOptions): AxiosPromise; + setAutoHealingPolicies(params: Params$Resource$Instancegroupmanagers$Setautohealingpolicies, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setAutoHealingPolicies(params: Params$Resource$Instancegroupmanagers$Setautohealingpolicies, callback: BodyResponseCallback): void; + setAutoHealingPolicies(callback: BodyResponseCallback): void; + /** + * compute.instanceGroupManagers.setInstanceTemplate + * @desc Specifies the instance template to use when creating new instances + * in this group. The templates for existing instances in the group do not + * change unless you recreate them. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone where the managed instance group is located. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the managed instance group. + * instanceGroupManager: 'my-instance-group-manager', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.instanceGroupManagers.setInstanceTemplate(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 compute.instanceGroupManagers.setInstanceTemplate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager The name of the managed instance group. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone where the managed instance group is located. + * @param {().InstanceGroupManagersSetInstanceTemplateRequest} 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 + */ + setInstanceTemplate(params?: Params$Resource$Instancegroupmanagers$Setinstancetemplate, options?: MethodOptions): AxiosPromise; + setInstanceTemplate(params: Params$Resource$Instancegroupmanagers$Setinstancetemplate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setInstanceTemplate(params: Params$Resource$Instancegroupmanagers$Setinstancetemplate, callback: BodyResponseCallback): void; + setInstanceTemplate(callback: BodyResponseCallback): void; + /** + * compute.instanceGroupManagers.setTargetPools + * @desc Modifies the target pools to which all instances in this managed + * instance group are assigned. The target pools automatically apply to all + * of the instances in the managed instance group. This operation is marked + * DONE when you make the request even if the instances have not yet been + * added to their target pools. The change might take some time to apply to + * all of the instances in the group depending on the size of the group. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone where the managed instance group is located. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the managed instance group. + * instanceGroupManager: 'my-instance-group-manager', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.instanceGroupManagers.setTargetPools(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 compute.instanceGroupManagers.setTargetPools + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager The name of the managed instance group. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone where the managed instance group is located. + * @param {().InstanceGroupManagersSetTargetPoolsRequest} 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 + */ + setTargetPools(params?: Params$Resource$Instancegroupmanagers$Settargetpools, options?: MethodOptions): AxiosPromise; + setTargetPools(params: Params$Resource$Instancegroupmanagers$Settargetpools, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setTargetPools(params: Params$Resource$Instancegroupmanagers$Settargetpools, callback: BodyResponseCallback): void; + setTargetPools(callback: BodyResponseCallback): void; + /** + * compute.instanceGroupManagers.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the resource for this request. + * resource_: 'my-resource', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.instanceGroupManagers.testIamPermissions(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 compute.instanceGroupManagers.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {string} params.zone The name of the zone for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Instancegroupmanagers$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Instancegroupmanagers$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Instancegroupmanagers$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + /** + * compute.instanceGroupManagers.update + * @desc Updates a managed instance group using the information that you + * specify in the request. This operation is marked as DONE when the group + * is updated even if the instances in the group have not yet been updated. + * You must separately verify the status of the individual instances with + * the listManagedInstances method. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone where you want to create the managed instance + * group. zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the instance group manager. + * instanceGroupManager: 'my-instance-group-manager', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * compute.instanceGroupManagers.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 compute.instanceGroupManagers.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager The name of the instance group manager. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone where you want to create the managed instance group. + * @param {().InstanceGroupManager} 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?: Params$Resource$Instancegroupmanagers$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Instancegroupmanagers$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Instancegroupmanagers$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Instancegroupmanagers$Abandoninstances { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where the managed instance group is located. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManagersAbandonInstancesRequest; + } + interface Params$Resource$Instancegroupmanagers$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Instancegroupmanagers$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the managed instance group to delete. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where the managed instance group is located. + */ + zone?: string; + } + interface Params$Resource$Instancegroupmanagers$Deleteinstances { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where the managed instance group is located. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManagersDeleteInstancesRequest; + } + interface Params$Resource$Instancegroupmanagers$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone where the managed instance group is located. + */ + zone?: string; + } + interface Params$Resource$Instancegroupmanagers$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where you want to create the managed instance group. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManager; + } + interface Params$Resource$Instancegroupmanagers$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone where the managed instance group is located. + */ + zone?: string; + } + interface Params$Resource$Instancegroupmanagers$Listmanagedinstances { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + order_by?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone where the managed instance group is located. + */ + zone?: string; + } + interface Params$Resource$Instancegroupmanagers$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the instance group manager. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where you want to create the managed instance group. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManager; + } + interface Params$Resource$Instancegroupmanagers$Recreateinstances { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where the managed instance group is located. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManagersRecreateInstancesRequest; + } + interface Params$Resource$Instancegroupmanagers$Resize { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The number of running instances that the managed instance group should + * maintain at any given time. The group automatically adds or removes + * instances to maintain the number of instances specified by this + * parameter. + */ + size?: number; + /** + * The name of the zone where the managed instance group is located. + */ + zone?: string; + } + interface Params$Resource$Instancegroupmanagers$Resizeadvanced { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where the managed instance group is located. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManagersResizeAdvancedRequest; + } + interface Params$Resource$Instancegroupmanagers$Setautohealingpolicies { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the instance group manager. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where the managed instance group is located. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManagersSetAutoHealingRequest; + } + interface Params$Resource$Instancegroupmanagers$Setinstancetemplate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where the managed instance group is located. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManagersSetInstanceTemplateRequest; + } + interface Params$Resource$Instancegroupmanagers$Settargetpools { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where the managed instance group is located. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManagersSetTargetPoolsRequest; + } + interface Params$Resource$Instancegroupmanagers$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + interface Params$Resource$Instancegroupmanagers$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the instance group manager. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where you want to create the managed instance group. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManager; + } + class Resource$Instancegroups { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.instanceGroups.addInstances + * @desc Adds a list of instances to the specified instance group. All of + * the instances in the instance group must be in the same + * network/subnetwork. Read Adding instances for more information. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone where the instance group is located. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the instance group where you are adding instances. + * instanceGroup: 'my-instance-group', // TODO: Update placeholder + * value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.instanceGroups.addInstances(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 compute.instanceGroups.addInstances + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroup The name of the instance group where you are adding instances. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone where the instance group is located. + * @param {().InstanceGroupsAddInstancesRequest} 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 + */ + addInstances(params?: Params$Resource$Instancegroups$Addinstances, options?: MethodOptions): AxiosPromise; + addInstances(params: Params$Resource$Instancegroups$Addinstances, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + addInstances(params: Params$Resource$Instancegroups$Addinstances, callback: BodyResponseCallback): void; + addInstances(callback: BodyResponseCallback): void; + /** + * compute.instanceGroups.aggregatedList + * @desc Retrieves the list of instance groups and sorts them by zone. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * } + * Object.keys(itemsPage).forEach(function(name) { + * // TODO: Change code below to process each `name` property: + * console.log(name + ': ' + JSON.stringify(itemsPage[name], null, + * 2)); + * }); + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * compute.instanceGroups.aggregatedList(request, handlePage); + * } + * }; + * + * compute.instanceGroups.aggregatedList(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 compute.instanceGroups.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Instancegroups$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Instancegroups$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Instancegroups$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.instanceGroups.delete + * @desc Deletes the specified instance group. The instances in the group + * are not deleted. Note that instance group must not belong to a backend + * service. Read Deleting an instance group for more information. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone where the instance group is located. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the instance group to delete. + * instanceGroup: 'my-instance-group', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * compute.instanceGroups.delete(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 compute.instanceGroups.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroup The name of the instance group to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone where the instance group is located. + * @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?: Params$Resource$Instancegroups$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Instancegroups$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Instancegroups$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.instanceGroups.get + * @desc Returns the specified instance group. Gets a list of available + * instance groups by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone where the instance group is located. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the instance group. + * instanceGroup: 'my-instance-group', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * compute.instanceGroups.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 compute.instanceGroups.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroup The name of the instance group. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone where the instance group is located. + * @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?: Params$Resource$Instancegroups$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Instancegroups$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Instancegroups$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.instanceGroups.insert + * @desc Creates an instance group in the specified project using the + * parameters that are included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone where you want to create the instance group. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.instanceGroups.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 compute.instanceGroups.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone where you want to create the instance group. + * @param {().InstanceGroup} 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?: Params$Resource$Instancegroups$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Instancegroups$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Instancegroups$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.instanceGroups.list + * @desc Retrieves the list of instance groups that are located in the + * specified project and zone. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone where the instance group is located. + * zone: 'my-zone', // 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; + * compute.instanceGroups.list(request, handlePage); + * } + * }; + * + * compute.instanceGroups.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 compute.instanceGroups.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone where the instance group is located. + * @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?: Params$Resource$Instancegroups$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Instancegroups$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Instancegroups$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.instanceGroups.listInstances + * @desc Lists the instances in the specified instance group. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone where the instance group is located. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the instance group from which you want to generate a + * list of included instances. instanceGroup: 'my-instance-group', // TODO: + * Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * 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; + * compute.instanceGroups.listInstances(request, handlePage); + * } + * }; + * + * compute.instanceGroups.listInstances(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 compute.instanceGroups.listInstances + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {string} params.instanceGroup The name of the instance group from which you want to generate a list of included instances. + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone where the instance group is located. + * @param {().InstanceGroupsListInstancesRequest} 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 + */ + listInstances(params?: Params$Resource$Instancegroups$Listinstances, options?: MethodOptions): AxiosPromise; + listInstances(params: Params$Resource$Instancegroups$Listinstances, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listInstances(params: Params$Resource$Instancegroups$Listinstances, callback: BodyResponseCallback): void; + listInstances(callback: BodyResponseCallback): void; + /** + * compute.instanceGroups.removeInstances + * @desc Removes one or more instances from the specified instance group, + * but does not delete those instances. If the group is part of a backend + * service that has enabled connection draining, it can take up to 60 + * seconds after the connection draining duration before the VM instance is + * removed or deleted. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone where the instance group is located. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the instance group where the specified instances will + * be removed. instanceGroup: 'my-instance-group', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.instanceGroups.removeInstances(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 compute.instanceGroups.removeInstances + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroup The name of the instance group where the specified instances will be removed. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone where the instance group is located. + * @param {().InstanceGroupsRemoveInstancesRequest} 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 + */ + removeInstances(params?: Params$Resource$Instancegroups$Removeinstances, options?: MethodOptions): AxiosPromise; + removeInstances(params: Params$Resource$Instancegroups$Removeinstances, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + removeInstances(params: Params$Resource$Instancegroups$Removeinstances, callback: BodyResponseCallback): void; + removeInstances(callback: BodyResponseCallback): void; + /** + * compute.instanceGroups.setNamedPorts + * @desc Sets the named ports for the specified instance group. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone where the instance group is located. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the instance group where the named ports are updated. + * instanceGroup: 'my-instance-group', // TODO: Update placeholder + * value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.instanceGroups.setNamedPorts(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 compute.instanceGroups.setNamedPorts + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroup The name of the instance group where the named ports are updated. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone where the instance group is located. + * @param {().InstanceGroupsSetNamedPortsRequest} 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 + */ + setNamedPorts(params?: Params$Resource$Instancegroups$Setnamedports, options?: MethodOptions): AxiosPromise; + setNamedPorts(params: Params$Resource$Instancegroups$Setnamedports, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setNamedPorts(params: Params$Resource$Instancegroups$Setnamedports, callback: BodyResponseCallback): void; + setNamedPorts(callback: BodyResponseCallback): void; + /** + * compute.instanceGroups.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the resource for this request. + * resource_: 'my-resource', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.instanceGroups.testIamPermissions(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 compute.instanceGroups.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {string} params.zone The name of the zone for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Instancegroups$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Instancegroups$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Instancegroups$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Instancegroups$Addinstances { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the instance group where you are adding instances. + */ + instanceGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where the instance group is located. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupsAddInstancesRequest; + } + interface Params$Resource$Instancegroups$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Instancegroups$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the instance group to delete. + */ + instanceGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where the instance group is located. + */ + zone?: string; + } + interface Params$Resource$Instancegroups$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the instance group. + */ + instanceGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone where the instance group is located. + */ + zone?: string; + } + interface Params$Resource$Instancegroups$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where you want to create the instance group. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroup; + } + interface Params$Resource$Instancegroups$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone where the instance group is located. + */ + zone?: string; + } + interface Params$Resource$Instancegroups$Listinstances { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The name of the instance group from which you want to generate a list of + * included instances. + */ + instanceGroup?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone where the instance group is located. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupsListInstancesRequest; + } + interface Params$Resource$Instancegroups$Removeinstances { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the instance group where the specified instances will be + * removed. + */ + instanceGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where the instance group is located. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupsRemoveInstancesRequest; + } + interface Params$Resource$Instancegroups$Setnamedports { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the instance group where the named ports are updated. + */ + instanceGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where the instance group is located. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupsSetNamedPortsRequest; + } + interface Params$Resource$Instancegroups$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Instances { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.instances.addAccessConfig + * @desc Adds an access config to an instance's network interface. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The instance name for this request. + * instance: 'my-instance', // TODO: Update placeholder value. + * + * // The name of the network interface to add to this instance. + * networkInterface: '', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.instances.addAccessConfig(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 compute.instances.addAccessConfig + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance The instance name for this request. + * @param {string} params.networkInterface The name of the network interface to add to this instance. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().AccessConfig} 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 + */ + addAccessConfig(params?: Params$Resource$Instances$Addaccessconfig, options?: MethodOptions): AxiosPromise; + addAccessConfig(params: Params$Resource$Instances$Addaccessconfig, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + addAccessConfig(params: Params$Resource$Instances$Addaccessconfig, callback: BodyResponseCallback): void; + addAccessConfig(callback: BodyResponseCallback): void; + /** + * compute.instances.aggregatedList + * @desc Retrieves aggregated list of all of the instances in your project + * across all regions and zones. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * } + * Object.keys(itemsPage).forEach(function(name) { + * // TODO: Change code below to process each `name` property: + * console.log(name + ': ' + JSON.stringify(itemsPage[name], null, + * 2)); + * }); + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * compute.instances.aggregatedList(request, handlePage); + * } + * }; + * + * compute.instances.aggregatedList(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 compute.instances.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Instances$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Instances$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Instances$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.instances.attachDisk + * @desc Attaches an existing Disk resource to an instance. You must first + * create the disk before you can attach it. It is not possible to create + * and attach a disk at the same time. For more information, read Adding a + * persistent disk to your instance. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The instance name for this request. + * instance: 'my-instance', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.instances.attachDisk(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 compute.instances.attachDisk + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.forceAttach Whether to force attach the disk even if it's currently attached to another instance. This is only available for regional disks. + * @param {string} params.instance The instance name for this request. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().AttachedDisk} 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 + */ + attachDisk(params?: Params$Resource$Instances$Attachdisk, options?: MethodOptions): AxiosPromise; + attachDisk(params: Params$Resource$Instances$Attachdisk, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + attachDisk(params: Params$Resource$Instances$Attachdisk, callback: BodyResponseCallback): void; + attachDisk(callback: BodyResponseCallback): void; + /** + * compute.instances.delete + * @desc Deletes the specified Instance resource. For more information, see + * Stopping or Deleting an Instance. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the instance resource to delete. + * instance: 'my-instance', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.instances.delete(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 compute.instances.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Name of the instance resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @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?: Params$Resource$Instances$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Instances$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Instances$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.instances.deleteAccessConfig + * @desc Deletes an access config from an instance's network interface. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The instance name for this request. + * instance: 'my-instance', // TODO: Update placeholder value. + * + * // The name of the access config to delete. + * accessConfig: '', // TODO: Update placeholder value. + * + * // The name of the network interface. + * networkInterface: '', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.instances.deleteAccessConfig(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 compute.instances.deleteAccessConfig + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accessConfig The name of the access config to delete. + * @param {string} params.instance The instance name for this request. + * @param {string} params.networkInterface The name of the network interface. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @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 + */ + deleteAccessConfig(params?: Params$Resource$Instances$Deleteaccessconfig, options?: MethodOptions): AxiosPromise; + deleteAccessConfig(params: Params$Resource$Instances$Deleteaccessconfig, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + deleteAccessConfig(params: Params$Resource$Instances$Deleteaccessconfig, callback: BodyResponseCallback): void; + deleteAccessConfig(callback: BodyResponseCallback): void; + /** + * compute.instances.detachDisk + * @desc Detaches a disk from an instance. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Instance name. + * instance: 'my-instance', // TODO: Update placeholder value. + * + * // Disk device name to detach. + * deviceName: '', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.instances.detachDisk(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 compute.instances.detachDisk + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.deviceName Disk device name to detach. + * @param {string} params.instance Instance name. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @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 + */ + detachDisk(params?: Params$Resource$Instances$Detachdisk, options?: MethodOptions): AxiosPromise; + detachDisk(params: Params$Resource$Instances$Detachdisk, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + detachDisk(params: Params$Resource$Instances$Detachdisk, callback: BodyResponseCallback): void; + detachDisk(callback: BodyResponseCallback): void; + /** + * compute.instances.get + * @desc Returns the specified Instance resource. Gets a list of available + * instances by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the instance resource to return. + * instance: 'my-instance', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.instances.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 compute.instances.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Name of the instance resource to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone for this request. + * @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?: Params$Resource$Instances$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Instances$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Instances$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.instances.getGuestAttributes + * @desc Returns the specified guest attributes entry. + * @alias compute.instances.getGuestAttributes + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Name of the instance scoping this request. + * @param {string} params.project Project ID for this request. + * @param {string=} params.queryPath Specifies the guest attributes path to be queried. + * @param {string=} params.variableKey Specifies the key for the guest attributes entry. + * @param {string} params.zone The name of the zone for this request. + * @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 + */ + getGuestAttributes(params?: Params$Resource$Instances$Getguestattributes, options?: MethodOptions): AxiosPromise; + getGuestAttributes(params: Params$Resource$Instances$Getguestattributes, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getGuestAttributes(params: Params$Resource$Instances$Getguestattributes, callback: BodyResponseCallback): void; + getGuestAttributes(callback: BodyResponseCallback): void; + /** + * compute.instances.getIamPolicy + * @desc Gets the access control policy for a resource. May be empty if no + * such policy or resource exists. + * @alias compute.instances.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {string} params.zone The name of the zone for this request. + * @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 + */ + getIamPolicy(params?: Params$Resource$Instances$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Instances$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Instances$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * compute.instances.getSerialPortOutput + * @desc Returns the last 1 MB of serial port output from the specified + * instance. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the instance scoping this request. + * instance: 'my-instance', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.instances.getSerialPortOutput(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 compute.instances.getSerialPortOutput + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Name of the instance scoping this request. + * @param {integer=} params.port Specifies which COM or serial port to retrieve data from. + * @param {string} params.project Project ID for this request. + * @param {string=} params.start Returns output starting from a specific byte position. Use this to page through output when the output is too large to return in a single request. For the initial request, leave this field unspecified. For subsequent calls, this field should be set to the next value returned in the previous call. + * @param {string} params.zone The name of the zone for this request. + * @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 + */ + getSerialPortOutput(params?: Params$Resource$Instances$Getserialportoutput, options?: MethodOptions): AxiosPromise; + getSerialPortOutput(params: Params$Resource$Instances$Getserialportoutput, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getSerialPortOutput(params: Params$Resource$Instances$Getserialportoutput, callback: BodyResponseCallback): void; + getSerialPortOutput(callback: BodyResponseCallback): void; + /** + * compute.instances.getShieldedVmIdentity + * @desc Returns the Shielded VM Identity of an instance + * @alias compute.instances.getShieldedVmIdentity + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Name of the instance scoping this request. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone for this request. + * @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 + */ + getShieldedVmIdentity(params?: Params$Resource$Instances$Getshieldedvmidentity, options?: MethodOptions): AxiosPromise; + getShieldedVmIdentity(params: Params$Resource$Instances$Getshieldedvmidentity, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getShieldedVmIdentity(params: Params$Resource$Instances$Getshieldedvmidentity, callback: BodyResponseCallback): void; + getShieldedVmIdentity(callback: BodyResponseCallback): void; + /** + * compute.instances.insert + * @desc Creates an instance resource in the specified project using the + * data included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.instances.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 compute.instances.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string=} params.sourceInstanceTemplate Specifies instance template to create the instance. This field is optional. It can be a full or partial URL. For example, the following are all valid URLs to an instance template: - https://www.googleapis.com/compute/v1/projects/project/global/instanceTemplates/instanceTemplate - projects/project/global/instanceTemplates/instanceTemplate - global/instanceTemplates/instanceTemplate + * @param {string} params.zone The name of the zone for this request. + * @param {().Instance} 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?: Params$Resource$Instances$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Instances$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Instances$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.instances.list + * @desc Retrieves the list of instances contained within the specified + * zone. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // 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; + * compute.instances.list(request, handlePage); + * } + * }; + * + * compute.instances.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 compute.instances.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone for this request. + * @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?: Params$Resource$Instances$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Instances$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Instances$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.instances.listReferrers + * @desc Retrieves the list of referrers to instances contained within the + * specified zone. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the target instance scoping this request, or '-' if the + * request should span over all + * // instances in the container. + * instance: 'my-instance', // 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; + * compute.instances.listReferrers(request, handlePage); + * } + * }; + * + * compute.instances.listReferrers(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 compute.instances.listReferrers + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {string} params.instance Name of the target instance scoping this request, or '-' if the request should span over all instances in the container. + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone for this request. + * @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 + */ + listReferrers(params?: Params$Resource$Instances$Listreferrers, options?: MethodOptions): AxiosPromise; + listReferrers(params: Params$Resource$Instances$Listreferrers, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listReferrers(params: Params$Resource$Instances$Listreferrers, callback: BodyResponseCallback): void; + listReferrers(callback: BodyResponseCallback): void; + /** + * compute.instances.reset + * @desc Performs a reset on the instance. For more information, see + * Resetting an instance. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the instance scoping this request. + * instance: 'my-instance', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.instances.reset(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 compute.instances.reset + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Name of the instance scoping this request. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @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 + */ + reset(params?: Params$Resource$Instances$Reset, options?: MethodOptions): AxiosPromise; + reset(params: Params$Resource$Instances$Reset, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + reset(params: Params$Resource$Instances$Reset, callback: BodyResponseCallback): void; + reset(callback: BodyResponseCallback): void; + /** + * compute.instances.setDeletionProtection + * @desc Sets deletion protection on the instance. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the resource for this request. + * resource_: 'my-resource', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.instances.setDeletionProtection(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 compute.instances.setDeletionProtection + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.deletionProtection Whether the resource should be protected against deletion. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.resource_ Name of the resource for this request. + * @param {string} params.zone The name of the zone for this request. + * @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 + */ + setDeletionProtection(params?: Params$Resource$Instances$Setdeletionprotection, options?: MethodOptions): AxiosPromise; + setDeletionProtection(params: Params$Resource$Instances$Setdeletionprotection, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setDeletionProtection(params: Params$Resource$Instances$Setdeletionprotection, callback: BodyResponseCallback): void; + setDeletionProtection(callback: BodyResponseCallback): void; + /** + * compute.instances.setDiskAutoDelete + * @desc Sets the auto-delete flag for a disk attached to an instance. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The instance name. + * instance: 'my-instance', // TODO: Update placeholder value. + * + * // Whether to auto-delete the disk when the instance is deleted. + * autoDelete: false, // TODO: Update placeholder value. + * + * // The device name of the disk to modify. + * deviceName: '', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.instances.setDiskAutoDelete(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 compute.instances.setDiskAutoDelete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean} params.autoDelete Whether to auto-delete the disk when the instance is deleted. + * @param {string} params.deviceName The device name of the disk to modify. + * @param {string} params.instance The instance name. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @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 + */ + setDiskAutoDelete(params?: Params$Resource$Instances$Setdiskautodelete, options?: MethodOptions): AxiosPromise; + setDiskAutoDelete(params: Params$Resource$Instances$Setdiskautodelete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setDiskAutoDelete(params: Params$Resource$Instances$Setdiskautodelete, callback: BodyResponseCallback): void; + setDiskAutoDelete(callback: BodyResponseCallback): void; + /** + * compute.instances.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @alias compute.instances.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {string} params.zone The name of the zone for this request. + * @param {().ZoneSetPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Instances$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Instances$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Instances$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * compute.instances.setLabels + * @desc Sets labels on an instance. To learn more about labels, read the + * Labeling Resources documentation. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the instance scoping this request. + * instance: 'my-instance', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.instances.setLabels(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 compute.instances.setLabels + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Name of the instance scoping this request. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().InstancesSetLabelsRequest} 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 + */ + setLabels(params?: Params$Resource$Instances$Setlabels, options?: MethodOptions): AxiosPromise; + setLabels(params: Params$Resource$Instances$Setlabels, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setLabels(params: Params$Resource$Instances$Setlabels, callback: BodyResponseCallback): void; + setLabels(callback: BodyResponseCallback): void; + /** + * compute.instances.setMachineResources + * @desc Changes the number and/or type of accelerator for a stopped + * instance to the values specified in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the instance scoping this request. + * instance: 'my-instance', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.instances.setMachineResources(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 compute.instances.setMachineResources + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Name of the instance scoping this request. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().InstancesSetMachineResourcesRequest} 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 + */ + setMachineResources(params?: Params$Resource$Instances$Setmachineresources, options?: MethodOptions): AxiosPromise; + setMachineResources(params: Params$Resource$Instances$Setmachineresources, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setMachineResources(params: Params$Resource$Instances$Setmachineresources, callback: BodyResponseCallback): void; + setMachineResources(callback: BodyResponseCallback): void; + /** + * compute.instances.setMachineType + * @desc Changes the machine type for a stopped instance to the machine type + * specified in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the instance scoping this request. + * instance: 'my-instance', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.instances.setMachineType(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 compute.instances.setMachineType + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Name of the instance scoping this request. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().InstancesSetMachineTypeRequest} 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 + */ + setMachineType(params?: Params$Resource$Instances$Setmachinetype, options?: MethodOptions): AxiosPromise; + setMachineType(params: Params$Resource$Instances$Setmachinetype, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setMachineType(params: Params$Resource$Instances$Setmachinetype, callback: BodyResponseCallback): void; + setMachineType(callback: BodyResponseCallback): void; + /** + * compute.instances.setMetadata + * @desc Sets metadata for the specified instance to the data included in + * the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the instance scoping this request. + * instance: 'my-instance', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.instances.setMetadata(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 compute.instances.setMetadata + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Name of the instance scoping this request. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().Metadata} 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 + */ + setMetadata(params?: Params$Resource$Instances$Setmetadata, options?: MethodOptions): AxiosPromise; + setMetadata(params: Params$Resource$Instances$Setmetadata, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setMetadata(params: Params$Resource$Instances$Setmetadata, callback: BodyResponseCallback): void; + setMetadata(callback: BodyResponseCallback): void; + /** + * compute.instances.setMinCpuPlatform + * @desc Changes the minimum CPU platform that this instance should use. + * This method can only be called on a stopped instance. For more + * information, read Specifying a Minimum CPU Platform. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the instance scoping this request. + * instance: 'my-instance', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.instances.setMinCpuPlatform(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 compute.instances.setMinCpuPlatform + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Name of the instance scoping this request. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().InstancesSetMinCpuPlatformRequest} 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 + */ + setMinCpuPlatform(params?: Params$Resource$Instances$Setmincpuplatform, options?: MethodOptions): AxiosPromise; + setMinCpuPlatform(params: Params$Resource$Instances$Setmincpuplatform, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setMinCpuPlatform(params: Params$Resource$Instances$Setmincpuplatform, callback: BodyResponseCallback): void; + setMinCpuPlatform(callback: BodyResponseCallback): void; + /** + * compute.instances.setScheduling + * @desc Sets an instance's scheduling options. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Instance name. + * instance: 'my-instance', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.instances.setScheduling(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 compute.instances.setScheduling + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Instance name. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().Scheduling} 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 + */ + setScheduling(params?: Params$Resource$Instances$Setscheduling, options?: MethodOptions): AxiosPromise; + setScheduling(params: Params$Resource$Instances$Setscheduling, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setScheduling(params: Params$Resource$Instances$Setscheduling, callback: BodyResponseCallback): void; + setScheduling(callback: BodyResponseCallback): void; + /** + * compute.instances.setServiceAccount + * @desc Sets the service account on the instance. For more information, + * read Changing the service account and access scopes for an instance. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the instance resource to start. + * instance: 'my-instance', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.instances.setServiceAccount(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 compute.instances.setServiceAccount + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Name of the instance resource to start. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().InstancesSetServiceAccountRequest} 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 + */ + setServiceAccount(params?: Params$Resource$Instances$Setserviceaccount, options?: MethodOptions): AxiosPromise; + setServiceAccount(params: Params$Resource$Instances$Setserviceaccount, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setServiceAccount(params: Params$Resource$Instances$Setserviceaccount, callback: BodyResponseCallback): void; + setServiceAccount(callback: BodyResponseCallback): void; + /** + * compute.instances.setShieldedVmIntegrityPolicy + * @desc Sets the Shielded VM integrity policy for a VM instance. You can + * only use this method on a running VM instance. This method supports PATCH + * semantics and uses the JSON merge patch format and processing rules. + * @alias compute.instances.setShieldedVmIntegrityPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Name of the instance scoping this request. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().ShieldedVmIntegrityPolicy} 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 + */ + setShieldedVmIntegrityPolicy(params?: Params$Resource$Instances$Setshieldedvmintegritypolicy, options?: MethodOptions): AxiosPromise; + setShieldedVmIntegrityPolicy(params: Params$Resource$Instances$Setshieldedvmintegritypolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setShieldedVmIntegrityPolicy(params: Params$Resource$Instances$Setshieldedvmintegritypolicy, callback: BodyResponseCallback): void; + setShieldedVmIntegrityPolicy(callback: BodyResponseCallback): void; + /** + * compute.instances.setTags + * @desc Sets tags for the specified instance to the data included in the + * request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the instance scoping this request. + * instance: 'my-instance', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.instances.setTags(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 compute.instances.setTags + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Name of the instance scoping this request. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().Tags} 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 + */ + setTags(params?: Params$Resource$Instances$Settags, options?: MethodOptions): AxiosPromise; + setTags(params: Params$Resource$Instances$Settags, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setTags(params: Params$Resource$Instances$Settags, callback: BodyResponseCallback): void; + setTags(callback: BodyResponseCallback): void; + /** + * compute.instances.simulateMaintenanceEvent + * @desc Simulates a maintenance event on the instance. + * @alias compute.instances.simulateMaintenanceEvent + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Name of the instance scoping this request. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone for this request. + * @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 + */ + simulateMaintenanceEvent(params?: Params$Resource$Instances$Simulatemaintenanceevent, options?: MethodOptions): AxiosPromise; + simulateMaintenanceEvent(params: Params$Resource$Instances$Simulatemaintenanceevent, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + simulateMaintenanceEvent(params: Params$Resource$Instances$Simulatemaintenanceevent, callback: BodyResponseCallback): void; + simulateMaintenanceEvent(callback: BodyResponseCallback): void; + /** + * compute.instances.start + * @desc Starts an instance that was stopped using the instances().stop + * method. For more information, see Restart an instance. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the instance resource to start. + * instance: 'my-instance', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.instances.start(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 compute.instances.start + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Name of the instance resource to start. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @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 + */ + start(params?: Params$Resource$Instances$Start, options?: MethodOptions): AxiosPromise; + start(params: Params$Resource$Instances$Start, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + start(params: Params$Resource$Instances$Start, callback: BodyResponseCallback): void; + start(callback: BodyResponseCallback): void; + /** + * compute.instances.startWithEncryptionKey + * @desc Starts an instance that was stopped using the instances().stop + * method. For more information, see Restart an instance. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the instance resource to start. + * instance: 'my-instance', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.instances.startWithEncryptionKey(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 compute.instances.startWithEncryptionKey + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Name of the instance resource to start. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().InstancesStartWithEncryptionKeyRequest} 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 + */ + startWithEncryptionKey(params?: Params$Resource$Instances$Startwithencryptionkey, options?: MethodOptions): AxiosPromise; + startWithEncryptionKey(params: Params$Resource$Instances$Startwithencryptionkey, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + startWithEncryptionKey(params: Params$Resource$Instances$Startwithencryptionkey, callback: BodyResponseCallback): void; + startWithEncryptionKey(callback: BodyResponseCallback): void; + /** + * compute.instances.stop + * @desc Stops a running instance, shutting it down cleanly, and allows you + * to restart the instance at a later time. Stopped instances do not incur + * VM usage charges while they are stopped. However, resources that the VM + * is using, such as persistent disks and static IP addresses, will continue + * to be charged until they are deleted. For more information, see Stopping + * an instance. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the instance resource to stop. + * instance: 'my-instance', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.instances.stop(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 compute.instances.stop + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Name of the instance resource to stop. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @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 + */ + stop(params?: Params$Resource$Instances$Stop, options?: MethodOptions): AxiosPromise; + stop(params: Params$Resource$Instances$Stop, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + stop(params: Params$Resource$Instances$Stop, callback: BodyResponseCallback): void; + stop(callback: BodyResponseCallback): void; + /** + * compute.instances.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the resource for this request. + * resource_: 'my-resource', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.instances.testIamPermissions(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 compute.instances.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {string} params.zone The name of the zone for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Instances$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Instances$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Instances$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + /** + * compute.instances.updateAccessConfig + * @desc Updates the specified access config from an instance's network + * interface with the data included in the request. This method supports + * PATCH semantics and uses the JSON merge patch format and processing + * rules. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The instance name for this request. + * instance: 'my-instance', // TODO: Update placeholder value. + * + * // The name of the network interface where the access config is + * attached. networkInterface: '', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.instances.updateAccessConfig(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 compute.instances.updateAccessConfig + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance The instance name for this request. + * @param {string} params.networkInterface The name of the network interface where the access config is attached. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().AccessConfig} 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 + */ + updateAccessConfig(params?: Params$Resource$Instances$Updateaccessconfig, options?: MethodOptions): AxiosPromise; + updateAccessConfig(params: Params$Resource$Instances$Updateaccessconfig, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + updateAccessConfig(params: Params$Resource$Instances$Updateaccessconfig, callback: BodyResponseCallback): void; + updateAccessConfig(callback: BodyResponseCallback): void; + /** + * compute.instances.updateNetworkInterface + * @desc Updates an instance's network interface. This method follows PATCH + * semantics. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The instance name for this request. + * instance: 'my-instance', // TODO: Update placeholder value. + * + * // The name of the network interface to update. + * networkInterface: '', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * compute.instances.updateNetworkInterface(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 compute.instances.updateNetworkInterface + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance The instance name for this request. + * @param {string} params.networkInterface The name of the network interface to update. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().NetworkInterface} 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 + */ + updateNetworkInterface(params?: Params$Resource$Instances$Updatenetworkinterface, options?: MethodOptions): AxiosPromise; + updateNetworkInterface(params: Params$Resource$Instances$Updatenetworkinterface, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + updateNetworkInterface(params: Params$Resource$Instances$Updatenetworkinterface, callback: BodyResponseCallback): void; + updateNetworkInterface(callback: BodyResponseCallback): void; + /** + * compute.instances.updateShieldedVmConfig + * @desc Updates the Shielded VM config for a VM instance. You can only use + * this method on a stopped VM instance. This method supports PATCH + * semantics and uses the JSON merge patch format and processing rules. + * @alias compute.instances.updateShieldedVmConfig + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Name of the instance scoping this request. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().ShieldedVmConfig} 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 + */ + updateShieldedVmConfig(params?: Params$Resource$Instances$Updateshieldedvmconfig, options?: MethodOptions): AxiosPromise; + updateShieldedVmConfig(params: Params$Resource$Instances$Updateshieldedvmconfig, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + updateShieldedVmConfig(params: Params$Resource$Instances$Updateshieldedvmconfig, callback: BodyResponseCallback): void; + updateShieldedVmConfig(callback: BodyResponseCallback): void; + } + interface Params$Resource$Instances$Addaccessconfig { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The instance name for this request. + */ + instance?: string; + /** + * The name of the network interface to add to this instance. + */ + networkInterface?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AccessConfig; + } + interface Params$Resource$Instances$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Instances$Attachdisk { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Whether to force attach the disk even if it's currently attached to + * another instance. This is only available for regional disks. + */ + forceAttach?: boolean; + /** + * The instance name for this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AttachedDisk; + } + interface Params$Resource$Instances$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the instance resource to delete. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Instances$Deleteaccessconfig { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the access config to delete. + */ + accessConfig?: string; + /** + * The instance name for this request. + */ + instance?: string; + /** + * The name of the network interface. + */ + networkInterface?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Instances$Detachdisk { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Disk device name to detach. + */ + deviceName?: string; + /** + * Instance name. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Instances$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the instance resource to return. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Instances$Getguestattributes { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Specifies the guest attributes path to be queried. + */ + queryPath?: string; + /** + * Specifies the key for the guest attributes entry. + */ + variableKey?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Instances$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Instances$Getserialportoutput { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Specifies which COM or serial port to retrieve data from. + */ + port?: number; + /** + * Project ID for this request. + */ + project?: string; + /** + * Returns output starting from a specific byte position. Use this to page + * through output when the output is too large to return in a single + * request. For the initial request, leave this field unspecified. For + * subsequent calls, this field should be set to the next value returned in + * the previous call. + */ + start?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Instances$Getshieldedvmidentity { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Instances$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Specifies instance template to create the instance. This field is + * optional. It can be a full or partial URL. For example, the following are + * all valid URLs to an instance template: - + * https://www.googleapis.com/compute/v1/projects/project/global/instanceTemplates/instanceTemplate + * - projects/project/global/instanceTemplates/instanceTemplate - + * global/instanceTemplates/instanceTemplate + */ + sourceInstanceTemplate?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Instance; + } + interface Params$Resource$Instances$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Instances$Listreferrers { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * Name of the target instance scoping this request, or '-' if the request + * should span over all instances in the container. + */ + instance?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Instances$Reset { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Instances$Setdeletionprotection { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Whether the resource should be protected against deletion. + */ + deletionProtection?: boolean; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Instances$Setdiskautodelete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Whether to auto-delete the disk when the instance is deleted. + */ + autoDelete?: boolean; + /** + * The device name of the disk to modify. + */ + deviceName?: string; + /** + * The instance name. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Instances$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ZoneSetPolicyRequest; + } + interface Params$Resource$Instances$Setlabels { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstancesSetLabelsRequest; + } + interface Params$Resource$Instances$Setmachineresources { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstancesSetMachineResourcesRequest; + } + interface Params$Resource$Instances$Setmachinetype { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstancesSetMachineTypeRequest; + } + interface Params$Resource$Instances$Setmetadata { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Metadata; + } + interface Params$Resource$Instances$Setmincpuplatform { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstancesSetMinCpuPlatformRequest; + } + interface Params$Resource$Instances$Setscheduling { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Instance name. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Scheduling; + } + interface Params$Resource$Instances$Setserviceaccount { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the instance resource to start. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstancesSetServiceAccountRequest; + } + interface Params$Resource$Instances$Setshieldedvmintegritypolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ShieldedVmIntegrityPolicy; + } + interface Params$Resource$Instances$Settags { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Tags; + } + interface Params$Resource$Instances$Simulatemaintenanceevent { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Instances$Start { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the instance resource to start. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Instances$Startwithencryptionkey { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the instance resource to start. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstancesStartWithEncryptionKeyRequest; + } + interface Params$Resource$Instances$Stop { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the instance resource to stop. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Instances$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + interface Params$Resource$Instances$Updateaccessconfig { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The instance name for this request. + */ + instance?: string; + /** + * The name of the network interface where the access config is attached. + */ + networkInterface?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AccessConfig; + } + interface Params$Resource$Instances$Updatenetworkinterface { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The instance name for this request. + */ + instance?: string; + /** + * The name of the network interface to update. + */ + networkInterface?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$NetworkInterface; + } + interface Params$Resource$Instances$Updateshieldedvmconfig { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ShieldedVmConfig; + } + class Resource$Instancetemplates { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.instanceTemplates.delete + * @desc Deletes the specified instance template. Deleting an instance + * template is permanent and cannot be undone. It's not possible to delete + * templates which are in use by an instance group. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the instance template to delete. + * instanceTemplate: 'my-instance-template', // TODO: Update + * placeholder value. + * + * auth: authClient, + * }; + * + * compute.instanceTemplates.delete(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 compute.instanceTemplates.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceTemplate The name of the instance template to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Instancetemplates$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Instancetemplates$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Instancetemplates$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.instanceTemplates.get + * @desc Returns the specified instance template. Gets a list of available + * instance templates by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the instance template. + * instanceTemplate: 'my-instance-template', // TODO: Update + * placeholder value. + * + * auth: authClient, + * }; + * + * compute.instanceTemplates.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 compute.instanceTemplates.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceTemplate The name of the instance template. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Instancetemplates$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Instancetemplates$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Instancetemplates$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.instanceTemplates.getIamPolicy + * @desc Gets the access control policy for a resource. May be empty if no + * such policy or resource exists. + * @alias compute.instanceTemplates.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @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 + */ + getIamPolicy(params?: Params$Resource$Instancetemplates$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Instancetemplates$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Instancetemplates$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * compute.instanceTemplates.insert + * @desc Creates an instance template in the specified project using the + * data that is included in the request. If you are creating a new template + * to update an existing instance group, your new instance template must use + * the same network or, if applicable, the same subnetwork as the original + * template. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.instanceTemplates.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 compute.instanceTemplates.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().InstanceTemplate} 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?: Params$Resource$Instancetemplates$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Instancetemplates$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Instancetemplates$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.instanceTemplates.list + * @desc Retrieves a list of instance templates that are contained within + * the specified project and zone. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * compute.instanceTemplates.list(request, handlePage); + * } + * }; + * + * compute.instanceTemplates.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 compute.instanceTemplates.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Instancetemplates$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Instancetemplates$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Instancetemplates$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.instanceTemplates.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @alias compute.instanceTemplates.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().GlobalSetPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Instancetemplates$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Instancetemplates$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Instancetemplates$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * compute.instanceTemplates.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the resource for this request. + * resource_: 'my-resource', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.instanceTemplates.testIamPermissions(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 compute.instanceTemplates.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Instancetemplates$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Instancetemplates$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Instancetemplates$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Instancetemplates$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the instance template to delete. + */ + instanceTemplate?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Instancetemplates$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the instance template. + */ + instanceTemplate?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Instancetemplates$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + } + interface Params$Resource$Instancetemplates$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceTemplate; + } + interface Params$Resource$Instancetemplates$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Instancetemplates$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GlobalSetPolicyRequest; + } + interface Params$Resource$Instancetemplates$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Interconnectattachments { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.interconnectAttachments.aggregatedList + * @desc Retrieves an aggregated list of interconnect attachments. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * } + * Object.keys(itemsPage).forEach(function(name) { + * // TODO: Change code below to process each `name` property: + * console.log(name + ': ' + JSON.stringify(itemsPage[name], null, + * 2)); + * }); + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * compute.interconnectAttachments.aggregatedList(request, + * handlePage); + * } + * }; + * + * compute.interconnectAttachments.aggregatedList(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 compute.interconnectAttachments.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Interconnectattachments$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Interconnectattachments$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Interconnectattachments$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.interconnectAttachments.delete + * @desc Deletes the specified interconnect attachment. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the interconnect attachment to delete. + * interconnectAttachment: 'my-interconnect-attachment', // TODO: + * Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.interconnectAttachments.delete(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 compute.interconnectAttachments.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.interconnectAttachment Name of the interconnect attachment to delete. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Interconnectattachments$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Interconnectattachments$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Interconnectattachments$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.interconnectAttachments.get + * @desc Returns the specified interconnect attachment. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the interconnect attachment to return. + * interconnectAttachment: 'my-interconnect-attachment', // TODO: + * Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.interconnectAttachments.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 compute.interconnectAttachments.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.interconnectAttachment Name of the interconnect attachment to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @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?: Params$Resource$Interconnectattachments$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Interconnectattachments$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Interconnectattachments$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.interconnectAttachments.insert + * @desc Creates an InterconnectAttachment in the specified project using + * the data included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.interconnectAttachments.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 compute.interconnectAttachments.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().InterconnectAttachment} 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?: Params$Resource$Interconnectattachments$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Interconnectattachments$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Interconnectattachments$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.interconnectAttachments.list + * @desc Retrieves the list of interconnect attachments contained within the + * specified region. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // 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; + * compute.interconnectAttachments.list(request, handlePage); + * } + * }; + * + * compute.interconnectAttachments.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 compute.interconnectAttachments.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @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?: Params$Resource$Interconnectattachments$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Interconnectattachments$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Interconnectattachments$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.interconnectAttachments.patch + * @desc Updates the specified interconnect attachment with the data + * included in the request. This method supports PATCH semantics and uses + * the JSON merge patch format and processing rules. + * @alias compute.interconnectAttachments.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.interconnectAttachment Name of the interconnect attachment to patch. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().InterconnectAttachment} 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 + */ + patch(params?: Params$Resource$Interconnectattachments$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Interconnectattachments$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Interconnectattachments$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * compute.interconnectAttachments.setLabels + * @desc Sets the labels on an InterconnectAttachment. To learn more about + * labels, read the Labeling Resources documentation. + * @alias compute.interconnectAttachments.setLabels + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.resource_ Name of the resource for this request. + * @param {().RegionSetLabelsRequest} 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 + */ + setLabels(params?: Params$Resource$Interconnectattachments$Setlabels, options?: MethodOptions): AxiosPromise; + setLabels(params: Params$Resource$Interconnectattachments$Setlabels, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setLabels(params: Params$Resource$Interconnectattachments$Setlabels, callback: BodyResponseCallback): void; + setLabels(callback: BodyResponseCallback): void; + /** + * compute.interconnectAttachments.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the resource for this request. + * resource_: 'my-resource', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.interconnectAttachments.testIamPermissions(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 compute.interconnectAttachments.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Interconnectattachments$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Interconnectattachments$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Interconnectattachments$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Interconnectattachments$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Interconnectattachments$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the interconnect attachment to delete. + */ + interconnectAttachment?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Interconnectattachments$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the interconnect attachment to return. + */ + interconnectAttachment?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + } + interface Params$Resource$Interconnectattachments$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InterconnectAttachment; + } + interface Params$Resource$Interconnectattachments$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + } + interface Params$Resource$Interconnectattachments$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the interconnect attachment to patch. + */ + interconnectAttachment?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InterconnectAttachment; + } + interface Params$Resource$Interconnectattachments$Setlabels { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RegionSetLabelsRequest; + } + interface Params$Resource$Interconnectattachments$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Interconnectlocations { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.interconnectLocations.get + * @desc Returns the details for the specified interconnect location. Gets a + * list of available interconnect locations by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the interconnect location to return. + * interconnectLocation: 'my-interconnect-location', // TODO: Update + * placeholder value. + * + * auth: authClient, + * }; + * + * compute.interconnectLocations.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 compute.interconnectLocations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.interconnectLocation Name of the interconnect location to return. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Interconnectlocations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Interconnectlocations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Interconnectlocations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.interconnectLocations.list + * @desc Retrieves the list of interconnect locations available to the + * specified project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * compute.interconnectLocations.list(request, handlePage); + * } + * }; + * + * compute.interconnectLocations.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 compute.interconnectLocations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Interconnectlocations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Interconnectlocations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Interconnectlocations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Interconnectlocations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the interconnect location to return. + */ + interconnectLocation?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Interconnectlocations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + class Resource$Interconnects { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.interconnects.delete + * @desc Deletes the specified interconnect. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the interconnect to delete. + * interconnect: 'my-interconnect', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.interconnects.delete(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 compute.interconnects.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.interconnect Name of the interconnect to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Interconnects$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Interconnects$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Interconnects$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.interconnects.get + * @desc Returns the specified interconnect. Get a list of available + * interconnects by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the interconnect to return. + * interconnect: 'my-interconnect', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.interconnects.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 compute.interconnects.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.interconnect Name of the interconnect to return. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Interconnects$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Interconnects$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Interconnects$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.interconnects.getDiagnostics + * @desc Returns the interconnectDiagnostics for the specified interconnect. + * @alias compute.interconnects.getDiagnostics + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.interconnect Name of the interconnect resource to query. + * @param {string} params.project Project ID for this request. + * @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 + */ + getDiagnostics(params?: Params$Resource$Interconnects$Getdiagnostics, options?: MethodOptions): AxiosPromise; + getDiagnostics(params: Params$Resource$Interconnects$Getdiagnostics, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getDiagnostics(params: Params$Resource$Interconnects$Getdiagnostics, callback: BodyResponseCallback): void; + getDiagnostics(callback: BodyResponseCallback): void; + /** + * compute.interconnects.insert + * @desc Creates a Interconnect in the specified project using the data + * included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.interconnects.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 compute.interconnects.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Interconnect} 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?: Params$Resource$Interconnects$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Interconnects$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Interconnects$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.interconnects.list + * @desc Retrieves the list of interconnect available to the specified + * project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * compute.interconnects.list(request, handlePage); + * } + * }; + * + * compute.interconnects.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 compute.interconnects.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Interconnects$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Interconnects$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Interconnects$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.interconnects.patch + * @desc Updates the specified interconnect with the data included in the + * request. This method supports PATCH semantics and uses the JSON merge + * patch format and processing rules. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the interconnect to update. + * interconnect: 'my-interconnect', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * compute.interconnects.patch(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 compute.interconnects.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.interconnect Name of the interconnect to update. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Interconnect} 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 + */ + patch(params?: Params$Resource$Interconnects$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Interconnects$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Interconnects$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * compute.interconnects.setLabels + * @desc Sets the labels on an Interconnect. To learn more about labels, + * read the Labeling Resources documentation. + * @alias compute.interconnects.setLabels + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().GlobalSetLabelsRequest} 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 + */ + setLabels(params?: Params$Resource$Interconnects$Setlabels, options?: MethodOptions): AxiosPromise; + setLabels(params: Params$Resource$Interconnects$Setlabels, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setLabels(params: Params$Resource$Interconnects$Setlabels, callback: BodyResponseCallback): void; + setLabels(callback: BodyResponseCallback): void; + /** + * compute.interconnects.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the resource for this request. + * resource_: 'my-resource', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.interconnects.testIamPermissions(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 compute.interconnects.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Interconnects$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Interconnects$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Interconnects$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Interconnects$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the interconnect to delete. + */ + interconnect?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Interconnects$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the interconnect to return. + */ + interconnect?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Interconnects$Getdiagnostics { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the interconnect resource to query. + */ + interconnect?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Interconnects$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Interconnect; + } + interface Params$Resource$Interconnects$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Interconnects$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the interconnect to update. + */ + interconnect?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Interconnect; + } + interface Params$Resource$Interconnects$Setlabels { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GlobalSetLabelsRequest; + } + interface Params$Resource$Interconnects$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Licensecodes { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.licenseCodes.get + * @desc Return a specified license code. License codes are mirrored across + * all projects that have permissions to read the License Code. + * @alias compute.licenseCodes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.licenseCode Number corresponding to the License code resource to return. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Licensecodes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Licensecodes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Licensecodes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Licensecodes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Number corresponding to the License code resource to return. + */ + licenseCode?: string; + /** + * Project ID for this request. + */ + project?: string; + } + class Resource$Licenses { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.licenses.delete + * @desc Deletes the specified license. + * @alias compute.licenses.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.license Name of the license resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Licenses$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Licenses$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Licenses$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.licenses.get + * @desc Returns the specified License resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the License resource to return. + * license: 'my-license', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.licenses.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 compute.licenses.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.license Name of the License resource to return. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Licenses$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Licenses$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Licenses$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.licenses.insert + * @desc Create a License resource in the specified project. + * @alias compute.licenses.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().License} 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?: Params$Resource$Licenses$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Licenses$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Licenses$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.licenses.list + * @desc Retrieves the list of licenses available in the specified project. + * This method does not get any licenses that belong to other projects, + * including licenses attached to publicly-available images, like Debian 9. + * If you want to get a list of publicly-available licenses, use this method + * to make a request to the respective image project, such as debian-cloud + * or windows-cloud. + * @alias compute.licenses.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Licenses$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Licenses$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Licenses$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Licenses$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the license resource to delete. + */ + license?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Licenses$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the License resource to return. + */ + license?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Licenses$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$License; + } + interface Params$Resource$Licenses$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + class Resource$Machinetypes { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.machineTypes.aggregatedList + * @desc Retrieves an aggregated list of machine types. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * } + * Object.keys(itemsPage).forEach(function(name) { + * // TODO: Change code below to process each `name` property: + * console.log(name + ': ' + JSON.stringify(itemsPage[name], null, + * 2)); + * }); + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * compute.machineTypes.aggregatedList(request, handlePage); + * } + * }; + * + * compute.machineTypes.aggregatedList(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 compute.machineTypes.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Machinetypes$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Machinetypes$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Machinetypes$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.machineTypes.get + * @desc Returns the specified machine type. Gets a list of available + * machine types by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the machine type to return. + * machineType: 'my-machine-type', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.machineTypes.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 compute.machineTypes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.machineType Name of the machine type to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone for this request. + * @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?: Params$Resource$Machinetypes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Machinetypes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Machinetypes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.machineTypes.list + * @desc Retrieves a list of machine types available to the specified + * project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // 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; + * compute.machineTypes.list(request, handlePage); + * } + * }; + * + * compute.machineTypes.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 compute.machineTypes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone for this request. + * @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?: Params$Resource$Machinetypes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Machinetypes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Machinetypes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Machinetypes$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Machinetypes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the machine type to return. + */ + machineType?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Machinetypes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + class Resource$Networkendpointgroups { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.networkEndpointGroups.aggregatedList + * @desc Retrieves the list of network endpoint groups and sorts them by + * zone. + * @alias compute.networkEndpointGroups.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Networkendpointgroups$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Networkendpointgroups$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Networkendpointgroups$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.networkEndpointGroups.attachNetworkEndpoints + * @desc Attach a list of network endpoints to the specified network + * endpoint group. + * @alias compute.networkEndpointGroups.attachNetworkEndpoints + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.networkEndpointGroup The name of the network endpoint group where you are attaching network endpoints to. It should comply with RFC1035. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone where the network endpoint group is located. It should comply with RFC1035. + * @param {().NetworkEndpointGroupsAttachEndpointsRequest} 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 + */ + attachNetworkEndpoints(params?: Params$Resource$Networkendpointgroups$Attachnetworkendpoints, options?: MethodOptions): AxiosPromise; + attachNetworkEndpoints(params: Params$Resource$Networkendpointgroups$Attachnetworkendpoints, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + attachNetworkEndpoints(params: Params$Resource$Networkendpointgroups$Attachnetworkendpoints, callback: BodyResponseCallback): void; + attachNetworkEndpoints(callback: BodyResponseCallback): void; + /** + * compute.networkEndpointGroups.delete + * @desc Deletes the specified network endpoint group. The network endpoints + * in the NEG and the VM instances they belong to are not terminated when + * the NEG is deleted. Note that the NEG cannot be deleted if there are + * backend services referencing it. + * @alias compute.networkEndpointGroups.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.networkEndpointGroup The name of the network endpoint group to delete. It should comply with RFC1035. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone where the network endpoint group is located. It should comply with RFC1035. + * @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?: Params$Resource$Networkendpointgroups$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Networkendpointgroups$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Networkendpointgroups$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.networkEndpointGroups.detachNetworkEndpoints + * @desc Detach a list of network endpoints from the specified network + * endpoint group. + * @alias compute.networkEndpointGroups.detachNetworkEndpoints + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.networkEndpointGroup The name of the network endpoint group where you are removing network endpoints. It should comply with RFC1035. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone where the network endpoint group is located. It should comply with RFC1035. + * @param {().NetworkEndpointGroupsDetachEndpointsRequest} 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 + */ + detachNetworkEndpoints(params?: Params$Resource$Networkendpointgroups$Detachnetworkendpoints, options?: MethodOptions): AxiosPromise; + detachNetworkEndpoints(params: Params$Resource$Networkendpointgroups$Detachnetworkendpoints, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + detachNetworkEndpoints(params: Params$Resource$Networkendpointgroups$Detachnetworkendpoints, callback: BodyResponseCallback): void; + detachNetworkEndpoints(callback: BodyResponseCallback): void; + /** + * compute.networkEndpointGroups.get + * @desc Returns the specified network endpoint group. Gets a list of + * available network endpoint groups by making a list() request. + * @alias compute.networkEndpointGroups.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.networkEndpointGroup The name of the network endpoint group. It should comply with RFC1035. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone where the network endpoint group is located. It should comply with RFC1035. + * @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?: Params$Resource$Networkendpointgroups$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Networkendpointgroups$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Networkendpointgroups$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.networkEndpointGroups.insert + * @desc Creates a network endpoint group in the specified project using the + * parameters that are included in the request. + * @alias compute.networkEndpointGroups.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone where you want to create the network endpoint group. It should comply with RFC1035. + * @param {().NetworkEndpointGroup} 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?: Params$Resource$Networkendpointgroups$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Networkendpointgroups$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Networkendpointgroups$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.networkEndpointGroups.list + * @desc Retrieves the list of network endpoint groups that are located in + * the specified project and zone. + * @alias compute.networkEndpointGroups.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone where the network endpoint group is located. It should comply with RFC1035. + * @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?: Params$Resource$Networkendpointgroups$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Networkendpointgroups$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Networkendpointgroups$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.networkEndpointGroups.listNetworkEndpoints + * @desc Lists the network endpoints in the specified network endpoint + * group. + * @alias compute.networkEndpointGroups.listNetworkEndpoints + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string} params.networkEndpointGroup The name of the network endpoint group from which you want to generate a list of included network endpoints. It should comply with RFC1035. + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone where the network endpoint group is located. It should comply with RFC1035. + * @param {().NetworkEndpointGroupsListEndpointsRequest} 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 + */ + listNetworkEndpoints(params?: Params$Resource$Networkendpointgroups$Listnetworkendpoints, options?: MethodOptions): AxiosPromise; + listNetworkEndpoints(params: Params$Resource$Networkendpointgroups$Listnetworkendpoints, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listNetworkEndpoints(params: Params$Resource$Networkendpointgroups$Listnetworkendpoints, callback: BodyResponseCallback): void; + listNetworkEndpoints(callback: BodyResponseCallback): void; + /** + * compute.networkEndpointGroups.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.networkEndpointGroups.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {string} params.zone The name of the zone for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Networkendpointgroups$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Networkendpointgroups$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Networkendpointgroups$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Networkendpointgroups$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Networkendpointgroups$Attachnetworkendpoints { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the network endpoint group where you are attaching network + * endpoints to. It should comply with RFC1035. + */ + networkEndpointGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where the network endpoint group is located. It + * should comply with RFC1035. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$NetworkEndpointGroupsAttachEndpointsRequest; + } + interface Params$Resource$Networkendpointgroups$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the network endpoint group to delete. It should comply with + * RFC1035. + */ + networkEndpointGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where the network endpoint group is located. It + * should comply with RFC1035. + */ + zone?: string; + } + interface Params$Resource$Networkendpointgroups$Detachnetworkendpoints { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the network endpoint group where you are removing network + * endpoints. It should comply with RFC1035. + */ + networkEndpointGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where the network endpoint group is located. It + * should comply with RFC1035. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$NetworkEndpointGroupsDetachEndpointsRequest; + } + interface Params$Resource$Networkendpointgroups$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the network endpoint group. It should comply with RFC1035. + */ + networkEndpointGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone where the network endpoint group is located. It + * should comply with RFC1035. + */ + zone?: string; + } + interface Params$Resource$Networkendpointgroups$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where you want to create the network endpoint group. + * It should comply with RFC1035. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$NetworkEndpointGroup; + } + interface Params$Resource$Networkendpointgroups$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone where the network endpoint group is located. It + * should comply with RFC1035. + */ + zone?: string; + } + interface Params$Resource$Networkendpointgroups$Listnetworkendpoints { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * The name of the network endpoint group from which you want to generate a + * list of included network endpoints. It should comply with RFC1035. + */ + networkEndpointGroup?: string; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone where the network endpoint group is located. It + * should comply with RFC1035. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$NetworkEndpointGroupsListEndpointsRequest; + } + interface Params$Resource$Networkendpointgroups$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Networks { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.networks.addPeering + * @desc Adds a peering to the specified network. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the network resource to add peering to. + * network: 'my-network', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.networks.addPeering(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 compute.networks.addPeering + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.network Name of the network resource to add peering to. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().NetworksAddPeeringRequest} 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 + */ + addPeering(params?: Params$Resource$Networks$Addpeering, options?: MethodOptions): AxiosPromise; + addPeering(params: Params$Resource$Networks$Addpeering, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + addPeering(params: Params$Resource$Networks$Addpeering, callback: BodyResponseCallback): void; + addPeering(callback: BodyResponseCallback): void; + /** + * compute.networks.delete + * @desc Deletes the specified network. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the network to delete. + * network: 'my-network', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.networks.delete(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 compute.networks.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.network Name of the network to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Networks$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Networks$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Networks$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.networks.get + * @desc Returns the specified network. Gets a list of available networks by + * making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the network to return. + * network: 'my-network', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.networks.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 compute.networks.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.network Name of the network to return. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Networks$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Networks$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Networks$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.networks.insert + * @desc Creates a network in the specified project using the data included + * in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.networks.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 compute.networks.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Network} 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?: Params$Resource$Networks$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Networks$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Networks$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.networks.list + * @desc Retrieves the list of networks available to the specified project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * compute.networks.list(request, handlePage); + * } + * }; + * + * compute.networks.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 compute.networks.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Networks$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Networks$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Networks$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.networks.patch + * @desc Patches the specified network with the data included in the + * request. Only the following fields can be modified: + * routingConfig.routingMode. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the network to update. + * network: 'my-network', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * compute.networks.patch(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 compute.networks.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.network Name of the network to update. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Network} 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 + */ + patch(params?: Params$Resource$Networks$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Networks$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Networks$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * compute.networks.removePeering + * @desc Removes a peering from the specified network. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the network resource to remove peering from. + * network: 'my-network', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.networks.removePeering(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 compute.networks.removePeering + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.network Name of the network resource to remove peering from. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().NetworksRemovePeeringRequest} 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 + */ + removePeering(params?: Params$Resource$Networks$Removepeering, options?: MethodOptions): AxiosPromise; + removePeering(params: Params$Resource$Networks$Removepeering, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + removePeering(params: Params$Resource$Networks$Removepeering, callback: BodyResponseCallback): void; + removePeering(callback: BodyResponseCallback): void; + /** + * compute.networks.switchToCustomMode + * @desc Switches the network mode from auto subnet mode to custom subnet + * mode. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the network to be updated. + * network: 'my-network', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.networks.switchToCustomMode(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 compute.networks.switchToCustomMode + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.network Name of the network to be updated. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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 + */ + switchToCustomMode(params?: Params$Resource$Networks$Switchtocustommode, options?: MethodOptions): AxiosPromise; + switchToCustomMode(params: Params$Resource$Networks$Switchtocustommode, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + switchToCustomMode(params: Params$Resource$Networks$Switchtocustommode, callback: BodyResponseCallback): void; + switchToCustomMode(callback: BodyResponseCallback): void; + /** + * compute.networks.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the resource for this request. + * resource_: 'my-resource', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.networks.testIamPermissions(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 compute.networks.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Networks$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Networks$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Networks$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Networks$Addpeering { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the network resource to add peering to. + */ + network?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$NetworksAddPeeringRequest; + } + interface Params$Resource$Networks$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the network to delete. + */ + network?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Networks$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the network to return. + */ + network?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Networks$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Network; + } + interface Params$Resource$Networks$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Networks$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the network to update. + */ + network?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Network; + } + interface Params$Resource$Networks$Removepeering { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the network resource to remove peering from. + */ + network?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$NetworksRemovePeeringRequest; + } + interface Params$Resource$Networks$Switchtocustommode { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the network to be updated. + */ + network?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Networks$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Nodegroups { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.nodeGroups.addNodes + * @desc Adds specified number of nodes to the node group. + * @alias compute.nodeGroups.addNodes + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.nodeGroup Name of the NodeGroup resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().NodeGroupsAddNodesRequest} 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 + */ + addNodes(params?: Params$Resource$Nodegroups$Addnodes, options?: MethodOptions): AxiosPromise; + addNodes(params: Params$Resource$Nodegroups$Addnodes, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + addNodes(params: Params$Resource$Nodegroups$Addnodes, callback: BodyResponseCallback): void; + addNodes(callback: BodyResponseCallback): void; + /** + * compute.nodeGroups.aggregatedList + * @desc Retrieves an aggregated list of node groups. Note: use + * nodeGroups.listNodes for more details about each group. + * @alias compute.nodeGroups.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Nodegroups$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Nodegroups$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Nodegroups$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.nodeGroups.delete + * @desc Deletes the specified NodeGroup resource. + * @alias compute.nodeGroups.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.nodeGroup Name of the NodeGroup resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @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?: Params$Resource$Nodegroups$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Nodegroups$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Nodegroups$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.nodeGroups.deleteNodes + * @desc Deletes specified nodes from the node group. + * @alias compute.nodeGroups.deleteNodes + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.nodeGroup Name of the NodeGroup resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().NodeGroupsDeleteNodesRequest} 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 + */ + deleteNodes(params?: Params$Resource$Nodegroups$Deletenodes, options?: MethodOptions): AxiosPromise; + deleteNodes(params: Params$Resource$Nodegroups$Deletenodes, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + deleteNodes(params: Params$Resource$Nodegroups$Deletenodes, callback: BodyResponseCallback): void; + deleteNodes(callback: BodyResponseCallback): void; + /** + * compute.nodeGroups.get + * @desc Returns the specified NodeGroup. Get a list of available NodeGroups + * by making a list() request. Note: the "nodes" field should not be used. + * Use nodeGroups.listNodes instead. + * @alias compute.nodeGroups.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.nodeGroup Name of the node group to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone for this request. + * @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?: Params$Resource$Nodegroups$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Nodegroups$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Nodegroups$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.nodeGroups.getIamPolicy + * @desc Gets the access control policy for a resource. May be empty if no + * such policy or resource exists. + * @alias compute.nodeGroups.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {string} params.zone The name of the zone for this request. + * @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 + */ + getIamPolicy(params?: Params$Resource$Nodegroups$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Nodegroups$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Nodegroups$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * compute.nodeGroups.insert + * @desc Creates a NodeGroup resource in the specified project using the + * data included in the request. + * @alias compute.nodeGroups.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.initialNodeCount Initial count of nodes in the node group. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().NodeGroup} 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?: Params$Resource$Nodegroups$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Nodegroups$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Nodegroups$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.nodeGroups.list + * @desc Retrieves a list of node groups available to the specified project. + * Note: use nodeGroups.listNodes for more details about each group. + * @alias compute.nodeGroups.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone for this request. + * @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?: Params$Resource$Nodegroups$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Nodegroups$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Nodegroups$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.nodeGroups.listNodes + * @desc Lists nodes in the node group. + * @alias compute.nodeGroups.listNodes + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string} params.nodeGroup Name of the NodeGroup resource whose nodes you want to list. + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone for this request. + * @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 + */ + listNodes(params?: Params$Resource$Nodegroups$Listnodes, options?: MethodOptions): AxiosPromise; + listNodes(params: Params$Resource$Nodegroups$Listnodes, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listNodes(params: Params$Resource$Nodegroups$Listnodes, callback: BodyResponseCallback): void; + listNodes(callback: BodyResponseCallback): void; + /** + * compute.nodeGroups.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @alias compute.nodeGroups.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {string} params.zone The name of the zone for this request. + * @param {().ZoneSetPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Nodegroups$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Nodegroups$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Nodegroups$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * compute.nodeGroups.setNodeTemplate + * @desc Updates the node template of the node group. + * @alias compute.nodeGroups.setNodeTemplate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.nodeGroup Name of the NodeGroup resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().NodeGroupsSetNodeTemplateRequest} 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 + */ + setNodeTemplate(params?: Params$Resource$Nodegroups$Setnodetemplate, options?: MethodOptions): AxiosPromise; + setNodeTemplate(params: Params$Resource$Nodegroups$Setnodetemplate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setNodeTemplate(params: Params$Resource$Nodegroups$Setnodetemplate, callback: BodyResponseCallback): void; + setNodeTemplate(callback: BodyResponseCallback): void; + /** + * compute.nodeGroups.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.nodeGroups.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {string} params.zone The name of the zone for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Nodegroups$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Nodegroups$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Nodegroups$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Nodegroups$Addnodes { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the NodeGroup resource to delete. + */ + nodeGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$NodeGroupsAddNodesRequest; + } + interface Params$Resource$Nodegroups$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Nodegroups$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the NodeGroup resource to delete. + */ + nodeGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Nodegroups$Deletenodes { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the NodeGroup resource to delete. + */ + nodeGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$NodeGroupsDeleteNodesRequest; + } + interface Params$Resource$Nodegroups$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the node group to return. + */ + nodeGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Nodegroups$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Nodegroups$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Initial count of nodes in the node group. + */ + initialNodeCount?: number; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$NodeGroup; + } + interface Params$Resource$Nodegroups$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Nodegroups$Listnodes { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Name of the NodeGroup resource whose nodes you want to list. + */ + nodeGroup?: string; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Nodegroups$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ZoneSetPolicyRequest; + } + interface Params$Resource$Nodegroups$Setnodetemplate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the NodeGroup resource to delete. + */ + nodeGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$NodeGroupsSetNodeTemplateRequest; + } + interface Params$Resource$Nodegroups$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Nodetemplates { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.nodeTemplates.aggregatedList + * @desc Retrieves an aggregated list of node templates. + * @alias compute.nodeTemplates.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Nodetemplates$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Nodetemplates$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Nodetemplates$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.nodeTemplates.delete + * @desc Deletes the specified NodeTemplate resource. + * @alias compute.nodeTemplates.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.nodeTemplate Name of the NodeTemplate resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Nodetemplates$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Nodetemplates$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Nodetemplates$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.nodeTemplates.get + * @desc Returns the specified node template. Gets a list of available node + * templates by making a list() request. + * @alias compute.nodeTemplates.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.nodeTemplate Name of the node template to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @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?: Params$Resource$Nodetemplates$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Nodetemplates$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Nodetemplates$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.nodeTemplates.getIamPolicy + * @desc Gets the access control policy for a resource. May be empty if no + * such policy or resource exists. + * @alias compute.nodeTemplates.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @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 + */ + getIamPolicy(params?: Params$Resource$Nodetemplates$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Nodetemplates$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Nodetemplates$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * compute.nodeTemplates.insert + * @desc Creates a NodeTemplate resource in the specified project using the + * data included in the request. + * @alias compute.nodeTemplates.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().NodeTemplate} 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?: Params$Resource$Nodetemplates$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Nodetemplates$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Nodetemplates$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.nodeTemplates.list + * @desc Retrieves a list of node templates available to the specified + * project. + * @alias compute.nodeTemplates.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @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?: Params$Resource$Nodetemplates$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Nodetemplates$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Nodetemplates$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.nodeTemplates.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @alias compute.nodeTemplates.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().RegionSetPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Nodetemplates$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Nodetemplates$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Nodetemplates$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * compute.nodeTemplates.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.nodeTemplates.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Nodetemplates$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Nodetemplates$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Nodetemplates$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Nodetemplates$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Nodetemplates$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the NodeTemplate resource to delete. + */ + nodeTemplate?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Nodetemplates$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the node template to return. + */ + nodeTemplate?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + } + interface Params$Resource$Nodetemplates$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + } + interface Params$Resource$Nodetemplates$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$NodeTemplate; + } + interface Params$Resource$Nodetemplates$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + } + interface Params$Resource$Nodetemplates$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RegionSetPolicyRequest; + } + interface Params$Resource$Nodetemplates$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Nodetypes { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.nodeTypes.aggregatedList + * @desc Retrieves an aggregated list of node types. + * @alias compute.nodeTypes.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Nodetypes$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Nodetypes$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Nodetypes$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.nodeTypes.get + * @desc Returns the specified node type. Gets a list of available node + * types by making a list() request. + * @alias compute.nodeTypes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.nodeType Name of the node type to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone for this request. + * @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?: Params$Resource$Nodetypes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Nodetypes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Nodetypes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.nodeTypes.list + * @desc Retrieves a list of node types available to the specified project. + * @alias compute.nodeTypes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone for this request. + * @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?: Params$Resource$Nodetypes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Nodetypes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Nodetypes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Nodetypes$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Nodetypes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the node type to return. + */ + nodeType?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Nodetypes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + class Resource$Projects { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.projects.disableXpnHost + * @desc Disable this project as a shared VPC host project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.projects.disableXpnHost(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 compute.projects.disableXpnHost + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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 + */ + disableXpnHost(params?: Params$Resource$Projects$Disablexpnhost, options?: MethodOptions): AxiosPromise; + disableXpnHost(params: Params$Resource$Projects$Disablexpnhost, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + disableXpnHost(params: Params$Resource$Projects$Disablexpnhost, callback: BodyResponseCallback): void; + disableXpnHost(callback: BodyResponseCallback): void; + /** + * compute.projects.disableXpnResource + * @desc Disable a serivce resource (a.k.a service project) associated with + * this host project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.projects.disableXpnResource(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 compute.projects.disableXpnResource + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().ProjectsDisableXpnResourceRequest} 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 + */ + disableXpnResource(params?: Params$Resource$Projects$Disablexpnresource, options?: MethodOptions): AxiosPromise; + disableXpnResource(params: Params$Resource$Projects$Disablexpnresource, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + disableXpnResource(params: Params$Resource$Projects$Disablexpnresource, callback: BodyResponseCallback): void; + disableXpnResource(callback: BodyResponseCallback): void; + /** + * compute.projects.enableXpnHost + * @desc Enable this project as a shared VPC host project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.projects.enableXpnHost(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 compute.projects.enableXpnHost + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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 + */ + enableXpnHost(params?: Params$Resource$Projects$Enablexpnhost, options?: MethodOptions): AxiosPromise; + enableXpnHost(params: Params$Resource$Projects$Enablexpnhost, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + enableXpnHost(params: Params$Resource$Projects$Enablexpnhost, callback: BodyResponseCallback): void; + enableXpnHost(callback: BodyResponseCallback): void; + /** + * compute.projects.enableXpnResource + * @desc Enable service resource (a.k.a service project) for a host project, + * so that subnets in the host project can be used by instances in the + * service project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.projects.enableXpnResource(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 compute.projects.enableXpnResource + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().ProjectsEnableXpnResourceRequest} 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 + */ + enableXpnResource(params?: Params$Resource$Projects$Enablexpnresource, options?: MethodOptions): AxiosPromise; + enableXpnResource(params: Params$Resource$Projects$Enablexpnresource, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + enableXpnResource(params: Params$Resource$Projects$Enablexpnresource, callback: BodyResponseCallback): void; + enableXpnResource(callback: BodyResponseCallback): void; + /** + * compute.projects.get + * @desc Returns the specified Project resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.projects.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 compute.projects.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Projects$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.projects.getXpnHost + * @desc Gets the shared VPC host project that this project links to. May be + * empty if no link exists. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.projects.getXpnHost(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 compute.projects.getXpnHost + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @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 + */ + getXpnHost(params?: Params$Resource$Projects$Getxpnhost, options?: MethodOptions): AxiosPromise; + getXpnHost(params: Params$Resource$Projects$Getxpnhost, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getXpnHost(params: Params$Resource$Projects$Getxpnhost, callback: BodyResponseCallback): void; + getXpnHost(callback: BodyResponseCallback): void; + /** + * compute.projects.getXpnResources + * @desc Gets service resources (a.k.a service project) associated with this + * host project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var resourcesPage = response['resources']; + * if (!resourcesPage) { + * return; + * } + * for (var i = 0; i < resourcesPage.length; i++) { + * // TODO: Change code below to process each resource in + * `resourcesPage`: console.log(JSON.stringify(resourcesPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * compute.projects.getXpnResources(request, handlePage); + * } + * }; + * + * compute.projects.getXpnResources(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 compute.projects.getXpnResources + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.order_by Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + getXpnResources(params?: Params$Resource$Projects$Getxpnresources, options?: MethodOptions): AxiosPromise; + getXpnResources(params: Params$Resource$Projects$Getxpnresources, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getXpnResources(params: Params$Resource$Projects$Getxpnresources, callback: BodyResponseCallback): void; + getXpnResources(callback: BodyResponseCallback): void; + /** + * compute.projects.listXpnHosts + * @desc Lists all shared VPC host projects visible to the user in an + * organization. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * 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; + * compute.projects.listXpnHosts(request, handlePage); + * } + * }; + * + * compute.projects.listXpnHosts(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 compute.projects.listXpnHosts + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.order_by Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {().ProjectsListXpnHostsRequest} 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 + */ + listXpnHosts(params?: Params$Resource$Projects$Listxpnhosts, options?: MethodOptions): AxiosPromise; + listXpnHosts(params: Params$Resource$Projects$Listxpnhosts, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listXpnHosts(params: Params$Resource$Projects$Listxpnhosts, callback: BodyResponseCallback): void; + listXpnHosts(callback: BodyResponseCallback): void; + /** + * compute.projects.moveDisk + * @desc Moves a persistent disk from one zone to another. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.projects.moveDisk(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 compute.projects.moveDisk + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().DiskMoveRequest} 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 + */ + moveDisk(params?: Params$Resource$Projects$Movedisk, options?: MethodOptions): AxiosPromise; + moveDisk(params: Params$Resource$Projects$Movedisk, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + moveDisk(params: Params$Resource$Projects$Movedisk, callback: BodyResponseCallback): void; + moveDisk(callback: BodyResponseCallback): void; + /** + * compute.projects.moveInstance + * @desc Moves an instance and its attached persistent disks from one zone + * to another. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.projects.moveInstance(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 compute.projects.moveInstance + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().InstanceMoveRequest} 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 + */ + moveInstance(params?: Params$Resource$Projects$Moveinstance, options?: MethodOptions): AxiosPromise; + moveInstance(params: Params$Resource$Projects$Moveinstance, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + moveInstance(params: Params$Resource$Projects$Moveinstance, callback: BodyResponseCallback): void; + moveInstance(callback: BodyResponseCallback): void; + /** + * compute.projects.setCommonInstanceMetadata + * @desc Sets metadata common to all instances within the specified project + * using the data included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.projects.setCommonInstanceMetadata(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 compute.projects.setCommonInstanceMetadata + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Metadata} 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 + */ + setCommonInstanceMetadata(params?: Params$Resource$Projects$Setcommoninstancemetadata, options?: MethodOptions): AxiosPromise; + setCommonInstanceMetadata(params: Params$Resource$Projects$Setcommoninstancemetadata, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setCommonInstanceMetadata(params: Params$Resource$Projects$Setcommoninstancemetadata, callback: BodyResponseCallback): void; + setCommonInstanceMetadata(callback: BodyResponseCallback): void; + /** + * compute.projects.setDefaultNetworkTier + * @desc Sets the default network tier of the project. The default network + * tier is used when an address/forwardingRule/instance is created without + * specifying the network tier field. + * @alias compute.projects.setDefaultNetworkTier + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().ProjectsSetDefaultNetworkTierRequest} 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 + */ + setDefaultNetworkTier(params?: Params$Resource$Projects$Setdefaultnetworktier, options?: MethodOptions): AxiosPromise; + setDefaultNetworkTier(params: Params$Resource$Projects$Setdefaultnetworktier, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setDefaultNetworkTier(params: Params$Resource$Projects$Setdefaultnetworktier, callback: BodyResponseCallback): void; + setDefaultNetworkTier(callback: BodyResponseCallback): void; + /** + * compute.projects.setUsageExportBucket + * @desc Enables the usage export feature and sets the usage export bucket + * where reports are stored. If you provide an empty request body using this + * method, the usage export feature will be disabled. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.projects.setUsageExportBucket(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 compute.projects.setUsageExportBucket + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().UsageExportLocation} 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 + */ + setUsageExportBucket(params?: Params$Resource$Projects$Setusageexportbucket, options?: MethodOptions): AxiosPromise; + setUsageExportBucket(params: Params$Resource$Projects$Setusageexportbucket, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setUsageExportBucket(params: Params$Resource$Projects$Setusageexportbucket, callback: BodyResponseCallback): void; + setUsageExportBucket(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Disablexpnhost { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Projects$Disablexpnresource { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ProjectsDisableXpnResourceRequest; + } + interface Params$Resource$Projects$Enablexpnhost { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Projects$Enablexpnresource { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ProjectsEnableXpnResourceRequest; + } + interface Params$Resource$Projects$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Projects$Getxpnhost { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Projects$Getxpnresources { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + order_by?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Projects$Listxpnhosts { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + order_by?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ProjectsListXpnHostsRequest; + } + interface Params$Resource$Projects$Movedisk { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DiskMoveRequest; + } + interface Params$Resource$Projects$Moveinstance { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceMoveRequest; + } + interface Params$Resource$Projects$Setcommoninstancemetadata { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Metadata; + } + interface Params$Resource$Projects$Setdefaultnetworktier { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ProjectsSetDefaultNetworkTierRequest; + } + interface Params$Resource$Projects$Setusageexportbucket { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UsageExportLocation; + } + class Resource$Regionautoscalers { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.regionAutoscalers.delete + * @desc Deletes the specified autoscaler. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the autoscaler to delete. + * autoscaler: 'my-autoscaler', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.regionAutoscalers.delete(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 compute.regionAutoscalers.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.autoscaler Name of the autoscaler to delete. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Regionautoscalers$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Regionautoscalers$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Regionautoscalers$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.regionAutoscalers.get + * @desc Returns the specified autoscaler. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the autoscaler to return. + * autoscaler: 'my-autoscaler', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.regionAutoscalers.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 compute.regionAutoscalers.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.autoscaler Name of the autoscaler to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @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?: Params$Resource$Regionautoscalers$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Regionautoscalers$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Regionautoscalers$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.regionAutoscalers.insert + * @desc Creates an autoscaler in the specified project using the data + * included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.regionAutoscalers.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 compute.regionAutoscalers.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Autoscaler} 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?: Params$Resource$Regionautoscalers$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Regionautoscalers$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Regionautoscalers$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.regionAutoscalers.list + * @desc Retrieves a list of autoscalers contained within the specified + * region. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // 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; + * compute.regionAutoscalers.list(request, handlePage); + * } + * }; + * + * compute.regionAutoscalers.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 compute.regionAutoscalers.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @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?: Params$Resource$Regionautoscalers$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Regionautoscalers$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Regionautoscalers$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.regionAutoscalers.patch + * @desc Updates an autoscaler in the specified project using the data + * included in the request. This method supports PATCH semantics and uses + * the JSON merge patch format and processing rules. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * compute.regionAutoscalers.patch(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 compute.regionAutoscalers.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.autoscaler Name of the autoscaler to patch. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Autoscaler} 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 + */ + patch(params?: Params$Resource$Regionautoscalers$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Regionautoscalers$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Regionautoscalers$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * compute.regionAutoscalers.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the resource for this request. + * resource_: 'my-resource', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.regionAutoscalers.testIamPermissions(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 compute.regionAutoscalers.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Regionautoscalers$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Regionautoscalers$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Regionautoscalers$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + /** + * compute.regionAutoscalers.update + * @desc Updates an autoscaler in the specified project using the data + * included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * compute.regionAutoscalers.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 compute.regionAutoscalers.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.autoscaler Name of the autoscaler to update. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Autoscaler} 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?: Params$Resource$Regionautoscalers$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Regionautoscalers$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Regionautoscalers$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Regionautoscalers$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the autoscaler to delete. + */ + autoscaler?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Regionautoscalers$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the autoscaler to return. + */ + autoscaler?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + } + interface Params$Resource$Regionautoscalers$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Autoscaler; + } + interface Params$Resource$Regionautoscalers$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + } + interface Params$Resource$Regionautoscalers$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the autoscaler to patch. + */ + autoscaler?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Autoscaler; + } + interface Params$Resource$Regionautoscalers$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + interface Params$Resource$Regionautoscalers$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the autoscaler to update. + */ + autoscaler?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Autoscaler; + } + class Resource$Regionbackendservices { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.regionBackendServices.delete + * @desc Deletes the specified regional BackendService resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the BackendService resource to delete. + * backendService: 'my-backend-service', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * compute.regionBackendServices.delete(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 compute.regionBackendServices.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendService Name of the BackendService resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Regionbackendservices$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Regionbackendservices$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Regionbackendservices$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.regionBackendServices.get + * @desc Returns the specified regional BackendService resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the BackendService resource to return. + * backendService: 'my-backend-service', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * compute.regionBackendServices.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 compute.regionBackendServices.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendService Name of the BackendService resource to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @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?: Params$Resource$Regionbackendservices$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Regionbackendservices$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Regionbackendservices$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.regionBackendServices.getHealth + * @desc Gets the most recent health check results for this regional + * BackendService. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the BackendService resource to which the queried instance + * belongs. backendService: 'my-backend-service', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.regionBackendServices.getHealth(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 compute.regionBackendServices.getHealth + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendService Name of the BackendService resource for which to get health. + * @param {string} params.project + * @param {string} params.region Name of the region scoping this request. + * @param {().ResourceGroupReference} 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 + */ + getHealth(params?: Params$Resource$Regionbackendservices$Gethealth, options?: MethodOptions): AxiosPromise; + getHealth(params: Params$Resource$Regionbackendservices$Gethealth, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getHealth(params: Params$Resource$Regionbackendservices$Gethealth, callback: BodyResponseCallback): void; + getHealth(callback: BodyResponseCallback): void; + /** + * compute.regionBackendServices.insert + * @desc Creates a regional BackendService resource in the specified project + * using the data included in the request. There are several restrictions + * and guidelines to keep in mind when creating a regional backend service. + * Read Restrictions and Guidelines for more information. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.regionBackendServices.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 compute.regionBackendServices.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().BackendService} 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?: Params$Resource$Regionbackendservices$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Regionbackendservices$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Regionbackendservices$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.regionBackendServices.list + * @desc Retrieves the list of regional BackendService resources available + * to the specified project in the given region. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // 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; + * compute.regionBackendServices.list(request, handlePage); + * } + * }; + * + * compute.regionBackendServices.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 compute.regionBackendServices.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @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?: Params$Resource$Regionbackendservices$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Regionbackendservices$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Regionbackendservices$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.regionBackendServices.patch + * @desc Updates the specified regional BackendService resource with the + * data included in the request. There are several restrictions and + * guidelines to keep in mind when updating a backend service. Read + * Restrictions and Guidelines for more information. This method supports + * PATCH semantics and uses the JSON merge patch format and processing + * rules. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the BackendService resource to patch. + * backendService: 'my-backend-service', // TODO: Update placeholder + * value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * compute.regionBackendServices.patch(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 compute.regionBackendServices.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendService Name of the BackendService resource to patch. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().BackendService} 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 + */ + patch(params?: Params$Resource$Regionbackendservices$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Regionbackendservices$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Regionbackendservices$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * compute.regionBackendServices.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the resource for this request. + * resource_: 'my-resource', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.regionBackendServices.testIamPermissions(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 compute.regionBackendServices.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Regionbackendservices$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Regionbackendservices$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Regionbackendservices$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + /** + * compute.regionBackendServices.update + * @desc Updates the specified regional BackendService resource with the + * data included in the request. There are several restrictions and + * guidelines to keep in mind when updating a backend service. Read + * Restrictions and Guidelines for more information. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the BackendService resource to update. + * backendService: 'my-backend-service', // TODO: Update placeholder + * value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * compute.regionBackendServices.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 compute.regionBackendServices.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendService Name of the BackendService resource to update. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().BackendService} 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?: Params$Resource$Regionbackendservices$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Regionbackendservices$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Regionbackendservices$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Regionbackendservices$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendService resource to delete. + */ + backendService?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Regionbackendservices$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendService resource to return. + */ + backendService?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + } + interface Params$Resource$Regionbackendservices$Gethealth { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendService resource for which to get health. + */ + backendService?: string; + /** + * + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ResourceGroupReference; + } + interface Params$Resource$Regionbackendservices$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BackendService; + } + interface Params$Resource$Regionbackendservices$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + } + interface Params$Resource$Regionbackendservices$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendService resource to patch. + */ + backendService?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BackendService; + } + interface Params$Resource$Regionbackendservices$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + interface Params$Resource$Regionbackendservices$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendService resource to update. + */ + backendService?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BackendService; + } + class Resource$Regioncommitments { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.regionCommitments.aggregatedList + * @desc Retrieves an aggregated list of commitments. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * } + * Object.keys(itemsPage).forEach(function(name) { + * // TODO: Change code below to process each `name` property: + * console.log(name + ': ' + JSON.stringify(itemsPage[name], null, + * 2)); + * }); + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * compute.regionCommitments.aggregatedList(request, handlePage); + * } + * }; + * + * compute.regionCommitments.aggregatedList(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 compute.regionCommitments.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Regioncommitments$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Regioncommitments$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Regioncommitments$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.regionCommitments.get + * @desc Returns the specified commitment resource. Gets a list of available + * commitments by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the commitment to return. + * commitment: 'my-commitment', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.regionCommitments.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 compute.regionCommitments.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.commitment Name of the commitment to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @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?: Params$Resource$Regioncommitments$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Regioncommitments$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Regioncommitments$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.regionCommitments.insert + * @desc Creates a commitment in the specified project using the data + * included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.regionCommitments.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 compute.regionCommitments.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Commitment} 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?: Params$Resource$Regioncommitments$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Regioncommitments$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Regioncommitments$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.regionCommitments.list + * @desc Retrieves a list of commitments contained within the specified + * region. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // 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; + * compute.regionCommitments.list(request, handlePage); + * } + * }; + * + * compute.regionCommitments.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 compute.regionCommitments.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @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?: Params$Resource$Regioncommitments$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Regioncommitments$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Regioncommitments$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Regioncommitments$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Regioncommitments$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the commitment to return. + */ + commitment?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + } + interface Params$Resource$Regioncommitments$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Commitment; + } + interface Params$Resource$Regioncommitments$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + } + class Resource$Regiondisks { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.regionDisks.addResourcePolicies + * @desc Adds existing resource policies to a regional disk. You can only + * add one policy which will be applied to this disk for scheduling snapshot + * creation. + * @alias compute.regionDisks.addResourcePolicies + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.disk The disk name for this request. + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().RegionDisksAddResourcePoliciesRequest} 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 + */ + addResourcePolicies(params?: Params$Resource$Regiondisks$Addresourcepolicies, options?: MethodOptions): AxiosPromise; + addResourcePolicies(params: Params$Resource$Regiondisks$Addresourcepolicies, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + addResourcePolicies(params: Params$Resource$Regiondisks$Addresourcepolicies, callback: BodyResponseCallback): void; + addResourcePolicies(callback: BodyResponseCallback): void; + /** + * compute.regionDisks.createSnapshot + * @desc Creates a snapshot of this regional disk. + * @alias compute.regionDisks.createSnapshot + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.disk Name of the regional persistent disk to snapshot. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Snapshot} 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 + */ + createSnapshot(params?: Params$Resource$Regiondisks$Createsnapshot, options?: MethodOptions): AxiosPromise; + createSnapshot(params: Params$Resource$Regiondisks$Createsnapshot, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + createSnapshot(params: Params$Resource$Regiondisks$Createsnapshot, callback: BodyResponseCallback): void; + createSnapshot(callback: BodyResponseCallback): void; + /** + * compute.regionDisks.delete + * @desc Deletes the specified regional persistent disk. Deleting a regional + * disk removes all the replicas of its data permanently and is + * irreversible. However, deleting a disk does not delete any snapshots + * previously made from the disk. You must separately delete snapshots. + * @alias compute.regionDisks.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.disk Name of the regional persistent disk to delete. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Regiondisks$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Regiondisks$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Regiondisks$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.regionDisks.get + * @desc Returns a specified regional persistent disk. + * @alias compute.regionDisks.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.disk Name of the regional persistent disk to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @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?: Params$Resource$Regiondisks$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Regiondisks$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Regiondisks$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.regionDisks.insert + * @desc Creates a persistent regional disk in the specified project using + * the data included in the request. + * @alias compute.regionDisks.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string=} params.sourceImage Optional. Source image to restore onto a disk. + * @param {().Disk} 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?: Params$Resource$Regiondisks$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Regiondisks$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Regiondisks$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.regionDisks.list + * @desc Retrieves the list of persistent disks contained within the + * specified region. + * @alias compute.regionDisks.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @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?: Params$Resource$Regiondisks$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Regiondisks$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Regiondisks$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.regionDisks.removeResourcePolicies + * @desc Removes resource policies from a regional disk. + * @alias compute.regionDisks.removeResourcePolicies + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.disk The disk name for this request. + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().RegionDisksRemoveResourcePoliciesRequest} 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 + */ + removeResourcePolicies(params?: Params$Resource$Regiondisks$Removeresourcepolicies, options?: MethodOptions): AxiosPromise; + removeResourcePolicies(params: Params$Resource$Regiondisks$Removeresourcepolicies, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + removeResourcePolicies(params: Params$Resource$Regiondisks$Removeresourcepolicies, callback: BodyResponseCallback): void; + removeResourcePolicies(callback: BodyResponseCallback): void; + /** + * compute.regionDisks.resize + * @desc Resizes the specified regional persistent disk. + * @alias compute.regionDisks.resize + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.disk Name of the regional persistent disk. + * @param {string} params.project The project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().RegionDisksResizeRequest} 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 + */ + resize(params?: Params$Resource$Regiondisks$Resize, options?: MethodOptions): AxiosPromise; + resize(params: Params$Resource$Regiondisks$Resize, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + resize(params: Params$Resource$Regiondisks$Resize, callback: BodyResponseCallback): void; + resize(callback: BodyResponseCallback): void; + /** + * compute.regionDisks.setLabels + * @desc Sets the labels on the target regional disk. + * @alias compute.regionDisks.setLabels + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.resource_ Name of the resource for this request. + * @param {().RegionSetLabelsRequest} 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 + */ + setLabels(params?: Params$Resource$Regiondisks$Setlabels, options?: MethodOptions): AxiosPromise; + setLabels(params: Params$Resource$Regiondisks$Setlabels, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setLabels(params: Params$Resource$Regiondisks$Setlabels, callback: BodyResponseCallback): void; + setLabels(callback: BodyResponseCallback): void; + /** + * compute.regionDisks.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.regionDisks.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Regiondisks$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Regiondisks$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Regiondisks$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Regiondisks$Addresourcepolicies { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The disk name for this request. + */ + disk?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RegionDisksAddResourcePoliciesRequest; + } + interface Params$Resource$Regiondisks$Createsnapshot { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the regional persistent disk to snapshot. + */ + disk?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Snapshot; + } + interface Params$Resource$Regiondisks$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the regional persistent disk to delete. + */ + disk?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Regiondisks$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the regional persistent disk to return. + */ + disk?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + } + interface Params$Resource$Regiondisks$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Optional. Source image to restore onto a disk. + */ + sourceImage?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Disk; + } + interface Params$Resource$Regiondisks$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + } + interface Params$Resource$Regiondisks$Removeresourcepolicies { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The disk name for this request. + */ + disk?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RegionDisksRemoveResourcePoliciesRequest; + } + interface Params$Resource$Regiondisks$Resize { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the regional persistent disk. + */ + disk?: string; + /** + * The project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RegionDisksResizeRequest; + } + interface Params$Resource$Regiondisks$Setlabels { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RegionSetLabelsRequest; + } + interface Params$Resource$Regiondisks$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Regiondisktypes { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.regionDiskTypes.get + * @desc Returns the specified regional disk type. Gets a list of available + * disk types by making a list() request. + * @alias compute.regionDiskTypes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.diskType Name of the disk type to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @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?: Params$Resource$Regiondisktypes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Regiondisktypes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Regiondisktypes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.regionDiskTypes.list + * @desc Retrieves a list of regional disk types available to the specified + * project. + * @alias compute.regionDiskTypes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @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?: Params$Resource$Regiondisktypes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Regiondisktypes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Regiondisktypes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Regiondisktypes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the disk type to return. + */ + diskType?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + } + interface Params$Resource$Regiondisktypes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + } + class Resource$Regioninstancegroupmanagers { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.regionInstanceGroupManagers.abandonInstances + * @desc Schedules a group action to remove the specified instances from the + * managed instance group. Abandoning an instance does not delete the + * instance, but it does remove the instance from any target pools that are + * applied by the managed instance group. This method reduces the targetSize + * of the managed instance group by the number of instances that you + * abandon. This operation is marked as DONE when the action is scheduled + * even if the instances have not yet been removed from the group. You must + * separately verify the status of the abandoning action with the + * listmanagedinstances method. If the group is part of a backend service + * that has enabled connection draining, it can take up to 60 seconds after + * the connection draining duration has elapsed before the VM instance is + * removed or deleted. You can specify a maximum of 1000 instances with + * this method per request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the managed instance group. + * instanceGroupManager: 'my-instance-group-manager', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.regionInstanceGroupManagers.abandonInstances(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 compute.regionInstanceGroupManagers.abandonInstances + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager Name of the managed instance group. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().RegionInstanceGroupManagersAbandonInstancesRequest} 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 + */ + abandonInstances(params?: Params$Resource$Regioninstancegroupmanagers$Abandoninstances, options?: MethodOptions): AxiosPromise; + abandonInstances(params: Params$Resource$Regioninstancegroupmanagers$Abandoninstances, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + abandonInstances(params: Params$Resource$Regioninstancegroupmanagers$Abandoninstances, callback: BodyResponseCallback): void; + abandonInstances(callback: BodyResponseCallback): void; + /** + * compute.regionInstanceGroupManagers.delete + * @desc Deletes the specified managed instance group and all of the + * instances in that group. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the managed instance group to delete. + * instanceGroupManager: 'my-instance-group-manager', // TODO: Update + * placeholder value. + * + * auth: authClient, + * }; + * + * compute.regionInstanceGroupManagers.delete(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 compute.regionInstanceGroupManagers.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager Name of the managed instance group to delete. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Regioninstancegroupmanagers$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Regioninstancegroupmanagers$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Regioninstancegroupmanagers$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.regionInstanceGroupManagers.deleteInstances + * @desc Schedules a group action to delete the specified instances in the + * managed instance group. The instances are also removed from any target + * pools of which they were a member. This method reduces the targetSize of + * the managed instance group by the number of instances that you delete. + * This operation is marked as DONE when the action is scheduled even if the + * instances are still being deleted. You must separately verify the status + * of the deleting action with the listmanagedinstances method. If the + * group is part of a backend service that has enabled connection draining, + * it can take up to 60 seconds after the connection draining duration has + * elapsed before the VM instance is removed or deleted. You can specify a + * maximum of 1000 instances with this method per request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the managed instance group. + * instanceGroupManager: 'my-instance-group-manager', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.regionInstanceGroupManagers.deleteInstances(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 compute.regionInstanceGroupManagers.deleteInstances + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager Name of the managed instance group. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().RegionInstanceGroupManagersDeleteInstancesRequest} 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 + */ + deleteInstances(params?: Params$Resource$Regioninstancegroupmanagers$Deleteinstances, options?: MethodOptions): AxiosPromise; + deleteInstances(params: Params$Resource$Regioninstancegroupmanagers$Deleteinstances, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + deleteInstances(params: Params$Resource$Regioninstancegroupmanagers$Deleteinstances, callback: BodyResponseCallback): void; + deleteInstances(callback: BodyResponseCallback): void; + /** + * compute.regionInstanceGroupManagers.get + * @desc Returns all of the details about the specified managed instance + * group. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the managed instance group to return. + * instanceGroupManager: 'my-instance-group-manager', // TODO: Update + * placeholder value. + * + * auth: authClient, + * }; + * + * compute.regionInstanceGroupManagers.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 compute.regionInstanceGroupManagers.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager Name of the managed instance group to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @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?: Params$Resource$Regioninstancegroupmanagers$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Regioninstancegroupmanagers$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Regioninstancegroupmanagers$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.regionInstanceGroupManagers.insert + * @desc Creates a managed instance group using the information that you + * specify in the request. After the group is created, it schedules an + * action to create instances in the group using the specified instance + * template. This operation is marked as DONE when the group is created even + * if the instances in the group have not yet been created. You must + * separately verify the status of the individual instances with the + * listmanagedinstances method. A regional managed instance group can + * contain up to 2000 instances. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.regionInstanceGroupManagers.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 compute.regionInstanceGroupManagers.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().InstanceGroupManager} 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?: Params$Resource$Regioninstancegroupmanagers$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Regioninstancegroupmanagers$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Regioninstancegroupmanagers$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.regionInstanceGroupManagers.list + * @desc Retrieves the list of managed instance groups that are contained + * within the specified region. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // 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; + * compute.regionInstanceGroupManagers.list(request, handlePage); + * } + * }; + * + * compute.regionInstanceGroupManagers.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 compute.regionInstanceGroupManagers.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @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?: Params$Resource$Regioninstancegroupmanagers$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Regioninstancegroupmanagers$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Regioninstancegroupmanagers$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.regionInstanceGroupManagers.listManagedInstances + * @desc Lists the instances in the managed instance group and instances + * that are scheduled to be created. The list includes any current actions + * that the group has scheduled for its instances. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // The name of the managed instance group. + * instanceGroupManager: 'my-instance-group-manager', // TODO: Update + * placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var managedInstancesPage = response['managedInstances']; + * if (!managedInstancesPage) { + * return; + * } + * for (var i = 0; i < managedInstancesPage.length; i++) { + * // TODO: Change code below to process each resource in + * `managedInstancesPage`: + * console.log(JSON.stringify(managedInstancesPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * compute.regionInstanceGroupManagers.listManagedInstances(request, + * handlePage); + * } + * }; + * + * compute.regionInstanceGroupManagers.listManagedInstances(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 compute.regionInstanceGroupManagers.listManagedInstances + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {string} params.instanceGroupManager The name of the managed instance group. + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.order_by Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @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 + */ + listManagedInstances(params?: Params$Resource$Regioninstancegroupmanagers$Listmanagedinstances, options?: MethodOptions): AxiosPromise; + listManagedInstances(params: Params$Resource$Regioninstancegroupmanagers$Listmanagedinstances, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listManagedInstances(params: Params$Resource$Regioninstancegroupmanagers$Listmanagedinstances, callback: BodyResponseCallback): void; + listManagedInstances(callback: BodyResponseCallback): void; + /** + * compute.regionInstanceGroupManagers.patch + * @desc Updates a managed instance group using the information that you + * specify in the request. This operation is marked as DONE when the group + * is patched even if the instances in the group are still in the process of + * being patched. You must separately verify the status of the individual + * instances with the listmanagedinstances method. This method supports + * PATCH semantics and uses the JSON merge patch format and processing + * rules. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // The name of the instance group manager. + * instanceGroupManager: 'my-instance-group-manager', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * compute.regionInstanceGroupManagers.patch(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 compute.regionInstanceGroupManagers.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager The name of the instance group manager. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().InstanceGroupManager} 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 + */ + patch(params?: Params$Resource$Regioninstancegroupmanagers$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Regioninstancegroupmanagers$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Regioninstancegroupmanagers$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * compute.regionInstanceGroupManagers.recreateInstances + * @desc Schedules a group action to recreate the specified instances in the + * managed instance group. The instances are deleted and recreated using the + * current instance template for the managed instance group. This operation + * is marked as DONE when the action is scheduled even if the instances have + * not yet been recreated. You must separately verify the status of the + * recreating action with the listmanagedinstances method. If the group is + * part of a backend service that has enabled connection draining, it can + * take up to 60 seconds after the connection draining duration has elapsed + * before the VM instance is removed or deleted. You can specify a maximum + * of 1000 instances with this method per request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the managed instance group. + * instanceGroupManager: 'my-instance-group-manager', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.regionInstanceGroupManagers.recreateInstances(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 compute.regionInstanceGroupManagers.recreateInstances + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager Name of the managed instance group. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().RegionInstanceGroupManagersRecreateRequest} 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 + */ + recreateInstances(params?: Params$Resource$Regioninstancegroupmanagers$Recreateinstances, options?: MethodOptions): AxiosPromise; + recreateInstances(params: Params$Resource$Regioninstancegroupmanagers$Recreateinstances, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + recreateInstances(params: Params$Resource$Regioninstancegroupmanagers$Recreateinstances, callback: BodyResponseCallback): void; + recreateInstances(callback: BodyResponseCallback): void; + /** + * compute.regionInstanceGroupManagers.resize + * @desc Changes the intended size for the managed instance group. If you + * increase the size, the group schedules actions to create new instances + * using the current instance template. If you decrease the size, the group + * schedules delete actions on one or more instances. The resize operation + * is marked DONE when the resize actions are scheduled even if the group + * has not yet added or deleted any instances. You must separately verify + * the status of the creating or deleting actions with the + * listmanagedinstances method. If the group is part of a backend service + * that has enabled connection draining, it can take up to 60 seconds after + * the connection draining duration has elapsed before the VM instance is + * removed or deleted. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the managed instance group. + * instanceGroupManager: 'my-instance-group-manager', // TODO: Update + * placeholder value. + * + * // Number of instances that should exist in this instance group + * manager. size: 0, // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.regionInstanceGroupManagers.resize(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 compute.regionInstanceGroupManagers.resize + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager Name of the managed instance group. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {integer} params.size Number of instances that should exist in this instance group manager. + * @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 + */ + resize(params?: Params$Resource$Regioninstancegroupmanagers$Resize, options?: MethodOptions): AxiosPromise; + resize(params: Params$Resource$Regioninstancegroupmanagers$Resize, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + resize(params: Params$Resource$Regioninstancegroupmanagers$Resize, callback: BodyResponseCallback): void; + resize(callback: BodyResponseCallback): void; + /** + * compute.regionInstanceGroupManagers.setAutoHealingPolicies + * @desc Modifies the autohealing policy for the instances in this managed + * instance group. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the managed instance group. + * instanceGroupManager: 'my-instance-group-manager', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.regionInstanceGroupManagers.setAutoHealingPolicies(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 compute.regionInstanceGroupManagers.setAutoHealingPolicies + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager Name of the managed instance group. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().RegionInstanceGroupManagersSetAutoHealingRequest} 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 + */ + setAutoHealingPolicies(params?: Params$Resource$Regioninstancegroupmanagers$Setautohealingpolicies, options?: MethodOptions): AxiosPromise; + setAutoHealingPolicies(params: Params$Resource$Regioninstancegroupmanagers$Setautohealingpolicies, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setAutoHealingPolicies(params: Params$Resource$Regioninstancegroupmanagers$Setautohealingpolicies, callback: BodyResponseCallback): void; + setAutoHealingPolicies(callback: BodyResponseCallback): void; + /** + * compute.regionInstanceGroupManagers.setInstanceTemplate + * @desc Sets the instance template to use when creating new instances or + * recreating instances in this group. Existing instances are not affected. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // The name of the managed instance group. + * instanceGroupManager: 'my-instance-group-manager', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.regionInstanceGroupManagers.setInstanceTemplate(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 compute.regionInstanceGroupManagers.setInstanceTemplate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager The name of the managed instance group. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().RegionInstanceGroupManagersSetTemplateRequest} 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 + */ + setInstanceTemplate(params?: Params$Resource$Regioninstancegroupmanagers$Setinstancetemplate, options?: MethodOptions): AxiosPromise; + setInstanceTemplate(params: Params$Resource$Regioninstancegroupmanagers$Setinstancetemplate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setInstanceTemplate(params: Params$Resource$Regioninstancegroupmanagers$Setinstancetemplate, callback: BodyResponseCallback): void; + setInstanceTemplate(callback: BodyResponseCallback): void; + /** + * compute.regionInstanceGroupManagers.setTargetPools + * @desc Modifies the target pools to which all new instances in this group + * are assigned. Existing instances in the group are not affected. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the managed instance group. + * instanceGroupManager: 'my-instance-group-manager', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.regionInstanceGroupManagers.setTargetPools(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 compute.regionInstanceGroupManagers.setTargetPools + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager Name of the managed instance group. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().RegionInstanceGroupManagersSetTargetPoolsRequest} 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 + */ + setTargetPools(params?: Params$Resource$Regioninstancegroupmanagers$Settargetpools, options?: MethodOptions): AxiosPromise; + setTargetPools(params: Params$Resource$Regioninstancegroupmanagers$Settargetpools, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setTargetPools(params: Params$Resource$Regioninstancegroupmanagers$Settargetpools, callback: BodyResponseCallback): void; + setTargetPools(callback: BodyResponseCallback): void; + /** + * compute.regionInstanceGroupManagers.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the resource for this request. + * resource_: 'my-resource', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.regionInstanceGroupManagers.testIamPermissions(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 compute.regionInstanceGroupManagers.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Regioninstancegroupmanagers$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Regioninstancegroupmanagers$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Regioninstancegroupmanagers$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + /** + * compute.regionInstanceGroupManagers.update + * @desc Updates a managed instance group using the information that you + * specify in the request. This operation is marked as DONE when the group + * is updated even if the instances in the group have not yet been updated. + * You must separately verify the status of the individual instances with + * the listmanagedinstances method. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // The name of the instance group manager. + * instanceGroupManager: 'my-instance-group-manager', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * compute.regionInstanceGroupManagers.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 compute.regionInstanceGroupManagers.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager The name of the instance group manager. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().InstanceGroupManager} 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?: Params$Resource$Regioninstancegroupmanagers$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Regioninstancegroupmanagers$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Regioninstancegroupmanagers$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Regioninstancegroupmanagers$Abandoninstances { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RegionInstanceGroupManagersAbandonInstancesRequest; + } + interface Params$Resource$Regioninstancegroupmanagers$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the managed instance group to delete. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Regioninstancegroupmanagers$Deleteinstances { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RegionInstanceGroupManagersDeleteInstancesRequest; + } + interface Params$Resource$Regioninstancegroupmanagers$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the managed instance group to return. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + } + interface Params$Resource$Regioninstancegroupmanagers$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManager; + } + interface Params$Resource$Regioninstancegroupmanagers$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + } + interface Params$Resource$Regioninstancegroupmanagers$Listmanagedinstances { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + order_by?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + } + interface Params$Resource$Regioninstancegroupmanagers$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the instance group manager. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManager; + } + interface Params$Resource$Regioninstancegroupmanagers$Recreateinstances { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RegionInstanceGroupManagersRecreateRequest; + } + interface Params$Resource$Regioninstancegroupmanagers$Resize { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Number of instances that should exist in this instance group manager. + */ + size?: number; + } + interface Params$Resource$Regioninstancegroupmanagers$Setautohealingpolicies { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RegionInstanceGroupManagersSetAutoHealingRequest; + } + interface Params$Resource$Regioninstancegroupmanagers$Setinstancetemplate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RegionInstanceGroupManagersSetTemplateRequest; + } + interface Params$Resource$Regioninstancegroupmanagers$Settargetpools { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RegionInstanceGroupManagersSetTargetPoolsRequest; + } + interface Params$Resource$Regioninstancegroupmanagers$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + interface Params$Resource$Regioninstancegroupmanagers$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the instance group manager. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManager; + } + class Resource$Regioninstancegroups { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.regionInstanceGroups.get + * @desc Returns the specified instance group resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the instance group resource to return. + * instanceGroup: 'my-instance-group', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * compute.regionInstanceGroups.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 compute.regionInstanceGroups.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroup Name of the instance group resource to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @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?: Params$Resource$Regioninstancegroups$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Regioninstancegroups$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Regioninstancegroups$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.regionInstanceGroups.list + * @desc Retrieves the list of instance group resources contained within the + * specified region. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // 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; + * compute.regionInstanceGroups.list(request, handlePage); + * } + * }; + * + * compute.regionInstanceGroups.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 compute.regionInstanceGroups.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @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?: Params$Resource$Regioninstancegroups$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Regioninstancegroups$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Regioninstancegroups$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.regionInstanceGroups.listInstances + * @desc Lists the instances in the specified instance group and displays + * information about the named ports. Depending on the specified options, + * this method can list all instances or only the instances that are + * running. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the regional instance group for which we want to list the + * instances. instanceGroup: 'my-instance-group', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * 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; + * compute.regionInstanceGroups.listInstances(request, handlePage); + * } + * }; + * + * compute.regionInstanceGroups.listInstances(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 compute.regionInstanceGroups.listInstances + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {string} params.instanceGroup Name of the regional instance group for which we want to list the instances. + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {().RegionInstanceGroupsListInstancesRequest} 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 + */ + listInstances(params?: Params$Resource$Regioninstancegroups$Listinstances, options?: MethodOptions): AxiosPromise; + listInstances(params: Params$Resource$Regioninstancegroups$Listinstances, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listInstances(params: Params$Resource$Regioninstancegroups$Listinstances, callback: BodyResponseCallback): void; + listInstances(callback: BodyResponseCallback): void; + /** + * compute.regionInstanceGroups.setNamedPorts + * @desc Sets the named ports for the specified regional instance group. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // The name of the regional instance group where the named ports are + * updated. instanceGroup: 'my-instance-group', // TODO: Update placeholder + * value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.regionInstanceGroups.setNamedPorts(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 compute.regionInstanceGroups.setNamedPorts + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroup The name of the regional instance group where the named ports are updated. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().RegionInstanceGroupsSetNamedPortsRequest} 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 + */ + setNamedPorts(params?: Params$Resource$Regioninstancegroups$Setnamedports, options?: MethodOptions): AxiosPromise; + setNamedPorts(params: Params$Resource$Regioninstancegroups$Setnamedports, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setNamedPorts(params: Params$Resource$Regioninstancegroups$Setnamedports, callback: BodyResponseCallback): void; + setNamedPorts(callback: BodyResponseCallback): void; + /** + * compute.regionInstanceGroups.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the resource for this request. + * resource_: 'my-resource', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.regionInstanceGroups.testIamPermissions(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 compute.regionInstanceGroups.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Regioninstancegroups$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Regioninstancegroups$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Regioninstancegroups$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Regioninstancegroups$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the instance group resource to return. + */ + instanceGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + } + interface Params$Resource$Regioninstancegroups$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + } + interface Params$Resource$Regioninstancegroups$Listinstances { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * Name of the regional instance group for which we want to list the + * instances. + */ + instanceGroup?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RegionInstanceGroupsListInstancesRequest; + } + interface Params$Resource$Regioninstancegroups$Setnamedports { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the regional instance group where the named ports are + * updated. + */ + instanceGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RegionInstanceGroupsSetNamedPortsRequest; + } + interface Params$Resource$Regioninstancegroups$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Regionoperations { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.regionOperations.delete + * @desc Deletes the specified region-specific Operations resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the Operations resource to delete. + * operation: 'my-operation', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.regionOperations.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 compute.regionOperations.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.operation Name of the Operations resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @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?: Params$Resource$Regionoperations$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Regionoperations$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Regionoperations$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.regionOperations.get + * @desc Retrieves the specified region-specific Operations resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the Operations resource to return. + * operation: 'my-operation', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.regionOperations.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 compute.regionOperations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.operation Name of the Operations resource to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @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?: Params$Resource$Regionoperations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Regionoperations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Regionoperations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.regionOperations.list + * @desc Retrieves a list of Operation resources contained within the + * specified region. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // 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; + * compute.regionOperations.list(request, handlePage); + * } + * }; + * + * compute.regionOperations.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 compute.regionOperations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @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?: Params$Resource$Regionoperations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Regionoperations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Regionoperations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Regionoperations$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the Operations resource to delete. + */ + operation?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + } + interface Params$Resource$Regionoperations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the Operations resource to return. + */ + operation?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + } + interface Params$Resource$Regionoperations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + } + class Resource$Regions { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.regions.get + * @desc Returns the specified Region resource. Gets a list of available + * regions by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region resource to return. + * region: 'my-region', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.regions.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 compute.regions.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region resource to return. + * @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?: Params$Resource$Regions$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Regions$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Regions$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.regions.list + * @desc Retrieves the list of region resources available to the specified + * project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * compute.regions.list(request, handlePage); + * } + * }; + * + * compute.regions.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 compute.regions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Regions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Regions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Regions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Regions$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region resource to return. + */ + region?: string; + } + interface Params$Resource$Regions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + class Resource$Resourcepolicies { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.resourcePolicies.aggregatedList + * @desc Retrieves an aggregated list of resource policies. + * @alias compute.resourcePolicies.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Resourcepolicies$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Resourcepolicies$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Resourcepolicies$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.resourcePolicies.delete + * @desc Deletes the specified resource policy. + * @alias compute.resourcePolicies.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.resourcePolicy Name of the resource policy to delete. + * @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?: Params$Resource$Resourcepolicies$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Resourcepolicies$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Resourcepolicies$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.resourcePolicies.get + * @desc Retrieves all information of the specified resource policy. + * @alias compute.resourcePolicies.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string} params.resourcePolicy Name of the resource policy to retrieve. + * @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?: Params$Resource$Resourcepolicies$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Resourcepolicies$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Resourcepolicies$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.resourcePolicies.insert + * @desc Creates a new resource policy. + * @alias compute.resourcePolicies.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().ResourcePolicy} 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?: Params$Resource$Resourcepolicies$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Resourcepolicies$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Resourcepolicies$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.resourcePolicies.list + * @desc A list all the resource policies that have been configured for the + * specified project in specified region. + * @alias compute.resourcePolicies.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @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?: Params$Resource$Resourcepolicies$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Resourcepolicies$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Resourcepolicies$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.resourcePolicies.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.resourcePolicies.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Resourcepolicies$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Resourcepolicies$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Resourcepolicies$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Resourcepolicies$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Resourcepolicies$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the resource policy to delete. + */ + resourcePolicy?: string; + } + interface Params$Resource$Resourcepolicies$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * Name of the resource policy to retrieve. + */ + resourcePolicy?: string; + } + interface Params$Resource$Resourcepolicies$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ResourcePolicy; + } + interface Params$Resource$Resourcepolicies$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + } + interface Params$Resource$Resourcepolicies$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Routers { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.routers.aggregatedList + * @desc Retrieves an aggregated list of routers. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * } + * Object.keys(itemsPage).forEach(function(name) { + * // TODO: Change code below to process each `name` property: + * console.log(name + ': ' + JSON.stringify(itemsPage[name], null, + * 2)); + * }); + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * compute.routers.aggregatedList(request, handlePage); + * } + * }; + * + * compute.routers.aggregatedList(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 compute.routers.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Routers$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Routers$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Routers$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.routers.delete + * @desc Deletes the specified Router resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the Router resource to delete. + * router: 'my-router', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.routers.delete(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 compute.routers.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.router Name of the Router resource to delete. + * @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?: Params$Resource$Routers$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Routers$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Routers$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.routers.get + * @desc Returns the specified Router resource. Gets a list of available + * routers by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the Router resource to return. + * router: 'my-router', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.routers.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 compute.routers.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string} params.router Name of the Router resource to return. + * @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?: Params$Resource$Routers$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Routers$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Routers$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.routers.getNatMappingInfo + * @desc Retrieves runtime Nat mapping information of VM endpoints. + * @alias compute.routers.getNatMappingInfo + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string} params.router Name of the Router resource to query for Nat Mapping information of VM endpoints. + * @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 + */ + getNatMappingInfo(params?: Params$Resource$Routers$Getnatmappinginfo, options?: MethodOptions): AxiosPromise; + getNatMappingInfo(params: Params$Resource$Routers$Getnatmappinginfo, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getNatMappingInfo(params: Params$Resource$Routers$Getnatmappinginfo, callback: BodyResponseCallback): void; + getNatMappingInfo(callback: BodyResponseCallback): void; + /** + * compute.routers.getRouterStatus + * @desc Retrieves runtime information of the specified router. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the Router resource to query. + * router: 'my-router', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.routers.getRouterStatus(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 compute.routers.getRouterStatus + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string} params.router Name of the Router resource to query. + * @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 + */ + getRouterStatus(params?: Params$Resource$Routers$Getrouterstatus, options?: MethodOptions): AxiosPromise; + getRouterStatus(params: Params$Resource$Routers$Getrouterstatus, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getRouterStatus(params: Params$Resource$Routers$Getrouterstatus, callback: BodyResponseCallback): void; + getRouterStatus(callback: BodyResponseCallback): void; + /** + * compute.routers.insert + * @desc Creates a Router resource in the specified project and region using + * the data included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.routers.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 compute.routers.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Router} 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?: Params$Resource$Routers$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Routers$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Routers$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.routers.list + * @desc Retrieves a list of Router resources available to the specified + * project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // 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; + * compute.routers.list(request, handlePage); + * } + * }; + * + * compute.routers.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 compute.routers.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @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?: Params$Resource$Routers$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Routers$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Routers$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.routers.patch + * @desc Patches the specified Router resource with the data included in the + * request. This method supports PATCH semantics and uses JSON merge patch + * format and processing rules. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the Router resource to patch. + * router: 'my-router', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * compute.routers.patch(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 compute.routers.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.router Name of the Router resource to patch. + * @param {().Router} 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 + */ + patch(params?: Params$Resource$Routers$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Routers$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Routers$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * compute.routers.preview + * @desc Preview fields auto-generated during router create and update + * operations. Calling this method does NOT create or update the router. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the Router resource to query. + * router: 'my-router', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.routers.preview(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 compute.routers.preview + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string} params.router Name of the Router resource to query. + * @param {().Router} 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 + */ + preview(params?: Params$Resource$Routers$Preview, options?: MethodOptions): AxiosPromise; + preview(params: Params$Resource$Routers$Preview, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + preview(params: Params$Resource$Routers$Preview, callback: BodyResponseCallback): void; + preview(callback: BodyResponseCallback): void; + /** + * compute.routers.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the resource for this request. + * resource_: 'my-resource', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.routers.testIamPermissions(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 compute.routers.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Routers$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Routers$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Routers$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + /** + * compute.routers.update + * @desc Updates the specified Router resource with the data included in the + * request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the Router resource to update. + * router: 'my-router', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * compute.routers.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 compute.routers.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.router Name of the Router resource to update. + * @param {().Router} 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?: Params$Resource$Routers$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Routers$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Routers$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Routers$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Routers$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the Router resource to delete. + */ + router?: string; + } + interface Params$Resource$Routers$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * Name of the Router resource to return. + */ + router?: string; + } + interface Params$Resource$Routers$Getnatmappinginfo { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * Name of the Router resource to query for Nat Mapping information of VM + * endpoints. + */ + router?: string; + } + interface Params$Resource$Routers$Getrouterstatus { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * Name of the Router resource to query. + */ + router?: string; + } + interface Params$Resource$Routers$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Router; + } + interface Params$Resource$Routers$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + } + interface Params$Resource$Routers$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the Router resource to patch. + */ + router?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Router; + } + interface Params$Resource$Routers$Preview { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * Name of the Router resource to query. + */ + router?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Router; + } + interface Params$Resource$Routers$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + interface Params$Resource$Routers$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the Router resource to update. + */ + router?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Router; + } + class Resource$Routes { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.routes.delete + * @desc Deletes the specified Route resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the Route resource to delete. + * route: 'my-route', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.routes.delete(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 compute.routes.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.route Name of the Route resource to delete. + * @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?: Params$Resource$Routes$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Routes$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Routes$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.routes.get + * @desc Returns the specified Route resource. Gets a list of available + * routes by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the Route resource to return. + * route: 'my-route', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.routes.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 compute.routes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.route Name of the Route resource to return. + * @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?: Params$Resource$Routes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Routes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Routes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.routes.insert + * @desc Creates a Route resource in the specified project using the data + * included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.routes.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 compute.routes.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Route} 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?: Params$Resource$Routes$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Routes$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Routes$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.routes.list + * @desc Retrieves the list of Route resources available to the specified + * project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * compute.routes.list(request, handlePage); + * } + * }; + * + * compute.routes.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 compute.routes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Routes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Routes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Routes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.routes.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the resource for this request. + * resource_: 'my-resource', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.routes.testIamPermissions(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 compute.routes.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Routes$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Routes$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Routes$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Routes$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the Route resource to delete. + */ + route?: string; + } + interface Params$Resource$Routes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the Route resource to return. + */ + route?: string; + } + interface Params$Resource$Routes$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Route; + } + interface Params$Resource$Routes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Routes$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Securitypolicies { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.securityPolicies.addRule + * @desc Inserts a rule into a security policy. + * @alias compute.securityPolicies.addRule + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.securityPolicy Name of the security policy to update. + * @param {boolean=} params.validateOnly If true, the request will not be committed. + * @param {().SecurityPolicyRule} 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 + */ + addRule(params?: Params$Resource$Securitypolicies$Addrule, options?: MethodOptions): AxiosPromise; + addRule(params: Params$Resource$Securitypolicies$Addrule, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + addRule(params: Params$Resource$Securitypolicies$Addrule, callback: BodyResponseCallback): void; + addRule(callback: BodyResponseCallback): void; + /** + * compute.securityPolicies.delete + * @desc Deletes the specified policy. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the security policy to delete. + * securityPolicy: 'my-security-policy', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * compute.securityPolicies.delete(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 compute.securityPolicies.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.securityPolicy Name of the security policy to delete. + * @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?: Params$Resource$Securitypolicies$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Securitypolicies$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Securitypolicies$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.securityPolicies.get + * @desc List all of the ordered rules present in a single specified policy. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the security policy to get. + * securityPolicy: 'my-security-policy', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * compute.securityPolicies.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 compute.securityPolicies.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.securityPolicy Name of the security policy to get. + * @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?: Params$Resource$Securitypolicies$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Securitypolicies$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Securitypolicies$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.securityPolicies.getRule + * @desc Gets a rule at the specified priority. + * @alias compute.securityPolicies.getRule + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.priority The priority of the rule to get from the security policy. + * @param {string} params.project Project ID for this request. + * @param {string} params.securityPolicy Name of the security policy to which the queried rule belongs. + * @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 + */ + getRule(params?: Params$Resource$Securitypolicies$Getrule, options?: MethodOptions): AxiosPromise; + getRule(params: Params$Resource$Securitypolicies$Getrule, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getRule(params: Params$Resource$Securitypolicies$Getrule, callback: BodyResponseCallback): void; + getRule(callback: BodyResponseCallback): void; + /** + * compute.securityPolicies.insert + * @desc Creates a new policy in the specified project using the data + * included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.securityPolicies.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 compute.securityPolicies.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {boolean=} params.validateOnly If true, the request will not be committed. + * @param {().SecurityPolicy} 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?: Params$Resource$Securitypolicies$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Securitypolicies$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Securitypolicies$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.securityPolicies.list + * @desc List all the policies that have been configured for the specified + * project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * compute.securityPolicies.list(request, handlePage); + * } + * }; + * + * compute.securityPolicies.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 compute.securityPolicies.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Securitypolicies$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Securitypolicies$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Securitypolicies$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.securityPolicies.listPreconfiguredExpressionSets + * @desc Gets the current list of preconfigured Web Application Firewall + * (WAF) expressions. + * @alias compute.securityPolicies.listPreconfiguredExpressionSets + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + listPreconfiguredExpressionSets(params?: Params$Resource$Securitypolicies$Listpreconfiguredexpressionsets, options?: MethodOptions): AxiosPromise; + listPreconfiguredExpressionSets(params: Params$Resource$Securitypolicies$Listpreconfiguredexpressionsets, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listPreconfiguredExpressionSets(params: Params$Resource$Securitypolicies$Listpreconfiguredexpressionsets, callback: BodyResponseCallback): void; + listPreconfiguredExpressionSets(callback: BodyResponseCallback): void; + /** + * compute.securityPolicies.patch + * @desc Patches the specified policy with the data included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the security policy to update. + * securityPolicy: 'my-security-policy', // TODO: Update placeholder + * value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * compute.securityPolicies.patch(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 compute.securityPolicies.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.securityPolicy Name of the security policy to update. + * @param {().SecurityPolicy} 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 + */ + patch(params?: Params$Resource$Securitypolicies$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Securitypolicies$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Securitypolicies$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * compute.securityPolicies.patchRule + * @desc Patches a rule at the specified priority. + * @alias compute.securityPolicies.patchRule + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.priority The priority of the rule to patch. + * @param {string} params.project Project ID for this request. + * @param {string} params.securityPolicy Name of the security policy to update. + * @param {boolean=} params.validateOnly If true, the request will not be committed. + * @param {().SecurityPolicyRule} 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 + */ + patchRule(params?: Params$Resource$Securitypolicies$Patchrule, options?: MethodOptions): AxiosPromise; + patchRule(params: Params$Resource$Securitypolicies$Patchrule, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patchRule(params: Params$Resource$Securitypolicies$Patchrule, callback: BodyResponseCallback): void; + patchRule(callback: BodyResponseCallback): void; + /** + * compute.securityPolicies.removeRule + * @desc Deletes a rule at the specified priority. + * @alias compute.securityPolicies.removeRule + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.priority The priority of the rule to remove from the security policy. + * @param {string} params.project Project ID for this request. + * @param {string} params.securityPolicy Name of the security policy to update. + * @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 + */ + removeRule(params?: Params$Resource$Securitypolicies$Removerule, options?: MethodOptions): AxiosPromise; + removeRule(params: Params$Resource$Securitypolicies$Removerule, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + removeRule(params: Params$Resource$Securitypolicies$Removerule, callback: BodyResponseCallback): void; + removeRule(callback: BodyResponseCallback): void; + /** + * compute.securityPolicies.setLabels + * @desc Sets the labels on a security policy. To learn more about labels, + * read the Labeling Resources documentation. + * @alias compute.securityPolicies.setLabels + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().GlobalSetLabelsRequest} 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 + */ + setLabels(params?: Params$Resource$Securitypolicies$Setlabels, options?: MethodOptions): AxiosPromise; + setLabels(params: Params$Resource$Securitypolicies$Setlabels, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setLabels(params: Params$Resource$Securitypolicies$Setlabels, callback: BodyResponseCallback): void; + setLabels(callback: BodyResponseCallback): void; + /** + * compute.securityPolicies.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the resource for this request. + * resource_: 'my-resource', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.securityPolicies.testIamPermissions(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 compute.securityPolicies.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Securitypolicies$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Securitypolicies$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Securitypolicies$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Securitypolicies$Addrule { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the security policy to update. + */ + securityPolicy?: string; + /** + * If true, the request will not be committed. + */ + validateOnly?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$SecurityPolicyRule; + } + interface Params$Resource$Securitypolicies$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the security policy to delete. + */ + securityPolicy?: string; + } + interface Params$Resource$Securitypolicies$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the security policy to get. + */ + securityPolicy?: string; + } + interface Params$Resource$Securitypolicies$Getrule { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The priority of the rule to get from the security policy. + */ + priority?: number; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the security policy to which the queried rule belongs. + */ + securityPolicy?: string; + } + interface Params$Resource$Securitypolicies$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * If true, the request will not be committed. + */ + validateOnly?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$SecurityPolicy; + } + interface Params$Resource$Securitypolicies$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Securitypolicies$Listpreconfiguredexpressionsets { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Securitypolicies$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the security policy to update. + */ + securityPolicy?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SecurityPolicy; + } + interface Params$Resource$Securitypolicies$Patchrule { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The priority of the rule to patch. + */ + priority?: number; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the security policy to update. + */ + securityPolicy?: string; + /** + * If true, the request will not be committed. + */ + validateOnly?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$SecurityPolicyRule; + } + interface Params$Resource$Securitypolicies$Removerule { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The priority of the rule to remove from the security policy. + */ + priority?: number; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the security policy to update. + */ + securityPolicy?: string; + } + interface Params$Resource$Securitypolicies$Setlabels { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GlobalSetLabelsRequest; + } + interface Params$Resource$Securitypolicies$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Snapshots { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.snapshots.delete + * @desc Deletes the specified Snapshot resource. Keep in mind that deleting + * a single snapshot might not necessarily delete all the data on that + * snapshot. If any data on the snapshot that is marked for deletion is + * needed for subsequent snapshots, the data will be moved to the next + * corresponding snapshot. For more information, see Deleting snaphots. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the Snapshot resource to delete. + * snapshot: 'my-snapshot', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.snapshots.delete(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 compute.snapshots.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.snapshot Name of the Snapshot resource to delete. + * @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?: Params$Resource$Snapshots$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Snapshots$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Snapshots$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.snapshots.get + * @desc Returns the specified Snapshot resource. Gets a list of available + * snapshots by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the Snapshot resource to return. + * snapshot: 'my-snapshot', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.snapshots.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 compute.snapshots.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.snapshot Name of the Snapshot resource to return. + * @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?: Params$Resource$Snapshots$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Snapshots$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Snapshots$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.snapshots.getIamPolicy + * @desc Gets the access control policy for a resource. May be empty if no + * such policy or resource exists. + * @alias compute.snapshots.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @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 + */ + getIamPolicy(params?: Params$Resource$Snapshots$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Snapshots$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Snapshots$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * compute.snapshots.list + * @desc Retrieves the list of Snapshot resources contained within the + * specified project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * compute.snapshots.list(request, handlePage); + * } + * }; + * + * compute.snapshots.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 compute.snapshots.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Snapshots$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Snapshots$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Snapshots$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.snapshots.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @alias compute.snapshots.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().GlobalSetPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Snapshots$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Snapshots$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Snapshots$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * compute.snapshots.setLabels + * @desc Sets the labels on a snapshot. To learn more about labels, read the + * Labeling Resources documentation. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the resource for this request. + * resource_: 'my-resource', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.snapshots.setLabels(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 compute.snapshots.setLabels + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().GlobalSetLabelsRequest} 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 + */ + setLabels(params?: Params$Resource$Snapshots$Setlabels, options?: MethodOptions): AxiosPromise; + setLabels(params: Params$Resource$Snapshots$Setlabels, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setLabels(params: Params$Resource$Snapshots$Setlabels, callback: BodyResponseCallback): void; + setLabels(callback: BodyResponseCallback): void; + /** + * compute.snapshots.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the resource for this request. + * resource_: 'my-resource', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.snapshots.testIamPermissions(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 compute.snapshots.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Snapshots$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Snapshots$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Snapshots$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Snapshots$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the Snapshot resource to delete. + */ + snapshot?: string; + } + interface Params$Resource$Snapshots$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the Snapshot resource to return. + */ + snapshot?: string; + } + interface Params$Resource$Snapshots$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + } + interface Params$Resource$Snapshots$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Snapshots$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GlobalSetPolicyRequest; + } + interface Params$Resource$Snapshots$Setlabels { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GlobalSetLabelsRequest; + } + interface Params$Resource$Snapshots$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Sslcertificates { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.sslCertificates.delete + * @desc Deletes the specified SslCertificate resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the SslCertificate resource to delete. + * sslCertificate: 'my-ssl-certificate', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * compute.sslCertificates.delete(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 compute.sslCertificates.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.sslCertificate Name of the SslCertificate resource to delete. + * @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?: Params$Resource$Sslcertificates$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Sslcertificates$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Sslcertificates$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.sslCertificates.get + * @desc Returns the specified SslCertificate resource. Gets a list of + * available SSL certificates by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the SslCertificate resource to return. + * sslCertificate: 'my-ssl-certificate', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * compute.sslCertificates.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 compute.sslCertificates.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.sslCertificate Name of the SslCertificate resource to return. + * @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?: Params$Resource$Sslcertificates$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Sslcertificates$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Sslcertificates$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.sslCertificates.insert + * @desc Creates a SslCertificate resource in the specified project using + * the data included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.sslCertificates.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 compute.sslCertificates.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().SslCertificate} 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?: Params$Resource$Sslcertificates$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Sslcertificates$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Sslcertificates$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.sslCertificates.list + * @desc Retrieves the list of SslCertificate resources available to the + * specified project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * compute.sslCertificates.list(request, handlePage); + * } + * }; + * + * compute.sslCertificates.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 compute.sslCertificates.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Sslcertificates$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Sslcertificates$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Sslcertificates$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.sslCertificates.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the resource for this request. + * resource_: 'my-resource', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.sslCertificates.testIamPermissions(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 compute.sslCertificates.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Sslcertificates$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Sslcertificates$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Sslcertificates$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Sslcertificates$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the SslCertificate resource to delete. + */ + sslCertificate?: string; + } + interface Params$Resource$Sslcertificates$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the SslCertificate resource to return. + */ + sslCertificate?: string; + } + interface Params$Resource$Sslcertificates$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SslCertificate; + } + interface Params$Resource$Sslcertificates$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Sslcertificates$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Sslpolicies { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.sslPolicies.delete + * @desc Deletes the specified SSL policy. The SSL policy resource can be + * deleted only if it is not in use by any TargetHttpsProxy or + * TargetSslProxy resources. + * @alias compute.sslPolicies.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.sslPolicy Name of the SSL policy to delete. The name must be 1-63 characters long, and comply with RFC1035. + * @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?: Params$Resource$Sslpolicies$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Sslpolicies$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Sslpolicies$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.sslPolicies.get + * @desc Lists all of the ordered rules present in a single specified + * policy. + * @alias compute.sslPolicies.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.sslPolicy Name of the SSL policy to update. The name must be 1-63 characters long, and comply with RFC1035. + * @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?: Params$Resource$Sslpolicies$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Sslpolicies$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Sslpolicies$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.sslPolicies.insert + * @desc Returns the specified SSL policy resource. Gets a list of available + * SSL policies by making a list() request. + * @alias compute.sslPolicies.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().SslPolicy} 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?: Params$Resource$Sslpolicies$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Sslpolicies$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Sslpolicies$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.sslPolicies.list + * @desc Lists all the SSL policies that have been configured for the + * specified project. + * @alias compute.sslPolicies.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Sslpolicies$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Sslpolicies$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Sslpolicies$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.sslPolicies.listAvailableFeatures + * @desc Lists all features that can be specified in the SSL policy when + * using custom profile. + * @alias compute.sslPolicies.listAvailableFeatures + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + listAvailableFeatures(params?: Params$Resource$Sslpolicies$Listavailablefeatures, options?: MethodOptions): AxiosPromise; + listAvailableFeatures(params: Params$Resource$Sslpolicies$Listavailablefeatures, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listAvailableFeatures(params: Params$Resource$Sslpolicies$Listavailablefeatures, callback: BodyResponseCallback): void; + listAvailableFeatures(callback: BodyResponseCallback): void; + /** + * compute.sslPolicies.patch + * @desc Patches the specified SSL policy with the data included in the + * request. + * @alias compute.sslPolicies.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.sslPolicy Name of the SSL policy to update. The name must be 1-63 characters long, and comply with RFC1035. + * @param {().SslPolicy} 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 + */ + patch(params?: Params$Resource$Sslpolicies$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Sslpolicies$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Sslpolicies$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * compute.sslPolicies.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.sslPolicies.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Sslpolicies$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Sslpolicies$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Sslpolicies$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Sslpolicies$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the SSL policy to delete. The name must be 1-63 characters long, + * and comply with RFC1035. + */ + sslPolicy?: string; + } + interface Params$Resource$Sslpolicies$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the SSL policy to update. The name must be 1-63 characters long, + * and comply with RFC1035. + */ + sslPolicy?: string; + } + interface Params$Resource$Sslpolicies$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SslPolicy; + } + interface Params$Resource$Sslpolicies$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Sslpolicies$Listavailablefeatures { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Sslpolicies$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the SSL policy to update. The name must be 1-63 characters long, + * and comply with RFC1035. + */ + sslPolicy?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SslPolicy; + } + interface Params$Resource$Sslpolicies$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Subnetworks { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.subnetworks.aggregatedList + * @desc Retrieves an aggregated list of subnetworks. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * } + * Object.keys(itemsPage).forEach(function(name) { + * // TODO: Change code below to process each `name` property: + * console.log(name + ': ' + JSON.stringify(itemsPage[name], null, + * 2)); + * }); + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * compute.subnetworks.aggregatedList(request, handlePage); + * } + * }; + * + * compute.subnetworks.aggregatedList(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 compute.subnetworks.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Subnetworks$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Subnetworks$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Subnetworks$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.subnetworks.delete + * @desc Deletes the specified subnetwork. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the Subnetwork resource to delete. + * subnetwork: 'my-subnetwork', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.subnetworks.delete(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 compute.subnetworks.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.subnetwork Name of the Subnetwork resource to delete. + * @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?: Params$Resource$Subnetworks$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Subnetworks$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Subnetworks$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.subnetworks.expandIpCidrRange + * @desc Expands the IP CIDR range of the subnetwork to a specified value. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the Subnetwork resource to update. + * subnetwork: 'my-subnetwork', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.subnetworks.expandIpCidrRange(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 compute.subnetworks.expandIpCidrRange + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.subnetwork Name of the Subnetwork resource to update. + * @param {().SubnetworksExpandIpCidrRangeRequest} 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 + */ + expandIpCidrRange(params?: Params$Resource$Subnetworks$Expandipcidrrange, options?: MethodOptions): AxiosPromise; + expandIpCidrRange(params: Params$Resource$Subnetworks$Expandipcidrrange, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + expandIpCidrRange(params: Params$Resource$Subnetworks$Expandipcidrrange, callback: BodyResponseCallback): void; + expandIpCidrRange(callback: BodyResponseCallback): void; + /** + * compute.subnetworks.get + * @desc Returns the specified subnetwork. Gets a list of available + * subnetworks list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the Subnetwork resource to return. + * subnetwork: 'my-subnetwork', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.subnetworks.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 compute.subnetworks.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string} params.subnetwork Name of the Subnetwork resource to return. + * @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?: Params$Resource$Subnetworks$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Subnetworks$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Subnetworks$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.subnetworks.getIamPolicy + * @desc Gets the access control policy for a resource. May be empty if no + * such policy or resource exists. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the resource for this request. + * resource_: 'my-resource', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.subnetworks.getIamPolicy(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 compute.subnetworks.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @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 + */ + getIamPolicy(params?: Params$Resource$Subnetworks$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Subnetworks$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Subnetworks$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * compute.subnetworks.insert + * @desc Creates a subnetwork in the specified project using the data + * included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.subnetworks.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 compute.subnetworks.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Subnetwork} 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?: Params$Resource$Subnetworks$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Subnetworks$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Subnetworks$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.subnetworks.list + * @desc Retrieves a list of subnetworks available to the specified project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // 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; + * compute.subnetworks.list(request, handlePage); + * } + * }; + * + * compute.subnetworks.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 compute.subnetworks.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @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?: Params$Resource$Subnetworks$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Subnetworks$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Subnetworks$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.subnetworks.listUsable + * @desc Retrieves an aggregated list of usable subnetworks. + * @alias compute.subnetworks.listUsable + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + listUsable(params?: Params$Resource$Subnetworks$Listusable, options?: MethodOptions): AxiosPromise; + listUsable(params: Params$Resource$Subnetworks$Listusable, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listUsable(params: Params$Resource$Subnetworks$Listusable, callback: BodyResponseCallback): void; + listUsable(callback: BodyResponseCallback): void; + /** + * compute.subnetworks.patch + * @desc Patches the specified subnetwork with the data included in the + * request. Only the following fields within the subnetwork resource can be + * specified in the request: secondary_ip_range, + * allow_subnet_cidr_routes_overlap and role. It is also mandatory to + * specify the current fingeprint of the subnetwork resource being patched. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the Subnetwork resource to patch. + * subnetwork: 'my-subnetwork', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * compute.subnetworks.patch(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 compute.subnetworks.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.subnetwork Name of the Subnetwork resource to patch. + * @param {().Subnetwork} 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 + */ + patch(params?: Params$Resource$Subnetworks$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Subnetworks$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Subnetworks$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * compute.subnetworks.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the resource for this request. + * resource_: 'my-resource', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.subnetworks.setIamPolicy(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 compute.subnetworks.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().RegionSetPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Subnetworks$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Subnetworks$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Subnetworks$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * compute.subnetworks.setPrivateIpGoogleAccess + * @desc Set whether VMs in this subnet can access Google services without + * assigning external IP addresses through Private Google Access. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the Subnetwork resource. + * subnetwork: 'my-subnetwork', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.subnetworks.setPrivateIpGoogleAccess(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 compute.subnetworks.setPrivateIpGoogleAccess + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.subnetwork Name of the Subnetwork resource. + * @param {().SubnetworksSetPrivateIpGoogleAccessRequest} 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 + */ + setPrivateIpGoogleAccess(params?: Params$Resource$Subnetworks$Setprivateipgoogleaccess, options?: MethodOptions): AxiosPromise; + setPrivateIpGoogleAccess(params: Params$Resource$Subnetworks$Setprivateipgoogleaccess, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setPrivateIpGoogleAccess(params: Params$Resource$Subnetworks$Setprivateipgoogleaccess, callback: BodyResponseCallback): void; + setPrivateIpGoogleAccess(callback: BodyResponseCallback): void; + /** + * compute.subnetworks.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the resource for this request. + * resource_: 'my-resource', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.subnetworks.testIamPermissions(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 compute.subnetworks.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Subnetworks$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Subnetworks$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Subnetworks$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Subnetworks$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Subnetworks$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the Subnetwork resource to delete. + */ + subnetwork?: string; + } + interface Params$Resource$Subnetworks$Expandipcidrrange { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the Subnetwork resource to update. + */ + subnetwork?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SubnetworksExpandIpCidrRangeRequest; + } + interface Params$Resource$Subnetworks$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * Name of the Subnetwork resource to return. + */ + subnetwork?: string; + } + interface Params$Resource$Subnetworks$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + } + interface Params$Resource$Subnetworks$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Subnetwork; + } + interface Params$Resource$Subnetworks$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + } + interface Params$Resource$Subnetworks$Listusable { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Subnetworks$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the Subnetwork resource to patch. + */ + subnetwork?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Subnetwork; + } + interface Params$Resource$Subnetworks$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RegionSetPolicyRequest; + } + interface Params$Resource$Subnetworks$Setprivateipgoogleaccess { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the Subnetwork resource. + */ + subnetwork?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SubnetworksSetPrivateIpGoogleAccessRequest; + } + interface Params$Resource$Subnetworks$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Targethttpproxies { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.targetHttpProxies.delete + * @desc Deletes the specified TargetHttpProxy resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the TargetHttpProxy resource to delete. + * targetHttpProxy: 'my-target-http-proxy', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * compute.targetHttpProxies.delete(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 compute.targetHttpProxies.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetHttpProxy Name of the TargetHttpProxy resource to delete. + * @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?: Params$Resource$Targethttpproxies$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Targethttpproxies$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Targethttpproxies$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.targetHttpProxies.get + * @desc Returns the specified TargetHttpProxy resource. Gets a list of + * available target HTTP proxies by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the TargetHttpProxy resource to return. + * targetHttpProxy: 'my-target-http-proxy', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * compute.targetHttpProxies.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 compute.targetHttpProxies.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.targetHttpProxy Name of the TargetHttpProxy resource to return. + * @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?: Params$Resource$Targethttpproxies$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Targethttpproxies$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Targethttpproxies$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.targetHttpProxies.insert + * @desc Creates a TargetHttpProxy resource in the specified project using + * the data included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.targetHttpProxies.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 compute.targetHttpProxies.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().TargetHttpProxy} 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?: Params$Resource$Targethttpproxies$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Targethttpproxies$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Targethttpproxies$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.targetHttpProxies.list + * @desc Retrieves the list of TargetHttpProxy resources available to the + * specified project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * compute.targetHttpProxies.list(request, handlePage); + * } + * }; + * + * compute.targetHttpProxies.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 compute.targetHttpProxies.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Targethttpproxies$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Targethttpproxies$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Targethttpproxies$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.targetHttpProxies.setUrlMap + * @desc Changes the URL map for TargetHttpProxy. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the TargetHttpProxy to set a URL map for. + * targetHttpProxy: 'my-target-http-proxy', // TODO: Update placeholder + * value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.targetHttpProxies.setUrlMap(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 compute.targetHttpProxies.setUrlMap + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetHttpProxy Name of the TargetHttpProxy to set a URL map for. + * @param {().UrlMapReference} 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 + */ + setUrlMap(params?: Params$Resource$Targethttpproxies$Seturlmap, options?: MethodOptions): AxiosPromise; + setUrlMap(params: Params$Resource$Targethttpproxies$Seturlmap, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setUrlMap(params: Params$Resource$Targethttpproxies$Seturlmap, callback: BodyResponseCallback): void; + setUrlMap(callback: BodyResponseCallback): void; + /** + * compute.targetHttpProxies.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the resource for this request. + * resource_: 'my-resource', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.targetHttpProxies.testIamPermissions(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 compute.targetHttpProxies.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Targethttpproxies$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Targethttpproxies$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Targethttpproxies$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Targethttpproxies$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetHttpProxy resource to delete. + */ + targetHttpProxy?: string; + } + interface Params$Resource$Targethttpproxies$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the TargetHttpProxy resource to return. + */ + targetHttpProxy?: string; + } + interface Params$Resource$Targethttpproxies$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetHttpProxy; + } + interface Params$Resource$Targethttpproxies$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Targethttpproxies$Seturlmap { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetHttpProxy to set a URL map for. + */ + targetHttpProxy?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UrlMapReference; + } + interface Params$Resource$Targethttpproxies$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Targethttpsproxies { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.targetHttpsProxies.delete + * @desc Deletes the specified TargetHttpsProxy resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the TargetHttpsProxy resource to delete. + * targetHttpsProxy: 'my-target-https-proxy', // TODO: Update + * placeholder value. + * + * auth: authClient, + * }; + * + * compute.targetHttpsProxies.delete(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 compute.targetHttpsProxies.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetHttpsProxy Name of the TargetHttpsProxy resource to delete. + * @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?: Params$Resource$Targethttpsproxies$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Targethttpsproxies$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Targethttpsproxies$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.targetHttpsProxies.get + * @desc Returns the specified TargetHttpsProxy resource. Gets a list of + * available target HTTPS proxies by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the TargetHttpsProxy resource to return. + * targetHttpsProxy: 'my-target-https-proxy', // TODO: Update + * placeholder value. + * + * auth: authClient, + * }; + * + * compute.targetHttpsProxies.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 compute.targetHttpsProxies.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.targetHttpsProxy Name of the TargetHttpsProxy resource to return. + * @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?: Params$Resource$Targethttpsproxies$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Targethttpsproxies$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Targethttpsproxies$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.targetHttpsProxies.insert + * @desc Creates a TargetHttpsProxy resource in the specified project using + * the data included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.targetHttpsProxies.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 compute.targetHttpsProxies.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().TargetHttpsProxy} 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?: Params$Resource$Targethttpsproxies$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Targethttpsproxies$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Targethttpsproxies$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.targetHttpsProxies.list + * @desc Retrieves the list of TargetHttpsProxy resources available to the + * specified project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * compute.targetHttpsProxies.list(request, handlePage); + * } + * }; + * + * compute.targetHttpsProxies.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 compute.targetHttpsProxies.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Targethttpsproxies$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Targethttpsproxies$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Targethttpsproxies$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.targetHttpsProxies.setQuicOverride + * @desc Sets the QUIC override policy for TargetHttpsProxy. + * @alias compute.targetHttpsProxies.setQuicOverride + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetHttpsProxy Name of the TargetHttpsProxy resource to set the QUIC override policy for. The name should conform to RFC1035. + * @param {().TargetHttpsProxiesSetQuicOverrideRequest} 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 + */ + setQuicOverride(params?: Params$Resource$Targethttpsproxies$Setquicoverride, options?: MethodOptions): AxiosPromise; + setQuicOverride(params: Params$Resource$Targethttpsproxies$Setquicoverride, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setQuicOverride(params: Params$Resource$Targethttpsproxies$Setquicoverride, callback: BodyResponseCallback): void; + setQuicOverride(callback: BodyResponseCallback): void; + /** + * compute.targetHttpsProxies.setSslCertificates + * @desc Replaces SslCertificates for TargetHttpsProxy. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the TargetHttpsProxy resource to set an SslCertificates + * resource for. targetHttpsProxy: 'my-target-https-proxy', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.targetHttpsProxies.setSslCertificates(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 compute.targetHttpsProxies.setSslCertificates + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetHttpsProxy Name of the TargetHttpsProxy resource to set an SslCertificates resource for. + * @param {().TargetHttpsProxiesSetSslCertificatesRequest} 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 + */ + setSslCertificates(params?: Params$Resource$Targethttpsproxies$Setsslcertificates, options?: MethodOptions): AxiosPromise; + setSslCertificates(params: Params$Resource$Targethttpsproxies$Setsslcertificates, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setSslCertificates(params: Params$Resource$Targethttpsproxies$Setsslcertificates, callback: BodyResponseCallback): void; + setSslCertificates(callback: BodyResponseCallback): void; + /** + * compute.targetHttpsProxies.setSslPolicy + * @desc Sets the SSL policy for TargetHttpsProxy. The SSL policy specifies + * the server-side support for SSL features. This affects connections + * between clients and the HTTPS proxy load balancer. They do not affect the + * connection between the load balancer and the backends. + * @alias compute.targetHttpsProxies.setSslPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetHttpsProxy Name of the TargetHttpsProxy resource whose SSL policy is to be set. The name must be 1-63 characters long, and comply with RFC1035. + * @param {().SslPolicyReference} 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 + */ + setSslPolicy(params?: Params$Resource$Targethttpsproxies$Setsslpolicy, options?: MethodOptions): AxiosPromise; + setSslPolicy(params: Params$Resource$Targethttpsproxies$Setsslpolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setSslPolicy(params: Params$Resource$Targethttpsproxies$Setsslpolicy, callback: BodyResponseCallback): void; + setSslPolicy(callback: BodyResponseCallback): void; + /** + * compute.targetHttpsProxies.setUrlMap + * @desc Changes the URL map for TargetHttpsProxy. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the TargetHttpsProxy resource whose URL map is to be set. + * targetHttpsProxy: 'my-target-https-proxy', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.targetHttpsProxies.setUrlMap(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 compute.targetHttpsProxies.setUrlMap + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetHttpsProxy Name of the TargetHttpsProxy resource whose URL map is to be set. + * @param {().UrlMapReference} 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 + */ + setUrlMap(params?: Params$Resource$Targethttpsproxies$Seturlmap, options?: MethodOptions): AxiosPromise; + setUrlMap(params: Params$Resource$Targethttpsproxies$Seturlmap, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setUrlMap(params: Params$Resource$Targethttpsproxies$Seturlmap, callback: BodyResponseCallback): void; + setUrlMap(callback: BodyResponseCallback): void; + /** + * compute.targetHttpsProxies.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the resource for this request. + * resource_: 'my-resource', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.targetHttpsProxies.testIamPermissions(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 compute.targetHttpsProxies.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Targethttpsproxies$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Targethttpsproxies$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Targethttpsproxies$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Targethttpsproxies$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetHttpsProxy resource to delete. + */ + targetHttpsProxy?: string; + } + interface Params$Resource$Targethttpsproxies$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the TargetHttpsProxy resource to return. + */ + targetHttpsProxy?: string; + } + interface Params$Resource$Targethttpsproxies$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetHttpsProxy; + } + interface Params$Resource$Targethttpsproxies$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Targethttpsproxies$Setquicoverride { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetHttpsProxy resource to set the QUIC override policy + * for. The name should conform to RFC1035. + */ + targetHttpsProxy?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetHttpsProxiesSetQuicOverrideRequest; + } + interface Params$Resource$Targethttpsproxies$Setsslcertificates { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetHttpsProxy resource to set an SslCertificates resource + * for. + */ + targetHttpsProxy?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetHttpsProxiesSetSslCertificatesRequest; + } + interface Params$Resource$Targethttpsproxies$Setsslpolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetHttpsProxy resource whose SSL policy is to be set. The + * name must be 1-63 characters long, and comply with RFC1035. + */ + targetHttpsProxy?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SslPolicyReference; + } + interface Params$Resource$Targethttpsproxies$Seturlmap { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetHttpsProxy resource whose URL map is to be set. + */ + targetHttpsProxy?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UrlMapReference; + } + interface Params$Resource$Targethttpsproxies$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Targetinstances { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.targetInstances.aggregatedList + * @desc Retrieves an aggregated list of target instances. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * } + * Object.keys(itemsPage).forEach(function(name) { + * // TODO: Change code below to process each `name` property: + * console.log(name + ': ' + JSON.stringify(itemsPage[name], null, + * 2)); + * }); + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * compute.targetInstances.aggregatedList(request, handlePage); + * } + * }; + * + * compute.targetInstances.aggregatedList(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 compute.targetInstances.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Targetinstances$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Targetinstances$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Targetinstances$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.targetInstances.delete + * @desc Deletes the specified TargetInstance resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the zone scoping this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the TargetInstance resource to delete. + * targetInstance: 'my-target-instance', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * compute.targetInstances.delete(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 compute.targetInstances.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetInstance Name of the TargetInstance resource to delete. + * @param {string} params.zone Name of the zone scoping this request. + * @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?: Params$Resource$Targetinstances$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Targetinstances$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Targetinstances$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.targetInstances.get + * @desc Returns the specified TargetInstance resource. Gets a list of + * available target instances by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the zone scoping this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the TargetInstance resource to return. + * targetInstance: 'my-target-instance', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * compute.targetInstances.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 compute.targetInstances.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.targetInstance Name of the TargetInstance resource to return. + * @param {string} params.zone Name of the zone scoping this request. + * @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?: Params$Resource$Targetinstances$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Targetinstances$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Targetinstances$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.targetInstances.insert + * @desc Creates a TargetInstance resource in the specified project and zone + * using the data included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the zone scoping this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.targetInstances.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 compute.targetInstances.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone Name of the zone scoping this request. + * @param {().TargetInstance} 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?: Params$Resource$Targetinstances$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Targetinstances$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Targetinstances$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.targetInstances.list + * @desc Retrieves a list of TargetInstance resources available to the + * specified project and zone. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the zone scoping this request. + * zone: 'my-zone', // 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; + * compute.targetInstances.list(request, handlePage); + * } + * }; + * + * compute.targetInstances.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 compute.targetInstances.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone Name of the zone scoping this request. + * @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?: Params$Resource$Targetinstances$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Targetinstances$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Targetinstances$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.targetInstances.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the resource for this request. + * resource_: 'my-resource', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.targetInstances.testIamPermissions(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 compute.targetInstances.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {string} params.zone The name of the zone for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Targetinstances$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Targetinstances$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Targetinstances$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Targetinstances$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Targetinstances$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetInstance resource to delete. + */ + targetInstance?: string; + /** + * Name of the zone scoping this request. + */ + zone?: string; + } + interface Params$Resource$Targetinstances$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the TargetInstance resource to return. + */ + targetInstance?: string; + /** + * Name of the zone scoping this request. + */ + zone?: string; + } + interface Params$Resource$Targetinstances$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the zone scoping this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetInstance; + } + interface Params$Resource$Targetinstances$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the zone scoping this request. + */ + zone?: string; + } + interface Params$Resource$Targetinstances$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Targetpools { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.targetPools.addHealthCheck + * @desc Adds health check URLs to a target pool. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the target pool to add a health check to. + * targetPool: 'my-target-pool', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.targetPools.addHealthCheck(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 compute.targetPools.addHealthCheck + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetPool Name of the target pool to add a health check to. + * @param {().TargetPoolsAddHealthCheckRequest} 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 + */ + addHealthCheck(params?: Params$Resource$Targetpools$Addhealthcheck, options?: MethodOptions): AxiosPromise; + addHealthCheck(params: Params$Resource$Targetpools$Addhealthcheck, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + addHealthCheck(params: Params$Resource$Targetpools$Addhealthcheck, callback: BodyResponseCallback): void; + addHealthCheck(callback: BodyResponseCallback): void; + /** + * compute.targetPools.addInstance + * @desc Adds an instance to a target pool. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the TargetPool resource to add instances to. + * targetPool: 'my-target-pool', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.targetPools.addInstance(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 compute.targetPools.addInstance + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetPool Name of the TargetPool resource to add instances to. + * @param {().TargetPoolsAddInstanceRequest} 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 + */ + addInstance(params?: Params$Resource$Targetpools$Addinstance, options?: MethodOptions): AxiosPromise; + addInstance(params: Params$Resource$Targetpools$Addinstance, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + addInstance(params: Params$Resource$Targetpools$Addinstance, callback: BodyResponseCallback): void; + addInstance(callback: BodyResponseCallback): void; + /** + * compute.targetPools.aggregatedList + * @desc Retrieves an aggregated list of target pools. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * } + * Object.keys(itemsPage).forEach(function(name) { + * // TODO: Change code below to process each `name` property: + * console.log(name + ': ' + JSON.stringify(itemsPage[name], null, + * 2)); + * }); + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * compute.targetPools.aggregatedList(request, handlePage); + * } + * }; + * + * compute.targetPools.aggregatedList(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 compute.targetPools.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Targetpools$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Targetpools$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Targetpools$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.targetPools.delete + * @desc Deletes the specified target pool. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the TargetPool resource to delete. + * targetPool: 'my-target-pool', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.targetPools.delete(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 compute.targetPools.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetPool Name of the TargetPool resource to delete. + * @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?: Params$Resource$Targetpools$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Targetpools$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Targetpools$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.targetPools.get + * @desc Returns the specified target pool. Gets a list of available target + * pools by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the TargetPool resource to return. + * targetPool: 'my-target-pool', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.targetPools.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 compute.targetPools.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string} params.targetPool Name of the TargetPool resource to return. + * @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?: Params$Resource$Targetpools$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Targetpools$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Targetpools$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.targetPools.getHealth + * @desc Gets the most recent health check results for each IP for the + * instance that is referenced by the given target pool. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the TargetPool resource to which the queried instance + * belongs. targetPool: 'my-target-pool', // TODO: Update placeholder + * value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.targetPools.getHealth(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 compute.targetPools.getHealth + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string} params.targetPool Name of the TargetPool resource to which the queried instance belongs. + * @param {().InstanceReference} 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 + */ + getHealth(params?: Params$Resource$Targetpools$Gethealth, options?: MethodOptions): AxiosPromise; + getHealth(params: Params$Resource$Targetpools$Gethealth, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getHealth(params: Params$Resource$Targetpools$Gethealth, callback: BodyResponseCallback): void; + getHealth(callback: BodyResponseCallback): void; + /** + * compute.targetPools.insert + * @desc Creates a target pool in the specified project and region using the + * data included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.targetPools.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 compute.targetPools.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().TargetPool} 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?: Params$Resource$Targetpools$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Targetpools$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Targetpools$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.targetPools.list + * @desc Retrieves a list of target pools available to the specified project + * and region. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // 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; + * compute.targetPools.list(request, handlePage); + * } + * }; + * + * compute.targetPools.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 compute.targetPools.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @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?: Params$Resource$Targetpools$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Targetpools$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Targetpools$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.targetPools.removeHealthCheck + * @desc Removes health check URL from a target pool. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the target pool to remove health checks from. + * targetPool: 'my-target-pool', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.targetPools.removeHealthCheck(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 compute.targetPools.removeHealthCheck + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetPool Name of the target pool to remove health checks from. + * @param {().TargetPoolsRemoveHealthCheckRequest} 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 + */ + removeHealthCheck(params?: Params$Resource$Targetpools$Removehealthcheck, options?: MethodOptions): AxiosPromise; + removeHealthCheck(params: Params$Resource$Targetpools$Removehealthcheck, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + removeHealthCheck(params: Params$Resource$Targetpools$Removehealthcheck, callback: BodyResponseCallback): void; + removeHealthCheck(callback: BodyResponseCallback): void; + /** + * compute.targetPools.removeInstance + * @desc Removes instance URL from a target pool. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the TargetPool resource to remove instances from. + * targetPool: 'my-target-pool', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.targetPools.removeInstance(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 compute.targetPools.removeInstance + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetPool Name of the TargetPool resource to remove instances from. + * @param {().TargetPoolsRemoveInstanceRequest} 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 + */ + removeInstance(params?: Params$Resource$Targetpools$Removeinstance, options?: MethodOptions): AxiosPromise; + removeInstance(params: Params$Resource$Targetpools$Removeinstance, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + removeInstance(params: Params$Resource$Targetpools$Removeinstance, callback: BodyResponseCallback): void; + removeInstance(callback: BodyResponseCallback): void; + /** + * compute.targetPools.setBackup + * @desc Changes a backup target pool's configurations. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the TargetPool resource to set a backup pool for. + * targetPool: 'my-target-pool', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.targetPools.setBackup(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 compute.targetPools.setBackup + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {number=} params.failoverRatio New failoverRatio value for the target pool. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetPool Name of the TargetPool resource to set a backup pool for. + * @param {().TargetReference} 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 + */ + setBackup(params?: Params$Resource$Targetpools$Setbackup, options?: MethodOptions): AxiosPromise; + setBackup(params: Params$Resource$Targetpools$Setbackup, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setBackup(params: Params$Resource$Targetpools$Setbackup, callback: BodyResponseCallback): void; + setBackup(callback: BodyResponseCallback): void; + /** + * compute.targetPools.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the resource for this request. + * resource_: 'my-resource', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.targetPools.testIamPermissions(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 compute.targetPools.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Targetpools$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Targetpools$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Targetpools$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Targetpools$Addhealthcheck { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the target pool to add a health check to. + */ + targetPool?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetPoolsAddHealthCheckRequest; + } + interface Params$Resource$Targetpools$Addinstance { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetPool resource to add instances to. + */ + targetPool?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetPoolsAddInstanceRequest; + } + interface Params$Resource$Targetpools$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Targetpools$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetPool resource to delete. + */ + targetPool?: string; + } + interface Params$Resource$Targetpools$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * Name of the TargetPool resource to return. + */ + targetPool?: string; + } + interface Params$Resource$Targetpools$Gethealth { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * Name of the TargetPool resource to which the queried instance belongs. + */ + targetPool?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceReference; + } + interface Params$Resource$Targetpools$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetPool; + } + interface Params$Resource$Targetpools$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + } + interface Params$Resource$Targetpools$Removehealthcheck { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the target pool to remove health checks from. + */ + targetPool?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetPoolsRemoveHealthCheckRequest; + } + interface Params$Resource$Targetpools$Removeinstance { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetPool resource to remove instances from. + */ + targetPool?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetPoolsRemoveInstanceRequest; + } + interface Params$Resource$Targetpools$Setbackup { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * New failoverRatio value for the target pool. + */ + failoverRatio?: number; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetPool resource to set a backup pool for. + */ + targetPool?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetReference; + } + interface Params$Resource$Targetpools$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Targetsslproxies { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.targetSslProxies.delete + * @desc Deletes the specified TargetSslProxy resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the TargetSslProxy resource to delete. + * targetSslProxy: 'my-target-ssl-proxy', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * compute.targetSslProxies.delete(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 compute.targetSslProxies.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetSslProxy Name of the TargetSslProxy resource to delete. + * @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?: Params$Resource$Targetsslproxies$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Targetsslproxies$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Targetsslproxies$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.targetSslProxies.get + * @desc Returns the specified TargetSslProxy resource. Gets a list of + * available target SSL proxies by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the TargetSslProxy resource to return. + * targetSslProxy: 'my-target-ssl-proxy', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * compute.targetSslProxies.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 compute.targetSslProxies.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.targetSslProxy Name of the TargetSslProxy resource to return. + * @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?: Params$Resource$Targetsslproxies$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Targetsslproxies$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Targetsslproxies$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.targetSslProxies.insert + * @desc Creates a TargetSslProxy resource in the specified project using + * the data included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.targetSslProxies.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 compute.targetSslProxies.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().TargetSslProxy} 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?: Params$Resource$Targetsslproxies$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Targetsslproxies$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Targetsslproxies$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.targetSslProxies.list + * @desc Retrieves the list of TargetSslProxy resources available to the + * specified project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * compute.targetSslProxies.list(request, handlePage); + * } + * }; + * + * compute.targetSslProxies.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 compute.targetSslProxies.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Targetsslproxies$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Targetsslproxies$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Targetsslproxies$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.targetSslProxies.setBackendService + * @desc Changes the BackendService for TargetSslProxy. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the TargetSslProxy resource whose BackendService resource + * is to be set. targetSslProxy: 'my-target-ssl-proxy', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.targetSslProxies.setBackendService(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 compute.targetSslProxies.setBackendService + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetSslProxy Name of the TargetSslProxy resource whose BackendService resource is to be set. + * @param {().TargetSslProxiesSetBackendServiceRequest} 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 + */ + setBackendService(params?: Params$Resource$Targetsslproxies$Setbackendservice, options?: MethodOptions): AxiosPromise; + setBackendService(params: Params$Resource$Targetsslproxies$Setbackendservice, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setBackendService(params: Params$Resource$Targetsslproxies$Setbackendservice, callback: BodyResponseCallback): void; + setBackendService(callback: BodyResponseCallback): void; + /** + * compute.targetSslProxies.setProxyHeader + * @desc Changes the ProxyHeaderType for TargetSslProxy. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the TargetSslProxy resource whose ProxyHeader is to be + * set. targetSslProxy: 'my-target-ssl-proxy', // TODO: Update placeholder + * value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.targetSslProxies.setProxyHeader(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 compute.targetSslProxies.setProxyHeader + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetSslProxy Name of the TargetSslProxy resource whose ProxyHeader is to be set. + * @param {().TargetSslProxiesSetProxyHeaderRequest} 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 + */ + setProxyHeader(params?: Params$Resource$Targetsslproxies$Setproxyheader, options?: MethodOptions): AxiosPromise; + setProxyHeader(params: Params$Resource$Targetsslproxies$Setproxyheader, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setProxyHeader(params: Params$Resource$Targetsslproxies$Setproxyheader, callback: BodyResponseCallback): void; + setProxyHeader(callback: BodyResponseCallback): void; + /** + * compute.targetSslProxies.setSslCertificates + * @desc Changes SslCertificates for TargetSslProxy. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the TargetSslProxy resource whose SslCertificate resource + * is to be set. targetSslProxy: 'my-target-ssl-proxy', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.targetSslProxies.setSslCertificates(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 compute.targetSslProxies.setSslCertificates + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetSslProxy Name of the TargetSslProxy resource whose SslCertificate resource is to be set. + * @param {().TargetSslProxiesSetSslCertificatesRequest} 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 + */ + setSslCertificates(params?: Params$Resource$Targetsslproxies$Setsslcertificates, options?: MethodOptions): AxiosPromise; + setSslCertificates(params: Params$Resource$Targetsslproxies$Setsslcertificates, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setSslCertificates(params: Params$Resource$Targetsslproxies$Setsslcertificates, callback: BodyResponseCallback): void; + setSslCertificates(callback: BodyResponseCallback): void; + /** + * compute.targetSslProxies.setSslPolicy + * @desc Sets the SSL policy for TargetSslProxy. The SSL policy specifies + * the server-side support for SSL features. This affects connections + * between clients and the SSL proxy load balancer. They do not affect the + * connection between the load balancer and the backends. + * @alias compute.targetSslProxies.setSslPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetSslProxy Name of the TargetSslProxy resource whose SSL policy is to be set. The name must be 1-63 characters long, and comply with RFC1035. + * @param {().SslPolicyReference} 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 + */ + setSslPolicy(params?: Params$Resource$Targetsslproxies$Setsslpolicy, options?: MethodOptions): AxiosPromise; + setSslPolicy(params: Params$Resource$Targetsslproxies$Setsslpolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setSslPolicy(params: Params$Resource$Targetsslproxies$Setsslpolicy, callback: BodyResponseCallback): void; + setSslPolicy(callback: BodyResponseCallback): void; + /** + * compute.targetSslProxies.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the resource for this request. + * resource_: 'my-resource', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.targetSslProxies.testIamPermissions(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 compute.targetSslProxies.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Targetsslproxies$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Targetsslproxies$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Targetsslproxies$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Targetsslproxies$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetSslProxy resource to delete. + */ + targetSslProxy?: string; + } + interface Params$Resource$Targetsslproxies$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the TargetSslProxy resource to return. + */ + targetSslProxy?: string; + } + interface Params$Resource$Targetsslproxies$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetSslProxy; + } + interface Params$Resource$Targetsslproxies$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Targetsslproxies$Setbackendservice { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetSslProxy resource whose BackendService resource is to + * be set. + */ + targetSslProxy?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetSslProxiesSetBackendServiceRequest; + } + interface Params$Resource$Targetsslproxies$Setproxyheader { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetSslProxy resource whose ProxyHeader is to be set. + */ + targetSslProxy?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetSslProxiesSetProxyHeaderRequest; + } + interface Params$Resource$Targetsslproxies$Setsslcertificates { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetSslProxy resource whose SslCertificate resource is to + * be set. + */ + targetSslProxy?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetSslProxiesSetSslCertificatesRequest; + } + interface Params$Resource$Targetsslproxies$Setsslpolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetSslProxy resource whose SSL policy is to be set. The + * name must be 1-63 characters long, and comply with RFC1035. + */ + targetSslProxy?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SslPolicyReference; + } + interface Params$Resource$Targetsslproxies$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Targettcpproxies { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.targetTcpProxies.delete + * @desc Deletes the specified TargetTcpProxy resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the TargetTcpProxy resource to delete. + * targetTcpProxy: 'my-target-tcp-proxy', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * compute.targetTcpProxies.delete(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 compute.targetTcpProxies.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetTcpProxy Name of the TargetTcpProxy resource to delete. + * @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?: Params$Resource$Targettcpproxies$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Targettcpproxies$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Targettcpproxies$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.targetTcpProxies.get + * @desc Returns the specified TargetTcpProxy resource. Gets a list of + * available target TCP proxies by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the TargetTcpProxy resource to return. + * targetTcpProxy: 'my-target-tcp-proxy', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * compute.targetTcpProxies.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 compute.targetTcpProxies.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.targetTcpProxy Name of the TargetTcpProxy resource to return. + * @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?: Params$Resource$Targettcpproxies$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Targettcpproxies$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Targettcpproxies$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.targetTcpProxies.insert + * @desc Creates a TargetTcpProxy resource in the specified project using + * the data included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.targetTcpProxies.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 compute.targetTcpProxies.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().TargetTcpProxy} 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?: Params$Resource$Targettcpproxies$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Targettcpproxies$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Targettcpproxies$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.targetTcpProxies.list + * @desc Retrieves the list of TargetTcpProxy resources available to the + * specified project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * compute.targetTcpProxies.list(request, handlePage); + * } + * }; + * + * compute.targetTcpProxies.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 compute.targetTcpProxies.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Targettcpproxies$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Targettcpproxies$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Targettcpproxies$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.targetTcpProxies.setBackendService + * @desc Changes the BackendService for TargetTcpProxy. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the TargetTcpProxy resource whose BackendService resource + * is to be set. targetTcpProxy: 'my-target-tcp-proxy', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.targetTcpProxies.setBackendService(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 compute.targetTcpProxies.setBackendService + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetTcpProxy Name of the TargetTcpProxy resource whose BackendService resource is to be set. + * @param {().TargetTcpProxiesSetBackendServiceRequest} 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 + */ + setBackendService(params?: Params$Resource$Targettcpproxies$Setbackendservice, options?: MethodOptions): AxiosPromise; + setBackendService(params: Params$Resource$Targettcpproxies$Setbackendservice, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setBackendService(params: Params$Resource$Targettcpproxies$Setbackendservice, callback: BodyResponseCallback): void; + setBackendService(callback: BodyResponseCallback): void; + /** + * compute.targetTcpProxies.setProxyHeader + * @desc Changes the ProxyHeaderType for TargetTcpProxy. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the TargetTcpProxy resource whose ProxyHeader is to be + * set. targetTcpProxy: 'my-target-tcp-proxy', // TODO: Update placeholder + * value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.targetTcpProxies.setProxyHeader(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 compute.targetTcpProxies.setProxyHeader + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetTcpProxy Name of the TargetTcpProxy resource whose ProxyHeader is to be set. + * @param {().TargetTcpProxiesSetProxyHeaderRequest} 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 + */ + setProxyHeader(params?: Params$Resource$Targettcpproxies$Setproxyheader, options?: MethodOptions): AxiosPromise; + setProxyHeader(params: Params$Resource$Targettcpproxies$Setproxyheader, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setProxyHeader(params: Params$Resource$Targettcpproxies$Setproxyheader, callback: BodyResponseCallback): void; + setProxyHeader(callback: BodyResponseCallback): void; + } + interface Params$Resource$Targettcpproxies$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetTcpProxy resource to delete. + */ + targetTcpProxy?: string; + } + interface Params$Resource$Targettcpproxies$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the TargetTcpProxy resource to return. + */ + targetTcpProxy?: string; + } + interface Params$Resource$Targettcpproxies$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetTcpProxy; + } + interface Params$Resource$Targettcpproxies$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Targettcpproxies$Setbackendservice { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetTcpProxy resource whose BackendService resource is to + * be set. + */ + targetTcpProxy?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetTcpProxiesSetBackendServiceRequest; + } + interface Params$Resource$Targettcpproxies$Setproxyheader { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetTcpProxy resource whose ProxyHeader is to be set. + */ + targetTcpProxy?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetTcpProxiesSetProxyHeaderRequest; + } + class Resource$Targetvpngateways { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.targetVpnGateways.aggregatedList + * @desc Retrieves an aggregated list of target VPN gateways. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * } + * Object.keys(itemsPage).forEach(function(name) { + * // TODO: Change code below to process each `name` property: + * console.log(name + ': ' + JSON.stringify(itemsPage[name], null, + * 2)); + * }); + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * compute.targetVpnGateways.aggregatedList(request, handlePage); + * } + * }; + * + * compute.targetVpnGateways.aggregatedList(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 compute.targetVpnGateways.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Targetvpngateways$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Targetvpngateways$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Targetvpngateways$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.targetVpnGateways.delete + * @desc Deletes the specified target VPN gateway. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the target VPN gateway to delete. + * targetVpnGateway: 'my-target-vpn-gateway', // TODO: Update + * placeholder value. + * + * auth: authClient, + * }; + * + * compute.targetVpnGateways.delete(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 compute.targetVpnGateways.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetVpnGateway Name of the target VPN gateway to delete. + * @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?: Params$Resource$Targetvpngateways$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Targetvpngateways$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Targetvpngateways$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.targetVpnGateways.get + * @desc Returns the specified target VPN gateway. Gets a list of available + * target VPN gateways by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the target VPN gateway to return. + * targetVpnGateway: 'my-target-vpn-gateway', // TODO: Update + * placeholder value. + * + * auth: authClient, + * }; + * + * compute.targetVpnGateways.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 compute.targetVpnGateways.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string} params.targetVpnGateway Name of the target VPN gateway to return. + * @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?: Params$Resource$Targetvpngateways$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Targetvpngateways$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Targetvpngateways$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.targetVpnGateways.insert + * @desc Creates a target VPN gateway in the specified project and region + * using the data included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.targetVpnGateways.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 compute.targetVpnGateways.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().TargetVpnGateway} 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?: Params$Resource$Targetvpngateways$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Targetvpngateways$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Targetvpngateways$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.targetVpnGateways.list + * @desc Retrieves a list of target VPN gateways available to the specified + * project and region. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // 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; + * compute.targetVpnGateways.list(request, handlePage); + * } + * }; + * + * compute.targetVpnGateways.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 compute.targetVpnGateways.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @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?: Params$Resource$Targetvpngateways$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Targetvpngateways$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Targetvpngateways$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.targetVpnGateways.setLabels + * @desc Sets the labels on a TargetVpnGateway. To learn more about labels, + * read the Labeling Resources documentation. + * @alias compute.targetVpnGateways.setLabels + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.resource_ Name of the resource for this request. + * @param {().RegionSetLabelsRequest} 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 + */ + setLabels(params?: Params$Resource$Targetvpngateways$Setlabels, options?: MethodOptions): AxiosPromise; + setLabels(params: Params$Resource$Targetvpngateways$Setlabels, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setLabels(params: Params$Resource$Targetvpngateways$Setlabels, callback: BodyResponseCallback): void; + setLabels(callback: BodyResponseCallback): void; + /** + * compute.targetVpnGateways.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the resource for this request. + * resource_: 'my-resource', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.targetVpnGateways.testIamPermissions(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 compute.targetVpnGateways.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Targetvpngateways$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Targetvpngateways$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Targetvpngateways$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Targetvpngateways$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Targetvpngateways$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the target VPN gateway to delete. + */ + targetVpnGateway?: string; + } + interface Params$Resource$Targetvpngateways$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * Name of the target VPN gateway to return. + */ + targetVpnGateway?: string; + } + interface Params$Resource$Targetvpngateways$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetVpnGateway; + } + interface Params$Resource$Targetvpngateways$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + } + interface Params$Resource$Targetvpngateways$Setlabels { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RegionSetLabelsRequest; + } + interface Params$Resource$Targetvpngateways$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Urlmaps { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.urlMaps.delete + * @desc Deletes the specified UrlMap resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the UrlMap resource to delete. + * urlMap: 'my-url-map', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.urlMaps.delete(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 compute.urlMaps.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.urlMap Name of the UrlMap resource to delete. + * @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?: Params$Resource$Urlmaps$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Urlmaps$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Urlmaps$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.urlMaps.get + * @desc Returns the specified UrlMap resource. Gets a list of available URL + * maps by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the UrlMap resource to return. + * urlMap: 'my-url-map', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.urlMaps.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 compute.urlMaps.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.urlMap Name of the UrlMap resource to return. + * @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?: Params$Resource$Urlmaps$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Urlmaps$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Urlmaps$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.urlMaps.insert + * @desc Creates a UrlMap resource in the specified project using the data + * included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.urlMaps.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 compute.urlMaps.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().UrlMap} 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?: Params$Resource$Urlmaps$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Urlmaps$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Urlmaps$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.urlMaps.invalidateCache + * @desc Initiates a cache invalidation operation, invalidating the + * specified path, scoped to the specified UrlMap. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the UrlMap scoping this request. + * urlMap: 'my-url-map', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.urlMaps.invalidateCache(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 compute.urlMaps.invalidateCache + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.urlMap Name of the UrlMap scoping this request. + * @param {().CacheInvalidationRule} 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 + */ + invalidateCache(params?: Params$Resource$Urlmaps$Invalidatecache, options?: MethodOptions): AxiosPromise; + invalidateCache(params: Params$Resource$Urlmaps$Invalidatecache, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + invalidateCache(params: Params$Resource$Urlmaps$Invalidatecache, callback: BodyResponseCallback): void; + invalidateCache(callback: BodyResponseCallback): void; + /** + * compute.urlMaps.list + * @desc Retrieves the list of UrlMap resources available to the specified + * project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * compute.urlMaps.list(request, handlePage); + * } + * }; + * + * compute.urlMaps.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 compute.urlMaps.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Urlmaps$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Urlmaps$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Urlmaps$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.urlMaps.patch + * @desc Patches the specified UrlMap resource with the data included in the + * request. This method supports PATCH semantics and uses the JSON merge + * patch format and processing rules. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the UrlMap resource to patch. + * urlMap: 'my-url-map', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * compute.urlMaps.patch(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 compute.urlMaps.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.urlMap Name of the UrlMap resource to patch. + * @param {().UrlMap} 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 + */ + patch(params?: Params$Resource$Urlmaps$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Urlmaps$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Urlmaps$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * compute.urlMaps.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the resource for this request. + * resource_: 'my-resource', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.urlMaps.testIamPermissions(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 compute.urlMaps.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Urlmaps$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Urlmaps$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Urlmaps$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + /** + * compute.urlMaps.update + * @desc Updates the specified UrlMap resource with the data included in the + * request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the UrlMap resource to update. + * urlMap: 'my-url-map', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * compute.urlMaps.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 compute.urlMaps.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.urlMap Name of the UrlMap resource to update. + * @param {().UrlMap} 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?: Params$Resource$Urlmaps$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Urlmaps$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Urlmaps$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + /** + * compute.urlMaps.validate + * @desc Runs static validation for the UrlMap. In particular, the tests of + * the provided UrlMap will be run. Calling this method does NOT create the + * UrlMap. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the UrlMap resource to be validated as. + * urlMap: 'my-url-map', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.urlMaps.validate(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 compute.urlMaps.validate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.urlMap Name of the UrlMap resource to be validated as. + * @param {().UrlMapsValidateRequest} 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 + */ + validate(params?: Params$Resource$Urlmaps$Validate, options?: MethodOptions): AxiosPromise; + validate(params: Params$Resource$Urlmaps$Validate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + validate(params: Params$Resource$Urlmaps$Validate, callback: BodyResponseCallback): void; + validate(callback: BodyResponseCallback): void; + } + interface Params$Resource$Urlmaps$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the UrlMap resource to delete. + */ + urlMap?: string; + } + interface Params$Resource$Urlmaps$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the UrlMap resource to return. + */ + urlMap?: string; + } + interface Params$Resource$Urlmaps$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UrlMap; + } + interface Params$Resource$Urlmaps$Invalidatecache { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the UrlMap scoping this request. + */ + urlMap?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CacheInvalidationRule; + } + interface Params$Resource$Urlmaps$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Urlmaps$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the UrlMap resource to patch. + */ + urlMap?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UrlMap; + } + interface Params$Resource$Urlmaps$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + interface Params$Resource$Urlmaps$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the UrlMap resource to update. + */ + urlMap?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UrlMap; + } + interface Params$Resource$Urlmaps$Validate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the UrlMap resource to be validated as. + */ + urlMap?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UrlMapsValidateRequest; + } + class Resource$Vpntunnels { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.vpnTunnels.aggregatedList + * @desc Retrieves an aggregated list of VPN tunnels. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * } + * Object.keys(itemsPage).forEach(function(name) { + * // TODO: Change code below to process each `name` property: + * console.log(name + ': ' + JSON.stringify(itemsPage[name], null, + * 2)); + * }); + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * compute.vpnTunnels.aggregatedList(request, handlePage); + * } + * }; + * + * compute.vpnTunnels.aggregatedList(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 compute.vpnTunnels.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Vpntunnels$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Vpntunnels$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Vpntunnels$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.vpnTunnels.delete + * @desc Deletes the specified VpnTunnel resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the VpnTunnel resource to delete. + * vpnTunnel: 'my-vpn-tunnel', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.vpnTunnels.delete(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 compute.vpnTunnels.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.vpnTunnel Name of the VpnTunnel resource to delete. + * @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?: Params$Resource$Vpntunnels$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Vpntunnels$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Vpntunnels$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.vpnTunnels.get + * @desc Returns the specified VpnTunnel resource. Gets a list of available + * VPN tunnels by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the VpnTunnel resource to return. + * vpnTunnel: 'my-vpn-tunnel', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.vpnTunnels.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 compute.vpnTunnels.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string} params.vpnTunnel Name of the VpnTunnel resource to return. + * @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?: Params$Resource$Vpntunnels$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Vpntunnels$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Vpntunnels$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.vpnTunnels.insert + * @desc Creates a VpnTunnel resource in the specified project and region + * using the data included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.vpnTunnels.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 compute.vpnTunnels.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().VpnTunnel} 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?: Params$Resource$Vpntunnels$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Vpntunnels$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Vpntunnels$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.vpnTunnels.list + * @desc Retrieves a list of VpnTunnel resources contained in the specified + * project and region. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // 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; + * compute.vpnTunnels.list(request, handlePage); + * } + * }; + * + * compute.vpnTunnels.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 compute.vpnTunnels.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @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?: Params$Resource$Vpntunnels$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Vpntunnels$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Vpntunnels$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.vpnTunnels.setLabels + * @desc Sets the labels on a VpnTunnel. To learn more about labels, read + * the Labeling Resources documentation. + * @alias compute.vpnTunnels.setLabels + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.resource_ Name of the resource for this request. + * @param {().RegionSetLabelsRequest} 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 + */ + setLabels(params?: Params$Resource$Vpntunnels$Setlabels, options?: MethodOptions): AxiosPromise; + setLabels(params: Params$Resource$Vpntunnels$Setlabels, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setLabels(params: Params$Resource$Vpntunnels$Setlabels, callback: BodyResponseCallback): void; + setLabels(callback: BodyResponseCallback): void; + /** + * compute.vpnTunnels.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the resource for this request. + * resource_: 'my-resource', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.vpnTunnels.testIamPermissions(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 compute.vpnTunnels.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Vpntunnels$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Vpntunnels$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Vpntunnels$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Vpntunnels$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Vpntunnels$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the VpnTunnel resource to delete. + */ + vpnTunnel?: string; + } + interface Params$Resource$Vpntunnels$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * Name of the VpnTunnel resource to return. + */ + vpnTunnel?: string; + } + interface Params$Resource$Vpntunnels$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$VpnTunnel; + } + interface Params$Resource$Vpntunnels$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + } + interface Params$Resource$Vpntunnels$Setlabels { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RegionSetLabelsRequest; + } + interface Params$Resource$Vpntunnels$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Zoneoperations { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.zoneOperations.delete + * @desc Deletes the specified zone-specific Operations resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the Operations resource to delete. + * operation: 'my-operation', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.zoneOperations.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 compute.zoneOperations.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.operation Name of the Operations resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone Name of the zone for this request. + * @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?: Params$Resource$Zoneoperations$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Zoneoperations$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Zoneoperations$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.zoneOperations.get + * @desc Retrieves the specified zone-specific Operations resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the Operations resource to return. + * operation: 'my-operation', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.zoneOperations.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 compute.zoneOperations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.operation Name of the Operations resource to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone Name of the zone for this request. + * @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?: Params$Resource$Zoneoperations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Zoneoperations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Zoneoperations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.zoneOperations.list + * @desc Retrieves a list of Operation resources contained within the + * specified zone. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the zone for request. + * zone: 'my-zone', // 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; + * compute.zoneOperations.list(request, handlePage); + * } + * }; + * + * compute.zoneOperations.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 compute.zoneOperations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone Name of the zone for request. + * @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?: Params$Resource$Zoneoperations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Zoneoperations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Zoneoperations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Zoneoperations$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the Operations resource to delete. + */ + operation?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Zoneoperations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the Operations resource to return. + */ + operation?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Zoneoperations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the zone for request. + */ + zone?: string; + } + class Resource$Zones { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.zones.get + * @desc Returns the specified Zone resource. Gets a list of available zones + * by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the zone resource to return. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.zones.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 compute.zones.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.zone Name of the zone resource to return. + * @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?: Params$Resource$Zones$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Zones$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Zones$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.zones.list + * @desc Retrieves the list of Zone resources available to the specified + * project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('beta'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * compute.zones.list(request, handlePage); + * } + * }; + * + * compute.zones.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 compute.zones.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Zones$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Zones$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Zones$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Zones$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the zone resource to return. + */ + zone?: string; + } + interface Params$Resource$Zones$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/compute/beta.js b/express-server/node_modules/googleapis/build/src/apis/compute/beta.js new file mode 100644 index 00000000..f8376462 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/compute/beta.js @@ -0,0 +1,15510 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var compute_beta; +(function (compute_beta) { + /** + * Compute Engine API + * + * Creates and runs virtual machines on Google Cloud Platform. + * + * @example + * const {google} = require('googleapis'); + * const compute = google.compute('beta'); + * + * @namespace compute + * @type {Function} + * @version beta + * @variation beta + * @param {object=} options Options for Compute + */ + class Compute { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.acceleratorTypes = new Resource$Acceleratortypes(this); + this.addresses = new Resource$Addresses(this); + this.autoscalers = new Resource$Autoscalers(this); + this.backendBuckets = new Resource$Backendbuckets(this); + this.backendServices = new Resource$Backendservices(this); + this.disks = new Resource$Disks(this); + this.diskTypes = new Resource$Disktypes(this); + this.firewalls = new Resource$Firewalls(this); + this.forwardingRules = new Resource$Forwardingrules(this); + this.globalAddresses = new Resource$Globaladdresses(this); + this.globalForwardingRules = new Resource$Globalforwardingrules(this); + this.globalOperations = new Resource$Globaloperations(this); + this.healthChecks = new Resource$Healthchecks(this); + this.httpHealthChecks = new Resource$Httphealthchecks(this); + this.httpsHealthChecks = new Resource$Httpshealthchecks(this); + this.images = new Resource$Images(this); + this.instanceGroupManagers = new Resource$Instancegroupmanagers(this); + this.instanceGroups = new Resource$Instancegroups(this); + this.instances = new Resource$Instances(this); + this.instanceTemplates = new Resource$Instancetemplates(this); + this.interconnectAttachments = new Resource$Interconnectattachments(this); + this.interconnectLocations = new Resource$Interconnectlocations(this); + this.interconnects = new Resource$Interconnects(this); + this.licenseCodes = new Resource$Licensecodes(this); + this.licenses = new Resource$Licenses(this); + this.machineTypes = new Resource$Machinetypes(this); + this.networkEndpointGroups = new Resource$Networkendpointgroups(this); + this.networks = new Resource$Networks(this); + this.nodeGroups = new Resource$Nodegroups(this); + this.nodeTemplates = new Resource$Nodetemplates(this); + this.nodeTypes = new Resource$Nodetypes(this); + this.projects = new Resource$Projects(this); + this.regionAutoscalers = new Resource$Regionautoscalers(this); + this.regionBackendServices = new Resource$Regionbackendservices(this); + this.regionCommitments = new Resource$Regioncommitments(this); + this.regionDisks = new Resource$Regiondisks(this); + this.regionDiskTypes = new Resource$Regiondisktypes(this); + this.regionInstanceGroupManagers = + new Resource$Regioninstancegroupmanagers(this); + this.regionInstanceGroups = new Resource$Regioninstancegroups(this); + this.regionOperations = new Resource$Regionoperations(this); + this.regions = new Resource$Regions(this); + this.resourcePolicies = new Resource$Resourcepolicies(this); + this.routers = new Resource$Routers(this); + this.routes = new Resource$Routes(this); + this.securityPolicies = new Resource$Securitypolicies(this); + this.snapshots = new Resource$Snapshots(this); + this.sslCertificates = new Resource$Sslcertificates(this); + this.sslPolicies = new Resource$Sslpolicies(this); + this.subnetworks = new Resource$Subnetworks(this); + this.targetHttpProxies = new Resource$Targethttpproxies(this); + this.targetHttpsProxies = new Resource$Targethttpsproxies(this); + this.targetInstances = new Resource$Targetinstances(this); + this.targetPools = new Resource$Targetpools(this); + this.targetSslProxies = new Resource$Targetsslproxies(this); + this.targetTcpProxies = new Resource$Targettcpproxies(this); + this.targetVpnGateways = new Resource$Targetvpngateways(this); + this.urlMaps = new Resource$Urlmaps(this); + this.vpnTunnels = new Resource$Vpntunnels(this); + this.zoneOperations = new Resource$Zoneoperations(this); + this.zones = new Resource$Zones(this); + } + getRoot() { + return this.root; + } + } + compute_beta.Compute = Compute; + class Resource$Acceleratortypes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/aggregated/acceleratorTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/acceleratorTypes/{acceleratorType}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'acceleratorType'], + pathParams: ['acceleratorType', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/acceleratorTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Acceleratortypes = Resource$Acceleratortypes; + class Resource$Addresses { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/aggregated/addresses') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/addresses/{address}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'region', 'address'], + pathParams: ['address', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/addresses/{address}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'address'], + pathParams: ['address', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/addresses') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/addresses') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setLabels(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/addresses/{resource}/setLabels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/addresses/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Addresses = Resource$Addresses; + class Resource$Autoscalers { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/aggregated/autoscalers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/autoscalers/{autoscaler}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'zone', 'autoscaler'], + pathParams: ['autoscaler', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/autoscalers/{autoscaler}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'autoscaler'], + pathParams: ['autoscaler', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/autoscalers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/autoscalers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/autoscalers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/autoscalers/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/autoscalers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Autoscalers = Resource$Autoscalers; + class Resource$Backendbuckets { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + addSignedUrlKey(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/backendBuckets/{backendBucket}/addSignedUrlKey') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'backendBucket'], + pathParams: ['backendBucket', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/backendBuckets/{backendBucket}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'backendBucket'], + pathParams: ['backendBucket', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + deleteSignedUrlKey(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/backendBuckets/{backendBucket}/deleteSignedUrlKey') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'backendBucket', 'keyName'], + pathParams: ['backendBucket', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/backendBuckets/{backendBucket}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'backendBucket'], + pathParams: ['backendBucket', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/backendBuckets') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/backendBuckets') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/backendBuckets/{backendBucket}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'backendBucket'], + pathParams: ['backendBucket', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/backendBuckets/{backendBucket}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['project', 'backendBucket'], + pathParams: ['backendBucket', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Backendbuckets = Resource$Backendbuckets; + class Resource$Backendservices { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + addSignedUrlKey(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/backendServices/{backendService}/addSignedUrlKey') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'backendService'], + pathParams: ['backendService', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/aggregated/backendServices') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/backendServices/{backendService}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'backendService'], + pathParams: ['backendService', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + deleteSignedUrlKey(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/backendServices/{backendService}/deleteSignedUrlKey') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'backendService', 'keyName'], + pathParams: ['backendService', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/backendServices/{backendService}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'backendService'], + pathParams: ['backendService', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getHealth(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/backendServices/{backendService}/getHealth') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'backendService'], + pathParams: ['backendService', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/backendServices') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/backendServices') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/backendServices/{backendService}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'backendService'], + pathParams: ['backendService', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setSecurityPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/backendServices/{backendService}/setSecurityPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'backendService'], + pathParams: ['backendService', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/backendServices/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/backendServices/{backendService}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['project', 'backendService'], + pathParams: ['backendService', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Backendservices = Resource$Backendservices; + class Resource$Disks { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + addResourcePolicies(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/disks/{disk}/addResourcePolicies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'disk'], + pathParams: ['disk', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/aggregated/disks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + createSnapshot(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/disks/{disk}/createSnapshot') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'disk'], + pathParams: ['disk', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/disks/{disk}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'zone', 'disk'], + pathParams: ['disk', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/disks/{disk}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'disk'], + pathParams: ['disk', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/disks/{resource}/getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/disks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/disks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + removeResourcePolicies(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/disks/{disk}/removeResourcePolicies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'disk'], + pathParams: ['disk', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + resize(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/disks/{disk}/resize') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'disk'], + pathParams: ['disk', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/disks/{resource}/setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setLabels(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/disks/{resource}/setLabels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/disks/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Disks = Resource$Disks; + class Resource$Disktypes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/aggregated/diskTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/diskTypes/{diskType}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'diskType'], + pathParams: ['diskType', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/diskTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Disktypes = Resource$Disktypes; + class Resource$Firewalls { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/firewalls/{firewall}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'firewall'], + pathParams: ['firewall', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/firewalls/{firewall}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'firewall'], + pathParams: ['firewall', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/firewalls') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/firewalls') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/firewalls/{firewall}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'firewall'], + pathParams: ['firewall', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/firewalls/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/firewalls/{firewall}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['project', 'firewall'], + pathParams: ['firewall', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Firewalls = Resource$Firewalls; + class Resource$Forwardingrules { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/aggregated/forwardingRules') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/forwardingRules/{forwardingRule}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'region', 'forwardingRule'], + pathParams: ['forwardingRule', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/forwardingRules/{forwardingRule}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'forwardingRule'], + pathParams: ['forwardingRule', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/forwardingRules') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/forwardingRules') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setLabels(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/forwardingRules/{resource}/setLabels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setTarget(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/forwardingRules/{forwardingRule}/setTarget') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'forwardingRule'], + pathParams: ['forwardingRule', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/forwardingRules/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Forwardingrules = Resource$Forwardingrules; + class Resource$Globaladdresses { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/addresses/{address}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'address'], + pathParams: ['address', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/addresses/{address}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'address'], + pathParams: ['address', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/addresses') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/addresses') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setLabels(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/addresses/{resource}/setLabels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/addresses/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Globaladdresses = Resource$Globaladdresses; + class Resource$Globalforwardingrules { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/forwardingRules/{forwardingRule}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'forwardingRule'], + pathParams: ['forwardingRule', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/forwardingRules/{forwardingRule}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'forwardingRule'], + pathParams: ['forwardingRule', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/forwardingRules') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/forwardingRules') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setLabels(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/forwardingRules/{resource}/setLabels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setTarget(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/forwardingRules/{forwardingRule}/setTarget') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'forwardingRule'], + pathParams: ['forwardingRule', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/forwardingRules/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Globalforwardingrules = Resource$Globalforwardingrules; + class Resource$Globaloperations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/aggregated/operations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/operations/{operation}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'operation'], + pathParams: ['operation', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/operations/{operation}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'operation'], + pathParams: ['operation', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/operations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Globaloperations = Resource$Globaloperations; + class Resource$Healthchecks { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/healthChecks/{healthCheck}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'healthCheck'], + pathParams: ['healthCheck', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/healthChecks/{healthCheck}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'healthCheck'], + pathParams: ['healthCheck', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/healthChecks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/healthChecks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/healthChecks/{healthCheck}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'healthCheck'], + pathParams: ['healthCheck', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/healthChecks/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/healthChecks/{healthCheck}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['project', 'healthCheck'], + pathParams: ['healthCheck', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Healthchecks = Resource$Healthchecks; + class Resource$Httphealthchecks { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/httpHealthChecks/{httpHealthCheck}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'httpHealthCheck'], + pathParams: ['httpHealthCheck', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/httpHealthChecks/{httpHealthCheck}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'httpHealthCheck'], + pathParams: ['httpHealthCheck', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/httpHealthChecks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/httpHealthChecks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/httpHealthChecks/{httpHealthCheck}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'httpHealthCheck'], + pathParams: ['httpHealthCheck', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/httpHealthChecks/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/httpHealthChecks/{httpHealthCheck}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['project', 'httpHealthCheck'], + pathParams: ['httpHealthCheck', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Httphealthchecks = Resource$Httphealthchecks; + class Resource$Httpshealthchecks { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'httpsHealthCheck'], + pathParams: ['httpsHealthCheck', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'httpsHealthCheck'], + pathParams: ['httpsHealthCheck', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/httpsHealthChecks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/httpsHealthChecks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'httpsHealthCheck'], + pathParams: ['httpsHealthCheck', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/httpsHealthChecks/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['project', 'httpsHealthCheck'], + pathParams: ['httpsHealthCheck', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Httpshealthchecks = Resource$Httpshealthchecks; + class Resource$Images { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/images/{image}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'image'], + pathParams: ['image', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + deprecate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/images/{image}/deprecate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'image'], + pathParams: ['image', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/images/{image}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'image'], + pathParams: ['image', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getFromFamily(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/images/family/{family}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'family'], + pathParams: ['family', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/images/{resource}/getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/beta/projects/{project}/global/images') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/beta/projects/{project}/global/images') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/images/{resource}/setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setLabels(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/images/{resource}/setLabels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/images/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Images = Resource$Images; + class Resource$Instancegroupmanagers { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + abandonInstances(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/abandonInstances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/aggregated/instanceGroupManagers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + deleteInstances(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/deleteInstances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instanceGroupManagers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instanceGroupManagers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listManagedInstances(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listManagedInstances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + recreateInstances(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/recreateInstances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + resize(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resize') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager', 'size'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + resizeAdvanced(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeAdvanced') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setAutoHealingPolicies(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setAutoHealingPolicies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setInstanceTemplate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setInstanceTemplate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setTargetPools(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setTargetPools') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instanceGroupManagers/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Instancegroupmanagers = Resource$Instancegroupmanagers; + class Resource$Instancegroups { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + addInstances(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/addInstances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroup'], + pathParams: ['instanceGroup', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/aggregated/instanceGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroup'], + pathParams: ['instanceGroup', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroup'], + pathParams: ['instanceGroup', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instanceGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instanceGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listInstances(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/listInstances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroup'], + pathParams: ['instanceGroup', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + removeInstances(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/removeInstances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroup'], + pathParams: ['instanceGroup', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setNamedPorts(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/setNamedPorts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroup'], + pathParams: ['instanceGroup', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instanceGroups/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Instancegroups = Resource$Instancegroups; + class Resource$Instances { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + addAccessConfig(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instances/{instance}/addAccessConfig') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance', 'networkInterface'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/aggregated/instances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + attachDisk(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instances/{instance}/attachDisk') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instances/{instance}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + deleteAccessConfig(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instances/{instance}/deleteAccessConfig') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance', 'accessConfig', 'networkInterface'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + detachDisk(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instances/{instance}/detachDisk') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance', 'deviceName'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instances/{instance}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getGuestAttributes(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instances/{instance}/getGuestAttributes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instances/{resource}/getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getSerialPortOutput(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instances/{instance}/serialPort') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getShieldedVmIdentity(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instances/{instance}/getShieldedVmIdentity') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listReferrers(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instances/{instance}/referrers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + reset(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instances/{instance}/reset') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setDeletionProtection(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instances/{resource}/setDeletionProtection') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setDiskAutoDelete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instances/{instance}/setDiskAutoDelete') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance', 'autoDelete', 'deviceName'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instances/{resource}/setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setLabels(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instances/{instance}/setLabels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setMachineResources(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instances/{instance}/setMachineResources') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setMachineType(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instances/{instance}/setMachineType') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setMetadata(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instances/{instance}/setMetadata') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setMinCpuPlatform(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instances/{instance}/setMinCpuPlatform') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setScheduling(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instances/{instance}/setScheduling') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setServiceAccount(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instances/{instance}/setServiceAccount') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setShieldedVmIntegrityPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instances/{instance}/setShieldedVmIntegrityPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setTags(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instances/{instance}/setTags') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + simulateMaintenanceEvent(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instances/{instance}/simulateMaintenanceEvent') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + start(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instances/{instance}/start') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + startWithEncryptionKey(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instances/{instance}/startWithEncryptionKey') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + stop(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instances/{instance}/stop') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instances/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + updateAccessConfig(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instances/{instance}/updateAccessConfig') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance', 'networkInterface'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + updateNetworkInterface(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instances/{instance}/updateNetworkInterface') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'zone', 'instance', 'networkInterface'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + updateShieldedVmConfig(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instances/{instance}/updateShieldedVmConfig') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Instances = Resource$Instances; + class Resource$Instancetemplates { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/instanceTemplates/{instanceTemplate}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'instanceTemplate'], + pathParams: ['instanceTemplate', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/instanceTemplates/{instanceTemplate}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'instanceTemplate'], + pathParams: ['instanceTemplate', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/instanceTemplates/{resource}/getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/instanceTemplates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/instanceTemplates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/instanceTemplates/{resource}/setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/instanceTemplates/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Instancetemplates = Resource$Instancetemplates; + class Resource$Interconnectattachments { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/aggregated/interconnectAttachments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'region', 'interconnectAttachment'], + pathParams: ['interconnectAttachment', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'interconnectAttachment'], + pathParams: ['interconnectAttachment', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/interconnectAttachments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/interconnectAttachments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'region', 'interconnectAttachment'], + pathParams: ['interconnectAttachment', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setLabels(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/interconnectAttachments/{resource}/setLabels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/interconnectAttachments/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Interconnectattachments = Resource$Interconnectattachments; + class Resource$Interconnectlocations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/interconnectLocations/{interconnectLocation}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'interconnectLocation'], + pathParams: ['interconnectLocation', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/interconnectLocations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Interconnectlocations = Resource$Interconnectlocations; + class Resource$Interconnects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/interconnects/{interconnect}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'interconnect'], + pathParams: ['interconnect', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/interconnects/{interconnect}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'interconnect'], + pathParams: ['interconnect', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getDiagnostics(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/interconnects/{interconnect}/getDiagnostics') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'interconnect'], + pathParams: ['interconnect', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/interconnects') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/interconnects') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/interconnects/{interconnect}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'interconnect'], + pathParams: ['interconnect', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setLabels(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/interconnects/{resource}/setLabels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/interconnects/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Interconnects = Resource$Interconnects; + class Resource$Licensecodes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/licenseCodes/{licenseCode}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'licenseCode'], + pathParams: ['licenseCode', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Licensecodes = Resource$Licensecodes; + class Resource$Licenses { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/licenses/{license}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'license'], + pathParams: ['license', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/licenses/{license}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'license'], + pathParams: ['license', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/beta/projects/{project}/global/licenses') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/beta/projects/{project}/global/licenses') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Licenses = Resource$Licenses; + class Resource$Machinetypes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/aggregated/machineTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/machineTypes/{machineType}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'machineType'], + pathParams: ['machineType', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/machineTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Machinetypes = Resource$Machinetypes; + class Resource$Networkendpointgroups { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/aggregated/networkEndpointGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + attachNetworkEndpoints(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'networkEndpointGroup'], + pathParams: ['networkEndpointGroup', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'zone', 'networkEndpointGroup'], + pathParams: ['networkEndpointGroup', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + detachNetworkEndpoints(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'networkEndpointGroup'], + pathParams: ['networkEndpointGroup', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'networkEndpointGroup'], + pathParams: ['networkEndpointGroup', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/networkEndpointGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/networkEndpointGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listNetworkEndpoints(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'networkEndpointGroup'], + pathParams: ['networkEndpointGroup', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/networkEndpointGroups/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Networkendpointgroups = Resource$Networkendpointgroups; + class Resource$Networks { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + addPeering(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/networks/{network}/addPeering') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'network'], + pathParams: ['network', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/networks/{network}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'network'], + pathParams: ['network', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/networks/{network}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'network'], + pathParams: ['network', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/beta/projects/{project}/global/networks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/beta/projects/{project}/global/networks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/networks/{network}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'network'], + pathParams: ['network', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + removePeering(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/networks/{network}/removePeering') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'network'], + pathParams: ['network', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + switchToCustomMode(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/networks/{network}/switchToCustomMode') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'network'], + pathParams: ['network', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/networks/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Networks = Resource$Networks; + class Resource$Nodegroups { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + addNodes(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/addNodes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'nodeGroup'], + pathParams: ['nodeGroup', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/aggregated/nodeGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'zone', 'nodeGroup'], + pathParams: ['nodeGroup', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + deleteNodes(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/deleteNodes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'nodeGroup'], + pathParams: ['nodeGroup', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'nodeGroup'], + pathParams: ['nodeGroup', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/nodeGroups/{resource}/getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/nodeGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'initialNodeCount'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/nodeGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listNodes(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/listNodes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'nodeGroup'], + pathParams: ['nodeGroup', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/nodeGroups/{resource}/setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setNodeTemplate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/setNodeTemplate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'nodeGroup'], + pathParams: ['nodeGroup', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/nodeGroups/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Nodegroups = Resource$Nodegroups; + class Resource$Nodetemplates { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/aggregated/nodeTemplates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/nodeTemplates/{nodeTemplate}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'region', 'nodeTemplate'], + pathParams: ['nodeTemplate', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/nodeTemplates/{nodeTemplate}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'nodeTemplate'], + pathParams: ['nodeTemplate', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/nodeTemplates/{resource}/getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/nodeTemplates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/nodeTemplates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/nodeTemplates/{resource}/setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/nodeTemplates/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Nodetemplates = Resource$Nodetemplates; + class Resource$Nodetypes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/aggregated/nodeTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/nodeTypes/{nodeType}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'nodeType'], + pathParams: ['nodeType', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/nodeTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Nodetypes = Resource$Nodetypes; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + disableXpnHost(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/beta/projects/{project}/disableXpnHost') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + disableXpnResource(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/disableXpnResource') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + enableXpnHost(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/beta/projects/{project}/enableXpnHost') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + enableXpnResource(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/enableXpnResource') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/beta/projects/{project}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getXpnHost(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/beta/projects/{project}/getXpnHost') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getXpnResources(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/beta/projects/{project}/getXpnResources') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listXpnHosts(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/beta/projects/{project}/listXpnHosts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + moveDisk(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/beta/projects/{project}/moveDisk') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + moveInstance(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/beta/projects/{project}/moveInstance') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setCommonInstanceMetadata(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/setCommonInstanceMetadata') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setDefaultNetworkTier(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/setDefaultNetworkTier') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setUsageExportBucket(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/setUsageExportBucket') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Projects = Resource$Projects; + class Resource$Regionautoscalers { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/autoscalers/{autoscaler}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'region', 'autoscaler'], + pathParams: ['autoscaler', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/autoscalers/{autoscaler}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'autoscaler'], + pathParams: ['autoscaler', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/autoscalers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/autoscalers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/autoscalers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/autoscalers/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/autoscalers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Regionautoscalers = Resource$Regionautoscalers; + class Resource$Regionbackendservices { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/backendServices/{backendService}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'region', 'backendService'], + pathParams: ['backendService', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/backendServices/{backendService}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'backendService'], + pathParams: ['backendService', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getHealth(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/backendServices/{backendService}/getHealth') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'backendService'], + pathParams: ['backendService', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/backendServices') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/backendServices') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/backendServices/{backendService}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'region', 'backendService'], + pathParams: ['backendService', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/backendServices/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/backendServices/{backendService}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['project', 'region', 'backendService'], + pathParams: ['backendService', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Regionbackendservices = Resource$Regionbackendservices; + class Resource$Regioncommitments { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/aggregated/commitments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/commitments/{commitment}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'commitment'], + pathParams: ['commitment', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/commitments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/commitments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Regioncommitments = Resource$Regioncommitments; + class Resource$Regiondisks { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + addResourcePolicies(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/disks/{disk}/addResourcePolicies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'disk'], + pathParams: ['disk', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + createSnapshot(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/disks/{disk}/createSnapshot') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'disk'], + pathParams: ['disk', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/disks/{disk}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'region', 'disk'], + pathParams: ['disk', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/disks/{disk}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'disk'], + pathParams: ['disk', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/disks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/disks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + removeResourcePolicies(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/disks/{disk}/removeResourcePolicies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'disk'], + pathParams: ['disk', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + resize(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/disks/{disk}/resize') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'disk'], + pathParams: ['disk', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setLabels(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/disks/{resource}/setLabels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/disks/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Regiondisks = Resource$Regiondisks; + class Resource$Regiondisktypes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/diskTypes/{diskType}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'diskType'], + pathParams: ['diskType', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/diskTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Regiondisktypes = Resource$Regiondisktypes; + class Resource$Regioninstancegroupmanagers { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + abandonInstances(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/abandonInstances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'region', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + deleteInstances(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/deleteInstances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/instanceGroupManagers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/instanceGroupManagers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listManagedInstances(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listManagedInstances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'region', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + recreateInstances(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/recreateInstances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + resize(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resize') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'instanceGroupManager', 'size'], + pathParams: ['instanceGroupManager', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setAutoHealingPolicies(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setAutoHealingPolicies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setInstanceTemplate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setInstanceTemplate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setTargetPools(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setTargetPools') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/instanceGroupManagers/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['project', 'region', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Regioninstancegroupmanagers = Resource$Regioninstancegroupmanagers; + class Resource$Regioninstancegroups { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/instanceGroups/{instanceGroup}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'instanceGroup'], + pathParams: ['instanceGroup', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/instanceGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listInstances(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/instanceGroups/{instanceGroup}/listInstances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'instanceGroup'], + pathParams: ['instanceGroup', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setNamedPorts(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/instanceGroups/{instanceGroup}/setNamedPorts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'instanceGroup'], + pathParams: ['instanceGroup', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/instanceGroups/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Regioninstancegroups = Resource$Regioninstancegroups; + class Resource$Regionoperations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/operations/{operation}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'region', 'operation'], + pathParams: ['operation', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/operations/{operation}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'operation'], + pathParams: ['operation', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/operations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Regionoperations = Resource$Regionoperations; + class Resource$Regions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/beta/projects/{project}/regions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Regions = Resource$Regions; + class Resource$Resourcepolicies { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/aggregated/resourcePolicies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'region', 'resourcePolicy'], + pathParams: ['project', 'region', 'resourcePolicy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'resourcePolicy'], + pathParams: ['project', 'region', 'resourcePolicy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/resourcePolicies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/resourcePolicies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/resourcePolicies/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Resourcepolicies = Resource$Resourcepolicies; + class Resource$Routers { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/aggregated/routers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/routers/{router}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'region', 'router'], + pathParams: ['project', 'region', 'router'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/routers/{router}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'router'], + pathParams: ['project', 'region', 'router'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getNatMappingInfo(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/routers/{router}/getNatMappingInfo') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'router'], + pathParams: ['project', 'region', 'router'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getRouterStatus(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/routers/{router}/getRouterStatus') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'router'], + pathParams: ['project', 'region', 'router'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/routers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/routers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/routers/{router}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'region', 'router'], + pathParams: ['project', 'region', 'router'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + preview(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/routers/{router}/preview') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'router'], + pathParams: ['project', 'region', 'router'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/routers/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/routers/{router}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['project', 'region', 'router'], + pathParams: ['project', 'region', 'router'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Routers = Resource$Routers; + class Resource$Routes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/routes/{route}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'route'], + pathParams: ['project', 'route'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/routes/{route}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'route'], + pathParams: ['project', 'route'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/beta/projects/{project}/global/routes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/beta/projects/{project}/global/routes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/routes/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Routes = Resource$Routes; + class Resource$Securitypolicies { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + addRule(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/securityPolicies/{securityPolicy}/addRule') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'securityPolicy'], + pathParams: ['project', 'securityPolicy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/securityPolicies/{securityPolicy}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'securityPolicy'], + pathParams: ['project', 'securityPolicy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/securityPolicies/{securityPolicy}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'securityPolicy'], + pathParams: ['project', 'securityPolicy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getRule(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/securityPolicies/{securityPolicy}/getRule') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'securityPolicy'], + pathParams: ['project', 'securityPolicy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/securityPolicies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/securityPolicies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listPreconfiguredExpressionSets(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/securityPolicies/listPreconfiguredExpressionSets') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/securityPolicies/{securityPolicy}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'securityPolicy'], + pathParams: ['project', 'securityPolicy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patchRule(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/securityPolicies/{securityPolicy}/patchRule') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'securityPolicy'], + pathParams: ['project', 'securityPolicy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + removeRule(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/securityPolicies/{securityPolicy}/removeRule') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'securityPolicy'], + pathParams: ['project', 'securityPolicy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setLabels(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/securityPolicies/{resource}/setLabels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/securityPolicies/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Securitypolicies = Resource$Securitypolicies; + class Resource$Snapshots { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/snapshots/{snapshot}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'snapshot'], + pathParams: ['project', 'snapshot'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/snapshots/{snapshot}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'snapshot'], + pathParams: ['project', 'snapshot'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/snapshots/{resource}/getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/snapshots') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/snapshots/{resource}/setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setLabels(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/snapshots/{resource}/setLabels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/snapshots/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Snapshots = Resource$Snapshots; + class Resource$Sslcertificates { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/sslCertificates/{sslCertificate}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'sslCertificate'], + pathParams: ['project', 'sslCertificate'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/sslCertificates/{sslCertificate}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'sslCertificate'], + pathParams: ['project', 'sslCertificate'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/sslCertificates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/sslCertificates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/sslCertificates/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Sslcertificates = Resource$Sslcertificates; + class Resource$Sslpolicies { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/sslPolicies/{sslPolicy}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'sslPolicy'], + pathParams: ['project', 'sslPolicy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/sslPolicies/{sslPolicy}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'sslPolicy'], + pathParams: ['project', 'sslPolicy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/sslPolicies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/sslPolicies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listAvailableFeatures(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/sslPolicies/listAvailableFeatures') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/sslPolicies/{sslPolicy}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'sslPolicy'], + pathParams: ['project', 'sslPolicy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/sslPolicies/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Sslpolicies = Resource$Sslpolicies; + class Resource$Subnetworks { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/aggregated/subnetworks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/subnetworks/{subnetwork}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'region', 'subnetwork'], + pathParams: ['project', 'region', 'subnetwork'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + expandIpCidrRange(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/subnetworks/{subnetwork}/expandIpCidrRange') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'subnetwork'], + pathParams: ['project', 'region', 'subnetwork'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/subnetworks/{subnetwork}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'subnetwork'], + pathParams: ['project', 'region', 'subnetwork'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/subnetworks/{resource}/getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/subnetworks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/subnetworks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listUsable(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/aggregated/subnetworks/listUsable') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/subnetworks/{subnetwork}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'region', 'subnetwork'], + pathParams: ['project', 'region', 'subnetwork'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/subnetworks/{resource}/setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setPrivateIpGoogleAccess(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/subnetworks/{subnetwork}/setPrivateIpGoogleAccess') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'subnetwork'], + pathParams: ['project', 'region', 'subnetwork'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/subnetworks/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Subnetworks = Resource$Subnetworks; + class Resource$Targethttpproxies { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/targetHttpProxies/{targetHttpProxy}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'targetHttpProxy'], + pathParams: ['project', 'targetHttpProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/targetHttpProxies/{targetHttpProxy}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'targetHttpProxy'], + pathParams: ['project', 'targetHttpProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/targetHttpProxies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/targetHttpProxies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setUrlMap(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/targetHttpProxies/{targetHttpProxy}/setUrlMap') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'targetHttpProxy'], + pathParams: ['project', 'targetHttpProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/targetHttpProxies/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Targethttpproxies = Resource$Targethttpproxies; + class Resource$Targethttpsproxies { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'targetHttpsProxy'], + pathParams: ['project', 'targetHttpsProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'targetHttpsProxy'], + pathParams: ['project', 'targetHttpsProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/targetHttpsProxies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/targetHttpsProxies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setQuicOverride(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}/setQuicOverride') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'targetHttpsProxy'], + pathParams: ['project', 'targetHttpsProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setSslCertificates(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/targetHttpsProxies/{targetHttpsProxy}/setSslCertificates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'targetHttpsProxy'], + pathParams: ['project', 'targetHttpsProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setSslPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}/setSslPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'targetHttpsProxy'], + pathParams: ['project', 'targetHttpsProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setUrlMap(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/targetHttpsProxies/{targetHttpsProxy}/setUrlMap') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'targetHttpsProxy'], + pathParams: ['project', 'targetHttpsProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/targetHttpsProxies/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Targethttpsproxies = Resource$Targethttpsproxies; + class Resource$Targetinstances { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/aggregated/targetInstances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/targetInstances/{targetInstance}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'zone', 'targetInstance'], + pathParams: ['project', 'targetInstance', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/targetInstances/{targetInstance}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'targetInstance'], + pathParams: ['project', 'targetInstance', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/targetInstances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/targetInstances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/targetInstances/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Targetinstances = Resource$Targetinstances; + class Resource$Targetpools { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + addHealthCheck(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/targetPools/{targetPool}/addHealthCheck') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'targetPool'], + pathParams: ['project', 'region', 'targetPool'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + addInstance(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/targetPools/{targetPool}/addInstance') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'targetPool'], + pathParams: ['project', 'region', 'targetPool'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/aggregated/targetPools') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/targetPools/{targetPool}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'region', 'targetPool'], + pathParams: ['project', 'region', 'targetPool'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/targetPools/{targetPool}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'targetPool'], + pathParams: ['project', 'region', 'targetPool'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getHealth(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/targetPools/{targetPool}/getHealth') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'targetPool'], + pathParams: ['project', 'region', 'targetPool'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/targetPools') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/targetPools') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + removeHealthCheck(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/targetPools/{targetPool}/removeHealthCheck') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'targetPool'], + pathParams: ['project', 'region', 'targetPool'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + removeInstance(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/targetPools/{targetPool}/removeInstance') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'targetPool'], + pathParams: ['project', 'region', 'targetPool'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setBackup(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/targetPools/{targetPool}/setBackup') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'targetPool'], + pathParams: ['project', 'region', 'targetPool'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/targetPools/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Targetpools = Resource$Targetpools; + class Resource$Targetsslproxies { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/targetSslProxies/{targetSslProxy}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'targetSslProxy'], + pathParams: ['project', 'targetSslProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/targetSslProxies/{targetSslProxy}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'targetSslProxy'], + pathParams: ['project', 'targetSslProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/targetSslProxies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/targetSslProxies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setBackendService(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/targetSslProxies/{targetSslProxy}/setBackendService') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'targetSslProxy'], + pathParams: ['project', 'targetSslProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setProxyHeader(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/targetSslProxies/{targetSslProxy}/setProxyHeader') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'targetSslProxy'], + pathParams: ['project', 'targetSslProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setSslCertificates(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/targetSslProxies/{targetSslProxy}/setSslCertificates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'targetSslProxy'], + pathParams: ['project', 'targetSslProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setSslPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/targetSslProxies/{targetSslProxy}/setSslPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'targetSslProxy'], + pathParams: ['project', 'targetSslProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/targetSslProxies/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Targetsslproxies = Resource$Targetsslproxies; + class Resource$Targettcpproxies { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/targetTcpProxies/{targetTcpProxy}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'targetTcpProxy'], + pathParams: ['project', 'targetTcpProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/targetTcpProxies/{targetTcpProxy}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'targetTcpProxy'], + pathParams: ['project', 'targetTcpProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/targetTcpProxies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/targetTcpProxies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setBackendService(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/targetTcpProxies/{targetTcpProxy}/setBackendService') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'targetTcpProxy'], + pathParams: ['project', 'targetTcpProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setProxyHeader(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/targetTcpProxies/{targetTcpProxy}/setProxyHeader') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'targetTcpProxy'], + pathParams: ['project', 'targetTcpProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Targettcpproxies = Resource$Targettcpproxies; + class Resource$Targetvpngateways { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/aggregated/targetVpnGateways') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/targetVpnGateways/{targetVpnGateway}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'region', 'targetVpnGateway'], + pathParams: ['project', 'region', 'targetVpnGateway'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/targetVpnGateways/{targetVpnGateway}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'targetVpnGateway'], + pathParams: ['project', 'region', 'targetVpnGateway'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/targetVpnGateways') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/targetVpnGateways') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setLabels(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/targetVpnGateways/{resource}/setLabels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/targetVpnGateways/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Targetvpngateways = Resource$Targetvpngateways; + class Resource$Urlmaps { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/urlMaps/{urlMap}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'urlMap'], + pathParams: ['project', 'urlMap'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/urlMaps/{urlMap}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'urlMap'], + pathParams: ['project', 'urlMap'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/beta/projects/{project}/global/urlMaps') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + invalidateCache(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/urlMaps/{urlMap}/invalidateCache') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'urlMap'], + pathParams: ['project', 'urlMap'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/beta/projects/{project}/global/urlMaps') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/urlMaps/{urlMap}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'urlMap'], + pathParams: ['project', 'urlMap'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/urlMaps/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/urlMaps/{urlMap}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['project', 'urlMap'], + pathParams: ['project', 'urlMap'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + validate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/global/urlMaps/{urlMap}/validate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'urlMap'], + pathParams: ['project', 'urlMap'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Urlmaps = Resource$Urlmaps; + class Resource$Vpntunnels { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/aggregated/vpnTunnels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/vpnTunnels/{vpnTunnel}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'region', 'vpnTunnel'], + pathParams: ['project', 'region', 'vpnTunnel'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/vpnTunnels/{vpnTunnel}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'vpnTunnel'], + pathParams: ['project', 'region', 'vpnTunnel'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/vpnTunnels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/vpnTunnels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setLabels(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/vpnTunnels/{resource}/setLabels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/vpnTunnels/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Vpntunnels = Resource$Vpntunnels; + class Resource$Zoneoperations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/operations/{operation}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'zone', 'operation'], + pathParams: ['operation', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/operations/{operation}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'operation'], + pathParams: ['operation', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/operations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Zoneoperations = Resource$Zoneoperations; + class Resource$Zones { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/beta/projects/{project}/zones/{zone}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/beta/projects/{project}/zones') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_beta.Resource$Zones = Resource$Zones; +})(compute_beta = exports.compute_beta || (exports.compute_beta = {})); +//# sourceMappingURL=beta.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/compute/beta.js.map b/express-server/node_modules/googleapis/build/src/apis/compute/beta.js.map new file mode 100644 index 00000000..3bb74559 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/compute/beta.js.map @@ -0,0 +1 @@ +{"version":3,"file":"beta.js","sourceRoot":"","sources":["../../../../src/apis/compute/beta.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/compute/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/compute/index.d.ts new file mode 100644 index 00000000..a6678f39 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/compute/index.d.ts @@ -0,0 +1,14 @@ +import { compute_alpha } from './alpha'; +import { compute_beta } from './beta'; +import { compute_v1 } from './v1'; +export declare const VERSIONS: { + 'alpha': typeof compute_alpha.Compute; + 'beta': typeof compute_beta.Compute; + 'v1': typeof compute_v1.Compute; +}; +export declare function compute(version: 'alpha'): compute_alpha.Compute; +export declare function compute(options: compute_alpha.Options): compute_alpha.Compute; +export declare function compute(version: 'beta'): compute_beta.Compute; +export declare function compute(options: compute_beta.Options): compute_beta.Compute; +export declare function compute(version: 'v1'): compute_v1.Compute; +export declare function compute(options: compute_v1.Options): compute_v1.Compute; diff --git a/express-server/node_modules/googleapis/build/src/apis/compute/index.js b/express-server/node_modules/googleapis/build/src/apis/compute/index.js new file mode 100644 index 00000000..c02cee98 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/compute/index.js @@ -0,0 +1,29 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const alpha_1 = require("./alpha"); +const beta_1 = require("./beta"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'alpha': alpha_1.compute_alpha.Compute, + 'beta': beta_1.compute_beta.Compute, + 'v1': v1_1.compute_v1.Compute, +}; +function compute(versionOrOptions) { + return googleapis_common_1.getAPI('compute', versionOrOptions, exports.VERSIONS, this); +} +exports.compute = compute; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/compute/index.js.map b/express-server/node_modules/googleapis/build/src/apis/compute/index.js.map new file mode 100644 index 00000000..b0e02cd9 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/compute/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/compute/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,mCAAsC;AACtC,iCAAoC;AACpC,6BAAgC;AAEnB,QAAA,QAAQ,GAAG;IACtB,OAAO,EAAE,qBAAa,CAAC,OAAO;IAC9B,MAAM,EAAE,mBAAY,CAAC,OAAO;IAC5B,IAAI,EAAE,eAAU,CAAC,OAAO;CACzB,CAAC;AAQF,SACA,OAAO,CAEH,gBAC4C;IAC9C,OAAO,0BAAM,CAAI,SAAS,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAChE,CAAC;AAND,0BAMC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/compute/package.json b/express-server/node_modules/googleapis/build/src/apis/compute/package.json new file mode 100644 index 00000000..9fb703fd --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/compute/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/compute", + "version": "0.1.0", + "description": "compute", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/compute/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/compute/v1.d.ts new file mode 100644 index 00000000..22f7c905 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/compute/v1.d.ts @@ -0,0 +1,48255 @@ +/** + * 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 { JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace compute_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Compute Engine API + * + * Creates and runs virtual machines on Google Cloud Platform. + * + * @example + * const {google} = require('googleapis'); + * const compute = google.compute('v1'); + * + * @namespace compute + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Compute + */ + class Compute { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + acceleratorTypes: Resource$Acceleratortypes; + addresses: Resource$Addresses; + autoscalers: Resource$Autoscalers; + backendBuckets: Resource$Backendbuckets; + backendServices: Resource$Backendservices; + disks: Resource$Disks; + diskTypes: Resource$Disktypes; + firewalls: Resource$Firewalls; + forwardingRules: Resource$Forwardingrules; + globalAddresses: Resource$Globaladdresses; + globalForwardingRules: Resource$Globalforwardingrules; + globalOperations: Resource$Globaloperations; + healthChecks: Resource$Healthchecks; + httpHealthChecks: Resource$Httphealthchecks; + httpsHealthChecks: Resource$Httpshealthchecks; + images: Resource$Images; + instanceGroupManagers: Resource$Instancegroupmanagers; + instanceGroups: Resource$Instancegroups; + instances: Resource$Instances; + instanceTemplates: Resource$Instancetemplates; + interconnectAttachments: Resource$Interconnectattachments; + interconnectLocations: Resource$Interconnectlocations; + interconnects: Resource$Interconnects; + licenseCodes: Resource$Licensecodes; + licenses: Resource$Licenses; + machineTypes: Resource$Machinetypes; + networks: Resource$Networks; + nodeGroups: Resource$Nodegroups; + nodeTemplates: Resource$Nodetemplates; + nodeTypes: Resource$Nodetypes; + projects: Resource$Projects; + regionAutoscalers: Resource$Regionautoscalers; + regionBackendServices: Resource$Regionbackendservices; + regionCommitments: Resource$Regioncommitments; + regionDisks: Resource$Regiondisks; + regionDiskTypes: Resource$Regiondisktypes; + regionInstanceGroupManagers: Resource$Regioninstancegroupmanagers; + regionInstanceGroups: Resource$Regioninstancegroups; + regionOperations: Resource$Regionoperations; + regions: Resource$Regions; + routers: Resource$Routers; + routes: Resource$Routes; + securityPolicies: Resource$Securitypolicies; + snapshots: Resource$Snapshots; + sslCertificates: Resource$Sslcertificates; + sslPolicies: Resource$Sslpolicies; + subnetworks: Resource$Subnetworks; + targetHttpProxies: Resource$Targethttpproxies; + targetHttpsProxies: Resource$Targethttpsproxies; + targetInstances: Resource$Targetinstances; + targetPools: Resource$Targetpools; + targetSslProxies: Resource$Targetsslproxies; + targetTcpProxies: Resource$Targettcpproxies; + targetVpnGateways: Resource$Targetvpngateways; + urlMaps: Resource$Urlmaps; + vpnTunnels: Resource$Vpntunnels; + zoneOperations: Resource$Zoneoperations; + zones: Resource$Zones; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * A specification of the type and number of accelerator cards attached to the + * instance. + */ + interface Schema$AcceleratorConfig { + /** + * The number of the guest accelerator cards exposed to this instance. + */ + acceleratorCount?: number; + /** + * Full or partial URL of the accelerator type resource to attach to this + * instance. If you are creating an instance template, specify only the + * accelerator name. + */ + acceleratorType?: string; + } + /** + * An Accelerator Type resource. (== resource_for beta.acceleratorTypes ==) + * (== resource_for v1.acceleratorTypes ==) + */ + interface Schema$AcceleratorType { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * [Output Only] The deprecation status associated with this accelerator + * type. + */ + deprecated?: Schema$DeprecationStatus; + /** + * [Output Only] An optional textual description of the resource. + */ + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] The type of the resource. Always compute#acceleratorType + * for accelerator types. + */ + kind?: string; + /** + * [Output Only] Maximum accelerator cards allowed per instance. + */ + maximumCardsPerInstance?: number; + /** + * [Output Only] Name of the resource. + */ + name?: string; + /** + * [Output Only] Server-defined fully-qualified URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] The name of the zone where the accelerator type resides, + * such as us-central1-a. You must specify this field as part of the HTTP + * request URL. It is not settable as a field in the request body. + */ + zone?: string; + } + interface Schema$AcceleratorTypeAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of AcceleratorTypesScopedList resources. + */ + items?: any; + /** + * [Output Only] Type of resource. Always + * compute#acceleratorTypeAggregatedList for aggregated lists of accelerator + * types. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of accelerator types. + */ + interface Schema$AcceleratorTypeList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of AcceleratorType resources. + */ + items?: Schema$AcceleratorType[]; + /** + * [Output Only] Type of resource. Always compute#acceleratorTypeList for + * lists of accelerator types. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$AcceleratorTypesScopedList { + /** + * [Output Only] A list of accelerator types contained in this scope. + */ + acceleratorTypes?: Schema$AcceleratorType[]; + /** + * [Output Only] An informational warning that appears when the accelerator + * types list is empty. + */ + warning?: any; + } + /** + * An access configuration attached to an instance's network interface. + * Only one access config per instance is supported. + */ + interface Schema$AccessConfig { + /** + * [Output Only] Type of the resource. Always compute#accessConfig for + * access configs. + */ + kind?: string; + /** + * The name of this access configuration. The default and recommended name + * is External NAT but you can use any arbitrary string you would like. For + * example, My external IP or Network Access. + */ + name?: string; + /** + * An external IP address associated with this instance. Specify an unused + * static external IP address available to the project or leave this field + * undefined to use an IP from a shared ephemeral IP address pool. If you + * specify a static external IP address, it must live in the same region as + * the zone of the instance. + */ + natIP?: string; + /** + * This signifies the networking tier used for configuring this access + * configuration and can only take the following values: PREMIUM, STANDARD. + * If an AccessConfig is specified without a valid external IP address, an + * ephemeral IP will be created with this networkTier. If an AccessConfig + * with a valid external IP address is specified, it must match that of the + * networkTier associated with the Address resource owning that IP. + */ + networkTier?: string; + /** + * The DNS domain name for the public PTR record. This field can only be set + * when the set_public_ptr field is enabled. + */ + publicPtrDomainName?: string; + /** + * Specifies whether a public DNS ?PTR? record should be created to map the + * external IP address of the instance to a DNS domain name. + */ + setPublicPtr?: boolean; + /** + * The type of configuration. The default and only option is ONE_TO_ONE_NAT. + */ + type?: string; + } + /** + * A reserved address resource. (== resource_for beta.addresses ==) (== + * resource_for v1.addresses ==) (== resource_for beta.globalAddresses ==) (== + * resource_for v1.globalAddresses ==) + */ + interface Schema$Address { + /** + * The static IP address represented by this resource. + */ + address?: string; + /** + * The type of address to reserve, either INTERNAL or EXTERNAL. If + * unspecified, defaults to EXTERNAL. + */ + addressType?: string; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * The IP Version that will be used by this address. Valid options are IPV4 + * or IPV6. This can only be specified for a global address. + */ + ipVersion?: string; + /** + * [Output Only] Type of the resource. Always compute#address for addresses. + */ + kind?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * This signifies the networking tier used for configuring this Address and + * can only take the following values: PREMIUM , STANDARD. If this field is + * not specified, it is assumed to be PREMIUM. + */ + networkTier?: string; + /** + * [Output Only] URL of the region where the regional address resides. This + * field is not applicable to global addresses. You must specify this field + * as part of the HTTP request URL. You cannot set this field in the request + * body. + */ + region?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] The status of the address, which can be one of RESERVING, + * RESERVED, or IN_USE. An address that is RESERVING is currently in the + * process of being reserved. A RESERVED address is currently reserved and + * available to use. An IN_USE address is currently being used by another + * resource and is not available. + */ + status?: string; + /** + * The URL of the subnetwork in which to reserve the address. If an IP + * address is specified, it must be within the subnetwork's IP range. + * This field can only be used with INTERNAL type with + * GCE_ENDPOINT/DNS_RESOLVER purposes. + */ + subnetwork?: string; + /** + * [Output Only] The URLs of the resources that are using this address. + */ + users?: string[]; + } + interface Schema$AddressAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of AddressesScopedList resources. + */ + items?: any; + /** + * [Output Only] Type of resource. Always compute#addressAggregatedList for + * aggregated lists of addresses. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$AddressesScopedList { + /** + * [Output Only] A list of addresses contained in this scope. + */ + addresses?: Schema$Address[]; + /** + * [Output Only] Informational warning which replaces the list of addresses + * when the list is empty. + */ + warning?: any; + } + /** + * Contains a list of addresses. + */ + interface Schema$AddressList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Address resources. + */ + items?: Schema$Address[]; + /** + * [Output Only] Type of resource. Always compute#addressList for lists of + * addresses. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * An alias IP range attached to an instance's network interface. + */ + interface Schema$AliasIpRange { + /** + * The IP CIDR range represented by this alias IP range. This IP CIDR range + * must belong to the specified subnetwork and cannot contain IP addresses + * reserved by system or used by other network interfaces. This range may be + * a single IP address (e.g. 10.2.3.4), a netmask (e.g. /24) or a CIDR + * format string (e.g. 10.1.2.0/24). + */ + ipCidrRange?: string; + /** + * Optional subnetwork secondary range name specifying the secondary range + * from which to allocate the IP CIDR range for this alias IP range. If left + * unspecified, the primary range of the subnetwork will be used. + */ + subnetworkRangeName?: string; + } + /** + * An instance-attached disk resource. + */ + interface Schema$AttachedDisk { + /** + * Specifies whether the disk will be auto-deleted when the instance is + * deleted (but not when the disk is detached from the instance). + */ + autoDelete?: boolean; + /** + * Indicates that this is a boot disk. The virtual machine will use the + * first partition of the disk for its root filesystem. + */ + boot?: boolean; + /** + * Specifies a unique device name of your choice that is reflected into the + * /dev/disk/by-id/google-* tree of a Linux operating system running within + * the instance. This name can be used to reference the device for mounting, + * resizing, and so on, from within the instance. If not specified, the + * server chooses a default device name to apply to this disk, in the form + * persistent-disks-x, where x is a number assigned by Google Compute + * Engine. This field is only applicable for persistent disks. + */ + deviceName?: string; + /** + * Encrypts or decrypts a disk using a customer-supplied encryption key. If + * you are creating a new disk, this field encrypts the new disk using an + * encryption key that you provide. If you are attaching an existing disk + * that is already encrypted, this field decrypts the disk using the + * customer-supplied encryption key. If you encrypt a disk using a + * customer-supplied key, you must provide the same key again when you + * attempt to use this resource at a later time. For example, you must + * provide the key when you create a snapshot or an image from the disk or + * when you attach the disk to a virtual machine instance. If you do not + * provide an encryption key, then the disk will be encrypted using an + * automatically generated key and you do not need to provide a key to use + * the disk later. Instance templates do not store customer-supplied + * encryption keys, so you cannot use your own keys to encrypt disks in a + * managed instance group. + */ + diskEncryptionKey?: Schema$CustomerEncryptionKey; + /** + * A list of features to enable on the guest operating system. Applicable + * only for bootable images. Read Enabling guest operating system features + * to see a list of available options. + */ + guestOsFeatures?: Schema$GuestOsFeature[]; + /** + * [Output Only] A zero-based index to this disk, where 0 is reserved for + * the boot disk. If you have many disks attached to an instance, each disk + * would have a unique index number. + */ + index?: number; + /** + * [Input Only] Specifies the parameters for a new disk that will be created + * alongside the new instance. Use initialization parameters to create boot + * disks or local SSDs attached to the new instance. This property is + * mutually exclusive with the source property; you can only define one or + * the other, but not both. + */ + initializeParams?: Schema$AttachedDiskInitializeParams; + /** + * Specifies the disk interface to use for attaching this disk, which is + * either SCSI or NVME. The default is SCSI. Persistent disks must always + * use SCSI and the request will fail if you attempt to attach a persistent + * disk in any other format than SCSI. Local SSDs can use either NVME or + * SCSI. For performance characteristics of SCSI over NVMe, see Local SSD + * performance. + */ + interface?: string; + /** + * [Output Only] Type of the resource. Always compute#attachedDisk for + * attached disks. + */ + kind?: string; + /** + * [Output Only] Any valid publicly visible licenses. + */ + licenses?: string[]; + /** + * The mode in which to attach this disk, either READ_WRITE or READ_ONLY. If + * not specified, the default is to attach the disk in READ_WRITE mode. + */ + mode?: string; + /** + * Specifies a valid partial or full URL to an existing Persistent Disk + * resource. When creating a new instance, one of + * initializeParams.sourceImage or disks.source is required except for local + * SSD. If desired, you can also attach existing non-root persistent disks + * using this property. This field is only applicable for persistent disks. + * Note that for InstanceTemplate, specify the disk name, not the URL for + * the disk. + */ + source?: string; + /** + * Specifies the type of the disk, either SCRATCH or PERSISTENT. If not + * specified, the default is PERSISTENT. + */ + type?: string; + } + /** + * [Input Only] Specifies the parameters for a new disk that will be created + * alongside the new instance. Use initialization parameters to create boot + * disks or local SSDs attached to the new instance. This property is + * mutually exclusive with the source property; you can only define one or the + * other, but not both. + */ + interface Schema$AttachedDiskInitializeParams { + /** + * An optional description. Provide this property when creating the disk. + */ + description?: string; + /** + * Specifies the disk name. If not specified, the default is to use the name + * of the instance. If the disk with the instance name exists already in the + * given zone/region, a new name will be automatically generated. + */ + diskName?: string; + /** + * Specifies the size of the disk in base-2 GB. + */ + diskSizeGb?: string; + /** + * Specifies the disk type to use to create the instance. If not specified, + * the default is pd-standard, specified using the full URL. For example: + * https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/pd-standard + * Other values include pd-ssd and local-ssd. If you define this field, you + * can provide either the full or partial URL. For example, the following + * are valid values: - + * https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/diskType + * - projects/project/zones/zone/diskTypes/diskType - + * zones/zone/diskTypes/diskType Note that for InstanceTemplate, this is + * the name of the disk type, not URL. + */ + diskType?: string; + /** + * Labels to apply to this disk. These can be later modified by the + * disks.setLabels method. This field is only applicable for persistent + * disks. + */ + labels?: any; + /** + * The source image to create this disk. When creating a new instance, one + * of initializeParams.sourceImage or disks.source is required except for + * local SSD. To create a disk with one of the public operating system + * images, specify the image by its family name. For example, specify + * family/debian-9 to use the latest Debian 9 image: + * projects/debian-cloud/global/images/family/debian-9 Alternatively, use + * a specific version of a public operating system image: + * projects/debian-cloud/global/images/debian-9-stretch-vYYYYMMDD To + * create a disk with a custom image that you created, specify the image + * name in the following format: global/images/my-custom-image You can + * also specify a custom image by its image family, which returns the latest + * version of the image in that family. Replace the image name with + * family/family-name: global/images/family/my-image-family If the source + * image is deleted later, this field will not be set. + */ + sourceImage?: string; + /** + * The customer-supplied encryption key of the source image. Required if the + * source image is protected by a customer-supplied encryption key. Instance + * templates do not store customer-supplied encryption keys, so you cannot + * create disks for instances in a managed instance group if the source + * images are encrypted with your own keys. + */ + sourceImageEncryptionKey?: Schema$CustomerEncryptionKey; + } + /** + * Represents an Autoscaler resource. Autoscalers allow you to automatically + * scale virtual machine instances in managed instance groups according to an + * autoscaling policy that you define. For more information, read Autoscaling + * Groups of Instances. (== resource_for beta.autoscalers ==) (== resource_for + * v1.autoscalers ==) (== resource_for beta.regionAutoscalers ==) (== + * resource_for v1.regionAutoscalers ==) + */ + interface Schema$Autoscaler { + /** + * The configuration parameters for the autoscaling algorithm. You can + * define one or more of the policies for an autoscaler: cpuUtilization, + * customMetricUtilizations, and loadBalancingUtilization. If none of these + * are specified, the default will be to autoscale based on cpuUtilization + * to 0.6 or 60%. + */ + autoscalingPolicy?: Schema$AutoscalingPolicy; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of the resource. Always compute#autoscaler for + * autoscalers. + */ + kind?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * [Output Only] URL of the region where the instance group resides (for + * autoscalers living in regional scope). + */ + region?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] The status of the autoscaler configuration. + */ + status?: string; + /** + * [Output Only] Human-readable details about the current state of the + * autoscaler. Read the documentation for Commonly returned status messages + * for examples of status messages you might encounter. + */ + statusDetails?: Schema$AutoscalerStatusDetails[]; + /** + * URL of the managed instance group that this autoscaler will scale. + */ + target?: string; + /** + * [Output Only] URL of the zone where the instance group resides (for + * autoscalers living in zonal scope). + */ + zone?: string; + } + interface Schema$AutoscalerAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of AutoscalersScopedList resources. + */ + items?: any; + /** + * [Output Only] Type of resource. Always compute#autoscalerAggregatedList + * for aggregated lists of autoscalers. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of Autoscaler resources. + */ + interface Schema$AutoscalerList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Autoscaler resources. + */ + items?: Schema$Autoscaler[]; + /** + * [Output Only] Type of resource. Always compute#autoscalerList for lists + * of autoscalers. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$AutoscalersScopedList { + /** + * [Output Only] A list of autoscalers contained in this scope. + */ + autoscalers?: Schema$Autoscaler[]; + /** + * [Output Only] Informational warning which replaces the list of + * autoscalers when the list is empty. + */ + warning?: any; + } + interface Schema$AutoscalerStatusDetails { + /** + * The status message. + */ + message?: string; + /** + * The type of error returned. + */ + type?: string; + } + /** + * Cloud Autoscaler policy. + */ + interface Schema$AutoscalingPolicy { + /** + * The number of seconds that the autoscaler should wait before it starts + * collecting information from a new instance. This prevents the autoscaler + * from collecting information when the instance is initializing, during + * which the collected usage would not be reliable. The default time + * autoscaler waits is 60 seconds. Virtual machine initialization times + * might vary because of numerous factors. We recommend that you test how + * long an instance may take to initialize. To do this, create an instance + * and time the startup process. + */ + coolDownPeriodSec?: number; + /** + * Defines the CPU utilization policy that allows the autoscaler to scale + * based on the average CPU utilization of a managed instance group. + */ + cpuUtilization?: Schema$AutoscalingPolicyCpuUtilization; + /** + * Configuration parameters of autoscaling based on a custom metric. + */ + customMetricUtilizations?: Schema$AutoscalingPolicyCustomMetricUtilization[]; + /** + * Configuration parameters of autoscaling based on load balancer. + */ + loadBalancingUtilization?: Schema$AutoscalingPolicyLoadBalancingUtilization; + /** + * The maximum number of instances that the autoscaler can scale up to. This + * is required when creating or updating an autoscaler. The maximum number + * of replicas should not be lower than minimal number of replicas. + */ + maxNumReplicas?: number; + /** + * The minimum number of replicas that the autoscaler can scale down to. + * This cannot be less than 0. If not provided, autoscaler will choose a + * default value depending on maximum number of instances allowed. + */ + minNumReplicas?: number; + } + /** + * CPU utilization policy. + */ + interface Schema$AutoscalingPolicyCpuUtilization { + /** + * The target CPU utilization that the autoscaler should maintain. Must be a + * float value in the range (0, 1]. If not specified, the default is 0.6. If + * the CPU level is below the target utilization, the autoscaler scales down + * the number of instances until it reaches the minimum number of instances + * you specified or until the average CPU of your instances reaches the + * target utilization. If the average CPU is above the target utilization, + * the autoscaler scales up until it reaches the maximum number of instances + * you specified or until the average utilization reaches the target + * utilization. + */ + utilizationTarget?: number; + } + /** + * Custom utilization metric policy. + */ + interface Schema$AutoscalingPolicyCustomMetricUtilization { + /** + * The identifier (type) of the Stackdriver Monitoring metric. The metric + * cannot have negative values. The metric must have a value type of INT64 + * or DOUBLE. + */ + metric?: string; + /** + * The target value of the metric that autoscaler should maintain. This must + * be a positive value. A utilization metric scales number of virtual + * machines handling requests to increase or decrease proportionally to the + * metric. For example, a good metric to use as a utilization_target is + * compute.googleapis.com/instance/network/received_bytes_count. The + * autoscaler will work to keep this value constant for each of the + * instances. + */ + utilizationTarget?: number; + /** + * Defines how target utilization value is expressed for a Stackdriver + * Monitoring metric. Either GAUGE, DELTA_PER_SECOND, or DELTA_PER_MINUTE. + * If not specified, the default is GAUGE. + */ + utilizationTargetType?: string; + } + /** + * Configuration parameters of autoscaling based on load balancing. + */ + interface Schema$AutoscalingPolicyLoadBalancingUtilization { + /** + * Fraction of backend capacity utilization (set in HTTP(s) load balancing + * configuration) that autoscaler should maintain. Must be a positive float + * value. If not defined, the default is 0.8. + */ + utilizationTarget?: number; + } + /** + * Message containing information of one individual backend. + */ + interface Schema$Backend { + /** + * Specifies the balancing mode for this backend. For global HTTP(S) or + * TCP/SSL load balancing, the default is UTILIZATION. Valid values are + * UTILIZATION, RATE (for HTTP(S)) and CONNECTION (for TCP/SSL). For + * Internal Load Balancing, the default and only supported mode is + * CONNECTION. + */ + balancingMode?: string; + /** + * A multiplier applied to the group's maximum servicing capacity (based + * on UTILIZATION, RATE or CONNECTION). Default value is 1, which means the + * group will serve up to 100% of its configured capacity (depending on + * balancingMode). A setting of 0 means the group is completely drained, + * offering 0% of its available Capacity. Valid range is [0.0,1.0]. This + * cannot be used for internal load balancing. + */ + capacityScaler?: number; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * The fully-qualified URL of a Instance Group resource. This instance group + * defines the list of instances that serve traffic. Member virtual machine + * instances from each instance group must live in the same zone as the + * instance group itself. No two backends in a backend service are allowed + * to use same Instance Group resource. Note that you must specify an + * Instance Group resource using the fully-qualified URL, rather than a + * partial URL. When the BackendService has load balancing scheme INTERNAL, + * the instance group must be within the same region as the BackendService. + */ + group?: string; + /** + * The max number of simultaneous connections for the group. Can be used + * with either CONNECTION or UTILIZATION balancing modes. For CONNECTION + * mode, either maxConnections or maxConnectionsPerInstance must be set. + * This cannot be used for internal load balancing. + */ + maxConnections?: number; + /** + * The max number of simultaneous connections that a single backend instance + * can handle. This is used to calculate the capacity of the group. Can be + * used in either CONNECTION or UTILIZATION balancing modes. For CONNECTION + * mode, either maxConnections or maxConnectionsPerInstance must be set. + * This cannot be used for internal load balancing. + */ + maxConnectionsPerInstance?: number; + /** + * The max requests per second (RPS) of the group. Can be used with either + * RATE or UTILIZATION balancing modes, but required if RATE mode. For RATE + * mode, either maxRate or maxRatePerInstance must be set. This cannot be + * used for internal load balancing. + */ + maxRate?: number; + /** + * The max requests per second (RPS) that a single backend instance can + * handle. This is used to calculate the capacity of the group. Can be used + * in either balancing mode. For RATE mode, either maxRate or + * maxRatePerInstance must be set. This cannot be used for internal load + * balancing. + */ + maxRatePerInstance?: number; + /** + * Used when balancingMode is UTILIZATION. This ratio defines the CPU + * utilization target for the group. The default is 0.8. Valid range is + * [0.0, 1.0]. This cannot be used for internal load balancing. + */ + maxUtilization?: number; + } + /** + * A BackendBucket resource. This resource defines a Cloud Storage bucket. + */ + interface Schema$BackendBucket { + /** + * Cloud Storage bucket name. + */ + bucketName?: string; + /** + * Cloud CDN configuration for this BackendBucket. + */ + cdnPolicy?: Schema$BackendBucketCdnPolicy; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional textual description of the resource; provided by the client + * when the resource is created. + */ + description?: string; + /** + * If true, enable Cloud CDN for this BackendBucket. + */ + enableCdn?: boolean; + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * Type of the resource. + */ + kind?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + } + /** + * Message containing Cloud CDN configuration for a backend bucket. + */ + interface Schema$BackendBucketCdnPolicy { + /** + * Maximum number of seconds the response to a signed URL request will be + * considered fresh. After this time period, the response will be + * revalidated before being served. Defaults to 1hr (3600s). When serving + * responses to signed URL requests, Cloud CDN will internally behave as + * though all responses from this backend had a ?Cache-Control: public, + * max-age=[TTL]? header, regardless of any existing Cache-Control header. + * The actual headers served in responses will not be altered. + */ + signedUrlCacheMaxAgeSec?: string; + /** + * [Output Only] Names of the keys for signing request URLs. + */ + signedUrlKeyNames?: string[]; + } + /** + * Contains a list of BackendBucket resources. + */ + interface Schema$BackendBucketList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of BackendBucket resources. + */ + items?: Schema$BackendBucket[]; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * A BackendService resource. This resource defines a group of backend virtual + * machines and their serving capacity. (== resource_for v1.backendService ==) + * (== resource_for beta.backendService ==) + */ + interface Schema$BackendService { + /** + * Lifetime of cookies in seconds if session_affinity is GENERATED_COOKIE. + * If set to 0, the cookie is non-persistent and lasts only until the end of + * the browser session (or equivalent). The maximum allowed value for TTL is + * one day. When the load balancing scheme is INTERNAL, this field is not + * used. + */ + affinityCookieTtlSec?: number; + /** + * The list of backends that serve this BackendService. + */ + backends?: Schema$Backend[]; + /** + * Cloud CDN configuration for this BackendService. + */ + cdnPolicy?: Schema$BackendServiceCdnPolicy; + connectionDraining?: Schema$ConnectionDraining; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * If true, enable Cloud CDN for this BackendService. When the load + * balancing scheme is INTERNAL, this field is not used. + */ + enableCDN?: boolean; + /** + * Fingerprint of this resource. A hash of the contents stored in this + * object. This field is used in optimistic locking. This field will be + * ignored when inserting a BackendService. An up-to-date fingerprint must + * be provided in order to update the BackendService. To see the latest + * fingerprint, make a get() request to retrieve a BackendService. + */ + fingerprint?: string; + /** + * The list of URLs to the HttpHealthCheck or HttpsHealthCheck resource for + * health checking this BackendService. Currently at most one health check + * can be specified, and a health check is required for Compute Engine + * backend services. A health check must not be specified for App Engine + * backend and Cloud Function backend. For internal load balancing, a URL + * to a HealthCheck resource must be specified instead. + */ + healthChecks?: string[]; + iap?: Schema$BackendServiceIAP; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of resource. Always compute#backendService for backend + * services. + */ + kind?: string; + /** + * Indicates whether the backend service will be used with internal or + * external load balancing. A backend service created for one type of load + * balancing cannot be used with the other. Possible values are INTERNAL and + * EXTERNAL. + */ + loadBalancingScheme?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * Deprecated in favor of portName. The TCP port to connect on the backend. + * The default value is 80. This cannot be used for internal load + * balancing. + */ + port?: number; + /** + * Name of backend port. The same name should appear in the instance groups + * referenced by this service. Required when the load balancing scheme is + * EXTERNAL. When the load balancing scheme is INTERNAL, this field is not + * used. + */ + portName?: string; + /** + * The protocol this BackendService uses to communicate with backends. + * Possible values are HTTP, HTTPS, TCP, and SSL. The default is HTTP. For + * internal load balancing, the possible values are TCP and UDP, and the + * default is TCP. + */ + protocol?: string; + /** + * [Output Only] URL of the region where the regional backend service + * resides. This field is not applicable to global backend services. You + * must specify this field as part of the HTTP request URL. It is not + * settable as a field in the request body. + */ + region?: string; + /** + * [Output Only] The resource URL for the security policy associated with + * this backend service. + */ + securityPolicy?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * Type of session affinity to use. The default is NONE. When the load + * balancing scheme is EXTERNAL, can be NONE, CLIENT_IP, or + * GENERATED_COOKIE. When the load balancing scheme is INTERNAL, can be + * NONE, CLIENT_IP, CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO. When the + * protocol is UDP, this field is not used. + */ + sessionAffinity?: string; + /** + * How many seconds to wait for the backend before considering it a failed + * request. Default is 30 seconds. + */ + timeoutSec?: number; + } + /** + * Contains a list of BackendServicesScopedList. + */ + interface Schema$BackendServiceAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of BackendServicesScopedList resources. + */ + items?: any; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Message containing Cloud CDN configuration for a backend service. + */ + interface Schema$BackendServiceCdnPolicy { + /** + * The CacheKeyPolicy for this CdnPolicy. + */ + cacheKeyPolicy?: Schema$CacheKeyPolicy; + /** + * Maximum number of seconds the response to a signed URL request will be + * considered fresh. After this time period, the response will be + * revalidated before being served. Defaults to 1hr (3600s). When serving + * responses to signed URL requests, Cloud CDN will internally behave as + * though all responses from this backend had a ?Cache-Control: public, + * max-age=[TTL]? header, regardless of any existing Cache-Control header. + * The actual headers served in responses will not be altered. + */ + signedUrlCacheMaxAgeSec?: string; + /** + * [Output Only] Names of the keys for signing request URLs. + */ + signedUrlKeyNames?: string[]; + } + interface Schema$BackendServiceGroupHealth { + healthStatus?: Schema$HealthStatus[]; + /** + * [Output Only] Type of resource. Always compute#backendServiceGroupHealth + * for the health of backend services. + */ + kind?: string; + } + /** + * Identity-Aware Proxy + */ + interface Schema$BackendServiceIAP { + enabled?: boolean; + oauth2ClientId?: string; + oauth2ClientSecret?: string; + /** + * [Output Only] SHA256 hash value for the field oauth2_client_secret above. + */ + oauth2ClientSecretSha256?: string; + } + /** + * Contains a list of BackendService resources. + */ + interface Schema$BackendServiceList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of BackendService resources. + */ + items?: Schema$BackendService[]; + /** + * [Output Only] Type of resource. Always compute#backendServiceList for + * lists of backend services. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$BackendServicesScopedList { + /** + * A list of BackendServices contained in this scope. + */ + backendServices?: Schema$BackendService[]; + /** + * Informational warning which replaces the list of backend services when + * the list is empty. + */ + warning?: any; + } + interface Schema$CacheInvalidationRule { + /** + * If set, this invalidation rule will only apply to requests with a Host + * header matching host. + */ + host?: string; + path?: string; + } + /** + * Message containing what to include in the cache key for a request for Cloud + * CDN. + */ + interface Schema$CacheKeyPolicy { + /** + * If true, requests to different hosts will be cached separately. + */ + includeHost?: boolean; + /** + * If true, http and https requests will be cached separately. + */ + includeProtocol?: boolean; + /** + * If true, include query string parameters in the cache key according to + * query_string_whitelist and query_string_blacklist. If neither is set, the + * entire query string will be included. If false, the query string will be + * excluded from the cache key entirely. + */ + includeQueryString?: boolean; + /** + * Names of query string parameters to exclude in cache keys. All other + * parameters will be included. Either specify query_string_whitelist or + * query_string_blacklist, not both. '&' and '=' will be + * percent encoded and not treated as delimiters. + */ + queryStringBlacklist?: string[]; + /** + * Names of query string parameters to include in cache keys. All other + * parameters will be excluded. Either specify query_string_whitelist or + * query_string_blacklist, not both. '&' and '=' will be + * percent encoded and not treated as delimiters. + */ + queryStringWhitelist?: string[]; + } + /** + * Represents a Commitment resource. Creating a Commitment resource means that + * you are purchasing a committed use contract with an explicit start and end + * time. You can create commitments based on vCPUs and memory usage and + * receive discounted rates. For full details, read Signing Up for Committed + * Use Discounts. Committed use discounts are subject to Google Cloud + * Platform's Service Specific Terms. By purchasing a committed use + * discount, you agree to these terms. Committed use discounts will not renew, + * so you must purchase a new commitment to continue receiving discounts. (== + * resource_for beta.commitments ==) (== resource_for v1.commitments ==) + */ + interface Schema$Commitment { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] Commitment end time in RFC3339 text format. + */ + endTimestamp?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of the resource. Always compute#commitment for + * commitments. + */ + kind?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * The plan for this commitment, which determines duration and discount + * rate. The currently supported plans are TWELVE_MONTH (1 year), and + * THIRTY_SIX_MONTH (3 years). + */ + plan?: string; + /** + * [Output Only] URL of the region where this commitment may be used. + */ + region?: string; + /** + * A list of commitment amounts for particular resources. Note that VCPU and + * MEMORY resource commitments must occur together. + */ + resources?: Schema$ResourceCommitment[]; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] Commitment start time in RFC3339 text format. + */ + startTimestamp?: string; + /** + * [Output Only] Status of the commitment with regards to eventual + * expiration (each commitment has an end date defined). One of the + * following values: NOT_YET_ACTIVE, ACTIVE, EXPIRED. + */ + status?: string; + /** + * [Output Only] An optional, human-readable explanation of the status. + */ + statusMessage?: string; + } + interface Schema$CommitmentAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of CommitmentsScopedList resources. + */ + items?: any; + /** + * [Output Only] Type of resource. Always compute#commitmentAggregatedList + * for aggregated lists of commitments. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of Commitment resources. + */ + interface Schema$CommitmentList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Commitment resources. + */ + items?: Schema$Commitment[]; + /** + * [Output Only] Type of resource. Always compute#commitmentList for lists + * of commitments. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$CommitmentsScopedList { + /** + * [Output Only] A list of commitments contained in this scope. + */ + commitments?: Schema$Commitment[]; + /** + * [Output Only] Informational warning which replaces the list of + * commitments when the list is empty. + */ + warning?: any; + } + /** + * Message containing connection draining configuration. + */ + interface Schema$ConnectionDraining { + /** + * Time for which instance will be drained (not accept new connections, but + * still work to finish started). + */ + drainingTimeoutSec?: number; + } + /** + * Represents a customer-supplied encryption key + */ + interface Schema$CustomerEncryptionKey { + /** + * Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648 + * base64 to either encrypt or decrypt this resource. + */ + rawKey?: string; + /** + * [Output only] The RFC 4648 base64 encoded SHA-256 hash of the + * customer-supplied encryption key that protects this resource. + */ + sha256?: string; + } + interface Schema$CustomerEncryptionKeyProtectedDisk { + /** + * Decrypts data associated with the disk with a customer-supplied + * encryption key. + */ + diskEncryptionKey?: Schema$CustomerEncryptionKey; + /** + * Specifies a valid partial or full URL to an existing Persistent Disk + * resource. This field is only applicable for persistent disks. + */ + source?: string; + } + /** + * Deprecation status for a public resource. + */ + interface Schema$DeprecationStatus { + /** + * An optional RFC3339 timestamp on or after which the state of this + * resource is intended to change to DELETED. This is only informational and + * the status will not change unless the client explicitly changes it. + */ + deleted?: string; + /** + * An optional RFC3339 timestamp on or after which the state of this + * resource is intended to change to DEPRECATED. This is only informational + * and the status will not change unless the client explicitly changes it. + */ + deprecated?: string; + /** + * An optional RFC3339 timestamp on or after which the state of this + * resource is intended to change to OBSOLETE. This is only informational + * and the status will not change unless the client explicitly changes it. + */ + obsolete?: string; + /** + * The URL of the suggested replacement for a deprecated resource. The + * suggested replacement resource must be the same kind of resource as the + * deprecated resource. + */ + replacement?: string; + /** + * The deprecation state of this resource. This can be DEPRECATED, OBSOLETE, + * or DELETED. Operations which create a new resource using a DEPRECATED + * resource will return successfully, but with a warning indicating the + * deprecated resource and recommending its replacement. Operations which + * use OBSOLETE or DELETED resources will be rejected and result in an + * error. + */ + state?: string; + } + /** + * A Disk resource. (== resource_for beta.disks ==) (== resource_for v1.disks + * ==) + */ + interface Schema$Disk { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * Encrypts the disk using a customer-supplied encryption key. After you + * encrypt a disk with a customer-supplied key, you must provide the same + * key if you use the disk later (e.g. to create a disk snapshot or an + * image, or to attach the disk to a virtual machine). Customer-supplied + * encryption keys do not protect access to metadata of the disk. If you do + * not provide an encryption key when creating the disk, then the disk will + * be encrypted using an automatically generated key and you do not need to + * provide a key to use the disk later. + */ + diskEncryptionKey?: Schema$CustomerEncryptionKey; + /** + * A list of features to enable on the guest operating system. Applicable + * only for bootable images. Read Enabling guest operating system features + * to see a list of available options. + */ + guestOsFeatures?: Schema$GuestOsFeature[]; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of the resource. Always compute#disk for disks. + */ + kind?: string; + /** + * A fingerprint for the labels being applied to this disk, which is + * essentially a hash of the labels set used for optimistic locking. The + * fingerprint is initially generated by Compute Engine and changes after + * every request to modify or update labels. You must always provide an + * up-to-date fingerprint hash in order to update or change labels. To see + * the latest fingerprint, make a get() request to retrieve a disk. + */ + labelFingerprint?: string; + /** + * Labels to apply to this disk. These can be later modified by the + * setLabels method. + */ + labels?: any; + /** + * [Output Only] Last attach timestamp in RFC3339 text format. + */ + lastAttachTimestamp?: string; + /** + * [Output Only] Last detach timestamp in RFC3339 text format. + */ + lastDetachTimestamp?: string; + /** + * Integer license codes indicating which licenses are attached to this + * disk. + */ + licenseCodes?: string[]; + /** + * A list of publicly visible licenses. Reserved for Google's use. + */ + licenses?: string[]; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * Internal use only. + */ + options?: string; + /** + * [Output Only] URL of the region where the disk resides. Only applicable + * for regional resources. You must specify this field as part of the HTTP + * request URL. It is not settable as a field in the request body. + */ + region?: string; + /** + * URLs of the zones where the disk should be replicated to. Only applicable + * for regional resources. + */ + replicaZones?: string[]; + /** + * [Output Only] Server-defined fully-qualified URL for this resource. + */ + selfLink?: string; + /** + * Size of the persistent disk, specified in GB. You can specify this field + * when creating a persistent disk using the sourceImage or sourceSnapshot + * parameter, or specify it alone to create an empty persistent disk. If + * you specify this field along with sourceImage or sourceSnapshot, the + * value of sizeGb must not be less than the size of the sourceImage or the + * size of the snapshot. Acceptable values are 1 to 65536, inclusive. + */ + sizeGb?: string; + /** + * The source image used to create this disk. If the source image is + * deleted, this field will not be set. To create a disk with one of the + * public operating system images, specify the image by its family name. For + * example, specify family/debian-9 to use the latest Debian 9 image: + * projects/debian-cloud/global/images/family/debian-9 Alternatively, use + * a specific version of a public operating system image: + * projects/debian-cloud/global/images/debian-9-stretch-vYYYYMMDD To + * create a disk with a custom image that you created, specify the image + * name in the following format: global/images/my-custom-image You can + * also specify a custom image by its image family, which returns the latest + * version of the image in that family. Replace the image name with + * family/family-name: global/images/family/my-image-family + */ + sourceImage?: string; + /** + * The customer-supplied encryption key of the source image. Required if the + * source image is protected by a customer-supplied encryption key. + */ + sourceImageEncryptionKey?: Schema$CustomerEncryptionKey; + /** + * [Output Only] The ID value of the image used to create this disk. This + * value identifies the exact image that was used to create this persistent + * disk. For example, if you created the persistent disk from an image that + * was later deleted and recreated under the same name, the source image ID + * would identify the exact version of the image that was used. + */ + sourceImageId?: string; + /** + * The source snapshot used to create this disk. You can provide this as a + * partial or full URL to the resource. For example, the following are valid + * values: - + * https://www.googleapis.com/compute/v1/projects/project/global/snapshots/snapshot + * - projects/project/global/snapshots/snapshot - global/snapshots/snapshot + */ + sourceSnapshot?: string; + /** + * The customer-supplied encryption key of the source snapshot. Required if + * the source snapshot is protected by a customer-supplied encryption key. + */ + sourceSnapshotEncryptionKey?: Schema$CustomerEncryptionKey; + /** + * [Output Only] The unique ID of the snapshot used to create this disk. + * This value identifies the exact snapshot that was used to create this + * persistent disk. For example, if you created the persistent disk from a + * snapshot that was later deleted and recreated under the same name, the + * source snapshot ID would identify the exact version of the snapshot that + * was used. + */ + sourceSnapshotId?: string; + /** + * [Output Only] The status of disk creation. + */ + status?: string; + /** + * URL of the disk type resource describing which disk type to use to create + * the disk. Provide this when creating the disk. For example: + * project/zones/zone/diskTypes/pd-standard or pd-ssd + */ + type?: string; + /** + * [Output Only] Links to the users of the disk (attached instances) in + * form: project/zones/zone/instances/instance + */ + users?: string[]; + /** + * [Output Only] URL of the zone where the disk resides. You must specify + * this field as part of the HTTP request URL. It is not settable as a field + * in the request body. + */ + zone?: string; + } + interface Schema$DiskAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of DisksScopedList resources. + */ + items?: any; + /** + * [Output Only] Type of resource. Always compute#diskAggregatedList for + * aggregated lists of persistent disks. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * A specification of the desired way to instantiate a disk in the instance + * template when its created from a source instance. + */ + interface Schema$DiskInstantiationConfig { + /** + * Specifies whether the disk will be auto-deleted when the instance is + * deleted (but not when the disk is detached from the instance). + */ + autoDelete?: boolean; + /** + * The custom source image to be used to restore this disk when + * instantiating this instance template. + */ + customImage?: string; + /** + * Specifies the device name of the disk to which the configurations apply + * to. + */ + deviceName?: string; + /** + * Specifies whether to include the disk and what image to use. Possible + * values are: - source-image: to use the same image that was used to + * create the source instance's corresponding disk. Applicable to the + * boot disk and additional read-write disks. - source-image-family: to use + * the same image family that was used to create the source instance's + * corresponding disk. Applicable to the boot disk and additional read-write + * disks. - custom-image: to use a user-provided image url for disk + * creation. Applicable to the boot disk and additional read-write disks. - + * attach-read-only: to attach a read-only disk. Applicable to read-only + * disks. - do-not-include: to exclude a disk from the template. Applicable + * to additional read-write disks, local SSDs, and read-only disks. + */ + instantiateFrom?: string; + } + /** + * A list of Disk resources. + */ + interface Schema$DiskList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Disk resources. + */ + items?: Schema$Disk[]; + /** + * [Output Only] Type of resource. Always compute#diskList for lists of + * disks. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$DiskMoveRequest { + /** + * The URL of the destination zone to move the disk. This can be a full or + * partial URL. For example, the following are all valid URLs to a zone: - + * https://www.googleapis.com/compute/v1/projects/project/zones/zone - + * projects/project/zones/zone - zones/zone + */ + destinationZone?: string; + /** + * The URL of the target disk to move. This can be a full or partial URL. + * For example, the following are all valid URLs to a disk: - + * https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk + * - projects/project/zones/zone/disks/disk - zones/zone/disks/disk + */ + targetDisk?: string; + } + interface Schema$DisksResizeRequest { + /** + * The new size of the persistent disk, which is specified in GB. + */ + sizeGb?: string; + } + interface Schema$DisksScopedList { + /** + * [Output Only] A list of disks contained in this scope. + */ + disks?: Schema$Disk[]; + /** + * [Output Only] Informational warning which replaces the list of disks when + * the list is empty. + */ + warning?: any; + } + /** + * A DiskType resource. (== resource_for beta.diskTypes ==) (== resource_for + * v1.diskTypes ==) + */ + interface Schema$DiskType { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * [Output Only] Server-defined default disk size in GB. + */ + defaultDiskSizeGb?: string; + /** + * [Output Only] The deprecation status associated with this disk type. + */ + deprecated?: Schema$DeprecationStatus; + /** + * [Output Only] An optional description of this resource. + */ + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of the resource. Always compute#diskType for disk + * types. + */ + kind?: string; + /** + * [Output Only] Name of the resource. + */ + name?: string; + /** + * [Output Only] URL of the region where the disk type resides. Only + * applicable for regional resources. You must specify this field as part of + * the HTTP request URL. It is not settable as a field in the request body. + */ + region?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] An optional textual description of the valid disk size, + * such as "10GB-10TB". + */ + validDiskSize?: string; + /** + * [Output Only] URL of the zone where the disk type resides. You must + * specify this field as part of the HTTP request URL. It is not settable as + * a field in the request body. + */ + zone?: string; + } + interface Schema$DiskTypeAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of DiskTypesScopedList resources. + */ + items?: any; + /** + * [Output Only] Type of resource. Always compute#diskTypeAggregatedList. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of disk types. + */ + interface Schema$DiskTypeList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of DiskType resources. + */ + items?: Schema$DiskType[]; + /** + * [Output Only] Type of resource. Always compute#diskTypeList for disk + * types. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$DiskTypesScopedList { + /** + * [Output Only] A list of disk types contained in this scope. + */ + diskTypes?: Schema$DiskType[]; + /** + * [Output Only] Informational warning which replaces the list of disk types + * when the list is empty. + */ + warning?: any; + } + interface Schema$DistributionPolicy { + /** + * Zones where the regional managed instance group will create and manage + * instances. + */ + zones?: Schema$DistributionPolicyZoneConfiguration[]; + } + interface Schema$DistributionPolicyZoneConfiguration { + /** + * The URL of the zone. The zone must exist in the region where the managed + * instance group is located. + */ + zone?: string; + } + /** + * Represents a Firewall resource. + */ + interface Schema$Firewall { + /** + * The list of ALLOW rules specified by this firewall. Each rule specifies a + * protocol and port-range tuple that describes a permitted connection. + */ + allowed?: any[]; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * The list of DENY rules specified by this firewall. Each rule specifies a + * protocol and port-range tuple that describes a denied connection. + */ + denied?: any[]; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * If destination ranges are specified, the firewall will apply only to + * traffic that has destination IP address in these ranges. These ranges + * must be expressed in CIDR format. Only IPv4 is supported. + */ + destinationRanges?: string[]; + /** + * Direction of traffic to which this firewall applies; default is INGRESS. + * Note: For INGRESS traffic, it is NOT supported to specify + * destinationRanges; For EGRESS traffic, it is NOT supported to specify + * sourceRanges OR sourceTags. + */ + direction?: string; + /** + * Denotes whether the firewall rule is disabled, i.e not applied to the + * network it is associated with. When set to true, the firewall rule is not + * enforced and the network behaves as if it did not exist. If this is + * unspecified, the firewall rule will be enabled. + */ + disabled?: boolean; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of the resource. Always compute#firewall for firewall + * rules. + */ + kind?: string; + /** + * Name of the resource; provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * URL of the network resource for this firewall rule. If not specified when + * creating a firewall rule, the default network is used: + * global/networks/default If you choose to specify this property, you can + * specify the network as a full or partial URL. For example, the following + * are all valid URLs: - + * https://www.googleapis.com/compute/v1/projects/myproject/global/networks/my-network + * - projects/myproject/global/networks/my-network - + * global/networks/default + */ + network?: string; + /** + * Priority for this rule. This is an integer between 0 and 65535, both + * inclusive. When not specified, the value assumed is 1000. Relative + * priorities determine precedence of conflicting rules. Lower value of + * priority implies higher precedence (eg, a rule with priority 0 has higher + * precedence than a rule with priority 1). DENY rules take precedence over + * ALLOW rules having equal priority. + */ + priority?: number; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * If source ranges are specified, the firewall will apply only to traffic + * that has source IP address in these ranges. These ranges must be + * expressed in CIDR format. One or both of sourceRanges and sourceTags may + * be set. If both properties are set, the firewall will apply to traffic + * that has source IP address within sourceRanges OR the source IP that + * belongs to a tag listed in the sourceTags property. The connection does + * not need to match both properties for the firewall to apply. Only IPv4 is + * supported. + */ + sourceRanges?: string[]; + /** + * If source service accounts are specified, the firewall will apply only to + * traffic originating from an instance with a service account in this list. + * Source service accounts cannot be used to control traffic to an + * instance's external IP address because service accounts are + * associated with an instance, not an IP address. sourceRanges can be set + * at the same time as sourceServiceAccounts. If both are set, the firewall + * will apply to traffic that has source IP address within sourceRanges OR + * the source IP belongs to an instance with service account listed in + * sourceServiceAccount. The connection does not need to match both + * properties for the firewall to apply. sourceServiceAccounts cannot be + * used at the same time as sourceTags or targetTags. + */ + sourceServiceAccounts?: string[]; + /** + * If source tags are specified, the firewall rule applies only to traffic + * with source IPs that match the primary network interfaces of VM instances + * that have the tag and are in the same VPC network. Source tags cannot be + * used to control traffic to an instance's external IP address, it only + * applies to traffic between instances in the same virtual network. Because + * tags are associated with instances, not IP addresses. One or both of + * sourceRanges and sourceTags may be set. If both properties are set, the + * firewall will apply to traffic that has source IP address within + * sourceRanges OR the source IP that belongs to a tag listed in the + * sourceTags property. The connection does not need to match both + * properties for the firewall to apply. + */ + sourceTags?: string[]; + /** + * A list of service accounts indicating sets of instances located in the + * network that may make network connections as specified in allowed[]. + * targetServiceAccounts cannot be used at the same time as targetTags or + * sourceTags. If neither targetServiceAccounts nor targetTags are + * specified, the firewall rule applies to all instances on the specified + * network. + */ + targetServiceAccounts?: string[]; + /** + * A list of tags that controls which instances the firewall rule applies + * to. If targetTags are specified, then the firewall rule applies only to + * instances in the VPC network that have one of those tags. If no + * targetTags are specified, the firewall rule applies to all instances on + * the specified network. + */ + targetTags?: string[]; + } + /** + * Contains a list of firewalls. + */ + interface Schema$FirewallList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Firewall resources. + */ + items?: Schema$Firewall[]; + /** + * [Output Only] Type of resource. Always compute#firewallList for lists of + * firewalls. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * A ForwardingRule resource. A ForwardingRule resource specifies which pool + * of target virtual machines to forward a packet to if it matches the given + * [IPAddress, IPProtocol, ports] tuple. (== resource_for beta.forwardingRules + * ==) (== resource_for v1.forwardingRules ==) (== resource_for + * beta.globalForwardingRules ==) (== resource_for v1.globalForwardingRules + * ==) (== resource_for beta.regionForwardingRules ==) (== resource_for + * v1.regionForwardingRules ==) + */ + interface Schema$ForwardingRule { + /** + * This field is only used for INTERNAL load balancing. For internal load + * balancing, this field identifies the BackendService resource to receive + * the matched traffic. + */ + backendService?: string; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * The IP address that this forwarding rule is serving on behalf of. + * Addresses are restricted based on the forwarding rule's load + * balancing scheme (EXTERNAL or INTERNAL) and scope (global or regional). + * When the load balancing scheme is EXTERNAL, for global forwarding rules, + * the address must be a global IP, and for regional forwarding rules, the + * address must live in the same region as the forwarding rule. If this + * field is empty, an ephemeral IPv4 address from the same scope (global or + * regional) will be assigned. A regional forwarding rule supports IPv4 + * only. A global forwarding rule supports either IPv4 or IPv6. When the + * load balancing scheme is INTERNAL_SELF_MANAGED, this must be a URL + * reference to an existing Address resource ( internal regional static IP + * address). When the load balancing scheme is INTERNAL, this can only be + * an RFC 1918 IP address belonging to the network/subnet configured for the + * forwarding rule. By default, if this field is empty, an ephemeral + * internal IP address will be automatically allocated from the IP range of + * the subnet or network configured for this forwarding rule. An address + * can be specified either by a literal IP address or a URL reference to an + * existing Address resource. The following examples are all valid: - + * 100.1.2.3 - + * https://www.googleapis.com/compute/v1/projects/project/regions/region/addresses/address + * - projects/project/regions/region/addresses/address - + * regions/region/addresses/address - global/addresses/address - address + */ + IPAddress?: string; + /** + * The IP protocol to which this rule applies. Valid options are TCP, UDP, + * ESP, AH, SCTP or ICMP. When the load balancing scheme is INTERNAL, only + * TCP and UDP are valid. When the load balancing scheme is + * INTERNAL_SELF_MANAGED, only TCPis valid. + */ + IPProtocol?: string; + /** + * The IP Version that will be used by this forwarding rule. Valid options + * are IPV4 or IPV6. This can only be specified for an external global + * forwarding rule. + */ + ipVersion?: string; + /** + * [Output Only] Type of the resource. Always compute#forwardingRule for + * Forwarding Rule resources. + */ + kind?: string; + /** + * This signifies what the ForwardingRule will be used for and can only take + * the following values: INTERNAL, INTERNAL_SELF_MANAGED, EXTERNAL. The + * value of INTERNAL means that this will be used for Internal Network Load + * Balancing (TCP, UDP). The value of INTERNAL_SELF_MANAGED means that this + * will be used for Internal Global HTTP(S) LB. The value of EXTERNAL means + * that this will be used for External Load Balancing (HTTP(S) LB, External + * TCP/UDP LB, SSL Proxy) + */ + loadBalancingScheme?: string; + /** + * Name of the resource; provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * This field is not used for external load balancing. For INTERNAL and + * INTERNAL_SELF_MANAGED load balancing, this field identifies the network + * that the load balanced IP should belong to for this Forwarding Rule. If + * this field is not specified, the default network will be used. + */ + network?: string; + /** + * This signifies the networking tier used for configuring this load + * balancer and can only take the following values: PREMIUM , STANDARD. For + * regional ForwardingRule, the valid values are PREMIUM and STANDARD. For + * GlobalForwardingRule, the valid value is PREMIUM. If this field is not + * specified, it is assumed to be PREMIUM. If IPAddress is specified, this + * value must be equal to the networkTier of the Address. + */ + networkTier?: string; + /** + * This field is used along with the target field for TargetHttpProxy, + * TargetHttpsProxy, TargetSslProxy, TargetTcpProxy, TargetVpnGateway, + * TargetPool, TargetInstance. Applicable only when IPProtocol is TCP, UDP, + * or SCTP, only packets addressed to ports in the specified range will be + * forwarded to target. Forwarding rules with the same [IPAddress, + * IPProtocol] pair must have disjoint port ranges. Some types of + * forwarding target have constraints on the acceptable ports: - + * TargetHttpProxy: 80, 8080 - TargetHttpsProxy: 443 - TargetTcpProxy: 25, + * 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688, 1883, 5222 - + * TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, + * 1688, 1883, 5222 - TargetVpnGateway: 500, 4500 + */ + portRange?: string; + /** + * This field is used along with the backend_service field for internal load + * balancing. When the load balancing scheme is INTERNAL, a single port or + * a comma separated list of ports can be configured. Only packets addressed + * to these ports will be forwarded to the backends configured with this + * forwarding rule. You may specify a maximum of up to 5 ports. + */ + ports?: string[]; + /** + * [Output Only] URL of the region where the regional forwarding rule + * resides. This field is not applicable to global forwarding rules. You + * must specify this field as part of the HTTP request URL. It is not + * settable as a field in the request body. + */ + region?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * This field is only used for INTERNAL load balancing. For internal load + * balancing, this field identifies the subnetwork that the load balanced IP + * should belong to for this Forwarding Rule. If the network specified is + * in auto subnet mode, this field is optional. However, if the network is + * in custom subnet mode, a subnetwork must be specified. + */ + subnetwork?: string; + /** + * The URL of the target resource to receive the matched traffic. For + * regional forwarding rules, this target must live in the same region as + * the forwarding rule. For global forwarding rules, this target must be a + * global load balancing resource. The forwarded traffic must be of a type + * appropriate to the target object. For INTERNAL_SELF_MANAGED" load + * balancing, only HTTP and HTTPS targets are valid. + */ + target?: string; + } + interface Schema$ForwardingRuleAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of ForwardingRulesScopedList resources. + */ + items?: any; + /** + * [Output Only] Type of resource. Always + * compute#forwardingRuleAggregatedList for lists of forwarding rules. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of ForwardingRule resources. + */ + interface Schema$ForwardingRuleList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of ForwardingRule resources. + */ + items?: Schema$ForwardingRule[]; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$ForwardingRulesScopedList { + /** + * A list of forwarding rules contained in this scope. + */ + forwardingRules?: Schema$ForwardingRule[]; + /** + * Informational warning which replaces the list of forwarding rules when + * the list is empty. + */ + warning?: any; + } + interface Schema$GlobalSetLabelsRequest { + /** + * The fingerprint of the previous set of labels for this resource, used to + * detect conflicts. The fingerprint is initially generated by Compute + * Engine and changes after every request to modify or update labels. You + * must always provide an up-to-date fingerprint hash when updating or + * changing labels. Make a get() request to the resource to get the latest + * fingerprint. + */ + labelFingerprint?: string; + /** + * A list of labels to apply for this resource. Each label key & value + * must comply with RFC1035. Specifically, the name must be 1-63 characters + * long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which + * means the first character must be a lowercase letter, and all following + * characters must be a dash, lowercase letter, or digit, except the last + * character, which cannot be a dash. For example, + * "webserver-frontend": "images". A label value can + * also be empty (e.g. "my-label": ""). + */ + labels?: any; + } + /** + * Guest OS features. + */ + interface Schema$GuestOsFeature { + /** + * The ID of a supported feature. Read Enabling guest operating system + * features to see a list of available options. + */ + type?: string; + } + /** + * An HealthCheck resource. This resource defines a template for how + * individual virtual machines should be checked for health, via one of the + * supported protocols. + */ + interface Schema$HealthCheck { + /** + * How often (in seconds) to send a health check. The default value is 5 + * seconds. + */ + checkIntervalSec?: number; + /** + * [Output Only] Creation timestamp in 3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * A so-far unhealthy instance will be marked healthy after this many + * consecutive successes. The default value is 2. + */ + healthyThreshold?: number; + httpHealthCheck?: Schema$HTTPHealthCheck; + httpsHealthCheck?: Schema$HTTPSHealthCheck; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * Type of the resource. + */ + kind?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + sslHealthCheck?: Schema$SSLHealthCheck; + tcpHealthCheck?: Schema$TCPHealthCheck; + /** + * How long (in seconds) to wait before claiming failure. The default value + * is 5 seconds. It is invalid for timeoutSec to have greater value than + * checkIntervalSec. + */ + timeoutSec?: number; + /** + * Specifies the type of the healthCheck, either TCP, SSL, HTTP or HTTPS. If + * not specified, the default is TCP. Exactly one of the protocol-specific + * health check field must be specified, which must match type field. + */ + type?: string; + /** + * A so-far healthy instance will be marked unhealthy after this many + * consecutive failures. The default value is 2. + */ + unhealthyThreshold?: number; + } + /** + * Contains a list of HealthCheck resources. + */ + interface Schema$HealthCheckList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of HealthCheck resources. + */ + items?: Schema$HealthCheck[]; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * A full or valid partial URL to a health check. For example, the following + * are valid URLs: - + * https://www.googleapis.com/compute/beta/projects/project-id/global/httpHealthChecks/health-check + * - projects/project-id/global/httpHealthChecks/health-check - + * global/httpHealthChecks/health-check + */ + interface Schema$HealthCheckReference { + healthCheck?: string; + } + interface Schema$HealthStatus { + /** + * Health state of the instance. + */ + healthState?: string; + /** + * URL of the instance resource. + */ + instance?: string; + /** + * The IP address represented by this resource. + */ + ipAddress?: string; + /** + * The port on the instance. + */ + port?: number; + } + /** + * UrlMaps A host-matching rule for a URL. If matched, will use the named + * PathMatcher to select the BackendService. + */ + interface Schema$HostRule { + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * The list of host patterns to match. They must be valid hostnames, except + * * will match any string of ([a-z0-9-.]*). In that case, * must be the + * first character and must be followed in the pattern by either - or .. + */ + hosts?: string[]; + /** + * The name of the PathMatcher to use to match the path portion of the URL + * if the hostRule matches the URL's host portion. + */ + pathMatcher?: string; + } + interface Schema$HTTPHealthCheck { + /** + * The value of the host header in the HTTP health check request. If left + * empty (default value), the IP on behalf of which this health check is + * performed will be used. + */ + host?: string; + /** + * The TCP port number for the health check request. The default value + * is 80. Valid values are 1 through 65535. + */ + port?: number; + /** + * Port name as defined in InstanceGroup#NamedPort#name. If both port and + * port_name are defined, port takes precedence. + */ + portName?: string; + /** + * Specifies the type of proxy header to append before sending data to the + * backend, either NONE or PROXY_V1. The default is NONE. + */ + proxyHeader?: string; + /** + * The request path of the HTTP health check request. The default value is + * /. + */ + requestPath?: string; + } + /** + * An HttpHealthCheck resource. This resource defines a template for how + * individual instances should be checked for health, via HTTP. + */ + interface Schema$HttpHealthCheck { + /** + * How often (in seconds) to send a health check. The default value is 5 + * seconds. + */ + checkIntervalSec?: number; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * A so-far unhealthy instance will be marked healthy after this many + * consecutive successes. The default value is 2. + */ + healthyThreshold?: number; + /** + * The value of the host header in the HTTP health check request. If left + * empty (default value), the public IP on behalf of which this health check + * is performed will be used. + */ + host?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of the resource. Always compute#httpHealthCheck for + * HTTP health checks. + */ + kind?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * The TCP port number for the HTTP health check request. The default value + * is 80. + */ + port?: number; + /** + * The request path of the HTTP health check request. The default value is + * /. + */ + requestPath?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * How long (in seconds) to wait before claiming failure. The default value + * is 5 seconds. It is invalid for timeoutSec to have greater value than + * checkIntervalSec. + */ + timeoutSec?: number; + /** + * A so-far healthy instance will be marked unhealthy after this many + * consecutive failures. The default value is 2. + */ + unhealthyThreshold?: number; + } + /** + * Contains a list of HttpHealthCheck resources. + */ + interface Schema$HttpHealthCheckList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of HttpHealthCheck resources. + */ + items?: Schema$HttpHealthCheck[]; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * An HttpsHealthCheck resource. This resource defines a template for how + * individual instances should be checked for health, via HTTPS. + */ + interface Schema$HttpsHealthCheck { + /** + * How often (in seconds) to send a health check. The default value is 5 + * seconds. + */ + checkIntervalSec?: number; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * A so-far unhealthy instance will be marked healthy after this many + * consecutive successes. The default value is 2. + */ + healthyThreshold?: number; + /** + * The value of the host header in the HTTPS health check request. If left + * empty (default value), the public IP on behalf of which this health check + * is performed will be used. + */ + host?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * Type of the resource. + */ + kind?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * The TCP port number for the HTTPS health check request. The default value + * is 443. + */ + port?: number; + /** + * The request path of the HTTPS health check request. The default value is + * "/". + */ + requestPath?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * How long (in seconds) to wait before claiming failure. The default value + * is 5 seconds. It is invalid for timeoutSec to have a greater value than + * checkIntervalSec. + */ + timeoutSec?: number; + /** + * A so-far healthy instance will be marked unhealthy after this many + * consecutive failures. The default value is 2. + */ + unhealthyThreshold?: number; + } + interface Schema$HTTPSHealthCheck { + /** + * The value of the host header in the HTTPS health check request. If left + * empty (default value), the IP on behalf of which this health check is + * performed will be used. + */ + host?: string; + /** + * The TCP port number for the health check request. The default value is + * 443. Valid values are 1 through 65535. + */ + port?: number; + /** + * Port name as defined in InstanceGroup#NamedPort#name. If both port and + * port_name are defined, port takes precedence. + */ + portName?: string; + /** + * Specifies the type of proxy header to append before sending data to the + * backend, either NONE or PROXY_V1. The default is NONE. + */ + proxyHeader?: string; + /** + * The request path of the HTTPS health check request. The default value is + * /. + */ + requestPath?: string; + } + /** + * Contains a list of HttpsHealthCheck resources. + */ + interface Schema$HttpsHealthCheckList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of HttpsHealthCheck resources. + */ + items?: Schema$HttpsHealthCheck[]; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * An Image resource. (== resource_for beta.images ==) (== resource_for + * v1.images ==) + */ + interface Schema$Image { + /** + * Size of the image tar.gz archive stored in Google Cloud Storage (in + * bytes). + */ + archiveSizeBytes?: string; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * The deprecation status associated with this image. + */ + deprecated?: Schema$DeprecationStatus; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * Size of the image when restored onto a persistent disk (in GB). + */ + diskSizeGb?: string; + /** + * The name of the image family to which this image belongs. You can create + * disks by specifying an image family instead of a specific image name. The + * image family always returns its latest image that is not deprecated. The + * name of the image family must comply with RFC1035. + */ + family?: string; + /** + * A list of features to enable on the guest operating system. Applicable + * only for bootable images. Read Enabling guest operating system features + * to see a list of available options. + */ + guestOsFeatures?: Schema$GuestOsFeature[]; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * Encrypts the image using a customer-supplied encryption key. After you + * encrypt an image with a customer-supplied key, you must provide the same + * key if you use the image later (e.g. to create a disk from the image). + * Customer-supplied encryption keys do not protect access to metadata of + * the disk. If you do not provide an encryption key when creating the + * image, then the disk will be encrypted using an automatically generated + * key and you do not need to provide a key to use the image later. + */ + imageEncryptionKey?: Schema$CustomerEncryptionKey; + /** + * [Output Only] Type of the resource. Always compute#image for images. + */ + kind?: string; + /** + * A fingerprint for the labels being applied to this image, which is + * essentially a hash of the labels used for optimistic locking. The + * fingerprint is initially generated by Compute Engine and changes after + * every request to modify or update labels. You must always provide an + * up-to-date fingerprint hash in order to update or change labels. To see + * the latest fingerprint, make a get() request to retrieve an image. + */ + labelFingerprint?: string; + /** + * Labels to apply to this image. These can be later modified by the + * setLabels method. + */ + labels?: any; + /** + * Integer license codes indicating which licenses are attached to this + * image. + */ + licenseCodes?: string[]; + /** + * Any applicable license URI. + */ + licenses?: string[]; + /** + * Name of the resource; provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * The parameters of the raw disk image. + */ + rawDisk?: any; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * URL of the source disk used to create this image. This can be a full or + * valid partial URL. You must provide either this property or the + * rawDisk.source property but not both to create an image. For example, the + * following are valid values: - + * https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk + * - projects/project/zones/zone/disks/disk - zones/zone/disks/disk + */ + sourceDisk?: string; + /** + * The customer-supplied encryption key of the source disk. Required if the + * source disk is protected by a customer-supplied encryption key. + */ + sourceDiskEncryptionKey?: Schema$CustomerEncryptionKey; + /** + * [Output Only] The ID value of the disk used to create this image. This + * value may be used to determine whether the image was taken from the + * current or a previous instance of a given disk name. + */ + sourceDiskId?: string; + /** + * URL of the source image used to create this image. This can be a full or + * valid partial URL. You must provide exactly one of: - this property, or + * - the rawDisk.source property, or - the sourceDisk property in order + * to create an image. + */ + sourceImage?: string; + /** + * The customer-supplied encryption key of the source image. Required if the + * source image is protected by a customer-supplied encryption key. + */ + sourceImageEncryptionKey?: Schema$CustomerEncryptionKey; + /** + * [Output Only] The ID value of the image used to create this image. This + * value may be used to determine whether the image was taken from the + * current or a previous instance of a given image name. + */ + sourceImageId?: string; + /** + * URL of the source snapshot used to create this image. This can be a full + * or valid partial URL. You must provide exactly one of: - this property, + * or - the sourceImage property, or - the rawDisk.source property, or + * - the sourceDisk property in order to create an image. + */ + sourceSnapshot?: string; + /** + * The customer-supplied encryption key of the source snapshot. Required if + * the source snapshot is protected by a customer-supplied encryption key. + */ + sourceSnapshotEncryptionKey?: Schema$CustomerEncryptionKey; + /** + * [Output Only] The ID value of the snapshot used to create this image. + * This value may be used to determine whether the snapshot was taken from + * the current or a previous instance of a given snapshot name. + */ + sourceSnapshotId?: string; + /** + * The type of the image used to create this disk. The default and only + * value is RAW + */ + sourceType?: string; + /** + * [Output Only] The status of the image. An image can be used to create + * other resources, such as instances, only after the image has been + * successfully created and the status is set to READY. Possible values are + * FAILED, PENDING, or READY. + */ + status?: string; + } + /** + * Contains a list of images. + */ + interface Schema$ImageList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Image resources. + */ + items?: Schema$Image[]; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * An Instance resource. (== resource_for beta.instances ==) (== resource_for + * v1.instances ==) + */ + interface Schema$Instance { + /** + * Allows this instance to send and receive packets with non-matching + * destination or source IPs. This is required if you plan to use this + * instance to forward routes. For more information, see Enabling IP + * Forwarding. + */ + canIpForward?: boolean; + /** + * [Output Only] The CPU platform used by this instance. + */ + cpuPlatform?: string; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * Whether the resource should be protected against deletion. + */ + deletionProtection?: boolean; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * Array of disks associated with this instance. Persistent disks must be + * created before you can assign them. + */ + disks?: Schema$AttachedDisk[]; + /** + * A list of the type and count of accelerator cards attached to the + * instance. + */ + guestAccelerators?: Schema$AcceleratorConfig[]; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of the resource. Always compute#instance for + * instances. + */ + kind?: string; + /** + * A fingerprint for this request, which is essentially a hash of the + * label's contents and used for optimistic locking. The fingerprint is + * initially generated by Compute Engine and changes after every request to + * modify or update labels. You must always provide an up-to-date + * fingerprint hash in order to update or change labels. To see the latest + * fingerprint, make get() request to the instance. + */ + labelFingerprint?: string; + /** + * Labels to apply to this instance. These can be later modified by the + * setLabels method. + */ + labels?: any; + /** + * Full or partial URL of the machine type resource to use for this + * instance, in the format: zones/zone/machineTypes/machine-type. This is + * provided by the client when the instance is created. For example, the + * following is a valid partial url to a predefined machine type: + * zones/us-central1-f/machineTypes/n1-standard-1 To create a custom + * machine type, provide a URL to a machine type in the following format, + * where CPUS is 1 or an even number up to 32 (2, 4, 6, ... 24, etc), and + * MEMORY is the total memory for this instance. Memory must be a multiple + * of 256 MB and must be supplied in MB (e.g. 5 GB of memory is 5120 MB): + * zones/zone/machineTypes/custom-CPUS-MEMORY For example: + * zones/us-central1-f/machineTypes/custom-4-5120 For a full list of + * restrictions, read the Specifications for custom machine types. + */ + machineType?: string; + /** + * The metadata key/value pairs assigned to this instance. This includes + * custom metadata and predefined keys. + */ + metadata?: Schema$Metadata; + /** + * Specifies a minimum CPU platform for the VM instance. Applicable values + * are the friendly names of CPU platforms, such as minCpuPlatform: + * "Intel Haswell" or minCpuPlatform: "Intel Sandy + * Bridge". + */ + minCpuPlatform?: string; + /** + * The name of the resource, provided by the client when initially creating + * the resource. The resource name must be 1-63 characters long, and comply + * with RFC1035. Specifically, the name must be 1-63 characters long and + * match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the + * first character must be a lowercase letter, and all following characters + * must be a dash, lowercase letter, or digit, except the last character, + * which cannot be a dash. + */ + name?: string; + /** + * An array of network configurations for this instance. These specify how + * interfaces are configured to interact with other network services, such + * as connecting to the internet. Multiple interfaces are supported per + * instance. + */ + networkInterfaces?: Schema$NetworkInterface[]; + /** + * Sets the scheduling options for this instance. + */ + scheduling?: Schema$Scheduling; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * A list of service accounts, with their specified scopes, authorized for + * this instance. Only one service account per VM instance is supported. + * Service accounts generate access tokens that can be accessed through the + * metadata server and used to authenticate applications on the instance. + * See Service Accounts for more information. + */ + serviceAccounts?: Schema$ServiceAccount[]; + /** + * [Output Only] Whether a VM has been restricted for start because Compute + * Engine has detected suspicious activity. + */ + startRestricted?: boolean; + /** + * [Output Only] The status of the instance. One of the following values: + * PROVISIONING, STAGING, RUNNING, STOPPING, STOPPED, SUSPENDING, SUSPENDED, + * and TERMINATED. + */ + status?: string; + /** + * [Output Only] An optional, human-readable explanation of the status. + */ + statusMessage?: string; + /** + * Tags to apply to this instance. Tags are used to identify valid sources + * or targets for network firewalls and are specified by the client during + * instance creation. The tags can be later modified by the setTags method. + * Each tag within the list must comply with RFC1035. Multiple tags can be + * specified via the 'tags.items' field. + */ + tags?: Schema$Tags; + /** + * [Output Only] URL of the zone where the instance resides. You must + * specify this field as part of the HTTP request URL. It is not settable as + * a field in the request body. + */ + zone?: string; + } + interface Schema$InstanceAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of InstancesScopedList resources. + */ + items?: any; + /** + * [Output Only] Type of resource. Always compute#instanceAggregatedList for + * aggregated lists of Instance resources. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * InstanceGroups (== resource_for beta.instanceGroups ==) (== resource_for + * v1.instanceGroups ==) (== resource_for beta.regionInstanceGroups ==) (== + * resource_for v1.regionInstanceGroups ==) + */ + interface Schema$InstanceGroup { + /** + * [Output Only] The creation timestamp for this instance group in RFC3339 + * text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] The fingerprint of the named ports. The system uses this + * fingerprint to detect conflicts when multiple users change the named + * ports concurrently. + */ + fingerprint?: string; + /** + * [Output Only] A unique identifier for this instance group, generated by + * the server. + */ + id?: string; + /** + * [Output Only] The resource type, which is always compute#instanceGroup + * for instance groups. + */ + kind?: string; + /** + * The name of the instance group. The name must be 1-63 characters long, + * and comply with RFC1035. + */ + name?: string; + /** + * Assigns a name to a port number. For example: {name: "http", + * port: 80} This allows the system to reference ports by the assigned name + * instead of a port number. Named ports can also contain multiple ports. + * For example: [{name: "http", port: 80},{name: "http", + * port: 8080}] Named ports apply to all instances in this instance group. + */ + namedPorts?: Schema$NamedPort[]; + /** + * The URL of the network to which all instances in the instance group + * belong. + */ + network?: string; + /** + * [Output Only] The URL of the region where the instance group is located + * (for regional resources). + */ + region?: string; + /** + * [Output Only] The URL for this instance group. The server generates this + * URL. + */ + selfLink?: string; + /** + * [Output Only] The total number of instances in the instance group. + */ + size?: number; + /** + * [Output Only] The URL of the subnetwork to which all instances in the + * instance group belong. + */ + subnetwork?: string; + /** + * [Output Only] The URL of the zone where the instance group is located + * (for zonal resources). + */ + zone?: string; + } + interface Schema$InstanceGroupAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of InstanceGroupsScopedList resources. + */ + items?: any; + /** + * [Output Only] The resource type, which is always + * compute#instanceGroupAggregatedList for aggregated lists of instance + * groups. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * A list of InstanceGroup resources. + */ + interface Schema$InstanceGroupList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of InstanceGroup resources. + */ + items?: Schema$InstanceGroup[]; + /** + * [Output Only] The resource type, which is always + * compute#instanceGroupList for instance group lists. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * An Instance Group Manager resource. (== resource_for + * beta.instanceGroupManagers ==) (== resource_for v1.instanceGroupManagers + * ==) (== resource_for beta.regionInstanceGroupManagers ==) (== resource_for + * v1.regionInstanceGroupManagers ==) + */ + interface Schema$InstanceGroupManager { + /** + * The base instance name to use for instances in this group. The value must + * be 1-58 characters long. Instances are named by appending a hyphen and a + * random four-character string to the base instance name. The base instance + * name must comply with RFC1035. + */ + baseInstanceName?: string; + /** + * [Output Only] The creation timestamp for this managed instance group in + * RFC3339 text format. + */ + creationTimestamp?: string; + /** + * [Output Only] The list of instance actions and the number of instances in + * this managed instance group that are scheduled for each of those actions. + */ + currentActions?: Schema$InstanceGroupManagerActionsSummary; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * Policy specifying intended distribution of instances in regional managed + * instance group. + */ + distributionPolicy?: Schema$DistributionPolicy; + /** + * Fingerprint of this resource. This field may be used in optimistic + * locking. It will be ignored when inserting an InstanceGroupManager. An + * up-to-date fingerprint must be provided in order to update the + * InstanceGroupManager. To see the latest fingerprint, make a get() + * request to retrieve an InstanceGroupManager. + */ + fingerprint?: string; + /** + * [Output Only] A unique identifier for this resource type. The server + * generates this identifier. + */ + id?: string; + /** + * [Output Only] The URL of the Instance Group resource. + */ + instanceGroup?: string; + /** + * The URL of the instance template that is specified for this managed + * instance group. The group uses this template to create all new instances + * in the managed instance group. + */ + instanceTemplate?: string; + /** + * [Output Only] The resource type, which is always + * compute#instanceGroupManager for managed instance groups. + */ + kind?: string; + /** + * The name of the managed instance group. The name must be 1-63 characters + * long, and comply with RFC1035. + */ + name?: string; + /** + * Named ports configured for the Instance Groups complementary to this + * Instance Group Manager. + */ + namedPorts?: Schema$NamedPort[]; + /** + * [Output Only] The URL of the region where the managed instance group + * resides (for regional resources). + */ + region?: string; + /** + * [Output Only] The URL for this managed instance group. The server defines + * this URL. + */ + selfLink?: string; + /** + * The URLs for all TargetPool resources to which instances in the + * instanceGroup field are added. The target pools automatically apply to + * all of the instances in the managed instance group. + */ + targetPools?: string[]; + /** + * The target number of running instances for this managed instance group. + * Deleting or abandoning instances reduces this number. Resizing the group + * changes this number. + */ + targetSize?: number; + /** + * [Output Only] The URL of the zone where the managed instance group is + * located (for zonal resources). + */ + zone?: string; + } + interface Schema$InstanceGroupManagerActionsSummary { + /** + * [Output Only] The total number of instances in the managed instance group + * that are scheduled to be abandoned. Abandoning an instance removes it + * from the managed instance group without deleting it. + */ + abandoning?: number; + /** + * [Output Only] The number of instances in the managed instance group that + * are scheduled to be created or are currently being created. If the group + * fails to create any of these instances, it tries again until it creates + * the instance successfully. If you have disabled creation retries, this + * field will not be populated; instead, the creatingWithoutRetries field + * will be populated. + */ + creating?: number; + /** + * [Output Only] The number of instances that the managed instance group + * will attempt to create. The group attempts to create each instance only + * once. If the group fails to create any of these instances, it decreases + * the group's targetSize value accordingly. + */ + creatingWithoutRetries?: number; + /** + * [Output Only] The number of instances in the managed instance group that + * are scheduled to be deleted or are currently being deleted. + */ + deleting?: number; + /** + * [Output Only] The number of instances in the managed instance group that + * are running and have no scheduled actions. + */ + none?: number; + /** + * [Output Only] The number of instances in the managed instance group that + * are scheduled to be recreated or are currently being being recreated. + * Recreating an instance deletes the existing root persistent disk and + * creates a new disk from the image that is defined in the instance + * template. + */ + recreating?: number; + /** + * [Output Only] The number of instances in the managed instance group that + * are being reconfigured with properties that do not require a restart or a + * recreate action. For example, setting or removing target pools for the + * instance. + */ + refreshing?: number; + /** + * [Output Only] The number of instances in the managed instance group that + * are scheduled to be restarted or are currently being restarted. + */ + restarting?: number; + } + interface Schema$InstanceGroupManagerAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of InstanceGroupManagersScopedList resources. + */ + items?: any; + /** + * [Output Only] The resource type, which is always + * compute#instanceGroupManagerAggregatedList for an aggregated list of + * managed instance groups. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * [Output Only] A list of managed instance groups. + */ + interface Schema$InstanceGroupManagerList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of InstanceGroupManager resources. + */ + items?: Schema$InstanceGroupManager[]; + /** + * [Output Only] The resource type, which is always + * compute#instanceGroupManagerList for a list of managed instance groups. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$InstanceGroupManagersAbandonInstancesRequest { + /** + * The URLs of one or more instances to abandon. This can be a full URL or a + * partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. + */ + instances?: string[]; + } + interface Schema$InstanceGroupManagersDeleteInstancesRequest { + /** + * The URLs of one or more instances to delete. This can be a full URL or a + * partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. + */ + instances?: string[]; + } + interface Schema$InstanceGroupManagersListManagedInstancesResponse { + /** + * [Output Only] The list of instances in the managed instance group. + */ + managedInstances?: Schema$ManagedInstance[]; + } + interface Schema$InstanceGroupManagersRecreateInstancesRequest { + /** + * The URLs of one or more instances to recreate. This can be a full URL or + * a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. + */ + instances?: string[]; + } + interface Schema$InstanceGroupManagersScopedList { + /** + * [Output Only] The list of managed instance groups that are contained in + * the specified project and zone. + */ + instanceGroupManagers?: Schema$InstanceGroupManager[]; + /** + * [Output Only] The warning that replaces the list of managed instance + * groups when the list is empty. + */ + warning?: any; + } + interface Schema$InstanceGroupManagersSetInstanceTemplateRequest { + /** + * The URL of the instance template that is specified for this managed + * instance group. The group uses this template to create all new instances + * in the managed instance group. + */ + instanceTemplate?: string; + } + interface Schema$InstanceGroupManagersSetTargetPoolsRequest { + /** + * The fingerprint of the target pools information. Use this optional + * property to prevent conflicts when multiple users change the target pools + * settings concurrently. Obtain the fingerprint with the + * instanceGroupManagers.get method. Then, include the fingerprint in your + * request to ensure that you do not overwrite changes that were applied + * from another concurrent request. + */ + fingerprint?: string; + /** + * The list of target pool URLs that instances in this managed instance + * group belong to. The managed instance group applies these target pools to + * all of the instances in the group. Existing instances and new instances + * in the group all receive these target pool settings. + */ + targetPools?: string[]; + } + interface Schema$InstanceGroupsAddInstancesRequest { + /** + * The list of instances to add to the instance group. + */ + instances?: Schema$InstanceReference[]; + } + interface Schema$InstanceGroupsListInstances { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of InstanceWithNamedPorts resources. + */ + items?: Schema$InstanceWithNamedPorts[]; + /** + * [Output Only] The resource type, which is always + * compute#instanceGroupsListInstances for the list of instances in the + * specified instance group. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$InstanceGroupsListInstancesRequest { + /** + * A filter for the state of the instances in the instance group. Valid + * options are ALL or RUNNING. If you do not specify this parameter the list + * includes all instances regardless of their state. + */ + instanceState?: string; + } + interface Schema$InstanceGroupsRemoveInstancesRequest { + /** + * The list of instances to remove from the instance group. + */ + instances?: Schema$InstanceReference[]; + } + interface Schema$InstanceGroupsScopedList { + /** + * [Output Only] The list of instance groups that are contained in this + * scope. + */ + instanceGroups?: Schema$InstanceGroup[]; + /** + * [Output Only] An informational warning that replaces the list of instance + * groups when the list is empty. + */ + warning?: any; + } + interface Schema$InstanceGroupsSetNamedPortsRequest { + /** + * The fingerprint of the named ports information for this instance group. + * Use this optional property to prevent conflicts when multiple users + * change the named ports settings concurrently. Obtain the fingerprint with + * the instanceGroups.get method. Then, include the fingerprint in your + * request to ensure that you do not overwrite changes that were applied + * from another concurrent request. + */ + fingerprint?: string; + /** + * The list of named ports to set for this instance group. + */ + namedPorts?: Schema$NamedPort[]; + } + /** + * Contains a list of instances. + */ + interface Schema$InstanceList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Instance resources. + */ + items?: Schema$Instance[]; + /** + * [Output Only] Type of resource. Always compute#instanceList for lists of + * Instance resources. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of instance referrers. + */ + interface Schema$InstanceListReferrers { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Reference resources. + */ + items?: Schema$Reference[]; + /** + * [Output Only] Type of resource. Always compute#instanceListReferrers for + * lists of Instance referrers. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$InstanceMoveRequest { + /** + * The URL of the destination zone to move the instance. This can be a full + * or partial URL. For example, the following are all valid URLs to a zone: + * - https://www.googleapis.com/compute/v1/projects/project/zones/zone - + * projects/project/zones/zone - zones/zone + */ + destinationZone?: string; + /** + * The URL of the target instance to move. This can be a full or partial + * URL. For example, the following are all valid URLs to an instance: - + * https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/instance + * - projects/project/zones/zone/instances/instance - + * zones/zone/instances/instance + */ + targetInstance?: string; + } + interface Schema$InstanceProperties { + /** + * Enables instances created based on this template to send packets with + * source IP addresses other than their own and receive packets with + * destination IP addresses other than their own. If these instances will be + * used as an IP gateway or it will be set as the next-hop in a Route + * resource, specify true. If unsure, leave this set to false. See the + * Enable IP forwarding documentation for more information. + */ + canIpForward?: boolean; + /** + * An optional text description for the instances that are created from this + * instance template. + */ + description?: string; + /** + * An array of disks that are associated with the instances that are created + * from this template. + */ + disks?: Schema$AttachedDisk[]; + /** + * A list of guest accelerator cards' type and count to use for + * instances created from the instance template. + */ + guestAccelerators?: Schema$AcceleratorConfig[]; + /** + * Labels to apply to instances that are created from this template. + */ + labels?: any; + /** + * The machine type to use for instances that are created from this + * template. + */ + machineType?: string; + /** + * The metadata key/value pairs to assign to instances that are created from + * this template. These pairs can consist of custom metadata or predefined + * keys. See Project and instance metadata for more information. + */ + metadata?: Schema$Metadata; + /** + * Minimum cpu/platform to be used by this instance. The instance may be + * scheduled on the specified or newer cpu/platform. Applicable values are + * the friendly names of CPU platforms, such as minCpuPlatform: "Intel + * Haswell" or minCpuPlatform: "Intel Sandy Bridge". For more + * information, read Specifying a Minimum CPU Platform. + */ + minCpuPlatform?: string; + /** + * An array of network access configurations for this interface. + */ + networkInterfaces?: Schema$NetworkInterface[]; + /** + * Specifies the scheduling options for the instances that are created from + * this template. + */ + scheduling?: Schema$Scheduling; + /** + * A list of service accounts with specified scopes. Access tokens for these + * service accounts are available to the instances that are created from + * this template. Use metadata queries to obtain the access tokens for these + * instances. + */ + serviceAccounts?: Schema$ServiceAccount[]; + /** + * A list of tags to apply to the instances that are created from this + * template. The tags identify valid sources or targets for network + * firewalls. The setTags method can modify this list of tags. Each tag + * within the list must comply with RFC1035. + */ + tags?: Schema$Tags; + } + interface Schema$InstanceReference { + /** + * The URL for a specific instance. + */ + instance?: string; + } + interface Schema$InstancesScopedList { + /** + * [Output Only] A list of instances contained in this scope. + */ + instances?: Schema$Instance[]; + /** + * [Output Only] Informational warning which replaces the list of instances + * when the list is empty. + */ + warning?: any; + } + interface Schema$InstancesSetLabelsRequest { + /** + * Fingerprint of the previous set of labels for this resource, used to + * prevent conflicts. Provide the latest fingerprint value when making a + * request to add or change labels. + */ + labelFingerprint?: string; + labels?: any; + } + interface Schema$InstancesSetMachineResourcesRequest { + /** + * A list of the type and count of accelerator cards attached to the + * instance. + */ + guestAccelerators?: Schema$AcceleratorConfig[]; + } + interface Schema$InstancesSetMachineTypeRequest { + /** + * Full or partial URL of the machine type resource. See Machine Types for a + * full list of machine types. For example: + * zones/us-central1-f/machineTypes/n1-standard-1 + */ + machineType?: string; + } + interface Schema$InstancesSetMinCpuPlatformRequest { + /** + * Minimum cpu/platform this instance should be started at. + */ + minCpuPlatform?: string; + } + interface Schema$InstancesSetServiceAccountRequest { + /** + * Email address of the service account. + */ + email?: string; + /** + * The list of scopes to be made available for this service account. + */ + scopes?: string[]; + } + interface Schema$InstancesStartWithEncryptionKeyRequest { + /** + * Array of disks associated with this instance that are protected with a + * customer-supplied encryption key. In order to start the instance, the + * disk url and its corresponding key must be provided. If the disk is not + * protected with a customer-supplied encryption key it should not be + * specified. + */ + disks?: Schema$CustomerEncryptionKeyProtectedDisk[]; + } + /** + * An Instance Template resource. (== resource_for beta.instanceTemplates ==) + * (== resource_for v1.instanceTemplates ==) + */ + interface Schema$InstanceTemplate { + /** + * [Output Only] The creation timestamp for this instance template in + * RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] A unique identifier for this instance template. The server + * defines this identifier. + */ + id?: string; + /** + * [Output Only] The resource type, which is always compute#instanceTemplate + * for instance templates. + */ + kind?: string; + /** + * Name of the resource; provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * The instance properties for this instance template. + */ + properties?: Schema$InstanceProperties; + /** + * [Output Only] The URL for this instance template. The server defines this + * URL. + */ + selfLink?: string; + /** + * The source instance used to create the template. You can provide this as + * a partial or full URL to the resource. For example, the following are + * valid values: - + * https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/instance + * - projects/project/zones/zone/instances/instance + */ + sourceInstance?: string; + /** + * The source instance params to use to create this instance template. + */ + sourceInstanceParams?: Schema$SourceInstanceParams; + } + /** + * A list of instance templates. + */ + interface Schema$InstanceTemplateList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of InstanceTemplate resources. + */ + items?: Schema$InstanceTemplate[]; + /** + * [Output Only] The resource type, which is always + * compute#instanceTemplatesListResponse for instance template lists. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$InstanceWithNamedPorts { + /** + * [Output Only] The URL of the instance. + */ + instance?: string; + /** + * [Output Only] The named ports that belong to this instance group. + */ + namedPorts?: Schema$NamedPort[]; + /** + * [Output Only] The status of the instance. + */ + status?: string; + } + /** + * Represents an Interconnects resource. The Interconnects resource is a + * dedicated connection between Google's network and your on-premises + * network. For more information, see the Dedicated overview page. (== + * resource_for v1.interconnects ==) (== resource_for beta.interconnects ==) + */ + interface Schema$Interconnect { + /** + * Administrative status of the interconnect. When this is set to true, the + * Interconnect is functional and can carry traffic. When set to false, no + * packets can be carried over the interconnect and no BGP routes are + * exchanged over it. By default, the status is set to true. + */ + adminEnabled?: boolean; + /** + * [Output Only] A list of CircuitInfo objects, that describe the individual + * circuits in this LAG. + */ + circuitInfos?: Schema$InterconnectCircuitInfo[]; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * Customer name, to put in the Letter of Authorization as the party + * authorized to request a crossconnect. + */ + customerName?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] A list of outages expected for this Interconnect. + */ + expectedOutages?: Schema$InterconnectOutageNotification[]; + /** + * [Output Only] IP address configured on the Google side of the + * Interconnect link. This can be used only for ping tests. + */ + googleIpAddress?: string; + /** + * [Output Only] Google reference ID; to be used when raising support + * tickets with Google or otherwise to debug backend connectivity issues. + */ + googleReferenceId?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] A list of the URLs of all InterconnectAttachments + * configured to use this Interconnect. + */ + interconnectAttachments?: string[]; + /** + * Type of interconnect. Note that "IT_PRIVATE" has been + * deprecated in favor of "DEDICATED" + */ + interconnectType?: string; + /** + * [Output Only] Type of the resource. Always compute#interconnect for + * interconnects. + */ + kind?: string; + /** + * Type of link requested. This field indicates speed of each of the links + * in the bundle, not the entire bundle. Only 10G per link is allowed for a + * dedicated interconnect. Options: Ethernet_10G_LR + */ + linkType?: string; + /** + * URL of the InterconnectLocation object that represents where this + * connection is to be provisioned. + */ + location?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * Email address to contact the customer NOC for operations and maintenance + * notifications regarding this Interconnect. If specified, this will be + * used for notifications in addition to all other forms described, such as + * Stackdriver logs alerting and Cloud Notifications. + */ + nocContactEmail?: string; + /** + * [Output Only] The current status of whether or not this Interconnect is + * functional. + */ + operationalStatus?: string; + /** + * [Output Only] IP address configured on the customer side of the + * Interconnect link. The customer should configure this IP address during + * turnup when prompted by Google NOC. This can be used only for ping tests. + */ + peerIpAddress?: string; + /** + * [Output Only] Number of links actually provisioned in this interconnect. + */ + provisionedLinkCount?: number; + /** + * Target number of physical links in the link bundle, as requested by the + * customer. + */ + requestedLinkCount?: number; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] The current state of whether or not this Interconnect is + * functional. + */ + state?: string; + } + /** + * Represents an InterconnectAttachment (VLAN attachment) resource. For more + * information, see Creating VLAN Attachments. (== resource_for + * beta.interconnectAttachments ==) (== resource_for + * v1.interconnectAttachments ==) + */ + interface Schema$InterconnectAttachment { + /** + * Determines whether this Attachment will carry packets. Not present for + * PARTNER_PROVIDER. + */ + adminEnabled?: boolean; + /** + * Provisioned bandwidth capacity for the interconnectAttachment. Can be set + * by the partner to update the customer's provisioned bandwidth. Output + * only for for PARTNER type, mutable for PARTNER_PROVIDER, not available + * for DEDICATED. + */ + bandwidth?: string; + /** + * Up to 16 candidate prefixes that can be used to restrict the allocation + * of cloudRouterIpAddress and customerRouterIpAddress for this attachment. + * All prefixes must be within link-local address space (169.254.0.0/16) and + * must be /29 or shorter (/28, /27, etc). Google will attempt to select an + * unused /29 from the supplied candidate prefix(es). The request will fail + * if all possible /29s are in use on Google?s edge. If not supplied, Google + * will randomly select an unused /29 from all of link-local space. + */ + candidateSubnets?: string[]; + /** + * [Output Only] IPv4 address + prefix length to be configured on Cloud + * Router Interface for this interconnect attachment. + */ + cloudRouterIpAddress?: string; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * [Output Only] IPv4 address + prefix length to be configured on the + * customer router subinterface for this interconnect attachment. + */ + customerRouterIpAddress?: string; + /** + * An optional description of this resource. + */ + description?: string; + /** + * Desired availability domain for the attachment. Only available for type + * PARTNER, at creation time. For improved reliability, customers should + * configure a pair of attachments with one per availability domain. The + * selected availability domain will be provided to the Partner via the + * pairing key so that the provisioned circuit will lie in the specified + * domain. If not specified, the value will default to + * AVAILABILITY_DOMAIN_ANY. + */ + edgeAvailabilityDomain?: string; + /** + * [Output Only] Google reference ID, to be used when raising support + * tickets with Google or otherwise to debug backend connectivity issues. + */ + googleReferenceId?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * URL of the underlying Interconnect object that this attachment's + * traffic will traverse through. + */ + interconnect?: string; + /** + * [Output Only] Type of the resource. Always compute#interconnectAttachment + * for interconnect attachments. + */ + kind?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * [Output Only] The current status of whether or not this interconnect + * attachment is functional. + */ + operationalStatus?: string; + /** + * [Output only for type PARTNER. Input only for PARTNER_PROVIDER. Not + * present for DEDICATED]. The opaque identifier of an PARTNER attachment + * used to initiate provisioning with a selected partner. Of the form + * "XXXXX/region/domain" + */ + pairingKey?: string; + /** + * Optional BGP ASN for the router that should be supplied by a layer 3 + * Partner if they configured BGP on behalf of the customer. Output only for + * PARTNER type, input only for PARTNER_PROVIDER, not available for + * DEDICATED. + */ + partnerAsn?: string; + /** + * Informational metadata about Partner attachments from Partners to display + * to customers. Output only for for PARTNER type, mutable for + * PARTNER_PROVIDER, not available for DEDICATED. + */ + partnerMetadata?: Schema$InterconnectAttachmentPartnerMetadata; + /** + * [Output Only] Information specific to an InterconnectAttachment. This + * property is populated if the interconnect that this is attached to is of + * type DEDICATED. + */ + privateInterconnectInfo?: Schema$InterconnectAttachmentPrivateInfo; + /** + * [Output Only] URL of the region where the regional interconnect + * attachment resides. You must specify this field as part of the HTTP + * request URL. It is not settable as a field in the request body. + */ + region?: string; + /** + * URL of the cloud router to be used for dynamic routing. This router must + * be in the same region as this InterconnectAttachment. The + * InterconnectAttachment will automatically connect the Interconnect to the + * network & region within which the Cloud Router is configured. + */ + router?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] The current state of this attachment's functionality. + */ + state?: string; + type?: string; + /** + * Available only for DEDICATED and PARTNER_PROVIDER. Desired VLAN tag for + * this attachment, in the range 2-4094. This field refers to 802.1q VLAN + * tag, also known as IEEE 802.1Q Only specified at creation time. + */ + vlanTag8021q?: number; + } + interface Schema$InterconnectAttachmentAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of InterconnectAttachmentsScopedList resources. + */ + items?: any; + /** + * [Output Only] Type of resource. Always + * compute#interconnectAttachmentAggregatedList for aggregated lists of + * interconnect attachments. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Response to the list request, and contains a list of interconnect + * attachments. + */ + interface Schema$InterconnectAttachmentList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of InterconnectAttachment resources. + */ + items?: Schema$InterconnectAttachment[]; + /** + * [Output Only] Type of resource. Always compute#interconnectAttachmentList + * for lists of interconnect attachments. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Informational metadata about Partner attachments from Partners to display + * to customers. These fields are propagated from PARTNER_PROVIDER attachments + * to their corresponding PARTNER attachments. + */ + interface Schema$InterconnectAttachmentPartnerMetadata { + /** + * Plain text name of the Interconnect this attachment is connected to, as + * displayed in the Partner?s portal. For instance ?Chicago 1?. This value + * may be validated to match approved Partner values. + */ + interconnectName?: string; + /** + * Plain text name of the Partner providing this attachment. This value may + * be validated to match approved Partner values. + */ + partnerName?: string; + /** + * URL of the Partner?s portal for this Attachment. Partners may customise + * this to be a deep-link to the specific resource on the Partner portal. + * This value may be validated to match approved Partner values. + */ + portalUrl?: string; + } + /** + * Information for an interconnect attachment when this belongs to an + * interconnect of type DEDICATED. + */ + interface Schema$InterconnectAttachmentPrivateInfo { + /** + * [Output Only] 802.1q encapsulation tag to be used for traffic between + * Google and the customer, going to and from this network and region. + */ + tag8021q?: number; + } + interface Schema$InterconnectAttachmentsScopedList { + /** + * A list of interconnect attachments contained in this scope. + */ + interconnectAttachments?: Schema$InterconnectAttachment[]; + /** + * Informational warning which replaces the list of addresses when the list + * is empty. + */ + warning?: any; + } + /** + * Describes a single physical circuit between the Customer and Google. + * CircuitInfo objects are created by Google, so all fields are output only. + * Next id: 4 + */ + interface Schema$InterconnectCircuitInfo { + /** + * Customer-side demarc ID for this circuit. + */ + customerDemarcId?: string; + /** + * Google-assigned unique ID for this circuit. Assigned at circuit turn-up. + */ + googleCircuitId?: string; + /** + * Google-side demarc ID for this circuit. Assigned at circuit turn-up and + * provided by Google to the customer in the LOA. + */ + googleDemarcId?: string; + } + /** + * Response to the list request, and contains a list of interconnects. + */ + interface Schema$InterconnectList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Interconnect resources. + */ + items?: Schema$Interconnect[]; + /** + * [Output Only] Type of resource. Always compute#interconnectList for lists + * of interconnects. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Represents an InterconnectLocations resource. The InterconnectLocations + * resource describes the locations where you can connect to Google's + * networks. For more information, see Colocation Facilities. + */ + interface Schema$InterconnectLocation { + /** + * [Output Only] The postal address of the Point of Presence, each line in + * the address is separated by a newline character. + */ + address?: string; + /** + * [Output Only] Availability zone for this InterconnectLocation. Within a + * metropolitan area (metro), maintenance will not be simultaneously + * scheduled in more than one availability zone. Example: "zone1" + * or "zone2". + */ + availabilityZone?: string; + /** + * [Output Only] Metropolitan area designator that indicates which city an + * interconnect is located. For example: "Chicago, IL", + * "Amsterdam, Netherlands". + */ + city?: string; + /** + * [Output Only] Continent for this location. + */ + continent?: string; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * [Output Only] An optional description of the resource. + */ + description?: string; + /** + * [Output Only] The name of the provider for this facility (e.g., EQUINIX). + */ + facilityProvider?: string; + /** + * [Output Only] A provider-assigned Identifier for this facility (e.g., + * Ashburn-DC1). + */ + facilityProviderFacilityId?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of the resource. Always compute#interconnectLocation + * for interconnect locations. + */ + kind?: string; + /** + * [Output Only] Name of the resource. + */ + name?: string; + /** + * [Output Only] The peeringdb identifier for this facility (corresponding + * with a netfac type in peeringdb). + */ + peeringdbFacilityId?: string; + /** + * [Output Only] A list of InterconnectLocation.RegionInfo objects, that + * describe parameters pertaining to the relation between this + * InterconnectLocation and various Google Cloud regions. + */ + regionInfos?: Schema$InterconnectLocationRegionInfo[]; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + } + /** + * Response to the list request, and contains a list of interconnect + * locations. + */ + interface Schema$InterconnectLocationList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of InterconnectLocation resources. + */ + items?: Schema$InterconnectLocation[]; + /** + * [Output Only] Type of resource. Always compute#interconnectLocationList + * for lists of interconnect locations. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Information about any potential InterconnectAttachments between an + * Interconnect at a specific InterconnectLocation, and a specific Cloud + * Region. + */ + interface Schema$InterconnectLocationRegionInfo { + /** + * Expected round-trip time in milliseconds, from this InterconnectLocation + * to a VM in this region. + */ + expectedRttMs?: string; + /** + * Identifies the network presence of this location. + */ + locationPresence?: string; + /** + * URL for the region of this location. + */ + region?: string; + } + /** + * Description of a planned outage on this Interconnect. Next id: 9 + */ + interface Schema$InterconnectOutageNotification { + /** + * If issue_type is IT_PARTIAL_OUTAGE, a list of the Google-side circuit IDs + * that will be affected. + */ + affectedCircuits?: string[]; + /** + * A description about the purpose of the outage. + */ + description?: string; + /** + * Scheduled end time for the outage (milliseconds since Unix epoch). + */ + endTime?: string; + /** + * Form this outage is expected to take. Note that the "IT_" + * versions of this enum have been deprecated in favor of the unprefixed + * values. + */ + issueType?: string; + /** + * Unique identifier for this outage notification. + */ + name?: string; + /** + * The party that generated this notification. Note that + * "NSRC_GOOGLE" has been deprecated in favor of + * "GOOGLE" + */ + source?: string; + /** + * Scheduled start time for the outage (milliseconds since Unix epoch). + */ + startTime?: string; + /** + * State of this notification. Note that the "NS_" versions of + * this enum have been deprecated in favor of the unprefixed values. + */ + state?: string; + } + /** + * A license resource. + */ + interface Schema$License { + /** + * [Output Only] Deprecated. This field no longer reflects whether a license + * charges a usage fee. + */ + chargesUseFee?: boolean; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional textual description of the resource; provided by the client + * when the resource is created. + */ + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of resource. Always compute#license for licenses. + */ + kind?: string; + /** + * [Output Only] The unique code used to attach this license to images, + * snapshots, and disks. + */ + licenseCode?: string; + /** + * [Output Only] Name of the resource. The name is 1-63 characters long and + * complies with RFC1035. + */ + name?: string; + resourceRequirements?: Schema$LicenseResourceRequirements; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * If false, licenses will not be copied from the source resource when + * creating an image from a disk, disk from snapshot, or snapshot from disk. + */ + transferable?: boolean; + } + interface Schema$LicenseCode { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * [Output Only] Description of this License Code. + */ + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of resource. Always compute#licenseCode for licenses. + */ + kind?: string; + /** + * [Output Only] URL and description aliases of Licenses with the same + * License Code. + */ + licenseAlias?: Schema$LicenseCodeLicenseAlias[]; + /** + * [Output Only] Name of the resource. The name is 1-20 characters long and + * must be a valid 64 bit integer. + */ + name?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] Current state of this License Code. + */ + state?: string; + /** + * [Output Only] If true, the license will remain attached when creating + * images or snapshots from disks. Otherwise, the license is not + * transferred. + */ + transferable?: boolean; + } + interface Schema$LicenseCodeLicenseAlias { + /** + * [Output Only] Description of this License Code. + */ + description?: string; + /** + * [Output Only] URL of license corresponding to this License Code. + */ + selfLink?: string; + } + interface Schema$LicenseResourceRequirements { + /** + * Minimum number of guest cpus required to use the Instance. Enforced at + * Instance creation and Instance start. + */ + minGuestCpuCount?: number; + /** + * Minimum memory required to use the Instance. Enforced at Instance + * creation and Instance start. + */ + minMemoryMb?: number; + } + interface Schema$LicensesListResponse { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of License resources. + */ + items?: Schema$License[]; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * A Machine Type resource. (== resource_for v1.machineTypes ==) (== + * resource_for beta.machineTypes ==) + */ + interface Schema$MachineType { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * [Output Only] The deprecation status associated with this machine type. + */ + deprecated?: Schema$DeprecationStatus; + /** + * [Output Only] An optional textual description of the resource. + */ + description?: string; + /** + * [Output Only] The number of virtual CPUs that are available to the + * instance. + */ + guestCpus?: number; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Deprecated] This property is deprecated and will never be populated with + * any relevant values. + */ + imageSpaceGb?: number; + /** + * [Output Only] Whether this machine type has a shared CPU. See Shared-core + * machine types for more information. + */ + isSharedCpu?: boolean; + /** + * [Output Only] The type of the resource. Always compute#machineType for + * machine types. + */ + kind?: string; + /** + * [Output Only] Maximum persistent disks allowed. + */ + maximumPersistentDisks?: number; + /** + * [Output Only] Maximum total persistent disks size (GB) allowed. + */ + maximumPersistentDisksSizeGb?: string; + /** + * [Output Only] The amount of physical memory available to the instance, + * defined in MB. + */ + memoryMb?: number; + /** + * [Output Only] Name of the resource. + */ + name?: string; + /** + * [Output Only] A list of extended scratch disks assigned to the instance. + */ + scratchDisks?: any[]; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] The name of the zone where the machine type resides, such + * as us-central1-a. + */ + zone?: string; + } + interface Schema$MachineTypeAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of MachineTypesScopedList resources. + */ + items?: any; + /** + * [Output Only] Type of resource. Always compute#machineTypeAggregatedList + * for aggregated lists of machine types. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of machine types. + */ + interface Schema$MachineTypeList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of MachineType resources. + */ + items?: Schema$MachineType[]; + /** + * [Output Only] Type of resource. Always compute#machineTypeList for lists + * of machine types. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$MachineTypesScopedList { + /** + * [Output Only] A list of machine types contained in this scope. + */ + machineTypes?: Schema$MachineType[]; + /** + * [Output Only] An informational warning that appears when the machine + * types list is empty. + */ + warning?: any; + } + /** + * A Managed Instance resource. + */ + interface Schema$ManagedInstance { + /** + * [Output Only] The current action that the managed instance group has + * scheduled for the instance. Possible values: - NONE The instance is + * running, and the managed instance group does not have any scheduled + * actions for this instance. - CREATING The managed instance group is + * creating this instance. If the group fails to create this instance, it + * will try again until it is successful. - CREATING_WITHOUT_RETRIES The + * managed instance group is attempting to create this instance only once. + * If the group fails to create this instance, it does not try again and the + * group's targetSize value is decreased instead. - RECREATING The + * managed instance group is recreating this instance. - DELETING The + * managed instance group is permanently deleting this instance. - + * ABANDONING The managed instance group is abandoning this instance. The + * instance will be removed from the instance group and from any target + * pools that are associated with this group. - RESTARTING The managed + * instance group is restarting the instance. - REFRESHING The managed + * instance group is applying configuration changes to the instance without + * stopping it. For example, the group can update the target pool list for + * an instance without stopping that instance. - VERIFYING The managed + * instance group has created the instance and it is in the process of being + * verified. + */ + currentAction?: string; + /** + * [Output only] The unique identifier for this resource. This field is + * empty when instance does not exist. + */ + id?: string; + /** + * [Output Only] The URL of the instance. The URL can exist even if the + * instance has not yet been created. + */ + instance?: string; + /** + * [Output Only] The status of the instance. This field is empty when the + * instance does not exist. + */ + instanceStatus?: string; + /** + * [Output Only] Information about the last attempt to create or delete the + * instance. + */ + lastAttempt?: Schema$ManagedInstanceLastAttempt; + } + interface Schema$ManagedInstanceLastAttempt { + /** + * [Output Only] Encountered errors during the last attempt to create or + * delete the instance. + */ + errors?: any; + } + /** + * A metadata key/value entry. + */ + interface Schema$Metadata { + /** + * Specifies a fingerprint for this request, which is essentially a hash of + * the metadata's contents and used for optimistic locking. The + * fingerprint is initially generated by Compute Engine and changes after + * every request to modify or update metadata. You must always provide an + * up-to-date fingerprint hash in order to update or change metadata. To + * see the latest fingerprint, make a get() request to retrieve the + * resource. + */ + fingerprint?: string; + /** + * Array of key/value pairs. The total size of all keys and values must be + * less than 512 KB. + */ + items?: any[]; + /** + * [Output Only] Type of the resource. Always compute#metadata for metadata. + */ + kind?: string; + } + /** + * The named port. For example: . + */ + interface Schema$NamedPort { + /** + * The name for this named port. The name must be 1-63 characters long, and + * comply with RFC1035. + */ + name?: string; + /** + * The port number, which can be a value between 1 and 65535. + */ + port?: number; + } + /** + * Represents a Network resource. Read Networks and Firewalls for more + * information. (== resource_for v1.networks ==) (== resource_for + * beta.networks ==) + */ + interface Schema$Network { + /** + * When set to true, the network is created in "auto subnet mode". + * When set to false, the network is in "custom subnet mode". In + * "auto subnet mode", a newly created network is assigned the + * default CIDR of 10.128.0.0/9 and it automatically creates one subnetwork + * per region. + */ + autoCreateSubnetworks?: boolean; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * A gateway address for default routing to other networks. This value is + * read only and is selected by the Google Compute Engine, typically as the + * first usable address in the IPv4Range. + */ + gatewayIPv4?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * The range of internal addresses that are legal on this network. This + * range is a CIDR specification, for example: 192.168.0.0/16. Provided by + * the client when the network is created. + */ + IPv4Range?: string; + /** + * [Output Only] Type of the resource. Always compute#network for networks. + */ + kind?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * [Output Only] A list of network peerings for the resource. + */ + peerings?: Schema$NetworkPeering[]; + /** + * The network-level routing configuration for this network. Used by Cloud + * Router to determine what type of network-wide routing behavior to + * enforce. + */ + routingConfig?: Schema$NetworkRoutingConfig; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] Server-defined fully-qualified URLs for all subnetworks in + * this network. + */ + subnetworks?: string[]; + } + /** + * A network interface resource attached to an instance. + */ + interface Schema$NetworkInterface { + /** + * An array of configurations for this interface. Currently, only one access + * config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs + * specified, then this instance will have no external internet access. + */ + accessConfigs?: Schema$AccessConfig[]; + /** + * An array of alias IP ranges for this network interface. Can only be + * specified for network interfaces on subnet-mode networks. + */ + aliasIpRanges?: Schema$AliasIpRange[]; + /** + * Fingerprint hash of contents stored in this network interface. This field + * will be ignored when inserting an Instance or adding a NetworkInterface. + * An up-to-date fingerprint must be provided in order to update the + * NetworkInterface. + */ + fingerprint?: string; + /** + * [Output Only] Type of the resource. Always compute#networkInterface for + * network interfaces. + */ + kind?: string; + /** + * [Output Only] The name of the network interface, generated by the server. + * For network devices, these are eth0, eth1, etc. + */ + name?: string; + /** + * URL of the network resource for this instance. When creating an instance, + * if neither the network nor the subnetwork is specified, the default + * network global/networks/default is used; if the network is not specified + * but the subnetwork is specified, the network is inferred. This field is + * optional when creating a firewall rule. If not specified when creating a + * firewall rule, the default network global/networks/default is used. If + * you specify this property, you can specify the network as a full or + * partial URL. For example, the following are all valid URLs: - + * https://www.googleapis.com/compute/v1/projects/project/global/networks/network + * - projects/project/global/networks/network - global/networks/default + */ + network?: string; + /** + * An IPv4 internal network address to assign to the instance for this + * network interface. If not specified by the user, an unused internal IP is + * assigned by the system. + */ + networkIP?: string; + /** + * The URL of the Subnetwork resource for this instance. If the network + * resource is in legacy mode, do not provide this property. If the network + * is in auto subnet mode, providing the subnetwork is optional. If the + * network is in custom subnet mode, then this field should be specified. If + * you specify this property, you can specify the subnetwork as a full or + * partial URL. For example, the following are all valid URLs: - + * https://www.googleapis.com/compute/v1/projects/project/regions/region/subnetworks/subnetwork + * - regions/region/subnetworks/subnetwork + */ + subnetwork?: string; + } + /** + * Contains a list of networks. + */ + interface Schema$NetworkList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Network resources. + */ + items?: Schema$Network[]; + /** + * [Output Only] Type of resource. Always compute#networkList for lists of + * networks. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * A network peering attached to a network resource. The message includes the + * peering name, peer network, peering state, and a flag indicating whether + * Google Compute Engine should automatically create routes for the peering. + */ + interface Schema$NetworkPeering { + /** + * Whether full mesh connectivity is created and managed automatically. When + * it is set to true, Google Compute Engine will automatically create and + * manage the routes between two networks when the state is ACTIVE. + * Otherwise, user needs to create routes manually to route packets to peer + * network. + */ + autoCreateRoutes?: boolean; + /** + * Name of this peering. Provided by the client when the peering is created. + * The name must comply with RFC1035. Specifically, the name must be 1-63 + * characters long and match regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` + * which means the first character must be a lowercase letter, and all the + * following characters must be a dash, lowercase letter, or digit, except + * the last character, which cannot be a dash. + */ + name?: string; + /** + * The URL of the peer network. It can be either full URL or partial URL. + * The peer network may belong to a different project. If the partial URL + * does not contain project, it is assumed that the peer network is in the + * same project as the current network. + */ + network?: string; + /** + * [Output Only] State for the peering. + */ + state?: string; + /** + * [Output Only] Details about the current state of the peering. + */ + stateDetails?: string; + } + /** + * A routing configuration attached to a network resource. The message + * includes the list of routers associated with the network, and a flag + * indicating the type of routing behavior to enforce network-wide. + */ + interface Schema$NetworkRoutingConfig { + /** + * The network-wide routing mode to use. If set to REGIONAL, this + * network's cloud routers will only advertise routes with subnetworks + * of this network in the same region as the router. If set to GLOBAL, this + * network's cloud routers will advertise routes with all subnetworks of + * this network, across regions. + */ + routingMode?: string; + } + interface Schema$NetworksAddPeeringRequest { + /** + * Whether Google Compute Engine manages the routes automatically. + */ + autoCreateRoutes?: boolean; + /** + * Name of the peering, which should conform to RFC1035. + */ + name?: string; + /** + * URL of the peer network. It can be either full URL or partial URL. The + * peer network may belong to a different project. If the partial URL does + * not contain project, it is assumed that the peer network is in the same + * project as the current network. + */ + peerNetwork?: string; + } + interface Schema$NetworksRemovePeeringRequest { + /** + * Name of the peering, which should conform to RFC1035. + */ + name?: string; + } + /** + * A NodeGroup resource. + */ + interface Schema$NodeGroup { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] The type of the resource. Always compute#nodeGroup for node + * group. + */ + kind?: string; + /** + * The name of the resource, provided by the client when initially creating + * the resource. The resource name must be 1-63 characters long, and comply + * with RFC1035. Specifically, the name must be 1-63 characters long and + * match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the + * first character must be a lowercase letter, and all following characters + * must be a dash, lowercase letter, or digit, except the last character, + * which cannot be a dash. + */ + name?: string; + /** + * The URL of the node template to which this node group belongs. + */ + nodeTemplate?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] The total number of nodes in the node group. + */ + size?: number; + status?: string; + /** + * [Output Only] The name of the zone where the node group resides, such as + * us-central1-a. + */ + zone?: string; + } + interface Schema$NodeGroupAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of NodeGroupsScopedList resources. + */ + items?: any; + /** + * [Output Only] Type of resource.Always compute#nodeGroupAggregatedList for + * aggregated lists of node groups. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of nodeGroups. + */ + interface Schema$NodeGroupList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of NodeGroup resources. + */ + items?: Schema$NodeGroup[]; + /** + * [Output Only] Type of resource.Always compute#nodeGroupList for lists of + * node groups. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$NodeGroupNode { + /** + * Instances scheduled on this node. + */ + instances?: string[]; + /** + * The name of the node. + */ + name?: string; + /** + * The type of this node. + */ + nodeType?: string; + status?: string; + } + interface Schema$NodeGroupsAddNodesRequest { + /** + * Count of additional nodes to be added to the node group. + */ + additionalNodeCount?: number; + } + interface Schema$NodeGroupsDeleteNodesRequest { + nodes?: string[]; + } + interface Schema$NodeGroupsListNodes { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Node resources. + */ + items?: Schema$NodeGroupNode[]; + /** + * [Output Only] The resource type, which is always + * compute.nodeGroupsListNodes for the list of nodes in the specified node + * group. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$NodeGroupsScopedList { + /** + * [Output Only] A list of node groups contained in this scope. + */ + nodeGroups?: Schema$NodeGroup[]; + /** + * [Output Only] An informational warning that appears when the nodeGroup + * list is empty. + */ + warning?: any; + } + interface Schema$NodeGroupsSetNodeTemplateRequest { + /** + * Full or partial URL of the node template resource to be updated for this + * node group. + */ + nodeTemplate?: string; + } + /** + * A Node Template resource. + */ + interface Schema$NodeTemplate { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] The type of the resource. Always compute#nodeTemplate for + * node templates. + */ + kind?: string; + /** + * The name of the resource, provided by the client when initially creating + * the resource. The resource name must be 1-63 characters long, and comply + * with RFC1035. Specifically, the name must be 1-63 characters long and + * match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the + * first character must be a lowercase letter, and all following characters + * must be a dash, lowercase letter, or digit, except the last charaicter, + * which cannot be a dash. + */ + name?: string; + /** + * Labels to use for node affinity, which will be used in instance + * scheduling. + */ + nodeAffinityLabels?: any; + /** + * The node type to use for nodes group that are created from this template. + */ + nodeType?: string; + /** + * The flexible properties of the desired node type. Node groups that use + * this node template will create nodes of a type that matches these + * properties. This field is mutually exclusive with the node_type + * property; you can only define one or the other, but not both. + */ + nodeTypeFlexibility?: Schema$NodeTemplateNodeTypeFlexibility; + /** + * [Output Only] The name of the region where the node template resides, + * such as us-central1. + */ + region?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] The status of the node template. One of the following + * values: CREATING, READY, and DELETING. + */ + status?: string; + /** + * [Output Only] An optional, human-readable explanation of the status. + */ + statusMessage?: string; + } + interface Schema$NodeTemplateAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of NodeTemplatesScopedList resources. + */ + items?: any; + /** + * [Output Only] Type of resource.Always compute#nodeTemplateAggregatedList + * for aggregated lists of node templates. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of node templates. + */ + interface Schema$NodeTemplateList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of NodeTemplate resources. + */ + items?: Schema$NodeTemplate[]; + /** + * [Output Only] Type of resource.Always compute#nodeTemplateList for lists + * of node templates. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$NodeTemplateNodeTypeFlexibility { + cpus?: string; + localSsd?: string; + memory?: string; + } + interface Schema$NodeTemplatesScopedList { + /** + * [Output Only] A list of node templates contained in this scope. + */ + nodeTemplates?: Schema$NodeTemplate[]; + /** + * [Output Only] An informational warning that appears when the node + * templates list is empty. + */ + warning?: any; + } + /** + * A Node Type resource. + */ + interface Schema$NodeType { + /** + * [Output Only] The CPU platform used by this node type. + */ + cpuPlatform?: string; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * [Output Only] The deprecation status associated with this node type. + */ + deprecated?: Schema$DeprecationStatus; + /** + * [Output Only] An optional textual description of the resource. + */ + description?: string; + /** + * [Output Only] The number of virtual CPUs that are available to the node + * type. + */ + guestCpus?: number; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] The type of the resource. Always compute#nodeType for node + * types. + */ + kind?: string; + /** + * [Output Only] Local SSD available to the node type, defined in GB. + */ + localSsdGb?: number; + /** + * [Output Only] The amount of physical memory available to the node type, + * defined in MB. + */ + memoryMb?: number; + /** + * [Output Only] Name of the resource. + */ + name?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] The name of the zone where the node type resides, such as + * us-central1-a. + */ + zone?: string; + } + interface Schema$NodeTypeAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of NodeTypesScopedList resources. + */ + items?: any; + /** + * [Output Only] Type of resource.Always compute#nodeTypeAggregatedList for + * aggregated lists of node types. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of node types. + */ + interface Schema$NodeTypeList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of NodeType resources. + */ + items?: Schema$NodeType[]; + /** + * [Output Only] Type of resource.Always compute#nodeTypeList for lists of + * node types. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$NodeTypesScopedList { + /** + * [Output Only] A list of node types contained in this scope. + */ + nodeTypes?: Schema$NodeType[]; + /** + * [Output Only] An informational warning that appears when the node types + * list is empty. + */ + warning?: any; + } + /** + * An Operation resource, used to manage asynchronous API requests. (== + * resource_for v1.globalOperations ==) (== resource_for beta.globalOperations + * ==) (== resource_for v1.regionOperations ==) (== resource_for + * beta.regionOperations ==) (== resource_for v1.zoneOperations ==) (== + * resource_for beta.zoneOperations ==) + */ + interface Schema$Operation { + /** + * [Output Only] The value of `requestId` if you provided it in the request. + * Not present otherwise. + */ + clientOperationId?: string; + /** + * [Deprecated] This field is deprecated. + */ + creationTimestamp?: string; + /** + * [Output Only] A textual description of the operation, which is set when + * the operation is created. + */ + description?: string; + /** + * [Output Only] The time that this operation was completed. This value is + * in RFC3339 text format. + */ + endTime?: string; + /** + * [Output Only] If errors are generated during processing of the operation, + * this field will be populated. + */ + error?: any; + /** + * [Output Only] If the operation fails, this field contains the HTTP error + * message that was returned, such as NOT FOUND. + */ + httpErrorMessage?: string; + /** + * [Output Only] If the operation fails, this field contains the HTTP error + * status code that was returned. For example, a 404 means the resource was + * not found. + */ + httpErrorStatusCode?: number; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] The time that this operation was requested. This value is + * in RFC3339 text format. + */ + insertTime?: string; + /** + * [Output Only] Type of the resource. Always compute#operation for + * Operation resources. + */ + kind?: string; + /** + * [Output Only] Name of the resource. + */ + name?: string; + /** + * [Output Only] The type of operation, such as insert, update, or delete, + * and so on. + */ + operationType?: string; + /** + * [Output Only] An optional progress indicator that ranges from 0 to 100. + * There is no requirement that this be linear or support any granularity of + * operations. This should not be used to guess when the operation will be + * complete. This number should monotonically increase as the operation + * progresses. + */ + progress?: number; + /** + * [Output Only] The URL of the region where the operation resides. Only + * available when performing regional operations. You must specify this + * field as part of the HTTP request URL. It is not settable as a field in + * the request body. + */ + region?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] The time that this operation was started by the server. + * This value is in RFC3339 text format. + */ + startTime?: string; + /** + * [Output Only] The status of the operation, which can be one of the + * following: PENDING, RUNNING, or DONE. + */ + status?: string; + /** + * [Output Only] An optional textual description of the current status of + * the operation. + */ + statusMessage?: string; + /** + * [Output Only] The unique target ID, which identifies a specific + * incarnation of the target resource. + */ + targetId?: string; + /** + * [Output Only] The URL of the resource that the operation modifies. For + * operations related to creating a snapshot, this points to the persistent + * disk that the snapshot was created from. + */ + targetLink?: string; + /** + * [Output Only] User who requested the operation, for example: + * user@example.com. + */ + user?: string; + /** + * [Output Only] If warning messages are generated during processing of the + * operation, this field will be populated. + */ + warnings?: any[]; + /** + * [Output Only] The URL of the zone where the operation resides. Only + * available when performing per-zone operations. You must specify this + * field as part of the HTTP request URL. It is not settable as a field in + * the request body. + */ + zone?: string; + } + interface Schema$OperationAggregatedList { + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] A map of scoped operation lists. + */ + items?: any; + /** + * [Output Only] Type of resource. Always compute#operationAggregatedList + * for aggregated lists of operations. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of Operation resources. + */ + interface Schema$OperationList { + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] A list of Operation resources. + */ + items?: Schema$Operation[]; + /** + * [Output Only] Type of resource. Always compute#operations for Operations + * resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$OperationsScopedList { + /** + * [Output Only] A list of operations contained in this scope. + */ + operations?: Schema$Operation[]; + /** + * [Output Only] Informational warning which replaces the list of operations + * when the list is empty. + */ + warning?: any; + } + /** + * A matcher for the path portion of the URL. The BackendService from the + * longest-matched rule will serve the URL. If no rule was matched, the + * default service will be used. + */ + interface Schema$PathMatcher { + /** + * The full or partial URL to the BackendService resource. This will be used + * if none of the pathRules defined by this PathMatcher is matched by the + * URL's path portion. For example, the following are all valid URLs to + * a BackendService resource: - + * https://www.googleapis.com/compute/v1/projects/project/global/backendServices/backendService + * - compute/v1/projects/project/global/backendServices/backendService - + * global/backendServices/backendService + */ + defaultService?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * The name to which this PathMatcher is referred by the HostRule. + */ + name?: string; + /** + * The list of path rules. + */ + pathRules?: Schema$PathRule[]; + } + /** + * A path-matching rule for a URL. If matched, will use the specified + * BackendService to handle the traffic arriving at this URL. + */ + interface Schema$PathRule { + /** + * The list of path patterns to match. Each must start with / and the only + * place a * is allowed is at the end following a /. The string fed to the + * path matcher does not include any text after the first ? or #, and those + * chars are not allowed here. + */ + paths?: string[]; + /** + * The URL of the BackendService resource if this rule is matched. + */ + service?: string; + } + /** + * A Project resource. For an overview of projects, see Cloud Platform + * Resource Hierarchy. (== resource_for v1.projects ==) (== resource_for + * beta.projects ==) + */ + interface Schema$Project { + /** + * Metadata key/value pairs available to all instances contained in this + * project. See Custom metadata for more information. + */ + commonInstanceMetadata?: Schema$Metadata; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * This signifies the default network tier used for configuring resources of + * the project and can only take the following values: PREMIUM, STANDARD. + * Initially the default network tier is PREMIUM. + */ + defaultNetworkTier?: string; + /** + * [Output Only] Default service account used by VMs running in this + * project. + */ + defaultServiceAccount?: string; + /** + * An optional textual description of the resource. + */ + description?: string; + /** + * Restricted features enabled for use on this project. + */ + enabledFeatures?: string[]; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. This is not the project ID, and is just a unique + * ID used by Compute Engine to identify resources. + */ + id?: string; + /** + * [Output Only] Type of the resource. Always compute#project for projects. + */ + kind?: string; + /** + * The project ID. For example: my-example-project. Use the project ID to + * make requests to Compute Engine. + */ + name?: string; + /** + * [Output Only] Quotas assigned to this project. + */ + quotas?: Schema$Quota[]; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * The naming prefix for daily usage reports and the Google Cloud Storage + * bucket where they are stored. + */ + usageExportLocation?: Schema$UsageExportLocation; + /** + * [Output Only] The role this project has in a shared VPC configuration. + * Currently only HOST projects are differentiated. + */ + xpnProjectStatus?: string; + } + interface Schema$ProjectsDisableXpnResourceRequest { + /** + * Service resource (a.k.a service project) ID. + */ + xpnResource?: Schema$XpnResourceId; + } + interface Schema$ProjectsEnableXpnResourceRequest { + /** + * Service resource (a.k.a service project) ID. + */ + xpnResource?: Schema$XpnResourceId; + } + interface Schema$ProjectsGetXpnResources { + /** + * [Output Only] Type of resource. Always compute#projectsGetXpnResources + * for lists of service resources (a.k.a service projects) + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * Service resources (a.k.a service projects) attached to this project as + * their shared VPC host. + */ + resources?: Schema$XpnResourceId[]; + } + interface Schema$ProjectsListXpnHostsRequest { + /** + * Optional organization ID managed by Cloud Resource Manager, for which to + * list shared VPC host projects. If not specified, the organization will be + * inferred from the project. + */ + organization?: string; + } + interface Schema$ProjectsSetDefaultNetworkTierRequest { + /** + * Default network tier to be set. + */ + networkTier?: string; + } + /** + * A quotas entry. + */ + interface Schema$Quota { + /** + * [Output Only] Quota limit for this metric. + */ + limit?: number; + /** + * [Output Only] Name of the quota metric. + */ + metric?: string; + /** + * [Output Only] Current usage of this metric. + */ + usage?: number; + } + /** + * Represents a reference to a resource. + */ + interface Schema$Reference { + /** + * [Output Only] Type of the resource. Always compute#reference for + * references. + */ + kind?: string; + /** + * A description of the reference type with no implied semantics. Possible + * values include: - MEMBER_OF + */ + referenceType?: string; + /** + * URL of the resource which refers to the target. + */ + referrer?: string; + /** + * URL of the resource to which this reference points. + */ + target?: string; + } + /** + * Region resource. (== resource_for beta.regions ==) (== resource_for + * v1.regions ==) + */ + interface Schema$Region { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * [Output Only] The deprecation status associated with this region. + */ + deprecated?: Schema$DeprecationStatus; + /** + * [Output Only] Textual description of the resource. + */ + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of the resource. Always compute#region for regions. + */ + kind?: string; + /** + * [Output Only] Name of the resource. + */ + name?: string; + /** + * [Output Only] Quotas assigned to this region. + */ + quotas?: Schema$Quota[]; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] Status of the region, either UP or DOWN. + */ + status?: string; + /** + * [Output Only] A list of zones available in this region, in the form of + * resource URLs. + */ + zones?: string[]; + } + /** + * Contains a list of autoscalers. + */ + interface Schema$RegionAutoscalerList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Autoscaler resources. + */ + items?: Schema$Autoscaler[]; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$RegionDisksResizeRequest { + /** + * The new size of the regional persistent disk, which is specified in GB. + */ + sizeGb?: string; + } + interface Schema$RegionDiskTypeList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of DiskType resources. + */ + items?: Schema$DiskType[]; + /** + * [Output Only] Type of resource. Always compute#regionDiskTypeList for + * region disk types. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of InstanceGroup resources. + */ + interface Schema$RegionInstanceGroupList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of InstanceGroup resources. + */ + items?: Schema$InstanceGroup[]; + /** + * The resource type. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of managed instance groups. + */ + interface Schema$RegionInstanceGroupManagerList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of InstanceGroupManager resources. + */ + items?: Schema$InstanceGroupManager[]; + /** + * [Output Only] The resource type, which is always + * compute#instanceGroupManagerList for a list of managed instance groups + * that exist in th regional scope. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$RegionInstanceGroupManagersAbandonInstancesRequest { + /** + * The URLs of one or more instances to abandon. This can be a full URL or a + * partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. + */ + instances?: string[]; + } + interface Schema$RegionInstanceGroupManagersDeleteInstancesRequest { + /** + * The URLs of one or more instances to delete. This can be a full URL or a + * partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. + */ + instances?: string[]; + } + interface Schema$RegionInstanceGroupManagersListInstancesResponse { + /** + * A list of managed instances. + */ + managedInstances?: Schema$ManagedInstance[]; + } + interface Schema$RegionInstanceGroupManagersRecreateRequest { + /** + * The URLs of one or more instances to recreate. This can be a full URL or + * a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. + */ + instances?: string[]; + } + interface Schema$RegionInstanceGroupManagersSetTargetPoolsRequest { + /** + * Fingerprint of the target pools information, which is a hash of the + * contents. This field is used for optimistic locking when you update the + * target pool entries. This field is optional. + */ + fingerprint?: string; + /** + * The URL of all TargetPool resources to which instances in the + * instanceGroup field are added. The target pools automatically apply to + * all of the instances in the managed instance group. + */ + targetPools?: string[]; + } + interface Schema$RegionInstanceGroupManagersSetTemplateRequest { + /** + * URL of the InstanceTemplate resource from which all new instances will be + * created. + */ + instanceTemplate?: string; + } + interface Schema$RegionInstanceGroupsListInstances { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of InstanceWithNamedPorts resources. + */ + items?: Schema$InstanceWithNamedPorts[]; + /** + * The resource type. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$RegionInstanceGroupsListInstancesRequest { + /** + * Instances in which state should be returned. Valid options are: + * 'ALL', 'RUNNING'. By default, it lists all instances. + */ + instanceState?: string; + /** + * Name of port user is interested in. It is optional. If it is set, only + * information about this ports will be returned. If it is not set, all the + * named ports will be returned. Always lists all instances. + */ + portName?: string; + } + interface Schema$RegionInstanceGroupsSetNamedPortsRequest { + /** + * The fingerprint of the named ports information for this instance group. + * Use this optional property to prevent conflicts when multiple users + * change the named ports settings concurrently. Obtain the fingerprint with + * the instanceGroups.get method. Then, include the fingerprint in your + * request to ensure that you do not overwrite changes that were applied + * from another concurrent request. + */ + fingerprint?: string; + /** + * The list of named ports to set for this instance group. + */ + namedPorts?: Schema$NamedPort[]; + } + /** + * Contains a list of region resources. + */ + interface Schema$RegionList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Region resources. + */ + items?: Schema$Region[]; + /** + * [Output Only] Type of resource. Always compute#regionList for lists of + * regions. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$RegionSetLabelsRequest { + /** + * The fingerprint of the previous set of labels for this resource, used to + * detect conflicts. The fingerprint is initially generated by Compute + * Engine and changes after every request to modify or update labels. You + * must always provide an up-to-date fingerprint hash in order to update or + * change labels. Make a get() request to the resource to get the latest + * fingerprint. + */ + labelFingerprint?: string; + /** + * The labels to set for this resource. + */ + labels?: any; + } + /** + * Commitment for a particular resource (a Commitment is composed of one or + * more of these). + */ + interface Schema$ResourceCommitment { + /** + * The amount of the resource purchased (in a type-dependent unit, such as + * bytes). For vCPUs, this can just be an integer. For memory, this must be + * provided in MB. Memory must be a multiple of 256 MB, with up to 6.5GB of + * memory per every vCPU. + */ + amount?: string; + /** + * Type of resource for which this commitment applies. Possible values are + * VCPU and MEMORY + */ + type?: string; + } + interface Schema$ResourceGroupReference { + /** + * A URI referencing one of the instance groups listed in the backend + * service. + */ + group?: string; + } + /** + * Represents a Route resource. A route specifies how certain packets should + * be handled by the network. Routes are associated with instances by tags and + * the set of routes for a particular instance is called its routing table. + * For each packet leaving an instance, the system searches that + * instance's routing table for a single best matching route. Routes match + * packets by destination IP address, preferring smaller or more specific + * ranges over larger ones. If there is a tie, the system selects the route + * with the smallest priority value. If there is still a tie, it uses the + * layer three and four packet headers to select just one of the remaining + * matching routes. The packet is then forwarded as specified by the nextHop + * field of the winning route - either to another instance destination, an + * instance gateway, or a Google Compute Engine-operated gateway. Packets + * that do not match any route in the sending instance's routing table are + * dropped. (== resource_for beta.routes ==) (== resource_for v1.routes ==) + */ + interface Schema$Route { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * The destination range of outgoing packets that this route applies to. + * Only IPv4 is supported. + */ + destRange?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of this resource. Always compute#routes for Route + * resources. + */ + kind?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * Fully-qualified URL of the network that this route applies to. + */ + network?: string; + /** + * The URL to a gateway that should handle matching packets. You can only + * specify the internet gateway using a full or partial valid URL: + * projects/<project-id>/global/gateways/default-internet-gateway + */ + nextHopGateway?: string; + /** + * The URL to an instance that should handle matching packets. You can + * specify this as a full or partial URL. For example: + * https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/ + */ + nextHopInstance?: string; + /** + * The network IP address of an instance that should handle matching + * packets. Only IPv4 is supported. + */ + nextHopIp?: string; + /** + * The URL of the local network if it should handle matching packets. + */ + nextHopNetwork?: string; + /** + * [Output Only] The network peering name that should handle matching + * packets, which should conform to RFC1035. + */ + nextHopPeering?: string; + /** + * The URL to a VpnTunnel that should handle matching packets. + */ + nextHopVpnTunnel?: string; + /** + * The priority of this route. Priority is used to break ties in cases where + * there is more than one matching route of equal prefix length. In the case + * of two routes with equal prefix length, the one with the lowest-numbered + * priority value wins. Default value is 1000. Valid range is 0 through + * 65535. + */ + priority?: number; + /** + * [Output Only] Server-defined fully-qualified URL for this resource. + */ + selfLink?: string; + /** + * A list of instance tags to which this route applies. + */ + tags?: string[]; + /** + * [Output Only] If potential misconfigurations are detected for this route, + * this field will be populated with warning messages. + */ + warnings?: any[]; + } + /** + * Contains a list of Route resources. + */ + interface Schema$RouteList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Route resources. + */ + items?: Schema$Route[]; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Router resource. + */ + interface Schema$Router { + /** + * BGP information specific to this router. + */ + bgp?: Schema$RouterBgp; + /** + * BGP information that needs to be configured into the routing stack to + * establish the BGP peering. It must specify peer ASN and either interface + * name, IP, or peer IP. Please refer to RFC4273. + */ + bgpPeers?: Schema$RouterBgpPeer[]; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * Router interfaces. Each interface requires either one linked resource + * (e.g. linkedVpnTunnel), or IP address and IP address range (e.g. + * ipRange), or both. + */ + interfaces?: Schema$RouterInterface[]; + /** + * [Output Only] Type of resource. Always compute#router for routers. + */ + kind?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * URI of the network to which this router belongs. + */ + network?: string; + /** + * [Output Only] URI of the region where the router resides. You must + * specify this field as part of the HTTP request URL. It is not settable as + * a field in the request body. + */ + region?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + } + /** + * Description-tagged IP ranges for the router to advertise. + */ + interface Schema$RouterAdvertisedIpRange { + /** + * User-specified description for the IP range. + */ + description?: string; + /** + * The IP range to advertise. The value must be a CIDR-formatted string. + */ + range?: string; + } + /** + * Contains a list of routers. + */ + interface Schema$RouterAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Router resources. + */ + items?: any; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$RouterBgp { + /** + * User-specified list of prefix groups to advertise in custom mode. This + * field can only be populated if advertise_mode is CUSTOM and is advertised + * to all peers of the router. These groups will be advertised in addition + * to any specified prefixes. Leave this field blank to advertise no custom + * groups. + */ + advertisedGroups?: string[]; + /** + * User-specified list of individual IP ranges to advertise in custom mode. + * This field can only be populated if advertise_mode is CUSTOM and is + * advertised to all peers of the router. These IP ranges will be advertised + * in addition to any specified groups. Leave this field blank to advertise + * no custom IP ranges. + */ + advertisedIpRanges?: Schema$RouterAdvertisedIpRange[]; + /** + * User-specified flag to indicate which mode to use for advertisement. + */ + advertiseMode?: string; + /** + * Local BGP Autonomous System Number (ASN). Must be an RFC6996 private ASN, + * either 16-bit or 32-bit. The value will be fixed for this router + * resource. All VPN tunnels that link to this router will have the same + * local ASN. + */ + asn?: number; + } + interface Schema$RouterBgpPeer { + /** + * User-specified list of prefix groups to advertise in custom mode. This + * field can only be populated if advertise_mode is CUSTOM and overrides the + * list defined for the router (in Bgp message). These groups will be + * advertised in addition to any specified prefixes. Leave this field blank + * to advertise no custom groups. + */ + advertisedGroups?: string[]; + /** + * User-specified list of individual IP ranges to advertise in custom mode. + * This field can only be populated if advertise_mode is CUSTOM and + * overrides the list defined for the router (in Bgp message). These IP + * ranges will be advertised in addition to any specified groups. Leave this + * field blank to advertise no custom IP ranges. + */ + advertisedIpRanges?: Schema$RouterAdvertisedIpRange[]; + /** + * The priority of routes advertised to this BGP peer. In the case where + * there is more than one matching route of maximum length, the routes with + * lowest priority value win. + */ + advertisedRoutePriority?: number; + /** + * User-specified flag to indicate which mode to use for advertisement. + */ + advertiseMode?: string; + /** + * Name of the interface the BGP peer is associated with. + */ + interfaceName?: string; + /** + * IP address of the interface inside Google Cloud Platform. Only IPv4 is + * supported. + */ + ipAddress?: string; + /** + * [Output Only] Type of how the resource/configuration of the BGP peer is + * managed. MANAGED_BY_USER is the default value; MANAGED_BY_ATTACHMENT + * represents an BGP peer that is automatically created for PARTNER + * interconnectAttachment, Google will automatically create/delete this type + * of BGP peer when the PARTNER interconnectAttachment is created/deleted. + */ + managementType?: string; + /** + * Name of this BGP peer. The name must be 1-63 characters long and comply + * with RFC1035. + */ + name?: string; + /** + * Peer BGP Autonomous System Number (ASN). For VPN use case, this value can + * be different for every tunnel. + */ + peerAsn?: number; + /** + * IP address of the BGP interface outside Google cloud. Only IPv4 is + * supported. + */ + peerIpAddress?: string; + } + interface Schema$RouterInterface { + /** + * IP address and range of the interface. The IP range must be in the + * RFC3927 link-local IP space. The value must be a CIDR-formatted string, + * for example: 169.254.0.1/30. NOTE: Do not truncate the address as it + * represents the IP address of the interface. + */ + ipRange?: string; + /** + * URI of the linked interconnect attachment. It must be in the same region + * as the router. Each interface can have at most one linked resource and it + * could either be a VPN Tunnel or an interconnect attachment. + */ + linkedInterconnectAttachment?: string; + /** + * URI of the linked VPN tunnel. It must be in the same region as the + * router. Each interface can have at most one linked resource and it could + * either be a VPN Tunnel or an interconnect attachment. + */ + linkedVpnTunnel?: string; + /** + * [Output Only] Type of how the resource/configuration of the interface is + * managed. MANAGED_BY_USER is the default value; MANAGED_BY_ATTACHMENT + * represents an interface that is automatically created for PARTNER type + * interconnectAttachment, Google will automatically create/update/delete + * this type of interface when the PARTNER interconnectAttachment is + * created/provisioned/deleted. + */ + managementType?: string; + /** + * Name of this interface entry. The name must be 1-63 characters long and + * comply with RFC1035. + */ + name?: string; + } + /** + * Contains a list of Router resources. + */ + interface Schema$RouterList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Router resources. + */ + items?: Schema$Router[]; + /** + * [Output Only] Type of resource. Always compute#router for routers. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$RoutersPreviewResponse { + /** + * Preview of given router. + */ + resource?: Schema$Router; + } + interface Schema$RoutersScopedList { + /** + * A list of routers contained in this scope. + */ + routers?: Schema$Router[]; + /** + * Informational warning which replaces the list of routers when the list is + * empty. + */ + warning?: any; + } + interface Schema$RouterStatus { + /** + * Best routes for this router's network. + */ + bestRoutes?: Schema$Route[]; + /** + * Best routes learned by this router. + */ + bestRoutesForRouter?: Schema$Route[]; + bgpPeerStatus?: Schema$RouterStatusBgpPeerStatus[]; + /** + * URI of the network to which this router belongs. + */ + network?: string; + } + interface Schema$RouterStatusBgpPeerStatus { + /** + * Routes that were advertised to the remote BGP peer + */ + advertisedRoutes?: Schema$Route[]; + /** + * IP address of the local BGP interface. + */ + ipAddress?: string; + /** + * URL of the VPN tunnel that this BGP peer controls. + */ + linkedVpnTunnel?: string; + /** + * Name of this BGP peer. Unique within the Routers resource. + */ + name?: string; + /** + * Number of routes learned from the remote BGP Peer. + */ + numLearnedRoutes?: number; + /** + * IP address of the remote BGP interface. + */ + peerIpAddress?: string; + /** + * BGP state as specified in RFC1771. + */ + state?: string; + /** + * Status of the BGP peer: {UP, DOWN} + */ + status?: string; + /** + * Time this session has been up. Format: 14 years, 51 weeks, 6 days, 23 + * hours, 59 minutes, 59 seconds + */ + uptime?: string; + /** + * Time this session has been up, in seconds. Format: 145 + */ + uptimeSeconds?: string; + } + interface Schema$RouterStatusResponse { + /** + * Type of resource. + */ + kind?: string; + result?: Schema$RouterStatus; + } + /** + * Sets the scheduling options for an Instance. + */ + interface Schema$Scheduling { + /** + * Specifies whether the instance should be automatically restarted if it is + * terminated by Compute Engine (not terminated by a user). You can only set + * the automatic restart option for standard instances. Preemptible + * instances cannot be automatically restarted. By default, this is set to + * true so an instance is automatically restarted if it is terminated by + * Compute Engine. + */ + automaticRestart?: boolean; + /** + * A set of node affinity and anti-affinity. + */ + nodeAffinities?: Schema$SchedulingNodeAffinity[]; + /** + * Defines the maintenance behavior for this instance. For standard + * instances, the default behavior is MIGRATE. For preemptible instances, + * the default and only possible behavior is TERMINATE. For more + * information, see Setting Instance Scheduling Options. + */ + onHostMaintenance?: string; + /** + * Defines whether the instance is preemptible. This can only be set during + * instance creation, it cannot be set or changed after the instance has + * been created. + */ + preemptible?: boolean; + } + /** + * Node Affinity: the configuration of desired nodes onto which this Instance + * could be scheduled. + */ + interface Schema$SchedulingNodeAffinity { + /** + * Corresponds to the label key of Node resource. + */ + key?: string; + /** + * Defines the operation of node selection. + */ + operator?: string; + /** + * Corresponds to the label values of Node resource. + */ + values?: string[]; + } + /** + * A security policy is comprised of one or more rules. It can also be + * associated with one or more 'targets'. (== resource_for + * v1.securityPolicies ==) (== resource_for beta.securityPolicies ==) + */ + interface Schema$SecurityPolicy { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * Specifies a fingerprint for this resource, which is essentially a hash of + * the metadata's contents and used for optimistic locking. The + * fingerprint is initially generated by Compute Engine and changes after + * every request to modify or update metadata. You must always provide an + * up-to-date fingerprint hash in order to update or change metadata. To + * see the latest fingerprint, make get() request to the security policy. + */ + fingerprint?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output only] Type of the resource. Always compute#securityPolicyfor + * security policies + */ + kind?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * A list of rules that belong to this policy. There must always be a + * default rule (rule with priority 2147483647 and match "*"). If + * no rules are provided when creating a security policy, a default rule + * with action "allow" will be added. + */ + rules?: Schema$SecurityPolicyRule[]; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + } + interface Schema$SecurityPolicyList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of SecurityPolicy resources. + */ + items?: Schema$SecurityPolicy[]; + /** + * [Output Only] Type of resource. Always compute#securityPolicyList for + * listsof securityPolicies + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$SecurityPolicyReference { + securityPolicy?: string; + } + /** + * Represents a rule that describes one or more match conditions along with + * the action to be taken when traffic matches this condition (allow or deny). + */ + interface Schema$SecurityPolicyRule { + /** + * The Action to preform when the client connection triggers the rule. Can + * currently be either "allow" or "deny()" where valid + * values for status are 403, 404, and 502. + */ + action?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output only] Type of the resource. Always compute#securityPolicyRule for + * security policy rules + */ + kind?: string; + /** + * A match condition that incoming traffic is evaluated against. If it + * evaluates to true, the corresponding ?action? is enforced. + */ + match?: Schema$SecurityPolicyRuleMatcher; + /** + * If set to true, the specified action is not enforced. + */ + preview?: boolean; + /** + * An integer indicating the priority of a rule in the list. The priority + * must be a positive value between 0 and 2147483647. Rules are evaluated in + * the increasing order of priority. + */ + priority?: number; + } + /** + * Represents a match condition that incoming traffic is evaluated against. + * Exactly one field must be specified. + */ + interface Schema$SecurityPolicyRuleMatcher { + /** + * The configuration options available when specifying versioned_expr. This + * field must be specified if versioned_expr is specified and cannot be + * specified if versioned_expr is not specified. + */ + config?: Schema$SecurityPolicyRuleMatcherConfig; + /** + * Preconfigured versioned expression. If this field is specified, config + * must also be specified. Available preconfigured expressions along with + * their requirements are: SRC_IPS_V1 - must specify the corresponding + * src_ip_range field in config. + */ + versionedExpr?: string; + } + interface Schema$SecurityPolicyRuleMatcherConfig { + /** + * CIDR IP address range. + */ + srcIpRanges?: string[]; + } + /** + * An instance's serial console output. + */ + interface Schema$SerialPortOutput { + /** + * [Output Only] The contents of the console output. + */ + contents?: string; + /** + * [Output Only] Type of the resource. Always compute#serialPortOutput for + * serial port output. + */ + kind?: string; + /** + * [Output Only] The position of the next byte of content from the serial + * console output. Use this value in the next request as the start + * parameter. + */ + next?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * The starting byte position of the output that was returned. This should + * match the start parameter sent with the request. If the serial console + * output exceeds the size of the buffer, older output will be overwritten + * by newer content and the start values will be mismatched. + */ + start?: string; + } + /** + * A service account. + */ + interface Schema$ServiceAccount { + /** + * Email address of the service account. + */ + email?: string; + /** + * The list of scopes to be made available for this service account. + */ + scopes?: string[]; + } + /** + * Represents a customer-supplied Signing Key used by Cloud CDN Signed URLs + */ + interface Schema$SignedUrlKey { + /** + * Name of the key. The name must be 1-63 characters long, and comply with + * RFC1035. Specifically, the name must be 1-63 characters long and match + * the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first + * character must be a lowercase letter, and all following characters must + * be a dash, lowercase letter, or digit, except the last character, which + * cannot be a dash. + */ + keyName?: string; + /** + * 128-bit key value used for signing the URL. The key value must be a valid + * RFC 4648 Section 5 base64url encoded string. + */ + keyValue?: string; + } + /** + * A persistent disk snapshot resource. (== resource_for beta.snapshots ==) + * (== resource_for v1.snapshots ==) + */ + interface Schema$Snapshot { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] Size of the snapshot, specified in GB. + */ + diskSizeGb?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of the resource. Always compute#snapshot for Snapshot + * resources. + */ + kind?: string; + /** + * A fingerprint for the labels being applied to this snapshot, which is + * essentially a hash of the labels set used for optimistic locking. The + * fingerprint is initially generated by Compute Engine and changes after + * every request to modify or update labels. You must always provide an + * up-to-date fingerprint hash in order to update or change labels. To see + * the latest fingerprint, make a get() request to retrieve a snapshot. + */ + labelFingerprint?: string; + /** + * Labels to apply to this snapshot. These can be later modified by the + * setLabels method. Label values may be empty. + */ + labels?: any; + /** + * [Output Only] Integer license codes indicating which licenses are + * attached to this snapshot. + */ + licenseCodes?: string[]; + /** + * [Output Only] A list of public visible licenses that apply to this + * snapshot. This can be because the original image had licenses attached + * (such as a Windows image). + */ + licenses?: string[]; + /** + * Name of the resource; provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * Encrypts the snapshot using a customer-supplied encryption key. After + * you encrypt a snapshot using a customer-supplied key, you must provide + * the same key if you use the image later For example, you must provide the + * encryption key when you create a disk from the encrypted snapshot in a + * future request. Customer-supplied encryption keys do not protect access + * to metadata of the disk. If you do not provide an encryption key when + * creating the snapshot, then the snapshot will be encrypted using an + * automatically generated key and you do not need to provide a key to use + * the snapshot later. + */ + snapshotEncryptionKey?: Schema$CustomerEncryptionKey; + /** + * [Output Only] The source disk used to create this snapshot. + */ + sourceDisk?: string; + /** + * The customer-supplied encryption key of the source disk. Required if the + * source disk is protected by a customer-supplied encryption key. + */ + sourceDiskEncryptionKey?: Schema$CustomerEncryptionKey; + /** + * [Output Only] The ID value of the disk used to create this snapshot. This + * value may be used to determine whether the snapshot was taken from the + * current or a previous instance of a given disk name. + */ + sourceDiskId?: string; + /** + * [Output Only] The status of the snapshot. This can be CREATING, DELETING, + * FAILED, READY, or UPLOADING. + */ + status?: string; + /** + * [Output Only] A size of the storage used by the snapshot. As snapshots + * share storage, this number is expected to change with snapshot + * creation/deletion. + */ + storageBytes?: string; + /** + * [Output Only] An indicator whether storageBytes is in a stable state or + * it is being adjusted as a result of shared storage reallocation. This + * status can either be UPDATING, meaning the size of the snapshot is being + * updated, or UP_TO_DATE, meaning the size of the snapshot is up-to-date. + */ + storageBytesStatus?: string; + } + /** + * Contains a list of Snapshot resources. + */ + interface Schema$SnapshotList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Snapshot resources. + */ + items?: Schema$Snapshot[]; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * A specification of the parameters to use when creating the instance + * template from a source instance. + */ + interface Schema$SourceInstanceParams { + /** + * Attached disks configuration. If not provided, defaults are applied: For + * boot disk and any other R/W disks, new custom images will be created from + * each disk. For read-only disks, they will be attached in read-only mode. + * Local SSD disks will be created as blank volumes. + */ + diskConfigs?: Schema$DiskInstantiationConfig[]; + } + /** + * An SslCertificate resource. This resource provides a mechanism to upload an + * SSL key and certificate to the load balancer to serve secure connections + * from the user. (== resource_for beta.sslCertificates ==) (== resource_for + * v1.sslCertificates ==) + */ + interface Schema$SslCertificate { + /** + * A local certificate file. The certificate must be in PEM format. The + * certificate chain must be no greater than 5 certs long. The chain must + * include at least one intermediate cert. + */ + certificate?: string; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of the resource. Always compute#sslCertificate for SSL + * certificates. + */ + kind?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * A write-only private key in PEM format. Only insert requests will include + * this field. + */ + privateKey?: string; + /** + * [Output only] Server-defined URL for the resource. + */ + selfLink?: string; + } + /** + * Contains a list of SslCertificate resources. + */ + interface Schema$SslCertificateList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of SslCertificate resources. + */ + items?: Schema$SslCertificate[]; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$SSLHealthCheck { + /** + * The TCP port number for the health check request. The default value is + * 443. Valid values are 1 through 65535. + */ + port?: number; + /** + * Port name as defined in InstanceGroup#NamedPort#name. If both port and + * port_name are defined, port takes precedence. + */ + portName?: string; + /** + * Specifies the type of proxy header to append before sending data to the + * backend, either NONE or PROXY_V1. The default is NONE. + */ + proxyHeader?: string; + /** + * The application data to send once the SSL connection has been established + * (default value is empty). If both request and response are empty, the + * connection establishment alone will indicate health. The request data can + * only be ASCII. + */ + request?: string; + /** + * The bytes to match against the beginning of the response data. If left + * empty (the default value), any response will indicate health. The + * response data can only be ASCII. + */ + response?: string; + } + interface Schema$SslPoliciesList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of SslPolicy resources. + */ + items?: Schema$SslPolicy[]; + /** + * [Output Only] Type of the resource. Always compute#sslPoliciesList for + * lists of sslPolicies. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$SslPoliciesListAvailableFeaturesResponse { + features?: string[]; + } + /** + * A SSL policy specifies the server-side support for SSL features. This can + * be attached to a TargetHttpsProxy or a TargetSslProxy. This affects + * connections between clients and the HTTPS or SSL proxy load balancer. They + * do not affect the connection between the load balancers and the backends. + */ + interface Schema$SslPolicy { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * A list of features enabled when the selected profile is CUSTOM. The - + * method returns the set of features that can be specified in this list. + * This field must be empty if the profile is not CUSTOM. + */ + customFeatures?: string[]; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] The list of features enabled in the SSL policy. + */ + enabledFeatures?: string[]; + /** + * Fingerprint of this resource. A hash of the contents stored in this + * object. This field is used in optimistic locking. This field will be + * ignored when inserting a SslPolicy. An up-to-date fingerprint must be + * provided in order to update the SslPolicy. To see the latest + * fingerprint, make a get() request to retrieve an SslPolicy. + */ + fingerprint?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output only] Type of the resource. Always compute#sslPolicyfor SSL + * policies. + */ + kind?: string; + /** + * The minimum version of SSL protocol that can be used by the clients to + * establish a connection with the load balancer. This can be one of + * TLS_1_0, TLS_1_1, TLS_1_2. + */ + minTlsVersion?: string; + /** + * Name of the resource. The name must be 1-63 characters long, and comply + * with RFC1035. Specifically, the name must be 1-63 characters long and + * match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the + * first character must be a lowercase letter, and all following characters + * must be a dash, lowercase letter, or digit, except the last character, + * which cannot be a dash. + */ + name?: string; + /** + * Profile specifies the set of SSL features that can be used by the load + * balancer when negotiating SSL with clients. This can be one of + * COMPATIBLE, MODERN, RESTRICTED, or CUSTOM. If using CUSTOM, the set of + * SSL features to enable must be specified in the customFeatures field. + */ + profile?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] If potential misconfigurations are detected for this SSL + * policy, this field will be populated with warning messages. + */ + warnings?: any[]; + } + interface Schema$SslPolicyReference { + /** + * URL of the SSL policy resource. Set this to empty string to clear any + * existing SSL policy associated with the target proxy resource. + */ + sslPolicy?: string; + } + /** + * A Subnetwork resource. (== resource_for beta.subnetworks ==) (== + * resource_for v1.subnetworks ==) + */ + interface Schema$Subnetwork { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. This field can be set only at resource creation + * time. + */ + description?: string; + /** + * Whether to enable flow logging for this subnetwork. + */ + enableFlowLogs?: boolean; + /** + * Fingerprint of this resource. A hash of the contents stored in this + * object. This field is used in optimistic locking. This field will be + * ignored when inserting a Subnetwork. An up-to-date fingerprint must be + * provided in order to update the Subnetwork. To see the latest + * fingerprint, make a get() request to retrieve a Subnetwork. + */ + fingerprint?: string; + /** + * [Output Only] The gateway address for default routes to reach destination + * addresses outside this subnetwork. + */ + gatewayAddress?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * The range of internal addresses that are owned by this subnetwork. + * Provide this property when you create the subnetwork. For + * example, 10.0.0.0/8 or 192.168.0.0/16. Ranges must be unique and + * non-overlapping within a network. Only IPv4 is supported. This field can + * be set only at resource creation time. + */ + ipCidrRange?: string; + /** + * [Output Only] Type of the resource. Always compute#subnetwork for + * Subnetwork resources. + */ + kind?: string; + /** + * The name of the resource, provided by the client when initially creating + * the resource. The name must be 1-63 characters long, and comply with + * RFC1035. Specifically, the name must be 1-63 characters long and match + * the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first + * character must be a lowercase letter, and all following characters must + * be a dash, lowercase letter, or digit, except the last character, which + * cannot be a dash. + */ + name?: string; + /** + * The URL of the network to which this subnetwork belongs, provided by the + * client when initially creating the subnetwork. Only networks that are in + * the distributed mode can have subnetworks. This field can be set only at + * resource creation time. + */ + network?: string; + /** + * Whether the VMs in this subnet can access Google services without + * assigned external IP addresses. This field can be both set at resource + * creation time and updated using setPrivateIpGoogleAccess. + */ + privateIpGoogleAccess?: boolean; + /** + * URL of the region where the Subnetwork resides. This field can be set + * only at resource creation time. + */ + region?: string; + /** + * An array of configurations for secondary IP ranges for VM instances + * contained in this subnetwork. The primary IP of such VM must belong to + * the primary ipCidrRange of the subnetwork. The alias IPs may belong to + * either primary or secondary ranges. + */ + secondaryIpRanges?: Schema$SubnetworkSecondaryRange[]; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + } + interface Schema$SubnetworkAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of SubnetworksScopedList resources. + */ + items?: any; + /** + * [Output Only] Type of resource. Always compute#subnetworkAggregatedList + * for aggregated lists of subnetworks. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of Subnetwork resources. + */ + interface Schema$SubnetworkList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Subnetwork resources. + */ + items?: Schema$Subnetwork[]; + /** + * [Output Only] Type of resource. Always compute#subnetworkList for lists + * of subnetworks. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Represents a secondary IP range of a subnetwork. + */ + interface Schema$SubnetworkSecondaryRange { + /** + * The range of IP addresses belonging to this subnetwork secondary range. + * Provide this property when you create the subnetwork. Ranges must be + * unique and non-overlapping with all primary and secondary IP ranges + * within a network. Only IPv4 is supported. + */ + ipCidrRange?: string; + /** + * The name associated with this subnetwork secondary range, used when + * adding an alias IP range to a VM instance. The name must be 1-63 + * characters long, and comply with RFC1035. The name must be unique within + * the subnetwork. + */ + rangeName?: string; + } + interface Schema$SubnetworksExpandIpCidrRangeRequest { + /** + * The IP (in CIDR format or netmask) of internal addresses that are legal + * on this Subnetwork. This range should be disjoint from other subnetworks + * within this network. This range can only be larger than (i.e. a superset + * of) the range previously defined before the update. + */ + ipCidrRange?: string; + } + interface Schema$SubnetworksScopedList { + /** + * A list of subnetworks contained in this scope. + */ + subnetworks?: Schema$Subnetwork[]; + /** + * An informational warning that appears when the list of addresses is + * empty. + */ + warning?: any; + } + interface Schema$SubnetworksSetPrivateIpGoogleAccessRequest { + privateIpGoogleAccess?: boolean; + } + /** + * A set of instance tags. + */ + interface Schema$Tags { + /** + * Specifies a fingerprint for this request, which is essentially a hash of + * the tags' contents and used for optimistic locking. The fingerprint + * is initially generated by Compute Engine and changes after every request + * to modify or update tags. You must always provide an up-to-date + * fingerprint hash in order to update or change tags. To see the latest + * fingerprint, make get() request to the instance. + */ + fingerprint?: string; + /** + * An array of tags. Each tag must be 1-63 characters long, and comply with + * RFC1035. + */ + items?: string[]; + } + /** + * A TargetHttpProxy resource. This resource defines an HTTP proxy. (== + * resource_for beta.targetHttpProxies ==) (== resource_for + * v1.targetHttpProxies ==) + */ + interface Schema$TargetHttpProxy { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of resource. Always compute#targetHttpProxy for target + * HTTP proxies. + */ + kind?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * URL to the UrlMap resource that defines the mapping from URL to the + * BackendService. + */ + urlMap?: string; + } + /** + * A list of TargetHttpProxy resources. + */ + interface Schema$TargetHttpProxyList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of TargetHttpProxy resources. + */ + items?: Schema$TargetHttpProxy[]; + /** + * Type of resource. Always compute#targetHttpProxyList for lists of target + * HTTP proxies. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$TargetHttpsProxiesSetQuicOverrideRequest { + /** + * QUIC policy for the TargetHttpsProxy resource. + */ + quicOverride?: string; + } + interface Schema$TargetHttpsProxiesSetSslCertificatesRequest { + /** + * New set of SslCertificate resources to associate with this + * TargetHttpsProxy resource. Currently exactly one SslCertificate resource + * must be specified. + */ + sslCertificates?: string[]; + } + /** + * A TargetHttpsProxy resource. This resource defines an HTTPS proxy. (== + * resource_for beta.targetHttpsProxies ==) (== resource_for + * v1.targetHttpsProxies ==) + */ + interface Schema$TargetHttpsProxy { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of resource. Always compute#targetHttpsProxy for + * target HTTPS proxies. + */ + kind?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * Specifies the QUIC override policy for this TargetHttpsProxy resource. + * This determines whether the load balancer will attempt to negotiate QUIC + * with clients or not. Can specify one of NONE, ENABLE, or DISABLE. Specify + * ENABLE to always enable QUIC, Enables QUIC when set to ENABLE, and + * disables QUIC when set to DISABLE. If NONE is specified, uses the QUIC + * policy with no user overrides, which is equivalent to DISABLE. Not + * specifying this field is equivalent to specifying NONE. + */ + quicOverride?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * URLs to SslCertificate resources that are used to authenticate + * connections between users and the load balancer. Currently, exactly one + * SSL certificate must be specified. + */ + sslCertificates?: string[]; + /** + * URL of SslPolicy resource that will be associated with the + * TargetHttpsProxy resource. If not set, the TargetHttpsProxy resource will + * not have any SSL policy configured. + */ + sslPolicy?: string; + /** + * A fully-qualified or valid partial URL to the UrlMap resource that + * defines the mapping from URL to the BackendService. For example, the + * following are all valid URLs for specifying a URL map: - + * https://www.googleapis.compute/v1/projects/project/global/urlMaps/url-map + * - projects/project/global/urlMaps/url-map - global/urlMaps/url-map + */ + urlMap?: string; + } + /** + * Contains a list of TargetHttpsProxy resources. + */ + interface Schema$TargetHttpsProxyList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of TargetHttpsProxy resources. + */ + items?: Schema$TargetHttpsProxy[]; + /** + * Type of resource. Always compute#targetHttpsProxyList for lists of target + * HTTPS proxies. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * A TargetInstance resource. This resource defines an endpoint instance that + * terminates traffic of certain protocols. (== resource_for + * beta.targetInstances ==) (== resource_for v1.targetInstances ==) + */ + interface Schema$TargetInstance { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * A URL to the virtual machine instance that handles traffic for this + * target instance. When creating a target instance, you can provide the + * fully-qualified URL or a valid partial URL to the desired virtual + * machine. For example, the following are all valid URLs: - + * https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/instance + * - projects/project/zones/zone/instances/instance - + * zones/zone/instances/instance + */ + instance?: string; + /** + * [Output Only] The type of the resource. Always compute#targetInstance for + * target instances. + */ + kind?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * NAT option controlling how IPs are NAT'ed to the instance. Currently + * only NO_NAT (default value) is supported. + */ + natPolicy?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] URL of the zone where the target instance resides. You must + * specify this field as part of the HTTP request URL. It is not settable as + * a field in the request body. + */ + zone?: string; + } + interface Schema$TargetInstanceAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of TargetInstance resources. + */ + items?: any; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of TargetInstance resources. + */ + interface Schema$TargetInstanceList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of TargetInstance resources. + */ + items?: Schema$TargetInstance[]; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$TargetInstancesScopedList { + /** + * A list of target instances contained in this scope. + */ + targetInstances?: Schema$TargetInstance[]; + /** + * Informational warning which replaces the list of addresses when the list + * is empty. + */ + warning?: any; + } + /** + * A TargetPool resource. This resource defines a pool of instances, an + * associated HttpHealthCheck resource, and the fallback target pool. (== + * resource_for beta.targetPools ==) (== resource_for v1.targetPools ==) + */ + interface Schema$TargetPool { + /** + * This field is applicable only when the containing target pool is serving + * a forwarding rule as the primary pool, and its failoverRatio field is + * properly set to a value between [0, 1]. backupPool and failoverRatio + * together define the fallback behavior of the primary target pool: if the + * ratio of the healthy instances in the primary pool is at or below + * failoverRatio, traffic arriving at the load-balanced IP will be directed + * to the backup pool. In case where failoverRatio and backupPool are not + * set, or all the instances in the backup pool are unhealthy, the traffic + * will be directed back to the primary pool in the "force" mode, + * where traffic will be spread to the healthy instances with the best + * effort, or to all instances when no instance is healthy. + */ + backupPool?: string; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * This field is applicable only when the containing target pool is serving + * a forwarding rule as the primary pool (i.e., not as a backup pool to some + * other target pool). The value of the field must be in [0, 1]. If set, + * backupPool must also be set. They together define the fallback behavior + * of the primary target pool: if the ratio of the healthy instances in the + * primary pool is at or below this number, traffic arriving at the + * load-balanced IP will be directed to the backup pool. In case where + * failoverRatio is not set or all the instances in the backup pool are + * unhealthy, the traffic will be directed back to the primary pool in the + * "force" mode, where traffic will be spread to the healthy + * instances with the best effort, or to all instances when no instance is + * healthy. + */ + failoverRatio?: number; + /** + * The URL of the HttpHealthCheck resource. A member instance in this pool + * is considered healthy if and only if the health checks pass. An empty + * list means all member instances will be considered healthy at all times. + * Only HttpHealthChecks are supported. Only one health check may be + * specified. + */ + healthChecks?: string[]; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * A list of resource URLs to the virtual machine instances serving this + * pool. They must live in zones contained in the same region as this pool. + */ + instances?: string[]; + /** + * [Output Only] Type of the resource. Always compute#targetPool for target + * pools. + */ + kind?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * [Output Only] URL of the region where the target pool resides. + */ + region?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * Sesssion affinity option, must be one of the following values: NONE: + * Connections from the same client IP may go to any instance in the pool. + * CLIENT_IP: Connections from the same client IP will go to the same + * instance in the pool while that instance remains healthy. + * CLIENT_IP_PROTO: Connections from the same client IP with the same IP + * protocol will go to the same instance in the pool while that instance + * remains healthy. + */ + sessionAffinity?: string; + } + interface Schema$TargetPoolAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of TargetPool resources. + */ + items?: any; + /** + * [Output Only] Type of resource. Always compute#targetPoolAggregatedList + * for aggregated lists of target pools. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$TargetPoolInstanceHealth { + healthStatus?: Schema$HealthStatus[]; + /** + * [Output Only] Type of resource. Always compute#targetPoolInstanceHealth + * when checking the health of an instance. + */ + kind?: string; + } + /** + * Contains a list of TargetPool resources. + */ + interface Schema$TargetPoolList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of TargetPool resources. + */ + items?: Schema$TargetPool[]; + /** + * [Output Only] Type of resource. Always compute#targetPoolList for lists + * of target pools. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$TargetPoolsAddHealthCheckRequest { + /** + * The HttpHealthCheck to add to the target pool. + */ + healthChecks?: Schema$HealthCheckReference[]; + } + interface Schema$TargetPoolsAddInstanceRequest { + /** + * A full or partial URL to an instance to add to this target pool. This can + * be a full or partial URL. For example, the following are valid URLs: - + * https://www.googleapis.com/compute/v1/projects/project-id/zones/zone/instances/instance-name + * - projects/project-id/zones/zone/instances/instance-name - + * zones/zone/instances/instance-name + */ + instances?: Schema$InstanceReference[]; + } + interface Schema$TargetPoolsRemoveHealthCheckRequest { + /** + * Health check URL to be removed. This can be a full or valid partial URL. + * For example, the following are valid URLs: - + * https://www.googleapis.com/compute/beta/projects/project/global/httpHealthChecks/health-check + * - projects/project/global/httpHealthChecks/health-check - + * global/httpHealthChecks/health-check + */ + healthChecks?: Schema$HealthCheckReference[]; + } + interface Schema$TargetPoolsRemoveInstanceRequest { + /** + * URLs of the instances to be removed from target pool. + */ + instances?: Schema$InstanceReference[]; + } + interface Schema$TargetPoolsScopedList { + /** + * A list of target pools contained in this scope. + */ + targetPools?: Schema$TargetPool[]; + /** + * Informational warning which replaces the list of addresses when the list + * is empty. + */ + warning?: any; + } + interface Schema$TargetReference { + target?: string; + } + interface Schema$TargetSslProxiesSetBackendServiceRequest { + /** + * The URL of the new BackendService resource for the targetSslProxy. + */ + service?: string; + } + interface Schema$TargetSslProxiesSetProxyHeaderRequest { + /** + * The new type of proxy header to append before sending data to the + * backend. NONE or PROXY_V1 are allowed. + */ + proxyHeader?: string; + } + interface Schema$TargetSslProxiesSetSslCertificatesRequest { + /** + * New set of URLs to SslCertificate resources to associate with this + * TargetSslProxy. Currently exactly one ssl certificate must be specified. + */ + sslCertificates?: string[]; + } + /** + * A TargetSslProxy resource. This resource defines an SSL proxy. (== + * resource_for beta.targetSslProxies ==) (== resource_for v1.targetSslProxies + * ==) + */ + interface Schema$TargetSslProxy { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of the resource. Always compute#targetSslProxy for + * target SSL proxies. + */ + kind?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * Specifies the type of proxy header to append before sending data to the + * backend, either NONE or PROXY_V1. The default is NONE. + */ + proxyHeader?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * URL to the BackendService resource. + */ + service?: string; + /** + * URLs to SslCertificate resources that are used to authenticate + * connections to Backends. Currently exactly one SSL certificate must be + * specified. + */ + sslCertificates?: string[]; + /** + * URL of SslPolicy resource that will be associated with the TargetSslProxy + * resource. If not set, the TargetSslProxy resource will not have any SSL + * policy configured. + */ + sslPolicy?: string; + } + /** + * Contains a list of TargetSslProxy resources. + */ + interface Schema$TargetSslProxyList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of TargetSslProxy resources. + */ + items?: Schema$TargetSslProxy[]; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$TargetTcpProxiesSetBackendServiceRequest { + /** + * The URL of the new BackendService resource for the targetTcpProxy. + */ + service?: string; + } + interface Schema$TargetTcpProxiesSetProxyHeaderRequest { + /** + * The new type of proxy header to append before sending data to the + * backend. NONE or PROXY_V1 are allowed. + */ + proxyHeader?: string; + } + /** + * A TargetTcpProxy resource. This resource defines a TCP proxy. (== + * resource_for beta.targetTcpProxies ==) (== resource_for v1.targetTcpProxies + * ==) + */ + interface Schema$TargetTcpProxy { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of the resource. Always compute#targetTcpProxy for + * target TCP proxies. + */ + kind?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * Specifies the type of proxy header to append before sending data to the + * backend, either NONE or PROXY_V1. The default is NONE. + */ + proxyHeader?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * URL to the BackendService resource. + */ + service?: string; + } + /** + * Contains a list of TargetTcpProxy resources. + */ + interface Schema$TargetTcpProxyList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of TargetTcpProxy resources. + */ + items?: Schema$TargetTcpProxy[]; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Represents a Target VPN gateway resource. (== resource_for + * beta.targetVpnGateways ==) (== resource_for v1.targetVpnGateways ==) + */ + interface Schema$TargetVpnGateway { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] A list of URLs to the ForwardingRule resources. + * ForwardingRules are created using compute.forwardingRules.insert and + * associated to a VPN gateway. + */ + forwardingRules?: string[]; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of resource. Always compute#targetVpnGateway for + * target VPN gateways. + */ + kind?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * URL of the network to which this VPN gateway is attached. Provided by the + * client when the VPN gateway is created. + */ + network?: string; + /** + * [Output Only] URL of the region where the target VPN gateway resides. You + * must specify this field as part of the HTTP request URL. It is not + * settable as a field in the request body. + */ + region?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] The status of the VPN gateway. + */ + status?: string; + /** + * [Output Only] A list of URLs to VpnTunnel resources. VpnTunnels are + * created using compute.vpntunnels.insert method and associated to a VPN + * gateway. + */ + tunnels?: string[]; + } + interface Schema$TargetVpnGatewayAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of TargetVpnGateway resources. + */ + items?: any; + /** + * [Output Only] Type of resource. Always compute#targetVpnGateway for + * target VPN gateways. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of TargetVpnGateway resources. + */ + interface Schema$TargetVpnGatewayList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of TargetVpnGateway resources. + */ + items?: Schema$TargetVpnGateway[]; + /** + * [Output Only] Type of resource. Always compute#targetVpnGateway for + * target VPN gateways. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$TargetVpnGatewaysScopedList { + /** + * [Output Only] A list of target vpn gateways contained in this scope. + */ + targetVpnGateways?: Schema$TargetVpnGateway[]; + /** + * [Output Only] Informational warning which replaces the list of addresses + * when the list is empty. + */ + warning?: any; + } + interface Schema$TCPHealthCheck { + /** + * The TCP port number for the health check request. The default value + * is 80. Valid values are 1 through 65535. + */ + port?: number; + /** + * Port name as defined in InstanceGroup#NamedPort#name. If both port and + * port_name are defined, port takes precedence. + */ + portName?: string; + /** + * Specifies the type of proxy header to append before sending data to the + * backend, either NONE or PROXY_V1. The default is NONE. + */ + proxyHeader?: string; + /** + * The application data to send once the TCP connection has been established + * (default value is empty). If both request and response are empty, the + * connection establishment alone will indicate health. The request data can + * only be ASCII. + */ + request?: string; + /** + * The bytes to match against the beginning of the response data. If left + * empty (the default value), any response will indicate health. The + * response data can only be ASCII. + */ + response?: string; + } + interface Schema$TestFailure { + actualService?: string; + expectedService?: string; + host?: string; + path?: string; + } + interface Schema$TestPermissionsRequest { + /** + * The set of permissions to check for the 'resource'. Permissions + * with wildcards (such as '*' or 'storage.*') are not + * allowed. + */ + permissions?: string[]; + } + interface Schema$TestPermissionsResponse { + /** + * A subset of `TestPermissionsRequest.permissions` that the caller is + * allowed. + */ + permissions?: string[]; + } + /** + * A UrlMap resource. This resource defines the mapping from URL to the + * BackendService resource, based on the "longest-match" of the + * URL's host and path. + */ + interface Schema$UrlMap { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * The URL of the BackendService resource if none of the hostRules match. + */ + defaultService?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * Fingerprint of this resource. A hash of the contents stored in this + * object. This field is used in optimistic locking. This field will be + * ignored when inserting a UrlMap. An up-to-date fingerprint must be + * provided in order to update the UrlMap. To see the latest fingerprint, + * make a get() request to retrieve a UrlMap. + */ + fingerprint?: string; + /** + * The list of HostRules to use against the URL. + */ + hostRules?: Schema$HostRule[]; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of the resource. Always compute#urlMaps for url maps. + */ + kind?: string; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * The list of named PathMatchers to use against the URL. + */ + pathMatchers?: Schema$PathMatcher[]; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * The list of expected URL mapping tests. Request to update this UrlMap + * will succeed only if all of the test cases pass. You can specify a + * maximum of 100 tests per UrlMap. + */ + tests?: Schema$UrlMapTest[]; + } + /** + * Contains a list of UrlMap resources. + */ + interface Schema$UrlMapList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of UrlMap resources. + */ + items?: Schema$UrlMap[]; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$UrlMapReference { + urlMap?: string; + } + interface Schema$UrlMapsValidateRequest { + /** + * Content of the UrlMap to be validated. + */ + resource?: Schema$UrlMap; + } + interface Schema$UrlMapsValidateResponse { + result?: Schema$UrlMapValidationResult; + } + /** + * Message for the expected URL mappings. + */ + interface Schema$UrlMapTest { + /** + * Description of this test case. + */ + description?: string; + /** + * Host portion of the URL. + */ + host?: string; + /** + * Path portion of the URL. + */ + path?: string; + /** + * Expected BackendService resource the given URL should be mapped to. + */ + service?: string; + } + /** + * Message representing the validation result for a UrlMap. + */ + interface Schema$UrlMapValidationResult { + loadErrors?: string[]; + /** + * Whether the given UrlMap can be successfully loaded. If false, + * 'loadErrors' indicates the reasons. + */ + loadSucceeded?: boolean; + testFailures?: Schema$TestFailure[]; + /** + * If successfully loaded, this field indicates whether the test passed. If + * false, 'testFailures's indicate the reason of failure. + */ + testPassed?: boolean; + } + /** + * Subnetwork which the current user has compute.subnetworks.use permission + * on. + */ + interface Schema$UsableSubnetwork { + /** + * The range of internal addresses that are owned by this subnetwork. + */ + ipCidrRange?: string; + /** + * Network URL. + */ + network?: string; + /** + * Secondary IP ranges. + */ + secondaryIpRanges?: Schema$UsableSubnetworkSecondaryRange[]; + /** + * Subnetwork URL. + */ + subnetwork?: string; + } + interface Schema$UsableSubnetworksAggregatedList { + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output] A list of usable subnetwork URLs. + */ + items?: Schema$UsableSubnetwork[]; + /** + * [Output Only] Type of resource. Always + * compute#usableSubnetworksAggregatedList for aggregated lists of usable + * subnetworks. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Secondary IP range of a usable subnetwork. + */ + interface Schema$UsableSubnetworkSecondaryRange { + /** + * The range of IP addresses belonging to this subnetwork secondary range. + */ + ipCidrRange?: string; + /** + * The name associated with this subnetwork secondary range, used when + * adding an alias IP range to a VM instance. The name must be 1-63 + * characters long, and comply with RFC1035. The name must be unique within + * the subnetwork. + */ + rangeName?: string; + } + /** + * The location in Cloud Storage and naming method of the daily usage report. + * Contains bucket_name and report_name prefix. + */ + interface Schema$UsageExportLocation { + /** + * The name of an existing bucket in Cloud Storage where the usage report + * object is stored. The Google Service Account is granted write access to + * this bucket. This can either be the bucket name by itself, such as + * example-bucket, or the bucket name with gs:// or + * https://storage.googleapis.com/ in front of it, such as + * gs://example-bucket. + */ + bucketName?: string; + /** + * An optional prefix for the name of the usage report object stored in + * bucketName. If not supplied, defaults to usage. The report is stored as a + * CSV file named report_name_prefix_gce_YYYYMMDD.csv where YYYYMMDD is the + * day of the usage according to Pacific Time. If you supply a prefix, it + * should conform to Cloud Storage object naming conventions. + */ + reportNamePrefix?: string; + } + /** + * VPN tunnel resource. (== resource_for beta.vpnTunnels ==) (== resource_for + * v1.vpnTunnels ==) + */ + interface Schema$VpnTunnel { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] Detailed status message for the VPN tunnel. + */ + detailedStatus?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * IKE protocol version to use when establishing the VPN tunnel with peer + * VPN gateway. Acceptable IKE versions are 1 or 2. Default version is 2. + */ + ikeVersion?: number; + /** + * [Output Only] Type of resource. Always compute#vpnTunnel for VPN tunnels. + */ + kind?: string; + /** + * Local traffic selector to use when establishing the VPN tunnel with peer + * VPN gateway. The value should be a CIDR formatted string, for example: + * 192.168.0.0/16. The ranges should be disjoint. Only IPv4 is supported. + */ + localTrafficSelector?: string[]; + /** + * Name of the resource. Provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * IP address of the peer VPN gateway. Only IPv4 is supported. + */ + peerIp?: string; + /** + * [Output Only] URL of the region where the VPN tunnel resides. You must + * specify this field as part of the HTTP request URL. It is not settable as + * a field in the request body. + */ + region?: string; + /** + * Remote traffic selectors to use when establishing the VPN tunnel with + * peer VPN gateway. The value should be a CIDR formatted string, for + * example: 192.168.0.0/16. The ranges should be disjoint. Only IPv4 is + * supported. + */ + remoteTrafficSelector?: string[]; + /** + * URL of router resource to be used for dynamic routing. + */ + router?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * Shared secret used to set the secure session between the Cloud VPN + * gateway and the peer VPN gateway. + */ + sharedSecret?: string; + /** + * Hash of the shared secret. + */ + sharedSecretHash?: string; + /** + * [Output Only] The status of the VPN tunnel. + */ + status?: string; + /** + * URL of the Target VPN gateway with which this VPN tunnel is associated. + * Provided by the client when the VPN tunnel is created. + */ + targetVpnGateway?: string; + } + interface Schema$VpnTunnelAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of VpnTunnelsScopedList resources. + */ + items?: any; + /** + * [Output Only] Type of resource. Always compute#vpnTunnel for VPN tunnels. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of VpnTunnel resources. + */ + interface Schema$VpnTunnelList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of VpnTunnel resources. + */ + items?: Schema$VpnTunnel[]; + /** + * [Output Only] Type of resource. Always compute#vpnTunnel for VPN tunnels. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$VpnTunnelsScopedList { + /** + * A list of vpn tunnels contained in this scope. + */ + vpnTunnels?: Schema$VpnTunnel[]; + /** + * Informational warning which replaces the list of addresses when the list + * is empty. + */ + warning?: any; + } + interface Schema$XpnHostList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * [Output Only] A list of shared VPC host project URLs. + */ + items?: Schema$Project[]; + /** + * [Output Only] Type of resource. Always compute#xpnHostList for lists of + * shared VPC hosts. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Service resource (a.k.a service project) ID. + */ + interface Schema$XpnResourceId { + /** + * The ID of the service resource. In the case of projects, this field + * matches the project ID (e.g., my-project), not the project number (e.g., + * 12345678). + */ + id?: string; + /** + * The type of the service resource. + */ + type?: string; + } + /** + * A Zone resource. (== resource_for beta.zones ==) (== resource_for v1.zones + * ==) + */ + interface Schema$Zone { + /** + * [Output Only] Available cpu/platform selections for the zone. + */ + availableCpuPlatforms?: string[]; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * [Output Only] The deprecation status associated with this zone. + */ + deprecated?: Schema$DeprecationStatus; + /** + * [Output Only] Textual description of the resource. + */ + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] Type of the resource. Always compute#zone for zones. + */ + kind?: string; + /** + * [Output Only] Name of the resource. + */ + name?: string; + /** + * [Output Only] Full URL reference to the region which hosts the zone. + */ + region?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] Status of the zone, either UP or DOWN. + */ + status?: string; + } + /** + * Contains a list of zone resources. + */ + interface Schema$ZoneList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of Zone resources. + */ + items?: Schema$Zone[]; + /** + * Type of resource. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + interface Schema$ZoneSetLabelsRequest { + /** + * The fingerprint of the previous set of labels for this resource, used to + * detect conflicts. The fingerprint is initially generated by Compute + * Engine and changes after every request to modify or update labels. You + * must always provide an up-to-date fingerprint hash in order to update or + * change labels. Make a get() request to the resource to get the latest + * fingerprint. + */ + labelFingerprint?: string; + /** + * The labels to set for this resource. + */ + labels?: any; + } + class Resource$Acceleratortypes { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.acceleratorTypes.aggregatedList + * @desc Retrieves an aggregated list of accelerator types. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * } + * Object.keys(itemsPage).forEach(function(name) { + * // TODO: Change code below to process each `name` property: + * console.log(name + ': ' + JSON.stringify(itemsPage[name], null, + * 2)); + * }); + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * compute.acceleratorTypes.aggregatedList(request, handlePage); + * } + * }; + * + * compute.acceleratorTypes.aggregatedList(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 compute.acceleratorTypes.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Acceleratortypes$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Acceleratortypes$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Acceleratortypes$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.acceleratorTypes.get + * @desc Returns the specified accelerator type. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the accelerator type to return. + * acceleratorType: 'my-accelerator-type', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * compute.acceleratorTypes.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 compute.acceleratorTypes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.acceleratorType Name of the accelerator type to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone for this request. + * @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?: Params$Resource$Acceleratortypes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Acceleratortypes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Acceleratortypes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.acceleratorTypes.list + * @desc Retrieves a list of accelerator types available to the specified + * project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // 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; + * compute.acceleratorTypes.list(request, handlePage); + * } + * }; + * + * compute.acceleratorTypes.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 compute.acceleratorTypes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone for this request. + * @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?: Params$Resource$Acceleratortypes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Acceleratortypes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Acceleratortypes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Acceleratortypes$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Acceleratortypes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the accelerator type to return. + */ + acceleratorType?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Acceleratortypes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + class Resource$Addresses { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.addresses.aggregatedList + * @desc Retrieves an aggregated list of addresses. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * } + * Object.keys(itemsPage).forEach(function(name) { + * // TODO: Change code below to process each `name` property: + * console.log(name + ': ' + JSON.stringify(itemsPage[name], null, + * 2)); + * }); + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * compute.addresses.aggregatedList(request, handlePage); + * } + * }; + * + * compute.addresses.aggregatedList(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 compute.addresses.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Addresses$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Addresses$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Addresses$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.addresses.delete + * @desc Deletes the specified address resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the address resource to delete. + * address: 'my-address', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.addresses.delete(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 compute.addresses.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.address Name of the address resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Addresses$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Addresses$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Addresses$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.addresses.get + * @desc Returns the specified address resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the address resource to return. + * address: 'my-address', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.addresses.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 compute.addresses.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.address Name of the address resource to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @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?: Params$Resource$Addresses$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Addresses$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Addresses$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.addresses.insert + * @desc Creates an address resource in the specified project using the data + * included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.addresses.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 compute.addresses.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Address} 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?: Params$Resource$Addresses$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Addresses$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Addresses$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.addresses.list + * @desc Retrieves a list of addresses contained within the specified + * region. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // 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; + * compute.addresses.list(request, handlePage); + * } + * }; + * + * compute.addresses.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 compute.addresses.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @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?: Params$Resource$Addresses$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Addresses$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Addresses$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Addresses$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Addresses$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the address resource to delete. + */ + address?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Addresses$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the address resource to return. + */ + address?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + } + interface Params$Resource$Addresses$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Address; + } + interface Params$Resource$Addresses$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + } + class Resource$Autoscalers { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.autoscalers.aggregatedList + * @desc Retrieves an aggregated list of autoscalers. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * } + * Object.keys(itemsPage).forEach(function(name) { + * // TODO: Change code below to process each `name` property: + * console.log(name + ': ' + JSON.stringify(itemsPage[name], null, + * 2)); + * }); + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * compute.autoscalers.aggregatedList(request, handlePage); + * } + * }; + * + * compute.autoscalers.aggregatedList(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 compute.autoscalers.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Autoscalers$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Autoscalers$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Autoscalers$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.autoscalers.delete + * @desc Deletes the specified autoscaler. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the autoscaler to delete. + * autoscaler: 'my-autoscaler', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.autoscalers.delete(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 compute.autoscalers.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.autoscaler Name of the autoscaler to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone Name of the zone for this request. + * @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?: Params$Resource$Autoscalers$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Autoscalers$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Autoscalers$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.autoscalers.get + * @desc Returns the specified autoscaler resource. Gets a list of available + * autoscalers by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the autoscaler to return. + * autoscaler: 'my-autoscaler', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.autoscalers.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 compute.autoscalers.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.autoscaler Name of the autoscaler to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone Name of the zone for this request. + * @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?: Params$Resource$Autoscalers$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Autoscalers$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Autoscalers$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.autoscalers.insert + * @desc Creates an autoscaler in the specified project using the data + * included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.autoscalers.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 compute.autoscalers.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone Name of the zone for this request. + * @param {().Autoscaler} 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?: Params$Resource$Autoscalers$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Autoscalers$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Autoscalers$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.autoscalers.list + * @desc Retrieves a list of autoscalers contained within the specified + * zone. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the zone for this request. + * zone: 'my-zone', // 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; + * compute.autoscalers.list(request, handlePage); + * } + * }; + * + * compute.autoscalers.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 compute.autoscalers.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone Name of the zone for this request. + * @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?: Params$Resource$Autoscalers$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Autoscalers$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Autoscalers$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.autoscalers.patch + * @desc Updates an autoscaler in the specified project using the data + * included in the request. This method supports PATCH semantics and uses + * the JSON merge patch format and processing rules. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * compute.autoscalers.patch(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 compute.autoscalers.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.autoscaler Name of the autoscaler to patch. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone Name of the zone for this request. + * @param {().Autoscaler} 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 + */ + patch(params?: Params$Resource$Autoscalers$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Autoscalers$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Autoscalers$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * compute.autoscalers.update + * @desc Updates an autoscaler in the specified project using the data + * included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * compute.autoscalers.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 compute.autoscalers.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.autoscaler Name of the autoscaler to update. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone Name of the zone for this request. + * @param {().Autoscaler} 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?: Params$Resource$Autoscalers$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Autoscalers$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Autoscalers$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Autoscalers$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Autoscalers$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the autoscaler to delete. + */ + autoscaler?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Autoscalers$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the autoscaler to return. + */ + autoscaler?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Autoscalers$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Autoscaler; + } + interface Params$Resource$Autoscalers$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Autoscalers$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the autoscaler to patch. + */ + autoscaler?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Autoscaler; + } + interface Params$Resource$Autoscalers$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the autoscaler to update. + */ + autoscaler?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Autoscaler; + } + class Resource$Backendbuckets { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.backendBuckets.addSignedUrlKey + * @desc Adds a key for validating requests with signed URLs for this + * backend bucket. + * @alias compute.backendBuckets.addSignedUrlKey + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendBucket Name of the BackendBucket resource to which the Signed URL Key should be added. The name should conform to RFC1035. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().SignedUrlKey} 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 + */ + addSignedUrlKey(params?: Params$Resource$Backendbuckets$Addsignedurlkey, options?: MethodOptions): AxiosPromise; + addSignedUrlKey(params: Params$Resource$Backendbuckets$Addsignedurlkey, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + addSignedUrlKey(params: Params$Resource$Backendbuckets$Addsignedurlkey, callback: BodyResponseCallback): void; + addSignedUrlKey(callback: BodyResponseCallback): void; + /** + * compute.backendBuckets.delete + * @desc Deletes the specified BackendBucket resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the BackendBucket resource to delete. + * backendBucket: 'my-backend-bucket', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * compute.backendBuckets.delete(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 compute.backendBuckets.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendBucket Name of the BackendBucket resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Backendbuckets$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Backendbuckets$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Backendbuckets$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.backendBuckets.deleteSignedUrlKey + * @desc Deletes a key for validating requests with signed URLs for this + * backend bucket. + * @alias compute.backendBuckets.deleteSignedUrlKey + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendBucket Name of the BackendBucket resource to which the Signed URL Key should be added. The name should conform to RFC1035. + * @param {string} params.keyName The name of the Signed URL Key to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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 + */ + deleteSignedUrlKey(params?: Params$Resource$Backendbuckets$Deletesignedurlkey, options?: MethodOptions): AxiosPromise; + deleteSignedUrlKey(params: Params$Resource$Backendbuckets$Deletesignedurlkey, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + deleteSignedUrlKey(params: Params$Resource$Backendbuckets$Deletesignedurlkey, callback: BodyResponseCallback): void; + deleteSignedUrlKey(callback: BodyResponseCallback): void; + /** + * compute.backendBuckets.get + * @desc Returns the specified BackendBucket resource. Gets a list of + * available backend buckets by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the BackendBucket resource to return. + * backendBucket: 'my-backend-bucket', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * compute.backendBuckets.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 compute.backendBuckets.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendBucket Name of the BackendBucket resource to return. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Backendbuckets$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Backendbuckets$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Backendbuckets$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.backendBuckets.insert + * @desc Creates a BackendBucket resource in the specified project using the + * data included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.backendBuckets.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 compute.backendBuckets.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().BackendBucket} 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?: Params$Resource$Backendbuckets$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Backendbuckets$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Backendbuckets$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.backendBuckets.list + * @desc Retrieves the list of BackendBucket resources available to the + * specified project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * compute.backendBuckets.list(request, handlePage); + * } + * }; + * + * compute.backendBuckets.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 compute.backendBuckets.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Backendbuckets$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Backendbuckets$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Backendbuckets$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.backendBuckets.patch + * @desc Updates the specified BackendBucket resource with the data included + * in the request. This method supports PATCH semantics and uses the JSON + * merge patch format and processing rules. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the BackendBucket resource to patch. + * backendBucket: 'my-backend-bucket', // TODO: Update placeholder + * value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * compute.backendBuckets.patch(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 compute.backendBuckets.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendBucket Name of the BackendBucket resource to patch. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().BackendBucket} 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 + */ + patch(params?: Params$Resource$Backendbuckets$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Backendbuckets$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Backendbuckets$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * compute.backendBuckets.update + * @desc Updates the specified BackendBucket resource with the data included + * in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the BackendBucket resource to update. + * backendBucket: 'my-backend-bucket', // TODO: Update placeholder + * value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * compute.backendBuckets.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 compute.backendBuckets.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendBucket Name of the BackendBucket resource to update. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().BackendBucket} 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?: Params$Resource$Backendbuckets$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Backendbuckets$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Backendbuckets$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Backendbuckets$Addsignedurlkey { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendBucket resource to which the Signed URL Key should be + * added. The name should conform to RFC1035. + */ + backendBucket?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SignedUrlKey; + } + interface Params$Resource$Backendbuckets$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendBucket resource to delete. + */ + backendBucket?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Backendbuckets$Deletesignedurlkey { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendBucket resource to which the Signed URL Key should be + * added. The name should conform to RFC1035. + */ + backendBucket?: string; + /** + * The name of the Signed URL Key to delete. + */ + keyName?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Backendbuckets$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendBucket resource to return. + */ + backendBucket?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Backendbuckets$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BackendBucket; + } + interface Params$Resource$Backendbuckets$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Backendbuckets$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendBucket resource to patch. + */ + backendBucket?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BackendBucket; + } + interface Params$Resource$Backendbuckets$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendBucket resource to update. + */ + backendBucket?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BackendBucket; + } + class Resource$Backendservices { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.backendServices.addSignedUrlKey + * @desc Adds a key for validating requests with signed URLs for this + * backend service. + * @alias compute.backendServices.addSignedUrlKey + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendService Name of the BackendService resource to which the Signed URL Key should be added. The name should conform to RFC1035. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().SignedUrlKey} 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 + */ + addSignedUrlKey(params?: Params$Resource$Backendservices$Addsignedurlkey, options?: MethodOptions): AxiosPromise; + addSignedUrlKey(params: Params$Resource$Backendservices$Addsignedurlkey, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + addSignedUrlKey(params: Params$Resource$Backendservices$Addsignedurlkey, callback: BodyResponseCallback): void; + addSignedUrlKey(callback: BodyResponseCallback): void; + /** + * compute.backendServices.aggregatedList + * @desc Retrieves the list of all BackendService resources, regional and + * global, available to the specified project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Name of the project scoping this request. + * 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; + * } + * Object.keys(itemsPage).forEach(function(name) { + * // TODO: Change code below to process each `name` property: + * console.log(name + ': ' + JSON.stringify(itemsPage[name], null, + * 2)); + * }); + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * compute.backendServices.aggregatedList(request, handlePage); + * } + * }; + * + * compute.backendServices.aggregatedList(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 compute.backendServices.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Name of the project scoping this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Backendservices$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Backendservices$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Backendservices$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.backendServices.delete + * @desc Deletes the specified BackendService resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the BackendService resource to delete. + * backendService: 'my-backend-service', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * compute.backendServices.delete(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 compute.backendServices.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendService Name of the BackendService resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Backendservices$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Backendservices$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Backendservices$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.backendServices.deleteSignedUrlKey + * @desc Deletes a key for validating requests with signed URLs for this + * backend service. + * @alias compute.backendServices.deleteSignedUrlKey + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendService Name of the BackendService resource to which the Signed URL Key should be added. The name should conform to RFC1035. + * @param {string} params.keyName The name of the Signed URL Key to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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 + */ + deleteSignedUrlKey(params?: Params$Resource$Backendservices$Deletesignedurlkey, options?: MethodOptions): AxiosPromise; + deleteSignedUrlKey(params: Params$Resource$Backendservices$Deletesignedurlkey, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + deleteSignedUrlKey(params: Params$Resource$Backendservices$Deletesignedurlkey, callback: BodyResponseCallback): void; + deleteSignedUrlKey(callback: BodyResponseCallback): void; + /** + * compute.backendServices.get + * @desc Returns the specified BackendService resource. Gets a list of + * available backend services by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the BackendService resource to return. + * backendService: 'my-backend-service', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * compute.backendServices.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 compute.backendServices.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendService Name of the BackendService resource to return. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Backendservices$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Backendservices$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Backendservices$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.backendServices.getHealth + * @desc Gets the most recent health check results for this BackendService. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the BackendService resource to which the queried instance + * belongs. backendService: 'my-backend-service', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.backendServices.getHealth(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 compute.backendServices.getHealth + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendService Name of the BackendService resource to which the queried instance belongs. + * @param {string} params.project + * @param {().ResourceGroupReference} 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 + */ + getHealth(params?: Params$Resource$Backendservices$Gethealth, options?: MethodOptions): AxiosPromise; + getHealth(params: Params$Resource$Backendservices$Gethealth, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getHealth(params: Params$Resource$Backendservices$Gethealth, callback: BodyResponseCallback): void; + getHealth(callback: BodyResponseCallback): void; + /** + * compute.backendServices.insert + * @desc Creates a BackendService resource in the specified project using + * the data included in the request. There are several restrictions and + * guidelines to keep in mind when creating a backend service. Read + * Restrictions and Guidelines for more information. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.backendServices.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 compute.backendServices.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().BackendService} 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?: Params$Resource$Backendservices$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Backendservices$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Backendservices$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.backendServices.list + * @desc Retrieves the list of BackendService resources available to the + * specified project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * compute.backendServices.list(request, handlePage); + * } + * }; + * + * compute.backendServices.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 compute.backendServices.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Backendservices$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Backendservices$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Backendservices$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.backendServices.patch + * @desc Patches the specified BackendService resource with the data + * included in the request. There are several restrictions and guidelines to + * keep in mind when updating a backend service. Read Restrictions and + * Guidelines for more information. This method supports PATCH semantics and + * uses the JSON merge patch format and processing rules. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the BackendService resource to patch. + * backendService: 'my-backend-service', // TODO: Update placeholder + * value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * compute.backendServices.patch(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 compute.backendServices.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendService Name of the BackendService resource to patch. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().BackendService} 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 + */ + patch(params?: Params$Resource$Backendservices$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Backendservices$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Backendservices$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * compute.backendServices.setSecurityPolicy + * @desc Sets the security policy for the specified backend service. + * @alias compute.backendServices.setSecurityPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendService Name of the BackendService resource to which the security policy should be set. The name should conform to RFC1035. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().SecurityPolicyReference} 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 + */ + setSecurityPolicy(params?: Params$Resource$Backendservices$Setsecuritypolicy, options?: MethodOptions): AxiosPromise; + setSecurityPolicy(params: Params$Resource$Backendservices$Setsecuritypolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setSecurityPolicy(params: Params$Resource$Backendservices$Setsecuritypolicy, callback: BodyResponseCallback): void; + setSecurityPolicy(callback: BodyResponseCallback): void; + /** + * compute.backendServices.update + * @desc Updates the specified BackendService resource with the data + * included in the request. There are several restrictions and guidelines to + * keep in mind when updating a backend service. Read Restrictions and + * Guidelines for more information. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the BackendService resource to update. + * backendService: 'my-backend-service', // TODO: Update placeholder + * value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * compute.backendServices.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 compute.backendServices.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendService Name of the BackendService resource to update. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().BackendService} 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?: Params$Resource$Backendservices$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Backendservices$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Backendservices$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Backendservices$Addsignedurlkey { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendService resource to which the Signed URL Key should be + * added. The name should conform to RFC1035. + */ + backendService?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SignedUrlKey; + } + interface Params$Resource$Backendservices$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Name of the project scoping this request. + */ + project?: string; + } + interface Params$Resource$Backendservices$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendService resource to delete. + */ + backendService?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Backendservices$Deletesignedurlkey { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendService resource to which the Signed URL Key should be + * added. The name should conform to RFC1035. + */ + backendService?: string; + /** + * The name of the Signed URL Key to delete. + */ + keyName?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Backendservices$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendService resource to return. + */ + backendService?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Backendservices$Gethealth { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendService resource to which the queried instance + * belongs. + */ + backendService?: string; + /** + * + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ResourceGroupReference; + } + interface Params$Resource$Backendservices$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BackendService; + } + interface Params$Resource$Backendservices$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Backendservices$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendService resource to patch. + */ + backendService?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BackendService; + } + interface Params$Resource$Backendservices$Setsecuritypolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendService resource to which the security policy should + * be set. The name should conform to RFC1035. + */ + backendService?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SecurityPolicyReference; + } + interface Params$Resource$Backendservices$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendService resource to update. + */ + backendService?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BackendService; + } + class Resource$Disks { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.disks.aggregatedList + * @desc Retrieves an aggregated list of persistent disks. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * } + * Object.keys(itemsPage).forEach(function(name) { + * // TODO: Change code below to process each `name` property: + * console.log(name + ': ' + JSON.stringify(itemsPage[name], null, + * 2)); + * }); + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * compute.disks.aggregatedList(request, handlePage); + * } + * }; + * + * compute.disks.aggregatedList(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 compute.disks.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Disks$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Disks$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Disks$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.disks.createSnapshot + * @desc Creates a snapshot of a specified persistent disk. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the persistent disk to snapshot. + * disk: 'my-disk', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.disks.createSnapshot(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 compute.disks.createSnapshot + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.disk Name of the persistent disk to snapshot. + * @param {boolean=} params.guestFlush + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().Snapshot} 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 + */ + createSnapshot(params?: Params$Resource$Disks$Createsnapshot, options?: MethodOptions): AxiosPromise; + createSnapshot(params: Params$Resource$Disks$Createsnapshot, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + createSnapshot(params: Params$Resource$Disks$Createsnapshot, callback: BodyResponseCallback): void; + createSnapshot(callback: BodyResponseCallback): void; + /** + * compute.disks.delete + * @desc Deletes the specified persistent disk. Deleting a disk removes its + * data permanently and is irreversible. However, deleting a disk does not + * delete any snapshots previously made from the disk. You must separately + * delete snapshots. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the persistent disk to delete. + * disk: 'my-disk', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.disks.delete(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 compute.disks.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.disk Name of the persistent disk to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @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?: Params$Resource$Disks$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Disks$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Disks$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.disks.get + * @desc Returns a specified persistent disk. Gets a list of available + * persistent disks by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the persistent disk to return. + * disk: 'my-disk', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.disks.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 compute.disks.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.disk Name of the persistent disk to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone for this request. + * @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?: Params$Resource$Disks$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Disks$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Disks$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.disks.insert + * @desc Creates a persistent disk in the specified project using the data + * in the request. You can create a disk with a sourceImage, a + * sourceSnapshot, or create an empty 500 GB data disk by omitting all + * properties. You can also create a disk that is larger than the default + * size by specifying the sizeGb property. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.disks.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 compute.disks.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string=} params.sourceImage Optional. Source image to restore onto a disk. + * @param {string} params.zone The name of the zone for this request. + * @param {().Disk} 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?: Params$Resource$Disks$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Disks$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Disks$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.disks.list + * @desc Retrieves a list of persistent disks contained within the specified + * zone. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // 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; + * compute.disks.list(request, handlePage); + * } + * }; + * + * compute.disks.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 compute.disks.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone for this request. + * @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?: Params$Resource$Disks$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Disks$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Disks$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.disks.resize + * @desc Resizes the specified persistent disk. You can only increase the + * size of the disk. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the persistent disk. + * disk: 'my-disk', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.disks.resize(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 compute.disks.resize + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.disk The name of the persistent disk. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().DisksResizeRequest} 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 + */ + resize(params?: Params$Resource$Disks$Resize, options?: MethodOptions): AxiosPromise; + resize(params: Params$Resource$Disks$Resize, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + resize(params: Params$Resource$Disks$Resize, callback: BodyResponseCallback): void; + resize(callback: BodyResponseCallback): void; + /** + * compute.disks.setLabels + * @desc Sets the labels on a disk. To learn more about labels, read the + * Labeling Resources documentation. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the resource for this request. + * resource_: 'my-resource', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.disks.setLabels(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 compute.disks.setLabels + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.resource_ Name of the resource for this request. + * @param {string} params.zone The name of the zone for this request. + * @param {().ZoneSetLabelsRequest} 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 + */ + setLabels(params?: Params$Resource$Disks$Setlabels, options?: MethodOptions): AxiosPromise; + setLabels(params: Params$Resource$Disks$Setlabels, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setLabels(params: Params$Resource$Disks$Setlabels, callback: BodyResponseCallback): void; + setLabels(callback: BodyResponseCallback): void; + } + interface Params$Resource$Disks$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Disks$Createsnapshot { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the persistent disk to snapshot. + */ + disk?: string; + /** + * + */ + guestFlush?: boolean; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Snapshot; + } + interface Params$Resource$Disks$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the persistent disk to delete. + */ + disk?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Disks$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the persistent disk to return. + */ + disk?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Disks$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Optional. Source image to restore onto a disk. + */ + sourceImage?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Disk; + } + interface Params$Resource$Disks$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Disks$Resize { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the persistent disk. + */ + disk?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DisksResizeRequest; + } + interface Params$Resource$Disks$Setlabels { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ZoneSetLabelsRequest; + } + class Resource$Disktypes { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.diskTypes.aggregatedList + * @desc Retrieves an aggregated list of disk types. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * } + * Object.keys(itemsPage).forEach(function(name) { + * // TODO: Change code below to process each `name` property: + * console.log(name + ': ' + JSON.stringify(itemsPage[name], null, + * 2)); + * }); + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * compute.diskTypes.aggregatedList(request, handlePage); + * } + * }; + * + * compute.diskTypes.aggregatedList(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 compute.diskTypes.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Disktypes$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Disktypes$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Disktypes$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.diskTypes.get + * @desc Returns the specified disk type. Gets a list of available disk + * types by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the disk type to return. + * diskType: 'my-disk-type', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.diskTypes.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 compute.diskTypes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.diskType Name of the disk type to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone for this request. + * @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?: Params$Resource$Disktypes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Disktypes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Disktypes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.diskTypes.list + * @desc Retrieves a list of disk types available to the specified project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // 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; + * compute.diskTypes.list(request, handlePage); + * } + * }; + * + * compute.diskTypes.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 compute.diskTypes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone for this request. + * @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?: Params$Resource$Disktypes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Disktypes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Disktypes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Disktypes$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Disktypes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the disk type to return. + */ + diskType?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Disktypes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + class Resource$Firewalls { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.firewalls.delete + * @desc Deletes the specified firewall. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the firewall rule to delete. + * firewall: 'my-firewall', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.firewalls.delete(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 compute.firewalls.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.firewall Name of the firewall rule to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Firewalls$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Firewalls$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Firewalls$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.firewalls.get + * @desc Returns the specified firewall. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the firewall rule to return. + * firewall: 'my-firewall', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.firewalls.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 compute.firewalls.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.firewall Name of the firewall rule to return. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Firewalls$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Firewalls$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Firewalls$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.firewalls.insert + * @desc Creates a firewall rule in the specified project using the data + * included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.firewalls.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 compute.firewalls.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Firewall} 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?: Params$Resource$Firewalls$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Firewalls$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Firewalls$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.firewalls.list + * @desc Retrieves the list of firewall rules available to the specified + * project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * compute.firewalls.list(request, handlePage); + * } + * }; + * + * compute.firewalls.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 compute.firewalls.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Firewalls$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Firewalls$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Firewalls$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.firewalls.patch + * @desc Updates the specified firewall rule with the data included in the + * request. This method supports PATCH semantics and uses the JSON merge + * patch format and processing rules. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the firewall rule to patch. + * firewall: 'my-firewall', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * compute.firewalls.patch(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 compute.firewalls.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.firewall Name of the firewall rule to patch. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Firewall} 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 + */ + patch(params?: Params$Resource$Firewalls$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Firewalls$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Firewalls$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * compute.firewalls.update + * @desc Updates the specified firewall rule with the data included in the + * request. The PUT method can only update the following fields of firewall + * rule: allowed, description, sourceRanges, sourceTags, targetTags. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the firewall rule to update. + * firewall: 'my-firewall', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * compute.firewalls.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 compute.firewalls.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.firewall Name of the firewall rule to update. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Firewall} 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?: Params$Resource$Firewalls$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Firewalls$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Firewalls$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Firewalls$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the firewall rule to delete. + */ + firewall?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Firewalls$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the firewall rule to return. + */ + firewall?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Firewalls$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Firewall; + } + interface Params$Resource$Firewalls$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Firewalls$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the firewall rule to patch. + */ + firewall?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Firewall; + } + interface Params$Resource$Firewalls$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the firewall rule to update. + */ + firewall?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Firewall; + } + class Resource$Forwardingrules { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.forwardingRules.aggregatedList + * @desc Retrieves an aggregated list of forwarding rules. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * } + * Object.keys(itemsPage).forEach(function(name) { + * // TODO: Change code below to process each `name` property: + * console.log(name + ': ' + JSON.stringify(itemsPage[name], null, + * 2)); + * }); + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * compute.forwardingRules.aggregatedList(request, handlePage); + * } + * }; + * + * compute.forwardingRules.aggregatedList(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 compute.forwardingRules.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Forwardingrules$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Forwardingrules$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Forwardingrules$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.forwardingRules.delete + * @desc Deletes the specified ForwardingRule resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the ForwardingRule resource to delete. + * forwardingRule: 'my-forwarding-rule', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * compute.forwardingRules.delete(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 compute.forwardingRules.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.forwardingRule Name of the ForwardingRule resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Forwardingrules$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Forwardingrules$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Forwardingrules$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.forwardingRules.get + * @desc Returns the specified ForwardingRule resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the ForwardingRule resource to return. + * forwardingRule: 'my-forwarding-rule', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * compute.forwardingRules.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 compute.forwardingRules.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.forwardingRule Name of the ForwardingRule resource to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @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?: Params$Resource$Forwardingrules$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Forwardingrules$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Forwardingrules$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.forwardingRules.insert + * @desc Creates a ForwardingRule resource in the specified project and + * region using the data included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.forwardingRules.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 compute.forwardingRules.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().ForwardingRule} 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?: Params$Resource$Forwardingrules$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Forwardingrules$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Forwardingrules$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.forwardingRules.list + * @desc Retrieves a list of ForwardingRule resources available to the + * specified project and region. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // 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; + * compute.forwardingRules.list(request, handlePage); + * } + * }; + * + * compute.forwardingRules.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 compute.forwardingRules.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @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?: Params$Resource$Forwardingrules$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Forwardingrules$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Forwardingrules$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.forwardingRules.setTarget + * @desc Changes target URL for forwarding rule. The new target should be of + * the same type as the old target. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the ForwardingRule resource in which target is to be set. + * forwardingRule: 'my-forwarding-rule', // TODO: Update placeholder + * value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.forwardingRules.setTarget(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 compute.forwardingRules.setTarget + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.forwardingRule Name of the ForwardingRule resource in which target is to be set. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().TargetReference} 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 + */ + setTarget(params?: Params$Resource$Forwardingrules$Settarget, options?: MethodOptions): AxiosPromise; + setTarget(params: Params$Resource$Forwardingrules$Settarget, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setTarget(params: Params$Resource$Forwardingrules$Settarget, callback: BodyResponseCallback): void; + setTarget(callback: BodyResponseCallback): void; + } + interface Params$Resource$Forwardingrules$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Forwardingrules$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the ForwardingRule resource to delete. + */ + forwardingRule?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Forwardingrules$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the ForwardingRule resource to return. + */ + forwardingRule?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + } + interface Params$Resource$Forwardingrules$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ForwardingRule; + } + interface Params$Resource$Forwardingrules$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + } + interface Params$Resource$Forwardingrules$Settarget { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the ForwardingRule resource in which target is to be set. + */ + forwardingRule?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetReference; + } + class Resource$Globaladdresses { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.globalAddresses.delete + * @desc Deletes the specified address resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the address resource to delete. + * address: 'my-address', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.globalAddresses.delete(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 compute.globalAddresses.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.address Name of the address resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Globaladdresses$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Globaladdresses$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Globaladdresses$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.globalAddresses.get + * @desc Returns the specified address resource. Gets a list of available + * addresses by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the address resource to return. + * address: 'my-address', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.globalAddresses.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 compute.globalAddresses.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.address Name of the address resource to return. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Globaladdresses$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Globaladdresses$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Globaladdresses$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.globalAddresses.insert + * @desc Creates an address resource in the specified project using the data + * included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.globalAddresses.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 compute.globalAddresses.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Address} 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?: Params$Resource$Globaladdresses$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Globaladdresses$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Globaladdresses$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.globalAddresses.list + * @desc Retrieves a list of global addresses. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * compute.globalAddresses.list(request, handlePage); + * } + * }; + * + * compute.globalAddresses.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 compute.globalAddresses.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Globaladdresses$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Globaladdresses$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Globaladdresses$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Globaladdresses$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the address resource to delete. + */ + address?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Globaladdresses$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the address resource to return. + */ + address?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Globaladdresses$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Address; + } + interface Params$Resource$Globaladdresses$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + class Resource$Globalforwardingrules { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.globalForwardingRules.delete + * @desc Deletes the specified GlobalForwardingRule resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the ForwardingRule resource to delete. + * forwardingRule: 'my-forwarding-rule', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * compute.globalForwardingRules.delete(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 compute.globalForwardingRules.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.forwardingRule Name of the ForwardingRule resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Globalforwardingrules$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Globalforwardingrules$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Globalforwardingrules$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.globalForwardingRules.get + * @desc Returns the specified GlobalForwardingRule resource. Gets a list of + * available forwarding rules by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the ForwardingRule resource to return. + * forwardingRule: 'my-forwarding-rule', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * compute.globalForwardingRules.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 compute.globalForwardingRules.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.forwardingRule Name of the ForwardingRule resource to return. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Globalforwardingrules$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Globalforwardingrules$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Globalforwardingrules$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.globalForwardingRules.insert + * @desc Creates a GlobalForwardingRule resource in the specified project + * using the data included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.globalForwardingRules.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 compute.globalForwardingRules.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().ForwardingRule} 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?: Params$Resource$Globalforwardingrules$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Globalforwardingrules$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Globalforwardingrules$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.globalForwardingRules.list + * @desc Retrieves a list of GlobalForwardingRule resources available to the + * specified project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * compute.globalForwardingRules.list(request, handlePage); + * } + * }; + * + * compute.globalForwardingRules.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 compute.globalForwardingRules.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Globalforwardingrules$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Globalforwardingrules$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Globalforwardingrules$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.globalForwardingRules.setTarget + * @desc Changes target URL for the GlobalForwardingRule resource. The new + * target should be of the same type as the old target. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the ForwardingRule resource in which target is to be set. + * forwardingRule: 'my-forwarding-rule', // TODO: Update placeholder + * value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.globalForwardingRules.setTarget(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 compute.globalForwardingRules.setTarget + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.forwardingRule Name of the ForwardingRule resource in which target is to be set. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().TargetReference} 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 + */ + setTarget(params?: Params$Resource$Globalforwardingrules$Settarget, options?: MethodOptions): AxiosPromise; + setTarget(params: Params$Resource$Globalforwardingrules$Settarget, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setTarget(params: Params$Resource$Globalforwardingrules$Settarget, callback: BodyResponseCallback): void; + setTarget(callback: BodyResponseCallback): void; + } + interface Params$Resource$Globalforwardingrules$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the ForwardingRule resource to delete. + */ + forwardingRule?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Globalforwardingrules$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the ForwardingRule resource to return. + */ + forwardingRule?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Globalforwardingrules$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ForwardingRule; + } + interface Params$Resource$Globalforwardingrules$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Globalforwardingrules$Settarget { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the ForwardingRule resource in which target is to be set. + */ + forwardingRule?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetReference; + } + class Resource$Globaloperations { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.globalOperations.aggregatedList + * @desc Retrieves an aggregated list of all operations. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * } + * Object.keys(itemsPage).forEach(function(name) { + * // TODO: Change code below to process each `name` property: + * console.log(name + ': ' + JSON.stringify(itemsPage[name], null, + * 2)); + * }); + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * compute.globalOperations.aggregatedList(request, handlePage); + * } + * }; + * + * compute.globalOperations.aggregatedList(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 compute.globalOperations.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Globaloperations$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Globaloperations$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Globaloperations$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.globalOperations.delete + * @desc Deletes the specified Operations resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the Operations resource to delete. + * operation: 'my-operation', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.globalOperations.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 compute.globalOperations.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.operation Name of the Operations resource to delete. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Globaloperations$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Globaloperations$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Globaloperations$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.globalOperations.get + * @desc Retrieves the specified Operations resource. Gets a list of + * operations by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the Operations resource to return. + * operation: 'my-operation', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.globalOperations.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 compute.globalOperations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.operation Name of the Operations resource to return. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Globaloperations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Globaloperations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Globaloperations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.globalOperations.list + * @desc Retrieves a list of Operation resources contained within the + * specified project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * compute.globalOperations.list(request, handlePage); + * } + * }; + * + * compute.globalOperations.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 compute.globalOperations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Globaloperations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Globaloperations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Globaloperations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Globaloperations$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Globaloperations$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the Operations resource to delete. + */ + operation?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Globaloperations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the Operations resource to return. + */ + operation?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Globaloperations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + class Resource$Healthchecks { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.healthChecks.delete + * @desc Deletes the specified HealthCheck resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the HealthCheck resource to delete. + * healthCheck: 'my-health-check', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.healthChecks.delete(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 compute.healthChecks.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.healthCheck Name of the HealthCheck resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Healthchecks$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Healthchecks$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Healthchecks$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.healthChecks.get + * @desc Returns the specified HealthCheck resource. Gets a list of + * available health checks by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the HealthCheck resource to return. + * healthCheck: 'my-health-check', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.healthChecks.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 compute.healthChecks.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.healthCheck Name of the HealthCheck resource to return. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Healthchecks$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Healthchecks$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Healthchecks$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.healthChecks.insert + * @desc Creates a HealthCheck resource in the specified project using the + * data included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.healthChecks.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 compute.healthChecks.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().HealthCheck} 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?: Params$Resource$Healthchecks$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Healthchecks$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Healthchecks$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.healthChecks.list + * @desc Retrieves the list of HealthCheck resources available to the + * specified project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * compute.healthChecks.list(request, handlePage); + * } + * }; + * + * compute.healthChecks.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 compute.healthChecks.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Healthchecks$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Healthchecks$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Healthchecks$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.healthChecks.patch + * @desc Updates a HealthCheck resource in the specified project using the + * data included in the request. This method supports PATCH semantics and + * uses the JSON merge patch format and processing rules. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the HealthCheck resource to patch. + * healthCheck: 'my-health-check', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * compute.healthChecks.patch(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 compute.healthChecks.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.healthCheck Name of the HealthCheck resource to patch. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().HealthCheck} 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 + */ + patch(params?: Params$Resource$Healthchecks$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Healthchecks$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Healthchecks$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * compute.healthChecks.update + * @desc Updates a HealthCheck resource in the specified project using the + * data included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the HealthCheck resource to update. + * healthCheck: 'my-health-check', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * compute.healthChecks.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 compute.healthChecks.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.healthCheck Name of the HealthCheck resource to update. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().HealthCheck} 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?: Params$Resource$Healthchecks$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Healthchecks$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Healthchecks$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Healthchecks$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the HealthCheck resource to delete. + */ + healthCheck?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Healthchecks$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the HealthCheck resource to return. + */ + healthCheck?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Healthchecks$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$HealthCheck; + } + interface Params$Resource$Healthchecks$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Healthchecks$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the HealthCheck resource to patch. + */ + healthCheck?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$HealthCheck; + } + interface Params$Resource$Healthchecks$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the HealthCheck resource to update. + */ + healthCheck?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$HealthCheck; + } + class Resource$Httphealthchecks { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.httpHealthChecks.delete + * @desc Deletes the specified HttpHealthCheck resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the HttpHealthCheck resource to delete. + * httpHealthCheck: 'my-http-health-check', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * compute.httpHealthChecks.delete(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 compute.httpHealthChecks.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.httpHealthCheck Name of the HttpHealthCheck resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Httphealthchecks$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Httphealthchecks$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Httphealthchecks$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.httpHealthChecks.get + * @desc Returns the specified HttpHealthCheck resource. Gets a list of + * available HTTP health checks by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the HttpHealthCheck resource to return. + * httpHealthCheck: 'my-http-health-check', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * compute.httpHealthChecks.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 compute.httpHealthChecks.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.httpHealthCheck Name of the HttpHealthCheck resource to return. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Httphealthchecks$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Httphealthchecks$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Httphealthchecks$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.httpHealthChecks.insert + * @desc Creates a HttpHealthCheck resource in the specified project using + * the data included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.httpHealthChecks.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 compute.httpHealthChecks.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().HttpHealthCheck} 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?: Params$Resource$Httphealthchecks$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Httphealthchecks$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Httphealthchecks$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.httpHealthChecks.list + * @desc Retrieves the list of HttpHealthCheck resources available to the + * specified project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * compute.httpHealthChecks.list(request, handlePage); + * } + * }; + * + * compute.httpHealthChecks.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 compute.httpHealthChecks.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Httphealthchecks$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Httphealthchecks$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Httphealthchecks$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.httpHealthChecks.patch + * @desc Updates a HttpHealthCheck resource in the specified project using + * the data included in the request. This method supports PATCH semantics + * and uses the JSON merge patch format and processing rules. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the HttpHealthCheck resource to patch. + * httpHealthCheck: 'my-http-health-check', // TODO: Update placeholder + * value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * compute.httpHealthChecks.patch(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 compute.httpHealthChecks.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.httpHealthCheck Name of the HttpHealthCheck resource to patch. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().HttpHealthCheck} 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 + */ + patch(params?: Params$Resource$Httphealthchecks$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Httphealthchecks$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Httphealthchecks$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * compute.httpHealthChecks.update + * @desc Updates a HttpHealthCheck resource in the specified project using + * the data included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the HttpHealthCheck resource to update. + * httpHealthCheck: 'my-http-health-check', // TODO: Update placeholder + * value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * compute.httpHealthChecks.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 compute.httpHealthChecks.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.httpHealthCheck Name of the HttpHealthCheck resource to update. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().HttpHealthCheck} 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?: Params$Resource$Httphealthchecks$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Httphealthchecks$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Httphealthchecks$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Httphealthchecks$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the HttpHealthCheck resource to delete. + */ + httpHealthCheck?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Httphealthchecks$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the HttpHealthCheck resource to return. + */ + httpHealthCheck?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Httphealthchecks$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$HttpHealthCheck; + } + interface Params$Resource$Httphealthchecks$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Httphealthchecks$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the HttpHealthCheck resource to patch. + */ + httpHealthCheck?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$HttpHealthCheck; + } + interface Params$Resource$Httphealthchecks$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the HttpHealthCheck resource to update. + */ + httpHealthCheck?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$HttpHealthCheck; + } + class Resource$Httpshealthchecks { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.httpsHealthChecks.delete + * @desc Deletes the specified HttpsHealthCheck resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the HttpsHealthCheck resource to delete. + * httpsHealthCheck: 'my-https-health-check', // TODO: Update + * placeholder value. + * + * auth: authClient, + * }; + * + * compute.httpsHealthChecks.delete(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 compute.httpsHealthChecks.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.httpsHealthCheck Name of the HttpsHealthCheck resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Httpshealthchecks$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Httpshealthchecks$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Httpshealthchecks$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.httpsHealthChecks.get + * @desc Returns the specified HttpsHealthCheck resource. Gets a list of + * available HTTPS health checks by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the HttpsHealthCheck resource to return. + * httpsHealthCheck: 'my-https-health-check', // TODO: Update + * placeholder value. + * + * auth: authClient, + * }; + * + * compute.httpsHealthChecks.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 compute.httpsHealthChecks.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.httpsHealthCheck Name of the HttpsHealthCheck resource to return. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Httpshealthchecks$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Httpshealthchecks$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Httpshealthchecks$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.httpsHealthChecks.insert + * @desc Creates a HttpsHealthCheck resource in the specified project using + * the data included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.httpsHealthChecks.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 compute.httpsHealthChecks.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().HttpsHealthCheck} 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?: Params$Resource$Httpshealthchecks$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Httpshealthchecks$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Httpshealthchecks$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.httpsHealthChecks.list + * @desc Retrieves the list of HttpsHealthCheck resources available to the + * specified project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * compute.httpsHealthChecks.list(request, handlePage); + * } + * }; + * + * compute.httpsHealthChecks.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 compute.httpsHealthChecks.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Httpshealthchecks$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Httpshealthchecks$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Httpshealthchecks$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.httpsHealthChecks.patch + * @desc Updates a HttpsHealthCheck resource in the specified project using + * the data included in the request. This method supports PATCH semantics + * and uses the JSON merge patch format and processing rules. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the HttpsHealthCheck resource to patch. + * httpsHealthCheck: 'my-https-health-check', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * compute.httpsHealthChecks.patch(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 compute.httpsHealthChecks.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.httpsHealthCheck Name of the HttpsHealthCheck resource to patch. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().HttpsHealthCheck} 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 + */ + patch(params?: Params$Resource$Httpshealthchecks$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Httpshealthchecks$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Httpshealthchecks$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * compute.httpsHealthChecks.update + * @desc Updates a HttpsHealthCheck resource in the specified project using + * the data included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the HttpsHealthCheck resource to update. + * httpsHealthCheck: 'my-https-health-check', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * compute.httpsHealthChecks.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 compute.httpsHealthChecks.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.httpsHealthCheck Name of the HttpsHealthCheck resource to update. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().HttpsHealthCheck} 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?: Params$Resource$Httpshealthchecks$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Httpshealthchecks$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Httpshealthchecks$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Httpshealthchecks$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the HttpsHealthCheck resource to delete. + */ + httpsHealthCheck?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Httpshealthchecks$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the HttpsHealthCheck resource to return. + */ + httpsHealthCheck?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Httpshealthchecks$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$HttpsHealthCheck; + } + interface Params$Resource$Httpshealthchecks$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Httpshealthchecks$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the HttpsHealthCheck resource to patch. + */ + httpsHealthCheck?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$HttpsHealthCheck; + } + interface Params$Resource$Httpshealthchecks$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the HttpsHealthCheck resource to update. + */ + httpsHealthCheck?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$HttpsHealthCheck; + } + class Resource$Images { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.images.delete + * @desc Deletes the specified image. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the image resource to delete. + * image: 'my-image', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.images.delete(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 compute.images.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.image Name of the image resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Images$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Images$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Images$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.images.deprecate + * @desc Sets the deprecation status of an image. If an empty request body + * is given, clears the deprecation status instead. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Image name. + * image: 'my-image', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.images.deprecate(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 compute.images.deprecate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.image Image name. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().DeprecationStatus} 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 + */ + deprecate(params?: Params$Resource$Images$Deprecate, options?: MethodOptions): AxiosPromise; + deprecate(params: Params$Resource$Images$Deprecate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + deprecate(params: Params$Resource$Images$Deprecate, callback: BodyResponseCallback): void; + deprecate(callback: BodyResponseCallback): void; + /** + * compute.images.get + * @desc Returns the specified image. Gets a list of available images by + * making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the image resource to return. + * image: 'my-image', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.images.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 compute.images.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.image Name of the image resource to return. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Images$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Images$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Images$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.images.getFromFamily + * @desc Returns the latest image that is part of an image family and is not + * deprecated. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the image family to search for. + * family: 'my-family', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.images.getFromFamily(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 compute.images.getFromFamily + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.family Name of the image family to search for. + * @param {string} params.project Project ID for this request. + * @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 + */ + getFromFamily(params?: Params$Resource$Images$Getfromfamily, options?: MethodOptions): AxiosPromise; + getFromFamily(params: Params$Resource$Images$Getfromfamily, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getFromFamily(params: Params$Resource$Images$Getfromfamily, callback: BodyResponseCallback): void; + getFromFamily(callback: BodyResponseCallback): void; + /** + * compute.images.insert + * @desc Creates an image in the specified project using the data included + * in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.images.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 compute.images.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.forceCreate Force image creation if true. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Image} 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?: Params$Resource$Images$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Images$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Images$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.images.list + * @desc Retrieves the list of custom images available to the specified + * project. Custom images are images you create that belong to your project. + * This method does not get any images that belong to other projects, + * including publicly-available images, like Debian 8. If you want to get a + * list of publicly-available images, use this method to make a request to + * the respective image project, such as debian-cloud or windows-cloud. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * compute.images.list(request, handlePage); + * } + * }; + * + * compute.images.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 compute.images.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Images$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Images$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Images$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.images.setLabels + * @desc Sets the labels on an image. To learn more about labels, read the + * Labeling Resources documentation. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the resource for this request. + * resource_: 'my-resource', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.images.setLabels(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 compute.images.setLabels + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().GlobalSetLabelsRequest} 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 + */ + setLabels(params?: Params$Resource$Images$Setlabels, options?: MethodOptions): AxiosPromise; + setLabels(params: Params$Resource$Images$Setlabels, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setLabels(params: Params$Resource$Images$Setlabels, callback: BodyResponseCallback): void; + setLabels(callback: BodyResponseCallback): void; + } + interface Params$Resource$Images$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the image resource to delete. + */ + image?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Images$Deprecate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Image name. + */ + image?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DeprecationStatus; + } + interface Params$Resource$Images$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the image resource to return. + */ + image?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Images$Getfromfamily { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the image family to search for. + */ + family?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Images$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Force image creation if true. + */ + forceCreate?: boolean; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Image; + } + interface Params$Resource$Images$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Images$Setlabels { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GlobalSetLabelsRequest; + } + class Resource$Instancegroupmanagers { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.instanceGroupManagers.abandonInstances + * @desc Schedules a group action to remove the specified instances from the + * managed instance group. Abandoning an instance does not delete the + * instance, but it does remove the instance from any target pools that are + * applied by the managed instance group. This method reduces the targetSize + * of the managed instance group by the number of instances that you + * abandon. This operation is marked as DONE when the action is scheduled + * even if the instances have not yet been removed from the group. You must + * separately verify the status of the abandoning action with the + * listmanagedinstances method. If the group is part of a backend service + * that has enabled connection draining, it can take up to 60 seconds after + * the connection draining duration has elapsed before the VM instance is + * removed or deleted. You can specify a maximum of 1000 instances with + * this method per request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone where the managed instance group is located. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the managed instance group. + * instanceGroupManager: 'my-instance-group-manager', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.instanceGroupManagers.abandonInstances(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 compute.instanceGroupManagers.abandonInstances + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager The name of the managed instance group. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone where the managed instance group is located. + * @param {().InstanceGroupManagersAbandonInstancesRequest} 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 + */ + abandonInstances(params?: Params$Resource$Instancegroupmanagers$Abandoninstances, options?: MethodOptions): AxiosPromise; + abandonInstances(params: Params$Resource$Instancegroupmanagers$Abandoninstances, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + abandonInstances(params: Params$Resource$Instancegroupmanagers$Abandoninstances, callback: BodyResponseCallback): void; + abandonInstances(callback: BodyResponseCallback): void; + /** + * compute.instanceGroupManagers.aggregatedList + * @desc Retrieves the list of managed instance groups and groups them by + * zone. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * } + * Object.keys(itemsPage).forEach(function(name) { + * // TODO: Change code below to process each `name` property: + * console.log(name + ': ' + JSON.stringify(itemsPage[name], null, + * 2)); + * }); + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * compute.instanceGroupManagers.aggregatedList(request, handlePage); + * } + * }; + * + * compute.instanceGroupManagers.aggregatedList(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 compute.instanceGroupManagers.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Instancegroupmanagers$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Instancegroupmanagers$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Instancegroupmanagers$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.instanceGroupManagers.delete + * @desc Deletes the specified managed instance group and all of the + * instances in that group. Note that the instance group must not belong to + * a backend service. Read Deleting an instance group for more information. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone where the managed instance group is located. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the managed instance group to delete. + * instanceGroupManager: 'my-instance-group-manager', // TODO: Update + * placeholder value. + * + * auth: authClient, + * }; + * + * compute.instanceGroupManagers.delete(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 compute.instanceGroupManagers.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager The name of the managed instance group to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone where the managed instance group is located. + * @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?: Params$Resource$Instancegroupmanagers$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Instancegroupmanagers$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Instancegroupmanagers$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.instanceGroupManagers.deleteInstances + * @desc Schedules a group action to delete the specified instances in the + * managed instance group. The instances are also removed from any target + * pools of which they were a member. This method reduces the targetSize of + * the managed instance group by the number of instances that you delete. + * This operation is marked as DONE when the action is scheduled even if the + * instances are still being deleted. You must separately verify the status + * of the deleting action with the listmanagedinstances method. If the + * group is part of a backend service that has enabled connection draining, + * it can take up to 60 seconds after the connection draining duration has + * elapsed before the VM instance is removed or deleted. You can specify a + * maximum of 1000 instances with this method per request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone where the managed instance group is located. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the managed instance group. + * instanceGroupManager: 'my-instance-group-manager', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.instanceGroupManagers.deleteInstances(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 compute.instanceGroupManagers.deleteInstances + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager The name of the managed instance group. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone where the managed instance group is located. + * @param {().InstanceGroupManagersDeleteInstancesRequest} 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 + */ + deleteInstances(params?: Params$Resource$Instancegroupmanagers$Deleteinstances, options?: MethodOptions): AxiosPromise; + deleteInstances(params: Params$Resource$Instancegroupmanagers$Deleteinstances, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + deleteInstances(params: Params$Resource$Instancegroupmanagers$Deleteinstances, callback: BodyResponseCallback): void; + deleteInstances(callback: BodyResponseCallback): void; + /** + * compute.instanceGroupManagers.get + * @desc Returns all of the details about the specified managed instance + * group. Gets a list of available managed instance groups by making a + * list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone where the managed instance group is located. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the managed instance group. + * instanceGroupManager: 'my-instance-group-manager', // TODO: Update + * placeholder value. + * + * auth: authClient, + * }; + * + * compute.instanceGroupManagers.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 compute.instanceGroupManagers.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager The name of the managed instance group. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone where the managed instance group is located. + * @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?: Params$Resource$Instancegroupmanagers$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Instancegroupmanagers$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Instancegroupmanagers$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.instanceGroupManagers.insert + * @desc Creates a managed instance group using the information that you + * specify in the request. After the group is created, it schedules an + * action to create instances in the group using the specified instance + * template. This operation is marked as DONE when the group is created even + * if the instances in the group have not yet been created. You must + * separately verify the status of the individual instances with the + * listmanagedinstances method. A managed instance group can have up to + * 1000 VM instances per group. Please contact Cloud Support if you need an + * increase in this limit. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone where you want to create the managed instance + * group. zone: 'my-zone', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.instanceGroupManagers.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 compute.instanceGroupManagers.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone where you want to create the managed instance group. + * @param {().InstanceGroupManager} 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?: Params$Resource$Instancegroupmanagers$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Instancegroupmanagers$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Instancegroupmanagers$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.instanceGroupManagers.list + * @desc Retrieves a list of managed instance groups that are contained + * within the specified project and zone. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone where the managed instance group is located. + * zone: 'my-zone', // 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; + * compute.instanceGroupManagers.list(request, handlePage); + * } + * }; + * + * compute.instanceGroupManagers.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 compute.instanceGroupManagers.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone where the managed instance group is located. + * @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?: Params$Resource$Instancegroupmanagers$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Instancegroupmanagers$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Instancegroupmanagers$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.instanceGroupManagers.listManagedInstances + * @desc Lists all of the instances in the managed instance group. Each + * instance in the list has a currentAction, which indicates the action that + * the managed instance group is performing on the instance. For example, if + * the group is still creating an instance, the currentAction is CREATING. + * If a previous action failed, the list displays the errors for that failed + * action. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone where the managed instance group is located. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the managed instance group. + * instanceGroupManager: 'my-instance-group-manager', // TODO: Update + * placeholder value. + * + * auth: authClient, + * }; + * + * compute.instanceGroupManagers.listManagedInstances(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 compute.instanceGroupManagers.listManagedInstances + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {string} params.instanceGroupManager The name of the managed instance group. + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.order_by Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone where the managed instance group is located. + * @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 + */ + listManagedInstances(params?: Params$Resource$Instancegroupmanagers$Listmanagedinstances, options?: MethodOptions): AxiosPromise; + listManagedInstances(params: Params$Resource$Instancegroupmanagers$Listmanagedinstances, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listManagedInstances(params: Params$Resource$Instancegroupmanagers$Listmanagedinstances, callback: BodyResponseCallback): void; + listManagedInstances(callback: BodyResponseCallback): void; + /** + * compute.instanceGroupManagers.recreateInstances + * @desc Schedules a group action to recreate the specified instances in the + * managed instance group. The instances are deleted and recreated using the + * current instance template for the managed instance group. This operation + * is marked as DONE when the action is scheduled even if the instances have + * not yet been recreated. You must separately verify the status of the + * recreating action with the listmanagedinstances method. If the group is + * part of a backend service that has enabled connection draining, it can + * take up to 60 seconds after the connection draining duration has elapsed + * before the VM instance is removed or deleted. You can specify a maximum + * of 1000 instances with this method per request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone where the managed instance group is located. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the managed instance group. + * instanceGroupManager: 'my-instance-group-manager', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.instanceGroupManagers.recreateInstances(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 compute.instanceGroupManagers.recreateInstances + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager The name of the managed instance group. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone where the managed instance group is located. + * @param {().InstanceGroupManagersRecreateInstancesRequest} 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 + */ + recreateInstances(params?: Params$Resource$Instancegroupmanagers$Recreateinstances, options?: MethodOptions): AxiosPromise; + recreateInstances(params: Params$Resource$Instancegroupmanagers$Recreateinstances, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + recreateInstances(params: Params$Resource$Instancegroupmanagers$Recreateinstances, callback: BodyResponseCallback): void; + recreateInstances(callback: BodyResponseCallback): void; + /** + * compute.instanceGroupManagers.resize + * @desc Resizes the managed instance group. If you increase the size, the + * group creates new instances using the current instance template. If you + * decrease the size, the group deletes instances. The resize operation is + * marked DONE when the resize actions are scheduled even if the group has + * not yet added or deleted any instances. You must separately verify the + * status of the creating or deleting actions with the listmanagedinstances + * method. If the group is part of a backend service that has enabled + * connection draining, it can take up to 60 seconds after the connection + * draining duration has elapsed before the VM instance is removed or + * deleted. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone where the managed instance group is located. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the managed instance group. + * instanceGroupManager: 'my-instance-group-manager', // TODO: Update + * placeholder value. + * + * // The number of running instances that the managed instance group + * should maintain at any given time. + * // The group automatically adds or removes instances to maintain the + * number of instances specified by + * // this parameter. + * size: 0, // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.instanceGroupManagers.resize(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 compute.instanceGroupManagers.resize + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager The name of the managed instance group. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {integer} params.size The number of running instances that the managed instance group should maintain at any given time. The group automatically adds or removes instances to maintain the number of instances specified by this parameter. + * @param {string} params.zone The name of the zone where the managed instance group is located. + * @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 + */ + resize(params?: Params$Resource$Instancegroupmanagers$Resize, options?: MethodOptions): AxiosPromise; + resize(params: Params$Resource$Instancegroupmanagers$Resize, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + resize(params: Params$Resource$Instancegroupmanagers$Resize, callback: BodyResponseCallback): void; + resize(callback: BodyResponseCallback): void; + /** + * compute.instanceGroupManagers.setInstanceTemplate + * @desc Specifies the instance template to use when creating new instances + * in this group. The templates for existing instances in the group do not + * change unless you recreate them. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone where the managed instance group is located. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the managed instance group. + * instanceGroupManager: 'my-instance-group-manager', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.instanceGroupManagers.setInstanceTemplate(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 compute.instanceGroupManagers.setInstanceTemplate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager The name of the managed instance group. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone where the managed instance group is located. + * @param {().InstanceGroupManagersSetInstanceTemplateRequest} 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 + */ + setInstanceTemplate(params?: Params$Resource$Instancegroupmanagers$Setinstancetemplate, options?: MethodOptions): AxiosPromise; + setInstanceTemplate(params: Params$Resource$Instancegroupmanagers$Setinstancetemplate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setInstanceTemplate(params: Params$Resource$Instancegroupmanagers$Setinstancetemplate, callback: BodyResponseCallback): void; + setInstanceTemplate(callback: BodyResponseCallback): void; + /** + * compute.instanceGroupManagers.setTargetPools + * @desc Modifies the target pools to which all instances in this managed + * instance group are assigned. The target pools automatically apply to all + * of the instances in the managed instance group. This operation is marked + * DONE when you make the request even if the instances have not yet been + * added to their target pools. The change might take some time to apply to + * all of the instances in the group depending on the size of the group. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone where the managed instance group is located. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the managed instance group. + * instanceGroupManager: 'my-instance-group-manager', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.instanceGroupManagers.setTargetPools(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 compute.instanceGroupManagers.setTargetPools + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager The name of the managed instance group. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone where the managed instance group is located. + * @param {().InstanceGroupManagersSetTargetPoolsRequest} 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 + */ + setTargetPools(params?: Params$Resource$Instancegroupmanagers$Settargetpools, options?: MethodOptions): AxiosPromise; + setTargetPools(params: Params$Resource$Instancegroupmanagers$Settargetpools, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setTargetPools(params: Params$Resource$Instancegroupmanagers$Settargetpools, callback: BodyResponseCallback): void; + setTargetPools(callback: BodyResponseCallback): void; + } + interface Params$Resource$Instancegroupmanagers$Abandoninstances { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where the managed instance group is located. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManagersAbandonInstancesRequest; + } + interface Params$Resource$Instancegroupmanagers$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Instancegroupmanagers$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the managed instance group to delete. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where the managed instance group is located. + */ + zone?: string; + } + interface Params$Resource$Instancegroupmanagers$Deleteinstances { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where the managed instance group is located. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManagersDeleteInstancesRequest; + } + interface Params$Resource$Instancegroupmanagers$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone where the managed instance group is located. + */ + zone?: string; + } + interface Params$Resource$Instancegroupmanagers$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where you want to create the managed instance group. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManager; + } + interface Params$Resource$Instancegroupmanagers$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone where the managed instance group is located. + */ + zone?: string; + } + interface Params$Resource$Instancegroupmanagers$Listmanagedinstances { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + order_by?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone where the managed instance group is located. + */ + zone?: string; + } + interface Params$Resource$Instancegroupmanagers$Recreateinstances { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where the managed instance group is located. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManagersRecreateInstancesRequest; + } + interface Params$Resource$Instancegroupmanagers$Resize { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The number of running instances that the managed instance group should + * maintain at any given time. The group automatically adds or removes + * instances to maintain the number of instances specified by this + * parameter. + */ + size?: number; + /** + * The name of the zone where the managed instance group is located. + */ + zone?: string; + } + interface Params$Resource$Instancegroupmanagers$Setinstancetemplate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where the managed instance group is located. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManagersSetInstanceTemplateRequest; + } + interface Params$Resource$Instancegroupmanagers$Settargetpools { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where the managed instance group is located. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManagersSetTargetPoolsRequest; + } + class Resource$Instancegroups { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.instanceGroups.addInstances + * @desc Adds a list of instances to the specified instance group. All of + * the instances in the instance group must be in the same + * network/subnetwork. Read Adding instances for more information. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone where the instance group is located. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the instance group where you are adding instances. + * instanceGroup: 'my-instance-group', // TODO: Update placeholder + * value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.instanceGroups.addInstances(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 compute.instanceGroups.addInstances + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroup The name of the instance group where you are adding instances. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone where the instance group is located. + * @param {().InstanceGroupsAddInstancesRequest} 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 + */ + addInstances(params?: Params$Resource$Instancegroups$Addinstances, options?: MethodOptions): AxiosPromise; + addInstances(params: Params$Resource$Instancegroups$Addinstances, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + addInstances(params: Params$Resource$Instancegroups$Addinstances, callback: BodyResponseCallback): void; + addInstances(callback: BodyResponseCallback): void; + /** + * compute.instanceGroups.aggregatedList + * @desc Retrieves the list of instance groups and sorts them by zone. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * } + * Object.keys(itemsPage).forEach(function(name) { + * // TODO: Change code below to process each `name` property: + * console.log(name + ': ' + JSON.stringify(itemsPage[name], null, + * 2)); + * }); + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * compute.instanceGroups.aggregatedList(request, handlePage); + * } + * }; + * + * compute.instanceGroups.aggregatedList(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 compute.instanceGroups.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Instancegroups$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Instancegroups$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Instancegroups$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.instanceGroups.delete + * @desc Deletes the specified instance group. The instances in the group + * are not deleted. Note that instance group must not belong to a backend + * service. Read Deleting an instance group for more information. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone where the instance group is located. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the instance group to delete. + * instanceGroup: 'my-instance-group', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * compute.instanceGroups.delete(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 compute.instanceGroups.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroup The name of the instance group to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone where the instance group is located. + * @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?: Params$Resource$Instancegroups$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Instancegroups$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Instancegroups$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.instanceGroups.get + * @desc Returns the specified instance group. Gets a list of available + * instance groups by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone where the instance group is located. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the instance group. + * instanceGroup: 'my-instance-group', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * compute.instanceGroups.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 compute.instanceGroups.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroup The name of the instance group. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone where the instance group is located. + * @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?: Params$Resource$Instancegroups$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Instancegroups$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Instancegroups$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.instanceGroups.insert + * @desc Creates an instance group in the specified project using the + * parameters that are included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone where you want to create the instance group. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.instanceGroups.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 compute.instanceGroups.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone where you want to create the instance group. + * @param {().InstanceGroup} 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?: Params$Resource$Instancegroups$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Instancegroups$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Instancegroups$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.instanceGroups.list + * @desc Retrieves the list of instance groups that are located in the + * specified project and zone. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone where the instance group is located. + * zone: 'my-zone', // 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; + * compute.instanceGroups.list(request, handlePage); + * } + * }; + * + * compute.instanceGroups.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 compute.instanceGroups.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone where the instance group is located. + * @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?: Params$Resource$Instancegroups$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Instancegroups$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Instancegroups$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.instanceGroups.listInstances + * @desc Lists the instances in the specified instance group. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone where the instance group is located. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the instance group from which you want to generate a + * list of included instances. instanceGroup: 'my-instance-group', // TODO: + * Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * 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; + * compute.instanceGroups.listInstances(request, handlePage); + * } + * }; + * + * compute.instanceGroups.listInstances(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 compute.instanceGroups.listInstances + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {string} params.instanceGroup The name of the instance group from which you want to generate a list of included instances. + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone where the instance group is located. + * @param {().InstanceGroupsListInstancesRequest} 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 + */ + listInstances(params?: Params$Resource$Instancegroups$Listinstances, options?: MethodOptions): AxiosPromise; + listInstances(params: Params$Resource$Instancegroups$Listinstances, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listInstances(params: Params$Resource$Instancegroups$Listinstances, callback: BodyResponseCallback): void; + listInstances(callback: BodyResponseCallback): void; + /** + * compute.instanceGroups.removeInstances + * @desc Removes one or more instances from the specified instance group, + * but does not delete those instances. If the group is part of a backend + * service that has enabled connection draining, it can take up to 60 + * seconds after the connection draining duration before the VM instance is + * removed or deleted. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone where the instance group is located. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the instance group where the specified instances will + * be removed. instanceGroup: 'my-instance-group', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.instanceGroups.removeInstances(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 compute.instanceGroups.removeInstances + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroup The name of the instance group where the specified instances will be removed. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone where the instance group is located. + * @param {().InstanceGroupsRemoveInstancesRequest} 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 + */ + removeInstances(params?: Params$Resource$Instancegroups$Removeinstances, options?: MethodOptions): AxiosPromise; + removeInstances(params: Params$Resource$Instancegroups$Removeinstances, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + removeInstances(params: Params$Resource$Instancegroups$Removeinstances, callback: BodyResponseCallback): void; + removeInstances(callback: BodyResponseCallback): void; + /** + * compute.instanceGroups.setNamedPorts + * @desc Sets the named ports for the specified instance group. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone where the instance group is located. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the instance group where the named ports are updated. + * instanceGroup: 'my-instance-group', // TODO: Update placeholder + * value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.instanceGroups.setNamedPorts(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 compute.instanceGroups.setNamedPorts + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroup The name of the instance group where the named ports are updated. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone where the instance group is located. + * @param {().InstanceGroupsSetNamedPortsRequest} 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 + */ + setNamedPorts(params?: Params$Resource$Instancegroups$Setnamedports, options?: MethodOptions): AxiosPromise; + setNamedPorts(params: Params$Resource$Instancegroups$Setnamedports, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setNamedPorts(params: Params$Resource$Instancegroups$Setnamedports, callback: BodyResponseCallback): void; + setNamedPorts(callback: BodyResponseCallback): void; + } + interface Params$Resource$Instancegroups$Addinstances { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the instance group where you are adding instances. + */ + instanceGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where the instance group is located. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupsAddInstancesRequest; + } + interface Params$Resource$Instancegroups$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Instancegroups$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the instance group to delete. + */ + instanceGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where the instance group is located. + */ + zone?: string; + } + interface Params$Resource$Instancegroups$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the instance group. + */ + instanceGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone where the instance group is located. + */ + zone?: string; + } + interface Params$Resource$Instancegroups$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where you want to create the instance group. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroup; + } + interface Params$Resource$Instancegroups$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone where the instance group is located. + */ + zone?: string; + } + interface Params$Resource$Instancegroups$Listinstances { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The name of the instance group from which you want to generate a list of + * included instances. + */ + instanceGroup?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone where the instance group is located. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupsListInstancesRequest; + } + interface Params$Resource$Instancegroups$Removeinstances { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the instance group where the specified instances will be + * removed. + */ + instanceGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where the instance group is located. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupsRemoveInstancesRequest; + } + interface Params$Resource$Instancegroups$Setnamedports { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the instance group where the named ports are updated. + */ + instanceGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where the instance group is located. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupsSetNamedPortsRequest; + } + class Resource$Instances { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.instances.addAccessConfig + * @desc Adds an access config to an instance's network interface. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The instance name for this request. + * instance: 'my-instance', // TODO: Update placeholder value. + * + * // The name of the network interface to add to this instance. + * networkInterface: '', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.instances.addAccessConfig(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 compute.instances.addAccessConfig + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance The instance name for this request. + * @param {string} params.networkInterface The name of the network interface to add to this instance. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().AccessConfig} 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 + */ + addAccessConfig(params?: Params$Resource$Instances$Addaccessconfig, options?: MethodOptions): AxiosPromise; + addAccessConfig(params: Params$Resource$Instances$Addaccessconfig, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + addAccessConfig(params: Params$Resource$Instances$Addaccessconfig, callback: BodyResponseCallback): void; + addAccessConfig(callback: BodyResponseCallback): void; + /** + * compute.instances.aggregatedList + * @desc Retrieves aggregated list of all of the instances in your project + * across all regions and zones. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * } + * Object.keys(itemsPage).forEach(function(name) { + * // TODO: Change code below to process each `name` property: + * console.log(name + ': ' + JSON.stringify(itemsPage[name], null, + * 2)); + * }); + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * compute.instances.aggregatedList(request, handlePage); + * } + * }; + * + * compute.instances.aggregatedList(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 compute.instances.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Instances$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Instances$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Instances$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.instances.attachDisk + * @desc Attaches an existing Disk resource to an instance. You must first + * create the disk before you can attach it. It is not possible to create + * and attach a disk at the same time. For more information, read Adding a + * persistent disk to your instance. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The instance name for this request. + * instance: 'my-instance', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.instances.attachDisk(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 compute.instances.attachDisk + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.forceAttach Whether to force attach the disk even if it's currently attached to another instance. This is only available for regional disks. + * @param {string} params.instance The instance name for this request. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().AttachedDisk} 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 + */ + attachDisk(params?: Params$Resource$Instances$Attachdisk, options?: MethodOptions): AxiosPromise; + attachDisk(params: Params$Resource$Instances$Attachdisk, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + attachDisk(params: Params$Resource$Instances$Attachdisk, callback: BodyResponseCallback): void; + attachDisk(callback: BodyResponseCallback): void; + /** + * compute.instances.delete + * @desc Deletes the specified Instance resource. For more information, see + * Stopping or Deleting an Instance. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the instance resource to delete. + * instance: 'my-instance', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.instances.delete(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 compute.instances.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Name of the instance resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @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?: Params$Resource$Instances$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Instances$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Instances$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.instances.deleteAccessConfig + * @desc Deletes an access config from an instance's network interface. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The instance name for this request. + * instance: 'my-instance', // TODO: Update placeholder value. + * + * // The name of the access config to delete. + * accessConfig: '', // TODO: Update placeholder value. + * + * // The name of the network interface. + * networkInterface: '', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.instances.deleteAccessConfig(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 compute.instances.deleteAccessConfig + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accessConfig The name of the access config to delete. + * @param {string} params.instance The instance name for this request. + * @param {string} params.networkInterface The name of the network interface. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @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 + */ + deleteAccessConfig(params?: Params$Resource$Instances$Deleteaccessconfig, options?: MethodOptions): AxiosPromise; + deleteAccessConfig(params: Params$Resource$Instances$Deleteaccessconfig, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + deleteAccessConfig(params: Params$Resource$Instances$Deleteaccessconfig, callback: BodyResponseCallback): void; + deleteAccessConfig(callback: BodyResponseCallback): void; + /** + * compute.instances.detachDisk + * @desc Detaches a disk from an instance. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Instance name. + * instance: 'my-instance', // TODO: Update placeholder value. + * + * // Disk device name to detach. + * deviceName: '', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.instances.detachDisk(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 compute.instances.detachDisk + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.deviceName Disk device name to detach. + * @param {string} params.instance Instance name. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @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 + */ + detachDisk(params?: Params$Resource$Instances$Detachdisk, options?: MethodOptions): AxiosPromise; + detachDisk(params: Params$Resource$Instances$Detachdisk, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + detachDisk(params: Params$Resource$Instances$Detachdisk, callback: BodyResponseCallback): void; + detachDisk(callback: BodyResponseCallback): void; + /** + * compute.instances.get + * @desc Returns the specified Instance resource. Gets a list of available + * instances by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the instance resource to return. + * instance: 'my-instance', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.instances.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 compute.instances.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Name of the instance resource to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone for this request. + * @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?: Params$Resource$Instances$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Instances$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Instances$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.instances.getSerialPortOutput + * @desc Returns the last 1 MB of serial port output from the specified + * instance. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the instance scoping this request. + * instance: 'my-instance', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.instances.getSerialPortOutput(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 compute.instances.getSerialPortOutput + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Name of the instance scoping this request. + * @param {integer=} params.port Specifies which COM or serial port to retrieve data from. + * @param {string} params.project Project ID for this request. + * @param {string=} params.start Returns output starting from a specific byte position. Use this to page through output when the output is too large to return in a single request. For the initial request, leave this field unspecified. For subsequent calls, this field should be set to the next value returned in the previous call. + * @param {string} params.zone The name of the zone for this request. + * @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 + */ + getSerialPortOutput(params?: Params$Resource$Instances$Getserialportoutput, options?: MethodOptions): AxiosPromise; + getSerialPortOutput(params: Params$Resource$Instances$Getserialportoutput, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getSerialPortOutput(params: Params$Resource$Instances$Getserialportoutput, callback: BodyResponseCallback): void; + getSerialPortOutput(callback: BodyResponseCallback): void; + /** + * compute.instances.insert + * @desc Creates an instance resource in the specified project using the + * data included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.instances.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 compute.instances.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string=} params.sourceInstanceTemplate Specifies instance template to create the instance. This field is optional. It can be a full or partial URL. For example, the following are all valid URLs to an instance template: - https://www.googleapis.com/compute/v1/projects/project/global/instanceTemplates/instanceTemplate - projects/project/global/instanceTemplates/instanceTemplate - global/instanceTemplates/instanceTemplate + * @param {string} params.zone The name of the zone for this request. + * @param {().Instance} 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?: Params$Resource$Instances$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Instances$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Instances$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.instances.list + * @desc Retrieves the list of instances contained within the specified + * zone. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // 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; + * compute.instances.list(request, handlePage); + * } + * }; + * + * compute.instances.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 compute.instances.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone for this request. + * @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?: Params$Resource$Instances$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Instances$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Instances$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.instances.listReferrers + * @desc Retrieves the list of referrers to instances contained within the + * specified zone. + * @alias compute.instances.listReferrers + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {string} params.instance Name of the target instance scoping this request, or '-' if the request should span over all instances in the container. + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone for this request. + * @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 + */ + listReferrers(params?: Params$Resource$Instances$Listreferrers, options?: MethodOptions): AxiosPromise; + listReferrers(params: Params$Resource$Instances$Listreferrers, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listReferrers(params: Params$Resource$Instances$Listreferrers, callback: BodyResponseCallback): void; + listReferrers(callback: BodyResponseCallback): void; + /** + * compute.instances.reset + * @desc Performs a reset on the instance. For more information, see + * Resetting an instance. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the instance scoping this request. + * instance: 'my-instance', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.instances.reset(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 compute.instances.reset + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Name of the instance scoping this request. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @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 + */ + reset(params?: Params$Resource$Instances$Reset, options?: MethodOptions): AxiosPromise; + reset(params: Params$Resource$Instances$Reset, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + reset(params: Params$Resource$Instances$Reset, callback: BodyResponseCallback): void; + reset(callback: BodyResponseCallback): void; + /** + * compute.instances.setDeletionProtection + * @desc Sets deletion protection on the instance. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the resource for this request. + * resource_: 'my-resource', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.instances.setDeletionProtection(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 compute.instances.setDeletionProtection + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.deletionProtection Whether the resource should be protected against deletion. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.resource_ Name of the resource for this request. + * @param {string} params.zone The name of the zone for this request. + * @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 + */ + setDeletionProtection(params?: Params$Resource$Instances$Setdeletionprotection, options?: MethodOptions): AxiosPromise; + setDeletionProtection(params: Params$Resource$Instances$Setdeletionprotection, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setDeletionProtection(params: Params$Resource$Instances$Setdeletionprotection, callback: BodyResponseCallback): void; + setDeletionProtection(callback: BodyResponseCallback): void; + /** + * compute.instances.setDiskAutoDelete + * @desc Sets the auto-delete flag for a disk attached to an instance. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The instance name. + * instance: 'my-instance', // TODO: Update placeholder value. + * + * // Whether to auto-delete the disk when the instance is deleted. + * autoDelete: false, // TODO: Update placeholder value. + * + * // The device name of the disk to modify. + * deviceName: '', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.instances.setDiskAutoDelete(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 compute.instances.setDiskAutoDelete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean} params.autoDelete Whether to auto-delete the disk when the instance is deleted. + * @param {string} params.deviceName The device name of the disk to modify. + * @param {string} params.instance The instance name. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @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 + */ + setDiskAutoDelete(params?: Params$Resource$Instances$Setdiskautodelete, options?: MethodOptions): AxiosPromise; + setDiskAutoDelete(params: Params$Resource$Instances$Setdiskautodelete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setDiskAutoDelete(params: Params$Resource$Instances$Setdiskautodelete, callback: BodyResponseCallback): void; + setDiskAutoDelete(callback: BodyResponseCallback): void; + /** + * compute.instances.setLabels + * @desc Sets labels on an instance. To learn more about labels, read the + * Labeling Resources documentation. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the instance scoping this request. + * instance: 'my-instance', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.instances.setLabels(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 compute.instances.setLabels + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Name of the instance scoping this request. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().InstancesSetLabelsRequest} 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 + */ + setLabels(params?: Params$Resource$Instances$Setlabels, options?: MethodOptions): AxiosPromise; + setLabels(params: Params$Resource$Instances$Setlabels, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setLabels(params: Params$Resource$Instances$Setlabels, callback: BodyResponseCallback): void; + setLabels(callback: BodyResponseCallback): void; + /** + * compute.instances.setMachineResources + * @desc Changes the number and/or type of accelerator for a stopped + * instance to the values specified in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the instance scoping this request. + * instance: 'my-instance', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.instances.setMachineResources(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 compute.instances.setMachineResources + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Name of the instance scoping this request. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().InstancesSetMachineResourcesRequest} 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 + */ + setMachineResources(params?: Params$Resource$Instances$Setmachineresources, options?: MethodOptions): AxiosPromise; + setMachineResources(params: Params$Resource$Instances$Setmachineresources, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setMachineResources(params: Params$Resource$Instances$Setmachineresources, callback: BodyResponseCallback): void; + setMachineResources(callback: BodyResponseCallback): void; + /** + * compute.instances.setMachineType + * @desc Changes the machine type for a stopped instance to the machine type + * specified in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the instance scoping this request. + * instance: 'my-instance', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.instances.setMachineType(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 compute.instances.setMachineType + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Name of the instance scoping this request. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().InstancesSetMachineTypeRequest} 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 + */ + setMachineType(params?: Params$Resource$Instances$Setmachinetype, options?: MethodOptions): AxiosPromise; + setMachineType(params: Params$Resource$Instances$Setmachinetype, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setMachineType(params: Params$Resource$Instances$Setmachinetype, callback: BodyResponseCallback): void; + setMachineType(callback: BodyResponseCallback): void; + /** + * compute.instances.setMetadata + * @desc Sets metadata for the specified instance to the data included in + * the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the instance scoping this request. + * instance: 'my-instance', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.instances.setMetadata(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 compute.instances.setMetadata + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Name of the instance scoping this request. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().Metadata} 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 + */ + setMetadata(params?: Params$Resource$Instances$Setmetadata, options?: MethodOptions): AxiosPromise; + setMetadata(params: Params$Resource$Instances$Setmetadata, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setMetadata(params: Params$Resource$Instances$Setmetadata, callback: BodyResponseCallback): void; + setMetadata(callback: BodyResponseCallback): void; + /** + * compute.instances.setMinCpuPlatform + * @desc Changes the minimum CPU platform that this instance should use. + * This method can only be called on a stopped instance. For more + * information, read Specifying a Minimum CPU Platform. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the instance scoping this request. + * instance: 'my-instance', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.instances.setMinCpuPlatform(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 compute.instances.setMinCpuPlatform + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Name of the instance scoping this request. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().InstancesSetMinCpuPlatformRequest} 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 + */ + setMinCpuPlatform(params?: Params$Resource$Instances$Setmincpuplatform, options?: MethodOptions): AxiosPromise; + setMinCpuPlatform(params: Params$Resource$Instances$Setmincpuplatform, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setMinCpuPlatform(params: Params$Resource$Instances$Setmincpuplatform, callback: BodyResponseCallback): void; + setMinCpuPlatform(callback: BodyResponseCallback): void; + /** + * compute.instances.setScheduling + * @desc Sets an instance's scheduling options. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Instance name. + * instance: 'my-instance', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.instances.setScheduling(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 compute.instances.setScheduling + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Instance name. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().Scheduling} 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 + */ + setScheduling(params?: Params$Resource$Instances$Setscheduling, options?: MethodOptions): AxiosPromise; + setScheduling(params: Params$Resource$Instances$Setscheduling, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setScheduling(params: Params$Resource$Instances$Setscheduling, callback: BodyResponseCallback): void; + setScheduling(callback: BodyResponseCallback): void; + /** + * compute.instances.setServiceAccount + * @desc Sets the service account on the instance. For more information, + * read Changing the service account and access scopes for an instance. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the instance resource to start. + * instance: 'my-instance', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.instances.setServiceAccount(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 compute.instances.setServiceAccount + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Name of the instance resource to start. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().InstancesSetServiceAccountRequest} 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 + */ + setServiceAccount(params?: Params$Resource$Instances$Setserviceaccount, options?: MethodOptions): AxiosPromise; + setServiceAccount(params: Params$Resource$Instances$Setserviceaccount, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setServiceAccount(params: Params$Resource$Instances$Setserviceaccount, callback: BodyResponseCallback): void; + setServiceAccount(callback: BodyResponseCallback): void; + /** + * compute.instances.setTags + * @desc Sets tags for the specified instance to the data included in the + * request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the instance scoping this request. + * instance: 'my-instance', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.instances.setTags(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 compute.instances.setTags + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Name of the instance scoping this request. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().Tags} 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 + */ + setTags(params?: Params$Resource$Instances$Settags, options?: MethodOptions): AxiosPromise; + setTags(params: Params$Resource$Instances$Settags, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setTags(params: Params$Resource$Instances$Settags, callback: BodyResponseCallback): void; + setTags(callback: BodyResponseCallback): void; + /** + * compute.instances.simulateMaintenanceEvent + * @desc Simulates a maintenance event on the instance. + * @alias compute.instances.simulateMaintenanceEvent + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Name of the instance scoping this request. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone for this request. + * @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 + */ + simulateMaintenanceEvent(params?: Params$Resource$Instances$Simulatemaintenanceevent, options?: MethodOptions): AxiosPromise; + simulateMaintenanceEvent(params: Params$Resource$Instances$Simulatemaintenanceevent, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + simulateMaintenanceEvent(params: Params$Resource$Instances$Simulatemaintenanceevent, callback: BodyResponseCallback): void; + simulateMaintenanceEvent(callback: BodyResponseCallback): void; + /** + * compute.instances.start + * @desc Starts an instance that was stopped using the instances().stop + * method. For more information, see Restart an instance. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the instance resource to start. + * instance: 'my-instance', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.instances.start(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 compute.instances.start + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Name of the instance resource to start. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @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 + */ + start(params?: Params$Resource$Instances$Start, options?: MethodOptions): AxiosPromise; + start(params: Params$Resource$Instances$Start, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + start(params: Params$Resource$Instances$Start, callback: BodyResponseCallback): void; + start(callback: BodyResponseCallback): void; + /** + * compute.instances.startWithEncryptionKey + * @desc Starts an instance that was stopped using the instances().stop + * method. For more information, see Restart an instance. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the instance resource to start. + * instance: 'my-instance', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.instances.startWithEncryptionKey(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 compute.instances.startWithEncryptionKey + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Name of the instance resource to start. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().InstancesStartWithEncryptionKeyRequest} 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 + */ + startWithEncryptionKey(params?: Params$Resource$Instances$Startwithencryptionkey, options?: MethodOptions): AxiosPromise; + startWithEncryptionKey(params: Params$Resource$Instances$Startwithencryptionkey, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + startWithEncryptionKey(params: Params$Resource$Instances$Startwithencryptionkey, callback: BodyResponseCallback): void; + startWithEncryptionKey(callback: BodyResponseCallback): void; + /** + * compute.instances.stop + * @desc Stops a running instance, shutting it down cleanly, and allows you + * to restart the instance at a later time. Stopped instances do not incur + * VM usage charges while they are stopped. However, resources that the VM + * is using, such as persistent disks and static IP addresses, will continue + * to be charged until they are deleted. For more information, see Stopping + * an instance. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the instance resource to stop. + * instance: 'my-instance', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.instances.stop(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 compute.instances.stop + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Name of the instance resource to stop. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @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 + */ + stop(params?: Params$Resource$Instances$Stop, options?: MethodOptions): AxiosPromise; + stop(params: Params$Resource$Instances$Stop, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + stop(params: Params$Resource$Instances$Stop, callback: BodyResponseCallback): void; + stop(callback: BodyResponseCallback): void; + /** + * compute.instances.updateAccessConfig + * @desc Updates the specified access config from an instance's network + * interface with the data included in the request. This method supports + * PATCH semantics and uses the JSON merge patch format and processing + * rules. + * @alias compute.instances.updateAccessConfig + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance The instance name for this request. + * @param {string} params.networkInterface The name of the network interface where the access config is attached. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().AccessConfig} 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 + */ + updateAccessConfig(params?: Params$Resource$Instances$Updateaccessconfig, options?: MethodOptions): AxiosPromise; + updateAccessConfig(params: Params$Resource$Instances$Updateaccessconfig, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + updateAccessConfig(params: Params$Resource$Instances$Updateaccessconfig, callback: BodyResponseCallback): void; + updateAccessConfig(callback: BodyResponseCallback): void; + /** + * compute.instances.updateNetworkInterface + * @desc Updates an instance's network interface. This method follows PATCH + * semantics. + * @alias compute.instances.updateNetworkInterface + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance The instance name for this request. + * @param {string} params.networkInterface The name of the network interface to update. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().NetworkInterface} 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 + */ + updateNetworkInterface(params?: Params$Resource$Instances$Updatenetworkinterface, options?: MethodOptions): AxiosPromise; + updateNetworkInterface(params: Params$Resource$Instances$Updatenetworkinterface, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + updateNetworkInterface(params: Params$Resource$Instances$Updatenetworkinterface, callback: BodyResponseCallback): void; + updateNetworkInterface(callback: BodyResponseCallback): void; + } + interface Params$Resource$Instances$Addaccessconfig { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The instance name for this request. + */ + instance?: string; + /** + * The name of the network interface to add to this instance. + */ + networkInterface?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AccessConfig; + } + interface Params$Resource$Instances$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Instances$Attachdisk { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Whether to force attach the disk even if it's currently attached to + * another instance. This is only available for regional disks. + */ + forceAttach?: boolean; + /** + * The instance name for this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AttachedDisk; + } + interface Params$Resource$Instances$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the instance resource to delete. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Instances$Deleteaccessconfig { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the access config to delete. + */ + accessConfig?: string; + /** + * The instance name for this request. + */ + instance?: string; + /** + * The name of the network interface. + */ + networkInterface?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Instances$Detachdisk { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Disk device name to detach. + */ + deviceName?: string; + /** + * Instance name. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Instances$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the instance resource to return. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Instances$Getserialportoutput { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Specifies which COM or serial port to retrieve data from. + */ + port?: number; + /** + * Project ID for this request. + */ + project?: string; + /** + * Returns output starting from a specific byte position. Use this to page + * through output when the output is too large to return in a single + * request. For the initial request, leave this field unspecified. For + * subsequent calls, this field should be set to the next value returned in + * the previous call. + */ + start?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Instances$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Specifies instance template to create the instance. This field is + * optional. It can be a full or partial URL. For example, the following are + * all valid URLs to an instance template: - + * https://www.googleapis.com/compute/v1/projects/project/global/instanceTemplates/instanceTemplate + * - projects/project/global/instanceTemplates/instanceTemplate - + * global/instanceTemplates/instanceTemplate + */ + sourceInstanceTemplate?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Instance; + } + interface Params$Resource$Instances$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Instances$Listreferrers { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * Name of the target instance scoping this request, or '-' if the request + * should span over all instances in the container. + */ + instance?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Instances$Reset { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Instances$Setdeletionprotection { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Whether the resource should be protected against deletion. + */ + deletionProtection?: boolean; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Instances$Setdiskautodelete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Whether to auto-delete the disk when the instance is deleted. + */ + autoDelete?: boolean; + /** + * The device name of the disk to modify. + */ + deviceName?: string; + /** + * The instance name. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Instances$Setlabels { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstancesSetLabelsRequest; + } + interface Params$Resource$Instances$Setmachineresources { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstancesSetMachineResourcesRequest; + } + interface Params$Resource$Instances$Setmachinetype { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstancesSetMachineTypeRequest; + } + interface Params$Resource$Instances$Setmetadata { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Metadata; + } + interface Params$Resource$Instances$Setmincpuplatform { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstancesSetMinCpuPlatformRequest; + } + interface Params$Resource$Instances$Setscheduling { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Instance name. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Scheduling; + } + interface Params$Resource$Instances$Setserviceaccount { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the instance resource to start. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstancesSetServiceAccountRequest; + } + interface Params$Resource$Instances$Settags { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Tags; + } + interface Params$Resource$Instances$Simulatemaintenanceevent { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Instances$Start { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the instance resource to start. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Instances$Startwithencryptionkey { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the instance resource to start. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstancesStartWithEncryptionKeyRequest; + } + interface Params$Resource$Instances$Stop { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the instance resource to stop. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Instances$Updateaccessconfig { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The instance name for this request. + */ + instance?: string; + /** + * The name of the network interface where the access config is attached. + */ + networkInterface?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AccessConfig; + } + interface Params$Resource$Instances$Updatenetworkinterface { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The instance name for this request. + */ + instance?: string; + /** + * The name of the network interface to update. + */ + networkInterface?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$NetworkInterface; + } + class Resource$Instancetemplates { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.instanceTemplates.delete + * @desc Deletes the specified instance template. Deleting an instance + * template is permanent and cannot be undone. It's not possible to delete + * templates which are in use by an instance group. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the instance template to delete. + * instanceTemplate: 'my-instance-template', // TODO: Update + * placeholder value. + * + * auth: authClient, + * }; + * + * compute.instanceTemplates.delete(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 compute.instanceTemplates.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceTemplate The name of the instance template to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Instancetemplates$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Instancetemplates$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Instancetemplates$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.instanceTemplates.get + * @desc Returns the specified instance template. Gets a list of available + * instance templates by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the instance template. + * instanceTemplate: 'my-instance-template', // TODO: Update + * placeholder value. + * + * auth: authClient, + * }; + * + * compute.instanceTemplates.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 compute.instanceTemplates.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceTemplate The name of the instance template. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Instancetemplates$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Instancetemplates$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Instancetemplates$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.instanceTemplates.insert + * @desc Creates an instance template in the specified project using the + * data that is included in the request. If you are creating a new template + * to update an existing instance group, your new instance template must use + * the same network or, if applicable, the same subnetwork as the original + * template. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.instanceTemplates.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 compute.instanceTemplates.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().InstanceTemplate} 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?: Params$Resource$Instancetemplates$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Instancetemplates$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Instancetemplates$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.instanceTemplates.list + * @desc Retrieves a list of instance templates that are contained within + * the specified project and zone. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * compute.instanceTemplates.list(request, handlePage); + * } + * }; + * + * compute.instanceTemplates.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 compute.instanceTemplates.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Instancetemplates$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Instancetemplates$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Instancetemplates$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Instancetemplates$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the instance template to delete. + */ + instanceTemplate?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Instancetemplates$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the instance template. + */ + instanceTemplate?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Instancetemplates$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceTemplate; + } + interface Params$Resource$Instancetemplates$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + class Resource$Interconnectattachments { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.interconnectAttachments.aggregatedList + * @desc Retrieves an aggregated list of interconnect attachments. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * } + * Object.keys(itemsPage).forEach(function(name) { + * // TODO: Change code below to process each `name` property: + * console.log(name + ': ' + JSON.stringify(itemsPage[name], null, + * 2)); + * }); + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * compute.interconnectAttachments.aggregatedList(request, + * handlePage); + * } + * }; + * + * compute.interconnectAttachments.aggregatedList(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 compute.interconnectAttachments.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Interconnectattachments$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Interconnectattachments$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Interconnectattachments$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.interconnectAttachments.delete + * @desc Deletes the specified interconnect attachment. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the interconnect attachment to delete. + * interconnectAttachment: 'my-interconnect-attachment', // TODO: + * Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.interconnectAttachments.delete(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 compute.interconnectAttachments.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.interconnectAttachment Name of the interconnect attachment to delete. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Interconnectattachments$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Interconnectattachments$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Interconnectattachments$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.interconnectAttachments.get + * @desc Returns the specified interconnect attachment. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the interconnect attachment to return. + * interconnectAttachment: 'my-interconnect-attachment', // TODO: + * Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.interconnectAttachments.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 compute.interconnectAttachments.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.interconnectAttachment Name of the interconnect attachment to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @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?: Params$Resource$Interconnectattachments$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Interconnectattachments$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Interconnectattachments$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.interconnectAttachments.insert + * @desc Creates an InterconnectAttachment in the specified project using + * the data included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.interconnectAttachments.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 compute.interconnectAttachments.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().InterconnectAttachment} 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?: Params$Resource$Interconnectattachments$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Interconnectattachments$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Interconnectattachments$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.interconnectAttachments.list + * @desc Retrieves the list of interconnect attachments contained within the + * specified region. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // 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; + * compute.interconnectAttachments.list(request, handlePage); + * } + * }; + * + * compute.interconnectAttachments.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 compute.interconnectAttachments.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @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?: Params$Resource$Interconnectattachments$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Interconnectattachments$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Interconnectattachments$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.interconnectAttachments.patch + * @desc Updates the specified interconnect attachment with the data + * included in the request. This method supports PATCH semantics and uses + * the JSON merge patch format and processing rules. + * @alias compute.interconnectAttachments.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.interconnectAttachment Name of the interconnect attachment to patch. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().InterconnectAttachment} 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 + */ + patch(params?: Params$Resource$Interconnectattachments$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Interconnectattachments$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Interconnectattachments$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Interconnectattachments$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Interconnectattachments$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the interconnect attachment to delete. + */ + interconnectAttachment?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Interconnectattachments$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the interconnect attachment to return. + */ + interconnectAttachment?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + } + interface Params$Resource$Interconnectattachments$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InterconnectAttachment; + } + interface Params$Resource$Interconnectattachments$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + } + interface Params$Resource$Interconnectattachments$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the interconnect attachment to patch. + */ + interconnectAttachment?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InterconnectAttachment; + } + class Resource$Interconnectlocations { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.interconnectLocations.get + * @desc Returns the details for the specified interconnect location. Gets a + * list of available interconnect locations by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the interconnect location to return. + * interconnectLocation: 'my-interconnect-location', // TODO: Update + * placeholder value. + * + * auth: authClient, + * }; + * + * compute.interconnectLocations.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 compute.interconnectLocations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.interconnectLocation Name of the interconnect location to return. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Interconnectlocations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Interconnectlocations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Interconnectlocations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.interconnectLocations.list + * @desc Retrieves the list of interconnect locations available to the + * specified project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * compute.interconnectLocations.list(request, handlePage); + * } + * }; + * + * compute.interconnectLocations.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 compute.interconnectLocations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Interconnectlocations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Interconnectlocations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Interconnectlocations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Interconnectlocations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the interconnect location to return. + */ + interconnectLocation?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Interconnectlocations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + class Resource$Interconnects { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.interconnects.delete + * @desc Deletes the specified interconnect. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the interconnect to delete. + * interconnect: 'my-interconnect', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.interconnects.delete(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 compute.interconnects.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.interconnect Name of the interconnect to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Interconnects$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Interconnects$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Interconnects$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.interconnects.get + * @desc Returns the specified interconnect. Get a list of available + * interconnects by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the interconnect to return. + * interconnect: 'my-interconnect', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.interconnects.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 compute.interconnects.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.interconnect Name of the interconnect to return. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Interconnects$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Interconnects$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Interconnects$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.interconnects.insert + * @desc Creates a Interconnect in the specified project using the data + * included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.interconnects.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 compute.interconnects.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Interconnect} 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?: Params$Resource$Interconnects$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Interconnects$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Interconnects$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.interconnects.list + * @desc Retrieves the list of interconnect available to the specified + * project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * compute.interconnects.list(request, handlePage); + * } + * }; + * + * compute.interconnects.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 compute.interconnects.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Interconnects$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Interconnects$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Interconnects$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.interconnects.patch + * @desc Updates the specified interconnect with the data included in the + * request. This method supports PATCH semantics and uses the JSON merge + * patch format and processing rules. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the interconnect to update. + * interconnect: 'my-interconnect', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * compute.interconnects.patch(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 compute.interconnects.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.interconnect Name of the interconnect to update. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Interconnect} 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 + */ + patch(params?: Params$Resource$Interconnects$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Interconnects$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Interconnects$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Interconnects$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the interconnect to delete. + */ + interconnect?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Interconnects$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the interconnect to return. + */ + interconnect?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Interconnects$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Interconnect; + } + interface Params$Resource$Interconnects$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Interconnects$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the interconnect to update. + */ + interconnect?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Interconnect; + } + class Resource$Licensecodes { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.licenseCodes.get + * @desc Return a specified license code. License codes are mirrored across + * all projects that have permissions to read the License Code. + * @alias compute.licenseCodes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.licenseCode Number corresponding to the License code resource to return. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Licensecodes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Licensecodes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Licensecodes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.licenseCodes.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.licenseCodes.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Licensecodes$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Licensecodes$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Licensecodes$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Licensecodes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Number corresponding to the License code resource to return. + */ + licenseCode?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Licensecodes$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Licenses { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.licenses.delete + * @desc Deletes the specified license. + * @alias compute.licenses.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.license Name of the license resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Licenses$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Licenses$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Licenses$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.licenses.get + * @desc Returns the specified License resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the License resource to return. + * license: 'my-license', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.licenses.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 compute.licenses.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.license Name of the License resource to return. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Licenses$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Licenses$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Licenses$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.licenses.insert + * @desc Create a License resource in the specified project. + * @alias compute.licenses.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().License} 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?: Params$Resource$Licenses$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Licenses$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Licenses$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.licenses.list + * @desc Retrieves the list of licenses available in the specified project. + * This method does not get any licenses that belong to other projects, + * including licenses attached to publicly-available images, like Debian 9. + * If you want to get a list of publicly-available licenses, use this method + * to make a request to the respective image project, such as debian-cloud + * or windows-cloud. + * @alias compute.licenses.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Licenses$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Licenses$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Licenses$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.licenses.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.licenses.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Licenses$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Licenses$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Licenses$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Licenses$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the license resource to delete. + */ + license?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Licenses$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the License resource to return. + */ + license?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Licenses$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$License; + } + interface Params$Resource$Licenses$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Licenses$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Machinetypes { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.machineTypes.aggregatedList + * @desc Retrieves an aggregated list of machine types. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * } + * Object.keys(itemsPage).forEach(function(name) { + * // TODO: Change code below to process each `name` property: + * console.log(name + ': ' + JSON.stringify(itemsPage[name], null, + * 2)); + * }); + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * compute.machineTypes.aggregatedList(request, handlePage); + * } + * }; + * + * compute.machineTypes.aggregatedList(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 compute.machineTypes.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Machinetypes$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Machinetypes$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Machinetypes$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.machineTypes.get + * @desc Returns the specified machine type. Gets a list of available + * machine types by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the machine type to return. + * machineType: 'my-machine-type', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.machineTypes.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 compute.machineTypes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.machineType Name of the machine type to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone for this request. + * @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?: Params$Resource$Machinetypes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Machinetypes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Machinetypes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.machineTypes.list + * @desc Retrieves a list of machine types available to the specified + * project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the zone for this request. + * zone: 'my-zone', // 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; + * compute.machineTypes.list(request, handlePage); + * } + * }; + * + * compute.machineTypes.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 compute.machineTypes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone for this request. + * @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?: Params$Resource$Machinetypes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Machinetypes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Machinetypes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Machinetypes$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Machinetypes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the machine type to return. + */ + machineType?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Machinetypes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + class Resource$Networks { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.networks.addPeering + * @desc Adds a peering to the specified network. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the network resource to add peering to. + * network: 'my-network', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.networks.addPeering(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 compute.networks.addPeering + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.network Name of the network resource to add peering to. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().NetworksAddPeeringRequest} 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 + */ + addPeering(params?: Params$Resource$Networks$Addpeering, options?: MethodOptions): AxiosPromise; + addPeering(params: Params$Resource$Networks$Addpeering, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + addPeering(params: Params$Resource$Networks$Addpeering, callback: BodyResponseCallback): void; + addPeering(callback: BodyResponseCallback): void; + /** + * compute.networks.delete + * @desc Deletes the specified network. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the network to delete. + * network: 'my-network', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.networks.delete(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 compute.networks.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.network Name of the network to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Networks$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Networks$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Networks$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.networks.get + * @desc Returns the specified network. Gets a list of available networks by + * making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the network to return. + * network: 'my-network', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.networks.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 compute.networks.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.network Name of the network to return. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Networks$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Networks$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Networks$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.networks.insert + * @desc Creates a network in the specified project using the data included + * in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.networks.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 compute.networks.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Network} 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?: Params$Resource$Networks$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Networks$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Networks$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.networks.list + * @desc Retrieves the list of networks available to the specified project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * compute.networks.list(request, handlePage); + * } + * }; + * + * compute.networks.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 compute.networks.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Networks$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Networks$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Networks$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.networks.patch + * @desc Patches the specified network with the data included in the + * request. Only the following fields can be modified: + * routingConfig.routingMode. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the network to update. + * network: 'my-network', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * compute.networks.patch(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 compute.networks.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.network Name of the network to update. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Network} 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 + */ + patch(params?: Params$Resource$Networks$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Networks$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Networks$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * compute.networks.removePeering + * @desc Removes a peering from the specified network. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the network resource to remove peering from. + * network: 'my-network', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.networks.removePeering(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 compute.networks.removePeering + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.network Name of the network resource to remove peering from. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().NetworksRemovePeeringRequest} 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 + */ + removePeering(params?: Params$Resource$Networks$Removepeering, options?: MethodOptions): AxiosPromise; + removePeering(params: Params$Resource$Networks$Removepeering, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + removePeering(params: Params$Resource$Networks$Removepeering, callback: BodyResponseCallback): void; + removePeering(callback: BodyResponseCallback): void; + /** + * compute.networks.switchToCustomMode + * @desc Switches the network mode from auto subnet mode to custom subnet + * mode. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the network to be updated. + * network: 'my-network', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.networks.switchToCustomMode(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 compute.networks.switchToCustomMode + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.network Name of the network to be updated. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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 + */ + switchToCustomMode(params?: Params$Resource$Networks$Switchtocustommode, options?: MethodOptions): AxiosPromise; + switchToCustomMode(params: Params$Resource$Networks$Switchtocustommode, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + switchToCustomMode(params: Params$Resource$Networks$Switchtocustommode, callback: BodyResponseCallback): void; + switchToCustomMode(callback: BodyResponseCallback): void; + } + interface Params$Resource$Networks$Addpeering { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the network resource to add peering to. + */ + network?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$NetworksAddPeeringRequest; + } + interface Params$Resource$Networks$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the network to delete. + */ + network?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Networks$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the network to return. + */ + network?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Networks$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Network; + } + interface Params$Resource$Networks$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Networks$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the network to update. + */ + network?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Network; + } + interface Params$Resource$Networks$Removepeering { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the network resource to remove peering from. + */ + network?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$NetworksRemovePeeringRequest; + } + interface Params$Resource$Networks$Switchtocustommode { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the network to be updated. + */ + network?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + class Resource$Nodegroups { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.nodeGroups.addNodes + * @desc Adds specified number of nodes to the node group. + * @alias compute.nodeGroups.addNodes + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.nodeGroup Name of the NodeGroup resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().NodeGroupsAddNodesRequest} 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 + */ + addNodes(params?: Params$Resource$Nodegroups$Addnodes, options?: MethodOptions): AxiosPromise; + addNodes(params: Params$Resource$Nodegroups$Addnodes, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + addNodes(params: Params$Resource$Nodegroups$Addnodes, callback: BodyResponseCallback): void; + addNodes(callback: BodyResponseCallback): void; + /** + * compute.nodeGroups.aggregatedList + * @desc Retrieves an aggregated list of node groups. Note: use + * nodeGroups.listNodes for more details about each group. + * @alias compute.nodeGroups.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Nodegroups$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Nodegroups$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Nodegroups$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.nodeGroups.delete + * @desc Deletes the specified NodeGroup resource. + * @alias compute.nodeGroups.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.nodeGroup Name of the NodeGroup resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @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?: Params$Resource$Nodegroups$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Nodegroups$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Nodegroups$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.nodeGroups.deleteNodes + * @desc Deletes specified nodes from the node group. + * @alias compute.nodeGroups.deleteNodes + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.nodeGroup Name of the NodeGroup resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().NodeGroupsDeleteNodesRequest} 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 + */ + deleteNodes(params?: Params$Resource$Nodegroups$Deletenodes, options?: MethodOptions): AxiosPromise; + deleteNodes(params: Params$Resource$Nodegroups$Deletenodes, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + deleteNodes(params: Params$Resource$Nodegroups$Deletenodes, callback: BodyResponseCallback): void; + deleteNodes(callback: BodyResponseCallback): void; + /** + * compute.nodeGroups.get + * @desc Returns the specified NodeGroup. Get a list of available NodeGroups + * by making a list() request. Note: the "nodes" field should not be used. + * Use nodeGroups.listNodes instead. + * @alias compute.nodeGroups.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.nodeGroup Name of the node group to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone for this request. + * @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?: Params$Resource$Nodegroups$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Nodegroups$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Nodegroups$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.nodeGroups.insert + * @desc Creates a NodeGroup resource in the specified project using the + * data included in the request. + * @alias compute.nodeGroups.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.initialNodeCount Initial count of nodes in the node group. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().NodeGroup} 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?: Params$Resource$Nodegroups$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Nodegroups$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Nodegroups$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.nodeGroups.list + * @desc Retrieves a list of node groups available to the specified project. + * Note: use nodeGroups.listNodes for more details about each group. + * @alias compute.nodeGroups.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone for this request. + * @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?: Params$Resource$Nodegroups$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Nodegroups$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Nodegroups$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.nodeGroups.listNodes + * @desc Lists nodes in the node group. + * @alias compute.nodeGroups.listNodes + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string} params.nodeGroup Name of the NodeGroup resource whose nodes you want to list. + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone for this request. + * @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 + */ + listNodes(params?: Params$Resource$Nodegroups$Listnodes, options?: MethodOptions): AxiosPromise; + listNodes(params: Params$Resource$Nodegroups$Listnodes, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listNodes(params: Params$Resource$Nodegroups$Listnodes, callback: BodyResponseCallback): void; + listNodes(callback: BodyResponseCallback): void; + /** + * compute.nodeGroups.setNodeTemplate + * @desc Updates the node template of the node group. + * @alias compute.nodeGroups.setNodeTemplate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.nodeGroup Name of the NodeGroup resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().NodeGroupsSetNodeTemplateRequest} 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 + */ + setNodeTemplate(params?: Params$Resource$Nodegroups$Setnodetemplate, options?: MethodOptions): AxiosPromise; + setNodeTemplate(params: Params$Resource$Nodegroups$Setnodetemplate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setNodeTemplate(params: Params$Resource$Nodegroups$Setnodetemplate, callback: BodyResponseCallback): void; + setNodeTemplate(callback: BodyResponseCallback): void; + } + interface Params$Resource$Nodegroups$Addnodes { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the NodeGroup resource to delete. + */ + nodeGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$NodeGroupsAddNodesRequest; + } + interface Params$Resource$Nodegroups$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Nodegroups$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the NodeGroup resource to delete. + */ + nodeGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Nodegroups$Deletenodes { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the NodeGroup resource to delete. + */ + nodeGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$NodeGroupsDeleteNodesRequest; + } + interface Params$Resource$Nodegroups$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the node group to return. + */ + nodeGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Nodegroups$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Initial count of nodes in the node group. + */ + initialNodeCount?: number; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$NodeGroup; + } + interface Params$Resource$Nodegroups$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Nodegroups$Listnodes { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Name of the NodeGroup resource whose nodes you want to list. + */ + nodeGroup?: string; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Nodegroups$Setnodetemplate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the NodeGroup resource to delete. + */ + nodeGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$NodeGroupsSetNodeTemplateRequest; + } + class Resource$Nodetemplates { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.nodeTemplates.aggregatedList + * @desc Retrieves an aggregated list of node templates. + * @alias compute.nodeTemplates.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Nodetemplates$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Nodetemplates$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Nodetemplates$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.nodeTemplates.delete + * @desc Deletes the specified NodeTemplate resource. + * @alias compute.nodeTemplates.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.nodeTemplate Name of the NodeTemplate resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Nodetemplates$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Nodetemplates$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Nodetemplates$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.nodeTemplates.get + * @desc Returns the specified node template. Gets a list of available node + * templates by making a list() request. + * @alias compute.nodeTemplates.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.nodeTemplate Name of the node template to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @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?: Params$Resource$Nodetemplates$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Nodetemplates$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Nodetemplates$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.nodeTemplates.insert + * @desc Creates a NodeTemplate resource in the specified project using the + * data included in the request. + * @alias compute.nodeTemplates.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().NodeTemplate} 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?: Params$Resource$Nodetemplates$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Nodetemplates$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Nodetemplates$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.nodeTemplates.list + * @desc Retrieves a list of node templates available to the specified + * project. + * @alias compute.nodeTemplates.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @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?: Params$Resource$Nodetemplates$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Nodetemplates$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Nodetemplates$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Nodetemplates$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Nodetemplates$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the NodeTemplate resource to delete. + */ + nodeTemplate?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Nodetemplates$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the node template to return. + */ + nodeTemplate?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + } + interface Params$Resource$Nodetemplates$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$NodeTemplate; + } + interface Params$Resource$Nodetemplates$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + } + class Resource$Nodetypes { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.nodeTypes.aggregatedList + * @desc Retrieves an aggregated list of node types. + * @alias compute.nodeTypes.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Nodetypes$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Nodetypes$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Nodetypes$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.nodeTypes.get + * @desc Returns the specified node type. Gets a list of available node + * types by making a list() request. + * @alias compute.nodeTypes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.nodeType Name of the node type to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone for this request. + * @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?: Params$Resource$Nodetypes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Nodetypes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Nodetypes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.nodeTypes.list + * @desc Retrieves a list of node types available to the specified project. + * @alias compute.nodeTypes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone for this request. + * @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?: Params$Resource$Nodetypes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Nodetypes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Nodetypes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Nodetypes$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Nodetypes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the node type to return. + */ + nodeType?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Nodetypes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + class Resource$Projects { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.projects.disableXpnHost + * @desc Disable this project as a shared VPC host project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.projects.disableXpnHost(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 compute.projects.disableXpnHost + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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 + */ + disableXpnHost(params?: Params$Resource$Projects$Disablexpnhost, options?: MethodOptions): AxiosPromise; + disableXpnHost(params: Params$Resource$Projects$Disablexpnhost, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + disableXpnHost(params: Params$Resource$Projects$Disablexpnhost, callback: BodyResponseCallback): void; + disableXpnHost(callback: BodyResponseCallback): void; + /** + * compute.projects.disableXpnResource + * @desc Disable a serivce resource (a.k.a service project) associated with + * this host project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.projects.disableXpnResource(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 compute.projects.disableXpnResource + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().ProjectsDisableXpnResourceRequest} 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 + */ + disableXpnResource(params?: Params$Resource$Projects$Disablexpnresource, options?: MethodOptions): AxiosPromise; + disableXpnResource(params: Params$Resource$Projects$Disablexpnresource, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + disableXpnResource(params: Params$Resource$Projects$Disablexpnresource, callback: BodyResponseCallback): void; + disableXpnResource(callback: BodyResponseCallback): void; + /** + * compute.projects.enableXpnHost + * @desc Enable this project as a shared VPC host project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.projects.enableXpnHost(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 compute.projects.enableXpnHost + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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 + */ + enableXpnHost(params?: Params$Resource$Projects$Enablexpnhost, options?: MethodOptions): AxiosPromise; + enableXpnHost(params: Params$Resource$Projects$Enablexpnhost, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + enableXpnHost(params: Params$Resource$Projects$Enablexpnhost, callback: BodyResponseCallback): void; + enableXpnHost(callback: BodyResponseCallback): void; + /** + * compute.projects.enableXpnResource + * @desc Enable service resource (a.k.a service project) for a host project, + * so that subnets in the host project can be used by instances in the + * service project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.projects.enableXpnResource(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 compute.projects.enableXpnResource + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().ProjectsEnableXpnResourceRequest} 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 + */ + enableXpnResource(params?: Params$Resource$Projects$Enablexpnresource, options?: MethodOptions): AxiosPromise; + enableXpnResource(params: Params$Resource$Projects$Enablexpnresource, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + enableXpnResource(params: Params$Resource$Projects$Enablexpnresource, callback: BodyResponseCallback): void; + enableXpnResource(callback: BodyResponseCallback): void; + /** + * compute.projects.get + * @desc Returns the specified Project resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.projects.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 compute.projects.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Projects$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.projects.getXpnHost + * @desc Gets the shared VPC host project that this project links to. May be + * empty if no link exists. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.projects.getXpnHost(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 compute.projects.getXpnHost + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @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 + */ + getXpnHost(params?: Params$Resource$Projects$Getxpnhost, options?: MethodOptions): AxiosPromise; + getXpnHost(params: Params$Resource$Projects$Getxpnhost, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getXpnHost(params: Params$Resource$Projects$Getxpnhost, callback: BodyResponseCallback): void; + getXpnHost(callback: BodyResponseCallback): void; + /** + * compute.projects.getXpnResources + * @desc Gets service resources (a.k.a service project) associated with this + * host project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var resourcesPage = response['resources']; + * if (!resourcesPage) { + * return; + * } + * for (var i = 0; i < resourcesPage.length; i++) { + * // TODO: Change code below to process each resource in + * `resourcesPage`: console.log(JSON.stringify(resourcesPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * compute.projects.getXpnResources(request, handlePage); + * } + * }; + * + * compute.projects.getXpnResources(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 compute.projects.getXpnResources + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.order_by Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + getXpnResources(params?: Params$Resource$Projects$Getxpnresources, options?: MethodOptions): AxiosPromise; + getXpnResources(params: Params$Resource$Projects$Getxpnresources, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getXpnResources(params: Params$Resource$Projects$Getxpnresources, callback: BodyResponseCallback): void; + getXpnResources(callback: BodyResponseCallback): void; + /** + * compute.projects.listXpnHosts + * @desc Lists all shared VPC host projects visible to the user in an + * organization. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * 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; + * compute.projects.listXpnHosts(request, handlePage); + * } + * }; + * + * compute.projects.listXpnHosts(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 compute.projects.listXpnHosts + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.order_by Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {().ProjectsListXpnHostsRequest} 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 + */ + listXpnHosts(params?: Params$Resource$Projects$Listxpnhosts, options?: MethodOptions): AxiosPromise; + listXpnHosts(params: Params$Resource$Projects$Listxpnhosts, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listXpnHosts(params: Params$Resource$Projects$Listxpnhosts, callback: BodyResponseCallback): void; + listXpnHosts(callback: BodyResponseCallback): void; + /** + * compute.projects.moveDisk + * @desc Moves a persistent disk from one zone to another. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.projects.moveDisk(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 compute.projects.moveDisk + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().DiskMoveRequest} 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 + */ + moveDisk(params?: Params$Resource$Projects$Movedisk, options?: MethodOptions): AxiosPromise; + moveDisk(params: Params$Resource$Projects$Movedisk, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + moveDisk(params: Params$Resource$Projects$Movedisk, callback: BodyResponseCallback): void; + moveDisk(callback: BodyResponseCallback): void; + /** + * compute.projects.moveInstance + * @desc Moves an instance and its attached persistent disks from one zone + * to another. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.projects.moveInstance(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 compute.projects.moveInstance + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().InstanceMoveRequest} 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 + */ + moveInstance(params?: Params$Resource$Projects$Moveinstance, options?: MethodOptions): AxiosPromise; + moveInstance(params: Params$Resource$Projects$Moveinstance, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + moveInstance(params: Params$Resource$Projects$Moveinstance, callback: BodyResponseCallback): void; + moveInstance(callback: BodyResponseCallback): void; + /** + * compute.projects.setCommonInstanceMetadata + * @desc Sets metadata common to all instances within the specified project + * using the data included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.projects.setCommonInstanceMetadata(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 compute.projects.setCommonInstanceMetadata + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Metadata} 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 + */ + setCommonInstanceMetadata(params?: Params$Resource$Projects$Setcommoninstancemetadata, options?: MethodOptions): AxiosPromise; + setCommonInstanceMetadata(params: Params$Resource$Projects$Setcommoninstancemetadata, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setCommonInstanceMetadata(params: Params$Resource$Projects$Setcommoninstancemetadata, callback: BodyResponseCallback): void; + setCommonInstanceMetadata(callback: BodyResponseCallback): void; + /** + * compute.projects.setDefaultNetworkTier + * @desc Sets the default network tier of the project. The default network + * tier is used when an address/forwardingRule/instance is created without + * specifying the network tier field. + * @alias compute.projects.setDefaultNetworkTier + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().ProjectsSetDefaultNetworkTierRequest} 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 + */ + setDefaultNetworkTier(params?: Params$Resource$Projects$Setdefaultnetworktier, options?: MethodOptions): AxiosPromise; + setDefaultNetworkTier(params: Params$Resource$Projects$Setdefaultnetworktier, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setDefaultNetworkTier(params: Params$Resource$Projects$Setdefaultnetworktier, callback: BodyResponseCallback): void; + setDefaultNetworkTier(callback: BodyResponseCallback): void; + /** + * compute.projects.setUsageExportBucket + * @desc Enables the usage export feature and sets the usage export bucket + * where reports are stored. If you provide an empty request body using this + * method, the usage export feature will be disabled. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.projects.setUsageExportBucket(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 compute.projects.setUsageExportBucket + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().UsageExportLocation} 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 + */ + setUsageExportBucket(params?: Params$Resource$Projects$Setusageexportbucket, options?: MethodOptions): AxiosPromise; + setUsageExportBucket(params: Params$Resource$Projects$Setusageexportbucket, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setUsageExportBucket(params: Params$Resource$Projects$Setusageexportbucket, callback: BodyResponseCallback): void; + setUsageExportBucket(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Disablexpnhost { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Projects$Disablexpnresource { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ProjectsDisableXpnResourceRequest; + } + interface Params$Resource$Projects$Enablexpnhost { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Projects$Enablexpnresource { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ProjectsEnableXpnResourceRequest; + } + interface Params$Resource$Projects$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Projects$Getxpnhost { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Projects$Getxpnresources { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + order_by?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Projects$Listxpnhosts { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + order_by?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ProjectsListXpnHostsRequest; + } + interface Params$Resource$Projects$Movedisk { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DiskMoveRequest; + } + interface Params$Resource$Projects$Moveinstance { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceMoveRequest; + } + interface Params$Resource$Projects$Setcommoninstancemetadata { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Metadata; + } + interface Params$Resource$Projects$Setdefaultnetworktier { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ProjectsSetDefaultNetworkTierRequest; + } + interface Params$Resource$Projects$Setusageexportbucket { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UsageExportLocation; + } + class Resource$Regionautoscalers { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.regionAutoscalers.delete + * @desc Deletes the specified autoscaler. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the autoscaler to delete. + * autoscaler: 'my-autoscaler', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.regionAutoscalers.delete(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 compute.regionAutoscalers.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.autoscaler Name of the autoscaler to delete. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Regionautoscalers$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Regionautoscalers$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Regionautoscalers$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.regionAutoscalers.get + * @desc Returns the specified autoscaler. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the autoscaler to return. + * autoscaler: 'my-autoscaler', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.regionAutoscalers.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 compute.regionAutoscalers.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.autoscaler Name of the autoscaler to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @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?: Params$Resource$Regionautoscalers$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Regionautoscalers$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Regionautoscalers$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.regionAutoscalers.insert + * @desc Creates an autoscaler in the specified project using the data + * included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.regionAutoscalers.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 compute.regionAutoscalers.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Autoscaler} 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?: Params$Resource$Regionautoscalers$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Regionautoscalers$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Regionautoscalers$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.regionAutoscalers.list + * @desc Retrieves a list of autoscalers contained within the specified + * region. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // 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; + * compute.regionAutoscalers.list(request, handlePage); + * } + * }; + * + * compute.regionAutoscalers.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 compute.regionAutoscalers.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @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?: Params$Resource$Regionautoscalers$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Regionautoscalers$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Regionautoscalers$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.regionAutoscalers.patch + * @desc Updates an autoscaler in the specified project using the data + * included in the request. This method supports PATCH semantics and uses + * the JSON merge patch format and processing rules. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * compute.regionAutoscalers.patch(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 compute.regionAutoscalers.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.autoscaler Name of the autoscaler to patch. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Autoscaler} 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 + */ + patch(params?: Params$Resource$Regionautoscalers$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Regionautoscalers$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Regionautoscalers$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * compute.regionAutoscalers.update + * @desc Updates an autoscaler in the specified project using the data + * included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * compute.regionAutoscalers.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 compute.regionAutoscalers.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.autoscaler Name of the autoscaler to update. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Autoscaler} 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?: Params$Resource$Regionautoscalers$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Regionautoscalers$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Regionautoscalers$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Regionautoscalers$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the autoscaler to delete. + */ + autoscaler?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Regionautoscalers$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the autoscaler to return. + */ + autoscaler?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + } + interface Params$Resource$Regionautoscalers$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Autoscaler; + } + interface Params$Resource$Regionautoscalers$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + } + interface Params$Resource$Regionautoscalers$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the autoscaler to patch. + */ + autoscaler?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Autoscaler; + } + interface Params$Resource$Regionautoscalers$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the autoscaler to update. + */ + autoscaler?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Autoscaler; + } + class Resource$Regionbackendservices { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.regionBackendServices.delete + * @desc Deletes the specified regional BackendService resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the BackendService resource to delete. + * backendService: 'my-backend-service', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * compute.regionBackendServices.delete(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 compute.regionBackendServices.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendService Name of the BackendService resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Regionbackendservices$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Regionbackendservices$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Regionbackendservices$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.regionBackendServices.get + * @desc Returns the specified regional BackendService resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the BackendService resource to return. + * backendService: 'my-backend-service', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * compute.regionBackendServices.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 compute.regionBackendServices.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendService Name of the BackendService resource to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @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?: Params$Resource$Regionbackendservices$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Regionbackendservices$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Regionbackendservices$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.regionBackendServices.getHealth + * @desc Gets the most recent health check results for this regional + * BackendService. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the BackendService resource to which the queried instance + * belongs. backendService: 'my-backend-service', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.regionBackendServices.getHealth(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 compute.regionBackendServices.getHealth + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendService Name of the BackendService resource for which to get health. + * @param {string} params.project + * @param {string} params.region Name of the region scoping this request. + * @param {().ResourceGroupReference} 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 + */ + getHealth(params?: Params$Resource$Regionbackendservices$Gethealth, options?: MethodOptions): AxiosPromise; + getHealth(params: Params$Resource$Regionbackendservices$Gethealth, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getHealth(params: Params$Resource$Regionbackendservices$Gethealth, callback: BodyResponseCallback): void; + getHealth(callback: BodyResponseCallback): void; + /** + * compute.regionBackendServices.insert + * @desc Creates a regional BackendService resource in the specified project + * using the data included in the request. There are several restrictions + * and guidelines to keep in mind when creating a regional backend service. + * Read Restrictions and Guidelines for more information. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.regionBackendServices.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 compute.regionBackendServices.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().BackendService} 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?: Params$Resource$Regionbackendservices$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Regionbackendservices$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Regionbackendservices$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.regionBackendServices.list + * @desc Retrieves the list of regional BackendService resources available + * to the specified project in the given region. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // 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; + * compute.regionBackendServices.list(request, handlePage); + * } + * }; + * + * compute.regionBackendServices.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 compute.regionBackendServices.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @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?: Params$Resource$Regionbackendservices$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Regionbackendservices$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Regionbackendservices$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.regionBackendServices.patch + * @desc Updates the specified regional BackendService resource with the + * data included in the request. There are several restrictions and + * guidelines to keep in mind when updating a backend service. Read + * Restrictions and Guidelines for more information. This method supports + * PATCH semantics and uses the JSON merge patch format and processing + * rules. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the BackendService resource to patch. + * backendService: 'my-backend-service', // TODO: Update placeholder + * value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * compute.regionBackendServices.patch(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 compute.regionBackendServices.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendService Name of the BackendService resource to patch. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().BackendService} 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 + */ + patch(params?: Params$Resource$Regionbackendservices$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Regionbackendservices$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Regionbackendservices$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * compute.regionBackendServices.update + * @desc Updates the specified regional BackendService resource with the + * data included in the request. There are several restrictions and + * guidelines to keep in mind when updating a backend service. Read + * Restrictions and Guidelines for more information. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the BackendService resource to update. + * backendService: 'my-backend-service', // TODO: Update placeholder + * value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * compute.regionBackendServices.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 compute.regionBackendServices.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.backendService Name of the BackendService resource to update. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().BackendService} 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?: Params$Resource$Regionbackendservices$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Regionbackendservices$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Regionbackendservices$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Regionbackendservices$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendService resource to delete. + */ + backendService?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Regionbackendservices$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendService resource to return. + */ + backendService?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + } + interface Params$Resource$Regionbackendservices$Gethealth { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendService resource for which to get health. + */ + backendService?: string; + /** + * + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ResourceGroupReference; + } + interface Params$Resource$Regionbackendservices$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BackendService; + } + interface Params$Resource$Regionbackendservices$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + } + interface Params$Resource$Regionbackendservices$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendService resource to patch. + */ + backendService?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BackendService; + } + interface Params$Resource$Regionbackendservices$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the BackendService resource to update. + */ + backendService?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BackendService; + } + class Resource$Regioncommitments { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.regionCommitments.aggregatedList + * @desc Retrieves an aggregated list of commitments. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * } + * Object.keys(itemsPage).forEach(function(name) { + * // TODO: Change code below to process each `name` property: + * console.log(name + ': ' + JSON.stringify(itemsPage[name], null, + * 2)); + * }); + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * compute.regionCommitments.aggregatedList(request, handlePage); + * } + * }; + * + * compute.regionCommitments.aggregatedList(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 compute.regionCommitments.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Regioncommitments$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Regioncommitments$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Regioncommitments$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.regionCommitments.get + * @desc Returns the specified commitment resource. Gets a list of available + * commitments by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the commitment to return. + * commitment: 'my-commitment', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.regionCommitments.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 compute.regionCommitments.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.commitment Name of the commitment to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @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?: Params$Resource$Regioncommitments$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Regioncommitments$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Regioncommitments$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.regionCommitments.insert + * @desc Creates a commitment in the specified project using the data + * included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.regionCommitments.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 compute.regionCommitments.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Commitment} 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?: Params$Resource$Regioncommitments$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Regioncommitments$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Regioncommitments$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.regionCommitments.list + * @desc Retrieves a list of commitments contained within the specified + * region. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // 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; + * compute.regionCommitments.list(request, handlePage); + * } + * }; + * + * compute.regionCommitments.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 compute.regionCommitments.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @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?: Params$Resource$Regioncommitments$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Regioncommitments$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Regioncommitments$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Regioncommitments$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Regioncommitments$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the commitment to return. + */ + commitment?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + } + interface Params$Resource$Regioncommitments$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Commitment; + } + interface Params$Resource$Regioncommitments$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + } + class Resource$Regiondisks { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.regionDisks.createSnapshot + * @desc Creates a snapshot of this regional disk. + * @alias compute.regionDisks.createSnapshot + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.disk Name of the regional persistent disk to snapshot. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Snapshot} 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 + */ + createSnapshot(params?: Params$Resource$Regiondisks$Createsnapshot, options?: MethodOptions): AxiosPromise; + createSnapshot(params: Params$Resource$Regiondisks$Createsnapshot, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + createSnapshot(params: Params$Resource$Regiondisks$Createsnapshot, callback: BodyResponseCallback): void; + createSnapshot(callback: BodyResponseCallback): void; + /** + * compute.regionDisks.delete + * @desc Deletes the specified regional persistent disk. Deleting a regional + * disk removes all the replicas of its data permanently and is + * irreversible. However, deleting a disk does not delete any snapshots + * previously made from the disk. You must separately delete snapshots. + * @alias compute.regionDisks.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.disk Name of the regional persistent disk to delete. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Regiondisks$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Regiondisks$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Regiondisks$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.regionDisks.get + * @desc Returns a specified regional persistent disk. + * @alias compute.regionDisks.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.disk Name of the regional persistent disk to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @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?: Params$Resource$Regiondisks$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Regiondisks$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Regiondisks$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.regionDisks.insert + * @desc Creates a persistent regional disk in the specified project using + * the data included in the request. + * @alias compute.regionDisks.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string=} params.sourceImage Optional. Source image to restore onto a disk. + * @param {().Disk} 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?: Params$Resource$Regiondisks$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Regiondisks$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Regiondisks$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.regionDisks.list + * @desc Retrieves the list of persistent disks contained within the + * specified region. + * @alias compute.regionDisks.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @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?: Params$Resource$Regiondisks$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Regiondisks$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Regiondisks$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.regionDisks.resize + * @desc Resizes the specified regional persistent disk. + * @alias compute.regionDisks.resize + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.disk Name of the regional persistent disk. + * @param {string} params.project The project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().RegionDisksResizeRequest} 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 + */ + resize(params?: Params$Resource$Regiondisks$Resize, options?: MethodOptions): AxiosPromise; + resize(params: Params$Resource$Regiondisks$Resize, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + resize(params: Params$Resource$Regiondisks$Resize, callback: BodyResponseCallback): void; + resize(callback: BodyResponseCallback): void; + /** + * compute.regionDisks.setLabels + * @desc Sets the labels on the target regional disk. + * @alias compute.regionDisks.setLabels + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.resource_ Name of the resource for this request. + * @param {().RegionSetLabelsRequest} 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 + */ + setLabels(params?: Params$Resource$Regiondisks$Setlabels, options?: MethodOptions): AxiosPromise; + setLabels(params: Params$Resource$Regiondisks$Setlabels, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setLabels(params: Params$Resource$Regiondisks$Setlabels, callback: BodyResponseCallback): void; + setLabels(callback: BodyResponseCallback): void; + /** + * compute.regionDisks.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.regionDisks.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Regiondisks$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Regiondisks$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Regiondisks$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Regiondisks$Createsnapshot { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the regional persistent disk to snapshot. + */ + disk?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Snapshot; + } + interface Params$Resource$Regiondisks$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the regional persistent disk to delete. + */ + disk?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Regiondisks$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the regional persistent disk to return. + */ + disk?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + } + interface Params$Resource$Regiondisks$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Optional. Source image to restore onto a disk. + */ + sourceImage?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Disk; + } + interface Params$Resource$Regiondisks$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + } + interface Params$Resource$Regiondisks$Resize { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the regional persistent disk. + */ + disk?: string; + /** + * The project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RegionDisksResizeRequest; + } + interface Params$Resource$Regiondisks$Setlabels { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RegionSetLabelsRequest; + } + interface Params$Resource$Regiondisks$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + class Resource$Regiondisktypes { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.regionDiskTypes.get + * @desc Returns the specified regional disk type. Gets a list of available + * disk types by making a list() request. + * @alias compute.regionDiskTypes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.diskType Name of the disk type to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @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?: Params$Resource$Regiondisktypes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Regiondisktypes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Regiondisktypes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.regionDiskTypes.list + * @desc Retrieves a list of regional disk types available to the specified + * project. + * @alias compute.regionDiskTypes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @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?: Params$Resource$Regiondisktypes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Regiondisktypes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Regiondisktypes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Regiondisktypes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the disk type to return. + */ + diskType?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + } + interface Params$Resource$Regiondisktypes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + } + class Resource$Regioninstancegroupmanagers { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.regionInstanceGroupManagers.abandonInstances + * @desc Schedules a group action to remove the specified instances from the + * managed instance group. Abandoning an instance does not delete the + * instance, but it does remove the instance from any target pools that are + * applied by the managed instance group. This method reduces the targetSize + * of the managed instance group by the number of instances that you + * abandon. This operation is marked as DONE when the action is scheduled + * even if the instances have not yet been removed from the group. You must + * separately verify the status of the abandoning action with the + * listmanagedinstances method. If the group is part of a backend service + * that has enabled connection draining, it can take up to 60 seconds after + * the connection draining duration has elapsed before the VM instance is + * removed or deleted. You can specify a maximum of 1000 instances with + * this method per request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the managed instance group. + * instanceGroupManager: 'my-instance-group-manager', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.regionInstanceGroupManagers.abandonInstances(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 compute.regionInstanceGroupManagers.abandonInstances + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager Name of the managed instance group. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().RegionInstanceGroupManagersAbandonInstancesRequest} 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 + */ + abandonInstances(params?: Params$Resource$Regioninstancegroupmanagers$Abandoninstances, options?: MethodOptions): AxiosPromise; + abandonInstances(params: Params$Resource$Regioninstancegroupmanagers$Abandoninstances, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + abandonInstances(params: Params$Resource$Regioninstancegroupmanagers$Abandoninstances, callback: BodyResponseCallback): void; + abandonInstances(callback: BodyResponseCallback): void; + /** + * compute.regionInstanceGroupManagers.delete + * @desc Deletes the specified managed instance group and all of the + * instances in that group. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the managed instance group to delete. + * instanceGroupManager: 'my-instance-group-manager', // TODO: Update + * placeholder value. + * + * auth: authClient, + * }; + * + * compute.regionInstanceGroupManagers.delete(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 compute.regionInstanceGroupManagers.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager Name of the managed instance group to delete. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @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?: Params$Resource$Regioninstancegroupmanagers$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Regioninstancegroupmanagers$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Regioninstancegroupmanagers$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.regionInstanceGroupManagers.deleteInstances + * @desc Schedules a group action to delete the specified instances in the + * managed instance group. The instances are also removed from any target + * pools of which they were a member. This method reduces the targetSize of + * the managed instance group by the number of instances that you delete. + * This operation is marked as DONE when the action is scheduled even if the + * instances are still being deleted. You must separately verify the status + * of the deleting action with the listmanagedinstances method. If the + * group is part of a backend service that has enabled connection draining, + * it can take up to 60 seconds after the connection draining duration has + * elapsed before the VM instance is removed or deleted. You can specify a + * maximum of 1000 instances with this method per request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the managed instance group. + * instanceGroupManager: 'my-instance-group-manager', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.regionInstanceGroupManagers.deleteInstances(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 compute.regionInstanceGroupManagers.deleteInstances + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager Name of the managed instance group. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().RegionInstanceGroupManagersDeleteInstancesRequest} 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 + */ + deleteInstances(params?: Params$Resource$Regioninstancegroupmanagers$Deleteinstances, options?: MethodOptions): AxiosPromise; + deleteInstances(params: Params$Resource$Regioninstancegroupmanagers$Deleteinstances, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + deleteInstances(params: Params$Resource$Regioninstancegroupmanagers$Deleteinstances, callback: BodyResponseCallback): void; + deleteInstances(callback: BodyResponseCallback): void; + /** + * compute.regionInstanceGroupManagers.get + * @desc Returns all of the details about the specified managed instance + * group. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the managed instance group to return. + * instanceGroupManager: 'my-instance-group-manager', // TODO: Update + * placeholder value. + * + * auth: authClient, + * }; + * + * compute.regionInstanceGroupManagers.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 compute.regionInstanceGroupManagers.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager Name of the managed instance group to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @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?: Params$Resource$Regioninstancegroupmanagers$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Regioninstancegroupmanagers$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Regioninstancegroupmanagers$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.regionInstanceGroupManagers.insert + * @desc Creates a managed instance group using the information that you + * specify in the request. After the group is created, it schedules an + * action to create instances in the group using the specified instance + * template. This operation is marked as DONE when the group is created even + * if the instances in the group have not yet been created. You must + * separately verify the status of the individual instances with the + * listmanagedinstances method. A regional managed instance group can + * contain up to 2000 instances. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.regionInstanceGroupManagers.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 compute.regionInstanceGroupManagers.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().InstanceGroupManager} 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?: Params$Resource$Regioninstancegroupmanagers$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Regioninstancegroupmanagers$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Regioninstancegroupmanagers$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.regionInstanceGroupManagers.list + * @desc Retrieves the list of managed instance groups that are contained + * within the specified region. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // 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; + * compute.regionInstanceGroupManagers.list(request, handlePage); + * } + * }; + * + * compute.regionInstanceGroupManagers.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 compute.regionInstanceGroupManagers.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @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?: Params$Resource$Regioninstancegroupmanagers$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Regioninstancegroupmanagers$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Regioninstancegroupmanagers$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.regionInstanceGroupManagers.listManagedInstances + * @desc Lists the instances in the managed instance group and instances + * that are scheduled to be created. The list includes any current actions + * that the group has scheduled for its instances. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // The name of the managed instance group. + * instanceGroupManager: 'my-instance-group-manager', // TODO: Update + * placeholder value. + * + * auth: authClient, + * }; + * + * compute.regionInstanceGroupManagers.listManagedInstances(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 compute.regionInstanceGroupManagers.listManagedInstances + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {string} params.instanceGroupManager The name of the managed instance group. + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.order_by Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @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 + */ + listManagedInstances(params?: Params$Resource$Regioninstancegroupmanagers$Listmanagedinstances, options?: MethodOptions): AxiosPromise; + listManagedInstances(params: Params$Resource$Regioninstancegroupmanagers$Listmanagedinstances, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listManagedInstances(params: Params$Resource$Regioninstancegroupmanagers$Listmanagedinstances, callback: BodyResponseCallback): void; + listManagedInstances(callback: BodyResponseCallback): void; + /** + * compute.regionInstanceGroupManagers.recreateInstances + * @desc Schedules a group action to recreate the specified instances in the + * managed instance group. The instances are deleted and recreated using the + * current instance template for the managed instance group. This operation + * is marked as DONE when the action is scheduled even if the instances have + * not yet been recreated. You must separately verify the status of the + * recreating action with the listmanagedinstances method. If the group is + * part of a backend service that has enabled connection draining, it can + * take up to 60 seconds after the connection draining duration has elapsed + * before the VM instance is removed or deleted. You can specify a maximum + * of 1000 instances with this method per request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the managed instance group. + * instanceGroupManager: 'my-instance-group-manager', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.regionInstanceGroupManagers.recreateInstances(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 compute.regionInstanceGroupManagers.recreateInstances + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager Name of the managed instance group. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().RegionInstanceGroupManagersRecreateRequest} 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 + */ + recreateInstances(params?: Params$Resource$Regioninstancegroupmanagers$Recreateinstances, options?: MethodOptions): AxiosPromise; + recreateInstances(params: Params$Resource$Regioninstancegroupmanagers$Recreateinstances, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + recreateInstances(params: Params$Resource$Regioninstancegroupmanagers$Recreateinstances, callback: BodyResponseCallback): void; + recreateInstances(callback: BodyResponseCallback): void; + /** + * compute.regionInstanceGroupManagers.resize + * @desc Changes the intended size for the managed instance group. If you + * increase the size, the group schedules actions to create new instances + * using the current instance template. If you decrease the size, the group + * schedules delete actions on one or more instances. The resize operation + * is marked DONE when the resize actions are scheduled even if the group + * has not yet added or deleted any instances. You must separately verify + * the status of the creating or deleting actions with the + * listmanagedinstances method. If the group is part of a backend service + * that has enabled connection draining, it can take up to 60 seconds after + * the connection draining duration has elapsed before the VM instance is + * removed or deleted. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the managed instance group. + * instanceGroupManager: 'my-instance-group-manager', // TODO: Update + * placeholder value. + * + * // Number of instances that should exist in this instance group + * manager. size: 0, // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.regionInstanceGroupManagers.resize(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 compute.regionInstanceGroupManagers.resize + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager Name of the managed instance group. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {integer} params.size Number of instances that should exist in this instance group manager. + * @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 + */ + resize(params?: Params$Resource$Regioninstancegroupmanagers$Resize, options?: MethodOptions): AxiosPromise; + resize(params: Params$Resource$Regioninstancegroupmanagers$Resize, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + resize(params: Params$Resource$Regioninstancegroupmanagers$Resize, callback: BodyResponseCallback): void; + resize(callback: BodyResponseCallback): void; + /** + * compute.regionInstanceGroupManagers.setInstanceTemplate + * @desc Sets the instance template to use when creating new instances or + * recreating instances in this group. Existing instances are not affected. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // The name of the managed instance group. + * instanceGroupManager: 'my-instance-group-manager', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.regionInstanceGroupManagers.setInstanceTemplate(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 compute.regionInstanceGroupManagers.setInstanceTemplate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager The name of the managed instance group. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().RegionInstanceGroupManagersSetTemplateRequest} 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 + */ + setInstanceTemplate(params?: Params$Resource$Regioninstancegroupmanagers$Setinstancetemplate, options?: MethodOptions): AxiosPromise; + setInstanceTemplate(params: Params$Resource$Regioninstancegroupmanagers$Setinstancetemplate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setInstanceTemplate(params: Params$Resource$Regioninstancegroupmanagers$Setinstancetemplate, callback: BodyResponseCallback): void; + setInstanceTemplate(callback: BodyResponseCallback): void; + /** + * compute.regionInstanceGroupManagers.setTargetPools + * @desc Modifies the target pools to which all new instances in this group + * are assigned. Existing instances in the group are not affected. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the managed instance group. + * instanceGroupManager: 'my-instance-group-manager', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.regionInstanceGroupManagers.setTargetPools(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 compute.regionInstanceGroupManagers.setTargetPools + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroupManager Name of the managed instance group. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().RegionInstanceGroupManagersSetTargetPoolsRequest} 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 + */ + setTargetPools(params?: Params$Resource$Regioninstancegroupmanagers$Settargetpools, options?: MethodOptions): AxiosPromise; + setTargetPools(params: Params$Resource$Regioninstancegroupmanagers$Settargetpools, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setTargetPools(params: Params$Resource$Regioninstancegroupmanagers$Settargetpools, callback: BodyResponseCallback): void; + setTargetPools(callback: BodyResponseCallback): void; + } + interface Params$Resource$Regioninstancegroupmanagers$Abandoninstances { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RegionInstanceGroupManagersAbandonInstancesRequest; + } + interface Params$Resource$Regioninstancegroupmanagers$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the managed instance group to delete. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + interface Params$Resource$Regioninstancegroupmanagers$Deleteinstances { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RegionInstanceGroupManagersDeleteInstancesRequest; + } + interface Params$Resource$Regioninstancegroupmanagers$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the managed instance group to return. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + } + interface Params$Resource$Regioninstancegroupmanagers$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManager; + } + interface Params$Resource$Regioninstancegroupmanagers$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + } + interface Params$Resource$Regioninstancegroupmanagers$Listmanagedinstances { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + order_by?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + } + interface Params$Resource$Regioninstancegroupmanagers$Recreateinstances { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RegionInstanceGroupManagersRecreateRequest; + } + interface Params$Resource$Regioninstancegroupmanagers$Resize { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Number of instances that should exist in this instance group manager. + */ + size?: number; + } + interface Params$Resource$Regioninstancegroupmanagers$Setinstancetemplate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RegionInstanceGroupManagersSetTemplateRequest; + } + interface Params$Resource$Regioninstancegroupmanagers$Settargetpools { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RegionInstanceGroupManagersSetTargetPoolsRequest; + } + class Resource$Regioninstancegroups { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.regionInstanceGroups.get + * @desc Returns the specified instance group resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the instance group resource to return. + * instanceGroup: 'my-instance-group', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * compute.regionInstanceGroups.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 compute.regionInstanceGroups.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroup Name of the instance group resource to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @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?: Params$Resource$Regioninstancegroups$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Regioninstancegroups$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Regioninstancegroups$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.regionInstanceGroups.list + * @desc Retrieves the list of instance group resources contained within the + * specified region. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // 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; + * compute.regionInstanceGroups.list(request, handlePage); + * } + * }; + * + * compute.regionInstanceGroups.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 compute.regionInstanceGroups.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @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?: Params$Resource$Regioninstancegroups$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Regioninstancegroups$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Regioninstancegroups$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.regionInstanceGroups.listInstances + * @desc Lists the instances in the specified instance group and displays + * information about the named ports. Depending on the specified options, + * this method can list all instances or only the instances that are + * running. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the regional instance group for which we want to list the + * instances. instanceGroup: 'my-instance-group', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * 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; + * compute.regionInstanceGroups.listInstances(request, handlePage); + * } + * }; + * + * compute.regionInstanceGroups.listInstances(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 compute.regionInstanceGroups.listInstances + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {string} params.instanceGroup Name of the regional instance group for which we want to list the instances. + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {().RegionInstanceGroupsListInstancesRequest} 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 + */ + listInstances(params?: Params$Resource$Regioninstancegroups$Listinstances, options?: MethodOptions): AxiosPromise; + listInstances(params: Params$Resource$Regioninstancegroups$Listinstances, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listInstances(params: Params$Resource$Regioninstancegroups$Listinstances, callback: BodyResponseCallback): void; + listInstances(callback: BodyResponseCallback): void; + /** + * compute.regionInstanceGroups.setNamedPorts + * @desc Sets the named ports for the specified regional instance group. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // The name of the regional instance group where the named ports are + * updated. instanceGroup: 'my-instance-group', // TODO: Update placeholder + * value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.regionInstanceGroups.setNamedPorts(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 compute.regionInstanceGroups.setNamedPorts + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceGroup The name of the regional instance group where the named ports are updated. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().RegionInstanceGroupsSetNamedPortsRequest} 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 + */ + setNamedPorts(params?: Params$Resource$Regioninstancegroups$Setnamedports, options?: MethodOptions): AxiosPromise; + setNamedPorts(params: Params$Resource$Regioninstancegroups$Setnamedports, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setNamedPorts(params: Params$Resource$Regioninstancegroups$Setnamedports, callback: BodyResponseCallback): void; + setNamedPorts(callback: BodyResponseCallback): void; + } + interface Params$Resource$Regioninstancegroups$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the instance group resource to return. + */ + instanceGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + } + interface Params$Resource$Regioninstancegroups$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + } + interface Params$Resource$Regioninstancegroups$Listinstances { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * Name of the regional instance group for which we want to list the + * instances. + */ + instanceGroup?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RegionInstanceGroupsListInstancesRequest; + } + interface Params$Resource$Regioninstancegroups$Setnamedports { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the regional instance group where the named ports are + * updated. + */ + instanceGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RegionInstanceGroupsSetNamedPortsRequest; + } + class Resource$Regionoperations { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.regionOperations.delete + * @desc Deletes the specified region-specific Operations resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the Operations resource to delete. + * operation: 'my-operation', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.regionOperations.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 compute.regionOperations.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.operation Name of the Operations resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @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?: Params$Resource$Regionoperations$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Regionoperations$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Regionoperations$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.regionOperations.get + * @desc Retrieves the specified region-specific Operations resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the Operations resource to return. + * operation: 'my-operation', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.regionOperations.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 compute.regionOperations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.operation Name of the Operations resource to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @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?: Params$Resource$Regionoperations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Regionoperations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Regionoperations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.regionOperations.list + * @desc Retrieves a list of Operation resources contained within the + * specified region. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // 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; + * compute.regionOperations.list(request, handlePage); + * } + * }; + * + * compute.regionOperations.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 compute.regionOperations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @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?: Params$Resource$Regionoperations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Regionoperations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Regionoperations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Regionoperations$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the Operations resource to delete. + */ + operation?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + } + interface Params$Resource$Regionoperations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the Operations resource to return. + */ + operation?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + } + interface Params$Resource$Regionoperations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + } + class Resource$Regions { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.regions.get + * @desc Returns the specified Region resource. Gets a list of available + * regions by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region resource to return. + * region: 'my-region', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.regions.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 compute.regions.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region resource to return. + * @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?: Params$Resource$Regions$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Regions$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Regions$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.regions.list + * @desc Retrieves the list of region resources available to the specified + * project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * compute.regions.list(request, handlePage); + * } + * }; + * + * compute.regions.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 compute.regions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Regions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Regions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Regions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Regions$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region resource to return. + */ + region?: string; + } + interface Params$Resource$Regions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + class Resource$Routers { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.routers.aggregatedList + * @desc Retrieves an aggregated list of routers. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * } + * Object.keys(itemsPage).forEach(function(name) { + * // TODO: Change code below to process each `name` property: + * console.log(name + ': ' + JSON.stringify(itemsPage[name], null, + * 2)); + * }); + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * compute.routers.aggregatedList(request, handlePage); + * } + * }; + * + * compute.routers.aggregatedList(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 compute.routers.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Routers$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Routers$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Routers$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.routers.delete + * @desc Deletes the specified Router resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the Router resource to delete. + * router: 'my-router', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.routers.delete(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 compute.routers.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.router Name of the Router resource to delete. + * @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?: Params$Resource$Routers$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Routers$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Routers$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.routers.get + * @desc Returns the specified Router resource. Gets a list of available + * routers by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the Router resource to return. + * router: 'my-router', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.routers.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 compute.routers.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string} params.router Name of the Router resource to return. + * @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?: Params$Resource$Routers$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Routers$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Routers$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.routers.getRouterStatus + * @desc Retrieves runtime information of the specified router. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the Router resource to query. + * router: 'my-router', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.routers.getRouterStatus(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 compute.routers.getRouterStatus + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string} params.router Name of the Router resource to query. + * @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 + */ + getRouterStatus(params?: Params$Resource$Routers$Getrouterstatus, options?: MethodOptions): AxiosPromise; + getRouterStatus(params: Params$Resource$Routers$Getrouterstatus, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getRouterStatus(params: Params$Resource$Routers$Getrouterstatus, callback: BodyResponseCallback): void; + getRouterStatus(callback: BodyResponseCallback): void; + /** + * compute.routers.insert + * @desc Creates a Router resource in the specified project and region using + * the data included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.routers.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 compute.routers.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Router} 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?: Params$Resource$Routers$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Routers$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Routers$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.routers.list + * @desc Retrieves a list of Router resources available to the specified + * project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // 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; + * compute.routers.list(request, handlePage); + * } + * }; + * + * compute.routers.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 compute.routers.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @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?: Params$Resource$Routers$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Routers$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Routers$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.routers.patch + * @desc Patches the specified Router resource with the data included in the + * request. This method supports PATCH semantics and uses JSON merge patch + * format and processing rules. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the Router resource to patch. + * router: 'my-router', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * compute.routers.patch(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 compute.routers.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.router Name of the Router resource to patch. + * @param {().Router} 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 + */ + patch(params?: Params$Resource$Routers$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Routers$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Routers$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * compute.routers.preview + * @desc Preview fields auto-generated during router create and update + * operations. Calling this method does NOT create or update the router. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the Router resource to query. + * router: 'my-router', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.routers.preview(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 compute.routers.preview + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string} params.router Name of the Router resource to query. + * @param {().Router} 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 + */ + preview(params?: Params$Resource$Routers$Preview, options?: MethodOptions): AxiosPromise; + preview(params: Params$Resource$Routers$Preview, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + preview(params: Params$Resource$Routers$Preview, callback: BodyResponseCallback): void; + preview(callback: BodyResponseCallback): void; + /** + * compute.routers.update + * @desc Updates the specified Router resource with the data included in the + * request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the Router resource to update. + * router: 'my-router', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * compute.routers.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 compute.routers.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.router Name of the Router resource to update. + * @param {().Router} 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?: Params$Resource$Routers$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Routers$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Routers$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Routers$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Routers$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the Router resource to delete. + */ + router?: string; + } + interface Params$Resource$Routers$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * Name of the Router resource to return. + */ + router?: string; + } + interface Params$Resource$Routers$Getrouterstatus { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * Name of the Router resource to query. + */ + router?: string; + } + interface Params$Resource$Routers$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Router; + } + interface Params$Resource$Routers$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + } + interface Params$Resource$Routers$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the Router resource to patch. + */ + router?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Router; + } + interface Params$Resource$Routers$Preview { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * Name of the Router resource to query. + */ + router?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Router; + } + interface Params$Resource$Routers$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the Router resource to update. + */ + router?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Router; + } + class Resource$Routes { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.routes.delete + * @desc Deletes the specified Route resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the Route resource to delete. + * route: 'my-route', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.routes.delete(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 compute.routes.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.route Name of the Route resource to delete. + * @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?: Params$Resource$Routes$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Routes$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Routes$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.routes.get + * @desc Returns the specified Route resource. Gets a list of available + * routes by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the Route resource to return. + * route: 'my-route', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.routes.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 compute.routes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.route Name of the Route resource to return. + * @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?: Params$Resource$Routes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Routes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Routes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.routes.insert + * @desc Creates a Route resource in the specified project using the data + * included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.routes.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 compute.routes.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Route} 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?: Params$Resource$Routes$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Routes$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Routes$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.routes.list + * @desc Retrieves the list of Route resources available to the specified + * project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * compute.routes.list(request, handlePage); + * } + * }; + * + * compute.routes.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 compute.routes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Routes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Routes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Routes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Routes$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the Route resource to delete. + */ + route?: string; + } + interface Params$Resource$Routes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the Route resource to return. + */ + route?: string; + } + interface Params$Resource$Routes$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Route; + } + interface Params$Resource$Routes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + class Resource$Securitypolicies { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.securityPolicies.addRule + * @desc Inserts a rule into a security policy. + * @alias compute.securityPolicies.addRule + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.securityPolicy Name of the security policy to update. + * @param {().SecurityPolicyRule} 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 + */ + addRule(params?: Params$Resource$Securitypolicies$Addrule, options?: MethodOptions): AxiosPromise; + addRule(params: Params$Resource$Securitypolicies$Addrule, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + addRule(params: Params$Resource$Securitypolicies$Addrule, callback: BodyResponseCallback): void; + addRule(callback: BodyResponseCallback): void; + /** + * compute.securityPolicies.delete + * @desc Deletes the specified policy. + * @alias compute.securityPolicies.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.securityPolicy Name of the security policy to delete. + * @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?: Params$Resource$Securitypolicies$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Securitypolicies$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Securitypolicies$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.securityPolicies.get + * @desc List all of the ordered rules present in a single specified policy. + * @alias compute.securityPolicies.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.securityPolicy Name of the security policy to get. + * @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?: Params$Resource$Securitypolicies$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Securitypolicies$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Securitypolicies$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.securityPolicies.getRule + * @desc Gets a rule at the specified priority. + * @alias compute.securityPolicies.getRule + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.priority The priority of the rule to get from the security policy. + * @param {string} params.project Project ID for this request. + * @param {string} params.securityPolicy Name of the security policy to which the queried rule belongs. + * @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 + */ + getRule(params?: Params$Resource$Securitypolicies$Getrule, options?: MethodOptions): AxiosPromise; + getRule(params: Params$Resource$Securitypolicies$Getrule, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getRule(params: Params$Resource$Securitypolicies$Getrule, callback: BodyResponseCallback): void; + getRule(callback: BodyResponseCallback): void; + /** + * compute.securityPolicies.insert + * @desc Creates a new policy in the specified project using the data + * included in the request. + * @alias compute.securityPolicies.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().SecurityPolicy} 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?: Params$Resource$Securitypolicies$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Securitypolicies$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Securitypolicies$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.securityPolicies.list + * @desc List all the policies that have been configured for the specified + * project. + * @alias compute.securityPolicies.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Securitypolicies$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Securitypolicies$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Securitypolicies$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.securityPolicies.patch + * @desc Patches the specified policy with the data included in the request. + * @alias compute.securityPolicies.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.securityPolicy Name of the security policy to update. + * @param {().SecurityPolicy} 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 + */ + patch(params?: Params$Resource$Securitypolicies$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Securitypolicies$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Securitypolicies$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * compute.securityPolicies.patchRule + * @desc Patches a rule at the specified priority. + * @alias compute.securityPolicies.patchRule + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.priority The priority of the rule to patch. + * @param {string} params.project Project ID for this request. + * @param {string} params.securityPolicy Name of the security policy to update. + * @param {().SecurityPolicyRule} 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 + */ + patchRule(params?: Params$Resource$Securitypolicies$Patchrule, options?: MethodOptions): AxiosPromise; + patchRule(params: Params$Resource$Securitypolicies$Patchrule, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patchRule(params: Params$Resource$Securitypolicies$Patchrule, callback: BodyResponseCallback): void; + patchRule(callback: BodyResponseCallback): void; + /** + * compute.securityPolicies.removeRule + * @desc Deletes a rule at the specified priority. + * @alias compute.securityPolicies.removeRule + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.priority The priority of the rule to remove from the security policy. + * @param {string} params.project Project ID for this request. + * @param {string} params.securityPolicy Name of the security policy to update. + * @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 + */ + removeRule(params?: Params$Resource$Securitypolicies$Removerule, options?: MethodOptions): AxiosPromise; + removeRule(params: Params$Resource$Securitypolicies$Removerule, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + removeRule(params: Params$Resource$Securitypolicies$Removerule, callback: BodyResponseCallback): void; + removeRule(callback: BodyResponseCallback): void; + } + interface Params$Resource$Securitypolicies$Addrule { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the security policy to update. + */ + securityPolicy?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SecurityPolicyRule; + } + interface Params$Resource$Securitypolicies$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the security policy to delete. + */ + securityPolicy?: string; + } + interface Params$Resource$Securitypolicies$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the security policy to get. + */ + securityPolicy?: string; + } + interface Params$Resource$Securitypolicies$Getrule { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The priority of the rule to get from the security policy. + */ + priority?: number; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the security policy to which the queried rule belongs. + */ + securityPolicy?: string; + } + interface Params$Resource$Securitypolicies$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SecurityPolicy; + } + interface Params$Resource$Securitypolicies$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Securitypolicies$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the security policy to update. + */ + securityPolicy?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SecurityPolicy; + } + interface Params$Resource$Securitypolicies$Patchrule { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The priority of the rule to patch. + */ + priority?: number; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the security policy to update. + */ + securityPolicy?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SecurityPolicyRule; + } + interface Params$Resource$Securitypolicies$Removerule { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The priority of the rule to remove from the security policy. + */ + priority?: number; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the security policy to update. + */ + securityPolicy?: string; + } + class Resource$Snapshots { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.snapshots.delete + * @desc Deletes the specified Snapshot resource. Keep in mind that deleting + * a single snapshot might not necessarily delete all the data on that + * snapshot. If any data on the snapshot that is marked for deletion is + * needed for subsequent snapshots, the data will be moved to the next + * corresponding snapshot. For more information, see Deleting snaphots. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the Snapshot resource to delete. + * snapshot: 'my-snapshot', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.snapshots.delete(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 compute.snapshots.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.snapshot Name of the Snapshot resource to delete. + * @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?: Params$Resource$Snapshots$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Snapshots$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Snapshots$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.snapshots.get + * @desc Returns the specified Snapshot resource. Gets a list of available + * snapshots by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the Snapshot resource to return. + * snapshot: 'my-snapshot', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.snapshots.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 compute.snapshots.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.snapshot Name of the Snapshot resource to return. + * @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?: Params$Resource$Snapshots$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Snapshots$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Snapshots$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.snapshots.list + * @desc Retrieves the list of Snapshot resources contained within the + * specified project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * compute.snapshots.list(request, handlePage); + * } + * }; + * + * compute.snapshots.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 compute.snapshots.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Snapshots$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Snapshots$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Snapshots$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.snapshots.setLabels + * @desc Sets the labels on a snapshot. To learn more about labels, read the + * Labeling Resources documentation. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the resource for this request. + * resource_: 'my-resource', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.snapshots.setLabels(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 compute.snapshots.setLabels + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().GlobalSetLabelsRequest} 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 + */ + setLabels(params?: Params$Resource$Snapshots$Setlabels, options?: MethodOptions): AxiosPromise; + setLabels(params: Params$Resource$Snapshots$Setlabels, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setLabels(params: Params$Resource$Snapshots$Setlabels, callback: BodyResponseCallback): void; + setLabels(callback: BodyResponseCallback): void; + } + interface Params$Resource$Snapshots$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the Snapshot resource to delete. + */ + snapshot?: string; + } + interface Params$Resource$Snapshots$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the Snapshot resource to return. + */ + snapshot?: string; + } + interface Params$Resource$Snapshots$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Snapshots$Setlabels { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GlobalSetLabelsRequest; + } + class Resource$Sslcertificates { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.sslCertificates.delete + * @desc Deletes the specified SslCertificate resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the SslCertificate resource to delete. + * sslCertificate: 'my-ssl-certificate', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * compute.sslCertificates.delete(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 compute.sslCertificates.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.sslCertificate Name of the SslCertificate resource to delete. + * @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?: Params$Resource$Sslcertificates$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Sslcertificates$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Sslcertificates$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.sslCertificates.get + * @desc Returns the specified SslCertificate resource. Gets a list of + * available SSL certificates by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the SslCertificate resource to return. + * sslCertificate: 'my-ssl-certificate', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * compute.sslCertificates.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 compute.sslCertificates.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.sslCertificate Name of the SslCertificate resource to return. + * @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?: Params$Resource$Sslcertificates$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Sslcertificates$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Sslcertificates$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.sslCertificates.insert + * @desc Creates a SslCertificate resource in the specified project using + * the data included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.sslCertificates.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 compute.sslCertificates.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().SslCertificate} 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?: Params$Resource$Sslcertificates$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Sslcertificates$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Sslcertificates$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.sslCertificates.list + * @desc Retrieves the list of SslCertificate resources available to the + * specified project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * compute.sslCertificates.list(request, handlePage); + * } + * }; + * + * compute.sslCertificates.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 compute.sslCertificates.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Sslcertificates$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Sslcertificates$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Sslcertificates$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Sslcertificates$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the SslCertificate resource to delete. + */ + sslCertificate?: string; + } + interface Params$Resource$Sslcertificates$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the SslCertificate resource to return. + */ + sslCertificate?: string; + } + interface Params$Resource$Sslcertificates$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SslCertificate; + } + interface Params$Resource$Sslcertificates$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + class Resource$Sslpolicies { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.sslPolicies.delete + * @desc Deletes the specified SSL policy. The SSL policy resource can be + * deleted only if it is not in use by any TargetHttpsProxy or + * TargetSslProxy resources. + * @alias compute.sslPolicies.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.sslPolicy Name of the SSL policy to delete. The name must be 1-63 characters long, and comply with RFC1035. + * @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?: Params$Resource$Sslpolicies$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Sslpolicies$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Sslpolicies$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.sslPolicies.get + * @desc Lists all of the ordered rules present in a single specified + * policy. + * @alias compute.sslPolicies.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.sslPolicy Name of the SSL policy to update. The name must be 1-63 characters long, and comply with RFC1035. + * @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?: Params$Resource$Sslpolicies$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Sslpolicies$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Sslpolicies$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.sslPolicies.insert + * @desc Returns the specified SSL policy resource. Gets a list of available + * SSL policies by making a list() request. + * @alias compute.sslPolicies.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().SslPolicy} 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?: Params$Resource$Sslpolicies$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Sslpolicies$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Sslpolicies$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.sslPolicies.list + * @desc Lists all the SSL policies that have been configured for the + * specified project. + * @alias compute.sslPolicies.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Sslpolicies$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Sslpolicies$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Sslpolicies$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.sslPolicies.listAvailableFeatures + * @desc Lists all features that can be specified in the SSL policy when + * using custom profile. + * @alias compute.sslPolicies.listAvailableFeatures + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + listAvailableFeatures(params?: Params$Resource$Sslpolicies$Listavailablefeatures, options?: MethodOptions): AxiosPromise; + listAvailableFeatures(params: Params$Resource$Sslpolicies$Listavailablefeatures, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listAvailableFeatures(params: Params$Resource$Sslpolicies$Listavailablefeatures, callback: BodyResponseCallback): void; + listAvailableFeatures(callback: BodyResponseCallback): void; + /** + * compute.sslPolicies.patch + * @desc Patches the specified SSL policy with the data included in the + * request. + * @alias compute.sslPolicies.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.sslPolicy Name of the SSL policy to update. The name must be 1-63 characters long, and comply with RFC1035. + * @param {().SslPolicy} 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 + */ + patch(params?: Params$Resource$Sslpolicies$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Sslpolicies$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Sslpolicies$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Sslpolicies$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the SSL policy to delete. The name must be 1-63 characters long, + * and comply with RFC1035. + */ + sslPolicy?: string; + } + interface Params$Resource$Sslpolicies$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the SSL policy to update. The name must be 1-63 characters long, + * and comply with RFC1035. + */ + sslPolicy?: string; + } + interface Params$Resource$Sslpolicies$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SslPolicy; + } + interface Params$Resource$Sslpolicies$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Sslpolicies$Listavailablefeatures { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Sslpolicies$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the SSL policy to update. The name must be 1-63 characters long, + * and comply with RFC1035. + */ + sslPolicy?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SslPolicy; + } + class Resource$Subnetworks { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.subnetworks.aggregatedList + * @desc Retrieves an aggregated list of subnetworks. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * } + * Object.keys(itemsPage).forEach(function(name) { + * // TODO: Change code below to process each `name` property: + * console.log(name + ': ' + JSON.stringify(itemsPage[name], null, + * 2)); + * }); + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * compute.subnetworks.aggregatedList(request, handlePage); + * } + * }; + * + * compute.subnetworks.aggregatedList(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 compute.subnetworks.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Subnetworks$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Subnetworks$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Subnetworks$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.subnetworks.delete + * @desc Deletes the specified subnetwork. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the Subnetwork resource to delete. + * subnetwork: 'my-subnetwork', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.subnetworks.delete(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 compute.subnetworks.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.subnetwork Name of the Subnetwork resource to delete. + * @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?: Params$Resource$Subnetworks$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Subnetworks$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Subnetworks$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.subnetworks.expandIpCidrRange + * @desc Expands the IP CIDR range of the subnetwork to a specified value. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the Subnetwork resource to update. + * subnetwork: 'my-subnetwork', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.subnetworks.expandIpCidrRange(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 compute.subnetworks.expandIpCidrRange + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.subnetwork Name of the Subnetwork resource to update. + * @param {().SubnetworksExpandIpCidrRangeRequest} 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 + */ + expandIpCidrRange(params?: Params$Resource$Subnetworks$Expandipcidrrange, options?: MethodOptions): AxiosPromise; + expandIpCidrRange(params: Params$Resource$Subnetworks$Expandipcidrrange, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + expandIpCidrRange(params: Params$Resource$Subnetworks$Expandipcidrrange, callback: BodyResponseCallback): void; + expandIpCidrRange(callback: BodyResponseCallback): void; + /** + * compute.subnetworks.get + * @desc Returns the specified subnetwork. Gets a list of available + * subnetworks list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the Subnetwork resource to return. + * subnetwork: 'my-subnetwork', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.subnetworks.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 compute.subnetworks.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string} params.subnetwork Name of the Subnetwork resource to return. + * @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?: Params$Resource$Subnetworks$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Subnetworks$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Subnetworks$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.subnetworks.insert + * @desc Creates a subnetwork in the specified project using the data + * included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.subnetworks.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 compute.subnetworks.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().Subnetwork} 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?: Params$Resource$Subnetworks$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Subnetworks$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Subnetworks$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.subnetworks.list + * @desc Retrieves a list of subnetworks available to the specified project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // 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; + * compute.subnetworks.list(request, handlePage); + * } + * }; + * + * compute.subnetworks.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 compute.subnetworks.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @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?: Params$Resource$Subnetworks$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Subnetworks$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Subnetworks$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.subnetworks.listUsable + * @desc Retrieves an aggregated list of usable subnetworks. + * @alias compute.subnetworks.listUsable + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + listUsable(params?: Params$Resource$Subnetworks$Listusable, options?: MethodOptions): AxiosPromise; + listUsable(params: Params$Resource$Subnetworks$Listusable, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listUsable(params: Params$Resource$Subnetworks$Listusable, callback: BodyResponseCallback): void; + listUsable(callback: BodyResponseCallback): void; + /** + * compute.subnetworks.patch + * @desc Patches the specified subnetwork with the data included in the + * request. Only the following fields within the subnetwork resource can be + * specified in the request: secondary_ip_range, + * allow_subnet_cidr_routes_overlap and role. It is also mandatory to + * specify the current fingeprint of the subnetwork resource being patched. + * @alias compute.subnetworks.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.subnetwork Name of the Subnetwork resource to patch. + * @param {().Subnetwork} 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 + */ + patch(params?: Params$Resource$Subnetworks$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Subnetworks$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Subnetworks$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * compute.subnetworks.setPrivateIpGoogleAccess + * @desc Set whether VMs in this subnet can access Google services without + * assigning external IP addresses through Private Google Access. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the Subnetwork resource. + * subnetwork: 'my-subnetwork', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.subnetworks.setPrivateIpGoogleAccess(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 compute.subnetworks.setPrivateIpGoogleAccess + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.subnetwork Name of the Subnetwork resource. + * @param {().SubnetworksSetPrivateIpGoogleAccessRequest} 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 + */ + setPrivateIpGoogleAccess(params?: Params$Resource$Subnetworks$Setprivateipgoogleaccess, options?: MethodOptions): AxiosPromise; + setPrivateIpGoogleAccess(params: Params$Resource$Subnetworks$Setprivateipgoogleaccess, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setPrivateIpGoogleAccess(params: Params$Resource$Subnetworks$Setprivateipgoogleaccess, callback: BodyResponseCallback): void; + setPrivateIpGoogleAccess(callback: BodyResponseCallback): void; + } + interface Params$Resource$Subnetworks$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Subnetworks$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the Subnetwork resource to delete. + */ + subnetwork?: string; + } + interface Params$Resource$Subnetworks$Expandipcidrrange { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the Subnetwork resource to update. + */ + subnetwork?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SubnetworksExpandIpCidrRangeRequest; + } + interface Params$Resource$Subnetworks$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * Name of the Subnetwork resource to return. + */ + subnetwork?: string; + } + interface Params$Resource$Subnetworks$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Subnetwork; + } + interface Params$Resource$Subnetworks$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + } + interface Params$Resource$Subnetworks$Listusable { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Subnetworks$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the Subnetwork resource to patch. + */ + subnetwork?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Subnetwork; + } + interface Params$Resource$Subnetworks$Setprivateipgoogleaccess { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the Subnetwork resource. + */ + subnetwork?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SubnetworksSetPrivateIpGoogleAccessRequest; + } + class Resource$Targethttpproxies { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.targetHttpProxies.delete + * @desc Deletes the specified TargetHttpProxy resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the TargetHttpProxy resource to delete. + * targetHttpProxy: 'my-target-http-proxy', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * compute.targetHttpProxies.delete(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 compute.targetHttpProxies.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetHttpProxy Name of the TargetHttpProxy resource to delete. + * @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?: Params$Resource$Targethttpproxies$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Targethttpproxies$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Targethttpproxies$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.targetHttpProxies.get + * @desc Returns the specified TargetHttpProxy resource. Gets a list of + * available target HTTP proxies by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the TargetHttpProxy resource to return. + * targetHttpProxy: 'my-target-http-proxy', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * compute.targetHttpProxies.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 compute.targetHttpProxies.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.targetHttpProxy Name of the TargetHttpProxy resource to return. + * @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?: Params$Resource$Targethttpproxies$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Targethttpproxies$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Targethttpproxies$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.targetHttpProxies.insert + * @desc Creates a TargetHttpProxy resource in the specified project using + * the data included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.targetHttpProxies.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 compute.targetHttpProxies.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().TargetHttpProxy} 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?: Params$Resource$Targethttpproxies$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Targethttpproxies$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Targethttpproxies$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.targetHttpProxies.list + * @desc Retrieves the list of TargetHttpProxy resources available to the + * specified project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * compute.targetHttpProxies.list(request, handlePage); + * } + * }; + * + * compute.targetHttpProxies.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 compute.targetHttpProxies.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Targethttpproxies$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Targethttpproxies$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Targethttpproxies$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.targetHttpProxies.setUrlMap + * @desc Changes the URL map for TargetHttpProxy. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the TargetHttpProxy to set a URL map for. + * targetHttpProxy: 'my-target-http-proxy', // TODO: Update placeholder + * value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.targetHttpProxies.setUrlMap(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 compute.targetHttpProxies.setUrlMap + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetHttpProxy Name of the TargetHttpProxy to set a URL map for. + * @param {().UrlMapReference} 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 + */ + setUrlMap(params?: Params$Resource$Targethttpproxies$Seturlmap, options?: MethodOptions): AxiosPromise; + setUrlMap(params: Params$Resource$Targethttpproxies$Seturlmap, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setUrlMap(params: Params$Resource$Targethttpproxies$Seturlmap, callback: BodyResponseCallback): void; + setUrlMap(callback: BodyResponseCallback): void; + } + interface Params$Resource$Targethttpproxies$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetHttpProxy resource to delete. + */ + targetHttpProxy?: string; + } + interface Params$Resource$Targethttpproxies$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the TargetHttpProxy resource to return. + */ + targetHttpProxy?: string; + } + interface Params$Resource$Targethttpproxies$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetHttpProxy; + } + interface Params$Resource$Targethttpproxies$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Targethttpproxies$Seturlmap { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetHttpProxy to set a URL map for. + */ + targetHttpProxy?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UrlMapReference; + } + class Resource$Targethttpsproxies { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.targetHttpsProxies.delete + * @desc Deletes the specified TargetHttpsProxy resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the TargetHttpsProxy resource to delete. + * targetHttpsProxy: 'my-target-https-proxy', // TODO: Update + * placeholder value. + * + * auth: authClient, + * }; + * + * compute.targetHttpsProxies.delete(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 compute.targetHttpsProxies.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetHttpsProxy Name of the TargetHttpsProxy resource to delete. + * @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?: Params$Resource$Targethttpsproxies$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Targethttpsproxies$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Targethttpsproxies$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.targetHttpsProxies.get + * @desc Returns the specified TargetHttpsProxy resource. Gets a list of + * available target HTTPS proxies by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the TargetHttpsProxy resource to return. + * targetHttpsProxy: 'my-target-https-proxy', // TODO: Update + * placeholder value. + * + * auth: authClient, + * }; + * + * compute.targetHttpsProxies.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 compute.targetHttpsProxies.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.targetHttpsProxy Name of the TargetHttpsProxy resource to return. + * @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?: Params$Resource$Targethttpsproxies$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Targethttpsproxies$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Targethttpsproxies$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.targetHttpsProxies.insert + * @desc Creates a TargetHttpsProxy resource in the specified project using + * the data included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.targetHttpsProxies.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 compute.targetHttpsProxies.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().TargetHttpsProxy} 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?: Params$Resource$Targethttpsproxies$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Targethttpsproxies$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Targethttpsproxies$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.targetHttpsProxies.list + * @desc Retrieves the list of TargetHttpsProxy resources available to the + * specified project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * compute.targetHttpsProxies.list(request, handlePage); + * } + * }; + * + * compute.targetHttpsProxies.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 compute.targetHttpsProxies.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Targethttpsproxies$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Targethttpsproxies$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Targethttpsproxies$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.targetHttpsProxies.setQuicOverride + * @desc Sets the QUIC override policy for TargetHttpsProxy. + * @alias compute.targetHttpsProxies.setQuicOverride + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetHttpsProxy Name of the TargetHttpsProxy resource to set the QUIC override policy for. The name should conform to RFC1035. + * @param {().TargetHttpsProxiesSetQuicOverrideRequest} 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 + */ + setQuicOverride(params?: Params$Resource$Targethttpsproxies$Setquicoverride, options?: MethodOptions): AxiosPromise; + setQuicOverride(params: Params$Resource$Targethttpsproxies$Setquicoverride, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setQuicOverride(params: Params$Resource$Targethttpsproxies$Setquicoverride, callback: BodyResponseCallback): void; + setQuicOverride(callback: BodyResponseCallback): void; + /** + * compute.targetHttpsProxies.setSslCertificates + * @desc Replaces SslCertificates for TargetHttpsProxy. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the TargetHttpsProxy resource to set an SslCertificates + * resource for. targetHttpsProxy: 'my-target-https-proxy', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.targetHttpsProxies.setSslCertificates(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 compute.targetHttpsProxies.setSslCertificates + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetHttpsProxy Name of the TargetHttpsProxy resource to set an SslCertificates resource for. + * @param {().TargetHttpsProxiesSetSslCertificatesRequest} 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 + */ + setSslCertificates(params?: Params$Resource$Targethttpsproxies$Setsslcertificates, options?: MethodOptions): AxiosPromise; + setSslCertificates(params: Params$Resource$Targethttpsproxies$Setsslcertificates, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setSslCertificates(params: Params$Resource$Targethttpsproxies$Setsslcertificates, callback: BodyResponseCallback): void; + setSslCertificates(callback: BodyResponseCallback): void; + /** + * compute.targetHttpsProxies.setSslPolicy + * @desc Sets the SSL policy for TargetHttpsProxy. The SSL policy specifies + * the server-side support for SSL features. This affects connections + * between clients and the HTTPS proxy load balancer. They do not affect the + * connection between the load balancer and the backends. + * @alias compute.targetHttpsProxies.setSslPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetHttpsProxy Name of the TargetHttpsProxy resource whose SSL policy is to be set. The name must be 1-63 characters long, and comply with RFC1035. + * @param {().SslPolicyReference} 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 + */ + setSslPolicy(params?: Params$Resource$Targethttpsproxies$Setsslpolicy, options?: MethodOptions): AxiosPromise; + setSslPolicy(params: Params$Resource$Targethttpsproxies$Setsslpolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setSslPolicy(params: Params$Resource$Targethttpsproxies$Setsslpolicy, callback: BodyResponseCallback): void; + setSslPolicy(callback: BodyResponseCallback): void; + /** + * compute.targetHttpsProxies.setUrlMap + * @desc Changes the URL map for TargetHttpsProxy. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the TargetHttpsProxy resource whose URL map is to be set. + * targetHttpsProxy: 'my-target-https-proxy', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.targetHttpsProxies.setUrlMap(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 compute.targetHttpsProxies.setUrlMap + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetHttpsProxy Name of the TargetHttpsProxy resource whose URL map is to be set. + * @param {().UrlMapReference} 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 + */ + setUrlMap(params?: Params$Resource$Targethttpsproxies$Seturlmap, options?: MethodOptions): AxiosPromise; + setUrlMap(params: Params$Resource$Targethttpsproxies$Seturlmap, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setUrlMap(params: Params$Resource$Targethttpsproxies$Seturlmap, callback: BodyResponseCallback): void; + setUrlMap(callback: BodyResponseCallback): void; + } + interface Params$Resource$Targethttpsproxies$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetHttpsProxy resource to delete. + */ + targetHttpsProxy?: string; + } + interface Params$Resource$Targethttpsproxies$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the TargetHttpsProxy resource to return. + */ + targetHttpsProxy?: string; + } + interface Params$Resource$Targethttpsproxies$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetHttpsProxy; + } + interface Params$Resource$Targethttpsproxies$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Targethttpsproxies$Setquicoverride { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetHttpsProxy resource to set the QUIC override policy + * for. The name should conform to RFC1035. + */ + targetHttpsProxy?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetHttpsProxiesSetQuicOverrideRequest; + } + interface Params$Resource$Targethttpsproxies$Setsslcertificates { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetHttpsProxy resource to set an SslCertificates resource + * for. + */ + targetHttpsProxy?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetHttpsProxiesSetSslCertificatesRequest; + } + interface Params$Resource$Targethttpsproxies$Setsslpolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetHttpsProxy resource whose SSL policy is to be set. The + * name must be 1-63 characters long, and comply with RFC1035. + */ + targetHttpsProxy?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SslPolicyReference; + } + interface Params$Resource$Targethttpsproxies$Seturlmap { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetHttpsProxy resource whose URL map is to be set. + */ + targetHttpsProxy?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UrlMapReference; + } + class Resource$Targetinstances { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.targetInstances.aggregatedList + * @desc Retrieves an aggregated list of target instances. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * } + * Object.keys(itemsPage).forEach(function(name) { + * // TODO: Change code below to process each `name` property: + * console.log(name + ': ' + JSON.stringify(itemsPage[name], null, + * 2)); + * }); + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * compute.targetInstances.aggregatedList(request, handlePage); + * } + * }; + * + * compute.targetInstances.aggregatedList(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 compute.targetInstances.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Targetinstances$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Targetinstances$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Targetinstances$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.targetInstances.delete + * @desc Deletes the specified TargetInstance resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the zone scoping this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the TargetInstance resource to delete. + * targetInstance: 'my-target-instance', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * compute.targetInstances.delete(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 compute.targetInstances.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetInstance Name of the TargetInstance resource to delete. + * @param {string} params.zone Name of the zone scoping this request. + * @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?: Params$Resource$Targetinstances$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Targetinstances$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Targetinstances$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.targetInstances.get + * @desc Returns the specified TargetInstance resource. Gets a list of + * available target instances by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the zone scoping this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the TargetInstance resource to return. + * targetInstance: 'my-target-instance', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * compute.targetInstances.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 compute.targetInstances.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.targetInstance Name of the TargetInstance resource to return. + * @param {string} params.zone Name of the zone scoping this request. + * @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?: Params$Resource$Targetinstances$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Targetinstances$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Targetinstances$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.targetInstances.insert + * @desc Creates a TargetInstance resource in the specified project and zone + * using the data included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the zone scoping this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.targetInstances.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 compute.targetInstances.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone Name of the zone scoping this request. + * @param {().TargetInstance} 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?: Params$Resource$Targetinstances$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Targetinstances$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Targetinstances$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.targetInstances.list + * @desc Retrieves a list of TargetInstance resources available to the + * specified project and zone. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the zone scoping this request. + * zone: 'my-zone', // 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; + * compute.targetInstances.list(request, handlePage); + * } + * }; + * + * compute.targetInstances.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 compute.targetInstances.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone Name of the zone scoping this request. + * @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?: Params$Resource$Targetinstances$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Targetinstances$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Targetinstances$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Targetinstances$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Targetinstances$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetInstance resource to delete. + */ + targetInstance?: string; + /** + * Name of the zone scoping this request. + */ + zone?: string; + } + interface Params$Resource$Targetinstances$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the TargetInstance resource to return. + */ + targetInstance?: string; + /** + * Name of the zone scoping this request. + */ + zone?: string; + } + interface Params$Resource$Targetinstances$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the zone scoping this request. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetInstance; + } + interface Params$Resource$Targetinstances$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the zone scoping this request. + */ + zone?: string; + } + class Resource$Targetpools { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.targetPools.addHealthCheck + * @desc Adds health check URLs to a target pool. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the target pool to add a health check to. + * targetPool: 'my-target-pool', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.targetPools.addHealthCheck(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 compute.targetPools.addHealthCheck + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetPool Name of the target pool to add a health check to. + * @param {().TargetPoolsAddHealthCheckRequest} 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 + */ + addHealthCheck(params?: Params$Resource$Targetpools$Addhealthcheck, options?: MethodOptions): AxiosPromise; + addHealthCheck(params: Params$Resource$Targetpools$Addhealthcheck, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + addHealthCheck(params: Params$Resource$Targetpools$Addhealthcheck, callback: BodyResponseCallback): void; + addHealthCheck(callback: BodyResponseCallback): void; + /** + * compute.targetPools.addInstance + * @desc Adds an instance to a target pool. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the TargetPool resource to add instances to. + * targetPool: 'my-target-pool', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.targetPools.addInstance(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 compute.targetPools.addInstance + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetPool Name of the TargetPool resource to add instances to. + * @param {().TargetPoolsAddInstanceRequest} 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 + */ + addInstance(params?: Params$Resource$Targetpools$Addinstance, options?: MethodOptions): AxiosPromise; + addInstance(params: Params$Resource$Targetpools$Addinstance, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + addInstance(params: Params$Resource$Targetpools$Addinstance, callback: BodyResponseCallback): void; + addInstance(callback: BodyResponseCallback): void; + /** + * compute.targetPools.aggregatedList + * @desc Retrieves an aggregated list of target pools. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * } + * Object.keys(itemsPage).forEach(function(name) { + * // TODO: Change code below to process each `name` property: + * console.log(name + ': ' + JSON.stringify(itemsPage[name], null, + * 2)); + * }); + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * compute.targetPools.aggregatedList(request, handlePage); + * } + * }; + * + * compute.targetPools.aggregatedList(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 compute.targetPools.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Targetpools$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Targetpools$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Targetpools$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.targetPools.delete + * @desc Deletes the specified target pool. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the TargetPool resource to delete. + * targetPool: 'my-target-pool', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.targetPools.delete(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 compute.targetPools.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetPool Name of the TargetPool resource to delete. + * @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?: Params$Resource$Targetpools$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Targetpools$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Targetpools$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.targetPools.get + * @desc Returns the specified target pool. Gets a list of available target + * pools by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the TargetPool resource to return. + * targetPool: 'my-target-pool', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.targetPools.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 compute.targetPools.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string} params.targetPool Name of the TargetPool resource to return. + * @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?: Params$Resource$Targetpools$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Targetpools$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Targetpools$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.targetPools.getHealth + * @desc Gets the most recent health check results for each IP for the + * instance that is referenced by the given target pool. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the TargetPool resource to which the queried instance + * belongs. targetPool: 'my-target-pool', // TODO: Update placeholder + * value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.targetPools.getHealth(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 compute.targetPools.getHealth + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string} params.targetPool Name of the TargetPool resource to which the queried instance belongs. + * @param {().InstanceReference} 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 + */ + getHealth(params?: Params$Resource$Targetpools$Gethealth, options?: MethodOptions): AxiosPromise; + getHealth(params: Params$Resource$Targetpools$Gethealth, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getHealth(params: Params$Resource$Targetpools$Gethealth, callback: BodyResponseCallback): void; + getHealth(callback: BodyResponseCallback): void; + /** + * compute.targetPools.insert + * @desc Creates a target pool in the specified project and region using the + * data included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.targetPools.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 compute.targetPools.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().TargetPool} 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?: Params$Resource$Targetpools$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Targetpools$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Targetpools$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.targetPools.list + * @desc Retrieves a list of target pools available to the specified project + * and region. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // 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; + * compute.targetPools.list(request, handlePage); + * } + * }; + * + * compute.targetPools.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 compute.targetPools.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @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?: Params$Resource$Targetpools$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Targetpools$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Targetpools$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.targetPools.removeHealthCheck + * @desc Removes health check URL from a target pool. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the target pool to remove health checks from. + * targetPool: 'my-target-pool', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.targetPools.removeHealthCheck(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 compute.targetPools.removeHealthCheck + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetPool Name of the target pool to remove health checks from. + * @param {().TargetPoolsRemoveHealthCheckRequest} 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 + */ + removeHealthCheck(params?: Params$Resource$Targetpools$Removehealthcheck, options?: MethodOptions): AxiosPromise; + removeHealthCheck(params: Params$Resource$Targetpools$Removehealthcheck, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + removeHealthCheck(params: Params$Resource$Targetpools$Removehealthcheck, callback: BodyResponseCallback): void; + removeHealthCheck(callback: BodyResponseCallback): void; + /** + * compute.targetPools.removeInstance + * @desc Removes instance URL from a target pool. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the TargetPool resource to remove instances from. + * targetPool: 'my-target-pool', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.targetPools.removeInstance(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 compute.targetPools.removeInstance + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetPool Name of the TargetPool resource to remove instances from. + * @param {().TargetPoolsRemoveInstanceRequest} 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 + */ + removeInstance(params?: Params$Resource$Targetpools$Removeinstance, options?: MethodOptions): AxiosPromise; + removeInstance(params: Params$Resource$Targetpools$Removeinstance, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + removeInstance(params: Params$Resource$Targetpools$Removeinstance, callback: BodyResponseCallback): void; + removeInstance(callback: BodyResponseCallback): void; + /** + * compute.targetPools.setBackup + * @desc Changes a backup target pool's configurations. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region scoping this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the TargetPool resource to set a backup pool for. + * targetPool: 'my-target-pool', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.targetPools.setBackup(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 compute.targetPools.setBackup + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {number=} params.failoverRatio New failoverRatio value for the target pool. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetPool Name of the TargetPool resource to set a backup pool for. + * @param {().TargetReference} 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 + */ + setBackup(params?: Params$Resource$Targetpools$Setbackup, options?: MethodOptions): AxiosPromise; + setBackup(params: Params$Resource$Targetpools$Setbackup, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setBackup(params: Params$Resource$Targetpools$Setbackup, callback: BodyResponseCallback): void; + setBackup(callback: BodyResponseCallback): void; + } + interface Params$Resource$Targetpools$Addhealthcheck { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the target pool to add a health check to. + */ + targetPool?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetPoolsAddHealthCheckRequest; + } + interface Params$Resource$Targetpools$Addinstance { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetPool resource to add instances to. + */ + targetPool?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetPoolsAddInstanceRequest; + } + interface Params$Resource$Targetpools$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Targetpools$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetPool resource to delete. + */ + targetPool?: string; + } + interface Params$Resource$Targetpools$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * Name of the TargetPool resource to return. + */ + targetPool?: string; + } + interface Params$Resource$Targetpools$Gethealth { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * Name of the TargetPool resource to which the queried instance belongs. + */ + targetPool?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstanceReference; + } + interface Params$Resource$Targetpools$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetPool; + } + interface Params$Resource$Targetpools$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + } + interface Params$Resource$Targetpools$Removehealthcheck { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the target pool to remove health checks from. + */ + targetPool?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetPoolsRemoveHealthCheckRequest; + } + interface Params$Resource$Targetpools$Removeinstance { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetPool resource to remove instances from. + */ + targetPool?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetPoolsRemoveInstanceRequest; + } + interface Params$Resource$Targetpools$Setbackup { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * New failoverRatio value for the target pool. + */ + failoverRatio?: number; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetPool resource to set a backup pool for. + */ + targetPool?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetReference; + } + class Resource$Targetsslproxies { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.targetSslProxies.delete + * @desc Deletes the specified TargetSslProxy resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the TargetSslProxy resource to delete. + * targetSslProxy: 'my-target-ssl-proxy', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * compute.targetSslProxies.delete(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 compute.targetSslProxies.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetSslProxy Name of the TargetSslProxy resource to delete. + * @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?: Params$Resource$Targetsslproxies$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Targetsslproxies$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Targetsslproxies$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.targetSslProxies.get + * @desc Returns the specified TargetSslProxy resource. Gets a list of + * available target SSL proxies by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the TargetSslProxy resource to return. + * targetSslProxy: 'my-target-ssl-proxy', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * compute.targetSslProxies.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 compute.targetSslProxies.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.targetSslProxy Name of the TargetSslProxy resource to return. + * @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?: Params$Resource$Targetsslproxies$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Targetsslproxies$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Targetsslproxies$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.targetSslProxies.insert + * @desc Creates a TargetSslProxy resource in the specified project using + * the data included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.targetSslProxies.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 compute.targetSslProxies.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().TargetSslProxy} 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?: Params$Resource$Targetsslproxies$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Targetsslproxies$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Targetsslproxies$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.targetSslProxies.list + * @desc Retrieves the list of TargetSslProxy resources available to the + * specified project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * compute.targetSslProxies.list(request, handlePage); + * } + * }; + * + * compute.targetSslProxies.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 compute.targetSslProxies.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Targetsslproxies$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Targetsslproxies$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Targetsslproxies$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.targetSslProxies.setBackendService + * @desc Changes the BackendService for TargetSslProxy. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the TargetSslProxy resource whose BackendService resource + * is to be set. targetSslProxy: 'my-target-ssl-proxy', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.targetSslProxies.setBackendService(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 compute.targetSslProxies.setBackendService + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetSslProxy Name of the TargetSslProxy resource whose BackendService resource is to be set. + * @param {().TargetSslProxiesSetBackendServiceRequest} 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 + */ + setBackendService(params?: Params$Resource$Targetsslproxies$Setbackendservice, options?: MethodOptions): AxiosPromise; + setBackendService(params: Params$Resource$Targetsslproxies$Setbackendservice, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setBackendService(params: Params$Resource$Targetsslproxies$Setbackendservice, callback: BodyResponseCallback): void; + setBackendService(callback: BodyResponseCallback): void; + /** + * compute.targetSslProxies.setProxyHeader + * @desc Changes the ProxyHeaderType for TargetSslProxy. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the TargetSslProxy resource whose ProxyHeader is to be + * set. targetSslProxy: 'my-target-ssl-proxy', // TODO: Update placeholder + * value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.targetSslProxies.setProxyHeader(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 compute.targetSslProxies.setProxyHeader + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetSslProxy Name of the TargetSslProxy resource whose ProxyHeader is to be set. + * @param {().TargetSslProxiesSetProxyHeaderRequest} 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 + */ + setProxyHeader(params?: Params$Resource$Targetsslproxies$Setproxyheader, options?: MethodOptions): AxiosPromise; + setProxyHeader(params: Params$Resource$Targetsslproxies$Setproxyheader, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setProxyHeader(params: Params$Resource$Targetsslproxies$Setproxyheader, callback: BodyResponseCallback): void; + setProxyHeader(callback: BodyResponseCallback): void; + /** + * compute.targetSslProxies.setSslCertificates + * @desc Changes SslCertificates for TargetSslProxy. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the TargetSslProxy resource whose SslCertificate resource + * is to be set. targetSslProxy: 'my-target-ssl-proxy', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.targetSslProxies.setSslCertificates(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 compute.targetSslProxies.setSslCertificates + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetSslProxy Name of the TargetSslProxy resource whose SslCertificate resource is to be set. + * @param {().TargetSslProxiesSetSslCertificatesRequest} 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 + */ + setSslCertificates(params?: Params$Resource$Targetsslproxies$Setsslcertificates, options?: MethodOptions): AxiosPromise; + setSslCertificates(params: Params$Resource$Targetsslproxies$Setsslcertificates, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setSslCertificates(params: Params$Resource$Targetsslproxies$Setsslcertificates, callback: BodyResponseCallback): void; + setSslCertificates(callback: BodyResponseCallback): void; + /** + * compute.targetSslProxies.setSslPolicy + * @desc Sets the SSL policy for TargetSslProxy. The SSL policy specifies + * the server-side support for SSL features. This affects connections + * between clients and the SSL proxy load balancer. They do not affect the + * connection between the load balancer and the backends. + * @alias compute.targetSslProxies.setSslPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetSslProxy Name of the TargetSslProxy resource whose SSL policy is to be set. The name must be 1-63 characters long, and comply with RFC1035. + * @param {().SslPolicyReference} 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 + */ + setSslPolicy(params?: Params$Resource$Targetsslproxies$Setsslpolicy, options?: MethodOptions): AxiosPromise; + setSslPolicy(params: Params$Resource$Targetsslproxies$Setsslpolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setSslPolicy(params: Params$Resource$Targetsslproxies$Setsslpolicy, callback: BodyResponseCallback): void; + setSslPolicy(callback: BodyResponseCallback): void; + } + interface Params$Resource$Targetsslproxies$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetSslProxy resource to delete. + */ + targetSslProxy?: string; + } + interface Params$Resource$Targetsslproxies$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the TargetSslProxy resource to return. + */ + targetSslProxy?: string; + } + interface Params$Resource$Targetsslproxies$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetSslProxy; + } + interface Params$Resource$Targetsslproxies$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Targetsslproxies$Setbackendservice { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetSslProxy resource whose BackendService resource is to + * be set. + */ + targetSslProxy?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetSslProxiesSetBackendServiceRequest; + } + interface Params$Resource$Targetsslproxies$Setproxyheader { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetSslProxy resource whose ProxyHeader is to be set. + */ + targetSslProxy?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetSslProxiesSetProxyHeaderRequest; + } + interface Params$Resource$Targetsslproxies$Setsslcertificates { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetSslProxy resource whose SslCertificate resource is to + * be set. + */ + targetSslProxy?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetSslProxiesSetSslCertificatesRequest; + } + interface Params$Resource$Targetsslproxies$Setsslpolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetSslProxy resource whose SSL policy is to be set. The + * name must be 1-63 characters long, and comply with RFC1035. + */ + targetSslProxy?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SslPolicyReference; + } + class Resource$Targettcpproxies { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.targetTcpProxies.delete + * @desc Deletes the specified TargetTcpProxy resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the TargetTcpProxy resource to delete. + * targetTcpProxy: 'my-target-tcp-proxy', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * compute.targetTcpProxies.delete(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 compute.targetTcpProxies.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetTcpProxy Name of the TargetTcpProxy resource to delete. + * @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?: Params$Resource$Targettcpproxies$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Targettcpproxies$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Targettcpproxies$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.targetTcpProxies.get + * @desc Returns the specified TargetTcpProxy resource. Gets a list of + * available target TCP proxies by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the TargetTcpProxy resource to return. + * targetTcpProxy: 'my-target-tcp-proxy', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * compute.targetTcpProxies.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 compute.targetTcpProxies.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.targetTcpProxy Name of the TargetTcpProxy resource to return. + * @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?: Params$Resource$Targettcpproxies$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Targettcpproxies$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Targettcpproxies$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.targetTcpProxies.insert + * @desc Creates a TargetTcpProxy resource in the specified project using + * the data included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.targetTcpProxies.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 compute.targetTcpProxies.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().TargetTcpProxy} 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?: Params$Resource$Targettcpproxies$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Targettcpproxies$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Targettcpproxies$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.targetTcpProxies.list + * @desc Retrieves the list of TargetTcpProxy resources available to the + * specified project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * compute.targetTcpProxies.list(request, handlePage); + * } + * }; + * + * compute.targetTcpProxies.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 compute.targetTcpProxies.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Targettcpproxies$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Targettcpproxies$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Targettcpproxies$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.targetTcpProxies.setBackendService + * @desc Changes the BackendService for TargetTcpProxy. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the TargetTcpProxy resource whose BackendService resource + * is to be set. targetTcpProxy: 'my-target-tcp-proxy', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.targetTcpProxies.setBackendService(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 compute.targetTcpProxies.setBackendService + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetTcpProxy Name of the TargetTcpProxy resource whose BackendService resource is to be set. + * @param {().TargetTcpProxiesSetBackendServiceRequest} 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 + */ + setBackendService(params?: Params$Resource$Targettcpproxies$Setbackendservice, options?: MethodOptions): AxiosPromise; + setBackendService(params: Params$Resource$Targettcpproxies$Setbackendservice, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setBackendService(params: Params$Resource$Targettcpproxies$Setbackendservice, callback: BodyResponseCallback): void; + setBackendService(callback: BodyResponseCallback): void; + /** + * compute.targetTcpProxies.setProxyHeader + * @desc Changes the ProxyHeaderType for TargetTcpProxy. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the TargetTcpProxy resource whose ProxyHeader is to be + * set. targetTcpProxy: 'my-target-tcp-proxy', // TODO: Update placeholder + * value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.targetTcpProxies.setProxyHeader(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 compute.targetTcpProxies.setProxyHeader + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetTcpProxy Name of the TargetTcpProxy resource whose ProxyHeader is to be set. + * @param {().TargetTcpProxiesSetProxyHeaderRequest} 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 + */ + setProxyHeader(params?: Params$Resource$Targettcpproxies$Setproxyheader, options?: MethodOptions): AxiosPromise; + setProxyHeader(params: Params$Resource$Targettcpproxies$Setproxyheader, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setProxyHeader(params: Params$Resource$Targettcpproxies$Setproxyheader, callback: BodyResponseCallback): void; + setProxyHeader(callback: BodyResponseCallback): void; + } + interface Params$Resource$Targettcpproxies$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetTcpProxy resource to delete. + */ + targetTcpProxy?: string; + } + interface Params$Resource$Targettcpproxies$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the TargetTcpProxy resource to return. + */ + targetTcpProxy?: string; + } + interface Params$Resource$Targettcpproxies$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetTcpProxy; + } + interface Params$Resource$Targettcpproxies$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Targettcpproxies$Setbackendservice { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetTcpProxy resource whose BackendService resource is to + * be set. + */ + targetTcpProxy?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetTcpProxiesSetBackendServiceRequest; + } + interface Params$Resource$Targettcpproxies$Setproxyheader { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetTcpProxy resource whose ProxyHeader is to be set. + */ + targetTcpProxy?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetTcpProxiesSetProxyHeaderRequest; + } + class Resource$Targetvpngateways { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.targetVpnGateways.aggregatedList + * @desc Retrieves an aggregated list of target VPN gateways. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * } + * Object.keys(itemsPage).forEach(function(name) { + * // TODO: Change code below to process each `name` property: + * console.log(name + ': ' + JSON.stringify(itemsPage[name], null, + * 2)); + * }); + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * compute.targetVpnGateways.aggregatedList(request, handlePage); + * } + * }; + * + * compute.targetVpnGateways.aggregatedList(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 compute.targetVpnGateways.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Targetvpngateways$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Targetvpngateways$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Targetvpngateways$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.targetVpnGateways.delete + * @desc Deletes the specified target VPN gateway. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the target VPN gateway to delete. + * targetVpnGateway: 'my-target-vpn-gateway', // TODO: Update + * placeholder value. + * + * auth: authClient, + * }; + * + * compute.targetVpnGateways.delete(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 compute.targetVpnGateways.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetVpnGateway Name of the target VPN gateway to delete. + * @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?: Params$Resource$Targetvpngateways$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Targetvpngateways$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Targetvpngateways$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.targetVpnGateways.get + * @desc Returns the specified target VPN gateway. Gets a list of available + * target VPN gateways by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the target VPN gateway to return. + * targetVpnGateway: 'my-target-vpn-gateway', // TODO: Update + * placeholder value. + * + * auth: authClient, + * }; + * + * compute.targetVpnGateways.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 compute.targetVpnGateways.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string} params.targetVpnGateway Name of the target VPN gateway to return. + * @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?: Params$Resource$Targetvpngateways$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Targetvpngateways$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Targetvpngateways$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.targetVpnGateways.insert + * @desc Creates a target VPN gateway in the specified project and region + * using the data included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.targetVpnGateways.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 compute.targetVpnGateways.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().TargetVpnGateway} 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?: Params$Resource$Targetvpngateways$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Targetvpngateways$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Targetvpngateways$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.targetVpnGateways.list + * @desc Retrieves a list of target VPN gateways available to the specified + * project and region. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // 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; + * compute.targetVpnGateways.list(request, handlePage); + * } + * }; + * + * compute.targetVpnGateways.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 compute.targetVpnGateways.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @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?: Params$Resource$Targetvpngateways$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Targetvpngateways$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Targetvpngateways$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Targetvpngateways$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Targetvpngateways$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the target VPN gateway to delete. + */ + targetVpnGateway?: string; + } + interface Params$Resource$Targetvpngateways$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * Name of the target VPN gateway to return. + */ + targetVpnGateway?: string; + } + interface Params$Resource$Targetvpngateways$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetVpnGateway; + } + interface Params$Resource$Targetvpngateways$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + } + class Resource$Urlmaps { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.urlMaps.delete + * @desc Deletes the specified UrlMap resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the UrlMap resource to delete. + * urlMap: 'my-url-map', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.urlMaps.delete(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 compute.urlMaps.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.urlMap Name of the UrlMap resource to delete. + * @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?: Params$Resource$Urlmaps$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Urlmaps$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Urlmaps$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.urlMaps.get + * @desc Returns the specified UrlMap resource. Gets a list of available URL + * maps by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the UrlMap resource to return. + * urlMap: 'my-url-map', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.urlMaps.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 compute.urlMaps.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.urlMap Name of the UrlMap resource to return. + * @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?: Params$Resource$Urlmaps$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Urlmaps$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Urlmaps$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.urlMaps.insert + * @desc Creates a UrlMap resource in the specified project using the data + * included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.urlMaps.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 compute.urlMaps.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().UrlMap} 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?: Params$Resource$Urlmaps$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Urlmaps$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Urlmaps$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.urlMaps.invalidateCache + * @desc Initiates a cache invalidation operation, invalidating the + * specified path, scoped to the specified UrlMap. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the UrlMap scoping this request. + * urlMap: 'my-url-map', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.urlMaps.invalidateCache(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 compute.urlMaps.invalidateCache + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.urlMap Name of the UrlMap scoping this request. + * @param {().CacheInvalidationRule} 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 + */ + invalidateCache(params?: Params$Resource$Urlmaps$Invalidatecache, options?: MethodOptions): AxiosPromise; + invalidateCache(params: Params$Resource$Urlmaps$Invalidatecache, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + invalidateCache(params: Params$Resource$Urlmaps$Invalidatecache, callback: BodyResponseCallback): void; + invalidateCache(callback: BodyResponseCallback): void; + /** + * compute.urlMaps.list + * @desc Retrieves the list of UrlMap resources available to the specified + * project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * compute.urlMaps.list(request, handlePage); + * } + * }; + * + * compute.urlMaps.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 compute.urlMaps.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Urlmaps$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Urlmaps$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Urlmaps$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * compute.urlMaps.patch + * @desc Patches the specified UrlMap resource with the data included in the + * request. This method supports PATCH semantics and uses the JSON merge + * patch format and processing rules. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the UrlMap resource to patch. + * urlMap: 'my-url-map', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * compute.urlMaps.patch(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 compute.urlMaps.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.urlMap Name of the UrlMap resource to patch. + * @param {().UrlMap} 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 + */ + patch(params?: Params$Resource$Urlmaps$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Urlmaps$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Urlmaps$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * compute.urlMaps.update + * @desc Updates the specified UrlMap resource with the data included in the + * request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the UrlMap resource to update. + * urlMap: 'my-url-map', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * compute.urlMaps.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 compute.urlMaps.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.urlMap Name of the UrlMap resource to update. + * @param {().UrlMap} 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?: Params$Resource$Urlmaps$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Urlmaps$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Urlmaps$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + /** + * compute.urlMaps.validate + * @desc Runs static validation for the UrlMap. In particular, the tests of + * the provided UrlMap will be run. Calling this method does NOT create the + * UrlMap. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the UrlMap resource to be validated as. + * urlMap: 'my-url-map', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.urlMaps.validate(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 compute.urlMaps.validate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.urlMap Name of the UrlMap resource to be validated as. + * @param {().UrlMapsValidateRequest} 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 + */ + validate(params?: Params$Resource$Urlmaps$Validate, options?: MethodOptions): AxiosPromise; + validate(params: Params$Resource$Urlmaps$Validate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + validate(params: Params$Resource$Urlmaps$Validate, callback: BodyResponseCallback): void; + validate(callback: BodyResponseCallback): void; + } + interface Params$Resource$Urlmaps$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the UrlMap resource to delete. + */ + urlMap?: string; + } + interface Params$Resource$Urlmaps$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the UrlMap resource to return. + */ + urlMap?: string; + } + interface Params$Resource$Urlmaps$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UrlMap; + } + interface Params$Resource$Urlmaps$Invalidatecache { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the UrlMap scoping this request. + */ + urlMap?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CacheInvalidationRule; + } + interface Params$Resource$Urlmaps$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Urlmaps$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the UrlMap resource to patch. + */ + urlMap?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UrlMap; + } + interface Params$Resource$Urlmaps$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the UrlMap resource to update. + */ + urlMap?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UrlMap; + } + interface Params$Resource$Urlmaps$Validate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the UrlMap resource to be validated as. + */ + urlMap?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UrlMapsValidateRequest; + } + class Resource$Vpntunnels { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.vpnTunnels.aggregatedList + * @desc Retrieves an aggregated list of VPN tunnels. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * } + * Object.keys(itemsPage).forEach(function(name) { + * // TODO: Change code below to process each `name` property: + * console.log(name + ': ' + JSON.stringify(itemsPage[name], null, + * 2)); + * }); + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * compute.vpnTunnels.aggregatedList(request, handlePage); + * } + * }; + * + * compute.vpnTunnels.aggregatedList(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 compute.vpnTunnels.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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 + */ + aggregatedList(params?: Params$Resource$Vpntunnels$Aggregatedlist, options?: MethodOptions): AxiosPromise; + aggregatedList(params: Params$Resource$Vpntunnels$Aggregatedlist, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregatedList(params: Params$Resource$Vpntunnels$Aggregatedlist, callback: BodyResponseCallback): void; + aggregatedList(callback: BodyResponseCallback): void; + /** + * compute.vpnTunnels.delete + * @desc Deletes the specified VpnTunnel resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the VpnTunnel resource to delete. + * vpnTunnel: 'my-vpn-tunnel', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.vpnTunnels.delete(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 compute.vpnTunnels.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.vpnTunnel Name of the VpnTunnel resource to delete. + * @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?: Params$Resource$Vpntunnels$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Vpntunnels$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Vpntunnels$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.vpnTunnels.get + * @desc Returns the specified VpnTunnel resource. Gets a list of available + * VPN tunnels by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * // Name of the VpnTunnel resource to return. + * vpnTunnel: 'my-vpn-tunnel', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.vpnTunnels.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 compute.vpnTunnels.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string} params.vpnTunnel Name of the VpnTunnel resource to return. + * @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?: Params$Resource$Vpntunnels$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Vpntunnels$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Vpntunnels$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.vpnTunnels.insert + * @desc Creates a VpnTunnel resource in the specified project and region + * using the data included in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * compute.vpnTunnels.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 compute.vpnTunnels.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().VpnTunnel} 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?: Params$Resource$Vpntunnels$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Vpntunnels$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Vpntunnels$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * compute.vpnTunnels.list + * @desc Retrieves a list of VpnTunnel resources contained in the specified + * project and region. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the region for this request. + * region: 'my-region', // 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; + * compute.vpnTunnels.list(request, handlePage); + * } + * }; + * + * compute.vpnTunnels.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 compute.vpnTunnels.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region for this request. + * @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?: Params$Resource$Vpntunnels$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Vpntunnels$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Vpntunnels$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Vpntunnels$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + interface Params$Resource$Vpntunnels$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the VpnTunnel resource to delete. + */ + vpnTunnel?: string; + } + interface Params$Resource$Vpntunnels$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * Name of the VpnTunnel resource to return. + */ + vpnTunnel?: string; + } + interface Params$Resource$Vpntunnels$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$VpnTunnel; + } + interface Params$Resource$Vpntunnels$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + } + class Resource$Zoneoperations { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.zoneOperations.delete + * @desc Deletes the specified zone-specific Operations resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the Operations resource to delete. + * operation: 'my-operation', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.zoneOperations.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 compute.zoneOperations.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.operation Name of the Operations resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone Name of the zone for this request. + * @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?: Params$Resource$Zoneoperations$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Zoneoperations$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Zoneoperations$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * compute.zoneOperations.get + * @desc Retrieves the specified zone-specific Operations resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the zone for this request. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // Name of the Operations resource to return. + * operation: 'my-operation', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.zoneOperations.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 compute.zoneOperations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.operation Name of the Operations resource to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone Name of the zone for this request. + * @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?: Params$Resource$Zoneoperations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Zoneoperations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Zoneoperations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.zoneOperations.list + * @desc Retrieves a list of Operation resources contained within the + * specified zone. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the zone for request. + * zone: 'my-zone', // 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; + * compute.zoneOperations.list(request, handlePage); + * } + * }; + * + * compute.zoneOperations.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 compute.zoneOperations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone Name of the zone for request. + * @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?: Params$Resource$Zoneoperations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Zoneoperations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Zoneoperations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Zoneoperations$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the Operations resource to delete. + */ + operation?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Zoneoperations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the Operations resource to return. + */ + operation?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the zone for this request. + */ + zone?: string; + } + interface Params$Resource$Zoneoperations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the zone for request. + */ + zone?: string; + } + class Resource$Zones { + root: Compute; + constructor(root: Compute); + getRoot(): Compute; + /** + * compute.zones.get + * @desc Returns the specified Zone resource. Gets a list of available zones + * by making a list() request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the zone resource to return. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * compute.zones.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 compute.zones.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.zone Name of the zone resource to return. + * @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?: Params$Resource$Zones$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Zones$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Zones$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * compute.zones.list + * @desc Retrieves the list of Zone resources available to the specified + * project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Compute Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/compute + * // 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 compute = google.compute('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * 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; + * compute.zones.list(request, handlePage); + * } + * }; + * + * compute.zones.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 compute.zones.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @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?: Params$Resource$Zones$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Zones$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Zones$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Zones$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the zone resource to return. + */ + zone?: string; + } + interface Params$Resource$Zones$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/compute/v1.js b/express-server/node_modules/googleapis/build/src/apis/compute/v1.js new file mode 100644 index 00000000..63d1b4f0 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/compute/v1.js @@ -0,0 +1,12407 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var compute_v1; +(function (compute_v1) { + /** + * Compute Engine API + * + * Creates and runs virtual machines on Google Cloud Platform. + * + * @example + * const {google} = require('googleapis'); + * const compute = google.compute('v1'); + * + * @namespace compute + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Compute + */ + class Compute { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.acceleratorTypes = new Resource$Acceleratortypes(this); + this.addresses = new Resource$Addresses(this); + this.autoscalers = new Resource$Autoscalers(this); + this.backendBuckets = new Resource$Backendbuckets(this); + this.backendServices = new Resource$Backendservices(this); + this.disks = new Resource$Disks(this); + this.diskTypes = new Resource$Disktypes(this); + this.firewalls = new Resource$Firewalls(this); + this.forwardingRules = new Resource$Forwardingrules(this); + this.globalAddresses = new Resource$Globaladdresses(this); + this.globalForwardingRules = new Resource$Globalforwardingrules(this); + this.globalOperations = new Resource$Globaloperations(this); + this.healthChecks = new Resource$Healthchecks(this); + this.httpHealthChecks = new Resource$Httphealthchecks(this); + this.httpsHealthChecks = new Resource$Httpshealthchecks(this); + this.images = new Resource$Images(this); + this.instanceGroupManagers = new Resource$Instancegroupmanagers(this); + this.instanceGroups = new Resource$Instancegroups(this); + this.instances = new Resource$Instances(this); + this.instanceTemplates = new Resource$Instancetemplates(this); + this.interconnectAttachments = new Resource$Interconnectattachments(this); + this.interconnectLocations = new Resource$Interconnectlocations(this); + this.interconnects = new Resource$Interconnects(this); + this.licenseCodes = new Resource$Licensecodes(this); + this.licenses = new Resource$Licenses(this); + this.machineTypes = new Resource$Machinetypes(this); + this.networks = new Resource$Networks(this); + this.nodeGroups = new Resource$Nodegroups(this); + this.nodeTemplates = new Resource$Nodetemplates(this); + this.nodeTypes = new Resource$Nodetypes(this); + this.projects = new Resource$Projects(this); + this.regionAutoscalers = new Resource$Regionautoscalers(this); + this.regionBackendServices = new Resource$Regionbackendservices(this); + this.regionCommitments = new Resource$Regioncommitments(this); + this.regionDisks = new Resource$Regiondisks(this); + this.regionDiskTypes = new Resource$Regiondisktypes(this); + this.regionInstanceGroupManagers = + new Resource$Regioninstancegroupmanagers(this); + this.regionInstanceGroups = new Resource$Regioninstancegroups(this); + this.regionOperations = new Resource$Regionoperations(this); + this.regions = new Resource$Regions(this); + this.routers = new Resource$Routers(this); + this.routes = new Resource$Routes(this); + this.securityPolicies = new Resource$Securitypolicies(this); + this.snapshots = new Resource$Snapshots(this); + this.sslCertificates = new Resource$Sslcertificates(this); + this.sslPolicies = new Resource$Sslpolicies(this); + this.subnetworks = new Resource$Subnetworks(this); + this.targetHttpProxies = new Resource$Targethttpproxies(this); + this.targetHttpsProxies = new Resource$Targethttpsproxies(this); + this.targetInstances = new Resource$Targetinstances(this); + this.targetPools = new Resource$Targetpools(this); + this.targetSslProxies = new Resource$Targetsslproxies(this); + this.targetTcpProxies = new Resource$Targettcpproxies(this); + this.targetVpnGateways = new Resource$Targetvpngateways(this); + this.urlMaps = new Resource$Urlmaps(this); + this.vpnTunnels = new Resource$Vpntunnels(this); + this.zoneOperations = new Resource$Zoneoperations(this); + this.zones = new Resource$Zones(this); + } + getRoot() { + return this.root; + } + } + compute_v1.Compute = Compute; + class Resource$Acceleratortypes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/aggregated/acceleratorTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/acceleratorTypes/{acceleratorType}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'acceleratorType'], + pathParams: ['acceleratorType', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/acceleratorTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Acceleratortypes = Resource$Acceleratortypes; + class Resource$Addresses { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/aggregated/addresses') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/addresses/{address}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'region', 'address'], + pathParams: ['address', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/addresses/{address}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'address'], + pathParams: ['address', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/addresses') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/addresses') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Addresses = Resource$Addresses; + class Resource$Autoscalers { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/aggregated/autoscalers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/autoscalers/{autoscaler}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'zone', 'autoscaler'], + pathParams: ['autoscaler', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/autoscalers/{autoscaler}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'autoscaler'], + pathParams: ['autoscaler', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/autoscalers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/autoscalers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/autoscalers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/autoscalers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Autoscalers = Resource$Autoscalers; + class Resource$Backendbuckets { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + addSignedUrlKey(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/backendBuckets/{backendBucket}/addSignedUrlKey') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'backendBucket'], + pathParams: ['backendBucket', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/backendBuckets/{backendBucket}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'backendBucket'], + pathParams: ['backendBucket', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + deleteSignedUrlKey(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/backendBuckets/{backendBucket}/deleteSignedUrlKey') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'backendBucket', 'keyName'], + pathParams: ['backendBucket', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/backendBuckets/{backendBucket}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'backendBucket'], + pathParams: ['backendBucket', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/backendBuckets') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/backendBuckets') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/backendBuckets/{backendBucket}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'backendBucket'], + pathParams: ['backendBucket', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/backendBuckets/{backendBucket}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['project', 'backendBucket'], + pathParams: ['backendBucket', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Backendbuckets = Resource$Backendbuckets; + class Resource$Backendservices { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + addSignedUrlKey(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/backendServices/{backendService}/addSignedUrlKey') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'backendService'], + pathParams: ['backendService', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/aggregated/backendServices') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/backendServices/{backendService}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'backendService'], + pathParams: ['backendService', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + deleteSignedUrlKey(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/backendServices/{backendService}/deleteSignedUrlKey') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'backendService', 'keyName'], + pathParams: ['backendService', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/backendServices/{backendService}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'backendService'], + pathParams: ['backendService', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getHealth(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/backendServices/{backendService}/getHealth') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'backendService'], + pathParams: ['backendService', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/backendServices') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/backendServices') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/backendServices/{backendService}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'backendService'], + pathParams: ['backendService', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setSecurityPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/backendServices/{backendService}/setSecurityPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'backendService'], + pathParams: ['backendService', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/backendServices/{backendService}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['project', 'backendService'], + pathParams: ['backendService', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Backendservices = Resource$Backendservices; + class Resource$Disks { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/v1/projects/{project}/aggregated/disks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + createSnapshot(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/disks/{disk}/createSnapshot') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'disk'], + pathParams: ['disk', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/disks/{disk}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'zone', 'disk'], + pathParams: ['disk', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/disks/{disk}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'disk'], + pathParams: ['disk', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/disks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/disks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + resize(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/disks/{disk}/resize') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'disk'], + pathParams: ['disk', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setLabels(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/disks/{resource}/setLabels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Disks = Resource$Disks; + class Resource$Disktypes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/aggregated/diskTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/diskTypes/{diskType}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'diskType'], + pathParams: ['diskType', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/diskTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Disktypes = Resource$Disktypes; + class Resource$Firewalls { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/firewalls/{firewall}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'firewall'], + pathParams: ['firewall', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/firewalls/{firewall}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'firewall'], + pathParams: ['firewall', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/v1/projects/{project}/global/firewalls') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/v1/projects/{project}/global/firewalls') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/firewalls/{firewall}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'firewall'], + pathParams: ['firewall', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/firewalls/{firewall}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['project', 'firewall'], + pathParams: ['firewall', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Firewalls = Resource$Firewalls; + class Resource$Forwardingrules { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/aggregated/forwardingRules') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/forwardingRules/{forwardingRule}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'region', 'forwardingRule'], + pathParams: ['forwardingRule', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/forwardingRules/{forwardingRule}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'forwardingRule'], + pathParams: ['forwardingRule', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/forwardingRules') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/forwardingRules') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setTarget(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/forwardingRules/{forwardingRule}/setTarget') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'forwardingRule'], + pathParams: ['forwardingRule', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Forwardingrules = Resource$Forwardingrules; + class Resource$Globaladdresses { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/addresses/{address}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'address'], + pathParams: ['address', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/addresses/{address}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'address'], + pathParams: ['address', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/v1/projects/{project}/global/addresses') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/v1/projects/{project}/global/addresses') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Globaladdresses = Resource$Globaladdresses; + class Resource$Globalforwardingrules { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/forwardingRules/{forwardingRule}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'forwardingRule'], + pathParams: ['forwardingRule', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/forwardingRules/{forwardingRule}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'forwardingRule'], + pathParams: ['forwardingRule', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/forwardingRules') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/forwardingRules') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setTarget(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/forwardingRules/{forwardingRule}/setTarget') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'forwardingRule'], + pathParams: ['forwardingRule', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Globalforwardingrules = Resource$Globalforwardingrules; + class Resource$Globaloperations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/aggregated/operations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/operations/{operation}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'operation'], + pathParams: ['operation', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/operations/{operation}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'operation'], + pathParams: ['operation', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/v1/projects/{project}/global/operations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Globaloperations = Resource$Globaloperations; + class Resource$Healthchecks { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/healthChecks/{healthCheck}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'healthCheck'], + pathParams: ['healthCheck', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/healthChecks/{healthCheck}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'healthCheck'], + pathParams: ['healthCheck', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/healthChecks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/healthChecks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/healthChecks/{healthCheck}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'healthCheck'], + pathParams: ['healthCheck', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/healthChecks/{healthCheck}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['project', 'healthCheck'], + pathParams: ['healthCheck', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Healthchecks = Resource$Healthchecks; + class Resource$Httphealthchecks { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/httpHealthChecks/{httpHealthCheck}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'httpHealthCheck'], + pathParams: ['httpHealthCheck', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/httpHealthChecks/{httpHealthCheck}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'httpHealthCheck'], + pathParams: ['httpHealthCheck', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/httpHealthChecks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/httpHealthChecks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/httpHealthChecks/{httpHealthCheck}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'httpHealthCheck'], + pathParams: ['httpHealthCheck', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/httpHealthChecks/{httpHealthCheck}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['project', 'httpHealthCheck'], + pathParams: ['httpHealthCheck', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Httphealthchecks = Resource$Httphealthchecks; + class Resource$Httpshealthchecks { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'httpsHealthCheck'], + pathParams: ['httpsHealthCheck', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'httpsHealthCheck'], + pathParams: ['httpsHealthCheck', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/httpsHealthChecks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/httpsHealthChecks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'httpsHealthCheck'], + pathParams: ['httpsHealthCheck', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['project', 'httpsHealthCheck'], + pathParams: ['httpsHealthCheck', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Httpshealthchecks = Resource$Httpshealthchecks; + class Resource$Images { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/images/{image}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'image'], + pathParams: ['image', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + deprecate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/images/{image}/deprecate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'image'], + pathParams: ['image', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/images/{image}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'image'], + pathParams: ['image', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getFromFamily(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/images/family/{family}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'family'], + pathParams: ['family', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/v1/projects/{project}/global/images') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/v1/projects/{project}/global/images') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setLabels(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/images/{resource}/setLabels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Images = Resource$Images; + class Resource$Instancegroupmanagers { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + abandonInstances(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/abandonInstances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/aggregated/instanceGroupManagers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + deleteInstances(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/deleteInstances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/instanceGroupManagers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/instanceGroupManagers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listManagedInstances(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listManagedInstances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + recreateInstances(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/recreateInstances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + resize(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resize') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager', 'size'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setInstanceTemplate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setInstanceTemplate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setTargetPools(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setTargetPools') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Instancegroupmanagers = Resource$Instancegroupmanagers; + class Resource$Instancegroups { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + addInstances(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/addInstances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroup'], + pathParams: ['instanceGroup', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/aggregated/instanceGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroup'], + pathParams: ['instanceGroup', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroup'], + pathParams: ['instanceGroup', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/instanceGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/instanceGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listInstances(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/listInstances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroup'], + pathParams: ['instanceGroup', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + removeInstances(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/removeInstances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroup'], + pathParams: ['instanceGroup', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setNamedPorts(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/setNamedPorts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instanceGroup'], + pathParams: ['instanceGroup', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Instancegroups = Resource$Instancegroups; + class Resource$Instances { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + addAccessConfig(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/instances/{instance}/addAccessConfig') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance', 'networkInterface'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/aggregated/instances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + attachDisk(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/instances/{instance}/attachDisk') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/instances/{instance}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + deleteAccessConfig(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/instances/{instance}/deleteAccessConfig') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance', 'accessConfig', 'networkInterface'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + detachDisk(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/instances/{instance}/detachDisk') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance', 'deviceName'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/instances/{instance}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getSerialPortOutput(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/instances/{instance}/serialPort') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/instances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/instances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listReferrers(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/instances/{instance}/referrers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + reset(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/instances/{instance}/reset') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setDeletionProtection(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/instances/{resource}/setDeletionProtection') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setDiskAutoDelete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/instances/{instance}/setDiskAutoDelete') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance', 'autoDelete', 'deviceName'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setLabels(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/instances/{instance}/setLabels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setMachineResources(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/instances/{instance}/setMachineResources') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setMachineType(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/instances/{instance}/setMachineType') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setMetadata(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/instances/{instance}/setMetadata') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setMinCpuPlatform(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/instances/{instance}/setMinCpuPlatform') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setScheduling(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/instances/{instance}/setScheduling') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setServiceAccount(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/instances/{instance}/setServiceAccount') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setTags(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/instances/{instance}/setTags') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + simulateMaintenanceEvent(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/instances/{instance}/simulateMaintenanceEvent') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + start(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/instances/{instance}/start') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + startWithEncryptionKey(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/instances/{instance}/startWithEncryptionKey') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + stop(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/instances/{instance}/stop') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + updateAccessConfig(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/instances/{instance}/updateAccessConfig') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'instance', 'networkInterface'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + updateNetworkInterface(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/instances/{instance}/updateNetworkInterface') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'zone', 'instance', 'networkInterface'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Instances = Resource$Instances; + class Resource$Instancetemplates { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/instanceTemplates/{instanceTemplate}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'instanceTemplate'], + pathParams: ['instanceTemplate', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/instanceTemplates/{instanceTemplate}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'instanceTemplate'], + pathParams: ['instanceTemplate', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/instanceTemplates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/instanceTemplates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Instancetemplates = Resource$Instancetemplates; + class Resource$Interconnectattachments { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/aggregated/interconnectAttachments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'region', 'interconnectAttachment'], + pathParams: ['interconnectAttachment', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'interconnectAttachment'], + pathParams: ['interconnectAttachment', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/interconnectAttachments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/interconnectAttachments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'region', 'interconnectAttachment'], + pathParams: ['interconnectAttachment', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Interconnectattachments = Resource$Interconnectattachments; + class Resource$Interconnectlocations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/interconnectLocations/{interconnectLocation}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'interconnectLocation'], + pathParams: ['interconnectLocation', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/interconnectLocations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Interconnectlocations = Resource$Interconnectlocations; + class Resource$Interconnects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/interconnects/{interconnect}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'interconnect'], + pathParams: ['interconnect', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/interconnects/{interconnect}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'interconnect'], + pathParams: ['interconnect', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/interconnects') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/interconnects') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/interconnects/{interconnect}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'interconnect'], + pathParams: ['interconnect', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Interconnects = Resource$Interconnects; + class Resource$Licensecodes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/licenseCodes/{licenseCode}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'licenseCode'], + pathParams: ['licenseCode', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/licenseCodes/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Licensecodes = Resource$Licensecodes; + class Resource$Licenses { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/licenses/{license}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'license'], + pathParams: ['license', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/licenses/{license}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'license'], + pathParams: ['license', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/v1/projects/{project}/global/licenses') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/v1/projects/{project}/global/licenses') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/licenses/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Licenses = Resource$Licenses; + class Resource$Machinetypes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/aggregated/machineTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/machineTypes/{machineType}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'machineType'], + pathParams: ['machineType', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/machineTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Machinetypes = Resource$Machinetypes; + class Resource$Networks { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + addPeering(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/networks/{network}/addPeering') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'network'], + pathParams: ['network', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/networks/{network}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'network'], + pathParams: ['network', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/networks/{network}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'network'], + pathParams: ['network', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/v1/projects/{project}/global/networks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/v1/projects/{project}/global/networks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/networks/{network}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'network'], + pathParams: ['network', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + removePeering(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/networks/{network}/removePeering') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'network'], + pathParams: ['network', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + switchToCustomMode(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/networks/{network}/switchToCustomMode') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'network'], + pathParams: ['network', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Networks = Resource$Networks; + class Resource$Nodegroups { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + addNodes(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/addNodes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'nodeGroup'], + pathParams: ['nodeGroup', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/aggregated/nodeGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'zone', 'nodeGroup'], + pathParams: ['nodeGroup', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + deleteNodes(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/deleteNodes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'nodeGroup'], + pathParams: ['nodeGroup', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'nodeGroup'], + pathParams: ['nodeGroup', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/nodeGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'initialNodeCount'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/nodeGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listNodes(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/listNodes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'nodeGroup'], + pathParams: ['nodeGroup', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setNodeTemplate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/setNodeTemplate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'nodeGroup'], + pathParams: ['nodeGroup', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Nodegroups = Resource$Nodegroups; + class Resource$Nodetemplates { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/aggregated/nodeTemplates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/nodeTemplates/{nodeTemplate}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'region', 'nodeTemplate'], + pathParams: ['nodeTemplate', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/nodeTemplates/{nodeTemplate}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'nodeTemplate'], + pathParams: ['nodeTemplate', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/nodeTemplates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/nodeTemplates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Nodetemplates = Resource$Nodetemplates; + class Resource$Nodetypes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/aggregated/nodeTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/nodeTypes/{nodeType}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'nodeType'], + pathParams: ['nodeType', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/nodeTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Nodetypes = Resource$Nodetypes; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + disableXpnHost(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/v1/projects/{project}/disableXpnHost') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + disableXpnResource(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/disableXpnResource') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + enableXpnHost(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/v1/projects/{project}/enableXpnHost') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + enableXpnResource(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/v1/projects/{project}/enableXpnResource') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/v1/projects/{project}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getXpnHost(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/v1/projects/{project}/getXpnHost') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getXpnResources(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/v1/projects/{project}/getXpnResources') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listXpnHosts(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/v1/projects/{project}/listXpnHosts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + moveDisk(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/v1/projects/{project}/moveDisk') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + moveInstance(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/v1/projects/{project}/moveInstance') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setCommonInstanceMetadata(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/setCommonInstanceMetadata') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setDefaultNetworkTier(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/setDefaultNetworkTier') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setUsageExportBucket(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/setUsageExportBucket') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Projects = Resource$Projects; + class Resource$Regionautoscalers { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/autoscalers/{autoscaler}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'region', 'autoscaler'], + pathParams: ['autoscaler', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/autoscalers/{autoscaler}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'autoscaler'], + pathParams: ['autoscaler', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/autoscalers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/autoscalers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/autoscalers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/autoscalers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Regionautoscalers = Resource$Regionautoscalers; + class Resource$Regionbackendservices { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/backendServices/{backendService}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'region', 'backendService'], + pathParams: ['backendService', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/backendServices/{backendService}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'backendService'], + pathParams: ['backendService', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getHealth(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/backendServices/{backendService}/getHealth') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'backendService'], + pathParams: ['backendService', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/backendServices') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/backendServices') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/backendServices/{backendService}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'region', 'backendService'], + pathParams: ['backendService', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/backendServices/{backendService}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['project', 'region', 'backendService'], + pathParams: ['backendService', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Regionbackendservices = Resource$Regionbackendservices; + class Resource$Regioncommitments { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/aggregated/commitments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/commitments/{commitment}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'commitment'], + pathParams: ['commitment', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/commitments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/commitments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Regioncommitments = Resource$Regioncommitments; + class Resource$Regiondisks { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + createSnapshot(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/disks/{disk}/createSnapshot') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'disk'], + pathParams: ['disk', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/disks/{disk}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'region', 'disk'], + pathParams: ['disk', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/disks/{disk}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'disk'], + pathParams: ['disk', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/disks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/disks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + resize(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/disks/{disk}/resize') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'disk'], + pathParams: ['disk', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setLabels(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/disks/{resource}/setLabels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/disks/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Regiondisks = Resource$Regiondisks; + class Resource$Regiondisktypes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/diskTypes/{diskType}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'diskType'], + pathParams: ['diskType', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/diskTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Regiondisktypes = Resource$Regiondisktypes; + class Resource$Regioninstancegroupmanagers { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + abandonInstances(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/abandonInstances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'region', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + deleteInstances(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/deleteInstances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/instanceGroupManagers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/instanceGroupManagers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listManagedInstances(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listManagedInstances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + recreateInstances(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/recreateInstances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + resize(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resize') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'instanceGroupManager', 'size'], + pathParams: ['instanceGroupManager', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setInstanceTemplate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setInstanceTemplate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setTargetPools(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setTargetPools') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Regioninstancegroupmanagers = Resource$Regioninstancegroupmanagers; + class Resource$Regioninstancegroups { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/instanceGroups/{instanceGroup}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'instanceGroup'], + pathParams: ['instanceGroup', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/instanceGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listInstances(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/instanceGroups/{instanceGroup}/listInstances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'instanceGroup'], + pathParams: ['instanceGroup', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setNamedPorts(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/instanceGroups/{instanceGroup}/setNamedPorts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'instanceGroup'], + pathParams: ['instanceGroup', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Regioninstancegroups = Resource$Regioninstancegroups; + class Resource$Regionoperations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/operations/{operation}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'region', 'operation'], + pathParams: ['operation', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/operations/{operation}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'operation'], + pathParams: ['operation', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/operations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Regionoperations = Resource$Regionoperations; + class Resource$Regions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/v1/projects/{project}/regions/{region}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/v1/projects/{project}/regions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Regions = Resource$Regions; + class Resource$Routers { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/aggregated/routers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/routers/{router}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'region', 'router'], + pathParams: ['project', 'region', 'router'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/routers/{router}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'router'], + pathParams: ['project', 'region', 'router'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getRouterStatus(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/routers/{router}/getRouterStatus') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'router'], + pathParams: ['project', 'region', 'router'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/routers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/routers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/routers/{router}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'region', 'router'], + pathParams: ['project', 'region', 'router'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + preview(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/routers/{router}/preview') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'router'], + pathParams: ['project', 'region', 'router'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/routers/{router}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['project', 'region', 'router'], + pathParams: ['project', 'region', 'router'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Routers = Resource$Routers; + class Resource$Routes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/routes/{route}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'route'], + pathParams: ['project', 'route'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/routes/{route}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'route'], + pathParams: ['project', 'route'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/v1/projects/{project}/global/routes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/v1/projects/{project}/global/routes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Routes = Resource$Routes; + class Resource$Securitypolicies { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + addRule(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/securityPolicies/{securityPolicy}/addRule') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'securityPolicy'], + pathParams: ['project', 'securityPolicy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/securityPolicies/{securityPolicy}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'securityPolicy'], + pathParams: ['project', 'securityPolicy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/securityPolicies/{securityPolicy}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'securityPolicy'], + pathParams: ['project', 'securityPolicy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getRule(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/securityPolicies/{securityPolicy}/getRule') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'securityPolicy'], + pathParams: ['project', 'securityPolicy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/securityPolicies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/securityPolicies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/securityPolicies/{securityPolicy}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'securityPolicy'], + pathParams: ['project', 'securityPolicy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patchRule(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/securityPolicies/{securityPolicy}/patchRule') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'securityPolicy'], + pathParams: ['project', 'securityPolicy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + removeRule(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/securityPolicies/{securityPolicy}/removeRule') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'securityPolicy'], + pathParams: ['project', 'securityPolicy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Securitypolicies = Resource$Securitypolicies; + class Resource$Snapshots { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/snapshots/{snapshot}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'snapshot'], + pathParams: ['project', 'snapshot'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/snapshots/{snapshot}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'snapshot'], + pathParams: ['project', 'snapshot'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/v1/projects/{project}/global/snapshots') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setLabels(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/snapshots/{resource}/setLabels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Snapshots = Resource$Snapshots; + class Resource$Sslcertificates { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/sslCertificates/{sslCertificate}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'sslCertificate'], + pathParams: ['project', 'sslCertificate'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/sslCertificates/{sslCertificate}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'sslCertificate'], + pathParams: ['project', 'sslCertificate'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/sslCertificates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/sslCertificates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Sslcertificates = Resource$Sslcertificates; + class Resource$Sslpolicies { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/sslPolicies/{sslPolicy}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'sslPolicy'], + pathParams: ['project', 'sslPolicy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/sslPolicies/{sslPolicy}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'sslPolicy'], + pathParams: ['project', 'sslPolicy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/sslPolicies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/sslPolicies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listAvailableFeatures(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/sslPolicies/listAvailableFeatures') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/sslPolicies/{sslPolicy}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'sslPolicy'], + pathParams: ['project', 'sslPolicy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Sslpolicies = Resource$Sslpolicies; + class Resource$Subnetworks { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/aggregated/subnetworks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/subnetworks/{subnetwork}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'region', 'subnetwork'], + pathParams: ['project', 'region', 'subnetwork'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + expandIpCidrRange(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/subnetworks/{subnetwork}/expandIpCidrRange') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'subnetwork'], + pathParams: ['project', 'region', 'subnetwork'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/subnetworks/{subnetwork}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'subnetwork'], + pathParams: ['project', 'region', 'subnetwork'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/subnetworks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/subnetworks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listUsable(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/aggregated/subnetworks/listUsable') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/subnetworks/{subnetwork}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'region', 'subnetwork'], + pathParams: ['project', 'region', 'subnetwork'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setPrivateIpGoogleAccess(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/subnetworks/{subnetwork}/setPrivateIpGoogleAccess') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'subnetwork'], + pathParams: ['project', 'region', 'subnetwork'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Subnetworks = Resource$Subnetworks; + class Resource$Targethttpproxies { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/targetHttpProxies/{targetHttpProxy}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'targetHttpProxy'], + pathParams: ['project', 'targetHttpProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/targetHttpProxies/{targetHttpProxy}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'targetHttpProxy'], + pathParams: ['project', 'targetHttpProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/targetHttpProxies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/targetHttpProxies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setUrlMap(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/targetHttpProxies/{targetHttpProxy}/setUrlMap') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'targetHttpProxy'], + pathParams: ['project', 'targetHttpProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Targethttpproxies = Resource$Targethttpproxies; + class Resource$Targethttpsproxies { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'targetHttpsProxy'], + pathParams: ['project', 'targetHttpsProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'targetHttpsProxy'], + pathParams: ['project', 'targetHttpsProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/targetHttpsProxies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/targetHttpsProxies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setQuicOverride(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}/setQuicOverride') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'targetHttpsProxy'], + pathParams: ['project', 'targetHttpsProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setSslCertificates(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/targetHttpsProxies/{targetHttpsProxy}/setSslCertificates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'targetHttpsProxy'], + pathParams: ['project', 'targetHttpsProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setSslPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}/setSslPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'targetHttpsProxy'], + pathParams: ['project', 'targetHttpsProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setUrlMap(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/targetHttpsProxies/{targetHttpsProxy}/setUrlMap') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'targetHttpsProxy'], + pathParams: ['project', 'targetHttpsProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Targethttpsproxies = Resource$Targethttpsproxies; + class Resource$Targetinstances { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/aggregated/targetInstances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/targetInstances/{targetInstance}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'zone', 'targetInstance'], + pathParams: ['project', 'targetInstance', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/targetInstances/{targetInstance}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'targetInstance'], + pathParams: ['project', 'targetInstance', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/targetInstances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/targetInstances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Targetinstances = Resource$Targetinstances; + class Resource$Targetpools { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + addHealthCheck(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/targetPools/{targetPool}/addHealthCheck') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'targetPool'], + pathParams: ['project', 'region', 'targetPool'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + addInstance(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/targetPools/{targetPool}/addInstance') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'targetPool'], + pathParams: ['project', 'region', 'targetPool'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/aggregated/targetPools') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/targetPools/{targetPool}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'region', 'targetPool'], + pathParams: ['project', 'region', 'targetPool'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/targetPools/{targetPool}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'targetPool'], + pathParams: ['project', 'region', 'targetPool'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getHealth(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/targetPools/{targetPool}/getHealth') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'targetPool'], + pathParams: ['project', 'region', 'targetPool'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/targetPools') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/targetPools') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + removeHealthCheck(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/targetPools/{targetPool}/removeHealthCheck') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'targetPool'], + pathParams: ['project', 'region', 'targetPool'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + removeInstance(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/targetPools/{targetPool}/removeInstance') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'targetPool'], + pathParams: ['project', 'region', 'targetPool'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setBackup(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/targetPools/{targetPool}/setBackup') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region', 'targetPool'], + pathParams: ['project', 'region', 'targetPool'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Targetpools = Resource$Targetpools; + class Resource$Targetsslproxies { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/targetSslProxies/{targetSslProxy}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'targetSslProxy'], + pathParams: ['project', 'targetSslProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/targetSslProxies/{targetSslProxy}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'targetSslProxy'], + pathParams: ['project', 'targetSslProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/targetSslProxies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/targetSslProxies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setBackendService(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/targetSslProxies/{targetSslProxy}/setBackendService') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'targetSslProxy'], + pathParams: ['project', 'targetSslProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setProxyHeader(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/targetSslProxies/{targetSslProxy}/setProxyHeader') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'targetSslProxy'], + pathParams: ['project', 'targetSslProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setSslCertificates(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/targetSslProxies/{targetSslProxy}/setSslCertificates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'targetSslProxy'], + pathParams: ['project', 'targetSslProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setSslPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/targetSslProxies/{targetSslProxy}/setSslPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'targetSslProxy'], + pathParams: ['project', 'targetSslProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Targetsslproxies = Resource$Targetsslproxies; + class Resource$Targettcpproxies { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/targetTcpProxies/{targetTcpProxy}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'targetTcpProxy'], + pathParams: ['project', 'targetTcpProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/targetTcpProxies/{targetTcpProxy}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'targetTcpProxy'], + pathParams: ['project', 'targetTcpProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/targetTcpProxies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/targetTcpProxies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setBackendService(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/targetTcpProxies/{targetTcpProxy}/setBackendService') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'targetTcpProxy'], + pathParams: ['project', 'targetTcpProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setProxyHeader(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/targetTcpProxies/{targetTcpProxy}/setProxyHeader') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'targetTcpProxy'], + pathParams: ['project', 'targetTcpProxy'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Targettcpproxies = Resource$Targettcpproxies; + class Resource$Targetvpngateways { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/aggregated/targetVpnGateways') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/targetVpnGateways/{targetVpnGateway}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'region', 'targetVpnGateway'], + pathParams: ['project', 'region', 'targetVpnGateway'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/targetVpnGateways/{targetVpnGateway}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'targetVpnGateway'], + pathParams: ['project', 'region', 'targetVpnGateway'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/targetVpnGateways') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/targetVpnGateways') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Targetvpngateways = Resource$Targetvpngateways; + class Resource$Urlmaps { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/urlMaps/{urlMap}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'urlMap'], + pathParams: ['project', 'urlMap'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/urlMaps/{urlMap}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'urlMap'], + pathParams: ['project', 'urlMap'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/v1/projects/{project}/global/urlMaps') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + invalidateCache(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/urlMaps/{urlMap}/invalidateCache') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'urlMap'], + pathParams: ['project', 'urlMap'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/v1/projects/{project}/global/urlMaps') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/urlMaps/{urlMap}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'urlMap'], + pathParams: ['project', 'urlMap'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/urlMaps/{urlMap}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['project', 'urlMap'], + pathParams: ['project', 'urlMap'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + validate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/global/urlMaps/{urlMap}/validate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'urlMap'], + pathParams: ['project', 'urlMap'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Urlmaps = Resource$Urlmaps; + class Resource$Vpntunnels { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregatedList(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/aggregated/vpnTunnels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/vpnTunnels/{vpnTunnel}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'region', 'vpnTunnel'], + pathParams: ['project', 'region', 'vpnTunnel'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/vpnTunnels/{vpnTunnel}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region', 'vpnTunnel'], + pathParams: ['project', 'region', 'vpnTunnel'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/vpnTunnels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/vpnTunnels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Vpntunnels = Resource$Vpntunnels; + class Resource$Zoneoperations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/operations/{operation}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'zone', 'operation'], + pathParams: ['operation', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/operations/{operation}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'operation'], + pathParams: ['operation', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/operations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Zoneoperations = Resource$Zoneoperations; + class Resource$Zones { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/v1/projects/{project}/zones/{zone}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/compute/v1/projects/{project}/zones') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + compute_v1.Resource$Zones = Resource$Zones; +})(compute_v1 = exports.compute_v1 || (exports.compute_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/compute/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/compute/v1.js.map new file mode 100644 index 00000000..00d0a181 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/compute/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/compute/v1.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAIH,yDAA2H;AAE3H,yBAAyB;AACzB,6BAA6B;AAC7B,gCAAgC;AAChC,+BAA+B;AAC/B,+BAA+B;AAE/B,IAAiB,UAAU,CA+4lE1B;AA/4lED,WAAiB,UAAU;IAKzB;;;;;;;;;;;;;;OAcG;IACH,MAAa,OAAO;QAgElB,YAAY,OAAsB,EAAE,MAA2B;YA7D/D,SAAI,GAAG,IAAI,CAAC;YA8DV,IAAI,CAAC,QAAQ,GAAG,OAAO,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAExB,IAAI,CAAC,gBAAgB,GAAG,IAAI,yBAAyB,CAAC,IAAI,CAAC,CAAC;YAC5D,IAAI,CAAC,SAAS,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,WAAW,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,CAAC,cAAc,GAAG,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC;YACxD,IAAI,CAAC,eAAe,GAAG,IAAI,wBAAwB,CAAC,IAAI,CAAC,CAAC;YAC1D,IAAI,CAAC,KAAK,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,CAAC,SAAS,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,SAAS,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,eAAe,GAAG,IAAI,wBAAwB,CAAC,IAAI,CAAC,CAAC;YAC1D,IAAI,CAAC,eAAe,GAAG,IAAI,wBAAwB,CAAC,IAAI,CAAC,CAAC;YAC1D,IAAI,CAAC,qBAAqB,GAAG,IAAI,8BAA8B,CAAC,IAAI,CAAC,CAAC;YACtE,IAAI,CAAC,gBAAgB,GAAG,IAAI,yBAAyB,CAAC,IAAI,CAAC,CAAC;YAC5D,IAAI,CAAC,YAAY,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,gBAAgB,GAAG,IAAI,yBAAyB,CAAC,IAAI,CAAC,CAAC;YAC5D,IAAI,CAAC,iBAAiB,GAAG,IAAI,0BAA0B,CAAC,IAAI,CAAC,CAAC;YAC9D,IAAI,CAAC,MAAM,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,CAAC,qBAAqB,GAAG,IAAI,8BAA8B,CAAC,IAAI,CAAC,CAAC;YACtE,IAAI,CAAC,cAAc,GAAG,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC;YACxD,IAAI,CAAC,SAAS,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,iBAAiB,GAAG,IAAI,0BAA0B,CAAC,IAAI,CAAC,CAAC;YAC9D,IAAI,CAAC,uBAAuB,GAAG,IAAI,gCAAgC,CAAC,IAAI,CAAC,CAAC;YAC1E,IAAI,CAAC,qBAAqB,GAAG,IAAI,8BAA8B,CAAC,IAAI,CAAC,CAAC;YACtE,IAAI,CAAC,aAAa,GAAG,IAAI,sBAAsB,CAAC,IAAI,CAAC,CAAC;YACtD,IAAI,CAAC,YAAY,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,CAAC,YAAY,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,CAAC,UAAU,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,CAAC,aAAa,GAAG,IAAI,sBAAsB,CAAC,IAAI,CAAC,CAAC;YACtD,IAAI,CAAC,SAAS,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,CAAC,iBAAiB,GAAG,IAAI,0BAA0B,CAAC,IAAI,CAAC,CAAC;YAC9D,IAAI,CAAC,qBAAqB,GAAG,IAAI,8BAA8B,CAAC,IAAI,CAAC,CAAC;YACtE,IAAI,CAAC,iBAAiB,GAAG,IAAI,0BAA0B,CAAC,IAAI,CAAC,CAAC;YAC9D,IAAI,CAAC,WAAW,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,CAAC,eAAe,GAAG,IAAI,wBAAwB,CAAC,IAAI,CAAC,CAAC;YAC1D,IAAI,CAAC,2BAA2B;gBAC5B,IAAI,oCAAoC,CAAC,IAAI,CAAC,CAAC;YACnD,IAAI,CAAC,oBAAoB,GAAG,IAAI,6BAA6B,CAAC,IAAI,CAAC,CAAC;YACpE,IAAI,CAAC,gBAAgB,GAAG,IAAI,yBAAyB,CAAC,IAAI,CAAC,CAAC;YAC5D,IAAI,CAAC,OAAO,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,CAAC,OAAO,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,CAAC,MAAM,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,CAAC,gBAAgB,GAAG,IAAI,yBAAyB,CAAC,IAAI,CAAC,CAAC;YAC5D,IAAI,CAAC,SAAS,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,eAAe,GAAG,IAAI,wBAAwB,CAAC,IAAI,CAAC,CAAC;YAC1D,IAAI,CAAC,WAAW,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,CAAC,WAAW,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,CAAC,iBAAiB,GAAG,IAAI,0BAA0B,CAAC,IAAI,CAAC,CAAC;YAC9D,IAAI,CAAC,kBAAkB,GAAG,IAAI,2BAA2B,CAAC,IAAI,CAAC,CAAC;YAChE,IAAI,CAAC,eAAe,GAAG,IAAI,wBAAwB,CAAC,IAAI,CAAC,CAAC;YAC1D,IAAI,CAAC,WAAW,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,CAAC,gBAAgB,GAAG,IAAI,yBAAyB,CAAC,IAAI,CAAC,CAAC;YAC5D,IAAI,CAAC,gBAAgB,GAAG,IAAI,yBAAyB,CAAC,IAAI,CAAC,CAAC;YAC5D,IAAI,CAAC,iBAAiB,GAAG,IAAI,0BAA0B,CAAC,IAAI,CAAC,CAAC;YAC9D,IAAI,CAAC,OAAO,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,CAAC,UAAU,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,CAAC,cAAc,GAAG,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC;YACxD,IAAI,CAAC,KAAK,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;KACF;IArIY,kBAAO,UAqInB,CAAA;IA+qSD,MAAa,yBAAyB;QAEpC,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAuGD,cAAc,CACV,gBAC0D,EAC1D,iBAC0D,EAC1D,QAAqE;YAEvE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACe,CAAC;YACpD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqD,CAAC;gBAC/D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4DAA4D,CAAC;yBACzD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;QAqFD,GAAG,CAAC,gBAC4C,EAC5C,iBAC4C,EAC5C,QAAuD;YAEzD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAyC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0C,CAAC;gBACpD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,gFAAgF,CAAC;yBAC7E,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,iBAAiB,CAAC;gBACtD,UAAU,EAAE,CAAC,iBAAiB,EAAE,SAAS,EAAE,MAAM,CAAC;gBAClD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAyB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAChE;iBAAM;gBACL,OAAO,oCAAgB,CAAyB,UAAU,CAAC,CAAC;aAC7D;QACH,CAAC;QAqGD,IAAI,CACA,gBACgD,EAChD,iBACgD,EAChD,QAA2D;YAE7D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,8DAA8D,CAAC;yBAC3D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;gBACnC,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA6B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACpE;iBAAM;gBACL,OAAO,oCAAgB,CAA6B,UAAU,CAAC,CAAC;aACjE;QACH,CAAC;KACF;IA7aY,oCAAyB,4BA6arC,CAAA;IAuID,MAAa,kBAAkB;QAE7B,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAmGD,cAAc,CACV,gBACkD,EAClD,iBACkD,EAClD,QAA6D;YAE/D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA6C,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8C,CAAC;gBACxD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,qDAAqD,CAAC;yBAClD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA+B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtE;iBAAM;gBACL,OAAO,oCAAgB,CAA+B,UAAU,CAAC,CAAC;aACnE;QACH,CAAC;QAuFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAqC,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsC,CAAC;gBAChD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,qEAAqE,CAAC;yBAClE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC;gBAChD,UAAU,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC;gBAC5C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAoFD,GAAG,CAAC,gBACoC,EACpC,iBAAsE,EACtE,QAA+C;YAEjD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAkC,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmC,CAAC;gBAC7C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,qEAAqE,CAAC;yBAClE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC;gBAChD,UAAU,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC;gBAC5C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxD;iBAAM;gBACL,OAAO,oCAAgB,CAAiB,UAAU,CAAC,CAAC;aACrD;QACH,CAAC;QAyFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAqC,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsC,CAAC;gBAChD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,2DAA2D,CAAC;yBACxD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACrC,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAoGD,IAAI,CACA,gBACwC,EACxC,iBACwC,EACxC,QAAmD;YAErD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoC,CAAC;gBAC9C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,2DAA2D,CAAC;yBACxD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACrC,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAqB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC5D;iBAAM;gBACL,OAAO,oCAAgB,CAAqB,UAAU,CAAC,CAAC;aACzD;QACH,CAAC;KACF;IAnqBY,6BAAkB,qBAmqB9B,CAAA;IAwMD,MAAa,oBAAoB;QAE/B,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAmGD,cAAc,CACV,gBACqD,EACrD,iBACqD,EACrD,QAAgE;YAElE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACU,CAAC;YAC/C,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgD,CAAC;gBAC1D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,uDAAuD,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzE;iBAAM;gBACL,OAAO,oCAAgB,CAAkC,UAAU,CAAC,CAAC;aACtE;QACH,CAAC;QAwFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAuC,CAAC;YACnE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwC,CAAC;gBAClD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,sEAAsE,CAAC;yBACnE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC;gBACjD,UAAU,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,MAAM,CAAC;gBAC7C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAqFD,GAAG,CAAC,gBACuC,EACvC,iBACuC,EACvC,QAAkD;YAEpD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAoC,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqC,CAAC;gBAC/C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,sEAAsE,CAAC;yBACnE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC;gBACjD,UAAU,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,MAAM,CAAC;gBAC7C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAoB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3D;iBAAM;gBACL,OAAO,oCAAgB,CAAoB,UAAU,CAAC,CAAC;aACxD;QACH,CAAC;QA0FD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAuC,CAAC;YACnE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwC,CAAC;gBAClD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,yDAAyD,CAAC;yBACtD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;gBACnC,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAoGD,IAAI,CACA,gBAC2C,EAC3C,iBAC2C,EAC3C,QAAsD;YAExD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAqC,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsC,CAAC;gBAChD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,yDAAyD,CAAC;yBACtD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;gBACnC,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAwB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC/D;iBAAM;gBACL,OAAO,oCAAgB,CAAwB,UAAU,CAAC,CAAC;aAC5D;QACH,CAAC;QA6FD,KAAK,CACD,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAsC,CAAC;YAClE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAuC,CAAC;gBACjD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,yDAAyD,CAAC;yBACtD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;gBACnC,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA6FD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAuC,CAAC;YACnE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwC,CAAC;gBAClD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,yDAAyD,CAAC;yBACtD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;gBACnC,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;KACF;IAv7BY,+BAAoB,uBAu7BhC,CAAA;IAkRD,MAAa,uBAAuB;QAElC,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA8BD,eAAe,CACX,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACc,CAAC;YACnD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoD,CAAC;gBAC9D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,sFAAsF,CAAC;yBACnF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC;gBAC5C,UAAU,EAAE,CAAC,eAAe,EAAE,SAAS,CAAC;gBACxC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAqFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,sEAAsE,CAAC;yBACnE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC;gBAC5C,UAAU,EAAE,CAAC,eAAe,EAAE,SAAS,CAAC;gBACxC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA8BD,kBAAkB,CACd,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACiB,CAAC;YACtD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAuD,CAAC;gBACjE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,yFAAyF,CAAC;yBACtF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,eAAe,EAAE,SAAS,CAAC;gBACvD,UAAU,EAAE,CAAC,eAAe,EAAE,SAAS,CAAC;gBACxC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAkFD,GAAG,CAAC,gBAC0C,EAC1C,iBAC0C,EAC1C,QAAqD;YAEvD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAuC,CAAC;YACnE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwC,CAAC;gBAClD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,sEAAsE,CAAC;yBACnE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC;gBAC5C,UAAU,EAAE,CAAC,eAAe,EAAE,SAAS,CAAC;gBACxC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAuB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9D;iBAAM;gBACL,OAAO,oCAAgB,CAAuB,UAAU,CAAC,CAAC;aAC3D;QACH,CAAC;QAsFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,sDAAsD,CAAC;yBACnD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAgGD,IAAI,CACA,gBAC8C,EAC9C,iBAC8C,EAC9C,QAAyD;YAE3D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAwC,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAyC,CAAC;gBACnD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,sDAAsD,CAAC;yBACnD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA2B,UAAU,EAAE,QAAQ,CAAC,CAAC;aAClE;iBAAM;gBACL,OAAO,oCAAgB,CAA2B,UAAU,CAAC,CAAC;aAC/D;QACH,CAAC;QA8FD,KAAK,CACD,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAyC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0C,CAAC;gBACpD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,sEAAsE,CAAC;yBACnE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC;gBAC5C,UAAU,EAAE,CAAC,eAAe,EAAE,SAAS,CAAC;gBACxC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA6FD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,sEAAsE,CAAC;yBACnE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC;gBAC5C,UAAU,EAAE,CAAC,eAAe,EAAE,SAAS,CAAC;gBACxC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;KACF;IAn7BY,kCAAuB,0BAm7BnC,CAAA;IAuQD,MAAa,wBAAwB;QAEnC,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA8BD,eAAe,CACX,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACe,CAAC;YACpD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqD,CAAC;gBAC/D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,wFAAwF,CAAC;yBACrF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;gBAC7C,UAAU,EAAE,CAAC,gBAAgB,EAAE,SAAS,CAAC;gBACzC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAwGD,cAAc,CACV,gBACyD,EACzD,iBACyD,EACzD,QAAoE;YAEtE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACc,CAAC;YACnD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoD,CAAC;gBAC9D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,2DAA2D,CAAC;yBACxD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;QAqFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA2C,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4C,CAAC;gBACtD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,wEAAwE,CAAC;yBACrE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;gBAC7C,UAAU,EAAE,CAAC,gBAAgB,EAAE,SAAS,CAAC;gBACzC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA8BD,kBAAkB,CACd,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACkB,CAAC;YACvD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwD,CAAC;gBAClE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,2FAA2F,CAAC;yBACxF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,gBAAgB,EAAE,SAAS,CAAC;gBACxD,UAAU,EAAE,CAAC,gBAAgB,EAAE,SAAS,CAAC;gBACzC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAkFD,GAAG,CAAC,gBAC2C,EAC3C,iBAC2C,EAC3C,QAAsD;YAExD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAwC,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAyC,CAAC;gBACnD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,wEAAwE,CAAC;yBACrE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;gBAC7C,UAAU,EAAE,CAAC,gBAAgB,EAAE,SAAS,CAAC;gBACzC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAwB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC/D;iBAAM;gBACL,OAAO,oCAAgB,CAAwB,UAAU,CAAC,CAAC;aAC5D;QACH,CAAC;QA2FD,SAAS,CACL,gBACsD,EACtD,iBACsD,EACtD,QAAiE;YAEnE,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA8C,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA+C,CAAC;gBACzD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kFAAkF,CAAC;yBAC/E,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;gBAC7C,UAAU,EAAE,CAAC,gBAAgB,EAAE,SAAS,CAAC;gBACzC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CAAmC,UAAU,CAAC,CAAC;aACvE;QACH,CAAC;QAwFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA2C,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4C,CAAC;gBACtD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,uDAAuD,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAiGD,IAAI,CACA,gBAC+C,EAC/C,iBAC+C,EAC/C,QAA0D;YAE5D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAyC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0C,CAAC;gBACpD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,uDAAuD,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA4B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACnE;iBAAM;gBACL,OAAO,oCAAgB,CAA4B,UAAU,CAAC,CAAC;aAChE;QACH,CAAC;QAgGD,KAAK,CACD,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,wEAAwE,CAAC;yBACrE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;gBAC7C,UAAU,EAAE,CAAC,gBAAgB,EAAE,SAAS,CAAC;gBACzC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA6BD,iBAAiB,CACb,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACiB,CAAC;YACtD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAuD,CAAC;gBACjE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,0FAA0F,CAAC;yBACvF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;gBAC7C,UAAU,EAAE,CAAC,gBAAgB,EAAE,SAAS,CAAC;gBACzC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA+FD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA2C,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4C,CAAC;gBACtD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,wEAAwE,CAAC;yBACrE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;gBAC7C,UAAU,EAAE,CAAC,gBAAgB,EAAE,SAAS,CAAC;gBACzC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;KACF;IA7xCY,mCAAwB,2BA6xCpC,CAAA;IAoXD,MAAa,cAAc;QAEzB,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAkGD,cAAc,CACV,gBAC+C,EAC/C,iBAC+C,EAC/C,QAA0D;YAE5D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAyC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0C,CAAC;gBACpD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,iDAAiD,CAAC;yBACxD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA4B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACnE;iBAAM;gBACL,OAAO,oCAAgB,CAA4B,UAAU,CAAC,CAAC;aAChE;QACH,CAAC;QA8FD,cAAc,CACV,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAyC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0C,CAAC;gBACpD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,yEAAyE,CAAC;yBACtE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC;gBAC3C,UAAU,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC;gBACvC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA0FD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAiC,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkC,CAAC;gBAC5C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,0DAA0D,CAAC;yBACvD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC;gBAC3C,UAAU,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC;gBACvC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAqFD,GAAG,CAAC,gBACiC,EACjC,iBAAmE,EACnE,QAA4C;YAE9C,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAA8B,CAAC;YACnE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA+B,CAAC;gBACzC,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,0DAA0D,CAAC;yBACvD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC;gBAC3C,UAAU,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC;gBACvC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAc,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrD;iBAAM;gBACL,OAAO,oCAAgB,CAAc,UAAU,CAAC,CAAC;aAClD;QACH,CAAC;QA6FD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAiC,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkC,CAAC;gBAC5C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,mDAAmD,CAAC;yBAChD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;gBACnC,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAoGD,IAAI,CACA,gBACqC,EACrC,iBAAuE,EACvE,QAAgD;YAElD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAA+B,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgC,CAAC;gBAC1C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,mDAAmD,CAAC;yBAChD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;gBACnC,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzD;iBAAM;gBACL,OAAO,oCAAgB,CAAkB,UAAU,CAAC,CAAC;aACtD;QACH,CAAC;QA6FD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAiC,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkC,CAAC;gBAC5C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,iEAAiE,CAAC;yBAC9D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC;gBAC3C,UAAU,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC;gBACvC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA8FD,SAAS,CACL,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAoC,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqC,CAAC;gBAC/C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,wEAAwE,CAAC;yBACrE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;gBAC/C,UAAU,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;KACF;IA9jCY,yBAAc,iBA8jC1B,CAAA;IA+TD,MAAa,kBAAkB;QAE7B,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAmGD,cAAc,CACV,gBACmD,EACnD,iBACmD,EACnD,QAA8D;YAEhE,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA6C,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8C,CAAC;gBACxD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,qDAAqD,CAAC;yBAClD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvE;iBAAM;gBACL,OAAO,oCAAgB,CAAgC,UAAU,CAAC,CAAC;aACpE;QACH,CAAC;QAqFD,GAAG,CAAC,gBACqC,EACrC,iBAAuE,EACvE,QAAgD;YAElD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAkC,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmC,CAAC;gBAC7C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kEAAkE,CAAC;yBAC/D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;gBAC/C,UAAU,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzD;iBAAM;gBACL,OAAO,oCAAgB,CAAkB,UAAU,CAAC,CAAC;aACtD;QACH,CAAC;QAmGD,IAAI,CACA,gBACyC,EACzC,iBACyC,EACzC,QAAoD;YAEtD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoC,CAAC;gBAC9C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,uDAAuD,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;gBACnC,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAsB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC7D;iBAAM;gBACL,OAAO,oCAAgB,CAAsB,UAAU,CAAC,CAAC;aAC1D;QACH,CAAC;KACF;IAhaY,6BAAkB,qBAga9B,CAAA;IAuID,MAAa,kBAAkB;QAE7B,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAmFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAqC,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsC,CAAC;gBAChD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4DAA4D,CAAC;yBACzD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;gBACvC,UAAU,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC;gBACnC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAgFD,GAAG,CAAC,gBACqC,EACrC,iBAAuE,EACvE,QAAgD;YAElD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAkC,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmC,CAAC;gBAC7C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4DAA4D,CAAC;yBACzD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;gBACvC,UAAU,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC;gBACnC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzD;iBAAM;gBACL,OAAO,oCAAgB,CAAkB,UAAU,CAAC,CAAC;aACtD;QACH,CAAC;QAqFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAqC,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsC,CAAC;gBAChD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,iDAAiD,CAAC;yBACxD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAgGD,IAAI,CACA,gBACyC,EACzC,iBACyC,EACzC,QAAoD;YAEtD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoC,CAAC;gBAC9C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,iDAAiD,CAAC;yBACxD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAsB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC7D;iBAAM;gBACL,OAAO,oCAAgB,CAAsB,UAAU,CAAC,CAAC;aAC1D;QACH,CAAC;QA4FD,KAAK,CACD,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAoC,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqC,CAAC;gBAC/C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4DAA4D,CAAC;yBACzD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;gBACvC,UAAU,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC;gBACnC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA4FD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAqC,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsC,CAAC;gBAChD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4DAA4D,CAAC;yBACzD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;gBACvC,UAAU,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC;gBACnC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;KACF;IAhxBY,6BAAkB,qBAgxB9B,CAAA;IAoMD,MAAa,wBAAwB;QAEnC,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAuGD,cAAc,CACV,gBACyD,EACzD,iBACyD,EACzD,QAAoE;YAEtE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACc,CAAC;YACnD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoD,CAAC;gBAC9D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,2DAA2D,CAAC;yBACxD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;QAyFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA2C,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4C,CAAC;gBACtD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kFAAkF,CAAC;yBAC/E,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,gBAAgB,CAAC;gBACvD,UAAU,EAAE,CAAC,gBAAgB,EAAE,SAAS,EAAE,QAAQ,CAAC;gBACnD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAqFD,GAAG,CAAC,gBAC2C,EAC3C,iBAC2C,EAC3C,QAAsD;YAExD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAwC,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAyC,CAAC;gBACnD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kFAAkF,CAAC;yBAC/E,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,gBAAgB,CAAC;gBACvD,UAAU,EAAE,CAAC,gBAAgB,EAAE,SAAS,EAAE,QAAQ,CAAC;gBACnD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAwB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC/D;iBAAM;gBACL,OAAO,oCAAgB,CAAwB,UAAU,CAAC,CAAC;aAC5D;QACH,CAAC;QA0FD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA2C,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4C,CAAC;gBACtD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,iEAAiE,CAAC;yBAC9D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACrC,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAqGD,IAAI,CACA,gBAC+C,EAC/C,iBAC+C,EAC/C,QAA0D;YAE5D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAyC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0C,CAAC;gBACpD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,iEAAiE,CAAC;yBAC9D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACrC,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA4B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACnE;iBAAM;gBACL,OAAO,oCAAgB,CAA4B,UAAU,CAAC,CAAC;aAChE;QACH,CAAC;QA+FD,SAAS,CACL,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA8C,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA+C,CAAC;gBACzD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4FAA4F,CAAC;yBACzF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,gBAAgB,CAAC;gBACvD,UAAU,EAAE,CAAC,gBAAgB,EAAE,SAAS,EAAE,QAAQ,CAAC;gBACnD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;KACF;IA/zBY,mCAAwB,2BA+zBpC,CAAA;IA6OD,MAAa,wBAAwB;QAEnC,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAoFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA2C,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4C,CAAC;gBACtD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,2DAA2D,CAAC;yBACxD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;gBACtC,UAAU,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;gBAClC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAiFD,GAAG,CAAC,gBACoC,EACpC,iBAAsE,EACtE,QAA+C;YAEjD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAwC,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAyC,CAAC;gBACnD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,2DAA2D,CAAC;yBACxD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;gBACtC,UAAU,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;gBAClC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxD;iBAAM;gBACL,OAAO,oCAAgB,CAAiB,UAAU,CAAC,CAAC;aACrD;QACH,CAAC;QAsFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA2C,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4C,CAAC;gBACtD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,iDAAiD,CAAC;yBACxD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAgGD,IAAI,CACA,gBACwC,EACxC,iBACwC,EACxC,QAAmD;YAErD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAyC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0C,CAAC;gBACpD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,iDAAiD,CAAC;yBACxD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAqB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC5D;iBAAM;gBACL,OAAO,oCAAgB,CAAqB,UAAU,CAAC,CAAC;aACzD;QACH,CAAC;KACF;IAzgBY,mCAAwB,2BAygBpC,CAAA;IAkID,MAAa,8BAA8B;QAEzC,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAqFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACY,CAAC;YACjD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkD,CAAC;gBAC5D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,wEAAwE,CAAC;yBACrE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;gBAC7C,UAAU,EAAE,CAAC,gBAAgB,EAAE,SAAS,CAAC;gBACzC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAkFD,GAAG,CAAC,gBAC2C,EAC3C,iBAC2C,EAC3C,QAAsD;YAExD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA8C,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA+C,CAAC;gBACzD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,wEAAwE,CAAC;yBACrE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;gBAC7C,UAAU,EAAE,CAAC,gBAAgB,EAAE,SAAS,CAAC;gBACzC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAwB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC/D;iBAAM;gBACL,OAAO,oCAAgB,CAAwB,UAAU,CAAC,CAAC;aAC5D;QACH,CAAC;QAsFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACY,CAAC;YACjD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkD,CAAC;gBAC5D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,uDAAuD,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAiGD,IAAI,CACA,gBAC+C,EAC/C,iBAC+C,EAC/C,QAA0D;YAE5D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACU,CAAC;YAC/C,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgD,CAAC;gBAC1D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,uDAAuD,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA4B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACnE;iBAAM;gBACL,OAAO,oCAAgB,CAA4B,UAAU,CAAC,CAAC;aAChE;QACH,CAAC;QAyFD,SAAS,CACL,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACe,CAAC;YACpD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqD,CAAC;gBAC/D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kFAAkF,CAAC;yBAC/E,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;gBAC7C,UAAU,EAAE,CAAC,gBAAgB,EAAE,SAAS,CAAC;gBACzC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;KACF;IArpBY,yCAA8B,iCAqpB1C,CAAA;IAmKD,MAAa,yBAAyB;QAEpC,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAmGD,cAAc,CACV,gBACoD,EACpD,iBACoD,EACpD,QAA+D;YAEjE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACe,CAAC;YACpD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqD,CAAC;gBAC/D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,sDAAsD,CAAC;yBACnD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxE;iBAAM;gBACL,OAAO,oCAAgB,CAAiC,UAAU,CAAC,CAAC;aACrE;QACH,CAAC;QAgFD,MAAM,CACF,gBAC0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA4C,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6C,CAAC;gBACvD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,8DAA8D,CAAC;yBAC3D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC;gBACxC,UAAU,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC;gBACpC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;QAiFD,GAAG,CAAC,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAyC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0C,CAAC;gBACpD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,8DAA8D,CAAC;yBAC3D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC;gBACxC,UAAU,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC;gBACpC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAiGD,IAAI,CACA,gBAC0C,EAC1C,iBAC0C,EAC1C,QAAqD;YAEvD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO,GAAG,kDAAkD,CAAC;yBACzD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAuB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9D;iBAAM;gBACL,OAAO,oCAAgB,CAAuB,UAAU,CAAC,CAAC;aAC3D;QACH,CAAC;KACF;IAthBY,oCAAyB,4BAshBrC,CAAA;IA8ID,MAAa,qBAAqB;QAEhC,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAoFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAwC,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAyC,CAAC;gBACnD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kEAAkE,CAAC;yBAC/D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC;gBAC1C,UAAU,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC;gBACtC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAiFD,GAAG,CAAC,gBACwC,EACxC,iBACwC,EACxC,QAAmD;YAErD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAqC,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsC,CAAC;gBAChD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kEAAkE,CAAC;yBAC/D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC;gBAC1C,UAAU,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC;gBACtC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAqB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC5D;iBAAM;gBACL,OAAO,oCAAgB,CAAqB,UAAU,CAAC,CAAC;aACzD;QACH,CAAC;QAsFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAwC,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAyC,CAAC;gBACnD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,oDAAoD,CAAC;yBACjD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAgGD,IAAI,CACA,gBAC4C,EAC5C,iBAC4C,EAC5C,QAAuD;YAEzD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAsC,CAAC;YAClE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAuC,CAAC;gBACjD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,oDAAoD,CAAC;yBACjD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAyB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAChE;iBAAM;gBACL,OAAO,oCAAgB,CAAyB,UAAU,CAAC,CAAC;aAC7D;QACH,CAAC;QA4FD,KAAK,CACD,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAuC,CAAC;YACnE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwC,CAAC;gBAClD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kEAAkE,CAAC;yBAC/D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC;gBAC1C,UAAU,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC;gBACtC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA4FD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAwC,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAyC,CAAC;gBACnD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kEAAkE,CAAC;yBAC/D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC;gBAC1C,UAAU,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC;gBACtC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;KACF;IA3xBY,gCAAqB,wBA2xBjC,CAAA;IAoMD,MAAa,yBAAyB;QAEpC,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAqFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA4C,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6C,CAAC;gBACvD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,0EAA0E,CAAC;yBACvE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,iBAAiB,CAAC;gBAC9C,UAAU,EAAE,CAAC,iBAAiB,EAAE,SAAS,CAAC;gBAC1C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAkFD,GAAG,CAAC,gBAC4C,EAC5C,iBAC4C,EAC5C,QAAuD;YAEzD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAyC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0C,CAAC;gBACpD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,0EAA0E,CAAC;yBACvE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,iBAAiB,CAAC;gBAC9C,UAAU,EAAE,CAAC,iBAAiB,EAAE,SAAS,CAAC;gBAC1C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAyB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAChE;iBAAM;gBACL,OAAO,oCAAgB,CAAyB,UAAU,CAAC,CAAC;aAC7D;QACH,CAAC;QAsFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA4C,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6C,CAAC;gBACvD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,wDAAwD,CAAC;yBACrD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAiGD,IAAI,CACA,gBACgD,EAChD,iBACgD,EAChD,QAA2D;YAE7D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,wDAAwD,CAAC;yBACrD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA6B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACpE;iBAAM;gBACL,OAAO,oCAAgB,CAA6B,UAAU,CAAC,CAAC;aACjE;QACH,CAAC;QA8FD,KAAK,CACD,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA2C,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4C,CAAC;gBACtD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,0EAA0E,CAAC;yBACvE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,iBAAiB,CAAC;gBAC9C,UAAU,EAAE,CAAC,iBAAiB,EAAE,SAAS,CAAC;gBAC1C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA6FD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA4C,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6C,CAAC;gBACvD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,0EAA0E,CAAC;yBACvE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,iBAAiB,CAAC;gBAC9C,UAAU,EAAE,CAAC,iBAAiB,EAAE,SAAS,CAAC;gBAC1C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;KACF;IAlyBY,oCAAyB,4BAkyBrC,CAAA;IAoMD,MAAa,0BAA0B;QAErC,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAqFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA6C,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8C,CAAC;gBACxD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4EAA4E,CAAC;yBACzE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,kBAAkB,CAAC;gBAC/C,UAAU,EAAE,CAAC,kBAAkB,EAAE,SAAS,CAAC;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAkFD,GAAG,CAAC,gBAC6C,EAC7C,iBAC6C,EAC7C,QAAwD;YAE1D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4EAA4E,CAAC;yBACzE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,kBAAkB,CAAC;gBAC/C,UAAU,EAAE,CAAC,kBAAkB,EAAE,SAAS,CAAC;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA0B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACjE;iBAAM;gBACL,OAAO,oCAAgB,CAA0B,UAAU,CAAC,CAAC;aAC9D;QACH,CAAC;QAsFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA6C,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8C,CAAC;gBACxD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,yDAAyD,CAAC;yBACtD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAkGD,IAAI,CACA,gBACiD,EACjD,iBACiD,EACjD,QAA4D;YAE9D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA2C,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4C,CAAC;gBACtD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,yDAAyD,CAAC;yBACtD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA8B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrE;iBAAM;gBACL,OAAO,oCAAgB,CAA8B,UAAU,CAAC,CAAC;aAClE;QACH,CAAC;QA8FD,KAAK,CACD,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA4C,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6C,CAAC;gBACvD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4EAA4E,CAAC;yBACzE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,kBAAkB,CAAC;gBAC/C,UAAU,EAAE,CAAC,kBAAkB,EAAE,SAAS,CAAC;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA6FD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA6C,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8C,CAAC;gBACxD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4EAA4E,CAAC;yBACzE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,kBAAkB,CAAC;gBAC/C,UAAU,EAAE,CAAC,kBAAkB,EAAE,SAAS,CAAC;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;KACF;IAnyBY,qCAA0B,6BAmyBtC,CAAA;IAoMD,MAAa,eAAe;QAE1B,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAmFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAkC,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmC,CAAC;gBAC7C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,sDAAsD,CAAC;yBACnD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC;gBACpC,UAAU,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC;gBAChC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA0FD,SAAS,CACL,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAqC,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsC,CAAC;gBAChD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,gEAAgE,CAAC;yBAC7D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC;gBACpC,UAAU,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC;gBAChC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAiFD,GAAG,CAAC,gBACkC,EAClC,iBAAoE,EACpE,QAA6C;YAE/C,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAA+B,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgC,CAAC;gBAC1C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,sDAAsD,CAAC;yBACnD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC;gBACpC,UAAU,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC;gBAChC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAe,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtD;iBAAM;gBACL,OAAO,oCAAgB,CAAe,UAAU,CAAC,CAAC;aACnD;QACH,CAAC;QAoFD,aAAa,CACT,gBACkC,EAClC,iBAAoE,EACpE,QAA6C;YAE/C,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAyC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0C,CAAC;gBACpD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,8DAA8D,CAAC;yBAC3D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACrC,UAAU,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAe,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtD;iBAAM;gBACL,OAAO,oCAAgB,CAAe,UAAU,CAAC,CAAC;aACnD;QACH,CAAC;QAsFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAkC,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmC,CAAC;gBAC7C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,8CAA8C,CAAC;yBACrD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAoGD,IAAI,CACA,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAgC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiC,CAAC;gBAC3C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,8CAA8C,CAAC;yBACrD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAyFD,SAAS,CACL,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAqC,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsC,CAAC;gBAChD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,mEAAmE,CAAC;yBAChE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;gBACvC,UAAU,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;gBACnC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;KACF;IA74BY,0BAAe,kBA64B3B,CAAA;IA0MD,MAAa,8BAA8B;QAEzC,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAwGD,gBAAgB,CACZ,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACsB,CAAC;YAC3D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4D,CAAC;gBACtE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,2GAA2G,CAAC;yBACxG,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,sBAAsB,CAAC;gBAC3D,UAAU,EAAE,CAAC,sBAAsB,EAAE,SAAS,EAAE,MAAM,CAAC;gBACvD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA2GD,cAAc,CACV,gBAC+D,EAC/D,iBAC+D,EAC/D,QACmE;YAErE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACoB,CAAC;YACzD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0D,CAAC;gBACpE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,iEAAiE,CAAC;yBAC9D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;QA2FD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACY,CAAC;YACjD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkD,CAAC;gBAC5D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,0FAA0F,CAAC;yBACvF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,sBAAsB,CAAC;gBAC3D,UAAU,EAAE,CAAC,sBAAsB,EAAE,SAAS,EAAE,MAAM,CAAC;gBACvD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAsGD,eAAe,CACX,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACqB,CAAC;YAC1D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2D,CAAC;gBACrE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,0GAA0G,CAAC;yBACvG,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,sBAAsB,CAAC;gBAC3D,UAAU,EAAE,CAAC,sBAAsB,EAAE,SAAS,EAAE,MAAM,CAAC;gBACvD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAwFD,GAAG,CAAC,gBACiD,EACjD,iBACiD,EACjD,QAA4D;YAE9D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA8C,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA+C,CAAC;gBACzD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,0FAA0F,CAAC;yBACvF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,sBAAsB,CAAC;gBAC3D,UAAU,EAAE,CAAC,sBAAsB,EAAE,SAAS,EAAE,MAAM,CAAC;gBACvD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA8B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrE;iBAAM;gBACL,OAAO,oCAAgB,CAA8B,UAAU,CAAC,CAAC;aAClE;QACH,CAAC;QAiGD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACY,CAAC;YACjD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkD,CAAC;gBAC5D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,mEAAmE,CAAC;yBAChE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;gBACnC,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAsGD,IAAI,CACA,gBACqD,EACrD,iBACqD,EACrD,QAAgE;YAElE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACU,CAAC;YAC/C,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgD,CAAC;gBAC1D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,mEAAmE,CAAC;yBAChE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;gBACnC,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzE;iBAAM;gBACL,OAAO,oCAAgB,CAAkC,UAAU,CAAC,CAAC;aACtE;QACH,CAAC;QAqGD,oBAAoB,CAChB,gBAG6D,EAC7D,iBAC6D,EAC7D,QAC6D;YAE/D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAC0B,CAAC;YAC/D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACqD,CAAC;gBAC/D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,+GAA+G,CAAC;yBAC5G,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,sBAAsB,CAAC;gBAC3D,UAAU,EAAE,CAAC,sBAAsB,EAAE,SAAS,EAAE,MAAM,CAAC;gBACvD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAEZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CAEnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;QAqGD,iBAAiB,CACb,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACuB,CAAC;YAC5D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6D,CAAC;gBACvE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4GAA4G,CAAC;yBACzG,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,sBAAsB,CAAC;gBAC3D,UAAU,EAAE,CAAC,sBAAsB,EAAE,SAAS,EAAE,MAAM,CAAC;gBACvD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA0GD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACY,CAAC;YACjD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkD,CAAC;gBAC5D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,iGAAiG,CAAC;yBAC9F,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,sBAAsB,EAAE,MAAM,CAAC;gBACnE,UAAU,EAAE,CAAC,sBAAsB,EAAE,SAAS,EAAE,MAAM,CAAC;gBACvD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA8FD,mBAAmB,CACf,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACyB,CAAC;YAC9D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACoD,CAAC;gBAC9D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,8GAA8G,CAAC;yBAC3G,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,sBAAsB,CAAC;gBAC3D,UAAU,EAAE,CAAC,sBAAsB,EAAE,SAAS,EAAE,MAAM,CAAC;gBACvD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAiGD,cAAc,CACV,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACoB,CAAC;YACzD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0D,CAAC;gBACpE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,yGAAyG,CAAC;yBACtG,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,sBAAsB,CAAC;gBAC3D,UAAU,EAAE,CAAC,sBAAsB,EAAE,SAAS,EAAE,MAAM,CAAC;gBACvD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;KACF;IAnsDY,yCAA8B,iCAmsD1C,CAAA;IAseD,MAAa,uBAAuB;QAElC,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAgGD,YAAY,CACR,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACW,CAAC;YAChD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiD,CAAC;gBAC3D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,yFAAyF,CAAC;yBACtF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,CAAC;gBACpD,UAAU,EAAE,CAAC,eAAe,EAAE,SAAS,EAAE,MAAM,CAAC;gBAChD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAuGD,cAAc,CACV,gBACwD,EACxD,iBACwD,EACxD,QAAmE;YAErE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACa,CAAC;YAClD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmD,CAAC;gBAC7D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,0DAA0D,CAAC;yBACvD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CAAqC,UAAU,CAAC,CAAC;aACzE;QACH,CAAC;QA2FD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4EAA4E,CAAC;yBACzE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,CAAC;gBACpD,UAAU,EAAE,CAAC,eAAe,EAAE,SAAS,EAAE,MAAM,CAAC;gBAChD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAsFD,GAAG,CAAC,gBAC0C,EAC1C,iBAC0C,EAC1C,QAAqD;YAEvD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAuC,CAAC;YACnE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwC,CAAC;gBAClD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4EAA4E,CAAC;yBACzE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,CAAC;gBACpD,UAAU,EAAE,CAAC,eAAe,EAAE,SAAS,EAAE,MAAM,CAAC;gBAChD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAuB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9D;iBAAM;gBACL,OAAO,oCAAgB,CAAuB,UAAU,CAAC,CAAC;aAC3D;QACH,CAAC;QA0FD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4DAA4D,CAAC;yBACzD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;gBACnC,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAoGD,IAAI,CACA,gBAC8C,EAC9C,iBAC8C,EAC9C,QAAyD;YAE3D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAwC,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAyC,CAAC;gBACnD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4DAA4D,CAAC;yBACzD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;gBACnC,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA2B,UAAU,EAAE,QAAQ,CAAC,CAAC;aAClE;iBAAM;gBACL,OAAO,oCAAgB,CAA2B,UAAU,CAAC,CAAC;aAC/D;QACH,CAAC;QAoHD,aAAa,CACT,gBACwD,EACxD,iBACwD,EACxD,QAAmE;YAErE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACY,CAAC;YACjD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkD,CAAC;gBAC5D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,0FAA0F,CAAC;yBACvF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,CAAC;gBACpD,UAAU,EAAE,CAAC,eAAe,EAAE,SAAS,EAAE,MAAM,CAAC;gBAChD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CAAqC,UAAU,CAAC,CAAC;aACzE;QACH,CAAC;QAgGD,eAAe,CACX,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACc,CAAC;YACnD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoD,CAAC;gBAC9D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4FAA4F,CAAC;yBACzF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,CAAC;gBACpD,UAAU,EAAE,CAAC,eAAe,EAAE,SAAS,EAAE,MAAM,CAAC;gBAChD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA8FD,aAAa,CACT,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACY,CAAC;YACjD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkD,CAAC;gBAC5D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,0FAA0F,CAAC;yBACvF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,CAAC;gBACpD,UAAU,EAAE,CAAC,eAAe,EAAE,SAAS,EAAE,MAAM,CAAC;gBAChD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;KACF;IArvCY,kCAAuB,0BAqvCnC,CAAA;IA4XD,MAAa,kBAAkB;QAE7B,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAiGD,eAAe,CACX,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA8C,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA+C,CAAC;gBACzD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kFAAkF,CAAC;yBAC/E,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,kBAAkB,CAAC;gBACnE,UAAU,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAoGD,cAAc,CACV,gBACmD,EACnD,iBACmD,EACnD,QAA8D;YAEhE,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA6C,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8C,CAAC;gBACxD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,qDAAqD,CAAC;yBAClD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvE;iBAAM;gBACL,OAAO,oCAAgB,CAAgC,UAAU,CAAC,CAAC;aACpE;QACH,CAAC;QAiGD,UAAU,CACN,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAyC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0C,CAAC;gBACpD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,6EAA6E,CAAC;yBAC1E,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;gBAC/C,UAAU,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAwFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAqC,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsC,CAAC;gBAChD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kEAAkE,CAAC;yBAC/D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;gBAC/C,UAAU,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAgGD,kBAAkB,CACd,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACY,CAAC;YACjD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkD,CAAC;gBAC5D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,qFAAqF,CAAC;yBAClF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EACV,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,kBAAkB,CAAC;gBACvE,UAAU,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA4FD,UAAU,CACN,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAyC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0C,CAAC;gBACpD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,6EAA6E,CAAC;yBAC1E,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,CAAC;gBAC7D,UAAU,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAqFD,GAAG,CAAC,gBACqC,EACrC,iBAAuE,EACvE,QAAgD;YAElD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAkC,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmC,CAAC;gBAC7C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kEAAkE,CAAC;yBAC/D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;gBAC/C,UAAU,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzD;iBAAM;gBACL,OAAO,oCAAgB,CAAkB,UAAU,CAAC,CAAC;aACtD;QACH,CAAC;QAyFD,mBAAmB,CACf,gBAC6C,EAC7C,iBAC6C,EAC7C,QAAwD;YAE1D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACa,CAAC;YAClD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmD,CAAC;gBAC7D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,6EAA6E,CAAC;yBAC1E,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;gBAC/C,UAAU,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA0B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACjE;iBAAM;gBACL,OAAO,oCAAgB,CAA0B,UAAU,CAAC,CAAC;aAC9D;QACH,CAAC;QA0FD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAqC,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsC,CAAC;gBAChD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,uDAAuD,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;gBACnC,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAoGD,IAAI,CACA,gBACyC,EACzC,iBACyC,EACzC,QAAoD;YAEtD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoC,CAAC;gBAC9C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,uDAAuD,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;gBACnC,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAsB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC7D;iBAAM;gBACL,OAAO,oCAAgB,CAAsB,UAAU,CAAC,CAAC;aAC1D;QACH,CAAC;QAmCD,aAAa,CACT,gBACkD,EAClD,iBACkD,EAClD,QAA6D;YAE/D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA4C,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6C,CAAC;gBACvD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4EAA4E,CAAC;yBACzE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;gBAC/C,UAAU,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA+B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtE;iBAAM;gBACL,OAAO,oCAAgB,CAA+B,UAAU,CAAC,CAAC;aACnE;QACH,CAAC;QAwFD,KAAK,CACD,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAoC,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqC,CAAC;gBAC/C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,wEAAwE,CAAC;yBACrE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;gBAC/C,UAAU,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAwFD,qBAAqB,CACjB,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACe,CAAC;YACpD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqD,CAAC;gBAC/D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,wFAAwF,CAAC;yBACrF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;gBAC/C,UAAU,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAgGD,iBAAiB,CACb,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACW,CAAC;YAChD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiD,CAAC;gBAC3D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,oFAAoF,CAAC;yBACjF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EACV,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,CAAC;gBAC/D,UAAU,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA8FD,SAAS,CACL,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAwC,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAyC,CAAC;gBACnD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4EAA4E,CAAC;yBACzE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;gBAC/C,UAAU,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA4FD,mBAAmB,CACf,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACa,CAAC;YAClD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmD,CAAC;gBAC7D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,sFAAsF,CAAC;yBACnF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;gBAC/C,UAAU,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA8FD,cAAc,CACV,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA6C,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8C,CAAC;gBACxD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,iFAAiF,CAAC;yBAC9E,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;gBAC/C,UAAU,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA8FD,WAAW,CACP,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,8EAA8E,CAAC;yBAC3E,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;gBAC/C,UAAU,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA+FD,iBAAiB,CACb,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACW,CAAC;YAChD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiD,CAAC;gBAC3D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,oFAAoF,CAAC;yBACjF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;gBAC/C,UAAU,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA6FD,aAAa,CACT,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA4C,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6C,CAAC;gBACvD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,gFAAgF,CAAC;yBAC7E,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;gBAC/C,UAAU,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA8FD,iBAAiB,CACb,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACW,CAAC;YAChD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiD,CAAC;gBAC3D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,oFAAoF,CAAC;yBACjF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;gBAC/C,UAAU,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA8FD,OAAO,CACH,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAsC,CAAC;YAClE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAuC,CAAC;gBACjD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,0EAA0E,CAAC;yBACvE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;gBAC/C,UAAU,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA6BD,wBAAwB,CACpB,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACkB,CAAC;YACvD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwD,CAAC;gBAClE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,2FAA2F,CAAC;yBACxF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;gBAC/C,UAAU,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAwFD,KAAK,CACD,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAoC,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqC,CAAC;gBAC/C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,wEAAwE,CAAC;yBACrE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;gBAC/C,UAAU,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA6FD,sBAAsB,CAClB,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACgB,CAAC;YACrD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsD,CAAC;gBAChE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,yFAAyF,CAAC;yBACtF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;gBAC/C,UAAU,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA4FD,IAAI,CACA,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoC,CAAC;gBAC9C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,uEAAuE,CAAC;yBACpE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;gBAC/C,UAAU,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAkCD,kBAAkB,CACd,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACY,CAAC;YACjD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkD,CAAC;gBAC5D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,qFAAqF,CAAC;yBAClF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,kBAAkB,CAAC;gBACnE,UAAU,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAiCD,sBAAsB,CAClB,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACgB,CAAC;YACrD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsD,CAAC;gBAChE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,yFAAyF,CAAC;yBACtF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,kBAAkB,CAAC;gBACnE,UAAU,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;KACF;IA5+GY,6BAAkB,qBA4+G9B,CAAA;IA4iCD,MAAa,0BAA0B;QAErC,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAuFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA6C,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8C,CAAC;gBACxD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4EAA4E,CAAC;yBACzE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,kBAAkB,CAAC;gBAC/C,UAAU,EAAE,CAAC,kBAAkB,EAAE,SAAS,CAAC;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAkFD,GAAG,CAAC,gBAC6C,EAC7C,iBAC6C,EAC7C,QAAwD;YAE1D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4EAA4E,CAAC;yBACzE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,kBAAkB,CAAC;gBAC/C,UAAU,EAAE,CAAC,kBAAkB,EAAE,SAAS,CAAC;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA0B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACjE;iBAAM;gBACL,OAAO,oCAAgB,CAA0B,UAAU,CAAC,CAAC;aAC9D;QACH,CAAC;QAyFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA6C,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8C,CAAC;gBACxD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,yDAAyD,CAAC;yBACtD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAkGD,IAAI,CACA,gBACiD,EACjD,iBACiD,EACjD,QAA4D;YAE9D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA2C,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4C,CAAC;gBACtD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,yDAAyD,CAAC;yBACtD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA8B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrE;iBAAM;gBACL,OAAO,oCAAgB,CAA8B,UAAU,CAAC,CAAC;aAClE;QACH,CAAC;KACF;IAvhBY,qCAA0B,6BAuhBtC,CAAA;IAkID,MAAa,gCAAgC;QAE3C,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA2GD,cAAc,CACV,gBAEiE,EACjE,iBACiE,EACjE,QACqE;YAEvE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACsB,CAAC;YAC3D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4D,CAAC;gBACtE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,mEAAmE,CAAC;yBAChE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;QAuFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACc,CAAC;YACnD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoD,CAAC;gBAC9D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kGAAkG,CAAC;yBAC/F,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,wBAAwB,CAAC;gBAC/D,UAAU,EAAE,CAAC,wBAAwB,EAAE,SAAS,EAAE,QAAQ,CAAC;gBAC3D,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAsFD,GAAG,CAAC,gBACmD,EACnD,iBACmD,EACnD,QAA8D;YAEhE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACW,CAAC;YAChD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiD,CAAC;gBAC3D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kGAAkG,CAAC;yBAC/F,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,wBAAwB,CAAC;gBAC/D,UAAU,EAAE,CAAC,wBAAwB,EAAE,SAAS,EAAE,QAAQ,CAAC;gBAC3D,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvE;iBAAM;gBACL,OAAO,oCAAgB,CAAgC,UAAU,CAAC,CAAC;aACpE;QACH,CAAC;QAwFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACc,CAAC;YACnD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoD,CAAC;gBAC9D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,yEAAyE,CAAC;yBACtE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACrC,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA0GD,IAAI,CACA,gBACuD,EACvD,iBACuD,EACvD,QAAkE;YAEpE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACY,CAAC;YACjD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkD,CAAC;gBAC5D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,yEAAyE,CAAC;yBACtE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACrC,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CAAoC,UAAU,CAAC,CAAC;aACxE;QACH,CAAC;QAgCD,KAAK,CACD,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACa,CAAC;YAClD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmD,CAAC;gBAC7D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kGAAkG,CAAC;yBAC/F,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,wBAAwB,CAAC;gBAC/D,UAAU,EAAE,CAAC,wBAAwB,EAAE,SAAS,EAAE,QAAQ,CAAC;gBAC3D,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;KACF;IA1wBY,2CAAgC,mCA0wB5C,CAAA;IA6OD,MAAa,8BAA8B;QAEzC,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAmFD,GAAG,CAAC,gBACiD,EACjD,iBACiD,EACjD,QAA4D;YAE9D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA8C,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA+C,CAAC;gBACzD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,oFAAoF,CAAC;yBACjF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,sBAAsB,CAAC;gBACnD,UAAU,EAAE,CAAC,sBAAsB,EAAE,SAAS,CAAC;gBAC/C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA8B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrE;iBAAM;gBACL,OAAO,oCAAgB,CAA8B,UAAU,CAAC,CAAC;aAClE;QACH,CAAC;QAkGD,IAAI,CACA,gBACqD,EACrD,iBACqD,EACrD,QAAgE;YAElE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACU,CAAC;YAC/C,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgD,CAAC;gBAC1D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,6DAA6D,CAAC;yBAC1D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzE;iBAAM;gBACL,OAAO,oCAAgB,CAAkC,UAAU,CAAC,CAAC;aACtE;QACH,CAAC;KACF;IApRY,yCAA8B,iCAoR1C,CAAA;IAyED,MAAa,sBAAsB;QAEjC,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAoFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAyC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0C,CAAC;gBACpD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,oEAAoE,CAAC;yBACjE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,cAAc,CAAC;gBAC3C,UAAU,EAAE,CAAC,cAAc,EAAE,SAAS,CAAC;gBACvC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAiFD,GAAG,CAAC,gBACyC,EACzC,iBACyC,EACzC,QAAoD;YAEtD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAsC,CAAC;YAClE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAuC,CAAC;gBACjD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,oEAAoE,CAAC;yBACjE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,cAAc,CAAC;gBAC3C,UAAU,EAAE,CAAC,cAAc,EAAE,SAAS,CAAC;gBACvC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAsB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC7D;iBAAM;gBACL,OAAO,oCAAgB,CAAsB,UAAU,CAAC,CAAC;aAC1D;QACH,CAAC;QAsFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAyC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0C,CAAC;gBACpD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,qDAAqD,CAAC;yBAClD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAgGD,IAAI,CACA,gBAC6C,EAC7C,iBAC6C,EAC7C,QAAwD;YAE1D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAuC,CAAC;YACnE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwC,CAAC;gBAClD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,qDAAqD,CAAC;yBAClD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA0B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACjE;iBAAM;gBACL,OAAO,oCAAgB,CAA0B,UAAU,CAAC,CAAC;aAC9D;QACH,CAAC;QA6FD,KAAK,CACD,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAwC,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAyC,CAAC;gBACnD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,oEAAoE,CAAC;yBACjE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,cAAc,CAAC;gBAC3C,UAAU,EAAE,CAAC,cAAc,EAAE,SAAS,CAAC;gBACvC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;KACF;IAtpBY,iCAAsB,yBAspBlC,CAAA;IAmKD,MAAa,qBAAqB;QAEhC,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAyBD,GAAG,CAAC,gBACwC,EACxC,iBACwC,EACxC,QAAmD;YAErD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAqC,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsC,CAAC;gBAChD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kEAAkE,CAAC;yBAC/D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC;gBAC1C,UAAU,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC;gBACtC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAqB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC5D;iBAAM;gBACL,OAAO,oCAAgB,CAAqB,UAAU,CAAC,CAAC;aACzD;QACH,CAAC;QA8BD,kBAAkB,CACd,gBACoD,EACpD,iBACoD,EACpD,QAA+D;YAEjE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACe,CAAC;YACpD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqD,CAAC;gBAC/D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kFAAkF,CAAC;yBAC/E,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;gBACvC,UAAU,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;gBACnC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxE;iBAAM;gBACL,OAAO,oCAAgB,CAAiC,UAAU,CAAC,CAAC;aACrE;QACH,CAAC;KACF;IArJY,gCAAqB,wBAqJjC,CAAA;IAuCD,MAAa,iBAAiB;QAE5B,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA2BD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAoC,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqC,CAAC;gBAC/C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,0DAA0D,CAAC;yBACvD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;gBACtC,UAAU,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;gBAClC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAgFD,GAAG,CAAC,gBACoC,EACpC,iBAAsE,EACtE,QAA+C;YAEjD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAiC,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkC,CAAC;gBAC5C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,0DAA0D,CAAC;yBACvD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;gBACtC,UAAU,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;gBAClC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxD;iBAAM;gBACL,OAAO,oCAAgB,CAAiB,UAAU,CAAC,CAAC;aACrD;QACH,CAAC;QA2BD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAoC,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqC,CAAC;gBAC/C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,gDAAgD,CAAC;yBACvD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAmCD,IAAI,CACA,gBACiD,EACjD,iBACiD,EACjD,QAA4D;YAE9D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAkC,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmC,CAAC;gBAC7C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,gDAAgD,CAAC;yBACvD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA8B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrE;iBAAM;gBACL,OAAO,oCAAgB,CAA8B,UAAU,CAAC,CAAC;aAClE;QACH,CAAC;QA8BD,kBAAkB,CACd,gBACoD,EACpD,iBACoD,EACpD,QAA+D;YAEjE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACW,CAAC;YAChD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiD,CAAC;gBAC3D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,8EAA8E,CAAC;yBAC3E,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;gBACvC,UAAU,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;gBACnC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxE;iBAAM;gBACL,OAAO,oCAAgB,CAAiC,UAAU,CAAC,CAAC;aACrE;QACH,CAAC;KACF;IA5ZY,4BAAiB,oBA4Z7B,CAAA;IAsJD,MAAa,qBAAqB;QAEhC,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAoGD,cAAc,CACV,gBACsD,EACtD,iBACsD,EACtD,QAAiE;YAEnE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACW,CAAC;YAChD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiD,CAAC;gBAC3D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,wDAAwD,CAAC;yBACrD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CAAmC,UAAU,CAAC,CAAC;aACvE;QACH,CAAC;QAqFD,GAAG,CAAC,gBACwC,EACxC,iBACwC,EACxC,QAAmD;YAErD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAqC,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsC,CAAC;gBAChD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,wEAAwE,CAAC;yBACrE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,CAAC;gBAClD,UAAU,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,MAAM,CAAC;gBAC9C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAqB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC5D;iBAAM;gBACL,OAAO,oCAAgB,CAAqB,UAAU,CAAC,CAAC;aACzD;QACH,CAAC;QAoGD,IAAI,CACA,gBAC4C,EAC5C,iBAC4C,EAC5C,QAAuD;YAEzD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAsC,CAAC;YAClE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAuC,CAAC;gBACjD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,0DAA0D,CAAC;yBACvD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;gBACnC,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAyB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAChE;iBAAM;gBACL,OAAO,oCAAgB,CAAyB,UAAU,CAAC,CAAC;aAC7D;QACH,CAAC;KACF;IAraY,gCAAqB,wBAqajC,CAAA;IAuID,MAAa,iBAAiB;QAE5B,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAyFD,UAAU,CACN,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAwC,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAyC,CAAC;gBACnD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,qEAAqE,CAAC;yBAClE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;gBACtC,UAAU,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;gBAClC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAmFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAoC,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqC,CAAC;gBAC/C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,0DAA0D,CAAC;yBACvD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;gBACtC,UAAU,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;gBAClC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAiFD,GAAG,CAAC,gBACoC,EACpC,iBAAsE,EACtE,QAA+C;YAEjD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAiC,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkC,CAAC;gBAC5C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,0DAA0D,CAAC;yBACvD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;gBACtC,UAAU,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;gBAClC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxD;iBAAM;gBACL,OAAO,oCAAgB,CAAiB,UAAU,CAAC,CAAC;aACrD;QACH,CAAC;QAqFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAoC,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqC,CAAC;gBAC/C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,gDAAgD,CAAC;yBACvD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA+FD,IAAI,CACA,gBACwC,EACxC,iBACwC,EACxC,QAAmD;YAErD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAkC,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmC,CAAC;gBAC7C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,gDAAgD,CAAC;yBACvD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAqB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC5D;iBAAM;gBACL,OAAO,oCAAgB,CAAqB,UAAU,CAAC,CAAC;aACzD;QACH,CAAC;QA4FD,KAAK,CACD,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoC,CAAC;gBAC9C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,0DAA0D,CAAC;yBACvD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;gBACtC,UAAU,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;gBAClC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAyFD,aAAa,CACT,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA2C,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4C,CAAC;gBACtD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,wEAAwE,CAAC;yBACrE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;gBACtC,UAAU,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;gBAClC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAqFD,kBAAkB,CACd,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACW,CAAC;YAChD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiD,CAAC;gBAC3D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,6EAA6E,CAAC;yBAC1E,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;gBACtC,UAAU,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;gBAClC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;KACF;IA/gCY,4BAAiB,oBA+gC7B,CAAA;IAiQD,MAAa,mBAAmB;QAE9B,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA8BD,QAAQ,CACJ,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAwC,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAyC,CAAC;gBACnD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,6EAA6E,CAAC;yBAC1E,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC;gBAChD,UAAU,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC;gBAC5C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAiCD,cAAc,CACV,gBACoD,EACpD,iBACoD,EACpD,QAA+D;YAEjE,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA8C,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA+C,CAAC;gBACzD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,sDAAsD,CAAC;yBACnD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxE;iBAAM;gBACL,OAAO,oCAAgB,CAAiC,UAAU,CAAC,CAAC;aACrE;QACH,CAAC;QA4BD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAsC,CAAC;YAClE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAuC,CAAC;gBACjD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,oEAAoE,CAAC;yBACjE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC;gBAChD,UAAU,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC;gBAC5C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA8BD,WAAW,CACP,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA2C,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4C,CAAC;gBACtD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,gFAAgF,CAAC;yBAC7E,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC;gBAChD,UAAU,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC;gBAC5C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA2BD,GAAG,CAAC,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoC,CAAC;gBAC9C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,oEAAoE,CAAC;yBACjE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC;gBAChD,UAAU,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC;gBAC5C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA8BD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAsC,CAAC;YAClE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAuC,CAAC;gBACjD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,wDAAwD,CAAC;yBACrD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,kBAAkB,CAAC;gBACvD,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA+BD,IAAI,CACA,gBAC0C,EAC1C,iBAC0C,EAC1C,QAAqD;YAEvD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAoC,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqC,CAAC;gBAC/C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,wDAAwD,CAAC;yBACrD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;gBACnC,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAuB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9D;iBAAM;gBACL,OAAO,oCAAgB,CAAuB,UAAU,CAAC,CAAC;aAC3D;QACH,CAAC;QAgCD,SAAS,CACL,gBACgD,EAChD,iBACgD,EAChD,QAA2D;YAE7D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAyC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0C,CAAC;gBACpD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,8EAA8E,CAAC;yBAC3E,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC;gBAChD,UAAU,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC;gBAC5C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA6B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACpE;iBAAM;gBACL,OAAO,oCAAgB,CAA6B,UAAU,CAAC,CAAC;aACjE;QACH,CAAC;QA8BD,eAAe,CACX,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACU,CAAC;YAC/C,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgD,CAAC;gBAC1D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,oFAAoF,CAAC;yBACjF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC;gBAChD,UAAU,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC;gBAC5C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;KACF;IAtpBY,8BAAmB,sBAspB/B,CAAA;IAyXD,MAAa,sBAAsB;QAEjC,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAoCD,cAAc,CACV,gBACuD,EACvD,iBACuD,EACvD,QAAkE;YAEpE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACY,CAAC;YACjD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkD,CAAC;gBAC5D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,yDAAyD,CAAC;yBACtD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CAAoC,UAAU,CAAC,CAAC;aACxE;QACH,CAAC;QA6BD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAyC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0C,CAAC;gBACpD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,8EAA8E,CAAC;yBAC3E,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,cAAc,CAAC;gBACrD,UAAU,EAAE,CAAC,cAAc,EAAE,SAAS,EAAE,QAAQ,CAAC;gBACjD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA0BD,GAAG,CAAC,gBACyC,EACzC,iBACyC,EACzC,QAAoD;YAEtD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAsC,CAAC;YAClE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAuC,CAAC;gBACjD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,8EAA8E,CAAC;yBAC3E,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,cAAc,CAAC;gBACrD,UAAU,EAAE,CAAC,cAAc,EAAE,SAAS,EAAE,QAAQ,CAAC;gBACjD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAsB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC7D;iBAAM;gBACL,OAAO,oCAAgB,CAAsB,UAAU,CAAC,CAAC;aAC1D;QACH,CAAC;QA8BD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAyC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0C,CAAC;gBACpD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,+DAA+D,CAAC;yBAC5D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACrC,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA+BD,IAAI,CACA,gBAC6C,EAC7C,iBAC6C,EAC7C,QAAwD;YAE1D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAuC,CAAC;YACnE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwC,CAAC;gBAClD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,+DAA+D,CAAC;yBAC5D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACrC,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA0B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACjE;iBAAM;gBACL,OAAO,oCAAgB,CAA0B,UAAU,CAAC,CAAC;aAC9D;QACH,CAAC;KACF;IAxXY,iCAAsB,yBAwXlC,CAAA;IAwMD,MAAa,kBAAkB;QAE7B,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAgCD,cAAc,CACV,gBACmD,EACnD,iBACmD,EACnD,QAA8D;YAEhE,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA6C,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8C,CAAC;gBACxD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,qDAAqD,CAAC;yBAClD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvE;iBAAM;gBACL,OAAO,oCAAgB,CAAgC,UAAU,CAAC,CAAC;aACpE;QACH,CAAC;QA0BD,GAAG,CAAC,gBACqC,EACrC,iBAAuE,EACvE,QAAgD;YAElD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAkC,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmC,CAAC;gBAC7C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kEAAkE,CAAC;yBAC/D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;gBAC/C,UAAU,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzD;iBAAM;gBACL,OAAO,oCAAgB,CAAkB,UAAU,CAAC,CAAC;aACtD;QACH,CAAC;QA8BD,IAAI,CACA,gBACyC,EACzC,iBACyC,EACzC,QAAoD;YAEtD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoC,CAAC;gBAC9C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,uDAAuD,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;gBACnC,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAsB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC7D;iBAAM;gBACL,OAAO,oCAAgB,CAAsB,UAAU,CAAC,CAAC;aAC1D;QACH,CAAC;KACF;IA7NY,6BAAkB,qBA6N9B,CAAA;IAuID,MAAa,iBAAiB;QAE5B,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAgFD,cAAc,CACV,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA4C,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6C,CAAC;gBACvD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,+CAA+C,CAAC;yBACtD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAsFD,kBAAkB,CACd,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACW,CAAC;YAChD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiD,CAAC;gBAC3D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,mDAAmD,CAAC;yBAChD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAgFD,aAAa,CACT,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA2C,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4C,CAAC;gBACtD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,8CAA8C,CAAC;yBACrD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAuFD,iBAAiB,CACb,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACU,CAAC;YAC/C,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgD,CAAC;gBAC1D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO,GAAG,kDAAkD,CAAC;yBACzD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA4ED,GAAG,CAAC,gBACoC,EACpC,iBAAsE,EACtE,QAA+C;YAEjD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAiC,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkC,CAAC;gBAC5C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,gCAAgC,CAAC;yBACvC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxD;iBAAM;gBACL,OAAO,oCAAgB,CAAiB,UAAU,CAAC,CAAC;aACrD;QACH,CAAC;QAgFD,UAAU,CACN,gBACoC,EACpC,iBAAsE,EACtE,QAA+C;YAEjD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAwC,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAyC,CAAC;gBACnD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,2CAA2C,CAAC;yBAClD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxD;iBAAM;gBACL,OAAO,oCAAgB,CAAiB,UAAU,CAAC,CAAC;aACrD;QACH,CAAC;QAmGD,eAAe,CACX,gBACoD,EACpD,iBACoD,EACpD,QAA+D;YAEjE,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA6C,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8C,CAAC;gBACxD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,gDAAgD,CAAC;yBACvD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxE;iBAAM;gBACL,OAAO,oCAAgB,CAAiC,UAAU,CAAC,CAAC;aACrE;QACH,CAAC;QAsGD,YAAY,CACR,gBACwC,EACxC,iBACwC,EACxC,QAAmD;YAErD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,6CAA6C,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAqB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC5D;iBAAM;gBACL,OAAO,oCAAgB,CAAqB,UAAU,CAAC,CAAC;aACzD;QACH,CAAC;QAqFD,QAAQ,CACJ,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAsC,CAAC;YAClE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAuC,CAAC;gBACjD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,yCAAyC,CAAC;yBAChD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAsFD,YAAY,CACR,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,6CAA6C,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAqFD,yBAAyB,CACrB,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACkB,CAAC;YACvD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwD,CAAC;gBAClE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,0DAA0D,CAAC;yBACvD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA+BD,qBAAqB,CACjB,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACc,CAAC;YACnD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoD,CAAC;gBAC9D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,sDAAsD,CAAC;yBACnD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAsFD,oBAAoB,CAChB,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACa,CAAC;YAClD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmD,CAAC;gBAC7D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,qDAAqD,CAAC;yBAClD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;KACF;IAvkDY,4BAAiB,oBAukD7B,CAAA;IAsYD,MAAa,0BAA0B;QAErC,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAwFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA6C,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8C,CAAC;gBACxD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,0EAA0E,CAAC;yBACvE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC;gBACnD,UAAU,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,CAAC;gBAC/C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAoFD,GAAG,CAAC,gBACuC,EACvC,iBACuC,EACvC,QAAkD;YAEpD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,0EAA0E,CAAC;yBACvE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC;gBACnD,UAAU,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,CAAC;gBAC/C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAoB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3D;iBAAM;gBACL,OAAO,oCAAgB,CAAoB,UAAU,CAAC,CAAC;aACxD;QACH,CAAC;QA0FD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA6C,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8C,CAAC;gBACxD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,6DAA6D,CAAC;yBAC1D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACrC,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAsGD,IAAI,CACA,gBACiD,EACjD,iBACiD,EACjD,QAA4D;YAE9D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA2C,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4C,CAAC;gBACtD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,6DAA6D,CAAC;yBAC1D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACrC,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA8B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrE;iBAAM;gBACL,OAAO,oCAAgB,CAA8B,UAAU,CAAC,CAAC;aAClE;QACH,CAAC;QA8FD,KAAK,CACD,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA4C,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6C,CAAC;gBACvD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,6DAA6D,CAAC;yBAC1D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACrC,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA6FD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA6C,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8C,CAAC;gBACxD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,6DAA6D,CAAC;yBAC1D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACrC,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;KACF;IAlzBY,qCAA0B,6BAkzBtC,CAAA;IA4ND,MAAa,8BAA8B;QAEzC,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAyFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACY,CAAC;YACjD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkD,CAAC;gBAC5D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kFAAkF,CAAC;yBAC/E,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,gBAAgB,CAAC;gBACvD,UAAU,EAAE,CAAC,gBAAgB,EAAE,SAAS,EAAE,QAAQ,CAAC;gBACnD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAqFD,GAAG,CAAC,gBAC2C,EAC3C,iBAC2C,EAC3C,QAAsD;YAExD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA8C,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA+C,CAAC;gBACzD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kFAAkF,CAAC;yBAC/E,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,gBAAgB,CAAC;gBACvD,UAAU,EAAE,CAAC,gBAAgB,EAAE,SAAS,EAAE,QAAQ,CAAC;gBACnD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAwB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC/D;iBAAM;gBACL,OAAO,oCAAgB,CAAwB,UAAU,CAAC,CAAC;aAC5D;QACH,CAAC;QA8FD,SAAS,CACL,gBACsD,EACtD,iBACsD,EACtD,QAAiE;YAEnE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACe,CAAC;YACpD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqD,CAAC;gBAC/D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4FAA4F,CAAC;yBACzF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,gBAAgB,CAAC;gBACvD,UAAU,EAAE,CAAC,gBAAgB,EAAE,SAAS,EAAE,QAAQ,CAAC;gBACnD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CAAmC,UAAU,CAAC,CAAC;aACvE;QACH,CAAC;QA4FD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACY,CAAC;YACjD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkD,CAAC;gBAC5D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,iEAAiE,CAAC;yBAC9D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACrC,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAqGD,IAAI,CACA,gBAC+C,EAC/C,iBAC+C,EAC/C,QAA0D;YAE5D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACU,CAAC;YAC/C,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgD,CAAC;gBAC1D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,iEAAiE,CAAC;yBAC9D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACrC,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA4B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACnE;iBAAM;gBACL,OAAO,oCAAgB,CAA4B,UAAU,CAAC,CAAC;aAChE;QACH,CAAC;QAqGD,KAAK,CACD,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACW,CAAC;YAChD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiD,CAAC;gBAC3D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kFAAkF,CAAC;yBAC/E,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,gBAAgB,CAAC;gBACvD,UAAU,EAAE,CAAC,gBAAgB,EAAE,SAAS,EAAE,QAAQ,CAAC;gBACnD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAmGD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACY,CAAC;YACjD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkD,CAAC;gBAC5D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kFAAkF,CAAC;yBAC/E,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,gBAAgB,CAAC;gBACvD,UAAU,EAAE,CAAC,gBAAgB,EAAE,SAAS,EAAE,QAAQ,CAAC;gBACnD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;KACF;IA58BY,yCAA8B,iCA48B1C,CAAA;IAoPD,MAAa,0BAA0B;QAErC,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAmGD,cAAc,CACV,gBACqD,EACrD,iBACqD,EACrD,QAAgE;YAElE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACgB,CAAC;YACrD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsD,CAAC;gBAChE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,uDAAuD,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzE;iBAAM;gBACL,OAAO,oCAAgB,CAAkC,UAAU,CAAC,CAAC;aACtE;QACH,CAAC;QAqFD,GAAG,CAAC,gBACuC,EACvC,iBACuC,EACvC,QAAkD;YAEpD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,0EAA0E,CAAC;yBACvE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC;gBACnD,UAAU,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,CAAC;gBAC/C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAoB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3D;iBAAM;gBACL,OAAO,oCAAgB,CAAoB,UAAU,CAAC,CAAC;aACxD;QACH,CAAC;QA0FD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA6C,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8C,CAAC;gBACxD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,6DAA6D,CAAC;yBAC1D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACrC,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAqGD,IAAI,CACA,gBAC2C,EAC3C,iBAC2C,EAC3C,QAAsD;YAExD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA2C,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4C,CAAC;gBACtD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,6DAA6D,CAAC;yBAC1D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACrC,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAwB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC/D;iBAAM;gBACL,OAAO,oCAAgB,CAAwB,UAAU,CAAC,CAAC;aAC5D;QACH,CAAC;KACF;IA3iBY,qCAA0B,6BA2iBtC,CAAA;IAwKD,MAAa,oBAAoB;QAE/B,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA8BD,cAAc,CACV,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACU,CAAC;YAC/C,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgD,CAAC;gBAC1D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,6EAA6E,CAAC;yBAC1E,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC;gBAC7C,UAAU,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC;gBACzC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAgCD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAuC,CAAC;YACnE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwC,CAAC;gBAClD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,8DAA8D,CAAC;yBAC3D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC;gBAC7C,UAAU,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC;gBACzC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAyBD,GAAG,CAAC,gBACiC,EACjC,iBAAmE,EACnE,QAA4C;YAE9C,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAoC,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqC,CAAC;gBAC/C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,8DAA8D,CAAC;yBAC3D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC;gBAC7C,UAAU,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC;gBACzC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAc,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrD;iBAAM;gBACL,OAAO,oCAAgB,CAAc,UAAU,CAAC,CAAC;aAClD;QACH,CAAC;QA+BD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAuC,CAAC;YACnE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwC,CAAC;gBAClD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,uDAAuD,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACrC,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA+BD,IAAI,CACA,gBACqC,EACrC,iBAAuE,EACvE,QAAgD;YAElD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAqC,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsC,CAAC;gBAChD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,uDAAuD,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACrC,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzD;iBAAM;gBACL,OAAO,oCAAgB,CAAkB,UAAU,CAAC,CAAC;aACtD;QACH,CAAC;QA8BD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAuC,CAAC;YACnE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwC,CAAC;gBAClD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,qEAAqE,CAAC;yBAClE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC;gBAC7C,UAAU,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC;gBACzC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA8BD,SAAS,CACL,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4EAA4E,CAAC;yBACzE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC;gBACjD,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC;gBAC7C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA+BD,kBAAkB,CACd,gBACoD,EACpD,iBACoD,EACpD,QAA+D;YAEjE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACc,CAAC;YACnD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoD,CAAC;gBAC9D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,qFAAqF,CAAC;yBAClF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC;gBACjD,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC;gBAC7C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxE;iBAAM;gBACL,OAAO,oCAAgB,CAAiC,UAAU,CAAC,CAAC;aACrE;QACH,CAAC;KACF;IA3kBY,+BAAoB,uBA2kBhC,CAAA;IA6RD,MAAa,wBAAwB;QAEnC,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA0BD,GAAG,CAAC,gBACqC,EACrC,iBAAuE,EACvE,QAAgD;YAElD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAwC,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAyC,CAAC;gBACnD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,sEAAsE,CAAC;yBACnE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC;gBACjD,UAAU,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC;gBAC7C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzD;iBAAM;gBACL,OAAO,oCAAgB,CAAkB,UAAU,CAAC,CAAC;aACtD;QACH,CAAC;QAgCD,IAAI,CACA,gBAC+C,EAC/C,iBAC+C,EAC/C,QAA0D;YAE5D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAyC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0C,CAAC;gBACpD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,2DAA2D,CAAC;yBACxD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACrC,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA4B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACnE;iBAAM;gBACL,OAAO,oCAAgB,CAA4B,UAAU,CAAC,CAAC;aAChE;QACH,CAAC;KACF;IAvJY,mCAAwB,2BAuJpC,CAAA;IAiFD,MAAa,oCAAoC;QAE/C,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAwGD,gBAAgB,CACZ,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAC4B,CAAC;YACjE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACuD,CAAC;gBACjE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,+GAA+G,CAAC;yBAC5G,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,sBAAsB,CAAC;gBAC7D,UAAU,EAAE,CAAC,sBAAsB,EAAE,SAAS,EAAE,QAAQ,CAAC;gBACzD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAwFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACkB,CAAC;YACvD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwD,CAAC;gBAClE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,8FAA8F,CAAC;yBAC3F,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,sBAAsB,CAAC;gBAC7D,UAAU,EAAE,CAAC,sBAAsB,EAAE,SAAS,EAAE,QAAQ,CAAC;gBACzD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAsGD,eAAe,CACX,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAC2B,CAAC;YAChE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACsD,CAAC;gBAChE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,8GAA8G,CAAC;yBAC3G,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,sBAAsB,CAAC;gBAC7D,UAAU,EAAE,CAAC,sBAAsB,EAAE,SAAS,EAAE,QAAQ,CAAC;gBACzD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAqFD,GAAG,CAAC,gBACiD,EACjD,iBACiD,EACjD,QAA4D;YAE9D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACe,CAAC;YACpD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqD,CAAC;gBAC/D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,8FAA8F,CAAC;yBAC3F,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,sBAAsB,CAAC;gBAC7D,UAAU,EAAE,CAAC,sBAAsB,EAAE,SAAS,EAAE,QAAQ,CAAC;gBACzD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA8B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrE;iBAAM;gBACL,OAAO,oCAAgB,CAA8B,UAAU,CAAC,CAAC;aAClE;QACH,CAAC;QA8FD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACkB,CAAC;YACvD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwD,CAAC;gBAClE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,uEAAuE,CAAC;yBACpE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACrC,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA0GD,IAAI,CACA,gBAC2D,EAC3D,iBAC2D,EAC3D,QAAsE;YAExE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACgB,CAAC;YACrD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsD,CAAC;gBAChE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,uEAAuE,CAAC;yBACpE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACrC,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;QAqGD,oBAAoB,CAChB,gBAG4D,EAC5D,iBAC4D,EAC5D,QAC4D;YAE9D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACgC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAC2D,CAAC;gBACrE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,mHAAmH,CAAC;yBAChH,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,sBAAsB,CAAC;gBAC7D,UAAU,EAAE,CAAC,sBAAsB,EAAE,SAAS,EAAE,QAAQ,CAAC;gBACzD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAEZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CAEnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;QAqGD,iBAAiB,CACb,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAC6B,CAAC;YAClE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACwD,CAAC;gBAClE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,gHAAgH,CAAC;yBAC7G,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,sBAAsB,CAAC;gBAC7D,UAAU,EAAE,CAAC,sBAAsB,EAAE,SAAS,EAAE,QAAQ,CAAC;gBACzD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAqGD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACkB,CAAC;YACvD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwD,CAAC;gBAClE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,qGAAqG,CAAC;yBAClG,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,sBAAsB,EAAE,MAAM,CAAC;gBACrE,UAAU,EAAE,CAAC,sBAAsB,EAAE,SAAS,EAAE,QAAQ,CAAC;gBACzD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA8FD,mBAAmB,CACf,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAC+B,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAC0D,CAAC;gBACpE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kHAAkH,CAAC;yBAC/G,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,sBAAsB,CAAC;gBAC7D,UAAU,EAAE,CAAC,sBAAsB,EAAE,SAAS,EAAE,QAAQ,CAAC;gBACzD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA6FD,cAAc,CACV,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAC0B,CAAC;YAC/D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACqD,CAAC;gBAC/D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,6GAA6G,CAAC;yBAC1G,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,sBAAsB,CAAC;gBAC7D,UAAU,EAAE,CAAC,sBAAsB,EAAE,SAAS,EAAE,QAAQ,CAAC;gBACzD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;KACF;IAniDY,+CAAoC,uCAmiDhD,CAAA;IA6aD,MAAa,6BAA6B;QAExC,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAqFD,GAAG,CAAC,gBAC0C,EAC1C,iBAC0C,EAC1C,QAAqD;YAEvD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA6C,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8C,CAAC;gBACxD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,gFAAgF,CAAC;yBAC7E,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,eAAe,CAAC;gBACtD,UAAU,EAAE,CAAC,eAAe,EAAE,SAAS,EAAE,QAAQ,CAAC;gBAClD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAuB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9D;iBAAM;gBACL,OAAO,oCAAgB,CAAuB,UAAU,CAAC,CAAC;aAC3D;QACH,CAAC;QAsGD,IAAI,CACA,gBACoD,EACpD,iBACoD,EACpD,QAA+D;YAEjE,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA8C,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA+C,CAAC;gBACzD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,gEAAgE,CAAC;yBAC7D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACrC,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxE;iBAAM;gBACL,OAAO,oCAAgB,CAAiC,UAAU,CAAC,CAAC;aACrE;QACH,CAAC;QA0HD,aAAa,CACT,gBAC8D,EAC9D,iBAC8D,EAC9D,QACkE;YAEpE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACkB,CAAC;YACvD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwD,CAAC;gBAClE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,8FAA8F,CAAC;yBAC3F,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,eAAe,CAAC;gBACtD,UAAU,EAAE,CAAC,eAAe,EAAE,SAAS,EAAE,QAAQ,CAAC;gBAClD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;QA4FD,aAAa,CACT,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACkB,CAAC;YACvD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwD,CAAC;gBAClE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,8FAA8F,CAAC;yBAC3F,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,eAAe,CAAC;gBACtD,UAAU,EAAE,CAAC,eAAe,EAAE,SAAS,EAAE,QAAQ,CAAC;gBAClD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;KACF;IAzkBY,wCAA6B,gCAykBzC,CAAA;IA2LD,MAAa,yBAAyB;QAEpC,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAoFD,MAAM,CACF,gBAC0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA4C,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6C,CAAC;gBACvD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,wEAAwE,CAAC;yBACrE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC;gBAClD,UAAU,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,CAAC;gBAC9C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;QAoFD,GAAG,CAAC,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAyC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0C,CAAC;gBACpD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,wEAAwE,CAAC;yBACrE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC;gBAClD,UAAU,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,CAAC;gBAC9C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAqGD,IAAI,CACA,gBAC0C,EAC1C,iBAC0C,EAC1C,QAAqD;YAEvD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4DAA4D,CAAC;yBACzD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACrC,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAuB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9D;iBAAM;gBACL,OAAO,oCAAgB,CAAuB,UAAU,CAAC,CAAC;aAC3D;QACH,CAAC;KACF;IArZY,oCAAyB,4BAqZrC,CAAA;IAoGD,MAAa,gBAAgB;QAE3B,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAiFD,GAAG,CAAC,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAgC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiC,CAAC;gBAC3C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,iDAAiD,CAAC;yBACxD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACrC,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;QAgGD,IAAI,CACA,gBACuC,EACvC,iBACuC,EACvC,QAAkD;YAEpD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAiC,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkC,CAAC;gBAC5C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,wCAAwC,CAAC;yBAC/C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAoB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3D;iBAAM;gBACL,OAAO,oCAAgB,CAAoB,UAAU,CAAC,CAAC;aACxD;QACH,CAAC;KACF;IAzQY,2BAAgB,mBAyQ5B,CAAA;IAyED,MAAa,gBAAgB;QAE3B,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAmGD,cAAc,CACV,gBACiD,EACjD,iBACiD,EACjD,QAA4D;YAE9D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA2C,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4C,CAAC;gBACtD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,mDAAmD,CAAC;yBAChD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA8B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrE;iBAAM;gBACL,OAAO,oCAAgB,CAA8B,UAAU,CAAC,CAAC;aAClE;QACH,CAAC;QAuFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoC,CAAC;gBAC9C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kEAAkE,CAAC;yBAC/D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC;gBAC/C,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAqFD,GAAG,CAAC,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAgC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiC,CAAC;gBAC3C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kEAAkE,CAAC;yBAC/D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC;gBAC/C,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;QAyFD,eAAe,CACX,gBACiD,EACjD,iBACiD,EACjD,QAA4D;YAE9D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA4C,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6C,CAAC;gBACvD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kFAAkF,CAAC;yBAC/E,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC;gBAC/C,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA8B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrE;iBAAM;gBACL,OAAO,oCAAgB,CAA8B,UAAU,CAAC,CAAC;aAClE;QACH,CAAC;QAyFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoC,CAAC;gBAC9C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,yDAAyD,CAAC;yBACtD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACrC,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAoGD,IAAI,CACA,gBACuC,EACvC,iBACuC,EACvC,QAAkD;YAEpD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAiC,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkC,CAAC;gBAC5C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,yDAAyD,CAAC;yBACtD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACrC,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAoB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3D;iBAAM;gBACL,OAAO,oCAAgB,CAAoB,UAAU,CAAC,CAAC;aACxD;QACH,CAAC;QAgGD,KAAK,CACD,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAkC,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmC,CAAC;gBAC7C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kEAAkE,CAAC;yBAC/D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC;gBAC/C,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA8FD,OAAO,CACH,gBACmD,EACnD,iBACmD,EACnD,QAA8D;YAEhE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAoC,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqC,CAAC;gBAC/C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,0EAA0E,CAAC;yBACvE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC;gBAC/C,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvE;iBAAM;gBACL,OAAO,oCAAgB,CAAgC,UAAU,CAAC,CAAC;aACpE;QACH,CAAC;QA+FD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoC,CAAC;gBAC9C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kEAAkE,CAAC;yBAC/D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC;gBAC/C,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;KACF;IAnsCY,2BAAgB,mBAmsC5B,CAAA;IA6TD,MAAa,eAAe;QAE1B,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAmFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAkC,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmC,CAAC;gBAC7C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,sDAAsD,CAAC;yBACnD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC;gBACpC,UAAU,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC;gBAChC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAiFD,GAAG,CAAC,gBACkC,EAClC,iBAAoE,EACpE,QAA6C;YAE/C,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAA+B,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgC,CAAC;gBAC1C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,sDAAsD,CAAC;yBACnD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC;gBACpC,UAAU,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC;gBAChC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAe,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtD;iBAAM;gBACL,OAAO,oCAAgB,CAAe,UAAU,CAAC,CAAC;aACnD;QACH,CAAC;QAqFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAkC,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmC,CAAC;gBAC7C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,8CAA8C,CAAC;yBACrD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAgGD,IAAI,CACA,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAgC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiC,CAAC;gBAC3C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,8CAA8C,CAAC;yBACrD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;KACF;IAngBY,0BAAe,kBAmgB3B,CAAA;IAkID,MAAa,yBAAyB;QAEpC,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA4BD,OAAO,CACH,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA6C,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8C,CAAC;gBACxD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,iFAAiF,CAAC;yBAC9E,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;gBAC7C,UAAU,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;gBACzC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA4BD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA4C,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6C,CAAC;gBACvD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,yEAAyE,CAAC;yBACtE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;gBAC7C,UAAU,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;gBACzC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAwBD,GAAG,CAAC,gBAC2C,EAC3C,iBAC2C,EAC3C,QAAsD;YAExD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAyC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0C,CAAC;gBACpD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,yEAAyE,CAAC;yBACtE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;gBAC7C,UAAU,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;gBACzC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAwB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC/D;iBAAM;gBACL,OAAO,oCAAgB,CAAwB,UAAU,CAAC,CAAC;aAC5D;QACH,CAAC;QA4BD,OAAO,CACH,gBAC+C,EAC/C,iBAC+C,EAC/C,QAA0D;YAE5D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA6C,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8C,CAAC;gBACxD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,iFAAiF,CAAC;yBAC9E,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;gBAC7C,UAAU,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;gBACzC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA4B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACnE;iBAAM;gBACL,OAAO,oCAAgB,CAA4B,UAAU,CAAC,CAAC;aAChE;QACH,CAAC;QA6BD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA4C,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6C,CAAC;gBACvD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,wDAAwD,CAAC;yBACrD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA+BD,IAAI,CACA,gBAC+C,EAC/C,iBAC+C,EAC/C,QAA0D;YAE5D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,wDAAwD,CAAC;yBACrD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA4B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACnE;iBAAM;gBACL,OAAO,oCAAgB,CAA4B,UAAU,CAAC,CAAC;aAChE;QACH,CAAC;QA6BD,KAAK,CACD,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA2C,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4C,CAAC;gBACtD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,yEAAyE,CAAC;yBACtE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;gBAC7C,UAAU,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;gBACzC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA6BD,SAAS,CACL,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACU,CAAC;YAC/C,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgD,CAAC;gBAC1D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,mFAAmF,CAAC;yBAChF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;gBAC7C,UAAU,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;gBACzC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA4BD,UAAU,CACN,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACW,CAAC;YAChD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiD,CAAC;gBAC3D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,oFAAoF,CAAC;yBACjF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;gBAC7C,UAAU,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;gBACzC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;KACF;IAxoBY,oCAAyB,4BAwoBrC,CAAA;IAqPD,MAAa,kBAAkB;QAE7B,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAuFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAqC,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsC,CAAC;gBAChD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4DAA4D,CAAC;yBACzD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;gBACvC,UAAU,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;gBACnC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAiFD,GAAG,CAAC,gBACqC,EACrC,iBAAuE,EACvE,QAAgD;YAElD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAkC,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmC,CAAC;gBAC7C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4DAA4D,CAAC;yBACzD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;gBACvC,UAAU,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;gBACnC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzD;iBAAM;gBACL,OAAO,oCAAgB,CAAkB,UAAU,CAAC,CAAC;aACtD;QACH,CAAC;QAgGD,IAAI,CACA,gBACyC,EACzC,iBACyC,EACzC,QAAoD;YAEtD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoC,CAAC;gBAC9C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,iDAAiD,CAAC;yBACxD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAsB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC7D;iBAAM;gBACL,OAAO,oCAAgB,CAAsB,UAAU,CAAC,CAAC;aAC1D;QACH,CAAC;QAyFD,SAAS,CACL,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAwC,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAyC,CAAC;gBACnD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,sEAAsE,CAAC;yBACnE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;gBACvC,UAAU,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;gBACnC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;KACF;IAhhBY,6BAAkB,qBAghB9B,CAAA;IAyHD,MAAa,wBAAwB;QAEnC,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAqFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA2C,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4C,CAAC;gBACtD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,wEAAwE,CAAC;yBACrE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;gBAC7C,UAAU,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;gBACzC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAkFD,GAAG,CAAC,gBAC2C,EAC3C,iBAC2C,EAC3C,QAAsD;YAExD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAwC,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAyC,CAAC;gBACnD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,wEAAwE,CAAC;yBACrE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;gBAC7C,UAAU,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;gBACzC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAwB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC/D;iBAAM;gBACL,OAAO,oCAAgB,CAAwB,UAAU,CAAC,CAAC;aAC5D;QACH,CAAC;QAsFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA2C,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4C,CAAC;gBACtD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,uDAAuD,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAiGD,IAAI,CACA,gBAC+C,EAC/C,iBAC+C,EAC/C,QAA0D;YAE5D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAyC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0C,CAAC;gBACpD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,uDAAuD,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA4B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACnE;iBAAM;gBACL,OAAO,oCAAgB,CAA4B,UAAU,CAAC,CAAC;aAChE;QACH,CAAC;KACF;IAjhBY,mCAAwB,2BAihBpC,CAAA;IAkID,MAAa,oBAAoB;QAE/B,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA8BD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAuC,CAAC;YACnE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwC,CAAC;gBAClD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,+DAA+D,CAAC;yBAC5D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC;gBACxC,UAAU,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC;gBACpC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAyBD,GAAG,CAAC,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAoC,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqC,CAAC;gBAC/C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,+DAA+D,CAAC;yBAC5D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC;gBACxC,UAAU,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC;gBACpC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA6BD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAuC,CAAC;YACnE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwC,CAAC;gBAClD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,mDAAmD,CAAC;yBAChD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA8BD,IAAI,CACA,gBAC4C,EAC5C,iBAC4C,EAC5C,QAAuD;YAEzD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAqC,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsC,CAAC;gBAChD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,mDAAmD,CAAC;yBAChD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAyB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAChE;iBAAM;gBACL,OAAO,oCAAgB,CAAyB,UAAU,CAAC,CAAC;aAC7D;QACH,CAAC;QAqCD,qBAAqB,CACjB,gBACqE,EACrE,iBACqE,EACrE,QACoD;YAEtD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACiB,CAAC;YACtD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAuD,CAAC;gBACjE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,yEAAyE,CAAC;yBACtE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CAC8B,UAAU,CAAC,CAAC;aAClE;QACH,CAAC;QA6BD,KAAK,CACD,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAsC,CAAC;YAClE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAuC,CAAC;gBACjD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,+DAA+D,CAAC;yBAC5D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC;gBACxC,UAAU,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC;gBACpC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;KACF;IA9bY,+BAAoB,uBA8bhC,CAAA;IA4ND,MAAa,oBAAoB;QAE/B,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAmGD,cAAc,CACV,gBACqD,EACrD,iBACqD,EACrD,QAAgE;YAElE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACU,CAAC;YAC/C,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgD,CAAC;gBAC1D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,uDAAuD,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzE;iBAAM;gBACL,OAAO,oCAAgB,CAAkC,UAAU,CAAC,CAAC;aACtE;QACH,CAAC;QAwFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAuC,CAAC;YACnE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwC,CAAC;gBAClD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,0EAA0E,CAAC;yBACvE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC;gBACnD,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC;gBAC/C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA2FD,iBAAiB,CACb,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACa,CAAC;YAClD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmD,CAAC;gBAC7D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4FAA4F,CAAC;yBACzF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC;gBACnD,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC;gBAC/C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAqFD,GAAG,CAAC,gBACuC,EACvC,iBACuC,EACvC,QAAkD;YAEpD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAoC,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqC,CAAC;gBAC/C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,0EAA0E,CAAC;yBACvE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC;gBACnD,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC;gBAC/C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAoB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3D;iBAAM;gBACL,OAAO,oCAAgB,CAAoB,UAAU,CAAC,CAAC;aACxD;QACH,CAAC;QA0FD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAuC,CAAC;YACnE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwC,CAAC;gBAClD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,6DAA6D,CAAC;yBAC1D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACrC,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAmGD,IAAI,CACA,gBAC2C,EAC3C,iBAC2C,EAC3C,QAAsD;YAExD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAqC,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsC,CAAC;gBAChD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,6DAA6D,CAAC;yBAC1D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACrC,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAwB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC/D;iBAAM;gBACL,OAAO,oCAAgB,CAAwB,UAAU,CAAC,CAAC;aAC5D;QACH,CAAC;QAoCD,UAAU,CACN,gBAC4D,EAC5D,iBAC4D,EAC5D,QACgE;YAElE,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA2C,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4C,CAAC;gBACtD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kEAAkE,CAAC;yBAC/D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;QAiCD,KAAK,CACD,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAsC,CAAC;YAClE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAuC,CAAC;gBACjD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,0EAA0E,CAAC;yBACvE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC;gBACnD,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC;gBAC/C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA6FD,wBAAwB,CACpB,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACoB,CAAC;YACzD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0D,CAAC;gBACpE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,mGAAmG,CAAC;yBAChG,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC;gBACnD,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC;gBAC/C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;KACF;IAtlCY,+BAAoB,uBAslChC,CAAA;IA6WD,MAAa,0BAA0B;QAErC,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAqFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA6C,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8C,CAAC;gBACxD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,2EAA2E,CAAC;yBACxE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,iBAAiB,CAAC;gBAC9C,UAAU,EAAE,CAAC,SAAS,EAAE,iBAAiB,CAAC;gBAC1C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAkFD,GAAG,CAAC,gBAC4C,EAC5C,iBAC4C,EAC5C,QAAuD;YAEzD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,2EAA2E,CAAC;yBACxE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,iBAAiB,CAAC;gBAC9C,UAAU,EAAE,CAAC,SAAS,EAAE,iBAAiB,CAAC;gBAC1C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAyB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAChE;iBAAM;gBACL,OAAO,oCAAgB,CAAyB,UAAU,CAAC,CAAC;aAC7D;QACH,CAAC;QAsFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA6C,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8C,CAAC;gBACxD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,yDAAyD,CAAC;yBACtD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAiGD,IAAI,CACA,gBACgD,EAChD,iBACgD,EAChD,QAA2D;YAE7D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA2C,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4C,CAAC;gBACtD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,yDAAyD,CAAC;yBACtD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA6B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACpE;iBAAM;gBACL,OAAO,oCAAgB,CAA6B,UAAU,CAAC,CAAC;aACjE;QACH,CAAC;QA0FD,SAAS,CACL,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACW,CAAC;YAChD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiD,CAAC;gBAC3D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,8EAA8E,CAAC;yBAC3E,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,iBAAiB,CAAC;gBAC9C,UAAU,EAAE,CAAC,SAAS,EAAE,iBAAiB,CAAC;gBAC1C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;KACF;IAtpBY,qCAA0B,6BAspBtC,CAAA;IAmKD,MAAa,2BAA2B;QAEtC,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAqFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA8C,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA+C,CAAC;gBACzD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,6EAA6E,CAAC;yBAC1E,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,kBAAkB,CAAC;gBAC/C,UAAU,EAAE,CAAC,SAAS,EAAE,kBAAkB,CAAC;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAkFD,GAAG,CAAC,gBAC6C,EAC7C,iBAC6C,EAC7C,QAAwD;YAE1D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA2C,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4C,CAAC;gBACtD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,6EAA6E,CAAC;yBAC1E,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,kBAAkB,CAAC;gBAC/C,UAAU,EAAE,CAAC,SAAS,EAAE,kBAAkB,CAAC;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA0B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACjE;iBAAM;gBACL,OAAO,oCAAgB,CAA0B,UAAU,CAAC,CAAC;aAC9D;QACH,CAAC;QAsFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA8C,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA+C,CAAC;gBACzD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,0DAA0D,CAAC;yBACvD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAkGD,IAAI,CACA,gBACiD,EACjD,iBACiD,EACjD,QAA4D;YAE9D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA4C,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6C,CAAC;gBACvD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,0DAA0D,CAAC;yBACvD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA8B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrE;iBAAM;gBACL,OAAO,oCAAgB,CAA8B,UAAU,CAAC,CAAC;aAClE;QACH,CAAC;QA6BD,eAAe,CACX,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACkB,CAAC;YACvD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwD,CAAC;gBAClE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,6FAA6F,CAAC;yBAC1F,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,kBAAkB,CAAC;gBAC/C,UAAU,EAAE,CAAC,SAAS,EAAE,kBAAkB,CAAC;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAwFD,kBAAkB,CACd,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACqB,CAAC;YAC1D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2D,CAAC;gBACrE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,yFAAyF,CAAC;yBACtF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,kBAAkB,CAAC;gBAC/C,UAAU,EAAE,CAAC,SAAS,EAAE,kBAAkB,CAAC;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAgCD,YAAY,CACR,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACe,CAAC;YACpD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqD,CAAC;gBAC/D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,0FAA0F,CAAC;yBACvF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,kBAAkB,CAAC;gBAC/C,UAAU,EAAE,CAAC,SAAS,EAAE,kBAAkB,CAAC;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA0FD,SAAS,CACL,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACY,CAAC;YACjD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkD,CAAC;gBAC5D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,gFAAgF,CAAC;yBAC7E,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,kBAAkB,CAAC;gBAC/C,UAAU,EAAE,CAAC,SAAS,EAAE,kBAAkB,CAAC;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;KACF;IA96BY,sCAA2B,8BA86BvC,CAAA;IAyQD,MAAa,wBAAwB;QAEnC,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAuGD,cAAc,CACV,gBACyD,EACzD,iBACyD,EACzD,QAAoE;YAEtE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACc,CAAC;YACnD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoD,CAAC;gBAC9D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,2DAA2D,CAAC;yBACxD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;QAyFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA2C,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4C,CAAC;gBACtD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,8EAA8E,CAAC;yBAC3E,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,gBAAgB,CAAC;gBACrD,UAAU,EAAE,CAAC,SAAS,EAAE,gBAAgB,EAAE,MAAM,CAAC;gBACjD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAsFD,GAAG,CAAC,gBAC2C,EAC3C,iBAC2C,EAC3C,QAAsD;YAExD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAwC,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAyC,CAAC;gBACnD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,8EAA8E,CAAC;yBAC3E,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,gBAAgB,CAAC;gBACrD,UAAU,EAAE,CAAC,SAAS,EAAE,gBAAgB,EAAE,MAAM,CAAC;gBACjD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAwB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC/D;iBAAM;gBACL,OAAO,oCAAgB,CAAwB,UAAU,CAAC,CAAC;aAC5D;QACH,CAAC;QA0FD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA2C,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4C,CAAC;gBACtD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,6DAA6D,CAAC;yBAC1D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;gBACnC,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAqGD,IAAI,CACA,gBAC+C,EAC/C,iBAC+C,EAC/C,QAA0D;YAE5D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAyC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0C,CAAC;gBACpD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,6DAA6D,CAAC;yBAC1D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;gBACnC,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA4B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACnE;iBAAM;gBACL,OAAO,oCAAgB,CAA4B,UAAU,CAAC,CAAC;aAChE;QACH,CAAC;KACF;IAtrBY,mCAAwB,2BAsrBpC,CAAA;IAwMD,MAAa,oBAAoB;QAE/B,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA6FD,cAAc,CACV,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACU,CAAC;YAC/C,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgD,CAAC;gBAC1D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,yFAAyF,CAAC;yBACtF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC;gBACnD,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC;gBAC/C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA6FD,WAAW,CACP,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA4C,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6C,CAAC;gBACvD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,sFAAsF,CAAC;yBACnF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC;gBACnD,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC;gBAC/C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAmGD,cAAc,CACV,gBACqD,EACrD,iBACqD,EACrD,QAAgE;YAElE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACU,CAAC;YAC/C,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgD,CAAC;gBAC1D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,uDAAuD,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzE;iBAAM;gBACL,OAAO,oCAAgB,CAAkC,UAAU,CAAC,CAAC;aACtE;QACH,CAAC;QAwFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAuC,CAAC;YACnE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwC,CAAC;gBAClD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,0EAA0E,CAAC;yBACvE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC;gBACnD,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC;gBAC/C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAqFD,GAAG,CAAC,gBACuC,EACvC,iBACuC,EACvC,QAAkD;YAEpD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAoC,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqC,CAAC;gBAC/C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,0EAA0E,CAAC;yBACvE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC;gBACnD,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC;gBAC/C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAoB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3D;iBAAM;gBACL,OAAO,oCAAgB,CAAoB,UAAU,CAAC,CAAC;aACxD;QACH,CAAC;QAgGD,SAAS,CACL,gBACqD,EACrD,iBACqD,EACrD,QAAgE;YAElE,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,oFAAoF,CAAC;yBACjF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC;gBACnD,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC;gBAC/C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzE;iBAAM;gBACL,OAAO,oCAAgB,CAAkC,UAAU,CAAC,CAAC;aACtE;QACH,CAAC;QA0FD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAuC,CAAC;YACnE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwC,CAAC;gBAClD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,6DAA6D,CAAC;yBAC1D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACrC,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAoGD,IAAI,CACA,gBAC2C,EAC3C,iBAC2C,EAC3C,QAAsD;YAExD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAqC,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsC,CAAC;gBAChD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,6DAA6D,CAAC;yBAC1D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACrC,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAwB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC/D;iBAAM;gBACL,OAAO,oCAAgB,CAAwB,UAAU,CAAC,CAAC;aAC5D;QACH,CAAC;QA2FD,iBAAiB,CACb,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACa,CAAC;YAClD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmD,CAAC;gBAC7D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4FAA4F,CAAC;yBACzF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC;gBACnD,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC;gBAC/C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA6FD,cAAc,CACV,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACU,CAAC;YAC/C,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgD,CAAC;gBAC1D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,yFAAyF,CAAC;yBACtF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC;gBACnD,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC;gBAC/C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA8FD,SAAS,CACL,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,oFAAoF,CAAC;yBACjF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC;gBACnD,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC;gBAC/C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;KACF;IA79CY,+BAAoB,uBA69ChC,CAAA;IA6ZD,MAAa,yBAAyB;QAEpC,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAqFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA4C,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6C,CAAC;gBACvD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,yEAAyE,CAAC;yBACtE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;gBAC7C,UAAU,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;gBACzC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAkFD,GAAG,CAAC,gBAC2C,EAC3C,iBAC2C,EAC3C,QAAsD;YAExD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAyC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0C,CAAC;gBACpD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,yEAAyE,CAAC;yBACtE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;gBAC7C,UAAU,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;gBACzC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAwB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC/D;iBAAM;gBACL,OAAO,oCAAgB,CAAwB,UAAU,CAAC,CAAC;aAC5D;QACH,CAAC;QAsFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA4C,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6C,CAAC;gBACvD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,wDAAwD,CAAC;yBACrD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAiGD,IAAI,CACA,gBAC+C,EAC/C,iBAC+C,EAC/C,QAA0D;YAE5D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,wDAAwD,CAAC;yBACrD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA4B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACnE;iBAAM;gBACL,OAAO,oCAAgB,CAA4B,UAAU,CAAC,CAAC;aAChE;QACH,CAAC;QAwFD,iBAAiB,CACb,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACkB,CAAC;YACvD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwD,CAAC;gBAClE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,2FAA2F,CAAC;yBACxF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;gBAC7C,UAAU,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;gBACzC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAwFD,cAAc,CACV,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACe,CAAC;YACpD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqD,CAAC;gBAC/D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,wFAAwF,CAAC;yBACrF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;gBAC7C,UAAU,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;gBACzC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAwFD,kBAAkB,CACd,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACmB,CAAC;YACxD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAyD,CAAC;gBACnE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4FAA4F,CAAC;yBACzF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;gBAC7C,UAAU,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;gBACzC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAgCD,YAAY,CACR,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACa,CAAC;YAClD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmD,CAAC;gBAC7D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,sFAAsF,CAAC;yBACnF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;gBAC7C,UAAU,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;gBACzC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;KACF;IAr+BY,oCAAyB,4BAq+BrC,CAAA;IAyQD,MAAa,yBAAyB;QAEpC,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAqFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA4C,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6C,CAAC;gBACvD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,yEAAyE,CAAC;yBACtE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;gBAC7C,UAAU,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;gBACzC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAkFD,GAAG,CAAC,gBAC2C,EAC3C,iBAC2C,EAC3C,QAAsD;YAExD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAyC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0C,CAAC;gBACpD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,yEAAyE,CAAC;yBACtE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;gBAC7C,UAAU,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;gBACzC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAwB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC/D;iBAAM;gBACL,OAAO,oCAAgB,CAAwB,UAAU,CAAC,CAAC;aAC5D;QACH,CAAC;QAsFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA4C,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6C,CAAC;gBACvD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,wDAAwD,CAAC;yBACrD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAiGD,IAAI,CACA,gBAC+C,EAC/C,iBAC+C,EAC/C,QAA0D;YAE5D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,wDAAwD,CAAC;yBACrD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA4B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACnE;iBAAM;gBACL,OAAO,oCAAgB,CAA4B,UAAU,CAAC,CAAC;aAChE;QACH,CAAC;QAwFD,iBAAiB,CACb,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACkB,CAAC;YACvD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwD,CAAC;gBAClE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,2FAA2F,CAAC;yBACxF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;gBAC7C,UAAU,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;gBACzC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAwFD,cAAc,CACV,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACe,CAAC;YACpD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqD,CAAC;gBAC/D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,wFAAwF,CAAC;yBACrF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;gBAC7C,UAAU,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;gBACzC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;KACF;IAvxBY,oCAAyB,4BAuxBrC,CAAA;IAqMD,MAAa,0BAA0B;QAErC,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAuGD,cAAc,CACV,gBAC2D,EAC3D,iBAC2D,EAC3D,QAAsE;YAExE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACgB,CAAC;YACrD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsD,CAAC;gBAChE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,6DAA6D,CAAC;yBAC1D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;QAyFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA6C,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8C,CAAC;gBACxD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,sFAAsF,CAAC;yBACnF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,kBAAkB,CAAC;gBACzD,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,kBAAkB,CAAC;gBACrD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAsFD,GAAG,CAAC,gBAC6C,EAC7C,iBAC6C,EAC7C,QAAwD;YAE1D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,sFAAsF,CAAC;yBACnF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,kBAAkB,CAAC;gBACzD,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,kBAAkB,CAAC;gBACrD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA0B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACjE;iBAAM;gBACL,OAAO,oCAAgB,CAA0B,UAAU,CAAC,CAAC;aAC9D;QACH,CAAC;QA0FD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA6C,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8C,CAAC;gBACxD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,mEAAmE,CAAC;yBAChE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACrC,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAsGD,IAAI,CACA,gBACiD,EACjD,iBACiD,EACjD,QAA4D;YAE9D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA2C,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4C,CAAC;gBACtD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,mEAAmE,CAAC;yBAChE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACrC,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA8B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrE;iBAAM;gBACL,OAAO,oCAAgB,CAA8B,UAAU,CAAC,CAAC;aAClE;QACH,CAAC;KACF;IAxrBY,qCAA0B,6BAwrBtC,CAAA;IAwMD,MAAa,gBAAgB;QAE3B,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAmFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoC,CAAC;gBAC9C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,wDAAwD,CAAC;yBACrD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACrC,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAiFD,GAAG,CAAC,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAgC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiC,CAAC;gBAC3C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,wDAAwD,CAAC;yBACrD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACrC,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;QAqFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoC,CAAC;gBAC9C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,+CAA+C,CAAC;yBACtD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA0FD,eAAe,CACX,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA4C,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6C,CAAC;gBACvD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,wEAAwE,CAAC;yBACrE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACrC,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAgGD,IAAI,CACA,gBACuC,EACvC,iBACuC,EACvC,QAAkD;YAEpD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAiC,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkC,CAAC;gBAC5C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,+CAA+C,CAAC;yBACtD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAoB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3D;iBAAM;gBACL,OAAO,oCAAgB,CAAoB,UAAU,CAAC,CAAC;aACxD;QACH,CAAC;QA4FD,KAAK,CACD,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAkC,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmC,CAAC;gBAC7C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,wDAAwD,CAAC;yBACrD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACrC,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA2FD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoC,CAAC;gBAC9C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,wDAAwD,CAAC;yBACrD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACrC,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA4FD,QAAQ,CACJ,gBACoD,EACpD,iBACoD,EACpD,QAA+D;YAEjE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAqC,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsC,CAAC;gBAChD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,iEAAiE,CAAC;yBAC9D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACrC,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxE;iBAAM;gBACL,OAAO,oCAAgB,CAAiC,UAAU,CAAC,CAAC;aACrE;QACH,CAAC;KACF;IAvhCY,2BAAgB,mBAuhC5B,CAAA;IAyPD,MAAa,mBAAmB;QAE9B,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAmGD,cAAc,CACV,gBACoD,EACpD,iBACoD,EACpD,QAA+D;YAEjE,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA8C,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA+C,CAAC;gBACzD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,sDAAsD,CAAC;yBACnD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxE;iBAAM;gBACL,OAAO,oCAAgB,CAAiC,UAAU,CAAC,CAAC;aACrE;QACH,CAAC;QAuFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAsC,CAAC;YAClE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAuC,CAAC;gBACjD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,wEAAwE,CAAC;yBACrE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC;gBAClD,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC;gBAC9C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAqFD,GAAG,CAAC,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoC,CAAC;gBAC9C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,wEAAwE,CAAC;yBACrE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC;gBAClD,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC;gBAC9C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAyFD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAsC,CAAC;YAClE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAuC,CAAC;gBACjD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4DAA4D,CAAC;yBACzD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACrC,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAoGD,IAAI,CACA,gBAC0C,EAC1C,iBAC0C,EAC1C,QAAqD;YAEvD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAoC,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqC,CAAC;gBAC/C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4DAA4D,CAAC;yBACzD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACrC,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAuB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9D;iBAAM;gBACL,OAAO,oCAAgB,CAAuB,UAAU,CAAC,CAAC;aAC3D;QACH,CAAC;KACF;IAzqBY,8BAAmB,sBAyqB/B,CAAA;IAwMD,MAAa,uBAAuB;QAElC,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAoFD,MAAM,CACF,gBAC0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,oEAAoE,CAAC;yBACjE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC;gBAChD,UAAU,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC;gBAC5C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;QAoFD,GAAG,CAAC,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAuC,CAAC;YACnE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwC,CAAC;gBAClD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,oEAAoE,CAAC;yBACjE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC;gBAChD,UAAU,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC;gBAC5C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAoGD,IAAI,CACA,gBAC0C,EAC1C,iBAC0C,EAC1C,QAAqD;YAEvD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAwC,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAyC,CAAC;gBACnD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,wDAAwD,CAAC;yBACrD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;gBACnC,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAuB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9D;iBAAM;gBACL,OAAO,oCAAgB,CAAuB,UAAU,CAAC,CAAC;aAC3D;QACH,CAAC;KACF;IAnZY,kCAAuB,0BAmZnC,CAAA;IAoGD,MAAa,cAAc;QAEzB,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAiFD,GAAG,CAAC,gBACiC,EACjC,iBAAmE,EACnE,QAA4C;YAE9C,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAA8B,CAAC;YACnE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA+B,CAAC;gBACzC,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,6CAA6C,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;gBACnC,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAc,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrD;iBAAM;gBACL,OAAO,oCAAgB,CAAc,UAAU,CAAC,CAAC;aAClD;QACH,CAAC;QAgGD,IAAI,CACA,gBACqC,EACrC,iBAAuE,EACvE,QAAgD;YAElD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAA+B,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgC,CAAC;gBAC1C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,sCAAsC,CAAC;yBAC7C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzD;iBAAM;gBACL,OAAO,oCAAgB,CAAkB,UAAU,CAAC,CAAC;aACtD;QACH,CAAC;KACF;IAxQY,yBAAc,iBAwQ1B,CAAA;AAuEH,CAAC,EA/4lEgB,UAAU,GAAV,kBAAU,KAAV,kBAAU,QA+4lE1B"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/container/README.md b/express-server/node_modules/googleapis/build/src/apis/container/README.md new file mode 100644 index 00000000..4e5e0c68 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/container/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/container + +> The Google Kubernetes Engine API is used for building and managing container based applications, powered by the open source Kubernetes technology. + +## Installation + +```sh +$ npm install @google/container +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/container/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/container/index.d.ts new file mode 100644 index 00000000..0eed749a --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/container/index.d.ts @@ -0,0 +1,10 @@ +import { container_v1 } from './v1'; +import { container_v1beta1 } from './v1beta1'; +export declare const VERSIONS: { + 'v1': typeof container_v1.Container; + 'v1beta1': typeof container_v1beta1.Container; +}; +export declare function container(version: 'v1'): container_v1.Container; +export declare function container(options: container_v1.Options): container_v1.Container; +export declare function container(version: 'v1beta1'): container_v1beta1.Container; +export declare function container(options: container_v1beta1.Options): container_v1beta1.Container; diff --git a/express-server/node_modules/googleapis/build/src/apis/container/index.js b/express-server/node_modules/googleapis/build/src/apis/container/index.js new file mode 100644 index 00000000..4afc2b9e --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/container/index.js @@ -0,0 +1,27 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +const v1beta1_1 = require("./v1beta1"); +exports.VERSIONS = { + 'v1': v1_1.container_v1.Container, + 'v1beta1': v1beta1_1.container_v1beta1.Container, +}; +function container(versionOrOptions) { + return googleapis_common_1.getAPI('container', versionOrOptions, exports.VERSIONS, this); +} +exports.container = container; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/container/index.js.map b/express-server/node_modules/googleapis/build/src/apis/container/index.js.map new file mode 100644 index 00000000..13adad6d --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/container/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/container/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAkC;AAClC,uCAA4C;AAE/B,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,iBAAY,CAAC,SAAS;IAC5B,SAAS,EAAE,2BAAiB,CAAC,SAAS;CACvC,CAAC;AAQF,SACA,SAAS,CAEL,gBACyB;IAC3B,OAAO,0BAAM,CAAI,WAAW,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAClE,CAAC;AAND,8BAMC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/container/package.json b/express-server/node_modules/googleapis/build/src/apis/container/package.json new file mode 100644 index 00000000..76e68227 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/container/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/container", + "version": "0.1.0", + "description": "container", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/container/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/container/v1.d.ts new file mode 100644 index 00000000..5a2c37a9 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/container/v1.d.ts @@ -0,0 +1,6291 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace container_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Kubernetes Engine API + * + * The Google Kubernetes Engine API is used for building and managing + * container based applications, powered by the open source Kubernetes + * technology. + * + * @example + * const {google} = require('googleapis'); + * const container = google.container('v1'); + * + * @namespace container + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Container + */ + class Container { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + projects: Resource$Projects; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * AcceleratorConfig represents a Hardware Accelerator request. + */ + interface Schema$AcceleratorConfig { + /** + * The number of the accelerator cards exposed to an instance. + */ + acceleratorCount?: string; + /** + * The accelerator type resource name. List of supported accelerators + * [here](/compute/docs/gpus/#Introduction) + */ + acceleratorType?: string; + } + /** + * Configuration for the addons that can be automatically spun up in the + * cluster, enabling additional functionality. + */ + interface Schema$AddonsConfig { + /** + * Configuration for the horizontal pod autoscaling feature, which increases + * or decreases the number of replica pods a replication controller has + * based on the resource usage of the existing pods. + */ + horizontalPodAutoscaling?: Schema$HorizontalPodAutoscaling; + /** + * Configuration for the HTTP (L7) load balancing controller addon, which + * makes it easy to set up HTTP load balancers for services in a cluster. + */ + httpLoadBalancing?: Schema$HttpLoadBalancing; + /** + * Configuration for the Kubernetes Dashboard. + */ + kubernetesDashboard?: Schema$KubernetesDashboard; + /** + * Configuration for NetworkPolicy. This only tracks whether the addon is + * enabled or not on the Master, it does not track whether network policy is + * enabled for the nodes. + */ + networkPolicyConfig?: Schema$NetworkPolicyConfig; + } + /** + * AutoUpgradeOptions defines the set of options for the user to control how + * the Auto Upgrades will proceed. + */ + interface Schema$AutoUpgradeOptions { + /** + * [Output only] This field is set when upgrades are about to commence with + * the approximate start time for the upgrades, in + * [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. + */ + autoUpgradeStartTime?: string; + /** + * [Output only] This field is set when upgrades are about to commence with + * the description of the upgrade. + */ + description?: string; + } + /** + * CancelOperationRequest cancels a single operation. + */ + interface Schema$CancelOperationRequest { + /** + * The name (project, location, operation id) of the operation to cancel. + * Specified in the format 'projects/x/locations/x/operations/*'. + */ + name?: string; + /** + * Deprecated. The server-assigned `name` of the operation. This field has + * been deprecated and replaced by the name field. + */ + operationId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the operation resides. + * This field has been deprecated and replaced by the name field. + */ + zone?: string; + } + /** + * CidrBlock contains an optional name and one CIDR block. + */ + interface Schema$CidrBlock { + /** + * cidr_block must be specified in CIDR notation. + */ + cidrBlock?: string; + /** + * display_name is an optional field for users to identify CIDR blocks. + */ + displayName?: string; + } + /** + * Configuration for client certificates on the cluster. + */ + interface Schema$ClientCertificateConfig { + /** + * Issue a client certificate. + */ + issueClientCertificate?: boolean; + } + /** + * A Google Kubernetes Engine cluster. + */ + interface Schema$Cluster { + /** + * Configurations for the various addons available to run in the cluster. + */ + addonsConfig?: Schema$AddonsConfig; + /** + * The IP address range of the container pods in this cluster, in + * [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + * notation (e.g. `10.96.0.0/14`). Leave blank to have one automatically + * chosen or specify a `/14` block in `10.0.0.0/8`. + */ + clusterIpv4Cidr?: string; + /** + * [Output only] The time the cluster was created, in + * [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. + */ + createTime?: string; + /** + * [Output only] The current software version of the master endpoint. + */ + currentMasterVersion?: string; + /** + * [Output only] The number of nodes currently in the cluster. + */ + currentNodeCount?: number; + /** + * [Output only] Deprecated, use + * [NodePool.version](/kubernetes-engine/docs/reference/rest/v1/projects.zones.clusters.nodePool) + * instead. The current version of the node software components. If they are + * currently at multiple versions because they're in the process of + * being upgraded, this reflects the minimum version of all nodes. + */ + currentNodeVersion?: string; + /** + * An optional description of this cluster. + */ + description?: string; + /** + * Kubernetes alpha features are enabled on this cluster. This includes + * alpha API groups (e.g. v1alpha1) and features that may not be production + * ready in the kubernetes version of the master and nodes. The cluster has + * no SLA for uptime and master/node upgrades are disabled. Alpha enabled + * clusters are automatically deleted thirty days after creation. + */ + enableKubernetesAlpha?: boolean; + /** + * [Output only] The IP address of this cluster's master endpoint. The + * endpoint can be accessed from the internet at + * `https://username:password@endpoint/`. See the `masterAuth` property of + * this resource for username and password information. + */ + endpoint?: string; + /** + * [Output only] The time the cluster will be automatically deleted in + * [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. + */ + expireTime?: string; + /** + * The initial Kubernetes version for this cluster. Valid versions are + * those found in validMasterVersions returned by getServerConfig. The + * version can be upgraded over time; such upgrades are reflected in + * currentMasterVersion and currentNodeVersion. Users may specify either + * explicit versions offered by Kubernetes Engine or version aliases, which + * have the following behavior: - "latest": picks the highest + * valid Kubernetes version - "1.X": picks the highest valid + * patch+gke.N patch in the 1.X version - "1.X.Y": picks the + * highest valid gke.N patch in the 1.X.Y version - "1.X.Y-gke.N": + * picks an explicit Kubernetes version - "","-": picks + * the default Kubernetes version + */ + initialClusterVersion?: string; + /** + * The number of nodes to create in this cluster. You must ensure that your + * Compute Engine <a + * href="/compute/docs/resource-quotas">resource + * quota</a> is sufficient for this number of instances. You must also + * have available firewall and routes quota. For requests, this field should + * only be used in lieu of a "node_pool" object, since this + * configuration (along with the "node_config") will be used to + * create a "NodePool" object with an auto-generated name. Do not + * use this and a node_pool at the same time. + */ + initialNodeCount?: number; + /** + * Deprecated. Use node_pools.instance_group_urls. + */ + instanceGroupUrls?: string[]; + /** + * Configuration for cluster IP allocation. + */ + ipAllocationPolicy?: Schema$IPAllocationPolicy; + /** + * The fingerprint of the set of labels for this cluster. + */ + labelFingerprint?: string; + /** + * Configuration for the legacy ABAC authorization mode. + */ + legacyAbac?: Schema$LegacyAbac; + /** + * [Output only] The name of the Google Compute Engine + * [zone](/compute/docs/regions-zones/regions-zones#available) or + * [region](/compute/docs/regions-zones/regions-zones#available) in which + * the cluster resides. + */ + location?: string; + /** + * The list of Google Compute Engine + * [locations](/compute/docs/zones#available) in which the cluster's + * nodes should be located. + */ + locations?: string[]; + /** + * The logging service the cluster should use to write logs. Currently + * available options: * `logging.googleapis.com` - the Google Cloud Logging + * service. * `none` - no logs will be exported from the cluster. * if left + * as an empty string,`logging.googleapis.com` will be used. + */ + loggingService?: string; + /** + * Configure the maintenance policy for this cluster. + */ + maintenancePolicy?: Schema$MaintenancePolicy; + /** + * The authentication information for accessing the master endpoint. + */ + masterAuth?: Schema$MasterAuth; + /** + * The configuration options for master authorized networks feature. + */ + masterAuthorizedNetworksConfig?: Schema$MasterAuthorizedNetworksConfig; + /** + * The monitoring service the cluster should use to write metrics. Currently + * available options: * `monitoring.googleapis.com` - the Google Cloud + * Monitoring service. * `none` - no metrics will be exported from the + * cluster. * if left as an empty string, `monitoring.googleapis.com` will + * be used. + */ + monitoringService?: string; + /** + * The name of this cluster. The name must be unique within this project and + * zone, and can be up to 40 characters with the following restrictions: * + * Lowercase letters, numbers, and hyphens only. * Must start with a letter. + * * Must end with a number or a letter. + */ + name?: string; + /** + * The name of the Google Compute Engine + * [network](/compute/docs/networks-and-firewalls#networks) to which the + * cluster is connected. If left unspecified, the `default` network will be + * used. + */ + network?: string; + /** + * Configuration for cluster networking. + */ + networkConfig?: Schema$NetworkConfig; + /** + * Configuration options for the NetworkPolicy feature. + */ + networkPolicy?: Schema$NetworkPolicy; + /** + * Parameters used in creating the cluster's nodes. See `nodeConfig` for + * the description of its properties. For requests, this field should only + * be used in lieu of a "node_pool" object, since this + * configuration (along with the "initial_node_count") will be + * used to create a "NodePool" object with an auto-generated name. + * Do not use this and a node_pool at the same time. For responses, this + * field will be populated with the node configuration of the first node + * pool. If unspecified, the defaults are used. + */ + nodeConfig?: Schema$NodeConfig; + /** + * [Output only] The size of the address space on each node for hosting + * containers. This is provisioned from within the `container_ipv4_cidr` + * range. + */ + nodeIpv4CidrSize?: number; + /** + * The node pools associated with this cluster. This field should not be set + * if "node_config" or "initial_node_count" are + * specified. + */ + nodePools?: Schema$NodePool[]; + /** + * Configuration for private cluster. + */ + privateClusterConfig?: Schema$PrivateClusterConfig; + /** + * The resource labels for the cluster to use to annotate any related Google + * Compute Engine resources. + */ + resourceLabels?: any; + /** + * [Output only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output only] The IP address range of the Kubernetes services in this + * cluster, in + * [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + * notation (e.g. `1.2.3.4/29`). Service addresses are typically put in the + * last `/16` from the container CIDR. + */ + servicesIpv4Cidr?: string; + /** + * [Output only] The current status of this cluster. + */ + status?: string; + /** + * [Output only] Additional information about the current status of this + * cluster, if available. + */ + statusMessage?: string; + /** + * The name of the Google Compute Engine + * [subnetwork](/compute/docs/subnetworks) to which the cluster is + * connected. + */ + subnetwork?: string; + /** + * [Output only] The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field is deprecated, use location instead. + */ + zone?: string; + } + /** + * ClusterUpdate describes an update to the cluster. Exactly one update can be + * applied to a cluster with each request, so at most one field can be + * provided. + */ + interface Schema$ClusterUpdate { + /** + * Configurations for the various addons available to run in the cluster. + */ + desiredAddonsConfig?: Schema$AddonsConfig; + /** + * The desired image type for the node pool. NOTE: Set the + * "desired_node_pool" field as well. + */ + desiredImageType?: string; + /** + * The desired list of Google Compute Engine + * [locations](/compute/docs/zones#available) in which the cluster's + * nodes should be located. Changing the locations a cluster is in will + * result in nodes being either created or removed from the cluster, + * depending on whether locations are being added or removed. This list + * must always include the cluster's primary zone. + */ + desiredLocations?: string[]; + /** + * The desired configuration options for master authorized networks feature. + */ + desiredMasterAuthorizedNetworksConfig?: Schema$MasterAuthorizedNetworksConfig; + /** + * The Kubernetes version to change the master to. Users may specify either + * explicit versions offered by Kubernetes Engine or version aliases, which + * have the following behavior: - "latest": picks the highest + * valid Kubernetes version - "1.X": picks the highest valid + * patch+gke.N patch in the 1.X version - "1.X.Y": picks the + * highest valid gke.N patch in the 1.X.Y version - "1.X.Y-gke.N": + * picks an explicit Kubernetes version - "-": picks the default + * Kubernetes version + */ + desiredMasterVersion?: string; + /** + * The monitoring service the cluster should use to write metrics. Currently + * available options: * "monitoring.googleapis.com" - the Google + * Cloud Monitoring service * "none" - no metrics will be exported + * from the cluster + */ + desiredMonitoringService?: string; + /** + * Autoscaler configuration for the node pool specified in + * desired_node_pool_id. If there is only one pool in the cluster and + * desired_node_pool_id is not provided then the change applies to that + * single node pool. + */ + desiredNodePoolAutoscaling?: Schema$NodePoolAutoscaling; + /** + * The node pool to be upgraded. This field is mandatory if + * "desired_node_version", "desired_image_family" or + * "desired_node_pool_autoscaling" is specified and there is more + * than one node pool on the cluster. + */ + desiredNodePoolId?: string; + /** + * The Kubernetes version to change the nodes to (typically an upgrade). + * Users may specify either explicit versions offered by Kubernetes Engine + * or version aliases, which have the following behavior: - + * "latest": picks the highest valid Kubernetes version - + * "1.X": picks the highest valid patch+gke.N patch in the 1.X + * version - "1.X.Y": picks the highest valid gke.N patch in + * the 1.X.Y version - "1.X.Y-gke.N": picks an explicit Kubernetes + * version - "-": picks the Kubernetes master version + */ + desiredNodeVersion?: string; + } + /** + * CompleteIPRotationRequest moves the cluster master back into single-IP + * mode. + */ + interface Schema$CompleteIPRotationRequest { + /** + * Deprecated. The name of the cluster. This field has been deprecated and + * replaced by the name field. + */ + clusterId?: string; + /** + * The name (project, location, cluster id) of the cluster to complete IP + * rotation. Specified in the format + * 'projects/x/locations/x/clusters/*'. + */ + name?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://developers.google.com/console/help/new/#projectnumber). + * This field has been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + /** + * CreateClusterRequest creates a cluster. + */ + interface Schema$CreateClusterRequest { + /** + * A [cluster + * resource](/container-engine/reference/rest/v1/projects.zones.clusters) + */ + cluster?: Schema$Cluster; + /** + * The parent (project and location) where the cluster will be created. + * Specified in the format 'projects/x/locations/*'. + */ + parent?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the parent field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the parent field. + */ + zone?: string; + } + /** + * CreateNodePoolRequest creates a node pool for a cluster. + */ + interface Schema$CreateNodePoolRequest { + /** + * Deprecated. The name of the cluster. This field has been deprecated and + * replaced by the parent field. + */ + clusterId?: string; + /** + * The node pool to create. + */ + nodePool?: Schema$NodePool; + /** + * The parent (project, location, cluster id) where the node pool will be + * created. Specified in the format + * 'projects/x/locations/x/clusters/*'. + */ + parent?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://developers.google.com/console/help/new/#projectnumber). + * This field has been deprecated and replaced by the parent field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the parent field. + */ + zone?: string; + } + /** + * Time window specified for daily maintenance operations. + */ + interface Schema$DailyMaintenanceWindow { + /** + * [Output only] Duration of the time window, automatically chosen to be + * smallest possible in the given scenario. Duration will be in + * [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) format + * "PTnHnMnS". + */ + duration?: string; + /** + * Time within the maintenance window to start the maintenance operations. + * Time format should be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) + * format "HH:MM”, where HH : [00-23] and MM : [00-59] GMT. + */ + startTime?: string; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * Configuration options for the horizontal pod autoscaling feature, which + * increases or decreases the number of replica pods a replication controller + * has based on the resource usage of the existing pods. + */ + interface Schema$HorizontalPodAutoscaling { + /** + * Whether the Horizontal Pod Autoscaling feature is enabled in the cluster. + * When enabled, it ensures that a Heapster pod is running in the cluster, + * which is also used by the Cloud Monitoring service. + */ + disabled?: boolean; + } + /** + * Configuration options for the HTTP (L7) load balancing controller addon, + * which makes it easy to set up HTTP load balancers for services in a + * cluster. + */ + interface Schema$HttpLoadBalancing { + /** + * Whether the HTTP Load Balancing controller is enabled in the cluster. + * When enabled, it runs a small pod in the cluster that manages the load + * balancers. + */ + disabled?: boolean; + } + /** + * Configuration for controlling how IPs are allocated in the cluster. + */ + interface Schema$IPAllocationPolicy { + /** + * This field is deprecated, use cluster_ipv4_cidr_block. + */ + clusterIpv4Cidr?: string; + /** + * The IP address range for the cluster pod IPs. If this field is set, then + * `cluster.cluster_ipv4_cidr` must be left blank. This field is only + * applicable when `use_ip_aliases` is true. Set to blank to have a range + * chosen with the default size. Set to /netmask (e.g. `/14`) to have a + * range chosen with a specific netmask. Set to a + * [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + * notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. + * `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range + * to use. + */ + clusterIpv4CidrBlock?: string; + /** + * The name of the secondary range to be used for the cluster CIDR block. + * The secondary range will be used for pod IP addresses. This must be an + * existing secondary range associated with the cluster subnetwork. This + * field is only applicable with use_ip_aliases is true and + * create_subnetwork is false. + */ + clusterSecondaryRangeName?: string; + /** + * Whether a new subnetwork will be created automatically for the cluster. + * This field is only applicable when `use_ip_aliases` is true. + */ + createSubnetwork?: boolean; + /** + * This field is deprecated, use node_ipv4_cidr_block. + */ + nodeIpv4Cidr?: string; + /** + * The IP address range of the instance IPs in this cluster. This is + * applicable only if `create_subnetwork` is true. Set to blank to have a + * range chosen with the default size. Set to /netmask (e.g. `/14`) to have + * a range chosen with a specific netmask. Set to a + * [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + * notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. + * `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range + * to use. + */ + nodeIpv4CidrBlock?: string; + /** + * This field is deprecated, use services_ipv4_cidr_block. + */ + servicesIpv4Cidr?: string; + /** + * The IP address range of the services IPs in this cluster. If blank, a + * range will be automatically chosen with the default size. This field is + * only applicable when `use_ip_aliases` is true. Set to blank to have a + * range chosen with the default size. Set to /netmask (e.g. `/14`) to have + * a range chosen with a specific netmask. Set to a + * [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + * notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. + * `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range + * to use. + */ + servicesIpv4CidrBlock?: string; + /** + * The name of the secondary range to be used as for the services CIDR + * block. The secondary range will be used for service ClusterIPs. This + * must be an existing secondary range associated with the cluster + * subnetwork. This field is only applicable with use_ip_aliases is true + * and create_subnetwork is false. + */ + servicesSecondaryRangeName?: string; + /** + * A custom subnetwork name to be used if `create_subnetwork` is true. If + * this field is empty, then an automatic name will be chosen for the new + * subnetwork. + */ + subnetworkName?: string; + /** + * Whether alias IPs will be used for pod IPs in the cluster. + */ + useIpAliases?: boolean; + } + /** + * Configuration for the Kubernetes Dashboard. + */ + interface Schema$KubernetesDashboard { + /** + * Whether the Kubernetes Dashboard is enabled for this cluster. + */ + disabled?: boolean; + } + /** + * Configuration for the legacy Attribute Based Access Control authorization + * mode. + */ + interface Schema$LegacyAbac { + /** + * Whether the ABAC authorizer is enabled for this cluster. When enabled, + * identities in the system, including service accounts, nodes, and + * controllers, will have statically granted permissions beyond those + * provided by the RBAC configuration or IAM. + */ + enabled?: boolean; + } + /** + * ListClustersResponse is the result of ListClustersRequest. + */ + interface Schema$ListClustersResponse { + /** + * A list of clusters in the project in the specified zone, or across all + * ones. + */ + clusters?: Schema$Cluster[]; + /** + * If any zones are listed here, the list of clusters returned may be + * missing those zones. + */ + missingZones?: string[]; + } + /** + * ListNodePoolsResponse is the result of ListNodePoolsRequest. + */ + interface Schema$ListNodePoolsResponse { + /** + * A list of node pools for a cluster. + */ + nodePools?: Schema$NodePool[]; + } + /** + * ListOperationsResponse is the result of ListOperationsRequest. + */ + interface Schema$ListOperationsResponse { + /** + * If any zones are listed here, the list of operations returned may be + * missing the operations from those zones. + */ + missingZones?: string[]; + /** + * A list of operations in the project in the specified zone. + */ + operations?: Schema$Operation[]; + } + /** + * MaintenancePolicy defines the maintenance policy to be used for the + * cluster. + */ + interface Schema$MaintenancePolicy { + /** + * Specifies the maintenance window in which maintenance may be performed. + */ + window?: Schema$MaintenanceWindow; + } + /** + * MaintenanceWindow defines the maintenance window to be used for the + * cluster. + */ + interface Schema$MaintenanceWindow { + /** + * DailyMaintenanceWindow specifies a daily maintenance operation window. + */ + dailyMaintenanceWindow?: Schema$DailyMaintenanceWindow; + } + /** + * The authentication information for accessing the master endpoint. + * Authentication can be done using HTTP basic auth or using client + * certificates. + */ + interface Schema$MasterAuth { + /** + * [Output only] Base64-encoded public certificate used by clients to + * authenticate to the cluster endpoint. + */ + clientCertificate?: string; + /** + * Configuration for client certificate authentication on the cluster. For + * clusters before v1.12, if no configuration is specified, a client + * certificate is issued. + */ + clientCertificateConfig?: Schema$ClientCertificateConfig; + /** + * [Output only] Base64-encoded private key used by clients to authenticate + * to the cluster endpoint. + */ + clientKey?: string; + /** + * [Output only] Base64-encoded public certificate that is the root of trust + * for the cluster. + */ + clusterCaCertificate?: string; + /** + * The password to use for HTTP basic authentication to the master endpoint. + * Because the master endpoint is open to the Internet, you should create a + * strong password. If a password is provided for cluster creation, + * username must be non-empty. + */ + password?: string; + /** + * The username to use for HTTP basic authentication to the master endpoint. + * For clusters v1.6.0 and later, you can disable basic authentication by + * providing an empty username. + */ + username?: string; + } + /** + * Configuration options for the master authorized networks feature. Enabled + * master authorized networks will disallow all external traffic to access + * Kubernetes master through HTTPS except traffic from the given CIDR blocks, + * Google Compute Engine Public IPs and Google Prod IPs. + */ + interface Schema$MasterAuthorizedNetworksConfig { + /** + * cidr_blocks define up to 10 external networks that could access + * Kubernetes master through HTTPS. + */ + cidrBlocks?: Schema$CidrBlock[]; + /** + * Whether or not master authorized networks is enabled. + */ + enabled?: boolean; + } + /** + * NetworkConfig reports the relative names of network & subnetwork. + */ + interface Schema$NetworkConfig { + /** + * Output only. The relative name of the Google Compute Engine + * network(/compute/docs/networks-and-firewalls#networks) to which the + * cluster is connected. Example: + * projects/my-project/global/networks/my-network + */ + network?: string; + /** + * Output only. The relative name of the Google Compute Engine + * [subnetwork](/compute/docs/vpc) to which the cluster is connected. + * Example: projects/my-project/regions/us-central1/subnetworks/my-subnet + */ + subnetwork?: string; + } + /** + * Configuration options for the NetworkPolicy feature. + * https://kubernetes.io/docs/concepts/services-networking/networkpolicies/ + */ + interface Schema$NetworkPolicy { + /** + * Whether network policy is enabled on the cluster. + */ + enabled?: boolean; + /** + * The selected network policy provider. + */ + provider?: string; + } + /** + * Configuration for NetworkPolicy. This only tracks whether the addon is + * enabled or not on the Master, it does not track whether network policy is + * enabled for the nodes. + */ + interface Schema$NetworkPolicyConfig { + /** + * Whether NetworkPolicy is enabled for this cluster. + */ + disabled?: boolean; + } + /** + * Parameters that describe the nodes in a cluster. + */ + interface Schema$NodeConfig { + /** + * A list of hardware accelerators to be attached to each node. See + * https://cloud.google.com/compute/docs/gpus for more information about + * support for GPUs. + */ + accelerators?: Schema$AcceleratorConfig[]; + /** + * Size of the disk attached to each node, specified in GB. The smallest + * allowed disk size is 10GB. If unspecified, the default disk size is + * 100GB. + */ + diskSizeGb?: number; + /** + * Type of the disk attached to each node (e.g. 'pd-standard' or + * 'pd-ssd') If unspecified, the default disk type is + * 'pd-standard' + */ + diskType?: string; + /** + * The image type to use for this node. Note that for a given image type, + * the latest version of it will be used. + */ + imageType?: string; + /** + * The map of Kubernetes labels (key/value pairs) to be applied to each + * node. These will added in addition to any default label(s) that + * Kubernetes may apply to the node. In case of conflict in label keys, the + * applied set may differ depending on the Kubernetes version -- it's + * best to assume the behavior is undefined and conflicts should be avoided. + * For more information, including usage and the valid values, see: + * https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ + */ + labels?: any; + /** + * The number of local SSD disks to be attached to the node. The limit for + * this value is dependant upon the maximum number of disks available on a + * machine per zone. See: + * https://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits + * for more information. + */ + localSsdCount?: number; + /** + * The name of a Google Compute Engine [machine + * type](/compute/docs/machine-types) (e.g. `n1-standard-1`). If + * unspecified, the default machine type is `n1-standard-1`. + */ + machineType?: string; + /** + * The metadata key/value pairs assigned to instances in the cluster. Keys + * must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes in + * length. These are reflected as part of a URL in the metadata server. + * Additionally, to avoid ambiguity, keys must not conflict with any other + * metadata keys for the project or be one of the reserved keys: + * "cluster-location" "cluster-name" + * "cluster-uid" "configure-sh" + * "enable-os-login" "gci-update-strategy" + * "gci-ensure-gke-docker" "instance-template" + * "kube-env" "startup-script" "user-data" + * Values are free-form strings, and only have meaning as interpreted by the + * image running in the instance. The only restriction placed on them is + * that each value's size must be less than or equal to 32 KB. The + * total size of all keys and values must be less than 512 KB. + */ + metadata?: any; + /** + * Minimum CPU platform to be used by this instance. The instance may be + * scheduled on the specified or newer CPU platform. Applicable values are + * the friendly names of CPU platforms, such as <code>minCpuPlatform: + * &quot;Intel Haswell&quot;</code> or + * <code>minCpuPlatform: &quot;Intel Sandy + * Bridge&quot;</code>. For more information, read [how to specify + * min CPU + * platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform) + */ + minCpuPlatform?: string; + /** + * The set of Google API scopes to be made available on all of the node VMs + * under the "default" service account. The following scopes are + * recommended, but not required, and by default are not included: * + * `https://www.googleapis.com/auth/compute` is required for mounting + * persistent storage on your nodes. * + * `https://www.googleapis.com/auth/devstorage.read_only` is required for + * communicating with **gcr.io** (the [Google Container + * Registry](/container-registry/)). If unspecified, no scopes are added, + * unless Cloud Logging or Cloud Monitoring are enabled, in which case their + * required scopes will be added. + */ + oauthScopes?: string[]; + /** + * Whether the nodes are created as preemptible VM instances. See: + * https://cloud.google.com/compute/docs/instances/preemptible for more + * information about preemptible VM instances. + */ + preemptible?: boolean; + /** + * The Google Cloud Platform Service Account to be used by the node VMs. If + * no Service Account is specified, the "default" service account + * is used. + */ + serviceAccount?: string; + /** + * The list of instance tags applied to all nodes. Tags are used to identify + * valid sources or targets for network firewalls and are specified by the + * client during cluster or node pool creation. Each tag within the list + * must comply with RFC1035. + */ + tags?: string[]; + } + /** + * NodeManagement defines the set of node management services turned on for + * the node pool. + */ + interface Schema$NodeManagement { + /** + * A flag that specifies whether the node auto-repair is enabled for the + * node pool. If enabled, the nodes in this node pool will be monitored and, + * if they fail health checks too many times, an automatic repair action + * will be triggered. + */ + autoRepair?: boolean; + /** + * A flag that specifies whether node auto-upgrade is enabled for the node + * pool. If enabled, node auto-upgrade helps keep the nodes in your node + * pool up to date with the latest release version of Kubernetes. + */ + autoUpgrade?: boolean; + /** + * Specifies the Auto Upgrade knobs for the node pool. + */ + upgradeOptions?: Schema$AutoUpgradeOptions; + } + /** + * NodePool contains the name and configuration for a cluster's node pool. + * Node pools are a set of nodes (i.e. VM's), with a common configuration + * and specification, under the control of the cluster master. They may have a + * set of Kubernetes labels applied to them, which may be used to reference + * them during pod scheduling. They may also be resized up or down, to + * accommodate the workload. + */ + interface Schema$NodePool { + /** + * Autoscaler configuration for this NodePool. Autoscaler is enabled only if + * a valid configuration is present. + */ + autoscaling?: Schema$NodePoolAutoscaling; + /** + * The node configuration of the pool. + */ + config?: Schema$NodeConfig; + /** + * The initial node count for the pool. You must ensure that your Compute + * Engine <a href="/compute/docs/resource-quotas">resource + * quota</a> is sufficient for this number of instances. You must also + * have available firewall and routes quota. + */ + initialNodeCount?: number; + /** + * [Output only] The resource URLs of the [managed instance + * groups](/compute/docs/instance-groups/creating-groups-of-managed-instances) + * associated with this node pool. + */ + instanceGroupUrls?: string[]; + /** + * NodeManagement configuration for this NodePool. + */ + management?: Schema$NodeManagement; + /** + * The name of the node pool. + */ + name?: string; + /** + * [Output only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output only] The status of the nodes in this pool instance. + */ + status?: string; + /** + * [Output only] Additional information about the current status of this + * node pool instance, if available. + */ + statusMessage?: string; + /** + * The version of the Kubernetes of this node. + */ + version?: string; + } + /** + * NodePoolAutoscaling contains information required by cluster autoscaler to + * adjust the size of the node pool to the current cluster usage. + */ + interface Schema$NodePoolAutoscaling { + /** + * Is autoscaling enabled for this node pool. + */ + enabled?: boolean; + /** + * Maximum number of nodes in the NodePool. Must be >= min_node_count. + * There has to enough quota to scale up the cluster. + */ + maxNodeCount?: number; + /** + * Minimum number of nodes in the NodePool. Must be >= 1 and <= + * max_node_count. + */ + minNodeCount?: number; + } + /** + * This operation resource represents operations that may have happened or are + * happening on the cluster. All fields are output only. + */ + interface Schema$Operation { + /** + * Detailed operation progress, if available. + */ + detail?: string; + /** + * [Output only] The time the operation completed, in + * [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. + */ + endTime?: string; + /** + * [Output only] The name of the Google Compute Engine + * [zone](/compute/docs/regions-zones/regions-zones#available) or + * [region](/compute/docs/regions-zones/regions-zones#available) in which + * the cluster resides. + */ + location?: string; + /** + * The server-assigned ID for the operation. + */ + name?: string; + /** + * The operation type. + */ + operationType?: string; + /** + * Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output only] The time the operation started, in + * [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. + */ + startTime?: string; + /** + * The current status of the operation. + */ + status?: string; + /** + * If an error has occurred, a textual description of the error. + */ + statusMessage?: string; + /** + * Server-defined URL for the target of the operation. + */ + targetLink?: string; + /** + * The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the operation is taking + * place. This field is deprecated, use location instead. + */ + zone?: string; + } + /** + * Configuration options for private clusters. + */ + interface Schema$PrivateClusterConfig { + /** + * Whether the master's internal IP address is used as the cluster + * endpoint. + */ + enablePrivateEndpoint?: boolean; + /** + * Whether nodes have internal IP addresses only. If enabled, all nodes are + * given only RFC 1918 private addresses and communicate with the master via + * private networking. + */ + enablePrivateNodes?: boolean; + /** + * The IP range in CIDR notation to use for the hosted master network. This + * range will be used for assigning internal IP addresses to the master or + * set of masters, as well as the ILB VIP. This range must not overlap with + * any other ranges in use within the cluster's network. + */ + masterIpv4CidrBlock?: string; + /** + * Output only. The internal IP address of this cluster's master + * endpoint. + */ + privateEndpoint?: string; + /** + * Output only. The external IP address of this cluster's master + * endpoint. + */ + publicEndpoint?: string; + } + /** + * RollbackNodePoolUpgradeRequest rollbacks the previously Aborted or Failed + * NodePool upgrade. This will be an no-op if the last upgrade successfully + * completed. + */ + interface Schema$RollbackNodePoolUpgradeRequest { + /** + * Deprecated. The name of the cluster to rollback. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * The name (project, location, cluster, node pool id) of the node poll to + * rollback upgrade. Specified in the format + * 'projects/x/locations/x/clusters/x/nodePools/*'. + */ + name?: string; + /** + * Deprecated. The name of the node pool to rollback. This field has been + * deprecated and replaced by the name field. + */ + nodePoolId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + /** + * Kubernetes Engine service configuration. + */ + interface Schema$ServerConfig { + /** + * Version of Kubernetes the service deploys by default. + */ + defaultClusterVersion?: string; + /** + * Default image type. + */ + defaultImageType?: string; + /** + * List of valid image types. + */ + validImageTypes?: string[]; + /** + * List of valid master versions. + */ + validMasterVersions?: string[]; + /** + * List of valid node upgrade target versions. + */ + validNodeVersions?: string[]; + } + /** + * SetAddonsConfigRequest sets the addons associated with the cluster. + */ + interface Schema$SetAddonsConfigRequest { + /** + * The desired configurations for the various addons available to run in the + * cluster. + */ + addonsConfig?: Schema$AddonsConfig; + /** + * Deprecated. The name of the cluster to upgrade. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * The name (project, location, cluster) of the cluster to set addons. + * Specified in the format 'projects/x/locations/x/clusters/*'. + */ + name?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + /** + * SetLabelsRequest sets the Google Cloud Platform labels on a Google + * Container Engine cluster, which will in turn set them for Google Compute + * Engine resources used by that cluster + */ + interface Schema$SetLabelsRequest { + /** + * Deprecated. The name of the cluster. This field has been deprecated and + * replaced by the name field. + */ + clusterId?: string; + /** + * The fingerprint of the previous set of labels for this resource, used to + * detect conflicts. The fingerprint is initially generated by Kubernetes + * Engine and changes after every request to modify or update labels. You + * must always provide an up-to-date fingerprint hash when updating or + * changing labels. Make a <code>get()</code> request to the + * resource to get the latest fingerprint. + */ + labelFingerprint?: string; + /** + * The name (project, location, cluster id) of the cluster to set labels. + * Specified in the format 'projects/x/locations/x/clusters/*'. + */ + name?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://developers.google.com/console/help/new/#projectnumber). + * This field has been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * The labels to set for that cluster. + */ + resourceLabels?: any; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + /** + * SetLegacyAbacRequest enables or disables the ABAC authorization mechanism + * for a cluster. + */ + interface Schema$SetLegacyAbacRequest { + /** + * Deprecated. The name of the cluster to update. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * Whether ABAC authorization will be enabled in the cluster. + */ + enabled?: boolean; + /** + * The name (project, location, cluster id) of the cluster to set legacy + * abac. Specified in the format + * 'projects/x/locations/x/clusters/*'. + */ + name?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + /** + * SetLocationsRequest sets the locations of the cluster. + */ + interface Schema$SetLocationsRequest { + /** + * Deprecated. The name of the cluster to upgrade. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * The desired list of Google Compute Engine + * [locations](/compute/docs/zones#available) in which the cluster's + * nodes should be located. Changing the locations a cluster is in will + * result in nodes being either created or removed from the cluster, + * depending on whether locations are being added or removed. This list + * must always include the cluster's primary zone. + */ + locations?: string[]; + /** + * The name (project, location, cluster) of the cluster to set locations. + * Specified in the format 'projects/x/locations/x/clusters/*'. + */ + name?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + /** + * SetLoggingServiceRequest sets the logging service of a cluster. + */ + interface Schema$SetLoggingServiceRequest { + /** + * Deprecated. The name of the cluster to upgrade. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * The logging service the cluster should use to write metrics. Currently + * available options: * "logging.googleapis.com" - the Google + * Cloud Logging service * "none" - no metrics will be exported + * from the cluster + */ + loggingService?: string; + /** + * The name (project, location, cluster) of the cluster to set logging. + * Specified in the format 'projects/x/locations/x/clusters/*'. + */ + name?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + /** + * SetMaintenancePolicyRequest sets the maintenance policy for a cluster. + */ + interface Schema$SetMaintenancePolicyRequest { + /** + * The name of the cluster to update. + */ + clusterId?: string; + /** + * The maintenance policy to be set for the cluster. An empty field clears + * the existing maintenance policy. + */ + maintenancePolicy?: Schema$MaintenancePolicy; + /** + * The name (project, location, cluster id) of the cluster to set + * maintenance policy. Specified in the format + * 'projects/x/locations/x/clusters/*'. + */ + name?: string; + /** + * The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). + */ + projectId?: string; + /** + * The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. + */ + zone?: string; + } + /** + * SetMasterAuthRequest updates the admin password of a cluster. + */ + interface Schema$SetMasterAuthRequest { + /** + * The exact form of action to be taken on the master auth. + */ + action?: string; + /** + * Deprecated. The name of the cluster to upgrade. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * The name (project, location, cluster) of the cluster to set auth. + * Specified in the format 'projects/x/locations/x/clusters/*'. + */ + name?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * A description of the update. + */ + update?: Schema$MasterAuth; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + /** + * SetMonitoringServiceRequest sets the monitoring service of a cluster. + */ + interface Schema$SetMonitoringServiceRequest { + /** + * Deprecated. The name of the cluster to upgrade. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * The monitoring service the cluster should use to write metrics. Currently + * available options: * "monitoring.googleapis.com" - the Google + * Cloud Monitoring service * "none" - no metrics will be exported + * from the cluster + */ + monitoringService?: string; + /** + * The name (project, location, cluster) of the cluster to set monitoring. + * Specified in the format 'projects/x/locations/x/clusters/*'. + */ + name?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + /** + * SetNetworkPolicyRequest enables/disables network policy for a cluster. + */ + interface Schema$SetNetworkPolicyRequest { + /** + * Deprecated. The name of the cluster. This field has been deprecated and + * replaced by the name field. + */ + clusterId?: string; + /** + * The name (project, location, cluster id) of the cluster to set networking + * policy. Specified in the format + * 'projects/x/locations/x/clusters/*'. + */ + name?: string; + /** + * Configuration options for the NetworkPolicy feature. + */ + networkPolicy?: Schema$NetworkPolicy; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://developers.google.com/console/help/new/#projectnumber). + * This field has been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + /** + * SetNodePoolAutoscalingRequest sets the autoscaler settings of a node pool. + */ + interface Schema$SetNodePoolAutoscalingRequest { + /** + * Autoscaling configuration for the node pool. + */ + autoscaling?: Schema$NodePoolAutoscaling; + /** + * Deprecated. The name of the cluster to upgrade. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * The name (project, location, cluster, node pool) of the node pool to set + * autoscaler settings. Specified in the format + * 'projects/x/locations/x/clusters/x/nodePools/*'. + */ + name?: string; + /** + * Deprecated. The name of the node pool to upgrade. This field has been + * deprecated and replaced by the name field. + */ + nodePoolId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + /** + * SetNodePoolManagementRequest sets the node management properties of a node + * pool. + */ + interface Schema$SetNodePoolManagementRequest { + /** + * Deprecated. The name of the cluster to update. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * NodeManagement configuration for the node pool. + */ + management?: Schema$NodeManagement; + /** + * The name (project, location, cluster, node pool id) of the node pool to + * set management properties. Specified in the format + * 'projects/x/locations/x/clusters/x/nodePools/*'. + */ + name?: string; + /** + * Deprecated. The name of the node pool to update. This field has been + * deprecated and replaced by the name field. + */ + nodePoolId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + /** + * SetNodePoolSizeRequest sets the size a node pool. + */ + interface Schema$SetNodePoolSizeRequest { + /** + * Deprecated. The name of the cluster to update. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * The name (project, location, cluster, node pool id) of the node pool to + * set size. Specified in the format + * 'projects/x/locations/x/clusters/x/nodePools/*'. + */ + name?: string; + /** + * The desired node count for the pool. + */ + nodeCount?: number; + /** + * Deprecated. The name of the node pool to update. This field has been + * deprecated and replaced by the name field. + */ + nodePoolId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + /** + * StartIPRotationRequest creates a new IP for the cluster and then performs a + * node upgrade on each node pool to point to the new IP. + */ + interface Schema$StartIPRotationRequest { + /** + * Deprecated. The name of the cluster. This field has been deprecated and + * replaced by the name field. + */ + clusterId?: string; + /** + * The name (project, location, cluster id) of the cluster to start IP + * rotation. Specified in the format + * 'projects/x/locations/x/clusters/*'. + */ + name?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://developers.google.com/console/help/new/#projectnumber). + * This field has been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Whether to rotate credentials during IP rotation. + */ + rotateCredentials?: boolean; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + /** + * UpdateClusterRequest updates the settings of a cluster. + */ + interface Schema$UpdateClusterRequest { + /** + * Deprecated. The name of the cluster to upgrade. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * The name (project, location, cluster) of the cluster to update. Specified + * in the format 'projects/x/locations/x/clusters/*'. + */ + name?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * A description of the update. + */ + update?: Schema$ClusterUpdate; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + /** + * UpdateMasterRequest updates the master of the cluster. + */ + interface Schema$UpdateMasterRequest { + /** + * Deprecated. The name of the cluster to upgrade. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * The Kubernetes version to change the master to. Users may specify either + * explicit versions offered by Kubernetes Engine or version aliases, which + * have the following behavior: - "latest": picks the highest + * valid Kubernetes version - "1.X": picks the highest valid + * patch+gke.N patch in the 1.X version - "1.X.Y": picks the + * highest valid gke.N patch in the 1.X.Y version - "1.X.Y-gke.N": + * picks an explicit Kubernetes version - "-": picks the default + * Kubernetes version + */ + masterVersion?: string; + /** + * The name (project, location, cluster) of the cluster to update. Specified + * in the format 'projects/x/locations/x/clusters/*'. + */ + name?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + /** + * UpdateNodePoolRequests update a node pool's image and/or version. + */ + interface Schema$UpdateNodePoolRequest { + /** + * Deprecated. The name of the cluster to upgrade. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * The desired image type for the node pool. + */ + imageType?: string; + /** + * The name (project, location, cluster, node pool) of the node pool to + * update. Specified in the format + * 'projects/x/locations/x/clusters/x/nodePools/*'. + */ + name?: string; + /** + * Deprecated. The name of the node pool to upgrade. This field has been + * deprecated and replaced by the name field. + */ + nodePoolId?: string; + /** + * The Kubernetes version to change the nodes to (typically an upgrade). + * Users may specify either explicit versions offered by Kubernetes Engine + * or version aliases, which have the following behavior: - + * "latest": picks the highest valid Kubernetes version - + * "1.X": picks the highest valid patch+gke.N patch in the 1.X + * version - "1.X.Y": picks the highest valid gke.N patch in + * the 1.X.Y version - "1.X.Y-gke.N": picks an explicit Kubernetes + * version - "-": picks the Kubernetes master version + */ + nodeVersion?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + class Resource$Projects { + root: Container; + locations: Resource$Projects$Locations; + zones: Resource$Projects$Zones; + constructor(root: Container); + getRoot(): Container; + } + class Resource$Projects$Locations { + root: Container; + clusters: Resource$Projects$Locations$Clusters; + operations: Resource$Projects$Locations$Operations; + constructor(root: Container); + getRoot(): Container; + /** + * container.projects.locations.getServerConfig + * @desc Returns configuration info about the Kubernetes Engine service. + * @alias container.projects.locations.getServerConfig + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name (project and location) of the server config to get Specified in the format 'projects/x/locations/x'. + * @param {string=} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. + * @param {string=} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) to return operations for. This field has been deprecated and replaced by the name field. + * @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 + */ + getServerConfig(params?: Params$Resource$Projects$Locations$Getserverconfig, options?: MethodOptions): AxiosPromise; + getServerConfig(params: Params$Resource$Projects$Locations$Getserverconfig, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getServerConfig(params: Params$Resource$Projects$Locations$Getserverconfig, callback: BodyResponseCallback): void; + getServerConfig(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Getserverconfig { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name (project and location) of the server config to get Specified in + * the format 'projects/x/locations/x'. + */ + name?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) to return operations for. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + class Resource$Projects$Locations$Clusters { + root: Container; + nodePools: Resource$Projects$Locations$Clusters$Nodepools; + constructor(root: Container); + getRoot(): Container; + /** + * container.projects.locations.clusters.completeIpRotation + * @desc Completes master IP rotation. + * @alias container.projects.locations.clusters.completeIpRotation + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name (project, location, cluster id) of the cluster to complete IP rotation. Specified in the format 'projects/x/locations/x/clusters/x'. + * @param {().CompleteIPRotationRequest} 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 + */ + completeIpRotation(params?: Params$Resource$Projects$Locations$Clusters$Completeiprotation, options?: MethodOptions): AxiosPromise; + completeIpRotation(params: Params$Resource$Projects$Locations$Clusters$Completeiprotation, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + completeIpRotation(params: Params$Resource$Projects$Locations$Clusters$Completeiprotation, callback: BodyResponseCallback): void; + completeIpRotation(callback: BodyResponseCallback): void; + /** + * container.projects.locations.clusters.create + * @desc Creates a cluster, consisting of the specified number and type of + * Google Compute Engine instances. By default, the cluster is created in + * the project's [default + * network](/compute/docs/networks-and-firewalls#networks). One firewall is + * added for the cluster. After cluster creation, the cluster creates routes + * for each node to allow the containers on that node to communicate with + * all other instances in the cluster. Finally, an entry is added to the + * project's global metadata indicating which CIDR range is being used by + * the cluster. + * @alias container.projects.locations.clusters.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent The parent (project and location) where the cluster will be created. Specified in the format 'projects/x/locations/x'. + * @param {().CreateClusterRequest} 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 + */ + create(params?: Params$Resource$Projects$Locations$Clusters$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Locations$Clusters$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Locations$Clusters$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * container.projects.locations.clusters.delete + * @desc Deletes the cluster, including the Kubernetes endpoint and all + * worker nodes. Firewalls and routes that were configured during cluster + * creation are also deleted. Other Google Compute Engine resources that + * might be in use by the cluster (e.g. load balancer resources) will not be + * deleted if they weren't present at the initial create time. + * @alias container.projects.locations.clusters.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.clusterId Deprecated. The name of the cluster to delete. This field has been deprecated and replaced by the name field. + * @param {string} params.name The name (project, location, cluster) of the cluster to delete. Specified in the format 'projects/x/locations/x/clusters/x'. + * @param {string=} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. + * @param {string=} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. + * @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?: Params$Resource$Projects$Locations$Clusters$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Locations$Clusters$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Locations$Clusters$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * container.projects.locations.clusters.get + * @desc Gets the details of a specific cluster. + * @alias container.projects.locations.clusters.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.clusterId Deprecated. The name of the cluster to retrieve. This field has been deprecated and replaced by the name field. + * @param {string} params.name The name (project, location, cluster) of the cluster to retrieve. Specified in the format 'projects/x/locations/x/clusters/x'. + * @param {string=} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. + * @param {string=} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. + * @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?: Params$Resource$Projects$Locations$Clusters$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Locations$Clusters$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Locations$Clusters$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * container.projects.locations.clusters.list + * @desc Lists all clusters owned by a project in either the specified zone + * or all zones. + * @alias container.projects.locations.clusters.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent The parent (project and location) where the clusters will be listed. Specified in the format 'projects/x/locations/x'. Location "-" matches all zones and all regions. + * @param {string=} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the parent field. + * @param {string=} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides, or "-" for all zones. This field has been deprecated and replaced by the parent field. + * @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?: Params$Resource$Projects$Locations$Clusters$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$Clusters$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$Clusters$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * container.projects.locations.clusters.setAddons + * @desc Sets the addons for a specific cluster. + * @alias container.projects.locations.clusters.setAddons + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name (project, location, cluster) of the cluster to set addons. Specified in the format 'projects/x/locations/x/clusters/x'. + * @param {().SetAddonsConfigRequest} 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 + */ + setAddons(params?: Params$Resource$Projects$Locations$Clusters$Setaddons, options?: MethodOptions): AxiosPromise; + setAddons(params: Params$Resource$Projects$Locations$Clusters$Setaddons, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setAddons(params: Params$Resource$Projects$Locations$Clusters$Setaddons, callback: BodyResponseCallback): void; + setAddons(callback: BodyResponseCallback): void; + /** + * container.projects.locations.clusters.setLegacyAbac + * @desc Enables or disables the ABAC authorization mechanism on a cluster. + * @alias container.projects.locations.clusters.setLegacyAbac + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name (project, location, cluster id) of the cluster to set legacy abac. Specified in the format 'projects/x/locations/x/clusters/x'. + * @param {().SetLegacyAbacRequest} 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 + */ + setLegacyAbac(params?: Params$Resource$Projects$Locations$Clusters$Setlegacyabac, options?: MethodOptions): AxiosPromise; + setLegacyAbac(params: Params$Resource$Projects$Locations$Clusters$Setlegacyabac, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setLegacyAbac(params: Params$Resource$Projects$Locations$Clusters$Setlegacyabac, callback: BodyResponseCallback): void; + setLegacyAbac(callback: BodyResponseCallback): void; + /** + * container.projects.locations.clusters.setLocations + * @desc Sets the locations for a specific cluster. + * @alias container.projects.locations.clusters.setLocations + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name (project, location, cluster) of the cluster to set locations. Specified in the format 'projects/x/locations/x/clusters/x'. + * @param {().SetLocationsRequest} 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 + */ + setLocations(params?: Params$Resource$Projects$Locations$Clusters$Setlocations, options?: MethodOptions): AxiosPromise; + setLocations(params: Params$Resource$Projects$Locations$Clusters$Setlocations, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setLocations(params: Params$Resource$Projects$Locations$Clusters$Setlocations, callback: BodyResponseCallback): void; + setLocations(callback: BodyResponseCallback): void; + /** + * container.projects.locations.clusters.setLogging + * @desc Sets the logging service for a specific cluster. + * @alias container.projects.locations.clusters.setLogging + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name (project, location, cluster) of the cluster to set logging. Specified in the format 'projects/x/locations/x/clusters/x'. + * @param {().SetLoggingServiceRequest} 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 + */ + setLogging(params?: Params$Resource$Projects$Locations$Clusters$Setlogging, options?: MethodOptions): AxiosPromise; + setLogging(params: Params$Resource$Projects$Locations$Clusters$Setlogging, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setLogging(params: Params$Resource$Projects$Locations$Clusters$Setlogging, callback: BodyResponseCallback): void; + setLogging(callback: BodyResponseCallback): void; + /** + * container.projects.locations.clusters.setMaintenancePolicy + * @desc Sets the maintenance policy for a cluster. + * @alias container.projects.locations.clusters.setMaintenancePolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name (project, location, cluster id) of the cluster to set maintenance policy. Specified in the format 'projects/x/locations/x/clusters/x'. + * @param {().SetMaintenancePolicyRequest} 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 + */ + setMaintenancePolicy(params?: Params$Resource$Projects$Locations$Clusters$Setmaintenancepolicy, options?: MethodOptions): AxiosPromise; + setMaintenancePolicy(params: Params$Resource$Projects$Locations$Clusters$Setmaintenancepolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setMaintenancePolicy(params: Params$Resource$Projects$Locations$Clusters$Setmaintenancepolicy, callback: BodyResponseCallback): void; + setMaintenancePolicy(callback: BodyResponseCallback): void; + /** + * container.projects.locations.clusters.setMasterAuth + * @desc Used to set master auth materials. Currently supports :- Changing + * the admin password for a specific cluster. This can be either via + * password generation or explicitly set the password. + * @alias container.projects.locations.clusters.setMasterAuth + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name (project, location, cluster) of the cluster to set auth. Specified in the format 'projects/x/locations/x/clusters/x'. + * @param {().SetMasterAuthRequest} 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 + */ + setMasterAuth(params?: Params$Resource$Projects$Locations$Clusters$Setmasterauth, options?: MethodOptions): AxiosPromise; + setMasterAuth(params: Params$Resource$Projects$Locations$Clusters$Setmasterauth, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setMasterAuth(params: Params$Resource$Projects$Locations$Clusters$Setmasterauth, callback: BodyResponseCallback): void; + setMasterAuth(callback: BodyResponseCallback): void; + /** + * container.projects.locations.clusters.setMonitoring + * @desc Sets the monitoring service for a specific cluster. + * @alias container.projects.locations.clusters.setMonitoring + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name (project, location, cluster) of the cluster to set monitoring. Specified in the format 'projects/x/locations/x/clusters/x'. + * @param {().SetMonitoringServiceRequest} 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 + */ + setMonitoring(params?: Params$Resource$Projects$Locations$Clusters$Setmonitoring, options?: MethodOptions): AxiosPromise; + setMonitoring(params: Params$Resource$Projects$Locations$Clusters$Setmonitoring, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setMonitoring(params: Params$Resource$Projects$Locations$Clusters$Setmonitoring, callback: BodyResponseCallback): void; + setMonitoring(callback: BodyResponseCallback): void; + /** + * container.projects.locations.clusters.setNetworkPolicy + * @desc Enables/Disables Network Policy for a cluster. + * @alias container.projects.locations.clusters.setNetworkPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name (project, location, cluster id) of the cluster to set networking policy. Specified in the format 'projects/x/locations/x/clusters/x'. + * @param {().SetNetworkPolicyRequest} 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 + */ + setNetworkPolicy(params?: Params$Resource$Projects$Locations$Clusters$Setnetworkpolicy, options?: MethodOptions): AxiosPromise; + setNetworkPolicy(params: Params$Resource$Projects$Locations$Clusters$Setnetworkpolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setNetworkPolicy(params: Params$Resource$Projects$Locations$Clusters$Setnetworkpolicy, callback: BodyResponseCallback): void; + setNetworkPolicy(callback: BodyResponseCallback): void; + /** + * container.projects.locations.clusters.setResourceLabels + * @desc Sets labels on a cluster. + * @alias container.projects.locations.clusters.setResourceLabels + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name (project, location, cluster id) of the cluster to set labels. Specified in the format 'projects/x/locations/x/clusters/x'. + * @param {().SetLabelsRequest} 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 + */ + setResourceLabels(params?: Params$Resource$Projects$Locations$Clusters$Setresourcelabels, options?: MethodOptions): AxiosPromise; + setResourceLabels(params: Params$Resource$Projects$Locations$Clusters$Setresourcelabels, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setResourceLabels(params: Params$Resource$Projects$Locations$Clusters$Setresourcelabels, callback: BodyResponseCallback): void; + setResourceLabels(callback: BodyResponseCallback): void; + /** + * container.projects.locations.clusters.startIpRotation + * @desc Start master IP rotation. + * @alias container.projects.locations.clusters.startIpRotation + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name (project, location, cluster id) of the cluster to start IP rotation. Specified in the format 'projects/x/locations/x/clusters/x'. + * @param {().StartIPRotationRequest} 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 + */ + startIpRotation(params?: Params$Resource$Projects$Locations$Clusters$Startiprotation, options?: MethodOptions): AxiosPromise; + startIpRotation(params: Params$Resource$Projects$Locations$Clusters$Startiprotation, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + startIpRotation(params: Params$Resource$Projects$Locations$Clusters$Startiprotation, callback: BodyResponseCallback): void; + startIpRotation(callback: BodyResponseCallback): void; + /** + * container.projects.locations.clusters.update + * @desc Updates the settings of a specific cluster. + * @alias container.projects.locations.clusters.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name (project, location, cluster) of the cluster to update. Specified in the format 'projects/x/locations/x/clusters/x'. + * @param {().UpdateClusterRequest} 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?: Params$Resource$Projects$Locations$Clusters$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Projects$Locations$Clusters$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Projects$Locations$Clusters$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + /** + * container.projects.locations.clusters.updateMaster + * @desc Updates the master for a specific cluster. + * @alias container.projects.locations.clusters.updateMaster + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name (project, location, cluster) of the cluster to update. Specified in the format 'projects/x/locations/x/clusters/x'. + * @param {().UpdateMasterRequest} 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 + */ + updateMaster(params?: Params$Resource$Projects$Locations$Clusters$Updatemaster, options?: MethodOptions): AxiosPromise; + updateMaster(params: Params$Resource$Projects$Locations$Clusters$Updatemaster, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + updateMaster(params: Params$Resource$Projects$Locations$Clusters$Updatemaster, callback: BodyResponseCallback): void; + updateMaster(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Clusters$Completeiprotation { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name (project, location, cluster id) of the cluster to complete IP + * rotation. Specified in the format 'projects/x/locations/x/clusters/x'. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CompleteIPRotationRequest; + } + interface Params$Resource$Projects$Locations$Clusters$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The parent (project and location) where the cluster will be created. + * Specified in the format 'projects/x/locations/x'. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreateClusterRequest; + } + interface Params$Resource$Projects$Locations$Clusters$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The name of the cluster to delete. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * The name (project, location, cluster) of the cluster to delete. Specified + * in the format 'projects/x/locations/x/clusters/x'. + */ + name?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + interface Params$Resource$Projects$Locations$Clusters$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The name of the cluster to retrieve. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * The name (project, location, cluster) of the cluster to retrieve. + * Specified in the format 'projects/x/locations/x/clusters/x'. + */ + name?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + interface Params$Resource$Projects$Locations$Clusters$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The parent (project and location) where the clusters will be listed. + * Specified in the format 'projects/x/locations/x'. Location "-" matches + * all zones and all regions. + */ + parent?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the parent field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides, or + * "-" for all zones. This field has been deprecated and replaced by the + * parent field. + */ + zone?: string; + } + interface Params$Resource$Projects$Locations$Clusters$Setaddons { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name (project, location, cluster) of the cluster to set addons. + * Specified in the format 'projects/x/locations/x/clusters/x'. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetAddonsConfigRequest; + } + interface Params$Resource$Projects$Locations$Clusters$Setlegacyabac { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name (project, location, cluster id) of the cluster to set legacy + * abac. Specified in the format 'projects/x/locations/x/clusters/x'. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetLegacyAbacRequest; + } + interface Params$Resource$Projects$Locations$Clusters$Setlocations { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name (project, location, cluster) of the cluster to set locations. + * Specified in the format 'projects/x/locations/x/clusters/x'. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetLocationsRequest; + } + interface Params$Resource$Projects$Locations$Clusters$Setlogging { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name (project, location, cluster) of the cluster to set logging. + * Specified in the format 'projects/x/locations/x/clusters/x'. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetLoggingServiceRequest; + } + interface Params$Resource$Projects$Locations$Clusters$Setmaintenancepolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name (project, location, cluster id) of the cluster to set + * maintenance policy. Specified in the format + * 'projects/x/locations/x/clusters/x'. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetMaintenancePolicyRequest; + } + interface Params$Resource$Projects$Locations$Clusters$Setmasterauth { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name (project, location, cluster) of the cluster to set auth. + * Specified in the format 'projects/x/locations/x/clusters/x'. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetMasterAuthRequest; + } + interface Params$Resource$Projects$Locations$Clusters$Setmonitoring { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name (project, location, cluster) of the cluster to set monitoring. + * Specified in the format 'projects/x/locations/x/clusters/x'. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetMonitoringServiceRequest; + } + interface Params$Resource$Projects$Locations$Clusters$Setnetworkpolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name (project, location, cluster id) of the cluster to set networking + * policy. Specified in the format 'projects/x/locations/x/clusters/x'. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetNetworkPolicyRequest; + } + interface Params$Resource$Projects$Locations$Clusters$Setresourcelabels { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name (project, location, cluster id) of the cluster to set labels. + * Specified in the format 'projects/x/locations/x/clusters/x'. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetLabelsRequest; + } + interface Params$Resource$Projects$Locations$Clusters$Startiprotation { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name (project, location, cluster id) of the cluster to start IP + * rotation. Specified in the format 'projects/x/locations/x/clusters/x'. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$StartIPRotationRequest; + } + interface Params$Resource$Projects$Locations$Clusters$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name (project, location, cluster) of the cluster to update. Specified + * in the format 'projects/x/locations/x/clusters/x'. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UpdateClusterRequest; + } + interface Params$Resource$Projects$Locations$Clusters$Updatemaster { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name (project, location, cluster) of the cluster to update. Specified + * in the format 'projects/x/locations/x/clusters/x'. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UpdateMasterRequest; + } + class Resource$Projects$Locations$Clusters$Nodepools { + root: Container; + constructor(root: Container); + getRoot(): Container; + /** + * container.projects.locations.clusters.nodePools.create + * @desc Creates a node pool for a cluster. + * @alias container.projects.locations.clusters.nodePools.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent The parent (project, location, cluster id) where the node pool will be created. Specified in the format 'projects/x/locations/x/clusters/x'. + * @param {().CreateNodePoolRequest} 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 + */ + create(params?: Params$Resource$Projects$Locations$Clusters$Nodepools$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Locations$Clusters$Nodepools$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Locations$Clusters$Nodepools$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * container.projects.locations.clusters.nodePools.delete + * @desc Deletes a node pool from a cluster. + * @alias container.projects.locations.clusters.nodePools.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.clusterId Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field. + * @param {string} params.name The name (project, location, cluster, node pool id) of the node pool to delete. Specified in the format 'projects/x/locations/x/clusters/x/nodePools/x'. + * @param {string=} params.nodePoolId Deprecated. The name of the node pool to delete. This field has been deprecated and replaced by the name field. + * @param {string=} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field. + * @param {string=} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. + * @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?: Params$Resource$Projects$Locations$Clusters$Nodepools$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Locations$Clusters$Nodepools$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Locations$Clusters$Nodepools$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * container.projects.locations.clusters.nodePools.get + * @desc Retrieves the node pool requested. + * @alias container.projects.locations.clusters.nodePools.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.clusterId Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field. + * @param {string} params.name The name (project, location, cluster, node pool id) of the node pool to get. Specified in the format 'projects/x/locations/x/clusters/x/nodePools/x'. + * @param {string=} params.nodePoolId Deprecated. The name of the node pool. This field has been deprecated and replaced by the name field. + * @param {string=} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field. + * @param {string=} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. + * @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?: Params$Resource$Projects$Locations$Clusters$Nodepools$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Locations$Clusters$Nodepools$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Locations$Clusters$Nodepools$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * container.projects.locations.clusters.nodePools.list + * @desc Lists the node pools for a cluster. + * @alias container.projects.locations.clusters.nodePools.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.clusterId Deprecated. The name of the cluster. This field has been deprecated and replaced by the parent field. + * @param {string} params.parent The parent (project, location, cluster id) where the node pools will be listed. Specified in the format 'projects/x/locations/x/clusters/x'. + * @param {string=} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the parent field. + * @param {string=} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the parent field. + * @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?: Params$Resource$Projects$Locations$Clusters$Nodepools$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$Clusters$Nodepools$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$Clusters$Nodepools$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * container.projects.locations.clusters.nodePools.rollback + * @desc Roll back the previously Aborted or Failed NodePool upgrade. This + * will be an no-op if the last upgrade successfully completed. + * @alias container.projects.locations.clusters.nodePools.rollback + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name (project, location, cluster, node pool id) of the node poll to rollback upgrade. Specified in the format 'projects/x/locations/x/clusters/x/nodePools/x'. + * @param {().RollbackNodePoolUpgradeRequest} 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 + */ + rollback(params?: Params$Resource$Projects$Locations$Clusters$Nodepools$Rollback, options?: MethodOptions): AxiosPromise; + rollback(params: Params$Resource$Projects$Locations$Clusters$Nodepools$Rollback, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + rollback(params: Params$Resource$Projects$Locations$Clusters$Nodepools$Rollback, callback: BodyResponseCallback): void; + rollback(callback: BodyResponseCallback): void; + /** + * container.projects.locations.clusters.nodePools.setAutoscaling + * @desc Sets the autoscaling settings for a specific node pool. + * @alias container.projects.locations.clusters.nodePools.setAutoscaling + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name (project, location, cluster, node pool) of the node pool to set autoscaler settings. Specified in the format 'projects/x/locations/x/clusters/x/nodePools/x'. + * @param {().SetNodePoolAutoscalingRequest} 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 + */ + setAutoscaling(params?: Params$Resource$Projects$Locations$Clusters$Nodepools$Setautoscaling, options?: MethodOptions): AxiosPromise; + setAutoscaling(params: Params$Resource$Projects$Locations$Clusters$Nodepools$Setautoscaling, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setAutoscaling(params: Params$Resource$Projects$Locations$Clusters$Nodepools$Setautoscaling, callback: BodyResponseCallback): void; + setAutoscaling(callback: BodyResponseCallback): void; + /** + * container.projects.locations.clusters.nodePools.setManagement + * @desc Sets the NodeManagement options for a node pool. + * @alias container.projects.locations.clusters.nodePools.setManagement + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name (project, location, cluster, node pool id) of the node pool to set management properties. Specified in the format 'projects/x/locations/x/clusters/x/nodePools/x'. + * @param {().SetNodePoolManagementRequest} 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 + */ + setManagement(params?: Params$Resource$Projects$Locations$Clusters$Nodepools$Setmanagement, options?: MethodOptions): AxiosPromise; + setManagement(params: Params$Resource$Projects$Locations$Clusters$Nodepools$Setmanagement, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setManagement(params: Params$Resource$Projects$Locations$Clusters$Nodepools$Setmanagement, callback: BodyResponseCallback): void; + setManagement(callback: BodyResponseCallback): void; + /** + * container.projects.locations.clusters.nodePools.setSize + * @desc Sets the size for a specific node pool. + * @alias container.projects.locations.clusters.nodePools.setSize + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name (project, location, cluster, node pool id) of the node pool to set size. Specified in the format 'projects/x/locations/x/clusters/x/nodePools/x'. + * @param {().SetNodePoolSizeRequest} 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 + */ + setSize(params?: Params$Resource$Projects$Locations$Clusters$Nodepools$Setsize, options?: MethodOptions): AxiosPromise; + setSize(params: Params$Resource$Projects$Locations$Clusters$Nodepools$Setsize, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setSize(params: Params$Resource$Projects$Locations$Clusters$Nodepools$Setsize, callback: BodyResponseCallback): void; + setSize(callback: BodyResponseCallback): void; + /** + * container.projects.locations.clusters.nodePools.update + * @desc Updates the version and/or image type for a specific node pool. + * @alias container.projects.locations.clusters.nodePools.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name (project, location, cluster, node pool) of the node pool to update. Specified in the format 'projects/x/locations/x/clusters/x/nodePools/x'. + * @param {().UpdateNodePoolRequest} 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?: Params$Resource$Projects$Locations$Clusters$Nodepools$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Projects$Locations$Clusters$Nodepools$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Projects$Locations$Clusters$Nodepools$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Clusters$Nodepools$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The parent (project, location, cluster id) where the node pool will be + * created. Specified in the format 'projects/x/locations/x/clusters/x'. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreateNodePoolRequest; + } + interface Params$Resource$Projects$Locations$Clusters$Nodepools$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The name of the cluster. This field has been deprecated and + * replaced by the name field. + */ + clusterId?: string; + /** + * The name (project, location, cluster, node pool id) of the node pool to + * delete. Specified in the format + * 'projects/x/locations/x/clusters/x/nodePools/x'. + */ + name?: string; + /** + * Deprecated. The name of the node pool to delete. This field has been + * deprecated and replaced by the name field. + */ + nodePoolId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://developers.google.com/console/help/new/#projectnumber). + * This field has been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + interface Params$Resource$Projects$Locations$Clusters$Nodepools$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The name of the cluster. This field has been deprecated and + * replaced by the name field. + */ + clusterId?: string; + /** + * The name (project, location, cluster, node pool id) of the node pool to + * get. Specified in the format + * 'projects/x/locations/x/clusters/x/nodePools/x'. + */ + name?: string; + /** + * Deprecated. The name of the node pool. This field has been deprecated and + * replaced by the name field. + */ + nodePoolId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://developers.google.com/console/help/new/#projectnumber). + * This field has been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + interface Params$Resource$Projects$Locations$Clusters$Nodepools$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The name of the cluster. This field has been deprecated and + * replaced by the parent field. + */ + clusterId?: string; + /** + * The parent (project, location, cluster id) where the node pools will be + * listed. Specified in the format 'projects/x/locations/x/clusters/x'. + */ + parent?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://developers.google.com/console/help/new/#projectnumber). + * This field has been deprecated and replaced by the parent field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the parent field. + */ + zone?: string; + } + interface Params$Resource$Projects$Locations$Clusters$Nodepools$Rollback { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name (project, location, cluster, node pool id) of the node poll to + * rollback upgrade. Specified in the format + * 'projects/x/locations/x/clusters/x/nodePools/x'. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RollbackNodePoolUpgradeRequest; + } + interface Params$Resource$Projects$Locations$Clusters$Nodepools$Setautoscaling { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name (project, location, cluster, node pool) of the node pool to set + * autoscaler settings. Specified in the format + * 'projects/x/locations/x/clusters/x/nodePools/x'. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetNodePoolAutoscalingRequest; + } + interface Params$Resource$Projects$Locations$Clusters$Nodepools$Setmanagement { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name (project, location, cluster, node pool id) of the node pool to + * set management properties. Specified in the format + * 'projects/x/locations/x/clusters/x/nodePools/x'. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetNodePoolManagementRequest; + } + interface Params$Resource$Projects$Locations$Clusters$Nodepools$Setsize { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name (project, location, cluster, node pool id) of the node pool to + * set size. Specified in the format + * 'projects/x/locations/x/clusters/x/nodePools/x'. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetNodePoolSizeRequest; + } + interface Params$Resource$Projects$Locations$Clusters$Nodepools$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name (project, location, cluster, node pool) of the node pool to + * update. Specified in the format + * 'projects/x/locations/x/clusters/x/nodePools/x'. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UpdateNodePoolRequest; + } + class Resource$Projects$Locations$Operations { + root: Container; + constructor(root: Container); + getRoot(): Container; + /** + * container.projects.locations.operations.cancel + * @desc Cancels the specified operation. + * @alias container.projects.locations.operations.cancel + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name (project, location, operation id) of the operation to cancel. Specified in the format 'projects/x/locations/x/operations/x'. + * @param {().CancelOperationRequest} 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 + */ + cancel(params?: Params$Resource$Projects$Locations$Operations$Cancel, options?: MethodOptions): AxiosPromise; + cancel(params: Params$Resource$Projects$Locations$Operations$Cancel, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + cancel(params: Params$Resource$Projects$Locations$Operations$Cancel, callback: BodyResponseCallback): void; + cancel(callback: BodyResponseCallback): void; + /** + * container.projects.locations.operations.get + * @desc Gets the specified operation. + * @alias container.projects.locations.operations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name (project, location, operation id) of the operation to get. Specified in the format 'projects/x/locations/x/operations/x'. + * @param {string=} params.operationId Deprecated. The server-assigned `name` of the operation. This field has been deprecated and replaced by the name field. + * @param {string=} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. + * @param {string=} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. + * @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?: Params$Resource$Projects$Locations$Operations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Locations$Operations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Locations$Operations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * container.projects.locations.operations.list + * @desc Lists all operations in a project in a specific zone or all zones. + * @alias container.projects.locations.operations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent The parent (project and location) where the operations will be listed. Specified in the format 'projects/x/locations/x'. Location "-" matches all zones and all regions. + * @param {string=} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the parent field. + * @param {string=} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) to return operations for, or `-` for all zones. This field has been deprecated and replaced by the parent field. + * @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?: Params$Resource$Projects$Locations$Operations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$Operations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$Operations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Operations$Cancel { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name (project, location, operation id) of the operation to cancel. + * Specified in the format 'projects/x/locations/x/operations/x'. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CancelOperationRequest; + } + interface Params$Resource$Projects$Locations$Operations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name (project, location, operation id) of the operation to get. + * Specified in the format 'projects/x/locations/x/operations/x'. + */ + name?: string; + /** + * Deprecated. The server-assigned `name` of the operation. This field has + * been deprecated and replaced by the name field. + */ + operationId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + interface Params$Resource$Projects$Locations$Operations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The parent (project and location) where the operations will be listed. + * Specified in the format 'projects/x/locations/x'. Location "-" matches + * all zones and all regions. + */ + parent?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the parent field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) to return operations for, or `-` + * for all zones. This field has been deprecated and replaced by the parent + * field. + */ + zone?: string; + } + class Resource$Projects$Zones { + root: Container; + clusters: Resource$Projects$Zones$Clusters; + operations: Resource$Projects$Zones$Operations; + constructor(root: Container); + getRoot(): Container; + /** + * container.projects.zones.getServerconfig + * @desc Returns configuration info about the Kubernetes Engine service. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Container Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/container + * // 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 container = google.container('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The Google Developers Console [project ID or project + * // number](https://support.google.com/cloud/answer/6158840). + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * // The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) + * // to return operations for. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * container.projects.zones.getServerconfig(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 container.projects.zones.getServerconfig + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.name The name (project and location) of the server config to get Specified in the format 'projects/x/locations/x'. + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) to return operations for. This field has been deprecated and replaced by the name field. + * @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 + */ + getServerconfig(params?: Params$Resource$Projects$Zones$Getserverconfig, options?: MethodOptions): AxiosPromise; + getServerconfig(params: Params$Resource$Projects$Zones$Getserverconfig, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getServerconfig(params: Params$Resource$Projects$Zones$Getserverconfig, callback: BodyResponseCallback): void; + getServerconfig(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Zones$Getserverconfig { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name (project and location) of the server config to get Specified in + * the format 'projects/x/locations/x'. + */ + name?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) to return operations for. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + class Resource$Projects$Zones$Clusters { + root: Container; + nodePools: Resource$Projects$Zones$Clusters$Nodepools; + constructor(root: Container); + getRoot(): Container; + /** + * container.projects.zones.clusters.addons + * @desc Sets the addons for a specific cluster. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Container Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/container + * // 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 container = google.container('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The Google Developers Console [project ID or project + * // number](https://support.google.com/cloud/answer/6158840). + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * // The name of the Google Compute Engine + * // [zone](/compute/docs/zones#available) in which the cluster + * // resides. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the cluster to upgrade. + * clusterId: 'my-cluster-id', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * container.projects.zones.clusters.addons(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 container.projects.zones.clusters.addons + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterId Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field. + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. + * @param {().SetAddonsConfigRequest} 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 + */ + addons(params?: Params$Resource$Projects$Zones$Clusters$Addons, options?: MethodOptions): AxiosPromise; + addons(params: Params$Resource$Projects$Zones$Clusters$Addons, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + addons(params: Params$Resource$Projects$Zones$Clusters$Addons, callback: BodyResponseCallback): void; + addons(callback: BodyResponseCallback): void; + /** + * container.projects.zones.clusters.completeIpRotation + * @desc Completes master IP rotation. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Container Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/container + * // 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 container = google.container('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The Google Developers Console [project ID or project + * // + * number](https://developers.google.com/console/help/new/#projectnumber). + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * // The name of the Google Compute Engine + * // [zone](/compute/docs/zones#available) in which the cluster + * // resides. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the cluster. + * clusterId: 'my-cluster-id', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * container.projects.zones.clusters.completeIpRotation(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 container.projects.zones.clusters.completeIpRotation + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterId Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field. + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. + * @param {().CompleteIPRotationRequest} 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 + */ + completeIpRotation(params?: Params$Resource$Projects$Zones$Clusters$Completeiprotation, options?: MethodOptions): AxiosPromise; + completeIpRotation(params: Params$Resource$Projects$Zones$Clusters$Completeiprotation, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + completeIpRotation(params: Params$Resource$Projects$Zones$Clusters$Completeiprotation, callback: BodyResponseCallback): void; + completeIpRotation(callback: BodyResponseCallback): void; + /** + * container.projects.zones.clusters.create + * @desc Creates a cluster, consisting of the specified number and type of + * Google Compute Engine instances. By default, the cluster is created in + * the project's [default + * network](/compute/docs/networks-and-firewalls#networks). One firewall is + * added for the cluster. After cluster creation, the cluster creates routes + * for each node to allow the containers on that node to communicate with + * all other instances in the cluster. Finally, an entry is added to the + * project's global metadata indicating which CIDR range is being used by + * the cluster. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Container Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/container + * // 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 container = google.container('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The Google Developers Console [project ID or project + * // number](https://support.google.com/cloud/answer/6158840). + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * // The name of the Google Compute Engine + * // [zone](/compute/docs/zones#available) in which the cluster + * // resides. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * container.projects.zones.clusters.create(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 container.projects.zones.clusters.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the parent field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the parent field. + * @param {().CreateClusterRequest} 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 + */ + create(params?: Params$Resource$Projects$Zones$Clusters$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Zones$Clusters$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Zones$Clusters$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * container.projects.zones.clusters.delete + * @desc Deletes the cluster, including the Kubernetes endpoint and all + * worker nodes. Firewalls and routes that were configured during cluster + * creation are also deleted. Other Google Compute Engine resources that + * might be in use by the cluster (e.g. load balancer resources) will not be + * deleted if they weren't present at the initial create time. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Container Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/container + * // 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 container = google.container('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The Google Developers Console [project ID or project + * // number](https://support.google.com/cloud/answer/6158840). + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * // The name of the Google Compute Engine + * // [zone](/compute/docs/zones#available) in which the cluster + * // resides. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the cluster to delete. + * clusterId: 'my-cluster-id', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * container.projects.zones.clusters.delete(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 container.projects.zones.clusters.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterId Deprecated. The name of the cluster to delete. This field has been deprecated and replaced by the name field. + * @param {string=} params.name The name (project, location, cluster) of the cluster to delete. Specified in the format 'projects/x/locations/x/clusters/x'. + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. + * @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?: Params$Resource$Projects$Zones$Clusters$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Zones$Clusters$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Zones$Clusters$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * container.projects.zones.clusters.get + * @desc Gets the details of a specific cluster. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Container Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/container + * // 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 container = google.container('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The Google Developers Console [project ID or project + * // number](https://support.google.com/cloud/answer/6158840). + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * // The name of the Google Compute Engine + * // [zone](/compute/docs/zones#available) in which the cluster + * // resides. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the cluster to retrieve. + * clusterId: 'my-cluster-id', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * container.projects.zones.clusters.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 container.projects.zones.clusters.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterId Deprecated. The name of the cluster to retrieve. This field has been deprecated and replaced by the name field. + * @param {string=} params.name The name (project, location, cluster) of the cluster to retrieve. Specified in the format 'projects/x/locations/x/clusters/x'. + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. + * @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?: Params$Resource$Projects$Zones$Clusters$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Zones$Clusters$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Zones$Clusters$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * container.projects.zones.clusters.legacyAbac + * @desc Enables or disables the ABAC authorization mechanism on a cluster. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Container Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/container + * // 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 container = google.container('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The Google Developers Console [project ID or project + * // number](https://support.google.com/cloud/answer/6158840). + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * // The name of the Google Compute Engine + * // [zone](/compute/docs/zones#available) in which the cluster + * // resides. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the cluster to update. + * clusterId: 'my-cluster-id', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * container.projects.zones.clusters.legacyAbac(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 container.projects.zones.clusters.legacyAbac + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterId Deprecated. The name of the cluster to update. This field has been deprecated and replaced by the name field. + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. + * @param {().SetLegacyAbacRequest} 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 + */ + legacyAbac(params?: Params$Resource$Projects$Zones$Clusters$Legacyabac, options?: MethodOptions): AxiosPromise; + legacyAbac(params: Params$Resource$Projects$Zones$Clusters$Legacyabac, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + legacyAbac(params: Params$Resource$Projects$Zones$Clusters$Legacyabac, callback: BodyResponseCallback): void; + legacyAbac(callback: BodyResponseCallback): void; + /** + * container.projects.zones.clusters.list + * @desc Lists all clusters owned by a project in either the specified zone + * or all zones. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Container Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/container + * // 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 container = google.container('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The Google Developers Console [project ID or project + * // number](https://support.google.com/cloud/answer/6158840). + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * // The name of the Google Compute Engine + * // [zone](/compute/docs/zones#available) in which the cluster + * // resides, or "-" for all zones. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * container.projects.zones.clusters.list(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 container.projects.zones.clusters.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.parent The parent (project and location) where the clusters will be listed. Specified in the format 'projects/x/locations/x'. Location "-" matches all zones and all regions. + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the parent field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides, or "-" for all zones. This field has been deprecated and replaced by the parent field. + * @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?: Params$Resource$Projects$Zones$Clusters$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Zones$Clusters$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Zones$Clusters$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * container.projects.zones.clusters.locations + * @desc Sets the locations for a specific cluster. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Container Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/container + * // 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 container = google.container('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The Google Developers Console [project ID or project + * // number](https://support.google.com/cloud/answer/6158840). + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * // The name of the Google Compute Engine + * // [zone](/compute/docs/zones#available) in which the cluster + * // resides. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the cluster to upgrade. + * clusterId: 'my-cluster-id', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * container.projects.zones.clusters.locations(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 container.projects.zones.clusters.locations + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterId Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field. + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. + * @param {().SetLocationsRequest} 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 + */ + locations(params?: Params$Resource$Projects$Zones$Clusters$Locations, options?: MethodOptions): AxiosPromise; + locations(params: Params$Resource$Projects$Zones$Clusters$Locations, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + locations(params: Params$Resource$Projects$Zones$Clusters$Locations, callback: BodyResponseCallback): void; + locations(callback: BodyResponseCallback): void; + /** + * container.projects.zones.clusters.logging + * @desc Sets the logging service for a specific cluster. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Container Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/container + * // 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 container = google.container('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The Google Developers Console [project ID or project + * // number](https://support.google.com/cloud/answer/6158840). + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * // The name of the Google Compute Engine + * // [zone](/compute/docs/zones#available) in which the cluster + * // resides. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the cluster to upgrade. + * clusterId: 'my-cluster-id', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * container.projects.zones.clusters.logging(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 container.projects.zones.clusters.logging + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterId Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field. + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. + * @param {().SetLoggingServiceRequest} 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 + */ + logging(params?: Params$Resource$Projects$Zones$Clusters$Logging, options?: MethodOptions): AxiosPromise; + logging(params: Params$Resource$Projects$Zones$Clusters$Logging, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + logging(params: Params$Resource$Projects$Zones$Clusters$Logging, callback: BodyResponseCallback): void; + logging(callback: BodyResponseCallback): void; + /** + * container.projects.zones.clusters.master + * @desc Updates the master for a specific cluster. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Container Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/container + * // 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 container = google.container('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The Google Developers Console [project ID or project + * // number](https://support.google.com/cloud/answer/6158840). + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * // The name of the Google Compute Engine + * // [zone](/compute/docs/zones#available) in which the cluster + * // resides. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the cluster to upgrade. + * clusterId: 'my-cluster-id', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * container.projects.zones.clusters.master(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 container.projects.zones.clusters.master + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterId Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field. + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. + * @param {().UpdateMasterRequest} 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 + */ + master(params?: Params$Resource$Projects$Zones$Clusters$Master, options?: MethodOptions): AxiosPromise; + master(params: Params$Resource$Projects$Zones$Clusters$Master, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + master(params: Params$Resource$Projects$Zones$Clusters$Master, callback: BodyResponseCallback): void; + master(callback: BodyResponseCallback): void; + /** + * container.projects.zones.clusters.monitoring + * @desc Sets the monitoring service for a specific cluster. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Container Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/container + * // 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 container = google.container('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The Google Developers Console [project ID or project + * // number](https://support.google.com/cloud/answer/6158840). + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * // The name of the Google Compute Engine + * // [zone](/compute/docs/zones#available) in which the cluster + * // resides. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the cluster to upgrade. + * clusterId: 'my-cluster-id', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * container.projects.zones.clusters.monitoring(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 container.projects.zones.clusters.monitoring + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterId Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field. + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. + * @param {().SetMonitoringServiceRequest} 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 + */ + monitoring(params?: Params$Resource$Projects$Zones$Clusters$Monitoring, options?: MethodOptions): AxiosPromise; + monitoring(params: Params$Resource$Projects$Zones$Clusters$Monitoring, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + monitoring(params: Params$Resource$Projects$Zones$Clusters$Monitoring, callback: BodyResponseCallback): void; + monitoring(callback: BodyResponseCallback): void; + /** + * container.projects.zones.clusters.resourceLabels + * @desc Sets labels on a cluster. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Container Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/container + * // 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 container = google.container('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The Google Developers Console [project ID or project + * // + * number](https://developers.google.com/console/help/new/#projectnumber). + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * // The name of the Google Compute Engine + * // [zone](/compute/docs/zones#available) in which the cluster + * // resides. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the cluster. + * clusterId: 'my-cluster-id', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * container.projects.zones.clusters.resourceLabels(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 container.projects.zones.clusters.resourceLabels + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterId Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field. + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. + * @param {().SetLabelsRequest} 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 + */ + resourceLabels(params?: Params$Resource$Projects$Zones$Clusters$Resourcelabels, options?: MethodOptions): AxiosPromise; + resourceLabels(params: Params$Resource$Projects$Zones$Clusters$Resourcelabels, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + resourceLabels(params: Params$Resource$Projects$Zones$Clusters$Resourcelabels, callback: BodyResponseCallback): void; + resourceLabels(callback: BodyResponseCallback): void; + /** + * container.projects.zones.clusters.setMaintenancePolicy + * @desc Sets the maintenance policy for a cluster. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Container Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/container + * // 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 container = google.container('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The Google Developers Console [project ID or project + * // number](https://support.google.com/cloud/answer/6158840). + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * // The name of the Google Compute Engine + * // [zone](/compute/docs/zones#available) in which the cluster + * // resides. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the cluster to update. + * clusterId: 'my-cluster-id', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * container.projects.zones.clusters.setMaintenancePolicy(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 container.projects.zones.clusters.setMaintenancePolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterId The name of the cluster to update. + * @param {string} params.projectId The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). + * @param {string} params.zone The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. + * @param {().SetMaintenancePolicyRequest} 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 + */ + setMaintenancePolicy(params?: Params$Resource$Projects$Zones$Clusters$Setmaintenancepolicy, options?: MethodOptions): AxiosPromise; + setMaintenancePolicy(params: Params$Resource$Projects$Zones$Clusters$Setmaintenancepolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setMaintenancePolicy(params: Params$Resource$Projects$Zones$Clusters$Setmaintenancepolicy, callback: BodyResponseCallback): void; + setMaintenancePolicy(callback: BodyResponseCallback): void; + /** + * container.projects.zones.clusters.setMasterAuth + * @desc Used to set master auth materials. Currently supports :- Changing + * the admin password for a specific cluster. This can be either via + * password generation or explicitly set the password. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Container Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/container + * // 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 container = google.container('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The Google Developers Console [project ID or project + * // number](https://support.google.com/cloud/answer/6158840). + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * // The name of the Google Compute Engine + * // [zone](/compute/docs/zones#available) in which the cluster + * // resides. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the cluster to upgrade. + * clusterId: 'my-cluster-id', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * container.projects.zones.clusters.setMasterAuth(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 container.projects.zones.clusters.setMasterAuth + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterId Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field. + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. + * @param {().SetMasterAuthRequest} 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 + */ + setMasterAuth(params?: Params$Resource$Projects$Zones$Clusters$Setmasterauth, options?: MethodOptions): AxiosPromise; + setMasterAuth(params: Params$Resource$Projects$Zones$Clusters$Setmasterauth, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setMasterAuth(params: Params$Resource$Projects$Zones$Clusters$Setmasterauth, callback: BodyResponseCallback): void; + setMasterAuth(callback: BodyResponseCallback): void; + /** + * container.projects.zones.clusters.setNetworkPolicy + * @desc Enables/Disables Network Policy for a cluster. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Container Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/container + * // 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 container = google.container('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The Google Developers Console [project ID or project + * // + * number](https://developers.google.com/console/help/new/#projectnumber). + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * // The name of the Google Compute Engine + * // [zone](/compute/docs/zones#available) in which the cluster + * // resides. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the cluster. + * clusterId: 'my-cluster-id', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * container.projects.zones.clusters.setNetworkPolicy(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 container.projects.zones.clusters.setNetworkPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterId Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field. + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. + * @param {().SetNetworkPolicyRequest} 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 + */ + setNetworkPolicy(params?: Params$Resource$Projects$Zones$Clusters$Setnetworkpolicy, options?: MethodOptions): AxiosPromise; + setNetworkPolicy(params: Params$Resource$Projects$Zones$Clusters$Setnetworkpolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setNetworkPolicy(params: Params$Resource$Projects$Zones$Clusters$Setnetworkpolicy, callback: BodyResponseCallback): void; + setNetworkPolicy(callback: BodyResponseCallback): void; + /** + * container.projects.zones.clusters.startIpRotation + * @desc Start master IP rotation. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Container Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/container + * // 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 container = google.container('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The Google Developers Console [project ID or project + * // + * number](https://developers.google.com/console/help/new/#projectnumber). + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * // The name of the Google Compute Engine + * // [zone](/compute/docs/zones#available) in which the cluster + * // resides. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the cluster. + * clusterId: 'my-cluster-id', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * container.projects.zones.clusters.startIpRotation(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 container.projects.zones.clusters.startIpRotation + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterId Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field. + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. + * @param {().StartIPRotationRequest} 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 + */ + startIpRotation(params?: Params$Resource$Projects$Zones$Clusters$Startiprotation, options?: MethodOptions): AxiosPromise; + startIpRotation(params: Params$Resource$Projects$Zones$Clusters$Startiprotation, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + startIpRotation(params: Params$Resource$Projects$Zones$Clusters$Startiprotation, callback: BodyResponseCallback): void; + startIpRotation(callback: BodyResponseCallback): void; + /** + * container.projects.zones.clusters.update + * @desc Updates the settings of a specific cluster. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Container Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/container + * // 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 container = google.container('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The Google Developers Console [project ID or project + * // number](https://support.google.com/cloud/answer/6158840). + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * // The name of the Google Compute Engine + * // [zone](/compute/docs/zones#available) in which the cluster + * // resides. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the cluster to upgrade. + * clusterId: 'my-cluster-id', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * container.projects.zones.clusters.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 container.projects.zones.clusters.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterId Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field. + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. + * @param {().UpdateClusterRequest} 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?: Params$Resource$Projects$Zones$Clusters$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Projects$Zones$Clusters$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Projects$Zones$Clusters$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Zones$Clusters$Addons { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The name of the cluster to upgrade. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetAddonsConfigRequest; + } + interface Params$Resource$Projects$Zones$Clusters$Completeiprotation { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The name of the cluster. This field has been deprecated and + * replaced by the name field. + */ + clusterId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://developers.google.com/console/help/new/#projectnumber). + * This field has been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CompleteIPRotationRequest; + } + interface Params$Resource$Projects$Zones$Clusters$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the parent field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the parent field. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreateClusterRequest; + } + interface Params$Resource$Projects$Zones$Clusters$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The name of the cluster to delete. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * The name (project, location, cluster) of the cluster to delete. Specified + * in the format 'projects/x/locations/x/clusters/x'. + */ + name?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + interface Params$Resource$Projects$Zones$Clusters$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The name of the cluster to retrieve. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * The name (project, location, cluster) of the cluster to retrieve. + * Specified in the format 'projects/x/locations/x/clusters/x'. + */ + name?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + interface Params$Resource$Projects$Zones$Clusters$Legacyabac { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The name of the cluster to update. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetLegacyAbacRequest; + } + interface Params$Resource$Projects$Zones$Clusters$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The parent (project and location) where the clusters will be listed. + * Specified in the format 'projects/x/locations/x'. Location "-" matches + * all zones and all regions. + */ + parent?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the parent field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides, or + * "-" for all zones. This field has been deprecated and replaced by the + * parent field. + */ + zone?: string; + } + interface Params$Resource$Projects$Zones$Clusters$Locations { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The name of the cluster to upgrade. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetLocationsRequest; + } + interface Params$Resource$Projects$Zones$Clusters$Logging { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The name of the cluster to upgrade. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetLoggingServiceRequest; + } + interface Params$Resource$Projects$Zones$Clusters$Master { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The name of the cluster to upgrade. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UpdateMasterRequest; + } + interface Params$Resource$Projects$Zones$Clusters$Monitoring { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The name of the cluster to upgrade. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetMonitoringServiceRequest; + } + interface Params$Resource$Projects$Zones$Clusters$Resourcelabels { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The name of the cluster. This field has been deprecated and + * replaced by the name field. + */ + clusterId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://developers.google.com/console/help/new/#projectnumber). + * This field has been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetLabelsRequest; + } + interface Params$Resource$Projects$Zones$Clusters$Setmaintenancepolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the cluster to update. + */ + clusterId?: string; + /** + * The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). + */ + projectId?: string; + /** + * The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetMaintenancePolicyRequest; + } + interface Params$Resource$Projects$Zones$Clusters$Setmasterauth { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The name of the cluster to upgrade. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetMasterAuthRequest; + } + interface Params$Resource$Projects$Zones$Clusters$Setnetworkpolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The name of the cluster. This field has been deprecated and + * replaced by the name field. + */ + clusterId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://developers.google.com/console/help/new/#projectnumber). + * This field has been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetNetworkPolicyRequest; + } + interface Params$Resource$Projects$Zones$Clusters$Startiprotation { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The name of the cluster. This field has been deprecated and + * replaced by the name field. + */ + clusterId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://developers.google.com/console/help/new/#projectnumber). + * This field has been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$StartIPRotationRequest; + } + interface Params$Resource$Projects$Zones$Clusters$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The name of the cluster to upgrade. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UpdateClusterRequest; + } + class Resource$Projects$Zones$Clusters$Nodepools { + root: Container; + constructor(root: Container); + getRoot(): Container; + /** + * container.projects.zones.clusters.nodePools.autoscaling + * @desc Sets the autoscaling settings for a specific node pool. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Container Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/container + * // 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 container = google.container('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The Google Developers Console [project ID or project + * // number](https://support.google.com/cloud/answer/6158840). + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * // The name of the Google Compute Engine + * // [zone](/compute/docs/zones#available) in which the cluster + * // resides. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the cluster to upgrade. + * clusterId: 'my-cluster-id', // TODO: Update placeholder value. + * + * // The name of the node pool to upgrade. + * nodePoolId: 'my-node-pool-id', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * container.projects.zones.clusters.nodePools.autoscaling(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 container.projects.zones.clusters.nodePools.autoscaling + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterId Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field. + * @param {string} params.nodePoolId Deprecated. The name of the node pool to upgrade. This field has been deprecated and replaced by the name field. + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. + * @param {().SetNodePoolAutoscalingRequest} 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 + */ + autoscaling(params?: Params$Resource$Projects$Zones$Clusters$Nodepools$Autoscaling, options?: MethodOptions): AxiosPromise; + autoscaling(params: Params$Resource$Projects$Zones$Clusters$Nodepools$Autoscaling, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + autoscaling(params: Params$Resource$Projects$Zones$Clusters$Nodepools$Autoscaling, callback: BodyResponseCallback): void; + autoscaling(callback: BodyResponseCallback): void; + /** + * container.projects.zones.clusters.nodePools.create + * @desc Creates a node pool for a cluster. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Container Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/container + * // 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 container = google.container('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The Google Developers Console [project ID or project + * // + * number](https://developers.google.com/console/help/new/#projectnumber). + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * // The name of the Google Compute Engine + * // [zone](/compute/docs/zones#available) in which the cluster + * // resides. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the cluster. + * clusterId: 'my-cluster-id', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * container.projects.zones.clusters.nodePools.create(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 container.projects.zones.clusters.nodePools.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterId Deprecated. The name of the cluster. This field has been deprecated and replaced by the parent field. + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the parent field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the parent field. + * @param {().CreateNodePoolRequest} 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 + */ + create(params?: Params$Resource$Projects$Zones$Clusters$Nodepools$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Zones$Clusters$Nodepools$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Zones$Clusters$Nodepools$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * container.projects.zones.clusters.nodePools.delete + * @desc Deletes a node pool from a cluster. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Container Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/container + * // 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 container = google.container('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The Google Developers Console [project ID or project + * // + * number](https://developers.google.com/console/help/new/#projectnumber). + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * // The name of the Google Compute Engine + * // [zone](/compute/docs/zones#available) in which the cluster + * // resides. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the cluster. + * clusterId: 'my-cluster-id', // TODO: Update placeholder value. + * + * // The name of the node pool to delete. + * nodePoolId: 'my-node-pool-id', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * container.projects.zones.clusters.nodePools.delete(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 container.projects.zones.clusters.nodePools.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterId Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field. + * @param {string=} params.name The name (project, location, cluster, node pool id) of the node pool to delete. Specified in the format 'projects/x/locations/x/clusters/x/nodePools/x'. + * @param {string} params.nodePoolId Deprecated. The name of the node pool to delete. This field has been deprecated and replaced by the name field. + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. + * @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?: Params$Resource$Projects$Zones$Clusters$Nodepools$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Zones$Clusters$Nodepools$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Zones$Clusters$Nodepools$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * container.projects.zones.clusters.nodePools.get + * @desc Retrieves the node pool requested. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Container Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/container + * // 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 container = google.container('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The Google Developers Console [project ID or project + * // + * number](https://developers.google.com/console/help/new/#projectnumber). + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * // The name of the Google Compute Engine + * // [zone](/compute/docs/zones#available) in which the cluster + * // resides. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the cluster. + * clusterId: 'my-cluster-id', // TODO: Update placeholder value. + * + * // The name of the node pool. + * nodePoolId: 'my-node-pool-id', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * container.projects.zones.clusters.nodePools.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 container.projects.zones.clusters.nodePools.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterId Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field. + * @param {string=} params.name The name (project, location, cluster, node pool id) of the node pool to get. Specified in the format 'projects/x/locations/x/clusters/x/nodePools/x'. + * @param {string} params.nodePoolId Deprecated. The name of the node pool. This field has been deprecated and replaced by the name field. + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. + * @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?: Params$Resource$Projects$Zones$Clusters$Nodepools$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Zones$Clusters$Nodepools$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Zones$Clusters$Nodepools$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * container.projects.zones.clusters.nodePools.list + * @desc Lists the node pools for a cluster. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Container Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/container + * // 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 container = google.container('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The Google Developers Console [project ID or project + * // + * number](https://developers.google.com/console/help/new/#projectnumber). + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * // The name of the Google Compute Engine + * // [zone](/compute/docs/zones#available) in which the cluster + * // resides. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the cluster. + * clusterId: 'my-cluster-id', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * container.projects.zones.clusters.nodePools.list(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 container.projects.zones.clusters.nodePools.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterId Deprecated. The name of the cluster. This field has been deprecated and replaced by the parent field. + * @param {string=} params.parent The parent (project, location, cluster id) where the node pools will be listed. Specified in the format 'projects/x/locations/x/clusters/x'. + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the parent field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the parent field. + * @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?: Params$Resource$Projects$Zones$Clusters$Nodepools$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Zones$Clusters$Nodepools$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Zones$Clusters$Nodepools$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * container.projects.zones.clusters.nodePools.rollback + * @desc Roll back the previously Aborted or Failed NodePool upgrade. This + * will be an no-op if the last upgrade successfully completed. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Container Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/container + * // 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 container = google.container('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The Google Developers Console [project ID or project + * // number](https://support.google.com/cloud/answer/6158840). + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * // The name of the Google Compute Engine + * // [zone](/compute/docs/zones#available) in which the cluster + * // resides. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the cluster to rollback. + * clusterId: 'my-cluster-id', // TODO: Update placeholder value. + * + * // The name of the node pool to rollback. + * nodePoolId: 'my-node-pool-id', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * container.projects.zones.clusters.nodePools.rollback(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 container.projects.zones.clusters.nodePools.rollback + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterId Deprecated. The name of the cluster to rollback. This field has been deprecated and replaced by the name field. + * @param {string} params.nodePoolId Deprecated. The name of the node pool to rollback. This field has been deprecated and replaced by the name field. + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. + * @param {().RollbackNodePoolUpgradeRequest} 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 + */ + rollback(params?: Params$Resource$Projects$Zones$Clusters$Nodepools$Rollback, options?: MethodOptions): AxiosPromise; + rollback(params: Params$Resource$Projects$Zones$Clusters$Nodepools$Rollback, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + rollback(params: Params$Resource$Projects$Zones$Clusters$Nodepools$Rollback, callback: BodyResponseCallback): void; + rollback(callback: BodyResponseCallback): void; + /** + * container.projects.zones.clusters.nodePools.setManagement + * @desc Sets the NodeManagement options for a node pool. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Container Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/container + * // 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 container = google.container('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The Google Developers Console [project ID or project + * // number](https://support.google.com/cloud/answer/6158840). + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * // The name of the Google Compute Engine + * // [zone](/compute/docs/zones#available) in which the cluster + * // resides. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the cluster to update. + * clusterId: 'my-cluster-id', // TODO: Update placeholder value. + * + * // The name of the node pool to update. + * nodePoolId: 'my-node-pool-id', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * container.projects.zones.clusters.nodePools.setManagement(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 container.projects.zones.clusters.nodePools.setManagement + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterId Deprecated. The name of the cluster to update. This field has been deprecated and replaced by the name field. + * @param {string} params.nodePoolId Deprecated. The name of the node pool to update. This field has been deprecated and replaced by the name field. + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. + * @param {().SetNodePoolManagementRequest} 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 + */ + setManagement(params?: Params$Resource$Projects$Zones$Clusters$Nodepools$Setmanagement, options?: MethodOptions): AxiosPromise; + setManagement(params: Params$Resource$Projects$Zones$Clusters$Nodepools$Setmanagement, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setManagement(params: Params$Resource$Projects$Zones$Clusters$Nodepools$Setmanagement, callback: BodyResponseCallback): void; + setManagement(callback: BodyResponseCallback): void; + /** + * container.projects.zones.clusters.nodePools.setSize + * @desc Sets the size for a specific node pool. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Container Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/container + * // 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 container = google.container('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The Google Developers Console [project ID or project + * // number](https://support.google.com/cloud/answer/6158840). + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * // The name of the Google Compute Engine + * // [zone](/compute/docs/zones#available) in which the cluster + * // resides. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the cluster to update. + * clusterId: 'my-cluster-id', // TODO: Update placeholder value. + * + * // The name of the node pool to update. + * nodePoolId: 'my-node-pool-id', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * container.projects.zones.clusters.nodePools.setSize(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 container.projects.zones.clusters.nodePools.setSize + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterId Deprecated. The name of the cluster to update. This field has been deprecated and replaced by the name field. + * @param {string} params.nodePoolId Deprecated. The name of the node pool to update. This field has been deprecated and replaced by the name field. + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. + * @param {().SetNodePoolSizeRequest} 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 + */ + setSize(params?: Params$Resource$Projects$Zones$Clusters$Nodepools$Setsize, options?: MethodOptions): AxiosPromise; + setSize(params: Params$Resource$Projects$Zones$Clusters$Nodepools$Setsize, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setSize(params: Params$Resource$Projects$Zones$Clusters$Nodepools$Setsize, callback: BodyResponseCallback): void; + setSize(callback: BodyResponseCallback): void; + /** + * container.projects.zones.clusters.nodePools.update + * @desc Updates the version and/or image type for a specific node pool. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Container Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/container + * // 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 container = google.container('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The Google Developers Console [project ID or project + * // number](https://support.google.com/cloud/answer/6158840). + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * // The name of the Google Compute Engine + * // [zone](/compute/docs/zones#available) in which the cluster + * // resides. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The name of the cluster to upgrade. + * clusterId: 'my-cluster-id', // TODO: Update placeholder value. + * + * // The name of the node pool to upgrade. + * nodePoolId: 'my-node-pool-id', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * container.projects.zones.clusters.nodePools.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 container.projects.zones.clusters.nodePools.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterId Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field. + * @param {string} params.nodePoolId Deprecated. The name of the node pool to upgrade. This field has been deprecated and replaced by the name field. + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. + * @param {().UpdateNodePoolRequest} 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?: Params$Resource$Projects$Zones$Clusters$Nodepools$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Projects$Zones$Clusters$Nodepools$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Projects$Zones$Clusters$Nodepools$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Zones$Clusters$Nodepools$Autoscaling { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The name of the cluster to upgrade. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * Deprecated. The name of the node pool to upgrade. This field has been + * deprecated and replaced by the name field. + */ + nodePoolId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetNodePoolAutoscalingRequest; + } + interface Params$Resource$Projects$Zones$Clusters$Nodepools$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The name of the cluster. This field has been deprecated and + * replaced by the parent field. + */ + clusterId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://developers.google.com/console/help/new/#projectnumber). + * This field has been deprecated and replaced by the parent field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the parent field. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreateNodePoolRequest; + } + interface Params$Resource$Projects$Zones$Clusters$Nodepools$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The name of the cluster. This field has been deprecated and + * replaced by the name field. + */ + clusterId?: string; + /** + * The name (project, location, cluster, node pool id) of the node pool to + * delete. Specified in the format + * 'projects/x/locations/x/clusters/x/nodePools/x'. + */ + name?: string; + /** + * Deprecated. The name of the node pool to delete. This field has been + * deprecated and replaced by the name field. + */ + nodePoolId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://developers.google.com/console/help/new/#projectnumber). + * This field has been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + interface Params$Resource$Projects$Zones$Clusters$Nodepools$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The name of the cluster. This field has been deprecated and + * replaced by the name field. + */ + clusterId?: string; + /** + * The name (project, location, cluster, node pool id) of the node pool to + * get. Specified in the format + * 'projects/x/locations/x/clusters/x/nodePools/x'. + */ + name?: string; + /** + * Deprecated. The name of the node pool. This field has been deprecated and + * replaced by the name field. + */ + nodePoolId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://developers.google.com/console/help/new/#projectnumber). + * This field has been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + interface Params$Resource$Projects$Zones$Clusters$Nodepools$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The name of the cluster. This field has been deprecated and + * replaced by the parent field. + */ + clusterId?: string; + /** + * The parent (project, location, cluster id) where the node pools will be + * listed. Specified in the format 'projects/x/locations/x/clusters/x'. + */ + parent?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://developers.google.com/console/help/new/#projectnumber). + * This field has been deprecated and replaced by the parent field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the parent field. + */ + zone?: string; + } + interface Params$Resource$Projects$Zones$Clusters$Nodepools$Rollback { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The name of the cluster to rollback. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * Deprecated. The name of the node pool to rollback. This field has been + * deprecated and replaced by the name field. + */ + nodePoolId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RollbackNodePoolUpgradeRequest; + } + interface Params$Resource$Projects$Zones$Clusters$Nodepools$Setmanagement { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The name of the cluster to update. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * Deprecated. The name of the node pool to update. This field has been + * deprecated and replaced by the name field. + */ + nodePoolId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetNodePoolManagementRequest; + } + interface Params$Resource$Projects$Zones$Clusters$Nodepools$Setsize { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The name of the cluster to update. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * Deprecated. The name of the node pool to update. This field has been + * deprecated and replaced by the name field. + */ + nodePoolId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetNodePoolSizeRequest; + } + interface Params$Resource$Projects$Zones$Clusters$Nodepools$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The name of the cluster to upgrade. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * Deprecated. The name of the node pool to upgrade. This field has been + * deprecated and replaced by the name field. + */ + nodePoolId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UpdateNodePoolRequest; + } + class Resource$Projects$Zones$Operations { + root: Container; + constructor(root: Container); + getRoot(): Container; + /** + * container.projects.zones.operations.cancel + * @desc Cancels the specified operation. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Container Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/container + * // 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 container = google.container('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The Google Developers Console [project ID or project + * // number](https://support.google.com/cloud/answer/6158840). + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * // The name of the Google Compute Engine + * // [zone](/compute/docs/zones#available) in which the operation + * resides. zone: 'my-zone', // TODO: Update placeholder value. + * + * // The server-assigned `name` of the operation. + * operationId: 'my-operation-id', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * container.projects.zones.operations.cancel(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 container.projects.zones.operations.cancel + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.operationId Deprecated. The server-assigned `name` of the operation. This field has been deprecated and replaced by the name field. + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the operation resides. This field has been deprecated and replaced by the name field. + * @param {().CancelOperationRequest} 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 + */ + cancel(params?: Params$Resource$Projects$Zones$Operations$Cancel, options?: MethodOptions): AxiosPromise; + cancel(params: Params$Resource$Projects$Zones$Operations$Cancel, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + cancel(params: Params$Resource$Projects$Zones$Operations$Cancel, callback: BodyResponseCallback): void; + cancel(callback: BodyResponseCallback): void; + /** + * container.projects.zones.operations.get + * @desc Gets the specified operation. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Container Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/container + * // 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 container = google.container('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The Google Developers Console [project ID or project + * // number](https://support.google.com/cloud/answer/6158840). + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * // The name of the Google Compute Engine + * // [zone](/compute/docs/zones#available) in which the cluster + * // resides. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * // The server-assigned `name` of the operation. + * operationId: 'my-operation-id', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * container.projects.zones.operations.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 container.projects.zones.operations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.name The name (project, location, operation id) of the operation to get. Specified in the format 'projects/x/locations/x/operations/x'. + * @param {string} params.operationId Deprecated. The server-assigned `name` of the operation. This field has been deprecated and replaced by the name field. + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. + * @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?: Params$Resource$Projects$Zones$Operations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Zones$Operations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Zones$Operations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * container.projects.zones.operations.list + * @desc Lists all operations in a project in a specific zone or all zones. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Container Engine API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/container + * // 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 container = google.container('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The Google Developers Console [project ID or project + * // number](https://support.google.com/cloud/answer/6158840). + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * // The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) + * // to return operations for, or `-` for all zones. + * zone: 'my-zone', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * container.projects.zones.operations.list(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 container.projects.zones.operations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.parent The parent (project and location) where the operations will be listed. Specified in the format 'projects/x/locations/x'. Location "-" matches all zones and all regions. + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the parent field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) to return operations for, or `-` for all zones. This field has been deprecated and replaced by the parent field. + * @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?: Params$Resource$Projects$Zones$Operations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Zones$Operations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Zones$Operations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Zones$Operations$Cancel { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The server-assigned `name` of the operation. This field has + * been deprecated and replaced by the name field. + */ + operationId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the operation resides. + * This field has been deprecated and replaced by the name field. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CancelOperationRequest; + } + interface Params$Resource$Projects$Zones$Operations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name (project, location, operation id) of the operation to get. + * Specified in the format 'projects/x/locations/x/operations/x'. + */ + name?: string; + /** + * Deprecated. The server-assigned `name` of the operation. This field has + * been deprecated and replaced by the name field. + */ + operationId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + interface Params$Resource$Projects$Zones$Operations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The parent (project and location) where the operations will be listed. + * Specified in the format 'projects/x/locations/x'. Location "-" matches + * all zones and all regions. + */ + parent?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the parent field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) to return operations for, or `-` + * for all zones. This field has been deprecated and replaced by the parent + * field. + */ + zone?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/container/v1.js b/express-server/node_modules/googleapis/build/src/apis/container/v1.js new file mode 100644 index 00000000..fc23d368 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/container/v1.js @@ -0,0 +1,2035 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var container_v1; +(function (container_v1) { + /** + * Kubernetes Engine API + * + * The Google Kubernetes Engine API is used for building and managing + * container based applications, powered by the open source Kubernetes + * technology. + * + * @example + * const {google} = require('googleapis'); + * const container = google.container('v1'); + * + * @namespace container + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Container + */ + class Container { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.projects = new Resource$Projects(this); + } + getRoot() { + return this.root; + } + } + container_v1.Container = Container; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.locations = new Resource$Projects$Locations(root); + this.zones = new Resource$Projects$Zones(root); + } + getRoot() { + return this.root; + } + } + container_v1.Resource$Projects = Resource$Projects; + class Resource$Projects$Locations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.clusters = new Resource$Projects$Locations$Clusters(root); + this.operations = new Resource$Projects$Locations$Operations(root); + } + getRoot() { + return this.root; + } + getServerConfig(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}/serverConfig') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + container_v1.Resource$Projects$Locations = Resource$Projects$Locations; + class Resource$Projects$Locations$Clusters { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.nodePools = new Resource$Projects$Locations$Clusters$Nodepools(root); + } + getRoot() { + return this.root; + } + completeIpRotation(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:completeIpRotation') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/clusters') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/clusters') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setAddons(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:setAddons') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setLegacyAbac(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:setLegacyAbac') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setLocations(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:setLocations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setLogging(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:setLogging') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setMaintenancePolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:setMaintenancePolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setMasterAuth(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:setMasterAuth') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setMonitoring(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:setMonitoring') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setNetworkPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:setNetworkPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setResourceLabels(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:setResourceLabels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + startIpRotation(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:startIpRotation') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + updateMaster(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:updateMaster') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + container_v1.Resource$Projects$Locations$Clusters = Resource$Projects$Locations$Clusters; + class Resource$Projects$Locations$Clusters$Nodepools { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/nodePools') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/nodePools') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + rollback(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:rollback') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setAutoscaling(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:setAutoscaling') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setManagement(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:setManagement') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setSize(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:setSize') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + container_v1.Resource$Projects$Locations$Clusters$Nodepools = Resource$Projects$Locations$Clusters$Nodepools; + class Resource$Projects$Locations$Operations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + cancel(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:cancel') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/operations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + container_v1.Resource$Projects$Locations$Operations = Resource$Projects$Locations$Operations; + class Resource$Projects$Zones { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.clusters = new Resource$Projects$Zones$Clusters(root); + this.operations = new Resource$Projects$Zones$Operations(root); + } + getRoot() { + return this.root; + } + getServerconfig(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/projects/{projectId}/zones/{zone}/serverconfig') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId', 'zone'], + pathParams: ['projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + container_v1.Resource$Projects$Zones = Resource$Projects$Zones; + class Resource$Projects$Zones$Clusters { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.nodePools = new Resource$Projects$Zones$Clusters$Nodepools(root); + } + getRoot() { + return this.root; + } + addons(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/addons') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'zone', 'clusterId'], + pathParams: ['clusterId', 'projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + completeIpRotation(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:completeIpRotation') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'zone', 'clusterId'], + pathParams: ['clusterId', 'projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/projects/{projectId}/zones/{zone}/clusters') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'zone'], + pathParams: ['projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['projectId', 'zone', 'clusterId'], + pathParams: ['clusterId', 'projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId', 'zone', 'clusterId'], + pathParams: ['clusterId', 'projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + legacyAbac(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/legacyAbac') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'zone', 'clusterId'], + pathParams: ['clusterId', 'projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/projects/{projectId}/zones/{zone}/clusters') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId', 'zone'], + pathParams: ['projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + locations(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/locations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'zone', 'clusterId'], + pathParams: ['clusterId', 'projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + logging(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/logging') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'zone', 'clusterId'], + pathParams: ['clusterId', 'projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + master(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/master') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'zone', 'clusterId'], + pathParams: ['clusterId', 'projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + monitoring(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/monitoring') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'zone', 'clusterId'], + pathParams: ['clusterId', 'projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + resourceLabels(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/resourceLabels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'zone', 'clusterId'], + pathParams: ['clusterId', 'projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setMaintenancePolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setMaintenancePolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'zone', 'clusterId'], + pathParams: ['clusterId', 'projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setMasterAuth(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setMasterAuth') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'zone', 'clusterId'], + pathParams: ['clusterId', 'projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setNetworkPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setNetworkPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'zone', 'clusterId'], + pathParams: ['clusterId', 'projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + startIpRotation(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:startIpRotation') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'zone', 'clusterId'], + pathParams: ['clusterId', 'projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['projectId', 'zone', 'clusterId'], + pathParams: ['clusterId', 'projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + container_v1.Resource$Projects$Zones$Clusters = Resource$Projects$Zones$Clusters; + class Resource$Projects$Zones$Clusters$Nodepools { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + autoscaling(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/autoscaling') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'zone', 'clusterId', 'nodePoolId'], + pathParams: ['clusterId', 'nodePoolId', 'projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'zone', 'clusterId'], + pathParams: ['clusterId', 'projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['projectId', 'zone', 'clusterId', 'nodePoolId'], + pathParams: ['clusterId', 'nodePoolId', 'projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId', 'zone', 'clusterId', 'nodePoolId'], + pathParams: ['clusterId', 'nodePoolId', 'projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId', 'zone', 'clusterId'], + pathParams: ['clusterId', 'projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + rollback(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}:rollback') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'zone', 'clusterId', 'nodePoolId'], + pathParams: ['clusterId', 'nodePoolId', 'projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setManagement(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/setManagement') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'zone', 'clusterId', 'nodePoolId'], + pathParams: ['clusterId', 'nodePoolId', 'projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setSize(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/setSize') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'zone', 'clusterId', 'nodePoolId'], + pathParams: ['clusterId', 'nodePoolId', 'projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/update') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'zone', 'clusterId', 'nodePoolId'], + pathParams: ['clusterId', 'nodePoolId', 'projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + container_v1.Resource$Projects$Zones$Clusters$Nodepools = Resource$Projects$Zones$Clusters$Nodepools; + class Resource$Projects$Zones$Operations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + cancel(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/projects/{projectId}/zones/{zone}/operations/{operationId}:cancel') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'zone', 'operationId'], + pathParams: ['operationId', 'projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/projects/{projectId}/zones/{zone}/operations/{operationId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId', 'zone', 'operationId'], + pathParams: ['operationId', 'projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/projects/{projectId}/zones/{zone}/operations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId', 'zone'], + pathParams: ['projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + container_v1.Resource$Projects$Zones$Operations = Resource$Projects$Zones$Operations; +})(container_v1 = exports.container_v1 || (exports.container_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/container/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/container/v1.js.map new file mode 100644 index 00000000..73c62b48 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/container/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/container/v1.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAIH,yDAA2H;AAE3H,yBAAyB;AACzB,6BAA6B;AAC7B,gCAAgC;AAChC,+BAA+B;AAC/B,+BAA+B;AAE/B,IAAiB,YAAY,CA45S5B;AA55SD,WAAiB,YAAY;IAK3B;;;;;;;;;;;;;;;;OAgBG;IACH,MAAa,SAAS;QAOpB,YAAY,OAAsB,EAAE,MAA2B;YAJ/D,SAAI,GAAG,IAAI,CAAC;YAKV,IAAI,CAAC,QAAQ,GAAG,OAAO,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAExB,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;KACF;IAlBY,sBAAS,YAkBrB,CAAA;IAstDD,MAAa,iBAAiB;QAI5B,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC,SAAS,GAAG,IAAI,2BAA2B,CAAC,IAAI,CAAC,CAAC;YACvD,IAAI,CAAC,KAAK,GAAG,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC;QACjD,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;KACF;IAdY,8BAAiB,oBAc7B,CAAA;IAGD,MAAa,2BAA2B;QAItC,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,oCAAoC,CAAC,IAAI,CAAC,CAAC;YAC/D,IAAI,CAAC,UAAU,GAAG,IAAI,sCAAsC,CAAC,IAAI,CAAC,CAAC;QACrE,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA4BD,eAAe,CACX,gBACyC,EACzC,iBACyC,EACzC,QAAoD;YAEtD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACkB,CAAC;YACvD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwD,CAAC;gBAClE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,0BAA0B,CAAC;yBACjC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAsB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC7D;iBAAM;gBACL,OAAO,oCAAgB,CAAsB,UAAU,CAAC,CAAC;aAC1D;QACH,CAAC;KACF;IAnFY,wCAA2B,8BAmFvC,CAAA;IA2BD,MAAa,oCAAoC;QAG/C,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC,SAAS,GAAG,IAAI,8CAA8C,CAAC,IAAI,CAAC,CAAC;QAC5E,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA2BD,kBAAkB,CACd,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAC8B,CAAC;YACnE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACyD,CAAC;gBACnE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,gCAAgC,CAAC;yBACvC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAmCD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACkB,CAAC;YACvD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwD,CAAC;gBAClE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,wBAAwB,CAAC;yBAC/B,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAiCD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACkB,CAAC;YACvD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwD,CAAC;gBAClE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,aAAa,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBAC5D,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA0BD,GAAG,CAAC,gBACoC,EACpC,iBAAsE,EACtE,QAA+C;YAEjD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACe,CAAC;YACpD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqD,CAAC;gBAC/D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,aAAa,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBAC5D,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxD;iBAAM;gBACL,OAAO,oCAAgB,CAAiB,UAAU,CAAC,CAAC;aACrD;QACH,CAAC;QA8BD,IAAI,CACA,gBACiD,EACjD,iBACiD,EACjD,QAA4D;YAE9D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACgB,CAAC;YACrD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsD,CAAC;gBAChE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,wBAAwB,CAAC;yBAC/B,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA8B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrE;iBAAM;gBACL,OAAO,oCAAgB,CAA8B,UAAU,CAAC,CAAC;aAClE;QACH,CAAC;QA2BD,SAAS,CACL,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACqB,CAAC;YAC1D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2D,CAAC;gBACrE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,uBAAuB,CAAC;yBAC9B,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA2BD,aAAa,CACT,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACyB,CAAC;YAC9D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACoD,CAAC;gBAC9D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,2BAA2B,CAAC;yBAClC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA2BD,YAAY,CACR,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACwB,CAAC;YAC7D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8D,CAAC;gBACxE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,0BAA0B,CAAC;yBACjC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA2BD,UAAU,CACN,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACsB,CAAC;YAC3D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4D,CAAC;gBACtE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,wBAAwB,CAAC;yBAC/B,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA+BD,oBAAoB,CAChB,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACgC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAC2D,CAAC;gBACrE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,kCAAkC,CAAC;yBACzC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA6BD,aAAa,CACT,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACyB,CAAC;YAC9D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACoD,CAAC;gBAC9D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,2BAA2B,CAAC;yBAClC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA2BD,aAAa,CACT,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACyB,CAAC;YAC9D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACoD,CAAC;gBAC9D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,2BAA2B,CAAC;yBAClC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA2BD,gBAAgB,CACZ,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAC4B,CAAC;YACjE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACuD,CAAC;gBACjE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,8BAA8B,CAAC;yBACrC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA2BD,iBAAiB,CACb,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAC6B,CAAC;YAClE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACwD,CAAC;gBAClE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,+BAA+B,CAAC;yBACtC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA2BD,eAAe,CACX,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAC2B,CAAC;YAChE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACsD,CAAC;gBAChE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,6BAA6B,CAAC;yBACpC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA2BD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACkB,CAAC;YACvD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwD,CAAC;gBAClE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,aAAa,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBAC5D,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA2BD,YAAY,CACR,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACwB,CAAC;YAC7D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8D,CAAC;gBACxE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,0BAA0B,CAAC;yBACjC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;KACF;IArrCY,iDAAoC,uCAqrChD,CAAA;IAsUD,MAAa,8CAA8C;QAEzD,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA2BD,MAAM,CACF,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAC4B,CAAC;YACjE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACuD,CAAC;gBACjE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,yBAAyB,CAAC;yBAChC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA8BD,MAAM,CACF,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAC4B,CAAC;YACjE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACuD,CAAC;gBACjE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,aAAa,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBAC5D,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA2BD,GAAG,CAAC,gBAEqC,EACrC,iBAAuE,EACvE,QAAgD;YAElD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACyB,CAAC;YAC9D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACoD,CAAC;gBAC9D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,aAAa,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBAC5D,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzD;iBAAM;gBACL,OAAO,oCAAgB,CAAkB,UAAU,CAAC,CAAC;aACtD;QACH,CAAC;QA8BD,IAAI,CACA,gBAEkD,EAClD,iBACkD,EAClD,QAA6D;YAE/D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAC0B,CAAC;YAC/D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACqD,CAAC;gBAC/D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,yBAAyB,CAAC;yBAChC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA+B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtE;iBAAM;gBACL,OAAO,oCAAgB,CAA+B,UAAU,CAAC,CAAC;aACnE;QACH,CAAC;QA4BD,QAAQ,CACJ,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAC8B,CAAC;YACnE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACyD,CAAC;gBACnE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,sBAAsB,CAAC;yBAC7B,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA8BD,cAAc,CACV,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACoC,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAC+D,CAAC;gBACzE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,4BAA4B,CAAC;yBACnC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA8BD,aAAa,CACT,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAC8D,CAAC;gBACxE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,2BAA2B,CAAC;yBAClC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA2BD,OAAO,CACH,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAC6B,CAAC;YAClE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACwD,CAAC;gBAClE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,qBAAqB,CAAC;yBAC5B,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA2BD,MAAM,CACF,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAC4B,CAAC;YACjE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACuD,CAAC;gBACjE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,aAAa,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBAC5D,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;KACF;IAxoBY,2DAA8C,iDAwoB1D,CAAA;IAmND,MAAa,sCAAsC;QAEjD,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA2BD,MAAM,CACF,gBACkC,EAClC,iBAAoE,EACpE,QAA6C;YAE/C,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACoB,CAAC;YACzD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0D,CAAC;gBACpE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,oBAAoB,CAAC;yBAC3B,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAe,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtD;iBAAM;gBACL,OAAO,oCAAgB,CAAe,UAAU,CAAC,CAAC;aACnD;QACH,CAAC;QA0BD,GAAG,CAAC,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACiB,CAAC;YACtD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAuD,CAAC;gBACjE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,aAAa,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBAC5D,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA6BD,IAAI,CACA,gBACmD,EACnD,iBACmD,EACnD,QAA8D;YAEhE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACkB,CAAC;YACvD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwD,CAAC;gBAClE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,0BAA0B,CAAC;yBACjC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvE;iBAAM;gBACL,OAAO,oCAAgB,CAAgC,UAAU,CAAC,CAAC;aACpE;QACH,CAAC;KACF;IApNY,mDAAsC,yCAoNlD,CAAA;IA6ED,MAAa,uBAAuB;QAIlC,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,gCAAgC,CAAC,IAAI,CAAC,CAAC;YAC3D,IAAI,CAAC,UAAU,GAAG,IAAI,kCAAkC,CAAC,IAAI,CAAC,CAAC;QACjE,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAqFD,eAAe,CACX,gBACyC,EACzC,iBACyC,EACzC,QAAoD;YAEtD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACc,CAAC;YACnD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoD,CAAC;gBAC9D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,oDAAoD,CAAC;yBACjD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC;gBACrC,UAAU,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAsB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC7D;iBAAM;gBACL,OAAO,oCAAgB,CAAsB,UAAU,CAAC,CAAC;aAC1D;QACH,CAAC;KACF;IA7IY,oCAAuB,0BA6InC,CAAA;IA2BD,MAAa,gCAAgC;QAG3C,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC,SAAS,GAAG,IAAI,0CAA0C,CAAC,IAAI,CAAC,CAAC;QACxE,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA6FD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACc,CAAC;YACnD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoD,CAAC;gBAC9D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,mEAAmE,CAAC;yBAChE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC;gBAClD,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC;gBAC9C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA8FD,kBAAkB,CACd,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAC0B,CAAC;YAC/D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACqD,CAAC;gBAC/D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,+EAA+E,CAAC;yBAC5E,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC;gBAClD,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC;gBAC9C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAiGD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACc,CAAC;YACnD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoD,CAAC;gBAC9D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,gDAAgD,CAAC;yBACvD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC;gBACrC,UAAU,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA6FD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACc,CAAC;YACnD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoD,CAAC;gBAC9D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4DAA4D,CAAC;yBACzD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC;gBAClD,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC;gBAC9C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAsFD,GAAG,CAAC,gBACoC,EACpC,iBAAsE,EACtE,QAA+C;YAEjD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACW,CAAC;YAChD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiD,CAAC;gBAC3D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4DAA4D,CAAC;yBACzD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC;gBAClD,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC;gBAC9C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxD;iBAAM;gBACL,OAAO,oCAAgB,CAAiB,UAAU,CAAC,CAAC;aACrD;QACH,CAAC;QA6FD,UAAU,CACN,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACkB,CAAC;YACvD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwD,CAAC;gBAClE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,uEAAuE,CAAC;yBACpE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC;gBAClD,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC;gBAC9C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAuFD,IAAI,CACA,gBACiD,EACjD,iBACiD,EACjD,QAA4D;YAE9D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACY,CAAC;YACjD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkD,CAAC;gBAC5D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,gDAAgD,CAAC;yBACvD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC;gBACrC,UAAU,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA8B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrE;iBAAM;gBACL,OAAO,oCAAgB,CAA8B,UAAU,CAAC,CAAC;aAClE;QACH,CAAC;QA6FD,SAAS,CACL,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACiB,CAAC;YACtD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAuD,CAAC;gBACjE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,sEAAsE,CAAC;yBACnE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC;gBAClD,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC;gBAC9C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA6FD,OAAO,CACH,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACe,CAAC;YACpD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqD,CAAC;gBAC/D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,oEAAoE,CAAC;yBACjE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC;gBAClD,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC;gBAC9C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA6FD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACc,CAAC;YACnD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoD,CAAC;gBAC9D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,mEAAmE,CAAC;yBAChE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC;gBAClD,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC;gBAC9C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA6FD,UAAU,CACN,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACkB,CAAC;YACvD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwD,CAAC;gBAClE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,uEAAuE,CAAC;yBACpE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC;gBAClD,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC;gBAC9C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA8FD,cAAc,CACV,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACsB,CAAC;YAC3D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4D,CAAC;gBACtE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,2EAA2E,CAAC;yBACxE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC;gBAClD,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC;gBAC9C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA8FD,oBAAoB,CAChB,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAC4B,CAAC;YACjE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACuD,CAAC;gBACjE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,iFAAiF,CAAC;yBAC9E,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC;gBAClD,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC;gBAC9C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA+FD,aAAa,CACT,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACqB,CAAC;YAC1D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2D,CAAC;gBACrE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,0EAA0E,CAAC;yBACvE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC;gBAClD,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC;gBAC9C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA8FD,gBAAgB,CACZ,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACwB,CAAC;YAC7D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8D,CAAC;gBACxE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,6EAA6E,CAAC;yBAC1E,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC;gBAClD,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC;gBAC9C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA8FD,eAAe,CACX,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACuB,CAAC;YAC5D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6D,CAAC;gBACvE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4EAA4E,CAAC;yBACzE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC;gBAClD,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC;gBAC9C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA+FD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACc,CAAC;YACnD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoD,CAAC;gBAC9D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4DAA4D,CAAC;yBACzD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC;gBAClD,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC;gBAC9C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;KACF;IAtxEY,6CAAgC,mCAsxE5C,CAAA;IAqeD,MAAa,0CAA0C;QAErD,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAiGD,WAAW,CACP,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAC6B,CAAC;YAClE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACwD,CAAC;gBAClE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,+FAA+F,CAAC;yBAC5F,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC;gBAChE,UAAU,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,CAAC;gBAC5D,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA8FD,MAAM,CACF,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACwB,CAAC;YAC7D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8D,CAAC;gBACxE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,sEAAsE,CAAC;yBACnE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC;gBAClD,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC;gBAC9C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA8FD,MAAM,CACF,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACwB,CAAC;YAC7D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8D,CAAC;gBACxE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,mFAAmF,CAAC;yBAChF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC;gBAChE,UAAU,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,CAAC;gBAC5D,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA2FD,GAAG,CAAC,gBAEqC,EACrC,iBAAuE,EACvE,QAAgD;YAElD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACqB,CAAC;YAC1D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2D,CAAC;gBACrE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,mFAAmF,CAAC;yBAChF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC;gBAChE,UAAU,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,CAAC;gBAC5D,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzD;iBAAM;gBACL,OAAO,oCAAgB,CAAkB,UAAU,CAAC,CAAC;aACtD;QACH,CAAC;QA2FD,IAAI,CACA,gBAEkD,EAClD,iBACkD,EAClD,QAA6D;YAE/D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACsB,CAAC;YAC3D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4D,CAAC;gBACtE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,sEAAsE,CAAC;yBACnE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC;gBAClD,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC;gBAC9C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA+B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtE;iBAAM;gBACL,OAAO,oCAAgB,CAA+B,UAAU,CAAC,CAAC;aACnE;QACH,CAAC;QAkGD,QAAQ,CACJ,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAC0B,CAAC;YAC/D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACqD,CAAC;gBAC/D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4FAA4F,CAAC;yBACzF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC;gBAChE,UAAU,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,CAAC;gBAC5D,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAkGD,aAAa,CACT,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAC+B,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAC0D,CAAC;gBACpE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,iGAAiG,CAAC;yBAC9F,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC;gBAChE,UAAU,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,CAAC;gBAC5D,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAiGD,OAAO,CACH,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACyB,CAAC;YAC9D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACoD,CAAC;gBAC9D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,2FAA2F,CAAC;yBACxF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC;gBAChE,UAAU,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,CAAC;gBAC5D,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAiGD,MAAM,CACF,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACwB,CAAC;YAC7D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8D,CAAC;gBACxE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,0FAA0F,CAAC;yBACvF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC;gBAChE,UAAU,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,CAAC;gBAC5D,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;KACF;IAjvCY,uDAA0C,6CAivCtD,CAAA;IA+SD,MAAa,kCAAkC;QAE7C,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA2FD,MAAM,CACF,gBACkC,EAClC,iBAAoE,EACpE,QAA6C;YAE/C,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACgB,CAAC;YACrD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsD,CAAC;gBAChE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,uEAAuE,CAAC;yBACpE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,CAAC;gBACpD,UAAU,EAAE,CAAC,aAAa,EAAE,WAAW,EAAE,MAAM,CAAC;gBAChD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAe,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtD;iBAAM;gBACL,OAAO,oCAAgB,CAAe,UAAU,CAAC,CAAC;aACnD;QACH,CAAC;QAsFD,GAAG,CAAC,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACa,CAAC;YAClD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmD,CAAC;gBAC7D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,gEAAgE,CAAC;yBAC7D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,CAAC;gBACpD,UAAU,EAAE,CAAC,aAAa,EAAE,WAAW,EAAE,MAAM,CAAC;gBAChD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAsFD,IAAI,CACA,gBACmD,EACnD,iBACmD,EACnD,QAA8D;YAEhE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACc,CAAC;YACnD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoD,CAAC;gBAC9D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO,GAAG,kDAAkD,CAAC;yBACzD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC;gBACrC,UAAU,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvE;iBAAM;gBACL,OAAO,oCAAgB,CAAgC,UAAU,CAAC,CAAC;aACpE;QACH,CAAC;KACF;IA/YY,+CAAkC,qCA+Y9C,CAAA;AAsFH,CAAC,EA55SgB,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QA45S5B"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/container/v1beta1.d.ts b/express-server/node_modules/googleapis/build/src/apis/container/v1beta1.d.ts new file mode 100644 index 00000000..d6bd15c0 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/container/v1beta1.d.ts @@ -0,0 +1,4864 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace container_v1beta1 { + interface Options extends GlobalOptions { + version: 'v1beta1'; + } + /** + * Kubernetes Engine API + * + * The Google Kubernetes Engine API is used for building and managing + * container based applications, powered by the open source Kubernetes + * technology. + * + * @example + * const {google} = require('googleapis'); + * const container = google.container('v1beta1'); + * + * @namespace container + * @type {Function} + * @version v1beta1 + * @variation v1beta1 + * @param {object=} options Options for Container + */ + class Container { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + projects: Resource$Projects; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * AcceleratorConfig represents a Hardware Accelerator request. + */ + interface Schema$AcceleratorConfig { + /** + * The number of the accelerator cards exposed to an instance. + */ + acceleratorCount?: string; + /** + * The accelerator type resource name. List of supported accelerators + * [here](/compute/docs/gpus/#Introduction) + */ + acceleratorType?: string; + } + /** + * Configuration for the addons that can be automatically spun up in the + * cluster, enabling additional functionality. + */ + interface Schema$AddonsConfig { + /** + * Configuration for the horizontal pod autoscaling feature, which increases + * or decreases the number of replica pods a replication controller has + * based on the resource usage of the existing pods. + */ + horizontalPodAutoscaling?: Schema$HorizontalPodAutoscaling; + /** + * Configuration for the HTTP (L7) load balancing controller addon, which + * makes it easy to set up HTTP load balancers for services in a cluster. + */ + httpLoadBalancing?: Schema$HttpLoadBalancing; + /** + * Configuration for the Kubernetes Dashboard. + */ + kubernetesDashboard?: Schema$KubernetesDashboard; + /** + * Configuration for NetworkPolicy. This only tracks whether the addon is + * enabled or not on the Master, it does not track whether network policy is + * enabled for the nodes. + */ + networkPolicyConfig?: Schema$NetworkPolicyConfig; + } + /** + * AutoUpgradeOptions defines the set of options for the user to control how + * the Auto Upgrades will proceed. + */ + interface Schema$AutoUpgradeOptions { + /** + * [Output only] This field is set when upgrades are about to commence with + * the approximate start time for the upgrades, in + * [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. + */ + autoUpgradeStartTime?: string; + /** + * [Output only] This field is set when upgrades are about to commence with + * the description of the upgrade. + */ + description?: string; + } + /** + * Configuration for Binary Authorization. + */ + interface Schema$BinaryAuthorization { + /** + * Enable Binary Authorization for this cluster. If enabled, all container + * images will be validated by Google Binauthz. + */ + enabled?: boolean; + } + /** + * CancelOperationRequest cancels a single operation. + */ + interface Schema$CancelOperationRequest { + /** + * The name (project, location, operation id) of the operation to cancel. + * Specified in the format 'projects/x/locations/x/operations/*'. + */ + name?: string; + /** + * Deprecated. The server-assigned `name` of the operation. This field has + * been deprecated and replaced by the name field. + */ + operationId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the operation resides. + * This field has been deprecated and replaced by the name field. + */ + zone?: string; + } + /** + * CidrBlock contains an optional name and one CIDR block. + */ + interface Schema$CidrBlock { + /** + * cidr_block must be specified in CIDR notation. + */ + cidrBlock?: string; + /** + * display_name is an optional field for users to identify CIDR blocks. + */ + displayName?: string; + } + /** + * Configuration for client certificates on the cluster. + */ + interface Schema$ClientCertificateConfig { + /** + * Issue a client certificate. + */ + issueClientCertificate?: boolean; + } + /** + * A Google Kubernetes Engine cluster. + */ + interface Schema$Cluster { + /** + * Configurations for the various addons available to run in the cluster. + */ + addonsConfig?: Schema$AddonsConfig; + /** + * Cluster-level autoscaling configuration. + */ + autoscaling?: Schema$ClusterAutoscaling; + /** + * Configuration for Binary Authorization. + */ + binaryAuthorization?: Schema$BinaryAuthorization; + /** + * The IP address range of the container pods in this cluster, in + * [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + * notation (e.g. `10.96.0.0/14`). Leave blank to have one automatically + * chosen or specify a `/14` block in `10.0.0.0/8`. + */ + clusterIpv4Cidr?: string; + /** + * Which conditions caused the current cluster state. + */ + conditions?: Schema$StatusCondition[]; + /** + * [Output only] The time the cluster was created, in + * [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. + */ + createTime?: string; + /** + * [Output only] The current software version of the master endpoint. + */ + currentMasterVersion?: string; + /** + * [Output only] The number of nodes currently in the cluster. + */ + currentNodeCount?: number; + /** + * [Output only] Deprecated, use + * [NodePool.version](/kubernetes-engine/docs/reference/rest/v1beta1/projects.zones.clusters.nodePool) + * instead. The current version of the node software components. If they are + * currently at multiple versions because they're in the process of + * being upgraded, this reflects the minimum version of all nodes. + */ + currentNodeVersion?: string; + /** + * The default constraint on the maximum number of pods that can be run + * simultaneously on a node in the node pool of this cluster. Only honored + * if cluster created with IP Alias support. + */ + defaultMaxPodsConstraint?: Schema$MaxPodsConstraint; + /** + * An optional description of this cluster. + */ + description?: string; + /** + * Kubernetes alpha features are enabled on this cluster. This includes + * alpha API groups (e.g. v1beta1) and features that may not be production + * ready in the kubernetes version of the master and nodes. The cluster has + * no SLA for uptime and master/node upgrades are disabled. Alpha enabled + * clusters are automatically deleted thirty days after creation. + */ + enableKubernetesAlpha?: boolean; + /** + * Enable the ability to use Cloud TPUs in this cluster. + */ + enableTpu?: boolean; + /** + * [Output only] The IP address of this cluster's master endpoint. The + * endpoint can be accessed from the internet at + * `https://username:password@endpoint/`. See the `masterAuth` property of + * this resource for username and password information. + */ + endpoint?: string; + /** + * [Output only] The time the cluster will be automatically deleted in + * [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. + */ + expireTime?: string; + /** + * The initial Kubernetes version for this cluster. Valid versions are + * those found in validMasterVersions returned by getServerConfig. The + * version can be upgraded over time; such upgrades are reflected in + * currentMasterVersion and currentNodeVersion. Users may specify either + * explicit versions offered by Kubernetes Engine or version aliases, which + * have the following behavior: - "latest": picks the highest + * valid Kubernetes version - "1.X": picks the highest valid + * patch+gke.N patch in the 1.X version - "1.X.Y": picks the + * highest valid gke.N patch in the 1.X.Y version - "1.X.Y-gke.N": + * picks an explicit Kubernetes version - "","-": picks + * the default Kubernetes version + */ + initialClusterVersion?: string; + /** + * The number of nodes to create in this cluster. You must ensure that your + * Compute Engine <a + * href="/compute/docs/resource-quotas">resource + * quota</a> is sufficient for this number of instances. You must also + * have available firewall and routes quota. For requests, this field should + * only be used in lieu of a "node_pool" object, since this + * configuration (along with the "node_config") will be used to + * create a "NodePool" object with an auto-generated name. Do not + * use this and a node_pool at the same time. + */ + initialNodeCount?: number; + /** + * Deprecated. Use node_pools.instance_group_urls. + */ + instanceGroupUrls?: string[]; + /** + * Configuration for cluster IP allocation. + */ + ipAllocationPolicy?: Schema$IPAllocationPolicy; + /** + * The fingerprint of the set of labels for this cluster. + */ + labelFingerprint?: string; + /** + * Configuration for the legacy ABAC authorization mode. + */ + legacyAbac?: Schema$LegacyAbac; + /** + * [Output only] The name of the Google Compute Engine + * [zone](/compute/docs/regions-zones/regions-zones#available) or + * [region](/compute/docs/regions-zones/regions-zones#available) in which + * the cluster resides. + */ + location?: string; + /** + * The list of Google Compute Engine + * [locations](/compute/docs/zones#available) in which the cluster's + * nodes should be located. + */ + locations?: string[]; + /** + * The logging service the cluster should use to write logs. Currently + * available options: * `logging.googleapis.com` - the Google Cloud Logging + * service. * `none` - no logs will be exported from the cluster. * if left + * as an empty string,`logging.googleapis.com` will be used. + */ + loggingService?: string; + /** + * Configure the maintenance policy for this cluster. + */ + maintenancePolicy?: Schema$MaintenancePolicy; + /** + * The authentication information for accessing the master endpoint. + */ + masterAuth?: Schema$MasterAuth; + /** + * The configuration options for master authorized networks feature. + */ + masterAuthorizedNetworksConfig?: Schema$MasterAuthorizedNetworksConfig; + /** + * The IP prefix in CIDR notation to use for the hosted master network. This + * prefix will be used for assigning private IP addresses to the master or + * set of masters, as well as the ILB VIP. This field is deprecated, use + * private_cluster_config.master_ipv4_cidr_block instead. + */ + masterIpv4CidrBlock?: string; + /** + * The monitoring service the cluster should use to write metrics. Currently + * available options: * `monitoring.googleapis.com` - the Google Cloud + * Monitoring service. * `none` - no metrics will be exported from the + * cluster. * if left as an empty string, `monitoring.googleapis.com` will + * be used. + */ + monitoringService?: string; + /** + * The name of this cluster. The name must be unique within this project and + * zone, and can be up to 40 characters with the following restrictions: * + * Lowercase letters, numbers, and hyphens only. * Must start with a letter. + * * Must end with a number or a letter. + */ + name?: string; + /** + * The name of the Google Compute Engine + * [network](/compute/docs/networks-and-firewalls#networks) to which the + * cluster is connected. If left unspecified, the `default` network will be + * used. On output this shows the network ID instead of the name. + */ + network?: string; + /** + * Configuration for cluster networking. + */ + networkConfig?: Schema$NetworkConfig; + /** + * Configuration options for the NetworkPolicy feature. + */ + networkPolicy?: Schema$NetworkPolicy; + /** + * Parameters used in creating the cluster's nodes. See `nodeConfig` for + * the description of its properties. For requests, this field should only + * be used in lieu of a "node_pool" object, since this + * configuration (along with the "initial_node_count") will be + * used to create a "NodePool" object with an auto-generated name. + * Do not use this and a node_pool at the same time. For responses, this + * field will be populated with the node configuration of the first node + * pool. If unspecified, the defaults are used. + */ + nodeConfig?: Schema$NodeConfig; + /** + * [Output only] The size of the address space on each node for hosting + * containers. This is provisioned from within the `container_ipv4_cidr` + * range. + */ + nodeIpv4CidrSize?: number; + /** + * The node pools associated with this cluster. This field should not be set + * if "node_config" or "initial_node_count" are + * specified. + */ + nodePools?: Schema$NodePool[]; + /** + * Configuration for the PodSecurityPolicy feature. + */ + podSecurityPolicyConfig?: Schema$PodSecurityPolicyConfig; + /** + * If this is a private cluster setup. Private clusters are clusters that, + * by default have no external IP addresses on the nodes and where nodes and + * the master communicate over private IP addresses. This field is + * deprecated, use private_cluster_config.enable_private_nodes instead. + */ + privateCluster?: boolean; + /** + * Configuration for private cluster. + */ + privateClusterConfig?: Schema$PrivateClusterConfig; + /** + * The resource labels for the cluster to use to annotate any related Google + * Compute Engine resources. + */ + resourceLabels?: any; + /** + * [Output only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output only] The IP address range of the Kubernetes services in this + * cluster, in + * [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + * notation (e.g. `1.2.3.4/29`). Service addresses are typically put in the + * last `/16` from the container CIDR. + */ + servicesIpv4Cidr?: string; + /** + * [Output only] The current status of this cluster. + */ + status?: string; + /** + * [Output only] Additional information about the current status of this + * cluster, if available. + */ + statusMessage?: string; + /** + * The name of the Google Compute Engine + * [subnetwork](/compute/docs/subnetworks) to which the cluster is + * connected. On output this shows the subnetwork ID instead of the name. + */ + subnetwork?: string; + /** + * [Output only] The IP address range of the Cloud TPUs in this cluster, in + * [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + * notation (e.g. `1.2.3.4/29`). + */ + tpuIpv4CidrBlock?: string; + /** + * [Output only] The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field is deprecated, use location instead. + */ + zone?: string; + } + /** + * ClusterAutoscaling contains global, per-cluster information required by + * Cluster Autoscaler to automatically adjust the size of the cluster and + * create/delete node pools based on the current needs. + */ + interface Schema$ClusterAutoscaling { + /** + * Enables automatic node pool creation and deletion. + */ + enableNodeAutoprovisioning?: boolean; + /** + * Contains global constraints regarding minimum and maximum amount of + * resources in the cluster. + */ + resourceLimits?: Schema$ResourceLimit[]; + } + /** + * ClusterUpdate describes an update to the cluster. Exactly one update can be + * applied to a cluster with each request, so at most one field can be + * provided. + */ + interface Schema$ClusterUpdate { + /** + * Configurations for the various addons available to run in the cluster. + */ + desiredAddonsConfig?: Schema$AddonsConfig; + /** + * The desired configuration options for the Binary Authorization feature. + */ + desiredBinaryAuthorization?: Schema$BinaryAuthorization; + /** + * Cluster-level autoscaling configuration. + */ + desiredClusterAutoscaling?: Schema$ClusterAutoscaling; + /** + * The desired image type for the node pool. NOTE: Set the + * "desired_node_pool" field as well. + */ + desiredImageType?: string; + /** + * The desired list of Google Compute Engine + * [locations](/compute/docs/zones#available) in which the cluster's + * nodes should be located. Changing the locations a cluster is in will + * result in nodes being either created or removed from the cluster, + * depending on whether locations are being added or removed. This list + * must always include the cluster's primary zone. + */ + desiredLocations?: string[]; + /** + * The logging service the cluster should use to write metrics. Currently + * available options: * "logging.googleapis.com/kubernetes" - the + * Google Cloud Logging service with Kubernetes-native resource model in + * Stackdriver * "logging.googleapis.com" - the Google Cloud + * Logging service * "none" - no logs will be exported from the + * cluster + */ + desiredLoggingService?: string; + /** + * The desired configuration options for master authorized networks feature. + */ + desiredMasterAuthorizedNetworksConfig?: Schema$MasterAuthorizedNetworksConfig; + /** + * The Kubernetes version to change the master to. The only valid value is + * the latest supported version. Users may specify either explicit versions + * offered by Kubernetes Engine or version aliases, which have the following + * behavior: - "latest": picks the highest valid Kubernetes + * version - "1.X": picks the highest valid patch+gke.N patch in + * the 1.X version - "1.X.Y": picks the highest valid gke.N patch + * in the 1.X.Y version - "1.X.Y-gke.N": picks an explicit + * Kubernetes version - "-": picks the default Kubernetes version + */ + desiredMasterVersion?: string; + /** + * The monitoring service the cluster should use to write metrics. Currently + * available options: * "monitoring.googleapis.com/kubernetes" - + * the Google Cloud Monitoring service with Kubernetes-native resource model + * in Stackdriver * "monitoring.googleapis.com" - the Google Cloud + * Monitoring service * "none" - no metrics will be exported from + * the cluster + */ + desiredMonitoringService?: string; + /** + * Autoscaler configuration for the node pool specified in + * desired_node_pool_id. If there is only one pool in the cluster and + * desired_node_pool_id is not provided then the change applies to that + * single node pool. + */ + desiredNodePoolAutoscaling?: Schema$NodePoolAutoscaling; + /** + * The node pool to be upgraded. This field is mandatory if + * "desired_node_version", "desired_image_family" or + * "desired_node_pool_autoscaling" is specified and there is more + * than one node pool on the cluster. + */ + desiredNodePoolId?: string; + /** + * The Kubernetes version to change the nodes to (typically an upgrade). + * Users may specify either explicit versions offered by Kubernetes Engine + * or version aliases, which have the following behavior: - + * "latest": picks the highest valid Kubernetes version - + * "1.X": picks the highest valid patch+gke.N patch in the 1.X + * version - "1.X.Y": picks the highest valid gke.N patch in + * the 1.X.Y version - "1.X.Y-gke.N": picks an explicit Kubernetes + * version - "-": picks the Kubernetes master version + */ + desiredNodeVersion?: string; + /** + * The desired configuration options for the PodSecurityPolicy feature. + */ + desiredPodSecurityPolicyConfig?: Schema$PodSecurityPolicyConfig; + } + /** + * CompleteIPRotationRequest moves the cluster master back into single-IP + * mode. + */ + interface Schema$CompleteIPRotationRequest { + /** + * Deprecated. The name of the cluster. This field has been deprecated and + * replaced by the name field. + */ + clusterId?: string; + /** + * The name (project, location, cluster id) of the cluster to complete IP + * rotation. Specified in the format + * 'projects/x/locations/x/clusters/*'. + */ + name?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://developers.google.com/console/help/new/#projectnumber). + * This field has been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + /** + * CreateClusterRequest creates a cluster. + */ + interface Schema$CreateClusterRequest { + /** + * A [cluster + * resource](/container-engine/reference/rest/v1beta1/projects.zones.clusters) + */ + cluster?: Schema$Cluster; + /** + * The parent (project and location) where the cluster will be created. + * Specified in the format 'projects/x/locations/*'. + */ + parent?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the parent field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the parent field. + */ + zone?: string; + } + /** + * CreateNodePoolRequest creates a node pool for a cluster. + */ + interface Schema$CreateNodePoolRequest { + /** + * Deprecated. The name of the cluster. This field has been deprecated and + * replaced by the parent field. + */ + clusterId?: string; + /** + * The node pool to create. + */ + nodePool?: Schema$NodePool; + /** + * The parent (project, location, cluster id) where the node pool will be + * created. Specified in the format + * 'projects/x/locations/x/clusters/*'. + */ + parent?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://developers.google.com/console/help/new/#projectnumber). + * This field has been deprecated and replaced by the parent field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the parent field. + */ + zone?: string; + } + /** + * Time window specified for daily maintenance operations. + */ + interface Schema$DailyMaintenanceWindow { + /** + * [Output only] Duration of the time window, automatically chosen to be + * smallest possible in the given scenario. + */ + duration?: string; + /** + * Time within the maintenance window to start the maintenance operations. + * It must be in format "HH:MM”, where HH : [00-23] and MM : [00-59] + * GMT. + */ + startTime?: string; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * Configuration options for the horizontal pod autoscaling feature, which + * increases or decreases the number of replica pods a replication controller + * has based on the resource usage of the existing pods. + */ + interface Schema$HorizontalPodAutoscaling { + /** + * Whether the Horizontal Pod Autoscaling feature is enabled in the cluster. + * When enabled, it ensures that a Heapster pod is running in the cluster, + * which is also used by the Cloud Monitoring service. + */ + disabled?: boolean; + } + /** + * Configuration options for the HTTP (L7) load balancing controller addon, + * which makes it easy to set up HTTP load balancers for services in a + * cluster. + */ + interface Schema$HttpLoadBalancing { + /** + * Whether the HTTP Load Balancing controller is enabled in the cluster. + * When enabled, it runs a small pod in the cluster that manages the load + * balancers. + */ + disabled?: boolean; + } + /** + * Configuration for controlling how IPs are allocated in the cluster. + */ + interface Schema$IPAllocationPolicy { + /** + * If true, allow allocation of cluster CIDR ranges that overlap with + * certain kinds of network routes. By default we do not allow cluster CIDR + * ranges to intersect with any user declared routes. With + * allow_route_overlap == true, we allow overlapping with CIDR ranges that + * are larger than the cluster CIDR range. If this field is set to true, + * then cluster and services CIDRs must be fully-specified (e.g. + * `10.96.0.0/14`, but not `/14`), which means: 1) When `use_ip_aliases` is + * true, `cluster_ipv4_cidr_block` and `services_ipv4_cidr_block` must be + * fully-specified. 2) When `use_ip_aliases` is false, + * `cluster.cluster_ipv4_cidr` muse be fully-specified. + */ + allowRouteOverlap?: boolean; + /** + * This field is deprecated, use cluster_ipv4_cidr_block. + */ + clusterIpv4Cidr?: string; + /** + * The IP address range for the cluster pod IPs. If this field is set, then + * `cluster.cluster_ipv4_cidr` must be left blank. This field is only + * applicable when `use_ip_aliases` is true. Set to blank to have a range + * chosen with the default size. Set to /netmask (e.g. `/14`) to have a + * range chosen with a specific netmask. Set to a + * [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + * notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. + * `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range + * to use. + */ + clusterIpv4CidrBlock?: string; + /** + * The name of the secondary range to be used for the cluster CIDR block. + * The secondary range will be used for pod IP addresses. This must be an + * existing secondary range associated with the cluster subnetwork. This + * field is only applicable with use_ip_aliases and create_subnetwork is + * false. + */ + clusterSecondaryRangeName?: string; + /** + * Whether a new subnetwork will be created automatically for the cluster. + * This field is only applicable when `use_ip_aliases` is true. + */ + createSubnetwork?: boolean; + /** + * This field is deprecated, use node_ipv4_cidr_block. + */ + nodeIpv4Cidr?: string; + /** + * The IP address range of the instance IPs in this cluster. This is + * applicable only if `create_subnetwork` is true. Set to blank to have a + * range chosen with the default size. Set to /netmask (e.g. `/14`) to have + * a range chosen with a specific netmask. Set to a + * [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + * notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. + * `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range + * to use. + */ + nodeIpv4CidrBlock?: string; + /** + * This field is deprecated, use services_ipv4_cidr_block. + */ + servicesIpv4Cidr?: string; + /** + * The IP address range of the services IPs in this cluster. If blank, a + * range will be automatically chosen with the default size. This field is + * only applicable when `use_ip_aliases` is true. Set to blank to have a + * range chosen with the default size. Set to /netmask (e.g. `/14`) to have + * a range chosen with a specific netmask. Set to a + * [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + * notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. + * `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range + * to use. + */ + servicesIpv4CidrBlock?: string; + /** + * The name of the secondary range to be used as for the services CIDR + * block. The secondary range will be used for service ClusterIPs. This + * must be an existing secondary range associated with the cluster + * subnetwork. This field is only applicable with use_ip_aliases and + * create_subnetwork is false. + */ + servicesSecondaryRangeName?: string; + /** + * A custom subnetwork name to be used if `create_subnetwork` is true. If + * this field is empty, then an automatic name will be chosen for the new + * subnetwork. + */ + subnetworkName?: string; + /** + * The IP address range of the Cloud TPUs in this cluster. If unspecified, a + * range will be automatically chosen with the default size. This field is + * only applicable when `use_ip_aliases` is true. If unspecified, the range + * will use the default size. Set to /netmask (e.g. `/14`) to have a range + * chosen with a specific netmask. Set to a + * [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + * notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. + * `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range + * to use. + */ + tpuIpv4CidrBlock?: string; + /** + * Whether alias IPs will be used for pod IPs in the cluster. + */ + useIpAliases?: boolean; + } + /** + * Configuration for the Kubernetes Dashboard. + */ + interface Schema$KubernetesDashboard { + /** + * Whether the Kubernetes Dashboard is enabled for this cluster. + */ + disabled?: boolean; + } + /** + * Configuration for the legacy Attribute Based Access Control authorization + * mode. + */ + interface Schema$LegacyAbac { + /** + * Whether the ABAC authorizer is enabled for this cluster. When enabled, + * identities in the system, including service accounts, nodes, and + * controllers, will have statically granted permissions beyond those + * provided by the RBAC configuration or IAM. + */ + enabled?: boolean; + } + /** + * ListClustersResponse is the result of ListClustersRequest. + */ + interface Schema$ListClustersResponse { + /** + * A list of clusters in the project in the specified zone, or across all + * ones. + */ + clusters?: Schema$Cluster[]; + /** + * If any zones are listed here, the list of clusters returned may be + * missing those zones. + */ + missingZones?: string[]; + } + /** + * ListLocationsResponse returns the list of all GKE locations and their + * recommendation state. + */ + interface Schema$ListLocationsResponse { + /** + * A full list of GKE locations. + */ + locations?: Schema$Location[]; + /** + * Only return ListLocationsResponse that occur after the page_token. This + * value should be populated from the ListLocationsResponse.next_page_token + * if that response token was set (which happens when listing more Locations + * than fit in a single ListLocationsResponse). + */ + nextPageToken?: string; + } + /** + * ListNodePoolsResponse is the result of ListNodePoolsRequest. + */ + interface Schema$ListNodePoolsResponse { + /** + * A list of node pools for a cluster. + */ + nodePools?: Schema$NodePool[]; + } + /** + * ListOperationsResponse is the result of ListOperationsRequest. + */ + interface Schema$ListOperationsResponse { + /** + * If any zones are listed here, the list of operations returned may be + * missing the operations from those zones. + */ + missingZones?: string[]; + /** + * A list of operations in the project in the specified zone. + */ + operations?: Schema$Operation[]; + } + /** + * ListUsableSubnetworksResponse is the response of + * ListUsableSubnetworksRequest. + */ + interface Schema$ListUsableSubnetworksResponse { + /** + * This token allows you to get the next page of results for list requests. + * If the number of results is larger than `page_size`, use the + * `next_page_token` as a value for the query parameter `page_token` in the + * next request. The value will become empty when there are no more pages. + */ + nextPageToken?: string; + /** + * A list of usable subnetworks in the specified network project. + */ + subnetworks?: Schema$UsableSubnetwork[]; + } + /** + * Location returns the location name, and if the location is recommended for + * GKE cluster scheduling. + */ + interface Schema$Location { + /** + * Contains the name of the resource requested. Specified in the format + * 'projects/x/locations/*'. + */ + name?: string; + /** + * Recommended is a bool combining the drain state of the location (ie- has + * the region been drained manually?), and the stockout status of any zone + * according to Zone Advisor. This will be internal only for use by + * pantheon. + */ + recommended?: boolean; + /** + * Contains the type of location this Location is for. Regional or Zonal. + */ + type?: string; + } + /** + * MaintenancePolicy defines the maintenance policy to be used for the + * cluster. + */ + interface Schema$MaintenancePolicy { + /** + * Specifies the maintenance window in which maintenance may be performed. + */ + window?: Schema$MaintenanceWindow; + } + /** + * MaintenanceWindow defines the maintenance window to be used for the + * cluster. + */ + interface Schema$MaintenanceWindow { + /** + * DailyMaintenanceWindow specifies a daily maintenance operation window. + */ + dailyMaintenanceWindow?: Schema$DailyMaintenanceWindow; + } + /** + * The authentication information for accessing the master endpoint. + * Authentication can be done using HTTP basic auth or using client + * certificates. + */ + interface Schema$MasterAuth { + /** + * [Output only] Base64-encoded public certificate used by clients to + * authenticate to the cluster endpoint. + */ + clientCertificate?: string; + /** + * Configuration for client certificate authentication on the cluster. For + * clusters before v1.12, if no configuration is specified, a client + * certificate is issued. + */ + clientCertificateConfig?: Schema$ClientCertificateConfig; + /** + * [Output only] Base64-encoded private key used by clients to authenticate + * to the cluster endpoint. + */ + clientKey?: string; + /** + * [Output only] Base64-encoded public certificate that is the root of trust + * for the cluster. + */ + clusterCaCertificate?: string; + /** + * The password to use for HTTP basic authentication to the master endpoint. + * Because the master endpoint is open to the Internet, you should create a + * strong password. If a password is provided for cluster creation, + * username must be non-empty. + */ + password?: string; + /** + * The username to use for HTTP basic authentication to the master endpoint. + * For clusters v1.6.0 and later, you can disable basic authentication by + * providing an empty username. + */ + username?: string; + } + /** + * Configuration options for the master authorized networks feature. Enabled + * master authorized networks will disallow all external traffic to access + * Kubernetes master through HTTPS except traffic from the given CIDR blocks, + * Google Compute Engine Public IPs and Google Prod IPs. + */ + interface Schema$MasterAuthorizedNetworksConfig { + /** + * cidr_blocks define up to 10 external networks that could access + * Kubernetes master through HTTPS. + */ + cidrBlocks?: Schema$CidrBlock[]; + /** + * Whether or not master authorized networks is enabled. + */ + enabled?: boolean; + } + /** + * Constraints applied to pods. + */ + interface Schema$MaxPodsConstraint { + /** + * Constraint enforced on the max num of pods per node. + */ + maxPodsPerNode?: string; + } + /** + * Progress metric is (string, int|float|string) pair. + */ + interface Schema$Metric { + /** + * For metrics with floating point value. + */ + doubleValue?: number; + /** + * For metrics with integer value. + */ + intValue?: string; + /** + * Metric name, required. e.g., "nodes total", "percent + * done" + */ + name?: string; + /** + * For metrics with custom values (ratios, visual progress, etc.). + */ + stringValue?: string; + } + /** + * NetworkConfig reports the relative names of network & subnetwork. + */ + interface Schema$NetworkConfig { + /** + * Output only. The relative name of the Google Compute Engine + * network(/compute/docs/networks-and-firewalls#networks) to which the + * cluster is connected. Example: + * projects/my-project/global/networks/my-network + */ + network?: string; + /** + * Output only. The relative name of the Google Compute Engine + * [subnetwork](/compute/docs/vpc) to which the cluster is connected. + * Example: projects/my-project/regions/us-central1/subnetworks/my-subnet + */ + subnetwork?: string; + } + /** + * Configuration options for the NetworkPolicy feature. + * https://kubernetes.io/docs/concepts/services-networking/networkpolicies/ + */ + interface Schema$NetworkPolicy { + /** + * Whether network policy is enabled on the cluster. + */ + enabled?: boolean; + /** + * The selected network policy provider. + */ + provider?: string; + } + /** + * Configuration for NetworkPolicy. This only tracks whether the addon is + * enabled or not on the Master, it does not track whether network policy is + * enabled for the nodes. + */ + interface Schema$NetworkPolicyConfig { + /** + * Whether NetworkPolicy is enabled for this cluster. + */ + disabled?: boolean; + } + /** + * Parameters that describe the nodes in a cluster. + */ + interface Schema$NodeConfig { + /** + * A list of hardware accelerators to be attached to each node. See + * https://cloud.google.com/compute/docs/gpus for more information about + * support for GPUs. + */ + accelerators?: Schema$AcceleratorConfig[]; + /** + * Size of the disk attached to each node, specified in GB. The smallest + * allowed disk size is 10GB. If unspecified, the default disk size is + * 100GB. + */ + diskSizeGb?: number; + /** + * Type of the disk attached to each node (e.g. 'pd-standard' or + * 'pd-ssd') If unspecified, the default disk type is + * 'pd-standard' + */ + diskType?: string; + /** + * The image type to use for this node. Note that for a given image type, + * the latest version of it will be used. + */ + imageType?: string; + /** + * The map of Kubernetes labels (key/value pairs) to be applied to each + * node. These will added in addition to any default label(s) that + * Kubernetes may apply to the node. In case of conflict in label keys, the + * applied set may differ depending on the Kubernetes version -- it's + * best to assume the behavior is undefined and conflicts should be avoided. + * For more information, including usage and the valid values, see: + * https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ + */ + labels?: any; + /** + * The number of local SSD disks to be attached to the node. The limit for + * this value is dependant upon the maximum number of disks available on a + * machine per zone. See: + * https://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits + * for more information. + */ + localSsdCount?: number; + /** + * The name of a Google Compute Engine [machine + * type](/compute/docs/machine-types) (e.g. `n1-standard-1`). If + * unspecified, the default machine type is `n1-standard-1`. + */ + machineType?: string; + /** + * The metadata key/value pairs assigned to instances in the cluster. Keys + * must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes in + * length. These are reflected as part of a URL in the metadata server. + * Additionally, to avoid ambiguity, keys must not conflict with any other + * metadata keys for the project or be one of the reserved keys: + * "cluster-location" "cluster-name" + * "cluster-uid" "configure-sh" + * "enable-oslogin" "gci-ensure-gke-docker" + * "gci-update-strategy" "instance-template" + * "kube-env" "startup-script" "user-data" + * Values are free-form strings, and only have meaning as interpreted by the + * image running in the instance. The only restriction placed on them is + * that each value's size must be less than or equal to 32 KB. The + * total size of all keys and values must be less than 512 KB. + */ + metadata?: any; + /** + * Minimum CPU platform to be used by this instance. The instance may be + * scheduled on the specified or newer CPU platform. Applicable values are + * the friendly names of CPU platforms, such as <code>minCpuPlatform: + * &quot;Intel Haswell&quot;</code> or + * <code>minCpuPlatform: &quot;Intel Sandy + * Bridge&quot;</code>. For more information, read [how to specify + * min CPU + * platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform) + */ + minCpuPlatform?: string; + /** + * The set of Google API scopes to be made available on all of the node VMs + * under the "default" service account. The following scopes are + * recommended, but not required, and by default are not included: * + * `https://www.googleapis.com/auth/compute` is required for mounting + * persistent storage on your nodes. * + * `https://www.googleapis.com/auth/devstorage.read_only` is required for + * communicating with **gcr.io** (the [Google Container + * Registry](/container-registry/)). If unspecified, no scopes are added, + * unless Cloud Logging or Cloud Monitoring are enabled, in which case their + * required scopes will be added. + */ + oauthScopes?: string[]; + /** + * Whether the nodes are created as preemptible VM instances. See: + * https://cloud.google.com/compute/docs/instances/preemptible for more + * inforamtion about preemptible VM instances. + */ + preemptible?: boolean; + /** + * The Google Cloud Platform Service Account to be used by the node VMs. If + * no Service Account is specified, the "default" service account + * is used. + */ + serviceAccount?: string; + /** + * The list of instance tags applied to all nodes. Tags are used to identify + * valid sources or targets for network firewalls and are specified by the + * client during cluster or node pool creation. Each tag within the list + * must comply with RFC1035. + */ + tags?: string[]; + /** + * List of kubernetes taints to be applied to each node. For more + * information, including usage and the valid values, see: + * https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ + */ + taints?: Schema$NodeTaint[]; + /** + * The workload metadata configuration for this node. + */ + workloadMetadataConfig?: Schema$WorkloadMetadataConfig; + } + /** + * NodeManagement defines the set of node management services turned on for + * the node pool. + */ + interface Schema$NodeManagement { + /** + * Whether the nodes will be automatically repaired. + */ + autoRepair?: boolean; + /** + * Whether the nodes will be automatically upgraded. + */ + autoUpgrade?: boolean; + /** + * Specifies the Auto Upgrade knobs for the node pool. + */ + upgradeOptions?: Schema$AutoUpgradeOptions; + } + /** + * NodePool contains the name and configuration for a cluster's node pool. + * Node pools are a set of nodes (i.e. VM's), with a common configuration + * and specification, under the control of the cluster master. They may have a + * set of Kubernetes labels applied to them, which may be used to reference + * them during pod scheduling. They may also be resized up or down, to + * accommodate the workload. + */ + interface Schema$NodePool { + /** + * Autoscaler configuration for this NodePool. Autoscaler is enabled only if + * a valid configuration is present. + */ + autoscaling?: Schema$NodePoolAutoscaling; + /** + * Which conditions caused the current node pool state. + */ + conditions?: Schema$StatusCondition[]; + /** + * The node configuration of the pool. + */ + config?: Schema$NodeConfig; + /** + * The initial node count for the pool. You must ensure that your Compute + * Engine <a href="/compute/docs/resource-quotas">resource + * quota</a> is sufficient for this number of instances. You must also + * have available firewall and routes quota. + */ + initialNodeCount?: number; + /** + * [Output only] The resource URLs of the [managed instance + * groups](/compute/docs/instance-groups/creating-groups-of-managed-instances) + * associated with this node pool. + */ + instanceGroupUrls?: string[]; + /** + * NodeManagement configuration for this NodePool. + */ + management?: Schema$NodeManagement; + /** + * The constraint on the maximum number of pods that can be run + * simultaneously on a node in the node pool. + */ + maxPodsConstraint?: Schema$MaxPodsConstraint; + /** + * The name of the node pool. + */ + name?: string; + /** + * [Output only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output only] The status of the nodes in this pool instance. + */ + status?: string; + /** + * [Output only] Additional information about the current status of this + * node pool instance, if available. + */ + statusMessage?: string; + /** + * The version of the Kubernetes of this node. + */ + version?: string; + } + /** + * NodePoolAutoscaling contains information required by cluster autoscaler to + * adjust the size of the node pool to the current cluster usage. + */ + interface Schema$NodePoolAutoscaling { + /** + * Can this node pool be deleted automatically. + */ + autoprovisioned?: boolean; + /** + * Is autoscaling enabled for this node pool. + */ + enabled?: boolean; + /** + * Maximum number of nodes in the NodePool. Must be >= min_node_count. + * There has to enough quota to scale up the cluster. + */ + maxNodeCount?: number; + /** + * Minimum number of nodes in the NodePool. Must be >= 1 and <= + * max_node_count. + */ + minNodeCount?: number; + } + /** + * Kubernetes taint is comprised of three fields: key, value, and effect. + * Effect can only be one of three types: NoSchedule, PreferNoSchedule or + * NoExecute. For more information, including usage and the valid values, + * see: + * https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ + */ + interface Schema$NodeTaint { + /** + * Effect for taint. + */ + effect?: string; + /** + * Key for taint. + */ + key?: string; + /** + * Value for taint. + */ + value?: string; + } + /** + * This operation resource represents operations that may have happened or are + * happening on the cluster. All fields are output only. + */ + interface Schema$Operation { + /** + * Which conditions caused the current cluster state. + */ + clusterConditions?: Schema$StatusCondition[]; + /** + * Detailed operation progress, if available. + */ + detail?: string; + /** + * [Output only] The time the operation completed, in + * [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. + */ + endTime?: string; + /** + * [Output only] The name of the Google Compute Engine + * [zone](/compute/docs/regions-zones/regions-zones#available) or + * [region](/compute/docs/regions-zones/regions-zones#available) in which + * the cluster resides. + */ + location?: string; + /** + * The server-assigned ID for the operation. + */ + name?: string; + /** + * Which conditions caused the current node pool state. + */ + nodepoolConditions?: Schema$StatusCondition[]; + /** + * The operation type. + */ + operationType?: string; + /** + * [Output only] Progress information for an operation. + */ + progress?: Schema$OperationProgress; + /** + * Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output only] The time the operation started, in + * [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. + */ + startTime?: string; + /** + * The current status of the operation. + */ + status?: string; + /** + * If an error has occurred, a textual description of the error. + */ + statusMessage?: string; + /** + * Server-defined URL for the target of the operation. + */ + targetLink?: string; + /** + * The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the operation is taking + * place. This field is deprecated, use location instead. + */ + zone?: string; + } + /** + * Information about operation (or operation stage) progress. + */ + interface Schema$OperationProgress { + /** + * Progress metric bundle, for example: metrics: [{name: "nodes + * done", int_value: 15}, {name: "nodes + * total", int_value: 32}] or metrics: [{name: + * "progress", double_value: 0.56}, {name: + * "progress scale", double_value: 1.0}] + */ + metrics?: Schema$Metric[]; + /** + * A non-parameterized string describing an operation stage. Unset for + * single-stage operations. + */ + name?: string; + /** + * Substages of an operation or a stage. + */ + stages?: Schema$OperationProgress[]; + /** + * Status of an operation stage. Unset for single-stage operations. + */ + status?: string; + } + /** + * Configuration for the PodSecurityPolicy feature. + */ + interface Schema$PodSecurityPolicyConfig { + /** + * Enable the PodSecurityPolicy controller for this cluster. If enabled, + * pods must be valid under a PodSecurityPolicy to be created. + */ + enabled?: boolean; + } + /** + * Configuration options for private clusters. + */ + interface Schema$PrivateClusterConfig { + /** + * Whether the master's internal IP address is used as the cluster + * endpoint. + */ + enablePrivateEndpoint?: boolean; + /** + * Whether nodes have internal IP addresses only. If enabled, all nodes are + * given only RFC 1918 private addresses and communicate with the master via + * private networking. + */ + enablePrivateNodes?: boolean; + /** + * The IP range in CIDR notation to use for the hosted master network. This + * range will be used for assigning internal IP addresses to the master or + * set of masters, as well as the ILB VIP. This range must not overlap with + * any other ranges in use within the cluster's network. + */ + masterIpv4CidrBlock?: string; + /** + * Output only. The internal IP address of this cluster's master + * endpoint. + */ + privateEndpoint?: string; + /** + * Output only. The external IP address of this cluster's master + * endpoint. + */ + publicEndpoint?: string; + } + /** + * Contains information about amount of some resource in the cluster. For + * memory, value should be in GB. + */ + interface Schema$ResourceLimit { + /** + * Maximum amount of the resource in the cluster. + */ + maximum?: string; + /** + * Minimum amount of the resource in the cluster. + */ + minimum?: string; + /** + * Resource name "cpu", "memory" or gpu-specific string. + */ + resourceType?: string; + } + /** + * RollbackNodePoolUpgradeRequest rollbacks the previously Aborted or Failed + * NodePool upgrade. This will be an no-op if the last upgrade successfully + * completed. + */ + interface Schema$RollbackNodePoolUpgradeRequest { + /** + * Deprecated. The name of the cluster to rollback. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * The name (project, location, cluster, node pool id) of the node poll to + * rollback upgrade. Specified in the format + * 'projects/x/locations/x/clusters/x/nodePools/*'. + */ + name?: string; + /** + * Deprecated. The name of the node pool to rollback. This field has been + * deprecated and replaced by the name field. + */ + nodePoolId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + /** + * Kubernetes Engine service configuration. + */ + interface Schema$ServerConfig { + /** + * Version of Kubernetes the service deploys by default. + */ + defaultClusterVersion?: string; + /** + * Default image type. + */ + defaultImageType?: string; + /** + * List of valid image types. + */ + validImageTypes?: string[]; + /** + * List of valid master versions. + */ + validMasterVersions?: string[]; + /** + * List of valid node upgrade target versions. + */ + validNodeVersions?: string[]; + } + /** + * SetAddonsRequest sets the addons associated with the cluster. + */ + interface Schema$SetAddonsConfigRequest { + /** + * The desired configurations for the various addons available to run in the + * cluster. + */ + addonsConfig?: Schema$AddonsConfig; + /** + * Deprecated. The name of the cluster to upgrade. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * The name (project, location, cluster) of the cluster to set addons. + * Specified in the format 'projects/x/locations/x/clusters/*'. + */ + name?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + /** + * SetLabelsRequest sets the Google Cloud Platform labels on a Google + * Container Engine cluster, which will in turn set them for Google Compute + * Engine resources used by that cluster + */ + interface Schema$SetLabelsRequest { + /** + * Deprecated. The name of the cluster. This field has been deprecated and + * replaced by the name field. + */ + clusterId?: string; + /** + * The fingerprint of the previous set of labels for this resource, used to + * detect conflicts. The fingerprint is initially generated by Kubernetes + * Engine and changes after every request to modify or update labels. You + * must always provide an up-to-date fingerprint hash when updating or + * changing labels. Make a <code>get()</code> request to the + * resource to get the latest fingerprint. + */ + labelFingerprint?: string; + /** + * The name (project, location, cluster id) of the cluster to set labels. + * Specified in the format 'projects/x/locations/x/clusters/*'. + */ + name?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://developers.google.com/console/help/new/#projectnumber). + * This field has been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * The labels to set for that cluster. + */ + resourceLabels?: any; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + /** + * SetLegacyAbacRequest enables or disables the ABAC authorization mechanism + * for a cluster. + */ + interface Schema$SetLegacyAbacRequest { + /** + * Deprecated. The name of the cluster to update. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * Whether ABAC authorization will be enabled in the cluster. + */ + enabled?: boolean; + /** + * The name (project, location, cluster id) of the cluster to set legacy + * abac. Specified in the format + * 'projects/x/locations/x/clusters/*'. + */ + name?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + /** + * SetLocationsRequest sets the locations of the cluster. + */ + interface Schema$SetLocationsRequest { + /** + * Deprecated. The name of the cluster to upgrade. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * The desired list of Google Compute Engine + * [locations](/compute/docs/zones#available) in which the cluster's + * nodes should be located. Changing the locations a cluster is in will + * result in nodes being either created or removed from the cluster, + * depending on whether locations are being added or removed. This list + * must always include the cluster's primary zone. + */ + locations?: string[]; + /** + * The name (project, location, cluster) of the cluster to set locations. + * Specified in the format 'projects/x/locations/x/clusters/*'. + */ + name?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + /** + * SetLoggingServiceRequest sets the logging service of a cluster. + */ + interface Schema$SetLoggingServiceRequest { + /** + * Deprecated. The name of the cluster to upgrade. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * The logging service the cluster should use to write metrics. Currently + * available options: * "logging.googleapis.com" - the Google + * Cloud Logging service * "none" - no metrics will be exported + * from the cluster + */ + loggingService?: string; + /** + * The name (project, location, cluster) of the cluster to set logging. + * Specified in the format 'projects/x/locations/x/clusters/*'. + */ + name?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + /** + * SetMaintenancePolicyRequest sets the maintenance policy for a cluster. + */ + interface Schema$SetMaintenancePolicyRequest { + /** + * The name of the cluster to update. + */ + clusterId?: string; + /** + * The maintenance policy to be set for the cluster. An empty field clears + * the existing maintenance policy. + */ + maintenancePolicy?: Schema$MaintenancePolicy; + /** + * The name (project, location, cluster id) of the cluster to set + * maintenance policy. Specified in the format + * 'projects/x/locations/x/clusters/*'. + */ + name?: string; + /** + * The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). + */ + projectId?: string; + /** + * The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. + */ + zone?: string; + } + /** + * SetMasterAuthRequest updates the admin password of a cluster. + */ + interface Schema$SetMasterAuthRequest { + /** + * The exact form of action to be taken on the master auth. + */ + action?: string; + /** + * Deprecated. The name of the cluster to upgrade. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * The name (project, location, cluster) of the cluster to set auth. + * Specified in the format 'projects/x/locations/x/clusters/*'. + */ + name?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * A description of the update. + */ + update?: Schema$MasterAuth; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + /** + * SetMonitoringServiceRequest sets the monitoring service of a cluster. + */ + interface Schema$SetMonitoringServiceRequest { + /** + * Deprecated. The name of the cluster to upgrade. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * The monitoring service the cluster should use to write metrics. Currently + * available options: * "monitoring.googleapis.com" - the Google + * Cloud Monitoring service * "none" - no metrics will be exported + * from the cluster + */ + monitoringService?: string; + /** + * The name (project, location, cluster) of the cluster to set monitoring. + * Specified in the format 'projects/x/locations/x/clusters/*'. + */ + name?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + /** + * SetNetworkPolicyRequest enables/disables network policy for a cluster. + */ + interface Schema$SetNetworkPolicyRequest { + /** + * Deprecated. The name of the cluster. This field has been deprecated and + * replaced by the name field. + */ + clusterId?: string; + /** + * The name (project, location, cluster id) of the cluster to set networking + * policy. Specified in the format + * 'projects/x/locations/x/clusters/*'. + */ + name?: string; + /** + * Configuration options for the NetworkPolicy feature. + */ + networkPolicy?: Schema$NetworkPolicy; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://developers.google.com/console/help/new/#projectnumber). + * This field has been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + /** + * SetNodePoolAutoscalingRequest sets the autoscaler settings of a node pool. + */ + interface Schema$SetNodePoolAutoscalingRequest { + /** + * Autoscaling configuration for the node pool. + */ + autoscaling?: Schema$NodePoolAutoscaling; + /** + * Deprecated. The name of the cluster to upgrade. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * The name (project, location, cluster, node pool) of the node pool to set + * autoscaler settings. Specified in the format + * 'projects/x/locations/x/clusters/x/nodePools/*'. + */ + name?: string; + /** + * Deprecated. The name of the node pool to upgrade. This field has been + * deprecated and replaced by the name field. + */ + nodePoolId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + /** + * SetNodePoolManagementRequest sets the node management properties of a node + * pool. + */ + interface Schema$SetNodePoolManagementRequest { + /** + * Deprecated. The name of the cluster to update. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * NodeManagement configuration for the node pool. + */ + management?: Schema$NodeManagement; + /** + * The name (project, location, cluster, node pool id) of the node pool to + * set management properties. Specified in the format + * 'projects/x/locations/x/clusters/x/nodePools/*'. + */ + name?: string; + /** + * Deprecated. The name of the node pool to update. This field has been + * deprecated and replaced by the name field. + */ + nodePoolId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + /** + * SetNodePoolSizeRequest sets the size a node pool. + */ + interface Schema$SetNodePoolSizeRequest { + /** + * Deprecated. The name of the cluster to update. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * The name (project, location, cluster, node pool id) of the node pool to + * set size. Specified in the format + * 'projects/x/locations/x/clusters/x/nodePools/*'. + */ + name?: string; + /** + * The desired node count for the pool. + */ + nodeCount?: number; + /** + * Deprecated. The name of the node pool to update. This field has been + * deprecated and replaced by the name field. + */ + nodePoolId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + /** + * StartIPRotationRequest creates a new IP for the cluster and then performs a + * node upgrade on each node pool to point to the new IP. + */ + interface Schema$StartIPRotationRequest { + /** + * Deprecated. The name of the cluster. This field has been deprecated and + * replaced by the name field. + */ + clusterId?: string; + /** + * The name (project, location, cluster id) of the cluster to start IP + * rotation. Specified in the format + * 'projects/x/locations/x/clusters/*'. + */ + name?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://developers.google.com/console/help/new/#projectnumber). + * This field has been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Whether to rotate credentials during IP rotation. + */ + rotateCredentials?: boolean; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + /** + * StatusCondition describes why a cluster or a node pool has a certain status + * (e.g., ERROR or DEGRADED). + */ + interface Schema$StatusCondition { + /** + * Machine-friendly representation of the condition + */ + code?: string; + /** + * Human-friendly representation of the condition + */ + message?: string; + } + /** + * UpdateClusterRequest updates the settings of a cluster. + */ + interface Schema$UpdateClusterRequest { + /** + * Deprecated. The name of the cluster to upgrade. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * The name (project, location, cluster) of the cluster to update. Specified + * in the format 'projects/x/locations/x/clusters/*'. + */ + name?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * A description of the update. + */ + update?: Schema$ClusterUpdate; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + /** + * UpdateMasterRequest updates the master of the cluster. + */ + interface Schema$UpdateMasterRequest { + /** + * Deprecated. The name of the cluster to upgrade. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * The Kubernetes version to change the master to. Users may specify either + * explicit versions offered by Kubernetes Engine or version aliases, which + * have the following behavior: - "latest": picks the highest + * valid Kubernetes version - "1.X": picks the highest valid + * patch+gke.N patch in the 1.X version - "1.X.Y": picks the + * highest valid gke.N patch in the 1.X.Y version - "1.X.Y-gke.N": + * picks an explicit Kubernetes version - "-": picks the default + * Kubernetes version + */ + masterVersion?: string; + /** + * The name (project, location, cluster) of the cluster to update. Specified + * in the format 'projects/x/locations/x/clusters/*'. + */ + name?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + /** + * SetNodePoolVersionRequest updates the version of a node pool. + */ + interface Schema$UpdateNodePoolRequest { + /** + * Deprecated. The name of the cluster to upgrade. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * The desired image type for the node pool. + */ + imageType?: string; + /** + * The name (project, location, cluster, node pool) of the node pool to + * update. Specified in the format + * 'projects/x/locations/x/clusters/x/nodePools/*'. + */ + name?: string; + /** + * Deprecated. The name of the node pool to upgrade. This field has been + * deprecated and replaced by the name field. + */ + nodePoolId?: string; + /** + * The Kubernetes version to change the nodes to (typically an upgrade). + * Users may specify either explicit versions offered by Kubernetes Engine + * or version aliases, which have the following behavior: - + * "latest": picks the highest valid Kubernetes version - + * "1.X": picks the highest valid patch+gke.N patch in the 1.X + * version - "1.X.Y": picks the highest valid gke.N patch in + * the 1.X.Y version - "1.X.Y-gke.N": picks an explicit Kubernetes + * version - "-": picks the Kubernetes master version + */ + nodeVersion?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + /** + * UsableSubnetwork resource returns the subnetwork name, its associated + * network and the primary CIDR range. + */ + interface Schema$UsableSubnetwork { + /** + * The range of internal addresses that are owned by this subnetwork. + */ + ipCidrRange?: string; + /** + * Network Name. Example: projects/my-project/global/networks/my-network + */ + network?: string; + /** + * Secondary IP ranges. + */ + secondaryIpRanges?: Schema$UsableSubnetworkSecondaryRange[]; + /** + * A human readable status message representing the reasons for cases where + * the caller cannot use the secondary ranges under the subnet. For example + * if the secondary_ip_ranges is empty due to a permission issue, an + * insufficient permission message will be given by status_message. + */ + statusMessage?: string; + /** + * Subnetwork Name. Example: + * projects/my-project/regions/us-central1/subnetworks/my-subnet + */ + subnetwork?: string; + } + /** + * Secondary IP range of a usable subnetwork. + */ + interface Schema$UsableSubnetworkSecondaryRange { + /** + * The range of IP addresses belonging to this subnetwork secondary range. + */ + ipCidrRange?: string; + /** + * The name associated with this subnetwork secondary range, used when + * adding an alias IP range to a VM instance. + */ + rangeName?: string; + /** + * This field is to determine the status of the secondary range + * programmably. + */ + status?: string; + } + /** + * WorkloadMetadataConfig defines the metadata configuration to expose to + * workloads on the node pool. + */ + interface Schema$WorkloadMetadataConfig { + /** + * NodeMetadata is the configuration for how to expose the node metadata to + * the workload running on the node. + */ + nodeMetadata?: string; + } + class Resource$Projects { + root: Container; + aggregated: Resource$Projects$Aggregated; + locations: Resource$Projects$Locations; + zones: Resource$Projects$Zones; + constructor(root: Container); + getRoot(): Container; + } + class Resource$Projects$Aggregated { + root: Container; + usableSubnetworks: Resource$Projects$Aggregated$Usablesubnetworks; + constructor(root: Container); + getRoot(): Container; + } + class Resource$Projects$Aggregated$Usablesubnetworks { + root: Container; + constructor(root: Container); + getRoot(): Container; + /** + * container.projects.aggregated.usableSubnetworks.list + * @desc Lists subnetworks that are usable for creating clusters in a + * project. + * @alias container.projects.aggregated.usableSubnetworks.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter Filtering currently only supports equality on the networkProjectId and must be in the form: "networkProjectId=[PROJECTID]", where `networkProjectId` is the project which owns the listed subnetworks. This defaults to the parent project ID. + * @param {integer=} params.pageSize The max number of results per page that should be returned. If the number of available results is larger than `page_size`, a `next_page_token` is returned which can be used to get the next page of results in subsequent requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.pageToken Specifies a page token to use. Set this to the nextPageToken returned by previous list requests to get the next page of results. + * @param {string} params.parent The parent project where subnetworks are usable. Specified in the format 'projects/x'. + * @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?: Params$Resource$Projects$Aggregated$Usablesubnetworks$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Aggregated$Usablesubnetworks$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Aggregated$Usablesubnetworks$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Aggregated$Usablesubnetworks$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Filtering currently only supports equality on the networkProjectId and + * must be in the form: "networkProjectId=[PROJECTID]", where + * `networkProjectId` is the project which owns the listed subnetworks. This + * defaults to the parent project ID. + */ + filter?: string; + /** + * The max number of results per page that should be returned. If the number + * of available results is larger than `page_size`, a `next_page_token` is + * returned which can be used to get the next page of results in subsequent + * requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + */ + pageSize?: number; + /** + * Specifies a page token to use. Set this to the nextPageToken returned by + * previous list requests to get the next page of results. + */ + pageToken?: string; + /** + * The parent project where subnetworks are usable. Specified in the format + * 'projects/x'. + */ + parent?: string; + } + class Resource$Projects$Locations { + root: Container; + clusters: Resource$Projects$Locations$Clusters; + operations: Resource$Projects$Locations$Operations; + constructor(root: Container); + getRoot(): Container; + /** + * container.projects.locations.getServerConfig + * @desc Returns configuration info about the Kubernetes Engine service. + * @alias container.projects.locations.getServerConfig + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name (project and location) of the server config to get Specified in the format 'projects/x/locations/x'. + * @param {string=} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. + * @param {string=} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) to return operations for. This field has been deprecated and replaced by the name field. + * @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 + */ + getServerConfig(params?: Params$Resource$Projects$Locations$Getserverconfig, options?: MethodOptions): AxiosPromise; + getServerConfig(params: Params$Resource$Projects$Locations$Getserverconfig, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getServerConfig(params: Params$Resource$Projects$Locations$Getserverconfig, callback: BodyResponseCallback): void; + getServerConfig(callback: BodyResponseCallback): void; + /** + * container.projects.locations.list + * @alias container.projects.locations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Contains the name of the resource requested. Specified in the format 'projects/x'. + * @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?: Params$Resource$Projects$Locations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Getserverconfig { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name (project and location) of the server config to get Specified in + * the format 'projects/x/locations/x'. + */ + name?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) to return operations for. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + interface Params$Resource$Projects$Locations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Contains the name of the resource requested. Specified in the format + * 'projects/x'. + */ + parent?: string; + } + class Resource$Projects$Locations$Clusters { + root: Container; + nodePools: Resource$Projects$Locations$Clusters$Nodepools; + constructor(root: Container); + getRoot(): Container; + /** + * container.projects.locations.clusters.completeIpRotation + * @desc Completes master IP rotation. + * @alias container.projects.locations.clusters.completeIpRotation + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name (project, location, cluster id) of the cluster to complete IP rotation. Specified in the format 'projects/x/locations/x/clusters/x'. + * @param {().CompleteIPRotationRequest} 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 + */ + completeIpRotation(params?: Params$Resource$Projects$Locations$Clusters$Completeiprotation, options?: MethodOptions): AxiosPromise; + completeIpRotation(params: Params$Resource$Projects$Locations$Clusters$Completeiprotation, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + completeIpRotation(params: Params$Resource$Projects$Locations$Clusters$Completeiprotation, callback: BodyResponseCallback): void; + completeIpRotation(callback: BodyResponseCallback): void; + /** + * container.projects.locations.clusters.create + * @desc Creates a cluster, consisting of the specified number and type of + * Google Compute Engine instances. By default, the cluster is created in + * the project's [default + * network](/compute/docs/networks-and-firewalls#networks). One firewall is + * added for the cluster. After cluster creation, the cluster creates routes + * for each node to allow the containers on that node to communicate with + * all other instances in the cluster. Finally, an entry is added to the + * project's global metadata indicating which CIDR range is being used by + * the cluster. + * @alias container.projects.locations.clusters.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent The parent (project and location) where the cluster will be created. Specified in the format 'projects/x/locations/x'. + * @param {().CreateClusterRequest} 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 + */ + create(params?: Params$Resource$Projects$Locations$Clusters$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Locations$Clusters$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Locations$Clusters$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * container.projects.locations.clusters.delete + * @desc Deletes the cluster, including the Kubernetes endpoint and all + * worker nodes. Firewalls and routes that were configured during cluster + * creation are also deleted. Other Google Compute Engine resources that + * might be in use by the cluster (e.g. load balancer resources) will not be + * deleted if they weren't present at the initial create time. + * @alias container.projects.locations.clusters.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.clusterId Deprecated. The name of the cluster to delete. This field has been deprecated and replaced by the name field. + * @param {string} params.name The name (project, location, cluster) of the cluster to delete. Specified in the format 'projects/x/locations/x/clusters/x'. + * @param {string=} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. + * @param {string=} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. + * @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?: Params$Resource$Projects$Locations$Clusters$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Locations$Clusters$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Locations$Clusters$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * container.projects.locations.clusters.get + * @desc Gets the details for a specific cluster. + * @alias container.projects.locations.clusters.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.clusterId Deprecated. The name of the cluster to retrieve. This field has been deprecated and replaced by the name field. + * @param {string} params.name The name (project, location, cluster) of the cluster to retrieve. Specified in the format 'projects/x/locations/x/clusters/x'. + * @param {string=} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. + * @param {string=} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. + * @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?: Params$Resource$Projects$Locations$Clusters$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Locations$Clusters$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Locations$Clusters$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * container.projects.locations.clusters.list + * @desc Lists all clusters owned by a project in either the specified zone + * or all zones. + * @alias container.projects.locations.clusters.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent The parent (project and location) where the clusters will be listed. Specified in the format 'projects/x/locations/x'. Location "-" matches all zones and all regions. + * @param {string=} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the parent field. + * @param {string=} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides, or "-" for all zones. This field has been deprecated and replaced by the parent field. + * @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?: Params$Resource$Projects$Locations$Clusters$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$Clusters$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$Clusters$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * container.projects.locations.clusters.setAddons + * @desc Sets the addons for a specific cluster. + * @alias container.projects.locations.clusters.setAddons + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name (project, location, cluster) of the cluster to set addons. Specified in the format 'projects/x/locations/x/clusters/x'. + * @param {().SetAddonsConfigRequest} 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 + */ + setAddons(params?: Params$Resource$Projects$Locations$Clusters$Setaddons, options?: MethodOptions): AxiosPromise; + setAddons(params: Params$Resource$Projects$Locations$Clusters$Setaddons, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setAddons(params: Params$Resource$Projects$Locations$Clusters$Setaddons, callback: BodyResponseCallback): void; + setAddons(callback: BodyResponseCallback): void; + /** + * container.projects.locations.clusters.setLegacyAbac + * @desc Enables or disables the ABAC authorization mechanism on a cluster. + * @alias container.projects.locations.clusters.setLegacyAbac + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name (project, location, cluster id) of the cluster to set legacy abac. Specified in the format 'projects/x/locations/x/clusters/x'. + * @param {().SetLegacyAbacRequest} 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 + */ + setLegacyAbac(params?: Params$Resource$Projects$Locations$Clusters$Setlegacyabac, options?: MethodOptions): AxiosPromise; + setLegacyAbac(params: Params$Resource$Projects$Locations$Clusters$Setlegacyabac, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setLegacyAbac(params: Params$Resource$Projects$Locations$Clusters$Setlegacyabac, callback: BodyResponseCallback): void; + setLegacyAbac(callback: BodyResponseCallback): void; + /** + * container.projects.locations.clusters.setLocations + * @desc Sets the locations for a specific cluster. + * @alias container.projects.locations.clusters.setLocations + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name (project, location, cluster) of the cluster to set locations. Specified in the format 'projects/x/locations/x/clusters/x'. + * @param {().SetLocationsRequest} 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 + */ + setLocations(params?: Params$Resource$Projects$Locations$Clusters$Setlocations, options?: MethodOptions): AxiosPromise; + setLocations(params: Params$Resource$Projects$Locations$Clusters$Setlocations, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setLocations(params: Params$Resource$Projects$Locations$Clusters$Setlocations, callback: BodyResponseCallback): void; + setLocations(callback: BodyResponseCallback): void; + /** + * container.projects.locations.clusters.setLogging + * @desc Sets the logging service for a specific cluster. + * @alias container.projects.locations.clusters.setLogging + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name (project, location, cluster) of the cluster to set logging. Specified in the format 'projects/x/locations/x/clusters/x'. + * @param {().SetLoggingServiceRequest} 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 + */ + setLogging(params?: Params$Resource$Projects$Locations$Clusters$Setlogging, options?: MethodOptions): AxiosPromise; + setLogging(params: Params$Resource$Projects$Locations$Clusters$Setlogging, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setLogging(params: Params$Resource$Projects$Locations$Clusters$Setlogging, callback: BodyResponseCallback): void; + setLogging(callback: BodyResponseCallback): void; + /** + * container.projects.locations.clusters.setMaintenancePolicy + * @desc Sets the maintenance policy for a cluster. + * @alias container.projects.locations.clusters.setMaintenancePolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name (project, location, cluster id) of the cluster to set maintenance policy. Specified in the format 'projects/x/locations/x/clusters/x'. + * @param {().SetMaintenancePolicyRequest} 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 + */ + setMaintenancePolicy(params?: Params$Resource$Projects$Locations$Clusters$Setmaintenancepolicy, options?: MethodOptions): AxiosPromise; + setMaintenancePolicy(params: Params$Resource$Projects$Locations$Clusters$Setmaintenancepolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setMaintenancePolicy(params: Params$Resource$Projects$Locations$Clusters$Setmaintenancepolicy, callback: BodyResponseCallback): void; + setMaintenancePolicy(callback: BodyResponseCallback): void; + /** + * container.projects.locations.clusters.setMasterAuth + * @desc Used to set master auth materials. Currently supports :- Changing + * the admin password for a specific cluster. This can be either via + * password generation or explicitly set. Modify basic_auth.csv and reset + * the K8S API server. + * @alias container.projects.locations.clusters.setMasterAuth + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name (project, location, cluster) of the cluster to set auth. Specified in the format 'projects/x/locations/x/clusters/x'. + * @param {().SetMasterAuthRequest} 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 + */ + setMasterAuth(params?: Params$Resource$Projects$Locations$Clusters$Setmasterauth, options?: MethodOptions): AxiosPromise; + setMasterAuth(params: Params$Resource$Projects$Locations$Clusters$Setmasterauth, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setMasterAuth(params: Params$Resource$Projects$Locations$Clusters$Setmasterauth, callback: BodyResponseCallback): void; + setMasterAuth(callback: BodyResponseCallback): void; + /** + * container.projects.locations.clusters.setMonitoring + * @desc Sets the monitoring service for a specific cluster. + * @alias container.projects.locations.clusters.setMonitoring + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name (project, location, cluster) of the cluster to set monitoring. Specified in the format 'projects/x/locations/x/clusters/x'. + * @param {().SetMonitoringServiceRequest} 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 + */ + setMonitoring(params?: Params$Resource$Projects$Locations$Clusters$Setmonitoring, options?: MethodOptions): AxiosPromise; + setMonitoring(params: Params$Resource$Projects$Locations$Clusters$Setmonitoring, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setMonitoring(params: Params$Resource$Projects$Locations$Clusters$Setmonitoring, callback: BodyResponseCallback): void; + setMonitoring(callback: BodyResponseCallback): void; + /** + * container.projects.locations.clusters.setNetworkPolicy + * @desc Enables/Disables Network Policy for a cluster. + * @alias container.projects.locations.clusters.setNetworkPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name (project, location, cluster id) of the cluster to set networking policy. Specified in the format 'projects/x/locations/x/clusters/x'. + * @param {().SetNetworkPolicyRequest} 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 + */ + setNetworkPolicy(params?: Params$Resource$Projects$Locations$Clusters$Setnetworkpolicy, options?: MethodOptions): AxiosPromise; + setNetworkPolicy(params: Params$Resource$Projects$Locations$Clusters$Setnetworkpolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setNetworkPolicy(params: Params$Resource$Projects$Locations$Clusters$Setnetworkpolicy, callback: BodyResponseCallback): void; + setNetworkPolicy(callback: BodyResponseCallback): void; + /** + * container.projects.locations.clusters.setResourceLabels + * @desc Sets labels on a cluster. + * @alias container.projects.locations.clusters.setResourceLabels + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name (project, location, cluster id) of the cluster to set labels. Specified in the format 'projects/x/locations/x/clusters/x'. + * @param {().SetLabelsRequest} 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 + */ + setResourceLabels(params?: Params$Resource$Projects$Locations$Clusters$Setresourcelabels, options?: MethodOptions): AxiosPromise; + setResourceLabels(params: Params$Resource$Projects$Locations$Clusters$Setresourcelabels, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setResourceLabels(params: Params$Resource$Projects$Locations$Clusters$Setresourcelabels, callback: BodyResponseCallback): void; + setResourceLabels(callback: BodyResponseCallback): void; + /** + * container.projects.locations.clusters.startIpRotation + * @desc Start master IP rotation. + * @alias container.projects.locations.clusters.startIpRotation + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name (project, location, cluster id) of the cluster to start IP rotation. Specified in the format 'projects/x/locations/x/clusters/x'. + * @param {().StartIPRotationRequest} 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 + */ + startIpRotation(params?: Params$Resource$Projects$Locations$Clusters$Startiprotation, options?: MethodOptions): AxiosPromise; + startIpRotation(params: Params$Resource$Projects$Locations$Clusters$Startiprotation, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + startIpRotation(params: Params$Resource$Projects$Locations$Clusters$Startiprotation, callback: BodyResponseCallback): void; + startIpRotation(callback: BodyResponseCallback): void; + /** + * container.projects.locations.clusters.update + * @desc Updates the settings for a specific cluster. + * @alias container.projects.locations.clusters.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name (project, location, cluster) of the cluster to update. Specified in the format 'projects/x/locations/x/clusters/x'. + * @param {().UpdateClusterRequest} 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?: Params$Resource$Projects$Locations$Clusters$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Projects$Locations$Clusters$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Projects$Locations$Clusters$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + /** + * container.projects.locations.clusters.updateMaster + * @desc Updates the master for a specific cluster. + * @alias container.projects.locations.clusters.updateMaster + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name (project, location, cluster) of the cluster to update. Specified in the format 'projects/x/locations/x/clusters/x'. + * @param {().UpdateMasterRequest} 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 + */ + updateMaster(params?: Params$Resource$Projects$Locations$Clusters$Updatemaster, options?: MethodOptions): AxiosPromise; + updateMaster(params: Params$Resource$Projects$Locations$Clusters$Updatemaster, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + updateMaster(params: Params$Resource$Projects$Locations$Clusters$Updatemaster, callback: BodyResponseCallback): void; + updateMaster(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Clusters$Completeiprotation { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name (project, location, cluster id) of the cluster to complete IP + * rotation. Specified in the format 'projects/x/locations/x/clusters/x'. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CompleteIPRotationRequest; + } + interface Params$Resource$Projects$Locations$Clusters$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The parent (project and location) where the cluster will be created. + * Specified in the format 'projects/x/locations/x'. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreateClusterRequest; + } + interface Params$Resource$Projects$Locations$Clusters$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The name of the cluster to delete. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * The name (project, location, cluster) of the cluster to delete. Specified + * in the format 'projects/x/locations/x/clusters/x'. + */ + name?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + interface Params$Resource$Projects$Locations$Clusters$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The name of the cluster to retrieve. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * The name (project, location, cluster) of the cluster to retrieve. + * Specified in the format 'projects/x/locations/x/clusters/x'. + */ + name?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + interface Params$Resource$Projects$Locations$Clusters$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The parent (project and location) where the clusters will be listed. + * Specified in the format 'projects/x/locations/x'. Location "-" matches + * all zones and all regions. + */ + parent?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the parent field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides, or + * "-" for all zones. This field has been deprecated and replaced by the + * parent field. + */ + zone?: string; + } + interface Params$Resource$Projects$Locations$Clusters$Setaddons { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name (project, location, cluster) of the cluster to set addons. + * Specified in the format 'projects/x/locations/x/clusters/x'. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetAddonsConfigRequest; + } + interface Params$Resource$Projects$Locations$Clusters$Setlegacyabac { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name (project, location, cluster id) of the cluster to set legacy + * abac. Specified in the format 'projects/x/locations/x/clusters/x'. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetLegacyAbacRequest; + } + interface Params$Resource$Projects$Locations$Clusters$Setlocations { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name (project, location, cluster) of the cluster to set locations. + * Specified in the format 'projects/x/locations/x/clusters/x'. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetLocationsRequest; + } + interface Params$Resource$Projects$Locations$Clusters$Setlogging { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name (project, location, cluster) of the cluster to set logging. + * Specified in the format 'projects/x/locations/x/clusters/x'. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetLoggingServiceRequest; + } + interface Params$Resource$Projects$Locations$Clusters$Setmaintenancepolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name (project, location, cluster id) of the cluster to set + * maintenance policy. Specified in the format + * 'projects/x/locations/x/clusters/x'. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetMaintenancePolicyRequest; + } + interface Params$Resource$Projects$Locations$Clusters$Setmasterauth { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name (project, location, cluster) of the cluster to set auth. + * Specified in the format 'projects/x/locations/x/clusters/x'. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetMasterAuthRequest; + } + interface Params$Resource$Projects$Locations$Clusters$Setmonitoring { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name (project, location, cluster) of the cluster to set monitoring. + * Specified in the format 'projects/x/locations/x/clusters/x'. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetMonitoringServiceRequest; + } + interface Params$Resource$Projects$Locations$Clusters$Setnetworkpolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name (project, location, cluster id) of the cluster to set networking + * policy. Specified in the format 'projects/x/locations/x/clusters/x'. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetNetworkPolicyRequest; + } + interface Params$Resource$Projects$Locations$Clusters$Setresourcelabels { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name (project, location, cluster id) of the cluster to set labels. + * Specified in the format 'projects/x/locations/x/clusters/x'. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetLabelsRequest; + } + interface Params$Resource$Projects$Locations$Clusters$Startiprotation { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name (project, location, cluster id) of the cluster to start IP + * rotation. Specified in the format 'projects/x/locations/x/clusters/x'. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$StartIPRotationRequest; + } + interface Params$Resource$Projects$Locations$Clusters$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name (project, location, cluster) of the cluster to update. Specified + * in the format 'projects/x/locations/x/clusters/x'. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UpdateClusterRequest; + } + interface Params$Resource$Projects$Locations$Clusters$Updatemaster { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name (project, location, cluster) of the cluster to update. Specified + * in the format 'projects/x/locations/x/clusters/x'. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UpdateMasterRequest; + } + class Resource$Projects$Locations$Clusters$Nodepools { + root: Container; + constructor(root: Container); + getRoot(): Container; + /** + * container.projects.locations.clusters.nodePools.create + * @desc Creates a node pool for a cluster. + * @alias container.projects.locations.clusters.nodePools.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent The parent (project, location, cluster id) where the node pool will be created. Specified in the format 'projects/x/locations/x/clusters/x'. + * @param {().CreateNodePoolRequest} 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 + */ + create(params?: Params$Resource$Projects$Locations$Clusters$Nodepools$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Locations$Clusters$Nodepools$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Locations$Clusters$Nodepools$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * container.projects.locations.clusters.nodePools.delete + * @desc Deletes a node pool from a cluster. + * @alias container.projects.locations.clusters.nodePools.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.clusterId Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field. + * @param {string} params.name The name (project, location, cluster, node pool id) of the node pool to delete. Specified in the format 'projects/x/locations/x/clusters/x/nodePools/x'. + * @param {string=} params.nodePoolId Deprecated. The name of the node pool to delete. This field has been deprecated and replaced by the name field. + * @param {string=} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field. + * @param {string=} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. + * @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?: Params$Resource$Projects$Locations$Clusters$Nodepools$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Locations$Clusters$Nodepools$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Locations$Clusters$Nodepools$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * container.projects.locations.clusters.nodePools.get + * @desc Retrieves the node pool requested. + * @alias container.projects.locations.clusters.nodePools.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.clusterId Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field. + * @param {string} params.name The name (project, location, cluster, node pool id) of the node pool to get. Specified in the format 'projects/x/locations/x/clusters/x/nodePools/x'. + * @param {string=} params.nodePoolId Deprecated. The name of the node pool. This field has been deprecated and replaced by the name field. + * @param {string=} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field. + * @param {string=} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. + * @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?: Params$Resource$Projects$Locations$Clusters$Nodepools$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Locations$Clusters$Nodepools$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Locations$Clusters$Nodepools$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * container.projects.locations.clusters.nodePools.list + * @desc Lists the node pools for a cluster. + * @alias container.projects.locations.clusters.nodePools.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.clusterId Deprecated. The name of the cluster. This field has been deprecated and replaced by the parent field. + * @param {string} params.parent The parent (project, location, cluster id) where the node pools will be listed. Specified in the format 'projects/x/locations/x/clusters/x'. + * @param {string=} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the parent field. + * @param {string=} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the parent field. + * @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?: Params$Resource$Projects$Locations$Clusters$Nodepools$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$Clusters$Nodepools$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$Clusters$Nodepools$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * container.projects.locations.clusters.nodePools.rollback + * @desc Roll back the previously Aborted or Failed NodePool upgrade. This + * will be an no-op if the last upgrade successfully completed. + * @alias container.projects.locations.clusters.nodePools.rollback + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name (project, location, cluster, node pool id) of the node poll to rollback upgrade. Specified in the format 'projects/x/locations/x/clusters/x/nodePools/x'. + * @param {().RollbackNodePoolUpgradeRequest} 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 + */ + rollback(params?: Params$Resource$Projects$Locations$Clusters$Nodepools$Rollback, options?: MethodOptions): AxiosPromise; + rollback(params: Params$Resource$Projects$Locations$Clusters$Nodepools$Rollback, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + rollback(params: Params$Resource$Projects$Locations$Clusters$Nodepools$Rollback, callback: BodyResponseCallback): void; + rollback(callback: BodyResponseCallback): void; + /** + * container.projects.locations.clusters.nodePools.setAutoscaling + * @desc Sets the autoscaling settings of a specific node pool. + * @alias container.projects.locations.clusters.nodePools.setAutoscaling + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name (project, location, cluster, node pool) of the node pool to set autoscaler settings. Specified in the format 'projects/x/locations/x/clusters/x/nodePools/x'. + * @param {().SetNodePoolAutoscalingRequest} 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 + */ + setAutoscaling(params?: Params$Resource$Projects$Locations$Clusters$Nodepools$Setautoscaling, options?: MethodOptions): AxiosPromise; + setAutoscaling(params: Params$Resource$Projects$Locations$Clusters$Nodepools$Setautoscaling, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setAutoscaling(params: Params$Resource$Projects$Locations$Clusters$Nodepools$Setautoscaling, callback: BodyResponseCallback): void; + setAutoscaling(callback: BodyResponseCallback): void; + /** + * container.projects.locations.clusters.nodePools.setManagement + * @desc Sets the NodeManagement options for a node pool. + * @alias container.projects.locations.clusters.nodePools.setManagement + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name (project, location, cluster, node pool id) of the node pool to set management properties. Specified in the format 'projects/x/locations/x/clusters/x/nodePools/x'. + * @param {().SetNodePoolManagementRequest} 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 + */ + setManagement(params?: Params$Resource$Projects$Locations$Clusters$Nodepools$Setmanagement, options?: MethodOptions): AxiosPromise; + setManagement(params: Params$Resource$Projects$Locations$Clusters$Nodepools$Setmanagement, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setManagement(params: Params$Resource$Projects$Locations$Clusters$Nodepools$Setmanagement, callback: BodyResponseCallback): void; + setManagement(callback: BodyResponseCallback): void; + /** + * container.projects.locations.clusters.nodePools.setSize + * @desc Sets the size for a specific node pool. + * @alias container.projects.locations.clusters.nodePools.setSize + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name (project, location, cluster, node pool id) of the node pool to set size. Specified in the format 'projects/x/locations/x/clusters/x/nodePools/x'. + * @param {().SetNodePoolSizeRequest} 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 + */ + setSize(params?: Params$Resource$Projects$Locations$Clusters$Nodepools$Setsize, options?: MethodOptions): AxiosPromise; + setSize(params: Params$Resource$Projects$Locations$Clusters$Nodepools$Setsize, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setSize(params: Params$Resource$Projects$Locations$Clusters$Nodepools$Setsize, callback: BodyResponseCallback): void; + setSize(callback: BodyResponseCallback): void; + /** + * container.projects.locations.clusters.nodePools.update + * @desc Updates the version and/or image type of a specific node pool. + * @alias container.projects.locations.clusters.nodePools.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name (project, location, cluster, node pool) of the node pool to update. Specified in the format 'projects/x/locations/x/clusters/x/nodePools/x'. + * @param {().UpdateNodePoolRequest} 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?: Params$Resource$Projects$Locations$Clusters$Nodepools$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Projects$Locations$Clusters$Nodepools$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Projects$Locations$Clusters$Nodepools$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Clusters$Nodepools$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The parent (project, location, cluster id) where the node pool will be + * created. Specified in the format 'projects/x/locations/x/clusters/x'. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreateNodePoolRequest; + } + interface Params$Resource$Projects$Locations$Clusters$Nodepools$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The name of the cluster. This field has been deprecated and + * replaced by the name field. + */ + clusterId?: string; + /** + * The name (project, location, cluster, node pool id) of the node pool to + * delete. Specified in the format + * 'projects/x/locations/x/clusters/x/nodePools/x'. + */ + name?: string; + /** + * Deprecated. The name of the node pool to delete. This field has been + * deprecated and replaced by the name field. + */ + nodePoolId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://developers.google.com/console/help/new/#projectnumber). + * This field has been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + interface Params$Resource$Projects$Locations$Clusters$Nodepools$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The name of the cluster. This field has been deprecated and + * replaced by the name field. + */ + clusterId?: string; + /** + * The name (project, location, cluster, node pool id) of the node pool to + * get. Specified in the format + * 'projects/x/locations/x/clusters/x/nodePools/x'. + */ + name?: string; + /** + * Deprecated. The name of the node pool. This field has been deprecated and + * replaced by the name field. + */ + nodePoolId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://developers.google.com/console/help/new/#projectnumber). + * This field has been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + interface Params$Resource$Projects$Locations$Clusters$Nodepools$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The name of the cluster. This field has been deprecated and + * replaced by the parent field. + */ + clusterId?: string; + /** + * The parent (project, location, cluster id) where the node pools will be + * listed. Specified in the format 'projects/x/locations/x/clusters/x'. + */ + parent?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://developers.google.com/console/help/new/#projectnumber). + * This field has been deprecated and replaced by the parent field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the parent field. + */ + zone?: string; + } + interface Params$Resource$Projects$Locations$Clusters$Nodepools$Rollback { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name (project, location, cluster, node pool id) of the node poll to + * rollback upgrade. Specified in the format + * 'projects/x/locations/x/clusters/x/nodePools/x'. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RollbackNodePoolUpgradeRequest; + } + interface Params$Resource$Projects$Locations$Clusters$Nodepools$Setautoscaling { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name (project, location, cluster, node pool) of the node pool to set + * autoscaler settings. Specified in the format + * 'projects/x/locations/x/clusters/x/nodePools/x'. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetNodePoolAutoscalingRequest; + } + interface Params$Resource$Projects$Locations$Clusters$Nodepools$Setmanagement { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name (project, location, cluster, node pool id) of the node pool to + * set management properties. Specified in the format + * 'projects/x/locations/x/clusters/x/nodePools/x'. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetNodePoolManagementRequest; + } + interface Params$Resource$Projects$Locations$Clusters$Nodepools$Setsize { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name (project, location, cluster, node pool id) of the node pool to + * set size. Specified in the format + * 'projects/x/locations/x/clusters/x/nodePools/x'. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetNodePoolSizeRequest; + } + interface Params$Resource$Projects$Locations$Clusters$Nodepools$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name (project, location, cluster, node pool) of the node pool to + * update. Specified in the format + * 'projects/x/locations/x/clusters/x/nodePools/x'. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UpdateNodePoolRequest; + } + class Resource$Projects$Locations$Operations { + root: Container; + constructor(root: Container); + getRoot(): Container; + /** + * container.projects.locations.operations.cancel + * @desc Cancels the specified operation. + * @alias container.projects.locations.operations.cancel + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name (project, location, operation id) of the operation to cancel. Specified in the format 'projects/x/locations/x/operations/x'. + * @param {().CancelOperationRequest} 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 + */ + cancel(params?: Params$Resource$Projects$Locations$Operations$Cancel, options?: MethodOptions): AxiosPromise; + cancel(params: Params$Resource$Projects$Locations$Operations$Cancel, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + cancel(params: Params$Resource$Projects$Locations$Operations$Cancel, callback: BodyResponseCallback): void; + cancel(callback: BodyResponseCallback): void; + /** + * container.projects.locations.operations.get + * @desc Gets the specified operation. + * @alias container.projects.locations.operations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name (project, location, operation id) of the operation to get. Specified in the format 'projects/x/locations/x/operations/x'. + * @param {string=} params.operationId Deprecated. The server-assigned `name` of the operation. This field has been deprecated and replaced by the name field. + * @param {string=} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. + * @param {string=} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. + * @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?: Params$Resource$Projects$Locations$Operations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Locations$Operations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Locations$Operations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * container.projects.locations.operations.list + * @desc Lists all operations in a project in a specific zone or all zones. + * @alias container.projects.locations.operations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent The parent (project and location) where the operations will be listed. Specified in the format 'projects/x/locations/x'. Location "-" matches all zones and all regions. + * @param {string=} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the parent field. + * @param {string=} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) to return operations for, or `-` for all zones. This field has been deprecated and replaced by the parent field. + * @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?: Params$Resource$Projects$Locations$Operations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$Operations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$Operations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Operations$Cancel { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name (project, location, operation id) of the operation to cancel. + * Specified in the format 'projects/x/locations/x/operations/x'. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CancelOperationRequest; + } + interface Params$Resource$Projects$Locations$Operations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name (project, location, operation id) of the operation to get. + * Specified in the format 'projects/x/locations/x/operations/x'. + */ + name?: string; + /** + * Deprecated. The server-assigned `name` of the operation. This field has + * been deprecated and replaced by the name field. + */ + operationId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + interface Params$Resource$Projects$Locations$Operations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The parent (project and location) where the operations will be listed. + * Specified in the format 'projects/x/locations/x'. Location "-" matches + * all zones and all regions. + */ + parent?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the parent field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) to return operations for, or `-` + * for all zones. This field has been deprecated and replaced by the parent + * field. + */ + zone?: string; + } + class Resource$Projects$Zones { + root: Container; + clusters: Resource$Projects$Zones$Clusters; + operations: Resource$Projects$Zones$Operations; + constructor(root: Container); + getRoot(): Container; + /** + * container.projects.zones.getServerconfig + * @desc Returns configuration info about the Kubernetes Engine service. + * @alias container.projects.zones.getServerconfig + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.name The name (project and location) of the server config to get Specified in the format 'projects/x/locations/x'. + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) to return operations for. This field has been deprecated and replaced by the name field. + * @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 + */ + getServerconfig(params?: Params$Resource$Projects$Zones$Getserverconfig, options?: MethodOptions): AxiosPromise; + getServerconfig(params: Params$Resource$Projects$Zones$Getserverconfig, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getServerconfig(params: Params$Resource$Projects$Zones$Getserverconfig, callback: BodyResponseCallback): void; + getServerconfig(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Zones$Getserverconfig { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name (project and location) of the server config to get Specified in + * the format 'projects/x/locations/x'. + */ + name?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) to return operations for. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + class Resource$Projects$Zones$Clusters { + root: Container; + nodePools: Resource$Projects$Zones$Clusters$Nodepools; + constructor(root: Container); + getRoot(): Container; + /** + * container.projects.zones.clusters.addons + * @desc Sets the addons for a specific cluster. + * @alias container.projects.zones.clusters.addons + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterId Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field. + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. + * @param {().SetAddonsConfigRequest} 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 + */ + addons(params?: Params$Resource$Projects$Zones$Clusters$Addons, options?: MethodOptions): AxiosPromise; + addons(params: Params$Resource$Projects$Zones$Clusters$Addons, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + addons(params: Params$Resource$Projects$Zones$Clusters$Addons, callback: BodyResponseCallback): void; + addons(callback: BodyResponseCallback): void; + /** + * container.projects.zones.clusters.completeIpRotation + * @desc Completes master IP rotation. + * @alias container.projects.zones.clusters.completeIpRotation + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterId Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field. + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. + * @param {().CompleteIPRotationRequest} 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 + */ + completeIpRotation(params?: Params$Resource$Projects$Zones$Clusters$Completeiprotation, options?: MethodOptions): AxiosPromise; + completeIpRotation(params: Params$Resource$Projects$Zones$Clusters$Completeiprotation, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + completeIpRotation(params: Params$Resource$Projects$Zones$Clusters$Completeiprotation, callback: BodyResponseCallback): void; + completeIpRotation(callback: BodyResponseCallback): void; + /** + * container.projects.zones.clusters.create + * @desc Creates a cluster, consisting of the specified number and type of + * Google Compute Engine instances. By default, the cluster is created in + * the project's [default + * network](/compute/docs/networks-and-firewalls#networks). One firewall is + * added for the cluster. After cluster creation, the cluster creates routes + * for each node to allow the containers on that node to communicate with + * all other instances in the cluster. Finally, an entry is added to the + * project's global metadata indicating which CIDR range is being used by + * the cluster. + * @alias container.projects.zones.clusters.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the parent field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the parent field. + * @param {().CreateClusterRequest} 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 + */ + create(params?: Params$Resource$Projects$Zones$Clusters$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Zones$Clusters$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Zones$Clusters$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * container.projects.zones.clusters.delete + * @desc Deletes the cluster, including the Kubernetes endpoint and all + * worker nodes. Firewalls and routes that were configured during cluster + * creation are also deleted. Other Google Compute Engine resources that + * might be in use by the cluster (e.g. load balancer resources) will not be + * deleted if they weren't present at the initial create time. + * @alias container.projects.zones.clusters.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterId Deprecated. The name of the cluster to delete. This field has been deprecated and replaced by the name field. + * @param {string=} params.name The name (project, location, cluster) of the cluster to delete. Specified in the format 'projects/x/locations/x/clusters/x'. + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. + * @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?: Params$Resource$Projects$Zones$Clusters$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Zones$Clusters$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Zones$Clusters$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * container.projects.zones.clusters.get + * @desc Gets the details for a specific cluster. + * @alias container.projects.zones.clusters.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterId Deprecated. The name of the cluster to retrieve. This field has been deprecated and replaced by the name field. + * @param {string=} params.name The name (project, location, cluster) of the cluster to retrieve. Specified in the format 'projects/x/locations/x/clusters/x'. + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. + * @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?: Params$Resource$Projects$Zones$Clusters$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Zones$Clusters$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Zones$Clusters$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * container.projects.zones.clusters.legacyAbac + * @desc Enables or disables the ABAC authorization mechanism on a cluster. + * @alias container.projects.zones.clusters.legacyAbac + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterId Deprecated. The name of the cluster to update. This field has been deprecated and replaced by the name field. + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. + * @param {().SetLegacyAbacRequest} 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 + */ + legacyAbac(params?: Params$Resource$Projects$Zones$Clusters$Legacyabac, options?: MethodOptions): AxiosPromise; + legacyAbac(params: Params$Resource$Projects$Zones$Clusters$Legacyabac, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + legacyAbac(params: Params$Resource$Projects$Zones$Clusters$Legacyabac, callback: BodyResponseCallback): void; + legacyAbac(callback: BodyResponseCallback): void; + /** + * container.projects.zones.clusters.list + * @desc Lists all clusters owned by a project in either the specified zone + * or all zones. + * @alias container.projects.zones.clusters.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.parent The parent (project and location) where the clusters will be listed. Specified in the format 'projects/x/locations/x'. Location "-" matches all zones and all regions. + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the parent field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides, or "-" for all zones. This field has been deprecated and replaced by the parent field. + * @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?: Params$Resource$Projects$Zones$Clusters$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Zones$Clusters$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Zones$Clusters$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * container.projects.zones.clusters.locations + * @desc Sets the locations for a specific cluster. + * @alias container.projects.zones.clusters.locations + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterId Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field. + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. + * @param {().SetLocationsRequest} 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 + */ + locations(params?: Params$Resource$Projects$Zones$Clusters$Locations, options?: MethodOptions): AxiosPromise; + locations(params: Params$Resource$Projects$Zones$Clusters$Locations, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + locations(params: Params$Resource$Projects$Zones$Clusters$Locations, callback: BodyResponseCallback): void; + locations(callback: BodyResponseCallback): void; + /** + * container.projects.zones.clusters.logging + * @desc Sets the logging service for a specific cluster. + * @alias container.projects.zones.clusters.logging + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterId Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field. + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. + * @param {().SetLoggingServiceRequest} 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 + */ + logging(params?: Params$Resource$Projects$Zones$Clusters$Logging, options?: MethodOptions): AxiosPromise; + logging(params: Params$Resource$Projects$Zones$Clusters$Logging, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + logging(params: Params$Resource$Projects$Zones$Clusters$Logging, callback: BodyResponseCallback): void; + logging(callback: BodyResponseCallback): void; + /** + * container.projects.zones.clusters.master + * @desc Updates the master for a specific cluster. + * @alias container.projects.zones.clusters.master + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterId Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field. + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. + * @param {().UpdateMasterRequest} 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 + */ + master(params?: Params$Resource$Projects$Zones$Clusters$Master, options?: MethodOptions): AxiosPromise; + master(params: Params$Resource$Projects$Zones$Clusters$Master, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + master(params: Params$Resource$Projects$Zones$Clusters$Master, callback: BodyResponseCallback): void; + master(callback: BodyResponseCallback): void; + /** + * container.projects.zones.clusters.monitoring + * @desc Sets the monitoring service for a specific cluster. + * @alias container.projects.zones.clusters.monitoring + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterId Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field. + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. + * @param {().SetMonitoringServiceRequest} 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 + */ + monitoring(params?: Params$Resource$Projects$Zones$Clusters$Monitoring, options?: MethodOptions): AxiosPromise; + monitoring(params: Params$Resource$Projects$Zones$Clusters$Monitoring, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + monitoring(params: Params$Resource$Projects$Zones$Clusters$Monitoring, callback: BodyResponseCallback): void; + monitoring(callback: BodyResponseCallback): void; + /** + * container.projects.zones.clusters.resourceLabels + * @desc Sets labels on a cluster. + * @alias container.projects.zones.clusters.resourceLabels + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterId Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field. + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. + * @param {().SetLabelsRequest} 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 + */ + resourceLabels(params?: Params$Resource$Projects$Zones$Clusters$Resourcelabels, options?: MethodOptions): AxiosPromise; + resourceLabels(params: Params$Resource$Projects$Zones$Clusters$Resourcelabels, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + resourceLabels(params: Params$Resource$Projects$Zones$Clusters$Resourcelabels, callback: BodyResponseCallback): void; + resourceLabels(callback: BodyResponseCallback): void; + /** + * container.projects.zones.clusters.setMaintenancePolicy + * @desc Sets the maintenance policy for a cluster. + * @alias container.projects.zones.clusters.setMaintenancePolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterId The name of the cluster to update. + * @param {string} params.projectId The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). + * @param {string} params.zone The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. + * @param {().SetMaintenancePolicyRequest} 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 + */ + setMaintenancePolicy(params?: Params$Resource$Projects$Zones$Clusters$Setmaintenancepolicy, options?: MethodOptions): AxiosPromise; + setMaintenancePolicy(params: Params$Resource$Projects$Zones$Clusters$Setmaintenancepolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setMaintenancePolicy(params: Params$Resource$Projects$Zones$Clusters$Setmaintenancepolicy, callback: BodyResponseCallback): void; + setMaintenancePolicy(callback: BodyResponseCallback): void; + /** + * container.projects.zones.clusters.setMasterAuth + * @desc Used to set master auth materials. Currently supports :- Changing + * the admin password for a specific cluster. This can be either via + * password generation or explicitly set. Modify basic_auth.csv and reset + * the K8S API server. + * @alias container.projects.zones.clusters.setMasterAuth + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterId Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field. + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. + * @param {().SetMasterAuthRequest} 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 + */ + setMasterAuth(params?: Params$Resource$Projects$Zones$Clusters$Setmasterauth, options?: MethodOptions): AxiosPromise; + setMasterAuth(params: Params$Resource$Projects$Zones$Clusters$Setmasterauth, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setMasterAuth(params: Params$Resource$Projects$Zones$Clusters$Setmasterauth, callback: BodyResponseCallback): void; + setMasterAuth(callback: BodyResponseCallback): void; + /** + * container.projects.zones.clusters.setNetworkPolicy + * @desc Enables/Disables Network Policy for a cluster. + * @alias container.projects.zones.clusters.setNetworkPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterId Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field. + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. + * @param {().SetNetworkPolicyRequest} 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 + */ + setNetworkPolicy(params?: Params$Resource$Projects$Zones$Clusters$Setnetworkpolicy, options?: MethodOptions): AxiosPromise; + setNetworkPolicy(params: Params$Resource$Projects$Zones$Clusters$Setnetworkpolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setNetworkPolicy(params: Params$Resource$Projects$Zones$Clusters$Setnetworkpolicy, callback: BodyResponseCallback): void; + setNetworkPolicy(callback: BodyResponseCallback): void; + /** + * container.projects.zones.clusters.startIpRotation + * @desc Start master IP rotation. + * @alias container.projects.zones.clusters.startIpRotation + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterId Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field. + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. + * @param {().StartIPRotationRequest} 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 + */ + startIpRotation(params?: Params$Resource$Projects$Zones$Clusters$Startiprotation, options?: MethodOptions): AxiosPromise; + startIpRotation(params: Params$Resource$Projects$Zones$Clusters$Startiprotation, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + startIpRotation(params: Params$Resource$Projects$Zones$Clusters$Startiprotation, callback: BodyResponseCallback): void; + startIpRotation(callback: BodyResponseCallback): void; + /** + * container.projects.zones.clusters.update + * @desc Updates the settings for a specific cluster. + * @alias container.projects.zones.clusters.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterId Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field. + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. + * @param {().UpdateClusterRequest} 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?: Params$Resource$Projects$Zones$Clusters$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Projects$Zones$Clusters$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Projects$Zones$Clusters$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Zones$Clusters$Addons { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The name of the cluster to upgrade. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetAddonsConfigRequest; + } + interface Params$Resource$Projects$Zones$Clusters$Completeiprotation { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The name of the cluster. This field has been deprecated and + * replaced by the name field. + */ + clusterId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://developers.google.com/console/help/new/#projectnumber). + * This field has been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CompleteIPRotationRequest; + } + interface Params$Resource$Projects$Zones$Clusters$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the parent field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the parent field. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreateClusterRequest; + } + interface Params$Resource$Projects$Zones$Clusters$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The name of the cluster to delete. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * The name (project, location, cluster) of the cluster to delete. Specified + * in the format 'projects/x/locations/x/clusters/x'. + */ + name?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + interface Params$Resource$Projects$Zones$Clusters$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The name of the cluster to retrieve. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * The name (project, location, cluster) of the cluster to retrieve. + * Specified in the format 'projects/x/locations/x/clusters/x'. + */ + name?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + interface Params$Resource$Projects$Zones$Clusters$Legacyabac { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The name of the cluster to update. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetLegacyAbacRequest; + } + interface Params$Resource$Projects$Zones$Clusters$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The parent (project and location) where the clusters will be listed. + * Specified in the format 'projects/x/locations/x'. Location "-" matches + * all zones and all regions. + */ + parent?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the parent field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides, or + * "-" for all zones. This field has been deprecated and replaced by the + * parent field. + */ + zone?: string; + } + interface Params$Resource$Projects$Zones$Clusters$Locations { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The name of the cluster to upgrade. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetLocationsRequest; + } + interface Params$Resource$Projects$Zones$Clusters$Logging { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The name of the cluster to upgrade. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetLoggingServiceRequest; + } + interface Params$Resource$Projects$Zones$Clusters$Master { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The name of the cluster to upgrade. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UpdateMasterRequest; + } + interface Params$Resource$Projects$Zones$Clusters$Monitoring { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The name of the cluster to upgrade. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetMonitoringServiceRequest; + } + interface Params$Resource$Projects$Zones$Clusters$Resourcelabels { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The name of the cluster. This field has been deprecated and + * replaced by the name field. + */ + clusterId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://developers.google.com/console/help/new/#projectnumber). + * This field has been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetLabelsRequest; + } + interface Params$Resource$Projects$Zones$Clusters$Setmaintenancepolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the cluster to update. + */ + clusterId?: string; + /** + * The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). + */ + projectId?: string; + /** + * The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetMaintenancePolicyRequest; + } + interface Params$Resource$Projects$Zones$Clusters$Setmasterauth { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The name of the cluster to upgrade. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetMasterAuthRequest; + } + interface Params$Resource$Projects$Zones$Clusters$Setnetworkpolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The name of the cluster. This field has been deprecated and + * replaced by the name field. + */ + clusterId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://developers.google.com/console/help/new/#projectnumber). + * This field has been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetNetworkPolicyRequest; + } + interface Params$Resource$Projects$Zones$Clusters$Startiprotation { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The name of the cluster. This field has been deprecated and + * replaced by the name field. + */ + clusterId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://developers.google.com/console/help/new/#projectnumber). + * This field has been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$StartIPRotationRequest; + } + interface Params$Resource$Projects$Zones$Clusters$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The name of the cluster to upgrade. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UpdateClusterRequest; + } + class Resource$Projects$Zones$Clusters$Nodepools { + root: Container; + constructor(root: Container); + getRoot(): Container; + /** + * container.projects.zones.clusters.nodePools.autoscaling + * @desc Sets the autoscaling settings of a specific node pool. + * @alias container.projects.zones.clusters.nodePools.autoscaling + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterId Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field. + * @param {string} params.nodePoolId Deprecated. The name of the node pool to upgrade. This field has been deprecated and replaced by the name field. + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. + * @param {().SetNodePoolAutoscalingRequest} 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 + */ + autoscaling(params?: Params$Resource$Projects$Zones$Clusters$Nodepools$Autoscaling, options?: MethodOptions): AxiosPromise; + autoscaling(params: Params$Resource$Projects$Zones$Clusters$Nodepools$Autoscaling, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + autoscaling(params: Params$Resource$Projects$Zones$Clusters$Nodepools$Autoscaling, callback: BodyResponseCallback): void; + autoscaling(callback: BodyResponseCallback): void; + /** + * container.projects.zones.clusters.nodePools.create + * @desc Creates a node pool for a cluster. + * @alias container.projects.zones.clusters.nodePools.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterId Deprecated. The name of the cluster. This field has been deprecated and replaced by the parent field. + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the parent field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the parent field. + * @param {().CreateNodePoolRequest} 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 + */ + create(params?: Params$Resource$Projects$Zones$Clusters$Nodepools$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Zones$Clusters$Nodepools$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Zones$Clusters$Nodepools$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * container.projects.zones.clusters.nodePools.delete + * @desc Deletes a node pool from a cluster. + * @alias container.projects.zones.clusters.nodePools.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterId Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field. + * @param {string=} params.name The name (project, location, cluster, node pool id) of the node pool to delete. Specified in the format 'projects/x/locations/x/clusters/x/nodePools/x'. + * @param {string} params.nodePoolId Deprecated. The name of the node pool to delete. This field has been deprecated and replaced by the name field. + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. + * @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?: Params$Resource$Projects$Zones$Clusters$Nodepools$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Zones$Clusters$Nodepools$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Zones$Clusters$Nodepools$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * container.projects.zones.clusters.nodePools.get + * @desc Retrieves the node pool requested. + * @alias container.projects.zones.clusters.nodePools.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterId Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field. + * @param {string=} params.name The name (project, location, cluster, node pool id) of the node pool to get. Specified in the format 'projects/x/locations/x/clusters/x/nodePools/x'. + * @param {string} params.nodePoolId Deprecated. The name of the node pool. This field has been deprecated and replaced by the name field. + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. + * @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?: Params$Resource$Projects$Zones$Clusters$Nodepools$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Zones$Clusters$Nodepools$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Zones$Clusters$Nodepools$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * container.projects.zones.clusters.nodePools.list + * @desc Lists the node pools for a cluster. + * @alias container.projects.zones.clusters.nodePools.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterId Deprecated. The name of the cluster. This field has been deprecated and replaced by the parent field. + * @param {string=} params.parent The parent (project, location, cluster id) where the node pools will be listed. Specified in the format 'projects/x/locations/x/clusters/x'. + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the parent field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the parent field. + * @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?: Params$Resource$Projects$Zones$Clusters$Nodepools$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Zones$Clusters$Nodepools$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Zones$Clusters$Nodepools$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * container.projects.zones.clusters.nodePools.rollback + * @desc Roll back the previously Aborted or Failed NodePool upgrade. This + * will be an no-op if the last upgrade successfully completed. + * @alias container.projects.zones.clusters.nodePools.rollback + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterId Deprecated. The name of the cluster to rollback. This field has been deprecated and replaced by the name field. + * @param {string} params.nodePoolId Deprecated. The name of the node pool to rollback. This field has been deprecated and replaced by the name field. + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. + * @param {().RollbackNodePoolUpgradeRequest} 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 + */ + rollback(params?: Params$Resource$Projects$Zones$Clusters$Nodepools$Rollback, options?: MethodOptions): AxiosPromise; + rollback(params: Params$Resource$Projects$Zones$Clusters$Nodepools$Rollback, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + rollback(params: Params$Resource$Projects$Zones$Clusters$Nodepools$Rollback, callback: BodyResponseCallback): void; + rollback(callback: BodyResponseCallback): void; + /** + * container.projects.zones.clusters.nodePools.setManagement + * @desc Sets the NodeManagement options for a node pool. + * @alias container.projects.zones.clusters.nodePools.setManagement + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterId Deprecated. The name of the cluster to update. This field has been deprecated and replaced by the name field. + * @param {string} params.nodePoolId Deprecated. The name of the node pool to update. This field has been deprecated and replaced by the name field. + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. + * @param {().SetNodePoolManagementRequest} 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 + */ + setManagement(params?: Params$Resource$Projects$Zones$Clusters$Nodepools$Setmanagement, options?: MethodOptions): AxiosPromise; + setManagement(params: Params$Resource$Projects$Zones$Clusters$Nodepools$Setmanagement, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setManagement(params: Params$Resource$Projects$Zones$Clusters$Nodepools$Setmanagement, callback: BodyResponseCallback): void; + setManagement(callback: BodyResponseCallback): void; + /** + * container.projects.zones.clusters.nodePools.setSize + * @desc Sets the size for a specific node pool. + * @alias container.projects.zones.clusters.nodePools.setSize + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterId Deprecated. The name of the cluster to update. This field has been deprecated and replaced by the name field. + * @param {string} params.nodePoolId Deprecated. The name of the node pool to update. This field has been deprecated and replaced by the name field. + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. + * @param {().SetNodePoolSizeRequest} 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 + */ + setSize(params?: Params$Resource$Projects$Zones$Clusters$Nodepools$Setsize, options?: MethodOptions): AxiosPromise; + setSize(params: Params$Resource$Projects$Zones$Clusters$Nodepools$Setsize, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setSize(params: Params$Resource$Projects$Zones$Clusters$Nodepools$Setsize, callback: BodyResponseCallback): void; + setSize(callback: BodyResponseCallback): void; + /** + * container.projects.zones.clusters.nodePools.update + * @desc Updates the version and/or image type of a specific node pool. + * @alias container.projects.zones.clusters.nodePools.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterId Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field. + * @param {string} params.nodePoolId Deprecated. The name of the node pool to upgrade. This field has been deprecated and replaced by the name field. + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. + * @param {().UpdateNodePoolRequest} 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?: Params$Resource$Projects$Zones$Clusters$Nodepools$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Projects$Zones$Clusters$Nodepools$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Projects$Zones$Clusters$Nodepools$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Zones$Clusters$Nodepools$Autoscaling { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The name of the cluster to upgrade. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * Deprecated. The name of the node pool to upgrade. This field has been + * deprecated and replaced by the name field. + */ + nodePoolId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetNodePoolAutoscalingRequest; + } + interface Params$Resource$Projects$Zones$Clusters$Nodepools$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The name of the cluster. This field has been deprecated and + * replaced by the parent field. + */ + clusterId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://developers.google.com/console/help/new/#projectnumber). + * This field has been deprecated and replaced by the parent field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the parent field. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreateNodePoolRequest; + } + interface Params$Resource$Projects$Zones$Clusters$Nodepools$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The name of the cluster. This field has been deprecated and + * replaced by the name field. + */ + clusterId?: string; + /** + * The name (project, location, cluster, node pool id) of the node pool to + * delete. Specified in the format + * 'projects/x/locations/x/clusters/x/nodePools/x'. + */ + name?: string; + /** + * Deprecated. The name of the node pool to delete. This field has been + * deprecated and replaced by the name field. + */ + nodePoolId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://developers.google.com/console/help/new/#projectnumber). + * This field has been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + interface Params$Resource$Projects$Zones$Clusters$Nodepools$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The name of the cluster. This field has been deprecated and + * replaced by the name field. + */ + clusterId?: string; + /** + * The name (project, location, cluster, node pool id) of the node pool to + * get. Specified in the format + * 'projects/x/locations/x/clusters/x/nodePools/x'. + */ + name?: string; + /** + * Deprecated. The name of the node pool. This field has been deprecated and + * replaced by the name field. + */ + nodePoolId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://developers.google.com/console/help/new/#projectnumber). + * This field has been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + interface Params$Resource$Projects$Zones$Clusters$Nodepools$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The name of the cluster. This field has been deprecated and + * replaced by the parent field. + */ + clusterId?: string; + /** + * The parent (project, location, cluster id) where the node pools will be + * listed. Specified in the format 'projects/x/locations/x/clusters/x'. + */ + parent?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://developers.google.com/console/help/new/#projectnumber). + * This field has been deprecated and replaced by the parent field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the parent field. + */ + zone?: string; + } + interface Params$Resource$Projects$Zones$Clusters$Nodepools$Rollback { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The name of the cluster to rollback. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * Deprecated. The name of the node pool to rollback. This field has been + * deprecated and replaced by the name field. + */ + nodePoolId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RollbackNodePoolUpgradeRequest; + } + interface Params$Resource$Projects$Zones$Clusters$Nodepools$Setmanagement { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The name of the cluster to update. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * Deprecated. The name of the node pool to update. This field has been + * deprecated and replaced by the name field. + */ + nodePoolId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetNodePoolManagementRequest; + } + interface Params$Resource$Projects$Zones$Clusters$Nodepools$Setsize { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The name of the cluster to update. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * Deprecated. The name of the node pool to update. This field has been + * deprecated and replaced by the name field. + */ + nodePoolId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetNodePoolSizeRequest; + } + interface Params$Resource$Projects$Zones$Clusters$Nodepools$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The name of the cluster to upgrade. This field has been + * deprecated and replaced by the name field. + */ + clusterId?: string; + /** + * Deprecated. The name of the node pool to upgrade. This field has been + * deprecated and replaced by the name field. + */ + nodePoolId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UpdateNodePoolRequest; + } + class Resource$Projects$Zones$Operations { + root: Container; + constructor(root: Container); + getRoot(): Container; + /** + * container.projects.zones.operations.cancel + * @desc Cancels the specified operation. + * @alias container.projects.zones.operations.cancel + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.operationId Deprecated. The server-assigned `name` of the operation. This field has been deprecated and replaced by the name field. + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the operation resides. This field has been deprecated and replaced by the name field. + * @param {().CancelOperationRequest} 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 + */ + cancel(params?: Params$Resource$Projects$Zones$Operations$Cancel, options?: MethodOptions): AxiosPromise; + cancel(params: Params$Resource$Projects$Zones$Operations$Cancel, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + cancel(params: Params$Resource$Projects$Zones$Operations$Cancel, callback: BodyResponseCallback): void; + cancel(callback: BodyResponseCallback): void; + /** + * container.projects.zones.operations.get + * @desc Gets the specified operation. + * @alias container.projects.zones.operations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.name The name (project, location, operation id) of the operation to get. Specified in the format 'projects/x/locations/x/operations/x'. + * @param {string} params.operationId Deprecated. The server-assigned `name` of the operation. This field has been deprecated and replaced by the name field. + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. + * @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?: Params$Resource$Projects$Zones$Operations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Zones$Operations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Zones$Operations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * container.projects.zones.operations.list + * @desc Lists all operations in a project in a specific zone or all zones. + * @alias container.projects.zones.operations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.parent The parent (project and location) where the operations will be listed. Specified in the format 'projects/x/locations/x'. Location "-" matches all zones and all regions. + * @param {string} params.projectId Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the parent field. + * @param {string} params.zone Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) to return operations for, or `-` for all zones. This field has been deprecated and replaced by the parent field. + * @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?: Params$Resource$Projects$Zones$Operations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Zones$Operations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Zones$Operations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Zones$Operations$Cancel { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. The server-assigned `name` of the operation. This field has + * been deprecated and replaced by the name field. + */ + operationId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the operation resides. + * This field has been deprecated and replaced by the name field. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CancelOperationRequest; + } + interface Params$Resource$Projects$Zones$Operations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name (project, location, operation id) of the operation to get. + * Specified in the format 'projects/x/locations/x/operations/x'. + */ + name?: string; + /** + * Deprecated. The server-assigned `name` of the operation. This field has + * been deprecated and replaced by the name field. + */ + operationId?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the name field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. This + * field has been deprecated and replaced by the name field. + */ + zone?: string; + } + interface Params$Resource$Projects$Zones$Operations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The parent (project and location) where the operations will be listed. + * Specified in the format 'projects/x/locations/x'. Location "-" matches + * all zones and all regions. + */ + parent?: string; + /** + * Deprecated. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). This field has + * been deprecated and replaced by the parent field. + */ + projectId?: string; + /** + * Deprecated. The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) to return operations for, or `-` + * for all zones. This field has been deprecated and replaced by the parent + * field. + */ + zone?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/container/v1beta1.js b/express-server/node_modules/googleapis/build/src/apis/container/v1beta1.js new file mode 100644 index 00000000..484804ab --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/container/v1beta1.js @@ -0,0 +1,2123 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var container_v1beta1; +(function (container_v1beta1) { + /** + * Kubernetes Engine API + * + * The Google Kubernetes Engine API is used for building and managing + * container based applications, powered by the open source Kubernetes + * technology. + * + * @example + * const {google} = require('googleapis'); + * const container = google.container('v1beta1'); + * + * @namespace container + * @type {Function} + * @version v1beta1 + * @variation v1beta1 + * @param {object=} options Options for Container + */ + class Container { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.projects = new Resource$Projects(this); + } + getRoot() { + return this.root; + } + } + container_v1beta1.Container = Container; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.aggregated = new Resource$Projects$Aggregated(root); + this.locations = new Resource$Projects$Locations(root); + this.zones = new Resource$Projects$Zones(root); + } + getRoot() { + return this.root; + } + } + container_v1beta1.Resource$Projects = Resource$Projects; + class Resource$Projects$Aggregated { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.usableSubnetworks = + new Resource$Projects$Aggregated$Usablesubnetworks(root); + } + getRoot() { + return this.root; + } + } + container_v1beta1.Resource$Projects$Aggregated = Resource$Projects$Aggregated; + class Resource$Projects$Aggregated$Usablesubnetworks { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+parent}/aggregated/usableSubnetworks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + container_v1beta1.Resource$Projects$Aggregated$Usablesubnetworks = Resource$Projects$Aggregated$Usablesubnetworks; + class Resource$Projects$Locations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.clusters = new Resource$Projects$Locations$Clusters(root); + this.operations = new Resource$Projects$Locations$Operations(root); + } + getRoot() { + return this.root; + } + getServerConfig(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}/serverConfig') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+parent}/locations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + container_v1beta1.Resource$Projects$Locations = Resource$Projects$Locations; + class Resource$Projects$Locations$Clusters { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.nodePools = new Resource$Projects$Locations$Clusters$Nodepools(root); + } + getRoot() { + return this.root; + } + completeIpRotation(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}:completeIpRotation') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+parent}/clusters') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+parent}/clusters') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setAddons(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}:setAddons') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setLegacyAbac(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}:setLegacyAbac') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setLocations(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}:setLocations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setLogging(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}:setLogging') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setMaintenancePolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}:setMaintenancePolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setMasterAuth(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}:setMasterAuth') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setMonitoring(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}:setMonitoring') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setNetworkPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}:setNetworkPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setResourceLabels(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}:setResourceLabels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + startIpRotation(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}:startIpRotation') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + updateMaster(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}:updateMaster') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + container_v1beta1.Resource$Projects$Locations$Clusters = Resource$Projects$Locations$Clusters; + class Resource$Projects$Locations$Clusters$Nodepools { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+parent}/nodePools') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+parent}/nodePools') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + rollback(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}:rollback') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setAutoscaling(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}:setAutoscaling') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setManagement(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}:setManagement') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setSize(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}:setSize') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + container_v1beta1.Resource$Projects$Locations$Clusters$Nodepools = Resource$Projects$Locations$Clusters$Nodepools; + class Resource$Projects$Locations$Operations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + cancel(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}:cancel') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+parent}/operations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + container_v1beta1.Resource$Projects$Locations$Operations = Resource$Projects$Locations$Operations; + class Resource$Projects$Zones { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.clusters = new Resource$Projects$Zones$Clusters(root); + this.operations = new Resource$Projects$Zones$Operations(root); + } + getRoot() { + return this.root; + } + getServerconfig(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta1/projects/{projectId}/zones/{zone}/serverconfig') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId', 'zone'], + pathParams: ['projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + container_v1beta1.Resource$Projects$Zones = Resource$Projects$Zones; + class Resource$Projects$Zones$Clusters { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.nodePools = new Resource$Projects$Zones$Clusters$Nodepools(root); + } + getRoot() { + return this.root; + } + addons(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/addons') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'zone', 'clusterId'], + pathParams: ['clusterId', 'projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + completeIpRotation(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:completeIpRotation') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'zone', 'clusterId'], + pathParams: ['clusterId', 'projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta1/projects/{projectId}/zones/{zone}/clusters') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'zone'], + pathParams: ['projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['projectId', 'zone', 'clusterId'], + pathParams: ['clusterId', 'projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId', 'zone', 'clusterId'], + pathParams: ['clusterId', 'projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + legacyAbac(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/legacyAbac') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'zone', 'clusterId'], + pathParams: ['clusterId', 'projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta1/projects/{projectId}/zones/{zone}/clusters') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId', 'zone'], + pathParams: ['projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + locations(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/locations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'zone', 'clusterId'], + pathParams: ['clusterId', 'projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + logging(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/logging') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'zone', 'clusterId'], + pathParams: ['clusterId', 'projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + master(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/master') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'zone', 'clusterId'], + pathParams: ['clusterId', 'projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + monitoring(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/monitoring') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'zone', 'clusterId'], + pathParams: ['clusterId', 'projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + resourceLabels(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/resourceLabels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'zone', 'clusterId'], + pathParams: ['clusterId', 'projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setMaintenancePolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setMaintenancePolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'zone', 'clusterId'], + pathParams: ['clusterId', 'projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setMasterAuth(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setMasterAuth') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'zone', 'clusterId'], + pathParams: ['clusterId', 'projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setNetworkPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setNetworkPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'zone', 'clusterId'], + pathParams: ['clusterId', 'projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + startIpRotation(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:startIpRotation') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'zone', 'clusterId'], + pathParams: ['clusterId', 'projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['projectId', 'zone', 'clusterId'], + pathParams: ['clusterId', 'projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + container_v1beta1.Resource$Projects$Zones$Clusters = Resource$Projects$Zones$Clusters; + class Resource$Projects$Zones$Clusters$Nodepools { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + autoscaling(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/autoscaling') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'zone', 'clusterId', 'nodePoolId'], + pathParams: ['clusterId', 'nodePoolId', 'projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'zone', 'clusterId'], + pathParams: ['clusterId', 'projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['projectId', 'zone', 'clusterId', 'nodePoolId'], + pathParams: ['clusterId', 'nodePoolId', 'projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId', 'zone', 'clusterId', 'nodePoolId'], + pathParams: ['clusterId', 'nodePoolId', 'projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId', 'zone', 'clusterId'], + pathParams: ['clusterId', 'projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + rollback(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}:rollback') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'zone', 'clusterId', 'nodePoolId'], + pathParams: ['clusterId', 'nodePoolId', 'projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setManagement(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/setManagement') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'zone', 'clusterId', 'nodePoolId'], + pathParams: ['clusterId', 'nodePoolId', 'projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setSize(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/setSize') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'zone', 'clusterId', 'nodePoolId'], + pathParams: ['clusterId', 'nodePoolId', 'projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/update') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'zone', 'clusterId', 'nodePoolId'], + pathParams: ['clusterId', 'nodePoolId', 'projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + container_v1beta1.Resource$Projects$Zones$Clusters$Nodepools = Resource$Projects$Zones$Clusters$Nodepools; + class Resource$Projects$Zones$Operations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + cancel(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta1/projects/{projectId}/zones/{zone}/operations/{operationId}:cancel') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'zone', 'operationId'], + pathParams: ['operationId', 'projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta1/projects/{projectId}/zones/{zone}/operations/{operationId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId', 'zone', 'operationId'], + pathParams: ['operationId', 'projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta1/projects/{projectId}/zones/{zone}/operations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId', 'zone'], + pathParams: ['projectId', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + container_v1beta1.Resource$Projects$Zones$Operations = Resource$Projects$Zones$Operations; +})(container_v1beta1 = exports.container_v1beta1 || (exports.container_v1beta1 = {})); +//# sourceMappingURL=v1beta1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/container/v1beta1.js.map b/express-server/node_modules/googleapis/build/src/apis/container/v1beta1.js.map new file mode 100644 index 00000000..c5609f02 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/container/v1beta1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1beta1.js","sourceRoot":"","sources":["../../../../src/apis/container/v1beta1.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAIH,yDAA2H;AAE3H,yBAAyB;AACzB,6BAA6B;AAC7B,gCAAgC;AAChC,+BAA+B;AAC/B,+BAA+B;AAE/B,IAAiB,iBAAiB,CAkpQjC;AAlpQD,WAAiB,iBAAiB;IAKhC;;;;;;;;;;;;;;;;OAgBG;IACH,MAAa,SAAS;QAOpB,YAAY,OAAsB,EAAE,MAA2B;YAJ/D,SAAI,GAAG,IAAI,CAAC;YAKV,IAAI,CAAC,QAAQ,GAAG,OAAO,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAExB,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;KACF;IAlBY,2BAAS,YAkBrB,CAAA;IAslED,MAAa,iBAAiB;QAK5B,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC,UAAU,GAAG,IAAI,4BAA4B,CAAC,IAAI,CAAC,CAAC;YACzD,IAAI,CAAC,SAAS,GAAG,IAAI,2BAA2B,CAAC,IAAI,CAAC,CAAC;YACvD,IAAI,CAAC,KAAK,GAAG,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC;QACjD,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;KACF;IAhBY,mCAAiB,oBAgB7B,CAAA;IAGD,MAAa,4BAA4B;QAGvC,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC,iBAAiB;gBAClB,IAAI,8CAA8C,CAAC,IAAI,CAAC,CAAC;QAC/D,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;KACF;IAbY,8CAA4B,+BAaxC,CAAA;IAGD,MAAa,8CAA8C;QAEzD,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAmCD,IAAI,CACA,gBAE0D,EAC1D,iBAC0D,EAC1D,QAAqE;YAEvE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAC0B,CAAC;YAC/D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACqD,CAAC;gBAC/D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,iDAAiD,CAAC;yBACxD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;KACF;IA1FY,gEAA8C,iDA0F1D,CAAA;IAoCD,MAAa,2BAA2B;QAItC,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,oCAAoC,CAAC,IAAI,CAAC,CAAC;YAC/D,IAAI,CAAC,UAAU,GAAG,IAAI,sCAAsC,CAAC,IAAI,CAAC,CAAC;QACrE,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA4BD,eAAe,CACX,gBACyC,EACzC,iBACyC,EACzC,QAAoD;YAEtD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACkB,CAAC;YACvD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwD,CAAC;gBAClE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,+BAA+B,CAAC;yBACtC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAsB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC7D;iBAAM;gBACL,OAAO,oCAAgB,CAAsB,UAAU,CAAC,CAAC;aAC1D;QACH,CAAC;QA0BD,IAAI,CACA,gBACkD,EAClD,iBACkD,EAClD,QAA6D;YAE/D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA4C,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6C,CAAC;gBACvD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,8BAA8B,CAAC;yBACrC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA+B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtE;iBAAM;gBACL,OAAO,oCAAgB,CAA+B,UAAU,CAAC,CAAC;aACnE;QACH,CAAC;KACF;IAtJY,6CAA2B,8BAsJvC,CAAA;IAuCD,MAAa,oCAAoC;QAG/C,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC,SAAS,GAAG,IAAI,8CAA8C,CAAC,IAAI,CAAC,CAAC;QAC5E,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA2BD,kBAAkB,CACd,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAC8B,CAAC;YACnE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACyD,CAAC;gBACnE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,qCAAqC,CAAC;yBAC5C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAmCD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACkB,CAAC;YACvD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwD,CAAC;gBAClE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,6BAA6B,CAAC;yBACpC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAiCD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACkB,CAAC;YACvD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwD,CAAC;gBAClE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,kBAAkB,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACjE,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA0BD,GAAG,CAAC,gBACoC,EACpC,iBAAsE,EACtE,QAA+C;YAEjD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACe,CAAC;YACpD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqD,CAAC;gBAC/D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,kBAAkB,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACjE,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxD;iBAAM;gBACL,OAAO,oCAAgB,CAAiB,UAAU,CAAC,CAAC;aACrD;QACH,CAAC;QA8BD,IAAI,CACA,gBACiD,EACjD,iBACiD,EACjD,QAA4D;YAE9D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACgB,CAAC;YACrD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsD,CAAC;gBAChE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,6BAA6B,CAAC;yBACpC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA8B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrE;iBAAM;gBACL,OAAO,oCAAgB,CAA8B,UAAU,CAAC,CAAC;aAClE;QACH,CAAC;QA2BD,SAAS,CACL,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACqB,CAAC;YAC1D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2D,CAAC;gBACrE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,4BAA4B,CAAC;yBACnC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA2BD,aAAa,CACT,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACyB,CAAC;YAC9D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACoD,CAAC;gBAC9D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,gCAAgC,CAAC;yBACvC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA2BD,YAAY,CACR,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACwB,CAAC;YAC7D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8D,CAAC;gBACxE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,+BAA+B,CAAC;yBACtC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA2BD,UAAU,CACN,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACsB,CAAC;YAC3D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4D,CAAC;gBACtE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,6BAA6B,CAAC;yBACpC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA+BD,oBAAoB,CAChB,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACgC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAC2D,CAAC;gBACrE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,uCAAuC,CAAC;yBAC9C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA8BD,aAAa,CACT,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACyB,CAAC;YAC9D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACoD,CAAC;gBAC9D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,gCAAgC,CAAC;yBACvC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA2BD,aAAa,CACT,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACyB,CAAC;YAC9D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACoD,CAAC;gBAC9D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,gCAAgC,CAAC;yBACvC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA2BD,gBAAgB,CACZ,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAC4B,CAAC;YACjE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACuD,CAAC;gBACjE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,mCAAmC,CAAC;yBAC1C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA2BD,iBAAiB,CACb,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAC6B,CAAC;YAClE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACwD,CAAC;gBAClE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,oCAAoC,CAAC;yBAC3C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA2BD,eAAe,CACX,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAC2B,CAAC;YAChE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACsD,CAAC;gBAChE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,kCAAkC,CAAC;yBACzC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA2BD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACkB,CAAC;YACvD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwD,CAAC;gBAClE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,kBAAkB,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACjE,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA2BD,YAAY,CACR,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACwB,CAAC;YAC7D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8D,CAAC;gBACxE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,+BAA+B,CAAC;yBACtC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;KACF;IAtrCY,sDAAoC,uCAsrChD,CAAA;IAsUD,MAAa,8CAA8C;QAEzD,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA2BD,MAAM,CACF,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAC4B,CAAC;YACjE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACuD,CAAC;gBACjE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,8BAA8B,CAAC;yBACrC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA8BD,MAAM,CACF,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAC4B,CAAC;YACjE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACuD,CAAC;gBACjE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,kBAAkB,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACjE,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA2BD,GAAG,CAAC,gBAEqC,EACrC,iBAAuE,EACvE,QAAgD;YAElD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACyB,CAAC;YAC9D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACoD,CAAC;gBAC9D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,kBAAkB,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACjE,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzD;iBAAM;gBACL,OAAO,oCAAgB,CAAkB,UAAU,CAAC,CAAC;aACtD;QACH,CAAC;QA8BD,IAAI,CACA,gBAEkD,EAClD,iBACkD,EAClD,QAA6D;YAE/D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAC0B,CAAC;YAC/D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACqD,CAAC;gBAC/D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,8BAA8B,CAAC;yBACrC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA+B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtE;iBAAM;gBACL,OAAO,oCAAgB,CAA+B,UAAU,CAAC,CAAC;aACnE;QACH,CAAC;QA4BD,QAAQ,CACJ,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAC8B,CAAC;YACnE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACyD,CAAC;gBACnE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,2BAA2B,CAAC;yBAClC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA8BD,cAAc,CACV,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACoC,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAC+D,CAAC;gBACzE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,iCAAiC,CAAC;yBACxC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA8BD,aAAa,CACT,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAC8D,CAAC;gBACxE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,gCAAgC,CAAC;yBACvC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA2BD,OAAO,CACH,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAC6B,CAAC;YAClE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACwD,CAAC;gBAClE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,0BAA0B,CAAC;yBACjC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA2BD,MAAM,CACF,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAC4B,CAAC;YACjE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACuD,CAAC;gBACjE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,kBAAkB,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACjE,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;KACF;IAxoBY,gEAA8C,iDAwoB1D,CAAA;IAmND,MAAa,sCAAsC;QAEjD,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA2BD,MAAM,CACF,gBACkC,EAClC,iBAAoE,EACpE,QAA6C;YAE/C,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACoB,CAAC;YACzD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0D,CAAC;gBACpE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,yBAAyB,CAAC;yBAChC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAe,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtD;iBAAM;gBACL,OAAO,oCAAgB,CAAe,UAAU,CAAC,CAAC;aACnD;QACH,CAAC;QA0BD,GAAG,CAAC,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACiB,CAAC;YACtD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAuD,CAAC;gBACjE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,kBAAkB,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACjE,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA6BD,IAAI,CACA,gBACmD,EACnD,iBACmD,EACnD,QAA8D;YAEhE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACkB,CAAC;YACvD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwD,CAAC;gBAClE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,+BAA+B,CAAC;yBACtC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvE;iBAAM;gBACL,OAAO,oCAAgB,CAAgC,UAAU,CAAC,CAAC;aACpE;QACH,CAAC;KACF;IApNY,wDAAsC,yCAoNlD,CAAA;IA6ED,MAAa,uBAAuB;QAIlC,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,gCAAgC,CAAC,IAAI,CAAC,CAAC;YAC3D,IAAI,CAAC,UAAU,GAAG,IAAI,kCAAkC,CAAC,IAAI,CAAC,CAAC;QACjE,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA4BD,eAAe,CACX,gBACyC,EACzC,iBACyC,EACzC,QAAoD;YAEtD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACc,CAAC;YACnD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoD,CAAC;gBAC9D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,yDAAyD,CAAC;yBACtD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC;gBACrC,UAAU,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAsB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC7D;iBAAM;gBACL,OAAO,oCAAgB,CAAsB,UAAU,CAAC,CAAC;aAC1D;QACH,CAAC;KACF;IApFY,yCAAuB,0BAoFnC,CAAA;IA2BD,MAAa,gCAAgC;QAG3C,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC,SAAS,GAAG,IAAI,0CAA0C,CAAC,IAAI,CAAC,CAAC;QACxE,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA6BD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACc,CAAC;YACnD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoD,CAAC;gBAC9D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,wEAAwE,CAAC;yBACrE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC;gBAClD,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC;gBAC9C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA6BD,kBAAkB,CACd,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAC0B,CAAC;YAC/D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACqD,CAAC;gBAC/D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,oFAAoF,CAAC;yBACjF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC;gBAClD,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC;gBAC9C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAoCD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACc,CAAC;YACnD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoD,CAAC;gBAC9D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,qDAAqD,CAAC;yBAClD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC;gBACrC,UAAU,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAiCD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACc,CAAC;YACnD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoD,CAAC;gBAC9D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,iEAAiE,CAAC;yBAC9D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC;gBAClD,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC;gBAC9C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA0BD,GAAG,CAAC,gBACoC,EACpC,iBAAsE,EACtE,QAA+C;YAEjD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACW,CAAC;YAChD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiD,CAAC;gBAC3D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,iEAAiE,CAAC;yBAC9D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC;gBAClD,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC;gBAC9C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxD;iBAAM;gBACL,OAAO,oCAAgB,CAAiB,UAAU,CAAC,CAAC;aACrD;QACH,CAAC;QA6BD,UAAU,CACN,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACkB,CAAC;YACvD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwD,CAAC;gBAClE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4EAA4E,CAAC;yBACzE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC;gBAClD,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC;gBAC9C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA8BD,IAAI,CACA,gBACiD,EACjD,iBACiD,EACjD,QAA4D;YAE9D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACY,CAAC;YACjD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkD,CAAC;gBAC5D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,qDAAqD,CAAC;yBAClD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC;gBACrC,UAAU,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA8B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrE;iBAAM;gBACL,OAAO,oCAAgB,CAA8B,UAAU,CAAC,CAAC;aAClE;QACH,CAAC;QA6BD,SAAS,CACL,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACiB,CAAC;YACtD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAuD,CAAC;gBACjE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,2EAA2E,CAAC;yBACxE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC;gBAClD,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC;gBAC9C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA6BD,OAAO,CACH,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACe,CAAC;YACpD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqD,CAAC;gBAC/D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,yEAAyE,CAAC;yBACtE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC;gBAClD,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC;gBAC9C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA6BD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACc,CAAC;YACnD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoD,CAAC;gBAC9D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,wEAAwE,CAAC;yBACrE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC;gBAClD,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC;gBAC9C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA6BD,UAAU,CACN,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACkB,CAAC;YACvD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwD,CAAC;gBAClE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4EAA4E,CAAC;yBACzE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC;gBAClD,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC;gBAC9C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA6BD,cAAc,CACV,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACsB,CAAC;YAC3D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4D,CAAC;gBACtE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,gFAAgF,CAAC;yBAC7E,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC;gBAClD,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC;gBAC9C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA8BD,oBAAoB,CAChB,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAC4B,CAAC;YACjE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACuD,CAAC;gBACjE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,sFAAsF,CAAC;yBACnF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC;gBAClD,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC;gBAC9C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAgCD,aAAa,CACT,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACqB,CAAC;YAC1D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2D,CAAC;gBACrE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,+EAA+E,CAAC;yBAC5E,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC;gBAClD,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC;gBAC9C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA6BD,gBAAgB,CACZ,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACwB,CAAC;YAC7D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8D,CAAC;gBACxE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kFAAkF,CAAC;yBAC/E,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC;gBAClD,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC;gBAC9C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA6BD,eAAe,CACX,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACuB,CAAC;YAC5D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6D,CAAC;gBACvE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,iFAAiF,CAAC;yBAC9E,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC;gBAClD,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC;gBAC9C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA6BD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACc,CAAC;YACnD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoD,CAAC;gBAC9D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,iEAAiE,CAAC;yBAC9D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC;gBAClD,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC;gBAC9C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;KACF;IAruCY,kDAAgC,mCAquC5C,CAAA;IAqeD,MAAa,0CAA0C;QAErD,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA8BD,WAAW,CACP,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAC6B,CAAC;YAClE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACwD,CAAC;gBAClE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,oGAAoG,CAAC;yBACjG,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC;gBAChE,UAAU,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,CAAC;gBAC5D,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA6BD,MAAM,CACF,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACwB,CAAC;YAC7D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8D,CAAC;gBACxE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,2EAA2E,CAAC;yBACxE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC;gBAClD,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC;gBAC9C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA8BD,MAAM,CACF,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACwB,CAAC;YAC7D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8D,CAAC;gBACxE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,wFAAwF,CAAC;yBACrF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC;gBAChE,UAAU,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,CAAC;gBAC5D,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA2BD,GAAG,CAAC,gBAEqC,EACrC,iBAAuE,EACvE,QAAgD;YAElD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACqB,CAAC;YAC1D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2D,CAAC;gBACrE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,wFAAwF,CAAC;yBACrF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC;gBAChE,UAAU,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,CAAC;gBAC5D,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzD;iBAAM;gBACL,OAAO,oCAAgB,CAAkB,UAAU,CAAC,CAAC;aACtD;QACH,CAAC;QA8BD,IAAI,CACA,gBAEkD,EAClD,iBACkD,EAClD,QAA6D;YAE/D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACsB,CAAC;YAC3D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4D,CAAC;gBACtE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,2EAA2E,CAAC;yBACxE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC;gBAClD,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC;gBAC9C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA+B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtE;iBAAM;gBACL,OAAO,oCAAgB,CAA+B,UAAU,CAAC,CAAC;aACnE;QACH,CAAC;QA+BD,QAAQ,CACJ,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAC0B,CAAC;YAC/D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACqD,CAAC;gBAC/D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,iGAAiG,CAAC;yBAC9F,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC;gBAChE,UAAU,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,CAAC;gBAC5D,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA+BD,aAAa,CACT,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAC+B,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAC0D,CAAC;gBACpE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,sGAAsG,CAAC;yBACnG,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC;gBAChE,UAAU,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,CAAC;gBAC5D,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA8BD,OAAO,CACH,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACyB,CAAC;YAC9D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACoD,CAAC;gBAC9D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,gGAAgG,CAAC;yBAC7F,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC;gBAChE,UAAU,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,CAAC;gBAC5D,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA8BD,MAAM,CACF,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACwB,CAAC;YAC7D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8D,CAAC;gBACxE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,+FAA+F,CAAC;yBAC5F,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC;gBAChE,UAAU,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,CAAC;gBAC5D,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;KACF;IApqBY,4DAA0C,6CAoqBtD,CAAA;IA+SD,MAAa,kCAAkC;QAE7C,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA6BD,MAAM,CACF,gBACkC,EAClC,iBAAoE,EACpE,QAA6C;YAE/C,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACgB,CAAC;YACrD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsD,CAAC;gBAChE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4EAA4E,CAAC;yBACzE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,CAAC;gBACpD,UAAU,EAAE,CAAC,aAAa,EAAE,WAAW,EAAE,MAAM,CAAC;gBAChD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAe,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtD;iBAAM;gBACL,OAAO,oCAAgB,CAAe,UAAU,CAAC,CAAC;aACnD;QACH,CAAC;QA0BD,GAAG,CAAC,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACa,CAAC;YAClD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmD,CAAC;gBAC7D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,qEAAqE,CAAC;yBAClE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,CAAC;gBACpD,UAAU,EAAE,CAAC,aAAa,EAAE,WAAW,EAAE,MAAM,CAAC;gBAChD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA6BD,IAAI,CACA,gBACmD,EACnD,iBACmD,EACnD,QAA8D;YAEhE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACc,CAAC;YACnD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoD,CAAC;gBAC9D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,uDAAuD,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC;gBACrC,UAAU,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvE;iBAAM;gBACL,OAAO,oCAAgB,CAAgC,UAAU,CAAC,CAAC;aACpE;QACH,CAAC;KACF;IA5NY,oDAAkC,qCA4N9C,CAAA;AAsFH,CAAC,EAlpQgB,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAkpQjC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/content/README.md b/express-server/node_modules/googleapis/build/src/apis/content/README.md new file mode 100644 index 00000000..57641b6c --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/content/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/content + +> Manages product items, inventory, and Merchant Center accounts for Google Shopping. + +## Installation + +```sh +$ npm install @google/content +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/content/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/content/index.d.ts new file mode 100644 index 00000000..54833bd9 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/content/index.d.ts @@ -0,0 +1,10 @@ +import { content_v2 } from './v2'; +import { content_v2sandbox } from './v2sandbox'; +export declare const VERSIONS: { + 'v2': typeof content_v2.Content; + 'v2sandbox': typeof content_v2sandbox.Content; +}; +export declare function content(version: 'v2'): content_v2.Content; +export declare function content(options: content_v2.Options): content_v2.Content; +export declare function content(version: 'v2sandbox'): content_v2sandbox.Content; +export declare function content(options: content_v2sandbox.Options): content_v2sandbox.Content; diff --git a/express-server/node_modules/googleapis/build/src/apis/content/index.js b/express-server/node_modules/googleapis/build/src/apis/content/index.js new file mode 100644 index 00000000..98292232 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/content/index.js @@ -0,0 +1,27 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v2_1 = require("./v2"); +const v2sandbox_1 = require("./v2sandbox"); +exports.VERSIONS = { + 'v2': v2_1.content_v2.Content, + 'v2sandbox': v2sandbox_1.content_v2sandbox.Content, +}; +function content(versionOrOptions) { + return googleapis_common_1.getAPI('content', versionOrOptions, exports.VERSIONS, this); +} +exports.content = content; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/content/index.js.map b/express-server/node_modules/googleapis/build/src/apis/content/index.js.map new file mode 100644 index 00000000..62b8d6ea --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/content/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/content/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAgC;AAChC,2CAA8C;AAEjC,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,eAAU,CAAC,OAAO;IACxB,WAAW,EAAE,6BAAiB,CAAC,OAAO;CACvC,CAAC;AAOF,SAAgB,OAAO,CAEnB,gBACyB;IAC3B,OAAO,0BAAM,CAAI,SAAS,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAChE,CAAC;AALD,0BAKC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/content/package.json b/express-server/node_modules/googleapis/build/src/apis/content/package.json new file mode 100644 index 00000000..aa95ed30 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/content/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/content", + "version": "0.1.0", + "description": "content", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/content/v2.d.ts b/express-server/node_modules/googleapis/build/src/apis/content/v2.d.ts new file mode 100644 index 00000000..f13f16fc --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/content/v2.d.ts @@ -0,0 +1,9364 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace content_v2 { + interface Options extends GlobalOptions { + version: 'v2'; + } + /** + * Content API for Shopping + * + * Manages product items, inventory, and Merchant Center accounts for Google + * Shopping. + * + * @example + * const {google} = require('googleapis'); + * const content = google.content('v2'); + * + * @namespace content + * @type {Function} + * @version v2 + * @variation v2 + * @param {object=} options Options for Content + */ + class Content { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + accounts: Resource$Accounts; + accountstatuses: Resource$Accountstatuses; + accounttax: Resource$Accounttax; + datafeeds: Resource$Datafeeds; + datafeedstatuses: Resource$Datafeedstatuses; + inventory: Resource$Inventory; + liasettings: Resource$Liasettings; + orderinvoices: Resource$Orderinvoices; + orderpayments: Resource$Orderpayments; + orderreports: Resource$Orderreports; + orderreturns: Resource$Orderreturns; + orders: Resource$Orders; + pos: Resource$Pos; + products: Resource$Products; + productstatuses: Resource$Productstatuses; + shippingsettings: Resource$Shippingsettings; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Account data. + */ + interface Schema$Account { + /** + * Indicates whether the merchant sells adult content. + */ + adultContent?: boolean; + /** + * List of linked AdWords accounts that are active or pending approval. To + * create a new link request, add a new link with status active to the list. + * It will remain in a pending state until approved or rejected either in + * the AdWords interface or through the AdWords API. To delete an active + * link, or to cancel a link request, remove it from the list. + */ + adwordsLinks?: Schema$AccountAdwordsLink[]; + /** + * The business information of the account. + */ + businessInformation?: Schema$AccountBusinessInformation; + /** + * The GMB account which is linked or in the process of being linked with + * the Merchant Center account. + */ + googleMyBusinessLink?: Schema$AccountGoogleMyBusinessLink; + /** + * Merchant Center account ID. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#account". + */ + kind?: string; + /** + * Display name for the account. + */ + name?: string; + /** + * [DEPRECATED] This field is never returned and will be ignored if + * provided. + */ + reviewsUrl?: string; + /** + * Client-specific, locally-unique, internal ID for the child account. + */ + sellerId?: string; + /** + * Users with access to the account. Every account (except for subaccounts) + * must have at least one admin user. + */ + users?: Schema$AccountUser[]; + /** + * The merchant's website. + */ + websiteUrl?: string; + /** + * List of linked YouTube channels that are active or pending approval. To + * create a new link request, add a new link with status active to the list. + * It will remain in a pending state until approved or rejected in the YT + * Creator Studio interface. To delete an active link, or to cancel a link + * request, remove it from the list. + */ + youtubeChannelLinks?: Schema$AccountYouTubeChannelLink[]; + } + interface Schema$AccountAddress { + /** + * CLDR country code (e.g. "US"). + */ + country?: string; + /** + * City, town or commune. May also include dependent localities or + * sublocalities (e.g. neighborhoods or suburbs). + */ + locality?: string; + /** + * Postal code or ZIP (e.g. "94043"). + */ + postalCode?: string; + /** + * Top-level administrative subdivision of the country. For example, a state + * like California ("CA") or a province like Quebec + * ("QC"). + */ + region?: string; + /** + * Street-level part of the address. + */ + streetAddress?: string; + } + interface Schema$AccountAdwordsLink { + /** + * Customer ID of the AdWords account. + */ + adwordsId?: string; + /** + * Status of the link between this Merchant Center account and the AdWords + * account. Upon retrieval, it represents the actual status of the link and + * can be either active if it was approved in Google AdWords or pending if + * it's pending approval. Upon insertion, it represents the intended + * status of the link. Re-uploading a link with status active when it's + * still pending or with status pending when it's already active will + * have no effect: the status will remain unchanged. Re-uploading a link + * with deprecated status inactive is equivalent to not submitting the link + * at all and will delete the link if it was active or cancel the link + * request if it was pending. + */ + status?: string; + } + interface Schema$AccountBusinessInformation { + /** + * The address of the business. + */ + address?: Schema$AccountAddress; + /** + * The customer service information of the business. + */ + customerService?: Schema$AccountCustomerService; + /** + * The phone number of the business. + */ + phoneNumber?: string; + } + interface Schema$AccountCustomerService { + /** + * Customer service email. + */ + email?: string; + /** + * Customer service phone number. + */ + phoneNumber?: string; + /** + * Customer service URL. + */ + url?: string; + } + interface Schema$AccountGoogleMyBusinessLink { + /** + * The GMB email address of which a specific account within a GMB account. A + * sample account within a GMB account could be a business account with set + * of locations, managed under the GMB account. + */ + gmbEmail?: string; + /** + * Status of the link between this Merchant Center account and the GMB + * account. + */ + status?: string; + } + interface Schema$AccountIdentifier { + /** + * The aggregator ID, set for aggregators and subaccounts (in that case, it + * represents the aggregator of the subaccount). + */ + aggregatorId?: string; + /** + * The merchant account ID, set for individual accounts and subaccounts. + */ + merchantId?: string; + } + interface Schema$AccountsAuthInfoResponse { + /** + * The account identifiers corresponding to the authenticated user. - For an + * individual account: only the merchant ID is defined - For an aggregator: + * only the aggregator ID is defined - For a subaccount of an MCA: both the + * merchant ID and the aggregator ID are defined. + */ + accountIdentifiers?: Schema$AccountIdentifier[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#accountsAuthInfoResponse". + */ + kind?: string; + } + interface Schema$AccountsClaimWebsiteResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#accountsClaimWebsiteResponse". + */ + kind?: string; + } + interface Schema$AccountsCustomBatchRequest { + /** + * The request entries to be processed in the batch. + */ + entries?: Schema$AccountsCustomBatchRequestEntry[]; + } + /** + * A batch entry encoding a single non-batch accounts request. + */ + interface Schema$AccountsCustomBatchRequestEntry { + /** + * The account to create or update. Only defined if the method is insert or + * update. + */ + account?: Schema$Account; + /** + * The ID of the targeted account. Only defined if the method is not insert. + */ + accountId?: string; + /** + * An entry ID, unique within the batch request. + */ + batchId?: number; + /** + * Whether the account should be deleted if the account has offers. Only + * applicable if the method is delete. + */ + force?: boolean; + /** + * Details about the link request. + */ + linkRequest?: Schema$AccountsCustomBatchRequestEntryLinkRequest; + /** + * The ID of the managing account. + */ + merchantId?: string; + /** + * The method of the batch entry. + */ + method?: string; + /** + * Only applicable if the method is claimwebsite. Indicates whether or not + * to take the claim from another account in case there is a conflict. + */ + overwrite?: boolean; + } + interface Schema$AccountsCustomBatchRequestEntryLinkRequest { + /** + * Action to perform for this link. The "request" action is only + * available to select merchants. + */ + action?: string; + /** + * The ID of the linked account. + */ + linkedAccountId?: string; + /** + * Type of the link between the two accounts. + */ + linkType?: string; + } + interface Schema$AccountsCustomBatchResponse { + /** + * The result of the execution of the batch requests. + */ + entries?: Schema$AccountsCustomBatchResponseEntry[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#accountsCustomBatchResponse". + */ + kind?: string; + } + /** + * A batch entry encoding a single non-batch accounts response. + */ + interface Schema$AccountsCustomBatchResponseEntry { + /** + * The retrieved, created, or updated account. Not defined if the method was + * delete, claimwebsite or link. + */ + account?: Schema$Account; + /** + * The ID of the request entry this entry responds to. + */ + batchId?: number; + /** + * A list of errors defined if and only if the request failed. + */ + errors?: Schema$Errors; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#accountsCustomBatchResponseEntry". + */ + kind?: string; + /** + * Deprecated. This field is never set. + */ + linkStatus?: string; + } + interface Schema$AccountsLinkRequest { + /** + * Action to perform for this link. The "request" action is only + * available to select merchants. + */ + action?: string; + /** + * The ID of the linked account. + */ + linkedAccountId?: string; + /** + * Type of the link between the two accounts. + */ + linkType?: string; + } + interface Schema$AccountsLinkResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#accountsLinkResponse". + */ + kind?: string; + } + interface Schema$AccountsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#accountsListResponse". + */ + kind?: string; + /** + * The token for the retrieval of the next page of accounts. + */ + nextPageToken?: string; + resources?: Schema$Account[]; + } + /** + * The status of an account, i.e., information about its products, which is + * computed offline and not returned immediately at insertion time. + */ + interface Schema$AccountStatus { + /** + * The ID of the account for which the status is reported. + */ + accountId?: string; + /** + * A list of account level issues. + */ + accountLevelIssues?: Schema$AccountStatusAccountLevelIssue[]; + /** + * A list of data quality issues. + */ + dataQualityIssues?: Schema$AccountStatusDataQualityIssue[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#accountStatus". + */ + kind?: string; + /** + * List of product-related data by channel, destination, and country. Data + * in this field may be delayed by up to 30 minutes. + */ + products?: Schema$AccountStatusProducts[]; + /** + * Whether the account's website is claimed or not. + */ + websiteClaimed?: boolean; + } + interface Schema$AccountStatusAccountLevelIssue { + /** + * Country for which this issue is reported. + */ + country?: string; + /** + * The destination the issue applies to. + */ + destination?: string; + /** + * Additional details about the issue. + */ + detail?: string; + /** + * Issue identifier. + */ + id?: string; + /** + * Severity of the issue. + */ + severity?: string; + /** + * Short description of the issue. + */ + title?: string; + } + interface Schema$AccountStatusDataQualityIssue { + /** + * Country for which this issue is reported. + */ + country?: string; + /** + * The destination the issue applies to. + */ + destination?: string; + /** + * A more detailed description of the issue. + */ + detail?: string; + /** + * Actual value displayed on the landing page. + */ + displayedValue?: string; + /** + * Example items featuring the issue. + */ + exampleItems?: Schema$AccountStatusExampleItem[]; + /** + * Issue identifier. + */ + id?: string; + /** + * Last time the account was checked for this issue. + */ + lastChecked?: string; + /** + * The attribute name that is relevant for the issue. + */ + location?: string; + /** + * Number of items in the account found to have the said issue. + */ + numItems?: number; + /** + * Severity of the problem. + */ + severity?: string; + /** + * Submitted value that causes the issue. + */ + submittedValue?: string; + } + interface Schema$AccountstatusesCustomBatchRequest { + /** + * The request entries to be processed in the batch. + */ + entries?: Schema$AccountstatusesCustomBatchRequestEntry[]; + } + /** + * A batch entry encoding a single non-batch accountstatuses request. + */ + interface Schema$AccountstatusesCustomBatchRequestEntry { + /** + * The ID of the (sub-)account whose status to get. + */ + accountId?: string; + /** + * An entry ID, unique within the batch request. + */ + batchId?: number; + /** + * If set, only issues for the specified destinations are returned, + * otherwise only issues for the Shopping destination. + */ + destinations?: string[]; + /** + * The ID of the managing account. + */ + merchantId?: string; + /** + * The method (get). + */ + method?: string; + } + interface Schema$AccountstatusesCustomBatchResponse { + /** + * The result of the execution of the batch requests. + */ + entries?: Schema$AccountstatusesCustomBatchResponseEntry[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#accountstatusesCustomBatchResponse". + */ + kind?: string; + } + /** + * A batch entry encoding a single non-batch accountstatuses response. + */ + interface Schema$AccountstatusesCustomBatchResponseEntry { + /** + * The requested account status. Defined if and only if the request was + * successful. + */ + accountStatus?: Schema$AccountStatus; + /** + * The ID of the request entry this entry responds to. + */ + batchId?: number; + /** + * A list of errors defined if and only if the request failed. + */ + errors?: Schema$Errors; + } + interface Schema$AccountstatusesListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#accountstatusesListResponse". + */ + kind?: string; + /** + * The token for the retrieval of the next page of account statuses. + */ + nextPageToken?: string; + resources?: Schema$AccountStatus[]; + } + /** + * An example of an item that has poor data quality. An item value on the + * landing page differs from what is submitted, or conflicts with a policy. + */ + interface Schema$AccountStatusExampleItem { + /** + * Unique item ID as specified in the uploaded product data. + */ + itemId?: string; + /** + * Landing page of the item. + */ + link?: string; + /** + * The item value that was submitted. + */ + submittedValue?: string; + /** + * Title of the item. + */ + title?: string; + /** + * The actual value on the landing page. + */ + valueOnLandingPage?: string; + } + interface Schema$AccountStatusItemLevelIssue { + /** + * The attribute's name, if the issue is caused by a single attribute. + */ + attributeName?: string; + /** + * The error code of the issue. + */ + code?: string; + /** + * A short issue description in English. + */ + description?: string; + /** + * A detailed issue description in English. + */ + detail?: string; + /** + * The URL of a web page to help with resolving this issue. + */ + documentation?: string; + /** + * Number of items with this issue. + */ + numItems?: string; + /** + * Whether the issue can be resolved by the merchant. + */ + resolution?: string; + /** + * How this issue affects serving of the offer. + */ + servability?: string; + } + interface Schema$AccountStatusProducts { + /** + * The channel the data applies to. + */ + channel?: string; + /** + * The country the data applies to. + */ + country?: string; + /** + * The destination the data applies to. + */ + destination?: string; + /** + * List of item-level issues. + */ + itemLevelIssues?: Schema$AccountStatusItemLevelIssue[]; + /** + * Aggregated product statistics. + */ + statistics?: Schema$AccountStatusStatistics; + } + interface Schema$AccountStatusStatistics { + /** + * Number of active offers. + */ + active?: string; + /** + * Number of disapproved offers. + */ + disapproved?: string; + /** + * Number of expiring offers. + */ + expiring?: string; + /** + * Number of pending offers. + */ + pending?: string; + } + /** + * The tax settings of a merchant account. + */ + interface Schema$AccountTax { + /** + * The ID of the account to which these account tax settings belong. + */ + accountId?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#accountTax". + */ + kind?: string; + /** + * Tax rules. Updating the tax rules will enable US taxes (not reversible). + * Defining no rules is equivalent to not charging tax at all. + */ + rules?: Schema$AccountTaxTaxRule[]; + } + interface Schema$AccounttaxCustomBatchRequest { + /** + * The request entries to be processed in the batch. + */ + entries?: Schema$AccounttaxCustomBatchRequestEntry[]; + } + /** + * A batch entry encoding a single non-batch accounttax request. + */ + interface Schema$AccounttaxCustomBatchRequestEntry { + /** + * The ID of the account for which to get/update account tax settings. + */ + accountId?: string; + /** + * The account tax settings to update. Only defined if the method is update. + */ + accountTax?: Schema$AccountTax; + /** + * An entry ID, unique within the batch request. + */ + batchId?: number; + /** + * The ID of the managing account. + */ + merchantId?: string; + method?: string; + } + interface Schema$AccounttaxCustomBatchResponse { + /** + * The result of the execution of the batch requests. + */ + entries?: Schema$AccounttaxCustomBatchResponseEntry[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#accounttaxCustomBatchResponse". + */ + kind?: string; + } + /** + * A batch entry encoding a single non-batch accounttax response. + */ + interface Schema$AccounttaxCustomBatchResponseEntry { + /** + * The retrieved or updated account tax settings. + */ + accountTax?: Schema$AccountTax; + /** + * The ID of the request entry this entry responds to. + */ + batchId?: number; + /** + * A list of errors defined if and only if the request failed. + */ + errors?: Schema$Errors; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#accounttaxCustomBatchResponseEntry". + */ + kind?: string; + } + interface Schema$AccounttaxListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#accounttaxListResponse". + */ + kind?: string; + /** + * The token for the retrieval of the next page of account tax settings. + */ + nextPageToken?: string; + resources?: Schema$AccountTax[]; + } + /** + * Tax calculation rule to apply in a state or province (USA only). + */ + interface Schema$AccountTaxTaxRule { + /** + * Country code in which tax is applicable. + */ + country?: string; + /** + * State (or province) is which the tax is applicable, described by its + * location id (also called criteria id). + */ + locationId?: string; + /** + * Explicit tax rate in percent, represented as a floating point number + * without the percentage character. Must not be negative. + */ + ratePercent?: string; + /** + * If true, shipping charges are also taxed. + */ + shippingTaxed?: boolean; + /** + * Whether the tax rate is taken from a global tax table or specified + * explicitly. + */ + useGlobalRate?: boolean; + } + interface Schema$AccountUser { + /** + * Whether user is an admin. + */ + admin?: boolean; + /** + * User's email address. + */ + emailAddress?: string; + } + interface Schema$AccountYouTubeChannelLink { + /** + * Channel ID. + */ + channelId?: string; + /** + * Status of the link between this Merchant Center account and the YouTube + * channel. Upon retrieval, it represents the actual status of the link and + * can be either active if it was approved in YT Creator Studio or pending + * if it's pending approval. Upon insertion, it represents the intended + * status of the link. Re-uploading a link with status active when it's + * still pending or with status pending when it's already active will + * have no effect: the status will remain unchanged. Re-uploading a link + * with deprecated status inactive is equivalent to not submitting the link + * at all and will delete the link if it was active or cancel the link + * request if it was pending. + */ + status?: string; + } + interface Schema$Amount { + /** + * [required] Value before taxes. + */ + pretax?: Schema$Price; + /** + * [required] Tax value. + */ + tax?: Schema$Price; + } + interface Schema$CarrierRate { + /** + * Carrier service, such as "UPS" or "Fedex". The list + * of supported carriers can be retrieved via the getSupportedCarriers + * method. Required. + */ + carrierName?: string; + /** + * Carrier service, such as "ground" or "2 days". The + * list of supported services for a carrier can be retrieved via the + * getSupportedCarriers method. Required. + */ + carrierService?: string; + /** + * Additive shipping rate modifier. Can be negative. For example { + * "value": "1", "currency" : "USD" + * } adds $1 to the rate, { "value": "-3", + * "currency" : "USD" } removes $3 from the rate. + * Optional. + */ + flatAdjustment?: Schema$Price; + /** + * Name of the carrier rate. Must be unique per rate group. Required. + */ + name?: string; + /** + * Shipping origin for this carrier rate. Required. + */ + originPostalCode?: string; + /** + * Multiplicative shipping rate modifier as a number in decimal notation. + * Can be negative. For example "5.4" increases the rate by 5.4%, + * "-3" decreases the rate by 3%. Optional. + */ + percentageAdjustment?: string; + } + interface Schema$CarriersCarrier { + /** + * The CLDR country code of the carrier (e.g., "US"). Always + * present. + */ + country?: string; + /** + * The name of the carrier (e.g., "UPS"). Always present. + */ + name?: string; + /** + * A list of supported services (e.g., "ground") for that carrier. + * Contains at least one service. + */ + services?: string[]; + } + interface Schema$CustomerReturnReason { + description?: string; + reasonCode?: string; + } + interface Schema$CutoffTime { + /** + * Hour of the cutoff time until which an order has to be placed to be + * processed in the same day. Required. + */ + hour?: number; + /** + * Minute of the cutoff time until which an order has to be placed to be + * processed in the same day. Required. + */ + minute?: number; + /** + * Timezone identifier for the cutoff time. A list of identifiers can be + * found in the AdWords API documentation. E.g. "Europe/Zurich". + * Required. + */ + timezone?: string; + } + /** + * Datafeed configuration data. + */ + interface Schema$Datafeed { + /** + * The two-letter ISO 639-1 language in which the attributes are defined in + * the data feed. + */ + attributeLanguage?: string; + /** + * [DEPRECATED] Please use targets[].language instead. The two-letter ISO + * 639-1 language of the items in the feed. Must be a valid language for + * targetCountry. + */ + contentLanguage?: string; + /** + * The type of data feed. For product inventory feeds, only feeds for local + * stores, not online stores, are supported. + */ + contentType?: string; + /** + * Fetch schedule for the feed file. + */ + fetchSchedule?: Schema$DatafeedFetchSchedule; + /** + * The filename of the feed. All feeds must have a unique file name. + */ + fileName?: string; + /** + * Format of the feed file. + */ + format?: Schema$DatafeedFormat; + /** + * The ID of the data feed. + */ + id?: string; + /** + * [DEPRECATED] Please use targets[].includedDestinations instead. The list + * of intended destinations (corresponds to checked check boxes in Merchant + * Center). + */ + intendedDestinations?: string[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#datafeed". + */ + kind?: string; + /** + * A descriptive name of the data feed. + */ + name?: string; + /** + * [DEPRECATED] Please use targets[].country instead. The country where the + * items in the feed will be included in the search index, represented as a + * CLDR territory code. + */ + targetCountry?: string; + /** + * The targets this feed should apply to (country, language, destinations). + */ + targets?: Schema$DatafeedTarget[]; + } + /** + * The required fields vary based on the frequency of fetching. For a monthly + * fetch schedule, day_of_month and hour are required. For a weekly fetch + * schedule, weekday and hour are required. For a daily fetch schedule, only + * hour is required. + */ + interface Schema$DatafeedFetchSchedule { + /** + * The day of the month the feed file should be fetched (1-31). + */ + dayOfMonth?: number; + /** + * The URL where the feed file can be fetched. Google Merchant Center will + * support automatic scheduled uploads using the HTTP, HTTPS, FTP, or SFTP + * protocols, so the value will need to be a valid link using one of those + * four protocols. + */ + fetchUrl?: string; + /** + * The hour of the day the feed file should be fetched (0-23). + */ + hour?: number; + /** + * The minute of the hour the feed file should be fetched (0-59). Read-only. + */ + minuteOfHour?: number; + /** + * An optional password for fetch_url. + */ + password?: string; + /** + * Whether the scheduled fetch is paused or not. + */ + paused?: boolean; + /** + * Time zone used for schedule. UTC by default. E.g., + * "America/Los_Angeles". + */ + timeZone?: string; + /** + * An optional user name for fetch_url. + */ + username?: string; + /** + * The day of the week the feed file should be fetched. + */ + weekday?: string; + } + interface Schema$DatafeedFormat { + /** + * Delimiter for the separation of values in a delimiter-separated values + * feed. If not specified, the delimiter will be auto-detected. Ignored for + * non-DSV data feeds. + */ + columnDelimiter?: string; + /** + * Character encoding scheme of the data feed. If not specified, the + * encoding will be auto-detected. + */ + fileEncoding?: string; + /** + * Specifies how double quotes are interpreted. If not specified, the mode + * will be auto-detected. Ignored for non-DSV data feeds. + */ + quotingMode?: string; + } + interface Schema$DatafeedsCustomBatchRequest { + /** + * The request entries to be processed in the batch. + */ + entries?: Schema$DatafeedsCustomBatchRequestEntry[]; + } + /** + * A batch entry encoding a single non-batch datafeeds request. + */ + interface Schema$DatafeedsCustomBatchRequestEntry { + /** + * An entry ID, unique within the batch request. + */ + batchId?: number; + /** + * The data feed to insert. + */ + datafeed?: Schema$Datafeed; + /** + * The ID of the data feed to get, delete or fetch. + */ + datafeedId?: string; + /** + * The ID of the managing account. + */ + merchantId?: string; + method?: string; + } + interface Schema$DatafeedsCustomBatchResponse { + /** + * The result of the execution of the batch requests. + */ + entries?: Schema$DatafeedsCustomBatchResponseEntry[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#datafeedsCustomBatchResponse". + */ + kind?: string; + } + /** + * A batch entry encoding a single non-batch datafeeds response. + */ + interface Schema$DatafeedsCustomBatchResponseEntry { + /** + * The ID of the request entry this entry responds to. + */ + batchId?: number; + /** + * The requested data feed. Defined if and only if the request was + * successful. + */ + datafeed?: Schema$Datafeed; + /** + * A list of errors defined if and only if the request failed. + */ + errors?: Schema$Errors; + } + interface Schema$DatafeedsFetchNowResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#datafeedsFetchNowResponse". + */ + kind?: string; + } + interface Schema$DatafeedsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#datafeedsListResponse". + */ + kind?: string; + /** + * The token for the retrieval of the next page of datafeeds. + */ + nextPageToken?: string; + resources?: Schema$Datafeed[]; + } + /** + * The status of a datafeed, i.e., the result of the last retrieval of the + * datafeed computed asynchronously when the feed processing is finished. + */ + interface Schema$DatafeedStatus { + /** + * The country for which the status is reported, represented as a CLDR + * territory code. + */ + country?: string; + /** + * The ID of the feed for which the status is reported. + */ + datafeedId?: string; + /** + * The list of errors occurring in the feed. + */ + errors?: Schema$DatafeedStatusError[]; + /** + * The number of items in the feed that were processed. + */ + itemsTotal?: string; + /** + * The number of items in the feed that were valid. + */ + itemsValid?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#datafeedStatus". + */ + kind?: string; + /** + * The two-letter ISO 639-1 language for which the status is reported. + */ + language?: string; + /** + * The last date at which the feed was uploaded. + */ + lastUploadDate?: string; + /** + * The processing status of the feed. + */ + processingStatus?: string; + /** + * The list of errors occurring in the feed. + */ + warnings?: Schema$DatafeedStatusError[]; + } + /** + * An error occurring in the feed, like "invalid price". + */ + interface Schema$DatafeedStatusError { + /** + * The code of the error, e.g., "validation/invalid_value". + */ + code?: string; + /** + * The number of occurrences of the error in the feed. + */ + count?: string; + /** + * A list of example occurrences of the error, grouped by product. + */ + examples?: Schema$DatafeedStatusExample[]; + /** + * The error message, e.g., "Invalid price". + */ + message?: string; + } + interface Schema$DatafeedstatusesCustomBatchRequest { + /** + * The request entries to be processed in the batch. + */ + entries?: Schema$DatafeedstatusesCustomBatchRequestEntry[]; + } + /** + * A batch entry encoding a single non-batch datafeedstatuses request. + */ + interface Schema$DatafeedstatusesCustomBatchRequestEntry { + /** + * An entry ID, unique within the batch request. + */ + batchId?: number; + /** + * The country for which to get the datafeed status. If this parameter is + * provided then language must also be provided. Note that for multi-target + * datafeeds this parameter is required. + */ + country?: string; + /** + * The ID of the data feed to get. + */ + datafeedId?: string; + /** + * The language for which to get the datafeed status. If this parameter is + * provided then country must also be provided. Note that for multi-target + * datafeeds this parameter is required. + */ + language?: string; + /** + * The ID of the managing account. + */ + merchantId?: string; + method?: string; + } + interface Schema$DatafeedstatusesCustomBatchResponse { + /** + * The result of the execution of the batch requests. + */ + entries?: Schema$DatafeedstatusesCustomBatchResponseEntry[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#datafeedstatusesCustomBatchResponse". + */ + kind?: string; + } + /** + * A batch entry encoding a single non-batch datafeedstatuses response. + */ + interface Schema$DatafeedstatusesCustomBatchResponseEntry { + /** + * The ID of the request entry this entry responds to. + */ + batchId?: number; + /** + * The requested data feed status. Defined if and only if the request was + * successful. + */ + datafeedStatus?: Schema$DatafeedStatus; + /** + * A list of errors defined if and only if the request failed. + */ + errors?: Schema$Errors; + } + interface Schema$DatafeedstatusesListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#datafeedstatusesListResponse". + */ + kind?: string; + /** + * The token for the retrieval of the next page of datafeed statuses. + */ + nextPageToken?: string; + resources?: Schema$DatafeedStatus[]; + } + /** + * An example occurrence for a particular error. + */ + interface Schema$DatafeedStatusExample { + /** + * The ID of the example item. + */ + itemId?: string; + /** + * Line number in the data feed where the example is found. + */ + lineNumber?: string; + /** + * The problematic value. + */ + value?: string; + } + interface Schema$DatafeedTarget { + /** + * The country where the items in the feed will be included in the search + * index, represented as a CLDR territory code. + */ + country?: string; + /** + * The list of destinations to exclude for this target (corresponds to + * unchecked check boxes in Merchant Center). + */ + excludedDestinations?: string[]; + /** + * The list of destinations to include for this target (corresponds to + * checked check boxes in Merchant Center). Default destinations are always + * included unless provided in the excluded_destination field. + */ + includedDestinations?: string[]; + /** + * The two-letter ISO 639-1 language of the items in the feed. Must be a + * valid language for targets[].country. + */ + language?: string; + } + interface Schema$DeliveryTime { + /** + * Business days cutoff time definition. If not configured the cutoff time + * will be defaulted to 8AM PST. + */ + cutoffTime?: Schema$CutoffTime; + /** + * Holiday cutoff definitions. If configured, they specify order cutoff + * times for holiday-specific shipping. + */ + holidayCutoffs?: Schema$HolidayCutoff[]; + /** + * Maximum number of business days spent before an order is shipped. 0 means + * same day shipped, 1 means next day shipped. Must be greater than or equal + * to minHandlingTimeInDays. + */ + maxHandlingTimeInDays?: number; + /** + * Maximum number of business days that is spent in transit. 0 means same + * day delivery, 1 means next day delivery. Must be greater than or equal to + * minTransitTimeInDays. Required. + */ + maxTransitTimeInDays?: number; + /** + * Minimum number of business days spent before an order is shipped. 0 means + * same day shipped, 1 means next day shipped. + */ + minHandlingTimeInDays?: number; + /** + * Minimum number of business days that is spent in transit. 0 means same + * day delivery, 1 means next day delivery. Required. + */ + minTransitTimeInDays?: number; + } + /** + * An error returned by the API. + */ + interface Schema$Error { + /** + * The domain of the error. + */ + domain?: string; + /** + * A description of the error. + */ + message?: string; + /** + * The error code. + */ + reason?: string; + } + /** + * A list of errors returned by a failed batch entry. + */ + interface Schema$Errors { + /** + * The HTTP status of the first error in errors. + */ + code?: number; + /** + * A list of errors. + */ + errors?: Schema$Error[]; + /** + * The message of the first error in errors. + */ + message?: string; + } + interface Schema$GmbAccounts { + /** + * The ID of the account. + */ + accountId?: string; + /** + * A list of GMB accounts which are available to the merchant. + */ + gmbAccounts?: Schema$GmbAccountsGmbAccount[]; + } + interface Schema$GmbAccountsGmbAccount { + /** + * The email which identifies the GMB account. + */ + email?: string; + /** + * Number of listings under this account. + */ + listingCount?: string; + /** + * The name of the GMB account. + */ + name?: string; + /** + * The type of the GMB account (User or Business). + */ + type?: string; + } + /** + * A non-empty list of row or column headers for a table. Exactly one of + * prices, weights, numItems, postalCodeGroupNames, or locations must be set. + */ + interface Schema$Headers { + /** + * A list of location ID sets. Must be non-empty. Can only be set if all + * other fields are not set. + */ + locations?: Schema$LocationIdSet[]; + /** + * A list of inclusive number of items upper bounds. The last value can be + * "infinity". For example ["10", "50", + * "infinity"] represents the headers "<= 10 items", + * " 50 items". Must be non-empty. Can only be set if all other + * fields are not set. + */ + numberOfItems?: string[]; + /** + * A list of postal group names. The last value can be "all other + * locations". Example: ["zone 1", "zone 2", + * "all other locations"]. The referred postal code groups must + * match the delivery country of the service. Must be non-empty. Can only be + * set if all other fields are not set. + */ + postalCodeGroupNames?: string[]; + /** + * A list of inclusive order price upper bounds. The last price's value + * can be "infinity". For example [{"value": + * "10", "currency": "USD"}, + * {"value": "500", "currency": + * "USD"}, {"value": "infinity", + * "currency": "USD"}] represents the headers + * "<= $10", " $500". All prices within a service + * must have the same currency. Must be non-empty. Can only be set if all + * other fields are not set. + */ + prices?: Schema$Price[]; + /** + * A list of inclusive order weight upper bounds. The last weight's + * value can be "infinity". For example [{"value": + * "10", "unit": "kg"}, {"value": + * "50", "unit": "kg"}, {"value": + * "infinity", "unit": "kg"}] represents the + * headers "<= 10kg", " 50kg". All weights within a + * service must have the same unit. Must be non-empty. Can only be set if + * all other fields are not set. + */ + weights?: Schema$Weight[]; + } + interface Schema$HolidayCutoff { + /** + * Date of the order deadline, in ISO 8601 format. E.g. + * "2016-11-29" for 29th November 2016. Required. + */ + deadlineDate?: string; + /** + * Hour of the day on the deadline date until which the order has to be + * placed to qualify for the delivery guarantee. Possible values are: 0 + * (midnight), 1, ..., 12 (noon), 13, ..., 23. Required. + */ + deadlineHour?: number; + /** + * Timezone identifier for the deadline hour. A list of identifiers can be + * found in the AdWords API documentation. E.g. "Europe/Zurich". + * Required. + */ + deadlineTimezone?: string; + /** + * Unique identifier for the holiday. Required. + */ + holidayId?: string; + /** + * Date on which the deadline will become visible to consumers in ISO 8601 + * format. E.g. "2016-10-31" for 31st October 2016. Required. + */ + visibleFromDate?: string; + } + interface Schema$HolidaysHoliday { + /** + * The CLDR territory code of the country in which the holiday is available. + * E.g. "US", "DE", "GB". A holiday cutoff can + * only be configured in a shipping settings service with matching delivery + * country. Always present. + */ + countryCode?: string; + /** + * Date of the holiday, in ISO 8601 format. E.g. "2016-12-25" for + * Christmas 2016. Always present. + */ + date?: string; + /** + * Date on which the order has to arrive at the customer's, in ISO 8601 + * format. E.g. "2016-12-24" for 24th December 2016. Always + * present. + */ + deliveryGuaranteeDate?: string; + /** + * Hour of the day in the delivery location's timezone on the guaranteed + * delivery date by which the order has to arrive at the customer's. + * Possible values are: 0 (midnight), 1, ..., 12 (noon), 13, ..., 23. Always + * present. + */ + deliveryGuaranteeHour?: string; + /** + * Unique identifier for the holiday to be used when configuring holiday + * cutoffs. Always present. + */ + id?: string; + /** + * The holiday type. Always present. + */ + type?: string; + } + interface Schema$Installment { + /** + * The amount the buyer has to pay per month. + */ + amount?: Schema$Price; + /** + * The number of installments the buyer has to pay. + */ + months?: string; + } + interface Schema$Inventory { + /** + * The availability of the product. + */ + availability?: string; + /** + * Number and amount of installments to pay for an item. Brazil only. + */ + installment?: Schema$Installment; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#inventory". + */ + kind?: string; + /** + * Loyalty points that users receive after purchasing the item. Japan only. + */ + loyaltyPoints?: Schema$LoyaltyPoints; + /** + * Store pickup information. Only supported for local inventory. Not setting + * pickup means "don't update" while setting it to the empty + * value ({} in JSON) means "delete". Otherwise, pickupMethod and + * pickupSla must be set together, unless pickupMethod is "not + * supported". + */ + pickup?: Schema$InventoryPickup; + /** + * The price of the product. + */ + price?: Schema$Price; + /** + * The quantity of the product. Must be equal to or greater than zero. + * Supported only for local products. + */ + quantity?: number; + /** + * The sale price of the product. Mandatory if sale_price_effective_date is + * defined. + */ + salePrice?: Schema$Price; + /** + * A date range represented by a pair of ISO 8601 dates separated by a + * space, comma, or slash. Both dates might be specified as 'null' + * if undecided. + */ + salePriceEffectiveDate?: string; + /** + * The quantity of the product that is available for selling on Google. + * Supported only for online products. + */ + sellOnGoogleQuantity?: number; + } + interface Schema$InventoryCustomBatchRequest { + /** + * The request entries to be processed in the batch. + */ + entries?: Schema$InventoryCustomBatchRequestEntry[]; + } + /** + * A batch entry encoding a single non-batch inventory request. + */ + interface Schema$InventoryCustomBatchRequestEntry { + /** + * An entry ID, unique within the batch request. + */ + batchId?: number; + /** + * Price and availability of the product. + */ + inventory?: Schema$Inventory; + /** + * The ID of the managing account. + */ + merchantId?: string; + /** + * The ID of the product for which to update price and availability. + */ + productId?: string; + /** + * The code of the store for which to update price and availability. Use + * online to update price and availability of an online product. + */ + storeCode?: string; + } + interface Schema$InventoryCustomBatchResponse { + /** + * The result of the execution of the batch requests. + */ + entries?: Schema$InventoryCustomBatchResponseEntry[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#inventoryCustomBatchResponse". + */ + kind?: string; + } + /** + * A batch entry encoding a single non-batch inventory response. + */ + interface Schema$InventoryCustomBatchResponseEntry { + /** + * The ID of the request entry this entry responds to. + */ + batchId?: number; + /** + * A list of errors defined if and only if the request failed. + */ + errors?: Schema$Errors; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#inventoryCustomBatchResponseEntry". + */ + kind?: string; + } + interface Schema$InventoryPickup { + /** + * Whether store pickup is available for this offer and whether the pickup + * option should be shown as buy, reserve, or not supported. Only supported + * for local inventory. Unless the value is "not supported", must + * be submitted together with pickupSla. + */ + pickupMethod?: string; + /** + * The expected date that an order will be ready for pickup, relative to + * when the order is placed. Only supported for local inventory. Must be + * submitted together with pickupMethod. + */ + pickupSla?: string; + } + interface Schema$InventorySetRequest { + /** + * The availability of the product. + */ + availability?: string; + /** + * Number and amount of installments to pay for an item. Brazil only. + */ + installment?: Schema$Installment; + /** + * Loyalty points that users receive after purchasing the item. Japan only. + */ + loyaltyPoints?: Schema$LoyaltyPoints; + /** + * Store pickup information. Only supported for local inventory. Not setting + * pickup means "don't update" while setting it to the empty + * value ({} in JSON) means "delete". Otherwise, pickupMethod and + * pickupSla must be set together, unless pickupMethod is "not + * supported". + */ + pickup?: Schema$InventoryPickup; + /** + * The price of the product. + */ + price?: Schema$Price; + /** + * The quantity of the product. Must be equal to or greater than zero. + * Supported only for local products. + */ + quantity?: number; + /** + * The sale price of the product. Mandatory if sale_price_effective_date is + * defined. + */ + salePrice?: Schema$Price; + /** + * A date range represented by a pair of ISO 8601 dates separated by a + * space, comma, or slash. Both dates might be specified as 'null' + * if undecided. + */ + salePriceEffectiveDate?: string; + /** + * The quantity of the product that is available for selling on Google. + * Supported only for online products. + */ + sellOnGoogleQuantity?: number; + } + interface Schema$InventorySetResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#inventorySetResponse". + */ + kind?: string; + } + interface Schema$InvoiceSummary { + /** + * Summary of the total amounts of the additional charges. + */ + additionalChargeSummaries?: Schema$InvoiceSummaryAdditionalChargeSummary[]; + /** + * [required] Customer balance on this invoice. A negative amount means the + * customer is paying, a positive one means the customer is receiving money. + * Note: the sum of merchant_balance, customer_balance and google_balance + * must always be zero. Furthermore the absolute value of this amount is + * expected to be equal to the sum of product amount and additional charges, + * minus promotions. + */ + customerBalance?: Schema$Amount; + /** + * [required] Google balance on this invoice. A negative amount means Google + * is paying, a positive one means Google is receiving money. Note: the sum + * of merchant_balance, customer_balance and google_balance must always be + * zero. + */ + googleBalance?: Schema$Amount; + /** + * [required] Merchant balance on this invoice. A negative amount means the + * merchant is paying, a positive one means the merchant is receiving money. + * Note: the sum of merchant_balance, customer_balance and google_balance + * must always be zero. + */ + merchantBalance?: Schema$Amount; + /** + * [required] Total price for the product. + */ + productTotal?: Schema$Amount; + /** + * Summary for each promotion. + */ + promotionSummaries?: Schema$Promotion[]; + } + interface Schema$InvoiceSummaryAdditionalChargeSummary { + /** + * [required] Total additional charge for this type. + */ + totalAmount?: Schema$Amount; + /** + * [required] Type of the additional charge. + */ + type?: string; + } + interface Schema$LiaAboutPageSettings { + /** + * The status of the verification process for the About page. + */ + status?: string; + /** + * The URL for the About page. + */ + url?: string; + } + interface Schema$LiaCountrySettings { + /** + * The settings for the About page. + */ + about?: Schema$LiaAboutPageSettings; + /** + * CLDR country code (e.g. "US"). + */ + country?: string; + /** + * The status of the "Merchant hosted local storefront" feature. + */ + hostedLocalStorefrontActive?: boolean; + /** + * LIA inventory verification settings. + */ + inventory?: Schema$LiaInventorySettings; + /** + * LIA "On Display To Order" settings. + */ + onDisplayToOrder?: Schema$LiaOnDisplayToOrderSettings; + /** + * The POS data provider linked with this country. + */ + posDataProvider?: Schema$LiaPosDataProvider; + /** + * The status of the "Store pickup" feature. + */ + storePickupActive?: boolean; + } + interface Schema$LiaInventorySettings { + /** + * The email of the contact for the inventory verification process. + */ + inventoryVerificationContactEmail?: string; + /** + * The name of the contact for the inventory verification process. + */ + inventoryVerificationContactName?: string; + /** + * The status of the verification contact. + */ + inventoryVerificationContactStatus?: string; + /** + * The status of the inventory verification process. + */ + status?: string; + } + interface Schema$LiaOnDisplayToOrderSettings { + /** + * Shipping cost and policy URL. + */ + shippingCostPolicyUrl?: string; + /** + * The status of the ?On display to order? feature. + */ + status?: string; + } + interface Schema$LiaPosDataProvider { + /** + * The ID of the POS data provider. + */ + posDataProviderId?: string; + /** + * The account ID by which this merchant is known to the POS data provider. + */ + posExternalAccountId?: string; + } + interface Schema$LiaSettings { + /** + * The ID of the account to which these LIA settings belong. Ignored upon + * update, always present in get request responses. + */ + accountId?: string; + /** + * The LIA settings for each country. + */ + countrySettings?: Schema$LiaCountrySettings[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#liaSettings". + */ + kind?: string; + } + interface Schema$LiasettingsCustomBatchRequest { + /** + * The request entries to be processed in the batch. + */ + entries?: Schema$LiasettingsCustomBatchRequestEntry[]; + } + interface Schema$LiasettingsCustomBatchRequestEntry { + /** + * The ID of the account for which to get/update account shipping settings. + */ + accountId?: string; + /** + * An entry ID, unique within the batch request. + */ + batchId?: number; + /** + * Inventory validation contact email. Required only for + * SetInventoryValidationContact. + */ + contactEmail?: string; + /** + * Inventory validation contact name. Required only for + * SetInventoryValidationContact. + */ + contactName?: string; + /** + * The country code. Required only for RequestInventoryVerification. + */ + country?: string; + /** + * The GMB account. Required only for RequestGmbAccess. + */ + gmbEmail?: string; + /** + * The account Lia settings to update. Only defined if the method is update. + */ + liaSettings?: Schema$LiaSettings; + /** + * The ID of the managing account. + */ + merchantId?: string; + method?: string; + /** + * The ID of POS data provider. Required only for SetPosProvider. + */ + posDataProviderId?: string; + /** + * The account ID by which this merchant is known to the POS provider. + */ + posExternalAccountId?: string; + } + interface Schema$LiasettingsCustomBatchResponse { + /** + * The result of the execution of the batch requests. + */ + entries?: Schema$LiasettingsCustomBatchResponseEntry[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#liasettingsCustomBatchResponse". + */ + kind?: string; + } + interface Schema$LiasettingsCustomBatchResponseEntry { + /** + * The ID of the request entry to which this entry responds. + */ + batchId?: number; + /** + * A list of errors defined if, and only if, the request failed. + */ + errors?: Schema$Errors; + /** + * The the list of accessible GMB accounts. + */ + gmbAccounts?: Schema$GmbAccounts; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#liasettingsCustomBatchResponseEntry". + */ + kind?: string; + /** + * The retrieved or updated Lia settings. + */ + liaSettings?: Schema$LiaSettings; + /** + * The list of POS data providers. + */ + posDataProviders?: Schema$PosDataProviders[]; + } + interface Schema$LiasettingsGetAccessibleGmbAccountsResponse { + /** + * The ID of the account. + */ + accountId?: string; + /** + * A list of GMB accounts which are available to the merchant. + */ + gmbAccounts?: Schema$GmbAccountsGmbAccount[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#liasettingsGetAccessibleGmbAccountsResponse". + */ + kind?: string; + } + interface Schema$LiasettingsListPosDataProvidersResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#liasettingsListPosDataProvidersResponse". + */ + kind?: string; + /** + * The list of POS data providers for each eligible country + */ + posDataProviders?: Schema$PosDataProviders[]; + } + interface Schema$LiasettingsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#liasettingsListResponse". + */ + kind?: string; + /** + * The token for the retrieval of the next page of LIA settings. + */ + nextPageToken?: string; + resources?: Schema$LiaSettings[]; + } + interface Schema$LiasettingsRequestGmbAccessResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#liasettingsRequestGmbAccessResponse". + */ + kind?: string; + } + interface Schema$LiasettingsRequestInventoryVerificationResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#liasettingsRequestInventoryVerificationResponse". + */ + kind?: string; + } + interface Schema$LiasettingsSetInventoryVerificationContactResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#liasettingsSetInventoryVerificationContactResponse". + */ + kind?: string; + } + interface Schema$LiasettingsSetPosDataProviderResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#liasettingsSetPosDataProviderResponse". + */ + kind?: string; + } + interface Schema$LocationIdSet { + /** + * A non-empty list of location IDs. They must all be of the same location + * type (e.g., state). + */ + locationIds?: string[]; + } + interface Schema$LoyaltyPoints { + /** + * Name of loyalty points program. It is recommended to limit the name to 12 + * full-width characters or 24 Roman characters. + */ + name?: string; + /** + * The retailer's loyalty points in absolute value. + */ + pointsValue?: string; + /** + * The ratio of a point when converted to currency. Google assumes currency + * based on Merchant Center settings. If ratio is left out, it defaults + * to 1.0. + */ + ratio?: number; + } + interface Schema$MerchantOrderReturn { + creationDate?: string; + merchantOrderId?: string; + orderId?: string; + orderReturnId?: string; + returnItems?: Schema$MerchantOrderReturnItem[]; + returnShipments?: Schema$ReturnShipment[]; + } + interface Schema$MerchantOrderReturnItem { + customerReturnReason?: Schema$CustomerReturnReason; + itemId?: string; + merchantReturnReason?: Schema$RefundReason; + product?: Schema$OrderLineItemProduct; + returnShipmentIds?: string[]; + state?: string; + } + interface Schema$Order { + /** + * Whether the order was acknowledged. + */ + acknowledged?: boolean; + /** + * The channel type of the order: "purchaseOnGoogle" or + * "googleExpress". + */ + channelType?: string; + /** + * The details of the customer who placed the order. + */ + customer?: Schema$OrderCustomer; + /** + * The details for the delivery. + */ + deliveryDetails?: Schema$OrderDeliveryDetails; + /** + * The REST id of the order. Globally unique. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#order". + */ + kind?: string; + /** + * Line items that are ordered. + */ + lineItems?: Schema$OrderLineItem[]; + merchantId?: string; + /** + * Merchant-provided id of the order. + */ + merchantOrderId?: string; + /** + * The net amount for the order. For example, if an order was originally for + * a grand total of $100 and a refund was issued for $20, the net amount + * will be $80. + */ + netAmount?: Schema$Price; + /** + * The details of the payment method. + */ + paymentMethod?: Schema$OrderPaymentMethod; + /** + * The status of the payment. + */ + paymentStatus?: string; + /** + * The date when the order was placed, in ISO 8601 format. + */ + placedDate?: string; + /** + * The details of the merchant provided promotions applied to the order. + * More details about the program are here. + */ + promotions?: Schema$OrderPromotion[]; + /** + * Refunds for the order. + */ + refunds?: Schema$OrderRefund[]; + /** + * Shipments of the order. + */ + shipments?: Schema$OrderShipment[]; + /** + * The total cost of shipping for all items. + */ + shippingCost?: Schema$Price; + /** + * The tax for the total shipping cost. + */ + shippingCostTax?: Schema$Price; + /** + * The requested shipping option. + */ + shippingOption?: string; + /** + * The status of the order. + */ + status?: string; + } + interface Schema$OrderAddress { + /** + * CLDR country code (e.g. "US"). + */ + country?: string; + /** + * Strings representing the lines of the printed label for mailing the + * order, for example: John Smith 1600 Amphitheatre Parkway Mountain View, + * CA, 94043 United States + */ + fullAddress?: string[]; + /** + * Whether the address is a post office box. + */ + isPostOfficeBox?: boolean; + /** + * City, town or commune. May also include dependent localities or + * sublocalities (e.g. neighborhoods or suburbs). + */ + locality?: string; + /** + * Postal Code or ZIP (e.g. "94043"). + */ + postalCode?: string; + /** + * Name of the recipient. + */ + recipientName?: string; + /** + * Top-level administrative subdivision of the country. For example, a state + * like California ("CA") or a province like Quebec + * ("QC"). + */ + region?: string; + /** + * Street-level part of the address. + */ + streetAddress?: string[]; + } + interface Schema$OrderCancellation { + /** + * The actor that created the cancellation. + */ + actor?: string; + /** + * Date on which the cancellation has been created, in ISO 8601 format. + */ + creationDate?: string; + /** + * The quantity that was canceled. + */ + quantity?: number; + /** + * The reason for the cancellation. Orders that are cancelled with a + * noInventory reason will lead to the removal of the product from Shopping + * Actions until you make an update to that product. This will not affect + * your Shopping ads. + */ + reason?: string; + /** + * The explanation of the reason. + */ + reasonText?: string; + } + interface Schema$OrderCustomer { + /** + * Deprecated. + */ + email?: string; + /** + * Deprecated. Please use marketingRightsInfo instead. + */ + explicitMarketingPreference?: boolean; + /** + * Full name of the customer. + */ + fullName?: string; + /** + * Customer's marketing preferences. + */ + marketingRightsInfo?: Schema$OrderCustomerMarketingRightsInfo; + } + interface Schema$OrderCustomerMarketingRightsInfo { + /** + * Last known user selection regarding marketing preferences. In certain + * cases this selection might not be known, so this field would be empty. + */ + explicitMarketingPreference?: string; + /** + * Timestamp when last time marketing preference was updated. Could be + * empty, if user wasn't offered a selection yet. + */ + lastUpdatedTimestamp?: string; + /** + * Email address that can be used for marketing purposes. This field is only + * filled when explicitMarketingPreference is equal to 'granted'. + */ + marketingEmailAddress?: string; + } + interface Schema$OrderDeliveryDetails { + /** + * The delivery address + */ + address?: Schema$OrderAddress; + /** + * The phone number of the person receiving the delivery. + */ + phoneNumber?: string; + } + interface Schema$OrderinvoicesCreateChargeInvoiceRequest { + /** + * [required] The ID of the invoice. + */ + invoiceId?: string; + /** + * [required] Invoice summary. + */ + invoiceSummary?: Schema$InvoiceSummary; + /** + * [required] Invoice details per line item. + */ + lineItemInvoices?: Schema$ShipmentInvoiceLineItemInvoice[]; + /** + * [required] The ID of the operation, unique across all operations for a + * given order. + */ + operationId?: string; + /** + * [required] ID of the shipment group. + */ + shipmentGroupId?: string; + } + interface Schema$OrderinvoicesCreateChargeInvoiceResponse { + /** + * The status of the execution. + */ + executionStatus?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#orderinvoicesCreateChargeInvoiceResponse". + */ + kind?: string; + } + interface Schema$OrderinvoicesCreateRefundInvoiceRequest { + /** + * [required] The ID of the invoice. + */ + invoiceId?: string; + /** + * [required] The ID of the operation, unique across all operations for a + * given order. + */ + operationId?: string; + /** + * Option to create a refund-only invoice. Exactly one of refundOnlyOption + * or returnOption must be provided. + */ + refundOnlyOption?: Schema$OrderinvoicesCustomBatchRequestEntryCreateRefundInvoiceRefundOption; + /** + * Option to create an invoice for a refund and mark all items within the + * invoice as returned. Exactly one of refundOnlyOption or returnOption must + * be provided. + */ + returnOption?: Schema$OrderinvoicesCustomBatchRequestEntryCreateRefundInvoiceReturnOption; + /** + * Invoice details for different shipment groups. + */ + shipmentInvoices?: Schema$ShipmentInvoice[]; + } + interface Schema$OrderinvoicesCreateRefundInvoiceResponse { + /** + * The status of the execution. + */ + executionStatus?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#orderinvoicesCreateRefundInvoiceResponse". + */ + kind?: string; + } + interface Schema$OrderinvoicesCustomBatchRequestEntryCreateRefundInvoiceRefundOption { + /** + * Optional description of the refund reason. + */ + description?: string; + /** + * [required] Reason for the refund. + */ + reason?: string; + } + interface Schema$OrderinvoicesCustomBatchRequestEntryCreateRefundInvoiceReturnOption { + /** + * Optional description of the return reason. + */ + description?: string; + /** + * [required] Reason for the return. + */ + reason?: string; + } + interface Schema$OrderLineItem { + /** + * Annotations that are attached to the line item. + */ + annotations?: Schema$OrderMerchantProvidedAnnotation[]; + /** + * Cancellations of the line item. + */ + cancellations?: Schema$OrderCancellation[]; + /** + * The id of the line item. + */ + id?: string; + /** + * Total price for the line item. For example, if two items for $10 are + * purchased, the total price will be $20. + */ + price?: Schema$Price; + /** + * Product data from the time of the order placement. + */ + product?: Schema$OrderLineItemProduct; + /** + * Number of items canceled. + */ + quantityCanceled?: number; + /** + * Number of items delivered. + */ + quantityDelivered?: number; + /** + * Number of items ordered. + */ + quantityOrdered?: number; + /** + * Number of items pending. + */ + quantityPending?: number; + /** + * Number of items returned. + */ + quantityReturned?: number; + /** + * Number of items shipped. + */ + quantityShipped?: number; + /** + * Details of the return policy for the line item. + */ + returnInfo?: Schema$OrderLineItemReturnInfo; + /** + * Returns of the line item. + */ + returns?: Schema$OrderReturn[]; + /** + * Details of the requested shipping for the line item. + */ + shippingDetails?: Schema$OrderLineItemShippingDetails; + /** + * Total tax amount for the line item. For example, if two items are + * purchased, and each have a cost tax of $2, the total tax amount will be + * $4. + */ + tax?: Schema$Price; + } + interface Schema$OrderLineItemProduct { + /** + * Brand of the item. + */ + brand?: string; + /** + * The item's channel (online or local). + */ + channel?: string; + /** + * Condition or state of the item. + */ + condition?: string; + /** + * The two-letter ISO 639-1 language code for the item. + */ + contentLanguage?: string; + /** + * Global Trade Item Number (GTIN) of the item. + */ + gtin?: string; + /** + * The REST id of the product. + */ + id?: string; + /** + * URL of an image of the item. + */ + imageLink?: string; + /** + * Shared identifier for all variants of the same product. + */ + itemGroupId?: string; + /** + * Manufacturer Part Number (MPN) of the item. + */ + mpn?: string; + /** + * An identifier of the item. + */ + offerId?: string; + /** + * Price of the item. + */ + price?: Schema$Price; + /** + * URL to the cached image shown to the user when order was placed. + */ + shownImage?: string; + /** + * The CLDR territory code of the target country of the product. + */ + targetCountry?: string; + /** + * The title of the product. + */ + title?: string; + /** + * Variant attributes for the item. These are dimensions of the product, + * such as color, gender, material, pattern, and size. You can find a + * comprehensive list of variant attributes here. + */ + variantAttributes?: Schema$OrderLineItemProductVariantAttribute[]; + } + interface Schema$OrderLineItemProductVariantAttribute { + /** + * The dimension of the variant. + */ + dimension?: string; + /** + * The value for the dimension. + */ + value?: string; + } + interface Schema$OrderLineItemReturnInfo { + /** + * How many days later the item can be returned. + */ + daysToReturn?: number; + /** + * Whether the item is returnable. + */ + isReturnable?: boolean; + /** + * URL of the item return policy. + */ + policyUrl?: string; + } + interface Schema$OrderLineItemShippingDetails { + /** + * The delivery by date, in ISO 8601 format. + */ + deliverByDate?: string; + /** + * Details of the shipping method. + */ + method?: Schema$OrderLineItemShippingDetailsMethod; + /** + * The ship by date, in ISO 8601 format. + */ + shipByDate?: string; + } + interface Schema$OrderLineItemShippingDetailsMethod { + /** + * The carrier for the shipping. Optional. See shipments[].carrier for a + * list of acceptable values. + */ + carrier?: string; + /** + * Maximum transit time. + */ + maxDaysInTransit?: number; + /** + * The name of the shipping method. + */ + methodName?: string; + /** + * Minimum transit time. + */ + minDaysInTransit?: number; + } + interface Schema$OrderMerchantProvidedAnnotation { + /** + * Key for additional merchant provided (as key-value pairs) annotation + * about the line item. + */ + key?: string; + /** + * Value for additional merchant provided (as key-value pairs) annotation + * about the line item. + */ + value?: string; + } + interface Schema$OrderPaymentMethod { + /** + * The billing address. + */ + billingAddress?: Schema$OrderAddress; + /** + * The card expiration month (January = 1, February = 2 etc.). + */ + expirationMonth?: number; + /** + * The card expiration year (4-digit, e.g. 2015). + */ + expirationYear?: number; + /** + * The last four digits of the card number. + */ + lastFourDigits?: string; + /** + * The billing phone number. + */ + phoneNumber?: string; + /** + * The type of instrument. Acceptable values are: - "AMEX" - + * "DISCOVER" - "JCB" - "MASTERCARD" - + * "UNIONPAY" - "VISA" - "" + */ + type?: string; + } + interface Schema$OrderpaymentsNotifyAuthApprovedRequest { + authAmountPretax?: Schema$Price; + authAmountTax?: Schema$Price; + } + interface Schema$OrderpaymentsNotifyAuthApprovedResponse { + /** + * The status of the execution. + */ + executionStatus?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#orderpaymentsNotifyAuthApprovedResponse". + */ + kind?: string; + } + interface Schema$OrderpaymentsNotifyAuthDeclinedRequest { + /** + * Reason why payment authorization was declined. + */ + declineReason?: string; + } + interface Schema$OrderpaymentsNotifyAuthDeclinedResponse { + /** + * The status of the execution. + */ + executionStatus?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#orderpaymentsNotifyAuthDeclinedResponse". + */ + kind?: string; + } + interface Schema$OrderpaymentsNotifyChargeRequest { + /** + * Whether charge was successful. + */ + chargeState?: string; + /** + * Deprecated. Please use invoiceIds instead. + */ + invoiceId?: string; + /** + * Invoice IDs from the orderinvoices service that correspond to the charge. + */ + invoiceIds?: string[]; + } + interface Schema$OrderpaymentsNotifyChargeResponse { + /** + * The status of the execution. + */ + executionStatus?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#orderpaymentsNotifyChargeResponse". + */ + kind?: string; + } + interface Schema$OrderpaymentsNotifyRefundRequest { + /** + * Deprecated. Please use invoiceIds instead. + */ + invoiceId?: string; + /** + * Invoice IDs from the orderinvoices service that correspond to the refund. + */ + invoiceIds?: string[]; + /** + * Whether refund was successful. + */ + refundState?: string; + } + interface Schema$OrderpaymentsNotifyRefundResponse { + /** + * The status of the execution. + */ + executionStatus?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#orderpaymentsNotifyRefundResponse". + */ + kind?: string; + } + interface Schema$OrderPromotion { + benefits?: Schema$OrderPromotionBenefit[]; + /** + * The date and time frame when the promotion is active and ready for + * validation review. Note that the promotion live time may be delayed for a + * few hours due to the validation review. Start date and end date are + * separated by a forward slash (/). The start date is specified by the + * format (YYYY-MM-DD), followed by the letter ?T?, the time of the day when + * the sale starts (in Greenwich Mean Time, GMT), followed by an expression + * of the time zone for the sale. The end date is in the same format. + */ + effectiveDates?: string; + /** + * Optional. The text code that corresponds to the promotion when applied on + * the retailer?s website. + */ + genericRedemptionCode?: string; + /** + * The unique ID of the promotion. + */ + id?: string; + /** + * The full title of the promotion. + */ + longTitle?: string; + /** + * Whether the promotion is applicable to all products or only specific + * products. + */ + productApplicability?: string; + /** + * Indicates that the promotion is valid online. + */ + redemptionChannel?: string; + } + interface Schema$OrderPromotionBenefit { + /** + * The discount in the order price when the promotion is applied. + */ + discount?: Schema$Price; + /** + * The OfferId(s) that were purchased in this order and map to this specific + * benefit of the promotion. + */ + offerIds?: string[]; + /** + * Further describes the benefit of the promotion. Note that we will expand + * on this enumeration as we support new promotion sub-types. + */ + subType?: string; + /** + * The impact on tax when the promotion is applied. + */ + taxImpact?: Schema$Price; + /** + * Describes whether the promotion applies to products (e.g. 20% off) or to + * shipping (e.g. Free Shipping). + */ + type?: string; + } + interface Schema$OrderRefund { + /** + * The actor that created the refund. + */ + actor?: string; + /** + * The amount that is refunded. + */ + amount?: Schema$Price; + /** + * Date on which the item has been created, in ISO 8601 format. + */ + creationDate?: string; + /** + * The reason for the refund. + */ + reason?: string; + /** + * The explanation of the reason. + */ + reasonText?: string; + } + interface Schema$OrderReportDisbursement { + /** + * The disbursement amount. + */ + disbursementAmount?: Schema$Price; + /** + * The disbursement date, in ISO 8601 format. + */ + disbursementCreationDate?: string; + /** + * The date the disbursement was initiated, in ISO 8601 format. + */ + disbursementDate?: string; + /** + * The ID of the disbursement. + */ + disbursementId?: string; + /** + * The ID of the managing account. + */ + merchantId?: string; + } + interface Schema$OrderreportsListDisbursementsResponse { + /** + * The list of disbursements. + */ + disbursements?: Schema$OrderReportDisbursement[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#orderreportsListDisbursementsResponse". + */ + kind?: string; + /** + * The token for the retrieval of the next page of disbursements. + */ + nextPageToken?: string; + } + interface Schema$OrderreportsListTransactionsResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#orderreportsListTransactionsResponse". + */ + kind?: string; + /** + * The token for the retrieval of the next page of transactions. + */ + nextPageToken?: string; + /** + * The list of transactions. + */ + transactions?: Schema$OrderReportTransaction[]; + } + interface Schema$OrderReportTransaction { + /** + * The disbursement amount. + */ + disbursementAmount?: Schema$Price; + /** + * The date the disbursement was created, in ISO 8601 format. + */ + disbursementCreationDate?: string; + /** + * The date the disbursement was initiated, in ISO 8601 format. + */ + disbursementDate?: string; + /** + * The ID of the disbursement. + */ + disbursementId?: string; + /** + * The ID of the managing account. + */ + merchantId?: string; + /** + * Merchant-provided id of the order. + */ + merchantOrderId?: string; + /** + * The id of the order. + */ + orderId?: string; + /** + * Total amount for the items. + */ + productAmount?: Schema$Amount; + /** + * The date of the transaction, in ISO 8601 format. + */ + transactionDate?: string; + } + interface Schema$OrderReturn { + /** + * The actor that created the refund. + */ + actor?: string; + /** + * Date on which the item has been created, in ISO 8601 format. + */ + creationDate?: string; + /** + * Quantity that is returned. + */ + quantity?: number; + /** + * The reason for the return. + */ + reason?: string; + /** + * The explanation of the reason. + */ + reasonText?: string; + } + interface Schema$OrderreturnsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#orderreturnsListResponse". + */ + kind?: string; + /** + * The token for the retrieval of the next page of returns. + */ + nextPageToken?: string; + resources?: Schema$MerchantOrderReturn[]; + } + interface Schema$OrdersAcknowledgeRequest { + /** + * The ID of the operation. Unique across all operations for a given order. + */ + operationId?: string; + } + interface Schema$OrdersAcknowledgeResponse { + /** + * The status of the execution. + */ + executionStatus?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#ordersAcknowledgeResponse". + */ + kind?: string; + } + interface Schema$OrdersAdvanceTestOrderResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#ordersAdvanceTestOrderResponse". + */ + kind?: string; + } + interface Schema$OrdersCancelLineItemRequest { + /** + * Deprecated. Please use amountPretax and amountTax instead. + */ + amount?: Schema$Price; + /** + * Amount to refund for the cancelation. Optional. If not set, Google will + * calculate the default based on the price and tax of the items involved. + * The amount must not be larger than the net amount left on the order. + */ + amountPretax?: Schema$Price; + /** + * Tax amount that correspond to cancellation amount in amountPretax. + */ + amountTax?: Schema$Price; + /** + * The ID of the line item to cancel. Either lineItemId or productId is + * required. + */ + lineItemId?: string; + /** + * The ID of the operation. Unique across all operations for a given order. + */ + operationId?: string; + /** + * The ID of the product to cancel. This is the REST ID used in the products + * service. Either lineItemId or productId is required. + */ + productId?: string; + /** + * The quantity to cancel. + */ + quantity?: number; + /** + * The reason for the cancellation. + */ + reason?: string; + /** + * The explanation of the reason. + */ + reasonText?: string; + } + interface Schema$OrdersCancelLineItemResponse { + /** + * The status of the execution. + */ + executionStatus?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#ordersCancelLineItemResponse". + */ + kind?: string; + } + interface Schema$OrdersCancelRequest { + /** + * The ID of the operation. Unique across all operations for a given order. + */ + operationId?: string; + /** + * The reason for the cancellation. + */ + reason?: string; + /** + * The explanation of the reason. + */ + reasonText?: string; + } + interface Schema$OrdersCancelResponse { + /** + * The status of the execution. + */ + executionStatus?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#ordersCancelResponse". + */ + kind?: string; + } + interface Schema$OrdersCancelTestOrderByCustomerRequest { + /** + * The reason for the cancellation. + */ + reason?: string; + } + interface Schema$OrdersCancelTestOrderByCustomerResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#ordersCancelTestOrderByCustomerResponse". + */ + kind?: string; + } + interface Schema$OrdersCreateTestOrderRequest { + /** + * The CLDR territory code of the country of the test order to create. + * Affects the currency and addresses of orders created via template_name, + * or the addresses of orders created via test_order. Acceptable values + * are: - "US" - "FR" Defaults to US. + */ + country?: string; + /** + * The test order template to use. Specify as an alternative to testOrder as + * a shortcut for retrieving a template and then creating an order using + * that template. + */ + templateName?: string; + /** + * The test order to create. + */ + testOrder?: Schema$TestOrder; + } + interface Schema$OrdersCreateTestOrderResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#ordersCreateTestOrderResponse". + */ + kind?: string; + /** + * The ID of the newly created test order. + */ + orderId?: string; + } + interface Schema$OrdersCreateTestReturnRequest { + /** + * Returned items. + */ + items?: Schema$OrdersCustomBatchRequestEntryCreateTestReturnReturnItem[]; + } + interface Schema$OrdersCreateTestReturnResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#ordersCreateTestReturnResponse". + */ + kind?: string; + /** + * The ID of the newly created test order return. + */ + returnId?: string; + } + interface Schema$OrdersCustomBatchRequest { + /** + * The request entries to be processed in the batch. + */ + entries?: Schema$OrdersCustomBatchRequestEntry[]; + } + interface Schema$OrdersCustomBatchRequestEntry { + /** + * An entry ID, unique within the batch request. + */ + batchId?: number; + /** + * Required for cancel method. + */ + cancel?: Schema$OrdersCustomBatchRequestEntryCancel; + /** + * Required for cancelLineItem method. + */ + cancelLineItem?: Schema$OrdersCustomBatchRequestEntryCancelLineItem; + /** + * Required for inStoreReturnLineItem method. + */ + inStoreRefundLineItem?: Schema$OrdersCustomBatchRequestEntryInStoreRefundLineItem; + /** + * The ID of the managing account. + */ + merchantId?: string; + /** + * The merchant order id. Required for updateMerchantOrderId and + * getByMerchantOrderId methods. + */ + merchantOrderId?: string; + /** + * The method to apply. + */ + method?: string; + /** + * The ID of the operation. Unique across all operations for a given order. + * Required for all methods beside get and getByMerchantOrderId. + */ + operationId?: string; + /** + * The ID of the order. Required for all methods beside + * getByMerchantOrderId. + */ + orderId?: string; + /** + * Required for refund method. + */ + refund?: Schema$OrdersCustomBatchRequestEntryRefund; + /** + * Required for rejectReturnLineItem method. + */ + rejectReturnLineItem?: Schema$OrdersCustomBatchRequestEntryRejectReturnLineItem; + /** + * Required for returnLineItem method. + */ + returnLineItem?: Schema$OrdersCustomBatchRequestEntryReturnLineItem; + /** + * Required for returnRefundLineItem method. + */ + returnRefundLineItem?: Schema$OrdersCustomBatchRequestEntryReturnRefundLineItem; + /** + * Required for setLineItemMetadata method. + */ + setLineItemMetadata?: Schema$OrdersCustomBatchRequestEntrySetLineItemMetadata; + /** + * Required for shipLineItems method. + */ + shipLineItems?: Schema$OrdersCustomBatchRequestEntryShipLineItems; + /** + * Required for updateLineItemShippingDate method. + */ + updateLineItemShippingDetails?: Schema$OrdersCustomBatchRequestEntryUpdateLineItemShippingDetails; + /** + * Required for updateShipment method. + */ + updateShipment?: Schema$OrdersCustomBatchRequestEntryUpdateShipment; + } + interface Schema$OrdersCustomBatchRequestEntryCancel { + /** + * The reason for the cancellation. + */ + reason?: string; + /** + * The explanation of the reason. + */ + reasonText?: string; + } + interface Schema$OrdersCustomBatchRequestEntryCancelLineItem { + /** + * Deprecated. Please use amountPretax and amountTax instead. + */ + amount?: Schema$Price; + /** + * Amount to refund for the cancelation. Optional. If not set, Google will + * calculate the default based on the price and tax of the items involved. + * The amount must not be larger than the net amount left on the order. + */ + amountPretax?: Schema$Price; + /** + * Tax amount that correspond to cancellation amount in amountPretax. + */ + amountTax?: Schema$Price; + /** + * The ID of the line item to cancel. Either lineItemId or productId is + * required. + */ + lineItemId?: string; + /** + * The ID of the product to cancel. This is the REST ID used in the products + * service. Either lineItemId or productId is required. + */ + productId?: string; + /** + * The quantity to cancel. + */ + quantity?: number; + /** + * The reason for the cancellation. + */ + reason?: string; + /** + * The explanation of the reason. + */ + reasonText?: string; + } + interface Schema$OrdersCustomBatchRequestEntryCreateTestReturnReturnItem { + /** + * The ID of the line item to return. + */ + lineItemId?: string; + /** + * Quantity that is returned. + */ + quantity?: number; + } + interface Schema$OrdersCustomBatchRequestEntryInStoreRefundLineItem { + /** + * The amount that is refunded. Required. + */ + amountPretax?: Schema$Price; + /** + * Tax amount that correspond to refund amount in amountPretax. Required. + */ + amountTax?: Schema$Price; + /** + * The ID of the line item to return. Either lineItemId or productId is + * required. + */ + lineItemId?: string; + /** + * The ID of the product to return. This is the REST ID used in the products + * service. Either lineItemId or productId is required. + */ + productId?: string; + /** + * The quantity to return and refund. + */ + quantity?: number; + /** + * The reason for the return. + */ + reason?: string; + /** + * The explanation of the reason. + */ + reasonText?: string; + } + interface Schema$OrdersCustomBatchRequestEntryRefund { + /** + * Deprecated. Please use amountPretax and amountTax instead. + */ + amount?: Schema$Price; + /** + * The amount that is refunded. Either amount or amountPretax and amountTax + * should be filled. + */ + amountPretax?: Schema$Price; + /** + * Tax amount that correspond to refund amount in amountPretax. + */ + amountTax?: Schema$Price; + /** + * The reason for the refund. + */ + reason?: string; + /** + * The explanation of the reason. + */ + reasonText?: string; + } + interface Schema$OrdersCustomBatchRequestEntryRejectReturnLineItem { + /** + * The ID of the line item to return. Either lineItemId or productId is + * required. + */ + lineItemId?: string; + /** + * The ID of the product to return. This is the REST ID used in the products + * service. Either lineItemId or productId is required. + */ + productId?: string; + /** + * The quantity to return and refund. + */ + quantity?: number; + /** + * The reason for the return. + */ + reason?: string; + /** + * The explanation of the reason. + */ + reasonText?: string; + } + interface Schema$OrdersCustomBatchRequestEntryReturnLineItem { + /** + * The ID of the line item to return. Either lineItemId or productId is + * required. + */ + lineItemId?: string; + /** + * The ID of the product to return. This is the REST ID used in the products + * service. Either lineItemId or productId is required. + */ + productId?: string; + /** + * The quantity to return. + */ + quantity?: number; + /** + * The reason for the return. + */ + reason?: string; + /** + * The explanation of the reason. + */ + reasonText?: string; + } + interface Schema$OrdersCustomBatchRequestEntryReturnRefundLineItem { + /** + * The amount that is refunded. If omitted, refundless return is assumed + * (same as calling returnLineItem method). Optional, but if filled then + * both amountPretax and amountTax must be set. + */ + amountPretax?: Schema$Price; + /** + * Tax amount that correspond to refund amount in amountPretax. + */ + amountTax?: Schema$Price; + /** + * The ID of the line item to return. Either lineItemId or productId is + * required. + */ + lineItemId?: string; + /** + * The ID of the product to return. This is the REST ID used in the products + * service. Either lineItemId or productId is required. + */ + productId?: string; + /** + * The quantity to return and refund. + */ + quantity?: number; + /** + * The reason for the return. + */ + reason?: string; + /** + * The explanation of the reason. + */ + reasonText?: string; + } + interface Schema$OrdersCustomBatchRequestEntrySetLineItemMetadata { + annotations?: Schema$OrderMerchantProvidedAnnotation[]; + /** + * The ID of the line item to set metadata. Either lineItemId or productId + * is required. + */ + lineItemId?: string; + /** + * The ID of the product to set metadata. This is the REST ID used in the + * products service. Either lineItemId or productId is required. + */ + productId?: string; + } + interface Schema$OrdersCustomBatchRequestEntryShipLineItems { + /** + * Deprecated. Please use shipmentInfo instead. The carrier handling the + * shipment. See shipments[].carrier in the Orders resource representation + * for a list of acceptable values. + */ + carrier?: string; + /** + * Line items to ship. + */ + lineItems?: Schema$OrderShipmentLineItemShipment[]; + /** + * ID of the shipment group. Required for orders that use the orderinvoices + * service. + */ + shipmentGroupId?: string; + /** + * Deprecated. Please use shipmentInfo instead. The ID of the shipment. + */ + shipmentId?: string; + /** + * Shipment information. This field is repeated because a single line item + * can be shipped in several packages (and have several tracking IDs). + */ + shipmentInfos?: Schema$OrdersCustomBatchRequestEntryShipLineItemsShipmentInfo[]; + /** + * Deprecated. Please use shipmentInfo instead. The tracking id for the + * shipment. + */ + trackingId?: string; + } + interface Schema$OrdersCustomBatchRequestEntryShipLineItemsShipmentInfo { + /** + * The carrier handling the shipment. See shipments[].carrier in the Orders + * resource representation for a list of acceptable values. + */ + carrier?: string; + /** + * The ID of the shipment. + */ + shipmentId?: string; + /** + * The tracking id for the shipment. + */ + trackingId?: string; + } + interface Schema$OrdersCustomBatchRequestEntryUpdateLineItemShippingDetails { + /** + * Updated delivery by date, in ISO 8601 format. If not specified only ship + * by date is updated. + */ + deliverByDate?: string; + /** + * The ID of the line item to set metadata. Either lineItemId or productId + * is required. + */ + lineItemId?: string; + /** + * The ID of the product to set metadata. This is the REST ID used in the + * products service. Either lineItemId or productId is required. + */ + productId?: string; + /** + * Updated ship by date, in ISO 8601 format. If not specified only deliver + * by date is updated. + */ + shipByDate?: string; + } + interface Schema$OrdersCustomBatchRequestEntryUpdateShipment { + /** + * The carrier handling the shipment. Not updated if missing. See + * shipments[].carrier in the Orders resource representation for a list of + * acceptable values. + */ + carrier?: string; + /** + * Date on which the shipment has been delivered, in ISO 8601 format. + * Optional and can be provided only if status is delivered. + */ + deliveryDate?: string; + /** + * The ID of the shipment. + */ + shipmentId?: string; + /** + * New status for the shipment. Not updated if missing. + */ + status?: string; + /** + * The tracking id for the shipment. Not updated if missing. + */ + trackingId?: string; + } + interface Schema$OrdersCustomBatchResponse { + /** + * The result of the execution of the batch requests. + */ + entries?: Schema$OrdersCustomBatchResponseEntry[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#ordersCustomBatchResponse". + */ + kind?: string; + } + interface Schema$OrdersCustomBatchResponseEntry { + /** + * The ID of the request entry this entry responds to. + */ + batchId?: number; + /** + * A list of errors defined if and only if the request failed. + */ + errors?: Schema$Errors; + /** + * The status of the execution. Only defined if - the request was + * successful; and - the method is not get, getByMerchantOrderId, or one of + * the test methods. + */ + executionStatus?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#ordersCustomBatchResponseEntry". + */ + kind?: string; + /** + * The retrieved order. Only defined if the method is get and if the request + * was successful. + */ + order?: Schema$Order; + } + interface Schema$OrdersGetByMerchantOrderIdResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#ordersGetByMerchantOrderIdResponse". + */ + kind?: string; + /** + * The requested order. + */ + order?: Schema$Order; + } + interface Schema$OrdersGetTestOrderTemplateResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#ordersGetTestOrderTemplateResponse". + */ + kind?: string; + /** + * The requested test order template. + */ + template?: Schema$TestOrder; + } + interface Schema$OrderShipment { + /** + * The carrier handling the shipment. Acceptable values are: - + * "gsx" - "ups" - "usps" - + * "fedex" - "dhl" - "ecourier" - + * "cxt" - "google" - "ontrac" - + * "emsy" - "ont" - "deliv" - + * "dynamex" - "lasership" - "mpx" - + * "uds" + */ + carrier?: string; + /** + * Date on which the shipment has been created, in ISO 8601 format. + */ + creationDate?: string; + /** + * Date on which the shipment has been delivered, in ISO 8601 format. + * Present only if status is delivered + */ + deliveryDate?: string; + /** + * The id of the shipment. + */ + id?: string; + /** + * The line items that are shipped. + */ + lineItems?: Schema$OrderShipmentLineItemShipment[]; + /** + * The status of the shipment. + */ + status?: string; + /** + * The tracking id for the shipment. + */ + trackingId?: string; + } + interface Schema$OrderShipmentLineItemShipment { + /** + * The id of the line item that is shipped. Either lineItemId or productId + * is required. + */ + lineItemId?: string; + /** + * The ID of the product to ship. This is the REST ID used in the products + * service. Either lineItemId or productId is required. + */ + productId?: string; + /** + * The quantity that is shipped. + */ + quantity?: number; + } + interface Schema$OrdersInStoreRefundLineItemRequest { + /** + * The amount that is refunded. Required. + */ + amountPretax?: Schema$Price; + /** + * Tax amount that correspond to refund amount in amountPretax. Required. + */ + amountTax?: Schema$Price; + /** + * The ID of the line item to return. Either lineItemId or productId is + * required. + */ + lineItemId?: string; + /** + * The ID of the operation. Unique across all operations for a given order. + */ + operationId?: string; + /** + * The ID of the product to return. This is the REST ID used in the products + * service. Either lineItemId or productId is required. + */ + productId?: string; + /** + * The quantity to return and refund. + */ + quantity?: number; + /** + * The reason for the return. + */ + reason?: string; + /** + * The explanation of the reason. + */ + reasonText?: string; + } + interface Schema$OrdersInStoreRefundLineItemResponse { + /** + * The status of the execution. + */ + executionStatus?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#ordersInStoreRefundLineItemResponse". + */ + kind?: string; + } + interface Schema$OrdersListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#ordersListResponse". + */ + kind?: string; + /** + * The token for the retrieval of the next page of orders. + */ + nextPageToken?: string; + resources?: Schema$Order[]; + } + interface Schema$OrdersRefundRequest { + /** + * Deprecated. Please use amountPretax and amountTax instead. + */ + amount?: Schema$Price; + /** + * The amount that is refunded. Either amount or amountPretax and amountTax + * should be filled. + */ + amountPretax?: Schema$Price; + /** + * Tax amount that correspond to refund amount in amountPretax. + */ + amountTax?: Schema$Price; + /** + * The ID of the operation. Unique across all operations for a given order. + */ + operationId?: string; + /** + * The reason for the refund. + */ + reason?: string; + /** + * The explanation of the reason. + */ + reasonText?: string; + } + interface Schema$OrdersRefundResponse { + /** + * The status of the execution. + */ + executionStatus?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#ordersRefundResponse". + */ + kind?: string; + } + interface Schema$OrdersRejectReturnLineItemRequest { + /** + * The ID of the line item to return. Either lineItemId or productId is + * required. + */ + lineItemId?: string; + /** + * The ID of the operation. Unique across all operations for a given order. + */ + operationId?: string; + /** + * The ID of the product to return. This is the REST ID used in the products + * service. Either lineItemId or productId is required. + */ + productId?: string; + /** + * The quantity to return and refund. + */ + quantity?: number; + /** + * The reason for the return. + */ + reason?: string; + /** + * The explanation of the reason. + */ + reasonText?: string; + } + interface Schema$OrdersRejectReturnLineItemResponse { + /** + * The status of the execution. + */ + executionStatus?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#ordersRejectReturnLineItemResponse". + */ + kind?: string; + } + interface Schema$OrdersReturnLineItemRequest { + /** + * The ID of the line item to return. Either lineItemId or productId is + * required. + */ + lineItemId?: string; + /** + * The ID of the operation. Unique across all operations for a given order. + */ + operationId?: string; + /** + * The ID of the product to return. This is the REST ID used in the products + * service. Either lineItemId or productId is required. + */ + productId?: string; + /** + * The quantity to return. + */ + quantity?: number; + /** + * The reason for the return. + */ + reason?: string; + /** + * The explanation of the reason. + */ + reasonText?: string; + } + interface Schema$OrdersReturnLineItemResponse { + /** + * The status of the execution. + */ + executionStatus?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#ordersReturnLineItemResponse". + */ + kind?: string; + } + interface Schema$OrdersReturnRefundLineItemRequest { + /** + * The amount that is refunded. If omitted, refundless return is assumed + * (same as calling returnLineItem method). Optional, but if filled then + * both amountPretax and amountTax must be set. + */ + amountPretax?: Schema$Price; + /** + * Tax amount that correspond to refund amount in amountPretax. + */ + amountTax?: Schema$Price; + /** + * The ID of the line item to return. Either lineItemId or productId is + * required. + */ + lineItemId?: string; + /** + * The ID of the operation. Unique across all operations for a given order. + */ + operationId?: string; + /** + * The ID of the product to return. This is the REST ID used in the products + * service. Either lineItemId or productId is required. + */ + productId?: string; + /** + * The quantity to return and refund. + */ + quantity?: number; + /** + * The reason for the return. + */ + reason?: string; + /** + * The explanation of the reason. + */ + reasonText?: string; + } + interface Schema$OrdersReturnRefundLineItemResponse { + /** + * The status of the execution. + */ + executionStatus?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#ordersReturnRefundLineItemResponse". + */ + kind?: string; + } + interface Schema$OrdersSetLineItemMetadataRequest { + annotations?: Schema$OrderMerchantProvidedAnnotation[]; + /** + * The ID of the line item to set metadata. Either lineItemId or productId + * is required. + */ + lineItemId?: string; + /** + * The ID of the operation. Unique across all operations for a given order. + */ + operationId?: string; + /** + * The ID of the product to set metadata. This is the REST ID used in the + * products service. Either lineItemId or productId is required. + */ + productId?: string; + } + interface Schema$OrdersSetLineItemMetadataResponse { + /** + * The status of the execution. + */ + executionStatus?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#ordersSetLineItemMetadataResponse". + */ + kind?: string; + } + interface Schema$OrdersShipLineItemsRequest { + /** + * Deprecated. Please use shipmentInfo instead. The carrier handling the + * shipment. See shipments[].carrier in the Orders resource representation + * for a list of acceptable values. + */ + carrier?: string; + /** + * Line items to ship. + */ + lineItems?: Schema$OrderShipmentLineItemShipment[]; + /** + * The ID of the operation. Unique across all operations for a given order. + */ + operationId?: string; + /** + * ID of the shipment group. Required for orders that use the orderinvoices + * service. + */ + shipmentGroupId?: string; + /** + * Deprecated. Please use shipmentInfo instead. The ID of the shipment. + */ + shipmentId?: string; + /** + * Shipment information. This field is repeated because a single line item + * can be shipped in several packages (and have several tracking IDs). + */ + shipmentInfos?: Schema$OrdersCustomBatchRequestEntryShipLineItemsShipmentInfo[]; + /** + * Deprecated. Please use shipmentInfo instead. The tracking id for the + * shipment. + */ + trackingId?: string; + } + interface Schema$OrdersShipLineItemsResponse { + /** + * The status of the execution. + */ + executionStatus?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#ordersShipLineItemsResponse". + */ + kind?: string; + } + interface Schema$OrdersUpdateLineItemShippingDetailsRequest { + /** + * Updated delivery by date, in ISO 8601 format. If not specified only ship + * by date is updated. + */ + deliverByDate?: string; + /** + * The ID of the line item to set metadata. Either lineItemId or productId + * is required. + */ + lineItemId?: string; + /** + * The ID of the operation. Unique across all operations for a given order. + */ + operationId?: string; + /** + * The ID of the product to set metadata. This is the REST ID used in the + * products service. Either lineItemId or productId is required. + */ + productId?: string; + /** + * Updated ship by date, in ISO 8601 format. If not specified only deliver + * by date is updated. + */ + shipByDate?: string; + } + interface Schema$OrdersUpdateLineItemShippingDetailsResponse { + /** + * The status of the execution. + */ + executionStatus?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#ordersUpdateLineItemShippingDetailsResponse". + */ + kind?: string; + } + interface Schema$OrdersUpdateMerchantOrderIdRequest { + /** + * The merchant order id to be assigned to the order. Must be unique per + * merchant. + */ + merchantOrderId?: string; + /** + * The ID of the operation. Unique across all operations for a given order. + */ + operationId?: string; + } + interface Schema$OrdersUpdateMerchantOrderIdResponse { + /** + * The status of the execution. + */ + executionStatus?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#ordersUpdateMerchantOrderIdResponse". + */ + kind?: string; + } + interface Schema$OrdersUpdateShipmentRequest { + /** + * The carrier handling the shipment. Not updated if missing. See + * shipments[].carrier in the Orders resource representation for a list of + * acceptable values. + */ + carrier?: string; + /** + * Date on which the shipment has been delivered, in ISO 8601 format. + * Optional and can be provided only if status is delivered. + */ + deliveryDate?: string; + /** + * The ID of the operation. Unique across all operations for a given order. + */ + operationId?: string; + /** + * The ID of the shipment. + */ + shipmentId?: string; + /** + * New status for the shipment. Not updated if missing. + */ + status?: string; + /** + * The tracking id for the shipment. Not updated if missing. + */ + trackingId?: string; + } + interface Schema$OrdersUpdateShipmentResponse { + /** + * The status of the execution. + */ + executionStatus?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#ordersUpdateShipmentResponse". + */ + kind?: string; + } + interface Schema$PosCustomBatchRequest { + /** + * The request entries to be processed in the batch. + */ + entries?: Schema$PosCustomBatchRequestEntry[]; + } + interface Schema$PosCustomBatchRequestEntry { + /** + * An entry ID, unique within the batch request. + */ + batchId?: number; + /** + * The inventory to submit. Set this only if the method is inventory. + */ + inventory?: Schema$PosInventory; + /** + * The ID of the POS data provider. + */ + merchantId?: string; + method?: string; + /** + * The sale information to submit. Set this only if the method is sale. + */ + sale?: Schema$PosSale; + /** + * The store information to submit. Set this only if the method is insert. + */ + store?: Schema$PosStore; + /** + * The store code. Set this only if the method is delete or get. + */ + storeCode?: string; + /** + * The ID of the account for which to get/submit data. + */ + targetMerchantId?: string; + } + interface Schema$PosCustomBatchResponse { + /** + * The result of the execution of the batch requests. + */ + entries?: Schema$PosCustomBatchResponseEntry[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#posCustomBatchResponse". + */ + kind?: string; + } + interface Schema$PosCustomBatchResponseEntry { + /** + * The ID of the request entry to which this entry responds. + */ + batchId?: number; + /** + * A list of errors defined if, and only if, the request failed. + */ + errors?: Schema$Errors; + /** + * The updated inventory information. + */ + inventory?: Schema$PosInventory; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#posCustomBatchResponseEntry". + */ + kind?: string; + /** + * The updated sale information. + */ + sale?: Schema$PosSale; + /** + * The retrieved or updated store information. + */ + store?: Schema$PosStore; + } + interface Schema$PosDataProviders { + /** + * Country code. + */ + country?: string; + /** + * A list of POS data providers. + */ + posDataProviders?: Schema$PosDataProvidersPosDataProvider[]; + } + interface Schema$PosDataProvidersPosDataProvider { + /** + * The display name of Pos data Provider. + */ + displayName?: string; + /** + * The full name of this POS data Provider. + */ + fullName?: string; + /** + * The ID of the account. + */ + providerId?: string; + } + /** + * The absolute quantity of an item available at the given store. + */ + interface Schema$PosInventory { + /** + * The two-letter ISO 639-1 language code for the item. + */ + contentLanguage?: string; + /** + * Global Trade Item Number. + */ + gtin?: string; + /** + * A unique identifier for the item. + */ + itemId?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#posInventory". + */ + kind?: string; + /** + * The current price of the item. + */ + price?: Schema$Price; + /** + * The available quantity of the item. + */ + quantity?: string; + /** + * The identifier of the merchant's store. Either a storeCode inserted + * via the API or the code of the store in Google My Business. + */ + storeCode?: string; + /** + * The CLDR territory code for the item. + */ + targetCountry?: string; + /** + * The inventory timestamp, in ISO 8601 format. + */ + timestamp?: string; + } + interface Schema$PosInventoryRequest { + /** + * The two-letter ISO 639-1 language code for the item. + */ + contentLanguage?: string; + /** + * Global Trade Item Number. + */ + gtin?: string; + /** + * A unique identifier for the item. + */ + itemId?: string; + /** + * The current price of the item. + */ + price?: Schema$Price; + /** + * The available quantity of the item. + */ + quantity?: string; + /** + * The identifier of the merchant's store. Either a storeCode inserted + * via the API or the code of the store in Google My Business. + */ + storeCode?: string; + /** + * The CLDR territory code for the item. + */ + targetCountry?: string; + /** + * The inventory timestamp, in ISO 8601 format. + */ + timestamp?: string; + } + interface Schema$PosInventoryResponse { + /** + * The two-letter ISO 639-1 language code for the item. + */ + contentLanguage?: string; + /** + * Global Trade Item Number. + */ + gtin?: string; + /** + * A unique identifier for the item. + */ + itemId?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#posInventoryResponse". + */ + kind?: string; + /** + * The current price of the item. + */ + price?: Schema$Price; + /** + * The available quantity of the item. + */ + quantity?: string; + /** + * The identifier of the merchant's store. Either a storeCode inserted + * via the API or the code of the store in Google My Business. + */ + storeCode?: string; + /** + * The CLDR territory code for the item. + */ + targetCountry?: string; + /** + * The inventory timestamp, in ISO 8601 format. + */ + timestamp?: string; + } + interface Schema$PosListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#posListResponse". + */ + kind?: string; + resources?: Schema$PosStore[]; + } + /** + * The change of the available quantity of an item at the given store. + */ + interface Schema$PosSale { + /** + * The two-letter ISO 639-1 language code for the item. + */ + contentLanguage?: string; + /** + * Global Trade Item Number. + */ + gtin?: string; + /** + * A unique identifier for the item. + */ + itemId?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#posSale". + */ + kind?: string; + /** + * The price of the item. + */ + price?: Schema$Price; + /** + * The relative change of the available quantity. Negative for items + * returned. + */ + quantity?: string; + /** + * A unique ID to group items from the same sale event. + */ + saleId?: string; + /** + * The identifier of the merchant's store. Either a storeCode inserted + * via the API or the code of the store in Google My Business. + */ + storeCode?: string; + /** + * The CLDR territory code for the item. + */ + targetCountry?: string; + /** + * The inventory timestamp, in ISO 8601 format. + */ + timestamp?: string; + } + interface Schema$PosSaleRequest { + /** + * The two-letter ISO 639-1 language code for the item. + */ + contentLanguage?: string; + /** + * Global Trade Item Number. + */ + gtin?: string; + /** + * A unique identifier for the item. + */ + itemId?: string; + /** + * The price of the item. + */ + price?: Schema$Price; + /** + * The relative change of the available quantity. Negative for items + * returned. + */ + quantity?: string; + /** + * A unique ID to group items from the same sale event. + */ + saleId?: string; + /** + * The identifier of the merchant's store. Either a storeCode inserted + * via the API or the code of the store in Google My Business. + */ + storeCode?: string; + /** + * The CLDR territory code for the item. + */ + targetCountry?: string; + /** + * The inventory timestamp, in ISO 8601 format. + */ + timestamp?: string; + } + interface Schema$PosSaleResponse { + /** + * The two-letter ISO 639-1 language code for the item. + */ + contentLanguage?: string; + /** + * Global Trade Item Number. + */ + gtin?: string; + /** + * A unique identifier for the item. + */ + itemId?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#posSaleResponse". + */ + kind?: string; + /** + * The price of the item. + */ + price?: Schema$Price; + /** + * The relative change of the available quantity. Negative for items + * returned. + */ + quantity?: string; + /** + * A unique ID to group items from the same sale event. + */ + saleId?: string; + /** + * The identifier of the merchant's store. Either a storeCode inserted + * via the API or the code of the store in Google My Business. + */ + storeCode?: string; + /** + * The CLDR territory code for the item. + */ + targetCountry?: string; + /** + * The inventory timestamp, in ISO 8601 format. + */ + timestamp?: string; + } + /** + * Store resource. + */ + interface Schema$PosStore { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#posStore". + */ + kind?: string; + /** + * The street address of the store. + */ + storeAddress?: string; + /** + * A store identifier that is unique for the given merchant. + */ + storeCode?: string; + } + interface Schema$PostalCodeGroup { + /** + * The CLDR territory code of the country the postal code group applies to. + * Required. + */ + country?: string; + /** + * The name of the postal code group, referred to in headers. Required. + */ + name?: string; + /** + * A range of postal codes. Required. + */ + postalCodeRanges?: Schema$PostalCodeRange[]; + } + interface Schema$PostalCodeRange { + /** + * A postal code or a pattern of the form prefix* denoting the inclusive + * lower bound of the range defining the area. Examples values: + * "94108", "9410*", "9*". Required. + */ + postalCodeRangeBegin?: string; + /** + * A postal code or a pattern of the form prefix* denoting the inclusive + * upper bound of the range defining the area. It must have the same length + * as postalCodeRangeBegin: if postalCodeRangeBegin is a postal code then + * postalCodeRangeEnd must be a postal code too; if postalCodeRangeBegin is + * a pattern then postalCodeRangeEnd must be a pattern with the same prefix + * length. Optional: if not set, then the area is defined as being all the + * postal codes matching postalCodeRangeBegin. + */ + postalCodeRangeEnd?: string; + } + interface Schema$Price { + /** + * The currency of the price. + */ + currency?: string; + /** + * The price represented as a number. + */ + value?: string; + } + /** + * Product data. + */ + interface Schema$Product { + /** + * Additional URLs of images of the item. + */ + additionalImageLinks?: string[]; + /** + * Additional categories of the item (formatted as in products feed + * specification). + */ + additionalProductTypes?: string[]; + /** + * Set to true if the item is targeted towards adults. + */ + adult?: boolean; + /** + * Used to group items in an arbitrary way. Only for CPA%, discouraged + * otherwise. + */ + adwordsGrouping?: string; + /** + * Similar to adwords_grouping, but only works on CPC. + */ + adwordsLabels?: string[]; + /** + * Allows advertisers to override the item URL when the product is shown + * within the context of Product Ads. + */ + adwordsRedirect?: string; + /** + * Target age group of the item. + */ + ageGroup?: string; + /** + * Deprecated. Do not use. + */ + aspects?: Schema$ProductAspect[]; + /** + * Availability status of the item. + */ + availability?: string; + /** + * The day a pre-ordered product becomes available for delivery, in ISO 8601 + * format. + */ + availabilityDate?: string; + /** + * Brand of the item. + */ + brand?: string; + /** + * The item's channel (online or local). + */ + channel?: string; + /** + * Color of the item. + */ + color?: string; + /** + * Condition or state of the item. + */ + condition?: string; + /** + * The two-letter ISO 639-1 language code for the item. + */ + contentLanguage?: string; + /** + * Cost of goods sold. Used for gross profit reporting. + */ + costOfGoodsSold?: Schema$Price; + /** + * A list of custom (merchant-provided) attributes. It can also be used for + * submitting any attribute of the feed specification in its generic form + * (e.g., { "name": "size type", "type": + * "text", "value": "regular" }). This is + * useful for submitting attributes not explicitly exposed by the API. + */ + customAttributes?: Schema$ProductCustomAttribute[]; + /** + * A list of custom (merchant-provided) custom attribute groups. + */ + customGroups?: Schema$ProductCustomGroup[]; + /** + * Custom label 0 for custom grouping of items in a Shopping campaign. + */ + customLabel0?: string; + /** + * Custom label 1 for custom grouping of items in a Shopping campaign. + */ + customLabel1?: string; + /** + * Custom label 2 for custom grouping of items in a Shopping campaign. + */ + customLabel2?: string; + /** + * Custom label 3 for custom grouping of items in a Shopping campaign. + */ + customLabel3?: string; + /** + * Custom label 4 for custom grouping of items in a Shopping campaign. + */ + customLabel4?: string; + /** + * Description of the item. + */ + description?: string; + /** + * Specifies the intended destinations for the product. + */ + destinations?: Schema$ProductDestination[]; + /** + * An identifier for an item for dynamic remarketing campaigns. + */ + displayAdsId?: string; + /** + * URL directly to your item's landing page for dynamic remarketing + * campaigns. + */ + displayAdsLink?: string; + /** + * Advertiser-specified recommendations. + */ + displayAdsSimilarIds?: string[]; + /** + * Title of an item for dynamic remarketing campaigns. + */ + displayAdsTitle?: string; + /** + * Offer margin for dynamic remarketing campaigns. + */ + displayAdsValue?: number; + /** + * The energy efficiency class as defined in EU directive 2010/30/EU. + */ + energyEfficiencyClass?: string; + /** + * Date on which the item should expire, as specified upon insertion, in ISO + * 8601 format. The actual expiration date in Google Shopping is exposed in + * productstatuses as googleExpirationDate and might be earlier if + * expirationDate is too far in the future. + */ + expirationDate?: string; + /** + * Target gender of the item. + */ + gender?: string; + /** + * Google's category of the item (see Google product taxonomy). + */ + googleProductCategory?: string; + /** + * Global Trade Item Number (GTIN) of the item. + */ + gtin?: string; + /** + * The REST id of the product. Content API methods that operate on products + * take this as their productId parameter. The REST id for a product is of + * the form channel:contentLanguage:targetCountry:offerId. + */ + id?: string; + /** + * False when the item does not have unique product identifiers appropriate + * to its category, such as GTIN, MPN, and brand. Required according to the + * Unique Product Identifier Rules for all target countries except for + * Canada. + */ + identifierExists?: boolean; + /** + * URL of an image of the item. + */ + imageLink?: string; + /** + * Number and amount of installments to pay for an item. Brazil only. + */ + installment?: Schema$Installment; + /** + * Whether the item is a merchant-defined bundle. A bundle is a custom + * grouping of different products sold by a merchant for a single price. + */ + isBundle?: boolean; + /** + * Shared identifier for all variants of the same product. + */ + itemGroupId?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#product". + */ + kind?: string; + /** + * URL directly linking to your item's page on your website. + */ + link?: string; + /** + * Loyalty points that users receive after purchasing the item. Japan only. + */ + loyaltyPoints?: Schema$LoyaltyPoints; + /** + * The material of which the item is made. + */ + material?: string; + /** + * The energy efficiency class as defined in EU directive 2010/30/EU. + */ + maxEnergyEfficiencyClass?: string; + /** + * Maximal product handling time (in business days). + */ + maxHandlingTime?: string; + /** + * The energy efficiency class as defined in EU directive 2010/30/EU. + */ + minEnergyEfficiencyClass?: string; + /** + * Minimal product handling time (in business days). + */ + minHandlingTime?: string; + /** + * Link to a mobile-optimized version of the landing page. + */ + mobileLink?: string; + /** + * Manufacturer Part Number (MPN) of the item. + */ + mpn?: string; + /** + * The number of identical products in a merchant-defined multipack. + */ + multipack?: string; + /** + * A unique identifier for the item. Leading and trailing whitespaces are + * stripped and multiple whitespaces are replaced by a single whitespace + * upon submission. Only valid unicode characters are accepted. See the + * products feed specification for details. Note: Content API methods that + * operate on products take the REST id of the product, not this identifier. + */ + offerId?: string; + /** + * Deprecated. Whether an item is available for purchase only online. + */ + onlineOnly?: boolean; + /** + * The item's pattern (e.g. polka dots). + */ + pattern?: string; + /** + * Price of the item. + */ + price?: Schema$Price; + /** + * Your category of the item (formatted as in products feed specification). + */ + productType?: string; + /** + * The unique ID of a promotion. + */ + promotionIds?: string[]; + /** + * Advertised sale price of the item. + */ + salePrice?: Schema$Price; + /** + * Date range during which the item is on sale (see products feed + * specification). + */ + salePriceEffectiveDate?: string; + /** + * The quantity of the product that is available for selling on Google. + * Supported only for online products. + */ + sellOnGoogleQuantity?: string; + /** + * Shipping rules. + */ + shipping?: Schema$ProductShipping[]; + /** + * Height of the item for shipping. + */ + shippingHeight?: Schema$ProductShippingDimension; + /** + * The shipping label of the product, used to group product in account-level + * shipping rules. + */ + shippingLabel?: string; + /** + * Length of the item for shipping. + */ + shippingLength?: Schema$ProductShippingDimension; + /** + * Weight of the item for shipping. + */ + shippingWeight?: Schema$ProductShippingWeight; + /** + * Width of the item for shipping. + */ + shippingWidth?: Schema$ProductShippingDimension; + /** + * Size of the item. + */ + sizes?: string[]; + /** + * System in which the size is specified. Recommended for apparel items. + */ + sizeSystem?: string; + /** + * The cut of the item. Recommended for apparel items. + */ + sizeType?: string; + /** + * The source of the offer, i.e., how the offer was created. + */ + source?: string; + /** + * The CLDR territory code for the item. + */ + targetCountry?: string; + /** + * Tax information. + */ + taxes?: Schema$ProductTax[]; + /** + * Title of the item. + */ + title?: string; + /** + * The preference of the denominator of the unit price. + */ + unitPricingBaseMeasure?: Schema$ProductUnitPricingBaseMeasure; + /** + * The measure and dimension of an item. + */ + unitPricingMeasure?: Schema$ProductUnitPricingMeasure; + /** + * Deprecated. The read-only list of intended destinations which passed + * validation. + */ + validatedDestinations?: string[]; + /** + * Read-only warnings. + */ + warnings?: Schema$Error[]; + } + interface Schema$ProductAspect { + /** + * The name of the aspect. + */ + aspectName?: string; + /** + * The name of the destination. Leave out to apply to all destinations. + */ + destinationName?: string; + /** + * Whether the aspect is required, excluded or should be validated. + */ + intention?: string; + } + interface Schema$ProductCustomAttribute { + /** + * The name of the attribute. Underscores will be replaced by spaces upon + * insertion. + */ + name?: string; + /** + * The type of the attribute. + */ + type?: string; + /** + * Free-form unit of the attribute. Unit can only be used for values of type + * int, float, or price. + */ + unit?: string; + /** + * The value of the attribute. + */ + value?: string; + } + interface Schema$ProductCustomGroup { + /** + * The sub-attributes. + */ + attributes?: Schema$ProductCustomAttribute[]; + /** + * The name of the group. Underscores will be replaced by spaces upon + * insertion. + */ + name?: string; + } + interface Schema$ProductDestination { + /** + * The name of the destination. + */ + destinationName?: string; + /** + * Whether the destination is required, excluded or should be validated. + */ + intention?: string; + } + interface Schema$ProductsCustomBatchRequest { + /** + * The request entries to be processed in the batch. + */ + entries?: Schema$ProductsCustomBatchRequestEntry[]; + } + /** + * A batch entry encoding a single non-batch products request. + */ + interface Schema$ProductsCustomBatchRequestEntry { + /** + * An entry ID, unique within the batch request. + */ + batchId?: number; + /** + * The ID of the managing account. + */ + merchantId?: string; + method?: string; + /** + * The product to insert. Only required if the method is insert. + */ + product?: Schema$Product; + /** + * The ID of the product to get or delete. Only defined if the method is get + * or delete. + */ + productId?: string; + } + interface Schema$ProductsCustomBatchResponse { + /** + * The result of the execution of the batch requests. + */ + entries?: Schema$ProductsCustomBatchResponseEntry[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#productsCustomBatchResponse". + */ + kind?: string; + } + /** + * A batch entry encoding a single non-batch products response. + */ + interface Schema$ProductsCustomBatchResponseEntry { + /** + * The ID of the request entry this entry responds to. + */ + batchId?: number; + /** + * A list of errors defined if and only if the request failed. + */ + errors?: Schema$Errors; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#productsCustomBatchResponseEntry". + */ + kind?: string; + /** + * The inserted product. Only defined if the method is insert and if the + * request was successful. + */ + product?: Schema$Product; + } + interface Schema$ProductShipping { + /** + * The CLDR territory code of the country to which an item will ship. + */ + country?: string; + /** + * The location where the shipping is applicable, represented by a location + * group name. + */ + locationGroupName?: string; + /** + * The numeric id of a location that the shipping rate applies to as defined + * in the AdWords API. + */ + locationId?: string; + /** + * The postal code range that the shipping rate applies to, represented by a + * postal code, a postal code prefix followed by a * wildcard, a range + * between two postal codes or two postal code prefixes of equal length. + */ + postalCode?: string; + /** + * Fixed shipping price, represented as a number. + */ + price?: Schema$Price; + /** + * The geographic region to which a shipping rate applies. + */ + region?: string; + /** + * A free-form description of the service class or delivery speed. + */ + service?: string; + } + interface Schema$ProductShippingDimension { + /** + * The unit of value. Acceptable values are: - "cm" - + * "in" + */ + unit?: string; + /** + * The dimension of the product used to calculate the shipping cost of the + * item. + */ + value?: number; + } + interface Schema$ProductShippingWeight { + /** + * The unit of value. + */ + unit?: string; + /** + * The weight of the product used to calculate the shipping cost of the + * item. + */ + value?: number; + } + interface Schema$ProductsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#productsListResponse". + */ + kind?: string; + /** + * The token for the retrieval of the next page of products. + */ + nextPageToken?: string; + resources?: Schema$Product[]; + } + /** + * The status of a product, i.e., information about a product computed + * asynchronously by the data quality analysis. + */ + interface Schema$ProductStatus { + /** + * Date on which the item has been created, in ISO 8601 format. + */ + creationDate?: string; + /** + * A list of data quality issues associated with the product. + */ + dataQualityIssues?: Schema$ProductStatusDataQualityIssue[]; + /** + * The intended destinations for the product. + */ + destinationStatuses?: Schema$ProductStatusDestinationStatus[]; + /** + * Date on which the item expires in Google Shopping, in ISO 8601 format. + */ + googleExpirationDate?: string; + /** + * A list of all issues associated with the product. + */ + itemLevelIssues?: Schema$ProductStatusItemLevelIssue[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#productStatus". + */ + kind?: string; + /** + * Date on which the item has been last updated, in ISO 8601 format. + */ + lastUpdateDate?: string; + /** + * The link to the product. + */ + link?: string; + /** + * Product data after applying all the join inputs. + */ + product?: Schema$Product; + /** + * The id of the product for which status is reported. + */ + productId?: string; + /** + * The title of the product. + */ + title?: string; + } + interface Schema$ProductStatusDataQualityIssue { + /** + * The destination the issue applies to. + */ + destination?: string; + /** + * A more detailed error string. + */ + detail?: string; + /** + * The fetch status for landing_page_errors. + */ + fetchStatus?: string; + /** + * The id of the data quality issue. + */ + id?: string; + /** + * The attribute name that is relevant for the issue. + */ + location?: string; + /** + * The severity of the data quality issue. + */ + severity?: string; + /** + * The time stamp of the data quality issue. + */ + timestamp?: string; + /** + * The value of that attribute that was found on the landing page + */ + valueOnLandingPage?: string; + /** + * The value the attribute had at time of evaluation. + */ + valueProvided?: string; + } + interface Schema$ProductStatusDestinationStatus { + /** + * Whether the approval status might change due to further processing. + */ + approvalPending?: boolean; + /** + * The destination's approval status. + */ + approvalStatus?: string; + /** + * The name of the destination + */ + destination?: string; + /** + * Provided for backward compatibility only. Always set to + * "required". + */ + intention?: string; + } + interface Schema$ProductstatusesCustomBatchRequest { + /** + * The request entries to be processed in the batch. + */ + entries?: Schema$ProductstatusesCustomBatchRequestEntry[]; + } + /** + * A batch entry encoding a single non-batch productstatuses request. + */ + interface Schema$ProductstatusesCustomBatchRequestEntry { + /** + * An entry ID, unique within the batch request. + */ + batchId?: number; + /** + * If set, only issues for the specified destinations are returned, + * otherwise only issues for the Shopping destination. + */ + destinations?: string[]; + includeAttributes?: boolean; + /** + * The ID of the managing account. + */ + merchantId?: string; + method?: string; + /** + * The ID of the product whose status to get. + */ + productId?: string; + } + interface Schema$ProductstatusesCustomBatchResponse { + /** + * The result of the execution of the batch requests. + */ + entries?: Schema$ProductstatusesCustomBatchResponseEntry[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#productstatusesCustomBatchResponse". + */ + kind?: string; + } + /** + * A batch entry encoding a single non-batch productstatuses response. + */ + interface Schema$ProductstatusesCustomBatchResponseEntry { + /** + * The ID of the request entry this entry responds to. + */ + batchId?: number; + /** + * A list of errors, if the request failed. + */ + errors?: Schema$Errors; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#productstatusesCustomBatchResponseEntry". + */ + kind?: string; + /** + * The requested product status. Only defined if the request was successful. + */ + productStatus?: Schema$ProductStatus; + } + interface Schema$ProductstatusesListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#productstatusesListResponse". + */ + kind?: string; + /** + * The token for the retrieval of the next page of products statuses. + */ + nextPageToken?: string; + resources?: Schema$ProductStatus[]; + } + interface Schema$ProductStatusItemLevelIssue { + /** + * The attribute's name, if the issue is caused by a single attribute. + */ + attributeName?: string; + /** + * The error code of the issue. + */ + code?: string; + /** + * A short issue description in English. + */ + description?: string; + /** + * The destination the issue applies to. + */ + destination?: string; + /** + * A detailed issue description in English. + */ + detail?: string; + /** + * The URL of a web page to help with resolving this issue. + */ + documentation?: string; + /** + * Whether the issue can be resolved by the merchant. + */ + resolution?: string; + /** + * How this issue affects serving of the offer. + */ + servability?: string; + } + interface Schema$ProductTax { + /** + * The country within which the item is taxed, specified as a CLDR territory + * code. + */ + country?: string; + /** + * The numeric id of a location that the tax rate applies to as defined in + * the AdWords API. + */ + locationId?: string; + /** + * The postal code range that the tax rate applies to, represented by a ZIP + * code, a ZIP code prefix using * wildcard, a range between two ZIP codes + * or two ZIP code prefixes of equal length. Examples: 94114, 94*, + * 94002-95460, 94*-95*. + */ + postalCode?: string; + /** + * The percentage of tax rate that applies to the item price. + */ + rate?: number; + /** + * The geographic region to which the tax rate applies. + */ + region?: string; + /** + * Set to true if tax is charged on shipping. + */ + taxShip?: boolean; + } + interface Schema$ProductUnitPricingBaseMeasure { + /** + * The unit of the denominator. + */ + unit?: string; + /** + * The denominator of the unit price. + */ + value?: string; + } + interface Schema$ProductUnitPricingMeasure { + /** + * The unit of the measure. + */ + unit?: string; + /** + * The measure of an item. + */ + value?: number; + } + interface Schema$Promotion { + /** + * [required] Amount of the promotion. The values here are the promotion + * applied to the unit price pretax and to the total of the tax amounts. + */ + promotionAmount?: Schema$Amount; + /** + * [required] ID of the promotion. + */ + promotionId?: string; + } + interface Schema$RateGroup { + /** + * A list of shipping labels defining the products to which this rate group + * applies to. This is a disjunction: only one of the labels has to match + * for the rate group to apply. May only be empty for the last rate group of + * a service. Required. + */ + applicableShippingLabels?: string[]; + /** + * A list of carrier rates that can be referred to by mainTable or + * singleValue. + */ + carrierRates?: Schema$CarrierRate[]; + /** + * A table defining the rate group, when singleValue is not expressive + * enough. Can only be set if singleValue is not set. + */ + mainTable?: Schema$Table; + /** + * Name of the rate group. Optional. If set has to be unique within shipping + * service. + */ + name?: string; + /** + * The value of the rate group (e.g. flat rate $10). Can only be set if + * mainTable and subtables are not set. + */ + singleValue?: Schema$Value; + /** + * A list of subtables referred to by mainTable. Can only be set if + * mainTable is set. + */ + subtables?: Schema$Table[]; + } + interface Schema$RefundReason { + description?: string; + reasonCode?: string; + } + interface Schema$ReturnShipment { + creationDate?: string; + returnMethodType?: string; + shipmentId?: string; + shipmentTrackingInfos?: Schema$ShipmentTrackingInfo[]; + } + interface Schema$Row { + /** + * The list of cells that constitute the row. Must have the same length as + * columnHeaders for two-dimensional tables, a length of 1 for + * one-dimensional tables. Required. + */ + cells?: Schema$Value[]; + } + interface Schema$Service { + /** + * A boolean exposing the active status of the shipping service. Required. + */ + active?: boolean; + /** + * The CLDR code of the currency to which this service applies. Must match + * that of the prices in rate groups. + */ + currency?: string; + /** + * The CLDR territory code of the country to which the service applies. + * Required. + */ + deliveryCountry?: string; + /** + * Time spent in various aspects from order to the delivery of the product. + * Required. + */ + deliveryTime?: Schema$DeliveryTime; + /** + * Eligibility for this service. + */ + eligibility?: string; + /** + * Minimum order value for this service. If set, indicates that customers + * will have to spend at least this amount. All prices within a service must + * have the same currency. + */ + minimumOrderValue?: Schema$Price; + /** + * Free-form name of the service. Must be unique within target account. + * Required. + */ + name?: string; + /** + * Shipping rate group definitions. Only the last one is allowed to have an + * empty applicableShippingLabels, which means "everything else". + * The other applicableShippingLabels must not overlap. + */ + rateGroups?: Schema$RateGroup[]; + } + interface Schema$ShipmentInvoice { + /** + * [required] Invoice summary. + */ + invoiceSummary?: Schema$InvoiceSummary; + /** + * [required] Invoice details per line item. + */ + lineItemInvoices?: Schema$ShipmentInvoiceLineItemInvoice[]; + /** + * [required] ID of the shipment group. + */ + shipmentGroupId?: string; + } + interface Schema$ShipmentInvoiceLineItemInvoice { + /** + * ID of the line item. Either lineItemId or productId must be set. + */ + lineItemId?: string; + /** + * ID of the product. This is the REST ID used in the products service. + * Either lineItemId or productId must be set. + */ + productId?: string; + /** + * [required] Unit IDs to define specific units within the line item. + */ + shipmentUnitIds?: string[]; + /** + * [required] Invoice details for a single unit. + */ + unitInvoice?: Schema$UnitInvoice; + } + interface Schema$ShipmentTrackingInfo { + carrier?: string; + trackingNumber?: string; + } + /** + * The merchant account's shipping settings. + */ + interface Schema$ShippingSettings { + /** + * The ID of the account to which these account shipping settings belong. + * Ignored upon update, always present in get request responses. + */ + accountId?: string; + /** + * A list of postal code groups that can be referred to in services. + * Optional. + */ + postalCodeGroups?: Schema$PostalCodeGroup[]; + /** + * The target account's list of services. Optional. + */ + services?: Schema$Service[]; + } + interface Schema$ShippingsettingsCustomBatchRequest { + /** + * The request entries to be processed in the batch. + */ + entries?: Schema$ShippingsettingsCustomBatchRequestEntry[]; + } + /** + * A batch entry encoding a single non-batch shippingsettings request. + */ + interface Schema$ShippingsettingsCustomBatchRequestEntry { + /** + * The ID of the account for which to get/update account shipping settings. + */ + accountId?: string; + /** + * An entry ID, unique within the batch request. + */ + batchId?: number; + /** + * The ID of the managing account. + */ + merchantId?: string; + method?: string; + /** + * The account shipping settings to update. Only defined if the method is + * update. + */ + shippingSettings?: Schema$ShippingSettings; + } + interface Schema$ShippingsettingsCustomBatchResponse { + /** + * The result of the execution of the batch requests. + */ + entries?: Schema$ShippingsettingsCustomBatchResponseEntry[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#shippingsettingsCustomBatchResponse". + */ + kind?: string; + } + /** + * A batch entry encoding a single non-batch shipping settings response. + */ + interface Schema$ShippingsettingsCustomBatchResponseEntry { + /** + * The ID of the request entry to which this entry responds. + */ + batchId?: number; + /** + * A list of errors defined if, and only if, the request failed. + */ + errors?: Schema$Errors; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#shippingsettingsCustomBatchResponseEntry". + */ + kind?: string; + /** + * The retrieved or updated account shipping settings. + */ + shippingSettings?: Schema$ShippingSettings; + } + interface Schema$ShippingsettingsGetSupportedCarriersResponse { + /** + * A list of supported carriers. May be empty. + */ + carriers?: Schema$CarriersCarrier[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#shippingsettingsGetSupportedCarriersResponse". + */ + kind?: string; + } + interface Schema$ShippingsettingsGetSupportedHolidaysResponse { + /** + * A list of holidays applicable for delivery guarantees. May be empty. + */ + holidays?: Schema$HolidaysHoliday[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#shippingsettingsGetSupportedHolidaysResponse". + */ + kind?: string; + } + interface Schema$ShippingsettingsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#shippingsettingsListResponse". + */ + kind?: string; + /** + * The token for the retrieval of the next page of shipping settings. + */ + nextPageToken?: string; + resources?: Schema$ShippingSettings[]; + } + interface Schema$Table { + /** + * Headers of the table's columns. Optional: if not set then the table + * has only one dimension. + */ + columnHeaders?: Schema$Headers; + /** + * Name of the table. Required for subtables, ignored for the main table. + */ + name?: string; + /** + * Headers of the table's rows. Required. + */ + rowHeaders?: Schema$Headers; + /** + * The list of rows that constitute the table. Must have the same length as + * rowHeaders. Required. + */ + rows?: Schema$Row[]; + } + interface Schema$TestOrder { + /** + * The details of the customer who placed the order. + */ + customer?: Schema$TestOrderCustomer; + /** + * Whether the orderinvoices service should support this order. + */ + enableOrderinvoices?: boolean; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#testOrder". + */ + kind?: string; + /** + * Line items that are ordered. At least one line item must be provided. + */ + lineItems?: Schema$TestOrderLineItem[]; + /** + * Determines if test order must be pulled by merchant or pushed to merchant + * via push integration. + */ + notificationMode?: string; + /** + * The details of the payment method. + */ + paymentMethod?: Schema$TestOrderPaymentMethod; + /** + * Identifier of one of the predefined delivery addresses for the delivery. + */ + predefinedDeliveryAddress?: string; + /** + * The details of the merchant provided promotions applied to the order. + * More details about the program are here. + */ + promotions?: Schema$OrderPromotion[]; + /** + * The total cost of shipping for all items. + */ + shippingCost?: Schema$Price; + /** + * The tax for the total shipping cost. + */ + shippingCostTax?: Schema$Price; + /** + * The requested shipping option. + */ + shippingOption?: string; + } + interface Schema$TestOrderCustomer { + /** + * Deprecated. + */ + email?: string; + /** + * Deprecated. Please use marketingRightsInfo instead. + */ + explicitMarketingPreference?: boolean; + /** + * Full name of the customer. + */ + fullName?: string; + /** + * Customer's marketing preferences. + */ + marketingRightsInfo?: Schema$TestOrderCustomerMarketingRightsInfo; + } + interface Schema$TestOrderCustomerMarketingRightsInfo { + /** + * Last know user use selection regards marketing preferences. In certain + * cases selection might not be known, so this field would be empty. + */ + explicitMarketingPreference?: string; + /** + * Timestamp when last time marketing preference was updated. Could be + * empty, if user wasn't offered a selection yet. + */ + lastUpdatedTimestamp?: string; + } + interface Schema$TestOrderLineItem { + /** + * Product data from the time of the order placement. + */ + product?: Schema$TestOrderLineItemProduct; + /** + * Number of items ordered. + */ + quantityOrdered?: number; + /** + * Details of the return policy for the line item. + */ + returnInfo?: Schema$OrderLineItemReturnInfo; + /** + * Details of the requested shipping for the line item. + */ + shippingDetails?: Schema$OrderLineItemShippingDetails; + /** + * Unit tax for the line item. + */ + unitTax?: Schema$Price; + } + interface Schema$TestOrderLineItemProduct { + /** + * Brand of the item. + */ + brand?: string; + /** + * The item's channel. + */ + channel?: string; + /** + * Condition or state of the item. + */ + condition?: string; + /** + * The two-letter ISO 639-1 language code for the item. + */ + contentLanguage?: string; + /** + * Global Trade Item Number (GTIN) of the item. Optional. + */ + gtin?: string; + /** + * URL of an image of the item. + */ + imageLink?: string; + /** + * Shared identifier for all variants of the same product. Optional. + */ + itemGroupId?: string; + /** + * Manufacturer Part Number (MPN) of the item. Optional. + */ + mpn?: string; + /** + * An identifier of the item. + */ + offerId?: string; + /** + * The price for the product. + */ + price?: Schema$Price; + /** + * The CLDR territory code of the target country of the product. + */ + targetCountry?: string; + /** + * The title of the product. + */ + title?: string; + /** + * Variant attributes for the item. Optional. + */ + variantAttributes?: Schema$OrderLineItemProductVariantAttribute[]; + } + interface Schema$TestOrderPaymentMethod { + /** + * The card expiration month (January = 1, February = 2 etc.). + */ + expirationMonth?: number; + /** + * The card expiration year (4-digit, e.g. 2015). + */ + expirationYear?: number; + /** + * The last four digits of the card number. + */ + lastFourDigits?: string; + /** + * The billing address. + */ + predefinedBillingAddress?: string; + /** + * The type of instrument. Note that real orders might have different values + * than the four values accepted by createTestOrder. + */ + type?: string; + } + interface Schema$UnitInvoice { + /** + * Additional charges for a unit, e.g. shipping costs. + */ + additionalCharges?: Schema$UnitInvoiceAdditionalCharge[]; + /** + * Promotions applied to a unit. + */ + promotions?: Schema$Promotion[]; + /** + * [required] Price of the unit, before applying taxes. + */ + unitPricePretax?: Schema$Price; + /** + * Tax amounts to apply to the unit price. + */ + unitPriceTaxes?: Schema$UnitInvoiceTaxLine[]; + } + interface Schema$UnitInvoiceAdditionalCharge { + /** + * [required] Amount of the additional charge. + */ + additionalChargeAmount?: Schema$Amount; + /** + * Promotions applied to the additional charge. + */ + additionalChargePromotions?: Schema$Promotion[]; + /** + * [required] Type of the additional charge. + */ + type?: string; + } + interface Schema$UnitInvoiceTaxLine { + /** + * [required] Tax amount for the tax type. + */ + taxAmount?: Schema$Price; + /** + * Optional name of the tax type. This should only be provided if taxType is + * otherFeeTax. + */ + taxName?: string; + /** + * [required] Type of the tax. + */ + taxType?: string; + } + /** + * The single value of a rate group or the value of a rate group table's + * cell. Exactly one of noShipping, flatRate, pricePercentage, + * carrierRateName, subtableName must be set. + */ + interface Schema$Value { + /** + * The name of a carrier rate referring to a carrier rate defined in the + * same rate group. Can only be set if all other fields are not set. + */ + carrierRateName?: string; + /** + * A flat rate. Can only be set if all other fields are not set. + */ + flatRate?: Schema$Price; + /** + * If true, then the product can't ship. Must be true when set, can only + * be set if all other fields are not set. + */ + noShipping?: boolean; + /** + * A percentage of the price represented as a number in decimal notation + * (e.g., "5.4"). Can only be set if all other fields are not set. + */ + pricePercentage?: string; + /** + * The name of a subtable. Can only be set in table cells (i.e., not for + * single values), and only if all other fields are not set. + */ + subtableName?: string; + } + interface Schema$Weight { + /** + * The weight unit. + */ + unit?: string; + /** + * The weight represented as a number. + */ + value?: string; + } + class Resource$Accounts { + root: Content; + constructor(root: Content); + getRoot(): Content; + /** + * content.accounts.authinfo + * @desc Returns information about the authenticated user. + * @alias content.accounts.authinfo + * @memberOf! () + * + * @param {object=} params Parameters for request + * @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 + */ + authinfo(params?: Params$Resource$Accounts$Authinfo, options?: MethodOptions): AxiosPromise; + authinfo(params: Params$Resource$Accounts$Authinfo, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + authinfo(params: Params$Resource$Accounts$Authinfo, callback: BodyResponseCallback): void; + authinfo(callback: BodyResponseCallback): void; + /** + * content.accounts.claimwebsite + * @desc Claims the website of a Merchant Center sub-account. + * @alias content.accounts.claimwebsite + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The ID of the account whose website is claimed. + * @param {string} params.merchantId The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account. + * @param {boolean=} params.overwrite Only available to selected merchants. When set to True, this flag removes any existing claim on the requested website by another account and replaces it with a claim from this account. + * @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 + */ + claimwebsite(params?: Params$Resource$Accounts$Claimwebsite, options?: MethodOptions): AxiosPromise; + claimwebsite(params: Params$Resource$Accounts$Claimwebsite, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + claimwebsite(params: Params$Resource$Accounts$Claimwebsite, callback: BodyResponseCallback): void; + claimwebsite(callback: BodyResponseCallback): void; + /** + * content.accounts.custombatch + * @desc Retrieves, inserts, updates, and deletes multiple Merchant Center + * (sub-)accounts in a single request. + * @alias content.accounts.custombatch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.dryRun Flag to run the request in dry-run mode. + * @param {().AccountsCustomBatchRequest} 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 + */ + custombatch(params?: Params$Resource$Accounts$Custombatch, options?: MethodOptions): AxiosPromise; + custombatch(params: Params$Resource$Accounts$Custombatch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + custombatch(params: Params$Resource$Accounts$Custombatch, callback: BodyResponseCallback): void; + custombatch(callback: BodyResponseCallback): void; + /** + * content.accounts.delete + * @desc Deletes a Merchant Center sub-account. + * @alias content.accounts.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The ID of the account. + * @param {boolean=} params.dryRun Flag to run the request in dry-run mode. + * @param {boolean=} params.force Flag to delete sub-accounts with products. The default value is false. + * @param {string} params.merchantId The ID of the managing account. This must be a multi-client account, and accountId must be the ID of a sub-account of this account. + * @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?: Params$Resource$Accounts$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Accounts$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Accounts$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * content.accounts.get + * @desc Retrieves a Merchant Center account. + * @alias content.accounts.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The ID of the account. + * @param {string} params.merchantId The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account. + * @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?: Params$Resource$Accounts$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accounts$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accounts$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * content.accounts.insert + * @desc Creates a Merchant Center sub-account. + * @alias content.accounts.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.dryRun Flag to run the request in dry-run mode. + * @param {string} params.merchantId The ID of the managing account. This must be a multi-client account. + * @param {().Account} 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?: Params$Resource$Accounts$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Accounts$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Accounts$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * content.accounts.link + * @desc Performs an action on a link between a Merchant Center account and + * another account. + * @alias content.accounts.link + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The ID of the account that should be linked. + * @param {string} params.merchantId The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account. + * @param {().AccountsLinkRequest} 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 + */ + link(params?: Params$Resource$Accounts$Link, options?: MethodOptions): AxiosPromise; + link(params: Params$Resource$Accounts$Link, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + link(params: Params$Resource$Accounts$Link, callback: BodyResponseCallback): void; + link(callback: BodyResponseCallback): void; + /** + * content.accounts.list + * @desc Lists the sub-accounts in your Merchant Center account. + * @alias content.accounts.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.maxResults The maximum number of accounts to return in the response, used for paging. + * @param {string} params.merchantId The ID of the managing account. This must be a multi-client account. + * @param {string=} params.pageToken The token returned by the previous request. + * @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?: Params$Resource$Accounts$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accounts$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accounts$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * content.accounts.patch + * @desc Updates a Merchant Center account. This method supports patch + * semantics. + * @alias content.accounts.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The ID of the account. + * @param {boolean=} params.dryRun Flag to run the request in dry-run mode. + * @param {string} params.merchantId The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account. + * @param {().Account} 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 + */ + patch(params?: Params$Resource$Accounts$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Accounts$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Accounts$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * content.accounts.update + * @desc Updates a Merchant Center account. + * @alias content.accounts.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The ID of the account. + * @param {boolean=} params.dryRun Flag to run the request in dry-run mode. + * @param {string} params.merchantId The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account. + * @param {().Account} 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?: Params$Resource$Accounts$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Accounts$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Accounts$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Authinfo { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } + interface Params$Resource$Accounts$Claimwebsite { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account whose website is claimed. + */ + accountId?: string; + /** + * The ID of the managing account. If this parameter is not the same as + * accountId, then this account must be a multi-client account and accountId + * must be the ID of a sub-account of this account. + */ + merchantId?: string; + /** + * Only available to selected merchants. When set to True, this flag removes + * any existing claim on the requested website by another account and + * replaces it with a claim from this account. + */ + overwrite?: boolean; + } + interface Params$Resource$Accounts$Custombatch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Flag to run the request in dry-run mode. + */ + dryRun?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$AccountsCustomBatchRequest; + } + interface Params$Resource$Accounts$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account. + */ + accountId?: string; + /** + * Flag to run the request in dry-run mode. + */ + dryRun?: boolean; + /** + * Flag to delete sub-accounts with products. The default value is false. + */ + force?: boolean; + /** + * The ID of the managing account. This must be a multi-client account, and + * accountId must be the ID of a sub-account of this account. + */ + merchantId?: string; + } + interface Params$Resource$Accounts$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account. + */ + accountId?: string; + /** + * The ID of the managing account. If this parameter is not the same as + * accountId, then this account must be a multi-client account and accountId + * must be the ID of a sub-account of this account. + */ + merchantId?: string; + } + interface Params$Resource$Accounts$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Flag to run the request in dry-run mode. + */ + dryRun?: boolean; + /** + * The ID of the managing account. This must be a multi-client account. + */ + merchantId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Account; + } + interface Params$Resource$Accounts$Link { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account that should be linked. + */ + accountId?: string; + /** + * The ID of the managing account. If this parameter is not the same as + * accountId, then this account must be a multi-client account and accountId + * must be the ID of a sub-account of this account. + */ + merchantId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AccountsLinkRequest; + } + interface Params$Resource$Accounts$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The maximum number of accounts to return in the response, used for + * paging. + */ + maxResults?: number; + /** + * The ID of the managing account. This must be a multi-client account. + */ + merchantId?: string; + /** + * The token returned by the previous request. + */ + pageToken?: string; + } + interface Params$Resource$Accounts$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account. + */ + accountId?: string; + /** + * Flag to run the request in dry-run mode. + */ + dryRun?: boolean; + /** + * The ID of the managing account. If this parameter is not the same as + * accountId, then this account must be a multi-client account and accountId + * must be the ID of a sub-account of this account. + */ + merchantId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Account; + } + interface Params$Resource$Accounts$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account. + */ + accountId?: string; + /** + * Flag to run the request in dry-run mode. + */ + dryRun?: boolean; + /** + * The ID of the managing account. If this parameter is not the same as + * accountId, then this account must be a multi-client account and accountId + * must be the ID of a sub-account of this account. + */ + merchantId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Account; + } + class Resource$Accountstatuses { + root: Content; + constructor(root: Content); + getRoot(): Content; + /** + * content.accountstatuses.custombatch + * @alias content.accountstatuses.custombatch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().AccountstatusesCustomBatchRequest} 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 + */ + custombatch(params?: Params$Resource$Accountstatuses$Custombatch, options?: MethodOptions): AxiosPromise; + custombatch(params: Params$Resource$Accountstatuses$Custombatch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + custombatch(params: Params$Resource$Accountstatuses$Custombatch, callback: BodyResponseCallback): void; + custombatch(callback: BodyResponseCallback): void; + /** + * content.accountstatuses.get + * @desc Retrieves the status of a Merchant Center account. Multi-client + * accounts can only call this method for sub-accounts. + * @alias content.accountstatuses.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The ID of the account. + * @param {string=} params.destinations If set, only issues for the specified destinations are returned, otherwise only issues for the Shopping destination. + * @param {string} params.merchantId The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account. + * @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?: Params$Resource$Accountstatuses$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accountstatuses$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accountstatuses$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * content.accountstatuses.list + * @desc Lists the statuses of the sub-accounts in your Merchant Center + * account. + * @alias content.accountstatuses.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.destinations If set, only issues for the specified destinations are returned, otherwise only issues for the Shopping destination. + * @param {integer=} params.maxResults The maximum number of account statuses to return in the response, used for paging. + * @param {string} params.merchantId The ID of the managing account. This must be a multi-client account. + * @param {string=} params.pageToken The token returned by the previous request. + * @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?: Params$Resource$Accountstatuses$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accountstatuses$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accountstatuses$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accountstatuses$Custombatch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$AccountstatusesCustomBatchRequest; + } + interface Params$Resource$Accountstatuses$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account. + */ + accountId?: string; + /** + * If set, only issues for the specified destinations are returned, + * otherwise only issues for the Shopping destination. + */ + destinations?: string; + /** + * The ID of the managing account. If this parameter is not the same as + * accountId, then this account must be a multi-client account and accountId + * must be the ID of a sub-account of this account. + */ + merchantId?: string; + } + interface Params$Resource$Accountstatuses$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * If set, only issues for the specified destinations are returned, + * otherwise only issues for the Shopping destination. + */ + destinations?: string; + /** + * The maximum number of account statuses to return in the response, used + * for paging. + */ + maxResults?: number; + /** + * The ID of the managing account. This must be a multi-client account. + */ + merchantId?: string; + /** + * The token returned by the previous request. + */ + pageToken?: string; + } + class Resource$Accounttax { + root: Content; + constructor(root: Content); + getRoot(): Content; + /** + * content.accounttax.custombatch + * @desc Retrieves and updates tax settings of multiple accounts in a single + * request. + * @alias content.accounttax.custombatch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.dryRun Flag to run the request in dry-run mode. + * @param {().AccounttaxCustomBatchRequest} 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 + */ + custombatch(params?: Params$Resource$Accounttax$Custombatch, options?: MethodOptions): AxiosPromise; + custombatch(params: Params$Resource$Accounttax$Custombatch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + custombatch(params: Params$Resource$Accounttax$Custombatch, callback: BodyResponseCallback): void; + custombatch(callback: BodyResponseCallback): void; + /** + * content.accounttax.get + * @desc Retrieves the tax settings of the account. + * @alias content.accounttax.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The ID of the account for which to get/update account tax settings. + * @param {string} params.merchantId The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account. + * @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?: Params$Resource$Accounttax$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accounttax$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accounttax$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * content.accounttax.list + * @desc Lists the tax settings of the sub-accounts in your Merchant Center + * account. + * @alias content.accounttax.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.maxResults The maximum number of tax settings to return in the response, used for paging. + * @param {string} params.merchantId The ID of the managing account. This must be a multi-client account. + * @param {string=} params.pageToken The token returned by the previous request. + * @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?: Params$Resource$Accounttax$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accounttax$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accounttax$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * content.accounttax.patch + * @desc Updates the tax settings of the account. This method supports patch + * semantics. + * @alias content.accounttax.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The ID of the account for which to get/update account tax settings. + * @param {boolean=} params.dryRun Flag to run the request in dry-run mode. + * @param {string} params.merchantId The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account. + * @param {().AccountTax} 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 + */ + patch(params?: Params$Resource$Accounttax$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Accounttax$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Accounttax$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * content.accounttax.update + * @desc Updates the tax settings of the account. + * @alias content.accounttax.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The ID of the account for which to get/update account tax settings. + * @param {boolean=} params.dryRun Flag to run the request in dry-run mode. + * @param {string} params.merchantId The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account. + * @param {().AccountTax} 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?: Params$Resource$Accounttax$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Accounttax$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Accounttax$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounttax$Custombatch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Flag to run the request in dry-run mode. + */ + dryRun?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$AccounttaxCustomBatchRequest; + } + interface Params$Resource$Accounttax$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account for which to get/update account tax settings. + */ + accountId?: string; + /** + * The ID of the managing account. If this parameter is not the same as + * accountId, then this account must be a multi-client account and accountId + * must be the ID of a sub-account of this account. + */ + merchantId?: string; + } + interface Params$Resource$Accounttax$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The maximum number of tax settings to return in the response, used for + * paging. + */ + maxResults?: number; + /** + * The ID of the managing account. This must be a multi-client account. + */ + merchantId?: string; + /** + * The token returned by the previous request. + */ + pageToken?: string; + } + interface Params$Resource$Accounttax$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account for which to get/update account tax settings. + */ + accountId?: string; + /** + * Flag to run the request in dry-run mode. + */ + dryRun?: boolean; + /** + * The ID of the managing account. If this parameter is not the same as + * accountId, then this account must be a multi-client account and accountId + * must be the ID of a sub-account of this account. + */ + merchantId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AccountTax; + } + interface Params$Resource$Accounttax$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account for which to get/update account tax settings. + */ + accountId?: string; + /** + * Flag to run the request in dry-run mode. + */ + dryRun?: boolean; + /** + * The ID of the managing account. If this parameter is not the same as + * accountId, then this account must be a multi-client account and accountId + * must be the ID of a sub-account of this account. + */ + merchantId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AccountTax; + } + class Resource$Datafeeds { + root: Content; + constructor(root: Content); + getRoot(): Content; + /** + * content.datafeeds.custombatch + * @alias content.datafeeds.custombatch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.dryRun Flag to run the request in dry-run mode. + * @param {().DatafeedsCustomBatchRequest} 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 + */ + custombatch(params?: Params$Resource$Datafeeds$Custombatch, options?: MethodOptions): AxiosPromise; + custombatch(params: Params$Resource$Datafeeds$Custombatch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + custombatch(params: Params$Resource$Datafeeds$Custombatch, callback: BodyResponseCallback): void; + custombatch(callback: BodyResponseCallback): void; + /** + * content.datafeeds.delete + * @desc Deletes a datafeed configuration from your Merchant Center account. + * @alias content.datafeeds.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.datafeedId The ID of the datafeed. + * @param {boolean=} params.dryRun Flag to run the request in dry-run mode. + * @param {string} params.merchantId The ID of the account that manages the datafeed. This account cannot be a multi-client account. + * @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?: Params$Resource$Datafeeds$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Datafeeds$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Datafeeds$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * content.datafeeds.fetchnow + * @desc Invokes a fetch for the datafeed in your Merchant Center account. + * @alias content.datafeeds.fetchnow + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.datafeedId The ID of the datafeed to be fetched. + * @param {boolean=} params.dryRun Flag to run the request in dry-run mode. + * @param {string} params.merchantId The ID of the account that manages the datafeed. This account cannot be a multi-client account. + * @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 + */ + fetchnow(params?: Params$Resource$Datafeeds$Fetchnow, options?: MethodOptions): AxiosPromise; + fetchnow(params: Params$Resource$Datafeeds$Fetchnow, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + fetchnow(params: Params$Resource$Datafeeds$Fetchnow, callback: BodyResponseCallback): void; + fetchnow(callback: BodyResponseCallback): void; + /** + * content.datafeeds.get + * @desc Retrieves a datafeed configuration from your Merchant Center + * account. + * @alias content.datafeeds.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.datafeedId The ID of the datafeed. + * @param {string} params.merchantId The ID of the account that manages the datafeed. This account cannot be a multi-client account. + * @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?: Params$Resource$Datafeeds$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Datafeeds$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Datafeeds$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * content.datafeeds.insert + * @desc Registers a datafeed configuration with your Merchant Center + * account. + * @alias content.datafeeds.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.dryRun Flag to run the request in dry-run mode. + * @param {string} params.merchantId The ID of the account that manages the datafeed. This account cannot be a multi-client account. + * @param {().Datafeed} 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?: Params$Resource$Datafeeds$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Datafeeds$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Datafeeds$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * content.datafeeds.list + * @desc Lists the configurations for datafeeds in your Merchant Center + * account. + * @alias content.datafeeds.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.maxResults The maximum number of products to return in the response, used for paging. + * @param {string} params.merchantId The ID of the account that manages the datafeeds. This account cannot be a multi-client account. + * @param {string=} params.pageToken The token returned by the previous request. + * @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?: Params$Resource$Datafeeds$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Datafeeds$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Datafeeds$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * content.datafeeds.patch + * @desc Updates a datafeed configuration of your Merchant Center account. + * This method supports patch semantics. + * @alias content.datafeeds.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.datafeedId The ID of the datafeed. + * @param {boolean=} params.dryRun Flag to run the request in dry-run mode. + * @param {string} params.merchantId The ID of the account that manages the datafeed. This account cannot be a multi-client account. + * @param {().Datafeed} 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 + */ + patch(params?: Params$Resource$Datafeeds$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Datafeeds$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Datafeeds$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * content.datafeeds.update + * @desc Updates a datafeed configuration of your Merchant Center account. + * @alias content.datafeeds.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.datafeedId The ID of the datafeed. + * @param {boolean=} params.dryRun Flag to run the request in dry-run mode. + * @param {string} params.merchantId The ID of the account that manages the datafeed. This account cannot be a multi-client account. + * @param {().Datafeed} 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?: Params$Resource$Datafeeds$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Datafeeds$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Datafeeds$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Datafeeds$Custombatch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Flag to run the request in dry-run mode. + */ + dryRun?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$DatafeedsCustomBatchRequest; + } + interface Params$Resource$Datafeeds$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the datafeed. + */ + datafeedId?: string; + /** + * Flag to run the request in dry-run mode. + */ + dryRun?: boolean; + /** + * The ID of the account that manages the datafeed. This account cannot be a + * multi-client account. + */ + merchantId?: string; + } + interface Params$Resource$Datafeeds$Fetchnow { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the datafeed to be fetched. + */ + datafeedId?: string; + /** + * Flag to run the request in dry-run mode. + */ + dryRun?: boolean; + /** + * The ID of the account that manages the datafeed. This account cannot be a + * multi-client account. + */ + merchantId?: string; + } + interface Params$Resource$Datafeeds$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the datafeed. + */ + datafeedId?: string; + /** + * The ID of the account that manages the datafeed. This account cannot be a + * multi-client account. + */ + merchantId?: string; + } + interface Params$Resource$Datafeeds$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Flag to run the request in dry-run mode. + */ + dryRun?: boolean; + /** + * The ID of the account that manages the datafeed. This account cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Datafeed; + } + interface Params$Resource$Datafeeds$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The maximum number of products to return in the response, used for + * paging. + */ + maxResults?: number; + /** + * The ID of the account that manages the datafeeds. This account cannot be + * a multi-client account. + */ + merchantId?: string; + /** + * The token returned by the previous request. + */ + pageToken?: string; + } + interface Params$Resource$Datafeeds$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the datafeed. + */ + datafeedId?: string; + /** + * Flag to run the request in dry-run mode. + */ + dryRun?: boolean; + /** + * The ID of the account that manages the datafeed. This account cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Datafeed; + } + interface Params$Resource$Datafeeds$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the datafeed. + */ + datafeedId?: string; + /** + * Flag to run the request in dry-run mode. + */ + dryRun?: boolean; + /** + * The ID of the account that manages the datafeed. This account cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Datafeed; + } + class Resource$Datafeedstatuses { + root: Content; + constructor(root: Content); + getRoot(): Content; + /** + * content.datafeedstatuses.custombatch + * @alias content.datafeedstatuses.custombatch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().DatafeedstatusesCustomBatchRequest} 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 + */ + custombatch(params?: Params$Resource$Datafeedstatuses$Custombatch, options?: MethodOptions): AxiosPromise; + custombatch(params: Params$Resource$Datafeedstatuses$Custombatch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + custombatch(params: Params$Resource$Datafeedstatuses$Custombatch, callback: BodyResponseCallback): void; + custombatch(callback: BodyResponseCallback): void; + /** + * content.datafeedstatuses.get + * @desc Retrieves the status of a datafeed from your Merchant Center + * account. + * @alias content.datafeedstatuses.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.country The country for which to get the datafeed status. If this parameter is provided then language must also be provided. Note that this parameter is required for feeds targeting multiple countries and languages, since a feed may have a different status for each target. + * @param {string} params.datafeedId The ID of the datafeed. + * @param {string=} params.language The language for which to get the datafeed status. If this parameter is provided then country must also be provided. Note that this parameter is required for feeds targeting multiple countries and languages, since a feed may have a different status for each target. + * @param {string} params.merchantId The ID of the account that manages the datafeed. This account cannot be a multi-client account. + * @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?: Params$Resource$Datafeedstatuses$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Datafeedstatuses$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Datafeedstatuses$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * content.datafeedstatuses.list + * @desc Lists the statuses of the datafeeds in your Merchant Center + * account. + * @alias content.datafeedstatuses.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.maxResults The maximum number of products to return in the response, used for paging. + * @param {string} params.merchantId The ID of the account that manages the datafeeds. This account cannot be a multi-client account. + * @param {string=} params.pageToken The token returned by the previous request. + * @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?: Params$Resource$Datafeedstatuses$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Datafeedstatuses$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Datafeedstatuses$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Datafeedstatuses$Custombatch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$DatafeedstatusesCustomBatchRequest; + } + interface Params$Resource$Datafeedstatuses$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The country for which to get the datafeed status. If this parameter is + * provided then language must also be provided. Note that this parameter is + * required for feeds targeting multiple countries and languages, since a + * feed may have a different status for each target. + */ + country?: string; + /** + * The ID of the datafeed. + */ + datafeedId?: string; + /** + * The language for which to get the datafeed status. If this parameter is + * provided then country must also be provided. Note that this parameter is + * required for feeds targeting multiple countries and languages, since a + * feed may have a different status for each target. + */ + language?: string; + /** + * The ID of the account that manages the datafeed. This account cannot be a + * multi-client account. + */ + merchantId?: string; + } + interface Params$Resource$Datafeedstatuses$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The maximum number of products to return in the response, used for + * paging. + */ + maxResults?: number; + /** + * The ID of the account that manages the datafeeds. This account cannot be + * a multi-client account. + */ + merchantId?: string; + /** + * The token returned by the previous request. + */ + pageToken?: string; + } + class Resource$Inventory { + root: Content; + constructor(root: Content); + getRoot(): Content; + /** + * content.inventory.custombatch + * @desc Updates price and availability for multiple products or stores in a + * single request. This operation does not update the expiration date of the + * products. + * @alias content.inventory.custombatch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.dryRun Flag to run the request in dry-run mode. + * @param {().InventoryCustomBatchRequest} 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 + */ + custombatch(params?: Params$Resource$Inventory$Custombatch, options?: MethodOptions): AxiosPromise; + custombatch(params: Params$Resource$Inventory$Custombatch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + custombatch(params: Params$Resource$Inventory$Custombatch, callback: BodyResponseCallback): void; + custombatch(callback: BodyResponseCallback): void; + /** + * content.inventory.set + * @desc Updates price and availability of a product in your Merchant Center + * account. + * @alias content.inventory.set + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.dryRun Flag to run the request in dry-run mode. + * @param {string} params.merchantId The ID of the account that contains the product. This account cannot be a multi-client account. + * @param {string} params.productId The REST id of the product for which to update price and availability. + * @param {string} params.storeCode The code of the store for which to update price and availability. Use online to update price and availability of an online product. + * @param {().InventorySetRequest} 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 + */ + set(params?: Params$Resource$Inventory$Set, options?: MethodOptions): AxiosPromise; + set(params: Params$Resource$Inventory$Set, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + set(params: Params$Resource$Inventory$Set, callback: BodyResponseCallback): void; + set(callback: BodyResponseCallback): void; + } + interface Params$Resource$Inventory$Custombatch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Flag to run the request in dry-run mode. + */ + dryRun?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$InventoryCustomBatchRequest; + } + interface Params$Resource$Inventory$Set { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Flag to run the request in dry-run mode. + */ + dryRun?: boolean; + /** + * The ID of the account that contains the product. This account cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The REST id of the product for which to update price and availability. + */ + productId?: string; + /** + * The code of the store for which to update price and availability. Use + * online to update price and availability of an online product. + */ + storeCode?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InventorySetRequest; + } + class Resource$Liasettings { + root: Content; + constructor(root: Content); + getRoot(): Content; + /** + * content.liasettings.custombatch + * @desc Retrieves and/or updates the LIA settings of multiple accounts in a + * single request. + * @alias content.liasettings.custombatch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.dryRun Flag to run the request in dry-run mode. + * @param {().LiasettingsCustomBatchRequest} 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 + */ + custombatch(params?: Params$Resource$Liasettings$Custombatch, options?: MethodOptions): AxiosPromise; + custombatch(params: Params$Resource$Liasettings$Custombatch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + custombatch(params: Params$Resource$Liasettings$Custombatch, callback: BodyResponseCallback): void; + custombatch(callback: BodyResponseCallback): void; + /** + * content.liasettings.get + * @desc Retrieves the LIA settings of the account. + * @alias content.liasettings.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The ID of the account for which to get or update LIA settings. + * @param {string} params.merchantId The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account. + * @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?: Params$Resource$Liasettings$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Liasettings$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Liasettings$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * content.liasettings.getaccessiblegmbaccounts + * @desc Retrieves the list of accessible Google My Business accounts. + * @alias content.liasettings.getaccessiblegmbaccounts + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The ID of the account for which to retrieve accessible Google My Business accounts. + * @param {string} params.merchantId The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account. + * @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 + */ + getaccessiblegmbaccounts(params?: Params$Resource$Liasettings$Getaccessiblegmbaccounts, options?: MethodOptions): AxiosPromise; + getaccessiblegmbaccounts(params: Params$Resource$Liasettings$Getaccessiblegmbaccounts, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getaccessiblegmbaccounts(params: Params$Resource$Liasettings$Getaccessiblegmbaccounts, callback: BodyResponseCallback): void; + getaccessiblegmbaccounts(callback: BodyResponseCallback): void; + /** + * content.liasettings.list + * @desc Lists the LIA settings of the sub-accounts in your Merchant Center + * account. + * @alias content.liasettings.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.maxResults The maximum number of LIA settings to return in the response, used for paging. + * @param {string} params.merchantId The ID of the managing account. This must be a multi-client account. + * @param {string=} params.pageToken The token returned by the previous request. + * @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?: Params$Resource$Liasettings$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Liasettings$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Liasettings$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * content.liasettings.listposdataproviders + * @desc Retrieves the list of POS data providers that have active settings + * for the all eiligible countries. + * @alias content.liasettings.listposdataproviders + * @memberOf! () + * + * @param {object=} params Parameters for request + * @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 + */ + listposdataproviders(params?: Params$Resource$Liasettings$Listposdataproviders, options?: MethodOptions): AxiosPromise; + listposdataproviders(params: Params$Resource$Liasettings$Listposdataproviders, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listposdataproviders(params: Params$Resource$Liasettings$Listposdataproviders, callback: BodyResponseCallback): void; + listposdataproviders(callback: BodyResponseCallback): void; + /** + * content.liasettings.patch + * @desc Updates the LIA settings of the account. This method supports patch + * semantics. + * @alias content.liasettings.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The ID of the account for which to get or update LIA settings. + * @param {boolean=} params.dryRun Flag to run the request in dry-run mode. + * @param {string} params.merchantId The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account. + * @param {().LiaSettings} 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 + */ + patch(params?: Params$Resource$Liasettings$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Liasettings$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Liasettings$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * content.liasettings.requestgmbaccess + * @desc Requests access to a specified Google My Business account. + * @alias content.liasettings.requestgmbaccess + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The ID of the account for which GMB access is requested. + * @param {string=} params.gmbEmail The email of the Google My Business account. + * @param {string} params.merchantId The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account. + * @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 + */ + requestgmbaccess(params?: Params$Resource$Liasettings$Requestgmbaccess, options?: MethodOptions): AxiosPromise; + requestgmbaccess(params: Params$Resource$Liasettings$Requestgmbaccess, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + requestgmbaccess(params: Params$Resource$Liasettings$Requestgmbaccess, callback: BodyResponseCallback): void; + requestgmbaccess(callback: BodyResponseCallback): void; + /** + * content.liasettings.requestinventoryverification + * @desc Requests inventory validation for the specified country. + * @alias content.liasettings.requestinventoryverification + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string} params.country The country for which inventory validation is requested. + * @param {string} params.merchantId The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account. + * @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 + */ + requestinventoryverification(params?: Params$Resource$Liasettings$Requestinventoryverification, options?: MethodOptions): AxiosPromise; + requestinventoryverification(params: Params$Resource$Liasettings$Requestinventoryverification, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + requestinventoryverification(params: Params$Resource$Liasettings$Requestinventoryverification, callback: BodyResponseCallback): void; + requestinventoryverification(callback: BodyResponseCallback): void; + /** + * content.liasettings.setinventoryverificationcontact + * @desc Sets the inventory verification contract for the specified country. + * @alias content.liasettings.setinventoryverificationcontact + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string=} params.contactEmail The email of the inventory verification contact. + * @param {string=} params.contactName The name of the inventory verification contact. + * @param {string=} params.country The country for which inventory verification is requested. + * @param {string=} params.language The language for which inventory verification is requested. + * @param {string} params.merchantId The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account. + * @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 + */ + setinventoryverificationcontact(params?: Params$Resource$Liasettings$Setinventoryverificationcontact, options?: MethodOptions): AxiosPromise; + setinventoryverificationcontact(params: Params$Resource$Liasettings$Setinventoryverificationcontact, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setinventoryverificationcontact(params: Params$Resource$Liasettings$Setinventoryverificationcontact, callback: BodyResponseCallback): void; + setinventoryverificationcontact(callback: BodyResponseCallback): void; + /** + * content.liasettings.setposdataprovider + * @desc Sets the POS data provider for the specified country. + * @alias content.liasettings.setposdataprovider + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The ID of the account for which to retrieve accessible Google My Business accounts. + * @param {string=} params.country The country for which the POS data provider is selected. + * @param {string} params.merchantId The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account. + * @param {string=} params.posDataProviderId The ID of POS data provider. + * @param {string=} params.posExternalAccountId The account ID by which this merchant is known to the POS data provider. + * @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 + */ + setposdataprovider(params?: Params$Resource$Liasettings$Setposdataprovider, options?: MethodOptions): AxiosPromise; + setposdataprovider(params: Params$Resource$Liasettings$Setposdataprovider, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setposdataprovider(params: Params$Resource$Liasettings$Setposdataprovider, callback: BodyResponseCallback): void; + setposdataprovider(callback: BodyResponseCallback): void; + /** + * content.liasettings.update + * @desc Updates the LIA settings of the account. + * @alias content.liasettings.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The ID of the account for which to get or update LIA settings. + * @param {boolean=} params.dryRun Flag to run the request in dry-run mode. + * @param {string} params.merchantId The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account. + * @param {().LiaSettings} 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?: Params$Resource$Liasettings$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Liasettings$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Liasettings$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Liasettings$Custombatch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Flag to run the request in dry-run mode. + */ + dryRun?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$LiasettingsCustomBatchRequest; + } + interface Params$Resource$Liasettings$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account for which to get or update LIA settings. + */ + accountId?: string; + /** + * The ID of the managing account. If this parameter is not the same as + * accountId, then this account must be a multi-client account and accountId + * must be the ID of a sub-account of this account. + */ + merchantId?: string; + } + interface Params$Resource$Liasettings$Getaccessiblegmbaccounts { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account for which to retrieve accessible Google My Business + * accounts. + */ + accountId?: string; + /** + * The ID of the managing account. If this parameter is not the same as + * accountId, then this account must be a multi-client account and accountId + * must be the ID of a sub-account of this account. + */ + merchantId?: string; + } + interface Params$Resource$Liasettings$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The maximum number of LIA settings to return in the response, used for + * paging. + */ + maxResults?: number; + /** + * The ID of the managing account. This must be a multi-client account. + */ + merchantId?: string; + /** + * The token returned by the previous request. + */ + pageToken?: string; + } + interface Params$Resource$Liasettings$Listposdataproviders { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } + interface Params$Resource$Liasettings$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account for which to get or update LIA settings. + */ + accountId?: string; + /** + * Flag to run the request in dry-run mode. + */ + dryRun?: boolean; + /** + * The ID of the managing account. If this parameter is not the same as + * accountId, then this account must be a multi-client account and accountId + * must be the ID of a sub-account of this account. + */ + merchantId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$LiaSettings; + } + interface Params$Resource$Liasettings$Requestgmbaccess { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account for which GMB access is requested. + */ + accountId?: string; + /** + * The email of the Google My Business account. + */ + gmbEmail?: string; + /** + * The ID of the managing account. If this parameter is not the same as + * accountId, then this account must be a multi-client account and accountId + * must be the ID of a sub-account of this account. + */ + merchantId?: string; + } + interface Params$Resource$Liasettings$Requestinventoryverification { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + accountId?: string; + /** + * The country for which inventory validation is requested. + */ + country?: string; + /** + * The ID of the managing account. If this parameter is not the same as + * accountId, then this account must be a multi-client account and accountId + * must be the ID of a sub-account of this account. + */ + merchantId?: string; + } + interface Params$Resource$Liasettings$Setinventoryverificationcontact { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + accountId?: string; + /** + * The email of the inventory verification contact. + */ + contactEmail?: string; + /** + * The name of the inventory verification contact. + */ + contactName?: string; + /** + * The country for which inventory verification is requested. + */ + country?: string; + /** + * The language for which inventory verification is requested. + */ + language?: string; + /** + * The ID of the managing account. If this parameter is not the same as + * accountId, then this account must be a multi-client account and accountId + * must be the ID of a sub-account of this account. + */ + merchantId?: string; + } + interface Params$Resource$Liasettings$Setposdataprovider { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account for which to retrieve accessible Google My Business + * accounts. + */ + accountId?: string; + /** + * The country for which the POS data provider is selected. + */ + country?: string; + /** + * The ID of the managing account. If this parameter is not the same as + * accountId, then this account must be a multi-client account and accountId + * must be the ID of a sub-account of this account. + */ + merchantId?: string; + /** + * The ID of POS data provider. + */ + posDataProviderId?: string; + /** + * The account ID by which this merchant is known to the POS data provider. + */ + posExternalAccountId?: string; + } + interface Params$Resource$Liasettings$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account for which to get or update LIA settings. + */ + accountId?: string; + /** + * Flag to run the request in dry-run mode. + */ + dryRun?: boolean; + /** + * The ID of the managing account. If this parameter is not the same as + * accountId, then this account must be a multi-client account and accountId + * must be the ID of a sub-account of this account. + */ + merchantId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$LiaSettings; + } + class Resource$Orderinvoices { + root: Content; + constructor(root: Content); + getRoot(): Content; + /** + * content.orderinvoices.createchargeinvoice + * @desc Creates a charge invoice for a shipment group, and triggers a + * charge capture for non-facilitated payment orders. + * @alias content.orderinvoices.createchargeinvoice + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string} params.orderId The ID of the order. + * @param {().OrderinvoicesCreateChargeInvoiceRequest} 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 + */ + createchargeinvoice(params?: Params$Resource$Orderinvoices$Createchargeinvoice, options?: MethodOptions): AxiosPromise; + createchargeinvoice(params: Params$Resource$Orderinvoices$Createchargeinvoice, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + createchargeinvoice(params: Params$Resource$Orderinvoices$Createchargeinvoice, callback: BodyResponseCallback): void; + createchargeinvoice(callback: BodyResponseCallback): void; + /** + * content.orderinvoices.createrefundinvoice + * @desc Creates a refund invoice for one or more shipment groups, and + * triggers a refund for non-facilitated payment orders. This can only be + * used for line items that have previously been charged using + * createChargeInvoice. All amounts (except for the summary) are incremental + * with respect to the previous invoice. + * @alias content.orderinvoices.createrefundinvoice + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string} params.orderId The ID of the order. + * @param {().OrderinvoicesCreateRefundInvoiceRequest} 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 + */ + createrefundinvoice(params?: Params$Resource$Orderinvoices$Createrefundinvoice, options?: MethodOptions): AxiosPromise; + createrefundinvoice(params: Params$Resource$Orderinvoices$Createrefundinvoice, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + createrefundinvoice(params: Params$Resource$Orderinvoices$Createrefundinvoice, callback: BodyResponseCallback): void; + createrefundinvoice(callback: BodyResponseCallback): void; + } + interface Params$Resource$Orderinvoices$Createchargeinvoice { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The ID of the order. + */ + orderId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$OrderinvoicesCreateChargeInvoiceRequest; + } + interface Params$Resource$Orderinvoices$Createrefundinvoice { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The ID of the order. + */ + orderId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$OrderinvoicesCreateRefundInvoiceRequest; + } + class Resource$Orderpayments { + root: Content; + constructor(root: Content); + getRoot(): Content; + /** + * content.orderpayments.notifyauthapproved + * @desc Notify about successfully authorizing user's payment method for a + * given amount. + * @alias content.orderpayments.notifyauthapproved + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string} params.orderId The ID of the order for for which payment authorization is happening. + * @param {().OrderpaymentsNotifyAuthApprovedRequest} 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 + */ + notifyauthapproved(params?: Params$Resource$Orderpayments$Notifyauthapproved, options?: MethodOptions): AxiosPromise; + notifyauthapproved(params: Params$Resource$Orderpayments$Notifyauthapproved, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + notifyauthapproved(params: Params$Resource$Orderpayments$Notifyauthapproved, callback: BodyResponseCallback): void; + notifyauthapproved(callback: BodyResponseCallback): void; + /** + * content.orderpayments.notifyauthdeclined + * @desc Notify about failure to authorize user's payment method. + * @alias content.orderpayments.notifyauthdeclined + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string} params.orderId The ID of the order for which payment authorization was declined. + * @param {().OrderpaymentsNotifyAuthDeclinedRequest} 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 + */ + notifyauthdeclined(params?: Params$Resource$Orderpayments$Notifyauthdeclined, options?: MethodOptions): AxiosPromise; + notifyauthdeclined(params: Params$Resource$Orderpayments$Notifyauthdeclined, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + notifyauthdeclined(params: Params$Resource$Orderpayments$Notifyauthdeclined, callback: BodyResponseCallback): void; + notifyauthdeclined(callback: BodyResponseCallback): void; + /** + * content.orderpayments.notifycharge + * @desc Notify about charge on user's selected payments method. + * @alias content.orderpayments.notifycharge + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string} params.orderId The ID of the order for which charge is happening. + * @param {().OrderpaymentsNotifyChargeRequest} 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 + */ + notifycharge(params?: Params$Resource$Orderpayments$Notifycharge, options?: MethodOptions): AxiosPromise; + notifycharge(params: Params$Resource$Orderpayments$Notifycharge, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + notifycharge(params: Params$Resource$Orderpayments$Notifycharge, callback: BodyResponseCallback): void; + notifycharge(callback: BodyResponseCallback): void; + /** + * content.orderpayments.notifyrefund + * @desc Notify about refund on user's selected payments method. + * @alias content.orderpayments.notifyrefund + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string} params.orderId The ID of the order for which charge is happening. + * @param {().OrderpaymentsNotifyRefundRequest} 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 + */ + notifyrefund(params?: Params$Resource$Orderpayments$Notifyrefund, options?: MethodOptions): AxiosPromise; + notifyrefund(params: Params$Resource$Orderpayments$Notifyrefund, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + notifyrefund(params: Params$Resource$Orderpayments$Notifyrefund, callback: BodyResponseCallback): void; + notifyrefund(callback: BodyResponseCallback): void; + } + interface Params$Resource$Orderpayments$Notifyauthapproved { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The ID of the order for for which payment authorization is happening. + */ + orderId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$OrderpaymentsNotifyAuthApprovedRequest; + } + interface Params$Resource$Orderpayments$Notifyauthdeclined { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The ID of the order for which payment authorization was declined. + */ + orderId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$OrderpaymentsNotifyAuthDeclinedRequest; + } + interface Params$Resource$Orderpayments$Notifycharge { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The ID of the order for which charge is happening. + */ + orderId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$OrderpaymentsNotifyChargeRequest; + } + interface Params$Resource$Orderpayments$Notifyrefund { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The ID of the order for which charge is happening. + */ + orderId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$OrderpaymentsNotifyRefundRequest; + } + class Resource$Orderreports { + root: Content; + constructor(root: Content); + getRoot(): Content; + /** + * content.orderreports.listdisbursements + * @desc Retrieves a report for disbursements from your Merchant Center + * account. + * @alias content.orderreports.listdisbursements + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.disbursementEndDate The last date which disbursements occurred. In ISO 8601 format. Default: current date. + * @param {string=} params.disbursementStartDate The first date which disbursements occurred. In ISO 8601 format. + * @param {integer=} params.maxResults The maximum number of disbursements to return in the response, used for paging. + * @param {string} params.merchantId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string=} params.pageToken The token returned by the previous request. + * @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 + */ + listdisbursements(params?: Params$Resource$Orderreports$Listdisbursements, options?: MethodOptions): AxiosPromise; + listdisbursements(params: Params$Resource$Orderreports$Listdisbursements, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listdisbursements(params: Params$Resource$Orderreports$Listdisbursements, callback: BodyResponseCallback): void; + listdisbursements(callback: BodyResponseCallback): void; + /** + * content.orderreports.listtransactions + * @desc Retrieves a list of transactions for an disbursement from your + * Merchant Center account. + * @alias content.orderreports.listtransactions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.disbursementId The Google-provided ID of the disbursement (found in Wallet). + * @param {integer=} params.maxResults The maximum number of disbursements to return in the response, used for paging. + * @param {string} params.merchantId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string=} params.pageToken The token returned by the previous request. + * @param {string=} params.transactionEndDate The last date in which transaction occurred. In ISO 8601 format. Default: current date. + * @param {string=} params.transactionStartDate The first date in which transaction occurred. In ISO 8601 format. + * @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 + */ + listtransactions(params?: Params$Resource$Orderreports$Listtransactions, options?: MethodOptions): AxiosPromise; + listtransactions(params: Params$Resource$Orderreports$Listtransactions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listtransactions(params: Params$Resource$Orderreports$Listtransactions, callback: BodyResponseCallback): void; + listtransactions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Orderreports$Listdisbursements { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The last date which disbursements occurred. In ISO 8601 format. Default: + * current date. + */ + disbursementEndDate?: string; + /** + * The first date which disbursements occurred. In ISO 8601 format. + */ + disbursementStartDate?: string; + /** + * The maximum number of disbursements to return in the response, used for + * paging. + */ + maxResults?: number; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The token returned by the previous request. + */ + pageToken?: string; + } + interface Params$Resource$Orderreports$Listtransactions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The Google-provided ID of the disbursement (found in Wallet). + */ + disbursementId?: string; + /** + * The maximum number of disbursements to return in the response, used for + * paging. + */ + maxResults?: number; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The token returned by the previous request. + */ + pageToken?: string; + /** + * The last date in which transaction occurred. In ISO 8601 format. Default: + * current date. + */ + transactionEndDate?: string; + /** + * The first date in which transaction occurred. In ISO 8601 format. + */ + transactionStartDate?: string; + } + class Resource$Orderreturns { + root: Content; + constructor(root: Content); + getRoot(): Content; + /** + * content.orderreturns.get + * @desc Retrieves an order return from your Merchant Center account. + * @alias content.orderreturns.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string} params.returnId Merchant order return ID generated by Google. + * @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?: Params$Resource$Orderreturns$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Orderreturns$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Orderreturns$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * content.orderreturns.list + * @desc Lists order returns in your Merchant Center account. + * @alias content.orderreturns.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.createdEndDate Obtains order returns created before this date (inclusively), in ISO 8601 format. + * @param {string=} params.createdStartDate Obtains order returns created after this date (inclusively), in ISO 8601 format. + * @param {integer=} params.maxResults The maximum number of order returns to return in the response, used for paging. The default value is 25 returns per page, and the maximum allowed value is 250 returns per page. + * @param {string} params.merchantId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string=} params.orderBy Return the results in the specified order. + * @param {string=} params.pageToken The token returned by the previous request. + * @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?: Params$Resource$Orderreturns$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Orderreturns$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Orderreturns$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Orderreturns$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * Merchant order return ID generated by Google. + */ + returnId?: string; + } + interface Params$Resource$Orderreturns$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Obtains order returns created before this date (inclusively), in ISO 8601 + * format. + */ + createdEndDate?: string; + /** + * Obtains order returns created after this date (inclusively), in ISO 8601 + * format. + */ + createdStartDate?: string; + /** + * The maximum number of order returns to return in the response, used for + * paging. The default value is 25 returns per page, and the maximum allowed + * value is 250 returns per page. + */ + maxResults?: number; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * Return the results in the specified order. + */ + orderBy?: string; + /** + * The token returned by the previous request. + */ + pageToken?: string; + } + class Resource$Orders { + root: Content; + constructor(root: Content); + getRoot(): Content; + /** + * content.orders.acknowledge + * @desc Marks an order as acknowledged. + * @alias content.orders.acknowledge + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string} params.orderId The ID of the order. + * @param {().OrdersAcknowledgeRequest} 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 + */ + acknowledge(params?: Params$Resource$Orders$Acknowledge, options?: MethodOptions): AxiosPromise; + acknowledge(params: Params$Resource$Orders$Acknowledge, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + acknowledge(params: Params$Resource$Orders$Acknowledge, callback: BodyResponseCallback): void; + acknowledge(callback: BodyResponseCallback): void; + /** + * content.orders.advancetestorder + * @desc Sandbox only. Moves a test order from state "inProgress" to state + * "pendingShipment". + * @alias content.orders.advancetestorder + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string} params.orderId The ID of the test order to modify. + * @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 + */ + advancetestorder(params?: Params$Resource$Orders$Advancetestorder, options?: MethodOptions): AxiosPromise; + advancetestorder(params: Params$Resource$Orders$Advancetestorder, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + advancetestorder(params: Params$Resource$Orders$Advancetestorder, callback: BodyResponseCallback): void; + advancetestorder(callback: BodyResponseCallback): void; + /** + * content.orders.cancel + * @desc Cancels all line items in an order, making a full refund. + * @alias content.orders.cancel + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string} params.orderId The ID of the order to cancel. + * @param {().OrdersCancelRequest} 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 + */ + cancel(params?: Params$Resource$Orders$Cancel, options?: MethodOptions): AxiosPromise; + cancel(params: Params$Resource$Orders$Cancel, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + cancel(params: Params$Resource$Orders$Cancel, callback: BodyResponseCallback): void; + cancel(callback: BodyResponseCallback): void; + /** + * content.orders.cancellineitem + * @desc Cancels a line item, making a full refund. + * @alias content.orders.cancellineitem + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string} params.orderId The ID of the order. + * @param {().OrdersCancelLineItemRequest} 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 + */ + cancellineitem(params?: Params$Resource$Orders$Cancellineitem, options?: MethodOptions): AxiosPromise; + cancellineitem(params: Params$Resource$Orders$Cancellineitem, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + cancellineitem(params: Params$Resource$Orders$Cancellineitem, callback: BodyResponseCallback): void; + cancellineitem(callback: BodyResponseCallback): void; + /** + * content.orders.canceltestorderbycustomer + * @desc Sandbox only. Cancels a test order for customer-initiated + * cancellation. + * @alias content.orders.canceltestorderbycustomer + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string} params.orderId The ID of the test order to cancel. + * @param {().OrdersCancelTestOrderByCustomerRequest} 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 + */ + canceltestorderbycustomer(params?: Params$Resource$Orders$Canceltestorderbycustomer, options?: MethodOptions): AxiosPromise; + canceltestorderbycustomer(params: Params$Resource$Orders$Canceltestorderbycustomer, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + canceltestorderbycustomer(params: Params$Resource$Orders$Canceltestorderbycustomer, callback: BodyResponseCallback): void; + canceltestorderbycustomer(callback: BodyResponseCallback): void; + /** + * content.orders.createtestorder + * @desc Sandbox only. Creates a test order. + * @alias content.orders.createtestorder + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the account that should manage the order. This cannot be a multi-client account. + * @param {().OrdersCreateTestOrderRequest} 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 + */ + createtestorder(params?: Params$Resource$Orders$Createtestorder, options?: MethodOptions): AxiosPromise; + createtestorder(params: Params$Resource$Orders$Createtestorder, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + createtestorder(params: Params$Resource$Orders$Createtestorder, callback: BodyResponseCallback): void; + createtestorder(callback: BodyResponseCallback): void; + /** + * content.orders.createtestreturn + * @desc Sandbox only. Creates a test return. + * @alias content.orders.createtestreturn + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string} params.orderId The ID of the order. + * @param {().OrdersCreateTestReturnRequest} 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 + */ + createtestreturn(params?: Params$Resource$Orders$Createtestreturn, options?: MethodOptions): AxiosPromise; + createtestreturn(params: Params$Resource$Orders$Createtestreturn, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + createtestreturn(params: Params$Resource$Orders$Createtestreturn, callback: BodyResponseCallback): void; + createtestreturn(callback: BodyResponseCallback): void; + /** + * content.orders.custombatch + * @desc Retrieves or modifies multiple orders in a single request. + * @alias content.orders.custombatch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().OrdersCustomBatchRequest} 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 + */ + custombatch(params?: Params$Resource$Orders$Custombatch, options?: MethodOptions): AxiosPromise; + custombatch(params: Params$Resource$Orders$Custombatch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + custombatch(params: Params$Resource$Orders$Custombatch, callback: BodyResponseCallback): void; + custombatch(callback: BodyResponseCallback): void; + /** + * content.orders.get + * @desc Retrieves an order from your Merchant Center account. + * @alias content.orders.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string} params.orderId The ID of the order. + * @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?: Params$Resource$Orders$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Orders$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Orders$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * content.orders.getbymerchantorderid + * @desc Retrieves an order using merchant order id. + * @alias content.orders.getbymerchantorderid + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string} params.merchantOrderId The merchant order id to be looked for. + * @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 + */ + getbymerchantorderid(params?: Params$Resource$Orders$Getbymerchantorderid, options?: MethodOptions): AxiosPromise; + getbymerchantorderid(params: Params$Resource$Orders$Getbymerchantorderid, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getbymerchantorderid(params: Params$Resource$Orders$Getbymerchantorderid, callback: BodyResponseCallback): void; + getbymerchantorderid(callback: BodyResponseCallback): void; + /** + * content.orders.gettestordertemplate + * @desc Sandbox only. Retrieves an order template that can be used to + * quickly create a new order in sandbox. + * @alias content.orders.gettestordertemplate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.country The country of the template to retrieve. Defaults to US. + * @param {string} params.merchantId The ID of the account that should manage the order. This cannot be a multi-client account. + * @param {string} params.templateName The name of the template to retrieve. + * @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 + */ + gettestordertemplate(params?: Params$Resource$Orders$Gettestordertemplate, options?: MethodOptions): AxiosPromise; + gettestordertemplate(params: Params$Resource$Orders$Gettestordertemplate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + gettestordertemplate(params: Params$Resource$Orders$Gettestordertemplate, callback: BodyResponseCallback): void; + gettestordertemplate(callback: BodyResponseCallback): void; + /** + * content.orders.instorerefundlineitem + * @desc Notifies that item return and refund was handled directly by + * merchant outside of Google payments processing (e.g. cash refund done in + * store). + * @alias content.orders.instorerefundlineitem + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string} params.orderId The ID of the order. + * @param {().OrdersInStoreRefundLineItemRequest} 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 + */ + instorerefundlineitem(params?: Params$Resource$Orders$Instorerefundlineitem, options?: MethodOptions): AxiosPromise; + instorerefundlineitem(params: Params$Resource$Orders$Instorerefundlineitem, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + instorerefundlineitem(params: Params$Resource$Orders$Instorerefundlineitem, callback: BodyResponseCallback): void; + instorerefundlineitem(callback: BodyResponseCallback): void; + /** + * content.orders.list + * @desc Lists the orders in your Merchant Center account. + * @alias content.orders.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.acknowledged Obtains orders that match the acknowledgement status. When set to true, obtains orders that have been acknowledged. When false, obtains orders that have not been acknowledged. We recommend using this filter set to false, in conjunction with the acknowledge call, such that only un-acknowledged orders are returned. + * @param {integer=} params.maxResults The maximum number of orders to return in the response, used for paging. The default value is 25 orders per page, and the maximum allowed value is 250 orders per page. Known issue: All List calls will return all Orders without limit regardless of the value of this field. + * @param {string} params.merchantId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string=} params.orderBy The ordering of the returned list. The only supported value are placedDate desc and placedDate asc for now, which returns orders sorted by placement date. "placedDate desc" stands for listing orders by placement date, from oldest to most recent. "placedDate asc" stands for listing orders by placement date, from most recent to oldest. In future releases we'll support other sorting criteria. + * @param {string=} params.pageToken The token returned by the previous request. + * @param {string=} params.placedDateEnd Obtains orders placed before this date (exclusively), in ISO 8601 format. + * @param {string=} params.placedDateStart Obtains orders placed after this date (inclusively), in ISO 8601 format. + * @param {string=} params.statuses Obtains orders that match any of the specified statuses. Multiple values can be specified with comma separation. Additionally, please note that active is a shortcut for pendingShipment and partiallyShipped, and completed is a shortcut for shipped , partiallyDelivered, delivered, partiallyReturned, returned, and canceled. + * @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?: Params$Resource$Orders$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Orders$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Orders$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * content.orders.refund + * @desc Deprecated, please use returnRefundLineItem instead. + * @alias content.orders.refund + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string} params.orderId The ID of the order to refund. + * @param {().OrdersRefundRequest} 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 + */ + refund(params?: Params$Resource$Orders$Refund, options?: MethodOptions): AxiosPromise; + refund(params: Params$Resource$Orders$Refund, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + refund(params: Params$Resource$Orders$Refund, callback: BodyResponseCallback): void; + refund(callback: BodyResponseCallback): void; + /** + * content.orders.rejectreturnlineitem + * @desc Rejects return on an line item. + * @alias content.orders.rejectreturnlineitem + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string} params.orderId The ID of the order. + * @param {().OrdersRejectReturnLineItemRequest} 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 + */ + rejectreturnlineitem(params?: Params$Resource$Orders$Rejectreturnlineitem, options?: MethodOptions): AxiosPromise; + rejectreturnlineitem(params: Params$Resource$Orders$Rejectreturnlineitem, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + rejectreturnlineitem(params: Params$Resource$Orders$Rejectreturnlineitem, callback: BodyResponseCallback): void; + rejectreturnlineitem(callback: BodyResponseCallback): void; + /** + * content.orders.returnlineitem + * @desc Returns a line item. + * @alias content.orders.returnlineitem + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string} params.orderId The ID of the order. + * @param {().OrdersReturnLineItemRequest} 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 + */ + returnlineitem(params?: Params$Resource$Orders$Returnlineitem, options?: MethodOptions): AxiosPromise; + returnlineitem(params: Params$Resource$Orders$Returnlineitem, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + returnlineitem(params: Params$Resource$Orders$Returnlineitem, callback: BodyResponseCallback): void; + returnlineitem(callback: BodyResponseCallback): void; + /** + * content.orders.returnrefundlineitem + * @desc Returns and refunds a line item. Note that this method can only be + * called on fully shipped orders. + * @alias content.orders.returnrefundlineitem + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string} params.orderId The ID of the order. + * @param {().OrdersReturnRefundLineItemRequest} 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 + */ + returnrefundlineitem(params?: Params$Resource$Orders$Returnrefundlineitem, options?: MethodOptions): AxiosPromise; + returnrefundlineitem(params: Params$Resource$Orders$Returnrefundlineitem, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + returnrefundlineitem(params: Params$Resource$Orders$Returnrefundlineitem, callback: BodyResponseCallback): void; + returnrefundlineitem(callback: BodyResponseCallback): void; + /** + * content.orders.setlineitemmetadata + * @desc Sets (overrides) merchant provided annotations on the line item. + * @alias content.orders.setlineitemmetadata + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string} params.orderId The ID of the order. + * @param {().OrdersSetLineItemMetadataRequest} 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 + */ + setlineitemmetadata(params?: Params$Resource$Orders$Setlineitemmetadata, options?: MethodOptions): AxiosPromise; + setlineitemmetadata(params: Params$Resource$Orders$Setlineitemmetadata, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setlineitemmetadata(params: Params$Resource$Orders$Setlineitemmetadata, callback: BodyResponseCallback): void; + setlineitemmetadata(callback: BodyResponseCallback): void; + /** + * content.orders.shiplineitems + * @desc Marks line item(s) as shipped. + * @alias content.orders.shiplineitems + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string} params.orderId The ID of the order. + * @param {().OrdersShipLineItemsRequest} 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 + */ + shiplineitems(params?: Params$Resource$Orders$Shiplineitems, options?: MethodOptions): AxiosPromise; + shiplineitems(params: Params$Resource$Orders$Shiplineitems, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + shiplineitems(params: Params$Resource$Orders$Shiplineitems, callback: BodyResponseCallback): void; + shiplineitems(callback: BodyResponseCallback): void; + /** + * content.orders.updatelineitemshippingdetails + * @desc Updates ship by and delivery by dates for a line item. + * @alias content.orders.updatelineitemshippingdetails + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string} params.orderId The ID of the order. + * @param {().OrdersUpdateLineItemShippingDetailsRequest} 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 + */ + updatelineitemshippingdetails(params?: Params$Resource$Orders$Updatelineitemshippingdetails, options?: MethodOptions): AxiosPromise; + updatelineitemshippingdetails(params: Params$Resource$Orders$Updatelineitemshippingdetails, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + updatelineitemshippingdetails(params: Params$Resource$Orders$Updatelineitemshippingdetails, callback: BodyResponseCallback): void; + updatelineitemshippingdetails(callback: BodyResponseCallback): void; + /** + * content.orders.updatemerchantorderid + * @desc Updates the merchant order ID for a given order. + * @alias content.orders.updatemerchantorderid + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string} params.orderId The ID of the order. + * @param {().OrdersUpdateMerchantOrderIdRequest} 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 + */ + updatemerchantorderid(params?: Params$Resource$Orders$Updatemerchantorderid, options?: MethodOptions): AxiosPromise; + updatemerchantorderid(params: Params$Resource$Orders$Updatemerchantorderid, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + updatemerchantorderid(params: Params$Resource$Orders$Updatemerchantorderid, callback: BodyResponseCallback): void; + updatemerchantorderid(callback: BodyResponseCallback): void; + /** + * content.orders.updateshipment + * @desc Updates a shipment's status, carrier, and/or tracking ID. + * @alias content.orders.updateshipment + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string} params.orderId The ID of the order. + * @param {().OrdersUpdateShipmentRequest} 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 + */ + updateshipment(params?: Params$Resource$Orders$Updateshipment, options?: MethodOptions): AxiosPromise; + updateshipment(params: Params$Resource$Orders$Updateshipment, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + updateshipment(params: Params$Resource$Orders$Updateshipment, callback: BodyResponseCallback): void; + updateshipment(callback: BodyResponseCallback): void; + } + interface Params$Resource$Orders$Acknowledge { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The ID of the order. + */ + orderId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$OrdersAcknowledgeRequest; + } + interface Params$Resource$Orders$Advancetestorder { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The ID of the test order to modify. + */ + orderId?: string; + } + interface Params$Resource$Orders$Cancel { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The ID of the order to cancel. + */ + orderId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$OrdersCancelRequest; + } + interface Params$Resource$Orders$Cancellineitem { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The ID of the order. + */ + orderId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$OrdersCancelLineItemRequest; + } + interface Params$Resource$Orders$Canceltestorderbycustomer { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The ID of the test order to cancel. + */ + orderId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$OrdersCancelTestOrderByCustomerRequest; + } + interface Params$Resource$Orders$Createtestorder { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account that should manage the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$OrdersCreateTestOrderRequest; + } + interface Params$Resource$Orders$Createtestreturn { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The ID of the order. + */ + orderId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$OrdersCreateTestReturnRequest; + } + interface Params$Resource$Orders$Custombatch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$OrdersCustomBatchRequest; + } + interface Params$Resource$Orders$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The ID of the order. + */ + orderId?: string; + } + interface Params$Resource$Orders$Getbymerchantorderid { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The merchant order id to be looked for. + */ + merchantOrderId?: string; + } + interface Params$Resource$Orders$Gettestordertemplate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The country of the template to retrieve. Defaults to US. + */ + country?: string; + /** + * The ID of the account that should manage the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The name of the template to retrieve. + */ + templateName?: string; + } + interface Params$Resource$Orders$Instorerefundlineitem { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The ID of the order. + */ + orderId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$OrdersInStoreRefundLineItemRequest; + } + interface Params$Resource$Orders$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Obtains orders that match the acknowledgement status. When set to true, + * obtains orders that have been acknowledged. When false, obtains orders + * that have not been acknowledged. We recommend using this filter set to + * false, in conjunction with the acknowledge call, such that only + * un-acknowledged orders are returned. + */ + acknowledged?: boolean; + /** + * The maximum number of orders to return in the response, used for paging. + * The default value is 25 orders per page, and the maximum allowed value is + * 250 orders per page. Known issue: All List calls will return all Orders + * without limit regardless of the value of this field. + */ + maxResults?: number; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The ordering of the returned list. The only supported value are + * placedDate desc and placedDate asc for now, which returns orders sorted + * by placement date. "placedDate desc" stands for listing orders by + * placement date, from oldest to most recent. "placedDate asc" stands for + * listing orders by placement date, from most recent to oldest. In future + * releases we'll support other sorting criteria. + */ + orderBy?: string; + /** + * The token returned by the previous request. + */ + pageToken?: string; + /** + * Obtains orders placed before this date (exclusively), in ISO 8601 format. + */ + placedDateEnd?: string; + /** + * Obtains orders placed after this date (inclusively), in ISO 8601 format. + */ + placedDateStart?: string; + /** + * Obtains orders that match any of the specified statuses. Multiple values + * can be specified with comma separation. Additionally, please note that + * active is a shortcut for pendingShipment and partiallyShipped, and + * completed is a shortcut for shipped , partiallyDelivered, delivered, + * partiallyReturned, returned, and canceled. + */ + statuses?: string; + } + interface Params$Resource$Orders$Refund { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The ID of the order to refund. + */ + orderId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$OrdersRefundRequest; + } + interface Params$Resource$Orders$Rejectreturnlineitem { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The ID of the order. + */ + orderId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$OrdersRejectReturnLineItemRequest; + } + interface Params$Resource$Orders$Returnlineitem { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The ID of the order. + */ + orderId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$OrdersReturnLineItemRequest; + } + interface Params$Resource$Orders$Returnrefundlineitem { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The ID of the order. + */ + orderId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$OrdersReturnRefundLineItemRequest; + } + interface Params$Resource$Orders$Setlineitemmetadata { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The ID of the order. + */ + orderId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$OrdersSetLineItemMetadataRequest; + } + interface Params$Resource$Orders$Shiplineitems { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The ID of the order. + */ + orderId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$OrdersShipLineItemsRequest; + } + interface Params$Resource$Orders$Updatelineitemshippingdetails { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The ID of the order. + */ + orderId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$OrdersUpdateLineItemShippingDetailsRequest; + } + interface Params$Resource$Orders$Updatemerchantorderid { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The ID of the order. + */ + orderId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$OrdersUpdateMerchantOrderIdRequest; + } + interface Params$Resource$Orders$Updateshipment { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The ID of the order. + */ + orderId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$OrdersUpdateShipmentRequest; + } + class Resource$Pos { + root: Content; + constructor(root: Content); + getRoot(): Content; + /** + * content.pos.custombatch + * @desc Batches multiple POS-related calls in a single request. + * @alias content.pos.custombatch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.dryRun Flag to run the request in dry-run mode. + * @param {().PosCustomBatchRequest} 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 + */ + custombatch(params?: Params$Resource$Pos$Custombatch, options?: MethodOptions): AxiosPromise; + custombatch(params: Params$Resource$Pos$Custombatch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + custombatch(params: Params$Resource$Pos$Custombatch, callback: BodyResponseCallback): void; + custombatch(callback: BodyResponseCallback): void; + /** + * content.pos.delete + * @desc Deletes a store for the given merchant. + * @alias content.pos.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.dryRun Flag to run the request in dry-run mode. + * @param {string} params.merchantId The ID of the POS or inventory data provider. + * @param {string} params.storeCode A store code that is unique per merchant. + * @param {string} params.targetMerchantId The ID of the target merchant. + * @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?: Params$Resource$Pos$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Pos$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Pos$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * content.pos.get + * @desc Retrieves information about the given store. + * @alias content.pos.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the POS or inventory data provider. + * @param {string} params.storeCode A store code that is unique per merchant. + * @param {string} params.targetMerchantId The ID of the target merchant. + * @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?: Params$Resource$Pos$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Pos$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Pos$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * content.pos.insert + * @desc Creates a store for the given merchant. + * @alias content.pos.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.dryRun Flag to run the request in dry-run mode. + * @param {string} params.merchantId The ID of the POS or inventory data provider. + * @param {string} params.targetMerchantId The ID of the target merchant. + * @param {().PosStore} 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?: Params$Resource$Pos$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Pos$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Pos$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * content.pos.inventory + * @desc Submit inventory for the given merchant. + * @alias content.pos.inventory + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.dryRun Flag to run the request in dry-run mode. + * @param {string} params.merchantId The ID of the POS or inventory data provider. + * @param {string} params.targetMerchantId The ID of the target merchant. + * @param {().PosInventoryRequest} 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 + */ + inventory(params?: Params$Resource$Pos$Inventory, options?: MethodOptions): AxiosPromise; + inventory(params: Params$Resource$Pos$Inventory, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + inventory(params: Params$Resource$Pos$Inventory, callback: BodyResponseCallback): void; + inventory(callback: BodyResponseCallback): void; + /** + * content.pos.list + * @desc Lists the stores of the target merchant. + * @alias content.pos.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the POS or inventory data provider. + * @param {string} params.targetMerchantId The ID of the target merchant. + * @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?: Params$Resource$Pos$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Pos$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Pos$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * content.pos.sale + * @desc Submit a sale event for the given merchant. + * @alias content.pos.sale + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.dryRun Flag to run the request in dry-run mode. + * @param {string} params.merchantId The ID of the POS or inventory data provider. + * @param {string} params.targetMerchantId The ID of the target merchant. + * @param {().PosSaleRequest} 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 + */ + sale(params?: Params$Resource$Pos$Sale, options?: MethodOptions): AxiosPromise; + sale(params: Params$Resource$Pos$Sale, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + sale(params: Params$Resource$Pos$Sale, callback: BodyResponseCallback): void; + sale(callback: BodyResponseCallback): void; + } + interface Params$Resource$Pos$Custombatch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Flag to run the request in dry-run mode. + */ + dryRun?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$PosCustomBatchRequest; + } + interface Params$Resource$Pos$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Flag to run the request in dry-run mode. + */ + dryRun?: boolean; + /** + * The ID of the POS or inventory data provider. + */ + merchantId?: string; + /** + * A store code that is unique per merchant. + */ + storeCode?: string; + /** + * The ID of the target merchant. + */ + targetMerchantId?: string; + } + interface Params$Resource$Pos$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the POS or inventory data provider. + */ + merchantId?: string; + /** + * A store code that is unique per merchant. + */ + storeCode?: string; + /** + * The ID of the target merchant. + */ + targetMerchantId?: string; + } + interface Params$Resource$Pos$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Flag to run the request in dry-run mode. + */ + dryRun?: boolean; + /** + * The ID of the POS or inventory data provider. + */ + merchantId?: string; + /** + * The ID of the target merchant. + */ + targetMerchantId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$PosStore; + } + interface Params$Resource$Pos$Inventory { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Flag to run the request in dry-run mode. + */ + dryRun?: boolean; + /** + * The ID of the POS or inventory data provider. + */ + merchantId?: string; + /** + * The ID of the target merchant. + */ + targetMerchantId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$PosInventoryRequest; + } + interface Params$Resource$Pos$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the POS or inventory data provider. + */ + merchantId?: string; + /** + * The ID of the target merchant. + */ + targetMerchantId?: string; + } + interface Params$Resource$Pos$Sale { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Flag to run the request in dry-run mode. + */ + dryRun?: boolean; + /** + * The ID of the POS or inventory data provider. + */ + merchantId?: string; + /** + * The ID of the target merchant. + */ + targetMerchantId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$PosSaleRequest; + } + class Resource$Products { + root: Content; + constructor(root: Content); + getRoot(): Content; + /** + * content.products.custombatch + * @desc Retrieves, inserts, and deletes multiple products in a single + * request. + * @alias content.products.custombatch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.dryRun Flag to run the request in dry-run mode. + * @param {().ProductsCustomBatchRequest} 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 + */ + custombatch(params?: Params$Resource$Products$Custombatch, options?: MethodOptions): AxiosPromise; + custombatch(params: Params$Resource$Products$Custombatch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + custombatch(params: Params$Resource$Products$Custombatch, callback: BodyResponseCallback): void; + custombatch(callback: BodyResponseCallback): void; + /** + * content.products.delete + * @desc Deletes a product from your Merchant Center account. + * @alias content.products.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.dryRun Flag to run the request in dry-run mode. + * @param {string} params.merchantId The ID of the account that contains the product. This account cannot be a multi-client account. + * @param {string} params.productId The REST id of the product. + * @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?: Params$Resource$Products$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Products$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Products$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * content.products.get + * @desc Retrieves a product from your Merchant Center account. + * @alias content.products.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the account that contains the product. This account cannot be a multi-client account. + * @param {string} params.productId The REST id of the product. + * @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?: Params$Resource$Products$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Products$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Products$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * content.products.insert + * @desc Uploads a product to your Merchant Center account. If an item with + * the same channel, contentLanguage, offerId, and targetCountry already + * exists, this method updates that entry. + * @alias content.products.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.dryRun Flag to run the request in dry-run mode. + * @param {string} params.merchantId The ID of the account that contains the product. This account cannot be a multi-client account. + * @param {().Product} 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?: Params$Resource$Products$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Products$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Products$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * content.products.list + * @desc Lists the products in your Merchant Center account. + * @alias content.products.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.includeInvalidInsertedItems Flag to include the invalid inserted items in the result of the list request. By default the invalid items are not shown (the default value is false). + * @param {integer=} params.maxResults The maximum number of products to return in the response, used for paging. + * @param {string} params.merchantId The ID of the account that contains the products. This account cannot be a multi-client account. + * @param {string=} params.pageToken The token returned by the previous request. + * @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?: Params$Resource$Products$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Products$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Products$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Products$Custombatch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Flag to run the request in dry-run mode. + */ + dryRun?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$ProductsCustomBatchRequest; + } + interface Params$Resource$Products$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Flag to run the request in dry-run mode. + */ + dryRun?: boolean; + /** + * The ID of the account that contains the product. This account cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The REST id of the product. + */ + productId?: string; + } + interface Params$Resource$Products$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account that contains the product. This account cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The REST id of the product. + */ + productId?: string; + } + interface Params$Resource$Products$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Flag to run the request in dry-run mode. + */ + dryRun?: boolean; + /** + * The ID of the account that contains the product. This account cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Product; + } + interface Params$Resource$Products$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Flag to include the invalid inserted items in the result of the list + * request. By default the invalid items are not shown (the default value is + * false). + */ + includeInvalidInsertedItems?: boolean; + /** + * The maximum number of products to return in the response, used for + * paging. + */ + maxResults?: number; + /** + * The ID of the account that contains the products. This account cannot be + * a multi-client account. + */ + merchantId?: string; + /** + * The token returned by the previous request. + */ + pageToken?: string; + } + class Resource$Productstatuses { + root: Content; + constructor(root: Content); + getRoot(): Content; + /** + * content.productstatuses.custombatch + * @desc Gets the statuses of multiple products in a single request. + * @alias content.productstatuses.custombatch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.includeAttributes Flag to include full product data in the results of this request. The default value is false. + * @param {().ProductstatusesCustomBatchRequest} 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 + */ + custombatch(params?: Params$Resource$Productstatuses$Custombatch, options?: MethodOptions): AxiosPromise; + custombatch(params: Params$Resource$Productstatuses$Custombatch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + custombatch(params: Params$Resource$Productstatuses$Custombatch, callback: BodyResponseCallback): void; + custombatch(callback: BodyResponseCallback): void; + /** + * content.productstatuses.get + * @desc Gets the status of a product from your Merchant Center account. + * @alias content.productstatuses.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.destinations If set, only issues for the specified destinations are returned, otherwise only issues for the Shopping destination. + * @param {boolean=} params.includeAttributes Flag to include full product data in the result of this get request. The default value is false. + * @param {string} params.merchantId The ID of the account that contains the product. This account cannot be a multi-client account. + * @param {string} params.productId The REST id of the product. + * @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?: Params$Resource$Productstatuses$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Productstatuses$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Productstatuses$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * content.productstatuses.list + * @desc Lists the statuses of the products in your Merchant Center account. + * @alias content.productstatuses.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.destinations If set, only issues for the specified destinations are returned, otherwise only issues for the Shopping destination. + * @param {boolean=} params.includeAttributes Flag to include full product data in the results of the list request. The default value is false. + * @param {boolean=} params.includeInvalidInsertedItems Flag to include the invalid inserted items in the result of the list request. By default the invalid items are not shown (the default value is false). + * @param {integer=} params.maxResults The maximum number of product statuses to return in the response, used for paging. + * @param {string} params.merchantId The ID of the account that contains the products. This account cannot be a multi-client account. + * @param {string=} params.pageToken The token returned by the previous request. + * @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?: Params$Resource$Productstatuses$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Productstatuses$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Productstatuses$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Productstatuses$Custombatch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Flag to include full product data in the results of this request. The + * default value is false. + */ + includeAttributes?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$ProductstatusesCustomBatchRequest; + } + interface Params$Resource$Productstatuses$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * If set, only issues for the specified destinations are returned, + * otherwise only issues for the Shopping destination. + */ + destinations?: string; + /** + * Flag to include full product data in the result of this get request. The + * default value is false. + */ + includeAttributes?: boolean; + /** + * The ID of the account that contains the product. This account cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The REST id of the product. + */ + productId?: string; + } + interface Params$Resource$Productstatuses$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * If set, only issues for the specified destinations are returned, + * otherwise only issues for the Shopping destination. + */ + destinations?: string; + /** + * Flag to include full product data in the results of the list request. The + * default value is false. + */ + includeAttributes?: boolean; + /** + * Flag to include the invalid inserted items in the result of the list + * request. By default the invalid items are not shown (the default value is + * false). + */ + includeInvalidInsertedItems?: boolean; + /** + * The maximum number of product statuses to return in the response, used + * for paging. + */ + maxResults?: number; + /** + * The ID of the account that contains the products. This account cannot be + * a multi-client account. + */ + merchantId?: string; + /** + * The token returned by the previous request. + */ + pageToken?: string; + } + class Resource$Shippingsettings { + root: Content; + constructor(root: Content); + getRoot(): Content; + /** + * content.shippingsettings.custombatch + * @desc Retrieves and updates the shipping settings of multiple accounts in + * a single request. + * @alias content.shippingsettings.custombatch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.dryRun Flag to run the request in dry-run mode. + * @param {().ShippingsettingsCustomBatchRequest} 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 + */ + custombatch(params?: Params$Resource$Shippingsettings$Custombatch, options?: MethodOptions): AxiosPromise; + custombatch(params: Params$Resource$Shippingsettings$Custombatch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + custombatch(params: Params$Resource$Shippingsettings$Custombatch, callback: BodyResponseCallback): void; + custombatch(callback: BodyResponseCallback): void; + /** + * content.shippingsettings.get + * @desc Retrieves the shipping settings of the account. + * @alias content.shippingsettings.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The ID of the account for which to get/update shipping settings. + * @param {string} params.merchantId The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account. + * @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?: Params$Resource$Shippingsettings$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Shippingsettings$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Shippingsettings$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * content.shippingsettings.getsupportedcarriers + * @desc Retrieves supported carriers and carrier services for an account. + * @alias content.shippingsettings.getsupportedcarriers + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the account for which to retrieve the supported carriers. + * @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 + */ + getsupportedcarriers(params?: Params$Resource$Shippingsettings$Getsupportedcarriers, options?: MethodOptions): AxiosPromise; + getsupportedcarriers(params: Params$Resource$Shippingsettings$Getsupportedcarriers, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getsupportedcarriers(params: Params$Resource$Shippingsettings$Getsupportedcarriers, callback: BodyResponseCallback): void; + getsupportedcarriers(callback: BodyResponseCallback): void; + /** + * content.shippingsettings.getsupportedholidays + * @desc Retrieves supported holidays for an account. + * @alias content.shippingsettings.getsupportedholidays + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the account for which to retrieve the supported holidays. + * @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 + */ + getsupportedholidays(params?: Params$Resource$Shippingsettings$Getsupportedholidays, options?: MethodOptions): AxiosPromise; + getsupportedholidays(params: Params$Resource$Shippingsettings$Getsupportedholidays, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getsupportedholidays(params: Params$Resource$Shippingsettings$Getsupportedholidays, callback: BodyResponseCallback): void; + getsupportedholidays(callback: BodyResponseCallback): void; + /** + * content.shippingsettings.list + * @desc Lists the shipping settings of the sub-accounts in your Merchant + * Center account. + * @alias content.shippingsettings.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.maxResults The maximum number of shipping settings to return in the response, used for paging. + * @param {string} params.merchantId The ID of the managing account. This must be a multi-client account. + * @param {string=} params.pageToken The token returned by the previous request. + * @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?: Params$Resource$Shippingsettings$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Shippingsettings$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Shippingsettings$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * content.shippingsettings.patch + * @desc Updates the shipping settings of the account. This method supports + * patch semantics. + * @alias content.shippingsettings.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The ID of the account for which to get/update shipping settings. + * @param {boolean=} params.dryRun Flag to run the request in dry-run mode. + * @param {string} params.merchantId The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account. + * @param {().ShippingSettings} 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 + */ + patch(params?: Params$Resource$Shippingsettings$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Shippingsettings$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Shippingsettings$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * content.shippingsettings.update + * @desc Updates the shipping settings of the account. + * @alias content.shippingsettings.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The ID of the account for which to get/update shipping settings. + * @param {boolean=} params.dryRun Flag to run the request in dry-run mode. + * @param {string} params.merchantId The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account. + * @param {().ShippingSettings} 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?: Params$Resource$Shippingsettings$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Shippingsettings$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Shippingsettings$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Shippingsettings$Custombatch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Flag to run the request in dry-run mode. + */ + dryRun?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$ShippingsettingsCustomBatchRequest; + } + interface Params$Resource$Shippingsettings$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account for which to get/update shipping settings. + */ + accountId?: string; + /** + * The ID of the managing account. If this parameter is not the same as + * accountId, then this account must be a multi-client account and accountId + * must be the ID of a sub-account of this account. + */ + merchantId?: string; + } + interface Params$Resource$Shippingsettings$Getsupportedcarriers { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account for which to retrieve the supported carriers. + */ + merchantId?: string; + } + interface Params$Resource$Shippingsettings$Getsupportedholidays { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account for which to retrieve the supported holidays. + */ + merchantId?: string; + } + interface Params$Resource$Shippingsettings$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The maximum number of shipping settings to return in the response, used + * for paging. + */ + maxResults?: number; + /** + * The ID of the managing account. This must be a multi-client account. + */ + merchantId?: string; + /** + * The token returned by the previous request. + */ + pageToken?: string; + } + interface Params$Resource$Shippingsettings$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account for which to get/update shipping settings. + */ + accountId?: string; + /** + * Flag to run the request in dry-run mode. + */ + dryRun?: boolean; + /** + * The ID of the managing account. If this parameter is not the same as + * accountId, then this account must be a multi-client account and accountId + * must be the ID of a sub-account of this account. + */ + merchantId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ShippingSettings; + } + interface Params$Resource$Shippingsettings$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account for which to get/update shipping settings. + */ + accountId?: string; + /** + * Flag to run the request in dry-run mode. + */ + dryRun?: boolean; + /** + * The ID of the managing account. If this parameter is not the same as + * accountId, then this account must be a multi-client account and accountId + * must be the ID of a sub-account of this account. + */ + merchantId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ShippingSettings; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/content/v2.js b/express-server/node_modules/googleapis/build/src/apis/content/v2.js new file mode 100644 index 00000000..68dd23d0 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/content/v2.js @@ -0,0 +1,3252 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var content_v2; +(function (content_v2) { + /** + * Content API for Shopping + * + * Manages product items, inventory, and Merchant Center accounts for Google + * Shopping. + * + * @example + * const {google} = require('googleapis'); + * const content = google.content('v2'); + * + * @namespace content + * @type {Function} + * @version v2 + * @variation v2 + * @param {object=} options Options for Content + */ + class Content { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.accounts = new Resource$Accounts(this); + this.accountstatuses = new Resource$Accountstatuses(this); + this.accounttax = new Resource$Accounttax(this); + this.datafeeds = new Resource$Datafeeds(this); + this.datafeedstatuses = new Resource$Datafeedstatuses(this); + this.inventory = new Resource$Inventory(this); + this.liasettings = new Resource$Liasettings(this); + this.orderinvoices = new Resource$Orderinvoices(this); + this.orderpayments = new Resource$Orderpayments(this); + this.orderreports = new Resource$Orderreports(this); + this.orderreturns = new Resource$Orderreturns(this); + this.orders = new Resource$Orders(this); + this.pos = new Resource$Pos(this); + this.products = new Resource$Products(this); + this.productstatuses = new Resource$Productstatuses(this); + this.shippingsettings = new Resource$Shippingsettings(this); + } + getRoot() { + return this.root; + } + } + content_v2.Content = Content; + class Resource$Accounts { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + authinfo(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/content/v2/accounts/authinfo') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + claimwebsite(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2/{merchantId}/accounts/{accountId}/claimwebsite') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId', 'accountId'], + pathParams: ['accountId', 'merchantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + custombatch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/content/v2/accounts/batch') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/content/v2/{merchantId}/accounts/{accountId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['merchantId', 'accountId'], + pathParams: ['accountId', 'merchantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/content/v2/{merchantId}/accounts/{accountId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['merchantId', 'accountId'], + pathParams: ['accountId', 'merchantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/content/v2/{merchantId}/accounts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId'], + pathParams: ['merchantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + link(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2/{merchantId}/accounts/{accountId}/link') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId', 'accountId'], + pathParams: ['accountId', 'merchantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/content/v2/{merchantId}/accounts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['merchantId'], + pathParams: ['merchantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/content/v2/{merchantId}/accounts/{accountId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['merchantId', 'accountId'], + pathParams: ['accountId', 'merchantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/content/v2/{merchantId}/accounts/{accountId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['merchantId', 'accountId'], + pathParams: ['accountId', 'merchantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + content_v2.Resource$Accounts = Resource$Accounts; + class Resource$Accountstatuses { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + custombatch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/content/v2/accountstatuses/batch') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2/{merchantId}/accountstatuses/{accountId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['merchantId', 'accountId'], + pathParams: ['accountId', 'merchantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/content/v2/{merchantId}/accountstatuses') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['merchantId'], + pathParams: ['merchantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + content_v2.Resource$Accountstatuses = Resource$Accountstatuses; + class Resource$Accounttax { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + custombatch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/content/v2/accounttax/batch') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/content/v2/{merchantId}/accounttax/{accountId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['merchantId', 'accountId'], + pathParams: ['accountId', 'merchantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/content/v2/{merchantId}/accounttax') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['merchantId'], + pathParams: ['merchantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/content/v2/{merchantId}/accounttax/{accountId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['merchantId', 'accountId'], + pathParams: ['accountId', 'merchantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/content/v2/{merchantId}/accounttax/{accountId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['merchantId', 'accountId'], + pathParams: ['accountId', 'merchantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + content_v2.Resource$Accounttax = Resource$Accounttax; + class Resource$Datafeeds { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + custombatch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/content/v2/datafeeds/batch') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/content/v2/{merchantId}/datafeeds/{datafeedId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['merchantId', 'datafeedId'], + pathParams: ['datafeedId', 'merchantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + fetchnow(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2/{merchantId}/datafeeds/{datafeedId}/fetchNow') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId', 'datafeedId'], + pathParams: ['datafeedId', 'merchantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/content/v2/{merchantId}/datafeeds/{datafeedId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['merchantId', 'datafeedId'], + pathParams: ['datafeedId', 'merchantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/content/v2/{merchantId}/datafeeds') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId'], + pathParams: ['merchantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/content/v2/{merchantId}/datafeeds') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['merchantId'], + pathParams: ['merchantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/content/v2/{merchantId}/datafeeds/{datafeedId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['merchantId', 'datafeedId'], + pathParams: ['datafeedId', 'merchantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/content/v2/{merchantId}/datafeeds/{datafeedId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['merchantId', 'datafeedId'], + pathParams: ['datafeedId', 'merchantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + content_v2.Resource$Datafeeds = Resource$Datafeeds; + class Resource$Datafeedstatuses { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + custombatch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/content/v2/datafeedstatuses/batch') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2/{merchantId}/datafeedstatuses/{datafeedId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['merchantId', 'datafeedId'], + pathParams: ['datafeedId', 'merchantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/content/v2/{merchantId}/datafeedstatuses') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['merchantId'], + pathParams: ['merchantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + content_v2.Resource$Datafeedstatuses = Resource$Datafeedstatuses; + class Resource$Inventory { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + custombatch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/content/v2/inventory/batch') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + set(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2/{merchantId}/inventory/{storeCode}/products/{productId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId', 'storeCode', 'productId'], + pathParams: ['merchantId', 'productId', 'storeCode'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + content_v2.Resource$Inventory = Resource$Inventory; + class Resource$Liasettings { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + custombatch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/content/v2/liasettings/batch') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/content/v2/{merchantId}/liasettings/{accountId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['merchantId', 'accountId'], + pathParams: ['accountId', 'merchantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getaccessiblegmbaccounts(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2/{merchantId}/liasettings/{accountId}/accessiblegmbaccounts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['merchantId', 'accountId'], + pathParams: ['accountId', 'merchantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/content/v2/{merchantId}/liasettings') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['merchantId'], + pathParams: ['merchantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listposdataproviders(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/content/v2/liasettings/posdataproviders') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/content/v2/{merchantId}/liasettings/{accountId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['merchantId', 'accountId'], + pathParams: ['accountId', 'merchantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + requestgmbaccess(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2/{merchantId}/liasettings/{accountId}/requestgmbaccess') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId', 'accountId'], + pathParams: ['accountId', 'merchantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + requestinventoryverification(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2/{merchantId}/liasettings/{accountId}/requestinventoryverification/{country}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId', 'accountId', 'country'], + pathParams: ['accountId', 'country', 'merchantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setinventoryverificationcontact(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2/{merchantId}/liasettings/{accountId}/setinventoryverificationcontact') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId', 'accountId'], + pathParams: ['accountId', 'merchantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setposdataprovider(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2/{merchantId}/liasettings/{accountId}/setposdataprovider') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId', 'accountId'], + pathParams: ['accountId', 'merchantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/content/v2/{merchantId}/liasettings/{accountId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['merchantId', 'accountId'], + pathParams: ['accountId', 'merchantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + content_v2.Resource$Liasettings = Resource$Liasettings; + class Resource$Orderinvoices { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + createchargeinvoice(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2/{merchantId}/orderinvoices/{orderId}/createChargeInvoice') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId', 'orderId'], + pathParams: ['merchantId', 'orderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + createrefundinvoice(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2/{merchantId}/orderinvoices/{orderId}/createRefundInvoice') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId', 'orderId'], + pathParams: ['merchantId', 'orderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + content_v2.Resource$Orderinvoices = Resource$Orderinvoices; + class Resource$Orderpayments { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + notifyauthapproved(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2/{merchantId}/orderpayments/{orderId}/notifyAuthApproved') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId', 'orderId'], + pathParams: ['merchantId', 'orderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + notifyauthdeclined(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2/{merchantId}/orderpayments/{orderId}/notifyAuthDeclined') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId', 'orderId'], + pathParams: ['merchantId', 'orderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + notifycharge(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2/{merchantId}/orderpayments/{orderId}/notifyCharge') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId', 'orderId'], + pathParams: ['merchantId', 'orderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + notifyrefund(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2/{merchantId}/orderpayments/{orderId}/notifyRefund') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId', 'orderId'], + pathParams: ['merchantId', 'orderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + content_v2.Resource$Orderpayments = Resource$Orderpayments; + class Resource$Orderreports { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + listdisbursements(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2/{merchantId}/orderreports/disbursements') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['merchantId'], + pathParams: ['merchantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listtransactions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2/{merchantId}/orderreports/disbursements/{disbursementId}/transactions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['merchantId', 'disbursementId'], + pathParams: ['disbursementId', 'merchantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + content_v2.Resource$Orderreports = Resource$Orderreports; + class Resource$Orderreturns { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/content/v2/{merchantId}/orderreturns/{returnId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['merchantId', 'returnId'], + pathParams: ['merchantId', 'returnId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/content/v2/{merchantId}/orderreturns') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['merchantId'], + pathParams: ['merchantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + content_v2.Resource$Orderreturns = Resource$Orderreturns; + class Resource$Orders { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + acknowledge(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2/{merchantId}/orders/{orderId}/acknowledge') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId', 'orderId'], + pathParams: ['merchantId', 'orderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + advancetestorder(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2/{merchantId}/testorders/{orderId}/advance') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId', 'orderId'], + pathParams: ['merchantId', 'orderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + cancel(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/content/v2/{merchantId}/orders/{orderId}/cancel') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId', 'orderId'], + pathParams: ['merchantId', 'orderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + cancellineitem(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2/{merchantId}/orders/{orderId}/cancelLineItem') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId', 'orderId'], + pathParams: ['merchantId', 'orderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + canceltestorderbycustomer(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2/{merchantId}/testorders/{orderId}/cancelByCustomer') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId', 'orderId'], + pathParams: ['merchantId', 'orderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + createtestorder(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/content/v2/{merchantId}/testorders') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId'], + pathParams: ['merchantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + createtestreturn(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2/{merchantId}/orders/{orderId}/testreturn') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId', 'orderId'], + pathParams: ['merchantId', 'orderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + custombatch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/content/v2/orders/batch') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/content/v2/{merchantId}/orders/{orderId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['merchantId', 'orderId'], + pathParams: ['merchantId', 'orderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getbymerchantorderid(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2/{merchantId}/ordersbymerchantid/{merchantOrderId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['merchantId', 'merchantOrderId'], + pathParams: ['merchantId', 'merchantOrderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + gettestordertemplate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2/{merchantId}/testordertemplates/{templateName}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['merchantId', 'templateName'], + pathParams: ['merchantId', 'templateName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + instorerefundlineitem(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2/{merchantId}/orders/{orderId}/inStoreRefundLineItem') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId', 'orderId'], + pathParams: ['merchantId', 'orderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/content/v2/{merchantId}/orders') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['merchantId'], + pathParams: ['merchantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + refund(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/content/v2/{merchantId}/orders/{orderId}/refund') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId', 'orderId'], + pathParams: ['merchantId', 'orderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + rejectreturnlineitem(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2/{merchantId}/orders/{orderId}/rejectReturnLineItem') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId', 'orderId'], + pathParams: ['merchantId', 'orderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + returnlineitem(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2/{merchantId}/orders/{orderId}/returnLineItem') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId', 'orderId'], + pathParams: ['merchantId', 'orderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + returnrefundlineitem(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2/{merchantId}/orders/{orderId}/returnRefundLineItem') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId', 'orderId'], + pathParams: ['merchantId', 'orderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setlineitemmetadata(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2/{merchantId}/orders/{orderId}/setLineItemMetadata') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId', 'orderId'], + pathParams: ['merchantId', 'orderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + shiplineitems(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2/{merchantId}/orders/{orderId}/shipLineItems') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId', 'orderId'], + pathParams: ['merchantId', 'orderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + updatelineitemshippingdetails(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2/{merchantId}/orders/{orderId}/updateLineItemShippingDetails') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId', 'orderId'], + pathParams: ['merchantId', 'orderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + updatemerchantorderid(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2/{merchantId}/orders/{orderId}/updateMerchantOrderId') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId', 'orderId'], + pathParams: ['merchantId', 'orderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + updateshipment(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2/{merchantId}/orders/{orderId}/updateShipment') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId', 'orderId'], + pathParams: ['merchantId', 'orderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + content_v2.Resource$Orders = Resource$Orders; + class Resource$Pos { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + custombatch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/content/v2/pos/batch') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2/{merchantId}/pos/{targetMerchantId}/store/{storeCode}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['merchantId', 'targetMerchantId', 'storeCode'], + pathParams: ['merchantId', 'storeCode', 'targetMerchantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2/{merchantId}/pos/{targetMerchantId}/store/{storeCode}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['merchantId', 'targetMerchantId', 'storeCode'], + pathParams: ['merchantId', 'storeCode', 'targetMerchantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2/{merchantId}/pos/{targetMerchantId}/store') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId', 'targetMerchantId'], + pathParams: ['merchantId', 'targetMerchantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + inventory(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2/{merchantId}/pos/{targetMerchantId}/inventory') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId', 'targetMerchantId'], + pathParams: ['merchantId', 'targetMerchantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2/{merchantId}/pos/{targetMerchantId}/store') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['merchantId', 'targetMerchantId'], + pathParams: ['merchantId', 'targetMerchantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + sale(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2/{merchantId}/pos/{targetMerchantId}/sale') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId', 'targetMerchantId'], + pathParams: ['merchantId', 'targetMerchantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + content_v2.Resource$Pos = Resource$Pos; + class Resource$Products { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + custombatch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/content/v2/products/batch') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/content/v2/{merchantId}/products/{productId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['merchantId', 'productId'], + pathParams: ['merchantId', 'productId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/content/v2/{merchantId}/products/{productId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['merchantId', 'productId'], + pathParams: ['merchantId', 'productId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/content/v2/{merchantId}/products') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId'], + pathParams: ['merchantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/content/v2/{merchantId}/products') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['merchantId'], + pathParams: ['merchantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + content_v2.Resource$Products = Resource$Products; + class Resource$Productstatuses { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + custombatch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/content/v2/productstatuses/batch') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2/{merchantId}/productstatuses/{productId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['merchantId', 'productId'], + pathParams: ['merchantId', 'productId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/content/v2/{merchantId}/productstatuses') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['merchantId'], + pathParams: ['merchantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + content_v2.Resource$Productstatuses = Resource$Productstatuses; + class Resource$Shippingsettings { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + custombatch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/content/v2/shippingsettings/batch') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2/{merchantId}/shippingsettings/{accountId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['merchantId', 'accountId'], + pathParams: ['accountId', 'merchantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getsupportedcarriers(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/content/v2/{merchantId}/supportedCarriers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['merchantId'], + pathParams: ['merchantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getsupportedholidays(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/content/v2/{merchantId}/supportedHolidays') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['merchantId'], + pathParams: ['merchantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/content/v2/{merchantId}/shippingsettings') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['merchantId'], + pathParams: ['merchantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2/{merchantId}/shippingsettings/{accountId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['merchantId', 'accountId'], + pathParams: ['accountId', 'merchantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2/{merchantId}/shippingsettings/{accountId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['merchantId', 'accountId'], + pathParams: ['accountId', 'merchantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + content_v2.Resource$Shippingsettings = Resource$Shippingsettings; +})(content_v2 = exports.content_v2 || (exports.content_v2 = {})); +//# sourceMappingURL=v2.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/content/v2.js.map b/express-server/node_modules/googleapis/build/src/apis/content/v2.js.map new file mode 100644 index 00000000..312a614b --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/content/v2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v2.js","sourceRoot":"","sources":["../../../../src/apis/content/v2.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/content/v2sandbox.d.ts b/express-server/node_modules/googleapis/build/src/apis/content/v2sandbox.d.ts new file mode 100644 index 00000000..07fe605b --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/content/v2sandbox.d.ts @@ -0,0 +1,3379 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace content_v2sandbox { + interface Options extends GlobalOptions { + version: 'v2sandbox'; + } + /** + * Content API for Shopping + * + * Manages product items, inventory, and Merchant Center accounts for Google + * Shopping. + * + * @example + * const {google} = require('googleapis'); + * const content = google.content('v2sandbox'); + * + * @namespace content + * @type {Function} + * @version v2sandbox + * @variation v2sandbox + * @param {object=} options Options for Content + */ + class Content { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + orderinvoices: Resource$Orderinvoices; + orderpayments: Resource$Orderpayments; + orderreturns: Resource$Orderreturns; + orders: Resource$Orders; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + interface Schema$Amount { + /** + * [required] Value before taxes. + */ + pretax?: Schema$Price; + /** + * [required] Tax value. + */ + tax?: Schema$Price; + } + interface Schema$CustomerReturnReason { + description?: string; + reasonCode?: string; + } + /** + * An error returned by the API. + */ + interface Schema$Error { + /** + * The domain of the error. + */ + domain?: string; + /** + * A description of the error. + */ + message?: string; + /** + * The error code. + */ + reason?: string; + } + /** + * A list of errors returned by a failed batch entry. + */ + interface Schema$Errors { + /** + * The HTTP status of the first error in errors. + */ + code?: number; + /** + * A list of errors. + */ + errors?: Schema$Error[]; + /** + * The message of the first error in errors. + */ + message?: string; + } + interface Schema$InvoiceSummary { + /** + * Summary of the total amounts of the additional charges. + */ + additionalChargeSummaries?: Schema$InvoiceSummaryAdditionalChargeSummary[]; + /** + * [required] Customer balance on this invoice. A negative amount means the + * customer is paying, a positive one means the customer is receiving money. + * Note: the sum of merchant_balance, customer_balance and google_balance + * must always be zero. Furthermore the absolute value of this amount is + * expected to be equal to the sum of product amount and additional charges, + * minus promotions. + */ + customerBalance?: Schema$Amount; + /** + * [required] Google balance on this invoice. A negative amount means Google + * is paying, a positive one means Google is receiving money. Note: the sum + * of merchant_balance, customer_balance and google_balance must always be + * zero. + */ + googleBalance?: Schema$Amount; + /** + * [required] Merchant balance on this invoice. A negative amount means the + * merchant is paying, a positive one means the merchant is receiving money. + * Note: the sum of merchant_balance, customer_balance and google_balance + * must always be zero. + */ + merchantBalance?: Schema$Amount; + /** + * [required] Total price for the product. + */ + productTotal?: Schema$Amount; + /** + * Summary for each promotion. + */ + promotionSummaries?: Schema$Promotion[]; + } + interface Schema$InvoiceSummaryAdditionalChargeSummary { + /** + * [required] Total additional charge for this type. + */ + totalAmount?: Schema$Amount; + /** + * [required] Type of the additional charge. + */ + type?: string; + } + interface Schema$MerchantOrderReturn { + creationDate?: string; + merchantOrderId?: string; + orderId?: string; + orderReturnId?: string; + returnItems?: Schema$MerchantOrderReturnItem[]; + returnShipments?: Schema$ReturnShipment[]; + } + interface Schema$MerchantOrderReturnItem { + customerReturnReason?: Schema$CustomerReturnReason; + itemId?: string; + merchantReturnReason?: Schema$RefundReason; + product?: Schema$OrderLineItemProduct; + returnShipmentIds?: string[]; + state?: string; + } + interface Schema$Order { + /** + * Whether the order was acknowledged. + */ + acknowledged?: boolean; + /** + * The channel type of the order: "purchaseOnGoogle" or + * "googleExpress". + */ + channelType?: string; + /** + * The details of the customer who placed the order. + */ + customer?: Schema$OrderCustomer; + /** + * The details for the delivery. + */ + deliveryDetails?: Schema$OrderDeliveryDetails; + /** + * The REST id of the order. Globally unique. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#order". + */ + kind?: string; + /** + * Line items that are ordered. + */ + lineItems?: Schema$OrderLineItem[]; + merchantId?: string; + /** + * Merchant-provided id of the order. + */ + merchantOrderId?: string; + /** + * The net amount for the order. For example, if an order was originally for + * a grand total of $100 and a refund was issued for $20, the net amount + * will be $80. + */ + netAmount?: Schema$Price; + /** + * The details of the payment method. + */ + paymentMethod?: Schema$OrderPaymentMethod; + /** + * The status of the payment. + */ + paymentStatus?: string; + /** + * The date when the order was placed, in ISO 8601 format. + */ + placedDate?: string; + /** + * The details of the merchant provided promotions applied to the order. + * More details about the program are here. + */ + promotions?: Schema$OrderPromotion[]; + /** + * Refunds for the order. + */ + refunds?: Schema$OrderRefund[]; + /** + * Shipments of the order. + */ + shipments?: Schema$OrderShipment[]; + /** + * The total cost of shipping for all items. + */ + shippingCost?: Schema$Price; + /** + * The tax for the total shipping cost. + */ + shippingCostTax?: Schema$Price; + /** + * The requested shipping option. + */ + shippingOption?: string; + /** + * The status of the order. + */ + status?: string; + } + interface Schema$OrderAddress { + /** + * CLDR country code (e.g. "US"). + */ + country?: string; + /** + * Strings representing the lines of the printed label for mailing the + * order, for example: John Smith 1600 Amphitheatre Parkway Mountain View, + * CA, 94043 United States + */ + fullAddress?: string[]; + /** + * Whether the address is a post office box. + */ + isPostOfficeBox?: boolean; + /** + * City, town or commune. May also include dependent localities or + * sublocalities (e.g. neighborhoods or suburbs). + */ + locality?: string; + /** + * Postal Code or ZIP (e.g. "94043"). + */ + postalCode?: string; + /** + * Name of the recipient. + */ + recipientName?: string; + /** + * Top-level administrative subdivision of the country. For example, a state + * like California ("CA") or a province like Quebec + * ("QC"). + */ + region?: string; + /** + * Street-level part of the address. + */ + streetAddress?: string[]; + } + interface Schema$OrderCancellation { + /** + * The actor that created the cancellation. + */ + actor?: string; + /** + * Date on which the cancellation has been created, in ISO 8601 format. + */ + creationDate?: string; + /** + * The quantity that was canceled. + */ + quantity?: number; + /** + * The reason for the cancellation. Orders that are cancelled with a + * noInventory reason will lead to the removal of the product from Shopping + * Actions until you make an update to that product. This will not affect + * your Shopping ads. + */ + reason?: string; + /** + * The explanation of the reason. + */ + reasonText?: string; + } + interface Schema$OrderCustomer { + /** + * Deprecated. + */ + email?: string; + /** + * Deprecated. Please use marketingRightsInfo instead. + */ + explicitMarketingPreference?: boolean; + /** + * Full name of the customer. + */ + fullName?: string; + /** + * Customer's marketing preferences. + */ + marketingRightsInfo?: Schema$OrderCustomerMarketingRightsInfo; + } + interface Schema$OrderCustomerMarketingRightsInfo { + /** + * Last known user selection regarding marketing preferences. In certain + * cases this selection might not be known, so this field would be empty. + */ + explicitMarketingPreference?: string; + /** + * Timestamp when last time marketing preference was updated. Could be + * empty, if user wasn't offered a selection yet. + */ + lastUpdatedTimestamp?: string; + /** + * Email address that can be used for marketing purposes. This field is only + * filled when explicitMarketingPreference is equal to 'granted'. + */ + marketingEmailAddress?: string; + } + interface Schema$OrderDeliveryDetails { + /** + * The delivery address + */ + address?: Schema$OrderAddress; + /** + * The phone number of the person receiving the delivery. + */ + phoneNumber?: string; + } + interface Schema$OrderinvoicesCreateChargeInvoiceRequest { + /** + * [required] The ID of the invoice. + */ + invoiceId?: string; + /** + * [required] Invoice summary. + */ + invoiceSummary?: Schema$InvoiceSummary; + /** + * [required] Invoice details per line item. + */ + lineItemInvoices?: Schema$ShipmentInvoiceLineItemInvoice[]; + /** + * [required] The ID of the operation, unique across all operations for a + * given order. + */ + operationId?: string; + /** + * [required] ID of the shipment group. + */ + shipmentGroupId?: string; + } + interface Schema$OrderinvoicesCreateChargeInvoiceResponse { + /** + * The status of the execution. + */ + executionStatus?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#orderinvoicesCreateChargeInvoiceResponse". + */ + kind?: string; + } + interface Schema$OrderinvoicesCreateRefundInvoiceRequest { + /** + * [required] The ID of the invoice. + */ + invoiceId?: string; + /** + * [required] The ID of the operation, unique across all operations for a + * given order. + */ + operationId?: string; + /** + * Option to create a refund-only invoice. Exactly one of refundOnlyOption + * or returnOption must be provided. + */ + refundOnlyOption?: Schema$OrderinvoicesCustomBatchRequestEntryCreateRefundInvoiceRefundOption; + /** + * Option to create an invoice for a refund and mark all items within the + * invoice as returned. Exactly one of refundOnlyOption or returnOption must + * be provided. + */ + returnOption?: Schema$OrderinvoicesCustomBatchRequestEntryCreateRefundInvoiceReturnOption; + /** + * Invoice details for different shipment groups. + */ + shipmentInvoices?: Schema$ShipmentInvoice[]; + } + interface Schema$OrderinvoicesCreateRefundInvoiceResponse { + /** + * The status of the execution. + */ + executionStatus?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#orderinvoicesCreateRefundInvoiceResponse". + */ + kind?: string; + } + interface Schema$OrderinvoicesCustomBatchRequestEntryCreateRefundInvoiceRefundOption { + /** + * Optional description of the refund reason. + */ + description?: string; + /** + * [required] Reason for the refund. + */ + reason?: string; + } + interface Schema$OrderinvoicesCustomBatchRequestEntryCreateRefundInvoiceReturnOption { + /** + * Optional description of the return reason. + */ + description?: string; + /** + * [required] Reason for the return. + */ + reason?: string; + } + interface Schema$OrderLineItem { + /** + * Annotations that are attached to the line item. + */ + annotations?: Schema$OrderMerchantProvidedAnnotation[]; + /** + * Cancellations of the line item. + */ + cancellations?: Schema$OrderCancellation[]; + /** + * The id of the line item. + */ + id?: string; + /** + * Total price for the line item. For example, if two items for $10 are + * purchased, the total price will be $20. + */ + price?: Schema$Price; + /** + * Product data from the time of the order placement. + */ + product?: Schema$OrderLineItemProduct; + /** + * Number of items canceled. + */ + quantityCanceled?: number; + /** + * Number of items delivered. + */ + quantityDelivered?: number; + /** + * Number of items ordered. + */ + quantityOrdered?: number; + /** + * Number of items pending. + */ + quantityPending?: number; + /** + * Number of items returned. + */ + quantityReturned?: number; + /** + * Number of items shipped. + */ + quantityShipped?: number; + /** + * Details of the return policy for the line item. + */ + returnInfo?: Schema$OrderLineItemReturnInfo; + /** + * Returns of the line item. + */ + returns?: Schema$OrderReturn[]; + /** + * Details of the requested shipping for the line item. + */ + shippingDetails?: Schema$OrderLineItemShippingDetails; + /** + * Total tax amount for the line item. For example, if two items are + * purchased, and each have a cost tax of $2, the total tax amount will be + * $4. + */ + tax?: Schema$Price; + } + interface Schema$OrderLineItemProduct { + /** + * Brand of the item. + */ + brand?: string; + /** + * The item's channel (online or local). + */ + channel?: string; + /** + * Condition or state of the item. + */ + condition?: string; + /** + * The two-letter ISO 639-1 language code for the item. + */ + contentLanguage?: string; + /** + * Global Trade Item Number (GTIN) of the item. + */ + gtin?: string; + /** + * The REST id of the product. + */ + id?: string; + /** + * URL of an image of the item. + */ + imageLink?: string; + /** + * Shared identifier for all variants of the same product. + */ + itemGroupId?: string; + /** + * Manufacturer Part Number (MPN) of the item. + */ + mpn?: string; + /** + * An identifier of the item. + */ + offerId?: string; + /** + * Price of the item. + */ + price?: Schema$Price; + /** + * URL to the cached image shown to the user when order was placed. + */ + shownImage?: string; + /** + * The CLDR territory code of the target country of the product. + */ + targetCountry?: string; + /** + * The title of the product. + */ + title?: string; + /** + * Variant attributes for the item. These are dimensions of the product, + * such as color, gender, material, pattern, and size. You can find a + * comprehensive list of variant attributes here. + */ + variantAttributes?: Schema$OrderLineItemProductVariantAttribute[]; + } + interface Schema$OrderLineItemProductVariantAttribute { + /** + * The dimension of the variant. + */ + dimension?: string; + /** + * The value for the dimension. + */ + value?: string; + } + interface Schema$OrderLineItemReturnInfo { + /** + * How many days later the item can be returned. + */ + daysToReturn?: number; + /** + * Whether the item is returnable. + */ + isReturnable?: boolean; + /** + * URL of the item return policy. + */ + policyUrl?: string; + } + interface Schema$OrderLineItemShippingDetails { + /** + * The delivery by date, in ISO 8601 format. + */ + deliverByDate?: string; + /** + * Details of the shipping method. + */ + method?: Schema$OrderLineItemShippingDetailsMethod; + /** + * The ship by date, in ISO 8601 format. + */ + shipByDate?: string; + } + interface Schema$OrderLineItemShippingDetailsMethod { + /** + * The carrier for the shipping. Optional. See shipments[].carrier for a + * list of acceptable values. + */ + carrier?: string; + /** + * Maximum transit time. + */ + maxDaysInTransit?: number; + /** + * The name of the shipping method. + */ + methodName?: string; + /** + * Minimum transit time. + */ + minDaysInTransit?: number; + } + interface Schema$OrderMerchantProvidedAnnotation { + /** + * Key for additional merchant provided (as key-value pairs) annotation + * about the line item. + */ + key?: string; + /** + * Value for additional merchant provided (as key-value pairs) annotation + * about the line item. + */ + value?: string; + } + interface Schema$OrderPaymentMethod { + /** + * The billing address. + */ + billingAddress?: Schema$OrderAddress; + /** + * The card expiration month (January = 1, February = 2 etc.). + */ + expirationMonth?: number; + /** + * The card expiration year (4-digit, e.g. 2015). + */ + expirationYear?: number; + /** + * The last four digits of the card number. + */ + lastFourDigits?: string; + /** + * The billing phone number. + */ + phoneNumber?: string; + /** + * The type of instrument. Acceptable values are: - "AMEX" - + * "DISCOVER" - "JCB" - "MASTERCARD" - + * "UNIONPAY" - "VISA" - "" + */ + type?: string; + } + interface Schema$OrderpaymentsNotifyAuthApprovedRequest { + authAmountPretax?: Schema$Price; + authAmountTax?: Schema$Price; + } + interface Schema$OrderpaymentsNotifyAuthApprovedResponse { + /** + * The status of the execution. + */ + executionStatus?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#orderpaymentsNotifyAuthApprovedResponse". + */ + kind?: string; + } + interface Schema$OrderpaymentsNotifyAuthDeclinedRequest { + /** + * Reason why payment authorization was declined. + */ + declineReason?: string; + } + interface Schema$OrderpaymentsNotifyAuthDeclinedResponse { + /** + * The status of the execution. + */ + executionStatus?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#orderpaymentsNotifyAuthDeclinedResponse". + */ + kind?: string; + } + interface Schema$OrderpaymentsNotifyChargeRequest { + /** + * Whether charge was successful. + */ + chargeState?: string; + /** + * Deprecated. Please use invoiceIds instead. + */ + invoiceId?: string; + /** + * Invoice IDs from the orderinvoices service that correspond to the charge. + */ + invoiceIds?: string[]; + } + interface Schema$OrderpaymentsNotifyChargeResponse { + /** + * The status of the execution. + */ + executionStatus?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#orderpaymentsNotifyChargeResponse". + */ + kind?: string; + } + interface Schema$OrderpaymentsNotifyRefundRequest { + /** + * Deprecated. Please use invoiceIds instead. + */ + invoiceId?: string; + /** + * Invoice IDs from the orderinvoices service that correspond to the refund. + */ + invoiceIds?: string[]; + /** + * Whether refund was successful. + */ + refundState?: string; + } + interface Schema$OrderpaymentsNotifyRefundResponse { + /** + * The status of the execution. + */ + executionStatus?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#orderpaymentsNotifyRefundResponse". + */ + kind?: string; + } + interface Schema$OrderPromotion { + benefits?: Schema$OrderPromotionBenefit[]; + /** + * The date and time frame when the promotion is active and ready for + * validation review. Note that the promotion live time may be delayed for a + * few hours due to the validation review. Start date and end date are + * separated by a forward slash (/). The start date is specified by the + * format (YYYY-MM-DD), followed by the letter ?T?, the time of the day when + * the sale starts (in Greenwich Mean Time, GMT), followed by an expression + * of the time zone for the sale. The end date is in the same format. + */ + effectiveDates?: string; + /** + * Optional. The text code that corresponds to the promotion when applied on + * the retailer?s website. + */ + genericRedemptionCode?: string; + /** + * The unique ID of the promotion. + */ + id?: string; + /** + * The full title of the promotion. + */ + longTitle?: string; + /** + * Whether the promotion is applicable to all products or only specific + * products. + */ + productApplicability?: string; + /** + * Indicates that the promotion is valid online. + */ + redemptionChannel?: string; + } + interface Schema$OrderPromotionBenefit { + /** + * The discount in the order price when the promotion is applied. + */ + discount?: Schema$Price; + /** + * The OfferId(s) that were purchased in this order and map to this specific + * benefit of the promotion. + */ + offerIds?: string[]; + /** + * Further describes the benefit of the promotion. Note that we will expand + * on this enumeration as we support new promotion sub-types. + */ + subType?: string; + /** + * The impact on tax when the promotion is applied. + */ + taxImpact?: Schema$Price; + /** + * Describes whether the promotion applies to products (e.g. 20% off) or to + * shipping (e.g. Free Shipping). + */ + type?: string; + } + interface Schema$OrderRefund { + /** + * The actor that created the refund. + */ + actor?: string; + /** + * The amount that is refunded. + */ + amount?: Schema$Price; + /** + * Date on which the item has been created, in ISO 8601 format. + */ + creationDate?: string; + /** + * The reason for the refund. + */ + reason?: string; + /** + * The explanation of the reason. + */ + reasonText?: string; + } + interface Schema$OrderReturn { + /** + * The actor that created the refund. + */ + actor?: string; + /** + * Date on which the item has been created, in ISO 8601 format. + */ + creationDate?: string; + /** + * Quantity that is returned. + */ + quantity?: number; + /** + * The reason for the return. + */ + reason?: string; + /** + * The explanation of the reason. + */ + reasonText?: string; + } + interface Schema$OrderreturnsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#orderreturnsListResponse". + */ + kind?: string; + /** + * The token for the retrieval of the next page of returns. + */ + nextPageToken?: string; + resources?: Schema$MerchantOrderReturn[]; + } + interface Schema$OrdersAcknowledgeRequest { + /** + * The ID of the operation. Unique across all operations for a given order. + */ + operationId?: string; + } + interface Schema$OrdersAcknowledgeResponse { + /** + * The status of the execution. + */ + executionStatus?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#ordersAcknowledgeResponse". + */ + kind?: string; + } + interface Schema$OrdersAdvanceTestOrderResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#ordersAdvanceTestOrderResponse". + */ + kind?: string; + } + interface Schema$OrdersCancelLineItemRequest { + /** + * Deprecated. Please use amountPretax and amountTax instead. + */ + amount?: Schema$Price; + /** + * Amount to refund for the cancelation. Optional. If not set, Google will + * calculate the default based on the price and tax of the items involved. + * The amount must not be larger than the net amount left on the order. + */ + amountPretax?: Schema$Price; + /** + * Tax amount that correspond to cancellation amount in amountPretax. + */ + amountTax?: Schema$Price; + /** + * The ID of the line item to cancel. Either lineItemId or productId is + * required. + */ + lineItemId?: string; + /** + * The ID of the operation. Unique across all operations for a given order. + */ + operationId?: string; + /** + * The ID of the product to cancel. This is the REST ID used in the products + * service. Either lineItemId or productId is required. + */ + productId?: string; + /** + * The quantity to cancel. + */ + quantity?: number; + /** + * The reason for the cancellation. + */ + reason?: string; + /** + * The explanation of the reason. + */ + reasonText?: string; + } + interface Schema$OrdersCancelLineItemResponse { + /** + * The status of the execution. + */ + executionStatus?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#ordersCancelLineItemResponse". + */ + kind?: string; + } + interface Schema$OrdersCancelRequest { + /** + * The ID of the operation. Unique across all operations for a given order. + */ + operationId?: string; + /** + * The reason for the cancellation. + */ + reason?: string; + /** + * The explanation of the reason. + */ + reasonText?: string; + } + interface Schema$OrdersCancelResponse { + /** + * The status of the execution. + */ + executionStatus?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#ordersCancelResponse". + */ + kind?: string; + } + interface Schema$OrdersCancelTestOrderByCustomerRequest { + /** + * The reason for the cancellation. + */ + reason?: string; + } + interface Schema$OrdersCancelTestOrderByCustomerResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#ordersCancelTestOrderByCustomerResponse". + */ + kind?: string; + } + interface Schema$OrdersCreateTestOrderRequest { + /** + * The CLDR territory code of the country of the test order to create. + * Affects the currency and addresses of orders created via template_name, + * or the addresses of orders created via test_order. Acceptable values + * are: - "US" - "FR" Defaults to US. + */ + country?: string; + /** + * The test order template to use. Specify as an alternative to testOrder as + * a shortcut for retrieving a template and then creating an order using + * that template. + */ + templateName?: string; + /** + * The test order to create. + */ + testOrder?: Schema$TestOrder; + } + interface Schema$OrdersCreateTestOrderResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#ordersCreateTestOrderResponse". + */ + kind?: string; + /** + * The ID of the newly created test order. + */ + orderId?: string; + } + interface Schema$OrdersCreateTestReturnRequest { + /** + * Returned items. + */ + items?: Schema$OrdersCustomBatchRequestEntryCreateTestReturnReturnItem[]; + } + interface Schema$OrdersCreateTestReturnResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#ordersCreateTestReturnResponse". + */ + kind?: string; + /** + * The ID of the newly created test order return. + */ + returnId?: string; + } + interface Schema$OrdersCustomBatchRequest { + /** + * The request entries to be processed in the batch. + */ + entries?: Schema$OrdersCustomBatchRequestEntry[]; + } + interface Schema$OrdersCustomBatchRequestEntry { + /** + * An entry ID, unique within the batch request. + */ + batchId?: number; + /** + * Required for cancel method. + */ + cancel?: Schema$OrdersCustomBatchRequestEntryCancel; + /** + * Required for cancelLineItem method. + */ + cancelLineItem?: Schema$OrdersCustomBatchRequestEntryCancelLineItem; + /** + * Required for inStoreReturnLineItem method. + */ + inStoreRefundLineItem?: Schema$OrdersCustomBatchRequestEntryInStoreRefundLineItem; + /** + * The ID of the managing account. + */ + merchantId?: string; + /** + * The merchant order id. Required for updateMerchantOrderId and + * getByMerchantOrderId methods. + */ + merchantOrderId?: string; + /** + * The method to apply. + */ + method?: string; + /** + * The ID of the operation. Unique across all operations for a given order. + * Required for all methods beside get and getByMerchantOrderId. + */ + operationId?: string; + /** + * The ID of the order. Required for all methods beside + * getByMerchantOrderId. + */ + orderId?: string; + /** + * Required for refund method. + */ + refund?: Schema$OrdersCustomBatchRequestEntryRefund; + /** + * Required for rejectReturnLineItem method. + */ + rejectReturnLineItem?: Schema$OrdersCustomBatchRequestEntryRejectReturnLineItem; + /** + * Required for returnLineItem method. + */ + returnLineItem?: Schema$OrdersCustomBatchRequestEntryReturnLineItem; + /** + * Required for returnRefundLineItem method. + */ + returnRefundLineItem?: Schema$OrdersCustomBatchRequestEntryReturnRefundLineItem; + /** + * Required for setLineItemMetadata method. + */ + setLineItemMetadata?: Schema$OrdersCustomBatchRequestEntrySetLineItemMetadata; + /** + * Required for shipLineItems method. + */ + shipLineItems?: Schema$OrdersCustomBatchRequestEntryShipLineItems; + /** + * Required for updateLineItemShippingDate method. + */ + updateLineItemShippingDetails?: Schema$OrdersCustomBatchRequestEntryUpdateLineItemShippingDetails; + /** + * Required for updateShipment method. + */ + updateShipment?: Schema$OrdersCustomBatchRequestEntryUpdateShipment; + } + interface Schema$OrdersCustomBatchRequestEntryCancel { + /** + * The reason for the cancellation. + */ + reason?: string; + /** + * The explanation of the reason. + */ + reasonText?: string; + } + interface Schema$OrdersCustomBatchRequestEntryCancelLineItem { + /** + * Deprecated. Please use amountPretax and amountTax instead. + */ + amount?: Schema$Price; + /** + * Amount to refund for the cancelation. Optional. If not set, Google will + * calculate the default based on the price and tax of the items involved. + * The amount must not be larger than the net amount left on the order. + */ + amountPretax?: Schema$Price; + /** + * Tax amount that correspond to cancellation amount in amountPretax. + */ + amountTax?: Schema$Price; + /** + * The ID of the line item to cancel. Either lineItemId or productId is + * required. + */ + lineItemId?: string; + /** + * The ID of the product to cancel. This is the REST ID used in the products + * service. Either lineItemId or productId is required. + */ + productId?: string; + /** + * The quantity to cancel. + */ + quantity?: number; + /** + * The reason for the cancellation. + */ + reason?: string; + /** + * The explanation of the reason. + */ + reasonText?: string; + } + interface Schema$OrdersCustomBatchRequestEntryCreateTestReturnReturnItem { + /** + * The ID of the line item to return. + */ + lineItemId?: string; + /** + * Quantity that is returned. + */ + quantity?: number; + } + interface Schema$OrdersCustomBatchRequestEntryInStoreRefundLineItem { + /** + * The amount that is refunded. Required. + */ + amountPretax?: Schema$Price; + /** + * Tax amount that correspond to refund amount in amountPretax. Required. + */ + amountTax?: Schema$Price; + /** + * The ID of the line item to return. Either lineItemId or productId is + * required. + */ + lineItemId?: string; + /** + * The ID of the product to return. This is the REST ID used in the products + * service. Either lineItemId or productId is required. + */ + productId?: string; + /** + * The quantity to return and refund. + */ + quantity?: number; + /** + * The reason for the return. + */ + reason?: string; + /** + * The explanation of the reason. + */ + reasonText?: string; + } + interface Schema$OrdersCustomBatchRequestEntryRefund { + /** + * Deprecated. Please use amountPretax and amountTax instead. + */ + amount?: Schema$Price; + /** + * The amount that is refunded. Either amount or amountPretax and amountTax + * should be filled. + */ + amountPretax?: Schema$Price; + /** + * Tax amount that correspond to refund amount in amountPretax. + */ + amountTax?: Schema$Price; + /** + * The reason for the refund. + */ + reason?: string; + /** + * The explanation of the reason. + */ + reasonText?: string; + } + interface Schema$OrdersCustomBatchRequestEntryRejectReturnLineItem { + /** + * The ID of the line item to return. Either lineItemId or productId is + * required. + */ + lineItemId?: string; + /** + * The ID of the product to return. This is the REST ID used in the products + * service. Either lineItemId or productId is required. + */ + productId?: string; + /** + * The quantity to return and refund. + */ + quantity?: number; + /** + * The reason for the return. + */ + reason?: string; + /** + * The explanation of the reason. + */ + reasonText?: string; + } + interface Schema$OrdersCustomBatchRequestEntryReturnLineItem { + /** + * The ID of the line item to return. Either lineItemId or productId is + * required. + */ + lineItemId?: string; + /** + * The ID of the product to return. This is the REST ID used in the products + * service. Either lineItemId or productId is required. + */ + productId?: string; + /** + * The quantity to return. + */ + quantity?: number; + /** + * The reason for the return. + */ + reason?: string; + /** + * The explanation of the reason. + */ + reasonText?: string; + } + interface Schema$OrdersCustomBatchRequestEntryReturnRefundLineItem { + /** + * The amount that is refunded. If omitted, refundless return is assumed + * (same as calling returnLineItem method). Optional, but if filled then + * both amountPretax and amountTax must be set. + */ + amountPretax?: Schema$Price; + /** + * Tax amount that correspond to refund amount in amountPretax. + */ + amountTax?: Schema$Price; + /** + * The ID of the line item to return. Either lineItemId or productId is + * required. + */ + lineItemId?: string; + /** + * The ID of the product to return. This is the REST ID used in the products + * service. Either lineItemId or productId is required. + */ + productId?: string; + /** + * The quantity to return and refund. + */ + quantity?: number; + /** + * The reason for the return. + */ + reason?: string; + /** + * The explanation of the reason. + */ + reasonText?: string; + } + interface Schema$OrdersCustomBatchRequestEntrySetLineItemMetadata { + annotations?: Schema$OrderMerchantProvidedAnnotation[]; + /** + * The ID of the line item to set metadata. Either lineItemId or productId + * is required. + */ + lineItemId?: string; + /** + * The ID of the product to set metadata. This is the REST ID used in the + * products service. Either lineItemId or productId is required. + */ + productId?: string; + } + interface Schema$OrdersCustomBatchRequestEntryShipLineItems { + /** + * Deprecated. Please use shipmentInfo instead. The carrier handling the + * shipment. See shipments[].carrier in the Orders resource representation + * for a list of acceptable values. + */ + carrier?: string; + /** + * Line items to ship. + */ + lineItems?: Schema$OrderShipmentLineItemShipment[]; + /** + * ID of the shipment group. Required for orders that use the orderinvoices + * service. + */ + shipmentGroupId?: string; + /** + * Deprecated. Please use shipmentInfo instead. The ID of the shipment. + */ + shipmentId?: string; + /** + * Shipment information. This field is repeated because a single line item + * can be shipped in several packages (and have several tracking IDs). + */ + shipmentInfos?: Schema$OrdersCustomBatchRequestEntryShipLineItemsShipmentInfo[]; + /** + * Deprecated. Please use shipmentInfo instead. The tracking id for the + * shipment. + */ + trackingId?: string; + } + interface Schema$OrdersCustomBatchRequestEntryShipLineItemsShipmentInfo { + /** + * The carrier handling the shipment. See shipments[].carrier in the Orders + * resource representation for a list of acceptable values. + */ + carrier?: string; + /** + * The ID of the shipment. + */ + shipmentId?: string; + /** + * The tracking id for the shipment. + */ + trackingId?: string; + } + interface Schema$OrdersCustomBatchRequestEntryUpdateLineItemShippingDetails { + /** + * Updated delivery by date, in ISO 8601 format. If not specified only ship + * by date is updated. + */ + deliverByDate?: string; + /** + * The ID of the line item to set metadata. Either lineItemId or productId + * is required. + */ + lineItemId?: string; + /** + * The ID of the product to set metadata. This is the REST ID used in the + * products service. Either lineItemId or productId is required. + */ + productId?: string; + /** + * Updated ship by date, in ISO 8601 format. If not specified only deliver + * by date is updated. + */ + shipByDate?: string; + } + interface Schema$OrdersCustomBatchRequestEntryUpdateShipment { + /** + * The carrier handling the shipment. Not updated if missing. See + * shipments[].carrier in the Orders resource representation for a list of + * acceptable values. + */ + carrier?: string; + /** + * Date on which the shipment has been delivered, in ISO 8601 format. + * Optional and can be provided only if status is delivered. + */ + deliveryDate?: string; + /** + * The ID of the shipment. + */ + shipmentId?: string; + /** + * New status for the shipment. Not updated if missing. + */ + status?: string; + /** + * The tracking id for the shipment. Not updated if missing. + */ + trackingId?: string; + } + interface Schema$OrdersCustomBatchResponse { + /** + * The result of the execution of the batch requests. + */ + entries?: Schema$OrdersCustomBatchResponseEntry[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#ordersCustomBatchResponse". + */ + kind?: string; + } + interface Schema$OrdersCustomBatchResponseEntry { + /** + * The ID of the request entry this entry responds to. + */ + batchId?: number; + /** + * A list of errors defined if and only if the request failed. + */ + errors?: Schema$Errors; + /** + * The status of the execution. Only defined if - the request was + * successful; and - the method is not get, getByMerchantOrderId, or one of + * the test methods. + */ + executionStatus?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#ordersCustomBatchResponseEntry". + */ + kind?: string; + /** + * The retrieved order. Only defined if the method is get and if the request + * was successful. + */ + order?: Schema$Order; + } + interface Schema$OrdersGetByMerchantOrderIdResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#ordersGetByMerchantOrderIdResponse". + */ + kind?: string; + /** + * The requested order. + */ + order?: Schema$Order; + } + interface Schema$OrdersGetTestOrderTemplateResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#ordersGetTestOrderTemplateResponse". + */ + kind?: string; + /** + * The requested test order template. + */ + template?: Schema$TestOrder; + } + interface Schema$OrderShipment { + /** + * The carrier handling the shipment. Acceptable values are: - + * "gsx" - "ups" - "usps" - + * "fedex" - "dhl" - "ecourier" - + * "cxt" - "google" - "ontrac" - + * "emsy" - "ont" - "deliv" - + * "dynamex" - "lasership" - "mpx" - + * "uds" + */ + carrier?: string; + /** + * Date on which the shipment has been created, in ISO 8601 format. + */ + creationDate?: string; + /** + * Date on which the shipment has been delivered, in ISO 8601 format. + * Present only if status is delivered + */ + deliveryDate?: string; + /** + * The id of the shipment. + */ + id?: string; + /** + * The line items that are shipped. + */ + lineItems?: Schema$OrderShipmentLineItemShipment[]; + /** + * The status of the shipment. + */ + status?: string; + /** + * The tracking id for the shipment. + */ + trackingId?: string; + } + interface Schema$OrderShipmentLineItemShipment { + /** + * The id of the line item that is shipped. Either lineItemId or productId + * is required. + */ + lineItemId?: string; + /** + * The ID of the product to ship. This is the REST ID used in the products + * service. Either lineItemId or productId is required. + */ + productId?: string; + /** + * The quantity that is shipped. + */ + quantity?: number; + } + interface Schema$OrdersInStoreRefundLineItemRequest { + /** + * The amount that is refunded. Required. + */ + amountPretax?: Schema$Price; + /** + * Tax amount that correspond to refund amount in amountPretax. Required. + */ + amountTax?: Schema$Price; + /** + * The ID of the line item to return. Either lineItemId or productId is + * required. + */ + lineItemId?: string; + /** + * The ID of the operation. Unique across all operations for a given order. + */ + operationId?: string; + /** + * The ID of the product to return. This is the REST ID used in the products + * service. Either lineItemId or productId is required. + */ + productId?: string; + /** + * The quantity to return and refund. + */ + quantity?: number; + /** + * The reason for the return. + */ + reason?: string; + /** + * The explanation of the reason. + */ + reasonText?: string; + } + interface Schema$OrdersInStoreRefundLineItemResponse { + /** + * The status of the execution. + */ + executionStatus?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#ordersInStoreRefundLineItemResponse". + */ + kind?: string; + } + interface Schema$OrdersListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#ordersListResponse". + */ + kind?: string; + /** + * The token for the retrieval of the next page of orders. + */ + nextPageToken?: string; + resources?: Schema$Order[]; + } + interface Schema$OrdersRefundRequest { + /** + * Deprecated. Please use amountPretax and amountTax instead. + */ + amount?: Schema$Price; + /** + * The amount that is refunded. Either amount or amountPretax and amountTax + * should be filled. + */ + amountPretax?: Schema$Price; + /** + * Tax amount that correspond to refund amount in amountPretax. + */ + amountTax?: Schema$Price; + /** + * The ID of the operation. Unique across all operations for a given order. + */ + operationId?: string; + /** + * The reason for the refund. + */ + reason?: string; + /** + * The explanation of the reason. + */ + reasonText?: string; + } + interface Schema$OrdersRefundResponse { + /** + * The status of the execution. + */ + executionStatus?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#ordersRefundResponse". + */ + kind?: string; + } + interface Schema$OrdersRejectReturnLineItemRequest { + /** + * The ID of the line item to return. Either lineItemId or productId is + * required. + */ + lineItemId?: string; + /** + * The ID of the operation. Unique across all operations for a given order. + */ + operationId?: string; + /** + * The ID of the product to return. This is the REST ID used in the products + * service. Either lineItemId or productId is required. + */ + productId?: string; + /** + * The quantity to return and refund. + */ + quantity?: number; + /** + * The reason for the return. + */ + reason?: string; + /** + * The explanation of the reason. + */ + reasonText?: string; + } + interface Schema$OrdersRejectReturnLineItemResponse { + /** + * The status of the execution. + */ + executionStatus?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#ordersRejectReturnLineItemResponse". + */ + kind?: string; + } + interface Schema$OrdersReturnLineItemRequest { + /** + * The ID of the line item to return. Either lineItemId or productId is + * required. + */ + lineItemId?: string; + /** + * The ID of the operation. Unique across all operations for a given order. + */ + operationId?: string; + /** + * The ID of the product to return. This is the REST ID used in the products + * service. Either lineItemId or productId is required. + */ + productId?: string; + /** + * The quantity to return. + */ + quantity?: number; + /** + * The reason for the return. + */ + reason?: string; + /** + * The explanation of the reason. + */ + reasonText?: string; + } + interface Schema$OrdersReturnLineItemResponse { + /** + * The status of the execution. + */ + executionStatus?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#ordersReturnLineItemResponse". + */ + kind?: string; + } + interface Schema$OrdersReturnRefundLineItemRequest { + /** + * The amount that is refunded. If omitted, refundless return is assumed + * (same as calling returnLineItem method). Optional, but if filled then + * both amountPretax and amountTax must be set. + */ + amountPretax?: Schema$Price; + /** + * Tax amount that correspond to refund amount in amountPretax. + */ + amountTax?: Schema$Price; + /** + * The ID of the line item to return. Either lineItemId or productId is + * required. + */ + lineItemId?: string; + /** + * The ID of the operation. Unique across all operations for a given order. + */ + operationId?: string; + /** + * The ID of the product to return. This is the REST ID used in the products + * service. Either lineItemId or productId is required. + */ + productId?: string; + /** + * The quantity to return and refund. + */ + quantity?: number; + /** + * The reason for the return. + */ + reason?: string; + /** + * The explanation of the reason. + */ + reasonText?: string; + } + interface Schema$OrdersReturnRefundLineItemResponse { + /** + * The status of the execution. + */ + executionStatus?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#ordersReturnRefundLineItemResponse". + */ + kind?: string; + } + interface Schema$OrdersSetLineItemMetadataRequest { + annotations?: Schema$OrderMerchantProvidedAnnotation[]; + /** + * The ID of the line item to set metadata. Either lineItemId or productId + * is required. + */ + lineItemId?: string; + /** + * The ID of the operation. Unique across all operations for a given order. + */ + operationId?: string; + /** + * The ID of the product to set metadata. This is the REST ID used in the + * products service. Either lineItemId or productId is required. + */ + productId?: string; + } + interface Schema$OrdersSetLineItemMetadataResponse { + /** + * The status of the execution. + */ + executionStatus?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#ordersSetLineItemMetadataResponse". + */ + kind?: string; + } + interface Schema$OrdersShipLineItemsRequest { + /** + * Deprecated. Please use shipmentInfo instead. The carrier handling the + * shipment. See shipments[].carrier in the Orders resource representation + * for a list of acceptable values. + */ + carrier?: string; + /** + * Line items to ship. + */ + lineItems?: Schema$OrderShipmentLineItemShipment[]; + /** + * The ID of the operation. Unique across all operations for a given order. + */ + operationId?: string; + /** + * ID of the shipment group. Required for orders that use the orderinvoices + * service. + */ + shipmentGroupId?: string; + /** + * Deprecated. Please use shipmentInfo instead. The ID of the shipment. + */ + shipmentId?: string; + /** + * Shipment information. This field is repeated because a single line item + * can be shipped in several packages (and have several tracking IDs). + */ + shipmentInfos?: Schema$OrdersCustomBatchRequestEntryShipLineItemsShipmentInfo[]; + /** + * Deprecated. Please use shipmentInfo instead. The tracking id for the + * shipment. + */ + trackingId?: string; + } + interface Schema$OrdersShipLineItemsResponse { + /** + * The status of the execution. + */ + executionStatus?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#ordersShipLineItemsResponse". + */ + kind?: string; + } + interface Schema$OrdersUpdateLineItemShippingDetailsRequest { + /** + * Updated delivery by date, in ISO 8601 format. If not specified only ship + * by date is updated. + */ + deliverByDate?: string; + /** + * The ID of the line item to set metadata. Either lineItemId or productId + * is required. + */ + lineItemId?: string; + /** + * The ID of the operation. Unique across all operations for a given order. + */ + operationId?: string; + /** + * The ID of the product to set metadata. This is the REST ID used in the + * products service. Either lineItemId or productId is required. + */ + productId?: string; + /** + * Updated ship by date, in ISO 8601 format. If not specified only deliver + * by date is updated. + */ + shipByDate?: string; + } + interface Schema$OrdersUpdateLineItemShippingDetailsResponse { + /** + * The status of the execution. + */ + executionStatus?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#ordersUpdateLineItemShippingDetailsResponse". + */ + kind?: string; + } + interface Schema$OrdersUpdateMerchantOrderIdRequest { + /** + * The merchant order id to be assigned to the order. Must be unique per + * merchant. + */ + merchantOrderId?: string; + /** + * The ID of the operation. Unique across all operations for a given order. + */ + operationId?: string; + } + interface Schema$OrdersUpdateMerchantOrderIdResponse { + /** + * The status of the execution. + */ + executionStatus?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#ordersUpdateMerchantOrderIdResponse". + */ + kind?: string; + } + interface Schema$OrdersUpdateShipmentRequest { + /** + * The carrier handling the shipment. Not updated if missing. See + * shipments[].carrier in the Orders resource representation for a list of + * acceptable values. + */ + carrier?: string; + /** + * Date on which the shipment has been delivered, in ISO 8601 format. + * Optional and can be provided only if status is delivered. + */ + deliveryDate?: string; + /** + * The ID of the operation. Unique across all operations for a given order. + */ + operationId?: string; + /** + * The ID of the shipment. + */ + shipmentId?: string; + /** + * New status for the shipment. Not updated if missing. + */ + status?: string; + /** + * The tracking id for the shipment. Not updated if missing. + */ + trackingId?: string; + } + interface Schema$OrdersUpdateShipmentResponse { + /** + * The status of the execution. + */ + executionStatus?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#ordersUpdateShipmentResponse". + */ + kind?: string; + } + interface Schema$Price { + /** + * The currency of the price. + */ + currency?: string; + /** + * The price represented as a number. + */ + value?: string; + } + interface Schema$Promotion { + /** + * [required] Amount of the promotion. The values here are the promotion + * applied to the unit price pretax and to the total of the tax amounts. + */ + promotionAmount?: Schema$Amount; + /** + * [required] ID of the promotion. + */ + promotionId?: string; + } + interface Schema$RefundReason { + description?: string; + reasonCode?: string; + } + interface Schema$ReturnShipment { + creationDate?: string; + returnMethodType?: string; + shipmentId?: string; + shipmentTrackingInfos?: Schema$ShipmentTrackingInfo[]; + } + interface Schema$ShipmentInvoice { + /** + * [required] Invoice summary. + */ + invoiceSummary?: Schema$InvoiceSummary; + /** + * [required] Invoice details per line item. + */ + lineItemInvoices?: Schema$ShipmentInvoiceLineItemInvoice[]; + /** + * [required] ID of the shipment group. + */ + shipmentGroupId?: string; + } + interface Schema$ShipmentInvoiceLineItemInvoice { + /** + * ID of the line item. Either lineItemId or productId must be set. + */ + lineItemId?: string; + /** + * ID of the product. This is the REST ID used in the products service. + * Either lineItemId or productId must be set. + */ + productId?: string; + /** + * [required] Unit IDs to define specific units within the line item. + */ + shipmentUnitIds?: string[]; + /** + * [required] Invoice details for a single unit. + */ + unitInvoice?: Schema$UnitInvoice; + } + interface Schema$ShipmentTrackingInfo { + carrier?: string; + trackingNumber?: string; + } + interface Schema$TestOrder { + /** + * The details of the customer who placed the order. + */ + customer?: Schema$TestOrderCustomer; + /** + * Whether the orderinvoices service should support this order. + */ + enableOrderinvoices?: boolean; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "content#testOrder". + */ + kind?: string; + /** + * Line items that are ordered. At least one line item must be provided. + */ + lineItems?: Schema$TestOrderLineItem[]; + /** + * Determines if test order must be pulled by merchant or pushed to merchant + * via push integration. + */ + notificationMode?: string; + /** + * The details of the payment method. + */ + paymentMethod?: Schema$TestOrderPaymentMethod; + /** + * Identifier of one of the predefined delivery addresses for the delivery. + */ + predefinedDeliveryAddress?: string; + /** + * The details of the merchant provided promotions applied to the order. + * More details about the program are here. + */ + promotions?: Schema$OrderPromotion[]; + /** + * The total cost of shipping for all items. + */ + shippingCost?: Schema$Price; + /** + * The tax for the total shipping cost. + */ + shippingCostTax?: Schema$Price; + /** + * The requested shipping option. + */ + shippingOption?: string; + } + interface Schema$TestOrderCustomer { + /** + * Deprecated. + */ + email?: string; + /** + * Deprecated. Please use marketingRightsInfo instead. + */ + explicitMarketingPreference?: boolean; + /** + * Full name of the customer. + */ + fullName?: string; + /** + * Customer's marketing preferences. + */ + marketingRightsInfo?: Schema$TestOrderCustomerMarketingRightsInfo; + } + interface Schema$TestOrderCustomerMarketingRightsInfo { + /** + * Last know user use selection regards marketing preferences. In certain + * cases selection might not be known, so this field would be empty. + */ + explicitMarketingPreference?: string; + /** + * Timestamp when last time marketing preference was updated. Could be + * empty, if user wasn't offered a selection yet. + */ + lastUpdatedTimestamp?: string; + } + interface Schema$TestOrderLineItem { + /** + * Product data from the time of the order placement. + */ + product?: Schema$TestOrderLineItemProduct; + /** + * Number of items ordered. + */ + quantityOrdered?: number; + /** + * Details of the return policy for the line item. + */ + returnInfo?: Schema$OrderLineItemReturnInfo; + /** + * Details of the requested shipping for the line item. + */ + shippingDetails?: Schema$OrderLineItemShippingDetails; + /** + * Unit tax for the line item. + */ + unitTax?: Schema$Price; + } + interface Schema$TestOrderLineItemProduct { + /** + * Brand of the item. + */ + brand?: string; + /** + * The item's channel. + */ + channel?: string; + /** + * Condition or state of the item. + */ + condition?: string; + /** + * The two-letter ISO 639-1 language code for the item. + */ + contentLanguage?: string; + /** + * Global Trade Item Number (GTIN) of the item. Optional. + */ + gtin?: string; + /** + * URL of an image of the item. + */ + imageLink?: string; + /** + * Shared identifier for all variants of the same product. Optional. + */ + itemGroupId?: string; + /** + * Manufacturer Part Number (MPN) of the item. Optional. + */ + mpn?: string; + /** + * An identifier of the item. + */ + offerId?: string; + /** + * The price for the product. + */ + price?: Schema$Price; + /** + * The CLDR territory code of the target country of the product. + */ + targetCountry?: string; + /** + * The title of the product. + */ + title?: string; + /** + * Variant attributes for the item. Optional. + */ + variantAttributes?: Schema$OrderLineItemProductVariantAttribute[]; + } + interface Schema$TestOrderPaymentMethod { + /** + * The card expiration month (January = 1, February = 2 etc.). + */ + expirationMonth?: number; + /** + * The card expiration year (4-digit, e.g. 2015). + */ + expirationYear?: number; + /** + * The last four digits of the card number. + */ + lastFourDigits?: string; + /** + * The billing address. + */ + predefinedBillingAddress?: string; + /** + * The type of instrument. Note that real orders might have different values + * than the four values accepted by createTestOrder. + */ + type?: string; + } + interface Schema$UnitInvoice { + /** + * Additional charges for a unit, e.g. shipping costs. + */ + additionalCharges?: Schema$UnitInvoiceAdditionalCharge[]; + /** + * Promotions applied to a unit. + */ + promotions?: Schema$Promotion[]; + /** + * [required] Price of the unit, before applying taxes. + */ + unitPricePretax?: Schema$Price; + /** + * Tax amounts to apply to the unit price. + */ + unitPriceTaxes?: Schema$UnitInvoiceTaxLine[]; + } + interface Schema$UnitInvoiceAdditionalCharge { + /** + * [required] Amount of the additional charge. + */ + additionalChargeAmount?: Schema$Amount; + /** + * Promotions applied to the additional charge. + */ + additionalChargePromotions?: Schema$Promotion[]; + /** + * [required] Type of the additional charge. + */ + type?: string; + } + interface Schema$UnitInvoiceTaxLine { + /** + * [required] Tax amount for the tax type. + */ + taxAmount?: Schema$Price; + /** + * Optional name of the tax type. This should only be provided if taxType is + * otherFeeTax. + */ + taxName?: string; + /** + * [required] Type of the tax. + */ + taxType?: string; + } + class Resource$Orderinvoices { + root: Content; + constructor(root: Content); + getRoot(): Content; + /** + * content.orderinvoices.createchargeinvoice + * @desc Creates a charge invoice for a shipment group, and triggers a + * charge capture for non-facilitated payment orders. + * @alias content.orderinvoices.createchargeinvoice + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string} params.orderId The ID of the order. + * @param {().OrderinvoicesCreateChargeInvoiceRequest} 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 + */ + createchargeinvoice(params?: Params$Resource$Orderinvoices$Createchargeinvoice, options?: MethodOptions): AxiosPromise; + createchargeinvoice(params: Params$Resource$Orderinvoices$Createchargeinvoice, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + createchargeinvoice(params: Params$Resource$Orderinvoices$Createchargeinvoice, callback: BodyResponseCallback): void; + createchargeinvoice(callback: BodyResponseCallback): void; + /** + * content.orderinvoices.createrefundinvoice + * @desc Creates a refund invoice for one or more shipment groups, and + * triggers a refund for non-facilitated payment orders. This can only be + * used for line items that have previously been charged using + * createChargeInvoice. All amounts (except for the summary) are incremental + * with respect to the previous invoice. + * @alias content.orderinvoices.createrefundinvoice + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string} params.orderId The ID of the order. + * @param {().OrderinvoicesCreateRefundInvoiceRequest} 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 + */ + createrefundinvoice(params?: Params$Resource$Orderinvoices$Createrefundinvoice, options?: MethodOptions): AxiosPromise; + createrefundinvoice(params: Params$Resource$Orderinvoices$Createrefundinvoice, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + createrefundinvoice(params: Params$Resource$Orderinvoices$Createrefundinvoice, callback: BodyResponseCallback): void; + createrefundinvoice(callback: BodyResponseCallback): void; + } + interface Params$Resource$Orderinvoices$Createchargeinvoice { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The ID of the order. + */ + orderId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$OrderinvoicesCreateChargeInvoiceRequest; + } + interface Params$Resource$Orderinvoices$Createrefundinvoice { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The ID of the order. + */ + orderId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$OrderinvoicesCreateRefundInvoiceRequest; + } + class Resource$Orderpayments { + root: Content; + constructor(root: Content); + getRoot(): Content; + /** + * content.orderpayments.notifyauthapproved + * @desc Notify about successfully authorizing user's payment method for a + * given amount. + * @alias content.orderpayments.notifyauthapproved + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string} params.orderId The ID of the order for for which payment authorization is happening. + * @param {().OrderpaymentsNotifyAuthApprovedRequest} 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 + */ + notifyauthapproved(params?: Params$Resource$Orderpayments$Notifyauthapproved, options?: MethodOptions): AxiosPromise; + notifyauthapproved(params: Params$Resource$Orderpayments$Notifyauthapproved, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + notifyauthapproved(params: Params$Resource$Orderpayments$Notifyauthapproved, callback: BodyResponseCallback): void; + notifyauthapproved(callback: BodyResponseCallback): void; + /** + * content.orderpayments.notifyauthdeclined + * @desc Notify about failure to authorize user's payment method. + * @alias content.orderpayments.notifyauthdeclined + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string} params.orderId The ID of the order for which payment authorization was declined. + * @param {().OrderpaymentsNotifyAuthDeclinedRequest} 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 + */ + notifyauthdeclined(params?: Params$Resource$Orderpayments$Notifyauthdeclined, options?: MethodOptions): AxiosPromise; + notifyauthdeclined(params: Params$Resource$Orderpayments$Notifyauthdeclined, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + notifyauthdeclined(params: Params$Resource$Orderpayments$Notifyauthdeclined, callback: BodyResponseCallback): void; + notifyauthdeclined(callback: BodyResponseCallback): void; + /** + * content.orderpayments.notifycharge + * @desc Notify about charge on user's selected payments method. + * @alias content.orderpayments.notifycharge + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string} params.orderId The ID of the order for which charge is happening. + * @param {().OrderpaymentsNotifyChargeRequest} 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 + */ + notifycharge(params?: Params$Resource$Orderpayments$Notifycharge, options?: MethodOptions): AxiosPromise; + notifycharge(params: Params$Resource$Orderpayments$Notifycharge, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + notifycharge(params: Params$Resource$Orderpayments$Notifycharge, callback: BodyResponseCallback): void; + notifycharge(callback: BodyResponseCallback): void; + /** + * content.orderpayments.notifyrefund + * @desc Notify about refund on user's selected payments method. + * @alias content.orderpayments.notifyrefund + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string} params.orderId The ID of the order for which charge is happening. + * @param {().OrderpaymentsNotifyRefundRequest} 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 + */ + notifyrefund(params?: Params$Resource$Orderpayments$Notifyrefund, options?: MethodOptions): AxiosPromise; + notifyrefund(params: Params$Resource$Orderpayments$Notifyrefund, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + notifyrefund(params: Params$Resource$Orderpayments$Notifyrefund, callback: BodyResponseCallback): void; + notifyrefund(callback: BodyResponseCallback): void; + } + interface Params$Resource$Orderpayments$Notifyauthapproved { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The ID of the order for for which payment authorization is happening. + */ + orderId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$OrderpaymentsNotifyAuthApprovedRequest; + } + interface Params$Resource$Orderpayments$Notifyauthdeclined { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The ID of the order for which payment authorization was declined. + */ + orderId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$OrderpaymentsNotifyAuthDeclinedRequest; + } + interface Params$Resource$Orderpayments$Notifycharge { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The ID of the order for which charge is happening. + */ + orderId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$OrderpaymentsNotifyChargeRequest; + } + interface Params$Resource$Orderpayments$Notifyrefund { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The ID of the order for which charge is happening. + */ + orderId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$OrderpaymentsNotifyRefundRequest; + } + class Resource$Orderreturns { + root: Content; + constructor(root: Content); + getRoot(): Content; + /** + * content.orderreturns.get + * @desc Retrieves an order return from your Merchant Center account. + * @alias content.orderreturns.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string} params.returnId Merchant order return ID generated by Google. + * @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?: Params$Resource$Orderreturns$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Orderreturns$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Orderreturns$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * content.orderreturns.list + * @desc Lists order returns in your Merchant Center account. + * @alias content.orderreturns.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.createdEndDate Obtains order returns created before this date (inclusively), in ISO 8601 format. + * @param {string=} params.createdStartDate Obtains order returns created after this date (inclusively), in ISO 8601 format. + * @param {integer=} params.maxResults The maximum number of order returns to return in the response, used for paging. The default value is 25 returns per page, and the maximum allowed value is 250 returns per page. + * @param {string} params.merchantId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string=} params.orderBy Return the results in the specified order. + * @param {string=} params.pageToken The token returned by the previous request. + * @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?: Params$Resource$Orderreturns$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Orderreturns$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Orderreturns$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Orderreturns$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * Merchant order return ID generated by Google. + */ + returnId?: string; + } + interface Params$Resource$Orderreturns$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Obtains order returns created before this date (inclusively), in ISO 8601 + * format. + */ + createdEndDate?: string; + /** + * Obtains order returns created after this date (inclusively), in ISO 8601 + * format. + */ + createdStartDate?: string; + /** + * The maximum number of order returns to return in the response, used for + * paging. The default value is 25 returns per page, and the maximum allowed + * value is 250 returns per page. + */ + maxResults?: number; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * Return the results in the specified order. + */ + orderBy?: string; + /** + * The token returned by the previous request. + */ + pageToken?: string; + } + class Resource$Orders { + root: Content; + constructor(root: Content); + getRoot(): Content; + /** + * content.orders.acknowledge + * @desc Marks an order as acknowledged. + * @alias content.orders.acknowledge + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string} params.orderId The ID of the order. + * @param {().OrdersAcknowledgeRequest} 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 + */ + acknowledge(params?: Params$Resource$Orders$Acknowledge, options?: MethodOptions): AxiosPromise; + acknowledge(params: Params$Resource$Orders$Acknowledge, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + acknowledge(params: Params$Resource$Orders$Acknowledge, callback: BodyResponseCallback): void; + acknowledge(callback: BodyResponseCallback): void; + /** + * content.orders.advancetestorder + * @desc Sandbox only. Moves a test order from state "inProgress" to state + * "pendingShipment". + * @alias content.orders.advancetestorder + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string} params.orderId The ID of the test order to modify. + * @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 + */ + advancetestorder(params?: Params$Resource$Orders$Advancetestorder, options?: MethodOptions): AxiosPromise; + advancetestorder(params: Params$Resource$Orders$Advancetestorder, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + advancetestorder(params: Params$Resource$Orders$Advancetestorder, callback: BodyResponseCallback): void; + advancetestorder(callback: BodyResponseCallback): void; + /** + * content.orders.cancel + * @desc Cancels all line items in an order, making a full refund. + * @alias content.orders.cancel + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string} params.orderId The ID of the order to cancel. + * @param {().OrdersCancelRequest} 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 + */ + cancel(params?: Params$Resource$Orders$Cancel, options?: MethodOptions): AxiosPromise; + cancel(params: Params$Resource$Orders$Cancel, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + cancel(params: Params$Resource$Orders$Cancel, callback: BodyResponseCallback): void; + cancel(callback: BodyResponseCallback): void; + /** + * content.orders.cancellineitem + * @desc Cancels a line item, making a full refund. + * @alias content.orders.cancellineitem + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string} params.orderId The ID of the order. + * @param {().OrdersCancelLineItemRequest} 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 + */ + cancellineitem(params?: Params$Resource$Orders$Cancellineitem, options?: MethodOptions): AxiosPromise; + cancellineitem(params: Params$Resource$Orders$Cancellineitem, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + cancellineitem(params: Params$Resource$Orders$Cancellineitem, callback: BodyResponseCallback): void; + cancellineitem(callback: BodyResponseCallback): void; + /** + * content.orders.canceltestorderbycustomer + * @desc Sandbox only. Cancels a test order for customer-initiated + * cancellation. + * @alias content.orders.canceltestorderbycustomer + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string} params.orderId The ID of the test order to cancel. + * @param {().OrdersCancelTestOrderByCustomerRequest} 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 + */ + canceltestorderbycustomer(params?: Params$Resource$Orders$Canceltestorderbycustomer, options?: MethodOptions): AxiosPromise; + canceltestorderbycustomer(params: Params$Resource$Orders$Canceltestorderbycustomer, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + canceltestorderbycustomer(params: Params$Resource$Orders$Canceltestorderbycustomer, callback: BodyResponseCallback): void; + canceltestorderbycustomer(callback: BodyResponseCallback): void; + /** + * content.orders.createtestorder + * @desc Sandbox only. Creates a test order. + * @alias content.orders.createtestorder + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the account that should manage the order. This cannot be a multi-client account. + * @param {().OrdersCreateTestOrderRequest} 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 + */ + createtestorder(params?: Params$Resource$Orders$Createtestorder, options?: MethodOptions): AxiosPromise; + createtestorder(params: Params$Resource$Orders$Createtestorder, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + createtestorder(params: Params$Resource$Orders$Createtestorder, callback: BodyResponseCallback): void; + createtestorder(callback: BodyResponseCallback): void; + /** + * content.orders.createtestreturn + * @desc Sandbox only. Creates a test return. + * @alias content.orders.createtestreturn + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string} params.orderId The ID of the order. + * @param {().OrdersCreateTestReturnRequest} 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 + */ + createtestreturn(params?: Params$Resource$Orders$Createtestreturn, options?: MethodOptions): AxiosPromise; + createtestreturn(params: Params$Resource$Orders$Createtestreturn, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + createtestreturn(params: Params$Resource$Orders$Createtestreturn, callback: BodyResponseCallback): void; + createtestreturn(callback: BodyResponseCallback): void; + /** + * content.orders.custombatch + * @desc Retrieves or modifies multiple orders in a single request. + * @alias content.orders.custombatch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().OrdersCustomBatchRequest} 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 + */ + custombatch(params?: Params$Resource$Orders$Custombatch, options?: MethodOptions): AxiosPromise; + custombatch(params: Params$Resource$Orders$Custombatch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + custombatch(params: Params$Resource$Orders$Custombatch, callback: BodyResponseCallback): void; + custombatch(callback: BodyResponseCallback): void; + /** + * content.orders.get + * @desc Retrieves an order from your Merchant Center account. + * @alias content.orders.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string} params.orderId The ID of the order. + * @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?: Params$Resource$Orders$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Orders$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Orders$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * content.orders.getbymerchantorderid + * @desc Retrieves an order using merchant order id. + * @alias content.orders.getbymerchantorderid + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string} params.merchantOrderId The merchant order id to be looked for. + * @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 + */ + getbymerchantorderid(params?: Params$Resource$Orders$Getbymerchantorderid, options?: MethodOptions): AxiosPromise; + getbymerchantorderid(params: Params$Resource$Orders$Getbymerchantorderid, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getbymerchantorderid(params: Params$Resource$Orders$Getbymerchantorderid, callback: BodyResponseCallback): void; + getbymerchantorderid(callback: BodyResponseCallback): void; + /** + * content.orders.gettestordertemplate + * @desc Sandbox only. Retrieves an order template that can be used to + * quickly create a new order in sandbox. + * @alias content.orders.gettestordertemplate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.country The country of the template to retrieve. Defaults to US. + * @param {string} params.merchantId The ID of the account that should manage the order. This cannot be a multi-client account. + * @param {string} params.templateName The name of the template to retrieve. + * @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 + */ + gettestordertemplate(params?: Params$Resource$Orders$Gettestordertemplate, options?: MethodOptions): AxiosPromise; + gettestordertemplate(params: Params$Resource$Orders$Gettestordertemplate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + gettestordertemplate(params: Params$Resource$Orders$Gettestordertemplate, callback: BodyResponseCallback): void; + gettestordertemplate(callback: BodyResponseCallback): void; + /** + * content.orders.instorerefundlineitem + * @desc Notifies that item return and refund was handled directly by + * merchant outside of Google payments processing (e.g. cash refund done in + * store). + * @alias content.orders.instorerefundlineitem + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string} params.orderId The ID of the order. + * @param {().OrdersInStoreRefundLineItemRequest} 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 + */ + instorerefundlineitem(params?: Params$Resource$Orders$Instorerefundlineitem, options?: MethodOptions): AxiosPromise; + instorerefundlineitem(params: Params$Resource$Orders$Instorerefundlineitem, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + instorerefundlineitem(params: Params$Resource$Orders$Instorerefundlineitem, callback: BodyResponseCallback): void; + instorerefundlineitem(callback: BodyResponseCallback): void; + /** + * content.orders.list + * @desc Lists the orders in your Merchant Center account. + * @alias content.orders.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.acknowledged Obtains orders that match the acknowledgement status. When set to true, obtains orders that have been acknowledged. When false, obtains orders that have not been acknowledged. We recommend using this filter set to false, in conjunction with the acknowledge call, such that only un-acknowledged orders are returned. + * @param {integer=} params.maxResults The maximum number of orders to return in the response, used for paging. The default value is 25 orders per page, and the maximum allowed value is 250 orders per page. Known issue: All List calls will return all Orders without limit regardless of the value of this field. + * @param {string} params.merchantId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string=} params.orderBy The ordering of the returned list. The only supported value are placedDate desc and placedDate asc for now, which returns orders sorted by placement date. "placedDate desc" stands for listing orders by placement date, from oldest to most recent. "placedDate asc" stands for listing orders by placement date, from most recent to oldest. In future releases we'll support other sorting criteria. + * @param {string=} params.pageToken The token returned by the previous request. + * @param {string=} params.placedDateEnd Obtains orders placed before this date (exclusively), in ISO 8601 format. + * @param {string=} params.placedDateStart Obtains orders placed after this date (inclusively), in ISO 8601 format. + * @param {string=} params.statuses Obtains orders that match any of the specified statuses. Multiple values can be specified with comma separation. Additionally, please note that active is a shortcut for pendingShipment and partiallyShipped, and completed is a shortcut for shipped , partiallyDelivered, delivered, partiallyReturned, returned, and canceled. + * @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?: Params$Resource$Orders$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Orders$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Orders$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * content.orders.refund + * @desc Deprecated, please use returnRefundLineItem instead. + * @alias content.orders.refund + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string} params.orderId The ID of the order to refund. + * @param {().OrdersRefundRequest} 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 + */ + refund(params?: Params$Resource$Orders$Refund, options?: MethodOptions): AxiosPromise; + refund(params: Params$Resource$Orders$Refund, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + refund(params: Params$Resource$Orders$Refund, callback: BodyResponseCallback): void; + refund(callback: BodyResponseCallback): void; + /** + * content.orders.rejectreturnlineitem + * @desc Rejects return on an line item. + * @alias content.orders.rejectreturnlineitem + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string} params.orderId The ID of the order. + * @param {().OrdersRejectReturnLineItemRequest} 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 + */ + rejectreturnlineitem(params?: Params$Resource$Orders$Rejectreturnlineitem, options?: MethodOptions): AxiosPromise; + rejectreturnlineitem(params: Params$Resource$Orders$Rejectreturnlineitem, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + rejectreturnlineitem(params: Params$Resource$Orders$Rejectreturnlineitem, callback: BodyResponseCallback): void; + rejectreturnlineitem(callback: BodyResponseCallback): void; + /** + * content.orders.returnlineitem + * @desc Returns a line item. + * @alias content.orders.returnlineitem + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string} params.orderId The ID of the order. + * @param {().OrdersReturnLineItemRequest} 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 + */ + returnlineitem(params?: Params$Resource$Orders$Returnlineitem, options?: MethodOptions): AxiosPromise; + returnlineitem(params: Params$Resource$Orders$Returnlineitem, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + returnlineitem(params: Params$Resource$Orders$Returnlineitem, callback: BodyResponseCallback): void; + returnlineitem(callback: BodyResponseCallback): void; + /** + * content.orders.returnrefundlineitem + * @desc Returns and refunds a line item. Note that this method can only be + * called on fully shipped orders. + * @alias content.orders.returnrefundlineitem + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string} params.orderId The ID of the order. + * @param {().OrdersReturnRefundLineItemRequest} 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 + */ + returnrefundlineitem(params?: Params$Resource$Orders$Returnrefundlineitem, options?: MethodOptions): AxiosPromise; + returnrefundlineitem(params: Params$Resource$Orders$Returnrefundlineitem, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + returnrefundlineitem(params: Params$Resource$Orders$Returnrefundlineitem, callback: BodyResponseCallback): void; + returnrefundlineitem(callback: BodyResponseCallback): void; + /** + * content.orders.setlineitemmetadata + * @desc Sets (overrides) merchant provided annotations on the line item. + * @alias content.orders.setlineitemmetadata + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string} params.orderId The ID of the order. + * @param {().OrdersSetLineItemMetadataRequest} 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 + */ + setlineitemmetadata(params?: Params$Resource$Orders$Setlineitemmetadata, options?: MethodOptions): AxiosPromise; + setlineitemmetadata(params: Params$Resource$Orders$Setlineitemmetadata, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setlineitemmetadata(params: Params$Resource$Orders$Setlineitemmetadata, callback: BodyResponseCallback): void; + setlineitemmetadata(callback: BodyResponseCallback): void; + /** + * content.orders.shiplineitems + * @desc Marks line item(s) as shipped. + * @alias content.orders.shiplineitems + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string} params.orderId The ID of the order. + * @param {().OrdersShipLineItemsRequest} 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 + */ + shiplineitems(params?: Params$Resource$Orders$Shiplineitems, options?: MethodOptions): AxiosPromise; + shiplineitems(params: Params$Resource$Orders$Shiplineitems, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + shiplineitems(params: Params$Resource$Orders$Shiplineitems, callback: BodyResponseCallback): void; + shiplineitems(callback: BodyResponseCallback): void; + /** + * content.orders.updatelineitemshippingdetails + * @desc Updates ship by and delivery by dates for a line item. + * @alias content.orders.updatelineitemshippingdetails + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string} params.orderId The ID of the order. + * @param {().OrdersUpdateLineItemShippingDetailsRequest} 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 + */ + updatelineitemshippingdetails(params?: Params$Resource$Orders$Updatelineitemshippingdetails, options?: MethodOptions): AxiosPromise; + updatelineitemshippingdetails(params: Params$Resource$Orders$Updatelineitemshippingdetails, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + updatelineitemshippingdetails(params: Params$Resource$Orders$Updatelineitemshippingdetails, callback: BodyResponseCallback): void; + updatelineitemshippingdetails(callback: BodyResponseCallback): void; + /** + * content.orders.updatemerchantorderid + * @desc Updates the merchant order ID for a given order. + * @alias content.orders.updatemerchantorderid + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string} params.orderId The ID of the order. + * @param {().OrdersUpdateMerchantOrderIdRequest} 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 + */ + updatemerchantorderid(params?: Params$Resource$Orders$Updatemerchantorderid, options?: MethodOptions): AxiosPromise; + updatemerchantorderid(params: Params$Resource$Orders$Updatemerchantorderid, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + updatemerchantorderid(params: Params$Resource$Orders$Updatemerchantorderid, callback: BodyResponseCallback): void; + updatemerchantorderid(callback: BodyResponseCallback): void; + /** + * content.orders.updateshipment + * @desc Updates a shipment's status, carrier, and/or tracking ID. + * @alias content.orders.updateshipment + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.merchantId The ID of the account that manages the order. This cannot be a multi-client account. + * @param {string} params.orderId The ID of the order. + * @param {().OrdersUpdateShipmentRequest} 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 + */ + updateshipment(params?: Params$Resource$Orders$Updateshipment, options?: MethodOptions): AxiosPromise; + updateshipment(params: Params$Resource$Orders$Updateshipment, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + updateshipment(params: Params$Resource$Orders$Updateshipment, callback: BodyResponseCallback): void; + updateshipment(callback: BodyResponseCallback): void; + } + interface Params$Resource$Orders$Acknowledge { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The ID of the order. + */ + orderId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$OrdersAcknowledgeRequest; + } + interface Params$Resource$Orders$Advancetestorder { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The ID of the test order to modify. + */ + orderId?: string; + } + interface Params$Resource$Orders$Cancel { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The ID of the order to cancel. + */ + orderId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$OrdersCancelRequest; + } + interface Params$Resource$Orders$Cancellineitem { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The ID of the order. + */ + orderId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$OrdersCancelLineItemRequest; + } + interface Params$Resource$Orders$Canceltestorderbycustomer { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The ID of the test order to cancel. + */ + orderId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$OrdersCancelTestOrderByCustomerRequest; + } + interface Params$Resource$Orders$Createtestorder { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account that should manage the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$OrdersCreateTestOrderRequest; + } + interface Params$Resource$Orders$Createtestreturn { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The ID of the order. + */ + orderId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$OrdersCreateTestReturnRequest; + } + interface Params$Resource$Orders$Custombatch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$OrdersCustomBatchRequest; + } + interface Params$Resource$Orders$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The ID of the order. + */ + orderId?: string; + } + interface Params$Resource$Orders$Getbymerchantorderid { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The merchant order id to be looked for. + */ + merchantOrderId?: string; + } + interface Params$Resource$Orders$Gettestordertemplate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The country of the template to retrieve. Defaults to US. + */ + country?: string; + /** + * The ID of the account that should manage the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The name of the template to retrieve. + */ + templateName?: string; + } + interface Params$Resource$Orders$Instorerefundlineitem { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The ID of the order. + */ + orderId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$OrdersInStoreRefundLineItemRequest; + } + interface Params$Resource$Orders$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Obtains orders that match the acknowledgement status. When set to true, + * obtains orders that have been acknowledged. When false, obtains orders + * that have not been acknowledged. We recommend using this filter set to + * false, in conjunction with the acknowledge call, such that only + * un-acknowledged orders are returned. + */ + acknowledged?: boolean; + /** + * The maximum number of orders to return in the response, used for paging. + * The default value is 25 orders per page, and the maximum allowed value is + * 250 orders per page. Known issue: All List calls will return all Orders + * without limit regardless of the value of this field. + */ + maxResults?: number; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The ordering of the returned list. The only supported value are + * placedDate desc and placedDate asc for now, which returns orders sorted + * by placement date. "placedDate desc" stands for listing orders by + * placement date, from oldest to most recent. "placedDate asc" stands for + * listing orders by placement date, from most recent to oldest. In future + * releases we'll support other sorting criteria. + */ + orderBy?: string; + /** + * The token returned by the previous request. + */ + pageToken?: string; + /** + * Obtains orders placed before this date (exclusively), in ISO 8601 format. + */ + placedDateEnd?: string; + /** + * Obtains orders placed after this date (inclusively), in ISO 8601 format. + */ + placedDateStart?: string; + /** + * Obtains orders that match any of the specified statuses. Multiple values + * can be specified with comma separation. Additionally, please note that + * active is a shortcut for pendingShipment and partiallyShipped, and + * completed is a shortcut for shipped , partiallyDelivered, delivered, + * partiallyReturned, returned, and canceled. + */ + statuses?: string; + } + interface Params$Resource$Orders$Refund { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The ID of the order to refund. + */ + orderId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$OrdersRefundRequest; + } + interface Params$Resource$Orders$Rejectreturnlineitem { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The ID of the order. + */ + orderId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$OrdersRejectReturnLineItemRequest; + } + interface Params$Resource$Orders$Returnlineitem { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The ID of the order. + */ + orderId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$OrdersReturnLineItemRequest; + } + interface Params$Resource$Orders$Returnrefundlineitem { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The ID of the order. + */ + orderId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$OrdersReturnRefundLineItemRequest; + } + interface Params$Resource$Orders$Setlineitemmetadata { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The ID of the order. + */ + orderId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$OrdersSetLineItemMetadataRequest; + } + interface Params$Resource$Orders$Shiplineitems { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The ID of the order. + */ + orderId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$OrdersShipLineItemsRequest; + } + interface Params$Resource$Orders$Updatelineitemshippingdetails { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The ID of the order. + */ + orderId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$OrdersUpdateLineItemShippingDetailsRequest; + } + interface Params$Resource$Orders$Updatemerchantorderid { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The ID of the order. + */ + orderId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$OrdersUpdateMerchantOrderIdRequest; + } + interface Params$Resource$Orders$Updateshipment { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account that manages the order. This cannot be a + * multi-client account. + */ + merchantId?: string; + /** + * The ID of the order. + */ + orderId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$OrdersUpdateShipmentRequest; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/content/v2sandbox.js b/express-server/node_modules/googleapis/build/src/apis/content/v2sandbox.js new file mode 100644 index 00000000..2ec69056 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/content/v2sandbox.js @@ -0,0 +1,1054 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var content_v2sandbox; +(function (content_v2sandbox) { + /** + * Content API for Shopping + * + * Manages product items, inventory, and Merchant Center accounts for Google + * Shopping. + * + * @example + * const {google} = require('googleapis'); + * const content = google.content('v2sandbox'); + * + * @namespace content + * @type {Function} + * @version v2sandbox + * @variation v2sandbox + * @param {object=} options Options for Content + */ + class Content { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.orderinvoices = new Resource$Orderinvoices(this); + this.orderpayments = new Resource$Orderpayments(this); + this.orderreturns = new Resource$Orderreturns(this); + this.orders = new Resource$Orders(this); + } + getRoot() { + return this.root; + } + } + content_v2sandbox.Content = Content; + class Resource$Orderinvoices { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + createchargeinvoice(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2sandbox/{merchantId}/orderinvoices/{orderId}/createChargeInvoice') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId', 'orderId'], + pathParams: ['merchantId', 'orderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + createrefundinvoice(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2sandbox/{merchantId}/orderinvoices/{orderId}/createRefundInvoice') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId', 'orderId'], + pathParams: ['merchantId', 'orderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + content_v2sandbox.Resource$Orderinvoices = Resource$Orderinvoices; + class Resource$Orderpayments { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + notifyauthapproved(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2sandbox/{merchantId}/orderpayments/{orderId}/notifyAuthApproved') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId', 'orderId'], + pathParams: ['merchantId', 'orderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + notifyauthdeclined(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2sandbox/{merchantId}/orderpayments/{orderId}/notifyAuthDeclined') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId', 'orderId'], + pathParams: ['merchantId', 'orderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + notifycharge(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2sandbox/{merchantId}/orderpayments/{orderId}/notifyCharge') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId', 'orderId'], + pathParams: ['merchantId', 'orderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + notifyrefund(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2sandbox/{merchantId}/orderpayments/{orderId}/notifyRefund') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId', 'orderId'], + pathParams: ['merchantId', 'orderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + content_v2sandbox.Resource$Orderpayments = Resource$Orderpayments; + class Resource$Orderreturns { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2sandbox/{merchantId}/orderreturns/{returnId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['merchantId', 'returnId'], + pathParams: ['merchantId', 'returnId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/content/v2sandbox/{merchantId}/orderreturns') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['merchantId'], + pathParams: ['merchantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + content_v2sandbox.Resource$Orderreturns = Resource$Orderreturns; + class Resource$Orders { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + acknowledge(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2sandbox/{merchantId}/orders/{orderId}/acknowledge') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId', 'orderId'], + pathParams: ['merchantId', 'orderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + advancetestorder(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2sandbox/{merchantId}/testorders/{orderId}/advance') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId', 'orderId'], + pathParams: ['merchantId', 'orderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + cancel(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2sandbox/{merchantId}/orders/{orderId}/cancel') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId', 'orderId'], + pathParams: ['merchantId', 'orderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + cancellineitem(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2sandbox/{merchantId}/orders/{orderId}/cancelLineItem') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId', 'orderId'], + pathParams: ['merchantId', 'orderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + canceltestorderbycustomer(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2sandbox/{merchantId}/testorders/{orderId}/cancelByCustomer') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId', 'orderId'], + pathParams: ['merchantId', 'orderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + createtestorder(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/content/v2sandbox/{merchantId}/testorders') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId'], + pathParams: ['merchantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + createtestreturn(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2sandbox/{merchantId}/orders/{orderId}/testreturn') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId', 'orderId'], + pathParams: ['merchantId', 'orderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + custombatch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/content/v2sandbox/orders/batch') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/content/v2sandbox/{merchantId}/orders/{orderId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['merchantId', 'orderId'], + pathParams: ['merchantId', 'orderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getbymerchantorderid(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2sandbox/{merchantId}/ordersbymerchantid/{merchantOrderId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['merchantId', 'merchantOrderId'], + pathParams: ['merchantId', 'merchantOrderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + gettestordertemplate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2sandbox/{merchantId}/testordertemplates/{templateName}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['merchantId', 'templateName'], + pathParams: ['merchantId', 'templateName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + instorerefundlineitem(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2sandbox/{merchantId}/orders/{orderId}/inStoreRefundLineItem') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId', 'orderId'], + pathParams: ['merchantId', 'orderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/content/v2sandbox/{merchantId}/orders') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['merchantId'], + pathParams: ['merchantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + refund(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2sandbox/{merchantId}/orders/{orderId}/refund') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId', 'orderId'], + pathParams: ['merchantId', 'orderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + rejectreturnlineitem(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2sandbox/{merchantId}/orders/{orderId}/rejectReturnLineItem') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId', 'orderId'], + pathParams: ['merchantId', 'orderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + returnlineitem(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2sandbox/{merchantId}/orders/{orderId}/returnLineItem') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId', 'orderId'], + pathParams: ['merchantId', 'orderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + returnrefundlineitem(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2sandbox/{merchantId}/orders/{orderId}/returnRefundLineItem') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId', 'orderId'], + pathParams: ['merchantId', 'orderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setlineitemmetadata(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2sandbox/{merchantId}/orders/{orderId}/setLineItemMetadata') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId', 'orderId'], + pathParams: ['merchantId', 'orderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + shiplineitems(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2sandbox/{merchantId}/orders/{orderId}/shipLineItems') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId', 'orderId'], + pathParams: ['merchantId', 'orderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + updatelineitemshippingdetails(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2sandbox/{merchantId}/orders/{orderId}/updateLineItemShippingDetails') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId', 'orderId'], + pathParams: ['merchantId', 'orderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + updatemerchantorderid(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2sandbox/{merchantId}/orders/{orderId}/updateMerchantOrderId') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId', 'orderId'], + pathParams: ['merchantId', 'orderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + updateshipment(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/content/v2sandbox/{merchantId}/orders/{orderId}/updateShipment') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['merchantId', 'orderId'], + pathParams: ['merchantId', 'orderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + content_v2sandbox.Resource$Orders = Resource$Orders; +})(content_v2sandbox = exports.content_v2sandbox || (exports.content_v2sandbox = {})); +//# sourceMappingURL=v2sandbox.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/content/v2sandbox.js.map b/express-server/node_modules/googleapis/build/src/apis/content/v2sandbox.js.map new file mode 100644 index 00000000..03a7b526 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/content/v2sandbox.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v2sandbox.js","sourceRoot":"","sources":["../../../../src/apis/content/v2sandbox.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/customsearch/README.md b/express-server/node_modules/googleapis/build/src/apis/customsearch/README.md new file mode 100644 index 00000000..453493f7 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/customsearch/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/customsearch + +> Searches over a website or collection of websites + +## Installation + +```sh +$ npm install @google/customsearch +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/customsearch/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/customsearch/index.d.ts new file mode 100644 index 00000000..00028b66 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/customsearch/index.d.ts @@ -0,0 +1,6 @@ +import { customsearch_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof customsearch_v1.Customsearch; +}; +export declare function customsearch(version: 'v1'): customsearch_v1.Customsearch; +export declare function customsearch(options: customsearch_v1.Options): customsearch_v1.Customsearch; diff --git a/express-server/node_modules/googleapis/build/src/apis/customsearch/index.js b/express-server/node_modules/googleapis/build/src/apis/customsearch/index.js new file mode 100644 index 00000000..258f8f0b --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/customsearch/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.customsearch_v1.Customsearch, +}; +function customsearch(versionOrOptions) { + return googleapis_common_1.getAPI('customsearch', versionOrOptions, exports.VERSIONS, this); +} +exports.customsearch = customsearch; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/customsearch/index.js.map b/express-server/node_modules/googleapis/build/src/apis/customsearch/index.js.map new file mode 100644 index 00000000..1bd3401a --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/customsearch/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/customsearch/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAqC;AAExB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,oBAAe,CAAC,YAAY;CACnC,CAAC;AAKF,SAAgB,YAAY,CACE,gBAA8C;IAC1E,OAAO,0BAAM,CAAI,cAAc,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACrE,CAAC;AAHD,oCAGC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/customsearch/package.json b/express-server/node_modules/googleapis/build/src/apis/customsearch/package.json new file mode 100644 index 00000000..1d026008 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/customsearch/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/customsearch", + "version": "0.1.0", + "description": "customsearch", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/customsearch/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/customsearch/v1.d.ts new file mode 100644 index 00000000..ae155aca --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/customsearch/v1.d.ts @@ -0,0 +1,519 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace customsearch_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * CustomSearch API + * + * Searches over a website or collection of websites + * + * @example + * const {google} = require('googleapis'); + * const customsearch = google.customsearch('v1'); + * + * @namespace customsearch + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Customsearch + */ + class Customsearch { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + cse: Resource$Cse; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + interface Schema$Context { + facets?: any[][]; + title?: string; + } + interface Schema$Promotion { + bodyLines?: any[]; + displayLink?: string; + htmlTitle?: string; + image?: any; + link?: string; + title?: string; + } + interface Schema$Query { + count?: number; + cr?: string; + cx?: string; + dateRestrict?: string; + disableCnTwTranslation?: string; + exactTerms?: string; + excludeTerms?: string; + fileType?: string; + filter?: string; + gl?: string; + googleHost?: string; + highRange?: string; + hl?: string; + hq?: string; + imgColorType?: string; + imgDominantColor?: string; + imgSize?: string; + imgType?: string; + inputEncoding?: string; + language?: string; + linkSite?: string; + lowRange?: string; + orTerms?: string; + outputEncoding?: string; + relatedSite?: string; + rights?: string; + safe?: string; + searchTerms?: string; + searchType?: string; + siteSearch?: string; + siteSearchFilter?: string; + sort?: string; + startIndex?: number; + startPage?: number; + title?: string; + totalResults?: string; + } + interface Schema$Result { + cacheId?: string; + displayLink?: string; + fileFormat?: string; + formattedUrl?: string; + htmlFormattedUrl?: string; + htmlSnippet?: string; + htmlTitle?: string; + image?: any; + kind?: string; + labels?: any[]; + link?: string; + mime?: string; + pagemap?: any; + snippet?: string; + title?: string; + } + interface Schema$Search { + context?: Schema$Context; + items?: Schema$Result[]; + kind?: string; + promotions?: Schema$Promotion[]; + queries?: any; + searchInformation?: any; + spelling?: any; + url?: any; + } + class Resource$Cse { + root: Customsearch; + siterestrict: Resource$Cse$Siterestrict; + constructor(root: Customsearch); + getRoot(): Customsearch; + /** + * search.cse.list + * @desc Returns metadata about the search performed, metadata about the + * custom search engine used for the search, and the search results. + * @alias search.cse.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.c2coff Turns off the translation between zh-CN and zh-TW. + * @param {string=} params.cr Country restrict(s). + * @param {string=} params.cx The custom search engine ID to scope this search query + * @param {string=} params.dateRestrict Specifies all search results are from a time period + * @param {string=} params.exactTerms Identifies a phrase that all documents in the search results must contain + * @param {string=} params.excludeTerms Identifies a word or phrase that should not appear in any documents in the search results + * @param {string=} params.fileType Returns images of a specified type. Some of the allowed values are: bmp, gif, png, jpg, svg, pdf, ... + * @param {string=} params.filter Controls turning on or off the duplicate content filter. + * @param {string=} params.gl Geolocation of end user. + * @param {string=} params.googlehost The local Google domain to use to perform the search. + * @param {string=} params.highRange Creates a range in form as_nlo value..as_nhi value and attempts to append it to query + * @param {string=} params.hl Sets the user interface language. + * @param {string=} params.hq Appends the extra query terms to the query. + * @param {string=} params.imgColorType Returns black and white, grayscale, or color images: mono, gray, and color. + * @param {string=} params.imgDominantColor Returns images of a specific dominant color: red, orange, yellow, green, teal, blue, purple, pink, white, gray, black and brown. + * @param {string=} params.imgSize Returns images of a specified size, where size can be one of: icon, small, medium, large, xlarge, xxlarge, and huge. + * @param {string=} params.imgType Returns images of a type, which can be one of: clipart, face, lineart, news, and photo. + * @param {string=} params.linkSite Specifies that all search results should contain a link to a particular URL + * @param {string=} params.lowRange Creates a range in form as_nlo value..as_nhi value and attempts to append it to query + * @param {string=} params.lr The language restriction for the search results + * @param {integer=} params.num Number of search results to return + * @param {string=} params.orTerms Provides additional search terms to check for in a document, where each document in the search results must contain at least one of the additional search terms + * @param {string} params.q Query + * @param {string=} params.relatedSite Specifies that all search results should be pages that are related to the specified URL + * @param {string=} params.rights Filters based on licensing. Supported values include: cc_publicdomain, cc_attribute, cc_sharealike, cc_noncommercial, cc_nonderived and combinations of these. + * @param {string=} params.safe Search safety level + * @param {string=} params.searchType Specifies the search type: image. + * @param {string=} params.siteSearch Specifies all search results should be pages from a given site + * @param {string=} params.siteSearchFilter Controls whether to include or exclude results from the site named in the as_sitesearch parameter + * @param {string=} params.sort The sort expression to apply to the results + * @param {integer=} params.start The index of the first result to return + * @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?: Params$Resource$Cse$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Cse$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Cse$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Cse$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Turns off the translation between zh-CN and zh-TW. + */ + c2coff?: string; + /** + * Country restrict(s). + */ + cr?: string; + /** + * The custom search engine ID to scope this search query + */ + cx?: string; + /** + * Specifies all search results are from a time period + */ + dateRestrict?: string; + /** + * Identifies a phrase that all documents in the search results must contain + */ + exactTerms?: string; + /** + * Identifies a word or phrase that should not appear in any documents in + * the search results + */ + excludeTerms?: string; + /** + * Returns images of a specified type. Some of the allowed values are: bmp, + * gif, png, jpg, svg, pdf, ... + */ + fileType?: string; + /** + * Controls turning on or off the duplicate content filter. + */ + filter?: string; + /** + * Geolocation of end user. + */ + gl?: string; + /** + * The local Google domain to use to perform the search. + */ + googlehost?: string; + /** + * Creates a range in form as_nlo value..as_nhi value and attempts to append + * it to query + */ + highRange?: string; + /** + * Sets the user interface language. + */ + hl?: string; + /** + * Appends the extra query terms to the query. + */ + hq?: string; + /** + * Returns black and white, grayscale, or color images: mono, gray, and + * color. + */ + imgColorType?: string; + /** + * Returns images of a specific dominant color: red, orange, yellow, green, + * teal, blue, purple, pink, white, gray, black and brown. + */ + imgDominantColor?: string; + /** + * Returns images of a specified size, where size can be one of: icon, + * small, medium, large, xlarge, xxlarge, and huge. + */ + imgSize?: string; + /** + * Returns images of a type, which can be one of: clipart, face, lineart, + * news, and photo. + */ + imgType?: string; + /** + * Specifies that all search results should contain a link to a particular + * URL + */ + linkSite?: string; + /** + * Creates a range in form as_nlo value..as_nhi value and attempts to append + * it to query + */ + lowRange?: string; + /** + * The language restriction for the search results + */ + lr?: string; + /** + * Number of search results to return + */ + num?: number; + /** + * Provides additional search terms to check for in a document, where each + * document in the search results must contain at least one of the + * additional search terms + */ + orTerms?: string; + /** + * Query + */ + q?: string; + /** + * Specifies that all search results should be pages that are related to the + * specified URL + */ + relatedSite?: string; + /** + * Filters based on licensing. Supported values include: cc_publicdomain, + * cc_attribute, cc_sharealike, cc_noncommercial, cc_nonderived and + * combinations of these. + */ + rights?: string; + /** + * Search safety level + */ + safe?: string; + /** + * Specifies the search type: image. + */ + searchType?: string; + /** + * Specifies all search results should be pages from a given site + */ + siteSearch?: string; + /** + * Controls whether to include or exclude results from the site named in the + * as_sitesearch parameter + */ + siteSearchFilter?: string; + /** + * The sort expression to apply to the results + */ + sort?: string; + /** + * The index of the first result to return + */ + start?: number; + } + class Resource$Cse$Siterestrict { + root: Customsearch; + constructor(root: Customsearch); + getRoot(): Customsearch; + /** + * search.cse.siterestrict.list + * @desc Returns metadata about the search performed, metadata about the + * custom search engine used for the search, and the search results. Uses a + * small set of url patterns. + * @alias search.cse.siterestrict.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.c2coff Turns off the translation between zh-CN and zh-TW. + * @param {string=} params.cr Country restrict(s). + * @param {string=} params.cx The custom search engine ID to scope this search query + * @param {string=} params.dateRestrict Specifies all search results are from a time period + * @param {string=} params.exactTerms Identifies a phrase that all documents in the search results must contain + * @param {string=} params.excludeTerms Identifies a word or phrase that should not appear in any documents in the search results + * @param {string=} params.fileType Returns images of a specified type. Some of the allowed values are: bmp, gif, png, jpg, svg, pdf, ... + * @param {string=} params.filter Controls turning on or off the duplicate content filter. + * @param {string=} params.gl Geolocation of end user. + * @param {string=} params.googlehost The local Google domain to use to perform the search. + * @param {string=} params.highRange Creates a range in form as_nlo value..as_nhi value and attempts to append it to query + * @param {string=} params.hl Sets the user interface language. + * @param {string=} params.hq Appends the extra query terms to the query. + * @param {string=} params.imgColorType Returns black and white, grayscale, or color images: mono, gray, and color. + * @param {string=} params.imgDominantColor Returns images of a specific dominant color: red, orange, yellow, green, teal, blue, purple, pink, white, gray, black and brown. + * @param {string=} params.imgSize Returns images of a specified size, where size can be one of: icon, small, medium, large, xlarge, xxlarge, and huge. + * @param {string=} params.imgType Returns images of a type, which can be one of: clipart, face, lineart, news, and photo. + * @param {string=} params.linkSite Specifies that all search results should contain a link to a particular URL + * @param {string=} params.lowRange Creates a range in form as_nlo value..as_nhi value and attempts to append it to query + * @param {string=} params.lr The language restriction for the search results + * @param {integer=} params.num Number of search results to return + * @param {string=} params.orTerms Provides additional search terms to check for in a document, where each document in the search results must contain at least one of the additional search terms + * @param {string} params.q Query + * @param {string=} params.relatedSite Specifies that all search results should be pages that are related to the specified URL + * @param {string=} params.rights Filters based on licensing. Supported values include: cc_publicdomain, cc_attribute, cc_sharealike, cc_noncommercial, cc_nonderived and combinations of these. + * @param {string=} params.safe Search safety level + * @param {string=} params.searchType Specifies the search type: image. + * @param {string=} params.siteSearch Specifies all search results should be pages from a given site + * @param {string=} params.siteSearchFilter Controls whether to include or exclude results from the site named in the as_sitesearch parameter + * @param {string=} params.sort The sort expression to apply to the results + * @param {integer=} params.start The index of the first result to return + * @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?: Params$Resource$Cse$Siterestrict$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Cse$Siterestrict$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Cse$Siterestrict$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Cse$Siterestrict$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Turns off the translation between zh-CN and zh-TW. + */ + c2coff?: string; + /** + * Country restrict(s). + */ + cr?: string; + /** + * The custom search engine ID to scope this search query + */ + cx?: string; + /** + * Specifies all search results are from a time period + */ + dateRestrict?: string; + /** + * Identifies a phrase that all documents in the search results must contain + */ + exactTerms?: string; + /** + * Identifies a word or phrase that should not appear in any documents in + * the search results + */ + excludeTerms?: string; + /** + * Returns images of a specified type. Some of the allowed values are: bmp, + * gif, png, jpg, svg, pdf, ... + */ + fileType?: string; + /** + * Controls turning on or off the duplicate content filter. + */ + filter?: string; + /** + * Geolocation of end user. + */ + gl?: string; + /** + * The local Google domain to use to perform the search. + */ + googlehost?: string; + /** + * Creates a range in form as_nlo value..as_nhi value and attempts to append + * it to query + */ + highRange?: string; + /** + * Sets the user interface language. + */ + hl?: string; + /** + * Appends the extra query terms to the query. + */ + hq?: string; + /** + * Returns black and white, grayscale, or color images: mono, gray, and + * color. + */ + imgColorType?: string; + /** + * Returns images of a specific dominant color: red, orange, yellow, green, + * teal, blue, purple, pink, white, gray, black and brown. + */ + imgDominantColor?: string; + /** + * Returns images of a specified size, where size can be one of: icon, + * small, medium, large, xlarge, xxlarge, and huge. + */ + imgSize?: string; + /** + * Returns images of a type, which can be one of: clipart, face, lineart, + * news, and photo. + */ + imgType?: string; + /** + * Specifies that all search results should contain a link to a particular + * URL + */ + linkSite?: string; + /** + * Creates a range in form as_nlo value..as_nhi value and attempts to append + * it to query + */ + lowRange?: string; + /** + * The language restriction for the search results + */ + lr?: string; + /** + * Number of search results to return + */ + num?: number; + /** + * Provides additional search terms to check for in a document, where each + * document in the search results must contain at least one of the + * additional search terms + */ + orTerms?: string; + /** + * Query + */ + q?: string; + /** + * Specifies that all search results should be pages that are related to the + * specified URL + */ + relatedSite?: string; + /** + * Filters based on licensing. Supported values include: cc_publicdomain, + * cc_attribute, cc_sharealike, cc_noncommercial, cc_nonderived and + * combinations of these. + */ + rights?: string; + /** + * Search safety level + */ + safe?: string; + /** + * Specifies the search type: image. + */ + searchType?: string; + /** + * Specifies all search results should be pages from a given site + */ + siteSearch?: string; + /** + * Controls whether to include or exclude results from the site named in the + * as_sitesearch parameter + */ + siteSearchFilter?: string; + /** + * The sort expression to apply to the results + */ + sort?: string; + /** + * The index of the first result to return + */ + start?: number; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/customsearch/v1.js b/express-server/node_modules/googleapis/build/src/apis/customsearch/v1.js new file mode 100644 index 00000000..6c641ae1 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/customsearch/v1.js @@ -0,0 +1,137 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var customsearch_v1; +(function (customsearch_v1) { + /** + * CustomSearch API + * + * Searches over a website or collection of websites + * + * @example + * const {google} = require('googleapis'); + * const customsearch = google.customsearch('v1'); + * + * @namespace customsearch + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Customsearch + */ + class Customsearch { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.cse = new Resource$Cse(this); + } + getRoot() { + return this.root; + } + } + customsearch_v1.Customsearch = Customsearch; + class Resource$Cse { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.siterestrict = new Resource$Cse$Siterestrict(root); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/customsearch/v1').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['q'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + customsearch_v1.Resource$Cse = Resource$Cse; + class Resource$Cse$Siterestrict { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/customsearch/v1/siterestrict') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['q'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + customsearch_v1.Resource$Cse$Siterestrict = Resource$Cse$Siterestrict; +})(customsearch_v1 = exports.customsearch_v1 || (exports.customsearch_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/customsearch/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/customsearch/v1.js.map new file mode 100644 index 00000000..72e41c7e --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/customsearch/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/customsearch/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/dataflow/README.md b/express-server/node_modules/googleapis/build/src/apis/dataflow/README.md new file mode 100644 index 00000000..33bf0589 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dataflow/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/dataflow + +> Manages Google Cloud Dataflow projects on Google Cloud Platform. + +## Installation + +```sh +$ npm install @google/dataflow +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/dataflow/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/dataflow/index.d.ts new file mode 100644 index 00000000..9cc185fe --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dataflow/index.d.ts @@ -0,0 +1,6 @@ +import { dataflow_v1b3 } from './v1b3'; +export declare const VERSIONS: { + 'v1b3': typeof dataflow_v1b3.Dataflow; +}; +export declare function dataflow(version: 'v1b3'): dataflow_v1b3.Dataflow; +export declare function dataflow(options: dataflow_v1b3.Options): dataflow_v1b3.Dataflow; diff --git a/express-server/node_modules/googleapis/build/src/apis/dataflow/index.js b/express-server/node_modules/googleapis/build/src/apis/dataflow/index.js new file mode 100644 index 00000000..bed0c06d --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dataflow/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1b3_1 = require("./v1b3"); +exports.VERSIONS = { + 'v1b3': v1b3_1.dataflow_v1b3.Dataflow, +}; +function dataflow(versionOrOptions) { + return googleapis_common_1.getAPI('dataflow', versionOrOptions, exports.VERSIONS, this); +} +exports.dataflow = dataflow; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/dataflow/index.js.map b/express-server/node_modules/googleapis/build/src/apis/dataflow/index.js.map new file mode 100644 index 00000000..f297a628 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dataflow/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/dataflow/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,iCAAqC;AAExB,QAAA,QAAQ,GAAG;IACtB,MAAM,EAAE,oBAAa,CAAC,QAAQ;CAC/B,CAAC;AAKF,SAAgB,QAAQ,CACM,gBAA8C;IAC1E,OAAO,0BAAM,CAAI,UAAU,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACjE,CAAC;AAHD,4BAGC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/dataflow/package.json b/express-server/node_modules/googleapis/build/src/apis/dataflow/package.json new file mode 100644 index 00000000..964db86c --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dataflow/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/dataflow", + "version": "0.1.0", + "description": "dataflow", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/dataflow/v1b3.d.ts b/express-server/node_modules/googleapis/build/src/apis/dataflow/v1b3.d.ts new file mode 100644 index 00000000..329c52d2 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dataflow/v1b3.d.ts @@ -0,0 +1,4706 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace dataflow_v1b3 { + interface Options extends GlobalOptions { + version: 'v1b3'; + } + /** + * Dataflow API + * + * Manages Google Cloud Dataflow projects on Google Cloud Platform. + * + * @example + * const {google} = require('googleapis'); + * const dataflow = google.dataflow('v1b3'); + * + * @namespace dataflow + * @type {Function} + * @version v1b3 + * @variation v1b3 + * @param {object=} options Options for Dataflow + */ + class Dataflow { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + projects: Resource$Projects; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Obsolete in favor of ApproximateReportedProgress and + * ApproximateSplitRequest. + */ + interface Schema$ApproximateProgress { + /** + * Obsolete. + */ + percentComplete?: number; + /** + * Obsolete. + */ + position?: Schema$Position; + /** + * Obsolete. + */ + remainingTime?: string; + } + /** + * A progress measurement of a WorkItem by a worker. + */ + interface Schema$ApproximateReportedProgress { + /** + * Total amount of parallelism in the portion of input of this task that has + * already been consumed and is no longer active. In the first two examples + * above (see remaining_parallelism), the value should be 29 or 2 + * respectively. The sum of remaining_parallelism and consumed_parallelism + * should equal the total amount of parallelism in this work item. If + * specified, must be finite. + */ + consumedParallelism?: Schema$ReportedParallelism; + /** + * Completion as fraction of the input consumed, from 0.0 (beginning, + * nothing consumed), to 1.0 (end of the input, entire input consumed). + */ + fractionConsumed?: number; + /** + * A Position within the work to represent a progress. + */ + position?: Schema$Position; + /** + * Total amount of parallelism in the input of this task that remains, (i.e. + * can be delegated to this task and any new tasks via dynamic splitting). + * Always at least 1 for non-finished work items and 0 for finished. + * "Amount of parallelism" refers to how many non-empty parts of + * the input can be read in parallel. This does not necessarily equal number + * of records. An input that can be read in parallel down to the individual + * records is called "perfectly splittable". An example of + * non-perfectly parallelizable input is a block-compressed file format + * where a block of records has to be read as a whole, but different blocks + * can be read in parallel. Examples: * If we are processing record #30 + * (starting at 1) out of 50 in a perfectly splittable 50-record input, + * this value should be 21 (20 remaining + 1 current). * If we are reading + * through block 3 in a block-compressed file consisting of 5 blocks, this + * value should be 3 (since blocks 4 and 5 can be processed in parallel by + * new tasks via dynamic splitting and the current task remains processing + * block 3). * If we are reading through the last block in a + * block-compressed file, or reading or processing the last record in a + * perfectly splittable input, this value should be 1, because apart from + * the current task, no additional remainder can be split off. + */ + remainingParallelism?: Schema$ReportedParallelism; + } + /** + * A suggestion by the service to the worker to dynamically split the + * WorkItem. + */ + interface Schema$ApproximateSplitRequest { + /** + * A fraction at which to split the work item, from 0.0 (beginning of the + * input) to 1.0 (end of the input). + */ + fractionConsumed?: number; + /** + * A Position at which to split the work item. + */ + position?: Schema$Position; + } + /** + * A structured message reporting an autoscaling decision made by the Dataflow + * service. + */ + interface Schema$AutoscalingEvent { + /** + * The current number of workers the job has. + */ + currentNumWorkers?: string; + /** + * A message describing why the system decided to adjust the current number + * of workers, why it failed, or why the system decided to not make any + * changes to the number of workers. + */ + description?: Schema$StructuredMessage; + /** + * The type of autoscaling event to report. + */ + eventType?: string; + /** + * The target number of workers the worker pool wants to resize to use. + */ + targetNumWorkers?: string; + /** + * The time this event was emitted to indicate a new target or current + * num_workers value. + */ + time?: string; + /** + * A short and friendly name for the worker pool this event refers to, + * populated from the value of PoolStageRelation::user_pool_name. + */ + workerPool?: string; + } + /** + * Settings for WorkerPool autoscaling. + */ + interface Schema$AutoscalingSettings { + /** + * The algorithm to use for autoscaling. + */ + algorithm?: string; + /** + * The maximum number of workers to cap scaling at. + */ + maxNumWorkers?: number; + } + /** + * Metadata for a BigQuery connector used by the job. + */ + interface Schema$BigQueryIODetails { + /** + * Dataset accessed in the connection. + */ + dataset?: string; + /** + * Project accessed in the connection. + */ + projectId?: string; + /** + * Query used to access data in the connection. + */ + query?: string; + /** + * Table accessed in the connection. + */ + table?: string; + } + /** + * Metadata for a BigTable connector used by the job. + */ + interface Schema$BigTableIODetails { + /** + * InstanceId accessed in the connection. + */ + instanceId?: string; + /** + * ProjectId accessed in the connection. + */ + projectId?: string; + /** + * TableId accessed in the connection. + */ + tableId?: string; + } + /** + * Description of an interstitial value between transforms in an execution + * stage. + */ + interface Schema$ComponentSource { + /** + * Dataflow service generated name for this source. + */ + name?: string; + /** + * User name for the original user transform or collection with which this + * source is most closely associated. + */ + originalTransformOrCollection?: string; + /** + * Human-readable name for this transform; may be user or system generated. + */ + userName?: string; + } + /** + * Description of a transform executed as part of an execution stage. + */ + interface Schema$ComponentTransform { + /** + * Dataflow service generated name for this source. + */ + name?: string; + /** + * User name for the original user transform with which this transform is + * most closely associated. + */ + originalTransform?: string; + /** + * Human-readable name for this transform; may be user or system generated. + */ + userName?: string; + } + /** + * All configuration data for a particular Computation. + */ + interface Schema$ComputationTopology { + /** + * The ID of the computation. + */ + computationId?: string; + /** + * The inputs to the computation. + */ + inputs?: Schema$StreamLocation[]; + /** + * The key ranges processed by the computation. + */ + keyRanges?: Schema$KeyRangeLocation[]; + /** + * The outputs from the computation. + */ + outputs?: Schema$StreamLocation[]; + /** + * The state family values. + */ + stateFamilies?: Schema$StateFamilyConfig[]; + /** + * The system stage name. + */ + systemStageName?: string; + } + /** + * A position that encapsulates an inner position and an index for the inner + * position. A ConcatPosition can be used by a reader of a source that + * encapsulates a set of other sources. + */ + interface Schema$ConcatPosition { + /** + * Index of the inner source. + */ + index?: number; + /** + * Position within the inner source. + */ + position?: Schema$Position; + } + /** + * CounterMetadata includes all static non-name non-value counter attributes. + */ + interface Schema$CounterMetadata { + /** + * Human-readable description of the counter semantics. + */ + description?: string; + /** + * Counter aggregation kind. + */ + kind?: string; + /** + * A string referring to the unit type. + */ + otherUnits?: string; + /** + * System defined Units, see above enum. + */ + standardUnits?: string; + } + /** + * Identifies a counter within a per-job namespace. Counters whose structured + * names are the same get merged into a single value for the job. + */ + interface Schema$CounterStructuredName { + /** + * Name of the optimized step being executed by the workers. + */ + componentStepName?: string; + /** + * Name of the stage. An execution step contains multiple component steps. + */ + executionStepName?: string; + /** + * Index of an input collection that's being read from/written to as a + * side input. The index identifies a step's side inputs starting by 1 + * (e.g. the first side input has input_index 1, the third has input_index + * 3). Side inputs are identified by a pair of (original_step_name, + * input_index). This field helps uniquely identify them. + */ + inputIndex?: number; + /** + * Counter name. Not necessarily globally-unique, but unique within the + * context of the other fields. Required. + */ + name?: string; + /** + * One of the standard Origins defined above. + */ + origin?: string; + /** + * The step name requesting an operation, such as GBK. I.e. the ParDo + * causing a read/write from shuffle to occur, or a read from side inputs. + */ + originalRequestingStepName?: string; + /** + * System generated name of the original step in the user's graph, + * before optimization. + */ + originalStepName?: string; + /** + * A string containing a more specific namespace of the counter's + * origin. + */ + originNamespace?: string; + /** + * Portion of this counter, either key or value. + */ + portion?: string; + /** + * ID of a particular worker. + */ + workerId?: string; + } + /** + * A single message which encapsulates structured name and metadata for a + * given counter. + */ + interface Schema$CounterStructuredNameAndMetadata { + /** + * Metadata associated with a counter + */ + metadata?: Schema$CounterMetadata; + /** + * Structured name of the counter. + */ + name?: Schema$CounterStructuredName; + } + /** + * An update to a Counter sent from a worker. + */ + interface Schema$CounterUpdate { + /** + * Boolean value for And, Or. + */ + boolean?: boolean; + /** + * True if this counter is reported as the total cumulative aggregate value + * accumulated since the worker started working on this WorkItem. By default + * this is false, indicating that this counter is reported as a delta. + */ + cumulative?: boolean; + /** + * Distribution data + */ + distribution?: Schema$DistributionUpdate; + /** + * Floating point value for Sum, Max, Min. + */ + floatingPoint?: number; + /** + * List of floating point numbers, for Set. + */ + floatingPointList?: Schema$FloatingPointList; + /** + * Floating point mean aggregation value for Mean. + */ + floatingPointMean?: Schema$FloatingPointMean; + /** + * Integer value for Sum, Max, Min. + */ + integer?: Schema$SplitInt64; + /** + * Gauge data + */ + integerGauge?: Schema$IntegerGauge; + /** + * List of integers, for Set. + */ + integerList?: Schema$IntegerList; + /** + * Integer mean aggregation value for Mean. + */ + integerMean?: Schema$IntegerMean; + /** + * Value for internally-defined counters used by the Dataflow service. + */ + internal?: any; + /** + * Counter name and aggregation type. + */ + nameAndKind?: Schema$NameAndKind; + /** + * The service-generated short identifier for this counter. The short_id + * -> (name, metadata) mapping is constant for the lifetime of a job. + */ + shortId?: string; + /** + * List of strings, for Set. + */ + stringList?: Schema$StringList; + /** + * Counter structured name and metadata. + */ + structuredNameAndMetadata?: Schema$CounterStructuredNameAndMetadata; + } + /** + * Modeled after information exposed by /proc/stat. + */ + interface Schema$CPUTime { + /** + * Average CPU utilization rate (% non-idle cpu / second) since previous + * sample. + */ + rate?: number; + /** + * Timestamp of the measurement. + */ + timestamp?: string; + /** + * Total active CPU time across all cores (ie., non-idle) in milliseconds + * since start-up. + */ + totalMs?: string; + } + /** + * A request to create a Cloud Dataflow job from a template. + */ + interface Schema$CreateJobFromTemplateRequest { + /** + * The runtime environment for the job. + */ + environment?: Schema$RuntimeEnvironment; + /** + * Required. A Cloud Storage path to the template from which to create the + * job. Must be a valid Cloud Storage URL, beginning with `gs://`. + */ + gcsPath?: string; + /** + * Required. The job name to use for the created job. + */ + jobName?: string; + /** + * The location to which to direct the request. + */ + location?: string; + /** + * The runtime parameters to pass to the job. + */ + parameters?: any; + } + /** + * Identifies the location of a custom souce. + */ + interface Schema$CustomSourceLocation { + /** + * Whether this source is stateful. + */ + stateful?: boolean; + } + /** + * Data disk assignment for a given VM instance. + */ + interface Schema$DataDiskAssignment { + /** + * Mounted data disks. The order is important a data disk's 0-based + * index in this list defines which persistent directory the disk is mounted + * to, for example the list of { + * "myproject-1014-104817-4c2-harness-0-disk-0" }, { + * "myproject-1014-104817-4c2-harness-0-disk-1" }. + */ + dataDisks?: string[]; + /** + * VM instance name the data disks mounted to, for example + * "myproject-1014-104817-4c2-harness-0". + */ + vmInstance?: string; + } + /** + * Metadata for a Datastore connector used by the job. + */ + interface Schema$DatastoreIODetails { + /** + * Namespace used in the connection. + */ + namespace?: string; + /** + * ProjectId accessed in the connection. + */ + projectId?: string; + } + /** + * Specification of one of the bundles produced as a result of splitting a + * Source (e.g. when executing a SourceSplitRequest, or when splitting an + * active task using WorkItemStatus.dynamic_source_split), relative to the + * source being split. + */ + interface Schema$DerivedSource { + /** + * What source to base the produced source on (if any). + */ + derivationMode?: string; + /** + * Specification of the source. + */ + source?: Schema$Source; + } + /** + * Describes the data disk used by a workflow job. + */ + interface Schema$Disk { + /** + * Disk storage type, as defined by Google Compute Engine. This must be a + * disk type appropriate to the project and zone in which the workers will + * run. If unknown or unspecified, the service will attempt to choose a + * reasonable default. For example, the standard persistent disk type is a + * resource name typically ending in "pd-standard". If SSD + * persistent disks are available, the resource name typically ends with + * "pd-ssd". The actual valid values are defined the Google + * Compute Engine API, not by the Cloud Dataflow API; consult the Google + * Compute Engine documentation for more information about determining the + * set of available disk types for a particular project and zone. Google + * Compute Engine Disk types are local to a particular project in a + * particular zone, and so the resource name will typically look something + * like this: + * compute.googleapis.com/projects/project-id/zones/zone/diskTypes/pd-standard + */ + diskType?: string; + /** + * Directory in a VM where disk is mounted. + */ + mountPoint?: string; + /** + * Size of disk in GB. If zero or unspecified, the service will attempt to + * choose a reasonable default. + */ + sizeGb?: number; + } + /** + * Data provided with a pipeline or transform to provide descriptive info. + */ + interface Schema$DisplayData { + /** + * Contains value if the data is of a boolean type. + */ + boolValue?: boolean; + /** + * Contains value if the data is of duration type. + */ + durationValue?: string; + /** + * Contains value if the data is of float type. + */ + floatValue?: number; + /** + * Contains value if the data is of int64 type. + */ + int64Value?: string; + /** + * Contains value if the data is of java class type. + */ + javaClassValue?: string; + /** + * The key identifying the display data. This is intended to be used as a + * label for the display data when viewed in a dax monitoring system. + */ + key?: string; + /** + * An optional label to display in a dax UI for the element. + */ + label?: string; + /** + * The namespace for the key. This is usually a class name or programming + * language namespace (i.e. python module) which defines the display data. + * This allows a dax monitoring system to specially handle the data and + * perform custom rendering. + */ + namespace?: string; + /** + * A possible additional shorter value to display. For example a + * java_class_name_value of com.mypackage.MyDoFn will be stored with MyDoFn + * as the short_str_value and com.mypackage.MyDoFn as the java_class_name + * value. short_str_value can be displayed and java_class_name_value will be + * displayed as a tooltip. + */ + shortStrValue?: string; + /** + * Contains value if the data is of string type. + */ + strValue?: string; + /** + * Contains value if the data is of timestamp type. + */ + timestampValue?: string; + /** + * An optional full URL. + */ + url?: string; + } + /** + * A metric value representing a distribution. + */ + interface Schema$DistributionUpdate { + /** + * The count of the number of elements present in the distribution. + */ + count?: Schema$SplitInt64; + /** + * (Optional) Histogram of value counts for the distribution. + */ + histogram?: Schema$Histogram; + /** + * The maximum value present in the distribution. + */ + max?: Schema$SplitInt64; + /** + * The minimum value present in the distribution. + */ + min?: Schema$SplitInt64; + /** + * Use an int64 since we'd prefer the added precision. If overflow is a + * common problem we can detect it and use an additional int64 or a double. + */ + sum?: Schema$SplitInt64; + /** + * Use a double since the sum of squares is likely to overflow int64. + */ + sumOfSquares?: number; + } + /** + * When a task splits using WorkItemStatus.dynamic_source_split, this message + * describes the two parts of the split relative to the description of the + * current task's input. + */ + interface Schema$DynamicSourceSplit { + /** + * Primary part (continued to be processed by worker). Specified relative to + * the previously-current source. Becomes current. + */ + primary?: Schema$DerivedSource; + /** + * Residual part (returned to the pool of work). Specified relative to the + * previously-current source. + */ + residual?: Schema$DerivedSource; + } + /** + * Describes the environment in which a Dataflow Job runs. + */ + interface Schema$Environment { + /** + * The type of cluster manager API to use. If unknown or unspecified, the + * service will attempt to choose a reasonable default. This should be in + * the form of the API service name, e.g. + * "compute.googleapis.com". + */ + clusterManagerApiService?: string; + /** + * The dataset for the current project where various workflow related tables + * are stored. The supported resource type is: Google BigQuery: + * bigquery.googleapis.com/{dataset} + */ + dataset?: string; + /** + * The list of experiments to enable. + */ + experiments?: string[]; + /** + * Experimental settings. + */ + internalExperiments?: any; + /** + * The Cloud Dataflow SDK pipeline options specified by the user. These + * options are passed through the service and are used to recreate the SDK + * pipeline options on the worker in a language agnostic and platform + * independent way. + */ + sdkPipelineOptions?: any; + /** + * Identity to run virtual machines as. Defaults to the default account. + */ + serviceAccountEmail?: string; + /** + * The prefix of the resources the system should use for temporary storage. + * The system will append the suffix "/temp-{JOBNAME} to this resource + * prefix, where {JOBNAME} is the value of the job_name field. The + * resulting bucket and object prefix is used as the prefix of the resources + * used to store temporary data needed during the job execution. NOTE: This + * will override the value in taskrunner_settings. The supported resource + * type is: Google Cloud Storage: storage.googleapis.com/{bucket}/{object} + * bucket.storage.googleapis.com/{object} + */ + tempStoragePrefix?: string; + /** + * A description of the process that generated the request. + */ + userAgent?: any; + /** + * A structure describing which components and their versions of the service + * are required in order to run the job. + */ + version?: any; + /** + * The worker pools. At least one "harness" worker pool must be + * specified in order for the job to have workers. + */ + workerPools?: Schema$WorkerPool[]; + } + /** + * A message describing the state of a particular execution stage. + */ + interface Schema$ExecutionStageState { + /** + * The time at which the stage transitioned to this state. + */ + currentStateTime?: string; + /** + * The name of the execution stage. + */ + executionStageName?: string; + /** + * Executions stage states allow the same set of values as JobState. + */ + executionStageState?: string; + } + /** + * Description of the composing transforms, names/ids, and input/outputs of a + * stage of execution. Some composing transforms and sources may have been + * generated by the Dataflow service during execution planning. + */ + interface Schema$ExecutionStageSummary { + /** + * Collections produced and consumed by component transforms of this stage. + */ + componentSource?: Schema$ComponentSource[]; + /** + * Transforms that comprise this execution stage. + */ + componentTransform?: Schema$ComponentTransform[]; + /** + * Dataflow service generated id for this stage. + */ + id?: string; + /** + * Input sources for this stage. + */ + inputSource?: Schema$StageSource[]; + /** + * Type of tranform this stage is executing. + */ + kind?: string; + /** + * Dataflow service generated name for this stage. + */ + name?: string; + /** + * Output sources for this stage. + */ + outputSource?: Schema$StageSource[]; + } + /** + * Indicates which location failed to respond to a request for data. + */ + interface Schema$FailedLocation { + /** + * The name of the failed location. + */ + name?: string; + } + /** + * Metadata for a File connector used by the job. + */ + interface Schema$FileIODetails { + /** + * File Pattern used to access files by the connector. + */ + filePattern?: string; + } + /** + * An instruction that copies its inputs (zero or more) to its (single) + * output. + */ + interface Schema$FlattenInstruction { + /** + * Describes the inputs to the flatten instruction. + */ + inputs?: Schema$InstructionInput[]; + } + /** + * A metric value representing a list of floating point numbers. + */ + interface Schema$FloatingPointList { + /** + * Elements of the list. + */ + elements?: number[]; + } + /** + * A representation of a floating point mean metric contribution. + */ + interface Schema$FloatingPointMean { + /** + * The number of values being aggregated. + */ + count?: Schema$SplitInt64; + /** + * The sum of all values being aggregated. + */ + sum?: number; + } + /** + * Request to get updated debug configuration for component. + */ + interface Schema$GetDebugConfigRequest { + /** + * The internal component id for which debug configuration is requested. + */ + componentId?: string; + /** + * The location which contains the job specified by job_id. + */ + location?: string; + /** + * The worker id, i.e., VM hostname. + */ + workerId?: string; + } + /** + * Response to a get debug configuration request. + */ + interface Schema$GetDebugConfigResponse { + /** + * The encoded debug configuration for the requested component. + */ + config?: string; + } + /** + * The response to a GetTemplate request. + */ + interface Schema$GetTemplateResponse { + /** + * The template metadata describing the template name, available parameters, + * etc. + */ + metadata?: Schema$TemplateMetadata; + /** + * The status of the get template request. Any problems with the request + * will be indicated in the error_details. + */ + status?: Schema$Status; + } + /** + * Histogram of value counts for a distribution. Buckets have an inclusive + * lower bound and exclusive upper bound and use "1,2,5 bucketing": + * The first bucket range is from [0,1) and all subsequent bucket boundaries + * are powers of ten multiplied by 1, 2, or 5. Thus, bucket boundaries are 0, + * 1, 2, 5, 10, 20, 50, 100, 200, 500, 1000, ... Negative values are not + * supported. + */ + interface Schema$Histogram { + /** + * Counts of values in each bucket. For efficiency, prefix and trailing + * buckets with count = 0 are elided. Buckets can store the full range of + * values of an unsigned long, with ULLONG_MAX falling into the 59th bucket + * with range [1e19, 2e19). + */ + bucketCounts?: string[]; + /** + * Starting index of first stored bucket. The non-inclusive upper-bound of + * the ith bucket is given by: pow(10,(i-first_bucket_offset)/3) * + * (1,2,5)[(i-first_bucket_offset)%3] + */ + firstBucketOffset?: number; + } + /** + * An input of an instruction, as a reference to an output of a producer + * instruction. + */ + interface Schema$InstructionInput { + /** + * The output index (origin zero) within the producer. + */ + outputNum?: number; + /** + * The index (origin zero) of the parallel instruction that produces the + * output to be consumed by this input. This index is relative to the list + * of instructions in this input's instruction's containing MapTask. + */ + producerInstructionIndex?: number; + } + /** + * An output of an instruction. + */ + interface Schema$InstructionOutput { + /** + * The codec to use to encode data being written via this output. + */ + codec?: any; + /** + * The user-provided name of this output. + */ + name?: string; + /** + * For system-generated byte and mean byte metrics, certain instructions + * should only report the key size. + */ + onlyCountKeyBytes?: boolean; + /** + * For system-generated byte and mean byte metrics, certain instructions + * should only report the value size. + */ + onlyCountValueBytes?: boolean; + /** + * System-defined name for this output in the original workflow graph. + * Outputs that do not contribute to an original instruction do not set + * this. + */ + originalName?: string; + /** + * System-defined name of this output. Unique across the workflow. + */ + systemName?: string; + } + /** + * A metric value representing temporal values of a variable. + */ + interface Schema$IntegerGauge { + /** + * The time at which this value was measured. Measured as msecs from epoch. + */ + timestamp?: string; + /** + * The value of the variable represented by this gauge. + */ + value?: Schema$SplitInt64; + } + /** + * A metric value representing a list of integers. + */ + interface Schema$IntegerList { + /** + * Elements of the list. + */ + elements?: Schema$SplitInt64[]; + } + /** + * A representation of an integer mean metric contribution. + */ + interface Schema$IntegerMean { + /** + * The number of values being aggregated. + */ + count?: Schema$SplitInt64; + /** + * The sum of all values being aggregated. + */ + sum?: Schema$SplitInt64; + } + /** + * Defines a job to be run by the Cloud Dataflow service. + */ + interface Schema$Job { + /** + * The client's unique identifier of the job, re-used across retried + * attempts. If this field is set, the service will ensure its uniqueness. + * The request to create a job will fail if the service has knowledge of a + * previously submitted job with the same client's ID and job name. The + * caller may use this field to ensure idempotence of job creation across + * retried attempts to create a job. By default, the field is empty and, in + * that case, the service ignores it. + */ + clientRequestId?: string; + /** + * The timestamp when the job was initially created. Immutable and set by + * the Cloud Dataflow service. + */ + createTime?: string; + /** + * The current state of the job. Jobs are created in the + * `JOB_STATE_STOPPED` state unless otherwise specified. A job in the + * `JOB_STATE_RUNNING` state may asynchronously enter a terminal state. + * After a job has reached a terminal state, no further state updates may be + * made. This field may be mutated by the Cloud Dataflow service; callers + * cannot mutate it. + */ + currentState?: string; + /** + * The timestamp associated with the current state. + */ + currentStateTime?: string; + /** + * The environment for the job. + */ + environment?: Schema$Environment; + /** + * Deprecated. + */ + executionInfo?: Schema$JobExecutionInfo; + /** + * The unique ID of this job. This field is set by the Cloud Dataflow + * service when the Job is created, and is immutable for the life of the + * job. + */ + id?: string; + /** + * This field is populated by the Dataflow service to support filtering jobs + * by the metadata values provided here. Populated for ListJobs and all + * GetJob views SUMMARY and higher. + */ + jobMetadata?: Schema$JobMetadata; + /** + * User-defined labels for this job. The labels map can contain no more + * than 64 entries. Entries of the labels map are UTF8 strings that comply + * with the following restrictions: * Keys must conform to regexp: + * \p{Ll}\p{Lo}{0,62} * Values must conform to regexp: + * [\p{Ll}\p{Lo}\p{N}_-]{0,63} * Both keys and values are additionally + * constrained to be <= 128 bytes in size. + */ + labels?: any; + /** + * The location that contains this job. + */ + location?: string; + /** + * The user-specified Cloud Dataflow job name. Only one Job with a given + * name may exist in a project at any given time. If a caller attempts to + * create a Job with the same name as an already-existing Job, the attempt + * returns the existing Job. The name must match the regular expression + * `[a-z]([-a-z0-9]{0,38}[a-z0-9])?` + */ + name?: string; + /** + * Preliminary field: The format of this data may change at any time. A + * description of the user pipeline and stages through which it is executed. + * Created by Cloud Dataflow service. Only retrieved with + * JOB_VIEW_DESCRIPTION or JOB_VIEW_ALL. + */ + pipelineDescription?: Schema$PipelineDescription; + /** + * The ID of the Cloud Platform project that the job belongs to. + */ + projectId?: string; + /** + * If another job is an update of this job (and thus, this job is in + * `JOB_STATE_UPDATED`), this field contains the ID of that job. + */ + replacedByJobId?: string; + /** + * If this job is an update of an existing job, this field is the job ID of + * the job it replaced. When sending a `CreateJobRequest`, you can update a + * job by specifying it here. The job named here is stopped, and its + * intermediate state is transferred to this job. + */ + replaceJobId?: string; + /** + * The job's requested state. `UpdateJob` may be used to switch between + * the `JOB_STATE_STOPPED` and `JOB_STATE_RUNNING` states, by setting + * requested_state. `UpdateJob` may also be used to directly set a + * job's requested state to `JOB_STATE_CANCELLED` or `JOB_STATE_DONE`, + * irrevocably terminating the job if it has not already reached a terminal + * state. + */ + requestedState?: string; + /** + * This field may be mutated by the Cloud Dataflow service; callers cannot + * mutate it. + */ + stageStates?: Schema$ExecutionStageState[]; + /** + * The top-level steps that constitute the entire job. + */ + steps?: Schema$Step[]; + /** + * A set of files the system should be aware of that are used for temporary + * storage. These temporary files will be removed on job completion. No + * duplicates are allowed. No file patterns are supported. The supported + * files are: Google Cloud Storage: + * storage.googleapis.com/{bucket}/{object} + * bucket.storage.googleapis.com/{object} + */ + tempFiles?: string[]; + /** + * The map of transform name prefixes of the job to be replaced to the + * corresponding name prefixes of the new job. + */ + transformNameMapping?: any; + /** + * The type of Cloud Dataflow job. + */ + type?: string; + } + /** + * Additional information about how a Cloud Dataflow job will be executed that + * isn't contained in the submitted job. + */ + interface Schema$JobExecutionInfo { + /** + * A mapping from each stage to the information about that stage. + */ + stages?: any; + } + /** + * Contains information about how a particular google.dataflow.v1beta3.Step + * will be executed. + */ + interface Schema$JobExecutionStageInfo { + /** + * The steps associated with the execution stage. Note that stages may have + * several steps, and that a given step might be run by more than one stage. + */ + stepName?: string[]; + } + /** + * A particular message pertaining to a Dataflow job. + */ + interface Schema$JobMessage { + /** + * Deprecated. + */ + id?: string; + /** + * Importance level of the message. + */ + messageImportance?: string; + /** + * The text of the message. + */ + messageText?: string; + /** + * The timestamp of the message. + */ + time?: string; + } + /** + * Metadata available primarily for filtering jobs. Will be included in the + * ListJob response and Job SUMMARY view+. + */ + interface Schema$JobMetadata { + /** + * Identification of a BigQuery source used in the Dataflow job. + */ + bigqueryDetails?: Schema$BigQueryIODetails[]; + /** + * Identification of a BigTable source used in the Dataflow job. + */ + bigTableDetails?: Schema$BigTableIODetails[]; + /** + * Identification of a Datastore source used in the Dataflow job. + */ + datastoreDetails?: Schema$DatastoreIODetails[]; + /** + * Identification of a File source used in the Dataflow job. + */ + fileDetails?: Schema$FileIODetails[]; + /** + * Identification of a PubSub source used in the Dataflow job. + */ + pubsubDetails?: Schema$PubSubIODetails[]; + /** + * The SDK version used to run the job. + */ + sdkVersion?: Schema$SdkVersion; + /** + * Identification of a Spanner source used in the Dataflow job. + */ + spannerDetails?: Schema$SpannerIODetails[]; + } + /** + * JobMetrics contains a collection of metrics descibing the detailed progress + * of a Dataflow job. Metrics correspond to user-defined and system-defined + * metrics in the job. This resource captures only the most recent values of + * each metric; time-series data can be queried for them (under the same + * metric names) from Cloud Monitoring. + */ + interface Schema$JobMetrics { + /** + * All metrics for this job. + */ + metrics?: Schema$MetricUpdate[]; + /** + * Timestamp as of which metric values are current. + */ + metricTime?: string; + } + /** + * Data disk assignment information for a specific key-range of a sharded + * computation. Currently we only support UTF-8 character splits to simplify + * encoding into JSON. + */ + interface Schema$KeyRangeDataDiskAssignment { + /** + * The name of the data disk where data for this range is stored. This name + * is local to the Google Cloud Platform project and uniquely identifies the + * disk within that project, for example + * "myproject-1014-104817-4c2-harness-0-disk-1". + */ + dataDisk?: string; + /** + * The end (exclusive) of the key range. + */ + end?: string; + /** + * The start (inclusive) of the key range. + */ + start?: string; + } + /** + * Location information for a specific key-range of a sharded computation. + * Currently we only support UTF-8 character splits to simplify encoding into + * JSON. + */ + interface Schema$KeyRangeLocation { + /** + * The name of the data disk where data for this range is stored. This name + * is local to the Google Cloud Platform project and uniquely identifies the + * disk within that project, for example + * "myproject-1014-104817-4c2-harness-0-disk-1". + */ + dataDisk?: string; + /** + * The physical location of this range assignment to be used for streaming + * computation cross-worker message delivery. + */ + deliveryEndpoint?: string; + /** + * DEPRECATED. The location of the persistent state for this range, as a + * persistent directory in the worker local filesystem. + */ + deprecatedPersistentDirectory?: string; + /** + * The end (exclusive) of the key range. + */ + end?: string; + /** + * The start (inclusive) of the key range. + */ + start?: string; + } + /** + * Parameters to provide to the template being launched. + */ + interface Schema$LaunchTemplateParameters { + /** + * The runtime environment for the job. + */ + environment?: Schema$RuntimeEnvironment; + /** + * Required. The job name to use for the created job. + */ + jobName?: string; + /** + * The runtime parameters to pass to the job. + */ + parameters?: any; + } + /** + * Response to the request to launch a template. + */ + interface Schema$LaunchTemplateResponse { + /** + * The job that was launched, if the request was not a dry run and the job + * was successfully launched. + */ + job?: Schema$Job; + } + /** + * Request to lease WorkItems. + */ + interface Schema$LeaseWorkItemRequest { + /** + * The current timestamp at the worker. + */ + currentWorkerTime?: string; + /** + * The location which contains the WorkItem's job. + */ + location?: string; + /** + * The initial lease period. + */ + requestedLeaseDuration?: string; + /** + * Worker capabilities. WorkItems might be limited to workers with specific + * capabilities. + */ + workerCapabilities?: string[]; + /** + * Identifies the worker leasing work -- typically the ID of the virtual + * machine running the worker. + */ + workerId?: string; + /** + * Filter for WorkItem type. + */ + workItemTypes?: string[]; + } + /** + * Response to a request to lease WorkItems. + */ + interface Schema$LeaseWorkItemResponse { + /** + * A list of the leased WorkItems. + */ + workItems?: Schema$WorkItem[]; + } + /** + * Response to a request to list job messages. + */ + interface Schema$ListJobMessagesResponse { + /** + * Autoscaling events in ascending timestamp order. + */ + autoscalingEvents?: Schema$AutoscalingEvent[]; + /** + * Messages in ascending timestamp order. + */ + jobMessages?: Schema$JobMessage[]; + /** + * The token to obtain the next page of results if there are more. + */ + nextPageToken?: string; + } + /** + * Response to a request to list Cloud Dataflow jobs. This may be a partial + * response, depending on the page size in the ListJobsRequest. + */ + interface Schema$ListJobsResponse { + /** + * Zero or more messages describing locations that failed to respond. + */ + failedLocation?: Schema$FailedLocation[]; + /** + * A subset of the requested job information. + */ + jobs?: Schema$Job[]; + /** + * Set if there may be more results than fit in this response. + */ + nextPageToken?: string; + } + /** + * MapTask consists of an ordered set of instructions, each of which describes + * one particular low-level operation for the worker to perform in order to + * accomplish the MapTask's WorkItem. Each instruction must appear in the + * list before any instructions which depends on its output. + */ + interface Schema$MapTask { + /** + * The instructions in the MapTask. + */ + instructions?: Schema$ParallelInstruction[]; + /** + * System-defined name of the stage containing this MapTask. Unique across + * the workflow. + */ + stageName?: string; + /** + * System-defined name of this MapTask. Unique across the workflow. + */ + systemName?: string; + } + /** + * The metric short id is returned to the user alongside an offset into + * ReportWorkItemStatusRequest + */ + interface Schema$MetricShortId { + /** + * The index of the corresponding metric in the ReportWorkItemStatusRequest. + * Required. + */ + metricIndex?: number; + /** + * The service-generated short identifier for the metric. + */ + shortId?: string; + } + /** + * Identifies a metric, by describing the source which generated the metric. + */ + interface Schema$MetricStructuredName { + /** + * Zero or more labeled fields which identify the part of the job this + * metric is associated with, such as the name of a step or collection. For + * example, built-in counters associated with steps will have + * context['step'] = <step-name>. Counters associated with + * PCollections in the SDK will have context['pcollection'] = + * <pcollection-name>. + */ + context?: any; + /** + * Worker-defined metric name. + */ + name?: string; + /** + * Origin (namespace) of metric name. May be blank for user-define metrics; + * will be "dataflow" for metrics defined by the Dataflow service + * or SDK. + */ + origin?: string; + } + /** + * Describes the state of a metric. + */ + interface Schema$MetricUpdate { + /** + * True if this metric is reported as the total cumulative aggregate value + * accumulated since the worker started working on this WorkItem. By default + * this is false, indicating that this metric is reported as a delta that is + * not associated with any WorkItem. + */ + cumulative?: boolean; + /** + * A struct value describing properties of a distribution of numeric values. + */ + distribution?: any; + /** + * A struct value describing properties of a Gauge. Metrics of gauge type + * show the value of a metric across time, and is aggregated based on the + * newest value. + */ + gauge?: any; + /** + * Worker-computed aggregate value for internal use by the Dataflow service. + */ + internal?: any; + /** + * Metric aggregation kind. The possible metric aggregation kinds are + * "Sum", "Max", "Min", "Mean", + * "Set", "And", "Or", and + * "Distribution". The specified aggregation kind is + * case-insensitive. If omitted, this is not an aggregated value but + * instead a single metric sample value. + */ + kind?: string; + /** + * Worker-computed aggregate value for the "Mean" aggregation + * kind. This holds the count of the aggregated values and is used in + * combination with mean_sum above to obtain the actual mean aggregate + * value. The only possible value type is Long. + */ + meanCount?: any; + /** + * Worker-computed aggregate value for the "Mean" aggregation + * kind. This holds the sum of the aggregated values and is used in + * combination with mean_count below to obtain the actual mean aggregate + * value. The only possible value types are Long and Double. + */ + meanSum?: any; + /** + * Name of the metric. + */ + name?: Schema$MetricStructuredName; + /** + * Worker-computed aggregate value for aggregation kinds "Sum", + * "Max", "Min", "And", and "Or". + * The possible value types are Long, Double, and Boolean. + */ + scalar?: any; + /** + * Worker-computed aggregate value for the "Set" aggregation kind. + * The only possible value type is a list of Values whose type can be Long, + * Double, or String, according to the metric's type. All Values in the + * list must be of the same type. + */ + set?: any; + /** + * Timestamp associated with the metric value. Optional when workers are + * reporting work progress; it will be filled in responses from the metrics + * API. + */ + updateTime?: string; + } + /** + * Describes mounted data disk. + */ + interface Schema$MountedDataDisk { + /** + * The name of the data disk. This name is local to the Google Cloud + * Platform project and uniquely identifies the disk within that project, + * for example "myproject-1014-104817-4c2-harness-0-disk-1". + */ + dataDisk?: string; + } + /** + * Information about an output of a multi-output DoFn. + */ + interface Schema$MultiOutputInfo { + /** + * The id of the tag the user code will emit to this output by; this should + * correspond to the tag of some SideInputInfo. + */ + tag?: string; + } + /** + * Basic metadata about a counter. + */ + interface Schema$NameAndKind { + /** + * Counter aggregation kind. + */ + kind?: string; + /** + * Name of the counter. + */ + name?: string; + } + /** + * The packages that must be installed in order for a worker to run the steps + * of the Cloud Dataflow job that will be assigned to its worker pool. This + * is the mechanism by which the Cloud Dataflow SDK causes code to be loaded + * onto the workers. For example, the Cloud Dataflow Java SDK might use this + * to install jars containing the user's code and all of the various + * dependencies (libraries, data files, etc.) required in order for that code + * to run. + */ + interface Schema$Package { + /** + * The resource to read the package from. The supported resource type is: + * Google Cloud Storage: storage.googleapis.com/{bucket} + * bucket.storage.googleapis.com/ + */ + location?: string; + /** + * The name of the package. + */ + name?: string; + } + /** + * Describes a particular operation comprising a MapTask. + */ + interface Schema$ParallelInstruction { + /** + * Additional information for Flatten instructions. + */ + flatten?: Schema$FlattenInstruction; + /** + * User-provided name of this operation. + */ + name?: string; + /** + * System-defined name for the operation in the original workflow graph. + */ + originalName?: string; + /** + * Describes the outputs of the instruction. + */ + outputs?: Schema$InstructionOutput[]; + /** + * Additional information for ParDo instructions. + */ + parDo?: Schema$ParDoInstruction; + /** + * Additional information for PartialGroupByKey instructions. + */ + partialGroupByKey?: Schema$PartialGroupByKeyInstruction; + /** + * Additional information for Read instructions. + */ + read?: Schema$ReadInstruction; + /** + * System-defined name of this operation. Unique across the workflow. + */ + systemName?: string; + /** + * Additional information for Write instructions. + */ + write?: Schema$WriteInstruction; + } + /** + * Structured data associated with this message. + */ + interface Schema$Parameter { + /** + * Key or name for this parameter. + */ + key?: string; + /** + * Value for this parameter. + */ + value?: any; + } + /** + * Metadata for a specific parameter. + */ + interface Schema$ParameterMetadata { + /** + * Required. The help text to display for the parameter. + */ + helpText?: string; + /** + * Optional. Whether the parameter is optional. Defaults to false. + */ + isOptional?: boolean; + /** + * Required. The label to display for the parameter. + */ + label?: string; + /** + * Required. The name of the parameter. + */ + name?: string; + /** + * Optional. Regexes that the parameter must match. + */ + regexes?: string[]; + } + /** + * An instruction that does a ParDo operation. Takes one main input and zero + * or more side inputs, and produces zero or more outputs. Runs user code. + */ + interface Schema$ParDoInstruction { + /** + * The input. + */ + input?: Schema$InstructionInput; + /** + * Information about each of the outputs, if user_fn is a MultiDoFn. + */ + multiOutputInfos?: Schema$MultiOutputInfo[]; + /** + * The number of outputs. + */ + numOutputs?: number; + /** + * Zero or more side inputs. + */ + sideInputs?: Schema$SideInputInfo[]; + /** + * The user function to invoke. + */ + userFn?: any; + } + /** + * An instruction that does a partial group-by-key. One input and one output. + */ + interface Schema$PartialGroupByKeyInstruction { + /** + * Describes the input to the partial group-by-key instruction. + */ + input?: Schema$InstructionInput; + /** + * The codec to use for interpreting an element in the input PTable. + */ + inputElementCodec?: any; + /** + * If this instruction includes a combining function this is the name of the + * intermediate store between the GBK and the CombineValues. + */ + originalCombineValuesInputStoreName?: string; + /** + * If this instruction includes a combining function, this is the name of + * the CombineValues instruction lifted into this instruction. + */ + originalCombineValuesStepName?: string; + /** + * Zero or more side inputs. + */ + sideInputs?: Schema$SideInputInfo[]; + /** + * The value combining function to invoke. + */ + valueCombiningFn?: any; + } + /** + * A descriptive representation of submitted pipeline as well as the executed + * form. This data is provided by the Dataflow service for ease of + * visualizing the pipeline and interpretting Dataflow provided metrics. + */ + interface Schema$PipelineDescription { + /** + * Pipeline level display data. + */ + displayData?: Schema$DisplayData[]; + /** + * Description of each stage of execution of the pipeline. + */ + executionPipelineStage?: Schema$ExecutionStageSummary[]; + /** + * Description of each transform in the pipeline and collections between + * them. + */ + originalPipelineTransform?: Schema$TransformSummary[]; + } + /** + * Position defines a position within a collection of data. The value can be + * either the end position, a key (used with ordered collections), a byte + * offset, or a record index. + */ + interface Schema$Position { + /** + * Position is a byte offset. + */ + byteOffset?: string; + /** + * CloudPosition is a concat position. + */ + concatPosition?: Schema$ConcatPosition; + /** + * Position is past all other positions. Also useful for the end position of + * an unbounded range. + */ + end?: boolean; + /** + * Position is a string key, ordered lexicographically. + */ + key?: string; + /** + * Position is a record index. + */ + recordIndex?: string; + /** + * CloudPosition is a base64 encoded BatchShufflePosition (with FIXED + * sharding). + */ + shufflePosition?: string; + } + /** + * Metadata for a PubSub connector used by the job. + */ + interface Schema$PubSubIODetails { + /** + * Subscription used in the connection. + */ + subscription?: string; + /** + * Topic accessed in the connection. + */ + topic?: string; + } + /** + * Identifies a pubsub location to use for transferring data into or out of a + * streaming Dataflow job. + */ + interface Schema$PubsubLocation { + /** + * Indicates whether the pipeline allows late-arriving data. + */ + dropLateData?: boolean; + /** + * If set, contains a pubsub label from which to extract record ids. If left + * empty, record deduplication will be strictly best effort. + */ + idLabel?: string; + /** + * A pubsub subscription, in the form of + * "pubsub.googleapis.com/subscriptions/<project-id>/<subscription-name>" + */ + subscription?: string; + /** + * If set, contains a pubsub label from which to extract record timestamps. + * If left empty, record timestamps will be generated upon arrival. + */ + timestampLabel?: string; + /** + * A pubsub topic, in the form of + * "pubsub.googleapis.com/topics/<project-id>/<topic-name>" + */ + topic?: string; + /** + * If set, specifies the pubsub subscription that will be used for tracking + * custom time timestamps for watermark estimation. + */ + trackingSubscription?: string; + /** + * If true, then the client has requested to get pubsub attributes. + */ + withAttributes?: boolean; + } + /** + * An instruction that reads records. Takes no inputs, produces one output. + */ + interface Schema$ReadInstruction { + /** + * The source to read from. + */ + source?: Schema$Source; + } + /** + * Represents the level of parallelism in a WorkItem's input, reported by + * the worker. + */ + interface Schema$ReportedParallelism { + /** + * Specifies whether the parallelism is infinite. If true, "value" + * is ignored. Infinite parallelism means the service will assume that the + * work item can always be split into more non-empty work items by dynamic + * splitting. This is a work-around for lack of support for infinity by the + * current JSON-based Java RPC stack. + */ + isInfinite?: boolean; + /** + * Specifies the level of parallelism in case it is finite. + */ + value?: number; + } + /** + * Request to report the status of WorkItems. + */ + interface Schema$ReportWorkItemStatusRequest { + /** + * The current timestamp at the worker. + */ + currentWorkerTime?: string; + /** + * The location which contains the WorkItem's job. + */ + location?: string; + /** + * The ID of the worker reporting the WorkItem status. If this does not + * match the ID of the worker which the Dataflow service believes currently + * has the lease on the WorkItem, the report will be dropped (with an error + * response). + */ + workerId?: string; + /** + * The order is unimportant, except that the order of the + * WorkItemServiceState messages in the ReportWorkItemStatusResponse + * corresponds to the order of WorkItemStatus messages here. + */ + workItemStatuses?: Schema$WorkItemStatus[]; + } + /** + * Response from a request to report the status of WorkItems. + */ + interface Schema$ReportWorkItemStatusResponse { + /** + * A set of messages indicating the service-side state for each WorkItem + * whose status was reported, in the same order as the WorkItemStatus + * messages in the ReportWorkItemStatusRequest which resulting in this + * response. + */ + workItemServiceStates?: Schema$WorkItemServiceState[]; + } + /** + * Worker metrics exported from workers. This contains resource utilization + * metrics accumulated from a variety of sources. For more information, see + * go/df-resource-signals. + */ + interface Schema$ResourceUtilizationReport { + /** + * CPU utilization samples. + */ + cpuTime?: Schema$CPUTime[]; + } + /** + * Service-side response to WorkerMessage reporting resource utilization. + */ + interface Schema$ResourceUtilizationReportResponse { + } + /** + * The environment values to set at runtime. + */ + interface Schema$RuntimeEnvironment { + /** + * Additional experiment flags for the job. + */ + additionalExperiments?: string[]; + /** + * Whether to bypass the safety checks for the job's temporary + * directory. Use with caution. + */ + bypassTempDirValidation?: boolean; + /** + * The machine type to use for the job. Defaults to the value from the + * template if not specified. + */ + machineType?: string; + /** + * The maximum number of Google Compute Engine instances to be made + * available to your pipeline during execution, from 1 to 1000. + */ + maxWorkers?: number; + /** + * Network to which VMs will be assigned. If empty or unspecified, the + * service will use the network "default". + */ + network?: string; + /** + * The email address of the service account to run the job as. + */ + serviceAccountEmail?: string; + /** + * Subnetwork to which VMs will be assigned, if desired. Expected to be of + * the form "regions/REGION/subnetworks/SUBNETWORK". + */ + subnetwork?: string; + /** + * The Cloud Storage path to use for temporary files. Must be a valid Cloud + * Storage URL, beginning with `gs://`. + */ + tempLocation?: string; + /** + * The Compute Engine [availability + * zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones) + * for launching worker instances to run your pipeline. + */ + zone?: string; + } + /** + * The version of the SDK used to run the jobl + */ + interface Schema$SdkVersion { + /** + * The support status for this SDK version. + */ + sdkSupportStatus?: string; + /** + * The version of the SDK used to run the job. + */ + version?: string; + /** + * A readable string describing the version of the sdk. + */ + versionDisplayName?: string; + } + /** + * Request to send encoded debug information. + */ + interface Schema$SendDebugCaptureRequest { + /** + * The internal component id for which debug information is sent. + */ + componentId?: string; + /** + * The encoded debug information. + */ + data?: string; + /** + * The location which contains the job specified by job_id. + */ + location?: string; + /** + * The worker id, i.e., VM hostname. + */ + workerId?: string; + } + /** + * Response to a send capture request. nothing + */ + interface Schema$SendDebugCaptureResponse { + } + /** + * A request for sending worker messages to the service. + */ + interface Schema$SendWorkerMessagesRequest { + /** + * The location which contains the job + */ + location?: string; + /** + * The WorkerMessages to send. + */ + workerMessages?: Schema$WorkerMessage[]; + } + /** + * The response to the worker messages. + */ + interface Schema$SendWorkerMessagesResponse { + /** + * The servers response to the worker messages. + */ + workerMessageResponses?: Schema$WorkerMessageResponse[]; + } + /** + * Describes a particular function to invoke. + */ + interface Schema$SeqMapTask { + /** + * Information about each of the inputs. + */ + inputs?: Schema$SideInputInfo[]; + /** + * The user-provided name of the SeqDo operation. + */ + name?: string; + /** + * Information about each of the outputs. + */ + outputInfos?: Schema$SeqMapTaskOutputInfo[]; + /** + * System-defined name of the stage containing the SeqDo operation. Unique + * across the workflow. + */ + stageName?: string; + /** + * System-defined name of the SeqDo operation. Unique across the workflow. + */ + systemName?: string; + /** + * The user function to invoke. + */ + userFn?: any; + } + /** + * Information about an output of a SeqMapTask. + */ + interface Schema$SeqMapTaskOutputInfo { + /** + * The sink to write the output value to. + */ + sink?: Schema$Sink; + /** + * The id of the TupleTag the user code will tag the output value by. + */ + tag?: string; + } + /** + * A task which consists of a shell command for the worker to execute. + */ + interface Schema$ShellTask { + /** + * The shell command to run. + */ + command?: string; + /** + * Exit code for the task. + */ + exitCode?: number; + } + /** + * Information about a side input of a DoFn or an input of a SeqDoFn. + */ + interface Schema$SideInputInfo { + /** + * How to interpret the source element(s) as a side input value. + */ + kind?: any; + /** + * The source(s) to read element(s) from to get the value of this side + * input. If more than one source, then the elements are taken from the + * sources, in the specified order if order matters. At least one source is + * required. + */ + sources?: Schema$Source[]; + /** + * The id of the tag the user code will access this side input by; this + * should correspond to the tag of some MultiOutputInfo. + */ + tag?: string; + } + /** + * A sink that records can be encoded and written to. + */ + interface Schema$Sink { + /** + * The codec to use to encode data written to the sink. + */ + codec?: any; + /** + * The sink to write to, plus its parameters. + */ + spec?: any; + } + /** + * A source that records can be read and decoded from. + */ + interface Schema$Source { + /** + * While splitting, sources may specify the produced bundles as differences + * against another source, in order to save backend-side memory and allow + * bigger jobs. For details, see SourceSplitRequest. To support this use + * case, the full set of parameters of the source is logically obtained by + * taking the latest explicitly specified value of each parameter in the + * order: base_specs (later items win), spec (overrides anything in + * base_specs). + */ + baseSpecs?: any[]; + /** + * The codec to use to decode data read from the source. + */ + codec?: any; + /** + * Setting this value to true hints to the framework that the source + * doesn't need splitting, and using SourceSplitRequest on it would + * yield SOURCE_SPLIT_OUTCOME_USE_CURRENT. E.g. a file splitter may set + * this to true when splitting a single file into a set of byte ranges of + * appropriate size, and set this to false when splitting a filepattern into + * individual files. However, for efficiency, a file splitter may decide to + * produce file subranges directly from the filepattern to avoid a splitting + * round-trip. See SourceSplitRequest for an overview of the splitting + * process. This field is meaningful only in the Source objects populated + * by the user (e.g. when filling in a DerivedSource). Source objects + * supplied by the framework to the user don't have this field + * populated. + */ + doesNotNeedSplitting?: boolean; + /** + * Optionally, metadata for this source can be supplied right away, avoiding + * a SourceGetMetadataOperation roundtrip (see SourceOperationRequest). This + * field is meaningful only in the Source objects populated by the user + * (e.g. when filling in a DerivedSource). Source objects supplied by the + * framework to the user don't have this field populated. + */ + metadata?: Schema$SourceMetadata; + /** + * The source to read from, plus its parameters. + */ + spec?: any; + } + /** + * DEPRECATED in favor of DynamicSourceSplit. + */ + interface Schema$SourceFork { + /** + * DEPRECATED + */ + primary?: Schema$SourceSplitShard; + /** + * DEPRECATED + */ + primarySource?: Schema$DerivedSource; + /** + * DEPRECATED + */ + residual?: Schema$SourceSplitShard; + /** + * DEPRECATED + */ + residualSource?: Schema$DerivedSource; + } + /** + * A request to compute the SourceMetadata of a Source. + */ + interface Schema$SourceGetMetadataRequest { + /** + * Specification of the source whose metadata should be computed. + */ + source?: Schema$Source; + } + /** + * The result of a SourceGetMetadataOperation. + */ + interface Schema$SourceGetMetadataResponse { + /** + * The computed metadata. + */ + metadata?: Schema$SourceMetadata; + } + /** + * Metadata about a Source useful for automatically optimizing and tuning the + * pipeline, etc. + */ + interface Schema$SourceMetadata { + /** + * An estimate of the total size (in bytes) of the data that would be read + * from this source. This estimate is in terms of external storage size, + * before any decompression or other processing done by the reader. + */ + estimatedSizeBytes?: string; + /** + * Specifies that the size of this source is known to be infinite (this is a + * streaming source). + */ + infinite?: boolean; + /** + * Whether this source is known to produce key/value pairs with the + * (encoded) keys in lexicographically sorted order. + */ + producesSortedKeys?: boolean; + } + /** + * A work item that represents the different operations that can be performed + * on a user-defined Source specification. + */ + interface Schema$SourceOperationRequest { + /** + * Information about a request to get metadata about a source. + */ + getMetadata?: Schema$SourceGetMetadataRequest; + /** + * User-provided name of the Read instruction for this source. + */ + name?: string; + /** + * System-defined name for the Read instruction for this source in the + * original workflow graph. + */ + originalName?: string; + /** + * Information about a request to split a source. + */ + split?: Schema$SourceSplitRequest; + /** + * System-defined name of the stage containing the source operation. Unique + * across the workflow. + */ + stageName?: string; + /** + * System-defined name of the Read instruction for this source. Unique + * across the workflow. + */ + systemName?: string; + } + /** + * The result of a SourceOperationRequest, specified in + * ReportWorkItemStatusRequest.source_operation when the work item is + * completed. + */ + interface Schema$SourceOperationResponse { + /** + * A response to a request to get metadata about a source. + */ + getMetadata?: Schema$SourceGetMetadataResponse; + /** + * A response to a request to split a source. + */ + split?: Schema$SourceSplitResponse; + } + /** + * Hints for splitting a Source into bundles (parts for parallel processing) + * using SourceSplitRequest. + */ + interface Schema$SourceSplitOptions { + /** + * The source should be split into a set of bundles where the estimated size + * of each is approximately this many bytes. + */ + desiredBundleSizeBytes?: string; + /** + * DEPRECATED in favor of desired_bundle_size_bytes. + */ + desiredShardSizeBytes?: string; + } + /** + * Represents the operation to split a high-level Source specification into + * bundles (parts for parallel processing). At a high level, splitting of a + * source into bundles happens as follows: SourceSplitRequest is applied to + * the source. If it returns SOURCE_SPLIT_OUTCOME_USE_CURRENT, no further + * splitting happens and the source is used "as is". Otherwise, + * splitting is applied recursively to each produced DerivedSource. As an + * optimization, for any Source, if its does_not_need_splitting is true, the + * framework assumes that splitting this source would return + * SOURCE_SPLIT_OUTCOME_USE_CURRENT, and doesn't initiate a + * SourceSplitRequest. This applies both to the initial source being split and + * to bundles produced from it. + */ + interface Schema$SourceSplitRequest { + /** + * Hints for tuning the splitting process. + */ + options?: Schema$SourceSplitOptions; + /** + * Specification of the source to be split. + */ + source?: Schema$Source; + } + /** + * The response to a SourceSplitRequest. + */ + interface Schema$SourceSplitResponse { + /** + * If outcome is SPLITTING_HAPPENED, then this is a list of bundles into + * which the source was split. Otherwise this field is ignored. This list + * can be empty, which means the source represents an empty input. + */ + bundles?: Schema$DerivedSource[]; + /** + * Indicates whether splitting happened and produced a list of bundles. If + * this is USE_CURRENT_SOURCE_AS_IS, the current source should be processed + * "as is" without splitting. "bundles" is ignored in + * this case. If this is SPLITTING_HAPPENED, then "bundles" + * contains a list of bundles into which the source was split. + */ + outcome?: string; + /** + * DEPRECATED in favor of bundles. + */ + shards?: Schema$SourceSplitShard[]; + } + /** + * DEPRECATED in favor of DerivedSource. + */ + interface Schema$SourceSplitShard { + /** + * DEPRECATED + */ + derivationMode?: string; + /** + * DEPRECATED + */ + source?: Schema$Source; + } + /** + * Metadata for a Spanner connector used by the job. + */ + interface Schema$SpannerIODetails { + /** + * DatabaseId accessed in the connection. + */ + databaseId?: string; + /** + * InstanceId accessed in the connection. + */ + instanceId?: string; + /** + * ProjectId accessed in the connection. + */ + projectId?: string; + } + /** + * A representation of an int64, n, that is immune to precision loss when + * encoded in JSON. + */ + interface Schema$SplitInt64 { + /** + * The high order bits, including the sign: n >> 32. + */ + highBits?: number; + /** + * The low order bits: n & 0xffffffff. + */ + lowBits?: number; + } + /** + * Description of an input or output of an execution stage. + */ + interface Schema$StageSource { + /** + * Dataflow service generated name for this source. + */ + name?: string; + /** + * User name for the original user transform or collection with which this + * source is most closely associated. + */ + originalTransformOrCollection?: string; + /** + * Size of the source, if measurable. + */ + sizeBytes?: string; + /** + * Human-readable name for this source; may be user or system generated. + */ + userName?: string; + } + /** + * State family configuration. + */ + interface Schema$StateFamilyConfig { + /** + * If true, this family corresponds to a read operation. + */ + isRead?: boolean; + /** + * The state family value. + */ + stateFamily?: string; + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + /** + * Defines a particular step within a Cloud Dataflow job. A job consists of + * multiple steps, each of which performs some specific operation as part of + * the overall job. Data is typically passed from one step to another as part + * of the job. Here's an example of a sequence of steps which together + * implement a Map-Reduce job: * Read a collection of data from some + * source, parsing the collection's elements. * Validate the + * elements. * Apply a user-defined function to map each element to some + * value and extract an element-specific key value. * Group elements + * with the same key into a single element with that key, transforming a + * multiply-keyed collection into a uniquely-keyed collection. * Write + * the elements out to some data sink. Note that the Cloud Dataflow service + * may be used to run many different types of jobs, not just Map-Reduce. + */ + interface Schema$Step { + /** + * The kind of step in the Cloud Dataflow job. + */ + kind?: string; + /** + * The name that identifies the step. This must be unique for each step with + * respect to all other steps in the Cloud Dataflow job. + */ + name?: string; + /** + * Named properties associated with the step. Each kind of predefined step + * has its own required set of properties. Must be provided on Create. Only + * retrieved with JOB_VIEW_ALL. + */ + properties?: any; + } + /** + * Configuration information for a single streaming computation. + */ + interface Schema$StreamingComputationConfig { + /** + * Unique identifier for this computation. + */ + computationId?: string; + /** + * Instructions that comprise the computation. + */ + instructions?: Schema$ParallelInstruction[]; + /** + * Stage name of this computation. + */ + stageName?: string; + /** + * System defined name for this computation. + */ + systemName?: string; + } + /** + * Describes full or partial data disk assignment information of the + * computation ranges. + */ + interface Schema$StreamingComputationRanges { + /** + * The ID of the computation. + */ + computationId?: string; + /** + * Data disk assignments for ranges from this computation. + */ + rangeAssignments?: Schema$KeyRangeDataDiskAssignment[]; + } + /** + * A task which describes what action should be performed for the specified + * streaming computation ranges. + */ + interface Schema$StreamingComputationTask { + /** + * Contains ranges of a streaming computation this task should apply to. + */ + computationRanges?: Schema$StreamingComputationRanges[]; + /** + * Describes the set of data disks this task should apply to. + */ + dataDisks?: Schema$MountedDataDisk[]; + /** + * A type of streaming computation task. + */ + taskType?: string; + } + /** + * A task that carries configuration information for streaming computations. + */ + interface Schema$StreamingConfigTask { + /** + * Set of computation configuration information. + */ + streamingComputationConfigs?: Schema$StreamingComputationConfig[]; + /** + * Map from user step names to state families. + */ + userStepToStateFamilyNameMap?: any; + /** + * If present, the worker must use this endpoint to communicate with + * Windmill Service dispatchers, otherwise the worker must continue to use + * whatever endpoint it had been using. + */ + windmillServiceEndpoint?: string; + /** + * If present, the worker must use this port to communicate with Windmill + * Service dispatchers. Only applicable when windmill_service_endpoint is + * specified. + */ + windmillServicePort?: string; + } + /** + * A task which initializes part of a streaming Dataflow job. + */ + interface Schema$StreamingSetupTask { + /** + * The user has requested drain. + */ + drain?: boolean; + /** + * The TCP port on which the worker should listen for messages from other + * streaming computation workers. + */ + receiveWorkPort?: number; + /** + * The global topology of the streaming Dataflow job. + */ + streamingComputationTopology?: Schema$TopologyConfig; + /** + * The TCP port used by the worker to communicate with the Dataflow worker + * harness. + */ + workerHarnessPort?: number; + } + /** + * Identifies the location of a streaming side input. + */ + interface Schema$StreamingSideInputLocation { + /** + * Identifies the state family where this side input is stored. + */ + stateFamily?: string; + /** + * Identifies the particular side input within the streaming Dataflow job. + */ + tag?: string; + } + /** + * Identifies the location of a streaming computation stage, for + * stage-to-stage communication. + */ + interface Schema$StreamingStageLocation { + /** + * Identifies the particular stream within the streaming Dataflow job. + */ + streamId?: string; + } + /** + * Describes a stream of data, either as input to be processed or as output of + * a streaming Dataflow job. + */ + interface Schema$StreamLocation { + /** + * The stream is a custom source. + */ + customSourceLocation?: Schema$CustomSourceLocation; + /** + * The stream is a pubsub stream. + */ + pubsubLocation?: Schema$PubsubLocation; + /** + * The stream is a streaming side input. + */ + sideInputLocation?: Schema$StreamingSideInputLocation; + /** + * The stream is part of another computation within the current streaming + * Dataflow job. + */ + streamingStageLocation?: Schema$StreamingStageLocation; + } + /** + * A metric value representing a list of strings. + */ + interface Schema$StringList { + /** + * Elements of the list. + */ + elements?: string[]; + } + /** + * A rich message format, including a human readable string, a key for + * identifying the message, and structured data associated with the message + * for programmatic consumption. + */ + interface Schema$StructuredMessage { + /** + * Idenfier for this message type. Used by external systems to + * internationalize or personalize message. + */ + messageKey?: string; + /** + * Human-readable version of message. + */ + messageText?: string; + /** + * The structured data associated with this message. + */ + parameters?: Schema$Parameter[]; + } + /** + * Taskrunner configuration settings. + */ + interface Schema$TaskRunnerSettings { + /** + * Whether to also send taskrunner log info to stderr. + */ + alsologtostderr?: boolean; + /** + * The location on the worker for task-specific subdirectories. + */ + baseTaskDir?: string; + /** + * The base URL for the taskrunner to use when accessing Google Cloud APIs. + * When workers access Google Cloud APIs, they logically do so via relative + * URLs. If this field is specified, it supplies the base URL to use for + * resolving these relative URLs. The normative algorithm used is defined + * by RFC 1808, "Relative Uniform Resource Locators". If not + * specified, the default value is "http://www.googleapis.com/" + */ + baseUrl?: string; + /** + * The file to store preprocessing commands in. + */ + commandlinesFileName?: string; + /** + * Whether to continue taskrunner if an exception is hit. + */ + continueOnException?: boolean; + /** + * The API version of endpoint, e.g. "v1b3" + */ + dataflowApiVersion?: string; + /** + * The command to launch the worker harness. + */ + harnessCommand?: string; + /** + * The suggested backend language. + */ + languageHint?: string; + /** + * The directory on the VM to store logs. + */ + logDir?: string; + /** + * Whether to send taskrunner log info to Google Compute Engine VM serial + * console. + */ + logToSerialconsole?: boolean; + /** + * Indicates where to put logs. If this is not specified, the logs will not + * be uploaded. The supported resource type is: Google Cloud Storage: + * storage.googleapis.com/{bucket}/{object} + * bucket.storage.googleapis.com/{object} + */ + logUploadLocation?: string; + /** + * The OAuth2 scopes to be requested by the taskrunner in order to access + * the Cloud Dataflow API. + */ + oauthScopes?: string[]; + /** + * The settings to pass to the parallel worker harness. + */ + parallelWorkerSettings?: Schema$WorkerSettings; + /** + * The streaming worker main class name. + */ + streamingWorkerMainClass?: string; + /** + * The UNIX group ID on the worker VM to use for tasks launched by + * taskrunner; e.g. "wheel". + */ + taskGroup?: string; + /** + * The UNIX user ID on the worker VM to use for tasks launched by + * taskrunner; e.g. "root". + */ + taskUser?: string; + /** + * The prefix of the resources the taskrunner should use for temporary + * storage. The supported resource type is: Google Cloud Storage: + * storage.googleapis.com/{bucket}/{object} + * bucket.storage.googleapis.com/{object} + */ + tempStoragePrefix?: string; + /** + * The ID string of the VM. + */ + vmId?: string; + /** + * The file to store the workflow in. + */ + workflowFileName?: string; + } + /** + * Metadata describing a template. + */ + interface Schema$TemplateMetadata { + /** + * Optional. A description of the template. + */ + description?: string; + /** + * Required. The name of the template. + */ + name?: string; + /** + * The parameters for the template. + */ + parameters?: Schema$ParameterMetadata[]; + } + /** + * Global topology of the streaming Dataflow job, including all computations + * and their sharded locations. + */ + interface Schema$TopologyConfig { + /** + * The computations associated with a streaming Dataflow job. + */ + computations?: Schema$ComputationTopology[]; + /** + * The disks assigned to a streaming Dataflow job. + */ + dataDiskAssignments?: Schema$DataDiskAssignment[]; + /** + * The size (in bits) of keys that will be assigned to source messages. + */ + forwardingKeyBits?: number; + /** + * Version number for persistent state. + */ + persistentStateVersion?: number; + /** + * Maps user stage names to stable computation names. + */ + userStageToComputationNameMap?: any; + } + /** + * Description of the type, names/ids, and input/outputs for a transform. + */ + interface Schema$TransformSummary { + /** + * Transform-specific display data. + */ + displayData?: Schema$DisplayData[]; + /** + * SDK generated id of this transform instance. + */ + id?: string; + /** + * User names for all collection inputs to this transform. + */ + inputCollectionName?: string[]; + /** + * Type of transform. + */ + kind?: string; + /** + * User provided name for this transform instance. + */ + name?: string; + /** + * User names for all collection outputs to this transform. + */ + outputCollectionName?: string[]; + } + /** + * WorkerHealthReport contains information about the health of a worker. The + * VM should be identified by the labels attached to the WorkerMessage that + * this health ping belongs to. + */ + interface Schema$WorkerHealthReport { + /** + * The pods running on the worker. See: + * http://kubernetes.io/v1.1/docs/api-reference/v1/definitions.html#_v1_pod + * This field is used by the worker to send the status of the indvidual + * containers running on each worker. + */ + pods?: any[]; + /** + * The interval at which the worker is sending health reports. The default + * value of 0 should be interpreted as the field is not being explicitly set + * by the worker. + */ + reportInterval?: string; + /** + * Whether the VM is healthy. + */ + vmIsHealthy?: boolean; + /** + * The time the VM was booted. + */ + vmStartupTime?: string; + } + /** + * WorkerHealthReportResponse contains information returned to the worker in + * response to a health ping. + */ + interface Schema$WorkerHealthReportResponse { + /** + * A positive value indicates the worker should change its reporting + * interval to the specified value. The default value of zero means no + * change in report rate is requested by the server. + */ + reportInterval?: string; + } + /** + * A report of an event in a worker's lifecycle. The proto contains one + * event, because the worker is expected to asynchronously send each message + * immediately after the event. Due to this asynchrony, messages may arrive + * out of order (or missing), and it is up to the consumer to interpret. The + * timestamp of the event is in the enclosing WorkerMessage proto. + */ + interface Schema$WorkerLifecycleEvent { + /** + * The start time of this container. All events will report this so that + * events can be grouped together across container/VM restarts. + */ + containerStartTime?: string; + /** + * The event being reported. + */ + event?: string; + /** + * Other stats that can accompany an event. E.g. { + * "downloaded_bytes" : "123456" } + */ + metadata?: any; + } + /** + * WorkerMessage provides information to the backend about a worker. + */ + interface Schema$WorkerMessage { + /** + * Labels are used to group WorkerMessages. For example, a worker_message + * about a particular container might have the labels: { "JOB_ID": + * "2015-04-22", "WORKER_ID": + * "wordcount-vm-2015…" "CONTAINER_TYPE": + * "worker", "CONTAINER_ID": "ac1234def"} + * Label tags typically correspond to Label enum values. However, for ease + * of development other strings can be used as tags. LABEL_UNSPECIFIED + * should not be used here. + */ + labels?: any; + /** + * The timestamp of the worker_message. + */ + time?: string; + /** + * The health of a worker. + */ + workerHealthReport?: Schema$WorkerHealthReport; + /** + * Record of worker lifecycle events. + */ + workerLifecycleEvent?: Schema$WorkerLifecycleEvent; + /** + * A worker message code. + */ + workerMessageCode?: Schema$WorkerMessageCode; + /** + * Resource metrics reported by workers. + */ + workerMetrics?: Schema$ResourceUtilizationReport; + /** + * Shutdown notice by workers. + */ + workerShutdownNotice?: Schema$WorkerShutdownNotice; + } + /** + * A message code is used to report status and error messages to the service. + * The message codes are intended to be machine readable. The service will + * take care of translating these into user understandable messages if + * necessary. Example use cases: 1. Worker processes reporting successful + * startup. 2. Worker processes reporting specific errors (e.g. package + * staging failure). + */ + interface Schema$WorkerMessageCode { + /** + * The code is a string intended for consumption by a machine that + * identifies the type of message being sent. Examples: 1. + * "HARNESS_STARTED" might be used to indicate the worker harness + * has started. 2. "GCS_DOWNLOAD_ERROR" might be used to + * indicate an error downloading a GCS file as part of the boot process + * of one of the worker containers. This is a string and not an enum to + * make it easy to add new codes without waiting for an API change. + */ + code?: string; + /** + * Parameters contains specific information about the code. This is a + * struct to allow parameters of different types. Examples: 1. For a + * "HARNESS_STARTED" message parameters might provide the name of + * the worker and additional data like timing information. 2. For a + * "GCS_DOWNLOAD_ERROR" parameters might contain fields listing + * the GCS objects being downloaded and fields containing errors. In + * general complex data structures should be avoided. If a worker needs to + * send a specific and complicated data structure then please consider + * defining a new proto and adding it to the data oneof in + * WorkerMessageResponse. Conventions: Parameters should only be used for + * information that isn't typically passed as a label. hostname and + * other worker identifiers should almost always be passed as labels since + * they will be included on most messages. + */ + parameters?: any; + } + /** + * A worker_message response allows the server to pass information to the + * sender. + */ + interface Schema$WorkerMessageResponse { + /** + * The service's response to a worker's health report. + */ + workerHealthReportResponse?: Schema$WorkerHealthReportResponse; + /** + * Service's response to reporting worker metrics (currently empty). + */ + workerMetricsResponse?: Schema$ResourceUtilizationReportResponse; + /** + * Service's response to shutdown notice (currently empty). + */ + workerShutdownNoticeResponse?: Schema$WorkerShutdownNoticeResponse; + } + /** + * Describes one particular pool of Cloud Dataflow workers to be instantiated + * by the Cloud Dataflow service in order to perform the computations required + * by a job. Note that a workflow job may use multiple pools, in order to + * match the various computational requirements of the various stages of the + * job. + */ + interface Schema$WorkerPool { + /** + * Settings for autoscaling of this WorkerPool. + */ + autoscalingSettings?: Schema$AutoscalingSettings; + /** + * Data disks that are used by a VM in this workflow. + */ + dataDisks?: Schema$Disk[]; + /** + * The default package set to install. This allows the service to select a + * default set of packages which are useful to worker harnesses written in a + * particular language. + */ + defaultPackageSet?: string; + /** + * Size of root disk for VMs, in GB. If zero or unspecified, the service + * will attempt to choose a reasonable default. + */ + diskSizeGb?: number; + /** + * Fully qualified source image for disks. + */ + diskSourceImage?: string; + /** + * Type of root disk for VMs. If empty or unspecified, the service will + * attempt to choose a reasonable default. + */ + diskType?: string; + /** + * Configuration for VM IPs. + */ + ipConfiguration?: string; + /** + * The kind of the worker pool; currently only `harness` and `shuffle` are + * supported. + */ + kind?: string; + /** + * Machine type (e.g. "n1-standard-1"). If empty or unspecified, + * the service will attempt to choose a reasonable default. + */ + machineType?: string; + /** + * Metadata to set on the Google Compute Engine VMs. + */ + metadata?: any; + /** + * Network to which VMs will be assigned. If empty or unspecified, the + * service will use the network "default". + */ + network?: string; + /** + * The number of threads per worker harness. If empty or unspecified, the + * service will choose a number of threads (according to the number of cores + * on the selected machine type for batch, or 1 by convention for + * streaming). + */ + numThreadsPerWorker?: number; + /** + * Number of Google Compute Engine workers in this pool needed to execute + * the job. If zero or unspecified, the service will attempt to choose a + * reasonable default. + */ + numWorkers?: number; + /** + * The action to take on host maintenance, as defined by the Google Compute + * Engine API. + */ + onHostMaintenance?: string; + /** + * Packages to be installed on workers. + */ + packages?: Schema$Package[]; + /** + * Extra arguments for this worker pool. + */ + poolArgs?: any; + /** + * Subnetwork to which VMs will be assigned, if desired. Expected to be of + * the form "regions/REGION/subnetworks/SUBNETWORK". + */ + subnetwork?: string; + /** + * Settings passed through to Google Compute Engine workers when using the + * standard Dataflow task runner. Users should ignore this field. + */ + taskrunnerSettings?: Schema$TaskRunnerSettings; + /** + * Sets the policy for determining when to turndown worker pool. Allowed + * values are: `TEARDOWN_ALWAYS`, `TEARDOWN_ON_SUCCESS`, and + * `TEARDOWN_NEVER`. `TEARDOWN_ALWAYS` means workers are always torn down + * regardless of whether the job succeeds. `TEARDOWN_ON_SUCCESS` means + * workers are torn down if the job succeeds. `TEARDOWN_NEVER` means the + * workers are never torn down. If the workers are not torn down by the + * service, they will continue to run and use Google Compute Engine VM + * resources in the user's project until they are explicitly terminated + * by the user. Because of this, Google recommends using the + * `TEARDOWN_ALWAYS` policy except for small, manually supervised test jobs. + * If unknown or unspecified, the service will attempt to choose a + * reasonable default. + */ + teardownPolicy?: string; + /** + * Required. Docker container image that executes the Cloud Dataflow worker + * harness, residing in Google Container Registry. + */ + workerHarnessContainerImage?: string; + /** + * Zone to run the worker pools in. If empty or unspecified, the service + * will attempt to choose a reasonable default. + */ + zone?: string; + } + /** + * Provides data to pass through to the worker harness. + */ + interface Schema$WorkerSettings { + /** + * The base URL for accessing Google Cloud APIs. When workers access Google + * Cloud APIs, they logically do so via relative URLs. If this field is + * specified, it supplies the base URL to use for resolving these relative + * URLs. The normative algorithm used is defined by RFC 1808, + * "Relative Uniform Resource Locators". If not specified, the + * default value is "http://www.googleapis.com/" + */ + baseUrl?: string; + /** + * Whether to send work progress updates to the service. + */ + reportingEnabled?: boolean; + /** + * The Cloud Dataflow service path relative to the root URL, for example, + * "dataflow/v1b3/projects". + */ + servicePath?: string; + /** + * The Shuffle service path relative to the root URL, for example, + * "shuffle/v1beta1". + */ + shuffleServicePath?: string; + /** + * The prefix of the resources the system should use for temporary storage. + * The supported resource type is: Google Cloud Storage: + * storage.googleapis.com/{bucket}/{object} + * bucket.storage.googleapis.com/{object} + */ + tempStoragePrefix?: string; + /** + * The ID of the worker running this pipeline. + */ + workerId?: string; + } + /** + * Shutdown notification from workers. This is to be sent by the shutdown + * script of the worker VM so that the backend knows that the VM is being shut + * down. + */ + interface Schema$WorkerShutdownNotice { + /** + * The reason for the worker shutdown. Current possible values are: + * "UNKNOWN": shutdown reason is unknown. "PREEMPTION": + * shutdown reason is preemption. Other possible reasons may be added in the + * future. + */ + reason?: string; + } + /** + * Service-side response to WorkerMessage issuing shutdown notice. + */ + interface Schema$WorkerShutdownNoticeResponse { + } + /** + * WorkItem represents basic information about a WorkItem to be executed in + * the cloud. + */ + interface Schema$WorkItem { + /** + * Work item-specific configuration as an opaque blob. + */ + configuration?: string; + /** + * Identifies this WorkItem. + */ + id?: string; + /** + * The initial index to use when reporting the status of the WorkItem. + */ + initialReportIndex?: string; + /** + * Identifies the workflow job this WorkItem belongs to. + */ + jobId?: string; + /** + * Time when the lease on this Work will expire. + */ + leaseExpireTime?: string; + /** + * Additional information for MapTask WorkItems. + */ + mapTask?: Schema$MapTask; + /** + * Any required packages that need to be fetched in order to execute this + * WorkItem. + */ + packages?: Schema$Package[]; + /** + * Identifies the cloud project this WorkItem belongs to. + */ + projectId?: string; + /** + * Recommended reporting interval. + */ + reportStatusInterval?: string; + /** + * Additional information for SeqMapTask WorkItems. + */ + seqMapTask?: Schema$SeqMapTask; + /** + * Additional information for ShellTask WorkItems. + */ + shellTask?: Schema$ShellTask; + /** + * Additional information for source operation WorkItems. + */ + sourceOperationTask?: Schema$SourceOperationRequest; + /** + * Additional information for StreamingComputationTask WorkItems. + */ + streamingComputationTask?: Schema$StreamingComputationTask; + /** + * Additional information for StreamingConfigTask WorkItems. + */ + streamingConfigTask?: Schema$StreamingConfigTask; + /** + * Additional information for StreamingSetupTask WorkItems. + */ + streamingSetupTask?: Schema$StreamingSetupTask; + } + /** + * The Dataflow service's idea of the current state of a WorkItem being + * processed by a worker. + */ + interface Schema$WorkItemServiceState { + /** + * Other data returned by the service, specific to the particular worker + * harness. + */ + harnessData?: any; + /** + * Time at which the current lease will expire. + */ + leaseExpireTime?: string; + /** + * The short ids that workers should use in subsequent metric updates. + * Workers should strive to use short ids whenever possible, but it is ok to + * request the short_id again if a worker lost track of it (e.g. if the + * worker is recovering from a crash). NOTE: it is possible that the + * response may have short ids for a subset of the metrics. + */ + metricShortId?: Schema$MetricShortId[]; + /** + * The index value to use for the next report sent by the worker. Note: If + * the report call fails for whatever reason, the worker should reuse this + * index for subsequent report attempts. + */ + nextReportIndex?: string; + /** + * New recommended reporting interval. + */ + reportStatusInterval?: string; + /** + * The progress point in the WorkItem where the Dataflow service suggests + * that the worker truncate the task. + */ + splitRequest?: Schema$ApproximateSplitRequest; + /** + * DEPRECATED in favor of split_request. + */ + suggestedStopPoint?: Schema$ApproximateProgress; + /** + * Obsolete, always empty. + */ + suggestedStopPosition?: Schema$Position; + } + /** + * Conveys a worker's progress through the work described by a WorkItem. + */ + interface Schema$WorkItemStatus { + /** + * True if the WorkItem was completed (successfully or unsuccessfully). + */ + completed?: boolean; + /** + * Worker output counters for this WorkItem. + */ + counterUpdates?: Schema$CounterUpdate[]; + /** + * See documentation of stop_position. + */ + dynamicSourceSplit?: Schema$DynamicSourceSplit; + /** + * Specifies errors which occurred during processing. If errors are + * provided, and completed = true, then the WorkItem is considered to have + * failed. + */ + errors?: Schema$Status[]; + /** + * DEPRECATED in favor of counter_updates. + */ + metricUpdates?: Schema$MetricUpdate[]; + /** + * DEPRECATED in favor of reported_progress. + */ + progress?: Schema$ApproximateProgress; + /** + * The worker's progress through this WorkItem. + */ + reportedProgress?: Schema$ApproximateReportedProgress; + /** + * The report index. When a WorkItem is leased, the lease will contain an + * initial report index. When a WorkItem's status is reported to the + * system, the report should be sent with that report index, and the + * response will contain the index the worker should use for the next + * report. Reports received with unexpected index values will be rejected + * by the service. In order to preserve idempotency, the worker should not + * alter the contents of a report, even if the worker must submit the same + * report multiple times before getting back a response. The worker should + * not submit a subsequent report until the response for the previous report + * had been received from the service. + */ + reportIndex?: string; + /** + * Amount of time the worker requests for its lease. + */ + requestedLeaseDuration?: string; + /** + * DEPRECATED in favor of dynamic_source_split. + */ + sourceFork?: Schema$SourceFork; + /** + * If the work item represented a SourceOperationRequest, and the work is + * completed, contains the result of the operation. + */ + sourceOperationResponse?: Schema$SourceOperationResponse; + /** + * A worker may split an active map task in two parts, "primary" + * and "residual", continuing to process the primary part and + * returning the residual part into the pool of available work. This event + * is called a "dynamic split" and is critical to the dynamic work + * rebalancing feature. The two obtained sub-tasks are called + * "parts" of the split. The parts, if concatenated, must + * represent the same input as would be read by the current task if the + * split did not happen. The exact way in which the original task is + * decomposed into the two parts is specified either as a position + * demarcating them (stop_position), or explicitly as two DerivedSources, if + * this task consumes a user-defined source type (dynamic_source_split). The + * "current" task is adjusted as a result of the split: after a + * task with range [A, B) sends a stop_position update at C, its range is + * considered to be [A, C), e.g.: * Progress should be interpreted relative + * to the new range, e.g. "75% completed" means "75% of [A, + * C) completed" * The worker should interpret proposed_stop_position + * relative to the new range, e.g. "split at 68%" should be + * interpreted as "split at 68% of [A, C)". * If the worker + * chooses to split again using stop_position, only stop_positions in [A, + * C) will be accepted. * Etc. dynamic_source_split has similar semantics: + * e.g., if a task with source S splits using dynamic_source_split into {P, + * R} (where P and R must be together equivalent to S), then subsequent + * progress and proposed_stop_position should be interpreted relative to P, + * and in a potential subsequent dynamic_source_split into {P', R'}, + * P' and R' must be together equivalent to P, etc. + */ + stopPosition?: Schema$Position; + /** + * Total time the worker spent being throttled by external systems. + */ + totalThrottlerWaitTimeSeconds?: number; + /** + * Identifies the WorkItem. + */ + workItemId?: string; + } + /** + * An instruction that writes records. Takes one input, produces no outputs. + */ + interface Schema$WriteInstruction { + /** + * The input. + */ + input?: Schema$InstructionInput; + /** + * The sink to write to. + */ + sink?: Schema$Sink; + } + class Resource$Projects { + root: Dataflow; + jobs: Resource$Projects$Jobs; + locations: Resource$Projects$Locations; + templates: Resource$Projects$Templates; + constructor(root: Dataflow); + getRoot(): Dataflow; + /** + * dataflow.projects.workerMessages + * @desc Send a worker_message to the service. + * @alias dataflow.projects.workerMessages + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId The project to send the WorkerMessages to. + * @param {().SendWorkerMessagesRequest} 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 + */ + workerMessages(params?: Params$Resource$Projects$Workermessages, options?: MethodOptions): AxiosPromise; + workerMessages(params: Params$Resource$Projects$Workermessages, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + workerMessages(params: Params$Resource$Projects$Workermessages, callback: BodyResponseCallback): void; + workerMessages(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Workermessages { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The project to send the WorkerMessages to. + */ + projectId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SendWorkerMessagesRequest; + } + class Resource$Projects$Jobs { + root: Dataflow; + debug: Resource$Projects$Jobs$Debug; + messages: Resource$Projects$Jobs$Messages; + workItems: Resource$Projects$Jobs$Workitems; + constructor(root: Dataflow); + getRoot(): Dataflow; + /** + * dataflow.projects.jobs.aggregated + * @desc List the jobs of a project across all regions. + * @alias dataflow.projects.jobs.aggregated + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter The kind of filter to use. + * @param {string=} params.location The location that contains this job. + * @param {integer=} params.pageSize If there are many jobs, limit response to at most this many. The actual number of jobs returned will be the lesser of max_responses and an unspecified server-defined limit. + * @param {string=} params.pageToken Set this to the 'next_page_token' field of a previous response to request additional results in a long list. + * @param {string} params.projectId The project which owns the jobs. + * @param {string=} params.view Level of information requested in response. Default is `JOB_VIEW_SUMMARY`. + * @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 + */ + aggregated(params?: Params$Resource$Projects$Jobs$Aggregated, options?: MethodOptions): AxiosPromise; + aggregated(params: Params$Resource$Projects$Jobs$Aggregated, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregated(params: Params$Resource$Projects$Jobs$Aggregated, callback: BodyResponseCallback): void; + aggregated(callback: BodyResponseCallback): void; + /** + * dataflow.projects.jobs.create + * @desc Creates a Cloud Dataflow job. + * @alias dataflow.projects.jobs.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.location The location that contains this job. + * @param {string} params.projectId The ID of the Cloud Platform project that the job belongs to. + * @param {string=} params.replaceJobId Deprecated. This field is now in the Job message. + * @param {string=} params.view The level of information requested in response. + * @param {().Job} 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 + */ + create(params?: Params$Resource$Projects$Jobs$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Jobs$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Jobs$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * dataflow.projects.jobs.get + * @desc Gets the state of the specified Cloud Dataflow job. + * @alias dataflow.projects.jobs.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.jobId The job ID. + * @param {string=} params.location The location that contains this job. + * @param {string} params.projectId The ID of the Cloud Platform project that the job belongs to. + * @param {string=} params.view The level of information requested in response. + * @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?: Params$Resource$Projects$Jobs$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Jobs$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Jobs$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dataflow.projects.jobs.getMetrics + * @desc Request the job status. + * @alias dataflow.projects.jobs.getMetrics + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.jobId The job to get messages for. + * @param {string=} params.location The location which contains the job specified by job_id. + * @param {string} params.projectId A project id. + * @param {string=} params.startTime Return only metric data that has changed since this time. Default is to return all information about all metrics for the job. + * @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 + */ + getMetrics(params?: Params$Resource$Projects$Jobs$Getmetrics, options?: MethodOptions): AxiosPromise; + getMetrics(params: Params$Resource$Projects$Jobs$Getmetrics, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getMetrics(params: Params$Resource$Projects$Jobs$Getmetrics, callback: BodyResponseCallback): void; + getMetrics(callback: BodyResponseCallback): void; + /** + * dataflow.projects.jobs.list + * @desc List the jobs of a project in a given region. + * @alias dataflow.projects.jobs.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter The kind of filter to use. + * @param {string=} params.location The location that contains this job. + * @param {integer=} params.pageSize If there are many jobs, limit response to at most this many. The actual number of jobs returned will be the lesser of max_responses and an unspecified server-defined limit. + * @param {string=} params.pageToken Set this to the 'next_page_token' field of a previous response to request additional results in a long list. + * @param {string} params.projectId The project which owns the jobs. + * @param {string=} params.view Level of information requested in response. Default is `JOB_VIEW_SUMMARY`. + * @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?: Params$Resource$Projects$Jobs$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Jobs$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Jobs$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dataflow.projects.jobs.update + * @desc Updates the state of an existing Cloud Dataflow job. + * @alias dataflow.projects.jobs.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.jobId The job ID. + * @param {string=} params.location The location that contains this job. + * @param {string} params.projectId The ID of the Cloud Platform project that the job belongs to. + * @param {().Job} 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?: Params$Resource$Projects$Jobs$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Projects$Jobs$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Projects$Jobs$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Jobs$Aggregated { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The kind of filter to use. + */ + filter?: string; + /** + * The location that contains this job. + */ + location?: string; + /** + * If there are many jobs, limit response to at most this many. The actual + * number of jobs returned will be the lesser of max_responses and an + * unspecified server-defined limit. + */ + pageSize?: number; + /** + * Set this to the 'next_page_token' field of a previous response to request + * additional results in a long list. + */ + pageToken?: string; + /** + * The project which owns the jobs. + */ + projectId?: string; + /** + * Level of information requested in response. Default is + * `JOB_VIEW_SUMMARY`. + */ + view?: string; + } + interface Params$Resource$Projects$Jobs$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The location that contains this job. + */ + location?: string; + /** + * The ID of the Cloud Platform project that the job belongs to. + */ + projectId?: string; + /** + * Deprecated. This field is now in the Job message. + */ + replaceJobId?: string; + /** + * The level of information requested in response. + */ + view?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Job; + } + interface Params$Resource$Projects$Jobs$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The job ID. + */ + jobId?: string; + /** + * The location that contains this job. + */ + location?: string; + /** + * The ID of the Cloud Platform project that the job belongs to. + */ + projectId?: string; + /** + * The level of information requested in response. + */ + view?: string; + } + interface Params$Resource$Projects$Jobs$Getmetrics { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The job to get messages for. + */ + jobId?: string; + /** + * The location which contains the job specified by job_id. + */ + location?: string; + /** + * A project id. + */ + projectId?: string; + /** + * Return only metric data that has changed since this time. Default is to + * return all information about all metrics for the job. + */ + startTime?: string; + } + interface Params$Resource$Projects$Jobs$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The kind of filter to use. + */ + filter?: string; + /** + * The location that contains this job. + */ + location?: string; + /** + * If there are many jobs, limit response to at most this many. The actual + * number of jobs returned will be the lesser of max_responses and an + * unspecified server-defined limit. + */ + pageSize?: number; + /** + * Set this to the 'next_page_token' field of a previous response to request + * additional results in a long list. + */ + pageToken?: string; + /** + * The project which owns the jobs. + */ + projectId?: string; + /** + * Level of information requested in response. Default is + * `JOB_VIEW_SUMMARY`. + */ + view?: string; + } + interface Params$Resource$Projects$Jobs$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The job ID. + */ + jobId?: string; + /** + * The location that contains this job. + */ + location?: string; + /** + * The ID of the Cloud Platform project that the job belongs to. + */ + projectId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Job; + } + class Resource$Projects$Jobs$Debug { + root: Dataflow; + constructor(root: Dataflow); + getRoot(): Dataflow; + /** + * dataflow.projects.jobs.debug.getConfig + * @desc Get encoded debug configuration for component. Not cacheable. + * @alias dataflow.projects.jobs.debug.getConfig + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.jobId The job id. + * @param {string} params.projectId The project id. + * @param {().GetDebugConfigRequest} 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 + */ + getConfig(params?: Params$Resource$Projects$Jobs$Debug$Getconfig, options?: MethodOptions): AxiosPromise; + getConfig(params: Params$Resource$Projects$Jobs$Debug$Getconfig, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getConfig(params: Params$Resource$Projects$Jobs$Debug$Getconfig, callback: BodyResponseCallback): void; + getConfig(callback: BodyResponseCallback): void; + /** + * dataflow.projects.jobs.debug.sendCapture + * @desc Send encoded debug capture data for component. + * @alias dataflow.projects.jobs.debug.sendCapture + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.jobId The job id. + * @param {string} params.projectId The project id. + * @param {().SendDebugCaptureRequest} 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 + */ + sendCapture(params?: Params$Resource$Projects$Jobs$Debug$Sendcapture, options?: MethodOptions): AxiosPromise; + sendCapture(params: Params$Resource$Projects$Jobs$Debug$Sendcapture, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + sendCapture(params: Params$Resource$Projects$Jobs$Debug$Sendcapture, callback: BodyResponseCallback): void; + sendCapture(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Jobs$Debug$Getconfig { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The job id. + */ + jobId?: string; + /** + * The project id. + */ + projectId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GetDebugConfigRequest; + } + interface Params$Resource$Projects$Jobs$Debug$Sendcapture { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The job id. + */ + jobId?: string; + /** + * The project id. + */ + projectId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SendDebugCaptureRequest; + } + class Resource$Projects$Jobs$Messages { + root: Dataflow; + constructor(root: Dataflow); + getRoot(): Dataflow; + /** + * dataflow.projects.jobs.messages.list + * @desc Request the job status. + * @alias dataflow.projects.jobs.messages.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.endTime Return only messages with timestamps < end_time. The default is now (i.e. return up to the latest messages available). + * @param {string} params.jobId The job to get messages about. + * @param {string=} params.location The location which contains the job specified by job_id. + * @param {string=} params.minimumImportance Filter to only get messages with importance >= level + * @param {integer=} params.pageSize If specified, determines the maximum number of messages to return. If unspecified, the service may choose an appropriate default, or may return an arbitrarily large number of results. + * @param {string=} params.pageToken If supplied, this should be the value of next_page_token returned by an earlier call. This will cause the next page of results to be returned. + * @param {string} params.projectId A project id. + * @param {string=} params.startTime If specified, return only messages with timestamps >= start_time. The default is the job creation time (i.e. beginning of messages). + * @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?: Params$Resource$Projects$Jobs$Messages$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Jobs$Messages$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Jobs$Messages$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Jobs$Messages$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Return only messages with timestamps < end_time. The default is now (i.e. + * return up to the latest messages available). + */ + endTime?: string; + /** + * The job to get messages about. + */ + jobId?: string; + /** + * The location which contains the job specified by job_id. + */ + location?: string; + /** + * Filter to only get messages with importance >= level + */ + minimumImportance?: string; + /** + * If specified, determines the maximum number of messages to return. If + * unspecified, the service may choose an appropriate default, or may return + * an arbitrarily large number of results. + */ + pageSize?: number; + /** + * If supplied, this should be the value of next_page_token returned by an + * earlier call. This will cause the next page of results to be returned. + */ + pageToken?: string; + /** + * A project id. + */ + projectId?: string; + /** + * If specified, return only messages with timestamps >= start_time. The + * default is the job creation time (i.e. beginning of messages). + */ + startTime?: string; + } + class Resource$Projects$Jobs$Workitems { + root: Dataflow; + constructor(root: Dataflow); + getRoot(): Dataflow; + /** + * dataflow.projects.jobs.workItems.lease + * @desc Leases a dataflow WorkItem to run. + * @alias dataflow.projects.jobs.workItems.lease + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.jobId Identifies the workflow job this worker belongs to. + * @param {string} params.projectId Identifies the project this worker belongs to. + * @param {().LeaseWorkItemRequest} 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 + */ + lease(params?: Params$Resource$Projects$Jobs$Workitems$Lease, options?: MethodOptions): AxiosPromise; + lease(params: Params$Resource$Projects$Jobs$Workitems$Lease, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + lease(params: Params$Resource$Projects$Jobs$Workitems$Lease, callback: BodyResponseCallback): void; + lease(callback: BodyResponseCallback): void; + /** + * dataflow.projects.jobs.workItems.reportStatus + * @desc Reports the status of dataflow WorkItems leased by a worker. + * @alias dataflow.projects.jobs.workItems.reportStatus + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.jobId The job which the WorkItem is part of. + * @param {string} params.projectId The project which owns the WorkItem's job. + * @param {().ReportWorkItemStatusRequest} 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 + */ + reportStatus(params?: Params$Resource$Projects$Jobs$Workitems$Reportstatus, options?: MethodOptions): AxiosPromise; + reportStatus(params: Params$Resource$Projects$Jobs$Workitems$Reportstatus, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + reportStatus(params: Params$Resource$Projects$Jobs$Workitems$Reportstatus, callback: BodyResponseCallback): void; + reportStatus(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Jobs$Workitems$Lease { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifies the workflow job this worker belongs to. + */ + jobId?: string; + /** + * Identifies the project this worker belongs to. + */ + projectId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$LeaseWorkItemRequest; + } + interface Params$Resource$Projects$Jobs$Workitems$Reportstatus { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The job which the WorkItem is part of. + */ + jobId?: string; + /** + * The project which owns the WorkItem's job. + */ + projectId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ReportWorkItemStatusRequest; + } + class Resource$Projects$Locations { + root: Dataflow; + jobs: Resource$Projects$Locations$Jobs; + templates: Resource$Projects$Locations$Templates; + constructor(root: Dataflow); + getRoot(): Dataflow; + /** + * dataflow.projects.locations.workerMessages + * @desc Send a worker_message to the service. + * @alias dataflow.projects.locations.workerMessages + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.location The location which contains the job + * @param {string} params.projectId The project to send the WorkerMessages to. + * @param {().SendWorkerMessagesRequest} 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 + */ + workerMessages(params?: Params$Resource$Projects$Locations$Workermessages, options?: MethodOptions): AxiosPromise; + workerMessages(params: Params$Resource$Projects$Locations$Workermessages, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + workerMessages(params: Params$Resource$Projects$Locations$Workermessages, callback: BodyResponseCallback): void; + workerMessages(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Workermessages { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The location which contains the job + */ + location?: string; + /** + * The project to send the WorkerMessages to. + */ + projectId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SendWorkerMessagesRequest; + } + class Resource$Projects$Locations$Jobs { + root: Dataflow; + debug: Resource$Projects$Locations$Jobs$Debug; + messages: Resource$Projects$Locations$Jobs$Messages; + workItems: Resource$Projects$Locations$Jobs$Workitems; + constructor(root: Dataflow); + getRoot(): Dataflow; + /** + * dataflow.projects.locations.jobs.create + * @desc Creates a Cloud Dataflow job. + * @alias dataflow.projects.locations.jobs.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.location The location that contains this job. + * @param {string} params.projectId The ID of the Cloud Platform project that the job belongs to. + * @param {string=} params.replaceJobId Deprecated. This field is now in the Job message. + * @param {string=} params.view The level of information requested in response. + * @param {().Job} 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 + */ + create(params?: Params$Resource$Projects$Locations$Jobs$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Locations$Jobs$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Locations$Jobs$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * dataflow.projects.locations.jobs.get + * @desc Gets the state of the specified Cloud Dataflow job. + * @alias dataflow.projects.locations.jobs.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.jobId The job ID. + * @param {string} params.location The location that contains this job. + * @param {string} params.projectId The ID of the Cloud Platform project that the job belongs to. + * @param {string=} params.view The level of information requested in response. + * @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?: Params$Resource$Projects$Locations$Jobs$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Locations$Jobs$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Locations$Jobs$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dataflow.projects.locations.jobs.getMetrics + * @desc Request the job status. + * @alias dataflow.projects.locations.jobs.getMetrics + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.jobId The job to get messages for. + * @param {string} params.location The location which contains the job specified by job_id. + * @param {string} params.projectId A project id. + * @param {string=} params.startTime Return only metric data that has changed since this time. Default is to return all information about all metrics for the job. + * @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 + */ + getMetrics(params?: Params$Resource$Projects$Locations$Jobs$Getmetrics, options?: MethodOptions): AxiosPromise; + getMetrics(params: Params$Resource$Projects$Locations$Jobs$Getmetrics, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getMetrics(params: Params$Resource$Projects$Locations$Jobs$Getmetrics, callback: BodyResponseCallback): void; + getMetrics(callback: BodyResponseCallback): void; + /** + * dataflow.projects.locations.jobs.list + * @desc List the jobs of a project in a given region. + * @alias dataflow.projects.locations.jobs.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter The kind of filter to use. + * @param {string} params.location The location that contains this job. + * @param {integer=} params.pageSize If there are many jobs, limit response to at most this many. The actual number of jobs returned will be the lesser of max_responses and an unspecified server-defined limit. + * @param {string=} params.pageToken Set this to the 'next_page_token' field of a previous response to request additional results in a long list. + * @param {string} params.projectId The project which owns the jobs. + * @param {string=} params.view Level of information requested in response. Default is `JOB_VIEW_SUMMARY`. + * @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?: Params$Resource$Projects$Locations$Jobs$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$Jobs$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$Jobs$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dataflow.projects.locations.jobs.update + * @desc Updates the state of an existing Cloud Dataflow job. + * @alias dataflow.projects.locations.jobs.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.jobId The job ID. + * @param {string} params.location The location that contains this job. + * @param {string} params.projectId The ID of the Cloud Platform project that the job belongs to. + * @param {().Job} 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?: Params$Resource$Projects$Locations$Jobs$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Projects$Locations$Jobs$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Projects$Locations$Jobs$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Jobs$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The location that contains this job. + */ + location?: string; + /** + * The ID of the Cloud Platform project that the job belongs to. + */ + projectId?: string; + /** + * Deprecated. This field is now in the Job message. + */ + replaceJobId?: string; + /** + * The level of information requested in response. + */ + view?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Job; + } + interface Params$Resource$Projects$Locations$Jobs$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The job ID. + */ + jobId?: string; + /** + * The location that contains this job. + */ + location?: string; + /** + * The ID of the Cloud Platform project that the job belongs to. + */ + projectId?: string; + /** + * The level of information requested in response. + */ + view?: string; + } + interface Params$Resource$Projects$Locations$Jobs$Getmetrics { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The job to get messages for. + */ + jobId?: string; + /** + * The location which contains the job specified by job_id. + */ + location?: string; + /** + * A project id. + */ + projectId?: string; + /** + * Return only metric data that has changed since this time. Default is to + * return all information about all metrics for the job. + */ + startTime?: string; + } + interface Params$Resource$Projects$Locations$Jobs$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The kind of filter to use. + */ + filter?: string; + /** + * The location that contains this job. + */ + location?: string; + /** + * If there are many jobs, limit response to at most this many. The actual + * number of jobs returned will be the lesser of max_responses and an + * unspecified server-defined limit. + */ + pageSize?: number; + /** + * Set this to the 'next_page_token' field of a previous response to request + * additional results in a long list. + */ + pageToken?: string; + /** + * The project which owns the jobs. + */ + projectId?: string; + /** + * Level of information requested in response. Default is + * `JOB_VIEW_SUMMARY`. + */ + view?: string; + } + interface Params$Resource$Projects$Locations$Jobs$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The job ID. + */ + jobId?: string; + /** + * The location that contains this job. + */ + location?: string; + /** + * The ID of the Cloud Platform project that the job belongs to. + */ + projectId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Job; + } + class Resource$Projects$Locations$Jobs$Debug { + root: Dataflow; + constructor(root: Dataflow); + getRoot(): Dataflow; + /** + * dataflow.projects.locations.jobs.debug.getConfig + * @desc Get encoded debug configuration for component. Not cacheable. + * @alias dataflow.projects.locations.jobs.debug.getConfig + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.jobId The job id. + * @param {string} params.location The location which contains the job specified by job_id. + * @param {string} params.projectId The project id. + * @param {().GetDebugConfigRequest} 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 + */ + getConfig(params?: Params$Resource$Projects$Locations$Jobs$Debug$Getconfig, options?: MethodOptions): AxiosPromise; + getConfig(params: Params$Resource$Projects$Locations$Jobs$Debug$Getconfig, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getConfig(params: Params$Resource$Projects$Locations$Jobs$Debug$Getconfig, callback: BodyResponseCallback): void; + getConfig(callback: BodyResponseCallback): void; + /** + * dataflow.projects.locations.jobs.debug.sendCapture + * @desc Send encoded debug capture data for component. + * @alias dataflow.projects.locations.jobs.debug.sendCapture + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.jobId The job id. + * @param {string} params.location The location which contains the job specified by job_id. + * @param {string} params.projectId The project id. + * @param {().SendDebugCaptureRequest} 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 + */ + sendCapture(params?: Params$Resource$Projects$Locations$Jobs$Debug$Sendcapture, options?: MethodOptions): AxiosPromise; + sendCapture(params: Params$Resource$Projects$Locations$Jobs$Debug$Sendcapture, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + sendCapture(params: Params$Resource$Projects$Locations$Jobs$Debug$Sendcapture, callback: BodyResponseCallback): void; + sendCapture(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Jobs$Debug$Getconfig { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The job id. + */ + jobId?: string; + /** + * The location which contains the job specified by job_id. + */ + location?: string; + /** + * The project id. + */ + projectId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GetDebugConfigRequest; + } + interface Params$Resource$Projects$Locations$Jobs$Debug$Sendcapture { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The job id. + */ + jobId?: string; + /** + * The location which contains the job specified by job_id. + */ + location?: string; + /** + * The project id. + */ + projectId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SendDebugCaptureRequest; + } + class Resource$Projects$Locations$Jobs$Messages { + root: Dataflow; + constructor(root: Dataflow); + getRoot(): Dataflow; + /** + * dataflow.projects.locations.jobs.messages.list + * @desc Request the job status. + * @alias dataflow.projects.locations.jobs.messages.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.endTime Return only messages with timestamps < end_time. The default is now (i.e. return up to the latest messages available). + * @param {string} params.jobId The job to get messages about. + * @param {string} params.location The location which contains the job specified by job_id. + * @param {string=} params.minimumImportance Filter to only get messages with importance >= level + * @param {integer=} params.pageSize If specified, determines the maximum number of messages to return. If unspecified, the service may choose an appropriate default, or may return an arbitrarily large number of results. + * @param {string=} params.pageToken If supplied, this should be the value of next_page_token returned by an earlier call. This will cause the next page of results to be returned. + * @param {string} params.projectId A project id. + * @param {string=} params.startTime If specified, return only messages with timestamps >= start_time. The default is the job creation time (i.e. beginning of messages). + * @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?: Params$Resource$Projects$Locations$Jobs$Messages$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$Jobs$Messages$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$Jobs$Messages$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Jobs$Messages$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Return only messages with timestamps < end_time. The default is now (i.e. + * return up to the latest messages available). + */ + endTime?: string; + /** + * The job to get messages about. + */ + jobId?: string; + /** + * The location which contains the job specified by job_id. + */ + location?: string; + /** + * Filter to only get messages with importance >= level + */ + minimumImportance?: string; + /** + * If specified, determines the maximum number of messages to return. If + * unspecified, the service may choose an appropriate default, or may return + * an arbitrarily large number of results. + */ + pageSize?: number; + /** + * If supplied, this should be the value of next_page_token returned by an + * earlier call. This will cause the next page of results to be returned. + */ + pageToken?: string; + /** + * A project id. + */ + projectId?: string; + /** + * If specified, return only messages with timestamps >= start_time. The + * default is the job creation time (i.e. beginning of messages). + */ + startTime?: string; + } + class Resource$Projects$Locations$Jobs$Workitems { + root: Dataflow; + constructor(root: Dataflow); + getRoot(): Dataflow; + /** + * dataflow.projects.locations.jobs.workItems.lease + * @desc Leases a dataflow WorkItem to run. + * @alias dataflow.projects.locations.jobs.workItems.lease + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.jobId Identifies the workflow job this worker belongs to. + * @param {string} params.location The location which contains the WorkItem's job. + * @param {string} params.projectId Identifies the project this worker belongs to. + * @param {().LeaseWorkItemRequest} 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 + */ + lease(params?: Params$Resource$Projects$Locations$Jobs$Workitems$Lease, options?: MethodOptions): AxiosPromise; + lease(params: Params$Resource$Projects$Locations$Jobs$Workitems$Lease, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + lease(params: Params$Resource$Projects$Locations$Jobs$Workitems$Lease, callback: BodyResponseCallback): void; + lease(callback: BodyResponseCallback): void; + /** + * dataflow.projects.locations.jobs.workItems.reportStatus + * @desc Reports the status of dataflow WorkItems leased by a worker. + * @alias dataflow.projects.locations.jobs.workItems.reportStatus + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.jobId The job which the WorkItem is part of. + * @param {string} params.location The location which contains the WorkItem's job. + * @param {string} params.projectId The project which owns the WorkItem's job. + * @param {().ReportWorkItemStatusRequest} 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 + */ + reportStatus(params?: Params$Resource$Projects$Locations$Jobs$Workitems$Reportstatus, options?: MethodOptions): AxiosPromise; + reportStatus(params: Params$Resource$Projects$Locations$Jobs$Workitems$Reportstatus, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + reportStatus(params: Params$Resource$Projects$Locations$Jobs$Workitems$Reportstatus, callback: BodyResponseCallback): void; + reportStatus(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Jobs$Workitems$Lease { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifies the workflow job this worker belongs to. + */ + jobId?: string; + /** + * The location which contains the WorkItem's job. + */ + location?: string; + /** + * Identifies the project this worker belongs to. + */ + projectId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$LeaseWorkItemRequest; + } + interface Params$Resource$Projects$Locations$Jobs$Workitems$Reportstatus { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The job which the WorkItem is part of. + */ + jobId?: string; + /** + * The location which contains the WorkItem's job. + */ + location?: string; + /** + * The project which owns the WorkItem's job. + */ + projectId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ReportWorkItemStatusRequest; + } + class Resource$Projects$Locations$Templates { + root: Dataflow; + constructor(root: Dataflow); + getRoot(): Dataflow; + /** + * dataflow.projects.locations.templates.create + * @desc Creates a Cloud Dataflow job from a template. + * @alias dataflow.projects.locations.templates.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.location The location to which to direct the request. + * @param {string} params.projectId Required. The ID of the Cloud Platform project that the job belongs to. + * @param {().CreateJobFromTemplateRequest} 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 + */ + create(params?: Params$Resource$Projects$Locations$Templates$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Locations$Templates$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Locations$Templates$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * dataflow.projects.locations.templates.get + * @desc Get the template associated with a template. + * @alias dataflow.projects.locations.templates.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.gcsPath Required. A Cloud Storage path to the template from which to create the job. Must be a valid Cloud Storage URL, beginning with `gs://`. + * @param {string} params.location The location to which to direct the request. + * @param {string} params.projectId Required. The ID of the Cloud Platform project that the job belongs to. + * @param {string=} params.view The view to retrieve. Defaults to METADATA_ONLY. + * @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?: Params$Resource$Projects$Locations$Templates$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Locations$Templates$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Locations$Templates$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dataflow.projects.locations.templates.launch + * @desc Launch a template. + * @alias dataflow.projects.locations.templates.launch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.gcsPath Required. A Cloud Storage path to the template from which to create the job. Must be valid Cloud Storage URL, beginning with 'gs://'. + * @param {string} params.location The location to which to direct the request. + * @param {string} params.projectId Required. The ID of the Cloud Platform project that the job belongs to. + * @param {boolean=} params.validateOnly If true, the request is validated but not actually executed. Defaults to false. + * @param {().LaunchTemplateParameters} 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 + */ + launch(params?: Params$Resource$Projects$Locations$Templates$Launch, options?: MethodOptions): AxiosPromise; + launch(params: Params$Resource$Projects$Locations$Templates$Launch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + launch(params: Params$Resource$Projects$Locations$Templates$Launch, callback: BodyResponseCallback): void; + launch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Templates$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The location to which to direct the request. + */ + location?: string; + /** + * Required. The ID of the Cloud Platform project that the job belongs to. + */ + projectId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreateJobFromTemplateRequest; + } + interface Params$Resource$Projects$Locations$Templates$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. A Cloud Storage path to the template from which to create the + * job. Must be a valid Cloud Storage URL, beginning with `gs://`. + */ + gcsPath?: string; + /** + * The location to which to direct the request. + */ + location?: string; + /** + * Required. The ID of the Cloud Platform project that the job belongs to. + */ + projectId?: string; + /** + * The view to retrieve. Defaults to METADATA_ONLY. + */ + view?: string; + } + interface Params$Resource$Projects$Locations$Templates$Launch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. A Cloud Storage path to the template from which to create the + * job. Must be valid Cloud Storage URL, beginning with 'gs://'. + */ + gcsPath?: string; + /** + * The location to which to direct the request. + */ + location?: string; + /** + * Required. The ID of the Cloud Platform project that the job belongs to. + */ + projectId?: string; + /** + * If true, the request is validated but not actually executed. Defaults to + * false. + */ + validateOnly?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$LaunchTemplateParameters; + } + class Resource$Projects$Templates { + root: Dataflow; + constructor(root: Dataflow); + getRoot(): Dataflow; + /** + * dataflow.projects.templates.create + * @desc Creates a Cloud Dataflow job from a template. + * @alias dataflow.projects.templates.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId Required. The ID of the Cloud Platform project that the job belongs to. + * @param {().CreateJobFromTemplateRequest} 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 + */ + create(params?: Params$Resource$Projects$Templates$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Templates$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Templates$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * dataflow.projects.templates.get + * @desc Get the template associated with a template. + * @alias dataflow.projects.templates.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.gcsPath Required. A Cloud Storage path to the template from which to create the job. Must be a valid Cloud Storage URL, beginning with `gs://`. + * @param {string=} params.location The location to which to direct the request. + * @param {string} params.projectId Required. The ID of the Cloud Platform project that the job belongs to. + * @param {string=} params.view The view to retrieve. Defaults to METADATA_ONLY. + * @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?: Params$Resource$Projects$Templates$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Templates$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Templates$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dataflow.projects.templates.launch + * @desc Launch a template. + * @alias dataflow.projects.templates.launch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.gcsPath Required. A Cloud Storage path to the template from which to create the job. Must be valid Cloud Storage URL, beginning with 'gs://'. + * @param {string=} params.location The location to which to direct the request. + * @param {string} params.projectId Required. The ID of the Cloud Platform project that the job belongs to. + * @param {boolean=} params.validateOnly If true, the request is validated but not actually executed. Defaults to false. + * @param {().LaunchTemplateParameters} 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 + */ + launch(params?: Params$Resource$Projects$Templates$Launch, options?: MethodOptions): AxiosPromise; + launch(params: Params$Resource$Projects$Templates$Launch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + launch(params: Params$Resource$Projects$Templates$Launch, callback: BodyResponseCallback): void; + launch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Templates$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The ID of the Cloud Platform project that the job belongs to. + */ + projectId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreateJobFromTemplateRequest; + } + interface Params$Resource$Projects$Templates$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. A Cloud Storage path to the template from which to create the + * job. Must be a valid Cloud Storage URL, beginning with `gs://`. + */ + gcsPath?: string; + /** + * The location to which to direct the request. + */ + location?: string; + /** + * Required. The ID of the Cloud Platform project that the job belongs to. + */ + projectId?: string; + /** + * The view to retrieve. Defaults to METADATA_ONLY. + */ + view?: string; + } + interface Params$Resource$Projects$Templates$Launch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. A Cloud Storage path to the template from which to create the + * job. Must be valid Cloud Storage URL, beginning with 'gs://'. + */ + gcsPath?: string; + /** + * The location to which to direct the request. + */ + location?: string; + /** + * Required. The ID of the Cloud Platform project that the job belongs to. + */ + projectId?: string; + /** + * If true, the request is validated but not actually executed. Defaults to + * false. + */ + validateOnly?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$LaunchTemplateParameters; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/dataflow/v1b3.js b/express-server/node_modules/googleapis/build/src/apis/dataflow/v1b3.js new file mode 100644 index 00000000..1caff129 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dataflow/v1b3.js @@ -0,0 +1,1103 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var dataflow_v1b3; +(function (dataflow_v1b3) { + /** + * Dataflow API + * + * Manages Google Cloud Dataflow projects on Google Cloud Platform. + * + * @example + * const {google} = require('googleapis'); + * const dataflow = google.dataflow('v1b3'); + * + * @namespace dataflow + * @type {Function} + * @version v1b3 + * @variation v1b3 + * @param {object=} options Options for Dataflow + */ + class Dataflow { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.projects = new Resource$Projects(this); + } + getRoot() { + return this.root; + } + } + dataflow_v1b3.Dataflow = Dataflow; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.jobs = new Resource$Projects$Jobs(root); + this.locations = new Resource$Projects$Locations(root); + this.templates = new Resource$Projects$Templates(root); + } + getRoot() { + return this.root; + } + workerMessages(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1b3/projects/{projectId}/WorkerMessages') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId'], + pathParams: ['projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dataflow_v1b3.Resource$Projects = Resource$Projects; + class Resource$Projects$Jobs { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.debug = new Resource$Projects$Jobs$Debug(root); + this.messages = new Resource$Projects$Jobs$Messages(root); + this.workItems = new Resource$Projects$Jobs$Workitems(root); + } + getRoot() { + return this.root; + } + aggregated(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1b3/projects/{projectId}/jobs:aggregated') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId'], + pathParams: ['projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1b3/projects/{projectId}/jobs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId'], + pathParams: ['projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1b3/projects/{projectId}/jobs/{jobId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId', 'jobId'], + pathParams: ['jobId', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getMetrics(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1b3/projects/{projectId}/jobs/{jobId}/metrics') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId', 'jobId'], + pathParams: ['jobId', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1b3/projects/{projectId}/jobs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId'], + pathParams: ['projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1b3/projects/{projectId}/jobs/{jobId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['projectId', 'jobId'], + pathParams: ['jobId', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dataflow_v1b3.Resource$Projects$Jobs = Resource$Projects$Jobs; + class Resource$Projects$Jobs$Debug { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + getConfig(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1b3/projects/{projectId}/jobs/{jobId}/debug/getConfig') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'jobId'], + pathParams: ['jobId', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + sendCapture(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1b3/projects/{projectId}/jobs/{jobId}/debug/sendCapture') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'jobId'], + pathParams: ['jobId', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dataflow_v1b3.Resource$Projects$Jobs$Debug = Resource$Projects$Jobs$Debug; + class Resource$Projects$Jobs$Messages { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1b3/projects/{projectId}/jobs/{jobId}/messages') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId', 'jobId'], + pathParams: ['jobId', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dataflow_v1b3.Resource$Projects$Jobs$Messages = Resource$Projects$Jobs$Messages; + class Resource$Projects$Jobs$Workitems { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + lease(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1b3/projects/{projectId}/jobs/{jobId}/workItems:lease') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'jobId'], + pathParams: ['jobId', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + reportStatus(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1b3/projects/{projectId}/jobs/{jobId}/workItems:reportStatus') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'jobId'], + pathParams: ['jobId', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dataflow_v1b3.Resource$Projects$Jobs$Workitems = Resource$Projects$Jobs$Workitems; + class Resource$Projects$Locations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.jobs = new Resource$Projects$Locations$Jobs(root); + this.templates = new Resource$Projects$Locations$Templates(root); + } + getRoot() { + return this.root; + } + workerMessages(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1b3/projects/{projectId}/locations/{location}/WorkerMessages') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'location'], + pathParams: ['location', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dataflow_v1b3.Resource$Projects$Locations = Resource$Projects$Locations; + class Resource$Projects$Locations$Jobs { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.debug = new Resource$Projects$Locations$Jobs$Debug(root); + this.messages = new Resource$Projects$Locations$Jobs$Messages(root); + this.workItems = new Resource$Projects$Locations$Jobs$Workitems(root); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1b3/projects/{projectId}/locations/{location}/jobs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'location'], + pathParams: ['location', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId', 'location', 'jobId'], + pathParams: ['jobId', 'location', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getMetrics(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}/metrics') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId', 'location', 'jobId'], + pathParams: ['jobId', 'location', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1b3/projects/{projectId}/locations/{location}/jobs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId', 'location'], + pathParams: ['location', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['projectId', 'location', 'jobId'], + pathParams: ['jobId', 'location', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dataflow_v1b3.Resource$Projects$Locations$Jobs = Resource$Projects$Locations$Jobs; + class Resource$Projects$Locations$Jobs$Debug { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + getConfig(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}/debug/getConfig') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'location', 'jobId'], + pathParams: ['jobId', 'location', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + sendCapture(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}/debug/sendCapture') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'location', 'jobId'], + pathParams: ['jobId', 'location', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dataflow_v1b3.Resource$Projects$Locations$Jobs$Debug = Resource$Projects$Locations$Jobs$Debug; + class Resource$Projects$Locations$Jobs$Messages { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}/messages') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId', 'location', 'jobId'], + pathParams: ['jobId', 'location', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dataflow_v1b3.Resource$Projects$Locations$Jobs$Messages = Resource$Projects$Locations$Jobs$Messages; + class Resource$Projects$Locations$Jobs$Workitems { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + lease(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}/workItems:lease') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'location', 'jobId'], + pathParams: ['jobId', 'location', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + reportStatus(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}/workItems:reportStatus') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'location', 'jobId'], + pathParams: ['jobId', 'location', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dataflow_v1b3.Resource$Projects$Locations$Jobs$Workitems = Resource$Projects$Locations$Jobs$Workitems; + class Resource$Projects$Locations$Templates { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1b3/projects/{projectId}/locations/{location}/templates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'location'], + pathParams: ['location', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1b3/projects/{projectId}/locations/{location}/templates:get') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId', 'location'], + pathParams: ['location', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + launch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1b3/projects/{projectId}/locations/{location}/templates:launch') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'location'], + pathParams: ['location', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dataflow_v1b3.Resource$Projects$Locations$Templates = Resource$Projects$Locations$Templates; + class Resource$Projects$Templates { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1b3/projects/{projectId}/templates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId'], + pathParams: ['projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1b3/projects/{projectId}/templates:get') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId'], + pathParams: ['projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + launch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1b3/projects/{projectId}/templates:launch') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId'], + pathParams: ['projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dataflow_v1b3.Resource$Projects$Templates = Resource$Projects$Templates; +})(dataflow_v1b3 = exports.dataflow_v1b3 || (exports.dataflow_v1b3 = {})); +//# sourceMappingURL=v1b3.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/dataflow/v1b3.js.map b/express-server/node_modules/googleapis/build/src/apis/dataflow/v1b3.js.map new file mode 100644 index 00000000..7bd6d809 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dataflow/v1b3.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1b3.js","sourceRoot":"","sources":["../../../../src/apis/dataflow/v1b3.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/dataproc/README.md b/express-server/node_modules/googleapis/build/src/apis/dataproc/README.md new file mode 100644 index 00000000..62e4ee7c --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dataproc/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/dataproc + +> Manages Hadoop-based clusters and jobs on Google Cloud Platform. + +## Installation + +```sh +$ npm install @google/dataproc +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/dataproc/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/dataproc/index.d.ts new file mode 100644 index 00000000..c7fcd7db --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dataproc/index.d.ts @@ -0,0 +1,10 @@ +import { dataproc_v1 } from './v1'; +import { dataproc_v1beta2 } from './v1beta2'; +export declare const VERSIONS: { + 'v1': typeof dataproc_v1.Dataproc; + 'v1beta2': typeof dataproc_v1beta2.Dataproc; +}; +export declare function dataproc(version: 'v1'): dataproc_v1.Dataproc; +export declare function dataproc(options: dataproc_v1.Options): dataproc_v1.Dataproc; +export declare function dataproc(version: 'v1beta2'): dataproc_v1beta2.Dataproc; +export declare function dataproc(options: dataproc_v1beta2.Options): dataproc_v1beta2.Dataproc; diff --git a/express-server/node_modules/googleapis/build/src/apis/dataproc/index.js b/express-server/node_modules/googleapis/build/src/apis/dataproc/index.js new file mode 100644 index 00000000..89a0b9de --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dataproc/index.js @@ -0,0 +1,27 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +const v1beta2_1 = require("./v1beta2"); +exports.VERSIONS = { + 'v1': v1_1.dataproc_v1.Dataproc, + 'v1beta2': v1beta2_1.dataproc_v1beta2.Dataproc, +}; +function dataproc(versionOrOptions) { + return googleapis_common_1.getAPI('dataproc', versionOrOptions, exports.VERSIONS, this); +} +exports.dataproc = dataproc; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/dataproc/index.js.map b/express-server/node_modules/googleapis/build/src/apis/dataproc/index.js.map new file mode 100644 index 00000000..35a24fbc --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dataproc/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/dataproc/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAiC;AACjC,uCAA2C;AAE9B,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,gBAAW,CAAC,QAAQ;IAC1B,SAAS,EAAE,0BAAgB,CAAC,QAAQ;CACrC,CAAC;AAOF,SAAgB,QAAQ,CAEpB,gBACwB;IAC1B,OAAO,0BAAM,CAAI,UAAU,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACjE,CAAC;AALD,4BAKC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/dataproc/package.json b/express-server/node_modules/googleapis/build/src/apis/dataproc/package.json new file mode 100644 index 00000000..aa7b0f32 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dataproc/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/dataproc", + "version": "0.1.0", + "description": "dataproc", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/dataproc/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/dataproc/v1.d.ts new file mode 100644 index 00000000..6bf39db2 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dataproc/v1.d.ts @@ -0,0 +1,4465 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace dataproc_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Cloud Dataproc API + * + * Manages Hadoop-based clusters and jobs on Google Cloud Platform. + * + * @example + * const {google} = require('googleapis'); + * const dataproc = google.dataproc('v1'); + * + * @namespace dataproc + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Dataproc + */ + class Dataproc { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + projects: Resource$Projects; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Specifies the type and number of accelerator cards attached to the + * instances of an instance. See GPUs on Compute Engine. + */ + interface Schema$AcceleratorConfig { + /** + * The number of the accelerator cards of this type exposed to this + * instance. + */ + acceleratorCount?: number; + /** + * Full URL, partial URI, or short name of the accelerator type resource to + * expose to this instance. See Compute Engine AcceleratorTypes.Examples: + * https://www.googleapis.com/compute/beta/projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80 + * projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80 + * nvidia-tesla-k80Auto Zone Exception: If you are using the Cloud Dataproc + * Auto Zone Placement feature, you must use the short name of the + * accelerator type resource, for example, nvidia-tesla-k80. + */ + acceleratorTypeUri?: string; + } + /** + * Associates members with a role. + */ + interface Schema$Binding { + /** + * Unimplemented. The condition that is associated with this binding. NOTE: + * an unsatisfied condition will not allow user access via current binding. + * Different bindings, including their conditions, are examined + * independently. + */ + condition?: Schema$Expr; + /** + * Specifies the identities requesting access for a Cloud Platform resource. + * members can have the following values: allUsers: A special identifier + * that represents anyone who is on the internet; with or without a Google + * account. allAuthenticatedUsers: A special identifier that represents + * anyone who is authenticated with a Google account or a service account. + * user:{emailid}: An email address that represents a specific Google + * account. For example, alice@gmail.com . serviceAccount:{emailid}: An + * email address that represents a service account. For example, + * my-other-app@appspot.gserviceaccount.com. group:{emailid}: An email + * address that represents a Google group. For example, admins@example.com. + * domain:{domain}: A Google Apps domain name that represents all the users + * of that domain. For example, google.com or example.com. + */ + members?: string[]; + /** + * Role that is assigned to members. For example, roles/viewer, + * roles/editor, or roles/owner. + */ + role?: string; + } + /** + * A request to cancel a job. + */ + interface Schema$CancelJobRequest { + } + /** + * Describes the identifying information, config, and status of a cluster of + * Compute Engine instances. + */ + interface Schema$Cluster { + /** + * Required. The cluster name. Cluster names within a project must be + * unique. Names of deleted clusters can be reused. + */ + clusterName?: string; + /** + * Output only. A cluster UUID (Unique Universal Identifier). Cloud Dataproc + * generates this value when it creates the cluster. + */ + clusterUuid?: string; + /** + * Required. The cluster config. Note that Cloud Dataproc may set default + * values, and values may change when clusters are updated. + */ + config?: Schema$ClusterConfig; + /** + * Optional. The labels to associate with this cluster. Label keys must + * contain 1 to 63 characters, and must conform to RFC 1035 + * (https://www.ietf.org/rfc/rfc1035.txt). Label values may be empty, but, + * if present, must contain 1 to 63 characters, and must conform to RFC 1035 + * (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be + * associated with a cluster. + */ + labels?: any; + /** + * Contains cluster daemon metrics such as HDFS and YARN stats.Beta Feature: + * This report is available for testing purposes only. It may be changed + * before final release. + */ + metrics?: Schema$ClusterMetrics; + /** + * Required. The Google Cloud Platform project ID that the cluster belongs + * to. + */ + projectId?: string; + /** + * Output only. Cluster status. + */ + status?: Schema$ClusterStatus; + /** + * Output only. The previous cluster status. + */ + statusHistory?: Schema$ClusterStatus[]; + } + /** + * The cluster config. + */ + interface Schema$ClusterConfig { + /** + * Optional. A Cloud Storage staging bucket used for sharing generated SSH + * keys and config. If you do not specify a staging bucket, Cloud Dataproc + * will determine an appropriate Cloud Storage location (US, ASIA, or EU) + * for your cluster's staging bucket according to the Google Compute + * Engine zone where your cluster is deployed, and then it will create and + * manage this project-level, per-location bucket for you. + */ + configBucket?: string; + /** + * Optional. Encryption settings for the cluster. + */ + encryptionConfig?: Schema$EncryptionConfig; + /** + * Required. The shared Compute Engine config settings for all instances in + * a cluster. + */ + gceClusterConfig?: Schema$GceClusterConfig; + /** + * Optional. Commands to execute on each node after config is completed. By + * default, executables are run on master and all worker nodes. You can test + * a node's role metadata to run an executable on a master or worker + * node, as shown below using curl (you can also use wget): ROLE=$(curl -H + * Metadata-Flavor:Google + * http://metadata/computeMetadata/v1/instance/attributes/dataproc-role) if + * [[ "${ROLE}" == 'Master' ]]; then ... master specific + * actions ... else ... worker specific actions ... fi + */ + initializationActions?: Schema$NodeInitializationAction[]; + /** + * Optional. The Compute Engine config settings for the master instance in a + * cluster. + */ + masterConfig?: Schema$InstanceGroupConfig; + /** + * Optional. The Compute Engine config settings for additional worker + * instances in a cluster. + */ + secondaryWorkerConfig?: Schema$InstanceGroupConfig; + /** + * Optional. The config settings for software inside the cluster. + */ + softwareConfig?: Schema$SoftwareConfig; + /** + * Optional. The Compute Engine config settings for worker instances in a + * cluster. + */ + workerConfig?: Schema$InstanceGroupConfig; + } + /** + * Contains cluster daemon metrics, such as HDFS and YARN stats.Beta Feature: + * This report is available for testing purposes only. It may be changed + * before final release. + */ + interface Schema$ClusterMetrics { + /** + * The HDFS metrics. + */ + hdfsMetrics?: any; + /** + * The YARN metrics. + */ + yarnMetrics?: any; + } + /** + * The cluster operation triggered by a workflow. + */ + interface Schema$ClusterOperation { + /** + * Output only. Indicates the operation is done. + */ + done?: boolean; + /** + * Output only. Error, if operation failed. + */ + error?: string; + /** + * Output only. The id of the cluster operation. + */ + operationId?: string; + } + /** + * Metadata describing the operation. + */ + interface Schema$ClusterOperationMetadata { + /** + * Output only. Name of the cluster for the operation. + */ + clusterName?: string; + /** + * Output only. Cluster UUID for the operation. + */ + clusterUuid?: string; + /** + * Output only. Short description of operation. + */ + description?: string; + /** + * Output only. Labels associated with the operation + */ + labels?: any; + /** + * Output only. The operation type. + */ + operationType?: string; + /** + * Output only. Current operation status. + */ + status?: Schema$ClusterOperationStatus; + /** + * Output only. The previous operation status. + */ + statusHistory?: Schema$ClusterOperationStatus[]; + /** + * Output only. Errors encountered during operation execution. + */ + warnings?: string[]; + } + /** + * The status of the operation. + */ + interface Schema$ClusterOperationStatus { + /** + * Output only. A message containing any operation metadata details. + */ + details?: string; + /** + * Output only. A message containing the detailed operation state. + */ + innerState?: string; + /** + * Output only. A message containing the operation state. + */ + state?: string; + /** + * Output only. The time this state was entered. + */ + stateStartTime?: string; + } + /** + * A selector that chooses target cluster for jobs based on metadata. + */ + interface Schema$ClusterSelector { + /** + * Required. The cluster labels. Cluster must have all labels to match. + */ + clusterLabels?: any; + /** + * Optional. The zone where workflow process executes. This parameter does + * not affect the selection of the cluster.If unspecified, the zone of the + * first cluster matching the selector is used. + */ + zone?: string; + } + /** + * The status of a cluster and its instances. + */ + interface Schema$ClusterStatus { + /** + * Output only. Optional details of cluster's state. + */ + detail?: string; + /** + * Output only. The cluster's state. + */ + state?: string; + /** + * Output only. Time when this state was entered. + */ + stateStartTime?: string; + /** + * Output only. Additional state information that includes status reported + * by the agent. + */ + substate?: string; + } + /** + * A request to collect cluster diagnostic information. + */ + interface Schema$DiagnoseClusterRequest { + } + /** + * The location of diagnostic output. + */ + interface Schema$DiagnoseClusterResults { + /** + * Output only. The Cloud Storage URI of the diagnostic output. The output + * report is a plain text file with a summary of collected diagnostics. + */ + outputUri?: string; + } + /** + * Specifies the config of disk options for a group of VM instances. + */ + interface Schema$DiskConfig { + /** + * Optional. Size in GB of the boot disk (default is 500GB). + */ + bootDiskSizeGb?: number; + /** + * Optional. Type of the boot disk (default is "pd-standard"). + * Valid values: "pd-ssd" (Persistent Disk Solid State Drive) or + * "pd-standard" (Persistent Disk Hard Disk Drive). + */ + bootDiskType?: string; + /** + * Optional. Number of attached SSDs, from 0 to 4 (default is 0). If SSDs + * are not attached, the boot disk is used to store runtime logs and HDFS + * (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one + * or more SSDs are attached, this runtime bulk data is spread across them, + * and the boot disk contains only basic config and installed binaries. + */ + numLocalSsds?: number; + } + /** + * 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); } The JSON + * representation for Empty is empty JSON object {}. + */ + interface Schema$Empty { + } + /** + * Encryption settings for the cluster. + */ + interface Schema$EncryptionConfig { + /** + * Optional. The Cloud KMS key name to use for PD disk encryption for all + * instances in the cluster. + */ + gcePdKmsKeyName?: string; + } + /** + * Represents an expression text. Example: title: "User account + * presence" description: "Determines whether the request has a user + * account" expression: "size(request.user) > 0" + */ + interface Schema$Expr { + /** + * An optional description of the expression. This is a longer text which + * describes the expression, e.g. when hovered over it in a UI. + */ + description?: string; + /** + * Textual representation of an expression in Common Expression Language + * syntax.The application context of the containing message determines which + * well-known feature set of CEL is supported. + */ + expression?: string; + /** + * An optional string indicating the location of the expression for error + * reporting, e.g. a file name and a position in the file. + */ + location?: string; + /** + * An optional title for the expression, i.e. a short string describing its + * purpose. This can be used e.g. in UIs which allow to enter the + * expression. + */ + title?: string; + } + /** + * Common config settings for resources of Compute Engine cluster instances, + * applicable to all instances in the cluster. + */ + interface Schema$GceClusterConfig { + /** + * Optional. If true, all instances in the cluster will only have internal + * IP addresses. By default, clusters are not restricted to internal IP + * addresses, and will have ephemeral external IP addresses assigned to each + * instance. This internal_ip_only restriction can only be enabled for + * subnetwork enabled networks, and all off-cluster dependencies must be + * configured to be accessible without external IP addresses. + */ + internalIpOnly?: boolean; + /** + * The Compute Engine metadata entries to add to all instances (see Project + * and instance metadata + * (https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata)). + */ + metadata?: any; + /** + * Optional. The Compute Engine network to be used for machine + * communications. Cannot be specified with subnetwork_uri. If neither + * network_uri nor subnetwork_uri is specified, the "default" + * network of the project is used, if it exists. Cannot be a "Custom + * Subnet Network" (see Using Subnetworks for more information).A full + * URL, partial URI, or short name are valid. Examples: + * https://www.googleapis.com/compute/v1/projects/[project_id]/regions/global/default + * projects/[project_id]/regions/global/default default + */ + networkUri?: string; + /** + * Optional. The service account of the instances. Defaults to the default + * Compute Engine service account. Custom service accounts need permissions + * equivalent to the following IAM roles: roles/logging.logWriter + * roles/storage.objectAdmin(see + * https://cloud.google.com/compute/docs/access/service-accounts#custom_service_accounts + * for more information). Example: + * [account_id]@[project_id].iam.gserviceaccount.com + */ + serviceAccount?: string; + /** + * Optional. The URIs of service account scopes to be included in Compute + * Engine instances. The following base set of scopes is always included: + * https://www.googleapis.com/auth/cloud.useraccounts.readonly + * https://www.googleapis.com/auth/devstorage.read_write + * https://www.googleapis.com/auth/logging.writeIf no scopes are specified, + * the following defaults are also provided: + * https://www.googleapis.com/auth/bigquery + * https://www.googleapis.com/auth/bigtable.admin.table + * https://www.googleapis.com/auth/bigtable.data + * https://www.googleapis.com/auth/devstorage.full_control + */ + serviceAccountScopes?: string[]; + /** + * Optional. The Compute Engine subnetwork to be used for machine + * communications. Cannot be specified with network_uri.A full URL, partial + * URI, or short name are valid. Examples: + * https://www.googleapis.com/compute/v1/projects/[project_id]/regions/us-east1/sub0 + * projects/[project_id]/regions/us-east1/sub0 sub0 + */ + subnetworkUri?: string; + /** + * The Compute Engine tags to add to all instances (see Tagging instances). + */ + tags?: string[]; + /** + * Optional. The zone where the Compute Engine cluster will be located. On a + * create request, it is required in the "global" region. If + * omitted in a non-global Cloud Dataproc region, the service will pick a + * zone in the corresponding Compute Engine region. On a get request, zone + * will always be present.A full URL, partial URI, or short name are valid. + * Examples: + * https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] + * projects/[project_id]/zones/[zone] us-central1-f + */ + zoneUri?: string; + } + /** + * Request message for GetIamPolicy method. + */ + interface Schema$GetIamPolicyRequest { + } + /** + * A Cloud Dataproc job for running Apache Hadoop MapReduce + * (https://hadoop.apache.org/docs/current/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html) + * jobs on Apache Hadoop YARN + * (https://hadoop.apache.org/docs/r2.7.1/hadoop-yarn/hadoop-yarn-site/YARN.html). + */ + interface Schema$HadoopJob { + /** + * Optional. HCFS URIs of archives to be extracted in the working directory + * of Hadoop drivers and tasks. Supported file types: .jar, .tar, .tar.gz, + * .tgz, or .zip. + */ + archiveUris?: string[]; + /** + * Optional. The arguments to pass to the driver. Do not include arguments, + * such as -libjars or -Dfoo=bar, that can be set as job properties, since a + * collision may occur that causes an incorrect job submission. + */ + args?: string[]; + /** + * Optional. HCFS (Hadoop Compatible Filesystem) URIs of files to be copied + * to the working directory of Hadoop drivers and distributed tasks. Useful + * for naively parallel tasks. + */ + fileUris?: string[]; + /** + * Optional. Jar file URIs to add to the CLASSPATHs of the Hadoop driver and + * tasks. + */ + jarFileUris?: string[]; + /** + * Optional. The runtime log config for job execution. + */ + loggingConfig?: Schema$LoggingConfig; + /** + * The name of the driver's main class. The jar file containing the + * class must be in the default CLASSPATH or specified in jar_file_uris. + */ + mainClass?: string; + /** + * The HCFS URI of the jar file containing the main class. Examples: + * 'gs://foo-bucket/analytics-binaries/extract-useful-metrics-mr.jar' + * 'hdfs:/tmp/test-samples/custom-wordcount.jar' + * 'file:///home/usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar' + */ + mainJarFileUri?: string; + /** + * Optional. A mapping of property names to values, used to configure + * Hadoop. Properties that conflict with values set by the Cloud Dataproc + * API may be overwritten. Can include properties set in + * /etc/hadoop/conf/*-site and classes in user code. + */ + properties?: any; + } + /** + * A Cloud Dataproc job for running Apache Hive (https://hive.apache.org/) + * queries on YARN. + */ + interface Schema$HiveJob { + /** + * Optional. Whether to continue executing queries if a query fails. The + * default value is false. Setting to true can be useful when executing + * independent parallel queries. + */ + continueOnFailure?: boolean; + /** + * Optional. HCFS URIs of jar files to add to the CLASSPATH of the Hive + * server and Hadoop MapReduce (MR) tasks. Can contain Hive SerDes and UDFs. + */ + jarFileUris?: string[]; + /** + * Optional. A mapping of property names and values, used to configure Hive. + * Properties that conflict with values set by the Cloud Dataproc API may be + * overwritten. Can include properties set in /etc/hadoop/conf/*-site.xml, + * /etc/hive/conf/hive-site.xml, and classes in user code. + */ + properties?: any; + /** + * The HCFS URI of the script that contains Hive queries. + */ + queryFileUri?: string; + /** + * A list of queries. + */ + queryList?: Schema$QueryList; + /** + * Optional. Mapping of query variable names to values (equivalent to the + * Hive command: SET name="value";). + */ + scriptVariables?: any; + } + /** + * Optional. The config settings for Compute Engine resources in an instance + * group, such as a master or worker group. + */ + interface Schema$InstanceGroupConfig { + /** + * Optional. The Compute Engine accelerator configuration for these + * instances.Beta Feature: This feature is still under development. It may + * be changed before final release. + */ + accelerators?: Schema$AcceleratorConfig[]; + /** + * Optional. Disk option config settings. + */ + diskConfig?: Schema$DiskConfig; + /** + * Optional. The Compute Engine image resource used for cluster instances. + * It can be specified or may be inferred from SoftwareConfig.image_version. + */ + imageUri?: string; + /** + * Output only. The list of instance names. Cloud Dataproc derives the names + * from cluster_name, num_instances, and the instance group. + */ + instanceNames?: string[]; + /** + * Optional. Specifies that this instance group contains preemptible + * instances. + */ + isPreemptible?: boolean; + /** + * Optional. The Compute Engine machine type used for cluster instances.A + * full URL, partial URI, or short name are valid. Examples: + * https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2 + * projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2 + * n1-standard-2Auto Zone Exception: If you are using the Cloud Dataproc + * Auto Zone Placement feature, you must use the short name of the machine + * type resource, for example, n1-standard-2. + */ + machineTypeUri?: string; + /** + * Output only. The config for Compute Engine Instance Group Manager that + * manages this group. This is only used for preemptible instance groups. + */ + managedGroupConfig?: Schema$ManagedGroupConfig; + /** + * Optional. The number of VM instances in the instance group. For master + * instance groups, must be set to 1. + */ + numInstances?: number; + } + /** + * A request to instantiate a workflow template. + */ + interface Schema$InstantiateWorkflowTemplateRequest { + /** + * Optional. Map from parameter names to values that should be used for + * those parameters. Values may not exceed 100 characters. + */ + parameters?: any; + /** + * Optional. A tag that prevents multiple concurrent workflow instances with + * the same tag from running. This mitigates risk of concurrent instances + * started due to retries.It is recommended to always set this value to a + * UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The + * tag must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), + * and hyphens (-). The maximum length is 40 characters. + */ + requestId?: string; + /** + * Optional. The version of workflow template to instantiate. If specified, + * the workflow will be instantiated only if the current version of the + * workflow template has the supplied version.This option cannot be used to + * instantiate a previous version of workflow template. + */ + version?: number; + } + /** + * A Cloud Dataproc job resource. + */ + interface Schema$Job { + /** + * Output only. If present, the location of miscellaneous control files + * which may be used as part of job setup and handling. If not present, + * control files may be placed in the same location as driver_output_uri. + */ + driverControlFilesUri?: string; + /** + * Output only. A URI pointing to the location of the stdout of the + * job's driver program. + */ + driverOutputResourceUri?: string; + /** + * Job is a Hadoop job. + */ + hadoopJob?: Schema$HadoopJob; + /** + * Job is a Hive job. + */ + hiveJob?: Schema$HiveJob; + /** + * Optional. The labels to associate with this job. Label keys must contain + * 1 to 63 characters, and must conform to RFC 1035 + * (https://www.ietf.org/rfc/rfc1035.txt). Label values may be empty, but, + * if present, must contain 1 to 63 characters, and must conform to RFC 1035 + * (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be + * associated with a job. + */ + labels?: any; + /** + * Job is a Pig job. + */ + pigJob?: Schema$PigJob; + /** + * Required. Job information, including how, when, and where to run the job. + */ + placement?: Schema$JobPlacement; + /** + * Job is a Pyspark job. + */ + pysparkJob?: Schema$PySparkJob; + /** + * Optional. The fully qualified reference to the job, which can be used to + * obtain the equivalent REST path of the job resource. If this property is + * not specified when a job is created, the server generates a + * <code>job_id</code>. + */ + reference?: Schema$JobReference; + /** + * Optional. Job scheduling configuration. + */ + scheduling?: Schema$JobScheduling; + /** + * Job is a Spark job. + */ + sparkJob?: Schema$SparkJob; + /** + * Job is a SparkSql job. + */ + sparkSqlJob?: Schema$SparkSqlJob; + /** + * Output only. The job status. Additional application-specific status + * information may be contained in the <code>type_job</code> and + * <code>yarn_applications</code> fields. + */ + status?: Schema$JobStatus; + /** + * Output only. The previous job status. + */ + statusHistory?: Schema$JobStatus[]; + /** + * Output only. The collection of YARN applications spun up by this job.Beta + * Feature: This report is available for testing purposes only. It may be + * changed before final release. + */ + yarnApplications?: Schema$YarnApplication[]; + } + /** + * Cloud Dataproc job config. + */ + interface Schema$JobPlacement { + /** + * Required. The name of the cluster where the job will be submitted. + */ + clusterName?: string; + /** + * Output only. A cluster UUID generated by the Cloud Dataproc service when + * the job is submitted. + */ + clusterUuid?: string; + } + /** + * Encapsulates the full scoping used to reference a job. + */ + interface Schema$JobReference { + /** + * Optional. The job ID, which must be unique within the project. The job ID + * is generated by the server upon job submission or provided by the user as + * a means to perform retries without creating duplicate jobs. The ID must + * contain only letters (a-z, A-Z), numbers (0-9), underscores (_), or + * hyphens (-). The maximum length is 100 characters. + */ + jobId?: string; + /** + * Required. The ID of the Google Cloud Platform project that the job + * belongs to. + */ + projectId?: string; + } + /** + * Job scheduling options. + */ + interface Schema$JobScheduling { + /** + * Optional. Maximum number of times per hour a driver may be restarted as a + * result of driver terminating with non-zero code before job is reported + * failed.A job may be reported as thrashing if driver exits with non-zero + * code 4 times within 10 minute window.Maximum value is 10. + */ + maxFailuresPerHour?: number; + } + /** + * Cloud Dataproc job status. + */ + interface Schema$JobStatus { + /** + * Output only. Optional job state details, such as an error description if + * the state is <code>ERROR</code>. + */ + details?: string; + /** + * Output only. A state message specifying the overall job state. + */ + state?: string; + /** + * Output only. The time when this state was entered. + */ + stateStartTime?: string; + /** + * Output only. Additional state information, which includes status reported + * by the agent. + */ + substate?: string; + } + /** + * The list of all clusters in a project. + */ + interface Schema$ListClustersResponse { + /** + * Output only. The clusters in the project. + */ + clusters?: Schema$Cluster[]; + /** + * Output only. This token is included in the response if there are more + * results to fetch. To fetch additional results, provide this value as the + * page_token in a subsequent ListClustersRequest. + */ + nextPageToken?: string; + } + /** + * A list of jobs in a project. + */ + interface Schema$ListJobsResponse { + /** + * Output only. Jobs list. + */ + jobs?: Schema$Job[]; + /** + * Optional. This token is included in the response if there are more + * results to fetch. To fetch additional results, provide this value as the + * page_token in a subsequent <code>ListJobsRequest</code>. + */ + nextPageToken?: string; + } + /** + * The response message for Operations.ListOperations. + */ + interface Schema$ListOperationsResponse { + /** + * The standard List next-page token. + */ + nextPageToken?: string; + /** + * A list of operations that matches the specified filter in the request. + */ + operations?: Schema$Operation[]; + } + /** + * A response to a request to list workflow templates in a project. + */ + interface Schema$ListWorkflowTemplatesResponse { + /** + * Output only. This token is included in the response if there are more + * results to fetch. To fetch additional results, provide this value as the + * page_token in a subsequent + * <code>ListWorkflowTemplatesRequest</code>. + */ + nextPageToken?: string; + /** + * Output only. WorkflowTemplates list. + */ + templates?: Schema$WorkflowTemplate[]; + } + /** + * The runtime logging config of the job. + */ + interface Schema$LoggingConfig { + /** + * The per-package log levels for the driver. This may include + * "root" package name to configure rootLogger. Examples: + * 'com.google = FATAL', 'root = INFO', 'org.apache = + * DEBUG' + */ + driverLogLevels?: any; + } + /** + * Cluster that is managed by the workflow. + */ + interface Schema$ManagedCluster { + /** + * Required. The cluster name prefix. A unique cluster name will be formed + * by appending a random suffix.The name must contain only lower-case + * letters (a-z), numbers (0-9), and hyphens (-). Must begin with a letter. + * Cannot begin or end with hyphen. Must consist of between 2 and 35 + * characters. + */ + clusterName?: string; + /** + * Required. The cluster configuration. + */ + config?: Schema$ClusterConfig; + /** + * Optional. The labels to associate with this cluster.Label keys must be + * between 1 and 63 characters long, and must conform to the following PCRE + * regular expression: \p{Ll}\p{Lo}{0,62}Label values must be between 1 and + * 63 characters long, and must conform to the following PCRE regular + * expression: \p{Ll}\p{Lo}\p{N}_-{0,63}No more than 32 labels can be + * associated with a given cluster. + */ + labels?: any; + } + /** + * Specifies the resources used to actively manage an instance group. + */ + interface Schema$ManagedGroupConfig { + /** + * Output only. The name of the Instance Group Manager for this group. + */ + instanceGroupManagerName?: string; + /** + * Output only. The name of the Instance Template used for the Managed + * Instance Group. + */ + instanceTemplateName?: string; + } + /** + * Specifies an executable to run on a fully configured node and a timeout + * period for executable completion. + */ + interface Schema$NodeInitializationAction { + /** + * Required. Cloud Storage URI of executable file. + */ + executableFile?: string; + /** + * Optional. Amount of time executable has to complete. Default is 10 + * minutes. Cluster creation fails with an explanatory error message (the + * name of the executable that caused the error and the exceeded timeout + * period) if the executable is not completed at end of the timeout period. + */ + executionTimeout?: string; + } + /** + * This resource represents a long-running operation that is the result of a + * network API call. + */ + interface Schema$Operation { + /** + * If the value is false, it means the operation is still in progress. If + * true, the operation is completed, and either error or response is + * available. + */ + done?: boolean; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * Service-specific metadata associated with the operation. It typically + * contains progress information and common metadata such as create time. + * Some services might not provide such metadata. Any method that returns a + * long-running operation should document the metadata type, if any. + */ + metadata?: any; + /** + * The server-assigned name, which is only unique within the same service + * that originally returns it. If you use the default HTTP mapping, the name + * should have the format of operations/some/unique/name. + */ + name?: string; + /** + * The normal response of the operation in case of success. If the original + * method returns no data on success, such as Delete, the response is + * google.protobuf.Empty. If the original method is standard + * Get/Create/Update, the response should be the resource. For other + * methods, the response should have the type XxxResponse, where Xxx is the + * original method name. For example, if the original method name is + * TakeSnapshot(), the inferred response type is TakeSnapshotResponse. + */ + response?: any; + } + /** + * A job executed by the workflow. + */ + interface Schema$OrderedJob { + /** + * Job is a Hadoop job. + */ + hadoopJob?: Schema$HadoopJob; + /** + * Job is a Hive job. + */ + hiveJob?: Schema$HiveJob; + /** + * Optional. The labels to associate with this job.Label keys must be + * between 1 and 63 characters long, and must conform to the following + * regular expression: \p{Ll}\p{Lo}{0,62}Label values must be between 1 and + * 63 characters long, and must conform to the following regular expression: + * \p{Ll}\p{Lo}\p{N}_-{0,63}No more than 32 labels can be associated with a + * given job. + */ + labels?: any; + /** + * Job is a Pig job. + */ + pigJob?: Schema$PigJob; + /** + * Optional. The optional list of prerequisite job step_ids. If not + * specified, the job will start at the beginning of workflow. + */ + prerequisiteStepIds?: string[]; + /** + * Job is a Pyspark job. + */ + pysparkJob?: Schema$PySparkJob; + /** + * Optional. Job scheduling configuration. + */ + scheduling?: Schema$JobScheduling; + /** + * Job is a Spark job. + */ + sparkJob?: Schema$SparkJob; + /** + * Job is a SparkSql job. + */ + sparkSqlJob?: Schema$SparkSqlJob; + /** + * Required. The step id. The id must be unique among all jobs within the + * template.The step id is used as prefix for job id, as job + * goog-dataproc-workflow-step-id label, and in prerequisiteStepIds field + * from other steps.The id must contain only letters (a-z, A-Z), numbers + * (0-9), underscores (_), and hyphens (-). Cannot begin or end with + * underscore or hyphen. Must consist of between 3 and 50 characters. + */ + stepId?: string; + } + /** + * Configuration for parameter validation. + */ + interface Schema$ParameterValidation { + /** + * Validation based on regular expressions. + */ + regex?: Schema$RegexValidation; + /** + * Validation based on a list of allowed values. + */ + values?: Schema$ValueValidation; + } + /** + * A Cloud Dataproc job for running Apache Pig (https://pig.apache.org/) + * queries on YARN. + */ + interface Schema$PigJob { + /** + * Optional. Whether to continue executing queries if a query fails. The + * default value is false. Setting to true can be useful when executing + * independent parallel queries. + */ + continueOnFailure?: boolean; + /** + * Optional. HCFS URIs of jar files to add to the CLASSPATH of the Pig + * Client and Hadoop MapReduce (MR) tasks. Can contain Pig UDFs. + */ + jarFileUris?: string[]; + /** + * Optional. The runtime log config for job execution. + */ + loggingConfig?: Schema$LoggingConfig; + /** + * Optional. A mapping of property names to values, used to configure Pig. + * Properties that conflict with values set by the Cloud Dataproc API may be + * overwritten. Can include properties set in /etc/hadoop/conf/*-site.xml, + * /etc/pig/conf/pig.properties, and classes in user code. + */ + properties?: any; + /** + * The HCFS URI of the script that contains the Pig queries. + */ + queryFileUri?: string; + /** + * A list of queries. + */ + queryList?: Schema$QueryList; + /** + * Optional. Mapping of query variable names to values (equivalent to the + * Pig command: name=[value]). + */ + scriptVariables?: any; + } + /** + * Defines an Identity and Access Management (IAM) policy. It is used to + * specify access control policies for Cloud Platform resources.A Policy + * consists of a list of bindings. A binding binds a list of members to a + * role, where the members can be user accounts, Google groups, Google + * domains, and service accounts. A role is a named list of permissions + * defined by IAM.JSON Example { "bindings": [ { + * "role": "roles/owner", "members": [ + * "user:mike@example.com", "group:admins@example.com", + * "domain:google.com", + * "serviceAccount:my-other-app@appspot.gserviceaccount.com" ] + * }, { "role": "roles/viewer", + * "members": ["user:sean@example.com"] } ] } YAML + * Example bindings: - members: - user:mike@example.com - + * group:admins@example.com - domain:google.com - + * serviceAccount:my-other-app@appspot.gserviceaccount.com role: roles/owner + * - members: - user:sean@example.com role: roles/viewer For a description + * of IAM and its features, see the IAM developer's guide + * (https://cloud.google.com/iam/docs). + */ + interface Schema$Policy { + /** + * Associates a list of members to a role. bindings with no members will + * result in an error. + */ + bindings?: Schema$Binding[]; + /** + * etag is used for optimistic concurrency control as a way to help prevent + * simultaneous updates of a policy from overwriting each other. It is + * strongly suggested that systems make use of the etag in the + * read-modify-write cycle to perform policy updates in order to avoid race + * conditions: An etag is returned in the response to getIamPolicy, and + * systems are expected to put that etag in the request to setIamPolicy to + * ensure that their change will be applied to the same version of the + * policy.If no etag is provided in the call to setIamPolicy, then the + * existing policy is overwritten blindly. + */ + etag?: string; + /** + * Deprecated. + */ + version?: number; + } + /** + * A Cloud Dataproc job for running Apache PySpark + * (https://spark.apache.org/docs/0.9.0/python-programming-guide.html) + * applications on YARN. + */ + interface Schema$PySparkJob { + /** + * Optional. HCFS URIs of archives to be extracted in the working directory + * of .jar, .tar, .tar.gz, .tgz, and .zip. + */ + archiveUris?: string[]; + /** + * Optional. The arguments to pass to the driver. Do not include arguments, + * such as --conf, that can be set as job properties, since a collision may + * occur that causes an incorrect job submission. + */ + args?: string[]; + /** + * Optional. HCFS URIs of files to be copied to the working directory of + * Python drivers and distributed tasks. Useful for naively parallel tasks. + */ + fileUris?: string[]; + /** + * Optional. HCFS URIs of jar files to add to the CLASSPATHs of the Python + * driver and tasks. + */ + jarFileUris?: string[]; + /** + * Optional. The runtime log config for job execution. + */ + loggingConfig?: Schema$LoggingConfig; + /** + * Required. The HCFS URI of the main Python file to use as the driver. Must + * be a .py file. + */ + mainPythonFileUri?: string; + /** + * Optional. A mapping of property names to values, used to configure + * PySpark. Properties that conflict with values set by the Cloud Dataproc + * API may be overwritten. Can include properties set in + * /etc/spark/conf/spark-defaults.conf and classes in user code. + */ + properties?: any; + /** + * Optional. HCFS file URIs of Python files to pass to the PySpark + * framework. Supported file types: .py, .egg, and .zip. + */ + pythonFileUris?: string[]; + } + /** + * A list of queries to run on a cluster. + */ + interface Schema$QueryList { + /** + * Required. The queries to execute. You do not need to terminate a query + * with a semicolon. Multiple queries can be specified in one string by + * separating each with a semicolon. Here is an example of an Cloud Dataproc + * API snippet that uses a QueryList to specify a HiveJob: + * "hiveJob": { "queryList": { "queries": [ + * "query1", "query2", "query3;query4", + * ] } } + */ + queries?: string[]; + } + /** + * Validation based on regular expressions. + */ + interface Schema$RegexValidation { + /** + * Required. RE2 regular expressions used to validate the parameter's + * value. The value must match the regex in its entirety (substring matches + * are not sufficient). + */ + regexes?: string[]; + } + /** + * Request message for SetIamPolicy method. + */ + interface Schema$SetIamPolicyRequest { + /** + * REQUIRED: The complete policy to be applied to the resource. The size of + * the policy is limited to a few 10s of KB. An empty policy is a valid + * policy but certain Cloud Platform services (such as Projects) might + * reject them. + */ + policy?: Schema$Policy; + } + /** + * Specifies the selection and config of software inside the cluster. + */ + interface Schema$SoftwareConfig { + /** + * Optional. The version of software inside the cluster. It must be one of + * the supported Cloud Dataproc Versions, such as "1.2" (including + * a subminor version, such as "1.2.29"), or the + * "preview" version. If unspecified, it defaults to the latest + * version. + */ + imageVersion?: string; + /** + * Optional. The properties to set on daemon config files.Property keys are + * specified in prefix:property format, such as core:fs.defaultFS. The + * following are supported prefixes and their mappings: capacity-scheduler: + * capacity-scheduler.xml core: core-site.xml distcp: distcp-default.xml + * hdfs: hdfs-site.xml hive: hive-site.xml mapred: mapred-site.xml pig: + * pig.properties spark: spark-defaults.conf yarn: yarn-site.xmlFor more + * information, see Cluster properties. + */ + properties?: any; + } + /** + * A Cloud Dataproc job for running Apache Spark (http://spark.apache.org/) + * applications on YARN. + */ + interface Schema$SparkJob { + /** + * Optional. HCFS URIs of archives to be extracted in the working directory + * of Spark drivers and tasks. Supported file types: .jar, .tar, .tar.gz, + * .tgz, and .zip. + */ + archiveUris?: string[]; + /** + * Optional. The arguments to pass to the driver. Do not include arguments, + * such as --conf, that can be set as job properties, since a collision may + * occur that causes an incorrect job submission. + */ + args?: string[]; + /** + * Optional. HCFS URIs of files to be copied to the working directory of + * Spark drivers and distributed tasks. Useful for naively parallel tasks. + */ + fileUris?: string[]; + /** + * Optional. HCFS URIs of jar files to add to the CLASSPATHs of the Spark + * driver and tasks. + */ + jarFileUris?: string[]; + /** + * Optional. The runtime log config for job execution. + */ + loggingConfig?: Schema$LoggingConfig; + /** + * The name of the driver's main class. The jar file that contains the + * class must be in the default CLASSPATH or specified in jar_file_uris. + */ + mainClass?: string; + /** + * The HCFS URI of the jar file that contains the main class. + */ + mainJarFileUri?: string; + /** + * Optional. A mapping of property names to values, used to configure Spark. + * Properties that conflict with values set by the Cloud Dataproc API may be + * overwritten. Can include properties set in + * /etc/spark/conf/spark-defaults.conf and classes in user code. + */ + properties?: any; + } + /** + * A Cloud Dataproc job for running Apache Spark SQL + * (http://spark.apache.org/sql/) queries. + */ + interface Schema$SparkSqlJob { + /** + * Optional. HCFS URIs of jar files to be added to the Spark CLASSPATH. + */ + jarFileUris?: string[]; + /** + * Optional. The runtime log config for job execution. + */ + loggingConfig?: Schema$LoggingConfig; + /** + * Optional. A mapping of property names to values, used to configure Spark + * SQL's SparkConf. Properties that conflict with values set by the + * Cloud Dataproc API may be overwritten. + */ + properties?: any; + /** + * The HCFS URI of the script that contains SQL queries. + */ + queryFileUri?: string; + /** + * A list of queries. + */ + queryList?: Schema$QueryList; + /** + * Optional. Mapping of query variable names to values (equivalent to the + * Spark SQL command: SET name="value";). + */ + scriptVariables?: any; + } + /** + * 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). The error model is designed to be: + * Simple to use and understand for most users Flexible enough to meet + * unexpected needsOverviewThe Status message contains three pieces of data: + * error code, error message, and error details. The error code should be an + * enum value of google.rpc.Code, but it may accept additional error codes if + * needed. The error message should be a developer-facing English message that + * helps developers understand and resolve the error. If a localized + * user-facing error message is needed, put the localized message in the error + * details or localize it in the client. The optional error details may + * contain arbitrary information about the error. There is a predefined set of + * error detail types in the package google.rpc that can be used for common + * error conditions.Language mappingThe Status message is the logical + * representation of the error model, but it is not necessarily the actual + * wire format. When the Status message is exposed in different client + * libraries and different wire protocols, it can be mapped differently. For + * example, it will likely be mapped to some exceptions in Java, but more + * likely mapped to some error codes in C.Other usesThe error model and the + * Status message can be used in a variety of environments, either with or + * without APIs, to provide a consistent developer experience across different + * environments.Example uses of this error model include: Partial errors. If a + * service needs to return partial errors to the client, it may embed the + * Status in the normal response to indicate the partial errors. Workflow + * errors. A typical workflow has multiple steps. Each step may have a Status + * message for error reporting. Batch operations. If a client uses batch + * request and batch response, the Status message should be used directly + * inside batch response, one for each error sub-response. Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the Status message. Logging. If some API errors are stored in logs, + * the message Status could be used directly after any stripping needed for + * security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set of + * message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + /** + * A request to submit a job. + */ + interface Schema$SubmitJobRequest { + /** + * Required. The job resource. + */ + job?: Schema$Job; + /** + * Optional. A unique id used to identify the request. If the server + * receives two SubmitJobRequest requests with the same id, then the second + * request will be ignored and the first Job created and stored in the + * backend is returned.It is recommended to always set this value to a UUID + * (https://en.wikipedia.org/wiki/Universally_unique_identifier).The id must + * contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and + * hyphens (-). The maximum length is 40 characters. + */ + requestId?: string; + } + /** + * A configurable parameter that replaces one or more fields in the template. + * Parameterizable fields: - Labels - File uris - Job properties - Job + * arguments - Script variables - Main class (in HadoopJob and SparkJob) - + * Zone (in ClusterSelector) + */ + interface Schema$TemplateParameter { + /** + * Optional. Brief description of the parameter. Must not exceed 1024 + * characters. + */ + description?: string; + /** + * Required. Paths to all fields that the parameter replaces. A field is + * allowed to appear in at most one parameter's list of field paths.A + * field path is similar in syntax to a google.protobuf.FieldMask. For + * example, a field path that references the zone field of a workflow + * template's cluster selector would be specified as + * <code>placement.clusterSelector.zone</code>.Also, field paths + * can reference fields using the following syntax: Values in maps can be + * referenced by key. Examples<br> labels'key' + * placement.clusterSelector.clusterLabels'key' + * placement.managedCluster.labels'key' + * placement.clusterSelector.clusterLabels'key' + * jobsstep-id.labels'key' Jobs in the jobs list can be referenced + * by step-id. Examples:<br> jobsstep-id.hadoopJob.mainJarFileUri + * jobsstep-id.hiveJob.queryFileUri jobsstep-id.pySparkJob.mainPythonFileUri + * jobsstep-id.hadoopJob.jarFileUris0 jobsstep-id.hadoopJob.archiveUris0 + * jobsstep-id.hadoopJob.fileUris0 jobsstep-id.pySparkJob.pythonFileUris0 + * Items in repeated fields can be referenced by a zero-based index. + * Example:<br> jobsstep-id.sparkJob.args0 Other examples: + * jobsstep-id.hadoopJob.properties'key' jobsstep-id.hadoopJob.args0 + * jobsstep-id.hiveJob.scriptVariables'key' + * jobsstep-id.hadoopJob.mainJarFileUri placement.clusterSelector.zoneIt may + * not be possible to parameterize maps and repeated fields in their + * entirety since only individual map values and individual items in + * repeated fields can be referenced. For example, the following field paths + * are invalid: placement.clusterSelector.clusterLabels + * jobsstep-id.sparkJob.args + */ + fields?: string[]; + /** + * Required. Parameter name. The parameter name is used as the key, and + * paired with the parameter value, which are passed to the template when + * the template is instantiated. The name must contain only capital letters + * (A-Z), numbers (0-9), and underscores (_), and must not start with a + * number. The maximum length is 40 characters. + */ + name?: string; + /** + * Optional. Validation rules to be applied to this parameter's value. + */ + validation?: Schema$ParameterValidation; + } + /** + * Request message for TestIamPermissions method. + */ + interface Schema$TestIamPermissionsRequest { + /** + * The set of permissions to check for the resource. Permissions with + * wildcards (such as '*' or 'storage.*') are not allowed. + * For more information see IAM Overview + * (https://cloud.google.com/iam/docs/overview#permissions). + */ + permissions?: string[]; + } + /** + * Response message for TestIamPermissions method. + */ + interface Schema$TestIamPermissionsResponse { + /** + * A subset of TestPermissionsRequest.permissions that the caller is + * allowed. + */ + permissions?: string[]; + } + /** + * Validation based on a list of allowed values. + */ + interface Schema$ValueValidation { + /** + * Required. List of allowed values for the parameter. + */ + values?: string[]; + } + /** + * The workflow graph. + */ + interface Schema$WorkflowGraph { + /** + * Output only. The workflow nodes. + */ + nodes?: Schema$WorkflowNode[]; + } + /** + * A Cloud Dataproc workflow template resource. + */ + interface Schema$WorkflowMetadata { + /** + * Output only. The name of the managed cluster. + */ + clusterName?: string; + /** + * Output only. The create cluster operation metadata. + */ + createCluster?: Schema$ClusterOperation; + /** + * Output only. The delete cluster operation metadata. + */ + deleteCluster?: Schema$ClusterOperation; + /** + * Output only. The workflow graph. + */ + graph?: Schema$WorkflowGraph; + /** + * Map from parameter names to values that were used for those parameters. + */ + parameters?: any; + /** + * Output only. The workflow state. + */ + state?: string; + /** + * Output only. The "resource name" of the template. + */ + template?: string; + /** + * Output only. The version of template at the time of workflow + * instantiation. + */ + version?: number; + } + /** + * The workflow node. + */ + interface Schema$WorkflowNode { + /** + * Output only. The error detail. + */ + error?: string; + /** + * Output only. The job id; populated after the node enters RUNNING state. + */ + jobId?: string; + /** + * Output only. Node's prerequisite nodes. + */ + prerequisiteStepIds?: string[]; + /** + * Output only. The node state. + */ + state?: string; + /** + * Output only. The name of the node. + */ + stepId?: string; + } + /** + * A Cloud Dataproc workflow template resource. + */ + interface Schema$WorkflowTemplate { + /** + * Output only. The time template was created. + */ + createTime?: string; + /** + * Required. The template id.The id must contain only letters (a-z, A-Z), + * numbers (0-9), underscores (_), and hyphens (-). Cannot begin or end with + * underscore or hyphen. Must consist of between 3 and 50 characters. + */ + id?: string; + /** + * Required. The Directed Acyclic Graph of Jobs to submit. + */ + jobs?: Schema$OrderedJob[]; + /** + * Optional. The labels to associate with this template. These labels will + * be propagated to all jobs and clusters created by the workflow + * instance.Label keys must contain 1 to 63 characters, and must conform to + * RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt).Label values may be + * empty, but, if present, must contain 1 to 63 characters, and must conform + * to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt).No more than 32 labels + * can be associated with a template. + */ + labels?: any; + /** + * Output only. The "resource name" of the template, as described + * in https://cloud.google.com/apis/design/resource_names of the form + * projects/{project_id}/regions/{region}/workflowTemplates/{template_id} + */ + name?: string; + /** + * Optional. Template parameters whose values are substituted into the + * template. Values for parameters must be provided when the template is + * instantiated. + */ + parameters?: Schema$TemplateParameter[]; + /** + * Required. WorkflowTemplate scheduling information. + */ + placement?: Schema$WorkflowTemplatePlacement; + /** + * Output only. The time template was last updated. + */ + updateTime?: string; + /** + * Optional. Used to perform a consistent read-modify-write.This field + * should be left blank for a CreateWorkflowTemplate request. It is required + * for an UpdateWorkflowTemplate request, and must match the current server + * version. A typical update template flow would fetch the current template + * with a GetWorkflowTemplate request, which will return the current + * template with the version field filled in with the current server + * version. The user updates other fields in the template, then returns it + * as part of the UpdateWorkflowTemplate request. + */ + version?: number; + } + /** + * Specifies workflow execution target.Either managed_cluster or + * cluster_selector is required. + */ + interface Schema$WorkflowTemplatePlacement { + /** + * Optional. A selector that chooses target cluster for jobs based on + * metadata.The selector is evaluated at the time each job is submitted. + */ + clusterSelector?: Schema$ClusterSelector; + /** + * Optional. A cluster that is managed by the workflow. + */ + managedCluster?: Schema$ManagedCluster; + } + /** + * A YARN application created by a job. Application information is a subset of + * <code>org.apache.hadoop.yarn.proto.YarnProtos.ApplicationReportProto</code>.Beta + * Feature: This report is available for testing purposes only. It may be + * changed before final release. + */ + interface Schema$YarnApplication { + /** + * Required. The application name. + */ + name?: string; + /** + * Required. The numerical progress of the application, from 1 to 100. + */ + progress?: number; + /** + * Required. The application state. + */ + state?: string; + /** + * Optional. The HTTP URL of the ApplicationMaster, HistoryServer, or + * TimelineServer that provides application-specific information. The URL + * uses the internal hostname, and requires a proxy server for resolution + * and, possibly, access. + */ + trackingUrl?: string; + } + class Resource$Projects { + root: Dataproc; + locations: Resource$Projects$Locations; + regions: Resource$Projects$Regions; + constructor(root: Dataproc); + getRoot(): Dataproc; + } + class Resource$Projects$Locations { + root: Dataproc; + workflowTemplates: Resource$Projects$Locations$Workflowtemplates; + constructor(root: Dataproc); + getRoot(): Dataproc; + } + class Resource$Projects$Locations$Workflowtemplates { + root: Dataproc; + constructor(root: Dataproc); + getRoot(): Dataproc; + /** + * dataproc.projects.locations.workflowTemplates.create + * @desc Creates new workflow template. + * @alias dataproc.projects.locations.workflowTemplates.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The "resource name" of the region, as described in https://cloud.google.com/apis/design/resource_names of the form projects/{project_id}/regions/{region} + * @param {().WorkflowTemplate} 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 + */ + create(params?: Params$Resource$Projects$Locations$Workflowtemplates$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Locations$Workflowtemplates$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Locations$Workflowtemplates$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * dataproc.projects.locations.workflowTemplates.delete + * @desc Deletes a workflow template. It does not cancel in-progress + * workflows. + * @alias dataproc.projects.locations.workflowTemplates.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The "resource name" of the workflow template, as described in https://cloud.google.com/apis/design/resource_names of the form projects/{project_id}/regions/{region}/workflowTemplates/{template_id} + * @param {integer=} params.version Optional. The version of workflow template to delete. If specified, will only delete the template if the current server version matches specified version. + * @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?: Params$Resource$Projects$Locations$Workflowtemplates$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Locations$Workflowtemplates$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Locations$Workflowtemplates$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dataproc.projects.locations.workflowTemplates.get + * @desc Retrieves the latest workflow template.Can retrieve previously + * instantiated template by specifying optional version parameter. + * @alias dataproc.projects.locations.workflowTemplates.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The "resource name" of the workflow template, as described in https://cloud.google.com/apis/design/resource_names of the form projects/{project_id}/regions/{region}/workflowTemplates/{template_id} + * @param {integer=} params.version Optional. The version of workflow template to retrieve. Only previously instatiated versions can be retrieved.If unspecified, retrieves the current version. + * @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?: Params$Resource$Projects$Locations$Workflowtemplates$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Locations$Workflowtemplates$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Locations$Workflowtemplates$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dataproc.projects.locations.workflowTemplates.getIamPolicy + * @desc Gets the access control policy for a resource. Returns an empty + * policy if the resource exists and does not have a policy set. + * @alias dataproc.projects.locations.workflowTemplates.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. + * @param {().GetIamPolicyRequest} 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 + */ + getIamPolicy(params?: Params$Resource$Projects$Locations$Workflowtemplates$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Projects$Locations$Workflowtemplates$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Projects$Locations$Workflowtemplates$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * dataproc.projects.locations.workflowTemplates.instantiate + * @desc Instantiates a template and begins execution.The returned Operation + * can be used to track execution of workflow by polling operations.get. The + * Operation will complete when entire workflow is finished.The running + * workflow can be aborted via operations.cancel. This will cause any + * inflight jobs to be cancelled and workflow-owned clusters to be + * deleted.The Operation.metadata will be WorkflowMetadata.On successful + * completion, Operation.response will be Empty. + * @alias dataproc.projects.locations.workflowTemplates.instantiate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The "resource name" of the workflow template, as described in https://cloud.google.com/apis/design/resource_names of the form projects/{project_id}/regions/{region}/workflowTemplates/{template_id} + * @param {().InstantiateWorkflowTemplateRequest} 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 + */ + instantiate(params?: Params$Resource$Projects$Locations$Workflowtemplates$Instantiate, options?: MethodOptions): AxiosPromise; + instantiate(params: Params$Resource$Projects$Locations$Workflowtemplates$Instantiate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + instantiate(params: Params$Resource$Projects$Locations$Workflowtemplates$Instantiate, callback: BodyResponseCallback): void; + instantiate(callback: BodyResponseCallback): void; + /** + * dataproc.projects.locations.workflowTemplates.instantiateInline + * @desc Instantiates a template and begins execution.This method is + * equivalent to executing the sequence CreateWorkflowTemplate, + * InstantiateWorkflowTemplate, DeleteWorkflowTemplate.The returned + * Operation can be used to track execution of workflow by polling + * operations.get. The Operation will complete when entire workflow is + * finished.The running workflow can be aborted via operations.cancel. This + * will cause any inflight jobs to be cancelled and workflow-owned clusters + * to be deleted.The Operation.metadata will be WorkflowMetadata.On + * successful completion, Operation.response will be Empty. + * @alias dataproc.projects.locations.workflowTemplates.instantiateInline + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The "resource name" of the workflow template region, as described in https://cloud.google.com/apis/design/resource_names of the form projects/{project_id}/regions/{region} + * @param {string=} params.requestId Optional. A tag that prevents multiple concurrent workflow instances with the same tag from running. This mitigates risk of concurrent instances started due to retries.It is recommended to always set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The tag must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters. + * @param {().WorkflowTemplate} 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 + */ + instantiateInline(params?: Params$Resource$Projects$Locations$Workflowtemplates$Instantiateinline, options?: MethodOptions): AxiosPromise; + instantiateInline(params: Params$Resource$Projects$Locations$Workflowtemplates$Instantiateinline, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + instantiateInline(params: Params$Resource$Projects$Locations$Workflowtemplates$Instantiateinline, callback: BodyResponseCallback): void; + instantiateInline(callback: BodyResponseCallback): void; + /** + * dataproc.projects.locations.workflowTemplates.list + * @desc Lists workflows that match the specified filter in the request. + * @alias dataproc.projects.locations.workflowTemplates.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Optional. The maximum number of results to return in each response. + * @param {string=} params.pageToken Optional. The page token, returned by a previous call, to request the next page of results. + * @param {string} params.parent Required. The "resource name" of the region, as described in https://cloud.google.com/apis/design/resource_names of the form projects/{project_id}/regions/{region} + * @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?: Params$Resource$Projects$Locations$Workflowtemplates$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$Workflowtemplates$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$Workflowtemplates$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dataproc.projects.locations.workflowTemplates.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @alias dataproc.projects.locations.workflowTemplates.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. + * @param {().SetIamPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Projects$Locations$Workflowtemplates$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Projects$Locations$Workflowtemplates$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Projects$Locations$Workflowtemplates$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * dataproc.projects.locations.workflowTemplates.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. If + * the resource does not exist, this will return an empty set of + * permissions, not a NOT_FOUND error.Note: This operation is designed to be + * used for building permission-aware UIs and command-line tools, not for + * authorization checking. This operation may "fail open" without warning. + * @alias dataproc.projects.locations.workflowTemplates.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. + * @param {().TestIamPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Projects$Locations$Workflowtemplates$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Projects$Locations$Workflowtemplates$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Projects$Locations$Workflowtemplates$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + /** + * dataproc.projects.locations.workflowTemplates.update + * @desc Updates (replaces) workflow template. The updated template must + * contain version that matches the current server version. + * @alias dataproc.projects.locations.workflowTemplates.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Output only. The "resource name" of the template, as described in https://cloud.google.com/apis/design/resource_names of the form projects/{project_id}/regions/{region}/workflowTemplates/{template_id} + * @param {().WorkflowTemplate} 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?: Params$Resource$Projects$Locations$Workflowtemplates$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Projects$Locations$Workflowtemplates$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Projects$Locations$Workflowtemplates$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Workflowtemplates$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The "resource name" of the region, as described in + * https://cloud.google.com/apis/design/resource_names of the form + * projects/{project_id}/regions/{region} + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$WorkflowTemplate; + } + interface Params$Resource$Projects$Locations$Workflowtemplates$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The "resource name" of the workflow template, as described in + * https://cloud.google.com/apis/design/resource_names of the form + * projects/{project_id}/regions/{region}/workflowTemplates/{template_id} + */ + name?: string; + /** + * Optional. The version of workflow template to delete. If specified, will + * only delete the template if the current server version matches specified + * version. + */ + version?: number; + } + interface Params$Resource$Projects$Locations$Workflowtemplates$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The "resource name" of the workflow template, as described in + * https://cloud.google.com/apis/design/resource_names of the form + * projects/{project_id}/regions/{region}/workflowTemplates/{template_id} + */ + name?: string; + /** + * Optional. The version of workflow template to retrieve. Only previously + * instatiated versions can be retrieved.If unspecified, retrieves the + * current version. + */ + version?: number; + } + interface Params$Resource$Projects$Locations$Workflowtemplates$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being requested. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GetIamPolicyRequest; + } + interface Params$Resource$Projects$Locations$Workflowtemplates$Instantiate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The "resource name" of the workflow template, as described in + * https://cloud.google.com/apis/design/resource_names of the form + * projects/{project_id}/regions/{region}/workflowTemplates/{template_id} + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstantiateWorkflowTemplateRequest; + } + interface Params$Resource$Projects$Locations$Workflowtemplates$Instantiateinline { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The "resource name" of the workflow template region, as + * described in https://cloud.google.com/apis/design/resource_names of the + * form projects/{project_id}/regions/{region} + */ + parent?: string; + /** + * Optional. A tag that prevents multiple concurrent workflow instances with + * the same tag from running. This mitigates risk of concurrent instances + * started due to retries.It is recommended to always set this value to a + * UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The + * tag must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), + * and hyphens (-). The maximum length is 40 characters. + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$WorkflowTemplate; + } + interface Params$Resource$Projects$Locations$Workflowtemplates$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The maximum number of results to return in each response. + */ + pageSize?: number; + /** + * Optional. The page token, returned by a previous call, to request the + * next page of results. + */ + pageToken?: string; + /** + * Required. The "resource name" of the region, as described in + * https://cloud.google.com/apis/design/resource_names of the form + * projects/{project_id}/regions/{region} + */ + parent?: string; + } + interface Params$Resource$Projects$Locations$Workflowtemplates$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being specified. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetIamPolicyRequest; + } + interface Params$Resource$Projects$Locations$Workflowtemplates$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestIamPermissionsRequest; + } + interface Params$Resource$Projects$Locations$Workflowtemplates$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Output only. The "resource name" of the template, as described in + * https://cloud.google.com/apis/design/resource_names of the form + * projects/{project_id}/regions/{region}/workflowTemplates/{template_id} + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$WorkflowTemplate; + } + class Resource$Projects$Regions { + root: Dataproc; + clusters: Resource$Projects$Regions$Clusters; + jobs: Resource$Projects$Regions$Jobs; + operations: Resource$Projects$Regions$Operations; + workflowTemplates: Resource$Projects$Regions$Workflowtemplates; + constructor(root: Dataproc); + getRoot(): Dataproc; + } + class Resource$Projects$Regions$Clusters { + root: Dataproc; + constructor(root: Dataproc); + getRoot(): Dataproc; + /** + * dataproc.projects.regions.clusters.create + * @desc Creates a cluster in a project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Dataproc API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dataproc + * // 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 dataproc = google.dataproc('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Required. The ID of the Google Cloud Platform project that the + * cluster belongs to. projectId: 'my-project-id', // TODO: Update + * placeholder value. + * + * // Required. The Cloud Dataproc region in which to handle the + * request. region: 'my-region', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * dataproc.projects.regions.clusters.create(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 dataproc.projects.regions.clusters.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId Required. The ID of the Google Cloud Platform project that the cluster belongs to. + * @param {string} params.region Required. The Cloud Dataproc region in which to handle the request. + * @param {string=} params.requestId Optional. A unique id used to identify the request. If the server receives two CreateClusterRequest requests with the same id, then the second request will be ignored and the first google.longrunning.Operation created and stored in the backend is returned.It is recommended to always set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The id must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters. + * @param {().Cluster} 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 + */ + create(params?: Params$Resource$Projects$Regions$Clusters$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Regions$Clusters$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Regions$Clusters$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.clusters.delete + * @desc Deletes a cluster in a project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Dataproc API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dataproc + * // 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 dataproc = google.dataproc('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Required. The ID of the Google Cloud Platform project that the + * cluster belongs to. projectId: 'my-project-id', // TODO: Update + * placeholder value. + * + * // Required. The Cloud Dataproc region in which to handle the + * request. region: 'my-region', // TODO: Update placeholder value. + * + * // Required. The cluster name. + * clusterName: 'my-cluster-name', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dataproc.projects.regions.clusters.delete(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 dataproc.projects.regions.clusters.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterName Required. The cluster name. + * @param {string=} params.clusterUuid Optional. Specifying the cluster_uuid means the RPC should fail (with error NOT_FOUND) if cluster with specified UUID does not exist. + * @param {string} params.projectId Required. The ID of the Google Cloud Platform project that the cluster belongs to. + * @param {string} params.region Required. The Cloud Dataproc region in which to handle the request. + * @param {string=} params.requestId Optional. A unique id used to identify the request. If the server receives two DeleteClusterRequest requests with the same id, then the second request will be ignored and the first google.longrunning.Operation created and stored in the backend is returned.It is recommended to always set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The id must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters. + * @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?: Params$Resource$Projects$Regions$Clusters$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Regions$Clusters$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Regions$Clusters$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.clusters.diagnose + * @desc Gets cluster diagnostic information. After the operation completes, + * the Operation.response field contains DiagnoseClusterOutputLocation. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Dataproc API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dataproc + * // 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 dataproc = google.dataproc('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Required. The ID of the Google Cloud Platform project that the + * cluster belongs to. projectId: 'my-project-id', // TODO: Update + * placeholder value. + * + * // Required. The Cloud Dataproc region in which to handle the + * request. region: 'my-region', // TODO: Update placeholder value. + * + * // Required. The cluster name. + * clusterName: 'my-cluster-name', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * dataproc.projects.regions.clusters.diagnose(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 dataproc.projects.regions.clusters.diagnose + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterName Required. The cluster name. + * @param {string} params.projectId Required. The ID of the Google Cloud Platform project that the cluster belongs to. + * @param {string} params.region Required. The Cloud Dataproc region in which to handle the request. + * @param {().DiagnoseClusterRequest} 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 + */ + diagnose(params?: Params$Resource$Projects$Regions$Clusters$Diagnose, options?: MethodOptions): AxiosPromise; + diagnose(params: Params$Resource$Projects$Regions$Clusters$Diagnose, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + diagnose(params: Params$Resource$Projects$Regions$Clusters$Diagnose, callback: BodyResponseCallback): void; + diagnose(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.clusters.get + * @desc Gets the resource representation for a cluster in a project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Dataproc API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dataproc + * // 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 dataproc = google.dataproc('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Required. The ID of the Google Cloud Platform project that the + * cluster belongs to. projectId: 'my-project-id', // TODO: Update + * placeholder value. + * + * // Required. The Cloud Dataproc region in which to handle the + * request. region: 'my-region', // TODO: Update placeholder value. + * + * // Required. The cluster name. + * clusterName: 'my-cluster-name', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dataproc.projects.regions.clusters.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 dataproc.projects.regions.clusters.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterName Required. The cluster name. + * @param {string} params.projectId Required. The ID of the Google Cloud Platform project that the cluster belongs to. + * @param {string} params.region Required. The Cloud Dataproc region in which to handle the request. + * @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?: Params$Resource$Projects$Regions$Clusters$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Regions$Clusters$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Regions$Clusters$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.clusters.getIamPolicy + * @desc Gets the access control policy for a resource. Returns an empty + * policy if the resource exists and does not have a policy set. + * @alias dataproc.projects.regions.clusters.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. + * @param {().GetIamPolicyRequest} 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 + */ + getIamPolicy(params?: Params$Resource$Projects$Regions$Clusters$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Projects$Regions$Clusters$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Projects$Regions$Clusters$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.clusters.list + * @desc Lists all regions/{region}/clusters in a project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Dataproc API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dataproc + * // 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 dataproc = google.dataproc('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Required. The ID of the Google Cloud Platform project that the + * cluster belongs to. projectId: 'my-project-id', // TODO: Update + * placeholder value. + * + * // Required. The Cloud Dataproc region in which to handle the + * request. region: 'my-region', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var clustersPage = response['clusters']; + * if (!clustersPage) { + * return; + * } + * for (var i = 0; i < clustersPage.length; i++) { + * // TODO: Change code below to process each resource in + * `clustersPage`: console.log(JSON.stringify(clustersPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * dataproc.projects.regions.clusters.list(request, handlePage); + * } + * }; + * + * dataproc.projects.regions.clusters.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 dataproc.projects.regions.clusters.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter Optional. A filter constraining the clusters to list. Filters are case-sensitive and have the following syntax:field = value AND field = value ...where field is one of status.state, clusterName, or labels.[KEY], and [KEY] is a label key. value can be * to match all values. status.state can be one of the following: ACTIVE, INACTIVE, CREATING, RUNNING, ERROR, DELETING, or UPDATING. ACTIVE contains the CREATING, UPDATING, and RUNNING states. INACTIVE contains the DELETING and ERROR states. clusterName is the name of the cluster provided at creation time. Only the logical AND operator is supported; space-separated items are treated as having an implicit AND operator.Example filter:status.state = ACTIVE AND clusterName = mycluster AND labels.env = staging AND labels.starred = * + * @param {integer=} params.pageSize Optional. The standard List page size. + * @param {string=} params.pageToken Optional. The standard List page token. + * @param {string} params.projectId Required. The ID of the Google Cloud Platform project that the cluster belongs to. + * @param {string} params.region Required. The Cloud Dataproc region in which to handle the request. + * @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?: Params$Resource$Projects$Regions$Clusters$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Regions$Clusters$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Regions$Clusters$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.clusters.patch + * @desc Updates a cluster in a project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Dataproc API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dataproc + * // 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 dataproc = google.dataproc('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Required. The ID of the Google Cloud Platform project the cluster + * belongs to. projectId: 'my-project-id', // TODO: Update placeholder + * value. + * + * // Required. The Cloud Dataproc region in which to handle the + * request. region: 'my-region', // TODO: Update placeholder value. + * + * // Required. The cluster name. + * clusterName: 'my-cluster-name', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * dataproc.projects.regions.clusters.patch(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 dataproc.projects.regions.clusters.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterName Required. The cluster name. + * @param {string=} params.gracefulDecommissionTimeout Optional. Timeout for graceful YARN decomissioning. Graceful decommissioning allows removing nodes from the cluster without interrupting jobs in progress. Timeout specifies how long to wait for jobs in progress to finish before forcefully removing nodes (and potentially interrupting jobs). Default timeout is 0 (for forceful decommission), and the maximum allowed timeout is 1 day.Only supported on Dataproc image versions 1.2 and higher. + * @param {string} params.projectId Required. The ID of the Google Cloud Platform project the cluster belongs to. + * @param {string} params.region Required. The Cloud Dataproc region in which to handle the request. + * @param {string=} params.requestId Optional. A unique id used to identify the request. If the server receives two UpdateClusterRequest requests with the same id, then the second request will be ignored and the first google.longrunning.Operation created and stored in the backend is returned.It is recommended to always set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The id must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters. + * @param {string=} params.updateMask Required. Specifies the path, relative to Cluster, of the field to update. For example, to change the number of workers in a cluster to 5, the update_mask parameter would be specified as config.worker_config.num_instances, and the PATCH request body would specify the new value, as follows: { "config":{ "workerConfig":{ "numInstances":"5" } } } Similarly, to change the number of preemptible workers in a cluster to 5, the update_mask parameter would be config.secondary_worker_config.num_instances, and the PATCH request body would be set as follows: { "config":{ "secondaryWorkerConfig":{ "numInstances":"5" } } } Note: Currently, only the following fields can be updated:
Mask Purpose
labels Update labels
config.worker_config.num_instances Resize primary worker group
config.secondary_worker_config.num_instances Resize secondary worker group
+ * @param {().Cluster} 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 + */ + patch(params?: Params$Resource$Projects$Regions$Clusters$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Regions$Clusters$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Regions$Clusters$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.clusters.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @alias dataproc.projects.regions.clusters.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. + * @param {().SetIamPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Projects$Regions$Clusters$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Projects$Regions$Clusters$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Projects$Regions$Clusters$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.clusters.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. If + * the resource does not exist, this will return an empty set of + * permissions, not a NOT_FOUND error.Note: This operation is designed to be + * used for building permission-aware UIs and command-line tools, not for + * authorization checking. This operation may "fail open" without warning. + * @alias dataproc.projects.regions.clusters.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. + * @param {().TestIamPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Projects$Regions$Clusters$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Projects$Regions$Clusters$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Projects$Regions$Clusters$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Regions$Clusters$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The ID of the Google Cloud Platform project that the cluster + * belongs to. + */ + projectId?: string; + /** + * Required. The Cloud Dataproc region in which to handle the request. + */ + region?: string; + /** + * Optional. A unique id used to identify the request. If the server + * receives two CreateClusterRequest requests with the same id, then the + * second request will be ignored and the first google.longrunning.Operation + * created and stored in the backend is returned.It is recommended to always + * set this value to a UUID + * (https://en.wikipedia.org/wiki/Universally_unique_identifier).The id must + * contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and + * hyphens (-). The maximum length is 40 characters. + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Cluster; + } + interface Params$Resource$Projects$Regions$Clusters$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The cluster name. + */ + clusterName?: string; + /** + * Optional. Specifying the cluster_uuid means the RPC should fail (with + * error NOT_FOUND) if cluster with specified UUID does not exist. + */ + clusterUuid?: string; + /** + * Required. The ID of the Google Cloud Platform project that the cluster + * belongs to. + */ + projectId?: string; + /** + * Required. The Cloud Dataproc region in which to handle the request. + */ + region?: string; + /** + * Optional. A unique id used to identify the request. If the server + * receives two DeleteClusterRequest requests with the same id, then the + * second request will be ignored and the first google.longrunning.Operation + * created and stored in the backend is returned.It is recommended to always + * set this value to a UUID + * (https://en.wikipedia.org/wiki/Universally_unique_identifier).The id must + * contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and + * hyphens (-). The maximum length is 40 characters. + */ + requestId?: string; + } + interface Params$Resource$Projects$Regions$Clusters$Diagnose { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The cluster name. + */ + clusterName?: string; + /** + * Required. The ID of the Google Cloud Platform project that the cluster + * belongs to. + */ + projectId?: string; + /** + * Required. The Cloud Dataproc region in which to handle the request. + */ + region?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DiagnoseClusterRequest; + } + interface Params$Resource$Projects$Regions$Clusters$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The cluster name. + */ + clusterName?: string; + /** + * Required. The ID of the Google Cloud Platform project that the cluster + * belongs to. + */ + projectId?: string; + /** + * Required. The Cloud Dataproc region in which to handle the request. + */ + region?: string; + } + interface Params$Resource$Projects$Regions$Clusters$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being requested. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GetIamPolicyRequest; + } + interface Params$Resource$Projects$Regions$Clusters$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. A filter constraining the clusters to list. Filters are + * case-sensitive and have the following syntax:field = value AND field = + * value ...where field is one of status.state, clusterName, or + * labels.[KEY], and [KEY] is a label key. value can be * to match all + * values. status.state can be one of the following: ACTIVE, INACTIVE, + * CREATING, RUNNING, ERROR, DELETING, or UPDATING. ACTIVE contains the + * CREATING, UPDATING, and RUNNING states. INACTIVE contains the DELETING + * and ERROR states. clusterName is the name of the cluster provided at + * creation time. Only the logical AND operator is supported; + * space-separated items are treated as having an implicit AND + * operator.Example filter:status.state = ACTIVE AND clusterName = mycluster + * AND labels.env = staging AND labels.starred = * + */ + filter?: string; + /** + * Optional. The standard List page size. + */ + pageSize?: number; + /** + * Optional. The standard List page token. + */ + pageToken?: string; + /** + * Required. The ID of the Google Cloud Platform project that the cluster + * belongs to. + */ + projectId?: string; + /** + * Required. The Cloud Dataproc region in which to handle the request. + */ + region?: string; + } + interface Params$Resource$Projects$Regions$Clusters$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The cluster name. + */ + clusterName?: string; + /** + * Optional. Timeout for graceful YARN decomissioning. Graceful + * decommissioning allows removing nodes from the cluster without + * interrupting jobs in progress. Timeout specifies how long to wait for + * jobs in progress to finish before forcefully removing nodes (and + * potentially interrupting jobs). Default timeout is 0 (for forceful + * decommission), and the maximum allowed timeout is 1 day.Only supported on + * Dataproc image versions 1.2 and higher. + */ + gracefulDecommissionTimeout?: string; + /** + * Required. The ID of the Google Cloud Platform project the cluster belongs + * to. + */ + projectId?: string; + /** + * Required. The Cloud Dataproc region in which to handle the request. + */ + region?: string; + /** + * Optional. A unique id used to identify the request. If the server + * receives two UpdateClusterRequest requests with the same id, then the + * second request will be ignored and the first google.longrunning.Operation + * created and stored in the backend is returned.It is recommended to always + * set this value to a UUID + * (https://en.wikipedia.org/wiki/Universally_unique_identifier).The id must + * contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and + * hyphens (-). The maximum length is 40 characters. + */ + requestId?: string; + /** + * Required. Specifies the path, relative to Cluster, of the field to + * update. For example, to change the number of workers in a cluster to 5, + * the update_mask parameter would be specified as + * config.worker_config.num_instances, and the PATCH request body would + * specify the new value, as follows: { "config":{ "workerConfig":{ + * "numInstances":"5" } } } Similarly, to change the number of + * preemptible workers in a cluster to 5, the update_mask parameter would be + * config.secondary_worker_config.num_instances, and the PATCH request body + * would be set as follows: { "config":{ "secondaryWorkerConfig":{ + * "numInstances":"5" } } } Note: Currently, only the + * following fields can be updated: + * + * + * + * + * + * + *
Mask Purpose
labels Update labels
config.worker_config.num_instancesResize primary worker group
config.secondary_worker_config.num_instancesResize secondary worker group
+ */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Cluster; + } + interface Params$Resource$Projects$Regions$Clusters$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being specified. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetIamPolicyRequest; + } + interface Params$Resource$Projects$Regions$Clusters$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestIamPermissionsRequest; + } + class Resource$Projects$Regions$Jobs { + root: Dataproc; + constructor(root: Dataproc); + getRoot(): Dataproc; + /** + * dataproc.projects.regions.jobs.cancel + * @desc Starts a job cancellation request. To access the job resource after + * cancellation, call regions/{region}/jobs.list or + * regions/{region}/jobs.get. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Dataproc API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dataproc + * // 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 dataproc = google.dataproc('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Required. The ID of the Google Cloud Platform project that the job + * belongs to. projectId: 'my-project-id', // TODO: Update placeholder + * value. + * + * // Required. The Cloud Dataproc region in which to handle the + * request. region: 'my-region', // TODO: Update placeholder value. + * + * // Required. The job ID. + * jobId: 'my-job-id', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * dataproc.projects.regions.jobs.cancel(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 dataproc.projects.regions.jobs.cancel + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.jobId Required. The job ID. + * @param {string} params.projectId Required. The ID of the Google Cloud Platform project that the job belongs to. + * @param {string} params.region Required. The Cloud Dataproc region in which to handle the request. + * @param {().CancelJobRequest} 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 + */ + cancel(params?: Params$Resource$Projects$Regions$Jobs$Cancel, options?: MethodOptions): AxiosPromise; + cancel(params: Params$Resource$Projects$Regions$Jobs$Cancel, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + cancel(params: Params$Resource$Projects$Regions$Jobs$Cancel, callback: BodyResponseCallback): void; + cancel(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.jobs.delete + * @desc Deletes the job from the project. If the job is active, the delete + * fails, and the response returns FAILED_PRECONDITION. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Dataproc API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dataproc + * // 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 dataproc = google.dataproc('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Required. The ID of the Google Cloud Platform project that the job + * belongs to. projectId: 'my-project-id', // TODO: Update placeholder + * value. + * + * // Required. The Cloud Dataproc region in which to handle the + * request. region: 'my-region', // TODO: Update placeholder value. + * + * // Required. The job ID. + * jobId: 'my-job-id', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dataproc.projects.regions.jobs.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 dataproc.projects.regions.jobs.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.jobId Required. The job ID. + * @param {string} params.projectId Required. The ID of the Google Cloud Platform project that the job belongs to. + * @param {string} params.region Required. The Cloud Dataproc region in which to handle the request. + * @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?: Params$Resource$Projects$Regions$Jobs$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Regions$Jobs$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Regions$Jobs$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.jobs.get + * @desc Gets the resource representation for a job in a project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Dataproc API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dataproc + * // 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 dataproc = google.dataproc('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Required. The ID of the Google Cloud Platform project that the job + * belongs to. projectId: 'my-project-id', // TODO: Update placeholder + * value. + * + * // Required. The Cloud Dataproc region in which to handle the + * request. region: 'my-region', // TODO: Update placeholder value. + * + * // Required. The job ID. + * jobId: 'my-job-id', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dataproc.projects.regions.jobs.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 dataproc.projects.regions.jobs.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.jobId Required. The job ID. + * @param {string} params.projectId Required. The ID of the Google Cloud Platform project that the job belongs to. + * @param {string} params.region Required. The Cloud Dataproc region in which to handle the request. + * @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?: Params$Resource$Projects$Regions$Jobs$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Regions$Jobs$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Regions$Jobs$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.jobs.getIamPolicy + * @desc Gets the access control policy for a resource. Returns an empty + * policy if the resource exists and does not have a policy set. + * @alias dataproc.projects.regions.jobs.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. + * @param {().GetIamPolicyRequest} 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 + */ + getIamPolicy(params?: Params$Resource$Projects$Regions$Jobs$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Projects$Regions$Jobs$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Projects$Regions$Jobs$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.jobs.list + * @desc Lists regions/{region}/jobs in a project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Dataproc API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dataproc + * // 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 dataproc = google.dataproc('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Required. The ID of the Google Cloud Platform project that the job + * belongs to. projectId: 'my-project-id', // TODO: Update placeholder + * value. + * + * // Required. The Cloud Dataproc region in which to handle the + * request. region: 'my-region', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var jobsPage = response['jobs']; + * if (!jobsPage) { + * return; + * } + * for (var i = 0; i < jobsPage.length; i++) { + * // TODO: Change code below to process each resource in `jobsPage`: + * console.log(JSON.stringify(jobsPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * dataproc.projects.regions.jobs.list(request, handlePage); + * } + * }; + * + * dataproc.projects.regions.jobs.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 dataproc.projects.regions.jobs.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.clusterName Optional. If set, the returned jobs list includes only jobs that were submitted to the named cluster. + * @param {string=} params.filter Optional. A filter constraining the jobs to list. Filters are case-sensitive and have the following syntax:field = value AND field = value ...where field is status.state or labels.[KEY], and [KEY] is a label key. value can be * to match all values. status.state can be either ACTIVE or NON_ACTIVE. Only the logical AND operator is supported; space-separated items are treated as having an implicit AND operator.Example filter:status.state = ACTIVE AND labels.env = staging AND labels.starred = * + * @param {string=} params.jobStateMatcher Optional. Specifies enumerated categories of jobs to list. (default = match ALL jobs).If filter is provided, jobStateMatcher will be ignored. + * @param {integer=} params.pageSize Optional. The number of results to return in each response. + * @param {string=} params.pageToken Optional. The page token, returned by a previous call, to request the next page of results. + * @param {string} params.projectId Required. The ID of the Google Cloud Platform project that the job belongs to. + * @param {string} params.region Required. The Cloud Dataproc region in which to handle the request. + * @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?: Params$Resource$Projects$Regions$Jobs$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Regions$Jobs$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Regions$Jobs$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.jobs.patch + * @desc Updates a job in a project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Dataproc API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dataproc + * // 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 dataproc = google.dataproc('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Required. The ID of the Google Cloud Platform project that the job + * belongs to. projectId: 'my-project-id', // TODO: Update placeholder + * value. + * + * // Required. The Cloud Dataproc region in which to handle the + * request. region: 'my-region', // TODO: Update placeholder value. + * + * // Required. The job ID. + * jobId: 'my-job-id', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * dataproc.projects.regions.jobs.patch(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 dataproc.projects.regions.jobs.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.jobId Required. The job ID. + * @param {string} params.projectId Required. The ID of the Google Cloud Platform project that the job belongs to. + * @param {string} params.region Required. The Cloud Dataproc region in which to handle the request. + * @param {string=} params.updateMask Required. Specifies the path, relative to Job, of the field to update. For example, to update the labels of a Job the update_mask parameter would be specified as labels, and the PATCH request body would specify the new value. Note: Currently, labels is the only field that can be updated. + * @param {().Job} 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 + */ + patch(params?: Params$Resource$Projects$Regions$Jobs$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Regions$Jobs$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Regions$Jobs$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.jobs.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @alias dataproc.projects.regions.jobs.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. + * @param {().SetIamPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Projects$Regions$Jobs$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Projects$Regions$Jobs$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Projects$Regions$Jobs$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.jobs.submit + * @desc Submits a job to a cluster. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Dataproc API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dataproc + * // 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 dataproc = google.dataproc('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Required. The ID of the Google Cloud Platform project that the job + * belongs to. projectId: 'my-project-id', // TODO: Update placeholder + * value. + * + * // Required. The Cloud Dataproc region in which to handle the + * request. region: 'my-region', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * dataproc.projects.regions.jobs.submit(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 dataproc.projects.regions.jobs.submit + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId Required. The ID of the Google Cloud Platform project that the job belongs to. + * @param {string} params.region Required. The Cloud Dataproc region in which to handle the request. + * @param {().SubmitJobRequest} 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 + */ + submit(params?: Params$Resource$Projects$Regions$Jobs$Submit, options?: MethodOptions): AxiosPromise; + submit(params: Params$Resource$Projects$Regions$Jobs$Submit, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + submit(params: Params$Resource$Projects$Regions$Jobs$Submit, callback: BodyResponseCallback): void; + submit(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.jobs.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. If + * the resource does not exist, this will return an empty set of + * permissions, not a NOT_FOUND error.Note: This operation is designed to be + * used for building permission-aware UIs and command-line tools, not for + * authorization checking. This operation may "fail open" without warning. + * @alias dataproc.projects.regions.jobs.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. + * @param {().TestIamPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Projects$Regions$Jobs$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Projects$Regions$Jobs$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Projects$Regions$Jobs$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Regions$Jobs$Cancel { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The job ID. + */ + jobId?: string; + /** + * Required. The ID of the Google Cloud Platform project that the job + * belongs to. + */ + projectId?: string; + /** + * Required. The Cloud Dataproc region in which to handle the request. + */ + region?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CancelJobRequest; + } + interface Params$Resource$Projects$Regions$Jobs$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The job ID. + */ + jobId?: string; + /** + * Required. The ID of the Google Cloud Platform project that the job + * belongs to. + */ + projectId?: string; + /** + * Required. The Cloud Dataproc region in which to handle the request. + */ + region?: string; + } + interface Params$Resource$Projects$Regions$Jobs$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The job ID. + */ + jobId?: string; + /** + * Required. The ID of the Google Cloud Platform project that the job + * belongs to. + */ + projectId?: string; + /** + * Required. The Cloud Dataproc region in which to handle the request. + */ + region?: string; + } + interface Params$Resource$Projects$Regions$Jobs$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being requested. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GetIamPolicyRequest; + } + interface Params$Resource$Projects$Regions$Jobs$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. If set, the returned jobs list includes only jobs that were + * submitted to the named cluster. + */ + clusterName?: string; + /** + * Optional. A filter constraining the jobs to list. Filters are + * case-sensitive and have the following syntax:field = value AND field = + * value ...where field is status.state or labels.[KEY], and [KEY] is a + * label key. value can be * to match all values. status.state can be either + * ACTIVE or NON_ACTIVE. Only the logical AND operator is supported; + * space-separated items are treated as having an implicit AND + * operator.Example filter:status.state = ACTIVE AND labels.env = staging + * AND labels.starred = * + */ + filter?: string; + /** + * Optional. Specifies enumerated categories of jobs to list. (default = + * match ALL jobs).If filter is provided, jobStateMatcher will be ignored. + */ + jobStateMatcher?: string; + /** + * Optional. The number of results to return in each response. + */ + pageSize?: number; + /** + * Optional. The page token, returned by a previous call, to request the + * next page of results. + */ + pageToken?: string; + /** + * Required. The ID of the Google Cloud Platform project that the job + * belongs to. + */ + projectId?: string; + /** + * Required. The Cloud Dataproc region in which to handle the request. + */ + region?: string; + } + interface Params$Resource$Projects$Regions$Jobs$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The job ID. + */ + jobId?: string; + /** + * Required. The ID of the Google Cloud Platform project that the job + * belongs to. + */ + projectId?: string; + /** + * Required. The Cloud Dataproc region in which to handle the request. + */ + region?: string; + /** + * Required. Specifies the path, relative to Job, of the field + * to update. For example, to update the labels of a Job the + * update_mask parameter would be specified as + * labels, and the PATCH request body would specify the new + * value. Note: Currently, labels is the only + * field that can be updated. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Job; + } + interface Params$Resource$Projects$Regions$Jobs$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being specified. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetIamPolicyRequest; + } + interface Params$Resource$Projects$Regions$Jobs$Submit { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The ID of the Google Cloud Platform project that the job + * belongs to. + */ + projectId?: string; + /** + * Required. The Cloud Dataproc region in which to handle the request. + */ + region?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SubmitJobRequest; + } + interface Params$Resource$Projects$Regions$Jobs$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestIamPermissionsRequest; + } + class Resource$Projects$Regions$Operations { + root: Dataproc; + constructor(root: Dataproc); + getRoot(): Dataproc; + /** + * dataproc.projects.regions.operations.cancel + * @desc Starts asynchronous cancellation on a long-running operation. The + * server makes a best effort to cancel the operation, but success is not + * guaranteed. If the server doesn't support this method, it returns + * google.rpc.Code.UNIMPLEMENTED. Clients can use Operations.GetOperation or + * other methods to check whether the cancellation succeeded or whether the + * operation completed despite cancellation. On successful cancellation, the + * operation is not deleted; instead, it becomes an operation with an + * Operation.error value with a google.rpc.Status.code of 1, corresponding + * to Code.CANCELLED. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Dataproc API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dataproc + * // 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 dataproc = google.dataproc('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The name of the operation resource to be cancelled. + * name: + * 'projects/my-project/regions/my-region/operations/my-operation', // + * TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dataproc.projects.regions.operations.cancel(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 dataproc.projects.regions.operations.cancel + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource to be cancelled. + * @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 + */ + cancel(params?: Params$Resource$Projects$Regions$Operations$Cancel, options?: MethodOptions): AxiosPromise; + cancel(params: Params$Resource$Projects$Regions$Operations$Cancel, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + cancel(params: Params$Resource$Projects$Regions$Operations$Cancel, callback: BodyResponseCallback): void; + cancel(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.operations.delete + * @desc Deletes a long-running operation. This method indicates that the + * client is no longer interested in the operation result. It does not + * cancel the operation. If the server doesn't support this method, it + * returns google.rpc.Code.UNIMPLEMENTED. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Dataproc API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dataproc + * // 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 dataproc = google.dataproc('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The name of the operation resource to be deleted. + * name: + * 'projects/my-project/regions/my-region/operations/my-operation', // + * TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dataproc.projects.regions.operations.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 dataproc.projects.regions.operations.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource to be deleted. + * @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?: Params$Resource$Projects$Regions$Operations$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Regions$Operations$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Regions$Operations$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.operations.get + * @desc Gets the latest state of a long-running operation. Clients can use + * this method to poll the operation result at intervals as recommended by + * the API service. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Dataproc API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dataproc + * // 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 dataproc = google.dataproc('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The name of the operation resource. + * name: + * 'projects/my-project/regions/my-region/operations/my-operation', // + * TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dataproc.projects.regions.operations.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 dataproc.projects.regions.operations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource. + * @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?: Params$Resource$Projects$Regions$Operations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Regions$Operations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Regions$Operations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.operations.getIamPolicy + * @desc Gets the access control policy for a resource. Returns an empty + * policy if the resource exists and does not have a policy set. + * @alias dataproc.projects.regions.operations.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. + * @param {().GetIamPolicyRequest} 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 + */ + getIamPolicy(params?: Params$Resource$Projects$Regions$Operations$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Projects$Regions$Operations$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Projects$Regions$Operations$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.operations.list + * @desc Lists operations that match the specified filter in the request. If + * the server doesn't support this method, it returns UNIMPLEMENTED.NOTE: + * the name binding allows API services to override the binding to use + * different resource name schemes, such as users/x/operations. To override + * the binding, API services can add a binding such as + * "/v1/{name=users/x}/operations" to their service configuration. For + * backwards compatibility, the default name includes the operations + * collection id, however overriding users must ensure the name binding is + * the parent resource, without the operations collection id. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Dataproc API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dataproc + * // 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 dataproc = google.dataproc('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The name of the operation's parent resource. + * name: 'projects/my-project/regions/my-region/operations', // TODO: + * Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var operationsPage = response['operations']; + * if (!operationsPage) { + * return; + * } + * for (var i = 0; i < operationsPage.length; i++) { + * // TODO: Change code below to process each resource in + * `operationsPage`: console.log(JSON.stringify(operationsPage[i], null, + * 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * dataproc.projects.regions.operations.list(request, handlePage); + * } + * }; + * + * dataproc.projects.regions.operations.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 dataproc.projects.regions.operations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter The standard list filter. + * @param {string} params.name The name of the operation's parent resource. + * @param {integer=} params.pageSize The standard list page size. + * @param {string=} params.pageToken The standard list page token. + * @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?: Params$Resource$Projects$Regions$Operations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Regions$Operations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Regions$Operations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.operations.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @alias dataproc.projects.regions.operations.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. + * @param {().SetIamPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Projects$Regions$Operations$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Projects$Regions$Operations$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Projects$Regions$Operations$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.operations.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. If + * the resource does not exist, this will return an empty set of + * permissions, not a NOT_FOUND error.Note: This operation is designed to be + * used for building permission-aware UIs and command-line tools, not for + * authorization checking. This operation may "fail open" without warning. + * @alias dataproc.projects.regions.operations.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. + * @param {().TestIamPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Projects$Regions$Operations$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Projects$Regions$Operations$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Projects$Regions$Operations$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Regions$Operations$Cancel { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource to be cancelled. + */ + name?: string; + } + interface Params$Resource$Projects$Regions$Operations$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource to be deleted. + */ + name?: string; + } + interface Params$Resource$Projects$Regions$Operations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource. + */ + name?: string; + } + interface Params$Resource$Projects$Regions$Operations$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being requested. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GetIamPolicyRequest; + } + interface Params$Resource$Projects$Regions$Operations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The standard list filter. + */ + filter?: string; + /** + * The name of the operation's parent resource. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } + interface Params$Resource$Projects$Regions$Operations$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being specified. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetIamPolicyRequest; + } + interface Params$Resource$Projects$Regions$Operations$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestIamPermissionsRequest; + } + class Resource$Projects$Regions$Workflowtemplates { + root: Dataproc; + constructor(root: Dataproc); + getRoot(): Dataproc; + /** + * dataproc.projects.regions.workflowTemplates.create + * @desc Creates new workflow template. + * @alias dataproc.projects.regions.workflowTemplates.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The "resource name" of the region, as described in https://cloud.google.com/apis/design/resource_names of the form projects/{project_id}/regions/{region} + * @param {().WorkflowTemplate} 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 + */ + create(params?: Params$Resource$Projects$Regions$Workflowtemplates$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Regions$Workflowtemplates$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Regions$Workflowtemplates$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.workflowTemplates.delete + * @desc Deletes a workflow template. It does not cancel in-progress + * workflows. + * @alias dataproc.projects.regions.workflowTemplates.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The "resource name" of the workflow template, as described in https://cloud.google.com/apis/design/resource_names of the form projects/{project_id}/regions/{region}/workflowTemplates/{template_id} + * @param {integer=} params.version Optional. The version of workflow template to delete. If specified, will only delete the template if the current server version matches specified version. + * @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?: Params$Resource$Projects$Regions$Workflowtemplates$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Regions$Workflowtemplates$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Regions$Workflowtemplates$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.workflowTemplates.get + * @desc Retrieves the latest workflow template.Can retrieve previously + * instantiated template by specifying optional version parameter. + * @alias dataproc.projects.regions.workflowTemplates.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The "resource name" of the workflow template, as described in https://cloud.google.com/apis/design/resource_names of the form projects/{project_id}/regions/{region}/workflowTemplates/{template_id} + * @param {integer=} params.version Optional. The version of workflow template to retrieve. Only previously instatiated versions can be retrieved.If unspecified, retrieves the current version. + * @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?: Params$Resource$Projects$Regions$Workflowtemplates$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Regions$Workflowtemplates$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Regions$Workflowtemplates$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.workflowTemplates.getIamPolicy + * @desc Gets the access control policy for a resource. Returns an empty + * policy if the resource exists and does not have a policy set. + * @alias dataproc.projects.regions.workflowTemplates.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. + * @param {().GetIamPolicyRequest} 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 + */ + getIamPolicy(params?: Params$Resource$Projects$Regions$Workflowtemplates$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Projects$Regions$Workflowtemplates$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Projects$Regions$Workflowtemplates$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.workflowTemplates.instantiate + * @desc Instantiates a template and begins execution.The returned Operation + * can be used to track execution of workflow by polling operations.get. The + * Operation will complete when entire workflow is finished.The running + * workflow can be aborted via operations.cancel. This will cause any + * inflight jobs to be cancelled and workflow-owned clusters to be + * deleted.The Operation.metadata will be WorkflowMetadata.On successful + * completion, Operation.response will be Empty. + * @alias dataproc.projects.regions.workflowTemplates.instantiate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The "resource name" of the workflow template, as described in https://cloud.google.com/apis/design/resource_names of the form projects/{project_id}/regions/{region}/workflowTemplates/{template_id} + * @param {().InstantiateWorkflowTemplateRequest} 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 + */ + instantiate(params?: Params$Resource$Projects$Regions$Workflowtemplates$Instantiate, options?: MethodOptions): AxiosPromise; + instantiate(params: Params$Resource$Projects$Regions$Workflowtemplates$Instantiate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + instantiate(params: Params$Resource$Projects$Regions$Workflowtemplates$Instantiate, callback: BodyResponseCallback): void; + instantiate(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.workflowTemplates.instantiateInline + * @desc Instantiates a template and begins execution.This method is + * equivalent to executing the sequence CreateWorkflowTemplate, + * InstantiateWorkflowTemplate, DeleteWorkflowTemplate.The returned + * Operation can be used to track execution of workflow by polling + * operations.get. The Operation will complete when entire workflow is + * finished.The running workflow can be aborted via operations.cancel. This + * will cause any inflight jobs to be cancelled and workflow-owned clusters + * to be deleted.The Operation.metadata will be WorkflowMetadata.On + * successful completion, Operation.response will be Empty. + * @alias dataproc.projects.regions.workflowTemplates.instantiateInline + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The "resource name" of the workflow template region, as described in https://cloud.google.com/apis/design/resource_names of the form projects/{project_id}/regions/{region} + * @param {string=} params.requestId Optional. A tag that prevents multiple concurrent workflow instances with the same tag from running. This mitigates risk of concurrent instances started due to retries.It is recommended to always set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The tag must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters. + * @param {().WorkflowTemplate} 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 + */ + instantiateInline(params?: Params$Resource$Projects$Regions$Workflowtemplates$Instantiateinline, options?: MethodOptions): AxiosPromise; + instantiateInline(params: Params$Resource$Projects$Regions$Workflowtemplates$Instantiateinline, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + instantiateInline(params: Params$Resource$Projects$Regions$Workflowtemplates$Instantiateinline, callback: BodyResponseCallback): void; + instantiateInline(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.workflowTemplates.list + * @desc Lists workflows that match the specified filter in the request. + * @alias dataproc.projects.regions.workflowTemplates.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Optional. The maximum number of results to return in each response. + * @param {string=} params.pageToken Optional. The page token, returned by a previous call, to request the next page of results. + * @param {string} params.parent Required. The "resource name" of the region, as described in https://cloud.google.com/apis/design/resource_names of the form projects/{project_id}/regions/{region} + * @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?: Params$Resource$Projects$Regions$Workflowtemplates$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Regions$Workflowtemplates$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Regions$Workflowtemplates$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.workflowTemplates.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @alias dataproc.projects.regions.workflowTemplates.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. + * @param {().SetIamPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Projects$Regions$Workflowtemplates$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Projects$Regions$Workflowtemplates$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Projects$Regions$Workflowtemplates$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.workflowTemplates.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. If + * the resource does not exist, this will return an empty set of + * permissions, not a NOT_FOUND error.Note: This operation is designed to be + * used for building permission-aware UIs and command-line tools, not for + * authorization checking. This operation may "fail open" without warning. + * @alias dataproc.projects.regions.workflowTemplates.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. + * @param {().TestIamPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Projects$Regions$Workflowtemplates$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Projects$Regions$Workflowtemplates$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Projects$Regions$Workflowtemplates$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.workflowTemplates.update + * @desc Updates (replaces) workflow template. The updated template must + * contain version that matches the current server version. + * @alias dataproc.projects.regions.workflowTemplates.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Output only. The "resource name" of the template, as described in https://cloud.google.com/apis/design/resource_names of the form projects/{project_id}/regions/{region}/workflowTemplates/{template_id} + * @param {().WorkflowTemplate} 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?: Params$Resource$Projects$Regions$Workflowtemplates$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Projects$Regions$Workflowtemplates$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Projects$Regions$Workflowtemplates$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Regions$Workflowtemplates$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The "resource name" of the region, as described in + * https://cloud.google.com/apis/design/resource_names of the form + * projects/{project_id}/regions/{region} + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$WorkflowTemplate; + } + interface Params$Resource$Projects$Regions$Workflowtemplates$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The "resource name" of the workflow template, as described in + * https://cloud.google.com/apis/design/resource_names of the form + * projects/{project_id}/regions/{region}/workflowTemplates/{template_id} + */ + name?: string; + /** + * Optional. The version of workflow template to delete. If specified, will + * only delete the template if the current server version matches specified + * version. + */ + version?: number; + } + interface Params$Resource$Projects$Regions$Workflowtemplates$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The "resource name" of the workflow template, as described in + * https://cloud.google.com/apis/design/resource_names of the form + * projects/{project_id}/regions/{region}/workflowTemplates/{template_id} + */ + name?: string; + /** + * Optional. The version of workflow template to retrieve. Only previously + * instatiated versions can be retrieved.If unspecified, retrieves the + * current version. + */ + version?: number; + } + interface Params$Resource$Projects$Regions$Workflowtemplates$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being requested. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GetIamPolicyRequest; + } + interface Params$Resource$Projects$Regions$Workflowtemplates$Instantiate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The "resource name" of the workflow template, as described in + * https://cloud.google.com/apis/design/resource_names of the form + * projects/{project_id}/regions/{region}/workflowTemplates/{template_id} + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstantiateWorkflowTemplateRequest; + } + interface Params$Resource$Projects$Regions$Workflowtemplates$Instantiateinline { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The "resource name" of the workflow template region, as + * described in https://cloud.google.com/apis/design/resource_names of the + * form projects/{project_id}/regions/{region} + */ + parent?: string; + /** + * Optional. A tag that prevents multiple concurrent workflow instances with + * the same tag from running. This mitigates risk of concurrent instances + * started due to retries.It is recommended to always set this value to a + * UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The + * tag must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), + * and hyphens (-). The maximum length is 40 characters. + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$WorkflowTemplate; + } + interface Params$Resource$Projects$Regions$Workflowtemplates$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The maximum number of results to return in each response. + */ + pageSize?: number; + /** + * Optional. The page token, returned by a previous call, to request the + * next page of results. + */ + pageToken?: string; + /** + * Required. The "resource name" of the region, as described in + * https://cloud.google.com/apis/design/resource_names of the form + * projects/{project_id}/regions/{region} + */ + parent?: string; + } + interface Params$Resource$Projects$Regions$Workflowtemplates$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being specified. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetIamPolicyRequest; + } + interface Params$Resource$Projects$Regions$Workflowtemplates$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestIamPermissionsRequest; + } + interface Params$Resource$Projects$Regions$Workflowtemplates$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Output only. The "resource name" of the template, as described in + * https://cloud.google.com/apis/design/resource_names of the form + * projects/{project_id}/regions/{region}/workflowTemplates/{template_id} + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$WorkflowTemplate; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/dataproc/v1.js b/express-server/node_modules/googleapis/build/src/apis/dataproc/v1.js new file mode 100644 index 00000000..503260e6 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dataproc/v1.js @@ -0,0 +1,1543 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var dataproc_v1; +(function (dataproc_v1) { + /** + * Cloud Dataproc API + * + * Manages Hadoop-based clusters and jobs on Google Cloud Platform. + * + * @example + * const {google} = require('googleapis'); + * const dataproc = google.dataproc('v1'); + * + * @namespace dataproc + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Dataproc + */ + class Dataproc { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.projects = new Resource$Projects(this); + } + getRoot() { + return this.root; + } + } + dataproc_v1.Dataproc = Dataproc; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.locations = new Resource$Projects$Locations(root); + this.regions = new Resource$Projects$Regions(root); + } + getRoot() { + return this.root; + } + } + dataproc_v1.Resource$Projects = Resource$Projects; + class Resource$Projects$Locations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.workflowTemplates = + new Resource$Projects$Locations$Workflowtemplates(root); + } + getRoot() { + return this.root; + } + } + dataproc_v1.Resource$Projects$Locations = Resource$Projects$Locations; + class Resource$Projects$Locations$Workflowtemplates { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/workflowTemplates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + instantiate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:instantiate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + instantiateInline(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/{+parent}/workflowTemplates:instantiateInline') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/workflowTemplates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dataproc_v1.Resource$Projects$Locations$Workflowtemplates = Resource$Projects$Locations$Workflowtemplates; + class Resource$Projects$Regions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.clusters = new Resource$Projects$Regions$Clusters(root); + this.jobs = new Resource$Projects$Regions$Jobs(root); + this.operations = new Resource$Projects$Regions$Operations(root); + this.workflowTemplates = + new Resource$Projects$Regions$Workflowtemplates(root); + } + getRoot() { + return this.root; + } + } + dataproc_v1.Resource$Projects$Regions = Resource$Projects$Regions; + class Resource$Projects$Regions$Clusters { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/projects/{projectId}/regions/{region}/clusters') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'region'], + pathParams: ['projectId', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/projects/{projectId}/regions/{region}/clusters/{clusterName}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['projectId', 'region', 'clusterName'], + pathParams: ['clusterName', 'projectId', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + diagnose(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/projects/{projectId}/regions/{region}/clusters/{clusterName}:diagnose') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'region', 'clusterName'], + pathParams: ['clusterName', 'projectId', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/projects/{projectId}/regions/{region}/clusters/{clusterName}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId', 'region', 'clusterName'], + pathParams: ['clusterName', 'projectId', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/projects/{projectId}/regions/{region}/clusters') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId', 'region'], + pathParams: ['projectId', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/projects/{projectId}/regions/{region}/clusters/{clusterName}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['projectId', 'region', 'clusterName'], + pathParams: ['clusterName', 'projectId', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dataproc_v1.Resource$Projects$Regions$Clusters = Resource$Projects$Regions$Clusters; + class Resource$Projects$Regions$Jobs { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + cancel(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/projects/{projectId}/regions/{region}/jobs/{jobId}:cancel') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'region', 'jobId'], + pathParams: ['jobId', 'projectId', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/projects/{projectId}/regions/{region}/jobs/{jobId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['projectId', 'region', 'jobId'], + pathParams: ['jobId', 'projectId', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/projects/{projectId}/regions/{region}/jobs/{jobId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId', 'region', 'jobId'], + pathParams: ['jobId', 'projectId', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/projects/{projectId}/regions/{region}/jobs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId', 'region'], + pathParams: ['projectId', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/projects/{projectId}/regions/{region}/jobs/{jobId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['projectId', 'region', 'jobId'], + pathParams: ['jobId', 'projectId', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + submit(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/projects/{projectId}/regions/{region}/jobs:submit') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'region'], + pathParams: ['projectId', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dataproc_v1.Resource$Projects$Regions$Jobs = Resource$Projects$Regions$Jobs; + class Resource$Projects$Regions$Operations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + cancel(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:cancel') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dataproc_v1.Resource$Projects$Regions$Operations = Resource$Projects$Regions$Operations; + class Resource$Projects$Regions$Workflowtemplates { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/workflowTemplates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + instantiate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:instantiate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + instantiateInline(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/{+parent}/workflowTemplates:instantiateInline') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/workflowTemplates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dataproc_v1.Resource$Projects$Regions$Workflowtemplates = Resource$Projects$Regions$Workflowtemplates; +})(dataproc_v1 = exports.dataproc_v1 || (exports.dataproc_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/dataproc/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/dataproc/v1.js.map new file mode 100644 index 00000000..2a19bc1c --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dataproc/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/dataproc/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/dataproc/v1beta2.d.ts b/express-server/node_modules/googleapis/build/src/apis/dataproc/v1beta2.d.ts new file mode 100644 index 00000000..02b7460e --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dataproc/v1beta2.d.ts @@ -0,0 +1,3524 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace dataproc_v1beta2 { + interface Options extends GlobalOptions { + version: 'v1beta2'; + } + /** + * Cloud Dataproc API + * + * Manages Hadoop-based clusters and jobs on Google Cloud Platform. + * + * @example + * const {google} = require('googleapis'); + * const dataproc = google.dataproc('v1beta2'); + * + * @namespace dataproc + * @type {Function} + * @version v1beta2 + * @variation v1beta2 + * @param {object=} options Options for Dataproc + */ + class Dataproc { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + projects: Resource$Projects; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Specifies the type and number of accelerator cards attached to the + * instances of an instance group (see GPUs on Compute Engine). + */ + interface Schema$AcceleratorConfig { + /** + * The number of the accelerator cards of this type exposed to this + * instance. + */ + acceleratorCount?: number; + /** + * Full URL, partial URI, or short name of the accelerator type resource to + * expose to this instance. See Compute Engine AcceleratorTypes( + * /compute/docs/reference/beta/acceleratorTypes)Examples * + * https://www.googleapis.com/compute/beta/projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80 + * * + * projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80 + * * nvidia-tesla-k80Auto Zone Exception: If you are using the Cloud + * Dataproc Auto Zone Placement feature, you must use the short name of the + * accelerator type resource, for example, nvidia-tesla-k80. + */ + acceleratorTypeUri?: string; + } + /** + * Associates members with a role. + */ + interface Schema$Binding { + /** + * Unimplemented. The condition that is associated with this binding. NOTE: + * an unsatisfied condition will not allow user access via current binding. + * Different bindings, including their conditions, are examined + * independently. + */ + condition?: Schema$Expr; + /** + * Specifies the identities requesting access for a Cloud Platform resource. + * members can have the following values: allUsers: A special identifier + * that represents anyone who is on the internet; with or without a Google + * account. allAuthenticatedUsers: A special identifier that represents + * anyone who is authenticated with a Google account or a service account. + * user:{emailid}: An email address that represents a specific Google + * account. For example, alice@gmail.com . serviceAccount:{emailid}: An + * email address that represents a service account. For example, + * my-other-app@appspot.gserviceaccount.com. group:{emailid}: An email + * address that represents a Google group. For example, admins@example.com. + * domain:{domain}: A Google Apps domain name that represents all the users + * of that domain. For example, google.com or example.com. + */ + members?: string[]; + /** + * Role that is assigned to members. For example, roles/viewer, + * roles/editor, or roles/owner. + */ + role?: string; + } + /** + * A request to cancel a job. + */ + interface Schema$CancelJobRequest { + } + /** + * Describes the identifying information, config, and status of a cluster of + * Compute Engine instances. + */ + interface Schema$Cluster { + /** + * Required. The cluster name. Cluster names within a project must be + * unique. Names of deleted clusters can be reused. + */ + clusterName?: string; + /** + * Output only. A cluster UUID (Unique Universal Identifier). Cloud Dataproc + * generates this value when it creates the cluster. + */ + clusterUuid?: string; + /** + * Required. The cluster config. Note that Cloud Dataproc may set default + * values, and values may change when clusters are updated. + */ + config?: Schema$ClusterConfig; + /** + * Optional. The labels to associate with this cluster. Label keys must + * contain 1 to 63 characters, and must conform to RFC 1035 + * (https://www.ietf.org/rfc/rfc1035.txt). Label values may be empty, but, + * if present, must contain 1 to 63 characters, and must conform to RFC 1035 + * (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be + * associated with a cluster. + */ + labels?: any; + /** + * Output only. Contains cluster daemon metrics such as HDFS and YARN + * stats.Beta Feature: This report is available for testing purposes only. + * It may be changed before final release. + */ + metrics?: Schema$ClusterMetrics; + /** + * Required. The Google Cloud Platform project ID that the cluster belongs + * to. + */ + projectId?: string; + /** + * Output only. Cluster status. + */ + status?: Schema$ClusterStatus; + /** + * Output only. The previous cluster status. + */ + statusHistory?: Schema$ClusterStatus[]; + } + /** + * The cluster config. + */ + interface Schema$ClusterConfig { + /** + * Optional. A Cloud Storage staging bucket used for sharing generated SSH + * keys and config. If you do not specify a staging bucket, Cloud Dataproc + * will determine an appropriate Cloud Storage location (US, ASIA, or EU) + * for your cluster's staging bucket according to the Google Compute + * Engine zone where your cluster is deployed, and then it will create and + * manage this project-level, per-location bucket for you. + */ + configBucket?: string; + /** + * Optional. Encryption settings for the cluster. + */ + encryptionConfig?: Schema$EncryptionConfig; + /** + * Required. The shared Compute Engine config settings for all instances in + * a cluster. + */ + gceClusterConfig?: Schema$GceClusterConfig; + /** + * Optional. Commands to execute on each node after config is completed. By + * default, executables are run on master and all worker nodes. You can test + * a node's <code>role</code> metadata to run an executable + * on a master or worker node, as shown below using curl (you can also use + * wget): ROLE=$(curl -H Metadata-Flavor:Google + * http://metadata/computeMetadata/v1beta2/instance/attributes/dataproc-role) + * if [[ "${ROLE}" == 'Master' ]]; then ... master + * specific actions ... else ... worker specific actions ... fi + */ + initializationActions?: Schema$NodeInitializationAction[]; + /** + * Optional. The config setting for auto delete cluster schedule. + */ + lifecycleConfig?: Schema$LifecycleConfig; + /** + * Optional. The Compute Engine config settings for the master instance in a + * cluster. + */ + masterConfig?: Schema$InstanceGroupConfig; + /** + * Optional. The Compute Engine config settings for additional worker + * instances in a cluster. + */ + secondaryWorkerConfig?: Schema$InstanceGroupConfig; + /** + * Optional. The config settings for software inside the cluster. + */ + softwareConfig?: Schema$SoftwareConfig; + /** + * Optional. The Compute Engine config settings for worker instances in a + * cluster. + */ + workerConfig?: Schema$InstanceGroupConfig; + } + /** + * Contains cluster daemon metrics, such as HDFS and YARN stats.Beta Feature: + * This report is available for testing purposes only. It may be changed + * before final release. + */ + interface Schema$ClusterMetrics { + /** + * The HDFS metrics. + */ + hdfsMetrics?: any; + /** + * The YARN metrics. + */ + yarnMetrics?: any; + } + /** + * The cluster operation triggered by a workflow. + */ + interface Schema$ClusterOperation { + /** + * Output only. Indicates the operation is done. + */ + done?: boolean; + /** + * Output only. Error, if operation failed. + */ + error?: string; + /** + * Output only. The id of the cluster operation. + */ + operationId?: string; + } + /** + * Metadata describing the operation. + */ + interface Schema$ClusterOperationMetadata { + /** + * Output only. Name of the cluster for the operation. + */ + clusterName?: string; + /** + * Output only. Cluster UUID for the operation. + */ + clusterUuid?: string; + /** + * Output only. Short description of operation. + */ + description?: string; + /** + * Output only. Labels associated with the operation + */ + labels?: any; + /** + * Output only. The operation type. + */ + operationType?: string; + /** + * Output only. Current operation status. + */ + status?: Schema$ClusterOperationStatus; + /** + * Output only. The previous operation status. + */ + statusHistory?: Schema$ClusterOperationStatus[]; + /** + * Output only. Errors encountered during operation execution. + */ + warnings?: string[]; + } + /** + * The status of the operation. + */ + interface Schema$ClusterOperationStatus { + /** + * Output only. A message containing any operation metadata details. + */ + details?: string; + /** + * Output only. A message containing the detailed operation state. + */ + innerState?: string; + /** + * Output only. A message containing the operation state. + */ + state?: string; + /** + * Output only. The time this state was entered. + */ + stateStartTime?: string; + } + /** + * A selector that chooses target cluster for jobs based on metadata. + */ + interface Schema$ClusterSelector { + /** + * Required. The cluster labels. Cluster must have all labels to match. + */ + clusterLabels?: any; + /** + * Optional. The zone where workflow process executes. This parameter does + * not affect the selection of the cluster.If unspecified, the zone of the + * first cluster matching the selector is used. + */ + zone?: string; + } + /** + * The status of a cluster and its instances. + */ + interface Schema$ClusterStatus { + /** + * Output only. Optional details of cluster's state. + */ + detail?: string; + /** + * Output only. The cluster's state. + */ + state?: string; + /** + * Output only. Time when this state was entered. + */ + stateStartTime?: string; + /** + * Output only. Additional state information that includes status reported + * by the agent. + */ + substate?: string; + } + /** + * A request to collect cluster diagnostic information. + */ + interface Schema$DiagnoseClusterRequest { + } + /** + * The location of diagnostic output. + */ + interface Schema$DiagnoseClusterResults { + /** + * Output only. The Cloud Storage URI of the diagnostic output. The output + * report is a plain text file with a summary of collected diagnostics. + */ + outputUri?: string; + } + /** + * Specifies the config of disk options for a group of VM instances. + */ + interface Schema$DiskConfig { + /** + * Optional. Size in GB of the boot disk (default is 500GB). + */ + bootDiskSizeGb?: number; + /** + * Optional. Type of the boot disk (default is "pd-standard"). + * Valid values: "pd-ssd" (Persistent Disk Solid State Drive) or + * "pd-standard" (Persistent Disk Hard Disk Drive). + */ + bootDiskType?: string; + /** + * Optional. Number of attached SSDs, from 0 to 4 (default is 0). If SSDs + * are not attached, the boot disk is used to store runtime logs and HDFS + * (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one + * or more SSDs are attached, this runtime bulk data is spread across them, + * and the boot disk contains only basic config and installed binaries. + */ + numLocalSsds?: number; + } + /** + * 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); } The JSON + * representation for Empty is empty JSON object {}. + */ + interface Schema$Empty { + } + /** + * Encryption settings for the cluster. + */ + interface Schema$EncryptionConfig { + /** + * Optional. The Cloud KMS key name to use for PD disk encryption for all + * instances in the cluster. + */ + gcePdKmsKeyName?: string; + } + /** + * Represents an expression text. Example: title: "User account + * presence" description: "Determines whether the request has a user + * account" expression: "size(request.user) > 0" + */ + interface Schema$Expr { + /** + * An optional description of the expression. This is a longer text which + * describes the expression, e.g. when hovered over it in a UI. + */ + description?: string; + /** + * Textual representation of an expression in Common Expression Language + * syntax.The application context of the containing message determines which + * well-known feature set of CEL is supported. + */ + expression?: string; + /** + * An optional string indicating the location of the expression for error + * reporting, e.g. a file name and a position in the file. + */ + location?: string; + /** + * An optional title for the expression, i.e. a short string describing its + * purpose. This can be used e.g. in UIs which allow to enter the + * expression. + */ + title?: string; + } + /** + * Common config settings for resources of Compute Engine cluster instances, + * applicable to all instances in the cluster. + */ + interface Schema$GceClusterConfig { + /** + * Optional. If true, all instances in the cluster will only have internal + * IP addresses. By default, clusters are not restricted to internal IP + * addresses, and will have ephemeral external IP addresses assigned to each + * instance. This internal_ip_only restriction can only be enabled for + * subnetwork enabled networks, and all off-cluster dependencies must be + * configured to be accessible without external IP addresses. + */ + internalIpOnly?: boolean; + /** + * The Compute Engine metadata entries to add to all instances (see Project + * and instance metadata + * (https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata)). + */ + metadata?: any; + /** + * Optional. The Compute Engine network to be used for machine + * communications. Cannot be specified with subnetwork_uri. If neither + * network_uri nor subnetwork_uri is specified, the "default" + * network of the project is used, if it exists. Cannot be a "Custom + * Subnet Network" (see Using Subnetworks for more information).A full + * URL, partial URI, or short name are valid. Examples: + * https://www.googleapis.com/compute/v1/projects/[project_id]/regions/global/default + * projects/[project_id]/regions/global/default default + */ + networkUri?: string; + /** + * Optional. The service account of the instances. Defaults to the default + * Compute Engine service account. Custom service accounts need permissions + * equivalent to the following IAM roles: roles/logging.logWriter + * roles/storage.objectAdmin(see + * https://cloud.google.com/compute/docs/access/service-accounts#custom_service_accounts + * for more information). Example: + * [account_id]@[project_id].iam.gserviceaccount.com + */ + serviceAccount?: string; + /** + * Optional. The URIs of service account scopes to be included in Compute + * Engine instances. The following base set of scopes is always included: + * https://www.googleapis.com/auth/cloud.useraccounts.readonly + * https://www.googleapis.com/auth/devstorage.read_write + * https://www.googleapis.com/auth/logging.writeIf no scopes are specified, + * the following defaults are also provided: + * https://www.googleapis.com/auth/bigquery + * https://www.googleapis.com/auth/bigtable.admin.table + * https://www.googleapis.com/auth/bigtable.data + * https://www.googleapis.com/auth/devstorage.full_control + */ + serviceAccountScopes?: string[]; + /** + * Optional. The Compute Engine subnetwork to be used for machine + * communications. Cannot be specified with network_uri.A full URL, partial + * URI, or short name are valid. Examples: + * https://www.googleapis.com/compute/v1/projects/[project_id]/regions/us-east1/sub0 + * projects/[project_id]/regions/us-east1/sub0 sub0 + */ + subnetworkUri?: string; + /** + * The Compute Engine tags to add to all instances (see Tagging instances). + */ + tags?: string[]; + /** + * Optional. The zone where the Compute Engine cluster will be located. On a + * create request, it is required in the "global" region. If + * omitted in a non-global Cloud Dataproc region, the service will pick a + * zone in the corresponding Compute Engine region. On a get request, zone + * will always be present.A full URL, partial URI, or short name are valid. + * Examples: + * https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] + * projects/[project_id]/zones/[zone] us-central1-f + */ + zoneUri?: string; + } + /** + * Request message for GetIamPolicy method. + */ + interface Schema$GetIamPolicyRequest { + } + /** + * A Cloud Dataproc job for running Apache Hadoop MapReduce + * (https://hadoop.apache.org/docs/current/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html) + * jobs on Apache Hadoop YARN + * (https://hadoop.apache.org/docs/r2.7.1/hadoop-yarn/hadoop-yarn-site/YARN.html). + */ + interface Schema$HadoopJob { + /** + * Optional. HCFS URIs of archives to be extracted in the working directory + * of Hadoop drivers and tasks. Supported file types: .jar, .tar, .tar.gz, + * .tgz, or .zip. + */ + archiveUris?: string[]; + /** + * Optional. The arguments to pass to the driver. Do not include arguments, + * such as -libjars or -Dfoo=bar, that can be set as job properties, since a + * collision may occur that causes an incorrect job submission. + */ + args?: string[]; + /** + * Optional. HCFS (Hadoop Compatible Filesystem) URIs of files to be copied + * to the working directory of Hadoop drivers and distributed tasks. Useful + * for naively parallel tasks. + */ + fileUris?: string[]; + /** + * Optional. Jar file URIs to add to the CLASSPATHs of the Hadoop driver and + * tasks. + */ + jarFileUris?: string[]; + /** + * Optional. The runtime log config for job execution. + */ + loggingConfig?: Schema$LoggingConfig; + /** + * The name of the driver's main class. The jar file containing the + * class must be in the default CLASSPATH or specified in jar_file_uris. + */ + mainClass?: string; + /** + * The HCFS URI of the jar file containing the main class. Examples: + * 'gs://foo-bucket/analytics-binaries/extract-useful-metrics-mr.jar' + * 'hdfs:/tmp/test-samples/custom-wordcount.jar' + * 'file:///home/usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar' + */ + mainJarFileUri?: string; + /** + * Optional. A mapping of property names to values, used to configure + * Hadoop. Properties that conflict with values set by the Cloud Dataproc + * API may be overwritten. Can include properties set in + * /etc/hadoop/conf/*-site and classes in user code. + */ + properties?: any; + } + /** + * A Cloud Dataproc job for running Apache Hive (https://hive.apache.org/) + * queries on YARN. + */ + interface Schema$HiveJob { + /** + * Optional. Whether to continue executing queries if a query fails. The + * default value is false. Setting to true can be useful when executing + * independent parallel queries. + */ + continueOnFailure?: boolean; + /** + * Optional. HCFS URIs of jar files to add to the CLASSPATH of the Hive + * server and Hadoop MapReduce (MR) tasks. Can contain Hive SerDes and UDFs. + */ + jarFileUris?: string[]; + /** + * Optional. A mapping of property names and values, used to configure Hive. + * Properties that conflict with values set by the Cloud Dataproc API may be + * overwritten. Can include properties set in /etc/hadoop/conf/*-site.xml, + * /etc/hive/conf/hive-site.xml, and classes in user code. + */ + properties?: any; + /** + * The HCFS URI of the script that contains Hive queries. + */ + queryFileUri?: string; + /** + * A list of queries. + */ + queryList?: Schema$QueryList; + /** + * Optional. Mapping of query variable names to values (equivalent to the + * Hive command: SET name="value";). + */ + scriptVariables?: any; + } + /** + * Optional. The config settings for Compute Engine resources in an instance + * group, such as a master or worker group. + */ + interface Schema$InstanceGroupConfig { + /** + * Optional. The Compute Engine accelerator configuration for these + * instances.Beta Feature: This feature is still under development. It may + * be changed before final release. + */ + accelerators?: Schema$AcceleratorConfig[]; + /** + * Optional. Disk option config settings. + */ + diskConfig?: Schema$DiskConfig; + /** + * Optional. The Compute Engine image resource used for cluster instances. + * It can be specified or may be inferred from SoftwareConfig.image_version. + */ + imageUri?: string; + /** + * Output only. The list of instance names. Cloud Dataproc derives the names + * from cluster_name, num_instances, and the instance group. + */ + instanceNames?: string[]; + /** + * Optional. Specifies that this instance group contains preemptible + * instances. + */ + isPreemptible?: boolean; + /** + * Optional. The Compute Engine machine type used for cluster instances.A + * full URL, partial URI, or short name are valid. Examples: + * https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2 + * projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2 + * n1-standard-2Auto Zone Exception: If you are using the Cloud Dataproc + * Auto Zone Placement feature, you must use the short name of the machine + * type resource, for example, n1-standard-2. + */ + machineTypeUri?: string; + /** + * Output only. The config for Compute Engine Instance Group Manager that + * manages this group. This is only used for preemptible instance groups. + */ + managedGroupConfig?: Schema$ManagedGroupConfig; + /** + * Optional. Specifies the minimum cpu platform for the Instance Group. See + * Cloud Dataproc&rarr;Minimum CPU Platform. + */ + minCpuPlatform?: string; + /** + * Optional. The number of VM instances in the instance group. For master + * instance groups, must be set to 1. + */ + numInstances?: number; + } + /** + * A request to instantiate a workflow template. + */ + interface Schema$InstantiateWorkflowTemplateRequest { + /** + * Deprecated. Please use request_id field instead. + */ + instanceId?: string; + /** + * Optional. Map from parameter names to values that should be used for + * those parameters. Values may not exceed 100 characters. + */ + parameters?: any; + /** + * Optional. A tag that prevents multiple concurrent workflow instances with + * the same tag from running. This mitigates risk of concurrent instances + * started due to retries.It is recommended to always set this value to a + * UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The + * tag must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), + * and hyphens (-). The maximum length is 40 characters. + */ + requestId?: string; + /** + * Optional. The version of workflow template to instantiate. If specified, + * the workflow will be instantiated only if the current version of the + * workflow template has the supplied version.This option cannot be used to + * instantiate a previous version of workflow template. + */ + version?: number; + } + /** + * A Cloud Dataproc job resource. + */ + interface Schema$Job { + /** + * Output only. If present, the location of miscellaneous control files + * which may be used as part of job setup and handling. If not present, + * control files may be placed in the same location as driver_output_uri. + */ + driverControlFilesUri?: string; + /** + * Output only. A URI pointing to the location of the stdout of the + * job's driver program. + */ + driverOutputResourceUri?: string; + /** + * Job is a Hadoop job. + */ + hadoopJob?: Schema$HadoopJob; + /** + * Job is a Hive job. + */ + hiveJob?: Schema$HiveJob; + /** + * Optional. The labels to associate with this job. Label keys must contain + * 1 to 63 characters, and must conform to RFC 1035 + * (https://www.ietf.org/rfc/rfc1035.txt). Label values may be empty, but, + * if present, must contain 1 to 63 characters, and must conform to RFC 1035 + * (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be + * associated with a job. + */ + labels?: any; + /** + * Job is a Pig job. + */ + pigJob?: Schema$PigJob; + /** + * Required. Job information, including how, when, and where to run the job. + */ + placement?: Schema$JobPlacement; + /** + * Job is a Pyspark job. + */ + pysparkJob?: Schema$PySparkJob; + /** + * Optional. The fully qualified reference to the job, which can be used to + * obtain the equivalent REST path of the job resource. If this property is + * not specified when a job is created, the server generates a + * <code>job_id</code>. + */ + reference?: Schema$JobReference; + /** + * Optional. Job scheduling configuration. + */ + scheduling?: Schema$JobScheduling; + /** + * Job is a Spark job. + */ + sparkJob?: Schema$SparkJob; + /** + * Job is a SparkSql job. + */ + sparkSqlJob?: Schema$SparkSqlJob; + /** + * Output only. The job status. Additional application-specific status + * information may be contained in the <code>type_job</code> and + * <code>yarn_applications</code> fields. + */ + status?: Schema$JobStatus; + /** + * Output only. The previous job status. + */ + statusHistory?: Schema$JobStatus[]; + /** + * Output only. The collection of YARN applications spun up by this job.Beta + * Feature: This report is available for testing purposes only. It may be + * changed before final release. + */ + yarnApplications?: Schema$YarnApplication[]; + } + /** + * Cloud Dataproc job config. + */ + interface Schema$JobPlacement { + /** + * Required. The name of the cluster where the job will be submitted. + */ + clusterName?: string; + /** + * Output only. A cluster UUID generated by the Cloud Dataproc service when + * the job is submitted. + */ + clusterUuid?: string; + } + /** + * Encapsulates the full scoping used to reference a job. + */ + interface Schema$JobReference { + /** + * Optional. The job ID, which must be unique within the project. The job ID + * is generated by the server upon job submission or provided by the user as + * a means to perform retries without creating duplicate jobs. The ID must + * contain only letters (a-z, A-Z), numbers (0-9), underscores (_), or + * hyphens (-). The maximum length is 100 characters. + */ + jobId?: string; + /** + * Required. The ID of the Google Cloud Platform project that the job + * belongs to. + */ + projectId?: string; + } + /** + * Job scheduling options. + */ + interface Schema$JobScheduling { + /** + * Optional. Maximum number of times per hour a driver may be restarted as a + * result of driver terminating with non-zero code before job is reported + * failed.A job may be reported as thrashing if driver exits with non-zero + * code 4 times within 10 minute window.Maximum value is 10. + */ + maxFailuresPerHour?: number; + } + /** + * Cloud Dataproc job status. + */ + interface Schema$JobStatus { + /** + * Output only. Optional job state details, such as an error description if + * the state is <code>ERROR</code>. + */ + details?: string; + /** + * Output only. A state message specifying the overall job state. + */ + state?: string; + /** + * Output only. The time when this state was entered. + */ + stateStartTime?: string; + /** + * Output only. Additional state information, which includes status reported + * by the agent. + */ + substate?: string; + } + /** + * Specifies the cluster auto delete related schedule configuration. + */ + interface Schema$LifecycleConfig { + /** + * Optional. The time when cluster will be auto-deleted. + */ + autoDeleteTime?: string; + /** + * Optional. The life duration of cluster, the cluster will be auto-deleted + * at the end of this duration. + */ + autoDeleteTtl?: string; + /** + * Optional. The longest duration that cluster would keep alive while + * staying idle; passing this threshold will cause cluster to be + * auto-deleted. + */ + idleDeleteTtl?: string; + } + /** + * The list of all clusters in a project. + */ + interface Schema$ListClustersResponse { + /** + * Output only. The clusters in the project. + */ + clusters?: Schema$Cluster[]; + /** + * Output only. This token is included in the response if there are more + * results to fetch. To fetch additional results, provide this value as the + * page_token in a subsequent <code>ListClustersRequest</code>. + */ + nextPageToken?: string; + } + /** + * A list of jobs in a project. + */ + interface Schema$ListJobsResponse { + /** + * Output only. Jobs list. + */ + jobs?: Schema$Job[]; + /** + * Optional. This token is included in the response if there are more + * results to fetch. To fetch additional results, provide this value as the + * page_token in a subsequent <code>ListJobsRequest</code>. + */ + nextPageToken?: string; + } + /** + * The response message for Operations.ListOperations. + */ + interface Schema$ListOperationsResponse { + /** + * The standard List next-page token. + */ + nextPageToken?: string; + /** + * A list of operations that matches the specified filter in the request. + */ + operations?: Schema$Operation[]; + } + /** + * A response to a request to list workflow templates in a project. + */ + interface Schema$ListWorkflowTemplatesResponse { + /** + * Output only. This token is included in the response if there are more + * results to fetch. To fetch additional results, provide this value as the + * page_token in a subsequent + * <code>ListWorkflowTemplatesRequest</code>. + */ + nextPageToken?: string; + /** + * Output only. WorkflowTemplates list. + */ + templates?: Schema$WorkflowTemplate[]; + } + /** + * The runtime logging config of the job. + */ + interface Schema$LoggingConfig { + /** + * The per-package log levels for the driver. This may include + * "root" package name to configure rootLogger. Examples: + * 'com.google = FATAL', 'root = INFO', 'org.apache = + * DEBUG' + */ + driverLogLevels?: any; + } + /** + * Cluster that is managed by the workflow. + */ + interface Schema$ManagedCluster { + /** + * Required. The cluster name prefix. A unique cluster name will be formed + * by appending a random suffix.The name must contain only lower-case + * letters (a-z), numbers (0-9), and hyphens (-). Must begin with a letter. + * Cannot begin or end with hyphen. Must consist of between 2 and 35 + * characters. + */ + clusterName?: string; + /** + * Required. The cluster configuration. + */ + config?: Schema$ClusterConfig; + /** + * Optional. The labels to associate with this cluster.Label keys must be + * between 1 and 63 characters long, and must conform to the following PCRE + * regular expression: \p{Ll}\p{Lo}{0,62}Label values must be between 1 and + * 63 characters long, and must conform to the following PCRE regular + * expression: \p{Ll}\p{Lo}\p{N}_-{0,63}No more than 32 labels can be + * associated with a given cluster. + */ + labels?: any; + } + /** + * Specifies the resources used to actively manage an instance group. + */ + interface Schema$ManagedGroupConfig { + /** + * Output only. The name of the Instance Group Manager for this group. + */ + instanceGroupManagerName?: string; + /** + * Output only. The name of the Instance Template used for the Managed + * Instance Group. + */ + instanceTemplateName?: string; + } + /** + * Specifies an executable to run on a fully configured node and a timeout + * period for executable completion. + */ + interface Schema$NodeInitializationAction { + /** + * Required. Cloud Storage URI of executable file. + */ + executableFile?: string; + /** + * Optional. Amount of time executable has to complete. Default is 10 + * minutes. Cluster creation fails with an explanatory error message (the + * name of the executable that caused the error and the exceeded timeout + * period) if the executable is not completed at end of the timeout period. + */ + executionTimeout?: string; + } + /** + * This resource represents a long-running operation that is the result of a + * network API call. + */ + interface Schema$Operation { + /** + * If the value is false, it means the operation is still in progress. If + * true, the operation is completed, and either error or response is + * available. + */ + done?: boolean; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * Service-specific metadata associated with the operation. It typically + * contains progress information and common metadata such as create time. + * Some services might not provide such metadata. Any method that returns a + * long-running operation should document the metadata type, if any. + */ + metadata?: any; + /** + * The server-assigned name, which is only unique within the same service + * that originally returns it. If you use the default HTTP mapping, the name + * should have the format of operations/some/unique/name. + */ + name?: string; + /** + * The normal response of the operation in case of success. If the original + * method returns no data on success, such as Delete, the response is + * google.protobuf.Empty. If the original method is standard + * Get/Create/Update, the response should be the resource. For other + * methods, the response should have the type XxxResponse, where Xxx is the + * original method name. For example, if the original method name is + * TakeSnapshot(), the inferred response type is TakeSnapshotResponse. + */ + response?: any; + } + /** + * A job executed by the workflow. + */ + interface Schema$OrderedJob { + /** + * Job is a Hadoop job. + */ + hadoopJob?: Schema$HadoopJob; + /** + * Job is a Hive job. + */ + hiveJob?: Schema$HiveJob; + /** + * Optional. The labels to associate with this job.Label keys must be + * between 1 and 63 characters long, and must conform to the following + * regular expression: \p{Ll}\p{Lo}{0,62}Label values must be between 1 and + * 63 characters long, and must conform to the following regular expression: + * \p{Ll}\p{Lo}\p{N}_-{0,63}No more than 32 labels can be associated with a + * given job. + */ + labels?: any; + /** + * Job is a Pig job. + */ + pigJob?: Schema$PigJob; + /** + * Optional. The optional list of prerequisite job step_ids. If not + * specified, the job will start at the beginning of workflow. + */ + prerequisiteStepIds?: string[]; + /** + * Job is a Pyspark job. + */ + pysparkJob?: Schema$PySparkJob; + /** + * Optional. Job scheduling configuration. + */ + scheduling?: Schema$JobScheduling; + /** + * Job is a Spark job. + */ + sparkJob?: Schema$SparkJob; + /** + * Job is a SparkSql job. + */ + sparkSqlJob?: Schema$SparkSqlJob; + /** + * Required. The step id. The id must be unique among all jobs within the + * template.The step id is used as prefix for job id, as job + * goog-dataproc-workflow-step-id label, and in prerequisiteStepIds field + * from other steps.The id must contain only letters (a-z, A-Z), numbers + * (0-9), underscores (_), and hyphens (-). Cannot begin or end with + * underscore or hyphen. Must consist of between 3 and 50 characters. + */ + stepId?: string; + } + /** + * Configuration for parameter validation. + */ + interface Schema$ParameterValidation { + /** + * Validation based on regular expressions. + */ + regex?: Schema$RegexValidation; + /** + * Validation based on a list of allowed values. + */ + values?: Schema$ValueValidation; + } + /** + * A Cloud Dataproc job for running Apache Pig (https://pig.apache.org/) + * queries on YARN. + */ + interface Schema$PigJob { + /** + * Optional. Whether to continue executing queries if a query fails. The + * default value is false. Setting to true can be useful when executing + * independent parallel queries. + */ + continueOnFailure?: boolean; + /** + * Optional. HCFS URIs of jar files to add to the CLASSPATH of the Pig + * Client and Hadoop MapReduce (MR) tasks. Can contain Pig UDFs. + */ + jarFileUris?: string[]; + /** + * Optional. The runtime log config for job execution. + */ + loggingConfig?: Schema$LoggingConfig; + /** + * Optional. A mapping of property names to values, used to configure Pig. + * Properties that conflict with values set by the Cloud Dataproc API may be + * overwritten. Can include properties set in /etc/hadoop/conf/*-site.xml, + * /etc/pig/conf/pig.properties, and classes in user code. + */ + properties?: any; + /** + * The HCFS URI of the script that contains the Pig queries. + */ + queryFileUri?: string; + /** + * A list of queries. + */ + queryList?: Schema$QueryList; + /** + * Optional. Mapping of query variable names to values (equivalent to the + * Pig command: name=[value]). + */ + scriptVariables?: any; + } + /** + * Defines an Identity and Access Management (IAM) policy. It is used to + * specify access control policies for Cloud Platform resources.A Policy + * consists of a list of bindings. A binding binds a list of members to a + * role, where the members can be user accounts, Google groups, Google + * domains, and service accounts. A role is a named list of permissions + * defined by IAM.JSON Example { "bindings": [ { + * "role": "roles/owner", "members": [ + * "user:mike@example.com", "group:admins@example.com", + * "domain:google.com", + * "serviceAccount:my-other-app@appspot.gserviceaccount.com" ] + * }, { "role": "roles/viewer", + * "members": ["user:sean@example.com"] } ] } YAML + * Example bindings: - members: - user:mike@example.com - + * group:admins@example.com - domain:google.com - + * serviceAccount:my-other-app@appspot.gserviceaccount.com role: roles/owner + * - members: - user:sean@example.com role: roles/viewer For a description + * of IAM and its features, see the IAM developer's guide + * (https://cloud.google.com/iam/docs). + */ + interface Schema$Policy { + /** + * Associates a list of members to a role. bindings with no members will + * result in an error. + */ + bindings?: Schema$Binding[]; + /** + * etag is used for optimistic concurrency control as a way to help prevent + * simultaneous updates of a policy from overwriting each other. It is + * strongly suggested that systems make use of the etag in the + * read-modify-write cycle to perform policy updates in order to avoid race + * conditions: An etag is returned in the response to getIamPolicy, and + * systems are expected to put that etag in the request to setIamPolicy to + * ensure that their change will be applied to the same version of the + * policy.If no etag is provided in the call to setIamPolicy, then the + * existing policy is overwritten blindly. + */ + etag?: string; + /** + * Deprecated. + */ + version?: number; + } + /** + * A Cloud Dataproc job for running Apache PySpark + * (https://spark.apache.org/docs/0.9.0/python-programming-guide.html) + * applications on YARN. + */ + interface Schema$PySparkJob { + /** + * Optional. HCFS URIs of archives to be extracted in the working directory + * of .jar, .tar, .tar.gz, .tgz, and .zip. + */ + archiveUris?: string[]; + /** + * Optional. The arguments to pass to the driver. Do not include arguments, + * such as --conf, that can be set as job properties, since a collision may + * occur that causes an incorrect job submission. + */ + args?: string[]; + /** + * Optional. HCFS URIs of files to be copied to the working directory of + * Python drivers and distributed tasks. Useful for naively parallel tasks. + */ + fileUris?: string[]; + /** + * Optional. HCFS URIs of jar files to add to the CLASSPATHs of the Python + * driver and tasks. + */ + jarFileUris?: string[]; + /** + * Optional. The runtime log config for job execution. + */ + loggingConfig?: Schema$LoggingConfig; + /** + * Required. The HCFS URI of the main Python file to use as the driver. Must + * be a .py file. + */ + mainPythonFileUri?: string; + /** + * Optional. A mapping of property names to values, used to configure + * PySpark. Properties that conflict with values set by the Cloud Dataproc + * API may be overwritten. Can include properties set in + * /etc/spark/conf/spark-defaults.conf and classes in user code. + */ + properties?: any; + /** + * Optional. HCFS file URIs of Python files to pass to the PySpark + * framework. Supported file types: .py, .egg, and .zip. + */ + pythonFileUris?: string[]; + } + /** + * A list of queries to run on a cluster. + */ + interface Schema$QueryList { + /** + * Required. The queries to execute. You do not need to terminate a query + * with a semicolon. Multiple queries can be specified in one string by + * separating each with a semicolon. Here is an example of an Cloud Dataproc + * API snippet that uses a QueryList to specify a HiveJob: + * "hiveJob": { "queryList": { "queries": [ + * "query1", "query2", "query3;query4", + * ] } } + */ + queries?: string[]; + } + /** + * Validation based on regular expressions. + */ + interface Schema$RegexValidation { + /** + * Required. RE2 regular expressions used to validate the parameter's + * value. The value must match the regex in its entirety (substring matches + * are not sufficient). + */ + regexes?: string[]; + } + /** + * Request message for SetIamPolicy method. + */ + interface Schema$SetIamPolicyRequest { + /** + * REQUIRED: The complete policy to be applied to the resource. The size of + * the policy is limited to a few 10s of KB. An empty policy is a valid + * policy but certain Cloud Platform services (such as Projects) might + * reject them. + */ + policy?: Schema$Policy; + } + /** + * Specifies the selection and config of software inside the cluster. + */ + interface Schema$SoftwareConfig { + /** + * Optional. The version of software inside the cluster. It must be one of + * the supported Cloud Dataproc Versions, such as "1.2" (including + * a subminor version, such as "1.2.29"), or the + * "preview" version. If unspecified, it defaults to the latest + * version. + */ + imageVersion?: string; + /** + * The set of optional components to activate on the cluster. + */ + optionalComponents?: string[]; + /** + * Optional. The properties to set on daemon config files.Property keys are + * specified in prefix:property format, such as core:fs.defaultFS. The + * following are supported prefixes and their mappings: capacity-scheduler: + * capacity-scheduler.xml core: core-site.xml distcp: distcp-default.xml + * hdfs: hdfs-site.xml hive: hive-site.xml mapred: mapred-site.xml pig: + * pig.properties spark: spark-defaults.conf yarn: yarn-site.xmlFor more + * information, see Cluster properties. + */ + properties?: any; + } + /** + * A Cloud Dataproc job for running Apache Spark (http://spark.apache.org/) + * applications on YARN. + */ + interface Schema$SparkJob { + /** + * Optional. HCFS URIs of archives to be extracted in the working directory + * of Spark drivers and tasks. Supported file types: .jar, .tar, .tar.gz, + * .tgz, and .zip. + */ + archiveUris?: string[]; + /** + * Optional. The arguments to pass to the driver. Do not include arguments, + * such as --conf, that can be set as job properties, since a collision may + * occur that causes an incorrect job submission. + */ + args?: string[]; + /** + * Optional. HCFS URIs of files to be copied to the working directory of + * Spark drivers and distributed tasks. Useful for naively parallel tasks. + */ + fileUris?: string[]; + /** + * Optional. HCFS URIs of jar files to add to the CLASSPATHs of the Spark + * driver and tasks. + */ + jarFileUris?: string[]; + /** + * Optional. The runtime log config for job execution. + */ + loggingConfig?: Schema$LoggingConfig; + /** + * The name of the driver's main class. The jar file that contains the + * class must be in the default CLASSPATH or specified in jar_file_uris. + */ + mainClass?: string; + /** + * The HCFS URI of the jar file that contains the main class. + */ + mainJarFileUri?: string; + /** + * Optional. A mapping of property names to values, used to configure Spark. + * Properties that conflict with values set by the Cloud Dataproc API may be + * overwritten. Can include properties set in + * /etc/spark/conf/spark-defaults.conf and classes in user code. + */ + properties?: any; + } + /** + * A Cloud Dataproc job for running Apache Spark SQL + * (http://spark.apache.org/sql/) queries. + */ + interface Schema$SparkSqlJob { + /** + * Optional. HCFS URIs of jar files to be added to the Spark CLASSPATH. + */ + jarFileUris?: string[]; + /** + * Optional. The runtime log config for job execution. + */ + loggingConfig?: Schema$LoggingConfig; + /** + * Optional. A mapping of property names to values, used to configure Spark + * SQL's SparkConf. Properties that conflict with values set by the + * Cloud Dataproc API may be overwritten. + */ + properties?: any; + /** + * The HCFS URI of the script that contains SQL queries. + */ + queryFileUri?: string; + /** + * A list of queries. + */ + queryList?: Schema$QueryList; + /** + * Optional. Mapping of query variable names to values (equivalent to the + * Spark SQL command: SET name="value";). + */ + scriptVariables?: any; + } + /** + * 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). The error model is designed to be: + * Simple to use and understand for most users Flexible enough to meet + * unexpected needsOverviewThe Status message contains three pieces of data: + * error code, error message, and error details. The error code should be an + * enum value of google.rpc.Code, but it may accept additional error codes if + * needed. The error message should be a developer-facing English message that + * helps developers understand and resolve the error. If a localized + * user-facing error message is needed, put the localized message in the error + * details or localize it in the client. The optional error details may + * contain arbitrary information about the error. There is a predefined set of + * error detail types in the package google.rpc that can be used for common + * error conditions.Language mappingThe Status message is the logical + * representation of the error model, but it is not necessarily the actual + * wire format. When the Status message is exposed in different client + * libraries and different wire protocols, it can be mapped differently. For + * example, it will likely be mapped to some exceptions in Java, but more + * likely mapped to some error codes in C.Other usesThe error model and the + * Status message can be used in a variety of environments, either with or + * without APIs, to provide a consistent developer experience across different + * environments.Example uses of this error model include: Partial errors. If a + * service needs to return partial errors to the client, it may embed the + * Status in the normal response to indicate the partial errors. Workflow + * errors. A typical workflow has multiple steps. Each step may have a Status + * message for error reporting. Batch operations. If a client uses batch + * request and batch response, the Status message should be used directly + * inside batch response, one for each error sub-response. Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the Status message. Logging. If some API errors are stored in logs, + * the message Status could be used directly after any stripping needed for + * security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set of + * message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + /** + * A request to submit a job. + */ + interface Schema$SubmitJobRequest { + /** + * Required. The job resource. + */ + job?: Schema$Job; + /** + * Optional. A unique id used to identify the request. If the server + * receives two SubmitJobRequest requests with the same id, then the second + * request will be ignored and the first Job created and stored in the + * backend is returned.It is recommended to always set this value to a UUID + * (https://en.wikipedia.org/wiki/Universally_unique_identifier).The id must + * contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and + * hyphens (-). The maximum length is 40 characters. + */ + requestId?: string; + } + /** + * A configurable parameter that replaces one or more fields in the template. + * Parameterizable fields: - Labels - File uris - Job properties - Job + * arguments - Script variables - Main class (in HadoopJob and SparkJob) - + * Zone (in ClusterSelector) + */ + interface Schema$TemplateParameter { + /** + * Optional. Brief description of the parameter. Must not exceed 1024 + * characters. + */ + description?: string; + /** + * Required. Paths to all fields that the parameter replaces. A field is + * allowed to appear in at most one parameter's list of field paths.A + * field path is similar in syntax to a google.protobuf.FieldMask. For + * example, a field path that references the zone field of a workflow + * template's cluster selector would be specified as + * <code>placement.clusterSelector.zone</code>.Also, field paths + * can reference fields using the following syntax: Values in maps can be + * referenced by key. Examples<br> labels'key' + * placement.clusterSelector.clusterLabels'key' + * placement.managedCluster.labels'key' + * placement.clusterSelector.clusterLabels'key' + * jobsstep-id.labels'key' Jobs in the jobs list can be referenced + * by step-id. Examples:<br> jobsstep-id.hadoopJob.mainJarFileUri + * jobsstep-id.hiveJob.queryFileUri jobsstep-id.pySparkJob.mainPythonFileUri + * jobsstep-id.hadoopJob.jarFileUris0 jobsstep-id.hadoopJob.archiveUris0 + * jobsstep-id.hadoopJob.fileUris0 jobsstep-id.pySparkJob.pythonFileUris0 + * Items in repeated fields can be referenced by a zero-based index. + * Example:<br> jobsstep-id.sparkJob.args0 Other examples: + * jobsstep-id.hadoopJob.properties'key' jobsstep-id.hadoopJob.args0 + * jobsstep-id.hiveJob.scriptVariables'key' + * jobsstep-id.hadoopJob.mainJarFileUri placement.clusterSelector.zoneIt may + * not be possible to parameterize maps and repeated fields in their + * entirety since only individual map values and individual items in + * repeated fields can be referenced. For example, the following field paths + * are invalid: placement.clusterSelector.clusterLabels + * jobsstep-id.sparkJob.args + */ + fields?: string[]; + /** + * Required. Parameter name. The parameter name is used as the key, and + * paired with the parameter value, which are passed to the template when + * the template is instantiated. The name must contain only capital letters + * (A-Z), numbers (0-9), and underscores (_), and must not start with a + * number. The maximum length is 40 characters. + */ + name?: string; + /** + * Optional. Validation rules to be applied to this parameter's value. + */ + validation?: Schema$ParameterValidation; + } + /** + * Request message for TestIamPermissions method. + */ + interface Schema$TestIamPermissionsRequest { + /** + * The set of permissions to check for the resource. Permissions with + * wildcards (such as '*' or 'storage.*') are not allowed. + * For more information see IAM Overview + * (https://cloud.google.com/iam/docs/overview#permissions). + */ + permissions?: string[]; + } + /** + * Response message for TestIamPermissions method. + */ + interface Schema$TestIamPermissionsResponse { + /** + * A subset of TestPermissionsRequest.permissions that the caller is + * allowed. + */ + permissions?: string[]; + } + /** + * Validation based on a list of allowed values. + */ + interface Schema$ValueValidation { + /** + * Required. List of allowed values for the parameter. + */ + values?: string[]; + } + /** + * The workflow graph. + */ + interface Schema$WorkflowGraph { + /** + * Output only. The workflow nodes. + */ + nodes?: Schema$WorkflowNode[]; + } + /** + * A Cloud Dataproc workflow template resource. + */ + interface Schema$WorkflowMetadata { + /** + * Output only. The name of the managed cluster. + */ + clusterName?: string; + /** + * Output only. The create cluster operation metadata. + */ + createCluster?: Schema$ClusterOperation; + /** + * Output only. The delete cluster operation metadata. + */ + deleteCluster?: Schema$ClusterOperation; + /** + * Output only. The workflow graph. + */ + graph?: Schema$WorkflowGraph; + /** + * Map from parameter names to values that were used for those parameters. + */ + parameters?: any; + /** + * Output only. The workflow state. + */ + state?: string; + /** + * Output only. The "resource name" of the template. + */ + template?: string; + /** + * Output only. The version of template at the time of workflow + * instantiation. + */ + version?: number; + } + /** + * The workflow node. + */ + interface Schema$WorkflowNode { + /** + * Output only. The error detail. + */ + error?: string; + /** + * Output only. The job id; populated after the node enters RUNNING state. + */ + jobId?: string; + /** + * Output only. Node's prerequisite nodes. + */ + prerequisiteStepIds?: string[]; + /** + * Output only. The node state. + */ + state?: string; + /** + * Output only. The name of the node. + */ + stepId?: string; + } + /** + * A Cloud Dataproc workflow template resource. + */ + interface Schema$WorkflowTemplate { + /** + * Output only. The time template was created. + */ + createTime?: string; + /** + * Required. The template id.The id must contain only letters (a-z, A-Z), + * numbers (0-9), underscores (_), and hyphens (-). Cannot begin or end with + * underscore or hyphen. Must consist of between 3 and 50 characters. + */ + id?: string; + /** + * Required. The Directed Acyclic Graph of Jobs to submit. + */ + jobs?: Schema$OrderedJob[]; + /** + * Optional. The labels to associate with this template. These labels will + * be propagated to all jobs and clusters created by the workflow + * instance.Label keys must contain 1 to 63 characters, and must conform to + * RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt).Label values may be + * empty, but, if present, must contain 1 to 63 characters, and must conform + * to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt).No more than 32 labels + * can be associated with a template. + */ + labels?: any; + /** + * Output only. The "resource name" of the template, as described + * in https://cloud.google.com/apis/design/resource_names of the form + * projects/{project_id}/regions/{region}/workflowTemplates/{template_id} + */ + name?: string; + /** + * Optional. Template parameters whose values are substituted into the + * template. Values for parameters must be provided when the template is + * instantiated. + */ + parameters?: Schema$TemplateParameter[]; + /** + * Required. WorkflowTemplate scheduling information. + */ + placement?: Schema$WorkflowTemplatePlacement; + /** + * Output only. The time template was last updated. + */ + updateTime?: string; + /** + * Optional. Used to perform a consistent read-modify-write.This field + * should be left blank for a CreateWorkflowTemplate request. It is required + * for an UpdateWorkflowTemplate request, and must match the current server + * version. A typical update template flow would fetch the current template + * with a GetWorkflowTemplate request, which will return the current + * template with the version field filled in with the current server + * version. The user updates other fields in the template, then returns it + * as part of the UpdateWorkflowTemplate request. + */ + version?: number; + } + /** + * Specifies workflow execution target.Either managed_cluster or + * cluster_selector is required. + */ + interface Schema$WorkflowTemplatePlacement { + /** + * Optional. A selector that chooses target cluster for jobs based on + * metadata.The selector is evaluated at the time each job is submitted. + */ + clusterSelector?: Schema$ClusterSelector; + /** + * Optional. A cluster that is managed by the workflow. + */ + managedCluster?: Schema$ManagedCluster; + } + /** + * A YARN application created by a job. Application information is a subset of + * <code>org.apache.hadoop.yarn.proto.YarnProtos.ApplicationReportProto</code>.Beta + * Feature: This report is available for testing purposes only. It may be + * changed before final release. + */ + interface Schema$YarnApplication { + /** + * Required. The application name. + */ + name?: string; + /** + * Required. The numerical progress of the application, from 1 to 100. + */ + progress?: number; + /** + * Required. The application state. + */ + state?: string; + /** + * Optional. The HTTP URL of the ApplicationMaster, HistoryServer, or + * TimelineServer that provides application-specific information. The URL + * uses the internal hostname, and requires a proxy server for resolution + * and, possibly, access. + */ + trackingUrl?: string; + } + class Resource$Projects { + root: Dataproc; + locations: Resource$Projects$Locations; + regions: Resource$Projects$Regions; + constructor(root: Dataproc); + getRoot(): Dataproc; + } + class Resource$Projects$Locations { + root: Dataproc; + workflowTemplates: Resource$Projects$Locations$Workflowtemplates; + constructor(root: Dataproc); + getRoot(): Dataproc; + } + class Resource$Projects$Locations$Workflowtemplates { + root: Dataproc; + constructor(root: Dataproc); + getRoot(): Dataproc; + /** + * dataproc.projects.locations.workflowTemplates.create + * @desc Creates new workflow template. + * @alias dataproc.projects.locations.workflowTemplates.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The "resource name" of the region, as described in https://cloud.google.com/apis/design/resource_names of the form projects/{project_id}/regions/{region} + * @param {().WorkflowTemplate} 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 + */ + create(params?: Params$Resource$Projects$Locations$Workflowtemplates$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Locations$Workflowtemplates$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Locations$Workflowtemplates$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * dataproc.projects.locations.workflowTemplates.delete + * @desc Deletes a workflow template. It does not cancel in-progress + * workflows. + * @alias dataproc.projects.locations.workflowTemplates.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The "resource name" of the workflow template, as described in https://cloud.google.com/apis/design/resource_names of the form projects/{project_id}/regions/{region}/workflowTemplates/{template_id} + * @param {integer=} params.version Optional. The version of workflow template to delete. If specified, will only delete the template if the current server version matches specified version. + * @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?: Params$Resource$Projects$Locations$Workflowtemplates$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Locations$Workflowtemplates$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Locations$Workflowtemplates$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dataproc.projects.locations.workflowTemplates.get + * @desc Retrieves the latest workflow template.Can retrieve previously + * instantiated template by specifying optional version parameter. + * @alias dataproc.projects.locations.workflowTemplates.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The "resource name" of the workflow template, as described in https://cloud.google.com/apis/design/resource_names of the form projects/{project_id}/regions/{region}/workflowTemplates/{template_id} + * @param {integer=} params.version Optional. The version of workflow template to retrieve. Only previously instatiated versions can be retrieved.If unspecified, retrieves the current version. + * @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?: Params$Resource$Projects$Locations$Workflowtemplates$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Locations$Workflowtemplates$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Locations$Workflowtemplates$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dataproc.projects.locations.workflowTemplates.getIamPolicy + * @desc Gets the access control policy for a resource. Returns an empty + * policy if the resource exists and does not have a policy set. + * @alias dataproc.projects.locations.workflowTemplates.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. + * @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 + */ + getIamPolicy(params?: Params$Resource$Projects$Locations$Workflowtemplates$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Projects$Locations$Workflowtemplates$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Projects$Locations$Workflowtemplates$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * dataproc.projects.locations.workflowTemplates.instantiate + * @desc Instantiates a template and begins execution.The returned Operation + * can be used to track execution of workflow by polling operations.get. The + * Operation will complete when entire workflow is finished.The running + * workflow can be aborted via operations.cancel. This will cause any + * inflight jobs to be cancelled and workflow-owned clusters to be + * deleted.The Operation.metadata will be WorkflowMetadata.On successful + * completion, Operation.response will be Empty. + * @alias dataproc.projects.locations.workflowTemplates.instantiate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The "resource name" of the workflow template, as described in https://cloud.google.com/apis/design/resource_names of the form projects/{project_id}/regions/{region}/workflowTemplates/{template_id} + * @param {().InstantiateWorkflowTemplateRequest} 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 + */ + instantiate(params?: Params$Resource$Projects$Locations$Workflowtemplates$Instantiate, options?: MethodOptions): AxiosPromise; + instantiate(params: Params$Resource$Projects$Locations$Workflowtemplates$Instantiate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + instantiate(params: Params$Resource$Projects$Locations$Workflowtemplates$Instantiate, callback: BodyResponseCallback): void; + instantiate(callback: BodyResponseCallback): void; + /** + * dataproc.projects.locations.workflowTemplates.instantiateInline + * @desc Instantiates a template and begins execution.This method is + * equivalent to executing the sequence CreateWorkflowTemplate, + * InstantiateWorkflowTemplate, DeleteWorkflowTemplate.The returned + * Operation can be used to track execution of workflow by polling + * operations.get. The Operation will complete when entire workflow is + * finished.The running workflow can be aborted via operations.cancel. This + * will cause any inflight jobs to be cancelled and workflow-owned clusters + * to be deleted.The Operation.metadata will be WorkflowMetadata.On + * successful completion, Operation.response will be Empty. + * @alias dataproc.projects.locations.workflowTemplates.instantiateInline + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.instanceId Deprecated. Please use request_id field instead. + * @param {string} params.parent Required. The "resource name" of the workflow template region, as described in https://cloud.google.com/apis/design/resource_names of the form projects/{project_id}/regions/{region} + * @param {string=} params.requestId Optional. A tag that prevents multiple concurrent workflow instances with the same tag from running. This mitigates risk of concurrent instances started due to retries.It is recommended to always set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The tag must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters. + * @param {().WorkflowTemplate} 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 + */ + instantiateInline(params?: Params$Resource$Projects$Locations$Workflowtemplates$Instantiateinline, options?: MethodOptions): AxiosPromise; + instantiateInline(params: Params$Resource$Projects$Locations$Workflowtemplates$Instantiateinline, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + instantiateInline(params: Params$Resource$Projects$Locations$Workflowtemplates$Instantiateinline, callback: BodyResponseCallback): void; + instantiateInline(callback: BodyResponseCallback): void; + /** + * dataproc.projects.locations.workflowTemplates.list + * @desc Lists workflows that match the specified filter in the request. + * @alias dataproc.projects.locations.workflowTemplates.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Optional. The maximum number of results to return in each response. + * @param {string=} params.pageToken Optional. The page token, returned by a previous call, to request the next page of results. + * @param {string} params.parent Required. The "resource name" of the region, as described in https://cloud.google.com/apis/design/resource_names of the form projects/{project_id}/regions/{region} + * @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?: Params$Resource$Projects$Locations$Workflowtemplates$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$Workflowtemplates$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$Workflowtemplates$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dataproc.projects.locations.workflowTemplates.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @alias dataproc.projects.locations.workflowTemplates.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. + * @param {().SetIamPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Projects$Locations$Workflowtemplates$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Projects$Locations$Workflowtemplates$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Projects$Locations$Workflowtemplates$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * dataproc.projects.locations.workflowTemplates.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. If + * the resource does not exist, this will return an empty set of + * permissions, not a NOT_FOUND error.Note: This operation is designed to be + * used for building permission-aware UIs and command-line tools, not for + * authorization checking. This operation may "fail open" without warning. + * @alias dataproc.projects.locations.workflowTemplates.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. + * @param {().TestIamPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Projects$Locations$Workflowtemplates$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Projects$Locations$Workflowtemplates$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Projects$Locations$Workflowtemplates$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + /** + * dataproc.projects.locations.workflowTemplates.update + * @desc Updates (replaces) workflow template. The updated template must + * contain version that matches the current server version. + * @alias dataproc.projects.locations.workflowTemplates.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Output only. The "resource name" of the template, as described in https://cloud.google.com/apis/design/resource_names of the form projects/{project_id}/regions/{region}/workflowTemplates/{template_id} + * @param {().WorkflowTemplate} 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?: Params$Resource$Projects$Locations$Workflowtemplates$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Projects$Locations$Workflowtemplates$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Projects$Locations$Workflowtemplates$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Workflowtemplates$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The "resource name" of the region, as described in + * https://cloud.google.com/apis/design/resource_names of the form + * projects/{project_id}/regions/{region} + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$WorkflowTemplate; + } + interface Params$Resource$Projects$Locations$Workflowtemplates$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The "resource name" of the workflow template, as described in + * https://cloud.google.com/apis/design/resource_names of the form + * projects/{project_id}/regions/{region}/workflowTemplates/{template_id} + */ + name?: string; + /** + * Optional. The version of workflow template to delete. If specified, will + * only delete the template if the current server version matches specified + * version. + */ + version?: number; + } + interface Params$Resource$Projects$Locations$Workflowtemplates$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The "resource name" of the workflow template, as described in + * https://cloud.google.com/apis/design/resource_names of the form + * projects/{project_id}/regions/{region}/workflowTemplates/{template_id} + */ + name?: string; + /** + * Optional. The version of workflow template to retrieve. Only previously + * instatiated versions can be retrieved.If unspecified, retrieves the + * current version. + */ + version?: number; + } + interface Params$Resource$Projects$Locations$Workflowtemplates$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being requested. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + } + interface Params$Resource$Projects$Locations$Workflowtemplates$Instantiate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The "resource name" of the workflow template, as described in + * https://cloud.google.com/apis/design/resource_names of the form + * projects/{project_id}/regions/{region}/workflowTemplates/{template_id} + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstantiateWorkflowTemplateRequest; + } + interface Params$Resource$Projects$Locations$Workflowtemplates$Instantiateinline { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. Please use request_id field instead. + */ + instanceId?: string; + /** + * Required. The "resource name" of the workflow template region, as + * described in https://cloud.google.com/apis/design/resource_names of the + * form projects/{project_id}/regions/{region} + */ + parent?: string; + /** + * Optional. A tag that prevents multiple concurrent workflow instances with + * the same tag from running. This mitigates risk of concurrent instances + * started due to retries.It is recommended to always set this value to a + * UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The + * tag must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), + * and hyphens (-). The maximum length is 40 characters. + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$WorkflowTemplate; + } + interface Params$Resource$Projects$Locations$Workflowtemplates$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The maximum number of results to return in each response. + */ + pageSize?: number; + /** + * Optional. The page token, returned by a previous call, to request the + * next page of results. + */ + pageToken?: string; + /** + * Required. The "resource name" of the region, as described in + * https://cloud.google.com/apis/design/resource_names of the form + * projects/{project_id}/regions/{region} + */ + parent?: string; + } + interface Params$Resource$Projects$Locations$Workflowtemplates$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being specified. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetIamPolicyRequest; + } + interface Params$Resource$Projects$Locations$Workflowtemplates$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestIamPermissionsRequest; + } + interface Params$Resource$Projects$Locations$Workflowtemplates$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Output only. The "resource name" of the template, as described in + * https://cloud.google.com/apis/design/resource_names of the form + * projects/{project_id}/regions/{region}/workflowTemplates/{template_id} + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$WorkflowTemplate; + } + class Resource$Projects$Regions { + root: Dataproc; + clusters: Resource$Projects$Regions$Clusters; + jobs: Resource$Projects$Regions$Jobs; + operations: Resource$Projects$Regions$Operations; + workflowTemplates: Resource$Projects$Regions$Workflowtemplates; + constructor(root: Dataproc); + getRoot(): Dataproc; + } + class Resource$Projects$Regions$Clusters { + root: Dataproc; + constructor(root: Dataproc); + getRoot(): Dataproc; + /** + * dataproc.projects.regions.clusters.create + * @desc Creates a cluster in a project. + * @alias dataproc.projects.regions.clusters.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId Required. The ID of the Google Cloud Platform project that the cluster belongs to. + * @param {string} params.region Required. The Cloud Dataproc region in which to handle the request. + * @param {string=} params.requestId Optional. A unique id used to identify the request. If the server receives two CreateClusterRequest requests with the same id, then the second request will be ignored and the first google.longrunning.Operation created and stored in the backend is returned.It is recommended to always set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The id must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters. + * @param {().Cluster} 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 + */ + create(params?: Params$Resource$Projects$Regions$Clusters$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Regions$Clusters$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Regions$Clusters$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.clusters.delete + * @desc Deletes a cluster in a project. + * @alias dataproc.projects.regions.clusters.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterName Required. The cluster name. + * @param {string=} params.clusterUuid Optional. Specifying the cluster_uuid means the RPC should fail (with error NOT_FOUND) if cluster with specified UUID does not exist. + * @param {string} params.projectId Required. The ID of the Google Cloud Platform project that the cluster belongs to. + * @param {string} params.region Required. The Cloud Dataproc region in which to handle the request. + * @param {string=} params.requestId Optional. A unique id used to identify the request. If the server receives two DeleteClusterRequest requests with the same id, then the second request will be ignored and the first google.longrunning.Operation created and stored in the backend is returned.It is recommended to always set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The id must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters. + * @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?: Params$Resource$Projects$Regions$Clusters$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Regions$Clusters$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Regions$Clusters$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.clusters.diagnose + * @desc Gets cluster diagnostic information. After the operation completes, + * the Operation.response field contains DiagnoseClusterOutputLocation. + * @alias dataproc.projects.regions.clusters.diagnose + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterName Required. The cluster name. + * @param {string} params.projectId Required. The ID of the Google Cloud Platform project that the cluster belongs to. + * @param {string} params.region Required. The Cloud Dataproc region in which to handle the request. + * @param {().DiagnoseClusterRequest} 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 + */ + diagnose(params?: Params$Resource$Projects$Regions$Clusters$Diagnose, options?: MethodOptions): AxiosPromise; + diagnose(params: Params$Resource$Projects$Regions$Clusters$Diagnose, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + diagnose(params: Params$Resource$Projects$Regions$Clusters$Diagnose, callback: BodyResponseCallback): void; + diagnose(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.clusters.get + * @desc Gets the resource representation for a cluster in a project. + * @alias dataproc.projects.regions.clusters.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterName Required. The cluster name. + * @param {string} params.projectId Required. The ID of the Google Cloud Platform project that the cluster belongs to. + * @param {string} params.region Required. The Cloud Dataproc region in which to handle the request. + * @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?: Params$Resource$Projects$Regions$Clusters$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Regions$Clusters$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Regions$Clusters$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.clusters.getIamPolicy + * @desc Gets the access control policy for a resource. Returns an empty + * policy if the resource exists and does not have a policy set. + * @alias dataproc.projects.regions.clusters.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. + * @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 + */ + getIamPolicy(params?: Params$Resource$Projects$Regions$Clusters$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Projects$Regions$Clusters$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Projects$Regions$Clusters$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.clusters.list + * @desc Lists all regions/{region}/clusters in a project. + * @alias dataproc.projects.regions.clusters.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter Optional. A filter constraining the clusters to list. Filters are case-sensitive and have the following syntax:field = value AND field = value ...where field is one of status.state, clusterName, or labels.[KEY], and [KEY] is a label key. value can be * to match all values. status.state can be one of the following: ACTIVE, INACTIVE, CREATING, RUNNING, ERROR, DELETING, or UPDATING. ACTIVE contains the CREATING, UPDATING, and RUNNING states. INACTIVE contains the DELETING and ERROR states. clusterName is the name of the cluster provided at creation time. Only the logical AND operator is supported; space-separated items are treated as having an implicit AND operator.Example filter:status.state = ACTIVE AND clusterName = mycluster AND labels.env = staging AND labels.starred = * + * @param {integer=} params.pageSize Optional. The standard List page size. + * @param {string=} params.pageToken Optional. The standard List page token. + * @param {string} params.projectId Required. The ID of the Google Cloud Platform project that the cluster belongs to. + * @param {string} params.region Required. The Cloud Dataproc region in which to handle the request. + * @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?: Params$Resource$Projects$Regions$Clusters$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Regions$Clusters$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Regions$Clusters$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.clusters.patch + * @desc Updates a cluster in a project. + * @alias dataproc.projects.regions.clusters.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterName Required. The cluster name. + * @param {string=} params.gracefulDecommissionTimeout Optional. Timeout for graceful YARN decomissioning. Graceful decommissioning allows removing nodes from the cluster without interrupting jobs in progress. Timeout specifies how long to wait for jobs in progress to finish before forcefully removing nodes (and potentially interrupting jobs). Default timeout is 0 (for forceful decommission), and the maximum allowed timeout is 1 day.Only supported on Dataproc image versions 1.2 and higher. + * @param {string} params.projectId Required. The ID of the Google Cloud Platform project the cluster belongs to. + * @param {string} params.region Required. The Cloud Dataproc region in which to handle the request. + * @param {string=} params.requestId Optional. A unique id used to identify the request. If the server receives two UpdateClusterRequest requests with the same id, then the second request will be ignored and the first google.longrunning.Operation created and stored in the backend is returned.It is recommended to always set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The id must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters. + * @param {string=} params.updateMask Required. Specifies the path, relative to Cluster, of the field to update. For example, to change the number of workers in a cluster to 5, the update_mask parameter would be specified as config.worker_config.num_instances, and the PATCH request body would specify the new value, as follows: { "config":{ "workerConfig":{ "numInstances":"5" } } } Similarly, to change the number of preemptible workers in a cluster to 5, the update_mask parameter would be config.secondary_worker_config.num_instances, and the PATCH request body would be set as follows: { "config":{ "secondaryWorkerConfig":{ "numInstances":"5" } } } Note: currently only the following fields can be updated:
MaskPurpose
labelsUpdates labels
config.worker_config.num_instancesResize primary worker group
config.secondary_worker_config.num_instancesResize secondary worker group
config.lifecycle_config.auto_delete_ttlReset MAX TTL duration
config.lifecycle_config.auto_delete_timeUpdate MAX TTL deletion timestamp
config.lifecycle_config.idle_delete_ttlUpdate Idle TTL duration
+ * @param {().Cluster} 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 + */ + patch(params?: Params$Resource$Projects$Regions$Clusters$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Regions$Clusters$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Regions$Clusters$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.clusters.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @alias dataproc.projects.regions.clusters.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. + * @param {().SetIamPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Projects$Regions$Clusters$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Projects$Regions$Clusters$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Projects$Regions$Clusters$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.clusters.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. If + * the resource does not exist, this will return an empty set of + * permissions, not a NOT_FOUND error.Note: This operation is designed to be + * used for building permission-aware UIs and command-line tools, not for + * authorization checking. This operation may "fail open" without warning. + * @alias dataproc.projects.regions.clusters.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. + * @param {().TestIamPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Projects$Regions$Clusters$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Projects$Regions$Clusters$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Projects$Regions$Clusters$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Regions$Clusters$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The ID of the Google Cloud Platform project that the cluster + * belongs to. + */ + projectId?: string; + /** + * Required. The Cloud Dataproc region in which to handle the request. + */ + region?: string; + /** + * Optional. A unique id used to identify the request. If the server + * receives two CreateClusterRequest requests with the same id, then the + * second request will be ignored and the first google.longrunning.Operation + * created and stored in the backend is returned.It is recommended to always + * set this value to a UUID + * (https://en.wikipedia.org/wiki/Universally_unique_identifier).The id must + * contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and + * hyphens (-). The maximum length is 40 characters. + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Cluster; + } + interface Params$Resource$Projects$Regions$Clusters$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The cluster name. + */ + clusterName?: string; + /** + * Optional. Specifying the cluster_uuid means the RPC should fail (with + * error NOT_FOUND) if cluster with specified UUID does not exist. + */ + clusterUuid?: string; + /** + * Required. The ID of the Google Cloud Platform project that the cluster + * belongs to. + */ + projectId?: string; + /** + * Required. The Cloud Dataproc region in which to handle the request. + */ + region?: string; + /** + * Optional. A unique id used to identify the request. If the server + * receives two DeleteClusterRequest requests with the same id, then the + * second request will be ignored and the first google.longrunning.Operation + * created and stored in the backend is returned.It is recommended to always + * set this value to a UUID + * (https://en.wikipedia.org/wiki/Universally_unique_identifier).The id must + * contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and + * hyphens (-). The maximum length is 40 characters. + */ + requestId?: string; + } + interface Params$Resource$Projects$Regions$Clusters$Diagnose { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The cluster name. + */ + clusterName?: string; + /** + * Required. The ID of the Google Cloud Platform project that the cluster + * belongs to. + */ + projectId?: string; + /** + * Required. The Cloud Dataproc region in which to handle the request. + */ + region?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DiagnoseClusterRequest; + } + interface Params$Resource$Projects$Regions$Clusters$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The cluster name. + */ + clusterName?: string; + /** + * Required. The ID of the Google Cloud Platform project that the cluster + * belongs to. + */ + projectId?: string; + /** + * Required. The Cloud Dataproc region in which to handle the request. + */ + region?: string; + } + interface Params$Resource$Projects$Regions$Clusters$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being requested. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + } + interface Params$Resource$Projects$Regions$Clusters$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. A filter constraining the clusters to list. Filters are + * case-sensitive and have the following syntax:field = value AND field = + * value ...where field is one of status.state, clusterName, or + * labels.[KEY], and [KEY] is a label key. value can be * to match all + * values. status.state can be one of the following: ACTIVE, INACTIVE, + * CREATING, RUNNING, ERROR, DELETING, or UPDATING. ACTIVE contains the + * CREATING, UPDATING, and RUNNING states. INACTIVE contains the DELETING + * and ERROR states. clusterName is the name of the cluster provided at + * creation time. Only the logical AND operator is supported; + * space-separated items are treated as having an implicit AND + * operator.Example filter:status.state = ACTIVE AND clusterName = mycluster + * AND labels.env = staging AND labels.starred = * + */ + filter?: string; + /** + * Optional. The standard List page size. + */ + pageSize?: number; + /** + * Optional. The standard List page token. + */ + pageToken?: string; + /** + * Required. The ID of the Google Cloud Platform project that the cluster + * belongs to. + */ + projectId?: string; + /** + * Required. The Cloud Dataproc region in which to handle the request. + */ + region?: string; + } + interface Params$Resource$Projects$Regions$Clusters$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The cluster name. + */ + clusterName?: string; + /** + * Optional. Timeout for graceful YARN decomissioning. Graceful + * decommissioning allows removing nodes from the cluster without + * interrupting jobs in progress. Timeout specifies how long to wait for + * jobs in progress to finish before forcefully removing nodes (and + * potentially interrupting jobs). Default timeout is 0 (for forceful + * decommission), and the maximum allowed timeout is 1 day.Only supported on + * Dataproc image versions 1.2 and higher. + */ + gracefulDecommissionTimeout?: string; + /** + * Required. The ID of the Google Cloud Platform project the cluster belongs + * to. + */ + projectId?: string; + /** + * Required. The Cloud Dataproc region in which to handle the request. + */ + region?: string; + /** + * Optional. A unique id used to identify the request. If the server + * receives two UpdateClusterRequest requests with the same id, then the + * second request will be ignored and the first google.longrunning.Operation + * created and stored in the backend is returned.It is recommended to always + * set this value to a UUID + * (https://en.wikipedia.org/wiki/Universally_unique_identifier).The id must + * contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and + * hyphens (-). The maximum length is 40 characters. + */ + requestId?: string; + /** + * Required. Specifies the path, relative to Cluster, of the field to + * update. For example, to change the number of workers in a cluster to 5, + * the update_mask parameter would be specified as + * config.worker_config.num_instances, and the PATCH request body would + * specify the new value, as follows: { "config":{ "workerConfig":{ + * "numInstances":"5" } } } Similarly, to change the number of + * preemptible workers in a cluster to 5, the update_mask parameter would be + * config.secondary_worker_config.num_instances, and the PATCH request body + * would be set as follows: { "config":{ "secondaryWorkerConfig":{ + * "numInstances":"5" } } } Note: currently only the + * following fields can be updated: + * + * + * + * + * + * + *
MaskPurpose
labelsUpdates labels
config.worker_config.num_instancesResize primary worker + * group
config.secondary_worker_config.num_instancesResize secondary + * worker group
config.lifecycle_config.auto_delete_ttlReset MAX TTL + * duration
config.lifecycle_config.auto_delete_timeUpdate MAX TTL + * deletion timestamp
config.lifecycle_config.idle_delete_ttlUpdate Idle TTL + * duration
+ */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Cluster; + } + interface Params$Resource$Projects$Regions$Clusters$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being specified. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetIamPolicyRequest; + } + interface Params$Resource$Projects$Regions$Clusters$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestIamPermissionsRequest; + } + class Resource$Projects$Regions$Jobs { + root: Dataproc; + constructor(root: Dataproc); + getRoot(): Dataproc; + /** + * dataproc.projects.regions.jobs.cancel + * @desc Starts a job cancellation request. To access the job resource after + * cancellation, call regions/{region}/jobs.list or + * regions/{region}/jobs.get. + * @alias dataproc.projects.regions.jobs.cancel + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.jobId Required. The job ID. + * @param {string} params.projectId Required. The ID of the Google Cloud Platform project that the job belongs to. + * @param {string} params.region Required. The Cloud Dataproc region in which to handle the request. + * @param {().CancelJobRequest} 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 + */ + cancel(params?: Params$Resource$Projects$Regions$Jobs$Cancel, options?: MethodOptions): AxiosPromise; + cancel(params: Params$Resource$Projects$Regions$Jobs$Cancel, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + cancel(params: Params$Resource$Projects$Regions$Jobs$Cancel, callback: BodyResponseCallback): void; + cancel(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.jobs.delete + * @desc Deletes the job from the project. If the job is active, the delete + * fails, and the response returns FAILED_PRECONDITION. + * @alias dataproc.projects.regions.jobs.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.jobId Required. The job ID. + * @param {string} params.projectId Required. The ID of the Google Cloud Platform project that the job belongs to. + * @param {string} params.region Required. The Cloud Dataproc region in which to handle the request. + * @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?: Params$Resource$Projects$Regions$Jobs$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Regions$Jobs$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Regions$Jobs$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.jobs.get + * @desc Gets the resource representation for a job in a project. + * @alias dataproc.projects.regions.jobs.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.jobId Required. The job ID. + * @param {string} params.projectId Required. The ID of the Google Cloud Platform project that the job belongs to. + * @param {string} params.region Required. The Cloud Dataproc region in which to handle the request. + * @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?: Params$Resource$Projects$Regions$Jobs$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Regions$Jobs$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Regions$Jobs$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.jobs.getIamPolicy + * @desc Gets the access control policy for a resource. Returns an empty + * policy if the resource exists and does not have a policy set. + * @alias dataproc.projects.regions.jobs.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. + * @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 + */ + getIamPolicy(params?: Params$Resource$Projects$Regions$Jobs$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Projects$Regions$Jobs$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Projects$Regions$Jobs$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.jobs.list + * @desc Lists regions/{region}/jobs in a project. + * @alias dataproc.projects.regions.jobs.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.clusterName Optional. If set, the returned jobs list includes only jobs that were submitted to the named cluster. + * @param {string=} params.filter Optional. A filter constraining the jobs to list. Filters are case-sensitive and have the following syntax:field = value AND field = value ...where field is status.state or labels.[KEY], and [KEY] is a label key. value can be * to match all values. status.state can be either ACTIVE or NON_ACTIVE. Only the logical AND operator is supported; space-separated items are treated as having an implicit AND operator.Example filter:status.state = ACTIVE AND labels.env = staging AND labels.starred = * + * @param {string=} params.jobStateMatcher Optional. Specifies enumerated categories of jobs to list. (default = match ALL jobs).If filter is provided, jobStateMatcher will be ignored. + * @param {integer=} params.pageSize Optional. The number of results to return in each response. + * @param {string=} params.pageToken Optional. The page token, returned by a previous call, to request the next page of results. + * @param {string} params.projectId Required. The ID of the Google Cloud Platform project that the job belongs to. + * @param {string} params.region Required. The Cloud Dataproc region in which to handle the request. + * @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?: Params$Resource$Projects$Regions$Jobs$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Regions$Jobs$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Regions$Jobs$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.jobs.patch + * @desc Updates a job in a project. + * @alias dataproc.projects.regions.jobs.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.jobId Required. The job ID. + * @param {string} params.projectId Required. The ID of the Google Cloud Platform project that the job belongs to. + * @param {string} params.region Required. The Cloud Dataproc region in which to handle the request. + * @param {string=} params.updateMask Required. Specifies the path, relative to Job, of the field to update. For example, to update the labels of a Job the update_mask parameter would be specified as labels, and the PATCH request body would specify the new value. Note: Currently, labels is the only field that can be updated. + * @param {().Job} 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 + */ + patch(params?: Params$Resource$Projects$Regions$Jobs$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Regions$Jobs$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Regions$Jobs$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.jobs.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @alias dataproc.projects.regions.jobs.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. + * @param {().SetIamPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Projects$Regions$Jobs$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Projects$Regions$Jobs$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Projects$Regions$Jobs$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.jobs.submit + * @desc Submits a job to a cluster. + * @alias dataproc.projects.regions.jobs.submit + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId Required. The ID of the Google Cloud Platform project that the job belongs to. + * @param {string} params.region Required. The Cloud Dataproc region in which to handle the request. + * @param {().SubmitJobRequest} 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 + */ + submit(params?: Params$Resource$Projects$Regions$Jobs$Submit, options?: MethodOptions): AxiosPromise; + submit(params: Params$Resource$Projects$Regions$Jobs$Submit, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + submit(params: Params$Resource$Projects$Regions$Jobs$Submit, callback: BodyResponseCallback): void; + submit(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.jobs.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. If + * the resource does not exist, this will return an empty set of + * permissions, not a NOT_FOUND error.Note: This operation is designed to be + * used for building permission-aware UIs and command-line tools, not for + * authorization checking. This operation may "fail open" without warning. + * @alias dataproc.projects.regions.jobs.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. + * @param {().TestIamPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Projects$Regions$Jobs$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Projects$Regions$Jobs$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Projects$Regions$Jobs$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Regions$Jobs$Cancel { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The job ID. + */ + jobId?: string; + /** + * Required. The ID of the Google Cloud Platform project that the job + * belongs to. + */ + projectId?: string; + /** + * Required. The Cloud Dataproc region in which to handle the request. + */ + region?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CancelJobRequest; + } + interface Params$Resource$Projects$Regions$Jobs$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The job ID. + */ + jobId?: string; + /** + * Required. The ID of the Google Cloud Platform project that the job + * belongs to. + */ + projectId?: string; + /** + * Required. The Cloud Dataproc region in which to handle the request. + */ + region?: string; + } + interface Params$Resource$Projects$Regions$Jobs$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The job ID. + */ + jobId?: string; + /** + * Required. The ID of the Google Cloud Platform project that the job + * belongs to. + */ + projectId?: string; + /** + * Required. The Cloud Dataproc region in which to handle the request. + */ + region?: string; + } + interface Params$Resource$Projects$Regions$Jobs$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being requested. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + } + interface Params$Resource$Projects$Regions$Jobs$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. If set, the returned jobs list includes only jobs that were + * submitted to the named cluster. + */ + clusterName?: string; + /** + * Optional. A filter constraining the jobs to list. Filters are + * case-sensitive and have the following syntax:field = value AND field = + * value ...where field is status.state or labels.[KEY], and [KEY] is a + * label key. value can be * to match all values. status.state can be either + * ACTIVE or NON_ACTIVE. Only the logical AND operator is supported; + * space-separated items are treated as having an implicit AND + * operator.Example filter:status.state = ACTIVE AND labels.env = staging + * AND labels.starred = * + */ + filter?: string; + /** + * Optional. Specifies enumerated categories of jobs to list. (default = + * match ALL jobs).If filter is provided, jobStateMatcher will be ignored. + */ + jobStateMatcher?: string; + /** + * Optional. The number of results to return in each response. + */ + pageSize?: number; + /** + * Optional. The page token, returned by a previous call, to request the + * next page of results. + */ + pageToken?: string; + /** + * Required. The ID of the Google Cloud Platform project that the job + * belongs to. + */ + projectId?: string; + /** + * Required. The Cloud Dataproc region in which to handle the request. + */ + region?: string; + } + interface Params$Resource$Projects$Regions$Jobs$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The job ID. + */ + jobId?: string; + /** + * Required. The ID of the Google Cloud Platform project that the job + * belongs to. + */ + projectId?: string; + /** + * Required. The Cloud Dataproc region in which to handle the request. + */ + region?: string; + /** + * Required. Specifies the path, relative to Job, of the field + * to update. For example, to update the labels of a Job the + * update_mask parameter would be specified as + * labels, and the PATCH request body would specify the new + * value. Note: Currently, labels is the only + * field that can be updated. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Job; + } + interface Params$Resource$Projects$Regions$Jobs$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being specified. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetIamPolicyRequest; + } + interface Params$Resource$Projects$Regions$Jobs$Submit { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The ID of the Google Cloud Platform project that the job + * belongs to. + */ + projectId?: string; + /** + * Required. The Cloud Dataproc region in which to handle the request. + */ + region?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SubmitJobRequest; + } + interface Params$Resource$Projects$Regions$Jobs$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestIamPermissionsRequest; + } + class Resource$Projects$Regions$Operations { + root: Dataproc; + constructor(root: Dataproc); + getRoot(): Dataproc; + /** + * dataproc.projects.regions.operations.cancel + * @desc Starts asynchronous cancellation on a long-running operation. The + * server makes a best effort to cancel the operation, but success is not + * guaranteed. If the server doesn't support this method, it returns + * google.rpc.Code.UNIMPLEMENTED. Clients can use Operations.GetOperation or + * other methods to check whether the cancellation succeeded or whether the + * operation completed despite cancellation. On successful cancellation, the + * operation is not deleted; instead, it becomes an operation with an + * Operation.error value with a google.rpc.Status.code of 1, corresponding + * to Code.CANCELLED. + * @alias dataproc.projects.regions.operations.cancel + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource to be cancelled. + * @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 + */ + cancel(params?: Params$Resource$Projects$Regions$Operations$Cancel, options?: MethodOptions): AxiosPromise; + cancel(params: Params$Resource$Projects$Regions$Operations$Cancel, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + cancel(params: Params$Resource$Projects$Regions$Operations$Cancel, callback: BodyResponseCallback): void; + cancel(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.operations.delete + * @desc Deletes a long-running operation. This method indicates that the + * client is no longer interested in the operation result. It does not + * cancel the operation. If the server doesn't support this method, it + * returns google.rpc.Code.UNIMPLEMENTED. + * @alias dataproc.projects.regions.operations.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource to be deleted. + * @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?: Params$Resource$Projects$Regions$Operations$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Regions$Operations$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Regions$Operations$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.operations.get + * @desc Gets the latest state of a long-running operation. Clients can use + * this method to poll the operation result at intervals as recommended by + * the API service. + * @alias dataproc.projects.regions.operations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource. + * @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?: Params$Resource$Projects$Regions$Operations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Regions$Operations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Regions$Operations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.operations.getIamPolicy + * @desc Gets the access control policy for a resource. Returns an empty + * policy if the resource exists and does not have a policy set. + * @alias dataproc.projects.regions.operations.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. + * @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 + */ + getIamPolicy(params?: Params$Resource$Projects$Regions$Operations$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Projects$Regions$Operations$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Projects$Regions$Operations$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.operations.list + * @desc Lists operations that match the specified filter in the request. If + * the server doesn't support this method, it returns UNIMPLEMENTED.NOTE: + * the name binding allows API services to override the binding to use + * different resource name schemes, such as users/x/operations. To override + * the binding, API services can add a binding such as + * "/v1/{name=users/x}/operations" to their service configuration. For + * backwards compatibility, the default name includes the operations + * collection id, however overriding users must ensure the name binding is + * the parent resource, without the operations collection id. + * @alias dataproc.projects.regions.operations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter The standard list filter. + * @param {string} params.name The name of the operation's parent resource. + * @param {integer=} params.pageSize The standard list page size. + * @param {string=} params.pageToken The standard list page token. + * @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?: Params$Resource$Projects$Regions$Operations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Regions$Operations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Regions$Operations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.operations.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @alias dataproc.projects.regions.operations.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. + * @param {().SetIamPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Projects$Regions$Operations$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Projects$Regions$Operations$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Projects$Regions$Operations$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.operations.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. If + * the resource does not exist, this will return an empty set of + * permissions, not a NOT_FOUND error.Note: This operation is designed to be + * used for building permission-aware UIs and command-line tools, not for + * authorization checking. This operation may "fail open" without warning. + * @alias dataproc.projects.regions.operations.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. + * @param {().TestIamPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Projects$Regions$Operations$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Projects$Regions$Operations$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Projects$Regions$Operations$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Regions$Operations$Cancel { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource to be cancelled. + */ + name?: string; + } + interface Params$Resource$Projects$Regions$Operations$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource to be deleted. + */ + name?: string; + } + interface Params$Resource$Projects$Regions$Operations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource. + */ + name?: string; + } + interface Params$Resource$Projects$Regions$Operations$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being requested. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + } + interface Params$Resource$Projects$Regions$Operations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The standard list filter. + */ + filter?: string; + /** + * The name of the operation's parent resource. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } + interface Params$Resource$Projects$Regions$Operations$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being specified. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetIamPolicyRequest; + } + interface Params$Resource$Projects$Regions$Operations$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestIamPermissionsRequest; + } + class Resource$Projects$Regions$Workflowtemplates { + root: Dataproc; + constructor(root: Dataproc); + getRoot(): Dataproc; + /** + * dataproc.projects.regions.workflowTemplates.create + * @desc Creates new workflow template. + * @alias dataproc.projects.regions.workflowTemplates.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The "resource name" of the region, as described in https://cloud.google.com/apis/design/resource_names of the form projects/{project_id}/regions/{region} + * @param {().WorkflowTemplate} 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 + */ + create(params?: Params$Resource$Projects$Regions$Workflowtemplates$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Regions$Workflowtemplates$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Regions$Workflowtemplates$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.workflowTemplates.delete + * @desc Deletes a workflow template. It does not cancel in-progress + * workflows. + * @alias dataproc.projects.regions.workflowTemplates.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The "resource name" of the workflow template, as described in https://cloud.google.com/apis/design/resource_names of the form projects/{project_id}/regions/{region}/workflowTemplates/{template_id} + * @param {integer=} params.version Optional. The version of workflow template to delete. If specified, will only delete the template if the current server version matches specified version. + * @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?: Params$Resource$Projects$Regions$Workflowtemplates$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Regions$Workflowtemplates$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Regions$Workflowtemplates$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.workflowTemplates.get + * @desc Retrieves the latest workflow template.Can retrieve previously + * instantiated template by specifying optional version parameter. + * @alias dataproc.projects.regions.workflowTemplates.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The "resource name" of the workflow template, as described in https://cloud.google.com/apis/design/resource_names of the form projects/{project_id}/regions/{region}/workflowTemplates/{template_id} + * @param {integer=} params.version Optional. The version of workflow template to retrieve. Only previously instatiated versions can be retrieved.If unspecified, retrieves the current version. + * @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?: Params$Resource$Projects$Regions$Workflowtemplates$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Regions$Workflowtemplates$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Regions$Workflowtemplates$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.workflowTemplates.getIamPolicy + * @desc Gets the access control policy for a resource. Returns an empty + * policy if the resource exists and does not have a policy set. + * @alias dataproc.projects.regions.workflowTemplates.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. + * @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 + */ + getIamPolicy(params?: Params$Resource$Projects$Regions$Workflowtemplates$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Projects$Regions$Workflowtemplates$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Projects$Regions$Workflowtemplates$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.workflowTemplates.instantiate + * @desc Instantiates a template and begins execution.The returned Operation + * can be used to track execution of workflow by polling operations.get. The + * Operation will complete when entire workflow is finished.The running + * workflow can be aborted via operations.cancel. This will cause any + * inflight jobs to be cancelled and workflow-owned clusters to be + * deleted.The Operation.metadata will be WorkflowMetadata.On successful + * completion, Operation.response will be Empty. + * @alias dataproc.projects.regions.workflowTemplates.instantiate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The "resource name" of the workflow template, as described in https://cloud.google.com/apis/design/resource_names of the form projects/{project_id}/regions/{region}/workflowTemplates/{template_id} + * @param {().InstantiateWorkflowTemplateRequest} 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 + */ + instantiate(params?: Params$Resource$Projects$Regions$Workflowtemplates$Instantiate, options?: MethodOptions): AxiosPromise; + instantiate(params: Params$Resource$Projects$Regions$Workflowtemplates$Instantiate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + instantiate(params: Params$Resource$Projects$Regions$Workflowtemplates$Instantiate, callback: BodyResponseCallback): void; + instantiate(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.workflowTemplates.instantiateInline + * @desc Instantiates a template and begins execution.This method is + * equivalent to executing the sequence CreateWorkflowTemplate, + * InstantiateWorkflowTemplate, DeleteWorkflowTemplate.The returned + * Operation can be used to track execution of workflow by polling + * operations.get. The Operation will complete when entire workflow is + * finished.The running workflow can be aborted via operations.cancel. This + * will cause any inflight jobs to be cancelled and workflow-owned clusters + * to be deleted.The Operation.metadata will be WorkflowMetadata.On + * successful completion, Operation.response will be Empty. + * @alias dataproc.projects.regions.workflowTemplates.instantiateInline + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.instanceId Deprecated. Please use request_id field instead. + * @param {string} params.parent Required. The "resource name" of the workflow template region, as described in https://cloud.google.com/apis/design/resource_names of the form projects/{project_id}/regions/{region} + * @param {string=} params.requestId Optional. A tag that prevents multiple concurrent workflow instances with the same tag from running. This mitigates risk of concurrent instances started due to retries.It is recommended to always set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The tag must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters. + * @param {().WorkflowTemplate} 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 + */ + instantiateInline(params?: Params$Resource$Projects$Regions$Workflowtemplates$Instantiateinline, options?: MethodOptions): AxiosPromise; + instantiateInline(params: Params$Resource$Projects$Regions$Workflowtemplates$Instantiateinline, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + instantiateInline(params: Params$Resource$Projects$Regions$Workflowtemplates$Instantiateinline, callback: BodyResponseCallback): void; + instantiateInline(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.workflowTemplates.list + * @desc Lists workflows that match the specified filter in the request. + * @alias dataproc.projects.regions.workflowTemplates.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Optional. The maximum number of results to return in each response. + * @param {string=} params.pageToken Optional. The page token, returned by a previous call, to request the next page of results. + * @param {string} params.parent Required. The "resource name" of the region, as described in https://cloud.google.com/apis/design/resource_names of the form projects/{project_id}/regions/{region} + * @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?: Params$Resource$Projects$Regions$Workflowtemplates$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Regions$Workflowtemplates$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Regions$Workflowtemplates$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.workflowTemplates.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @alias dataproc.projects.regions.workflowTemplates.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. + * @param {().SetIamPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Projects$Regions$Workflowtemplates$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Projects$Regions$Workflowtemplates$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Projects$Regions$Workflowtemplates$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.workflowTemplates.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. If + * the resource does not exist, this will return an empty set of + * permissions, not a NOT_FOUND error.Note: This operation is designed to be + * used for building permission-aware UIs and command-line tools, not for + * authorization checking. This operation may "fail open" without warning. + * @alias dataproc.projects.regions.workflowTemplates.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. + * @param {().TestIamPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Projects$Regions$Workflowtemplates$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Projects$Regions$Workflowtemplates$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Projects$Regions$Workflowtemplates$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + /** + * dataproc.projects.regions.workflowTemplates.update + * @desc Updates (replaces) workflow template. The updated template must + * contain version that matches the current server version. + * @alias dataproc.projects.regions.workflowTemplates.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Output only. The "resource name" of the template, as described in https://cloud.google.com/apis/design/resource_names of the form projects/{project_id}/regions/{region}/workflowTemplates/{template_id} + * @param {().WorkflowTemplate} 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?: Params$Resource$Projects$Regions$Workflowtemplates$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Projects$Regions$Workflowtemplates$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Projects$Regions$Workflowtemplates$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Regions$Workflowtemplates$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The "resource name" of the region, as described in + * https://cloud.google.com/apis/design/resource_names of the form + * projects/{project_id}/regions/{region} + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$WorkflowTemplate; + } + interface Params$Resource$Projects$Regions$Workflowtemplates$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The "resource name" of the workflow template, as described in + * https://cloud.google.com/apis/design/resource_names of the form + * projects/{project_id}/regions/{region}/workflowTemplates/{template_id} + */ + name?: string; + /** + * Optional. The version of workflow template to delete. If specified, will + * only delete the template if the current server version matches specified + * version. + */ + version?: number; + } + interface Params$Resource$Projects$Regions$Workflowtemplates$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The "resource name" of the workflow template, as described in + * https://cloud.google.com/apis/design/resource_names of the form + * projects/{project_id}/regions/{region}/workflowTemplates/{template_id} + */ + name?: string; + /** + * Optional. The version of workflow template to retrieve. Only previously + * instatiated versions can be retrieved.If unspecified, retrieves the + * current version. + */ + version?: number; + } + interface Params$Resource$Projects$Regions$Workflowtemplates$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being requested. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + } + interface Params$Resource$Projects$Regions$Workflowtemplates$Instantiate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The "resource name" of the workflow template, as described in + * https://cloud.google.com/apis/design/resource_names of the form + * projects/{project_id}/regions/{region}/workflowTemplates/{template_id} + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstantiateWorkflowTemplateRequest; + } + interface Params$Resource$Projects$Regions$Workflowtemplates$Instantiateinline { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. Please use request_id field instead. + */ + instanceId?: string; + /** + * Required. The "resource name" of the workflow template region, as + * described in https://cloud.google.com/apis/design/resource_names of the + * form projects/{project_id}/regions/{region} + */ + parent?: string; + /** + * Optional. A tag that prevents multiple concurrent workflow instances with + * the same tag from running. This mitigates risk of concurrent instances + * started due to retries.It is recommended to always set this value to a + * UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The + * tag must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), + * and hyphens (-). The maximum length is 40 characters. + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$WorkflowTemplate; + } + interface Params$Resource$Projects$Regions$Workflowtemplates$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The maximum number of results to return in each response. + */ + pageSize?: number; + /** + * Optional. The page token, returned by a previous call, to request the + * next page of results. + */ + pageToken?: string; + /** + * Required. The "resource name" of the region, as described in + * https://cloud.google.com/apis/design/resource_names of the form + * projects/{project_id}/regions/{region} + */ + parent?: string; + } + interface Params$Resource$Projects$Regions$Workflowtemplates$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being specified. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetIamPolicyRequest; + } + interface Params$Resource$Projects$Regions$Workflowtemplates$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestIamPermissionsRequest; + } + interface Params$Resource$Projects$Regions$Workflowtemplates$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Output only. The "resource name" of the template, as described in + * https://cloud.google.com/apis/design/resource_names of the form + * projects/{project_id}/regions/{region}/workflowTemplates/{template_id} + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$WorkflowTemplate; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/dataproc/v1beta2.js b/express-server/node_modules/googleapis/build/src/apis/dataproc/v1beta2.js new file mode 100644 index 00000000..be9b5927 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dataproc/v1beta2.js @@ -0,0 +1,1544 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var dataproc_v1beta2; +(function (dataproc_v1beta2) { + /** + * Cloud Dataproc API + * + * Manages Hadoop-based clusters and jobs on Google Cloud Platform. + * + * @example + * const {google} = require('googleapis'); + * const dataproc = google.dataproc('v1beta2'); + * + * @namespace dataproc + * @type {Function} + * @version v1beta2 + * @variation v1beta2 + * @param {object=} options Options for Dataproc + */ + class Dataproc { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.projects = new Resource$Projects(this); + } + getRoot() { + return this.root; + } + } + dataproc_v1beta2.Dataproc = Dataproc; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.locations = new Resource$Projects$Locations(root); + this.regions = new Resource$Projects$Regions(root); + } + getRoot() { + return this.root; + } + } + dataproc_v1beta2.Resource$Projects = Resource$Projects; + class Resource$Projects$Locations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.workflowTemplates = + new Resource$Projects$Locations$Workflowtemplates(root); + } + getRoot() { + return this.root; + } + } + dataproc_v1beta2.Resource$Projects$Locations = Resource$Projects$Locations; + class Resource$Projects$Locations$Workflowtemplates { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+parent}/workflowTemplates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+resource}:getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + instantiate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+name}:instantiate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + instantiateInline(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta2/{+parent}/workflowTemplates:instantiateInline') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+parent}/workflowTemplates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+resource}:setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+resource}:testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dataproc_v1beta2.Resource$Projects$Locations$Workflowtemplates = Resource$Projects$Locations$Workflowtemplates; + class Resource$Projects$Regions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.clusters = new Resource$Projects$Regions$Clusters(root); + this.jobs = new Resource$Projects$Regions$Jobs(root); + this.operations = new Resource$Projects$Regions$Operations(root); + this.workflowTemplates = + new Resource$Projects$Regions$Workflowtemplates(root); + } + getRoot() { + return this.root; + } + } + dataproc_v1beta2.Resource$Projects$Regions = Resource$Projects$Regions; + class Resource$Projects$Regions$Clusters { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta2/projects/{projectId}/regions/{region}/clusters') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'region'], + pathParams: ['projectId', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta2/projects/{projectId}/regions/{region}/clusters/{clusterName}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['projectId', 'region', 'clusterName'], + pathParams: ['clusterName', 'projectId', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + diagnose(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta2/projects/{projectId}/regions/{region}/clusters/{clusterName}:diagnose') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'region', 'clusterName'], + pathParams: ['clusterName', 'projectId', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta2/projects/{projectId}/regions/{region}/clusters/{clusterName}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId', 'region', 'clusterName'], + pathParams: ['clusterName', 'projectId', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+resource}:getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta2/projects/{projectId}/regions/{region}/clusters') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId', 'region'], + pathParams: ['projectId', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta2/projects/{projectId}/regions/{region}/clusters/{clusterName}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['projectId', 'region', 'clusterName'], + pathParams: ['clusterName', 'projectId', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+resource}:setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+resource}:testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dataproc_v1beta2.Resource$Projects$Regions$Clusters = Resource$Projects$Regions$Clusters; + class Resource$Projects$Regions$Jobs { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + cancel(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta2/projects/{projectId}/regions/{region}/jobs/{jobId}:cancel') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'region', 'jobId'], + pathParams: ['jobId', 'projectId', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta2/projects/{projectId}/regions/{region}/jobs/{jobId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['projectId', 'region', 'jobId'], + pathParams: ['jobId', 'projectId', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta2/projects/{projectId}/regions/{region}/jobs/{jobId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId', 'region', 'jobId'], + pathParams: ['jobId', 'projectId', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+resource}:getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta2/projects/{projectId}/regions/{region}/jobs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId', 'region'], + pathParams: ['projectId', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta2/projects/{projectId}/regions/{region}/jobs/{jobId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['projectId', 'region', 'jobId'], + pathParams: ['jobId', 'projectId', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+resource}:setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + submit(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta2/projects/{projectId}/regions/{region}/jobs:submit') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'region'], + pathParams: ['projectId', 'region'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+resource}:testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dataproc_v1beta2.Resource$Projects$Regions$Jobs = Resource$Projects$Regions$Jobs; + class Resource$Projects$Regions$Operations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + cancel(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+name}:cancel') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+resource}:getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+resource}:setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+resource}:testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dataproc_v1beta2.Resource$Projects$Regions$Operations = Resource$Projects$Regions$Operations; + class Resource$Projects$Regions$Workflowtemplates { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+parent}/workflowTemplates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+resource}:getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + instantiate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+name}:instantiate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + instantiateInline(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta2/{+parent}/workflowTemplates:instantiateInline') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+parent}/workflowTemplates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+resource}:setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+resource}:testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dataproc.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dataproc_v1beta2.Resource$Projects$Regions$Workflowtemplates = Resource$Projects$Regions$Workflowtemplates; +})(dataproc_v1beta2 = exports.dataproc_v1beta2 || (exports.dataproc_v1beta2 = {})); +//# sourceMappingURL=v1beta2.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/dataproc/v1beta2.js.map b/express-server/node_modules/googleapis/build/src/apis/dataproc/v1beta2.js.map new file mode 100644 index 00000000..2602db3f --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dataproc/v1beta2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1beta2.js","sourceRoot":"","sources":["../../../../src/apis/dataproc/v1beta2.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/datastore/README.md b/express-server/node_modules/googleapis/build/src/apis/datastore/README.md new file mode 100644 index 00000000..9fc874c9 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/datastore/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/datastore + +> Accesses the schemaless NoSQL database to provide fully managed, robust, scalable storage for your application. + +## Installation + +```sh +$ npm install @google/datastore +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/datastore/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/datastore/index.d.ts new file mode 100644 index 00000000..faa93429 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/datastore/index.d.ts @@ -0,0 +1,14 @@ +import { datastore_v1 } from './v1'; +import { datastore_v1beta1 } from './v1beta1'; +import { datastore_v1beta3 } from './v1beta3'; +export declare const VERSIONS: { + 'v1': typeof datastore_v1.Datastore; + 'v1beta1': typeof datastore_v1beta1.Datastore; + 'v1beta3': typeof datastore_v1beta3.Datastore; +}; +export declare function datastore(version: 'v1'): datastore_v1.Datastore; +export declare function datastore(options: datastore_v1.Options): datastore_v1.Datastore; +export declare function datastore(version: 'v1beta1'): datastore_v1beta1.Datastore; +export declare function datastore(options: datastore_v1beta1.Options): datastore_v1beta1.Datastore; +export declare function datastore(version: 'v1beta3'): datastore_v1beta3.Datastore; +export declare function datastore(options: datastore_v1beta3.Options): datastore_v1beta3.Datastore; diff --git a/express-server/node_modules/googleapis/build/src/apis/datastore/index.js b/express-server/node_modules/googleapis/build/src/apis/datastore/index.js new file mode 100644 index 00000000..b6a67f79 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/datastore/index.js @@ -0,0 +1,29 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +const v1beta1_1 = require("./v1beta1"); +const v1beta3_1 = require("./v1beta3"); +exports.VERSIONS = { + 'v1': v1_1.datastore_v1.Datastore, + 'v1beta1': v1beta1_1.datastore_v1beta1.Datastore, + 'v1beta3': v1beta3_1.datastore_v1beta3.Datastore, +}; +function datastore(versionOrOptions) { + return googleapis_common_1.getAPI('datastore', versionOrOptions, exports.VERSIONS, this); +} +exports.datastore = datastore; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/datastore/index.js.map b/express-server/node_modules/googleapis/build/src/apis/datastore/index.js.map new file mode 100644 index 00000000..1bd155a2 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/datastore/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/datastore/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAkC;AAClC,uCAA4C;AAC5C,uCAA4C;AAE/B,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,iBAAY,CAAC,SAAS;IAC5B,SAAS,EAAE,2BAAiB,CAAC,SAAS;IACtC,SAAS,EAAE,2BAAiB,CAAC,SAAS;CACvC,CAAC;AAWF,SAAgB,SAAS,CAIrB,gBAC6D;IAC/D,OAAO,0BAAM,CAAI,WAAW,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAClE,CAAC;AAPD,8BAOC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/datastore/package.json b/express-server/node_modules/googleapis/build/src/apis/datastore/package.json new file mode 100644 index 00000000..b843afc2 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/datastore/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/datastore", + "version": "0.1.0", + "description": "datastore", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/datastore/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/datastore/v1.d.ts new file mode 100644 index 00000000..069ed694 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/datastore/v1.d.ts @@ -0,0 +1,1807 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace datastore_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Cloud Datastore API + * + * Accesses the schemaless NoSQL database to provide fully managed, robust, + * scalable storage for your application. + * + * @example + * const {google} = require('googleapis'); + * const datastore = google.datastore('v1'); + * + * @namespace datastore + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Datastore + */ + class Datastore { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + projects: Resource$Projects; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * The request for Datastore.AllocateIds. + */ + interface Schema$AllocateIdsRequest { + /** + * A list of keys with incomplete key paths for which to allocate IDs. No + * key may be reserved/read-only. + */ + keys?: Schema$Key[]; + } + /** + * The response for Datastore.AllocateIds. + */ + interface Schema$AllocateIdsResponse { + /** + * The keys specified in the request (in the same order), each with its key + * path completed with a newly allocated ID. + */ + keys?: Schema$Key[]; + } + /** + * An array value. + */ + interface Schema$ArrayValue { + /** + * Values in the array. The order of this array may not be preserved if it + * contains a mix of indexed and unindexed values. + */ + values?: Schema$Value[]; + } + /** + * The request for Datastore.BeginTransaction. + */ + interface Schema$BeginTransactionRequest { + /** + * Options for a new transaction. + */ + transactionOptions?: Schema$TransactionOptions; + } + /** + * The response for Datastore.BeginTransaction. + */ + interface Schema$BeginTransactionResponse { + /** + * The transaction identifier (always present). + */ + transaction?: string; + } + /** + * The request for Datastore.Commit. + */ + interface Schema$CommitRequest { + /** + * The type of commit to perform. Defaults to `TRANSACTIONAL`. + */ + mode?: string; + /** + * The mutations to perform. When mode is `TRANSACTIONAL`, mutations + * affecting a single entity are applied in order. The following sequences + * of mutations affecting a single entity are not permitted in a single + * `Commit` request: - `insert` followed by `insert` - `update` followed by + * `insert` - `upsert` followed by `insert` - `delete` followed by `update` + * When mode is `NON_TRANSACTIONAL`, no two mutations may affect a single + * entity. + */ + mutations?: Schema$Mutation[]; + /** + * The identifier of the transaction associated with the commit. A + * transaction identifier is returned by a call to + * Datastore.BeginTransaction. + */ + transaction?: string; + } + /** + * The response for Datastore.Commit. + */ + interface Schema$CommitResponse { + /** + * The number of index entries updated during the commit, or zero if none + * were updated. + */ + indexUpdates?: number; + /** + * The result of performing the mutations. The i-th mutation result + * corresponds to the i-th mutation in the request. + */ + mutationResults?: Schema$MutationResult[]; + } + /** + * A filter that merges multiple other filters using the given operator. + */ + interface Schema$CompositeFilter { + /** + * The list of filters to combine. Must contain at least one filter. + */ + filters?: Schema$Filter[]; + /** + * The operator for combining multiple filters. + */ + op?: string; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * A Datastore data object. An entity is limited to 1 megabyte when stored. + * That _roughly_ corresponds to a limit of 1 megabyte for the serialized form + * of this message. + */ + interface Schema$Entity { + /** + * The entity's key. An entity must have a key, unless otherwise + * documented (for example, an entity in `Value.entity_value` may have no + * key). An entity's kind is its key path's last element's kind, + * or null if it has no key. + */ + key?: Schema$Key; + /** + * The entity's properties. The map's keys are property names. A + * property name matching regex `__.*__` is reserved. A reserved property + * name is forbidden in certain documented contexts. The name must not + * contain more than 500 characters. The name cannot be `""`. + */ + properties?: any; + } + /** + * The result of fetching an entity from Datastore. + */ + interface Schema$EntityResult { + /** + * A cursor that points to the position after the result entity. Set only + * when the `EntityResult` is part of a `QueryResultBatch` message. + */ + cursor?: string; + /** + * The resulting entity. + */ + entity?: Schema$Entity; + /** + * The version of the entity, a strictly positive number that monotonically + * increases with changes to the entity. This field is set for `FULL` + * entity results. For missing entities in `LookupResponse`, this is the + * version of the snapshot that was used to look up the entity, and it is + * always set except for eventually consistent reads. + */ + version?: string; + } + /** + * A holder for any type of filter. + */ + interface Schema$Filter { + /** + * A composite filter. + */ + compositeFilter?: Schema$CompositeFilter; + /** + * A filter on a property. + */ + propertyFilter?: Schema$PropertyFilter; + } + /** + * Metadata common to all Datastore Admin operations. + */ + interface Schema$GoogleDatastoreAdminV1beta1CommonMetadata { + /** + * The time the operation ended, either successfully or otherwise. + */ + endTime?: string; + /** + * The client-assigned labels which were provided when the operation was + * created. May also include additional labels. + */ + labels?: any; + /** + * The type of the operation. Can be used as a filter in + * ListOperationsRequest. + */ + operationType?: string; + /** + * The time that work began on the operation. + */ + startTime?: string; + /** + * The current state of the Operation. + */ + state?: string; + } + /** + * Identifies a subset of entities in a project. This is specified as + * combinations of kinds and namespaces (either or both of which may be all, + * as described in the following examples). Example usage: Entire project: + * kinds=[], namespace_ids=[] Kinds Foo and Bar in all namespaces: + * kinds=['Foo', 'Bar'], namespace_ids=[] Kinds Foo and Bar + * only in the default namespace: kinds=['Foo', 'Bar'], + * namespace_ids=[''] Kinds Foo and Bar in both the default and Baz + * namespaces: kinds=['Foo', 'Bar'], + * namespace_ids=['', 'Baz'] The entire Baz namespace: + * kinds=[], namespace_ids=['Baz'] + */ + interface Schema$GoogleDatastoreAdminV1beta1EntityFilter { + /** + * If empty, then this represents all kinds. + */ + kinds?: string[]; + /** + * An empty list represents all namespaces. This is the preferred usage for + * projects that don't use namespaces. An empty string element + * represents the default namespace. This should be used if the project has + * data in non-default namespaces, but doesn't want to include them. + * Each namespace in this list must be unique. + */ + namespaceIds?: string[]; + } + /** + * Metadata for ExportEntities operations. + */ + interface Schema$GoogleDatastoreAdminV1beta1ExportEntitiesMetadata { + /** + * Metadata common to all Datastore Admin operations. + */ + common?: Schema$GoogleDatastoreAdminV1beta1CommonMetadata; + /** + * Description of which entities are being exported. + */ + entityFilter?: Schema$GoogleDatastoreAdminV1beta1EntityFilter; + /** + * Location for the export metadata and data files. This will be the same + * value as the + * google.datastore.admin.v1beta1.ExportEntitiesRequest.output_url_prefix + * field. The final output location is provided in + * google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url. + */ + outputUrlPrefix?: string; + /** + * An estimate of the number of bytes processed. + */ + progressBytes?: Schema$GoogleDatastoreAdminV1beta1Progress; + /** + * An estimate of the number of entities processed. + */ + progressEntities?: Schema$GoogleDatastoreAdminV1beta1Progress; + } + /** + * The response for + * google.datastore.admin.v1beta1.DatastoreAdmin.ExportEntities. + */ + interface Schema$GoogleDatastoreAdminV1beta1ExportEntitiesResponse { + /** + * Location of the output metadata file. This can be used to begin an import + * into Cloud Datastore (this project or another project). See + * google.datastore.admin.v1beta1.ImportEntitiesRequest.input_url. Only + * present if the operation completed successfully. + */ + outputUrl?: string; + } + /** + * Metadata for ImportEntities operations. + */ + interface Schema$GoogleDatastoreAdminV1beta1ImportEntitiesMetadata { + /** + * Metadata common to all Datastore Admin operations. + */ + common?: Schema$GoogleDatastoreAdminV1beta1CommonMetadata; + /** + * Description of which entities are being imported. + */ + entityFilter?: Schema$GoogleDatastoreAdminV1beta1EntityFilter; + /** + * The location of the import metadata file. This will be the same value as + * the google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url + * field. + */ + inputUrl?: string; + /** + * An estimate of the number of bytes processed. + */ + progressBytes?: Schema$GoogleDatastoreAdminV1beta1Progress; + /** + * An estimate of the number of entities processed. + */ + progressEntities?: Schema$GoogleDatastoreAdminV1beta1Progress; + } + /** + * Measures the progress of a particular metric. + */ + interface Schema$GoogleDatastoreAdminV1beta1Progress { + /** + * The amount of work that has been completed. Note that this may be greater + * than work_estimated. + */ + workCompleted?: string; + /** + * An estimate of how much work needs to be performed. May be zero if the + * work estimate is unavailable. + */ + workEstimated?: string; + } + /** + * Metadata common to all Datastore Admin operations. + */ + interface Schema$GoogleDatastoreAdminV1CommonMetadata { + /** + * The time the operation ended, either successfully or otherwise. + */ + endTime?: string; + /** + * The client-assigned labels which were provided when the operation was + * created. May also include additional labels. + */ + labels?: any; + /** + * The type of the operation. Can be used as a filter in + * ListOperationsRequest. + */ + operationType?: string; + /** + * The time that work began on the operation. + */ + startTime?: string; + /** + * The current state of the Operation. + */ + state?: string; + } + /** + * Identifies a subset of entities in a project. This is specified as + * combinations of kinds and namespaces (either or both of which may be all, + * as described in the following examples). Example usage: Entire project: + * kinds=[], namespace_ids=[] Kinds Foo and Bar in all namespaces: + * kinds=['Foo', 'Bar'], namespace_ids=[] Kinds Foo and Bar + * only in the default namespace: kinds=['Foo', 'Bar'], + * namespace_ids=[''] Kinds Foo and Bar in both the default and Baz + * namespaces: kinds=['Foo', 'Bar'], + * namespace_ids=['', 'Baz'] The entire Baz namespace: + * kinds=[], namespace_ids=['Baz'] + */ + interface Schema$GoogleDatastoreAdminV1EntityFilter { + /** + * If empty, then this represents all kinds. + */ + kinds?: string[]; + /** + * An empty list represents all namespaces. This is the preferred usage for + * projects that don't use namespaces. An empty string element + * represents the default namespace. This should be used if the project has + * data in non-default namespaces, but doesn't want to include them. + * Each namespace in this list must be unique. + */ + namespaceIds?: string[]; + } + /** + * Metadata for ExportEntities operations. + */ + interface Schema$GoogleDatastoreAdminV1ExportEntitiesMetadata { + /** + * Metadata common to all Datastore Admin operations. + */ + common?: Schema$GoogleDatastoreAdminV1CommonMetadata; + /** + * Description of which entities are being exported. + */ + entityFilter?: Schema$GoogleDatastoreAdminV1EntityFilter; + /** + * Location for the export metadata and data files. This will be the same + * value as the + * google.datastore.admin.v1.ExportEntitiesRequest.output_url_prefix field. + * The final output location is provided in + * google.datastore.admin.v1.ExportEntitiesResponse.output_url. + */ + outputUrlPrefix?: string; + /** + * An estimate of the number of bytes processed. + */ + progressBytes?: Schema$GoogleDatastoreAdminV1Progress; + /** + * An estimate of the number of entities processed. + */ + progressEntities?: Schema$GoogleDatastoreAdminV1Progress; + } + /** + * The request for google.datastore.admin.v1.DatastoreAdmin.ExportEntities. + */ + interface Schema$GoogleDatastoreAdminV1ExportEntitiesRequest { + /** + * Description of what data from the project is included in the export. + */ + entityFilter?: Schema$GoogleDatastoreAdminV1EntityFilter; + /** + * Client-assigned labels. + */ + labels?: any; + /** + * Location for the export metadata and data files. The full resource URL + * of the external storage location. Currently, only Google Cloud Storage is + * supported. So output_url_prefix should be of the form: + * `gs://BUCKET_NAME[/NAMESPACE_PATH]`, where `BUCKET_NAME` is the name of + * the Cloud Storage bucket and `NAMESPACE_PATH` is an optional Cloud + * Storage namespace path (this is not a Cloud Datastore namespace). For + * more information about Cloud Storage namespace paths, see [Object name + * considerations](https://cloud.google.com/storage/docs/naming#object-considerations). + * The resulting files will be nested deeper than the specified URL prefix. + * The final output URL will be provided in the + * google.datastore.admin.v1.ExportEntitiesResponse.output_url field. That + * value should be used for subsequent ImportEntities operations. By + * nesting the data files deeper, the same Cloud Storage bucket can be used + * in multiple ExportEntities operations without conflict. + */ + outputUrlPrefix?: string; + } + /** + * The response for google.datastore.admin.v1.DatastoreAdmin.ExportEntities. + */ + interface Schema$GoogleDatastoreAdminV1ExportEntitiesResponse { + /** + * Location of the output metadata file. This can be used to begin an import + * into Cloud Datastore (this project or another project). See + * google.datastore.admin.v1.ImportEntitiesRequest.input_url. Only present + * if the operation completed successfully. + */ + outputUrl?: string; + } + /** + * Metadata for ImportEntities operations. + */ + interface Schema$GoogleDatastoreAdminV1ImportEntitiesMetadata { + /** + * Metadata common to all Datastore Admin operations. + */ + common?: Schema$GoogleDatastoreAdminV1CommonMetadata; + /** + * Description of which entities are being imported. + */ + entityFilter?: Schema$GoogleDatastoreAdminV1EntityFilter; + /** + * The location of the import metadata file. This will be the same value as + * the google.datastore.admin.v1.ExportEntitiesResponse.output_url field. + */ + inputUrl?: string; + /** + * An estimate of the number of bytes processed. + */ + progressBytes?: Schema$GoogleDatastoreAdminV1Progress; + /** + * An estimate of the number of entities processed. + */ + progressEntities?: Schema$GoogleDatastoreAdminV1Progress; + } + /** + * The request for google.datastore.admin.v1.DatastoreAdmin.ImportEntities. + */ + interface Schema$GoogleDatastoreAdminV1ImportEntitiesRequest { + /** + * Optionally specify which kinds/namespaces are to be imported. If + * provided, the list must be a subset of the EntityFilter used in creating + * the export, otherwise a FAILED_PRECONDITION error will be returned. If no + * filter is specified then all entities from the export are imported. + */ + entityFilter?: Schema$GoogleDatastoreAdminV1EntityFilter; + /** + * The full resource URL of the external storage location. Currently, only + * Google Cloud Storage is supported. So input_url should be of the form: + * `gs://BUCKET_NAME[/NAMESPACE_PATH]/OVERALL_EXPORT_METADATA_FILE`, where + * `BUCKET_NAME` is the name of the Cloud Storage bucket, `NAMESPACE_PATH` + * is an optional Cloud Storage namespace path (this is not a Cloud + * Datastore namespace), and `OVERALL_EXPORT_METADATA_FILE` is the metadata + * file written by the ExportEntities operation. For more information about + * Cloud Storage namespace paths, see [Object name + * considerations](https://cloud.google.com/storage/docs/naming#object-considerations). + * For more information, see + * google.datastore.admin.v1.ExportEntitiesResponse.output_url. + */ + inputUrl?: string; + /** + * Client-assigned labels. + */ + labels?: any; + } + /** + * A minimal index definition. Next tag: 8 + */ + interface Schema$GoogleDatastoreAdminV1Index { + /** + * The index's ancestor mode. Must not be ANCESTOR_MODE_UNSPECIFIED. + * Required. + */ + ancestor?: string; + /** + * The resource ID of the index. Output only. + */ + indexId?: string; + /** + * The entity kind to which this index applies. Required. + */ + kind?: string; + /** + * Project ID. Output only. + */ + projectId?: string; + /** + * An ordered sequence of property names and their index attributes. + * Required. + */ + properties?: Schema$GoogleDatastoreAdminV1IndexedProperty[]; + /** + * The state of the index. Output only. + */ + state?: string; + } + /** + * Next tag: 3 + */ + interface Schema$GoogleDatastoreAdminV1IndexedProperty { + /** + * The indexed property's direction. Must not be DIRECTION_UNSPECIFIED. + * Required. + */ + direction?: string; + /** + * The property name to index. Required. + */ + name?: string; + } + /** + * Metadata for Index operations. + */ + interface Schema$GoogleDatastoreAdminV1IndexOperationMetadata { + /** + * Metadata common to all Datastore Admin operations. + */ + common?: Schema$GoogleDatastoreAdminV1CommonMetadata; + /** + * The index resource ID that this operation is acting on. + */ + indexId?: string; + /** + * An estimate of the number of entities processed. + */ + progressEntities?: Schema$GoogleDatastoreAdminV1Progress; + } + /** + * The response for google.datastore.admin.v1.DatastoreAdmin.ListIndexes. + */ + interface Schema$GoogleDatastoreAdminV1ListIndexesResponse { + /** + * The indexes. + */ + indexes?: Schema$GoogleDatastoreAdminV1Index[]; + /** + * The standard List next-page token. + */ + nextPageToken?: string; + } + /** + * Measures the progress of a particular metric. + */ + interface Schema$GoogleDatastoreAdminV1Progress { + /** + * The amount of work that has been completed. Note that this may be greater + * than work_estimated. + */ + workCompleted?: string; + /** + * An estimate of how much work needs to be performed. May be zero if the + * work estimate is unavailable. + */ + workEstimated?: string; + } + /** + * The response message for Operations.ListOperations. + */ + interface Schema$GoogleLongrunningListOperationsResponse { + /** + * The standard List next-page token. + */ + nextPageToken?: string; + /** + * A list of operations that matches the specified filter in the request. + */ + operations?: Schema$GoogleLongrunningOperation[]; + } + /** + * This resource represents a long-running operation that is the result of a + * network API call. + */ + interface Schema$GoogleLongrunningOperation { + /** + * If the value is `false`, it means the operation is still in progress. If + * `true`, the operation is completed, and either `error` or `response` is + * available. + */ + done?: boolean; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * Service-specific metadata associated with the operation. It typically + * contains progress information and common metadata such as create time. + * Some services might not provide such metadata. Any method that returns a + * long-running operation should document the metadata type, if any. + */ + metadata?: any; + /** + * The server-assigned name, which is only unique within the same service + * that originally returns it. If you use the default HTTP mapping, the + * `name` should have the format of `operations/some/unique/name`. + */ + name?: string; + /** + * The normal response of the operation in case of success. If the original + * method returns no data on success, such as `Delete`, the response is + * `google.protobuf.Empty`. If the original method is standard + * `Get`/`Create`/`Update`, the response should be the resource. For other + * methods, the response should have the type `XxxResponse`, where `Xxx` is + * the original method name. For example, if the original method name is + * `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: any; + } + /** + * A [GQL + * query](https://cloud.google.com/datastore/docs/apis/gql/gql_reference). + */ + interface Schema$GqlQuery { + /** + * When false, the query string must not contain any literals and instead + * must bind all values. For example, `SELECT * FROM Kind WHERE a = + * 'string literal'` is not allowed, while `SELECT * FROM Kind WHERE + * a = @value` is. + */ + allowLiterals?: boolean; + /** + * For each non-reserved named binding site in the query string, there must + * be a named parameter with that name, but not necessarily the inverse. Key + * must match regex `A-Za-z_$*`, must not match regex `__.*__`, and must not + * be `""`. + */ + namedBindings?: any; + /** + * Numbered binding site @1 references the first numbered parameter, + * effectively using 1-based indexing, rather than the usual 0. For each + * binding site numbered i in `query_string`, there must be an i-th numbered + * parameter. The inverse must also be true. + */ + positionalBindings?: Schema$GqlQueryParameter[]; + /** + * A string of the format described + * [here](https://cloud.google.com/datastore/docs/apis/gql/gql_reference). + */ + queryString?: string; + } + /** + * A binding parameter for a GQL query. + */ + interface Schema$GqlQueryParameter { + /** + * A query cursor. Query cursors are returned in query result batches. + */ + cursor?: string; + /** + * A value parameter. + */ + value?: Schema$Value; + } + /** + * A unique identifier for an entity. If a key's partition ID or any of + * its path kinds or names are reserved/read-only, the key is + * reserved/read-only. A reserved/read-only key is forbidden in certain + * documented contexts. + */ + interface Schema$Key { + /** + * Entities are partitioned into subsets, currently identified by a project + * ID and namespace ID. Queries are scoped to a single partition. + */ + partitionId?: Schema$PartitionId; + /** + * The entity path. An entity path consists of one or more elements composed + * of a kind and a string or numerical identifier, which identify entities. + * The first element identifies a _root entity_, the second element + * identifies a _child_ of the root entity, the third element identifies a + * child of the second entity, and so forth. The entities identified by all + * prefixes of the path are called the element's _ancestors_. An entity + * path is always fully complete: *all* of the entity's ancestors are + * required to be in the path along with the entity identifier itself. The + * only exception is that in some documented cases, the identifier in the + * last path element (for the entity) itself may be omitted. For example, + * the last path element of the key of `Mutation.insert` may have no + * identifier. A path can never be empty, and a path can have at most 100 + * elements. + */ + path?: Schema$PathElement[]; + } + /** + * A representation of a kind. + */ + interface Schema$KindExpression { + /** + * The name of the kind. + */ + name?: string; + } + /** + * An object representing a latitude/longitude pair. This is expressed as a + * pair of doubles representing degrees latitude and degrees longitude. Unless + * specified otherwise, this must conform to the <a + * href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84 + * standard</a>. Values must be within normalized ranges. + */ + interface Schema$LatLng { + /** + * The latitude in degrees. It must be in the range [-90.0, +90.0]. + */ + latitude?: number; + /** + * The longitude in degrees. It must be in the range [-180.0, +180.0]. + */ + longitude?: number; + } + /** + * The request for Datastore.Lookup. + */ + interface Schema$LookupRequest { + /** + * Keys of entities to look up. + */ + keys?: Schema$Key[]; + /** + * The options for this lookup request. + */ + readOptions?: Schema$ReadOptions; + } + /** + * The response for Datastore.Lookup. + */ + interface Schema$LookupResponse { + /** + * A list of keys that were not looked up due to resource constraints. The + * order of results in this field is undefined and has no relation to the + * order of the keys in the input. + */ + deferred?: Schema$Key[]; + /** + * Entities found as `ResultType.FULL` entities. The order of results in + * this field is undefined and has no relation to the order of the keys in + * the input. + */ + found?: Schema$EntityResult[]; + /** + * Entities not found as `ResultType.KEY_ONLY` entities. The order of + * results in this field is undefined and has no relation to the order of + * the keys in the input. + */ + missing?: Schema$EntityResult[]; + } + /** + * A mutation to apply to an entity. + */ + interface Schema$Mutation { + /** + * The version of the entity that this mutation is being applied to. If this + * does not match the current version on the server, the mutation conflicts. + */ + baseVersion?: string; + /** + * The key of the entity to delete. The entity may or may not already exist. + * Must have a complete key path and must not be reserved/read-only. + */ + delete?: Schema$Key; + /** + * The entity to insert. The entity must not already exist. The entity + * key's final path element may be incomplete. + */ + insert?: Schema$Entity; + /** + * The entity to update. The entity must already exist. Must have a complete + * key path. + */ + update?: Schema$Entity; + /** + * The entity to upsert. The entity may or may not already exist. The entity + * key's final path element may be incomplete. + */ + upsert?: Schema$Entity; + } + /** + * The result of applying a mutation. + */ + interface Schema$MutationResult { + /** + * Whether a conflict was detected for this mutation. Always false when a + * conflict detection strategy field is not set in the mutation. + */ + conflictDetected?: boolean; + /** + * The automatically allocated key. Set only when the mutation allocated a + * key. + */ + key?: Schema$Key; + /** + * The version of the entity on the server after processing the mutation. If + * the mutation doesn't change anything on the server, then the version + * will be the version of the current entity or, if no entity is present, a + * version that is strictly greater than the version of any previous entity + * and less than the version of any possible future entity. + */ + version?: string; + } + /** + * A partition ID identifies a grouping of entities. The grouping is always by + * project and namespace, however the namespace ID may be empty. A partition + * ID contains several dimensions: project ID and namespace ID. Partition + * dimensions: - May be `""`. - Must be valid UTF-8 bytes. - Must + * have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any + * dimension matches regex `__.*__`, the partition is reserved/read-only. A + * reserved/read-only partition ID is forbidden in certain documented + * contexts. Foreign partition IDs (in which the project ID does not match + * the context project ID ) are discouraged. Reads and writes of foreign + * partition IDs may fail if the project is not in an active state. + */ + interface Schema$PartitionId { + /** + * If not empty, the ID of the namespace to which the entities belong. + */ + namespaceId?: string; + /** + * The ID of the project to which the entities belong. + */ + projectId?: string; + } + /** + * A (kind, ID/name) pair used to construct a key path. If either name or ID + * is set, the element is complete. If neither is set, the element is + * incomplete. + */ + interface Schema$PathElement { + /** + * The auto-allocated ID of the entity. Never equal to zero. Values less + * than zero are discouraged and may not be supported in the future. + */ + id?: string; + /** + * The kind of the entity. A kind matching regex `__.*__` is + * reserved/read-only. A kind must not contain more than 1500 bytes when + * UTF-8 encoded. Cannot be `""`. + */ + kind?: string; + /** + * The name of the entity. A name matching regex `__.*__` is + * reserved/read-only. A name must not be more than 1500 bytes when UTF-8 + * encoded. Cannot be `""`. + */ + name?: string; + } + /** + * A representation of a property in a projection. + */ + interface Schema$Projection { + /** + * The property to project. + */ + property?: Schema$PropertyReference; + } + /** + * A filter on a specific property. + */ + interface Schema$PropertyFilter { + /** + * The operator to filter by. + */ + op?: string; + /** + * The property to filter by. + */ + property?: Schema$PropertyReference; + /** + * The value to compare the property to. + */ + value?: Schema$Value; + } + /** + * The desired order for a specific property. + */ + interface Schema$PropertyOrder { + /** + * The direction to order by. Defaults to `ASCENDING`. + */ + direction?: string; + /** + * The property to order by. + */ + property?: Schema$PropertyReference; + } + /** + * A reference to a property relative to the kind expressions. + */ + interface Schema$PropertyReference { + /** + * The name of the property. If name includes "."s, it may be + * interpreted as a property name path. + */ + name?: string; + } + /** + * A query for entities. + */ + interface Schema$Query { + /** + * The properties to make distinct. The query results will contain the first + * result for each distinct combination of values for the given properties + * (if empty, all results are returned). + */ + distinctOn?: Schema$PropertyReference[]; + /** + * An ending point for the query results. Query cursors are returned in + * query result batches and [can only be used to limit the same + * query](https://cloud.google.com/datastore/docs/concepts/queries#cursors_limits_and_offsets). + */ + endCursor?: string; + /** + * The filter to apply. + */ + filter?: Schema$Filter; + /** + * The kinds to query (if empty, returns entities of all kinds). Currently + * at most 1 kind may be specified. + */ + kind?: Schema$KindExpression[]; + /** + * The maximum number of results to return. Applies after all other + * constraints. Optional. Unspecified is interpreted as no limit. Must be + * >= 0 if specified. + */ + limit?: number; + /** + * The number of results to skip. Applies before limit, but after all other + * constraints. Optional. Must be >= 0 if specified. + */ + offset?: number; + /** + * The order to apply to the query results (if empty, order is unspecified). + */ + order?: Schema$PropertyOrder[]; + /** + * The projection to return. Defaults to returning all properties. + */ + projection?: Schema$Projection[]; + /** + * A starting point for the query results. Query cursors are returned in + * query result batches and [can only be used to continue the same + * query](https://cloud.google.com/datastore/docs/concepts/queries#cursors_limits_and_offsets). + */ + startCursor?: string; + } + /** + * A batch of results produced by a query. + */ + interface Schema$QueryResultBatch { + /** + * A cursor that points to the position after the last result in the batch. + */ + endCursor?: string; + /** + * The results for this batch. + */ + entityResults?: Schema$EntityResult[]; + /** + * The result type for every entity in `entity_results`. + */ + entityResultType?: string; + /** + * The state of the query after the current batch. + */ + moreResults?: string; + /** + * A cursor that points to the position after the last skipped result. Will + * be set when `skipped_results` != 0. + */ + skippedCursor?: string; + /** + * The number of results skipped, typically because of an offset. + */ + skippedResults?: number; + /** + * The version number of the snapshot this batch was returned from. This + * applies to the range of results from the query's `start_cursor` (or + * the beginning of the query if no cursor was given) to this batch's + * `end_cursor` (not the query's `end_cursor`). In a single + * transaction, subsequent query result batches for the same query can have + * a greater snapshot version number. Each batch's snapshot version is + * valid for all preceding batches. The value will be zero for eventually + * consistent queries. + */ + snapshotVersion?: string; + } + /** + * Options specific to read-only transactions. + */ + interface Schema$ReadOnly { + } + /** + * The options shared by read requests. + */ + interface Schema$ReadOptions { + /** + * The non-transactional read consistency to use. Cannot be set to `STRONG` + * for global queries. + */ + readConsistency?: string; + /** + * The identifier of the transaction in which to read. A transaction + * identifier is returned by a call to Datastore.BeginTransaction. + */ + transaction?: string; + } + /** + * Options specific to read / write transactions. + */ + interface Schema$ReadWrite { + /** + * The transaction identifier of the transaction being retried. + */ + previousTransaction?: string; + } + /** + * The request for Datastore.ReserveIds. + */ + interface Schema$ReserveIdsRequest { + /** + * If not empty, the ID of the database against which to make the request. + */ + databaseId?: string; + /** + * A list of keys with complete key paths whose numeric IDs should not be + * auto-allocated. + */ + keys?: Schema$Key[]; + } + /** + * The response for Datastore.ReserveIds. + */ + interface Schema$ReserveIdsResponse { + } + /** + * The request for Datastore.Rollback. + */ + interface Schema$RollbackRequest { + /** + * The transaction identifier, returned by a call to + * Datastore.BeginTransaction. + */ + transaction?: string; + } + /** + * The response for Datastore.Rollback. (an empty message). + */ + interface Schema$RollbackResponse { + } + /** + * The request for Datastore.RunQuery. + */ + interface Schema$RunQueryRequest { + /** + * The GQL query to run. + */ + gqlQuery?: Schema$GqlQuery; + /** + * Entities are partitioned into subsets, identified by a partition ID. + * Queries are scoped to a single partition. This partition ID is normalized + * with the standard default context partition ID. + */ + partitionId?: Schema$PartitionId; + /** + * The query to run. + */ + query?: Schema$Query; + /** + * The options for this query. + */ + readOptions?: Schema$ReadOptions; + } + /** + * The response for Datastore.RunQuery. + */ + interface Schema$RunQueryResponse { + /** + * A batch of query results (always present). + */ + batch?: Schema$QueryResultBatch; + /** + * The parsed form of the `GqlQuery` from the request, if it was set. + */ + query?: Schema$Query; + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + /** + * Options for beginning a new transaction. Transactions can be created + * explicitly with calls to Datastore.BeginTransaction or implicitly by + * setting ReadOptions.new_transaction in read requests. + */ + interface Schema$TransactionOptions { + /** + * The transaction should only allow reads. + */ + readOnly?: Schema$ReadOnly; + /** + * The transaction should allow both reads and writes. + */ + readWrite?: Schema$ReadWrite; + } + /** + * A message that can hold any of the supported value types and associated + * metadata. + */ + interface Schema$Value { + /** + * An array value. Cannot contain another array value. A `Value` instance + * that sets field `array_value` must not set fields `meaning` or + * `exclude_from_indexes`. + */ + arrayValue?: Schema$ArrayValue; + /** + * A blob value. May have at most 1,000,000 bytes. When + * `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON + * requests, must be base64-encoded. + */ + blobValue?: string; + /** + * A boolean value. + */ + booleanValue?: boolean; + /** + * A double value. + */ + doubleValue?: number; + /** + * An entity value. - May have no key. - May have a key with an incomplete + * key path. - May have a reserved/read-only key. + */ + entityValue?: Schema$Entity; + /** + * If the value should be excluded from all indexes including those defined + * explicitly. + */ + excludeFromIndexes?: boolean; + /** + * A geo point value representing a point on the surface of Earth. + */ + geoPointValue?: Schema$LatLng; + /** + * An integer value. + */ + integerValue?: string; + /** + * A key value. + */ + keyValue?: Schema$Key; + /** + * The `meaning` field should only be populated for backwards compatibility. + */ + meaning?: number; + /** + * A null value. + */ + nullValue?: string; + /** + * A UTF-8 encoded string value. When `exclude_from_indexes` is false (it is + * indexed) , may have at most 1500 bytes. Otherwise, may be set to at least + * 1,000,000 bytes. + */ + stringValue?: string; + /** + * A timestamp value. When stored in the Datastore, precise only to + * microseconds; any additional precision is rounded down. + */ + timestampValue?: string; + } + class Resource$Projects { + root: Datastore; + indexes: Resource$Projects$Indexes; + operations: Resource$Projects$Operations; + constructor(root: Datastore); + getRoot(): Datastore; + /** + * datastore.projects.allocateIds + * @desc Allocates IDs for the given keys, which is useful for referencing + * an entity before it is inserted. + * @alias datastore.projects.allocateIds + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId The ID of the project against which to make the request. + * @param {().AllocateIdsRequest} 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 + */ + allocateIds(params?: Params$Resource$Projects$Allocateids, options?: MethodOptions): AxiosPromise; + allocateIds(params: Params$Resource$Projects$Allocateids, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + allocateIds(params: Params$Resource$Projects$Allocateids, callback: BodyResponseCallback): void; + allocateIds(callback: BodyResponseCallback): void; + /** + * datastore.projects.beginTransaction + * @desc Begins a new transaction. + * @alias datastore.projects.beginTransaction + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId The ID of the project against which to make the request. + * @param {().BeginTransactionRequest} 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 + */ + beginTransaction(params?: Params$Resource$Projects$Begintransaction, options?: MethodOptions): AxiosPromise; + beginTransaction(params: Params$Resource$Projects$Begintransaction, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + beginTransaction(params: Params$Resource$Projects$Begintransaction, callback: BodyResponseCallback): void; + beginTransaction(callback: BodyResponseCallback): void; + /** + * datastore.projects.commit + * @desc Commits a transaction, optionally creating, deleting or modifying + * some entities. + * @alias datastore.projects.commit + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId The ID of the project against which to make the request. + * @param {().CommitRequest} 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 + */ + commit(params?: Params$Resource$Projects$Commit, options?: MethodOptions): AxiosPromise; + commit(params: Params$Resource$Projects$Commit, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + commit(params: Params$Resource$Projects$Commit, callback: BodyResponseCallback): void; + commit(callback: BodyResponseCallback): void; + /** + * datastore.projects.export + * @desc Exports a copy of all or a subset of entities from Google Cloud + * Datastore to another storage system, such as Google Cloud Storage. Recent + * updates to entities may not be reflected in the export. The export occurs + * in the background and its progress can be monitored and managed via the + * Operation resource that is created. The output of an export may only be + * used once the associated operation is done. If an export operation is + * cancelled before completion it may leave partial data behind in Google + * Cloud Storage. + * @alias datastore.projects.export + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId Project ID against which to make the request. + * @param {().GoogleDatastoreAdminV1ExportEntitiesRequest} 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 + */ + export(params?: Params$Resource$Projects$Export, options?: MethodOptions): AxiosPromise; + export(params: Params$Resource$Projects$Export, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + export(params: Params$Resource$Projects$Export, callback: BodyResponseCallback): void; + export(callback: BodyResponseCallback): void; + /** + * datastore.projects.import + * @desc Imports entities into Google Cloud Datastore. Existing entities with + * the same key are overwritten. The import occurs in the background and its + * progress can be monitored and managed via the Operation resource that is + * created. If an ImportEntities operation is cancelled, it is possible that a + * subset of the data has already been imported to Cloud Datastore. + * @alias datastore.projects.import + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId Project ID against which to make the request. + * @param {().GoogleDatastoreAdminV1ImportEntitiesRequest} 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 + */ + import(params?: Params$Resource$Projects$Import, options?: MethodOptions): AxiosPromise; + import(params: Params$Resource$Projects$Import, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + import(params: Params$Resource$Projects$Import, callback: BodyResponseCallback): void; + import(callback: BodyResponseCallback): void; + /** + * datastore.projects.lookup + * @desc Looks up entities by key. + * @alias datastore.projects.lookup + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId The ID of the project against which to make the request. + * @param {().LookupRequest} 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 + */ + lookup(params?: Params$Resource$Projects$Lookup, options?: MethodOptions): AxiosPromise; + lookup(params: Params$Resource$Projects$Lookup, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + lookup(params: Params$Resource$Projects$Lookup, callback: BodyResponseCallback): void; + lookup(callback: BodyResponseCallback): void; + /** + * datastore.projects.reserveIds + * @desc Prevents the supplied keys' IDs from being auto-allocated by Cloud + * Datastore. + * @alias datastore.projects.reserveIds + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId The ID of the project against which to make the request. + * @param {().ReserveIdsRequest} 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 + */ + reserveIds(params?: Params$Resource$Projects$Reserveids, options?: MethodOptions): AxiosPromise; + reserveIds(params: Params$Resource$Projects$Reserveids, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + reserveIds(params: Params$Resource$Projects$Reserveids, callback: BodyResponseCallback): void; + reserveIds(callback: BodyResponseCallback): void; + /** + * datastore.projects.rollback + * @desc Rolls back a transaction. + * @alias datastore.projects.rollback + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId The ID of the project against which to make the request. + * @param {().RollbackRequest} 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 + */ + rollback(params?: Params$Resource$Projects$Rollback, options?: MethodOptions): AxiosPromise; + rollback(params: Params$Resource$Projects$Rollback, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + rollback(params: Params$Resource$Projects$Rollback, callback: BodyResponseCallback): void; + rollback(callback: BodyResponseCallback): void; + /** + * datastore.projects.runQuery + * @desc Queries for entities. + * @alias datastore.projects.runQuery + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId The ID of the project against which to make the request. + * @param {().RunQueryRequest} 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 + */ + runQuery(params?: Params$Resource$Projects$Runquery, options?: MethodOptions): AxiosPromise; + runQuery(params: Params$Resource$Projects$Runquery, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + runQuery(params: Params$Resource$Projects$Runquery, callback: BodyResponseCallback): void; + runQuery(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Allocateids { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the project against which to make the request. + */ + projectId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AllocateIdsRequest; + } + interface Params$Resource$Projects$Begintransaction { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the project against which to make the request. + */ + projectId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BeginTransactionRequest; + } + interface Params$Resource$Projects$Commit { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the project against which to make the request. + */ + projectId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CommitRequest; + } + interface Params$Resource$Projects$Export { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID against which to make the request. + */ + projectId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleDatastoreAdminV1ExportEntitiesRequest; + } + interface Params$Resource$Projects$Import { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID against which to make the request. + */ + projectId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleDatastoreAdminV1ImportEntitiesRequest; + } + interface Params$Resource$Projects$Lookup { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the project against which to make the request. + */ + projectId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$LookupRequest; + } + interface Params$Resource$Projects$Reserveids { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the project against which to make the request. + */ + projectId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ReserveIdsRequest; + } + interface Params$Resource$Projects$Rollback { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the project against which to make the request. + */ + projectId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RollbackRequest; + } + interface Params$Resource$Projects$Runquery { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the project against which to make the request. + */ + projectId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RunQueryRequest; + } + class Resource$Projects$Indexes { + root: Datastore; + constructor(root: Datastore); + getRoot(): Datastore; + /** + * datastore.projects.indexes.get + * @desc Gets an index. + * @alias datastore.projects.indexes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.indexId The resource ID of the index to get. + * @param {string} params.projectId Project ID against which to make the request. + * @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?: Params$Resource$Projects$Indexes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Indexes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Indexes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * datastore.projects.indexes.list + * @desc Lists the indexes that match the specified filters. Datastore uses + * an eventually consistent query to fetch the list of indexes and may + * occasionally return stale results. + * @alias datastore.projects.indexes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter + * @param {integer=} params.pageSize The maximum number of items to return. If zero, then all results will be returned. + * @param {string=} params.pageToken The next_page_token value returned from a previous List request, if any. + * @param {string} params.projectId Project ID against which to make the request. + * @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?: Params$Resource$Projects$Indexes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Indexes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Indexes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Indexes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource ID of the index to get. + */ + indexId?: string; + /** + * Project ID against which to make the request. + */ + projectId?: string; + } + interface Params$Resource$Projects$Indexes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * + */ + filter?: string; + /** + * The maximum number of items to return. If zero, then all results will be + * returned. + */ + pageSize?: number; + /** + * The next_page_token value returned from a previous List request, if any. + */ + pageToken?: string; + /** + * Project ID against which to make the request. + */ + projectId?: string; + } + class Resource$Projects$Operations { + root: Datastore; + constructor(root: Datastore); + getRoot(): Datastore; + /** + * datastore.projects.operations.cancel + * @desc Starts asynchronous cancellation on a long-running operation. The + * server makes a best effort to cancel the operation, but success is not + * guaranteed. If the server doesn't support this method, it returns + * `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation + * or other methods to check whether the cancellation succeeded or whether + * the operation completed despite cancellation. On successful cancellation, + * the operation is not deleted; instead, it becomes an operation with an + * Operation.error value with a google.rpc.Status.code of 1, corresponding + * to `Code.CANCELLED`. + * @alias datastore.projects.operations.cancel + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource to be cancelled. + * @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 + */ + cancel(params?: Params$Resource$Projects$Operations$Cancel, options?: MethodOptions): AxiosPromise; + cancel(params: Params$Resource$Projects$Operations$Cancel, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + cancel(params: Params$Resource$Projects$Operations$Cancel, callback: BodyResponseCallback): void; + cancel(callback: BodyResponseCallback): void; + /** + * datastore.projects.operations.delete + * @desc Deletes a long-running operation. This method indicates that the + * client is no longer interested in the operation result. It does not + * cancel the operation. If the server doesn't support this method, it + * returns `google.rpc.Code.UNIMPLEMENTED`. + * @alias datastore.projects.operations.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource to be deleted. + * @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?: Params$Resource$Projects$Operations$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Operations$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Operations$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * datastore.projects.operations.get + * @desc Gets the latest state of a long-running operation. Clients can use + * this method to poll the operation result at intervals as recommended by + * the API service. + * @alias datastore.projects.operations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource. + * @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?: Params$Resource$Projects$Operations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Operations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Operations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * datastore.projects.operations.list + * @desc Lists operations that match the specified filter in the request. If + * the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: + * the `name` binding allows API services to override the binding to use + * different resource name schemes, such as `users/x/operations`. To + * override the binding, API services can add a binding such as + * `"/v1/{name=users/x}/operations"` to their service configuration. For + * backwards compatibility, the default name includes the operations + * collection id, however overriding users must ensure the name binding is + * the parent resource, without the operations collection id. + * @alias datastore.projects.operations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter The standard list filter. + * @param {string} params.name The name of the operation's parent resource. + * @param {integer=} params.pageSize The standard list page size. + * @param {string=} params.pageToken The standard list page token. + * @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?: Params$Resource$Projects$Operations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Operations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Operations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Operations$Cancel { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource to be cancelled. + */ + name?: string; + } + interface Params$Resource$Projects$Operations$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource to be deleted. + */ + name?: string; + } + interface Params$Resource$Projects$Operations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource. + */ + name?: string; + } + interface Params$Resource$Projects$Operations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The standard list filter. + */ + filter?: string; + /** + * The name of the operation's parent resource. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/datastore/v1.js b/express-server/node_modules/googleapis/build/src/apis/datastore/v1.js new file mode 100644 index 00000000..fcab6ad2 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/datastore/v1.js @@ -0,0 +1,541 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var datastore_v1; +(function (datastore_v1) { + /** + * Cloud Datastore API + * + * Accesses the schemaless NoSQL database to provide fully managed, robust, + * scalable storage for your application. + * + * @example + * const {google} = require('googleapis'); + * const datastore = google.datastore('v1'); + * + * @namespace datastore + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Datastore + */ + class Datastore { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.projects = new Resource$Projects(this); + } + getRoot() { + return this.root; + } + } + datastore_v1.Datastore = Datastore; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.indexes = new Resource$Projects$Indexes(root); + this.operations = new Resource$Projects$Operations(root); + } + getRoot() { + return this.root; + } + allocateIds(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://datastore.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/projects/{projectId}:allocateIds') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId'], + pathParams: ['projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + beginTransaction(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://datastore.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/projects/{projectId}:beginTransaction') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId'], + pathParams: ['projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + commit(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://datastore.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/projects/{projectId}:commit') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId'], + pathParams: ['projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + export(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://datastore.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/projects/{projectId}:export') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId'], + pathParams: ['projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + import(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://datastore.googleapis.com/'; + const parameters = { options: Object.assign({ url: (rootUrl + '/v1/projects/{projectId}:import').replace(/([^:]\/)\/+/g, '$1'), method: 'POST' }, options), params, requiredParams: ['projectId'], pathParams: ['projectId'], context: this.getRoot() }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + lookup(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://datastore.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/projects/{projectId}:lookup') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId'], + pathParams: ['projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + reserveIds(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://datastore.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/projects/{projectId}:reserveIds') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId'], + pathParams: ['projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + rollback(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://datastore.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/projects/{projectId}:rollback') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId'], + pathParams: ['projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + runQuery(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://datastore.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/projects/{projectId}:runQuery') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId'], + pathParams: ['projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + datastore_v1.Resource$Projects = Resource$Projects; + class Resource$Projects$Indexes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://datastore.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/projects/{projectId}/indexes/{indexId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId', 'indexId'], + pathParams: ['indexId', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://datastore.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/projects/{projectId}/indexes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId'], + pathParams: ['projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + datastore_v1.Resource$Projects$Indexes = Resource$Projects$Indexes; + class Resource$Projects$Operations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + cancel(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://datastore.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:cancel') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://datastore.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://datastore.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://datastore.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}/operations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + datastore_v1.Resource$Projects$Operations = Resource$Projects$Operations; +})(datastore_v1 = exports.datastore_v1 || (exports.datastore_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/datastore/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/datastore/v1.js.map new file mode 100644 index 00000000..0b26e39d --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/datastore/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/datastore/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/datastore/v1beta1.d.ts b/express-server/node_modules/googleapis/build/src/apis/datastore/v1beta1.d.ts new file mode 100644 index 00000000..8afc75ea --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/datastore/v1beta1.d.ts @@ -0,0 +1,568 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace datastore_v1beta1 { + interface Options extends GlobalOptions { + version: 'v1beta1'; + } + /** + * Cloud Datastore API + * + * Accesses the schemaless NoSQL database to provide fully managed, robust, + * scalable storage for your application. + * + * @example + * const {google} = require('googleapis'); + * const datastore = google.datastore('v1beta1'); + * + * @namespace datastore + * @type {Function} + * @version v1beta1 + * @variation v1beta1 + * @param {object=} options Options for Datastore + */ + class Datastore { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + projects: Resource$Projects; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Metadata common to all Datastore Admin operations. + */ + interface Schema$GoogleDatastoreAdminV1beta1CommonMetadata { + /** + * The time the operation ended, either successfully or otherwise. + */ + endTime?: string; + /** + * The client-assigned labels which were provided when the operation was + * created. May also include additional labels. + */ + labels?: any; + /** + * The type of the operation. Can be used as a filter in + * ListOperationsRequest. + */ + operationType?: string; + /** + * The time that work began on the operation. + */ + startTime?: string; + /** + * The current state of the Operation. + */ + state?: string; + } + /** + * Identifies a subset of entities in a project. This is specified as + * combinations of kinds and namespaces (either or both of which may be all, + * as described in the following examples). Example usage: Entire project: + * kinds=[], namespace_ids=[] Kinds Foo and Bar in all namespaces: + * kinds=['Foo', 'Bar'], namespace_ids=[] Kinds Foo and Bar + * only in the default namespace: kinds=['Foo', 'Bar'], + * namespace_ids=[''] Kinds Foo and Bar in both the default and Baz + * namespaces: kinds=['Foo', 'Bar'], + * namespace_ids=['', 'Baz'] The entire Baz namespace: + * kinds=[], namespace_ids=['Baz'] + */ + interface Schema$GoogleDatastoreAdminV1beta1EntityFilter { + /** + * If empty, then this represents all kinds. + */ + kinds?: string[]; + /** + * An empty list represents all namespaces. This is the preferred usage for + * projects that don't use namespaces. An empty string element + * represents the default namespace. This should be used if the project has + * data in non-default namespaces, but doesn't want to include them. + * Each namespace in this list must be unique. + */ + namespaceIds?: string[]; + } + /** + * Metadata for ExportEntities operations. + */ + interface Schema$GoogleDatastoreAdminV1beta1ExportEntitiesMetadata { + /** + * Metadata common to all Datastore Admin operations. + */ + common?: Schema$GoogleDatastoreAdminV1beta1CommonMetadata; + /** + * Description of which entities are being exported. + */ + entityFilter?: Schema$GoogleDatastoreAdminV1beta1EntityFilter; + /** + * Location for the export metadata and data files. This will be the same + * value as the + * google.datastore.admin.v1beta1.ExportEntitiesRequest.output_url_prefix + * field. The final output location is provided in + * google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url. + */ + outputUrlPrefix?: string; + /** + * An estimate of the number of bytes processed. + */ + progressBytes?: Schema$GoogleDatastoreAdminV1beta1Progress; + /** + * An estimate of the number of entities processed. + */ + progressEntities?: Schema$GoogleDatastoreAdminV1beta1Progress; + } + /** + * The request for + * google.datastore.admin.v1beta1.DatastoreAdmin.ExportEntities. + */ + interface Schema$GoogleDatastoreAdminV1beta1ExportEntitiesRequest { + /** + * Description of what data from the project is included in the export. + */ + entityFilter?: Schema$GoogleDatastoreAdminV1beta1EntityFilter; + /** + * Client-assigned labels. + */ + labels?: any; + /** + * Location for the export metadata and data files. The full resource URL + * of the external storage location. Currently, only Google Cloud Storage is + * supported. So output_url_prefix should be of the form: + * `gs://BUCKET_NAME[/NAMESPACE_PATH]`, where `BUCKET_NAME` is the name of + * the Cloud Storage bucket and `NAMESPACE_PATH` is an optional Cloud + * Storage namespace path (this is not a Cloud Datastore namespace). For + * more information about Cloud Storage namespace paths, see [Object name + * considerations](https://cloud.google.com/storage/docs/naming#object-considerations). + * The resulting files will be nested deeper than the specified URL prefix. + * The final output URL will be provided in the + * google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url field. + * That value should be used for subsequent ImportEntities operations. By + * nesting the data files deeper, the same Cloud Storage bucket can be used + * in multiple ExportEntities operations without conflict. + */ + outputUrlPrefix?: string; + } + /** + * The response for + * google.datastore.admin.v1beta1.DatastoreAdmin.ExportEntities. + */ + interface Schema$GoogleDatastoreAdminV1beta1ExportEntitiesResponse { + /** + * Location of the output metadata file. This can be used to begin an import + * into Cloud Datastore (this project or another project). See + * google.datastore.admin.v1beta1.ImportEntitiesRequest.input_url. Only + * present if the operation completed successfully. + */ + outputUrl?: string; + } + /** + * Metadata for ImportEntities operations. + */ + interface Schema$GoogleDatastoreAdminV1beta1ImportEntitiesMetadata { + /** + * Metadata common to all Datastore Admin operations. + */ + common?: Schema$GoogleDatastoreAdminV1beta1CommonMetadata; + /** + * Description of which entities are being imported. + */ + entityFilter?: Schema$GoogleDatastoreAdminV1beta1EntityFilter; + /** + * The location of the import metadata file. This will be the same value as + * the google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url + * field. + */ + inputUrl?: string; + /** + * An estimate of the number of bytes processed. + */ + progressBytes?: Schema$GoogleDatastoreAdminV1beta1Progress; + /** + * An estimate of the number of entities processed. + */ + progressEntities?: Schema$GoogleDatastoreAdminV1beta1Progress; + } + /** + * The request for + * google.datastore.admin.v1beta1.DatastoreAdmin.ImportEntities. + */ + interface Schema$GoogleDatastoreAdminV1beta1ImportEntitiesRequest { + /** + * Optionally specify which kinds/namespaces are to be imported. If + * provided, the list must be a subset of the EntityFilter used in creating + * the export, otherwise a FAILED_PRECONDITION error will be returned. If no + * filter is specified then all entities from the export are imported. + */ + entityFilter?: Schema$GoogleDatastoreAdminV1beta1EntityFilter; + /** + * The full resource URL of the external storage location. Currently, only + * Google Cloud Storage is supported. So input_url should be of the form: + * `gs://BUCKET_NAME[/NAMESPACE_PATH]/OVERALL_EXPORT_METADATA_FILE`, where + * `BUCKET_NAME` is the name of the Cloud Storage bucket, `NAMESPACE_PATH` + * is an optional Cloud Storage namespace path (this is not a Cloud + * Datastore namespace), and `OVERALL_EXPORT_METADATA_FILE` is the metadata + * file written by the ExportEntities operation. For more information about + * Cloud Storage namespace paths, see [Object name + * considerations](https://cloud.google.com/storage/docs/naming#object-considerations). + * For more information, see + * google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url. + */ + inputUrl?: string; + /** + * Client-assigned labels. + */ + labels?: any; + } + /** + * Measures the progress of a particular metric. + */ + interface Schema$GoogleDatastoreAdminV1beta1Progress { + /** + * The amount of work that has been completed. Note that this may be greater + * than work_estimated. + */ + workCompleted?: string; + /** + * An estimate of how much work needs to be performed. May be zero if the + * work estimate is unavailable. + */ + workEstimated?: string; + } + /** + * Metadata common to all Datastore Admin operations. + */ + interface Schema$GoogleDatastoreAdminV1CommonMetadata { + /** + * The time the operation ended, either successfully or otherwise. + */ + endTime?: string; + /** + * The client-assigned labels which were provided when the operation was + * created. May also include additional labels. + */ + labels?: any; + /** + * The type of the operation. Can be used as a filter in + * ListOperationsRequest. + */ + operationType?: string; + /** + * The time that work began on the operation. + */ + startTime?: string; + /** + * The current state of the Operation. + */ + state?: string; + } + /** + * Identifies a subset of entities in a project. This is specified as + * combinations of kinds and namespaces (either or both of which may be all, + * as described in the following examples). Example usage: Entire project: + * kinds=[], namespace_ids=[] Kinds Foo and Bar in all namespaces: + * kinds=['Foo', 'Bar'], namespace_ids=[] Kinds Foo and Bar + * only in the default namespace: kinds=['Foo', 'Bar'], + * namespace_ids=[''] Kinds Foo and Bar in both the default and Baz + * namespaces: kinds=['Foo', 'Bar'], + * namespace_ids=['', 'Baz'] The entire Baz namespace: + * kinds=[], namespace_ids=['Baz'] + */ + interface Schema$GoogleDatastoreAdminV1EntityFilter { + /** + * If empty, then this represents all kinds. + */ + kinds?: string[]; + /** + * An empty list represents all namespaces. This is the preferred usage for + * projects that don't use namespaces. An empty string element + * represents the default namespace. This should be used if the project has + * data in non-default namespaces, but doesn't want to include them. + * Each namespace in this list must be unique. + */ + namespaceIds?: string[]; + } + /** + * Metadata for ExportEntities operations. + */ + interface Schema$GoogleDatastoreAdminV1ExportEntitiesMetadata { + /** + * Metadata common to all Datastore Admin operations. + */ + common?: Schema$GoogleDatastoreAdminV1CommonMetadata; + /** + * Description of which entities are being exported. + */ + entityFilter?: Schema$GoogleDatastoreAdminV1EntityFilter; + /** + * Location for the export metadata and data files. This will be the same + * value as the + * google.datastore.admin.v1.ExportEntitiesRequest.output_url_prefix field. + * The final output location is provided in + * google.datastore.admin.v1.ExportEntitiesResponse.output_url. + */ + outputUrlPrefix?: string; + /** + * An estimate of the number of bytes processed. + */ + progressBytes?: Schema$GoogleDatastoreAdminV1Progress; + /** + * An estimate of the number of entities processed. + */ + progressEntities?: Schema$GoogleDatastoreAdminV1Progress; + } + /** + * The response for google.datastore.admin.v1.DatastoreAdmin.ExportEntities. + */ + interface Schema$GoogleDatastoreAdminV1ExportEntitiesResponse { + /** + * Location of the output metadata file. This can be used to begin an import + * into Cloud Datastore (this project or another project). See + * google.datastore.admin.v1.ImportEntitiesRequest.input_url. Only present + * if the operation completed successfully. + */ + outputUrl?: string; + } + /** + * Metadata for ImportEntities operations. + */ + interface Schema$GoogleDatastoreAdminV1ImportEntitiesMetadata { + /** + * Metadata common to all Datastore Admin operations. + */ + common?: Schema$GoogleDatastoreAdminV1CommonMetadata; + /** + * Description of which entities are being imported. + */ + entityFilter?: Schema$GoogleDatastoreAdminV1EntityFilter; + /** + * The location of the import metadata file. This will be the same value as + * the google.datastore.admin.v1.ExportEntitiesResponse.output_url field. + */ + inputUrl?: string; + /** + * An estimate of the number of bytes processed. + */ + progressBytes?: Schema$GoogleDatastoreAdminV1Progress; + /** + * An estimate of the number of entities processed. + */ + progressEntities?: Schema$GoogleDatastoreAdminV1Progress; + } + /** + * Metadata for Index operations. + */ + interface Schema$GoogleDatastoreAdminV1IndexOperationMetadata { + /** + * Metadata common to all Datastore Admin operations. + */ + common?: Schema$GoogleDatastoreAdminV1CommonMetadata; + /** + * The index resource ID that this operation is acting on. + */ + indexId?: string; + /** + * An estimate of the number of entities processed. + */ + progressEntities?: Schema$GoogleDatastoreAdminV1Progress; + } + /** + * Measures the progress of a particular metric. + */ + interface Schema$GoogleDatastoreAdminV1Progress { + /** + * The amount of work that has been completed. Note that this may be greater + * than work_estimated. + */ + workCompleted?: string; + /** + * An estimate of how much work needs to be performed. May be zero if the + * work estimate is unavailable. + */ + workEstimated?: string; + } + /** + * This resource represents a long-running operation that is the result of a + * network API call. + */ + interface Schema$GoogleLongrunningOperation { + /** + * If the value is `false`, it means the operation is still in progress. If + * `true`, the operation is completed, and either `error` or `response` is + * available. + */ + done?: boolean; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * Service-specific metadata associated with the operation. It typically + * contains progress information and common metadata such as create time. + * Some services might not provide such metadata. Any method that returns a + * long-running operation should document the metadata type, if any. + */ + metadata?: any; + /** + * The server-assigned name, which is only unique within the same service + * that originally returns it. If you use the default HTTP mapping, the + * `name` should have the format of `operations/some/unique/name`. + */ + name?: string; + /** + * The normal response of the operation in case of success. If the original + * method returns no data on success, such as `Delete`, the response is + * `google.protobuf.Empty`. If the original method is standard + * `Get`/`Create`/`Update`, the response should be the resource. For other + * methods, the response should have the type `XxxResponse`, where `Xxx` is + * the original method name. For example, if the original method name is + * `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: any; + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + class Resource$Projects { + root: Datastore; + constructor(root: Datastore); + getRoot(): Datastore; + /** + * datastore.projects.export + * @desc Exports a copy of all or a subset of entities from Google Cloud + * Datastore to another storage system, such as Google Cloud Storage. Recent + * updates to entities may not be reflected in the export. The export occurs + * in the background and its progress can be monitored and managed via the + * Operation resource that is created. The output of an export may only be + * used once the associated operation is done. If an export operation is + * cancelled before completion it may leave partial data behind in Google + * Cloud Storage. + * @alias datastore.projects.export + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId Project ID against which to make the request. + * @param {().GoogleDatastoreAdminV1beta1ExportEntitiesRequest} 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 + */ + export(params?: Params$Resource$Projects$Export, options?: MethodOptions): AxiosPromise; + export(params: Params$Resource$Projects$Export, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + export(params: Params$Resource$Projects$Export, callback: BodyResponseCallback): void; + export(callback: BodyResponseCallback): void; + /** + * datastore.projects.import + * @desc Imports entities into Google Cloud Datastore. Existing entities with + * the same key are overwritten. The import occurs in the background and its + * progress can be monitored and managed via the Operation resource that is + * created. If an ImportEntities operation is cancelled, it is possible that a + * subset of the data has already been imported to Cloud Datastore. + * @alias datastore.projects.import + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId Project ID against which to make the request. + * @param {().GoogleDatastoreAdminV1beta1ImportEntitiesRequest} 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 + */ + import(params?: Params$Resource$Projects$Import, options?: MethodOptions): AxiosPromise; + import(params: Params$Resource$Projects$Import, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + import(params: Params$Resource$Projects$Import, callback: BodyResponseCallback): void; + import(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Export { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** +* Project ID against which to make the request. +*/ + projectId?: string; + /** +* Request body metadata +*/ + requestBody?: Schema$GoogleDatastoreAdminV1beta1ExportEntitiesRequest; + } + interface Params$Resource$Projects$Import { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** +* Project ID against which to make the request. +*/ + projectId?: string; + /** +* Request body metadata +*/ + requestBody?: Schema$GoogleDatastoreAdminV1beta1ImportEntitiesRequest; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/datastore/v1beta1.js b/express-server/node_modules/googleapis/build/src/apis/datastore/v1beta1.js new file mode 100644 index 00000000..b0517565 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/datastore/v1beta1.js @@ -0,0 +1,127 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var datastore_v1beta1; +(function (datastore_v1beta1) { + /** + * Cloud Datastore API + * + * Accesses the schemaless NoSQL database to provide fully managed, robust, + * scalable storage for your application. + * + * @example + * const {google} = require('googleapis'); + * const datastore = google.datastore('v1beta1'); + * + * @namespace datastore + * @type {Function} + * @version v1beta1 + * @variation v1beta1 + * @param {object=} options Options for Datastore + */ + class Datastore { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.projects = new Resource$Projects(this); + } + getRoot() { + return this.root; + } + } + datastore_v1beta1.Datastore = Datastore; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + export(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://datastore.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/projects/{projectId}:export') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId'], + pathParams: ['projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + import(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://datastore.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/projects/{projectId}:import').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId'], + pathParams: ['projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + datastore_v1beta1.Resource$Projects = Resource$Projects; +})(datastore_v1beta1 = exports.datastore_v1beta1 || (exports.datastore_v1beta1 = {})); +//# sourceMappingURL=v1beta1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/datastore/v1beta1.js.map b/express-server/node_modules/googleapis/build/src/apis/datastore/v1beta1.js.map new file mode 100644 index 00000000..4e35a821 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/datastore/v1beta1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1beta1.js","sourceRoot":"","sources":["../../../../src/apis/datastore/v1beta1.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAIH,yDAA2H;AAE3H,yBAAyB;AACzB,6BAA6B;AAC7B,gCAAgC;AAChC,+BAA+B;AAC/B,+BAA+B;AAE/B,IAAiB,iBAAiB,CA8pBjC;AA9pBD,WAAiB,iBAAiB;IAKhC;;;;;;;;;;;;;;;OAeG;IACH,MAAa,SAAS;QAOpB,YAAY,OAAsB,EAAE,MAA2B;YAJ/D,SAAI,GAAG,IAAI,CAAC;YAKV,IAAI,CAAC,QAAQ,GAAG,OAAO,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAExB,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;KACF;IAlBY,2BAAS,YAkBrB,CAAA;IA+bD,MAAa,iBAAiB;QAE5B,YAAY,IAAe;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAqCD,MAAM,CACF,gBACuD,EACvD,iBACuD,EACvD,QAAkE;YAEpE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAoC,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqC,CAAC;gBAC/C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,sCAAsC,CAAC;yBAC7C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CAAoC,UAAU,CAAC,CAAC;aACxE;QACH,CAAC;QAwBL,MAAM,CAAC,gBAA0G,EAAE,iBAAyF,EAAE,QAAkE;YAC9Q,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAoC,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBACxC,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqC,CAAC;gBAC/C,OAAO,GAAG,EAAE,CAAC;aAChB;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBACzC,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aAChB;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC;oBACrB,GAAG,EAAE,CAAC,OAAO,GAAG,sCAAsC,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACrF,MAAM,EAAE,MAAM;iBACf,EAAE,OAAO,CAAC;gBACX,MAAM;gBACF,cAAc,EAAE,CAAC,WAAW,CAAC;gBACjC,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACA,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAoC,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC7E;iBAAM;gBACH,OAAO,oCAAgB,CAAoC,UAAU,CAAC,CAAC;aAC1E;QACH,CAAC;KAEkB;IAhJJ,mCAAiB,oBAgJb,CAAA;AAwCnB,CAAC,EA9pBgB,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QA8pBjC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/datastore/v1beta3.d.ts b/express-server/node_modules/googleapis/build/src/apis/datastore/v1beta3.d.ts new file mode 100644 index 00000000..3257fa3e --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/datastore/v1beta3.d.ts @@ -0,0 +1,1275 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace datastore_v1beta3 { + interface Options extends GlobalOptions { + version: 'v1beta3'; + } + /** + * Cloud Datastore API + * + * Accesses the schemaless NoSQL database to provide fully managed, robust, + * scalable storage for your application. + * + * @example + * const {google} = require('googleapis'); + * const datastore = google.datastore('v1beta3'); + * + * @namespace datastore + * @type {Function} + * @version v1beta3 + * @variation v1beta3 + * @param {object=} options Options for Datastore + */ + class Datastore { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + projects: Resource$Projects; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * The request for Datastore.AllocateIds. + */ + interface Schema$AllocateIdsRequest { + /** + * A list of keys with incomplete key paths for which to allocate IDs. No + * key may be reserved/read-only. + */ + keys?: Schema$Key[]; + } + /** + * The response for Datastore.AllocateIds. + */ + interface Schema$AllocateIdsResponse { + /** + * The keys specified in the request (in the same order), each with its key + * path completed with a newly allocated ID. + */ + keys?: Schema$Key[]; + } + /** + * An array value. + */ + interface Schema$ArrayValue { + /** + * Values in the array. The order of this array may not be preserved if it + * contains a mix of indexed and unindexed values. + */ + values?: Schema$Value[]; + } + /** + * The request for Datastore.BeginTransaction. + */ + interface Schema$BeginTransactionRequest { + /** + * Options for a new transaction. + */ + transactionOptions?: Schema$TransactionOptions; + } + /** + * The response for Datastore.BeginTransaction. + */ + interface Schema$BeginTransactionResponse { + /** + * The transaction identifier (always present). + */ + transaction?: string; + } + /** + * The request for Datastore.Commit. + */ + interface Schema$CommitRequest { + /** + * The type of commit to perform. Defaults to `TRANSACTIONAL`. + */ + mode?: string; + /** + * The mutations to perform. When mode is `TRANSACTIONAL`, mutations + * affecting a single entity are applied in order. The following sequences + * of mutations affecting a single entity are not permitted in a single + * `Commit` request: - `insert` followed by `insert` - `update` followed by + * `insert` - `upsert` followed by `insert` - `delete` followed by `update` + * When mode is `NON_TRANSACTIONAL`, no two mutations may affect a single + * entity. + */ + mutations?: Schema$Mutation[]; + /** + * The identifier of the transaction associated with the commit. A + * transaction identifier is returned by a call to + * Datastore.BeginTransaction. + */ + transaction?: string; + } + /** + * The response for Datastore.Commit. + */ + interface Schema$CommitResponse { + /** + * The number of index entries updated during the commit, or zero if none + * were updated. + */ + indexUpdates?: number; + /** + * The result of performing the mutations. The i-th mutation result + * corresponds to the i-th mutation in the request. + */ + mutationResults?: Schema$MutationResult[]; + } + /** + * A filter that merges multiple other filters using the given operator. + */ + interface Schema$CompositeFilter { + /** + * The list of filters to combine. Must contain at least one filter. + */ + filters?: Schema$Filter[]; + /** + * The operator for combining multiple filters. + */ + op?: string; + } + /** + * A Datastore data object. An entity is limited to 1 megabyte when stored. + * That _roughly_ corresponds to a limit of 1 megabyte for the serialized form + * of this message. + */ + interface Schema$Entity { + /** + * The entity's key. An entity must have a key, unless otherwise + * documented (for example, an entity in `Value.entity_value` may have no + * key). An entity's kind is its key path's last element's kind, + * or null if it has no key. + */ + key?: Schema$Key; + /** + * The entity's properties. The map's keys are property names. A + * property name matching regex `__.*__` is reserved. A reserved property + * name is forbidden in certain documented contexts. The name must not + * contain more than 500 characters. The name cannot be `""`. + */ + properties?: any; + } + /** + * The result of fetching an entity from Datastore. + */ + interface Schema$EntityResult { + /** + * A cursor that points to the position after the result entity. Set only + * when the `EntityResult` is part of a `QueryResultBatch` message. + */ + cursor?: string; + /** + * The resulting entity. + */ + entity?: Schema$Entity; + /** + * The version of the entity, a strictly positive number that monotonically + * increases with changes to the entity. This field is set for `FULL` + * entity results. For missing entities in `LookupResponse`, this is the + * version of the snapshot that was used to look up the entity, and it is + * always set except for eventually consistent reads. + */ + version?: string; + } + /** + * A holder for any type of filter. + */ + interface Schema$Filter { + /** + * A composite filter. + */ + compositeFilter?: Schema$CompositeFilter; + /** + * A filter on a property. + */ + propertyFilter?: Schema$PropertyFilter; + } + /** + * Metadata common to all Datastore Admin operations. + */ + interface Schema$GoogleDatastoreAdminV1beta1CommonMetadata { + /** + * The time the operation ended, either successfully or otherwise. + */ + endTime?: string; + /** + * The client-assigned labels which were provided when the operation was + * created. May also include additional labels. + */ + labels?: any; + /** + * The type of the operation. Can be used as a filter in + * ListOperationsRequest. + */ + operationType?: string; + /** + * The time that work began on the operation. + */ + startTime?: string; + /** + * The current state of the Operation. + */ + state?: string; + } + /** + * Identifies a subset of entities in a project. This is specified as + * combinations of kinds and namespaces (either or both of which may be all, + * as described in the following examples). Example usage: Entire project: + * kinds=[], namespace_ids=[] Kinds Foo and Bar in all namespaces: + * kinds=['Foo', 'Bar'], namespace_ids=[] Kinds Foo and Bar + * only in the default namespace: kinds=['Foo', 'Bar'], + * namespace_ids=[''] Kinds Foo and Bar in both the default and Baz + * namespaces: kinds=['Foo', 'Bar'], + * namespace_ids=['', 'Baz'] The entire Baz namespace: + * kinds=[], namespace_ids=['Baz'] + */ + interface Schema$GoogleDatastoreAdminV1beta1EntityFilter { + /** + * If empty, then this represents all kinds. + */ + kinds?: string[]; + /** + * An empty list represents all namespaces. This is the preferred usage for + * projects that don't use namespaces. An empty string element + * represents the default namespace. This should be used if the project has + * data in non-default namespaces, but doesn't want to include them. + * Each namespace in this list must be unique. + */ + namespaceIds?: string[]; + } + /** + * Metadata for ExportEntities operations. + */ + interface Schema$GoogleDatastoreAdminV1beta1ExportEntitiesMetadata { + /** + * Metadata common to all Datastore Admin operations. + */ + common?: Schema$GoogleDatastoreAdminV1beta1CommonMetadata; + /** + * Description of which entities are being exported. + */ + entityFilter?: Schema$GoogleDatastoreAdminV1beta1EntityFilter; + /** + * Location for the export metadata and data files. This will be the same + * value as the + * google.datastore.admin.v1beta1.ExportEntitiesRequest.output_url_prefix + * field. The final output location is provided in + * google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url. + */ + outputUrlPrefix?: string; + /** + * An estimate of the number of bytes processed. + */ + progressBytes?: Schema$GoogleDatastoreAdminV1beta1Progress; + /** + * An estimate of the number of entities processed. + */ + progressEntities?: Schema$GoogleDatastoreAdminV1beta1Progress; + } + /** + * The response for + * google.datastore.admin.v1beta1.DatastoreAdmin.ExportEntities. + */ + interface Schema$GoogleDatastoreAdminV1beta1ExportEntitiesResponse { + /** + * Location of the output metadata file. This can be used to begin an import + * into Cloud Datastore (this project or another project). See + * google.datastore.admin.v1beta1.ImportEntitiesRequest.input_url. Only + * present if the operation completed successfully. + */ + outputUrl?: string; + } + /** + * Metadata for ImportEntities operations. + */ + interface Schema$GoogleDatastoreAdminV1beta1ImportEntitiesMetadata { + /** + * Metadata common to all Datastore Admin operations. + */ + common?: Schema$GoogleDatastoreAdminV1beta1CommonMetadata; + /** + * Description of which entities are being imported. + */ + entityFilter?: Schema$GoogleDatastoreAdminV1beta1EntityFilter; + /** + * The location of the import metadata file. This will be the same value as + * the google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url + * field. + */ + inputUrl?: string; + /** + * An estimate of the number of bytes processed. + */ + progressBytes?: Schema$GoogleDatastoreAdminV1beta1Progress; + /** + * An estimate of the number of entities processed. + */ + progressEntities?: Schema$GoogleDatastoreAdminV1beta1Progress; + } + /** + * Measures the progress of a particular metric. + */ + interface Schema$GoogleDatastoreAdminV1beta1Progress { + /** + * The amount of work that has been completed. Note that this may be greater + * than work_estimated. + */ + workCompleted?: string; + /** + * An estimate of how much work needs to be performed. May be zero if the + * work estimate is unavailable. + */ + workEstimated?: string; + } + /** + * Metadata common to all Datastore Admin operations. + */ + interface Schema$GoogleDatastoreAdminV1CommonMetadata { + /** + * The time the operation ended, either successfully or otherwise. + */ + endTime?: string; + /** + * The client-assigned labels which were provided when the operation was + * created. May also include additional labels. + */ + labels?: any; + /** + * The type of the operation. Can be used as a filter in + * ListOperationsRequest. + */ + operationType?: string; + /** + * The time that work began on the operation. + */ + startTime?: string; + /** + * The current state of the Operation. + */ + state?: string; + } + /** + * Identifies a subset of entities in a project. This is specified as + * combinations of kinds and namespaces (either or both of which may be all, + * as described in the following examples). Example usage: Entire project: + * kinds=[], namespace_ids=[] Kinds Foo and Bar in all namespaces: + * kinds=['Foo', 'Bar'], namespace_ids=[] Kinds Foo and Bar + * only in the default namespace: kinds=['Foo', 'Bar'], + * namespace_ids=[''] Kinds Foo and Bar in both the default and Baz + * namespaces: kinds=['Foo', 'Bar'], + * namespace_ids=['', 'Baz'] The entire Baz namespace: + * kinds=[], namespace_ids=['Baz'] + */ + interface Schema$GoogleDatastoreAdminV1EntityFilter { + /** + * If empty, then this represents all kinds. + */ + kinds?: string[]; + /** + * An empty list represents all namespaces. This is the preferred usage for + * projects that don't use namespaces. An empty string element + * represents the default namespace. This should be used if the project has + * data in non-default namespaces, but doesn't want to include them. + * Each namespace in this list must be unique. + */ + namespaceIds?: string[]; + } + /** + * Metadata for ExportEntities operations. + */ + interface Schema$GoogleDatastoreAdminV1ExportEntitiesMetadata { + /** + * Metadata common to all Datastore Admin operations. + */ + common?: Schema$GoogleDatastoreAdminV1CommonMetadata; + /** + * Description of which entities are being exported. + */ + entityFilter?: Schema$GoogleDatastoreAdminV1EntityFilter; + /** + * Location for the export metadata and data files. This will be the same + * value as the + * google.datastore.admin.v1.ExportEntitiesRequest.output_url_prefix field. + * The final output location is provided in + * google.datastore.admin.v1.ExportEntitiesResponse.output_url. + */ + outputUrlPrefix?: string; + /** + * An estimate of the number of bytes processed. + */ + progressBytes?: Schema$GoogleDatastoreAdminV1Progress; + /** + * An estimate of the number of entities processed. + */ + progressEntities?: Schema$GoogleDatastoreAdminV1Progress; + } + /** + * The response for google.datastore.admin.v1.DatastoreAdmin.ExportEntities. + */ + interface Schema$GoogleDatastoreAdminV1ExportEntitiesResponse { + /** + * Location of the output metadata file. This can be used to begin an import + * into Cloud Datastore (this project or another project). See + * google.datastore.admin.v1.ImportEntitiesRequest.input_url. Only present + * if the operation completed successfully. + */ + outputUrl?: string; + } + /** + * Metadata for ImportEntities operations. + */ + interface Schema$GoogleDatastoreAdminV1ImportEntitiesMetadata { + /** + * Metadata common to all Datastore Admin operations. + */ + common?: Schema$GoogleDatastoreAdminV1CommonMetadata; + /** + * Description of which entities are being imported. + */ + entityFilter?: Schema$GoogleDatastoreAdminV1EntityFilter; + /** + * The location of the import metadata file. This will be the same value as + * the google.datastore.admin.v1.ExportEntitiesResponse.output_url field. + */ + inputUrl?: string; + /** + * An estimate of the number of bytes processed. + */ + progressBytes?: Schema$GoogleDatastoreAdminV1Progress; + /** + * An estimate of the number of entities processed. + */ + progressEntities?: Schema$GoogleDatastoreAdminV1Progress; + } + /** + * Metadata for Index operations. + */ + interface Schema$GoogleDatastoreAdminV1IndexOperationMetadata { + /** + * Metadata common to all Datastore Admin operations. + */ + common?: Schema$GoogleDatastoreAdminV1CommonMetadata; + /** + * The index resource ID that this operation is acting on. + */ + indexId?: string; + /** + * An estimate of the number of entities processed. + */ + progressEntities?: Schema$GoogleDatastoreAdminV1Progress; + } + /** + * Measures the progress of a particular metric. + */ + interface Schema$GoogleDatastoreAdminV1Progress { + /** + * The amount of work that has been completed. Note that this may be greater + * than work_estimated. + */ + workCompleted?: string; + /** + * An estimate of how much work needs to be performed. May be zero if the + * work estimate is unavailable. + */ + workEstimated?: string; + } + /** + * A [GQL + * query](https://cloud.google.com/datastore/docs/apis/gql/gql_reference). + */ + interface Schema$GqlQuery { + /** + * When false, the query string must not contain any literals and instead + * must bind all values. For example, `SELECT * FROM Kind WHERE a = + * 'string literal'` is not allowed, while `SELECT * FROM Kind WHERE + * a = @value` is. + */ + allowLiterals?: boolean; + /** + * For each non-reserved named binding site in the query string, there must + * be a named parameter with that name, but not necessarily the inverse. Key + * must match regex `A-Za-z_$*`, must not match regex `__.*__`, and must not + * be `""`. + */ + namedBindings?: any; + /** + * Numbered binding site @1 references the first numbered parameter, + * effectively using 1-based indexing, rather than the usual 0. For each + * binding site numbered i in `query_string`, there must be an i-th numbered + * parameter. The inverse must also be true. + */ + positionalBindings?: Schema$GqlQueryParameter[]; + /** + * A string of the format described + * [here](https://cloud.google.com/datastore/docs/apis/gql/gql_reference). + */ + queryString?: string; + } + /** + * A binding parameter for a GQL query. + */ + interface Schema$GqlQueryParameter { + /** + * A query cursor. Query cursors are returned in query result batches. + */ + cursor?: string; + /** + * A value parameter. + */ + value?: Schema$Value; + } + /** + * A unique identifier for an entity. If a key's partition ID or any of + * its path kinds or names are reserved/read-only, the key is + * reserved/read-only. A reserved/read-only key is forbidden in certain + * documented contexts. + */ + interface Schema$Key { + /** + * Entities are partitioned into subsets, currently identified by a project + * ID and namespace ID. Queries are scoped to a single partition. + */ + partitionId?: Schema$PartitionId; + /** + * The entity path. An entity path consists of one or more elements composed + * of a kind and a string or numerical identifier, which identify entities. + * The first element identifies a _root entity_, the second element + * identifies a _child_ of the root entity, the third element identifies a + * child of the second entity, and so forth. The entities identified by all + * prefixes of the path are called the element's _ancestors_. An entity + * path is always fully complete: *all* of the entity's ancestors are + * required to be in the path along with the entity identifier itself. The + * only exception is that in some documented cases, the identifier in the + * last path element (for the entity) itself may be omitted. For example, + * the last path element of the key of `Mutation.insert` may have no + * identifier. A path can never be empty, and a path can have at most 100 + * elements. + */ + path?: Schema$PathElement[]; + } + /** + * A representation of a kind. + */ + interface Schema$KindExpression { + /** + * The name of the kind. + */ + name?: string; + } + /** + * An object representing a latitude/longitude pair. This is expressed as a + * pair of doubles representing degrees latitude and degrees longitude. Unless + * specified otherwise, this must conform to the <a + * href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84 + * standard</a>. Values must be within normalized ranges. + */ + interface Schema$LatLng { + /** + * The latitude in degrees. It must be in the range [-90.0, +90.0]. + */ + latitude?: number; + /** + * The longitude in degrees. It must be in the range [-180.0, +180.0]. + */ + longitude?: number; + } + /** + * The request for Datastore.Lookup. + */ + interface Schema$LookupRequest { + /** + * Keys of entities to look up. + */ + keys?: Schema$Key[]; + /** + * The options for this lookup request. + */ + readOptions?: Schema$ReadOptions; + } + /** + * The response for Datastore.Lookup. + */ + interface Schema$LookupResponse { + /** + * A list of keys that were not looked up due to resource constraints. The + * order of results in this field is undefined and has no relation to the + * order of the keys in the input. + */ + deferred?: Schema$Key[]; + /** + * Entities found as `ResultType.FULL` entities. The order of results in + * this field is undefined and has no relation to the order of the keys in + * the input. + */ + found?: Schema$EntityResult[]; + /** + * Entities not found as `ResultType.KEY_ONLY` entities. The order of + * results in this field is undefined and has no relation to the order of + * the keys in the input. + */ + missing?: Schema$EntityResult[]; + } + /** + * A mutation to apply to an entity. + */ + interface Schema$Mutation { + /** + * The version of the entity that this mutation is being applied to. If this + * does not match the current version on the server, the mutation conflicts. + */ + baseVersion?: string; + /** + * The key of the entity to delete. The entity may or may not already exist. + * Must have a complete key path and must not be reserved/read-only. + */ + delete?: Schema$Key; + /** + * The entity to insert. The entity must not already exist. The entity + * key's final path element may be incomplete. + */ + insert?: Schema$Entity; + /** + * The entity to update. The entity must already exist. Must have a complete + * key path. + */ + update?: Schema$Entity; + /** + * The entity to upsert. The entity may or may not already exist. The entity + * key's final path element may be incomplete. + */ + upsert?: Schema$Entity; + } + /** + * The result of applying a mutation. + */ + interface Schema$MutationResult { + /** + * Whether a conflict was detected for this mutation. Always false when a + * conflict detection strategy field is not set in the mutation. + */ + conflictDetected?: boolean; + /** + * The automatically allocated key. Set only when the mutation allocated a + * key. + */ + key?: Schema$Key; + /** + * The version of the entity on the server after processing the mutation. If + * the mutation doesn't change anything on the server, then the version + * will be the version of the current entity or, if no entity is present, a + * version that is strictly greater than the version of any previous entity + * and less than the version of any possible future entity. + */ + version?: string; + } + /** + * A partition ID identifies a grouping of entities. The grouping is always by + * project and namespace, however the namespace ID may be empty. A partition + * ID contains several dimensions: project ID and namespace ID. Partition + * dimensions: - May be `""`. - Must be valid UTF-8 bytes. - Must + * have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any + * dimension matches regex `__.*__`, the partition is reserved/read-only. A + * reserved/read-only partition ID is forbidden in certain documented + * contexts. Foreign partition IDs (in which the project ID does not match + * the context project ID ) are discouraged. Reads and writes of foreign + * partition IDs may fail if the project is not in an active state. + */ + interface Schema$PartitionId { + /** + * If not empty, the ID of the namespace to which the entities belong. + */ + namespaceId?: string; + /** + * The ID of the project to which the entities belong. + */ + projectId?: string; + } + /** + * A (kind, ID/name) pair used to construct a key path. If either name or ID + * is set, the element is complete. If neither is set, the element is + * incomplete. + */ + interface Schema$PathElement { + /** + * The auto-allocated ID of the entity. Never equal to zero. Values less + * than zero are discouraged and may not be supported in the future. + */ + id?: string; + /** + * The kind of the entity. A kind matching regex `__.*__` is + * reserved/read-only. A kind must not contain more than 1500 bytes when + * UTF-8 encoded. Cannot be `""`. + */ + kind?: string; + /** + * The name of the entity. A name matching regex `__.*__` is + * reserved/read-only. A name must not be more than 1500 bytes when UTF-8 + * encoded. Cannot be `""`. + */ + name?: string; + } + /** + * A representation of a property in a projection. + */ + interface Schema$Projection { + /** + * The property to project. + */ + property?: Schema$PropertyReference; + } + /** + * A filter on a specific property. + */ + interface Schema$PropertyFilter { + /** + * The operator to filter by. + */ + op?: string; + /** + * The property to filter by. + */ + property?: Schema$PropertyReference; + /** + * The value to compare the property to. + */ + value?: Schema$Value; + } + /** + * The desired order for a specific property. + */ + interface Schema$PropertyOrder { + /** + * The direction to order by. Defaults to `ASCENDING`. + */ + direction?: string; + /** + * The property to order by. + */ + property?: Schema$PropertyReference; + } + /** + * A reference to a property relative to the kind expressions. + */ + interface Schema$PropertyReference { + /** + * The name of the property. If name includes "."s, it may be + * interpreted as a property name path. + */ + name?: string; + } + /** + * A query for entities. + */ + interface Schema$Query { + /** + * The properties to make distinct. The query results will contain the first + * result for each distinct combination of values for the given properties + * (if empty, all results are returned). + */ + distinctOn?: Schema$PropertyReference[]; + /** + * An ending point for the query results. Query cursors are returned in + * query result batches and [can only be used to limit the same + * query](https://cloud.google.com/datastore/docs/concepts/queries#cursors_limits_and_offsets). + */ + endCursor?: string; + /** + * The filter to apply. + */ + filter?: Schema$Filter; + /** + * The kinds to query (if empty, returns entities of all kinds). Currently + * at most 1 kind may be specified. + */ + kind?: Schema$KindExpression[]; + /** + * The maximum number of results to return. Applies after all other + * constraints. Optional. Unspecified is interpreted as no limit. Must be + * >= 0 if specified. + */ + limit?: number; + /** + * The number of results to skip. Applies before limit, but after all other + * constraints. Optional. Must be >= 0 if specified. + */ + offset?: number; + /** + * The order to apply to the query results (if empty, order is unspecified). + */ + order?: Schema$PropertyOrder[]; + /** + * The projection to return. Defaults to returning all properties. + */ + projection?: Schema$Projection[]; + /** + * A starting point for the query results. Query cursors are returned in + * query result batches and [can only be used to continue the same + * query](https://cloud.google.com/datastore/docs/concepts/queries#cursors_limits_and_offsets). + */ + startCursor?: string; + } + /** + * A batch of results produced by a query. + */ + interface Schema$QueryResultBatch { + /** + * A cursor that points to the position after the last result in the batch. + */ + endCursor?: string; + /** + * The results for this batch. + */ + entityResults?: Schema$EntityResult[]; + /** + * The result type for every entity in `entity_results`. + */ + entityResultType?: string; + /** + * The state of the query after the current batch. + */ + moreResults?: string; + /** + * A cursor that points to the position after the last skipped result. Will + * be set when `skipped_results` != 0. + */ + skippedCursor?: string; + /** + * The number of results skipped, typically because of an offset. + */ + skippedResults?: number; + /** + * The version number of the snapshot this batch was returned from. This + * applies to the range of results from the query's `start_cursor` (or + * the beginning of the query if no cursor was given) to this batch's + * `end_cursor` (not the query's `end_cursor`). In a single + * transaction, subsequent query result batches for the same query can have + * a greater snapshot version number. Each batch's snapshot version is + * valid for all preceding batches. The value will be zero for eventually + * consistent queries. + */ + snapshotVersion?: string; + } + /** + * Options specific to read-only transactions. + */ + interface Schema$ReadOnly { + } + /** + * The options shared by read requests. + */ + interface Schema$ReadOptions { + /** + * The non-transactional read consistency to use. Cannot be set to `STRONG` + * for global queries. + */ + readConsistency?: string; + /** + * The identifier of the transaction in which to read. A transaction + * identifier is returned by a call to Datastore.BeginTransaction. + */ + transaction?: string; + } + /** + * Options specific to read / write transactions. + */ + interface Schema$ReadWrite { + /** + * The transaction identifier of the transaction being retried. + */ + previousTransaction?: string; + } + /** + * The request for Datastore.ReserveIds. + */ + interface Schema$ReserveIdsRequest { + /** + * If not empty, the ID of the database against which to make the request. + */ + databaseId?: string; + /** + * A list of keys with complete key paths whose numeric IDs should not be + * auto-allocated. + */ + keys?: Schema$Key[]; + } + /** + * The response for Datastore.ReserveIds. + */ + interface Schema$ReserveIdsResponse { + } + /** + * The request for Datastore.Rollback. + */ + interface Schema$RollbackRequest { + /** + * The transaction identifier, returned by a call to + * Datastore.BeginTransaction. + */ + transaction?: string; + } + /** + * The response for Datastore.Rollback. (an empty message). + */ + interface Schema$RollbackResponse { + } + /** + * The request for Datastore.RunQuery. + */ + interface Schema$RunQueryRequest { + /** + * The GQL query to run. + */ + gqlQuery?: Schema$GqlQuery; + /** + * Entities are partitioned into subsets, identified by a partition ID. + * Queries are scoped to a single partition. This partition ID is normalized + * with the standard default context partition ID. + */ + partitionId?: Schema$PartitionId; + /** + * The query to run. + */ + query?: Schema$Query; + /** + * The options for this query. + */ + readOptions?: Schema$ReadOptions; + } + /** + * The response for Datastore.RunQuery. + */ + interface Schema$RunQueryResponse { + /** + * A batch of query results (always present). + */ + batch?: Schema$QueryResultBatch; + /** + * The parsed form of the `GqlQuery` from the request, if it was set. + */ + query?: Schema$Query; + } + /** + * Options for beginning a new transaction. Transactions can be created + * explicitly with calls to Datastore.BeginTransaction or implicitly by + * setting ReadOptions.new_transaction in read requests. + */ + interface Schema$TransactionOptions { + /** + * The transaction should only allow reads. + */ + readOnly?: Schema$ReadOnly; + /** + * The transaction should allow both reads and writes. + */ + readWrite?: Schema$ReadWrite; + } + /** + * A message that can hold any of the supported value types and associated + * metadata. + */ + interface Schema$Value { + /** + * An array value. Cannot contain another array value. A `Value` instance + * that sets field `array_value` must not set fields `meaning` or + * `exclude_from_indexes`. + */ + arrayValue?: Schema$ArrayValue; + /** + * A blob value. May have at most 1,000,000 bytes. When + * `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON + * requests, must be base64-encoded. + */ + blobValue?: string; + /** + * A boolean value. + */ + booleanValue?: boolean; + /** + * A double value. + */ + doubleValue?: number; + /** + * An entity value. - May have no key. - May have a key with an incomplete + * key path. - May have a reserved/read-only key. + */ + entityValue?: Schema$Entity; + /** + * If the value should be excluded from all indexes including those defined + * explicitly. + */ + excludeFromIndexes?: boolean; + /** + * A geo point value representing a point on the surface of Earth. + */ + geoPointValue?: Schema$LatLng; + /** + * An integer value. + */ + integerValue?: string; + /** + * A key value. + */ + keyValue?: Schema$Key; + /** + * The `meaning` field should only be populated for backwards compatibility. + */ + meaning?: number; + /** + * A null value. + */ + nullValue?: string; + /** + * A UTF-8 encoded string value. When `exclude_from_indexes` is false (it is + * indexed) , may have at most 1500 bytes. Otherwise, may be set to at least + * 1,000,000 bytes. + */ + stringValue?: string; + /** + * A timestamp value. When stored in the Datastore, precise only to + * microseconds; any additional precision is rounded down. + */ + timestampValue?: string; + } + class Resource$Projects { + root: Datastore; + constructor(root: Datastore); + getRoot(): Datastore; + /** + * datastore.projects.allocateIds + * @desc Allocates IDs for the given keys, which is useful for referencing + * an entity before it is inserted. + * @alias datastore.projects.allocateIds + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId The ID of the project against which to make the request. + * @param {().AllocateIdsRequest} 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 + */ + allocateIds(params?: Params$Resource$Projects$Allocateids, options?: MethodOptions): AxiosPromise; + allocateIds(params: Params$Resource$Projects$Allocateids, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + allocateIds(params: Params$Resource$Projects$Allocateids, callback: BodyResponseCallback): void; + allocateIds(callback: BodyResponseCallback): void; + /** + * datastore.projects.beginTransaction + * @desc Begins a new transaction. + * @alias datastore.projects.beginTransaction + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId The ID of the project against which to make the request. + * @param {().BeginTransactionRequest} 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 + */ + beginTransaction(params?: Params$Resource$Projects$Begintransaction, options?: MethodOptions): AxiosPromise; + beginTransaction(params: Params$Resource$Projects$Begintransaction, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + beginTransaction(params: Params$Resource$Projects$Begintransaction, callback: BodyResponseCallback): void; + beginTransaction(callback: BodyResponseCallback): void; + /** + * datastore.projects.commit + * @desc Commits a transaction, optionally creating, deleting or modifying + * some entities. + * @alias datastore.projects.commit + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId The ID of the project against which to make the request. + * @param {().CommitRequest} 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 + */ + commit(params?: Params$Resource$Projects$Commit, options?: MethodOptions): AxiosPromise; + commit(params: Params$Resource$Projects$Commit, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + commit(params: Params$Resource$Projects$Commit, callback: BodyResponseCallback): void; + commit(callback: BodyResponseCallback): void; + /** + * datastore.projects.lookup + * @desc Looks up entities by key. + * @alias datastore.projects.lookup + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId The ID of the project against which to make the request. + * @param {().LookupRequest} 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 + */ + lookup(params?: Params$Resource$Projects$Lookup, options?: MethodOptions): AxiosPromise; + lookup(params: Params$Resource$Projects$Lookup, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + lookup(params: Params$Resource$Projects$Lookup, callback: BodyResponseCallback): void; + lookup(callback: BodyResponseCallback): void; + /** + * datastore.projects.reserveIds + * @desc Prevents the supplied keys' IDs from being auto-allocated by Cloud + * Datastore. + * @alias datastore.projects.reserveIds + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId The ID of the project against which to make the request. + * @param {().ReserveIdsRequest} 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 + */ + reserveIds(params?: Params$Resource$Projects$Reserveids, options?: MethodOptions): AxiosPromise; + reserveIds(params: Params$Resource$Projects$Reserveids, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + reserveIds(params: Params$Resource$Projects$Reserveids, callback: BodyResponseCallback): void; + reserveIds(callback: BodyResponseCallback): void; + /** + * datastore.projects.rollback + * @desc Rolls back a transaction. + * @alias datastore.projects.rollback + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId The ID of the project against which to make the request. + * @param {().RollbackRequest} 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 + */ + rollback(params?: Params$Resource$Projects$Rollback, options?: MethodOptions): AxiosPromise; + rollback(params: Params$Resource$Projects$Rollback, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + rollback(params: Params$Resource$Projects$Rollback, callback: BodyResponseCallback): void; + rollback(callback: BodyResponseCallback): void; + /** + * datastore.projects.runQuery + * @desc Queries for entities. + * @alias datastore.projects.runQuery + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId The ID of the project against which to make the request. + * @param {().RunQueryRequest} 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 + */ + runQuery(params?: Params$Resource$Projects$Runquery, options?: MethodOptions): AxiosPromise; + runQuery(params: Params$Resource$Projects$Runquery, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + runQuery(params: Params$Resource$Projects$Runquery, callback: BodyResponseCallback): void; + runQuery(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Allocateids { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the project against which to make the request. + */ + projectId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AllocateIdsRequest; + } + interface Params$Resource$Projects$Begintransaction { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the project against which to make the request. + */ + projectId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BeginTransactionRequest; + } + interface Params$Resource$Projects$Commit { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the project against which to make the request. + */ + projectId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CommitRequest; + } + interface Params$Resource$Projects$Lookup { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the project against which to make the request. + */ + projectId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$LookupRequest; + } + interface Params$Resource$Projects$Reserveids { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the project against which to make the request. + */ + projectId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ReserveIdsRequest; + } + interface Params$Resource$Projects$Rollback { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the project against which to make the request. + */ + projectId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RollbackRequest; + } + interface Params$Resource$Projects$Runquery { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the project against which to make the request. + */ + projectId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RunQueryRequest; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/datastore/v1beta3.js b/express-server/node_modules/googleapis/build/src/apis/datastore/v1beta3.js new file mode 100644 index 00000000..725c6954 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/datastore/v1beta3.js @@ -0,0 +1,283 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var datastore_v1beta3; +(function (datastore_v1beta3) { + /** + * Cloud Datastore API + * + * Accesses the schemaless NoSQL database to provide fully managed, robust, + * scalable storage for your application. + * + * @example + * const {google} = require('googleapis'); + * const datastore = google.datastore('v1beta3'); + * + * @namespace datastore + * @type {Function} + * @version v1beta3 + * @variation v1beta3 + * @param {object=} options Options for Datastore + */ + class Datastore { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.projects = new Resource$Projects(this); + } + getRoot() { + return this.root; + } + } + datastore_v1beta3.Datastore = Datastore; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + allocateIds(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://datastore.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta3/projects/{projectId}:allocateIds') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId'], + pathParams: ['projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + beginTransaction(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://datastore.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta3/projects/{projectId}:beginTransaction') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId'], + pathParams: ['projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + commit(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://datastore.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta3/projects/{projectId}:commit') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId'], + pathParams: ['projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + lookup(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://datastore.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta3/projects/{projectId}:lookup') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId'], + pathParams: ['projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + reserveIds(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://datastore.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta3/projects/{projectId}:reserveIds') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId'], + pathParams: ['projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + rollback(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://datastore.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta3/projects/{projectId}:rollback') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId'], + pathParams: ['projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + runQuery(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://datastore.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta3/projects/{projectId}:runQuery') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId'], + pathParams: ['projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + datastore_v1beta3.Resource$Projects = Resource$Projects; +})(datastore_v1beta3 = exports.datastore_v1beta3 || (exports.datastore_v1beta3 = {})); +//# sourceMappingURL=v1beta3.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/datastore/v1beta3.js.map b/express-server/node_modules/googleapis/build/src/apis/datastore/v1beta3.js.map new file mode 100644 index 00000000..8d5990ba --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/datastore/v1beta3.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1beta3.js","sourceRoot":"","sources":["../../../../src/apis/datastore/v1beta3.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/deploymentmanager/README.md b/express-server/node_modules/googleapis/build/src/apis/deploymentmanager/README.md new file mode 100644 index 00000000..987b12c5 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/deploymentmanager/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/deploymentmanager + +> The Deployment Manager API allows users to declaratively configure, deploy and run complex solutions on the Google Cloud Platform. + +## Installation + +```sh +$ npm install @google/deploymentmanager +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/deploymentmanager/alpha.d.ts b/express-server/node_modules/googleapis/build/src/apis/deploymentmanager/alpha.d.ts new file mode 100644 index 00000000..33d226ac --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/deploymentmanager/alpha.d.ts @@ -0,0 +1,3119 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace deploymentmanager_alpha { + interface Options extends GlobalOptions { + version: 'alpha'; + } + /** + * Google Cloud Deployment Manager Alpha API + * + * The Deployment Manager API allows users to declaratively configure, deploy + * and run complex solutions on the Google Cloud Platform. + * + * @example + * const {google} = require('googleapis'); + * const deploymentmanager = google.deploymentmanager('alpha'); + * + * @namespace deploymentmanager + * @type {Function} + * @version alpha + * @variation alpha + * @param {object=} options Options for Deploymentmanager + */ + class Deploymentmanager { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + compositeTypes: Resource$Compositetypes; + deployments: Resource$Deployments; + manifests: Resource$Manifests; + operations: Resource$Operations; + resources: Resource$Resources; + typeProviders: Resource$Typeproviders; + types: Resource$Types; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Async options that determine when a resource should finish. + */ + interface Schema$AsyncOptions { + /** + * Method regex where this policy will apply. + */ + methodMatch?: string; + /** + * Deployment manager will poll instances for this API resource setting a + * RUNNING state, and blocking until polling conditions tell whether the + * resource is completed or failed. + */ + pollingOptions?: Schema$PollingOptions; + } + /** + * Specifies the audit configuration for a service. The configuration + * determines which permission types are logged, and what identities, if any, + * are exempted from logging. An AuditConfig must have one or more + * AuditLogConfigs. If there are AuditConfigs for both `allServices` and a + * specific service, the union of the two AuditConfigs is used for that + * service: the log_types specified in each AuditConfig are enabled, and the + * exempted_members in each AuditLogConfig are exempted. Example Policy with + * multiple AuditConfigs: { "audit_configs": [ { + * "service": "allServices" "audit_log_configs": + * [ { "log_type": "DATA_READ", + * "exempted_members": [ "user:foo@gmail.com" ] }, { + * "log_type": "DATA_WRITE", }, { "log_type": + * "ADMIN_READ", } ] }, { "service": + * "fooservice.googleapis.com" "audit_log_configs": [ { + * "log_type": "DATA_READ", }, { "log_type": + * "DATA_WRITE", "exempted_members": [ + * "user:bar@gmail.com" ] } ] } ] } For fooservice, this policy + * enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts + * foo@gmail.com from DATA_READ logging, and bar@gmail.com from DATA_WRITE + * logging. + */ + interface Schema$AuditConfig { + /** + * The configuration for logging of each type of permission. + */ + auditLogConfigs?: Schema$AuditLogConfig[]; + exemptedMembers?: string[]; + /** + * Specifies a service that will be enabled for audit logging. For example, + * `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a + * special value that covers all services. + */ + service?: string; + } + /** + * Provides the configuration for logging a type of permissions. Example: { + * "audit_log_configs": [ { "log_type": + * "DATA_READ", "exempted_members": [ + * "user:foo@gmail.com" ] }, { "log_type": + * "DATA_WRITE", } ] } This enables 'DATA_READ' and + * 'DATA_WRITE' logging, while exempting foo@gmail.com from DATA_READ + * logging. + */ + interface Schema$AuditLogConfig { + /** + * Specifies the identities that do not cause logging for this type of + * permission. Follows the same format of [Binding.members][]. + */ + exemptedMembers?: string[]; + /** + * The log type that this config enables. + */ + logType?: string; + } + /** + * Authorization-related information used by Cloud Audit Logging. + */ + interface Schema$AuthorizationLoggingOptions { + /** + * The type of the permission that was checked. + */ + permissionType?: string; + } + /** + * Basic Auth used as a credential. + */ + interface Schema$BasicAuth { + password?: string; + user?: string; + } + /** + * Associates `members` with a `role`. + */ + interface Schema$Binding { + /** + * The condition that is associated with this binding. NOTE: an unsatisfied + * condition will not allow user access via current binding. Different + * bindings, including their conditions, are examined independently. This + * field is only visible as GOOGLE_INTERNAL or CONDITION_TRUSTED_TESTER. + */ + condition?: Schema$Expr; + /** + * Specifies the identities requesting access for a Cloud Platform resource. + * `members` can have the following values: * `allUsers`: A special + * identifier that represents anyone who is on the internet; with or without + * a Google account. * `allAuthenticatedUsers`: A special identifier that + * represents anyone who is authenticated with a Google account or a service + * account. * `user:{emailid}`: An email address that represents a specific + * Google account. For example, `alice@gmail.com` . * + * `serviceAccount:{emailid}`: An email address that represents a service + * account. For example, `my-other-app@appspot.gserviceaccount.com`. * + * `group:{emailid}`: An email address that represents a Google group. For + * example, `admins@example.com`. * `domain:{domain}`: A Google Apps + * domain name that represents all the users of that domain. For example, + * `google.com` or `example.com`. + */ + members?: string[]; + /** + * Role that is assigned to `members`. For example, `roles/viewer`, + * `roles/editor`, or `roles/owner`. + */ + role?: string; + } + /** + * CollectionOverride allows resource handling overrides for specific + * resources within a BaseType + */ + interface Schema$CollectionOverride { + /** + * The collection that identifies this resource within its service. + */ + collection?: string; + /** + * Custom verb method mappings to support unordered list API mappings. + */ + methodMap?: Schema$MethodMap; + /** + * The options to apply to this resource-level override + */ + options?: Schema$Options; + } + /** + * Holds the composite type. + */ + interface Schema$CompositeType { + /** + * An optional textual description of the resource; provided by the client + * when the resource is created. + */ + description?: string; + /** + * Output only. Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * Output only. Timestamp when the composite type was created, in RFC3339 + * text format. + */ + insertTime?: string; + /** + * Map of labels; provided by the client when the resource is created or + * updated. Specifically: Label keys must be between 1 and 63 characters + * long and must conform to the following regular expression: + * [a-z]([-a-z0-9]*[a-z0-9])? Label values must be between 0 and 63 + * characters long and must conform to the regular expression + * ([a-z]([-a-z0-9]*[a-z0-9])?)? + */ + labels?: Schema$CompositeTypeLabelEntry[]; + /** + * Name of the composite type, must follow the expression: + * [a-z]([-a-z0-9_.]{0,61}[a-z0-9])?. + */ + name?: string; + /** + * Output only. The Operation that most recently ran, or is currently + * running, on this composite type. + */ + operation?: Schema$Operation; + /** + * Output only. Self link for the type provider. + */ + selfLink?: string; + status?: string; + /** + * Files for the template type. + */ + templateContents?: Schema$TemplateContents; + } + interface Schema$CompositeTypeLabelEntry { + key?: string; + value?: string; + } + /** + * A response that returns all Composite Types supported by Deployment Manager + */ + interface Schema$CompositeTypesListResponse { + /** + * Output only. A list of resource composite types supported by Deployment + * Manager. + */ + compositeTypes?: Schema$CompositeType[]; + /** + * A token used to continue a truncated list request. + */ + nextPageToken?: string; + } + /** + * A condition to be met. + */ + interface Schema$Condition { + /** + * Trusted attributes supplied by the IAM system. + */ + iam?: string; + /** + * An operator to apply the subject with. + */ + op?: string; + /** + * Trusted attributes discharged by the service. + */ + svc?: string; + /** + * Trusted attributes supplied by any service that owns resources and uses + * the IAM system for access control. + */ + sys?: string; + /** + * DEPRECATED. Use 'values' instead. + */ + value?: string; + /** + * The objects of the condition. This is mutually exclusive with + * 'value'. + */ + values?: string[]; + } + interface Schema$ConfigFile { + /** + * The contents of the file. + */ + content?: string; + } + /** + * BaseType that describes a service-backed Type. + */ + interface Schema$ConfigurableService { + /** + * Allows resource handling overrides for specific collections + */ + collectionOverrides?: Schema$CollectionOverride[]; + /** + * Credential used when interacting with this type. + */ + credential?: Schema$Credential; + /** + * Descriptor Url for the this type. + */ + descriptorUrl?: string; + /** + * Options to apply when handling any resources in this service. + */ + options?: Schema$Options; + } + /** + * The credential used by Deployment Manager and TypeProvider. Only one of the + * options is permitted. + */ + interface Schema$Credential { + /** + * Basic Auth Credential, only used by TypeProvider. + */ + basicAuth?: Schema$BasicAuth; + /** + * Service Account Credential, only used by Deployment. + */ + serviceAccount?: Schema$ServiceAccount; + /** + * Specify to use the project default credential, only supported by + * Deployment. + */ + useProjectDefault?: boolean; + } + interface Schema$Deployment { + /** + * User provided default credential for the deployment. + */ + credential?: Schema$Credential; + /** + * An optional user-provided description of the deployment. + */ + description?: string; + /** + * Provides a fingerprint to use in requests to modify a deployment, such as + * update(), stop(), and cancelPreview() requests. A fingerprint is a + * randomly generated value that must be provided with update(), stop(), and + * cancelPreview() requests to perform optimistic locking. This ensures + * optimistic concurrency so that only one request happens at a time. The + * fingerprint is initially generated by Deployment Manager and changes + * after every request to modify data. To get the latest fingerprint value, + * perform a get() request to a deployment. + */ + fingerprint?: string; + /** + * Output only. Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * Output only. Timestamp when the deployment was created, in RFC3339 text + * format . + */ + insertTime?: string; + /** + * Map of labels; provided by the client when the resource is created or + * updated. Specifically: Label keys must be between 1 and 63 characters + * long and must conform to the following regular expression: + * [a-z]([-a-z0-9]*[a-z0-9])? Label values must be between 0 and 63 + * characters long and must conform to the regular expression + * ([a-z]([-a-z0-9]*[a-z0-9])?)? + */ + labels?: Schema$DeploymentLabelEntry[]; + /** + * Output only. URL of the manifest representing the last manifest that was + * successfully deployed. + */ + manifest?: string; + /** + * Name of the resource; provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * Output only. The Operation that most recently ran, or is currently + * running, on this deployment. + */ + operation?: Schema$Operation; + /** + * Output only. Map of outputs from the last manifest that deployed + * successfully. + */ + outputs?: Schema$DeploymentOutputsEntry[]; + /** + * Output only. Self link for the deployment. + */ + selfLink?: string; + /** + * [Input Only] The parameters that define your deployment, including the + * deployment configuration and relevant templates. + */ + target?: Schema$TargetConfiguration; + /** + * Output only. If Deployment Manager is currently updating or previewing an + * update to this deployment, the updated configuration appears here. + */ + update?: Schema$DeploymentUpdate; + } + interface Schema$DeploymentLabelEntry { + key?: string; + value?: string; + } + interface Schema$DeploymentOutputsEntry { + key?: string; + value?: string; + } + interface Schema$DeploymentsCancelPreviewRequest { + /** + * Specifies a fingerprint for cancelPreview() requests. A fingerprint is a + * randomly generated value that must be provided in cancelPreview() + * requests to perform optimistic locking. This ensures optimistic + * concurrency so that the deployment does not have conflicting requests + * (e.g. if someone attempts to make a new update request while another user + * attempts to cancel a preview, this would prevent one of the requests). + * The fingerprint is initially generated by Deployment Manager and changes + * after every request to modify a deployment. To get the latest fingerprint + * value, perform a get() request on the deployment. + */ + fingerprint?: string; + } + /** + * A response containing a partial list of deployments and a page token used + * to build the next request if the request has been truncated. + */ + interface Schema$DeploymentsListResponse { + /** + * Output only. The deployments contained in this response. + */ + deployments?: Schema$Deployment[]; + /** + * Output only. A token used to continue a truncated list request. + */ + nextPageToken?: string; + } + interface Schema$DeploymentsStopRequest { + /** + * Specifies a fingerprint for stop() requests. A fingerprint is a randomly + * generated value that must be provided in stop() requests to perform + * optimistic locking. This ensures optimistic concurrency so that the + * deployment does not have conflicting requests (e.g. if someone attempts + * to make a new update request while another user attempts to stop an + * ongoing update request, this would prevent a collision). The fingerprint + * is initially generated by Deployment Manager and changes after every + * request to modify a deployment. To get the latest fingerprint value, + * perform a get() request on the deployment. + */ + fingerprint?: string; + } + interface Schema$DeploymentUpdate { + /** + * Output only. The user-provided default credential to use when deploying + * this preview. + */ + credential?: Schema$Credential; + /** + * Output only. An optional user-provided description of the deployment + * after the current update has been applied. + */ + description?: string; + /** + * Output only. Map of labels; provided by the client when the resource is + * created or updated. Specifically: Label keys must be between 1 and 63 + * characters long and must conform to the following regular expression: + * [a-z]([-a-z0-9]*[a-z0-9])? Label values must be between 0 and 63 + * characters long and must conform to the regular expression + * ([a-z]([-a-z0-9]*[a-z0-9])?)? + */ + labels?: Schema$DeploymentUpdateLabelEntry[]; + /** + * Output only. URL of the manifest representing the update configuration of + * this deployment. + */ + manifest?: string; + } + interface Schema$DeploymentUpdateLabelEntry { + key?: string; + value?: string; + } + interface Schema$Diagnostic { + /** + * JsonPath expression on the resource that if non empty, indicates that + * this field needs to be extracted as a diagnostic. + */ + field?: string; + /** + * Level to record this diagnostic. + */ + level?: string; + } + /** + * Represents an expression text. Example: title: "User account + * presence" description: "Determines whether the request has a user + * account" expression: "size(request.user) > 0" + */ + interface Schema$Expr { + /** + * An optional description of the expression. This is a longer text which + * describes the expression, e.g. when hovered over it in a UI. + */ + description?: string; + /** + * Textual representation of an expression in Common Expression Language + * syntax. The application context of the containing message determines + * which well-known feature set of CEL is supported. + */ + expression?: string; + /** + * An optional string indicating the location of the expression for error + * reporting, e.g. a file name and a position in the file. + */ + location?: string; + /** + * An optional title for the expression, i.e. a short string describing its + * purpose. This can be used e.g. in UIs which allow to enter the + * expression. + */ + title?: string; + } + interface Schema$GlobalSetPolicyRequest { + /** + * Flatten Policy to create a backwacd compatible wire-format. Deprecated. + * Use 'policy' to specify bindings. + */ + bindings?: Schema$Binding[]; + /** + * Flatten Policy to create a backward compatible wire-format. Deprecated. + * Use 'policy' to specify the etag. + */ + etag?: string; + /** + * REQUIRED: The complete policy to be applied to the 'resource'. + * The size of the policy is limited to a few 10s of KB. An empty policy is + * in general a valid policy but certain services (like Projects) might + * reject them. + */ + policy?: Schema$Policy; + } + interface Schema$ImportFile { + /** + * The contents of the file. + */ + content?: string; + /** + * The name of the file. + */ + name?: string; + } + /** + * InputMapping creates a 'virtual' property that will be injected + * into the properties before sending the request to the underlying API. + */ + interface Schema$InputMapping { + /** + * The name of the field that is going to be injected. + */ + fieldName?: string; + /** + * The location where this mapping applies. + */ + location?: string; + /** + * Regex to evaluate on method to decide if input applies. + */ + methodMatch?: string; + /** + * A jsonPath expression to select an element. + */ + value?: string; + } + /** + * Specifies what kind of log the caller must write + */ + interface Schema$LogConfig { + /** + * Cloud audit options. + */ + cloudAudit?: Schema$LogConfigCloudAuditOptions; + /** + * Counter options. + */ + counter?: Schema$LogConfigCounterOptions; + /** + * Data access options. + */ + dataAccess?: Schema$LogConfigDataAccessOptions; + } + /** + * Write a Cloud Audit log + */ + interface Schema$LogConfigCloudAuditOptions { + /** + * Information used by the Cloud Audit Logging pipeline. + */ + authorizationLoggingOptions?: Schema$AuthorizationLoggingOptions; + /** + * The log_name to populate in the Cloud Audit Record. + */ + logName?: string; + } + /** + * Increment a streamz counter with the specified metric and field names. + * Metric names should start with a '/', generally be lowercase-only, + * and end in "_count". Field names should not contain an initial + * slash. The actual exported metric names will have "/iam/policy" + * prepended. Field names correspond to IAM request parameters and field + * values are their respective values. At present the only supported field + * names are - "iam_principal", corresponding to + * IAMContext.principal; - "" (empty string), resulting in one + * aggretated counter with no field. Examples: counter { metric: + * "/debug_access_count" field: "iam_principal" } ==> + * increment counter /iam/policy/backend_debug_access_count + * {iam_principal=[value of IAMContext.principal]} At this time we do not + * support: * multiple field names (though this may be supported in the + * future) * decrementing the counter * incrementing it by anything other than + * 1 + */ + interface Schema$LogConfigCounterOptions { + /** + * The field value to attribute. + */ + field?: string; + /** + * The metric to update. + */ + metric?: string; + } + /** + * Write a Data Access (Gin) log + */ + interface Schema$LogConfigDataAccessOptions { + /** + * Whether Gin logging should happen in a fail-closed manner at the caller. + * This is relevant only in the LocalIAM implementation, for now. + */ + logMode?: string; + } + interface Schema$Manifest { + /** + * Output only. The YAML configuration for this manifest. + */ + config?: Schema$ConfigFile; + /** + * Output only. The fully-expanded configuration file, including any + * templates and references. + */ + expandedConfig?: string; + /** + * Output only. Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * Output only. The imported files for this manifest. + */ + imports?: Schema$ImportFile[]; + /** + * Output only. Timestamp when the manifest was created, in RFC3339 text + * format. + */ + insertTime?: string; + /** + * Output only. The YAML layout for this manifest. + */ + layout?: string; + /** + * Output only. The name of the manifest. + */ + name?: string; + /** + * Output only. Self link for the manifest. + */ + selfLink?: string; + } + /** + * A response containing a partial list of manifests and a page token used to + * build the next request if the request has been truncated. + */ + interface Schema$ManifestsListResponse { + /** + * Output only. Manifests contained in this list response. + */ + manifests?: Schema$Manifest[]; + /** + * Output only. A token used to continue a truncated list request. + */ + nextPageToken?: string; + } + /** + * Deployment Manager will call these methods during the events of + * creation/deletion/update/get/setIamPolicy + */ + interface Schema$MethodMap { + /** + * The action identifier for the create method to be used for this + * collection + */ + create?: string; + /** + * The action identifier for the delete method to be used for this + * collection + */ + delete?: string; + /** + * The action identifier for the get method to be used for this collection + */ + get?: string; + /** + * The action identifier for the setIamPolicy method to be used for this + * collection + */ + setIamPolicy?: string; + /** + * The action identifier for the update method to be used for this + * collection + */ + update?: string; + } + /** + * An Operation resource, used to manage asynchronous API requests. (== + * resource_for v1.globalOperations ==) (== resource_for beta.globalOperations + * ==) (== resource_for v1.regionOperations ==) (== resource_for + * beta.regionOperations ==) (== resource_for v1.zoneOperations ==) (== + * resource_for beta.zoneOperations ==) + */ + interface Schema$Operation { + /** + * [Output Only] The value of `requestId` if you provided it in the request. + * Not present otherwise. + */ + clientOperationId?: string; + /** + * [Deprecated] This field is deprecated. + */ + creationTimestamp?: string; + /** + * [Output Only] A textual description of the operation, which is set when + * the operation is created. + */ + description?: string; + /** + * [Output Only] The time that this operation was completed. This value is + * in RFC3339 text format. + */ + endTime?: string; + /** + * [Output Only] If errors are generated during processing of the operation, + * this field will be populated. + */ + error?: any; + /** + * [Output Only] If the operation fails, this field contains the HTTP error + * message that was returned, such as NOT FOUND. + */ + httpErrorMessage?: string; + /** + * [Output Only] If the operation fails, this field contains the HTTP error + * status code that was returned. For example, a 404 means the resource was + * not found. + */ + httpErrorStatusCode?: number; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] The time that this operation was requested. This value is + * in RFC3339 text format. + */ + insertTime?: string; + /** + * [Output Only] Type of the resource. Always compute#operation for + * Operation resources. + */ + kind?: string; + /** + * [Output Only] Name of the resource. + */ + name?: string; + /** + * [Output Only] The type of operation, such as insert, update, or delete, + * and so on. + */ + operationType?: string; + /** + * [Output Only] An optional progress indicator that ranges from 0 to 100. + * There is no requirement that this be linear or support any granularity of + * operations. This should not be used to guess when the operation will be + * complete. This number should monotonically increase as the operation + * progresses. + */ + progress?: number; + /** + * [Output Only] The URL of the region where the operation resides. Only + * available when performing regional operations. You must specify this + * field as part of the HTTP request URL. It is not settable as a field in + * the request body. + */ + region?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] The time that this operation was started by the server. + * This value is in RFC3339 text format. + */ + startTime?: string; + /** + * [Output Only] The status of the operation, which can be one of the + * following: PENDING, RUNNING, or DONE. + */ + status?: string; + /** + * [Output Only] An optional textual description of the current status of + * the operation. + */ + statusMessage?: string; + /** + * [Output Only] The unique target ID, which identifies a specific + * incarnation of the target resource. + */ + targetId?: string; + /** + * [Output Only] The URL of the resource that the operation modifies. For + * operations related to creating a snapshot, this points to the persistent + * disk that the snapshot was created from. + */ + targetLink?: string; + /** + * [Output Only] User who requested the operation, for example: + * user@example.com. + */ + user?: string; + /** + * [Output Only] If warning messages are generated during processing of the + * operation, this field will be populated. + */ + warnings?: any[]; + /** + * [Output Only] The URL of the zone where the operation resides. Only + * available when performing per-zone operations. You must specify this + * field as part of the HTTP request URL. It is not settable as a field in + * the request body. + */ + zone?: string; + } + /** + * A response containing a partial list of operations and a page token used to + * build the next request if the request has been truncated. + */ + interface Schema$OperationsListResponse { + /** + * Output only. A token used to continue a truncated list request. + */ + nextPageToken?: string; + /** + * Output only. Operations contained in this list response. + */ + operations?: Schema$Operation[]; + } + /** + * Options allows customized resource handling by Deployment Manager. + */ + interface Schema$Options { + /** + * Options regarding how to thread async requests. + */ + asyncOptions?: Schema$AsyncOptions[]; + /** + * The mappings that apply for requests. + */ + inputMappings?: Schema$InputMapping[]; + /** + * The json path to the field in the resource JSON body into which the + * resource name should be mapped. Leaving this empty indicates that there + * should be no mapping performed. + */ + nameProperty?: string; + /** + * Options for how to validate and process properties on a resource. + */ + validationOptions?: Schema$ValidationOptions; + } + /** + * Defines an Identity and Access Management (IAM) policy. It is used to + * specify access control policies for Cloud Platform resources. A `Policy` + * consists of a list of `bindings`. A `binding` binds a list of `members` to + * a `role`, where the members can be user accounts, Google groups, Google + * domains, and service accounts. A `role` is a named list of permissions + * defined by IAM. **JSON Example** { "bindings": [ { + * "role": "roles/owner", "members": [ + * "user:mike@example.com", "group:admins@example.com", + * "domain:google.com", + * "serviceAccount:my-other-app@appspot.gserviceaccount.com" ] }, { + * "role": "roles/viewer", "members": + * ["user:sean@example.com"] } ] } **YAML Example** bindings: - + * members: - user:mike@example.com - group:admins@example.com - + * domain:google.com - serviceAccount:my-other-app@appspot.gserviceaccount.com + * role: roles/owner - members: - user:sean@example.com role: roles/viewer For + * a description of IAM and its features, see the [IAM developer's + * guide](https://cloud.google.com/iam/docs). + */ + interface Schema$Policy { + /** + * Specifies cloud audit logging configuration for this policy. + */ + auditConfigs?: Schema$AuditConfig[]; + /** + * Associates a list of `members` to a `role`. `bindings` with no members + * will result in an error. + */ + bindings?: Schema$Binding[]; + /** + * `etag` is used for optimistic concurrency control as a way to help + * prevent simultaneous updates of a policy from overwriting each other. It + * is strongly suggested that systems make use of the `etag` in the + * read-modify-write cycle to perform policy updates in order to avoid race + * conditions: An `etag` is returned in the response to `getIamPolicy`, and + * systems are expected to put that etag in the request to `setIamPolicy` to + * ensure that their change will be applied to the same version of the + * policy. If no `etag` is provided in the call to `setIamPolicy`, then the + * existing policy is overwritten blindly. + */ + etag?: string; + iamOwned?: boolean; + /** + * If more than one rule is specified, the rules are applied in the + * following manner: - All matching LOG rules are always applied. - If any + * DENY/DENY_WITH_LOG rule matches, permission is denied. Logging will be + * applied if one or more matching rule requires logging. - Otherwise, if + * any ALLOW/ALLOW_WITH_LOG rule matches, permission is granted. Logging + * will be applied if one or more matching rule requires logging. - + * Otherwise, if no rule applies, permission is denied. + */ + rules?: Schema$Rule[]; + /** + * Deprecated. + */ + version?: number; + } + interface Schema$PollingOptions { + /** + * An array of diagnostics to be collected by Deployment Manager, these + * diagnostics will be displayed to the user. + */ + diagnostics?: Schema$Diagnostic[]; + /** + * JsonPath expression that determines if the request failed. + */ + failCondition?: string; + /** + * JsonPath expression that determines if the request is completed. + */ + finishCondition?: string; + /** + * JsonPath expression that evaluates to string, it indicates where to poll. + */ + pollingLink?: string; + /** + * JsonPath expression, after polling is completed, indicates where to fetch + * the resource. + */ + targetLink?: string; + } + interface Schema$Resource { + /** + * The Access Control Policy set on this resource. + */ + accessControl?: Schema$ResourceAccessControl; + /** + * Output only. The evaluated properties of the resource with references + * expanded. Returned as serialized YAML. + */ + finalProperties?: string; + /** + * Output only. Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * Output only. Timestamp when the resource was created or acquired, in + * RFC3339 text format . + */ + insertTime?: string; + /** + * Output only. The last used credential that successfully created/updated + * the resource. + */ + lastUsedCredential?: Schema$Credential; + /** + * Output only. URL of the manifest representing the current configuration + * of this resource. + */ + manifest?: string; + /** + * Output only. The name of the resource as it appears in the YAML config. + */ + name?: string; + /** + * Output only. The current properties of the resource before any references + * have been filled in. Returned as serialized YAML. + */ + properties?: string; + /** + * Output only. In case this is an action, it will show the runtimePolicies + * on which this action will run in the deployment + */ + runtimePolicies?: string[]; + /** + * Output only. The type of the resource, for example compute.v1.instance, + * or cloudfunctions.v1beta1.function. + */ + type?: string; + /** + * Output only. If Deployment Manager is currently updating or previewing an + * update to this resource, the updated configuration appears here. + */ + update?: Schema$ResourceUpdate; + /** + * Output only. Timestamp when the resource was updated, in RFC3339 text + * format . + */ + updateTime?: string; + /** + * Output only. The URL of the actual resource. + */ + url?: string; + /** + * Output only. If warning messages are generated during processing of this + * resource, this field will be populated. + */ + warnings?: any[]; + } + /** + * The access controls set on the resource. + */ + interface Schema$ResourceAccessControl { + /** + * The GCP IAM Policy to set on the resource. + */ + gcpIamPolicy?: string; + } + /** + * A response containing a partial list of resources and a page token used to + * build the next request if the request has been truncated. + */ + interface Schema$ResourcesListResponse { + /** + * A token used to continue a truncated list request. + */ + nextPageToken?: string; + /** + * Resources contained in this list response. + */ + resources?: Schema$Resource[]; + } + interface Schema$ResourceUpdate { + /** + * The Access Control Policy to set on this resource after updating the + * resource itself. + */ + accessControl?: Schema$ResourceAccessControl; + /** + * Output only. The credential that will be used creating/updating this + * resource. + */ + credential?: Schema$Credential; + /** + * Output only. If errors are generated during update of the resource, this + * field will be populated. + */ + error?: any; + /** + * Output only. The expanded properties of the resource with reference + * values expanded. Returned as serialized YAML. + */ + finalProperties?: string; + /** + * Output only. The intent of the resource: PREVIEW, UPDATE, or CANCEL. + */ + intent?: string; + /** + * Output only. URL of the manifest representing the update configuration of + * this resource. + */ + manifest?: string; + /** + * Output only. The set of updated properties for this resource, before + * references are expanded. Returned as serialized YAML. + */ + properties?: string; + /** + * Output only. In case this is an action, it will show the runtimePolicies + * that this action will have after updating the deployment. + */ + runtimePolicies?: string[]; + /** + * Output only. The state of the resource. + */ + state?: string; + /** + * Output only. If warning messages are generated during processing of this + * resource, this field will be populated. + */ + warnings?: any[]; + } + /** + * A rule to be applied in a Policy. + */ + interface Schema$Rule { + /** + * Required + */ + action?: string; + /** + * Additional restrictions that must be met. All conditions must pass for + * the rule to match. + */ + conditions?: Schema$Condition[]; + /** + * Human-readable description of the rule. + */ + description?: string; + /** + * If one or more 'in' clauses are specified, the rule matches if + * the PRINCIPAL/AUTHORITY_SELECTOR is in at least one of these entries. + */ + ins?: string[]; + /** + * The config returned to callers of tech.iam.IAM.CheckPolicy for any + * entries that match the LOG action. + */ + logConfigs?: Schema$LogConfig[]; + /** + * If one or more 'not_in' clauses are specified, the rule matches + * if the PRINCIPAL/AUTHORITY_SELECTOR is in none of the entries. + */ + notIns?: string[]; + /** + * A permission is a string of form '..' (e.g., + * 'storage.buckets.list'). A value of '*' matches all + * permissions, and a verb part of '*' (e.g., + * 'storage.buckets.*') matches all verbs. + */ + permissions?: string[]; + } + /** + * Service Account used as a credential. + */ + interface Schema$ServiceAccount { + /** + * The IAM service account email address like + * test@myproject.iam.gserviceaccount.com + */ + email?: string; + } + interface Schema$TargetConfiguration { + /** + * The configuration to use for this deployment. + */ + config?: Schema$ConfigFile; + /** + * Specifies any files to import for this configuration. This can be used to + * import templates or other files. For example, you might import a text + * file in order to use the file in a template. + */ + imports?: Schema$ImportFile[]; + } + /** + * Files that make up the template contents of a template type. + */ + interface Schema$TemplateContents { + /** + * Import files referenced by the main template. + */ + imports?: Schema$ImportFile[]; + /** + * Which interpreter (python or jinja) should be used during expansion. + */ + interpreter?: string; + /** + * The filename of the mainTemplate + */ + mainTemplate?: string; + /** + * The contents of the template schema. + */ + schema?: string; + /** + * The contents of the main template file. + */ + template?: string; + } + interface Schema$TestPermissionsRequest { + /** + * The set of permissions to check for the 'resource'. Permissions + * with wildcards (such as '*' or 'storage.*') are not + * allowed. + */ + permissions?: string[]; + } + interface Schema$TestPermissionsResponse { + /** + * A subset of `TestPermissionsRequest.permissions` that the caller is + * allowed. + */ + permissions?: string[]; + } + /** + * A resource type supported by Deployment Manager. + */ + interface Schema$Type { + /** + * Base Type (configurable service) that backs this Type. + */ + configurableService?: Schema$ConfigurableService; + /** + * An optional textual description of the resource; provided by the client + * when the resource is created. + */ + description?: string; + /** + * Output only. Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * Output only. Timestamp when the type was created, in RFC3339 text format. + */ + insertTime?: string; + /** + * Map of labels; provided by the client when the resource is created or + * updated. Specifically: Label keys must be between 1 and 63 characters + * long and must conform to the following regular expression: + * [a-z]([-a-z0-9]*[a-z0-9])? Label values must be between 0 and 63 + * characters long and must conform to the regular expression + * ([a-z]([-a-z0-9]*[a-z0-9])?)? + */ + labels?: Schema$TypeLabelEntry[]; + /** + * Name of the type. + */ + name?: string; + /** + * Output only. The Operation that most recently ran, or is currently + * running, on this type. + */ + operation?: Schema$Operation; + /** + * Output only. Self link for the type. + */ + selfLink?: string; + } + /** + * Contains detailed information about a composite type, base type, or base + * type with specific collection. + */ + interface Schema$TypeInfo { + /** + * The description of the type. + */ + description?: string; + /** + * For swagger 2.0 externalDocs field will be used. For swagger 1.2 this + * field will be empty. + */ + documentationLink?: string; + /** + * Output only. Type of the output. Always deploymentManager#TypeInfo for + * TypeInfo. + */ + kind?: string; + /** + * The base type or composite type name. + */ + name?: string; + /** + * For base types with a collection, we return a schema and documentation + * link For template types, we return only a schema + */ + schema?: Schema$TypeInfoSchemaInfo; + /** + * Output only. Server-defined URL for the resource. + */ + selfLink?: string; + /** + * The title on the API descriptor URL provided. + */ + title?: string; + } + interface Schema$TypeInfoSchemaInfo { + /** + * The properties that this composite type or base type collection accept as + * input, represented as a json blob, format is: JSON Schema Draft V4 + */ + input?: string; + /** + * The properties that this composite type or base type collection exposes + * as output, these properties can be used for references, represented as + * json blob, format is: JSON Schema Draft V4 + */ + output?: string; + } + interface Schema$TypeLabelEntry { + key?: string; + value?: string; + } + /** + * A type provider that describes a service-backed Type. + */ + interface Schema$TypeProvider { + /** + * Allows resource handling overrides for specific collections + */ + collectionOverrides?: Schema$CollectionOverride[]; + /** + * Credential used when interacting with this type. + */ + credential?: Schema$Credential; + /** + * An optional textual description of the resource; provided by the client + * when the resource is created. + */ + description?: string; + /** + * Descriptor Url for the this type provider. + */ + descriptorUrl?: string; + /** + * Output only. Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * Output only. Timestamp when the type provider was created, in RFC3339 + * text format. + */ + insertTime?: string; + /** + * Map of labels; provided by the client when the resource is created or + * updated. Specifically: Label keys must be between 1 and 63 characters + * long and must conform to the following regular expression: + * [a-z]([-a-z0-9]*[a-z0-9])? Label values must be between 0 and 63 + * characters long and must conform to the regular expression + * ([a-z]([-a-z0-9]*[a-z0-9])?)? + */ + labels?: Schema$TypeProviderLabelEntry[]; + /** + * Name of the resource; provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * Output only. The Operation that most recently ran, or is currently + * running, on this type provider. + */ + operation?: Schema$Operation; + /** + * Options to apply when handling any resources in this service. + */ + options?: Schema$Options; + /** + * Output only. Self link for the type provider. + */ + selfLink?: string; + } + interface Schema$TypeProviderLabelEntry { + key?: string; + value?: string; + } + /** + * A response that returns all Type Providers supported by Deployment Manager + */ + interface Schema$TypeProvidersListResponse { + /** + * A token used to continue a truncated list request. + */ + nextPageToken?: string; + /** + * Output only. A list of resource type providers supported by Deployment + * Manager. + */ + typeProviders?: Schema$TypeProvider[]; + } + interface Schema$TypeProvidersListTypesResponse { + /** + * A token used to continue a truncated list request. + */ + nextPageToken?: string; + /** + * Output only. A list of resource type info. + */ + types?: Schema$TypeInfo[]; + } + /** + * A response that returns all Types supported by Deployment Manager + */ + interface Schema$TypesListResponse { + /** + * A token used to continue a truncated list request. + */ + nextPageToken?: string; + /** + * Output only. A list of resource types supported by Deployment Manager. + */ + types?: Schema$Type[]; + } + /** + * Options for how to validate and process properties on a resource. + */ + interface Schema$ValidationOptions { + /** + * Customize how deployment manager will validate the resource against + * schema errors. + */ + schemaValidation?: string; + /** + * Specify what to do with extra properties when executing a request. + */ + undeclaredProperties?: string; + } + class Resource$Compositetypes { + root: Deploymentmanager; + constructor(root: Deploymentmanager); + getRoot(): Deploymentmanager; + /** + * deploymentmanager.compositeTypes.delete + * @desc Deletes a composite type. + * @alias deploymentmanager.compositeTypes.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.compositeType The name of the type for this request. + * @param {string} params.project The project ID for this request. + * @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?: Params$Resource$Compositetypes$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Compositetypes$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Compositetypes$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * deploymentmanager.compositeTypes.get + * @desc Gets information about a specific composite type. + * @alias deploymentmanager.compositeTypes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.compositeType The name of the composite type for this request. + * @param {string} params.project The project ID for this request. + * @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?: Params$Resource$Compositetypes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Compositetypes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Compositetypes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * deploymentmanager.compositeTypes.insert + * @desc Creates a composite type. + * @alias deploymentmanager.compositeTypes.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project The project ID for this request. + * @param {().CompositeType} 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?: Params$Resource$Compositetypes$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Compositetypes$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Compositetypes$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * deploymentmanager.compositeTypes.list + * @desc Lists all composite types for Deployment Manager. + * @alias deploymentmanager.compositeTypes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project The project ID for this request. + * @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?: Params$Resource$Compositetypes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Compositetypes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Compositetypes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * deploymentmanager.compositeTypes.patch + * @desc Updates a composite type. This method supports patch semantics. + * @alias deploymentmanager.compositeTypes.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.compositeType The name of the composite type for this request. + * @param {string} params.project The project ID for this request. + * @param {().CompositeType} 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 + */ + patch(params?: Params$Resource$Compositetypes$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Compositetypes$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Compositetypes$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * deploymentmanager.compositeTypes.update + * @desc Updates a composite type. + * @alias deploymentmanager.compositeTypes.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.compositeType The name of the composite type for this request. + * @param {string} params.project The project ID for this request. + * @param {().CompositeType} 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?: Params$Resource$Compositetypes$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Compositetypes$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Compositetypes$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Compositetypes$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the type for this request. + */ + compositeType?: string; + /** + * The project ID for this request. + */ + project?: string; + } + interface Params$Resource$Compositetypes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the composite type for this request. + */ + compositeType?: string; + /** + * The project ID for this request. + */ + project?: string; + } + interface Params$Resource$Compositetypes$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The project ID for this request. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CompositeType; + } + interface Params$Resource$Compositetypes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * The project ID for this request. + */ + project?: string; + } + interface Params$Resource$Compositetypes$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the composite type for this request. + */ + compositeType?: string; + /** + * The project ID for this request. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CompositeType; + } + interface Params$Resource$Compositetypes$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the composite type for this request. + */ + compositeType?: string; + /** + * The project ID for this request. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CompositeType; + } + class Resource$Deployments { + root: Deploymentmanager; + constructor(root: Deploymentmanager); + getRoot(): Deploymentmanager; + /** + * deploymentmanager.deployments.cancelPreview + * @desc Cancels and removes the preview currently associated with the + * deployment. + * @alias deploymentmanager.deployments.cancelPreview + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.deployment The name of the deployment for this request. + * @param {string} params.project The project ID for this request. + * @param {().DeploymentsCancelPreviewRequest} 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 + */ + cancelPreview(params?: Params$Resource$Deployments$Cancelpreview, options?: MethodOptions): AxiosPromise; + cancelPreview(params: Params$Resource$Deployments$Cancelpreview, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + cancelPreview(params: Params$Resource$Deployments$Cancelpreview, callback: BodyResponseCallback): void; + cancelPreview(callback: BodyResponseCallback): void; + /** + * deploymentmanager.deployments.delete + * @desc Deletes a deployment and all of the resources in the deployment. + * @alias deploymentmanager.deployments.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.deletePolicy Sets the policy to use for deleting resources. + * @param {string} params.deployment The name of the deployment for this request. + * @param {string} params.project The project ID for this request. + * @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?: Params$Resource$Deployments$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Deployments$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Deployments$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * deploymentmanager.deployments.get + * @desc Gets information about a specific deployment. + * @alias deploymentmanager.deployments.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.deployment The name of the deployment for this request. + * @param {string} params.project The project ID for this request. + * @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?: Params$Resource$Deployments$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Deployments$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Deployments$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * deploymentmanager.deployments.getIamPolicy + * @desc Gets the access control policy for a resource. May be empty if no + * such policy or resource exists. + * @alias deploymentmanager.deployments.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @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 + */ + getIamPolicy(params?: Params$Resource$Deployments$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Deployments$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Deployments$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * deploymentmanager.deployments.insert + * @desc Creates a deployment and all of the resources described by the + * deployment manifest. + * @alias deploymentmanager.deployments.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.createPolicy Sets the policy to use for creating new resources. + * @param {boolean=} params.preview If set to true, creates a deployment and creates "shell" resources but does not actually instantiate these resources. This allows you to preview what your deployment looks like. After previewing a deployment, you can deploy your resources by making a request with the update() method or you can use the cancelPreview() method to cancel the preview altogether. Note that the deployment will still exist after you cancel the preview and you must separately delete this deployment if you want to remove it. + * @param {string} params.project The project ID for this request. + * @param {().Deployment} 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?: Params$Resource$Deployments$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Deployments$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Deployments$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * deploymentmanager.deployments.list + * @desc Lists all deployments for a given project. + * @alias deploymentmanager.deployments.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project The project ID for this request. + * @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?: Params$Resource$Deployments$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Deployments$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Deployments$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * deploymentmanager.deployments.patch + * @desc Updates a deployment and all of the resources described by the + * deployment manifest. This method supports patch semantics. + * @alias deploymentmanager.deployments.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.createPolicy Sets the policy to use for creating new resources. + * @param {string=} params.deletePolicy Sets the policy to use for deleting resources. + * @param {string} params.deployment The name of the deployment for this request. + * @param {boolean=} params.preview If set to true, updates the deployment and creates and updates the "shell" resources but does not actually alter or instantiate these resources. This allows you to preview what your deployment will look like. You can use this intent to preview how an update would affect your deployment. You must provide a target.config with a configuration if this is set to true. After previewing a deployment, you can deploy your resources by making a request with the update() or you can cancelPreview() to remove the preview altogether. Note that the deployment will still exist after you cancel the preview and you must separately delete this deployment if you want to remove it. + * @param {string} params.project The project ID for this request. + * @param {().Deployment} 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 + */ + patch(params?: Params$Resource$Deployments$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Deployments$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Deployments$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * deploymentmanager.deployments.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @alias deploymentmanager.deployments.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().GlobalSetPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Deployments$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Deployments$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Deployments$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * deploymentmanager.deployments.stop + * @desc Stops an ongoing operation. This does not roll back any work that + * has already been completed, but prevents any new work from being started. + * @alias deploymentmanager.deployments.stop + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.deployment The name of the deployment for this request. + * @param {string} params.project The project ID for this request. + * @param {().DeploymentsStopRequest} 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 + */ + stop(params?: Params$Resource$Deployments$Stop, options?: MethodOptions): AxiosPromise; + stop(params: Params$Resource$Deployments$Stop, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + stop(params: Params$Resource$Deployments$Stop, callback: BodyResponseCallback): void; + stop(callback: BodyResponseCallback): void; + /** + * deploymentmanager.deployments.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias deploymentmanager.deployments.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Deployments$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Deployments$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Deployments$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + /** + * deploymentmanager.deployments.update + * @desc Updates a deployment and all of the resources described by the + * deployment manifest. + * @alias deploymentmanager.deployments.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.createPolicy Sets the policy to use for creating new resources. + * @param {string=} params.deletePolicy Sets the policy to use for deleting resources. + * @param {string} params.deployment The name of the deployment for this request. + * @param {boolean=} params.preview If set to true, updates the deployment and creates and updates the "shell" resources but does not actually alter or instantiate these resources. This allows you to preview what your deployment will look like. You can use this intent to preview how an update would affect your deployment. You must provide a target.config with a configuration if this is set to true. After previewing a deployment, you can deploy your resources by making a request with the update() or you can cancelPreview() to remove the preview altogether. Note that the deployment will still exist after you cancel the preview and you must separately delete this deployment if you want to remove it. + * @param {string} params.project The project ID for this request. + * @param {().Deployment} 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?: Params$Resource$Deployments$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Deployments$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Deployments$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Deployments$Cancelpreview { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the deployment for this request. + */ + deployment?: string; + /** + * The project ID for this request. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DeploymentsCancelPreviewRequest; + } + interface Params$Resource$Deployments$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Sets the policy to use for deleting resources. + */ + deletePolicy?: string; + /** + * The name of the deployment for this request. + */ + deployment?: string; + /** + * The project ID for this request. + */ + project?: string; + } + interface Params$Resource$Deployments$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the deployment for this request. + */ + deployment?: string; + /** + * The project ID for this request. + */ + project?: string; + } + interface Params$Resource$Deployments$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + } + interface Params$Resource$Deployments$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Sets the policy to use for creating new resources. + */ + createPolicy?: string; + /** + * If set to true, creates a deployment and creates "shell" resources but + * does not actually instantiate these resources. This allows you to preview + * what your deployment looks like. After previewing a deployment, you can + * deploy your resources by making a request with the update() method or you + * can use the cancelPreview() method to cancel the preview altogether. Note + * that the deployment will still exist after you cancel the preview and you + * must separately delete this deployment if you want to remove it. + */ + preview?: boolean; + /** + * The project ID for this request. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Deployment; + } + interface Params$Resource$Deployments$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * The project ID for this request. + */ + project?: string; + } + interface Params$Resource$Deployments$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Sets the policy to use for creating new resources. + */ + createPolicy?: string; + /** + * Sets the policy to use for deleting resources. + */ + deletePolicy?: string; + /** + * The name of the deployment for this request. + */ + deployment?: string; + /** + * If set to true, updates the deployment and creates and updates the + * "shell" resources but does not actually alter or instantiate these + * resources. This allows you to preview what your deployment will look + * like. You can use this intent to preview how an update would affect your + * deployment. You must provide a target.config with a configuration if this + * is set to true. After previewing a deployment, you can deploy your + * resources by making a request with the update() or you can + * cancelPreview() to remove the preview altogether. Note that the + * deployment will still exist after you cancel the preview and you must + * separately delete this deployment if you want to remove it. + */ + preview?: boolean; + /** + * The project ID for this request. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Deployment; + } + interface Params$Resource$Deployments$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GlobalSetPolicyRequest; + } + interface Params$Resource$Deployments$Stop { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the deployment for this request. + */ + deployment?: string; + /** + * The project ID for this request. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DeploymentsStopRequest; + } + interface Params$Resource$Deployments$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + interface Params$Resource$Deployments$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Sets the policy to use for creating new resources. + */ + createPolicy?: string; + /** + * Sets the policy to use for deleting resources. + */ + deletePolicy?: string; + /** + * The name of the deployment for this request. + */ + deployment?: string; + /** + * If set to true, updates the deployment and creates and updates the + * "shell" resources but does not actually alter or instantiate these + * resources. This allows you to preview what your deployment will look + * like. You can use this intent to preview how an update would affect your + * deployment. You must provide a target.config with a configuration if this + * is set to true. After previewing a deployment, you can deploy your + * resources by making a request with the update() or you can + * cancelPreview() to remove the preview altogether. Note that the + * deployment will still exist after you cancel the preview and you must + * separately delete this deployment if you want to remove it. + */ + preview?: boolean; + /** + * The project ID for this request. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Deployment; + } + class Resource$Manifests { + root: Deploymentmanager; + constructor(root: Deploymentmanager); + getRoot(): Deploymentmanager; + /** + * deploymentmanager.manifests.get + * @desc Gets information about a specific manifest. + * @alias deploymentmanager.manifests.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.deployment The name of the deployment for this request. + * @param {string} params.manifest The name of the manifest for this request. + * @param {string} params.project The project ID for this request. + * @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?: Params$Resource$Manifests$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Manifests$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Manifests$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * deploymentmanager.manifests.list + * @desc Lists all manifests for a given deployment. + * @alias deploymentmanager.manifests.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.deployment The name of the deployment for this request. + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project The project ID for this request. + * @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?: Params$Resource$Manifests$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Manifests$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Manifests$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Manifests$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the deployment for this request. + */ + deployment?: string; + /** + * The name of the manifest for this request. + */ + manifest?: string; + /** + * The project ID for this request. + */ + project?: string; + } + interface Params$Resource$Manifests$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the deployment for this request. + */ + deployment?: string; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * The project ID for this request. + */ + project?: string; + } + class Resource$Operations { + root: Deploymentmanager; + constructor(root: Deploymentmanager); + getRoot(): Deploymentmanager; + /** + * deploymentmanager.operations.get + * @desc Gets information about a specific operation. + * @alias deploymentmanager.operations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.operation The name of the operation for this request. + * @param {string} params.project The project ID for this request. + * @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?: Params$Resource$Operations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Operations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Operations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * deploymentmanager.operations.list + * @desc Lists all operations for a project. + * @alias deploymentmanager.operations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project The project ID for this request. + * @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?: Params$Resource$Operations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Operations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Operations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Operations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation for this request. + */ + operation?: string; + /** + * The project ID for this request. + */ + project?: string; + } + interface Params$Resource$Operations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * The project ID for this request. + */ + project?: string; + } + class Resource$Resources { + root: Deploymentmanager; + constructor(root: Deploymentmanager); + getRoot(): Deploymentmanager; + /** + * deploymentmanager.resources.get + * @desc Gets information about a single resource. + * @alias deploymentmanager.resources.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.deployment The name of the deployment for this request. + * @param {string} params.project The project ID for this request. + * @param {string} params.resource_ The name of the resource for this request. + * @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?: Params$Resource$Resources$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Resources$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Resources$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * deploymentmanager.resources.list + * @desc Lists all resources in a given deployment. + * @alias deploymentmanager.resources.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.deployment The name of the deployment for this request. + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project The project ID for this request. + * @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?: Params$Resource$Resources$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Resources$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Resources$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Resources$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the deployment for this request. + */ + deployment?: string; + /** + * The project ID for this request. + */ + project?: string; + /** + * The name of the resource for this request. + */ + resource?: string; + } + interface Params$Resource$Resources$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the deployment for this request. + */ + deployment?: string; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * The project ID for this request. + */ + project?: string; + } + class Resource$Typeproviders { + root: Deploymentmanager; + constructor(root: Deploymentmanager); + getRoot(): Deploymentmanager; + /** + * deploymentmanager.typeProviders.delete + * @desc Deletes a type provider. + * @alias deploymentmanager.typeProviders.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project The project ID for this request. + * @param {string} params.typeProvider The name of the type provider for this request. + * @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?: Params$Resource$Typeproviders$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Typeproviders$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Typeproviders$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * deploymentmanager.typeProviders.get + * @desc Gets information about a specific type provider. + * @alias deploymentmanager.typeProviders.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project The project ID for this request. + * @param {string} params.typeProvider The name of the type provider for this request. + * @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?: Params$Resource$Typeproviders$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Typeproviders$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Typeproviders$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * deploymentmanager.typeProviders.getType + * @desc Gets a type info for a type provided by a TypeProvider. + * @alias deploymentmanager.typeProviders.getType + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project The project ID for this request. + * @param {string} params.type The name of the type provider type for this request. + * @param {string} params.typeProvider The name of the type provider for this request. + * @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 + */ + getType(params?: Params$Resource$Typeproviders$Gettype, options?: MethodOptions): AxiosPromise; + getType(params: Params$Resource$Typeproviders$Gettype, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getType(params: Params$Resource$Typeproviders$Gettype, callback: BodyResponseCallback): void; + getType(callback: BodyResponseCallback): void; + /** + * deploymentmanager.typeProviders.insert + * @desc Creates a type provider. + * @alias deploymentmanager.typeProviders.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project The project ID for this request. + * @param {().TypeProvider} 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?: Params$Resource$Typeproviders$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Typeproviders$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Typeproviders$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * deploymentmanager.typeProviders.list + * @desc Lists all resource type providers for Deployment Manager. + * @alias deploymentmanager.typeProviders.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project The project ID for this request. + * @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?: Params$Resource$Typeproviders$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Typeproviders$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Typeproviders$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * deploymentmanager.typeProviders.listTypes + * @desc Lists all the type info for a TypeProvider. + * @alias deploymentmanager.typeProviders.listTypes + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project The project ID for this request. + * @param {string} params.typeProvider The name of the type provider for this request. + * @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 + */ + listTypes(params?: Params$Resource$Typeproviders$Listtypes, options?: MethodOptions): AxiosPromise; + listTypes(params: Params$Resource$Typeproviders$Listtypes, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listTypes(params: Params$Resource$Typeproviders$Listtypes, callback: BodyResponseCallback): void; + listTypes(callback: BodyResponseCallback): void; + /** + * deploymentmanager.typeProviders.patch + * @desc Updates a type provider. This method supports patch semantics. + * @alias deploymentmanager.typeProviders.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project The project ID for this request. + * @param {string} params.typeProvider The name of the type provider for this request. + * @param {().TypeProvider} 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 + */ + patch(params?: Params$Resource$Typeproviders$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Typeproviders$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Typeproviders$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * deploymentmanager.typeProviders.update + * @desc Updates a type provider. + * @alias deploymentmanager.typeProviders.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project The project ID for this request. + * @param {string} params.typeProvider The name of the type provider for this request. + * @param {().TypeProvider} 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?: Params$Resource$Typeproviders$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Typeproviders$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Typeproviders$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Typeproviders$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The project ID for this request. + */ + project?: string; + /** + * The name of the type provider for this request. + */ + typeProvider?: string; + } + interface Params$Resource$Typeproviders$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The project ID for this request. + */ + project?: string; + /** + * The name of the type provider for this request. + */ + typeProvider?: string; + } + interface Params$Resource$Typeproviders$Gettype { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The project ID for this request. + */ + project?: string; + /** + * The name of the type provider type for this request. + */ + type?: string; + /** + * The name of the type provider for this request. + */ + typeProvider?: string; + } + interface Params$Resource$Typeproviders$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The project ID for this request. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TypeProvider; + } + interface Params$Resource$Typeproviders$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * The project ID for this request. + */ + project?: string; + } + interface Params$Resource$Typeproviders$Listtypes { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * The project ID for this request. + */ + project?: string; + /** + * The name of the type provider for this request. + */ + typeProvider?: string; + } + interface Params$Resource$Typeproviders$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The project ID for this request. + */ + project?: string; + /** + * The name of the type provider for this request. + */ + typeProvider?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TypeProvider; + } + interface Params$Resource$Typeproviders$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The project ID for this request. + */ + project?: string; + /** + * The name of the type provider for this request. + */ + typeProvider?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TypeProvider; + } + class Resource$Types { + root: Deploymentmanager; + constructor(root: Deploymentmanager); + getRoot(): Deploymentmanager; + /** + * deploymentmanager.types.delete + * @desc Deletes a type and all of the resources in the type. + * @alias deploymentmanager.types.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project The project ID for this request. + * @param {string} params.type The name of the type for this request. + * @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?: Params$Resource$Types$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Types$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Types$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * deploymentmanager.types.get + * @desc Gets information about a specific type. + * @alias deploymentmanager.types.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project The project ID for this request. + * @param {string} params.type The name of the type for this request. + * @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?: Params$Resource$Types$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Types$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Types$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * deploymentmanager.types.insert + * @desc Creates a type. + * @alias deploymentmanager.types.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project The project ID for this request. + * @param {().Type} 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?: Params$Resource$Types$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Types$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Types$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * deploymentmanager.types.list + * @desc Lists all resource types for Deployment Manager. + * @alias deploymentmanager.types.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project The project ID for this request. + * @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?: Params$Resource$Types$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Types$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Types$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * deploymentmanager.types.patch + * @desc Updates a type. This method supports patch semantics. + * @alias deploymentmanager.types.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project The project ID for this request. + * @param {string} params.type The name of the type for this request. + * @param {().Type} 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 + */ + patch(params?: Params$Resource$Types$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Types$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Types$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * deploymentmanager.types.update + * @desc Updates a type. + * @alias deploymentmanager.types.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project The project ID for this request. + * @param {string} params.type The name of the type for this request. + * @param {().Type} 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?: Params$Resource$Types$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Types$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Types$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Types$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The project ID for this request. + */ + project?: string; + /** + * The name of the type for this request. + */ + type?: string; + } + interface Params$Resource$Types$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The project ID for this request. + */ + project?: string; + /** + * The name of the type for this request. + */ + type?: string; + } + interface Params$Resource$Types$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The project ID for this request. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Type; + } + interface Params$Resource$Types$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * The project ID for this request. + */ + project?: string; + } + interface Params$Resource$Types$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The project ID for this request. + */ + project?: string; + /** + * The name of the type for this request. + */ + type?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Type; + } + interface Params$Resource$Types$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The project ID for this request. + */ + project?: string; + /** + * The name of the type for this request. + */ + type?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Type; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/deploymentmanager/alpha.js b/express-server/node_modules/googleapis/build/src/apis/deploymentmanager/alpha.js new file mode 100644 index 00000000..4fbfcb34 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/deploymentmanager/alpha.js @@ -0,0 +1,1316 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var deploymentmanager_alpha; +(function (deploymentmanager_alpha) { + /** + * Google Cloud Deployment Manager Alpha API + * + * The Deployment Manager API allows users to declaratively configure, deploy + * and run complex solutions on the Google Cloud Platform. + * + * @example + * const {google} = require('googleapis'); + * const deploymentmanager = google.deploymentmanager('alpha'); + * + * @namespace deploymentmanager + * @type {Function} + * @version alpha + * @variation alpha + * @param {object=} options Options for Deploymentmanager + */ + class Deploymentmanager { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.compositeTypes = new Resource$Compositetypes(this); + this.deployments = new Resource$Deployments(this); + this.manifests = new Resource$Manifests(this); + this.operations = new Resource$Operations(this); + this.resources = new Resource$Resources(this); + this.typeProviders = new Resource$Typeproviders(this); + this.types = new Resource$Types(this); + } + getRoot() { + return this.root; + } + } + deploymentmanager_alpha.Deploymentmanager = Deploymentmanager; + class Resource$Compositetypes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/alpha/projects/{project}/global/compositeTypes/{compositeType}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'compositeType'], + pathParams: ['compositeType', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/alpha/projects/{project}/global/compositeTypes/{compositeType}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'compositeType'], + pathParams: ['compositeType', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/alpha/projects/{project}/global/compositeTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/alpha/projects/{project}/global/compositeTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/alpha/projects/{project}/global/compositeTypes/{compositeType}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'compositeType'], + pathParams: ['compositeType', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/alpha/projects/{project}/global/compositeTypes/{compositeType}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['project', 'compositeType'], + pathParams: ['compositeType', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + deploymentmanager_alpha.Resource$Compositetypes = Resource$Compositetypes; + class Resource$Deployments { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + cancelPreview(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/alpha/projects/{project}/global/deployments/{deployment}/cancelPreview') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'deployment'], + pathParams: ['deployment', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/alpha/projects/{project}/global/deployments/{deployment}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'deployment'], + pathParams: ['deployment', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/alpha/projects/{project}/global/deployments/{deployment}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'deployment'], + pathParams: ['deployment', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/alpha/projects/{project}/global/deployments/{resource}/getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/alpha/projects/{project}/global/deployments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/alpha/projects/{project}/global/deployments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/alpha/projects/{project}/global/deployments/{deployment}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'deployment'], + pathParams: ['deployment', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/alpha/projects/{project}/global/deployments/{resource}/setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + stop(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/alpha/projects/{project}/global/deployments/{deployment}/stop') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'deployment'], + pathParams: ['deployment', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/alpha/projects/{project}/global/deployments/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/alpha/projects/{project}/global/deployments/{deployment}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['project', 'deployment'], + pathParams: ['deployment', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + deploymentmanager_alpha.Resource$Deployments = Resource$Deployments; + class Resource$Manifests { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/alpha/projects/{project}/global/deployments/{deployment}/manifests/{manifest}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'deployment', 'manifest'], + pathParams: ['deployment', 'manifest', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/alpha/projects/{project}/global/deployments/{deployment}/manifests') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'deployment'], + pathParams: ['deployment', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + deploymentmanager_alpha.Resource$Manifests = Resource$Manifests; + class Resource$Operations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/alpha/projects/{project}/global/operations/{operation}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'operation'], + pathParams: ['operation', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/alpha/projects/{project}/global/operations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + deploymentmanager_alpha.Resource$Operations = Resource$Operations; + class Resource$Resources { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/alpha/projects/{project}/global/deployments/{deployment}/resources/{resource}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'deployment', 'resource'], + pathParams: ['deployment', 'project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/alpha/projects/{project}/global/deployments/{deployment}/resources') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'deployment'], + pathParams: ['deployment', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + deploymentmanager_alpha.Resource$Resources = Resource$Resources; + class Resource$Typeproviders { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/alpha/projects/{project}/global/typeProviders/{typeProvider}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'typeProvider'], + pathParams: ['project', 'typeProvider'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/alpha/projects/{project}/global/typeProviders/{typeProvider}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'typeProvider'], + pathParams: ['project', 'typeProvider'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getType(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/alpha/projects/{project}/global/typeProviders/{typeProvider}/types/{type}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'typeProvider', 'type'], + pathParams: ['project', 'type', 'typeProvider'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/alpha/projects/{project}/global/typeProviders') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/alpha/projects/{project}/global/typeProviders') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listTypes(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/alpha/projects/{project}/global/typeProviders/{typeProvider}/types') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'typeProvider'], + pathParams: ['project', 'typeProvider'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/alpha/projects/{project}/global/typeProviders/{typeProvider}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'typeProvider'], + pathParams: ['project', 'typeProvider'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/alpha/projects/{project}/global/typeProviders/{typeProvider}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['project', 'typeProvider'], + pathParams: ['project', 'typeProvider'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + deploymentmanager_alpha.Resource$Typeproviders = Resource$Typeproviders; + class Resource$Types { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/alpha/projects/{project}/global/types/{type}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'type'], + pathParams: ['project', 'type'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/alpha/projects/{project}/global/types/{type}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'type'], + pathParams: ['project', 'type'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/alpha/projects/{project}/global/types') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/alpha/projects/{project}/global/types') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/alpha/projects/{project}/global/types/{type}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'type'], + pathParams: ['project', 'type'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/alpha/projects/{project}/global/types/{type}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['project', 'type'], + pathParams: ['project', 'type'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + deploymentmanager_alpha.Resource$Types = Resource$Types; +})(deploymentmanager_alpha = exports.deploymentmanager_alpha || (exports.deploymentmanager_alpha = {})); +//# sourceMappingURL=alpha.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/deploymentmanager/alpha.js.map b/express-server/node_modules/googleapis/build/src/apis/deploymentmanager/alpha.js.map new file mode 100644 index 00000000..8dcbf5f0 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/deploymentmanager/alpha.js.map @@ -0,0 +1 @@ +{"version":3,"file":"alpha.js","sourceRoot":"","sources":["../../../../src/apis/deploymentmanager/alpha.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/deploymentmanager/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/deploymentmanager/index.d.ts new file mode 100644 index 00000000..6cc1bdef --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/deploymentmanager/index.d.ts @@ -0,0 +1,14 @@ +import { deploymentmanager_alpha } from './alpha'; +import { deploymentmanager_v2 } from './v2'; +import { deploymentmanager_v2beta } from './v2beta'; +export declare const VERSIONS: { + 'alpha': typeof deploymentmanager_alpha.Deploymentmanager; + 'v2': typeof deploymentmanager_v2.Deploymentmanager; + 'v2beta': typeof deploymentmanager_v2beta.Deploymentmanager; +}; +export declare function deploymentmanager(version: 'alpha'): deploymentmanager_alpha.Deploymentmanager; +export declare function deploymentmanager(options: deploymentmanager_alpha.Options): deploymentmanager_alpha.Deploymentmanager; +export declare function deploymentmanager(version: 'v2'): deploymentmanager_v2.Deploymentmanager; +export declare function deploymentmanager(options: deploymentmanager_v2.Options): deploymentmanager_v2.Deploymentmanager; +export declare function deploymentmanager(version: 'v2beta'): deploymentmanager_v2beta.Deploymentmanager; +export declare function deploymentmanager(options: deploymentmanager_v2beta.Options): deploymentmanager_v2beta.Deploymentmanager; diff --git a/express-server/node_modules/googleapis/build/src/apis/deploymentmanager/index.js b/express-server/node_modules/googleapis/build/src/apis/deploymentmanager/index.js new file mode 100644 index 00000000..417995c2 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/deploymentmanager/index.js @@ -0,0 +1,29 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const alpha_1 = require("./alpha"); +const v2_1 = require("./v2"); +const v2beta_1 = require("./v2beta"); +exports.VERSIONS = { + 'alpha': alpha_1.deploymentmanager_alpha.Deploymentmanager, + 'v2': v2_1.deploymentmanager_v2.Deploymentmanager, + 'v2beta': v2beta_1.deploymentmanager_v2beta.Deploymentmanager, +}; +function deploymentmanager(versionOrOptions) { + return googleapis_common_1.getAPI('deploymentmanager', versionOrOptions, exports.VERSIONS, this); +} +exports.deploymentmanager = deploymentmanager; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/deploymentmanager/index.js.map b/express-server/node_modules/googleapis/build/src/apis/deploymentmanager/index.js.map new file mode 100644 index 00000000..7c0bed20 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/deploymentmanager/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/deploymentmanager/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,mCAAgD;AAChD,6BAA0C;AAC1C,qCAAkD;AAErC,QAAA,QAAQ,GAAG;IACtB,OAAO,EAAE,+BAAuB,CAAC,iBAAiB;IAClD,IAAI,EAAE,yBAAoB,CAAC,iBAAiB;IAC5C,QAAQ,EAAE,iCAAwB,CAAC,iBAAiB;CACrD,CAAC;AAcF,SAAgB,iBAAiB,CAK7B,gBAEsE;IACxE,OAAO,0BAAM,CAAI,mBAAmB,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAC1E,CAAC;AATD,8CASC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/deploymentmanager/package.json b/express-server/node_modules/googleapis/build/src/apis/deploymentmanager/package.json new file mode 100644 index 00000000..693b44f6 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/deploymentmanager/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/deploymentmanager", + "version": "0.1.0", + "description": "deploymentmanager", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/deploymentmanager/v2.d.ts b/express-server/node_modules/googleapis/build/src/apis/deploymentmanager/v2.d.ts new file mode 100644 index 00000000..6757c485 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/deploymentmanager/v2.d.ts @@ -0,0 +1,2940 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace deploymentmanager_v2 { + interface Options extends GlobalOptions { + version: 'v2'; + } + /** + * Google Cloud Deployment Manager API + * + * Declares, configures, and deploys complex solutions on Google Cloud + * Platform. + * + * @example + * const {google} = require('googleapis'); + * const deploymentmanager = google.deploymentmanager('v2'); + * + * @namespace deploymentmanager + * @type {Function} + * @version v2 + * @variation v2 + * @param {object=} options Options for Deploymentmanager + */ + class Deploymentmanager { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + deployments: Resource$Deployments; + manifests: Resource$Manifests; + operations: Resource$Operations; + resources: Resource$Resources; + types: Resource$Types; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Specifies the audit configuration for a service. The configuration + * determines which permission types are logged, and what identities, if any, + * are exempted from logging. An AuditConfig must have one or more + * AuditLogConfigs. If there are AuditConfigs for both `allServices` and a + * specific service, the union of the two AuditConfigs is used for that + * service: the log_types specified in each AuditConfig are enabled, and the + * exempted_members in each AuditLogConfig are exempted. Example Policy with + * multiple AuditConfigs: { "audit_configs": [ { + * "service": "allServices" "audit_log_configs": + * [ { "log_type": "DATA_READ", + * "exempted_members": [ "user:foo@gmail.com" ] }, { + * "log_type": "DATA_WRITE", }, { "log_type": + * "ADMIN_READ", } ] }, { "service": + * "fooservice.googleapis.com" "audit_log_configs": [ { + * "log_type": "DATA_READ", }, { "log_type": + * "DATA_WRITE", "exempted_members": [ + * "user:bar@gmail.com" ] } ] } ] } For fooservice, this policy + * enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts + * foo@gmail.com from DATA_READ logging, and bar@gmail.com from DATA_WRITE + * logging. + */ + interface Schema$AuditConfig { + /** + * The configuration for logging of each type of permission. + */ + auditLogConfigs?: Schema$AuditLogConfig[]; + exemptedMembers?: string[]; + /** + * Specifies a service that will be enabled for audit logging. For example, + * `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a + * special value that covers all services. + */ + service?: string; + } + /** + * Provides the configuration for logging a type of permissions. Example: { + * "audit_log_configs": [ { "log_type": + * "DATA_READ", "exempted_members": [ + * "user:foo@gmail.com" ] }, { "log_type": + * "DATA_WRITE", } ] } This enables 'DATA_READ' and + * 'DATA_WRITE' logging, while exempting foo@gmail.com from DATA_READ + * logging. + */ + interface Schema$AuditLogConfig { + /** + * Specifies the identities that do not cause logging for this type of + * permission. Follows the same format of [Binding.members][]. + */ + exemptedMembers?: string[]; + /** + * The log type that this config enables. + */ + logType?: string; + } + /** + * Authorization-related information used by Cloud Audit Logging. + */ + interface Schema$AuthorizationLoggingOptions { + /** + * The type of the permission that was checked. + */ + permissionType?: string; + } + /** + * Associates `members` with a `role`. + */ + interface Schema$Binding { + /** + * The condition that is associated with this binding. NOTE: an unsatisfied + * condition will not allow user access via current binding. Different + * bindings, including their conditions, are examined independently. This + * field is only visible as GOOGLE_INTERNAL or CONDITION_TRUSTED_TESTER. + */ + condition?: Schema$Expr; + /** + * Specifies the identities requesting access for a Cloud Platform resource. + * `members` can have the following values: * `allUsers`: A special + * identifier that represents anyone who is on the internet; with or without + * a Google account. * `allAuthenticatedUsers`: A special identifier that + * represents anyone who is authenticated with a Google account or a service + * account. * `user:{emailid}`: An email address that represents a specific + * Google account. For example, `alice@gmail.com` . * + * `serviceAccount:{emailid}`: An email address that represents a service + * account. For example, `my-other-app@appspot.gserviceaccount.com`. * + * `group:{emailid}`: An email address that represents a Google group. For + * example, `admins@example.com`. * `domain:{domain}`: A Google Apps + * domain name that represents all the users of that domain. For example, + * `google.com` or `example.com`. + */ + members?: string[]; + /** + * Role that is assigned to `members`. For example, `roles/viewer`, + * `roles/editor`, or `roles/owner`. + */ + role?: string; + } + /** + * A condition to be met. + */ + interface Schema$Condition { + /** + * Trusted attributes supplied by the IAM system. + */ + iam?: string; + /** + * An operator to apply the subject with. + */ + op?: string; + /** + * Trusted attributes discharged by the service. + */ + svc?: string; + /** + * Trusted attributes supplied by any service that owns resources and uses + * the IAM system for access control. + */ + sys?: string; + /** + * DEPRECATED. Use 'values' instead. + */ + value?: string; + /** + * The objects of the condition. This is mutually exclusive with + * 'value'. + */ + values?: string[]; + } + interface Schema$ConfigFile { + /** + * The contents of the file. + */ + content?: string; + } + interface Schema$Deployment { + /** + * An optional user-provided description of the deployment. + */ + description?: string; + /** + * Provides a fingerprint to use in requests to modify a deployment, such as + * update(), stop(), and cancelPreview() requests. A fingerprint is a + * randomly generated value that must be provided with update(), stop(), and + * cancelPreview() requests to perform optimistic locking. This ensures + * optimistic concurrency so that only one request happens at a time. The + * fingerprint is initially generated by Deployment Manager and changes + * after every request to modify data. To get the latest fingerprint value, + * perform a get() request to a deployment. + */ + fingerprint?: string; + /** + * Output only. Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * Output only. Timestamp when the deployment was created, in RFC3339 text + * format . + */ + insertTime?: string; + /** + * Map of labels; provided by the client when the resource is created or + * updated. Specifically: Label keys must be between 1 and 63 characters + * long and must conform to the following regular expression: + * [a-z]([-a-z0-9]*[a-z0-9])? Label values must be between 0 and 63 + * characters long and must conform to the regular expression + * ([a-z]([-a-z0-9]*[a-z0-9])?)? + */ + labels?: Schema$DeploymentLabelEntry[]; + /** + * Output only. URL of the manifest representing the last manifest that was + * successfully deployed. + */ + manifest?: string; + /** + * Name of the resource; provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * Output only. The Operation that most recently ran, or is currently + * running, on this deployment. + */ + operation?: Schema$Operation; + /** + * Output only. Self link for the deployment. + */ + selfLink?: string; + /** + * [Input Only] The parameters that define your deployment, including the + * deployment configuration and relevant templates. + */ + target?: Schema$TargetConfiguration; + /** + * Output only. If Deployment Manager is currently updating or previewing an + * update to this deployment, the updated configuration appears here. + */ + update?: Schema$DeploymentUpdate; + } + interface Schema$DeploymentLabelEntry { + key?: string; + value?: string; + } + interface Schema$DeploymentsCancelPreviewRequest { + /** + * Specifies a fingerprint for cancelPreview() requests. A fingerprint is a + * randomly generated value that must be provided in cancelPreview() + * requests to perform optimistic locking. This ensures optimistic + * concurrency so that the deployment does not have conflicting requests + * (e.g. if someone attempts to make a new update request while another user + * attempts to cancel a preview, this would prevent one of the requests). + * The fingerprint is initially generated by Deployment Manager and changes + * after every request to modify a deployment. To get the latest fingerprint + * value, perform a get() request on the deployment. + */ + fingerprint?: string; + } + /** + * A response containing a partial list of deployments and a page token used + * to build the next request if the request has been truncated. + */ + interface Schema$DeploymentsListResponse { + /** + * Output only. The deployments contained in this response. + */ + deployments?: Schema$Deployment[]; + /** + * Output only. A token used to continue a truncated list request. + */ + nextPageToken?: string; + } + interface Schema$DeploymentsStopRequest { + /** + * Specifies a fingerprint for stop() requests. A fingerprint is a randomly + * generated value that must be provided in stop() requests to perform + * optimistic locking. This ensures optimistic concurrency so that the + * deployment does not have conflicting requests (e.g. if someone attempts + * to make a new update request while another user attempts to stop an + * ongoing update request, this would prevent a collision). The fingerprint + * is initially generated by Deployment Manager and changes after every + * request to modify a deployment. To get the latest fingerprint value, + * perform a get() request on the deployment. + */ + fingerprint?: string; + } + interface Schema$DeploymentUpdate { + /** + * Output only. An optional user-provided description of the deployment + * after the current update has been applied. + */ + description?: string; + /** + * Output only. Map of labels; provided by the client when the resource is + * created or updated. Specifically: Label keys must be between 1 and 63 + * characters long and must conform to the following regular expression: + * [a-z]([-a-z0-9]*[a-z0-9])? Label values must be between 0 and 63 + * characters long and must conform to the regular expression + * ([a-z]([-a-z0-9]*[a-z0-9])?)? + */ + labels?: Schema$DeploymentUpdateLabelEntry[]; + /** + * Output only. URL of the manifest representing the update configuration of + * this deployment. + */ + manifest?: string; + } + interface Schema$DeploymentUpdateLabelEntry { + key?: string; + value?: string; + } + /** + * Represents an expression text. Example: title: "User account + * presence" description: "Determines whether the request has a user + * account" expression: "size(request.user) > 0" + */ + interface Schema$Expr { + /** + * An optional description of the expression. This is a longer text which + * describes the expression, e.g. when hovered over it in a UI. + */ + description?: string; + /** + * Textual representation of an expression in Common Expression Language + * syntax. The application context of the containing message determines + * which well-known feature set of CEL is supported. + */ + expression?: string; + /** + * An optional string indicating the location of the expression for error + * reporting, e.g. a file name and a position in the file. + */ + location?: string; + /** + * An optional title for the expression, i.e. a short string describing its + * purpose. This can be used e.g. in UIs which allow to enter the + * expression. + */ + title?: string; + } + interface Schema$GlobalSetPolicyRequest { + /** + * Flatten Policy to create a backwacd compatible wire-format. Deprecated. + * Use 'policy' to specify bindings. + */ + bindings?: Schema$Binding[]; + /** + * Flatten Policy to create a backward compatible wire-format. Deprecated. + * Use 'policy' to specify the etag. + */ + etag?: string; + /** + * REQUIRED: The complete policy to be applied to the 'resource'. + * The size of the policy is limited to a few 10s of KB. An empty policy is + * in general a valid policy but certain services (like Projects) might + * reject them. + */ + policy?: Schema$Policy; + } + interface Schema$ImportFile { + /** + * The contents of the file. + */ + content?: string; + /** + * The name of the file. + */ + name?: string; + } + /** + * Specifies what kind of log the caller must write + */ + interface Schema$LogConfig { + /** + * Cloud audit options. + */ + cloudAudit?: Schema$LogConfigCloudAuditOptions; + /** + * Counter options. + */ + counter?: Schema$LogConfigCounterOptions; + /** + * Data access options. + */ + dataAccess?: Schema$LogConfigDataAccessOptions; + } + /** + * Write a Cloud Audit log + */ + interface Schema$LogConfigCloudAuditOptions { + /** + * Information used by the Cloud Audit Logging pipeline. + */ + authorizationLoggingOptions?: Schema$AuthorizationLoggingOptions; + /** + * The log_name to populate in the Cloud Audit Record. + */ + logName?: string; + } + /** + * Increment a streamz counter with the specified metric and field names. + * Metric names should start with a '/', generally be lowercase-only, + * and end in "_count". Field names should not contain an initial + * slash. The actual exported metric names will have "/iam/policy" + * prepended. Field names correspond to IAM request parameters and field + * values are their respective values. At present the only supported field + * names are - "iam_principal", corresponding to + * IAMContext.principal; - "" (empty string), resulting in one + * aggretated counter with no field. Examples: counter { metric: + * "/debug_access_count" field: "iam_principal" } ==> + * increment counter /iam/policy/backend_debug_access_count + * {iam_principal=[value of IAMContext.principal]} At this time we do not + * support: * multiple field names (though this may be supported in the + * future) * decrementing the counter * incrementing it by anything other than + * 1 + */ + interface Schema$LogConfigCounterOptions { + /** + * The field value to attribute. + */ + field?: string; + /** + * The metric to update. + */ + metric?: string; + } + /** + * Write a Data Access (Gin) log + */ + interface Schema$LogConfigDataAccessOptions { + /** + * Whether Gin logging should happen in a fail-closed manner at the caller. + * This is relevant only in the LocalIAM implementation, for now. + */ + logMode?: string; + } + interface Schema$Manifest { + /** + * Output only. The YAML configuration for this manifest. + */ + config?: Schema$ConfigFile; + /** + * Output only. The fully-expanded configuration file, including any + * templates and references. + */ + expandedConfig?: string; + /** + * Output only. Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * Output only. The imported files for this manifest. + */ + imports?: Schema$ImportFile[]; + /** + * Output only. Timestamp when the manifest was created, in RFC3339 text + * format. + */ + insertTime?: string; + /** + * Output only. The YAML layout for this manifest. + */ + layout?: string; + /** + * Output only. The name of the manifest. + */ + name?: string; + /** + * Output only. Self link for the manifest. + */ + selfLink?: string; + } + /** + * A response containing a partial list of manifests and a page token used to + * build the next request if the request has been truncated. + */ + interface Schema$ManifestsListResponse { + /** + * Output only. Manifests contained in this list response. + */ + manifests?: Schema$Manifest[]; + /** + * Output only. A token used to continue a truncated list request. + */ + nextPageToken?: string; + } + /** + * An Operation resource, used to manage asynchronous API requests. (== + * resource_for v1.globalOperations ==) (== resource_for beta.globalOperations + * ==) (== resource_for v1.regionOperations ==) (== resource_for + * beta.regionOperations ==) (== resource_for v1.zoneOperations ==) (== + * resource_for beta.zoneOperations ==) + */ + interface Schema$Operation { + /** + * [Output Only] The value of `requestId` if you provided it in the request. + * Not present otherwise. + */ + clientOperationId?: string; + /** + * [Deprecated] This field is deprecated. + */ + creationTimestamp?: string; + /** + * [Output Only] A textual description of the operation, which is set when + * the operation is created. + */ + description?: string; + /** + * [Output Only] The time that this operation was completed. This value is + * in RFC3339 text format. + */ + endTime?: string; + /** + * [Output Only] If errors are generated during processing of the operation, + * this field will be populated. + */ + error?: any; + /** + * [Output Only] If the operation fails, this field contains the HTTP error + * message that was returned, such as NOT FOUND. + */ + httpErrorMessage?: string; + /** + * [Output Only] If the operation fails, this field contains the HTTP error + * status code that was returned. For example, a 404 means the resource was + * not found. + */ + httpErrorStatusCode?: number; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] The time that this operation was requested. This value is + * in RFC3339 text format. + */ + insertTime?: string; + /** + * [Output Only] Type of the resource. Always compute#operation for + * Operation resources. + */ + kind?: string; + /** + * [Output Only] Name of the resource. + */ + name?: string; + /** + * [Output Only] The type of operation, such as insert, update, or delete, + * and so on. + */ + operationType?: string; + /** + * [Output Only] An optional progress indicator that ranges from 0 to 100. + * There is no requirement that this be linear or support any granularity of + * operations. This should not be used to guess when the operation will be + * complete. This number should monotonically increase as the operation + * progresses. + */ + progress?: number; + /** + * [Output Only] The URL of the region where the operation resides. Only + * available when performing regional operations. You must specify this + * field as part of the HTTP request URL. It is not settable as a field in + * the request body. + */ + region?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] The time that this operation was started by the server. + * This value is in RFC3339 text format. + */ + startTime?: string; + /** + * [Output Only] The status of the operation, which can be one of the + * following: PENDING, RUNNING, or DONE. + */ + status?: string; + /** + * [Output Only] An optional textual description of the current status of + * the operation. + */ + statusMessage?: string; + /** + * [Output Only] The unique target ID, which identifies a specific + * incarnation of the target resource. + */ + targetId?: string; + /** + * [Output Only] The URL of the resource that the operation modifies. For + * operations related to creating a snapshot, this points to the persistent + * disk that the snapshot was created from. + */ + targetLink?: string; + /** + * [Output Only] User who requested the operation, for example: + * user@example.com. + */ + user?: string; + /** + * [Output Only] If warning messages are generated during processing of the + * operation, this field will be populated. + */ + warnings?: any[]; + /** + * [Output Only] The URL of the zone where the operation resides. Only + * available when performing per-zone operations. You must specify this + * field as part of the HTTP request URL. It is not settable as a field in + * the request body. + */ + zone?: string; + } + /** + * A response containing a partial list of operations and a page token used to + * build the next request if the request has been truncated. + */ + interface Schema$OperationsListResponse { + /** + * Output only. A token used to continue a truncated list request. + */ + nextPageToken?: string; + /** + * Output only. Operations contained in this list response. + */ + operations?: Schema$Operation[]; + } + /** + * Defines an Identity and Access Management (IAM) policy. It is used to + * specify access control policies for Cloud Platform resources. A `Policy` + * consists of a list of `bindings`. A `binding` binds a list of `members` to + * a `role`, where the members can be user accounts, Google groups, Google + * domains, and service accounts. A `role` is a named list of permissions + * defined by IAM. **JSON Example** { "bindings": [ { + * "role": "roles/owner", "members": [ + * "user:mike@example.com", "group:admins@example.com", + * "domain:google.com", + * "serviceAccount:my-other-app@appspot.gserviceaccount.com" ] }, { + * "role": "roles/viewer", "members": + * ["user:sean@example.com"] } ] } **YAML Example** bindings: - + * members: - user:mike@example.com - group:admins@example.com - + * domain:google.com - serviceAccount:my-other-app@appspot.gserviceaccount.com + * role: roles/owner - members: - user:sean@example.com role: roles/viewer For + * a description of IAM and its features, see the [IAM developer's + * guide](https://cloud.google.com/iam/docs). + */ + interface Schema$Policy { + /** + * Specifies cloud audit logging configuration for this policy. + */ + auditConfigs?: Schema$AuditConfig[]; + /** + * Associates a list of `members` to a `role`. `bindings` with no members + * will result in an error. + */ + bindings?: Schema$Binding[]; + /** + * `etag` is used for optimistic concurrency control as a way to help + * prevent simultaneous updates of a policy from overwriting each other. It + * is strongly suggested that systems make use of the `etag` in the + * read-modify-write cycle to perform policy updates in order to avoid race + * conditions: An `etag` is returned in the response to `getIamPolicy`, and + * systems are expected to put that etag in the request to `setIamPolicy` to + * ensure that their change will be applied to the same version of the + * policy. If no `etag` is provided in the call to `setIamPolicy`, then the + * existing policy is overwritten blindly. + */ + etag?: string; + iamOwned?: boolean; + /** + * If more than one rule is specified, the rules are applied in the + * following manner: - All matching LOG rules are always applied. - If any + * DENY/DENY_WITH_LOG rule matches, permission is denied. Logging will be + * applied if one or more matching rule requires logging. - Otherwise, if + * any ALLOW/ALLOW_WITH_LOG rule matches, permission is granted. Logging + * will be applied if one or more matching rule requires logging. - + * Otherwise, if no rule applies, permission is denied. + */ + rules?: Schema$Rule[]; + /** + * Deprecated. + */ + version?: number; + } + interface Schema$Resource { + /** + * The Access Control Policy set on this resource. + */ + accessControl?: Schema$ResourceAccessControl; + /** + * Output only. The evaluated properties of the resource with references + * expanded. Returned as serialized YAML. + */ + finalProperties?: string; + /** + * Output only. Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * Output only. Timestamp when the resource was created or acquired, in + * RFC3339 text format . + */ + insertTime?: string; + /** + * Output only. URL of the manifest representing the current configuration + * of this resource. + */ + manifest?: string; + /** + * Output only. The name of the resource as it appears in the YAML config. + */ + name?: string; + /** + * Output only. The current properties of the resource before any references + * have been filled in. Returned as serialized YAML. + */ + properties?: string; + /** + * Output only. The type of the resource, for example compute.v1.instance, + * or cloudfunctions.v1beta1.function. + */ + type?: string; + /** + * Output only. If Deployment Manager is currently updating or previewing an + * update to this resource, the updated configuration appears here. + */ + update?: Schema$ResourceUpdate; + /** + * Output only. Timestamp when the resource was updated, in RFC3339 text + * format . + */ + updateTime?: string; + /** + * Output only. The URL of the actual resource. + */ + url?: string; + /** + * Output only. If warning messages are generated during processing of this + * resource, this field will be populated. + */ + warnings?: any[]; + } + /** + * The access controls set on the resource. + */ + interface Schema$ResourceAccessControl { + /** + * The GCP IAM Policy to set on the resource. + */ + gcpIamPolicy?: string; + } + /** + * A response containing a partial list of resources and a page token used to + * build the next request if the request has been truncated. + */ + interface Schema$ResourcesListResponse { + /** + * A token used to continue a truncated list request. + */ + nextPageToken?: string; + /** + * Resources contained in this list response. + */ + resources?: Schema$Resource[]; + } + interface Schema$ResourceUpdate { + /** + * The Access Control Policy to set on this resource after updating the + * resource itself. + */ + accessControl?: Schema$ResourceAccessControl; + /** + * Output only. If errors are generated during update of the resource, this + * field will be populated. + */ + error?: any; + /** + * Output only. The expanded properties of the resource with reference + * values expanded. Returned as serialized YAML. + */ + finalProperties?: string; + /** + * Output only. The intent of the resource: PREVIEW, UPDATE, or CANCEL. + */ + intent?: string; + /** + * Output only. URL of the manifest representing the update configuration of + * this resource. + */ + manifest?: string; + /** + * Output only. The set of updated properties for this resource, before + * references are expanded. Returned as serialized YAML. + */ + properties?: string; + /** + * Output only. The state of the resource. + */ + state?: string; + /** + * Output only. If warning messages are generated during processing of this + * resource, this field will be populated. + */ + warnings?: any[]; + } + /** + * A rule to be applied in a Policy. + */ + interface Schema$Rule { + /** + * Required + */ + action?: string; + /** + * Additional restrictions that must be met. All conditions must pass for + * the rule to match. + */ + conditions?: Schema$Condition[]; + /** + * Human-readable description of the rule. + */ + description?: string; + /** + * If one or more 'in' clauses are specified, the rule matches if + * the PRINCIPAL/AUTHORITY_SELECTOR is in at least one of these entries. + */ + ins?: string[]; + /** + * The config returned to callers of tech.iam.IAM.CheckPolicy for any + * entries that match the LOG action. + */ + logConfigs?: Schema$LogConfig[]; + /** + * If one or more 'not_in' clauses are specified, the rule matches + * if the PRINCIPAL/AUTHORITY_SELECTOR is in none of the entries. + */ + notIns?: string[]; + /** + * A permission is a string of form '..' (e.g., + * 'storage.buckets.list'). A value of '*' matches all + * permissions, and a verb part of '*' (e.g., + * 'storage.buckets.*') matches all verbs. + */ + permissions?: string[]; + } + interface Schema$TargetConfiguration { + /** + * The configuration to use for this deployment. + */ + config?: Schema$ConfigFile; + /** + * Specifies any files to import for this configuration. This can be used to + * import templates or other files. For example, you might import a text + * file in order to use the file in a template. + */ + imports?: Schema$ImportFile[]; + } + interface Schema$TestPermissionsRequest { + /** + * The set of permissions to check for the 'resource'. Permissions + * with wildcards (such as '*' or 'storage.*') are not + * allowed. + */ + permissions?: string[]; + } + interface Schema$TestPermissionsResponse { + /** + * A subset of `TestPermissionsRequest.permissions` that the caller is + * allowed. + */ + permissions?: string[]; + } + /** + * A resource type supported by Deployment Manager. + */ + interface Schema$Type { + /** + * Output only. Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * Output only. Timestamp when the type was created, in RFC3339 text format. + */ + insertTime?: string; + /** + * Name of the type. + */ + name?: string; + /** + * Output only. The Operation that most recently ran, or is currently + * running, on this type. + */ + operation?: Schema$Operation; + /** + * Output only. Self link for the type. + */ + selfLink?: string; + } + /** + * A response that returns all Types supported by Deployment Manager + */ + interface Schema$TypesListResponse { + /** + * A token used to continue a truncated list request. + */ + nextPageToken?: string; + /** + * Output only. A list of resource types supported by Deployment Manager. + */ + types?: Schema$Type[]; + } + class Resource$Deployments { + root: Deploymentmanager; + constructor(root: Deploymentmanager); + getRoot(): Deploymentmanager; + /** + * deploymentmanager.deployments.cancelPreview + * @desc Cancels and removes the preview currently associated with the + * deployment. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Deployment Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/deploymentmanager + * // 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 deploymentManager = google.deploymentmanager('v2'); + * + * authorize(function(authClient) { + * var request = { + * // The project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the deployment for this request. + * deployment: 'my-deployment', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * deploymentManager.deployments.cancelPreview(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 deploymentmanager.deployments.cancelPreview + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.deployment The name of the deployment for this request. + * @param {string} params.project The project ID for this request. + * @param {().DeploymentsCancelPreviewRequest} 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 + */ + cancelPreview(params?: Params$Resource$Deployments$Cancelpreview, options?: MethodOptions): AxiosPromise; + cancelPreview(params: Params$Resource$Deployments$Cancelpreview, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + cancelPreview(params: Params$Resource$Deployments$Cancelpreview, callback: BodyResponseCallback): void; + cancelPreview(callback: BodyResponseCallback): void; + /** + * deploymentmanager.deployments.delete + * @desc Deletes a deployment and all of the resources in the deployment. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Deployment Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/deploymentmanager + * // 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 deploymentManager = google.deploymentmanager('v2'); + * + * authorize(function(authClient) { + * var request = { + * // The project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the deployment for this request. + * deployment: 'my-deployment', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * deploymentManager.deployments.delete(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 deploymentmanager.deployments.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.deletePolicy Sets the policy to use for deleting resources. + * @param {string} params.deployment The name of the deployment for this request. + * @param {string} params.project The project ID for this request. + * @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?: Params$Resource$Deployments$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Deployments$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Deployments$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * deploymentmanager.deployments.get + * @desc Gets information about a specific deployment. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Deployment Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/deploymentmanager + * // 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 deploymentManager = google.deploymentmanager('v2'); + * + * authorize(function(authClient) { + * var request = { + * // The project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the deployment for this request. + * deployment: 'my-deployment', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * deploymentManager.deployments.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 deploymentmanager.deployments.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.deployment The name of the deployment for this request. + * @param {string} params.project The project ID for this request. + * @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?: Params$Resource$Deployments$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Deployments$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Deployments$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * deploymentmanager.deployments.getIamPolicy + * @desc Gets the access control policy for a resource. May be empty if no + * such policy or resource exists. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Deployment Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/deploymentmanager + * // 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 deploymentManager = google.deploymentmanager('v2'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the resource for this request. + * resource_: 'my-resource', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * deploymentManager.deployments.getIamPolicy(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 deploymentmanager.deployments.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @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 + */ + getIamPolicy(params?: Params$Resource$Deployments$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Deployments$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Deployments$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * deploymentmanager.deployments.insert + * @desc Creates a deployment and all of the resources described by the + * deployment manifest. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Deployment Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/deploymentmanager + * // 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 deploymentManager = google.deploymentmanager('v2'); + * + * authorize(function(authClient) { + * var request = { + * // The project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * deploymentManager.deployments.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 deploymentmanager.deployments.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.createPolicy Sets the policy to use for creating new resources. + * @param {boolean=} params.preview If set to true, creates a deployment and creates "shell" resources but does not actually instantiate these resources. This allows you to preview what your deployment looks like. After previewing a deployment, you can deploy your resources by making a request with the update() method or you can use the cancelPreview() method to cancel the preview altogether. Note that the deployment will still exist after you cancel the preview and you must separately delete this deployment if you want to remove it. + * @param {string} params.project The project ID for this request. + * @param {().Deployment} 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?: Params$Resource$Deployments$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Deployments$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Deployments$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * deploymentmanager.deployments.list + * @desc Lists all deployments for a given project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Deployment Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/deploymentmanager + * // 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 deploymentManager = google.deploymentmanager('v2'); + * + * authorize(function(authClient) { + * var request = { + * // The project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var deploymentsPage = response['deployments']; + * if (!deploymentsPage) { + * return; + * } + * for (var i = 0; i < deploymentsPage.length; i++) { + * // TODO: Change code below to process each resource in + * `deploymentsPage`: console.log(JSON.stringify(deploymentsPage[i], null, + * 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * deploymentManager.deployments.list(request, handlePage); + * } + * }; + * + * deploymentManager.deployments.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 deploymentmanager.deployments.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project The project ID for this request. + * @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?: Params$Resource$Deployments$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Deployments$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Deployments$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * deploymentmanager.deployments.patch + * @desc Updates a deployment and all of the resources described by the + * deployment manifest. This method supports patch semantics. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Deployment Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/deploymentmanager + * // 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 deploymentManager = google.deploymentmanager('v2'); + * + * authorize(function(authClient) { + * var request = { + * // The project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the deployment for this request. + * deployment: 'my-deployment', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * deploymentManager.deployments.patch(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 deploymentmanager.deployments.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.createPolicy Sets the policy to use for creating new resources. + * @param {string=} params.deletePolicy Sets the policy to use for deleting resources. + * @param {string} params.deployment The name of the deployment for this request. + * @param {boolean=} params.preview If set to true, updates the deployment and creates and updates the "shell" resources but does not actually alter or instantiate these resources. This allows you to preview what your deployment will look like. You can use this intent to preview how an update would affect your deployment. You must provide a target.config with a configuration if this is set to true. After previewing a deployment, you can deploy your resources by making a request with the update() or you can cancelPreview() to remove the preview altogether. Note that the deployment will still exist after you cancel the preview and you must separately delete this deployment if you want to remove it. + * @param {string} params.project The project ID for this request. + * @param {().Deployment} 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 + */ + patch(params?: Params$Resource$Deployments$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Deployments$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Deployments$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * deploymentmanager.deployments.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Deployment Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/deploymentmanager + * // 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 deploymentManager = google.deploymentmanager('v2'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the resource for this request. + * resource_: 'my-resource', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * deploymentManager.deployments.setIamPolicy(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 deploymentmanager.deployments.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().GlobalSetPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Deployments$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Deployments$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Deployments$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * deploymentmanager.deployments.stop + * @desc Stops an ongoing operation. This does not roll back any work that + * has already been completed, but prevents any new work from being started. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Deployment Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/deploymentmanager + * // 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 deploymentManager = google.deploymentmanager('v2'); + * + * authorize(function(authClient) { + * var request = { + * // The project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the deployment for this request. + * deployment: 'my-deployment', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * deploymentManager.deployments.stop(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 deploymentmanager.deployments.stop + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.deployment The name of the deployment for this request. + * @param {string} params.project The project ID for this request. + * @param {().DeploymentsStopRequest} 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 + */ + stop(params?: Params$Resource$Deployments$Stop, options?: MethodOptions): AxiosPromise; + stop(params: Params$Resource$Deployments$Stop, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + stop(params: Params$Resource$Deployments$Stop, callback: BodyResponseCallback): void; + stop(callback: BodyResponseCallback): void; + /** + * deploymentmanager.deployments.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Deployment Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/deploymentmanager + * // 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 deploymentManager = google.deploymentmanager('v2'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Name of the resource for this request. + * resource_: 'my-resource', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * deploymentManager.deployments.testIamPermissions(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 deploymentmanager.deployments.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Deployments$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Deployments$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Deployments$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + /** + * deploymentmanager.deployments.update + * @desc Updates a deployment and all of the resources described by the + * deployment manifest. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Deployment Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/deploymentmanager + * // 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 deploymentManager = google.deploymentmanager('v2'); + * + * authorize(function(authClient) { + * var request = { + * // The project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the deployment for this request. + * deployment: 'my-deployment', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * deploymentManager.deployments.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 deploymentmanager.deployments.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.createPolicy Sets the policy to use for creating new resources. + * @param {string=} params.deletePolicy Sets the policy to use for deleting resources. + * @param {string} params.deployment The name of the deployment for this request. + * @param {boolean=} params.preview If set to true, updates the deployment and creates and updates the "shell" resources but does not actually alter or instantiate these resources. This allows you to preview what your deployment will look like. You can use this intent to preview how an update would affect your deployment. You must provide a target.config with a configuration if this is set to true. After previewing a deployment, you can deploy your resources by making a request with the update() or you can cancelPreview() to remove the preview altogether. Note that the deployment will still exist after you cancel the preview and you must separately delete this deployment if you want to remove it. + * @param {string} params.project The project ID for this request. + * @param {().Deployment} 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?: Params$Resource$Deployments$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Deployments$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Deployments$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Deployments$Cancelpreview { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the deployment for this request. + */ + deployment?: string; + /** + * The project ID for this request. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DeploymentsCancelPreviewRequest; + } + interface Params$Resource$Deployments$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Sets the policy to use for deleting resources. + */ + deletePolicy?: string; + /** + * The name of the deployment for this request. + */ + deployment?: string; + /** + * The project ID for this request. + */ + project?: string; + } + interface Params$Resource$Deployments$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the deployment for this request. + */ + deployment?: string; + /** + * The project ID for this request. + */ + project?: string; + } + interface Params$Resource$Deployments$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + } + interface Params$Resource$Deployments$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Sets the policy to use for creating new resources. + */ + createPolicy?: string; + /** + * If set to true, creates a deployment and creates "shell" resources but + * does not actually instantiate these resources. This allows you to preview + * what your deployment looks like. After previewing a deployment, you can + * deploy your resources by making a request with the update() method or you + * can use the cancelPreview() method to cancel the preview altogether. Note + * that the deployment will still exist after you cancel the preview and you + * must separately delete this deployment if you want to remove it. + */ + preview?: boolean; + /** + * The project ID for this request. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Deployment; + } + interface Params$Resource$Deployments$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * The project ID for this request. + */ + project?: string; + } + interface Params$Resource$Deployments$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Sets the policy to use for creating new resources. + */ + createPolicy?: string; + /** + * Sets the policy to use for deleting resources. + */ + deletePolicy?: string; + /** + * The name of the deployment for this request. + */ + deployment?: string; + /** + * If set to true, updates the deployment and creates and updates the + * "shell" resources but does not actually alter or instantiate these + * resources. This allows you to preview what your deployment will look + * like. You can use this intent to preview how an update would affect your + * deployment. You must provide a target.config with a configuration if this + * is set to true. After previewing a deployment, you can deploy your + * resources by making a request with the update() or you can + * cancelPreview() to remove the preview altogether. Note that the + * deployment will still exist after you cancel the preview and you must + * separately delete this deployment if you want to remove it. + */ + preview?: boolean; + /** + * The project ID for this request. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Deployment; + } + interface Params$Resource$Deployments$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GlobalSetPolicyRequest; + } + interface Params$Resource$Deployments$Stop { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the deployment for this request. + */ + deployment?: string; + /** + * The project ID for this request. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DeploymentsStopRequest; + } + interface Params$Resource$Deployments$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + interface Params$Resource$Deployments$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Sets the policy to use for creating new resources. + */ + createPolicy?: string; + /** + * Sets the policy to use for deleting resources. + */ + deletePolicy?: string; + /** + * The name of the deployment for this request. + */ + deployment?: string; + /** + * If set to true, updates the deployment and creates and updates the + * "shell" resources but does not actually alter or instantiate these + * resources. This allows you to preview what your deployment will look + * like. You can use this intent to preview how an update would affect your + * deployment. You must provide a target.config with a configuration if this + * is set to true. After previewing a deployment, you can deploy your + * resources by making a request with the update() or you can + * cancelPreview() to remove the preview altogether. Note that the + * deployment will still exist after you cancel the preview and you must + * separately delete this deployment if you want to remove it. + */ + preview?: boolean; + /** + * The project ID for this request. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Deployment; + } + class Resource$Manifests { + root: Deploymentmanager; + constructor(root: Deploymentmanager); + getRoot(): Deploymentmanager; + /** + * deploymentmanager.manifests.get + * @desc Gets information about a specific manifest. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Deployment Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/deploymentmanager + * // 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 deploymentManager = google.deploymentmanager('v2'); + * + * authorize(function(authClient) { + * var request = { + * // The project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the deployment for this request. + * deployment: 'my-deployment', // TODO: Update placeholder value. + * + * // The name of the manifest for this request. + * manifest: 'my-manifest', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * deploymentManager.manifests.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 deploymentmanager.manifests.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.deployment The name of the deployment for this request. + * @param {string} params.manifest The name of the manifest for this request. + * @param {string} params.project The project ID for this request. + * @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?: Params$Resource$Manifests$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Manifests$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Manifests$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * deploymentmanager.manifests.list + * @desc Lists all manifests for a given deployment. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Deployment Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/deploymentmanager + * // 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 deploymentManager = google.deploymentmanager('v2'); + * + * authorize(function(authClient) { + * var request = { + * // The project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the deployment for this request. + * deployment: 'my-deployment', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var manifestsPage = response['manifests']; + * if (!manifestsPage) { + * return; + * } + * for (var i = 0; i < manifestsPage.length; i++) { + * // TODO: Change code below to process each resource in + * `manifestsPage`: console.log(JSON.stringify(manifestsPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * deploymentManager.manifests.list(request, handlePage); + * } + * }; + * + * deploymentManager.manifests.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 deploymentmanager.manifests.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.deployment The name of the deployment for this request. + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project The project ID for this request. + * @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?: Params$Resource$Manifests$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Manifests$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Manifests$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Manifests$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the deployment for this request. + */ + deployment?: string; + /** + * The name of the manifest for this request. + */ + manifest?: string; + /** + * The project ID for this request. + */ + project?: string; + } + interface Params$Resource$Manifests$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the deployment for this request. + */ + deployment?: string; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * The project ID for this request. + */ + project?: string; + } + class Resource$Operations { + root: Deploymentmanager; + constructor(root: Deploymentmanager); + getRoot(): Deploymentmanager; + /** + * deploymentmanager.operations.get + * @desc Gets information about a specific operation. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Deployment Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/deploymentmanager + * // 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 deploymentManager = google.deploymentmanager('v2'); + * + * authorize(function(authClient) { + * var request = { + * // The project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the operation for this request. + * operation: 'my-operation', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * deploymentManager.operations.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 deploymentmanager.operations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.operation The name of the operation for this request. + * @param {string} params.project The project ID for this request. + * @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?: Params$Resource$Operations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Operations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Operations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * deploymentmanager.operations.list + * @desc Lists all operations for a project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Deployment Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/deploymentmanager + * // 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 deploymentManager = google.deploymentmanager('v2'); + * + * authorize(function(authClient) { + * var request = { + * // The project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var operationsPage = response['operations']; + * if (!operationsPage) { + * return; + * } + * for (var i = 0; i < operationsPage.length; i++) { + * // TODO: Change code below to process each resource in + * `operationsPage`: console.log(JSON.stringify(operationsPage[i], null, + * 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * deploymentManager.operations.list(request, handlePage); + * } + * }; + * + * deploymentManager.operations.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 deploymentmanager.operations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project The project ID for this request. + * @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?: Params$Resource$Operations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Operations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Operations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Operations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation for this request. + */ + operation?: string; + /** + * The project ID for this request. + */ + project?: string; + } + interface Params$Resource$Operations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * The project ID for this request. + */ + project?: string; + } + class Resource$Resources { + root: Deploymentmanager; + constructor(root: Deploymentmanager); + getRoot(): Deploymentmanager; + /** + * deploymentmanager.resources.get + * @desc Gets information about a single resource. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Deployment Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/deploymentmanager + * // 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 deploymentManager = google.deploymentmanager('v2'); + * + * authorize(function(authClient) { + * var request = { + * // The project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the deployment for this request. + * deployment: 'my-deployment', // TODO: Update placeholder value. + * + * // The name of the resource for this request. + * resource_: 'my-resource', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * deploymentManager.resources.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 deploymentmanager.resources.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.deployment The name of the deployment for this request. + * @param {string} params.project The project ID for this request. + * @param {string} params.resource_ The name of the resource for this request. + * @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?: Params$Resource$Resources$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Resources$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Resources$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * deploymentmanager.resources.list + * @desc Lists all resources in a given deployment. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Deployment Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/deploymentmanager + * // 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 deploymentManager = google.deploymentmanager('v2'); + * + * authorize(function(authClient) { + * var request = { + * // The project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // The name of the deployment for this request. + * deployment: 'my-deployment', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var resourcesPage = response['resources']; + * if (!resourcesPage) { + * return; + * } + * for (var i = 0; i < resourcesPage.length; i++) { + * // TODO: Change code below to process each resource in + * `resourcesPage`: console.log(JSON.stringify(resourcesPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * deploymentManager.resources.list(request, handlePage); + * } + * }; + * + * deploymentManager.resources.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 deploymentmanager.resources.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.deployment The name of the deployment for this request. + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project The project ID for this request. + * @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?: Params$Resource$Resources$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Resources$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Resources$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Resources$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the deployment for this request. + */ + deployment?: string; + /** + * The project ID for this request. + */ + project?: string; + /** + * The name of the resource for this request. + */ + resource?: string; + } + interface Params$Resource$Resources$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the deployment for this request. + */ + deployment?: string; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * The project ID for this request. + */ + project?: string; + } + class Resource$Types { + root: Deploymentmanager; + constructor(root: Deploymentmanager); + getRoot(): Deploymentmanager; + /** + * deploymentmanager.types.list + * @desc Lists all resource types for Deployment Manager. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Deployment Manager API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/deploymentmanager + * // 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 deploymentManager = google.deploymentmanager('v2'); + * + * authorize(function(authClient) { + * var request = { + * // The project ID for this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var typesPage = response['types']; + * if (!typesPage) { + * return; + * } + * for (var i = 0; i < typesPage.length; i++) { + * // TODO: Change code below to process each resource in `typesPage`: + * console.log(JSON.stringify(typesPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * deploymentManager.types.list(request, handlePage); + * } + * }; + * + * deploymentManager.types.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 deploymentmanager.types.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project The project ID for this request. + * @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?: Params$Resource$Types$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Types$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Types$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Types$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * The project ID for this request. + */ + project?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/deploymentmanager/v2.js b/express-server/node_modules/googleapis/build/src/apis/deploymentmanager/v2.js new file mode 100644 index 00000000..ac677b81 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/deploymentmanager/v2.js @@ -0,0 +1,686 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var deploymentmanager_v2; +(function (deploymentmanager_v2) { + /** + * Google Cloud Deployment Manager API + * + * Declares, configures, and deploys complex solutions on Google Cloud + * Platform. + * + * @example + * const {google} = require('googleapis'); + * const deploymentmanager = google.deploymentmanager('v2'); + * + * @namespace deploymentmanager + * @type {Function} + * @version v2 + * @variation v2 + * @param {object=} options Options for Deploymentmanager + */ + class Deploymentmanager { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.deployments = new Resource$Deployments(this); + this.manifests = new Resource$Manifests(this); + this.operations = new Resource$Operations(this); + this.resources = new Resource$Resources(this); + this.types = new Resource$Types(this); + } + getRoot() { + return this.root; + } + } + deploymentmanager_v2.Deploymentmanager = Deploymentmanager; + class Resource$Deployments { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + cancelPreview(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/v2/projects/{project}/global/deployments/{deployment}/cancelPreview') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'deployment'], + pathParams: ['deployment', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/v2/projects/{project}/global/deployments/{deployment}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'deployment'], + pathParams: ['deployment', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/v2/projects/{project}/global/deployments/{deployment}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'deployment'], + pathParams: ['deployment', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/v2/projects/{project}/global/deployments/{resource}/getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/v2/projects/{project}/global/deployments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/v2/projects/{project}/global/deployments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/v2/projects/{project}/global/deployments/{deployment}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'deployment'], + pathParams: ['deployment', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/v2/projects/{project}/global/deployments/{resource}/setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + stop(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/v2/projects/{project}/global/deployments/{deployment}/stop') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'deployment'], + pathParams: ['deployment', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/v2/projects/{project}/global/deployments/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/v2/projects/{project}/global/deployments/{deployment}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['project', 'deployment'], + pathParams: ['deployment', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + deploymentmanager_v2.Resource$Deployments = Resource$Deployments; + class Resource$Manifests { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/v2/projects/{project}/global/deployments/{deployment}/manifests/{manifest}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'deployment', 'manifest'], + pathParams: ['deployment', 'manifest', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/v2/projects/{project}/global/deployments/{deployment}/manifests') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'deployment'], + pathParams: ['deployment', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + deploymentmanager_v2.Resource$Manifests = Resource$Manifests; + class Resource$Operations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/v2/projects/{project}/global/operations/{operation}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'operation'], + pathParams: ['operation', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/v2/projects/{project}/global/operations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + deploymentmanager_v2.Resource$Operations = Resource$Operations; + class Resource$Resources { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/v2/projects/{project}/global/deployments/{deployment}/resources/{resource}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'deployment', 'resource'], + pathParams: ['deployment', 'project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/v2/projects/{project}/global/deployments/{deployment}/resources') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'deployment'], + pathParams: ['deployment', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + deploymentmanager_v2.Resource$Resources = Resource$Resources; + class Resource$Types { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/v2/projects/{project}/global/types') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + deploymentmanager_v2.Resource$Types = Resource$Types; +})(deploymentmanager_v2 = exports.deploymentmanager_v2 || (exports.deploymentmanager_v2 = {})); +//# sourceMappingURL=v2.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/deploymentmanager/v2.js.map b/express-server/node_modules/googleapis/build/src/apis/deploymentmanager/v2.js.map new file mode 100644 index 00000000..3c4d7f59 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/deploymentmanager/v2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v2.js","sourceRoot":"","sources":["../../../../src/apis/deploymentmanager/v2.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/deploymentmanager/v2beta.d.ts b/express-server/node_modules/googleapis/build/src/apis/deploymentmanager/v2beta.d.ts new file mode 100644 index 00000000..ab4178e7 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/deploymentmanager/v2beta.d.ts @@ -0,0 +1,2886 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace deploymentmanager_v2beta { + interface Options extends GlobalOptions { + version: 'v2beta'; + } + /** + * Google Cloud Deployment Manager API V2Beta Methods + * + * The Deployment Manager API allows users to declaratively configure, deploy + * and run complex solutions on the Google Cloud Platform. + * + * @example + * const {google} = require('googleapis'); + * const deploymentmanager = google.deploymentmanager('v2beta'); + * + * @namespace deploymentmanager + * @type {Function} + * @version v2beta + * @variation v2beta + * @param {object=} options Options for Deploymentmanager + */ + class Deploymentmanager { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + compositeTypes: Resource$Compositetypes; + deployments: Resource$Deployments; + manifests: Resource$Manifests; + operations: Resource$Operations; + resources: Resource$Resources; + typeProviders: Resource$Typeproviders; + types: Resource$Types; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Async options that determine when a resource should finish. + */ + interface Schema$AsyncOptions { + /** + * Method regex where this policy will apply. + */ + methodMatch?: string; + /** + * Deployment manager will poll instances for this API resource setting a + * RUNNING state, and blocking until polling conditions tell whether the + * resource is completed or failed. + */ + pollingOptions?: Schema$PollingOptions; + } + /** + * Specifies the audit configuration for a service. The configuration + * determines which permission types are logged, and what identities, if any, + * are exempted from logging. An AuditConfig must have one or more + * AuditLogConfigs. If there are AuditConfigs for both `allServices` and a + * specific service, the union of the two AuditConfigs is used for that + * service: the log_types specified in each AuditConfig are enabled, and the + * exempted_members in each AuditLogConfig are exempted. Example Policy with + * multiple AuditConfigs: { "audit_configs": [ { + * "service": "allServices" "audit_log_configs": + * [ { "log_type": "DATA_READ", + * "exempted_members": [ "user:foo@gmail.com" ] }, { + * "log_type": "DATA_WRITE", }, { "log_type": + * "ADMIN_READ", } ] }, { "service": + * "fooservice.googleapis.com" "audit_log_configs": [ { + * "log_type": "DATA_READ", }, { "log_type": + * "DATA_WRITE", "exempted_members": [ + * "user:bar@gmail.com" ] } ] } ] } For fooservice, this policy + * enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts + * foo@gmail.com from DATA_READ logging, and bar@gmail.com from DATA_WRITE + * logging. + */ + interface Schema$AuditConfig { + /** + * The configuration for logging of each type of permission. + */ + auditLogConfigs?: Schema$AuditLogConfig[]; + exemptedMembers?: string[]; + /** + * Specifies a service that will be enabled for audit logging. For example, + * `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a + * special value that covers all services. + */ + service?: string; + } + /** + * Provides the configuration for logging a type of permissions. Example: { + * "audit_log_configs": [ { "log_type": + * "DATA_READ", "exempted_members": [ + * "user:foo@gmail.com" ] }, { "log_type": + * "DATA_WRITE", } ] } This enables 'DATA_READ' and + * 'DATA_WRITE' logging, while exempting foo@gmail.com from DATA_READ + * logging. + */ + interface Schema$AuditLogConfig { + /** + * Specifies the identities that do not cause logging for this type of + * permission. Follows the same format of [Binding.members][]. + */ + exemptedMembers?: string[]; + /** + * The log type that this config enables. + */ + logType?: string; + } + /** + * Authorization-related information used by Cloud Audit Logging. + */ + interface Schema$AuthorizationLoggingOptions { + /** + * The type of the permission that was checked. + */ + permissionType?: string; + } + /** + * BaseType that describes a service-backed Type. + */ + interface Schema$BaseType { + /** + * Allows resource handling overrides for specific collections + */ + collectionOverrides?: Schema$CollectionOverride[]; + /** + * Credential used when interacting with this type. + */ + credential?: Schema$Credential; + /** + * Descriptor Url for the this type. + */ + descriptorUrl?: string; + /** + * Options to apply when handling any resources in this service. + */ + options?: Schema$Options; + } + /** + * Basic Auth used as a credential. + */ + interface Schema$BasicAuth { + password?: string; + user?: string; + } + /** + * Associates `members` with a `role`. + */ + interface Schema$Binding { + /** + * The condition that is associated with this binding. NOTE: an unsatisfied + * condition will not allow user access via current binding. Different + * bindings, including their conditions, are examined independently. This + * field is only visible as GOOGLE_INTERNAL or CONDITION_TRUSTED_TESTER. + */ + condition?: Schema$Expr; + /** + * Specifies the identities requesting access for a Cloud Platform resource. + * `members` can have the following values: * `allUsers`: A special + * identifier that represents anyone who is on the internet; with or without + * a Google account. * `allAuthenticatedUsers`: A special identifier that + * represents anyone who is authenticated with a Google account or a service + * account. * `user:{emailid}`: An email address that represents a specific + * Google account. For example, `alice@gmail.com` . * + * `serviceAccount:{emailid}`: An email address that represents a service + * account. For example, `my-other-app@appspot.gserviceaccount.com`. * + * `group:{emailid}`: An email address that represents a Google group. For + * example, `admins@example.com`. * `domain:{domain}`: A Google Apps + * domain name that represents all the users of that domain. For example, + * `google.com` or `example.com`. + */ + members?: string[]; + /** + * Role that is assigned to `members`. For example, `roles/viewer`, + * `roles/editor`, or `roles/owner`. + */ + role?: string; + } + /** + * CollectionOverride allows resource handling overrides for specific + * resources within a BaseType + */ + interface Schema$CollectionOverride { + /** + * The collection that identifies this resource within its service. + */ + collection?: string; + /** + * The options to apply to this resource-level override + */ + options?: Schema$Options; + } + /** + * Holds the composite type. + */ + interface Schema$CompositeType { + /** + * An optional textual description of the resource; provided by the client + * when the resource is created. + */ + description?: string; + /** + * Output only. Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * Output only. Timestamp when the composite type was created, in RFC3339 + * text format. + */ + insertTime?: string; + /** + * Map of labels; provided by the client when the resource is created or + * updated. Specifically: Label keys must be between 1 and 63 characters + * long and must conform to the following regular expression: + * [a-z]([-a-z0-9]*[a-z0-9])? Label values must be between 0 and 63 + * characters long and must conform to the regular expression + * ([a-z]([-a-z0-9]*[a-z0-9])?)? + */ + labels?: Schema$CompositeTypeLabelEntry[]; + /** + * Name of the composite type, must follow the expression: + * [a-z]([-a-z0-9_.]{0,61}[a-z0-9])?. + */ + name?: string; + /** + * Output only. The Operation that most recently ran, or is currently + * running, on this composite type. + */ + operation?: Schema$Operation; + /** + * Output only. Self link for the type provider. + */ + selfLink?: string; + status?: string; + /** + * Files for the template type. + */ + templateContents?: Schema$TemplateContents; + } + interface Schema$CompositeTypeLabelEntry { + key?: string; + value?: string; + } + /** + * A response that returns all Composite Types supported by Deployment Manager + */ + interface Schema$CompositeTypesListResponse { + /** + * Output only. A list of resource composite types supported by Deployment + * Manager. + */ + compositeTypes?: Schema$CompositeType[]; + /** + * A token used to continue a truncated list request. + */ + nextPageToken?: string; + } + /** + * A condition to be met. + */ + interface Schema$Condition { + /** + * Trusted attributes supplied by the IAM system. + */ + iam?: string; + /** + * An operator to apply the subject with. + */ + op?: string; + /** + * Trusted attributes discharged by the service. + */ + svc?: string; + /** + * Trusted attributes supplied by any service that owns resources and uses + * the IAM system for access control. + */ + sys?: string; + /** + * DEPRECATED. Use 'values' instead. + */ + value?: string; + /** + * The objects of the condition. This is mutually exclusive with + * 'value'. + */ + values?: string[]; + } + interface Schema$ConfigFile { + /** + * The contents of the file. + */ + content?: string; + } + /** + * The credential used by Deployment Manager and TypeProvider. Only one of the + * options is permitted. + */ + interface Schema$Credential { + /** + * Basic Auth Credential, only used by TypeProvider. + */ + basicAuth?: Schema$BasicAuth; + /** + * Service Account Credential, only used by Deployment. + */ + serviceAccount?: Schema$ServiceAccount; + /** + * Specify to use the project default credential, only supported by + * Deployment. + */ + useProjectDefault?: boolean; + } + interface Schema$Deployment { + /** + * An optional user-provided description of the deployment. + */ + description?: string; + /** + * Provides a fingerprint to use in requests to modify a deployment, such as + * update(), stop(), and cancelPreview() requests. A fingerprint is a + * randomly generated value that must be provided with update(), stop(), and + * cancelPreview() requests to perform optimistic locking. This ensures + * optimistic concurrency so that only one request happens at a time. The + * fingerprint is initially generated by Deployment Manager and changes + * after every request to modify data. To get the latest fingerprint value, + * perform a get() request to a deployment. + */ + fingerprint?: string; + /** + * Output only. Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * Output only. Timestamp when the deployment was created, in RFC3339 text + * format . + */ + insertTime?: string; + /** + * Map of labels; provided by the client when the resource is created or + * updated. Specifically: Label keys must be between 1 and 63 characters + * long and must conform to the following regular expression: + * [a-z]([-a-z0-9]*[a-z0-9])? Label values must be between 0 and 63 + * characters long and must conform to the regular expression + * ([a-z]([-a-z0-9]*[a-z0-9])?)? + */ + labels?: Schema$DeploymentLabelEntry[]; + /** + * Output only. URL of the manifest representing the last manifest that was + * successfully deployed. + */ + manifest?: string; + /** + * Name of the resource; provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * Output only. The Operation that most recently ran, or is currently + * running, on this deployment. + */ + operation?: Schema$Operation; + /** + * Output only. Self link for the deployment. + */ + selfLink?: string; + /** + * [Input Only] The parameters that define your deployment, including the + * deployment configuration and relevant templates. + */ + target?: Schema$TargetConfiguration; + /** + * Output only. If Deployment Manager is currently updating or previewing an + * update to this deployment, the updated configuration appears here. + */ + update?: Schema$DeploymentUpdate; + } + interface Schema$DeploymentLabelEntry { + key?: string; + value?: string; + } + interface Schema$DeploymentsCancelPreviewRequest { + /** + * Specifies a fingerprint for cancelPreview() requests. A fingerprint is a + * randomly generated value that must be provided in cancelPreview() + * requests to perform optimistic locking. This ensures optimistic + * concurrency so that the deployment does not have conflicting requests + * (e.g. if someone attempts to make a new update request while another user + * attempts to cancel a preview, this would prevent one of the requests). + * The fingerprint is initially generated by Deployment Manager and changes + * after every request to modify a deployment. To get the latest fingerprint + * value, perform a get() request on the deployment. + */ + fingerprint?: string; + } + /** + * A response containing a partial list of deployments and a page token used + * to build the next request if the request has been truncated. + */ + interface Schema$DeploymentsListResponse { + /** + * Output only. The deployments contained in this response. + */ + deployments?: Schema$Deployment[]; + /** + * Output only. A token used to continue a truncated list request. + */ + nextPageToken?: string; + } + interface Schema$DeploymentsStopRequest { + /** + * Specifies a fingerprint for stop() requests. A fingerprint is a randomly + * generated value that must be provided in stop() requests to perform + * optimistic locking. This ensures optimistic concurrency so that the + * deployment does not have conflicting requests (e.g. if someone attempts + * to make a new update request while another user attempts to stop an + * ongoing update request, this would prevent a collision). The fingerprint + * is initially generated by Deployment Manager and changes after every + * request to modify a deployment. To get the latest fingerprint value, + * perform a get() request on the deployment. + */ + fingerprint?: string; + } + interface Schema$DeploymentUpdate { + /** + * Output only. An optional user-provided description of the deployment + * after the current update has been applied. + */ + description?: string; + /** + * Output only. Map of labels; provided by the client when the resource is + * created or updated. Specifically: Label keys must be between 1 and 63 + * characters long and must conform to the following regular expression: + * [a-z]([-a-z0-9]*[a-z0-9])? Label values must be between 0 and 63 + * characters long and must conform to the regular expression + * ([a-z]([-a-z0-9]*[a-z0-9])?)? + */ + labels?: Schema$DeploymentUpdateLabelEntry[]; + /** + * Output only. URL of the manifest representing the update configuration of + * this deployment. + */ + manifest?: string; + } + interface Schema$DeploymentUpdateLabelEntry { + key?: string; + value?: string; + } + interface Schema$Diagnostic { + /** + * JsonPath expression on the resource that if non empty, indicates that + * this field needs to be extracted as a diagnostic. + */ + field?: string; + /** + * Level to record this diagnostic. + */ + level?: string; + } + /** + * Represents an expression text. Example: title: "User account + * presence" description: "Determines whether the request has a user + * account" expression: "size(request.user) > 0" + */ + interface Schema$Expr { + /** + * An optional description of the expression. This is a longer text which + * describes the expression, e.g. when hovered over it in a UI. + */ + description?: string; + /** + * Textual representation of an expression in Common Expression Language + * syntax. The application context of the containing message determines + * which well-known feature set of CEL is supported. + */ + expression?: string; + /** + * An optional string indicating the location of the expression for error + * reporting, e.g. a file name and a position in the file. + */ + location?: string; + /** + * An optional title for the expression, i.e. a short string describing its + * purpose. This can be used e.g. in UIs which allow to enter the + * expression. + */ + title?: string; + } + interface Schema$GlobalSetPolicyRequest { + /** + * Flatten Policy to create a backwacd compatible wire-format. Deprecated. + * Use 'policy' to specify bindings. + */ + bindings?: Schema$Binding[]; + /** + * Flatten Policy to create a backward compatible wire-format. Deprecated. + * Use 'policy' to specify the etag. + */ + etag?: string; + /** + * REQUIRED: The complete policy to be applied to the 'resource'. + * The size of the policy is limited to a few 10s of KB. An empty policy is + * in general a valid policy but certain services (like Projects) might + * reject them. + */ + policy?: Schema$Policy; + } + interface Schema$ImportFile { + /** + * The contents of the file. + */ + content?: string; + /** + * The name of the file. + */ + name?: string; + } + /** + * InputMapping creates a 'virtual' property that will be injected + * into the properties before sending the request to the underlying API. + */ + interface Schema$InputMapping { + /** + * The name of the field that is going to be injected. + */ + fieldName?: string; + /** + * The location where this mapping applies. + */ + location?: string; + /** + * Regex to evaluate on method to decide if input applies. + */ + methodMatch?: string; + /** + * A jsonPath expression to select an element. + */ + value?: string; + } + /** + * Specifies what kind of log the caller must write + */ + interface Schema$LogConfig { + /** + * Cloud audit options. + */ + cloudAudit?: Schema$LogConfigCloudAuditOptions; + /** + * Counter options. + */ + counter?: Schema$LogConfigCounterOptions; + /** + * Data access options. + */ + dataAccess?: Schema$LogConfigDataAccessOptions; + } + /** + * Write a Cloud Audit log + */ + interface Schema$LogConfigCloudAuditOptions { + /** + * Information used by the Cloud Audit Logging pipeline. + */ + authorizationLoggingOptions?: Schema$AuthorizationLoggingOptions; + /** + * The log_name to populate in the Cloud Audit Record. + */ + logName?: string; + } + /** + * Increment a streamz counter with the specified metric and field names. + * Metric names should start with a '/', generally be lowercase-only, + * and end in "_count". Field names should not contain an initial + * slash. The actual exported metric names will have "/iam/policy" + * prepended. Field names correspond to IAM request parameters and field + * values are their respective values. At present the only supported field + * names are - "iam_principal", corresponding to + * IAMContext.principal; - "" (empty string), resulting in one + * aggretated counter with no field. Examples: counter { metric: + * "/debug_access_count" field: "iam_principal" } ==> + * increment counter /iam/policy/backend_debug_access_count + * {iam_principal=[value of IAMContext.principal]} At this time we do not + * support: * multiple field names (though this may be supported in the + * future) * decrementing the counter * incrementing it by anything other than + * 1 + */ + interface Schema$LogConfigCounterOptions { + /** + * The field value to attribute. + */ + field?: string; + /** + * The metric to update. + */ + metric?: string; + } + /** + * Write a Data Access (Gin) log + */ + interface Schema$LogConfigDataAccessOptions { + /** + * Whether Gin logging should happen in a fail-closed manner at the caller. + * This is relevant only in the LocalIAM implementation, for now. + */ + logMode?: string; + } + interface Schema$Manifest { + /** + * Output only. The YAML configuration for this manifest. + */ + config?: Schema$ConfigFile; + /** + * Output only. The fully-expanded configuration file, including any + * templates and references. + */ + expandedConfig?: string; + /** + * Output only. Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * Output only. The imported files for this manifest. + */ + imports?: Schema$ImportFile[]; + /** + * Output only. Timestamp when the manifest was created, in RFC3339 text + * format. + */ + insertTime?: string; + /** + * Output only. The YAML layout for this manifest. + */ + layout?: string; + /** + * Output only. The name of the manifest. + */ + name?: string; + /** + * Output only. Self link for the manifest. + */ + selfLink?: string; + } + /** + * A response containing a partial list of manifests and a page token used to + * build the next request if the request has been truncated. + */ + interface Schema$ManifestsListResponse { + /** + * Output only. Manifests contained in this list response. + */ + manifests?: Schema$Manifest[]; + /** + * Output only. A token used to continue a truncated list request. + */ + nextPageToken?: string; + } + /** + * An Operation resource, used to manage asynchronous API requests. (== + * resource_for v1.globalOperations ==) (== resource_for beta.globalOperations + * ==) (== resource_for v1.regionOperations ==) (== resource_for + * beta.regionOperations ==) (== resource_for v1.zoneOperations ==) (== + * resource_for beta.zoneOperations ==) + */ + interface Schema$Operation { + /** + * [Output Only] The value of `requestId` if you provided it in the request. + * Not present otherwise. + */ + clientOperationId?: string; + /** + * [Deprecated] This field is deprecated. + */ + creationTimestamp?: string; + /** + * [Output Only] A textual description of the operation, which is set when + * the operation is created. + */ + description?: string; + /** + * [Output Only] The time that this operation was completed. This value is + * in RFC3339 text format. + */ + endTime?: string; + /** + * [Output Only] If errors are generated during processing of the operation, + * this field will be populated. + */ + error?: any; + /** + * [Output Only] If the operation fails, this field contains the HTTP error + * message that was returned, such as NOT FOUND. + */ + httpErrorMessage?: string; + /** + * [Output Only] If the operation fails, this field contains the HTTP error + * status code that was returned. For example, a 404 means the resource was + * not found. + */ + httpErrorStatusCode?: number; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] The time that this operation was requested. This value is + * in RFC3339 text format. + */ + insertTime?: string; + /** + * [Output Only] Type of the resource. Always compute#operation for + * Operation resources. + */ + kind?: string; + /** + * [Output Only] Name of the resource. + */ + name?: string; + /** + * [Output Only] The type of operation, such as insert, update, or delete, + * and so on. + */ + operationType?: string; + /** + * [Output Only] An optional progress indicator that ranges from 0 to 100. + * There is no requirement that this be linear or support any granularity of + * operations. This should not be used to guess when the operation will be + * complete. This number should monotonically increase as the operation + * progresses. + */ + progress?: number; + /** + * [Output Only] The URL of the region where the operation resides. Only + * available when performing regional operations. You must specify this + * field as part of the HTTP request URL. It is not settable as a field in + * the request body. + */ + region?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] The time that this operation was started by the server. + * This value is in RFC3339 text format. + */ + startTime?: string; + /** + * [Output Only] The status of the operation, which can be one of the + * following: PENDING, RUNNING, or DONE. + */ + status?: string; + /** + * [Output Only] An optional textual description of the current status of + * the operation. + */ + statusMessage?: string; + /** + * [Output Only] The unique target ID, which identifies a specific + * incarnation of the target resource. + */ + targetId?: string; + /** + * [Output Only] The URL of the resource that the operation modifies. For + * operations related to creating a snapshot, this points to the persistent + * disk that the snapshot was created from. + */ + targetLink?: string; + /** + * [Output Only] User who requested the operation, for example: + * user@example.com. + */ + user?: string; + /** + * [Output Only] If warning messages are generated during processing of the + * operation, this field will be populated. + */ + warnings?: any[]; + /** + * [Output Only] The URL of the zone where the operation resides. Only + * available when performing per-zone operations. You must specify this + * field as part of the HTTP request URL. It is not settable as a field in + * the request body. + */ + zone?: string; + } + /** + * A response containing a partial list of operations and a page token used to + * build the next request if the request has been truncated. + */ + interface Schema$OperationsListResponse { + /** + * Output only. A token used to continue a truncated list request. + */ + nextPageToken?: string; + /** + * Output only. Operations contained in this list response. + */ + operations?: Schema$Operation[]; + } + /** + * Options allows customized resource handling by Deployment Manager. + */ + interface Schema$Options { + /** + * Options regarding how to thread async requests. + */ + asyncOptions?: Schema$AsyncOptions[]; + /** + * The mappings that apply for requests. + */ + inputMappings?: Schema$InputMapping[]; + /** + * Options for how to validate and process properties on a resource. + */ + validationOptions?: Schema$ValidationOptions; + /** + * Additional properties block described as a jsonSchema, these properties + * will never be part of the json payload, but they can be consumed by + * InputMappings, this must be a valid json schema draft-04. The properties + * specified here will be decouple in a different section. This schema will + * be merged to the schema validation, and properties here will be extracted + * From the payload and consumed explicitly by InputMappings. ex: field1: + * type: string field2: type: number + */ + virtualProperties?: string; + } + /** + * Defines an Identity and Access Management (IAM) policy. It is used to + * specify access control policies for Cloud Platform resources. A `Policy` + * consists of a list of `bindings`. A `binding` binds a list of `members` to + * a `role`, where the members can be user accounts, Google groups, Google + * domains, and service accounts. A `role` is a named list of permissions + * defined by IAM. **JSON Example** { "bindings": [ { + * "role": "roles/owner", "members": [ + * "user:mike@example.com", "group:admins@example.com", + * "domain:google.com", + * "serviceAccount:my-other-app@appspot.gserviceaccount.com" ] }, { + * "role": "roles/viewer", "members": + * ["user:sean@example.com"] } ] } **YAML Example** bindings: - + * members: - user:mike@example.com - group:admins@example.com - + * domain:google.com - serviceAccount:my-other-app@appspot.gserviceaccount.com + * role: roles/owner - members: - user:sean@example.com role: roles/viewer For + * a description of IAM and its features, see the [IAM developer's + * guide](https://cloud.google.com/iam/docs). + */ + interface Schema$Policy { + /** + * Specifies cloud audit logging configuration for this policy. + */ + auditConfigs?: Schema$AuditConfig[]; + /** + * Associates a list of `members` to a `role`. `bindings` with no members + * will result in an error. + */ + bindings?: Schema$Binding[]; + /** + * `etag` is used for optimistic concurrency control as a way to help + * prevent simultaneous updates of a policy from overwriting each other. It + * is strongly suggested that systems make use of the `etag` in the + * read-modify-write cycle to perform policy updates in order to avoid race + * conditions: An `etag` is returned in the response to `getIamPolicy`, and + * systems are expected to put that etag in the request to `setIamPolicy` to + * ensure that their change will be applied to the same version of the + * policy. If no `etag` is provided in the call to `setIamPolicy`, then the + * existing policy is overwritten blindly. + */ + etag?: string; + iamOwned?: boolean; + /** + * If more than one rule is specified, the rules are applied in the + * following manner: - All matching LOG rules are always applied. - If any + * DENY/DENY_WITH_LOG rule matches, permission is denied. Logging will be + * applied if one or more matching rule requires logging. - Otherwise, if + * any ALLOW/ALLOW_WITH_LOG rule matches, permission is granted. Logging + * will be applied if one or more matching rule requires logging. - + * Otherwise, if no rule applies, permission is denied. + */ + rules?: Schema$Rule[]; + /** + * Deprecated. + */ + version?: number; + } + interface Schema$PollingOptions { + /** + * An array of diagnostics to be collected by Deployment Manager, these + * diagnostics will be displayed to the user. + */ + diagnostics?: Schema$Diagnostic[]; + /** + * JsonPath expression that determines if the request failed. + */ + failCondition?: string; + /** + * JsonPath expression that determines if the request is completed. + */ + finishCondition?: string; + /** + * JsonPath expression that evaluates to string, it indicates where to poll. + */ + pollingLink?: string; + /** + * JsonPath expression, after polling is completed, indicates where to fetch + * the resource. + */ + targetLink?: string; + } + interface Schema$Resource { + /** + * The Access Control Policy set on this resource. + */ + accessControl?: Schema$ResourceAccessControl; + /** + * Output only. The evaluated properties of the resource with references + * expanded. Returned as serialized YAML. + */ + finalProperties?: string; + /** + * Output only. Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * Output only. Timestamp when the resource was created or acquired, in + * RFC3339 text format . + */ + insertTime?: string; + /** + * Output only. URL of the manifest representing the current configuration + * of this resource. + */ + manifest?: string; + /** + * Output only. The name of the resource as it appears in the YAML config. + */ + name?: string; + /** + * Output only. The current properties of the resource before any references + * have been filled in. Returned as serialized YAML. + */ + properties?: string; + /** + * Output only. The type of the resource, for example compute.v1.instance, + * or cloudfunctions.v1beta1.function. + */ + type?: string; + /** + * Output only. If Deployment Manager is currently updating or previewing an + * update to this resource, the updated configuration appears here. + */ + update?: Schema$ResourceUpdate; + /** + * Output only. Timestamp when the resource was updated, in RFC3339 text + * format . + */ + updateTime?: string; + /** + * Output only. The URL of the actual resource. + */ + url?: string; + /** + * Output only. If warning messages are generated during processing of this + * resource, this field will be populated. + */ + warnings?: any[]; + } + /** + * The access controls set on the resource. + */ + interface Schema$ResourceAccessControl { + /** + * The GCP IAM Policy to set on the resource. + */ + gcpIamPolicy?: string; + } + /** + * A response containing a partial list of resources and a page token used to + * build the next request if the request has been truncated. + */ + interface Schema$ResourcesListResponse { + /** + * A token used to continue a truncated list request. + */ + nextPageToken?: string; + /** + * Resources contained in this list response. + */ + resources?: Schema$Resource[]; + } + interface Schema$ResourceUpdate { + /** + * The Access Control Policy to set on this resource after updating the + * resource itself. + */ + accessControl?: Schema$ResourceAccessControl; + /** + * Output only. If errors are generated during update of the resource, this + * field will be populated. + */ + error?: any; + /** + * Output only. The expanded properties of the resource with reference + * values expanded. Returned as serialized YAML. + */ + finalProperties?: string; + /** + * Output only. The intent of the resource: PREVIEW, UPDATE, or CANCEL. + */ + intent?: string; + /** + * Output only. URL of the manifest representing the update configuration of + * this resource. + */ + manifest?: string; + /** + * Output only. The set of updated properties for this resource, before + * references are expanded. Returned as serialized YAML. + */ + properties?: string; + /** + * Output only. The state of the resource. + */ + state?: string; + /** + * Output only. If warning messages are generated during processing of this + * resource, this field will be populated. + */ + warnings?: any[]; + } + /** + * A rule to be applied in a Policy. + */ + interface Schema$Rule { + /** + * Required + */ + action?: string; + /** + * Additional restrictions that must be met. All conditions must pass for + * the rule to match. + */ + conditions?: Schema$Condition[]; + /** + * Human-readable description of the rule. + */ + description?: string; + /** + * If one or more 'in' clauses are specified, the rule matches if + * the PRINCIPAL/AUTHORITY_SELECTOR is in at least one of these entries. + */ + ins?: string[]; + /** + * The config returned to callers of tech.iam.IAM.CheckPolicy for any + * entries that match the LOG action. + */ + logConfigs?: Schema$LogConfig[]; + /** + * If one or more 'not_in' clauses are specified, the rule matches + * if the PRINCIPAL/AUTHORITY_SELECTOR is in none of the entries. + */ + notIns?: string[]; + /** + * A permission is a string of form '..' (e.g., + * 'storage.buckets.list'). A value of '*' matches all + * permissions, and a verb part of '*' (e.g., + * 'storage.buckets.*') matches all verbs. + */ + permissions?: string[]; + } + /** + * Service Account used as a credential. + */ + interface Schema$ServiceAccount { + /** + * The IAM service account email address like + * test@myproject.iam.gserviceaccount.com + */ + email?: string; + } + interface Schema$TargetConfiguration { + /** + * The configuration to use for this deployment. + */ + config?: Schema$ConfigFile; + /** + * Specifies any files to import for this configuration. This can be used to + * import templates or other files. For example, you might import a text + * file in order to use the file in a template. + */ + imports?: Schema$ImportFile[]; + } + /** + * Files that make up the template contents of a template type. + */ + interface Schema$TemplateContents { + /** + * Import files referenced by the main template. + */ + imports?: Schema$ImportFile[]; + /** + * Which interpreter (python or jinja) should be used during expansion. + */ + interpreter?: string; + /** + * The filename of the mainTemplate + */ + mainTemplate?: string; + /** + * The contents of the template schema. + */ + schema?: string; + /** + * The contents of the main template file. + */ + template?: string; + } + interface Schema$TestPermissionsRequest { + /** + * The set of permissions to check for the 'resource'. Permissions + * with wildcards (such as '*' or 'storage.*') are not + * allowed. + */ + permissions?: string[]; + } + interface Schema$TestPermissionsResponse { + /** + * A subset of `TestPermissionsRequest.permissions` that the caller is + * allowed. + */ + permissions?: string[]; + } + /** + * A resource type supported by Deployment Manager. + */ + interface Schema$Type { + /** + * Base Type (configurable service) that backs this Type. + */ + base?: Schema$BaseType; + /** + * An optional textual description of the resource; provided by the client + * when the resource is created. + */ + description?: string; + /** + * Output only. Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * Output only. Timestamp when the type was created, in RFC3339 text format. + */ + insertTime?: string; + /** + * Map of labels; provided by the client when the resource is created or + * updated. Specifically: Label keys must be between 1 and 63 characters + * long and must conform to the following regular expression: + * [a-z]([-a-z0-9]*[a-z0-9])? Label values must be between 0 and 63 + * characters long and must conform to the regular expression + * ([a-z]([-a-z0-9]*[a-z0-9])?)? + */ + labels?: Schema$TypeLabelEntry[]; + /** + * Name of the type. + */ + name?: string; + /** + * Output only. The Operation that most recently ran, or is currently + * running, on this type. + */ + operation?: Schema$Operation; + /** + * Output only. Self link for the type. + */ + selfLink?: string; + } + /** + * Contains detailed information about a composite type, base type, or base + * type with specific collection. + */ + interface Schema$TypeInfo { + /** + * The description of the type. + */ + description?: string; + /** + * For swagger 2.0 externalDocs field will be used. For swagger 1.2 this + * field will be empty. + */ + documentationLink?: string; + /** + * Output only. Type of the output. Always deploymentManager#TypeInfo for + * TypeInfo. + */ + kind?: string; + /** + * The base type or composite type name. + */ + name?: string; + /** + * For base types with a collection, we return a schema and documentation + * link For template types, we return only a schema + */ + schema?: Schema$TypeInfoSchemaInfo; + /** + * Output only. Server-defined URL for the resource. + */ + selfLink?: string; + /** + * The title on the API descriptor URL provided. + */ + title?: string; + } + interface Schema$TypeInfoSchemaInfo { + /** + * The properties that this composite type or base type collection accept as + * input, represented as a json blob, format is: JSON Schema Draft V4 + */ + input?: string; + /** + * The properties that this composite type or base type collection exposes + * as output, these properties can be used for references, represented as + * json blob, format is: JSON Schema Draft V4 + */ + output?: string; + } + interface Schema$TypeLabelEntry { + key?: string; + value?: string; + } + /** + * A type provider that describes a service-backed Type. + */ + interface Schema$TypeProvider { + /** + * Allows resource handling overrides for specific collections + */ + collectionOverrides?: Schema$CollectionOverride[]; + /** + * Credential used when interacting with this type. + */ + credential?: Schema$Credential; + /** + * An optional textual description of the resource; provided by the client + * when the resource is created. + */ + description?: string; + /** + * Descriptor Url for the this type provider. + */ + descriptorUrl?: string; + /** + * Output only. Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * Output only. Timestamp when the type provider was created, in RFC3339 + * text format. + */ + insertTime?: string; + /** + * Map of labels; provided by the client when the resource is created or + * updated. Specifically: Label keys must be between 1 and 63 characters + * long and must conform to the following regular expression: + * [a-z]([-a-z0-9]*[a-z0-9])? Label values must be between 0 and 63 + * characters long and must conform to the regular expression + * ([a-z]([-a-z0-9]*[a-z0-9])?)? + */ + labels?: Schema$TypeProviderLabelEntry[]; + /** + * Name of the resource; provided by the client when the resource is + * created. The name must be 1-63 characters long, and comply with RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character + * must be a lowercase letter, and all following characters must be a dash, + * lowercase letter, or digit, except the last character, which cannot be a + * dash. + */ + name?: string; + /** + * Output only. The Operation that most recently ran, or is currently + * running, on this type provider. + */ + operation?: Schema$Operation; + /** + * Options to apply when handling any resources in this service. + */ + options?: Schema$Options; + /** + * Output only. Self link for the type provider. + */ + selfLink?: string; + } + interface Schema$TypeProviderLabelEntry { + key?: string; + value?: string; + } + /** + * A response that returns all Type Providers supported by Deployment Manager + */ + interface Schema$TypeProvidersListResponse { + /** + * A token used to continue a truncated list request. + */ + nextPageToken?: string; + /** + * Output only. A list of resource type providers supported by Deployment + * Manager. + */ + typeProviders?: Schema$TypeProvider[]; + } + interface Schema$TypeProvidersListTypesResponse { + /** + * A token used to continue a truncated list request. + */ + nextPageToken?: string; + /** + * Output only. A list of resource type info. + */ + types?: Schema$TypeInfo[]; + } + /** + * A response that returns all Types supported by Deployment Manager + */ + interface Schema$TypesListResponse { + /** + * A token used to continue a truncated list request. + */ + nextPageToken?: string; + /** + * Output only. A list of resource types supported by Deployment Manager. + */ + types?: Schema$Type[]; + } + /** + * Options for how to validate and process properties on a resource. + */ + interface Schema$ValidationOptions { + /** + * Customize how deployment manager will validate the resource against + * schema errors. + */ + schemaValidation?: string; + /** + * Specify what to do with extra properties when executing a request. + */ + undeclaredProperties?: string; + } + class Resource$Compositetypes { + root: Deploymentmanager; + constructor(root: Deploymentmanager); + getRoot(): Deploymentmanager; + /** + * deploymentmanager.compositeTypes.delete + * @desc Deletes a composite type. + * @alias deploymentmanager.compositeTypes.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.compositeType The name of the type for this request. + * @param {string} params.project The project ID for this request. + * @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?: Params$Resource$Compositetypes$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Compositetypes$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Compositetypes$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * deploymentmanager.compositeTypes.get + * @desc Gets information about a specific composite type. + * @alias deploymentmanager.compositeTypes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.compositeType The name of the composite type for this request. + * @param {string} params.project The project ID for this request. + * @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?: Params$Resource$Compositetypes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Compositetypes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Compositetypes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * deploymentmanager.compositeTypes.insert + * @desc Creates a composite type. + * @alias deploymentmanager.compositeTypes.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project The project ID for this request. + * @param {().CompositeType} 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?: Params$Resource$Compositetypes$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Compositetypes$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Compositetypes$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * deploymentmanager.compositeTypes.list + * @desc Lists all composite types for Deployment Manager. + * @alias deploymentmanager.compositeTypes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project The project ID for this request. + * @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?: Params$Resource$Compositetypes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Compositetypes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Compositetypes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * deploymentmanager.compositeTypes.patch + * @desc Updates a composite type. This method supports patch semantics. + * @alias deploymentmanager.compositeTypes.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.compositeType The name of the composite type for this request. + * @param {string} params.project The project ID for this request. + * @param {().CompositeType} 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 + */ + patch(params?: Params$Resource$Compositetypes$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Compositetypes$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Compositetypes$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * deploymentmanager.compositeTypes.update + * @desc Updates a composite type. + * @alias deploymentmanager.compositeTypes.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.compositeType The name of the composite type for this request. + * @param {string} params.project The project ID for this request. + * @param {().CompositeType} 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?: Params$Resource$Compositetypes$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Compositetypes$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Compositetypes$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Compositetypes$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the type for this request. + */ + compositeType?: string; + /** + * The project ID for this request. + */ + project?: string; + } + interface Params$Resource$Compositetypes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the composite type for this request. + */ + compositeType?: string; + /** + * The project ID for this request. + */ + project?: string; + } + interface Params$Resource$Compositetypes$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The project ID for this request. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CompositeType; + } + interface Params$Resource$Compositetypes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * The project ID for this request. + */ + project?: string; + } + interface Params$Resource$Compositetypes$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the composite type for this request. + */ + compositeType?: string; + /** + * The project ID for this request. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CompositeType; + } + interface Params$Resource$Compositetypes$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the composite type for this request. + */ + compositeType?: string; + /** + * The project ID for this request. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CompositeType; + } + class Resource$Deployments { + root: Deploymentmanager; + constructor(root: Deploymentmanager); + getRoot(): Deploymentmanager; + /** + * deploymentmanager.deployments.cancelPreview + * @desc Cancels and removes the preview currently associated with the + * deployment. + * @alias deploymentmanager.deployments.cancelPreview + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.deployment The name of the deployment for this request. + * @param {string} params.project The project ID for this request. + * @param {().DeploymentsCancelPreviewRequest} 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 + */ + cancelPreview(params?: Params$Resource$Deployments$Cancelpreview, options?: MethodOptions): AxiosPromise; + cancelPreview(params: Params$Resource$Deployments$Cancelpreview, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + cancelPreview(params: Params$Resource$Deployments$Cancelpreview, callback: BodyResponseCallback): void; + cancelPreview(callback: BodyResponseCallback): void; + /** + * deploymentmanager.deployments.delete + * @desc Deletes a deployment and all of the resources in the deployment. + * @alias deploymentmanager.deployments.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.deletePolicy Sets the policy to use for deleting resources. + * @param {string} params.deployment The name of the deployment for this request. + * @param {string} params.project The project ID for this request. + * @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?: Params$Resource$Deployments$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Deployments$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Deployments$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * deploymentmanager.deployments.get + * @desc Gets information about a specific deployment. + * @alias deploymentmanager.deployments.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.deployment The name of the deployment for this request. + * @param {string} params.project The project ID for this request. + * @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?: Params$Resource$Deployments$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Deployments$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Deployments$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * deploymentmanager.deployments.getIamPolicy + * @desc Gets the access control policy for a resource. May be empty if no + * such policy or resource exists. + * @alias deploymentmanager.deployments.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @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 + */ + getIamPolicy(params?: Params$Resource$Deployments$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Deployments$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Deployments$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * deploymentmanager.deployments.insert + * @desc Creates a deployment and all of the resources described by the + * deployment manifest. + * @alias deploymentmanager.deployments.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.createPolicy Sets the policy to use for creating new resources. + * @param {boolean=} params.preview If set to true, creates a deployment and creates "shell" resources but does not actually instantiate these resources. This allows you to preview what your deployment looks like. After previewing a deployment, you can deploy your resources by making a request with the update() method or you can use the cancelPreview() method to cancel the preview altogether. Note that the deployment will still exist after you cancel the preview and you must separately delete this deployment if you want to remove it. + * @param {string} params.project The project ID for this request. + * @param {().Deployment} 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?: Params$Resource$Deployments$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Deployments$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Deployments$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * deploymentmanager.deployments.list + * @desc Lists all deployments for a given project. + * @alias deploymentmanager.deployments.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project The project ID for this request. + * @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?: Params$Resource$Deployments$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Deployments$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Deployments$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * deploymentmanager.deployments.patch + * @desc Updates a deployment and all of the resources described by the + * deployment manifest. This method supports patch semantics. + * @alias deploymentmanager.deployments.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.createPolicy Sets the policy to use for creating new resources. + * @param {string=} params.deletePolicy Sets the policy to use for deleting resources. + * @param {string} params.deployment The name of the deployment for this request. + * @param {boolean=} params.preview If set to true, updates the deployment and creates and updates the "shell" resources but does not actually alter or instantiate these resources. This allows you to preview what your deployment will look like. You can use this intent to preview how an update would affect your deployment. You must provide a target.config with a configuration if this is set to true. After previewing a deployment, you can deploy your resources by making a request with the update() or you can cancelPreview() to remove the preview altogether. Note that the deployment will still exist after you cancel the preview and you must separately delete this deployment if you want to remove it. + * @param {string} params.project The project ID for this request. + * @param {().Deployment} 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 + */ + patch(params?: Params$Resource$Deployments$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Deployments$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Deployments$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * deploymentmanager.deployments.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @alias deploymentmanager.deployments.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().GlobalSetPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Deployments$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Deployments$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Deployments$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * deploymentmanager.deployments.stop + * @desc Stops an ongoing operation. This does not roll back any work that + * has already been completed, but prevents any new work from being started. + * @alias deploymentmanager.deployments.stop + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.deployment The name of the deployment for this request. + * @param {string} params.project The project ID for this request. + * @param {().DeploymentsStopRequest} 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 + */ + stop(params?: Params$Resource$Deployments$Stop, options?: MethodOptions): AxiosPromise; + stop(params: Params$Resource$Deployments$Stop, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + stop(params: Params$Resource$Deployments$Stop, callback: BodyResponseCallback): void; + stop(callback: BodyResponseCallback): void; + /** + * deploymentmanager.deployments.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias deploymentmanager.deployments.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Deployments$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Deployments$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Deployments$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + /** + * deploymentmanager.deployments.update + * @desc Updates a deployment and all of the resources described by the + * deployment manifest. + * @alias deploymentmanager.deployments.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.createPolicy Sets the policy to use for creating new resources. + * @param {string=} params.deletePolicy Sets the policy to use for deleting resources. + * @param {string} params.deployment The name of the deployment for this request. + * @param {boolean=} params.preview If set to true, updates the deployment and creates and updates the "shell" resources but does not actually alter or instantiate these resources. This allows you to preview what your deployment will look like. You can use this intent to preview how an update would affect your deployment. You must provide a target.config with a configuration if this is set to true. After previewing a deployment, you can deploy your resources by making a request with the update() or you can cancelPreview() to remove the preview altogether. Note that the deployment will still exist after you cancel the preview and you must separately delete this deployment if you want to remove it. + * @param {string} params.project The project ID for this request. + * @param {().Deployment} 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?: Params$Resource$Deployments$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Deployments$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Deployments$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Deployments$Cancelpreview { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the deployment for this request. + */ + deployment?: string; + /** + * The project ID for this request. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DeploymentsCancelPreviewRequest; + } + interface Params$Resource$Deployments$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Sets the policy to use for deleting resources. + */ + deletePolicy?: string; + /** + * The name of the deployment for this request. + */ + deployment?: string; + /** + * The project ID for this request. + */ + project?: string; + } + interface Params$Resource$Deployments$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the deployment for this request. + */ + deployment?: string; + /** + * The project ID for this request. + */ + project?: string; + } + interface Params$Resource$Deployments$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + } + interface Params$Resource$Deployments$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Sets the policy to use for creating new resources. + */ + createPolicy?: string; + /** + * If set to true, creates a deployment and creates "shell" resources but + * does not actually instantiate these resources. This allows you to preview + * what your deployment looks like. After previewing a deployment, you can + * deploy your resources by making a request with the update() method or you + * can use the cancelPreview() method to cancel the preview altogether. Note + * that the deployment will still exist after you cancel the preview and you + * must separately delete this deployment if you want to remove it. + */ + preview?: boolean; + /** + * The project ID for this request. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Deployment; + } + interface Params$Resource$Deployments$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * The project ID for this request. + */ + project?: string; + } + interface Params$Resource$Deployments$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Sets the policy to use for creating new resources. + */ + createPolicy?: string; + /** + * Sets the policy to use for deleting resources. + */ + deletePolicy?: string; + /** + * The name of the deployment for this request. + */ + deployment?: string; + /** + * If set to true, updates the deployment and creates and updates the + * "shell" resources but does not actually alter or instantiate these + * resources. This allows you to preview what your deployment will look + * like. You can use this intent to preview how an update would affect your + * deployment. You must provide a target.config with a configuration if this + * is set to true. After previewing a deployment, you can deploy your + * resources by making a request with the update() or you can + * cancelPreview() to remove the preview altogether. Note that the + * deployment will still exist after you cancel the preview and you must + * separately delete this deployment if you want to remove it. + */ + preview?: boolean; + /** + * The project ID for this request. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Deployment; + } + interface Params$Resource$Deployments$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GlobalSetPolicyRequest; + } + interface Params$Resource$Deployments$Stop { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the deployment for this request. + */ + deployment?: string; + /** + * The project ID for this request. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DeploymentsStopRequest; + } + interface Params$Resource$Deployments$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + interface Params$Resource$Deployments$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Sets the policy to use for creating new resources. + */ + createPolicy?: string; + /** + * Sets the policy to use for deleting resources. + */ + deletePolicy?: string; + /** + * The name of the deployment for this request. + */ + deployment?: string; + /** + * If set to true, updates the deployment and creates and updates the + * "shell" resources but does not actually alter or instantiate these + * resources. This allows you to preview what your deployment will look + * like. You can use this intent to preview how an update would affect your + * deployment. You must provide a target.config with a configuration if this + * is set to true. After previewing a deployment, you can deploy your + * resources by making a request with the update() or you can + * cancelPreview() to remove the preview altogether. Note that the + * deployment will still exist after you cancel the preview and you must + * separately delete this deployment if you want to remove it. + */ + preview?: boolean; + /** + * The project ID for this request. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Deployment; + } + class Resource$Manifests { + root: Deploymentmanager; + constructor(root: Deploymentmanager); + getRoot(): Deploymentmanager; + /** + * deploymentmanager.manifests.get + * @desc Gets information about a specific manifest. + * @alias deploymentmanager.manifests.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.deployment The name of the deployment for this request. + * @param {string} params.manifest The name of the manifest for this request. + * @param {string} params.project The project ID for this request. + * @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?: Params$Resource$Manifests$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Manifests$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Manifests$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * deploymentmanager.manifests.list + * @desc Lists all manifests for a given deployment. + * @alias deploymentmanager.manifests.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.deployment The name of the deployment for this request. + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project The project ID for this request. + * @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?: Params$Resource$Manifests$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Manifests$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Manifests$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Manifests$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the deployment for this request. + */ + deployment?: string; + /** + * The name of the manifest for this request. + */ + manifest?: string; + /** + * The project ID for this request. + */ + project?: string; + } + interface Params$Resource$Manifests$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the deployment for this request. + */ + deployment?: string; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * The project ID for this request. + */ + project?: string; + } + class Resource$Operations { + root: Deploymentmanager; + constructor(root: Deploymentmanager); + getRoot(): Deploymentmanager; + /** + * deploymentmanager.operations.get + * @desc Gets information about a specific operation. + * @alias deploymentmanager.operations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.operation The name of the operation for this request. + * @param {string} params.project The project ID for this request. + * @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?: Params$Resource$Operations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Operations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Operations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * deploymentmanager.operations.list + * @desc Lists all operations for a project. + * @alias deploymentmanager.operations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project The project ID for this request. + * @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?: Params$Resource$Operations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Operations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Operations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Operations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation for this request. + */ + operation?: string; + /** + * The project ID for this request. + */ + project?: string; + } + interface Params$Resource$Operations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * The project ID for this request. + */ + project?: string; + } + class Resource$Resources { + root: Deploymentmanager; + constructor(root: Deploymentmanager); + getRoot(): Deploymentmanager; + /** + * deploymentmanager.resources.get + * @desc Gets information about a single resource. + * @alias deploymentmanager.resources.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.deployment The name of the deployment for this request. + * @param {string} params.project The project ID for this request. + * @param {string} params.resource_ The name of the resource for this request. + * @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?: Params$Resource$Resources$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Resources$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Resources$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * deploymentmanager.resources.list + * @desc Lists all resources in a given deployment. + * @alias deploymentmanager.resources.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.deployment The name of the deployment for this request. + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project The project ID for this request. + * @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?: Params$Resource$Resources$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Resources$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Resources$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Resources$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the deployment for this request. + */ + deployment?: string; + /** + * The project ID for this request. + */ + project?: string; + /** + * The name of the resource for this request. + */ + resource?: string; + } + interface Params$Resource$Resources$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the deployment for this request. + */ + deployment?: string; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * The project ID for this request. + */ + project?: string; + } + class Resource$Typeproviders { + root: Deploymentmanager; + constructor(root: Deploymentmanager); + getRoot(): Deploymentmanager; + /** + * deploymentmanager.typeProviders.delete + * @desc Deletes a type provider. + * @alias deploymentmanager.typeProviders.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project The project ID for this request. + * @param {string} params.typeProvider The name of the type provider for this request. + * @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?: Params$Resource$Typeproviders$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Typeproviders$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Typeproviders$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * deploymentmanager.typeProviders.get + * @desc Gets information about a specific type provider. + * @alias deploymentmanager.typeProviders.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project The project ID for this request. + * @param {string} params.typeProvider The name of the type provider for this request. + * @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?: Params$Resource$Typeproviders$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Typeproviders$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Typeproviders$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * deploymentmanager.typeProviders.getType + * @desc Gets a type info for a type provided by a TypeProvider. + * @alias deploymentmanager.typeProviders.getType + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project The project ID for this request. + * @param {string} params.type The name of the type provider type for this request. + * @param {string} params.typeProvider The name of the type provider for this request. + * @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 + */ + getType(params?: Params$Resource$Typeproviders$Gettype, options?: MethodOptions): AxiosPromise; + getType(params: Params$Resource$Typeproviders$Gettype, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getType(params: Params$Resource$Typeproviders$Gettype, callback: BodyResponseCallback): void; + getType(callback: BodyResponseCallback): void; + /** + * deploymentmanager.typeProviders.insert + * @desc Creates a type provider. + * @alias deploymentmanager.typeProviders.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project The project ID for this request. + * @param {().TypeProvider} 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?: Params$Resource$Typeproviders$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Typeproviders$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Typeproviders$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * deploymentmanager.typeProviders.list + * @desc Lists all resource type providers for Deployment Manager. + * @alias deploymentmanager.typeProviders.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project The project ID for this request. + * @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?: Params$Resource$Typeproviders$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Typeproviders$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Typeproviders$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * deploymentmanager.typeProviders.listTypes + * @desc Lists all the type info for a TypeProvider. + * @alias deploymentmanager.typeProviders.listTypes + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project The project ID for this request. + * @param {string} params.typeProvider The name of the type provider for this request. + * @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 + */ + listTypes(params?: Params$Resource$Typeproviders$Listtypes, options?: MethodOptions): AxiosPromise; + listTypes(params: Params$Resource$Typeproviders$Listtypes, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listTypes(params: Params$Resource$Typeproviders$Listtypes, callback: BodyResponseCallback): void; + listTypes(callback: BodyResponseCallback): void; + /** + * deploymentmanager.typeProviders.patch + * @desc Updates a type provider. This method supports patch semantics. + * @alias deploymentmanager.typeProviders.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project The project ID for this request. + * @param {string} params.typeProvider The name of the type provider for this request. + * @param {().TypeProvider} 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 + */ + patch(params?: Params$Resource$Typeproviders$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Typeproviders$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Typeproviders$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * deploymentmanager.typeProviders.update + * @desc Updates a type provider. + * @alias deploymentmanager.typeProviders.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project The project ID for this request. + * @param {string} params.typeProvider The name of the type provider for this request. + * @param {().TypeProvider} 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?: Params$Resource$Typeproviders$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Typeproviders$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Typeproviders$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Typeproviders$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The project ID for this request. + */ + project?: string; + /** + * The name of the type provider for this request. + */ + typeProvider?: string; + } + interface Params$Resource$Typeproviders$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The project ID for this request. + */ + project?: string; + /** + * The name of the type provider for this request. + */ + typeProvider?: string; + } + interface Params$Resource$Typeproviders$Gettype { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The project ID for this request. + */ + project?: string; + /** + * The name of the type provider type for this request. + */ + type?: string; + /** + * The name of the type provider for this request. + */ + typeProvider?: string; + } + interface Params$Resource$Typeproviders$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The project ID for this request. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TypeProvider; + } + interface Params$Resource$Typeproviders$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * The project ID for this request. + */ + project?: string; + } + interface Params$Resource$Typeproviders$Listtypes { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * The project ID for this request. + */ + project?: string; + /** + * The name of the type provider for this request. + */ + typeProvider?: string; + } + interface Params$Resource$Typeproviders$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The project ID for this request. + */ + project?: string; + /** + * The name of the type provider for this request. + */ + typeProvider?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TypeProvider; + } + interface Params$Resource$Typeproviders$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The project ID for this request. + */ + project?: string; + /** + * The name of the type provider for this request. + */ + typeProvider?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TypeProvider; + } + class Resource$Types { + root: Deploymentmanager; + constructor(root: Deploymentmanager); + getRoot(): Deploymentmanager; + /** + * deploymentmanager.types.list + * @desc Lists all resource types for Deployment Manager. + * @alias deploymentmanager.types.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project The project ID for this request. + * @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?: Params$Resource$Types$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Types$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Types$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Types$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * The project ID for this request. + */ + project?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/deploymentmanager/v2beta.js b/express-server/node_modules/googleapis/build/src/apis/deploymentmanager/v2beta.js new file mode 100644 index 00000000..2bace56e --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/deploymentmanager/v2beta.js @@ -0,0 +1,1156 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var deploymentmanager_v2beta; +(function (deploymentmanager_v2beta) { + /** + * Google Cloud Deployment Manager API V2Beta Methods + * + * The Deployment Manager API allows users to declaratively configure, deploy + * and run complex solutions on the Google Cloud Platform. + * + * @example + * const {google} = require('googleapis'); + * const deploymentmanager = google.deploymentmanager('v2beta'); + * + * @namespace deploymentmanager + * @type {Function} + * @version v2beta + * @variation v2beta + * @param {object=} options Options for Deploymentmanager + */ + class Deploymentmanager { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.compositeTypes = new Resource$Compositetypes(this); + this.deployments = new Resource$Deployments(this); + this.manifests = new Resource$Manifests(this); + this.operations = new Resource$Operations(this); + this.resources = new Resource$Resources(this); + this.typeProviders = new Resource$Typeproviders(this); + this.types = new Resource$Types(this); + } + getRoot() { + return this.root; + } + } + deploymentmanager_v2beta.Deploymentmanager = Deploymentmanager; + class Resource$Compositetypes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/v2beta/projects/{project}/global/compositeTypes/{compositeType}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'compositeType'], + pathParams: ['compositeType', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/v2beta/projects/{project}/global/compositeTypes/{compositeType}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'compositeType'], + pathParams: ['compositeType', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/v2beta/projects/{project}/global/compositeTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/v2beta/projects/{project}/global/compositeTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/v2beta/projects/{project}/global/compositeTypes/{compositeType}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'compositeType'], + pathParams: ['compositeType', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/v2beta/projects/{project}/global/compositeTypes/{compositeType}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['project', 'compositeType'], + pathParams: ['compositeType', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + deploymentmanager_v2beta.Resource$Compositetypes = Resource$Compositetypes; + class Resource$Deployments { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + cancelPreview(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/v2beta/projects/{project}/global/deployments/{deployment}/cancelPreview') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'deployment'], + pathParams: ['deployment', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/v2beta/projects/{project}/global/deployments/{deployment}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'deployment'], + pathParams: ['deployment', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/v2beta/projects/{project}/global/deployments/{deployment}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'deployment'], + pathParams: ['deployment', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/v2beta/projects/{project}/global/deployments/{resource}/getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/v2beta/projects/{project}/global/deployments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/v2beta/projects/{project}/global/deployments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/v2beta/projects/{project}/global/deployments/{deployment}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'deployment'], + pathParams: ['deployment', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/v2beta/projects/{project}/global/deployments/{resource}/setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + stop(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/v2beta/projects/{project}/global/deployments/{deployment}/stop') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'deployment'], + pathParams: ['deployment', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/v2beta/projects/{project}/global/deployments/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/v2beta/projects/{project}/global/deployments/{deployment}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['project', 'deployment'], + pathParams: ['deployment', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + deploymentmanager_v2beta.Resource$Deployments = Resource$Deployments; + class Resource$Manifests { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/v2beta/projects/{project}/global/deployments/{deployment}/manifests/{manifest}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'deployment', 'manifest'], + pathParams: ['deployment', 'manifest', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/v2beta/projects/{project}/global/deployments/{deployment}/manifests') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'deployment'], + pathParams: ['deployment', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + deploymentmanager_v2beta.Resource$Manifests = Resource$Manifests; + class Resource$Operations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/v2beta/projects/{project}/global/operations/{operation}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'operation'], + pathParams: ['operation', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/v2beta/projects/{project}/global/operations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + deploymentmanager_v2beta.Resource$Operations = Resource$Operations; + class Resource$Resources { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/v2beta/projects/{project}/global/deployments/{deployment}/resources/{resource}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'deployment', 'resource'], + pathParams: ['deployment', 'project', 'resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/v2beta/projects/{project}/global/deployments/{deployment}/resources') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'deployment'], + pathParams: ['deployment', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + deploymentmanager_v2beta.Resource$Resources = Resource$Resources; + class Resource$Typeproviders { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/v2beta/projects/{project}/global/typeProviders/{typeProvider}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'typeProvider'], + pathParams: ['project', 'typeProvider'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/v2beta/projects/{project}/global/typeProviders/{typeProvider}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'typeProvider'], + pathParams: ['project', 'typeProvider'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getType(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/v2beta/projects/{project}/global/typeProviders/{typeProvider}/types/{type}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'typeProvider', 'type'], + pathParams: ['project', 'type', 'typeProvider'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/v2beta/projects/{project}/global/typeProviders') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/v2beta/projects/{project}/global/typeProviders') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listTypes(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/v2beta/projects/{project}/global/typeProviders/{typeProvider}/types') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'typeProvider'], + pathParams: ['project', 'typeProvider'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/v2beta/projects/{project}/global/typeProviders/{typeProvider}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'typeProvider'], + pathParams: ['project', 'typeProvider'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/v2beta/projects/{project}/global/typeProviders/{typeProvider}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['project', 'typeProvider'], + pathParams: ['project', 'typeProvider'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + deploymentmanager_v2beta.Resource$Typeproviders = Resource$Typeproviders; + class Resource$Types { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/deploymentmanager/v2beta/projects/{project}/global/types') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + deploymentmanager_v2beta.Resource$Types = Resource$Types; +})(deploymentmanager_v2beta = exports.deploymentmanager_v2beta || (exports.deploymentmanager_v2beta = {})); +//# sourceMappingURL=v2beta.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/deploymentmanager/v2beta.js.map b/express-server/node_modules/googleapis/build/src/apis/deploymentmanager/v2beta.js.map new file mode 100644 index 00000000..f53b4c33 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/deploymentmanager/v2beta.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v2beta.js","sourceRoot":"","sources":["../../../../src/apis/deploymentmanager/v2beta.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/dfareporting/README.md b/express-server/node_modules/googleapis/build/src/apis/dfareporting/README.md new file mode 100644 index 00000000..c0cf9724 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dfareporting/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/dfareporting + +> Manages your DoubleClick Campaign Manager ad campaigns and reports. + +## Installation + +```sh +$ npm install @google/dfareporting +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/dfareporting/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/dfareporting/index.d.ts new file mode 100644 index 00000000..7de88e74 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dfareporting/index.d.ts @@ -0,0 +1,18 @@ +import { dfareporting_v2_8 } from './v2.8'; +import { dfareporting_v3_0 } from './v3.0'; +import { dfareporting_v3_1 } from './v3.1'; +import { dfareporting_v3_2 } from './v3.2'; +export declare const VERSIONS: { + 'v2.8': typeof dfareporting_v2_8.Dfareporting; + 'v3.0': typeof dfareporting_v3_0.Dfareporting; + 'v3.1': typeof dfareporting_v3_1.Dfareporting; + 'v3.2': typeof dfareporting_v3_2.Dfareporting; +}; +export declare function dfareporting(version: 'v2_8'): dfareporting_v2_8.Dfareporting; +export declare function dfareporting(options: dfareporting_v2_8.Options): dfareporting_v2_8.Dfareporting; +export declare function dfareporting(version: 'v3_0'): dfareporting_v3_0.Dfareporting; +export declare function dfareporting(options: dfareporting_v3_0.Options): dfareporting_v3_0.Dfareporting; +export declare function dfareporting(version: 'v3_1'): dfareporting_v3_1.Dfareporting; +export declare function dfareporting(options: dfareporting_v3_1.Options): dfareporting_v3_1.Dfareporting; +export declare function dfareporting(version: 'v3_2'): dfareporting_v3_2.Dfareporting; +export declare function dfareporting(options: dfareporting_v3_2.Options): dfareporting_v3_2.Dfareporting; diff --git a/express-server/node_modules/googleapis/build/src/apis/dfareporting/index.js b/express-server/node_modules/googleapis/build/src/apis/dfareporting/index.js new file mode 100644 index 00000000..e8f90146 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dfareporting/index.js @@ -0,0 +1,31 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v2_8_1 = require("./v2.8"); +const v3_0_1 = require("./v3.0"); +const v3_1_1 = require("./v3.1"); +const v3_2_1 = require("./v3.2"); +exports.VERSIONS = { + 'v2.8': v2_8_1.dfareporting_v2_8.Dfareporting, + 'v3.0': v3_0_1.dfareporting_v3_0.Dfareporting, + 'v3.1': v3_1_1.dfareporting_v3_1.Dfareporting, + 'v3.2': v3_2_1.dfareporting_v3_2.Dfareporting, +}; +function dfareporting(versionOrOptions) { + return googleapis_common_1.getAPI('dfareporting', versionOrOptions, exports.VERSIONS, this); +} +exports.dfareporting = dfareporting; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/dfareporting/index.js.map b/express-server/node_modules/googleapis/build/src/apis/dfareporting/index.js.map new file mode 100644 index 00000000..8ada59ee --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dfareporting/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/dfareporting/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,iCAAyC;AACzC,iCAAyC;AACzC,iCAAyC;AACzC,iCAAyC;AAE5B,QAAA,QAAQ,GAAG;IACtB,MAAM,EAAE,wBAAiB,CAAC,YAAY;IACtC,MAAM,EAAE,wBAAiB,CAAC,YAAY;IACtC,MAAM,EAAE,wBAAiB,CAAC,YAAY;IACtC,MAAM,EAAE,wBAAiB,CAAC,YAAY;CACvC,CAAC;AAcF,SAAgB,YAAY,CAIxB,gBAE0D;IAC5D,OAAO,0BAAM,CAAI,cAAc,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACrE,CAAC;AARD,oCAQC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/dfareporting/package.json b/express-server/node_modules/googleapis/build/src/apis/dfareporting/package.json new file mode 100644 index 00000000..9daf59ec --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dfareporting/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/dfareporting", + "version": "0.1.0", + "description": "dfareporting", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/dfareporting/v2.8.d.ts b/express-server/node_modules/googleapis/build/src/apis/dfareporting/v2.8.d.ts new file mode 100644 index 00000000..3c73a433 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dfareporting/v2.8.d.ts @@ -0,0 +1,27069 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace dfareporting_v2_8 { + interface Options extends GlobalOptions { + version: 'v2_8'; + } + /** + * DCM/DFA Reporting And Trafficking API + * + * Manages your DoubleClick Campaign Manager ad campaigns and reports. + * + * @example + * const {google} = require('googleapis'); + * const dfareporting = google.dfareporting('v2.8'); + * + * @namespace dfareporting + * @type {Function} + * @version v2.8 + * @variation v2.8 + * @param {object=} options Options for Dfareporting + */ + class Dfareporting { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + accountActiveAdSummaries: Resource$Accountactiveadsummaries; + accountPermissionGroups: Resource$Accountpermissiongroups; + accountPermissions: Resource$Accountpermissions; + accounts: Resource$Accounts; + accountUserProfiles: Resource$Accountuserprofiles; + ads: Resource$Ads; + advertiserGroups: Resource$Advertisergroups; + advertisers: Resource$Advertisers; + browsers: Resource$Browsers; + campaignCreativeAssociations: Resource$Campaigncreativeassociations; + campaigns: Resource$Campaigns; + changeLogs: Resource$Changelogs; + cities: Resource$Cities; + connectionTypes: Resource$Connectiontypes; + contentCategories: Resource$Contentcategories; + conversions: Resource$Conversions; + countries: Resource$Countries; + creativeAssets: Resource$Creativeassets; + creativeFields: Resource$Creativefields; + creativeFieldValues: Resource$Creativefieldvalues; + creativeGroups: Resource$Creativegroups; + creatives: Resource$Creatives; + dimensionValues: Resource$Dimensionvalues; + directorySiteContacts: Resource$Directorysitecontacts; + directorySites: Resource$Directorysites; + dynamicTargetingKeys: Resource$Dynamictargetingkeys; + eventTags: Resource$Eventtags; + files: Resource$Files; + floodlightActivities: Resource$Floodlightactivities; + floodlightActivityGroups: Resource$Floodlightactivitygroups; + floodlightConfigurations: Resource$Floodlightconfigurations; + inventoryItems: Resource$Inventoryitems; + landingPages: Resource$Landingpages; + languages: Resource$Languages; + metros: Resource$Metros; + mobileCarriers: Resource$Mobilecarriers; + operatingSystems: Resource$Operatingsystems; + operatingSystemVersions: Resource$Operatingsystemversions; + orderDocuments: Resource$Orderdocuments; + orders: Resource$Orders; + placementGroups: Resource$Placementgroups; + placements: Resource$Placements; + placementStrategies: Resource$Placementstrategies; + platformTypes: Resource$Platformtypes; + postalCodes: Resource$Postalcodes; + projects: Resource$Projects; + regions: Resource$Regions; + remarketingLists: Resource$Remarketinglists; + remarketingListShares: Resource$Remarketinglistshares; + reports: Resource$Reports; + sites: Resource$Sites; + sizes: Resource$Sizes; + subaccounts: Resource$Subaccounts; + targetableRemarketingLists: Resource$Targetableremarketinglists; + targetingTemplates: Resource$Targetingtemplates; + userProfiles: Resource$Userprofiles; + userRolePermissionGroups: Resource$Userrolepermissiongroups; + userRolePermissions: Resource$Userrolepermissions; + userRoles: Resource$Userroles; + videoFormats: Resource$Videoformats; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Contains properties of a Campaign Manager account. + */ + interface Schema$Account { + /** + * Account permissions assigned to this account. + */ + accountPermissionIds?: string[]; + /** + * Profile for this account. This is a read-only field that can be left + * blank. + */ + accountProfile?: string; + /** + * Whether this account is active. + */ + active?: boolean; + /** + * Maximum number of active ads allowed for this account. + */ + activeAdsLimitTier?: string; + /** + * Whether to serve creatives with Active View tags. If disabled, + * viewability data will not be available for any impressions. + */ + activeViewOptOut?: boolean; + /** + * User role permissions available to the user roles of this account. + */ + availablePermissionIds?: string[]; + /** + * ID of the country associated with this account. + */ + countryId?: string; + /** + * ID of currency associated with this account. This is a required field. + * Acceptable values are: - "1" for USD - "2" for GBP + * - "3" for ESP - "4" for SEK - "5" for CAD + * - "6" for JPY - "7" for DEM - "8" for AUD + * - "9" for FRF - "10" for ITL - "11" for + * DKK - "12" for NOK - "13" for FIM - "14" + * for ZAR - "15" for IEP - "16" for NLG - + * "17" for EUR - "18" for KRW - "19" for + * TWD - "20" for SGD - "21" for CNY - "22" + * for HKD - "23" for NZD - "24" for MYR - + * "25" for BRL - "26" for PTE - "27" for + * MXP - "28" for CLP - "29" for TRY - "30" + * for ARS - "31" for PEN - "32" for ILS - + * "33" for CHF - "34" for VEF - "35" for + * COP - "36" for GTQ - "37" for PLN - "39" + * for INR - "40" for THB - "41" for IDR - + * "42" for CZK - "43" for RON - "44" for + * HUF - "45" for RUB - "46" for AED - "47" + * for BGN - "48" for HRK - "49" for MXN - + * "50" for NGN + */ + currencyId?: string; + /** + * Default placement dimensions for this account. + */ + defaultCreativeSizeId?: string; + /** + * Description of this account. + */ + description?: string; + /** + * ID of this account. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#account". + */ + kind?: string; + /** + * Locale of this account. Acceptable values are: - "cs" (Czech) + * - "de" (German) - "en" (English) - + * "en-GB" (English United Kingdom) - "es" (Spanish) - + * "fr" (French) - "it" (Italian) - "ja" + * (Japanese) - "ko" (Korean) - "pl" (Polish) - + * "pt-BR" (Portuguese Brazil) - "ru" (Russian) - + * "sv" (Swedish) - "tr" (Turkish) - "zh-CN" + * (Chinese Simplified) - "zh-TW" (Chinese Traditional) + */ + locale?: string; + /** + * Maximum image size allowed for this account, in kilobytes. Value must be + * greater than or equal to 1. + */ + maximumImageSize?: string; + /** + * Name of this account. This is a required field, and must be less than 128 + * characters long and be globally unique. + */ + name?: string; + /** + * Whether campaigns created in this account will be enabled for Nielsen OCR + * reach ratings by default. + */ + nielsenOcrEnabled?: boolean; + /** + * Reporting configuration of this account. + */ + reportsConfiguration?: Schema$ReportsConfiguration; + /** + * Share Path to Conversion reports with Twitter. + */ + shareReportsWithTwitter?: boolean; + /** + * File size limit in kilobytes of Rich Media teaser creatives. Acceptable + * values are 1 to 10240, inclusive. + */ + teaserSizeLimit?: string; + } + /** + * Gets a summary of active ads in an account. + */ + interface Schema$AccountActiveAdSummary { + /** + * ID of the account. + */ + accountId?: string; + /** + * Ads that have been activated for the account + */ + activeAds?: string; + /** + * Maximum number of active ads allowed for the account. + */ + activeAdsLimitTier?: string; + /** + * Ads that can be activated for the account. + */ + availableAds?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#accountActiveAdSummary". + */ + kind?: string; + } + /** + * AccountPermissions contains information about a particular account + * permission. Some features of Campaign Manager require an account permission + * to be present in the account. + */ + interface Schema$AccountPermission { + /** + * Account profiles associated with this account permission. Possible + * values are: - "ACCOUNT_PROFILE_BASIC" - + * "ACCOUNT_PROFILE_STANDARD" + */ + accountProfiles?: string[]; + /** + * ID of this account permission. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#accountPermission". + */ + kind?: string; + /** + * Administrative level required to enable this account permission. + */ + level?: string; + /** + * Name of this account permission. + */ + name?: string; + /** + * Permission group of this account permission. + */ + permissionGroupId?: string; + } + /** + * AccountPermissionGroups contains a mapping of permission group IDs to + * names. A permission group is a grouping of account permissions. + */ + interface Schema$AccountPermissionGroup { + /** + * ID of this account permission group. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#accountPermissionGroup". + */ + kind?: string; + /** + * Name of this account permission group. + */ + name?: string; + } + /** + * Account Permission Group List Response + */ + interface Schema$AccountPermissionGroupsListResponse { + /** + * Account permission group collection. + */ + accountPermissionGroups?: Schema$AccountPermissionGroup[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#accountPermissionGroupsListResponse". + */ + kind?: string; + } + /** + * Account Permission List Response + */ + interface Schema$AccountPermissionsListResponse { + /** + * Account permission collection. + */ + accountPermissions?: Schema$AccountPermission[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#accountPermissionsListResponse". + */ + kind?: string; + } + /** + * Account List Response + */ + interface Schema$AccountsListResponse { + /** + * Account collection. + */ + accounts?: Schema$Account[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#accountsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * AccountUserProfiles contains properties of a Campaign Manager user profile. + * This resource is specifically for managing user profiles, whereas + * UserProfiles is for accessing the API. + */ + interface Schema$AccountUserProfile { + /** + * Account ID of the user profile. This is a read-only field that can be + * left blank. + */ + accountId?: string; + /** + * Whether this user profile is active. This defaults to false, and must be + * set true on insert for the user profile to be usable. + */ + active?: boolean; + /** + * Filter that describes which advertisers are visible to the user profile. + */ + advertiserFilter?: Schema$ObjectFilter; + /** + * Filter that describes which campaigns are visible to the user profile. + */ + campaignFilter?: Schema$ObjectFilter; + /** + * Comments for this user profile. + */ + comments?: string; + /** + * Email of the user profile. The email addresss must be linked to a Google + * Account. This field is required on insertion and is read-only after + * insertion. + */ + email?: string; + /** + * ID of the user profile. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#accountUserProfile". + */ + kind?: string; + /** + * Locale of the user profile. This is a required field. Acceptable values + * are: - "cs" (Czech) - "de" (German) - + * "en" (English) - "en-GB" (English United Kingdom) - + * "es" (Spanish) - "fr" (French) - "it" + * (Italian) - "ja" (Japanese) - "ko" (Korean) - + * "pl" (Polish) - "pt-BR" (Portuguese Brazil) - + * "ru" (Russian) - "sv" (Swedish) - "tr" + * (Turkish) - "zh-CN" (Chinese Simplified) - "zh-TW" + * (Chinese Traditional) + */ + locale?: string; + /** + * Name of the user profile. This is a required field. Must be less than 64 + * characters long, must be globally unique, and cannot contain whitespace + * or any of the following characters: "&;"#%,". + */ + name?: string; + /** + * Filter that describes which sites are visible to the user profile. + */ + siteFilter?: Schema$ObjectFilter; + /** + * Subaccount ID of the user profile. This is a read-only field that can be + * left blank. + */ + subaccountId?: string; + /** + * Trafficker type of this user profile. This is a read-only field. + */ + traffickerType?: string; + /** + * User type of the user profile. This is a read-only field that can be left + * blank. + */ + userAccessType?: string; + /** + * Filter that describes which user roles are visible to the user profile. + */ + userRoleFilter?: Schema$ObjectFilter; + /** + * User role ID of the user profile. This is a required field. + */ + userRoleId?: string; + } + /** + * Account User Profile List Response + */ + interface Schema$AccountUserProfilesListResponse { + /** + * Account user profile collection. + */ + accountUserProfiles?: Schema$AccountUserProfile[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#accountUserProfilesListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Represents an activity group. + */ + interface Schema$Activities { + /** + * List of activity filters. The dimension values need to be all either of + * type "dfa:activity" or "dfa:activityGroup". + */ + filters?: Schema$DimensionValue[]; + /** + * The kind of resource this is, in this case dfareporting#activities. + */ + kind?: string; + /** + * List of names of floodlight activity metrics. + */ + metricNames?: string[]; + } + /** + * Contains properties of a Campaign Manager ad. + */ + interface Schema$Ad { + /** + * Account ID of this ad. This is a read-only field that can be left blank. + */ + accountId?: string; + /** + * Whether this ad is active. When true, archived must be false. + */ + active?: boolean; + /** + * Advertiser ID of this ad. This is a required field on insertion. + */ + advertiserId?: string; + /** + * Dimension value for the ID of the advertiser. This is a read-only, + * auto-generated field. + */ + advertiserIdDimensionValue?: Schema$DimensionValue; + /** + * Whether this ad is archived. When true, active must be false. + */ + archived?: boolean; + /** + * Audience segment ID that is being targeted for this ad. Applicable when + * type is AD_SERVING_STANDARD_AD. + */ + audienceSegmentId?: string; + /** + * Campaign ID of this ad. This is a required field on insertion. + */ + campaignId?: string; + /** + * Dimension value for the ID of the campaign. This is a read-only, + * auto-generated field. + */ + campaignIdDimensionValue?: Schema$DimensionValue; + /** + * Click-through URL for this ad. This is a required field on insertion. + * Applicable when type is AD_SERVING_CLICK_TRACKER. + */ + clickThroughUrl?: Schema$ClickThroughUrl; + /** + * Click-through URL suffix properties for this ad. Applies to the URL in + * the ad or (if overriding ad properties) the URL in the creative. + */ + clickThroughUrlSuffixProperties?: Schema$ClickThroughUrlSuffixProperties; + /** + * Comments for this ad. + */ + comments?: string; + /** + * Compatibility of this ad. Applicable when type is AD_SERVING_DEFAULT_AD. + * DISPLAY and DISPLAY_INTERSTITIAL refer to either rendering on desktop or + * on mobile devices or in mobile apps for regular or interstitial ads, + * respectively. APP and APP_INTERSTITIAL are only used for existing default + * ads. New mobile placements must be assigned DISPLAY or + * DISPLAY_INTERSTITIAL and default ads created for those placements will be + * limited to those compatibility types. IN_STREAM_VIDEO refers to rendering + * in-stream video ads developed with the VAST standard. + */ + compatibility?: string; + /** + * Information about the creation of this ad. This is a read-only field. + */ + createInfo?: Schema$LastModifiedInfo; + /** + * Creative group assignments for this ad. Applicable when type is + * AD_SERVING_CLICK_TRACKER. Only one assignment per creative group number + * is allowed for a maximum of two assignments. + */ + creativeGroupAssignments?: Schema$CreativeGroupAssignment[]; + /** + * Creative rotation for this ad. Applicable when type is + * AD_SERVING_DEFAULT_AD, AD_SERVING_STANDARD_AD, or AD_SERVING_TRACKING. + * When type is AD_SERVING_DEFAULT_AD, this field should have exactly one + * creativeAssignment. + */ + creativeRotation?: Schema$CreativeRotation; + /** + * Time and day targeting information for this ad. This field must be left + * blank if the ad is using a targeting template. Applicable when type is + * AD_SERVING_STANDARD_AD. + */ + dayPartTargeting?: Schema$DayPartTargeting; + /** + * Default click-through event tag properties for this ad. + */ + defaultClickThroughEventTagProperties?: Schema$DefaultClickThroughEventTagProperties; + /** + * Delivery schedule information for this ad. Applicable when type is + * AD_SERVING_STANDARD_AD or AD_SERVING_TRACKING. This field along with + * subfields priority and impressionRatio are required on insertion when + * type is AD_SERVING_STANDARD_AD. + */ + deliverySchedule?: Schema$DeliverySchedule; + /** + * Whether this ad is a dynamic click tracker. Applicable when type is + * AD_SERVING_CLICK_TRACKER. This is a required field on insert, and is + * read-only after insert. + */ + dynamicClickTracker?: boolean; + /** + * Date and time that this ad should stop serving. Must be later than the + * start time. This is a required field on insertion. + */ + endTime?: string; + /** + * Event tag overrides for this ad. + */ + eventTagOverrides?: Schema$EventTagOverride[]; + /** + * Geographical targeting information for this ad. This field must be left + * blank if the ad is using a targeting template. Applicable when type is + * AD_SERVING_STANDARD_AD. + */ + geoTargeting?: Schema$GeoTargeting; + /** + * ID of this ad. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Dimension value for the ID of this ad. This is a read-only, + * auto-generated field. + */ + idDimensionValue?: Schema$DimensionValue; + /** + * Key-value targeting information for this ad. This field must be left + * blank if the ad is using a targeting template. Applicable when type is + * AD_SERVING_STANDARD_AD. + */ + keyValueTargetingExpression?: Schema$KeyValueTargetingExpression; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#ad". + */ + kind?: string; + /** + * Language targeting information for this ad. This field must be left blank + * if the ad is using a targeting template. Applicable when type is + * AD_SERVING_STANDARD_AD. + */ + languageTargeting?: Schema$LanguageTargeting; + /** + * Information about the most recent modification of this ad. This is a + * read-only field. + */ + lastModifiedInfo?: Schema$LastModifiedInfo; + /** + * Name of this ad. This is a required field and must be less than 256 + * characters long. + */ + name?: string; + /** + * Placement assignments for this ad. + */ + placementAssignments?: Schema$PlacementAssignment[]; + /** + * Remarketing list targeting expression for this ad. This field must be + * left blank if the ad is using a targeting template. Applicable when type + * is AD_SERVING_STANDARD_AD. + */ + remarketingListExpression?: Schema$ListTargetingExpression; + /** + * Size of this ad. Applicable when type is AD_SERVING_DEFAULT_AD. + */ + size?: Schema$Size; + /** + * Whether this ad is ssl compliant. This is a read-only field that is + * auto-generated when the ad is inserted or updated. + */ + sslCompliant?: boolean; + /** + * Whether this ad requires ssl. This is a read-only field that is + * auto-generated when the ad is inserted or updated. + */ + sslRequired?: boolean; + /** + * Date and time that this ad should start serving. If creating an ad, this + * field must be a time in the future. This is a required field on + * insertion. + */ + startTime?: string; + /** + * Subaccount ID of this ad. This is a read-only field that can be left + * blank. + */ + subaccountId?: string; + /** + * Targeting template ID, used to apply preconfigured targeting information + * to this ad. This cannot be set while any of dayPartTargeting, + * geoTargeting, keyValueTargetingExpression, languageTargeting, + * remarketingListExpression, or technologyTargeting are set. Applicable + * when type is AD_SERVING_STANDARD_AD. + */ + targetingTemplateId?: string; + /** + * Technology platform targeting information for this ad. This field must be + * left blank if the ad is using a targeting template. Applicable when type + * is AD_SERVING_STANDARD_AD. + */ + technologyTargeting?: Schema$TechnologyTargeting; + /** + * Type of ad. This is a required field on insertion. Note that default ads + * (AD_SERVING_DEFAULT_AD) cannot be created directly (see Creative + * resource). + */ + type?: string; + } + /** + * Campaign ad blocking settings. + */ + interface Schema$AdBlockingConfiguration { + /** + * Click-through URL used by brand-neutral ads. This is a required field + * when overrideClickThroughUrl is set to true. + */ + clickThroughUrl?: string; + /** + * ID of a creative bundle to use for this campaign. If set, brand-neutral + * ads will select creatives from this bundle. Otherwise, a default + * transparent pixel will be used. + */ + creativeBundleId?: string; + /** + * Whether this campaign has enabled ad blocking. When true, ad blocking is + * enabled for placements in the campaign, but this may be overridden by + * site and placement settings. When false, ad blocking is disabled for all + * placements under the campaign, regardless of site and placement settings. + */ + enabled?: boolean; + /** + * Whether the brand-neutral ad's click-through URL comes from the + * campaign's creative bundle or the override URL. Must be set to true + * if ad blocking is enabled and no creative bundle is configured. + */ + overrideClickThroughUrl?: boolean; + } + /** + * Ad List Response + */ + interface Schema$AdsListResponse { + /** + * Ad collection. + */ + ads?: Schema$Ad[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#adsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Ad Slot + */ + interface Schema$AdSlot { + /** + * Comment for this ad slot. + */ + comment?: string; + /** + * Ad slot compatibility. DISPLAY and DISPLAY_INTERSTITIAL refer to + * rendering either on desktop, mobile devices or in mobile apps for regular + * or interstitial ads respectively. APP and APP_INTERSTITIAL are for + * rendering in mobile apps. IN_STREAM_VIDEO refers to rendering in + * in-stream video ads developed with the VAST standard. + */ + compatibility?: string; + /** + * Height of this ad slot. + */ + height?: string; + /** + * ID of the placement from an external platform that is linked to this ad + * slot. + */ + linkedPlacementId?: string; + /** + * Name of this ad slot. + */ + name?: string; + /** + * Payment source type of this ad slot. + */ + paymentSourceType?: string; + /** + * Primary ad slot of a roadblock inventory item. + */ + primary?: boolean; + /** + * Width of this ad slot. + */ + width?: string; + } + /** + * Contains properties of a Campaign Manager advertiser. + */ + interface Schema$Advertiser { + /** + * Account ID of this advertiser.This is a read-only field that can be left + * blank. + */ + accountId?: string; + /** + * ID of the advertiser group this advertiser belongs to. You can group + * advertisers for reporting purposes, allowing you to see aggregated + * information for all advertisers in each group. + */ + advertiserGroupId?: string; + /** + * Suffix added to click-through URL of ad creative associations under this + * advertiser. Must be less than 129 characters long. + */ + clickThroughUrlSuffix?: string; + /** + * ID of the click-through event tag to apply by default to the landing + * pages of this advertiser's campaigns. + */ + defaultClickThroughEventTagId?: string; + /** + * Default email address used in sender field for tag emails. + */ + defaultEmail?: string; + /** + * Floodlight configuration ID of this advertiser. The floodlight + * configuration ID will be created automatically, so on insert this field + * should be left blank. This field can be set to another advertiser's + * floodlight configuration ID in order to share that advertiser's + * floodlight configuration with this advertiser, so long as: - This + * advertiser's original floodlight configuration is not already + * associated with floodlight activities or floodlight activity groups. - + * This advertiser's original floodlight configuration is not already + * shared with another advertiser. + */ + floodlightConfigurationId?: string; + /** + * Dimension value for the ID of the floodlight configuration. This is a + * read-only, auto-generated field. + */ + floodlightConfigurationIdDimensionValue?: Schema$DimensionValue; + /** + * ID of this advertiser. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Dimension value for the ID of this advertiser. This is a read-only, + * auto-generated field. + */ + idDimensionValue?: Schema$DimensionValue; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#advertiser". + */ + kind?: string; + /** + * Name of this advertiser. This is a required field and must be less than + * 256 characters long and unique among advertisers of the same account. + */ + name?: string; + /** + * Original floodlight configuration before any sharing occurred. Set the + * floodlightConfigurationId of this advertiser to + * originalFloodlightConfigurationId to unshare the advertiser's current + * floodlight configuration. You cannot unshare an advertiser's + * floodlight configuration if the shared configuration has activities + * associated with any campaign or placement. + */ + originalFloodlightConfigurationId?: string; + /** + * Status of this advertiser. + */ + status?: string; + /** + * Subaccount ID of this advertiser.This is a read-only field that can be + * left blank. + */ + subaccountId?: string; + /** + * Suspension status of this advertiser. + */ + suspended?: boolean; + } + /** + * Groups advertisers together so that reports can be generated for the entire + * group at once. + */ + interface Schema$AdvertiserGroup { + /** + * Account ID of this advertiser group. This is a read-only field that can + * be left blank. + */ + accountId?: string; + /** + * ID of this advertiser group. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#advertiserGroup". + */ + kind?: string; + /** + * Name of this advertiser group. This is a required field and must be less + * than 256 characters long and unique among advertiser groups of the same + * account. + */ + name?: string; + } + /** + * Advertiser Group List Response + */ + interface Schema$AdvertiserGroupsListResponse { + /** + * Advertiser group collection. + */ + advertiserGroups?: Schema$AdvertiserGroup[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#advertiserGroupsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Advertiser List Response + */ + interface Schema$AdvertisersListResponse { + /** + * Advertiser collection. + */ + advertisers?: Schema$Advertiser[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#advertisersListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Audience Segment. + */ + interface Schema$AudienceSegment { + /** + * Weight allocated to this segment. The weight assigned will be understood + * in proportion to the weights assigned to other segments in the same + * segment group. Acceptable values are 1 to 1000, inclusive. + */ + allocation?: number; + /** + * ID of this audience segment. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Name of this audience segment. This is a required field and must be less + * than 65 characters long. + */ + name?: string; + } + /** + * Audience Segment Group. + */ + interface Schema$AudienceSegmentGroup { + /** + * Audience segments assigned to this group. The number of segments must be + * between 2 and 100. + */ + audienceSegments?: Schema$AudienceSegment[]; + /** + * ID of this audience segment group. This is a read-only, auto-generated + * field. + */ + id?: string; + /** + * Name of this audience segment group. This is a required field and must be + * less than 65 characters long. + */ + name?: string; + } + /** + * Contains information about a browser that can be targeted by ads. + */ + interface Schema$Browser { + /** + * ID referring to this grouping of browser and version numbers. This is the + * ID used for targeting. + */ + browserVersionId?: string; + /** + * DART ID of this browser. This is the ID used when generating reports. + */ + dartId?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#browser". + */ + kind?: string; + /** + * Major version number (leftmost number) of this browser. For example, for + * Chrome 5.0.376.86 beta, this field should be set to 5. An asterisk (*) + * may be used to target any version number, and a question mark (?) may be + * used to target cases where the version number cannot be identified. For + * example, Chrome *.* targets any version of Chrome: 1.2, 2.5, 3.5, and so + * on. Chrome 3.* targets Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets + * cases where the ad server knows the browser is Firefox but can't tell + * which version it is. + */ + majorVersion?: string; + /** + * Minor version number (number after first dot on left) of this browser. + * For example, for Chrome 5.0.375.86 beta, this field should be set to 0. + * An asterisk (*) may be used to target any version number, and a question + * mark (?) may be used to target cases where the version number cannot be + * identified. For example, Chrome *.* targets any version of Chrome: + * 1.2, 2.5, 3.5, and so on. Chrome 3.* targets Chrome 3.1, 3.5, but + * not 4.0. Firefox ?.? targets cases where the ad server knows the browser + * is Firefox but can't tell which version it is. + */ + minorVersion?: string; + /** + * Name of this browser. + */ + name?: string; + } + /** + * Browser List Response + */ + interface Schema$BrowsersListResponse { + /** + * Browser collection. + */ + browsers?: Schema$Browser[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#browsersListResponse". + */ + kind?: string; + } + /** + * Contains properties of a Campaign Manager campaign. + */ + interface Schema$Campaign { + /** + * Account ID of this campaign. This is a read-only field that can be left + * blank. + */ + accountId?: string; + /** + * Ad blocking settings for this campaign. + */ + adBlockingConfiguration?: Schema$AdBlockingConfiguration; + /** + * Additional creative optimization configurations for the campaign. + */ + additionalCreativeOptimizationConfigurations?: Schema$CreativeOptimizationConfiguration[]; + /** + * Advertiser group ID of the associated advertiser. + */ + advertiserGroupId?: string; + /** + * Advertiser ID of this campaign. This is a required field. + */ + advertiserId?: string; + /** + * Dimension value for the advertiser ID of this campaign. This is a + * read-only, auto-generated field. + */ + advertiserIdDimensionValue?: Schema$DimensionValue; + /** + * Whether this campaign has been archived. + */ + archived?: boolean; + /** + * Audience segment groups assigned to this campaign. Cannot have more than + * 300 segment groups. + */ + audienceSegmentGroups?: Schema$AudienceSegmentGroup[]; + /** + * Billing invoice code included in the Campaign Manager client billing + * invoices associated with the campaign. + */ + billingInvoiceCode?: string; + /** + * Click-through URL suffix override properties for this campaign. + */ + clickThroughUrlSuffixProperties?: Schema$ClickThroughUrlSuffixProperties; + /** + * Arbitrary comments about this campaign. Must be less than 256 characters + * long. + */ + comment?: string; + /** + * Information about the creation of this campaign. This is a read-only + * field. + */ + createInfo?: Schema$LastModifiedInfo; + /** + * List of creative group IDs that are assigned to the campaign. + */ + creativeGroupIds?: string[]; + /** + * Creative optimization configuration for the campaign. + */ + creativeOptimizationConfiguration?: Schema$CreativeOptimizationConfiguration; + /** + * Click-through event tag ID override properties for this campaign. + */ + defaultClickThroughEventTagProperties?: Schema$DefaultClickThroughEventTagProperties; + /** + * Date on which the campaign will stop running. On insert, the end date + * must be today or a future date. The end date must be later than or be the + * same as the start date. If, for example, you set 6/25/2015 as both the + * start and end dates, the effective campaign run date is just that day + * only, 6/25/2015. The hours, minutes, and seconds of the end date should + * not be set, as doing so will result in an error. This is a required + * field. + */ + endDate?: string; + /** + * Overrides that can be used to activate or deactivate advertiser event + * tags. + */ + eventTagOverrides?: Schema$EventTagOverride[]; + /** + * External ID for this campaign. + */ + externalId?: string; + /** + * ID of this campaign. This is a read-only auto-generated field. + */ + id?: string; + /** + * Dimension value for the ID of this campaign. This is a read-only, + * auto-generated field. + */ + idDimensionValue?: Schema$DimensionValue; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#campaign". + */ + kind?: string; + /** + * Information about the most recent modification of this campaign. This is + * a read-only field. + */ + lastModifiedInfo?: Schema$LastModifiedInfo; + /** + * Lookback window settings for the campaign. + */ + lookbackConfiguration?: Schema$LookbackConfiguration; + /** + * Name of this campaign. This is a required field and must be less than 256 + * characters long and unique among campaigns of the same advertiser. + */ + name?: string; + /** + * Whether Nielsen reports are enabled for this campaign. + */ + nielsenOcrEnabled?: boolean; + /** + * Date on which the campaign starts running. The start date can be any + * date. The hours, minutes, and seconds of the start date should not be + * set, as doing so will result in an error. This is a required field. + */ + startDate?: string; + /** + * Subaccount ID of this campaign. This is a read-only field that can be + * left blank. + */ + subaccountId?: string; + /** + * Campaign trafficker contact emails. + */ + traffickerEmails?: string[]; + } + /** + * Identifies a creative which has been associated with a given campaign. + */ + interface Schema$CampaignCreativeAssociation { + /** + * ID of the creative associated with the campaign. This is a required + * field. + */ + creativeId?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#campaignCreativeAssociation". + */ + kind?: string; + } + /** + * Campaign Creative Association List Response + */ + interface Schema$CampaignCreativeAssociationsListResponse { + /** + * Campaign creative association collection + */ + campaignCreativeAssociations?: Schema$CampaignCreativeAssociation[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#campaignCreativeAssociationsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Campaign List Response + */ + interface Schema$CampaignsListResponse { + /** + * Campaign collection. + */ + campaigns?: Schema$Campaign[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#campaignsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Describes a change that a user has made to a resource. + */ + interface Schema$ChangeLog { + /** + * Account ID of the modified object. + */ + accountId?: string; + /** + * Action which caused the change. + */ + action?: string; + /** + * Time when the object was modified. + */ + changeTime?: string; + /** + * Field name of the object which changed. + */ + fieldName?: string; + /** + * ID of this change log. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#changeLog". + */ + kind?: string; + /** + * New value of the object field. + */ + newValue?: string; + /** + * ID of the object of this change log. The object could be a campaign, + * placement, ad, or other type. + */ + objectId?: string; + /** + * Object type of the change log. + */ + objectType?: string; + /** + * Old value of the object field. + */ + oldValue?: string; + /** + * Subaccount ID of the modified object. + */ + subaccountId?: string; + /** + * Transaction ID of this change log. When a single API call results in many + * changes, each change will have a separate ID in the change log but will + * share the same transactionId. + */ + transactionId?: string; + /** + * ID of the user who modified the object. + */ + userProfileId?: string; + /** + * User profile name of the user who modified the object. + */ + userProfileName?: string; + } + /** + * Change Log List Response + */ + interface Schema$ChangeLogsListResponse { + /** + * Change log collection. + */ + changeLogs?: Schema$ChangeLog[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#changeLogsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * City List Response + */ + interface Schema$CitiesListResponse { + /** + * City collection. + */ + cities?: Schema$City[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#citiesListResponse". + */ + kind?: string; + } + /** + * Contains information about a city that can be targeted by ads. + */ + interface Schema$City { + /** + * Country code of the country to which this city belongs. + */ + countryCode?: string; + /** + * DART ID of the country to which this city belongs. + */ + countryDartId?: string; + /** + * DART ID of this city. This is the ID used for targeting and generating + * reports. + */ + dartId?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#city". + */ + kind?: string; + /** + * Metro region code of the metro region (DMA) to which this city belongs. + */ + metroCode?: string; + /** + * ID of the metro region (DMA) to which this city belongs. + */ + metroDmaId?: string; + /** + * Name of this city. + */ + name?: string; + /** + * Region code of the region to which this city belongs. + */ + regionCode?: string; + /** + * DART ID of the region to which this city belongs. + */ + regionDartId?: string; + } + /** + * Creative Click Tag. + */ + interface Schema$ClickTag { + /** + * Advertiser event name associated with the click tag. This field is used + * by DISPLAY_IMAGE_GALLERY and HTML5_BANNER creatives. Applicable to + * DISPLAY when the primary asset type is not HTML_IMAGE. + */ + eventName?: string; + /** + * Parameter name for the specified click tag. For DISPLAY_IMAGE_GALLERY + * creative assets, this field must match the value of the creative + * asset's creativeAssetId.name field. + */ + name?: string; + /** + * Parameter value for the specified click tag. This field contains a + * click-through url. + */ + value?: string; + } + /** + * Click-through URL + */ + interface Schema$ClickThroughUrl { + /** + * Read-only convenience field representing the actual URL that will be used + * for this click-through. The URL is computed as follows: - If + * defaultLandingPage is enabled then the campaign's default landing + * page URL is assigned to this field. - If defaultLandingPage is not + * enabled and a landingPageId is specified then that landing page's URL + * is assigned to this field. - If neither of the above cases apply, then + * the customClickThroughUrl is assigned to this field. + */ + computedClickThroughUrl?: string; + /** + * Custom click-through URL. Applicable if the defaultLandingPage field is + * set to false and the landingPageId field is left unset. + */ + customClickThroughUrl?: string; + /** + * Whether the campaign default landing page is used. + */ + defaultLandingPage?: boolean; + /** + * ID of the landing page for the click-through URL. Applicable if the + * defaultLandingPage field is set to false. + */ + landingPageId?: string; + } + /** + * Click Through URL Suffix settings. + */ + interface Schema$ClickThroughUrlSuffixProperties { + /** + * Click-through URL suffix to apply to all ads in this entity's scope. + * Must be less than 128 characters long. + */ + clickThroughUrlSuffix?: string; + /** + * Whether this entity should override the inherited click-through URL + * suffix with its own defined value. + */ + overrideInheritedSuffix?: boolean; + } + /** + * Companion Click-through override. + */ + interface Schema$CompanionClickThroughOverride { + /** + * Click-through URL of this companion click-through override. + */ + clickThroughUrl?: Schema$ClickThroughUrl; + /** + * ID of the creative for this companion click-through override. + */ + creativeId?: string; + } + /** + * Companion Settings + */ + interface Schema$CompanionSetting { + /** + * Whether companions are disabled for this placement. + */ + companionsDisabled?: boolean; + /** + * Whitelist of companion sizes to be served to this placement. Set this + * list to null or empty to serve all companion sizes. + */ + enabledSizes?: Schema$Size[]; + /** + * Whether to serve only static images as companions. + */ + imageOnly?: boolean; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#companionSetting". + */ + kind?: string; + } + /** + * Represents a response to the queryCompatibleFields method. + */ + interface Schema$CompatibleFields { + /** + * Contains items that are compatible to be selected for a report of type + * "CROSS_DIMENSION_REACH". + */ + crossDimensionReachReportCompatibleFields?: Schema$CrossDimensionReachReportCompatibleFields; + /** + * Contains items that are compatible to be selected for a report of type + * "FLOODLIGHT". + */ + floodlightReportCompatibleFields?: Schema$FloodlightReportCompatibleFields; + /** + * The kind of resource this is, in this case dfareporting#compatibleFields. + */ + kind?: string; + /** + * Contains items that are compatible to be selected for a report of type + * "PATH_TO_CONVERSION". + */ + pathToConversionReportCompatibleFields?: Schema$PathToConversionReportCompatibleFields; + /** + * Contains items that are compatible to be selected for a report of type + * "REACH". + */ + reachReportCompatibleFields?: Schema$ReachReportCompatibleFields; + /** + * Contains items that are compatible to be selected for a report of type + * "STANDARD". + */ + reportCompatibleFields?: Schema$ReportCompatibleFields; + } + /** + * Contains information about an internet connection type that can be targeted + * by ads. Clients can use the connection type to target mobile vs. broadband + * users. + */ + interface Schema$ConnectionType { + /** + * ID of this connection type. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#connectionType". + */ + kind?: string; + /** + * Name of this connection type. + */ + name?: string; + } + /** + * Connection Type List Response + */ + interface Schema$ConnectionTypesListResponse { + /** + * Collection of connection types such as broadband and mobile. + */ + connectionTypes?: Schema$ConnectionType[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#connectionTypesListResponse". + */ + kind?: string; + } + /** + * Content Category List Response + */ + interface Schema$ContentCategoriesListResponse { + /** + * Content category collection. + */ + contentCategories?: Schema$ContentCategory[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#contentCategoriesListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Organizes placements according to the contents of their associated + * webpages. + */ + interface Schema$ContentCategory { + /** + * Account ID of this content category. This is a read-only field that can + * be left blank. + */ + accountId?: string; + /** + * ID of this content category. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#contentCategory". + */ + kind?: string; + /** + * Name of this content category. This is a required field and must be less + * than 256 characters long and unique among content categories of the same + * account. + */ + name?: string; + } + /** + * A Conversion represents when a user successfully performs a desired action + * after seeing an ad. + */ + interface Schema$Conversion { + /** + * Whether the conversion was directed toward children. + */ + childDirectedTreatment?: boolean; + /** + * Custom floodlight variables. + */ + customVariables?: Schema$CustomFloodlightVariable[]; + /** + * The alphanumeric encrypted user ID. When set, encryptionInfo should also + * be specified. This field is mutually exclusive with + * encryptedUserIdCandidates[], mobileDeviceId and gclid. This or + * encryptedUserIdCandidates[] or mobileDeviceId or gclid is a required + * field. + */ + encryptedUserId?: string; + /** + * A list of the alphanumeric encrypted user IDs. Any user ID with exposure + * prior to the conversion timestamp will be used in the inserted + * conversion. If no such user ID is found then the conversion will be + * rejected with NO_COOKIE_MATCH_FOUND error. When set, encryptionInfo + * should also be specified. This field may only be used when calling + * batchinsert; it is not supported by batchupdate. This field is mutually + * exclusive with encryptedUserId, mobileDeviceId and gclid. This or + * encryptedUserId or mobileDeviceId or gclid is a required field. + */ + encryptedUserIdCandidates?: string[]; + /** + * Floodlight Activity ID of this conversion. This is a required field. + */ + floodlightActivityId?: string; + /** + * Floodlight Configuration ID of this conversion. This is a required field. + */ + floodlightConfigurationId?: string; + /** + * The Google click ID. This field is mutually exclusive with + * encryptedUserId, encryptedUserIdCandidates[] and mobileDeviceId. This or + * encryptedUserId or encryptedUserIdCandidates[] or mobileDeviceId is a + * required field. + */ + gclid?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#conversion". + */ + kind?: string; + /** + * Whether Limit Ad Tracking is enabled. When set to true, the conversion + * will be used for reporting but not targeting. This will prevent + * remarketing. + */ + limitAdTracking?: boolean; + /** + * The mobile device ID. This field is mutually exclusive with + * encryptedUserId, encryptedUserIdCandidates[] and gclid. This or + * encryptedUserId or encryptedUserIdCandidates[] or gclid is a required + * field. + */ + mobileDeviceId?: string; + /** + * The ordinal of the conversion. Use this field to control how conversions + * of the same user and day are de-duplicated. This is a required field. + */ + ordinal?: string; + /** + * The quantity of the conversion. + */ + quantity?: string; + /** + * The timestamp of conversion, in Unix epoch micros. This is a required + * field. + */ + timestampMicros?: string; + /** + * The value of the conversion. + */ + value?: number; + } + /** + * The error code and description for a conversion that failed to insert or + * update. + */ + interface Schema$ConversionError { + /** + * The error code. + */ + code?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#conversionError". + */ + kind?: string; + /** + * A description of the error. + */ + message?: string; + } + /** + * Insert Conversions Request. + */ + interface Schema$ConversionsBatchInsertRequest { + /** + * The set of conversions to insert. + */ + conversions?: Schema$Conversion[]; + /** + * Describes how encryptedUserId or encryptedUserIdCandidates[] is + * encrypted. This is a required field if encryptedUserId or + * encryptedUserIdCandidates[] is used. + */ + encryptionInfo?: Schema$EncryptionInfo; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#conversionsBatchInsertRequest". + */ + kind?: string; + } + /** + * Insert Conversions Response. + */ + interface Schema$ConversionsBatchInsertResponse { + /** + * Indicates that some or all conversions failed to insert. + */ + hasFailures?: boolean; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#conversionsBatchInsertResponse". + */ + kind?: string; + /** + * The insert status of each conversion. Statuses are returned in the same + * order that conversions are inserted. + */ + status?: Schema$ConversionStatus[]; + } + /** + * Update Conversions Request. + */ + interface Schema$ConversionsBatchUpdateRequest { + /** + * The set of conversions to update. + */ + conversions?: Schema$Conversion[]; + /** + * Describes how encryptedUserId is encrypted. This is a required field if + * encryptedUserId is used. + */ + encryptionInfo?: Schema$EncryptionInfo; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#conversionsBatchUpdateRequest". + */ + kind?: string; + } + /** + * Update Conversions Response. + */ + interface Schema$ConversionsBatchUpdateResponse { + /** + * Indicates that some or all conversions failed to update. + */ + hasFailures?: boolean; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#conversionsBatchUpdateResponse". + */ + kind?: string; + /** + * The update status of each conversion. Statuses are returned in the same + * order that conversions are updated. + */ + status?: Schema$ConversionStatus[]; + } + /** + * The original conversion that was inserted or updated and whether there were + * any errors. + */ + interface Schema$ConversionStatus { + /** + * The original conversion that was inserted or updated. + */ + conversion?: Schema$Conversion; + /** + * A list of errors related to this conversion. + */ + errors?: Schema$ConversionError[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#conversionStatus". + */ + kind?: string; + } + /** + * Country List Response + */ + interface Schema$CountriesListResponse { + /** + * Country collection. + */ + countries?: Schema$Country[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#countriesListResponse". + */ + kind?: string; + } + /** + * Contains information about a country that can be targeted by ads. + */ + interface Schema$Country { + /** + * Country code. + */ + countryCode?: string; + /** + * DART ID of this country. This is the ID used for targeting and generating + * reports. + */ + dartId?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#country". + */ + kind?: string; + /** + * Name of this country. + */ + name?: string; + /** + * Whether ad serving supports secure servers in this country. + */ + sslEnabled?: boolean; + } + /** + * Contains properties of a Creative. + */ + interface Schema$Creative { + /** + * Account ID of this creative. This field, if left unset, will be + * auto-generated for both insert and update operations. Applicable to all + * creative types. + */ + accountId?: string; + /** + * Whether the creative is active. Applicable to all creative types. + */ + active?: boolean; + /** + * Ad parameters user for VPAID creative. This is a read-only field. + * Applicable to the following creative types: all VPAID. + */ + adParameters?: string; + /** + * Keywords for a Rich Media creative. Keywords let you customize the + * creative settings of a Rich Media ad running on your site without having + * to contact the advertiser. You can use keywords to dynamically change the + * look or functionality of a creative. Applicable to the following creative + * types: all RICH_MEDIA, and all VPAID. + */ + adTagKeys?: string[]; + /** + * Advertiser ID of this creative. This is a required field. Applicable to + * all creative types. + */ + advertiserId?: string; + /** + * Whether script access is allowed for this creative. This is a read-only + * and deprecated field which will automatically be set to true on update. + * Applicable to the following creative types: FLASH_INPAGE. + */ + allowScriptAccess?: boolean; + /** + * Whether the creative is archived. Applicable to all creative types. + */ + archived?: boolean; + /** + * Type of artwork used for the creative. This is a read-only field. + * Applicable to the following creative types: all RICH_MEDIA, and all + * VPAID. + */ + artworkType?: string; + /** + * Source application where creative was authored. Presently, only DBM + * authored creatives will have this field set. Applicable to all creative + * types. + */ + authoringSource?: string; + /** + * Authoring tool for HTML5 banner creatives. This is a read-only field. + * Applicable to the following creative types: HTML5_BANNER. + */ + authoringTool?: string; + /** + * Whether images are automatically advanced for image gallery creatives. + * Applicable to the following creative types: DISPLAY_IMAGE_GALLERY. + */ + autoAdvanceImages?: boolean; + /** + * The 6-character HTML color code, beginning with #, for the background of + * the window area where the Flash file is displayed. Default is white. + * Applicable to the following creative types: FLASH_INPAGE. + */ + backgroundColor?: string; + /** + * Click-through URL for backup image. Applicable to the following creative + * types: FLASH_INPAGE, and HTML5_BANNER. Applicable to DISPLAY when the + * primary asset type is not HTML_IMAGE. + */ + backupImageClickThroughUrl?: string; + /** + * List of feature dependencies that will cause a backup image to be served + * if the browser that serves the ad does not support them. Feature + * dependencies are features that a browser must be able to support in order + * to render your HTML5 creative asset correctly. This field is initially + * auto-generated to contain all features detected by Campaign Manager for + * all the assets of this creative and can then be modified by the client. + * To reset this field, copy over all the creativeAssets' detected + * features. Applicable to the following creative types: HTML5_BANNER. + * Applicable to DISPLAY when the primary asset type is not HTML_IMAGE. + */ + backupImageFeatures?: string[]; + /** + * Reporting label used for HTML5 banner backup image. Applicable to the + * following creative types: DISPLAY when the primary asset type is not + * HTML_IMAGE. + */ + backupImageReportingLabel?: string; + /** + * Target window for backup image. Applicable to the following creative + * types: FLASH_INPAGE and HTML5_BANNER. Applicable to DISPLAY when the + * primary asset type is not HTML_IMAGE. + */ + backupImageTargetWindow?: Schema$TargetWindow; + /** + * Click tags of the creative. For DISPLAY, FLASH_INPAGE, and HTML5_BANNER + * creatives, this is a subset of detected click tags for the assets + * associated with this creative. After creating a flash asset, detected + * click tags will be returned in the creativeAssetMetadata. When inserting + * the creative, populate the creative clickTags field using the + * creativeAssetMetadata.clickTags field. For DISPLAY_IMAGE_GALLERY + * creatives, there should be exactly one entry in this list for each image + * creative asset. A click tag is matched with a corresponding creative + * asset by matching the clickTag.name field with the + * creativeAsset.assetIdentifier.name field. Applicable to the following + * creative types: DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER. + * Applicable to DISPLAY when the primary asset type is not HTML_IMAGE. + */ + clickTags?: Schema$ClickTag[]; + /** + * Industry standard ID assigned to creative for reach and frequency. + * Applicable to INSTREAM_VIDEO_REDIRECT creatives. + */ + commercialId?: string; + /** + * List of companion creatives assigned to an in-Stream video creative. + * Acceptable values include IDs of existing flash and image creatives. + * Applicable to the following creative types: all VPAID and all + * INSTREAM_VIDEO with dynamicAssetSelection set to false. + */ + companionCreatives?: string[]; + /** + * Compatibilities associated with this creative. This is a read-only field. + * DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop or + * on mobile devices or in mobile apps for regular or interstitial ads, + * respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. + * Only pre-existing creatives may have these compatibilities since new + * creatives will either be assigned DISPLAY or DISPLAY_INTERSTITIAL + * instead. IN_STREAM_VIDEO refers to rendering in in-stream video ads + * developed with the VAST standard. Applicable to all creative types. + * Acceptable values are: - "APP" - "APP_INTERSTITIAL" - + * "IN_STREAM_VIDEO" - "DISPLAY" - + * "DISPLAY_INTERSTITIAL" + */ + compatibility?: string[]; + /** + * Whether Flash assets associated with the creative need to be + * automatically converted to HTML5. This flag is enabled by default and + * users can choose to disable it if they don't want the system to + * generate and use HTML5 asset for this creative. Applicable to the + * following creative type: FLASH_INPAGE. Applicable to DISPLAY when the + * primary asset type is not HTML_IMAGE. + */ + convertFlashToHtml5?: boolean; + /** + * List of counter events configured for the creative. For + * DISPLAY_IMAGE_GALLERY creatives, these are read-only and auto-generated + * from clickTags. Applicable to the following creative types: + * DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID. + */ + counterCustomEvents?: Schema$CreativeCustomEvent[]; + /** + * Assets associated with a creative. Applicable to all but the following + * creative types: INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and + * REDIRECT + */ + creativeAssets?: Schema$CreativeAsset[]; + /** + * Required if dynamicAssetSelection is true. + */ + creativeAssetSelection?: Schema$CreativeAssetSelection; + /** + * Creative field assignments for this creative. Applicable to all creative + * types. + */ + creativeFieldAssignments?: Schema$CreativeFieldAssignment[]; + /** + * Custom key-values for a Rich Media creative. Key-values let you customize + * the creative settings of a Rich Media ad running on your site without + * having to contact the advertiser. You can use key-values to dynamically + * change the look or functionality of a creative. Applicable to the + * following creative types: all RICH_MEDIA, and all VPAID. + */ + customKeyValues?: string[]; + /** + * Set this to true to enable the use of rules to target individual assets + * in this creative. When set to true creativeAssetSelection must be set. + * This also controls asset-level companions. When this is true, companion + * creatives should be assigned to creative assets. Learn more. Applicable + * to INSTREAM_VIDEO creatives. + */ + dynamicAssetSelection?: boolean; + /** + * List of exit events configured for the creative. For DISPLAY and + * DISPLAY_IMAGE_GALLERY creatives, these are read-only and auto-generated + * from clickTags, For DISPLAY, an event is also created from the + * backupImageReportingLabel. Applicable to the following creative types: + * DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID. Applicable to + * DISPLAY when the primary asset type is not HTML_IMAGE. + */ + exitCustomEvents?: Schema$CreativeCustomEvent[]; + /** + * OpenWindow FSCommand of this creative. This lets the SWF file communicate + * with either Flash Player or the program hosting Flash Player, such as a + * web browser. This is only triggered if allowScriptAccess field is true. + * Applicable to the following creative types: FLASH_INPAGE. + */ + fsCommand?: Schema$FsCommand; + /** + * HTML code for the creative. This is a required field when applicable. + * This field is ignored if htmlCodeLocked is true. Applicable to the + * following creative types: all CUSTOM, FLASH_INPAGE, and HTML5_BANNER, and + * all RICH_MEDIA. + */ + htmlCode?: string; + /** + * Whether HTML code is generated by Campaign Manager or manually entered. + * Set to true to ignore changes to htmlCode. Applicable to the following + * creative types: FLASH_INPAGE and HTML5_BANNER. + */ + htmlCodeLocked?: boolean; + /** + * ID of this creative. This is a read-only, auto-generated field. + * Applicable to all creative types. + */ + id?: string; + /** + * Dimension value for the ID of this creative. This is a read-only field. + * Applicable to all creative types. + */ + idDimensionValue?: Schema$DimensionValue; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#creative". + */ + kind?: string; + /** + * Creative last modification information. This is a read-only field. + * Applicable to all creative types. + */ + lastModifiedInfo?: Schema$LastModifiedInfo; + /** + * Latest Studio trafficked creative ID associated with rich media and VPAID + * creatives. This is a read-only field. Applicable to the following + * creative types: all RICH_MEDIA, and all VPAID. + */ + latestTraffickedCreativeId?: string; + /** + * Name of the creative. This is a required field and must be less than 256 + * characters long. Applicable to all creative types. + */ + name?: string; + /** + * Override CSS value for rich media creatives. Applicable to the following + * creative types: all RICH_MEDIA. + */ + overrideCss?: string; + /** + * Amount of time to play the video before counting a view. Applicable to + * the following creative types: all INSTREAM_VIDEO. + */ + progressOffset?: Schema$VideoOffset; + /** + * URL of hosted image or hosted video or another ad tag. For + * INSTREAM_VIDEO_REDIRECT creatives this is the in-stream video redirect + * URL. The standard for a VAST (Video Ad Serving Template) ad response + * allows for a redirect link to another VAST 2.0 or 3.0 call. This is a + * required field when applicable. Applicable to the following creative + * types: DISPLAY_REDIRECT, INTERNAL_REDIRECT, + * INTERSTITIAL_INTERNAL_REDIRECT, and INSTREAM_VIDEO_REDIRECT + */ + redirectUrl?: string; + /** + * ID of current rendering version. This is a read-only field. Applicable to + * all creative types. + */ + renderingId?: string; + /** + * Dimension value for the rendering ID of this creative. This is a + * read-only field. Applicable to all creative types. + */ + renderingIdDimensionValue?: Schema$DimensionValue; + /** + * The minimum required Flash plugin version for this creative. For + * example, 11.2.202.235. This is a read-only field. Applicable to the + * following creative types: all RICH_MEDIA, and all VPAID. + */ + requiredFlashPluginVersion?: string; + /** + * The internal Flash version for this creative as calculated by Studio. + * This is a read-only field. Applicable to the following creative types: + * FLASH_INPAGE all RICH_MEDIA, and all VPAID. Applicable to DISPLAY when + * the primary asset type is not HTML_IMAGE. + */ + requiredFlashVersion?: number; + /** + * Size associated with this creative. When inserting or updating a creative + * either the size ID field or size width and height fields can be used. + * This is a required field when applicable; however for IMAGE, FLASH_INPAGE + * creatives, and for DISPLAY creatives with a primary asset of type + * HTML_IMAGE, if left blank, this field will be automatically set using the + * actual size of the associated image assets. Applicable to the following + * creative types: DISPLAY, DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, + * HTML5_BANNER, IMAGE, and all RICH_MEDIA. + */ + size?: Schema$Size; + /** + * Amount of time to play the video before the skip button appears. + * Applicable to the following creative types: all INSTREAM_VIDEO. + */ + skipOffset?: Schema$VideoOffset; + /** + * Whether the user can choose to skip the creative. Applicable to the + * following creative types: all INSTREAM_VIDEO and all VPAID. + */ + skippable?: boolean; + /** + * Whether the creative is SSL-compliant. This is a read-only field. + * Applicable to all creative types. + */ + sslCompliant?: boolean; + /** + * Whether creative should be treated as SSL compliant even if the system + * scan shows it's not. Applicable to all creative types. + */ + sslOverride?: boolean; + /** + * Studio advertiser ID associated with rich media and VPAID creatives. This + * is a read-only field. Applicable to the following creative types: all + * RICH_MEDIA, and all VPAID. + */ + studioAdvertiserId?: string; + /** + * Studio creative ID associated with rich media and VPAID creatives. This + * is a read-only field. Applicable to the following creative types: all + * RICH_MEDIA, and all VPAID. + */ + studioCreativeId?: string; + /** + * Studio trafficked creative ID associated with rich media and VPAID + * creatives. This is a read-only field. Applicable to the following + * creative types: all RICH_MEDIA, and all VPAID. + */ + studioTraffickedCreativeId?: string; + /** + * Subaccount ID of this creative. This field, if left unset, will be + * auto-generated for both insert and update operations. Applicable to all + * creative types. + */ + subaccountId?: string; + /** + * Third-party URL used to record backup image impressions. Applicable to + * the following creative types: all RICH_MEDIA. + */ + thirdPartyBackupImageImpressionsUrl?: string; + /** + * Third-party URL used to record rich media impressions. Applicable to the + * following creative types: all RICH_MEDIA. + */ + thirdPartyRichMediaImpressionsUrl?: string; + /** + * Third-party URLs for tracking in-stream video creative events. Applicable + * to the following creative types: all INSTREAM_VIDEO and all VPAID. + */ + thirdPartyUrls?: Schema$ThirdPartyTrackingUrl[]; + /** + * List of timer events configured for the creative. For + * DISPLAY_IMAGE_GALLERY creatives, these are read-only and auto-generated + * from clickTags. Applicable to the following creative types: + * DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID. Applicable to + * DISPLAY when the primary asset is not HTML_IMAGE. + */ + timerCustomEvents?: Schema$CreativeCustomEvent[]; + /** + * Combined size of all creative assets. This is a read-only field. + * Applicable to the following creative types: all RICH_MEDIA, and all + * VPAID. + */ + totalFileSize?: string; + /** + * Type of this creative. This is a required field. Applicable to all + * creative types. Note: FLASH_INPAGE, HTML5_BANNER, and IMAGE are only + * used for existing creatives. New creatives should use DISPLAY as a + * replacement for these types. + */ + type?: string; + /** + * A Universal Ad ID as per the VAST 4.0 spec. Applicable to the following + * creative types: INSTREAM_VIDEO and VPAID. + */ + universalAdId?: Schema$UniversalAdId; + /** + * The version number helps you keep track of multiple versions of your + * creative in your reports. The version number will always be + * auto-generated during insert operations to start at 1. For tracking + * creatives the version cannot be incremented and will always remain at 1. + * For all other creative types the version can be incremented only by 1 + * during update operations. In addition, the version will be automatically + * incremented by 1 when undergoing Rich Media creative merging. Applicable + * to all creative types. + */ + version?: number; + /** + * Description of the video ad. Applicable to the following creative types: + * all INSTREAM_VIDEO and all VPAID. + */ + videoDescription?: string; + /** + * Creative video duration in seconds. This is a read-only field. Applicable + * to the following creative types: INSTREAM_VIDEO, all RICH_MEDIA, and all + * VPAID. + */ + videoDuration?: number; + } + /** + * Creative Asset. + */ + interface Schema$CreativeAsset { + /** + * Whether ActionScript3 is enabled for the flash asset. This is a read-only + * field. Applicable to the following creative type: FLASH_INPAGE. + * Applicable to DISPLAY when the primary asset type is not HTML_IMAGE. + */ + actionScript3?: boolean; + /** + * Whether the video asset is active. This is a read-only field for + * VPAID_NON_LINEAR_VIDEO assets. Applicable to the following creative + * types: INSTREAM_VIDEO and all VPAID. + */ + active?: boolean; + /** + * Possible alignments for an asset. This is a read-only field. Applicable + * to the following creative types: + * RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL. + */ + alignment?: string; + /** + * Artwork type of rich media creative. This is a read-only field. + * Applicable to the following creative types: all RICH_MEDIA. + */ + artworkType?: string; + /** + * Identifier of this asset. This is the same identifier returned during + * creative asset insert operation. This is a required field. Applicable to + * all but the following creative types: all REDIRECT and TRACKING_TEXT. + */ + assetIdentifier?: Schema$CreativeAssetId; + /** + * Exit event configured for the backup image. Applicable to the following + * creative types: all RICH_MEDIA. + */ + backupImageExit?: Schema$CreativeCustomEvent; + /** + * Detected bit-rate for video asset. This is a read-only field. Applicable + * to the following creative types: INSTREAM_VIDEO and all VPAID. + */ + bitRate?: number; + /** + * Rich media child asset type. This is a read-only field. Applicable to the + * following creative types: all VPAID. + */ + childAssetType?: string; + /** + * Size of an asset when collapsed. This is a read-only field. Applicable to + * the following creative types: all RICH_MEDIA and all VPAID. Additionally, + * applicable to assets whose displayType is ASSET_DISPLAY_TYPE_EXPANDING or + * ASSET_DISPLAY_TYPE_PEEL_DOWN. + */ + collapsedSize?: Schema$Size; + /** + * List of companion creatives assigned to an in-stream video creative + * asset. Acceptable values include IDs of existing flash and image + * creatives. Applicable to INSTREAM_VIDEO creative type with + * dynamicAssetSelection set to true. + */ + companionCreativeIds?: string[]; + /** + * Custom start time in seconds for making the asset visible. Applicable to + * the following creative types: all RICH_MEDIA. Value must be greater than + * or equal to 0. + */ + customStartTimeValue?: number; + /** + * List of feature dependencies for the creative asset that are detected by + * Campaign Manager. Feature dependencies are features that a browser must + * be able to support in order to render your HTML5 creative correctly. This + * is a read-only, auto-generated field. Applicable to the following + * creative types: HTML5_BANNER. Applicable to DISPLAY when the primary + * asset type is not HTML_IMAGE. + */ + detectedFeatures?: string[]; + /** + * Type of rich media asset. This is a read-only field. Applicable to the + * following creative types: all RICH_MEDIA. + */ + displayType?: string; + /** + * Duration in seconds for which an asset will be displayed. Applicable to + * the following creative types: INSTREAM_VIDEO and VPAID_LINEAR_VIDEO. + * Value must be greater than or equal to 1. + */ + duration?: number; + /** + * Duration type for which an asset will be displayed. Applicable to the + * following creative types: all RICH_MEDIA. + */ + durationType?: string; + /** + * Detected expanded dimension for video asset. This is a read-only field. + * Applicable to the following creative types: INSTREAM_VIDEO and all VPAID. + */ + expandedDimension?: Schema$Size; + /** + * File size associated with this creative asset. This is a read-only field. + * Applicable to all but the following creative types: all REDIRECT and + * TRACKING_TEXT. + */ + fileSize?: string; + /** + * Flash version of the asset. This is a read-only field. Applicable to the + * following creative types: FLASH_INPAGE, all RICH_MEDIA, and all VPAID. + * Applicable to DISPLAY when the primary asset type is not HTML_IMAGE. + */ + flashVersion?: number; + /** + * Whether to hide Flash objects flag for an asset. Applicable to the + * following creative types: all RICH_MEDIA. + */ + hideFlashObjects?: boolean; + /** + * Whether to hide selection boxes flag for an asset. Applicable to the + * following creative types: all RICH_MEDIA. + */ + hideSelectionBoxes?: boolean; + /** + * Whether the asset is horizontally locked. This is a read-only field. + * Applicable to the following creative types: all RICH_MEDIA. + */ + horizontallyLocked?: boolean; + /** + * Numeric ID of this creative asset. This is a required field and should + * not be modified. Applicable to all but the following creative types: all + * REDIRECT and TRACKING_TEXT. + */ + id?: string; + /** + * Dimension value for the ID of the asset. This is a read-only, + * auto-generated field. + */ + idDimensionValue?: Schema$DimensionValue; + /** + * Detected MIME type for video asset. This is a read-only field. Applicable + * to the following creative types: INSTREAM_VIDEO and all VPAID. + */ + mimeType?: string; + /** + * Offset position for an asset in collapsed mode. This is a read-only + * field. Applicable to the following creative types: all RICH_MEDIA and all + * VPAID. Additionally, only applicable to assets whose displayType is + * ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN. + */ + offset?: Schema$OffsetPosition; + /** + * Whether the backup asset is original or changed by the user in Campaign + * Manager. Applicable to the following creative types: all RICH_MEDIA. + */ + originalBackup?: boolean; + /** + * Offset position for an asset. Applicable to the following creative types: + * all RICH_MEDIA. + */ + position?: Schema$OffsetPosition; + /** + * Offset left unit for an asset. This is a read-only field. Applicable to + * the following creative types: all RICH_MEDIA. + */ + positionLeftUnit?: string; + /** + * Offset top unit for an asset. This is a read-only field if the asset + * displayType is ASSET_DISPLAY_TYPE_OVERLAY. Applicable to the following + * creative types: all RICH_MEDIA. + */ + positionTopUnit?: string; + /** + * Progressive URL for video asset. This is a read-only field. Applicable to + * the following creative types: INSTREAM_VIDEO and all VPAID. + */ + progressiveServingUrl?: string; + /** + * Whether the asset pushes down other content. Applicable to the following + * creative types: all RICH_MEDIA. Additionally, only applicable when the + * asset offsets are 0, the collapsedSize.width matches size.width, and the + * collapsedSize.height is less than size.height. + */ + pushdown?: boolean; + /** + * Pushdown duration in seconds for an asset. Applicable to the following + * creative types: all RICH_MEDIA.Additionally, only applicable when the + * asset pushdown field is true, the offsets are 0, the collapsedSize.width + * matches size.width, and the collapsedSize.height is less than + * size.height. Acceptable values are 0 to 9.99, inclusive. + */ + pushdownDuration?: number; + /** + * Role of the asset in relation to creative. Applicable to all but the + * following creative types: all REDIRECT and TRACKING_TEXT. This is a + * required field. PRIMARY applies to DISPLAY, FLASH_INPAGE, HTML5_BANNER, + * IMAGE, DISPLAY_IMAGE_GALLERY, all RICH_MEDIA (which may contain multiple + * primary assets), and all VPAID creatives. BACKUP_IMAGE applies to + * FLASH_INPAGE, HTML5_BANNER, all RICH_MEDIA, and all VPAID creatives. + * Applicable to DISPLAY when the primary asset type is not HTML_IMAGE. + * ADDITIONAL_IMAGE and ADDITIONAL_FLASH apply to FLASH_INPAGE creatives. + * OTHER refers to assets from sources other than Campaign Manager, such as + * Studio uploaded assets, applicable to all RICH_MEDIA and all VPAID + * creatives. PARENT_VIDEO refers to videos uploaded by the user in Campaign + * Manager and is applicable to INSTREAM_VIDEO and VPAID_LINEAR_VIDEO + * creatives. TRANSCODED_VIDEO refers to videos transcoded by Campaign + * Manager from PARENT_VIDEO assets and is applicable to INSTREAM_VIDEO and + * VPAID_LINEAR_VIDEO creatives. ALTERNATE_VIDEO refers to the Campaign + * Manager representation of child asset videos from Studio, and is + * applicable to VPAID_LINEAR_VIDEO creatives. These cannot be added or + * removed within Campaign Manager. For VPAID_LINEAR_VIDEO creatives, + * PARENT_VIDEO, TRANSCODED_VIDEO and ALTERNATE_VIDEO assets that are marked + * active serve as backup in case the VPAID creative cannot be served. Only + * PARENT_VIDEO assets can be added or removed for an INSTREAM_VIDEO or + * VPAID_LINEAR_VIDEO creative. + */ + role?: string; + /** + * Size associated with this creative asset. This is a required field when + * applicable; however for IMAGE and FLASH_INPAGE, creatives if left blank, + * this field will be automatically set using the actual size of the + * associated image asset. Applicable to the following creative types: + * DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER, IMAGE, and all + * RICH_MEDIA. Applicable to DISPLAY when the primary asset type is not + * HTML_IMAGE. + */ + size?: Schema$Size; + /** + * Whether the asset is SSL-compliant. This is a read-only field. Applicable + * to all but the following creative types: all REDIRECT and TRACKING_TEXT. + */ + sslCompliant?: boolean; + /** + * Initial wait time type before making the asset visible. Applicable to the + * following creative types: all RICH_MEDIA. + */ + startTimeType?: string; + /** + * Streaming URL for video asset. This is a read-only field. Applicable to + * the following creative types: INSTREAM_VIDEO and all VPAID. + */ + streamingServingUrl?: string; + /** + * Whether the asset is transparent. Applicable to the following creative + * types: all RICH_MEDIA. Additionally, only applicable to HTML5 assets. + */ + transparency?: boolean; + /** + * Whether the asset is vertically locked. This is a read-only field. + * Applicable to the following creative types: all RICH_MEDIA. + */ + verticallyLocked?: boolean; + /** + * Detected video duration for video asset. This is a read-only field. + * Applicable to the following creative types: INSTREAM_VIDEO and all VPAID. + */ + videoDuration?: number; + /** + * Window mode options for flash assets. Applicable to the following + * creative types: FLASH_INPAGE, RICH_MEDIA_DISPLAY_EXPANDING, + * RICH_MEDIA_IM_EXPAND, RICH_MEDIA_DISPLAY_BANNER, and + * RICH_MEDIA_INPAGE_FLOATING. + */ + windowMode?: string; + /** + * zIndex value of an asset. Applicable to the following creative types: all + * RICH_MEDIA.Additionally, only applicable to assets whose displayType is + * NOT one of the following types: ASSET_DISPLAY_TYPE_INPAGE or + * ASSET_DISPLAY_TYPE_OVERLAY. Acceptable values are -999999999 to + * 999999999, inclusive. + */ + zIndex?: number; + /** + * File name of zip file. This is a read-only field. Applicable to the + * following creative types: HTML5_BANNER. + */ + zipFilename?: string; + /** + * Size of zip file. This is a read-only field. Applicable to the following + * creative types: HTML5_BANNER. + */ + zipFilesize?: string; + } + /** + * Creative Asset ID. + */ + interface Schema$CreativeAssetId { + /** + * Name of the creative asset. This is a required field while inserting an + * asset. After insertion, this assetIdentifier is used to identify the + * uploaded asset. Characters in the name must be alphanumeric or one of the + * following: ".-_ ". Spaces are allowed. + */ + name?: string; + /** + * Type of asset to upload. This is a required field. FLASH and IMAGE are no + * longer supported for new uploads. All image assets should use HTML_IMAGE. + */ + type?: string; + } + /** + * CreativeAssets contains properties of a creative asset file which will be + * uploaded or has already been uploaded. Refer to the creative sample code + * for how to upload assets and insert a creative. + */ + interface Schema$CreativeAssetMetadata { + /** + * ID of the creative asset. This is a required field. + */ + assetIdentifier?: Schema$CreativeAssetId; + /** + * List of detected click tags for assets. This is a read-only + * auto-generated field. + */ + clickTags?: Schema$ClickTag[]; + /** + * List of feature dependencies for the creative asset that are detected by + * Campaign Manager. Feature dependencies are features that a browser must + * be able to support in order to render your HTML5 creative correctly. This + * is a read-only, auto-generated field. + */ + detectedFeatures?: string[]; + /** + * Numeric ID of the asset. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Dimension value for the numeric ID of the asset. This is a read-only, + * auto-generated field. + */ + idDimensionValue?: Schema$DimensionValue; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#creativeAssetMetadata". + */ + kind?: string; + /** + * Rules validated during code generation that generated a warning. This is + * a read-only, auto-generated field. Possible values are: - + * "ADMOB_REFERENCED" - "ASSET_FORMAT_UNSUPPORTED_DCM" - + * "ASSET_INVALID" - "CLICK_TAG_HARD_CODED" - + * "CLICK_TAG_INVALID" - "CLICK_TAG_IN_GWD" - + * "CLICK_TAG_MISSING" - "CLICK_TAG_MORE_THAN_ONE" - + * "CLICK_TAG_NON_TOP_LEVEL" - + * "COMPONENT_UNSUPPORTED_DCM" - + * "ENABLER_UNSUPPORTED_METHOD_DCM" - + * "EXTERNAL_FILE_REFERENCED" - "FILE_DETAIL_EMPTY" - + * "FILE_TYPE_INVALID" - "GWD_PROPERTIES_INVALID" - + * "HTML5_FEATURE_UNSUPPORTED" - "LINKED_FILE_NOT_FOUND" + * - "MAX_FLASH_VERSION_11" - "MRAID_REFERENCED" - + * "NOT_SSL_COMPLIANT" - "ORPHANED_ASSET" - + * "PRIMARY_HTML_MISSING" - "SVG_INVALID" - + * "ZIP_INVALID" + */ + warnedValidationRules?: string[]; + } + /** + * Encapsulates the list of rules for asset selection and a default asset in + * case none of the rules match. Applicable to INSTREAM_VIDEO creatives. + */ + interface Schema$CreativeAssetSelection { + /** + * A creativeAssets[].id. This should refer to one of the parent assets in + * this creative, and will be served if none of the rules match. This is a + * required field. + */ + defaultAssetId?: string; + /** + * Rules determine which asset will be served to a viewer. Rules will be + * evaluated in the order in which they are stored in this list. This list + * must contain at least one rule. Applicable to INSTREAM_VIDEO creatives. + */ + rules?: Schema$Rule[]; + } + /** + * Creative Assignment. + */ + interface Schema$CreativeAssignment { + /** + * Whether this creative assignment is active. When true, the creative will + * be included in the ad's rotation. + */ + active?: boolean; + /** + * Whether applicable event tags should fire when this creative assignment + * is rendered. If this value is unset when the ad is inserted or updated, + * it will default to true for all creative types EXCEPT for + * INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and INSTREAM_VIDEO. + */ + applyEventTags?: boolean; + /** + * Click-through URL of the creative assignment. + */ + clickThroughUrl?: Schema$ClickThroughUrl; + /** + * Companion creative overrides for this creative assignment. Applicable to + * video ads. + */ + companionCreativeOverrides?: Schema$CompanionClickThroughOverride[]; + /** + * Creative group assignments for this creative assignment. Only one + * assignment per creative group number is allowed for a maximum of two + * assignments. + */ + creativeGroupAssignments?: Schema$CreativeGroupAssignment[]; + /** + * ID of the creative to be assigned. This is a required field. + */ + creativeId?: string; + /** + * Dimension value for the ID of the creative. This is a read-only, + * auto-generated field. + */ + creativeIdDimensionValue?: Schema$DimensionValue; + /** + * Date and time that the assigned creative should stop serving. Must be + * later than the start time. + */ + endTime?: string; + /** + * Rich media exit overrides for this creative assignment. Applicable when + * the creative type is any of the following: - DISPLAY - RICH_MEDIA_INPAGE + * - RICH_MEDIA_INPAGE_FLOATING - RICH_MEDIA_IM_EXPAND - + * RICH_MEDIA_EXPANDING - RICH_MEDIA_INTERSTITIAL_FLOAT - + * RICH_MEDIA_MOBILE_IN_APP - RICH_MEDIA_MULTI_FLOATING - + * RICH_MEDIA_PEEL_DOWN - VPAID_LINEAR - VPAID_NON_LINEAR + */ + richMediaExitOverrides?: Schema$RichMediaExitOverride[]; + /** + * Sequence number of the creative assignment, applicable when the rotation + * type is CREATIVE_ROTATION_TYPE_SEQUENTIAL. Acceptable values are 1 to + * 65535, inclusive. + */ + sequence?: number; + /** + * Whether the creative to be assigned is SSL-compliant. This is a read-only + * field that is auto-generated when the ad is inserted or updated. + */ + sslCompliant?: boolean; + /** + * Date and time that the assigned creative should start serving. + */ + startTime?: string; + /** + * Weight of the creative assignment, applicable when the rotation type is + * CREATIVE_ROTATION_TYPE_RANDOM. Value must be greater than or equal to 1. + */ + weight?: number; + } + /** + * Creative Custom Event. + */ + interface Schema$CreativeCustomEvent { + /** + * Unique ID of this event used by Reporting and Data Transfer. This is a + * read-only field. + */ + advertiserCustomEventId?: string; + /** + * User-entered name for the event. + */ + advertiserCustomEventName?: string; + /** + * Type of the event. This is a read-only field. + */ + advertiserCustomEventType?: string; + /** + * Artwork label column, used to link events in Campaign Manager back to + * events in Studio. This is a required field and should not be modified + * after insertion. + */ + artworkLabel?: string; + /** + * Artwork type used by the creative.This is a read-only field. + */ + artworkType?: string; + /** + * Exit URL of the event. This field is used only for exit events. + */ + exitUrl?: string; + /** + * ID of this event. This is a required field and should not be modified + * after insertion. + */ + id?: string; + /** + * Properties for rich media popup windows. This field is used only for exit + * events. + */ + popupWindowProperties?: Schema$PopupWindowProperties; + /** + * Target type used by the event. + */ + targetType?: string; + /** + * Video reporting ID, used to differentiate multiple videos in a single + * creative. This is a read-only field. + */ + videoReportingId?: string; + } + /** + * Contains properties of a creative field. + */ + interface Schema$CreativeField { + /** + * Account ID of this creative field. This is a read-only field that can be + * left blank. + */ + accountId?: string; + /** + * Advertiser ID of this creative field. This is a required field on + * insertion. + */ + advertiserId?: string; + /** + * Dimension value for the ID of the advertiser. This is a read-only, + * auto-generated field. + */ + advertiserIdDimensionValue?: Schema$DimensionValue; + /** + * ID of this creative field. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#creativeField". + */ + kind?: string; + /** + * Name of this creative field. This is a required field and must be less + * than 256 characters long and unique among creative fields of the same + * advertiser. + */ + name?: string; + /** + * Subaccount ID of this creative field. This is a read-only field that can + * be left blank. + */ + subaccountId?: string; + } + /** + * Creative Field Assignment. + */ + interface Schema$CreativeFieldAssignment { + /** + * ID of the creative field. + */ + creativeFieldId?: string; + /** + * ID of the creative field value. + */ + creativeFieldValueId?: string; + } + /** + * Creative Field List Response + */ + interface Schema$CreativeFieldsListResponse { + /** + * Creative field collection. + */ + creativeFields?: Schema$CreativeField[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#creativeFieldsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Contains properties of a creative field value. + */ + interface Schema$CreativeFieldValue { + /** + * ID of this creative field value. This is a read-only, auto-generated + * field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#creativeFieldValue". + */ + kind?: string; + /** + * Value of this creative field value. It needs to be less than 256 + * characters in length and unique per creative field. + */ + value?: string; + } + /** + * Creative Field Value List Response + */ + interface Schema$CreativeFieldValuesListResponse { + /** + * Creative field value collection. + */ + creativeFieldValues?: Schema$CreativeFieldValue[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#creativeFieldValuesListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Contains properties of a creative group. + */ + interface Schema$CreativeGroup { + /** + * Account ID of this creative group. This is a read-only field that can be + * left blank. + */ + accountId?: string; + /** + * Advertiser ID of this creative group. This is a required field on + * insertion. + */ + advertiserId?: string; + /** + * Dimension value for the ID of the advertiser. This is a read-only, + * auto-generated field. + */ + advertiserIdDimensionValue?: Schema$DimensionValue; + /** + * Subgroup of the creative group. Assign your creative groups to a subgroup + * in order to filter or manage them more easily. This field is required on + * insertion and is read-only after insertion. Acceptable values are 1 to 2, + * inclusive. + */ + groupNumber?: number; + /** + * ID of this creative group. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#creativeGroup". + */ + kind?: string; + /** + * Name of this creative group. This is a required field and must be less + * than 256 characters long and unique among creative groups of the same + * advertiser. + */ + name?: string; + /** + * Subaccount ID of this creative group. This is a read-only field that can + * be left blank. + */ + subaccountId?: string; + } + /** + * Creative Group Assignment. + */ + interface Schema$CreativeGroupAssignment { + /** + * ID of the creative group to be assigned. + */ + creativeGroupId?: string; + /** + * Creative group number of the creative group assignment. + */ + creativeGroupNumber?: string; + } + /** + * Creative Group List Response + */ + interface Schema$CreativeGroupsListResponse { + /** + * Creative group collection. + */ + creativeGroups?: Schema$CreativeGroup[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#creativeGroupsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Creative optimization settings. + */ + interface Schema$CreativeOptimizationConfiguration { + /** + * ID of this creative optimization config. This field is auto-generated + * when the campaign is inserted or updated. It can be null for existing + * campaigns. + */ + id?: string; + /** + * Name of this creative optimization config. This is a required field and + * must be less than 129 characters long. + */ + name?: string; + /** + * List of optimization activities associated with this configuration. + */ + optimizationActivitys?: Schema$OptimizationActivity[]; + /** + * Optimization model for this configuration. + */ + optimizationModel?: string; + } + /** + * Creative Rotation. + */ + interface Schema$CreativeRotation { + /** + * Creative assignments in this creative rotation. + */ + creativeAssignments?: Schema$CreativeAssignment[]; + /** + * Creative optimization configuration that is used by this ad. It should + * refer to one of the existing optimization configurations in the ad's + * campaign. If it is unset or set to 0, then the campaign's default + * optimization configuration will be used for this ad. + */ + creativeOptimizationConfigurationId?: string; + /** + * Type of creative rotation. Can be used to specify whether to use + * sequential or random rotation. + */ + type?: string; + /** + * Strategy for calculating weights. Used with + * CREATIVE_ROTATION_TYPE_RANDOM. + */ + weightCalculationStrategy?: string; + } + /** + * Creative Settings + */ + interface Schema$CreativeSettings { + /** + * Header text for iFrames for this site. Must be less than or equal to 2000 + * characters long. + */ + iFrameFooter?: string; + /** + * Header text for iFrames for this site. Must be less than or equal to 2000 + * characters long. + */ + iFrameHeader?: string; + } + /** + * Creative List Response + */ + interface Schema$CreativesListResponse { + /** + * Creative collection. + */ + creatives?: Schema$Creative[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#creativesListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Represents fields that are compatible to be selected for a report of type + * "CROSS_DIMENSION_REACH". + */ + interface Schema$CrossDimensionReachReportCompatibleFields { + /** + * Dimensions which are compatible to be selected in the + * "breakdown" section of the report. + */ + breakdown?: Schema$Dimension[]; + /** + * Dimensions which are compatible to be selected in the + * "dimensionFilters" section of the report. + */ + dimensionFilters?: Schema$Dimension[]; + /** + * The kind of resource this is, in this case + * dfareporting#crossDimensionReachReportCompatibleFields. + */ + kind?: string; + /** + * Metrics which are compatible to be selected in the + * "metricNames" section of the report. + */ + metrics?: Schema$Metric[]; + /** + * Metrics which are compatible to be selected in the + * "overlapMetricNames" section of the report. + */ + overlapMetrics?: Schema$Metric[]; + } + /** + * A custom floodlight variable. + */ + interface Schema$CustomFloodlightVariable { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#customFloodlightVariable". + */ + kind?: string; + /** + * The type of custom floodlight variable to supply a value for. These map + * to the "u[1-20]=" in the tags. + */ + type?: string; + /** + * The value of the custom floodlight variable. The length of string must + * not exceed 50 characters. + */ + value?: string; + } + /** + * Represents a Custom Rich Media Events group. + */ + interface Schema$CustomRichMediaEvents { + /** + * List of custom rich media event IDs. Dimension values must be all of type + * dfa:richMediaEventTypeIdAndName. + */ + filteredEventIds?: Schema$DimensionValue[]; + /** + * The kind of resource this is, in this case + * dfareporting#customRichMediaEvents. + */ + kind?: string; + } + /** + * Represents a date range. + */ + interface Schema$DateRange { + /** + * The end date of the date range, inclusive. A string of the format: + * "yyyy-MM-dd". + */ + endDate?: string; + /** + * The kind of resource this is, in this case dfareporting#dateRange. + */ + kind?: string; + /** + * The date range relative to the date of when the report is run. + */ + relativeDateRange?: string; + /** + * The start date of the date range, inclusive. A string of the format: + * "yyyy-MM-dd". + */ + startDate?: string; + } + /** + * Day Part Targeting. + */ + interface Schema$DayPartTargeting { + /** + * Days of the week when the ad will serve. Acceptable values are: - + * "SUNDAY" - "MONDAY" - "TUESDAY" - + * "WEDNESDAY" - "THURSDAY" - "FRIDAY" - + * "SATURDAY" + */ + daysOfWeek?: string[]; + /** + * Hours of the day when the ad will serve, where 0 is midnight to 1 AM and + * 23 is 11 PM to midnight. Can be specified with days of week, in which + * case the ad would serve during these hours on the specified days. For + * example if Monday, Wednesday, Friday are the days of week specified and + * 9-10am, 3-5pm (hours 9, 15, and 16) is specified, the ad would serve + * Monday, Wednesdays, and Fridays at 9-10am and 3-5pm. Acceptable values + * are 0 to 23, inclusive. + */ + hoursOfDay?: number[]; + /** + * Whether or not to use the user's local time. If false, the + * America/New York time zone applies. + */ + userLocalTime?: boolean; + } + /** + * Properties of inheriting and overriding the default click-through event + * tag. A campaign may override the event tag defined at the advertiser level, + * and an ad may also override the campaign's setting further. + */ + interface Schema$DefaultClickThroughEventTagProperties { + /** + * ID of the click-through event tag to apply to all ads in this + * entity's scope. + */ + defaultClickThroughEventTagId?: string; + /** + * Whether this entity should override the inherited default click-through + * event tag with its own defined value. + */ + overrideInheritedEventTag?: boolean; + } + /** + * Delivery Schedule. + */ + interface Schema$DeliverySchedule { + /** + * Limit on the number of times an individual user can be served the ad + * within a specified period of time. + */ + frequencyCap?: Schema$FrequencyCap; + /** + * Whether or not hard cutoff is enabled. If true, the ad will not serve + * after the end date and time. Otherwise the ad will continue to be served + * until it has reached its delivery goals. + */ + hardCutoff?: boolean; + /** + * Impression ratio for this ad. This ratio determines how often each ad is + * served relative to the others. For example, if ad A has an impression + * ratio of 1 and ad B has an impression ratio of 3, then Campaign Manager + * will serve ad B three times as often as ad A. Acceptable values are 1 to + * 10, inclusive. + */ + impressionRatio?: string; + /** + * Serving priority of an ad, with respect to other ads. The lower the + * priority number, the greater the priority with which it is served. + */ + priority?: string; + } + /** + * Google Ad Manager Settings + */ + interface Schema$DfpSettings { + /** + * Ad Manager network code for this directory site. + */ + dfpNetworkCode?: string; + /** + * Ad Manager network name for this directory site. + */ + dfpNetworkName?: string; + /** + * Whether this directory site accepts programmatic placements. + */ + programmaticPlacementAccepted?: boolean; + /** + * Whether this directory site is available only via Publisher Portal. + */ + publisherPortalOnly?: boolean; + /** + * Whether this directory site accepts publisher-paid tags. + */ + pubPaidPlacementAccepted?: boolean; + } + /** + * Represents a dimension. + */ + interface Schema$Dimension { + /** + * The kind of resource this is, in this case dfareporting#dimension. + */ + kind?: string; + /** + * The dimension name, e.g. dfa:advertiser + */ + name?: string; + } + /** + * Represents a dimension filter. + */ + interface Schema$DimensionFilter { + /** + * The name of the dimension to filter. + */ + dimensionName?: string; + /** + * The kind of resource this is, in this case dfareporting#dimensionFilter. + */ + kind?: string; + /** + * The value of the dimension to filter. + */ + value?: string; + } + /** + * Represents a DimensionValue resource. + */ + interface Schema$DimensionValue { + /** + * The name of the dimension. + */ + dimensionName?: string; + /** + * The eTag of this response for caching purposes. + */ + etag?: string; + /** + * The ID associated with the value if available. + */ + id?: string; + /** + * The kind of resource this is, in this case dfareporting#dimensionValue. + */ + kind?: string; + /** + * Determines how the 'value' field is matched when filtering. If + * not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, + * '*' is allowed as a placeholder for variable length character + * sequences, and it can be escaped with a backslash. Note, only paid search + * dimensions ('dfa:paidSearch*') allow a matchType other than + * EXACT. + */ + matchType?: string; + /** + * The value of the dimension. + */ + value?: string; + } + /** + * Represents the list of DimensionValue resources. + */ + interface Schema$DimensionValueList { + /** + * The eTag of this response for caching purposes. + */ + etag?: string; + /** + * The dimension values returned in this response. + */ + items?: Schema$DimensionValue[]; + /** + * The kind of list this is, in this case dfareporting#dimensionValueList. + */ + kind?: string; + /** + * Continuation token used to page through dimension values. To retrieve the + * next page of results, set the next request's "pageToken" to + * the value of this field. The page token is only valid for a limited + * amount of time and should not be persisted. + */ + nextPageToken?: string; + } + /** + * Represents a DimensionValuesRequest. + */ + interface Schema$DimensionValueRequest { + /** + * The name of the dimension for which values should be requested. + */ + dimensionName?: string; + /** + * The end date of the date range for which to retrieve dimension values. A + * string of the format "yyyy-MM-dd". + */ + endDate?: string; + /** + * The list of filters by which to filter values. The filters are ANDed. + */ + filters?: Schema$DimensionFilter[]; + /** + * The kind of request this is, in this case + * dfareporting#dimensionValueRequest. + */ + kind?: string; + /** + * The start date of the date range for which to retrieve dimension values. + * A string of the format "yyyy-MM-dd". + */ + startDate?: string; + } + /** + * DirectorySites contains properties of a website from the Site Directory. + * Sites need to be added to an account via the Sites resource before they can + * be assigned to a placement. + */ + interface Schema$DirectorySite { + /** + * Whether this directory site is active. + */ + active?: boolean; + /** + * Directory site contacts. + */ + contactAssignments?: Schema$DirectorySiteContactAssignment[]; + /** + * Country ID of this directory site. This is a read-only field. + */ + countryId?: string; + /** + * Currency ID of this directory site. This is a read-only field. Possible + * values are: - "1" for USD - "2" for GBP - + * "3" for ESP - "4" for SEK - "5" for CAD + * - "6" for JPY - "7" for DEM - "8" for AUD + * - "9" for FRF - "10" for ITL - "11" for + * DKK - "12" for NOK - "13" for FIM - "14" + * for ZAR - "15" for IEP - "16" for NLG - + * "17" for EUR - "18" for KRW - "19" for + * TWD - "20" for SGD - "21" for CNY - "22" + * for HKD - "23" for NZD - "24" for MYR - + * "25" for BRL - "26" for PTE - "27" for + * MXP - "28" for CLP - "29" for TRY - "30" + * for ARS - "31" for PEN - "32" for ILS - + * "33" for CHF - "34" for VEF - "35" for + * COP - "36" for GTQ - "37" for PLN - "39" + * for INR - "40" for THB - "41" for IDR - + * "42" for CZK - "43" for RON - "44" for + * HUF - "45" for RUB - "46" for AED - "47" + * for BGN - "48" for HRK - "49" for MXN - + * "50" for NGN + */ + currencyId?: string; + /** + * Description of this directory site. This is a read-only field. + */ + description?: string; + /** + * ID of this directory site. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Dimension value for the ID of this directory site. This is a read-only, + * auto-generated field. + */ + idDimensionValue?: Schema$DimensionValue; + /** + * Tag types for regular placements. Acceptable values are: - + * "STANDARD" - "IFRAME_JAVASCRIPT_INPAGE" - + * "INTERNAL_REDIRECT_INPAGE" - "JAVASCRIPT_INPAGE" + */ + inpageTagFormats?: string[]; + /** + * Tag types for interstitial placements. Acceptable values are: - + * "IFRAME_JAVASCRIPT_INTERSTITIAL" - + * "INTERNAL_REDIRECT_INTERSTITIAL" - + * "JAVASCRIPT_INTERSTITIAL" + */ + interstitialTagFormats?: string[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#directorySite". + */ + kind?: string; + /** + * Name of this directory site. + */ + name?: string; + /** + * Parent directory site ID. + */ + parentId?: string; + /** + * Directory site settings. + */ + settings?: Schema$DirectorySiteSettings; + /** + * URL of this directory site. + */ + url?: string; + } + /** + * Contains properties of a Site Directory contact. + */ + interface Schema$DirectorySiteContact { + /** + * Address of this directory site contact. + */ + address?: string; + /** + * Email address of this directory site contact. + */ + email?: string; + /** + * First name of this directory site contact. + */ + firstName?: string; + /** + * ID of this directory site contact. This is a read-only, auto-generated + * field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#directorySiteContact". + */ + kind?: string; + /** + * Last name of this directory site contact. + */ + lastName?: string; + /** + * Phone number of this directory site contact. + */ + phone?: string; + /** + * Directory site contact role. + */ + role?: string; + /** + * Title or designation of this directory site contact. + */ + title?: string; + /** + * Directory site contact type. + */ + type?: string; + } + /** + * Directory Site Contact Assignment + */ + interface Schema$DirectorySiteContactAssignment { + /** + * ID of this directory site contact. This is a read-only, auto-generated + * field. + */ + contactId?: string; + /** + * Visibility of this directory site contact assignment. When set to PUBLIC + * this contact assignment is visible to all account and agency users; when + * set to PRIVATE it is visible only to the site. + */ + visibility?: string; + } + /** + * Directory Site Contact List Response + */ + interface Schema$DirectorySiteContactsListResponse { + /** + * Directory site contact collection + */ + directorySiteContacts?: Schema$DirectorySiteContact[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#directorySiteContactsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Directory Site Settings + */ + interface Schema$DirectorySiteSettings { + /** + * Whether this directory site has disabled active view creatives. + */ + activeViewOptOut?: boolean; + /** + * Directory site Ad Manager settings. + */ + dfpSettings?: Schema$DfpSettings; + /** + * Whether this site accepts in-stream video ads. + */ + instreamVideoPlacementAccepted?: boolean; + /** + * Whether this site accepts interstitial ads. + */ + interstitialPlacementAccepted?: boolean; + /** + * Whether this directory site has disabled Nielsen OCR reach ratings. + */ + nielsenOcrOptOut?: boolean; + /** + * Whether this directory site has disabled generation of Verification ins + * tags. + */ + verificationTagOptOut?: boolean; + /** + * Whether this directory site has disabled active view for in-stream video + * creatives. This is a read-only field. + */ + videoActiveViewOptOut?: boolean; + } + /** + * Directory Site List Response + */ + interface Schema$DirectorySitesListResponse { + /** + * Directory site collection. + */ + directorySites?: Schema$DirectorySite[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#directorySitesListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Contains properties of a dynamic targeting key. Dynamic targeting keys are + * unique, user-friendly labels, created at the advertiser level in DCM, that + * can be assigned to ads, creatives, and placements and used for targeting + * with Studio dynamic creatives. Use these labels instead of numeric Campaign + * Manager IDs (such as placement IDs) to save time and avoid errors in your + * dynamic feeds. + */ + interface Schema$DynamicTargetingKey { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#dynamicTargetingKey". + */ + kind?: string; + /** + * Name of this dynamic targeting key. This is a required field. Must be + * less than 256 characters long and cannot contain commas. All characters + * are converted to lowercase. + */ + name?: string; + /** + * ID of the object of this dynamic targeting key. This is a required field. + */ + objectId?: string; + /** + * Type of the object of this dynamic targeting key. This is a required + * field. + */ + objectType?: string; + } + /** + * Dynamic Targeting Key List Response + */ + interface Schema$DynamicTargetingKeysListResponse { + /** + * Dynamic targeting key collection. + */ + dynamicTargetingKeys?: Schema$DynamicTargetingKey[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#dynamicTargetingKeysListResponse". + */ + kind?: string; + } + /** + * A description of how user IDs are encrypted. + */ + interface Schema$EncryptionInfo { + /** + * The encryption entity ID. This should match the encryption configuration + * for ad serving or Data Transfer. + */ + encryptionEntityId?: string; + /** + * The encryption entity type. This should match the encryption + * configuration for ad serving or Data Transfer. + */ + encryptionEntityType?: string; + /** + * Describes whether the encrypted cookie was received from ad serving (the + * %m macro) or from Data Transfer. + */ + encryptionSource?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#encryptionInfo". + */ + kind?: string; + } + /** + * Contains properties of an event tag. + */ + interface Schema$EventTag { + /** + * Account ID of this event tag. This is a read-only field that can be left + * blank. + */ + accountId?: string; + /** + * Advertiser ID of this event tag. This field or the campaignId field is + * required on insertion. + */ + advertiserId?: string; + /** + * Dimension value for the ID of the advertiser. This is a read-only, + * auto-generated field. + */ + advertiserIdDimensionValue?: Schema$DimensionValue; + /** + * Campaign ID of this event tag. This field or the advertiserId field is + * required on insertion. + */ + campaignId?: string; + /** + * Dimension value for the ID of the campaign. This is a read-only, + * auto-generated field. + */ + campaignIdDimensionValue?: Schema$DimensionValue; + /** + * Whether this event tag should be automatically enabled for all of the + * advertiser's campaigns and ads. + */ + enabledByDefault?: boolean; + /** + * Whether to remove this event tag from ads that are trafficked through + * Display & Video 360 to Ad Exchange. This may be useful if the event + * tag uses a pixel that is unapproved for Ad Exchange bids on one or more + * networks, such as the Google Display Network. + */ + excludeFromAdxRequests?: boolean; + /** + * ID of this event tag. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#eventTag". + */ + kind?: string; + /** + * Name of this event tag. This is a required field and must be less than + * 256 characters long. + */ + name?: string; + /** + * Site filter type for this event tag. If no type is specified then the + * event tag will be applied to all sites. + */ + siteFilterType?: string; + /** + * Filter list of site IDs associated with this event tag. The + * siteFilterType determines whether this is a whitelist or blacklist + * filter. + */ + siteIds?: string[]; + /** + * Whether this tag is SSL-compliant or not. This is a read-only field. + */ + sslCompliant?: boolean; + /** + * Status of this event tag. Must be ENABLED for this event tag to fire. + * This is a required field. + */ + status?: string; + /** + * Subaccount ID of this event tag. This is a read-only field that can be + * left blank. + */ + subaccountId?: string; + /** + * Event tag type. Can be used to specify whether to use a third-party + * pixel, a third-party JavaScript URL, or a third-party click-through URL + * for either impression or click tracking. This is a required field. + */ + type?: string; + /** + * Payload URL for this event tag. The URL on a click-through event tag + * should have a landing page URL appended to the end of it. This field is + * required on insertion. + */ + url?: string; + /** + * Number of times the landing page URL should be URL-escaped before being + * appended to the click-through event tag URL. Only applies to + * click-through event tags as specified by the event tag type. + */ + urlEscapeLevels?: number; + } + /** + * Event tag override information. + */ + interface Schema$EventTagOverride { + /** + * Whether this override is enabled. + */ + enabled?: boolean; + /** + * ID of this event tag override. This is a read-only, auto-generated field. + */ + id?: string; + } + /** + * Event Tag List Response + */ + interface Schema$EventTagsListResponse { + /** + * Event tag collection. + */ + eventTags?: Schema$EventTag[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#eventTagsListResponse". + */ + kind?: string; + } + /** + * Represents a File resource. A file contains the metadata for a report run. + * It shows the status of the run and holds the URLs to the generated report + * data if the run is finished and the status is "REPORT_AVAILABLE". + */ + interface Schema$File { + /** + * The date range for which the file has report data. The date range will + * always be the absolute date range for which the report is run. + */ + dateRange?: Schema$DateRange; + /** + * The eTag of this response for caching purposes. + */ + etag?: string; + /** + * The filename of the file. + */ + fileName?: string; + /** + * The output format of the report. Only available once the file is + * available. + */ + format?: string; + /** + * The unique ID of this report file. + */ + id?: string; + /** + * The kind of resource this is, in this case dfareporting#file. + */ + kind?: string; + /** + * The timestamp in milliseconds since epoch when this file was last + * modified. + */ + lastModifiedTime?: string; + /** + * The ID of the report this file was generated from. + */ + reportId?: string; + /** + * The status of the report file. + */ + status?: string; + /** + * The URLs where the completed report file can be downloaded. + */ + urls?: any; + } + /** + * Represents the list of File resources. + */ + interface Schema$FileList { + /** + * The eTag of this response for caching purposes. + */ + etag?: string; + /** + * The files returned in this response. + */ + items?: Schema$File[]; + /** + * The kind of list this is, in this case dfareporting#fileList. + */ + kind?: string; + /** + * Continuation token used to page through files. To retrieve the next page + * of results, set the next request's "pageToken" to the value + * of this field. The page token is only valid for a limited amount of time + * and should not be persisted. + */ + nextPageToken?: string; + } + /** + * Flight + */ + interface Schema$Flight { + /** + * Inventory item flight end date. + */ + endDate?: string; + /** + * Rate or cost of this flight. + */ + rateOrCost?: string; + /** + * Inventory item flight start date. + */ + startDate?: string; + /** + * Units of this flight. + */ + units?: string; + } + /** + * Floodlight Activity GenerateTag Response + */ + interface Schema$FloodlightActivitiesGenerateTagResponse { + /** + * Generated tag for this Floodlight activity. For global site tags, this is + * the event snippet. + */ + floodlightActivityTag?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#floodlightActivitiesGenerateTagResponse". + */ + kind?: string; + } + /** + * Floodlight Activity List Response + */ + interface Schema$FloodlightActivitiesListResponse { + /** + * Floodlight activity collection. + */ + floodlightActivities?: Schema$FloodlightActivity[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#floodlightActivitiesListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Contains properties of a Floodlight activity. + */ + interface Schema$FloodlightActivity { + /** + * Account ID of this floodlight activity. This is a read-only field that + * can be left blank. + */ + accountId?: string; + /** + * Advertiser ID of this floodlight activity. If this field is left blank, + * the value will be copied over either from the activity group's + * advertiser or the existing activity's advertiser. + */ + advertiserId?: string; + /** + * Dimension value for the ID of the advertiser. This is a read-only, + * auto-generated field. + */ + advertiserIdDimensionValue?: Schema$DimensionValue; + /** + * Code type used for cache busting in the generated tag. Applicable only + * when floodlightActivityGroupType is COUNTER and countingMethod is + * STANDARD_COUNTING or UNIQUE_COUNTING. + */ + cacheBustingType?: string; + /** + * Counting method for conversions for this floodlight activity. This is a + * required field. + */ + countingMethod?: string; + /** + * Dynamic floodlight tags. + */ + defaultTags?: Schema$FloodlightActivityDynamicTag[]; + /** + * URL where this tag will be deployed. If specified, must be less than 256 + * characters long. + */ + expectedUrl?: string; + /** + * Floodlight activity group ID of this floodlight activity. This is a + * required field. + */ + floodlightActivityGroupId?: string; + /** + * Name of the associated floodlight activity group. This is a read-only + * field. + */ + floodlightActivityGroupName?: string; + /** + * Tag string of the associated floodlight activity group. This is a + * read-only field. + */ + floodlightActivityGroupTagString?: string; + /** + * Type of the associated floodlight activity group. This is a read-only + * field. + */ + floodlightActivityGroupType?: string; + /** + * Floodlight configuration ID of this floodlight activity. If this field is + * left blank, the value will be copied over either from the activity + * group's floodlight configuration or from the existing activity's + * floodlight configuration. + */ + floodlightConfigurationId?: string; + /** + * Dimension value for the ID of the floodlight configuration. This is a + * read-only, auto-generated field. + */ + floodlightConfigurationIdDimensionValue?: Schema$DimensionValue; + /** + * Whether this activity is archived. + */ + hidden?: boolean; + /** + * ID of this floodlight activity. This is a read-only, auto-generated + * field. + */ + id?: string; + /** + * Dimension value for the ID of this floodlight activity. This is a + * read-only, auto-generated field. + */ + idDimensionValue?: Schema$DimensionValue; + /** + * Whether the image tag is enabled for this activity. + */ + imageTagEnabled?: boolean; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#floodlightActivity". + */ + kind?: string; + /** + * Name of this floodlight activity. This is a required field. Must be less + * than 129 characters long and cannot contain quotes. + */ + name?: string; + /** + * General notes or implementation instructions for the tag. + */ + notes?: string; + /** + * Publisher dynamic floodlight tags. + */ + publisherTags?: Schema$FloodlightActivityPublisherDynamicTag[]; + /** + * Whether this tag should use SSL. + */ + secure?: boolean; + /** + * Whether the floodlight activity is SSL-compliant. This is a read-only + * field, its value detected by the system from the floodlight tags. + */ + sslCompliant?: boolean; + /** + * Whether this floodlight activity must be SSL-compliant. + */ + sslRequired?: boolean; + /** + * Subaccount ID of this floodlight activity. This is a read-only field that + * can be left blank. + */ + subaccountId?: string; + /** + * Tag format type for the floodlight activity. If left blank, the tag + * format will default to HTML. + */ + tagFormat?: string; + /** + * Value of the cat= parameter in the floodlight tag, which the ad servers + * use to identify the activity. This is optional: if empty, a new tag + * string will be generated for you. This string must be 1 to 8 characters + * long, with valid characters being [a-z][A-Z][0-9][-][ _ ]. This tag + * string must also be unique among activities of the same activity group. + * This field is read-only after insertion. + */ + tagString?: string; + /** + * List of the user-defined variables used by this conversion tag. These map + * to the "u[1-100]=" in the tags. Each of these can have a user + * defined type. Acceptable values are U1 to U100, inclusive. + */ + userDefinedVariableTypes?: string[]; + } + /** + * Dynamic Tag + */ + interface Schema$FloodlightActivityDynamicTag { + /** + * ID of this dynamic tag. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Name of this tag. + */ + name?: string; + /** + * Tag code. + */ + tag?: string; + } + /** + * Contains properties of a Floodlight activity group. + */ + interface Schema$FloodlightActivityGroup { + /** + * Account ID of this floodlight activity group. This is a read-only field + * that can be left blank. + */ + accountId?: string; + /** + * Advertiser ID of this floodlight activity group. If this field is left + * blank, the value will be copied over either from the floodlight + * configuration's advertiser or from the existing activity group's + * advertiser. + */ + advertiserId?: string; + /** + * Dimension value for the ID of the advertiser. This is a read-only, + * auto-generated field. + */ + advertiserIdDimensionValue?: Schema$DimensionValue; + /** + * Floodlight configuration ID of this floodlight activity group. This is a + * required field. + */ + floodlightConfigurationId?: string; + /** + * Dimension value for the ID of the floodlight configuration. This is a + * read-only, auto-generated field. + */ + floodlightConfigurationIdDimensionValue?: Schema$DimensionValue; + /** + * ID of this floodlight activity group. This is a read-only, auto-generated + * field. + */ + id?: string; + /** + * Dimension value for the ID of this floodlight activity group. This is a + * read-only, auto-generated field. + */ + idDimensionValue?: Schema$DimensionValue; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#floodlightActivityGroup". + */ + kind?: string; + /** + * Name of this floodlight activity group. This is a required field. Must be + * less than 65 characters long and cannot contain quotes. + */ + name?: string; + /** + * Subaccount ID of this floodlight activity group. This is a read-only + * field that can be left blank. + */ + subaccountId?: string; + /** + * Value of the type= parameter in the floodlight tag, which the ad servers + * use to identify the activity group that the activity belongs to. This is + * optional: if empty, a new tag string will be generated for you. This + * string must be 1 to 8 characters long, with valid characters being + * [a-z][A-Z][0-9][-][ _ ]. This tag string must also be unique among + * activity groups of the same floodlight configuration. This field is + * read-only after insertion. + */ + tagString?: string; + /** + * Type of the floodlight activity group. This is a required field that is + * read-only after insertion. + */ + type?: string; + } + /** + * Floodlight Activity Group List Response + */ + interface Schema$FloodlightActivityGroupsListResponse { + /** + * Floodlight activity group collection. + */ + floodlightActivityGroups?: Schema$FloodlightActivityGroup[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#floodlightActivityGroupsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Publisher Dynamic Tag + */ + interface Schema$FloodlightActivityPublisherDynamicTag { + /** + * Whether this tag is applicable only for click-throughs. + */ + clickThrough?: boolean; + /** + * Directory site ID of this dynamic tag. This is a write-only field that + * can be used as an alternative to the siteId field. When this resource is + * retrieved, only the siteId field will be populated. + */ + directorySiteId?: string; + /** + * Dynamic floodlight tag. + */ + dynamicTag?: Schema$FloodlightActivityDynamicTag; + /** + * Site ID of this dynamic tag. + */ + siteId?: string; + /** + * Dimension value for the ID of the site. This is a read-only, + * auto-generated field. + */ + siteIdDimensionValue?: Schema$DimensionValue; + /** + * Whether this tag is applicable only for view-throughs. + */ + viewThrough?: boolean; + } + /** + * Contains properties of a Floodlight configuration. + */ + interface Schema$FloodlightConfiguration { + /** + * Account ID of this floodlight configuration. This is a read-only field + * that can be left blank. + */ + accountId?: string; + /** + * Advertiser ID of the parent advertiser of this floodlight configuration. + */ + advertiserId?: string; + /** + * Dimension value for the ID of the advertiser. This is a read-only, + * auto-generated field. + */ + advertiserIdDimensionValue?: Schema$DimensionValue; + /** + * Whether advertiser data is shared with Google Analytics. + */ + analyticsDataSharingEnabled?: boolean; + /** + * Whether the exposure-to-conversion report is enabled. This report shows + * detailed pathway information on up to 10 of the most recent ad exposures + * seen by a user before converting. + */ + exposureToConversionEnabled?: boolean; + /** + * Day that will be counted as the first day of the week in reports. This is + * a required field. + */ + firstDayOfWeek?: string; + /** + * ID of this floodlight configuration. This is a read-only, auto-generated + * field. + */ + id?: string; + /** + * Dimension value for the ID of this floodlight configuration. This is a + * read-only, auto-generated field. + */ + idDimensionValue?: Schema$DimensionValue; + /** + * Whether in-app attribution tracking is enabled. + */ + inAppAttributionTrackingEnabled?: boolean; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#floodlightConfiguration". + */ + kind?: string; + /** + * Lookback window settings for this floodlight configuration. + */ + lookbackConfiguration?: Schema$LookbackConfiguration; + /** + * Types of attribution options for natural search conversions. + */ + naturalSearchConversionAttributionOption?: string; + /** + * Settings for Campaign Manager Omniture integration. + */ + omnitureSettings?: Schema$OmnitureSettings; + /** + * Subaccount ID of this floodlight configuration. This is a read-only field + * that can be left blank. + */ + subaccountId?: string; + /** + * Configuration settings for dynamic and image floodlight tags. + */ + tagSettings?: Schema$TagSettings; + /** + * List of third-party authentication tokens enabled for this configuration. + */ + thirdPartyAuthenticationTokens?: Schema$ThirdPartyAuthenticationToken[]; + /** + * List of user defined variables enabled for this configuration. + */ + userDefinedVariableConfigurations?: Schema$UserDefinedVariableConfiguration[]; + } + /** + * Floodlight Configuration List Response + */ + interface Schema$FloodlightConfigurationsListResponse { + /** + * Floodlight configuration collection. + */ + floodlightConfigurations?: Schema$FloodlightConfiguration[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#floodlightConfigurationsListResponse". + */ + kind?: string; + } + /** + * Represents fields that are compatible to be selected for a report of type + * "FlOODLIGHT". + */ + interface Schema$FloodlightReportCompatibleFields { + /** + * Dimensions which are compatible to be selected in the + * "dimensionFilters" section of the report. + */ + dimensionFilters?: Schema$Dimension[]; + /** + * Dimensions which are compatible to be selected in the + * "dimensions" section of the report. + */ + dimensions?: Schema$Dimension[]; + /** + * The kind of resource this is, in this case + * dfareporting#floodlightReportCompatibleFields. + */ + kind?: string; + /** + * Metrics which are compatible to be selected in the + * "metricNames" section of the report. + */ + metrics?: Schema$Metric[]; + } + /** + * Frequency Cap. + */ + interface Schema$FrequencyCap { + /** + * Duration of time, in seconds, for this frequency cap. The maximum + * duration is 90 days. Acceptable values are 1 to 7776000, inclusive. + */ + duration?: string; + /** + * Number of times an individual user can be served the ad within the + * specified duration. Acceptable values are 1 to 15, inclusive. + */ + impressions?: string; + } + /** + * FsCommand. + */ + interface Schema$FsCommand { + /** + * Distance from the left of the browser.Applicable when positionOption is + * DISTANCE_FROM_TOP_LEFT_CORNER. + */ + left?: number; + /** + * Position in the browser where the window will open. + */ + positionOption?: string; + /** + * Distance from the top of the browser. Applicable when positionOption is + * DISTANCE_FROM_TOP_LEFT_CORNER. + */ + top?: number; + /** + * Height of the window. + */ + windowHeight?: number; + /** + * Width of the window. + */ + windowWidth?: number; + } + /** + * Geographical Targeting. + */ + interface Schema$GeoTargeting { + /** + * Cities to be targeted. For each city only dartId is required. The other + * fields are populated automatically when the ad is inserted or updated. If + * targeting a city, do not target or exclude the country of the city, and + * do not target the metro or region of the city. + */ + cities?: Schema$City[]; + /** + * Countries to be targeted or excluded from targeting, depending on the + * setting of the excludeCountries field. For each country only dartId is + * required. The other fields are populated automatically when the ad is + * inserted or updated. If targeting or excluding a country, do not target + * regions, cities, metros, or postal codes in the same country. + */ + countries?: Schema$Country[]; + /** + * Whether or not to exclude the countries in the countries field from + * targeting. If false, the countries field refers to countries which will + * be targeted by the ad. + */ + excludeCountries?: boolean; + /** + * Metros to be targeted. For each metro only dmaId is required. The other + * fields are populated automatically when the ad is inserted or updated. If + * targeting a metro, do not target or exclude the country of the metro. + */ + metros?: Schema$Metro[]; + /** + * Postal codes to be targeted. For each postal code only id is required. + * The other fields are populated automatically when the ad is inserted or + * updated. If targeting a postal code, do not target or exclude the country + * of the postal code. + */ + postalCodes?: Schema$PostalCode[]; + /** + * Regions to be targeted. For each region only dartId is required. The + * other fields are populated automatically when the ad is inserted or + * updated. If targeting a region, do not target or exclude the country of + * the region. + */ + regions?: Schema$Region[]; + } + /** + * Represents a buy from the Planning inventory store. + */ + interface Schema$InventoryItem { + /** + * Account ID of this inventory item. + */ + accountId?: string; + /** + * Ad slots of this inventory item. If this inventory item represents a + * standalone placement, there will be exactly one ad slot. If this + * inventory item represents a placement group, there will be more than one + * ad slot, each representing one child placement in that placement group. + */ + adSlots?: Schema$AdSlot[]; + /** + * Advertiser ID of this inventory item. + */ + advertiserId?: string; + /** + * Content category ID of this inventory item. + */ + contentCategoryId?: string; + /** + * Estimated click-through rate of this inventory item. + */ + estimatedClickThroughRate?: string; + /** + * Estimated conversion rate of this inventory item. + */ + estimatedConversionRate?: string; + /** + * ID of this inventory item. + */ + id?: string; + /** + * Whether this inventory item is in plan. + */ + inPlan?: boolean; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#inventoryItem". + */ + kind?: string; + /** + * Information about the most recent modification of this inventory item. + */ + lastModifiedInfo?: Schema$LastModifiedInfo; + /** + * Name of this inventory item. For standalone inventory items, this is the + * same name as that of its only ad slot. For group inventory items, this + * can differ from the name of any of its ad slots. + */ + name?: string; + /** + * Negotiation channel ID of this inventory item. + */ + negotiationChannelId?: string; + /** + * Order ID of this inventory item. + */ + orderId?: string; + /** + * Placement strategy ID of this inventory item. + */ + placementStrategyId?: string; + /** + * Pricing of this inventory item. + */ + pricing?: Schema$Pricing; + /** + * Project ID of this inventory item. + */ + projectId?: string; + /** + * RFP ID of this inventory item. + */ + rfpId?: string; + /** + * ID of the site this inventory item is associated with. + */ + siteId?: string; + /** + * Subaccount ID of this inventory item. + */ + subaccountId?: string; + /** + * Type of inventory item. + */ + type?: string; + } + /** + * Inventory item List Response + */ + interface Schema$InventoryItemsListResponse { + /** + * Inventory item collection + */ + inventoryItems?: Schema$InventoryItem[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#inventoryItemsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Key Value Targeting Expression. + */ + interface Schema$KeyValueTargetingExpression { + /** + * Keyword expression being targeted by the ad. + */ + expression?: string; + } + /** + * Contains information about where a user's browser is taken after the + * user clicks an ad. + */ + interface Schema$LandingPage { + /** + * Whether or not this landing page will be assigned to any ads or creatives + * that do not have a landing page assigned explicitly. Only one default + * landing page is allowed per campaign. + */ + default?: boolean; + /** + * ID of this landing page. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#landingPage". + */ + kind?: string; + /** + * Name of this landing page. This is a required field. It must be less than + * 256 characters long, and must be unique among landing pages of the same + * campaign. + */ + name?: string; + /** + * URL of this landing page. This is a required field. + */ + url?: string; + } + /** + * Landing Page List Response + */ + interface Schema$LandingPagesListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#landingPagesListResponse". + */ + kind?: string; + /** + * Landing page collection + */ + landingPages?: Schema$LandingPage[]; + } + /** + * Contains information about a language that can be targeted by ads. + */ + interface Schema$Language { + /** + * Language ID of this language. This is the ID used for targeting and + * generating reports. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#language". + */ + kind?: string; + /** + * Format of language code is an ISO 639 two-letter language code optionally + * followed by an underscore followed by an ISO 3166 code. Examples are + * "en" for English or "zh_CN" for Simplified Chinese. + */ + languageCode?: string; + /** + * Name of this language. + */ + name?: string; + } + /** + * Language List Response + */ + interface Schema$LanguagesListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#languagesListResponse". + */ + kind?: string; + /** + * Language collection. + */ + languages?: Schema$Language[]; + } + /** + * Language Targeting. + */ + interface Schema$LanguageTargeting { + /** + * Languages that this ad targets. For each language only languageId is + * required. The other fields are populated automatically when the ad is + * inserted or updated. + */ + languages?: Schema$Language[]; + } + /** + * Modification timestamp. + */ + interface Schema$LastModifiedInfo { + /** + * Timestamp of the last change in milliseconds since epoch. + */ + time?: string; + } + /** + * A group clause made up of list population terms representing constraints + * joined by ORs. + */ + interface Schema$ListPopulationClause { + /** + * Terms of this list population clause. Each clause is made up of list + * population terms representing constraints and are joined by ORs. + */ + terms?: Schema$ListPopulationTerm[]; + } + /** + * Remarketing List Population Rule. + */ + interface Schema$ListPopulationRule { + /** + * Floodlight activity ID associated with this rule. This field can be left + * blank. + */ + floodlightActivityId?: string; + /** + * Name of floodlight activity associated with this rule. This is a + * read-only, auto-generated field. + */ + floodlightActivityName?: string; + /** + * Clauses that make up this list population rule. Clauses are joined by + * ANDs, and the clauses themselves are made up of list population terms + * which are joined by ORs. + */ + listPopulationClauses?: Schema$ListPopulationClause[]; + } + /** + * Remarketing List Population Rule Term. + */ + interface Schema$ListPopulationTerm { + /** + * Will be true if the term should check if the user is in the list and + * false if the term should check if the user is not in the list. This field + * is only relevant when type is set to LIST_MEMBERSHIP_TERM. False by + * default. + */ + contains?: boolean; + /** + * Whether to negate the comparison result of this term during rule + * evaluation. This field is only relevant when type is left unset or set to + * CUSTOM_VARIABLE_TERM or REFERRER_TERM. + */ + negation?: boolean; + /** + * Comparison operator of this term. This field is only relevant when type + * is left unset or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM. + */ + operator?: string; + /** + * ID of the list in question. This field is only relevant when type is set + * to LIST_MEMBERSHIP_TERM. + */ + remarketingListId?: string; + /** + * List population term type determines the applicable fields in this + * object. If left unset or set to CUSTOM_VARIABLE_TERM, then variableName, + * variableFriendlyName, operator, value, and negation are applicable. If + * set to LIST_MEMBERSHIP_TERM then remarketingListId and contains are + * applicable. If set to REFERRER_TERM then operator, value, and negation + * are applicable. + */ + type?: string; + /** + * Literal to compare the variable to. This field is only relevant when type + * is left unset or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM. + */ + value?: string; + /** + * Friendly name of this term's variable. This is a read-only, + * auto-generated field. This field is only relevant when type is left unset + * or set to CUSTOM_VARIABLE_TERM. + */ + variableFriendlyName?: string; + /** + * Name of the variable (U1, U2, etc.) being compared in this term. This + * field is only relevant when type is set to null, CUSTOM_VARIABLE_TERM or + * REFERRER_TERM. + */ + variableName?: string; + } + /** + * Remarketing List Targeting Expression. + */ + interface Schema$ListTargetingExpression { + /** + * Expression describing which lists are being targeted by the ad. + */ + expression?: string; + } + /** + * Lookback configuration settings. + */ + interface Schema$LookbackConfiguration { + /** + * Lookback window, in days, from the last time a given user clicked on one + * of your ads. If you enter 0, clicks will not be considered as triggering + * events for floodlight tracking. If you leave this field blank, the + * default value for your account will be used. Acceptable values are 0 to + * 90, inclusive. + */ + clickDuration?: number; + /** + * Lookback window, in days, from the last time a given user viewed one of + * your ads. If you enter 0, impressions will not be considered as + * triggering events for floodlight tracking. If you leave this field blank, + * the default value for your account will be used. Acceptable values are 0 + * to 90, inclusive. + */ + postImpressionActivitiesDuration?: number; + } + /** + * Represents a metric. + */ + interface Schema$Metric { + /** + * The kind of resource this is, in this case dfareporting#metric. + */ + kind?: string; + /** + * The metric name, e.g. dfa:impressions + */ + name?: string; + } + /** + * Contains information about a metro region that can be targeted by ads. + */ + interface Schema$Metro { + /** + * Country code of the country to which this metro region belongs. + */ + countryCode?: string; + /** + * DART ID of the country to which this metro region belongs. + */ + countryDartId?: string; + /** + * DART ID of this metro region. + */ + dartId?: string; + /** + * DMA ID of this metro region. This is the ID used for targeting and + * generating reports, and is equivalent to metro_code. + */ + dmaId?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#metro". + */ + kind?: string; + /** + * Metro code of this metro region. This is equivalent to dma_id. + */ + metroCode?: string; + /** + * Name of this metro region. + */ + name?: string; + } + /** + * Metro List Response + */ + interface Schema$MetrosListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#metrosListResponse". + */ + kind?: string; + /** + * Metro collection. + */ + metros?: Schema$Metro[]; + } + /** + * Contains information about a mobile carrier that can be targeted by ads. + */ + interface Schema$MobileCarrier { + /** + * Country code of the country to which this mobile carrier belongs. + */ + countryCode?: string; + /** + * DART ID of the country to which this mobile carrier belongs. + */ + countryDartId?: string; + /** + * ID of this mobile carrier. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#mobileCarrier". + */ + kind?: string; + /** + * Name of this mobile carrier. + */ + name?: string; + } + /** + * Mobile Carrier List Response + */ + interface Schema$MobileCarriersListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#mobileCarriersListResponse". + */ + kind?: string; + /** + * Mobile carrier collection. + */ + mobileCarriers?: Schema$MobileCarrier[]; + } + /** + * Object Filter. + */ + interface Schema$ObjectFilter { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#objectFilter". + */ + kind?: string; + /** + * Applicable when status is ASSIGNED. The user has access to objects with + * these object IDs. + */ + objectIds?: string[]; + /** + * Status of the filter. NONE means the user has access to none of the + * objects. ALL means the user has access to all objects. ASSIGNED means the + * user has access to the objects with IDs in the objectIds list. + */ + status?: string; + } + /** + * Offset Position. + */ + interface Schema$OffsetPosition { + /** + * Offset distance from left side of an asset or a window. + */ + left?: number; + /** + * Offset distance from top side of an asset or a window. + */ + top?: number; + } + /** + * Omniture Integration Settings. + */ + interface Schema$OmnitureSettings { + /** + * Whether placement cost data will be sent to Omniture. This property can + * be enabled only if omnitureIntegrationEnabled is true. + */ + omnitureCostDataEnabled?: boolean; + /** + * Whether Omniture integration is enabled. This property can be enabled + * only when the "Advanced Ad Serving" account setting is enabled. + */ + omnitureIntegrationEnabled?: boolean; + } + /** + * Contains information about an operating system that can be targeted by ads. + */ + interface Schema$OperatingSystem { + /** + * DART ID of this operating system. This is the ID used for targeting. + */ + dartId?: string; + /** + * Whether this operating system is for desktop. + */ + desktop?: boolean; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#operatingSystem". + */ + kind?: string; + /** + * Whether this operating system is for mobile. + */ + mobile?: boolean; + /** + * Name of this operating system. + */ + name?: string; + } + /** + * Operating System List Response + */ + interface Schema$OperatingSystemsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#operatingSystemsListResponse". + */ + kind?: string; + /** + * Operating system collection. + */ + operatingSystems?: Schema$OperatingSystem[]; + } + /** + * Contains information about a particular version of an operating system that + * can be targeted by ads. + */ + interface Schema$OperatingSystemVersion { + /** + * ID of this operating system version. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#operatingSystemVersion". + */ + kind?: string; + /** + * Major version (leftmost number) of this operating system version. + */ + majorVersion?: string; + /** + * Minor version (number after the first dot) of this operating system + * version. + */ + minorVersion?: string; + /** + * Name of this operating system version. + */ + name?: string; + /** + * Operating system of this operating system version. + */ + operatingSystem?: Schema$OperatingSystem; + } + /** + * Operating System Version List Response + */ + interface Schema$OperatingSystemVersionsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#operatingSystemVersionsListResponse". + */ + kind?: string; + /** + * Operating system version collection. + */ + operatingSystemVersions?: Schema$OperatingSystemVersion[]; + } + /** + * Creative optimization activity. + */ + interface Schema$OptimizationActivity { + /** + * Floodlight activity ID of this optimization activity. This is a required + * field. + */ + floodlightActivityId?: string; + /** + * Dimension value for the ID of the floodlight activity. This is a + * read-only, auto-generated field. + */ + floodlightActivityIdDimensionValue?: Schema$DimensionValue; + /** + * Weight associated with this optimization. The weight assigned will be + * understood in proportion to the weights assigned to the other + * optimization activities. Value must be greater than or equal to 1. + */ + weight?: number; + } + /** + * Describes properties of a Planning order. + */ + interface Schema$Order { + /** + * Account ID of this order. + */ + accountId?: string; + /** + * Advertiser ID of this order. + */ + advertiserId?: string; + /** + * IDs for users that have to approve documents created for this order. + */ + approverUserProfileIds?: string[]; + /** + * Buyer invoice ID associated with this order. + */ + buyerInvoiceId?: string; + /** + * Name of the buyer organization. + */ + buyerOrganizationName?: string; + /** + * Comments in this order. + */ + comments?: string; + /** + * Contacts for this order. + */ + contacts?: Schema$OrderContact[]; + /** + * ID of this order. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#order". + */ + kind?: string; + /** + * Information about the most recent modification of this order. + */ + lastModifiedInfo?: Schema$LastModifiedInfo; + /** + * Name of this order. + */ + name?: string; + /** + * Notes of this order. + */ + notes?: string; + /** + * ID of the terms and conditions template used in this order. + */ + planningTermId?: string; + /** + * Project ID of this order. + */ + projectId?: string; + /** + * Seller order ID associated with this order. + */ + sellerOrderId?: string; + /** + * Name of the seller organization. + */ + sellerOrganizationName?: string; + /** + * Site IDs this order is associated with. + */ + siteId?: string[]; + /** + * Free-form site names this order is associated with. + */ + siteNames?: string[]; + /** + * Subaccount ID of this order. + */ + subaccountId?: string; + /** + * Terms and conditions of this order. + */ + termsAndConditions?: string; + } + /** + * Contact of an order. + */ + interface Schema$OrderContact { + /** + * Free-form information about this contact. It could be any information + * related to this contact in addition to type, title, name, and signature + * user profile ID. + */ + contactInfo?: string; + /** + * Name of this contact. + */ + contactName?: string; + /** + * Title of this contact. + */ + contactTitle?: string; + /** + * Type of this contact. + */ + contactType?: string; + /** + * ID of the user profile containing the signature that will be embedded + * into order documents. + */ + signatureUserProfileId?: string; + } + /** + * Contains properties of a Planning order document. + */ + interface Schema$OrderDocument { + /** + * Account ID of this order document. + */ + accountId?: string; + /** + * Advertiser ID of this order document. + */ + advertiserId?: string; + /** + * The amended order document ID of this order document. An order document + * can be created by optionally amending another order document so that the + * change history can be preserved. + */ + amendedOrderDocumentId?: string; + /** + * IDs of users who have approved this order document. + */ + approvedByUserProfileIds?: string[]; + /** + * Whether this order document is cancelled. + */ + cancelled?: boolean; + /** + * Information about the creation of this order document. + */ + createdInfo?: Schema$LastModifiedInfo; + /** + * Effective date of this order document. + */ + effectiveDate?: string; + /** + * ID of this order document. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#orderDocument". + */ + kind?: string; + /** + * List of email addresses that received the last sent document. + */ + lastSentRecipients?: string[]; + /** + * Timestamp of the last email sent with this order document. + */ + lastSentTime?: string; + /** + * ID of the order from which this order document is created. + */ + orderId?: string; + /** + * Project ID of this order document. + */ + projectId?: string; + /** + * Whether this order document has been signed. + */ + signed?: boolean; + /** + * Subaccount ID of this order document. + */ + subaccountId?: string; + /** + * Title of this order document. + */ + title?: string; + /** + * Type of this order document + */ + type?: string; + } + /** + * Order document List Response + */ + interface Schema$OrderDocumentsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#orderDocumentsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + /** + * Order document collection + */ + orderDocuments?: Schema$OrderDocument[]; + } + /** + * Order List Response + */ + interface Schema$OrdersListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#ordersListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + /** + * Order collection. + */ + orders?: Schema$Order[]; + } + /** + * Represents fields that are compatible to be selected for a report of type + * "PATH_TO_CONVERSION". + */ + interface Schema$PathToConversionReportCompatibleFields { + /** + * Conversion dimensions which are compatible to be selected in the + * "conversionDimensions" section of the report. + */ + conversionDimensions?: Schema$Dimension[]; + /** + * Custom floodlight variables which are compatible to be selected in the + * "customFloodlightVariables" section of the report. + */ + customFloodlightVariables?: Schema$Dimension[]; + /** + * The kind of resource this is, in this case + * dfareporting#pathToConversionReportCompatibleFields. + */ + kind?: string; + /** + * Metrics which are compatible to be selected in the + * "metricNames" section of the report. + */ + metrics?: Schema$Metric[]; + /** + * Per-interaction dimensions which are compatible to be selected in the + * "perInteractionDimensions" section of the report. + */ + perInteractionDimensions?: Schema$Dimension[]; + } + /** + * Contains properties of a placement. + */ + interface Schema$Placement { + /** + * Account ID of this placement. This field can be left blank. + */ + accountId?: string; + /** + * Whether this placement opts out of ad blocking. When true, ad blocking is + * disabled for this placement. When false, the campaign and site settings + * take effect. + */ + adBlockingOptOut?: boolean; + /** + * Advertiser ID of this placement. This field can be left blank. + */ + advertiserId?: string; + /** + * Dimension value for the ID of the advertiser. This is a read-only, + * auto-generated field. + */ + advertiserIdDimensionValue?: Schema$DimensionValue; + /** + * Whether this placement is archived. + */ + archived?: boolean; + /** + * Campaign ID of this placement. This field is a required field on + * insertion. + */ + campaignId?: string; + /** + * Dimension value for the ID of the campaign. This is a read-only, + * auto-generated field. + */ + campaignIdDimensionValue?: Schema$DimensionValue; + /** + * Comments for this placement. + */ + comment?: string; + /** + * Placement compatibility. DISPLAY and DISPLAY_INTERSTITIAL refer to + * rendering on desktop, on mobile devices or in mobile apps for regular or + * interstitial ads respectively. APP and APP_INTERSTITIAL are no longer + * allowed for new placement insertions. Instead, use DISPLAY or + * DISPLAY_INTERSTITIAL. IN_STREAM_VIDEO refers to rendering in in-stream + * video ads developed with the VAST standard. This field is required on + * insertion. + */ + compatibility?: string; + /** + * ID of the content category assigned to this placement. + */ + contentCategoryId?: string; + /** + * Information about the creation of this placement. This is a read-only + * field. + */ + createInfo?: Schema$LastModifiedInfo; + /** + * Directory site ID of this placement. On insert, you must set either this + * field or the siteId field to specify the site associated with this + * placement. This is a required field that is read-only after insertion. + */ + directorySiteId?: string; + /** + * Dimension value for the ID of the directory site. This is a read-only, + * auto-generated field. + */ + directorySiteIdDimensionValue?: Schema$DimensionValue; + /** + * External ID for this placement. + */ + externalId?: string; + /** + * ID of this placement. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Dimension value for the ID of this placement. This is a read-only, + * auto-generated field. + */ + idDimensionValue?: Schema$DimensionValue; + /** + * Key name of this placement. This is a read-only, auto-generated field. + */ + keyName?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#placement". + */ + kind?: string; + /** + * Information about the most recent modification of this placement. This is + * a read-only field. + */ + lastModifiedInfo?: Schema$LastModifiedInfo; + /** + * Lookback window settings for this placement. + */ + lookbackConfiguration?: Schema$LookbackConfiguration; + /** + * Name of this placement.This is a required field and must be less than 256 + * characters long. + */ + name?: string; + /** + * Whether payment was approved for this placement. This is a read-only + * field relevant only to publisher-paid placements. + */ + paymentApproved?: boolean; + /** + * Payment source for this placement. This is a required field that is + * read-only after insertion. + */ + paymentSource?: string; + /** + * ID of this placement's group, if applicable. + */ + placementGroupId?: string; + /** + * Dimension value for the ID of the placement group. This is a read-only, + * auto-generated field. + */ + placementGroupIdDimensionValue?: Schema$DimensionValue; + /** + * ID of the placement strategy assigned to this placement. + */ + placementStrategyId?: string; + /** + * Pricing schedule of this placement. This field is required on insertion, + * specifically subfields startDate, endDate and pricingType. + */ + pricingSchedule?: Schema$PricingSchedule; + /** + * Whether this placement is the primary placement of a roadblock (placement + * group). You cannot change this field from true to false. Setting this + * field to true will automatically set the primary field on the original + * primary placement of the roadblock to false, and it will automatically + * set the roadblock's primaryPlacementId field to the ID of this + * placement. + */ + primary?: boolean; + /** + * Information about the last publisher update. This is a read-only field. + */ + publisherUpdateInfo?: Schema$LastModifiedInfo; + /** + * Site ID associated with this placement. On insert, you must set either + * this field or the directorySiteId field to specify the site associated + * with this placement. This is a required field that is read-only after + * insertion. + */ + siteId?: string; + /** + * Dimension value for the ID of the site. This is a read-only, + * auto-generated field. + */ + siteIdDimensionValue?: Schema$DimensionValue; + /** + * Size associated with this placement. When inserting or updating a + * placement, only the size ID field is used. This field is required on + * insertion. + */ + size?: Schema$Size; + /** + * Whether creatives assigned to this placement must be SSL-compliant. + */ + sslRequired?: boolean; + /** + * Third-party placement status. + */ + status?: string; + /** + * Subaccount ID of this placement. This field can be left blank. + */ + subaccountId?: string; + /** + * Tag formats to generate for this placement. This field is required on + * insertion. Acceptable values are: - "PLACEMENT_TAG_STANDARD" - + * "PLACEMENT_TAG_IFRAME_JAVASCRIPT" - + * "PLACEMENT_TAG_IFRAME_ILAYER" - + * "PLACEMENT_TAG_INTERNAL_REDIRECT" - + * "PLACEMENT_TAG_JAVASCRIPT" - + * "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT" - + * "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT" - + * "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT" - + * "PLACEMENT_TAG_CLICK_COMMANDS" - + * "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH" - + * "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3" - + * "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4" - + * "PLACEMENT_TAG_TRACKING" - + * "PLACEMENT_TAG_TRACKING_IFRAME" - + * "PLACEMENT_TAG_TRACKING_JAVASCRIPT" + */ + tagFormats?: string[]; + /** + * Tag settings for this placement. + */ + tagSetting?: Schema$TagSetting; + /** + * Whether Verification and ActiveView are disabled for in-stream video + * creatives for this placement. The same setting videoActiveViewOptOut + * exists on the site level -- the opt out occurs if either of these + * settings are true. These settings are distinct from + * DirectorySites.settings.activeViewOptOut or + * Sites.siteSettings.activeViewOptOut which only apply to display ads. + * However, Accounts.activeViewOptOut opts out both video traffic, as well + * as display ads, from Verification and ActiveView. + */ + videoActiveViewOptOut?: boolean; + /** + * A collection of settings which affect video creatives served through this + * placement. Applicable to placements with IN_STREAM_VIDEO compatibility. + */ + videoSettings?: Schema$VideoSettings; + /** + * VPAID adapter setting for this placement. Controls which VPAID format the + * measurement adapter will use for in-stream video creatives assigned to + * this placement. Note: Flash is no longer supported. This field now + * defaults to HTML5 when the following values are provided: FLASH, BOTH. + */ + vpaidAdapterChoice?: string; + } + /** + * Placement Assignment. + */ + interface Schema$PlacementAssignment { + /** + * Whether this placement assignment is active. When true, the placement + * will be included in the ad's rotation. + */ + active?: boolean; + /** + * ID of the placement to be assigned. This is a required field. + */ + placementId?: string; + /** + * Dimension value for the ID of the placement. This is a read-only, + * auto-generated field. + */ + placementIdDimensionValue?: Schema$DimensionValue; + /** + * Whether the placement to be assigned requires SSL. This is a read-only + * field that is auto-generated when the ad is inserted or updated. + */ + sslRequired?: boolean; + } + /** + * Contains properties of a package or roadblock. + */ + interface Schema$PlacementGroup { + /** + * Account ID of this placement group. This is a read-only field that can be + * left blank. + */ + accountId?: string; + /** + * Advertiser ID of this placement group. This is a required field on + * insertion. + */ + advertiserId?: string; + /** + * Dimension value for the ID of the advertiser. This is a read-only, + * auto-generated field. + */ + advertiserIdDimensionValue?: Schema$DimensionValue; + /** + * Whether this placement group is archived. + */ + archived?: boolean; + /** + * Campaign ID of this placement group. This field is required on insertion. + */ + campaignId?: string; + /** + * Dimension value for the ID of the campaign. This is a read-only, + * auto-generated field. + */ + campaignIdDimensionValue?: Schema$DimensionValue; + /** + * IDs of placements which are assigned to this placement group. This is a + * read-only, auto-generated field. + */ + childPlacementIds?: string[]; + /** + * Comments for this placement group. + */ + comment?: string; + /** + * ID of the content category assigned to this placement group. + */ + contentCategoryId?: string; + /** + * Information about the creation of this placement group. This is a + * read-only field. + */ + createInfo?: Schema$LastModifiedInfo; + /** + * Directory site ID associated with this placement group. On insert, you + * must set either this field or the site_id field to specify the site + * associated with this placement group. This is a required field that is + * read-only after insertion. + */ + directorySiteId?: string; + /** + * Dimension value for the ID of the directory site. This is a read-only, + * auto-generated field. + */ + directorySiteIdDimensionValue?: Schema$DimensionValue; + /** + * External ID for this placement. + */ + externalId?: string; + /** + * ID of this placement group. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Dimension value for the ID of this placement group. This is a read-only, + * auto-generated field. + */ + idDimensionValue?: Schema$DimensionValue; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#placementGroup". + */ + kind?: string; + /** + * Information about the most recent modification of this placement group. + * This is a read-only field. + */ + lastModifiedInfo?: Schema$LastModifiedInfo; + /** + * Name of this placement group. This is a required field and must be less + * than 256 characters long. + */ + name?: string; + /** + * Type of this placement group. A package is a simple group of placements + * that acts as a single pricing point for a group of tags. A roadblock is a + * group of placements that not only acts as a single pricing point, but + * also assumes that all the tags in it will be served at the same time. A + * roadblock requires one of its assigned placements to be marked as primary + * for reporting. This field is required on insertion. + */ + placementGroupType?: string; + /** + * ID of the placement strategy assigned to this placement group. + */ + placementStrategyId?: string; + /** + * Pricing schedule of this placement group. This field is required on + * insertion. + */ + pricingSchedule?: Schema$PricingSchedule; + /** + * ID of the primary placement, used to calculate the media cost of a + * roadblock (placement group). Modifying this field will automatically + * modify the primary field on all affected roadblock child placements. + */ + primaryPlacementId?: string; + /** + * Dimension value for the ID of the primary placement. This is a read-only, + * auto-generated field. + */ + primaryPlacementIdDimensionValue?: Schema$DimensionValue; + /** + * Site ID associated with this placement group. On insert, you must set + * either this field or the directorySiteId field to specify the site + * associated with this placement group. This is a required field that is + * read-only after insertion. + */ + siteId?: string; + /** + * Dimension value for the ID of the site. This is a read-only, + * auto-generated field. + */ + siteIdDimensionValue?: Schema$DimensionValue; + /** + * Subaccount ID of this placement group. This is a read-only field that can + * be left blank. + */ + subaccountId?: string; + } + /** + * Placement Group List Response + */ + interface Schema$PlacementGroupsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#placementGroupsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + /** + * Placement group collection. + */ + placementGroups?: Schema$PlacementGroup[]; + } + /** + * Placement GenerateTags Response + */ + interface Schema$PlacementsGenerateTagsResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#placementsGenerateTagsResponse". + */ + kind?: string; + /** + * Set of generated tags for the specified placements. + */ + placementTags?: Schema$PlacementTag[]; + } + /** + * Placement List Response + */ + interface Schema$PlacementsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#placementsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + /** + * Placement collection. + */ + placements?: Schema$Placement[]; + } + /** + * Placement Strategy List Response + */ + interface Schema$PlacementStrategiesListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#placementStrategiesListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + /** + * Placement strategy collection. + */ + placementStrategies?: Schema$PlacementStrategy[]; + } + /** + * Contains properties of a placement strategy. + */ + interface Schema$PlacementStrategy { + /** + * Account ID of this placement strategy.This is a read-only field that can + * be left blank. + */ + accountId?: string; + /** + * ID of this placement strategy. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#placementStrategy". + */ + kind?: string; + /** + * Name of this placement strategy. This is a required field. It must be + * less than 256 characters long and unique among placement strategies of + * the same account. + */ + name?: string; + } + /** + * Placement Tag + */ + interface Schema$PlacementTag { + /** + * Placement ID + */ + placementId?: string; + /** + * Tags generated for this placement. + */ + tagDatas?: Schema$TagData[]; + } + /** + * Contains information about a platform type that can be targeted by ads. + */ + interface Schema$PlatformType { + /** + * ID of this platform type. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#platformType". + */ + kind?: string; + /** + * Name of this platform type. + */ + name?: string; + } + /** + * Platform Type List Response + */ + interface Schema$PlatformTypesListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#platformTypesListResponse". + */ + kind?: string; + /** + * Platform type collection. + */ + platformTypes?: Schema$PlatformType[]; + } + /** + * Popup Window Properties. + */ + interface Schema$PopupWindowProperties { + /** + * Popup dimension for a creative. This is a read-only field. Applicable to + * the following creative types: all RICH_MEDIA and all VPAID + */ + dimension?: Schema$Size; + /** + * Upper-left corner coordinates of the popup window. Applicable if + * positionType is COORDINATES. + */ + offset?: Schema$OffsetPosition; + /** + * Popup window position either centered or at specific coordinate. + */ + positionType?: string; + /** + * Whether to display the browser address bar. + */ + showAddressBar?: boolean; + /** + * Whether to display the browser menu bar. + */ + showMenuBar?: boolean; + /** + * Whether to display the browser scroll bar. + */ + showScrollBar?: boolean; + /** + * Whether to display the browser status bar. + */ + showStatusBar?: boolean; + /** + * Whether to display the browser tool bar. + */ + showToolBar?: boolean; + /** + * Title of popup window. + */ + title?: string; + } + /** + * Contains information about a postal code that can be targeted by ads. + */ + interface Schema$PostalCode { + /** + * Postal code. This is equivalent to the id field. + */ + code?: string; + /** + * Country code of the country to which this postal code belongs. + */ + countryCode?: string; + /** + * DART ID of the country to which this postal code belongs. + */ + countryDartId?: string; + /** + * ID of this postal code. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#postalCode". + */ + kind?: string; + } + /** + * Postal Code List Response + */ + interface Schema$PostalCodesListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#postalCodesListResponse". + */ + kind?: string; + /** + * Postal code collection. + */ + postalCodes?: Schema$PostalCode[]; + } + /** + * Pricing Information + */ + interface Schema$Pricing { + /** + * Cap cost type of this inventory item. + */ + capCostType?: string; + /** + * End date of this inventory item. + */ + endDate?: string; + /** + * Flights of this inventory item. A flight (a.k.a. pricing period) + * represents the inventory item pricing information for a specific period + * of time. + */ + flights?: Schema$Flight[]; + /** + * Group type of this inventory item if it represents a placement group. Is + * null otherwise. There are two type of placement groups: + * PLANNING_PLACEMENT_GROUP_TYPE_PACKAGE is a simple group of inventory + * items that acts as a single pricing point for a group of tags. + * PLANNING_PLACEMENT_GROUP_TYPE_ROADBLOCK is a group of inventory items + * that not only acts as a single pricing point, but also assumes that all + * the tags in it will be served at the same time. A roadblock requires one + * of its assigned inventory items to be marked as primary. + */ + groupType?: string; + /** + * Pricing type of this inventory item. + */ + pricingType?: string; + /** + * Start date of this inventory item. + */ + startDate?: string; + } + /** + * Pricing Schedule + */ + interface Schema$PricingSchedule { + /** + * Placement cap cost option. + */ + capCostOption?: string; + /** + * Whether cap costs are ignored by ad serving. + */ + disregardOverdelivery?: boolean; + /** + * Placement end date. This date must be later than, or the same day as, the + * placement start date, but not later than the campaign end date. If, for + * example, you set 6/25/2015 as both the start and end dates, the effective + * placement date is just that day only, 6/25/2015. The hours, minutes, and + * seconds of the end date should not be set, as doing so will result in an + * error. This field is required on insertion. + */ + endDate?: string; + /** + * Whether this placement is flighted. If true, pricing periods will be + * computed automatically. + */ + flighted?: boolean; + /** + * Floodlight activity ID associated with this placement. This field should + * be set when placement pricing type is set to PRICING_TYPE_CPA. + */ + floodlightActivityId?: string; + /** + * Pricing periods for this placement. + */ + pricingPeriods?: Schema$PricingSchedulePricingPeriod[]; + /** + * Placement pricing type. This field is required on insertion. + */ + pricingType?: string; + /** + * Placement start date. This date must be later than, or the same day as, + * the campaign start date. The hours, minutes, and seconds of the start + * date should not be set, as doing so will result in an error. This field + * is required on insertion. + */ + startDate?: string; + /** + * Testing start date of this placement. The hours, minutes, and seconds of + * the start date should not be set, as doing so will result in an error. + */ + testingStartDate?: string; + } + /** + * Pricing Period + */ + interface Schema$PricingSchedulePricingPeriod { + /** + * Pricing period end date. This date must be later than, or the same day + * as, the pricing period start date, but not later than the placement end + * date. The period end date can be the same date as the period start date. + * If, for example, you set 6/25/2015 as both the start and end dates, the + * effective pricing period date is just that day only, 6/25/2015. The + * hours, minutes, and seconds of the end date should not be set, as doing + * so will result in an error. + */ + endDate?: string; + /** + * Comments for this pricing period. + */ + pricingComment?: string; + /** + * Rate or cost of this pricing period in nanos (i.e., multipled by + * 1000000000). Acceptable values are 0 to 1000000000000000000, inclusive. + */ + rateOrCostNanos?: string; + /** + * Pricing period start date. This date must be later than, or the same day + * as, the placement start date. The hours, minutes, and seconds of the + * start date should not be set, as doing so will result in an error. + */ + startDate?: string; + /** + * Units of this pricing period. Acceptable values are 0 to 10000000000, + * inclusive. + */ + units?: string; + } + /** + * Contains properties of a Planning project. + */ + interface Schema$Project { + /** + * Account ID of this project. + */ + accountId?: string; + /** + * Advertiser ID of this project. + */ + advertiserId?: string; + /** + * Audience age group of this project. + */ + audienceAgeGroup?: string; + /** + * Audience gender of this project. + */ + audienceGender?: string; + /** + * Budget of this project in the currency specified by the current account. + * The value stored in this field represents only the non-fractional amount. + * For example, for USD, the smallest value that can be represented by this + * field is 1 US dollar. + */ + budget?: string; + /** + * Client billing code of this project. + */ + clientBillingCode?: string; + /** + * Name of the project client. + */ + clientName?: string; + /** + * End date of the project. + */ + endDate?: string; + /** + * ID of this project. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#project". + */ + kind?: string; + /** + * Information about the most recent modification of this project. + */ + lastModifiedInfo?: Schema$LastModifiedInfo; + /** + * Name of this project. + */ + name?: string; + /** + * Overview of this project. + */ + overview?: string; + /** + * Start date of the project. + */ + startDate?: string; + /** + * Subaccount ID of this project. + */ + subaccountId?: string; + /** + * Number of clicks that the advertiser is targeting. + */ + targetClicks?: string; + /** + * Number of conversions that the advertiser is targeting. + */ + targetConversions?: string; + /** + * CPA that the advertiser is targeting. + */ + targetCpaNanos?: string; + /** + * CPC that the advertiser is targeting. + */ + targetCpcNanos?: string; + /** + * vCPM from Active View that the advertiser is targeting. + */ + targetCpmActiveViewNanos?: string; + /** + * CPM that the advertiser is targeting. + */ + targetCpmNanos?: string; + /** + * Number of impressions that the advertiser is targeting. + */ + targetImpressions?: string; + } + /** + * Project List Response + */ + interface Schema$ProjectsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#projectsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + /** + * Project collection. + */ + projects?: Schema$Project[]; + } + /** + * Represents fields that are compatible to be selected for a report of type + * "REACH". + */ + interface Schema$ReachReportCompatibleFields { + /** + * Dimensions which are compatible to be selected in the + * "dimensionFilters" section of the report. + */ + dimensionFilters?: Schema$Dimension[]; + /** + * Dimensions which are compatible to be selected in the + * "dimensions" section of the report. + */ + dimensions?: Schema$Dimension[]; + /** + * The kind of resource this is, in this case + * dfareporting#reachReportCompatibleFields. + */ + kind?: string; + /** + * Metrics which are compatible to be selected in the + * "metricNames" section of the report. + */ + metrics?: Schema$Metric[]; + /** + * Metrics which are compatible to be selected as activity metrics to pivot + * on in the "activities" section of the report. + */ + pivotedActivityMetrics?: Schema$Metric[]; + /** + * Metrics which are compatible to be selected in the + * "reachByFrequencyMetricNames" section of the report. + */ + reachByFrequencyMetrics?: Schema$Metric[]; + } + /** + * Represents a recipient. + */ + interface Schema$Recipient { + /** + * The delivery type for the recipient. + */ + deliveryType?: string; + /** + * The email address of the recipient. + */ + email?: string; + /** + * The kind of resource this is, in this case dfareporting#recipient. + */ + kind?: string; + } + /** + * Contains information about a region that can be targeted by ads. + */ + interface Schema$Region { + /** + * Country code of the country to which this region belongs. + */ + countryCode?: string; + /** + * DART ID of the country to which this region belongs. + */ + countryDartId?: string; + /** + * DART ID of this region. + */ + dartId?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#region". + */ + kind?: string; + /** + * Name of this region. + */ + name?: string; + /** + * Region code. + */ + regionCode?: string; + } + /** + * Region List Response + */ + interface Schema$RegionsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#regionsListResponse". + */ + kind?: string; + /** + * Region collection. + */ + regions?: Schema$Region[]; + } + /** + * Contains properties of a remarketing list. Remarketing enables you to + * create lists of users who have performed specific actions on a site, then + * target ads to members of those lists. This resource can be used to manage + * remarketing lists that are owned by your advertisers. To see all + * remarketing lists that are visible to your advertisers, including those + * that are shared to your advertiser or account, use the + * TargetableRemarketingLists resource. + */ + interface Schema$RemarketingList { + /** + * Account ID of this remarketing list. This is a read-only, auto-generated + * field that is only returned in GET requests. + */ + accountId?: string; + /** + * Whether this remarketing list is active. + */ + active?: boolean; + /** + * Dimension value for the advertiser ID that owns this remarketing list. + * This is a required field. + */ + advertiserId?: string; + /** + * Dimension value for the ID of the advertiser. This is a read-only, + * auto-generated field. + */ + advertiserIdDimensionValue?: Schema$DimensionValue; + /** + * Remarketing list description. + */ + description?: string; + /** + * Remarketing list ID. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#remarketingList". + */ + kind?: string; + /** + * Number of days that a user should remain in the remarketing list without + * an impression. Acceptable values are 1 to 540, inclusive. + */ + lifeSpan?: string; + /** + * Rule used to populate the remarketing list with users. + */ + listPopulationRule?: Schema$ListPopulationRule; + /** + * Number of users currently in the list. This is a read-only field. + */ + listSize?: string; + /** + * Product from which this remarketing list was originated. + */ + listSource?: string; + /** + * Name of the remarketing list. This is a required field. Must be no + * greater than 128 characters long. + */ + name?: string; + /** + * Subaccount ID of this remarketing list. This is a read-only, + * auto-generated field that is only returned in GET requests. + */ + subaccountId?: string; + } + /** + * Contains properties of a remarketing list's sharing information. + * Sharing allows other accounts or advertisers to target to your remarketing + * lists. This resource can be used to manage remarketing list sharing to + * other accounts and advertisers. + */ + interface Schema$RemarketingListShare { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#remarketingListShare". + */ + kind?: string; + /** + * Remarketing list ID. This is a read-only, auto-generated field. + */ + remarketingListId?: string; + /** + * Accounts that the remarketing list is shared with. + */ + sharedAccountIds?: string[]; + /** + * Advertisers that the remarketing list is shared with. + */ + sharedAdvertiserIds?: string[]; + } + /** + * Remarketing list response + */ + interface Schema$RemarketingListsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#remarketingListsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + /** + * Remarketing list collection. + */ + remarketingLists?: Schema$RemarketingList[]; + } + /** + * Represents a Report resource. + */ + interface Schema$Report { + /** + * The account ID to which this report belongs. + */ + accountId?: string; + /** + * The report criteria for a report of type "STANDARD". + */ + criteria?: any; + /** + * The report criteria for a report of type + * "CROSS_DIMENSION_REACH". + */ + crossDimensionReachCriteria?: any; + /** + * The report's email delivery settings. + */ + delivery?: any; + /** + * The eTag of this response for caching purposes. + */ + etag?: string; + /** + * The filename used when generating report files for this report. + */ + fileName?: string; + /** + * The report criteria for a report of type "FLOODLIGHT". + */ + floodlightCriteria?: any; + /** + * The output format of the report. If not specified, default format is + * "CSV". Note that the actual format in the completed report file + * might differ if for instance the report's size exceeds the + * format's capabilities. "CSV" will then be the fallback + * format. + */ + format?: string; + /** + * The unique ID identifying this report resource. + */ + id?: string; + /** + * The kind of resource this is, in this case dfareporting#report. + */ + kind?: string; + /** + * The timestamp (in milliseconds since epoch) of when this report was last + * modified. + */ + lastModifiedTime?: string; + /** + * The name of the report. + */ + name?: string; + /** + * The user profile id of the owner of this report. + */ + ownerProfileId?: string; + /** + * The report criteria for a report of type "PATH_TO_CONVERSION". + */ + pathToConversionCriteria?: any; + /** + * The report criteria for a report of type "REACH". + */ + reachCriteria?: any; + /** + * The report's schedule. Can only be set if the report's + * 'dateRange' is a relative date range and the relative date range + * is not "TODAY". + */ + schedule?: any; + /** + * The subaccount ID to which this report belongs if applicable. + */ + subAccountId?: string; + /** + * The type of the report. + */ + type?: string; + } + /** + * Represents fields that are compatible to be selected for a report of type + * "STANDARD". + */ + interface Schema$ReportCompatibleFields { + /** + * Dimensions which are compatible to be selected in the + * "dimensionFilters" section of the report. + */ + dimensionFilters?: Schema$Dimension[]; + /** + * Dimensions which are compatible to be selected in the + * "dimensions" section of the report. + */ + dimensions?: Schema$Dimension[]; + /** + * The kind of resource this is, in this case + * dfareporting#reportCompatibleFields. + */ + kind?: string; + /** + * Metrics which are compatible to be selected in the + * "metricNames" section of the report. + */ + metrics?: Schema$Metric[]; + /** + * Metrics which are compatible to be selected as activity metrics to pivot + * on in the "activities" section of the report. + */ + pivotedActivityMetrics?: Schema$Metric[]; + } + /** + * Represents the list of reports. + */ + interface Schema$ReportList { + /** + * The eTag of this response for caching purposes. + */ + etag?: string; + /** + * The reports returned in this response. + */ + items?: Schema$Report[]; + /** + * The kind of list this is, in this case dfareporting#reportList. + */ + kind?: string; + /** + * Continuation token used to page through reports. To retrieve the next + * page of results, set the next request's "pageToken" to the + * value of this field. The page token is only valid for a limited amount of + * time and should not be persisted. + */ + nextPageToken?: string; + } + /** + * Reporting Configuration + */ + interface Schema$ReportsConfiguration { + /** + * Whether the exposure to conversion report is enabled. This report shows + * detailed pathway information on up to 10 of the most recent ad exposures + * seen by a user before converting. + */ + exposureToConversionEnabled?: boolean; + /** + * Default lookback windows for new advertisers in this account. + */ + lookbackConfiguration?: Schema$LookbackConfiguration; + /** + * Report generation time zone ID of this account. This is a required field + * that can only be changed by a superuser. Acceptable values are: - + * "1" for "America/New_York" - "2" for + * "Europe/London" - "3" for "Europe/Paris" + * - "4" for "Africa/Johannesburg" - "5" for + * "Asia/Jerusalem" - "6" for "Asia/Shanghai" + * - "7" for "Asia/Hong_Kong" - "8" for + * "Asia/Tokyo" - "9" for "Australia/Sydney" + * - "10" for "Asia/Dubai" - "11" for + * "America/Los_Angeles" - "12" for + * "Pacific/Auckland" - "13" for + * "America/Sao_Paulo" + */ + reportGenerationTimeZoneId?: string; + } + /** + * Rich Media Exit Override. + */ + interface Schema$RichMediaExitOverride { + /** + * Click-through URL of this rich media exit override. Applicable if the + * enabled field is set to true. + */ + clickThroughUrl?: Schema$ClickThroughUrl; + /** + * Whether to use the clickThroughUrl. If false, the creative-level exit + * will be used. + */ + enabled?: boolean; + /** + * ID for the override to refer to a specific exit in the creative. + */ + exitId?: string; + } + /** + * A rule associates an asset with a targeting template for asset-level + * targeting. Applicable to INSTREAM_VIDEO creatives. + */ + interface Schema$Rule { + /** + * A creativeAssets[].id. This should refer to one of the parent assets in + * this creative. This is a required field. + */ + assetId?: string; + /** + * A user-friendly name for this rule. This is a required field. + */ + name?: string; + /** + * A targeting template ID. The targeting from the targeting template will + * be used to determine whether this asset should be served. This is a + * required field. + */ + targetingTemplateId?: string; + } + /** + * Contains properties of a site. + */ + interface Schema$Site { + /** + * Account ID of this site. This is a read-only field that can be left + * blank. + */ + accountId?: string; + /** + * Whether this site is approved. + */ + approved?: boolean; + /** + * Directory site associated with this site. This is a required field that + * is read-only after insertion. + */ + directorySiteId?: string; + /** + * Dimension value for the ID of the directory site. This is a read-only, + * auto-generated field. + */ + directorySiteIdDimensionValue?: Schema$DimensionValue; + /** + * ID of this site. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Dimension value for the ID of this site. This is a read-only, + * auto-generated field. + */ + idDimensionValue?: Schema$DimensionValue; + /** + * Key name of this site. This is a read-only, auto-generated field. + */ + keyName?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#site". + */ + kind?: string; + /** + * Name of this site.This is a required field. Must be less than 128 + * characters long. If this site is under a subaccount, the name must be + * unique among sites of the same subaccount. Otherwise, this site is a + * top-level site, and the name must be unique among top-level sites of the + * same account. + */ + name?: string; + /** + * Site contacts. + */ + siteContacts?: Schema$SiteContact[]; + /** + * Site-wide settings. + */ + siteSettings?: Schema$SiteSettings; + /** + * Subaccount ID of this site. This is a read-only field that can be left + * blank. + */ + subaccountId?: string; + } + /** + * Site Contact + */ + interface Schema$SiteContact { + /** + * Address of this site contact. + */ + address?: string; + /** + * Site contact type. + */ + contactType?: string; + /** + * Email address of this site contact. This is a required field. + */ + email?: string; + /** + * First name of this site contact. + */ + firstName?: string; + /** + * ID of this site contact. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Last name of this site contact. + */ + lastName?: string; + /** + * Primary phone number of this site contact. + */ + phone?: string; + /** + * Title or designation of this site contact. + */ + title?: string; + } + /** + * Site Settings + */ + interface Schema$SiteSettings { + /** + * Whether active view creatives are disabled for this site. + */ + activeViewOptOut?: boolean; + /** + * Whether this site opts out of ad blocking. When true, ad blocking is + * disabled for all placements under the site, regardless of the individual + * placement settings. When false, the campaign and placement settings take + * effect. + */ + adBlockingOptOut?: boolean; + /** + * Site-wide creative settings. + */ + creativeSettings?: Schema$CreativeSettings; + /** + * Whether new cookies are disabled for this site. + */ + disableNewCookie?: boolean; + /** + * Lookback window settings for this site. + */ + lookbackConfiguration?: Schema$LookbackConfiguration; + /** + * Configuration settings for dynamic and image floodlight tags. + */ + tagSetting?: Schema$TagSetting; + /** + * Whether Verification and ActiveView for in-stream video creatives are + * disabled by default for new placements created under this site. This + * value will be used to populate the placement.videoActiveViewOptOut field, + * when no value is specified for the new placement. + */ + videoActiveViewOptOutTemplate?: boolean; + /** + * Default VPAID adapter setting for new placements created under this site. + * This value will be used to populate the placements.vpaidAdapterChoice + * field, when no value is specified for the new placement. Controls which + * VPAID format the measurement adapter will use for in-stream video + * creatives assigned to the placement. The publisher's specifications + * will typically determine this setting. For VPAID creatives, the adapter + * format will match the VPAID format (HTML5 VPAID creatives use the HTML5 + * adapter). Note: Flash is no longer supported. This field now defaults to + * HTML5 when the following values are provided: FLASH, BOTH. + */ + vpaidAdapterChoiceTemplate?: string; + } + /** + * Site List Response + */ + interface Schema$SitesListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#sitesListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + /** + * Site collection. + */ + sites?: Schema$Site[]; + } + /** + * Represents the dimensions of ads, placements, creatives, or creative + * assets. + */ + interface Schema$Size { + /** + * Height of this size. Acceptable values are 0 to 32767, inclusive. + */ + height?: number; + /** + * IAB standard size. This is a read-only, auto-generated field. + */ + iab?: boolean; + /** + * ID of this size. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#size". + */ + kind?: string; + /** + * Width of this size. Acceptable values are 0 to 32767, inclusive. + */ + width?: number; + } + /** + * Size List Response + */ + interface Schema$SizesListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#sizesListResponse". + */ + kind?: string; + /** + * Size collection. + */ + sizes?: Schema$Size[]; + } + /** + * Skippable Settings + */ + interface Schema$SkippableSetting { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#skippableSetting". + */ + kind?: string; + /** + * Amount of time to play videos served to this placement before counting a + * view. Applicable when skippable is true. + */ + progressOffset?: Schema$VideoOffset; + /** + * Amount of time to play videos served to this placement before the skip + * button should appear. Applicable when skippable is true. + */ + skipOffset?: Schema$VideoOffset; + /** + * Whether the user can skip creatives served to this placement. + */ + skippable?: boolean; + } + /** + * Represents a sorted dimension. + */ + interface Schema$SortedDimension { + /** + * The kind of resource this is, in this case dfareporting#sortedDimension. + */ + kind?: string; + /** + * The name of the dimension. + */ + name?: string; + /** + * An optional sort order for the dimension column. + */ + sortOrder?: string; + } + /** + * Contains properties of a Campaign Manager subaccount. + */ + interface Schema$Subaccount { + /** + * ID of the account that contains this subaccount. This is a read-only + * field that can be left blank. + */ + accountId?: string; + /** + * IDs of the available user role permissions for this subaccount. + */ + availablePermissionIds?: string[]; + /** + * ID of this subaccount. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#subaccount". + */ + kind?: string; + /** + * Name of this subaccount. This is a required field. Must be less than 128 + * characters long and be unique among subaccounts of the same account. + */ + name?: string; + } + /** + * Subaccount List Response + */ + interface Schema$SubaccountsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#subaccountsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + /** + * Subaccount collection. + */ + subaccounts?: Schema$Subaccount[]; + } + /** + * Placement Tag Data + */ + interface Schema$TagData { + /** + * Ad associated with this placement tag. Applicable only when format is + * PLACEMENT_TAG_TRACKING. + */ + adId?: string; + /** + * Tag string to record a click. + */ + clickTag?: string; + /** + * Creative associated with this placement tag. Applicable only when format + * is PLACEMENT_TAG_TRACKING. + */ + creativeId?: string; + /** + * TagData tag format of this tag. + */ + format?: string; + /** + * Tag string for serving an ad. + */ + impressionTag?: string; + } + /** + * Tag Settings + */ + interface Schema$TagSetting { + /** + * Additional key-values to be included in tags. Each key-value pair must be + * of the form key=value, and pairs must be separated by a semicolon (;). + * Keys and values must not contain commas. For example, id=2;color=red is a + * valid value for this field. + */ + additionalKeyValues?: string; + /** + * Whether static landing page URLs should be included in the tags. This + * setting applies only to placements. + */ + includeClickThroughUrls?: boolean; + /** + * Whether click-tracking string should be included in the tags. + */ + includeClickTracking?: boolean; + /** + * Option specifying how keywords are embedded in ad tags. This setting can + * be used to specify whether keyword placeholders are inserted in placement + * tags for this site. Publishers can then add keywords to those + * placeholders. + */ + keywordOption?: string; + } + /** + * Dynamic and Image Tag Settings. + */ + interface Schema$TagSettings { + /** + * Whether dynamic floodlight tags are enabled. + */ + dynamicTagEnabled?: boolean; + /** + * Whether image tags are enabled. + */ + imageTagEnabled?: boolean; + } + /** + * Contains properties of a targetable remarketing list. Remarketing enables + * you to create lists of users who have performed specific actions on a site, + * then target ads to members of those lists. This resource is a read-only + * view of a remarketing list to be used to faciliate targeting ads to + * specific lists. Remarketing lists that are owned by your advertisers and + * those that are shared to your advertisers or account are accessible via + * this resource. To manage remarketing lists that are owned by your + * advertisers, use the RemarketingLists resource. + */ + interface Schema$TargetableRemarketingList { + /** + * Account ID of this remarketing list. This is a read-only, auto-generated + * field that is only returned in GET requests. + */ + accountId?: string; + /** + * Whether this targetable remarketing list is active. + */ + active?: boolean; + /** + * Dimension value for the advertiser ID that owns this targetable + * remarketing list. + */ + advertiserId?: string; + /** + * Dimension value for the ID of the advertiser. + */ + advertiserIdDimensionValue?: Schema$DimensionValue; + /** + * Targetable remarketing list description. + */ + description?: string; + /** + * Targetable remarketing list ID. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#targetableRemarketingList". + */ + kind?: string; + /** + * Number of days that a user should remain in the targetable remarketing + * list without an impression. + */ + lifeSpan?: string; + /** + * Number of users currently in the list. This is a read-only field. + */ + listSize?: string; + /** + * Product from which this targetable remarketing list was originated. + */ + listSource?: string; + /** + * Name of the targetable remarketing list. Is no greater than 128 + * characters long. + */ + name?: string; + /** + * Subaccount ID of this remarketing list. This is a read-only, + * auto-generated field that is only returned in GET requests. + */ + subaccountId?: string; + } + /** + * Targetable remarketing list response + */ + interface Schema$TargetableRemarketingListsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#targetableRemarketingListsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + /** + * Targetable remarketing list collection. + */ + targetableRemarketingLists?: Schema$TargetableRemarketingList[]; + } + /** + * Contains properties of a targeting template. A targeting template + * encapsulates targeting information which can be reused across multiple ads. + */ + interface Schema$TargetingTemplate { + /** + * Account ID of this targeting template. This field, if left unset, will be + * auto-generated on insert and is read-only after insert. + */ + accountId?: string; + /** + * Advertiser ID of this targeting template. This is a required field on + * insert and is read-only after insert. + */ + advertiserId?: string; + /** + * Dimension value for the ID of the advertiser. This is a read-only, + * auto-generated field. + */ + advertiserIdDimensionValue?: Schema$DimensionValue; + /** + * Time and day targeting criteria. + */ + dayPartTargeting?: Schema$DayPartTargeting; + /** + * Geographical targeting criteria. + */ + geoTargeting?: Schema$GeoTargeting; + /** + * ID of this targeting template. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Key-value targeting criteria. + */ + keyValueTargetingExpression?: Schema$KeyValueTargetingExpression; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#targetingTemplate". + */ + kind?: string; + /** + * Language targeting criteria. + */ + languageTargeting?: Schema$LanguageTargeting; + /** + * Remarketing list targeting criteria. + */ + listTargetingExpression?: Schema$ListTargetingExpression; + /** + * Name of this targeting template. This field is required. It must be less + * than 256 characters long and unique within an advertiser. + */ + name?: string; + /** + * Subaccount ID of this targeting template. This field, if left unset, will + * be auto-generated on insert and is read-only after insert. + */ + subaccountId?: string; + /** + * Technology platform targeting criteria. + */ + technologyTargeting?: Schema$TechnologyTargeting; + } + /** + * Targeting Template List Response + */ + interface Schema$TargetingTemplatesListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#targetingTemplatesListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + /** + * Targeting template collection. + */ + targetingTemplates?: Schema$TargetingTemplate[]; + } + /** + * Target Window. + */ + interface Schema$TargetWindow { + /** + * User-entered value. + */ + customHtml?: string; + /** + * Type of browser window for which the backup image of the flash creative + * can be displayed. + */ + targetWindowOption?: string; + } + /** + * Technology Targeting. + */ + interface Schema$TechnologyTargeting { + /** + * Browsers that this ad targets. For each browser either set + * browserVersionId or dartId along with the version numbers. If both are + * specified, only browserVersionId will be used. The other fields are + * populated automatically when the ad is inserted or updated. + */ + browsers?: Schema$Browser[]; + /** + * Connection types that this ad targets. For each connection type only id + * is required. The other fields are populated automatically when the ad is + * inserted or updated. + */ + connectionTypes?: Schema$ConnectionType[]; + /** + * Mobile carriers that this ad targets. For each mobile carrier only id is + * required, and the other fields are populated automatically when the ad is + * inserted or updated. If targeting a mobile carrier, do not set targeting + * for any zip codes. + */ + mobileCarriers?: Schema$MobileCarrier[]; + /** + * Operating systems that this ad targets. To target specific versions, use + * operatingSystemVersions. For each operating system only dartId is + * required. The other fields are populated automatically when the ad is + * inserted or updated. If targeting an operating system, do not set + * targeting for operating system versions for the same operating system. + */ + operatingSystems?: Schema$OperatingSystem[]; + /** + * Operating system versions that this ad targets. To target all versions, + * use operatingSystems. For each operating system version, only id is + * required. The other fields are populated automatically when the ad is + * inserted or updated. If targeting an operating system version, do not set + * targeting for the corresponding operating system in operatingSystems. + */ + operatingSystemVersions?: Schema$OperatingSystemVersion[]; + /** + * Platform types that this ad targets. For example, desktop, mobile, or + * tablet. For each platform type, only id is required, and the other fields + * are populated automatically when the ad is inserted or updated. + */ + platformTypes?: Schema$PlatformType[]; + } + /** + * Third Party Authentication Token + */ + interface Schema$ThirdPartyAuthenticationToken { + /** + * Name of the third-party authentication token. + */ + name?: string; + /** + * Value of the third-party authentication token. This is a read-only, + * auto-generated field. + */ + value?: string; + } + /** + * Third-party Tracking URL. + */ + interface Schema$ThirdPartyTrackingUrl { + /** + * Third-party URL type for in-stream video creatives. + */ + thirdPartyUrlType?: string; + /** + * URL for the specified third-party URL type. + */ + url?: string; + } + /** + * Transcode Settings + */ + interface Schema$TranscodeSetting { + /** + * Whitelist of video formats to be served to this placement. Set this list + * to null or empty to serve all video formats. + */ + enabledVideoFormats?: number[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#transcodeSetting". + */ + kind?: string; + } + /** + * A Universal Ad ID as per the VAST 4.0 spec. Applicable to the following + * creative types: INSTREAM_VIDEO and VPAID. + */ + interface Schema$UniversalAdId { + /** + * Registry used for the Ad ID value. + */ + registry?: string; + /** + * ID value for this creative. Only alphanumeric characters and the + * following symbols are valid: "_/\-". Maximum length is 64 + * characters. Read only when registry is DCM. + */ + value?: string; + } + /** + * User Defined Variable configuration. + */ + interface Schema$UserDefinedVariableConfiguration { + /** + * Data type for the variable. This is a required field. + */ + dataType?: string; + /** + * User-friendly name for the variable which will appear in reports. This is + * a required field, must be less than 64 characters long, and cannot + * contain the following characters: ""<>". + */ + reportName?: string; + /** + * Variable name in the tag. This is a required field. + */ + variableType?: string; + } + /** + * Represents a UserProfile resource. + */ + interface Schema$UserProfile { + /** + * The account ID to which this profile belongs. + */ + accountId?: string; + /** + * The account name this profile belongs to. + */ + accountName?: string; + /** + * The eTag of this response for caching purposes. + */ + etag?: string; + /** + * The kind of resource this is, in this case dfareporting#userProfile. + */ + kind?: string; + /** + * The unique ID of the user profile. + */ + profileId?: string; + /** + * The sub account ID this profile belongs to if applicable. + */ + subAccountId?: string; + /** + * The sub account name this profile belongs to if applicable. + */ + subAccountName?: string; + /** + * The user name. + */ + userName?: string; + } + /** + * Represents the list of user profiles. + */ + interface Schema$UserProfileList { + /** + * The eTag of this response for caching purposes. + */ + etag?: string; + /** + * The user profiles returned in this response. + */ + items?: Schema$UserProfile[]; + /** + * The kind of list this is, in this case dfareporting#userProfileList. + */ + kind?: string; + } + /** + * Contains properties of auser role, which is used to manage user access. + */ + interface Schema$UserRole { + /** + * Account ID of this user role. This is a read-only field that can be left + * blank. + */ + accountId?: string; + /** + * Whether this is a default user role. Default user roles are created by + * the system for the account/subaccount and cannot be modified or deleted. + * Each default user role comes with a basic set of preassigned permissions. + */ + defaultUserRole?: boolean; + /** + * ID of this user role. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#userRole". + */ + kind?: string; + /** + * Name of this user role. This is a required field. Must be less than 256 + * characters long. If this user role is under a subaccount, the name must + * be unique among sites of the same subaccount. Otherwise, this user role + * is a top-level user role, and the name must be unique among top-level + * user roles of the same account. + */ + name?: string; + /** + * ID of the user role that this user role is based on or copied from. This + * is a required field. + */ + parentUserRoleId?: string; + /** + * List of permissions associated with this user role. + */ + permissions?: Schema$UserRolePermission[]; + /** + * Subaccount ID of this user role. This is a read-only field that can be + * left blank. + */ + subaccountId?: string; + } + /** + * Contains properties of a user role permission. + */ + interface Schema$UserRolePermission { + /** + * Levels of availability for a user role permission. + */ + availability?: string; + /** + * ID of this user role permission. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#userRolePermission". + */ + kind?: string; + /** + * Name of this user role permission. + */ + name?: string; + /** + * ID of the permission group that this user role permission belongs to. + */ + permissionGroupId?: string; + } + /** + * Represents a grouping of related user role permissions. + */ + interface Schema$UserRolePermissionGroup { + /** + * ID of this user role permission. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#userRolePermissionGroup". + */ + kind?: string; + /** + * Name of this user role permission group. + */ + name?: string; + } + /** + * User Role Permission Group List Response + */ + interface Schema$UserRolePermissionGroupsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#userRolePermissionGroupsListResponse". + */ + kind?: string; + /** + * User role permission group collection. + */ + userRolePermissionGroups?: Schema$UserRolePermissionGroup[]; + } + /** + * User Role Permission List Response + */ + interface Schema$UserRolePermissionsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#userRolePermissionsListResponse". + */ + kind?: string; + /** + * User role permission collection. + */ + userRolePermissions?: Schema$UserRolePermission[]; + } + /** + * User Role List Response + */ + interface Schema$UserRolesListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#userRolesListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + /** + * User role collection. + */ + userRoles?: Schema$UserRole[]; + } + /** + * Contains information about supported video formats. + */ + interface Schema$VideoFormat { + /** + * File type of the video format. + */ + fileType?: string; + /** + * ID of the video format. + */ + id?: number; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#videoFormat". + */ + kind?: string; + /** + * The resolution of this video format. + */ + resolution?: Schema$Size; + /** + * The target bit rate of this video format. + */ + targetBitRate?: number; + } + /** + * Video Format List Response + */ + interface Schema$VideoFormatsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#videoFormatsListResponse". + */ + kind?: string; + /** + * Video format collection. + */ + videoFormats?: Schema$VideoFormat[]; + } + /** + * Video Offset + */ + interface Schema$VideoOffset { + /** + * Duration, as a percentage of video duration. Do not set when + * offsetSeconds is set. Acceptable values are 0 to 100, inclusive. + */ + offsetPercentage?: number; + /** + * Duration, in seconds. Do not set when offsetPercentage is set. Acceptable + * values are 0 to 86399, inclusive. + */ + offsetSeconds?: number; + } + /** + * Video Settings + */ + interface Schema$VideoSettings { + /** + * Settings for the companion creatives of video creatives served to this + * placement. + */ + companionSettings?: Schema$CompanionSetting; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#videoSettings". + */ + kind?: string; + /** + * Settings for the skippability of video creatives served to this + * placement. If this object is provided, the creative-level skippable + * settings will be overridden. + */ + skippableSettings?: Schema$SkippableSetting; + /** + * Settings for the transcodes of video creatives served to this placement. + * If this object is provided, the creative-level transcode settings will be + * overridden. + */ + transcodeSettings?: Schema$TranscodeSetting; + } + class Resource$Accountactiveadsummaries { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.accountActiveAdSummaries.get + * @desc Gets the account's active ad summary by account ID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Account ID. + * summaryAccountId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.accountActiveAdSummaries.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.accountActiveAdSummaries.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {string} params.summaryAccountId Account ID. + * @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?: Params$Resource$Accountactiveadsummaries$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accountactiveadsummaries$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accountactiveadsummaries$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accountactiveadsummaries$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Account ID. + */ + summaryAccountId?: string; + } + class Resource$Accountpermissiongroups { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.accountPermissionGroups.get + * @desc Gets one account permission group by ID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Account permission group ID. + * id: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.accountPermissionGroups.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.accountPermissionGroups.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Account permission group ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Accountpermissiongroups$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accountpermissiongroups$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accountpermissiongroups$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.accountPermissionGroups.list + * @desc Retrieves the list of account permission groups. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.accountPermissionGroups.list(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.accountPermissionGroups.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Accountpermissiongroups$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accountpermissiongroups$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accountpermissiongroups$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accountpermissiongroups$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account permission group ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Accountpermissiongroups$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Accountpermissions { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.accountPermissions.get + * @desc Gets one account permission by ID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Account permission ID. + * id: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.accountPermissions.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.accountPermissions.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Account permission ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Accountpermissions$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accountpermissions$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accountpermissions$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.accountPermissions.list + * @desc Retrieves the list of account permissions. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.accountPermissions.list(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.accountPermissions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Accountpermissions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accountpermissions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accountpermissions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accountpermissions$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account permission ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Accountpermissions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Accounts { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.accounts.get + * @desc Gets one account by ID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Account ID. + * id: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.accounts.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.accounts.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Account ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Accounts$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accounts$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accounts$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.accounts.list + * @desc Retrieves the list of accounts, possibly filtered. This method + * supports paging. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var accountsPage = response['accounts']; + * if (!accountsPage) { + * return; + * } + * for (var i = 0; i < accountsPage.length; i++) { + * // TODO: Change code below to process each resource in + * `accountsPage`: console.log(JSON.stringify(accountsPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * dfareporting.accounts.list(request, handlePage); + * } + * }; + * + * dfareporting.accounts.list(request, handlePage); + * }); + * + * function authorize(callback) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.accounts.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.active Select only active accounts. Don't set this field to select both active and non-active accounts. + * @param {string=} params.ids Select only accounts with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "account*2015" will return objects with names like "account June 2015", "account April 2015", or simply "account 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "account" will match objects with name "my account", "account 2015", or simply "account". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Accounts$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accounts$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accounts$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.accounts.patch + * @desc Updates an existing account. This method supports patch semantics. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Account ID. + * id: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.accounts.patch(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.accounts.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Account ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Account} 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 + */ + patch(params?: Params$Resource$Accounts$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Accounts$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Accounts$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.accounts.update + * @desc Updates an existing account. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.accounts.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.accounts.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Account} 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?: Params$Resource$Accounts$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Accounts$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Accounts$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Accounts$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only active accounts. Don't set this field to select both active + * and non-active accounts. + */ + active?: boolean; + /** + * Select only accounts with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "account*2015" will return objects with names like "account + * June 2015", "account April 2015", or simply "account 2015". Most of the + * searches also add wildcards implicitly at the start and the end of the + * search string. For example, a search string of "account" will match + * objects with name "my account", "account 2015", or simply "account". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + interface Params$Resource$Accounts$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Account; + } + interface Params$Resource$Accounts$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Account; + } + class Resource$Accountuserprofiles { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.accountUserProfiles.get + * @desc Gets one account user profile by ID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // User profile ID. + * id: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.accountUserProfiles.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.accountUserProfiles.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id User profile ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Accountuserprofiles$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accountuserprofiles$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accountuserprofiles$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.accountUserProfiles.insert + * @desc Inserts a new account user profile. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.accountUserProfiles.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.accountUserProfiles.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().AccountUserProfile} 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?: Params$Resource$Accountuserprofiles$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Accountuserprofiles$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Accountuserprofiles$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.accountUserProfiles.list + * @desc Retrieves a list of account user profiles, possibly filtered. This + * method supports paging. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var accountUserProfilesPage = response['accountUserProfiles']; + * if (!accountUserProfilesPage) { + * return; + * } + * for (var i = 0; i < accountUserProfilesPage.length; i++) { + * // TODO: Change code below to process each resource in + * `accountUserProfilesPage`: + * console.log(JSON.stringify(accountUserProfilesPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * dfareporting.accountUserProfiles.list(request, handlePage); + * } + * }; + * + * dfareporting.accountUserProfiles.list(request, handlePage); + * }); + * + * function authorize(callback) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.accountUserProfiles.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.active Select only active user profiles. + * @param {string=} params.ids Select only user profiles with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name, ID or email. Wildcards (*) are allowed. For example, "user profile*2015" will return objects with names like "user profile June 2015", "user profile April 2015", or simply "user profile 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "user profile" will match objects with name "my user profile", "user profile 2015", or simply "user profile". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @param {string=} params.subaccountId Select only user profiles with the specified subaccount ID. + * @param {string=} params.userRoleId Select only user profiles with the specified user role ID. + * @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?: Params$Resource$Accountuserprofiles$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accountuserprofiles$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accountuserprofiles$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.accountUserProfiles.patch + * @desc Updates an existing account user profile. This method supports + * patch semantics. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // User profile ID. + * id: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.accountUserProfiles.patch(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.accountUserProfiles.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id User profile ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().AccountUserProfile} 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 + */ + patch(params?: Params$Resource$Accountuserprofiles$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Accountuserprofiles$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Accountuserprofiles$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.accountUserProfiles.update + * @desc Updates an existing account user profile. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.accountUserProfiles.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.accountUserProfiles.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().AccountUserProfile} 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?: Params$Resource$Accountuserprofiles$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Accountuserprofiles$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Accountuserprofiles$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accountuserprofiles$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Accountuserprofiles$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AccountUserProfile; + } + interface Params$Resource$Accountuserprofiles$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only active user profiles. + */ + active?: boolean; + /** + * Select only user profiles with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name, ID or email. Wildcards (*) are + * allowed. For example, "user profile*2015" will return objects with names + * like "user profile June 2015", "user profile April 2015", or simply "user + * profile 2015". Most of the searches also add wildcards implicitly at the + * start and the end of the search string. For example, a search string of + * "user profile" will match objects with name "my user profile", "user + * profile 2015", or simply "user profile". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + /** + * Select only user profiles with the specified subaccount ID. + */ + subaccountId?: string; + /** + * Select only user profiles with the specified user role ID. + */ + userRoleId?: string; + } + interface Params$Resource$Accountuserprofiles$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AccountUserProfile; + } + interface Params$Resource$Accountuserprofiles$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AccountUserProfile; + } + class Resource$Ads { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.ads.get + * @desc Gets one ad by ID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Ad ID. + * id: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.ads.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.ads.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Ad ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Ads$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Ads$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Ads$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.ads.insert + * @desc Inserts a new ad. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.ads.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.ads.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Ad} 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?: Params$Resource$Ads$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Ads$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Ads$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.ads.list + * @desc Retrieves a list of ads, possibly filtered. This method supports + * paging. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var adsPage = response['ads']; + * if (!adsPage) { + * return; + * } + * for (var i = 0; i < adsPage.length; i++) { + * // TODO: Change code below to process each resource in `adsPage`: + * console.log(JSON.stringify(adsPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * dfareporting.ads.list(request, handlePage); + * } + * }; + * + * dfareporting.ads.list(request, handlePage); + * }); + * + * function authorize(callback) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.ads.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.active Select only active ads. + * @param {string=} params.advertiserId Select only ads with this advertiser ID. + * @param {boolean=} params.archived Select only archived ads. + * @param {string=} params.audienceSegmentIds Select only ads with these audience segment IDs. + * @param {string=} params.campaignIds Select only ads with these campaign IDs. + * @param {string=} params.compatibility Select default ads with the specified compatibility. Applicable when type is AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop or on mobile devices for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO refers to rendering an in-stream video ads developed with the VAST standard. + * @param {string=} params.creativeIds Select only ads with these creative IDs assigned. + * @param {string=} params.creativeOptimizationConfigurationIds Select only ads with these creative optimization configuration IDs. + * @param {boolean=} params.dynamicClickTracker Select only dynamic click trackers. Applicable when type is AD_SERVING_CLICK_TRACKER. If true, select dynamic click trackers. If false, select static click trackers. Leave unset to select both. + * @param {string=} params.ids Select only ads with these IDs. + * @param {string=} params.landingPageIds Select only ads with these landing page IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.overriddenEventTagId Select only ads with this event tag override ID. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string=} params.placementIds Select only ads with these placement IDs assigned. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.remarketingListIds Select only ads whose list targeting expression use these remarketing list IDs. + * @param {string=} params.searchString Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "ad*2015" will return objects with names like "ad June 2015", "ad April 2015", or simply "ad 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "ad" will match objects with name "my ad", "ad 2015", or simply "ad". + * @param {string=} params.sizeIds Select only ads with these size IDs. + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @param {boolean=} params.sslCompliant Select only ads that are SSL-compliant. + * @param {boolean=} params.sslRequired Select only ads that require SSL. + * @param {string=} params.type Select only ads with these types. + * @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?: Params$Resource$Ads$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Ads$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Ads$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.ads.patch + * @desc Updates an existing ad. This method supports patch semantics. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Ad ID. + * id: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.ads.patch(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.ads.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Ad ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Ad} 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 + */ + patch(params?: Params$Resource$Ads$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Ads$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Ads$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.ads.update + * @desc Updates an existing ad. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.ads.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.ads.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Ad} 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?: Params$Resource$Ads$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Ads$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Ads$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Ads$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Ad ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Ads$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Ad; + } + interface Params$Resource$Ads$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only active ads. + */ + active?: boolean; + /** + * Select only ads with this advertiser ID. + */ + advertiserId?: string; + /** + * Select only archived ads. + */ + archived?: boolean; + /** + * Select only ads with these audience segment IDs. + */ + audienceSegmentIds?: string; + /** + * Select only ads with these campaign IDs. + */ + campaignIds?: string; + /** + * Select default ads with the specified compatibility. Applicable when type + * is AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer to + * rendering either on desktop or on mobile devices for regular or + * interstitial ads, respectively. APP and APP_INTERSTITIAL are for + * rendering in mobile apps. IN_STREAM_VIDEO refers to rendering an + * in-stream video ads developed with the VAST standard. + */ + compatibility?: string; + /** + * Select only ads with these creative IDs assigned. + */ + creativeIds?: string; + /** + * Select only ads with these creative optimization configuration IDs. + */ + creativeOptimizationConfigurationIds?: string; + /** + * Select only dynamic click trackers. Applicable when type is + * AD_SERVING_CLICK_TRACKER. If true, select dynamic click trackers. If + * false, select static click trackers. Leave unset to select both. + */ + dynamicClickTracker?: boolean; + /** + * Select only ads with these IDs. + */ + ids?: string; + /** + * Select only ads with these landing page IDs. + */ + landingPageIds?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Select only ads with this event tag override ID. + */ + overriddenEventTagId?: string; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * Select only ads with these placement IDs assigned. + */ + placementIds?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Select only ads whose list targeting expression use these remarketing + * list IDs. + */ + remarketingListIds?: string; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "ad*2015" will return objects with names like "ad June + * 2015", "ad April 2015", or simply "ad 2015". Most of the searches also + * add wildcards implicitly at the start and the end of the search string. + * For example, a search string of "ad" will match objects with name "my + * ad", "ad 2015", or simply "ad". + */ + searchString?: string; + /** + * Select only ads with these size IDs. + */ + sizeIds?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + /** + * Select only ads that are SSL-compliant. + */ + sslCompliant?: boolean; + /** + * Select only ads that require SSL. + */ + sslRequired?: boolean; + /** + * Select only ads with these types. + */ + type?: string; + } + interface Params$Resource$Ads$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Ad ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Ad; + } + interface Params$Resource$Ads$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Ad; + } + class Resource$Advertisergroups { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.advertiserGroups.delete + * @desc Deletes an existing advertiser group. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Advertiser group ID. + * id: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.advertiserGroups.delete(request, function(err) { + * if (err) { + * console.error(err); + * return; + * } + * }); + * }); + * + * function authorize(callback) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.advertiserGroups.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Advertiser group ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Advertisergroups$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Advertisergroups$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Advertisergroups$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dfareporting.advertiserGroups.get + * @desc Gets one advertiser group by ID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Advertiser group ID. + * id: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.advertiserGroups.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.advertiserGroups.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Advertiser group ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Advertisergroups$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Advertisergroups$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Advertisergroups$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.advertiserGroups.insert + * @desc Inserts a new advertiser group. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.advertiserGroups.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.advertiserGroups.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().AdvertiserGroup} 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?: Params$Resource$Advertisergroups$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Advertisergroups$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Advertisergroups$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.advertiserGroups.list + * @desc Retrieves a list of advertiser groups, possibly filtered. This + * method supports paging. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var advertiserGroupsPage = response['advertiserGroups']; + * if (!advertiserGroupsPage) { + * return; + * } + * for (var i = 0; i < advertiserGroupsPage.length; i++) { + * // TODO: Change code below to process each resource in + * `advertiserGroupsPage`: + * console.log(JSON.stringify(advertiserGroupsPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * dfareporting.advertiserGroups.list(request, handlePage); + * } + * }; + * + * dfareporting.advertiserGroups.list(request, handlePage); + * }); + * + * function authorize(callback) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.advertiserGroups.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.ids Select only advertiser groups with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "advertiser*2015" will return objects with names like "advertiser group June 2015", "advertiser group April 2015", or simply "advertiser group 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "advertisergroup" will match objects with name "my advertisergroup", "advertisergroup 2015", or simply "advertisergroup". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Advertisergroups$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Advertisergroups$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Advertisergroups$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.advertiserGroups.patch + * @desc Updates an existing advertiser group. This method supports patch + * semantics. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Advertiser group ID. + * id: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.advertiserGroups.patch(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.advertiserGroups.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Advertiser group ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().AdvertiserGroup} 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 + */ + patch(params?: Params$Resource$Advertisergroups$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Advertisergroups$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Advertisergroups$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.advertiserGroups.update + * @desc Updates an existing advertiser group. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.advertiserGroups.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.advertiserGroups.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().AdvertiserGroup} 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?: Params$Resource$Advertisergroups$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Advertisergroups$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Advertisergroups$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Advertisergroups$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Advertiser group ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Advertisergroups$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Advertiser group ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Advertisergroups$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AdvertiserGroup; + } + interface Params$Resource$Advertisergroups$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only advertiser groups with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "advertiser*2015" will return objects with names like + * "advertiser group June 2015", "advertiser group April 2015", or simply + * "advertiser group 2015". Most of the searches also add wildcards + * implicitly at the start and the end of the search string. For example, a + * search string of "advertisergroup" will match objects with name "my + * advertisergroup", "advertisergroup 2015", or simply "advertisergroup". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + interface Params$Resource$Advertisergroups$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Advertiser group ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AdvertiserGroup; + } + interface Params$Resource$Advertisergroups$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AdvertiserGroup; + } + class Resource$Advertisers { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.advertisers.get + * @desc Gets one advertiser by ID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Advertiser ID. + * id: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.advertisers.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.advertisers.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Advertiser ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Advertisers$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Advertisers$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Advertisers$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.advertisers.insert + * @desc Inserts a new advertiser. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.advertisers.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.advertisers.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Advertiser} 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?: Params$Resource$Advertisers$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Advertisers$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Advertisers$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.advertisers.list + * @desc Retrieves a list of advertisers, possibly filtered. This method + * supports paging. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var advertisersPage = response['advertisers']; + * if (!advertisersPage) { + * return; + * } + * for (var i = 0; i < advertisersPage.length; i++) { + * // TODO: Change code below to process each resource in + * `advertisersPage`: console.log(JSON.stringify(advertisersPage[i], null, + * 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * dfareporting.advertisers.list(request, handlePage); + * } + * }; + * + * dfareporting.advertisers.list(request, handlePage); + * }); + * + * function authorize(callback) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.advertisers.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.advertiserGroupIds Select only advertisers with these advertiser group IDs. + * @param {string=} params.floodlightConfigurationIds Select only advertisers with these floodlight configuration IDs. + * @param {string=} params.ids Select only advertisers with these IDs. + * @param {boolean=} params.includeAdvertisersWithoutGroupsOnly Select only advertisers which do not belong to any advertiser group. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {boolean=} params.onlyParent Select only advertisers which use another advertiser's floodlight configuration. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "advertiser*2015" will return objects with names like "advertiser June 2015", "advertiser April 2015", or simply "advertiser 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "advertiser" will match objects with name "my advertiser", "advertiser 2015", or simply "advertiser". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @param {string=} params.status Select only advertisers with the specified status. + * @param {string=} params.subaccountId Select only advertisers with these subaccount IDs. + * @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?: Params$Resource$Advertisers$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Advertisers$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Advertisers$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.advertisers.patch + * @desc Updates an existing advertiser. This method supports patch + * semantics. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Advertiser ID. + * id: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.advertisers.patch(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.advertisers.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Advertiser ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Advertiser} 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 + */ + patch(params?: Params$Resource$Advertisers$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Advertisers$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Advertisers$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.advertisers.update + * @desc Updates an existing advertiser. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.advertisers.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.advertisers.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Advertiser} 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?: Params$Resource$Advertisers$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Advertisers$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Advertisers$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Advertisers$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Advertiser ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Advertisers$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Advertiser; + } + interface Params$Resource$Advertisers$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only advertisers with these advertiser group IDs. + */ + advertiserGroupIds?: string; + /** + * Select only advertisers with these floodlight configuration IDs. + */ + floodlightConfigurationIds?: string; + /** + * Select only advertisers with these IDs. + */ + ids?: string; + /** + * Select only advertisers which do not belong to any advertiser group. + */ + includeAdvertisersWithoutGroupsOnly?: boolean; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Select only advertisers which use another advertiser's floodlight + * configuration. + */ + onlyParent?: boolean; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "advertiser*2015" will return objects with names like + * "advertiser June 2015", "advertiser April 2015", or simply "advertiser + * 2015". Most of the searches also add wildcards implicitly at the start + * and the end of the search string. For example, a search string of + * "advertiser" will match objects with name "my advertiser", "advertiser + * 2015", or simply "advertiser". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + /** + * Select only advertisers with the specified status. + */ + status?: string; + /** + * Select only advertisers with these subaccount IDs. + */ + subaccountId?: string; + } + interface Params$Resource$Advertisers$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Advertiser ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Advertiser; + } + interface Params$Resource$Advertisers$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Advertiser; + } + class Resource$Browsers { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.browsers.list + * @desc Retrieves a list of browsers. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.browsers.list(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.browsers.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Browsers$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Browsers$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Browsers$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Browsers$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Campaigncreativeassociations { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.campaignCreativeAssociations.insert + * @desc Associates a creative with the specified campaign. This method + * creates a default ad with dimensions matching the creative in the + * campaign if such a default ad does not exist already. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Campaign ID in this association. + * campaignId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.campaignCreativeAssociations.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.campaignCreativeAssociations.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.campaignId Campaign ID in this association. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().CampaignCreativeAssociation} 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?: Params$Resource$Campaigncreativeassociations$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Campaigncreativeassociations$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Campaigncreativeassociations$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.campaignCreativeAssociations.list + * @desc Retrieves the list of creative IDs associated with the specified + * campaign. This method supports paging. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Campaign ID in this association. + * campaignId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var campaignCreativeAssociationsPage = + * response['campaignCreativeAssociations']; if + * (!campaignCreativeAssociationsPage) { return; + * } + * for (var i = 0; i < campaignCreativeAssociationsPage.length; i++) { + * // TODO: Change code below to process each resource in + * `campaignCreativeAssociationsPage`: + * console.log(JSON.stringify(campaignCreativeAssociationsPage[i], + * null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * dfareporting.campaignCreativeAssociations.list(request, + * handlePage); + * } + * }; + * + * dfareporting.campaignCreativeAssociations.list(request, handlePage); + * }); + * + * function authorize(callback) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.campaignCreativeAssociations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.campaignId Campaign ID in this association. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Campaigncreativeassociations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Campaigncreativeassociations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Campaigncreativeassociations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Campaigncreativeassociations$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Campaign ID in this association. + */ + campaignId?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CampaignCreativeAssociation; + } + interface Params$Resource$Campaigncreativeassociations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Campaign ID in this association. + */ + campaignId?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + class Resource$Campaigns { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.campaigns.get + * @desc Gets one campaign by ID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Campaign ID. + * id: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.campaigns.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.campaigns.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Campaign ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Campaigns$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Campaigns$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Campaigns$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.campaigns.insert + * @desc Inserts a new campaign. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Default landing page name for this new campaign. Must be less than + * 256 characters long. defaultLandingPageName: '', // TODO: Update + * placeholder value. + * + * // Default landing page URL for this new campaign. + * defaultLandingPageUrl: '', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.campaigns.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.campaigns.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.defaultLandingPageName Default landing page name for this new campaign. Must be less than 256 characters long. + * @param {string} params.defaultLandingPageUrl Default landing page URL for this new campaign. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Campaign} 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?: Params$Resource$Campaigns$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Campaigns$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Campaigns$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.campaigns.list + * @desc Retrieves a list of campaigns, possibly filtered. This method + * supports paging. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var campaignsPage = response['campaigns']; + * if (!campaignsPage) { + * return; + * } + * for (var i = 0; i < campaignsPage.length; i++) { + * // TODO: Change code below to process each resource in + * `campaignsPage`: console.log(JSON.stringify(campaignsPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * dfareporting.campaigns.list(request, handlePage); + * } + * }; + * + * dfareporting.campaigns.list(request, handlePage); + * }); + * + * function authorize(callback) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.campaigns.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.advertiserGroupIds Select only campaigns whose advertisers belong to these advertiser groups. + * @param {string=} params.advertiserIds Select only campaigns that belong to these advertisers. + * @param {boolean=} params.archived Select only archived campaigns. Don't set this field to select both archived and non-archived campaigns. + * @param {boolean=} params.atLeastOneOptimizationActivity Select only campaigns that have at least one optimization activity. + * @param {string=} params.excludedIds Exclude campaigns with these IDs. + * @param {string=} params.ids Select only campaigns with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.overriddenEventTagId Select only campaigns that have overridden this event tag ID. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for campaigns by name or ID. Wildcards (*) are allowed. For example, "campaign*2015" will return campaigns with names like "campaign June 2015", "campaign April 2015", or simply "campaign 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "campaign" will match campaigns with name "my campaign", "campaign 2015", or simply "campaign". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @param {string=} params.subaccountId Select only campaigns that belong to this subaccount. + * @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?: Params$Resource$Campaigns$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Campaigns$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Campaigns$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.campaigns.patch + * @desc Updates an existing campaign. This method supports patch semantics. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Campaign ID. + * id: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.campaigns.patch(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.campaigns.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Campaign ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Campaign} 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 + */ + patch(params?: Params$Resource$Campaigns$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Campaigns$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Campaigns$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.campaigns.update + * @desc Updates an existing campaign. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.campaigns.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.campaigns.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Campaign} 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?: Params$Resource$Campaigns$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Campaigns$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Campaigns$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Campaigns$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Campaign ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Campaigns$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Default landing page name for this new campaign. Must be less than 256 + * characters long. + */ + defaultLandingPageName?: string; + /** + * Default landing page URL for this new campaign. + */ + defaultLandingPageUrl?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Campaign; + } + interface Params$Resource$Campaigns$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only campaigns whose advertisers belong to these advertiser + * groups. + */ + advertiserGroupIds?: string; + /** + * Select only campaigns that belong to these advertisers. + */ + advertiserIds?: string; + /** + * Select only archived campaigns. Don't set this field to select both + * archived and non-archived campaigns. + */ + archived?: boolean; + /** + * Select only campaigns that have at least one optimization activity. + */ + atLeastOneOptimizationActivity?: boolean; + /** + * Exclude campaigns with these IDs. + */ + excludedIds?: string; + /** + * Select only campaigns with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Select only campaigns that have overridden this event tag ID. + */ + overriddenEventTagId?: string; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for campaigns by name or ID. Wildcards (*) are allowed. + * For example, "campaign*2015" will return campaigns with names like + * "campaign June 2015", "campaign April 2015", or simply "campaign 2015". + * Most of the searches also add wildcards implicitly at the start and the + * end of the search string. For example, a search string of "campaign" will + * match campaigns with name "my campaign", "campaign 2015", or simply + * "campaign". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + /** + * Select only campaigns that belong to this subaccount. + */ + subaccountId?: string; + } + interface Params$Resource$Campaigns$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Campaign ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Campaign; + } + interface Params$Resource$Campaigns$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Campaign; + } + class Resource$Changelogs { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.changeLogs.get + * @desc Gets one change log by ID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Change log ID. + * id: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.changeLogs.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.changeLogs.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Change log ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Changelogs$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Changelogs$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Changelogs$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.changeLogs.list + * @desc Retrieves a list of change logs. This method supports paging. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var changeLogsPage = response['changeLogs']; + * if (!changeLogsPage) { + * return; + * } + * for (var i = 0; i < changeLogsPage.length; i++) { + * // TODO: Change code below to process each resource in + * `changeLogsPage`: console.log(JSON.stringify(changeLogsPage[i], null, + * 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * dfareporting.changeLogs.list(request, handlePage); + * } + * }; + * + * dfareporting.changeLogs.list(request, handlePage); + * }); + * + * function authorize(callback) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.changeLogs.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.action Select only change logs with the specified action. + * @param {string=} params.ids Select only change logs with these IDs. + * @param {string=} params.maxChangeTime Select only change logs whose change time is before the specified maxChangeTime.The time should be formatted as an RFC3339 date/time string. For example, for 10:54 PM on July 18th, 2015, in the America/New York time zone, the format is "2015-07-18T22:54:00-04:00". In other words, the year, month, day, the letter T, the hour (24-hour clock system), minute, second, and then the time zone offset. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.minChangeTime Select only change logs whose change time is before the specified minChangeTime.The time should be formatted as an RFC3339 date/time string. For example, for 10:54 PM on July 18th, 2015, in the America/New York time zone, the format is "2015-07-18T22:54:00-04:00". In other words, the year, month, day, the letter T, the hour (24-hour clock system), minute, second, and then the time zone offset. + * @param {string=} params.objectIds Select only change logs with these object IDs. + * @param {string=} params.objectType Select only change logs with the specified object type. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Select only change logs whose object ID, user name, old or new values match the search string. + * @param {string=} params.userProfileIds Select only change logs with these user profile IDs. + * @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?: Params$Resource$Changelogs$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Changelogs$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Changelogs$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Changelogs$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Change log ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Changelogs$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only change logs with the specified action. + */ + action?: string; + /** + * Select only change logs with these IDs. + */ + ids?: string; + /** + * Select only change logs whose change time is before the specified + * maxChangeTime.The time should be formatted as an RFC3339 date/time + * string. For example, for 10:54 PM on July 18th, 2015, in the America/New + * York time zone, the format is "2015-07-18T22:54:00-04:00". In other + * words, the year, month, day, the letter T, the hour (24-hour clock + * system), minute, second, and then the time zone offset. + */ + maxChangeTime?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Select only change logs whose change time is before the specified + * minChangeTime.The time should be formatted as an RFC3339 date/time + * string. For example, for 10:54 PM on July 18th, 2015, in the America/New + * York time zone, the format is "2015-07-18T22:54:00-04:00". In other + * words, the year, month, day, the letter T, the hour (24-hour clock + * system), minute, second, and then the time zone offset. + */ + minChangeTime?: string; + /** + * Select only change logs with these object IDs. + */ + objectIds?: string; + /** + * Select only change logs with the specified object type. + */ + objectType?: string; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Select only change logs whose object ID, user name, old or new values + * match the search string. + */ + searchString?: string; + /** + * Select only change logs with these user profile IDs. + */ + userProfileIds?: string; + } + class Resource$Cities { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.cities.list + * @desc Retrieves a list of cities, possibly filtered. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.cities.list(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.cities.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.countryDartIds Select only cities from these countries. + * @param {string=} params.dartIds Select only cities with these DART IDs. + * @param {string=} params.namePrefix Select only cities with names starting with this prefix. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.regionDartIds Select only cities from these regions. + * @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?: Params$Resource$Cities$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Cities$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Cities$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Cities$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only cities from these countries. + */ + countryDartIds?: string; + /** + * Select only cities with these DART IDs. + */ + dartIds?: string; + /** + * Select only cities with names starting with this prefix. + */ + namePrefix?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Select only cities from these regions. + */ + regionDartIds?: string; + } + class Resource$Connectiontypes { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.connectionTypes.get + * @desc Gets one connection type by ID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Connection type ID. + * id: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.connectionTypes.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.connectionTypes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Connection type ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Connectiontypes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Connectiontypes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Connectiontypes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.connectionTypes.list + * @desc Retrieves a list of connection types. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.connectionTypes.list(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.connectionTypes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Connectiontypes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Connectiontypes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Connectiontypes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Connectiontypes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Connection type ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Connectiontypes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Contentcategories { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.contentCategories.delete + * @desc Deletes an existing content category. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Content category ID. + * id: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.contentCategories.delete(request, function(err) { + * if (err) { + * console.error(err); + * return; + * } + * }); + * }); + * + * function authorize(callback) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.contentCategories.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Content category ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Contentcategories$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Contentcategories$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Contentcategories$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dfareporting.contentCategories.get + * @desc Gets one content category by ID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Content category ID. + * id: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.contentCategories.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.contentCategories.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Content category ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Contentcategories$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Contentcategories$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Contentcategories$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.contentCategories.insert + * @desc Inserts a new content category. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.contentCategories.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.contentCategories.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().ContentCategory} 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?: Params$Resource$Contentcategories$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Contentcategories$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Contentcategories$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.contentCategories.list + * @desc Retrieves a list of content categories, possibly filtered. This + * method supports paging. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var contentCategoriesPage = response['contentCategories']; + * if (!contentCategoriesPage) { + * return; + * } + * for (var i = 0; i < contentCategoriesPage.length; i++) { + * // TODO: Change code below to process each resource in + * `contentCategoriesPage`: + * console.log(JSON.stringify(contentCategoriesPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * dfareporting.contentCategories.list(request, handlePage); + * } + * }; + * + * dfareporting.contentCategories.list(request, handlePage); + * }); + * + * function authorize(callback) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.contentCategories.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.ids Select only content categories with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "contentcategory*2015" will return objects with names like "contentcategory June 2015", "contentcategory April 2015", or simply "contentcategory 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "contentcategory" will match objects with name "my contentcategory", "contentcategory 2015", or simply "contentcategory". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Contentcategories$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Contentcategories$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Contentcategories$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.contentCategories.patch + * @desc Updates an existing content category. This method supports patch + * semantics. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Content category ID. + * id: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.contentCategories.patch(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.contentCategories.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Content category ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().ContentCategory} 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 + */ + patch(params?: Params$Resource$Contentcategories$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Contentcategories$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Contentcategories$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.contentCategories.update + * @desc Updates an existing content category. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.contentCategories.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.contentCategories.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().ContentCategory} 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?: Params$Resource$Contentcategories$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Contentcategories$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Contentcategories$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Contentcategories$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Content category ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Contentcategories$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Content category ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Contentcategories$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ContentCategory; + } + interface Params$Resource$Contentcategories$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only content categories with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "contentcategory*2015" will return objects with names like + * "contentcategory June 2015", "contentcategory April 2015", or simply + * "contentcategory 2015". Most of the searches also add wildcards + * implicitly at the start and the end of the search string. For example, a + * search string of "contentcategory" will match objects with name "my + * contentcategory", "contentcategory 2015", or simply "contentcategory". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + interface Params$Resource$Contentcategories$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Content category ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ContentCategory; + } + interface Params$Resource$Contentcategories$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ContentCategory; + } + class Resource$Conversions { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.conversions.batchinsert + * @desc Inserts conversions. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.conversions.batchinsert(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/ddmconversions' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.conversions.batchinsert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().ConversionsBatchInsertRequest} 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 + */ + batchinsert(params?: Params$Resource$Conversions$Batchinsert, options?: MethodOptions): AxiosPromise; + batchinsert(params: Params$Resource$Conversions$Batchinsert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + batchinsert(params: Params$Resource$Conversions$Batchinsert, callback: BodyResponseCallback): void; + batchinsert(callback: BodyResponseCallback): void; + /** + * dfareporting.conversions.batchupdate + * @desc Updates existing conversions. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.conversions.batchupdate(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/ddmconversions' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.conversions.batchupdate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().ConversionsBatchUpdateRequest} 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 + */ + batchupdate(params?: Params$Resource$Conversions$Batchupdate, options?: MethodOptions): AxiosPromise; + batchupdate(params: Params$Resource$Conversions$Batchupdate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + batchupdate(params: Params$Resource$Conversions$Batchupdate, callback: BodyResponseCallback): void; + batchupdate(callback: BodyResponseCallback): void; + } + interface Params$Resource$Conversions$Batchinsert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ConversionsBatchInsertRequest; + } + interface Params$Resource$Conversions$Batchupdate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ConversionsBatchUpdateRequest; + } + class Resource$Countries { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.countries.get + * @desc Gets one country by ID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Country DART ID. + * dartId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.countries.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.countries.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.dartId Country DART ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Countries$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Countries$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Countries$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.countries.list + * @desc Retrieves a list of countries. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.countries.list(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.countries.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Countries$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Countries$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Countries$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Countries$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Country DART ID. + */ + dartId?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Countries$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Creativeassets { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.creativeAssets.insert + * @desc Inserts a new creative asset. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Advertiser ID of this creative. This is a required field. + * advertiserId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * media: { + * // TODO: Add desired media content for upload. See + * // https://github.com/google/google-api-nodejs-client#media-uploads + * mimeType: '', // See + * https://www.w3.org/Protocols/rfc1341/4_Content-Type.html body: '', + * }, + * + * auth: authClient, + * }; + * + * dfareporting.creativeAssets.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.creativeAssets.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.advertiserId Advertiser ID of this creative. This is a required field. + * @param {string} params.profileId User profile ID associated with this request. + * @param {object} params.resource Media resource metadata + * @param {object} params.media Media object + * @param {string} params.media.mimeType Media mime-type + * @param {string|object} params.media.body Media body contents + * @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?: Params$Resource$Creativeassets$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Creativeassets$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Creativeassets$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + } + interface Params$Resource$Creativeassets$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Advertiser ID of this creative. This is a required field. + */ + advertiserId?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreativeAssetMetadata; + /** + * Media metadata + */ + media?: { + /** + * Media mime-type + */ + mediaType?: string; + /** + * Media body contents + */ + body?: any; + }; + } + class Resource$Creativefields { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.creativeFields.delete + * @desc Deletes an existing creative field. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Creative Field ID + * id: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.creativeFields.delete(request, function(err) { + * if (err) { + * console.error(err); + * return; + * } + * }); + * }); + * + * function authorize(callback) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.creativeFields.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Creative Field ID + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Creativefields$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Creativefields$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Creativefields$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dfareporting.creativeFields.get + * @desc Gets one creative field by ID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Creative Field ID + * id: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.creativeFields.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.creativeFields.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Creative Field ID + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Creativefields$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Creativefields$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Creativefields$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.creativeFields.insert + * @desc Inserts a new creative field. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.creativeFields.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.creativeFields.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().CreativeField} 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?: Params$Resource$Creativefields$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Creativefields$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Creativefields$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.creativeFields.list + * @desc Retrieves a list of creative fields, possibly filtered. This method + * supports paging. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var creativeFieldsPage = response['creativeFields']; + * if (!creativeFieldsPage) { + * return; + * } + * for (var i = 0; i < creativeFieldsPage.length; i++) { + * // TODO: Change code below to process each resource in + * `creativeFieldsPage`: console.log(JSON.stringify(creativeFieldsPage[i], + * null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * dfareporting.creativeFields.list(request, handlePage); + * } + * }; + * + * dfareporting.creativeFields.list(request, handlePage); + * }); + * + * function authorize(callback) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.creativeFields.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.advertiserIds Select only creative fields that belong to these advertisers. + * @param {string=} params.ids Select only creative fields with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for creative fields by name or ID. Wildcards (*) are allowed. For example, "creativefield*2015" will return creative fields with names like "creativefield June 2015", "creativefield April 2015", or simply "creativefield 2015". Most of the searches also add wild-cards implicitly at the start and the end of the search string. For example, a search string of "creativefield" will match creative fields with the name "my creativefield", "creativefield 2015", or simply "creativefield". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Creativefields$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Creativefields$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Creativefields$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.creativeFields.patch + * @desc Updates an existing creative field. This method supports patch + * semantics. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Creative Field ID + * id: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.creativeFields.patch(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.creativeFields.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Creative Field ID + * @param {string} params.profileId User profile ID associated with this request. + * @param {().CreativeField} 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 + */ + patch(params?: Params$Resource$Creativefields$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Creativefields$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Creativefields$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.creativeFields.update + * @desc Updates an existing creative field. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.creativeFields.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.creativeFields.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().CreativeField} 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?: Params$Resource$Creativefields$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Creativefields$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Creativefields$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Creativefields$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Creative Field ID + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Creativefields$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Creative Field ID + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Creativefields$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreativeField; + } + interface Params$Resource$Creativefields$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only creative fields that belong to these advertisers. + */ + advertiserIds?: string; + /** + * Select only creative fields with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for creative fields by name or ID. Wildcards (*) are + * allowed. For example, "creativefield*2015" will return creative fields + * with names like "creativefield June 2015", "creativefield April 2015", or + * simply "creativefield 2015". Most of the searches also add wild-cards + * implicitly at the start and the end of the search string. For example, a + * search string of "creativefield" will match creative fields with the name + * "my creativefield", "creativefield 2015", or simply "creativefield". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + interface Params$Resource$Creativefields$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Creative Field ID + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreativeField; + } + interface Params$Resource$Creativefields$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreativeField; + } + class Resource$Creativefieldvalues { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.creativeFieldValues.delete + * @desc Deletes an existing creative field value. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Creative field ID for this creative field value. + * creativeFieldId: '0', // TODO: Update placeholder value. + * + * // Creative Field Value ID + * id: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.creativeFieldValues.delete(request, function(err) { + * if (err) { + * console.error(err); + * return; + * } + * }); + * }); + * + * function authorize(callback) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.creativeFieldValues.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.creativeFieldId Creative field ID for this creative field value. + * @param {string} params.id Creative Field Value ID + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Creativefieldvalues$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Creativefieldvalues$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Creativefieldvalues$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dfareporting.creativeFieldValues.get + * @desc Gets one creative field value by ID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Creative field ID for this creative field value. + * creativeFieldId: '0', // TODO: Update placeholder value. + * + * // Creative Field Value ID + * id: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.creativeFieldValues.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.creativeFieldValues.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.creativeFieldId Creative field ID for this creative field value. + * @param {string} params.id Creative Field Value ID + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Creativefieldvalues$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Creativefieldvalues$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Creativefieldvalues$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.creativeFieldValues.insert + * @desc Inserts a new creative field value. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Creative field ID for this creative field value. + * creativeFieldId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.creativeFieldValues.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.creativeFieldValues.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.creativeFieldId Creative field ID for this creative field value. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().CreativeFieldValue} 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?: Params$Resource$Creativefieldvalues$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Creativefieldvalues$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Creativefieldvalues$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.creativeFieldValues.list + * @desc Retrieves a list of creative field values, possibly filtered. This + * method supports paging. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Creative field ID for this creative field value. + * creativeFieldId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var creativeFieldValuesPage = response['creativeFieldValues']; + * if (!creativeFieldValuesPage) { + * return; + * } + * for (var i = 0; i < creativeFieldValuesPage.length; i++) { + * // TODO: Change code below to process each resource in + * `creativeFieldValuesPage`: + * console.log(JSON.stringify(creativeFieldValuesPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * dfareporting.creativeFieldValues.list(request, handlePage); + * } + * }; + * + * dfareporting.creativeFieldValues.list(request, handlePage); + * }); + * + * function authorize(callback) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.creativeFieldValues.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.creativeFieldId Creative field ID for this creative field value. + * @param {string=} params.ids Select only creative field values with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for creative field values by their values. Wildcards (e.g. *) are not allowed. + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Creativefieldvalues$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Creativefieldvalues$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Creativefieldvalues$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.creativeFieldValues.patch + * @desc Updates an existing creative field value. This method supports + * patch semantics. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Creative field ID for this creative field value. + * creativeFieldId: '0', // TODO: Update placeholder value. + * + * // Creative Field Value ID + * id: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.creativeFieldValues.patch(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.creativeFieldValues.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.creativeFieldId Creative field ID for this creative field value. + * @param {string} params.id Creative Field Value ID + * @param {string} params.profileId User profile ID associated with this request. + * @param {().CreativeFieldValue} 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 + */ + patch(params?: Params$Resource$Creativefieldvalues$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Creativefieldvalues$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Creativefieldvalues$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.creativeFieldValues.update + * @desc Updates an existing creative field value. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Creative field ID for this creative field value. + * creativeFieldId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.creativeFieldValues.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.creativeFieldValues.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.creativeFieldId Creative field ID for this creative field value. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().CreativeFieldValue} 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?: Params$Resource$Creativefieldvalues$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Creativefieldvalues$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Creativefieldvalues$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Creativefieldvalues$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Creative field ID for this creative field value. + */ + creativeFieldId?: string; + /** + * Creative Field Value ID + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Creativefieldvalues$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Creative field ID for this creative field value. + */ + creativeFieldId?: string; + /** + * Creative Field Value ID + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Creativefieldvalues$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Creative field ID for this creative field value. + */ + creativeFieldId?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreativeFieldValue; + } + interface Params$Resource$Creativefieldvalues$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Creative field ID for this creative field value. + */ + creativeFieldId?: string; + /** + * Select only creative field values with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for creative field values by their values. Wildcards + * (e.g. *) are not allowed. + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + interface Params$Resource$Creativefieldvalues$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Creative field ID for this creative field value. + */ + creativeFieldId?: string; + /** + * Creative Field Value ID + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreativeFieldValue; + } + interface Params$Resource$Creativefieldvalues$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Creative field ID for this creative field value. + */ + creativeFieldId?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreativeFieldValue; + } + class Resource$Creativegroups { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.creativeGroups.get + * @desc Gets one creative group by ID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Creative group ID. + * id: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.creativeGroups.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.creativeGroups.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Creative group ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Creativegroups$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Creativegroups$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Creativegroups$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.creativeGroups.insert + * @desc Inserts a new creative group. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.creativeGroups.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.creativeGroups.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().CreativeGroup} 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?: Params$Resource$Creativegroups$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Creativegroups$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Creativegroups$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.creativeGroups.list + * @desc Retrieves a list of creative groups, possibly filtered. This method + * supports paging. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var creativeGroupsPage = response['creativeGroups']; + * if (!creativeGroupsPage) { + * return; + * } + * for (var i = 0; i < creativeGroupsPage.length; i++) { + * // TODO: Change code below to process each resource in + * `creativeGroupsPage`: console.log(JSON.stringify(creativeGroupsPage[i], + * null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * dfareporting.creativeGroups.list(request, handlePage); + * } + * }; + * + * dfareporting.creativeGroups.list(request, handlePage); + * }); + * + * function authorize(callback) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.creativeGroups.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.advertiserIds Select only creative groups that belong to these advertisers. + * @param {integer=} params.groupNumber Select only creative groups that belong to this subgroup. + * @param {string=} params.ids Select only creative groups with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for creative groups by name or ID. Wildcards (*) are allowed. For example, "creativegroup*2015" will return creative groups with names like "creativegroup June 2015", "creativegroup April 2015", or simply "creativegroup 2015". Most of the searches also add wild-cards implicitly at the start and the end of the search string. For example, a search string of "creativegroup" will match creative groups with the name "my creativegroup", "creativegroup 2015", or simply "creativegroup". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Creativegroups$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Creativegroups$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Creativegroups$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.creativeGroups.patch + * @desc Updates an existing creative group. This method supports patch + * semantics. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Creative group ID. + * id: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.creativeGroups.patch(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.creativeGroups.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Creative group ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().CreativeGroup} 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 + */ + patch(params?: Params$Resource$Creativegroups$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Creativegroups$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Creativegroups$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.creativeGroups.update + * @desc Updates an existing creative group. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.creativeGroups.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.creativeGroups.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().CreativeGroup} 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?: Params$Resource$Creativegroups$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Creativegroups$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Creativegroups$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Creativegroups$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Creative group ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Creativegroups$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreativeGroup; + } + interface Params$Resource$Creativegroups$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only creative groups that belong to these advertisers. + */ + advertiserIds?: string; + /** + * Select only creative groups that belong to this subgroup. + */ + groupNumber?: number; + /** + * Select only creative groups with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for creative groups by name or ID. Wildcards (*) are + * allowed. For example, "creativegroup*2015" will return creative groups + * with names like "creativegroup June 2015", "creativegroup April 2015", or + * simply "creativegroup 2015". Most of the searches also add wild-cards + * implicitly at the start and the end of the search string. For example, a + * search string of "creativegroup" will match creative groups with the name + * "my creativegroup", "creativegroup 2015", or simply "creativegroup". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + interface Params$Resource$Creativegroups$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Creative group ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreativeGroup; + } + interface Params$Resource$Creativegroups$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreativeGroup; + } + class Resource$Creatives { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.creatives.get + * @desc Gets one creative by ID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Creative ID. + * id: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.creatives.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.creatives.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Creative ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Creatives$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Creatives$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Creatives$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.creatives.insert + * @desc Inserts a new creative. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.creatives.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.creatives.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Creative} 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?: Params$Resource$Creatives$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Creatives$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Creatives$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.creatives.list + * @desc Retrieves a list of creatives, possibly filtered. This method + * supports paging. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var creativesPage = response['creatives']; + * if (!creativesPage) { + * return; + * } + * for (var i = 0; i < creativesPage.length; i++) { + * // TODO: Change code below to process each resource in + * `creativesPage`: console.log(JSON.stringify(creativesPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * dfareporting.creatives.list(request, handlePage); + * } + * }; + * + * dfareporting.creatives.list(request, handlePage); + * }); + * + * function authorize(callback) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.creatives.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.active Select only active creatives. Leave blank to select active and inactive creatives. + * @param {string=} params.advertiserId Select only creatives with this advertiser ID. + * @param {boolean=} params.archived Select only archived creatives. Leave blank to select archived and unarchived creatives. + * @param {string=} params.campaignId Select only creatives with this campaign ID. + * @param {string=} params.companionCreativeIds Select only in-stream video creatives with these companion IDs. + * @param {string=} params.creativeFieldIds Select only creatives with these creative field IDs. + * @param {string=} params.ids Select only creatives with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.renderingIds Select only creatives with these rendering IDs. + * @param {string=} params.searchString Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "creative*2015" will return objects with names like "creative June 2015", "creative April 2015", or simply "creative 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "creative" will match objects with name "my creative", "creative 2015", or simply "creative". + * @param {string=} params.sizeIds Select only creatives with these size IDs. + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @param {string=} params.studioCreativeId Select only creatives corresponding to this Studio creative ID. + * @param {string=} params.types Select only creatives with these creative types. + * @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?: Params$Resource$Creatives$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Creatives$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Creatives$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.creatives.patch + * @desc Updates an existing creative. This method supports patch semantics. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Creative ID. + * id: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.creatives.patch(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.creatives.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Creative ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Creative} 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 + */ + patch(params?: Params$Resource$Creatives$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Creatives$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Creatives$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.creatives.update + * @desc Updates an existing creative. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.creatives.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.creatives.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Creative} 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?: Params$Resource$Creatives$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Creatives$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Creatives$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Creatives$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Creative ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Creatives$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Creative; + } + interface Params$Resource$Creatives$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only active creatives. Leave blank to select active and inactive + * creatives. + */ + active?: boolean; + /** + * Select only creatives with this advertiser ID. + */ + advertiserId?: string; + /** + * Select only archived creatives. Leave blank to select archived and + * unarchived creatives. + */ + archived?: boolean; + /** + * Select only creatives with this campaign ID. + */ + campaignId?: string; + /** + * Select only in-stream video creatives with these companion IDs. + */ + companionCreativeIds?: string; + /** + * Select only creatives with these creative field IDs. + */ + creativeFieldIds?: string; + /** + * Select only creatives with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Select only creatives with these rendering IDs. + */ + renderingIds?: string; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "creative*2015" will return objects with names like + * "creative June 2015", "creative April 2015", or simply "creative 2015". + * Most of the searches also add wildcards implicitly at the start and the + * end of the search string. For example, a search string of "creative" will + * match objects with name "my creative", "creative 2015", or simply + * "creative". + */ + searchString?: string; + /** + * Select only creatives with these size IDs. + */ + sizeIds?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + /** + * Select only creatives corresponding to this Studio creative ID. + */ + studioCreativeId?: string; + /** + * Select only creatives with these creative types. + */ + types?: string; + } + interface Params$Resource$Creatives$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Creative ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Creative; + } + interface Params$Resource$Creatives$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Creative; + } + class Resource$Dimensionvalues { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.dimensionValues.query + * @desc Retrieves list of report dimension values for a list of filters. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // The DFA user profile ID. + * profileId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * 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; + * dfareporting.dimensionValues.query(request, handlePage); + * } + * }; + * + * dfareporting.dimensionValues.query(request, handlePage); + * }); + * + * function authorize(callback) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfareporting' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.dimensionValues.query + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken The value of the nextToken from the previous result page. + * @param {string} params.profileId The DFA user profile ID. + * @param {().DimensionValueRequest} 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 + */ + query(params?: Params$Resource$Dimensionvalues$Query, options?: MethodOptions): AxiosPromise; + query(params: Params$Resource$Dimensionvalues$Query, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + query(params: Params$Resource$Dimensionvalues$Query, callback: BodyResponseCallback): void; + query(callback: BodyResponseCallback): void; + } + interface Params$Resource$Dimensionvalues$Query { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * The value of the nextToken from the previous result page. + */ + pageToken?: string; + /** + * The DFA user profile ID. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DimensionValueRequest; + } + class Resource$Directorysitecontacts { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.directorySiteContacts.get + * @desc Gets one directory site contact by ID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Directory site contact ID. + * id: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.directorySiteContacts.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.directorySiteContacts.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Directory site contact ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Directorysitecontacts$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Directorysitecontacts$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Directorysitecontacts$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.directorySiteContacts.list + * @desc Retrieves a list of directory site contacts, possibly filtered. + * This method supports paging. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var directorySiteContactsPage = response['directorySiteContacts']; + * if (!directorySiteContactsPage) { + * return; + * } + * for (var i = 0; i < directorySiteContactsPage.length; i++) { + * // TODO: Change code below to process each resource in + * `directorySiteContactsPage`: + * console.log(JSON.stringify(directorySiteContactsPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * dfareporting.directorySiteContacts.list(request, handlePage); + * } + * }; + * + * dfareporting.directorySiteContacts.list(request, handlePage); + * }); + * + * function authorize(callback) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.directorySiteContacts.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.directorySiteIds Select only directory site contacts with these directory site IDs. This is a required field. + * @param {string=} params.ids Select only directory site contacts with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name, ID or email. Wildcards (*) are allowed. For example, "directory site contact*2015" will return objects with names like "directory site contact June 2015", "directory site contact April 2015", or simply "directory site contact 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "directory site contact" will match objects with name "my directory site contact", "directory site contact 2015", or simply "directory site contact". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Directorysitecontacts$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Directorysitecontacts$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Directorysitecontacts$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Directorysitecontacts$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Directory site contact ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Directorysitecontacts$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only directory site contacts with these directory site IDs. This + * is a required field. + */ + directorySiteIds?: string; + /** + * Select only directory site contacts with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name, ID or email. Wildcards (*) are + * allowed. For example, "directory site contact*2015" will return objects + * with names like "directory site contact June 2015", "directory site + * contact April 2015", or simply "directory site contact 2015". Most of the + * searches also add wildcards implicitly at the start and the end of the + * search string. For example, a search string of "directory site contact" + * will match objects with name "my directory site contact", "directory site + * contact 2015", or simply "directory site contact". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + class Resource$Directorysites { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.directorySites.get + * @desc Gets one directory site by ID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Directory site ID. + * id: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.directorySites.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.directorySites.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Directory site ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Directorysites$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Directorysites$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Directorysites$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.directorySites.insert + * @desc Inserts a new directory site. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.directorySites.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.directorySites.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().DirectorySite} 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?: Params$Resource$Directorysites$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Directorysites$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Directorysites$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.directorySites.list + * @desc Retrieves a list of directory sites, possibly filtered. This method + * supports paging. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var directorySitesPage = response['directorySites']; + * if (!directorySitesPage) { + * return; + * } + * for (var i = 0; i < directorySitesPage.length; i++) { + * // TODO: Change code below to process each resource in + * `directorySitesPage`: console.log(JSON.stringify(directorySitesPage[i], + * null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * dfareporting.directorySites.list(request, handlePage); + * } + * }; + * + * dfareporting.directorySites.list(request, handlePage); + * }); + * + * function authorize(callback) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.directorySites.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.acceptsInStreamVideoPlacements This search filter is no longer supported and will have no effect on the results returned. + * @param {boolean=} params.acceptsInterstitialPlacements This search filter is no longer supported and will have no effect on the results returned. + * @param {boolean=} params.acceptsPublisherPaidPlacements Select only directory sites that accept publisher paid placements. This field can be left blank. + * @param {boolean=} params.active Select only active directory sites. Leave blank to retrieve both active and inactive directory sites. + * @param {string=} params.countryId Select only directory sites with this country ID. + * @param {string=} params.dfpNetworkCode Select only directory sites with this Ad Manager network code. + * @param {string=} params.ids Select only directory sites with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string=} params.parentId Select only directory sites with this parent ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name, ID or URL. Wildcards (*) are allowed. For example, "directory site*2015" will return objects with names like "directory site June 2015", "directory site April 2015", or simply "directory site 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "directory site" will match objects with name "my directory site", "directory site 2015" or simply, "directory site". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Directorysites$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Directorysites$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Directorysites$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Directorysites$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Directory site ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Directorysites$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DirectorySite; + } + interface Params$Resource$Directorysites$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * This search filter is no longer supported and will have no effect on the + * results returned. + */ + acceptsInStreamVideoPlacements?: boolean; + /** + * This search filter is no longer supported and will have no effect on the + * results returned. + */ + acceptsInterstitialPlacements?: boolean; + /** + * Select only directory sites that accept publisher paid placements. This + * field can be left blank. + */ + acceptsPublisherPaidPlacements?: boolean; + /** + * Select only active directory sites. Leave blank to retrieve both active + * and inactive directory sites. + */ + active?: boolean; + /** + * Select only directory sites with this country ID. + */ + countryId?: string; + /** + * Select only directory sites with this Ad Manager network code. + */ + dfpNetworkCode?: string; + /** + * Select only directory sites with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * Select only directory sites with this parent ID. + */ + parentId?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name, ID or URL. Wildcards (*) are + * allowed. For example, "directory site*2015" will return objects with + * names like "directory site June 2015", "directory site April 2015", or + * simply "directory site 2015". Most of the searches also add wildcards + * implicitly at the start and the end of the search string. For example, a + * search string of "directory site" will match objects with name "my + * directory site", "directory site 2015" or simply, "directory site". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + class Resource$Dynamictargetingkeys { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.dynamicTargetingKeys.delete + * @desc Deletes an existing dynamic targeting key. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // ID of the object of this dynamic targeting key. This is a required + * field. objectId: '0', // TODO: Update placeholder value. + * + * // Name of this dynamic targeting key. This is a required field. Must + * be less than 256 characters long + * // and cannot contain commas. All characters are converted to + * lowercase. name: '', // TODO: Update placeholder value. + * + * // Type of the object of this dynamic targeting key. This is a + * required field. objectType: '', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.dynamicTargetingKeys.delete(request, function(err) { + * if (err) { + * console.error(err); + * return; + * } + * }); + * }); + * + * function authorize(callback) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.dynamicTargetingKeys.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Name of this dynamic targeting key. This is a required field. Must be less than 256 characters long and cannot contain commas. All characters are converted to lowercase. + * @param {string} params.objectId ID of the object of this dynamic targeting key. This is a required field. + * @param {string} params.objectType Type of the object of this dynamic targeting key. This is a required field. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Dynamictargetingkeys$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Dynamictargetingkeys$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Dynamictargetingkeys$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dfareporting.dynamicTargetingKeys.insert + * @desc Inserts a new dynamic targeting key. Keys must be created at the + * advertiser level before being assigned to the advertiser's ads, + * creatives, or placements. There is a maximum of 1000 keys per advertiser, + * out of which a maximum of 20 keys can be assigned per ad, creative, or + * placement. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.dynamicTargetingKeys.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.dynamicTargetingKeys.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().DynamicTargetingKey} 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?: Params$Resource$Dynamictargetingkeys$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Dynamictargetingkeys$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Dynamictargetingkeys$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.dynamicTargetingKeys.list + * @desc Retrieves a list of dynamic targeting keys. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.dynamicTargetingKeys.list(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.dynamicTargetingKeys.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.advertiserId Select only dynamic targeting keys whose object has this advertiser ID. + * @param {string=} params.names Select only dynamic targeting keys exactly matching these names. + * @param {string=} params.objectId Select only dynamic targeting keys with this object ID. + * @param {string=} params.objectType Select only dynamic targeting keys with this object type. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Dynamictargetingkeys$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Dynamictargetingkeys$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Dynamictargetingkeys$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Dynamictargetingkeys$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of this dynamic targeting key. This is a required field. Must be + * less than 256 characters long and cannot contain commas. All characters + * are converted to lowercase. + */ + name?: string; + /** + * ID of the object of this dynamic targeting key. This is a required field. + */ + objectId?: string; + /** + * Type of the object of this dynamic targeting key. This is a required + * field. + */ + objectType?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Dynamictargetingkeys$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DynamicTargetingKey; + } + interface Params$Resource$Dynamictargetingkeys$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only dynamic targeting keys whose object has this advertiser ID. + */ + advertiserId?: string; + /** + * Select only dynamic targeting keys exactly matching these names. + */ + names?: string; + /** + * Select only dynamic targeting keys with this object ID. + */ + objectId?: string; + /** + * Select only dynamic targeting keys with this object type. + */ + objectType?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Eventtags { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.eventTags.delete + * @desc Deletes an existing event tag. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Event tag ID. + * id: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.eventTags.delete(request, function(err) { + * if (err) { + * console.error(err); + * return; + * } + * }); + * }); + * + * function authorize(callback) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.eventTags.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Event tag ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Eventtags$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Eventtags$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Eventtags$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dfareporting.eventTags.get + * @desc Gets one event tag by ID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Event tag ID. + * id: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.eventTags.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.eventTags.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Event tag ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Eventtags$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Eventtags$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Eventtags$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.eventTags.insert + * @desc Inserts a new event tag. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.eventTags.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.eventTags.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().EventTag} 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?: Params$Resource$Eventtags$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Eventtags$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Eventtags$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.eventTags.list + * @desc Retrieves a list of event tags, possibly filtered. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.eventTags.list(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.eventTags.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.adId Select only event tags that belong to this ad. + * @param {string=} params.advertiserId Select only event tags that belong to this advertiser. + * @param {string=} params.campaignId Select only event tags that belong to this campaign. + * @param {boolean=} params.definitionsOnly Examine only the specified campaign or advertiser's event tags for matching selector criteria. When set to false, the parent advertiser and parent campaign of the specified ad or campaign is examined as well. In addition, when set to false, the status field is examined as well, along with the enabledByDefault field. This parameter can not be set to true when adId is specified as ads do not define their own even tags. + * @param {boolean=} params.enabled Select only enabled event tags. What is considered enabled or disabled depends on the definitionsOnly parameter. When definitionsOnly is set to true, only the specified advertiser or campaign's event tags' enabledByDefault field is examined. When definitionsOnly is set to false, the specified ad or specified campaign's parent advertiser's or parent campaign's event tags' enabledByDefault and status fields are examined as well. + * @param {string=} params.eventTagTypes Select only event tags with the specified event tag types. Event tag types can be used to specify whether to use a third-party pixel, a third-party JavaScript URL, or a third-party click-through URL for either impression or click tracking. + * @param {string=} params.ids Select only event tags with these IDs. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "eventtag*2015" will return objects with names like "eventtag June 2015", "eventtag April 2015", or simply "eventtag 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "eventtag" will match objects with name "my eventtag", "eventtag 2015", or simply "eventtag". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Eventtags$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Eventtags$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Eventtags$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.eventTags.patch + * @desc Updates an existing event tag. This method supports patch + * semantics. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Event tag ID. + * id: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.eventTags.patch(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.eventTags.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Event tag ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().EventTag} 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 + */ + patch(params?: Params$Resource$Eventtags$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Eventtags$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Eventtags$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.eventTags.update + * @desc Updates an existing event tag. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.eventTags.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.eventTags.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().EventTag} 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?: Params$Resource$Eventtags$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Eventtags$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Eventtags$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Eventtags$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Event tag ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Eventtags$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Event tag ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Eventtags$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$EventTag; + } + interface Params$Resource$Eventtags$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only event tags that belong to this ad. + */ + adId?: string; + /** + * Select only event tags that belong to this advertiser. + */ + advertiserId?: string; + /** + * Select only event tags that belong to this campaign. + */ + campaignId?: string; + /** + * Examine only the specified campaign or advertiser's event tags for + * matching selector criteria. When set to false, the parent advertiser and + * parent campaign of the specified ad or campaign is examined as well. In + * addition, when set to false, the status field is examined as well, along + * with the enabledByDefault field. This parameter can not be set to true + * when adId is specified as ads do not define their own even tags. + */ + definitionsOnly?: boolean; + /** + * Select only enabled event tags. What is considered enabled or disabled + * depends on the definitionsOnly parameter. When definitionsOnly is set to + * true, only the specified advertiser or campaign's event tags' + * enabledByDefault field is examined. When definitionsOnly is set to false, + * the specified ad or specified campaign's parent advertiser's or parent + * campaign's event tags' enabledByDefault and status fields are examined as + * well. + */ + enabled?: boolean; + /** + * Select only event tags with the specified event tag types. Event tag + * types can be used to specify whether to use a third-party pixel, a + * third-party JavaScript URL, or a third-party click-through URL for either + * impression or click tracking. + */ + eventTagTypes?: string; + /** + * Select only event tags with these IDs. + */ + ids?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "eventtag*2015" will return objects with names like + * "eventtag June 2015", "eventtag April 2015", or simply "eventtag 2015". + * Most of the searches also add wildcards implicitly at the start and the + * end of the search string. For example, a search string of "eventtag" will + * match objects with name "my eventtag", "eventtag 2015", or simply + * "eventtag". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + interface Params$Resource$Eventtags$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Event tag ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$EventTag; + } + interface Params$Resource$Eventtags$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$EventTag; + } + class Resource$Files { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.files.get + * @desc Retrieves a report file by its report ID and file ID. This method + * supports media download. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // The ID of the report. + * reportId: '0', // TODO: Update placeholder value. + * + * // The ID of the report file. + * fileId: '0', // TODO: Update placeholder value. + * + * // TODO: To download media content, use: + * // + * // alt: 'media', + * + * auth: authClient, + * }; + * + * dfareporting.files.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfareporting' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.files.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.fileId The ID of the report file. + * @param {string} params.reportId The ID of the report. + * @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?: Params$Resource$Files$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Files$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Files$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.files.list + * @desc Lists files for a user profile. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // The DFA profile ID. + * profileId: '0', // 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; + * dfareporting.files.list(request, handlePage); + * } + * }; + * + * dfareporting.files.list(request, handlePage); + * }); + * + * function authorize(callback) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfareporting' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.files.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken The value of the nextToken from the previous result page. + * @param {string} params.profileId The DFA profile ID. + * @param {string=} params.scope The scope that defines which results are returned. + * @param {string=} params.sortField The field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Files$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Files$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Files$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Files$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the report file. + */ + fileId?: string; + /** + * The ID of the report. + */ + reportId?: string; + } + interface Params$Resource$Files$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * The value of the nextToken from the previous result page. + */ + pageToken?: string; + /** + * The DFA profile ID. + */ + profileId?: string; + /** + * The scope that defines which results are returned. + */ + scope?: string; + /** + * The field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + class Resource$Floodlightactivities { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.floodlightActivities.delete + * @desc Deletes an existing floodlight activity. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Floodlight activity ID. + * id: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.floodlightActivities.delete(request, function(err) { + * if (err) { + * console.error(err); + * return; + * } + * }); + * }); + * + * function authorize(callback) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.floodlightActivities.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Floodlight activity ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Floodlightactivities$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Floodlightactivities$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Floodlightactivities$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dfareporting.floodlightActivities.generatetag + * @desc Generates a tag for a floodlight activity. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.floodlightActivities.generatetag(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.floodlightActivities.generatetag + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.floodlightActivityId Floodlight activity ID for which we want to generate a tag. + * @param {string} params.profileId User profile ID associated with this request. + * @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 + */ + generatetag(params?: Params$Resource$Floodlightactivities$Generatetag, options?: MethodOptions): AxiosPromise; + generatetag(params: Params$Resource$Floodlightactivities$Generatetag, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + generatetag(params: Params$Resource$Floodlightactivities$Generatetag, callback: BodyResponseCallback): void; + generatetag(callback: BodyResponseCallback): void; + /** + * dfareporting.floodlightActivities.get + * @desc Gets one floodlight activity by ID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Floodlight activity ID. + * id: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.floodlightActivities.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.floodlightActivities.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Floodlight activity ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Floodlightactivities$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Floodlightactivities$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Floodlightactivities$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.floodlightActivities.insert + * @desc Inserts a new floodlight activity. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.floodlightActivities.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.floodlightActivities.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().FloodlightActivity} 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?: Params$Resource$Floodlightactivities$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Floodlightactivities$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Floodlightactivities$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.floodlightActivities.list + * @desc Retrieves a list of floodlight activities, possibly filtered. This + * method supports paging. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var floodlightActivitiesPage = response['floodlightActivities']; + * if (!floodlightActivitiesPage) { + * return; + * } + * for (var i = 0; i < floodlightActivitiesPage.length; i++) { + * // TODO: Change code below to process each resource in + * `floodlightActivitiesPage`: + * console.log(JSON.stringify(floodlightActivitiesPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * dfareporting.floodlightActivities.list(request, handlePage); + * } + * }; + * + * dfareporting.floodlightActivities.list(request, handlePage); + * }); + * + * function authorize(callback) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.floodlightActivities.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.advertiserId Select only floodlight activities for the specified advertiser ID. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result. + * @param {string=} params.floodlightActivityGroupIds Select only floodlight activities with the specified floodlight activity group IDs. + * @param {string=} params.floodlightActivityGroupName Select only floodlight activities with the specified floodlight activity group name. + * @param {string=} params.floodlightActivityGroupTagString Select only floodlight activities with the specified floodlight activity group tag string. + * @param {string=} params.floodlightActivityGroupType Select only floodlight activities with the specified floodlight activity group type. + * @param {string=} params.floodlightConfigurationId Select only floodlight activities for the specified floodlight configuration ID. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result. + * @param {string=} params.ids Select only floodlight activities with the specified IDs. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "floodlightactivity*2015" will return objects with names like "floodlightactivity June 2015", "floodlightactivity April 2015", or simply "floodlightactivity 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "floodlightactivity" will match objects with name "my floodlightactivity activity", "floodlightactivity 2015", or simply "floodlightactivity". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @param {string=} params.tagString Select only floodlight activities with the specified tag string. + * @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?: Params$Resource$Floodlightactivities$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Floodlightactivities$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Floodlightactivities$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.floodlightActivities.patch + * @desc Updates an existing floodlight activity. This method supports patch + * semantics. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Floodlight activity ID. + * id: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.floodlightActivities.patch(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.floodlightActivities.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Floodlight activity ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().FloodlightActivity} 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 + */ + patch(params?: Params$Resource$Floodlightactivities$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Floodlightactivities$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Floodlightactivities$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.floodlightActivities.update + * @desc Updates an existing floodlight activity. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.floodlightActivities.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.floodlightActivities.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().FloodlightActivity} 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?: Params$Resource$Floodlightactivities$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Floodlightactivities$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Floodlightactivities$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Floodlightactivities$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Floodlight activity ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Floodlightactivities$Generatetag { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Floodlight activity ID for which we want to generate a tag. + */ + floodlightActivityId?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Floodlightactivities$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Floodlight activity ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Floodlightactivities$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$FloodlightActivity; + } + interface Params$Resource$Floodlightactivities$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only floodlight activities for the specified advertiser ID. Must + * specify either ids, advertiserId, or floodlightConfigurationId for a + * non-empty result. + */ + advertiserId?: string; + /** + * Select only floodlight activities with the specified floodlight activity + * group IDs. + */ + floodlightActivityGroupIds?: string; + /** + * Select only floodlight activities with the specified floodlight activity + * group name. + */ + floodlightActivityGroupName?: string; + /** + * Select only floodlight activities with the specified floodlight activity + * group tag string. + */ + floodlightActivityGroupTagString?: string; + /** + * Select only floodlight activities with the specified floodlight activity + * group type. + */ + floodlightActivityGroupType?: string; + /** + * Select only floodlight activities for the specified floodlight + * configuration ID. Must specify either ids, advertiserId, or + * floodlightConfigurationId for a non-empty result. + */ + floodlightConfigurationId?: string; + /** + * Select only floodlight activities with the specified IDs. Must specify + * either ids, advertiserId, or floodlightConfigurationId for a non-empty + * result. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "floodlightactivity*2015" will return objects with names + * like "floodlightactivity June 2015", "floodlightactivity April 2015", or + * simply "floodlightactivity 2015". Most of the searches also add wildcards + * implicitly at the start and the end of the search string. For example, a + * search string of "floodlightactivity" will match objects with name "my + * floodlightactivity activity", "floodlightactivity 2015", or simply + * "floodlightactivity". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + /** + * Select only floodlight activities with the specified tag string. + */ + tagString?: string; + } + interface Params$Resource$Floodlightactivities$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Floodlight activity ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$FloodlightActivity; + } + interface Params$Resource$Floodlightactivities$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$FloodlightActivity; + } + class Resource$Floodlightactivitygroups { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.floodlightActivityGroups.get + * @desc Gets one floodlight activity group by ID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Floodlight activity Group ID. + * id: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.floodlightActivityGroups.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.floodlightActivityGroups.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Floodlight activity Group ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Floodlightactivitygroups$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Floodlightactivitygroups$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Floodlightactivitygroups$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.floodlightActivityGroups.insert + * @desc Inserts a new floodlight activity group. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.floodlightActivityGroups.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.floodlightActivityGroups.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().FloodlightActivityGroup} 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?: Params$Resource$Floodlightactivitygroups$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Floodlightactivitygroups$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Floodlightactivitygroups$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.floodlightActivityGroups.list + * @desc Retrieves a list of floodlight activity groups, possibly filtered. + * This method supports paging. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var floodlightActivityGroupsPage = + * response['floodlightActivityGroups']; if (!floodlightActivityGroupsPage) + * { return; + * } + * for (var i = 0; i < floodlightActivityGroupsPage.length; i++) { + * // TODO: Change code below to process each resource in + * `floodlightActivityGroupsPage`: + * console.log(JSON.stringify(floodlightActivityGroupsPage[i], null, + * 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * dfareporting.floodlightActivityGroups.list(request, handlePage); + * } + * }; + * + * dfareporting.floodlightActivityGroups.list(request, handlePage); + * }); + * + * function authorize(callback) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.floodlightActivityGroups.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.advertiserId Select only floodlight activity groups with the specified advertiser ID. Must specify either advertiserId or floodlightConfigurationId for a non-empty result. + * @param {string=} params.floodlightConfigurationId Select only floodlight activity groups with the specified floodlight configuration ID. Must specify either advertiserId, or floodlightConfigurationId for a non-empty result. + * @param {string=} params.ids Select only floodlight activity groups with the specified IDs. Must specify either advertiserId or floodlightConfigurationId for a non-empty result. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "floodlightactivitygroup*2015" will return objects with names like "floodlightactivitygroup June 2015", "floodlightactivitygroup April 2015", or simply "floodlightactivitygroup 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "floodlightactivitygroup" will match objects with name "my floodlightactivitygroup activity", "floodlightactivitygroup 2015", or simply "floodlightactivitygroup". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @param {string=} params.type Select only floodlight activity groups with the specified floodlight activity group type. + * @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?: Params$Resource$Floodlightactivitygroups$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Floodlightactivitygroups$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Floodlightactivitygroups$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.floodlightActivityGroups.patch + * @desc Updates an existing floodlight activity group. This method supports + * patch semantics. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Floodlight activity Group ID. + * id: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.floodlightActivityGroups.patch(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.floodlightActivityGroups.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Floodlight activity Group ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().FloodlightActivityGroup} 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 + */ + patch(params?: Params$Resource$Floodlightactivitygroups$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Floodlightactivitygroups$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Floodlightactivitygroups$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.floodlightActivityGroups.update + * @desc Updates an existing floodlight activity group. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.floodlightActivityGroups.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.floodlightActivityGroups.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().FloodlightActivityGroup} 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?: Params$Resource$Floodlightactivitygroups$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Floodlightactivitygroups$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Floodlightactivitygroups$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Floodlightactivitygroups$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Floodlight activity Group ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Floodlightactivitygroups$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$FloodlightActivityGroup; + } + interface Params$Resource$Floodlightactivitygroups$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only floodlight activity groups with the specified advertiser ID. + * Must specify either advertiserId or floodlightConfigurationId for a + * non-empty result. + */ + advertiserId?: string; + /** + * Select only floodlight activity groups with the specified floodlight + * configuration ID. Must specify either advertiserId, or + * floodlightConfigurationId for a non-empty result. + */ + floodlightConfigurationId?: string; + /** + * Select only floodlight activity groups with the specified IDs. Must + * specify either advertiserId or floodlightConfigurationId for a non-empty + * result. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "floodlightactivitygroup*2015" will return objects with + * names like "floodlightactivitygroup June 2015", "floodlightactivitygroup + * April 2015", or simply "floodlightactivitygroup 2015". Most of the + * searches also add wildcards implicitly at the start and the end of the + * search string. For example, a search string of "floodlightactivitygroup" + * will match objects with name "my floodlightactivitygroup activity", + * "floodlightactivitygroup 2015", or simply "floodlightactivitygroup". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + /** + * Select only floodlight activity groups with the specified floodlight + * activity group type. + */ + type?: string; + } + interface Params$Resource$Floodlightactivitygroups$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Floodlight activity Group ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$FloodlightActivityGroup; + } + interface Params$Resource$Floodlightactivitygroups$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$FloodlightActivityGroup; + } + class Resource$Floodlightconfigurations { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.floodlightConfigurations.get + * @desc Gets one floodlight configuration by ID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Floodlight configuration ID. + * id: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.floodlightConfigurations.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.floodlightConfigurations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Floodlight configuration ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Floodlightconfigurations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Floodlightconfigurations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Floodlightconfigurations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.floodlightConfigurations.list + * @desc Retrieves a list of floodlight configurations, possibly filtered. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.floodlightConfigurations.list(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.floodlightConfigurations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.ids Set of IDs of floodlight configurations to retrieve. Required field; otherwise an empty list will be returned. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Floodlightconfigurations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Floodlightconfigurations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Floodlightconfigurations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.floodlightConfigurations.patch + * @desc Updates an existing floodlight configuration. This method supports + * patch semantics. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Floodlight configuration ID. + * id: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.floodlightConfigurations.patch(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.floodlightConfigurations.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Floodlight configuration ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().FloodlightConfiguration} 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 + */ + patch(params?: Params$Resource$Floodlightconfigurations$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Floodlightconfigurations$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Floodlightconfigurations$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.floodlightConfigurations.update + * @desc Updates an existing floodlight configuration. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.floodlightConfigurations.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.floodlightConfigurations.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().FloodlightConfiguration} 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?: Params$Resource$Floodlightconfigurations$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Floodlightconfigurations$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Floodlightconfigurations$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Floodlightconfigurations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Floodlight configuration ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Floodlightconfigurations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Set of IDs of floodlight configurations to retrieve. Required field; + * otherwise an empty list will be returned. + */ + ids?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Floodlightconfigurations$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Floodlight configuration ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$FloodlightConfiguration; + } + interface Params$Resource$Floodlightconfigurations$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$FloodlightConfiguration; + } + class Resource$Inventoryitems { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.inventoryItems.get + * @desc Gets one inventory item by ID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Project ID for order documents. + * projectId: '0', // TODO: Update placeholder value. + * + * // Inventory item ID. + * id: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.inventoryItems.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.inventoryItems.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Inventory item ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string} params.projectId Project ID for order documents. + * @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?: Params$Resource$Inventoryitems$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Inventoryitems$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Inventoryitems$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.inventoryItems.list + * @desc Retrieves a list of inventory items, possibly filtered. This method + * supports paging. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Project ID for order documents. + * projectId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var inventoryItemsPage = response['inventoryItems']; + * if (!inventoryItemsPage) { + * return; + * } + * for (var i = 0; i < inventoryItemsPage.length; i++) { + * // TODO: Change code below to process each resource in + * `inventoryItemsPage`: console.log(JSON.stringify(inventoryItemsPage[i], + * null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * dfareporting.inventoryItems.list(request, handlePage); + * } + * }; + * + * dfareporting.inventoryItems.list(request, handlePage); + * }); + * + * function authorize(callback) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.inventoryItems.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.ids Select only inventory items with these IDs. + * @param {boolean=} params.inPlan Select only inventory items that are in plan. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.orderId Select only inventory items that belong to specified orders. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string} params.projectId Project ID for order documents. + * @param {string=} params.siteId Select only inventory items that are associated with these sites. + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @param {string=} params.type Select only inventory items with this type. + * @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?: Params$Resource$Inventoryitems$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Inventoryitems$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Inventoryitems$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Inventoryitems$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Inventory item ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Project ID for order documents. + */ + projectId?: string; + } + interface Params$Resource$Inventoryitems$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only inventory items with these IDs. + */ + ids?: string; + /** + * Select only inventory items that are in plan. + */ + inPlan?: boolean; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Select only inventory items that belong to specified orders. + */ + orderId?: string; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Project ID for order documents. + */ + projectId?: string; + /** + * Select only inventory items that are associated with these sites. + */ + siteId?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + /** + * Select only inventory items with this type. + */ + type?: string; + } + class Resource$Landingpages { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.landingPages.delete + * @desc Deletes an existing campaign landing page. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Landing page campaign ID. + * campaignId: '0', // TODO: Update placeholder value. + * + * // Landing page ID. + * id: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.landingPages.delete(request, function(err) { + * if (err) { + * console.error(err); + * return; + * } + * }); + * }); + * + * function authorize(callback) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.landingPages.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.campaignId Landing page campaign ID. + * @param {string} params.id Landing page ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Landingpages$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Landingpages$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Landingpages$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dfareporting.landingPages.get + * @desc Gets one campaign landing page by ID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Landing page campaign ID. + * campaignId: '0', // TODO: Update placeholder value. + * + * // Landing page ID. + * id: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.landingPages.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.landingPages.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.campaignId Landing page campaign ID. + * @param {string} params.id Landing page ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Landingpages$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Landingpages$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Landingpages$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.landingPages.insert + * @desc Inserts a new landing page for the specified campaign. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Landing page campaign ID. + * campaignId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.landingPages.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.landingPages.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.campaignId Landing page campaign ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().LandingPage} 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?: Params$Resource$Landingpages$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Landingpages$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Landingpages$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.landingPages.list + * @desc Retrieves the list of landing pages for the specified campaign. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Landing page campaign ID. + * campaignId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.landingPages.list(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.landingPages.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.campaignId Landing page campaign ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Landingpages$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Landingpages$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Landingpages$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.landingPages.patch + * @desc Updates an existing campaign landing page. This method supports + * patch semantics. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Landing page campaign ID. + * campaignId: '0', // TODO: Update placeholder value. + * + * // Landing page ID. + * id: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.landingPages.patch(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.landingPages.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.campaignId Landing page campaign ID. + * @param {string} params.id Landing page ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().LandingPage} 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 + */ + patch(params?: Params$Resource$Landingpages$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Landingpages$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Landingpages$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.landingPages.update + * @desc Updates an existing campaign landing page. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Landing page campaign ID. + * campaignId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.landingPages.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.landingPages.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.campaignId Landing page campaign ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().LandingPage} 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?: Params$Resource$Landingpages$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Landingpages$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Landingpages$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Landingpages$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Landing page campaign ID. + */ + campaignId?: string; + /** + * Landing page ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Landingpages$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Landing page campaign ID. + */ + campaignId?: string; + /** + * Landing page ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Landingpages$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Landing page campaign ID. + */ + campaignId?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$LandingPage; + } + interface Params$Resource$Landingpages$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Landing page campaign ID. + */ + campaignId?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Landingpages$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Landing page campaign ID. + */ + campaignId?: string; + /** + * Landing page ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$LandingPage; + } + interface Params$Resource$Landingpages$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Landing page campaign ID. + */ + campaignId?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$LandingPage; + } + class Resource$Languages { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.languages.list + * @desc Retrieves a list of languages. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.languages.list(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.languages.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Languages$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Languages$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Languages$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Languages$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Metros { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.metros.list + * @desc Retrieves a list of metros. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.metros.list(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.metros.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Metros$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Metros$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Metros$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Metros$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Mobilecarriers { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.mobileCarriers.get + * @desc Gets one mobile carrier by ID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Mobile carrier ID. + * id: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.mobileCarriers.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.mobileCarriers.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Mobile carrier ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Mobilecarriers$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Mobilecarriers$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Mobilecarriers$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.mobileCarriers.list + * @desc Retrieves a list of mobile carriers. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.mobileCarriers.list(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.mobileCarriers.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Mobilecarriers$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Mobilecarriers$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Mobilecarriers$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Mobilecarriers$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Mobile carrier ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Mobilecarriers$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Operatingsystems { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.operatingSystems.get + * @desc Gets one operating system by DART ID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Operating system DART ID. + * dartId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.operatingSystems.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.operatingSystems.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.dartId Operating system DART ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Operatingsystems$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Operatingsystems$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Operatingsystems$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.operatingSystems.list + * @desc Retrieves a list of operating systems. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.operatingSystems.list(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.operatingSystems.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Operatingsystems$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Operatingsystems$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Operatingsystems$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Operatingsystems$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Operating system DART ID. + */ + dartId?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Operatingsystems$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Operatingsystemversions { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.operatingSystemVersions.get + * @desc Gets one operating system version by ID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Operating system version ID. + * id: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.operatingSystemVersions.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.operatingSystemVersions.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Operating system version ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Operatingsystemversions$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Operatingsystemversions$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Operatingsystemversions$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.operatingSystemVersions.list + * @desc Retrieves a list of operating system versions. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.operatingSystemVersions.list(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.operatingSystemVersions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Operatingsystemversions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Operatingsystemversions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Operatingsystemversions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Operatingsystemversions$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Operating system version ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Operatingsystemversions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Orderdocuments { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.orderDocuments.get + * @desc Gets one order document by ID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Project ID for order documents. + * projectId: '0', // TODO: Update placeholder value. + * + * // Order document ID. + * id: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.orderDocuments.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.orderDocuments.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Order document ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string} params.projectId Project ID for order documents. + * @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?: Params$Resource$Orderdocuments$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Orderdocuments$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Orderdocuments$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.orderDocuments.list + * @desc Retrieves a list of order documents, possibly filtered. This method + * supports paging. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Project ID for order documents. + * projectId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var orderDocumentsPage = response['orderDocuments']; + * if (!orderDocumentsPage) { + * return; + * } + * for (var i = 0; i < orderDocumentsPage.length; i++) { + * // TODO: Change code below to process each resource in + * `orderDocumentsPage`: console.log(JSON.stringify(orderDocumentsPage[i], + * null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * dfareporting.orderDocuments.list(request, handlePage); + * } + * }; + * + * dfareporting.orderDocuments.list(request, handlePage); + * }); + * + * function authorize(callback) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.orderDocuments.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.approved Select only order documents that have been approved by at least one user. + * @param {string=} params.ids Select only order documents with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.orderId Select only order documents for specified orders. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string} params.projectId Project ID for order documents. + * @param {string=} params.searchString Allows searching for order documents by name or ID. Wildcards (*) are allowed. For example, "orderdocument*2015" will return order documents with names like "orderdocument June 2015", "orderdocument April 2015", or simply "orderdocument 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "orderdocument" will match order documents with name "my orderdocument", "orderdocument 2015", or simply "orderdocument". + * @param {string=} params.siteId Select only order documents that are associated with these sites. + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Orderdocuments$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Orderdocuments$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Orderdocuments$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Orderdocuments$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Order document ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Project ID for order documents. + */ + projectId?: string; + } + interface Params$Resource$Orderdocuments$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only order documents that have been approved by at least one user. + */ + approved?: boolean; + /** + * Select only order documents with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Select only order documents for specified orders. + */ + orderId?: string; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Project ID for order documents. + */ + projectId?: string; + /** + * Allows searching for order documents by name or ID. Wildcards (*) are + * allowed. For example, "orderdocument*2015" will return order documents + * with names like "orderdocument June 2015", "orderdocument April 2015", or + * simply "orderdocument 2015". Most of the searches also add wildcards + * implicitly at the start and the end of the search string. For example, a + * search string of "orderdocument" will match order documents with name "my + * orderdocument", "orderdocument 2015", or simply "orderdocument". + */ + searchString?: string; + /** + * Select only order documents that are associated with these sites. + */ + siteId?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + class Resource$Orders { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.orders.get + * @desc Gets one order by ID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Project ID for orders. + * projectId: '0', // TODO: Update placeholder value. + * + * // Order ID. + * id: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.orders.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.orders.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Order ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string} params.projectId Project ID for orders. + * @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?: Params$Resource$Orders$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Orders$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Orders$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.orders.list + * @desc Retrieves a list of orders, possibly filtered. This method supports + * paging. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Project ID for orders. + * projectId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var ordersPage = response['orders']; + * if (!ordersPage) { + * return; + * } + * for (var i = 0; i < ordersPage.length; i++) { + * // TODO: Change code below to process each resource in + * `ordersPage`: console.log(JSON.stringify(ordersPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * dfareporting.orders.list(request, handlePage); + * } + * }; + * + * dfareporting.orders.list(request, handlePage); + * }); + * + * function authorize(callback) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.orders.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.ids Select only orders with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string} params.projectId Project ID for orders. + * @param {string=} params.searchString Allows searching for orders by name or ID. Wildcards (*) are allowed. For example, "order*2015" will return orders with names like "order June 2015", "order April 2015", or simply "order 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "order" will match orders with name "my order", "order 2015", or simply "order". + * @param {string=} params.siteId Select only orders that are associated with these site IDs. + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Orders$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Orders$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Orders$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Orders$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Order ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Project ID for orders. + */ + projectId?: string; + } + interface Params$Resource$Orders$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only orders with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Project ID for orders. + */ + projectId?: string; + /** + * Allows searching for orders by name or ID. Wildcards (*) are allowed. For + * example, "order*2015" will return orders with names like "order June + * 2015", "order April 2015", or simply "order 2015". Most of the searches + * also add wildcards implicitly at the start and the end of the search + * string. For example, a search string of "order" will match orders with + * name "my order", "order 2015", or simply "order". + */ + searchString?: string; + /** + * Select only orders that are associated with these site IDs. + */ + siteId?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + class Resource$Placementgroups { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.placementGroups.get + * @desc Gets one placement group by ID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Placement group ID. + * id: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.placementGroups.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.placementGroups.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Placement group ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Placementgroups$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Placementgroups$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Placementgroups$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.placementGroups.insert + * @desc Inserts a new placement group. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.placementGroups.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.placementGroups.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().PlacementGroup} 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?: Params$Resource$Placementgroups$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Placementgroups$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Placementgroups$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.placementGroups.list + * @desc Retrieves a list of placement groups, possibly filtered. This + * method supports paging. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var placementGroupsPage = response['placementGroups']; + * if (!placementGroupsPage) { + * return; + * } + * for (var i = 0; i < placementGroupsPage.length; i++) { + * // TODO: Change code below to process each resource in + * `placementGroupsPage`: console.log(JSON.stringify(placementGroupsPage[i], + * null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * dfareporting.placementGroups.list(request, handlePage); + * } + * }; + * + * dfareporting.placementGroups.list(request, handlePage); + * }); + * + * function authorize(callback) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.placementGroups.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.advertiserIds Select only placement groups that belong to these advertisers. + * @param {boolean=} params.archived Select only archived placements. Don't set this field to select both archived and non-archived placements. + * @param {string=} params.campaignIds Select only placement groups that belong to these campaigns. + * @param {string=} params.contentCategoryIds Select only placement groups that are associated with these content categories. + * @param {string=} params.directorySiteIds Select only placement groups that are associated with these directory sites. + * @param {string=} params.ids Select only placement groups with these IDs. + * @param {string=} params.maxEndDate Select only placements or placement groups whose end date is on or before the specified maxEndDate. The date should be formatted as "yyyy-MM-dd". + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.maxStartDate Select only placements or placement groups whose start date is on or before the specified maxStartDate. The date should be formatted as "yyyy-MM-dd". + * @param {string=} params.minEndDate Select only placements or placement groups whose end date is on or after the specified minEndDate. The date should be formatted as "yyyy-MM-dd". + * @param {string=} params.minStartDate Select only placements or placement groups whose start date is on or after the specified minStartDate. The date should be formatted as "yyyy-MM-dd". + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string=} params.placementGroupType Select only placement groups belonging with this group type. A package is a simple group of placements that acts as a single pricing point for a group of tags. A roadblock is a group of placements that not only acts as a single pricing point but also assumes that all the tags in it will be served at the same time. A roadblock requires one of its assigned placements to be marked as primary for reporting. + * @param {string=} params.placementStrategyIds Select only placement groups that are associated with these placement strategies. + * @param {string=} params.pricingTypes Select only placement groups with these pricing types. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for placement groups by name or ID. Wildcards (*) are allowed. For example, "placement*2015" will return placement groups with names like "placement group June 2015", "placement group May 2015", or simply "placements 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "placementgroup" will match placement groups with name "my placementgroup", "placementgroup 2015", or simply "placementgroup". + * @param {string=} params.siteIds Select only placement groups that are associated with these sites. + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Placementgroups$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Placementgroups$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Placementgroups$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.placementGroups.patch + * @desc Updates an existing placement group. This method supports patch + * semantics. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Placement group ID. + * id: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.placementGroups.patch(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.placementGroups.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Placement group ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().PlacementGroup} 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 + */ + patch(params?: Params$Resource$Placementgroups$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Placementgroups$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Placementgroups$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.placementGroups.update + * @desc Updates an existing placement group. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.placementGroups.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.placementGroups.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().PlacementGroup} 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?: Params$Resource$Placementgroups$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Placementgroups$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Placementgroups$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Placementgroups$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Placement group ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Placementgroups$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$PlacementGroup; + } + interface Params$Resource$Placementgroups$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only placement groups that belong to these advertisers. + */ + advertiserIds?: string; + /** + * Select only archived placements. Don't set this field to select both + * archived and non-archived placements. + */ + archived?: boolean; + /** + * Select only placement groups that belong to these campaigns. + */ + campaignIds?: string; + /** + * Select only placement groups that are associated with these content + * categories. + */ + contentCategoryIds?: string; + /** + * Select only placement groups that are associated with these directory + * sites. + */ + directorySiteIds?: string; + /** + * Select only placement groups with these IDs. + */ + ids?: string; + /** + * Select only placements or placement groups whose end date is on or before + * the specified maxEndDate. The date should be formatted as "yyyy-MM-dd". + */ + maxEndDate?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Select only placements or placement groups whose start date is on or + * before the specified maxStartDate. The date should be formatted as + * "yyyy-MM-dd". + */ + maxStartDate?: string; + /** + * Select only placements or placement groups whose end date is on or after + * the specified minEndDate. The date should be formatted as "yyyy-MM-dd". + */ + minEndDate?: string; + /** + * Select only placements or placement groups whose start date is on or + * after the specified minStartDate. The date should be formatted as + * "yyyy-MM-dd". + */ + minStartDate?: string; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * Select only placement groups belonging with this group type. A package is + * a simple group of placements that acts as a single pricing point for a + * group of tags. A roadblock is a group of placements that not only acts as + * a single pricing point but also assumes that all the tags in it will be + * served at the same time. A roadblock requires one of its assigned + * placements to be marked as primary for reporting. + */ + placementGroupType?: string; + /** + * Select only placement groups that are associated with these placement + * strategies. + */ + placementStrategyIds?: string; + /** + * Select only placement groups with these pricing types. + */ + pricingTypes?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for placement groups by name or ID. Wildcards (*) are + * allowed. For example, "placement*2015" will return placement groups with + * names like "placement group June 2015", "placement group May 2015", or + * simply "placements 2015". Most of the searches also add wildcards + * implicitly at the start and the end of the search string. For example, a + * search string of "placementgroup" will match placement groups with name + * "my placementgroup", "placementgroup 2015", or simply "placementgroup". + */ + searchString?: string; + /** + * Select only placement groups that are associated with these sites. + */ + siteIds?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + interface Params$Resource$Placementgroups$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Placement group ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$PlacementGroup; + } + interface Params$Resource$Placementgroups$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$PlacementGroup; + } + class Resource$Placements { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.placements.generatetags + * @desc Generates tags for a placement. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.placements.generatetags(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.placements.generatetags + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.campaignId Generate placements belonging to this campaign. This is a required field. + * @param {string=} params.placementIds Generate tags for these placements. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.tagFormats Tag formats to generate for these placements. Note: PLACEMENT_TAG_STANDARD can only be generated for 1x1 placements. + * @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 + */ + generatetags(params?: Params$Resource$Placements$Generatetags, options?: MethodOptions): AxiosPromise; + generatetags(params: Params$Resource$Placements$Generatetags, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + generatetags(params: Params$Resource$Placements$Generatetags, callback: BodyResponseCallback): void; + generatetags(callback: BodyResponseCallback): void; + /** + * dfareporting.placements.get + * @desc Gets one placement by ID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Placement ID. + * id: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.placements.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.placements.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Placement ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Placements$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Placements$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Placements$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.placements.insert + * @desc Inserts a new placement. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.placements.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.placements.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Placement} 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?: Params$Resource$Placements$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Placements$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Placements$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.placements.list + * @desc Retrieves a list of placements, possibly filtered. This method + * supports paging. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var placementsPage = response['placements']; + * if (!placementsPage) { + * return; + * } + * for (var i = 0; i < placementsPage.length; i++) { + * // TODO: Change code below to process each resource in + * `placementsPage`: console.log(JSON.stringify(placementsPage[i], null, + * 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * dfareporting.placements.list(request, handlePage); + * } + * }; + * + * dfareporting.placements.list(request, handlePage); + * }); + * + * function authorize(callback) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.placements.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.advertiserIds Select only placements that belong to these advertisers. + * @param {boolean=} params.archived Select only archived placements. Don't set this field to select both archived and non-archived placements. + * @param {string=} params.campaignIds Select only placements that belong to these campaigns. + * @param {string=} params.compatibilities Select only placements that are associated with these compatibilities. DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop or on mobile devices for regular or interstitial ads respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard. + * @param {string=} params.contentCategoryIds Select only placements that are associated with these content categories. + * @param {string=} params.directorySiteIds Select only placements that are associated with these directory sites. + * @param {string=} params.groupIds Select only placements that belong to these placement groups. + * @param {string=} params.ids Select only placements with these IDs. + * @param {string=} params.maxEndDate Select only placements or placement groups whose end date is on or before the specified maxEndDate. The date should be formatted as "yyyy-MM-dd". + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.maxStartDate Select only placements or placement groups whose start date is on or before the specified maxStartDate. The date should be formatted as "yyyy-MM-dd". + * @param {string=} params.minEndDate Select only placements or placement groups whose end date is on or after the specified minEndDate. The date should be formatted as "yyyy-MM-dd". + * @param {string=} params.minStartDate Select only placements or placement groups whose start date is on or after the specified minStartDate. The date should be formatted as "yyyy-MM-dd". + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string=} params.paymentSource Select only placements with this payment source. + * @param {string=} params.placementStrategyIds Select only placements that are associated with these placement strategies. + * @param {string=} params.pricingTypes Select only placements with these pricing types. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for placements by name or ID. Wildcards (*) are allowed. For example, "placement*2015" will return placements with names like "placement June 2015", "placement May 2015", or simply "placements 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "placement" will match placements with name "my placement", "placement 2015", or simply "placement". + * @param {string=} params.siteIds Select only placements that are associated with these sites. + * @param {string=} params.sizeIds Select only placements that are associated with these sizes. + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Placements$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Placements$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Placements$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.placements.patch + * @desc Updates an existing placement. This method supports patch + * semantics. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Placement ID. + * id: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.placements.patch(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.placements.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Placement ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Placement} 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 + */ + patch(params?: Params$Resource$Placements$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Placements$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Placements$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.placements.update + * @desc Updates an existing placement. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.placements.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.placements.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Placement} 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?: Params$Resource$Placements$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Placements$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Placements$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Placements$Generatetags { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Generate placements belonging to this campaign. This is a required field. + */ + campaignId?: string; + /** + * Generate tags for these placements. + */ + placementIds?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Tag formats to generate for these placements. Note: + * PLACEMENT_TAG_STANDARD can only be generated for 1x1 placements. + */ + tagFormats?: string; + } + interface Params$Resource$Placements$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Placement ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Placements$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Placement; + } + interface Params$Resource$Placements$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only placements that belong to these advertisers. + */ + advertiserIds?: string; + /** + * Select only archived placements. Don't set this field to select both + * archived and non-archived placements. + */ + archived?: boolean; + /** + * Select only placements that belong to these campaigns. + */ + campaignIds?: string; + /** + * Select only placements that are associated with these compatibilities. + * DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop or + * on mobile devices for regular or interstitial ads respectively. APP and + * APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO refers + * to rendering in in-stream video ads developed with the VAST standard. + */ + compatibilities?: string; + /** + * Select only placements that are associated with these content categories. + */ + contentCategoryIds?: string; + /** + * Select only placements that are associated with these directory sites. + */ + directorySiteIds?: string; + /** + * Select only placements that belong to these placement groups. + */ + groupIds?: string; + /** + * Select only placements with these IDs. + */ + ids?: string; + /** + * Select only placements or placement groups whose end date is on or before + * the specified maxEndDate. The date should be formatted as "yyyy-MM-dd". + */ + maxEndDate?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Select only placements or placement groups whose start date is on or + * before the specified maxStartDate. The date should be formatted as + * "yyyy-MM-dd". + */ + maxStartDate?: string; + /** + * Select only placements or placement groups whose end date is on or after + * the specified minEndDate. The date should be formatted as "yyyy-MM-dd". + */ + minEndDate?: string; + /** + * Select only placements or placement groups whose start date is on or + * after the specified minStartDate. The date should be formatted as + * "yyyy-MM-dd". + */ + minStartDate?: string; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * Select only placements with this payment source. + */ + paymentSource?: string; + /** + * Select only placements that are associated with these placement + * strategies. + */ + placementStrategyIds?: string; + /** + * Select only placements with these pricing types. + */ + pricingTypes?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for placements by name or ID. Wildcards (*) are allowed. + * For example, "placement*2015" will return placements with names like + * "placement June 2015", "placement May 2015", or simply "placements 2015". + * Most of the searches also add wildcards implicitly at the start and the + * end of the search string. For example, a search string of "placement" + * will match placements with name "my placement", "placement 2015", or + * simply "placement". + */ + searchString?: string; + /** + * Select only placements that are associated with these sites. + */ + siteIds?: string; + /** + * Select only placements that are associated with these sizes. + */ + sizeIds?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + interface Params$Resource$Placements$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Placement ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Placement; + } + interface Params$Resource$Placements$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Placement; + } + class Resource$Placementstrategies { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.placementStrategies.delete + * @desc Deletes an existing placement strategy. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Placement strategy ID. + * id: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.placementStrategies.delete(request, function(err) { + * if (err) { + * console.error(err); + * return; + * } + * }); + * }); + * + * function authorize(callback) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.placementStrategies.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Placement strategy ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Placementstrategies$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Placementstrategies$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Placementstrategies$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dfareporting.placementStrategies.get + * @desc Gets one placement strategy by ID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Placement strategy ID. + * id: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.placementStrategies.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.placementStrategies.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Placement strategy ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Placementstrategies$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Placementstrategies$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Placementstrategies$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.placementStrategies.insert + * @desc Inserts a new placement strategy. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.placementStrategies.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.placementStrategies.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().PlacementStrategy} 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?: Params$Resource$Placementstrategies$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Placementstrategies$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Placementstrategies$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.placementStrategies.list + * @desc Retrieves a list of placement strategies, possibly filtered. This + * method supports paging. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var placementStrategiesPage = response['placementStrategies']; + * if (!placementStrategiesPage) { + * return; + * } + * for (var i = 0; i < placementStrategiesPage.length; i++) { + * // TODO: Change code below to process each resource in + * `placementStrategiesPage`: + * console.log(JSON.stringify(placementStrategiesPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * dfareporting.placementStrategies.list(request, handlePage); + * } + * }; + * + * dfareporting.placementStrategies.list(request, handlePage); + * }); + * + * function authorize(callback) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.placementStrategies.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.ids Select only placement strategies with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "placementstrategy*2015" will return objects with names like "placementstrategy June 2015", "placementstrategy April 2015", or simply "placementstrategy 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "placementstrategy" will match objects with name "my placementstrategy", "placementstrategy 2015", or simply "placementstrategy". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Placementstrategies$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Placementstrategies$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Placementstrategies$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.placementStrategies.patch + * @desc Updates an existing placement strategy. This method supports patch + * semantics. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Placement strategy ID. + * id: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.placementStrategies.patch(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.placementStrategies.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Placement strategy ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().PlacementStrategy} 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 + */ + patch(params?: Params$Resource$Placementstrategies$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Placementstrategies$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Placementstrategies$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.placementStrategies.update + * @desc Updates an existing placement strategy. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.placementStrategies.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.placementStrategies.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().PlacementStrategy} 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?: Params$Resource$Placementstrategies$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Placementstrategies$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Placementstrategies$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Placementstrategies$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Placement strategy ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Placementstrategies$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Placement strategy ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Placementstrategies$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$PlacementStrategy; + } + interface Params$Resource$Placementstrategies$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only placement strategies with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "placementstrategy*2015" will return objects with names like + * "placementstrategy June 2015", "placementstrategy April 2015", or simply + * "placementstrategy 2015". Most of the searches also add wildcards + * implicitly at the start and the end of the search string. For example, a + * search string of "placementstrategy" will match objects with name "my + * placementstrategy", "placementstrategy 2015", or simply + * "placementstrategy". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + interface Params$Resource$Placementstrategies$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Placement strategy ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$PlacementStrategy; + } + interface Params$Resource$Placementstrategies$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$PlacementStrategy; + } + class Resource$Platformtypes { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.platformTypes.get + * @desc Gets one platform type by ID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Platform type ID. + * id: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.platformTypes.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.platformTypes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Platform type ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Platformtypes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Platformtypes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Platformtypes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.platformTypes.list + * @desc Retrieves a list of platform types. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.platformTypes.list(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.platformTypes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Platformtypes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Platformtypes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Platformtypes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Platformtypes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Platform type ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Platformtypes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Postalcodes { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.postalCodes.get + * @desc Gets one postal code by ID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Postal code ID. + * code: 'my-code', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.postalCodes.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.postalCodes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.code Postal code ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Postalcodes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Postalcodes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Postalcodes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.postalCodes.list + * @desc Retrieves a list of postal codes. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.postalCodes.list(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.postalCodes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Postalcodes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Postalcodes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Postalcodes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Postalcodes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Postal code ID. + */ + code?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Postalcodes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Projects { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.projects.get + * @desc Gets one project by ID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Project ID. + * id: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.projects.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.projects.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Project ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Projects$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.projects.list + * @desc Retrieves a list of projects, possibly filtered. This method + * supports paging. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var projectsPage = response['projects']; + * if (!projectsPage) { + * return; + * } + * for (var i = 0; i < projectsPage.length; i++) { + * // TODO: Change code below to process each resource in + * `projectsPage`: console.log(JSON.stringify(projectsPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * dfareporting.projects.list(request, handlePage); + * } + * }; + * + * dfareporting.projects.list(request, handlePage); + * }); + * + * function authorize(callback) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.projects.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.advertiserIds Select only projects with these advertiser IDs. + * @param {string=} params.ids Select only projects with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for projects by name or ID. Wildcards (*) are allowed. For example, "project*2015" will return projects with names like "project June 2015", "project April 2015", or simply "project 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "project" will match projects with name "my project", "project 2015", or simply "project". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Projects$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Projects$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only projects with these advertiser IDs. + */ + advertiserIds?: string; + /** + * Select only projects with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for projects by name or ID. Wildcards (*) are allowed. + * For example, "project*2015" will return projects with names like "project + * June 2015", "project April 2015", or simply "project 2015". Most of the + * searches also add wildcards implicitly at the start and the end of the + * search string. For example, a search string of "project" will match + * projects with name "my project", "project 2015", or simply "project". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + class Resource$Regions { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.regions.list + * @desc Retrieves a list of regions. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.regions.list(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.regions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Regions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Regions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Regions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Regions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Remarketinglists { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.remarketingLists.get + * @desc Gets one remarketing list by ID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Remarketing list ID. + * id: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.remarketingLists.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.remarketingLists.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Remarketing list ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Remarketinglists$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Remarketinglists$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Remarketinglists$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.remarketingLists.insert + * @desc Inserts a new remarketing list. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.remarketingLists.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.remarketingLists.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().RemarketingList} 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?: Params$Resource$Remarketinglists$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Remarketinglists$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Remarketinglists$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.remarketingLists.list + * @desc Retrieves a list of remarketing lists, possibly filtered. This + * method supports paging. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Select only remarketing lists owned by this advertiser. + * advertiserId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var remarketingListsPage = response['remarketingLists']; + * if (!remarketingListsPage) { + * return; + * } + * for (var i = 0; i < remarketingListsPage.length; i++) { + * // TODO: Change code below to process each resource in + * `remarketingListsPage`: + * console.log(JSON.stringify(remarketingListsPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * dfareporting.remarketingLists.list(request, handlePage); + * } + * }; + * + * dfareporting.remarketingLists.list(request, handlePage); + * }); + * + * function authorize(callback) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.remarketingLists.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.active Select only active or only inactive remarketing lists. + * @param {string} params.advertiserId Select only remarketing lists owned by this advertiser. + * @param {string=} params.floodlightActivityId Select only remarketing lists that have this floodlight activity ID. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.name Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "remarketing list*2015" will return objects with names like "remarketing list June 2015", "remarketing list April 2015", or simply "remarketing list 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "remarketing list" will match objects with name "my remarketing list", "remarketing list 2015", or simply "remarketing list". + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Remarketinglists$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Remarketinglists$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Remarketinglists$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.remarketingLists.patch + * @desc Updates an existing remarketing list. This method supports patch + * semantics. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Remarketing list ID. + * id: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.remarketingLists.patch(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.remarketingLists.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Remarketing list ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().RemarketingList} 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 + */ + patch(params?: Params$Resource$Remarketinglists$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Remarketinglists$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Remarketinglists$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.remarketingLists.update + * @desc Updates an existing remarketing list. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.remarketingLists.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.remarketingLists.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().RemarketingList} 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?: Params$Resource$Remarketinglists$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Remarketinglists$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Remarketinglists$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Remarketinglists$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Remarketing list ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Remarketinglists$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RemarketingList; + } + interface Params$Resource$Remarketinglists$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only active or only inactive remarketing lists. + */ + active?: boolean; + /** + * Select only remarketing lists owned by this advertiser. + */ + advertiserId?: string; + /** + * Select only remarketing lists that have this floodlight activity ID. + */ + floodlightActivityId?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "remarketing list*2015" will return objects with names like + * "remarketing list June 2015", "remarketing list April 2015", or simply + * "remarketing list 2015". Most of the searches also add wildcards + * implicitly at the start and the end of the search string. For example, a + * search string of "remarketing list" will match objects with name "my + * remarketing list", "remarketing list 2015", or simply "remarketing list". + */ + name?: string; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + interface Params$Resource$Remarketinglists$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Remarketing list ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RemarketingList; + } + interface Params$Resource$Remarketinglists$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RemarketingList; + } + class Resource$Remarketinglistshares { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.remarketingListShares.get + * @desc Gets one remarketing list share by remarketing list ID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Remarketing list ID. + * remarketingListId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.remarketingListShares.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.remarketingListShares.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {string} params.remarketingListId Remarketing list ID. + * @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?: Params$Resource$Remarketinglistshares$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Remarketinglistshares$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Remarketinglistshares$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.remarketingListShares.patch + * @desc Updates an existing remarketing list share. This method supports + * patch semantics. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Remarketing list ID. + * remarketingListId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.remarketingListShares.patch(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.remarketingListShares.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {string} params.remarketingListId Remarketing list ID. + * @param {().RemarketingListShare} 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 + */ + patch(params?: Params$Resource$Remarketinglistshares$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Remarketinglistshares$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Remarketinglistshares$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.remarketingListShares.update + * @desc Updates an existing remarketing list share. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.remarketingListShares.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.remarketingListShares.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().RemarketingListShare} 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?: Params$Resource$Remarketinglistshares$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Remarketinglistshares$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Remarketinglistshares$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Remarketinglistshares$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Remarketing list ID. + */ + remarketingListId?: string; + } + interface Params$Resource$Remarketinglistshares$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Remarketing list ID. + */ + remarketingListId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RemarketingListShare; + } + interface Params$Resource$Remarketinglistshares$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RemarketingListShare; + } + class Resource$Reports { + root: Dfareporting; + compatibleFields: Resource$Reports$Compatiblefields; + files: Resource$Reports$Files; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.reports.delete + * @desc Deletes a report by its ID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // The DFA user profile ID. + * profileId: '0', // TODO: Update placeholder value. + * + * // The ID of the report. + * reportId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.reports.delete(request, function(err) { + * if (err) { + * console.error(err); + * return; + * } + * }); + * }); + * + * function authorize(callback) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfareporting' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.reports.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId The DFA user profile ID. + * @param {string} params.reportId The ID of the report. + * @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?: Params$Resource$Reports$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Reports$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Reports$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dfareporting.reports.get + * @desc Retrieves a report by its ID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // The DFA user profile ID. + * profileId: '0', // TODO: Update placeholder value. + * + * // The ID of the report. + * reportId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.reports.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfareporting' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.reports.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId The DFA user profile ID. + * @param {string} params.reportId The ID of the report. + * @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?: Params$Resource$Reports$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Reports$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Reports$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.reports.insert + * @desc Creates a report. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // The DFA user profile ID. + * profileId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.reports.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfareporting' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.reports.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId The DFA user profile ID. + * @param {().Report} 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?: Params$Resource$Reports$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Reports$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Reports$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.reports.list + * @desc Retrieves list of reports. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // The DFA user profile ID. + * profileId: '0', // 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; + * dfareporting.reports.list(request, handlePage); + * } + * }; + * + * dfareporting.reports.list(request, handlePage); + * }); + * + * function authorize(callback) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfareporting' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.reports.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken The value of the nextToken from the previous result page. + * @param {string} params.profileId The DFA user profile ID. + * @param {string=} params.scope The scope that defines which results are returned. + * @param {string=} params.sortField The field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Reports$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Reports$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Reports$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.reports.patch + * @desc Updates a report. This method supports patch semantics. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // The DFA user profile ID. + * profileId: '0', // TODO: Update placeholder value. + * + * // The ID of the report. + * reportId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.reports.patch(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfareporting' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.reports.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId The DFA user profile ID. + * @param {string} params.reportId The ID of the report. + * @param {().Report} 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 + */ + patch(params?: Params$Resource$Reports$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Reports$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Reports$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.reports.run + * @desc Runs a report. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // The DFA profile ID. + * profileId: '0', // TODO: Update placeholder value. + * + * // The ID of the report. + * reportId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.reports.run(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfareporting' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.reports.run + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId The DFA profile ID. + * @param {string} params.reportId The ID of the report. + * @param {boolean=} params.synchronous If set and true, tries to run the report synchronously. + * @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 + */ + run(params?: Params$Resource$Reports$Run, options?: MethodOptions): AxiosPromise; + run(params: Params$Resource$Reports$Run, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + run(params: Params$Resource$Reports$Run, callback: BodyResponseCallback): void; + run(callback: BodyResponseCallback): void; + /** + * dfareporting.reports.update + * @desc Updates a report. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // The DFA user profile ID. + * profileId: '0', // TODO: Update placeholder value. + * + * // The ID of the report. + * reportId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.reports.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfareporting' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.reports.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId The DFA user profile ID. + * @param {string} params.reportId The ID of the report. + * @param {().Report} 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?: Params$Resource$Reports$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Reports$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Reports$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Reports$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The DFA user profile ID. + */ + profileId?: string; + /** + * The ID of the report. + */ + reportId?: string; + } + interface Params$Resource$Reports$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The DFA user profile ID. + */ + profileId?: string; + /** + * The ID of the report. + */ + reportId?: string; + } + interface Params$Resource$Reports$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The DFA user profile ID. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Report; + } + interface Params$Resource$Reports$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * The value of the nextToken from the previous result page. + */ + pageToken?: string; + /** + * The DFA user profile ID. + */ + profileId?: string; + /** + * The scope that defines which results are returned. + */ + scope?: string; + /** + * The field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + interface Params$Resource$Reports$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The DFA user profile ID. + */ + profileId?: string; + /** + * The ID of the report. + */ + reportId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Report; + } + interface Params$Resource$Reports$Run { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The DFA profile ID. + */ + profileId?: string; + /** + * The ID of the report. + */ + reportId?: string; + /** + * If set and true, tries to run the report synchronously. + */ + synchronous?: boolean; + } + interface Params$Resource$Reports$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The DFA user profile ID. + */ + profileId?: string; + /** + * The ID of the report. + */ + reportId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Report; + } + class Resource$Reports$Compatiblefields { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.reports.compatibleFields.query + * @desc Returns the fields that are compatible to be selected in the + * respective sections of a report criteria, given the fields already + * selected in the input report and user permissions. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // The DFA user profile ID. + * profileId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.reports.compatibleFields.query(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfareporting' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.reports.compatibleFields.query + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId The DFA user profile ID. + * @param {().Report} 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 + */ + query(params?: Params$Resource$Reports$Compatiblefields$Query, options?: MethodOptions): AxiosPromise; + query(params: Params$Resource$Reports$Compatiblefields$Query, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + query(params: Params$Resource$Reports$Compatiblefields$Query, callback: BodyResponseCallback): void; + query(callback: BodyResponseCallback): void; + } + interface Params$Resource$Reports$Compatiblefields$Query { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The DFA user profile ID. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Report; + } + class Resource$Reports$Files { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.reports.files.get + * @desc Retrieves a report file. This method supports media download. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // The DFA profile ID. + * profileId: '0', // TODO: Update placeholder value. + * + * // The ID of the report. + * reportId: '0', // TODO: Update placeholder value. + * + * // The ID of the report file. + * fileId: '0', // TODO: Update placeholder value. + * + * // TODO: To download media content, use: + * // + * // alt: 'media', + * + * auth: authClient, + * }; + * + * dfareporting.reports.files.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfareporting' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.reports.files.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.fileId The ID of the report file. + * @param {string} params.profileId The DFA profile ID. + * @param {string} params.reportId The ID of the report. + * @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?: Params$Resource$Reports$Files$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Reports$Files$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Reports$Files$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.reports.files.list + * @desc Lists files for a report. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // The DFA profile ID. + * profileId: '0', // TODO: Update placeholder value. + * + * // The ID of the parent report. + * reportId: '0', // 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; + * dfareporting.reports.files.list(request, handlePage); + * } + * }; + * + * dfareporting.reports.files.list(request, handlePage); + * }); + * + * function authorize(callback) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfareporting' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.reports.files.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken The value of the nextToken from the previous result page. + * @param {string} params.profileId The DFA profile ID. + * @param {string} params.reportId The ID of the parent report. + * @param {string=} params.sortField The field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Reports$Files$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Reports$Files$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Reports$Files$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Reports$Files$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the report file. + */ + fileId?: string; + /** + * The DFA profile ID. + */ + profileId?: string; + /** + * The ID of the report. + */ + reportId?: string; + } + interface Params$Resource$Reports$Files$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * The value of the nextToken from the previous result page. + */ + pageToken?: string; + /** + * The DFA profile ID. + */ + profileId?: string; + /** + * The ID of the parent report. + */ + reportId?: string; + /** + * The field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + class Resource$Sites { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.sites.get + * @desc Gets one site by ID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Site ID. + * id: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.sites.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.sites.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Site ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Sites$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Sites$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Sites$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.sites.insert + * @desc Inserts a new site. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.sites.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.sites.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Site} 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?: Params$Resource$Sites$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Sites$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Sites$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.sites.list + * @desc Retrieves a list of sites, possibly filtered. This method supports + * paging. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var sitesPage = response['sites']; + * if (!sitesPage) { + * return; + * } + * for (var i = 0; i < sitesPage.length; i++) { + * // TODO: Change code below to process each resource in `sitesPage`: + * console.log(JSON.stringify(sitesPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * dfareporting.sites.list(request, handlePage); + * } + * }; + * + * dfareporting.sites.list(request, handlePage); + * }); + * + * function authorize(callback) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.sites.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.acceptsInStreamVideoPlacements This search filter is no longer supported and will have no effect on the results returned. + * @param {boolean=} params.acceptsInterstitialPlacements This search filter is no longer supported and will have no effect on the results returned. + * @param {boolean=} params.acceptsPublisherPaidPlacements Select only sites that accept publisher paid placements. + * @param {boolean=} params.adWordsSite Select only AdWords sites. + * @param {boolean=} params.approved Select only approved sites. + * @param {string=} params.campaignIds Select only sites with these campaign IDs. + * @param {string=} params.directorySiteIds Select only sites with these directory site IDs. + * @param {string=} params.ids Select only sites with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name, ID or keyName. Wildcards (*) are allowed. For example, "site*2015" will return objects with names like "site June 2015", "site April 2015", or simply "site 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "site" will match objects with name "my site", "site 2015", or simply "site". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @param {string=} params.subaccountId Select only sites with this subaccount ID. + * @param {boolean=} params.unmappedSite Select only sites that have not been mapped to a directory site. + * @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?: Params$Resource$Sites$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Sites$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Sites$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.sites.patch + * @desc Updates an existing site. This method supports patch semantics. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Site ID. + * id: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.sites.patch(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.sites.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Site ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Site} 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 + */ + patch(params?: Params$Resource$Sites$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Sites$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Sites$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.sites.update + * @desc Updates an existing site. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.sites.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.sites.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Site} 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?: Params$Resource$Sites$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Sites$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Sites$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Sites$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Site ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Sites$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Site; + } + interface Params$Resource$Sites$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * This search filter is no longer supported and will have no effect on the + * results returned. + */ + acceptsInStreamVideoPlacements?: boolean; + /** + * This search filter is no longer supported and will have no effect on the + * results returned. + */ + acceptsInterstitialPlacements?: boolean; + /** + * Select only sites that accept publisher paid placements. + */ + acceptsPublisherPaidPlacements?: boolean; + /** + * Select only AdWords sites. + */ + adWordsSite?: boolean; + /** + * Select only approved sites. + */ + approved?: boolean; + /** + * Select only sites with these campaign IDs. + */ + campaignIds?: string; + /** + * Select only sites with these directory site IDs. + */ + directorySiteIds?: string; + /** + * Select only sites with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name, ID or keyName. Wildcards (*) are + * allowed. For example, "site*2015" will return objects with names like + * "site June 2015", "site April 2015", or simply "site 2015". Most of the + * searches also add wildcards implicitly at the start and the end of the + * search string. For example, a search string of "site" will match objects + * with name "my site", "site 2015", or simply "site". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + /** + * Select only sites with this subaccount ID. + */ + subaccountId?: string; + /** + * Select only sites that have not been mapped to a directory site. + */ + unmappedSite?: boolean; + } + interface Params$Resource$Sites$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Site ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Site; + } + interface Params$Resource$Sites$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Site; + } + class Resource$Sizes { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.sizes.get + * @desc Gets one size by ID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Size ID. + * id: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.sizes.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.sizes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Size ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Sizes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Sizes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Sizes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.sizes.insert + * @desc Inserts a new size. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.sizes.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.sizes.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Size} 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?: Params$Resource$Sizes$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Sizes$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Sizes$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.sizes.list + * @desc Retrieves a list of sizes, possibly filtered. Retrieved sizes are + * globally unique and may include values not currently in use by your + * account. Due to this, the list of sizes returned by this method may + * differ from the list seen in the Trafficking UI. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.sizes.list(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.sizes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.height Select only sizes with this height. + * @param {boolean=} params.iabStandard Select only IAB standard sizes. + * @param {string=} params.ids Select only sizes with these IDs. + * @param {string} params.profileId User profile ID associated with this request. + * @param {integer=} params.width Select only sizes with this width. + * @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?: Params$Resource$Sizes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Sizes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Sizes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Sizes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Size ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Sizes$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Size; + } + interface Params$Resource$Sizes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only sizes with this height. + */ + height?: number; + /** + * Select only IAB standard sizes. + */ + iabStandard?: boolean; + /** + * Select only sizes with these IDs. + */ + ids?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Select only sizes with this width. + */ + width?: number; + } + class Resource$Subaccounts { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.subaccounts.get + * @desc Gets one subaccount by ID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Subaccount ID. + * id: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.subaccounts.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.subaccounts.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Subaccount ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Subaccounts$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Subaccounts$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Subaccounts$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.subaccounts.insert + * @desc Inserts a new subaccount. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.subaccounts.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.subaccounts.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Subaccount} 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?: Params$Resource$Subaccounts$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Subaccounts$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Subaccounts$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.subaccounts.list + * @desc Gets a list of subaccounts, possibly filtered. This method supports + * paging. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var subaccountsPage = response['subaccounts']; + * if (!subaccountsPage) { + * return; + * } + * for (var i = 0; i < subaccountsPage.length; i++) { + * // TODO: Change code below to process each resource in + * `subaccountsPage`: console.log(JSON.stringify(subaccountsPage[i], null, + * 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * dfareporting.subaccounts.list(request, handlePage); + * } + * }; + * + * dfareporting.subaccounts.list(request, handlePage); + * }); + * + * function authorize(callback) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.subaccounts.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.ids Select only subaccounts with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "subaccount*2015" will return objects with names like "subaccount June 2015", "subaccount April 2015", or simply "subaccount 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "subaccount" will match objects with name "my subaccount", "subaccount 2015", or simply "subaccount". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Subaccounts$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Subaccounts$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Subaccounts$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.subaccounts.patch + * @desc Updates an existing subaccount. This method supports patch + * semantics. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Subaccount ID. + * id: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.subaccounts.patch(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.subaccounts.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Subaccount ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Subaccount} 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 + */ + patch(params?: Params$Resource$Subaccounts$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Subaccounts$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Subaccounts$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.subaccounts.update + * @desc Updates an existing subaccount. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.subaccounts.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.subaccounts.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Subaccount} 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?: Params$Resource$Subaccounts$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Subaccounts$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Subaccounts$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Subaccounts$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Subaccount ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Subaccounts$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Subaccount; + } + interface Params$Resource$Subaccounts$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only subaccounts with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "subaccount*2015" will return objects with names like + * "subaccount June 2015", "subaccount April 2015", or simply "subaccount + * 2015". Most of the searches also add wildcards implicitly at the start + * and the end of the search string. For example, a search string of + * "subaccount" will match objects with name "my subaccount", "subaccount + * 2015", or simply "subaccount". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + interface Params$Resource$Subaccounts$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Subaccount ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Subaccount; + } + interface Params$Resource$Subaccounts$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Subaccount; + } + class Resource$Targetableremarketinglists { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.targetableRemarketingLists.get + * @desc Gets one remarketing list by ID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Remarketing list ID. + * id: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.targetableRemarketingLists.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.targetableRemarketingLists.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Remarketing list ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Targetableremarketinglists$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Targetableremarketinglists$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Targetableremarketinglists$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.targetableRemarketingLists.list + * @desc Retrieves a list of targetable remarketing lists, possibly + * filtered. This method supports paging. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Select only targetable remarketing lists targetable by these + * advertisers. advertiserId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var targetableRemarketingListsPage = + * response['targetableRemarketingLists']; if + * (!targetableRemarketingListsPage) { return; + * } + * for (var i = 0; i < targetableRemarketingListsPage.length; i++) { + * // TODO: Change code below to process each resource in + * `targetableRemarketingListsPage`: + * console.log(JSON.stringify(targetableRemarketingListsPage[i], null, + * 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * dfareporting.targetableRemarketingLists.list(request, handlePage); + * } + * }; + * + * dfareporting.targetableRemarketingLists.list(request, handlePage); + * }); + * + * function authorize(callback) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.targetableRemarketingLists.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.active Select only active or only inactive targetable remarketing lists. + * @param {string} params.advertiserId Select only targetable remarketing lists targetable by these advertisers. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.name Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "remarketing list*2015" will return objects with names like "remarketing list June 2015", "remarketing list April 2015", or simply "remarketing list 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "remarketing list" will match objects with name "my remarketing list", "remarketing list 2015", or simply "remarketing list". + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Targetableremarketinglists$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Targetableremarketinglists$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Targetableremarketinglists$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Targetableremarketinglists$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Remarketing list ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Targetableremarketinglists$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only active or only inactive targetable remarketing lists. + */ + active?: boolean; + /** + * Select only targetable remarketing lists targetable by these advertisers. + */ + advertiserId?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "remarketing list*2015" will return objects with names like + * "remarketing list June 2015", "remarketing list April 2015", or simply + * "remarketing list 2015". Most of the searches also add wildcards + * implicitly at the start and the end of the search string. For example, a + * search string of "remarketing list" will match objects with name "my + * remarketing list", "remarketing list 2015", or simply "remarketing list". + */ + name?: string; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + class Resource$Targetingtemplates { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.targetingTemplates.get + * @desc Gets one targeting template by ID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Targeting template ID. + * id: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.targetingTemplates.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.targetingTemplates.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Targeting template ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Targetingtemplates$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Targetingtemplates$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Targetingtemplates$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.targetingTemplates.insert + * @desc Inserts a new targeting template. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.targetingTemplates.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.targetingTemplates.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().TargetingTemplate} 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?: Params$Resource$Targetingtemplates$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Targetingtemplates$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Targetingtemplates$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.targetingTemplates.list + * @desc Retrieves a list of targeting templates, optionally filtered. This + * method supports paging. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var targetingTemplatesPage = response['targetingTemplates']; + * if (!targetingTemplatesPage) { + * return; + * } + * for (var i = 0; i < targetingTemplatesPage.length; i++) { + * // TODO: Change code below to process each resource in + * `targetingTemplatesPage`: + * console.log(JSON.stringify(targetingTemplatesPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * dfareporting.targetingTemplates.list(request, handlePage); + * } + * }; + * + * dfareporting.targetingTemplates.list(request, handlePage); + * }); + * + * function authorize(callback) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.targetingTemplates.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.advertiserId Select only targeting templates with this advertiser ID. + * @param {string=} params.ids Select only targeting templates with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "template*2015" will return objects with names like "template June 2015", "template April 2015", or simply "template 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "template" will match objects with name "my template", "template 2015", or simply "template". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Targetingtemplates$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Targetingtemplates$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Targetingtemplates$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.targetingTemplates.patch + * @desc Updates an existing targeting template. This method supports patch + * semantics. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Targeting template ID. + * id: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.targetingTemplates.patch(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.targetingTemplates.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Targeting template ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().TargetingTemplate} 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 + */ + patch(params?: Params$Resource$Targetingtemplates$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Targetingtemplates$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Targetingtemplates$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.targetingTemplates.update + * @desc Updates an existing targeting template. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.targetingTemplates.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.targetingTemplates.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().TargetingTemplate} 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?: Params$Resource$Targetingtemplates$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Targetingtemplates$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Targetingtemplates$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Targetingtemplates$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Targeting template ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Targetingtemplates$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetingTemplate; + } + interface Params$Resource$Targetingtemplates$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only targeting templates with this advertiser ID. + */ + advertiserId?: string; + /** + * Select only targeting templates with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "template*2015" will return objects with names like + * "template June 2015", "template April 2015", or simply "template 2015". + * Most of the searches also add wildcards implicitly at the start and the + * end of the search string. For example, a search string of "template" will + * match objects with name "my template", "template 2015", or simply + * "template". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + interface Params$Resource$Targetingtemplates$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Targeting template ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetingTemplate; + } + interface Params$Resource$Targetingtemplates$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetingTemplate; + } + class Resource$Userprofiles { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.userProfiles.get + * @desc Gets one user profile by ID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // The user profile ID. + * profileId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.userProfiles.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using one of the following scopes: + * // 'https://www.googleapis.com/auth/dfareporting' + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.userProfiles.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId The user profile ID. + * @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?: Params$Resource$Userprofiles$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Userprofiles$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Userprofiles$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.userProfiles.list + * @desc Retrieves list of user profiles for a user. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * auth: authClient, + * }; + * + * dfareporting.userProfiles.list(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using one of the following scopes: + * // 'https://www.googleapis.com/auth/dfareporting' + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.userProfiles.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @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?: Params$Resource$Userprofiles$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Userprofiles$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Userprofiles$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Userprofiles$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The user profile ID. + */ + profileId?: string; + } + interface Params$Resource$Userprofiles$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } + class Resource$Userrolepermissiongroups { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.userRolePermissionGroups.get + * @desc Gets one user role permission group by ID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // User role permission group ID. + * id: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.userRolePermissionGroups.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.userRolePermissionGroups.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id User role permission group ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Userrolepermissiongroups$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Userrolepermissiongroups$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Userrolepermissiongroups$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.userRolePermissionGroups.list + * @desc Gets a list of all supported user role permission groups. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.userRolePermissionGroups.list(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.userRolePermissionGroups.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Userrolepermissiongroups$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Userrolepermissiongroups$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Userrolepermissiongroups$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Userrolepermissiongroups$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User role permission group ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Userrolepermissiongroups$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Userrolepermissions { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.userRolePermissions.get + * @desc Gets one user role permission by ID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // User role permission ID. + * id: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.userRolePermissions.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.userRolePermissions.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id User role permission ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Userrolepermissions$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Userrolepermissions$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Userrolepermissions$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.userRolePermissions.list + * @desc Gets a list of user role permissions, possibly filtered. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.userRolePermissions.list(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.userRolePermissions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.ids Select only user role permissions with these IDs. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Userrolepermissions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Userrolepermissions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Userrolepermissions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Userrolepermissions$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User role permission ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Userrolepermissions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only user role permissions with these IDs. + */ + ids?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Userroles { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.userRoles.delete + * @desc Deletes an existing user role. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // User role ID. + * id: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.userRoles.delete(request, function(err) { + * if (err) { + * console.error(err); + * return; + * } + * }); + * }); + * + * function authorize(callback) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.userRoles.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id User role ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Userroles$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Userroles$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Userroles$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dfareporting.userRoles.get + * @desc Gets one user role by ID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // User role ID. + * id: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.userRoles.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.userRoles.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id User role ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Userroles$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Userroles$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Userroles$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.userRoles.insert + * @desc Inserts a new user role. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.userRoles.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.userRoles.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().UserRole} 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?: Params$Resource$Userroles$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Userroles$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Userroles$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.userRoles.list + * @desc Retrieves a list of user roles, possibly filtered. This method + * supports paging. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var userRolesPage = response['userRoles']; + * if (!userRolesPage) { + * return; + * } + * for (var i = 0; i < userRolesPage.length; i++) { + * // TODO: Change code below to process each resource in + * `userRolesPage`: console.log(JSON.stringify(userRolesPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * dfareporting.userRoles.list(request, handlePage); + * } + * }; + * + * dfareporting.userRoles.list(request, handlePage); + * }); + * + * function authorize(callback) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.userRoles.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.accountUserRoleOnly Select only account level user roles not associated with any specific subaccount. + * @param {string=} params.ids Select only user roles with the specified IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "userrole*2015" will return objects with names like "userrole June 2015", "userrole April 2015", or simply "userrole 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "userrole" will match objects with name "my userrole", "userrole 2015", or simply "userrole". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @param {string=} params.subaccountId Select only user roles that belong to this subaccount. + * @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?: Params$Resource$Userroles$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Userroles$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Userroles$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.userRoles.patch + * @desc Updates an existing user role. This method supports patch + * semantics. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // User role ID. + * id: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.userRoles.patch(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.userRoles.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id User role ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().UserRole} 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 + */ + patch(params?: Params$Resource$Userroles$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Userroles$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Userroles$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.userRoles.update + * @desc Updates an existing user role. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * dfareporting.userRoles.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.userRoles.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().UserRole} 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?: Params$Resource$Userroles$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Userroles$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Userroles$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Userroles$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User role ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Userroles$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User role ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Userroles$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UserRole; + } + interface Params$Resource$Userroles$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only account level user roles not associated with any specific + * subaccount. + */ + accountUserRoleOnly?: boolean; + /** + * Select only user roles with the specified IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "userrole*2015" will return objects with names like + * "userrole June 2015", "userrole April 2015", or simply "userrole 2015". + * Most of the searches also add wildcards implicitly at the start and the + * end of the search string. For example, a search string of "userrole" will + * match objects with name "my userrole", "userrole 2015", or simply + * "userrole". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + /** + * Select only user roles that belong to this subaccount. + */ + subaccountId?: string; + } + interface Params$Resource$Userroles$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User role ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UserRole; + } + interface Params$Resource$Userroles$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UserRole; + } + class Resource$Videoformats { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.videoFormats.get + * @desc Gets one video format by ID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * // Video format ID. + * id: 0, // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.videoFormats.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.videoFormats.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.id Video format ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Videoformats$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Videoformats$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Videoformats$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.videoFormats.list + * @desc Lists available video formats. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the DCM/DFA Reporting And Trafficking + * API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dfareporting + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var dfareporting = google.dfareporting('v2.8'); + * + * authorize(function(authClient) { + * var request = { + * // User profile ID associated with this request. + * profileId: '0', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dfareporting.videoFormats.list(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/doubleclick-advertisers/authorizing#examples + * // + * // Authorize using the following scope: + * // 'https://www.googleapis.com/auth/dfatrafficking' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias dfareporting.videoFormats.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Videoformats$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Videoformats$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Videoformats$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Videoformats$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Video format ID. + */ + id?: number; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Videoformats$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/dfareporting/v2.8.js b/express-server/node_modules/googleapis/build/src/apis/dfareporting/v2.8.js new file mode 100644 index 00000000..44ed81fe --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dfareporting/v2.8.js @@ -0,0 +1,7299 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var dfareporting_v2_8; +(function (dfareporting_v2_8) { + /** + * DCM/DFA Reporting And Trafficking API + * + * Manages your DoubleClick Campaign Manager ad campaigns and reports. + * + * @example + * const {google} = require('googleapis'); + * const dfareporting = google.dfareporting('v2.8'); + * + * @namespace dfareporting + * @type {Function} + * @version v2.8 + * @variation v2.8 + * @param {object=} options Options for Dfareporting + */ + class Dfareporting { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.accountActiveAdSummaries = + new Resource$Accountactiveadsummaries(this); + this.accountPermissionGroups = new Resource$Accountpermissiongroups(this); + this.accountPermissions = new Resource$Accountpermissions(this); + this.accounts = new Resource$Accounts(this); + this.accountUserProfiles = new Resource$Accountuserprofiles(this); + this.ads = new Resource$Ads(this); + this.advertiserGroups = new Resource$Advertisergroups(this); + this.advertisers = new Resource$Advertisers(this); + this.browsers = new Resource$Browsers(this); + this.campaignCreativeAssociations = + new Resource$Campaigncreativeassociations(this); + this.campaigns = new Resource$Campaigns(this); + this.changeLogs = new Resource$Changelogs(this); + this.cities = new Resource$Cities(this); + this.connectionTypes = new Resource$Connectiontypes(this); + this.contentCategories = new Resource$Contentcategories(this); + this.conversions = new Resource$Conversions(this); + this.countries = new Resource$Countries(this); + this.creativeAssets = new Resource$Creativeassets(this); + this.creativeFields = new Resource$Creativefields(this); + this.creativeFieldValues = new Resource$Creativefieldvalues(this); + this.creativeGroups = new Resource$Creativegroups(this); + this.creatives = new Resource$Creatives(this); + this.dimensionValues = new Resource$Dimensionvalues(this); + this.directorySiteContacts = new Resource$Directorysitecontacts(this); + this.directorySites = new Resource$Directorysites(this); + this.dynamicTargetingKeys = new Resource$Dynamictargetingkeys(this); + this.eventTags = new Resource$Eventtags(this); + this.files = new Resource$Files(this); + this.floodlightActivities = new Resource$Floodlightactivities(this); + this.floodlightActivityGroups = + new Resource$Floodlightactivitygroups(this); + this.floodlightConfigurations = + new Resource$Floodlightconfigurations(this); + this.inventoryItems = new Resource$Inventoryitems(this); + this.landingPages = new Resource$Landingpages(this); + this.languages = new Resource$Languages(this); + this.metros = new Resource$Metros(this); + this.mobileCarriers = new Resource$Mobilecarriers(this); + this.operatingSystems = new Resource$Operatingsystems(this); + this.operatingSystemVersions = new Resource$Operatingsystemversions(this); + this.orderDocuments = new Resource$Orderdocuments(this); + this.orders = new Resource$Orders(this); + this.placementGroups = new Resource$Placementgroups(this); + this.placements = new Resource$Placements(this); + this.placementStrategies = new Resource$Placementstrategies(this); + this.platformTypes = new Resource$Platformtypes(this); + this.postalCodes = new Resource$Postalcodes(this); + this.projects = new Resource$Projects(this); + this.regions = new Resource$Regions(this); + this.remarketingLists = new Resource$Remarketinglists(this); + this.remarketingListShares = new Resource$Remarketinglistshares(this); + this.reports = new Resource$Reports(this); + this.sites = new Resource$Sites(this); + this.sizes = new Resource$Sizes(this); + this.subaccounts = new Resource$Subaccounts(this); + this.targetableRemarketingLists = + new Resource$Targetableremarketinglists(this); + this.targetingTemplates = new Resource$Targetingtemplates(this); + this.userProfiles = new Resource$Userprofiles(this); + this.userRolePermissionGroups = + new Resource$Userrolepermissiongroups(this); + this.userRolePermissions = new Resource$Userrolepermissions(this); + this.userRoles = new Resource$Userroles(this); + this.videoFormats = new Resource$Videoformats(this); + } + getRoot() { + return this.root; + } + } + dfareporting_v2_8.Dfareporting = Dfareporting; + class Resource$Accountactiveadsummaries { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/accountActiveAdSummaries/{summaryAccountId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'summaryAccountId'], + pathParams: ['profileId', 'summaryAccountId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Accountactiveadsummaries = Resource$Accountactiveadsummaries; + class Resource$Accountpermissiongroups { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/accountPermissionGroups/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/accountPermissionGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Accountpermissiongroups = Resource$Accountpermissiongroups; + class Resource$Accountpermissions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/accountPermissions/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/accountPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Accountpermissions = Resource$Accountpermissions; + class Resource$Accounts { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/accounts/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/accounts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/accounts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/accounts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Accounts = Resource$Accounts; + class Resource$Accountuserprofiles { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/accountUserProfiles/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/accountUserProfiles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/accountUserProfiles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/accountUserProfiles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/accountUserProfiles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Accountuserprofiles = Resource$Accountuserprofiles; + class Resource$Ads { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/ads/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/dfareporting/v2.8/userprofiles/{profileId}/ads') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/dfareporting/v2.8/userprofiles/{profileId}/ads') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/dfareporting/v2.8/userprofiles/{profileId}/ads') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/dfareporting/v2.8/userprofiles/{profileId}/ads') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Ads = Resource$Ads; + class Resource$Advertisergroups { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/advertiserGroups/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/advertiserGroups/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/advertiserGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/advertiserGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/advertiserGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/advertiserGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Advertisergroups = Resource$Advertisergroups; + class Resource$Advertisers { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/advertisers/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/advertisers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/advertisers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/advertisers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/advertisers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Advertisers = Resource$Advertisers; + class Resource$Browsers { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/browsers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Browsers = Resource$Browsers; + class Resource$Campaigncreativeassociations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId', 'campaignId'], + pathParams: ['campaignId', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'campaignId'], + pathParams: ['campaignId', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Campaigncreativeassociations = Resource$Campaigncreativeassociations; + class Resource$Campaigns { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/campaigns/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/campaigns') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId', 'defaultLandingPageName', 'defaultLandingPageUrl'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/campaigns') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/campaigns') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/campaigns') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Campaigns = Resource$Campaigns; + class Resource$Changelogs { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/changeLogs/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/changeLogs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Changelogs = Resource$Changelogs; + class Resource$Cities { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/cities') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Cities = Resource$Cities; + class Resource$Connectiontypes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/connectionTypes/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/connectionTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Connectiontypes = Resource$Connectiontypes; + class Resource$Contentcategories { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/contentCategories/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/contentCategories/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/contentCategories') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/contentCategories') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/contentCategories') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/contentCategories') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Contentcategories = Resource$Contentcategories; + class Resource$Conversions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + batchinsert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/conversions/batchinsert') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + batchupdate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/conversions/batchupdate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Conversions = Resource$Conversions; + class Resource$Countries { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/countries/{dartId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'dartId'], + pathParams: ['dartId', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/countries') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Countries = Resource$Countries; + class Resource$Creativeassets { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + mediaUrl: (rootUrl + + '/upload/dfareporting/v2.8/userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets') + .replace(/([^:]\/)\/+/g, '$1'), + requiredParams: ['profileId', 'advertiserId'], + pathParams: ['advertiserId', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Creativeassets = Resource$Creativeassets; + class Resource$Creativefields { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/creativeFields/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/creativeFields/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/creativeFields') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/creativeFields') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/creativeFields') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/creativeFields') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Creativefields = Resource$Creativefields; + class Resource$Creativefieldvalues { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['profileId', 'creativeFieldId', 'id'], + pathParams: ['creativeFieldId', 'id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'creativeFieldId', 'id'], + pathParams: ['creativeFieldId', 'id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId', 'creativeFieldId'], + pathParams: ['creativeFieldId', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'creativeFieldId'], + pathParams: ['creativeFieldId', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'creativeFieldId', 'id'], + pathParams: ['creativeFieldId', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId', 'creativeFieldId'], + pathParams: ['creativeFieldId', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Creativefieldvalues = Resource$Creativefieldvalues; + class Resource$Creativegroups { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/creativeGroups/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/creativeGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/creativeGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/creativeGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/creativeGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Creativegroups = Resource$Creativegroups; + class Resource$Creatives { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/creatives/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/creatives') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/creatives') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/creatives') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/creatives') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Creatives = Resource$Creatives; + class Resource$Dimensionvalues { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + query(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/dimensionvalues/query') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Dimensionvalues = Resource$Dimensionvalues; + class Resource$Directorysitecontacts { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/directorySiteContacts/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/directorySiteContacts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Directorysitecontacts = Resource$Directorysitecontacts; + class Resource$Directorysites { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/directorySites/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/directorySites') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/directorySites') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Directorysites = Resource$Directorysites; + class Resource$Dynamictargetingkeys { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/dynamicTargetingKeys/{objectId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['profileId', 'objectId', 'name', 'objectType'], + pathParams: ['objectId', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/dynamicTargetingKeys') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/dynamicTargetingKeys') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Dynamictargetingkeys = Resource$Dynamictargetingkeys; + class Resource$Eventtags { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/eventTags/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/eventTags/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/eventTags') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/eventTags') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/eventTags') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/eventTags') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Eventtags = Resource$Eventtags; + class Resource$Files { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/reports/{reportId}/files/{fileId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['reportId', 'fileId'], + pathParams: ['fileId', 'reportId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/files') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Files = Resource$Files; + class Resource$Floodlightactivities { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/floodlightActivities/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + generatetag(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/floodlightActivities/generatetag') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/floodlightActivities/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/floodlightActivities') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/floodlightActivities') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/floodlightActivities') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/floodlightActivities') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Floodlightactivities = Resource$Floodlightactivities; + class Resource$Floodlightactivitygroups { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/floodlightActivityGroups/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/floodlightActivityGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/floodlightActivityGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/floodlightActivityGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/floodlightActivityGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Floodlightactivitygroups = Resource$Floodlightactivitygroups; + class Resource$Floodlightconfigurations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/floodlightConfigurations/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/floodlightConfigurations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/floodlightConfigurations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/floodlightConfigurations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Floodlightconfigurations = Resource$Floodlightconfigurations; + class Resource$Inventoryitems { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/projects/{projectId}/inventoryItems/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'projectId', 'id'], + pathParams: ['id', 'profileId', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/projects/{projectId}/inventoryItems') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'projectId'], + pathParams: ['profileId', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Inventoryitems = Resource$Inventoryitems; + class Resource$Landingpages { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/campaigns/{campaignId}/landingPages/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['profileId', 'campaignId', 'id'], + pathParams: ['campaignId', 'id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/campaigns/{campaignId}/landingPages/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'campaignId', 'id'], + pathParams: ['campaignId', 'id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/campaigns/{campaignId}/landingPages') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId', 'campaignId'], + pathParams: ['campaignId', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/campaigns/{campaignId}/landingPages') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'campaignId'], + pathParams: ['campaignId', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/campaigns/{campaignId}/landingPages') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'campaignId', 'id'], + pathParams: ['campaignId', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/campaigns/{campaignId}/landingPages') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId', 'campaignId'], + pathParams: ['campaignId', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Landingpages = Resource$Landingpages; + class Resource$Languages { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/languages') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Languages = Resource$Languages; + class Resource$Metros { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/metros') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Metros = Resource$Metros; + class Resource$Mobilecarriers { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/mobileCarriers/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/mobileCarriers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Mobilecarriers = Resource$Mobilecarriers; + class Resource$Operatingsystems { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/operatingSystems/{dartId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'dartId'], + pathParams: ['dartId', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/operatingSystems') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Operatingsystems = Resource$Operatingsystems; + class Resource$Operatingsystemversions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/operatingSystemVersions/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/operatingSystemVersions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Operatingsystemversions = Resource$Operatingsystemversions; + class Resource$Orderdocuments { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/projects/{projectId}/orderDocuments/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'projectId', 'id'], + pathParams: ['id', 'profileId', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/projects/{projectId}/orderDocuments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'projectId'], + pathParams: ['profileId', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Orderdocuments = Resource$Orderdocuments; + class Resource$Orders { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/projects/{projectId}/orders/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'projectId', 'id'], + pathParams: ['id', 'profileId', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/projects/{projectId}/orders') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'projectId'], + pathParams: ['profileId', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Orders = Resource$Orders; + class Resource$Placementgroups { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/placementGroups/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/placementGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/placementGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/placementGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/placementGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Placementgroups = Resource$Placementgroups; + class Resource$Placements { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + generatetags(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/placements/generatetags') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/placements/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/placements') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/placements') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/placements') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/placements') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Placements = Resource$Placements; + class Resource$Placementstrategies { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/placementStrategies/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/placementStrategies/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/placementStrategies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/placementStrategies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/placementStrategies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/placementStrategies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Placementstrategies = Resource$Placementstrategies; + class Resource$Platformtypes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/platformTypes/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/platformTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Platformtypes = Resource$Platformtypes; + class Resource$Postalcodes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/postalCodes/{code}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'code'], + pathParams: ['code', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/postalCodes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Postalcodes = Resource$Postalcodes; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/projects/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/projects') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Projects = Resource$Projects; + class Resource$Regions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/regions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Regions = Resource$Regions; + class Resource$Remarketinglists { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/remarketingLists/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/remarketingLists') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/remarketingLists') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'advertiserId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/remarketingLists') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/remarketingLists') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Remarketinglists = Resource$Remarketinglists; + class Resource$Remarketinglistshares { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/remarketingListShares/{remarketingListId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'remarketingListId'], + pathParams: ['profileId', 'remarketingListId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/remarketingListShares') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'remarketingListId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/remarketingListShares') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Remarketinglistshares = Resource$Remarketinglistshares; + class Resource$Reports { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.compatibleFields = new Resource$Reports$Compatiblefields(root); + this.files = new Resource$Reports$Files(root); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/reports/{reportId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['profileId', 'reportId'], + pathParams: ['profileId', 'reportId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/reports/{reportId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'reportId'], + pathParams: ['profileId', 'reportId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/reports') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/reports') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/reports/{reportId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'reportId'], + pathParams: ['profileId', 'reportId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + run(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/reports/{reportId}/run') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId', 'reportId'], + pathParams: ['profileId', 'reportId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/reports/{reportId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId', 'reportId'], + pathParams: ['profileId', 'reportId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Reports = Resource$Reports; + class Resource$Reports$Compatiblefields { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + query(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/reports/compatiblefields/query') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Reports$Compatiblefields = Resource$Reports$Compatiblefields; + class Resource$Reports$Files { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/reports/{reportId}/files/{fileId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'reportId', 'fileId'], + pathParams: ['fileId', 'profileId', 'reportId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/reports/{reportId}/files') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'reportId'], + pathParams: ['profileId', 'reportId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Reports$Files = Resource$Reports$Files; + class Resource$Sites { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/sites/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/sites') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/sites') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/sites') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/sites') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Sites = Resource$Sites; + class Resource$Sizes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/sizes/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/sizes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/sizes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Sizes = Resource$Sizes; + class Resource$Subaccounts { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/subaccounts/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/subaccounts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/subaccounts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/subaccounts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/subaccounts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Subaccounts = Resource$Subaccounts; + class Resource$Targetableremarketinglists { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/targetableRemarketingLists/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/targetableRemarketingLists') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'advertiserId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Targetableremarketinglists = Resource$Targetableremarketinglists; + class Resource$Targetingtemplates { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/targetingTemplates/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/targetingTemplates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/targetingTemplates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/targetingTemplates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/targetingTemplates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Targetingtemplates = Resource$Targetingtemplates; + class Resource$Userprofiles { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/dfareporting/v2.8/userprofiles/{profileId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/dfareporting/v2.8/userprofiles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Userprofiles = Resource$Userprofiles; + class Resource$Userrolepermissiongroups { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/userRolePermissionGroups/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/userRolePermissionGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Userrolepermissiongroups = Resource$Userrolepermissiongroups; + class Resource$Userrolepermissions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/userRolePermissions/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/userRolePermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Userrolepermissions = Resource$Userrolepermissions; + class Resource$Userroles { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/userRoles/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/userRoles/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/userRoles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/userRoles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/userRoles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/userRoles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Userroles = Resource$Userroles; + class Resource$Videoformats { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/videoFormats/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v2.8/userprofiles/{profileId}/videoFormats') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v2_8.Resource$Videoformats = Resource$Videoformats; +})(dfareporting_v2_8 = exports.dfareporting_v2_8 || (exports.dfareporting_v2_8 = {})); +//# sourceMappingURL=v2.8.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/dfareporting/v2.8.js.map b/express-server/node_modules/googleapis/build/src/apis/dfareporting/v2.8.js.map new file mode 100644 index 00000000..b76bc775 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dfareporting/v2.8.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v2.8.js","sourceRoot":"","sources":["../../../../src/apis/dfareporting/v2.8.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/dfareporting/v3.0.d.ts b/express-server/node_modules/googleapis/build/src/apis/dfareporting/v3.0.d.ts new file mode 100644 index 00000000..f54e9978 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dfareporting/v3.0.d.ts @@ -0,0 +1,16103 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace dfareporting_v3_0 { + interface Options extends GlobalOptions { + version: 'v3_0'; + } + /** + * DCM/DFA Reporting And Trafficking API + * + * Manages your DoubleClick Campaign Manager ad campaigns and reports. + * + * @example + * const {google} = require('googleapis'); + * const dfareporting = google.dfareporting('v3.0'); + * + * @namespace dfareporting + * @type {Function} + * @version v3.0 + * @variation v3.0 + * @param {object=} options Options for Dfareporting + */ + class Dfareporting { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + accountActiveAdSummaries: Resource$Accountactiveadsummaries; + accountPermissionGroups: Resource$Accountpermissiongroups; + accountPermissions: Resource$Accountpermissions; + accounts: Resource$Accounts; + accountUserProfiles: Resource$Accountuserprofiles; + ads: Resource$Ads; + advertiserGroups: Resource$Advertisergroups; + advertiserLandingPages: Resource$Advertiserlandingpages; + advertisers: Resource$Advertisers; + browsers: Resource$Browsers; + campaignCreativeAssociations: Resource$Campaigncreativeassociations; + campaigns: Resource$Campaigns; + changeLogs: Resource$Changelogs; + cities: Resource$Cities; + connectionTypes: Resource$Connectiontypes; + contentCategories: Resource$Contentcategories; + conversions: Resource$Conversions; + countries: Resource$Countries; + creativeAssets: Resource$Creativeassets; + creativeFields: Resource$Creativefields; + creativeFieldValues: Resource$Creativefieldvalues; + creativeGroups: Resource$Creativegroups; + creatives: Resource$Creatives; + dimensionValues: Resource$Dimensionvalues; + directorySiteContacts: Resource$Directorysitecontacts; + directorySites: Resource$Directorysites; + dynamicTargetingKeys: Resource$Dynamictargetingkeys; + eventTags: Resource$Eventtags; + files: Resource$Files; + floodlightActivities: Resource$Floodlightactivities; + floodlightActivityGroups: Resource$Floodlightactivitygroups; + floodlightConfigurations: Resource$Floodlightconfigurations; + inventoryItems: Resource$Inventoryitems; + languages: Resource$Languages; + metros: Resource$Metros; + mobileCarriers: Resource$Mobilecarriers; + operatingSystems: Resource$Operatingsystems; + operatingSystemVersions: Resource$Operatingsystemversions; + orderDocuments: Resource$Orderdocuments; + orders: Resource$Orders; + placementGroups: Resource$Placementgroups; + placements: Resource$Placements; + placementStrategies: Resource$Placementstrategies; + platformTypes: Resource$Platformtypes; + postalCodes: Resource$Postalcodes; + projects: Resource$Projects; + regions: Resource$Regions; + remarketingLists: Resource$Remarketinglists; + remarketingListShares: Resource$Remarketinglistshares; + reports: Resource$Reports; + sites: Resource$Sites; + sizes: Resource$Sizes; + subaccounts: Resource$Subaccounts; + targetableRemarketingLists: Resource$Targetableremarketinglists; + targetingTemplates: Resource$Targetingtemplates; + userProfiles: Resource$Userprofiles; + userRolePermissionGroups: Resource$Userrolepermissiongroups; + userRolePermissions: Resource$Userrolepermissions; + userRoles: Resource$Userroles; + videoFormats: Resource$Videoformats; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Contains properties of a Campaign Manager account. + */ + interface Schema$Account { + /** + * Account permissions assigned to this account. + */ + accountPermissionIds?: string[]; + /** + * Profile for this account. This is a read-only field that can be left + * blank. + */ + accountProfile?: string; + /** + * Whether this account is active. + */ + active?: boolean; + /** + * Maximum number of active ads allowed for this account. + */ + activeAdsLimitTier?: string; + /** + * Whether to serve creatives with Active View tags. If disabled, + * viewability data will not be available for any impressions. + */ + activeViewOptOut?: boolean; + /** + * User role permissions available to the user roles of this account. + */ + availablePermissionIds?: string[]; + /** + * ID of the country associated with this account. + */ + countryId?: string; + /** + * ID of currency associated with this account. This is a required field. + * Acceptable values are: - "1" for USD - "2" for GBP + * - "3" for ESP - "4" for SEK - "5" for CAD + * - "6" for JPY - "7" for DEM - "8" for AUD + * - "9" for FRF - "10" for ITL - "11" for + * DKK - "12" for NOK - "13" for FIM - "14" + * for ZAR - "15" for IEP - "16" for NLG - + * "17" for EUR - "18" for KRW - "19" for + * TWD - "20" for SGD - "21" for CNY - "22" + * for HKD - "23" for NZD - "24" for MYR - + * "25" for BRL - "26" for PTE - "27" for + * MXP - "28" for CLP - "29" for TRY - "30" + * for ARS - "31" for PEN - "32" for ILS - + * "33" for CHF - "34" for VEF - "35" for + * COP - "36" for GTQ - "37" for PLN - "39" + * for INR - "40" for THB - "41" for IDR - + * "42" for CZK - "43" for RON - "44" for + * HUF - "45" for RUB - "46" for AED - "47" + * for BGN - "48" for HRK - "49" for MXN - + * "50" for NGN + */ + currencyId?: string; + /** + * Default placement dimensions for this account. + */ + defaultCreativeSizeId?: string; + /** + * Description of this account. + */ + description?: string; + /** + * ID of this account. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#account". + */ + kind?: string; + /** + * Locale of this account. Acceptable values are: - "cs" (Czech) + * - "de" (German) - "en" (English) - + * "en-GB" (English United Kingdom) - "es" (Spanish) - + * "fr" (French) - "it" (Italian) - "ja" + * (Japanese) - "ko" (Korean) - "pl" (Polish) - + * "pt-BR" (Portuguese Brazil) - "ru" (Russian) - + * "sv" (Swedish) - "tr" (Turkish) - "zh-CN" + * (Chinese Simplified) - "zh-TW" (Chinese Traditional) + */ + locale?: string; + /** + * Maximum image size allowed for this account, in kilobytes. Value must be + * greater than or equal to 1. + */ + maximumImageSize?: string; + /** + * Name of this account. This is a required field, and must be less than 128 + * characters long and be globally unique. + */ + name?: string; + /** + * Whether campaigns created in this account will be enabled for Nielsen OCR + * reach ratings by default. + */ + nielsenOcrEnabled?: boolean; + /** + * Reporting configuration of this account. + */ + reportsConfiguration?: Schema$ReportsConfiguration; + /** + * Share Path to Conversion reports with Twitter. + */ + shareReportsWithTwitter?: boolean; + /** + * File size limit in kilobytes of Rich Media teaser creatives. Acceptable + * values are 1 to 10240, inclusive. + */ + teaserSizeLimit?: string; + } + /** + * Gets a summary of active ads in an account. + */ + interface Schema$AccountActiveAdSummary { + /** + * ID of the account. + */ + accountId?: string; + /** + * Ads that have been activated for the account + */ + activeAds?: string; + /** + * Maximum number of active ads allowed for the account. + */ + activeAdsLimitTier?: string; + /** + * Ads that can be activated for the account. + */ + availableAds?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#accountActiveAdSummary". + */ + kind?: string; + } + /** + * AccountPermissions contains information about a particular account + * permission. Some features of Campaign Manager require an account permission + * to be present in the account. + */ + interface Schema$AccountPermission { + /** + * Account profiles associated with this account permission. Possible + * values are: - "ACCOUNT_PROFILE_BASIC" - + * "ACCOUNT_PROFILE_STANDARD" + */ + accountProfiles?: string[]; + /** + * ID of this account permission. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#accountPermission". + */ + kind?: string; + /** + * Administrative level required to enable this account permission. + */ + level?: string; + /** + * Name of this account permission. + */ + name?: string; + /** + * Permission group of this account permission. + */ + permissionGroupId?: string; + } + /** + * AccountPermissionGroups contains a mapping of permission group IDs to + * names. A permission group is a grouping of account permissions. + */ + interface Schema$AccountPermissionGroup { + /** + * ID of this account permission group. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#accountPermissionGroup". + */ + kind?: string; + /** + * Name of this account permission group. + */ + name?: string; + } + /** + * Account Permission Group List Response + */ + interface Schema$AccountPermissionGroupsListResponse { + /** + * Account permission group collection. + */ + accountPermissionGroups?: Schema$AccountPermissionGroup[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#accountPermissionGroupsListResponse". + */ + kind?: string; + } + /** + * Account Permission List Response + */ + interface Schema$AccountPermissionsListResponse { + /** + * Account permission collection. + */ + accountPermissions?: Schema$AccountPermission[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#accountPermissionsListResponse". + */ + kind?: string; + } + /** + * Account List Response + */ + interface Schema$AccountsListResponse { + /** + * Account collection. + */ + accounts?: Schema$Account[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#accountsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * AccountUserProfiles contains properties of a Campaign Manager user profile. + * This resource is specifically for managing user profiles, whereas + * UserProfiles is for accessing the API. + */ + interface Schema$AccountUserProfile { + /** + * Account ID of the user profile. This is a read-only field that can be + * left blank. + */ + accountId?: string; + /** + * Whether this user profile is active. This defaults to false, and must be + * set true on insert for the user profile to be usable. + */ + active?: boolean; + /** + * Filter that describes which advertisers are visible to the user profile. + */ + advertiserFilter?: Schema$ObjectFilter; + /** + * Filter that describes which campaigns are visible to the user profile. + */ + campaignFilter?: Schema$ObjectFilter; + /** + * Comments for this user profile. + */ + comments?: string; + /** + * Email of the user profile. The email addresss must be linked to a Google + * Account. This field is required on insertion and is read-only after + * insertion. + */ + email?: string; + /** + * ID of the user profile. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#accountUserProfile". + */ + kind?: string; + /** + * Locale of the user profile. This is a required field. Acceptable values + * are: - "cs" (Czech) - "de" (German) - + * "en" (English) - "en-GB" (English United Kingdom) - + * "es" (Spanish) - "fr" (French) - "it" + * (Italian) - "ja" (Japanese) - "ko" (Korean) - + * "pl" (Polish) - "pt-BR" (Portuguese Brazil) - + * "ru" (Russian) - "sv" (Swedish) - "tr" + * (Turkish) - "zh-CN" (Chinese Simplified) - "zh-TW" + * (Chinese Traditional) + */ + locale?: string; + /** + * Name of the user profile. This is a required field. Must be less than 64 + * characters long, must be globally unique, and cannot contain whitespace + * or any of the following characters: "&;"#%,". + */ + name?: string; + /** + * Filter that describes which sites are visible to the user profile. + */ + siteFilter?: Schema$ObjectFilter; + /** + * Subaccount ID of the user profile. This is a read-only field that can be + * left blank. + */ + subaccountId?: string; + /** + * Trafficker type of this user profile. This is a read-only field. + */ + traffickerType?: string; + /** + * User type of the user profile. This is a read-only field that can be left + * blank. + */ + userAccessType?: string; + /** + * Filter that describes which user roles are visible to the user profile. + */ + userRoleFilter?: Schema$ObjectFilter; + /** + * User role ID of the user profile. This is a required field. + */ + userRoleId?: string; + } + /** + * Account User Profile List Response + */ + interface Schema$AccountUserProfilesListResponse { + /** + * Account user profile collection. + */ + accountUserProfiles?: Schema$AccountUserProfile[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#accountUserProfilesListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Represents an activity group. + */ + interface Schema$Activities { + /** + * List of activity filters. The dimension values need to be all either of + * type "dfa:activity" or "dfa:activityGroup". + */ + filters?: Schema$DimensionValue[]; + /** + * The kind of resource this is, in this case dfareporting#activities. + */ + kind?: string; + /** + * List of names of floodlight activity metrics. + */ + metricNames?: string[]; + } + /** + * Contains properties of a Campaign Manager ad. + */ + interface Schema$Ad { + /** + * Account ID of this ad. This is a read-only field that can be left blank. + */ + accountId?: string; + /** + * Whether this ad is active. When true, archived must be false. + */ + active?: boolean; + /** + * Advertiser ID of this ad. This is a required field on insertion. + */ + advertiserId?: string; + /** + * Dimension value for the ID of the advertiser. This is a read-only, + * auto-generated field. + */ + advertiserIdDimensionValue?: Schema$DimensionValue; + /** + * Whether this ad is archived. When true, active must be false. + */ + archived?: boolean; + /** + * Audience segment ID that is being targeted for this ad. Applicable when + * type is AD_SERVING_STANDARD_AD. + */ + audienceSegmentId?: string; + /** + * Campaign ID of this ad. This is a required field on insertion. + */ + campaignId?: string; + /** + * Dimension value for the ID of the campaign. This is a read-only, + * auto-generated field. + */ + campaignIdDimensionValue?: Schema$DimensionValue; + /** + * Click-through URL for this ad. This is a required field on insertion. + * Applicable when type is AD_SERVING_CLICK_TRACKER. + */ + clickThroughUrl?: Schema$ClickThroughUrl; + /** + * Click-through URL suffix properties for this ad. Applies to the URL in + * the ad or (if overriding ad properties) the URL in the creative. + */ + clickThroughUrlSuffixProperties?: Schema$ClickThroughUrlSuffixProperties; + /** + * Comments for this ad. + */ + comments?: string; + /** + * Compatibility of this ad. Applicable when type is AD_SERVING_DEFAULT_AD. + * DISPLAY and DISPLAY_INTERSTITIAL refer to either rendering on desktop or + * on mobile devices or in mobile apps for regular or interstitial ads, + * respectively. APP and APP_INTERSTITIAL are only used for existing default + * ads. New mobile placements must be assigned DISPLAY or + * DISPLAY_INTERSTITIAL and default ads created for those placements will be + * limited to those compatibility types. IN_STREAM_VIDEO refers to rendering + * in-stream video ads developed with the VAST standard. + */ + compatibility?: string; + /** + * Information about the creation of this ad. This is a read-only field. + */ + createInfo?: Schema$LastModifiedInfo; + /** + * Creative group assignments for this ad. Applicable when type is + * AD_SERVING_CLICK_TRACKER. Only one assignment per creative group number + * is allowed for a maximum of two assignments. + */ + creativeGroupAssignments?: Schema$CreativeGroupAssignment[]; + /** + * Creative rotation for this ad. Applicable when type is + * AD_SERVING_DEFAULT_AD, AD_SERVING_STANDARD_AD, or AD_SERVING_TRACKING. + * When type is AD_SERVING_DEFAULT_AD, this field should have exactly one + * creativeAssignment. + */ + creativeRotation?: Schema$CreativeRotation; + /** + * Time and day targeting information for this ad. This field must be left + * blank if the ad is using a targeting template. Applicable when type is + * AD_SERVING_STANDARD_AD. + */ + dayPartTargeting?: Schema$DayPartTargeting; + /** + * Default click-through event tag properties for this ad. + */ + defaultClickThroughEventTagProperties?: Schema$DefaultClickThroughEventTagProperties; + /** + * Delivery schedule information for this ad. Applicable when type is + * AD_SERVING_STANDARD_AD or AD_SERVING_TRACKING. This field along with + * subfields priority and impressionRatio are required on insertion when + * type is AD_SERVING_STANDARD_AD. + */ + deliverySchedule?: Schema$DeliverySchedule; + /** + * Whether this ad is a dynamic click tracker. Applicable when type is + * AD_SERVING_CLICK_TRACKER. This is a required field on insert, and is + * read-only after insert. + */ + dynamicClickTracker?: boolean; + /** + * Date and time that this ad should stop serving. Must be later than the + * start time. This is a required field on insertion. + */ + endTime?: string; + /** + * Event tag overrides for this ad. + */ + eventTagOverrides?: Schema$EventTagOverride[]; + /** + * Geographical targeting information for this ad. This field must be left + * blank if the ad is using a targeting template. Applicable when type is + * AD_SERVING_STANDARD_AD. + */ + geoTargeting?: Schema$GeoTargeting; + /** + * ID of this ad. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Dimension value for the ID of this ad. This is a read-only, + * auto-generated field. + */ + idDimensionValue?: Schema$DimensionValue; + /** + * Key-value targeting information for this ad. This field must be left + * blank if the ad is using a targeting template. Applicable when type is + * AD_SERVING_STANDARD_AD. + */ + keyValueTargetingExpression?: Schema$KeyValueTargetingExpression; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#ad". + */ + kind?: string; + /** + * Language targeting information for this ad. This field must be left blank + * if the ad is using a targeting template. Applicable when type is + * AD_SERVING_STANDARD_AD. + */ + languageTargeting?: Schema$LanguageTargeting; + /** + * Information about the most recent modification of this ad. This is a + * read-only field. + */ + lastModifiedInfo?: Schema$LastModifiedInfo; + /** + * Name of this ad. This is a required field and must be less than 256 + * characters long. + */ + name?: string; + /** + * Placement assignments for this ad. + */ + placementAssignments?: Schema$PlacementAssignment[]; + /** + * Remarketing list targeting expression for this ad. This field must be + * left blank if the ad is using a targeting template. Applicable when type + * is AD_SERVING_STANDARD_AD. + */ + remarketingListExpression?: Schema$ListTargetingExpression; + /** + * Size of this ad. Applicable when type is AD_SERVING_DEFAULT_AD. + */ + size?: Schema$Size; + /** + * Whether this ad is ssl compliant. This is a read-only field that is + * auto-generated when the ad is inserted or updated. + */ + sslCompliant?: boolean; + /** + * Whether this ad requires ssl. This is a read-only field that is + * auto-generated when the ad is inserted or updated. + */ + sslRequired?: boolean; + /** + * Date and time that this ad should start serving. If creating an ad, this + * field must be a time in the future. This is a required field on + * insertion. + */ + startTime?: string; + /** + * Subaccount ID of this ad. This is a read-only field that can be left + * blank. + */ + subaccountId?: string; + /** + * Targeting template ID, used to apply preconfigured targeting information + * to this ad. This cannot be set while any of dayPartTargeting, + * geoTargeting, keyValueTargetingExpression, languageTargeting, + * remarketingListExpression, or technologyTargeting are set. Applicable + * when type is AD_SERVING_STANDARD_AD. + */ + targetingTemplateId?: string; + /** + * Technology platform targeting information for this ad. This field must be + * left blank if the ad is using a targeting template. Applicable when type + * is AD_SERVING_STANDARD_AD. + */ + technologyTargeting?: Schema$TechnologyTargeting; + /** + * Type of ad. This is a required field on insertion. Note that default ads + * (AD_SERVING_DEFAULT_AD) cannot be created directly (see Creative + * resource). + */ + type?: string; + } + /** + * Campaign ad blocking settings. + */ + interface Schema$AdBlockingConfiguration { + /** + * Click-through URL used by brand-neutral ads. This is a required field + * when overrideClickThroughUrl is set to true. + */ + clickThroughUrl?: string; + /** + * ID of a creative bundle to use for this campaign. If set, brand-neutral + * ads will select creatives from this bundle. Otherwise, a default + * transparent pixel will be used. + */ + creativeBundleId?: string; + /** + * Whether this campaign has enabled ad blocking. When true, ad blocking is + * enabled for placements in the campaign, but this may be overridden by + * site and placement settings. When false, ad blocking is disabled for all + * placements under the campaign, regardless of site and placement settings. + */ + enabled?: boolean; + /** + * Whether the brand-neutral ad's click-through URL comes from the + * campaign's creative bundle or the override URL. Must be set to true + * if ad blocking is enabled and no creative bundle is configured. + */ + overrideClickThroughUrl?: boolean; + } + /** + * Ad List Response + */ + interface Schema$AdsListResponse { + /** + * Ad collection. + */ + ads?: Schema$Ad[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#adsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Ad Slot + */ + interface Schema$AdSlot { + /** + * Comment for this ad slot. + */ + comment?: string; + /** + * Ad slot compatibility. DISPLAY and DISPLAY_INTERSTITIAL refer to + * rendering either on desktop, mobile devices or in mobile apps for regular + * or interstitial ads respectively. APP and APP_INTERSTITIAL are for + * rendering in mobile apps. IN_STREAM_VIDEO refers to rendering in + * in-stream video ads developed with the VAST standard. + */ + compatibility?: string; + /** + * Height of this ad slot. + */ + height?: string; + /** + * ID of the placement from an external platform that is linked to this ad + * slot. + */ + linkedPlacementId?: string; + /** + * Name of this ad slot. + */ + name?: string; + /** + * Payment source type of this ad slot. + */ + paymentSourceType?: string; + /** + * Primary ad slot of a roadblock inventory item. + */ + primary?: boolean; + /** + * Width of this ad slot. + */ + width?: string; + } + /** + * Contains properties of a Campaign Manager advertiser. + */ + interface Schema$Advertiser { + /** + * Account ID of this advertiser.This is a read-only field that can be left + * blank. + */ + accountId?: string; + /** + * ID of the advertiser group this advertiser belongs to. You can group + * advertisers for reporting purposes, allowing you to see aggregated + * information for all advertisers in each group. + */ + advertiserGroupId?: string; + /** + * Suffix added to click-through URL of ad creative associations under this + * advertiser. Must be less than 129 characters long. + */ + clickThroughUrlSuffix?: string; + /** + * ID of the click-through event tag to apply by default to the landing + * pages of this advertiser's campaigns. + */ + defaultClickThroughEventTagId?: string; + /** + * Default email address used in sender field for tag emails. + */ + defaultEmail?: string; + /** + * Floodlight configuration ID of this advertiser. The floodlight + * configuration ID will be created automatically, so on insert this field + * should be left blank. This field can be set to another advertiser's + * floodlight configuration ID in order to share that advertiser's + * floodlight configuration with this advertiser, so long as: - This + * advertiser's original floodlight configuration is not already + * associated with floodlight activities or floodlight activity groups. - + * This advertiser's original floodlight configuration is not already + * shared with another advertiser. + */ + floodlightConfigurationId?: string; + /** + * Dimension value for the ID of the floodlight configuration. This is a + * read-only, auto-generated field. + */ + floodlightConfigurationIdDimensionValue?: Schema$DimensionValue; + /** + * ID of this advertiser. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Dimension value for the ID of this advertiser. This is a read-only, + * auto-generated field. + */ + idDimensionValue?: Schema$DimensionValue; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#advertiser". + */ + kind?: string; + /** + * Name of this advertiser. This is a required field and must be less than + * 256 characters long and unique among advertisers of the same account. + */ + name?: string; + /** + * Original floodlight configuration before any sharing occurred. Set the + * floodlightConfigurationId of this advertiser to + * originalFloodlightConfigurationId to unshare the advertiser's current + * floodlight configuration. You cannot unshare an advertiser's + * floodlight configuration if the shared configuration has activities + * associated with any campaign or placement. + */ + originalFloodlightConfigurationId?: string; + /** + * Status of this advertiser. + */ + status?: string; + /** + * Subaccount ID of this advertiser.This is a read-only field that can be + * left blank. + */ + subaccountId?: string; + /** + * Suspension status of this advertiser. + */ + suspended?: boolean; + } + /** + * Groups advertisers together so that reports can be generated for the entire + * group at once. + */ + interface Schema$AdvertiserGroup { + /** + * Account ID of this advertiser group. This is a read-only field that can + * be left blank. + */ + accountId?: string; + /** + * ID of this advertiser group. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#advertiserGroup". + */ + kind?: string; + /** + * Name of this advertiser group. This is a required field and must be less + * than 256 characters long and unique among advertiser groups of the same + * account. + */ + name?: string; + } + /** + * Advertiser Group List Response + */ + interface Schema$AdvertiserGroupsListResponse { + /** + * Advertiser group collection. + */ + advertiserGroups?: Schema$AdvertiserGroup[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#advertiserGroupsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Landing Page List Response + */ + interface Schema$AdvertiserLandingPagesListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#advertiserLandingPagesListResponse". + */ + kind?: string; + /** + * Landing page collection + */ + landingPages?: Schema$LandingPage[]; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Advertiser List Response + */ + interface Schema$AdvertisersListResponse { + /** + * Advertiser collection. + */ + advertisers?: Schema$Advertiser[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#advertisersListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Audience Segment. + */ + interface Schema$AudienceSegment { + /** + * Weight allocated to this segment. The weight assigned will be understood + * in proportion to the weights assigned to other segments in the same + * segment group. Acceptable values are 1 to 1000, inclusive. + */ + allocation?: number; + /** + * ID of this audience segment. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Name of this audience segment. This is a required field and must be less + * than 65 characters long. + */ + name?: string; + } + /** + * Audience Segment Group. + */ + interface Schema$AudienceSegmentGroup { + /** + * Audience segments assigned to this group. The number of segments must be + * between 2 and 100. + */ + audienceSegments?: Schema$AudienceSegment[]; + /** + * ID of this audience segment group. This is a read-only, auto-generated + * field. + */ + id?: string; + /** + * Name of this audience segment group. This is a required field and must be + * less than 65 characters long. + */ + name?: string; + } + /** + * Contains information about a browser that can be targeted by ads. + */ + interface Schema$Browser { + /** + * ID referring to this grouping of browser and version numbers. This is the + * ID used for targeting. + */ + browserVersionId?: string; + /** + * DART ID of this browser. This is the ID used when generating reports. + */ + dartId?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#browser". + */ + kind?: string; + /** + * Major version number (leftmost number) of this browser. For example, for + * Chrome 5.0.376.86 beta, this field should be set to 5. An asterisk (*) + * may be used to target any version number, and a question mark (?) may be + * used to target cases where the version number cannot be identified. For + * example, Chrome *.* targets any version of Chrome: 1.2, 2.5, 3.5, and so + * on. Chrome 3.* targets Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets + * cases where the ad server knows the browser is Firefox but can't tell + * which version it is. + */ + majorVersion?: string; + /** + * Minor version number (number after first dot on left) of this browser. + * For example, for Chrome 5.0.375.86 beta, this field should be set to 0. + * An asterisk (*) may be used to target any version number, and a question + * mark (?) may be used to target cases where the version number cannot be + * identified. For example, Chrome *.* targets any version of Chrome: + * 1.2, 2.5, 3.5, and so on. Chrome 3.* targets Chrome 3.1, 3.5, but + * not 4.0. Firefox ?.? targets cases where the ad server knows the browser + * is Firefox but can't tell which version it is. + */ + minorVersion?: string; + /** + * Name of this browser. + */ + name?: string; + } + /** + * Browser List Response + */ + interface Schema$BrowsersListResponse { + /** + * Browser collection. + */ + browsers?: Schema$Browser[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#browsersListResponse". + */ + kind?: string; + } + /** + * Contains properties of a Campaign Manager campaign. + */ + interface Schema$Campaign { + /** + * Account ID of this campaign. This is a read-only field that can be left + * blank. + */ + accountId?: string; + /** + * Ad blocking settings for this campaign. + */ + adBlockingConfiguration?: Schema$AdBlockingConfiguration; + /** + * Additional creative optimization configurations for the campaign. + */ + additionalCreativeOptimizationConfigurations?: Schema$CreativeOptimizationConfiguration[]; + /** + * Advertiser group ID of the associated advertiser. + */ + advertiserGroupId?: string; + /** + * Advertiser ID of this campaign. This is a required field. + */ + advertiserId?: string; + /** + * Dimension value for the advertiser ID of this campaign. This is a + * read-only, auto-generated field. + */ + advertiserIdDimensionValue?: Schema$DimensionValue; + /** + * Whether this campaign has been archived. + */ + archived?: boolean; + /** + * Audience segment groups assigned to this campaign. Cannot have more than + * 300 segment groups. + */ + audienceSegmentGroups?: Schema$AudienceSegmentGroup[]; + /** + * Billing invoice code included in the Campaign Manager client billing + * invoices associated with the campaign. + */ + billingInvoiceCode?: string; + /** + * Click-through URL suffix override properties for this campaign. + */ + clickThroughUrlSuffixProperties?: Schema$ClickThroughUrlSuffixProperties; + /** + * Arbitrary comments about this campaign. Must be less than 256 characters + * long. + */ + comment?: string; + /** + * Information about the creation of this campaign. This is a read-only + * field. + */ + createInfo?: Schema$LastModifiedInfo; + /** + * List of creative group IDs that are assigned to the campaign. + */ + creativeGroupIds?: string[]; + /** + * Creative optimization configuration for the campaign. + */ + creativeOptimizationConfiguration?: Schema$CreativeOptimizationConfiguration; + /** + * Click-through event tag ID override properties for this campaign. + */ + defaultClickThroughEventTagProperties?: Schema$DefaultClickThroughEventTagProperties; + /** + * The default landing page ID for this campaign. + */ + defaultLandingPageId?: string; + /** + * Date on which the campaign will stop running. On insert, the end date + * must be today or a future date. The end date must be later than or be the + * same as the start date. If, for example, you set 6/25/2015 as both the + * start and end dates, the effective campaign run date is just that day + * only, 6/25/2015. The hours, minutes, and seconds of the end date should + * not be set, as doing so will result in an error. This is a required + * field. + */ + endDate?: string; + /** + * Overrides that can be used to activate or deactivate advertiser event + * tags. + */ + eventTagOverrides?: Schema$EventTagOverride[]; + /** + * External ID for this campaign. + */ + externalId?: string; + /** + * ID of this campaign. This is a read-only auto-generated field. + */ + id?: string; + /** + * Dimension value for the ID of this campaign. This is a read-only, + * auto-generated field. + */ + idDimensionValue?: Schema$DimensionValue; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#campaign". + */ + kind?: string; + /** + * Information about the most recent modification of this campaign. This is + * a read-only field. + */ + lastModifiedInfo?: Schema$LastModifiedInfo; + /** + * Lookback window settings for the campaign. + */ + lookbackConfiguration?: Schema$LookbackConfiguration; + /** + * Name of this campaign. This is a required field and must be less than 256 + * characters long and unique among campaigns of the same advertiser. + */ + name?: string; + /** + * Whether Nielsen reports are enabled for this campaign. + */ + nielsenOcrEnabled?: boolean; + /** + * Date on which the campaign starts running. The start date can be any + * date. The hours, minutes, and seconds of the start date should not be + * set, as doing so will result in an error. This is a required field. + */ + startDate?: string; + /** + * Subaccount ID of this campaign. This is a read-only field that can be + * left blank. + */ + subaccountId?: string; + /** + * Campaign trafficker contact emails. + */ + traffickerEmails?: string[]; + } + /** + * Identifies a creative which has been associated with a given campaign. + */ + interface Schema$CampaignCreativeAssociation { + /** + * ID of the creative associated with the campaign. This is a required + * field. + */ + creativeId?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#campaignCreativeAssociation". + */ + kind?: string; + } + /** + * Campaign Creative Association List Response + */ + interface Schema$CampaignCreativeAssociationsListResponse { + /** + * Campaign creative association collection + */ + campaignCreativeAssociations?: Schema$CampaignCreativeAssociation[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#campaignCreativeAssociationsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Campaign List Response + */ + interface Schema$CampaignsListResponse { + /** + * Campaign collection. + */ + campaigns?: Schema$Campaign[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#campaignsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Describes a change that a user has made to a resource. + */ + interface Schema$ChangeLog { + /** + * Account ID of the modified object. + */ + accountId?: string; + /** + * Action which caused the change. + */ + action?: string; + /** + * Time when the object was modified. + */ + changeTime?: string; + /** + * Field name of the object which changed. + */ + fieldName?: string; + /** + * ID of this change log. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#changeLog". + */ + kind?: string; + /** + * New value of the object field. + */ + newValue?: string; + /** + * ID of the object of this change log. The object could be a campaign, + * placement, ad, or other type. + */ + objectId?: string; + /** + * Object type of the change log. + */ + objectType?: string; + /** + * Old value of the object field. + */ + oldValue?: string; + /** + * Subaccount ID of the modified object. + */ + subaccountId?: string; + /** + * Transaction ID of this change log. When a single API call results in many + * changes, each change will have a separate ID in the change log but will + * share the same transactionId. + */ + transactionId?: string; + /** + * ID of the user who modified the object. + */ + userProfileId?: string; + /** + * User profile name of the user who modified the object. + */ + userProfileName?: string; + } + /** + * Change Log List Response + */ + interface Schema$ChangeLogsListResponse { + /** + * Change log collection. + */ + changeLogs?: Schema$ChangeLog[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#changeLogsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * City List Response + */ + interface Schema$CitiesListResponse { + /** + * City collection. + */ + cities?: Schema$City[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#citiesListResponse". + */ + kind?: string; + } + /** + * Contains information about a city that can be targeted by ads. + */ + interface Schema$City { + /** + * Country code of the country to which this city belongs. + */ + countryCode?: string; + /** + * DART ID of the country to which this city belongs. + */ + countryDartId?: string; + /** + * DART ID of this city. This is the ID used for targeting and generating + * reports. + */ + dartId?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#city". + */ + kind?: string; + /** + * Metro region code of the metro region (DMA) to which this city belongs. + */ + metroCode?: string; + /** + * ID of the metro region (DMA) to which this city belongs. + */ + metroDmaId?: string; + /** + * Name of this city. + */ + name?: string; + /** + * Region code of the region to which this city belongs. + */ + regionCode?: string; + /** + * DART ID of the region to which this city belongs. + */ + regionDartId?: string; + } + /** + * Creative Click Tag. + */ + interface Schema$ClickTag { + /** + * Parameter value for the specified click tag. This field contains a + * click-through url. + */ + clickThroughUrl?: Schema$CreativeClickThroughUrl; + /** + * Advertiser event name associated with the click tag. This field is used + * by DISPLAY_IMAGE_GALLERY and HTML5_BANNER creatives. Applicable to + * DISPLAY when the primary asset type is not HTML_IMAGE. + */ + eventName?: string; + /** + * Parameter name for the specified click tag. For DISPLAY_IMAGE_GALLERY + * creative assets, this field must match the value of the creative + * asset's creativeAssetId.name field. + */ + name?: string; + } + /** + * Click-through URL + */ + interface Schema$ClickThroughUrl { + /** + * Read-only convenience field representing the actual URL that will be used + * for this click-through. The URL is computed as follows: - If + * defaultLandingPage is enabled then the campaign's default landing + * page URL is assigned to this field. - If defaultLandingPage is not + * enabled and a landingPageId is specified then that landing page's URL + * is assigned to this field. - If neither of the above cases apply, then + * the customClickThroughUrl is assigned to this field. + */ + computedClickThroughUrl?: string; + /** + * Custom click-through URL. Applicable if the defaultLandingPage field is + * set to false and the landingPageId field is left unset. + */ + customClickThroughUrl?: string; + /** + * Whether the campaign default landing page is used. + */ + defaultLandingPage?: boolean; + /** + * ID of the landing page for the click-through URL. Applicable if the + * defaultLandingPage field is set to false. + */ + landingPageId?: string; + } + /** + * Click Through URL Suffix settings. + */ + interface Schema$ClickThroughUrlSuffixProperties { + /** + * Click-through URL suffix to apply to all ads in this entity's scope. + * Must be less than 128 characters long. + */ + clickThroughUrlSuffix?: string; + /** + * Whether this entity should override the inherited click-through URL + * suffix with its own defined value. + */ + overrideInheritedSuffix?: boolean; + } + /** + * Companion Click-through override. + */ + interface Schema$CompanionClickThroughOverride { + /** + * Click-through URL of this companion click-through override. + */ + clickThroughUrl?: Schema$ClickThroughUrl; + /** + * ID of the creative for this companion click-through override. + */ + creativeId?: string; + } + /** + * Companion Settings + */ + interface Schema$CompanionSetting { + /** + * Whether companions are disabled for this placement. + */ + companionsDisabled?: boolean; + /** + * Whitelist of companion sizes to be served to this placement. Set this + * list to null or empty to serve all companion sizes. + */ + enabledSizes?: Schema$Size[]; + /** + * Whether to serve only static images as companions. + */ + imageOnly?: boolean; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#companionSetting". + */ + kind?: string; + } + /** + * Represents a response to the queryCompatibleFields method. + */ + interface Schema$CompatibleFields { + /** + * Contains items that are compatible to be selected for a report of type + * "CROSS_DIMENSION_REACH". + */ + crossDimensionReachReportCompatibleFields?: Schema$CrossDimensionReachReportCompatibleFields; + /** + * Contains items that are compatible to be selected for a report of type + * "FLOODLIGHT". + */ + floodlightReportCompatibleFields?: Schema$FloodlightReportCompatibleFields; + /** + * The kind of resource this is, in this case dfareporting#compatibleFields. + */ + kind?: string; + /** + * Contains items that are compatible to be selected for a report of type + * "PATH_TO_CONVERSION". + */ + pathToConversionReportCompatibleFields?: Schema$PathToConversionReportCompatibleFields; + /** + * Contains items that are compatible to be selected for a report of type + * "REACH". + */ + reachReportCompatibleFields?: Schema$ReachReportCompatibleFields; + /** + * Contains items that are compatible to be selected for a report of type + * "STANDARD". + */ + reportCompatibleFields?: Schema$ReportCompatibleFields; + } + /** + * Contains information about an internet connection type that can be targeted + * by ads. Clients can use the connection type to target mobile vs. broadband + * users. + */ + interface Schema$ConnectionType { + /** + * ID of this connection type. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#connectionType". + */ + kind?: string; + /** + * Name of this connection type. + */ + name?: string; + } + /** + * Connection Type List Response + */ + interface Schema$ConnectionTypesListResponse { + /** + * Collection of connection types such as broadband and mobile. + */ + connectionTypes?: Schema$ConnectionType[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#connectionTypesListResponse". + */ + kind?: string; + } + /** + * Content Category List Response + */ + interface Schema$ContentCategoriesListResponse { + /** + * Content category collection. + */ + contentCategories?: Schema$ContentCategory[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#contentCategoriesListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Organizes placements according to the contents of their associated + * webpages. + */ + interface Schema$ContentCategory { + /** + * Account ID of this content category. This is a read-only field that can + * be left blank. + */ + accountId?: string; + /** + * ID of this content category. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#contentCategory". + */ + kind?: string; + /** + * Name of this content category. This is a required field and must be less + * than 256 characters long and unique among content categories of the same + * account. + */ + name?: string; + } + /** + * A Conversion represents when a user successfully performs a desired action + * after seeing an ad. + */ + interface Schema$Conversion { + /** + * Whether the conversion was directed toward children. + */ + childDirectedTreatment?: boolean; + /** + * Custom floodlight variables. + */ + customVariables?: Schema$CustomFloodlightVariable[]; + /** + * The alphanumeric encrypted user ID. When set, encryptionInfo should also + * be specified. This field is mutually exclusive with + * encryptedUserIdCandidates[], mobileDeviceId and gclid. This or + * encryptedUserIdCandidates[] or mobileDeviceId or gclid is a required + * field. + */ + encryptedUserId?: string; + /** + * A list of the alphanumeric encrypted user IDs. Any user ID with exposure + * prior to the conversion timestamp will be used in the inserted + * conversion. If no such user ID is found then the conversion will be + * rejected with NO_COOKIE_MATCH_FOUND error. When set, encryptionInfo + * should also be specified. This field may only be used when calling + * batchinsert; it is not supported by batchupdate. This field is mutually + * exclusive with encryptedUserId, mobileDeviceId and gclid. This or + * encryptedUserId or mobileDeviceId or gclid is a required field. + */ + encryptedUserIdCandidates?: string[]; + /** + * Floodlight Activity ID of this conversion. This is a required field. + */ + floodlightActivityId?: string; + /** + * Floodlight Configuration ID of this conversion. This is a required field. + */ + floodlightConfigurationId?: string; + /** + * The Google click ID. This field is mutually exclusive with + * encryptedUserId, encryptedUserIdCandidates[] and mobileDeviceId. This or + * encryptedUserId or encryptedUserIdCandidates[] or mobileDeviceId is a + * required field. + */ + gclid?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#conversion". + */ + kind?: string; + /** + * Whether Limit Ad Tracking is enabled. When set to true, the conversion + * will be used for reporting but not targeting. This will prevent + * remarketing. + */ + limitAdTracking?: boolean; + /** + * The mobile device ID. This field is mutually exclusive with + * encryptedUserId, encryptedUserIdCandidates[] and gclid. This or + * encryptedUserId or encryptedUserIdCandidates[] or gclid is a required + * field. + */ + mobileDeviceId?: string; + /** + * The ordinal of the conversion. Use this field to control how conversions + * of the same user and day are de-duplicated. This is a required field. + */ + ordinal?: string; + /** + * The quantity of the conversion. + */ + quantity?: string; + /** + * The timestamp of conversion, in Unix epoch micros. This is a required + * field. + */ + timestampMicros?: string; + /** + * The value of the conversion. + */ + value?: number; + } + /** + * The error code and description for a conversion that failed to insert or + * update. + */ + interface Schema$ConversionError { + /** + * The error code. + */ + code?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#conversionError". + */ + kind?: string; + /** + * A description of the error. + */ + message?: string; + } + /** + * Insert Conversions Request. + */ + interface Schema$ConversionsBatchInsertRequest { + /** + * The set of conversions to insert. + */ + conversions?: Schema$Conversion[]; + /** + * Describes how encryptedUserId or encryptedUserIdCandidates[] is + * encrypted. This is a required field if encryptedUserId or + * encryptedUserIdCandidates[] is used. + */ + encryptionInfo?: Schema$EncryptionInfo; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#conversionsBatchInsertRequest". + */ + kind?: string; + } + /** + * Insert Conversions Response. + */ + interface Schema$ConversionsBatchInsertResponse { + /** + * Indicates that some or all conversions failed to insert. + */ + hasFailures?: boolean; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#conversionsBatchInsertResponse". + */ + kind?: string; + /** + * The insert status of each conversion. Statuses are returned in the same + * order that conversions are inserted. + */ + status?: Schema$ConversionStatus[]; + } + /** + * Update Conversions Request. + */ + interface Schema$ConversionsBatchUpdateRequest { + /** + * The set of conversions to update. + */ + conversions?: Schema$Conversion[]; + /** + * Describes how encryptedUserId is encrypted. This is a required field if + * encryptedUserId is used. + */ + encryptionInfo?: Schema$EncryptionInfo; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#conversionsBatchUpdateRequest". + */ + kind?: string; + } + /** + * Update Conversions Response. + */ + interface Schema$ConversionsBatchUpdateResponse { + /** + * Indicates that some or all conversions failed to update. + */ + hasFailures?: boolean; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#conversionsBatchUpdateResponse". + */ + kind?: string; + /** + * The update status of each conversion. Statuses are returned in the same + * order that conversions are updated. + */ + status?: Schema$ConversionStatus[]; + } + /** + * The original conversion that was inserted or updated and whether there were + * any errors. + */ + interface Schema$ConversionStatus { + /** + * The original conversion that was inserted or updated. + */ + conversion?: Schema$Conversion; + /** + * A list of errors related to this conversion. + */ + errors?: Schema$ConversionError[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#conversionStatus". + */ + kind?: string; + } + /** + * Country List Response + */ + interface Schema$CountriesListResponse { + /** + * Country collection. + */ + countries?: Schema$Country[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#countriesListResponse". + */ + kind?: string; + } + /** + * Contains information about a country that can be targeted by ads. + */ + interface Schema$Country { + /** + * Country code. + */ + countryCode?: string; + /** + * DART ID of this country. This is the ID used for targeting and generating + * reports. + */ + dartId?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#country". + */ + kind?: string; + /** + * Name of this country. + */ + name?: string; + /** + * Whether ad serving supports secure servers in this country. + */ + sslEnabled?: boolean; + } + /** + * Contains properties of a Creative. + */ + interface Schema$Creative { + /** + * Account ID of this creative. This field, if left unset, will be + * auto-generated for both insert and update operations. Applicable to all + * creative types. + */ + accountId?: string; + /** + * Whether the creative is active. Applicable to all creative types. + */ + active?: boolean; + /** + * Ad parameters user for VPAID creative. This is a read-only field. + * Applicable to the following creative types: all VPAID. + */ + adParameters?: string; + /** + * Keywords for a Rich Media creative. Keywords let you customize the + * creative settings of a Rich Media ad running on your site without having + * to contact the advertiser. You can use keywords to dynamically change the + * look or functionality of a creative. Applicable to the following creative + * types: all RICH_MEDIA, and all VPAID. + */ + adTagKeys?: string[]; + /** + * Advertiser ID of this creative. This is a required field. Applicable to + * all creative types. + */ + advertiserId?: string; + /** + * Whether script access is allowed for this creative. This is a read-only + * and deprecated field which will automatically be set to true on update. + * Applicable to the following creative types: FLASH_INPAGE. + */ + allowScriptAccess?: boolean; + /** + * Whether the creative is archived. Applicable to all creative types. + */ + archived?: boolean; + /** + * Type of artwork used for the creative. This is a read-only field. + * Applicable to the following creative types: all RICH_MEDIA, and all + * VPAID. + */ + artworkType?: string; + /** + * Source application where creative was authored. Presently, only DBM + * authored creatives will have this field set. Applicable to all creative + * types. + */ + authoringSource?: string; + /** + * Authoring tool for HTML5 banner creatives. This is a read-only field. + * Applicable to the following creative types: HTML5_BANNER. + */ + authoringTool?: string; + /** + * Whether images are automatically advanced for image gallery creatives. + * Applicable to the following creative types: DISPLAY_IMAGE_GALLERY. + */ + autoAdvanceImages?: boolean; + /** + * The 6-character HTML color code, beginning with #, for the background of + * the window area where the Flash file is displayed. Default is white. + * Applicable to the following creative types: FLASH_INPAGE. + */ + backgroundColor?: string; + /** + * Click-through URL for backup image. Applicable to ENHANCED_BANNER when + * the primary asset type is not HTML_IMAGE. + */ + backupImageClickThroughUrl?: Schema$CreativeClickThroughUrl; + /** + * List of feature dependencies that will cause a backup image to be served + * if the browser that serves the ad does not support them. Feature + * dependencies are features that a browser must be able to support in order + * to render your HTML5 creative asset correctly. This field is initially + * auto-generated to contain all features detected by Campaign Manager for + * all the assets of this creative and can then be modified by the client. + * To reset this field, copy over all the creativeAssets' detected + * features. Applicable to the following creative types: HTML5_BANNER. + * Applicable to DISPLAY when the primary asset type is not HTML_IMAGE. + */ + backupImageFeatures?: string[]; + /** + * Reporting label used for HTML5 banner backup image. Applicable to the + * following creative types: DISPLAY when the primary asset type is not + * HTML_IMAGE. + */ + backupImageReportingLabel?: string; + /** + * Target window for backup image. Applicable to the following creative + * types: FLASH_INPAGE and HTML5_BANNER. Applicable to DISPLAY when the + * primary asset type is not HTML_IMAGE. + */ + backupImageTargetWindow?: Schema$TargetWindow; + /** + * Click tags of the creative. For DISPLAY, FLASH_INPAGE, and HTML5_BANNER + * creatives, this is a subset of detected click tags for the assets + * associated with this creative. After creating a flash asset, detected + * click tags will be returned in the creativeAssetMetadata. When inserting + * the creative, populate the creative clickTags field using the + * creativeAssetMetadata.clickTags field. For DISPLAY_IMAGE_GALLERY + * creatives, there should be exactly one entry in this list for each image + * creative asset. A click tag is matched with a corresponding creative + * asset by matching the clickTag.name field with the + * creativeAsset.assetIdentifier.name field. Applicable to the following + * creative types: DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER. + * Applicable to DISPLAY when the primary asset type is not HTML_IMAGE. + */ + clickTags?: Schema$ClickTag[]; + /** + * Industry standard ID assigned to creative for reach and frequency. + * Applicable to INSTREAM_VIDEO_REDIRECT creatives. + */ + commercialId?: string; + /** + * List of companion creatives assigned to an in-Stream video creative. + * Acceptable values include IDs of existing flash and image creatives. + * Applicable to the following creative types: all VPAID and all + * INSTREAM_VIDEO with dynamicAssetSelection set to false. + */ + companionCreatives?: string[]; + /** + * Compatibilities associated with this creative. This is a read-only field. + * DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop or + * on mobile devices or in mobile apps for regular or interstitial ads, + * respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. + * Only pre-existing creatives may have these compatibilities since new + * creatives will either be assigned DISPLAY or DISPLAY_INTERSTITIAL + * instead. IN_STREAM_VIDEO refers to rendering in in-stream video ads + * developed with the VAST standard. Applicable to all creative types. + * Acceptable values are: - "APP" - "APP_INTERSTITIAL" - + * "IN_STREAM_VIDEO" - "DISPLAY" - + * "DISPLAY_INTERSTITIAL" + */ + compatibility?: string[]; + /** + * Whether Flash assets associated with the creative need to be + * automatically converted to HTML5. This flag is enabled by default and + * users can choose to disable it if they don't want the system to + * generate and use HTML5 asset for this creative. Applicable to the + * following creative type: FLASH_INPAGE. Applicable to DISPLAY when the + * primary asset type is not HTML_IMAGE. + */ + convertFlashToHtml5?: boolean; + /** + * List of counter events configured for the creative. For + * DISPLAY_IMAGE_GALLERY creatives, these are read-only and auto-generated + * from clickTags. Applicable to the following creative types: + * DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID. + */ + counterCustomEvents?: Schema$CreativeCustomEvent[]; + /** + * Assets associated with a creative. Applicable to all but the following + * creative types: INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and + * REDIRECT + */ + creativeAssets?: Schema$CreativeAsset[]; + /** + * Required if dynamicAssetSelection is true. + */ + creativeAssetSelection?: Schema$CreativeAssetSelection; + /** + * Creative field assignments for this creative. Applicable to all creative + * types. + */ + creativeFieldAssignments?: Schema$CreativeFieldAssignment[]; + /** + * Custom key-values for a Rich Media creative. Key-values let you customize + * the creative settings of a Rich Media ad running on your site without + * having to contact the advertiser. You can use key-values to dynamically + * change the look or functionality of a creative. Applicable to the + * following creative types: all RICH_MEDIA, and all VPAID. + */ + customKeyValues?: string[]; + /** + * Set this to true to enable the use of rules to target individual assets + * in this creative. When set to true creativeAssetSelection must be set. + * This also controls asset-level companions. When this is true, companion + * creatives should be assigned to creative assets. Learn more. Applicable + * to INSTREAM_VIDEO creatives. + */ + dynamicAssetSelection?: boolean; + /** + * List of exit events configured for the creative. For DISPLAY and + * DISPLAY_IMAGE_GALLERY creatives, these are read-only and auto-generated + * from clickTags, For DISPLAY, an event is also created from the + * backupImageReportingLabel. Applicable to the following creative types: + * DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID. Applicable to + * DISPLAY when the primary asset type is not HTML_IMAGE. + */ + exitCustomEvents?: Schema$CreativeCustomEvent[]; + /** + * OpenWindow FSCommand of this creative. This lets the SWF file communicate + * with either Flash Player or the program hosting Flash Player, such as a + * web browser. This is only triggered if allowScriptAccess field is true. + * Applicable to the following creative types: FLASH_INPAGE. + */ + fsCommand?: Schema$FsCommand; + /** + * HTML code for the creative. This is a required field when applicable. + * This field is ignored if htmlCodeLocked is true. Applicable to the + * following creative types: all CUSTOM, FLASH_INPAGE, and HTML5_BANNER, and + * all RICH_MEDIA. + */ + htmlCode?: string; + /** + * Whether HTML code is generated by Campaign Manager or manually entered. + * Set to true to ignore changes to htmlCode. Applicable to the following + * creative types: FLASH_INPAGE and HTML5_BANNER. + */ + htmlCodeLocked?: boolean; + /** + * ID of this creative. This is a read-only, auto-generated field. + * Applicable to all creative types. + */ + id?: string; + /** + * Dimension value for the ID of this creative. This is a read-only field. + * Applicable to all creative types. + */ + idDimensionValue?: Schema$DimensionValue; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#creative". + */ + kind?: string; + /** + * Creative last modification information. This is a read-only field. + * Applicable to all creative types. + */ + lastModifiedInfo?: Schema$LastModifiedInfo; + /** + * Latest Studio trafficked creative ID associated with rich media and VPAID + * creatives. This is a read-only field. Applicable to the following + * creative types: all RICH_MEDIA, and all VPAID. + */ + latestTraffickedCreativeId?: string; + /** + * Name of the creative. This is a required field and must be less than 256 + * characters long. Applicable to all creative types. + */ + name?: string; + /** + * Override CSS value for rich media creatives. Applicable to the following + * creative types: all RICH_MEDIA. + */ + overrideCss?: string; + /** + * The asset ID of the polite load image asset. Applicable to the creative + * type: DISPLAY. + */ + politeLoadAssetId?: string; + /** + * Amount of time to play the video before counting a view. Applicable to + * the following creative types: all INSTREAM_VIDEO. + */ + progressOffset?: Schema$VideoOffset; + /** + * URL of hosted image or hosted video or another ad tag. For + * INSTREAM_VIDEO_REDIRECT creatives this is the in-stream video redirect + * URL. The standard for a VAST (Video Ad Serving Template) ad response + * allows for a redirect link to another VAST 2.0 or 3.0 call. This is a + * required field when applicable. Applicable to the following creative + * types: DISPLAY_REDIRECT, INTERNAL_REDIRECT, + * INTERSTITIAL_INTERNAL_REDIRECT, and INSTREAM_VIDEO_REDIRECT + */ + redirectUrl?: string; + /** + * ID of current rendering version. This is a read-only field. Applicable to + * all creative types. + */ + renderingId?: string; + /** + * Dimension value for the rendering ID of this creative. This is a + * read-only field. Applicable to all creative types. + */ + renderingIdDimensionValue?: Schema$DimensionValue; + /** + * The minimum required Flash plugin version for this creative. For + * example, 11.2.202.235. This is a read-only field. Applicable to the + * following creative types: all RICH_MEDIA, and all VPAID. + */ + requiredFlashPluginVersion?: string; + /** + * The internal Flash version for this creative as calculated by Studio. + * This is a read-only field. Applicable to the following creative types: + * FLASH_INPAGE all RICH_MEDIA, and all VPAID. Applicable to DISPLAY when + * the primary asset type is not HTML_IMAGE. + */ + requiredFlashVersion?: number; + /** + * Size associated with this creative. When inserting or updating a creative + * either the size ID field or size width and height fields can be used. + * This is a required field when applicable; however for IMAGE, FLASH_INPAGE + * creatives, and for DISPLAY creatives with a primary asset of type + * HTML_IMAGE, if left blank, this field will be automatically set using the + * actual size of the associated image assets. Applicable to the following + * creative types: DISPLAY, DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, + * HTML5_BANNER, IMAGE, and all RICH_MEDIA. + */ + size?: Schema$Size; + /** + * Amount of time to play the video before the skip button appears. + * Applicable to the following creative types: all INSTREAM_VIDEO. + */ + skipOffset?: Schema$VideoOffset; + /** + * Whether the user can choose to skip the creative. Applicable to the + * following creative types: all INSTREAM_VIDEO and all VPAID. + */ + skippable?: boolean; + /** + * Whether the creative is SSL-compliant. This is a read-only field. + * Applicable to all creative types. + */ + sslCompliant?: boolean; + /** + * Whether creative should be treated as SSL compliant even if the system + * scan shows it's not. Applicable to all creative types. + */ + sslOverride?: boolean; + /** + * Studio advertiser ID associated with rich media and VPAID creatives. This + * is a read-only field. Applicable to the following creative types: all + * RICH_MEDIA, and all VPAID. + */ + studioAdvertiserId?: string; + /** + * Studio creative ID associated with rich media and VPAID creatives. This + * is a read-only field. Applicable to the following creative types: all + * RICH_MEDIA, and all VPAID. + */ + studioCreativeId?: string; + /** + * Studio trafficked creative ID associated with rich media and VPAID + * creatives. This is a read-only field. Applicable to the following + * creative types: all RICH_MEDIA, and all VPAID. + */ + studioTraffickedCreativeId?: string; + /** + * Subaccount ID of this creative. This field, if left unset, will be + * auto-generated for both insert and update operations. Applicable to all + * creative types. + */ + subaccountId?: string; + /** + * Third-party URL used to record backup image impressions. Applicable to + * the following creative types: all RICH_MEDIA. + */ + thirdPartyBackupImageImpressionsUrl?: string; + /** + * Third-party URL used to record rich media impressions. Applicable to the + * following creative types: all RICH_MEDIA. + */ + thirdPartyRichMediaImpressionsUrl?: string; + /** + * Third-party URLs for tracking in-stream video creative events. Applicable + * to the following creative types: all INSTREAM_VIDEO and all VPAID. + */ + thirdPartyUrls?: Schema$ThirdPartyTrackingUrl[]; + /** + * List of timer events configured for the creative. For + * DISPLAY_IMAGE_GALLERY creatives, these are read-only and auto-generated + * from clickTags. Applicable to the following creative types: + * DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID. Applicable to + * DISPLAY when the primary asset is not HTML_IMAGE. + */ + timerCustomEvents?: Schema$CreativeCustomEvent[]; + /** + * Combined size of all creative assets. This is a read-only field. + * Applicable to the following creative types: all RICH_MEDIA, and all + * VPAID. + */ + totalFileSize?: string; + /** + * Type of this creative. This is a required field. Applicable to all + * creative types. Note: FLASH_INPAGE, HTML5_BANNER, and IMAGE are only + * used for existing creatives. New creatives should use DISPLAY as a + * replacement for these types. + */ + type?: string; + /** + * A Universal Ad ID as per the VAST 4.0 spec. Applicable to the following + * creative types: INSTREAM_VIDEO and VPAID. + */ + universalAdId?: Schema$UniversalAdId; + /** + * The version number helps you keep track of multiple versions of your + * creative in your reports. The version number will always be + * auto-generated during insert operations to start at 1. For tracking + * creatives the version cannot be incremented and will always remain at 1. + * For all other creative types the version can be incremented only by 1 + * during update operations. In addition, the version will be automatically + * incremented by 1 when undergoing Rich Media creative merging. Applicable + * to all creative types. + */ + version?: number; + /** + * Description of the video ad. Applicable to the following creative types: + * all INSTREAM_VIDEO and all VPAID. + */ + videoDescription?: string; + /** + * Creative video duration in seconds. This is a read-only field. Applicable + * to the following creative types: INSTREAM_VIDEO, all RICH_MEDIA, and all + * VPAID. + */ + videoDuration?: number; + } + /** + * Creative Asset. + */ + interface Schema$CreativeAsset { + /** + * Whether ActionScript3 is enabled for the flash asset. This is a read-only + * field. Applicable to the following creative type: FLASH_INPAGE. + * Applicable to DISPLAY when the primary asset type is not HTML_IMAGE. + */ + actionScript3?: boolean; + /** + * Whether the video asset is active. This is a read-only field for + * VPAID_NON_LINEAR_VIDEO assets. Applicable to the following creative + * types: INSTREAM_VIDEO and all VPAID. + */ + active?: boolean; + /** + * Possible alignments for an asset. This is a read-only field. Applicable + * to the following creative types: + * RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL. + */ + alignment?: string; + /** + * Artwork type of rich media creative. This is a read-only field. + * Applicable to the following creative types: all RICH_MEDIA. + */ + artworkType?: string; + /** + * Identifier of this asset. This is the same identifier returned during + * creative asset insert operation. This is a required field. Applicable to + * all but the following creative types: all REDIRECT and TRACKING_TEXT. + */ + assetIdentifier?: Schema$CreativeAssetId; + /** + * Exit event configured for the backup image. Applicable to the following + * creative types: all RICH_MEDIA. + */ + backupImageExit?: Schema$CreativeCustomEvent; + /** + * Detected bit-rate for video asset. This is a read-only field. Applicable + * to the following creative types: INSTREAM_VIDEO and all VPAID. + */ + bitRate?: number; + /** + * Rich media child asset type. This is a read-only field. Applicable to the + * following creative types: all VPAID. + */ + childAssetType?: string; + /** + * Size of an asset when collapsed. This is a read-only field. Applicable to + * the following creative types: all RICH_MEDIA and all VPAID. Additionally, + * applicable to assets whose displayType is ASSET_DISPLAY_TYPE_EXPANDING or + * ASSET_DISPLAY_TYPE_PEEL_DOWN. + */ + collapsedSize?: Schema$Size; + /** + * List of companion creatives assigned to an in-stream video creative + * asset. Acceptable values include IDs of existing flash and image + * creatives. Applicable to INSTREAM_VIDEO creative type with + * dynamicAssetSelection set to true. + */ + companionCreativeIds?: string[]; + /** + * Custom start time in seconds for making the asset visible. Applicable to + * the following creative types: all RICH_MEDIA. Value must be greater than + * or equal to 0. + */ + customStartTimeValue?: number; + /** + * List of feature dependencies for the creative asset that are detected by + * Campaign Manager. Feature dependencies are features that a browser must + * be able to support in order to render your HTML5 creative correctly. This + * is a read-only, auto-generated field. Applicable to the following + * creative types: HTML5_BANNER. Applicable to DISPLAY when the primary + * asset type is not HTML_IMAGE. + */ + detectedFeatures?: string[]; + /** + * Type of rich media asset. This is a read-only field. Applicable to the + * following creative types: all RICH_MEDIA. + */ + displayType?: string; + /** + * Duration in seconds for which an asset will be displayed. Applicable to + * the following creative types: INSTREAM_VIDEO and VPAID_LINEAR_VIDEO. + * Value must be greater than or equal to 1. + */ + duration?: number; + /** + * Duration type for which an asset will be displayed. Applicable to the + * following creative types: all RICH_MEDIA. + */ + durationType?: string; + /** + * Detected expanded dimension for video asset. This is a read-only field. + * Applicable to the following creative types: INSTREAM_VIDEO and all VPAID. + */ + expandedDimension?: Schema$Size; + /** + * File size associated with this creative asset. This is a read-only field. + * Applicable to all but the following creative types: all REDIRECT and + * TRACKING_TEXT. + */ + fileSize?: string; + /** + * Flash version of the asset. This is a read-only field. Applicable to the + * following creative types: FLASH_INPAGE, all RICH_MEDIA, and all VPAID. + * Applicable to DISPLAY when the primary asset type is not HTML_IMAGE. + */ + flashVersion?: number; + /** + * Whether to hide Flash objects flag for an asset. Applicable to the + * following creative types: all RICH_MEDIA. + */ + hideFlashObjects?: boolean; + /** + * Whether to hide selection boxes flag for an asset. Applicable to the + * following creative types: all RICH_MEDIA. + */ + hideSelectionBoxes?: boolean; + /** + * Whether the asset is horizontally locked. This is a read-only field. + * Applicable to the following creative types: all RICH_MEDIA. + */ + horizontallyLocked?: boolean; + /** + * Numeric ID of this creative asset. This is a required field and should + * not be modified. Applicable to all but the following creative types: all + * REDIRECT and TRACKING_TEXT. + */ + id?: string; + /** + * Dimension value for the ID of the asset. This is a read-only, + * auto-generated field. + */ + idDimensionValue?: Schema$DimensionValue; + /** + * Detected MIME type for video asset. This is a read-only field. Applicable + * to the following creative types: INSTREAM_VIDEO and all VPAID. + */ + mimeType?: string; + /** + * Offset position for an asset in collapsed mode. This is a read-only + * field. Applicable to the following creative types: all RICH_MEDIA and all + * VPAID. Additionally, only applicable to assets whose displayType is + * ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN. + */ + offset?: Schema$OffsetPosition; + /** + * Orientation of video asset. This is a read-only, auto-generated field. + */ + orientation?: string; + /** + * Whether the backup asset is original or changed by the user in Campaign + * Manager. Applicable to the following creative types: all RICH_MEDIA. + */ + originalBackup?: boolean; + /** + * Offset position for an asset. Applicable to the following creative types: + * all RICH_MEDIA. + */ + position?: Schema$OffsetPosition; + /** + * Offset left unit for an asset. This is a read-only field. Applicable to + * the following creative types: all RICH_MEDIA. + */ + positionLeftUnit?: string; + /** + * Offset top unit for an asset. This is a read-only field if the asset + * displayType is ASSET_DISPLAY_TYPE_OVERLAY. Applicable to the following + * creative types: all RICH_MEDIA. + */ + positionTopUnit?: string; + /** + * Progressive URL for video asset. This is a read-only field. Applicable to + * the following creative types: INSTREAM_VIDEO and all VPAID. + */ + progressiveServingUrl?: string; + /** + * Whether the asset pushes down other content. Applicable to the following + * creative types: all RICH_MEDIA. Additionally, only applicable when the + * asset offsets are 0, the collapsedSize.width matches size.width, and the + * collapsedSize.height is less than size.height. + */ + pushdown?: boolean; + /** + * Pushdown duration in seconds for an asset. Applicable to the following + * creative types: all RICH_MEDIA.Additionally, only applicable when the + * asset pushdown field is true, the offsets are 0, the collapsedSize.width + * matches size.width, and the collapsedSize.height is less than + * size.height. Acceptable values are 0 to 9.99, inclusive. + */ + pushdownDuration?: number; + /** + * Role of the asset in relation to creative. Applicable to all but the + * following creative types: all REDIRECT and TRACKING_TEXT. This is a + * required field. PRIMARY applies to DISPLAY, FLASH_INPAGE, HTML5_BANNER, + * IMAGE, DISPLAY_IMAGE_GALLERY, all RICH_MEDIA (which may contain multiple + * primary assets), and all VPAID creatives. BACKUP_IMAGE applies to + * FLASH_INPAGE, HTML5_BANNER, all RICH_MEDIA, and all VPAID creatives. + * Applicable to DISPLAY when the primary asset type is not HTML_IMAGE. + * ADDITIONAL_IMAGE and ADDITIONAL_FLASH apply to FLASH_INPAGE creatives. + * OTHER refers to assets from sources other than Campaign Manager, such as + * Studio uploaded assets, applicable to all RICH_MEDIA and all VPAID + * creatives. PARENT_VIDEO refers to videos uploaded by the user in Campaign + * Manager and is applicable to INSTREAM_VIDEO and VPAID_LINEAR_VIDEO + * creatives. TRANSCODED_VIDEO refers to videos transcoded by Campaign + * Manager from PARENT_VIDEO assets and is applicable to INSTREAM_VIDEO and + * VPAID_LINEAR_VIDEO creatives. ALTERNATE_VIDEO refers to the Campaign + * Manager representation of child asset videos from Studio, and is + * applicable to VPAID_LINEAR_VIDEO creatives. These cannot be added or + * removed within Campaign Manager. For VPAID_LINEAR_VIDEO creatives, + * PARENT_VIDEO, TRANSCODED_VIDEO and ALTERNATE_VIDEO assets that are marked + * active serve as backup in case the VPAID creative cannot be served. Only + * PARENT_VIDEO assets can be added or removed for an INSTREAM_VIDEO or + * VPAID_LINEAR_VIDEO creative. + */ + role?: string; + /** + * Size associated with this creative asset. This is a required field when + * applicable; however for IMAGE and FLASH_INPAGE, creatives if left blank, + * this field will be automatically set using the actual size of the + * associated image asset. Applicable to the following creative types: + * DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER, IMAGE, and all + * RICH_MEDIA. Applicable to DISPLAY when the primary asset type is not + * HTML_IMAGE. + */ + size?: Schema$Size; + /** + * Whether the asset is SSL-compliant. This is a read-only field. Applicable + * to all but the following creative types: all REDIRECT and TRACKING_TEXT. + */ + sslCompliant?: boolean; + /** + * Initial wait time type before making the asset visible. Applicable to the + * following creative types: all RICH_MEDIA. + */ + startTimeType?: string; + /** + * Streaming URL for video asset. This is a read-only field. Applicable to + * the following creative types: INSTREAM_VIDEO and all VPAID. + */ + streamingServingUrl?: string; + /** + * Whether the asset is transparent. Applicable to the following creative + * types: all RICH_MEDIA. Additionally, only applicable to HTML5 assets. + */ + transparency?: boolean; + /** + * Whether the asset is vertically locked. This is a read-only field. + * Applicable to the following creative types: all RICH_MEDIA. + */ + verticallyLocked?: boolean; + /** + * Detected video duration for video asset. This is a read-only field. + * Applicable to the following creative types: INSTREAM_VIDEO and all VPAID. + */ + videoDuration?: number; + /** + * Window mode options for flash assets. Applicable to the following + * creative types: FLASH_INPAGE, RICH_MEDIA_DISPLAY_EXPANDING, + * RICH_MEDIA_IM_EXPAND, RICH_MEDIA_DISPLAY_BANNER, and + * RICH_MEDIA_INPAGE_FLOATING. + */ + windowMode?: string; + /** + * zIndex value of an asset. Applicable to the following creative types: all + * RICH_MEDIA.Additionally, only applicable to assets whose displayType is + * NOT one of the following types: ASSET_DISPLAY_TYPE_INPAGE or + * ASSET_DISPLAY_TYPE_OVERLAY. Acceptable values are -999999999 to + * 999999999, inclusive. + */ + zIndex?: number; + /** + * File name of zip file. This is a read-only field. Applicable to the + * following creative types: HTML5_BANNER. + */ + zipFilename?: string; + /** + * Size of zip file. This is a read-only field. Applicable to the following + * creative types: HTML5_BANNER. + */ + zipFilesize?: string; + } + /** + * Creative Asset ID. + */ + interface Schema$CreativeAssetId { + /** + * Name of the creative asset. This is a required field while inserting an + * asset. After insertion, this assetIdentifier is used to identify the + * uploaded asset. Characters in the name must be alphanumeric or one of the + * following: ".-_ ". Spaces are allowed. + */ + name?: string; + /** + * Type of asset to upload. This is a required field. FLASH and IMAGE are no + * longer supported for new uploads. All image assets should use HTML_IMAGE. + */ + type?: string; + } + /** + * CreativeAssets contains properties of a creative asset file which will be + * uploaded or has already been uploaded. Refer to the creative sample code + * for how to upload assets and insert a creative. + */ + interface Schema$CreativeAssetMetadata { + /** + * ID of the creative asset. This is a required field. + */ + assetIdentifier?: Schema$CreativeAssetId; + /** + * List of detected click tags for assets. This is a read-only + * auto-generated field. + */ + clickTags?: Schema$ClickTag[]; + /** + * List of feature dependencies for the creative asset that are detected by + * Campaign Manager. Feature dependencies are features that a browser must + * be able to support in order to render your HTML5 creative correctly. This + * is a read-only, auto-generated field. + */ + detectedFeatures?: string[]; + /** + * Numeric ID of the asset. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Dimension value for the numeric ID of the asset. This is a read-only, + * auto-generated field. + */ + idDimensionValue?: Schema$DimensionValue; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#creativeAssetMetadata". + */ + kind?: string; + /** + * Rules validated during code generation that generated a warning. This is + * a read-only, auto-generated field. Possible values are: - + * "ADMOB_REFERENCED" - "ASSET_FORMAT_UNSUPPORTED_DCM" - + * "ASSET_INVALID" - "CLICK_TAG_HARD_CODED" - + * "CLICK_TAG_INVALID" - "CLICK_TAG_IN_GWD" - + * "CLICK_TAG_MISSING" - "CLICK_TAG_MORE_THAN_ONE" - + * "CLICK_TAG_NON_TOP_LEVEL" - + * "COMPONENT_UNSUPPORTED_DCM" - + * "ENABLER_UNSUPPORTED_METHOD_DCM" - + * "EXTERNAL_FILE_REFERENCED" - "FILE_DETAIL_EMPTY" - + * "FILE_TYPE_INVALID" - "GWD_PROPERTIES_INVALID" - + * "HTML5_FEATURE_UNSUPPORTED" - "LINKED_FILE_NOT_FOUND" + * - "MAX_FLASH_VERSION_11" - "MRAID_REFERENCED" - + * "NOT_SSL_COMPLIANT" - "ORPHANED_ASSET" - + * "PRIMARY_HTML_MISSING" - "SVG_INVALID" - + * "ZIP_INVALID" + */ + warnedValidationRules?: string[]; + } + /** + * Encapsulates the list of rules for asset selection and a default asset in + * case none of the rules match. Applicable to INSTREAM_VIDEO creatives. + */ + interface Schema$CreativeAssetSelection { + /** + * A creativeAssets[].id. This should refer to one of the parent assets in + * this creative, and will be served if none of the rules match. This is a + * required field. + */ + defaultAssetId?: string; + /** + * Rules determine which asset will be served to a viewer. Rules will be + * evaluated in the order in which they are stored in this list. This list + * must contain at least one rule. Applicable to INSTREAM_VIDEO creatives. + */ + rules?: Schema$Rule[]; + } + /** + * Creative Assignment. + */ + interface Schema$CreativeAssignment { + /** + * Whether this creative assignment is active. When true, the creative will + * be included in the ad's rotation. + */ + active?: boolean; + /** + * Whether applicable event tags should fire when this creative assignment + * is rendered. If this value is unset when the ad is inserted or updated, + * it will default to true for all creative types EXCEPT for + * INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and INSTREAM_VIDEO. + */ + applyEventTags?: boolean; + /** + * Click-through URL of the creative assignment. + */ + clickThroughUrl?: Schema$ClickThroughUrl; + /** + * Companion creative overrides for this creative assignment. Applicable to + * video ads. + */ + companionCreativeOverrides?: Schema$CompanionClickThroughOverride[]; + /** + * Creative group assignments for this creative assignment. Only one + * assignment per creative group number is allowed for a maximum of two + * assignments. + */ + creativeGroupAssignments?: Schema$CreativeGroupAssignment[]; + /** + * ID of the creative to be assigned. This is a required field. + */ + creativeId?: string; + /** + * Dimension value for the ID of the creative. This is a read-only, + * auto-generated field. + */ + creativeIdDimensionValue?: Schema$DimensionValue; + /** + * Date and time that the assigned creative should stop serving. Must be + * later than the start time. + */ + endTime?: string; + /** + * Rich media exit overrides for this creative assignment. Applicable when + * the creative type is any of the following: - DISPLAY - RICH_MEDIA_INPAGE + * - RICH_MEDIA_INPAGE_FLOATING - RICH_MEDIA_IM_EXPAND - + * RICH_MEDIA_EXPANDING - RICH_MEDIA_INTERSTITIAL_FLOAT - + * RICH_MEDIA_MOBILE_IN_APP - RICH_MEDIA_MULTI_FLOATING - + * RICH_MEDIA_PEEL_DOWN - VPAID_LINEAR - VPAID_NON_LINEAR + */ + richMediaExitOverrides?: Schema$RichMediaExitOverride[]; + /** + * Sequence number of the creative assignment, applicable when the rotation + * type is CREATIVE_ROTATION_TYPE_SEQUENTIAL. Acceptable values are 1 to + * 65535, inclusive. + */ + sequence?: number; + /** + * Whether the creative to be assigned is SSL-compliant. This is a read-only + * field that is auto-generated when the ad is inserted or updated. + */ + sslCompliant?: boolean; + /** + * Date and time that the assigned creative should start serving. + */ + startTime?: string; + /** + * Weight of the creative assignment, applicable when the rotation type is + * CREATIVE_ROTATION_TYPE_RANDOM. Value must be greater than or equal to 1. + */ + weight?: number; + } + /** + * Click-through URL + */ + interface Schema$CreativeClickThroughUrl { + /** + * Read-only convenience field representing the actual URL that will be used + * for this click-through. The URL is computed as follows: - If + * landingPageId is specified then that landing page's URL is assigned + * to this field. - Otherwise, the customClickThroughUrl is assigned to this + * field. + */ + computedClickThroughUrl?: string; + /** + * Custom click-through URL. Applicable if the landingPageId field is left + * unset. + */ + customClickThroughUrl?: string; + /** + * ID of the landing page for the click-through URL. + */ + landingPageId?: string; + } + /** + * Creative Custom Event. + */ + interface Schema$CreativeCustomEvent { + /** + * Unique ID of this event used by Reporting and Data Transfer. This is a + * read-only field. + */ + advertiserCustomEventId?: string; + /** + * User-entered name for the event. + */ + advertiserCustomEventName?: string; + /** + * Type of the event. This is a read-only field. + */ + advertiserCustomEventType?: string; + /** + * Artwork label column, used to link events in Campaign Manager back to + * events in Studio. This is a required field and should not be modified + * after insertion. + */ + artworkLabel?: string; + /** + * Artwork type used by the creative.This is a read-only field. + */ + artworkType?: string; + /** + * Exit click-through URL for the event. This field is used only for exit + * events. + */ + exitClickThroughUrl?: Schema$CreativeClickThroughUrl; + /** + * ID of this event. This is a required field and should not be modified + * after insertion. + */ + id?: string; + /** + * Properties for rich media popup windows. This field is used only for exit + * events. + */ + popupWindowProperties?: Schema$PopupWindowProperties; + /** + * Target type used by the event. + */ + targetType?: string; + /** + * Video reporting ID, used to differentiate multiple videos in a single + * creative. This is a read-only field. + */ + videoReportingId?: string; + } + /** + * Contains properties of a creative field. + */ + interface Schema$CreativeField { + /** + * Account ID of this creative field. This is a read-only field that can be + * left blank. + */ + accountId?: string; + /** + * Advertiser ID of this creative field. This is a required field on + * insertion. + */ + advertiserId?: string; + /** + * Dimension value for the ID of the advertiser. This is a read-only, + * auto-generated field. + */ + advertiserIdDimensionValue?: Schema$DimensionValue; + /** + * ID of this creative field. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#creativeField". + */ + kind?: string; + /** + * Name of this creative field. This is a required field and must be less + * than 256 characters long and unique among creative fields of the same + * advertiser. + */ + name?: string; + /** + * Subaccount ID of this creative field. This is a read-only field that can + * be left blank. + */ + subaccountId?: string; + } + /** + * Creative Field Assignment. + */ + interface Schema$CreativeFieldAssignment { + /** + * ID of the creative field. + */ + creativeFieldId?: string; + /** + * ID of the creative field value. + */ + creativeFieldValueId?: string; + } + /** + * Creative Field List Response + */ + interface Schema$CreativeFieldsListResponse { + /** + * Creative field collection. + */ + creativeFields?: Schema$CreativeField[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#creativeFieldsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Contains properties of a creative field value. + */ + interface Schema$CreativeFieldValue { + /** + * ID of this creative field value. This is a read-only, auto-generated + * field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#creativeFieldValue". + */ + kind?: string; + /** + * Value of this creative field value. It needs to be less than 256 + * characters in length and unique per creative field. + */ + value?: string; + } + /** + * Creative Field Value List Response + */ + interface Schema$CreativeFieldValuesListResponse { + /** + * Creative field value collection. + */ + creativeFieldValues?: Schema$CreativeFieldValue[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#creativeFieldValuesListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Contains properties of a creative group. + */ + interface Schema$CreativeGroup { + /** + * Account ID of this creative group. This is a read-only field that can be + * left blank. + */ + accountId?: string; + /** + * Advertiser ID of this creative group. This is a required field on + * insertion. + */ + advertiserId?: string; + /** + * Dimension value for the ID of the advertiser. This is a read-only, + * auto-generated field. + */ + advertiserIdDimensionValue?: Schema$DimensionValue; + /** + * Subgroup of the creative group. Assign your creative groups to a subgroup + * in order to filter or manage them more easily. This field is required on + * insertion and is read-only after insertion. Acceptable values are 1 to 2, + * inclusive. + */ + groupNumber?: number; + /** + * ID of this creative group. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#creativeGroup". + */ + kind?: string; + /** + * Name of this creative group. This is a required field and must be less + * than 256 characters long and unique among creative groups of the same + * advertiser. + */ + name?: string; + /** + * Subaccount ID of this creative group. This is a read-only field that can + * be left blank. + */ + subaccountId?: string; + } + /** + * Creative Group Assignment. + */ + interface Schema$CreativeGroupAssignment { + /** + * ID of the creative group to be assigned. + */ + creativeGroupId?: string; + /** + * Creative group number of the creative group assignment. + */ + creativeGroupNumber?: string; + } + /** + * Creative Group List Response + */ + interface Schema$CreativeGroupsListResponse { + /** + * Creative group collection. + */ + creativeGroups?: Schema$CreativeGroup[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#creativeGroupsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Creative optimization settings. + */ + interface Schema$CreativeOptimizationConfiguration { + /** + * ID of this creative optimization config. This field is auto-generated + * when the campaign is inserted or updated. It can be null for existing + * campaigns. + */ + id?: string; + /** + * Name of this creative optimization config. This is a required field and + * must be less than 129 characters long. + */ + name?: string; + /** + * List of optimization activities associated with this configuration. + */ + optimizationActivitys?: Schema$OptimizationActivity[]; + /** + * Optimization model for this configuration. + */ + optimizationModel?: string; + } + /** + * Creative Rotation. + */ + interface Schema$CreativeRotation { + /** + * Creative assignments in this creative rotation. + */ + creativeAssignments?: Schema$CreativeAssignment[]; + /** + * Creative optimization configuration that is used by this ad. It should + * refer to one of the existing optimization configurations in the ad's + * campaign. If it is unset or set to 0, then the campaign's default + * optimization configuration will be used for this ad. + */ + creativeOptimizationConfigurationId?: string; + /** + * Type of creative rotation. Can be used to specify whether to use + * sequential or random rotation. + */ + type?: string; + /** + * Strategy for calculating weights. Used with + * CREATIVE_ROTATION_TYPE_RANDOM. + */ + weightCalculationStrategy?: string; + } + /** + * Creative Settings + */ + interface Schema$CreativeSettings { + /** + * Header text for iFrames for this site. Must be less than or equal to 2000 + * characters long. + */ + iFrameFooter?: string; + /** + * Header text for iFrames for this site. Must be less than or equal to 2000 + * characters long. + */ + iFrameHeader?: string; + } + /** + * Creative List Response + */ + interface Schema$CreativesListResponse { + /** + * Creative collection. + */ + creatives?: Schema$Creative[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#creativesListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Represents fields that are compatible to be selected for a report of type + * "CROSS_DIMENSION_REACH". + */ + interface Schema$CrossDimensionReachReportCompatibleFields { + /** + * Dimensions which are compatible to be selected in the + * "breakdown" section of the report. + */ + breakdown?: Schema$Dimension[]; + /** + * Dimensions which are compatible to be selected in the + * "dimensionFilters" section of the report. + */ + dimensionFilters?: Schema$Dimension[]; + /** + * The kind of resource this is, in this case + * dfareporting#crossDimensionReachReportCompatibleFields. + */ + kind?: string; + /** + * Metrics which are compatible to be selected in the + * "metricNames" section of the report. + */ + metrics?: Schema$Metric[]; + /** + * Metrics which are compatible to be selected in the + * "overlapMetricNames" section of the report. + */ + overlapMetrics?: Schema$Metric[]; + } + /** + * A custom floodlight variable. + */ + interface Schema$CustomFloodlightVariable { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#customFloodlightVariable". + */ + kind?: string; + /** + * The type of custom floodlight variable to supply a value for. These map + * to the "u[1-20]=" in the tags. + */ + type?: string; + /** + * The value of the custom floodlight variable. The length of string must + * not exceed 50 characters. + */ + value?: string; + } + /** + * Represents a Custom Rich Media Events group. + */ + interface Schema$CustomRichMediaEvents { + /** + * List of custom rich media event IDs. Dimension values must be all of type + * dfa:richMediaEventTypeIdAndName. + */ + filteredEventIds?: Schema$DimensionValue[]; + /** + * The kind of resource this is, in this case + * dfareporting#customRichMediaEvents. + */ + kind?: string; + } + /** + * Represents a date range. + */ + interface Schema$DateRange { + /** + * The end date of the date range, inclusive. A string of the format: + * "yyyy-MM-dd". + */ + endDate?: string; + /** + * The kind of resource this is, in this case dfareporting#dateRange. + */ + kind?: string; + /** + * The date range relative to the date of when the report is run. + */ + relativeDateRange?: string; + /** + * The start date of the date range, inclusive. A string of the format: + * "yyyy-MM-dd". + */ + startDate?: string; + } + /** + * Day Part Targeting. + */ + interface Schema$DayPartTargeting { + /** + * Days of the week when the ad will serve. Acceptable values are: - + * "SUNDAY" - "MONDAY" - "TUESDAY" - + * "WEDNESDAY" - "THURSDAY" - "FRIDAY" - + * "SATURDAY" + */ + daysOfWeek?: string[]; + /** + * Hours of the day when the ad will serve, where 0 is midnight to 1 AM and + * 23 is 11 PM to midnight. Can be specified with days of week, in which + * case the ad would serve during these hours on the specified days. For + * example if Monday, Wednesday, Friday are the days of week specified and + * 9-10am, 3-5pm (hours 9, 15, and 16) is specified, the ad would serve + * Monday, Wednesdays, and Fridays at 9-10am and 3-5pm. Acceptable values + * are 0 to 23, inclusive. + */ + hoursOfDay?: number[]; + /** + * Whether or not to use the user's local time. If false, the + * America/New York time zone applies. + */ + userLocalTime?: boolean; + } + /** + * Properties of inheriting and overriding the default click-through event + * tag. A campaign may override the event tag defined at the advertiser level, + * and an ad may also override the campaign's setting further. + */ + interface Schema$DefaultClickThroughEventTagProperties { + /** + * ID of the click-through event tag to apply to all ads in this + * entity's scope. + */ + defaultClickThroughEventTagId?: string; + /** + * Whether this entity should override the inherited default click-through + * event tag with its own defined value. + */ + overrideInheritedEventTag?: boolean; + } + /** + * Delivery Schedule. + */ + interface Schema$DeliverySchedule { + /** + * Limit on the number of times an individual user can be served the ad + * within a specified period of time. + */ + frequencyCap?: Schema$FrequencyCap; + /** + * Whether or not hard cutoff is enabled. If true, the ad will not serve + * after the end date and time. Otherwise the ad will continue to be served + * until it has reached its delivery goals. + */ + hardCutoff?: boolean; + /** + * Impression ratio for this ad. This ratio determines how often each ad is + * served relative to the others. For example, if ad A has an impression + * ratio of 1 and ad B has an impression ratio of 3, then Campaign Manager + * will serve ad B three times as often as ad A. Acceptable values are 1 to + * 10, inclusive. + */ + impressionRatio?: string; + /** + * Serving priority of an ad, with respect to other ads. The lower the + * priority number, the greater the priority with which it is served. + */ + priority?: string; + } + /** + * Google Ad Manager Settings + */ + interface Schema$DfpSettings { + /** + * Ad Manager network code for this directory site. + */ + dfpNetworkCode?: string; + /** + * Ad Manager network name for this directory site. + */ + dfpNetworkName?: string; + /** + * Whether this directory site accepts programmatic placements. + */ + programmaticPlacementAccepted?: boolean; + /** + * Whether this directory site is available only via Publisher Portal. + */ + publisherPortalOnly?: boolean; + /** + * Whether this directory site accepts publisher-paid tags. + */ + pubPaidPlacementAccepted?: boolean; + } + /** + * Represents a dimension. + */ + interface Schema$Dimension { + /** + * The kind of resource this is, in this case dfareporting#dimension. + */ + kind?: string; + /** + * The dimension name, e.g. dfa:advertiser + */ + name?: string; + } + /** + * Represents a dimension filter. + */ + interface Schema$DimensionFilter { + /** + * The name of the dimension to filter. + */ + dimensionName?: string; + /** + * The kind of resource this is, in this case dfareporting#dimensionFilter. + */ + kind?: string; + /** + * The value of the dimension to filter. + */ + value?: string; + } + /** + * Represents a DimensionValue resource. + */ + interface Schema$DimensionValue { + /** + * The name of the dimension. + */ + dimensionName?: string; + /** + * The eTag of this response for caching purposes. + */ + etag?: string; + /** + * The ID associated with the value if available. + */ + id?: string; + /** + * The kind of resource this is, in this case dfareporting#dimensionValue. + */ + kind?: string; + /** + * Determines how the 'value' field is matched when filtering. If + * not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, + * '*' is allowed as a placeholder for variable length character + * sequences, and it can be escaped with a backslash. Note, only paid search + * dimensions ('dfa:paidSearch*') allow a matchType other than + * EXACT. + */ + matchType?: string; + /** + * The value of the dimension. + */ + value?: string; + } + /** + * Represents the list of DimensionValue resources. + */ + interface Schema$DimensionValueList { + /** + * The eTag of this response for caching purposes. + */ + etag?: string; + /** + * The dimension values returned in this response. + */ + items?: Schema$DimensionValue[]; + /** + * The kind of list this is, in this case dfareporting#dimensionValueList. + */ + kind?: string; + /** + * Continuation token used to page through dimension values. To retrieve the + * next page of results, set the next request's "pageToken" to + * the value of this field. The page token is only valid for a limited + * amount of time and should not be persisted. + */ + nextPageToken?: string; + } + /** + * Represents a DimensionValuesRequest. + */ + interface Schema$DimensionValueRequest { + /** + * The name of the dimension for which values should be requested. + */ + dimensionName?: string; + /** + * The end date of the date range for which to retrieve dimension values. A + * string of the format "yyyy-MM-dd". + */ + endDate?: string; + /** + * The list of filters by which to filter values. The filters are ANDed. + */ + filters?: Schema$DimensionFilter[]; + /** + * The kind of request this is, in this case + * dfareporting#dimensionValueRequest. + */ + kind?: string; + /** + * The start date of the date range for which to retrieve dimension values. + * A string of the format "yyyy-MM-dd". + */ + startDate?: string; + } + /** + * DirectorySites contains properties of a website from the Site Directory. + * Sites need to be added to an account via the Sites resource before they can + * be assigned to a placement. + */ + interface Schema$DirectorySite { + /** + * Whether this directory site is active. + */ + active?: boolean; + /** + * Directory site contacts. + */ + contactAssignments?: Schema$DirectorySiteContactAssignment[]; + /** + * Country ID of this directory site. This is a read-only field. + */ + countryId?: string; + /** + * Currency ID of this directory site. This is a read-only field. Possible + * values are: - "1" for USD - "2" for GBP - + * "3" for ESP - "4" for SEK - "5" for CAD + * - "6" for JPY - "7" for DEM - "8" for AUD + * - "9" for FRF - "10" for ITL - "11" for + * DKK - "12" for NOK - "13" for FIM - "14" + * for ZAR - "15" for IEP - "16" for NLG - + * "17" for EUR - "18" for KRW - "19" for + * TWD - "20" for SGD - "21" for CNY - "22" + * for HKD - "23" for NZD - "24" for MYR - + * "25" for BRL - "26" for PTE - "27" for + * MXP - "28" for CLP - "29" for TRY - "30" + * for ARS - "31" for PEN - "32" for ILS - + * "33" for CHF - "34" for VEF - "35" for + * COP - "36" for GTQ - "37" for PLN - "39" + * for INR - "40" for THB - "41" for IDR - + * "42" for CZK - "43" for RON - "44" for + * HUF - "45" for RUB - "46" for AED - "47" + * for BGN - "48" for HRK - "49" for MXN - + * "50" for NGN + */ + currencyId?: string; + /** + * Description of this directory site. This is a read-only field. + */ + description?: string; + /** + * ID of this directory site. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Dimension value for the ID of this directory site. This is a read-only, + * auto-generated field. + */ + idDimensionValue?: Schema$DimensionValue; + /** + * Tag types for regular placements. Acceptable values are: - + * "STANDARD" - "IFRAME_JAVASCRIPT_INPAGE" - + * "INTERNAL_REDIRECT_INPAGE" - "JAVASCRIPT_INPAGE" + */ + inpageTagFormats?: string[]; + /** + * Tag types for interstitial placements. Acceptable values are: - + * "IFRAME_JAVASCRIPT_INTERSTITIAL" - + * "INTERNAL_REDIRECT_INTERSTITIAL" - + * "JAVASCRIPT_INTERSTITIAL" + */ + interstitialTagFormats?: string[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#directorySite". + */ + kind?: string; + /** + * Name of this directory site. + */ + name?: string; + /** + * Parent directory site ID. + */ + parentId?: string; + /** + * Directory site settings. + */ + settings?: Schema$DirectorySiteSettings; + /** + * URL of this directory site. + */ + url?: string; + } + /** + * Contains properties of a Site Directory contact. + */ + interface Schema$DirectorySiteContact { + /** + * Address of this directory site contact. + */ + address?: string; + /** + * Email address of this directory site contact. + */ + email?: string; + /** + * First name of this directory site contact. + */ + firstName?: string; + /** + * ID of this directory site contact. This is a read-only, auto-generated + * field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#directorySiteContact". + */ + kind?: string; + /** + * Last name of this directory site contact. + */ + lastName?: string; + /** + * Phone number of this directory site contact. + */ + phone?: string; + /** + * Directory site contact role. + */ + role?: string; + /** + * Title or designation of this directory site contact. + */ + title?: string; + /** + * Directory site contact type. + */ + type?: string; + } + /** + * Directory Site Contact Assignment + */ + interface Schema$DirectorySiteContactAssignment { + /** + * ID of this directory site contact. This is a read-only, auto-generated + * field. + */ + contactId?: string; + /** + * Visibility of this directory site contact assignment. When set to PUBLIC + * this contact assignment is visible to all account and agency users; when + * set to PRIVATE it is visible only to the site. + */ + visibility?: string; + } + /** + * Directory Site Contact List Response + */ + interface Schema$DirectorySiteContactsListResponse { + /** + * Directory site contact collection + */ + directorySiteContacts?: Schema$DirectorySiteContact[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#directorySiteContactsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Directory Site Settings + */ + interface Schema$DirectorySiteSettings { + /** + * Whether this directory site has disabled active view creatives. + */ + activeViewOptOut?: boolean; + /** + * Directory site Ad Manager settings. + */ + dfpSettings?: Schema$DfpSettings; + /** + * Whether this site accepts in-stream video ads. + */ + instreamVideoPlacementAccepted?: boolean; + /** + * Whether this site accepts interstitial ads. + */ + interstitialPlacementAccepted?: boolean; + /** + * Whether this directory site has disabled Nielsen OCR reach ratings. + */ + nielsenOcrOptOut?: boolean; + /** + * Whether this directory site has disabled generation of Verification ins + * tags. + */ + verificationTagOptOut?: boolean; + /** + * Whether this directory site has disabled active view for in-stream video + * creatives. This is a read-only field. + */ + videoActiveViewOptOut?: boolean; + } + /** + * Directory Site List Response + */ + interface Schema$DirectorySitesListResponse { + /** + * Directory site collection. + */ + directorySites?: Schema$DirectorySite[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#directorySitesListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Contains properties of a dynamic targeting key. Dynamic targeting keys are + * unique, user-friendly labels, created at the advertiser level in DCM, that + * can be assigned to ads, creatives, and placements and used for targeting + * with Studio dynamic creatives. Use these labels instead of numeric Campaign + * Manager IDs (such as placement IDs) to save time and avoid errors in your + * dynamic feeds. + */ + interface Schema$DynamicTargetingKey { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#dynamicTargetingKey". + */ + kind?: string; + /** + * Name of this dynamic targeting key. This is a required field. Must be + * less than 256 characters long and cannot contain commas. All characters + * are converted to lowercase. + */ + name?: string; + /** + * ID of the object of this dynamic targeting key. This is a required field. + */ + objectId?: string; + /** + * Type of the object of this dynamic targeting key. This is a required + * field. + */ + objectType?: string; + } + /** + * Dynamic Targeting Key List Response + */ + interface Schema$DynamicTargetingKeysListResponse { + /** + * Dynamic targeting key collection. + */ + dynamicTargetingKeys?: Schema$DynamicTargetingKey[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#dynamicTargetingKeysListResponse". + */ + kind?: string; + } + /** + * A description of how user IDs are encrypted. + */ + interface Schema$EncryptionInfo { + /** + * The encryption entity ID. This should match the encryption configuration + * for ad serving or Data Transfer. + */ + encryptionEntityId?: string; + /** + * The encryption entity type. This should match the encryption + * configuration for ad serving or Data Transfer. + */ + encryptionEntityType?: string; + /** + * Describes whether the encrypted cookie was received from ad serving (the + * %m macro) or from Data Transfer. + */ + encryptionSource?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#encryptionInfo". + */ + kind?: string; + } + /** + * Contains properties of an event tag. + */ + interface Schema$EventTag { + /** + * Account ID of this event tag. This is a read-only field that can be left + * blank. + */ + accountId?: string; + /** + * Advertiser ID of this event tag. This field or the campaignId field is + * required on insertion. + */ + advertiserId?: string; + /** + * Dimension value for the ID of the advertiser. This is a read-only, + * auto-generated field. + */ + advertiserIdDimensionValue?: Schema$DimensionValue; + /** + * Campaign ID of this event tag. This field or the advertiserId field is + * required on insertion. + */ + campaignId?: string; + /** + * Dimension value for the ID of the campaign. This is a read-only, + * auto-generated field. + */ + campaignIdDimensionValue?: Schema$DimensionValue; + /** + * Whether this event tag should be automatically enabled for all of the + * advertiser's campaigns and ads. + */ + enabledByDefault?: boolean; + /** + * Whether to remove this event tag from ads that are trafficked through + * Display & Video 360 to Ad Exchange. This may be useful if the event + * tag uses a pixel that is unapproved for Ad Exchange bids on one or more + * networks, such as the Google Display Network. + */ + excludeFromAdxRequests?: boolean; + /** + * ID of this event tag. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#eventTag". + */ + kind?: string; + /** + * Name of this event tag. This is a required field and must be less than + * 256 characters long. + */ + name?: string; + /** + * Site filter type for this event tag. If no type is specified then the + * event tag will be applied to all sites. + */ + siteFilterType?: string; + /** + * Filter list of site IDs associated with this event tag. The + * siteFilterType determines whether this is a whitelist or blacklist + * filter. + */ + siteIds?: string[]; + /** + * Whether this tag is SSL-compliant or not. This is a read-only field. + */ + sslCompliant?: boolean; + /** + * Status of this event tag. Must be ENABLED for this event tag to fire. + * This is a required field. + */ + status?: string; + /** + * Subaccount ID of this event tag. This is a read-only field that can be + * left blank. + */ + subaccountId?: string; + /** + * Event tag type. Can be used to specify whether to use a third-party + * pixel, a third-party JavaScript URL, or a third-party click-through URL + * for either impression or click tracking. This is a required field. + */ + type?: string; + /** + * Payload URL for this event tag. The URL on a click-through event tag + * should have a landing page URL appended to the end of it. This field is + * required on insertion. + */ + url?: string; + /** + * Number of times the landing page URL should be URL-escaped before being + * appended to the click-through event tag URL. Only applies to + * click-through event tags as specified by the event tag type. + */ + urlEscapeLevels?: number; + } + /** + * Event tag override information. + */ + interface Schema$EventTagOverride { + /** + * Whether this override is enabled. + */ + enabled?: boolean; + /** + * ID of this event tag override. This is a read-only, auto-generated field. + */ + id?: string; + } + /** + * Event Tag List Response + */ + interface Schema$EventTagsListResponse { + /** + * Event tag collection. + */ + eventTags?: Schema$EventTag[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#eventTagsListResponse". + */ + kind?: string; + } + /** + * Represents a File resource. A file contains the metadata for a report run. + * It shows the status of the run and holds the URLs to the generated report + * data if the run is finished and the status is "REPORT_AVAILABLE". + */ + interface Schema$File { + /** + * The date range for which the file has report data. The date range will + * always be the absolute date range for which the report is run. + */ + dateRange?: Schema$DateRange; + /** + * The eTag of this response for caching purposes. + */ + etag?: string; + /** + * The filename of the file. + */ + fileName?: string; + /** + * The output format of the report. Only available once the file is + * available. + */ + format?: string; + /** + * The unique ID of this report file. + */ + id?: string; + /** + * The kind of resource this is, in this case dfareporting#file. + */ + kind?: string; + /** + * The timestamp in milliseconds since epoch when this file was last + * modified. + */ + lastModifiedTime?: string; + /** + * The ID of the report this file was generated from. + */ + reportId?: string; + /** + * The status of the report file. + */ + status?: string; + /** + * The URLs where the completed report file can be downloaded. + */ + urls?: any; + } + /** + * Represents the list of File resources. + */ + interface Schema$FileList { + /** + * The eTag of this response for caching purposes. + */ + etag?: string; + /** + * The files returned in this response. + */ + items?: Schema$File[]; + /** + * The kind of list this is, in this case dfareporting#fileList. + */ + kind?: string; + /** + * Continuation token used to page through files. To retrieve the next page + * of results, set the next request's "pageToken" to the value + * of this field. The page token is only valid for a limited amount of time + * and should not be persisted. + */ + nextPageToken?: string; + } + /** + * Flight + */ + interface Schema$Flight { + /** + * Inventory item flight end date. + */ + endDate?: string; + /** + * Rate or cost of this flight. + */ + rateOrCost?: string; + /** + * Inventory item flight start date. + */ + startDate?: string; + /** + * Units of this flight. + */ + units?: string; + } + /** + * Floodlight Activity GenerateTag Response + */ + interface Schema$FloodlightActivitiesGenerateTagResponse { + /** + * Generated tag for this Floodlight activity. For global site tags, this is + * the event snippet. + */ + floodlightActivityTag?: string; + /** + * The global snippet section of a global site tag. The global site tag sets + * new cookies on your domain, which will store a unique identifier for a + * user or the ad click that brought the user to your site. Learn more. + */ + globalSiteTagGlobalSnippet?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#floodlightActivitiesGenerateTagResponse". + */ + kind?: string; + } + /** + * Floodlight Activity List Response + */ + interface Schema$FloodlightActivitiesListResponse { + /** + * Floodlight activity collection. + */ + floodlightActivities?: Schema$FloodlightActivity[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#floodlightActivitiesListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Contains properties of a Floodlight activity. + */ + interface Schema$FloodlightActivity { + /** + * Account ID of this floodlight activity. This is a read-only field that + * can be left blank. + */ + accountId?: string; + /** + * Advertiser ID of this floodlight activity. If this field is left blank, + * the value will be copied over either from the activity group's + * advertiser or the existing activity's advertiser. + */ + advertiserId?: string; + /** + * Dimension value for the ID of the advertiser. This is a read-only, + * auto-generated field. + */ + advertiserIdDimensionValue?: Schema$DimensionValue; + /** + * Code type used for cache busting in the generated tag. Applicable only + * when floodlightActivityGroupType is COUNTER and countingMethod is + * STANDARD_COUNTING or UNIQUE_COUNTING. + */ + cacheBustingType?: string; + /** + * Counting method for conversions for this floodlight activity. This is a + * required field. + */ + countingMethod?: string; + /** + * Dynamic floodlight tags. + */ + defaultTags?: Schema$FloodlightActivityDynamicTag[]; + /** + * URL where this tag will be deployed. If specified, must be less than 256 + * characters long. + */ + expectedUrl?: string; + /** + * Floodlight activity group ID of this floodlight activity. This is a + * required field. + */ + floodlightActivityGroupId?: string; + /** + * Name of the associated floodlight activity group. This is a read-only + * field. + */ + floodlightActivityGroupName?: string; + /** + * Tag string of the associated floodlight activity group. This is a + * read-only field. + */ + floodlightActivityGroupTagString?: string; + /** + * Type of the associated floodlight activity group. This is a read-only + * field. + */ + floodlightActivityGroupType?: string; + /** + * Floodlight configuration ID of this floodlight activity. If this field is + * left blank, the value will be copied over either from the activity + * group's floodlight configuration or from the existing activity's + * floodlight configuration. + */ + floodlightConfigurationId?: string; + /** + * Dimension value for the ID of the floodlight configuration. This is a + * read-only, auto-generated field. + */ + floodlightConfigurationIdDimensionValue?: Schema$DimensionValue; + /** + * The type of Floodlight tag this activity will generate. This is a + * required field. + */ + floodlightTagType?: string; + /** + * Whether this activity is archived. + */ + hidden?: boolean; + /** + * ID of this floodlight activity. This is a read-only, auto-generated + * field. + */ + id?: string; + /** + * Dimension value for the ID of this floodlight activity. This is a + * read-only, auto-generated field. + */ + idDimensionValue?: Schema$DimensionValue; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#floodlightActivity". + */ + kind?: string; + /** + * Name of this floodlight activity. This is a required field. Must be less + * than 129 characters long and cannot contain quotes. + */ + name?: string; + /** + * General notes or implementation instructions for the tag. + */ + notes?: string; + /** + * Publisher dynamic floodlight tags. + */ + publisherTags?: Schema$FloodlightActivityPublisherDynamicTag[]; + /** + * Whether this tag should use SSL. + */ + secure?: boolean; + /** + * Whether the floodlight activity is SSL-compliant. This is a read-only + * field, its value detected by the system from the floodlight tags. + */ + sslCompliant?: boolean; + /** + * Whether this floodlight activity must be SSL-compliant. + */ + sslRequired?: boolean; + /** + * Subaccount ID of this floodlight activity. This is a read-only field that + * can be left blank. + */ + subaccountId?: string; + /** + * Tag format type for the floodlight activity. If left blank, the tag + * format will default to HTML. + */ + tagFormat?: string; + /** + * Value of the cat= parameter in the floodlight tag, which the ad servers + * use to identify the activity. This is optional: if empty, a new tag + * string will be generated for you. This string must be 1 to 8 characters + * long, with valid characters being [a-z][A-Z][0-9][-][ _ ]. This tag + * string must also be unique among activities of the same activity group. + * This field is read-only after insertion. + */ + tagString?: string; + /** + * List of the user-defined variables used by this conversion tag. These map + * to the "u[1-100]=" in the tags. Each of these can have a user + * defined type. Acceptable values are U1 to U100, inclusive. + */ + userDefinedVariableTypes?: string[]; + } + /** + * Dynamic Tag + */ + interface Schema$FloodlightActivityDynamicTag { + /** + * ID of this dynamic tag. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Name of this tag. + */ + name?: string; + /** + * Tag code. + */ + tag?: string; + } + /** + * Contains properties of a Floodlight activity group. + */ + interface Schema$FloodlightActivityGroup { + /** + * Account ID of this floodlight activity group. This is a read-only field + * that can be left blank. + */ + accountId?: string; + /** + * Advertiser ID of this floodlight activity group. If this field is left + * blank, the value will be copied over either from the floodlight + * configuration's advertiser or from the existing activity group's + * advertiser. + */ + advertiserId?: string; + /** + * Dimension value for the ID of the advertiser. This is a read-only, + * auto-generated field. + */ + advertiserIdDimensionValue?: Schema$DimensionValue; + /** + * Floodlight configuration ID of this floodlight activity group. This is a + * required field. + */ + floodlightConfigurationId?: string; + /** + * Dimension value for the ID of the floodlight configuration. This is a + * read-only, auto-generated field. + */ + floodlightConfigurationIdDimensionValue?: Schema$DimensionValue; + /** + * ID of this floodlight activity group. This is a read-only, auto-generated + * field. + */ + id?: string; + /** + * Dimension value for the ID of this floodlight activity group. This is a + * read-only, auto-generated field. + */ + idDimensionValue?: Schema$DimensionValue; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#floodlightActivityGroup". + */ + kind?: string; + /** + * Name of this floodlight activity group. This is a required field. Must be + * less than 65 characters long and cannot contain quotes. + */ + name?: string; + /** + * Subaccount ID of this floodlight activity group. This is a read-only + * field that can be left blank. + */ + subaccountId?: string; + /** + * Value of the type= parameter in the floodlight tag, which the ad servers + * use to identify the activity group that the activity belongs to. This is + * optional: if empty, a new tag string will be generated for you. This + * string must be 1 to 8 characters long, with valid characters being + * [a-z][A-Z][0-9][-][ _ ]. This tag string must also be unique among + * activity groups of the same floodlight configuration. This field is + * read-only after insertion. + */ + tagString?: string; + /** + * Type of the floodlight activity group. This is a required field that is + * read-only after insertion. + */ + type?: string; + } + /** + * Floodlight Activity Group List Response + */ + interface Schema$FloodlightActivityGroupsListResponse { + /** + * Floodlight activity group collection. + */ + floodlightActivityGroups?: Schema$FloodlightActivityGroup[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#floodlightActivityGroupsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Publisher Dynamic Tag + */ + interface Schema$FloodlightActivityPublisherDynamicTag { + /** + * Whether this tag is applicable only for click-throughs. + */ + clickThrough?: boolean; + /** + * Directory site ID of this dynamic tag. This is a write-only field that + * can be used as an alternative to the siteId field. When this resource is + * retrieved, only the siteId field will be populated. + */ + directorySiteId?: string; + /** + * Dynamic floodlight tag. + */ + dynamicTag?: Schema$FloodlightActivityDynamicTag; + /** + * Site ID of this dynamic tag. + */ + siteId?: string; + /** + * Dimension value for the ID of the site. This is a read-only, + * auto-generated field. + */ + siteIdDimensionValue?: Schema$DimensionValue; + /** + * Whether this tag is applicable only for view-throughs. + */ + viewThrough?: boolean; + } + /** + * Contains properties of a Floodlight configuration. + */ + interface Schema$FloodlightConfiguration { + /** + * Account ID of this floodlight configuration. This is a read-only field + * that can be left blank. + */ + accountId?: string; + /** + * Advertiser ID of the parent advertiser of this floodlight configuration. + */ + advertiserId?: string; + /** + * Dimension value for the ID of the advertiser. This is a read-only, + * auto-generated field. + */ + advertiserIdDimensionValue?: Schema$DimensionValue; + /** + * Whether advertiser data is shared with Google Analytics. + */ + analyticsDataSharingEnabled?: boolean; + /** + * Whether the exposure-to-conversion report is enabled. This report shows + * detailed pathway information on up to 10 of the most recent ad exposures + * seen by a user before converting. + */ + exposureToConversionEnabled?: boolean; + /** + * Day that will be counted as the first day of the week in reports. This is + * a required field. + */ + firstDayOfWeek?: string; + /** + * ID of this floodlight configuration. This is a read-only, auto-generated + * field. + */ + id?: string; + /** + * Dimension value for the ID of this floodlight configuration. This is a + * read-only, auto-generated field. + */ + idDimensionValue?: Schema$DimensionValue; + /** + * Whether in-app attribution tracking is enabled. + */ + inAppAttributionTrackingEnabled?: boolean; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#floodlightConfiguration". + */ + kind?: string; + /** + * Lookback window settings for this floodlight configuration. + */ + lookbackConfiguration?: Schema$LookbackConfiguration; + /** + * Types of attribution options for natural search conversions. + */ + naturalSearchConversionAttributionOption?: string; + /** + * Settings for Campaign Manager Omniture integration. + */ + omnitureSettings?: Schema$OmnitureSettings; + /** + * Subaccount ID of this floodlight configuration. This is a read-only field + * that can be left blank. + */ + subaccountId?: string; + /** + * Configuration settings for dynamic and image floodlight tags. + */ + tagSettings?: Schema$TagSettings; + /** + * List of third-party authentication tokens enabled for this configuration. + */ + thirdPartyAuthenticationTokens?: Schema$ThirdPartyAuthenticationToken[]; + /** + * List of user defined variables enabled for this configuration. + */ + userDefinedVariableConfigurations?: Schema$UserDefinedVariableConfiguration[]; + } + /** + * Floodlight Configuration List Response + */ + interface Schema$FloodlightConfigurationsListResponse { + /** + * Floodlight configuration collection. + */ + floodlightConfigurations?: Schema$FloodlightConfiguration[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#floodlightConfigurationsListResponse". + */ + kind?: string; + } + /** + * Represents fields that are compatible to be selected for a report of type + * "FlOODLIGHT". + */ + interface Schema$FloodlightReportCompatibleFields { + /** + * Dimensions which are compatible to be selected in the + * "dimensionFilters" section of the report. + */ + dimensionFilters?: Schema$Dimension[]; + /** + * Dimensions which are compatible to be selected in the + * "dimensions" section of the report. + */ + dimensions?: Schema$Dimension[]; + /** + * The kind of resource this is, in this case + * dfareporting#floodlightReportCompatibleFields. + */ + kind?: string; + /** + * Metrics which are compatible to be selected in the + * "metricNames" section of the report. + */ + metrics?: Schema$Metric[]; + } + /** + * Frequency Cap. + */ + interface Schema$FrequencyCap { + /** + * Duration of time, in seconds, for this frequency cap. The maximum + * duration is 90 days. Acceptable values are 1 to 7776000, inclusive. + */ + duration?: string; + /** + * Number of times an individual user can be served the ad within the + * specified duration. Acceptable values are 1 to 15, inclusive. + */ + impressions?: string; + } + /** + * FsCommand. + */ + interface Schema$FsCommand { + /** + * Distance from the left of the browser.Applicable when positionOption is + * DISTANCE_FROM_TOP_LEFT_CORNER. + */ + left?: number; + /** + * Position in the browser where the window will open. + */ + positionOption?: string; + /** + * Distance from the top of the browser. Applicable when positionOption is + * DISTANCE_FROM_TOP_LEFT_CORNER. + */ + top?: number; + /** + * Height of the window. + */ + windowHeight?: number; + /** + * Width of the window. + */ + windowWidth?: number; + } + /** + * Geographical Targeting. + */ + interface Schema$GeoTargeting { + /** + * Cities to be targeted. For each city only dartId is required. The other + * fields are populated automatically when the ad is inserted or updated. If + * targeting a city, do not target or exclude the country of the city, and + * do not target the metro or region of the city. + */ + cities?: Schema$City[]; + /** + * Countries to be targeted or excluded from targeting, depending on the + * setting of the excludeCountries field. For each country only dartId is + * required. The other fields are populated automatically when the ad is + * inserted or updated. If targeting or excluding a country, do not target + * regions, cities, metros, or postal codes in the same country. + */ + countries?: Schema$Country[]; + /** + * Whether or not to exclude the countries in the countries field from + * targeting. If false, the countries field refers to countries which will + * be targeted by the ad. + */ + excludeCountries?: boolean; + /** + * Metros to be targeted. For each metro only dmaId is required. The other + * fields are populated automatically when the ad is inserted or updated. If + * targeting a metro, do not target or exclude the country of the metro. + */ + metros?: Schema$Metro[]; + /** + * Postal codes to be targeted. For each postal code only id is required. + * The other fields are populated automatically when the ad is inserted or + * updated. If targeting a postal code, do not target or exclude the country + * of the postal code. + */ + postalCodes?: Schema$PostalCode[]; + /** + * Regions to be targeted. For each region only dartId is required. The + * other fields are populated automatically when the ad is inserted or + * updated. If targeting a region, do not target or exclude the country of + * the region. + */ + regions?: Schema$Region[]; + } + /** + * Represents a buy from the Planning inventory store. + */ + interface Schema$InventoryItem { + /** + * Account ID of this inventory item. + */ + accountId?: string; + /** + * Ad slots of this inventory item. If this inventory item represents a + * standalone placement, there will be exactly one ad slot. If this + * inventory item represents a placement group, there will be more than one + * ad slot, each representing one child placement in that placement group. + */ + adSlots?: Schema$AdSlot[]; + /** + * Advertiser ID of this inventory item. + */ + advertiserId?: string; + /** + * Content category ID of this inventory item. + */ + contentCategoryId?: string; + /** + * Estimated click-through rate of this inventory item. + */ + estimatedClickThroughRate?: string; + /** + * Estimated conversion rate of this inventory item. + */ + estimatedConversionRate?: string; + /** + * ID of this inventory item. + */ + id?: string; + /** + * Whether this inventory item is in plan. + */ + inPlan?: boolean; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#inventoryItem". + */ + kind?: string; + /** + * Information about the most recent modification of this inventory item. + */ + lastModifiedInfo?: Schema$LastModifiedInfo; + /** + * Name of this inventory item. For standalone inventory items, this is the + * same name as that of its only ad slot. For group inventory items, this + * can differ from the name of any of its ad slots. + */ + name?: string; + /** + * Negotiation channel ID of this inventory item. + */ + negotiationChannelId?: string; + /** + * Order ID of this inventory item. + */ + orderId?: string; + /** + * Placement strategy ID of this inventory item. + */ + placementStrategyId?: string; + /** + * Pricing of this inventory item. + */ + pricing?: Schema$Pricing; + /** + * Project ID of this inventory item. + */ + projectId?: string; + /** + * RFP ID of this inventory item. + */ + rfpId?: string; + /** + * ID of the site this inventory item is associated with. + */ + siteId?: string; + /** + * Subaccount ID of this inventory item. + */ + subaccountId?: string; + /** + * Type of inventory item. + */ + type?: string; + } + /** + * Inventory item List Response + */ + interface Schema$InventoryItemsListResponse { + /** + * Inventory item collection + */ + inventoryItems?: Schema$InventoryItem[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#inventoryItemsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Key Value Targeting Expression. + */ + interface Schema$KeyValueTargetingExpression { + /** + * Keyword expression being targeted by the ad. + */ + expression?: string; + } + /** + * Contains information about where a user's browser is taken after the + * user clicks an ad. + */ + interface Schema$LandingPage { + /** + * Advertiser ID of this landing page. This is a required field. + */ + advertiserId?: string; + /** + * Whether this landing page has been archived. + */ + archived?: boolean; + /** + * ID of this landing page. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#landingPage". + */ + kind?: string; + /** + * Name of this landing page. This is a required field. It must be less than + * 256 characters long. + */ + name?: string; + /** + * URL of this landing page. This is a required field. + */ + url?: string; + } + /** + * Contains information about a language that can be targeted by ads. + */ + interface Schema$Language { + /** + * Language ID of this language. This is the ID used for targeting and + * generating reports. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#language". + */ + kind?: string; + /** + * Format of language code is an ISO 639 two-letter language code optionally + * followed by an underscore followed by an ISO 3166 code. Examples are + * "en" for English or "zh_CN" for Simplified Chinese. + */ + languageCode?: string; + /** + * Name of this language. + */ + name?: string; + } + /** + * Language List Response + */ + interface Schema$LanguagesListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#languagesListResponse". + */ + kind?: string; + /** + * Language collection. + */ + languages?: Schema$Language[]; + } + /** + * Language Targeting. + */ + interface Schema$LanguageTargeting { + /** + * Languages that this ad targets. For each language only languageId is + * required. The other fields are populated automatically when the ad is + * inserted or updated. + */ + languages?: Schema$Language[]; + } + /** + * Modification timestamp. + */ + interface Schema$LastModifiedInfo { + /** + * Timestamp of the last change in milliseconds since epoch. + */ + time?: string; + } + /** + * A group clause made up of list population terms representing constraints + * joined by ORs. + */ + interface Schema$ListPopulationClause { + /** + * Terms of this list population clause. Each clause is made up of list + * population terms representing constraints and are joined by ORs. + */ + terms?: Schema$ListPopulationTerm[]; + } + /** + * Remarketing List Population Rule. + */ + interface Schema$ListPopulationRule { + /** + * Floodlight activity ID associated with this rule. This field can be left + * blank. + */ + floodlightActivityId?: string; + /** + * Name of floodlight activity associated with this rule. This is a + * read-only, auto-generated field. + */ + floodlightActivityName?: string; + /** + * Clauses that make up this list population rule. Clauses are joined by + * ANDs, and the clauses themselves are made up of list population terms + * which are joined by ORs. + */ + listPopulationClauses?: Schema$ListPopulationClause[]; + } + /** + * Remarketing List Population Rule Term. + */ + interface Schema$ListPopulationTerm { + /** + * Will be true if the term should check if the user is in the list and + * false if the term should check if the user is not in the list. This field + * is only relevant when type is set to LIST_MEMBERSHIP_TERM. False by + * default. + */ + contains?: boolean; + /** + * Whether to negate the comparison result of this term during rule + * evaluation. This field is only relevant when type is left unset or set to + * CUSTOM_VARIABLE_TERM or REFERRER_TERM. + */ + negation?: boolean; + /** + * Comparison operator of this term. This field is only relevant when type + * is left unset or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM. + */ + operator?: string; + /** + * ID of the list in question. This field is only relevant when type is set + * to LIST_MEMBERSHIP_TERM. + */ + remarketingListId?: string; + /** + * List population term type determines the applicable fields in this + * object. If left unset or set to CUSTOM_VARIABLE_TERM, then variableName, + * variableFriendlyName, operator, value, and negation are applicable. If + * set to LIST_MEMBERSHIP_TERM then remarketingListId and contains are + * applicable. If set to REFERRER_TERM then operator, value, and negation + * are applicable. + */ + type?: string; + /** + * Literal to compare the variable to. This field is only relevant when type + * is left unset or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM. + */ + value?: string; + /** + * Friendly name of this term's variable. This is a read-only, + * auto-generated field. This field is only relevant when type is left unset + * or set to CUSTOM_VARIABLE_TERM. + */ + variableFriendlyName?: string; + /** + * Name of the variable (U1, U2, etc.) being compared in this term. This + * field is only relevant when type is set to null, CUSTOM_VARIABLE_TERM or + * REFERRER_TERM. + */ + variableName?: string; + } + /** + * Remarketing List Targeting Expression. + */ + interface Schema$ListTargetingExpression { + /** + * Expression describing which lists are being targeted by the ad. + */ + expression?: string; + } + /** + * Lookback configuration settings. + */ + interface Schema$LookbackConfiguration { + /** + * Lookback window, in days, from the last time a given user clicked on one + * of your ads. If you enter 0, clicks will not be considered as triggering + * events for floodlight tracking. If you leave this field blank, the + * default value for your account will be used. Acceptable values are 0 to + * 90, inclusive. + */ + clickDuration?: number; + /** + * Lookback window, in days, from the last time a given user viewed one of + * your ads. If you enter 0, impressions will not be considered as + * triggering events for floodlight tracking. If you leave this field blank, + * the default value for your account will be used. Acceptable values are 0 + * to 90, inclusive. + */ + postImpressionActivitiesDuration?: number; + } + /** + * Represents a metric. + */ + interface Schema$Metric { + /** + * The kind of resource this is, in this case dfareporting#metric. + */ + kind?: string; + /** + * The metric name, e.g. dfa:impressions + */ + name?: string; + } + /** + * Contains information about a metro region that can be targeted by ads. + */ + interface Schema$Metro { + /** + * Country code of the country to which this metro region belongs. + */ + countryCode?: string; + /** + * DART ID of the country to which this metro region belongs. + */ + countryDartId?: string; + /** + * DART ID of this metro region. + */ + dartId?: string; + /** + * DMA ID of this metro region. This is the ID used for targeting and + * generating reports, and is equivalent to metro_code. + */ + dmaId?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#metro". + */ + kind?: string; + /** + * Metro code of this metro region. This is equivalent to dma_id. + */ + metroCode?: string; + /** + * Name of this metro region. + */ + name?: string; + } + /** + * Metro List Response + */ + interface Schema$MetrosListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#metrosListResponse". + */ + kind?: string; + /** + * Metro collection. + */ + metros?: Schema$Metro[]; + } + /** + * Contains information about a mobile carrier that can be targeted by ads. + */ + interface Schema$MobileCarrier { + /** + * Country code of the country to which this mobile carrier belongs. + */ + countryCode?: string; + /** + * DART ID of the country to which this mobile carrier belongs. + */ + countryDartId?: string; + /** + * ID of this mobile carrier. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#mobileCarrier". + */ + kind?: string; + /** + * Name of this mobile carrier. + */ + name?: string; + } + /** + * Mobile Carrier List Response + */ + interface Schema$MobileCarriersListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#mobileCarriersListResponse". + */ + kind?: string; + /** + * Mobile carrier collection. + */ + mobileCarriers?: Schema$MobileCarrier[]; + } + /** + * Object Filter. + */ + interface Schema$ObjectFilter { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#objectFilter". + */ + kind?: string; + /** + * Applicable when status is ASSIGNED. The user has access to objects with + * these object IDs. + */ + objectIds?: string[]; + /** + * Status of the filter. NONE means the user has access to none of the + * objects. ALL means the user has access to all objects. ASSIGNED means the + * user has access to the objects with IDs in the objectIds list. + */ + status?: string; + } + /** + * Offset Position. + */ + interface Schema$OffsetPosition { + /** + * Offset distance from left side of an asset or a window. + */ + left?: number; + /** + * Offset distance from top side of an asset or a window. + */ + top?: number; + } + /** + * Omniture Integration Settings. + */ + interface Schema$OmnitureSettings { + /** + * Whether placement cost data will be sent to Omniture. This property can + * be enabled only if omnitureIntegrationEnabled is true. + */ + omnitureCostDataEnabled?: boolean; + /** + * Whether Omniture integration is enabled. This property can be enabled + * only when the "Advanced Ad Serving" account setting is enabled. + */ + omnitureIntegrationEnabled?: boolean; + } + /** + * Contains information about an operating system that can be targeted by ads. + */ + interface Schema$OperatingSystem { + /** + * DART ID of this operating system. This is the ID used for targeting. + */ + dartId?: string; + /** + * Whether this operating system is for desktop. + */ + desktop?: boolean; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#operatingSystem". + */ + kind?: string; + /** + * Whether this operating system is for mobile. + */ + mobile?: boolean; + /** + * Name of this operating system. + */ + name?: string; + } + /** + * Operating System List Response + */ + interface Schema$OperatingSystemsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#operatingSystemsListResponse". + */ + kind?: string; + /** + * Operating system collection. + */ + operatingSystems?: Schema$OperatingSystem[]; + } + /** + * Contains information about a particular version of an operating system that + * can be targeted by ads. + */ + interface Schema$OperatingSystemVersion { + /** + * ID of this operating system version. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#operatingSystemVersion". + */ + kind?: string; + /** + * Major version (leftmost number) of this operating system version. + */ + majorVersion?: string; + /** + * Minor version (number after the first dot) of this operating system + * version. + */ + minorVersion?: string; + /** + * Name of this operating system version. + */ + name?: string; + /** + * Operating system of this operating system version. + */ + operatingSystem?: Schema$OperatingSystem; + } + /** + * Operating System Version List Response + */ + interface Schema$OperatingSystemVersionsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#operatingSystemVersionsListResponse". + */ + kind?: string; + /** + * Operating system version collection. + */ + operatingSystemVersions?: Schema$OperatingSystemVersion[]; + } + /** + * Creative optimization activity. + */ + interface Schema$OptimizationActivity { + /** + * Floodlight activity ID of this optimization activity. This is a required + * field. + */ + floodlightActivityId?: string; + /** + * Dimension value for the ID of the floodlight activity. This is a + * read-only, auto-generated field. + */ + floodlightActivityIdDimensionValue?: Schema$DimensionValue; + /** + * Weight associated with this optimization. The weight assigned will be + * understood in proportion to the weights assigned to the other + * optimization activities. Value must be greater than or equal to 1. + */ + weight?: number; + } + /** + * Describes properties of a Planning order. + */ + interface Schema$Order { + /** + * Account ID of this order. + */ + accountId?: string; + /** + * Advertiser ID of this order. + */ + advertiserId?: string; + /** + * IDs for users that have to approve documents created for this order. + */ + approverUserProfileIds?: string[]; + /** + * Buyer invoice ID associated with this order. + */ + buyerInvoiceId?: string; + /** + * Name of the buyer organization. + */ + buyerOrganizationName?: string; + /** + * Comments in this order. + */ + comments?: string; + /** + * Contacts for this order. + */ + contacts?: Schema$OrderContact[]; + /** + * ID of this order. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#order". + */ + kind?: string; + /** + * Information about the most recent modification of this order. + */ + lastModifiedInfo?: Schema$LastModifiedInfo; + /** + * Name of this order. + */ + name?: string; + /** + * Notes of this order. + */ + notes?: string; + /** + * ID of the terms and conditions template used in this order. + */ + planningTermId?: string; + /** + * Project ID of this order. + */ + projectId?: string; + /** + * Seller order ID associated with this order. + */ + sellerOrderId?: string; + /** + * Name of the seller organization. + */ + sellerOrganizationName?: string; + /** + * Site IDs this order is associated with. + */ + siteId?: string[]; + /** + * Free-form site names this order is associated with. + */ + siteNames?: string[]; + /** + * Subaccount ID of this order. + */ + subaccountId?: string; + /** + * Terms and conditions of this order. + */ + termsAndConditions?: string; + } + /** + * Contact of an order. + */ + interface Schema$OrderContact { + /** + * Free-form information about this contact. It could be any information + * related to this contact in addition to type, title, name, and signature + * user profile ID. + */ + contactInfo?: string; + /** + * Name of this contact. + */ + contactName?: string; + /** + * Title of this contact. + */ + contactTitle?: string; + /** + * Type of this contact. + */ + contactType?: string; + /** + * ID of the user profile containing the signature that will be embedded + * into order documents. + */ + signatureUserProfileId?: string; + } + /** + * Contains properties of a Planning order document. + */ + interface Schema$OrderDocument { + /** + * Account ID of this order document. + */ + accountId?: string; + /** + * Advertiser ID of this order document. + */ + advertiserId?: string; + /** + * The amended order document ID of this order document. An order document + * can be created by optionally amending another order document so that the + * change history can be preserved. + */ + amendedOrderDocumentId?: string; + /** + * IDs of users who have approved this order document. + */ + approvedByUserProfileIds?: string[]; + /** + * Whether this order document is cancelled. + */ + cancelled?: boolean; + /** + * Information about the creation of this order document. + */ + createdInfo?: Schema$LastModifiedInfo; + /** + * Effective date of this order document. + */ + effectiveDate?: string; + /** + * ID of this order document. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#orderDocument". + */ + kind?: string; + /** + * List of email addresses that received the last sent document. + */ + lastSentRecipients?: string[]; + /** + * Timestamp of the last email sent with this order document. + */ + lastSentTime?: string; + /** + * ID of the order from which this order document is created. + */ + orderId?: string; + /** + * Project ID of this order document. + */ + projectId?: string; + /** + * Whether this order document has been signed. + */ + signed?: boolean; + /** + * Subaccount ID of this order document. + */ + subaccountId?: string; + /** + * Title of this order document. + */ + title?: string; + /** + * Type of this order document + */ + type?: string; + } + /** + * Order document List Response + */ + interface Schema$OrderDocumentsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#orderDocumentsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + /** + * Order document collection + */ + orderDocuments?: Schema$OrderDocument[]; + } + /** + * Order List Response + */ + interface Schema$OrdersListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#ordersListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + /** + * Order collection. + */ + orders?: Schema$Order[]; + } + /** + * Represents fields that are compatible to be selected for a report of type + * "PATH_TO_CONVERSION". + */ + interface Schema$PathToConversionReportCompatibleFields { + /** + * Conversion dimensions which are compatible to be selected in the + * "conversionDimensions" section of the report. + */ + conversionDimensions?: Schema$Dimension[]; + /** + * Custom floodlight variables which are compatible to be selected in the + * "customFloodlightVariables" section of the report. + */ + customFloodlightVariables?: Schema$Dimension[]; + /** + * The kind of resource this is, in this case + * dfareporting#pathToConversionReportCompatibleFields. + */ + kind?: string; + /** + * Metrics which are compatible to be selected in the + * "metricNames" section of the report. + */ + metrics?: Schema$Metric[]; + /** + * Per-interaction dimensions which are compatible to be selected in the + * "perInteractionDimensions" section of the report. + */ + perInteractionDimensions?: Schema$Dimension[]; + } + /** + * Contains properties of a placement. + */ + interface Schema$Placement { + /** + * Account ID of this placement. This field can be left blank. + */ + accountId?: string; + /** + * Whether this placement opts out of ad blocking. When true, ad blocking is + * disabled for this placement. When false, the campaign and site settings + * take effect. + */ + adBlockingOptOut?: boolean; + /** + * Advertiser ID of this placement. This field can be left blank. + */ + advertiserId?: string; + /** + * Dimension value for the ID of the advertiser. This is a read-only, + * auto-generated field. + */ + advertiserIdDimensionValue?: Schema$DimensionValue; + /** + * Whether this placement is archived. + */ + archived?: boolean; + /** + * Campaign ID of this placement. This field is a required field on + * insertion. + */ + campaignId?: string; + /** + * Dimension value for the ID of the campaign. This is a read-only, + * auto-generated field. + */ + campaignIdDimensionValue?: Schema$DimensionValue; + /** + * Comments for this placement. + */ + comment?: string; + /** + * Placement compatibility. DISPLAY and DISPLAY_INTERSTITIAL refer to + * rendering on desktop, on mobile devices or in mobile apps for regular or + * interstitial ads respectively. APP and APP_INTERSTITIAL are no longer + * allowed for new placement insertions. Instead, use DISPLAY or + * DISPLAY_INTERSTITIAL. IN_STREAM_VIDEO refers to rendering in in-stream + * video ads developed with the VAST standard. This field is required on + * insertion. + */ + compatibility?: string; + /** + * ID of the content category assigned to this placement. + */ + contentCategoryId?: string; + /** + * Information about the creation of this placement. This is a read-only + * field. + */ + createInfo?: Schema$LastModifiedInfo; + /** + * Directory site ID of this placement. On insert, you must set either this + * field or the siteId field to specify the site associated with this + * placement. This is a required field that is read-only after insertion. + */ + directorySiteId?: string; + /** + * Dimension value for the ID of the directory site. This is a read-only, + * auto-generated field. + */ + directorySiteIdDimensionValue?: Schema$DimensionValue; + /** + * External ID for this placement. + */ + externalId?: string; + /** + * ID of this placement. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Dimension value for the ID of this placement. This is a read-only, + * auto-generated field. + */ + idDimensionValue?: Schema$DimensionValue; + /** + * Key name of this placement. This is a read-only, auto-generated field. + */ + keyName?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#placement". + */ + kind?: string; + /** + * Information about the most recent modification of this placement. This is + * a read-only field. + */ + lastModifiedInfo?: Schema$LastModifiedInfo; + /** + * Lookback window settings for this placement. + */ + lookbackConfiguration?: Schema$LookbackConfiguration; + /** + * Name of this placement.This is a required field and must be less than 256 + * characters long. + */ + name?: string; + /** + * Whether payment was approved for this placement. This is a read-only + * field relevant only to publisher-paid placements. + */ + paymentApproved?: boolean; + /** + * Payment source for this placement. This is a required field that is + * read-only after insertion. + */ + paymentSource?: string; + /** + * ID of this placement's group, if applicable. + */ + placementGroupId?: string; + /** + * Dimension value for the ID of the placement group. This is a read-only, + * auto-generated field. + */ + placementGroupIdDimensionValue?: Schema$DimensionValue; + /** + * ID of the placement strategy assigned to this placement. + */ + placementStrategyId?: string; + /** + * Pricing schedule of this placement. This field is required on insertion, + * specifically subfields startDate, endDate and pricingType. + */ + pricingSchedule?: Schema$PricingSchedule; + /** + * Whether this placement is the primary placement of a roadblock (placement + * group). You cannot change this field from true to false. Setting this + * field to true will automatically set the primary field on the original + * primary placement of the roadblock to false, and it will automatically + * set the roadblock's primaryPlacementId field to the ID of this + * placement. + */ + primary?: boolean; + /** + * Information about the last publisher update. This is a read-only field. + */ + publisherUpdateInfo?: Schema$LastModifiedInfo; + /** + * Site ID associated with this placement. On insert, you must set either + * this field or the directorySiteId field to specify the site associated + * with this placement. This is a required field that is read-only after + * insertion. + */ + siteId?: string; + /** + * Dimension value for the ID of the site. This is a read-only, + * auto-generated field. + */ + siteIdDimensionValue?: Schema$DimensionValue; + /** + * Size associated with this placement. When inserting or updating a + * placement, only the size ID field is used. This field is required on + * insertion. + */ + size?: Schema$Size; + /** + * Whether creatives assigned to this placement must be SSL-compliant. + */ + sslRequired?: boolean; + /** + * Third-party placement status. + */ + status?: string; + /** + * Subaccount ID of this placement. This field can be left blank. + */ + subaccountId?: string; + /** + * Tag formats to generate for this placement. This field is required on + * insertion. Acceptable values are: - "PLACEMENT_TAG_STANDARD" - + * "PLACEMENT_TAG_IFRAME_JAVASCRIPT" - + * "PLACEMENT_TAG_IFRAME_ILAYER" - + * "PLACEMENT_TAG_INTERNAL_REDIRECT" - + * "PLACEMENT_TAG_JAVASCRIPT" - + * "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT" - + * "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT" - + * "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT" - + * "PLACEMENT_TAG_CLICK_COMMANDS" - + * "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH" - + * "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3" - + * "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4" - + * "PLACEMENT_TAG_TRACKING" - + * "PLACEMENT_TAG_TRACKING_IFRAME" - + * "PLACEMENT_TAG_TRACKING_JAVASCRIPT" + */ + tagFormats?: string[]; + /** + * Tag settings for this placement. + */ + tagSetting?: Schema$TagSetting; + /** + * Whether Verification and ActiveView are disabled for in-stream video + * creatives for this placement. The same setting videoActiveViewOptOut + * exists on the site level -- the opt out occurs if either of these + * settings are true. These settings are distinct from + * DirectorySites.settings.activeViewOptOut or + * Sites.siteSettings.activeViewOptOut which only apply to display ads. + * However, Accounts.activeViewOptOut opts out both video traffic, as well + * as display ads, from Verification and ActiveView. + */ + videoActiveViewOptOut?: boolean; + /** + * A collection of settings which affect video creatives served through this + * placement. Applicable to placements with IN_STREAM_VIDEO compatibility. + */ + videoSettings?: Schema$VideoSettings; + /** + * VPAID adapter setting for this placement. Controls which VPAID format the + * measurement adapter will use for in-stream video creatives assigned to + * this placement. Note: Flash is no longer supported. This field now + * defaults to HTML5 when the following values are provided: FLASH, BOTH. + */ + vpaidAdapterChoice?: string; + } + /** + * Placement Assignment. + */ + interface Schema$PlacementAssignment { + /** + * Whether this placement assignment is active. When true, the placement + * will be included in the ad's rotation. + */ + active?: boolean; + /** + * ID of the placement to be assigned. This is a required field. + */ + placementId?: string; + /** + * Dimension value for the ID of the placement. This is a read-only, + * auto-generated field. + */ + placementIdDimensionValue?: Schema$DimensionValue; + /** + * Whether the placement to be assigned requires SSL. This is a read-only + * field that is auto-generated when the ad is inserted or updated. + */ + sslRequired?: boolean; + } + /** + * Contains properties of a package or roadblock. + */ + interface Schema$PlacementGroup { + /** + * Account ID of this placement group. This is a read-only field that can be + * left blank. + */ + accountId?: string; + /** + * Advertiser ID of this placement group. This is a required field on + * insertion. + */ + advertiserId?: string; + /** + * Dimension value for the ID of the advertiser. This is a read-only, + * auto-generated field. + */ + advertiserIdDimensionValue?: Schema$DimensionValue; + /** + * Whether this placement group is archived. + */ + archived?: boolean; + /** + * Campaign ID of this placement group. This field is required on insertion. + */ + campaignId?: string; + /** + * Dimension value for the ID of the campaign. This is a read-only, + * auto-generated field. + */ + campaignIdDimensionValue?: Schema$DimensionValue; + /** + * IDs of placements which are assigned to this placement group. This is a + * read-only, auto-generated field. + */ + childPlacementIds?: string[]; + /** + * Comments for this placement group. + */ + comment?: string; + /** + * ID of the content category assigned to this placement group. + */ + contentCategoryId?: string; + /** + * Information about the creation of this placement group. This is a + * read-only field. + */ + createInfo?: Schema$LastModifiedInfo; + /** + * Directory site ID associated with this placement group. On insert, you + * must set either this field or the site_id field to specify the site + * associated with this placement group. This is a required field that is + * read-only after insertion. + */ + directorySiteId?: string; + /** + * Dimension value for the ID of the directory site. This is a read-only, + * auto-generated field. + */ + directorySiteIdDimensionValue?: Schema$DimensionValue; + /** + * External ID for this placement. + */ + externalId?: string; + /** + * ID of this placement group. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Dimension value for the ID of this placement group. This is a read-only, + * auto-generated field. + */ + idDimensionValue?: Schema$DimensionValue; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#placementGroup". + */ + kind?: string; + /** + * Information about the most recent modification of this placement group. + * This is a read-only field. + */ + lastModifiedInfo?: Schema$LastModifiedInfo; + /** + * Name of this placement group. This is a required field and must be less + * than 256 characters long. + */ + name?: string; + /** + * Type of this placement group. A package is a simple group of placements + * that acts as a single pricing point for a group of tags. A roadblock is a + * group of placements that not only acts as a single pricing point, but + * also assumes that all the tags in it will be served at the same time. A + * roadblock requires one of its assigned placements to be marked as primary + * for reporting. This field is required on insertion. + */ + placementGroupType?: string; + /** + * ID of the placement strategy assigned to this placement group. + */ + placementStrategyId?: string; + /** + * Pricing schedule of this placement group. This field is required on + * insertion. + */ + pricingSchedule?: Schema$PricingSchedule; + /** + * ID of the primary placement, used to calculate the media cost of a + * roadblock (placement group). Modifying this field will automatically + * modify the primary field on all affected roadblock child placements. + */ + primaryPlacementId?: string; + /** + * Dimension value for the ID of the primary placement. This is a read-only, + * auto-generated field. + */ + primaryPlacementIdDimensionValue?: Schema$DimensionValue; + /** + * Site ID associated with this placement group. On insert, you must set + * either this field or the directorySiteId field to specify the site + * associated with this placement group. This is a required field that is + * read-only after insertion. + */ + siteId?: string; + /** + * Dimension value for the ID of the site. This is a read-only, + * auto-generated field. + */ + siteIdDimensionValue?: Schema$DimensionValue; + /** + * Subaccount ID of this placement group. This is a read-only field that can + * be left blank. + */ + subaccountId?: string; + } + /** + * Placement Group List Response + */ + interface Schema$PlacementGroupsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#placementGroupsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + /** + * Placement group collection. + */ + placementGroups?: Schema$PlacementGroup[]; + } + /** + * Placement GenerateTags Response + */ + interface Schema$PlacementsGenerateTagsResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#placementsGenerateTagsResponse". + */ + kind?: string; + /** + * Set of generated tags for the specified placements. + */ + placementTags?: Schema$PlacementTag[]; + } + /** + * Placement List Response + */ + interface Schema$PlacementsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#placementsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + /** + * Placement collection. + */ + placements?: Schema$Placement[]; + } + /** + * Placement Strategy List Response + */ + interface Schema$PlacementStrategiesListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#placementStrategiesListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + /** + * Placement strategy collection. + */ + placementStrategies?: Schema$PlacementStrategy[]; + } + /** + * Contains properties of a placement strategy. + */ + interface Schema$PlacementStrategy { + /** + * Account ID of this placement strategy.This is a read-only field that can + * be left blank. + */ + accountId?: string; + /** + * ID of this placement strategy. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#placementStrategy". + */ + kind?: string; + /** + * Name of this placement strategy. This is a required field. It must be + * less than 256 characters long and unique among placement strategies of + * the same account. + */ + name?: string; + } + /** + * Placement Tag + */ + interface Schema$PlacementTag { + /** + * Placement ID + */ + placementId?: string; + /** + * Tags generated for this placement. + */ + tagDatas?: Schema$TagData[]; + } + /** + * Contains information about a platform type that can be targeted by ads. + */ + interface Schema$PlatformType { + /** + * ID of this platform type. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#platformType". + */ + kind?: string; + /** + * Name of this platform type. + */ + name?: string; + } + /** + * Platform Type List Response + */ + interface Schema$PlatformTypesListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#platformTypesListResponse". + */ + kind?: string; + /** + * Platform type collection. + */ + platformTypes?: Schema$PlatformType[]; + } + /** + * Popup Window Properties. + */ + interface Schema$PopupWindowProperties { + /** + * Popup dimension for a creative. This is a read-only field. Applicable to + * the following creative types: all RICH_MEDIA and all VPAID + */ + dimension?: Schema$Size; + /** + * Upper-left corner coordinates of the popup window. Applicable if + * positionType is COORDINATES. + */ + offset?: Schema$OffsetPosition; + /** + * Popup window position either centered or at specific coordinate. + */ + positionType?: string; + /** + * Whether to display the browser address bar. + */ + showAddressBar?: boolean; + /** + * Whether to display the browser menu bar. + */ + showMenuBar?: boolean; + /** + * Whether to display the browser scroll bar. + */ + showScrollBar?: boolean; + /** + * Whether to display the browser status bar. + */ + showStatusBar?: boolean; + /** + * Whether to display the browser tool bar. + */ + showToolBar?: boolean; + /** + * Title of popup window. + */ + title?: string; + } + /** + * Contains information about a postal code that can be targeted by ads. + */ + interface Schema$PostalCode { + /** + * Postal code. This is equivalent to the id field. + */ + code?: string; + /** + * Country code of the country to which this postal code belongs. + */ + countryCode?: string; + /** + * DART ID of the country to which this postal code belongs. + */ + countryDartId?: string; + /** + * ID of this postal code. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#postalCode". + */ + kind?: string; + } + /** + * Postal Code List Response + */ + interface Schema$PostalCodesListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#postalCodesListResponse". + */ + kind?: string; + /** + * Postal code collection. + */ + postalCodes?: Schema$PostalCode[]; + } + /** + * Pricing Information + */ + interface Schema$Pricing { + /** + * Cap cost type of this inventory item. + */ + capCostType?: string; + /** + * End date of this inventory item. + */ + endDate?: string; + /** + * Flights of this inventory item. A flight (a.k.a. pricing period) + * represents the inventory item pricing information for a specific period + * of time. + */ + flights?: Schema$Flight[]; + /** + * Group type of this inventory item if it represents a placement group. Is + * null otherwise. There are two type of placement groups: + * PLANNING_PLACEMENT_GROUP_TYPE_PACKAGE is a simple group of inventory + * items that acts as a single pricing point for a group of tags. + * PLANNING_PLACEMENT_GROUP_TYPE_ROADBLOCK is a group of inventory items + * that not only acts as a single pricing point, but also assumes that all + * the tags in it will be served at the same time. A roadblock requires one + * of its assigned inventory items to be marked as primary. + */ + groupType?: string; + /** + * Pricing type of this inventory item. + */ + pricingType?: string; + /** + * Start date of this inventory item. + */ + startDate?: string; + } + /** + * Pricing Schedule + */ + interface Schema$PricingSchedule { + /** + * Placement cap cost option. + */ + capCostOption?: string; + /** + * Whether cap costs are ignored by ad serving. + */ + disregardOverdelivery?: boolean; + /** + * Placement end date. This date must be later than, or the same day as, the + * placement start date, but not later than the campaign end date. If, for + * example, you set 6/25/2015 as both the start and end dates, the effective + * placement date is just that day only, 6/25/2015. The hours, minutes, and + * seconds of the end date should not be set, as doing so will result in an + * error. This field is required on insertion. + */ + endDate?: string; + /** + * Whether this placement is flighted. If true, pricing periods will be + * computed automatically. + */ + flighted?: boolean; + /** + * Floodlight activity ID associated with this placement. This field should + * be set when placement pricing type is set to PRICING_TYPE_CPA. + */ + floodlightActivityId?: string; + /** + * Pricing periods for this placement. + */ + pricingPeriods?: Schema$PricingSchedulePricingPeriod[]; + /** + * Placement pricing type. This field is required on insertion. + */ + pricingType?: string; + /** + * Placement start date. This date must be later than, or the same day as, + * the campaign start date. The hours, minutes, and seconds of the start + * date should not be set, as doing so will result in an error. This field + * is required on insertion. + */ + startDate?: string; + /** + * Testing start date of this placement. The hours, minutes, and seconds of + * the start date should not be set, as doing so will result in an error. + */ + testingStartDate?: string; + } + /** + * Pricing Period + */ + interface Schema$PricingSchedulePricingPeriod { + /** + * Pricing period end date. This date must be later than, or the same day + * as, the pricing period start date, but not later than the placement end + * date. The period end date can be the same date as the period start date. + * If, for example, you set 6/25/2015 as both the start and end dates, the + * effective pricing period date is just that day only, 6/25/2015. The + * hours, minutes, and seconds of the end date should not be set, as doing + * so will result in an error. + */ + endDate?: string; + /** + * Comments for this pricing period. + */ + pricingComment?: string; + /** + * Rate or cost of this pricing period in nanos (i.e., multipled by + * 1000000000). Acceptable values are 0 to 1000000000000000000, inclusive. + */ + rateOrCostNanos?: string; + /** + * Pricing period start date. This date must be later than, or the same day + * as, the placement start date. The hours, minutes, and seconds of the + * start date should not be set, as doing so will result in an error. + */ + startDate?: string; + /** + * Units of this pricing period. Acceptable values are 0 to 10000000000, + * inclusive. + */ + units?: string; + } + /** + * Contains properties of a Planning project. + */ + interface Schema$Project { + /** + * Account ID of this project. + */ + accountId?: string; + /** + * Advertiser ID of this project. + */ + advertiserId?: string; + /** + * Audience age group of this project. + */ + audienceAgeGroup?: string; + /** + * Audience gender of this project. + */ + audienceGender?: string; + /** + * Budget of this project in the currency specified by the current account. + * The value stored in this field represents only the non-fractional amount. + * For example, for USD, the smallest value that can be represented by this + * field is 1 US dollar. + */ + budget?: string; + /** + * Client billing code of this project. + */ + clientBillingCode?: string; + /** + * Name of the project client. + */ + clientName?: string; + /** + * End date of the project. + */ + endDate?: string; + /** + * ID of this project. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#project". + */ + kind?: string; + /** + * Information about the most recent modification of this project. + */ + lastModifiedInfo?: Schema$LastModifiedInfo; + /** + * Name of this project. + */ + name?: string; + /** + * Overview of this project. + */ + overview?: string; + /** + * Start date of the project. + */ + startDate?: string; + /** + * Subaccount ID of this project. + */ + subaccountId?: string; + /** + * Number of clicks that the advertiser is targeting. + */ + targetClicks?: string; + /** + * Number of conversions that the advertiser is targeting. + */ + targetConversions?: string; + /** + * CPA that the advertiser is targeting. + */ + targetCpaNanos?: string; + /** + * CPC that the advertiser is targeting. + */ + targetCpcNanos?: string; + /** + * vCPM from Active View that the advertiser is targeting. + */ + targetCpmActiveViewNanos?: string; + /** + * CPM that the advertiser is targeting. + */ + targetCpmNanos?: string; + /** + * Number of impressions that the advertiser is targeting. + */ + targetImpressions?: string; + } + /** + * Project List Response + */ + interface Schema$ProjectsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#projectsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + /** + * Project collection. + */ + projects?: Schema$Project[]; + } + /** + * Represents fields that are compatible to be selected for a report of type + * "REACH". + */ + interface Schema$ReachReportCompatibleFields { + /** + * Dimensions which are compatible to be selected in the + * "dimensionFilters" section of the report. + */ + dimensionFilters?: Schema$Dimension[]; + /** + * Dimensions which are compatible to be selected in the + * "dimensions" section of the report. + */ + dimensions?: Schema$Dimension[]; + /** + * The kind of resource this is, in this case + * dfareporting#reachReportCompatibleFields. + */ + kind?: string; + /** + * Metrics which are compatible to be selected in the + * "metricNames" section of the report. + */ + metrics?: Schema$Metric[]; + /** + * Metrics which are compatible to be selected as activity metrics to pivot + * on in the "activities" section of the report. + */ + pivotedActivityMetrics?: Schema$Metric[]; + /** + * Metrics which are compatible to be selected in the + * "reachByFrequencyMetricNames" section of the report. + */ + reachByFrequencyMetrics?: Schema$Metric[]; + } + /** + * Represents a recipient. + */ + interface Schema$Recipient { + /** + * The delivery type for the recipient. + */ + deliveryType?: string; + /** + * The email address of the recipient. + */ + email?: string; + /** + * The kind of resource this is, in this case dfareporting#recipient. + */ + kind?: string; + } + /** + * Contains information about a region that can be targeted by ads. + */ + interface Schema$Region { + /** + * Country code of the country to which this region belongs. + */ + countryCode?: string; + /** + * DART ID of the country to which this region belongs. + */ + countryDartId?: string; + /** + * DART ID of this region. + */ + dartId?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#region". + */ + kind?: string; + /** + * Name of this region. + */ + name?: string; + /** + * Region code. + */ + regionCode?: string; + } + /** + * Region List Response + */ + interface Schema$RegionsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#regionsListResponse". + */ + kind?: string; + /** + * Region collection. + */ + regions?: Schema$Region[]; + } + /** + * Contains properties of a remarketing list. Remarketing enables you to + * create lists of users who have performed specific actions on a site, then + * target ads to members of those lists. This resource can be used to manage + * remarketing lists that are owned by your advertisers. To see all + * remarketing lists that are visible to your advertisers, including those + * that are shared to your advertiser or account, use the + * TargetableRemarketingLists resource. + */ + interface Schema$RemarketingList { + /** + * Account ID of this remarketing list. This is a read-only, auto-generated + * field that is only returned in GET requests. + */ + accountId?: string; + /** + * Whether this remarketing list is active. + */ + active?: boolean; + /** + * Dimension value for the advertiser ID that owns this remarketing list. + * This is a required field. + */ + advertiserId?: string; + /** + * Dimension value for the ID of the advertiser. This is a read-only, + * auto-generated field. + */ + advertiserIdDimensionValue?: Schema$DimensionValue; + /** + * Remarketing list description. + */ + description?: string; + /** + * Remarketing list ID. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#remarketingList". + */ + kind?: string; + /** + * Number of days that a user should remain in the remarketing list without + * an impression. Acceptable values are 1 to 540, inclusive. + */ + lifeSpan?: string; + /** + * Rule used to populate the remarketing list with users. + */ + listPopulationRule?: Schema$ListPopulationRule; + /** + * Number of users currently in the list. This is a read-only field. + */ + listSize?: string; + /** + * Product from which this remarketing list was originated. + */ + listSource?: string; + /** + * Name of the remarketing list. This is a required field. Must be no + * greater than 128 characters long. + */ + name?: string; + /** + * Subaccount ID of this remarketing list. This is a read-only, + * auto-generated field that is only returned in GET requests. + */ + subaccountId?: string; + } + /** + * Contains properties of a remarketing list's sharing information. + * Sharing allows other accounts or advertisers to target to your remarketing + * lists. This resource can be used to manage remarketing list sharing to + * other accounts and advertisers. + */ + interface Schema$RemarketingListShare { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#remarketingListShare". + */ + kind?: string; + /** + * Remarketing list ID. This is a read-only, auto-generated field. + */ + remarketingListId?: string; + /** + * Accounts that the remarketing list is shared with. + */ + sharedAccountIds?: string[]; + /** + * Advertisers that the remarketing list is shared with. + */ + sharedAdvertiserIds?: string[]; + } + /** + * Remarketing list response + */ + interface Schema$RemarketingListsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#remarketingListsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + /** + * Remarketing list collection. + */ + remarketingLists?: Schema$RemarketingList[]; + } + /** + * Represents a Report resource. + */ + interface Schema$Report { + /** + * The account ID to which this report belongs. + */ + accountId?: string; + /** + * The report criteria for a report of type "STANDARD". + */ + criteria?: any; + /** + * The report criteria for a report of type + * "CROSS_DIMENSION_REACH". + */ + crossDimensionReachCriteria?: any; + /** + * The report's email delivery settings. + */ + delivery?: any; + /** + * The eTag of this response for caching purposes. + */ + etag?: string; + /** + * The filename used when generating report files for this report. + */ + fileName?: string; + /** + * The report criteria for a report of type "FLOODLIGHT". + */ + floodlightCriteria?: any; + /** + * The output format of the report. If not specified, default format is + * "CSV". Note that the actual format in the completed report file + * might differ if for instance the report's size exceeds the + * format's capabilities. "CSV" will then be the fallback + * format. + */ + format?: string; + /** + * The unique ID identifying this report resource. + */ + id?: string; + /** + * The kind of resource this is, in this case dfareporting#report. + */ + kind?: string; + /** + * The timestamp (in milliseconds since epoch) of when this report was last + * modified. + */ + lastModifiedTime?: string; + /** + * The name of the report. + */ + name?: string; + /** + * The user profile id of the owner of this report. + */ + ownerProfileId?: string; + /** + * The report criteria for a report of type "PATH_TO_CONVERSION". + */ + pathToConversionCriteria?: any; + /** + * The report criteria for a report of type "REACH". + */ + reachCriteria?: any; + /** + * The report's schedule. Can only be set if the report's + * 'dateRange' is a relative date range and the relative date range + * is not "TODAY". + */ + schedule?: any; + /** + * The subaccount ID to which this report belongs if applicable. + */ + subAccountId?: string; + /** + * The type of the report. + */ + type?: string; + } + /** + * Represents fields that are compatible to be selected for a report of type + * "STANDARD". + */ + interface Schema$ReportCompatibleFields { + /** + * Dimensions which are compatible to be selected in the + * "dimensionFilters" section of the report. + */ + dimensionFilters?: Schema$Dimension[]; + /** + * Dimensions which are compatible to be selected in the + * "dimensions" section of the report. + */ + dimensions?: Schema$Dimension[]; + /** + * The kind of resource this is, in this case + * dfareporting#reportCompatibleFields. + */ + kind?: string; + /** + * Metrics which are compatible to be selected in the + * "metricNames" section of the report. + */ + metrics?: Schema$Metric[]; + /** + * Metrics which are compatible to be selected as activity metrics to pivot + * on in the "activities" section of the report. + */ + pivotedActivityMetrics?: Schema$Metric[]; + } + /** + * Represents the list of reports. + */ + interface Schema$ReportList { + /** + * The eTag of this response for caching purposes. + */ + etag?: string; + /** + * The reports returned in this response. + */ + items?: Schema$Report[]; + /** + * The kind of list this is, in this case dfareporting#reportList. + */ + kind?: string; + /** + * Continuation token used to page through reports. To retrieve the next + * page of results, set the next request's "pageToken" to the + * value of this field. The page token is only valid for a limited amount of + * time and should not be persisted. + */ + nextPageToken?: string; + } + /** + * Reporting Configuration + */ + interface Schema$ReportsConfiguration { + /** + * Whether the exposure to conversion report is enabled. This report shows + * detailed pathway information on up to 10 of the most recent ad exposures + * seen by a user before converting. + */ + exposureToConversionEnabled?: boolean; + /** + * Default lookback windows for new advertisers in this account. + */ + lookbackConfiguration?: Schema$LookbackConfiguration; + /** + * Report generation time zone ID of this account. This is a required field + * that can only be changed by a superuser. Acceptable values are: - + * "1" for "America/New_York" - "2" for + * "Europe/London" - "3" for "Europe/Paris" + * - "4" for "Africa/Johannesburg" - "5" for + * "Asia/Jerusalem" - "6" for "Asia/Shanghai" + * - "7" for "Asia/Hong_Kong" - "8" for + * "Asia/Tokyo" - "9" for "Australia/Sydney" + * - "10" for "Asia/Dubai" - "11" for + * "America/Los_Angeles" - "12" for + * "Pacific/Auckland" - "13" for + * "America/Sao_Paulo" + */ + reportGenerationTimeZoneId?: string; + } + /** + * Rich Media Exit Override. + */ + interface Schema$RichMediaExitOverride { + /** + * Click-through URL of this rich media exit override. Applicable if the + * enabled field is set to true. + */ + clickThroughUrl?: Schema$ClickThroughUrl; + /** + * Whether to use the clickThroughUrl. If false, the creative-level exit + * will be used. + */ + enabled?: boolean; + /** + * ID for the override to refer to a specific exit in the creative. + */ + exitId?: string; + } + /** + * A rule associates an asset with a targeting template for asset-level + * targeting. Applicable to INSTREAM_VIDEO creatives. + */ + interface Schema$Rule { + /** + * A creativeAssets[].id. This should refer to one of the parent assets in + * this creative. This is a required field. + */ + assetId?: string; + /** + * A user-friendly name for this rule. This is a required field. + */ + name?: string; + /** + * A targeting template ID. The targeting from the targeting template will + * be used to determine whether this asset should be served. This is a + * required field. + */ + targetingTemplateId?: string; + } + /** + * Contains properties of a site. + */ + interface Schema$Site { + /** + * Account ID of this site. This is a read-only field that can be left + * blank. + */ + accountId?: string; + /** + * Whether this site is approved. + */ + approved?: boolean; + /** + * Directory site associated with this site. This is a required field that + * is read-only after insertion. + */ + directorySiteId?: string; + /** + * Dimension value for the ID of the directory site. This is a read-only, + * auto-generated field. + */ + directorySiteIdDimensionValue?: Schema$DimensionValue; + /** + * ID of this site. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Dimension value for the ID of this site. This is a read-only, + * auto-generated field. + */ + idDimensionValue?: Schema$DimensionValue; + /** + * Key name of this site. This is a read-only, auto-generated field. + */ + keyName?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#site". + */ + kind?: string; + /** + * Name of this site.This is a required field. Must be less than 128 + * characters long. If this site is under a subaccount, the name must be + * unique among sites of the same subaccount. Otherwise, this site is a + * top-level site, and the name must be unique among top-level sites of the + * same account. + */ + name?: string; + /** + * Site contacts. + */ + siteContacts?: Schema$SiteContact[]; + /** + * Site-wide settings. + */ + siteSettings?: Schema$SiteSettings; + /** + * Subaccount ID of this site. This is a read-only field that can be left + * blank. + */ + subaccountId?: string; + } + /** + * Site Contact + */ + interface Schema$SiteContact { + /** + * Address of this site contact. + */ + address?: string; + /** + * Site contact type. + */ + contactType?: string; + /** + * Email address of this site contact. This is a required field. + */ + email?: string; + /** + * First name of this site contact. + */ + firstName?: string; + /** + * ID of this site contact. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Last name of this site contact. + */ + lastName?: string; + /** + * Primary phone number of this site contact. + */ + phone?: string; + /** + * Title or designation of this site contact. + */ + title?: string; + } + /** + * Site Settings + */ + interface Schema$SiteSettings { + /** + * Whether active view creatives are disabled for this site. + */ + activeViewOptOut?: boolean; + /** + * Whether this site opts out of ad blocking. When true, ad blocking is + * disabled for all placements under the site, regardless of the individual + * placement settings. When false, the campaign and placement settings take + * effect. + */ + adBlockingOptOut?: boolean; + /** + * Site-wide creative settings. + */ + creativeSettings?: Schema$CreativeSettings; + /** + * Whether new cookies are disabled for this site. + */ + disableNewCookie?: boolean; + /** + * Lookback window settings for this site. + */ + lookbackConfiguration?: Schema$LookbackConfiguration; + /** + * Configuration settings for dynamic and image floodlight tags. + */ + tagSetting?: Schema$TagSetting; + /** + * Whether Verification and ActiveView for in-stream video creatives are + * disabled by default for new placements created under this site. This + * value will be used to populate the placement.videoActiveViewOptOut field, + * when no value is specified for the new placement. + */ + videoActiveViewOptOutTemplate?: boolean; + /** + * Default VPAID adapter setting for new placements created under this site. + * This value will be used to populate the placements.vpaidAdapterChoice + * field, when no value is specified for the new placement. Controls which + * VPAID format the measurement adapter will use for in-stream video + * creatives assigned to the placement. The publisher's specifications + * will typically determine this setting. For VPAID creatives, the adapter + * format will match the VPAID format (HTML5 VPAID creatives use the HTML5 + * adapter). Note: Flash is no longer supported. This field now defaults to + * HTML5 when the following values are provided: FLASH, BOTH. + */ + vpaidAdapterChoiceTemplate?: string; + } + /** + * Site List Response + */ + interface Schema$SitesListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#sitesListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + /** + * Site collection. + */ + sites?: Schema$Site[]; + } + /** + * Represents the dimensions of ads, placements, creatives, or creative + * assets. + */ + interface Schema$Size { + /** + * Height of this size. Acceptable values are 0 to 32767, inclusive. + */ + height?: number; + /** + * IAB standard size. This is a read-only, auto-generated field. + */ + iab?: boolean; + /** + * ID of this size. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#size". + */ + kind?: string; + /** + * Width of this size. Acceptable values are 0 to 32767, inclusive. + */ + width?: number; + } + /** + * Size List Response + */ + interface Schema$SizesListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#sizesListResponse". + */ + kind?: string; + /** + * Size collection. + */ + sizes?: Schema$Size[]; + } + /** + * Skippable Settings + */ + interface Schema$SkippableSetting { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#skippableSetting". + */ + kind?: string; + /** + * Amount of time to play videos served to this placement before counting a + * view. Applicable when skippable is true. + */ + progressOffset?: Schema$VideoOffset; + /** + * Amount of time to play videos served to this placement before the skip + * button should appear. Applicable when skippable is true. + */ + skipOffset?: Schema$VideoOffset; + /** + * Whether the user can skip creatives served to this placement. + */ + skippable?: boolean; + } + /** + * Represents a sorted dimension. + */ + interface Schema$SortedDimension { + /** + * The kind of resource this is, in this case dfareporting#sortedDimension. + */ + kind?: string; + /** + * The name of the dimension. + */ + name?: string; + /** + * An optional sort order for the dimension column. + */ + sortOrder?: string; + } + /** + * Contains properties of a Campaign Manager subaccount. + */ + interface Schema$Subaccount { + /** + * ID of the account that contains this subaccount. This is a read-only + * field that can be left blank. + */ + accountId?: string; + /** + * IDs of the available user role permissions for this subaccount. + */ + availablePermissionIds?: string[]; + /** + * ID of this subaccount. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#subaccount". + */ + kind?: string; + /** + * Name of this subaccount. This is a required field. Must be less than 128 + * characters long and be unique among subaccounts of the same account. + */ + name?: string; + } + /** + * Subaccount List Response + */ + interface Schema$SubaccountsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#subaccountsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + /** + * Subaccount collection. + */ + subaccounts?: Schema$Subaccount[]; + } + /** + * Placement Tag Data + */ + interface Schema$TagData { + /** + * Ad associated with this placement tag. Applicable only when format is + * PLACEMENT_TAG_TRACKING. + */ + adId?: string; + /** + * Tag string to record a click. + */ + clickTag?: string; + /** + * Creative associated with this placement tag. Applicable only when format + * is PLACEMENT_TAG_TRACKING. + */ + creativeId?: string; + /** + * TagData tag format of this tag. + */ + format?: string; + /** + * Tag string for serving an ad. + */ + impressionTag?: string; + } + /** + * Tag Settings + */ + interface Schema$TagSetting { + /** + * Additional key-values to be included in tags. Each key-value pair must be + * of the form key=value, and pairs must be separated by a semicolon (;). + * Keys and values must not contain commas. For example, id=2;color=red is a + * valid value for this field. + */ + additionalKeyValues?: string; + /** + * Whether static landing page URLs should be included in the tags. This + * setting applies only to placements. + */ + includeClickThroughUrls?: boolean; + /** + * Whether click-tracking string should be included in the tags. + */ + includeClickTracking?: boolean; + /** + * Option specifying how keywords are embedded in ad tags. This setting can + * be used to specify whether keyword placeholders are inserted in placement + * tags for this site. Publishers can then add keywords to those + * placeholders. + */ + keywordOption?: string; + } + /** + * Dynamic and Image Tag Settings. + */ + interface Schema$TagSettings { + /** + * Whether dynamic floodlight tags are enabled. + */ + dynamicTagEnabled?: boolean; + /** + * Whether image tags are enabled. + */ + imageTagEnabled?: boolean; + } + /** + * Contains properties of a targetable remarketing list. Remarketing enables + * you to create lists of users who have performed specific actions on a site, + * then target ads to members of those lists. This resource is a read-only + * view of a remarketing list to be used to faciliate targeting ads to + * specific lists. Remarketing lists that are owned by your advertisers and + * those that are shared to your advertisers or account are accessible via + * this resource. To manage remarketing lists that are owned by your + * advertisers, use the RemarketingLists resource. + */ + interface Schema$TargetableRemarketingList { + /** + * Account ID of this remarketing list. This is a read-only, auto-generated + * field that is only returned in GET requests. + */ + accountId?: string; + /** + * Whether this targetable remarketing list is active. + */ + active?: boolean; + /** + * Dimension value for the advertiser ID that owns this targetable + * remarketing list. + */ + advertiserId?: string; + /** + * Dimension value for the ID of the advertiser. + */ + advertiserIdDimensionValue?: Schema$DimensionValue; + /** + * Targetable remarketing list description. + */ + description?: string; + /** + * Targetable remarketing list ID. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#targetableRemarketingList". + */ + kind?: string; + /** + * Number of days that a user should remain in the targetable remarketing + * list without an impression. + */ + lifeSpan?: string; + /** + * Number of users currently in the list. This is a read-only field. + */ + listSize?: string; + /** + * Product from which this targetable remarketing list was originated. + */ + listSource?: string; + /** + * Name of the targetable remarketing list. Is no greater than 128 + * characters long. + */ + name?: string; + /** + * Subaccount ID of this remarketing list. This is a read-only, + * auto-generated field that is only returned in GET requests. + */ + subaccountId?: string; + } + /** + * Targetable remarketing list response + */ + interface Schema$TargetableRemarketingListsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#targetableRemarketingListsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + /** + * Targetable remarketing list collection. + */ + targetableRemarketingLists?: Schema$TargetableRemarketingList[]; + } + /** + * Contains properties of a targeting template. A targeting template + * encapsulates targeting information which can be reused across multiple ads. + */ + interface Schema$TargetingTemplate { + /** + * Account ID of this targeting template. This field, if left unset, will be + * auto-generated on insert and is read-only after insert. + */ + accountId?: string; + /** + * Advertiser ID of this targeting template. This is a required field on + * insert and is read-only after insert. + */ + advertiserId?: string; + /** + * Dimension value for the ID of the advertiser. This is a read-only, + * auto-generated field. + */ + advertiserIdDimensionValue?: Schema$DimensionValue; + /** + * Time and day targeting criteria. + */ + dayPartTargeting?: Schema$DayPartTargeting; + /** + * Geographical targeting criteria. + */ + geoTargeting?: Schema$GeoTargeting; + /** + * ID of this targeting template. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Key-value targeting criteria. + */ + keyValueTargetingExpression?: Schema$KeyValueTargetingExpression; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#targetingTemplate". + */ + kind?: string; + /** + * Language targeting criteria. + */ + languageTargeting?: Schema$LanguageTargeting; + /** + * Remarketing list targeting criteria. + */ + listTargetingExpression?: Schema$ListTargetingExpression; + /** + * Name of this targeting template. This field is required. It must be less + * than 256 characters long and unique within an advertiser. + */ + name?: string; + /** + * Subaccount ID of this targeting template. This field, if left unset, will + * be auto-generated on insert and is read-only after insert. + */ + subaccountId?: string; + /** + * Technology platform targeting criteria. + */ + technologyTargeting?: Schema$TechnologyTargeting; + } + /** + * Targeting Template List Response + */ + interface Schema$TargetingTemplatesListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#targetingTemplatesListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + /** + * Targeting template collection. + */ + targetingTemplates?: Schema$TargetingTemplate[]; + } + /** + * Target Window. + */ + interface Schema$TargetWindow { + /** + * User-entered value. + */ + customHtml?: string; + /** + * Type of browser window for which the backup image of the flash creative + * can be displayed. + */ + targetWindowOption?: string; + } + /** + * Technology Targeting. + */ + interface Schema$TechnologyTargeting { + /** + * Browsers that this ad targets. For each browser either set + * browserVersionId or dartId along with the version numbers. If both are + * specified, only browserVersionId will be used. The other fields are + * populated automatically when the ad is inserted or updated. + */ + browsers?: Schema$Browser[]; + /** + * Connection types that this ad targets. For each connection type only id + * is required. The other fields are populated automatically when the ad is + * inserted or updated. + */ + connectionTypes?: Schema$ConnectionType[]; + /** + * Mobile carriers that this ad targets. For each mobile carrier only id is + * required, and the other fields are populated automatically when the ad is + * inserted or updated. If targeting a mobile carrier, do not set targeting + * for any zip codes. + */ + mobileCarriers?: Schema$MobileCarrier[]; + /** + * Operating systems that this ad targets. To target specific versions, use + * operatingSystemVersions. For each operating system only dartId is + * required. The other fields are populated automatically when the ad is + * inserted or updated. If targeting an operating system, do not set + * targeting for operating system versions for the same operating system. + */ + operatingSystems?: Schema$OperatingSystem[]; + /** + * Operating system versions that this ad targets. To target all versions, + * use operatingSystems. For each operating system version, only id is + * required. The other fields are populated automatically when the ad is + * inserted or updated. If targeting an operating system version, do not set + * targeting for the corresponding operating system in operatingSystems. + */ + operatingSystemVersions?: Schema$OperatingSystemVersion[]; + /** + * Platform types that this ad targets. For example, desktop, mobile, or + * tablet. For each platform type, only id is required, and the other fields + * are populated automatically when the ad is inserted or updated. + */ + platformTypes?: Schema$PlatformType[]; + } + /** + * Third Party Authentication Token + */ + interface Schema$ThirdPartyAuthenticationToken { + /** + * Name of the third-party authentication token. + */ + name?: string; + /** + * Value of the third-party authentication token. This is a read-only, + * auto-generated field. + */ + value?: string; + } + /** + * Third-party Tracking URL. + */ + interface Schema$ThirdPartyTrackingUrl { + /** + * Third-party URL type for in-stream video creatives. + */ + thirdPartyUrlType?: string; + /** + * URL for the specified third-party URL type. + */ + url?: string; + } + /** + * Transcode Settings + */ + interface Schema$TranscodeSetting { + /** + * Whitelist of video formats to be served to this placement. Set this list + * to null or empty to serve all video formats. + */ + enabledVideoFormats?: number[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#transcodeSetting". + */ + kind?: string; + } + /** + * A Universal Ad ID as per the VAST 4.0 spec. Applicable to the following + * creative types: INSTREAM_VIDEO and VPAID. + */ + interface Schema$UniversalAdId { + /** + * Registry used for the Ad ID value. + */ + registry?: string; + /** + * ID value for this creative. Only alphanumeric characters and the + * following symbols are valid: "_/\-". Maximum length is 64 + * characters. Read only when registry is DCM. + */ + value?: string; + } + /** + * User Defined Variable configuration. + */ + interface Schema$UserDefinedVariableConfiguration { + /** + * Data type for the variable. This is a required field. + */ + dataType?: string; + /** + * User-friendly name for the variable which will appear in reports. This is + * a required field, must be less than 64 characters long, and cannot + * contain the following characters: ""<>". + */ + reportName?: string; + /** + * Variable name in the tag. This is a required field. + */ + variableType?: string; + } + /** + * Represents a UserProfile resource. + */ + interface Schema$UserProfile { + /** + * The account ID to which this profile belongs. + */ + accountId?: string; + /** + * The account name this profile belongs to. + */ + accountName?: string; + /** + * The eTag of this response for caching purposes. + */ + etag?: string; + /** + * The kind of resource this is, in this case dfareporting#userProfile. + */ + kind?: string; + /** + * The unique ID of the user profile. + */ + profileId?: string; + /** + * The sub account ID this profile belongs to if applicable. + */ + subAccountId?: string; + /** + * The sub account name this profile belongs to if applicable. + */ + subAccountName?: string; + /** + * The user name. + */ + userName?: string; + } + /** + * Represents the list of user profiles. + */ + interface Schema$UserProfileList { + /** + * The eTag of this response for caching purposes. + */ + etag?: string; + /** + * The user profiles returned in this response. + */ + items?: Schema$UserProfile[]; + /** + * The kind of list this is, in this case dfareporting#userProfileList. + */ + kind?: string; + } + /** + * Contains properties of auser role, which is used to manage user access. + */ + interface Schema$UserRole { + /** + * Account ID of this user role. This is a read-only field that can be left + * blank. + */ + accountId?: string; + /** + * Whether this is a default user role. Default user roles are created by + * the system for the account/subaccount and cannot be modified or deleted. + * Each default user role comes with a basic set of preassigned permissions. + */ + defaultUserRole?: boolean; + /** + * ID of this user role. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#userRole". + */ + kind?: string; + /** + * Name of this user role. This is a required field. Must be less than 256 + * characters long. If this user role is under a subaccount, the name must + * be unique among sites of the same subaccount. Otherwise, this user role + * is a top-level user role, and the name must be unique among top-level + * user roles of the same account. + */ + name?: string; + /** + * ID of the user role that this user role is based on or copied from. This + * is a required field. + */ + parentUserRoleId?: string; + /** + * List of permissions associated with this user role. + */ + permissions?: Schema$UserRolePermission[]; + /** + * Subaccount ID of this user role. This is a read-only field that can be + * left blank. + */ + subaccountId?: string; + } + /** + * Contains properties of a user role permission. + */ + interface Schema$UserRolePermission { + /** + * Levels of availability for a user role permission. + */ + availability?: string; + /** + * ID of this user role permission. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#userRolePermission". + */ + kind?: string; + /** + * Name of this user role permission. + */ + name?: string; + /** + * ID of the permission group that this user role permission belongs to. + */ + permissionGroupId?: string; + } + /** + * Represents a grouping of related user role permissions. + */ + interface Schema$UserRolePermissionGroup { + /** + * ID of this user role permission. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#userRolePermissionGroup". + */ + kind?: string; + /** + * Name of this user role permission group. + */ + name?: string; + } + /** + * User Role Permission Group List Response + */ + interface Schema$UserRolePermissionGroupsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#userRolePermissionGroupsListResponse". + */ + kind?: string; + /** + * User role permission group collection. + */ + userRolePermissionGroups?: Schema$UserRolePermissionGroup[]; + } + /** + * User Role Permission List Response + */ + interface Schema$UserRolePermissionsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#userRolePermissionsListResponse". + */ + kind?: string; + /** + * User role permission collection. + */ + userRolePermissions?: Schema$UserRolePermission[]; + } + /** + * User Role List Response + */ + interface Schema$UserRolesListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#userRolesListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + /** + * User role collection. + */ + userRoles?: Schema$UserRole[]; + } + /** + * Contains information about supported video formats. + */ + interface Schema$VideoFormat { + /** + * File type of the video format. + */ + fileType?: string; + /** + * ID of the video format. + */ + id?: number; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#videoFormat". + */ + kind?: string; + /** + * The resolution of this video format. + */ + resolution?: Schema$Size; + /** + * The target bit rate of this video format. + */ + targetBitRate?: number; + } + /** + * Video Format List Response + */ + interface Schema$VideoFormatsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#videoFormatsListResponse". + */ + kind?: string; + /** + * Video format collection. + */ + videoFormats?: Schema$VideoFormat[]; + } + /** + * Video Offset + */ + interface Schema$VideoOffset { + /** + * Duration, as a percentage of video duration. Do not set when + * offsetSeconds is set. Acceptable values are 0 to 100, inclusive. + */ + offsetPercentage?: number; + /** + * Duration, in seconds. Do not set when offsetPercentage is set. Acceptable + * values are 0 to 86399, inclusive. + */ + offsetSeconds?: number; + } + /** + * Video Settings + */ + interface Schema$VideoSettings { + /** + * Settings for the companion creatives of video creatives served to this + * placement. + */ + companionSettings?: Schema$CompanionSetting; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#videoSettings". + */ + kind?: string; + /** + * Orientation of a video placement. If this value is set, placement will + * return assets matching the specified orientation. + */ + orientation?: string; + /** + * Settings for the skippability of video creatives served to this + * placement. If this object is provided, the creative-level skippable + * settings will be overridden. + */ + skippableSettings?: Schema$SkippableSetting; + /** + * Settings for the transcodes of video creatives served to this placement. + * If this object is provided, the creative-level transcode settings will be + * overridden. + */ + transcodeSettings?: Schema$TranscodeSetting; + } + class Resource$Accountactiveadsummaries { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.accountActiveAdSummaries.get + * @desc Gets the account's active ad summary by account ID. + * @alias dfareporting.accountActiveAdSummaries.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {string} params.summaryAccountId Account ID. + * @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?: Params$Resource$Accountactiveadsummaries$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accountactiveadsummaries$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accountactiveadsummaries$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accountactiveadsummaries$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Account ID. + */ + summaryAccountId?: string; + } + class Resource$Accountpermissiongroups { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.accountPermissionGroups.get + * @desc Gets one account permission group by ID. + * @alias dfareporting.accountPermissionGroups.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Account permission group ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Accountpermissiongroups$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accountpermissiongroups$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accountpermissiongroups$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.accountPermissionGroups.list + * @desc Retrieves the list of account permission groups. + * @alias dfareporting.accountPermissionGroups.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Accountpermissiongroups$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accountpermissiongroups$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accountpermissiongroups$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accountpermissiongroups$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account permission group ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Accountpermissiongroups$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Accountpermissions { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.accountPermissions.get + * @desc Gets one account permission by ID. + * @alias dfareporting.accountPermissions.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Account permission ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Accountpermissions$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accountpermissions$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accountpermissions$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.accountPermissions.list + * @desc Retrieves the list of account permissions. + * @alias dfareporting.accountPermissions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Accountpermissions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accountpermissions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accountpermissions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accountpermissions$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account permission ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Accountpermissions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Accounts { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.accounts.get + * @desc Gets one account by ID. + * @alias dfareporting.accounts.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Account ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Accounts$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accounts$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accounts$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.accounts.list + * @desc Retrieves the list of accounts, possibly filtered. This method + * supports paging. + * @alias dfareporting.accounts.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.active Select only active accounts. Don't set this field to select both active and non-active accounts. + * @param {string=} params.ids Select only accounts with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "account*2015" will return objects with names like "account June 2015", "account April 2015", or simply "account 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "account" will match objects with name "my account", "account 2015", or simply "account". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Accounts$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accounts$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accounts$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.accounts.patch + * @desc Updates an existing account. This method supports patch semantics. + * @alias dfareporting.accounts.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Account ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Account} 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 + */ + patch(params?: Params$Resource$Accounts$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Accounts$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Accounts$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.accounts.update + * @desc Updates an existing account. + * @alias dfareporting.accounts.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Account} 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?: Params$Resource$Accounts$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Accounts$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Accounts$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Accounts$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only active accounts. Don't set this field to select both active + * and non-active accounts. + */ + active?: boolean; + /** + * Select only accounts with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "account*2015" will return objects with names like "account + * June 2015", "account April 2015", or simply "account 2015". Most of the + * searches also add wildcards implicitly at the start and the end of the + * search string. For example, a search string of "account" will match + * objects with name "my account", "account 2015", or simply "account". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + interface Params$Resource$Accounts$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Account; + } + interface Params$Resource$Accounts$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Account; + } + class Resource$Accountuserprofiles { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.accountUserProfiles.get + * @desc Gets one account user profile by ID. + * @alias dfareporting.accountUserProfiles.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id User profile ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Accountuserprofiles$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accountuserprofiles$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accountuserprofiles$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.accountUserProfiles.insert + * @desc Inserts a new account user profile. + * @alias dfareporting.accountUserProfiles.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().AccountUserProfile} 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?: Params$Resource$Accountuserprofiles$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Accountuserprofiles$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Accountuserprofiles$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.accountUserProfiles.list + * @desc Retrieves a list of account user profiles, possibly filtered. This + * method supports paging. + * @alias dfareporting.accountUserProfiles.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.active Select only active user profiles. + * @param {string=} params.ids Select only user profiles with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name, ID or email. Wildcards (*) are allowed. For example, "user profile*2015" will return objects with names like "user profile June 2015", "user profile April 2015", or simply "user profile 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "user profile" will match objects with name "my user profile", "user profile 2015", or simply "user profile". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @param {string=} params.subaccountId Select only user profiles with the specified subaccount ID. + * @param {string=} params.userRoleId Select only user profiles with the specified user role ID. + * @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?: Params$Resource$Accountuserprofiles$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accountuserprofiles$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accountuserprofiles$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.accountUserProfiles.patch + * @desc Updates an existing account user profile. This method supports + * patch semantics. + * @alias dfareporting.accountUserProfiles.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id User profile ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().AccountUserProfile} 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 + */ + patch(params?: Params$Resource$Accountuserprofiles$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Accountuserprofiles$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Accountuserprofiles$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.accountUserProfiles.update + * @desc Updates an existing account user profile. + * @alias dfareporting.accountUserProfiles.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().AccountUserProfile} 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?: Params$Resource$Accountuserprofiles$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Accountuserprofiles$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Accountuserprofiles$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accountuserprofiles$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Accountuserprofiles$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AccountUserProfile; + } + interface Params$Resource$Accountuserprofiles$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only active user profiles. + */ + active?: boolean; + /** + * Select only user profiles with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name, ID or email. Wildcards (*) are + * allowed. For example, "user profile*2015" will return objects with names + * like "user profile June 2015", "user profile April 2015", or simply "user + * profile 2015". Most of the searches also add wildcards implicitly at the + * start and the end of the search string. For example, a search string of + * "user profile" will match objects with name "my user profile", "user + * profile 2015", or simply "user profile". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + /** + * Select only user profiles with the specified subaccount ID. + */ + subaccountId?: string; + /** + * Select only user profiles with the specified user role ID. + */ + userRoleId?: string; + } + interface Params$Resource$Accountuserprofiles$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AccountUserProfile; + } + interface Params$Resource$Accountuserprofiles$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AccountUserProfile; + } + class Resource$Ads { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.ads.get + * @desc Gets one ad by ID. + * @alias dfareporting.ads.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Ad ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Ads$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Ads$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Ads$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.ads.insert + * @desc Inserts a new ad. + * @alias dfareporting.ads.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Ad} 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?: Params$Resource$Ads$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Ads$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Ads$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.ads.list + * @desc Retrieves a list of ads, possibly filtered. This method supports + * paging. + * @alias dfareporting.ads.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.active Select only active ads. + * @param {string=} params.advertiserId Select only ads with this advertiser ID. + * @param {boolean=} params.archived Select only archived ads. + * @param {string=} params.audienceSegmentIds Select only ads with these audience segment IDs. + * @param {string=} params.campaignIds Select only ads with these campaign IDs. + * @param {string=} params.compatibility Select default ads with the specified compatibility. Applicable when type is AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop or on mobile devices for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO refers to rendering an in-stream video ads developed with the VAST standard. + * @param {string=} params.creativeIds Select only ads with these creative IDs assigned. + * @param {string=} params.creativeOptimizationConfigurationIds Select only ads with these creative optimization configuration IDs. + * @param {boolean=} params.dynamicClickTracker Select only dynamic click trackers. Applicable when type is AD_SERVING_CLICK_TRACKER. If true, select dynamic click trackers. If false, select static click trackers. Leave unset to select both. + * @param {string=} params.ids Select only ads with these IDs. + * @param {string=} params.landingPageIds Select only ads with these landing page IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.overriddenEventTagId Select only ads with this event tag override ID. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string=} params.placementIds Select only ads with these placement IDs assigned. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.remarketingListIds Select only ads whose list targeting expression use these remarketing list IDs. + * @param {string=} params.searchString Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "ad*2015" will return objects with names like "ad June 2015", "ad April 2015", or simply "ad 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "ad" will match objects with name "my ad", "ad 2015", or simply "ad". + * @param {string=} params.sizeIds Select only ads with these size IDs. + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @param {boolean=} params.sslCompliant Select only ads that are SSL-compliant. + * @param {boolean=} params.sslRequired Select only ads that require SSL. + * @param {string=} params.type Select only ads with these types. + * @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?: Params$Resource$Ads$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Ads$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Ads$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.ads.patch + * @desc Updates an existing ad. This method supports patch semantics. + * @alias dfareporting.ads.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Ad ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Ad} 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 + */ + patch(params?: Params$Resource$Ads$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Ads$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Ads$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.ads.update + * @desc Updates an existing ad. + * @alias dfareporting.ads.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Ad} 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?: Params$Resource$Ads$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Ads$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Ads$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Ads$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Ad ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Ads$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Ad; + } + interface Params$Resource$Ads$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only active ads. + */ + active?: boolean; + /** + * Select only ads with this advertiser ID. + */ + advertiserId?: string; + /** + * Select only archived ads. + */ + archived?: boolean; + /** + * Select only ads with these audience segment IDs. + */ + audienceSegmentIds?: string; + /** + * Select only ads with these campaign IDs. + */ + campaignIds?: string; + /** + * Select default ads with the specified compatibility. Applicable when type + * is AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer to + * rendering either on desktop or on mobile devices for regular or + * interstitial ads, respectively. APP and APP_INTERSTITIAL are for + * rendering in mobile apps. IN_STREAM_VIDEO refers to rendering an + * in-stream video ads developed with the VAST standard. + */ + compatibility?: string; + /** + * Select only ads with these creative IDs assigned. + */ + creativeIds?: string; + /** + * Select only ads with these creative optimization configuration IDs. + */ + creativeOptimizationConfigurationIds?: string; + /** + * Select only dynamic click trackers. Applicable when type is + * AD_SERVING_CLICK_TRACKER. If true, select dynamic click trackers. If + * false, select static click trackers. Leave unset to select both. + */ + dynamicClickTracker?: boolean; + /** + * Select only ads with these IDs. + */ + ids?: string; + /** + * Select only ads with these landing page IDs. + */ + landingPageIds?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Select only ads with this event tag override ID. + */ + overriddenEventTagId?: string; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * Select only ads with these placement IDs assigned. + */ + placementIds?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Select only ads whose list targeting expression use these remarketing + * list IDs. + */ + remarketingListIds?: string; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "ad*2015" will return objects with names like "ad June + * 2015", "ad April 2015", or simply "ad 2015". Most of the searches also + * add wildcards implicitly at the start and the end of the search string. + * For example, a search string of "ad" will match objects with name "my + * ad", "ad 2015", or simply "ad". + */ + searchString?: string; + /** + * Select only ads with these size IDs. + */ + sizeIds?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + /** + * Select only ads that are SSL-compliant. + */ + sslCompliant?: boolean; + /** + * Select only ads that require SSL. + */ + sslRequired?: boolean; + /** + * Select only ads with these types. + */ + type?: string; + } + interface Params$Resource$Ads$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Ad ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Ad; + } + interface Params$Resource$Ads$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Ad; + } + class Resource$Advertisergroups { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.advertiserGroups.delete + * @desc Deletes an existing advertiser group. + * @alias dfareporting.advertiserGroups.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Advertiser group ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Advertisergroups$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Advertisergroups$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Advertisergroups$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dfareporting.advertiserGroups.get + * @desc Gets one advertiser group by ID. + * @alias dfareporting.advertiserGroups.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Advertiser group ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Advertisergroups$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Advertisergroups$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Advertisergroups$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.advertiserGroups.insert + * @desc Inserts a new advertiser group. + * @alias dfareporting.advertiserGroups.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().AdvertiserGroup} 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?: Params$Resource$Advertisergroups$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Advertisergroups$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Advertisergroups$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.advertiserGroups.list + * @desc Retrieves a list of advertiser groups, possibly filtered. This + * method supports paging. + * @alias dfareporting.advertiserGroups.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.ids Select only advertiser groups with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "advertiser*2015" will return objects with names like "advertiser group June 2015", "advertiser group April 2015", or simply "advertiser group 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "advertisergroup" will match objects with name "my advertisergroup", "advertisergroup 2015", or simply "advertisergroup". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Advertisergroups$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Advertisergroups$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Advertisergroups$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.advertiserGroups.patch + * @desc Updates an existing advertiser group. This method supports patch + * semantics. + * @alias dfareporting.advertiserGroups.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Advertiser group ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().AdvertiserGroup} 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 + */ + patch(params?: Params$Resource$Advertisergroups$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Advertisergroups$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Advertisergroups$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.advertiserGroups.update + * @desc Updates an existing advertiser group. + * @alias dfareporting.advertiserGroups.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().AdvertiserGroup} 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?: Params$Resource$Advertisergroups$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Advertisergroups$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Advertisergroups$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Advertisergroups$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Advertiser group ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Advertisergroups$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Advertiser group ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Advertisergroups$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AdvertiserGroup; + } + interface Params$Resource$Advertisergroups$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only advertiser groups with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "advertiser*2015" will return objects with names like + * "advertiser group June 2015", "advertiser group April 2015", or simply + * "advertiser group 2015". Most of the searches also add wildcards + * implicitly at the start and the end of the search string. For example, a + * search string of "advertisergroup" will match objects with name "my + * advertisergroup", "advertisergroup 2015", or simply "advertisergroup". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + interface Params$Resource$Advertisergroups$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Advertiser group ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AdvertiserGroup; + } + interface Params$Resource$Advertisergroups$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AdvertiserGroup; + } + class Resource$Advertiserlandingpages { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.advertiserLandingPages.get + * @desc Gets one landing page by ID. + * @alias dfareporting.advertiserLandingPages.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Landing page ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Advertiserlandingpages$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Advertiserlandingpages$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Advertiserlandingpages$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.advertiserLandingPages.insert + * @desc Inserts a new landing page. + * @alias dfareporting.advertiserLandingPages.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().LandingPage} 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?: Params$Resource$Advertiserlandingpages$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Advertiserlandingpages$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Advertiserlandingpages$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.advertiserLandingPages.list + * @desc Retrieves a list of landing pages. + * @alias dfareporting.advertiserLandingPages.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.advertiserIds Select only landing pages that belong to these advertisers. + * @param {boolean=} params.archived Select only archived landing pages. Don't set this field to select both archived and non-archived landing pages. + * @param {string=} params.ids Select only landing pages with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for landing pages by name or ID. Wildcards (*) are allowed. For example, "landingpage*2017" will return landing pages with names like "landingpage July 2017", "landingpage March 2017", or simply "landingpage 2017". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "landingpage" will match campaigns with name "my landingpage", "landingpage 2015", or simply "landingpage". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @param {string=} params.subaccountId Select only landing pages that belong to this subaccount. + * @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?: Params$Resource$Advertiserlandingpages$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Advertiserlandingpages$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Advertiserlandingpages$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.advertiserLandingPages.patch + * @desc Updates an existing landing page. This method supports patch + * semantics. + * @alias dfareporting.advertiserLandingPages.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Landing page ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().LandingPage} 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 + */ + patch(params?: Params$Resource$Advertiserlandingpages$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Advertiserlandingpages$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Advertiserlandingpages$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.advertiserLandingPages.update + * @desc Updates an existing landing page. + * @alias dfareporting.advertiserLandingPages.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().LandingPage} 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?: Params$Resource$Advertiserlandingpages$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Advertiserlandingpages$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Advertiserlandingpages$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Advertiserlandingpages$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Landing page ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Advertiserlandingpages$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$LandingPage; + } + interface Params$Resource$Advertiserlandingpages$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only landing pages that belong to these advertisers. + */ + advertiserIds?: string; + /** + * Select only archived landing pages. Don't set this field to select both + * archived and non-archived landing pages. + */ + archived?: boolean; + /** + * Select only landing pages with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for landing pages by name or ID. Wildcards (*) are + * allowed. For example, "landingpage*2017" will return landing pages with + * names like "landingpage July 2017", "landingpage March 2017", or simply + * "landingpage 2017". Most of the searches also add wildcards implicitly at + * the start and the end of the search string. For example, a search string + * of "landingpage" will match campaigns with name "my landingpage", + * "landingpage 2015", or simply "landingpage". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + /** + * Select only landing pages that belong to this subaccount. + */ + subaccountId?: string; + } + interface Params$Resource$Advertiserlandingpages$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Landing page ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$LandingPage; + } + interface Params$Resource$Advertiserlandingpages$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$LandingPage; + } + class Resource$Advertisers { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.advertisers.get + * @desc Gets one advertiser by ID. + * @alias dfareporting.advertisers.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Advertiser ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Advertisers$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Advertisers$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Advertisers$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.advertisers.insert + * @desc Inserts a new advertiser. + * @alias dfareporting.advertisers.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Advertiser} 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?: Params$Resource$Advertisers$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Advertisers$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Advertisers$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.advertisers.list + * @desc Retrieves a list of advertisers, possibly filtered. This method + * supports paging. + * @alias dfareporting.advertisers.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.advertiserGroupIds Select only advertisers with these advertiser group IDs. + * @param {string=} params.floodlightConfigurationIds Select only advertisers with these floodlight configuration IDs. + * @param {string=} params.ids Select only advertisers with these IDs. + * @param {boolean=} params.includeAdvertisersWithoutGroupsOnly Select only advertisers which do not belong to any advertiser group. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {boolean=} params.onlyParent Select only advertisers which use another advertiser's floodlight configuration. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "advertiser*2015" will return objects with names like "advertiser June 2015", "advertiser April 2015", or simply "advertiser 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "advertiser" will match objects with name "my advertiser", "advertiser 2015", or simply "advertiser". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @param {string=} params.status Select only advertisers with the specified status. + * @param {string=} params.subaccountId Select only advertisers with these subaccount IDs. + * @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?: Params$Resource$Advertisers$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Advertisers$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Advertisers$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.advertisers.patch + * @desc Updates an existing advertiser. This method supports patch + * semantics. + * @alias dfareporting.advertisers.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Advertiser ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Advertiser} 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 + */ + patch(params?: Params$Resource$Advertisers$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Advertisers$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Advertisers$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.advertisers.update + * @desc Updates an existing advertiser. + * @alias dfareporting.advertisers.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Advertiser} 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?: Params$Resource$Advertisers$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Advertisers$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Advertisers$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Advertisers$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Advertiser ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Advertisers$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Advertiser; + } + interface Params$Resource$Advertisers$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only advertisers with these advertiser group IDs. + */ + advertiserGroupIds?: string; + /** + * Select only advertisers with these floodlight configuration IDs. + */ + floodlightConfigurationIds?: string; + /** + * Select only advertisers with these IDs. + */ + ids?: string; + /** + * Select only advertisers which do not belong to any advertiser group. + */ + includeAdvertisersWithoutGroupsOnly?: boolean; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Select only advertisers which use another advertiser's floodlight + * configuration. + */ + onlyParent?: boolean; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "advertiser*2015" will return objects with names like + * "advertiser June 2015", "advertiser April 2015", or simply "advertiser + * 2015". Most of the searches also add wildcards implicitly at the start + * and the end of the search string. For example, a search string of + * "advertiser" will match objects with name "my advertiser", "advertiser + * 2015", or simply "advertiser". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + /** + * Select only advertisers with the specified status. + */ + status?: string; + /** + * Select only advertisers with these subaccount IDs. + */ + subaccountId?: string; + } + interface Params$Resource$Advertisers$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Advertiser ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Advertiser; + } + interface Params$Resource$Advertisers$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Advertiser; + } + class Resource$Browsers { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.browsers.list + * @desc Retrieves a list of browsers. + * @alias dfareporting.browsers.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Browsers$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Browsers$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Browsers$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Browsers$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Campaigncreativeassociations { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.campaignCreativeAssociations.insert + * @desc Associates a creative with the specified campaign. This method + * creates a default ad with dimensions matching the creative in the + * campaign if such a default ad does not exist already. + * @alias dfareporting.campaignCreativeAssociations.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.campaignId Campaign ID in this association. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().CampaignCreativeAssociation} 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?: Params$Resource$Campaigncreativeassociations$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Campaigncreativeassociations$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Campaigncreativeassociations$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.campaignCreativeAssociations.list + * @desc Retrieves the list of creative IDs associated with the specified + * campaign. This method supports paging. + * @alias dfareporting.campaignCreativeAssociations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.campaignId Campaign ID in this association. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Campaigncreativeassociations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Campaigncreativeassociations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Campaigncreativeassociations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Campaigncreativeassociations$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Campaign ID in this association. + */ + campaignId?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CampaignCreativeAssociation; + } + interface Params$Resource$Campaigncreativeassociations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Campaign ID in this association. + */ + campaignId?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + class Resource$Campaigns { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.campaigns.get + * @desc Gets one campaign by ID. + * @alias dfareporting.campaigns.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Campaign ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Campaigns$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Campaigns$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Campaigns$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.campaigns.insert + * @desc Inserts a new campaign. + * @alias dfareporting.campaigns.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Campaign} 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?: Params$Resource$Campaigns$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Campaigns$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Campaigns$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.campaigns.list + * @desc Retrieves a list of campaigns, possibly filtered. This method + * supports paging. + * @alias dfareporting.campaigns.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.advertiserGroupIds Select only campaigns whose advertisers belong to these advertiser groups. + * @param {string=} params.advertiserIds Select only campaigns that belong to these advertisers. + * @param {boolean=} params.archived Select only archived campaigns. Don't set this field to select both archived and non-archived campaigns. + * @param {boolean=} params.atLeastOneOptimizationActivity Select only campaigns that have at least one optimization activity. + * @param {string=} params.excludedIds Exclude campaigns with these IDs. + * @param {string=} params.ids Select only campaigns with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.overriddenEventTagId Select only campaigns that have overridden this event tag ID. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for campaigns by name or ID. Wildcards (*) are allowed. For example, "campaign*2015" will return campaigns with names like "campaign June 2015", "campaign April 2015", or simply "campaign 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "campaign" will match campaigns with name "my campaign", "campaign 2015", or simply "campaign". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @param {string=} params.subaccountId Select only campaigns that belong to this subaccount. + * @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?: Params$Resource$Campaigns$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Campaigns$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Campaigns$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.campaigns.patch + * @desc Updates an existing campaign. This method supports patch semantics. + * @alias dfareporting.campaigns.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Campaign ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Campaign} 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 + */ + patch(params?: Params$Resource$Campaigns$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Campaigns$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Campaigns$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.campaigns.update + * @desc Updates an existing campaign. + * @alias dfareporting.campaigns.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Campaign} 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?: Params$Resource$Campaigns$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Campaigns$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Campaigns$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Campaigns$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Campaign ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Campaigns$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Campaign; + } + interface Params$Resource$Campaigns$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only campaigns whose advertisers belong to these advertiser + * groups. + */ + advertiserGroupIds?: string; + /** + * Select only campaigns that belong to these advertisers. + */ + advertiserIds?: string; + /** + * Select only archived campaigns. Don't set this field to select both + * archived and non-archived campaigns. + */ + archived?: boolean; + /** + * Select only campaigns that have at least one optimization activity. + */ + atLeastOneOptimizationActivity?: boolean; + /** + * Exclude campaigns with these IDs. + */ + excludedIds?: string; + /** + * Select only campaigns with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Select only campaigns that have overridden this event tag ID. + */ + overriddenEventTagId?: string; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for campaigns by name or ID. Wildcards (*) are allowed. + * For example, "campaign*2015" will return campaigns with names like + * "campaign June 2015", "campaign April 2015", or simply "campaign 2015". + * Most of the searches also add wildcards implicitly at the start and the + * end of the search string. For example, a search string of "campaign" will + * match campaigns with name "my campaign", "campaign 2015", or simply + * "campaign". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + /** + * Select only campaigns that belong to this subaccount. + */ + subaccountId?: string; + } + interface Params$Resource$Campaigns$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Campaign ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Campaign; + } + interface Params$Resource$Campaigns$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Campaign; + } + class Resource$Changelogs { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.changeLogs.get + * @desc Gets one change log by ID. + * @alias dfareporting.changeLogs.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Change log ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Changelogs$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Changelogs$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Changelogs$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.changeLogs.list + * @desc Retrieves a list of change logs. This method supports paging. + * @alias dfareporting.changeLogs.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.action Select only change logs with the specified action. + * @param {string=} params.ids Select only change logs with these IDs. + * @param {string=} params.maxChangeTime Select only change logs whose change time is before the specified maxChangeTime.The time should be formatted as an RFC3339 date/time string. For example, for 10:54 PM on July 18th, 2015, in the America/New York time zone, the format is "2015-07-18T22:54:00-04:00". In other words, the year, month, day, the letter T, the hour (24-hour clock system), minute, second, and then the time zone offset. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.minChangeTime Select only change logs whose change time is before the specified minChangeTime.The time should be formatted as an RFC3339 date/time string. For example, for 10:54 PM on July 18th, 2015, in the America/New York time zone, the format is "2015-07-18T22:54:00-04:00". In other words, the year, month, day, the letter T, the hour (24-hour clock system), minute, second, and then the time zone offset. + * @param {string=} params.objectIds Select only change logs with these object IDs. + * @param {string=} params.objectType Select only change logs with the specified object type. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Select only change logs whose object ID, user name, old or new values match the search string. + * @param {string=} params.userProfileIds Select only change logs with these user profile IDs. + * @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?: Params$Resource$Changelogs$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Changelogs$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Changelogs$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Changelogs$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Change log ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Changelogs$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only change logs with the specified action. + */ + action?: string; + /** + * Select only change logs with these IDs. + */ + ids?: string; + /** + * Select only change logs whose change time is before the specified + * maxChangeTime.The time should be formatted as an RFC3339 date/time + * string. For example, for 10:54 PM on July 18th, 2015, in the America/New + * York time zone, the format is "2015-07-18T22:54:00-04:00". In other + * words, the year, month, day, the letter T, the hour (24-hour clock + * system), minute, second, and then the time zone offset. + */ + maxChangeTime?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Select only change logs whose change time is before the specified + * minChangeTime.The time should be formatted as an RFC3339 date/time + * string. For example, for 10:54 PM on July 18th, 2015, in the America/New + * York time zone, the format is "2015-07-18T22:54:00-04:00". In other + * words, the year, month, day, the letter T, the hour (24-hour clock + * system), minute, second, and then the time zone offset. + */ + minChangeTime?: string; + /** + * Select only change logs with these object IDs. + */ + objectIds?: string; + /** + * Select only change logs with the specified object type. + */ + objectType?: string; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Select only change logs whose object ID, user name, old or new values + * match the search string. + */ + searchString?: string; + /** + * Select only change logs with these user profile IDs. + */ + userProfileIds?: string; + } + class Resource$Cities { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.cities.list + * @desc Retrieves a list of cities, possibly filtered. + * @alias dfareporting.cities.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.countryDartIds Select only cities from these countries. + * @param {string=} params.dartIds Select only cities with these DART IDs. + * @param {string=} params.namePrefix Select only cities with names starting with this prefix. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.regionDartIds Select only cities from these regions. + * @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?: Params$Resource$Cities$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Cities$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Cities$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Cities$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only cities from these countries. + */ + countryDartIds?: string; + /** + * Select only cities with these DART IDs. + */ + dartIds?: string; + /** + * Select only cities with names starting with this prefix. + */ + namePrefix?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Select only cities from these regions. + */ + regionDartIds?: string; + } + class Resource$Connectiontypes { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.connectionTypes.get + * @desc Gets one connection type by ID. + * @alias dfareporting.connectionTypes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Connection type ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Connectiontypes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Connectiontypes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Connectiontypes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.connectionTypes.list + * @desc Retrieves a list of connection types. + * @alias dfareporting.connectionTypes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Connectiontypes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Connectiontypes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Connectiontypes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Connectiontypes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Connection type ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Connectiontypes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Contentcategories { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.contentCategories.delete + * @desc Deletes an existing content category. + * @alias dfareporting.contentCategories.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Content category ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Contentcategories$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Contentcategories$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Contentcategories$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dfareporting.contentCategories.get + * @desc Gets one content category by ID. + * @alias dfareporting.contentCategories.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Content category ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Contentcategories$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Contentcategories$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Contentcategories$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.contentCategories.insert + * @desc Inserts a new content category. + * @alias dfareporting.contentCategories.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().ContentCategory} 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?: Params$Resource$Contentcategories$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Contentcategories$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Contentcategories$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.contentCategories.list + * @desc Retrieves a list of content categories, possibly filtered. This + * method supports paging. + * @alias dfareporting.contentCategories.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.ids Select only content categories with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "contentcategory*2015" will return objects with names like "contentcategory June 2015", "contentcategory April 2015", or simply "contentcategory 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "contentcategory" will match objects with name "my contentcategory", "contentcategory 2015", or simply "contentcategory". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Contentcategories$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Contentcategories$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Contentcategories$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.contentCategories.patch + * @desc Updates an existing content category. This method supports patch + * semantics. + * @alias dfareporting.contentCategories.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Content category ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().ContentCategory} 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 + */ + patch(params?: Params$Resource$Contentcategories$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Contentcategories$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Contentcategories$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.contentCategories.update + * @desc Updates an existing content category. + * @alias dfareporting.contentCategories.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().ContentCategory} 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?: Params$Resource$Contentcategories$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Contentcategories$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Contentcategories$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Contentcategories$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Content category ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Contentcategories$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Content category ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Contentcategories$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ContentCategory; + } + interface Params$Resource$Contentcategories$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only content categories with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "contentcategory*2015" will return objects with names like + * "contentcategory June 2015", "contentcategory April 2015", or simply + * "contentcategory 2015". Most of the searches also add wildcards + * implicitly at the start and the end of the search string. For example, a + * search string of "contentcategory" will match objects with name "my + * contentcategory", "contentcategory 2015", or simply "contentcategory". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + interface Params$Resource$Contentcategories$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Content category ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ContentCategory; + } + interface Params$Resource$Contentcategories$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ContentCategory; + } + class Resource$Conversions { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.conversions.batchinsert + * @desc Inserts conversions. + * @alias dfareporting.conversions.batchinsert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().ConversionsBatchInsertRequest} 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 + */ + batchinsert(params?: Params$Resource$Conversions$Batchinsert, options?: MethodOptions): AxiosPromise; + batchinsert(params: Params$Resource$Conversions$Batchinsert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + batchinsert(params: Params$Resource$Conversions$Batchinsert, callback: BodyResponseCallback): void; + batchinsert(callback: BodyResponseCallback): void; + /** + * dfareporting.conversions.batchupdate + * @desc Updates existing conversions. + * @alias dfareporting.conversions.batchupdate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().ConversionsBatchUpdateRequest} 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 + */ + batchupdate(params?: Params$Resource$Conversions$Batchupdate, options?: MethodOptions): AxiosPromise; + batchupdate(params: Params$Resource$Conversions$Batchupdate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + batchupdate(params: Params$Resource$Conversions$Batchupdate, callback: BodyResponseCallback): void; + batchupdate(callback: BodyResponseCallback): void; + } + interface Params$Resource$Conversions$Batchinsert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ConversionsBatchInsertRequest; + } + interface Params$Resource$Conversions$Batchupdate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ConversionsBatchUpdateRequest; + } + class Resource$Countries { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.countries.get + * @desc Gets one country by ID. + * @alias dfareporting.countries.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.dartId Country DART ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Countries$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Countries$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Countries$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.countries.list + * @desc Retrieves a list of countries. + * @alias dfareporting.countries.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Countries$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Countries$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Countries$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Countries$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Country DART ID. + */ + dartId?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Countries$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Creativeassets { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.creativeAssets.insert + * @desc Inserts a new creative asset. + * @alias dfareporting.creativeAssets.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.advertiserId Advertiser ID of this creative. This is a required field. + * @param {string} params.profileId User profile ID associated with this request. + * @param {object} params.resource Media resource metadata + * @param {object} params.media Media object + * @param {string} params.media.mimeType Media mime-type + * @param {string|object} params.media.body Media body contents + * @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?: Params$Resource$Creativeassets$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Creativeassets$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Creativeassets$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + } + interface Params$Resource$Creativeassets$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Advertiser ID of this creative. This is a required field. + */ + advertiserId?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreativeAssetMetadata; + /** + * Media metadata + */ + media?: { + /** + * Media mime-type + */ + mediaType?: string; + /** + * Media body contents + */ + body?: any; + }; + } + class Resource$Creativefields { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.creativeFields.delete + * @desc Deletes an existing creative field. + * @alias dfareporting.creativeFields.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Creative Field ID + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Creativefields$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Creativefields$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Creativefields$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dfareporting.creativeFields.get + * @desc Gets one creative field by ID. + * @alias dfareporting.creativeFields.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Creative Field ID + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Creativefields$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Creativefields$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Creativefields$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.creativeFields.insert + * @desc Inserts a new creative field. + * @alias dfareporting.creativeFields.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().CreativeField} 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?: Params$Resource$Creativefields$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Creativefields$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Creativefields$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.creativeFields.list + * @desc Retrieves a list of creative fields, possibly filtered. This method + * supports paging. + * @alias dfareporting.creativeFields.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.advertiserIds Select only creative fields that belong to these advertisers. + * @param {string=} params.ids Select only creative fields with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for creative fields by name or ID. Wildcards (*) are allowed. For example, "creativefield*2015" will return creative fields with names like "creativefield June 2015", "creativefield April 2015", or simply "creativefield 2015". Most of the searches also add wild-cards implicitly at the start and the end of the search string. For example, a search string of "creativefield" will match creative fields with the name "my creativefield", "creativefield 2015", or simply "creativefield". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Creativefields$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Creativefields$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Creativefields$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.creativeFields.patch + * @desc Updates an existing creative field. This method supports patch + * semantics. + * @alias dfareporting.creativeFields.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Creative Field ID + * @param {string} params.profileId User profile ID associated with this request. + * @param {().CreativeField} 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 + */ + patch(params?: Params$Resource$Creativefields$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Creativefields$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Creativefields$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.creativeFields.update + * @desc Updates an existing creative field. + * @alias dfareporting.creativeFields.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().CreativeField} 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?: Params$Resource$Creativefields$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Creativefields$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Creativefields$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Creativefields$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Creative Field ID + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Creativefields$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Creative Field ID + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Creativefields$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreativeField; + } + interface Params$Resource$Creativefields$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only creative fields that belong to these advertisers. + */ + advertiserIds?: string; + /** + * Select only creative fields with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for creative fields by name or ID. Wildcards (*) are + * allowed. For example, "creativefield*2015" will return creative fields + * with names like "creativefield June 2015", "creativefield April 2015", or + * simply "creativefield 2015". Most of the searches also add wild-cards + * implicitly at the start and the end of the search string. For example, a + * search string of "creativefield" will match creative fields with the name + * "my creativefield", "creativefield 2015", or simply "creativefield". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + interface Params$Resource$Creativefields$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Creative Field ID + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreativeField; + } + interface Params$Resource$Creativefields$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreativeField; + } + class Resource$Creativefieldvalues { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.creativeFieldValues.delete + * @desc Deletes an existing creative field value. + * @alias dfareporting.creativeFieldValues.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.creativeFieldId Creative field ID for this creative field value. + * @param {string} params.id Creative Field Value ID + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Creativefieldvalues$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Creativefieldvalues$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Creativefieldvalues$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dfareporting.creativeFieldValues.get + * @desc Gets one creative field value by ID. + * @alias dfareporting.creativeFieldValues.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.creativeFieldId Creative field ID for this creative field value. + * @param {string} params.id Creative Field Value ID + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Creativefieldvalues$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Creativefieldvalues$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Creativefieldvalues$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.creativeFieldValues.insert + * @desc Inserts a new creative field value. + * @alias dfareporting.creativeFieldValues.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.creativeFieldId Creative field ID for this creative field value. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().CreativeFieldValue} 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?: Params$Resource$Creativefieldvalues$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Creativefieldvalues$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Creativefieldvalues$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.creativeFieldValues.list + * @desc Retrieves a list of creative field values, possibly filtered. This + * method supports paging. + * @alias dfareporting.creativeFieldValues.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.creativeFieldId Creative field ID for this creative field value. + * @param {string=} params.ids Select only creative field values with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for creative field values by their values. Wildcards (e.g. *) are not allowed. + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Creativefieldvalues$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Creativefieldvalues$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Creativefieldvalues$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.creativeFieldValues.patch + * @desc Updates an existing creative field value. This method supports + * patch semantics. + * @alias dfareporting.creativeFieldValues.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.creativeFieldId Creative field ID for this creative field value. + * @param {string} params.id Creative Field Value ID + * @param {string} params.profileId User profile ID associated with this request. + * @param {().CreativeFieldValue} 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 + */ + patch(params?: Params$Resource$Creativefieldvalues$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Creativefieldvalues$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Creativefieldvalues$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.creativeFieldValues.update + * @desc Updates an existing creative field value. + * @alias dfareporting.creativeFieldValues.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.creativeFieldId Creative field ID for this creative field value. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().CreativeFieldValue} 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?: Params$Resource$Creativefieldvalues$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Creativefieldvalues$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Creativefieldvalues$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Creativefieldvalues$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Creative field ID for this creative field value. + */ + creativeFieldId?: string; + /** + * Creative Field Value ID + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Creativefieldvalues$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Creative field ID for this creative field value. + */ + creativeFieldId?: string; + /** + * Creative Field Value ID + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Creativefieldvalues$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Creative field ID for this creative field value. + */ + creativeFieldId?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreativeFieldValue; + } + interface Params$Resource$Creativefieldvalues$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Creative field ID for this creative field value. + */ + creativeFieldId?: string; + /** + * Select only creative field values with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for creative field values by their values. Wildcards + * (e.g. *) are not allowed. + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + interface Params$Resource$Creativefieldvalues$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Creative field ID for this creative field value. + */ + creativeFieldId?: string; + /** + * Creative Field Value ID + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreativeFieldValue; + } + interface Params$Resource$Creativefieldvalues$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Creative field ID for this creative field value. + */ + creativeFieldId?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreativeFieldValue; + } + class Resource$Creativegroups { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.creativeGroups.get + * @desc Gets one creative group by ID. + * @alias dfareporting.creativeGroups.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Creative group ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Creativegroups$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Creativegroups$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Creativegroups$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.creativeGroups.insert + * @desc Inserts a new creative group. + * @alias dfareporting.creativeGroups.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().CreativeGroup} 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?: Params$Resource$Creativegroups$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Creativegroups$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Creativegroups$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.creativeGroups.list + * @desc Retrieves a list of creative groups, possibly filtered. This method + * supports paging. + * @alias dfareporting.creativeGroups.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.advertiserIds Select only creative groups that belong to these advertisers. + * @param {integer=} params.groupNumber Select only creative groups that belong to this subgroup. + * @param {string=} params.ids Select only creative groups with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for creative groups by name or ID. Wildcards (*) are allowed. For example, "creativegroup*2015" will return creative groups with names like "creativegroup June 2015", "creativegroup April 2015", or simply "creativegroup 2015". Most of the searches also add wild-cards implicitly at the start and the end of the search string. For example, a search string of "creativegroup" will match creative groups with the name "my creativegroup", "creativegroup 2015", or simply "creativegroup". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Creativegroups$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Creativegroups$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Creativegroups$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.creativeGroups.patch + * @desc Updates an existing creative group. This method supports patch + * semantics. + * @alias dfareporting.creativeGroups.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Creative group ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().CreativeGroup} 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 + */ + patch(params?: Params$Resource$Creativegroups$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Creativegroups$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Creativegroups$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.creativeGroups.update + * @desc Updates an existing creative group. + * @alias dfareporting.creativeGroups.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().CreativeGroup} 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?: Params$Resource$Creativegroups$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Creativegroups$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Creativegroups$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Creativegroups$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Creative group ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Creativegroups$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreativeGroup; + } + interface Params$Resource$Creativegroups$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only creative groups that belong to these advertisers. + */ + advertiserIds?: string; + /** + * Select only creative groups that belong to this subgroup. + */ + groupNumber?: number; + /** + * Select only creative groups with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for creative groups by name or ID. Wildcards (*) are + * allowed. For example, "creativegroup*2015" will return creative groups + * with names like "creativegroup June 2015", "creativegroup April 2015", or + * simply "creativegroup 2015". Most of the searches also add wild-cards + * implicitly at the start and the end of the search string. For example, a + * search string of "creativegroup" will match creative groups with the name + * "my creativegroup", "creativegroup 2015", or simply "creativegroup". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + interface Params$Resource$Creativegroups$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Creative group ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreativeGroup; + } + interface Params$Resource$Creativegroups$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreativeGroup; + } + class Resource$Creatives { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.creatives.get + * @desc Gets one creative by ID. + * @alias dfareporting.creatives.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Creative ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Creatives$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Creatives$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Creatives$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.creatives.insert + * @desc Inserts a new creative. + * @alias dfareporting.creatives.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Creative} 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?: Params$Resource$Creatives$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Creatives$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Creatives$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.creatives.list + * @desc Retrieves a list of creatives, possibly filtered. This method + * supports paging. + * @alias dfareporting.creatives.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.active Select only active creatives. Leave blank to select active and inactive creatives. + * @param {string=} params.advertiserId Select only creatives with this advertiser ID. + * @param {boolean=} params.archived Select only archived creatives. Leave blank to select archived and unarchived creatives. + * @param {string=} params.campaignId Select only creatives with this campaign ID. + * @param {string=} params.companionCreativeIds Select only in-stream video creatives with these companion IDs. + * @param {string=} params.creativeFieldIds Select only creatives with these creative field IDs. + * @param {string=} params.ids Select only creatives with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.renderingIds Select only creatives with these rendering IDs. + * @param {string=} params.searchString Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "creative*2015" will return objects with names like "creative June 2015", "creative April 2015", or simply "creative 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "creative" will match objects with name "my creative", "creative 2015", or simply "creative". + * @param {string=} params.sizeIds Select only creatives with these size IDs. + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @param {string=} params.studioCreativeId Select only creatives corresponding to this Studio creative ID. + * @param {string=} params.types Select only creatives with these creative types. + * @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?: Params$Resource$Creatives$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Creatives$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Creatives$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.creatives.patch + * @desc Updates an existing creative. This method supports patch semantics. + * @alias dfareporting.creatives.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Creative ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Creative} 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 + */ + patch(params?: Params$Resource$Creatives$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Creatives$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Creatives$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.creatives.update + * @desc Updates an existing creative. + * @alias dfareporting.creatives.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Creative} 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?: Params$Resource$Creatives$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Creatives$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Creatives$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Creatives$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Creative ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Creatives$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Creative; + } + interface Params$Resource$Creatives$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only active creatives. Leave blank to select active and inactive + * creatives. + */ + active?: boolean; + /** + * Select only creatives with this advertiser ID. + */ + advertiserId?: string; + /** + * Select only archived creatives. Leave blank to select archived and + * unarchived creatives. + */ + archived?: boolean; + /** + * Select only creatives with this campaign ID. + */ + campaignId?: string; + /** + * Select only in-stream video creatives with these companion IDs. + */ + companionCreativeIds?: string; + /** + * Select only creatives with these creative field IDs. + */ + creativeFieldIds?: string; + /** + * Select only creatives with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Select only creatives with these rendering IDs. + */ + renderingIds?: string; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "creative*2015" will return objects with names like + * "creative June 2015", "creative April 2015", or simply "creative 2015". + * Most of the searches also add wildcards implicitly at the start and the + * end of the search string. For example, a search string of "creative" will + * match objects with name "my creative", "creative 2015", or simply + * "creative". + */ + searchString?: string; + /** + * Select only creatives with these size IDs. + */ + sizeIds?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + /** + * Select only creatives corresponding to this Studio creative ID. + */ + studioCreativeId?: string; + /** + * Select only creatives with these creative types. + */ + types?: string; + } + interface Params$Resource$Creatives$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Creative ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Creative; + } + interface Params$Resource$Creatives$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Creative; + } + class Resource$Dimensionvalues { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.dimensionValues.query + * @desc Retrieves list of report dimension values for a list of filters. + * @alias dfareporting.dimensionValues.query + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken The value of the nextToken from the previous result page. + * @param {string} params.profileId The DFA user profile ID. + * @param {().DimensionValueRequest} 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 + */ + query(params?: Params$Resource$Dimensionvalues$Query, options?: MethodOptions): AxiosPromise; + query(params: Params$Resource$Dimensionvalues$Query, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + query(params: Params$Resource$Dimensionvalues$Query, callback: BodyResponseCallback): void; + query(callback: BodyResponseCallback): void; + } + interface Params$Resource$Dimensionvalues$Query { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * The value of the nextToken from the previous result page. + */ + pageToken?: string; + /** + * The DFA user profile ID. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DimensionValueRequest; + } + class Resource$Directorysitecontacts { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.directorySiteContacts.get + * @desc Gets one directory site contact by ID. + * @alias dfareporting.directorySiteContacts.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Directory site contact ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Directorysitecontacts$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Directorysitecontacts$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Directorysitecontacts$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.directorySiteContacts.list + * @desc Retrieves a list of directory site contacts, possibly filtered. + * This method supports paging. + * @alias dfareporting.directorySiteContacts.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.directorySiteIds Select only directory site contacts with these directory site IDs. This is a required field. + * @param {string=} params.ids Select only directory site contacts with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name, ID or email. Wildcards (*) are allowed. For example, "directory site contact*2015" will return objects with names like "directory site contact June 2015", "directory site contact April 2015", or simply "directory site contact 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "directory site contact" will match objects with name "my directory site contact", "directory site contact 2015", or simply "directory site contact". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Directorysitecontacts$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Directorysitecontacts$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Directorysitecontacts$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Directorysitecontacts$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Directory site contact ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Directorysitecontacts$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only directory site contacts with these directory site IDs. This + * is a required field. + */ + directorySiteIds?: string; + /** + * Select only directory site contacts with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name, ID or email. Wildcards (*) are + * allowed. For example, "directory site contact*2015" will return objects + * with names like "directory site contact June 2015", "directory site + * contact April 2015", or simply "directory site contact 2015". Most of the + * searches also add wildcards implicitly at the start and the end of the + * search string. For example, a search string of "directory site contact" + * will match objects with name "my directory site contact", "directory site + * contact 2015", or simply "directory site contact". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + class Resource$Directorysites { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.directorySites.get + * @desc Gets one directory site by ID. + * @alias dfareporting.directorySites.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Directory site ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Directorysites$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Directorysites$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Directorysites$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.directorySites.insert + * @desc Inserts a new directory site. + * @alias dfareporting.directorySites.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().DirectorySite} 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?: Params$Resource$Directorysites$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Directorysites$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Directorysites$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.directorySites.list + * @desc Retrieves a list of directory sites, possibly filtered. This method + * supports paging. + * @alias dfareporting.directorySites.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.acceptsInStreamVideoPlacements This search filter is no longer supported and will have no effect on the results returned. + * @param {boolean=} params.acceptsInterstitialPlacements This search filter is no longer supported and will have no effect on the results returned. + * @param {boolean=} params.acceptsPublisherPaidPlacements Select only directory sites that accept publisher paid placements. This field can be left blank. + * @param {boolean=} params.active Select only active directory sites. Leave blank to retrieve both active and inactive directory sites. + * @param {string=} params.countryId Select only directory sites with this country ID. + * @param {string=} params.dfpNetworkCode Select only directory sites with this Ad Manager network code. + * @param {string=} params.ids Select only directory sites with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string=} params.parentId Select only directory sites with this parent ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name, ID or URL. Wildcards (*) are allowed. For example, "directory site*2015" will return objects with names like "directory site June 2015", "directory site April 2015", or simply "directory site 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "directory site" will match objects with name "my directory site", "directory site 2015" or simply, "directory site". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Directorysites$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Directorysites$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Directorysites$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Directorysites$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Directory site ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Directorysites$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DirectorySite; + } + interface Params$Resource$Directorysites$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * This search filter is no longer supported and will have no effect on the + * results returned. + */ + acceptsInStreamVideoPlacements?: boolean; + /** + * This search filter is no longer supported and will have no effect on the + * results returned. + */ + acceptsInterstitialPlacements?: boolean; + /** + * Select only directory sites that accept publisher paid placements. This + * field can be left blank. + */ + acceptsPublisherPaidPlacements?: boolean; + /** + * Select only active directory sites. Leave blank to retrieve both active + * and inactive directory sites. + */ + active?: boolean; + /** + * Select only directory sites with this country ID. + */ + countryId?: string; + /** + * Select only directory sites with this Ad Manager network code. + */ + dfpNetworkCode?: string; + /** + * Select only directory sites with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * Select only directory sites with this parent ID. + */ + parentId?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name, ID or URL. Wildcards (*) are + * allowed. For example, "directory site*2015" will return objects with + * names like "directory site June 2015", "directory site April 2015", or + * simply "directory site 2015". Most of the searches also add wildcards + * implicitly at the start and the end of the search string. For example, a + * search string of "directory site" will match objects with name "my + * directory site", "directory site 2015" or simply, "directory site". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + class Resource$Dynamictargetingkeys { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.dynamicTargetingKeys.delete + * @desc Deletes an existing dynamic targeting key. + * @alias dfareporting.dynamicTargetingKeys.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Name of this dynamic targeting key. This is a required field. Must be less than 256 characters long and cannot contain commas. All characters are converted to lowercase. + * @param {string} params.objectId ID of the object of this dynamic targeting key. This is a required field. + * @param {string} params.objectType Type of the object of this dynamic targeting key. This is a required field. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Dynamictargetingkeys$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Dynamictargetingkeys$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Dynamictargetingkeys$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dfareporting.dynamicTargetingKeys.insert + * @desc Inserts a new dynamic targeting key. Keys must be created at the + * advertiser level before being assigned to the advertiser's ads, + * creatives, or placements. There is a maximum of 1000 keys per advertiser, + * out of which a maximum of 20 keys can be assigned per ad, creative, or + * placement. + * @alias dfareporting.dynamicTargetingKeys.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().DynamicTargetingKey} 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?: Params$Resource$Dynamictargetingkeys$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Dynamictargetingkeys$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Dynamictargetingkeys$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.dynamicTargetingKeys.list + * @desc Retrieves a list of dynamic targeting keys. + * @alias dfareporting.dynamicTargetingKeys.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.advertiserId Select only dynamic targeting keys whose object has this advertiser ID. + * @param {string=} params.names Select only dynamic targeting keys exactly matching these names. + * @param {string=} params.objectId Select only dynamic targeting keys with this object ID. + * @param {string=} params.objectType Select only dynamic targeting keys with this object type. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Dynamictargetingkeys$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Dynamictargetingkeys$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Dynamictargetingkeys$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Dynamictargetingkeys$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of this dynamic targeting key. This is a required field. Must be + * less than 256 characters long and cannot contain commas. All characters + * are converted to lowercase. + */ + name?: string; + /** + * ID of the object of this dynamic targeting key. This is a required field. + */ + objectId?: string; + /** + * Type of the object of this dynamic targeting key. This is a required + * field. + */ + objectType?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Dynamictargetingkeys$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DynamicTargetingKey; + } + interface Params$Resource$Dynamictargetingkeys$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only dynamic targeting keys whose object has this advertiser ID. + */ + advertiserId?: string; + /** + * Select only dynamic targeting keys exactly matching these names. + */ + names?: string; + /** + * Select only dynamic targeting keys with this object ID. + */ + objectId?: string; + /** + * Select only dynamic targeting keys with this object type. + */ + objectType?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Eventtags { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.eventTags.delete + * @desc Deletes an existing event tag. + * @alias dfareporting.eventTags.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Event tag ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Eventtags$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Eventtags$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Eventtags$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dfareporting.eventTags.get + * @desc Gets one event tag by ID. + * @alias dfareporting.eventTags.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Event tag ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Eventtags$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Eventtags$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Eventtags$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.eventTags.insert + * @desc Inserts a new event tag. + * @alias dfareporting.eventTags.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().EventTag} 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?: Params$Resource$Eventtags$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Eventtags$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Eventtags$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.eventTags.list + * @desc Retrieves a list of event tags, possibly filtered. + * @alias dfareporting.eventTags.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.adId Select only event tags that belong to this ad. + * @param {string=} params.advertiserId Select only event tags that belong to this advertiser. + * @param {string=} params.campaignId Select only event tags that belong to this campaign. + * @param {boolean=} params.definitionsOnly Examine only the specified campaign or advertiser's event tags for matching selector criteria. When set to false, the parent advertiser and parent campaign of the specified ad or campaign is examined as well. In addition, when set to false, the status field is examined as well, along with the enabledByDefault field. This parameter can not be set to true when adId is specified as ads do not define their own even tags. + * @param {boolean=} params.enabled Select only enabled event tags. What is considered enabled or disabled depends on the definitionsOnly parameter. When definitionsOnly is set to true, only the specified advertiser or campaign's event tags' enabledByDefault field is examined. When definitionsOnly is set to false, the specified ad or specified campaign's parent advertiser's or parent campaign's event tags' enabledByDefault and status fields are examined as well. + * @param {string=} params.eventTagTypes Select only event tags with the specified event tag types. Event tag types can be used to specify whether to use a third-party pixel, a third-party JavaScript URL, or a third-party click-through URL for either impression or click tracking. + * @param {string=} params.ids Select only event tags with these IDs. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "eventtag*2015" will return objects with names like "eventtag June 2015", "eventtag April 2015", or simply "eventtag 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "eventtag" will match objects with name "my eventtag", "eventtag 2015", or simply "eventtag". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Eventtags$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Eventtags$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Eventtags$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.eventTags.patch + * @desc Updates an existing event tag. This method supports patch + * semantics. + * @alias dfareporting.eventTags.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Event tag ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().EventTag} 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 + */ + patch(params?: Params$Resource$Eventtags$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Eventtags$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Eventtags$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.eventTags.update + * @desc Updates an existing event tag. + * @alias dfareporting.eventTags.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().EventTag} 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?: Params$Resource$Eventtags$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Eventtags$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Eventtags$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Eventtags$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Event tag ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Eventtags$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Event tag ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Eventtags$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$EventTag; + } + interface Params$Resource$Eventtags$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only event tags that belong to this ad. + */ + adId?: string; + /** + * Select only event tags that belong to this advertiser. + */ + advertiserId?: string; + /** + * Select only event tags that belong to this campaign. + */ + campaignId?: string; + /** + * Examine only the specified campaign or advertiser's event tags for + * matching selector criteria. When set to false, the parent advertiser and + * parent campaign of the specified ad or campaign is examined as well. In + * addition, when set to false, the status field is examined as well, along + * with the enabledByDefault field. This parameter can not be set to true + * when adId is specified as ads do not define their own even tags. + */ + definitionsOnly?: boolean; + /** + * Select only enabled event tags. What is considered enabled or disabled + * depends on the definitionsOnly parameter. When definitionsOnly is set to + * true, only the specified advertiser or campaign's event tags' + * enabledByDefault field is examined. When definitionsOnly is set to false, + * the specified ad or specified campaign's parent advertiser's or parent + * campaign's event tags' enabledByDefault and status fields are examined as + * well. + */ + enabled?: boolean; + /** + * Select only event tags with the specified event tag types. Event tag + * types can be used to specify whether to use a third-party pixel, a + * third-party JavaScript URL, or a third-party click-through URL for either + * impression or click tracking. + */ + eventTagTypes?: string; + /** + * Select only event tags with these IDs. + */ + ids?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "eventtag*2015" will return objects with names like + * "eventtag June 2015", "eventtag April 2015", or simply "eventtag 2015". + * Most of the searches also add wildcards implicitly at the start and the + * end of the search string. For example, a search string of "eventtag" will + * match objects with name "my eventtag", "eventtag 2015", or simply + * "eventtag". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + interface Params$Resource$Eventtags$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Event tag ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$EventTag; + } + interface Params$Resource$Eventtags$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$EventTag; + } + class Resource$Files { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.files.get + * @desc Retrieves a report file by its report ID and file ID. This method + * supports media download. + * @alias dfareporting.files.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.fileId The ID of the report file. + * @param {string} params.reportId The ID of the report. + * @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?: Params$Resource$Files$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Files$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Files$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.files.list + * @desc Lists files for a user profile. + * @alias dfareporting.files.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken The value of the nextToken from the previous result page. + * @param {string} params.profileId The DFA profile ID. + * @param {string=} params.scope The scope that defines which results are returned. + * @param {string=} params.sortField The field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Files$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Files$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Files$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Files$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the report file. + */ + fileId?: string; + /** + * The ID of the report. + */ + reportId?: string; + } + interface Params$Resource$Files$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * The value of the nextToken from the previous result page. + */ + pageToken?: string; + /** + * The DFA profile ID. + */ + profileId?: string; + /** + * The scope that defines which results are returned. + */ + scope?: string; + /** + * The field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + class Resource$Floodlightactivities { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.floodlightActivities.delete + * @desc Deletes an existing floodlight activity. + * @alias dfareporting.floodlightActivities.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Floodlight activity ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Floodlightactivities$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Floodlightactivities$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Floodlightactivities$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dfareporting.floodlightActivities.generatetag + * @desc Generates a tag for a floodlight activity. + * @alias dfareporting.floodlightActivities.generatetag + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.floodlightActivityId Floodlight activity ID for which we want to generate a tag. + * @param {string} params.profileId User profile ID associated with this request. + * @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 + */ + generatetag(params?: Params$Resource$Floodlightactivities$Generatetag, options?: MethodOptions): AxiosPromise; + generatetag(params: Params$Resource$Floodlightactivities$Generatetag, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + generatetag(params: Params$Resource$Floodlightactivities$Generatetag, callback: BodyResponseCallback): void; + generatetag(callback: BodyResponseCallback): void; + /** + * dfareporting.floodlightActivities.get + * @desc Gets one floodlight activity by ID. + * @alias dfareporting.floodlightActivities.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Floodlight activity ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Floodlightactivities$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Floodlightactivities$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Floodlightactivities$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.floodlightActivities.insert + * @desc Inserts a new floodlight activity. + * @alias dfareporting.floodlightActivities.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().FloodlightActivity} 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?: Params$Resource$Floodlightactivities$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Floodlightactivities$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Floodlightactivities$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.floodlightActivities.list + * @desc Retrieves a list of floodlight activities, possibly filtered. This + * method supports paging. + * @alias dfareporting.floodlightActivities.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.advertiserId Select only floodlight activities for the specified advertiser ID. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result. + * @param {string=} params.floodlightActivityGroupIds Select only floodlight activities with the specified floodlight activity group IDs. + * @param {string=} params.floodlightActivityGroupName Select only floodlight activities with the specified floodlight activity group name. + * @param {string=} params.floodlightActivityGroupTagString Select only floodlight activities with the specified floodlight activity group tag string. + * @param {string=} params.floodlightActivityGroupType Select only floodlight activities with the specified floodlight activity group type. + * @param {string=} params.floodlightConfigurationId Select only floodlight activities for the specified floodlight configuration ID. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result. + * @param {string=} params.ids Select only floodlight activities with the specified IDs. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "floodlightactivity*2015" will return objects with names like "floodlightactivity June 2015", "floodlightactivity April 2015", or simply "floodlightactivity 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "floodlightactivity" will match objects with name "my floodlightactivity activity", "floodlightactivity 2015", or simply "floodlightactivity". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @param {string=} params.tagString Select only floodlight activities with the specified tag string. + * @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?: Params$Resource$Floodlightactivities$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Floodlightactivities$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Floodlightactivities$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.floodlightActivities.patch + * @desc Updates an existing floodlight activity. This method supports patch + * semantics. + * @alias dfareporting.floodlightActivities.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Floodlight activity ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().FloodlightActivity} 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 + */ + patch(params?: Params$Resource$Floodlightactivities$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Floodlightactivities$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Floodlightactivities$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.floodlightActivities.update + * @desc Updates an existing floodlight activity. + * @alias dfareporting.floodlightActivities.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().FloodlightActivity} 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?: Params$Resource$Floodlightactivities$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Floodlightactivities$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Floodlightactivities$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Floodlightactivities$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Floodlight activity ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Floodlightactivities$Generatetag { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Floodlight activity ID for which we want to generate a tag. + */ + floodlightActivityId?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Floodlightactivities$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Floodlight activity ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Floodlightactivities$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$FloodlightActivity; + } + interface Params$Resource$Floodlightactivities$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only floodlight activities for the specified advertiser ID. Must + * specify either ids, advertiserId, or floodlightConfigurationId for a + * non-empty result. + */ + advertiserId?: string; + /** + * Select only floodlight activities with the specified floodlight activity + * group IDs. + */ + floodlightActivityGroupIds?: string; + /** + * Select only floodlight activities with the specified floodlight activity + * group name. + */ + floodlightActivityGroupName?: string; + /** + * Select only floodlight activities with the specified floodlight activity + * group tag string. + */ + floodlightActivityGroupTagString?: string; + /** + * Select only floodlight activities with the specified floodlight activity + * group type. + */ + floodlightActivityGroupType?: string; + /** + * Select only floodlight activities for the specified floodlight + * configuration ID. Must specify either ids, advertiserId, or + * floodlightConfigurationId for a non-empty result. + */ + floodlightConfigurationId?: string; + /** + * Select only floodlight activities with the specified IDs. Must specify + * either ids, advertiserId, or floodlightConfigurationId for a non-empty + * result. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "floodlightactivity*2015" will return objects with names + * like "floodlightactivity June 2015", "floodlightactivity April 2015", or + * simply "floodlightactivity 2015". Most of the searches also add wildcards + * implicitly at the start and the end of the search string. For example, a + * search string of "floodlightactivity" will match objects with name "my + * floodlightactivity activity", "floodlightactivity 2015", or simply + * "floodlightactivity". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + /** + * Select only floodlight activities with the specified tag string. + */ + tagString?: string; + } + interface Params$Resource$Floodlightactivities$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Floodlight activity ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$FloodlightActivity; + } + interface Params$Resource$Floodlightactivities$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$FloodlightActivity; + } + class Resource$Floodlightactivitygroups { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.floodlightActivityGroups.get + * @desc Gets one floodlight activity group by ID. + * @alias dfareporting.floodlightActivityGroups.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Floodlight activity Group ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Floodlightactivitygroups$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Floodlightactivitygroups$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Floodlightactivitygroups$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.floodlightActivityGroups.insert + * @desc Inserts a new floodlight activity group. + * @alias dfareporting.floodlightActivityGroups.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().FloodlightActivityGroup} 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?: Params$Resource$Floodlightactivitygroups$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Floodlightactivitygroups$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Floodlightactivitygroups$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.floodlightActivityGroups.list + * @desc Retrieves a list of floodlight activity groups, possibly filtered. + * This method supports paging. + * @alias dfareporting.floodlightActivityGroups.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.advertiserId Select only floodlight activity groups with the specified advertiser ID. Must specify either advertiserId or floodlightConfigurationId for a non-empty result. + * @param {string=} params.floodlightConfigurationId Select only floodlight activity groups with the specified floodlight configuration ID. Must specify either advertiserId, or floodlightConfigurationId for a non-empty result. + * @param {string=} params.ids Select only floodlight activity groups with the specified IDs. Must specify either advertiserId or floodlightConfigurationId for a non-empty result. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "floodlightactivitygroup*2015" will return objects with names like "floodlightactivitygroup June 2015", "floodlightactivitygroup April 2015", or simply "floodlightactivitygroup 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "floodlightactivitygroup" will match objects with name "my floodlightactivitygroup activity", "floodlightactivitygroup 2015", or simply "floodlightactivitygroup". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @param {string=} params.type Select only floodlight activity groups with the specified floodlight activity group type. + * @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?: Params$Resource$Floodlightactivitygroups$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Floodlightactivitygroups$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Floodlightactivitygroups$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.floodlightActivityGroups.patch + * @desc Updates an existing floodlight activity group. This method supports + * patch semantics. + * @alias dfareporting.floodlightActivityGroups.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Floodlight activity Group ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().FloodlightActivityGroup} 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 + */ + patch(params?: Params$Resource$Floodlightactivitygroups$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Floodlightactivitygroups$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Floodlightactivitygroups$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.floodlightActivityGroups.update + * @desc Updates an existing floodlight activity group. + * @alias dfareporting.floodlightActivityGroups.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().FloodlightActivityGroup} 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?: Params$Resource$Floodlightactivitygroups$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Floodlightactivitygroups$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Floodlightactivitygroups$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Floodlightactivitygroups$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Floodlight activity Group ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Floodlightactivitygroups$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$FloodlightActivityGroup; + } + interface Params$Resource$Floodlightactivitygroups$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only floodlight activity groups with the specified advertiser ID. + * Must specify either advertiserId or floodlightConfigurationId for a + * non-empty result. + */ + advertiserId?: string; + /** + * Select only floodlight activity groups with the specified floodlight + * configuration ID. Must specify either advertiserId, or + * floodlightConfigurationId for a non-empty result. + */ + floodlightConfigurationId?: string; + /** + * Select only floodlight activity groups with the specified IDs. Must + * specify either advertiserId or floodlightConfigurationId for a non-empty + * result. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "floodlightactivitygroup*2015" will return objects with + * names like "floodlightactivitygroup June 2015", "floodlightactivitygroup + * April 2015", or simply "floodlightactivitygroup 2015". Most of the + * searches also add wildcards implicitly at the start and the end of the + * search string. For example, a search string of "floodlightactivitygroup" + * will match objects with name "my floodlightactivitygroup activity", + * "floodlightactivitygroup 2015", or simply "floodlightactivitygroup". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + /** + * Select only floodlight activity groups with the specified floodlight + * activity group type. + */ + type?: string; + } + interface Params$Resource$Floodlightactivitygroups$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Floodlight activity Group ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$FloodlightActivityGroup; + } + interface Params$Resource$Floodlightactivitygroups$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$FloodlightActivityGroup; + } + class Resource$Floodlightconfigurations { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.floodlightConfigurations.get + * @desc Gets one floodlight configuration by ID. + * @alias dfareporting.floodlightConfigurations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Floodlight configuration ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Floodlightconfigurations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Floodlightconfigurations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Floodlightconfigurations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.floodlightConfigurations.list + * @desc Retrieves a list of floodlight configurations, possibly filtered. + * @alias dfareporting.floodlightConfigurations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.ids Set of IDs of floodlight configurations to retrieve. Required field; otherwise an empty list will be returned. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Floodlightconfigurations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Floodlightconfigurations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Floodlightconfigurations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.floodlightConfigurations.patch + * @desc Updates an existing floodlight configuration. This method supports + * patch semantics. + * @alias dfareporting.floodlightConfigurations.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Floodlight configuration ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().FloodlightConfiguration} 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 + */ + patch(params?: Params$Resource$Floodlightconfigurations$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Floodlightconfigurations$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Floodlightconfigurations$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.floodlightConfigurations.update + * @desc Updates an existing floodlight configuration. + * @alias dfareporting.floodlightConfigurations.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().FloodlightConfiguration} 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?: Params$Resource$Floodlightconfigurations$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Floodlightconfigurations$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Floodlightconfigurations$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Floodlightconfigurations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Floodlight configuration ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Floodlightconfigurations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Set of IDs of floodlight configurations to retrieve. Required field; + * otherwise an empty list will be returned. + */ + ids?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Floodlightconfigurations$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Floodlight configuration ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$FloodlightConfiguration; + } + interface Params$Resource$Floodlightconfigurations$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$FloodlightConfiguration; + } + class Resource$Inventoryitems { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.inventoryItems.get + * @desc Gets one inventory item by ID. + * @alias dfareporting.inventoryItems.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Inventory item ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string} params.projectId Project ID for order documents. + * @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?: Params$Resource$Inventoryitems$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Inventoryitems$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Inventoryitems$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.inventoryItems.list + * @desc Retrieves a list of inventory items, possibly filtered. This method + * supports paging. + * @alias dfareporting.inventoryItems.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.ids Select only inventory items with these IDs. + * @param {boolean=} params.inPlan Select only inventory items that are in plan. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.orderId Select only inventory items that belong to specified orders. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string} params.projectId Project ID for order documents. + * @param {string=} params.siteId Select only inventory items that are associated with these sites. + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @param {string=} params.type Select only inventory items with this type. + * @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?: Params$Resource$Inventoryitems$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Inventoryitems$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Inventoryitems$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Inventoryitems$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Inventory item ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Project ID for order documents. + */ + projectId?: string; + } + interface Params$Resource$Inventoryitems$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only inventory items with these IDs. + */ + ids?: string; + /** + * Select only inventory items that are in plan. + */ + inPlan?: boolean; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Select only inventory items that belong to specified orders. + */ + orderId?: string; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Project ID for order documents. + */ + projectId?: string; + /** + * Select only inventory items that are associated with these sites. + */ + siteId?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + /** + * Select only inventory items with this type. + */ + type?: string; + } + class Resource$Languages { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.languages.list + * @desc Retrieves a list of languages. + * @alias dfareporting.languages.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Languages$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Languages$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Languages$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Languages$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Metros { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.metros.list + * @desc Retrieves a list of metros. + * @alias dfareporting.metros.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Metros$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Metros$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Metros$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Metros$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Mobilecarriers { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.mobileCarriers.get + * @desc Gets one mobile carrier by ID. + * @alias dfareporting.mobileCarriers.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Mobile carrier ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Mobilecarriers$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Mobilecarriers$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Mobilecarriers$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.mobileCarriers.list + * @desc Retrieves a list of mobile carriers. + * @alias dfareporting.mobileCarriers.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Mobilecarriers$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Mobilecarriers$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Mobilecarriers$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Mobilecarriers$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Mobile carrier ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Mobilecarriers$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Operatingsystems { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.operatingSystems.get + * @desc Gets one operating system by DART ID. + * @alias dfareporting.operatingSystems.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.dartId Operating system DART ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Operatingsystems$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Operatingsystems$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Operatingsystems$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.operatingSystems.list + * @desc Retrieves a list of operating systems. + * @alias dfareporting.operatingSystems.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Operatingsystems$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Operatingsystems$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Operatingsystems$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Operatingsystems$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Operating system DART ID. + */ + dartId?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Operatingsystems$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Operatingsystemversions { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.operatingSystemVersions.get + * @desc Gets one operating system version by ID. + * @alias dfareporting.operatingSystemVersions.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Operating system version ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Operatingsystemversions$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Operatingsystemversions$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Operatingsystemversions$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.operatingSystemVersions.list + * @desc Retrieves a list of operating system versions. + * @alias dfareporting.operatingSystemVersions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Operatingsystemversions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Operatingsystemversions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Operatingsystemversions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Operatingsystemversions$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Operating system version ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Operatingsystemversions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Orderdocuments { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.orderDocuments.get + * @desc Gets one order document by ID. + * @alias dfareporting.orderDocuments.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Order document ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string} params.projectId Project ID for order documents. + * @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?: Params$Resource$Orderdocuments$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Orderdocuments$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Orderdocuments$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.orderDocuments.list + * @desc Retrieves a list of order documents, possibly filtered. This method + * supports paging. + * @alias dfareporting.orderDocuments.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.approved Select only order documents that have been approved by at least one user. + * @param {string=} params.ids Select only order documents with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.orderId Select only order documents for specified orders. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string} params.projectId Project ID for order documents. + * @param {string=} params.searchString Allows searching for order documents by name or ID. Wildcards (*) are allowed. For example, "orderdocument*2015" will return order documents with names like "orderdocument June 2015", "orderdocument April 2015", or simply "orderdocument 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "orderdocument" will match order documents with name "my orderdocument", "orderdocument 2015", or simply "orderdocument". + * @param {string=} params.siteId Select only order documents that are associated with these sites. + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Orderdocuments$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Orderdocuments$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Orderdocuments$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Orderdocuments$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Order document ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Project ID for order documents. + */ + projectId?: string; + } + interface Params$Resource$Orderdocuments$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only order documents that have been approved by at least one user. + */ + approved?: boolean; + /** + * Select only order documents with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Select only order documents for specified orders. + */ + orderId?: string; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Project ID for order documents. + */ + projectId?: string; + /** + * Allows searching for order documents by name or ID. Wildcards (*) are + * allowed. For example, "orderdocument*2015" will return order documents + * with names like "orderdocument June 2015", "orderdocument April 2015", or + * simply "orderdocument 2015". Most of the searches also add wildcards + * implicitly at the start and the end of the search string. For example, a + * search string of "orderdocument" will match order documents with name "my + * orderdocument", "orderdocument 2015", or simply "orderdocument". + */ + searchString?: string; + /** + * Select only order documents that are associated with these sites. + */ + siteId?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + class Resource$Orders { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.orders.get + * @desc Gets one order by ID. + * @alias dfareporting.orders.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Order ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string} params.projectId Project ID for orders. + * @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?: Params$Resource$Orders$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Orders$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Orders$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.orders.list + * @desc Retrieves a list of orders, possibly filtered. This method supports + * paging. + * @alias dfareporting.orders.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.ids Select only orders with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string} params.projectId Project ID for orders. + * @param {string=} params.searchString Allows searching for orders by name or ID. Wildcards (*) are allowed. For example, "order*2015" will return orders with names like "order June 2015", "order April 2015", or simply "order 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "order" will match orders with name "my order", "order 2015", or simply "order". + * @param {string=} params.siteId Select only orders that are associated with these site IDs. + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Orders$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Orders$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Orders$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Orders$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Order ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Project ID for orders. + */ + projectId?: string; + } + interface Params$Resource$Orders$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only orders with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Project ID for orders. + */ + projectId?: string; + /** + * Allows searching for orders by name or ID. Wildcards (*) are allowed. For + * example, "order*2015" will return orders with names like "order June + * 2015", "order April 2015", or simply "order 2015". Most of the searches + * also add wildcards implicitly at the start and the end of the search + * string. For example, a search string of "order" will match orders with + * name "my order", "order 2015", or simply "order". + */ + searchString?: string; + /** + * Select only orders that are associated with these site IDs. + */ + siteId?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + class Resource$Placementgroups { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.placementGroups.get + * @desc Gets one placement group by ID. + * @alias dfareporting.placementGroups.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Placement group ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Placementgroups$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Placementgroups$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Placementgroups$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.placementGroups.insert + * @desc Inserts a new placement group. + * @alias dfareporting.placementGroups.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().PlacementGroup} 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?: Params$Resource$Placementgroups$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Placementgroups$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Placementgroups$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.placementGroups.list + * @desc Retrieves a list of placement groups, possibly filtered. This + * method supports paging. + * @alias dfareporting.placementGroups.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.advertiserIds Select only placement groups that belong to these advertisers. + * @param {boolean=} params.archived Select only archived placements. Don't set this field to select both archived and non-archived placements. + * @param {string=} params.campaignIds Select only placement groups that belong to these campaigns. + * @param {string=} params.contentCategoryIds Select only placement groups that are associated with these content categories. + * @param {string=} params.directorySiteIds Select only placement groups that are associated with these directory sites. + * @param {string=} params.ids Select only placement groups with these IDs. + * @param {string=} params.maxEndDate Select only placements or placement groups whose end date is on or before the specified maxEndDate. The date should be formatted as "yyyy-MM-dd". + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.maxStartDate Select only placements or placement groups whose start date is on or before the specified maxStartDate. The date should be formatted as "yyyy-MM-dd". + * @param {string=} params.minEndDate Select only placements or placement groups whose end date is on or after the specified minEndDate. The date should be formatted as "yyyy-MM-dd". + * @param {string=} params.minStartDate Select only placements or placement groups whose start date is on or after the specified minStartDate. The date should be formatted as "yyyy-MM-dd". + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string=} params.placementGroupType Select only placement groups belonging with this group type. A package is a simple group of placements that acts as a single pricing point for a group of tags. A roadblock is a group of placements that not only acts as a single pricing point but also assumes that all the tags in it will be served at the same time. A roadblock requires one of its assigned placements to be marked as primary for reporting. + * @param {string=} params.placementStrategyIds Select only placement groups that are associated with these placement strategies. + * @param {string=} params.pricingTypes Select only placement groups with these pricing types. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for placement groups by name or ID. Wildcards (*) are allowed. For example, "placement*2015" will return placement groups with names like "placement group June 2015", "placement group May 2015", or simply "placements 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "placementgroup" will match placement groups with name "my placementgroup", "placementgroup 2015", or simply "placementgroup". + * @param {string=} params.siteIds Select only placement groups that are associated with these sites. + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Placementgroups$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Placementgroups$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Placementgroups$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.placementGroups.patch + * @desc Updates an existing placement group. This method supports patch + * semantics. + * @alias dfareporting.placementGroups.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Placement group ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().PlacementGroup} 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 + */ + patch(params?: Params$Resource$Placementgroups$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Placementgroups$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Placementgroups$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.placementGroups.update + * @desc Updates an existing placement group. + * @alias dfareporting.placementGroups.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().PlacementGroup} 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?: Params$Resource$Placementgroups$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Placementgroups$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Placementgroups$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Placementgroups$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Placement group ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Placementgroups$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$PlacementGroup; + } + interface Params$Resource$Placementgroups$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only placement groups that belong to these advertisers. + */ + advertiserIds?: string; + /** + * Select only archived placements. Don't set this field to select both + * archived and non-archived placements. + */ + archived?: boolean; + /** + * Select only placement groups that belong to these campaigns. + */ + campaignIds?: string; + /** + * Select only placement groups that are associated with these content + * categories. + */ + contentCategoryIds?: string; + /** + * Select only placement groups that are associated with these directory + * sites. + */ + directorySiteIds?: string; + /** + * Select only placement groups with these IDs. + */ + ids?: string; + /** + * Select only placements or placement groups whose end date is on or before + * the specified maxEndDate. The date should be formatted as "yyyy-MM-dd". + */ + maxEndDate?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Select only placements or placement groups whose start date is on or + * before the specified maxStartDate. The date should be formatted as + * "yyyy-MM-dd". + */ + maxStartDate?: string; + /** + * Select only placements or placement groups whose end date is on or after + * the specified minEndDate. The date should be formatted as "yyyy-MM-dd". + */ + minEndDate?: string; + /** + * Select only placements or placement groups whose start date is on or + * after the specified minStartDate. The date should be formatted as + * "yyyy-MM-dd". + */ + minStartDate?: string; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * Select only placement groups belonging with this group type. A package is + * a simple group of placements that acts as a single pricing point for a + * group of tags. A roadblock is a group of placements that not only acts as + * a single pricing point but also assumes that all the tags in it will be + * served at the same time. A roadblock requires one of its assigned + * placements to be marked as primary for reporting. + */ + placementGroupType?: string; + /** + * Select only placement groups that are associated with these placement + * strategies. + */ + placementStrategyIds?: string; + /** + * Select only placement groups with these pricing types. + */ + pricingTypes?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for placement groups by name or ID. Wildcards (*) are + * allowed. For example, "placement*2015" will return placement groups with + * names like "placement group June 2015", "placement group May 2015", or + * simply "placements 2015". Most of the searches also add wildcards + * implicitly at the start and the end of the search string. For example, a + * search string of "placementgroup" will match placement groups with name + * "my placementgroup", "placementgroup 2015", or simply "placementgroup". + */ + searchString?: string; + /** + * Select only placement groups that are associated with these sites. + */ + siteIds?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + interface Params$Resource$Placementgroups$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Placement group ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$PlacementGroup; + } + interface Params$Resource$Placementgroups$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$PlacementGroup; + } + class Resource$Placements { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.placements.generatetags + * @desc Generates tags for a placement. + * @alias dfareporting.placements.generatetags + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.campaignId Generate placements belonging to this campaign. This is a required field. + * @param {string=} params.placementIds Generate tags for these placements. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.tagFormats Tag formats to generate for these placements. Note: PLACEMENT_TAG_STANDARD can only be generated for 1x1 placements. + * @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 + */ + generatetags(params?: Params$Resource$Placements$Generatetags, options?: MethodOptions): AxiosPromise; + generatetags(params: Params$Resource$Placements$Generatetags, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + generatetags(params: Params$Resource$Placements$Generatetags, callback: BodyResponseCallback): void; + generatetags(callback: BodyResponseCallback): void; + /** + * dfareporting.placements.get + * @desc Gets one placement by ID. + * @alias dfareporting.placements.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Placement ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Placements$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Placements$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Placements$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.placements.insert + * @desc Inserts a new placement. + * @alias dfareporting.placements.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Placement} 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?: Params$Resource$Placements$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Placements$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Placements$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.placements.list + * @desc Retrieves a list of placements, possibly filtered. This method + * supports paging. + * @alias dfareporting.placements.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.advertiserIds Select only placements that belong to these advertisers. + * @param {boolean=} params.archived Select only archived placements. Don't set this field to select both archived and non-archived placements. + * @param {string=} params.campaignIds Select only placements that belong to these campaigns. + * @param {string=} params.compatibilities Select only placements that are associated with these compatibilities. DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop or on mobile devices for regular or interstitial ads respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard. + * @param {string=} params.contentCategoryIds Select only placements that are associated with these content categories. + * @param {string=} params.directorySiteIds Select only placements that are associated with these directory sites. + * @param {string=} params.groupIds Select only placements that belong to these placement groups. + * @param {string=} params.ids Select only placements with these IDs. + * @param {string=} params.maxEndDate Select only placements or placement groups whose end date is on or before the specified maxEndDate. The date should be formatted as "yyyy-MM-dd". + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.maxStartDate Select only placements or placement groups whose start date is on or before the specified maxStartDate. The date should be formatted as "yyyy-MM-dd". + * @param {string=} params.minEndDate Select only placements or placement groups whose end date is on or after the specified minEndDate. The date should be formatted as "yyyy-MM-dd". + * @param {string=} params.minStartDate Select only placements or placement groups whose start date is on or after the specified minStartDate. The date should be formatted as "yyyy-MM-dd". + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string=} params.paymentSource Select only placements with this payment source. + * @param {string=} params.placementStrategyIds Select only placements that are associated with these placement strategies. + * @param {string=} params.pricingTypes Select only placements with these pricing types. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for placements by name or ID. Wildcards (*) are allowed. For example, "placement*2015" will return placements with names like "placement June 2015", "placement May 2015", or simply "placements 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "placement" will match placements with name "my placement", "placement 2015", or simply "placement". + * @param {string=} params.siteIds Select only placements that are associated with these sites. + * @param {string=} params.sizeIds Select only placements that are associated with these sizes. + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Placements$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Placements$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Placements$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.placements.patch + * @desc Updates an existing placement. This method supports patch + * semantics. + * @alias dfareporting.placements.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Placement ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Placement} 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 + */ + patch(params?: Params$Resource$Placements$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Placements$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Placements$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.placements.update + * @desc Updates an existing placement. + * @alias dfareporting.placements.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Placement} 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?: Params$Resource$Placements$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Placements$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Placements$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Placements$Generatetags { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Generate placements belonging to this campaign. This is a required field. + */ + campaignId?: string; + /** + * Generate tags for these placements. + */ + placementIds?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Tag formats to generate for these placements. Note: + * PLACEMENT_TAG_STANDARD can only be generated for 1x1 placements. + */ + tagFormats?: string; + } + interface Params$Resource$Placements$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Placement ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Placements$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Placement; + } + interface Params$Resource$Placements$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only placements that belong to these advertisers. + */ + advertiserIds?: string; + /** + * Select only archived placements. Don't set this field to select both + * archived and non-archived placements. + */ + archived?: boolean; + /** + * Select only placements that belong to these campaigns. + */ + campaignIds?: string; + /** + * Select only placements that are associated with these compatibilities. + * DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop or + * on mobile devices for regular or interstitial ads respectively. APP and + * APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO refers + * to rendering in in-stream video ads developed with the VAST standard. + */ + compatibilities?: string; + /** + * Select only placements that are associated with these content categories. + */ + contentCategoryIds?: string; + /** + * Select only placements that are associated with these directory sites. + */ + directorySiteIds?: string; + /** + * Select only placements that belong to these placement groups. + */ + groupIds?: string; + /** + * Select only placements with these IDs. + */ + ids?: string; + /** + * Select only placements or placement groups whose end date is on or before + * the specified maxEndDate. The date should be formatted as "yyyy-MM-dd". + */ + maxEndDate?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Select only placements or placement groups whose start date is on or + * before the specified maxStartDate. The date should be formatted as + * "yyyy-MM-dd". + */ + maxStartDate?: string; + /** + * Select only placements or placement groups whose end date is on or after + * the specified minEndDate. The date should be formatted as "yyyy-MM-dd". + */ + minEndDate?: string; + /** + * Select only placements or placement groups whose start date is on or + * after the specified minStartDate. The date should be formatted as + * "yyyy-MM-dd". + */ + minStartDate?: string; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * Select only placements with this payment source. + */ + paymentSource?: string; + /** + * Select only placements that are associated with these placement + * strategies. + */ + placementStrategyIds?: string; + /** + * Select only placements with these pricing types. + */ + pricingTypes?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for placements by name or ID. Wildcards (*) are allowed. + * For example, "placement*2015" will return placements with names like + * "placement June 2015", "placement May 2015", or simply "placements 2015". + * Most of the searches also add wildcards implicitly at the start and the + * end of the search string. For example, a search string of "placement" + * will match placements with name "my placement", "placement 2015", or + * simply "placement". + */ + searchString?: string; + /** + * Select only placements that are associated with these sites. + */ + siteIds?: string; + /** + * Select only placements that are associated with these sizes. + */ + sizeIds?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + interface Params$Resource$Placements$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Placement ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Placement; + } + interface Params$Resource$Placements$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Placement; + } + class Resource$Placementstrategies { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.placementStrategies.delete + * @desc Deletes an existing placement strategy. + * @alias dfareporting.placementStrategies.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Placement strategy ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Placementstrategies$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Placementstrategies$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Placementstrategies$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dfareporting.placementStrategies.get + * @desc Gets one placement strategy by ID. + * @alias dfareporting.placementStrategies.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Placement strategy ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Placementstrategies$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Placementstrategies$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Placementstrategies$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.placementStrategies.insert + * @desc Inserts a new placement strategy. + * @alias dfareporting.placementStrategies.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().PlacementStrategy} 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?: Params$Resource$Placementstrategies$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Placementstrategies$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Placementstrategies$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.placementStrategies.list + * @desc Retrieves a list of placement strategies, possibly filtered. This + * method supports paging. + * @alias dfareporting.placementStrategies.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.ids Select only placement strategies with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "placementstrategy*2015" will return objects with names like "placementstrategy June 2015", "placementstrategy April 2015", or simply "placementstrategy 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "placementstrategy" will match objects with name "my placementstrategy", "placementstrategy 2015", or simply "placementstrategy". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Placementstrategies$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Placementstrategies$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Placementstrategies$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.placementStrategies.patch + * @desc Updates an existing placement strategy. This method supports patch + * semantics. + * @alias dfareporting.placementStrategies.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Placement strategy ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().PlacementStrategy} 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 + */ + patch(params?: Params$Resource$Placementstrategies$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Placementstrategies$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Placementstrategies$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.placementStrategies.update + * @desc Updates an existing placement strategy. + * @alias dfareporting.placementStrategies.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().PlacementStrategy} 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?: Params$Resource$Placementstrategies$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Placementstrategies$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Placementstrategies$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Placementstrategies$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Placement strategy ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Placementstrategies$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Placement strategy ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Placementstrategies$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$PlacementStrategy; + } + interface Params$Resource$Placementstrategies$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only placement strategies with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "placementstrategy*2015" will return objects with names like + * "placementstrategy June 2015", "placementstrategy April 2015", or simply + * "placementstrategy 2015". Most of the searches also add wildcards + * implicitly at the start and the end of the search string. For example, a + * search string of "placementstrategy" will match objects with name "my + * placementstrategy", "placementstrategy 2015", or simply + * "placementstrategy". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + interface Params$Resource$Placementstrategies$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Placement strategy ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$PlacementStrategy; + } + interface Params$Resource$Placementstrategies$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$PlacementStrategy; + } + class Resource$Platformtypes { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.platformTypes.get + * @desc Gets one platform type by ID. + * @alias dfareporting.platformTypes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Platform type ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Platformtypes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Platformtypes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Platformtypes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.platformTypes.list + * @desc Retrieves a list of platform types. + * @alias dfareporting.platformTypes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Platformtypes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Platformtypes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Platformtypes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Platformtypes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Platform type ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Platformtypes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Postalcodes { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.postalCodes.get + * @desc Gets one postal code by ID. + * @alias dfareporting.postalCodes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.code Postal code ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Postalcodes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Postalcodes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Postalcodes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.postalCodes.list + * @desc Retrieves a list of postal codes. + * @alias dfareporting.postalCodes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Postalcodes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Postalcodes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Postalcodes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Postalcodes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Postal code ID. + */ + code?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Postalcodes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Projects { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.projects.get + * @desc Gets one project by ID. + * @alias dfareporting.projects.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Project ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Projects$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.projects.list + * @desc Retrieves a list of projects, possibly filtered. This method + * supports paging. + * @alias dfareporting.projects.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.advertiserIds Select only projects with these advertiser IDs. + * @param {string=} params.ids Select only projects with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for projects by name or ID. Wildcards (*) are allowed. For example, "project*2015" will return projects with names like "project June 2015", "project April 2015", or simply "project 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "project" will match projects with name "my project", "project 2015", or simply "project". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Projects$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Projects$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only projects with these advertiser IDs. + */ + advertiserIds?: string; + /** + * Select only projects with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for projects by name or ID. Wildcards (*) are allowed. + * For example, "project*2015" will return projects with names like "project + * June 2015", "project April 2015", or simply "project 2015". Most of the + * searches also add wildcards implicitly at the start and the end of the + * search string. For example, a search string of "project" will match + * projects with name "my project", "project 2015", or simply "project". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + class Resource$Regions { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.regions.list + * @desc Retrieves a list of regions. + * @alias dfareporting.regions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Regions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Regions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Regions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Regions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Remarketinglists { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.remarketingLists.get + * @desc Gets one remarketing list by ID. + * @alias dfareporting.remarketingLists.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Remarketing list ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Remarketinglists$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Remarketinglists$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Remarketinglists$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.remarketingLists.insert + * @desc Inserts a new remarketing list. + * @alias dfareporting.remarketingLists.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().RemarketingList} 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?: Params$Resource$Remarketinglists$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Remarketinglists$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Remarketinglists$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.remarketingLists.list + * @desc Retrieves a list of remarketing lists, possibly filtered. This + * method supports paging. + * @alias dfareporting.remarketingLists.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.active Select only active or only inactive remarketing lists. + * @param {string} params.advertiserId Select only remarketing lists owned by this advertiser. + * @param {string=} params.floodlightActivityId Select only remarketing lists that have this floodlight activity ID. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.name Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "remarketing list*2015" will return objects with names like "remarketing list June 2015", "remarketing list April 2015", or simply "remarketing list 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "remarketing list" will match objects with name "my remarketing list", "remarketing list 2015", or simply "remarketing list". + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Remarketinglists$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Remarketinglists$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Remarketinglists$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.remarketingLists.patch + * @desc Updates an existing remarketing list. This method supports patch + * semantics. + * @alias dfareporting.remarketingLists.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Remarketing list ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().RemarketingList} 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 + */ + patch(params?: Params$Resource$Remarketinglists$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Remarketinglists$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Remarketinglists$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.remarketingLists.update + * @desc Updates an existing remarketing list. + * @alias dfareporting.remarketingLists.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().RemarketingList} 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?: Params$Resource$Remarketinglists$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Remarketinglists$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Remarketinglists$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Remarketinglists$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Remarketing list ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Remarketinglists$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RemarketingList; + } + interface Params$Resource$Remarketinglists$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only active or only inactive remarketing lists. + */ + active?: boolean; + /** + * Select only remarketing lists owned by this advertiser. + */ + advertiserId?: string; + /** + * Select only remarketing lists that have this floodlight activity ID. + */ + floodlightActivityId?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "remarketing list*2015" will return objects with names like + * "remarketing list June 2015", "remarketing list April 2015", or simply + * "remarketing list 2015". Most of the searches also add wildcards + * implicitly at the start and the end of the search string. For example, a + * search string of "remarketing list" will match objects with name "my + * remarketing list", "remarketing list 2015", or simply "remarketing list". + */ + name?: string; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + interface Params$Resource$Remarketinglists$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Remarketing list ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RemarketingList; + } + interface Params$Resource$Remarketinglists$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RemarketingList; + } + class Resource$Remarketinglistshares { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.remarketingListShares.get + * @desc Gets one remarketing list share by remarketing list ID. + * @alias dfareporting.remarketingListShares.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {string} params.remarketingListId Remarketing list ID. + * @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?: Params$Resource$Remarketinglistshares$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Remarketinglistshares$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Remarketinglistshares$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.remarketingListShares.patch + * @desc Updates an existing remarketing list share. This method supports + * patch semantics. + * @alias dfareporting.remarketingListShares.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {string} params.remarketingListId Remarketing list ID. + * @param {().RemarketingListShare} 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 + */ + patch(params?: Params$Resource$Remarketinglistshares$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Remarketinglistshares$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Remarketinglistshares$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.remarketingListShares.update + * @desc Updates an existing remarketing list share. + * @alias dfareporting.remarketingListShares.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().RemarketingListShare} 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?: Params$Resource$Remarketinglistshares$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Remarketinglistshares$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Remarketinglistshares$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Remarketinglistshares$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Remarketing list ID. + */ + remarketingListId?: string; + } + interface Params$Resource$Remarketinglistshares$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Remarketing list ID. + */ + remarketingListId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RemarketingListShare; + } + interface Params$Resource$Remarketinglistshares$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RemarketingListShare; + } + class Resource$Reports { + root: Dfareporting; + compatibleFields: Resource$Reports$Compatiblefields; + files: Resource$Reports$Files; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.reports.delete + * @desc Deletes a report by its ID. + * @alias dfareporting.reports.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId The DFA user profile ID. + * @param {string} params.reportId The ID of the report. + * @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?: Params$Resource$Reports$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Reports$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Reports$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dfareporting.reports.get + * @desc Retrieves a report by its ID. + * @alias dfareporting.reports.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId The DFA user profile ID. + * @param {string} params.reportId The ID of the report. + * @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?: Params$Resource$Reports$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Reports$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Reports$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.reports.insert + * @desc Creates a report. + * @alias dfareporting.reports.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId The DFA user profile ID. + * @param {().Report} 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?: Params$Resource$Reports$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Reports$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Reports$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.reports.list + * @desc Retrieves list of reports. + * @alias dfareporting.reports.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken The value of the nextToken from the previous result page. + * @param {string} params.profileId The DFA user profile ID. + * @param {string=} params.scope The scope that defines which results are returned. + * @param {string=} params.sortField The field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Reports$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Reports$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Reports$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.reports.patch + * @desc Updates a report. This method supports patch semantics. + * @alias dfareporting.reports.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId The DFA user profile ID. + * @param {string} params.reportId The ID of the report. + * @param {().Report} 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 + */ + patch(params?: Params$Resource$Reports$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Reports$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Reports$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.reports.run + * @desc Runs a report. + * @alias dfareporting.reports.run + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId The DFA profile ID. + * @param {string} params.reportId The ID of the report. + * @param {boolean=} params.synchronous If set and true, tries to run the report synchronously. + * @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 + */ + run(params?: Params$Resource$Reports$Run, options?: MethodOptions): AxiosPromise; + run(params: Params$Resource$Reports$Run, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + run(params: Params$Resource$Reports$Run, callback: BodyResponseCallback): void; + run(callback: BodyResponseCallback): void; + /** + * dfareporting.reports.update + * @desc Updates a report. + * @alias dfareporting.reports.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId The DFA user profile ID. + * @param {string} params.reportId The ID of the report. + * @param {().Report} 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?: Params$Resource$Reports$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Reports$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Reports$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Reports$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The DFA user profile ID. + */ + profileId?: string; + /** + * The ID of the report. + */ + reportId?: string; + } + interface Params$Resource$Reports$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The DFA user profile ID. + */ + profileId?: string; + /** + * The ID of the report. + */ + reportId?: string; + } + interface Params$Resource$Reports$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The DFA user profile ID. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Report; + } + interface Params$Resource$Reports$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * The value of the nextToken from the previous result page. + */ + pageToken?: string; + /** + * The DFA user profile ID. + */ + profileId?: string; + /** + * The scope that defines which results are returned. + */ + scope?: string; + /** + * The field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + interface Params$Resource$Reports$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The DFA user profile ID. + */ + profileId?: string; + /** + * The ID of the report. + */ + reportId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Report; + } + interface Params$Resource$Reports$Run { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The DFA profile ID. + */ + profileId?: string; + /** + * The ID of the report. + */ + reportId?: string; + /** + * If set and true, tries to run the report synchronously. + */ + synchronous?: boolean; + } + interface Params$Resource$Reports$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The DFA user profile ID. + */ + profileId?: string; + /** + * The ID of the report. + */ + reportId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Report; + } + class Resource$Reports$Compatiblefields { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.reports.compatibleFields.query + * @desc Returns the fields that are compatible to be selected in the + * respective sections of a report criteria, given the fields already + * selected in the input report and user permissions. + * @alias dfareporting.reports.compatibleFields.query + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId The DFA user profile ID. + * @param {().Report} 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 + */ + query(params?: Params$Resource$Reports$Compatiblefields$Query, options?: MethodOptions): AxiosPromise; + query(params: Params$Resource$Reports$Compatiblefields$Query, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + query(params: Params$Resource$Reports$Compatiblefields$Query, callback: BodyResponseCallback): void; + query(callback: BodyResponseCallback): void; + } + interface Params$Resource$Reports$Compatiblefields$Query { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The DFA user profile ID. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Report; + } + class Resource$Reports$Files { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.reports.files.get + * @desc Retrieves a report file. This method supports media download. + * @alias dfareporting.reports.files.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.fileId The ID of the report file. + * @param {string} params.profileId The DFA profile ID. + * @param {string} params.reportId The ID of the report. + * @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?: Params$Resource$Reports$Files$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Reports$Files$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Reports$Files$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.reports.files.list + * @desc Lists files for a report. + * @alias dfareporting.reports.files.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken The value of the nextToken from the previous result page. + * @param {string} params.profileId The DFA profile ID. + * @param {string} params.reportId The ID of the parent report. + * @param {string=} params.sortField The field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Reports$Files$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Reports$Files$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Reports$Files$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Reports$Files$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the report file. + */ + fileId?: string; + /** + * The DFA profile ID. + */ + profileId?: string; + /** + * The ID of the report. + */ + reportId?: string; + } + interface Params$Resource$Reports$Files$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * The value of the nextToken from the previous result page. + */ + pageToken?: string; + /** + * The DFA profile ID. + */ + profileId?: string; + /** + * The ID of the parent report. + */ + reportId?: string; + /** + * The field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + class Resource$Sites { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.sites.get + * @desc Gets one site by ID. + * @alias dfareporting.sites.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Site ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Sites$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Sites$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Sites$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.sites.insert + * @desc Inserts a new site. + * @alias dfareporting.sites.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Site} 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?: Params$Resource$Sites$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Sites$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Sites$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.sites.list + * @desc Retrieves a list of sites, possibly filtered. This method supports + * paging. + * @alias dfareporting.sites.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.acceptsInStreamVideoPlacements This search filter is no longer supported and will have no effect on the results returned. + * @param {boolean=} params.acceptsInterstitialPlacements This search filter is no longer supported and will have no effect on the results returned. + * @param {boolean=} params.acceptsPublisherPaidPlacements Select only sites that accept publisher paid placements. + * @param {boolean=} params.adWordsSite Select only AdWords sites. + * @param {boolean=} params.approved Select only approved sites. + * @param {string=} params.campaignIds Select only sites with these campaign IDs. + * @param {string=} params.directorySiteIds Select only sites with these directory site IDs. + * @param {string=} params.ids Select only sites with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name, ID or keyName. Wildcards (*) are allowed. For example, "site*2015" will return objects with names like "site June 2015", "site April 2015", or simply "site 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "site" will match objects with name "my site", "site 2015", or simply "site". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @param {string=} params.subaccountId Select only sites with this subaccount ID. + * @param {boolean=} params.unmappedSite Select only sites that have not been mapped to a directory site. + * @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?: Params$Resource$Sites$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Sites$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Sites$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.sites.patch + * @desc Updates an existing site. This method supports patch semantics. + * @alias dfareporting.sites.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Site ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Site} 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 + */ + patch(params?: Params$Resource$Sites$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Sites$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Sites$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.sites.update + * @desc Updates an existing site. + * @alias dfareporting.sites.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Site} 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?: Params$Resource$Sites$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Sites$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Sites$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Sites$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Site ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Sites$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Site; + } + interface Params$Resource$Sites$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * This search filter is no longer supported and will have no effect on the + * results returned. + */ + acceptsInStreamVideoPlacements?: boolean; + /** + * This search filter is no longer supported and will have no effect on the + * results returned. + */ + acceptsInterstitialPlacements?: boolean; + /** + * Select only sites that accept publisher paid placements. + */ + acceptsPublisherPaidPlacements?: boolean; + /** + * Select only AdWords sites. + */ + adWordsSite?: boolean; + /** + * Select only approved sites. + */ + approved?: boolean; + /** + * Select only sites with these campaign IDs. + */ + campaignIds?: string; + /** + * Select only sites with these directory site IDs. + */ + directorySiteIds?: string; + /** + * Select only sites with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name, ID or keyName. Wildcards (*) are + * allowed. For example, "site*2015" will return objects with names like + * "site June 2015", "site April 2015", or simply "site 2015". Most of the + * searches also add wildcards implicitly at the start and the end of the + * search string. For example, a search string of "site" will match objects + * with name "my site", "site 2015", or simply "site". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + /** + * Select only sites with this subaccount ID. + */ + subaccountId?: string; + /** + * Select only sites that have not been mapped to a directory site. + */ + unmappedSite?: boolean; + } + interface Params$Resource$Sites$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Site ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Site; + } + interface Params$Resource$Sites$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Site; + } + class Resource$Sizes { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.sizes.get + * @desc Gets one size by ID. + * @alias dfareporting.sizes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Size ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Sizes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Sizes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Sizes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.sizes.insert + * @desc Inserts a new size. + * @alias dfareporting.sizes.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Size} 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?: Params$Resource$Sizes$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Sizes$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Sizes$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.sizes.list + * @desc Retrieves a list of sizes, possibly filtered. Retrieved sizes are + * globally unique and may include values not currently in use by your + * account. Due to this, the list of sizes returned by this method may + * differ from the list seen in the Trafficking UI. + * @alias dfareporting.sizes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.height Select only sizes with this height. + * @param {boolean=} params.iabStandard Select only IAB standard sizes. + * @param {string=} params.ids Select only sizes with these IDs. + * @param {string} params.profileId User profile ID associated with this request. + * @param {integer=} params.width Select only sizes with this width. + * @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?: Params$Resource$Sizes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Sizes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Sizes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Sizes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Size ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Sizes$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Size; + } + interface Params$Resource$Sizes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only sizes with this height. + */ + height?: number; + /** + * Select only IAB standard sizes. + */ + iabStandard?: boolean; + /** + * Select only sizes with these IDs. + */ + ids?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Select only sizes with this width. + */ + width?: number; + } + class Resource$Subaccounts { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.subaccounts.get + * @desc Gets one subaccount by ID. + * @alias dfareporting.subaccounts.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Subaccount ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Subaccounts$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Subaccounts$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Subaccounts$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.subaccounts.insert + * @desc Inserts a new subaccount. + * @alias dfareporting.subaccounts.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Subaccount} 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?: Params$Resource$Subaccounts$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Subaccounts$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Subaccounts$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.subaccounts.list + * @desc Gets a list of subaccounts, possibly filtered. This method supports + * paging. + * @alias dfareporting.subaccounts.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.ids Select only subaccounts with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "subaccount*2015" will return objects with names like "subaccount June 2015", "subaccount April 2015", or simply "subaccount 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "subaccount" will match objects with name "my subaccount", "subaccount 2015", or simply "subaccount". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Subaccounts$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Subaccounts$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Subaccounts$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.subaccounts.patch + * @desc Updates an existing subaccount. This method supports patch + * semantics. + * @alias dfareporting.subaccounts.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Subaccount ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Subaccount} 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 + */ + patch(params?: Params$Resource$Subaccounts$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Subaccounts$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Subaccounts$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.subaccounts.update + * @desc Updates an existing subaccount. + * @alias dfareporting.subaccounts.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Subaccount} 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?: Params$Resource$Subaccounts$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Subaccounts$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Subaccounts$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Subaccounts$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Subaccount ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Subaccounts$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Subaccount; + } + interface Params$Resource$Subaccounts$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only subaccounts with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "subaccount*2015" will return objects with names like + * "subaccount June 2015", "subaccount April 2015", or simply "subaccount + * 2015". Most of the searches also add wildcards implicitly at the start + * and the end of the search string. For example, a search string of + * "subaccount" will match objects with name "my subaccount", "subaccount + * 2015", or simply "subaccount". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + interface Params$Resource$Subaccounts$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Subaccount ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Subaccount; + } + interface Params$Resource$Subaccounts$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Subaccount; + } + class Resource$Targetableremarketinglists { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.targetableRemarketingLists.get + * @desc Gets one remarketing list by ID. + * @alias dfareporting.targetableRemarketingLists.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Remarketing list ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Targetableremarketinglists$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Targetableremarketinglists$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Targetableremarketinglists$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.targetableRemarketingLists.list + * @desc Retrieves a list of targetable remarketing lists, possibly + * filtered. This method supports paging. + * @alias dfareporting.targetableRemarketingLists.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.active Select only active or only inactive targetable remarketing lists. + * @param {string} params.advertiserId Select only targetable remarketing lists targetable by these advertisers. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.name Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "remarketing list*2015" will return objects with names like "remarketing list June 2015", "remarketing list April 2015", or simply "remarketing list 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "remarketing list" will match objects with name "my remarketing list", "remarketing list 2015", or simply "remarketing list". + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Targetableremarketinglists$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Targetableremarketinglists$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Targetableremarketinglists$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Targetableremarketinglists$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Remarketing list ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Targetableremarketinglists$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only active or only inactive targetable remarketing lists. + */ + active?: boolean; + /** + * Select only targetable remarketing lists targetable by these advertisers. + */ + advertiserId?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "remarketing list*2015" will return objects with names like + * "remarketing list June 2015", "remarketing list April 2015", or simply + * "remarketing list 2015". Most of the searches also add wildcards + * implicitly at the start and the end of the search string. For example, a + * search string of "remarketing list" will match objects with name "my + * remarketing list", "remarketing list 2015", or simply "remarketing list". + */ + name?: string; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + class Resource$Targetingtemplates { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.targetingTemplates.get + * @desc Gets one targeting template by ID. + * @alias dfareporting.targetingTemplates.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Targeting template ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Targetingtemplates$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Targetingtemplates$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Targetingtemplates$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.targetingTemplates.insert + * @desc Inserts a new targeting template. + * @alias dfareporting.targetingTemplates.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().TargetingTemplate} 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?: Params$Resource$Targetingtemplates$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Targetingtemplates$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Targetingtemplates$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.targetingTemplates.list + * @desc Retrieves a list of targeting templates, optionally filtered. This + * method supports paging. + * @alias dfareporting.targetingTemplates.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.advertiserId Select only targeting templates with this advertiser ID. + * @param {string=} params.ids Select only targeting templates with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "template*2015" will return objects with names like "template June 2015", "template April 2015", or simply "template 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "template" will match objects with name "my template", "template 2015", or simply "template". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Targetingtemplates$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Targetingtemplates$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Targetingtemplates$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.targetingTemplates.patch + * @desc Updates an existing targeting template. This method supports patch + * semantics. + * @alias dfareporting.targetingTemplates.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Targeting template ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().TargetingTemplate} 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 + */ + patch(params?: Params$Resource$Targetingtemplates$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Targetingtemplates$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Targetingtemplates$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.targetingTemplates.update + * @desc Updates an existing targeting template. + * @alias dfareporting.targetingTemplates.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().TargetingTemplate} 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?: Params$Resource$Targetingtemplates$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Targetingtemplates$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Targetingtemplates$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Targetingtemplates$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Targeting template ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Targetingtemplates$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetingTemplate; + } + interface Params$Resource$Targetingtemplates$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only targeting templates with this advertiser ID. + */ + advertiserId?: string; + /** + * Select only targeting templates with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "template*2015" will return objects with names like + * "template June 2015", "template April 2015", or simply "template 2015". + * Most of the searches also add wildcards implicitly at the start and the + * end of the search string. For example, a search string of "template" will + * match objects with name "my template", "template 2015", or simply + * "template". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + interface Params$Resource$Targetingtemplates$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Targeting template ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetingTemplate; + } + interface Params$Resource$Targetingtemplates$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetingTemplate; + } + class Resource$Userprofiles { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.userProfiles.get + * @desc Gets one user profile by ID. + * @alias dfareporting.userProfiles.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId The user profile ID. + * @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?: Params$Resource$Userprofiles$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Userprofiles$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Userprofiles$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.userProfiles.list + * @desc Retrieves list of user profiles for a user. + * @alias dfareporting.userProfiles.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @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?: Params$Resource$Userprofiles$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Userprofiles$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Userprofiles$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Userprofiles$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The user profile ID. + */ + profileId?: string; + } + interface Params$Resource$Userprofiles$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } + class Resource$Userrolepermissiongroups { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.userRolePermissionGroups.get + * @desc Gets one user role permission group by ID. + * @alias dfareporting.userRolePermissionGroups.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id User role permission group ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Userrolepermissiongroups$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Userrolepermissiongroups$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Userrolepermissiongroups$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.userRolePermissionGroups.list + * @desc Gets a list of all supported user role permission groups. + * @alias dfareporting.userRolePermissionGroups.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Userrolepermissiongroups$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Userrolepermissiongroups$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Userrolepermissiongroups$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Userrolepermissiongroups$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User role permission group ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Userrolepermissiongroups$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Userrolepermissions { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.userRolePermissions.get + * @desc Gets one user role permission by ID. + * @alias dfareporting.userRolePermissions.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id User role permission ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Userrolepermissions$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Userrolepermissions$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Userrolepermissions$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.userRolePermissions.list + * @desc Gets a list of user role permissions, possibly filtered. + * @alias dfareporting.userRolePermissions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.ids Select only user role permissions with these IDs. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Userrolepermissions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Userrolepermissions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Userrolepermissions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Userrolepermissions$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User role permission ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Userrolepermissions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only user role permissions with these IDs. + */ + ids?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Userroles { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.userRoles.delete + * @desc Deletes an existing user role. + * @alias dfareporting.userRoles.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id User role ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Userroles$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Userroles$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Userroles$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dfareporting.userRoles.get + * @desc Gets one user role by ID. + * @alias dfareporting.userRoles.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id User role ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Userroles$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Userroles$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Userroles$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.userRoles.insert + * @desc Inserts a new user role. + * @alias dfareporting.userRoles.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().UserRole} 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?: Params$Resource$Userroles$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Userroles$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Userroles$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.userRoles.list + * @desc Retrieves a list of user roles, possibly filtered. This method + * supports paging. + * @alias dfareporting.userRoles.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.accountUserRoleOnly Select only account level user roles not associated with any specific subaccount. + * @param {string=} params.ids Select only user roles with the specified IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "userrole*2015" will return objects with names like "userrole June 2015", "userrole April 2015", or simply "userrole 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "userrole" will match objects with name "my userrole", "userrole 2015", or simply "userrole". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @param {string=} params.subaccountId Select only user roles that belong to this subaccount. + * @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?: Params$Resource$Userroles$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Userroles$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Userroles$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.userRoles.patch + * @desc Updates an existing user role. This method supports patch + * semantics. + * @alias dfareporting.userRoles.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id User role ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().UserRole} 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 + */ + patch(params?: Params$Resource$Userroles$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Userroles$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Userroles$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.userRoles.update + * @desc Updates an existing user role. + * @alias dfareporting.userRoles.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().UserRole} 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?: Params$Resource$Userroles$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Userroles$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Userroles$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Userroles$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User role ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Userroles$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User role ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Userroles$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UserRole; + } + interface Params$Resource$Userroles$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only account level user roles not associated with any specific + * subaccount. + */ + accountUserRoleOnly?: boolean; + /** + * Select only user roles with the specified IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "userrole*2015" will return objects with names like + * "userrole June 2015", "userrole April 2015", or simply "userrole 2015". + * Most of the searches also add wildcards implicitly at the start and the + * end of the search string. For example, a search string of "userrole" will + * match objects with name "my userrole", "userrole 2015", or simply + * "userrole". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + /** + * Select only user roles that belong to this subaccount. + */ + subaccountId?: string; + } + interface Params$Resource$Userroles$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User role ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UserRole; + } + interface Params$Resource$Userroles$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UserRole; + } + class Resource$Videoformats { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.videoFormats.get + * @desc Gets one video format by ID. + * @alias dfareporting.videoFormats.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.id Video format ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Videoformats$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Videoformats$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Videoformats$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.videoFormats.list + * @desc Lists available video formats. + * @alias dfareporting.videoFormats.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Videoformats$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Videoformats$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Videoformats$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Videoformats$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Video format ID. + */ + id?: number; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Videoformats$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/dfareporting/v3.0.js b/express-server/node_modules/googleapis/build/src/apis/dfareporting/v3.0.js new file mode 100644 index 00000000..007646a3 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dfareporting/v3.0.js @@ -0,0 +1,7267 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var dfareporting_v3_0; +(function (dfareporting_v3_0) { + /** + * DCM/DFA Reporting And Trafficking API + * + * Manages your DoubleClick Campaign Manager ad campaigns and reports. + * + * @example + * const {google} = require('googleapis'); + * const dfareporting = google.dfareporting('v3.0'); + * + * @namespace dfareporting + * @type {Function} + * @version v3.0 + * @variation v3.0 + * @param {object=} options Options for Dfareporting + */ + class Dfareporting { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.accountActiveAdSummaries = + new Resource$Accountactiveadsummaries(this); + this.accountPermissionGroups = new Resource$Accountpermissiongroups(this); + this.accountPermissions = new Resource$Accountpermissions(this); + this.accounts = new Resource$Accounts(this); + this.accountUserProfiles = new Resource$Accountuserprofiles(this); + this.ads = new Resource$Ads(this); + this.advertiserGroups = new Resource$Advertisergroups(this); + this.advertiserLandingPages = new Resource$Advertiserlandingpages(this); + this.advertisers = new Resource$Advertisers(this); + this.browsers = new Resource$Browsers(this); + this.campaignCreativeAssociations = + new Resource$Campaigncreativeassociations(this); + this.campaigns = new Resource$Campaigns(this); + this.changeLogs = new Resource$Changelogs(this); + this.cities = new Resource$Cities(this); + this.connectionTypes = new Resource$Connectiontypes(this); + this.contentCategories = new Resource$Contentcategories(this); + this.conversions = new Resource$Conversions(this); + this.countries = new Resource$Countries(this); + this.creativeAssets = new Resource$Creativeassets(this); + this.creativeFields = new Resource$Creativefields(this); + this.creativeFieldValues = new Resource$Creativefieldvalues(this); + this.creativeGroups = new Resource$Creativegroups(this); + this.creatives = new Resource$Creatives(this); + this.dimensionValues = new Resource$Dimensionvalues(this); + this.directorySiteContacts = new Resource$Directorysitecontacts(this); + this.directorySites = new Resource$Directorysites(this); + this.dynamicTargetingKeys = new Resource$Dynamictargetingkeys(this); + this.eventTags = new Resource$Eventtags(this); + this.files = new Resource$Files(this); + this.floodlightActivities = new Resource$Floodlightactivities(this); + this.floodlightActivityGroups = + new Resource$Floodlightactivitygroups(this); + this.floodlightConfigurations = + new Resource$Floodlightconfigurations(this); + this.inventoryItems = new Resource$Inventoryitems(this); + this.languages = new Resource$Languages(this); + this.metros = new Resource$Metros(this); + this.mobileCarriers = new Resource$Mobilecarriers(this); + this.operatingSystems = new Resource$Operatingsystems(this); + this.operatingSystemVersions = new Resource$Operatingsystemversions(this); + this.orderDocuments = new Resource$Orderdocuments(this); + this.orders = new Resource$Orders(this); + this.placementGroups = new Resource$Placementgroups(this); + this.placements = new Resource$Placements(this); + this.placementStrategies = new Resource$Placementstrategies(this); + this.platformTypes = new Resource$Platformtypes(this); + this.postalCodes = new Resource$Postalcodes(this); + this.projects = new Resource$Projects(this); + this.regions = new Resource$Regions(this); + this.remarketingLists = new Resource$Remarketinglists(this); + this.remarketingListShares = new Resource$Remarketinglistshares(this); + this.reports = new Resource$Reports(this); + this.sites = new Resource$Sites(this); + this.sizes = new Resource$Sizes(this); + this.subaccounts = new Resource$Subaccounts(this); + this.targetableRemarketingLists = + new Resource$Targetableremarketinglists(this); + this.targetingTemplates = new Resource$Targetingtemplates(this); + this.userProfiles = new Resource$Userprofiles(this); + this.userRolePermissionGroups = + new Resource$Userrolepermissiongroups(this); + this.userRolePermissions = new Resource$Userrolepermissions(this); + this.userRoles = new Resource$Userroles(this); + this.videoFormats = new Resource$Videoformats(this); + } + getRoot() { + return this.root; + } + } + dfareporting_v3_0.Dfareporting = Dfareporting; + class Resource$Accountactiveadsummaries { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/accountActiveAdSummaries/{summaryAccountId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'summaryAccountId'], + pathParams: ['profileId', 'summaryAccountId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Accountactiveadsummaries = Resource$Accountactiveadsummaries; + class Resource$Accountpermissiongroups { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/accountPermissionGroups/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/accountPermissionGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Accountpermissiongroups = Resource$Accountpermissiongroups; + class Resource$Accountpermissions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/accountPermissions/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/accountPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Accountpermissions = Resource$Accountpermissions; + class Resource$Accounts { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/accounts/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/accounts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/accounts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/accounts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Accounts = Resource$Accounts; + class Resource$Accountuserprofiles { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/accountUserProfiles/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/accountUserProfiles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/accountUserProfiles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/accountUserProfiles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/accountUserProfiles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Accountuserprofiles = Resource$Accountuserprofiles; + class Resource$Ads { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/ads/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/dfareporting/v3.0/userprofiles/{profileId}/ads') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/dfareporting/v3.0/userprofiles/{profileId}/ads') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/dfareporting/v3.0/userprofiles/{profileId}/ads') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/dfareporting/v3.0/userprofiles/{profileId}/ads') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Ads = Resource$Ads; + class Resource$Advertisergroups { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/advertiserGroups/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/advertiserGroups/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/advertiserGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/advertiserGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/advertiserGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/advertiserGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Advertisergroups = Resource$Advertisergroups; + class Resource$Advertiserlandingpages { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/advertiserLandingPages/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/advertiserLandingPages') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/advertiserLandingPages') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/advertiserLandingPages') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/advertiserLandingPages') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Advertiserlandingpages = Resource$Advertiserlandingpages; + class Resource$Advertisers { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/advertisers/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/advertisers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/advertisers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/advertisers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/advertisers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Advertisers = Resource$Advertisers; + class Resource$Browsers { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/browsers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Browsers = Resource$Browsers; + class Resource$Campaigncreativeassociations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId', 'campaignId'], + pathParams: ['campaignId', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'campaignId'], + pathParams: ['campaignId', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Campaigncreativeassociations = Resource$Campaigncreativeassociations; + class Resource$Campaigns { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/campaigns/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/campaigns') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/campaigns') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/campaigns') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/campaigns') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Campaigns = Resource$Campaigns; + class Resource$Changelogs { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/changeLogs/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/changeLogs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Changelogs = Resource$Changelogs; + class Resource$Cities { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/cities') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Cities = Resource$Cities; + class Resource$Connectiontypes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/connectionTypes/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/connectionTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Connectiontypes = Resource$Connectiontypes; + class Resource$Contentcategories { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/contentCategories/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/contentCategories/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/contentCategories') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/contentCategories') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/contentCategories') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/contentCategories') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Contentcategories = Resource$Contentcategories; + class Resource$Conversions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + batchinsert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/conversions/batchinsert') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + batchupdate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/conversions/batchupdate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Conversions = Resource$Conversions; + class Resource$Countries { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/countries/{dartId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'dartId'], + pathParams: ['dartId', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/countries') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Countries = Resource$Countries; + class Resource$Creativeassets { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + mediaUrl: (rootUrl + + '/upload/dfareporting/v3.0/userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets') + .replace(/([^:]\/)\/+/g, '$1'), + requiredParams: ['profileId', 'advertiserId'], + pathParams: ['advertiserId', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Creativeassets = Resource$Creativeassets; + class Resource$Creativefields { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/creativeFields/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/creativeFields/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/creativeFields') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/creativeFields') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/creativeFields') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/creativeFields') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Creativefields = Resource$Creativefields; + class Resource$Creativefieldvalues { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['profileId', 'creativeFieldId', 'id'], + pathParams: ['creativeFieldId', 'id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'creativeFieldId', 'id'], + pathParams: ['creativeFieldId', 'id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId', 'creativeFieldId'], + pathParams: ['creativeFieldId', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'creativeFieldId'], + pathParams: ['creativeFieldId', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'creativeFieldId', 'id'], + pathParams: ['creativeFieldId', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId', 'creativeFieldId'], + pathParams: ['creativeFieldId', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Creativefieldvalues = Resource$Creativefieldvalues; + class Resource$Creativegroups { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/creativeGroups/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/creativeGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/creativeGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/creativeGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/creativeGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Creativegroups = Resource$Creativegroups; + class Resource$Creatives { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/creatives/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/creatives') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/creatives') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/creatives') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/creatives') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Creatives = Resource$Creatives; + class Resource$Dimensionvalues { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + query(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/dimensionvalues/query') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Dimensionvalues = Resource$Dimensionvalues; + class Resource$Directorysitecontacts { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/directorySiteContacts/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/directorySiteContacts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Directorysitecontacts = Resource$Directorysitecontacts; + class Resource$Directorysites { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/directorySites/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/directorySites') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/directorySites') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Directorysites = Resource$Directorysites; + class Resource$Dynamictargetingkeys { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/dynamicTargetingKeys/{objectId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['profileId', 'objectId', 'name', 'objectType'], + pathParams: ['objectId', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/dynamicTargetingKeys') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/dynamicTargetingKeys') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Dynamictargetingkeys = Resource$Dynamictargetingkeys; + class Resource$Eventtags { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/eventTags/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/eventTags/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/eventTags') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/eventTags') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/eventTags') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/eventTags') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Eventtags = Resource$Eventtags; + class Resource$Files { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/reports/{reportId}/files/{fileId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['reportId', 'fileId'], + pathParams: ['fileId', 'reportId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/files') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Files = Resource$Files; + class Resource$Floodlightactivities { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/floodlightActivities/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + generatetag(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/floodlightActivities/generatetag') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/floodlightActivities/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/floodlightActivities') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/floodlightActivities') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/floodlightActivities') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/floodlightActivities') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Floodlightactivities = Resource$Floodlightactivities; + class Resource$Floodlightactivitygroups { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/floodlightActivityGroups/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/floodlightActivityGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/floodlightActivityGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/floodlightActivityGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/floodlightActivityGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Floodlightactivitygroups = Resource$Floodlightactivitygroups; + class Resource$Floodlightconfigurations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/floodlightConfigurations/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/floodlightConfigurations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/floodlightConfigurations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/floodlightConfigurations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Floodlightconfigurations = Resource$Floodlightconfigurations; + class Resource$Inventoryitems { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/projects/{projectId}/inventoryItems/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'projectId', 'id'], + pathParams: ['id', 'profileId', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/projects/{projectId}/inventoryItems') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'projectId'], + pathParams: ['profileId', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Inventoryitems = Resource$Inventoryitems; + class Resource$Languages { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/languages') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Languages = Resource$Languages; + class Resource$Metros { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/metros') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Metros = Resource$Metros; + class Resource$Mobilecarriers { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/mobileCarriers/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/mobileCarriers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Mobilecarriers = Resource$Mobilecarriers; + class Resource$Operatingsystems { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/operatingSystems/{dartId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'dartId'], + pathParams: ['dartId', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/operatingSystems') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Operatingsystems = Resource$Operatingsystems; + class Resource$Operatingsystemversions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/operatingSystemVersions/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/operatingSystemVersions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Operatingsystemversions = Resource$Operatingsystemversions; + class Resource$Orderdocuments { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/projects/{projectId}/orderDocuments/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'projectId', 'id'], + pathParams: ['id', 'profileId', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/projects/{projectId}/orderDocuments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'projectId'], + pathParams: ['profileId', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Orderdocuments = Resource$Orderdocuments; + class Resource$Orders { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/projects/{projectId}/orders/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'projectId', 'id'], + pathParams: ['id', 'profileId', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/projects/{projectId}/orders') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'projectId'], + pathParams: ['profileId', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Orders = Resource$Orders; + class Resource$Placementgroups { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/placementGroups/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/placementGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/placementGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/placementGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/placementGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Placementgroups = Resource$Placementgroups; + class Resource$Placements { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + generatetags(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/placements/generatetags') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/placements/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/placements') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/placements') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/placements') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/placements') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Placements = Resource$Placements; + class Resource$Placementstrategies { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/placementStrategies/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/placementStrategies/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/placementStrategies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/placementStrategies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/placementStrategies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/placementStrategies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Placementstrategies = Resource$Placementstrategies; + class Resource$Platformtypes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/platformTypes/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/platformTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Platformtypes = Resource$Platformtypes; + class Resource$Postalcodes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/postalCodes/{code}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'code'], + pathParams: ['code', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/postalCodes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Postalcodes = Resource$Postalcodes; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/projects/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/projects') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Projects = Resource$Projects; + class Resource$Regions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/regions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Regions = Resource$Regions; + class Resource$Remarketinglists { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/remarketingLists/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/remarketingLists') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/remarketingLists') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'advertiserId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/remarketingLists') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/remarketingLists') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Remarketinglists = Resource$Remarketinglists; + class Resource$Remarketinglistshares { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/remarketingListShares/{remarketingListId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'remarketingListId'], + pathParams: ['profileId', 'remarketingListId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/remarketingListShares') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'remarketingListId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/remarketingListShares') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Remarketinglistshares = Resource$Remarketinglistshares; + class Resource$Reports { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.compatibleFields = new Resource$Reports$Compatiblefields(root); + this.files = new Resource$Reports$Files(root); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/reports/{reportId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['profileId', 'reportId'], + pathParams: ['profileId', 'reportId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/reports/{reportId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'reportId'], + pathParams: ['profileId', 'reportId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/reports') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/reports') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/reports/{reportId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'reportId'], + pathParams: ['profileId', 'reportId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + run(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/reports/{reportId}/run') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId', 'reportId'], + pathParams: ['profileId', 'reportId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/reports/{reportId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId', 'reportId'], + pathParams: ['profileId', 'reportId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Reports = Resource$Reports; + class Resource$Reports$Compatiblefields { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + query(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/reports/compatiblefields/query') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Reports$Compatiblefields = Resource$Reports$Compatiblefields; + class Resource$Reports$Files { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/reports/{reportId}/files/{fileId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'reportId', 'fileId'], + pathParams: ['fileId', 'profileId', 'reportId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/reports/{reportId}/files') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'reportId'], + pathParams: ['profileId', 'reportId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Reports$Files = Resource$Reports$Files; + class Resource$Sites { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/sites/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/sites') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/sites') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/sites') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/sites') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Sites = Resource$Sites; + class Resource$Sizes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/sizes/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/sizes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/sizes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Sizes = Resource$Sizes; + class Resource$Subaccounts { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/subaccounts/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/subaccounts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/subaccounts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/subaccounts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/subaccounts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Subaccounts = Resource$Subaccounts; + class Resource$Targetableremarketinglists { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/targetableRemarketingLists/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/targetableRemarketingLists') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'advertiserId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Targetableremarketinglists = Resource$Targetableremarketinglists; + class Resource$Targetingtemplates { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/targetingTemplates/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/targetingTemplates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/targetingTemplates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/targetingTemplates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/targetingTemplates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Targetingtemplates = Resource$Targetingtemplates; + class Resource$Userprofiles { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/dfareporting/v3.0/userprofiles/{profileId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/dfareporting/v3.0/userprofiles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Userprofiles = Resource$Userprofiles; + class Resource$Userrolepermissiongroups { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/userRolePermissionGroups/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/userRolePermissionGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Userrolepermissiongroups = Resource$Userrolepermissiongroups; + class Resource$Userrolepermissions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/userRolePermissions/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/userRolePermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Userrolepermissions = Resource$Userrolepermissions; + class Resource$Userroles { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/userRoles/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/userRoles/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/userRoles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/userRoles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/userRoles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/userRoles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Userroles = Resource$Userroles; + class Resource$Videoformats { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/videoFormats/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.0/userprofiles/{profileId}/videoFormats') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_0.Resource$Videoformats = Resource$Videoformats; +})(dfareporting_v3_0 = exports.dfareporting_v3_0 || (exports.dfareporting_v3_0 = {})); +//# sourceMappingURL=v3.0.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/dfareporting/v3.0.js.map b/express-server/node_modules/googleapis/build/src/apis/dfareporting/v3.0.js.map new file mode 100644 index 00000000..d18494c3 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dfareporting/v3.0.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v3.0.js","sourceRoot":"","sources":["../../../../src/apis/dfareporting/v3.0.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/dfareporting/v3.1.d.ts b/express-server/node_modules/googleapis/build/src/apis/dfareporting/v3.1.d.ts new file mode 100644 index 00000000..e270e2f5 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dfareporting/v3.1.d.ts @@ -0,0 +1,16282 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace dfareporting_v3_1 { + interface Options extends GlobalOptions { + version: 'v3_1'; + } + /** + * DCM/DFA Reporting And Trafficking API + * + * Manages your DoubleClick Campaign Manager ad campaigns and reports. + * + * @example + * const {google} = require('googleapis'); + * const dfareporting = google.dfareporting('v3.1'); + * + * @namespace dfareporting + * @type {Function} + * @version v3.1 + * @variation v3.1 + * @param {object=} options Options for Dfareporting + */ + class Dfareporting { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + accountActiveAdSummaries: Resource$Accountactiveadsummaries; + accountPermissionGroups: Resource$Accountpermissiongroups; + accountPermissions: Resource$Accountpermissions; + accounts: Resource$Accounts; + accountUserProfiles: Resource$Accountuserprofiles; + ads: Resource$Ads; + advertiserGroups: Resource$Advertisergroups; + advertiserLandingPages: Resource$Advertiserlandingpages; + advertisers: Resource$Advertisers; + browsers: Resource$Browsers; + campaignCreativeAssociations: Resource$Campaigncreativeassociations; + campaigns: Resource$Campaigns; + changeLogs: Resource$Changelogs; + cities: Resource$Cities; + connectionTypes: Resource$Connectiontypes; + contentCategories: Resource$Contentcategories; + conversions: Resource$Conversions; + countries: Resource$Countries; + creativeAssets: Resource$Creativeassets; + creativeFields: Resource$Creativefields; + creativeFieldValues: Resource$Creativefieldvalues; + creativeGroups: Resource$Creativegroups; + creatives: Resource$Creatives; + dimensionValues: Resource$Dimensionvalues; + directorySiteContacts: Resource$Directorysitecontacts; + directorySites: Resource$Directorysites; + dynamicTargetingKeys: Resource$Dynamictargetingkeys; + eventTags: Resource$Eventtags; + files: Resource$Files; + floodlightActivities: Resource$Floodlightactivities; + floodlightActivityGroups: Resource$Floodlightactivitygroups; + floodlightConfigurations: Resource$Floodlightconfigurations; + inventoryItems: Resource$Inventoryitems; + languages: Resource$Languages; + metros: Resource$Metros; + mobileApps: Resource$Mobileapps; + mobileCarriers: Resource$Mobilecarriers; + operatingSystems: Resource$Operatingsystems; + operatingSystemVersions: Resource$Operatingsystemversions; + orderDocuments: Resource$Orderdocuments; + orders: Resource$Orders; + placementGroups: Resource$Placementgroups; + placements: Resource$Placements; + placementStrategies: Resource$Placementstrategies; + platformTypes: Resource$Platformtypes; + postalCodes: Resource$Postalcodes; + projects: Resource$Projects; + regions: Resource$Regions; + remarketingLists: Resource$Remarketinglists; + remarketingListShares: Resource$Remarketinglistshares; + reports: Resource$Reports; + sites: Resource$Sites; + sizes: Resource$Sizes; + subaccounts: Resource$Subaccounts; + targetableRemarketingLists: Resource$Targetableremarketinglists; + targetingTemplates: Resource$Targetingtemplates; + userProfiles: Resource$Userprofiles; + userRolePermissionGroups: Resource$Userrolepermissiongroups; + userRolePermissions: Resource$Userrolepermissions; + userRoles: Resource$Userroles; + videoFormats: Resource$Videoformats; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Contains properties of a Campaign Manager account. + */ + interface Schema$Account { + /** + * Account permissions assigned to this account. + */ + accountPermissionIds?: string[]; + /** + * Profile for this account. This is a read-only field that can be left + * blank. + */ + accountProfile?: string; + /** + * Whether this account is active. + */ + active?: boolean; + /** + * Maximum number of active ads allowed for this account. + */ + activeAdsLimitTier?: string; + /** + * Whether to serve creatives with Active View tags. If disabled, + * viewability data will not be available for any impressions. + */ + activeViewOptOut?: boolean; + /** + * User role permissions available to the user roles of this account. + */ + availablePermissionIds?: string[]; + /** + * ID of the country associated with this account. + */ + countryId?: string; + /** + * ID of currency associated with this account. This is a required field. + * Acceptable values are: - "1" for USD - "2" for GBP + * - "3" for ESP - "4" for SEK - "5" for CAD + * - "6" for JPY - "7" for DEM - "8" for AUD + * - "9" for FRF - "10" for ITL - "11" for + * DKK - "12" for NOK - "13" for FIM - "14" + * for ZAR - "15" for IEP - "16" for NLG - + * "17" for EUR - "18" for KRW - "19" for + * TWD - "20" for SGD - "21" for CNY - "22" + * for HKD - "23" for NZD - "24" for MYR - + * "25" for BRL - "26" for PTE - "27" for + * MXP - "28" for CLP - "29" for TRY - "30" + * for ARS - "31" for PEN - "32" for ILS - + * "33" for CHF - "34" for VEF - "35" for + * COP - "36" for GTQ - "37" for PLN - "39" + * for INR - "40" for THB - "41" for IDR - + * "42" for CZK - "43" for RON - "44" for + * HUF - "45" for RUB - "46" for AED - "47" + * for BGN - "48" for HRK - "49" for MXN - + * "50" for NGN + */ + currencyId?: string; + /** + * Default placement dimensions for this account. + */ + defaultCreativeSizeId?: string; + /** + * Description of this account. + */ + description?: string; + /** + * ID of this account. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#account". + */ + kind?: string; + /** + * Locale of this account. Acceptable values are: - "cs" (Czech) + * - "de" (German) - "en" (English) - + * "en-GB" (English United Kingdom) - "es" (Spanish) - + * "fr" (French) - "it" (Italian) - "ja" + * (Japanese) - "ko" (Korean) - "pl" (Polish) - + * "pt-BR" (Portuguese Brazil) - "ru" (Russian) - + * "sv" (Swedish) - "tr" (Turkish) - "zh-CN" + * (Chinese Simplified) - "zh-TW" (Chinese Traditional) + */ + locale?: string; + /** + * Maximum image size allowed for this account, in kilobytes. Value must be + * greater than or equal to 1. + */ + maximumImageSize?: string; + /** + * Name of this account. This is a required field, and must be less than 128 + * characters long and be globally unique. + */ + name?: string; + /** + * Whether campaigns created in this account will be enabled for Nielsen OCR + * reach ratings by default. + */ + nielsenOcrEnabled?: boolean; + /** + * Reporting configuration of this account. + */ + reportsConfiguration?: Schema$ReportsConfiguration; + /** + * Share Path to Conversion reports with Twitter. + */ + shareReportsWithTwitter?: boolean; + /** + * File size limit in kilobytes of Rich Media teaser creatives. Acceptable + * values are 1 to 10240, inclusive. + */ + teaserSizeLimit?: string; + } + /** + * Gets a summary of active ads in an account. + */ + interface Schema$AccountActiveAdSummary { + /** + * ID of the account. + */ + accountId?: string; + /** + * Ads that have been activated for the account + */ + activeAds?: string; + /** + * Maximum number of active ads allowed for the account. + */ + activeAdsLimitTier?: string; + /** + * Ads that can be activated for the account. + */ + availableAds?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#accountActiveAdSummary". + */ + kind?: string; + } + /** + * AccountPermissions contains information about a particular account + * permission. Some features of Campaign Manager require an account permission + * to be present in the account. + */ + interface Schema$AccountPermission { + /** + * Account profiles associated with this account permission. Possible + * values are: - "ACCOUNT_PROFILE_BASIC" - + * "ACCOUNT_PROFILE_STANDARD" + */ + accountProfiles?: string[]; + /** + * ID of this account permission. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#accountPermission". + */ + kind?: string; + /** + * Administrative level required to enable this account permission. + */ + level?: string; + /** + * Name of this account permission. + */ + name?: string; + /** + * Permission group of this account permission. + */ + permissionGroupId?: string; + } + /** + * AccountPermissionGroups contains a mapping of permission group IDs to + * names. A permission group is a grouping of account permissions. + */ + interface Schema$AccountPermissionGroup { + /** + * ID of this account permission group. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#accountPermissionGroup". + */ + kind?: string; + /** + * Name of this account permission group. + */ + name?: string; + } + /** + * Account Permission Group List Response + */ + interface Schema$AccountPermissionGroupsListResponse { + /** + * Account permission group collection. + */ + accountPermissionGroups?: Schema$AccountPermissionGroup[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#accountPermissionGroupsListResponse". + */ + kind?: string; + } + /** + * Account Permission List Response + */ + interface Schema$AccountPermissionsListResponse { + /** + * Account permission collection. + */ + accountPermissions?: Schema$AccountPermission[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#accountPermissionsListResponse". + */ + kind?: string; + } + /** + * Account List Response + */ + interface Schema$AccountsListResponse { + /** + * Account collection. + */ + accounts?: Schema$Account[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#accountsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * AccountUserProfiles contains properties of a Campaign Manager user profile. + * This resource is specifically for managing user profiles, whereas + * UserProfiles is for accessing the API. + */ + interface Schema$AccountUserProfile { + /** + * Account ID of the user profile. This is a read-only field that can be + * left blank. + */ + accountId?: string; + /** + * Whether this user profile is active. This defaults to false, and must be + * set true on insert for the user profile to be usable. + */ + active?: boolean; + /** + * Filter that describes which advertisers are visible to the user profile. + */ + advertiserFilter?: Schema$ObjectFilter; + /** + * Filter that describes which campaigns are visible to the user profile. + */ + campaignFilter?: Schema$ObjectFilter; + /** + * Comments for this user profile. + */ + comments?: string; + /** + * Email of the user profile. The email addresss must be linked to a Google + * Account. This field is required on insertion and is read-only after + * insertion. + */ + email?: string; + /** + * ID of the user profile. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#accountUserProfile". + */ + kind?: string; + /** + * Locale of the user profile. This is a required field. Acceptable values + * are: - "cs" (Czech) - "de" (German) - + * "en" (English) - "en-GB" (English United Kingdom) - + * "es" (Spanish) - "fr" (French) - "it" + * (Italian) - "ja" (Japanese) - "ko" (Korean) - + * "pl" (Polish) - "pt-BR" (Portuguese Brazil) - + * "ru" (Russian) - "sv" (Swedish) - "tr" + * (Turkish) - "zh-CN" (Chinese Simplified) - "zh-TW" + * (Chinese Traditional) + */ + locale?: string; + /** + * Name of the user profile. This is a required field. Must be less than 64 + * characters long, must be globally unique, and cannot contain whitespace + * or any of the following characters: "&;"#%,". + */ + name?: string; + /** + * Filter that describes which sites are visible to the user profile. + */ + siteFilter?: Schema$ObjectFilter; + /** + * Subaccount ID of the user profile. This is a read-only field that can be + * left blank. + */ + subaccountId?: string; + /** + * Trafficker type of this user profile. This is a read-only field. + */ + traffickerType?: string; + /** + * User type of the user profile. This is a read-only field that can be left + * blank. + */ + userAccessType?: string; + /** + * Filter that describes which user roles are visible to the user profile. + */ + userRoleFilter?: Schema$ObjectFilter; + /** + * User role ID of the user profile. This is a required field. + */ + userRoleId?: string; + } + /** + * Account User Profile List Response + */ + interface Schema$AccountUserProfilesListResponse { + /** + * Account user profile collection. + */ + accountUserProfiles?: Schema$AccountUserProfile[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#accountUserProfilesListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Represents an activity group. + */ + interface Schema$Activities { + /** + * List of activity filters. The dimension values need to be all either of + * type "dfa:activity" or "dfa:activityGroup". + */ + filters?: Schema$DimensionValue[]; + /** + * The kind of resource this is, in this case dfareporting#activities. + */ + kind?: string; + /** + * List of names of floodlight activity metrics. + */ + metricNames?: string[]; + } + /** + * Contains properties of a Campaign Manager ad. + */ + interface Schema$Ad { + /** + * Account ID of this ad. This is a read-only field that can be left blank. + */ + accountId?: string; + /** + * Whether this ad is active. When true, archived must be false. + */ + active?: boolean; + /** + * Advertiser ID of this ad. This is a required field on insertion. + */ + advertiserId?: string; + /** + * Dimension value for the ID of the advertiser. This is a read-only, + * auto-generated field. + */ + advertiserIdDimensionValue?: Schema$DimensionValue; + /** + * Whether this ad is archived. When true, active must be false. + */ + archived?: boolean; + /** + * Audience segment ID that is being targeted for this ad. Applicable when + * type is AD_SERVING_STANDARD_AD. + */ + audienceSegmentId?: string; + /** + * Campaign ID of this ad. This is a required field on insertion. + */ + campaignId?: string; + /** + * Dimension value for the ID of the campaign. This is a read-only, + * auto-generated field. + */ + campaignIdDimensionValue?: Schema$DimensionValue; + /** + * Click-through URL for this ad. This is a required field on insertion. + * Applicable when type is AD_SERVING_CLICK_TRACKER. + */ + clickThroughUrl?: Schema$ClickThroughUrl; + /** + * Click-through URL suffix properties for this ad. Applies to the URL in + * the ad or (if overriding ad properties) the URL in the creative. + */ + clickThroughUrlSuffixProperties?: Schema$ClickThroughUrlSuffixProperties; + /** + * Comments for this ad. + */ + comments?: string; + /** + * Compatibility of this ad. Applicable when type is AD_SERVING_DEFAULT_AD. + * DISPLAY and DISPLAY_INTERSTITIAL refer to either rendering on desktop or + * on mobile devices or in mobile apps for regular or interstitial ads, + * respectively. APP and APP_INTERSTITIAL are only used for existing default + * ads. New mobile placements must be assigned DISPLAY or + * DISPLAY_INTERSTITIAL and default ads created for those placements will be + * limited to those compatibility types. IN_STREAM_VIDEO refers to rendering + * in-stream video ads developed with the VAST standard. + */ + compatibility?: string; + /** + * Information about the creation of this ad. This is a read-only field. + */ + createInfo?: Schema$LastModifiedInfo; + /** + * Creative group assignments for this ad. Applicable when type is + * AD_SERVING_CLICK_TRACKER. Only one assignment per creative group number + * is allowed for a maximum of two assignments. + */ + creativeGroupAssignments?: Schema$CreativeGroupAssignment[]; + /** + * Creative rotation for this ad. Applicable when type is + * AD_SERVING_DEFAULT_AD, AD_SERVING_STANDARD_AD, or AD_SERVING_TRACKING. + * When type is AD_SERVING_DEFAULT_AD, this field should have exactly one + * creativeAssignment. + */ + creativeRotation?: Schema$CreativeRotation; + /** + * Time and day targeting information for this ad. This field must be left + * blank if the ad is using a targeting template. Applicable when type is + * AD_SERVING_STANDARD_AD. + */ + dayPartTargeting?: Schema$DayPartTargeting; + /** + * Default click-through event tag properties for this ad. + */ + defaultClickThroughEventTagProperties?: Schema$DefaultClickThroughEventTagProperties; + /** + * Delivery schedule information for this ad. Applicable when type is + * AD_SERVING_STANDARD_AD or AD_SERVING_TRACKING. This field along with + * subfields priority and impressionRatio are required on insertion when + * type is AD_SERVING_STANDARD_AD. + */ + deliverySchedule?: Schema$DeliverySchedule; + /** + * Whether this ad is a dynamic click tracker. Applicable when type is + * AD_SERVING_CLICK_TRACKER. This is a required field on insert, and is + * read-only after insert. + */ + dynamicClickTracker?: boolean; + /** + * Date and time that this ad should stop serving. Must be later than the + * start time. This is a required field on insertion. + */ + endTime?: string; + /** + * Event tag overrides for this ad. + */ + eventTagOverrides?: Schema$EventTagOverride[]; + /** + * Geographical targeting information for this ad. This field must be left + * blank if the ad is using a targeting template. Applicable when type is + * AD_SERVING_STANDARD_AD. + */ + geoTargeting?: Schema$GeoTargeting; + /** + * ID of this ad. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Dimension value for the ID of this ad. This is a read-only, + * auto-generated field. + */ + idDimensionValue?: Schema$DimensionValue; + /** + * Key-value targeting information for this ad. This field must be left + * blank if the ad is using a targeting template. Applicable when type is + * AD_SERVING_STANDARD_AD. + */ + keyValueTargetingExpression?: Schema$KeyValueTargetingExpression; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#ad". + */ + kind?: string; + /** + * Language targeting information for this ad. This field must be left blank + * if the ad is using a targeting template. Applicable when type is + * AD_SERVING_STANDARD_AD. + */ + languageTargeting?: Schema$LanguageTargeting; + /** + * Information about the most recent modification of this ad. This is a + * read-only field. + */ + lastModifiedInfo?: Schema$LastModifiedInfo; + /** + * Name of this ad. This is a required field and must be less than 256 + * characters long. + */ + name?: string; + /** + * Placement assignments for this ad. + */ + placementAssignments?: Schema$PlacementAssignment[]; + /** + * Remarketing list targeting expression for this ad. This field must be + * left blank if the ad is using a targeting template. Applicable when type + * is AD_SERVING_STANDARD_AD. + */ + remarketingListExpression?: Schema$ListTargetingExpression; + /** + * Size of this ad. Applicable when type is AD_SERVING_DEFAULT_AD. + */ + size?: Schema$Size; + /** + * Whether this ad is ssl compliant. This is a read-only field that is + * auto-generated when the ad is inserted or updated. + */ + sslCompliant?: boolean; + /** + * Whether this ad requires ssl. This is a read-only field that is + * auto-generated when the ad is inserted or updated. + */ + sslRequired?: boolean; + /** + * Date and time that this ad should start serving. If creating an ad, this + * field must be a time in the future. This is a required field on + * insertion. + */ + startTime?: string; + /** + * Subaccount ID of this ad. This is a read-only field that can be left + * blank. + */ + subaccountId?: string; + /** + * Targeting template ID, used to apply preconfigured targeting information + * to this ad. This cannot be set while any of dayPartTargeting, + * geoTargeting, keyValueTargetingExpression, languageTargeting, + * remarketingListExpression, or technologyTargeting are set. Applicable + * when type is AD_SERVING_STANDARD_AD. + */ + targetingTemplateId?: string; + /** + * Technology platform targeting information for this ad. This field must be + * left blank if the ad is using a targeting template. Applicable when type + * is AD_SERVING_STANDARD_AD. + */ + technologyTargeting?: Schema$TechnologyTargeting; + /** + * Type of ad. This is a required field on insertion. Note that default ads + * (AD_SERVING_DEFAULT_AD) cannot be created directly (see Creative + * resource). + */ + type?: string; + } + /** + * Campaign ad blocking settings. + */ + interface Schema$AdBlockingConfiguration { + /** + * Click-through URL used by brand-neutral ads. This is a required field + * when overrideClickThroughUrl is set to true. + */ + clickThroughUrl?: string; + /** + * ID of a creative bundle to use for this campaign. If set, brand-neutral + * ads will select creatives from this bundle. Otherwise, a default + * transparent pixel will be used. + */ + creativeBundleId?: string; + /** + * Whether this campaign has enabled ad blocking. When true, ad blocking is + * enabled for placements in the campaign, but this may be overridden by + * site and placement settings. When false, ad blocking is disabled for all + * placements under the campaign, regardless of site and placement settings. + */ + enabled?: boolean; + /** + * Whether the brand-neutral ad's click-through URL comes from the + * campaign's creative bundle or the override URL. Must be set to true + * if ad blocking is enabled and no creative bundle is configured. + */ + overrideClickThroughUrl?: boolean; + } + /** + * Ad List Response + */ + interface Schema$AdsListResponse { + /** + * Ad collection. + */ + ads?: Schema$Ad[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#adsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Ad Slot + */ + interface Schema$AdSlot { + /** + * Comment for this ad slot. + */ + comment?: string; + /** + * Ad slot compatibility. DISPLAY and DISPLAY_INTERSTITIAL refer to + * rendering either on desktop, mobile devices or in mobile apps for regular + * or interstitial ads respectively. APP and APP_INTERSTITIAL are for + * rendering in mobile apps. IN_STREAM_VIDEO refers to rendering in + * in-stream video ads developed with the VAST standard. + */ + compatibility?: string; + /** + * Height of this ad slot. + */ + height?: string; + /** + * ID of the placement from an external platform that is linked to this ad + * slot. + */ + linkedPlacementId?: string; + /** + * Name of this ad slot. + */ + name?: string; + /** + * Payment source type of this ad slot. + */ + paymentSourceType?: string; + /** + * Primary ad slot of a roadblock inventory item. + */ + primary?: boolean; + /** + * Width of this ad slot. + */ + width?: string; + } + /** + * Contains properties of a Campaign Manager advertiser. + */ + interface Schema$Advertiser { + /** + * Account ID of this advertiser.This is a read-only field that can be left + * blank. + */ + accountId?: string; + /** + * ID of the advertiser group this advertiser belongs to. You can group + * advertisers for reporting purposes, allowing you to see aggregated + * information for all advertisers in each group. + */ + advertiserGroupId?: string; + /** + * Suffix added to click-through URL of ad creative associations under this + * advertiser. Must be less than 129 characters long. + */ + clickThroughUrlSuffix?: string; + /** + * ID of the click-through event tag to apply by default to the landing + * pages of this advertiser's campaigns. + */ + defaultClickThroughEventTagId?: string; + /** + * Default email address used in sender field for tag emails. + */ + defaultEmail?: string; + /** + * Floodlight configuration ID of this advertiser. The floodlight + * configuration ID will be created automatically, so on insert this field + * should be left blank. This field can be set to another advertiser's + * floodlight configuration ID in order to share that advertiser's + * floodlight configuration with this advertiser, so long as: - This + * advertiser's original floodlight configuration is not already + * associated with floodlight activities or floodlight activity groups. - + * This advertiser's original floodlight configuration is not already + * shared with another advertiser. + */ + floodlightConfigurationId?: string; + /** + * Dimension value for the ID of the floodlight configuration. This is a + * read-only, auto-generated field. + */ + floodlightConfigurationIdDimensionValue?: Schema$DimensionValue; + /** + * ID of this advertiser. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Dimension value for the ID of this advertiser. This is a read-only, + * auto-generated field. + */ + idDimensionValue?: Schema$DimensionValue; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#advertiser". + */ + kind?: string; + /** + * Name of this advertiser. This is a required field and must be less than + * 256 characters long and unique among advertisers of the same account. + */ + name?: string; + /** + * Original floodlight configuration before any sharing occurred. Set the + * floodlightConfigurationId of this advertiser to + * originalFloodlightConfigurationId to unshare the advertiser's current + * floodlight configuration. You cannot unshare an advertiser's + * floodlight configuration if the shared configuration has activities + * associated with any campaign or placement. + */ + originalFloodlightConfigurationId?: string; + /** + * Status of this advertiser. + */ + status?: string; + /** + * Subaccount ID of this advertiser.This is a read-only field that can be + * left blank. + */ + subaccountId?: string; + /** + * Suspension status of this advertiser. + */ + suspended?: boolean; + } + /** + * Groups advertisers together so that reports can be generated for the entire + * group at once. + */ + interface Schema$AdvertiserGroup { + /** + * Account ID of this advertiser group. This is a read-only field that can + * be left blank. + */ + accountId?: string; + /** + * ID of this advertiser group. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#advertiserGroup". + */ + kind?: string; + /** + * Name of this advertiser group. This is a required field and must be less + * than 256 characters long and unique among advertiser groups of the same + * account. + */ + name?: string; + } + /** + * Advertiser Group List Response + */ + interface Schema$AdvertiserGroupsListResponse { + /** + * Advertiser group collection. + */ + advertiserGroups?: Schema$AdvertiserGroup[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#advertiserGroupsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Landing Page List Response + */ + interface Schema$AdvertiserLandingPagesListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#advertiserLandingPagesListResponse". + */ + kind?: string; + /** + * Landing page collection + */ + landingPages?: Schema$LandingPage[]; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Advertiser List Response + */ + interface Schema$AdvertisersListResponse { + /** + * Advertiser collection. + */ + advertisers?: Schema$Advertiser[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#advertisersListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Audience Segment. + */ + interface Schema$AudienceSegment { + /** + * Weight allocated to this segment. The weight assigned will be understood + * in proportion to the weights assigned to other segments in the same + * segment group. Acceptable values are 1 to 1000, inclusive. + */ + allocation?: number; + /** + * ID of this audience segment. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Name of this audience segment. This is a required field and must be less + * than 65 characters long. + */ + name?: string; + } + /** + * Audience Segment Group. + */ + interface Schema$AudienceSegmentGroup { + /** + * Audience segments assigned to this group. The number of segments must be + * between 2 and 100. + */ + audienceSegments?: Schema$AudienceSegment[]; + /** + * ID of this audience segment group. This is a read-only, auto-generated + * field. + */ + id?: string; + /** + * Name of this audience segment group. This is a required field and must be + * less than 65 characters long. + */ + name?: string; + } + /** + * Contains information about a browser that can be targeted by ads. + */ + interface Schema$Browser { + /** + * ID referring to this grouping of browser and version numbers. This is the + * ID used for targeting. + */ + browserVersionId?: string; + /** + * DART ID of this browser. This is the ID used when generating reports. + */ + dartId?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#browser". + */ + kind?: string; + /** + * Major version number (leftmost number) of this browser. For example, for + * Chrome 5.0.376.86 beta, this field should be set to 5. An asterisk (*) + * may be used to target any version number, and a question mark (?) may be + * used to target cases where the version number cannot be identified. For + * example, Chrome *.* targets any version of Chrome: 1.2, 2.5, 3.5, and so + * on. Chrome 3.* targets Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets + * cases where the ad server knows the browser is Firefox but can't tell + * which version it is. + */ + majorVersion?: string; + /** + * Minor version number (number after first dot on left) of this browser. + * For example, for Chrome 5.0.375.86 beta, this field should be set to 0. + * An asterisk (*) may be used to target any version number, and a question + * mark (?) may be used to target cases where the version number cannot be + * identified. For example, Chrome *.* targets any version of Chrome: + * 1.2, 2.5, 3.5, and so on. Chrome 3.* targets Chrome 3.1, 3.5, but + * not 4.0. Firefox ?.? targets cases where the ad server knows the browser + * is Firefox but can't tell which version it is. + */ + minorVersion?: string; + /** + * Name of this browser. + */ + name?: string; + } + /** + * Browser List Response + */ + interface Schema$BrowsersListResponse { + /** + * Browser collection. + */ + browsers?: Schema$Browser[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#browsersListResponse". + */ + kind?: string; + } + /** + * Contains properties of a Campaign Manager campaign. + */ + interface Schema$Campaign { + /** + * Account ID of this campaign. This is a read-only field that can be left + * blank. + */ + accountId?: string; + /** + * Ad blocking settings for this campaign. + */ + adBlockingConfiguration?: Schema$AdBlockingConfiguration; + /** + * Additional creative optimization configurations for the campaign. + */ + additionalCreativeOptimizationConfigurations?: Schema$CreativeOptimizationConfiguration[]; + /** + * Advertiser group ID of the associated advertiser. + */ + advertiserGroupId?: string; + /** + * Advertiser ID of this campaign. This is a required field. + */ + advertiserId?: string; + /** + * Dimension value for the advertiser ID of this campaign. This is a + * read-only, auto-generated field. + */ + advertiserIdDimensionValue?: Schema$DimensionValue; + /** + * Whether this campaign has been archived. + */ + archived?: boolean; + /** + * Audience segment groups assigned to this campaign. Cannot have more than + * 300 segment groups. + */ + audienceSegmentGroups?: Schema$AudienceSegmentGroup[]; + /** + * Billing invoice code included in the Campaign Manager client billing + * invoices associated with the campaign. + */ + billingInvoiceCode?: string; + /** + * Click-through URL suffix override properties for this campaign. + */ + clickThroughUrlSuffixProperties?: Schema$ClickThroughUrlSuffixProperties; + /** + * Arbitrary comments about this campaign. Must be less than 256 characters + * long. + */ + comment?: string; + /** + * Information about the creation of this campaign. This is a read-only + * field. + */ + createInfo?: Schema$LastModifiedInfo; + /** + * List of creative group IDs that are assigned to the campaign. + */ + creativeGroupIds?: string[]; + /** + * Creative optimization configuration for the campaign. + */ + creativeOptimizationConfiguration?: Schema$CreativeOptimizationConfiguration; + /** + * Click-through event tag ID override properties for this campaign. + */ + defaultClickThroughEventTagProperties?: Schema$DefaultClickThroughEventTagProperties; + /** + * The default landing page ID for this campaign. + */ + defaultLandingPageId?: string; + /** + * Date on which the campaign will stop running. On insert, the end date + * must be today or a future date. The end date must be later than or be the + * same as the start date. If, for example, you set 6/25/2015 as both the + * start and end dates, the effective campaign run date is just that day + * only, 6/25/2015. The hours, minutes, and seconds of the end date should + * not be set, as doing so will result in an error. This is a required + * field. + */ + endDate?: string; + /** + * Overrides that can be used to activate or deactivate advertiser event + * tags. + */ + eventTagOverrides?: Schema$EventTagOverride[]; + /** + * External ID for this campaign. + */ + externalId?: string; + /** + * ID of this campaign. This is a read-only auto-generated field. + */ + id?: string; + /** + * Dimension value for the ID of this campaign. This is a read-only, + * auto-generated field. + */ + idDimensionValue?: Schema$DimensionValue; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#campaign". + */ + kind?: string; + /** + * Information about the most recent modification of this campaign. This is + * a read-only field. + */ + lastModifiedInfo?: Schema$LastModifiedInfo; + /** + * Lookback window settings for the campaign. + */ + lookbackConfiguration?: Schema$LookbackConfiguration; + /** + * Name of this campaign. This is a required field and must be less than 256 + * characters long and unique among campaigns of the same advertiser. + */ + name?: string; + /** + * Whether Nielsen reports are enabled for this campaign. + */ + nielsenOcrEnabled?: boolean; + /** + * Date on which the campaign starts running. The start date can be any + * date. The hours, minutes, and seconds of the start date should not be + * set, as doing so will result in an error. This is a required field. + */ + startDate?: string; + /** + * Subaccount ID of this campaign. This is a read-only field that can be + * left blank. + */ + subaccountId?: string; + /** + * Campaign trafficker contact emails. + */ + traffickerEmails?: string[]; + } + /** + * Identifies a creative which has been associated with a given campaign. + */ + interface Schema$CampaignCreativeAssociation { + /** + * ID of the creative associated with the campaign. This is a required + * field. + */ + creativeId?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#campaignCreativeAssociation". + */ + kind?: string; + } + /** + * Campaign Creative Association List Response + */ + interface Schema$CampaignCreativeAssociationsListResponse { + /** + * Campaign creative association collection + */ + campaignCreativeAssociations?: Schema$CampaignCreativeAssociation[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#campaignCreativeAssociationsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Campaign List Response + */ + interface Schema$CampaignsListResponse { + /** + * Campaign collection. + */ + campaigns?: Schema$Campaign[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#campaignsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Describes a change that a user has made to a resource. + */ + interface Schema$ChangeLog { + /** + * Account ID of the modified object. + */ + accountId?: string; + /** + * Action which caused the change. + */ + action?: string; + /** + * Time when the object was modified. + */ + changeTime?: string; + /** + * Field name of the object which changed. + */ + fieldName?: string; + /** + * ID of this change log. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#changeLog". + */ + kind?: string; + /** + * New value of the object field. + */ + newValue?: string; + /** + * ID of the object of this change log. The object could be a campaign, + * placement, ad, or other type. + */ + objectId?: string; + /** + * Object type of the change log. + */ + objectType?: string; + /** + * Old value of the object field. + */ + oldValue?: string; + /** + * Subaccount ID of the modified object. + */ + subaccountId?: string; + /** + * Transaction ID of this change log. When a single API call results in many + * changes, each change will have a separate ID in the change log but will + * share the same transactionId. + */ + transactionId?: string; + /** + * ID of the user who modified the object. + */ + userProfileId?: string; + /** + * User profile name of the user who modified the object. + */ + userProfileName?: string; + } + /** + * Change Log List Response + */ + interface Schema$ChangeLogsListResponse { + /** + * Change log collection. + */ + changeLogs?: Schema$ChangeLog[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#changeLogsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * City List Response + */ + interface Schema$CitiesListResponse { + /** + * City collection. + */ + cities?: Schema$City[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#citiesListResponse". + */ + kind?: string; + } + /** + * Contains information about a city that can be targeted by ads. + */ + interface Schema$City { + /** + * Country code of the country to which this city belongs. + */ + countryCode?: string; + /** + * DART ID of the country to which this city belongs. + */ + countryDartId?: string; + /** + * DART ID of this city. This is the ID used for targeting and generating + * reports. + */ + dartId?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#city". + */ + kind?: string; + /** + * Metro region code of the metro region (DMA) to which this city belongs. + */ + metroCode?: string; + /** + * ID of the metro region (DMA) to which this city belongs. + */ + metroDmaId?: string; + /** + * Name of this city. + */ + name?: string; + /** + * Region code of the region to which this city belongs. + */ + regionCode?: string; + /** + * DART ID of the region to which this city belongs. + */ + regionDartId?: string; + } + /** + * Creative Click Tag. + */ + interface Schema$ClickTag { + /** + * Parameter value for the specified click tag. This field contains a + * click-through url. + */ + clickThroughUrl?: Schema$CreativeClickThroughUrl; + /** + * Advertiser event name associated with the click tag. This field is used + * by DISPLAY_IMAGE_GALLERY and HTML5_BANNER creatives. Applicable to + * DISPLAY when the primary asset type is not HTML_IMAGE. + */ + eventName?: string; + /** + * Parameter name for the specified click tag. For DISPLAY_IMAGE_GALLERY + * creative assets, this field must match the value of the creative + * asset's creativeAssetId.name field. + */ + name?: string; + } + /** + * Click-through URL + */ + interface Schema$ClickThroughUrl { + /** + * Read-only convenience field representing the actual URL that will be used + * for this click-through. The URL is computed as follows: - If + * defaultLandingPage is enabled then the campaign's default landing + * page URL is assigned to this field. - If defaultLandingPage is not + * enabled and a landingPageId is specified then that landing page's URL + * is assigned to this field. - If neither of the above cases apply, then + * the customClickThroughUrl is assigned to this field. + */ + computedClickThroughUrl?: string; + /** + * Custom click-through URL. Applicable if the defaultLandingPage field is + * set to false and the landingPageId field is left unset. + */ + customClickThroughUrl?: string; + /** + * Whether the campaign default landing page is used. + */ + defaultLandingPage?: boolean; + /** + * ID of the landing page for the click-through URL. Applicable if the + * defaultLandingPage field is set to false. + */ + landingPageId?: string; + } + /** + * Click Through URL Suffix settings. + */ + interface Schema$ClickThroughUrlSuffixProperties { + /** + * Click-through URL suffix to apply to all ads in this entity's scope. + * Must be less than 128 characters long. + */ + clickThroughUrlSuffix?: string; + /** + * Whether this entity should override the inherited click-through URL + * suffix with its own defined value. + */ + overrideInheritedSuffix?: boolean; + } + /** + * Companion Click-through override. + */ + interface Schema$CompanionClickThroughOverride { + /** + * Click-through URL of this companion click-through override. + */ + clickThroughUrl?: Schema$ClickThroughUrl; + /** + * ID of the creative for this companion click-through override. + */ + creativeId?: string; + } + /** + * Companion Settings + */ + interface Schema$CompanionSetting { + /** + * Whether companions are disabled for this placement. + */ + companionsDisabled?: boolean; + /** + * Whitelist of companion sizes to be served to this placement. Set this + * list to null or empty to serve all companion sizes. + */ + enabledSizes?: Schema$Size[]; + /** + * Whether to serve only static images as companions. + */ + imageOnly?: boolean; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#companionSetting". + */ + kind?: string; + } + /** + * Represents a response to the queryCompatibleFields method. + */ + interface Schema$CompatibleFields { + /** + * Contains items that are compatible to be selected for a report of type + * "CROSS_DIMENSION_REACH". + */ + crossDimensionReachReportCompatibleFields?: Schema$CrossDimensionReachReportCompatibleFields; + /** + * Contains items that are compatible to be selected for a report of type + * "FLOODLIGHT". + */ + floodlightReportCompatibleFields?: Schema$FloodlightReportCompatibleFields; + /** + * The kind of resource this is, in this case dfareporting#compatibleFields. + */ + kind?: string; + /** + * Contains items that are compatible to be selected for a report of type + * "PATH_TO_CONVERSION". + */ + pathToConversionReportCompatibleFields?: Schema$PathToConversionReportCompatibleFields; + /** + * Contains items that are compatible to be selected for a report of type + * "REACH". + */ + reachReportCompatibleFields?: Schema$ReachReportCompatibleFields; + /** + * Contains items that are compatible to be selected for a report of type + * "STANDARD". + */ + reportCompatibleFields?: Schema$ReportCompatibleFields; + } + /** + * Contains information about an internet connection type that can be targeted + * by ads. Clients can use the connection type to target mobile vs. broadband + * users. + */ + interface Schema$ConnectionType { + /** + * ID of this connection type. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#connectionType". + */ + kind?: string; + /** + * Name of this connection type. + */ + name?: string; + } + /** + * Connection Type List Response + */ + interface Schema$ConnectionTypesListResponse { + /** + * Collection of connection types such as broadband and mobile. + */ + connectionTypes?: Schema$ConnectionType[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#connectionTypesListResponse". + */ + kind?: string; + } + /** + * Content Category List Response + */ + interface Schema$ContentCategoriesListResponse { + /** + * Content category collection. + */ + contentCategories?: Schema$ContentCategory[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#contentCategoriesListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Organizes placements according to the contents of their associated + * webpages. + */ + interface Schema$ContentCategory { + /** + * Account ID of this content category. This is a read-only field that can + * be left blank. + */ + accountId?: string; + /** + * ID of this content category. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#contentCategory". + */ + kind?: string; + /** + * Name of this content category. This is a required field and must be less + * than 256 characters long and unique among content categories of the same + * account. + */ + name?: string; + } + /** + * A Conversion represents when a user successfully performs a desired action + * after seeing an ad. + */ + interface Schema$Conversion { + /** + * Whether the conversion was directed toward children. + */ + childDirectedTreatment?: boolean; + /** + * Custom floodlight variables. + */ + customVariables?: Schema$CustomFloodlightVariable[]; + /** + * The alphanumeric encrypted user ID. When set, encryptionInfo should also + * be specified. This field is mutually exclusive with + * encryptedUserIdCandidates[], mobileDeviceId and gclid. This or + * encryptedUserIdCandidates[] or mobileDeviceId or gclid is a required + * field. + */ + encryptedUserId?: string; + /** + * A list of the alphanumeric encrypted user IDs. Any user ID with exposure + * prior to the conversion timestamp will be used in the inserted + * conversion. If no such user ID is found then the conversion will be + * rejected with NO_COOKIE_MATCH_FOUND error. When set, encryptionInfo + * should also be specified. This field may only be used when calling + * batchinsert; it is not supported by batchupdate. This field is mutually + * exclusive with encryptedUserId, mobileDeviceId and gclid. This or + * encryptedUserId or mobileDeviceId or gclid is a required field. + */ + encryptedUserIdCandidates?: string[]; + /** + * Floodlight Activity ID of this conversion. This is a required field. + */ + floodlightActivityId?: string; + /** + * Floodlight Configuration ID of this conversion. This is a required field. + */ + floodlightConfigurationId?: string; + /** + * The Google click ID. This field is mutually exclusive with + * encryptedUserId, encryptedUserIdCandidates[] and mobileDeviceId. This or + * encryptedUserId or encryptedUserIdCandidates[] or mobileDeviceId is a + * required field. + */ + gclid?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#conversion". + */ + kind?: string; + /** + * Whether Limit Ad Tracking is enabled. When set to true, the conversion + * will be used for reporting but not targeting. This will prevent + * remarketing. + */ + limitAdTracking?: boolean; + /** + * The mobile device ID. This field is mutually exclusive with + * encryptedUserId, encryptedUserIdCandidates[] and gclid. This or + * encryptedUserId or encryptedUserIdCandidates[] or gclid is a required + * field. + */ + mobileDeviceId?: string; + /** + * The ordinal of the conversion. Use this field to control how conversions + * of the same user and day are de-duplicated. This is a required field. + */ + ordinal?: string; + /** + * The quantity of the conversion. + */ + quantity?: string; + /** + * The timestamp of conversion, in Unix epoch micros. This is a required + * field. + */ + timestampMicros?: string; + /** + * The value of the conversion. + */ + value?: number; + } + /** + * The error code and description for a conversion that failed to insert or + * update. + */ + interface Schema$ConversionError { + /** + * The error code. + */ + code?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#conversionError". + */ + kind?: string; + /** + * A description of the error. + */ + message?: string; + } + /** + * Insert Conversions Request. + */ + interface Schema$ConversionsBatchInsertRequest { + /** + * The set of conversions to insert. + */ + conversions?: Schema$Conversion[]; + /** + * Describes how encryptedUserId or encryptedUserIdCandidates[] is + * encrypted. This is a required field if encryptedUserId or + * encryptedUserIdCandidates[] is used. + */ + encryptionInfo?: Schema$EncryptionInfo; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#conversionsBatchInsertRequest". + */ + kind?: string; + } + /** + * Insert Conversions Response. + */ + interface Schema$ConversionsBatchInsertResponse { + /** + * Indicates that some or all conversions failed to insert. + */ + hasFailures?: boolean; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#conversionsBatchInsertResponse". + */ + kind?: string; + /** + * The insert status of each conversion. Statuses are returned in the same + * order that conversions are inserted. + */ + status?: Schema$ConversionStatus[]; + } + /** + * Update Conversions Request. + */ + interface Schema$ConversionsBatchUpdateRequest { + /** + * The set of conversions to update. + */ + conversions?: Schema$Conversion[]; + /** + * Describes how encryptedUserId is encrypted. This is a required field if + * encryptedUserId is used. + */ + encryptionInfo?: Schema$EncryptionInfo; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#conversionsBatchUpdateRequest". + */ + kind?: string; + } + /** + * Update Conversions Response. + */ + interface Schema$ConversionsBatchUpdateResponse { + /** + * Indicates that some or all conversions failed to update. + */ + hasFailures?: boolean; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#conversionsBatchUpdateResponse". + */ + kind?: string; + /** + * The update status of each conversion. Statuses are returned in the same + * order that conversions are updated. + */ + status?: Schema$ConversionStatus[]; + } + /** + * The original conversion that was inserted or updated and whether there were + * any errors. + */ + interface Schema$ConversionStatus { + /** + * The original conversion that was inserted or updated. + */ + conversion?: Schema$Conversion; + /** + * A list of errors related to this conversion. + */ + errors?: Schema$ConversionError[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#conversionStatus". + */ + kind?: string; + } + /** + * Country List Response + */ + interface Schema$CountriesListResponse { + /** + * Country collection. + */ + countries?: Schema$Country[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#countriesListResponse". + */ + kind?: string; + } + /** + * Contains information about a country that can be targeted by ads. + */ + interface Schema$Country { + /** + * Country code. + */ + countryCode?: string; + /** + * DART ID of this country. This is the ID used for targeting and generating + * reports. + */ + dartId?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#country". + */ + kind?: string; + /** + * Name of this country. + */ + name?: string; + /** + * Whether ad serving supports secure servers in this country. + */ + sslEnabled?: boolean; + } + /** + * Contains properties of a Creative. + */ + interface Schema$Creative { + /** + * Account ID of this creative. This field, if left unset, will be + * auto-generated for both insert and update operations. Applicable to all + * creative types. + */ + accountId?: string; + /** + * Whether the creative is active. Applicable to all creative types. + */ + active?: boolean; + /** + * Ad parameters user for VPAID creative. This is a read-only field. + * Applicable to the following creative types: all VPAID. + */ + adParameters?: string; + /** + * Keywords for a Rich Media creative. Keywords let you customize the + * creative settings of a Rich Media ad running on your site without having + * to contact the advertiser. You can use keywords to dynamically change the + * look or functionality of a creative. Applicable to the following creative + * types: all RICH_MEDIA, and all VPAID. + */ + adTagKeys?: string[]; + /** + * Advertiser ID of this creative. This is a required field. Applicable to + * all creative types. + */ + advertiserId?: string; + /** + * Whether script access is allowed for this creative. This is a read-only + * and deprecated field which will automatically be set to true on update. + * Applicable to the following creative types: FLASH_INPAGE. + */ + allowScriptAccess?: boolean; + /** + * Whether the creative is archived. Applicable to all creative types. + */ + archived?: boolean; + /** + * Type of artwork used for the creative. This is a read-only field. + * Applicable to the following creative types: all RICH_MEDIA, and all + * VPAID. + */ + artworkType?: string; + /** + * Source application where creative was authored. Presently, only DBM + * authored creatives will have this field set. Applicable to all creative + * types. + */ + authoringSource?: string; + /** + * Authoring tool for HTML5 banner creatives. This is a read-only field. + * Applicable to the following creative types: HTML5_BANNER. + */ + authoringTool?: string; + /** + * Whether images are automatically advanced for image gallery creatives. + * Applicable to the following creative types: DISPLAY_IMAGE_GALLERY. + */ + autoAdvanceImages?: boolean; + /** + * The 6-character HTML color code, beginning with #, for the background of + * the window area where the Flash file is displayed. Default is white. + * Applicable to the following creative types: FLASH_INPAGE. + */ + backgroundColor?: string; + /** + * Click-through URL for backup image. Applicable to ENHANCED_BANNER when + * the primary asset type is not HTML_IMAGE. + */ + backupImageClickThroughUrl?: Schema$CreativeClickThroughUrl; + /** + * List of feature dependencies that will cause a backup image to be served + * if the browser that serves the ad does not support them. Feature + * dependencies are features that a browser must be able to support in order + * to render your HTML5 creative asset correctly. This field is initially + * auto-generated to contain all features detected by Campaign Manager for + * all the assets of this creative and can then be modified by the client. + * To reset this field, copy over all the creativeAssets' detected + * features. Applicable to the following creative types: HTML5_BANNER. + * Applicable to DISPLAY when the primary asset type is not HTML_IMAGE. + */ + backupImageFeatures?: string[]; + /** + * Reporting label used for HTML5 banner backup image. Applicable to the + * following creative types: DISPLAY when the primary asset type is not + * HTML_IMAGE. + */ + backupImageReportingLabel?: string; + /** + * Target window for backup image. Applicable to the following creative + * types: FLASH_INPAGE and HTML5_BANNER. Applicable to DISPLAY when the + * primary asset type is not HTML_IMAGE. + */ + backupImageTargetWindow?: Schema$TargetWindow; + /** + * Click tags of the creative. For DISPLAY, FLASH_INPAGE, and HTML5_BANNER + * creatives, this is a subset of detected click tags for the assets + * associated with this creative. After creating a flash asset, detected + * click tags will be returned in the creativeAssetMetadata. When inserting + * the creative, populate the creative clickTags field using the + * creativeAssetMetadata.clickTags field. For DISPLAY_IMAGE_GALLERY + * creatives, there should be exactly one entry in this list for each image + * creative asset. A click tag is matched with a corresponding creative + * asset by matching the clickTag.name field with the + * creativeAsset.assetIdentifier.name field. Applicable to the following + * creative types: DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER. + * Applicable to DISPLAY when the primary asset type is not HTML_IMAGE. + */ + clickTags?: Schema$ClickTag[]; + /** + * Industry standard ID assigned to creative for reach and frequency. + * Applicable to INSTREAM_VIDEO_REDIRECT creatives. + */ + commercialId?: string; + /** + * List of companion creatives assigned to an in-Stream video creative. + * Acceptable values include IDs of existing flash and image creatives. + * Applicable to the following creative types: all VPAID, all INSTREAM_AUDIO + * and all INSTREAM_VIDEO with dynamicAssetSelection set to false. + */ + companionCreatives?: string[]; + /** + * Compatibilities associated with this creative. This is a read-only field. + * DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop or + * on mobile devices or in mobile apps for regular or interstitial ads, + * respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. + * Only pre-existing creatives may have these compatibilities since new + * creatives will either be assigned DISPLAY or DISPLAY_INTERSTITIAL + * instead. IN_STREAM_VIDEO refers to rendering in in-stream video ads + * developed with the VAST standard. IN_STREAM_AUDIO refers to rendering in + * in-stream audio ads developed with the VAST standard. Applicable to all + * creative types. Acceptable values are: - "APP" - + * "APP_INTERSTITIAL" - "IN_STREAM_VIDEO" - + * "IN_STREAM_AUDIO" - "DISPLAY" - + * "DISPLAY_INTERSTITIAL" + */ + compatibility?: string[]; + /** + * Whether Flash assets associated with the creative need to be + * automatically converted to HTML5. This flag is enabled by default and + * users can choose to disable it if they don't want the system to + * generate and use HTML5 asset for this creative. Applicable to the + * following creative type: FLASH_INPAGE. Applicable to DISPLAY when the + * primary asset type is not HTML_IMAGE. + */ + convertFlashToHtml5?: boolean; + /** + * List of counter events configured for the creative. For + * DISPLAY_IMAGE_GALLERY creatives, these are read-only and auto-generated + * from clickTags. Applicable to the following creative types: + * DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID. + */ + counterCustomEvents?: Schema$CreativeCustomEvent[]; + /** + * Assets associated with a creative. Applicable to all but the following + * creative types: INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and + * REDIRECT + */ + creativeAssets?: Schema$CreativeAsset[]; + /** + * Required if dynamicAssetSelection is true. + */ + creativeAssetSelection?: Schema$CreativeAssetSelection; + /** + * Creative field assignments for this creative. Applicable to all creative + * types. + */ + creativeFieldAssignments?: Schema$CreativeFieldAssignment[]; + /** + * Custom key-values for a Rich Media creative. Key-values let you customize + * the creative settings of a Rich Media ad running on your site without + * having to contact the advertiser. You can use key-values to dynamically + * change the look or functionality of a creative. Applicable to the + * following creative types: all RICH_MEDIA, and all VPAID. + */ + customKeyValues?: string[]; + /** + * Set this to true to enable the use of rules to target individual assets + * in this creative. When set to true creativeAssetSelection must be set. + * This also controls asset-level companions. When this is true, companion + * creatives should be assigned to creative assets. Learn more. Applicable + * to INSTREAM_VIDEO creatives. + */ + dynamicAssetSelection?: boolean; + /** + * List of exit events configured for the creative. For DISPLAY and + * DISPLAY_IMAGE_GALLERY creatives, these are read-only and auto-generated + * from clickTags, For DISPLAY, an event is also created from the + * backupImageReportingLabel. Applicable to the following creative types: + * DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID. Applicable to + * DISPLAY when the primary asset type is not HTML_IMAGE. + */ + exitCustomEvents?: Schema$CreativeCustomEvent[]; + /** + * OpenWindow FSCommand of this creative. This lets the SWF file communicate + * with either Flash Player or the program hosting Flash Player, such as a + * web browser. This is only triggered if allowScriptAccess field is true. + * Applicable to the following creative types: FLASH_INPAGE. + */ + fsCommand?: Schema$FsCommand; + /** + * HTML code for the creative. This is a required field when applicable. + * This field is ignored if htmlCodeLocked is true. Applicable to the + * following creative types: all CUSTOM, FLASH_INPAGE, and HTML5_BANNER, and + * all RICH_MEDIA. + */ + htmlCode?: string; + /** + * Whether HTML code is generated by Campaign Manager or manually entered. + * Set to true to ignore changes to htmlCode. Applicable to the following + * creative types: FLASH_INPAGE and HTML5_BANNER. + */ + htmlCodeLocked?: boolean; + /** + * ID of this creative. This is a read-only, auto-generated field. + * Applicable to all creative types. + */ + id?: string; + /** + * Dimension value for the ID of this creative. This is a read-only field. + * Applicable to all creative types. + */ + idDimensionValue?: Schema$DimensionValue; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#creative". + */ + kind?: string; + /** + * Creative last modification information. This is a read-only field. + * Applicable to all creative types. + */ + lastModifiedInfo?: Schema$LastModifiedInfo; + /** + * Latest Studio trafficked creative ID associated with rich media and VPAID + * creatives. This is a read-only field. Applicable to the following + * creative types: all RICH_MEDIA, and all VPAID. + */ + latestTraffickedCreativeId?: string; + /** + * Description of the audio or video ad. Applicable to the following + * creative types: all INSTREAM_VIDEO, INSTREAM_AUDIO, and all VPAID. + */ + mediaDescription?: string; + /** + * Creative audio or video duration in seconds. This is a read-only field. + * Applicable to the following creative types: INSTREAM_VIDEO, + * INSTREAM_AUDIO, all RICH_MEDIA, and all VPAID. + */ + mediaDuration?: number; + /** + * Name of the creative. This is a required field and must be less than 256 + * characters long. Applicable to all creative types. + */ + name?: string; + /** + * Override CSS value for rich media creatives. Applicable to the following + * creative types: all RICH_MEDIA. + */ + overrideCss?: string; + /** + * The asset ID of the polite load image asset. Applicable to the creative + * type: DISPLAY. + */ + politeLoadAssetId?: string; + /** + * Amount of time to play the video before counting a view. Applicable to + * the following creative types: all INSTREAM_VIDEO. + */ + progressOffset?: Schema$VideoOffset; + /** + * URL of hosted image or hosted video or another ad tag. For + * INSTREAM_VIDEO_REDIRECT creatives this is the in-stream video redirect + * URL. The standard for a VAST (Video Ad Serving Template) ad response + * allows for a redirect link to another VAST 2.0 or 3.0 call. This is a + * required field when applicable. Applicable to the following creative + * types: DISPLAY_REDIRECT, INTERNAL_REDIRECT, + * INTERSTITIAL_INTERNAL_REDIRECT, and INSTREAM_VIDEO_REDIRECT + */ + redirectUrl?: string; + /** + * ID of current rendering version. This is a read-only field. Applicable to + * all creative types. + */ + renderingId?: string; + /** + * Dimension value for the rendering ID of this creative. This is a + * read-only field. Applicable to all creative types. + */ + renderingIdDimensionValue?: Schema$DimensionValue; + /** + * The minimum required Flash plugin version for this creative. For + * example, 11.2.202.235. This is a read-only field. Applicable to the + * following creative types: all RICH_MEDIA, and all VPAID. + */ + requiredFlashPluginVersion?: string; + /** + * The internal Flash version for this creative as calculated by Studio. + * This is a read-only field. Applicable to the following creative types: + * FLASH_INPAGE all RICH_MEDIA, and all VPAID. Applicable to DISPLAY when + * the primary asset type is not HTML_IMAGE. + */ + requiredFlashVersion?: number; + /** + * Size associated with this creative. When inserting or updating a creative + * either the size ID field or size width and height fields can be used. + * This is a required field when applicable; however for IMAGE, FLASH_INPAGE + * creatives, and for DISPLAY creatives with a primary asset of type + * HTML_IMAGE, if left blank, this field will be automatically set using the + * actual size of the associated image assets. Applicable to the following + * creative types: DISPLAY, DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, + * HTML5_BANNER, IMAGE, and all RICH_MEDIA. + */ + size?: Schema$Size; + /** + * Amount of time to play the video before the skip button appears. + * Applicable to the following creative types: all INSTREAM_VIDEO. + */ + skipOffset?: Schema$VideoOffset; + /** + * Whether the user can choose to skip the creative. Applicable to the + * following creative types: all INSTREAM_VIDEO and all VPAID. + */ + skippable?: boolean; + /** + * Whether the creative is SSL-compliant. This is a read-only field. + * Applicable to all creative types. + */ + sslCompliant?: boolean; + /** + * Whether creative should be treated as SSL compliant even if the system + * scan shows it's not. Applicable to all creative types. + */ + sslOverride?: boolean; + /** + * Studio advertiser ID associated with rich media and VPAID creatives. This + * is a read-only field. Applicable to the following creative types: all + * RICH_MEDIA, and all VPAID. + */ + studioAdvertiserId?: string; + /** + * Studio creative ID associated with rich media and VPAID creatives. This + * is a read-only field. Applicable to the following creative types: all + * RICH_MEDIA, and all VPAID. + */ + studioCreativeId?: string; + /** + * Studio trafficked creative ID associated with rich media and VPAID + * creatives. This is a read-only field. Applicable to the following + * creative types: all RICH_MEDIA, and all VPAID. + */ + studioTraffickedCreativeId?: string; + /** + * Subaccount ID of this creative. This field, if left unset, will be + * auto-generated for both insert and update operations. Applicable to all + * creative types. + */ + subaccountId?: string; + /** + * Third-party URL used to record backup image impressions. Applicable to + * the following creative types: all RICH_MEDIA. + */ + thirdPartyBackupImageImpressionsUrl?: string; + /** + * Third-party URL used to record rich media impressions. Applicable to the + * following creative types: all RICH_MEDIA. + */ + thirdPartyRichMediaImpressionsUrl?: string; + /** + * Third-party URLs for tracking in-stream creative events. Applicable to + * the following creative types: all INSTREAM_VIDEO, all INSTREAM_AUDIO, and + * all VPAID. + */ + thirdPartyUrls?: Schema$ThirdPartyTrackingUrl[]; + /** + * List of timer events configured for the creative. For + * DISPLAY_IMAGE_GALLERY creatives, these are read-only and auto-generated + * from clickTags. Applicable to the following creative types: + * DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID. Applicable to + * DISPLAY when the primary asset is not HTML_IMAGE. + */ + timerCustomEvents?: Schema$CreativeCustomEvent[]; + /** + * Combined size of all creative assets. This is a read-only field. + * Applicable to the following creative types: all RICH_MEDIA, and all + * VPAID. + */ + totalFileSize?: string; + /** + * Type of this creative. This is a required field. Applicable to all + * creative types. Note: FLASH_INPAGE, HTML5_BANNER, and IMAGE are only + * used for existing creatives. New creatives should use DISPLAY as a + * replacement for these types. + */ + type?: string; + /** + * A Universal Ad ID as per the VAST 4.0 spec. Applicable to the following + * creative types: INSTREAM_AUDIO and INSTREAM_VIDEO and VPAID. + */ + universalAdId?: Schema$UniversalAdId; + /** + * The version number helps you keep track of multiple versions of your + * creative in your reports. The version number will always be + * auto-generated during insert operations to start at 1. For tracking + * creatives the version cannot be incremented and will always remain at 1. + * For all other creative types the version can be incremented only by 1 + * during update operations. In addition, the version will be automatically + * incremented by 1 when undergoing Rich Media creative merging. Applicable + * to all creative types. + */ + version?: number; + } + /** + * Creative Asset. + */ + interface Schema$CreativeAsset { + /** + * Whether ActionScript3 is enabled for the flash asset. This is a read-only + * field. Applicable to the following creative type: FLASH_INPAGE. + * Applicable to DISPLAY when the primary asset type is not HTML_IMAGE. + */ + actionScript3?: boolean; + /** + * Whether the video or audio asset is active. This is a read-only field for + * VPAID_NON_LINEAR_VIDEO assets. Applicable to the following creative + * types: INSTREAM_AUDIO, INSTREAM_VIDEO and all VPAID. + */ + active?: boolean; + /** + * Possible alignments for an asset. This is a read-only field. Applicable + * to the following creative types: + * RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL. + */ + alignment?: string; + /** + * Artwork type of rich media creative. This is a read-only field. + * Applicable to the following creative types: all RICH_MEDIA. + */ + artworkType?: string; + /** + * Identifier of this asset. This is the same identifier returned during + * creative asset insert operation. This is a required field. Applicable to + * all but the following creative types: all REDIRECT and TRACKING_TEXT. + */ + assetIdentifier?: Schema$CreativeAssetId; + /** + * Exit event configured for the backup image. Applicable to the following + * creative types: all RICH_MEDIA. + */ + backupImageExit?: Schema$CreativeCustomEvent; + /** + * Detected bit-rate for audio or video asset. This is a read-only field. + * Applicable to the following creative types: INSTREAM_AUDIO, + * INSTREAM_VIDEO and all VPAID. + */ + bitRate?: number; + /** + * Rich media child asset type. This is a read-only field. Applicable to the + * following creative types: all VPAID. + */ + childAssetType?: string; + /** + * Size of an asset when collapsed. This is a read-only field. Applicable to + * the following creative types: all RICH_MEDIA and all VPAID. Additionally, + * applicable to assets whose displayType is ASSET_DISPLAY_TYPE_EXPANDING or + * ASSET_DISPLAY_TYPE_PEEL_DOWN. + */ + collapsedSize?: Schema$Size; + /** + * List of companion creatives assigned to an in-stream video creative + * asset. Acceptable values include IDs of existing flash and image + * creatives. Applicable to INSTREAM_VIDEO creative type with + * dynamicAssetSelection set to true. + */ + companionCreativeIds?: string[]; + /** + * Custom start time in seconds for making the asset visible. Applicable to + * the following creative types: all RICH_MEDIA. Value must be greater than + * or equal to 0. + */ + customStartTimeValue?: number; + /** + * List of feature dependencies for the creative asset that are detected by + * Campaign Manager. Feature dependencies are features that a browser must + * be able to support in order to render your HTML5 creative correctly. This + * is a read-only, auto-generated field. Applicable to the following + * creative types: HTML5_BANNER. Applicable to DISPLAY when the primary + * asset type is not HTML_IMAGE. + */ + detectedFeatures?: string[]; + /** + * Type of rich media asset. This is a read-only field. Applicable to the + * following creative types: all RICH_MEDIA. + */ + displayType?: string; + /** + * Duration in seconds for which an asset will be displayed. Applicable to + * the following creative types: INSTREAM_AUDIO, INSTREAM_VIDEO and + * VPAID_LINEAR_VIDEO. Value must be greater than or equal to 1. + */ + duration?: number; + /** + * Duration type for which an asset will be displayed. Applicable to the + * following creative types: all RICH_MEDIA. + */ + durationType?: string; + /** + * Detected expanded dimension for video asset. This is a read-only field. + * Applicable to the following creative types: INSTREAM_VIDEO and all VPAID. + */ + expandedDimension?: Schema$Size; + /** + * File size associated with this creative asset. This is a read-only field. + * Applicable to all but the following creative types: all REDIRECT and + * TRACKING_TEXT. + */ + fileSize?: string; + /** + * Flash version of the asset. This is a read-only field. Applicable to the + * following creative types: FLASH_INPAGE, all RICH_MEDIA, and all VPAID. + * Applicable to DISPLAY when the primary asset type is not HTML_IMAGE. + */ + flashVersion?: number; + /** + * Whether to hide Flash objects flag for an asset. Applicable to the + * following creative types: all RICH_MEDIA. + */ + hideFlashObjects?: boolean; + /** + * Whether to hide selection boxes flag for an asset. Applicable to the + * following creative types: all RICH_MEDIA. + */ + hideSelectionBoxes?: boolean; + /** + * Whether the asset is horizontally locked. This is a read-only field. + * Applicable to the following creative types: all RICH_MEDIA. + */ + horizontallyLocked?: boolean; + /** + * Numeric ID of this creative asset. This is a required field and should + * not be modified. Applicable to all but the following creative types: all + * REDIRECT and TRACKING_TEXT. + */ + id?: string; + /** + * Dimension value for the ID of the asset. This is a read-only, + * auto-generated field. + */ + idDimensionValue?: Schema$DimensionValue; + /** + * Detected duration for audio or video asset. This is a read-only field. + * Applicable to the following creative types: INSTREAM_AUDIO, + * INSTREAM_VIDEO and all VPAID. + */ + mediaDuration?: number; + /** + * Detected MIME type for audio or video asset. This is a read-only field. + * Applicable to the following creative types: INSTREAM_AUDIO, + * INSTREAM_VIDEO and all VPAID. + */ + mimeType?: string; + /** + * Offset position for an asset in collapsed mode. This is a read-only + * field. Applicable to the following creative types: all RICH_MEDIA and all + * VPAID. Additionally, only applicable to assets whose displayType is + * ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN. + */ + offset?: Schema$OffsetPosition; + /** + * Orientation of video asset. This is a read-only, auto-generated field. + */ + orientation?: string; + /** + * Whether the backup asset is original or changed by the user in Campaign + * Manager. Applicable to the following creative types: all RICH_MEDIA. + */ + originalBackup?: boolean; + /** + * Offset position for an asset. Applicable to the following creative types: + * all RICH_MEDIA. + */ + position?: Schema$OffsetPosition; + /** + * Offset left unit for an asset. This is a read-only field. Applicable to + * the following creative types: all RICH_MEDIA. + */ + positionLeftUnit?: string; + /** + * Offset top unit for an asset. This is a read-only field if the asset + * displayType is ASSET_DISPLAY_TYPE_OVERLAY. Applicable to the following + * creative types: all RICH_MEDIA. + */ + positionTopUnit?: string; + /** + * Progressive URL for video asset. This is a read-only field. Applicable to + * the following creative types: INSTREAM_VIDEO and all VPAID. + */ + progressiveServingUrl?: string; + /** + * Whether the asset pushes down other content. Applicable to the following + * creative types: all RICH_MEDIA. Additionally, only applicable when the + * asset offsets are 0, the collapsedSize.width matches size.width, and the + * collapsedSize.height is less than size.height. + */ + pushdown?: boolean; + /** + * Pushdown duration in seconds for an asset. Applicable to the following + * creative types: all RICH_MEDIA.Additionally, only applicable when the + * asset pushdown field is true, the offsets are 0, the collapsedSize.width + * matches size.width, and the collapsedSize.height is less than + * size.height. Acceptable values are 0 to 9.99, inclusive. + */ + pushdownDuration?: number; + /** + * Role of the asset in relation to creative. Applicable to all but the + * following creative types: all REDIRECT and TRACKING_TEXT. This is a + * required field. PRIMARY applies to DISPLAY, FLASH_INPAGE, HTML5_BANNER, + * IMAGE, DISPLAY_IMAGE_GALLERY, all RICH_MEDIA (which may contain multiple + * primary assets), and all VPAID creatives. BACKUP_IMAGE applies to + * FLASH_INPAGE, HTML5_BANNER, all RICH_MEDIA, and all VPAID creatives. + * Applicable to DISPLAY when the primary asset type is not HTML_IMAGE. + * ADDITIONAL_IMAGE and ADDITIONAL_FLASH apply to FLASH_INPAGE creatives. + * OTHER refers to assets from sources other than Campaign Manager, such as + * Studio uploaded assets, applicable to all RICH_MEDIA and all VPAID + * creatives. PARENT_VIDEO refers to videos uploaded by the user in Campaign + * Manager and is applicable to INSTREAM_VIDEO and VPAID_LINEAR_VIDEO + * creatives. TRANSCODED_VIDEO refers to videos transcoded by Campaign + * Manager from PARENT_VIDEO assets and is applicable to INSTREAM_VIDEO and + * VPAID_LINEAR_VIDEO creatives. ALTERNATE_VIDEO refers to the Campaign + * Manager representation of child asset videos from Studio, and is + * applicable to VPAID_LINEAR_VIDEO creatives. These cannot be added or + * removed within Campaign Manager. For VPAID_LINEAR_VIDEO creatives, + * PARENT_VIDEO, TRANSCODED_VIDEO and ALTERNATE_VIDEO assets that are marked + * active serve as backup in case the VPAID creative cannot be served. Only + * PARENT_VIDEO assets can be added or removed for an INSTREAM_VIDEO or + * VPAID_LINEAR_VIDEO creative. PARENT_AUDIO refers to audios uploaded by + * the user in Campaign Manager and is applicable to INSTREAM_AUDIO + * creatives. TRANSCODED_AUDIO refers to audios transcoded by Campaign + * Manager from PARENT_AUDIO assets and is applicable to INSTREAM_AUDIO + * creatives. + */ + role?: string; + /** + * Size associated with this creative asset. This is a required field when + * applicable; however for IMAGE and FLASH_INPAGE, creatives if left blank, + * this field will be automatically set using the actual size of the + * associated image asset. Applicable to the following creative types: + * DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER, IMAGE, and all + * RICH_MEDIA. Applicable to DISPLAY when the primary asset type is not + * HTML_IMAGE. + */ + size?: Schema$Size; + /** + * Whether the asset is SSL-compliant. This is a read-only field. Applicable + * to all but the following creative types: all REDIRECT and TRACKING_TEXT. + */ + sslCompliant?: boolean; + /** + * Initial wait time type before making the asset visible. Applicable to the + * following creative types: all RICH_MEDIA. + */ + startTimeType?: string; + /** + * Streaming URL for video asset. This is a read-only field. Applicable to + * the following creative types: INSTREAM_VIDEO and all VPAID. + */ + streamingServingUrl?: string; + /** + * Whether the asset is transparent. Applicable to the following creative + * types: all RICH_MEDIA. Additionally, only applicable to HTML5 assets. + */ + transparency?: boolean; + /** + * Whether the asset is vertically locked. This is a read-only field. + * Applicable to the following creative types: all RICH_MEDIA. + */ + verticallyLocked?: boolean; + /** + * Window mode options for flash assets. Applicable to the following + * creative types: FLASH_INPAGE, RICH_MEDIA_DISPLAY_EXPANDING, + * RICH_MEDIA_IM_EXPAND, RICH_MEDIA_DISPLAY_BANNER, and + * RICH_MEDIA_INPAGE_FLOATING. + */ + windowMode?: string; + /** + * zIndex value of an asset. Applicable to the following creative types: all + * RICH_MEDIA.Additionally, only applicable to assets whose displayType is + * NOT one of the following types: ASSET_DISPLAY_TYPE_INPAGE or + * ASSET_DISPLAY_TYPE_OVERLAY. Acceptable values are -999999999 to + * 999999999, inclusive. + */ + zIndex?: number; + /** + * File name of zip file. This is a read-only field. Applicable to the + * following creative types: HTML5_BANNER. + */ + zipFilename?: string; + /** + * Size of zip file. This is a read-only field. Applicable to the following + * creative types: HTML5_BANNER. + */ + zipFilesize?: string; + } + /** + * Creative Asset ID. + */ + interface Schema$CreativeAssetId { + /** + * Name of the creative asset. This is a required field while inserting an + * asset. After insertion, this assetIdentifier is used to identify the + * uploaded asset. Characters in the name must be alphanumeric or one of the + * following: ".-_ ". Spaces are allowed. + */ + name?: string; + /** + * Type of asset to upload. This is a required field. FLASH and IMAGE are no + * longer supported for new uploads. All image assets should use HTML_IMAGE. + */ + type?: string; + } + /** + * CreativeAssets contains properties of a creative asset file which will be + * uploaded or has already been uploaded. Refer to the creative sample code + * for how to upload assets and insert a creative. + */ + interface Schema$CreativeAssetMetadata { + /** + * ID of the creative asset. This is a required field. + */ + assetIdentifier?: Schema$CreativeAssetId; + /** + * List of detected click tags for assets. This is a read-only + * auto-generated field. + */ + clickTags?: Schema$ClickTag[]; + /** + * List of feature dependencies for the creative asset that are detected by + * Campaign Manager. Feature dependencies are features that a browser must + * be able to support in order to render your HTML5 creative correctly. This + * is a read-only, auto-generated field. + */ + detectedFeatures?: string[]; + /** + * Numeric ID of the asset. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Dimension value for the numeric ID of the asset. This is a read-only, + * auto-generated field. + */ + idDimensionValue?: Schema$DimensionValue; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#creativeAssetMetadata". + */ + kind?: string; + /** + * Rules validated during code generation that generated a warning. This is + * a read-only, auto-generated field. Possible values are: - + * "ADMOB_REFERENCED" - "ASSET_FORMAT_UNSUPPORTED_DCM" - + * "ASSET_INVALID" - "CLICK_TAG_HARD_CODED" - + * "CLICK_TAG_INVALID" - "CLICK_TAG_IN_GWD" - + * "CLICK_TAG_MISSING" - "CLICK_TAG_MORE_THAN_ONE" - + * "CLICK_TAG_NON_TOP_LEVEL" - + * "COMPONENT_UNSUPPORTED_DCM" - + * "ENABLER_UNSUPPORTED_METHOD_DCM" - + * "EXTERNAL_FILE_REFERENCED" - "FILE_DETAIL_EMPTY" - + * "FILE_TYPE_INVALID" - "GWD_PROPERTIES_INVALID" - + * "HTML5_FEATURE_UNSUPPORTED" - "LINKED_FILE_NOT_FOUND" + * - "MAX_FLASH_VERSION_11" - "MRAID_REFERENCED" - + * "NOT_SSL_COMPLIANT" - "ORPHANED_ASSET" - + * "PRIMARY_HTML_MISSING" - "SVG_INVALID" - + * "ZIP_INVALID" + */ + warnedValidationRules?: string[]; + } + /** + * Encapsulates the list of rules for asset selection and a default asset in + * case none of the rules match. Applicable to INSTREAM_VIDEO creatives. + */ + interface Schema$CreativeAssetSelection { + /** + * A creativeAssets[].id. This should refer to one of the parent assets in + * this creative, and will be served if none of the rules match. This is a + * required field. + */ + defaultAssetId?: string; + /** + * Rules determine which asset will be served to a viewer. Rules will be + * evaluated in the order in which they are stored in this list. This list + * must contain at least one rule. Applicable to INSTREAM_VIDEO creatives. + */ + rules?: Schema$Rule[]; + } + /** + * Creative Assignment. + */ + interface Schema$CreativeAssignment { + /** + * Whether this creative assignment is active. When true, the creative will + * be included in the ad's rotation. + */ + active?: boolean; + /** + * Whether applicable event tags should fire when this creative assignment + * is rendered. If this value is unset when the ad is inserted or updated, + * it will default to true for all creative types EXCEPT for + * INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and INSTREAM_VIDEO. + */ + applyEventTags?: boolean; + /** + * Click-through URL of the creative assignment. + */ + clickThroughUrl?: Schema$ClickThroughUrl; + /** + * Companion creative overrides for this creative assignment. Applicable to + * video ads. + */ + companionCreativeOverrides?: Schema$CompanionClickThroughOverride[]; + /** + * Creative group assignments for this creative assignment. Only one + * assignment per creative group number is allowed for a maximum of two + * assignments. + */ + creativeGroupAssignments?: Schema$CreativeGroupAssignment[]; + /** + * ID of the creative to be assigned. This is a required field. + */ + creativeId?: string; + /** + * Dimension value for the ID of the creative. This is a read-only, + * auto-generated field. + */ + creativeIdDimensionValue?: Schema$DimensionValue; + /** + * Date and time that the assigned creative should stop serving. Must be + * later than the start time. + */ + endTime?: string; + /** + * Rich media exit overrides for this creative assignment. Applicable when + * the creative type is any of the following: - DISPLAY - RICH_MEDIA_INPAGE + * - RICH_MEDIA_INPAGE_FLOATING - RICH_MEDIA_IM_EXPAND - + * RICH_MEDIA_EXPANDING - RICH_MEDIA_INTERSTITIAL_FLOAT - + * RICH_MEDIA_MOBILE_IN_APP - RICH_MEDIA_MULTI_FLOATING - + * RICH_MEDIA_PEEL_DOWN - VPAID_LINEAR - VPAID_NON_LINEAR + */ + richMediaExitOverrides?: Schema$RichMediaExitOverride[]; + /** + * Sequence number of the creative assignment, applicable when the rotation + * type is CREATIVE_ROTATION_TYPE_SEQUENTIAL. Acceptable values are 1 to + * 65535, inclusive. + */ + sequence?: number; + /** + * Whether the creative to be assigned is SSL-compliant. This is a read-only + * field that is auto-generated when the ad is inserted or updated. + */ + sslCompliant?: boolean; + /** + * Date and time that the assigned creative should start serving. + */ + startTime?: string; + /** + * Weight of the creative assignment, applicable when the rotation type is + * CREATIVE_ROTATION_TYPE_RANDOM. Value must be greater than or equal to 1. + */ + weight?: number; + } + /** + * Click-through URL + */ + interface Schema$CreativeClickThroughUrl { + /** + * Read-only convenience field representing the actual URL that will be used + * for this click-through. The URL is computed as follows: - If + * landingPageId is specified then that landing page's URL is assigned + * to this field. - Otherwise, the customClickThroughUrl is assigned to this + * field. + */ + computedClickThroughUrl?: string; + /** + * Custom click-through URL. Applicable if the landingPageId field is left + * unset. + */ + customClickThroughUrl?: string; + /** + * ID of the landing page for the click-through URL. + */ + landingPageId?: string; + } + /** + * Creative Custom Event. + */ + interface Schema$CreativeCustomEvent { + /** + * Unique ID of this event used by Reporting and Data Transfer. This is a + * read-only field. + */ + advertiserCustomEventId?: string; + /** + * User-entered name for the event. + */ + advertiserCustomEventName?: string; + /** + * Type of the event. This is a read-only field. + */ + advertiserCustomEventType?: string; + /** + * Artwork label column, used to link events in Campaign Manager back to + * events in Studio. This is a required field and should not be modified + * after insertion. + */ + artworkLabel?: string; + /** + * Artwork type used by the creative.This is a read-only field. + */ + artworkType?: string; + /** + * Exit click-through URL for the event. This field is used only for exit + * events. + */ + exitClickThroughUrl?: Schema$CreativeClickThroughUrl; + /** + * ID of this event. This is a required field and should not be modified + * after insertion. + */ + id?: string; + /** + * Properties for rich media popup windows. This field is used only for exit + * events. + */ + popupWindowProperties?: Schema$PopupWindowProperties; + /** + * Target type used by the event. + */ + targetType?: string; + /** + * Video reporting ID, used to differentiate multiple videos in a single + * creative. This is a read-only field. + */ + videoReportingId?: string; + } + /** + * Contains properties of a creative field. + */ + interface Schema$CreativeField { + /** + * Account ID of this creative field. This is a read-only field that can be + * left blank. + */ + accountId?: string; + /** + * Advertiser ID of this creative field. This is a required field on + * insertion. + */ + advertiserId?: string; + /** + * Dimension value for the ID of the advertiser. This is a read-only, + * auto-generated field. + */ + advertiserIdDimensionValue?: Schema$DimensionValue; + /** + * ID of this creative field. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#creativeField". + */ + kind?: string; + /** + * Name of this creative field. This is a required field and must be less + * than 256 characters long and unique among creative fields of the same + * advertiser. + */ + name?: string; + /** + * Subaccount ID of this creative field. This is a read-only field that can + * be left blank. + */ + subaccountId?: string; + } + /** + * Creative Field Assignment. + */ + interface Schema$CreativeFieldAssignment { + /** + * ID of the creative field. + */ + creativeFieldId?: string; + /** + * ID of the creative field value. + */ + creativeFieldValueId?: string; + } + /** + * Creative Field List Response + */ + interface Schema$CreativeFieldsListResponse { + /** + * Creative field collection. + */ + creativeFields?: Schema$CreativeField[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#creativeFieldsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Contains properties of a creative field value. + */ + interface Schema$CreativeFieldValue { + /** + * ID of this creative field value. This is a read-only, auto-generated + * field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#creativeFieldValue". + */ + kind?: string; + /** + * Value of this creative field value. It needs to be less than 256 + * characters in length and unique per creative field. + */ + value?: string; + } + /** + * Creative Field Value List Response + */ + interface Schema$CreativeFieldValuesListResponse { + /** + * Creative field value collection. + */ + creativeFieldValues?: Schema$CreativeFieldValue[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#creativeFieldValuesListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Contains properties of a creative group. + */ + interface Schema$CreativeGroup { + /** + * Account ID of this creative group. This is a read-only field that can be + * left blank. + */ + accountId?: string; + /** + * Advertiser ID of this creative group. This is a required field on + * insertion. + */ + advertiserId?: string; + /** + * Dimension value for the ID of the advertiser. This is a read-only, + * auto-generated field. + */ + advertiserIdDimensionValue?: Schema$DimensionValue; + /** + * Subgroup of the creative group. Assign your creative groups to a subgroup + * in order to filter or manage them more easily. This field is required on + * insertion and is read-only after insertion. Acceptable values are 1 to 2, + * inclusive. + */ + groupNumber?: number; + /** + * ID of this creative group. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#creativeGroup". + */ + kind?: string; + /** + * Name of this creative group. This is a required field and must be less + * than 256 characters long and unique among creative groups of the same + * advertiser. + */ + name?: string; + /** + * Subaccount ID of this creative group. This is a read-only field that can + * be left blank. + */ + subaccountId?: string; + } + /** + * Creative Group Assignment. + */ + interface Schema$CreativeGroupAssignment { + /** + * ID of the creative group to be assigned. + */ + creativeGroupId?: string; + /** + * Creative group number of the creative group assignment. + */ + creativeGroupNumber?: string; + } + /** + * Creative Group List Response + */ + interface Schema$CreativeGroupsListResponse { + /** + * Creative group collection. + */ + creativeGroups?: Schema$CreativeGroup[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#creativeGroupsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Creative optimization settings. + */ + interface Schema$CreativeOptimizationConfiguration { + /** + * ID of this creative optimization config. This field is auto-generated + * when the campaign is inserted or updated. It can be null for existing + * campaigns. + */ + id?: string; + /** + * Name of this creative optimization config. This is a required field and + * must be less than 129 characters long. + */ + name?: string; + /** + * List of optimization activities associated with this configuration. + */ + optimizationActivitys?: Schema$OptimizationActivity[]; + /** + * Optimization model for this configuration. + */ + optimizationModel?: string; + } + /** + * Creative Rotation. + */ + interface Schema$CreativeRotation { + /** + * Creative assignments in this creative rotation. + */ + creativeAssignments?: Schema$CreativeAssignment[]; + /** + * Creative optimization configuration that is used by this ad. It should + * refer to one of the existing optimization configurations in the ad's + * campaign. If it is unset or set to 0, then the campaign's default + * optimization configuration will be used for this ad. + */ + creativeOptimizationConfigurationId?: string; + /** + * Type of creative rotation. Can be used to specify whether to use + * sequential or random rotation. + */ + type?: string; + /** + * Strategy for calculating weights. Used with + * CREATIVE_ROTATION_TYPE_RANDOM. + */ + weightCalculationStrategy?: string; + } + /** + * Creative Settings + */ + interface Schema$CreativeSettings { + /** + * Header text for iFrames for this site. Must be less than or equal to 2000 + * characters long. + */ + iFrameFooter?: string; + /** + * Header text for iFrames for this site. Must be less than or equal to 2000 + * characters long. + */ + iFrameHeader?: string; + } + /** + * Creative List Response + */ + interface Schema$CreativesListResponse { + /** + * Creative collection. + */ + creatives?: Schema$Creative[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#creativesListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Represents fields that are compatible to be selected for a report of type + * "CROSS_DIMENSION_REACH". + */ + interface Schema$CrossDimensionReachReportCompatibleFields { + /** + * Dimensions which are compatible to be selected in the + * "breakdown" section of the report. + */ + breakdown?: Schema$Dimension[]; + /** + * Dimensions which are compatible to be selected in the + * "dimensionFilters" section of the report. + */ + dimensionFilters?: Schema$Dimension[]; + /** + * The kind of resource this is, in this case + * dfareporting#crossDimensionReachReportCompatibleFields. + */ + kind?: string; + /** + * Metrics which are compatible to be selected in the + * "metricNames" section of the report. + */ + metrics?: Schema$Metric[]; + /** + * Metrics which are compatible to be selected in the + * "overlapMetricNames" section of the report. + */ + overlapMetrics?: Schema$Metric[]; + } + /** + * A custom floodlight variable. + */ + interface Schema$CustomFloodlightVariable { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#customFloodlightVariable". + */ + kind?: string; + /** + * The type of custom floodlight variable to supply a value for. These map + * to the "u[1-20]=" in the tags. + */ + type?: string; + /** + * The value of the custom floodlight variable. The length of string must + * not exceed 50 characters. + */ + value?: string; + } + /** + * Represents a Custom Rich Media Events group. + */ + interface Schema$CustomRichMediaEvents { + /** + * List of custom rich media event IDs. Dimension values must be all of type + * dfa:richMediaEventTypeIdAndName. + */ + filteredEventIds?: Schema$DimensionValue[]; + /** + * The kind of resource this is, in this case + * dfareporting#customRichMediaEvents. + */ + kind?: string; + } + /** + * Represents a date range. + */ + interface Schema$DateRange { + /** + * The end date of the date range, inclusive. A string of the format: + * "yyyy-MM-dd". + */ + endDate?: string; + /** + * The kind of resource this is, in this case dfareporting#dateRange. + */ + kind?: string; + /** + * The date range relative to the date of when the report is run. + */ + relativeDateRange?: string; + /** + * The start date of the date range, inclusive. A string of the format: + * "yyyy-MM-dd". + */ + startDate?: string; + } + /** + * Day Part Targeting. + */ + interface Schema$DayPartTargeting { + /** + * Days of the week when the ad will serve. Acceptable values are: - + * "SUNDAY" - "MONDAY" - "TUESDAY" - + * "WEDNESDAY" - "THURSDAY" - "FRIDAY" - + * "SATURDAY" + */ + daysOfWeek?: string[]; + /** + * Hours of the day when the ad will serve, where 0 is midnight to 1 AM and + * 23 is 11 PM to midnight. Can be specified with days of week, in which + * case the ad would serve during these hours on the specified days. For + * example if Monday, Wednesday, Friday are the days of week specified and + * 9-10am, 3-5pm (hours 9, 15, and 16) is specified, the ad would serve + * Monday, Wednesdays, and Fridays at 9-10am and 3-5pm. Acceptable values + * are 0 to 23, inclusive. + */ + hoursOfDay?: number[]; + /** + * Whether or not to use the user's local time. If false, the + * America/New York time zone applies. + */ + userLocalTime?: boolean; + } + /** + * Contains information about a landing page deep link. + */ + interface Schema$DeepLink { + /** + * The URL of the mobile app being linked to. + */ + appUrl?: string; + /** + * The fallback URL. This URL will be served to users who do not have the + * mobile app installed. + */ + fallbackUrl?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#deepLink". + */ + kind?: string; + /** + * The mobile app targeted by this deep link. + */ + mobileApp?: Schema$MobileApp; + /** + * Ads served to users on these remarketing lists will use this deep link. + * Applicable when mobileApp.directory is APPLE_APP_STORE. + */ + remarketingListIds?: string[]; + } + /** + * Properties of inheriting and overriding the default click-through event + * tag. A campaign may override the event tag defined at the advertiser level, + * and an ad may also override the campaign's setting further. + */ + interface Schema$DefaultClickThroughEventTagProperties { + /** + * ID of the click-through event tag to apply to all ads in this + * entity's scope. + */ + defaultClickThroughEventTagId?: string; + /** + * Whether this entity should override the inherited default click-through + * event tag with its own defined value. + */ + overrideInheritedEventTag?: boolean; + } + /** + * Delivery Schedule. + */ + interface Schema$DeliverySchedule { + /** + * Limit on the number of times an individual user can be served the ad + * within a specified period of time. + */ + frequencyCap?: Schema$FrequencyCap; + /** + * Whether or not hard cutoff is enabled. If true, the ad will not serve + * after the end date and time. Otherwise the ad will continue to be served + * until it has reached its delivery goals. + */ + hardCutoff?: boolean; + /** + * Impression ratio for this ad. This ratio determines how often each ad is + * served relative to the others. For example, if ad A has an impression + * ratio of 1 and ad B has an impression ratio of 3, then Campaign Manager + * will serve ad B three times as often as ad A. Acceptable values are 1 to + * 10, inclusive. + */ + impressionRatio?: string; + /** + * Serving priority of an ad, with respect to other ads. The lower the + * priority number, the greater the priority with which it is served. + */ + priority?: string; + } + /** + * Google Ad Manager Settings + */ + interface Schema$DfpSettings { + /** + * Ad Manager network code for this directory site. + */ + dfpNetworkCode?: string; + /** + * Ad Manager network name for this directory site. + */ + dfpNetworkName?: string; + /** + * Whether this directory site accepts programmatic placements. + */ + programmaticPlacementAccepted?: boolean; + /** + * Whether this directory site is available only via Publisher Portal. + */ + publisherPortalOnly?: boolean; + /** + * Whether this directory site accepts publisher-paid tags. + */ + pubPaidPlacementAccepted?: boolean; + } + /** + * Represents a dimension. + */ + interface Schema$Dimension { + /** + * The kind of resource this is, in this case dfareporting#dimension. + */ + kind?: string; + /** + * The dimension name, e.g. dfa:advertiser + */ + name?: string; + } + /** + * Represents a dimension filter. + */ + interface Schema$DimensionFilter { + /** + * The name of the dimension to filter. + */ + dimensionName?: string; + /** + * The kind of resource this is, in this case dfareporting#dimensionFilter. + */ + kind?: string; + /** + * The value of the dimension to filter. + */ + value?: string; + } + /** + * Represents a DimensionValue resource. + */ + interface Schema$DimensionValue { + /** + * The name of the dimension. + */ + dimensionName?: string; + /** + * The eTag of this response for caching purposes. + */ + etag?: string; + /** + * The ID associated with the value if available. + */ + id?: string; + /** + * The kind of resource this is, in this case dfareporting#dimensionValue. + */ + kind?: string; + /** + * Determines how the 'value' field is matched when filtering. If + * not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, + * '*' is allowed as a placeholder for variable length character + * sequences, and it can be escaped with a backslash. Note, only paid search + * dimensions ('dfa:paidSearch*') allow a matchType other than + * EXACT. + */ + matchType?: string; + /** + * The value of the dimension. + */ + value?: string; + } + /** + * Represents the list of DimensionValue resources. + */ + interface Schema$DimensionValueList { + /** + * The eTag of this response for caching purposes. + */ + etag?: string; + /** + * The dimension values returned in this response. + */ + items?: Schema$DimensionValue[]; + /** + * The kind of list this is, in this case dfareporting#dimensionValueList. + */ + kind?: string; + /** + * Continuation token used to page through dimension values. To retrieve the + * next page of results, set the next request's "pageToken" to + * the value of this field. The page token is only valid for a limited + * amount of time and should not be persisted. + */ + nextPageToken?: string; + } + /** + * Represents a DimensionValuesRequest. + */ + interface Schema$DimensionValueRequest { + /** + * The name of the dimension for which values should be requested. + */ + dimensionName?: string; + /** + * The end date of the date range for which to retrieve dimension values. A + * string of the format "yyyy-MM-dd". + */ + endDate?: string; + /** + * The list of filters by which to filter values. The filters are ANDed. + */ + filters?: Schema$DimensionFilter[]; + /** + * The kind of request this is, in this case + * dfareporting#dimensionValueRequest. + */ + kind?: string; + /** + * The start date of the date range for which to retrieve dimension values. + * A string of the format "yyyy-MM-dd". + */ + startDate?: string; + } + /** + * DirectorySites contains properties of a website from the Site Directory. + * Sites need to be added to an account via the Sites resource before they can + * be assigned to a placement. + */ + interface Schema$DirectorySite { + /** + * Whether this directory site is active. + */ + active?: boolean; + /** + * Directory site contacts. + */ + contactAssignments?: Schema$DirectorySiteContactAssignment[]; + /** + * Country ID of this directory site. This is a read-only field. + */ + countryId?: string; + /** + * Currency ID of this directory site. This is a read-only field. Possible + * values are: - "1" for USD - "2" for GBP - + * "3" for ESP - "4" for SEK - "5" for CAD + * - "6" for JPY - "7" for DEM - "8" for AUD + * - "9" for FRF - "10" for ITL - "11" for + * DKK - "12" for NOK - "13" for FIM - "14" + * for ZAR - "15" for IEP - "16" for NLG - + * "17" for EUR - "18" for KRW - "19" for + * TWD - "20" for SGD - "21" for CNY - "22" + * for HKD - "23" for NZD - "24" for MYR - + * "25" for BRL - "26" for PTE - "27" for + * MXP - "28" for CLP - "29" for TRY - "30" + * for ARS - "31" for PEN - "32" for ILS - + * "33" for CHF - "34" for VEF - "35" for + * COP - "36" for GTQ - "37" for PLN - "39" + * for INR - "40" for THB - "41" for IDR - + * "42" for CZK - "43" for RON - "44" for + * HUF - "45" for RUB - "46" for AED - "47" + * for BGN - "48" for HRK - "49" for MXN - + * "50" for NGN + */ + currencyId?: string; + /** + * Description of this directory site. This is a read-only field. + */ + description?: string; + /** + * ID of this directory site. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Dimension value for the ID of this directory site. This is a read-only, + * auto-generated field. + */ + idDimensionValue?: Schema$DimensionValue; + /** + * Tag types for regular placements. Acceptable values are: - + * "STANDARD" - "IFRAME_JAVASCRIPT_INPAGE" - + * "INTERNAL_REDIRECT_INPAGE" - "JAVASCRIPT_INPAGE" + */ + inpageTagFormats?: string[]; + /** + * Tag types for interstitial placements. Acceptable values are: - + * "IFRAME_JAVASCRIPT_INTERSTITIAL" - + * "INTERNAL_REDIRECT_INTERSTITIAL" - + * "JAVASCRIPT_INTERSTITIAL" + */ + interstitialTagFormats?: string[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#directorySite". + */ + kind?: string; + /** + * Name of this directory site. + */ + name?: string; + /** + * Parent directory site ID. + */ + parentId?: string; + /** + * Directory site settings. + */ + settings?: Schema$DirectorySiteSettings; + /** + * URL of this directory site. + */ + url?: string; + } + /** + * Contains properties of a Site Directory contact. + */ + interface Schema$DirectorySiteContact { + /** + * Address of this directory site contact. + */ + address?: string; + /** + * Email address of this directory site contact. + */ + email?: string; + /** + * First name of this directory site contact. + */ + firstName?: string; + /** + * ID of this directory site contact. This is a read-only, auto-generated + * field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#directorySiteContact". + */ + kind?: string; + /** + * Last name of this directory site contact. + */ + lastName?: string; + /** + * Phone number of this directory site contact. + */ + phone?: string; + /** + * Directory site contact role. + */ + role?: string; + /** + * Title or designation of this directory site contact. + */ + title?: string; + /** + * Directory site contact type. + */ + type?: string; + } + /** + * Directory Site Contact Assignment + */ + interface Schema$DirectorySiteContactAssignment { + /** + * ID of this directory site contact. This is a read-only, auto-generated + * field. + */ + contactId?: string; + /** + * Visibility of this directory site contact assignment. When set to PUBLIC + * this contact assignment is visible to all account and agency users; when + * set to PRIVATE it is visible only to the site. + */ + visibility?: string; + } + /** + * Directory Site Contact List Response + */ + interface Schema$DirectorySiteContactsListResponse { + /** + * Directory site contact collection + */ + directorySiteContacts?: Schema$DirectorySiteContact[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#directorySiteContactsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Directory Site Settings + */ + interface Schema$DirectorySiteSettings { + /** + * Whether this directory site has disabled active view creatives. + */ + activeViewOptOut?: boolean; + /** + * Directory site Ad Manager settings. + */ + dfpSettings?: Schema$DfpSettings; + /** + * Whether this site accepts in-stream video ads. + */ + instreamVideoPlacementAccepted?: boolean; + /** + * Whether this site accepts interstitial ads. + */ + interstitialPlacementAccepted?: boolean; + /** + * Whether this directory site has disabled Nielsen OCR reach ratings. + */ + nielsenOcrOptOut?: boolean; + /** + * Whether this directory site has disabled generation of Verification ins + * tags. + */ + verificationTagOptOut?: boolean; + /** + * Whether this directory site has disabled active view for in-stream video + * creatives. This is a read-only field. + */ + videoActiveViewOptOut?: boolean; + } + /** + * Directory Site List Response + */ + interface Schema$DirectorySitesListResponse { + /** + * Directory site collection. + */ + directorySites?: Schema$DirectorySite[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#directorySitesListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Contains properties of a dynamic targeting key. Dynamic targeting keys are + * unique, user-friendly labels, created at the advertiser level in DCM, that + * can be assigned to ads, creatives, and placements and used for targeting + * with Studio dynamic creatives. Use these labels instead of numeric Campaign + * Manager IDs (such as placement IDs) to save time and avoid errors in your + * dynamic feeds. + */ + interface Schema$DynamicTargetingKey { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#dynamicTargetingKey". + */ + kind?: string; + /** + * Name of this dynamic targeting key. This is a required field. Must be + * less than 256 characters long and cannot contain commas. All characters + * are converted to lowercase. + */ + name?: string; + /** + * ID of the object of this dynamic targeting key. This is a required field. + */ + objectId?: string; + /** + * Type of the object of this dynamic targeting key. This is a required + * field. + */ + objectType?: string; + } + /** + * Dynamic Targeting Key List Response + */ + interface Schema$DynamicTargetingKeysListResponse { + /** + * Dynamic targeting key collection. + */ + dynamicTargetingKeys?: Schema$DynamicTargetingKey[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#dynamicTargetingKeysListResponse". + */ + kind?: string; + } + /** + * A description of how user IDs are encrypted. + */ + interface Schema$EncryptionInfo { + /** + * The encryption entity ID. This should match the encryption configuration + * for ad serving or Data Transfer. + */ + encryptionEntityId?: string; + /** + * The encryption entity type. This should match the encryption + * configuration for ad serving or Data Transfer. + */ + encryptionEntityType?: string; + /** + * Describes whether the encrypted cookie was received from ad serving (the + * %m macro) or from Data Transfer. + */ + encryptionSource?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#encryptionInfo". + */ + kind?: string; + } + /** + * Contains properties of an event tag. + */ + interface Schema$EventTag { + /** + * Account ID of this event tag. This is a read-only field that can be left + * blank. + */ + accountId?: string; + /** + * Advertiser ID of this event tag. This field or the campaignId field is + * required on insertion. + */ + advertiserId?: string; + /** + * Dimension value for the ID of the advertiser. This is a read-only, + * auto-generated field. + */ + advertiserIdDimensionValue?: Schema$DimensionValue; + /** + * Campaign ID of this event tag. This field or the advertiserId field is + * required on insertion. + */ + campaignId?: string; + /** + * Dimension value for the ID of the campaign. This is a read-only, + * auto-generated field. + */ + campaignIdDimensionValue?: Schema$DimensionValue; + /** + * Whether this event tag should be automatically enabled for all of the + * advertiser's campaigns and ads. + */ + enabledByDefault?: boolean; + /** + * Whether to remove this event tag from ads that are trafficked through + * Display & Video 360 to Ad Exchange. This may be useful if the event + * tag uses a pixel that is unapproved for Ad Exchange bids on one or more + * networks, such as the Google Display Network. + */ + excludeFromAdxRequests?: boolean; + /** + * ID of this event tag. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#eventTag". + */ + kind?: string; + /** + * Name of this event tag. This is a required field and must be less than + * 256 characters long. + */ + name?: string; + /** + * Site filter type for this event tag. If no type is specified then the + * event tag will be applied to all sites. + */ + siteFilterType?: string; + /** + * Filter list of site IDs associated with this event tag. The + * siteFilterType determines whether this is a whitelist or blacklist + * filter. + */ + siteIds?: string[]; + /** + * Whether this tag is SSL-compliant or not. This is a read-only field. + */ + sslCompliant?: boolean; + /** + * Status of this event tag. Must be ENABLED for this event tag to fire. + * This is a required field. + */ + status?: string; + /** + * Subaccount ID of this event tag. This is a read-only field that can be + * left blank. + */ + subaccountId?: string; + /** + * Event tag type. Can be used to specify whether to use a third-party + * pixel, a third-party JavaScript URL, or a third-party click-through URL + * for either impression or click tracking. This is a required field. + */ + type?: string; + /** + * Payload URL for this event tag. The URL on a click-through event tag + * should have a landing page URL appended to the end of it. This field is + * required on insertion. + */ + url?: string; + /** + * Number of times the landing page URL should be URL-escaped before being + * appended to the click-through event tag URL. Only applies to + * click-through event tags as specified by the event tag type. + */ + urlEscapeLevels?: number; + } + /** + * Event tag override information. + */ + interface Schema$EventTagOverride { + /** + * Whether this override is enabled. + */ + enabled?: boolean; + /** + * ID of this event tag override. This is a read-only, auto-generated field. + */ + id?: string; + } + /** + * Event Tag List Response + */ + interface Schema$EventTagsListResponse { + /** + * Event tag collection. + */ + eventTags?: Schema$EventTag[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#eventTagsListResponse". + */ + kind?: string; + } + /** + * Represents a File resource. A file contains the metadata for a report run. + * It shows the status of the run and holds the URLs to the generated report + * data if the run is finished and the status is "REPORT_AVAILABLE". + */ + interface Schema$File { + /** + * The date range for which the file has report data. The date range will + * always be the absolute date range for which the report is run. + */ + dateRange?: Schema$DateRange; + /** + * The eTag of this response for caching purposes. + */ + etag?: string; + /** + * The filename of the file. + */ + fileName?: string; + /** + * The output format of the report. Only available once the file is + * available. + */ + format?: string; + /** + * The unique ID of this report file. + */ + id?: string; + /** + * The kind of resource this is, in this case dfareporting#file. + */ + kind?: string; + /** + * The timestamp in milliseconds since epoch when this file was last + * modified. + */ + lastModifiedTime?: string; + /** + * The ID of the report this file was generated from. + */ + reportId?: string; + /** + * The status of the report file. + */ + status?: string; + /** + * The URLs where the completed report file can be downloaded. + */ + urls?: any; + } + /** + * Represents the list of File resources. + */ + interface Schema$FileList { + /** + * The eTag of this response for caching purposes. + */ + etag?: string; + /** + * The files returned in this response. + */ + items?: Schema$File[]; + /** + * The kind of list this is, in this case dfareporting#fileList. + */ + kind?: string; + /** + * Continuation token used to page through files. To retrieve the next page + * of results, set the next request's "pageToken" to the value + * of this field. The page token is only valid for a limited amount of time + * and should not be persisted. + */ + nextPageToken?: string; + } + /** + * Flight + */ + interface Schema$Flight { + /** + * Inventory item flight end date. + */ + endDate?: string; + /** + * Rate or cost of this flight. + */ + rateOrCost?: string; + /** + * Inventory item flight start date. + */ + startDate?: string; + /** + * Units of this flight. + */ + units?: string; + } + /** + * Floodlight Activity GenerateTag Response + */ + interface Schema$FloodlightActivitiesGenerateTagResponse { + /** + * Generated tag for this Floodlight activity. For global site tags, this is + * the event snippet. + */ + floodlightActivityTag?: string; + /** + * The global snippet section of a global site tag. The global site tag sets + * new cookies on your domain, which will store a unique identifier for a + * user or the ad click that brought the user to your site. Learn more. + */ + globalSiteTagGlobalSnippet?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#floodlightActivitiesGenerateTagResponse". + */ + kind?: string; + } + /** + * Floodlight Activity List Response + */ + interface Schema$FloodlightActivitiesListResponse { + /** + * Floodlight activity collection. + */ + floodlightActivities?: Schema$FloodlightActivity[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#floodlightActivitiesListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Contains properties of a Floodlight activity. + */ + interface Schema$FloodlightActivity { + /** + * Account ID of this floodlight activity. This is a read-only field that + * can be left blank. + */ + accountId?: string; + /** + * Advertiser ID of this floodlight activity. If this field is left blank, + * the value will be copied over either from the activity group's + * advertiser or the existing activity's advertiser. + */ + advertiserId?: string; + /** + * Dimension value for the ID of the advertiser. This is a read-only, + * auto-generated field. + */ + advertiserIdDimensionValue?: Schema$DimensionValue; + /** + * Code type used for cache busting in the generated tag. Applicable only + * when floodlightActivityGroupType is COUNTER and countingMethod is + * STANDARD_COUNTING or UNIQUE_COUNTING. + */ + cacheBustingType?: string; + /** + * Counting method for conversions for this floodlight activity. This is a + * required field. + */ + countingMethod?: string; + /** + * Dynamic floodlight tags. + */ + defaultTags?: Schema$FloodlightActivityDynamicTag[]; + /** + * URL where this tag will be deployed. If specified, must be less than 256 + * characters long. + */ + expectedUrl?: string; + /** + * Floodlight activity group ID of this floodlight activity. This is a + * required field. + */ + floodlightActivityGroupId?: string; + /** + * Name of the associated floodlight activity group. This is a read-only + * field. + */ + floodlightActivityGroupName?: string; + /** + * Tag string of the associated floodlight activity group. This is a + * read-only field. + */ + floodlightActivityGroupTagString?: string; + /** + * Type of the associated floodlight activity group. This is a read-only + * field. + */ + floodlightActivityGroupType?: string; + /** + * Floodlight configuration ID of this floodlight activity. If this field is + * left blank, the value will be copied over either from the activity + * group's floodlight configuration or from the existing activity's + * floodlight configuration. + */ + floodlightConfigurationId?: string; + /** + * Dimension value for the ID of the floodlight configuration. This is a + * read-only, auto-generated field. + */ + floodlightConfigurationIdDimensionValue?: Schema$DimensionValue; + /** + * The type of Floodlight tag this activity will generate. This is a + * required field. + */ + floodlightTagType?: string; + /** + * Whether this activity is archived. + */ + hidden?: boolean; + /** + * ID of this floodlight activity. This is a read-only, auto-generated + * field. + */ + id?: string; + /** + * Dimension value for the ID of this floodlight activity. This is a + * read-only, auto-generated field. + */ + idDimensionValue?: Schema$DimensionValue; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#floodlightActivity". + */ + kind?: string; + /** + * Name of this floodlight activity. This is a required field. Must be less + * than 129 characters long and cannot contain quotes. + */ + name?: string; + /** + * General notes or implementation instructions for the tag. + */ + notes?: string; + /** + * Publisher dynamic floodlight tags. + */ + publisherTags?: Schema$FloodlightActivityPublisherDynamicTag[]; + /** + * Whether this tag should use SSL. + */ + secure?: boolean; + /** + * Whether the floodlight activity is SSL-compliant. This is a read-only + * field, its value detected by the system from the floodlight tags. + */ + sslCompliant?: boolean; + /** + * Whether this floodlight activity must be SSL-compliant. + */ + sslRequired?: boolean; + /** + * Subaccount ID of this floodlight activity. This is a read-only field that + * can be left blank. + */ + subaccountId?: string; + /** + * Tag format type for the floodlight activity. If left blank, the tag + * format will default to HTML. + */ + tagFormat?: string; + /** + * Value of the cat= parameter in the floodlight tag, which the ad servers + * use to identify the activity. This is optional: if empty, a new tag + * string will be generated for you. This string must be 1 to 8 characters + * long, with valid characters being [a-z][A-Z][0-9][-][ _ ]. This tag + * string must also be unique among activities of the same activity group. + * This field is read-only after insertion. + */ + tagString?: string; + /** + * List of the user-defined variables used by this conversion tag. These map + * to the "u[1-100]=" in the tags. Each of these can have a user + * defined type. Acceptable values are U1 to U100, inclusive. + */ + userDefinedVariableTypes?: string[]; + } + /** + * Dynamic Tag + */ + interface Schema$FloodlightActivityDynamicTag { + /** + * ID of this dynamic tag. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Name of this tag. + */ + name?: string; + /** + * Tag code. + */ + tag?: string; + } + /** + * Contains properties of a Floodlight activity group. + */ + interface Schema$FloodlightActivityGroup { + /** + * Account ID of this floodlight activity group. This is a read-only field + * that can be left blank. + */ + accountId?: string; + /** + * Advertiser ID of this floodlight activity group. If this field is left + * blank, the value will be copied over either from the floodlight + * configuration's advertiser or from the existing activity group's + * advertiser. + */ + advertiserId?: string; + /** + * Dimension value for the ID of the advertiser. This is a read-only, + * auto-generated field. + */ + advertiserIdDimensionValue?: Schema$DimensionValue; + /** + * Floodlight configuration ID of this floodlight activity group. This is a + * required field. + */ + floodlightConfigurationId?: string; + /** + * Dimension value for the ID of the floodlight configuration. This is a + * read-only, auto-generated field. + */ + floodlightConfigurationIdDimensionValue?: Schema$DimensionValue; + /** + * ID of this floodlight activity group. This is a read-only, auto-generated + * field. + */ + id?: string; + /** + * Dimension value for the ID of this floodlight activity group. This is a + * read-only, auto-generated field. + */ + idDimensionValue?: Schema$DimensionValue; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#floodlightActivityGroup". + */ + kind?: string; + /** + * Name of this floodlight activity group. This is a required field. Must be + * less than 65 characters long and cannot contain quotes. + */ + name?: string; + /** + * Subaccount ID of this floodlight activity group. This is a read-only + * field that can be left blank. + */ + subaccountId?: string; + /** + * Value of the type= parameter in the floodlight tag, which the ad servers + * use to identify the activity group that the activity belongs to. This is + * optional: if empty, a new tag string will be generated for you. This + * string must be 1 to 8 characters long, with valid characters being + * [a-z][A-Z][0-9][-][ _ ]. This tag string must also be unique among + * activity groups of the same floodlight configuration. This field is + * read-only after insertion. + */ + tagString?: string; + /** + * Type of the floodlight activity group. This is a required field that is + * read-only after insertion. + */ + type?: string; + } + /** + * Floodlight Activity Group List Response + */ + interface Schema$FloodlightActivityGroupsListResponse { + /** + * Floodlight activity group collection. + */ + floodlightActivityGroups?: Schema$FloodlightActivityGroup[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#floodlightActivityGroupsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Publisher Dynamic Tag + */ + interface Schema$FloodlightActivityPublisherDynamicTag { + /** + * Whether this tag is applicable only for click-throughs. + */ + clickThrough?: boolean; + /** + * Directory site ID of this dynamic tag. This is a write-only field that + * can be used as an alternative to the siteId field. When this resource is + * retrieved, only the siteId field will be populated. + */ + directorySiteId?: string; + /** + * Dynamic floodlight tag. + */ + dynamicTag?: Schema$FloodlightActivityDynamicTag; + /** + * Site ID of this dynamic tag. + */ + siteId?: string; + /** + * Dimension value for the ID of the site. This is a read-only, + * auto-generated field. + */ + siteIdDimensionValue?: Schema$DimensionValue; + /** + * Whether this tag is applicable only for view-throughs. + */ + viewThrough?: boolean; + } + /** + * Contains properties of a Floodlight configuration. + */ + interface Schema$FloodlightConfiguration { + /** + * Account ID of this floodlight configuration. This is a read-only field + * that can be left blank. + */ + accountId?: string; + /** + * Advertiser ID of the parent advertiser of this floodlight configuration. + */ + advertiserId?: string; + /** + * Dimension value for the ID of the advertiser. This is a read-only, + * auto-generated field. + */ + advertiserIdDimensionValue?: Schema$DimensionValue; + /** + * Whether advertiser data is shared with Google Analytics. + */ + analyticsDataSharingEnabled?: boolean; + /** + * Whether the exposure-to-conversion report is enabled. This report shows + * detailed pathway information on up to 10 of the most recent ad exposures + * seen by a user before converting. + */ + exposureToConversionEnabled?: boolean; + /** + * Day that will be counted as the first day of the week in reports. This is + * a required field. + */ + firstDayOfWeek?: string; + /** + * ID of this floodlight configuration. This is a read-only, auto-generated + * field. + */ + id?: string; + /** + * Dimension value for the ID of this floodlight configuration. This is a + * read-only, auto-generated field. + */ + idDimensionValue?: Schema$DimensionValue; + /** + * Whether in-app attribution tracking is enabled. + */ + inAppAttributionTrackingEnabled?: boolean; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#floodlightConfiguration". + */ + kind?: string; + /** + * Lookback window settings for this floodlight configuration. + */ + lookbackConfiguration?: Schema$LookbackConfiguration; + /** + * Types of attribution options for natural search conversions. + */ + naturalSearchConversionAttributionOption?: string; + /** + * Settings for Campaign Manager Omniture integration. + */ + omnitureSettings?: Schema$OmnitureSettings; + /** + * Subaccount ID of this floodlight configuration. This is a read-only field + * that can be left blank. + */ + subaccountId?: string; + /** + * Configuration settings for dynamic and image floodlight tags. + */ + tagSettings?: Schema$TagSettings; + /** + * List of third-party authentication tokens enabled for this configuration. + */ + thirdPartyAuthenticationTokens?: Schema$ThirdPartyAuthenticationToken[]; + /** + * List of user defined variables enabled for this configuration. + */ + userDefinedVariableConfigurations?: Schema$UserDefinedVariableConfiguration[]; + } + /** + * Floodlight Configuration List Response + */ + interface Schema$FloodlightConfigurationsListResponse { + /** + * Floodlight configuration collection. + */ + floodlightConfigurations?: Schema$FloodlightConfiguration[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#floodlightConfigurationsListResponse". + */ + kind?: string; + } + /** + * Represents fields that are compatible to be selected for a report of type + * "FlOODLIGHT". + */ + interface Schema$FloodlightReportCompatibleFields { + /** + * Dimensions which are compatible to be selected in the + * "dimensionFilters" section of the report. + */ + dimensionFilters?: Schema$Dimension[]; + /** + * Dimensions which are compatible to be selected in the + * "dimensions" section of the report. + */ + dimensions?: Schema$Dimension[]; + /** + * The kind of resource this is, in this case + * dfareporting#floodlightReportCompatibleFields. + */ + kind?: string; + /** + * Metrics which are compatible to be selected in the + * "metricNames" section of the report. + */ + metrics?: Schema$Metric[]; + } + /** + * Frequency Cap. + */ + interface Schema$FrequencyCap { + /** + * Duration of time, in seconds, for this frequency cap. The maximum + * duration is 90 days. Acceptable values are 1 to 7776000, inclusive. + */ + duration?: string; + /** + * Number of times an individual user can be served the ad within the + * specified duration. Acceptable values are 1 to 15, inclusive. + */ + impressions?: string; + } + /** + * FsCommand. + */ + interface Schema$FsCommand { + /** + * Distance from the left of the browser.Applicable when positionOption is + * DISTANCE_FROM_TOP_LEFT_CORNER. + */ + left?: number; + /** + * Position in the browser where the window will open. + */ + positionOption?: string; + /** + * Distance from the top of the browser. Applicable when positionOption is + * DISTANCE_FROM_TOP_LEFT_CORNER. + */ + top?: number; + /** + * Height of the window. + */ + windowHeight?: number; + /** + * Width of the window. + */ + windowWidth?: number; + } + /** + * Geographical Targeting. + */ + interface Schema$GeoTargeting { + /** + * Cities to be targeted. For each city only dartId is required. The other + * fields are populated automatically when the ad is inserted or updated. If + * targeting a city, do not target or exclude the country of the city, and + * do not target the metro or region of the city. + */ + cities?: Schema$City[]; + /** + * Countries to be targeted or excluded from targeting, depending on the + * setting of the excludeCountries field. For each country only dartId is + * required. The other fields are populated automatically when the ad is + * inserted or updated. If targeting or excluding a country, do not target + * regions, cities, metros, or postal codes in the same country. + */ + countries?: Schema$Country[]; + /** + * Whether or not to exclude the countries in the countries field from + * targeting. If false, the countries field refers to countries which will + * be targeted by the ad. + */ + excludeCountries?: boolean; + /** + * Metros to be targeted. For each metro only dmaId is required. The other + * fields are populated automatically when the ad is inserted or updated. If + * targeting a metro, do not target or exclude the country of the metro. + */ + metros?: Schema$Metro[]; + /** + * Postal codes to be targeted. For each postal code only id is required. + * The other fields are populated automatically when the ad is inserted or + * updated. If targeting a postal code, do not target or exclude the country + * of the postal code. + */ + postalCodes?: Schema$PostalCode[]; + /** + * Regions to be targeted. For each region only dartId is required. The + * other fields are populated automatically when the ad is inserted or + * updated. If targeting a region, do not target or exclude the country of + * the region. + */ + regions?: Schema$Region[]; + } + /** + * Represents a buy from the Planning inventory store. + */ + interface Schema$InventoryItem { + /** + * Account ID of this inventory item. + */ + accountId?: string; + /** + * Ad slots of this inventory item. If this inventory item represents a + * standalone placement, there will be exactly one ad slot. If this + * inventory item represents a placement group, there will be more than one + * ad slot, each representing one child placement in that placement group. + */ + adSlots?: Schema$AdSlot[]; + /** + * Advertiser ID of this inventory item. + */ + advertiserId?: string; + /** + * Content category ID of this inventory item. + */ + contentCategoryId?: string; + /** + * Estimated click-through rate of this inventory item. + */ + estimatedClickThroughRate?: string; + /** + * Estimated conversion rate of this inventory item. + */ + estimatedConversionRate?: string; + /** + * ID of this inventory item. + */ + id?: string; + /** + * Whether this inventory item is in plan. + */ + inPlan?: boolean; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#inventoryItem". + */ + kind?: string; + /** + * Information about the most recent modification of this inventory item. + */ + lastModifiedInfo?: Schema$LastModifiedInfo; + /** + * Name of this inventory item. For standalone inventory items, this is the + * same name as that of its only ad slot. For group inventory items, this + * can differ from the name of any of its ad slots. + */ + name?: string; + /** + * Negotiation channel ID of this inventory item. + */ + negotiationChannelId?: string; + /** + * Order ID of this inventory item. + */ + orderId?: string; + /** + * Placement strategy ID of this inventory item. + */ + placementStrategyId?: string; + /** + * Pricing of this inventory item. + */ + pricing?: Schema$Pricing; + /** + * Project ID of this inventory item. + */ + projectId?: string; + /** + * RFP ID of this inventory item. + */ + rfpId?: string; + /** + * ID of the site this inventory item is associated with. + */ + siteId?: string; + /** + * Subaccount ID of this inventory item. + */ + subaccountId?: string; + /** + * Type of inventory item. + */ + type?: string; + } + /** + * Inventory item List Response + */ + interface Schema$InventoryItemsListResponse { + /** + * Inventory item collection + */ + inventoryItems?: Schema$InventoryItem[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#inventoryItemsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Key Value Targeting Expression. + */ + interface Schema$KeyValueTargetingExpression { + /** + * Keyword expression being targeted by the ad. + */ + expression?: string; + } + /** + * Contains information about where a user's browser is taken after the + * user clicks an ad. + */ + interface Schema$LandingPage { + /** + * Advertiser ID of this landing page. This is a required field. + */ + advertiserId?: string; + /** + * Whether this landing page has been archived. + */ + archived?: boolean; + /** + * Links that will direct the user to a mobile app, if installed. + */ + deepLinks?: Schema$DeepLink[]; + /** + * ID of this landing page. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#landingPage". + */ + kind?: string; + /** + * Name of this landing page. This is a required field. It must be less than + * 256 characters long. + */ + name?: string; + /** + * URL of this landing page. This is a required field. + */ + url?: string; + } + /** + * Contains information about a language that can be targeted by ads. + */ + interface Schema$Language { + /** + * Language ID of this language. This is the ID used for targeting and + * generating reports. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#language". + */ + kind?: string; + /** + * Format of language code is an ISO 639 two-letter language code optionally + * followed by an underscore followed by an ISO 3166 code. Examples are + * "en" for English or "zh_CN" for Simplified Chinese. + */ + languageCode?: string; + /** + * Name of this language. + */ + name?: string; + } + /** + * Language List Response + */ + interface Schema$LanguagesListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#languagesListResponse". + */ + kind?: string; + /** + * Language collection. + */ + languages?: Schema$Language[]; + } + /** + * Language Targeting. + */ + interface Schema$LanguageTargeting { + /** + * Languages that this ad targets. For each language only languageId is + * required. The other fields are populated automatically when the ad is + * inserted or updated. + */ + languages?: Schema$Language[]; + } + /** + * Modification timestamp. + */ + interface Schema$LastModifiedInfo { + /** + * Timestamp of the last change in milliseconds since epoch. + */ + time?: string; + } + /** + * A group clause made up of list population terms representing constraints + * joined by ORs. + */ + interface Schema$ListPopulationClause { + /** + * Terms of this list population clause. Each clause is made up of list + * population terms representing constraints and are joined by ORs. + */ + terms?: Schema$ListPopulationTerm[]; + } + /** + * Remarketing List Population Rule. + */ + interface Schema$ListPopulationRule { + /** + * Floodlight activity ID associated with this rule. This field can be left + * blank. + */ + floodlightActivityId?: string; + /** + * Name of floodlight activity associated with this rule. This is a + * read-only, auto-generated field. + */ + floodlightActivityName?: string; + /** + * Clauses that make up this list population rule. Clauses are joined by + * ANDs, and the clauses themselves are made up of list population terms + * which are joined by ORs. + */ + listPopulationClauses?: Schema$ListPopulationClause[]; + } + /** + * Remarketing List Population Rule Term. + */ + interface Schema$ListPopulationTerm { + /** + * Will be true if the term should check if the user is in the list and + * false if the term should check if the user is not in the list. This field + * is only relevant when type is set to LIST_MEMBERSHIP_TERM. False by + * default. + */ + contains?: boolean; + /** + * Whether to negate the comparison result of this term during rule + * evaluation. This field is only relevant when type is left unset or set to + * CUSTOM_VARIABLE_TERM or REFERRER_TERM. + */ + negation?: boolean; + /** + * Comparison operator of this term. This field is only relevant when type + * is left unset or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM. + */ + operator?: string; + /** + * ID of the list in question. This field is only relevant when type is set + * to LIST_MEMBERSHIP_TERM. + */ + remarketingListId?: string; + /** + * List population term type determines the applicable fields in this + * object. If left unset or set to CUSTOM_VARIABLE_TERM, then variableName, + * variableFriendlyName, operator, value, and negation are applicable. If + * set to LIST_MEMBERSHIP_TERM then remarketingListId and contains are + * applicable. If set to REFERRER_TERM then operator, value, and negation + * are applicable. + */ + type?: string; + /** + * Literal to compare the variable to. This field is only relevant when type + * is left unset or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM. + */ + value?: string; + /** + * Friendly name of this term's variable. This is a read-only, + * auto-generated field. This field is only relevant when type is left unset + * or set to CUSTOM_VARIABLE_TERM. + */ + variableFriendlyName?: string; + /** + * Name of the variable (U1, U2, etc.) being compared in this term. This + * field is only relevant when type is set to null, CUSTOM_VARIABLE_TERM or + * REFERRER_TERM. + */ + variableName?: string; + } + /** + * Remarketing List Targeting Expression. + */ + interface Schema$ListTargetingExpression { + /** + * Expression describing which lists are being targeted by the ad. + */ + expression?: string; + } + /** + * Lookback configuration settings. + */ + interface Schema$LookbackConfiguration { + /** + * Lookback window, in days, from the last time a given user clicked on one + * of your ads. If you enter 0, clicks will not be considered as triggering + * events for floodlight tracking. If you leave this field blank, the + * default value for your account will be used. Acceptable values are 0 to + * 90, inclusive. + */ + clickDuration?: number; + /** + * Lookback window, in days, from the last time a given user viewed one of + * your ads. If you enter 0, impressions will not be considered as + * triggering events for floodlight tracking. If you leave this field blank, + * the default value for your account will be used. Acceptable values are 0 + * to 90, inclusive. + */ + postImpressionActivitiesDuration?: number; + } + /** + * Represents a metric. + */ + interface Schema$Metric { + /** + * The kind of resource this is, in this case dfareporting#metric. + */ + kind?: string; + /** + * The metric name, e.g. dfa:impressions + */ + name?: string; + } + /** + * Contains information about a metro region that can be targeted by ads. + */ + interface Schema$Metro { + /** + * Country code of the country to which this metro region belongs. + */ + countryCode?: string; + /** + * DART ID of the country to which this metro region belongs. + */ + countryDartId?: string; + /** + * DART ID of this metro region. + */ + dartId?: string; + /** + * DMA ID of this metro region. This is the ID used for targeting and + * generating reports, and is equivalent to metro_code. + */ + dmaId?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#metro". + */ + kind?: string; + /** + * Metro code of this metro region. This is equivalent to dma_id. + */ + metroCode?: string; + /** + * Name of this metro region. + */ + name?: string; + } + /** + * Metro List Response + */ + interface Schema$MetrosListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#metrosListResponse". + */ + kind?: string; + /** + * Metro collection. + */ + metros?: Schema$Metro[]; + } + /** + * Contains information about a mobile app. Used as a landing page deep link. + */ + interface Schema$MobileApp { + /** + * Mobile app directory. + */ + directory?: string; + /** + * ID of this mobile app. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#mobileApp". + */ + kind?: string; + /** + * Publisher name. + */ + publisherName?: string; + /** + * Title of this mobile app. + */ + title?: string; + } + /** + * Mobile app List Response + */ + interface Schema$MobileAppsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#mobileAppsListResponse". + */ + kind?: string; + /** + * Mobile apps collection. + */ + mobileApps?: Schema$MobileApp[]; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Contains information about a mobile carrier that can be targeted by ads. + */ + interface Schema$MobileCarrier { + /** + * Country code of the country to which this mobile carrier belongs. + */ + countryCode?: string; + /** + * DART ID of the country to which this mobile carrier belongs. + */ + countryDartId?: string; + /** + * ID of this mobile carrier. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#mobileCarrier". + */ + kind?: string; + /** + * Name of this mobile carrier. + */ + name?: string; + } + /** + * Mobile Carrier List Response + */ + interface Schema$MobileCarriersListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#mobileCarriersListResponse". + */ + kind?: string; + /** + * Mobile carrier collection. + */ + mobileCarriers?: Schema$MobileCarrier[]; + } + /** + * Object Filter. + */ + interface Schema$ObjectFilter { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#objectFilter". + */ + kind?: string; + /** + * Applicable when status is ASSIGNED. The user has access to objects with + * these object IDs. + */ + objectIds?: string[]; + /** + * Status of the filter. NONE means the user has access to none of the + * objects. ALL means the user has access to all objects. ASSIGNED means the + * user has access to the objects with IDs in the objectIds list. + */ + status?: string; + } + /** + * Offset Position. + */ + interface Schema$OffsetPosition { + /** + * Offset distance from left side of an asset or a window. + */ + left?: number; + /** + * Offset distance from top side of an asset or a window. + */ + top?: number; + } + /** + * Omniture Integration Settings. + */ + interface Schema$OmnitureSettings { + /** + * Whether placement cost data will be sent to Omniture. This property can + * be enabled only if omnitureIntegrationEnabled is true. + */ + omnitureCostDataEnabled?: boolean; + /** + * Whether Omniture integration is enabled. This property can be enabled + * only when the "Advanced Ad Serving" account setting is enabled. + */ + omnitureIntegrationEnabled?: boolean; + } + /** + * Contains information about an operating system that can be targeted by ads. + */ + interface Schema$OperatingSystem { + /** + * DART ID of this operating system. This is the ID used for targeting. + */ + dartId?: string; + /** + * Whether this operating system is for desktop. + */ + desktop?: boolean; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#operatingSystem". + */ + kind?: string; + /** + * Whether this operating system is for mobile. + */ + mobile?: boolean; + /** + * Name of this operating system. + */ + name?: string; + } + /** + * Operating System List Response + */ + interface Schema$OperatingSystemsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#operatingSystemsListResponse". + */ + kind?: string; + /** + * Operating system collection. + */ + operatingSystems?: Schema$OperatingSystem[]; + } + /** + * Contains information about a particular version of an operating system that + * can be targeted by ads. + */ + interface Schema$OperatingSystemVersion { + /** + * ID of this operating system version. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#operatingSystemVersion". + */ + kind?: string; + /** + * Major version (leftmost number) of this operating system version. + */ + majorVersion?: string; + /** + * Minor version (number after the first dot) of this operating system + * version. + */ + minorVersion?: string; + /** + * Name of this operating system version. + */ + name?: string; + /** + * Operating system of this operating system version. + */ + operatingSystem?: Schema$OperatingSystem; + } + /** + * Operating System Version List Response + */ + interface Schema$OperatingSystemVersionsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#operatingSystemVersionsListResponse". + */ + kind?: string; + /** + * Operating system version collection. + */ + operatingSystemVersions?: Schema$OperatingSystemVersion[]; + } + /** + * Creative optimization activity. + */ + interface Schema$OptimizationActivity { + /** + * Floodlight activity ID of this optimization activity. This is a required + * field. + */ + floodlightActivityId?: string; + /** + * Dimension value for the ID of the floodlight activity. This is a + * read-only, auto-generated field. + */ + floodlightActivityIdDimensionValue?: Schema$DimensionValue; + /** + * Weight associated with this optimization. The weight assigned will be + * understood in proportion to the weights assigned to the other + * optimization activities. Value must be greater than or equal to 1. + */ + weight?: number; + } + /** + * Describes properties of a Planning order. + */ + interface Schema$Order { + /** + * Account ID of this order. + */ + accountId?: string; + /** + * Advertiser ID of this order. + */ + advertiserId?: string; + /** + * IDs for users that have to approve documents created for this order. + */ + approverUserProfileIds?: string[]; + /** + * Buyer invoice ID associated with this order. + */ + buyerInvoiceId?: string; + /** + * Name of the buyer organization. + */ + buyerOrganizationName?: string; + /** + * Comments in this order. + */ + comments?: string; + /** + * Contacts for this order. + */ + contacts?: Schema$OrderContact[]; + /** + * ID of this order. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#order". + */ + kind?: string; + /** + * Information about the most recent modification of this order. + */ + lastModifiedInfo?: Schema$LastModifiedInfo; + /** + * Name of this order. + */ + name?: string; + /** + * Notes of this order. + */ + notes?: string; + /** + * ID of the terms and conditions template used in this order. + */ + planningTermId?: string; + /** + * Project ID of this order. + */ + projectId?: string; + /** + * Seller order ID associated with this order. + */ + sellerOrderId?: string; + /** + * Name of the seller organization. + */ + sellerOrganizationName?: string; + /** + * Site IDs this order is associated with. + */ + siteId?: string[]; + /** + * Free-form site names this order is associated with. + */ + siteNames?: string[]; + /** + * Subaccount ID of this order. + */ + subaccountId?: string; + /** + * Terms and conditions of this order. + */ + termsAndConditions?: string; + } + /** + * Contact of an order. + */ + interface Schema$OrderContact { + /** + * Free-form information about this contact. It could be any information + * related to this contact in addition to type, title, name, and signature + * user profile ID. + */ + contactInfo?: string; + /** + * Name of this contact. + */ + contactName?: string; + /** + * Title of this contact. + */ + contactTitle?: string; + /** + * Type of this contact. + */ + contactType?: string; + /** + * ID of the user profile containing the signature that will be embedded + * into order documents. + */ + signatureUserProfileId?: string; + } + /** + * Contains properties of a Planning order document. + */ + interface Schema$OrderDocument { + /** + * Account ID of this order document. + */ + accountId?: string; + /** + * Advertiser ID of this order document. + */ + advertiserId?: string; + /** + * The amended order document ID of this order document. An order document + * can be created by optionally amending another order document so that the + * change history can be preserved. + */ + amendedOrderDocumentId?: string; + /** + * IDs of users who have approved this order document. + */ + approvedByUserProfileIds?: string[]; + /** + * Whether this order document is cancelled. + */ + cancelled?: boolean; + /** + * Information about the creation of this order document. + */ + createdInfo?: Schema$LastModifiedInfo; + /** + * Effective date of this order document. + */ + effectiveDate?: string; + /** + * ID of this order document. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#orderDocument". + */ + kind?: string; + /** + * List of email addresses that received the last sent document. + */ + lastSentRecipients?: string[]; + /** + * Timestamp of the last email sent with this order document. + */ + lastSentTime?: string; + /** + * ID of the order from which this order document is created. + */ + orderId?: string; + /** + * Project ID of this order document. + */ + projectId?: string; + /** + * Whether this order document has been signed. + */ + signed?: boolean; + /** + * Subaccount ID of this order document. + */ + subaccountId?: string; + /** + * Title of this order document. + */ + title?: string; + /** + * Type of this order document + */ + type?: string; + } + /** + * Order document List Response + */ + interface Schema$OrderDocumentsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#orderDocumentsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + /** + * Order document collection + */ + orderDocuments?: Schema$OrderDocument[]; + } + /** + * Order List Response + */ + interface Schema$OrdersListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#ordersListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + /** + * Order collection. + */ + orders?: Schema$Order[]; + } + /** + * Represents fields that are compatible to be selected for a report of type + * "PATH_TO_CONVERSION". + */ + interface Schema$PathToConversionReportCompatibleFields { + /** + * Conversion dimensions which are compatible to be selected in the + * "conversionDimensions" section of the report. + */ + conversionDimensions?: Schema$Dimension[]; + /** + * Custom floodlight variables which are compatible to be selected in the + * "customFloodlightVariables" section of the report. + */ + customFloodlightVariables?: Schema$Dimension[]; + /** + * The kind of resource this is, in this case + * dfareporting#pathToConversionReportCompatibleFields. + */ + kind?: string; + /** + * Metrics which are compatible to be selected in the + * "metricNames" section of the report. + */ + metrics?: Schema$Metric[]; + /** + * Per-interaction dimensions which are compatible to be selected in the + * "perInteractionDimensions" section of the report. + */ + perInteractionDimensions?: Schema$Dimension[]; + } + /** + * Contains properties of a placement. + */ + interface Schema$Placement { + /** + * Account ID of this placement. This field can be left blank. + */ + accountId?: string; + /** + * Whether this placement opts out of ad blocking. When true, ad blocking is + * disabled for this placement. When false, the campaign and site settings + * take effect. + */ + adBlockingOptOut?: boolean; + /** + * Advertiser ID of this placement. This field can be left blank. + */ + advertiserId?: string; + /** + * Dimension value for the ID of the advertiser. This is a read-only, + * auto-generated field. + */ + advertiserIdDimensionValue?: Schema$DimensionValue; + /** + * Whether this placement is archived. + */ + archived?: boolean; + /** + * Campaign ID of this placement. This field is a required field on + * insertion. + */ + campaignId?: string; + /** + * Dimension value for the ID of the campaign. This is a read-only, + * auto-generated field. + */ + campaignIdDimensionValue?: Schema$DimensionValue; + /** + * Comments for this placement. + */ + comment?: string; + /** + * Placement compatibility. DISPLAY and DISPLAY_INTERSTITIAL refer to + * rendering on desktop, on mobile devices or in mobile apps for regular or + * interstitial ads respectively. APP and APP_INTERSTITIAL are no longer + * allowed for new placement insertions. Instead, use DISPLAY or + * DISPLAY_INTERSTITIAL. IN_STREAM_VIDEO refers to rendering in in-stream + * video ads developed with the VAST standard. This field is required on + * insertion. + */ + compatibility?: string; + /** + * ID of the content category assigned to this placement. + */ + contentCategoryId?: string; + /** + * Information about the creation of this placement. This is a read-only + * field. + */ + createInfo?: Schema$LastModifiedInfo; + /** + * Directory site ID of this placement. On insert, you must set either this + * field or the siteId field to specify the site associated with this + * placement. This is a required field that is read-only after insertion. + */ + directorySiteId?: string; + /** + * Dimension value for the ID of the directory site. This is a read-only, + * auto-generated field. + */ + directorySiteIdDimensionValue?: Schema$DimensionValue; + /** + * External ID for this placement. + */ + externalId?: string; + /** + * ID of this placement. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Dimension value for the ID of this placement. This is a read-only, + * auto-generated field. + */ + idDimensionValue?: Schema$DimensionValue; + /** + * Key name of this placement. This is a read-only, auto-generated field. + */ + keyName?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#placement". + */ + kind?: string; + /** + * Information about the most recent modification of this placement. This is + * a read-only field. + */ + lastModifiedInfo?: Schema$LastModifiedInfo; + /** + * Lookback window settings for this placement. + */ + lookbackConfiguration?: Schema$LookbackConfiguration; + /** + * Name of this placement.This is a required field and must be less than 256 + * characters long. + */ + name?: string; + /** + * Whether payment was approved for this placement. This is a read-only + * field relevant only to publisher-paid placements. + */ + paymentApproved?: boolean; + /** + * Payment source for this placement. This is a required field that is + * read-only after insertion. + */ + paymentSource?: string; + /** + * ID of this placement's group, if applicable. + */ + placementGroupId?: string; + /** + * Dimension value for the ID of the placement group. This is a read-only, + * auto-generated field. + */ + placementGroupIdDimensionValue?: Schema$DimensionValue; + /** + * ID of the placement strategy assigned to this placement. + */ + placementStrategyId?: string; + /** + * Pricing schedule of this placement. This field is required on insertion, + * specifically subfields startDate, endDate and pricingType. + */ + pricingSchedule?: Schema$PricingSchedule; + /** + * Whether this placement is the primary placement of a roadblock (placement + * group). You cannot change this field from true to false. Setting this + * field to true will automatically set the primary field on the original + * primary placement of the roadblock to false, and it will automatically + * set the roadblock's primaryPlacementId field to the ID of this + * placement. + */ + primary?: boolean; + /** + * Information about the last publisher update. This is a read-only field. + */ + publisherUpdateInfo?: Schema$LastModifiedInfo; + /** + * Site ID associated with this placement. On insert, you must set either + * this field or the directorySiteId field to specify the site associated + * with this placement. This is a required field that is read-only after + * insertion. + */ + siteId?: string; + /** + * Dimension value for the ID of the site. This is a read-only, + * auto-generated field. + */ + siteIdDimensionValue?: Schema$DimensionValue; + /** + * Size associated with this placement. When inserting or updating a + * placement, only the size ID field is used. This field is required on + * insertion. + */ + size?: Schema$Size; + /** + * Whether creatives assigned to this placement must be SSL-compliant. + */ + sslRequired?: boolean; + /** + * Third-party placement status. + */ + status?: string; + /** + * Subaccount ID of this placement. This field can be left blank. + */ + subaccountId?: string; + /** + * Tag formats to generate for this placement. This field is required on + * insertion. Acceptable values are: - "PLACEMENT_TAG_STANDARD" - + * "PLACEMENT_TAG_IFRAME_JAVASCRIPT" - + * "PLACEMENT_TAG_IFRAME_ILAYER" - + * "PLACEMENT_TAG_INTERNAL_REDIRECT" - + * "PLACEMENT_TAG_JAVASCRIPT" - + * "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT" - + * "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT" - + * "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT" - + * "PLACEMENT_TAG_CLICK_COMMANDS" - + * "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH" - + * "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3" - + * "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4" - + * "PLACEMENT_TAG_TRACKING" - + * "PLACEMENT_TAG_TRACKING_IFRAME" - + * "PLACEMENT_TAG_TRACKING_JAVASCRIPT" + */ + tagFormats?: string[]; + /** + * Tag settings for this placement. + */ + tagSetting?: Schema$TagSetting; + /** + * Whether Verification and ActiveView are disabled for in-stream video + * creatives for this placement. The same setting videoActiveViewOptOut + * exists on the site level -- the opt out occurs if either of these + * settings are true. These settings are distinct from + * DirectorySites.settings.activeViewOptOut or + * Sites.siteSettings.activeViewOptOut which only apply to display ads. + * However, Accounts.activeViewOptOut opts out both video traffic, as well + * as display ads, from Verification and ActiveView. + */ + videoActiveViewOptOut?: boolean; + /** + * A collection of settings which affect video creatives served through this + * placement. Applicable to placements with IN_STREAM_VIDEO compatibility. + */ + videoSettings?: Schema$VideoSettings; + /** + * VPAID adapter setting for this placement. Controls which VPAID format the + * measurement adapter will use for in-stream video creatives assigned to + * this placement. Note: Flash is no longer supported. This field now + * defaults to HTML5 when the following values are provided: FLASH, BOTH. + */ + vpaidAdapterChoice?: string; + } + /** + * Placement Assignment. + */ + interface Schema$PlacementAssignment { + /** + * Whether this placement assignment is active. When true, the placement + * will be included in the ad's rotation. + */ + active?: boolean; + /** + * ID of the placement to be assigned. This is a required field. + */ + placementId?: string; + /** + * Dimension value for the ID of the placement. This is a read-only, + * auto-generated field. + */ + placementIdDimensionValue?: Schema$DimensionValue; + /** + * Whether the placement to be assigned requires SSL. This is a read-only + * field that is auto-generated when the ad is inserted or updated. + */ + sslRequired?: boolean; + } + /** + * Contains properties of a package or roadblock. + */ + interface Schema$PlacementGroup { + /** + * Account ID of this placement group. This is a read-only field that can be + * left blank. + */ + accountId?: string; + /** + * Advertiser ID of this placement group. This is a required field on + * insertion. + */ + advertiserId?: string; + /** + * Dimension value for the ID of the advertiser. This is a read-only, + * auto-generated field. + */ + advertiserIdDimensionValue?: Schema$DimensionValue; + /** + * Whether this placement group is archived. + */ + archived?: boolean; + /** + * Campaign ID of this placement group. This field is required on insertion. + */ + campaignId?: string; + /** + * Dimension value for the ID of the campaign. This is a read-only, + * auto-generated field. + */ + campaignIdDimensionValue?: Schema$DimensionValue; + /** + * IDs of placements which are assigned to this placement group. This is a + * read-only, auto-generated field. + */ + childPlacementIds?: string[]; + /** + * Comments for this placement group. + */ + comment?: string; + /** + * ID of the content category assigned to this placement group. + */ + contentCategoryId?: string; + /** + * Information about the creation of this placement group. This is a + * read-only field. + */ + createInfo?: Schema$LastModifiedInfo; + /** + * Directory site ID associated with this placement group. On insert, you + * must set either this field or the site_id field to specify the site + * associated with this placement group. This is a required field that is + * read-only after insertion. + */ + directorySiteId?: string; + /** + * Dimension value for the ID of the directory site. This is a read-only, + * auto-generated field. + */ + directorySiteIdDimensionValue?: Schema$DimensionValue; + /** + * External ID for this placement. + */ + externalId?: string; + /** + * ID of this placement group. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Dimension value for the ID of this placement group. This is a read-only, + * auto-generated field. + */ + idDimensionValue?: Schema$DimensionValue; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#placementGroup". + */ + kind?: string; + /** + * Information about the most recent modification of this placement group. + * This is a read-only field. + */ + lastModifiedInfo?: Schema$LastModifiedInfo; + /** + * Name of this placement group. This is a required field and must be less + * than 256 characters long. + */ + name?: string; + /** + * Type of this placement group. A package is a simple group of placements + * that acts as a single pricing point for a group of tags. A roadblock is a + * group of placements that not only acts as a single pricing point, but + * also assumes that all the tags in it will be served at the same time. A + * roadblock requires one of its assigned placements to be marked as primary + * for reporting. This field is required on insertion. + */ + placementGroupType?: string; + /** + * ID of the placement strategy assigned to this placement group. + */ + placementStrategyId?: string; + /** + * Pricing schedule of this placement group. This field is required on + * insertion. + */ + pricingSchedule?: Schema$PricingSchedule; + /** + * ID of the primary placement, used to calculate the media cost of a + * roadblock (placement group). Modifying this field will automatically + * modify the primary field on all affected roadblock child placements. + */ + primaryPlacementId?: string; + /** + * Dimension value for the ID of the primary placement. This is a read-only, + * auto-generated field. + */ + primaryPlacementIdDimensionValue?: Schema$DimensionValue; + /** + * Site ID associated with this placement group. On insert, you must set + * either this field or the directorySiteId field to specify the site + * associated with this placement group. This is a required field that is + * read-only after insertion. + */ + siteId?: string; + /** + * Dimension value for the ID of the site. This is a read-only, + * auto-generated field. + */ + siteIdDimensionValue?: Schema$DimensionValue; + /** + * Subaccount ID of this placement group. This is a read-only field that can + * be left blank. + */ + subaccountId?: string; + } + /** + * Placement Group List Response + */ + interface Schema$PlacementGroupsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#placementGroupsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + /** + * Placement group collection. + */ + placementGroups?: Schema$PlacementGroup[]; + } + /** + * Placement GenerateTags Response + */ + interface Schema$PlacementsGenerateTagsResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#placementsGenerateTagsResponse". + */ + kind?: string; + /** + * Set of generated tags for the specified placements. + */ + placementTags?: Schema$PlacementTag[]; + } + /** + * Placement List Response + */ + interface Schema$PlacementsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#placementsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + /** + * Placement collection. + */ + placements?: Schema$Placement[]; + } + /** + * Placement Strategy List Response + */ + interface Schema$PlacementStrategiesListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#placementStrategiesListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + /** + * Placement strategy collection. + */ + placementStrategies?: Schema$PlacementStrategy[]; + } + /** + * Contains properties of a placement strategy. + */ + interface Schema$PlacementStrategy { + /** + * Account ID of this placement strategy.This is a read-only field that can + * be left blank. + */ + accountId?: string; + /** + * ID of this placement strategy. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#placementStrategy". + */ + kind?: string; + /** + * Name of this placement strategy. This is a required field. It must be + * less than 256 characters long and unique among placement strategies of + * the same account. + */ + name?: string; + } + /** + * Placement Tag + */ + interface Schema$PlacementTag { + /** + * Placement ID + */ + placementId?: string; + /** + * Tags generated for this placement. + */ + tagDatas?: Schema$TagData[]; + } + /** + * Contains information about a platform type that can be targeted by ads. + */ + interface Schema$PlatformType { + /** + * ID of this platform type. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#platformType". + */ + kind?: string; + /** + * Name of this platform type. + */ + name?: string; + } + /** + * Platform Type List Response + */ + interface Schema$PlatformTypesListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#platformTypesListResponse". + */ + kind?: string; + /** + * Platform type collection. + */ + platformTypes?: Schema$PlatformType[]; + } + /** + * Popup Window Properties. + */ + interface Schema$PopupWindowProperties { + /** + * Popup dimension for a creative. This is a read-only field. Applicable to + * the following creative types: all RICH_MEDIA and all VPAID + */ + dimension?: Schema$Size; + /** + * Upper-left corner coordinates of the popup window. Applicable if + * positionType is COORDINATES. + */ + offset?: Schema$OffsetPosition; + /** + * Popup window position either centered or at specific coordinate. + */ + positionType?: string; + /** + * Whether to display the browser address bar. + */ + showAddressBar?: boolean; + /** + * Whether to display the browser menu bar. + */ + showMenuBar?: boolean; + /** + * Whether to display the browser scroll bar. + */ + showScrollBar?: boolean; + /** + * Whether to display the browser status bar. + */ + showStatusBar?: boolean; + /** + * Whether to display the browser tool bar. + */ + showToolBar?: boolean; + /** + * Title of popup window. + */ + title?: string; + } + /** + * Contains information about a postal code that can be targeted by ads. + */ + interface Schema$PostalCode { + /** + * Postal code. This is equivalent to the id field. + */ + code?: string; + /** + * Country code of the country to which this postal code belongs. + */ + countryCode?: string; + /** + * DART ID of the country to which this postal code belongs. + */ + countryDartId?: string; + /** + * ID of this postal code. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#postalCode". + */ + kind?: string; + } + /** + * Postal Code List Response + */ + interface Schema$PostalCodesListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#postalCodesListResponse". + */ + kind?: string; + /** + * Postal code collection. + */ + postalCodes?: Schema$PostalCode[]; + } + /** + * Pricing Information + */ + interface Schema$Pricing { + /** + * Cap cost type of this inventory item. + */ + capCostType?: string; + /** + * End date of this inventory item. + */ + endDate?: string; + /** + * Flights of this inventory item. A flight (a.k.a. pricing period) + * represents the inventory item pricing information for a specific period + * of time. + */ + flights?: Schema$Flight[]; + /** + * Group type of this inventory item if it represents a placement group. Is + * null otherwise. There are two type of placement groups: + * PLANNING_PLACEMENT_GROUP_TYPE_PACKAGE is a simple group of inventory + * items that acts as a single pricing point for a group of tags. + * PLANNING_PLACEMENT_GROUP_TYPE_ROADBLOCK is a group of inventory items + * that not only acts as a single pricing point, but also assumes that all + * the tags in it will be served at the same time. A roadblock requires one + * of its assigned inventory items to be marked as primary. + */ + groupType?: string; + /** + * Pricing type of this inventory item. + */ + pricingType?: string; + /** + * Start date of this inventory item. + */ + startDate?: string; + } + /** + * Pricing Schedule + */ + interface Schema$PricingSchedule { + /** + * Placement cap cost option. + */ + capCostOption?: string; + /** + * Whether cap costs are ignored by ad serving. + */ + disregardOverdelivery?: boolean; + /** + * Placement end date. This date must be later than, or the same day as, the + * placement start date, but not later than the campaign end date. If, for + * example, you set 6/25/2015 as both the start and end dates, the effective + * placement date is just that day only, 6/25/2015. The hours, minutes, and + * seconds of the end date should not be set, as doing so will result in an + * error. This field is required on insertion. + */ + endDate?: string; + /** + * Whether this placement is flighted. If true, pricing periods will be + * computed automatically. + */ + flighted?: boolean; + /** + * Floodlight activity ID associated with this placement. This field should + * be set when placement pricing type is set to PRICING_TYPE_CPA. + */ + floodlightActivityId?: string; + /** + * Pricing periods for this placement. + */ + pricingPeriods?: Schema$PricingSchedulePricingPeriod[]; + /** + * Placement pricing type. This field is required on insertion. + */ + pricingType?: string; + /** + * Placement start date. This date must be later than, or the same day as, + * the campaign start date. The hours, minutes, and seconds of the start + * date should not be set, as doing so will result in an error. This field + * is required on insertion. + */ + startDate?: string; + /** + * Testing start date of this placement. The hours, minutes, and seconds of + * the start date should not be set, as doing so will result in an error. + */ + testingStartDate?: string; + } + /** + * Pricing Period + */ + interface Schema$PricingSchedulePricingPeriod { + /** + * Pricing period end date. This date must be later than, or the same day + * as, the pricing period start date, but not later than the placement end + * date. The period end date can be the same date as the period start date. + * If, for example, you set 6/25/2015 as both the start and end dates, the + * effective pricing period date is just that day only, 6/25/2015. The + * hours, minutes, and seconds of the end date should not be set, as doing + * so will result in an error. + */ + endDate?: string; + /** + * Comments for this pricing period. + */ + pricingComment?: string; + /** + * Rate or cost of this pricing period in nanos (i.e., multipled by + * 1000000000). Acceptable values are 0 to 1000000000000000000, inclusive. + */ + rateOrCostNanos?: string; + /** + * Pricing period start date. This date must be later than, or the same day + * as, the placement start date. The hours, minutes, and seconds of the + * start date should not be set, as doing so will result in an error. + */ + startDate?: string; + /** + * Units of this pricing period. Acceptable values are 0 to 10000000000, + * inclusive. + */ + units?: string; + } + /** + * Contains properties of a Planning project. + */ + interface Schema$Project { + /** + * Account ID of this project. + */ + accountId?: string; + /** + * Advertiser ID of this project. + */ + advertiserId?: string; + /** + * Audience age group of this project. + */ + audienceAgeGroup?: string; + /** + * Audience gender of this project. + */ + audienceGender?: string; + /** + * Budget of this project in the currency specified by the current account. + * The value stored in this field represents only the non-fractional amount. + * For example, for USD, the smallest value that can be represented by this + * field is 1 US dollar. + */ + budget?: string; + /** + * Client billing code of this project. + */ + clientBillingCode?: string; + /** + * Name of the project client. + */ + clientName?: string; + /** + * End date of the project. + */ + endDate?: string; + /** + * ID of this project. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#project". + */ + kind?: string; + /** + * Information about the most recent modification of this project. + */ + lastModifiedInfo?: Schema$LastModifiedInfo; + /** + * Name of this project. + */ + name?: string; + /** + * Overview of this project. + */ + overview?: string; + /** + * Start date of the project. + */ + startDate?: string; + /** + * Subaccount ID of this project. + */ + subaccountId?: string; + /** + * Number of clicks that the advertiser is targeting. + */ + targetClicks?: string; + /** + * Number of conversions that the advertiser is targeting. + */ + targetConversions?: string; + /** + * CPA that the advertiser is targeting. + */ + targetCpaNanos?: string; + /** + * CPC that the advertiser is targeting. + */ + targetCpcNanos?: string; + /** + * vCPM from Active View that the advertiser is targeting. + */ + targetCpmActiveViewNanos?: string; + /** + * CPM that the advertiser is targeting. + */ + targetCpmNanos?: string; + /** + * Number of impressions that the advertiser is targeting. + */ + targetImpressions?: string; + } + /** + * Project List Response + */ + interface Schema$ProjectsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#projectsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + /** + * Project collection. + */ + projects?: Schema$Project[]; + } + /** + * Represents fields that are compatible to be selected for a report of type + * "REACH". + */ + interface Schema$ReachReportCompatibleFields { + /** + * Dimensions which are compatible to be selected in the + * "dimensionFilters" section of the report. + */ + dimensionFilters?: Schema$Dimension[]; + /** + * Dimensions which are compatible to be selected in the + * "dimensions" section of the report. + */ + dimensions?: Schema$Dimension[]; + /** + * The kind of resource this is, in this case + * dfareporting#reachReportCompatibleFields. + */ + kind?: string; + /** + * Metrics which are compatible to be selected in the + * "metricNames" section of the report. + */ + metrics?: Schema$Metric[]; + /** + * Metrics which are compatible to be selected as activity metrics to pivot + * on in the "activities" section of the report. + */ + pivotedActivityMetrics?: Schema$Metric[]; + /** + * Metrics which are compatible to be selected in the + * "reachByFrequencyMetricNames" section of the report. + */ + reachByFrequencyMetrics?: Schema$Metric[]; + } + /** + * Represents a recipient. + */ + interface Schema$Recipient { + /** + * The delivery type for the recipient. + */ + deliveryType?: string; + /** + * The email address of the recipient. + */ + email?: string; + /** + * The kind of resource this is, in this case dfareporting#recipient. + */ + kind?: string; + } + /** + * Contains information about a region that can be targeted by ads. + */ + interface Schema$Region { + /** + * Country code of the country to which this region belongs. + */ + countryCode?: string; + /** + * DART ID of the country to which this region belongs. + */ + countryDartId?: string; + /** + * DART ID of this region. + */ + dartId?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#region". + */ + kind?: string; + /** + * Name of this region. + */ + name?: string; + /** + * Region code. + */ + regionCode?: string; + } + /** + * Region List Response + */ + interface Schema$RegionsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#regionsListResponse". + */ + kind?: string; + /** + * Region collection. + */ + regions?: Schema$Region[]; + } + /** + * Contains properties of a remarketing list. Remarketing enables you to + * create lists of users who have performed specific actions on a site, then + * target ads to members of those lists. This resource can be used to manage + * remarketing lists that are owned by your advertisers. To see all + * remarketing lists that are visible to your advertisers, including those + * that are shared to your advertiser or account, use the + * TargetableRemarketingLists resource. + */ + interface Schema$RemarketingList { + /** + * Account ID of this remarketing list. This is a read-only, auto-generated + * field that is only returned in GET requests. + */ + accountId?: string; + /** + * Whether this remarketing list is active. + */ + active?: boolean; + /** + * Dimension value for the advertiser ID that owns this remarketing list. + * This is a required field. + */ + advertiserId?: string; + /** + * Dimension value for the ID of the advertiser. This is a read-only, + * auto-generated field. + */ + advertiserIdDimensionValue?: Schema$DimensionValue; + /** + * Remarketing list description. + */ + description?: string; + /** + * Remarketing list ID. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#remarketingList". + */ + kind?: string; + /** + * Number of days that a user should remain in the remarketing list without + * an impression. Acceptable values are 1 to 540, inclusive. + */ + lifeSpan?: string; + /** + * Rule used to populate the remarketing list with users. + */ + listPopulationRule?: Schema$ListPopulationRule; + /** + * Number of users currently in the list. This is a read-only field. + */ + listSize?: string; + /** + * Product from which this remarketing list was originated. + */ + listSource?: string; + /** + * Name of the remarketing list. This is a required field. Must be no + * greater than 128 characters long. + */ + name?: string; + /** + * Subaccount ID of this remarketing list. This is a read-only, + * auto-generated field that is only returned in GET requests. + */ + subaccountId?: string; + } + /** + * Contains properties of a remarketing list's sharing information. + * Sharing allows other accounts or advertisers to target to your remarketing + * lists. This resource can be used to manage remarketing list sharing to + * other accounts and advertisers. + */ + interface Schema$RemarketingListShare { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#remarketingListShare". + */ + kind?: string; + /** + * Remarketing list ID. This is a read-only, auto-generated field. + */ + remarketingListId?: string; + /** + * Accounts that the remarketing list is shared with. + */ + sharedAccountIds?: string[]; + /** + * Advertisers that the remarketing list is shared with. + */ + sharedAdvertiserIds?: string[]; + } + /** + * Remarketing list response + */ + interface Schema$RemarketingListsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#remarketingListsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + /** + * Remarketing list collection. + */ + remarketingLists?: Schema$RemarketingList[]; + } + /** + * Represents a Report resource. + */ + interface Schema$Report { + /** + * The account ID to which this report belongs. + */ + accountId?: string; + /** + * The report criteria for a report of type "STANDARD". + */ + criteria?: any; + /** + * The report criteria for a report of type + * "CROSS_DIMENSION_REACH". + */ + crossDimensionReachCriteria?: any; + /** + * The report's email delivery settings. + */ + delivery?: any; + /** + * The eTag of this response for caching purposes. + */ + etag?: string; + /** + * The filename used when generating report files for this report. + */ + fileName?: string; + /** + * The report criteria for a report of type "FLOODLIGHT". + */ + floodlightCriteria?: any; + /** + * The output format of the report. If not specified, default format is + * "CSV". Note that the actual format in the completed report file + * might differ if for instance the report's size exceeds the + * format's capabilities. "CSV" will then be the fallback + * format. + */ + format?: string; + /** + * The unique ID identifying this report resource. + */ + id?: string; + /** + * The kind of resource this is, in this case dfareporting#report. + */ + kind?: string; + /** + * The timestamp (in milliseconds since epoch) of when this report was last + * modified. + */ + lastModifiedTime?: string; + /** + * The name of the report. + */ + name?: string; + /** + * The user profile id of the owner of this report. + */ + ownerProfileId?: string; + /** + * The report criteria for a report of type "PATH_TO_CONVERSION". + */ + pathToConversionCriteria?: any; + /** + * The report criteria for a report of type "REACH". + */ + reachCriteria?: any; + /** + * The report's schedule. Can only be set if the report's + * 'dateRange' is a relative date range and the relative date range + * is not "TODAY". + */ + schedule?: any; + /** + * The subaccount ID to which this report belongs if applicable. + */ + subAccountId?: string; + /** + * The type of the report. + */ + type?: string; + } + /** + * Represents fields that are compatible to be selected for a report of type + * "STANDARD". + */ + interface Schema$ReportCompatibleFields { + /** + * Dimensions which are compatible to be selected in the + * "dimensionFilters" section of the report. + */ + dimensionFilters?: Schema$Dimension[]; + /** + * Dimensions which are compatible to be selected in the + * "dimensions" section of the report. + */ + dimensions?: Schema$Dimension[]; + /** + * The kind of resource this is, in this case + * dfareporting#reportCompatibleFields. + */ + kind?: string; + /** + * Metrics which are compatible to be selected in the + * "metricNames" section of the report. + */ + metrics?: Schema$Metric[]; + /** + * Metrics which are compatible to be selected as activity metrics to pivot + * on in the "activities" section of the report. + */ + pivotedActivityMetrics?: Schema$Metric[]; + } + /** + * Represents the list of reports. + */ + interface Schema$ReportList { + /** + * The eTag of this response for caching purposes. + */ + etag?: string; + /** + * The reports returned in this response. + */ + items?: Schema$Report[]; + /** + * The kind of list this is, in this case dfareporting#reportList. + */ + kind?: string; + /** + * Continuation token used to page through reports. To retrieve the next + * page of results, set the next request's "pageToken" to the + * value of this field. The page token is only valid for a limited amount of + * time and should not be persisted. + */ + nextPageToken?: string; + } + /** + * Reporting Configuration + */ + interface Schema$ReportsConfiguration { + /** + * Whether the exposure to conversion report is enabled. This report shows + * detailed pathway information on up to 10 of the most recent ad exposures + * seen by a user before converting. + */ + exposureToConversionEnabled?: boolean; + /** + * Default lookback windows for new advertisers in this account. + */ + lookbackConfiguration?: Schema$LookbackConfiguration; + /** + * Report generation time zone ID of this account. This is a required field + * that can only be changed by a superuser. Acceptable values are: - + * "1" for "America/New_York" - "2" for + * "Europe/London" - "3" for "Europe/Paris" + * - "4" for "Africa/Johannesburg" - "5" for + * "Asia/Jerusalem" - "6" for "Asia/Shanghai" + * - "7" for "Asia/Hong_Kong" - "8" for + * "Asia/Tokyo" - "9" for "Australia/Sydney" + * - "10" for "Asia/Dubai" - "11" for + * "America/Los_Angeles" - "12" for + * "Pacific/Auckland" - "13" for + * "America/Sao_Paulo" + */ + reportGenerationTimeZoneId?: string; + } + /** + * Rich Media Exit Override. + */ + interface Schema$RichMediaExitOverride { + /** + * Click-through URL of this rich media exit override. Applicable if the + * enabled field is set to true. + */ + clickThroughUrl?: Schema$ClickThroughUrl; + /** + * Whether to use the clickThroughUrl. If false, the creative-level exit + * will be used. + */ + enabled?: boolean; + /** + * ID for the override to refer to a specific exit in the creative. + */ + exitId?: string; + } + /** + * A rule associates an asset with a targeting template for asset-level + * targeting. Applicable to INSTREAM_VIDEO creatives. + */ + interface Schema$Rule { + /** + * A creativeAssets[].id. This should refer to one of the parent assets in + * this creative. This is a required field. + */ + assetId?: string; + /** + * A user-friendly name for this rule. This is a required field. + */ + name?: string; + /** + * A targeting template ID. The targeting from the targeting template will + * be used to determine whether this asset should be served. This is a + * required field. + */ + targetingTemplateId?: string; + } + /** + * Contains properties of a site. + */ + interface Schema$Site { + /** + * Account ID of this site. This is a read-only field that can be left + * blank. + */ + accountId?: string; + /** + * Whether this site is approved. + */ + approved?: boolean; + /** + * Directory site associated with this site. This is a required field that + * is read-only after insertion. + */ + directorySiteId?: string; + /** + * Dimension value for the ID of the directory site. This is a read-only, + * auto-generated field. + */ + directorySiteIdDimensionValue?: Schema$DimensionValue; + /** + * ID of this site. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Dimension value for the ID of this site. This is a read-only, + * auto-generated field. + */ + idDimensionValue?: Schema$DimensionValue; + /** + * Key name of this site. This is a read-only, auto-generated field. + */ + keyName?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#site". + */ + kind?: string; + /** + * Name of this site.This is a required field. Must be less than 128 + * characters long. If this site is under a subaccount, the name must be + * unique among sites of the same subaccount. Otherwise, this site is a + * top-level site, and the name must be unique among top-level sites of the + * same account. + */ + name?: string; + /** + * Site contacts. + */ + siteContacts?: Schema$SiteContact[]; + /** + * Site-wide settings. + */ + siteSettings?: Schema$SiteSettings; + /** + * Subaccount ID of this site. This is a read-only field that can be left + * blank. + */ + subaccountId?: string; + } + /** + * Site Contact + */ + interface Schema$SiteContact { + /** + * Address of this site contact. + */ + address?: string; + /** + * Site contact type. + */ + contactType?: string; + /** + * Email address of this site contact. This is a required field. + */ + email?: string; + /** + * First name of this site contact. + */ + firstName?: string; + /** + * ID of this site contact. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Last name of this site contact. + */ + lastName?: string; + /** + * Primary phone number of this site contact. + */ + phone?: string; + /** + * Title or designation of this site contact. + */ + title?: string; + } + /** + * Site Settings + */ + interface Schema$SiteSettings { + /** + * Whether active view creatives are disabled for this site. + */ + activeViewOptOut?: boolean; + /** + * Whether this site opts out of ad blocking. When true, ad blocking is + * disabled for all placements under the site, regardless of the individual + * placement settings. When false, the campaign and placement settings take + * effect. + */ + adBlockingOptOut?: boolean; + /** + * Site-wide creative settings. + */ + creativeSettings?: Schema$CreativeSettings; + /** + * Whether new cookies are disabled for this site. + */ + disableNewCookie?: boolean; + /** + * Lookback window settings for this site. + */ + lookbackConfiguration?: Schema$LookbackConfiguration; + /** + * Configuration settings for dynamic and image floodlight tags. + */ + tagSetting?: Schema$TagSetting; + /** + * Whether Verification and ActiveView for in-stream video creatives are + * disabled by default for new placements created under this site. This + * value will be used to populate the placement.videoActiveViewOptOut field, + * when no value is specified for the new placement. + */ + videoActiveViewOptOutTemplate?: boolean; + /** + * Default VPAID adapter setting for new placements created under this site. + * This value will be used to populate the placements.vpaidAdapterChoice + * field, when no value is specified for the new placement. Controls which + * VPAID format the measurement adapter will use for in-stream video + * creatives assigned to the placement. The publisher's specifications + * will typically determine this setting. For VPAID creatives, the adapter + * format will match the VPAID format (HTML5 VPAID creatives use the HTML5 + * adapter). Note: Flash is no longer supported. This field now defaults to + * HTML5 when the following values are provided: FLASH, BOTH. + */ + vpaidAdapterChoiceTemplate?: string; + } + /** + * Site List Response + */ + interface Schema$SitesListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#sitesListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + /** + * Site collection. + */ + sites?: Schema$Site[]; + } + /** + * Represents the dimensions of ads, placements, creatives, or creative + * assets. + */ + interface Schema$Size { + /** + * Height of this size. Acceptable values are 0 to 32767, inclusive. + */ + height?: number; + /** + * IAB standard size. This is a read-only, auto-generated field. + */ + iab?: boolean; + /** + * ID of this size. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#size". + */ + kind?: string; + /** + * Width of this size. Acceptable values are 0 to 32767, inclusive. + */ + width?: number; + } + /** + * Size List Response + */ + interface Schema$SizesListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#sizesListResponse". + */ + kind?: string; + /** + * Size collection. + */ + sizes?: Schema$Size[]; + } + /** + * Skippable Settings + */ + interface Schema$SkippableSetting { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#skippableSetting". + */ + kind?: string; + /** + * Amount of time to play videos served to this placement before counting a + * view. Applicable when skippable is true. + */ + progressOffset?: Schema$VideoOffset; + /** + * Amount of time to play videos served to this placement before the skip + * button should appear. Applicable when skippable is true. + */ + skipOffset?: Schema$VideoOffset; + /** + * Whether the user can skip creatives served to this placement. + */ + skippable?: boolean; + } + /** + * Represents a sorted dimension. + */ + interface Schema$SortedDimension { + /** + * The kind of resource this is, in this case dfareporting#sortedDimension. + */ + kind?: string; + /** + * The name of the dimension. + */ + name?: string; + /** + * An optional sort order for the dimension column. + */ + sortOrder?: string; + } + /** + * Contains properties of a Campaign Manager subaccount. + */ + interface Schema$Subaccount { + /** + * ID of the account that contains this subaccount. This is a read-only + * field that can be left blank. + */ + accountId?: string; + /** + * IDs of the available user role permissions for this subaccount. + */ + availablePermissionIds?: string[]; + /** + * ID of this subaccount. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#subaccount". + */ + kind?: string; + /** + * Name of this subaccount. This is a required field. Must be less than 128 + * characters long and be unique among subaccounts of the same account. + */ + name?: string; + } + /** + * Subaccount List Response + */ + interface Schema$SubaccountsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#subaccountsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + /** + * Subaccount collection. + */ + subaccounts?: Schema$Subaccount[]; + } + /** + * Placement Tag Data + */ + interface Schema$TagData { + /** + * Ad associated with this placement tag. Applicable only when format is + * PLACEMENT_TAG_TRACKING. + */ + adId?: string; + /** + * Tag string to record a click. + */ + clickTag?: string; + /** + * Creative associated with this placement tag. Applicable only when format + * is PLACEMENT_TAG_TRACKING. + */ + creativeId?: string; + /** + * TagData tag format of this tag. + */ + format?: string; + /** + * Tag string for serving an ad. + */ + impressionTag?: string; + } + /** + * Tag Settings + */ + interface Schema$TagSetting { + /** + * Additional key-values to be included in tags. Each key-value pair must be + * of the form key=value, and pairs must be separated by a semicolon (;). + * Keys and values must not contain commas. For example, id=2;color=red is a + * valid value for this field. + */ + additionalKeyValues?: string; + /** + * Whether static landing page URLs should be included in the tags. This + * setting applies only to placements. + */ + includeClickThroughUrls?: boolean; + /** + * Whether click-tracking string should be included in the tags. + */ + includeClickTracking?: boolean; + /** + * Option specifying how keywords are embedded in ad tags. This setting can + * be used to specify whether keyword placeholders are inserted in placement + * tags for this site. Publishers can then add keywords to those + * placeholders. + */ + keywordOption?: string; + } + /** + * Dynamic and Image Tag Settings. + */ + interface Schema$TagSettings { + /** + * Whether dynamic floodlight tags are enabled. + */ + dynamicTagEnabled?: boolean; + /** + * Whether image tags are enabled. + */ + imageTagEnabled?: boolean; + } + /** + * Contains properties of a targetable remarketing list. Remarketing enables + * you to create lists of users who have performed specific actions on a site, + * then target ads to members of those lists. This resource is a read-only + * view of a remarketing list to be used to faciliate targeting ads to + * specific lists. Remarketing lists that are owned by your advertisers and + * those that are shared to your advertisers or account are accessible via + * this resource. To manage remarketing lists that are owned by your + * advertisers, use the RemarketingLists resource. + */ + interface Schema$TargetableRemarketingList { + /** + * Account ID of this remarketing list. This is a read-only, auto-generated + * field that is only returned in GET requests. + */ + accountId?: string; + /** + * Whether this targetable remarketing list is active. + */ + active?: boolean; + /** + * Dimension value for the advertiser ID that owns this targetable + * remarketing list. + */ + advertiserId?: string; + /** + * Dimension value for the ID of the advertiser. + */ + advertiserIdDimensionValue?: Schema$DimensionValue; + /** + * Targetable remarketing list description. + */ + description?: string; + /** + * Targetable remarketing list ID. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#targetableRemarketingList". + */ + kind?: string; + /** + * Number of days that a user should remain in the targetable remarketing + * list without an impression. + */ + lifeSpan?: string; + /** + * Number of users currently in the list. This is a read-only field. + */ + listSize?: string; + /** + * Product from which this targetable remarketing list was originated. + */ + listSource?: string; + /** + * Name of the targetable remarketing list. Is no greater than 128 + * characters long. + */ + name?: string; + /** + * Subaccount ID of this remarketing list. This is a read-only, + * auto-generated field that is only returned in GET requests. + */ + subaccountId?: string; + } + /** + * Targetable remarketing list response + */ + interface Schema$TargetableRemarketingListsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#targetableRemarketingListsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + /** + * Targetable remarketing list collection. + */ + targetableRemarketingLists?: Schema$TargetableRemarketingList[]; + } + /** + * Contains properties of a targeting template. A targeting template + * encapsulates targeting information which can be reused across multiple ads. + */ + interface Schema$TargetingTemplate { + /** + * Account ID of this targeting template. This field, if left unset, will be + * auto-generated on insert and is read-only after insert. + */ + accountId?: string; + /** + * Advertiser ID of this targeting template. This is a required field on + * insert and is read-only after insert. + */ + advertiserId?: string; + /** + * Dimension value for the ID of the advertiser. This is a read-only, + * auto-generated field. + */ + advertiserIdDimensionValue?: Schema$DimensionValue; + /** + * Time and day targeting criteria. + */ + dayPartTargeting?: Schema$DayPartTargeting; + /** + * Geographical targeting criteria. + */ + geoTargeting?: Schema$GeoTargeting; + /** + * ID of this targeting template. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Key-value targeting criteria. + */ + keyValueTargetingExpression?: Schema$KeyValueTargetingExpression; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#targetingTemplate". + */ + kind?: string; + /** + * Language targeting criteria. + */ + languageTargeting?: Schema$LanguageTargeting; + /** + * Remarketing list targeting criteria. + */ + listTargetingExpression?: Schema$ListTargetingExpression; + /** + * Name of this targeting template. This field is required. It must be less + * than 256 characters long and unique within an advertiser. + */ + name?: string; + /** + * Subaccount ID of this targeting template. This field, if left unset, will + * be auto-generated on insert and is read-only after insert. + */ + subaccountId?: string; + /** + * Technology platform targeting criteria. + */ + technologyTargeting?: Schema$TechnologyTargeting; + } + /** + * Targeting Template List Response + */ + interface Schema$TargetingTemplatesListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#targetingTemplatesListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + /** + * Targeting template collection. + */ + targetingTemplates?: Schema$TargetingTemplate[]; + } + /** + * Target Window. + */ + interface Schema$TargetWindow { + /** + * User-entered value. + */ + customHtml?: string; + /** + * Type of browser window for which the backup image of the flash creative + * can be displayed. + */ + targetWindowOption?: string; + } + /** + * Technology Targeting. + */ + interface Schema$TechnologyTargeting { + /** + * Browsers that this ad targets. For each browser either set + * browserVersionId or dartId along with the version numbers. If both are + * specified, only browserVersionId will be used. The other fields are + * populated automatically when the ad is inserted or updated. + */ + browsers?: Schema$Browser[]; + /** + * Connection types that this ad targets. For each connection type only id + * is required. The other fields are populated automatically when the ad is + * inserted or updated. + */ + connectionTypes?: Schema$ConnectionType[]; + /** + * Mobile carriers that this ad targets. For each mobile carrier only id is + * required, and the other fields are populated automatically when the ad is + * inserted or updated. If targeting a mobile carrier, do not set targeting + * for any zip codes. + */ + mobileCarriers?: Schema$MobileCarrier[]; + /** + * Operating systems that this ad targets. To target specific versions, use + * operatingSystemVersions. For each operating system only dartId is + * required. The other fields are populated automatically when the ad is + * inserted or updated. If targeting an operating system, do not set + * targeting for operating system versions for the same operating system. + */ + operatingSystems?: Schema$OperatingSystem[]; + /** + * Operating system versions that this ad targets. To target all versions, + * use operatingSystems. For each operating system version, only id is + * required. The other fields are populated automatically when the ad is + * inserted or updated. If targeting an operating system version, do not set + * targeting for the corresponding operating system in operatingSystems. + */ + operatingSystemVersions?: Schema$OperatingSystemVersion[]; + /** + * Platform types that this ad targets. For example, desktop, mobile, or + * tablet. For each platform type, only id is required, and the other fields + * are populated automatically when the ad is inserted or updated. + */ + platformTypes?: Schema$PlatformType[]; + } + /** + * Third Party Authentication Token + */ + interface Schema$ThirdPartyAuthenticationToken { + /** + * Name of the third-party authentication token. + */ + name?: string; + /** + * Value of the third-party authentication token. This is a read-only, + * auto-generated field. + */ + value?: string; + } + /** + * Third-party Tracking URL. + */ + interface Schema$ThirdPartyTrackingUrl { + /** + * Third-party URL type for in-stream video and in-stream audio creatives. + */ + thirdPartyUrlType?: string; + /** + * URL for the specified third-party URL type. + */ + url?: string; + } + /** + * Transcode Settings + */ + interface Schema$TranscodeSetting { + /** + * Whitelist of video formats to be served to this placement. Set this list + * to null or empty to serve all video formats. + */ + enabledVideoFormats?: number[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#transcodeSetting". + */ + kind?: string; + } + /** + * A Universal Ad ID as per the VAST 4.0 spec. Applicable to the following + * creative types: INSTREAM_AUDIO, INSTREAM_VIDEO and VPAID. + */ + interface Schema$UniversalAdId { + /** + * Registry used for the Ad ID value. + */ + registry?: string; + /** + * ID value for this creative. Only alphanumeric characters and the + * following symbols are valid: "_/\-". Maximum length is 64 + * characters. Read only when registry is DCM. + */ + value?: string; + } + /** + * User Defined Variable configuration. + */ + interface Schema$UserDefinedVariableConfiguration { + /** + * Data type for the variable. This is a required field. + */ + dataType?: string; + /** + * User-friendly name for the variable which will appear in reports. This is + * a required field, must be less than 64 characters long, and cannot + * contain the following characters: ""<>". + */ + reportName?: string; + /** + * Variable name in the tag. This is a required field. + */ + variableType?: string; + } + /** + * Represents a UserProfile resource. + */ + interface Schema$UserProfile { + /** + * The account ID to which this profile belongs. + */ + accountId?: string; + /** + * The account name this profile belongs to. + */ + accountName?: string; + /** + * The eTag of this response for caching purposes. + */ + etag?: string; + /** + * The kind of resource this is, in this case dfareporting#userProfile. + */ + kind?: string; + /** + * The unique ID of the user profile. + */ + profileId?: string; + /** + * The sub account ID this profile belongs to if applicable. + */ + subAccountId?: string; + /** + * The sub account name this profile belongs to if applicable. + */ + subAccountName?: string; + /** + * The user name. + */ + userName?: string; + } + /** + * Represents the list of user profiles. + */ + interface Schema$UserProfileList { + /** + * The eTag of this response for caching purposes. + */ + etag?: string; + /** + * The user profiles returned in this response. + */ + items?: Schema$UserProfile[]; + /** + * The kind of list this is, in this case dfareporting#userProfileList. + */ + kind?: string; + } + /** + * Contains properties of auser role, which is used to manage user access. + */ + interface Schema$UserRole { + /** + * Account ID of this user role. This is a read-only field that can be left + * blank. + */ + accountId?: string; + /** + * Whether this is a default user role. Default user roles are created by + * the system for the account/subaccount and cannot be modified or deleted. + * Each default user role comes with a basic set of preassigned permissions. + */ + defaultUserRole?: boolean; + /** + * ID of this user role. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#userRole". + */ + kind?: string; + /** + * Name of this user role. This is a required field. Must be less than 256 + * characters long. If this user role is under a subaccount, the name must + * be unique among sites of the same subaccount. Otherwise, this user role + * is a top-level user role, and the name must be unique among top-level + * user roles of the same account. + */ + name?: string; + /** + * ID of the user role that this user role is based on or copied from. This + * is a required field. + */ + parentUserRoleId?: string; + /** + * List of permissions associated with this user role. + */ + permissions?: Schema$UserRolePermission[]; + /** + * Subaccount ID of this user role. This is a read-only field that can be + * left blank. + */ + subaccountId?: string; + } + /** + * Contains properties of a user role permission. + */ + interface Schema$UserRolePermission { + /** + * Levels of availability for a user role permission. + */ + availability?: string; + /** + * ID of this user role permission. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#userRolePermission". + */ + kind?: string; + /** + * Name of this user role permission. + */ + name?: string; + /** + * ID of the permission group that this user role permission belongs to. + */ + permissionGroupId?: string; + } + /** + * Represents a grouping of related user role permissions. + */ + interface Schema$UserRolePermissionGroup { + /** + * ID of this user role permission. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#userRolePermissionGroup". + */ + kind?: string; + /** + * Name of this user role permission group. + */ + name?: string; + } + /** + * User Role Permission Group List Response + */ + interface Schema$UserRolePermissionGroupsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#userRolePermissionGroupsListResponse". + */ + kind?: string; + /** + * User role permission group collection. + */ + userRolePermissionGroups?: Schema$UserRolePermissionGroup[]; + } + /** + * User Role Permission List Response + */ + interface Schema$UserRolePermissionsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#userRolePermissionsListResponse". + */ + kind?: string; + /** + * User role permission collection. + */ + userRolePermissions?: Schema$UserRolePermission[]; + } + /** + * User Role List Response + */ + interface Schema$UserRolesListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#userRolesListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + /** + * User role collection. + */ + userRoles?: Schema$UserRole[]; + } + /** + * Contains information about supported video formats. + */ + interface Schema$VideoFormat { + /** + * File type of the video format. + */ + fileType?: string; + /** + * ID of the video format. + */ + id?: number; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#videoFormat". + */ + kind?: string; + /** + * The resolution of this video format. + */ + resolution?: Schema$Size; + /** + * The target bit rate of this video format. + */ + targetBitRate?: number; + } + /** + * Video Format List Response + */ + interface Schema$VideoFormatsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#videoFormatsListResponse". + */ + kind?: string; + /** + * Video format collection. + */ + videoFormats?: Schema$VideoFormat[]; + } + /** + * Video Offset + */ + interface Schema$VideoOffset { + /** + * Duration, as a percentage of video duration. Do not set when + * offsetSeconds is set. Acceptable values are 0 to 100, inclusive. + */ + offsetPercentage?: number; + /** + * Duration, in seconds. Do not set when offsetPercentage is set. Acceptable + * values are 0 to 86399, inclusive. + */ + offsetSeconds?: number; + } + /** + * Video Settings + */ + interface Schema$VideoSettings { + /** + * Settings for the companion creatives of video creatives served to this + * placement. + */ + companionSettings?: Schema$CompanionSetting; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#videoSettings". + */ + kind?: string; + /** + * Orientation of a video placement. If this value is set, placement will + * return assets matching the specified orientation. + */ + orientation?: string; + /** + * Settings for the skippability of video creatives served to this + * placement. If this object is provided, the creative-level skippable + * settings will be overridden. + */ + skippableSettings?: Schema$SkippableSetting; + /** + * Settings for the transcodes of video creatives served to this placement. + * If this object is provided, the creative-level transcode settings will be + * overridden. + */ + transcodeSettings?: Schema$TranscodeSetting; + } + class Resource$Accountactiveadsummaries { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.accountActiveAdSummaries.get + * @desc Gets the account's active ad summary by account ID. + * @alias dfareporting.accountActiveAdSummaries.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {string} params.summaryAccountId Account ID. + * @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?: Params$Resource$Accountactiveadsummaries$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accountactiveadsummaries$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accountactiveadsummaries$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accountactiveadsummaries$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Account ID. + */ + summaryAccountId?: string; + } + class Resource$Accountpermissiongroups { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.accountPermissionGroups.get + * @desc Gets one account permission group by ID. + * @alias dfareporting.accountPermissionGroups.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Account permission group ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Accountpermissiongroups$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accountpermissiongroups$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accountpermissiongroups$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.accountPermissionGroups.list + * @desc Retrieves the list of account permission groups. + * @alias dfareporting.accountPermissionGroups.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Accountpermissiongroups$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accountpermissiongroups$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accountpermissiongroups$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accountpermissiongroups$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account permission group ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Accountpermissiongroups$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Accountpermissions { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.accountPermissions.get + * @desc Gets one account permission by ID. + * @alias dfareporting.accountPermissions.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Account permission ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Accountpermissions$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accountpermissions$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accountpermissions$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.accountPermissions.list + * @desc Retrieves the list of account permissions. + * @alias dfareporting.accountPermissions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Accountpermissions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accountpermissions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accountpermissions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accountpermissions$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account permission ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Accountpermissions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Accounts { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.accounts.get + * @desc Gets one account by ID. + * @alias dfareporting.accounts.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Account ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Accounts$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accounts$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accounts$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.accounts.list + * @desc Retrieves the list of accounts, possibly filtered. This method + * supports paging. + * @alias dfareporting.accounts.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.active Select only active accounts. Don't set this field to select both active and non-active accounts. + * @param {string=} params.ids Select only accounts with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "account*2015" will return objects with names like "account June 2015", "account April 2015", or simply "account 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "account" will match objects with name "my account", "account 2015", or simply "account". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Accounts$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accounts$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accounts$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.accounts.patch + * @desc Updates an existing account. This method supports patch semantics. + * @alias dfareporting.accounts.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Account ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Account} 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 + */ + patch(params?: Params$Resource$Accounts$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Accounts$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Accounts$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.accounts.update + * @desc Updates an existing account. + * @alias dfareporting.accounts.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Account} 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?: Params$Resource$Accounts$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Accounts$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Accounts$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Accounts$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only active accounts. Don't set this field to select both active + * and non-active accounts. + */ + active?: boolean; + /** + * Select only accounts with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "account*2015" will return objects with names like "account + * June 2015", "account April 2015", or simply "account 2015". Most of the + * searches also add wildcards implicitly at the start and the end of the + * search string. For example, a search string of "account" will match + * objects with name "my account", "account 2015", or simply "account". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + interface Params$Resource$Accounts$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Account; + } + interface Params$Resource$Accounts$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Account; + } + class Resource$Accountuserprofiles { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.accountUserProfiles.get + * @desc Gets one account user profile by ID. + * @alias dfareporting.accountUserProfiles.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id User profile ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Accountuserprofiles$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accountuserprofiles$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accountuserprofiles$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.accountUserProfiles.insert + * @desc Inserts a new account user profile. + * @alias dfareporting.accountUserProfiles.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().AccountUserProfile} 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?: Params$Resource$Accountuserprofiles$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Accountuserprofiles$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Accountuserprofiles$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.accountUserProfiles.list + * @desc Retrieves a list of account user profiles, possibly filtered. This + * method supports paging. + * @alias dfareporting.accountUserProfiles.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.active Select only active user profiles. + * @param {string=} params.ids Select only user profiles with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name, ID or email. Wildcards (*) are allowed. For example, "user profile*2015" will return objects with names like "user profile June 2015", "user profile April 2015", or simply "user profile 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "user profile" will match objects with name "my user profile", "user profile 2015", or simply "user profile". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @param {string=} params.subaccountId Select only user profiles with the specified subaccount ID. + * @param {string=} params.userRoleId Select only user profiles with the specified user role ID. + * @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?: Params$Resource$Accountuserprofiles$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accountuserprofiles$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accountuserprofiles$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.accountUserProfiles.patch + * @desc Updates an existing account user profile. This method supports + * patch semantics. + * @alias dfareporting.accountUserProfiles.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id User profile ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().AccountUserProfile} 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 + */ + patch(params?: Params$Resource$Accountuserprofiles$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Accountuserprofiles$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Accountuserprofiles$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.accountUserProfiles.update + * @desc Updates an existing account user profile. + * @alias dfareporting.accountUserProfiles.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().AccountUserProfile} 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?: Params$Resource$Accountuserprofiles$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Accountuserprofiles$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Accountuserprofiles$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accountuserprofiles$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Accountuserprofiles$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AccountUserProfile; + } + interface Params$Resource$Accountuserprofiles$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only active user profiles. + */ + active?: boolean; + /** + * Select only user profiles with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name, ID or email. Wildcards (*) are + * allowed. For example, "user profile*2015" will return objects with names + * like "user profile June 2015", "user profile April 2015", or simply "user + * profile 2015". Most of the searches also add wildcards implicitly at the + * start and the end of the search string. For example, a search string of + * "user profile" will match objects with name "my user profile", "user + * profile 2015", or simply "user profile". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + /** + * Select only user profiles with the specified subaccount ID. + */ + subaccountId?: string; + /** + * Select only user profiles with the specified user role ID. + */ + userRoleId?: string; + } + interface Params$Resource$Accountuserprofiles$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AccountUserProfile; + } + interface Params$Resource$Accountuserprofiles$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AccountUserProfile; + } + class Resource$Ads { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.ads.get + * @desc Gets one ad by ID. + * @alias dfareporting.ads.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Ad ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Ads$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Ads$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Ads$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.ads.insert + * @desc Inserts a new ad. + * @alias dfareporting.ads.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Ad} 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?: Params$Resource$Ads$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Ads$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Ads$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.ads.list + * @desc Retrieves a list of ads, possibly filtered. This method supports + * paging. + * @alias dfareporting.ads.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.active Select only active ads. + * @param {string=} params.advertiserId Select only ads with this advertiser ID. + * @param {boolean=} params.archived Select only archived ads. + * @param {string=} params.audienceSegmentIds Select only ads with these audience segment IDs. + * @param {string=} params.campaignIds Select only ads with these campaign IDs. + * @param {string=} params.compatibility Select default ads with the specified compatibility. Applicable when type is AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop or on mobile devices for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO refers to rendering an in-stream video ads developed with the VAST standard. + * @param {string=} params.creativeIds Select only ads with these creative IDs assigned. + * @param {string=} params.creativeOptimizationConfigurationIds Select only ads with these creative optimization configuration IDs. + * @param {boolean=} params.dynamicClickTracker Select only dynamic click trackers. Applicable when type is AD_SERVING_CLICK_TRACKER. If true, select dynamic click trackers. If false, select static click trackers. Leave unset to select both. + * @param {string=} params.ids Select only ads with these IDs. + * @param {string=} params.landingPageIds Select only ads with these landing page IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.overriddenEventTagId Select only ads with this event tag override ID. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string=} params.placementIds Select only ads with these placement IDs assigned. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.remarketingListIds Select only ads whose list targeting expression use these remarketing list IDs. + * @param {string=} params.searchString Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "ad*2015" will return objects with names like "ad June 2015", "ad April 2015", or simply "ad 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "ad" will match objects with name "my ad", "ad 2015", or simply "ad". + * @param {string=} params.sizeIds Select only ads with these size IDs. + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @param {boolean=} params.sslCompliant Select only ads that are SSL-compliant. + * @param {boolean=} params.sslRequired Select only ads that require SSL. + * @param {string=} params.type Select only ads with these types. + * @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?: Params$Resource$Ads$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Ads$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Ads$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.ads.patch + * @desc Updates an existing ad. This method supports patch semantics. + * @alias dfareporting.ads.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Ad ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Ad} 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 + */ + patch(params?: Params$Resource$Ads$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Ads$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Ads$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.ads.update + * @desc Updates an existing ad. + * @alias dfareporting.ads.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Ad} 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?: Params$Resource$Ads$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Ads$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Ads$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Ads$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Ad ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Ads$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Ad; + } + interface Params$Resource$Ads$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only active ads. + */ + active?: boolean; + /** + * Select only ads with this advertiser ID. + */ + advertiserId?: string; + /** + * Select only archived ads. + */ + archived?: boolean; + /** + * Select only ads with these audience segment IDs. + */ + audienceSegmentIds?: string; + /** + * Select only ads with these campaign IDs. + */ + campaignIds?: string; + /** + * Select default ads with the specified compatibility. Applicable when type + * is AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer to + * rendering either on desktop or on mobile devices for regular or + * interstitial ads, respectively. APP and APP_INTERSTITIAL are for + * rendering in mobile apps. IN_STREAM_VIDEO refers to rendering an + * in-stream video ads developed with the VAST standard. + */ + compatibility?: string; + /** + * Select only ads with these creative IDs assigned. + */ + creativeIds?: string; + /** + * Select only ads with these creative optimization configuration IDs. + */ + creativeOptimizationConfigurationIds?: string; + /** + * Select only dynamic click trackers. Applicable when type is + * AD_SERVING_CLICK_TRACKER. If true, select dynamic click trackers. If + * false, select static click trackers. Leave unset to select both. + */ + dynamicClickTracker?: boolean; + /** + * Select only ads with these IDs. + */ + ids?: string; + /** + * Select only ads with these landing page IDs. + */ + landingPageIds?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Select only ads with this event tag override ID. + */ + overriddenEventTagId?: string; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * Select only ads with these placement IDs assigned. + */ + placementIds?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Select only ads whose list targeting expression use these remarketing + * list IDs. + */ + remarketingListIds?: string; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "ad*2015" will return objects with names like "ad June + * 2015", "ad April 2015", or simply "ad 2015". Most of the searches also + * add wildcards implicitly at the start and the end of the search string. + * For example, a search string of "ad" will match objects with name "my + * ad", "ad 2015", or simply "ad". + */ + searchString?: string; + /** + * Select only ads with these size IDs. + */ + sizeIds?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + /** + * Select only ads that are SSL-compliant. + */ + sslCompliant?: boolean; + /** + * Select only ads that require SSL. + */ + sslRequired?: boolean; + /** + * Select only ads with these types. + */ + type?: string; + } + interface Params$Resource$Ads$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Ad ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Ad; + } + interface Params$Resource$Ads$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Ad; + } + class Resource$Advertisergroups { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.advertiserGroups.delete + * @desc Deletes an existing advertiser group. + * @alias dfareporting.advertiserGroups.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Advertiser group ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Advertisergroups$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Advertisergroups$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Advertisergroups$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dfareporting.advertiserGroups.get + * @desc Gets one advertiser group by ID. + * @alias dfareporting.advertiserGroups.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Advertiser group ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Advertisergroups$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Advertisergroups$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Advertisergroups$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.advertiserGroups.insert + * @desc Inserts a new advertiser group. + * @alias dfareporting.advertiserGroups.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().AdvertiserGroup} 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?: Params$Resource$Advertisergroups$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Advertisergroups$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Advertisergroups$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.advertiserGroups.list + * @desc Retrieves a list of advertiser groups, possibly filtered. This + * method supports paging. + * @alias dfareporting.advertiserGroups.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.ids Select only advertiser groups with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "advertiser*2015" will return objects with names like "advertiser group June 2015", "advertiser group April 2015", or simply "advertiser group 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "advertisergroup" will match objects with name "my advertisergroup", "advertisergroup 2015", or simply "advertisergroup". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Advertisergroups$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Advertisergroups$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Advertisergroups$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.advertiserGroups.patch + * @desc Updates an existing advertiser group. This method supports patch + * semantics. + * @alias dfareporting.advertiserGroups.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Advertiser group ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().AdvertiserGroup} 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 + */ + patch(params?: Params$Resource$Advertisergroups$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Advertisergroups$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Advertisergroups$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.advertiserGroups.update + * @desc Updates an existing advertiser group. + * @alias dfareporting.advertiserGroups.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().AdvertiserGroup} 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?: Params$Resource$Advertisergroups$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Advertisergroups$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Advertisergroups$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Advertisergroups$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Advertiser group ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Advertisergroups$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Advertiser group ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Advertisergroups$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AdvertiserGroup; + } + interface Params$Resource$Advertisergroups$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only advertiser groups with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "advertiser*2015" will return objects with names like + * "advertiser group June 2015", "advertiser group April 2015", or simply + * "advertiser group 2015". Most of the searches also add wildcards + * implicitly at the start and the end of the search string. For example, a + * search string of "advertisergroup" will match objects with name "my + * advertisergroup", "advertisergroup 2015", or simply "advertisergroup". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + interface Params$Resource$Advertisergroups$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Advertiser group ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AdvertiserGroup; + } + interface Params$Resource$Advertisergroups$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AdvertiserGroup; + } + class Resource$Advertiserlandingpages { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.advertiserLandingPages.get + * @desc Gets one landing page by ID. + * @alias dfareporting.advertiserLandingPages.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Landing page ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Advertiserlandingpages$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Advertiserlandingpages$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Advertiserlandingpages$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.advertiserLandingPages.insert + * @desc Inserts a new landing page. + * @alias dfareporting.advertiserLandingPages.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().LandingPage} 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?: Params$Resource$Advertiserlandingpages$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Advertiserlandingpages$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Advertiserlandingpages$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.advertiserLandingPages.list + * @desc Retrieves a list of landing pages. + * @alias dfareporting.advertiserLandingPages.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.advertiserIds Select only landing pages that belong to these advertisers. + * @param {boolean=} params.archived Select only archived landing pages. Don't set this field to select both archived and non-archived landing pages. + * @param {string=} params.ids Select only landing pages with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for landing pages by name or ID. Wildcards (*) are allowed. For example, "landingpage*2017" will return landing pages with names like "landingpage July 2017", "landingpage March 2017", or simply "landingpage 2017". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "landingpage" will match campaigns with name "my landingpage", "landingpage 2015", or simply "landingpage". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @param {string=} params.subaccountId Select only landing pages that belong to this subaccount. + * @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?: Params$Resource$Advertiserlandingpages$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Advertiserlandingpages$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Advertiserlandingpages$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.advertiserLandingPages.patch + * @desc Updates an existing landing page. This method supports patch + * semantics. + * @alias dfareporting.advertiserLandingPages.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Landing page ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().LandingPage} 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 + */ + patch(params?: Params$Resource$Advertiserlandingpages$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Advertiserlandingpages$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Advertiserlandingpages$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.advertiserLandingPages.update + * @desc Updates an existing landing page. + * @alias dfareporting.advertiserLandingPages.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().LandingPage} 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?: Params$Resource$Advertiserlandingpages$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Advertiserlandingpages$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Advertiserlandingpages$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Advertiserlandingpages$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Landing page ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Advertiserlandingpages$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$LandingPage; + } + interface Params$Resource$Advertiserlandingpages$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only landing pages that belong to these advertisers. + */ + advertiserIds?: string; + /** + * Select only archived landing pages. Don't set this field to select both + * archived and non-archived landing pages. + */ + archived?: boolean; + /** + * Select only landing pages with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for landing pages by name or ID. Wildcards (*) are + * allowed. For example, "landingpage*2017" will return landing pages with + * names like "landingpage July 2017", "landingpage March 2017", or simply + * "landingpage 2017". Most of the searches also add wildcards implicitly at + * the start and the end of the search string. For example, a search string + * of "landingpage" will match campaigns with name "my landingpage", + * "landingpage 2015", or simply "landingpage". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + /** + * Select only landing pages that belong to this subaccount. + */ + subaccountId?: string; + } + interface Params$Resource$Advertiserlandingpages$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Landing page ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$LandingPage; + } + interface Params$Resource$Advertiserlandingpages$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$LandingPage; + } + class Resource$Advertisers { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.advertisers.get + * @desc Gets one advertiser by ID. + * @alias dfareporting.advertisers.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Advertiser ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Advertisers$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Advertisers$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Advertisers$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.advertisers.insert + * @desc Inserts a new advertiser. + * @alias dfareporting.advertisers.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Advertiser} 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?: Params$Resource$Advertisers$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Advertisers$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Advertisers$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.advertisers.list + * @desc Retrieves a list of advertisers, possibly filtered. This method + * supports paging. + * @alias dfareporting.advertisers.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.advertiserGroupIds Select only advertisers with these advertiser group IDs. + * @param {string=} params.floodlightConfigurationIds Select only advertisers with these floodlight configuration IDs. + * @param {string=} params.ids Select only advertisers with these IDs. + * @param {boolean=} params.includeAdvertisersWithoutGroupsOnly Select only advertisers which do not belong to any advertiser group. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {boolean=} params.onlyParent Select only advertisers which use another advertiser's floodlight configuration. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "advertiser*2015" will return objects with names like "advertiser June 2015", "advertiser April 2015", or simply "advertiser 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "advertiser" will match objects with name "my advertiser", "advertiser 2015", or simply "advertiser". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @param {string=} params.status Select only advertisers with the specified status. + * @param {string=} params.subaccountId Select only advertisers with these subaccount IDs. + * @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?: Params$Resource$Advertisers$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Advertisers$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Advertisers$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.advertisers.patch + * @desc Updates an existing advertiser. This method supports patch + * semantics. + * @alias dfareporting.advertisers.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Advertiser ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Advertiser} 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 + */ + patch(params?: Params$Resource$Advertisers$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Advertisers$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Advertisers$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.advertisers.update + * @desc Updates an existing advertiser. + * @alias dfareporting.advertisers.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Advertiser} 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?: Params$Resource$Advertisers$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Advertisers$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Advertisers$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Advertisers$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Advertiser ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Advertisers$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Advertiser; + } + interface Params$Resource$Advertisers$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only advertisers with these advertiser group IDs. + */ + advertiserGroupIds?: string; + /** + * Select only advertisers with these floodlight configuration IDs. + */ + floodlightConfigurationIds?: string; + /** + * Select only advertisers with these IDs. + */ + ids?: string; + /** + * Select only advertisers which do not belong to any advertiser group. + */ + includeAdvertisersWithoutGroupsOnly?: boolean; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Select only advertisers which use another advertiser's floodlight + * configuration. + */ + onlyParent?: boolean; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "advertiser*2015" will return objects with names like + * "advertiser June 2015", "advertiser April 2015", or simply "advertiser + * 2015". Most of the searches also add wildcards implicitly at the start + * and the end of the search string. For example, a search string of + * "advertiser" will match objects with name "my advertiser", "advertiser + * 2015", or simply "advertiser". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + /** + * Select only advertisers with the specified status. + */ + status?: string; + /** + * Select only advertisers with these subaccount IDs. + */ + subaccountId?: string; + } + interface Params$Resource$Advertisers$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Advertiser ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Advertiser; + } + interface Params$Resource$Advertisers$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Advertiser; + } + class Resource$Browsers { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.browsers.list + * @desc Retrieves a list of browsers. + * @alias dfareporting.browsers.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Browsers$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Browsers$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Browsers$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Browsers$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Campaigncreativeassociations { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.campaignCreativeAssociations.insert + * @desc Associates a creative with the specified campaign. This method + * creates a default ad with dimensions matching the creative in the + * campaign if such a default ad does not exist already. + * @alias dfareporting.campaignCreativeAssociations.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.campaignId Campaign ID in this association. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().CampaignCreativeAssociation} 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?: Params$Resource$Campaigncreativeassociations$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Campaigncreativeassociations$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Campaigncreativeassociations$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.campaignCreativeAssociations.list + * @desc Retrieves the list of creative IDs associated with the specified + * campaign. This method supports paging. + * @alias dfareporting.campaignCreativeAssociations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.campaignId Campaign ID in this association. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Campaigncreativeassociations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Campaigncreativeassociations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Campaigncreativeassociations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Campaigncreativeassociations$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Campaign ID in this association. + */ + campaignId?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CampaignCreativeAssociation; + } + interface Params$Resource$Campaigncreativeassociations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Campaign ID in this association. + */ + campaignId?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + class Resource$Campaigns { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.campaigns.get + * @desc Gets one campaign by ID. + * @alias dfareporting.campaigns.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Campaign ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Campaigns$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Campaigns$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Campaigns$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.campaigns.insert + * @desc Inserts a new campaign. + * @alias dfareporting.campaigns.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Campaign} 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?: Params$Resource$Campaigns$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Campaigns$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Campaigns$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.campaigns.list + * @desc Retrieves a list of campaigns, possibly filtered. This method + * supports paging. + * @alias dfareporting.campaigns.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.advertiserGroupIds Select only campaigns whose advertisers belong to these advertiser groups. + * @param {string=} params.advertiserIds Select only campaigns that belong to these advertisers. + * @param {boolean=} params.archived Select only archived campaigns. Don't set this field to select both archived and non-archived campaigns. + * @param {boolean=} params.atLeastOneOptimizationActivity Select only campaigns that have at least one optimization activity. + * @param {string=} params.excludedIds Exclude campaigns with these IDs. + * @param {string=} params.ids Select only campaigns with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.overriddenEventTagId Select only campaigns that have overridden this event tag ID. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for campaigns by name or ID. Wildcards (*) are allowed. For example, "campaign*2015" will return campaigns with names like "campaign June 2015", "campaign April 2015", or simply "campaign 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "campaign" will match campaigns with name "my campaign", "campaign 2015", or simply "campaign". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @param {string=} params.subaccountId Select only campaigns that belong to this subaccount. + * @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?: Params$Resource$Campaigns$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Campaigns$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Campaigns$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.campaigns.patch + * @desc Updates an existing campaign. This method supports patch semantics. + * @alias dfareporting.campaigns.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Campaign ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Campaign} 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 + */ + patch(params?: Params$Resource$Campaigns$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Campaigns$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Campaigns$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.campaigns.update + * @desc Updates an existing campaign. + * @alias dfareporting.campaigns.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Campaign} 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?: Params$Resource$Campaigns$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Campaigns$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Campaigns$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Campaigns$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Campaign ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Campaigns$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Campaign; + } + interface Params$Resource$Campaigns$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only campaigns whose advertisers belong to these advertiser + * groups. + */ + advertiserGroupIds?: string; + /** + * Select only campaigns that belong to these advertisers. + */ + advertiserIds?: string; + /** + * Select only archived campaigns. Don't set this field to select both + * archived and non-archived campaigns. + */ + archived?: boolean; + /** + * Select only campaigns that have at least one optimization activity. + */ + atLeastOneOptimizationActivity?: boolean; + /** + * Exclude campaigns with these IDs. + */ + excludedIds?: string; + /** + * Select only campaigns with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Select only campaigns that have overridden this event tag ID. + */ + overriddenEventTagId?: string; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for campaigns by name or ID. Wildcards (*) are allowed. + * For example, "campaign*2015" will return campaigns with names like + * "campaign June 2015", "campaign April 2015", or simply "campaign 2015". + * Most of the searches also add wildcards implicitly at the start and the + * end of the search string. For example, a search string of "campaign" will + * match campaigns with name "my campaign", "campaign 2015", or simply + * "campaign". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + /** + * Select only campaigns that belong to this subaccount. + */ + subaccountId?: string; + } + interface Params$Resource$Campaigns$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Campaign ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Campaign; + } + interface Params$Resource$Campaigns$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Campaign; + } + class Resource$Changelogs { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.changeLogs.get + * @desc Gets one change log by ID. + * @alias dfareporting.changeLogs.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Change log ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Changelogs$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Changelogs$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Changelogs$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.changeLogs.list + * @desc Retrieves a list of change logs. This method supports paging. + * @alias dfareporting.changeLogs.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.action Select only change logs with the specified action. + * @param {string=} params.ids Select only change logs with these IDs. + * @param {string=} params.maxChangeTime Select only change logs whose change time is before the specified maxChangeTime.The time should be formatted as an RFC3339 date/time string. For example, for 10:54 PM on July 18th, 2015, in the America/New York time zone, the format is "2015-07-18T22:54:00-04:00". In other words, the year, month, day, the letter T, the hour (24-hour clock system), minute, second, and then the time zone offset. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.minChangeTime Select only change logs whose change time is before the specified minChangeTime.The time should be formatted as an RFC3339 date/time string. For example, for 10:54 PM on July 18th, 2015, in the America/New York time zone, the format is "2015-07-18T22:54:00-04:00". In other words, the year, month, day, the letter T, the hour (24-hour clock system), minute, second, and then the time zone offset. + * @param {string=} params.objectIds Select only change logs with these object IDs. + * @param {string=} params.objectType Select only change logs with the specified object type. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Select only change logs whose object ID, user name, old or new values match the search string. + * @param {string=} params.userProfileIds Select only change logs with these user profile IDs. + * @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?: Params$Resource$Changelogs$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Changelogs$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Changelogs$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Changelogs$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Change log ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Changelogs$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only change logs with the specified action. + */ + action?: string; + /** + * Select only change logs with these IDs. + */ + ids?: string; + /** + * Select only change logs whose change time is before the specified + * maxChangeTime.The time should be formatted as an RFC3339 date/time + * string. For example, for 10:54 PM on July 18th, 2015, in the America/New + * York time zone, the format is "2015-07-18T22:54:00-04:00". In other + * words, the year, month, day, the letter T, the hour (24-hour clock + * system), minute, second, and then the time zone offset. + */ + maxChangeTime?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Select only change logs whose change time is before the specified + * minChangeTime.The time should be formatted as an RFC3339 date/time + * string. For example, for 10:54 PM on July 18th, 2015, in the America/New + * York time zone, the format is "2015-07-18T22:54:00-04:00". In other + * words, the year, month, day, the letter T, the hour (24-hour clock + * system), minute, second, and then the time zone offset. + */ + minChangeTime?: string; + /** + * Select only change logs with these object IDs. + */ + objectIds?: string; + /** + * Select only change logs with the specified object type. + */ + objectType?: string; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Select only change logs whose object ID, user name, old or new values + * match the search string. + */ + searchString?: string; + /** + * Select only change logs with these user profile IDs. + */ + userProfileIds?: string; + } + class Resource$Cities { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.cities.list + * @desc Retrieves a list of cities, possibly filtered. + * @alias dfareporting.cities.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.countryDartIds Select only cities from these countries. + * @param {string=} params.dartIds Select only cities with these DART IDs. + * @param {string=} params.namePrefix Select only cities with names starting with this prefix. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.regionDartIds Select only cities from these regions. + * @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?: Params$Resource$Cities$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Cities$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Cities$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Cities$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only cities from these countries. + */ + countryDartIds?: string; + /** + * Select only cities with these DART IDs. + */ + dartIds?: string; + /** + * Select only cities with names starting with this prefix. + */ + namePrefix?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Select only cities from these regions. + */ + regionDartIds?: string; + } + class Resource$Connectiontypes { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.connectionTypes.get + * @desc Gets one connection type by ID. + * @alias dfareporting.connectionTypes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Connection type ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Connectiontypes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Connectiontypes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Connectiontypes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.connectionTypes.list + * @desc Retrieves a list of connection types. + * @alias dfareporting.connectionTypes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Connectiontypes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Connectiontypes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Connectiontypes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Connectiontypes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Connection type ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Connectiontypes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Contentcategories { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.contentCategories.delete + * @desc Deletes an existing content category. + * @alias dfareporting.contentCategories.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Content category ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Contentcategories$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Contentcategories$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Contentcategories$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dfareporting.contentCategories.get + * @desc Gets one content category by ID. + * @alias dfareporting.contentCategories.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Content category ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Contentcategories$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Contentcategories$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Contentcategories$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.contentCategories.insert + * @desc Inserts a new content category. + * @alias dfareporting.contentCategories.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().ContentCategory} 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?: Params$Resource$Contentcategories$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Contentcategories$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Contentcategories$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.contentCategories.list + * @desc Retrieves a list of content categories, possibly filtered. This + * method supports paging. + * @alias dfareporting.contentCategories.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.ids Select only content categories with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "contentcategory*2015" will return objects with names like "contentcategory June 2015", "contentcategory April 2015", or simply "contentcategory 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "contentcategory" will match objects with name "my contentcategory", "contentcategory 2015", or simply "contentcategory". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Contentcategories$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Contentcategories$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Contentcategories$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.contentCategories.patch + * @desc Updates an existing content category. This method supports patch + * semantics. + * @alias dfareporting.contentCategories.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Content category ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().ContentCategory} 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 + */ + patch(params?: Params$Resource$Contentcategories$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Contentcategories$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Contentcategories$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.contentCategories.update + * @desc Updates an existing content category. + * @alias dfareporting.contentCategories.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().ContentCategory} 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?: Params$Resource$Contentcategories$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Contentcategories$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Contentcategories$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Contentcategories$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Content category ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Contentcategories$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Content category ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Contentcategories$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ContentCategory; + } + interface Params$Resource$Contentcategories$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only content categories with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "contentcategory*2015" will return objects with names like + * "contentcategory June 2015", "contentcategory April 2015", or simply + * "contentcategory 2015". Most of the searches also add wildcards + * implicitly at the start and the end of the search string. For example, a + * search string of "contentcategory" will match objects with name "my + * contentcategory", "contentcategory 2015", or simply "contentcategory". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + interface Params$Resource$Contentcategories$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Content category ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ContentCategory; + } + interface Params$Resource$Contentcategories$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ContentCategory; + } + class Resource$Conversions { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.conversions.batchinsert + * @desc Inserts conversions. + * @alias dfareporting.conversions.batchinsert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().ConversionsBatchInsertRequest} 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 + */ + batchinsert(params?: Params$Resource$Conversions$Batchinsert, options?: MethodOptions): AxiosPromise; + batchinsert(params: Params$Resource$Conversions$Batchinsert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + batchinsert(params: Params$Resource$Conversions$Batchinsert, callback: BodyResponseCallback): void; + batchinsert(callback: BodyResponseCallback): void; + /** + * dfareporting.conversions.batchupdate + * @desc Updates existing conversions. + * @alias dfareporting.conversions.batchupdate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().ConversionsBatchUpdateRequest} 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 + */ + batchupdate(params?: Params$Resource$Conversions$Batchupdate, options?: MethodOptions): AxiosPromise; + batchupdate(params: Params$Resource$Conversions$Batchupdate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + batchupdate(params: Params$Resource$Conversions$Batchupdate, callback: BodyResponseCallback): void; + batchupdate(callback: BodyResponseCallback): void; + } + interface Params$Resource$Conversions$Batchinsert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ConversionsBatchInsertRequest; + } + interface Params$Resource$Conversions$Batchupdate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ConversionsBatchUpdateRequest; + } + class Resource$Countries { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.countries.get + * @desc Gets one country by ID. + * @alias dfareporting.countries.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.dartId Country DART ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Countries$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Countries$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Countries$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.countries.list + * @desc Retrieves a list of countries. + * @alias dfareporting.countries.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Countries$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Countries$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Countries$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Countries$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Country DART ID. + */ + dartId?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Countries$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Creativeassets { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.creativeAssets.insert + * @desc Inserts a new creative asset. + * @alias dfareporting.creativeAssets.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.advertiserId Advertiser ID of this creative. This is a required field. + * @param {string} params.profileId User profile ID associated with this request. + * @param {object} params.resource Media resource metadata + * @param {object} params.media Media object + * @param {string} params.media.mimeType Media mime-type + * @param {string|object} params.media.body Media body contents + * @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?: Params$Resource$Creativeassets$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Creativeassets$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Creativeassets$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + } + interface Params$Resource$Creativeassets$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Advertiser ID of this creative. This is a required field. + */ + advertiserId?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreativeAssetMetadata; + /** + * Media metadata + */ + media?: { + /** + * Media mime-type + */ + mediaType?: string; + /** + * Media body contents + */ + body?: any; + }; + } + class Resource$Creativefields { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.creativeFields.delete + * @desc Deletes an existing creative field. + * @alias dfareporting.creativeFields.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Creative Field ID + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Creativefields$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Creativefields$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Creativefields$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dfareporting.creativeFields.get + * @desc Gets one creative field by ID. + * @alias dfareporting.creativeFields.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Creative Field ID + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Creativefields$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Creativefields$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Creativefields$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.creativeFields.insert + * @desc Inserts a new creative field. + * @alias dfareporting.creativeFields.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().CreativeField} 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?: Params$Resource$Creativefields$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Creativefields$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Creativefields$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.creativeFields.list + * @desc Retrieves a list of creative fields, possibly filtered. This method + * supports paging. + * @alias dfareporting.creativeFields.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.advertiserIds Select only creative fields that belong to these advertisers. + * @param {string=} params.ids Select only creative fields with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for creative fields by name or ID. Wildcards (*) are allowed. For example, "creativefield*2015" will return creative fields with names like "creativefield June 2015", "creativefield April 2015", or simply "creativefield 2015". Most of the searches also add wild-cards implicitly at the start and the end of the search string. For example, a search string of "creativefield" will match creative fields with the name "my creativefield", "creativefield 2015", or simply "creativefield". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Creativefields$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Creativefields$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Creativefields$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.creativeFields.patch + * @desc Updates an existing creative field. This method supports patch + * semantics. + * @alias dfareporting.creativeFields.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Creative Field ID + * @param {string} params.profileId User profile ID associated with this request. + * @param {().CreativeField} 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 + */ + patch(params?: Params$Resource$Creativefields$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Creativefields$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Creativefields$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.creativeFields.update + * @desc Updates an existing creative field. + * @alias dfareporting.creativeFields.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().CreativeField} 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?: Params$Resource$Creativefields$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Creativefields$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Creativefields$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Creativefields$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Creative Field ID + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Creativefields$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Creative Field ID + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Creativefields$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreativeField; + } + interface Params$Resource$Creativefields$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only creative fields that belong to these advertisers. + */ + advertiserIds?: string; + /** + * Select only creative fields with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for creative fields by name or ID. Wildcards (*) are + * allowed. For example, "creativefield*2015" will return creative fields + * with names like "creativefield June 2015", "creativefield April 2015", or + * simply "creativefield 2015". Most of the searches also add wild-cards + * implicitly at the start and the end of the search string. For example, a + * search string of "creativefield" will match creative fields with the name + * "my creativefield", "creativefield 2015", or simply "creativefield". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + interface Params$Resource$Creativefields$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Creative Field ID + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreativeField; + } + interface Params$Resource$Creativefields$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreativeField; + } + class Resource$Creativefieldvalues { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.creativeFieldValues.delete + * @desc Deletes an existing creative field value. + * @alias dfareporting.creativeFieldValues.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.creativeFieldId Creative field ID for this creative field value. + * @param {string} params.id Creative Field Value ID + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Creativefieldvalues$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Creativefieldvalues$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Creativefieldvalues$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dfareporting.creativeFieldValues.get + * @desc Gets one creative field value by ID. + * @alias dfareporting.creativeFieldValues.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.creativeFieldId Creative field ID for this creative field value. + * @param {string} params.id Creative Field Value ID + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Creativefieldvalues$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Creativefieldvalues$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Creativefieldvalues$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.creativeFieldValues.insert + * @desc Inserts a new creative field value. + * @alias dfareporting.creativeFieldValues.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.creativeFieldId Creative field ID for this creative field value. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().CreativeFieldValue} 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?: Params$Resource$Creativefieldvalues$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Creativefieldvalues$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Creativefieldvalues$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.creativeFieldValues.list + * @desc Retrieves a list of creative field values, possibly filtered. This + * method supports paging. + * @alias dfareporting.creativeFieldValues.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.creativeFieldId Creative field ID for this creative field value. + * @param {string=} params.ids Select only creative field values with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for creative field values by their values. Wildcards (e.g. *) are not allowed. + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Creativefieldvalues$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Creativefieldvalues$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Creativefieldvalues$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.creativeFieldValues.patch + * @desc Updates an existing creative field value. This method supports + * patch semantics. + * @alias dfareporting.creativeFieldValues.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.creativeFieldId Creative field ID for this creative field value. + * @param {string} params.id Creative Field Value ID + * @param {string} params.profileId User profile ID associated with this request. + * @param {().CreativeFieldValue} 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 + */ + patch(params?: Params$Resource$Creativefieldvalues$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Creativefieldvalues$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Creativefieldvalues$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.creativeFieldValues.update + * @desc Updates an existing creative field value. + * @alias dfareporting.creativeFieldValues.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.creativeFieldId Creative field ID for this creative field value. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().CreativeFieldValue} 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?: Params$Resource$Creativefieldvalues$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Creativefieldvalues$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Creativefieldvalues$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Creativefieldvalues$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Creative field ID for this creative field value. + */ + creativeFieldId?: string; + /** + * Creative Field Value ID + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Creativefieldvalues$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Creative field ID for this creative field value. + */ + creativeFieldId?: string; + /** + * Creative Field Value ID + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Creativefieldvalues$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Creative field ID for this creative field value. + */ + creativeFieldId?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreativeFieldValue; + } + interface Params$Resource$Creativefieldvalues$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Creative field ID for this creative field value. + */ + creativeFieldId?: string; + /** + * Select only creative field values with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for creative field values by their values. Wildcards + * (e.g. *) are not allowed. + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + interface Params$Resource$Creativefieldvalues$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Creative field ID for this creative field value. + */ + creativeFieldId?: string; + /** + * Creative Field Value ID + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreativeFieldValue; + } + interface Params$Resource$Creativefieldvalues$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Creative field ID for this creative field value. + */ + creativeFieldId?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreativeFieldValue; + } + class Resource$Creativegroups { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.creativeGroups.get + * @desc Gets one creative group by ID. + * @alias dfareporting.creativeGroups.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Creative group ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Creativegroups$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Creativegroups$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Creativegroups$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.creativeGroups.insert + * @desc Inserts a new creative group. + * @alias dfareporting.creativeGroups.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().CreativeGroup} 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?: Params$Resource$Creativegroups$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Creativegroups$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Creativegroups$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.creativeGroups.list + * @desc Retrieves a list of creative groups, possibly filtered. This method + * supports paging. + * @alias dfareporting.creativeGroups.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.advertiserIds Select only creative groups that belong to these advertisers. + * @param {integer=} params.groupNumber Select only creative groups that belong to this subgroup. + * @param {string=} params.ids Select only creative groups with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for creative groups by name or ID. Wildcards (*) are allowed. For example, "creativegroup*2015" will return creative groups with names like "creativegroup June 2015", "creativegroup April 2015", or simply "creativegroup 2015". Most of the searches also add wild-cards implicitly at the start and the end of the search string. For example, a search string of "creativegroup" will match creative groups with the name "my creativegroup", "creativegroup 2015", or simply "creativegroup". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Creativegroups$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Creativegroups$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Creativegroups$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.creativeGroups.patch + * @desc Updates an existing creative group. This method supports patch + * semantics. + * @alias dfareporting.creativeGroups.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Creative group ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().CreativeGroup} 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 + */ + patch(params?: Params$Resource$Creativegroups$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Creativegroups$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Creativegroups$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.creativeGroups.update + * @desc Updates an existing creative group. + * @alias dfareporting.creativeGroups.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().CreativeGroup} 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?: Params$Resource$Creativegroups$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Creativegroups$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Creativegroups$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Creativegroups$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Creative group ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Creativegroups$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreativeGroup; + } + interface Params$Resource$Creativegroups$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only creative groups that belong to these advertisers. + */ + advertiserIds?: string; + /** + * Select only creative groups that belong to this subgroup. + */ + groupNumber?: number; + /** + * Select only creative groups with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for creative groups by name or ID. Wildcards (*) are + * allowed. For example, "creativegroup*2015" will return creative groups + * with names like "creativegroup June 2015", "creativegroup April 2015", or + * simply "creativegroup 2015". Most of the searches also add wild-cards + * implicitly at the start and the end of the search string. For example, a + * search string of "creativegroup" will match creative groups with the name + * "my creativegroup", "creativegroup 2015", or simply "creativegroup". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + interface Params$Resource$Creativegroups$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Creative group ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreativeGroup; + } + interface Params$Resource$Creativegroups$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreativeGroup; + } + class Resource$Creatives { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.creatives.get + * @desc Gets one creative by ID. + * @alias dfareporting.creatives.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Creative ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Creatives$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Creatives$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Creatives$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.creatives.insert + * @desc Inserts a new creative. + * @alias dfareporting.creatives.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Creative} 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?: Params$Resource$Creatives$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Creatives$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Creatives$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.creatives.list + * @desc Retrieves a list of creatives, possibly filtered. This method + * supports paging. + * @alias dfareporting.creatives.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.active Select only active creatives. Leave blank to select active and inactive creatives. + * @param {string=} params.advertiserId Select only creatives with this advertiser ID. + * @param {boolean=} params.archived Select only archived creatives. Leave blank to select archived and unarchived creatives. + * @param {string=} params.campaignId Select only creatives with this campaign ID. + * @param {string=} params.companionCreativeIds Select only in-stream video creatives with these companion IDs. + * @param {string=} params.creativeFieldIds Select only creatives with these creative field IDs. + * @param {string=} params.ids Select only creatives with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.renderingIds Select only creatives with these rendering IDs. + * @param {string=} params.searchString Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "creative*2015" will return objects with names like "creative June 2015", "creative April 2015", or simply "creative 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "creative" will match objects with name "my creative", "creative 2015", or simply "creative". + * @param {string=} params.sizeIds Select only creatives with these size IDs. + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @param {string=} params.studioCreativeId Select only creatives corresponding to this Studio creative ID. + * @param {string=} params.types Select only creatives with these creative types. + * @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?: Params$Resource$Creatives$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Creatives$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Creatives$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.creatives.patch + * @desc Updates an existing creative. This method supports patch semantics. + * @alias dfareporting.creatives.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Creative ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Creative} 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 + */ + patch(params?: Params$Resource$Creatives$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Creatives$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Creatives$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.creatives.update + * @desc Updates an existing creative. + * @alias dfareporting.creatives.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Creative} 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?: Params$Resource$Creatives$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Creatives$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Creatives$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Creatives$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Creative ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Creatives$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Creative; + } + interface Params$Resource$Creatives$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only active creatives. Leave blank to select active and inactive + * creatives. + */ + active?: boolean; + /** + * Select only creatives with this advertiser ID. + */ + advertiserId?: string; + /** + * Select only archived creatives. Leave blank to select archived and + * unarchived creatives. + */ + archived?: boolean; + /** + * Select only creatives with this campaign ID. + */ + campaignId?: string; + /** + * Select only in-stream video creatives with these companion IDs. + */ + companionCreativeIds?: string; + /** + * Select only creatives with these creative field IDs. + */ + creativeFieldIds?: string; + /** + * Select only creatives with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Select only creatives with these rendering IDs. + */ + renderingIds?: string; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "creative*2015" will return objects with names like + * "creative June 2015", "creative April 2015", or simply "creative 2015". + * Most of the searches also add wildcards implicitly at the start and the + * end of the search string. For example, a search string of "creative" will + * match objects with name "my creative", "creative 2015", or simply + * "creative". + */ + searchString?: string; + /** + * Select only creatives with these size IDs. + */ + sizeIds?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + /** + * Select only creatives corresponding to this Studio creative ID. + */ + studioCreativeId?: string; + /** + * Select only creatives with these creative types. + */ + types?: string; + } + interface Params$Resource$Creatives$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Creative ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Creative; + } + interface Params$Resource$Creatives$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Creative; + } + class Resource$Dimensionvalues { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.dimensionValues.query + * @desc Retrieves list of report dimension values for a list of filters. + * @alias dfareporting.dimensionValues.query + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken The value of the nextToken from the previous result page. + * @param {string} params.profileId The DFA user profile ID. + * @param {().DimensionValueRequest} 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 + */ + query(params?: Params$Resource$Dimensionvalues$Query, options?: MethodOptions): AxiosPromise; + query(params: Params$Resource$Dimensionvalues$Query, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + query(params: Params$Resource$Dimensionvalues$Query, callback: BodyResponseCallback): void; + query(callback: BodyResponseCallback): void; + } + interface Params$Resource$Dimensionvalues$Query { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * The value of the nextToken from the previous result page. + */ + pageToken?: string; + /** + * The DFA user profile ID. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DimensionValueRequest; + } + class Resource$Directorysitecontacts { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.directorySiteContacts.get + * @desc Gets one directory site contact by ID. + * @alias dfareporting.directorySiteContacts.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Directory site contact ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Directorysitecontacts$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Directorysitecontacts$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Directorysitecontacts$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.directorySiteContacts.list + * @desc Retrieves a list of directory site contacts, possibly filtered. + * This method supports paging. + * @alias dfareporting.directorySiteContacts.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.directorySiteIds Select only directory site contacts with these directory site IDs. This is a required field. + * @param {string=} params.ids Select only directory site contacts with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name, ID or email. Wildcards (*) are allowed. For example, "directory site contact*2015" will return objects with names like "directory site contact June 2015", "directory site contact April 2015", or simply "directory site contact 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "directory site contact" will match objects with name "my directory site contact", "directory site contact 2015", or simply "directory site contact". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Directorysitecontacts$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Directorysitecontacts$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Directorysitecontacts$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Directorysitecontacts$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Directory site contact ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Directorysitecontacts$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only directory site contacts with these directory site IDs. This + * is a required field. + */ + directorySiteIds?: string; + /** + * Select only directory site contacts with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name, ID or email. Wildcards (*) are + * allowed. For example, "directory site contact*2015" will return objects + * with names like "directory site contact June 2015", "directory site + * contact April 2015", or simply "directory site contact 2015". Most of the + * searches also add wildcards implicitly at the start and the end of the + * search string. For example, a search string of "directory site contact" + * will match objects with name "my directory site contact", "directory site + * contact 2015", or simply "directory site contact". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + class Resource$Directorysites { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.directorySites.get + * @desc Gets one directory site by ID. + * @alias dfareporting.directorySites.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Directory site ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Directorysites$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Directorysites$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Directorysites$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.directorySites.insert + * @desc Inserts a new directory site. + * @alias dfareporting.directorySites.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().DirectorySite} 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?: Params$Resource$Directorysites$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Directorysites$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Directorysites$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.directorySites.list + * @desc Retrieves a list of directory sites, possibly filtered. This method + * supports paging. + * @alias dfareporting.directorySites.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.acceptsInStreamVideoPlacements This search filter is no longer supported and will have no effect on the results returned. + * @param {boolean=} params.acceptsInterstitialPlacements This search filter is no longer supported and will have no effect on the results returned. + * @param {boolean=} params.acceptsPublisherPaidPlacements Select only directory sites that accept publisher paid placements. This field can be left blank. + * @param {boolean=} params.active Select only active directory sites. Leave blank to retrieve both active and inactive directory sites. + * @param {string=} params.countryId Select only directory sites with this country ID. + * @param {string=} params.dfpNetworkCode Select only directory sites with this Ad Manager network code. + * @param {string=} params.ids Select only directory sites with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string=} params.parentId Select only directory sites with this parent ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name, ID or URL. Wildcards (*) are allowed. For example, "directory site*2015" will return objects with names like "directory site June 2015", "directory site April 2015", or simply "directory site 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "directory site" will match objects with name "my directory site", "directory site 2015" or simply, "directory site". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Directorysites$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Directorysites$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Directorysites$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Directorysites$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Directory site ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Directorysites$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DirectorySite; + } + interface Params$Resource$Directorysites$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * This search filter is no longer supported and will have no effect on the + * results returned. + */ + acceptsInStreamVideoPlacements?: boolean; + /** + * This search filter is no longer supported and will have no effect on the + * results returned. + */ + acceptsInterstitialPlacements?: boolean; + /** + * Select only directory sites that accept publisher paid placements. This + * field can be left blank. + */ + acceptsPublisherPaidPlacements?: boolean; + /** + * Select only active directory sites. Leave blank to retrieve both active + * and inactive directory sites. + */ + active?: boolean; + /** + * Select only directory sites with this country ID. + */ + countryId?: string; + /** + * Select only directory sites with this Ad Manager network code. + */ + dfpNetworkCode?: string; + /** + * Select only directory sites with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * Select only directory sites with this parent ID. + */ + parentId?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name, ID or URL. Wildcards (*) are + * allowed. For example, "directory site*2015" will return objects with + * names like "directory site June 2015", "directory site April 2015", or + * simply "directory site 2015". Most of the searches also add wildcards + * implicitly at the start and the end of the search string. For example, a + * search string of "directory site" will match objects with name "my + * directory site", "directory site 2015" or simply, "directory site". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + class Resource$Dynamictargetingkeys { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.dynamicTargetingKeys.delete + * @desc Deletes an existing dynamic targeting key. + * @alias dfareporting.dynamicTargetingKeys.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Name of this dynamic targeting key. This is a required field. Must be less than 256 characters long and cannot contain commas. All characters are converted to lowercase. + * @param {string} params.objectId ID of the object of this dynamic targeting key. This is a required field. + * @param {string} params.objectType Type of the object of this dynamic targeting key. This is a required field. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Dynamictargetingkeys$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Dynamictargetingkeys$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Dynamictargetingkeys$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dfareporting.dynamicTargetingKeys.insert + * @desc Inserts a new dynamic targeting key. Keys must be created at the + * advertiser level before being assigned to the advertiser's ads, + * creatives, or placements. There is a maximum of 1000 keys per advertiser, + * out of which a maximum of 20 keys can be assigned per ad, creative, or + * placement. + * @alias dfareporting.dynamicTargetingKeys.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().DynamicTargetingKey} 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?: Params$Resource$Dynamictargetingkeys$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Dynamictargetingkeys$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Dynamictargetingkeys$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.dynamicTargetingKeys.list + * @desc Retrieves a list of dynamic targeting keys. + * @alias dfareporting.dynamicTargetingKeys.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.advertiserId Select only dynamic targeting keys whose object has this advertiser ID. + * @param {string=} params.names Select only dynamic targeting keys exactly matching these names. + * @param {string=} params.objectId Select only dynamic targeting keys with this object ID. + * @param {string=} params.objectType Select only dynamic targeting keys with this object type. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Dynamictargetingkeys$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Dynamictargetingkeys$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Dynamictargetingkeys$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Dynamictargetingkeys$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of this dynamic targeting key. This is a required field. Must be + * less than 256 characters long and cannot contain commas. All characters + * are converted to lowercase. + */ + name?: string; + /** + * ID of the object of this dynamic targeting key. This is a required field. + */ + objectId?: string; + /** + * Type of the object of this dynamic targeting key. This is a required + * field. + */ + objectType?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Dynamictargetingkeys$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DynamicTargetingKey; + } + interface Params$Resource$Dynamictargetingkeys$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only dynamic targeting keys whose object has this advertiser ID. + */ + advertiserId?: string; + /** + * Select only dynamic targeting keys exactly matching these names. + */ + names?: string; + /** + * Select only dynamic targeting keys with this object ID. + */ + objectId?: string; + /** + * Select only dynamic targeting keys with this object type. + */ + objectType?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Eventtags { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.eventTags.delete + * @desc Deletes an existing event tag. + * @alias dfareporting.eventTags.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Event tag ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Eventtags$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Eventtags$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Eventtags$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dfareporting.eventTags.get + * @desc Gets one event tag by ID. + * @alias dfareporting.eventTags.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Event tag ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Eventtags$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Eventtags$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Eventtags$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.eventTags.insert + * @desc Inserts a new event tag. + * @alias dfareporting.eventTags.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().EventTag} 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?: Params$Resource$Eventtags$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Eventtags$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Eventtags$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.eventTags.list + * @desc Retrieves a list of event tags, possibly filtered. + * @alias dfareporting.eventTags.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.adId Select only event tags that belong to this ad. + * @param {string=} params.advertiserId Select only event tags that belong to this advertiser. + * @param {string=} params.campaignId Select only event tags that belong to this campaign. + * @param {boolean=} params.definitionsOnly Examine only the specified campaign or advertiser's event tags for matching selector criteria. When set to false, the parent advertiser and parent campaign of the specified ad or campaign is examined as well. In addition, when set to false, the status field is examined as well, along with the enabledByDefault field. This parameter can not be set to true when adId is specified as ads do not define their own even tags. + * @param {boolean=} params.enabled Select only enabled event tags. What is considered enabled or disabled depends on the definitionsOnly parameter. When definitionsOnly is set to true, only the specified advertiser or campaign's event tags' enabledByDefault field is examined. When definitionsOnly is set to false, the specified ad or specified campaign's parent advertiser's or parent campaign's event tags' enabledByDefault and status fields are examined as well. + * @param {string=} params.eventTagTypes Select only event tags with the specified event tag types. Event tag types can be used to specify whether to use a third-party pixel, a third-party JavaScript URL, or a third-party click-through URL for either impression or click tracking. + * @param {string=} params.ids Select only event tags with these IDs. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "eventtag*2015" will return objects with names like "eventtag June 2015", "eventtag April 2015", or simply "eventtag 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "eventtag" will match objects with name "my eventtag", "eventtag 2015", or simply "eventtag". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Eventtags$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Eventtags$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Eventtags$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.eventTags.patch + * @desc Updates an existing event tag. This method supports patch + * semantics. + * @alias dfareporting.eventTags.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Event tag ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().EventTag} 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 + */ + patch(params?: Params$Resource$Eventtags$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Eventtags$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Eventtags$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.eventTags.update + * @desc Updates an existing event tag. + * @alias dfareporting.eventTags.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().EventTag} 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?: Params$Resource$Eventtags$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Eventtags$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Eventtags$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Eventtags$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Event tag ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Eventtags$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Event tag ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Eventtags$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$EventTag; + } + interface Params$Resource$Eventtags$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only event tags that belong to this ad. + */ + adId?: string; + /** + * Select only event tags that belong to this advertiser. + */ + advertiserId?: string; + /** + * Select only event tags that belong to this campaign. + */ + campaignId?: string; + /** + * Examine only the specified campaign or advertiser's event tags for + * matching selector criteria. When set to false, the parent advertiser and + * parent campaign of the specified ad or campaign is examined as well. In + * addition, when set to false, the status field is examined as well, along + * with the enabledByDefault field. This parameter can not be set to true + * when adId is specified as ads do not define their own even tags. + */ + definitionsOnly?: boolean; + /** + * Select only enabled event tags. What is considered enabled or disabled + * depends on the definitionsOnly parameter. When definitionsOnly is set to + * true, only the specified advertiser or campaign's event tags' + * enabledByDefault field is examined. When definitionsOnly is set to false, + * the specified ad or specified campaign's parent advertiser's or parent + * campaign's event tags' enabledByDefault and status fields are examined as + * well. + */ + enabled?: boolean; + /** + * Select only event tags with the specified event tag types. Event tag + * types can be used to specify whether to use a third-party pixel, a + * third-party JavaScript URL, or a third-party click-through URL for either + * impression or click tracking. + */ + eventTagTypes?: string; + /** + * Select only event tags with these IDs. + */ + ids?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "eventtag*2015" will return objects with names like + * "eventtag June 2015", "eventtag April 2015", or simply "eventtag 2015". + * Most of the searches also add wildcards implicitly at the start and the + * end of the search string. For example, a search string of "eventtag" will + * match objects with name "my eventtag", "eventtag 2015", or simply + * "eventtag". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + interface Params$Resource$Eventtags$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Event tag ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$EventTag; + } + interface Params$Resource$Eventtags$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$EventTag; + } + class Resource$Files { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.files.get + * @desc Retrieves a report file by its report ID and file ID. This method + * supports media download. + * @alias dfareporting.files.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.fileId The ID of the report file. + * @param {string} params.reportId The ID of the report. + * @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?: Params$Resource$Files$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Files$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Files$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.files.list + * @desc Lists files for a user profile. + * @alias dfareporting.files.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken The value of the nextToken from the previous result page. + * @param {string} params.profileId The DFA profile ID. + * @param {string=} params.scope The scope that defines which results are returned. + * @param {string=} params.sortField The field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Files$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Files$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Files$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Files$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the report file. + */ + fileId?: string; + /** + * The ID of the report. + */ + reportId?: string; + } + interface Params$Resource$Files$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * The value of the nextToken from the previous result page. + */ + pageToken?: string; + /** + * The DFA profile ID. + */ + profileId?: string; + /** + * The scope that defines which results are returned. + */ + scope?: string; + /** + * The field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + class Resource$Floodlightactivities { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.floodlightActivities.delete + * @desc Deletes an existing floodlight activity. + * @alias dfareporting.floodlightActivities.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Floodlight activity ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Floodlightactivities$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Floodlightactivities$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Floodlightactivities$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dfareporting.floodlightActivities.generatetag + * @desc Generates a tag for a floodlight activity. + * @alias dfareporting.floodlightActivities.generatetag + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.floodlightActivityId Floodlight activity ID for which we want to generate a tag. + * @param {string} params.profileId User profile ID associated with this request. + * @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 + */ + generatetag(params?: Params$Resource$Floodlightactivities$Generatetag, options?: MethodOptions): AxiosPromise; + generatetag(params: Params$Resource$Floodlightactivities$Generatetag, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + generatetag(params: Params$Resource$Floodlightactivities$Generatetag, callback: BodyResponseCallback): void; + generatetag(callback: BodyResponseCallback): void; + /** + * dfareporting.floodlightActivities.get + * @desc Gets one floodlight activity by ID. + * @alias dfareporting.floodlightActivities.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Floodlight activity ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Floodlightactivities$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Floodlightactivities$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Floodlightactivities$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.floodlightActivities.insert + * @desc Inserts a new floodlight activity. + * @alias dfareporting.floodlightActivities.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().FloodlightActivity} 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?: Params$Resource$Floodlightactivities$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Floodlightactivities$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Floodlightactivities$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.floodlightActivities.list + * @desc Retrieves a list of floodlight activities, possibly filtered. This + * method supports paging. + * @alias dfareporting.floodlightActivities.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.advertiserId Select only floodlight activities for the specified advertiser ID. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result. + * @param {string=} params.floodlightActivityGroupIds Select only floodlight activities with the specified floodlight activity group IDs. + * @param {string=} params.floodlightActivityGroupName Select only floodlight activities with the specified floodlight activity group name. + * @param {string=} params.floodlightActivityGroupTagString Select only floodlight activities with the specified floodlight activity group tag string. + * @param {string=} params.floodlightActivityGroupType Select only floodlight activities with the specified floodlight activity group type. + * @param {string=} params.floodlightConfigurationId Select only floodlight activities for the specified floodlight configuration ID. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result. + * @param {string=} params.ids Select only floodlight activities with the specified IDs. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "floodlightactivity*2015" will return objects with names like "floodlightactivity June 2015", "floodlightactivity April 2015", or simply "floodlightactivity 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "floodlightactivity" will match objects with name "my floodlightactivity activity", "floodlightactivity 2015", or simply "floodlightactivity". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @param {string=} params.tagString Select only floodlight activities with the specified tag string. + * @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?: Params$Resource$Floodlightactivities$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Floodlightactivities$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Floodlightactivities$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.floodlightActivities.patch + * @desc Updates an existing floodlight activity. This method supports patch + * semantics. + * @alias dfareporting.floodlightActivities.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Floodlight activity ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().FloodlightActivity} 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 + */ + patch(params?: Params$Resource$Floodlightactivities$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Floodlightactivities$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Floodlightactivities$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.floodlightActivities.update + * @desc Updates an existing floodlight activity. + * @alias dfareporting.floodlightActivities.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().FloodlightActivity} 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?: Params$Resource$Floodlightactivities$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Floodlightactivities$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Floodlightactivities$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Floodlightactivities$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Floodlight activity ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Floodlightactivities$Generatetag { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Floodlight activity ID for which we want to generate a tag. + */ + floodlightActivityId?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Floodlightactivities$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Floodlight activity ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Floodlightactivities$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$FloodlightActivity; + } + interface Params$Resource$Floodlightactivities$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only floodlight activities for the specified advertiser ID. Must + * specify either ids, advertiserId, or floodlightConfigurationId for a + * non-empty result. + */ + advertiserId?: string; + /** + * Select only floodlight activities with the specified floodlight activity + * group IDs. + */ + floodlightActivityGroupIds?: string; + /** + * Select only floodlight activities with the specified floodlight activity + * group name. + */ + floodlightActivityGroupName?: string; + /** + * Select only floodlight activities with the specified floodlight activity + * group tag string. + */ + floodlightActivityGroupTagString?: string; + /** + * Select only floodlight activities with the specified floodlight activity + * group type. + */ + floodlightActivityGroupType?: string; + /** + * Select only floodlight activities for the specified floodlight + * configuration ID. Must specify either ids, advertiserId, or + * floodlightConfigurationId for a non-empty result. + */ + floodlightConfigurationId?: string; + /** + * Select only floodlight activities with the specified IDs. Must specify + * either ids, advertiserId, or floodlightConfigurationId for a non-empty + * result. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "floodlightactivity*2015" will return objects with names + * like "floodlightactivity June 2015", "floodlightactivity April 2015", or + * simply "floodlightactivity 2015". Most of the searches also add wildcards + * implicitly at the start and the end of the search string. For example, a + * search string of "floodlightactivity" will match objects with name "my + * floodlightactivity activity", "floodlightactivity 2015", or simply + * "floodlightactivity". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + /** + * Select only floodlight activities with the specified tag string. + */ + tagString?: string; + } + interface Params$Resource$Floodlightactivities$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Floodlight activity ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$FloodlightActivity; + } + interface Params$Resource$Floodlightactivities$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$FloodlightActivity; + } + class Resource$Floodlightactivitygroups { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.floodlightActivityGroups.get + * @desc Gets one floodlight activity group by ID. + * @alias dfareporting.floodlightActivityGroups.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Floodlight activity Group ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Floodlightactivitygroups$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Floodlightactivitygroups$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Floodlightactivitygroups$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.floodlightActivityGroups.insert + * @desc Inserts a new floodlight activity group. + * @alias dfareporting.floodlightActivityGroups.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().FloodlightActivityGroup} 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?: Params$Resource$Floodlightactivitygroups$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Floodlightactivitygroups$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Floodlightactivitygroups$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.floodlightActivityGroups.list + * @desc Retrieves a list of floodlight activity groups, possibly filtered. + * This method supports paging. + * @alias dfareporting.floodlightActivityGroups.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.advertiserId Select only floodlight activity groups with the specified advertiser ID. Must specify either advertiserId or floodlightConfigurationId for a non-empty result. + * @param {string=} params.floodlightConfigurationId Select only floodlight activity groups with the specified floodlight configuration ID. Must specify either advertiserId, or floodlightConfigurationId for a non-empty result. + * @param {string=} params.ids Select only floodlight activity groups with the specified IDs. Must specify either advertiserId or floodlightConfigurationId for a non-empty result. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "floodlightactivitygroup*2015" will return objects with names like "floodlightactivitygroup June 2015", "floodlightactivitygroup April 2015", or simply "floodlightactivitygroup 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "floodlightactivitygroup" will match objects with name "my floodlightactivitygroup activity", "floodlightactivitygroup 2015", or simply "floodlightactivitygroup". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @param {string=} params.type Select only floodlight activity groups with the specified floodlight activity group type. + * @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?: Params$Resource$Floodlightactivitygroups$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Floodlightactivitygroups$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Floodlightactivitygroups$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.floodlightActivityGroups.patch + * @desc Updates an existing floodlight activity group. This method supports + * patch semantics. + * @alias dfareporting.floodlightActivityGroups.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Floodlight activity Group ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().FloodlightActivityGroup} 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 + */ + patch(params?: Params$Resource$Floodlightactivitygroups$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Floodlightactivitygroups$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Floodlightactivitygroups$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.floodlightActivityGroups.update + * @desc Updates an existing floodlight activity group. + * @alias dfareporting.floodlightActivityGroups.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().FloodlightActivityGroup} 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?: Params$Resource$Floodlightactivitygroups$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Floodlightactivitygroups$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Floodlightactivitygroups$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Floodlightactivitygroups$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Floodlight activity Group ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Floodlightactivitygroups$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$FloodlightActivityGroup; + } + interface Params$Resource$Floodlightactivitygroups$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only floodlight activity groups with the specified advertiser ID. + * Must specify either advertiserId or floodlightConfigurationId for a + * non-empty result. + */ + advertiserId?: string; + /** + * Select only floodlight activity groups with the specified floodlight + * configuration ID. Must specify either advertiserId, or + * floodlightConfigurationId for a non-empty result. + */ + floodlightConfigurationId?: string; + /** + * Select only floodlight activity groups with the specified IDs. Must + * specify either advertiserId or floodlightConfigurationId for a non-empty + * result. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "floodlightactivitygroup*2015" will return objects with + * names like "floodlightactivitygroup June 2015", "floodlightactivitygroup + * April 2015", or simply "floodlightactivitygroup 2015". Most of the + * searches also add wildcards implicitly at the start and the end of the + * search string. For example, a search string of "floodlightactivitygroup" + * will match objects with name "my floodlightactivitygroup activity", + * "floodlightactivitygroup 2015", or simply "floodlightactivitygroup". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + /** + * Select only floodlight activity groups with the specified floodlight + * activity group type. + */ + type?: string; + } + interface Params$Resource$Floodlightactivitygroups$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Floodlight activity Group ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$FloodlightActivityGroup; + } + interface Params$Resource$Floodlightactivitygroups$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$FloodlightActivityGroup; + } + class Resource$Floodlightconfigurations { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.floodlightConfigurations.get + * @desc Gets one floodlight configuration by ID. + * @alias dfareporting.floodlightConfigurations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Floodlight configuration ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Floodlightconfigurations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Floodlightconfigurations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Floodlightconfigurations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.floodlightConfigurations.list + * @desc Retrieves a list of floodlight configurations, possibly filtered. + * @alias dfareporting.floodlightConfigurations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.ids Set of IDs of floodlight configurations to retrieve. Required field; otherwise an empty list will be returned. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Floodlightconfigurations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Floodlightconfigurations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Floodlightconfigurations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.floodlightConfigurations.patch + * @desc Updates an existing floodlight configuration. This method supports + * patch semantics. + * @alias dfareporting.floodlightConfigurations.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Floodlight configuration ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().FloodlightConfiguration} 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 + */ + patch(params?: Params$Resource$Floodlightconfigurations$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Floodlightconfigurations$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Floodlightconfigurations$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.floodlightConfigurations.update + * @desc Updates an existing floodlight configuration. + * @alias dfareporting.floodlightConfigurations.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().FloodlightConfiguration} 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?: Params$Resource$Floodlightconfigurations$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Floodlightconfigurations$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Floodlightconfigurations$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Floodlightconfigurations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Floodlight configuration ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Floodlightconfigurations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Set of IDs of floodlight configurations to retrieve. Required field; + * otherwise an empty list will be returned. + */ + ids?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Floodlightconfigurations$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Floodlight configuration ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$FloodlightConfiguration; + } + interface Params$Resource$Floodlightconfigurations$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$FloodlightConfiguration; + } + class Resource$Inventoryitems { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.inventoryItems.get + * @desc Gets one inventory item by ID. + * @alias dfareporting.inventoryItems.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Inventory item ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string} params.projectId Project ID for order documents. + * @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?: Params$Resource$Inventoryitems$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Inventoryitems$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Inventoryitems$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.inventoryItems.list + * @desc Retrieves a list of inventory items, possibly filtered. This method + * supports paging. + * @alias dfareporting.inventoryItems.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.ids Select only inventory items with these IDs. + * @param {boolean=} params.inPlan Select only inventory items that are in plan. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.orderId Select only inventory items that belong to specified orders. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string} params.projectId Project ID for order documents. + * @param {string=} params.siteId Select only inventory items that are associated with these sites. + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @param {string=} params.type Select only inventory items with this type. + * @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?: Params$Resource$Inventoryitems$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Inventoryitems$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Inventoryitems$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Inventoryitems$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Inventory item ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Project ID for order documents. + */ + projectId?: string; + } + interface Params$Resource$Inventoryitems$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only inventory items with these IDs. + */ + ids?: string; + /** + * Select only inventory items that are in plan. + */ + inPlan?: boolean; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Select only inventory items that belong to specified orders. + */ + orderId?: string; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Project ID for order documents. + */ + projectId?: string; + /** + * Select only inventory items that are associated with these sites. + */ + siteId?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + /** + * Select only inventory items with this type. + */ + type?: string; + } + class Resource$Languages { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.languages.list + * @desc Retrieves a list of languages. + * @alias dfareporting.languages.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Languages$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Languages$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Languages$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Languages$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Metros { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.metros.list + * @desc Retrieves a list of metros. + * @alias dfareporting.metros.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Metros$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Metros$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Metros$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Metros$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Mobileapps { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.mobileApps.get + * @desc Gets one mobile app by ID. + * @alias dfareporting.mobileApps.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Mobile app ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Mobileapps$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Mobileapps$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Mobileapps$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.mobileApps.list + * @desc Retrieves list of available mobile apps. + * @alias dfareporting.mobileApps.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.directories Select only apps from these directories. + * @param {string=} params.ids Select only apps with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "app*2015" will return objects with names like "app Jan 2018", "app Jan 2018", or simply "app 2018". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "app" will match objects with name "my app", "app 2018", or simply "app". + * @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?: Params$Resource$Mobileapps$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Mobileapps$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Mobileapps$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Mobileapps$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Mobile app ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Mobileapps$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only apps from these directories. + */ + directories?: string; + /** + * Select only apps with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "app*2015" will return objects with names like "app Jan + * 2018", "app Jan 2018", or simply "app 2018". Most of the searches also + * add wildcards implicitly at the start and the end of the search string. + * For example, a search string of "app" will match objects with name "my + * app", "app 2018", or simply "app". + */ + searchString?: string; + } + class Resource$Mobilecarriers { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.mobileCarriers.get + * @desc Gets one mobile carrier by ID. + * @alias dfareporting.mobileCarriers.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Mobile carrier ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Mobilecarriers$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Mobilecarriers$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Mobilecarriers$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.mobileCarriers.list + * @desc Retrieves a list of mobile carriers. + * @alias dfareporting.mobileCarriers.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Mobilecarriers$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Mobilecarriers$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Mobilecarriers$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Mobilecarriers$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Mobile carrier ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Mobilecarriers$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Operatingsystems { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.operatingSystems.get + * @desc Gets one operating system by DART ID. + * @alias dfareporting.operatingSystems.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.dartId Operating system DART ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Operatingsystems$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Operatingsystems$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Operatingsystems$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.operatingSystems.list + * @desc Retrieves a list of operating systems. + * @alias dfareporting.operatingSystems.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Operatingsystems$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Operatingsystems$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Operatingsystems$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Operatingsystems$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Operating system DART ID. + */ + dartId?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Operatingsystems$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Operatingsystemversions { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.operatingSystemVersions.get + * @desc Gets one operating system version by ID. + * @alias dfareporting.operatingSystemVersions.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Operating system version ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Operatingsystemversions$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Operatingsystemversions$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Operatingsystemversions$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.operatingSystemVersions.list + * @desc Retrieves a list of operating system versions. + * @alias dfareporting.operatingSystemVersions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Operatingsystemversions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Operatingsystemversions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Operatingsystemversions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Operatingsystemversions$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Operating system version ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Operatingsystemversions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Orderdocuments { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.orderDocuments.get + * @desc Gets one order document by ID. + * @alias dfareporting.orderDocuments.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Order document ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string} params.projectId Project ID for order documents. + * @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?: Params$Resource$Orderdocuments$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Orderdocuments$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Orderdocuments$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.orderDocuments.list + * @desc Retrieves a list of order documents, possibly filtered. This method + * supports paging. + * @alias dfareporting.orderDocuments.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.approved Select only order documents that have been approved by at least one user. + * @param {string=} params.ids Select only order documents with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.orderId Select only order documents for specified orders. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string} params.projectId Project ID for order documents. + * @param {string=} params.searchString Allows searching for order documents by name or ID. Wildcards (*) are allowed. For example, "orderdocument*2015" will return order documents with names like "orderdocument June 2015", "orderdocument April 2015", or simply "orderdocument 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "orderdocument" will match order documents with name "my orderdocument", "orderdocument 2015", or simply "orderdocument". + * @param {string=} params.siteId Select only order documents that are associated with these sites. + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Orderdocuments$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Orderdocuments$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Orderdocuments$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Orderdocuments$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Order document ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Project ID for order documents. + */ + projectId?: string; + } + interface Params$Resource$Orderdocuments$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only order documents that have been approved by at least one user. + */ + approved?: boolean; + /** + * Select only order documents with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Select only order documents for specified orders. + */ + orderId?: string; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Project ID for order documents. + */ + projectId?: string; + /** + * Allows searching for order documents by name or ID. Wildcards (*) are + * allowed. For example, "orderdocument*2015" will return order documents + * with names like "orderdocument June 2015", "orderdocument April 2015", or + * simply "orderdocument 2015". Most of the searches also add wildcards + * implicitly at the start and the end of the search string. For example, a + * search string of "orderdocument" will match order documents with name "my + * orderdocument", "orderdocument 2015", or simply "orderdocument". + */ + searchString?: string; + /** + * Select only order documents that are associated with these sites. + */ + siteId?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + class Resource$Orders { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.orders.get + * @desc Gets one order by ID. + * @alias dfareporting.orders.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Order ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string} params.projectId Project ID for orders. + * @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?: Params$Resource$Orders$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Orders$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Orders$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.orders.list + * @desc Retrieves a list of orders, possibly filtered. This method supports + * paging. + * @alias dfareporting.orders.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.ids Select only orders with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string} params.projectId Project ID for orders. + * @param {string=} params.searchString Allows searching for orders by name or ID. Wildcards (*) are allowed. For example, "order*2015" will return orders with names like "order June 2015", "order April 2015", or simply "order 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "order" will match orders with name "my order", "order 2015", or simply "order". + * @param {string=} params.siteId Select only orders that are associated with these site IDs. + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Orders$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Orders$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Orders$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Orders$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Order ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Project ID for orders. + */ + projectId?: string; + } + interface Params$Resource$Orders$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only orders with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Project ID for orders. + */ + projectId?: string; + /** + * Allows searching for orders by name or ID. Wildcards (*) are allowed. For + * example, "order*2015" will return orders with names like "order June + * 2015", "order April 2015", or simply "order 2015". Most of the searches + * also add wildcards implicitly at the start and the end of the search + * string. For example, a search string of "order" will match orders with + * name "my order", "order 2015", or simply "order". + */ + searchString?: string; + /** + * Select only orders that are associated with these site IDs. + */ + siteId?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + class Resource$Placementgroups { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.placementGroups.get + * @desc Gets one placement group by ID. + * @alias dfareporting.placementGroups.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Placement group ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Placementgroups$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Placementgroups$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Placementgroups$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.placementGroups.insert + * @desc Inserts a new placement group. + * @alias dfareporting.placementGroups.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().PlacementGroup} 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?: Params$Resource$Placementgroups$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Placementgroups$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Placementgroups$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.placementGroups.list + * @desc Retrieves a list of placement groups, possibly filtered. This + * method supports paging. + * @alias dfareporting.placementGroups.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.advertiserIds Select only placement groups that belong to these advertisers. + * @param {boolean=} params.archived Select only archived placements. Don't set this field to select both archived and non-archived placements. + * @param {string=} params.campaignIds Select only placement groups that belong to these campaigns. + * @param {string=} params.contentCategoryIds Select only placement groups that are associated with these content categories. + * @param {string=} params.directorySiteIds Select only placement groups that are associated with these directory sites. + * @param {string=} params.ids Select only placement groups with these IDs. + * @param {string=} params.maxEndDate Select only placements or placement groups whose end date is on or before the specified maxEndDate. The date should be formatted as "yyyy-MM-dd". + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.maxStartDate Select only placements or placement groups whose start date is on or before the specified maxStartDate. The date should be formatted as "yyyy-MM-dd". + * @param {string=} params.minEndDate Select only placements or placement groups whose end date is on or after the specified minEndDate. The date should be formatted as "yyyy-MM-dd". + * @param {string=} params.minStartDate Select only placements or placement groups whose start date is on or after the specified minStartDate. The date should be formatted as "yyyy-MM-dd". + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string=} params.placementGroupType Select only placement groups belonging with this group type. A package is a simple group of placements that acts as a single pricing point for a group of tags. A roadblock is a group of placements that not only acts as a single pricing point but also assumes that all the tags in it will be served at the same time. A roadblock requires one of its assigned placements to be marked as primary for reporting. + * @param {string=} params.placementStrategyIds Select only placement groups that are associated with these placement strategies. + * @param {string=} params.pricingTypes Select only placement groups with these pricing types. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for placement groups by name or ID. Wildcards (*) are allowed. For example, "placement*2015" will return placement groups with names like "placement group June 2015", "placement group May 2015", or simply "placements 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "placementgroup" will match placement groups with name "my placementgroup", "placementgroup 2015", or simply "placementgroup". + * @param {string=} params.siteIds Select only placement groups that are associated with these sites. + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Placementgroups$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Placementgroups$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Placementgroups$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.placementGroups.patch + * @desc Updates an existing placement group. This method supports patch + * semantics. + * @alias dfareporting.placementGroups.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Placement group ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().PlacementGroup} 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 + */ + patch(params?: Params$Resource$Placementgroups$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Placementgroups$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Placementgroups$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.placementGroups.update + * @desc Updates an existing placement group. + * @alias dfareporting.placementGroups.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().PlacementGroup} 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?: Params$Resource$Placementgroups$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Placementgroups$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Placementgroups$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Placementgroups$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Placement group ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Placementgroups$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$PlacementGroup; + } + interface Params$Resource$Placementgroups$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only placement groups that belong to these advertisers. + */ + advertiserIds?: string; + /** + * Select only archived placements. Don't set this field to select both + * archived and non-archived placements. + */ + archived?: boolean; + /** + * Select only placement groups that belong to these campaigns. + */ + campaignIds?: string; + /** + * Select only placement groups that are associated with these content + * categories. + */ + contentCategoryIds?: string; + /** + * Select only placement groups that are associated with these directory + * sites. + */ + directorySiteIds?: string; + /** + * Select only placement groups with these IDs. + */ + ids?: string; + /** + * Select only placements or placement groups whose end date is on or before + * the specified maxEndDate. The date should be formatted as "yyyy-MM-dd". + */ + maxEndDate?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Select only placements or placement groups whose start date is on or + * before the specified maxStartDate. The date should be formatted as + * "yyyy-MM-dd". + */ + maxStartDate?: string; + /** + * Select only placements or placement groups whose end date is on or after + * the specified minEndDate. The date should be formatted as "yyyy-MM-dd". + */ + minEndDate?: string; + /** + * Select only placements or placement groups whose start date is on or + * after the specified minStartDate. The date should be formatted as + * "yyyy-MM-dd". + */ + minStartDate?: string; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * Select only placement groups belonging with this group type. A package is + * a simple group of placements that acts as a single pricing point for a + * group of tags. A roadblock is a group of placements that not only acts as + * a single pricing point but also assumes that all the tags in it will be + * served at the same time. A roadblock requires one of its assigned + * placements to be marked as primary for reporting. + */ + placementGroupType?: string; + /** + * Select only placement groups that are associated with these placement + * strategies. + */ + placementStrategyIds?: string; + /** + * Select only placement groups with these pricing types. + */ + pricingTypes?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for placement groups by name or ID. Wildcards (*) are + * allowed. For example, "placement*2015" will return placement groups with + * names like "placement group June 2015", "placement group May 2015", or + * simply "placements 2015". Most of the searches also add wildcards + * implicitly at the start and the end of the search string. For example, a + * search string of "placementgroup" will match placement groups with name + * "my placementgroup", "placementgroup 2015", or simply "placementgroup". + */ + searchString?: string; + /** + * Select only placement groups that are associated with these sites. + */ + siteIds?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + interface Params$Resource$Placementgroups$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Placement group ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$PlacementGroup; + } + interface Params$Resource$Placementgroups$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$PlacementGroup; + } + class Resource$Placements { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.placements.generatetags + * @desc Generates tags for a placement. + * @alias dfareporting.placements.generatetags + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.campaignId Generate placements belonging to this campaign. This is a required field. + * @param {string=} params.placementIds Generate tags for these placements. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.tagFormats Tag formats to generate for these placements. Note: PLACEMENT_TAG_STANDARD can only be generated for 1x1 placements. + * @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 + */ + generatetags(params?: Params$Resource$Placements$Generatetags, options?: MethodOptions): AxiosPromise; + generatetags(params: Params$Resource$Placements$Generatetags, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + generatetags(params: Params$Resource$Placements$Generatetags, callback: BodyResponseCallback): void; + generatetags(callback: BodyResponseCallback): void; + /** + * dfareporting.placements.get + * @desc Gets one placement by ID. + * @alias dfareporting.placements.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Placement ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Placements$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Placements$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Placements$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.placements.insert + * @desc Inserts a new placement. + * @alias dfareporting.placements.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Placement} 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?: Params$Resource$Placements$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Placements$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Placements$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.placements.list + * @desc Retrieves a list of placements, possibly filtered. This method + * supports paging. + * @alias dfareporting.placements.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.advertiserIds Select only placements that belong to these advertisers. + * @param {boolean=} params.archived Select only archived placements. Don't set this field to select both archived and non-archived placements. + * @param {string=} params.campaignIds Select only placements that belong to these campaigns. + * @param {string=} params.compatibilities Select only placements that are associated with these compatibilities. DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop or on mobile devices for regular or interstitial ads respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard. + * @param {string=} params.contentCategoryIds Select only placements that are associated with these content categories. + * @param {string=} params.directorySiteIds Select only placements that are associated with these directory sites. + * @param {string=} params.groupIds Select only placements that belong to these placement groups. + * @param {string=} params.ids Select only placements with these IDs. + * @param {string=} params.maxEndDate Select only placements or placement groups whose end date is on or before the specified maxEndDate. The date should be formatted as "yyyy-MM-dd". + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.maxStartDate Select only placements or placement groups whose start date is on or before the specified maxStartDate. The date should be formatted as "yyyy-MM-dd". + * @param {string=} params.minEndDate Select only placements or placement groups whose end date is on or after the specified minEndDate. The date should be formatted as "yyyy-MM-dd". + * @param {string=} params.minStartDate Select only placements or placement groups whose start date is on or after the specified minStartDate. The date should be formatted as "yyyy-MM-dd". + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string=} params.paymentSource Select only placements with this payment source. + * @param {string=} params.placementStrategyIds Select only placements that are associated with these placement strategies. + * @param {string=} params.pricingTypes Select only placements with these pricing types. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for placements by name or ID. Wildcards (*) are allowed. For example, "placement*2015" will return placements with names like "placement June 2015", "placement May 2015", or simply "placements 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "placement" will match placements with name "my placement", "placement 2015", or simply "placement". + * @param {string=} params.siteIds Select only placements that are associated with these sites. + * @param {string=} params.sizeIds Select only placements that are associated with these sizes. + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Placements$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Placements$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Placements$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.placements.patch + * @desc Updates an existing placement. This method supports patch + * semantics. + * @alias dfareporting.placements.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Placement ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Placement} 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 + */ + patch(params?: Params$Resource$Placements$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Placements$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Placements$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.placements.update + * @desc Updates an existing placement. + * @alias dfareporting.placements.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Placement} 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?: Params$Resource$Placements$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Placements$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Placements$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Placements$Generatetags { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Generate placements belonging to this campaign. This is a required field. + */ + campaignId?: string; + /** + * Generate tags for these placements. + */ + placementIds?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Tag formats to generate for these placements. Note: + * PLACEMENT_TAG_STANDARD can only be generated for 1x1 placements. + */ + tagFormats?: string; + } + interface Params$Resource$Placements$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Placement ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Placements$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Placement; + } + interface Params$Resource$Placements$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only placements that belong to these advertisers. + */ + advertiserIds?: string; + /** + * Select only archived placements. Don't set this field to select both + * archived and non-archived placements. + */ + archived?: boolean; + /** + * Select only placements that belong to these campaigns. + */ + campaignIds?: string; + /** + * Select only placements that are associated with these compatibilities. + * DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop or + * on mobile devices for regular or interstitial ads respectively. APP and + * APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO refers + * to rendering in in-stream video ads developed with the VAST standard. + */ + compatibilities?: string; + /** + * Select only placements that are associated with these content categories. + */ + contentCategoryIds?: string; + /** + * Select only placements that are associated with these directory sites. + */ + directorySiteIds?: string; + /** + * Select only placements that belong to these placement groups. + */ + groupIds?: string; + /** + * Select only placements with these IDs. + */ + ids?: string; + /** + * Select only placements or placement groups whose end date is on or before + * the specified maxEndDate. The date should be formatted as "yyyy-MM-dd". + */ + maxEndDate?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Select only placements or placement groups whose start date is on or + * before the specified maxStartDate. The date should be formatted as + * "yyyy-MM-dd". + */ + maxStartDate?: string; + /** + * Select only placements or placement groups whose end date is on or after + * the specified minEndDate. The date should be formatted as "yyyy-MM-dd". + */ + minEndDate?: string; + /** + * Select only placements or placement groups whose start date is on or + * after the specified minStartDate. The date should be formatted as + * "yyyy-MM-dd". + */ + minStartDate?: string; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * Select only placements with this payment source. + */ + paymentSource?: string; + /** + * Select only placements that are associated with these placement + * strategies. + */ + placementStrategyIds?: string; + /** + * Select only placements with these pricing types. + */ + pricingTypes?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for placements by name or ID. Wildcards (*) are allowed. + * For example, "placement*2015" will return placements with names like + * "placement June 2015", "placement May 2015", or simply "placements 2015". + * Most of the searches also add wildcards implicitly at the start and the + * end of the search string. For example, a search string of "placement" + * will match placements with name "my placement", "placement 2015", or + * simply "placement". + */ + searchString?: string; + /** + * Select only placements that are associated with these sites. + */ + siteIds?: string; + /** + * Select only placements that are associated with these sizes. + */ + sizeIds?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + interface Params$Resource$Placements$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Placement ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Placement; + } + interface Params$Resource$Placements$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Placement; + } + class Resource$Placementstrategies { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.placementStrategies.delete + * @desc Deletes an existing placement strategy. + * @alias dfareporting.placementStrategies.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Placement strategy ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Placementstrategies$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Placementstrategies$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Placementstrategies$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dfareporting.placementStrategies.get + * @desc Gets one placement strategy by ID. + * @alias dfareporting.placementStrategies.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Placement strategy ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Placementstrategies$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Placementstrategies$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Placementstrategies$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.placementStrategies.insert + * @desc Inserts a new placement strategy. + * @alias dfareporting.placementStrategies.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().PlacementStrategy} 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?: Params$Resource$Placementstrategies$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Placementstrategies$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Placementstrategies$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.placementStrategies.list + * @desc Retrieves a list of placement strategies, possibly filtered. This + * method supports paging. + * @alias dfareporting.placementStrategies.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.ids Select only placement strategies with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "placementstrategy*2015" will return objects with names like "placementstrategy June 2015", "placementstrategy April 2015", or simply "placementstrategy 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "placementstrategy" will match objects with name "my placementstrategy", "placementstrategy 2015", or simply "placementstrategy". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Placementstrategies$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Placementstrategies$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Placementstrategies$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.placementStrategies.patch + * @desc Updates an existing placement strategy. This method supports patch + * semantics. + * @alias dfareporting.placementStrategies.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Placement strategy ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().PlacementStrategy} 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 + */ + patch(params?: Params$Resource$Placementstrategies$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Placementstrategies$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Placementstrategies$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.placementStrategies.update + * @desc Updates an existing placement strategy. + * @alias dfareporting.placementStrategies.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().PlacementStrategy} 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?: Params$Resource$Placementstrategies$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Placementstrategies$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Placementstrategies$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Placementstrategies$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Placement strategy ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Placementstrategies$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Placement strategy ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Placementstrategies$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$PlacementStrategy; + } + interface Params$Resource$Placementstrategies$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only placement strategies with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "placementstrategy*2015" will return objects with names like + * "placementstrategy June 2015", "placementstrategy April 2015", or simply + * "placementstrategy 2015". Most of the searches also add wildcards + * implicitly at the start and the end of the search string. For example, a + * search string of "placementstrategy" will match objects with name "my + * placementstrategy", "placementstrategy 2015", or simply + * "placementstrategy". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + interface Params$Resource$Placementstrategies$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Placement strategy ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$PlacementStrategy; + } + interface Params$Resource$Placementstrategies$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$PlacementStrategy; + } + class Resource$Platformtypes { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.platformTypes.get + * @desc Gets one platform type by ID. + * @alias dfareporting.platformTypes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Platform type ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Platformtypes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Platformtypes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Platformtypes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.platformTypes.list + * @desc Retrieves a list of platform types. + * @alias dfareporting.platformTypes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Platformtypes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Platformtypes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Platformtypes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Platformtypes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Platform type ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Platformtypes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Postalcodes { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.postalCodes.get + * @desc Gets one postal code by ID. + * @alias dfareporting.postalCodes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.code Postal code ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Postalcodes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Postalcodes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Postalcodes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.postalCodes.list + * @desc Retrieves a list of postal codes. + * @alias dfareporting.postalCodes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Postalcodes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Postalcodes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Postalcodes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Postalcodes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Postal code ID. + */ + code?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Postalcodes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Projects { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.projects.get + * @desc Gets one project by ID. + * @alias dfareporting.projects.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Project ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Projects$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.projects.list + * @desc Retrieves a list of projects, possibly filtered. This method + * supports paging. + * @alias dfareporting.projects.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.advertiserIds Select only projects with these advertiser IDs. + * @param {string=} params.ids Select only projects with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for projects by name or ID. Wildcards (*) are allowed. For example, "project*2015" will return projects with names like "project June 2015", "project April 2015", or simply "project 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "project" will match projects with name "my project", "project 2015", or simply "project". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Projects$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Projects$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only projects with these advertiser IDs. + */ + advertiserIds?: string; + /** + * Select only projects with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for projects by name or ID. Wildcards (*) are allowed. + * For example, "project*2015" will return projects with names like "project + * June 2015", "project April 2015", or simply "project 2015". Most of the + * searches also add wildcards implicitly at the start and the end of the + * search string. For example, a search string of "project" will match + * projects with name "my project", "project 2015", or simply "project". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + class Resource$Regions { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.regions.list + * @desc Retrieves a list of regions. + * @alias dfareporting.regions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Regions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Regions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Regions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Regions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Remarketinglists { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.remarketingLists.get + * @desc Gets one remarketing list by ID. + * @alias dfareporting.remarketingLists.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Remarketing list ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Remarketinglists$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Remarketinglists$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Remarketinglists$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.remarketingLists.insert + * @desc Inserts a new remarketing list. + * @alias dfareporting.remarketingLists.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().RemarketingList} 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?: Params$Resource$Remarketinglists$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Remarketinglists$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Remarketinglists$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.remarketingLists.list + * @desc Retrieves a list of remarketing lists, possibly filtered. This + * method supports paging. + * @alias dfareporting.remarketingLists.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.active Select only active or only inactive remarketing lists. + * @param {string} params.advertiserId Select only remarketing lists owned by this advertiser. + * @param {string=} params.floodlightActivityId Select only remarketing lists that have this floodlight activity ID. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.name Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "remarketing list*2015" will return objects with names like "remarketing list June 2015", "remarketing list April 2015", or simply "remarketing list 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "remarketing list" will match objects with name "my remarketing list", "remarketing list 2015", or simply "remarketing list". + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Remarketinglists$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Remarketinglists$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Remarketinglists$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.remarketingLists.patch + * @desc Updates an existing remarketing list. This method supports patch + * semantics. + * @alias dfareporting.remarketingLists.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Remarketing list ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().RemarketingList} 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 + */ + patch(params?: Params$Resource$Remarketinglists$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Remarketinglists$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Remarketinglists$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.remarketingLists.update + * @desc Updates an existing remarketing list. + * @alias dfareporting.remarketingLists.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().RemarketingList} 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?: Params$Resource$Remarketinglists$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Remarketinglists$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Remarketinglists$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Remarketinglists$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Remarketing list ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Remarketinglists$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RemarketingList; + } + interface Params$Resource$Remarketinglists$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only active or only inactive remarketing lists. + */ + active?: boolean; + /** + * Select only remarketing lists owned by this advertiser. + */ + advertiserId?: string; + /** + * Select only remarketing lists that have this floodlight activity ID. + */ + floodlightActivityId?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "remarketing list*2015" will return objects with names like + * "remarketing list June 2015", "remarketing list April 2015", or simply + * "remarketing list 2015". Most of the searches also add wildcards + * implicitly at the start and the end of the search string. For example, a + * search string of "remarketing list" will match objects with name "my + * remarketing list", "remarketing list 2015", or simply "remarketing list". + */ + name?: string; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + interface Params$Resource$Remarketinglists$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Remarketing list ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RemarketingList; + } + interface Params$Resource$Remarketinglists$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RemarketingList; + } + class Resource$Remarketinglistshares { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.remarketingListShares.get + * @desc Gets one remarketing list share by remarketing list ID. + * @alias dfareporting.remarketingListShares.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {string} params.remarketingListId Remarketing list ID. + * @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?: Params$Resource$Remarketinglistshares$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Remarketinglistshares$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Remarketinglistshares$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.remarketingListShares.patch + * @desc Updates an existing remarketing list share. This method supports + * patch semantics. + * @alias dfareporting.remarketingListShares.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {string} params.remarketingListId Remarketing list ID. + * @param {().RemarketingListShare} 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 + */ + patch(params?: Params$Resource$Remarketinglistshares$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Remarketinglistshares$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Remarketinglistshares$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.remarketingListShares.update + * @desc Updates an existing remarketing list share. + * @alias dfareporting.remarketingListShares.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().RemarketingListShare} 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?: Params$Resource$Remarketinglistshares$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Remarketinglistshares$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Remarketinglistshares$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Remarketinglistshares$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Remarketing list ID. + */ + remarketingListId?: string; + } + interface Params$Resource$Remarketinglistshares$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Remarketing list ID. + */ + remarketingListId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RemarketingListShare; + } + interface Params$Resource$Remarketinglistshares$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RemarketingListShare; + } + class Resource$Reports { + root: Dfareporting; + compatibleFields: Resource$Reports$Compatiblefields; + files: Resource$Reports$Files; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.reports.delete + * @desc Deletes a report by its ID. + * @alias dfareporting.reports.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId The DFA user profile ID. + * @param {string} params.reportId The ID of the report. + * @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?: Params$Resource$Reports$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Reports$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Reports$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dfareporting.reports.get + * @desc Retrieves a report by its ID. + * @alias dfareporting.reports.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId The DFA user profile ID. + * @param {string} params.reportId The ID of the report. + * @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?: Params$Resource$Reports$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Reports$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Reports$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.reports.insert + * @desc Creates a report. + * @alias dfareporting.reports.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId The DFA user profile ID. + * @param {().Report} 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?: Params$Resource$Reports$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Reports$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Reports$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.reports.list + * @desc Retrieves list of reports. + * @alias dfareporting.reports.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken The value of the nextToken from the previous result page. + * @param {string} params.profileId The DFA user profile ID. + * @param {string=} params.scope The scope that defines which results are returned. + * @param {string=} params.sortField The field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Reports$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Reports$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Reports$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.reports.patch + * @desc Updates a report. This method supports patch semantics. + * @alias dfareporting.reports.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId The DFA user profile ID. + * @param {string} params.reportId The ID of the report. + * @param {().Report} 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 + */ + patch(params?: Params$Resource$Reports$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Reports$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Reports$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.reports.run + * @desc Runs a report. + * @alias dfareporting.reports.run + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId The DFA profile ID. + * @param {string} params.reportId The ID of the report. + * @param {boolean=} params.synchronous If set and true, tries to run the report synchronously. + * @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 + */ + run(params?: Params$Resource$Reports$Run, options?: MethodOptions): AxiosPromise; + run(params: Params$Resource$Reports$Run, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + run(params: Params$Resource$Reports$Run, callback: BodyResponseCallback): void; + run(callback: BodyResponseCallback): void; + /** + * dfareporting.reports.update + * @desc Updates a report. + * @alias dfareporting.reports.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId The DFA user profile ID. + * @param {string} params.reportId The ID of the report. + * @param {().Report} 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?: Params$Resource$Reports$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Reports$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Reports$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Reports$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The DFA user profile ID. + */ + profileId?: string; + /** + * The ID of the report. + */ + reportId?: string; + } + interface Params$Resource$Reports$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The DFA user profile ID. + */ + profileId?: string; + /** + * The ID of the report. + */ + reportId?: string; + } + interface Params$Resource$Reports$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The DFA user profile ID. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Report; + } + interface Params$Resource$Reports$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * The value of the nextToken from the previous result page. + */ + pageToken?: string; + /** + * The DFA user profile ID. + */ + profileId?: string; + /** + * The scope that defines which results are returned. + */ + scope?: string; + /** + * The field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + interface Params$Resource$Reports$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The DFA user profile ID. + */ + profileId?: string; + /** + * The ID of the report. + */ + reportId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Report; + } + interface Params$Resource$Reports$Run { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The DFA profile ID. + */ + profileId?: string; + /** + * The ID of the report. + */ + reportId?: string; + /** + * If set and true, tries to run the report synchronously. + */ + synchronous?: boolean; + } + interface Params$Resource$Reports$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The DFA user profile ID. + */ + profileId?: string; + /** + * The ID of the report. + */ + reportId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Report; + } + class Resource$Reports$Compatiblefields { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.reports.compatibleFields.query + * @desc Returns the fields that are compatible to be selected in the + * respective sections of a report criteria, given the fields already + * selected in the input report and user permissions. + * @alias dfareporting.reports.compatibleFields.query + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId The DFA user profile ID. + * @param {().Report} 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 + */ + query(params?: Params$Resource$Reports$Compatiblefields$Query, options?: MethodOptions): AxiosPromise; + query(params: Params$Resource$Reports$Compatiblefields$Query, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + query(params: Params$Resource$Reports$Compatiblefields$Query, callback: BodyResponseCallback): void; + query(callback: BodyResponseCallback): void; + } + interface Params$Resource$Reports$Compatiblefields$Query { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The DFA user profile ID. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Report; + } + class Resource$Reports$Files { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.reports.files.get + * @desc Retrieves a report file. This method supports media download. + * @alias dfareporting.reports.files.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.fileId The ID of the report file. + * @param {string} params.profileId The DFA profile ID. + * @param {string} params.reportId The ID of the report. + * @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?: Params$Resource$Reports$Files$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Reports$Files$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Reports$Files$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.reports.files.list + * @desc Lists files for a report. + * @alias dfareporting.reports.files.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken The value of the nextToken from the previous result page. + * @param {string} params.profileId The DFA profile ID. + * @param {string} params.reportId The ID of the parent report. + * @param {string=} params.sortField The field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Reports$Files$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Reports$Files$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Reports$Files$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Reports$Files$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the report file. + */ + fileId?: string; + /** + * The DFA profile ID. + */ + profileId?: string; + /** + * The ID of the report. + */ + reportId?: string; + } + interface Params$Resource$Reports$Files$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * The value of the nextToken from the previous result page. + */ + pageToken?: string; + /** + * The DFA profile ID. + */ + profileId?: string; + /** + * The ID of the parent report. + */ + reportId?: string; + /** + * The field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + class Resource$Sites { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.sites.get + * @desc Gets one site by ID. + * @alias dfareporting.sites.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Site ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Sites$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Sites$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Sites$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.sites.insert + * @desc Inserts a new site. + * @alias dfareporting.sites.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Site} 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?: Params$Resource$Sites$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Sites$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Sites$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.sites.list + * @desc Retrieves a list of sites, possibly filtered. This method supports + * paging. + * @alias dfareporting.sites.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.acceptsInStreamVideoPlacements This search filter is no longer supported and will have no effect on the results returned. + * @param {boolean=} params.acceptsInterstitialPlacements This search filter is no longer supported and will have no effect on the results returned. + * @param {boolean=} params.acceptsPublisherPaidPlacements Select only sites that accept publisher paid placements. + * @param {boolean=} params.adWordsSite Select only AdWords sites. + * @param {boolean=} params.approved Select only approved sites. + * @param {string=} params.campaignIds Select only sites with these campaign IDs. + * @param {string=} params.directorySiteIds Select only sites with these directory site IDs. + * @param {string=} params.ids Select only sites with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name, ID or keyName. Wildcards (*) are allowed. For example, "site*2015" will return objects with names like "site June 2015", "site April 2015", or simply "site 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "site" will match objects with name "my site", "site 2015", or simply "site". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @param {string=} params.subaccountId Select only sites with this subaccount ID. + * @param {boolean=} params.unmappedSite Select only sites that have not been mapped to a directory site. + * @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?: Params$Resource$Sites$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Sites$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Sites$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.sites.patch + * @desc Updates an existing site. This method supports patch semantics. + * @alias dfareporting.sites.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Site ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Site} 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 + */ + patch(params?: Params$Resource$Sites$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Sites$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Sites$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.sites.update + * @desc Updates an existing site. + * @alias dfareporting.sites.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Site} 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?: Params$Resource$Sites$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Sites$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Sites$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Sites$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Site ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Sites$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Site; + } + interface Params$Resource$Sites$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * This search filter is no longer supported and will have no effect on the + * results returned. + */ + acceptsInStreamVideoPlacements?: boolean; + /** + * This search filter is no longer supported and will have no effect on the + * results returned. + */ + acceptsInterstitialPlacements?: boolean; + /** + * Select only sites that accept publisher paid placements. + */ + acceptsPublisherPaidPlacements?: boolean; + /** + * Select only AdWords sites. + */ + adWordsSite?: boolean; + /** + * Select only approved sites. + */ + approved?: boolean; + /** + * Select only sites with these campaign IDs. + */ + campaignIds?: string; + /** + * Select only sites with these directory site IDs. + */ + directorySiteIds?: string; + /** + * Select only sites with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name, ID or keyName. Wildcards (*) are + * allowed. For example, "site*2015" will return objects with names like + * "site June 2015", "site April 2015", or simply "site 2015". Most of the + * searches also add wildcards implicitly at the start and the end of the + * search string. For example, a search string of "site" will match objects + * with name "my site", "site 2015", or simply "site". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + /** + * Select only sites with this subaccount ID. + */ + subaccountId?: string; + /** + * Select only sites that have not been mapped to a directory site. + */ + unmappedSite?: boolean; + } + interface Params$Resource$Sites$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Site ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Site; + } + interface Params$Resource$Sites$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Site; + } + class Resource$Sizes { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.sizes.get + * @desc Gets one size by ID. + * @alias dfareporting.sizes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Size ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Sizes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Sizes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Sizes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.sizes.insert + * @desc Inserts a new size. + * @alias dfareporting.sizes.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Size} 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?: Params$Resource$Sizes$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Sizes$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Sizes$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.sizes.list + * @desc Retrieves a list of sizes, possibly filtered. Retrieved sizes are + * globally unique and may include values not currently in use by your + * account. Due to this, the list of sizes returned by this method may + * differ from the list seen in the Trafficking UI. + * @alias dfareporting.sizes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.height Select only sizes with this height. + * @param {boolean=} params.iabStandard Select only IAB standard sizes. + * @param {string=} params.ids Select only sizes with these IDs. + * @param {string} params.profileId User profile ID associated with this request. + * @param {integer=} params.width Select only sizes with this width. + * @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?: Params$Resource$Sizes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Sizes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Sizes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Sizes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Size ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Sizes$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Size; + } + interface Params$Resource$Sizes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only sizes with this height. + */ + height?: number; + /** + * Select only IAB standard sizes. + */ + iabStandard?: boolean; + /** + * Select only sizes with these IDs. + */ + ids?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Select only sizes with this width. + */ + width?: number; + } + class Resource$Subaccounts { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.subaccounts.get + * @desc Gets one subaccount by ID. + * @alias dfareporting.subaccounts.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Subaccount ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Subaccounts$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Subaccounts$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Subaccounts$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.subaccounts.insert + * @desc Inserts a new subaccount. + * @alias dfareporting.subaccounts.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Subaccount} 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?: Params$Resource$Subaccounts$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Subaccounts$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Subaccounts$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.subaccounts.list + * @desc Gets a list of subaccounts, possibly filtered. This method supports + * paging. + * @alias dfareporting.subaccounts.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.ids Select only subaccounts with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "subaccount*2015" will return objects with names like "subaccount June 2015", "subaccount April 2015", or simply "subaccount 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "subaccount" will match objects with name "my subaccount", "subaccount 2015", or simply "subaccount". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Subaccounts$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Subaccounts$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Subaccounts$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.subaccounts.patch + * @desc Updates an existing subaccount. This method supports patch + * semantics. + * @alias dfareporting.subaccounts.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Subaccount ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Subaccount} 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 + */ + patch(params?: Params$Resource$Subaccounts$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Subaccounts$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Subaccounts$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.subaccounts.update + * @desc Updates an existing subaccount. + * @alias dfareporting.subaccounts.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Subaccount} 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?: Params$Resource$Subaccounts$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Subaccounts$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Subaccounts$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Subaccounts$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Subaccount ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Subaccounts$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Subaccount; + } + interface Params$Resource$Subaccounts$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only subaccounts with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "subaccount*2015" will return objects with names like + * "subaccount June 2015", "subaccount April 2015", or simply "subaccount + * 2015". Most of the searches also add wildcards implicitly at the start + * and the end of the search string. For example, a search string of + * "subaccount" will match objects with name "my subaccount", "subaccount + * 2015", or simply "subaccount". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + interface Params$Resource$Subaccounts$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Subaccount ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Subaccount; + } + interface Params$Resource$Subaccounts$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Subaccount; + } + class Resource$Targetableremarketinglists { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.targetableRemarketingLists.get + * @desc Gets one remarketing list by ID. + * @alias dfareporting.targetableRemarketingLists.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Remarketing list ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Targetableremarketinglists$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Targetableremarketinglists$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Targetableremarketinglists$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.targetableRemarketingLists.list + * @desc Retrieves a list of targetable remarketing lists, possibly + * filtered. This method supports paging. + * @alias dfareporting.targetableRemarketingLists.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.active Select only active or only inactive targetable remarketing lists. + * @param {string} params.advertiserId Select only targetable remarketing lists targetable by these advertisers. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.name Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "remarketing list*2015" will return objects with names like "remarketing list June 2015", "remarketing list April 2015", or simply "remarketing list 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "remarketing list" will match objects with name "my remarketing list", "remarketing list 2015", or simply "remarketing list". + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Targetableremarketinglists$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Targetableremarketinglists$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Targetableremarketinglists$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Targetableremarketinglists$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Remarketing list ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Targetableremarketinglists$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only active or only inactive targetable remarketing lists. + */ + active?: boolean; + /** + * Select only targetable remarketing lists targetable by these advertisers. + */ + advertiserId?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "remarketing list*2015" will return objects with names like + * "remarketing list June 2015", "remarketing list April 2015", or simply + * "remarketing list 2015". Most of the searches also add wildcards + * implicitly at the start and the end of the search string. For example, a + * search string of "remarketing list" will match objects with name "my + * remarketing list", "remarketing list 2015", or simply "remarketing list". + */ + name?: string; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + class Resource$Targetingtemplates { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.targetingTemplates.get + * @desc Gets one targeting template by ID. + * @alias dfareporting.targetingTemplates.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Targeting template ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Targetingtemplates$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Targetingtemplates$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Targetingtemplates$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.targetingTemplates.insert + * @desc Inserts a new targeting template. + * @alias dfareporting.targetingTemplates.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().TargetingTemplate} 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?: Params$Resource$Targetingtemplates$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Targetingtemplates$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Targetingtemplates$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.targetingTemplates.list + * @desc Retrieves a list of targeting templates, optionally filtered. This + * method supports paging. + * @alias dfareporting.targetingTemplates.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.advertiserId Select only targeting templates with this advertiser ID. + * @param {string=} params.ids Select only targeting templates with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "template*2015" will return objects with names like "template June 2015", "template April 2015", or simply "template 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "template" will match objects with name "my template", "template 2015", or simply "template". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Targetingtemplates$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Targetingtemplates$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Targetingtemplates$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.targetingTemplates.patch + * @desc Updates an existing targeting template. This method supports patch + * semantics. + * @alias dfareporting.targetingTemplates.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Targeting template ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().TargetingTemplate} 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 + */ + patch(params?: Params$Resource$Targetingtemplates$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Targetingtemplates$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Targetingtemplates$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.targetingTemplates.update + * @desc Updates an existing targeting template. + * @alias dfareporting.targetingTemplates.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().TargetingTemplate} 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?: Params$Resource$Targetingtemplates$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Targetingtemplates$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Targetingtemplates$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Targetingtemplates$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Targeting template ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Targetingtemplates$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetingTemplate; + } + interface Params$Resource$Targetingtemplates$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only targeting templates with this advertiser ID. + */ + advertiserId?: string; + /** + * Select only targeting templates with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "template*2015" will return objects with names like + * "template June 2015", "template April 2015", or simply "template 2015". + * Most of the searches also add wildcards implicitly at the start and the + * end of the search string. For example, a search string of "template" will + * match objects with name "my template", "template 2015", or simply + * "template". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + interface Params$Resource$Targetingtemplates$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Targeting template ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetingTemplate; + } + interface Params$Resource$Targetingtemplates$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetingTemplate; + } + class Resource$Userprofiles { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.userProfiles.get + * @desc Gets one user profile by ID. + * @alias dfareporting.userProfiles.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId The user profile ID. + * @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?: Params$Resource$Userprofiles$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Userprofiles$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Userprofiles$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.userProfiles.list + * @desc Retrieves list of user profiles for a user. + * @alias dfareporting.userProfiles.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @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?: Params$Resource$Userprofiles$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Userprofiles$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Userprofiles$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Userprofiles$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The user profile ID. + */ + profileId?: string; + } + interface Params$Resource$Userprofiles$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } + class Resource$Userrolepermissiongroups { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.userRolePermissionGroups.get + * @desc Gets one user role permission group by ID. + * @alias dfareporting.userRolePermissionGroups.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id User role permission group ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Userrolepermissiongroups$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Userrolepermissiongroups$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Userrolepermissiongroups$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.userRolePermissionGroups.list + * @desc Gets a list of all supported user role permission groups. + * @alias dfareporting.userRolePermissionGroups.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Userrolepermissiongroups$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Userrolepermissiongroups$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Userrolepermissiongroups$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Userrolepermissiongroups$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User role permission group ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Userrolepermissiongroups$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Userrolepermissions { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.userRolePermissions.get + * @desc Gets one user role permission by ID. + * @alias dfareporting.userRolePermissions.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id User role permission ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Userrolepermissions$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Userrolepermissions$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Userrolepermissions$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.userRolePermissions.list + * @desc Gets a list of user role permissions, possibly filtered. + * @alias dfareporting.userRolePermissions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.ids Select only user role permissions with these IDs. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Userrolepermissions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Userrolepermissions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Userrolepermissions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Userrolepermissions$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User role permission ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Userrolepermissions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only user role permissions with these IDs. + */ + ids?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Userroles { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.userRoles.delete + * @desc Deletes an existing user role. + * @alias dfareporting.userRoles.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id User role ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Userroles$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Userroles$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Userroles$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dfareporting.userRoles.get + * @desc Gets one user role by ID. + * @alias dfareporting.userRoles.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id User role ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Userroles$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Userroles$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Userroles$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.userRoles.insert + * @desc Inserts a new user role. + * @alias dfareporting.userRoles.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().UserRole} 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?: Params$Resource$Userroles$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Userroles$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Userroles$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.userRoles.list + * @desc Retrieves a list of user roles, possibly filtered. This method + * supports paging. + * @alias dfareporting.userRoles.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.accountUserRoleOnly Select only account level user roles not associated with any specific subaccount. + * @param {string=} params.ids Select only user roles with the specified IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "userrole*2015" will return objects with names like "userrole June 2015", "userrole April 2015", or simply "userrole 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "userrole" will match objects with name "my userrole", "userrole 2015", or simply "userrole". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @param {string=} params.subaccountId Select only user roles that belong to this subaccount. + * @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?: Params$Resource$Userroles$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Userroles$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Userroles$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.userRoles.patch + * @desc Updates an existing user role. This method supports patch + * semantics. + * @alias dfareporting.userRoles.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id User role ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().UserRole} 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 + */ + patch(params?: Params$Resource$Userroles$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Userroles$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Userroles$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.userRoles.update + * @desc Updates an existing user role. + * @alias dfareporting.userRoles.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().UserRole} 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?: Params$Resource$Userroles$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Userroles$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Userroles$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Userroles$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User role ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Userroles$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User role ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Userroles$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UserRole; + } + interface Params$Resource$Userroles$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only account level user roles not associated with any specific + * subaccount. + */ + accountUserRoleOnly?: boolean; + /** + * Select only user roles with the specified IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "userrole*2015" will return objects with names like + * "userrole June 2015", "userrole April 2015", or simply "userrole 2015". + * Most of the searches also add wildcards implicitly at the start and the + * end of the search string. For example, a search string of "userrole" will + * match objects with name "my userrole", "userrole 2015", or simply + * "userrole". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + /** + * Select only user roles that belong to this subaccount. + */ + subaccountId?: string; + } + interface Params$Resource$Userroles$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User role ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UserRole; + } + interface Params$Resource$Userroles$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UserRole; + } + class Resource$Videoformats { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.videoFormats.get + * @desc Gets one video format by ID. + * @alias dfareporting.videoFormats.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.id Video format ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Videoformats$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Videoformats$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Videoformats$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.videoFormats.list + * @desc Lists available video formats. + * @alias dfareporting.videoFormats.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Videoformats$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Videoformats$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Videoformats$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Videoformats$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Video format ID. + */ + id?: number; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Videoformats$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/dfareporting/v3.1.js b/express-server/node_modules/googleapis/build/src/apis/dfareporting/v3.1.js new file mode 100644 index 00000000..156121ef --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dfareporting/v3.1.js @@ -0,0 +1,7342 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var dfareporting_v3_1; +(function (dfareporting_v3_1) { + /** + * DCM/DFA Reporting And Trafficking API + * + * Manages your DoubleClick Campaign Manager ad campaigns and reports. + * + * @example + * const {google} = require('googleapis'); + * const dfareporting = google.dfareporting('v3.1'); + * + * @namespace dfareporting + * @type {Function} + * @version v3.1 + * @variation v3.1 + * @param {object=} options Options for Dfareporting + */ + class Dfareporting { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.accountActiveAdSummaries = + new Resource$Accountactiveadsummaries(this); + this.accountPermissionGroups = new Resource$Accountpermissiongroups(this); + this.accountPermissions = new Resource$Accountpermissions(this); + this.accounts = new Resource$Accounts(this); + this.accountUserProfiles = new Resource$Accountuserprofiles(this); + this.ads = new Resource$Ads(this); + this.advertiserGroups = new Resource$Advertisergroups(this); + this.advertiserLandingPages = new Resource$Advertiserlandingpages(this); + this.advertisers = new Resource$Advertisers(this); + this.browsers = new Resource$Browsers(this); + this.campaignCreativeAssociations = + new Resource$Campaigncreativeassociations(this); + this.campaigns = new Resource$Campaigns(this); + this.changeLogs = new Resource$Changelogs(this); + this.cities = new Resource$Cities(this); + this.connectionTypes = new Resource$Connectiontypes(this); + this.contentCategories = new Resource$Contentcategories(this); + this.conversions = new Resource$Conversions(this); + this.countries = new Resource$Countries(this); + this.creativeAssets = new Resource$Creativeassets(this); + this.creativeFields = new Resource$Creativefields(this); + this.creativeFieldValues = new Resource$Creativefieldvalues(this); + this.creativeGroups = new Resource$Creativegroups(this); + this.creatives = new Resource$Creatives(this); + this.dimensionValues = new Resource$Dimensionvalues(this); + this.directorySiteContacts = new Resource$Directorysitecontacts(this); + this.directorySites = new Resource$Directorysites(this); + this.dynamicTargetingKeys = new Resource$Dynamictargetingkeys(this); + this.eventTags = new Resource$Eventtags(this); + this.files = new Resource$Files(this); + this.floodlightActivities = new Resource$Floodlightactivities(this); + this.floodlightActivityGroups = + new Resource$Floodlightactivitygroups(this); + this.floodlightConfigurations = + new Resource$Floodlightconfigurations(this); + this.inventoryItems = new Resource$Inventoryitems(this); + this.languages = new Resource$Languages(this); + this.metros = new Resource$Metros(this); + this.mobileApps = new Resource$Mobileapps(this); + this.mobileCarriers = new Resource$Mobilecarriers(this); + this.operatingSystems = new Resource$Operatingsystems(this); + this.operatingSystemVersions = new Resource$Operatingsystemversions(this); + this.orderDocuments = new Resource$Orderdocuments(this); + this.orders = new Resource$Orders(this); + this.placementGroups = new Resource$Placementgroups(this); + this.placements = new Resource$Placements(this); + this.placementStrategies = new Resource$Placementstrategies(this); + this.platformTypes = new Resource$Platformtypes(this); + this.postalCodes = new Resource$Postalcodes(this); + this.projects = new Resource$Projects(this); + this.regions = new Resource$Regions(this); + this.remarketingLists = new Resource$Remarketinglists(this); + this.remarketingListShares = new Resource$Remarketinglistshares(this); + this.reports = new Resource$Reports(this); + this.sites = new Resource$Sites(this); + this.sizes = new Resource$Sizes(this); + this.subaccounts = new Resource$Subaccounts(this); + this.targetableRemarketingLists = + new Resource$Targetableremarketinglists(this); + this.targetingTemplates = new Resource$Targetingtemplates(this); + this.userProfiles = new Resource$Userprofiles(this); + this.userRolePermissionGroups = + new Resource$Userrolepermissiongroups(this); + this.userRolePermissions = new Resource$Userrolepermissions(this); + this.userRoles = new Resource$Userroles(this); + this.videoFormats = new Resource$Videoformats(this); + } + getRoot() { + return this.root; + } + } + dfareporting_v3_1.Dfareporting = Dfareporting; + class Resource$Accountactiveadsummaries { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/accountActiveAdSummaries/{summaryAccountId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'summaryAccountId'], + pathParams: ['profileId', 'summaryAccountId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Accountactiveadsummaries = Resource$Accountactiveadsummaries; + class Resource$Accountpermissiongroups { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/accountPermissionGroups/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/accountPermissionGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Accountpermissiongroups = Resource$Accountpermissiongroups; + class Resource$Accountpermissions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/accountPermissions/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/accountPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Accountpermissions = Resource$Accountpermissions; + class Resource$Accounts { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/accounts/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/accounts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/accounts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/accounts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Accounts = Resource$Accounts; + class Resource$Accountuserprofiles { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/accountUserProfiles/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/accountUserProfiles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/accountUserProfiles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/accountUserProfiles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/accountUserProfiles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Accountuserprofiles = Resource$Accountuserprofiles; + class Resource$Ads { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/ads/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/dfareporting/v3.1/userprofiles/{profileId}/ads') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/dfareporting/v3.1/userprofiles/{profileId}/ads') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/dfareporting/v3.1/userprofiles/{profileId}/ads') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/dfareporting/v3.1/userprofiles/{profileId}/ads') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Ads = Resource$Ads; + class Resource$Advertisergroups { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/advertiserGroups/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/advertiserGroups/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/advertiserGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/advertiserGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/advertiserGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/advertiserGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Advertisergroups = Resource$Advertisergroups; + class Resource$Advertiserlandingpages { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/advertiserLandingPages/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/advertiserLandingPages') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/advertiserLandingPages') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/advertiserLandingPages') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/advertiserLandingPages') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Advertiserlandingpages = Resource$Advertiserlandingpages; + class Resource$Advertisers { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/advertisers/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/advertisers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/advertisers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/advertisers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/advertisers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Advertisers = Resource$Advertisers; + class Resource$Browsers { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/browsers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Browsers = Resource$Browsers; + class Resource$Campaigncreativeassociations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId', 'campaignId'], + pathParams: ['campaignId', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'campaignId'], + pathParams: ['campaignId', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Campaigncreativeassociations = Resource$Campaigncreativeassociations; + class Resource$Campaigns { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/campaigns/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/campaigns') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/campaigns') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/campaigns') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/campaigns') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Campaigns = Resource$Campaigns; + class Resource$Changelogs { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/changeLogs/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/changeLogs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Changelogs = Resource$Changelogs; + class Resource$Cities { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/cities') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Cities = Resource$Cities; + class Resource$Connectiontypes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/connectionTypes/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/connectionTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Connectiontypes = Resource$Connectiontypes; + class Resource$Contentcategories { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/contentCategories/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/contentCategories/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/contentCategories') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/contentCategories') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/contentCategories') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/contentCategories') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Contentcategories = Resource$Contentcategories; + class Resource$Conversions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + batchinsert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/conversions/batchinsert') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + batchupdate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/conversions/batchupdate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Conversions = Resource$Conversions; + class Resource$Countries { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/countries/{dartId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'dartId'], + pathParams: ['dartId', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/countries') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Countries = Resource$Countries; + class Resource$Creativeassets { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + mediaUrl: (rootUrl + + '/upload/dfareporting/v3.1/userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets') + .replace(/([^:]\/)\/+/g, '$1'), + requiredParams: ['profileId', 'advertiserId'], + pathParams: ['advertiserId', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Creativeassets = Resource$Creativeassets; + class Resource$Creativefields { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/creativeFields/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/creativeFields/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/creativeFields') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/creativeFields') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/creativeFields') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/creativeFields') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Creativefields = Resource$Creativefields; + class Resource$Creativefieldvalues { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['profileId', 'creativeFieldId', 'id'], + pathParams: ['creativeFieldId', 'id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'creativeFieldId', 'id'], + pathParams: ['creativeFieldId', 'id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId', 'creativeFieldId'], + pathParams: ['creativeFieldId', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'creativeFieldId'], + pathParams: ['creativeFieldId', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'creativeFieldId', 'id'], + pathParams: ['creativeFieldId', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId', 'creativeFieldId'], + pathParams: ['creativeFieldId', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Creativefieldvalues = Resource$Creativefieldvalues; + class Resource$Creativegroups { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/creativeGroups/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/creativeGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/creativeGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/creativeGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/creativeGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Creativegroups = Resource$Creativegroups; + class Resource$Creatives { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/creatives/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/creatives') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/creatives') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/creatives') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/creatives') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Creatives = Resource$Creatives; + class Resource$Dimensionvalues { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + query(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/dimensionvalues/query') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Dimensionvalues = Resource$Dimensionvalues; + class Resource$Directorysitecontacts { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/directorySiteContacts/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/directorySiteContacts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Directorysitecontacts = Resource$Directorysitecontacts; + class Resource$Directorysites { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/directorySites/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/directorySites') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/directorySites') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Directorysites = Resource$Directorysites; + class Resource$Dynamictargetingkeys { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/dynamicTargetingKeys/{objectId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['profileId', 'objectId', 'name', 'objectType'], + pathParams: ['objectId', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/dynamicTargetingKeys') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/dynamicTargetingKeys') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Dynamictargetingkeys = Resource$Dynamictargetingkeys; + class Resource$Eventtags { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/eventTags/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/eventTags/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/eventTags') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/eventTags') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/eventTags') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/eventTags') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Eventtags = Resource$Eventtags; + class Resource$Files { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/reports/{reportId}/files/{fileId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['reportId', 'fileId'], + pathParams: ['fileId', 'reportId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/files') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Files = Resource$Files; + class Resource$Floodlightactivities { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/floodlightActivities/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + generatetag(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/floodlightActivities/generatetag') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/floodlightActivities/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/floodlightActivities') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/floodlightActivities') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/floodlightActivities') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/floodlightActivities') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Floodlightactivities = Resource$Floodlightactivities; + class Resource$Floodlightactivitygroups { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/floodlightActivityGroups/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/floodlightActivityGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/floodlightActivityGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/floodlightActivityGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/floodlightActivityGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Floodlightactivitygroups = Resource$Floodlightactivitygroups; + class Resource$Floodlightconfigurations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/floodlightConfigurations/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/floodlightConfigurations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/floodlightConfigurations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/floodlightConfigurations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Floodlightconfigurations = Resource$Floodlightconfigurations; + class Resource$Inventoryitems { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/projects/{projectId}/inventoryItems/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'projectId', 'id'], + pathParams: ['id', 'profileId', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/projects/{projectId}/inventoryItems') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'projectId'], + pathParams: ['profileId', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Inventoryitems = Resource$Inventoryitems; + class Resource$Languages { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/languages') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Languages = Resource$Languages; + class Resource$Metros { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/metros') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Metros = Resource$Metros; + class Resource$Mobileapps { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/mobileApps/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/mobileApps') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Mobileapps = Resource$Mobileapps; + class Resource$Mobilecarriers { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/mobileCarriers/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/mobileCarriers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Mobilecarriers = Resource$Mobilecarriers; + class Resource$Operatingsystems { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/operatingSystems/{dartId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'dartId'], + pathParams: ['dartId', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/operatingSystems') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Operatingsystems = Resource$Operatingsystems; + class Resource$Operatingsystemversions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/operatingSystemVersions/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/operatingSystemVersions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Operatingsystemversions = Resource$Operatingsystemversions; + class Resource$Orderdocuments { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/projects/{projectId}/orderDocuments/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'projectId', 'id'], + pathParams: ['id', 'profileId', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/projects/{projectId}/orderDocuments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'projectId'], + pathParams: ['profileId', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Orderdocuments = Resource$Orderdocuments; + class Resource$Orders { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/projects/{projectId}/orders/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'projectId', 'id'], + pathParams: ['id', 'profileId', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/projects/{projectId}/orders') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'projectId'], + pathParams: ['profileId', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Orders = Resource$Orders; + class Resource$Placementgroups { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/placementGroups/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/placementGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/placementGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/placementGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/placementGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Placementgroups = Resource$Placementgroups; + class Resource$Placements { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + generatetags(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/placements/generatetags') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/placements/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/placements') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/placements') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/placements') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/placements') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Placements = Resource$Placements; + class Resource$Placementstrategies { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/placementStrategies/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/placementStrategies/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/placementStrategies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/placementStrategies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/placementStrategies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/placementStrategies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Placementstrategies = Resource$Placementstrategies; + class Resource$Platformtypes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/platformTypes/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/platformTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Platformtypes = Resource$Platformtypes; + class Resource$Postalcodes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/postalCodes/{code}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'code'], + pathParams: ['code', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/postalCodes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Postalcodes = Resource$Postalcodes; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/projects/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/projects') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Projects = Resource$Projects; + class Resource$Regions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/regions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Regions = Resource$Regions; + class Resource$Remarketinglists { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/remarketingLists/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/remarketingLists') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/remarketingLists') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'advertiserId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/remarketingLists') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/remarketingLists') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Remarketinglists = Resource$Remarketinglists; + class Resource$Remarketinglistshares { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/remarketingListShares/{remarketingListId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'remarketingListId'], + pathParams: ['profileId', 'remarketingListId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/remarketingListShares') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'remarketingListId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/remarketingListShares') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Remarketinglistshares = Resource$Remarketinglistshares; + class Resource$Reports { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.compatibleFields = new Resource$Reports$Compatiblefields(root); + this.files = new Resource$Reports$Files(root); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/reports/{reportId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['profileId', 'reportId'], + pathParams: ['profileId', 'reportId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/reports/{reportId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'reportId'], + pathParams: ['profileId', 'reportId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/reports') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/reports') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/reports/{reportId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'reportId'], + pathParams: ['profileId', 'reportId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + run(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/reports/{reportId}/run') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId', 'reportId'], + pathParams: ['profileId', 'reportId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/reports/{reportId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId', 'reportId'], + pathParams: ['profileId', 'reportId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Reports = Resource$Reports; + class Resource$Reports$Compatiblefields { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + query(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/reports/compatiblefields/query') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Reports$Compatiblefields = Resource$Reports$Compatiblefields; + class Resource$Reports$Files { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/reports/{reportId}/files/{fileId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'reportId', 'fileId'], + pathParams: ['fileId', 'profileId', 'reportId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/reports/{reportId}/files') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'reportId'], + pathParams: ['profileId', 'reportId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Reports$Files = Resource$Reports$Files; + class Resource$Sites { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/sites/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/sites') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/sites') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/sites') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/sites') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Sites = Resource$Sites; + class Resource$Sizes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/sizes/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/sizes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/sizes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Sizes = Resource$Sizes; + class Resource$Subaccounts { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/subaccounts/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/subaccounts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/subaccounts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/subaccounts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/subaccounts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Subaccounts = Resource$Subaccounts; + class Resource$Targetableremarketinglists { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/targetableRemarketingLists/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/targetableRemarketingLists') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'advertiserId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Targetableremarketinglists = Resource$Targetableremarketinglists; + class Resource$Targetingtemplates { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/targetingTemplates/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/targetingTemplates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/targetingTemplates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/targetingTemplates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/targetingTemplates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Targetingtemplates = Resource$Targetingtemplates; + class Resource$Userprofiles { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/dfareporting/v3.1/userprofiles/{profileId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/dfareporting/v3.1/userprofiles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Userprofiles = Resource$Userprofiles; + class Resource$Userrolepermissiongroups { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/userRolePermissionGroups/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/userRolePermissionGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Userrolepermissiongroups = Resource$Userrolepermissiongroups; + class Resource$Userrolepermissions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/userRolePermissions/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/userRolePermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Userrolepermissions = Resource$Userrolepermissions; + class Resource$Userroles { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/userRoles/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/userRoles/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/userRoles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/userRoles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/userRoles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/userRoles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Userroles = Resource$Userroles; + class Resource$Videoformats { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/videoFormats/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.1/userprofiles/{profileId}/videoFormats') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_1.Resource$Videoformats = Resource$Videoformats; +})(dfareporting_v3_1 = exports.dfareporting_v3_1 || (exports.dfareporting_v3_1 = {})); +//# sourceMappingURL=v3.1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/dfareporting/v3.1.js.map b/express-server/node_modules/googleapis/build/src/apis/dfareporting/v3.1.js.map new file mode 100644 index 00000000..57c96a17 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dfareporting/v3.1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v3.1.js","sourceRoot":"","sources":["../../../../src/apis/dfareporting/v3.1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/dfareporting/v3.2.d.ts b/express-server/node_modules/googleapis/build/src/apis/dfareporting/v3.2.d.ts new file mode 100644 index 00000000..78adbb32 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dfareporting/v3.2.d.ts @@ -0,0 +1,16316 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace dfareporting_v3_2 { + interface Options extends GlobalOptions { + version: 'v3_2'; + } + /** + * DCM/DFA Reporting And Trafficking API + * + * Manages your DoubleClick Campaign Manager ad campaigns and reports. + * + * @example + * const {google} = require('googleapis'); + * const dfareporting = google.dfareporting('v3.2'); + * + * @namespace dfareporting + * @type {Function} + * @version v3.2 + * @variation v3.2 + * @param {object=} options Options for Dfareporting + */ + class Dfareporting { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + accountActiveAdSummaries: Resource$Accountactiveadsummaries; + accountPermissionGroups: Resource$Accountpermissiongroups; + accountPermissions: Resource$Accountpermissions; + accounts: Resource$Accounts; + accountUserProfiles: Resource$Accountuserprofiles; + ads: Resource$Ads; + advertiserGroups: Resource$Advertisergroups; + advertiserLandingPages: Resource$Advertiserlandingpages; + advertisers: Resource$Advertisers; + browsers: Resource$Browsers; + campaignCreativeAssociations: Resource$Campaigncreativeassociations; + campaigns: Resource$Campaigns; + changeLogs: Resource$Changelogs; + cities: Resource$Cities; + connectionTypes: Resource$Connectiontypes; + contentCategories: Resource$Contentcategories; + conversions: Resource$Conversions; + countries: Resource$Countries; + creativeAssets: Resource$Creativeassets; + creativeFields: Resource$Creativefields; + creativeFieldValues: Resource$Creativefieldvalues; + creativeGroups: Resource$Creativegroups; + creatives: Resource$Creatives; + dimensionValues: Resource$Dimensionvalues; + directorySiteContacts: Resource$Directorysitecontacts; + directorySites: Resource$Directorysites; + dynamicTargetingKeys: Resource$Dynamictargetingkeys; + eventTags: Resource$Eventtags; + files: Resource$Files; + floodlightActivities: Resource$Floodlightactivities; + floodlightActivityGroups: Resource$Floodlightactivitygroups; + floodlightConfigurations: Resource$Floodlightconfigurations; + inventoryItems: Resource$Inventoryitems; + languages: Resource$Languages; + metros: Resource$Metros; + mobileApps: Resource$Mobileapps; + mobileCarriers: Resource$Mobilecarriers; + operatingSystems: Resource$Operatingsystems; + operatingSystemVersions: Resource$Operatingsystemversions; + orderDocuments: Resource$Orderdocuments; + orders: Resource$Orders; + placementGroups: Resource$Placementgroups; + placements: Resource$Placements; + placementStrategies: Resource$Placementstrategies; + platformTypes: Resource$Platformtypes; + postalCodes: Resource$Postalcodes; + projects: Resource$Projects; + regions: Resource$Regions; + remarketingLists: Resource$Remarketinglists; + remarketingListShares: Resource$Remarketinglistshares; + reports: Resource$Reports; + sites: Resource$Sites; + sizes: Resource$Sizes; + subaccounts: Resource$Subaccounts; + targetableRemarketingLists: Resource$Targetableremarketinglists; + targetingTemplates: Resource$Targetingtemplates; + userProfiles: Resource$Userprofiles; + userRolePermissionGroups: Resource$Userrolepermissiongroups; + userRolePermissions: Resource$Userrolepermissions; + userRoles: Resource$Userroles; + videoFormats: Resource$Videoformats; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Contains properties of a Campaign Manager account. + */ + interface Schema$Account { + /** + * Account permissions assigned to this account. + */ + accountPermissionIds?: string[]; + /** + * Profile for this account. This is a read-only field that can be left + * blank. + */ + accountProfile?: string; + /** + * Whether this account is active. + */ + active?: boolean; + /** + * Maximum number of active ads allowed for this account. + */ + activeAdsLimitTier?: string; + /** + * Whether to serve creatives with Active View tags. If disabled, + * viewability data will not be available for any impressions. + */ + activeViewOptOut?: boolean; + /** + * User role permissions available to the user roles of this account. + */ + availablePermissionIds?: string[]; + /** + * ID of the country associated with this account. + */ + countryId?: string; + /** + * ID of currency associated with this account. This is a required field. + * Acceptable values are: - "1" for USD - "2" for GBP + * - "3" for ESP - "4" for SEK - "5" for CAD + * - "6" for JPY - "7" for DEM - "8" for AUD + * - "9" for FRF - "10" for ITL - "11" for + * DKK - "12" for NOK - "13" for FIM - "14" + * for ZAR - "15" for IEP - "16" for NLG - + * "17" for EUR - "18" for KRW - "19" for + * TWD - "20" for SGD - "21" for CNY - "22" + * for HKD - "23" for NZD - "24" for MYR - + * "25" for BRL - "26" for PTE - "27" for + * MXP - "28" for CLP - "29" for TRY - "30" + * for ARS - "31" for PEN - "32" for ILS - + * "33" for CHF - "34" for VEF - "35" for + * COP - "36" for GTQ - "37" for PLN - "39" + * for INR - "40" for THB - "41" for IDR - + * "42" for CZK - "43" for RON - "44" for + * HUF - "45" for RUB - "46" for AED - "47" + * for BGN - "48" for HRK - "49" for MXN - + * "50" for NGN + */ + currencyId?: string; + /** + * Default placement dimensions for this account. + */ + defaultCreativeSizeId?: string; + /** + * Description of this account. + */ + description?: string; + /** + * ID of this account. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#account". + */ + kind?: string; + /** + * Locale of this account. Acceptable values are: - "cs" (Czech) + * - "de" (German) - "en" (English) - + * "en-GB" (English United Kingdom) - "es" (Spanish) - + * "fr" (French) - "it" (Italian) - "ja" + * (Japanese) - "ko" (Korean) - "pl" (Polish) - + * "pt-BR" (Portuguese Brazil) - "ru" (Russian) - + * "sv" (Swedish) - "tr" (Turkish) - "zh-CN" + * (Chinese Simplified) - "zh-TW" (Chinese Traditional) + */ + locale?: string; + /** + * Maximum image size allowed for this account, in kilobytes. Value must be + * greater than or equal to 1. + */ + maximumImageSize?: string; + /** + * Name of this account. This is a required field, and must be less than 128 + * characters long and be globally unique. + */ + name?: string; + /** + * Whether campaigns created in this account will be enabled for Nielsen OCR + * reach ratings by default. + */ + nielsenOcrEnabled?: boolean; + /** + * Reporting configuration of this account. + */ + reportsConfiguration?: Schema$ReportsConfiguration; + /** + * Share Path to Conversion reports with Twitter. + */ + shareReportsWithTwitter?: boolean; + /** + * File size limit in kilobytes of Rich Media teaser creatives. Acceptable + * values are 1 to 10240, inclusive. + */ + teaserSizeLimit?: string; + } + /** + * Gets a summary of active ads in an account. + */ + interface Schema$AccountActiveAdSummary { + /** + * ID of the account. + */ + accountId?: string; + /** + * Ads that have been activated for the account + */ + activeAds?: string; + /** + * Maximum number of active ads allowed for the account. + */ + activeAdsLimitTier?: string; + /** + * Ads that can be activated for the account. + */ + availableAds?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#accountActiveAdSummary". + */ + kind?: string; + } + /** + * AccountPermissions contains information about a particular account + * permission. Some features of Campaign Manager require an account permission + * to be present in the account. + */ + interface Schema$AccountPermission { + /** + * Account profiles associated with this account permission. Possible + * values are: - "ACCOUNT_PROFILE_BASIC" - + * "ACCOUNT_PROFILE_STANDARD" + */ + accountProfiles?: string[]; + /** + * ID of this account permission. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#accountPermission". + */ + kind?: string; + /** + * Administrative level required to enable this account permission. + */ + level?: string; + /** + * Name of this account permission. + */ + name?: string; + /** + * Permission group of this account permission. + */ + permissionGroupId?: string; + } + /** + * AccountPermissionGroups contains a mapping of permission group IDs to + * names. A permission group is a grouping of account permissions. + */ + interface Schema$AccountPermissionGroup { + /** + * ID of this account permission group. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#accountPermissionGroup". + */ + kind?: string; + /** + * Name of this account permission group. + */ + name?: string; + } + /** + * Account Permission Group List Response + */ + interface Schema$AccountPermissionGroupsListResponse { + /** + * Account permission group collection. + */ + accountPermissionGroups?: Schema$AccountPermissionGroup[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#accountPermissionGroupsListResponse". + */ + kind?: string; + } + /** + * Account Permission List Response + */ + interface Schema$AccountPermissionsListResponse { + /** + * Account permission collection. + */ + accountPermissions?: Schema$AccountPermission[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#accountPermissionsListResponse". + */ + kind?: string; + } + /** + * Account List Response + */ + interface Schema$AccountsListResponse { + /** + * Account collection. + */ + accounts?: Schema$Account[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#accountsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * AccountUserProfiles contains properties of a Campaign Manager user profile. + * This resource is specifically for managing user profiles, whereas + * UserProfiles is for accessing the API. + */ + interface Schema$AccountUserProfile { + /** + * Account ID of the user profile. This is a read-only field that can be + * left blank. + */ + accountId?: string; + /** + * Whether this user profile is active. This defaults to false, and must be + * set true on insert for the user profile to be usable. + */ + active?: boolean; + /** + * Filter that describes which advertisers are visible to the user profile. + */ + advertiserFilter?: Schema$ObjectFilter; + /** + * Filter that describes which campaigns are visible to the user profile. + */ + campaignFilter?: Schema$ObjectFilter; + /** + * Comments for this user profile. + */ + comments?: string; + /** + * Email of the user profile. The email addresss must be linked to a Google + * Account. This field is required on insertion and is read-only after + * insertion. + */ + email?: string; + /** + * ID of the user profile. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#accountUserProfile". + */ + kind?: string; + /** + * Locale of the user profile. This is a required field. Acceptable values + * are: - "cs" (Czech) - "de" (German) - + * "en" (English) - "en-GB" (English United Kingdom) - + * "es" (Spanish) - "fr" (French) - "it" + * (Italian) - "ja" (Japanese) - "ko" (Korean) - + * "pl" (Polish) - "pt-BR" (Portuguese Brazil) - + * "ru" (Russian) - "sv" (Swedish) - "tr" + * (Turkish) - "zh-CN" (Chinese Simplified) - "zh-TW" + * (Chinese Traditional) + */ + locale?: string; + /** + * Name of the user profile. This is a required field. Must be less than 64 + * characters long, must be globally unique, and cannot contain whitespace + * or any of the following characters: "&;"#%,". + */ + name?: string; + /** + * Filter that describes which sites are visible to the user profile. + */ + siteFilter?: Schema$ObjectFilter; + /** + * Subaccount ID of the user profile. This is a read-only field that can be + * left blank. + */ + subaccountId?: string; + /** + * Trafficker type of this user profile. This is a read-only field. + */ + traffickerType?: string; + /** + * User type of the user profile. This is a read-only field that can be left + * blank. + */ + userAccessType?: string; + /** + * Filter that describes which user roles are visible to the user profile. + */ + userRoleFilter?: Schema$ObjectFilter; + /** + * User role ID of the user profile. This is a required field. + */ + userRoleId?: string; + } + /** + * Account User Profile List Response + */ + interface Schema$AccountUserProfilesListResponse { + /** + * Account user profile collection. + */ + accountUserProfiles?: Schema$AccountUserProfile[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#accountUserProfilesListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Represents an activity group. + */ + interface Schema$Activities { + /** + * List of activity filters. The dimension values need to be all either of + * type "dfa:activity" or "dfa:activityGroup". + */ + filters?: Schema$DimensionValue[]; + /** + * The kind of resource this is, in this case dfareporting#activities. + */ + kind?: string; + /** + * List of names of floodlight activity metrics. + */ + metricNames?: string[]; + } + /** + * Contains properties of a Campaign Manager ad. + */ + interface Schema$Ad { + /** + * Account ID of this ad. This is a read-only field that can be left blank. + */ + accountId?: string; + /** + * Whether this ad is active. When true, archived must be false. + */ + active?: boolean; + /** + * Advertiser ID of this ad. This is a required field on insertion. + */ + advertiserId?: string; + /** + * Dimension value for the ID of the advertiser. This is a read-only, + * auto-generated field. + */ + advertiserIdDimensionValue?: Schema$DimensionValue; + /** + * Whether this ad is archived. When true, active must be false. + */ + archived?: boolean; + /** + * Audience segment ID that is being targeted for this ad. Applicable when + * type is AD_SERVING_STANDARD_AD. + */ + audienceSegmentId?: string; + /** + * Campaign ID of this ad. This is a required field on insertion. + */ + campaignId?: string; + /** + * Dimension value for the ID of the campaign. This is a read-only, + * auto-generated field. + */ + campaignIdDimensionValue?: Schema$DimensionValue; + /** + * Click-through URL for this ad. This is a required field on insertion. + * Applicable when type is AD_SERVING_CLICK_TRACKER. + */ + clickThroughUrl?: Schema$ClickThroughUrl; + /** + * Click-through URL suffix properties for this ad. Applies to the URL in + * the ad or (if overriding ad properties) the URL in the creative. + */ + clickThroughUrlSuffixProperties?: Schema$ClickThroughUrlSuffixProperties; + /** + * Comments for this ad. + */ + comments?: string; + /** + * Compatibility of this ad. Applicable when type is AD_SERVING_DEFAULT_AD. + * DISPLAY and DISPLAY_INTERSTITIAL refer to either rendering on desktop or + * on mobile devices or in mobile apps for regular or interstitial ads, + * respectively. APP and APP_INTERSTITIAL are only used for existing default + * ads. New mobile placements must be assigned DISPLAY or + * DISPLAY_INTERSTITIAL and default ads created for those placements will be + * limited to those compatibility types. IN_STREAM_VIDEO refers to rendering + * in-stream video ads developed with the VAST standard. + */ + compatibility?: string; + /** + * Information about the creation of this ad. This is a read-only field. + */ + createInfo?: Schema$LastModifiedInfo; + /** + * Creative group assignments for this ad. Applicable when type is + * AD_SERVING_CLICK_TRACKER. Only one assignment per creative group number + * is allowed for a maximum of two assignments. + */ + creativeGroupAssignments?: Schema$CreativeGroupAssignment[]; + /** + * Creative rotation for this ad. Applicable when type is + * AD_SERVING_DEFAULT_AD, AD_SERVING_STANDARD_AD, or AD_SERVING_TRACKING. + * When type is AD_SERVING_DEFAULT_AD, this field should have exactly one + * creativeAssignment. + */ + creativeRotation?: Schema$CreativeRotation; + /** + * Time and day targeting information for this ad. This field must be left + * blank if the ad is using a targeting template. Applicable when type is + * AD_SERVING_STANDARD_AD. + */ + dayPartTargeting?: Schema$DayPartTargeting; + /** + * Default click-through event tag properties for this ad. + */ + defaultClickThroughEventTagProperties?: Schema$DefaultClickThroughEventTagProperties; + /** + * Delivery schedule information for this ad. Applicable when type is + * AD_SERVING_STANDARD_AD or AD_SERVING_TRACKING. This field along with + * subfields priority and impressionRatio are required on insertion when + * type is AD_SERVING_STANDARD_AD. + */ + deliverySchedule?: Schema$DeliverySchedule; + /** + * Whether this ad is a dynamic click tracker. Applicable when type is + * AD_SERVING_CLICK_TRACKER. This is a required field on insert, and is + * read-only after insert. + */ + dynamicClickTracker?: boolean; + /** + * Date and time that this ad should stop serving. Must be later than the + * start time. This is a required field on insertion. + */ + endTime?: string; + /** + * Event tag overrides for this ad. + */ + eventTagOverrides?: Schema$EventTagOverride[]; + /** + * Geographical targeting information for this ad. This field must be left + * blank if the ad is using a targeting template. Applicable when type is + * AD_SERVING_STANDARD_AD. + */ + geoTargeting?: Schema$GeoTargeting; + /** + * ID of this ad. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Dimension value for the ID of this ad. This is a read-only, + * auto-generated field. + */ + idDimensionValue?: Schema$DimensionValue; + /** + * Key-value targeting information for this ad. This field must be left + * blank if the ad is using a targeting template. Applicable when type is + * AD_SERVING_STANDARD_AD. + */ + keyValueTargetingExpression?: Schema$KeyValueTargetingExpression; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#ad". + */ + kind?: string; + /** + * Language targeting information for this ad. This field must be left blank + * if the ad is using a targeting template. Applicable when type is + * AD_SERVING_STANDARD_AD. + */ + languageTargeting?: Schema$LanguageTargeting; + /** + * Information about the most recent modification of this ad. This is a + * read-only field. + */ + lastModifiedInfo?: Schema$LastModifiedInfo; + /** + * Name of this ad. This is a required field and must be less than 256 + * characters long. + */ + name?: string; + /** + * Placement assignments for this ad. + */ + placementAssignments?: Schema$PlacementAssignment[]; + /** + * Remarketing list targeting expression for this ad. This field must be + * left blank if the ad is using a targeting template. Applicable when type + * is AD_SERVING_STANDARD_AD. + */ + remarketingListExpression?: Schema$ListTargetingExpression; + /** + * Size of this ad. Applicable when type is AD_SERVING_DEFAULT_AD. + */ + size?: Schema$Size; + /** + * Whether this ad is ssl compliant. This is a read-only field that is + * auto-generated when the ad is inserted or updated. + */ + sslCompliant?: boolean; + /** + * Whether this ad requires ssl. This is a read-only field that is + * auto-generated when the ad is inserted or updated. + */ + sslRequired?: boolean; + /** + * Date and time that this ad should start serving. If creating an ad, this + * field must be a time in the future. This is a required field on + * insertion. + */ + startTime?: string; + /** + * Subaccount ID of this ad. This is a read-only field that can be left + * blank. + */ + subaccountId?: string; + /** + * Targeting template ID, used to apply preconfigured targeting information + * to this ad. This cannot be set while any of dayPartTargeting, + * geoTargeting, keyValueTargetingExpression, languageTargeting, + * remarketingListExpression, or technologyTargeting are set. Applicable + * when type is AD_SERVING_STANDARD_AD. + */ + targetingTemplateId?: string; + /** + * Technology platform targeting information for this ad. This field must be + * left blank if the ad is using a targeting template. Applicable when type + * is AD_SERVING_STANDARD_AD. + */ + technologyTargeting?: Schema$TechnologyTargeting; + /** + * Type of ad. This is a required field on insertion. Note that default ads + * (AD_SERVING_DEFAULT_AD) cannot be created directly (see Creative + * resource). + */ + type?: string; + } + /** + * Campaign ad blocking settings. + */ + interface Schema$AdBlockingConfiguration { + /** + * Click-through URL used by brand-neutral ads. This is a required field + * when overrideClickThroughUrl is set to true. + */ + clickThroughUrl?: string; + /** + * ID of a creative bundle to use for this campaign. If set, brand-neutral + * ads will select creatives from this bundle. Otherwise, a default + * transparent pixel will be used. + */ + creativeBundleId?: string; + /** + * Whether this campaign has enabled ad blocking. When true, ad blocking is + * enabled for placements in the campaign, but this may be overridden by + * site and placement settings. When false, ad blocking is disabled for all + * placements under the campaign, regardless of site and placement settings. + */ + enabled?: boolean; + /** + * Whether the brand-neutral ad's click-through URL comes from the + * campaign's creative bundle or the override URL. Must be set to true + * if ad blocking is enabled and no creative bundle is configured. + */ + overrideClickThroughUrl?: boolean; + } + /** + * Ad List Response + */ + interface Schema$AdsListResponse { + /** + * Ad collection. + */ + ads?: Schema$Ad[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#adsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Ad Slot + */ + interface Schema$AdSlot { + /** + * Comment for this ad slot. + */ + comment?: string; + /** + * Ad slot compatibility. DISPLAY and DISPLAY_INTERSTITIAL refer to + * rendering either on desktop, mobile devices or in mobile apps for regular + * or interstitial ads respectively. APP and APP_INTERSTITIAL are for + * rendering in mobile apps. IN_STREAM_VIDEO refers to rendering in + * in-stream video ads developed with the VAST standard. + */ + compatibility?: string; + /** + * Height of this ad slot. + */ + height?: string; + /** + * ID of the placement from an external platform that is linked to this ad + * slot. + */ + linkedPlacementId?: string; + /** + * Name of this ad slot. + */ + name?: string; + /** + * Payment source type of this ad slot. + */ + paymentSourceType?: string; + /** + * Primary ad slot of a roadblock inventory item. + */ + primary?: boolean; + /** + * Width of this ad slot. + */ + width?: string; + } + /** + * Contains properties of a Campaign Manager advertiser. + */ + interface Schema$Advertiser { + /** + * Account ID of this advertiser.This is a read-only field that can be left + * blank. + */ + accountId?: string; + /** + * ID of the advertiser group this advertiser belongs to. You can group + * advertisers for reporting purposes, allowing you to see aggregated + * information for all advertisers in each group. + */ + advertiserGroupId?: string; + /** + * Suffix added to click-through URL of ad creative associations under this + * advertiser. Must be less than 129 characters long. + */ + clickThroughUrlSuffix?: string; + /** + * ID of the click-through event tag to apply by default to the landing + * pages of this advertiser's campaigns. + */ + defaultClickThroughEventTagId?: string; + /** + * Default email address used in sender field for tag emails. + */ + defaultEmail?: string; + /** + * Floodlight configuration ID of this advertiser. The floodlight + * configuration ID will be created automatically, so on insert this field + * should be left blank. This field can be set to another advertiser's + * floodlight configuration ID in order to share that advertiser's + * floodlight configuration with this advertiser, so long as: - This + * advertiser's original floodlight configuration is not already + * associated with floodlight activities or floodlight activity groups. - + * This advertiser's original floodlight configuration is not already + * shared with another advertiser. + */ + floodlightConfigurationId?: string; + /** + * Dimension value for the ID of the floodlight configuration. This is a + * read-only, auto-generated field. + */ + floodlightConfigurationIdDimensionValue?: Schema$DimensionValue; + /** + * ID of this advertiser. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Dimension value for the ID of this advertiser. This is a read-only, + * auto-generated field. + */ + idDimensionValue?: Schema$DimensionValue; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#advertiser". + */ + kind?: string; + /** + * Name of this advertiser. This is a required field and must be less than + * 256 characters long and unique among advertisers of the same account. + */ + name?: string; + /** + * Original floodlight configuration before any sharing occurred. Set the + * floodlightConfigurationId of this advertiser to + * originalFloodlightConfigurationId to unshare the advertiser's current + * floodlight configuration. You cannot unshare an advertiser's + * floodlight configuration if the shared configuration has activities + * associated with any campaign or placement. + */ + originalFloodlightConfigurationId?: string; + /** + * Status of this advertiser. + */ + status?: string; + /** + * Subaccount ID of this advertiser.This is a read-only field that can be + * left blank. + */ + subaccountId?: string; + /** + * Suspension status of this advertiser. + */ + suspended?: boolean; + } + /** + * Groups advertisers together so that reports can be generated for the entire + * group at once. + */ + interface Schema$AdvertiserGroup { + /** + * Account ID of this advertiser group. This is a read-only field that can + * be left blank. + */ + accountId?: string; + /** + * ID of this advertiser group. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#advertiserGroup". + */ + kind?: string; + /** + * Name of this advertiser group. This is a required field and must be less + * than 256 characters long and unique among advertiser groups of the same + * account. + */ + name?: string; + } + /** + * Advertiser Group List Response + */ + interface Schema$AdvertiserGroupsListResponse { + /** + * Advertiser group collection. + */ + advertiserGroups?: Schema$AdvertiserGroup[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#advertiserGroupsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Landing Page List Response + */ + interface Schema$AdvertiserLandingPagesListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#advertiserLandingPagesListResponse". + */ + kind?: string; + /** + * Landing page collection + */ + landingPages?: Schema$LandingPage[]; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Advertiser List Response + */ + interface Schema$AdvertisersListResponse { + /** + * Advertiser collection. + */ + advertisers?: Schema$Advertiser[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#advertisersListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Audience Segment. + */ + interface Schema$AudienceSegment { + /** + * Weight allocated to this segment. The weight assigned will be understood + * in proportion to the weights assigned to other segments in the same + * segment group. Acceptable values are 1 to 1000, inclusive. + */ + allocation?: number; + /** + * ID of this audience segment. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Name of this audience segment. This is a required field and must be less + * than 65 characters long. + */ + name?: string; + } + /** + * Audience Segment Group. + */ + interface Schema$AudienceSegmentGroup { + /** + * Audience segments assigned to this group. The number of segments must be + * between 2 and 100. + */ + audienceSegments?: Schema$AudienceSegment[]; + /** + * ID of this audience segment group. This is a read-only, auto-generated + * field. + */ + id?: string; + /** + * Name of this audience segment group. This is a required field and must be + * less than 65 characters long. + */ + name?: string; + } + /** + * Contains information about a browser that can be targeted by ads. + */ + interface Schema$Browser { + /** + * ID referring to this grouping of browser and version numbers. This is the + * ID used for targeting. + */ + browserVersionId?: string; + /** + * DART ID of this browser. This is the ID used when generating reports. + */ + dartId?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#browser". + */ + kind?: string; + /** + * Major version number (leftmost number) of this browser. For example, for + * Chrome 5.0.376.86 beta, this field should be set to 5. An asterisk (*) + * may be used to target any version number, and a question mark (?) may be + * used to target cases where the version number cannot be identified. For + * example, Chrome *.* targets any version of Chrome: 1.2, 2.5, 3.5, and so + * on. Chrome 3.* targets Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets + * cases where the ad server knows the browser is Firefox but can't tell + * which version it is. + */ + majorVersion?: string; + /** + * Minor version number (number after first dot on left) of this browser. + * For example, for Chrome 5.0.375.86 beta, this field should be set to 0. + * An asterisk (*) may be used to target any version number, and a question + * mark (?) may be used to target cases where the version number cannot be + * identified. For example, Chrome *.* targets any version of Chrome: + * 1.2, 2.5, 3.5, and so on. Chrome 3.* targets Chrome 3.1, 3.5, but + * not 4.0. Firefox ?.? targets cases where the ad server knows the browser + * is Firefox but can't tell which version it is. + */ + minorVersion?: string; + /** + * Name of this browser. + */ + name?: string; + } + /** + * Browser List Response + */ + interface Schema$BrowsersListResponse { + /** + * Browser collection. + */ + browsers?: Schema$Browser[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#browsersListResponse". + */ + kind?: string; + } + /** + * Contains properties of a Campaign Manager campaign. + */ + interface Schema$Campaign { + /** + * Account ID of this campaign. This is a read-only field that can be left + * blank. + */ + accountId?: string; + /** + * Ad blocking settings for this campaign. + */ + adBlockingConfiguration?: Schema$AdBlockingConfiguration; + /** + * Additional creative optimization configurations for the campaign. + */ + additionalCreativeOptimizationConfigurations?: Schema$CreativeOptimizationConfiguration[]; + /** + * Advertiser group ID of the associated advertiser. + */ + advertiserGroupId?: string; + /** + * Advertiser ID of this campaign. This is a required field. + */ + advertiserId?: string; + /** + * Dimension value for the advertiser ID of this campaign. This is a + * read-only, auto-generated field. + */ + advertiserIdDimensionValue?: Schema$DimensionValue; + /** + * Whether this campaign has been archived. + */ + archived?: boolean; + /** + * Audience segment groups assigned to this campaign. Cannot have more than + * 300 segment groups. + */ + audienceSegmentGroups?: Schema$AudienceSegmentGroup[]; + /** + * Billing invoice code included in the Campaign Manager client billing + * invoices associated with the campaign. + */ + billingInvoiceCode?: string; + /** + * Click-through URL suffix override properties for this campaign. + */ + clickThroughUrlSuffixProperties?: Schema$ClickThroughUrlSuffixProperties; + /** + * Arbitrary comments about this campaign. Must be less than 256 characters + * long. + */ + comment?: string; + /** + * Information about the creation of this campaign. This is a read-only + * field. + */ + createInfo?: Schema$LastModifiedInfo; + /** + * List of creative group IDs that are assigned to the campaign. + */ + creativeGroupIds?: string[]; + /** + * Creative optimization configuration for the campaign. + */ + creativeOptimizationConfiguration?: Schema$CreativeOptimizationConfiguration; + /** + * Click-through event tag ID override properties for this campaign. + */ + defaultClickThroughEventTagProperties?: Schema$DefaultClickThroughEventTagProperties; + /** + * The default landing page ID for this campaign. + */ + defaultLandingPageId?: string; + /** + * Date on which the campaign will stop running. On insert, the end date + * must be today or a future date. The end date must be later than or be the + * same as the start date. If, for example, you set 6/25/2015 as both the + * start and end dates, the effective campaign run date is just that day + * only, 6/25/2015. The hours, minutes, and seconds of the end date should + * not be set, as doing so will result in an error. This is a required + * field. + */ + endDate?: string; + /** + * Overrides that can be used to activate or deactivate advertiser event + * tags. + */ + eventTagOverrides?: Schema$EventTagOverride[]; + /** + * External ID for this campaign. + */ + externalId?: string; + /** + * ID of this campaign. This is a read-only auto-generated field. + */ + id?: string; + /** + * Dimension value for the ID of this campaign. This is a read-only, + * auto-generated field. + */ + idDimensionValue?: Schema$DimensionValue; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#campaign". + */ + kind?: string; + /** + * Information about the most recent modification of this campaign. This is + * a read-only field. + */ + lastModifiedInfo?: Schema$LastModifiedInfo; + /** + * Lookback window settings for the campaign. + */ + lookbackConfiguration?: Schema$LookbackConfiguration; + /** + * Name of this campaign. This is a required field and must be less than 256 + * characters long and unique among campaigns of the same advertiser. + */ + name?: string; + /** + * Whether Nielsen reports are enabled for this campaign. + */ + nielsenOcrEnabled?: boolean; + /** + * Date on which the campaign starts running. The start date can be any + * date. The hours, minutes, and seconds of the start date should not be + * set, as doing so will result in an error. This is a required field. + */ + startDate?: string; + /** + * Subaccount ID of this campaign. This is a read-only field that can be + * left blank. + */ + subaccountId?: string; + /** + * Campaign trafficker contact emails. + */ + traffickerEmails?: string[]; + } + /** + * Identifies a creative which has been associated with a given campaign. + */ + interface Schema$CampaignCreativeAssociation { + /** + * ID of the creative associated with the campaign. This is a required + * field. + */ + creativeId?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#campaignCreativeAssociation". + */ + kind?: string; + } + /** + * Campaign Creative Association List Response + */ + interface Schema$CampaignCreativeAssociationsListResponse { + /** + * Campaign creative association collection + */ + campaignCreativeAssociations?: Schema$CampaignCreativeAssociation[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#campaignCreativeAssociationsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Campaign List Response + */ + interface Schema$CampaignsListResponse { + /** + * Campaign collection. + */ + campaigns?: Schema$Campaign[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#campaignsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Describes a change that a user has made to a resource. + */ + interface Schema$ChangeLog { + /** + * Account ID of the modified object. + */ + accountId?: string; + /** + * Action which caused the change. + */ + action?: string; + /** + * Time when the object was modified. + */ + changeTime?: string; + /** + * Field name of the object which changed. + */ + fieldName?: string; + /** + * ID of this change log. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#changeLog". + */ + kind?: string; + /** + * New value of the object field. + */ + newValue?: string; + /** + * ID of the object of this change log. The object could be a campaign, + * placement, ad, or other type. + */ + objectId?: string; + /** + * Object type of the change log. + */ + objectType?: string; + /** + * Old value of the object field. + */ + oldValue?: string; + /** + * Subaccount ID of the modified object. + */ + subaccountId?: string; + /** + * Transaction ID of this change log. When a single API call results in many + * changes, each change will have a separate ID in the change log but will + * share the same transactionId. + */ + transactionId?: string; + /** + * ID of the user who modified the object. + */ + userProfileId?: string; + /** + * User profile name of the user who modified the object. + */ + userProfileName?: string; + } + /** + * Change Log List Response + */ + interface Schema$ChangeLogsListResponse { + /** + * Change log collection. + */ + changeLogs?: Schema$ChangeLog[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#changeLogsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * City List Response + */ + interface Schema$CitiesListResponse { + /** + * City collection. + */ + cities?: Schema$City[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#citiesListResponse". + */ + kind?: string; + } + /** + * Contains information about a city that can be targeted by ads. + */ + interface Schema$City { + /** + * Country code of the country to which this city belongs. + */ + countryCode?: string; + /** + * DART ID of the country to which this city belongs. + */ + countryDartId?: string; + /** + * DART ID of this city. This is the ID used for targeting and generating + * reports. + */ + dartId?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#city". + */ + kind?: string; + /** + * Metro region code of the metro region (DMA) to which this city belongs. + */ + metroCode?: string; + /** + * ID of the metro region (DMA) to which this city belongs. + */ + metroDmaId?: string; + /** + * Name of this city. + */ + name?: string; + /** + * Region code of the region to which this city belongs. + */ + regionCode?: string; + /** + * DART ID of the region to which this city belongs. + */ + regionDartId?: string; + } + /** + * Creative Click Tag. + */ + interface Schema$ClickTag { + /** + * Parameter value for the specified click tag. This field contains a + * click-through url. + */ + clickThroughUrl?: Schema$CreativeClickThroughUrl; + /** + * Advertiser event name associated with the click tag. This field is used + * by DISPLAY_IMAGE_GALLERY and HTML5_BANNER creatives. Applicable to + * DISPLAY when the primary asset type is not HTML_IMAGE. + */ + eventName?: string; + /** + * Parameter name for the specified click tag. For DISPLAY_IMAGE_GALLERY + * creative assets, this field must match the value of the creative + * asset's creativeAssetId.name field. + */ + name?: string; + } + /** + * Click-through URL + */ + interface Schema$ClickThroughUrl { + /** + * Read-only convenience field representing the actual URL that will be used + * for this click-through. The URL is computed as follows: - If + * defaultLandingPage is enabled then the campaign's default landing + * page URL is assigned to this field. - If defaultLandingPage is not + * enabled and a landingPageId is specified then that landing page's URL + * is assigned to this field. - If neither of the above cases apply, then + * the customClickThroughUrl is assigned to this field. + */ + computedClickThroughUrl?: string; + /** + * Custom click-through URL. Applicable if the defaultLandingPage field is + * set to false and the landingPageId field is left unset. + */ + customClickThroughUrl?: string; + /** + * Whether the campaign default landing page is used. + */ + defaultLandingPage?: boolean; + /** + * ID of the landing page for the click-through URL. Applicable if the + * defaultLandingPage field is set to false. + */ + landingPageId?: string; + } + /** + * Click Through URL Suffix settings. + */ + interface Schema$ClickThroughUrlSuffixProperties { + /** + * Click-through URL suffix to apply to all ads in this entity's scope. + * Must be less than 128 characters long. + */ + clickThroughUrlSuffix?: string; + /** + * Whether this entity should override the inherited click-through URL + * suffix with its own defined value. + */ + overrideInheritedSuffix?: boolean; + } + /** + * Companion Click-through override. + */ + interface Schema$CompanionClickThroughOverride { + /** + * Click-through URL of this companion click-through override. + */ + clickThroughUrl?: Schema$ClickThroughUrl; + /** + * ID of the creative for this companion click-through override. + */ + creativeId?: string; + } + /** + * Companion Settings + */ + interface Schema$CompanionSetting { + /** + * Whether companions are disabled for this placement. + */ + companionsDisabled?: boolean; + /** + * Whitelist of companion sizes to be served to this placement. Set this + * list to null or empty to serve all companion sizes. + */ + enabledSizes?: Schema$Size[]; + /** + * Whether to serve only static images as companions. + */ + imageOnly?: boolean; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#companionSetting". + */ + kind?: string; + } + /** + * Represents a response to the queryCompatibleFields method. + */ + interface Schema$CompatibleFields { + /** + * Contains items that are compatible to be selected for a report of type + * "CROSS_DIMENSION_REACH". + */ + crossDimensionReachReportCompatibleFields?: Schema$CrossDimensionReachReportCompatibleFields; + /** + * Contains items that are compatible to be selected for a report of type + * "FLOODLIGHT". + */ + floodlightReportCompatibleFields?: Schema$FloodlightReportCompatibleFields; + /** + * The kind of resource this is, in this case dfareporting#compatibleFields. + */ + kind?: string; + /** + * Contains items that are compatible to be selected for a report of type + * "PATH_TO_CONVERSION". + */ + pathToConversionReportCompatibleFields?: Schema$PathToConversionReportCompatibleFields; + /** + * Contains items that are compatible to be selected for a report of type + * "REACH". + */ + reachReportCompatibleFields?: Schema$ReachReportCompatibleFields; + /** + * Contains items that are compatible to be selected for a report of type + * "STANDARD". + */ + reportCompatibleFields?: Schema$ReportCompatibleFields; + } + /** + * Contains information about an internet connection type that can be targeted + * by ads. Clients can use the connection type to target mobile vs. broadband + * users. + */ + interface Schema$ConnectionType { + /** + * ID of this connection type. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#connectionType". + */ + kind?: string; + /** + * Name of this connection type. + */ + name?: string; + } + /** + * Connection Type List Response + */ + interface Schema$ConnectionTypesListResponse { + /** + * Collection of connection types such as broadband and mobile. + */ + connectionTypes?: Schema$ConnectionType[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#connectionTypesListResponse". + */ + kind?: string; + } + /** + * Content Category List Response + */ + interface Schema$ContentCategoriesListResponse { + /** + * Content category collection. + */ + contentCategories?: Schema$ContentCategory[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#contentCategoriesListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Organizes placements according to the contents of their associated + * webpages. + */ + interface Schema$ContentCategory { + /** + * Account ID of this content category. This is a read-only field that can + * be left blank. + */ + accountId?: string; + /** + * ID of this content category. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#contentCategory". + */ + kind?: string; + /** + * Name of this content category. This is a required field and must be less + * than 256 characters long and unique among content categories of the same + * account. + */ + name?: string; + } + /** + * A Conversion represents when a user successfully performs a desired action + * after seeing an ad. + */ + interface Schema$Conversion { + /** + * Whether this particular request may come from a user under the age of 13, + * under COPPA compliance. + */ + childDirectedTreatment?: boolean; + /** + * Custom floodlight variables. + */ + customVariables?: Schema$CustomFloodlightVariable[]; + /** + * The alphanumeric encrypted user ID. When set, encryptionInfo should also + * be specified. This field is mutually exclusive with + * encryptedUserIdCandidates[], mobileDeviceId and gclid. This or + * encryptedUserIdCandidates[] or mobileDeviceId or gclid is a required + * field. + */ + encryptedUserId?: string; + /** + * A list of the alphanumeric encrypted user IDs. Any user ID with exposure + * prior to the conversion timestamp will be used in the inserted + * conversion. If no such user ID is found then the conversion will be + * rejected with NO_COOKIE_MATCH_FOUND error. When set, encryptionInfo + * should also be specified. This field may only be used when calling + * batchinsert; it is not supported by batchupdate. This field is mutually + * exclusive with encryptedUserId, mobileDeviceId and gclid. This or + * encryptedUserId or mobileDeviceId or gclid is a required field. + */ + encryptedUserIdCandidates?: string[]; + /** + * Floodlight Activity ID of this conversion. This is a required field. + */ + floodlightActivityId?: string; + /** + * Floodlight Configuration ID of this conversion. This is a required field. + */ + floodlightConfigurationId?: string; + /** + * The Google click ID. This field is mutually exclusive with + * encryptedUserId, encryptedUserIdCandidates[] and mobileDeviceId. This or + * encryptedUserId or encryptedUserIdCandidates[] or mobileDeviceId is a + * required field. + */ + gclid?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#conversion". + */ + kind?: string; + /** + * Whether Limit Ad Tracking is enabled. When set to true, the conversion + * will be used for reporting but not targeting. This will prevent + * remarketing. + */ + limitAdTracking?: boolean; + /** + * The mobile device ID. This field is mutually exclusive with + * encryptedUserId, encryptedUserIdCandidates[] and gclid. This or + * encryptedUserId or encryptedUserIdCandidates[] or gclid is a required + * field. + */ + mobileDeviceId?: string; + /** + * Whether the conversion was for a non personalized ad. + */ + nonPersonalizedAd?: boolean; + /** + * The ordinal of the conversion. Use this field to control how conversions + * of the same user and day are de-duplicated. This is a required field. + */ + ordinal?: string; + /** + * The quantity of the conversion. + */ + quantity?: string; + /** + * The timestamp of conversion, in Unix epoch micros. This is a required + * field. + */ + timestampMicros?: string; + /** + * Whether this particular request may come from a user under the age of 16 + * (may differ by country), under compliance with the European Union's + * General Data Protection Regulation (GDPR). + */ + treatmentForUnderage?: boolean; + /** + * The value of the conversion. + */ + value?: number; + } + /** + * The error code and description for a conversion that failed to insert or + * update. + */ + interface Schema$ConversionError { + /** + * The error code. + */ + code?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#conversionError". + */ + kind?: string; + /** + * A description of the error. + */ + message?: string; + } + /** + * Insert Conversions Request. + */ + interface Schema$ConversionsBatchInsertRequest { + /** + * The set of conversions to insert. + */ + conversions?: Schema$Conversion[]; + /** + * Describes how encryptedUserId or encryptedUserIdCandidates[] is + * encrypted. This is a required field if encryptedUserId or + * encryptedUserIdCandidates[] is used. + */ + encryptionInfo?: Schema$EncryptionInfo; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#conversionsBatchInsertRequest". + */ + kind?: string; + } + /** + * Insert Conversions Response. + */ + interface Schema$ConversionsBatchInsertResponse { + /** + * Indicates that some or all conversions failed to insert. + */ + hasFailures?: boolean; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#conversionsBatchInsertResponse". + */ + kind?: string; + /** + * The insert status of each conversion. Statuses are returned in the same + * order that conversions are inserted. + */ + status?: Schema$ConversionStatus[]; + } + /** + * Update Conversions Request. + */ + interface Schema$ConversionsBatchUpdateRequest { + /** + * The set of conversions to update. + */ + conversions?: Schema$Conversion[]; + /** + * Describes how encryptedUserId is encrypted. This is a required field if + * encryptedUserId is used. + */ + encryptionInfo?: Schema$EncryptionInfo; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#conversionsBatchUpdateRequest". + */ + kind?: string; + } + /** + * Update Conversions Response. + */ + interface Schema$ConversionsBatchUpdateResponse { + /** + * Indicates that some or all conversions failed to update. + */ + hasFailures?: boolean; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#conversionsBatchUpdateResponse". + */ + kind?: string; + /** + * The update status of each conversion. Statuses are returned in the same + * order that conversions are updated. + */ + status?: Schema$ConversionStatus[]; + } + /** + * The original conversion that was inserted or updated and whether there were + * any errors. + */ + interface Schema$ConversionStatus { + /** + * The original conversion that was inserted or updated. + */ + conversion?: Schema$Conversion; + /** + * A list of errors related to this conversion. + */ + errors?: Schema$ConversionError[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#conversionStatus". + */ + kind?: string; + } + /** + * Country List Response + */ + interface Schema$CountriesListResponse { + /** + * Country collection. + */ + countries?: Schema$Country[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#countriesListResponse". + */ + kind?: string; + } + /** + * Contains information about a country that can be targeted by ads. + */ + interface Schema$Country { + /** + * Country code. + */ + countryCode?: string; + /** + * DART ID of this country. This is the ID used for targeting and generating + * reports. + */ + dartId?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#country". + */ + kind?: string; + /** + * Name of this country. + */ + name?: string; + /** + * Whether ad serving supports secure servers in this country. + */ + sslEnabled?: boolean; + } + /** + * Contains properties of a Creative. + */ + interface Schema$Creative { + /** + * Account ID of this creative. This field, if left unset, will be + * auto-generated for both insert and update operations. Applicable to all + * creative types. + */ + accountId?: string; + /** + * Whether the creative is active. Applicable to all creative types. + */ + active?: boolean; + /** + * Additional sizes associated with a responsive creative. When inserting or + * updating a creative either the size ID field or size width and height + * fields can be used. Applicable to DISPLAY creatives when the primary + * asset type is HTML_IMAGE. + */ + additionalSizes?: Schema$Size[]; + /** + * Ad parameters user for VPAID creative. This is a read-only field. + * Applicable to the following creative types: all VPAID. + */ + adParameters?: string; + /** + * Keywords for a Rich Media creative. Keywords let you customize the + * creative settings of a Rich Media ad running on your site without having + * to contact the advertiser. You can use keywords to dynamically change the + * look or functionality of a creative. Applicable to the following creative + * types: all RICH_MEDIA, and all VPAID. + */ + adTagKeys?: string[]; + /** + * Advertiser ID of this creative. This is a required field. Applicable to + * all creative types. + */ + advertiserId?: string; + /** + * Whether script access is allowed for this creative. This is a read-only + * and deprecated field which will automatically be set to true on update. + * Applicable to the following creative types: FLASH_INPAGE. + */ + allowScriptAccess?: boolean; + /** + * Whether the creative is archived. Applicable to all creative types. + */ + archived?: boolean; + /** + * Type of artwork used for the creative. This is a read-only field. + * Applicable to the following creative types: all RICH_MEDIA, and all + * VPAID. + */ + artworkType?: string; + /** + * Source application where creative was authored. Presently, only DBM + * authored creatives will have this field set. Applicable to all creative + * types. + */ + authoringSource?: string; + /** + * Authoring tool for HTML5 banner creatives. This is a read-only field. + * Applicable to the following creative types: HTML5_BANNER. + */ + authoringTool?: string; + /** + * Whether images are automatically advanced for image gallery creatives. + * Applicable to the following creative types: DISPLAY_IMAGE_GALLERY. + */ + autoAdvanceImages?: boolean; + /** + * The 6-character HTML color code, beginning with #, for the background of + * the window area where the Flash file is displayed. Default is white. + * Applicable to the following creative types: FLASH_INPAGE. + */ + backgroundColor?: string; + /** + * Click-through URL for backup image. Applicable to ENHANCED_BANNER when + * the primary asset type is not HTML_IMAGE. + */ + backupImageClickThroughUrl?: Schema$CreativeClickThroughUrl; + /** + * List of feature dependencies that will cause a backup image to be served + * if the browser that serves the ad does not support them. Feature + * dependencies are features that a browser must be able to support in order + * to render your HTML5 creative asset correctly. This field is initially + * auto-generated to contain all features detected by Campaign Manager for + * all the assets of this creative and can then be modified by the client. + * To reset this field, copy over all the creativeAssets' detected + * features. Applicable to the following creative types: HTML5_BANNER. + * Applicable to DISPLAY when the primary asset type is not HTML_IMAGE. + */ + backupImageFeatures?: string[]; + /** + * Reporting label used for HTML5 banner backup image. Applicable to the + * following creative types: DISPLAY when the primary asset type is not + * HTML_IMAGE. + */ + backupImageReportingLabel?: string; + /** + * Target window for backup image. Applicable to the following creative + * types: FLASH_INPAGE and HTML5_BANNER. Applicable to DISPLAY when the + * primary asset type is not HTML_IMAGE. + */ + backupImageTargetWindow?: Schema$TargetWindow; + /** + * Click tags of the creative. For DISPLAY, FLASH_INPAGE, and HTML5_BANNER + * creatives, this is a subset of detected click tags for the assets + * associated with this creative. After creating a flash asset, detected + * click tags will be returned in the creativeAssetMetadata. When inserting + * the creative, populate the creative clickTags field using the + * creativeAssetMetadata.clickTags field. For DISPLAY_IMAGE_GALLERY + * creatives, there should be exactly one entry in this list for each image + * creative asset. A click tag is matched with a corresponding creative + * asset by matching the clickTag.name field with the + * creativeAsset.assetIdentifier.name field. Applicable to the following + * creative types: DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER. + * Applicable to DISPLAY when the primary asset type is not HTML_IMAGE. + */ + clickTags?: Schema$ClickTag[]; + /** + * Industry standard ID assigned to creative for reach and frequency. + * Applicable to INSTREAM_VIDEO_REDIRECT creatives. + */ + commercialId?: string; + /** + * List of companion creatives assigned to an in-Stream video creative. + * Acceptable values include IDs of existing flash and image creatives. + * Applicable to the following creative types: all VPAID, all INSTREAM_AUDIO + * and all INSTREAM_VIDEO with dynamicAssetSelection set to false. + */ + companionCreatives?: string[]; + /** + * Compatibilities associated with this creative. This is a read-only field. + * DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop or + * on mobile devices or in mobile apps for regular or interstitial ads, + * respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. + * Only pre-existing creatives may have these compatibilities since new + * creatives will either be assigned DISPLAY or DISPLAY_INTERSTITIAL + * instead. IN_STREAM_VIDEO refers to rendering in in-stream video ads + * developed with the VAST standard. IN_STREAM_AUDIO refers to rendering in + * in-stream audio ads developed with the VAST standard. Applicable to all + * creative types. Acceptable values are: - "APP" - + * "APP_INTERSTITIAL" - "IN_STREAM_VIDEO" - + * "IN_STREAM_AUDIO" - "DISPLAY" - + * "DISPLAY_INTERSTITIAL" + */ + compatibility?: string[]; + /** + * Whether Flash assets associated with the creative need to be + * automatically converted to HTML5. This flag is enabled by default and + * users can choose to disable it if they don't want the system to + * generate and use HTML5 asset for this creative. Applicable to the + * following creative type: FLASH_INPAGE. Applicable to DISPLAY when the + * primary asset type is not HTML_IMAGE. + */ + convertFlashToHtml5?: boolean; + /** + * List of counter events configured for the creative. For + * DISPLAY_IMAGE_GALLERY creatives, these are read-only and auto-generated + * from clickTags. Applicable to the following creative types: + * DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID. + */ + counterCustomEvents?: Schema$CreativeCustomEvent[]; + /** + * Assets associated with a creative. Applicable to all but the following + * creative types: INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and + * REDIRECT + */ + creativeAssets?: Schema$CreativeAsset[]; + /** + * Required if dynamicAssetSelection is true. + */ + creativeAssetSelection?: Schema$CreativeAssetSelection; + /** + * Creative field assignments for this creative. Applicable to all creative + * types. + */ + creativeFieldAssignments?: Schema$CreativeFieldAssignment[]; + /** + * Custom key-values for a Rich Media creative. Key-values let you customize + * the creative settings of a Rich Media ad running on your site without + * having to contact the advertiser. You can use key-values to dynamically + * change the look or functionality of a creative. Applicable to the + * following creative types: all RICH_MEDIA, and all VPAID. + */ + customKeyValues?: string[]; + /** + * Set this to true to enable the use of rules to target individual assets + * in this creative. When set to true creativeAssetSelection must be set. + * This also controls asset-level companions. When this is true, companion + * creatives should be assigned to creative assets. Learn more. Applicable + * to INSTREAM_VIDEO creatives. + */ + dynamicAssetSelection?: boolean; + /** + * List of exit events configured for the creative. For DISPLAY and + * DISPLAY_IMAGE_GALLERY creatives, these are read-only and auto-generated + * from clickTags, For DISPLAY, an event is also created from the + * backupImageReportingLabel. Applicable to the following creative types: + * DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID. Applicable to + * DISPLAY when the primary asset type is not HTML_IMAGE. + */ + exitCustomEvents?: Schema$CreativeCustomEvent[]; + /** + * OpenWindow FSCommand of this creative. This lets the SWF file communicate + * with either Flash Player or the program hosting Flash Player, such as a + * web browser. This is only triggered if allowScriptAccess field is true. + * Applicable to the following creative types: FLASH_INPAGE. + */ + fsCommand?: Schema$FsCommand; + /** + * HTML code for the creative. This is a required field when applicable. + * This field is ignored if htmlCodeLocked is true. Applicable to the + * following creative types: all CUSTOM, FLASH_INPAGE, and HTML5_BANNER, and + * all RICH_MEDIA. + */ + htmlCode?: string; + /** + * Whether HTML code is generated by Campaign Manager or manually entered. + * Set to true to ignore changes to htmlCode. Applicable to the following + * creative types: FLASH_INPAGE and HTML5_BANNER. + */ + htmlCodeLocked?: boolean; + /** + * ID of this creative. This is a read-only, auto-generated field. + * Applicable to all creative types. + */ + id?: string; + /** + * Dimension value for the ID of this creative. This is a read-only field. + * Applicable to all creative types. + */ + idDimensionValue?: Schema$DimensionValue; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#creative". + */ + kind?: string; + /** + * Creative last modification information. This is a read-only field. + * Applicable to all creative types. + */ + lastModifiedInfo?: Schema$LastModifiedInfo; + /** + * Latest Studio trafficked creative ID associated with rich media and VPAID + * creatives. This is a read-only field. Applicable to the following + * creative types: all RICH_MEDIA, and all VPAID. + */ + latestTraffickedCreativeId?: string; + /** + * Description of the audio or video ad. Applicable to the following + * creative types: all INSTREAM_VIDEO, INSTREAM_AUDIO, and all VPAID. + */ + mediaDescription?: string; + /** + * Creative audio or video duration in seconds. This is a read-only field. + * Applicable to the following creative types: INSTREAM_VIDEO, + * INSTREAM_AUDIO, all RICH_MEDIA, and all VPAID. + */ + mediaDuration?: number; + /** + * Name of the creative. This is a required field and must be less than 256 + * characters long. Applicable to all creative types. + */ + name?: string; + /** + * Override CSS value for rich media creatives. Applicable to the following + * creative types: all RICH_MEDIA. + */ + overrideCss?: string; + /** + * The asset ID of the polite load image asset. Applicable to the creative + * type: DISPLAY. + */ + politeLoadAssetId?: string; + /** + * Amount of time to play the video before counting a view. Applicable to + * the following creative types: all INSTREAM_VIDEO. + */ + progressOffset?: Schema$VideoOffset; + /** + * URL of hosted image or hosted video or another ad tag. For + * INSTREAM_VIDEO_REDIRECT creatives this is the in-stream video redirect + * URL. The standard for a VAST (Video Ad Serving Template) ad response + * allows for a redirect link to another VAST 2.0 or 3.0 call. This is a + * required field when applicable. Applicable to the following creative + * types: DISPLAY_REDIRECT, INTERNAL_REDIRECT, + * INTERSTITIAL_INTERNAL_REDIRECT, and INSTREAM_VIDEO_REDIRECT + */ + redirectUrl?: string; + /** + * ID of current rendering version. This is a read-only field. Applicable to + * all creative types. + */ + renderingId?: string; + /** + * Dimension value for the rendering ID of this creative. This is a + * read-only field. Applicable to all creative types. + */ + renderingIdDimensionValue?: Schema$DimensionValue; + /** + * The minimum required Flash plugin version for this creative. For + * example, 11.2.202.235. This is a read-only field. Applicable to the + * following creative types: all RICH_MEDIA, and all VPAID. + */ + requiredFlashPluginVersion?: string; + /** + * The internal Flash version for this creative as calculated by Studio. + * This is a read-only field. Applicable to the following creative types: + * FLASH_INPAGE all RICH_MEDIA, and all VPAID. Applicable to DISPLAY when + * the primary asset type is not HTML_IMAGE. + */ + requiredFlashVersion?: number; + /** + * Size associated with this creative. When inserting or updating a creative + * either the size ID field or size width and height fields can be used. + * This is a required field when applicable; however for IMAGE, FLASH_INPAGE + * creatives, and for DISPLAY creatives with a primary asset of type + * HTML_IMAGE, if left blank, this field will be automatically set using the + * actual size of the associated image assets. Applicable to the following + * creative types: DISPLAY, DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, + * HTML5_BANNER, IMAGE, and all RICH_MEDIA. + */ + size?: Schema$Size; + /** + * Amount of time to play the video before the skip button appears. + * Applicable to the following creative types: all INSTREAM_VIDEO. + */ + skipOffset?: Schema$VideoOffset; + /** + * Whether the user can choose to skip the creative. Applicable to the + * following creative types: all INSTREAM_VIDEO and all VPAID. + */ + skippable?: boolean; + /** + * Whether the creative is SSL-compliant. This is a read-only field. + * Applicable to all creative types. + */ + sslCompliant?: boolean; + /** + * Whether creative should be treated as SSL compliant even if the system + * scan shows it's not. Applicable to all creative types. + */ + sslOverride?: boolean; + /** + * Studio advertiser ID associated with rich media and VPAID creatives. This + * is a read-only field. Applicable to the following creative types: all + * RICH_MEDIA, and all VPAID. + */ + studioAdvertiserId?: string; + /** + * Studio creative ID associated with rich media and VPAID creatives. This + * is a read-only field. Applicable to the following creative types: all + * RICH_MEDIA, and all VPAID. + */ + studioCreativeId?: string; + /** + * Studio trafficked creative ID associated with rich media and VPAID + * creatives. This is a read-only field. Applicable to the following + * creative types: all RICH_MEDIA, and all VPAID. + */ + studioTraffickedCreativeId?: string; + /** + * Subaccount ID of this creative. This field, if left unset, will be + * auto-generated for both insert and update operations. Applicable to all + * creative types. + */ + subaccountId?: string; + /** + * Third-party URL used to record backup image impressions. Applicable to + * the following creative types: all RICH_MEDIA. + */ + thirdPartyBackupImageImpressionsUrl?: string; + /** + * Third-party URL used to record rich media impressions. Applicable to the + * following creative types: all RICH_MEDIA. + */ + thirdPartyRichMediaImpressionsUrl?: string; + /** + * Third-party URLs for tracking in-stream creative events. Applicable to + * the following creative types: all INSTREAM_VIDEO, all INSTREAM_AUDIO, and + * all VPAID. + */ + thirdPartyUrls?: Schema$ThirdPartyTrackingUrl[]; + /** + * List of timer events configured for the creative. For + * DISPLAY_IMAGE_GALLERY creatives, these are read-only and auto-generated + * from clickTags. Applicable to the following creative types: + * DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID. Applicable to + * DISPLAY when the primary asset is not HTML_IMAGE. + */ + timerCustomEvents?: Schema$CreativeCustomEvent[]; + /** + * Combined size of all creative assets. This is a read-only field. + * Applicable to the following creative types: all RICH_MEDIA, and all + * VPAID. + */ + totalFileSize?: string; + /** + * Type of this creative. This is a required field. Applicable to all + * creative types. Note: FLASH_INPAGE, HTML5_BANNER, and IMAGE are only + * used for existing creatives. New creatives should use DISPLAY as a + * replacement for these types. + */ + type?: string; + /** + * A Universal Ad ID as per the VAST 4.0 spec. Applicable to the following + * creative types: INSTREAM_AUDIO and INSTREAM_VIDEO and VPAID. + */ + universalAdId?: Schema$UniversalAdId; + /** + * The version number helps you keep track of multiple versions of your + * creative in your reports. The version number will always be + * auto-generated during insert operations to start at 1. For tracking + * creatives the version cannot be incremented and will always remain at 1. + * For all other creative types the version can be incremented only by 1 + * during update operations. In addition, the version will be automatically + * incremented by 1 when undergoing Rich Media creative merging. Applicable + * to all creative types. + */ + version?: number; + } + /** + * Creative Asset. + */ + interface Schema$CreativeAsset { + /** + * Whether ActionScript3 is enabled for the flash asset. This is a read-only + * field. Applicable to the following creative type: FLASH_INPAGE. + * Applicable to DISPLAY when the primary asset type is not HTML_IMAGE. + */ + actionScript3?: boolean; + /** + * Whether the video or audio asset is active. This is a read-only field for + * VPAID_NON_LINEAR_VIDEO assets. Applicable to the following creative + * types: INSTREAM_AUDIO, INSTREAM_VIDEO and all VPAID. + */ + active?: boolean; + /** + * Additional sizes associated with this creative asset. HTML5 asset + * generated by compatible software such as GWD will be able to support more + * sizes this creative asset can render. + */ + additionalSizes?: Schema$Size[]; + /** + * Possible alignments for an asset. This is a read-only field. Applicable + * to the following creative types: + * RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL. + */ + alignment?: string; + /** + * Artwork type of rich media creative. This is a read-only field. + * Applicable to the following creative types: all RICH_MEDIA. + */ + artworkType?: string; + /** + * Identifier of this asset. This is the same identifier returned during + * creative asset insert operation. This is a required field. Applicable to + * all but the following creative types: all REDIRECT and TRACKING_TEXT. + */ + assetIdentifier?: Schema$CreativeAssetId; + /** + * Exit event configured for the backup image. Applicable to the following + * creative types: all RICH_MEDIA. + */ + backupImageExit?: Schema$CreativeCustomEvent; + /** + * Detected bit-rate for audio or video asset. This is a read-only field. + * Applicable to the following creative types: INSTREAM_AUDIO, + * INSTREAM_VIDEO and all VPAID. + */ + bitRate?: number; + /** + * Rich media child asset type. This is a read-only field. Applicable to the + * following creative types: all VPAID. + */ + childAssetType?: string; + /** + * Size of an asset when collapsed. This is a read-only field. Applicable to + * the following creative types: all RICH_MEDIA and all VPAID. Additionally, + * applicable to assets whose displayType is ASSET_DISPLAY_TYPE_EXPANDING or + * ASSET_DISPLAY_TYPE_PEEL_DOWN. + */ + collapsedSize?: Schema$Size; + /** + * List of companion creatives assigned to an in-stream video creative + * asset. Acceptable values include IDs of existing flash and image + * creatives. Applicable to INSTREAM_VIDEO creative type with + * dynamicAssetSelection set to true. + */ + companionCreativeIds?: string[]; + /** + * Custom start time in seconds for making the asset visible. Applicable to + * the following creative types: all RICH_MEDIA. Value must be greater than + * or equal to 0. + */ + customStartTimeValue?: number; + /** + * List of feature dependencies for the creative asset that are detected by + * Campaign Manager. Feature dependencies are features that a browser must + * be able to support in order to render your HTML5 creative correctly. This + * is a read-only, auto-generated field. Applicable to the following + * creative types: HTML5_BANNER. Applicable to DISPLAY when the primary + * asset type is not HTML_IMAGE. + */ + detectedFeatures?: string[]; + /** + * Type of rich media asset. This is a read-only field. Applicable to the + * following creative types: all RICH_MEDIA. + */ + displayType?: string; + /** + * Duration in seconds for which an asset will be displayed. Applicable to + * the following creative types: INSTREAM_AUDIO, INSTREAM_VIDEO and + * VPAID_LINEAR_VIDEO. Value must be greater than or equal to 1. + */ + duration?: number; + /** + * Duration type for which an asset will be displayed. Applicable to the + * following creative types: all RICH_MEDIA. + */ + durationType?: string; + /** + * Detected expanded dimension for video asset. This is a read-only field. + * Applicable to the following creative types: INSTREAM_VIDEO and all VPAID. + */ + expandedDimension?: Schema$Size; + /** + * File size associated with this creative asset. This is a read-only field. + * Applicable to all but the following creative types: all REDIRECT and + * TRACKING_TEXT. + */ + fileSize?: string; + /** + * Flash version of the asset. This is a read-only field. Applicable to the + * following creative types: FLASH_INPAGE, all RICH_MEDIA, and all VPAID. + * Applicable to DISPLAY when the primary asset type is not HTML_IMAGE. + */ + flashVersion?: number; + /** + * Whether to hide Flash objects flag for an asset. Applicable to the + * following creative types: all RICH_MEDIA. + */ + hideFlashObjects?: boolean; + /** + * Whether to hide selection boxes flag for an asset. Applicable to the + * following creative types: all RICH_MEDIA. + */ + hideSelectionBoxes?: boolean; + /** + * Whether the asset is horizontally locked. This is a read-only field. + * Applicable to the following creative types: all RICH_MEDIA. + */ + horizontallyLocked?: boolean; + /** + * Numeric ID of this creative asset. This is a required field and should + * not be modified. Applicable to all but the following creative types: all + * REDIRECT and TRACKING_TEXT. + */ + id?: string; + /** + * Dimension value for the ID of the asset. This is a read-only, + * auto-generated field. + */ + idDimensionValue?: Schema$DimensionValue; + /** + * Detected duration for audio or video asset. This is a read-only field. + * Applicable to the following creative types: INSTREAM_AUDIO, + * INSTREAM_VIDEO and all VPAID. + */ + mediaDuration?: number; + /** + * Detected MIME type for audio or video asset. This is a read-only field. + * Applicable to the following creative types: INSTREAM_AUDIO, + * INSTREAM_VIDEO and all VPAID. + */ + mimeType?: string; + /** + * Offset position for an asset in collapsed mode. This is a read-only + * field. Applicable to the following creative types: all RICH_MEDIA and all + * VPAID. Additionally, only applicable to assets whose displayType is + * ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN. + */ + offset?: Schema$OffsetPosition; + /** + * Orientation of video asset. This is a read-only, auto-generated field. + */ + orientation?: string; + /** + * Whether the backup asset is original or changed by the user in Campaign + * Manager. Applicable to the following creative types: all RICH_MEDIA. + */ + originalBackup?: boolean; + /** + * Offset position for an asset. Applicable to the following creative types: + * all RICH_MEDIA. + */ + position?: Schema$OffsetPosition; + /** + * Offset left unit for an asset. This is a read-only field. Applicable to + * the following creative types: all RICH_MEDIA. + */ + positionLeftUnit?: string; + /** + * Offset top unit for an asset. This is a read-only field if the asset + * displayType is ASSET_DISPLAY_TYPE_OVERLAY. Applicable to the following + * creative types: all RICH_MEDIA. + */ + positionTopUnit?: string; + /** + * Progressive URL for video asset. This is a read-only field. Applicable to + * the following creative types: INSTREAM_VIDEO and all VPAID. + */ + progressiveServingUrl?: string; + /** + * Whether the asset pushes down other content. Applicable to the following + * creative types: all RICH_MEDIA. Additionally, only applicable when the + * asset offsets are 0, the collapsedSize.width matches size.width, and the + * collapsedSize.height is less than size.height. + */ + pushdown?: boolean; + /** + * Pushdown duration in seconds for an asset. Applicable to the following + * creative types: all RICH_MEDIA.Additionally, only applicable when the + * asset pushdown field is true, the offsets are 0, the collapsedSize.width + * matches size.width, and the collapsedSize.height is less than + * size.height. Acceptable values are 0 to 9.99, inclusive. + */ + pushdownDuration?: number; + /** + * Role of the asset in relation to creative. Applicable to all but the + * following creative types: all REDIRECT and TRACKING_TEXT. This is a + * required field. PRIMARY applies to DISPLAY, FLASH_INPAGE, HTML5_BANNER, + * IMAGE, DISPLAY_IMAGE_GALLERY, all RICH_MEDIA (which may contain multiple + * primary assets), and all VPAID creatives. BACKUP_IMAGE applies to + * FLASH_INPAGE, HTML5_BANNER, all RICH_MEDIA, and all VPAID creatives. + * Applicable to DISPLAY when the primary asset type is not HTML_IMAGE. + * ADDITIONAL_IMAGE and ADDITIONAL_FLASH apply to FLASH_INPAGE creatives. + * OTHER refers to assets from sources other than Campaign Manager, such as + * Studio uploaded assets, applicable to all RICH_MEDIA and all VPAID + * creatives. PARENT_VIDEO refers to videos uploaded by the user in Campaign + * Manager and is applicable to INSTREAM_VIDEO and VPAID_LINEAR_VIDEO + * creatives. TRANSCODED_VIDEO refers to videos transcoded by Campaign + * Manager from PARENT_VIDEO assets and is applicable to INSTREAM_VIDEO and + * VPAID_LINEAR_VIDEO creatives. ALTERNATE_VIDEO refers to the Campaign + * Manager representation of child asset videos from Studio, and is + * applicable to VPAID_LINEAR_VIDEO creatives. These cannot be added or + * removed within Campaign Manager. For VPAID_LINEAR_VIDEO creatives, + * PARENT_VIDEO, TRANSCODED_VIDEO and ALTERNATE_VIDEO assets that are marked + * active serve as backup in case the VPAID creative cannot be served. Only + * PARENT_VIDEO assets can be added or removed for an INSTREAM_VIDEO or + * VPAID_LINEAR_VIDEO creative. PARENT_AUDIO refers to audios uploaded by + * the user in Campaign Manager and is applicable to INSTREAM_AUDIO + * creatives. TRANSCODED_AUDIO refers to audios transcoded by Campaign + * Manager from PARENT_AUDIO assets and is applicable to INSTREAM_AUDIO + * creatives. + */ + role?: string; + /** + * Size associated with this creative asset. This is a required field when + * applicable; however for IMAGE and FLASH_INPAGE, creatives if left blank, + * this field will be automatically set using the actual size of the + * associated image asset. Applicable to the following creative types: + * DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER, IMAGE, and all + * RICH_MEDIA. Applicable to DISPLAY when the primary asset type is not + * HTML_IMAGE. + */ + size?: Schema$Size; + /** + * Whether the asset is SSL-compliant. This is a read-only field. Applicable + * to all but the following creative types: all REDIRECT and TRACKING_TEXT. + */ + sslCompliant?: boolean; + /** + * Initial wait time type before making the asset visible. Applicable to the + * following creative types: all RICH_MEDIA. + */ + startTimeType?: string; + /** + * Streaming URL for video asset. This is a read-only field. Applicable to + * the following creative types: INSTREAM_VIDEO and all VPAID. + */ + streamingServingUrl?: string; + /** + * Whether the asset is transparent. Applicable to the following creative + * types: all RICH_MEDIA. Additionally, only applicable to HTML5 assets. + */ + transparency?: boolean; + /** + * Whether the asset is vertically locked. This is a read-only field. + * Applicable to the following creative types: all RICH_MEDIA. + */ + verticallyLocked?: boolean; + /** + * Window mode options for flash assets. Applicable to the following + * creative types: FLASH_INPAGE, RICH_MEDIA_DISPLAY_EXPANDING, + * RICH_MEDIA_IM_EXPAND, RICH_MEDIA_DISPLAY_BANNER, and + * RICH_MEDIA_INPAGE_FLOATING. + */ + windowMode?: string; + /** + * zIndex value of an asset. Applicable to the following creative types: all + * RICH_MEDIA.Additionally, only applicable to assets whose displayType is + * NOT one of the following types: ASSET_DISPLAY_TYPE_INPAGE or + * ASSET_DISPLAY_TYPE_OVERLAY. Acceptable values are -999999999 to + * 999999999, inclusive. + */ + zIndex?: number; + /** + * File name of zip file. This is a read-only field. Applicable to the + * following creative types: HTML5_BANNER. + */ + zipFilename?: string; + /** + * Size of zip file. This is a read-only field. Applicable to the following + * creative types: HTML5_BANNER. + */ + zipFilesize?: string; + } + /** + * Creative Asset ID. + */ + interface Schema$CreativeAssetId { + /** + * Name of the creative asset. This is a required field while inserting an + * asset. After insertion, this assetIdentifier is used to identify the + * uploaded asset. Characters in the name must be alphanumeric or one of the + * following: ".-_ ". Spaces are allowed. + */ + name?: string; + /** + * Type of asset to upload. This is a required field. FLASH and IMAGE are no + * longer supported for new uploads. All image assets should use HTML_IMAGE. + */ + type?: string; + } + /** + * CreativeAssets contains properties of a creative asset file which will be + * uploaded or has already been uploaded. Refer to the creative sample code + * for how to upload assets and insert a creative. + */ + interface Schema$CreativeAssetMetadata { + /** + * ID of the creative asset. This is a required field. + */ + assetIdentifier?: Schema$CreativeAssetId; + /** + * List of detected click tags for assets. This is a read-only + * auto-generated field. + */ + clickTags?: Schema$ClickTag[]; + /** + * List of feature dependencies for the creative asset that are detected by + * Campaign Manager. Feature dependencies are features that a browser must + * be able to support in order to render your HTML5 creative correctly. This + * is a read-only, auto-generated field. + */ + detectedFeatures?: string[]; + /** + * Numeric ID of the asset. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Dimension value for the numeric ID of the asset. This is a read-only, + * auto-generated field. + */ + idDimensionValue?: Schema$DimensionValue; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#creativeAssetMetadata". + */ + kind?: string; + /** + * Rules validated during code generation that generated a warning. This is + * a read-only, auto-generated field. Possible values are: - + * "ADMOB_REFERENCED" - "ASSET_FORMAT_UNSUPPORTED_DCM" - + * "ASSET_INVALID" - "CLICK_TAG_HARD_CODED" - + * "CLICK_TAG_INVALID" - "CLICK_TAG_IN_GWD" - + * "CLICK_TAG_MISSING" - "CLICK_TAG_MORE_THAN_ONE" - + * "CLICK_TAG_NON_TOP_LEVEL" - + * "COMPONENT_UNSUPPORTED_DCM" - + * "ENABLER_UNSUPPORTED_METHOD_DCM" - + * "EXTERNAL_FILE_REFERENCED" - "FILE_DETAIL_EMPTY" - + * "FILE_TYPE_INVALID" - "GWD_PROPERTIES_INVALID" - + * "HTML5_FEATURE_UNSUPPORTED" - "LINKED_FILE_NOT_FOUND" + * - "MAX_FLASH_VERSION_11" - "MRAID_REFERENCED" - + * "NOT_SSL_COMPLIANT" - "ORPHANED_ASSET" - + * "PRIMARY_HTML_MISSING" - "SVG_INVALID" - + * "ZIP_INVALID" + */ + warnedValidationRules?: string[]; + } + /** + * Encapsulates the list of rules for asset selection and a default asset in + * case none of the rules match. Applicable to INSTREAM_VIDEO creatives. + */ + interface Schema$CreativeAssetSelection { + /** + * A creativeAssets[].id. This should refer to one of the parent assets in + * this creative, and will be served if none of the rules match. This is a + * required field. + */ + defaultAssetId?: string; + /** + * Rules determine which asset will be served to a viewer. Rules will be + * evaluated in the order in which they are stored in this list. This list + * must contain at least one rule. Applicable to INSTREAM_VIDEO creatives. + */ + rules?: Schema$Rule[]; + } + /** + * Creative Assignment. + */ + interface Schema$CreativeAssignment { + /** + * Whether this creative assignment is active. When true, the creative will + * be included in the ad's rotation. + */ + active?: boolean; + /** + * Whether applicable event tags should fire when this creative assignment + * is rendered. If this value is unset when the ad is inserted or updated, + * it will default to true for all creative types EXCEPT for + * INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and INSTREAM_VIDEO. + */ + applyEventTags?: boolean; + /** + * Click-through URL of the creative assignment. + */ + clickThroughUrl?: Schema$ClickThroughUrl; + /** + * Companion creative overrides for this creative assignment. Applicable to + * video ads. + */ + companionCreativeOverrides?: Schema$CompanionClickThroughOverride[]; + /** + * Creative group assignments for this creative assignment. Only one + * assignment per creative group number is allowed for a maximum of two + * assignments. + */ + creativeGroupAssignments?: Schema$CreativeGroupAssignment[]; + /** + * ID of the creative to be assigned. This is a required field. + */ + creativeId?: string; + /** + * Dimension value for the ID of the creative. This is a read-only, + * auto-generated field. + */ + creativeIdDimensionValue?: Schema$DimensionValue; + /** + * Date and time that the assigned creative should stop serving. Must be + * later than the start time. + */ + endTime?: string; + /** + * Rich media exit overrides for this creative assignment. Applicable when + * the creative type is any of the following: - DISPLAY - RICH_MEDIA_INPAGE + * - RICH_MEDIA_INPAGE_FLOATING - RICH_MEDIA_IM_EXPAND - + * RICH_MEDIA_EXPANDING - RICH_MEDIA_INTERSTITIAL_FLOAT - + * RICH_MEDIA_MOBILE_IN_APP - RICH_MEDIA_MULTI_FLOATING - + * RICH_MEDIA_PEEL_DOWN - VPAID_LINEAR - VPAID_NON_LINEAR + */ + richMediaExitOverrides?: Schema$RichMediaExitOverride[]; + /** + * Sequence number of the creative assignment, applicable when the rotation + * type is CREATIVE_ROTATION_TYPE_SEQUENTIAL. Acceptable values are 1 to + * 65535, inclusive. + */ + sequence?: number; + /** + * Whether the creative to be assigned is SSL-compliant. This is a read-only + * field that is auto-generated when the ad is inserted or updated. + */ + sslCompliant?: boolean; + /** + * Date and time that the assigned creative should start serving. + */ + startTime?: string; + /** + * Weight of the creative assignment, applicable when the rotation type is + * CREATIVE_ROTATION_TYPE_RANDOM. Value must be greater than or equal to 1. + */ + weight?: number; + } + /** + * Click-through URL + */ + interface Schema$CreativeClickThroughUrl { + /** + * Read-only convenience field representing the actual URL that will be used + * for this click-through. The URL is computed as follows: - If + * landingPageId is specified then that landing page's URL is assigned + * to this field. - Otherwise, the customClickThroughUrl is assigned to this + * field. + */ + computedClickThroughUrl?: string; + /** + * Custom click-through URL. Applicable if the landingPageId field is left + * unset. + */ + customClickThroughUrl?: string; + /** + * ID of the landing page for the click-through URL. + */ + landingPageId?: string; + } + /** + * Creative Custom Event. + */ + interface Schema$CreativeCustomEvent { + /** + * Unique ID of this event used by Reporting and Data Transfer. This is a + * read-only field. + */ + advertiserCustomEventId?: string; + /** + * User-entered name for the event. + */ + advertiserCustomEventName?: string; + /** + * Type of the event. This is a read-only field. + */ + advertiserCustomEventType?: string; + /** + * Artwork label column, used to link events in Campaign Manager back to + * events in Studio. This is a required field and should not be modified + * after insertion. + */ + artworkLabel?: string; + /** + * Artwork type used by the creative.This is a read-only field. + */ + artworkType?: string; + /** + * Exit click-through URL for the event. This field is used only for exit + * events. + */ + exitClickThroughUrl?: Schema$CreativeClickThroughUrl; + /** + * ID of this event. This is a required field and should not be modified + * after insertion. + */ + id?: string; + /** + * Properties for rich media popup windows. This field is used only for exit + * events. + */ + popupWindowProperties?: Schema$PopupWindowProperties; + /** + * Target type used by the event. + */ + targetType?: string; + /** + * Video reporting ID, used to differentiate multiple videos in a single + * creative. This is a read-only field. + */ + videoReportingId?: string; + } + /** + * Contains properties of a creative field. + */ + interface Schema$CreativeField { + /** + * Account ID of this creative field. This is a read-only field that can be + * left blank. + */ + accountId?: string; + /** + * Advertiser ID of this creative field. This is a required field on + * insertion. + */ + advertiserId?: string; + /** + * Dimension value for the ID of the advertiser. This is a read-only, + * auto-generated field. + */ + advertiserIdDimensionValue?: Schema$DimensionValue; + /** + * ID of this creative field. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#creativeField". + */ + kind?: string; + /** + * Name of this creative field. This is a required field and must be less + * than 256 characters long and unique among creative fields of the same + * advertiser. + */ + name?: string; + /** + * Subaccount ID of this creative field. This is a read-only field that can + * be left blank. + */ + subaccountId?: string; + } + /** + * Creative Field Assignment. + */ + interface Schema$CreativeFieldAssignment { + /** + * ID of the creative field. + */ + creativeFieldId?: string; + /** + * ID of the creative field value. + */ + creativeFieldValueId?: string; + } + /** + * Creative Field List Response + */ + interface Schema$CreativeFieldsListResponse { + /** + * Creative field collection. + */ + creativeFields?: Schema$CreativeField[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#creativeFieldsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Contains properties of a creative field value. + */ + interface Schema$CreativeFieldValue { + /** + * ID of this creative field value. This is a read-only, auto-generated + * field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#creativeFieldValue". + */ + kind?: string; + /** + * Value of this creative field value. It needs to be less than 256 + * characters in length and unique per creative field. + */ + value?: string; + } + /** + * Creative Field Value List Response + */ + interface Schema$CreativeFieldValuesListResponse { + /** + * Creative field value collection. + */ + creativeFieldValues?: Schema$CreativeFieldValue[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#creativeFieldValuesListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Contains properties of a creative group. + */ + interface Schema$CreativeGroup { + /** + * Account ID of this creative group. This is a read-only field that can be + * left blank. + */ + accountId?: string; + /** + * Advertiser ID of this creative group. This is a required field on + * insertion. + */ + advertiserId?: string; + /** + * Dimension value for the ID of the advertiser. This is a read-only, + * auto-generated field. + */ + advertiserIdDimensionValue?: Schema$DimensionValue; + /** + * Subgroup of the creative group. Assign your creative groups to a subgroup + * in order to filter or manage them more easily. This field is required on + * insertion and is read-only after insertion. Acceptable values are 1 to 2, + * inclusive. + */ + groupNumber?: number; + /** + * ID of this creative group. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#creativeGroup". + */ + kind?: string; + /** + * Name of this creative group. This is a required field and must be less + * than 256 characters long and unique among creative groups of the same + * advertiser. + */ + name?: string; + /** + * Subaccount ID of this creative group. This is a read-only field that can + * be left blank. + */ + subaccountId?: string; + } + /** + * Creative Group Assignment. + */ + interface Schema$CreativeGroupAssignment { + /** + * ID of the creative group to be assigned. + */ + creativeGroupId?: string; + /** + * Creative group number of the creative group assignment. + */ + creativeGroupNumber?: string; + } + /** + * Creative Group List Response + */ + interface Schema$CreativeGroupsListResponse { + /** + * Creative group collection. + */ + creativeGroups?: Schema$CreativeGroup[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#creativeGroupsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Creative optimization settings. + */ + interface Schema$CreativeOptimizationConfiguration { + /** + * ID of this creative optimization config. This field is auto-generated + * when the campaign is inserted or updated. It can be null for existing + * campaigns. + */ + id?: string; + /** + * Name of this creative optimization config. This is a required field and + * must be less than 129 characters long. + */ + name?: string; + /** + * List of optimization activities associated with this configuration. + */ + optimizationActivitys?: Schema$OptimizationActivity[]; + /** + * Optimization model for this configuration. + */ + optimizationModel?: string; + } + /** + * Creative Rotation. + */ + interface Schema$CreativeRotation { + /** + * Creative assignments in this creative rotation. + */ + creativeAssignments?: Schema$CreativeAssignment[]; + /** + * Creative optimization configuration that is used by this ad. It should + * refer to one of the existing optimization configurations in the ad's + * campaign. If it is unset or set to 0, then the campaign's default + * optimization configuration will be used for this ad. + */ + creativeOptimizationConfigurationId?: string; + /** + * Type of creative rotation. Can be used to specify whether to use + * sequential or random rotation. + */ + type?: string; + /** + * Strategy for calculating weights. Used with + * CREATIVE_ROTATION_TYPE_RANDOM. + */ + weightCalculationStrategy?: string; + } + /** + * Creative Settings + */ + interface Schema$CreativeSettings { + /** + * Header text for iFrames for this site. Must be less than or equal to 2000 + * characters long. + */ + iFrameFooter?: string; + /** + * Header text for iFrames for this site. Must be less than or equal to 2000 + * characters long. + */ + iFrameHeader?: string; + } + /** + * Creative List Response + */ + interface Schema$CreativesListResponse { + /** + * Creative collection. + */ + creatives?: Schema$Creative[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#creativesListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Represents fields that are compatible to be selected for a report of type + * "CROSS_DIMENSION_REACH". + */ + interface Schema$CrossDimensionReachReportCompatibleFields { + /** + * Dimensions which are compatible to be selected in the + * "breakdown" section of the report. + */ + breakdown?: Schema$Dimension[]; + /** + * Dimensions which are compatible to be selected in the + * "dimensionFilters" section of the report. + */ + dimensionFilters?: Schema$Dimension[]; + /** + * The kind of resource this is, in this case + * dfareporting#crossDimensionReachReportCompatibleFields. + */ + kind?: string; + /** + * Metrics which are compatible to be selected in the + * "metricNames" section of the report. + */ + metrics?: Schema$Metric[]; + /** + * Metrics which are compatible to be selected in the + * "overlapMetricNames" section of the report. + */ + overlapMetrics?: Schema$Metric[]; + } + /** + * A custom floodlight variable. + */ + interface Schema$CustomFloodlightVariable { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#customFloodlightVariable". + */ + kind?: string; + /** + * The type of custom floodlight variable to supply a value for. These map + * to the "u[1-20]=" in the tags. + */ + type?: string; + /** + * The value of the custom floodlight variable. The length of string must + * not exceed 50 characters. + */ + value?: string; + } + /** + * Represents a Custom Rich Media Events group. + */ + interface Schema$CustomRichMediaEvents { + /** + * List of custom rich media event IDs. Dimension values must be all of type + * dfa:richMediaEventTypeIdAndName. + */ + filteredEventIds?: Schema$DimensionValue[]; + /** + * The kind of resource this is, in this case + * dfareporting#customRichMediaEvents. + */ + kind?: string; + } + /** + * Represents a date range. + */ + interface Schema$DateRange { + /** + * The end date of the date range, inclusive. A string of the format: + * "yyyy-MM-dd". + */ + endDate?: string; + /** + * The kind of resource this is, in this case dfareporting#dateRange. + */ + kind?: string; + /** + * The date range relative to the date of when the report is run. + */ + relativeDateRange?: string; + /** + * The start date of the date range, inclusive. A string of the format: + * "yyyy-MM-dd". + */ + startDate?: string; + } + /** + * Day Part Targeting. + */ + interface Schema$DayPartTargeting { + /** + * Days of the week when the ad will serve. Acceptable values are: - + * "SUNDAY" - "MONDAY" - "TUESDAY" - + * "WEDNESDAY" - "THURSDAY" - "FRIDAY" - + * "SATURDAY" + */ + daysOfWeek?: string[]; + /** + * Hours of the day when the ad will serve, where 0 is midnight to 1 AM and + * 23 is 11 PM to midnight. Can be specified with days of week, in which + * case the ad would serve during these hours on the specified days. For + * example if Monday, Wednesday, Friday are the days of week specified and + * 9-10am, 3-5pm (hours 9, 15, and 16) is specified, the ad would serve + * Monday, Wednesdays, and Fridays at 9-10am and 3-5pm. Acceptable values + * are 0 to 23, inclusive. + */ + hoursOfDay?: number[]; + /** + * Whether or not to use the user's local time. If false, the + * America/New York time zone applies. + */ + userLocalTime?: boolean; + } + /** + * Contains information about a landing page deep link. + */ + interface Schema$DeepLink { + /** + * The URL of the mobile app being linked to. + */ + appUrl?: string; + /** + * The fallback URL. This URL will be served to users who do not have the + * mobile app installed. + */ + fallbackUrl?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#deepLink". + */ + kind?: string; + /** + * The mobile app targeted by this deep link. + */ + mobileApp?: Schema$MobileApp; + /** + * Ads served to users on these remarketing lists will use this deep link. + * Applicable when mobileApp.directory is APPLE_APP_STORE. + */ + remarketingListIds?: string[]; + } + /** + * Properties of inheriting and overriding the default click-through event + * tag. A campaign may override the event tag defined at the advertiser level, + * and an ad may also override the campaign's setting further. + */ + interface Schema$DefaultClickThroughEventTagProperties { + /** + * ID of the click-through event tag to apply to all ads in this + * entity's scope. + */ + defaultClickThroughEventTagId?: string; + /** + * Whether this entity should override the inherited default click-through + * event tag with its own defined value. + */ + overrideInheritedEventTag?: boolean; + } + /** + * Delivery Schedule. + */ + interface Schema$DeliverySchedule { + /** + * Limit on the number of times an individual user can be served the ad + * within a specified period of time. + */ + frequencyCap?: Schema$FrequencyCap; + /** + * Whether or not hard cutoff is enabled. If true, the ad will not serve + * after the end date and time. Otherwise the ad will continue to be served + * until it has reached its delivery goals. + */ + hardCutoff?: boolean; + /** + * Impression ratio for this ad. This ratio determines how often each ad is + * served relative to the others. For example, if ad A has an impression + * ratio of 1 and ad B has an impression ratio of 3, then Campaign Manager + * will serve ad B three times as often as ad A. Acceptable values are 1 to + * 10, inclusive. + */ + impressionRatio?: string; + /** + * Serving priority of an ad, with respect to other ads. The lower the + * priority number, the greater the priority with which it is served. + */ + priority?: string; + } + /** + * Google Ad Manager Settings + */ + interface Schema$DfpSettings { + /** + * Ad Manager network code for this directory site. + */ + dfpNetworkCode?: string; + /** + * Ad Manager network name for this directory site. + */ + dfpNetworkName?: string; + /** + * Whether this directory site accepts programmatic placements. + */ + programmaticPlacementAccepted?: boolean; + /** + * Whether this directory site is available only via Publisher Portal. + */ + publisherPortalOnly?: boolean; + /** + * Whether this directory site accepts publisher-paid tags. + */ + pubPaidPlacementAccepted?: boolean; + } + /** + * Represents a dimension. + */ + interface Schema$Dimension { + /** + * The kind of resource this is, in this case dfareporting#dimension. + */ + kind?: string; + /** + * The dimension name, e.g. dfa:advertiser + */ + name?: string; + } + /** + * Represents a dimension filter. + */ + interface Schema$DimensionFilter { + /** + * The name of the dimension to filter. + */ + dimensionName?: string; + /** + * The kind of resource this is, in this case dfareporting#dimensionFilter. + */ + kind?: string; + /** + * The value of the dimension to filter. + */ + value?: string; + } + /** + * Represents a DimensionValue resource. + */ + interface Schema$DimensionValue { + /** + * The name of the dimension. + */ + dimensionName?: string; + /** + * The eTag of this response for caching purposes. + */ + etag?: string; + /** + * The ID associated with the value if available. + */ + id?: string; + /** + * The kind of resource this is, in this case dfareporting#dimensionValue. + */ + kind?: string; + /** + * Determines how the 'value' field is matched when filtering. If + * not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, + * '*' is allowed as a placeholder for variable length character + * sequences, and it can be escaped with a backslash. Note, only paid search + * dimensions ('dfa:paidSearch*') allow a matchType other than + * EXACT. + */ + matchType?: string; + /** + * The value of the dimension. + */ + value?: string; + } + /** + * Represents the list of DimensionValue resources. + */ + interface Schema$DimensionValueList { + /** + * The eTag of this response for caching purposes. + */ + etag?: string; + /** + * The dimension values returned in this response. + */ + items?: Schema$DimensionValue[]; + /** + * The kind of list this is, in this case dfareporting#dimensionValueList. + */ + kind?: string; + /** + * Continuation token used to page through dimension values. To retrieve the + * next page of results, set the next request's "pageToken" to + * the value of this field. The page token is only valid for a limited + * amount of time and should not be persisted. + */ + nextPageToken?: string; + } + /** + * Represents a DimensionValuesRequest. + */ + interface Schema$DimensionValueRequest { + /** + * The name of the dimension for which values should be requested. + */ + dimensionName?: string; + /** + * The end date of the date range for which to retrieve dimension values. A + * string of the format "yyyy-MM-dd". + */ + endDate?: string; + /** + * The list of filters by which to filter values. The filters are ANDed. + */ + filters?: Schema$DimensionFilter[]; + /** + * The kind of request this is, in this case + * dfareporting#dimensionValueRequest. + */ + kind?: string; + /** + * The start date of the date range for which to retrieve dimension values. + * A string of the format "yyyy-MM-dd". + */ + startDate?: string; + } + /** + * DirectorySites contains properties of a website from the Site Directory. + * Sites need to be added to an account via the Sites resource before they can + * be assigned to a placement. + */ + interface Schema$DirectorySite { + /** + * Whether this directory site is active. + */ + active?: boolean; + /** + * Directory site contacts. + */ + contactAssignments?: Schema$DirectorySiteContactAssignment[]; + /** + * Country ID of this directory site. This is a read-only field. + */ + countryId?: string; + /** + * Currency ID of this directory site. This is a read-only field. Possible + * values are: - "1" for USD - "2" for GBP - + * "3" for ESP - "4" for SEK - "5" for CAD + * - "6" for JPY - "7" for DEM - "8" for AUD + * - "9" for FRF - "10" for ITL - "11" for + * DKK - "12" for NOK - "13" for FIM - "14" + * for ZAR - "15" for IEP - "16" for NLG - + * "17" for EUR - "18" for KRW - "19" for + * TWD - "20" for SGD - "21" for CNY - "22" + * for HKD - "23" for NZD - "24" for MYR - + * "25" for BRL - "26" for PTE - "27" for + * MXP - "28" for CLP - "29" for TRY - "30" + * for ARS - "31" for PEN - "32" for ILS - + * "33" for CHF - "34" for VEF - "35" for + * COP - "36" for GTQ - "37" for PLN - "39" + * for INR - "40" for THB - "41" for IDR - + * "42" for CZK - "43" for RON - "44" for + * HUF - "45" for RUB - "46" for AED - "47" + * for BGN - "48" for HRK - "49" for MXN - + * "50" for NGN + */ + currencyId?: string; + /** + * Description of this directory site. This is a read-only field. + */ + description?: string; + /** + * ID of this directory site. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Dimension value for the ID of this directory site. This is a read-only, + * auto-generated field. + */ + idDimensionValue?: Schema$DimensionValue; + /** + * Tag types for regular placements. Acceptable values are: - + * "STANDARD" - "IFRAME_JAVASCRIPT_INPAGE" - + * "INTERNAL_REDIRECT_INPAGE" - "JAVASCRIPT_INPAGE" + */ + inpageTagFormats?: string[]; + /** + * Tag types for interstitial placements. Acceptable values are: - + * "IFRAME_JAVASCRIPT_INTERSTITIAL" - + * "INTERNAL_REDIRECT_INTERSTITIAL" - + * "JAVASCRIPT_INTERSTITIAL" + */ + interstitialTagFormats?: string[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#directorySite". + */ + kind?: string; + /** + * Name of this directory site. + */ + name?: string; + /** + * Parent directory site ID. + */ + parentId?: string; + /** + * Directory site settings. + */ + settings?: Schema$DirectorySiteSettings; + /** + * URL of this directory site. + */ + url?: string; + } + /** + * Contains properties of a Site Directory contact. + */ + interface Schema$DirectorySiteContact { + /** + * Address of this directory site contact. + */ + address?: string; + /** + * Email address of this directory site contact. + */ + email?: string; + /** + * First name of this directory site contact. + */ + firstName?: string; + /** + * ID of this directory site contact. This is a read-only, auto-generated + * field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#directorySiteContact". + */ + kind?: string; + /** + * Last name of this directory site contact. + */ + lastName?: string; + /** + * Phone number of this directory site contact. + */ + phone?: string; + /** + * Directory site contact role. + */ + role?: string; + /** + * Title or designation of this directory site contact. + */ + title?: string; + /** + * Directory site contact type. + */ + type?: string; + } + /** + * Directory Site Contact Assignment + */ + interface Schema$DirectorySiteContactAssignment { + /** + * ID of this directory site contact. This is a read-only, auto-generated + * field. + */ + contactId?: string; + /** + * Visibility of this directory site contact assignment. When set to PUBLIC + * this contact assignment is visible to all account and agency users; when + * set to PRIVATE it is visible only to the site. + */ + visibility?: string; + } + /** + * Directory Site Contact List Response + */ + interface Schema$DirectorySiteContactsListResponse { + /** + * Directory site contact collection + */ + directorySiteContacts?: Schema$DirectorySiteContact[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#directorySiteContactsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Directory Site Settings + */ + interface Schema$DirectorySiteSettings { + /** + * Whether this directory site has disabled active view creatives. + */ + activeViewOptOut?: boolean; + /** + * Directory site Ad Manager settings. + */ + dfpSettings?: Schema$DfpSettings; + /** + * Whether this site accepts in-stream video ads. + */ + instreamVideoPlacementAccepted?: boolean; + /** + * Whether this site accepts interstitial ads. + */ + interstitialPlacementAccepted?: boolean; + /** + * Whether this directory site has disabled Nielsen OCR reach ratings. + */ + nielsenOcrOptOut?: boolean; + /** + * Whether this directory site has disabled generation of Verification ins + * tags. + */ + verificationTagOptOut?: boolean; + /** + * Whether this directory site has disabled active view for in-stream video + * creatives. This is a read-only field. + */ + videoActiveViewOptOut?: boolean; + } + /** + * Directory Site List Response + */ + interface Schema$DirectorySitesListResponse { + /** + * Directory site collection. + */ + directorySites?: Schema$DirectorySite[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#directorySitesListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Contains properties of a dynamic targeting key. Dynamic targeting keys are + * unique, user-friendly labels, created at the advertiser level in DCM, that + * can be assigned to ads, creatives, and placements and used for targeting + * with Studio dynamic creatives. Use these labels instead of numeric Campaign + * Manager IDs (such as placement IDs) to save time and avoid errors in your + * dynamic feeds. + */ + interface Schema$DynamicTargetingKey { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#dynamicTargetingKey". + */ + kind?: string; + /** + * Name of this dynamic targeting key. This is a required field. Must be + * less than 256 characters long and cannot contain commas. All characters + * are converted to lowercase. + */ + name?: string; + /** + * ID of the object of this dynamic targeting key. This is a required field. + */ + objectId?: string; + /** + * Type of the object of this dynamic targeting key. This is a required + * field. + */ + objectType?: string; + } + /** + * Dynamic Targeting Key List Response + */ + interface Schema$DynamicTargetingKeysListResponse { + /** + * Dynamic targeting key collection. + */ + dynamicTargetingKeys?: Schema$DynamicTargetingKey[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#dynamicTargetingKeysListResponse". + */ + kind?: string; + } + /** + * A description of how user IDs are encrypted. + */ + interface Schema$EncryptionInfo { + /** + * The encryption entity ID. This should match the encryption configuration + * for ad serving or Data Transfer. + */ + encryptionEntityId?: string; + /** + * The encryption entity type. This should match the encryption + * configuration for ad serving or Data Transfer. + */ + encryptionEntityType?: string; + /** + * Describes whether the encrypted cookie was received from ad serving (the + * %m macro) or from Data Transfer. + */ + encryptionSource?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#encryptionInfo". + */ + kind?: string; + } + /** + * Contains properties of an event tag. + */ + interface Schema$EventTag { + /** + * Account ID of this event tag. This is a read-only field that can be left + * blank. + */ + accountId?: string; + /** + * Advertiser ID of this event tag. This field or the campaignId field is + * required on insertion. + */ + advertiserId?: string; + /** + * Dimension value for the ID of the advertiser. This is a read-only, + * auto-generated field. + */ + advertiserIdDimensionValue?: Schema$DimensionValue; + /** + * Campaign ID of this event tag. This field or the advertiserId field is + * required on insertion. + */ + campaignId?: string; + /** + * Dimension value for the ID of the campaign. This is a read-only, + * auto-generated field. + */ + campaignIdDimensionValue?: Schema$DimensionValue; + /** + * Whether this event tag should be automatically enabled for all of the + * advertiser's campaigns and ads. + */ + enabledByDefault?: boolean; + /** + * Whether to remove this event tag from ads that are trafficked through + * Display & Video 360 to Ad Exchange. This may be useful if the event + * tag uses a pixel that is unapproved for Ad Exchange bids on one or more + * networks, such as the Google Display Network. + */ + excludeFromAdxRequests?: boolean; + /** + * ID of this event tag. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#eventTag". + */ + kind?: string; + /** + * Name of this event tag. This is a required field and must be less than + * 256 characters long. + */ + name?: string; + /** + * Site filter type for this event tag. If no type is specified then the + * event tag will be applied to all sites. + */ + siteFilterType?: string; + /** + * Filter list of site IDs associated with this event tag. The + * siteFilterType determines whether this is a whitelist or blacklist + * filter. + */ + siteIds?: string[]; + /** + * Whether this tag is SSL-compliant or not. This is a read-only field. + */ + sslCompliant?: boolean; + /** + * Status of this event tag. Must be ENABLED for this event tag to fire. + * This is a required field. + */ + status?: string; + /** + * Subaccount ID of this event tag. This is a read-only field that can be + * left blank. + */ + subaccountId?: string; + /** + * Event tag type. Can be used to specify whether to use a third-party + * pixel, a third-party JavaScript URL, or a third-party click-through URL + * for either impression or click tracking. This is a required field. + */ + type?: string; + /** + * Payload URL for this event tag. The URL on a click-through event tag + * should have a landing page URL appended to the end of it. This field is + * required on insertion. + */ + url?: string; + /** + * Number of times the landing page URL should be URL-escaped before being + * appended to the click-through event tag URL. Only applies to + * click-through event tags as specified by the event tag type. + */ + urlEscapeLevels?: number; + } + /** + * Event tag override information. + */ + interface Schema$EventTagOverride { + /** + * Whether this override is enabled. + */ + enabled?: boolean; + /** + * ID of this event tag override. This is a read-only, auto-generated field. + */ + id?: string; + } + /** + * Event Tag List Response + */ + interface Schema$EventTagsListResponse { + /** + * Event tag collection. + */ + eventTags?: Schema$EventTag[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#eventTagsListResponse". + */ + kind?: string; + } + /** + * Represents a File resource. A file contains the metadata for a report run. + * It shows the status of the run and holds the URLs to the generated report + * data if the run is finished and the status is "REPORT_AVAILABLE". + */ + interface Schema$File { + /** + * The date range for which the file has report data. The date range will + * always be the absolute date range for which the report is run. + */ + dateRange?: Schema$DateRange; + /** + * The eTag of this response for caching purposes. + */ + etag?: string; + /** + * The filename of the file. + */ + fileName?: string; + /** + * The output format of the report. Only available once the file is + * available. + */ + format?: string; + /** + * The unique ID of this report file. + */ + id?: string; + /** + * The kind of resource this is, in this case dfareporting#file. + */ + kind?: string; + /** + * The timestamp in milliseconds since epoch when this file was last + * modified. + */ + lastModifiedTime?: string; + /** + * The ID of the report this file was generated from. + */ + reportId?: string; + /** + * The status of the report file. + */ + status?: string; + /** + * The URLs where the completed report file can be downloaded. + */ + urls?: any; + } + /** + * Represents the list of File resources. + */ + interface Schema$FileList { + /** + * The eTag of this response for caching purposes. + */ + etag?: string; + /** + * The files returned in this response. + */ + items?: Schema$File[]; + /** + * The kind of list this is, in this case dfareporting#fileList. + */ + kind?: string; + /** + * Continuation token used to page through files. To retrieve the next page + * of results, set the next request's "pageToken" to the value + * of this field. The page token is only valid for a limited amount of time + * and should not be persisted. + */ + nextPageToken?: string; + } + /** + * Flight + */ + interface Schema$Flight { + /** + * Inventory item flight end date. + */ + endDate?: string; + /** + * Rate or cost of this flight. + */ + rateOrCost?: string; + /** + * Inventory item flight start date. + */ + startDate?: string; + /** + * Units of this flight. + */ + units?: string; + } + /** + * Floodlight Activity GenerateTag Response + */ + interface Schema$FloodlightActivitiesGenerateTagResponse { + /** + * Generated tag for this Floodlight activity. For global site tags, this is + * the event snippet. + */ + floodlightActivityTag?: string; + /** + * The global snippet section of a global site tag. The global site tag sets + * new cookies on your domain, which will store a unique identifier for a + * user or the ad click that brought the user to your site. Learn more. + */ + globalSiteTagGlobalSnippet?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#floodlightActivitiesGenerateTagResponse". + */ + kind?: string; + } + /** + * Floodlight Activity List Response + */ + interface Schema$FloodlightActivitiesListResponse { + /** + * Floodlight activity collection. + */ + floodlightActivities?: Schema$FloodlightActivity[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#floodlightActivitiesListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Contains properties of a Floodlight activity. + */ + interface Schema$FloodlightActivity { + /** + * Account ID of this floodlight activity. This is a read-only field that + * can be left blank. + */ + accountId?: string; + /** + * Advertiser ID of this floodlight activity. If this field is left blank, + * the value will be copied over either from the activity group's + * advertiser or the existing activity's advertiser. + */ + advertiserId?: string; + /** + * Dimension value for the ID of the advertiser. This is a read-only, + * auto-generated field. + */ + advertiserIdDimensionValue?: Schema$DimensionValue; + /** + * Code type used for cache busting in the generated tag. Applicable only + * when floodlightActivityGroupType is COUNTER and countingMethod is + * STANDARD_COUNTING or UNIQUE_COUNTING. + */ + cacheBustingType?: string; + /** + * Counting method for conversions for this floodlight activity. This is a + * required field. + */ + countingMethod?: string; + /** + * Dynamic floodlight tags. + */ + defaultTags?: Schema$FloodlightActivityDynamicTag[]; + /** + * URL where this tag will be deployed. If specified, must be less than 256 + * characters long. + */ + expectedUrl?: string; + /** + * Floodlight activity group ID of this floodlight activity. This is a + * required field. + */ + floodlightActivityGroupId?: string; + /** + * Name of the associated floodlight activity group. This is a read-only + * field. + */ + floodlightActivityGroupName?: string; + /** + * Tag string of the associated floodlight activity group. This is a + * read-only field. + */ + floodlightActivityGroupTagString?: string; + /** + * Type of the associated floodlight activity group. This is a read-only + * field. + */ + floodlightActivityGroupType?: string; + /** + * Floodlight configuration ID of this floodlight activity. If this field is + * left blank, the value will be copied over either from the activity + * group's floodlight configuration or from the existing activity's + * floodlight configuration. + */ + floodlightConfigurationId?: string; + /** + * Dimension value for the ID of the floodlight configuration. This is a + * read-only, auto-generated field. + */ + floodlightConfigurationIdDimensionValue?: Schema$DimensionValue; + /** + * The type of Floodlight tag this activity will generate. This is a + * required field. + */ + floodlightTagType?: string; + /** + * Whether this activity is archived. + */ + hidden?: boolean; + /** + * ID of this floodlight activity. This is a read-only, auto-generated + * field. + */ + id?: string; + /** + * Dimension value for the ID of this floodlight activity. This is a + * read-only, auto-generated field. + */ + idDimensionValue?: Schema$DimensionValue; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#floodlightActivity". + */ + kind?: string; + /** + * Name of this floodlight activity. This is a required field. Must be less + * than 129 characters long and cannot contain quotes. + */ + name?: string; + /** + * General notes or implementation instructions for the tag. + */ + notes?: string; + /** + * Publisher dynamic floodlight tags. + */ + publisherTags?: Schema$FloodlightActivityPublisherDynamicTag[]; + /** + * Whether this tag should use SSL. + */ + secure?: boolean; + /** + * Whether the floodlight activity is SSL-compliant. This is a read-only + * field, its value detected by the system from the floodlight tags. + */ + sslCompliant?: boolean; + /** + * Whether this floodlight activity must be SSL-compliant. + */ + sslRequired?: boolean; + /** + * Subaccount ID of this floodlight activity. This is a read-only field that + * can be left blank. + */ + subaccountId?: string; + /** + * Tag format type for the floodlight activity. If left blank, the tag + * format will default to HTML. + */ + tagFormat?: string; + /** + * Value of the cat= parameter in the floodlight tag, which the ad servers + * use to identify the activity. This is optional: if empty, a new tag + * string will be generated for you. This string must be 1 to 8 characters + * long, with valid characters being [a-z][A-Z][0-9][-][ _ ]. This tag + * string must also be unique among activities of the same activity group. + * This field is read-only after insertion. + */ + tagString?: string; + /** + * List of the user-defined variables used by this conversion tag. These map + * to the "u[1-100]=" in the tags. Each of these can have a user + * defined type. Acceptable values are U1 to U100, inclusive. + */ + userDefinedVariableTypes?: string[]; + } + /** + * Dynamic Tag + */ + interface Schema$FloodlightActivityDynamicTag { + /** + * ID of this dynamic tag. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Name of this tag. + */ + name?: string; + /** + * Tag code. + */ + tag?: string; + } + /** + * Contains properties of a Floodlight activity group. + */ + interface Schema$FloodlightActivityGroup { + /** + * Account ID of this floodlight activity group. This is a read-only field + * that can be left blank. + */ + accountId?: string; + /** + * Advertiser ID of this floodlight activity group. If this field is left + * blank, the value will be copied over either from the floodlight + * configuration's advertiser or from the existing activity group's + * advertiser. + */ + advertiserId?: string; + /** + * Dimension value for the ID of the advertiser. This is a read-only, + * auto-generated field. + */ + advertiserIdDimensionValue?: Schema$DimensionValue; + /** + * Floodlight configuration ID of this floodlight activity group. This is a + * required field. + */ + floodlightConfigurationId?: string; + /** + * Dimension value for the ID of the floodlight configuration. This is a + * read-only, auto-generated field. + */ + floodlightConfigurationIdDimensionValue?: Schema$DimensionValue; + /** + * ID of this floodlight activity group. This is a read-only, auto-generated + * field. + */ + id?: string; + /** + * Dimension value for the ID of this floodlight activity group. This is a + * read-only, auto-generated field. + */ + idDimensionValue?: Schema$DimensionValue; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#floodlightActivityGroup". + */ + kind?: string; + /** + * Name of this floodlight activity group. This is a required field. Must be + * less than 65 characters long and cannot contain quotes. + */ + name?: string; + /** + * Subaccount ID of this floodlight activity group. This is a read-only + * field that can be left blank. + */ + subaccountId?: string; + /** + * Value of the type= parameter in the floodlight tag, which the ad servers + * use to identify the activity group that the activity belongs to. This is + * optional: if empty, a new tag string will be generated for you. This + * string must be 1 to 8 characters long, with valid characters being + * [a-z][A-Z][0-9][-][ _ ]. This tag string must also be unique among + * activity groups of the same floodlight configuration. This field is + * read-only after insertion. + */ + tagString?: string; + /** + * Type of the floodlight activity group. This is a required field that is + * read-only after insertion. + */ + type?: string; + } + /** + * Floodlight Activity Group List Response + */ + interface Schema$FloodlightActivityGroupsListResponse { + /** + * Floodlight activity group collection. + */ + floodlightActivityGroups?: Schema$FloodlightActivityGroup[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#floodlightActivityGroupsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Publisher Dynamic Tag + */ + interface Schema$FloodlightActivityPublisherDynamicTag { + /** + * Whether this tag is applicable only for click-throughs. + */ + clickThrough?: boolean; + /** + * Directory site ID of this dynamic tag. This is a write-only field that + * can be used as an alternative to the siteId field. When this resource is + * retrieved, only the siteId field will be populated. + */ + directorySiteId?: string; + /** + * Dynamic floodlight tag. + */ + dynamicTag?: Schema$FloodlightActivityDynamicTag; + /** + * Site ID of this dynamic tag. + */ + siteId?: string; + /** + * Dimension value for the ID of the site. This is a read-only, + * auto-generated field. + */ + siteIdDimensionValue?: Schema$DimensionValue; + /** + * Whether this tag is applicable only for view-throughs. + */ + viewThrough?: boolean; + } + /** + * Contains properties of a Floodlight configuration. + */ + interface Schema$FloodlightConfiguration { + /** + * Account ID of this floodlight configuration. This is a read-only field + * that can be left blank. + */ + accountId?: string; + /** + * Advertiser ID of the parent advertiser of this floodlight configuration. + */ + advertiserId?: string; + /** + * Dimension value for the ID of the advertiser. This is a read-only, + * auto-generated field. + */ + advertiserIdDimensionValue?: Schema$DimensionValue; + /** + * Whether advertiser data is shared with Google Analytics. + */ + analyticsDataSharingEnabled?: boolean; + /** + * Whether the exposure-to-conversion report is enabled. This report shows + * detailed pathway information on up to 10 of the most recent ad exposures + * seen by a user before converting. + */ + exposureToConversionEnabled?: boolean; + /** + * Day that will be counted as the first day of the week in reports. This is + * a required field. + */ + firstDayOfWeek?: string; + /** + * ID of this floodlight configuration. This is a read-only, auto-generated + * field. + */ + id?: string; + /** + * Dimension value for the ID of this floodlight configuration. This is a + * read-only, auto-generated field. + */ + idDimensionValue?: Schema$DimensionValue; + /** + * Whether in-app attribution tracking is enabled. + */ + inAppAttributionTrackingEnabled?: boolean; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#floodlightConfiguration". + */ + kind?: string; + /** + * Lookback window settings for this floodlight configuration. + */ + lookbackConfiguration?: Schema$LookbackConfiguration; + /** + * Types of attribution options for natural search conversions. + */ + naturalSearchConversionAttributionOption?: string; + /** + * Settings for Campaign Manager Omniture integration. + */ + omnitureSettings?: Schema$OmnitureSettings; + /** + * Subaccount ID of this floodlight configuration. This is a read-only field + * that can be left blank. + */ + subaccountId?: string; + /** + * Configuration settings for dynamic and image floodlight tags. + */ + tagSettings?: Schema$TagSettings; + /** + * List of third-party authentication tokens enabled for this configuration. + */ + thirdPartyAuthenticationTokens?: Schema$ThirdPartyAuthenticationToken[]; + /** + * List of user defined variables enabled for this configuration. + */ + userDefinedVariableConfigurations?: Schema$UserDefinedVariableConfiguration[]; + } + /** + * Floodlight Configuration List Response + */ + interface Schema$FloodlightConfigurationsListResponse { + /** + * Floodlight configuration collection. + */ + floodlightConfigurations?: Schema$FloodlightConfiguration[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#floodlightConfigurationsListResponse". + */ + kind?: string; + } + /** + * Represents fields that are compatible to be selected for a report of type + * "FlOODLIGHT". + */ + interface Schema$FloodlightReportCompatibleFields { + /** + * Dimensions which are compatible to be selected in the + * "dimensionFilters" section of the report. + */ + dimensionFilters?: Schema$Dimension[]; + /** + * Dimensions which are compatible to be selected in the + * "dimensions" section of the report. + */ + dimensions?: Schema$Dimension[]; + /** + * The kind of resource this is, in this case + * dfareporting#floodlightReportCompatibleFields. + */ + kind?: string; + /** + * Metrics which are compatible to be selected in the + * "metricNames" section of the report. + */ + metrics?: Schema$Metric[]; + } + /** + * Frequency Cap. + */ + interface Schema$FrequencyCap { + /** + * Duration of time, in seconds, for this frequency cap. The maximum + * duration is 90 days. Acceptable values are 1 to 7776000, inclusive. + */ + duration?: string; + /** + * Number of times an individual user can be served the ad within the + * specified duration. Acceptable values are 1 to 15, inclusive. + */ + impressions?: string; + } + /** + * FsCommand. + */ + interface Schema$FsCommand { + /** + * Distance from the left of the browser.Applicable when positionOption is + * DISTANCE_FROM_TOP_LEFT_CORNER. + */ + left?: number; + /** + * Position in the browser where the window will open. + */ + positionOption?: string; + /** + * Distance from the top of the browser. Applicable when positionOption is + * DISTANCE_FROM_TOP_LEFT_CORNER. + */ + top?: number; + /** + * Height of the window. + */ + windowHeight?: number; + /** + * Width of the window. + */ + windowWidth?: number; + } + /** + * Geographical Targeting. + */ + interface Schema$GeoTargeting { + /** + * Cities to be targeted. For each city only dartId is required. The other + * fields are populated automatically when the ad is inserted or updated. If + * targeting a city, do not target or exclude the country of the city, and + * do not target the metro or region of the city. + */ + cities?: Schema$City[]; + /** + * Countries to be targeted or excluded from targeting, depending on the + * setting of the excludeCountries field. For each country only dartId is + * required. The other fields are populated automatically when the ad is + * inserted or updated. If targeting or excluding a country, do not target + * regions, cities, metros, or postal codes in the same country. + */ + countries?: Schema$Country[]; + /** + * Whether or not to exclude the countries in the countries field from + * targeting. If false, the countries field refers to countries which will + * be targeted by the ad. + */ + excludeCountries?: boolean; + /** + * Metros to be targeted. For each metro only dmaId is required. The other + * fields are populated automatically when the ad is inserted or updated. If + * targeting a metro, do not target or exclude the country of the metro. + */ + metros?: Schema$Metro[]; + /** + * Postal codes to be targeted. For each postal code only id is required. + * The other fields are populated automatically when the ad is inserted or + * updated. If targeting a postal code, do not target or exclude the country + * of the postal code. + */ + postalCodes?: Schema$PostalCode[]; + /** + * Regions to be targeted. For each region only dartId is required. The + * other fields are populated automatically when the ad is inserted or + * updated. If targeting a region, do not target or exclude the country of + * the region. + */ + regions?: Schema$Region[]; + } + /** + * Represents a buy from the Planning inventory store. + */ + interface Schema$InventoryItem { + /** + * Account ID of this inventory item. + */ + accountId?: string; + /** + * Ad slots of this inventory item. If this inventory item represents a + * standalone placement, there will be exactly one ad slot. If this + * inventory item represents a placement group, there will be more than one + * ad slot, each representing one child placement in that placement group. + */ + adSlots?: Schema$AdSlot[]; + /** + * Advertiser ID of this inventory item. + */ + advertiserId?: string; + /** + * Content category ID of this inventory item. + */ + contentCategoryId?: string; + /** + * Estimated click-through rate of this inventory item. + */ + estimatedClickThroughRate?: string; + /** + * Estimated conversion rate of this inventory item. + */ + estimatedConversionRate?: string; + /** + * ID of this inventory item. + */ + id?: string; + /** + * Whether this inventory item is in plan. + */ + inPlan?: boolean; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#inventoryItem". + */ + kind?: string; + /** + * Information about the most recent modification of this inventory item. + */ + lastModifiedInfo?: Schema$LastModifiedInfo; + /** + * Name of this inventory item. For standalone inventory items, this is the + * same name as that of its only ad slot. For group inventory items, this + * can differ from the name of any of its ad slots. + */ + name?: string; + /** + * Negotiation channel ID of this inventory item. + */ + negotiationChannelId?: string; + /** + * Order ID of this inventory item. + */ + orderId?: string; + /** + * Placement strategy ID of this inventory item. + */ + placementStrategyId?: string; + /** + * Pricing of this inventory item. + */ + pricing?: Schema$Pricing; + /** + * Project ID of this inventory item. + */ + projectId?: string; + /** + * RFP ID of this inventory item. + */ + rfpId?: string; + /** + * ID of the site this inventory item is associated with. + */ + siteId?: string; + /** + * Subaccount ID of this inventory item. + */ + subaccountId?: string; + /** + * Type of inventory item. + */ + type?: string; + } + /** + * Inventory item List Response + */ + interface Schema$InventoryItemsListResponse { + /** + * Inventory item collection + */ + inventoryItems?: Schema$InventoryItem[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#inventoryItemsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Key Value Targeting Expression. + */ + interface Schema$KeyValueTargetingExpression { + /** + * Keyword expression being targeted by the ad. + */ + expression?: string; + } + /** + * Contains information about where a user's browser is taken after the + * user clicks an ad. + */ + interface Schema$LandingPage { + /** + * Advertiser ID of this landing page. This is a required field. + */ + advertiserId?: string; + /** + * Whether this landing page has been archived. + */ + archived?: boolean; + /** + * Links that will direct the user to a mobile app, if installed. + */ + deepLinks?: Schema$DeepLink[]; + /** + * ID of this landing page. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#landingPage". + */ + kind?: string; + /** + * Name of this landing page. This is a required field. It must be less than + * 256 characters long. + */ + name?: string; + /** + * URL of this landing page. This is a required field. + */ + url?: string; + } + /** + * Contains information about a language that can be targeted by ads. + */ + interface Schema$Language { + /** + * Language ID of this language. This is the ID used for targeting and + * generating reports. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#language". + */ + kind?: string; + /** + * Format of language code is an ISO 639 two-letter language code optionally + * followed by an underscore followed by an ISO 3166 code. Examples are + * "en" for English or "zh_CN" for Simplified Chinese. + */ + languageCode?: string; + /** + * Name of this language. + */ + name?: string; + } + /** + * Language List Response + */ + interface Schema$LanguagesListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#languagesListResponse". + */ + kind?: string; + /** + * Language collection. + */ + languages?: Schema$Language[]; + } + /** + * Language Targeting. + */ + interface Schema$LanguageTargeting { + /** + * Languages that this ad targets. For each language only languageId is + * required. The other fields are populated automatically when the ad is + * inserted or updated. + */ + languages?: Schema$Language[]; + } + /** + * Modification timestamp. + */ + interface Schema$LastModifiedInfo { + /** + * Timestamp of the last change in milliseconds since epoch. + */ + time?: string; + } + /** + * A group clause made up of list population terms representing constraints + * joined by ORs. + */ + interface Schema$ListPopulationClause { + /** + * Terms of this list population clause. Each clause is made up of list + * population terms representing constraints and are joined by ORs. + */ + terms?: Schema$ListPopulationTerm[]; + } + /** + * Remarketing List Population Rule. + */ + interface Schema$ListPopulationRule { + /** + * Floodlight activity ID associated with this rule. This field can be left + * blank. + */ + floodlightActivityId?: string; + /** + * Name of floodlight activity associated with this rule. This is a + * read-only, auto-generated field. + */ + floodlightActivityName?: string; + /** + * Clauses that make up this list population rule. Clauses are joined by + * ANDs, and the clauses themselves are made up of list population terms + * which are joined by ORs. + */ + listPopulationClauses?: Schema$ListPopulationClause[]; + } + /** + * Remarketing List Population Rule Term. + */ + interface Schema$ListPopulationTerm { + /** + * Will be true if the term should check if the user is in the list and + * false if the term should check if the user is not in the list. This field + * is only relevant when type is set to LIST_MEMBERSHIP_TERM. False by + * default. + */ + contains?: boolean; + /** + * Whether to negate the comparison result of this term during rule + * evaluation. This field is only relevant when type is left unset or set to + * CUSTOM_VARIABLE_TERM or REFERRER_TERM. + */ + negation?: boolean; + /** + * Comparison operator of this term. This field is only relevant when type + * is left unset or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM. + */ + operator?: string; + /** + * ID of the list in question. This field is only relevant when type is set + * to LIST_MEMBERSHIP_TERM. + */ + remarketingListId?: string; + /** + * List population term type determines the applicable fields in this + * object. If left unset or set to CUSTOM_VARIABLE_TERM, then variableName, + * variableFriendlyName, operator, value, and negation are applicable. If + * set to LIST_MEMBERSHIP_TERM then remarketingListId and contains are + * applicable. If set to REFERRER_TERM then operator, value, and negation + * are applicable. + */ + type?: string; + /** + * Literal to compare the variable to. This field is only relevant when type + * is left unset or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM. + */ + value?: string; + /** + * Friendly name of this term's variable. This is a read-only, + * auto-generated field. This field is only relevant when type is left unset + * or set to CUSTOM_VARIABLE_TERM. + */ + variableFriendlyName?: string; + /** + * Name of the variable (U1, U2, etc.) being compared in this term. This + * field is only relevant when type is set to null, CUSTOM_VARIABLE_TERM or + * REFERRER_TERM. + */ + variableName?: string; + } + /** + * Remarketing List Targeting Expression. + */ + interface Schema$ListTargetingExpression { + /** + * Expression describing which lists are being targeted by the ad. + */ + expression?: string; + } + /** + * Lookback configuration settings. + */ + interface Schema$LookbackConfiguration { + /** + * Lookback window, in days, from the last time a given user clicked on one + * of your ads. If you enter 0, clicks will not be considered as triggering + * events for floodlight tracking. If you leave this field blank, the + * default value for your account will be used. Acceptable values are 0 to + * 90, inclusive. + */ + clickDuration?: number; + /** + * Lookback window, in days, from the last time a given user viewed one of + * your ads. If you enter 0, impressions will not be considered as + * triggering events for floodlight tracking. If you leave this field blank, + * the default value for your account will be used. Acceptable values are 0 + * to 90, inclusive. + */ + postImpressionActivitiesDuration?: number; + } + /** + * Represents a metric. + */ + interface Schema$Metric { + /** + * The kind of resource this is, in this case dfareporting#metric. + */ + kind?: string; + /** + * The metric name, e.g. dfa:impressions + */ + name?: string; + } + /** + * Contains information about a metro region that can be targeted by ads. + */ + interface Schema$Metro { + /** + * Country code of the country to which this metro region belongs. + */ + countryCode?: string; + /** + * DART ID of the country to which this metro region belongs. + */ + countryDartId?: string; + /** + * DART ID of this metro region. + */ + dartId?: string; + /** + * DMA ID of this metro region. This is the ID used for targeting and + * generating reports, and is equivalent to metro_code. + */ + dmaId?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#metro". + */ + kind?: string; + /** + * Metro code of this metro region. This is equivalent to dma_id. + */ + metroCode?: string; + /** + * Name of this metro region. + */ + name?: string; + } + /** + * Metro List Response + */ + interface Schema$MetrosListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#metrosListResponse". + */ + kind?: string; + /** + * Metro collection. + */ + metros?: Schema$Metro[]; + } + /** + * Contains information about a mobile app. Used as a landing page deep link. + */ + interface Schema$MobileApp { + /** + * Mobile app directory. + */ + directory?: string; + /** + * ID of this mobile app. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#mobileApp". + */ + kind?: string; + /** + * Publisher name. + */ + publisherName?: string; + /** + * Title of this mobile app. + */ + title?: string; + } + /** + * Mobile app List Response + */ + interface Schema$MobileAppsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#mobileAppsListResponse". + */ + kind?: string; + /** + * Mobile apps collection. + */ + mobileApps?: Schema$MobileApp[]; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + } + /** + * Contains information about a mobile carrier that can be targeted by ads. + */ + interface Schema$MobileCarrier { + /** + * Country code of the country to which this mobile carrier belongs. + */ + countryCode?: string; + /** + * DART ID of the country to which this mobile carrier belongs. + */ + countryDartId?: string; + /** + * ID of this mobile carrier. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#mobileCarrier". + */ + kind?: string; + /** + * Name of this mobile carrier. + */ + name?: string; + } + /** + * Mobile Carrier List Response + */ + interface Schema$MobileCarriersListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#mobileCarriersListResponse". + */ + kind?: string; + /** + * Mobile carrier collection. + */ + mobileCarriers?: Schema$MobileCarrier[]; + } + /** + * Object Filter. + */ + interface Schema$ObjectFilter { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#objectFilter". + */ + kind?: string; + /** + * Applicable when status is ASSIGNED. The user has access to objects with + * these object IDs. + */ + objectIds?: string[]; + /** + * Status of the filter. NONE means the user has access to none of the + * objects. ALL means the user has access to all objects. ASSIGNED means the + * user has access to the objects with IDs in the objectIds list. + */ + status?: string; + } + /** + * Offset Position. + */ + interface Schema$OffsetPosition { + /** + * Offset distance from left side of an asset or a window. + */ + left?: number; + /** + * Offset distance from top side of an asset or a window. + */ + top?: number; + } + /** + * Omniture Integration Settings. + */ + interface Schema$OmnitureSettings { + /** + * Whether placement cost data will be sent to Omniture. This property can + * be enabled only if omnitureIntegrationEnabled is true. + */ + omnitureCostDataEnabled?: boolean; + /** + * Whether Omniture integration is enabled. This property can be enabled + * only when the "Advanced Ad Serving" account setting is enabled. + */ + omnitureIntegrationEnabled?: boolean; + } + /** + * Contains information about an operating system that can be targeted by ads. + */ + interface Schema$OperatingSystem { + /** + * DART ID of this operating system. This is the ID used for targeting. + */ + dartId?: string; + /** + * Whether this operating system is for desktop. + */ + desktop?: boolean; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#operatingSystem". + */ + kind?: string; + /** + * Whether this operating system is for mobile. + */ + mobile?: boolean; + /** + * Name of this operating system. + */ + name?: string; + } + /** + * Operating System List Response + */ + interface Schema$OperatingSystemsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#operatingSystemsListResponse". + */ + kind?: string; + /** + * Operating system collection. + */ + operatingSystems?: Schema$OperatingSystem[]; + } + /** + * Contains information about a particular version of an operating system that + * can be targeted by ads. + */ + interface Schema$OperatingSystemVersion { + /** + * ID of this operating system version. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#operatingSystemVersion". + */ + kind?: string; + /** + * Major version (leftmost number) of this operating system version. + */ + majorVersion?: string; + /** + * Minor version (number after the first dot) of this operating system + * version. + */ + minorVersion?: string; + /** + * Name of this operating system version. + */ + name?: string; + /** + * Operating system of this operating system version. + */ + operatingSystem?: Schema$OperatingSystem; + } + /** + * Operating System Version List Response + */ + interface Schema$OperatingSystemVersionsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#operatingSystemVersionsListResponse". + */ + kind?: string; + /** + * Operating system version collection. + */ + operatingSystemVersions?: Schema$OperatingSystemVersion[]; + } + /** + * Creative optimization activity. + */ + interface Schema$OptimizationActivity { + /** + * Floodlight activity ID of this optimization activity. This is a required + * field. + */ + floodlightActivityId?: string; + /** + * Dimension value for the ID of the floodlight activity. This is a + * read-only, auto-generated field. + */ + floodlightActivityIdDimensionValue?: Schema$DimensionValue; + /** + * Weight associated with this optimization. The weight assigned will be + * understood in proportion to the weights assigned to the other + * optimization activities. Value must be greater than or equal to 1. + */ + weight?: number; + } + /** + * Describes properties of a Planning order. + */ + interface Schema$Order { + /** + * Account ID of this order. + */ + accountId?: string; + /** + * Advertiser ID of this order. + */ + advertiserId?: string; + /** + * IDs for users that have to approve documents created for this order. + */ + approverUserProfileIds?: string[]; + /** + * Buyer invoice ID associated with this order. + */ + buyerInvoiceId?: string; + /** + * Name of the buyer organization. + */ + buyerOrganizationName?: string; + /** + * Comments in this order. + */ + comments?: string; + /** + * Contacts for this order. + */ + contacts?: Schema$OrderContact[]; + /** + * ID of this order. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#order". + */ + kind?: string; + /** + * Information about the most recent modification of this order. + */ + lastModifiedInfo?: Schema$LastModifiedInfo; + /** + * Name of this order. + */ + name?: string; + /** + * Notes of this order. + */ + notes?: string; + /** + * ID of the terms and conditions template used in this order. + */ + planningTermId?: string; + /** + * Project ID of this order. + */ + projectId?: string; + /** + * Seller order ID associated with this order. + */ + sellerOrderId?: string; + /** + * Name of the seller organization. + */ + sellerOrganizationName?: string; + /** + * Site IDs this order is associated with. + */ + siteId?: string[]; + /** + * Free-form site names this order is associated with. + */ + siteNames?: string[]; + /** + * Subaccount ID of this order. + */ + subaccountId?: string; + /** + * Terms and conditions of this order. + */ + termsAndConditions?: string; + } + /** + * Contact of an order. + */ + interface Schema$OrderContact { + /** + * Free-form information about this contact. It could be any information + * related to this contact in addition to type, title, name, and signature + * user profile ID. + */ + contactInfo?: string; + /** + * Name of this contact. + */ + contactName?: string; + /** + * Title of this contact. + */ + contactTitle?: string; + /** + * Type of this contact. + */ + contactType?: string; + /** + * ID of the user profile containing the signature that will be embedded + * into order documents. + */ + signatureUserProfileId?: string; + } + /** + * Contains properties of a Planning order document. + */ + interface Schema$OrderDocument { + /** + * Account ID of this order document. + */ + accountId?: string; + /** + * Advertiser ID of this order document. + */ + advertiserId?: string; + /** + * The amended order document ID of this order document. An order document + * can be created by optionally amending another order document so that the + * change history can be preserved. + */ + amendedOrderDocumentId?: string; + /** + * IDs of users who have approved this order document. + */ + approvedByUserProfileIds?: string[]; + /** + * Whether this order document is cancelled. + */ + cancelled?: boolean; + /** + * Information about the creation of this order document. + */ + createdInfo?: Schema$LastModifiedInfo; + /** + * Effective date of this order document. + */ + effectiveDate?: string; + /** + * ID of this order document. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#orderDocument". + */ + kind?: string; + /** + * List of email addresses that received the last sent document. + */ + lastSentRecipients?: string[]; + /** + * Timestamp of the last email sent with this order document. + */ + lastSentTime?: string; + /** + * ID of the order from which this order document is created. + */ + orderId?: string; + /** + * Project ID of this order document. + */ + projectId?: string; + /** + * Whether this order document has been signed. + */ + signed?: boolean; + /** + * Subaccount ID of this order document. + */ + subaccountId?: string; + /** + * Title of this order document. + */ + title?: string; + /** + * Type of this order document + */ + type?: string; + } + /** + * Order document List Response + */ + interface Schema$OrderDocumentsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#orderDocumentsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + /** + * Order document collection + */ + orderDocuments?: Schema$OrderDocument[]; + } + /** + * Order List Response + */ + interface Schema$OrdersListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#ordersListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + /** + * Order collection. + */ + orders?: Schema$Order[]; + } + /** + * Represents fields that are compatible to be selected for a report of type + * "PATH_TO_CONVERSION". + */ + interface Schema$PathToConversionReportCompatibleFields { + /** + * Conversion dimensions which are compatible to be selected in the + * "conversionDimensions" section of the report. + */ + conversionDimensions?: Schema$Dimension[]; + /** + * Custom floodlight variables which are compatible to be selected in the + * "customFloodlightVariables" section of the report. + */ + customFloodlightVariables?: Schema$Dimension[]; + /** + * The kind of resource this is, in this case + * dfareporting#pathToConversionReportCompatibleFields. + */ + kind?: string; + /** + * Metrics which are compatible to be selected in the + * "metricNames" section of the report. + */ + metrics?: Schema$Metric[]; + /** + * Per-interaction dimensions which are compatible to be selected in the + * "perInteractionDimensions" section of the report. + */ + perInteractionDimensions?: Schema$Dimension[]; + } + /** + * Contains properties of a placement. + */ + interface Schema$Placement { + /** + * Account ID of this placement. This field can be left blank. + */ + accountId?: string; + /** + * Whether this placement opts out of ad blocking. When true, ad blocking is + * disabled for this placement. When false, the campaign and site settings + * take effect. + */ + adBlockingOptOut?: boolean; + /** + * Additional sizes associated with this placement. When inserting or + * updating a placement, only the size ID field is used. + */ + additionalSizes?: Schema$Size[]; + /** + * Advertiser ID of this placement. This field can be left blank. + */ + advertiserId?: string; + /** + * Dimension value for the ID of the advertiser. This is a read-only, + * auto-generated field. + */ + advertiserIdDimensionValue?: Schema$DimensionValue; + /** + * Whether this placement is archived. + */ + archived?: boolean; + /** + * Campaign ID of this placement. This field is a required field on + * insertion. + */ + campaignId?: string; + /** + * Dimension value for the ID of the campaign. This is a read-only, + * auto-generated field. + */ + campaignIdDimensionValue?: Schema$DimensionValue; + /** + * Comments for this placement. + */ + comment?: string; + /** + * Placement compatibility. DISPLAY and DISPLAY_INTERSTITIAL refer to + * rendering on desktop, on mobile devices or in mobile apps for regular or + * interstitial ads respectively. APP and APP_INTERSTITIAL are no longer + * allowed for new placement insertions. Instead, use DISPLAY or + * DISPLAY_INTERSTITIAL. IN_STREAM_VIDEO refers to rendering in in-stream + * video ads developed with the VAST standard. This field is required on + * insertion. + */ + compatibility?: string; + /** + * ID of the content category assigned to this placement. + */ + contentCategoryId?: string; + /** + * Information about the creation of this placement. This is a read-only + * field. + */ + createInfo?: Schema$LastModifiedInfo; + /** + * Directory site ID of this placement. On insert, you must set either this + * field or the siteId field to specify the site associated with this + * placement. This is a required field that is read-only after insertion. + */ + directorySiteId?: string; + /** + * Dimension value for the ID of the directory site. This is a read-only, + * auto-generated field. + */ + directorySiteIdDimensionValue?: Schema$DimensionValue; + /** + * External ID for this placement. + */ + externalId?: string; + /** + * ID of this placement. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Dimension value for the ID of this placement. This is a read-only, + * auto-generated field. + */ + idDimensionValue?: Schema$DimensionValue; + /** + * Key name of this placement. This is a read-only, auto-generated field. + */ + keyName?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#placement". + */ + kind?: string; + /** + * Information about the most recent modification of this placement. This is + * a read-only field. + */ + lastModifiedInfo?: Schema$LastModifiedInfo; + /** + * Lookback window settings for this placement. + */ + lookbackConfiguration?: Schema$LookbackConfiguration; + /** + * Name of this placement.This is a required field and must be less than 256 + * characters long. + */ + name?: string; + /** + * Whether payment was approved for this placement. This is a read-only + * field relevant only to publisher-paid placements. + */ + paymentApproved?: boolean; + /** + * Payment source for this placement. This is a required field that is + * read-only after insertion. + */ + paymentSource?: string; + /** + * ID of this placement's group, if applicable. + */ + placementGroupId?: string; + /** + * Dimension value for the ID of the placement group. This is a read-only, + * auto-generated field. + */ + placementGroupIdDimensionValue?: Schema$DimensionValue; + /** + * ID of the placement strategy assigned to this placement. + */ + placementStrategyId?: string; + /** + * Pricing schedule of this placement. This field is required on insertion, + * specifically subfields startDate, endDate and pricingType. + */ + pricingSchedule?: Schema$PricingSchedule; + /** + * Whether this placement is the primary placement of a roadblock (placement + * group). You cannot change this field from true to false. Setting this + * field to true will automatically set the primary field on the original + * primary placement of the roadblock to false, and it will automatically + * set the roadblock's primaryPlacementId field to the ID of this + * placement. + */ + primary?: boolean; + /** + * Information about the last publisher update. This is a read-only field. + */ + publisherUpdateInfo?: Schema$LastModifiedInfo; + /** + * Site ID associated with this placement. On insert, you must set either + * this field or the directorySiteId field to specify the site associated + * with this placement. This is a required field that is read-only after + * insertion. + */ + siteId?: string; + /** + * Dimension value for the ID of the site. This is a read-only, + * auto-generated field. + */ + siteIdDimensionValue?: Schema$DimensionValue; + /** + * Size associated with this placement. When inserting or updating a + * placement, only the size ID field is used. This field is required on + * insertion. + */ + size?: Schema$Size; + /** + * Whether creatives assigned to this placement must be SSL-compliant. + */ + sslRequired?: boolean; + /** + * Third-party placement status. + */ + status?: string; + /** + * Subaccount ID of this placement. This field can be left blank. + */ + subaccountId?: string; + /** + * Tag formats to generate for this placement. This field is required on + * insertion. Acceptable values are: - "PLACEMENT_TAG_STANDARD" - + * "PLACEMENT_TAG_IFRAME_JAVASCRIPT" - + * "PLACEMENT_TAG_IFRAME_ILAYER" - + * "PLACEMENT_TAG_INTERNAL_REDIRECT" - + * "PLACEMENT_TAG_JAVASCRIPT" - + * "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT" - + * "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT" - + * "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT" - + * "PLACEMENT_TAG_CLICK_COMMANDS" - + * "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH" - + * "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3" - + * "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4" - + * "PLACEMENT_TAG_TRACKING" - + * "PLACEMENT_TAG_TRACKING_IFRAME" - + * "PLACEMENT_TAG_TRACKING_JAVASCRIPT" + */ + tagFormats?: string[]; + /** + * Tag settings for this placement. + */ + tagSetting?: Schema$TagSetting; + /** + * Whether Verification and ActiveView are disabled for in-stream video + * creatives for this placement. The same setting videoActiveViewOptOut + * exists on the site level -- the opt out occurs if either of these + * settings are true. These settings are distinct from + * DirectorySites.settings.activeViewOptOut or + * Sites.siteSettings.activeViewOptOut which only apply to display ads. + * However, Accounts.activeViewOptOut opts out both video traffic, as well + * as display ads, from Verification and ActiveView. + */ + videoActiveViewOptOut?: boolean; + /** + * A collection of settings which affect video creatives served through this + * placement. Applicable to placements with IN_STREAM_VIDEO compatibility. + */ + videoSettings?: Schema$VideoSettings; + /** + * VPAID adapter setting for this placement. Controls which VPAID format the + * measurement adapter will use for in-stream video creatives assigned to + * this placement. Note: Flash is no longer supported. This field now + * defaults to HTML5 when the following values are provided: FLASH, BOTH. + */ + vpaidAdapterChoice?: string; + } + /** + * Placement Assignment. + */ + interface Schema$PlacementAssignment { + /** + * Whether this placement assignment is active. When true, the placement + * will be included in the ad's rotation. + */ + active?: boolean; + /** + * ID of the placement to be assigned. This is a required field. + */ + placementId?: string; + /** + * Dimension value for the ID of the placement. This is a read-only, + * auto-generated field. + */ + placementIdDimensionValue?: Schema$DimensionValue; + /** + * Whether the placement to be assigned requires SSL. This is a read-only + * field that is auto-generated when the ad is inserted or updated. + */ + sslRequired?: boolean; + } + /** + * Contains properties of a package or roadblock. + */ + interface Schema$PlacementGroup { + /** + * Account ID of this placement group. This is a read-only field that can be + * left blank. + */ + accountId?: string; + /** + * Advertiser ID of this placement group. This is a required field on + * insertion. + */ + advertiserId?: string; + /** + * Dimension value for the ID of the advertiser. This is a read-only, + * auto-generated field. + */ + advertiserIdDimensionValue?: Schema$DimensionValue; + /** + * Whether this placement group is archived. + */ + archived?: boolean; + /** + * Campaign ID of this placement group. This field is required on insertion. + */ + campaignId?: string; + /** + * Dimension value for the ID of the campaign. This is a read-only, + * auto-generated field. + */ + campaignIdDimensionValue?: Schema$DimensionValue; + /** + * IDs of placements which are assigned to this placement group. This is a + * read-only, auto-generated field. + */ + childPlacementIds?: string[]; + /** + * Comments for this placement group. + */ + comment?: string; + /** + * ID of the content category assigned to this placement group. + */ + contentCategoryId?: string; + /** + * Information about the creation of this placement group. This is a + * read-only field. + */ + createInfo?: Schema$LastModifiedInfo; + /** + * Directory site ID associated with this placement group. On insert, you + * must set either this field or the site_id field to specify the site + * associated with this placement group. This is a required field that is + * read-only after insertion. + */ + directorySiteId?: string; + /** + * Dimension value for the ID of the directory site. This is a read-only, + * auto-generated field. + */ + directorySiteIdDimensionValue?: Schema$DimensionValue; + /** + * External ID for this placement. + */ + externalId?: string; + /** + * ID of this placement group. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Dimension value for the ID of this placement group. This is a read-only, + * auto-generated field. + */ + idDimensionValue?: Schema$DimensionValue; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#placementGroup". + */ + kind?: string; + /** + * Information about the most recent modification of this placement group. + * This is a read-only field. + */ + lastModifiedInfo?: Schema$LastModifiedInfo; + /** + * Name of this placement group. This is a required field and must be less + * than 256 characters long. + */ + name?: string; + /** + * Type of this placement group. A package is a simple group of placements + * that acts as a single pricing point for a group of tags. A roadblock is a + * group of placements that not only acts as a single pricing point, but + * also assumes that all the tags in it will be served at the same time. A + * roadblock requires one of its assigned placements to be marked as primary + * for reporting. This field is required on insertion. + */ + placementGroupType?: string; + /** + * ID of the placement strategy assigned to this placement group. + */ + placementStrategyId?: string; + /** + * Pricing schedule of this placement group. This field is required on + * insertion. + */ + pricingSchedule?: Schema$PricingSchedule; + /** + * ID of the primary placement, used to calculate the media cost of a + * roadblock (placement group). Modifying this field will automatically + * modify the primary field on all affected roadblock child placements. + */ + primaryPlacementId?: string; + /** + * Dimension value for the ID of the primary placement. This is a read-only, + * auto-generated field. + */ + primaryPlacementIdDimensionValue?: Schema$DimensionValue; + /** + * Site ID associated with this placement group. On insert, you must set + * either this field or the directorySiteId field to specify the site + * associated with this placement group. This is a required field that is + * read-only after insertion. + */ + siteId?: string; + /** + * Dimension value for the ID of the site. This is a read-only, + * auto-generated field. + */ + siteIdDimensionValue?: Schema$DimensionValue; + /** + * Subaccount ID of this placement group. This is a read-only field that can + * be left blank. + */ + subaccountId?: string; + } + /** + * Placement Group List Response + */ + interface Schema$PlacementGroupsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#placementGroupsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + /** + * Placement group collection. + */ + placementGroups?: Schema$PlacementGroup[]; + } + /** + * Placement GenerateTags Response + */ + interface Schema$PlacementsGenerateTagsResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#placementsGenerateTagsResponse". + */ + kind?: string; + /** + * Set of generated tags for the specified placements. + */ + placementTags?: Schema$PlacementTag[]; + } + /** + * Placement List Response + */ + interface Schema$PlacementsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#placementsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + /** + * Placement collection. + */ + placements?: Schema$Placement[]; + } + /** + * Placement Strategy List Response + */ + interface Schema$PlacementStrategiesListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#placementStrategiesListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + /** + * Placement strategy collection. + */ + placementStrategies?: Schema$PlacementStrategy[]; + } + /** + * Contains properties of a placement strategy. + */ + interface Schema$PlacementStrategy { + /** + * Account ID of this placement strategy.This is a read-only field that can + * be left blank. + */ + accountId?: string; + /** + * ID of this placement strategy. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#placementStrategy". + */ + kind?: string; + /** + * Name of this placement strategy. This is a required field. It must be + * less than 256 characters long and unique among placement strategies of + * the same account. + */ + name?: string; + } + /** + * Placement Tag + */ + interface Schema$PlacementTag { + /** + * Placement ID + */ + placementId?: string; + /** + * Tags generated for this placement. + */ + tagDatas?: Schema$TagData[]; + } + /** + * Contains information about a platform type that can be targeted by ads. + */ + interface Schema$PlatformType { + /** + * ID of this platform type. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#platformType". + */ + kind?: string; + /** + * Name of this platform type. + */ + name?: string; + } + /** + * Platform Type List Response + */ + interface Schema$PlatformTypesListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#platformTypesListResponse". + */ + kind?: string; + /** + * Platform type collection. + */ + platformTypes?: Schema$PlatformType[]; + } + /** + * Popup Window Properties. + */ + interface Schema$PopupWindowProperties { + /** + * Popup dimension for a creative. This is a read-only field. Applicable to + * the following creative types: all RICH_MEDIA and all VPAID + */ + dimension?: Schema$Size; + /** + * Upper-left corner coordinates of the popup window. Applicable if + * positionType is COORDINATES. + */ + offset?: Schema$OffsetPosition; + /** + * Popup window position either centered or at specific coordinate. + */ + positionType?: string; + /** + * Whether to display the browser address bar. + */ + showAddressBar?: boolean; + /** + * Whether to display the browser menu bar. + */ + showMenuBar?: boolean; + /** + * Whether to display the browser scroll bar. + */ + showScrollBar?: boolean; + /** + * Whether to display the browser status bar. + */ + showStatusBar?: boolean; + /** + * Whether to display the browser tool bar. + */ + showToolBar?: boolean; + /** + * Title of popup window. + */ + title?: string; + } + /** + * Contains information about a postal code that can be targeted by ads. + */ + interface Schema$PostalCode { + /** + * Postal code. This is equivalent to the id field. + */ + code?: string; + /** + * Country code of the country to which this postal code belongs. + */ + countryCode?: string; + /** + * DART ID of the country to which this postal code belongs. + */ + countryDartId?: string; + /** + * ID of this postal code. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#postalCode". + */ + kind?: string; + } + /** + * Postal Code List Response + */ + interface Schema$PostalCodesListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#postalCodesListResponse". + */ + kind?: string; + /** + * Postal code collection. + */ + postalCodes?: Schema$PostalCode[]; + } + /** + * Pricing Information + */ + interface Schema$Pricing { + /** + * Cap cost type of this inventory item. + */ + capCostType?: string; + /** + * End date of this inventory item. + */ + endDate?: string; + /** + * Flights of this inventory item. A flight (a.k.a. pricing period) + * represents the inventory item pricing information for a specific period + * of time. + */ + flights?: Schema$Flight[]; + /** + * Group type of this inventory item if it represents a placement group. Is + * null otherwise. There are two type of placement groups: + * PLANNING_PLACEMENT_GROUP_TYPE_PACKAGE is a simple group of inventory + * items that acts as a single pricing point for a group of tags. + * PLANNING_PLACEMENT_GROUP_TYPE_ROADBLOCK is a group of inventory items + * that not only acts as a single pricing point, but also assumes that all + * the tags in it will be served at the same time. A roadblock requires one + * of its assigned inventory items to be marked as primary. + */ + groupType?: string; + /** + * Pricing type of this inventory item. + */ + pricingType?: string; + /** + * Start date of this inventory item. + */ + startDate?: string; + } + /** + * Pricing Schedule + */ + interface Schema$PricingSchedule { + /** + * Placement cap cost option. + */ + capCostOption?: string; + /** + * Whether cap costs are ignored by ad serving. + */ + disregardOverdelivery?: boolean; + /** + * Placement end date. This date must be later than, or the same day as, the + * placement start date, but not later than the campaign end date. If, for + * example, you set 6/25/2015 as both the start and end dates, the effective + * placement date is just that day only, 6/25/2015. The hours, minutes, and + * seconds of the end date should not be set, as doing so will result in an + * error. This field is required on insertion. + */ + endDate?: string; + /** + * Whether this placement is flighted. If true, pricing periods will be + * computed automatically. + */ + flighted?: boolean; + /** + * Floodlight activity ID associated with this placement. This field should + * be set when placement pricing type is set to PRICING_TYPE_CPA. + */ + floodlightActivityId?: string; + /** + * Pricing periods for this placement. + */ + pricingPeriods?: Schema$PricingSchedulePricingPeriod[]; + /** + * Placement pricing type. This field is required on insertion. + */ + pricingType?: string; + /** + * Placement start date. This date must be later than, or the same day as, + * the campaign start date. The hours, minutes, and seconds of the start + * date should not be set, as doing so will result in an error. This field + * is required on insertion. + */ + startDate?: string; + /** + * Testing start date of this placement. The hours, minutes, and seconds of + * the start date should not be set, as doing so will result in an error. + */ + testingStartDate?: string; + } + /** + * Pricing Period + */ + interface Schema$PricingSchedulePricingPeriod { + /** + * Pricing period end date. This date must be later than, or the same day + * as, the pricing period start date, but not later than the placement end + * date. The period end date can be the same date as the period start date. + * If, for example, you set 6/25/2015 as both the start and end dates, the + * effective pricing period date is just that day only, 6/25/2015. The + * hours, minutes, and seconds of the end date should not be set, as doing + * so will result in an error. + */ + endDate?: string; + /** + * Comments for this pricing period. + */ + pricingComment?: string; + /** + * Rate or cost of this pricing period in nanos (i.e., multipled by + * 1000000000). Acceptable values are 0 to 1000000000000000000, inclusive. + */ + rateOrCostNanos?: string; + /** + * Pricing period start date. This date must be later than, or the same day + * as, the placement start date. The hours, minutes, and seconds of the + * start date should not be set, as doing so will result in an error. + */ + startDate?: string; + /** + * Units of this pricing period. Acceptable values are 0 to 10000000000, + * inclusive. + */ + units?: string; + } + /** + * Contains properties of a Planning project. + */ + interface Schema$Project { + /** + * Account ID of this project. + */ + accountId?: string; + /** + * Advertiser ID of this project. + */ + advertiserId?: string; + /** + * Audience age group of this project. + */ + audienceAgeGroup?: string; + /** + * Audience gender of this project. + */ + audienceGender?: string; + /** + * Budget of this project in the currency specified by the current account. + * The value stored in this field represents only the non-fractional amount. + * For example, for USD, the smallest value that can be represented by this + * field is 1 US dollar. + */ + budget?: string; + /** + * Client billing code of this project. + */ + clientBillingCode?: string; + /** + * Name of the project client. + */ + clientName?: string; + /** + * End date of the project. + */ + endDate?: string; + /** + * ID of this project. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#project". + */ + kind?: string; + /** + * Information about the most recent modification of this project. + */ + lastModifiedInfo?: Schema$LastModifiedInfo; + /** + * Name of this project. + */ + name?: string; + /** + * Overview of this project. + */ + overview?: string; + /** + * Start date of the project. + */ + startDate?: string; + /** + * Subaccount ID of this project. + */ + subaccountId?: string; + /** + * Number of clicks that the advertiser is targeting. + */ + targetClicks?: string; + /** + * Number of conversions that the advertiser is targeting. + */ + targetConversions?: string; + /** + * CPA that the advertiser is targeting. + */ + targetCpaNanos?: string; + /** + * CPC that the advertiser is targeting. + */ + targetCpcNanos?: string; + /** + * vCPM from Active View that the advertiser is targeting. + */ + targetCpmActiveViewNanos?: string; + /** + * CPM that the advertiser is targeting. + */ + targetCpmNanos?: string; + /** + * Number of impressions that the advertiser is targeting. + */ + targetImpressions?: string; + } + /** + * Project List Response + */ + interface Schema$ProjectsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#projectsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + /** + * Project collection. + */ + projects?: Schema$Project[]; + } + /** + * Represents fields that are compatible to be selected for a report of type + * "REACH". + */ + interface Schema$ReachReportCompatibleFields { + /** + * Dimensions which are compatible to be selected in the + * "dimensionFilters" section of the report. + */ + dimensionFilters?: Schema$Dimension[]; + /** + * Dimensions which are compatible to be selected in the + * "dimensions" section of the report. + */ + dimensions?: Schema$Dimension[]; + /** + * The kind of resource this is, in this case + * dfareporting#reachReportCompatibleFields. + */ + kind?: string; + /** + * Metrics which are compatible to be selected in the + * "metricNames" section of the report. + */ + metrics?: Schema$Metric[]; + /** + * Metrics which are compatible to be selected as activity metrics to pivot + * on in the "activities" section of the report. + */ + pivotedActivityMetrics?: Schema$Metric[]; + /** + * Metrics which are compatible to be selected in the + * "reachByFrequencyMetricNames" section of the report. + */ + reachByFrequencyMetrics?: Schema$Metric[]; + } + /** + * Represents a recipient. + */ + interface Schema$Recipient { + /** + * The delivery type for the recipient. + */ + deliveryType?: string; + /** + * The email address of the recipient. + */ + email?: string; + /** + * The kind of resource this is, in this case dfareporting#recipient. + */ + kind?: string; + } + /** + * Contains information about a region that can be targeted by ads. + */ + interface Schema$Region { + /** + * Country code of the country to which this region belongs. + */ + countryCode?: string; + /** + * DART ID of the country to which this region belongs. + */ + countryDartId?: string; + /** + * DART ID of this region. + */ + dartId?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#region". + */ + kind?: string; + /** + * Name of this region. + */ + name?: string; + /** + * Region code. + */ + regionCode?: string; + } + /** + * Region List Response + */ + interface Schema$RegionsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#regionsListResponse". + */ + kind?: string; + /** + * Region collection. + */ + regions?: Schema$Region[]; + } + /** + * Contains properties of a remarketing list. Remarketing enables you to + * create lists of users who have performed specific actions on a site, then + * target ads to members of those lists. This resource can be used to manage + * remarketing lists that are owned by your advertisers. To see all + * remarketing lists that are visible to your advertisers, including those + * that are shared to your advertiser or account, use the + * TargetableRemarketingLists resource. + */ + interface Schema$RemarketingList { + /** + * Account ID of this remarketing list. This is a read-only, auto-generated + * field that is only returned in GET requests. + */ + accountId?: string; + /** + * Whether this remarketing list is active. + */ + active?: boolean; + /** + * Dimension value for the advertiser ID that owns this remarketing list. + * This is a required field. + */ + advertiserId?: string; + /** + * Dimension value for the ID of the advertiser. This is a read-only, + * auto-generated field. + */ + advertiserIdDimensionValue?: Schema$DimensionValue; + /** + * Remarketing list description. + */ + description?: string; + /** + * Remarketing list ID. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#remarketingList". + */ + kind?: string; + /** + * Number of days that a user should remain in the remarketing list without + * an impression. Acceptable values are 1 to 540, inclusive. + */ + lifeSpan?: string; + /** + * Rule used to populate the remarketing list with users. + */ + listPopulationRule?: Schema$ListPopulationRule; + /** + * Number of users currently in the list. This is a read-only field. + */ + listSize?: string; + /** + * Product from which this remarketing list was originated. + */ + listSource?: string; + /** + * Name of the remarketing list. This is a required field. Must be no + * greater than 128 characters long. + */ + name?: string; + /** + * Subaccount ID of this remarketing list. This is a read-only, + * auto-generated field that is only returned in GET requests. + */ + subaccountId?: string; + } + /** + * Contains properties of a remarketing list's sharing information. + * Sharing allows other accounts or advertisers to target to your remarketing + * lists. This resource can be used to manage remarketing list sharing to + * other accounts and advertisers. + */ + interface Schema$RemarketingListShare { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#remarketingListShare". + */ + kind?: string; + /** + * Remarketing list ID. This is a read-only, auto-generated field. + */ + remarketingListId?: string; + /** + * Accounts that the remarketing list is shared with. + */ + sharedAccountIds?: string[]; + /** + * Advertisers that the remarketing list is shared with. + */ + sharedAdvertiserIds?: string[]; + } + /** + * Remarketing list response + */ + interface Schema$RemarketingListsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#remarketingListsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + /** + * Remarketing list collection. + */ + remarketingLists?: Schema$RemarketingList[]; + } + /** + * Represents a Report resource. + */ + interface Schema$Report { + /** + * The account ID to which this report belongs. + */ + accountId?: string; + /** + * The report criteria for a report of type "STANDARD". + */ + criteria?: any; + /** + * The report criteria for a report of type + * "CROSS_DIMENSION_REACH". + */ + crossDimensionReachCriteria?: any; + /** + * The report's email delivery settings. + */ + delivery?: any; + /** + * The eTag of this response for caching purposes. + */ + etag?: string; + /** + * The filename used when generating report files for this report. + */ + fileName?: string; + /** + * The report criteria for a report of type "FLOODLIGHT". + */ + floodlightCriteria?: any; + /** + * The output format of the report. If not specified, default format is + * "CSV". Note that the actual format in the completed report file + * might differ if for instance the report's size exceeds the + * format's capabilities. "CSV" will then be the fallback + * format. + */ + format?: string; + /** + * The unique ID identifying this report resource. + */ + id?: string; + /** + * The kind of resource this is, in this case dfareporting#report. + */ + kind?: string; + /** + * The timestamp (in milliseconds since epoch) of when this report was last + * modified. + */ + lastModifiedTime?: string; + /** + * The name of the report. + */ + name?: string; + /** + * The user profile id of the owner of this report. + */ + ownerProfileId?: string; + /** + * The report criteria for a report of type "PATH_TO_CONVERSION". + */ + pathToConversionCriteria?: any; + /** + * The report criteria for a report of type "REACH". + */ + reachCriteria?: any; + /** + * The report's schedule. Can only be set if the report's + * 'dateRange' is a relative date range and the relative date range + * is not "TODAY". + */ + schedule?: any; + /** + * The subaccount ID to which this report belongs if applicable. + */ + subAccountId?: string; + /** + * The type of the report. + */ + type?: string; + } + /** + * Represents fields that are compatible to be selected for a report of type + * "STANDARD". + */ + interface Schema$ReportCompatibleFields { + /** + * Dimensions which are compatible to be selected in the + * "dimensionFilters" section of the report. + */ + dimensionFilters?: Schema$Dimension[]; + /** + * Dimensions which are compatible to be selected in the + * "dimensions" section of the report. + */ + dimensions?: Schema$Dimension[]; + /** + * The kind of resource this is, in this case + * dfareporting#reportCompatibleFields. + */ + kind?: string; + /** + * Metrics which are compatible to be selected in the + * "metricNames" section of the report. + */ + metrics?: Schema$Metric[]; + /** + * Metrics which are compatible to be selected as activity metrics to pivot + * on in the "activities" section of the report. + */ + pivotedActivityMetrics?: Schema$Metric[]; + } + /** + * Represents the list of reports. + */ + interface Schema$ReportList { + /** + * The eTag of this response for caching purposes. + */ + etag?: string; + /** + * The reports returned in this response. + */ + items?: Schema$Report[]; + /** + * The kind of list this is, in this case dfareporting#reportList. + */ + kind?: string; + /** + * Continuation token used to page through reports. To retrieve the next + * page of results, set the next request's "pageToken" to the + * value of this field. The page token is only valid for a limited amount of + * time and should not be persisted. + */ + nextPageToken?: string; + } + /** + * Reporting Configuration + */ + interface Schema$ReportsConfiguration { + /** + * Whether the exposure to conversion report is enabled. This report shows + * detailed pathway information on up to 10 of the most recent ad exposures + * seen by a user before converting. + */ + exposureToConversionEnabled?: boolean; + /** + * Default lookback windows for new advertisers in this account. + */ + lookbackConfiguration?: Schema$LookbackConfiguration; + /** + * Report generation time zone ID of this account. This is a required field + * that can only be changed by a superuser. Acceptable values are: - + * "1" for "America/New_York" - "2" for + * "Europe/London" - "3" for "Europe/Paris" + * - "4" for "Africa/Johannesburg" - "5" for + * "Asia/Jerusalem" - "6" for "Asia/Shanghai" + * - "7" for "Asia/Hong_Kong" - "8" for + * "Asia/Tokyo" - "9" for "Australia/Sydney" + * - "10" for "Asia/Dubai" - "11" for + * "America/Los_Angeles" - "12" for + * "Pacific/Auckland" - "13" for + * "America/Sao_Paulo" + */ + reportGenerationTimeZoneId?: string; + } + /** + * Rich Media Exit Override. + */ + interface Schema$RichMediaExitOverride { + /** + * Click-through URL of this rich media exit override. Applicable if the + * enabled field is set to true. + */ + clickThroughUrl?: Schema$ClickThroughUrl; + /** + * Whether to use the clickThroughUrl. If false, the creative-level exit + * will be used. + */ + enabled?: boolean; + /** + * ID for the override to refer to a specific exit in the creative. + */ + exitId?: string; + } + /** + * A rule associates an asset with a targeting template for asset-level + * targeting. Applicable to INSTREAM_VIDEO creatives. + */ + interface Schema$Rule { + /** + * A creativeAssets[].id. This should refer to one of the parent assets in + * this creative. This is a required field. + */ + assetId?: string; + /** + * A user-friendly name for this rule. This is a required field. + */ + name?: string; + /** + * A targeting template ID. The targeting from the targeting template will + * be used to determine whether this asset should be served. This is a + * required field. + */ + targetingTemplateId?: string; + } + /** + * Contains properties of a site. + */ + interface Schema$Site { + /** + * Account ID of this site. This is a read-only field that can be left + * blank. + */ + accountId?: string; + /** + * Whether this site is approved. + */ + approved?: boolean; + /** + * Directory site associated with this site. This is a required field that + * is read-only after insertion. + */ + directorySiteId?: string; + /** + * Dimension value for the ID of the directory site. This is a read-only, + * auto-generated field. + */ + directorySiteIdDimensionValue?: Schema$DimensionValue; + /** + * ID of this site. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Dimension value for the ID of this site. This is a read-only, + * auto-generated field. + */ + idDimensionValue?: Schema$DimensionValue; + /** + * Key name of this site. This is a read-only, auto-generated field. + */ + keyName?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#site". + */ + kind?: string; + /** + * Name of this site.This is a required field. Must be less than 128 + * characters long. If this site is under a subaccount, the name must be + * unique among sites of the same subaccount. Otherwise, this site is a + * top-level site, and the name must be unique among top-level sites of the + * same account. + */ + name?: string; + /** + * Site contacts. + */ + siteContacts?: Schema$SiteContact[]; + /** + * Site-wide settings. + */ + siteSettings?: Schema$SiteSettings; + /** + * Subaccount ID of this site. This is a read-only field that can be left + * blank. + */ + subaccountId?: string; + } + /** + * Site Contact + */ + interface Schema$SiteContact { + /** + * Address of this site contact. + */ + address?: string; + /** + * Site contact type. + */ + contactType?: string; + /** + * Email address of this site contact. This is a required field. + */ + email?: string; + /** + * First name of this site contact. + */ + firstName?: string; + /** + * ID of this site contact. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Last name of this site contact. + */ + lastName?: string; + /** + * Primary phone number of this site contact. + */ + phone?: string; + /** + * Title or designation of this site contact. + */ + title?: string; + } + /** + * Site Settings + */ + interface Schema$SiteSettings { + /** + * Whether active view creatives are disabled for this site. + */ + activeViewOptOut?: boolean; + /** + * Whether this site opts out of ad blocking. When true, ad blocking is + * disabled for all placements under the site, regardless of the individual + * placement settings. When false, the campaign and placement settings take + * effect. + */ + adBlockingOptOut?: boolean; + /** + * Site-wide creative settings. + */ + creativeSettings?: Schema$CreativeSettings; + /** + * Whether new cookies are disabled for this site. + */ + disableNewCookie?: boolean; + /** + * Lookback window settings for this site. + */ + lookbackConfiguration?: Schema$LookbackConfiguration; + /** + * Configuration settings for dynamic and image floodlight tags. + */ + tagSetting?: Schema$TagSetting; + /** + * Whether Verification and ActiveView for in-stream video creatives are + * disabled by default for new placements created under this site. This + * value will be used to populate the placement.videoActiveViewOptOut field, + * when no value is specified for the new placement. + */ + videoActiveViewOptOutTemplate?: boolean; + /** + * Default VPAID adapter setting for new placements created under this site. + * This value will be used to populate the placements.vpaidAdapterChoice + * field, when no value is specified for the new placement. Controls which + * VPAID format the measurement adapter will use for in-stream video + * creatives assigned to the placement. The publisher's specifications + * will typically determine this setting. For VPAID creatives, the adapter + * format will match the VPAID format (HTML5 VPAID creatives use the HTML5 + * adapter). Note: Flash is no longer supported. This field now defaults to + * HTML5 when the following values are provided: FLASH, BOTH. + */ + vpaidAdapterChoiceTemplate?: string; + } + /** + * Site List Response + */ + interface Schema$SitesListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#sitesListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + /** + * Site collection. + */ + sites?: Schema$Site[]; + } + /** + * Represents the dimensions of ads, placements, creatives, or creative + * assets. + */ + interface Schema$Size { + /** + * Height of this size. Acceptable values are 0 to 32767, inclusive. + */ + height?: number; + /** + * IAB standard size. This is a read-only, auto-generated field. + */ + iab?: boolean; + /** + * ID of this size. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#size". + */ + kind?: string; + /** + * Width of this size. Acceptable values are 0 to 32767, inclusive. + */ + width?: number; + } + /** + * Size List Response + */ + interface Schema$SizesListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#sizesListResponse". + */ + kind?: string; + /** + * Size collection. + */ + sizes?: Schema$Size[]; + } + /** + * Skippable Settings + */ + interface Schema$SkippableSetting { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#skippableSetting". + */ + kind?: string; + /** + * Amount of time to play videos served to this placement before counting a + * view. Applicable when skippable is true. + */ + progressOffset?: Schema$VideoOffset; + /** + * Amount of time to play videos served to this placement before the skip + * button should appear. Applicable when skippable is true. + */ + skipOffset?: Schema$VideoOffset; + /** + * Whether the user can skip creatives served to this placement. + */ + skippable?: boolean; + } + /** + * Represents a sorted dimension. + */ + interface Schema$SortedDimension { + /** + * The kind of resource this is, in this case dfareporting#sortedDimension. + */ + kind?: string; + /** + * The name of the dimension. + */ + name?: string; + /** + * An optional sort order for the dimension column. + */ + sortOrder?: string; + } + /** + * Contains properties of a Campaign Manager subaccount. + */ + interface Schema$Subaccount { + /** + * ID of the account that contains this subaccount. This is a read-only + * field that can be left blank. + */ + accountId?: string; + /** + * IDs of the available user role permissions for this subaccount. + */ + availablePermissionIds?: string[]; + /** + * ID of this subaccount. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#subaccount". + */ + kind?: string; + /** + * Name of this subaccount. This is a required field. Must be less than 128 + * characters long and be unique among subaccounts of the same account. + */ + name?: string; + } + /** + * Subaccount List Response + */ + interface Schema$SubaccountsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#subaccountsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + /** + * Subaccount collection. + */ + subaccounts?: Schema$Subaccount[]; + } + /** + * Placement Tag Data + */ + interface Schema$TagData { + /** + * Ad associated with this placement tag. Applicable only when format is + * PLACEMENT_TAG_TRACKING. + */ + adId?: string; + /** + * Tag string to record a click. + */ + clickTag?: string; + /** + * Creative associated with this placement tag. Applicable only when format + * is PLACEMENT_TAG_TRACKING. + */ + creativeId?: string; + /** + * TagData tag format of this tag. + */ + format?: string; + /** + * Tag string for serving an ad. + */ + impressionTag?: string; + } + /** + * Tag Settings + */ + interface Schema$TagSetting { + /** + * Additional key-values to be included in tags. Each key-value pair must be + * of the form key=value, and pairs must be separated by a semicolon (;). + * Keys and values must not contain commas. For example, id=2;color=red is a + * valid value for this field. + */ + additionalKeyValues?: string; + /** + * Whether static landing page URLs should be included in the tags. This + * setting applies only to placements. + */ + includeClickThroughUrls?: boolean; + /** + * Whether click-tracking string should be included in the tags. + */ + includeClickTracking?: boolean; + /** + * Option specifying how keywords are embedded in ad tags. This setting can + * be used to specify whether keyword placeholders are inserted in placement + * tags for this site. Publishers can then add keywords to those + * placeholders. + */ + keywordOption?: string; + } + /** + * Dynamic and Image Tag Settings. + */ + interface Schema$TagSettings { + /** + * Whether dynamic floodlight tags are enabled. + */ + dynamicTagEnabled?: boolean; + /** + * Whether image tags are enabled. + */ + imageTagEnabled?: boolean; + } + /** + * Contains properties of a targetable remarketing list. Remarketing enables + * you to create lists of users who have performed specific actions on a site, + * then target ads to members of those lists. This resource is a read-only + * view of a remarketing list to be used to faciliate targeting ads to + * specific lists. Remarketing lists that are owned by your advertisers and + * those that are shared to your advertisers or account are accessible via + * this resource. To manage remarketing lists that are owned by your + * advertisers, use the RemarketingLists resource. + */ + interface Schema$TargetableRemarketingList { + /** + * Account ID of this remarketing list. This is a read-only, auto-generated + * field that is only returned in GET requests. + */ + accountId?: string; + /** + * Whether this targetable remarketing list is active. + */ + active?: boolean; + /** + * Dimension value for the advertiser ID that owns this targetable + * remarketing list. + */ + advertiserId?: string; + /** + * Dimension value for the ID of the advertiser. + */ + advertiserIdDimensionValue?: Schema$DimensionValue; + /** + * Targetable remarketing list description. + */ + description?: string; + /** + * Targetable remarketing list ID. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#targetableRemarketingList". + */ + kind?: string; + /** + * Number of days that a user should remain in the targetable remarketing + * list without an impression. + */ + lifeSpan?: string; + /** + * Number of users currently in the list. This is a read-only field. + */ + listSize?: string; + /** + * Product from which this targetable remarketing list was originated. + */ + listSource?: string; + /** + * Name of the targetable remarketing list. Is no greater than 128 + * characters long. + */ + name?: string; + /** + * Subaccount ID of this remarketing list. This is a read-only, + * auto-generated field that is only returned in GET requests. + */ + subaccountId?: string; + } + /** + * Targetable remarketing list response + */ + interface Schema$TargetableRemarketingListsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#targetableRemarketingListsListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + /** + * Targetable remarketing list collection. + */ + targetableRemarketingLists?: Schema$TargetableRemarketingList[]; + } + /** + * Contains properties of a targeting template. A targeting template + * encapsulates targeting information which can be reused across multiple ads. + */ + interface Schema$TargetingTemplate { + /** + * Account ID of this targeting template. This field, if left unset, will be + * auto-generated on insert and is read-only after insert. + */ + accountId?: string; + /** + * Advertiser ID of this targeting template. This is a required field on + * insert and is read-only after insert. + */ + advertiserId?: string; + /** + * Dimension value for the ID of the advertiser. This is a read-only, + * auto-generated field. + */ + advertiserIdDimensionValue?: Schema$DimensionValue; + /** + * Time and day targeting criteria. + */ + dayPartTargeting?: Schema$DayPartTargeting; + /** + * Geographical targeting criteria. + */ + geoTargeting?: Schema$GeoTargeting; + /** + * ID of this targeting template. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Key-value targeting criteria. + */ + keyValueTargetingExpression?: Schema$KeyValueTargetingExpression; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#targetingTemplate". + */ + kind?: string; + /** + * Language targeting criteria. + */ + languageTargeting?: Schema$LanguageTargeting; + /** + * Remarketing list targeting criteria. + */ + listTargetingExpression?: Schema$ListTargetingExpression; + /** + * Name of this targeting template. This field is required. It must be less + * than 256 characters long and unique within an advertiser. + */ + name?: string; + /** + * Subaccount ID of this targeting template. This field, if left unset, will + * be auto-generated on insert and is read-only after insert. + */ + subaccountId?: string; + /** + * Technology platform targeting criteria. + */ + technologyTargeting?: Schema$TechnologyTargeting; + } + /** + * Targeting Template List Response + */ + interface Schema$TargetingTemplatesListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#targetingTemplatesListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + /** + * Targeting template collection. + */ + targetingTemplates?: Schema$TargetingTemplate[]; + } + /** + * Target Window. + */ + interface Schema$TargetWindow { + /** + * User-entered value. + */ + customHtml?: string; + /** + * Type of browser window for which the backup image of the flash creative + * can be displayed. + */ + targetWindowOption?: string; + } + /** + * Technology Targeting. + */ + interface Schema$TechnologyTargeting { + /** + * Browsers that this ad targets. For each browser either set + * browserVersionId or dartId along with the version numbers. If both are + * specified, only browserVersionId will be used. The other fields are + * populated automatically when the ad is inserted or updated. + */ + browsers?: Schema$Browser[]; + /** + * Connection types that this ad targets. For each connection type only id + * is required. The other fields are populated automatically when the ad is + * inserted or updated. + */ + connectionTypes?: Schema$ConnectionType[]; + /** + * Mobile carriers that this ad targets. For each mobile carrier only id is + * required, and the other fields are populated automatically when the ad is + * inserted or updated. If targeting a mobile carrier, do not set targeting + * for any zip codes. + */ + mobileCarriers?: Schema$MobileCarrier[]; + /** + * Operating systems that this ad targets. To target specific versions, use + * operatingSystemVersions. For each operating system only dartId is + * required. The other fields are populated automatically when the ad is + * inserted or updated. If targeting an operating system, do not set + * targeting for operating system versions for the same operating system. + */ + operatingSystems?: Schema$OperatingSystem[]; + /** + * Operating system versions that this ad targets. To target all versions, + * use operatingSystems. For each operating system version, only id is + * required. The other fields are populated automatically when the ad is + * inserted or updated. If targeting an operating system version, do not set + * targeting for the corresponding operating system in operatingSystems. + */ + operatingSystemVersions?: Schema$OperatingSystemVersion[]; + /** + * Platform types that this ad targets. For example, desktop, mobile, or + * tablet. For each platform type, only id is required, and the other fields + * are populated automatically when the ad is inserted or updated. + */ + platformTypes?: Schema$PlatformType[]; + } + /** + * Third Party Authentication Token + */ + interface Schema$ThirdPartyAuthenticationToken { + /** + * Name of the third-party authentication token. + */ + name?: string; + /** + * Value of the third-party authentication token. This is a read-only, + * auto-generated field. + */ + value?: string; + } + /** + * Third-party Tracking URL. + */ + interface Schema$ThirdPartyTrackingUrl { + /** + * Third-party URL type for in-stream video and in-stream audio creatives. + */ + thirdPartyUrlType?: string; + /** + * URL for the specified third-party URL type. + */ + url?: string; + } + /** + * Transcode Settings + */ + interface Schema$TranscodeSetting { + /** + * Whitelist of video formats to be served to this placement. Set this list + * to null or empty to serve all video formats. + */ + enabledVideoFormats?: number[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#transcodeSetting". + */ + kind?: string; + } + /** + * A Universal Ad ID as per the VAST 4.0 spec. Applicable to the following + * creative types: INSTREAM_AUDIO, INSTREAM_VIDEO and VPAID. + */ + interface Schema$UniversalAdId { + /** + * Registry used for the Ad ID value. + */ + registry?: string; + /** + * ID value for this creative. Only alphanumeric characters and the + * following symbols are valid: "_/\-". Maximum length is 64 + * characters. Read only when registry is DCM. + */ + value?: string; + } + /** + * User Defined Variable configuration. + */ + interface Schema$UserDefinedVariableConfiguration { + /** + * Data type for the variable. This is a required field. + */ + dataType?: string; + /** + * User-friendly name for the variable which will appear in reports. This is + * a required field, must be less than 64 characters long, and cannot + * contain the following characters: ""<>". + */ + reportName?: string; + /** + * Variable name in the tag. This is a required field. + */ + variableType?: string; + } + /** + * Represents a UserProfile resource. + */ + interface Schema$UserProfile { + /** + * The account ID to which this profile belongs. + */ + accountId?: string; + /** + * The account name this profile belongs to. + */ + accountName?: string; + /** + * The eTag of this response for caching purposes. + */ + etag?: string; + /** + * The kind of resource this is, in this case dfareporting#userProfile. + */ + kind?: string; + /** + * The unique ID of the user profile. + */ + profileId?: string; + /** + * The sub account ID this profile belongs to if applicable. + */ + subAccountId?: string; + /** + * The sub account name this profile belongs to if applicable. + */ + subAccountName?: string; + /** + * The user name. + */ + userName?: string; + } + /** + * Represents the list of user profiles. + */ + interface Schema$UserProfileList { + /** + * The eTag of this response for caching purposes. + */ + etag?: string; + /** + * The user profiles returned in this response. + */ + items?: Schema$UserProfile[]; + /** + * The kind of list this is, in this case dfareporting#userProfileList. + */ + kind?: string; + } + /** + * Contains properties of auser role, which is used to manage user access. + */ + interface Schema$UserRole { + /** + * Account ID of this user role. This is a read-only field that can be left + * blank. + */ + accountId?: string; + /** + * Whether this is a default user role. Default user roles are created by + * the system for the account/subaccount and cannot be modified or deleted. + * Each default user role comes with a basic set of preassigned permissions. + */ + defaultUserRole?: boolean; + /** + * ID of this user role. This is a read-only, auto-generated field. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#userRole". + */ + kind?: string; + /** + * Name of this user role. This is a required field. Must be less than 256 + * characters long. If this user role is under a subaccount, the name must + * be unique among sites of the same subaccount. Otherwise, this user role + * is a top-level user role, and the name must be unique among top-level + * user roles of the same account. + */ + name?: string; + /** + * ID of the user role that this user role is based on or copied from. This + * is a required field. + */ + parentUserRoleId?: string; + /** + * List of permissions associated with this user role. + */ + permissions?: Schema$UserRolePermission[]; + /** + * Subaccount ID of this user role. This is a read-only field that can be + * left blank. + */ + subaccountId?: string; + } + /** + * Contains properties of a user role permission. + */ + interface Schema$UserRolePermission { + /** + * Levels of availability for a user role permission. + */ + availability?: string; + /** + * ID of this user role permission. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#userRolePermission". + */ + kind?: string; + /** + * Name of this user role permission. + */ + name?: string; + /** + * ID of the permission group that this user role permission belongs to. + */ + permissionGroupId?: string; + } + /** + * Represents a grouping of related user role permissions. + */ + interface Schema$UserRolePermissionGroup { + /** + * ID of this user role permission. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#userRolePermissionGroup". + */ + kind?: string; + /** + * Name of this user role permission group. + */ + name?: string; + } + /** + * User Role Permission Group List Response + */ + interface Schema$UserRolePermissionGroupsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#userRolePermissionGroupsListResponse". + */ + kind?: string; + /** + * User role permission group collection. + */ + userRolePermissionGroups?: Schema$UserRolePermissionGroup[]; + } + /** + * User Role Permission List Response + */ + interface Schema$UserRolePermissionsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#userRolePermissionsListResponse". + */ + kind?: string; + /** + * User role permission collection. + */ + userRolePermissions?: Schema$UserRolePermission[]; + } + /** + * User Role List Response + */ + interface Schema$UserRolesListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#userRolesListResponse". + */ + kind?: string; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string; + /** + * User role collection. + */ + userRoles?: Schema$UserRole[]; + } + /** + * Contains information about supported video formats. + */ + interface Schema$VideoFormat { + /** + * File type of the video format. + */ + fileType?: string; + /** + * ID of the video format. + */ + id?: number; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#videoFormat". + */ + kind?: string; + /** + * The resolution of this video format. + */ + resolution?: Schema$Size; + /** + * The target bit rate of this video format. + */ + targetBitRate?: number; + } + /** + * Video Format List Response + */ + interface Schema$VideoFormatsListResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#videoFormatsListResponse". + */ + kind?: string; + /** + * Video format collection. + */ + videoFormats?: Schema$VideoFormat[]; + } + /** + * Video Offset + */ + interface Schema$VideoOffset { + /** + * Duration, as a percentage of video duration. Do not set when + * offsetSeconds is set. Acceptable values are 0 to 100, inclusive. + */ + offsetPercentage?: number; + /** + * Duration, in seconds. Do not set when offsetPercentage is set. Acceptable + * values are 0 to 86399, inclusive. + */ + offsetSeconds?: number; + } + /** + * Video Settings + */ + interface Schema$VideoSettings { + /** + * Settings for the companion creatives of video creatives served to this + * placement. + */ + companionSettings?: Schema$CompanionSetting; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dfareporting#videoSettings". + */ + kind?: string; + /** + * Orientation of a video placement. If this value is set, placement will + * return assets matching the specified orientation. + */ + orientation?: string; + /** + * Settings for the skippability of video creatives served to this + * placement. If this object is provided, the creative-level skippable + * settings will be overridden. + */ + skippableSettings?: Schema$SkippableSetting; + /** + * Settings for the transcodes of video creatives served to this placement. + * If this object is provided, the creative-level transcode settings will be + * overridden. + */ + transcodeSettings?: Schema$TranscodeSetting; + } + class Resource$Accountactiveadsummaries { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.accountActiveAdSummaries.get + * @desc Gets the account's active ad summary by account ID. + * @alias dfareporting.accountActiveAdSummaries.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {string} params.summaryAccountId Account ID. + * @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?: Params$Resource$Accountactiveadsummaries$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accountactiveadsummaries$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accountactiveadsummaries$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accountactiveadsummaries$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Account ID. + */ + summaryAccountId?: string; + } + class Resource$Accountpermissiongroups { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.accountPermissionGroups.get + * @desc Gets one account permission group by ID. + * @alias dfareporting.accountPermissionGroups.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Account permission group ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Accountpermissiongroups$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accountpermissiongroups$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accountpermissiongroups$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.accountPermissionGroups.list + * @desc Retrieves the list of account permission groups. + * @alias dfareporting.accountPermissionGroups.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Accountpermissiongroups$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accountpermissiongroups$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accountpermissiongroups$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accountpermissiongroups$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account permission group ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Accountpermissiongroups$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Accountpermissions { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.accountPermissions.get + * @desc Gets one account permission by ID. + * @alias dfareporting.accountPermissions.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Account permission ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Accountpermissions$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accountpermissions$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accountpermissions$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.accountPermissions.list + * @desc Retrieves the list of account permissions. + * @alias dfareporting.accountPermissions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Accountpermissions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accountpermissions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accountpermissions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accountpermissions$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account permission ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Accountpermissions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Accounts { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.accounts.get + * @desc Gets one account by ID. + * @alias dfareporting.accounts.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Account ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Accounts$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accounts$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accounts$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.accounts.list + * @desc Retrieves the list of accounts, possibly filtered. This method + * supports paging. + * @alias dfareporting.accounts.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.active Select only active accounts. Don't set this field to select both active and non-active accounts. + * @param {string=} params.ids Select only accounts with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "account*2015" will return objects with names like "account June 2015", "account April 2015", or simply "account 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "account" will match objects with name "my account", "account 2015", or simply "account". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Accounts$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accounts$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accounts$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.accounts.patch + * @desc Updates an existing account. This method supports patch semantics. + * @alias dfareporting.accounts.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Account ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Account} 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 + */ + patch(params?: Params$Resource$Accounts$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Accounts$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Accounts$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.accounts.update + * @desc Updates an existing account. + * @alias dfareporting.accounts.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Account} 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?: Params$Resource$Accounts$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Accounts$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Accounts$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Accounts$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only active accounts. Don't set this field to select both active + * and non-active accounts. + */ + active?: boolean; + /** + * Select only accounts with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "account*2015" will return objects with names like "account + * June 2015", "account April 2015", or simply "account 2015". Most of the + * searches also add wildcards implicitly at the start and the end of the + * search string. For example, a search string of "account" will match + * objects with name "my account", "account 2015", or simply "account". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + interface Params$Resource$Accounts$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Account ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Account; + } + interface Params$Resource$Accounts$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Account; + } + class Resource$Accountuserprofiles { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.accountUserProfiles.get + * @desc Gets one account user profile by ID. + * @alias dfareporting.accountUserProfiles.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id User profile ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Accountuserprofiles$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accountuserprofiles$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accountuserprofiles$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.accountUserProfiles.insert + * @desc Inserts a new account user profile. + * @alias dfareporting.accountUserProfiles.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().AccountUserProfile} 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?: Params$Resource$Accountuserprofiles$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Accountuserprofiles$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Accountuserprofiles$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.accountUserProfiles.list + * @desc Retrieves a list of account user profiles, possibly filtered. This + * method supports paging. + * @alias dfareporting.accountUserProfiles.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.active Select only active user profiles. + * @param {string=} params.ids Select only user profiles with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name, ID or email. Wildcards (*) are allowed. For example, "user profile*2015" will return objects with names like "user profile June 2015", "user profile April 2015", or simply "user profile 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "user profile" will match objects with name "my user profile", "user profile 2015", or simply "user profile". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @param {string=} params.subaccountId Select only user profiles with the specified subaccount ID. + * @param {string=} params.userRoleId Select only user profiles with the specified user role ID. + * @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?: Params$Resource$Accountuserprofiles$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accountuserprofiles$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accountuserprofiles$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.accountUserProfiles.patch + * @desc Updates an existing account user profile. This method supports + * patch semantics. + * @alias dfareporting.accountUserProfiles.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id User profile ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().AccountUserProfile} 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 + */ + patch(params?: Params$Resource$Accountuserprofiles$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Accountuserprofiles$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Accountuserprofiles$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.accountUserProfiles.update + * @desc Updates an existing account user profile. + * @alias dfareporting.accountUserProfiles.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().AccountUserProfile} 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?: Params$Resource$Accountuserprofiles$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Accountuserprofiles$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Accountuserprofiles$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accountuserprofiles$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Accountuserprofiles$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AccountUserProfile; + } + interface Params$Resource$Accountuserprofiles$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only active user profiles. + */ + active?: boolean; + /** + * Select only user profiles with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name, ID or email. Wildcards (*) are + * allowed. For example, "user profile*2015" will return objects with names + * like "user profile June 2015", "user profile April 2015", or simply "user + * profile 2015". Most of the searches also add wildcards implicitly at the + * start and the end of the search string. For example, a search string of + * "user profile" will match objects with name "my user profile", "user + * profile 2015", or simply "user profile". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + /** + * Select only user profiles with the specified subaccount ID. + */ + subaccountId?: string; + /** + * Select only user profiles with the specified user role ID. + */ + userRoleId?: string; + } + interface Params$Resource$Accountuserprofiles$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AccountUserProfile; + } + interface Params$Resource$Accountuserprofiles$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AccountUserProfile; + } + class Resource$Ads { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.ads.get + * @desc Gets one ad by ID. + * @alias dfareporting.ads.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Ad ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Ads$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Ads$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Ads$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.ads.insert + * @desc Inserts a new ad. + * @alias dfareporting.ads.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Ad} 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?: Params$Resource$Ads$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Ads$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Ads$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.ads.list + * @desc Retrieves a list of ads, possibly filtered. This method supports + * paging. + * @alias dfareporting.ads.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.active Select only active ads. + * @param {string=} params.advertiserId Select only ads with this advertiser ID. + * @param {boolean=} params.archived Select only archived ads. + * @param {string=} params.audienceSegmentIds Select only ads with these audience segment IDs. + * @param {string=} params.campaignIds Select only ads with these campaign IDs. + * @param {string=} params.compatibility Select default ads with the specified compatibility. Applicable when type is AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop or on mobile devices for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO refers to rendering an in-stream video ads developed with the VAST standard. + * @param {string=} params.creativeIds Select only ads with these creative IDs assigned. + * @param {string=} params.creativeOptimizationConfigurationIds Select only ads with these creative optimization configuration IDs. + * @param {boolean=} params.dynamicClickTracker Select only dynamic click trackers. Applicable when type is AD_SERVING_CLICK_TRACKER. If true, select dynamic click trackers. If false, select static click trackers. Leave unset to select both. + * @param {string=} params.ids Select only ads with these IDs. + * @param {string=} params.landingPageIds Select only ads with these landing page IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.overriddenEventTagId Select only ads with this event tag override ID. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string=} params.placementIds Select only ads with these placement IDs assigned. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.remarketingListIds Select only ads whose list targeting expression use these remarketing list IDs. + * @param {string=} params.searchString Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "ad*2015" will return objects with names like "ad June 2015", "ad April 2015", or simply "ad 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "ad" will match objects with name "my ad", "ad 2015", or simply "ad". + * @param {string=} params.sizeIds Select only ads with these size IDs. + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @param {boolean=} params.sslCompliant Select only ads that are SSL-compliant. + * @param {boolean=} params.sslRequired Select only ads that require SSL. + * @param {string=} params.type Select only ads with these types. + * @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?: Params$Resource$Ads$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Ads$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Ads$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.ads.patch + * @desc Updates an existing ad. This method supports patch semantics. + * @alias dfareporting.ads.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Ad ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Ad} 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 + */ + patch(params?: Params$Resource$Ads$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Ads$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Ads$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.ads.update + * @desc Updates an existing ad. + * @alias dfareporting.ads.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Ad} 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?: Params$Resource$Ads$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Ads$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Ads$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Ads$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Ad ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Ads$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Ad; + } + interface Params$Resource$Ads$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only active ads. + */ + active?: boolean; + /** + * Select only ads with this advertiser ID. + */ + advertiserId?: string; + /** + * Select only archived ads. + */ + archived?: boolean; + /** + * Select only ads with these audience segment IDs. + */ + audienceSegmentIds?: string; + /** + * Select only ads with these campaign IDs. + */ + campaignIds?: string; + /** + * Select default ads with the specified compatibility. Applicable when type + * is AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer to + * rendering either on desktop or on mobile devices for regular or + * interstitial ads, respectively. APP and APP_INTERSTITIAL are for + * rendering in mobile apps. IN_STREAM_VIDEO refers to rendering an + * in-stream video ads developed with the VAST standard. + */ + compatibility?: string; + /** + * Select only ads with these creative IDs assigned. + */ + creativeIds?: string; + /** + * Select only ads with these creative optimization configuration IDs. + */ + creativeOptimizationConfigurationIds?: string; + /** + * Select only dynamic click trackers. Applicable when type is + * AD_SERVING_CLICK_TRACKER. If true, select dynamic click trackers. If + * false, select static click trackers. Leave unset to select both. + */ + dynamicClickTracker?: boolean; + /** + * Select only ads with these IDs. + */ + ids?: string; + /** + * Select only ads with these landing page IDs. + */ + landingPageIds?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Select only ads with this event tag override ID. + */ + overriddenEventTagId?: string; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * Select only ads with these placement IDs assigned. + */ + placementIds?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Select only ads whose list targeting expression use these remarketing + * list IDs. + */ + remarketingListIds?: string; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "ad*2015" will return objects with names like "ad June + * 2015", "ad April 2015", or simply "ad 2015". Most of the searches also + * add wildcards implicitly at the start and the end of the search string. + * For example, a search string of "ad" will match objects with name "my + * ad", "ad 2015", or simply "ad". + */ + searchString?: string; + /** + * Select only ads with these size IDs. + */ + sizeIds?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + /** + * Select only ads that are SSL-compliant. + */ + sslCompliant?: boolean; + /** + * Select only ads that require SSL. + */ + sslRequired?: boolean; + /** + * Select only ads with these types. + */ + type?: string; + } + interface Params$Resource$Ads$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Ad ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Ad; + } + interface Params$Resource$Ads$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Ad; + } + class Resource$Advertisergroups { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.advertiserGroups.delete + * @desc Deletes an existing advertiser group. + * @alias dfareporting.advertiserGroups.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Advertiser group ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Advertisergroups$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Advertisergroups$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Advertisergroups$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dfareporting.advertiserGroups.get + * @desc Gets one advertiser group by ID. + * @alias dfareporting.advertiserGroups.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Advertiser group ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Advertisergroups$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Advertisergroups$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Advertisergroups$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.advertiserGroups.insert + * @desc Inserts a new advertiser group. + * @alias dfareporting.advertiserGroups.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().AdvertiserGroup} 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?: Params$Resource$Advertisergroups$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Advertisergroups$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Advertisergroups$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.advertiserGroups.list + * @desc Retrieves a list of advertiser groups, possibly filtered. This + * method supports paging. + * @alias dfareporting.advertiserGroups.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.ids Select only advertiser groups with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "advertiser*2015" will return objects with names like "advertiser group June 2015", "advertiser group April 2015", or simply "advertiser group 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "advertisergroup" will match objects with name "my advertisergroup", "advertisergroup 2015", or simply "advertisergroup". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Advertisergroups$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Advertisergroups$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Advertisergroups$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.advertiserGroups.patch + * @desc Updates an existing advertiser group. This method supports patch + * semantics. + * @alias dfareporting.advertiserGroups.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Advertiser group ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().AdvertiserGroup} 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 + */ + patch(params?: Params$Resource$Advertisergroups$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Advertisergroups$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Advertisergroups$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.advertiserGroups.update + * @desc Updates an existing advertiser group. + * @alias dfareporting.advertiserGroups.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().AdvertiserGroup} 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?: Params$Resource$Advertisergroups$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Advertisergroups$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Advertisergroups$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Advertisergroups$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Advertiser group ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Advertisergroups$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Advertiser group ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Advertisergroups$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AdvertiserGroup; + } + interface Params$Resource$Advertisergroups$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only advertiser groups with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "advertiser*2015" will return objects with names like + * "advertiser group June 2015", "advertiser group April 2015", or simply + * "advertiser group 2015". Most of the searches also add wildcards + * implicitly at the start and the end of the search string. For example, a + * search string of "advertisergroup" will match objects with name "my + * advertisergroup", "advertisergroup 2015", or simply "advertisergroup". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + interface Params$Resource$Advertisergroups$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Advertiser group ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AdvertiserGroup; + } + interface Params$Resource$Advertisergroups$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AdvertiserGroup; + } + class Resource$Advertiserlandingpages { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.advertiserLandingPages.get + * @desc Gets one landing page by ID. + * @alias dfareporting.advertiserLandingPages.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Landing page ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Advertiserlandingpages$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Advertiserlandingpages$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Advertiserlandingpages$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.advertiserLandingPages.insert + * @desc Inserts a new landing page. + * @alias dfareporting.advertiserLandingPages.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().LandingPage} 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?: Params$Resource$Advertiserlandingpages$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Advertiserlandingpages$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Advertiserlandingpages$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.advertiserLandingPages.list + * @desc Retrieves a list of landing pages. + * @alias dfareporting.advertiserLandingPages.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.advertiserIds Select only landing pages that belong to these advertisers. + * @param {boolean=} params.archived Select only archived landing pages. Don't set this field to select both archived and non-archived landing pages. + * @param {string=} params.campaignIds Select only landing pages that are associated with these campaigns. + * @param {string=} params.ids Select only landing pages with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for landing pages by name or ID. Wildcards (*) are allowed. For example, "landingpage*2017" will return landing pages with names like "landingpage July 2017", "landingpage March 2017", or simply "landingpage 2017". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "landingpage" will match campaigns with name "my landingpage", "landingpage 2015", or simply "landingpage". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @param {string=} params.subaccountId Select only landing pages that belong to this subaccount. + * @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?: Params$Resource$Advertiserlandingpages$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Advertiserlandingpages$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Advertiserlandingpages$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.advertiserLandingPages.patch + * @desc Updates an existing landing page. This method supports patch + * semantics. + * @alias dfareporting.advertiserLandingPages.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Landing page ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().LandingPage} 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 + */ + patch(params?: Params$Resource$Advertiserlandingpages$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Advertiserlandingpages$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Advertiserlandingpages$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.advertiserLandingPages.update + * @desc Updates an existing landing page. + * @alias dfareporting.advertiserLandingPages.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().LandingPage} 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?: Params$Resource$Advertiserlandingpages$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Advertiserlandingpages$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Advertiserlandingpages$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Advertiserlandingpages$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Landing page ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Advertiserlandingpages$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$LandingPage; + } + interface Params$Resource$Advertiserlandingpages$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only landing pages that belong to these advertisers. + */ + advertiserIds?: string; + /** + * Select only archived landing pages. Don't set this field to select both + * archived and non-archived landing pages. + */ + archived?: boolean; + /** + * Select only landing pages that are associated with these campaigns. + */ + campaignIds?: string; + /** + * Select only landing pages with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for landing pages by name or ID. Wildcards (*) are + * allowed. For example, "landingpage*2017" will return landing pages with + * names like "landingpage July 2017", "landingpage March 2017", or simply + * "landingpage 2017". Most of the searches also add wildcards implicitly at + * the start and the end of the search string. For example, a search string + * of "landingpage" will match campaigns with name "my landingpage", + * "landingpage 2015", or simply "landingpage". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + /** + * Select only landing pages that belong to this subaccount. + */ + subaccountId?: string; + } + interface Params$Resource$Advertiserlandingpages$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Landing page ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$LandingPage; + } + interface Params$Resource$Advertiserlandingpages$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$LandingPage; + } + class Resource$Advertisers { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.advertisers.get + * @desc Gets one advertiser by ID. + * @alias dfareporting.advertisers.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Advertiser ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Advertisers$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Advertisers$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Advertisers$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.advertisers.insert + * @desc Inserts a new advertiser. + * @alias dfareporting.advertisers.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Advertiser} 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?: Params$Resource$Advertisers$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Advertisers$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Advertisers$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.advertisers.list + * @desc Retrieves a list of advertisers, possibly filtered. This method + * supports paging. + * @alias dfareporting.advertisers.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.advertiserGroupIds Select only advertisers with these advertiser group IDs. + * @param {string=} params.floodlightConfigurationIds Select only advertisers with these floodlight configuration IDs. + * @param {string=} params.ids Select only advertisers with these IDs. + * @param {boolean=} params.includeAdvertisersWithoutGroupsOnly Select only advertisers which do not belong to any advertiser group. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {boolean=} params.onlyParent Select only advertisers which use another advertiser's floodlight configuration. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "advertiser*2015" will return objects with names like "advertiser June 2015", "advertiser April 2015", or simply "advertiser 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "advertiser" will match objects with name "my advertiser", "advertiser 2015", or simply "advertiser". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @param {string=} params.status Select only advertisers with the specified status. + * @param {string=} params.subaccountId Select only advertisers with these subaccount IDs. + * @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?: Params$Resource$Advertisers$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Advertisers$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Advertisers$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.advertisers.patch + * @desc Updates an existing advertiser. This method supports patch + * semantics. + * @alias dfareporting.advertisers.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Advertiser ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Advertiser} 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 + */ + patch(params?: Params$Resource$Advertisers$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Advertisers$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Advertisers$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.advertisers.update + * @desc Updates an existing advertiser. + * @alias dfareporting.advertisers.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Advertiser} 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?: Params$Resource$Advertisers$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Advertisers$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Advertisers$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Advertisers$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Advertiser ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Advertisers$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Advertiser; + } + interface Params$Resource$Advertisers$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only advertisers with these advertiser group IDs. + */ + advertiserGroupIds?: string; + /** + * Select only advertisers with these floodlight configuration IDs. + */ + floodlightConfigurationIds?: string; + /** + * Select only advertisers with these IDs. + */ + ids?: string; + /** + * Select only advertisers which do not belong to any advertiser group. + */ + includeAdvertisersWithoutGroupsOnly?: boolean; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Select only advertisers which use another advertiser's floodlight + * configuration. + */ + onlyParent?: boolean; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "advertiser*2015" will return objects with names like + * "advertiser June 2015", "advertiser April 2015", or simply "advertiser + * 2015". Most of the searches also add wildcards implicitly at the start + * and the end of the search string. For example, a search string of + * "advertiser" will match objects with name "my advertiser", "advertiser + * 2015", or simply "advertiser". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + /** + * Select only advertisers with the specified status. + */ + status?: string; + /** + * Select only advertisers with these subaccount IDs. + */ + subaccountId?: string; + } + interface Params$Resource$Advertisers$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Advertiser ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Advertiser; + } + interface Params$Resource$Advertisers$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Advertiser; + } + class Resource$Browsers { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.browsers.list + * @desc Retrieves a list of browsers. + * @alias dfareporting.browsers.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Browsers$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Browsers$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Browsers$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Browsers$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Campaigncreativeassociations { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.campaignCreativeAssociations.insert + * @desc Associates a creative with the specified campaign. This method + * creates a default ad with dimensions matching the creative in the + * campaign if such a default ad does not exist already. + * @alias dfareporting.campaignCreativeAssociations.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.campaignId Campaign ID in this association. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().CampaignCreativeAssociation} 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?: Params$Resource$Campaigncreativeassociations$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Campaigncreativeassociations$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Campaigncreativeassociations$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.campaignCreativeAssociations.list + * @desc Retrieves the list of creative IDs associated with the specified + * campaign. This method supports paging. + * @alias dfareporting.campaignCreativeAssociations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.campaignId Campaign ID in this association. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Campaigncreativeassociations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Campaigncreativeassociations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Campaigncreativeassociations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Campaigncreativeassociations$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Campaign ID in this association. + */ + campaignId?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CampaignCreativeAssociation; + } + interface Params$Resource$Campaigncreativeassociations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Campaign ID in this association. + */ + campaignId?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + class Resource$Campaigns { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.campaigns.get + * @desc Gets one campaign by ID. + * @alias dfareporting.campaigns.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Campaign ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Campaigns$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Campaigns$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Campaigns$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.campaigns.insert + * @desc Inserts a new campaign. + * @alias dfareporting.campaigns.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Campaign} 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?: Params$Resource$Campaigns$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Campaigns$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Campaigns$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.campaigns.list + * @desc Retrieves a list of campaigns, possibly filtered. This method + * supports paging. + * @alias dfareporting.campaigns.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.advertiserGroupIds Select only campaigns whose advertisers belong to these advertiser groups. + * @param {string=} params.advertiserIds Select only campaigns that belong to these advertisers. + * @param {boolean=} params.archived Select only archived campaigns. Don't set this field to select both archived and non-archived campaigns. + * @param {boolean=} params.atLeastOneOptimizationActivity Select only campaigns that have at least one optimization activity. + * @param {string=} params.excludedIds Exclude campaigns with these IDs. + * @param {string=} params.ids Select only campaigns with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.overriddenEventTagId Select only campaigns that have overridden this event tag ID. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for campaigns by name or ID. Wildcards (*) are allowed. For example, "campaign*2015" will return campaigns with names like "campaign June 2015", "campaign April 2015", or simply "campaign 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "campaign" will match campaigns with name "my campaign", "campaign 2015", or simply "campaign". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @param {string=} params.subaccountId Select only campaigns that belong to this subaccount. + * @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?: Params$Resource$Campaigns$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Campaigns$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Campaigns$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.campaigns.patch + * @desc Updates an existing campaign. This method supports patch semantics. + * @alias dfareporting.campaigns.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Campaign ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Campaign} 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 + */ + patch(params?: Params$Resource$Campaigns$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Campaigns$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Campaigns$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.campaigns.update + * @desc Updates an existing campaign. + * @alias dfareporting.campaigns.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Campaign} 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?: Params$Resource$Campaigns$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Campaigns$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Campaigns$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Campaigns$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Campaign ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Campaigns$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Campaign; + } + interface Params$Resource$Campaigns$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only campaigns whose advertisers belong to these advertiser + * groups. + */ + advertiserGroupIds?: string; + /** + * Select only campaigns that belong to these advertisers. + */ + advertiserIds?: string; + /** + * Select only archived campaigns. Don't set this field to select both + * archived and non-archived campaigns. + */ + archived?: boolean; + /** + * Select only campaigns that have at least one optimization activity. + */ + atLeastOneOptimizationActivity?: boolean; + /** + * Exclude campaigns with these IDs. + */ + excludedIds?: string; + /** + * Select only campaigns with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Select only campaigns that have overridden this event tag ID. + */ + overriddenEventTagId?: string; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for campaigns by name or ID. Wildcards (*) are allowed. + * For example, "campaign*2015" will return campaigns with names like + * "campaign June 2015", "campaign April 2015", or simply "campaign 2015". + * Most of the searches also add wildcards implicitly at the start and the + * end of the search string. For example, a search string of "campaign" will + * match campaigns with name "my campaign", "campaign 2015", or simply + * "campaign". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + /** + * Select only campaigns that belong to this subaccount. + */ + subaccountId?: string; + } + interface Params$Resource$Campaigns$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Campaign ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Campaign; + } + interface Params$Resource$Campaigns$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Campaign; + } + class Resource$Changelogs { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.changeLogs.get + * @desc Gets one change log by ID. + * @alias dfareporting.changeLogs.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Change log ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Changelogs$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Changelogs$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Changelogs$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.changeLogs.list + * @desc Retrieves a list of change logs. This method supports paging. + * @alias dfareporting.changeLogs.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.action Select only change logs with the specified action. + * @param {string=} params.ids Select only change logs with these IDs. + * @param {string=} params.maxChangeTime Select only change logs whose change time is before the specified maxChangeTime.The time should be formatted as an RFC3339 date/time string. For example, for 10:54 PM on July 18th, 2015, in the America/New York time zone, the format is "2015-07-18T22:54:00-04:00". In other words, the year, month, day, the letter T, the hour (24-hour clock system), minute, second, and then the time zone offset. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.minChangeTime Select only change logs whose change time is before the specified minChangeTime.The time should be formatted as an RFC3339 date/time string. For example, for 10:54 PM on July 18th, 2015, in the America/New York time zone, the format is "2015-07-18T22:54:00-04:00". In other words, the year, month, day, the letter T, the hour (24-hour clock system), minute, second, and then the time zone offset. + * @param {string=} params.objectIds Select only change logs with these object IDs. + * @param {string=} params.objectType Select only change logs with the specified object type. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Select only change logs whose object ID, user name, old or new values match the search string. + * @param {string=} params.userProfileIds Select only change logs with these user profile IDs. + * @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?: Params$Resource$Changelogs$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Changelogs$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Changelogs$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Changelogs$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Change log ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Changelogs$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only change logs with the specified action. + */ + action?: string; + /** + * Select only change logs with these IDs. + */ + ids?: string; + /** + * Select only change logs whose change time is before the specified + * maxChangeTime.The time should be formatted as an RFC3339 date/time + * string. For example, for 10:54 PM on July 18th, 2015, in the America/New + * York time zone, the format is "2015-07-18T22:54:00-04:00". In other + * words, the year, month, day, the letter T, the hour (24-hour clock + * system), minute, second, and then the time zone offset. + */ + maxChangeTime?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Select only change logs whose change time is before the specified + * minChangeTime.The time should be formatted as an RFC3339 date/time + * string. For example, for 10:54 PM on July 18th, 2015, in the America/New + * York time zone, the format is "2015-07-18T22:54:00-04:00". In other + * words, the year, month, day, the letter T, the hour (24-hour clock + * system), minute, second, and then the time zone offset. + */ + minChangeTime?: string; + /** + * Select only change logs with these object IDs. + */ + objectIds?: string; + /** + * Select only change logs with the specified object type. + */ + objectType?: string; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Select only change logs whose object ID, user name, old or new values + * match the search string. + */ + searchString?: string; + /** + * Select only change logs with these user profile IDs. + */ + userProfileIds?: string; + } + class Resource$Cities { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.cities.list + * @desc Retrieves a list of cities, possibly filtered. + * @alias dfareporting.cities.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.countryDartIds Select only cities from these countries. + * @param {string=} params.dartIds Select only cities with these DART IDs. + * @param {string=} params.namePrefix Select only cities with names starting with this prefix. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.regionDartIds Select only cities from these regions. + * @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?: Params$Resource$Cities$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Cities$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Cities$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Cities$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only cities from these countries. + */ + countryDartIds?: string; + /** + * Select only cities with these DART IDs. + */ + dartIds?: string; + /** + * Select only cities with names starting with this prefix. + */ + namePrefix?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Select only cities from these regions. + */ + regionDartIds?: string; + } + class Resource$Connectiontypes { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.connectionTypes.get + * @desc Gets one connection type by ID. + * @alias dfareporting.connectionTypes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Connection type ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Connectiontypes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Connectiontypes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Connectiontypes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.connectionTypes.list + * @desc Retrieves a list of connection types. + * @alias dfareporting.connectionTypes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Connectiontypes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Connectiontypes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Connectiontypes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Connectiontypes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Connection type ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Connectiontypes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Contentcategories { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.contentCategories.delete + * @desc Deletes an existing content category. + * @alias dfareporting.contentCategories.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Content category ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Contentcategories$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Contentcategories$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Contentcategories$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dfareporting.contentCategories.get + * @desc Gets one content category by ID. + * @alias dfareporting.contentCategories.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Content category ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Contentcategories$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Contentcategories$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Contentcategories$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.contentCategories.insert + * @desc Inserts a new content category. + * @alias dfareporting.contentCategories.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().ContentCategory} 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?: Params$Resource$Contentcategories$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Contentcategories$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Contentcategories$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.contentCategories.list + * @desc Retrieves a list of content categories, possibly filtered. This + * method supports paging. + * @alias dfareporting.contentCategories.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.ids Select only content categories with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "contentcategory*2015" will return objects with names like "contentcategory June 2015", "contentcategory April 2015", or simply "contentcategory 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "contentcategory" will match objects with name "my contentcategory", "contentcategory 2015", or simply "contentcategory". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Contentcategories$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Contentcategories$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Contentcategories$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.contentCategories.patch + * @desc Updates an existing content category. This method supports patch + * semantics. + * @alias dfareporting.contentCategories.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Content category ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().ContentCategory} 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 + */ + patch(params?: Params$Resource$Contentcategories$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Contentcategories$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Contentcategories$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.contentCategories.update + * @desc Updates an existing content category. + * @alias dfareporting.contentCategories.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().ContentCategory} 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?: Params$Resource$Contentcategories$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Contentcategories$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Contentcategories$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Contentcategories$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Content category ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Contentcategories$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Content category ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Contentcategories$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ContentCategory; + } + interface Params$Resource$Contentcategories$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only content categories with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "contentcategory*2015" will return objects with names like + * "contentcategory June 2015", "contentcategory April 2015", or simply + * "contentcategory 2015". Most of the searches also add wildcards + * implicitly at the start and the end of the search string. For example, a + * search string of "contentcategory" will match objects with name "my + * contentcategory", "contentcategory 2015", or simply "contentcategory". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + interface Params$Resource$Contentcategories$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Content category ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ContentCategory; + } + interface Params$Resource$Contentcategories$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ContentCategory; + } + class Resource$Conversions { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.conversions.batchinsert + * @desc Inserts conversions. + * @alias dfareporting.conversions.batchinsert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().ConversionsBatchInsertRequest} 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 + */ + batchinsert(params?: Params$Resource$Conversions$Batchinsert, options?: MethodOptions): AxiosPromise; + batchinsert(params: Params$Resource$Conversions$Batchinsert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + batchinsert(params: Params$Resource$Conversions$Batchinsert, callback: BodyResponseCallback): void; + batchinsert(callback: BodyResponseCallback): void; + /** + * dfareporting.conversions.batchupdate + * @desc Updates existing conversions. + * @alias dfareporting.conversions.batchupdate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().ConversionsBatchUpdateRequest} 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 + */ + batchupdate(params?: Params$Resource$Conversions$Batchupdate, options?: MethodOptions): AxiosPromise; + batchupdate(params: Params$Resource$Conversions$Batchupdate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + batchupdate(params: Params$Resource$Conversions$Batchupdate, callback: BodyResponseCallback): void; + batchupdate(callback: BodyResponseCallback): void; + } + interface Params$Resource$Conversions$Batchinsert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ConversionsBatchInsertRequest; + } + interface Params$Resource$Conversions$Batchupdate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ConversionsBatchUpdateRequest; + } + class Resource$Countries { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.countries.get + * @desc Gets one country by ID. + * @alias dfareporting.countries.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.dartId Country DART ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Countries$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Countries$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Countries$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.countries.list + * @desc Retrieves a list of countries. + * @alias dfareporting.countries.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Countries$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Countries$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Countries$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Countries$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Country DART ID. + */ + dartId?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Countries$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Creativeassets { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.creativeAssets.insert + * @desc Inserts a new creative asset. + * @alias dfareporting.creativeAssets.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.advertiserId Advertiser ID of this creative. This is a required field. + * @param {string} params.profileId User profile ID associated with this request. + * @param {object} params.resource Media resource metadata + * @param {object} params.media Media object + * @param {string} params.media.mimeType Media mime-type + * @param {string|object} params.media.body Media body contents + * @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?: Params$Resource$Creativeassets$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Creativeassets$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Creativeassets$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + } + interface Params$Resource$Creativeassets$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Advertiser ID of this creative. This is a required field. + */ + advertiserId?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreativeAssetMetadata; + /** + * Media metadata + */ + media?: { + /** + * Media mime-type + */ + mediaType?: string; + /** + * Media body contents + */ + body?: any; + }; + } + class Resource$Creativefields { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.creativeFields.delete + * @desc Deletes an existing creative field. + * @alias dfareporting.creativeFields.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Creative Field ID + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Creativefields$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Creativefields$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Creativefields$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dfareporting.creativeFields.get + * @desc Gets one creative field by ID. + * @alias dfareporting.creativeFields.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Creative Field ID + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Creativefields$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Creativefields$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Creativefields$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.creativeFields.insert + * @desc Inserts a new creative field. + * @alias dfareporting.creativeFields.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().CreativeField} 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?: Params$Resource$Creativefields$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Creativefields$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Creativefields$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.creativeFields.list + * @desc Retrieves a list of creative fields, possibly filtered. This method + * supports paging. + * @alias dfareporting.creativeFields.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.advertiserIds Select only creative fields that belong to these advertisers. + * @param {string=} params.ids Select only creative fields with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for creative fields by name or ID. Wildcards (*) are allowed. For example, "creativefield*2015" will return creative fields with names like "creativefield June 2015", "creativefield April 2015", or simply "creativefield 2015". Most of the searches also add wild-cards implicitly at the start and the end of the search string. For example, a search string of "creativefield" will match creative fields with the name "my creativefield", "creativefield 2015", or simply "creativefield". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Creativefields$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Creativefields$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Creativefields$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.creativeFields.patch + * @desc Updates an existing creative field. This method supports patch + * semantics. + * @alias dfareporting.creativeFields.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Creative Field ID + * @param {string} params.profileId User profile ID associated with this request. + * @param {().CreativeField} 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 + */ + patch(params?: Params$Resource$Creativefields$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Creativefields$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Creativefields$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.creativeFields.update + * @desc Updates an existing creative field. + * @alias dfareporting.creativeFields.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().CreativeField} 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?: Params$Resource$Creativefields$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Creativefields$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Creativefields$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Creativefields$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Creative Field ID + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Creativefields$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Creative Field ID + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Creativefields$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreativeField; + } + interface Params$Resource$Creativefields$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only creative fields that belong to these advertisers. + */ + advertiserIds?: string; + /** + * Select only creative fields with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for creative fields by name or ID. Wildcards (*) are + * allowed. For example, "creativefield*2015" will return creative fields + * with names like "creativefield June 2015", "creativefield April 2015", or + * simply "creativefield 2015". Most of the searches also add wild-cards + * implicitly at the start and the end of the search string. For example, a + * search string of "creativefield" will match creative fields with the name + * "my creativefield", "creativefield 2015", or simply "creativefield". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + interface Params$Resource$Creativefields$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Creative Field ID + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreativeField; + } + interface Params$Resource$Creativefields$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreativeField; + } + class Resource$Creativefieldvalues { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.creativeFieldValues.delete + * @desc Deletes an existing creative field value. + * @alias dfareporting.creativeFieldValues.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.creativeFieldId Creative field ID for this creative field value. + * @param {string} params.id Creative Field Value ID + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Creativefieldvalues$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Creativefieldvalues$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Creativefieldvalues$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dfareporting.creativeFieldValues.get + * @desc Gets one creative field value by ID. + * @alias dfareporting.creativeFieldValues.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.creativeFieldId Creative field ID for this creative field value. + * @param {string} params.id Creative Field Value ID + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Creativefieldvalues$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Creativefieldvalues$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Creativefieldvalues$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.creativeFieldValues.insert + * @desc Inserts a new creative field value. + * @alias dfareporting.creativeFieldValues.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.creativeFieldId Creative field ID for this creative field value. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().CreativeFieldValue} 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?: Params$Resource$Creativefieldvalues$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Creativefieldvalues$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Creativefieldvalues$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.creativeFieldValues.list + * @desc Retrieves a list of creative field values, possibly filtered. This + * method supports paging. + * @alias dfareporting.creativeFieldValues.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.creativeFieldId Creative field ID for this creative field value. + * @param {string=} params.ids Select only creative field values with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for creative field values by their values. Wildcards (e.g. *) are not allowed. + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Creativefieldvalues$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Creativefieldvalues$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Creativefieldvalues$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.creativeFieldValues.patch + * @desc Updates an existing creative field value. This method supports + * patch semantics. + * @alias dfareporting.creativeFieldValues.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.creativeFieldId Creative field ID for this creative field value. + * @param {string} params.id Creative Field Value ID + * @param {string} params.profileId User profile ID associated with this request. + * @param {().CreativeFieldValue} 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 + */ + patch(params?: Params$Resource$Creativefieldvalues$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Creativefieldvalues$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Creativefieldvalues$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.creativeFieldValues.update + * @desc Updates an existing creative field value. + * @alias dfareporting.creativeFieldValues.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.creativeFieldId Creative field ID for this creative field value. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().CreativeFieldValue} 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?: Params$Resource$Creativefieldvalues$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Creativefieldvalues$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Creativefieldvalues$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Creativefieldvalues$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Creative field ID for this creative field value. + */ + creativeFieldId?: string; + /** + * Creative Field Value ID + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Creativefieldvalues$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Creative field ID for this creative field value. + */ + creativeFieldId?: string; + /** + * Creative Field Value ID + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Creativefieldvalues$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Creative field ID for this creative field value. + */ + creativeFieldId?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreativeFieldValue; + } + interface Params$Resource$Creativefieldvalues$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Creative field ID for this creative field value. + */ + creativeFieldId?: string; + /** + * Select only creative field values with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for creative field values by their values. Wildcards + * (e.g. *) are not allowed. + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + interface Params$Resource$Creativefieldvalues$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Creative field ID for this creative field value. + */ + creativeFieldId?: string; + /** + * Creative Field Value ID + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreativeFieldValue; + } + interface Params$Resource$Creativefieldvalues$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Creative field ID for this creative field value. + */ + creativeFieldId?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreativeFieldValue; + } + class Resource$Creativegroups { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.creativeGroups.get + * @desc Gets one creative group by ID. + * @alias dfareporting.creativeGroups.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Creative group ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Creativegroups$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Creativegroups$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Creativegroups$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.creativeGroups.insert + * @desc Inserts a new creative group. + * @alias dfareporting.creativeGroups.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().CreativeGroup} 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?: Params$Resource$Creativegroups$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Creativegroups$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Creativegroups$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.creativeGroups.list + * @desc Retrieves a list of creative groups, possibly filtered. This method + * supports paging. + * @alias dfareporting.creativeGroups.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.advertiserIds Select only creative groups that belong to these advertisers. + * @param {integer=} params.groupNumber Select only creative groups that belong to this subgroup. + * @param {string=} params.ids Select only creative groups with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for creative groups by name or ID. Wildcards (*) are allowed. For example, "creativegroup*2015" will return creative groups with names like "creativegroup June 2015", "creativegroup April 2015", or simply "creativegroup 2015". Most of the searches also add wild-cards implicitly at the start and the end of the search string. For example, a search string of "creativegroup" will match creative groups with the name "my creativegroup", "creativegroup 2015", or simply "creativegroup". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Creativegroups$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Creativegroups$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Creativegroups$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.creativeGroups.patch + * @desc Updates an existing creative group. This method supports patch + * semantics. + * @alias dfareporting.creativeGroups.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Creative group ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().CreativeGroup} 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 + */ + patch(params?: Params$Resource$Creativegroups$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Creativegroups$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Creativegroups$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.creativeGroups.update + * @desc Updates an existing creative group. + * @alias dfareporting.creativeGroups.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().CreativeGroup} 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?: Params$Resource$Creativegroups$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Creativegroups$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Creativegroups$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Creativegroups$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Creative group ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Creativegroups$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreativeGroup; + } + interface Params$Resource$Creativegroups$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only creative groups that belong to these advertisers. + */ + advertiserIds?: string; + /** + * Select only creative groups that belong to this subgroup. + */ + groupNumber?: number; + /** + * Select only creative groups with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for creative groups by name or ID. Wildcards (*) are + * allowed. For example, "creativegroup*2015" will return creative groups + * with names like "creativegroup June 2015", "creativegroup April 2015", or + * simply "creativegroup 2015". Most of the searches also add wild-cards + * implicitly at the start and the end of the search string. For example, a + * search string of "creativegroup" will match creative groups with the name + * "my creativegroup", "creativegroup 2015", or simply "creativegroup". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + interface Params$Resource$Creativegroups$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Creative group ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreativeGroup; + } + interface Params$Resource$Creativegroups$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreativeGroup; + } + class Resource$Creatives { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.creatives.get + * @desc Gets one creative by ID. + * @alias dfareporting.creatives.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Creative ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Creatives$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Creatives$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Creatives$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.creatives.insert + * @desc Inserts a new creative. + * @alias dfareporting.creatives.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Creative} 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?: Params$Resource$Creatives$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Creatives$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Creatives$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.creatives.list + * @desc Retrieves a list of creatives, possibly filtered. This method + * supports paging. + * @alias dfareporting.creatives.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.active Select only active creatives. Leave blank to select active and inactive creatives. + * @param {string=} params.advertiserId Select only creatives with this advertiser ID. + * @param {boolean=} params.archived Select only archived creatives. Leave blank to select archived and unarchived creatives. + * @param {string=} params.campaignId Select only creatives with this campaign ID. + * @param {string=} params.companionCreativeIds Select only in-stream video creatives with these companion IDs. + * @param {string=} params.creativeFieldIds Select only creatives with these creative field IDs. + * @param {string=} params.ids Select only creatives with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.renderingIds Select only creatives with these rendering IDs. + * @param {string=} params.searchString Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "creative*2015" will return objects with names like "creative June 2015", "creative April 2015", or simply "creative 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "creative" will match objects with name "my creative", "creative 2015", or simply "creative". + * @param {string=} params.sizeIds Select only creatives with these size IDs. + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @param {string=} params.studioCreativeId Select only creatives corresponding to this Studio creative ID. + * @param {string=} params.types Select only creatives with these creative types. + * @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?: Params$Resource$Creatives$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Creatives$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Creatives$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.creatives.patch + * @desc Updates an existing creative. This method supports patch semantics. + * @alias dfareporting.creatives.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Creative ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Creative} 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 + */ + patch(params?: Params$Resource$Creatives$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Creatives$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Creatives$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.creatives.update + * @desc Updates an existing creative. + * @alias dfareporting.creatives.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Creative} 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?: Params$Resource$Creatives$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Creatives$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Creatives$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Creatives$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Creative ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Creatives$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Creative; + } + interface Params$Resource$Creatives$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only active creatives. Leave blank to select active and inactive + * creatives. + */ + active?: boolean; + /** + * Select only creatives with this advertiser ID. + */ + advertiserId?: string; + /** + * Select only archived creatives. Leave blank to select archived and + * unarchived creatives. + */ + archived?: boolean; + /** + * Select only creatives with this campaign ID. + */ + campaignId?: string; + /** + * Select only in-stream video creatives with these companion IDs. + */ + companionCreativeIds?: string; + /** + * Select only creatives with these creative field IDs. + */ + creativeFieldIds?: string; + /** + * Select only creatives with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Select only creatives with these rendering IDs. + */ + renderingIds?: string; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "creative*2015" will return objects with names like + * "creative June 2015", "creative April 2015", or simply "creative 2015". + * Most of the searches also add wildcards implicitly at the start and the + * end of the search string. For example, a search string of "creative" will + * match objects with name "my creative", "creative 2015", or simply + * "creative". + */ + searchString?: string; + /** + * Select only creatives with these size IDs. + */ + sizeIds?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + /** + * Select only creatives corresponding to this Studio creative ID. + */ + studioCreativeId?: string; + /** + * Select only creatives with these creative types. + */ + types?: string; + } + interface Params$Resource$Creatives$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Creative ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Creative; + } + interface Params$Resource$Creatives$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Creative; + } + class Resource$Dimensionvalues { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.dimensionValues.query + * @desc Retrieves list of report dimension values for a list of filters. + * @alias dfareporting.dimensionValues.query + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken The value of the nextToken from the previous result page. + * @param {string} params.profileId The DFA user profile ID. + * @param {().DimensionValueRequest} 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 + */ + query(params?: Params$Resource$Dimensionvalues$Query, options?: MethodOptions): AxiosPromise; + query(params: Params$Resource$Dimensionvalues$Query, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + query(params: Params$Resource$Dimensionvalues$Query, callback: BodyResponseCallback): void; + query(callback: BodyResponseCallback): void; + } + interface Params$Resource$Dimensionvalues$Query { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * The value of the nextToken from the previous result page. + */ + pageToken?: string; + /** + * The DFA user profile ID. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DimensionValueRequest; + } + class Resource$Directorysitecontacts { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.directorySiteContacts.get + * @desc Gets one directory site contact by ID. + * @alias dfareporting.directorySiteContacts.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Directory site contact ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Directorysitecontacts$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Directorysitecontacts$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Directorysitecontacts$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.directorySiteContacts.list + * @desc Retrieves a list of directory site contacts, possibly filtered. + * This method supports paging. + * @alias dfareporting.directorySiteContacts.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.directorySiteIds Select only directory site contacts with these directory site IDs. This is a required field. + * @param {string=} params.ids Select only directory site contacts with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name, ID or email. Wildcards (*) are allowed. For example, "directory site contact*2015" will return objects with names like "directory site contact June 2015", "directory site contact April 2015", or simply "directory site contact 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "directory site contact" will match objects with name "my directory site contact", "directory site contact 2015", or simply "directory site contact". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Directorysitecontacts$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Directorysitecontacts$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Directorysitecontacts$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Directorysitecontacts$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Directory site contact ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Directorysitecontacts$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only directory site contacts with these directory site IDs. This + * is a required field. + */ + directorySiteIds?: string; + /** + * Select only directory site contacts with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name, ID or email. Wildcards (*) are + * allowed. For example, "directory site contact*2015" will return objects + * with names like "directory site contact June 2015", "directory site + * contact April 2015", or simply "directory site contact 2015". Most of the + * searches also add wildcards implicitly at the start and the end of the + * search string. For example, a search string of "directory site contact" + * will match objects with name "my directory site contact", "directory site + * contact 2015", or simply "directory site contact". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + class Resource$Directorysites { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.directorySites.get + * @desc Gets one directory site by ID. + * @alias dfareporting.directorySites.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Directory site ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Directorysites$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Directorysites$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Directorysites$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.directorySites.insert + * @desc Inserts a new directory site. + * @alias dfareporting.directorySites.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().DirectorySite} 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?: Params$Resource$Directorysites$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Directorysites$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Directorysites$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.directorySites.list + * @desc Retrieves a list of directory sites, possibly filtered. This method + * supports paging. + * @alias dfareporting.directorySites.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.acceptsInStreamVideoPlacements This search filter is no longer supported and will have no effect on the results returned. + * @param {boolean=} params.acceptsInterstitialPlacements This search filter is no longer supported and will have no effect on the results returned. + * @param {boolean=} params.acceptsPublisherPaidPlacements Select only directory sites that accept publisher paid placements. This field can be left blank. + * @param {boolean=} params.active Select only active directory sites. Leave blank to retrieve both active and inactive directory sites. + * @param {string=} params.countryId Select only directory sites with this country ID. + * @param {string=} params.dfpNetworkCode Select only directory sites with this Ad Manager network code. + * @param {string=} params.ids Select only directory sites with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string=} params.parentId Select only directory sites with this parent ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name, ID or URL. Wildcards (*) are allowed. For example, "directory site*2015" will return objects with names like "directory site June 2015", "directory site April 2015", or simply "directory site 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "directory site" will match objects with name "my directory site", "directory site 2015" or simply, "directory site". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Directorysites$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Directorysites$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Directorysites$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Directorysites$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Directory site ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Directorysites$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DirectorySite; + } + interface Params$Resource$Directorysites$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * This search filter is no longer supported and will have no effect on the + * results returned. + */ + acceptsInStreamVideoPlacements?: boolean; + /** + * This search filter is no longer supported and will have no effect on the + * results returned. + */ + acceptsInterstitialPlacements?: boolean; + /** + * Select only directory sites that accept publisher paid placements. This + * field can be left blank. + */ + acceptsPublisherPaidPlacements?: boolean; + /** + * Select only active directory sites. Leave blank to retrieve both active + * and inactive directory sites. + */ + active?: boolean; + /** + * Select only directory sites with this country ID. + */ + countryId?: string; + /** + * Select only directory sites with this Ad Manager network code. + */ + dfpNetworkCode?: string; + /** + * Select only directory sites with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * Select only directory sites with this parent ID. + */ + parentId?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name, ID or URL. Wildcards (*) are + * allowed. For example, "directory site*2015" will return objects with + * names like "directory site June 2015", "directory site April 2015", or + * simply "directory site 2015". Most of the searches also add wildcards + * implicitly at the start and the end of the search string. For example, a + * search string of "directory site" will match objects with name "my + * directory site", "directory site 2015" or simply, "directory site". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + class Resource$Dynamictargetingkeys { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.dynamicTargetingKeys.delete + * @desc Deletes an existing dynamic targeting key. + * @alias dfareporting.dynamicTargetingKeys.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Name of this dynamic targeting key. This is a required field. Must be less than 256 characters long and cannot contain commas. All characters are converted to lowercase. + * @param {string} params.objectId ID of the object of this dynamic targeting key. This is a required field. + * @param {string} params.objectType Type of the object of this dynamic targeting key. This is a required field. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Dynamictargetingkeys$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Dynamictargetingkeys$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Dynamictargetingkeys$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dfareporting.dynamicTargetingKeys.insert + * @desc Inserts a new dynamic targeting key. Keys must be created at the + * advertiser level before being assigned to the advertiser's ads, + * creatives, or placements. There is a maximum of 1000 keys per advertiser, + * out of which a maximum of 20 keys can be assigned per ad, creative, or + * placement. + * @alias dfareporting.dynamicTargetingKeys.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().DynamicTargetingKey} 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?: Params$Resource$Dynamictargetingkeys$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Dynamictargetingkeys$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Dynamictargetingkeys$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.dynamicTargetingKeys.list + * @desc Retrieves a list of dynamic targeting keys. + * @alias dfareporting.dynamicTargetingKeys.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.advertiserId Select only dynamic targeting keys whose object has this advertiser ID. + * @param {string=} params.names Select only dynamic targeting keys exactly matching these names. + * @param {string=} params.objectId Select only dynamic targeting keys with this object ID. + * @param {string=} params.objectType Select only dynamic targeting keys with this object type. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Dynamictargetingkeys$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Dynamictargetingkeys$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Dynamictargetingkeys$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Dynamictargetingkeys$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of this dynamic targeting key. This is a required field. Must be + * less than 256 characters long and cannot contain commas. All characters + * are converted to lowercase. + */ + name?: string; + /** + * ID of the object of this dynamic targeting key. This is a required field. + */ + objectId?: string; + /** + * Type of the object of this dynamic targeting key. This is a required + * field. + */ + objectType?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Dynamictargetingkeys$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DynamicTargetingKey; + } + interface Params$Resource$Dynamictargetingkeys$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only dynamic targeting keys whose object has this advertiser ID. + */ + advertiserId?: string; + /** + * Select only dynamic targeting keys exactly matching these names. + */ + names?: string; + /** + * Select only dynamic targeting keys with this object ID. + */ + objectId?: string; + /** + * Select only dynamic targeting keys with this object type. + */ + objectType?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Eventtags { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.eventTags.delete + * @desc Deletes an existing event tag. + * @alias dfareporting.eventTags.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Event tag ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Eventtags$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Eventtags$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Eventtags$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dfareporting.eventTags.get + * @desc Gets one event tag by ID. + * @alias dfareporting.eventTags.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Event tag ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Eventtags$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Eventtags$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Eventtags$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.eventTags.insert + * @desc Inserts a new event tag. + * @alias dfareporting.eventTags.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().EventTag} 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?: Params$Resource$Eventtags$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Eventtags$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Eventtags$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.eventTags.list + * @desc Retrieves a list of event tags, possibly filtered. + * @alias dfareporting.eventTags.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.adId Select only event tags that belong to this ad. + * @param {string=} params.advertiserId Select only event tags that belong to this advertiser. + * @param {string=} params.campaignId Select only event tags that belong to this campaign. + * @param {boolean=} params.definitionsOnly Examine only the specified campaign or advertiser's event tags for matching selector criteria. When set to false, the parent advertiser and parent campaign of the specified ad or campaign is examined as well. In addition, when set to false, the status field is examined as well, along with the enabledByDefault field. This parameter can not be set to true when adId is specified as ads do not define their own even tags. + * @param {boolean=} params.enabled Select only enabled event tags. What is considered enabled or disabled depends on the definitionsOnly parameter. When definitionsOnly is set to true, only the specified advertiser or campaign's event tags' enabledByDefault field is examined. When definitionsOnly is set to false, the specified ad or specified campaign's parent advertiser's or parent campaign's event tags' enabledByDefault and status fields are examined as well. + * @param {string=} params.eventTagTypes Select only event tags with the specified event tag types. Event tag types can be used to specify whether to use a third-party pixel, a third-party JavaScript URL, or a third-party click-through URL for either impression or click tracking. + * @param {string=} params.ids Select only event tags with these IDs. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "eventtag*2015" will return objects with names like "eventtag June 2015", "eventtag April 2015", or simply "eventtag 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "eventtag" will match objects with name "my eventtag", "eventtag 2015", or simply "eventtag". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Eventtags$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Eventtags$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Eventtags$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.eventTags.patch + * @desc Updates an existing event tag. This method supports patch + * semantics. + * @alias dfareporting.eventTags.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Event tag ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().EventTag} 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 + */ + patch(params?: Params$Resource$Eventtags$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Eventtags$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Eventtags$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.eventTags.update + * @desc Updates an existing event tag. + * @alias dfareporting.eventTags.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().EventTag} 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?: Params$Resource$Eventtags$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Eventtags$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Eventtags$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Eventtags$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Event tag ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Eventtags$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Event tag ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Eventtags$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$EventTag; + } + interface Params$Resource$Eventtags$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only event tags that belong to this ad. + */ + adId?: string; + /** + * Select only event tags that belong to this advertiser. + */ + advertiserId?: string; + /** + * Select only event tags that belong to this campaign. + */ + campaignId?: string; + /** + * Examine only the specified campaign or advertiser's event tags for + * matching selector criteria. When set to false, the parent advertiser and + * parent campaign of the specified ad or campaign is examined as well. In + * addition, when set to false, the status field is examined as well, along + * with the enabledByDefault field. This parameter can not be set to true + * when adId is specified as ads do not define their own even tags. + */ + definitionsOnly?: boolean; + /** + * Select only enabled event tags. What is considered enabled or disabled + * depends on the definitionsOnly parameter. When definitionsOnly is set to + * true, only the specified advertiser or campaign's event tags' + * enabledByDefault field is examined. When definitionsOnly is set to false, + * the specified ad or specified campaign's parent advertiser's or parent + * campaign's event tags' enabledByDefault and status fields are examined as + * well. + */ + enabled?: boolean; + /** + * Select only event tags with the specified event tag types. Event tag + * types can be used to specify whether to use a third-party pixel, a + * third-party JavaScript URL, or a third-party click-through URL for either + * impression or click tracking. + */ + eventTagTypes?: string; + /** + * Select only event tags with these IDs. + */ + ids?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "eventtag*2015" will return objects with names like + * "eventtag June 2015", "eventtag April 2015", or simply "eventtag 2015". + * Most of the searches also add wildcards implicitly at the start and the + * end of the search string. For example, a search string of "eventtag" will + * match objects with name "my eventtag", "eventtag 2015", or simply + * "eventtag". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + interface Params$Resource$Eventtags$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Event tag ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$EventTag; + } + interface Params$Resource$Eventtags$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$EventTag; + } + class Resource$Files { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.files.get + * @desc Retrieves a report file by its report ID and file ID. This method + * supports media download. + * @alias dfareporting.files.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.fileId The ID of the report file. + * @param {string} params.reportId The ID of the report. + * @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?: Params$Resource$Files$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Files$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Files$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.files.list + * @desc Lists files for a user profile. + * @alias dfareporting.files.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken The value of the nextToken from the previous result page. + * @param {string} params.profileId The DFA profile ID. + * @param {string=} params.scope The scope that defines which results are returned. + * @param {string=} params.sortField The field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Files$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Files$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Files$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Files$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the report file. + */ + fileId?: string; + /** + * The ID of the report. + */ + reportId?: string; + } + interface Params$Resource$Files$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * The value of the nextToken from the previous result page. + */ + pageToken?: string; + /** + * The DFA profile ID. + */ + profileId?: string; + /** + * The scope that defines which results are returned. + */ + scope?: string; + /** + * The field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + class Resource$Floodlightactivities { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.floodlightActivities.delete + * @desc Deletes an existing floodlight activity. + * @alias dfareporting.floodlightActivities.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Floodlight activity ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Floodlightactivities$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Floodlightactivities$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Floodlightactivities$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dfareporting.floodlightActivities.generatetag + * @desc Generates a tag for a floodlight activity. + * @alias dfareporting.floodlightActivities.generatetag + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.floodlightActivityId Floodlight activity ID for which we want to generate a tag. + * @param {string} params.profileId User profile ID associated with this request. + * @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 + */ + generatetag(params?: Params$Resource$Floodlightactivities$Generatetag, options?: MethodOptions): AxiosPromise; + generatetag(params: Params$Resource$Floodlightactivities$Generatetag, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + generatetag(params: Params$Resource$Floodlightactivities$Generatetag, callback: BodyResponseCallback): void; + generatetag(callback: BodyResponseCallback): void; + /** + * dfareporting.floodlightActivities.get + * @desc Gets one floodlight activity by ID. + * @alias dfareporting.floodlightActivities.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Floodlight activity ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Floodlightactivities$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Floodlightactivities$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Floodlightactivities$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.floodlightActivities.insert + * @desc Inserts a new floodlight activity. + * @alias dfareporting.floodlightActivities.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().FloodlightActivity} 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?: Params$Resource$Floodlightactivities$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Floodlightactivities$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Floodlightactivities$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.floodlightActivities.list + * @desc Retrieves a list of floodlight activities, possibly filtered. This + * method supports paging. + * @alias dfareporting.floodlightActivities.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.advertiserId Select only floodlight activities for the specified advertiser ID. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result. + * @param {string=} params.floodlightActivityGroupIds Select only floodlight activities with the specified floodlight activity group IDs. + * @param {string=} params.floodlightActivityGroupName Select only floodlight activities with the specified floodlight activity group name. + * @param {string=} params.floodlightActivityGroupTagString Select only floodlight activities with the specified floodlight activity group tag string. + * @param {string=} params.floodlightActivityGroupType Select only floodlight activities with the specified floodlight activity group type. + * @param {string=} params.floodlightConfigurationId Select only floodlight activities for the specified floodlight configuration ID. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result. + * @param {string=} params.ids Select only floodlight activities with the specified IDs. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "floodlightactivity*2015" will return objects with names like "floodlightactivity June 2015", "floodlightactivity April 2015", or simply "floodlightactivity 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "floodlightactivity" will match objects with name "my floodlightactivity activity", "floodlightactivity 2015", or simply "floodlightactivity". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @param {string=} params.tagString Select only floodlight activities with the specified tag string. + * @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?: Params$Resource$Floodlightactivities$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Floodlightactivities$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Floodlightactivities$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.floodlightActivities.patch + * @desc Updates an existing floodlight activity. This method supports patch + * semantics. + * @alias dfareporting.floodlightActivities.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Floodlight activity ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().FloodlightActivity} 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 + */ + patch(params?: Params$Resource$Floodlightactivities$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Floodlightactivities$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Floodlightactivities$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.floodlightActivities.update + * @desc Updates an existing floodlight activity. + * @alias dfareporting.floodlightActivities.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().FloodlightActivity} 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?: Params$Resource$Floodlightactivities$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Floodlightactivities$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Floodlightactivities$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Floodlightactivities$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Floodlight activity ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Floodlightactivities$Generatetag { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Floodlight activity ID for which we want to generate a tag. + */ + floodlightActivityId?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Floodlightactivities$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Floodlight activity ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Floodlightactivities$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$FloodlightActivity; + } + interface Params$Resource$Floodlightactivities$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only floodlight activities for the specified advertiser ID. Must + * specify either ids, advertiserId, or floodlightConfigurationId for a + * non-empty result. + */ + advertiserId?: string; + /** + * Select only floodlight activities with the specified floodlight activity + * group IDs. + */ + floodlightActivityGroupIds?: string; + /** + * Select only floodlight activities with the specified floodlight activity + * group name. + */ + floodlightActivityGroupName?: string; + /** + * Select only floodlight activities with the specified floodlight activity + * group tag string. + */ + floodlightActivityGroupTagString?: string; + /** + * Select only floodlight activities with the specified floodlight activity + * group type. + */ + floodlightActivityGroupType?: string; + /** + * Select only floodlight activities for the specified floodlight + * configuration ID. Must specify either ids, advertiserId, or + * floodlightConfigurationId for a non-empty result. + */ + floodlightConfigurationId?: string; + /** + * Select only floodlight activities with the specified IDs. Must specify + * either ids, advertiserId, or floodlightConfigurationId for a non-empty + * result. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "floodlightactivity*2015" will return objects with names + * like "floodlightactivity June 2015", "floodlightactivity April 2015", or + * simply "floodlightactivity 2015". Most of the searches also add wildcards + * implicitly at the start and the end of the search string. For example, a + * search string of "floodlightactivity" will match objects with name "my + * floodlightactivity activity", "floodlightactivity 2015", or simply + * "floodlightactivity". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + /** + * Select only floodlight activities with the specified tag string. + */ + tagString?: string; + } + interface Params$Resource$Floodlightactivities$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Floodlight activity ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$FloodlightActivity; + } + interface Params$Resource$Floodlightactivities$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$FloodlightActivity; + } + class Resource$Floodlightactivitygroups { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.floodlightActivityGroups.get + * @desc Gets one floodlight activity group by ID. + * @alias dfareporting.floodlightActivityGroups.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Floodlight activity Group ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Floodlightactivitygroups$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Floodlightactivitygroups$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Floodlightactivitygroups$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.floodlightActivityGroups.insert + * @desc Inserts a new floodlight activity group. + * @alias dfareporting.floodlightActivityGroups.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().FloodlightActivityGroup} 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?: Params$Resource$Floodlightactivitygroups$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Floodlightactivitygroups$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Floodlightactivitygroups$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.floodlightActivityGroups.list + * @desc Retrieves a list of floodlight activity groups, possibly filtered. + * This method supports paging. + * @alias dfareporting.floodlightActivityGroups.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.advertiserId Select only floodlight activity groups with the specified advertiser ID. Must specify either advertiserId or floodlightConfigurationId for a non-empty result. + * @param {string=} params.floodlightConfigurationId Select only floodlight activity groups with the specified floodlight configuration ID. Must specify either advertiserId, or floodlightConfigurationId for a non-empty result. + * @param {string=} params.ids Select only floodlight activity groups with the specified IDs. Must specify either advertiserId or floodlightConfigurationId for a non-empty result. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "floodlightactivitygroup*2015" will return objects with names like "floodlightactivitygroup June 2015", "floodlightactivitygroup April 2015", or simply "floodlightactivitygroup 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "floodlightactivitygroup" will match objects with name "my floodlightactivitygroup activity", "floodlightactivitygroup 2015", or simply "floodlightactivitygroup". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @param {string=} params.type Select only floodlight activity groups with the specified floodlight activity group type. + * @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?: Params$Resource$Floodlightactivitygroups$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Floodlightactivitygroups$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Floodlightactivitygroups$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.floodlightActivityGroups.patch + * @desc Updates an existing floodlight activity group. This method supports + * patch semantics. + * @alias dfareporting.floodlightActivityGroups.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Floodlight activity Group ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().FloodlightActivityGroup} 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 + */ + patch(params?: Params$Resource$Floodlightactivitygroups$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Floodlightactivitygroups$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Floodlightactivitygroups$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.floodlightActivityGroups.update + * @desc Updates an existing floodlight activity group. + * @alias dfareporting.floodlightActivityGroups.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().FloodlightActivityGroup} 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?: Params$Resource$Floodlightactivitygroups$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Floodlightactivitygroups$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Floodlightactivitygroups$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Floodlightactivitygroups$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Floodlight activity Group ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Floodlightactivitygroups$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$FloodlightActivityGroup; + } + interface Params$Resource$Floodlightactivitygroups$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only floodlight activity groups with the specified advertiser ID. + * Must specify either advertiserId or floodlightConfigurationId for a + * non-empty result. + */ + advertiserId?: string; + /** + * Select only floodlight activity groups with the specified floodlight + * configuration ID. Must specify either advertiserId, or + * floodlightConfigurationId for a non-empty result. + */ + floodlightConfigurationId?: string; + /** + * Select only floodlight activity groups with the specified IDs. Must + * specify either advertiserId or floodlightConfigurationId for a non-empty + * result. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "floodlightactivitygroup*2015" will return objects with + * names like "floodlightactivitygroup June 2015", "floodlightactivitygroup + * April 2015", or simply "floodlightactivitygroup 2015". Most of the + * searches also add wildcards implicitly at the start and the end of the + * search string. For example, a search string of "floodlightactivitygroup" + * will match objects with name "my floodlightactivitygroup activity", + * "floodlightactivitygroup 2015", or simply "floodlightactivitygroup". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + /** + * Select only floodlight activity groups with the specified floodlight + * activity group type. + */ + type?: string; + } + interface Params$Resource$Floodlightactivitygroups$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Floodlight activity Group ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$FloodlightActivityGroup; + } + interface Params$Resource$Floodlightactivitygroups$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$FloodlightActivityGroup; + } + class Resource$Floodlightconfigurations { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.floodlightConfigurations.get + * @desc Gets one floodlight configuration by ID. + * @alias dfareporting.floodlightConfigurations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Floodlight configuration ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Floodlightconfigurations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Floodlightconfigurations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Floodlightconfigurations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.floodlightConfigurations.list + * @desc Retrieves a list of floodlight configurations, possibly filtered. + * @alias dfareporting.floodlightConfigurations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.ids Set of IDs of floodlight configurations to retrieve. Required field; otherwise an empty list will be returned. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Floodlightconfigurations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Floodlightconfigurations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Floodlightconfigurations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.floodlightConfigurations.patch + * @desc Updates an existing floodlight configuration. This method supports + * patch semantics. + * @alias dfareporting.floodlightConfigurations.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Floodlight configuration ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().FloodlightConfiguration} 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 + */ + patch(params?: Params$Resource$Floodlightconfigurations$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Floodlightconfigurations$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Floodlightconfigurations$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.floodlightConfigurations.update + * @desc Updates an existing floodlight configuration. + * @alias dfareporting.floodlightConfigurations.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().FloodlightConfiguration} 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?: Params$Resource$Floodlightconfigurations$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Floodlightconfigurations$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Floodlightconfigurations$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Floodlightconfigurations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Floodlight configuration ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Floodlightconfigurations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Set of IDs of floodlight configurations to retrieve. Required field; + * otherwise an empty list will be returned. + */ + ids?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Floodlightconfigurations$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Floodlight configuration ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$FloodlightConfiguration; + } + interface Params$Resource$Floodlightconfigurations$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$FloodlightConfiguration; + } + class Resource$Inventoryitems { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.inventoryItems.get + * @desc Gets one inventory item by ID. + * @alias dfareporting.inventoryItems.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Inventory item ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string} params.projectId Project ID for order documents. + * @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?: Params$Resource$Inventoryitems$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Inventoryitems$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Inventoryitems$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.inventoryItems.list + * @desc Retrieves a list of inventory items, possibly filtered. This method + * supports paging. + * @alias dfareporting.inventoryItems.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.ids Select only inventory items with these IDs. + * @param {boolean=} params.inPlan Select only inventory items that are in plan. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.orderId Select only inventory items that belong to specified orders. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string} params.projectId Project ID for order documents. + * @param {string=} params.siteId Select only inventory items that are associated with these sites. + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @param {string=} params.type Select only inventory items with this type. + * @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?: Params$Resource$Inventoryitems$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Inventoryitems$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Inventoryitems$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Inventoryitems$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Inventory item ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Project ID for order documents. + */ + projectId?: string; + } + interface Params$Resource$Inventoryitems$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only inventory items with these IDs. + */ + ids?: string; + /** + * Select only inventory items that are in plan. + */ + inPlan?: boolean; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Select only inventory items that belong to specified orders. + */ + orderId?: string; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Project ID for order documents. + */ + projectId?: string; + /** + * Select only inventory items that are associated with these sites. + */ + siteId?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + /** + * Select only inventory items with this type. + */ + type?: string; + } + class Resource$Languages { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.languages.list + * @desc Retrieves a list of languages. + * @alias dfareporting.languages.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Languages$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Languages$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Languages$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Languages$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Metros { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.metros.list + * @desc Retrieves a list of metros. + * @alias dfareporting.metros.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Metros$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Metros$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Metros$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Metros$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Mobileapps { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.mobileApps.get + * @desc Gets one mobile app by ID. + * @alias dfareporting.mobileApps.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Mobile app ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Mobileapps$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Mobileapps$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Mobileapps$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.mobileApps.list + * @desc Retrieves list of available mobile apps. + * @alias dfareporting.mobileApps.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.directories Select only apps from these directories. + * @param {string=} params.ids Select only apps with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "app*2015" will return objects with names like "app Jan 2018", "app Jan 2018", or simply "app 2018". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "app" will match objects with name "my app", "app 2018", or simply "app". + * @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?: Params$Resource$Mobileapps$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Mobileapps$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Mobileapps$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Mobileapps$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Mobile app ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Mobileapps$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only apps from these directories. + */ + directories?: string; + /** + * Select only apps with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "app*2015" will return objects with names like "app Jan + * 2018", "app Jan 2018", or simply "app 2018". Most of the searches also + * add wildcards implicitly at the start and the end of the search string. + * For example, a search string of "app" will match objects with name "my + * app", "app 2018", or simply "app". + */ + searchString?: string; + } + class Resource$Mobilecarriers { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.mobileCarriers.get + * @desc Gets one mobile carrier by ID. + * @alias dfareporting.mobileCarriers.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Mobile carrier ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Mobilecarriers$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Mobilecarriers$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Mobilecarriers$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.mobileCarriers.list + * @desc Retrieves a list of mobile carriers. + * @alias dfareporting.mobileCarriers.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Mobilecarriers$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Mobilecarriers$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Mobilecarriers$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Mobilecarriers$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Mobile carrier ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Mobilecarriers$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Operatingsystems { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.operatingSystems.get + * @desc Gets one operating system by DART ID. + * @alias dfareporting.operatingSystems.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.dartId Operating system DART ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Operatingsystems$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Operatingsystems$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Operatingsystems$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.operatingSystems.list + * @desc Retrieves a list of operating systems. + * @alias dfareporting.operatingSystems.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Operatingsystems$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Operatingsystems$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Operatingsystems$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Operatingsystems$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Operating system DART ID. + */ + dartId?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Operatingsystems$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Operatingsystemversions { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.operatingSystemVersions.get + * @desc Gets one operating system version by ID. + * @alias dfareporting.operatingSystemVersions.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Operating system version ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Operatingsystemversions$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Operatingsystemversions$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Operatingsystemversions$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.operatingSystemVersions.list + * @desc Retrieves a list of operating system versions. + * @alias dfareporting.operatingSystemVersions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Operatingsystemversions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Operatingsystemversions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Operatingsystemversions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Operatingsystemversions$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Operating system version ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Operatingsystemversions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Orderdocuments { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.orderDocuments.get + * @desc Gets one order document by ID. + * @alias dfareporting.orderDocuments.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Order document ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string} params.projectId Project ID for order documents. + * @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?: Params$Resource$Orderdocuments$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Orderdocuments$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Orderdocuments$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.orderDocuments.list + * @desc Retrieves a list of order documents, possibly filtered. This method + * supports paging. + * @alias dfareporting.orderDocuments.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.approved Select only order documents that have been approved by at least one user. + * @param {string=} params.ids Select only order documents with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.orderId Select only order documents for specified orders. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string} params.projectId Project ID for order documents. + * @param {string=} params.searchString Allows searching for order documents by name or ID. Wildcards (*) are allowed. For example, "orderdocument*2015" will return order documents with names like "orderdocument June 2015", "orderdocument April 2015", or simply "orderdocument 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "orderdocument" will match order documents with name "my orderdocument", "orderdocument 2015", or simply "orderdocument". + * @param {string=} params.siteId Select only order documents that are associated with these sites. + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Orderdocuments$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Orderdocuments$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Orderdocuments$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Orderdocuments$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Order document ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Project ID for order documents. + */ + projectId?: string; + } + interface Params$Resource$Orderdocuments$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only order documents that have been approved by at least one user. + */ + approved?: boolean; + /** + * Select only order documents with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Select only order documents for specified orders. + */ + orderId?: string; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Project ID for order documents. + */ + projectId?: string; + /** + * Allows searching for order documents by name or ID. Wildcards (*) are + * allowed. For example, "orderdocument*2015" will return order documents + * with names like "orderdocument June 2015", "orderdocument April 2015", or + * simply "orderdocument 2015". Most of the searches also add wildcards + * implicitly at the start and the end of the search string. For example, a + * search string of "orderdocument" will match order documents with name "my + * orderdocument", "orderdocument 2015", or simply "orderdocument". + */ + searchString?: string; + /** + * Select only order documents that are associated with these sites. + */ + siteId?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + class Resource$Orders { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.orders.get + * @desc Gets one order by ID. + * @alias dfareporting.orders.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Order ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string} params.projectId Project ID for orders. + * @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?: Params$Resource$Orders$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Orders$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Orders$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.orders.list + * @desc Retrieves a list of orders, possibly filtered. This method supports + * paging. + * @alias dfareporting.orders.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.ids Select only orders with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string} params.projectId Project ID for orders. + * @param {string=} params.searchString Allows searching for orders by name or ID. Wildcards (*) are allowed. For example, "order*2015" will return orders with names like "order June 2015", "order April 2015", or simply "order 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "order" will match orders with name "my order", "order 2015", or simply "order". + * @param {string=} params.siteId Select only orders that are associated with these site IDs. + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Orders$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Orders$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Orders$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Orders$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Order ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Project ID for orders. + */ + projectId?: string; + } + interface Params$Resource$Orders$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only orders with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Project ID for orders. + */ + projectId?: string; + /** + * Allows searching for orders by name or ID. Wildcards (*) are allowed. For + * example, "order*2015" will return orders with names like "order June + * 2015", "order April 2015", or simply "order 2015". Most of the searches + * also add wildcards implicitly at the start and the end of the search + * string. For example, a search string of "order" will match orders with + * name "my order", "order 2015", or simply "order". + */ + searchString?: string; + /** + * Select only orders that are associated with these site IDs. + */ + siteId?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + class Resource$Placementgroups { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.placementGroups.get + * @desc Gets one placement group by ID. + * @alias dfareporting.placementGroups.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Placement group ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Placementgroups$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Placementgroups$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Placementgroups$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.placementGroups.insert + * @desc Inserts a new placement group. + * @alias dfareporting.placementGroups.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().PlacementGroup} 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?: Params$Resource$Placementgroups$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Placementgroups$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Placementgroups$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.placementGroups.list + * @desc Retrieves a list of placement groups, possibly filtered. This + * method supports paging. + * @alias dfareporting.placementGroups.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.advertiserIds Select only placement groups that belong to these advertisers. + * @param {boolean=} params.archived Select only archived placements. Don't set this field to select both archived and non-archived placements. + * @param {string=} params.campaignIds Select only placement groups that belong to these campaigns. + * @param {string=} params.contentCategoryIds Select only placement groups that are associated with these content categories. + * @param {string=} params.directorySiteIds Select only placement groups that are associated with these directory sites. + * @param {string=} params.ids Select only placement groups with these IDs. + * @param {string=} params.maxEndDate Select only placements or placement groups whose end date is on or before the specified maxEndDate. The date should be formatted as "yyyy-MM-dd". + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.maxStartDate Select only placements or placement groups whose start date is on or before the specified maxStartDate. The date should be formatted as "yyyy-MM-dd". + * @param {string=} params.minEndDate Select only placements or placement groups whose end date is on or after the specified minEndDate. The date should be formatted as "yyyy-MM-dd". + * @param {string=} params.minStartDate Select only placements or placement groups whose start date is on or after the specified minStartDate. The date should be formatted as "yyyy-MM-dd". + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string=} params.placementGroupType Select only placement groups belonging with this group type. A package is a simple group of placements that acts as a single pricing point for a group of tags. A roadblock is a group of placements that not only acts as a single pricing point but also assumes that all the tags in it will be served at the same time. A roadblock requires one of its assigned placements to be marked as primary for reporting. + * @param {string=} params.placementStrategyIds Select only placement groups that are associated with these placement strategies. + * @param {string=} params.pricingTypes Select only placement groups with these pricing types. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for placement groups by name or ID. Wildcards (*) are allowed. For example, "placement*2015" will return placement groups with names like "placement group June 2015", "placement group May 2015", or simply "placements 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "placementgroup" will match placement groups with name "my placementgroup", "placementgroup 2015", or simply "placementgroup". + * @param {string=} params.siteIds Select only placement groups that are associated with these sites. + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Placementgroups$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Placementgroups$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Placementgroups$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.placementGroups.patch + * @desc Updates an existing placement group. This method supports patch + * semantics. + * @alias dfareporting.placementGroups.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Placement group ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().PlacementGroup} 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 + */ + patch(params?: Params$Resource$Placementgroups$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Placementgroups$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Placementgroups$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.placementGroups.update + * @desc Updates an existing placement group. + * @alias dfareporting.placementGroups.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().PlacementGroup} 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?: Params$Resource$Placementgroups$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Placementgroups$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Placementgroups$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Placementgroups$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Placement group ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Placementgroups$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$PlacementGroup; + } + interface Params$Resource$Placementgroups$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only placement groups that belong to these advertisers. + */ + advertiserIds?: string; + /** + * Select only archived placements. Don't set this field to select both + * archived and non-archived placements. + */ + archived?: boolean; + /** + * Select only placement groups that belong to these campaigns. + */ + campaignIds?: string; + /** + * Select only placement groups that are associated with these content + * categories. + */ + contentCategoryIds?: string; + /** + * Select only placement groups that are associated with these directory + * sites. + */ + directorySiteIds?: string; + /** + * Select only placement groups with these IDs. + */ + ids?: string; + /** + * Select only placements or placement groups whose end date is on or before + * the specified maxEndDate. The date should be formatted as "yyyy-MM-dd". + */ + maxEndDate?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Select only placements or placement groups whose start date is on or + * before the specified maxStartDate. The date should be formatted as + * "yyyy-MM-dd". + */ + maxStartDate?: string; + /** + * Select only placements or placement groups whose end date is on or after + * the specified minEndDate. The date should be formatted as "yyyy-MM-dd". + */ + minEndDate?: string; + /** + * Select only placements or placement groups whose start date is on or + * after the specified minStartDate. The date should be formatted as + * "yyyy-MM-dd". + */ + minStartDate?: string; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * Select only placement groups belonging with this group type. A package is + * a simple group of placements that acts as a single pricing point for a + * group of tags. A roadblock is a group of placements that not only acts as + * a single pricing point but also assumes that all the tags in it will be + * served at the same time. A roadblock requires one of its assigned + * placements to be marked as primary for reporting. + */ + placementGroupType?: string; + /** + * Select only placement groups that are associated with these placement + * strategies. + */ + placementStrategyIds?: string; + /** + * Select only placement groups with these pricing types. + */ + pricingTypes?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for placement groups by name or ID. Wildcards (*) are + * allowed. For example, "placement*2015" will return placement groups with + * names like "placement group June 2015", "placement group May 2015", or + * simply "placements 2015". Most of the searches also add wildcards + * implicitly at the start and the end of the search string. For example, a + * search string of "placementgroup" will match placement groups with name + * "my placementgroup", "placementgroup 2015", or simply "placementgroup". + */ + searchString?: string; + /** + * Select only placement groups that are associated with these sites. + */ + siteIds?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + interface Params$Resource$Placementgroups$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Placement group ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$PlacementGroup; + } + interface Params$Resource$Placementgroups$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$PlacementGroup; + } + class Resource$Placements { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.placements.generatetags + * @desc Generates tags for a placement. + * @alias dfareporting.placements.generatetags + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.campaignId Generate placements belonging to this campaign. This is a required field. + * @param {string=} params.placementIds Generate tags for these placements. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.tagFormats Tag formats to generate for these placements. Note: PLACEMENT_TAG_STANDARD can only be generated for 1x1 placements. + * @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 + */ + generatetags(params?: Params$Resource$Placements$Generatetags, options?: MethodOptions): AxiosPromise; + generatetags(params: Params$Resource$Placements$Generatetags, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + generatetags(params: Params$Resource$Placements$Generatetags, callback: BodyResponseCallback): void; + generatetags(callback: BodyResponseCallback): void; + /** + * dfareporting.placements.get + * @desc Gets one placement by ID. + * @alias dfareporting.placements.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Placement ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Placements$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Placements$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Placements$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.placements.insert + * @desc Inserts a new placement. + * @alias dfareporting.placements.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Placement} 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?: Params$Resource$Placements$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Placements$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Placements$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.placements.list + * @desc Retrieves a list of placements, possibly filtered. This method + * supports paging. + * @alias dfareporting.placements.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.advertiserIds Select only placements that belong to these advertisers. + * @param {boolean=} params.archived Select only archived placements. Don't set this field to select both archived and non-archived placements. + * @param {string=} params.campaignIds Select only placements that belong to these campaigns. + * @param {string=} params.compatibilities Select only placements that are associated with these compatibilities. DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop or on mobile devices for regular or interstitial ads respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard. + * @param {string=} params.contentCategoryIds Select only placements that are associated with these content categories. + * @param {string=} params.directorySiteIds Select only placements that are associated with these directory sites. + * @param {string=} params.groupIds Select only placements that belong to these placement groups. + * @param {string=} params.ids Select only placements with these IDs. + * @param {string=} params.maxEndDate Select only placements or placement groups whose end date is on or before the specified maxEndDate. The date should be formatted as "yyyy-MM-dd". + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.maxStartDate Select only placements or placement groups whose start date is on or before the specified maxStartDate. The date should be formatted as "yyyy-MM-dd". + * @param {string=} params.minEndDate Select only placements or placement groups whose end date is on or after the specified minEndDate. The date should be formatted as "yyyy-MM-dd". + * @param {string=} params.minStartDate Select only placements or placement groups whose start date is on or after the specified minStartDate. The date should be formatted as "yyyy-MM-dd". + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string=} params.paymentSource Select only placements with this payment source. + * @param {string=} params.placementStrategyIds Select only placements that are associated with these placement strategies. + * @param {string=} params.pricingTypes Select only placements with these pricing types. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for placements by name or ID. Wildcards (*) are allowed. For example, "placement*2015" will return placements with names like "placement June 2015", "placement May 2015", or simply "placements 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "placement" will match placements with name "my placement", "placement 2015", or simply "placement". + * @param {string=} params.siteIds Select only placements that are associated with these sites. + * @param {string=} params.sizeIds Select only placements that are associated with these sizes. + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Placements$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Placements$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Placements$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.placements.patch + * @desc Updates an existing placement. This method supports patch + * semantics. + * @alias dfareporting.placements.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Placement ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Placement} 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 + */ + patch(params?: Params$Resource$Placements$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Placements$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Placements$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.placements.update + * @desc Updates an existing placement. + * @alias dfareporting.placements.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Placement} 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?: Params$Resource$Placements$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Placements$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Placements$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Placements$Generatetags { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Generate placements belonging to this campaign. This is a required field. + */ + campaignId?: string; + /** + * Generate tags for these placements. + */ + placementIds?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Tag formats to generate for these placements. Note: + * PLACEMENT_TAG_STANDARD can only be generated for 1x1 placements. + */ + tagFormats?: string; + } + interface Params$Resource$Placements$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Placement ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Placements$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Placement; + } + interface Params$Resource$Placements$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only placements that belong to these advertisers. + */ + advertiserIds?: string; + /** + * Select only archived placements. Don't set this field to select both + * archived and non-archived placements. + */ + archived?: boolean; + /** + * Select only placements that belong to these campaigns. + */ + campaignIds?: string; + /** + * Select only placements that are associated with these compatibilities. + * DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop or + * on mobile devices for regular or interstitial ads respectively. APP and + * APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO refers + * to rendering in in-stream video ads developed with the VAST standard. + */ + compatibilities?: string; + /** + * Select only placements that are associated with these content categories. + */ + contentCategoryIds?: string; + /** + * Select only placements that are associated with these directory sites. + */ + directorySiteIds?: string; + /** + * Select only placements that belong to these placement groups. + */ + groupIds?: string; + /** + * Select only placements with these IDs. + */ + ids?: string; + /** + * Select only placements or placement groups whose end date is on or before + * the specified maxEndDate. The date should be formatted as "yyyy-MM-dd". + */ + maxEndDate?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Select only placements or placement groups whose start date is on or + * before the specified maxStartDate. The date should be formatted as + * "yyyy-MM-dd". + */ + maxStartDate?: string; + /** + * Select only placements or placement groups whose end date is on or after + * the specified minEndDate. The date should be formatted as "yyyy-MM-dd". + */ + minEndDate?: string; + /** + * Select only placements or placement groups whose start date is on or + * after the specified minStartDate. The date should be formatted as + * "yyyy-MM-dd". + */ + minStartDate?: string; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * Select only placements with this payment source. + */ + paymentSource?: string; + /** + * Select only placements that are associated with these placement + * strategies. + */ + placementStrategyIds?: string; + /** + * Select only placements with these pricing types. + */ + pricingTypes?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for placements by name or ID. Wildcards (*) are allowed. + * For example, "placement*2015" will return placements with names like + * "placement June 2015", "placement May 2015", or simply "placements 2015". + * Most of the searches also add wildcards implicitly at the start and the + * end of the search string. For example, a search string of "placement" + * will match placements with name "my placement", "placement 2015", or + * simply "placement". + */ + searchString?: string; + /** + * Select only placements that are associated with these sites. + */ + siteIds?: string; + /** + * Select only placements that are associated with these sizes. + */ + sizeIds?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + interface Params$Resource$Placements$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Placement ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Placement; + } + interface Params$Resource$Placements$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Placement; + } + class Resource$Placementstrategies { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.placementStrategies.delete + * @desc Deletes an existing placement strategy. + * @alias dfareporting.placementStrategies.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Placement strategy ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Placementstrategies$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Placementstrategies$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Placementstrategies$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dfareporting.placementStrategies.get + * @desc Gets one placement strategy by ID. + * @alias dfareporting.placementStrategies.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Placement strategy ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Placementstrategies$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Placementstrategies$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Placementstrategies$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.placementStrategies.insert + * @desc Inserts a new placement strategy. + * @alias dfareporting.placementStrategies.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().PlacementStrategy} 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?: Params$Resource$Placementstrategies$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Placementstrategies$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Placementstrategies$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.placementStrategies.list + * @desc Retrieves a list of placement strategies, possibly filtered. This + * method supports paging. + * @alias dfareporting.placementStrategies.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.ids Select only placement strategies with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "placementstrategy*2015" will return objects with names like "placementstrategy June 2015", "placementstrategy April 2015", or simply "placementstrategy 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "placementstrategy" will match objects with name "my placementstrategy", "placementstrategy 2015", or simply "placementstrategy". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Placementstrategies$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Placementstrategies$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Placementstrategies$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.placementStrategies.patch + * @desc Updates an existing placement strategy. This method supports patch + * semantics. + * @alias dfareporting.placementStrategies.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Placement strategy ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().PlacementStrategy} 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 + */ + patch(params?: Params$Resource$Placementstrategies$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Placementstrategies$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Placementstrategies$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.placementStrategies.update + * @desc Updates an existing placement strategy. + * @alias dfareporting.placementStrategies.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().PlacementStrategy} 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?: Params$Resource$Placementstrategies$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Placementstrategies$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Placementstrategies$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Placementstrategies$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Placement strategy ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Placementstrategies$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Placement strategy ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Placementstrategies$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$PlacementStrategy; + } + interface Params$Resource$Placementstrategies$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only placement strategies with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "placementstrategy*2015" will return objects with names like + * "placementstrategy June 2015", "placementstrategy April 2015", or simply + * "placementstrategy 2015". Most of the searches also add wildcards + * implicitly at the start and the end of the search string. For example, a + * search string of "placementstrategy" will match objects with name "my + * placementstrategy", "placementstrategy 2015", or simply + * "placementstrategy". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + interface Params$Resource$Placementstrategies$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Placement strategy ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$PlacementStrategy; + } + interface Params$Resource$Placementstrategies$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$PlacementStrategy; + } + class Resource$Platformtypes { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.platformTypes.get + * @desc Gets one platform type by ID. + * @alias dfareporting.platformTypes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Platform type ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Platformtypes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Platformtypes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Platformtypes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.platformTypes.list + * @desc Retrieves a list of platform types. + * @alias dfareporting.platformTypes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Platformtypes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Platformtypes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Platformtypes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Platformtypes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Platform type ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Platformtypes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Postalcodes { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.postalCodes.get + * @desc Gets one postal code by ID. + * @alias dfareporting.postalCodes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.code Postal code ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Postalcodes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Postalcodes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Postalcodes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.postalCodes.list + * @desc Retrieves a list of postal codes. + * @alias dfareporting.postalCodes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Postalcodes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Postalcodes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Postalcodes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Postalcodes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Postal code ID. + */ + code?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Postalcodes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Projects { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.projects.get + * @desc Gets one project by ID. + * @alias dfareporting.projects.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Project ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Projects$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.projects.list + * @desc Retrieves a list of projects, possibly filtered. This method + * supports paging. + * @alias dfareporting.projects.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.advertiserIds Select only projects with these advertiser IDs. + * @param {string=} params.ids Select only projects with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for projects by name or ID. Wildcards (*) are allowed. For example, "project*2015" will return projects with names like "project June 2015", "project April 2015", or simply "project 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "project" will match projects with name "my project", "project 2015", or simply "project". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Projects$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Projects$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only projects with these advertiser IDs. + */ + advertiserIds?: string; + /** + * Select only projects with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for projects by name or ID. Wildcards (*) are allowed. + * For example, "project*2015" will return projects with names like "project + * June 2015", "project April 2015", or simply "project 2015". Most of the + * searches also add wildcards implicitly at the start and the end of the + * search string. For example, a search string of "project" will match + * projects with name "my project", "project 2015", or simply "project". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + class Resource$Regions { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.regions.list + * @desc Retrieves a list of regions. + * @alias dfareporting.regions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Regions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Regions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Regions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Regions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Remarketinglists { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.remarketingLists.get + * @desc Gets one remarketing list by ID. + * @alias dfareporting.remarketingLists.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Remarketing list ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Remarketinglists$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Remarketinglists$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Remarketinglists$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.remarketingLists.insert + * @desc Inserts a new remarketing list. + * @alias dfareporting.remarketingLists.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().RemarketingList} 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?: Params$Resource$Remarketinglists$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Remarketinglists$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Remarketinglists$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.remarketingLists.list + * @desc Retrieves a list of remarketing lists, possibly filtered. This + * method supports paging. + * @alias dfareporting.remarketingLists.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.active Select only active or only inactive remarketing lists. + * @param {string} params.advertiserId Select only remarketing lists owned by this advertiser. + * @param {string=} params.floodlightActivityId Select only remarketing lists that have this floodlight activity ID. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.name Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "remarketing list*2015" will return objects with names like "remarketing list June 2015", "remarketing list April 2015", or simply "remarketing list 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "remarketing list" will match objects with name "my remarketing list", "remarketing list 2015", or simply "remarketing list". + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Remarketinglists$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Remarketinglists$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Remarketinglists$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.remarketingLists.patch + * @desc Updates an existing remarketing list. This method supports patch + * semantics. + * @alias dfareporting.remarketingLists.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Remarketing list ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().RemarketingList} 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 + */ + patch(params?: Params$Resource$Remarketinglists$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Remarketinglists$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Remarketinglists$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.remarketingLists.update + * @desc Updates an existing remarketing list. + * @alias dfareporting.remarketingLists.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().RemarketingList} 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?: Params$Resource$Remarketinglists$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Remarketinglists$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Remarketinglists$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Remarketinglists$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Remarketing list ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Remarketinglists$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RemarketingList; + } + interface Params$Resource$Remarketinglists$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only active or only inactive remarketing lists. + */ + active?: boolean; + /** + * Select only remarketing lists owned by this advertiser. + */ + advertiserId?: string; + /** + * Select only remarketing lists that have this floodlight activity ID. + */ + floodlightActivityId?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "remarketing list*2015" will return objects with names like + * "remarketing list June 2015", "remarketing list April 2015", or simply + * "remarketing list 2015". Most of the searches also add wildcards + * implicitly at the start and the end of the search string. For example, a + * search string of "remarketing list" will match objects with name "my + * remarketing list", "remarketing list 2015", or simply "remarketing list". + */ + name?: string; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + interface Params$Resource$Remarketinglists$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Remarketing list ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RemarketingList; + } + interface Params$Resource$Remarketinglists$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RemarketingList; + } + class Resource$Remarketinglistshares { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.remarketingListShares.get + * @desc Gets one remarketing list share by remarketing list ID. + * @alias dfareporting.remarketingListShares.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {string} params.remarketingListId Remarketing list ID. + * @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?: Params$Resource$Remarketinglistshares$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Remarketinglistshares$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Remarketinglistshares$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.remarketingListShares.patch + * @desc Updates an existing remarketing list share. This method supports + * patch semantics. + * @alias dfareporting.remarketingListShares.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {string} params.remarketingListId Remarketing list ID. + * @param {().RemarketingListShare} 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 + */ + patch(params?: Params$Resource$Remarketinglistshares$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Remarketinglistshares$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Remarketinglistshares$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.remarketingListShares.update + * @desc Updates an existing remarketing list share. + * @alias dfareporting.remarketingListShares.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().RemarketingListShare} 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?: Params$Resource$Remarketinglistshares$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Remarketinglistshares$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Remarketinglistshares$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Remarketinglistshares$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Remarketing list ID. + */ + remarketingListId?: string; + } + interface Params$Resource$Remarketinglistshares$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Remarketing list ID. + */ + remarketingListId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RemarketingListShare; + } + interface Params$Resource$Remarketinglistshares$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RemarketingListShare; + } + class Resource$Reports { + root: Dfareporting; + compatibleFields: Resource$Reports$Compatiblefields; + files: Resource$Reports$Files; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.reports.delete + * @desc Deletes a report by its ID. + * @alias dfareporting.reports.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId The DFA user profile ID. + * @param {string} params.reportId The ID of the report. + * @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?: Params$Resource$Reports$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Reports$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Reports$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dfareporting.reports.get + * @desc Retrieves a report by its ID. + * @alias dfareporting.reports.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId The DFA user profile ID. + * @param {string} params.reportId The ID of the report. + * @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?: Params$Resource$Reports$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Reports$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Reports$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.reports.insert + * @desc Creates a report. + * @alias dfareporting.reports.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId The DFA user profile ID. + * @param {().Report} 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?: Params$Resource$Reports$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Reports$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Reports$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.reports.list + * @desc Retrieves list of reports. + * @alias dfareporting.reports.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken The value of the nextToken from the previous result page. + * @param {string} params.profileId The DFA user profile ID. + * @param {string=} params.scope The scope that defines which results are returned. + * @param {string=} params.sortField The field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Reports$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Reports$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Reports$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.reports.patch + * @desc Updates a report. This method supports patch semantics. + * @alias dfareporting.reports.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId The DFA user profile ID. + * @param {string} params.reportId The ID of the report. + * @param {().Report} 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 + */ + patch(params?: Params$Resource$Reports$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Reports$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Reports$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.reports.run + * @desc Runs a report. + * @alias dfareporting.reports.run + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId The DFA profile ID. + * @param {string} params.reportId The ID of the report. + * @param {boolean=} params.synchronous If set and true, tries to run the report synchronously. + * @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 + */ + run(params?: Params$Resource$Reports$Run, options?: MethodOptions): AxiosPromise; + run(params: Params$Resource$Reports$Run, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + run(params: Params$Resource$Reports$Run, callback: BodyResponseCallback): void; + run(callback: BodyResponseCallback): void; + /** + * dfareporting.reports.update + * @desc Updates a report. + * @alias dfareporting.reports.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId The DFA user profile ID. + * @param {string} params.reportId The ID of the report. + * @param {().Report} 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?: Params$Resource$Reports$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Reports$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Reports$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Reports$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The DFA user profile ID. + */ + profileId?: string; + /** + * The ID of the report. + */ + reportId?: string; + } + interface Params$Resource$Reports$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The DFA user profile ID. + */ + profileId?: string; + /** + * The ID of the report. + */ + reportId?: string; + } + interface Params$Resource$Reports$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The DFA user profile ID. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Report; + } + interface Params$Resource$Reports$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * The value of the nextToken from the previous result page. + */ + pageToken?: string; + /** + * The DFA user profile ID. + */ + profileId?: string; + /** + * The scope that defines which results are returned. + */ + scope?: string; + /** + * The field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + interface Params$Resource$Reports$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The DFA user profile ID. + */ + profileId?: string; + /** + * The ID of the report. + */ + reportId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Report; + } + interface Params$Resource$Reports$Run { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The DFA profile ID. + */ + profileId?: string; + /** + * The ID of the report. + */ + reportId?: string; + /** + * If set and true, tries to run the report synchronously. + */ + synchronous?: boolean; + } + interface Params$Resource$Reports$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The DFA user profile ID. + */ + profileId?: string; + /** + * The ID of the report. + */ + reportId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Report; + } + class Resource$Reports$Compatiblefields { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.reports.compatibleFields.query + * @desc Returns the fields that are compatible to be selected in the + * respective sections of a report criteria, given the fields already + * selected in the input report and user permissions. + * @alias dfareporting.reports.compatibleFields.query + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId The DFA user profile ID. + * @param {().Report} 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 + */ + query(params?: Params$Resource$Reports$Compatiblefields$Query, options?: MethodOptions): AxiosPromise; + query(params: Params$Resource$Reports$Compatiblefields$Query, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + query(params: Params$Resource$Reports$Compatiblefields$Query, callback: BodyResponseCallback): void; + query(callback: BodyResponseCallback): void; + } + interface Params$Resource$Reports$Compatiblefields$Query { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The DFA user profile ID. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Report; + } + class Resource$Reports$Files { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.reports.files.get + * @desc Retrieves a report file. This method supports media download. + * @alias dfareporting.reports.files.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.fileId The ID of the report file. + * @param {string} params.profileId The DFA profile ID. + * @param {string} params.reportId The ID of the report. + * @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?: Params$Resource$Reports$Files$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Reports$Files$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Reports$Files$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.reports.files.list + * @desc Lists files for a report. + * @alias dfareporting.reports.files.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken The value of the nextToken from the previous result page. + * @param {string} params.profileId The DFA profile ID. + * @param {string} params.reportId The ID of the parent report. + * @param {string=} params.sortField The field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Reports$Files$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Reports$Files$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Reports$Files$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Reports$Files$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the report file. + */ + fileId?: string; + /** + * The DFA profile ID. + */ + profileId?: string; + /** + * The ID of the report. + */ + reportId?: string; + } + interface Params$Resource$Reports$Files$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * The value of the nextToken from the previous result page. + */ + pageToken?: string; + /** + * The DFA profile ID. + */ + profileId?: string; + /** + * The ID of the parent report. + */ + reportId?: string; + /** + * The field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + class Resource$Sites { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.sites.get + * @desc Gets one site by ID. + * @alias dfareporting.sites.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Site ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Sites$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Sites$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Sites$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.sites.insert + * @desc Inserts a new site. + * @alias dfareporting.sites.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Site} 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?: Params$Resource$Sites$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Sites$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Sites$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.sites.list + * @desc Retrieves a list of sites, possibly filtered. This method supports + * paging. + * @alias dfareporting.sites.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.acceptsInStreamVideoPlacements This search filter is no longer supported and will have no effect on the results returned. + * @param {boolean=} params.acceptsInterstitialPlacements This search filter is no longer supported and will have no effect on the results returned. + * @param {boolean=} params.acceptsPublisherPaidPlacements Select only sites that accept publisher paid placements. + * @param {boolean=} params.adWordsSite Select only AdWords sites. + * @param {boolean=} params.approved Select only approved sites. + * @param {string=} params.campaignIds Select only sites with these campaign IDs. + * @param {string=} params.directorySiteIds Select only sites with these directory site IDs. + * @param {string=} params.ids Select only sites with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name, ID or keyName. Wildcards (*) are allowed. For example, "site*2015" will return objects with names like "site June 2015", "site April 2015", or simply "site 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "site" will match objects with name "my site", "site 2015", or simply "site". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @param {string=} params.subaccountId Select only sites with this subaccount ID. + * @param {boolean=} params.unmappedSite Select only sites that have not been mapped to a directory site. + * @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?: Params$Resource$Sites$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Sites$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Sites$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.sites.patch + * @desc Updates an existing site. This method supports patch semantics. + * @alias dfareporting.sites.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Site ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Site} 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 + */ + patch(params?: Params$Resource$Sites$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Sites$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Sites$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.sites.update + * @desc Updates an existing site. + * @alias dfareporting.sites.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Site} 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?: Params$Resource$Sites$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Sites$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Sites$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Sites$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Site ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Sites$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Site; + } + interface Params$Resource$Sites$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * This search filter is no longer supported and will have no effect on the + * results returned. + */ + acceptsInStreamVideoPlacements?: boolean; + /** + * This search filter is no longer supported and will have no effect on the + * results returned. + */ + acceptsInterstitialPlacements?: boolean; + /** + * Select only sites that accept publisher paid placements. + */ + acceptsPublisherPaidPlacements?: boolean; + /** + * Select only AdWords sites. + */ + adWordsSite?: boolean; + /** + * Select only approved sites. + */ + approved?: boolean; + /** + * Select only sites with these campaign IDs. + */ + campaignIds?: string; + /** + * Select only sites with these directory site IDs. + */ + directorySiteIds?: string; + /** + * Select only sites with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name, ID or keyName. Wildcards (*) are + * allowed. For example, "site*2015" will return objects with names like + * "site June 2015", "site April 2015", or simply "site 2015". Most of the + * searches also add wildcards implicitly at the start and the end of the + * search string. For example, a search string of "site" will match objects + * with name "my site", "site 2015", or simply "site". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + /** + * Select only sites with this subaccount ID. + */ + subaccountId?: string; + /** + * Select only sites that have not been mapped to a directory site. + */ + unmappedSite?: boolean; + } + interface Params$Resource$Sites$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Site ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Site; + } + interface Params$Resource$Sites$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Site; + } + class Resource$Sizes { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.sizes.get + * @desc Gets one size by ID. + * @alias dfareporting.sizes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Size ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Sizes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Sizes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Sizes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.sizes.insert + * @desc Inserts a new size. + * @alias dfareporting.sizes.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Size} 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?: Params$Resource$Sizes$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Sizes$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Sizes$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.sizes.list + * @desc Retrieves a list of sizes, possibly filtered. Retrieved sizes are + * globally unique and may include values not currently in use by your + * account. Due to this, the list of sizes returned by this method may + * differ from the list seen in the Trafficking UI. + * @alias dfareporting.sizes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.height Select only sizes with this height. + * @param {boolean=} params.iabStandard Select only IAB standard sizes. + * @param {string=} params.ids Select only sizes with these IDs. + * @param {string} params.profileId User profile ID associated with this request. + * @param {integer=} params.width Select only sizes with this width. + * @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?: Params$Resource$Sizes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Sizes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Sizes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Sizes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Size ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Sizes$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Size; + } + interface Params$Resource$Sizes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only sizes with this height. + */ + height?: number; + /** + * Select only IAB standard sizes. + */ + iabStandard?: boolean; + /** + * Select only sizes with these IDs. + */ + ids?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Select only sizes with this width. + */ + width?: number; + } + class Resource$Subaccounts { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.subaccounts.get + * @desc Gets one subaccount by ID. + * @alias dfareporting.subaccounts.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Subaccount ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Subaccounts$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Subaccounts$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Subaccounts$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.subaccounts.insert + * @desc Inserts a new subaccount. + * @alias dfareporting.subaccounts.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Subaccount} 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?: Params$Resource$Subaccounts$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Subaccounts$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Subaccounts$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.subaccounts.list + * @desc Gets a list of subaccounts, possibly filtered. This method supports + * paging. + * @alias dfareporting.subaccounts.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.ids Select only subaccounts with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "subaccount*2015" will return objects with names like "subaccount June 2015", "subaccount April 2015", or simply "subaccount 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "subaccount" will match objects with name "my subaccount", "subaccount 2015", or simply "subaccount". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Subaccounts$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Subaccounts$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Subaccounts$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.subaccounts.patch + * @desc Updates an existing subaccount. This method supports patch + * semantics. + * @alias dfareporting.subaccounts.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Subaccount ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Subaccount} 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 + */ + patch(params?: Params$Resource$Subaccounts$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Subaccounts$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Subaccounts$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.subaccounts.update + * @desc Updates an existing subaccount. + * @alias dfareporting.subaccounts.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().Subaccount} 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?: Params$Resource$Subaccounts$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Subaccounts$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Subaccounts$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Subaccounts$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Subaccount ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Subaccounts$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Subaccount; + } + interface Params$Resource$Subaccounts$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only subaccounts with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "subaccount*2015" will return objects with names like + * "subaccount June 2015", "subaccount April 2015", or simply "subaccount + * 2015". Most of the searches also add wildcards implicitly at the start + * and the end of the search string. For example, a search string of + * "subaccount" will match objects with name "my subaccount", "subaccount + * 2015", or simply "subaccount". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + interface Params$Resource$Subaccounts$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Subaccount ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Subaccount; + } + interface Params$Resource$Subaccounts$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Subaccount; + } + class Resource$Targetableremarketinglists { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.targetableRemarketingLists.get + * @desc Gets one remarketing list by ID. + * @alias dfareporting.targetableRemarketingLists.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Remarketing list ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Targetableremarketinglists$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Targetableremarketinglists$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Targetableremarketinglists$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.targetableRemarketingLists.list + * @desc Retrieves a list of targetable remarketing lists, possibly + * filtered. This method supports paging. + * @alias dfareporting.targetableRemarketingLists.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.active Select only active or only inactive targetable remarketing lists. + * @param {string} params.advertiserId Select only targetable remarketing lists targetable by these advertisers. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.name Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "remarketing list*2015" will return objects with names like "remarketing list June 2015", "remarketing list April 2015", or simply "remarketing list 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "remarketing list" will match objects with name "my remarketing list", "remarketing list 2015", or simply "remarketing list". + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Targetableremarketinglists$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Targetableremarketinglists$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Targetableremarketinglists$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Targetableremarketinglists$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Remarketing list ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Targetableremarketinglists$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only active or only inactive targetable remarketing lists. + */ + active?: boolean; + /** + * Select only targetable remarketing lists targetable by these advertisers. + */ + advertiserId?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "remarketing list*2015" will return objects with names like + * "remarketing list June 2015", "remarketing list April 2015", or simply + * "remarketing list 2015". Most of the searches also add wildcards + * implicitly at the start and the end of the search string. For example, a + * search string of "remarketing list" will match objects with name "my + * remarketing list", "remarketing list 2015", or simply "remarketing list". + */ + name?: string; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + class Resource$Targetingtemplates { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.targetingTemplates.get + * @desc Gets one targeting template by ID. + * @alias dfareporting.targetingTemplates.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Targeting template ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Targetingtemplates$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Targetingtemplates$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Targetingtemplates$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.targetingTemplates.insert + * @desc Inserts a new targeting template. + * @alias dfareporting.targetingTemplates.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().TargetingTemplate} 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?: Params$Resource$Targetingtemplates$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Targetingtemplates$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Targetingtemplates$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.targetingTemplates.list + * @desc Retrieves a list of targeting templates, optionally filtered. This + * method supports paging. + * @alias dfareporting.targetingTemplates.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.advertiserId Select only targeting templates with this advertiser ID. + * @param {string=} params.ids Select only targeting templates with these IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "template*2015" will return objects with names like "template June 2015", "template April 2015", or simply "template 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "template" will match objects with name "my template", "template 2015", or simply "template". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @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?: Params$Resource$Targetingtemplates$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Targetingtemplates$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Targetingtemplates$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.targetingTemplates.patch + * @desc Updates an existing targeting template. This method supports patch + * semantics. + * @alias dfareporting.targetingTemplates.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Targeting template ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().TargetingTemplate} 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 + */ + patch(params?: Params$Resource$Targetingtemplates$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Targetingtemplates$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Targetingtemplates$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.targetingTemplates.update + * @desc Updates an existing targeting template. + * @alias dfareporting.targetingTemplates.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().TargetingTemplate} 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?: Params$Resource$Targetingtemplates$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Targetingtemplates$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Targetingtemplates$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Targetingtemplates$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Targeting template ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Targetingtemplates$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetingTemplate; + } + interface Params$Resource$Targetingtemplates$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only targeting templates with this advertiser ID. + */ + advertiserId?: string; + /** + * Select only targeting templates with these IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "template*2015" will return objects with names like + * "template June 2015", "template April 2015", or simply "template 2015". + * Most of the searches also add wildcards implicitly at the start and the + * end of the search string. For example, a search string of "template" will + * match objects with name "my template", "template 2015", or simply + * "template". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + } + interface Params$Resource$Targetingtemplates$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Targeting template ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetingTemplate; + } + interface Params$Resource$Targetingtemplates$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TargetingTemplate; + } + class Resource$Userprofiles { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.userProfiles.get + * @desc Gets one user profile by ID. + * @alias dfareporting.userProfiles.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId The user profile ID. + * @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?: Params$Resource$Userprofiles$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Userprofiles$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Userprofiles$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.userProfiles.list + * @desc Retrieves list of user profiles for a user. + * @alias dfareporting.userProfiles.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @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?: Params$Resource$Userprofiles$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Userprofiles$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Userprofiles$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Userprofiles$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The user profile ID. + */ + profileId?: string; + } + interface Params$Resource$Userprofiles$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } + class Resource$Userrolepermissiongroups { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.userRolePermissionGroups.get + * @desc Gets one user role permission group by ID. + * @alias dfareporting.userRolePermissionGroups.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id User role permission group ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Userrolepermissiongroups$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Userrolepermissiongroups$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Userrolepermissiongroups$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.userRolePermissionGroups.list + * @desc Gets a list of all supported user role permission groups. + * @alias dfareporting.userRolePermissionGroups.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Userrolepermissiongroups$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Userrolepermissiongroups$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Userrolepermissiongroups$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Userrolepermissiongroups$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User role permission group ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Userrolepermissiongroups$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Userrolepermissions { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.userRolePermissions.get + * @desc Gets one user role permission by ID. + * @alias dfareporting.userRolePermissions.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id User role permission ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Userrolepermissions$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Userrolepermissions$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Userrolepermissions$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.userRolePermissions.list + * @desc Gets a list of user role permissions, possibly filtered. + * @alias dfareporting.userRolePermissions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.ids Select only user role permissions with these IDs. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Userrolepermissions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Userrolepermissions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Userrolepermissions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Userrolepermissions$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User role permission ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Userrolepermissions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only user role permissions with these IDs. + */ + ids?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + class Resource$Userroles { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.userRoles.delete + * @desc Deletes an existing user role. + * @alias dfareporting.userRoles.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id User role ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Userroles$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Userroles$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Userroles$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dfareporting.userRoles.get + * @desc Gets one user role by ID. + * @alias dfareporting.userRoles.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id User role ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Userroles$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Userroles$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Userroles$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.userRoles.insert + * @desc Inserts a new user role. + * @alias dfareporting.userRoles.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().UserRole} 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?: Params$Resource$Userroles$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Userroles$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Userroles$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * dfareporting.userRoles.list + * @desc Retrieves a list of user roles, possibly filtered. This method + * supports paging. + * @alias dfareporting.userRoles.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.accountUserRoleOnly Select only account level user roles not associated with any specific subaccount. + * @param {string=} params.ids Select only user roles with the specified IDs. + * @param {integer=} params.maxResults Maximum number of results to return. + * @param {string=} params.pageToken Value of the nextPageToken from the previous result page. + * @param {string} params.profileId User profile ID associated with this request. + * @param {string=} params.searchString Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "userrole*2015" will return objects with names like "userrole June 2015", "userrole April 2015", or simply "userrole 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "userrole" will match objects with name "my userrole", "userrole 2015", or simply "userrole". + * @param {string=} params.sortField Field by which to sort the list. + * @param {string=} params.sortOrder Order of sorted results. + * @param {string=} params.subaccountId Select only user roles that belong to this subaccount. + * @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?: Params$Resource$Userroles$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Userroles$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Userroles$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dfareporting.userRoles.patch + * @desc Updates an existing user role. This method supports patch + * semantics. + * @alias dfareporting.userRoles.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id User role ID. + * @param {string} params.profileId User profile ID associated with this request. + * @param {().UserRole} 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 + */ + patch(params?: Params$Resource$Userroles$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Userroles$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Userroles$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dfareporting.userRoles.update + * @desc Updates an existing user role. + * @alias dfareporting.userRoles.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @param {().UserRole} 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?: Params$Resource$Userroles$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Userroles$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Userroles$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Userroles$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User role ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Userroles$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User role ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Userroles$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UserRole; + } + interface Params$Resource$Userroles$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Select only account level user roles not associated with any specific + * subaccount. + */ + accountUserRoleOnly?: boolean; + /** + * Select only user roles with the specified IDs. + */ + ids?: string; + /** + * Maximum number of results to return. + */ + maxResults?: number; + /** + * Value of the nextPageToken from the previous result page. + */ + pageToken?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Allows searching for objects by name or ID. Wildcards (*) are allowed. + * For example, "userrole*2015" will return objects with names like + * "userrole June 2015", "userrole April 2015", or simply "userrole 2015". + * Most of the searches also add wildcards implicitly at the start and the + * end of the search string. For example, a search string of "userrole" will + * match objects with name "my userrole", "userrole 2015", or simply + * "userrole". + */ + searchString?: string; + /** + * Field by which to sort the list. + */ + sortField?: string; + /** + * Order of sorted results. + */ + sortOrder?: string; + /** + * Select only user roles that belong to this subaccount. + */ + subaccountId?: string; + } + interface Params$Resource$Userroles$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User role ID. + */ + id?: string; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UserRole; + } + interface Params$Resource$Userroles$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UserRole; + } + class Resource$Videoformats { + root: Dfareporting; + constructor(root: Dfareporting); + getRoot(): Dfareporting; + /** + * dfareporting.videoFormats.get + * @desc Gets one video format by ID. + * @alias dfareporting.videoFormats.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.id Video format ID. + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Videoformats$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Videoformats$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Videoformats$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dfareporting.videoFormats.list + * @desc Lists available video formats. + * @alias dfareporting.videoFormats.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.profileId User profile ID associated with this request. + * @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?: Params$Resource$Videoformats$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Videoformats$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Videoformats$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Videoformats$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Video format ID. + */ + id?: number; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } + interface Params$Resource$Videoformats$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User profile ID associated with this request. + */ + profileId?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/dfareporting/v3.2.js b/express-server/node_modules/googleapis/build/src/apis/dfareporting/v3.2.js new file mode 100644 index 00000000..eba673f1 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dfareporting/v3.2.js @@ -0,0 +1,7342 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var dfareporting_v3_2; +(function (dfareporting_v3_2) { + /** + * DCM/DFA Reporting And Trafficking API + * + * Manages your DoubleClick Campaign Manager ad campaigns and reports. + * + * @example + * const {google} = require('googleapis'); + * const dfareporting = google.dfareporting('v3.2'); + * + * @namespace dfareporting + * @type {Function} + * @version v3.2 + * @variation v3.2 + * @param {object=} options Options for Dfareporting + */ + class Dfareporting { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.accountActiveAdSummaries = + new Resource$Accountactiveadsummaries(this); + this.accountPermissionGroups = new Resource$Accountpermissiongroups(this); + this.accountPermissions = new Resource$Accountpermissions(this); + this.accounts = new Resource$Accounts(this); + this.accountUserProfiles = new Resource$Accountuserprofiles(this); + this.ads = new Resource$Ads(this); + this.advertiserGroups = new Resource$Advertisergroups(this); + this.advertiserLandingPages = new Resource$Advertiserlandingpages(this); + this.advertisers = new Resource$Advertisers(this); + this.browsers = new Resource$Browsers(this); + this.campaignCreativeAssociations = + new Resource$Campaigncreativeassociations(this); + this.campaigns = new Resource$Campaigns(this); + this.changeLogs = new Resource$Changelogs(this); + this.cities = new Resource$Cities(this); + this.connectionTypes = new Resource$Connectiontypes(this); + this.contentCategories = new Resource$Contentcategories(this); + this.conversions = new Resource$Conversions(this); + this.countries = new Resource$Countries(this); + this.creativeAssets = new Resource$Creativeassets(this); + this.creativeFields = new Resource$Creativefields(this); + this.creativeFieldValues = new Resource$Creativefieldvalues(this); + this.creativeGroups = new Resource$Creativegroups(this); + this.creatives = new Resource$Creatives(this); + this.dimensionValues = new Resource$Dimensionvalues(this); + this.directorySiteContacts = new Resource$Directorysitecontacts(this); + this.directorySites = new Resource$Directorysites(this); + this.dynamicTargetingKeys = new Resource$Dynamictargetingkeys(this); + this.eventTags = new Resource$Eventtags(this); + this.files = new Resource$Files(this); + this.floodlightActivities = new Resource$Floodlightactivities(this); + this.floodlightActivityGroups = + new Resource$Floodlightactivitygroups(this); + this.floodlightConfigurations = + new Resource$Floodlightconfigurations(this); + this.inventoryItems = new Resource$Inventoryitems(this); + this.languages = new Resource$Languages(this); + this.metros = new Resource$Metros(this); + this.mobileApps = new Resource$Mobileapps(this); + this.mobileCarriers = new Resource$Mobilecarriers(this); + this.operatingSystems = new Resource$Operatingsystems(this); + this.operatingSystemVersions = new Resource$Operatingsystemversions(this); + this.orderDocuments = new Resource$Orderdocuments(this); + this.orders = new Resource$Orders(this); + this.placementGroups = new Resource$Placementgroups(this); + this.placements = new Resource$Placements(this); + this.placementStrategies = new Resource$Placementstrategies(this); + this.platformTypes = new Resource$Platformtypes(this); + this.postalCodes = new Resource$Postalcodes(this); + this.projects = new Resource$Projects(this); + this.regions = new Resource$Regions(this); + this.remarketingLists = new Resource$Remarketinglists(this); + this.remarketingListShares = new Resource$Remarketinglistshares(this); + this.reports = new Resource$Reports(this); + this.sites = new Resource$Sites(this); + this.sizes = new Resource$Sizes(this); + this.subaccounts = new Resource$Subaccounts(this); + this.targetableRemarketingLists = + new Resource$Targetableremarketinglists(this); + this.targetingTemplates = new Resource$Targetingtemplates(this); + this.userProfiles = new Resource$Userprofiles(this); + this.userRolePermissionGroups = + new Resource$Userrolepermissiongroups(this); + this.userRolePermissions = new Resource$Userrolepermissions(this); + this.userRoles = new Resource$Userroles(this); + this.videoFormats = new Resource$Videoformats(this); + } + getRoot() { + return this.root; + } + } + dfareporting_v3_2.Dfareporting = Dfareporting; + class Resource$Accountactiveadsummaries { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/accountActiveAdSummaries/{summaryAccountId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'summaryAccountId'], + pathParams: ['profileId', 'summaryAccountId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Accountactiveadsummaries = Resource$Accountactiveadsummaries; + class Resource$Accountpermissiongroups { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/accountPermissionGroups/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/accountPermissionGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Accountpermissiongroups = Resource$Accountpermissiongroups; + class Resource$Accountpermissions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/accountPermissions/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/accountPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Accountpermissions = Resource$Accountpermissions; + class Resource$Accounts { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/accounts/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/accounts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/accounts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/accounts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Accounts = Resource$Accounts; + class Resource$Accountuserprofiles { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/accountUserProfiles/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/accountUserProfiles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/accountUserProfiles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/accountUserProfiles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/accountUserProfiles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Accountuserprofiles = Resource$Accountuserprofiles; + class Resource$Ads { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/ads/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/dfareporting/v3.2/userprofiles/{profileId}/ads') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/dfareporting/v3.2/userprofiles/{profileId}/ads') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/dfareporting/v3.2/userprofiles/{profileId}/ads') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/dfareporting/v3.2/userprofiles/{profileId}/ads') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Ads = Resource$Ads; + class Resource$Advertisergroups { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/advertiserGroups/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/advertiserGroups/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/advertiserGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/advertiserGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/advertiserGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/advertiserGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Advertisergroups = Resource$Advertisergroups; + class Resource$Advertiserlandingpages { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/advertiserLandingPages/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/advertiserLandingPages') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/advertiserLandingPages') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/advertiserLandingPages') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/advertiserLandingPages') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Advertiserlandingpages = Resource$Advertiserlandingpages; + class Resource$Advertisers { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/advertisers/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/advertisers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/advertisers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/advertisers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/advertisers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Advertisers = Resource$Advertisers; + class Resource$Browsers { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/browsers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Browsers = Resource$Browsers; + class Resource$Campaigncreativeassociations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId', 'campaignId'], + pathParams: ['campaignId', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'campaignId'], + pathParams: ['campaignId', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Campaigncreativeassociations = Resource$Campaigncreativeassociations; + class Resource$Campaigns { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/campaigns/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/campaigns') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/campaigns') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/campaigns') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/campaigns') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Campaigns = Resource$Campaigns; + class Resource$Changelogs { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/changeLogs/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/changeLogs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Changelogs = Resource$Changelogs; + class Resource$Cities { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/cities') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Cities = Resource$Cities; + class Resource$Connectiontypes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/connectionTypes/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/connectionTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Connectiontypes = Resource$Connectiontypes; + class Resource$Contentcategories { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/contentCategories/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/contentCategories/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/contentCategories') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/contentCategories') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/contentCategories') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/contentCategories') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Contentcategories = Resource$Contentcategories; + class Resource$Conversions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + batchinsert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/conversions/batchinsert') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + batchupdate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/conversions/batchupdate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Conversions = Resource$Conversions; + class Resource$Countries { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/countries/{dartId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'dartId'], + pathParams: ['dartId', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/countries') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Countries = Resource$Countries; + class Resource$Creativeassets { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + mediaUrl: (rootUrl + + '/upload/dfareporting/v3.2/userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets') + .replace(/([^:]\/)\/+/g, '$1'), + requiredParams: ['profileId', 'advertiserId'], + pathParams: ['advertiserId', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Creativeassets = Resource$Creativeassets; + class Resource$Creativefields { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/creativeFields/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/creativeFields/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/creativeFields') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/creativeFields') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/creativeFields') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/creativeFields') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Creativefields = Resource$Creativefields; + class Resource$Creativefieldvalues { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['profileId', 'creativeFieldId', 'id'], + pathParams: ['creativeFieldId', 'id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'creativeFieldId', 'id'], + pathParams: ['creativeFieldId', 'id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId', 'creativeFieldId'], + pathParams: ['creativeFieldId', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'creativeFieldId'], + pathParams: ['creativeFieldId', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'creativeFieldId', 'id'], + pathParams: ['creativeFieldId', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId', 'creativeFieldId'], + pathParams: ['creativeFieldId', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Creativefieldvalues = Resource$Creativefieldvalues; + class Resource$Creativegroups { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/creativeGroups/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/creativeGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/creativeGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/creativeGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/creativeGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Creativegroups = Resource$Creativegroups; + class Resource$Creatives { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/creatives/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/creatives') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/creatives') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/creatives') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/creatives') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Creatives = Resource$Creatives; + class Resource$Dimensionvalues { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + query(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/dimensionvalues/query') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Dimensionvalues = Resource$Dimensionvalues; + class Resource$Directorysitecontacts { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/directorySiteContacts/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/directorySiteContacts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Directorysitecontacts = Resource$Directorysitecontacts; + class Resource$Directorysites { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/directorySites/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/directorySites') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/directorySites') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Directorysites = Resource$Directorysites; + class Resource$Dynamictargetingkeys { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/dynamicTargetingKeys/{objectId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['profileId', 'objectId', 'name', 'objectType'], + pathParams: ['objectId', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/dynamicTargetingKeys') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/dynamicTargetingKeys') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Dynamictargetingkeys = Resource$Dynamictargetingkeys; + class Resource$Eventtags { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/eventTags/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/eventTags/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/eventTags') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/eventTags') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/eventTags') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/eventTags') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Eventtags = Resource$Eventtags; + class Resource$Files { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/reports/{reportId}/files/{fileId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['reportId', 'fileId'], + pathParams: ['fileId', 'reportId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/files') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Files = Resource$Files; + class Resource$Floodlightactivities { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/floodlightActivities/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + generatetag(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/floodlightActivities/generatetag') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/floodlightActivities/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/floodlightActivities') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/floodlightActivities') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/floodlightActivities') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/floodlightActivities') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Floodlightactivities = Resource$Floodlightactivities; + class Resource$Floodlightactivitygroups { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/floodlightActivityGroups/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/floodlightActivityGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/floodlightActivityGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/floodlightActivityGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/floodlightActivityGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Floodlightactivitygroups = Resource$Floodlightactivitygroups; + class Resource$Floodlightconfigurations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/floodlightConfigurations/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/floodlightConfigurations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/floodlightConfigurations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/floodlightConfigurations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Floodlightconfigurations = Resource$Floodlightconfigurations; + class Resource$Inventoryitems { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/projects/{projectId}/inventoryItems/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'projectId', 'id'], + pathParams: ['id', 'profileId', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/projects/{projectId}/inventoryItems') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'projectId'], + pathParams: ['profileId', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Inventoryitems = Resource$Inventoryitems; + class Resource$Languages { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/languages') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Languages = Resource$Languages; + class Resource$Metros { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/metros') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Metros = Resource$Metros; + class Resource$Mobileapps { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/mobileApps/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/mobileApps') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Mobileapps = Resource$Mobileapps; + class Resource$Mobilecarriers { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/mobileCarriers/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/mobileCarriers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Mobilecarriers = Resource$Mobilecarriers; + class Resource$Operatingsystems { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/operatingSystems/{dartId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'dartId'], + pathParams: ['dartId', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/operatingSystems') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Operatingsystems = Resource$Operatingsystems; + class Resource$Operatingsystemversions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/operatingSystemVersions/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/operatingSystemVersions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Operatingsystemversions = Resource$Operatingsystemversions; + class Resource$Orderdocuments { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/projects/{projectId}/orderDocuments/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'projectId', 'id'], + pathParams: ['id', 'profileId', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/projects/{projectId}/orderDocuments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'projectId'], + pathParams: ['profileId', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Orderdocuments = Resource$Orderdocuments; + class Resource$Orders { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/projects/{projectId}/orders/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'projectId', 'id'], + pathParams: ['id', 'profileId', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/projects/{projectId}/orders') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'projectId'], + pathParams: ['profileId', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Orders = Resource$Orders; + class Resource$Placementgroups { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/placementGroups/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/placementGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/placementGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/placementGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/placementGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Placementgroups = Resource$Placementgroups; + class Resource$Placements { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + generatetags(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/placements/generatetags') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/placements/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/placements') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/placements') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/placements') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/placements') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Placements = Resource$Placements; + class Resource$Placementstrategies { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/placementStrategies/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/placementStrategies/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/placementStrategies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/placementStrategies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/placementStrategies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/placementStrategies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Placementstrategies = Resource$Placementstrategies; + class Resource$Platformtypes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/platformTypes/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/platformTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Platformtypes = Resource$Platformtypes; + class Resource$Postalcodes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/postalCodes/{code}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'code'], + pathParams: ['code', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/postalCodes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Postalcodes = Resource$Postalcodes; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/projects/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/projects') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Projects = Resource$Projects; + class Resource$Regions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/regions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Regions = Resource$Regions; + class Resource$Remarketinglists { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/remarketingLists/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/remarketingLists') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/remarketingLists') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'advertiserId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/remarketingLists') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/remarketingLists') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Remarketinglists = Resource$Remarketinglists; + class Resource$Remarketinglistshares { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/remarketingListShares/{remarketingListId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'remarketingListId'], + pathParams: ['profileId', 'remarketingListId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/remarketingListShares') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'remarketingListId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/remarketingListShares') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Remarketinglistshares = Resource$Remarketinglistshares; + class Resource$Reports { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.compatibleFields = new Resource$Reports$Compatiblefields(root); + this.files = new Resource$Reports$Files(root); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/reports/{reportId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['profileId', 'reportId'], + pathParams: ['profileId', 'reportId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/reports/{reportId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'reportId'], + pathParams: ['profileId', 'reportId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/reports') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/reports') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/reports/{reportId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'reportId'], + pathParams: ['profileId', 'reportId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + run(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/reports/{reportId}/run') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId', 'reportId'], + pathParams: ['profileId', 'reportId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/reports/{reportId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId', 'reportId'], + pathParams: ['profileId', 'reportId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Reports = Resource$Reports; + class Resource$Reports$Compatiblefields { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + query(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/reports/compatiblefields/query') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Reports$Compatiblefields = Resource$Reports$Compatiblefields; + class Resource$Reports$Files { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/reports/{reportId}/files/{fileId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'reportId', 'fileId'], + pathParams: ['fileId', 'profileId', 'reportId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/reports/{reportId}/files') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'reportId'], + pathParams: ['profileId', 'reportId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Reports$Files = Resource$Reports$Files; + class Resource$Sites { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/sites/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/sites') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/sites') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/sites') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/sites') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Sites = Resource$Sites; + class Resource$Sizes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/sizes/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/sizes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/sizes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Sizes = Resource$Sizes; + class Resource$Subaccounts { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/subaccounts/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/subaccounts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/subaccounts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/subaccounts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/subaccounts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Subaccounts = Resource$Subaccounts; + class Resource$Targetableremarketinglists { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/targetableRemarketingLists/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/targetableRemarketingLists') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'advertiserId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Targetableremarketinglists = Resource$Targetableremarketinglists; + class Resource$Targetingtemplates { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/targetingTemplates/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/targetingTemplates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/targetingTemplates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/targetingTemplates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/targetingTemplates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Targetingtemplates = Resource$Targetingtemplates; + class Resource$Userprofiles { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/dfareporting/v3.2/userprofiles/{profileId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/dfareporting/v3.2/userprofiles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Userprofiles = Resource$Userprofiles; + class Resource$Userrolepermissiongroups { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/userRolePermissionGroups/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/userRolePermissionGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Userrolepermissiongroups = Resource$Userrolepermissiongroups; + class Resource$Userrolepermissions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/userRolePermissions/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/userRolePermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Userrolepermissions = Resource$Userrolepermissions; + class Resource$Userroles { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/userRoles/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/userRoles/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/userRoles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/userRoles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/userRoles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/userRoles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Userroles = Resource$Userroles; + class Resource$Videoformats { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/videoFormats/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId', 'id'], + pathParams: ['id', 'profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dfareporting/v3.2/userprofiles/{profileId}/videoFormats') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['profileId'], + pathParams: ['profileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dfareporting_v3_2.Resource$Videoformats = Resource$Videoformats; +})(dfareporting_v3_2 = exports.dfareporting_v3_2 || (exports.dfareporting_v3_2 = {})); +//# sourceMappingURL=v3.2.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/dfareporting/v3.2.js.map b/express-server/node_modules/googleapis/build/src/apis/dfareporting/v3.2.js.map new file mode 100644 index 00000000..2c95daa8 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dfareporting/v3.2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v3.2.js","sourceRoot":"","sources":["../../../../src/apis/dfareporting/v3.2.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAIH,yDAA2H;AAE3H,yBAAyB;AACzB,6BAA6B;AAC7B,gCAAgC;AAChC,+BAA+B;AAC/B,+BAA+B;AAE/B,IAAiB,iBAAiB,CA012BjC;AA112BD,WAAiB,iBAAiB;IAKhC;;;;;;;;;;;;;;OAcG;IACH,MAAa,YAAY;QAmEvB,YAAY,OAAsB,EAAE,MAA2B;YAhE/D,SAAI,GAAG,IAAI,CAAC;YAiEV,IAAI,CAAC,QAAQ,GAAG,OAAO,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAExB,IAAI,CAAC,wBAAwB;gBACzB,IAAI,iCAAiC,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,CAAC,uBAAuB,GAAG,IAAI,gCAAgC,CAAC,IAAI,CAAC,CAAC;YAC1E,IAAI,CAAC,kBAAkB,GAAG,IAAI,2BAA2B,CAAC,IAAI,CAAC,CAAC;YAChE,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,CAAC,mBAAmB,GAAG,IAAI,4BAA4B,CAAC,IAAI,CAAC,CAAC;YAClE,IAAI,CAAC,GAAG,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,CAAC,gBAAgB,GAAG,IAAI,yBAAyB,CAAC,IAAI,CAAC,CAAC;YAC5D,IAAI,CAAC,sBAAsB,GAAG,IAAI,+BAA+B,CAAC,IAAI,CAAC,CAAC;YACxE,IAAI,CAAC,WAAW,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,CAAC,4BAA4B;gBAC7B,IAAI,qCAAqC,CAAC,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,SAAS,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,UAAU,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,CAAC,MAAM,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,CAAC,eAAe,GAAG,IAAI,wBAAwB,CAAC,IAAI,CAAC,CAAC;YAC1D,IAAI,CAAC,iBAAiB,GAAG,IAAI,0BAA0B,CAAC,IAAI,CAAC,CAAC;YAC9D,IAAI,CAAC,WAAW,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,CAAC,SAAS,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,cAAc,GAAG,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC;YACxD,IAAI,CAAC,cAAc,GAAG,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC;YACxD,IAAI,CAAC,mBAAmB,GAAG,IAAI,4BAA4B,CAAC,IAAI,CAAC,CAAC;YAClE,IAAI,CAAC,cAAc,GAAG,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC;YACxD,IAAI,CAAC,SAAS,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,eAAe,GAAG,IAAI,wBAAwB,CAAC,IAAI,CAAC,CAAC;YAC1D,IAAI,CAAC,qBAAqB,GAAG,IAAI,8BAA8B,CAAC,IAAI,CAAC,CAAC;YACtE,IAAI,CAAC,cAAc,GAAG,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC;YACxD,IAAI,CAAC,oBAAoB,GAAG,IAAI,6BAA6B,CAAC,IAAI,CAAC,CAAC;YACpE,IAAI,CAAC,SAAS,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,KAAK,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,CAAC,oBAAoB,GAAG,IAAI,6BAA6B,CAAC,IAAI,CAAC,CAAC;YACpE,IAAI,CAAC,wBAAwB;gBACzB,IAAI,iCAAiC,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,CAAC,wBAAwB;gBACzB,IAAI,iCAAiC,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,CAAC,cAAc,GAAG,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC;YACxD,IAAI,CAAC,SAAS,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,MAAM,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,CAAC,UAAU,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,CAAC,cAAc,GAAG,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC;YACxD,IAAI,CAAC,gBAAgB,GAAG,IAAI,yBAAyB,CAAC,IAAI,CAAC,CAAC;YAC5D,IAAI,CAAC,uBAAuB,GAAG,IAAI,gCAAgC,CAAC,IAAI,CAAC,CAAC;YAC1E,IAAI,CAAC,cAAc,GAAG,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC;YACxD,IAAI,CAAC,MAAM,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,CAAC,eAAe,GAAG,IAAI,wBAAwB,CAAC,IAAI,CAAC,CAAC;YAC1D,IAAI,CAAC,UAAU,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,CAAC,mBAAmB,GAAG,IAAI,4BAA4B,CAAC,IAAI,CAAC,CAAC;YAClE,IAAI,CAAC,aAAa,GAAG,IAAI,sBAAsB,CAAC,IAAI,CAAC,CAAC;YACtD,IAAI,CAAC,WAAW,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,CAAC,OAAO,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,CAAC,gBAAgB,GAAG,IAAI,yBAAyB,CAAC,IAAI,CAAC,CAAC;YAC5D,IAAI,CAAC,qBAAqB,GAAG,IAAI,8BAA8B,CAAC,IAAI,CAAC,CAAC;YACtE,IAAI,CAAC,OAAO,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,CAAC,KAAK,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,CAAC,KAAK,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,CAAC,WAAW,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,CAAC,0BAA0B;gBAC3B,IAAI,mCAAmC,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,CAAC,kBAAkB,GAAG,IAAI,2BAA2B,CAAC,IAAI,CAAC,CAAC;YAChE,IAAI,CAAC,YAAY,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,wBAAwB;gBACzB,IAAI,iCAAiC,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,CAAC,mBAAmB,GAAG,IAAI,4BAA4B,CAAC,IAAI,CAAC,CAAC;YAClE,IAAI,CAAC,SAAS,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,YAAY,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACtD,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;KACF;IAhJY,8BAAY,eAgJxB,CAAA;IAgyOD,MAAa,iCAAiC;QAE5C,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAyBD,GAAG,CAAC,gBACmD,EACnD,iBACmD,EACnD,QAA8D;YAEhE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACY,CAAC;YACjD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkD,CAAC;gBAC5D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,yFAAyF,CAAC;yBACtF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,kBAAkB,CAAC;gBACjD,UAAU,EAAE,CAAC,WAAW,EAAE,kBAAkB,CAAC;gBAC7C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvE;iBAAM;gBACL,OAAO,oCAAgB,CAAgC,UAAU,CAAC,CAAC;aACpE;QACH,CAAC;KACF;IA7EY,mDAAiC,oCA6E7C,CAAA;IAmBD,MAAa,gCAAgC;QAE3C,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAyBD,GAAG,CAAC,gBACmD,EACnD,iBACmD,EACnD,QAA8D;YAEhE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACW,CAAC;YAChD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiD,CAAC;gBAC3D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,0EAA0E,CAAC;yBACvE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvE;iBAAM;gBACL,OAAO,oCAAgB,CAAgC,UAAU,CAAC,CAAC;aACpE;QACH,CAAC;QAkCD,IAAI,CACA,gBACgE,EAChE,iBACgE,EAChE,QACoE;YAEtE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACY,CAAC;YACjD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkD,CAAC;gBAC5D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,qEAAqE,CAAC;yBAClE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;KACF;IA7JY,kDAAgC,mCA6J5C,CAAA;IA8BD,MAAa,2BAA2B;QAEtC,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAwBD,GAAG,CAAC,gBAC8C,EAC9C,iBAC8C,EAC9C,QAAyD;YAE3D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA2C,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4C,CAAC;gBACtD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,qEAAqE,CAAC;yBAClE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA2B,UAAU,EAAE,QAAQ,CAAC,CAAC;aAClE;iBAAM;gBACL,OAAO,oCAAgB,CAA2B,UAAU,CAAC,CAAC;aAC/D;QACH,CAAC;QA+BD,IAAI,CACA,gBAC2D,EAC3D,iBAC2D,EAC3D,QAAsE;YAExE,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA4C,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6C,CAAC;gBACvD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,gEAAgE,CAAC;yBAC7D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;KACF;IAxJY,6CAA2B,8BAwJvC,CAAA;IA8BD,MAAa,iBAAiB;QAE5B,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAwBD,GAAG,CAAC,gBACoC,EACpC,iBAAsE,EACtE,QAA+C;YAEjD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAiC,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkC,CAAC;gBAC5C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,2DAA2D,CAAC;yBACxD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxD;iBAAM;gBACL,OAAO,oCAAgB,CAAiB,UAAU,CAAC,CAAC;aACrD;QACH,CAAC;QAkCD,IAAI,CACA,gBACiD,EACjD,iBACiD,EACjD,QAA4D;YAE9D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAkC,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmC,CAAC;gBAC7C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,sDAAsD,CAAC;yBACnD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA8B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrE;iBAAM;gBACL,OAAO,oCAAgB,CAA8B,UAAU,CAAC,CAAC;aAClE;QACH,CAAC;QA2BD,KAAK,CACD,gBACoC,EACpC,iBAAsE,EACtE,QAA+C;YAEjD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoC,CAAC;gBAC9C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,sDAAsD,CAAC;yBACnD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxD;iBAAM;gBACL,OAAO,oCAAgB,CAAiB,UAAU,CAAC,CAAC;aACrD;QACH,CAAC;QA0BD,MAAM,CACF,gBACoC,EACpC,iBAAsE,EACtE,QAA+C;YAEjD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAoC,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqC,CAAC;gBAC/C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,sDAAsD,CAAC;yBACnD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxD;iBAAM;gBACL,OAAO,oCAAgB,CAAiB,UAAU,CAAC,CAAC;aACrD;QACH,CAAC;KACF;IAzRY,mCAAiB,oBAyR7B,CAAA;IAoGD,MAAa,4BAA4B;QAEvC,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAwBD,GAAG,CAAC,gBAC+C,EAC/C,iBAC+C,EAC/C,QAA0D;YAE5D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA4C,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6C,CAAC;gBACvD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,sEAAsE,CAAC;yBACnE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA4B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACnE;iBAAM;gBACL,OAAO,oCAAgB,CAA4B,UAAU,CAAC,CAAC;aAChE;QACH,CAAC;QA2BD,MAAM,CACF,gBAC+C,EAC/C,iBAC+C,EAC/C,QAA0D;YAE5D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACU,CAAC;YAC/C,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgD,CAAC;gBAC1D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,iEAAiE,CAAC;yBAC9D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA4B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACnE;iBAAM;gBACL,OAAO,oCAAgB,CAA4B,UAAU,CAAC,CAAC;aAChE;QACH,CAAC;QA0CD,IAAI,CACA,gBAC4D,EAC5D,iBAC4D,EAC5D,QACgE;YAElE,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA6C,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8C,CAAC;gBACxD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,iEAAiE,CAAC;yBAC9D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;QA6BD,KAAK,CACD,gBAC+C,EAC/C,iBAC+C,EAC/C,QAA0D;YAE5D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA8C,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA+C,CAAC;gBACzD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,iEAAiE,CAAC;yBAC9D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA4B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACnE;iBAAM;gBACL,OAAO,oCAAgB,CAA4B,UAAU,CAAC,CAAC;aAChE;QACH,CAAC;QA2BD,MAAM,CACF,gBAC+C,EAC/C,iBAC+C,EAC/C,QAA0D;YAE5D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACU,CAAC;YAC/C,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgD,CAAC;gBAC1D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,iEAAiE,CAAC;yBAC9D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA4B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACnE;iBAAM;gBACL,OAAO,oCAAgB,CAA4B,UAAU,CAAC,CAAC;aAChE;QACH,CAAC;KACF;IAxXY,8CAA4B,+BAwXxC,CAAA;IA4HD,MAAa,YAAY;QAEvB,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAwBD,GAAG,CAAC,gBAC+B,EAC/B,iBAAiE,EACjE,QAA0C;YAE5C,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAA4B,CAAC;YACjE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6B,CAAC;gBACvC,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,sDAAsD,CAAC;yBACnD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAY,UAAU,EAAE,QAAQ,CAAC,CAAC;aACnD;iBAAM;gBACL,OAAO,oCAAgB,CAAY,UAAU,CAAC,CAAC;aAChD;QACH,CAAC;QA0BD,MAAM,CACF,gBAC+B,EAC/B,iBAAiE,EACjE,QAA0C;YAE5C,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAA+B,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgC,CAAC;gBAC1C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,iDAAiD,CAAC;yBACxD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAY,UAAU,EAAE,QAAQ,CAAC,CAAC;aACnD;iBAAM;gBACL,OAAO,oCAAgB,CAAY,UAAU,CAAC,CAAC;aAChD;QACH,CAAC;QAiDD,IAAI,CACA,gBAC4C,EAC5C,iBAC4C,EAC5C,QAAuD;YAEzD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAA6B,CAAC;YAClE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8B,CAAC;gBACxC,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,iDAAiD,CAAC;yBACxD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAyB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAChE;iBAAM;gBACL,OAAO,oCAAgB,CAAyB,UAAU,CAAC,CAAC;aAC7D;QACH,CAAC;QA2BD,KAAK,CACD,gBAC+B,EAC/B,iBAAiE,EACjE,QAA0C;YAE5C,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAA8B,CAAC;YACnE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA+B,CAAC;gBACzC,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,iDAAiD,CAAC;yBACxD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAY,UAAU,EAAE,QAAQ,CAAC,CAAC;aACnD;iBAAM;gBACL,OAAO,oCAAgB,CAAY,UAAU,CAAC,CAAC;aAChD;QACH,CAAC;QA0BD,MAAM,CACF,gBAC+B,EAC/B,iBAAiE,EACjE,QAA0C;YAE5C,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAA+B,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgC,CAAC;gBAC1C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,iDAAiD,CAAC;yBACxD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAY,UAAU,EAAE,QAAQ,CAAC,CAAC;aACnD;iBAAM;gBACL,OAAO,oCAAgB,CAAY,UAAU,CAAC,CAAC;aAChD;QACH,CAAC;KACF;IAtWY,8BAAY,eAsWxB,CAAA;IA2LD,MAAa,yBAAyB;QAEpC,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA2BD,MAAM,CACF,gBAC0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA4C,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6C,CAAC;gBACvD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,mEAAmE,CAAC;yBAChE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;QAwBD,GAAG,CAAC,gBAC4C,EAC5C,iBAC4C,EAC5C,QAAuD;YAEzD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAyC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0C,CAAC;gBACpD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,mEAAmE,CAAC;yBAChE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAyB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAChE;iBAAM;gBACL,OAAO,oCAAgB,CAAyB,UAAU,CAAC,CAAC;aAC7D;QACH,CAAC;QA2BD,MAAM,CACF,gBAC4C,EAC5C,iBAC4C,EAC5C,QAAuD;YAEzD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA4C,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6C,CAAC;gBACvD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,8DAA8D,CAAC;yBAC3D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAyB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAChE;iBAAM;gBACL,OAAO,oCAAgB,CAAyB,UAAU,CAAC,CAAC;aAC7D;QACH,CAAC;QAsCD,IAAI,CACA,gBACyD,EACzD,iBACyD,EACzD,QAAoE;YAEtE,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,8DAA8D,CAAC;yBAC3D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;QA6BD,KAAK,CACD,gBAC4C,EAC5C,iBAC4C,EAC5C,QAAuD;YAEzD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA2C,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4C,CAAC;gBACtD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,8DAA8D,CAAC;yBAC3D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAyB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAChE;iBAAM;gBACL,OAAO,oCAAgB,CAAyB,UAAU,CAAC,CAAC;aAC7D;QACH,CAAC;QA2BD,MAAM,CACF,gBAC4C,EAC5C,iBAC4C,EAC5C,QAAuD;YAEzD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA4C,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6C,CAAC;gBACvD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,8DAA8D,CAAC;yBAC3D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAyB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAChE;iBAAM;gBACL,OAAO,oCAAgB,CAAyB,UAAU,CAAC,CAAC;aAC7D;QACH,CAAC;KACF;IAvbY,2CAAyB,4BAubrC,CAAA;IA+HD,MAAa,+BAA+B;QAE1C,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAwBD,GAAG,CAAC,gBACwC,EACxC,iBACwC,EACxC,QAAmD;YAErD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACU,CAAC;YAC/C,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgD,CAAC;gBAC1D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,yEAAyE,CAAC;yBACtE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAqB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC5D;iBAAM;gBACL,OAAO,oCAAgB,CAAqB,UAAU,CAAC,CAAC;aACzD;QACH,CAAC;QA2BD,MAAM,CACF,gBACwC,EACxC,iBACwC,EACxC,QAAmD;YAErD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACa,CAAC;YAClD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmD,CAAC;gBAC7D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,oEAAoE,CAAC;yBACjE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAqB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC5D;iBAAM;gBACL,OAAO,oCAAgB,CAAqB,UAAU,CAAC,CAAC;aACzD;QACH,CAAC;QA4CD,IAAI,CACA,gBAC+D,EAC/D,iBAC+D,EAC/D,QACmE;YAErE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACW,CAAC;YAChD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiD,CAAC;gBAC3D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,oEAAoE,CAAC;yBACjE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;QA6BD,KAAK,CACD,gBACwC,EACxC,iBACwC,EACxC,QAAmD;YAErD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACY,CAAC;YACjD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkD,CAAC;gBAC5D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,oEAAoE,CAAC;yBACjE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAqB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC5D;iBAAM;gBACL,OAAO,oCAAgB,CAAqB,UAAU,CAAC,CAAC;aACzD;QACH,CAAC;QA2BD,MAAM,CACF,gBACwC,EACxC,iBACwC,EACxC,QAAmD;YAErD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACa,CAAC;YAClD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmD,CAAC;gBAC7D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,oEAAoE,CAAC;yBACjE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAqB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC5D;iBAAM;gBACL,OAAO,oCAAgB,CAAqB,UAAU,CAAC,CAAC;aACzD;QACH,CAAC;KACF;IA1XY,iDAA+B,kCA0X3C,CAAA;IAiID,MAAa,oBAAoB;QAE/B,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAwBD,GAAG,CAAC,gBACuC,EACvC,iBACuC,EACvC,QAAkD;YAEpD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAoC,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqC,CAAC;gBAC/C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,8DAA8D,CAAC;yBAC3D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAoB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3D;iBAAM;gBACL,OAAO,oCAAgB,CAAoB,UAAU,CAAC,CAAC;aACxD;QACH,CAAC;QA2BD,MAAM,CACF,gBACuC,EACvC,iBACuC,EACvC,QAAkD;YAEpD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAuC,CAAC;YACnE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwC,CAAC;gBAClD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,yDAAyD,CAAC;yBACtD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAoB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3D;iBAAM;gBACL,OAAO,oCAAgB,CAAoB,UAAU,CAAC,CAAC;aACxD;QACH,CAAC;QAuCD,IAAI,CACA,gBACoD,EACpD,iBACoD,EACpD,QAA+D;YAEjE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAqC,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsC,CAAC;gBAChD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,yDAAyD,CAAC;yBACtD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxE;iBAAM;gBACL,OAAO,oCAAgB,CAAiC,UAAU,CAAC,CAAC;aACrE;QACH,CAAC;QA4BD,KAAK,CACD,gBACuC,EACvC,iBACuC,EACvC,QAAkD;YAEpD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAsC,CAAC;YAClE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAuC,CAAC;gBACjD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,yDAAyD,CAAC;yBACtD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAoB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3D;iBAAM;gBACL,OAAO,oCAAgB,CAAoB,UAAU,CAAC,CAAC;aACxD;QACH,CAAC;QA2BD,MAAM,CACF,gBACuC,EACvC,iBACuC,EACvC,QAAkD;YAEpD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAuC,CAAC;YACnE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwC,CAAC;gBAClD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,yDAAyD,CAAC;yBACtD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAoB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3D;iBAAM;gBACL,OAAO,oCAAgB,CAAoB,UAAU,CAAC,CAAC;aACxD;QACH,CAAC;KACF;IA3WY,sCAAoB,uBA2WhC,CAAA;IAyID,MAAa,iBAAiB;QAE5B,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA0BD,IAAI,CACA,gBACiD,EACjD,iBACiD,EACjD,QAA4D;YAE9D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAkC,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmC,CAAC;gBAC7C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,sDAAsD,CAAC;yBACnD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA8B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrE;iBAAM;gBACL,OAAO,oCAAgB,CAA8B,UAAU,CAAC,CAAC;aAClE;QACH,CAAC;KACF;IA7EY,mCAAiB,oBA6E7B,CAAA;IAeD,MAAa,qCAAqC;QAEhD,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAmCD,MAAM,CACF,gBACwD,EACxD,iBACwD,EACxD,QAAmE;YAErE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACmB,CAAC;YACxD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAyD,CAAC;gBACnE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,iGAAiG,CAAC;yBAC9F,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;gBAC3C,UAAU,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC;gBACvC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CAAqC,UAAU,CAAC,CAAC;aACzE;QACH,CAAC;QAoCD,IAAI,CACA,gBACqE,EACrE,iBACqE,EACrE,QACoD;YAEtD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACiB,CAAC;YACtD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAuD,CAAC;gBACjE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,iGAAiG,CAAC;yBAC9F,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;gBAC3C,UAAU,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC;gBACvC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CAC8B,UAAU,CAAC,CAAC;aAClE;QACH,CAAC;KACF;IA3KY,uDAAqC,wCA2KjD,CAAA;IAmDD,MAAa,kBAAkB;QAE7B,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAwBD,GAAG,CAAC,gBACqC,EACrC,iBAAuE,EACvE,QAAgD;YAElD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAkC,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmC,CAAC;gBAC7C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4DAA4D,CAAC;yBACzD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzD;iBAAM;gBACL,OAAO,oCAAgB,CAAkB,UAAU,CAAC,CAAC;aACtD;QACH,CAAC;QA0BD,MAAM,CACF,gBACqC,EACrC,iBAAuE,EACvE,QAAgD;YAElD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAqC,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsC,CAAC;gBAChD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,uDAAuD,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzD;iBAAM;gBACL,OAAO,oCAAgB,CAAkB,UAAU,CAAC,CAAC;aACtD;QACH,CAAC;QAwCD,IAAI,CACA,gBACkD,EAClD,iBACkD,EAClD,QAA6D;YAE/D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoC,CAAC;gBAC9C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,uDAAuD,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA+B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtE;iBAAM;gBACL,OAAO,oCAAgB,CAA+B,UAAU,CAAC,CAAC;aACnE;QACH,CAAC;QA2BD,KAAK,CACD,gBACqC,EACrC,iBAAuE,EACvE,QAAgD;YAElD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAoC,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqC,CAAC;gBAC/C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,uDAAuD,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzD;iBAAM;gBACL,OAAO,oCAAgB,CAAkB,UAAU,CAAC,CAAC;aACtD;QACH,CAAC;QA0BD,MAAM,CACF,gBACqC,EACrC,iBAAuE,EACvE,QAAgD;YAElD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAqC,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsC,CAAC;gBAChD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,uDAAuD,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzD;iBAAM;gBACL,OAAO,oCAAgB,CAAkB,UAAU,CAAC,CAAC;aACtD;QACH,CAAC;KACF;IAlWY,oCAAkB,qBAkW9B,CAAA;IA8ID,MAAa,mBAAmB;QAE9B,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAwBD,GAAG,CAAC,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoC,CAAC;gBAC9C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,6DAA6D,CAAC;yBAC1D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAoCD,IAAI,CACA,gBACmD,EACnD,iBACmD,EACnD,QAA8D;YAEhE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAoC,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqC,CAAC;gBAC/C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,wDAAwD,CAAC;yBACrD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvE;iBAAM;gBACL,OAAO,oCAAgB,CAAgC,UAAU,CAAC,CAAC;aACpE;QACH,CAAC;KACF;IAxJY,qCAAmB,sBAwJ/B,CAAA;IAiFD,MAAa,eAAe;QAE1B,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA6BD,IAAI,CACA,gBAC+C,EAC/C,iBAC+C,EAC/C,QAA0D;YAE5D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAgC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiC,CAAC;gBAC3C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,oDAAoD,CAAC;yBACjD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA4B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACnE;iBAAM;gBACL,OAAO,oCAAgB,CAA4B,UAAU,CAAC,CAAC;aAChE;QACH,CAAC;KACF;IAhFY,iCAAe,kBAgF3B,CAAA;IA+BD,MAAa,wBAAwB;QAEnC,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAwBD,GAAG,CAAC,gBAC2C,EAC3C,iBAC2C,EAC3C,QAAsD;YAExD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAwC,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAyC,CAAC;gBACnD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kEAAkE,CAAC;yBAC/D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAwB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC/D;iBAAM;gBACL,OAAO,oCAAgB,CAAwB,UAAU,CAAC,CAAC;aAC5D;QACH,CAAC;QA8BD,IAAI,CACA,gBACwD,EACxD,iBACwD,EACxD,QAAmE;YAErE,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAyC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0C,CAAC;gBACpD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,6DAA6D,CAAC;yBAC1D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CAAqC,UAAU,CAAC,CAAC;aACzE;QACH,CAAC;KACF;IAtJY,0CAAwB,2BAsJpC,CAAA;IA8BD,MAAa,0BAA0B;QAErC,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA2BD,MAAM,CACF,gBAC0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA6C,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8C,CAAC;gBACxD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,oEAAoE,CAAC;yBACjE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;QAwBD,GAAG,CAAC,gBAC4C,EAC5C,iBAC4C,EAC5C,QAAuD;YAEzD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,oEAAoE,CAAC;yBACjE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAyB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAChE;iBAAM;gBACL,OAAO,oCAAgB,CAAyB,UAAU,CAAC,CAAC;aAC7D;QACH,CAAC;QA2BD,MAAM,CACF,gBAC4C,EAC5C,iBAC4C,EAC5C,QAAuD;YAEzD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA6C,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8C,CAAC;gBACxD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,+DAA+D,CAAC;yBAC5D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAyB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAChE;iBAAM;gBACL,OAAO,oCAAgB,CAAyB,UAAU,CAAC,CAAC;aAC7D;QACH,CAAC;QAsCD,IAAI,CACA,gBAC0D,EAC1D,iBAC0D,EAC1D,QAAqE;YAEvE,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA2C,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4C,CAAC;gBACtD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,+DAA+D,CAAC;yBAC5D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;QA6BD,KAAK,CACD,gBAC4C,EAC5C,iBAC4C,EAC5C,QAAuD;YAEzD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA4C,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6C,CAAC;gBACvD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,+DAA+D,CAAC;yBAC5D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAyB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAChE;iBAAM;gBACL,OAAO,oCAAgB,CAAyB,UAAU,CAAC,CAAC;aAC7D;QACH,CAAC;QA2BD,MAAM,CACF,gBAC4C,EAC5C,iBAC4C,EAC5C,QAAuD;YAEzD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA6C,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8C,CAAC;gBACxD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,+DAA+D,CAAC;yBAC5D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAyB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAChE;iBAAM;gBACL,OAAO,oCAAgB,CAAyB,UAAU,CAAC,CAAC;aAC7D;QACH,CAAC;KACF;IAvbY,4CAA0B,6BAubtC,CAAA;IA+HD,MAAa,oBAAoB;QAE/B,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAiCD,WAAW,CACP,gBAC2D,EAC3D,iBAC2D,EAC3D,QAAsE;YAExE,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA4C,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6C,CAAC;gBACvD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,qEAAqE,CAAC;yBAClE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;QAiCD,WAAW,CACP,gBAC2D,EAC3D,iBAC2D,EAC3D,QAAsE;YAExE,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA4C,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6C,CAAC;gBACvD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,qEAAqE,CAAC;yBAClE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;KACF;IAtKY,sCAAoB,uBAsKhC,CAAA;IAoCD,MAAa,kBAAkB;QAE7B,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAwBD,GAAG,CAAC,gBACoC,EACpC,iBAAsE,EACtE,QAA+C;YAEjD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAkC,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmC,CAAC;gBAC7C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,gEAAgE,CAAC;yBAC7D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC;gBACvC,UAAU,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC;gBACnC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxD;iBAAM;gBACL,OAAO,oCAAgB,CAAiB,UAAU,CAAC,CAAC;aACrD;QACH,CAAC;QA0BD,IAAI,CACA,gBACkD,EAClD,iBACkD,EAClD,QAA6D;YAE/D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoC,CAAC;gBAC9C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,uDAAuD,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA+B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtE;iBAAM;gBACL,OAAO,oCAAgB,CAA+B,UAAU,CAAC,CAAC;aACnE;QACH,CAAC;KACF;IA7IY,oCAAkB,qBA6I9B,CAAA;IA8BD,MAAa,uBAAuB;QAElC,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAgCD,MAAM,CACF,gBACkD,EAClD,iBACkD,EAClD,QAA6D;YAE/D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,0FAA0F,CAAC;yBACvF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,QAAQ,EACJ,CAAC,OAAO;oBACP,iGAAiG,CAAC;qBAC9F,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;gBACtC,cAAc,EAAE,CAAC,WAAW,EAAE,cAAc,CAAC;gBAC7C,UAAU,EAAE,CAAC,cAAc,EAAE,WAAW,CAAC;gBACzC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA+B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtE;iBAAM;gBACL,OAAO,oCAAgB,CAA+B,UAAU,CAAC,CAAC;aACnE;QACH,CAAC;KACF;IAzFY,yCAAuB,0BAyFnC,CAAA;IAuCD,MAAa,uBAAuB;QAElC,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA2BD,MAAM,CACF,gBAC0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,iEAAiE,CAAC;yBAC9D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;QAwBD,GAAG,CAAC,gBAC0C,EAC1C,iBAC0C,EAC1C,QAAqD;YAEvD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAuC,CAAC;YACnE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwC,CAAC;gBAClD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,iEAAiE,CAAC;yBAC9D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAuB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9D;iBAAM;gBACL,OAAO,oCAAgB,CAAuB,UAAU,CAAC,CAAC;aAC3D;QACH,CAAC;QA2BD,MAAM,CACF,gBAC0C,EAC1C,iBAC0C,EAC1C,QAAqD;YAEvD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4DAA4D,CAAC;yBACzD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAuB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9D;iBAAM;gBACL,OAAO,oCAAgB,CAAuB,UAAU,CAAC,CAAC;aAC3D;QACH,CAAC;QAqCD,IAAI,CACA,gBACuD,EACvD,iBACuD,EACvD,QAAkE;YAEpE,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAwC,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAyC,CAAC;gBACnD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4DAA4D,CAAC;yBACzD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CAAoC,UAAU,CAAC,CAAC;aACxE;QACH,CAAC;QA6BD,KAAK,CACD,gBAC0C,EAC1C,iBAC0C,EAC1C,QAAqD;YAEvD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAyC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0C,CAAC;gBACpD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4DAA4D,CAAC;yBACzD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAuB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9D;iBAAM;gBACL,OAAO,oCAAgB,CAAuB,UAAU,CAAC,CAAC;aAC3D;QACH,CAAC;QA2BD,MAAM,CACF,gBAC0C,EAC1C,iBAC0C,EAC1C,QAAqD;YAEvD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4DAA4D,CAAC;yBACzD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAuB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9D;iBAAM;gBACL,OAAO,oCAAgB,CAAuB,UAAU,CAAC,CAAC;aAC3D;QACH,CAAC;KACF;IArbY,yCAAuB,0BAqbnC,CAAA;IAmID,MAAa,4BAA4B;QAEvC,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA4BD,MAAM,CACF,gBAC0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACU,CAAC;YAC/C,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgD,CAAC;gBAC1D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,uGAAuG,CAAC;yBACpG,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,iBAAiB,EAAE,IAAI,CAAC;gBACtD,UAAU,EAAE,CAAC,iBAAiB,EAAE,IAAI,EAAE,WAAW,CAAC;gBAClD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;QAyBD,GAAG,CAAC,gBAC+C,EAC/C,iBAC+C,EAC/C,QAA0D;YAE5D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA4C,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6C,CAAC;gBACvD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,uGAAuG,CAAC;yBACpG,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,iBAAiB,EAAE,IAAI,CAAC;gBACtD,UAAU,EAAE,CAAC,iBAAiB,EAAE,IAAI,EAAE,WAAW,CAAC;gBAClD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA4B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACnE;iBAAM;gBACL,OAAO,oCAAgB,CAA4B,UAAU,CAAC,CAAC;aAChE;QACH,CAAC;QA4BD,MAAM,CACF,gBAC+C,EAC/C,iBAC+C,EAC/C,QAA0D;YAE5D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACU,CAAC;YAC/C,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgD,CAAC;gBAC1D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kGAAkG,CAAC;yBAC/F,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC;gBAChD,UAAU,EAAE,CAAC,iBAAiB,EAAE,WAAW,CAAC;gBAC5C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA4B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACnE;iBAAM;gBACL,OAAO,oCAAgB,CAA4B,UAAU,CAAC,CAAC;aAChE;QACH,CAAC;QAwCD,IAAI,CACA,gBAC4D,EAC5D,iBAC4D,EAC5D,QACgE;YAElE,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA6C,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8C,CAAC;gBACxD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kGAAkG,CAAC;yBAC/F,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC;gBAChD,UAAU,EAAE,CAAC,iBAAiB,EAAE,WAAW,CAAC;gBAC5C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;QA8BD,KAAK,CACD,gBAC+C,EAC/C,iBAC+C,EAC/C,QAA0D;YAE5D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA8C,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA+C,CAAC;gBACzD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kGAAkG,CAAC;yBAC/F,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,iBAAiB,EAAE,IAAI,CAAC;gBACtD,UAAU,EAAE,CAAC,iBAAiB,EAAE,WAAW,CAAC;gBAC5C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA4B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACnE;iBAAM;gBACL,OAAO,oCAAgB,CAA4B,UAAU,CAAC,CAAC;aAChE;QACH,CAAC;QA4BD,MAAM,CACF,gBAC+C,EAC/C,iBAC+C,EAC/C,QAA0D;YAE5D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACU,CAAC;YAC/C,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgD,CAAC;gBAC1D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kGAAkG,CAAC;yBAC/F,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC;gBAChD,UAAU,EAAE,CAAC,iBAAiB,EAAE,WAAW,CAAC;gBAC5C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA4B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACnE;iBAAM;gBACL,OAAO,oCAAgB,CAA4B,UAAU,CAAC,CAAC;aAChE;QACH,CAAC;KACF;IA/bY,8CAA4B,+BA+bxC,CAAA;IAkJD,MAAa,uBAAuB;QAElC,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAwBD,GAAG,CAAC,gBAC0C,EAC1C,iBAC0C,EAC1C,QAAqD;YAEvD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAuC,CAAC;YACnE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwC,CAAC;gBAClD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,iEAAiE,CAAC;yBAC9D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAuB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9D;iBAAM;gBACL,OAAO,oCAAgB,CAAuB,UAAU,CAAC,CAAC;aAC3D;QACH,CAAC;QA2BD,MAAM,CACF,gBAC0C,EAC1C,iBAC0C,EAC1C,QAAqD;YAEvD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4DAA4D,CAAC;yBACzD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAuB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9D;iBAAM;gBACL,OAAO,oCAAgB,CAAuB,UAAU,CAAC,CAAC;aAC3D;QACH,CAAC;QAsCD,IAAI,CACA,gBACuD,EACvD,iBACuD,EACvD,QAAkE;YAEpE,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAwC,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAyC,CAAC;gBACnD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4DAA4D,CAAC;yBACzD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CAAoC,UAAU,CAAC,CAAC;aACxE;QACH,CAAC;QA6BD,KAAK,CACD,gBAC0C,EAC1C,iBAC0C,EAC1C,QAAqD;YAEvD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAyC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0C,CAAC;gBACpD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4DAA4D,CAAC;yBACzD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAuB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9D;iBAAM;gBACL,OAAO,oCAAgB,CAAuB,UAAU,CAAC,CAAC;aAC3D;QACH,CAAC;QA2BD,MAAM,CACF,gBAC0C,EAC1C,iBAC0C,EAC1C,QAAqD;YAEvD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4DAA4D,CAAC;yBACzD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAuB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9D;iBAAM;gBACL,OAAO,oCAAgB,CAAuB,UAAU,CAAC,CAAC;aAC3D;QACH,CAAC;KACF;IAlXY,yCAAuB,0BAkXnC,CAAA;IAwHD,MAAa,kBAAkB;QAE7B,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAwBD,GAAG,CAAC,gBACqC,EACrC,iBAAuE,EACvE,QAAgD;YAElD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAkC,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmC,CAAC;gBAC7C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4DAA4D,CAAC;yBACzD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzD;iBAAM;gBACL,OAAO,oCAAgB,CAAkB,UAAU,CAAC,CAAC;aACtD;QACH,CAAC;QA0BD,MAAM,CACF,gBACqC,EACrC,iBAAuE,EACvE,QAAgD;YAElD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAqC,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsC,CAAC;gBAChD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,uDAAuD,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzD;iBAAM;gBACL,OAAO,oCAAgB,CAAkB,UAAU,CAAC,CAAC;aACtD;QACH,CAAC;QA2CD,IAAI,CACA,gBACkD,EAClD,iBACkD,EAClD,QAA6D;YAE/D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoC,CAAC;gBAC9C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,uDAAuD,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA+B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtE;iBAAM;gBACL,OAAO,oCAAgB,CAA+B,UAAU,CAAC,CAAC;aACnE;QACH,CAAC;QA2BD,KAAK,CACD,gBACqC,EACrC,iBAAuE,EACvE,QAAgD;YAElD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAoC,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqC,CAAC;gBAC/C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,uDAAuD,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzD;iBAAM;gBACL,OAAO,oCAAgB,CAAkB,UAAU,CAAC,CAAC;aACtD;QACH,CAAC;QA0BD,MAAM,CACF,gBACqC,EACrC,iBAAuE,EACvE,QAAgD;YAElD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAqC,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsC,CAAC;gBAChD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,uDAAuD,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzD;iBAAM;gBACL,OAAO,oCAAgB,CAAkB,UAAU,CAAC,CAAC;aACtD;QACH,CAAC;KACF;IArWY,oCAAkB,qBAqW9B,CAAA;IA0JD,MAAa,wBAAwB;QAEnC,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA6BD,KAAK,CACD,gBAC+C,EAC/C,iBAC+C,EAC/C,QAA0D;YAE5D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,mEAAmE,CAAC;yBAChE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA4B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACnE;iBAAM;gBACL,OAAO,oCAAgB,CAA4B,UAAU,CAAC,CAAC;aAChE;QACH,CAAC;KACF;IAlFY,0CAAwB,2BAkFpC,CAAA;IA4BD,MAAa,8BAA8B;QAEzC,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAyBD,GAAG,CAAC,gBACiD,EACjD,iBACiD,EACjD,QAA4D;YAE9D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA8C,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA+C,CAAC;gBACzD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,wEAAwE,CAAC;yBACrE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA8B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrE;iBAAM;gBACL,OAAO,oCAAgB,CAA8B,UAAU,CAAC,CAAC;aAClE;QACH,CAAC;QA0CD,IAAI,CACA,gBAC8D,EAC9D,iBAC8D,EAC9D,QACkE;YAEpE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACU,CAAC;YAC/C,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgD,CAAC;gBAC1D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,mEAAmE,CAAC;yBAChE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;KACF;IArKY,gDAA8B,iCAqK1C,CAAA;IAkED,MAAa,uBAAuB;QAElC,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAwBD,GAAG,CAAC,gBAC0C,EAC1C,iBAC0C,EAC1C,QAAqD;YAEvD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAuC,CAAC;YACnE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwC,CAAC;gBAClD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,iEAAiE,CAAC;yBAC9D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAuB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9D;iBAAM;gBACL,OAAO,oCAAgB,CAAuB,UAAU,CAAC,CAAC;aAC3D;QACH,CAAC;QA2BD,MAAM,CACF,gBAC0C,EAC1C,iBAC0C,EAC1C,QAAqD;YAEvD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4DAA4D,CAAC;yBACzD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAuB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9D;iBAAM;gBACL,OAAO,oCAAgB,CAAuB,UAAU,CAAC,CAAC;aAC3D;QACH,CAAC;QA2CD,IAAI,CACA,gBACuD,EACvD,iBACuD,EACvD,QAAkE;YAEpE,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAwC,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAyC,CAAC;gBACnD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4DAA4D,CAAC;yBACzD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CAAoC,UAAU,CAAC,CAAC;aACxE;QACH,CAAC;KACF;IAzOY,yCAAuB,0BAyOnC,CAAA;IA4GD,MAAa,6BAA6B;QAExC,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA6BD,MAAM,CACF,gBAC0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACW,CAAC;YAChD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiD,CAAC;gBAC3D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,6EAA6E,CAAC;yBAC1E,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC;gBAC/D,UAAU,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC;gBACrC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;QA+BD,MAAM,CACF,gBACgD,EAChD,iBACgD,EAChD,QAA2D;YAE7D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACW,CAAC;YAChD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiD,CAAC;gBAC3D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kEAAkE,CAAC;yBAC/D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA6B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACpE;iBAAM;gBACL,OAAO,oCAAgB,CAA6B,UAAU,CAAC,CAAC;aACjE;QACH,CAAC;QAsCD,IAAI,CACA,gBAC6D,EAC7D,iBAC6D,EAC7D,QACiE;YAEnE,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA8C,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA+C,CAAC;gBACzD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kEAAkE,CAAC;yBAC/D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;KACF;IA9OY,+CAA6B,gCA8OzC,CAAA;IAyED,MAAa,kBAAkB;QAE7B,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA0BD,MAAM,CACF,gBAC0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAqC,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsC,CAAC;gBAChD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4DAA4D,CAAC;yBACzD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;QAwBD,GAAG,CAAC,gBACqC,EACrC,iBAAuE,EACvE,QAAgD;YAElD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAkC,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmC,CAAC;gBAC7C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4DAA4D,CAAC;yBACzD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzD;iBAAM;gBACL,OAAO,oCAAgB,CAAkB,UAAU,CAAC,CAAC;aACtD;QACH,CAAC;QA0BD,MAAM,CACF,gBACqC,EACrC,iBAAuE,EACvE,QAAgD;YAElD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAqC,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsC,CAAC;gBAChD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,uDAAuD,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzD;iBAAM;gBACL,OAAO,oCAAgB,CAAkB,UAAU,CAAC,CAAC;aACtD;QACH,CAAC;QAoCD,IAAI,CACA,gBACkD,EAClD,iBACkD,EAClD,QAA6D;YAE/D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoC,CAAC;gBAC9C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,uDAAuD,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA+B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtE;iBAAM;gBACL,OAAO,oCAAgB,CAA+B,UAAU,CAAC,CAAC;aACnE;QACH,CAAC;QA4BD,KAAK,CACD,gBACqC,EACrC,iBAAuE,EACvE,QAAgD;YAElD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAoC,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqC,CAAC;gBAC/C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,uDAAuD,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzD;iBAAM;gBACL,OAAO,oCAAgB,CAAkB,UAAU,CAAC,CAAC;aACtD;QACH,CAAC;QA0BD,MAAM,CACF,gBACqC,EACrC,iBAAuE,EACvE,QAAgD;YAElD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAqC,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsC,CAAC;gBAChD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,uDAAuD,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzD;iBAAM;gBACL,OAAO,oCAAgB,CAAkB,UAAU,CAAC,CAAC;aACtD;QACH,CAAC;KACF;IAjaY,oCAAkB,qBAia9B,CAAA;IA6JD,MAAa,cAAc;QAEzB,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAyBD,GAAG,CAAC,gBACiC,EACjC,iBAAmE,EACnE,QAA4C;YAE9C,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAA8B,CAAC;YACnE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA+B,CAAC;gBACzC,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,sDAAsD,CAAC;yBACnD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC;gBACtC,UAAU,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC;gBAClC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAc,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrD;iBAAM;gBACL,OAAO,oCAAgB,CAAc,UAAU,CAAC,CAAC;aAClD;QACH,CAAC;QA8BD,IAAI,CACA,gBACqC,EACrC,iBAAuE,EACvE,QAAgD;YAElD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAA+B,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgC,CAAC;gBAC1C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,mDAAmD,CAAC;yBAChD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzD;iBAAM;gBACL,OAAO,oCAAgB,CAAkB,UAAU,CAAC,CAAC;aACtD;QACH,CAAC;KACF;IAhJY,gCAAc,iBAgJ1B,CAAA;IAkDD,MAAa,6BAA6B;QAExC,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA2BD,MAAM,CACF,gBAC0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACW,CAAC;YAChD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiD,CAAC;gBAC3D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,uEAAuE,CAAC;yBACpE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;QAgCD,WAAW,CACP,gBACoE,EACpE,iBACoE,EACpE,QACmD;YAErD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACgB,CAAC;YACrD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsD,CAAC;gBAChE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,8EAA8E,CAAC;yBAC3E,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;QAwBD,GAAG,CAAC,gBAC+C,EAC/C,iBAC+C,EAC/C,QAA0D;YAE5D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA6C,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8C,CAAC;gBACxD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,uEAAuE,CAAC;yBACpE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA4B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACnE;iBAAM;gBACL,OAAO,oCAAgB,CAA4B,UAAU,CAAC,CAAC;aAChE;QACH,CAAC;QA2BD,MAAM,CACF,gBAC+C,EAC/C,iBAC+C,EAC/C,QAA0D;YAE5D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACW,CAAC;YAChD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiD,CAAC;gBAC3D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kEAAkE,CAAC;yBAC/D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA4B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACnE;iBAAM;gBACL,OAAO,oCAAgB,CAA4B,UAAU,CAAC,CAAC;aAChE;QACH,CAAC;QAgDD,IAAI,CACA,gBAC6D,EAC7D,iBAC6D,EAC7D,QACiE;YAEnE,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA8C,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA+C,CAAC;gBACzD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kEAAkE,CAAC;yBAC/D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;QA6BD,KAAK,CACD,gBAC+C,EAC/C,iBAC+C,EAC/C,QAA0D;YAE5D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACU,CAAC;YAC/C,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgD,CAAC;gBAC1D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kEAAkE,CAAC;yBAC/D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA4B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACnE;iBAAM;gBACL,OAAO,oCAAgB,CAA4B,UAAU,CAAC,CAAC;aAChE;QACH,CAAC;QA2BD,MAAM,CACF,gBAC+C,EAC/C,iBAC+C,EAC/C,QAA0D;YAE5D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACW,CAAC;YAChD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiD,CAAC;gBAC3D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kEAAkE,CAAC;yBAC/D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA4B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACnE;iBAAM;gBACL,OAAO,oCAAgB,CAA4B,UAAU,CAAC,CAAC;aAChE;QACH,CAAC;KACF;IAhhBY,+CAA6B,gCAghBzC,CAAA;IAqLD,MAAa,iCAAiC;QAE5C,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAyBD,GAAG,CAAC,gBACoD,EACpD,iBACoD,EACpD,QAA+D;YAEjE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACY,CAAC;YACjD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkD,CAAC;gBAC5D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,2EAA2E,CAAC;yBACxE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxE;iBAAM;gBACL,OAAO,oCAAgB,CAAiC,UAAU,CAAC,CAAC;aACrE;QACH,CAAC;QA6BD,MAAM,CACF,gBACoD,EACpD,iBACoD,EACpD,QAA+D;YAEjE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACe,CAAC;YACpD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqD,CAAC;gBAC/D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,sEAAsE,CAAC;yBACnE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxE;iBAAM;gBACL,OAAO,oCAAgB,CAAiC,UAAU,CAAC,CAAC;aACrE;QACH,CAAC;QA4CD,IAAI,CACA,gBACiE,EACjE,iBACiE,EACjE,QACqE;YAEvE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACa,CAAC;YAClD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmD,CAAC;gBAC7D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,sEAAsE,CAAC;yBACnE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;QA8BD,KAAK,CACD,gBACoD,EACpD,iBACoD,EACpD,QAA+D;YAEjE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACc,CAAC;YACnD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoD,CAAC;gBAC9D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,sEAAsE,CAAC;yBACnE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxE;iBAAM;gBACL,OAAO,oCAAgB,CAAiC,UAAU,CAAC,CAAC;aACrE;QACH,CAAC;QA6BD,MAAM,CACF,gBACoD,EACpD,iBACoD,EACpD,QAA+D;YAEjE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACe,CAAC;YACpD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqD,CAAC;gBAC/D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,sEAAsE,CAAC;yBACnE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxE;iBAAM;gBACL,OAAO,oCAAgB,CAAiC,UAAU,CAAC,CAAC;aACrE;QACH,CAAC;KACF;IAhYY,mDAAiC,oCAgY7C,CAAA;IAoID,MAAa,iCAAiC;QAE5C,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAyBD,GAAG,CAAC,gBACoD,EACpD,iBACoD,EACpD,QAA+D;YAEjE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACY,CAAC;YACjD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkD,CAAC;gBAC5D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,2EAA2E,CAAC;yBACxE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxE;iBAAM;gBACL,OAAO,oCAAgB,CAAiC,UAAU,CAAC,CAAC;aACrE;QACH,CAAC;QAmCD,IAAI,CACA,gBACiE,EACjE,iBACiE,EACjE,QACqE;YAEvE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACa,CAAC;YAClD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmD,CAAC;gBAC7D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,sEAAsE,CAAC;yBACnE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;QA8BD,KAAK,CACD,gBACoD,EACpD,iBACoD,EACpD,QAA+D;YAEjE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACc,CAAC;YACnD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoD,CAAC;gBAC9D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,sEAAsE,CAAC;yBACnE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxE;iBAAM;gBACL,OAAO,oCAAgB,CAAiC,UAAU,CAAC,CAAC;aACrE;QACH,CAAC;QA6BD,MAAM,CACF,gBACoD,EACpD,iBACoD,EACpD,QAA+D;YAEjE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACe,CAAC;YACpD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqD,CAAC;gBAC/D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,sEAAsE,CAAC;yBACnE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxE;iBAAM;gBACL,OAAO,oCAAgB,CAAiC,UAAU,CAAC,CAAC;aACrE;QACH,CAAC;KACF;IA/SY,mDAAiC,oCA+S7C,CAAA;IAuED,MAAa,uBAAuB;QAElC,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAyBD,GAAG,CAAC,gBAC0C,EAC1C,iBAC0C,EAC1C,QAAqD;YAEvD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAuC,CAAC;YACnE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwC,CAAC;gBAClD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,sFAAsF,CAAC;yBACnF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,CAAC;gBAChD,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC;gBAC5C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAuB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9D;iBAAM;gBACL,OAAO,oCAAgB,CAAuB,UAAU,CAAC,CAAC;aAC3D;QACH,CAAC;QAwCD,IAAI,CACA,gBACuD,EACvD,iBACuD,EACvD,QAAkE;YAEpE,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAwC,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAyC,CAAC;gBACnD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,iFAAiF,CAAC;yBAC9E,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC;gBAC1C,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC;gBACtC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CAAoC,UAAU,CAAC,CAAC;aACxE;QACH,CAAC;KACF;IAjKY,yCAAuB,0BAiKnC,CAAA;IA0ED,MAAa,kBAAkB;QAE7B,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA0BD,IAAI,CACA,gBACkD,EAClD,iBACkD,EAClD,QAA6D;YAE/D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoC,CAAC;gBAC9C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,uDAAuD,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA+B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtE;iBAAM;gBACL,OAAO,oCAAgB,CAA+B,UAAU,CAAC,CAAC;aACnE;QACH,CAAC;KACF;IA7EY,oCAAkB,qBA6E9B,CAAA;IAeD,MAAa,eAAe;QAE1B,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAyBD,IAAI,CACA,gBAC+C,EAC/C,iBAC+C,EAC/C,QAA0D;YAE5D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAgC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiC,CAAC;gBAC3C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,oDAAoD,CAAC;yBACjD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA4B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACnE;iBAAM;gBACL,OAAO,oCAAgB,CAA4B,UAAU,CAAC,CAAC;aAChE;QACH,CAAC;KACF;IA5EY,iCAAe,kBA4E3B,CAAA;IAeD,MAAa,mBAAmB;QAE9B,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAwBD,GAAG,CAAC,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoC,CAAC;gBAC9C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,6DAA6D,CAAC;yBAC1D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA+BD,IAAI,CACA,gBACmD,EACnD,iBACmD,EACnD,QAA8D;YAEhE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAoC,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqC,CAAC;gBAC/C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,wDAAwD,CAAC;yBACrD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvE;iBAAM;gBACL,OAAO,oCAAgB,CAAgC,UAAU,CAAC,CAAC;aACpE;QACH,CAAC;KACF;IAnJY,qCAAmB,sBAmJ/B,CAAA;IAuDD,MAAa,uBAAuB;QAElC,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAwBD,GAAG,CAAC,gBAC0C,EAC1C,iBAC0C,EAC1C,QAAqD;YAEvD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAuC,CAAC;YACnE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwC,CAAC;gBAClD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,iEAAiE,CAAC;yBAC9D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAuB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9D;iBAAM;gBACL,OAAO,oCAAgB,CAAuB,UAAU,CAAC,CAAC;aAC3D;QACH,CAAC;QA6BD,IAAI,CACA,gBACuD,EACvD,iBACuD,EACvD,QAAkE;YAEpE,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAwC,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAyC,CAAC;gBACnD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4DAA4D,CAAC;yBACzD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CAAoC,UAAU,CAAC,CAAC;aACxE;QACH,CAAC;KACF;IArJY,yCAAuB,0BAqJnC,CAAA;IA8BD,MAAa,yBAAyB;QAEpC,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAwBD,GAAG,CAAC,gBAC4C,EAC5C,iBAC4C,EAC5C,QAAuD;YAEzD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAyC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0C,CAAC;gBACpD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,uEAAuE,CAAC;yBACpE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC;gBACvC,UAAU,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC;gBACnC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAyB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAChE;iBAAM;gBACL,OAAO,oCAAgB,CAAyB,UAAU,CAAC,CAAC;aAC7D;QACH,CAAC;QA+BD,IAAI,CACA,gBACyD,EACzD,iBACyD,EACzD,QAAoE;YAEtE,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,8DAA8D,CAAC;yBAC3D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;KACF;IAxJY,2CAAyB,4BAwJrC,CAAA;IA8BD,MAAa,gCAAgC;QAE3C,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAyBD,GAAG,CAAC,gBACmD,EACnD,iBACmD,EACnD,QAA8D;YAEhE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACW,CAAC;YAChD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiD,CAAC;gBAC3D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,0EAA0E,CAAC;yBACvE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvE;iBAAM;gBACL,OAAO,oCAAgB,CAAgC,UAAU,CAAC,CAAC;aACpE;QACH,CAAC;QAkCD,IAAI,CACA,gBACgE,EAChE,iBACgE,EAChE,QACoE;YAEtE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACY,CAAC;YACjD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkD,CAAC;gBAC5D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,qEAAqE,CAAC;yBAClE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;KACF;IA7JY,kDAAgC,mCA6J5C,CAAA;IA8BD,MAAa,uBAAuB;QAElC,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAyBD,GAAG,CAAC,gBAC0C,EAC1C,iBAC0C,EAC1C,QAAqD;YAEvD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAuC,CAAC;YACnE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwC,CAAC;gBAClD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,sFAAsF,CAAC;yBACnF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,CAAC;gBAChD,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC;gBAC5C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAuB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9D;iBAAM;gBACL,OAAO,oCAAgB,CAAuB,UAAU,CAAC,CAAC;aAC3D;QACH,CAAC;QAwCD,IAAI,CACA,gBACuD,EACvD,iBACuD,EACvD,QAAkE;YAEpE,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAwC,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAyC,CAAC;gBACnD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,iFAAiF,CAAC;yBAC9E,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC;gBAC1C,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC;gBACtC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CAAoC,UAAU,CAAC,CAAC;aACxE;QACH,CAAC;KACF;IAjKY,yCAAuB,0BAiKnC,CAAA;IAgFD,MAAa,eAAe;QAE1B,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAyBD,GAAG,CAAC,gBACkC,EAClC,iBAAoE,EACpE,QAA6C;YAE/C,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAA+B,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgC,CAAC;gBAC1C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,8EAA8E,CAAC;yBAC3E,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,CAAC;gBAChD,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC;gBAC5C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAe,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtD;iBAAM;gBACL,OAAO,oCAAgB,CAAe,UAAU,CAAC,CAAC;aACnD;QACH,CAAC;QAkCD,IAAI,CACA,gBAC+C,EAC/C,iBAC+C,EAC/C,QAA0D;YAE5D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAgC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiC,CAAC;gBAC3C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,yEAAyE,CAAC;yBACtE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC;gBAC1C,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC;gBACtC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA4B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACnE;iBAAM;gBACL,OAAO,oCAAgB,CAA4B,UAAU,CAAC,CAAC;aAChE;QACH,CAAC;KACF;IAvJY,iCAAe,kBAuJ3B,CAAA;IAuED,MAAa,wBAAwB;QAEnC,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAwBD,GAAG,CAAC,gBAC2C,EAC3C,iBAC2C,EAC3C,QAAsD;YAExD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAwC,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAyC,CAAC;gBACnD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kEAAkE,CAAC;yBAC/D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAwB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC/D;iBAAM;gBACL,OAAO,oCAAgB,CAAwB,UAAU,CAAC,CAAC;aAC5D;QACH,CAAC;QA2BD,MAAM,CACF,gBAC2C,EAC3C,iBAC2C,EAC3C,QAAsD;YAExD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA2C,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4C,CAAC;gBACtD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,6DAA6D,CAAC;yBAC1D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAwB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC/D;iBAAM;gBACL,OAAO,oCAAgB,CAAwB,UAAU,CAAC,CAAC;aAC5D;QACH,CAAC;QAkDD,IAAI,CACA,gBACwD,EACxD,iBACwD,EACxD,QAAmE;YAErE,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAyC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0C,CAAC;gBACpD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,6DAA6D,CAAC;yBAC1D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CAAqC,UAAU,CAAC,CAAC;aACzE;QACH,CAAC;QA6BD,KAAK,CACD,gBAC2C,EAC3C,iBAC2C,EAC3C,QAAsD;YAExD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,6DAA6D,CAAC;yBAC1D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAwB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC/D;iBAAM;gBACL,OAAO,oCAAgB,CAAwB,UAAU,CAAC,CAAC;aAC5D;QACH,CAAC;QA2BD,MAAM,CACF,gBAC2C,EAC3C,iBAC2C,EAC3C,QAAsD;YAExD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA2C,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4C,CAAC;gBACtD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,6DAA6D,CAAC;yBAC1D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAwB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC/D;iBAAM;gBACL,OAAO,oCAAgB,CAAwB,UAAU,CAAC,CAAC;aAC5D;QACH,CAAC;KACF;IA9XY,0CAAwB,2BA8XpC,CAAA;IAmLD,MAAa,mBAAmB;QAE9B,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAmCD,YAAY,CACR,gBAC2D,EAC3D,iBAC2D,EAC3D,QAAsE;YAExE,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA4C,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6C,CAAC;gBACvD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,qEAAqE,CAAC;yBAClE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;QAwBD,GAAG,CAAC,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoC,CAAC;gBAC9C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,6DAA6D,CAAC;yBAC1D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA0BD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAsC,CAAC;YAClE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAuC,CAAC;gBACjD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,wDAAwD,CAAC;yBACrD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QAiDD,IAAI,CACA,gBACmD,EACnD,iBACmD,EACnD,QAA8D;YAEhE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAoC,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqC,CAAC;gBAC/C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,wDAAwD,CAAC;yBACrD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvE;iBAAM;gBACL,OAAO,oCAAgB,CAAgC,UAAU,CAAC,CAAC;aACpE;QACH,CAAC;QA4BD,KAAK,CACD,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAqC,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsC,CAAC;gBAChD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,wDAAwD,CAAC;yBACrD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA0BD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAsC,CAAC;YAClE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAuC,CAAC;gBACjD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,wDAAwD,CAAC;yBACrD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;KACF;IAlcY,qCAAmB,sBAkc/B,CAAA;IAoND,MAAa,4BAA4B;QAEvC,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA2BD,MAAM,CACF,gBAC0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACU,CAAC;YAC/C,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgD,CAAC;gBAC1D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,sEAAsE,CAAC;yBACnE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;QAwBD,GAAG,CAAC,gBAC8C,EAC9C,iBAC8C,EAC9C,QAAyD;YAE3D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA4C,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6C,CAAC;gBACvD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,sEAAsE,CAAC;yBACnE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA2B,UAAU,EAAE,QAAQ,CAAC,CAAC;aAClE;iBAAM;gBACL,OAAO,oCAAgB,CAA2B,UAAU,CAAC,CAAC;aAC/D;QACH,CAAC;QA2BD,MAAM,CACF,gBAC8C,EAC9C,iBAC8C,EAC9C,QAAyD;YAE3D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACU,CAAC;YAC/C,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgD,CAAC;gBAC1D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,iEAAiE,CAAC;yBAC9D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA2B,UAAU,EAAE,QAAQ,CAAC,CAAC;aAClE;iBAAM;gBACL,OAAO,oCAAgB,CAA2B,UAAU,CAAC,CAAC;aAC/D;QACH,CAAC;QAuCD,IAAI,CACA,gBAC4D,EAC5D,iBAC4D,EAC5D,QACgE;YAElE,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA6C,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8C,CAAC;gBACxD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,iEAAiE,CAAC;yBAC9D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;QA6BD,KAAK,CACD,gBAC8C,EAC9C,iBAC8C,EAC9C,QAAyD;YAE3D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA8C,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA+C,CAAC;gBACzD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,iEAAiE,CAAC;yBAC9D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA2B,UAAU,EAAE,QAAQ,CAAC,CAAC;aAClE;iBAAM;gBACL,OAAO,oCAAgB,CAA2B,UAAU,CAAC,CAAC;aAC/D;QACH,CAAC;QA2BD,MAAM,CACF,gBAC8C,EAC9C,iBAC8C,EAC9C,QAAyD;YAE3D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACU,CAAC;YAC/C,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgD,CAAC;gBAC1D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,iEAAiE,CAAC;yBAC9D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA2B,UAAU,EAAE,QAAQ,CAAC,CAAC;aAClE;iBAAM;gBACL,OAAO,oCAAgB,CAA2B,UAAU,CAAC,CAAC;aAC/D;QACH,CAAC;KACF;IAzbY,8CAA4B,+BAybxC,CAAA;IAgID,MAAa,sBAAsB;QAEjC,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAwBD,GAAG,CAAC,gBACyC,EACzC,iBACyC,EACzC,QAAoD;YAEtD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAsC,CAAC;YAClE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAuC,CAAC;gBACjD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,gEAAgE,CAAC;yBAC7D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAsB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC7D;iBAAM;gBACL,OAAO,oCAAgB,CAAsB,UAAU,CAAC,CAAC;aAC1D;QACH,CAAC;QA2BD,IAAI,CACA,gBACsD,EACtD,iBACsD,EACtD,QAAiE;YAEnE,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAuC,CAAC;YACnE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwC,CAAC;gBAClD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,2DAA2D,CAAC;yBACxD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CAAmC,UAAU,CAAC,CAAC;aACvE;QACH,CAAC;KACF;IAlJY,wCAAsB,yBAkJlC,CAAA;IA8BD,MAAa,oBAAoB;QAE/B,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAwBD,GAAG,CAAC,gBACuC,EACvC,iBACuC,EACvC,QAAkD;YAEpD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAoC,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqC,CAAC;gBAC/C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,gEAAgE,CAAC;yBAC7D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC;gBACrC,UAAU,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAoB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3D;iBAAM;gBACL,OAAO,oCAAgB,CAAoB,UAAU,CAAC,CAAC;aACxD;QACH,CAAC;QA0BD,IAAI,CACA,gBACoD,EACpD,iBACoD,EACpD,QAA+D;YAEjE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAqC,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsC,CAAC;gBAChD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,yDAAyD,CAAC;yBACtD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxE;iBAAM;gBACL,OAAO,oCAAgB,CAAiC,UAAU,CAAC,CAAC;aACrE;QACH,CAAC;KACF;IA9IY,sCAAoB,uBA8IhC,CAAA;IA8BD,MAAa,iBAAiB;QAE5B,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAwBD,GAAG,CAAC,gBACoC,EACpC,iBAAsE,EACtE,QAA+C;YAEjD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAiC,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkC,CAAC;gBAC5C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,2DAA2D,CAAC;yBACxD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxD;iBAAM;gBACL,OAAO,oCAAgB,CAAiB,UAAU,CAAC,CAAC;aACrD;QACH,CAAC;QAkCD,IAAI,CACA,gBACiD,EACjD,iBACiD,EACjD,QAA4D;YAE9D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAkC,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmC,CAAC;gBAC7C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,sDAAsD,CAAC;yBACnD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA8B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrE;iBAAM;gBACL,OAAO,oCAAgB,CAA8B,UAAU,CAAC,CAAC;aAClE;QACH,CAAC;KACF;IApJY,mCAAiB,oBAoJ7B,CAAA;IA+DD,MAAa,gBAAgB;QAE3B,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAyBD,IAAI,CACA,gBACgD,EAChD,iBACgD,EAChD,QAA2D;YAE7D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAiC,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkC,CAAC;gBAC5C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,qDAAqD,CAAC;yBAClD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA6B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACpE;iBAAM;gBACL,OAAO,oCAAgB,CAA6B,UAAU,CAAC,CAAC;aACjE;QACH,CAAC;KACF;IA5EY,kCAAgB,mBA4E5B,CAAA;IAeD,MAAa,yBAAyB;QAEpC,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAwBD,GAAG,CAAC,gBAC4C,EAC5C,iBAC4C,EAC5C,QAAuD;YAEzD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAyC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0C,CAAC;gBACpD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,mEAAmE,CAAC;yBAChE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAyB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAChE;iBAAM;gBACL,OAAO,oCAAgB,CAAyB,UAAU,CAAC,CAAC;aAC7D;QACH,CAAC;QA2BD,MAAM,CACF,gBAC4C,EAC5C,iBAC4C,EAC5C,QAAuD;YAEzD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA4C,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6C,CAAC;gBACvD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,8DAA8D,CAAC;yBAC3D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAyB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAChE;iBAAM;gBACL,OAAO,oCAAgB,CAAyB,UAAU,CAAC,CAAC;aAC7D;QACH,CAAC;QAwCD,IAAI,CACA,gBACyD,EACzD,iBACyD,EACzD,QAAoE;YAEtE,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,8DAA8D,CAAC;yBAC3D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,cAAc,CAAC;gBAC7C,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;QA6BD,KAAK,CACD,gBAC4C,EAC5C,iBAC4C,EAC5C,QAAuD;YAEzD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA2C,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4C,CAAC;gBACtD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,8DAA8D,CAAC;yBAC3D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAyB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAChE;iBAAM;gBACL,OAAO,oCAAgB,CAAyB,UAAU,CAAC,CAAC;aAC7D;QACH,CAAC;QA2BD,MAAM,CACF,gBAC4C,EAC5C,iBAC4C,EAC5C,QAAuD;YAEzD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA4C,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6C,CAAC;gBACvD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,8DAA8D,CAAC;yBAC3D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAyB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAChE;iBAAM;gBACL,OAAO,oCAAgB,CAAyB,UAAU,CAAC,CAAC;aAC7D;QACH,CAAC;KACF;IArXY,2CAAyB,4BAqXrC,CAAA;IAwHD,MAAa,8BAA8B;QAEzC,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAyBD,GAAG,CAAC,gBACiD,EACjD,iBACiD,EACjD,QAA4D;YAE9D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA8C,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA+C,CAAC;gBACzD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,uFAAuF,CAAC;yBACpF,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,mBAAmB,CAAC;gBAClD,UAAU,EAAE,CAAC,WAAW,EAAE,mBAAmB,CAAC;gBAC9C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA8B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrE;iBAAM;gBACL,OAAO,oCAAgB,CAA8B,UAAU,CAAC,CAAC;aAClE;QACH,CAAC;QA8BD,KAAK,CACD,gBACiD,EACjD,iBACiD,EACjD,QAA4D;YAE9D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACW,CAAC;YAChD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiD,CAAC;gBAC3D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,mEAAmE,CAAC;yBAChE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,mBAAmB,CAAC;gBAClD,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA8B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrE;iBAAM;gBACL,OAAO,oCAAgB,CAA8B,UAAU,CAAC,CAAC;aAClE;QACH,CAAC;QA4BD,MAAM,CACF,gBACiD,EACjD,iBACiD,EACjD,QAA4D;YAE9D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACY,CAAC;YACjD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkD,CAAC;gBAC5D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,mEAAmE,CAAC;yBAChE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA8B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrE;iBAAM;gBACL,OAAO,oCAAgB,CAA8B,UAAU,CAAC,CAAC;aAClE;QACH,CAAC;KACF;IA7NY,gDAA8B,iCA6N1C,CAAA;IAuDD,MAAa,gBAAgB;QAI3B,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC,gBAAgB,GAAG,IAAI,iCAAiC,CAAC,IAAI,CAAC,CAAC;YACpE,IAAI,CAAC,KAAK,GAAG,IAAI,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAChD,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA0BD,MAAM,CACF,gBAC0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoC,CAAC;gBAC9C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,gEAAgE,CAAC;yBAC7D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC;gBACzC,UAAU,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC;gBACrC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;QAwBD,GAAG,CAAC,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAgC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiC,CAAC;gBAC3C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,gEAAgE,CAAC;yBAC7D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC;gBACzC,UAAU,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC;gBACrC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;QA0BD,MAAM,CACF,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoC,CAAC;gBAC9C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,qDAAqD,CAAC;yBAClD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;QA8BD,IAAI,CACA,gBACuC,EACvC,iBACuC,EACvC,QAAkD;YAEpD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAiC,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkC,CAAC;gBAC5C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,qDAAqD,CAAC;yBAClD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAoB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3D;iBAAM;gBACL,OAAO,oCAAgB,CAAoB,UAAU,CAAC,CAAC;aACxD;QACH,CAAC;QA2BD,KAAK,CACD,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAkC,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmC,CAAC;gBAC7C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,gEAAgE,CAAC;yBAC7D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC;gBACzC,UAAU,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC;gBACrC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;QAyBD,GAAG,CAAC,gBACiC,EACjC,iBAAmE,EACnE,QAA4C;YAE9C,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAgC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiC,CAAC;gBAC3C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,oEAAoE,CAAC;yBACjE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC;gBACzC,UAAU,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC;gBACrC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAc,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrD;iBAAM;gBACL,OAAO,oCAAgB,CAAc,UAAU,CAAC,CAAC;aAClD;QACH,CAAC;QA2BD,MAAM,CACF,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoC,CAAC;gBAC9C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,gEAAgE,CAAC;yBAC7D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC;gBACzC,UAAU,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC;gBACrC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;KACF;IAleY,kCAAgB,mBAke5B,CAAA;IA2ID,MAAa,iCAAiC;QAE5C,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA6BD,KAAK,CACD,gBAC6C,EAC7C,iBAC6C,EAC7C,QAAwD;YAE1D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACc,CAAC;YACnD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoD,CAAC;gBAC9D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4EAA4E,CAAC;yBACzE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA0B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACjE;iBAAM;gBACL,OAAO,oCAAgB,CAA0B,UAAU,CAAC,CAAC;aAC9D;QACH,CAAC;KACF;IAlFY,mDAAiC,oCAkF7C,CAAA;IAoBD,MAAa,sBAAsB;QAEjC,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAyBD,GAAG,CAAC,gBACiC,EACjC,iBAAmE,EACnE,QAA4C;YAE9C,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAsC,CAAC;YAClE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAuC,CAAC;gBACjD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,+EAA+E,CAAC;yBAC5E,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,QAAQ,CAAC;gBACnD,UAAU,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,UAAU,CAAC;gBAC/C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAc,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrD;iBAAM;gBACL,OAAO,oCAAgB,CAAc,UAAU,CAAC,CAAC;aAClD;QACH,CAAC;QA8BD,IAAI,CACA,gBACqC,EACrC,iBAAuE,EACvE,QAAgD;YAElD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAuC,CAAC;YACnE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwC,CAAC;gBAClD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,sEAAsE,CAAC;yBACnE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC;gBACzC,UAAU,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC;gBACrC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzD;iBAAM;gBACL,OAAO,oCAAgB,CAAkB,UAAU,CAAC,CAAC;aACtD;QACH,CAAC;KACF;IApJY,wCAAsB,yBAoJlC,CAAA;IAuDD,MAAa,cAAc;QAEzB,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAwBD,GAAG,CAAC,gBACiC,EACjC,iBAAmE,EACnE,QAA4C;YAE9C,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAA8B,CAAC;YACnE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA+B,CAAC;gBACzC,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,wDAAwD,CAAC;yBACrD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAc,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrD;iBAAM;gBACL,OAAO,oCAAgB,CAAc,UAAU,CAAC,CAAC;aAClD;QACH,CAAC;QA0BD,MAAM,CACF,gBACiC,EACjC,iBAAmE,EACnE,QAA4C;YAE9C,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAiC,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkC,CAAC;gBAC5C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,mDAAmD,CAAC;yBAChD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAc,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrD;iBAAM;gBACL,OAAO,oCAAgB,CAAc,UAAU,CAAC,CAAC;aAClD;QACH,CAAC;QAyCD,IAAI,CACA,gBAC8C,EAC9C,iBAC8C,EAC9C,QAAyD;YAE3D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAA+B,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgC,CAAC;gBAC1C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,mDAAmD,CAAC;yBAChD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA2B,UAAU,EAAE,QAAQ,CAAC,CAAC;aAClE;iBAAM;gBACL,OAAO,oCAAgB,CAA2B,UAAU,CAAC,CAAC;aAC/D;QACH,CAAC;QA2BD,KAAK,CACD,gBACiC,EACjC,iBAAmE,EACnE,QAA4C;YAE9C,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAgC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiC,CAAC;gBAC3C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,mDAAmD,CAAC;yBAChD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAc,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrD;iBAAM;gBACL,OAAO,oCAAgB,CAAc,UAAU,CAAC,CAAC;aAClD;QACH,CAAC;QA0BD,MAAM,CACF,gBACiC,EACjC,iBAAmE,EACnE,QAA4C;YAE9C,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAiC,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkC,CAAC;gBAC5C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,mDAAmD,CAAC;yBAChD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAc,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrD;iBAAM;gBACL,OAAO,oCAAgB,CAAc,UAAU,CAAC,CAAC;aAClD;QACH,CAAC;KACF;IAlWY,gCAAc,iBAkW1B,CAAA;IAqJD,MAAa,cAAc;QAEzB,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAwBD,GAAG,CAAC,gBACiC,EACjC,iBAAmE,EACnE,QAA4C;YAE9C,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAA8B,CAAC;YACnE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA+B,CAAC;gBACzC,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,wDAAwD,CAAC;yBACrD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAc,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrD;iBAAM;gBACL,OAAO,oCAAgB,CAAc,UAAU,CAAC,CAAC;aAClD;QACH,CAAC;QA0BD,MAAM,CACF,gBACiC,EACjC,iBAAmE,EACnE,QAA4C;YAE9C,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAiC,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkC,CAAC;gBAC5C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,mDAAmD,CAAC;yBAChD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAc,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrD;iBAAM;gBACL,OAAO,oCAAgB,CAAc,UAAU,CAAC,CAAC;aAClD;QACH,CAAC;QAgCD,IAAI,CACA,gBAC8C,EAC9C,iBAC8C,EAC9C,QAAyD;YAE3D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAA+B,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgC,CAAC;gBAC1C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,mDAAmD,CAAC;yBAChD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA2B,UAAU,EAAE,QAAQ,CAAC,CAAC;aAClE;iBAAM;gBACL,OAAO,oCAAgB,CAA2B,UAAU,CAAC,CAAC;aAC/D;QACH,CAAC;KACF;IApNY,gCAAc,iBAoN1B,CAAA;IA8DD,MAAa,oBAAoB;QAE/B,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAwBD,GAAG,CAAC,gBACuC,EACvC,iBACuC,EACvC,QAAkD;YAEpD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAoC,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqC,CAAC;gBAC/C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,8DAA8D,CAAC;yBAC3D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAoB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3D;iBAAM;gBACL,OAAO,oCAAgB,CAAoB,UAAU,CAAC,CAAC;aACxD;QACH,CAAC;QA2BD,MAAM,CACF,gBACuC,EACvC,iBACuC,EACvC,QAAkD;YAEpD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAuC,CAAC;YACnE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwC,CAAC;gBAClD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,yDAAyD,CAAC;yBACtD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAoB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3D;iBAAM;gBACL,OAAO,oCAAgB,CAAoB,UAAU,CAAC,CAAC;aACxD;QACH,CAAC;QAiCD,IAAI,CACA,gBACoD,EACpD,iBACoD,EACpD,QAA+D;YAEjE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAqC,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsC,CAAC;gBAChD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,yDAAyD,CAAC;yBACtD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxE;iBAAM;gBACL,OAAO,oCAAgB,CAAiC,UAAU,CAAC,CAAC;aACrE;QACH,CAAC;QA4BD,KAAK,CACD,gBACuC,EACvC,iBACuC,EACvC,QAAkD;YAEpD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAsC,CAAC;YAClE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAuC,CAAC;gBACjD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,yDAAyD,CAAC;yBACtD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAoB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3D;iBAAM;gBACL,OAAO,oCAAgB,CAAoB,UAAU,CAAC,CAAC;aACxD;QACH,CAAC;QA2BD,MAAM,CACF,gBACuC,EACvC,iBACuC,EACvC,QAAkD;YAEpD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAuC,CAAC;YACnE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwC,CAAC;gBAClD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,yDAAyD,CAAC;yBACtD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAoB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3D;iBAAM;gBACL,OAAO,oCAAgB,CAAoB,UAAU,CAAC,CAAC;aACxD;QACH,CAAC;KACF;IArWY,sCAAoB,uBAqWhC,CAAA;IAgHD,MAAa,mCAAmC;QAE9C,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA0BD,GAAG,CAAC,gBACsD,EACtD,iBACsD,EACtD,QAAiE;YAEnE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACc,CAAC;YACnD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoD,CAAC;gBAC9D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,6EAA6E,CAAC;yBAC1E,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CAAmC,UAAU,CAAC,CAAC;aACvE;QACH,CAAC;QAuCD,IAAI,CACA,gBACmE,EACnE,iBACmE,EACnE,QACkD;YAEpD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACe,CAAC;YACpD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqD,CAAC;gBAC/D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,wEAAwE,CAAC;yBACrE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,cAAc,CAAC;gBAC7C,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;KACF;IApKY,qDAAmC,sCAoK/C,CAAA;IAgED,MAAa,2BAA2B;QAEtC,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAwBD,GAAG,CAAC,gBAC8C,EAC9C,iBAC8C,EAC9C,QAAyD;YAE3D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA2C,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4C,CAAC;gBACtD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,qEAAqE,CAAC;yBAClE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA2B,UAAU,EAAE,QAAQ,CAAC,CAAC;aAClE;iBAAM;gBACL,OAAO,oCAAgB,CAA2B,UAAU,CAAC,CAAC;aAC/D;QACH,CAAC;QA2BD,MAAM,CACF,gBAC8C,EAC9C,iBAC8C,EAC9C,QAAyD;YAE3D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA8C,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA+C,CAAC;gBACzD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,gEAAgE,CAAC;yBAC7D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA2B,UAAU,EAAE,QAAQ,CAAC,CAAC;aAClE;iBAAM;gBACL,OAAO,oCAAgB,CAA2B,UAAU,CAAC,CAAC;aAC/D;QACH,CAAC;QAuCD,IAAI,CACA,gBAC2D,EAC3D,iBAC2D,EAC3D,QAAsE;YAExE,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA4C,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6C,CAAC;gBACvD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,gEAAgE,CAAC;yBAC7D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;QA6BD,KAAK,CACD,gBAC8C,EAC9C,iBAC8C,EAC9C,QAAyD;YAE3D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA6C,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8C,CAAC;gBACxD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,gEAAgE,CAAC;yBAC7D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA2B,UAAU,EAAE,QAAQ,CAAC,CAAC;aAClE;iBAAM;gBACL,OAAO,oCAAgB,CAA2B,UAAU,CAAC,CAAC;aAC/D;QACH,CAAC;QA2BD,MAAM,CACF,gBAC8C,EAC9C,iBAC8C,EAC9C,QAAyD;YAE3D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA8C,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA+C,CAAC;gBACzD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,gEAAgE,CAAC;yBAC7D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA2B,UAAU,EAAE,QAAQ,CAAC,CAAC;aAClE;iBAAM;gBACL,OAAO,oCAAgB,CAA2B,UAAU,CAAC,CAAC;aAC/D;QACH,CAAC;KACF;IApXY,6CAA2B,8BAoXvC,CAAA;IAoHD,MAAa,qBAAqB;QAEhC,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAuBD,GAAG,CAAC,gBACwC,EACxC,iBACwC,EACxC,QAAmD;YAErD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAqC,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsC,CAAC;gBAChD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,6CAA6C,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAqB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC5D;iBAAM;gBACL,OAAO,oCAAgB,CAAqB,UAAU,CAAC,CAAC;aACzD;QACH,CAAC;QAwBD,IAAI,CACA,gBAC4C,EAC5C,iBAC4C,EAC5C,QAAuD;YAEzD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAsC,CAAC;YAClE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAuC,CAAC;gBACjD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,iCAAiC,CAAC;yBACxC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,EAAE;gBAClB,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAyB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAChE;iBAAM;gBACL,OAAO,oCAAgB,CAAyB,UAAU,CAAC,CAAC;aAC7D;QACH,CAAC;KACF;IAzIY,uCAAqB,wBAyIjC,CAAA;IAqBD,MAAa,iCAAiC;QAE5C,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAyBD,GAAG,CAAC,gBACoD,EACpD,iBACoD,EACpD,QAA+D;YAEjE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACY,CAAC;YACjD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkD,CAAC;gBAC5D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,2EAA2E,CAAC;yBACxE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxE;iBAAM;gBACL,OAAO,oCAAgB,CAAiC,UAAU,CAAC,CAAC;aACrE;QACH,CAAC;QAkCD,IAAI,CACA,gBACiE,EACjE,iBACiE,EACjE,QACqE;YAEvE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACa,CAAC;YAClD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmD,CAAC;gBAC7D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,sEAAsE,CAAC;yBACnE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;KACF;IA7JY,mDAAiC,oCA6J7C,CAAA;IA8BD,MAAa,4BAA4B;QAEvC,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAwBD,GAAG,CAAC,gBAC+C,EAC/C,iBAC+C,EAC/C,QAA0D;YAE5D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA4C,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6C,CAAC;gBACvD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,sEAAsE,CAAC;yBACnE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA4B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACnE;iBAAM;gBACL,OAAO,oCAAgB,CAA4B,UAAU,CAAC,CAAC;aAChE;QACH,CAAC;QAiCD,IAAI,CACA,gBAC4D,EAC5D,iBAC4D,EAC5D,QACgE;YAElE,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA6C,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8C,CAAC;gBACxD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,iEAAiE,CAAC;yBAC9D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;KACF;IA3JY,8CAA4B,+BA2JxC,CAAA;IAkCD,MAAa,kBAAkB;QAE7B,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA0BD,MAAM,CACF,gBAC0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAqC,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsC,CAAC;gBAChD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4DAA4D,CAAC;yBACzD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;QAwBD,GAAG,CAAC,gBACqC,EACrC,iBAAuE,EACvE,QAAgD;YAElD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAkC,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmC,CAAC;gBAC7C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4DAA4D,CAAC;yBACzD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzD;iBAAM;gBACL,OAAO,oCAAgB,CAAkB,UAAU,CAAC,CAAC;aACtD;QACH,CAAC;QA0BD,MAAM,CACF,gBACqC,EACrC,iBAAuE,EACvE,QAAgD;YAElD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAqC,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsC,CAAC;gBAChD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,uDAAuD,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzD;iBAAM;gBACL,OAAO,oCAAgB,CAAkB,UAAU,CAAC,CAAC;aACtD;QACH,CAAC;QAmCD,IAAI,CACA,gBACkD,EAClD,iBACkD,EAClD,QAA6D;YAE/D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoC,CAAC;gBAC9C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,uDAAuD,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA+B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtE;iBAAM;gBACL,OAAO,oCAAgB,CAA+B,UAAU,CAAC,CAAC;aACnE;QACH,CAAC;QA4BD,KAAK,CACD,gBACqC,EACrC,iBAAuE,EACvE,QAAgD;YAElD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAoC,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqC,CAAC;gBAC/C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,uDAAuD,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzD;iBAAM;gBACL,OAAO,oCAAgB,CAAkB,UAAU,CAAC,CAAC;aACtD;QACH,CAAC;QA0BD,MAAM,CACF,gBACqC,EACrC,iBAAuE,EACvE,QAAgD;YAElD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAqC,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsC,CAAC;gBAChD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,uDAAuD,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzD;iBAAM;gBACL,OAAO,oCAAgB,CAAkB,UAAU,CAAC,CAAC;aACtD;QACH,CAAC;KACF;IAhaY,oCAAkB,qBAga9B,CAAA;IAwID,MAAa,qBAAqB;QAEhC,YAAY,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAwBD,GAAG,CAAC,gBACwC,EACxC,iBACwC,EACxC,QAAmD;YAErD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAqC,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsC,CAAC;gBAChD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,+DAA+D,CAAC;yBAC5D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;gBACnC,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAqB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC5D;iBAAM;gBACL,OAAO,oCAAgB,CAAqB,UAAU,CAAC,CAAC;aACzD;QACH,CAAC;QA0BD,IAAI,CACA,gBACqD,EACrD,iBACqD,EACrD,QAAgE;YAElE,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAsC,CAAC;YAClE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAuC,CAAC;gBACjD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,0DAA0D,CAAC;yBACvD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzE;iBAAM;gBACL,OAAO,oCAAgB,CAAkC,UAAU,CAAC,CAAC;aACtE;QACH,CAAC;KACF;IA/IY,uCAAqB,wBA+IjC,CAAA;AA4BH,CAAC,EA112BgB,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QA012BjC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/dialogflow/README.md b/express-server/node_modules/googleapis/build/src/apis/dialogflow/README.md new file mode 100644 index 00000000..3b6e1245 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dialogflow/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/dialogflow + +> An end-to-end development suite for conversational interfaces (e.g., chatbots, voice-powered apps and devices). + +## Installation + +```sh +$ npm install @google/dialogflow +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/dialogflow/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/dialogflow/index.d.ts new file mode 100644 index 00000000..3c75b173 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dialogflow/index.d.ts @@ -0,0 +1,10 @@ +import { dialogflow_v2 } from './v2'; +import { dialogflow_v2beta1 } from './v2beta1'; +export declare const VERSIONS: { + 'v2': typeof dialogflow_v2.Dialogflow; + 'v2beta1': typeof dialogflow_v2beta1.Dialogflow; +}; +export declare function dialogflow(version: 'v2'): dialogflow_v2.Dialogflow; +export declare function dialogflow(options: dialogflow_v2.Options): dialogflow_v2.Dialogflow; +export declare function dialogflow(version: 'v2beta1'): dialogflow_v2beta1.Dialogflow; +export declare function dialogflow(options: dialogflow_v2beta1.Options): dialogflow_v2beta1.Dialogflow; diff --git a/express-server/node_modules/googleapis/build/src/apis/dialogflow/index.js b/express-server/node_modules/googleapis/build/src/apis/dialogflow/index.js new file mode 100644 index 00000000..9f111212 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dialogflow/index.js @@ -0,0 +1,27 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v2_1 = require("./v2"); +const v2beta1_1 = require("./v2beta1"); +exports.VERSIONS = { + 'v2': v2_1.dialogflow_v2.Dialogflow, + 'v2beta1': v2beta1_1.dialogflow_v2beta1.Dialogflow, +}; +function dialogflow(versionOrOptions) { + return googleapis_common_1.getAPI('dialogflow', versionOrOptions, exports.VERSIONS, this); +} +exports.dialogflow = dialogflow; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/dialogflow/index.js.map b/express-server/node_modules/googleapis/build/src/apis/dialogflow/index.js.map new file mode 100644 index 00000000..1744dd31 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dialogflow/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/dialogflow/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAmC;AACnC,uCAA6C;AAEhC,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,kBAAa,CAAC,UAAU;IAC9B,SAAS,EAAE,4BAAkB,CAAC,UAAU;CACzC,CAAC;AAQF,SACA,UAAU,CAEN,gBAC0B;IAC5B,OAAO,0BAAM,CAAI,YAAY,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACnE,CAAC;AAND,gCAMC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/dialogflow/package.json b/express-server/node_modules/googleapis/build/src/apis/dialogflow/package.json new file mode 100644 index 00000000..13f947e7 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dialogflow/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/dialogflow", + "version": "0.1.0", + "description": "dialogflow", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/dialogflow/v2.d.ts b/express-server/node_modules/googleapis/build/src/apis/dialogflow/v2.d.ts new file mode 100644 index 00000000..9c3b92df --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dialogflow/v2.d.ts @@ -0,0 +1,3913 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace dialogflow_v2 { + interface Options extends GlobalOptions { + version: 'v2'; + } + /** + * Dialogflow API + * + * An end-to-end development suite for conversational interfaces (e.g., + * chatbots, voice-powered apps and devices). + * + * @example + * const {google} = require('googleapis'); + * const dialogflow = google.dialogflow('v2'); + * + * @namespace dialogflow + * @type {Function} + * @version v2 + * @variation v2 + * @param {object=} options Options for Dialogflow + */ + class Dialogflow { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + projects: Resource$Projects; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Represents a conversational agent. + */ + interface Schema$GoogleCloudDialogflowV2Agent { + /** + * Optional. The URI of the agent's avatar. Avatars are used throughout + * the Dialogflow console and in the self-hosted [Web + * Demo](https://dialogflow.com/docs/integrations/web-demo) integration. + */ + avatarUri?: string; + /** + * Optional. To filter out false positive results and still get variety in + * matched natural language inputs for your agent, you can tune the machine + * learning classification threshold. If the returned score value is less + * than the threshold value, then a fallback intent is be triggered or, if + * there are no fallback intents defined, no intent will be triggered. The + * score values range from 0.0 (completely uncertain) to 1.0 (completely + * certain). If set to 0.0, the default of 0.3 is used. + */ + classificationThreshold?: number; + /** + * Required. The default language of the agent as a language tag. See + * [Language Support](https://dialogflow.com/docs/reference/language) for a + * list of the currently supported language codes. This field cannot be set + * by the `Update` method. + */ + defaultLanguageCode?: string; + /** + * Optional. The description of this agent. The maximum length is 500 + * characters. If exceeded, the request is rejected. + */ + description?: string; + /** + * Required. The name of this agent. + */ + displayName?: string; + /** + * Optional. Determines whether this agent should log conversation queries. + */ + enableLogging?: boolean; + /** + * Optional. Determines how intents are detected from user queries. + */ + matchMode?: string; + /** + * Required. The project of this agent. Format: `projects/<Project + * ID>`. + */ + parent?: string; + /** + * Optional. The list of all languages supported by this agent (except for + * the `default_language_code`). + */ + supportedLanguageCodes?: string[]; + /** + * Required. The time zone of this agent from the [time zone + * database](https://www.iana.org/time-zones), e.g., America/New_York, + * Europe/Paris. + */ + timeZone?: string; + } + /** + * The request message for EntityTypes.BatchCreateEntities. + */ + interface Schema$GoogleCloudDialogflowV2BatchCreateEntitiesRequest { + /** + * Required. The entities to create. + */ + entities?: Schema$GoogleCloudDialogflowV2EntityTypeEntity[]; + /** + * Optional. The language of entity synonyms defined in `entities`. If not + * specified, the agent's default language is used. [More than a dozen + * languages](https://dialogflow.com/docs/reference/language) are supported. + * Note: languages must be enabled in the agent, before they can be used. + */ + languageCode?: string; + } + /** + * The request message for EntityTypes.BatchDeleteEntities. + */ + interface Schema$GoogleCloudDialogflowV2BatchDeleteEntitiesRequest { + /** + * Required. The canonical `values` of the entities to delete. Note that + * these are not fully-qualified names, i.e. they don't start with + * `projects/<Project ID>`. + */ + entityValues?: string[]; + /** + * Optional. The language of entity synonyms defined in `entities`. If not + * specified, the agent's default language is used. [More than a dozen + * languages](https://dialogflow.com/docs/reference/language) are supported. + * Note: languages must be enabled in the agent, before they can be used. + */ + languageCode?: string; + } + /** + * The request message for EntityTypes.BatchDeleteEntityTypes. + */ + interface Schema$GoogleCloudDialogflowV2BatchDeleteEntityTypesRequest { + /** + * Required. The names entity types to delete. All names must point to the + * same agent as `parent`. + */ + entityTypeNames?: string[]; + } + /** + * The request message for Intents.BatchDeleteIntents. + */ + interface Schema$GoogleCloudDialogflowV2BatchDeleteIntentsRequest { + /** + * Required. The collection of intents to delete. Only intent `name` must be + * filled in. + */ + intents?: Schema$GoogleCloudDialogflowV2Intent[]; + } + /** + * The request message for EntityTypes.BatchUpdateEntities. + */ + interface Schema$GoogleCloudDialogflowV2BatchUpdateEntitiesRequest { + /** + * Required. The entities to update or create. + */ + entities?: Schema$GoogleCloudDialogflowV2EntityTypeEntity[]; + /** + * Optional. The language of entity synonyms defined in `entities`. If not + * specified, the agent's default language is used. [More than a dozen + * languages](https://dialogflow.com/docs/reference/language) are supported. + * Note: languages must be enabled in the agent, before they can be used. + */ + languageCode?: string; + /** + * Optional. The mask to control which fields get updated. + */ + updateMask?: string; + } + /** + * The request message for EntityTypes.BatchUpdateEntityTypes. + */ + interface Schema$GoogleCloudDialogflowV2BatchUpdateEntityTypesRequest { + /** + * The collection of entity types to update or create. + */ + entityTypeBatchInline?: Schema$GoogleCloudDialogflowV2EntityTypeBatch; + /** + * The URI to a Google Cloud Storage file containing entity types to update + * or create. The file format can either be a serialized proto (of + * EntityBatch type) or a JSON object. Note: The URI must start with + * "gs://". + */ + entityTypeBatchUri?: string; + /** + * Optional. The language of entity synonyms defined in `entity_types`. If + * not specified, the agent's default language is used. [More than a + * dozen languages](https://dialogflow.com/docs/reference/language) are + * supported. Note: languages must be enabled in the agent, before they can + * be used. + */ + languageCode?: string; + /** + * Optional. The mask to control which fields get updated. + */ + updateMask?: string; + } + /** + * The response message for EntityTypes.BatchUpdateEntityTypes. + */ + interface Schema$GoogleCloudDialogflowV2BatchUpdateEntityTypesResponse { + /** + * The collection of updated or created entity types. + */ + entityTypes?: Schema$GoogleCloudDialogflowV2EntityType[]; + } + /** + * The request message for Intents.BatchUpdateIntents. + */ + interface Schema$GoogleCloudDialogflowV2BatchUpdateIntentsRequest { + /** + * The collection of intents to update or create. + */ + intentBatchInline?: Schema$GoogleCloudDialogflowV2IntentBatch; + /** + * The URI to a Google Cloud Storage file containing intents to update or + * create. The file format can either be a serialized proto (of IntentBatch + * type) or JSON object. Note: The URI must start with "gs://". + */ + intentBatchUri?: string; + /** + * Optional. The resource view to apply to the returned intent. + */ + intentView?: string; + /** + * Optional. The language of training phrases, parameters and rich messages + * defined in `intents`. If not specified, the agent's default language + * is used. [More than a dozen + * languages](https://dialogflow.com/docs/reference/language) are supported. + * Note: languages must be enabled in the agent, before they can be used. + */ + languageCode?: string; + /** + * Optional. The mask to control which fields get updated. + */ + updateMask?: string; + } + /** + * The response message for Intents.BatchUpdateIntents. + */ + interface Schema$GoogleCloudDialogflowV2BatchUpdateIntentsResponse { + /** + * The collection of updated or created intents. + */ + intents?: Schema$GoogleCloudDialogflowV2Intent[]; + } + /** + * The response message for EntityTypes.BatchUpdateEntityTypes. + */ + interface Schema$GoogleCloudDialogflowV2beta1BatchUpdateEntityTypesResponse { + /** + * The collection of updated or created entity types. + */ + entityTypes?: Schema$GoogleCloudDialogflowV2beta1EntityType[]; + } + /** + * The response message for Intents.BatchUpdateIntents. + */ + interface Schema$GoogleCloudDialogflowV2beta1BatchUpdateIntentsResponse { + /** + * The collection of updated or created intents. + */ + intents?: Schema$GoogleCloudDialogflowV2beta1Intent[]; + } + /** + * Represents a context. + */ + interface Schema$GoogleCloudDialogflowV2beta1Context { + /** + * Optional. The number of conversational query requests after which the + * context expires. If set to `0` (the default) the context expires + * immediately. Contexts expire automatically after 10 minutes even if there + * are no matching queries. + */ + lifespanCount?: number; + /** + * Required. The unique identifier of the context. Format: + * `projects/<Project ID>/agent/sessions/<Session + * ID>/contexts/<Context ID>`, or `projects/<Project + * ID>/agent/environments/<Environment ID>/users/<User + * ID>/sessions/<Session ID>/contexts/<Context ID>`. The + * `Context ID` is always converted to lowercase. If `Environment ID` is not + * specified, we assume default 'draft' environment. If `User ID` is + * not specified, we assume default '-' user. + */ + name?: string; + /** + * Optional. The collection of parameters associated with this context. + * Refer to [this doc](https://dialogflow.com/docs/actions-and-parameters) + * for syntax. + */ + parameters?: any; + } + /** + * Represents an entity type. Entity types serve as a tool for extracting + * parameter values from natural language queries. + */ + interface Schema$GoogleCloudDialogflowV2beta1EntityType { + /** + * Optional. Indicates whether the entity type can be automatically + * expanded. + */ + autoExpansionMode?: string; + /** + * Required. The name of the entity. + */ + displayName?: string; + /** + * Optional. The collection of entities associated with the entity type. + */ + entities?: Schema$GoogleCloudDialogflowV2beta1EntityTypeEntity[]; + /** + * Required. Indicates the kind of entity type. + */ + kind?: string; + /** + * Required for all methods except `create` (`create` populates the name + * automatically. The unique identifier of the entity type. Format: + * `projects/<Project ID>/agent/entityTypes/<Entity Type ID>`. + */ + name?: string; + } + /** + * Optional. Represents an entity. + */ + interface Schema$GoogleCloudDialogflowV2beta1EntityTypeEntity { + /** + * Required. A collection of synonyms. For `KIND_LIST` entity types this + * must contain exactly one synonym equal to `value`. + */ + synonyms?: string[]; + /** + * Required. For `KIND_MAP` entity types: A canonical name to be used in + * place of synonyms. For `KIND_LIST` entity types: A string that can + * contain references to other entity types (with or without aliases). + */ + value?: string; + } + /** + * Events allow for matching intents by event name instead of the natural + * language input. For instance, input `<event: { name: “welcome_event”, + * parameters: { name: “Sam” } }>` can trigger a personalized welcome + * response. The parameter `name` may be used by the agent in the response: + * `“Hello #welcome_event.name! What can I do for you today?”`. + */ + interface Schema$GoogleCloudDialogflowV2beta1EventInput { + /** + * Required. The language of this query. See [Language + * Support](https://dialogflow.com/docs/languages) for a list of the + * currently supported language codes. Note that queries in the same session + * do not necessarily need to specify the same language. + */ + languageCode?: string; + /** + * Required. The unique identifier of the event. + */ + name?: string; + /** + * Optional. The collection of parameters associated with the event. + */ + parameters?: any; + } + /** + * The response message for Agents.ExportAgent. + */ + interface Schema$GoogleCloudDialogflowV2beta1ExportAgentResponse { + /** + * The exported agent. Example for how to export an agent to a zip file via + * a command line: <pre>curl \ + * 'https://dialogflow.googleapis.com/v2beta1/projects/&lt;project_name&gt;/agent:export'\ + * -X POST \ -H 'Authorization: Bearer '$(gcloud auth + * application-default print-access-token) \ -H 'Accept: + * application/json' \ -H 'Content-Type: application/json' \ + * --compressed \ --data-binary '{}' \ | grep agentContent | sed + * -e 's/.*"agentContent": + * "\([^"]*\)".x/\1/' \ | base64 --decode > + * &lt;agent zip file&gt;</pre> + */ + agentContent?: string; + /** + * The URI to a file containing the exported agent. This field is populated + * only if `agent_uri` is specified in `ExportAgentRequest`. + */ + agentUri?: string; + } + /** + * Represents an intent. Intents convert a number of user expressions or + * patterns into an action. An action is an extraction of a user command or + * sentence semantics. + */ + interface Schema$GoogleCloudDialogflowV2beta1Intent { + /** + * Optional. The name of the action associated with the intent. Note: The + * action name must not contain whitespaces. + */ + action?: string; + /** + * Optional. The list of platforms for which the first response will be + * taken from among the messages assigned to the DEFAULT_PLATFORM. + */ + defaultResponsePlatforms?: string[]; + /** + * Required. The name of this intent. + */ + displayName?: string; + /** + * Optional. Indicates that this intent ends an interaction. Some + * integrations (e.g., Actions on Google or Dialogflow phone gateway) use + * this information to close interaction with an end user. Default is false. + */ + endInteraction?: boolean; + /** + * Optional. The collection of event names that trigger the intent. If the + * collection of input contexts is not empty, all of the contexts must be + * present in the active user session for an event to trigger this intent. + */ + events?: string[]; + /** + * Read-only. Information about all followup intents that have this intent + * as a direct or indirect parent. We populate this field only in the + * output. + */ + followupIntentInfo?: Schema$GoogleCloudDialogflowV2beta1IntentFollowupIntentInfo[]; + /** + * Optional. The list of context names required for this intent to be + * triggered. Format: `projects/<Project + * ID>/agent/sessions/-/contexts/<Context ID>`. + */ + inputContextNames?: string[]; + /** + * Optional. Indicates whether this is a fallback intent. + */ + isFallback?: boolean; + /** + * Optional. The collection of rich messages corresponding to the `Response` + * field in the Dialogflow console. + */ + messages?: Schema$GoogleCloudDialogflowV2beta1IntentMessage[]; + /** + * Optional. Indicates whether Machine Learning is disabled for the intent. + * Note: If `ml_disabled` setting is set to true, then this intent is not + * taken into account during inference in `ML ONLY` match mode. Also, + * auto-markup in the UI is turned off. + */ + mlDisabled?: boolean; + /** + * Optional. Indicates whether Machine Learning is enabled for the intent. + * Note: If `ml_enabled` setting is set to false, then this intent is not + * taken into account during inference in `ML ONLY` match mode. Also, + * auto-markup in the UI is turned off. DEPRECATED! Please use `ml_disabled` + * field instead. NOTE: If both `ml_enabled` and `ml_disabled` are either + * not set or false, then the default value is determined as follows: - + * Before April 15th, 2018 the default is: ml_enabled = false / + * ml_disabled = true. - After April 15th, 2018 the default is: ml_enabled + * = true / ml_disabled = false. + */ + mlEnabled?: boolean; + /** + * Required for all methods except `create` (`create` populates the name + * automatically. The unique identifier of this intent. Format: + * `projects/<Project ID>/agent/intents/<Intent ID>`. + */ + name?: string; + /** + * Optional. The collection of contexts that are activated when the intent + * is matched. Context messages in this collection should not set the + * parameters field. Setting the `lifespan_count` to 0 will reset the + * context when the intent is matched. Format: `projects/<Project + * ID>/agent/sessions/-/contexts/<Context ID>`. + */ + outputContexts?: Schema$GoogleCloudDialogflowV2beta1Context[]; + /** + * Optional. The collection of parameters associated with the intent. + */ + parameters?: Schema$GoogleCloudDialogflowV2beta1IntentParameter[]; + /** + * Read-only after creation. The unique identifier of the parent intent in + * the chain of followup intents. You can set this field when creating an + * intent, for example with CreateIntent or BatchUpdateIntents, in order to + * make this intent a followup intent. It identifies the parent followup + * intent. Format: `projects/<Project ID>/agent/intents/<Intent + * ID>`. + */ + parentFollowupIntentName?: string; + /** + * Optional. The priority of this intent. Higher numbers represent higher + * priorities. Zero or negative numbers mean that the intent is disabled. + */ + priority?: number; + /** + * Optional. Indicates whether to delete all contexts in the current session + * when this intent is matched. + */ + resetContexts?: boolean; + /** + * Read-only. The unique identifier of the root intent in the chain of + * followup intents. It identifies the correct followup intents chain for + * this intent. We populate this field only in the output. Format: + * `projects/<Project ID>/agent/intents/<Intent ID>`. + */ + rootFollowupIntentName?: string; + /** + * Optional. The collection of examples/templates that the agent is trained + * on. + */ + trainingPhrases?: Schema$GoogleCloudDialogflowV2beta1IntentTrainingPhrase[]; + /** + * Optional. Indicates whether webhooks are enabled for the intent. + */ + webhookState?: string; + } + /** + * Represents a single followup intent in the chain. + */ + interface Schema$GoogleCloudDialogflowV2beta1IntentFollowupIntentInfo { + /** + * The unique identifier of the followup intent. Format: + * `projects/<Project ID>/agent/intents/<Intent ID>`. + */ + followupIntentName?: string; + /** + * The unique identifier of the followup intent's parent. Format: + * `projects/<Project ID>/agent/intents/<Intent ID>`. + */ + parentFollowupIntentName?: string; + } + /** + * Corresponds to the `Response` field in the Dialogflow console. + */ + interface Schema$GoogleCloudDialogflowV2beta1IntentMessage { + /** + * Displays a basic card for Actions on Google. + */ + basicCard?: Schema$GoogleCloudDialogflowV2beta1IntentMessageBasicCard; + /** + * Displays a card. + */ + card?: Schema$GoogleCloudDialogflowV2beta1IntentMessageCard; + /** + * Displays a carousel card for Actions on Google. + */ + carouselSelect?: Schema$GoogleCloudDialogflowV2beta1IntentMessageCarouselSelect; + /** + * Displays an image. + */ + image?: Schema$GoogleCloudDialogflowV2beta1IntentMessageImage; + /** + * Displays a link out suggestion chip for Actions on Google. + */ + linkOutSuggestion?: Schema$GoogleCloudDialogflowV2beta1IntentMessageLinkOutSuggestion; + /** + * Displays a list card for Actions on Google. + */ + listSelect?: Schema$GoogleCloudDialogflowV2beta1IntentMessageListSelect; + /** + * Returns a response containing a custom, platform-specific payload. See + * the Intent.Message.Platform type for a description of the structure that + * may be required for your platform. + */ + payload?: any; + /** + * Optional. The platform that this message is intended for. + */ + platform?: string; + /** + * Displays quick replies. + */ + quickReplies?: Schema$GoogleCloudDialogflowV2beta1IntentMessageQuickReplies; + /** + * Returns a voice or text-only response for Actions on Google. + */ + simpleResponses?: Schema$GoogleCloudDialogflowV2beta1IntentMessageSimpleResponses; + /** + * Displays suggestion chips for Actions on Google. + */ + suggestions?: Schema$GoogleCloudDialogflowV2beta1IntentMessageSuggestions; + /** + * Plays audio from a file in Telephony Gateway. + */ + telephonyPlayAudio?: Schema$GoogleCloudDialogflowV2beta1IntentMessageTelephonyPlayAudio; + /** + * Synthesizes speech in Telephony Gateway. + */ + telephonySynthesizeSpeech?: Schema$GoogleCloudDialogflowV2beta1IntentMessageTelephonySynthesizeSpeech; + /** + * Transfers the call in Telephony Gateway. + */ + telephonyTransferCall?: Schema$GoogleCloudDialogflowV2beta1IntentMessageTelephonyTransferCall; + /** + * Returns a text response. + */ + text?: Schema$GoogleCloudDialogflowV2beta1IntentMessageText; + } + /** + * The basic card message. Useful for displaying information. + */ + interface Schema$GoogleCloudDialogflowV2beta1IntentMessageBasicCard { + /** + * Optional. The collection of card buttons. + */ + buttons?: Schema$GoogleCloudDialogflowV2beta1IntentMessageBasicCardButton[]; + /** + * Required, unless image is present. The body text of the card. + */ + formattedText?: string; + /** + * Optional. The image for the card. + */ + image?: Schema$GoogleCloudDialogflowV2beta1IntentMessageImage; + /** + * Optional. The subtitle of the card. + */ + subtitle?: string; + /** + * Optional. The title of the card. + */ + title?: string; + } + /** + * The button object that appears at the bottom of a card. + */ + interface Schema$GoogleCloudDialogflowV2beta1IntentMessageBasicCardButton { + /** + * Required. Action to take when a user taps on the button. + */ + openUriAction?: Schema$GoogleCloudDialogflowV2beta1IntentMessageBasicCardButtonOpenUriAction; + /** + * Required. The title of the button. + */ + title?: string; + } + /** + * Opens the given URI. + */ + interface Schema$GoogleCloudDialogflowV2beta1IntentMessageBasicCardButtonOpenUriAction { + /** + * Required. The HTTP or HTTPS scheme URI. + */ + uri?: string; + } + /** + * The card response message. + */ + interface Schema$GoogleCloudDialogflowV2beta1IntentMessageCard { + /** + * Optional. The collection of card buttons. + */ + buttons?: Schema$GoogleCloudDialogflowV2beta1IntentMessageCardButton[]; + /** + * Optional. The public URI to an image file for the card. + */ + imageUri?: string; + /** + * Optional. The subtitle of the card. + */ + subtitle?: string; + /** + * Optional. The title of the card. + */ + title?: string; + } + /** + * Optional. Contains information about a button. + */ + interface Schema$GoogleCloudDialogflowV2beta1IntentMessageCardButton { + /** + * Optional. The text to send back to the Dialogflow API or a URI to open. + */ + postback?: string; + /** + * Optional. The text to show on the button. + */ + text?: string; + } + /** + * The card for presenting a carousel of options to select from. + */ + interface Schema$GoogleCloudDialogflowV2beta1IntentMessageCarouselSelect { + /** + * Required. Carousel items. + */ + items?: Schema$GoogleCloudDialogflowV2beta1IntentMessageCarouselSelectItem[]; + } + /** + * An item in the carousel. + */ + interface Schema$GoogleCloudDialogflowV2beta1IntentMessageCarouselSelectItem { + /** + * Optional. The body text of the card. + */ + description?: string; + /** + * Optional. The image to display. + */ + image?: Schema$GoogleCloudDialogflowV2beta1IntentMessageImage; + /** + * Required. Additional info about the option item. + */ + info?: Schema$GoogleCloudDialogflowV2beta1IntentMessageSelectItemInfo; + /** + * Required. Title of the carousel item. + */ + title?: string; + } + /** + * The image response message. + */ + interface Schema$GoogleCloudDialogflowV2beta1IntentMessageImage { + /** + * A text description of the image to be used for accessibility, e.g., + * screen readers. Required if image_uri is set for CarouselSelect. + */ + accessibilityText?: string; + /** + * Optional. The public URI to an image file. + */ + imageUri?: string; + } + /** + * The suggestion chip message that allows the user to jump out to the app or + * website associated with this agent. + */ + interface Schema$GoogleCloudDialogflowV2beta1IntentMessageLinkOutSuggestion { + /** + * Required. The name of the app or site this chip is linking to. + */ + destinationName?: string; + /** + * Required. The URI of the app or site to open when the user taps the + * suggestion chip. + */ + uri?: string; + } + /** + * The card for presenting a list of options to select from. + */ + interface Schema$GoogleCloudDialogflowV2beta1IntentMessageListSelect { + /** + * Required. List items. + */ + items?: Schema$GoogleCloudDialogflowV2beta1IntentMessageListSelectItem[]; + /** + * Optional. The overall title of the list. + */ + title?: string; + } + /** + * An item in the list. + */ + interface Schema$GoogleCloudDialogflowV2beta1IntentMessageListSelectItem { + /** + * Optional. The main text describing the item. + */ + description?: string; + /** + * Optional. The image to display. + */ + image?: Schema$GoogleCloudDialogflowV2beta1IntentMessageImage; + /** + * Required. Additional information about this option. + */ + info?: Schema$GoogleCloudDialogflowV2beta1IntentMessageSelectItemInfo; + /** + * Required. The title of the list item. + */ + title?: string; + } + /** + * The quick replies response message. + */ + interface Schema$GoogleCloudDialogflowV2beta1IntentMessageQuickReplies { + /** + * Optional. The collection of quick replies. + */ + quickReplies?: string[]; + /** + * Optional. The title of the collection of quick replies. + */ + title?: string; + } + /** + * Additional info about the select item for when it is triggered in a dialog. + */ + interface Schema$GoogleCloudDialogflowV2beta1IntentMessageSelectItemInfo { + /** + * Required. A unique key that will be sent back to the agent if this + * response is given. + */ + key?: string; + /** + * Optional. A list of synonyms that can also be used to trigger this item + * in dialog. + */ + synonyms?: string[]; + } + /** + * The simple response message containing speech or text. + */ + interface Schema$GoogleCloudDialogflowV2beta1IntentMessageSimpleResponse { + /** + * Optional. The text to display. + */ + displayText?: string; + /** + * One of text_to_speech or ssml must be provided. Structured spoken + * response to the user in the SSML format. Mutually exclusive with + * text_to_speech. + */ + ssml?: string; + /** + * One of text_to_speech or ssml must be provided. The plain text of the + * speech output. Mutually exclusive with ssml. + */ + textToSpeech?: string; + } + /** + * The collection of simple response candidates. This message in + * `QueryResult.fulfillment_messages` and + * `WebhookResponse.fulfillment_messages` should contain only one + * `SimpleResponse`. + */ + interface Schema$GoogleCloudDialogflowV2beta1IntentMessageSimpleResponses { + /** + * Required. The list of simple responses. + */ + simpleResponses?: Schema$GoogleCloudDialogflowV2beta1IntentMessageSimpleResponse[]; + } + /** + * The suggestion chip message that the user can tap to quickly post a reply + * to the conversation. + */ + interface Schema$GoogleCloudDialogflowV2beta1IntentMessageSuggestion { + /** + * Required. The text shown the in the suggestion chip. + */ + title?: string; + } + /** + * The collection of suggestions. + */ + interface Schema$GoogleCloudDialogflowV2beta1IntentMessageSuggestions { + /** + * Required. The list of suggested replies. + */ + suggestions?: Schema$GoogleCloudDialogflowV2beta1IntentMessageSuggestion[]; + } + /** + * Plays audio from a file in Telephony Gateway. + */ + interface Schema$GoogleCloudDialogflowV2beta1IntentMessageTelephonyPlayAudio { + /** + * Required. URI to a Google Cloud Storage object containing the audio to + * play, e.g., "gs://bucket/object". The object must contain a + * single channel (mono) of linear PCM audio (2 bytes / sample) at 8kHz. + * This object must be readable by the `service-<Project + * Number>@gcp-sa-dialogflow.iam.gserviceaccount.com` service account + * where <Project Number> is the number of the Telephony Gateway + * project (usually the same as the Dialogflow agent project). If the Google + * Cloud Storage bucket is in the Telephony Gateway project, this permission + * is added by default when enabling the Dialogflow V2 API. For audio from + * other sources, consider using the `TelephonySynthesizeSpeech` message + * with SSML. + */ + audioUri?: string; + } + /** + * Synthesizes speech and plays back the synthesized audio to the caller in + * Telephony Gateway. Telephony Gateway takes the synthesizer settings from + * `DetectIntentResponse.output_audio_config` which can either be set at + * request-level or can come from the agent-level synthesizer config. + */ + interface Schema$GoogleCloudDialogflowV2beta1IntentMessageTelephonySynthesizeSpeech { + /** + * The SSML to be synthesized. For more information, see + * [SSML](https://developers.google.com/actions/reference/ssml). + */ + ssml?: string; + /** + * The raw text to be synthesized. + */ + text?: string; + } + /** + * Transfers the call in Telephony Gateway. + */ + interface Schema$GoogleCloudDialogflowV2beta1IntentMessageTelephonyTransferCall { + /** + * Required. The phone number to transfer the call to in [E.164 + * format](https://en.wikipedia.org/wiki/E.164). We currently only allow + * transferring to US numbers (+1xxxyyyzzzz). + */ + phoneNumber?: string; + } + /** + * The text response message. + */ + interface Schema$GoogleCloudDialogflowV2beta1IntentMessageText { + /** + * Optional. The collection of the agent's responses. + */ + text?: string[]; + } + /** + * Represents intent parameters. + */ + interface Schema$GoogleCloudDialogflowV2beta1IntentParameter { + /** + * Optional. The default value to use when the `value` yields an empty + * result. Default values can be extracted from contexts by using the + * following syntax: `#context_name.parameter_name`. + */ + defaultValue?: string; + /** + * Required. The name of the parameter. + */ + displayName?: string; + /** + * Optional. The name of the entity type, prefixed with `@`, that describes + * values of the parameter. If the parameter is required, this must be + * provided. + */ + entityTypeDisplayName?: string; + /** + * Optional. Indicates whether the parameter represents a list of values. + */ + isList?: boolean; + /** + * Optional. Indicates whether the parameter is required. That is, whether + * the intent cannot be completed without collecting the parameter value. + */ + mandatory?: boolean; + /** + * The unique identifier of this parameter. + */ + name?: string; + /** + * Optional. The collection of prompts that the agent can present to the + * user in order to collect value for the parameter. + */ + prompts?: string[]; + /** + * Optional. The definition of the parameter value. It can be: - a constant + * string, - a parameter value defined as `$parameter_name`, - an original + * parameter value defined as `$parameter_name.original`, - a parameter + * value from some context defined as `#context_name.parameter_name`. + */ + value?: string; + } + /** + * Represents an example or template that the agent is trained on. + */ + interface Schema$GoogleCloudDialogflowV2beta1IntentTrainingPhrase { + /** + * Output only. The unique identifier of this training phrase. + */ + name?: string; + /** + * Required. The collection of training phrase parts (can be annotated). + * Fields: `entity_type`, `alias` and `user_defined` should be populated + * only for the annotated parts of the training phrase. + */ + parts?: Schema$GoogleCloudDialogflowV2beta1IntentTrainingPhrasePart[]; + /** + * Optional. Indicates how many times this example or template was added to + * the intent. Each time a developer adds an existing sample by editing an + * intent or training, this counter is increased. + */ + timesAddedCount?: number; + /** + * Required. The type of the training phrase. + */ + type?: string; + } + /** + * Represents a part of a training phrase. + */ + interface Schema$GoogleCloudDialogflowV2beta1IntentTrainingPhrasePart { + /** + * Optional. The parameter name for the value extracted from the annotated + * part of the example. + */ + alias?: string; + /** + * Optional. The entity type name prefixed with `@`. This field is required + * for the annotated part of the text and applies only to examples. + */ + entityType?: string; + /** + * Required. The text corresponding to the example or template, if there are + * no annotations. For annotated examples, it is the text for one of the + * example's parts. + */ + text?: string; + /** + * Optional. Indicates whether the text was manually annotated by the + * developer. + */ + userDefined?: boolean; + } + /** + * Represents the result of querying a Knowledge base. + */ + interface Schema$GoogleCloudDialogflowV2beta1KnowledgeAnswers { + /** + * A list of answers from Knowledge Connector. + */ + answers?: Schema$GoogleCloudDialogflowV2beta1KnowledgeAnswersAnswer[]; + } + /** + * An answer from Knowledge Connector. + */ + interface Schema$GoogleCloudDialogflowV2beta1KnowledgeAnswersAnswer { + /** + * The piece of text from the `source` knowledge base document that answers + * this conversational query. + */ + answer?: string; + /** + * The corresponding FAQ question if the answer was extracted from a FAQ + * Document, empty otherwise. + */ + faqQuestion?: string; + /** + * The system's confidence score that this Knowledge answer is a good + * match for this converstational query, range from 0.0 (completely + * uncertain) to 1.0 (completely certain). Note: The confidence score is + * likely to vary somewhat (possibly even for identical requests), as the + * underlying model is under constant improvement, we may deprecate it in + * the future. We recommend using `match_confidence_level` which should be + * generally more stable. + */ + matchConfidence?: number; + /** + * The system's confidence level that this knowledge answer is a good + * match for this conversational query. NOTE: The confidence level for a + * given `<query, answer>` pair may change without notice, as it + * depends on models that are constantly being improved. However, it will + * change less frequently than the confidence score below, and should be + * preferred for referencing the quality of an answer. + */ + matchConfidenceLevel?: string; + /** + * Indicates which Knowledge Document this answer was extracted from. + * Format: `projects/<Project ID>/knowledgeBases/<Knowledge Base + * ID>/documents/<Document ID>`. + */ + source?: string; + } + /** + * Metadata in google::longrunning::Operation for Knowledge operations. + */ + interface Schema$GoogleCloudDialogflowV2beta1KnowledgeOperationMetadata { + /** + * Required. The current state of this operation. + */ + state?: string; + } + /** + * Represents the contents of the original request that was passed to the + * `[Streaming]DetectIntent` call. + */ + interface Schema$GoogleCloudDialogflowV2beta1OriginalDetectIntentRequest { + /** + * Optional. This field is set to the value of the `QueryParameters.payload` + * field passed in the request. Some integrations that query a Dialogflow + * agent may provide additional information in the payload. In particular + * for the Telephony Gateway this field has the form: <pre>{ + * "telephony": { "caller_id": + * "+18558363987" } }</pre> Note: The caller ID field + * (`caller_id`) will be redacted for Standard Edition agents and populated + * with the caller ID in [E.164 format](https://en.wikipedia.org/wiki/E.164) + * for Enterprise Edition agents. + */ + payload?: any; + /** + * The source of this request, e.g., `google`, `facebook`, `slack`. It is + * set by Dialogflow-owned servers. + */ + source?: string; + /** + * Optional. The version of the protocol used for this request. This field + * is AoG-specific. + */ + version?: string; + } + /** + * Represents the result of conversational query or event processing. + */ + interface Schema$GoogleCloudDialogflowV2beta1QueryResult { + /** + * The action name from the matched intent. + */ + action?: string; + /** + * This field is set to: - `false` if the matched intent has required + * parameters and not all of the required parameter values have been + * collected. - `true` if all required parameter values have been collected, + * or if the matched intent doesn't contain any required parameters. + */ + allRequiredParamsPresent?: boolean; + /** + * The free-form diagnostic info. For example, this field could contain + * webhook call latency. + */ + diagnosticInfo?: any; + /** + * The collection of rich messages to present to the user. + */ + fulfillmentMessages?: Schema$GoogleCloudDialogflowV2beta1IntentMessage[]; + /** + * The text to be pronounced to the user or shown on the screen. + */ + fulfillmentText?: string; + /** + * The intent that matched the conversational query. Some, not all fields + * are filled in this message, including but not limited to: `name`, + * `display_name` and `webhook_state`. + */ + intent?: Schema$GoogleCloudDialogflowV2beta1Intent; + /** + * The intent detection confidence. Values range from 0.0 (completely + * uncertain) to 1.0 (completely certain). If there are `multiple + * knowledge_answers` messages, this value is set to the greatest + * `knowledgeAnswers.match_confidence` value in the list. + */ + intentDetectionConfidence?: number; + /** + * The result from Knowledge Connector (if any), ordered by decreasing + * `KnowledgeAnswers.match_confidence`. + */ + knowledgeAnswers?: Schema$GoogleCloudDialogflowV2beta1KnowledgeAnswers; + /** + * The language that was triggered during intent detection. See [Language + * Support](https://dialogflow.com/docs/reference/language) for a list of + * the currently supported language codes. + */ + languageCode?: string; + /** + * The collection of output contexts. If applicable, + * `output_contexts.parameters` contains entries with name `<parameter + * name>.original` containing the original parameter values before the + * query. + */ + outputContexts?: Schema$GoogleCloudDialogflowV2beta1Context[]; + /** + * The collection of extracted parameters. + */ + parameters?: any; + /** + * The original conversational query text: - If natural language text was + * provided as input, `query_text` contains a copy of the input. - If + * natural language speech audio was provided as input, `query_text` + * contains the speech recognition result. If speech recognizer produced + * multiple alternatives, a particular one is picked. - If an event was + * provided as input, `query_text` is not set. + */ + queryText?: string; + /** + * The sentiment analysis result, which depends on the + * `sentiment_analysis_request_config` specified in the request. + */ + sentimentAnalysisResult?: Schema$GoogleCloudDialogflowV2beta1SentimentAnalysisResult; + /** + * The Speech recognition confidence between 0.0 and 1.0. A higher number + * indicates an estimated greater likelihood that the recognized words are + * correct. The default of 0.0 is a sentinel value indicating that + * confidence was not set. This field is not guaranteed to be accurate or + * set. In particular this field isn't set for StreamingDetectIntent + * since the streaming endpoint has separate confidence estimates per + * portion of the audio in StreamingRecognitionResult. + */ + speechRecognitionConfidence?: number; + /** + * If the query was fulfilled by a webhook call, this field is set to the + * value of the `payload` field returned in the webhook response. + */ + webhookPayload?: any; + /** + * If the query was fulfilled by a webhook call, this field is set to the + * value of the `source` field returned in the webhook response. + */ + webhookSource?: string; + } + /** + * The sentiment, such as positive/negative feeling or association, for a unit + * of analysis, such as the query text. + */ + interface Schema$GoogleCloudDialogflowV2beta1Sentiment { + /** + * A non-negative number in the [0, +inf) range, which represents the + * absolute magnitude of sentiment, regardless of score (positive or + * negative). + */ + magnitude?: number; + /** + * Sentiment score between -1.0 (negative sentiment) and 1.0 (positive + * sentiment). + */ + score?: number; + } + /** + * The result of sentiment analysis as configured by + * `sentiment_analysis_request_config`. + */ + interface Schema$GoogleCloudDialogflowV2beta1SentimentAnalysisResult { + /** + * The sentiment analysis result for `query_text`. + */ + queryTextSentiment?: Schema$GoogleCloudDialogflowV2beta1Sentiment; + } + /** + * The request message for a webhook call. + */ + interface Schema$GoogleCloudDialogflowV2beta1WebhookRequest { + /** + * Alternative query results from KnowledgeService. + */ + alternativeQueryResults?: Schema$GoogleCloudDialogflowV2beta1QueryResult[]; + /** + * Optional. The contents of the original request that was passed to + * `[Streaming]DetectIntent` call. + */ + originalDetectIntentRequest?: Schema$GoogleCloudDialogflowV2beta1OriginalDetectIntentRequest; + /** + * The result of the conversational query or event processing. Contains the + * same value as `[Streaming]DetectIntentResponse.query_result`. + */ + queryResult?: Schema$GoogleCloudDialogflowV2beta1QueryResult; + /** + * The unique identifier of the response. Contains the same value as + * `[Streaming]DetectIntentResponse.response_id`. + */ + responseId?: string; + /** + * The unique identifier of detectIntent request session. Can be used to + * identify end-user inside webhook implementation. Format: + * `projects/<Project ID>/agent/sessions/<Session ID>`. + */ + session?: string; + } + /** + * The response message for a webhook call. + */ + interface Schema$GoogleCloudDialogflowV2beta1WebhookResponse { + /** + * Optional. Indicates that this intent ends an interaction. Some + * integrations (e.g., Actions on Google or Dialogflow phone gateway) use + * this information to close interaction with an end user. Default is false. + */ + endInteraction?: boolean; + /** + * Optional. Makes the platform immediately invoke another `DetectIntent` + * call internally with the specified event as input. + */ + followupEventInput?: Schema$GoogleCloudDialogflowV2beta1EventInput; + /** + * Optional. The collection of rich messages to present to the user. This + * value is passed directly to `QueryResult.fulfillment_messages`. + */ + fulfillmentMessages?: Schema$GoogleCloudDialogflowV2beta1IntentMessage[]; + /** + * Optional. The text to be shown on the screen. This value is passed + * directly to `QueryResult.fulfillment_text`. + */ + fulfillmentText?: string; + /** + * Optional. The collection of output contexts. This value is passed + * directly to `QueryResult.output_contexts`. + */ + outputContexts?: Schema$GoogleCloudDialogflowV2beta1Context[]; + /** + * Optional. This value is passed directly to `QueryResult.webhook_payload`. + * See the related `fulfillment_messages[i].payload field`, which may be + * used as an alternative to this field. This field can be used for Actions + * on Google responses. It should have a structure similar to the JSON + * message shown here. For more information, see [Actions on Google Webhook + * Format](https://developers.google.com/actions/dialogflow/webhook) + * <pre>{ "google": { "expectUserResponse": + * true, "richResponse": { "items": [ { + * "simpleResponse": { "textToSpeech": + * "this is a simple response" } } ] } + * } }</pre> + */ + payload?: any; + /** + * Optional. This value is passed directly to `QueryResult.webhook_source`. + */ + source?: string; + } + /** + * Represents a context. + */ + interface Schema$GoogleCloudDialogflowV2Context { + /** + * Optional. The number of conversational query requests after which the + * context expires. If set to `0` (the default) the context expires + * immediately. Contexts expire automatically after 10 minutes even if there + * are no matching queries. + */ + lifespanCount?: number; + /** + * Required. The unique identifier of the context. Format: + * `projects/<Project ID>/agent/sessions/<Session + * ID>/contexts/<Context ID>`. + */ + name?: string; + /** + * Optional. The collection of parameters associated with this context. + * Refer to [this doc](https://dialogflow.com/docs/actions-and-parameters) + * for syntax. + */ + parameters?: any; + } + /** + * The request to detect user's intent. + */ + interface Schema$GoogleCloudDialogflowV2DetectIntentRequest { + /** + * Optional. The natural language speech audio to be processed. This field + * should be populated iff `query_input` is set to an input audio config. A + * single request can contain up to 1 minute of speech audio data. + */ + inputAudio?: string; + /** + * Required. The input specification. It can be set to: 1. an audio config + * which instructs the speech recognizer how to process the speech audio, 2. + * a conversational query in the form of text, or 3. an event that + * specifies which intent to trigger. + */ + queryInput?: Schema$GoogleCloudDialogflowV2QueryInput; + /** + * Optional. The parameters of this query. + */ + queryParams?: Schema$GoogleCloudDialogflowV2QueryParameters; + } + /** + * The message returned from the DetectIntent method. + */ + interface Schema$GoogleCloudDialogflowV2DetectIntentResponse { + /** + * The selected results of the conversational query or event processing. See + * `alternative_query_results` for additional potential results. + */ + queryResult?: Schema$GoogleCloudDialogflowV2QueryResult; + /** + * The unique identifier of the response. It can be used to locate a + * response in the training example set or for reporting issues. + */ + responseId?: string; + /** + * Specifies the status of the webhook request. `webhook_status` is never + * populated in webhook requests. + */ + webhookStatus?: Schema$GoogleRpcStatus; + } + /** + * Represents an entity type. Entity types serve as a tool for extracting + * parameter values from natural language queries. + */ + interface Schema$GoogleCloudDialogflowV2EntityType { + /** + * Optional. Indicates whether the entity type can be automatically + * expanded. + */ + autoExpansionMode?: string; + /** + * Required. The name of the entity. + */ + displayName?: string; + /** + * Optional. The collection of entities associated with the entity type. + */ + entities?: Schema$GoogleCloudDialogflowV2EntityTypeEntity[]; + /** + * Required. Indicates the kind of entity type. + */ + kind?: string; + /** + * Required for all methods except `create` (`create` populates the name + * automatically. The unique identifier of the entity type. Format: + * `projects/<Project ID>/agent/entityTypes/<Entity Type ID>`. + */ + name?: string; + } + /** + * This message is a wrapper around a collection of entity types. + */ + interface Schema$GoogleCloudDialogflowV2EntityTypeBatch { + /** + * A collection of entity types. + */ + entityTypes?: Schema$GoogleCloudDialogflowV2EntityType[]; + } + /** + * Optional. Represents an entity. + */ + interface Schema$GoogleCloudDialogflowV2EntityTypeEntity { + /** + * Required. A collection of synonyms. For `KIND_LIST` entity types this + * must contain exactly one synonym equal to `value`. + */ + synonyms?: string[]; + /** + * Required. For `KIND_MAP` entity types: A canonical name to be used in + * place of synonyms. For `KIND_LIST` entity types: A string that can + * contain references to other entity types (with or without aliases). + */ + value?: string; + } + /** + * Events allow for matching intents by event name instead of the natural + * language input. For instance, input `<event: { name: “welcome_event”, + * parameters: { name: “Sam” } }>` can trigger a personalized welcome + * response. The parameter `name` may be used by the agent in the response: + * `“Hello #welcome_event.name! What can I do for you today?”`. + */ + interface Schema$GoogleCloudDialogflowV2EventInput { + /** + * Required. The language of this query. See [Language + * Support](https://dialogflow.com/docs/languages) for a list of the + * currently supported language codes. Note that queries in the same session + * do not necessarily need to specify the same language. + */ + languageCode?: string; + /** + * Required. The unique identifier of the event. + */ + name?: string; + /** + * Optional. The collection of parameters associated with the event. + */ + parameters?: any; + } + /** + * The request message for Agents.ExportAgent. + */ + interface Schema$GoogleCloudDialogflowV2ExportAgentRequest { + /** + * Optional. The [Google Cloud + * Storage](https://cloud.google.com/storage/docs/) URI to export the agent + * to. The format of this URI must be + * `gs://<bucket-name>/<object-name>`. If left unspecified, the + * serialized agent is returned inline. + */ + agentUri?: string; + } + /** + * The response message for Agents.ExportAgent. + */ + interface Schema$GoogleCloudDialogflowV2ExportAgentResponse { + /** + * The exported agent. Example for how to export an agent to a zip file via + * a command line: <pre>curl \ + * 'https://dialogflow.googleapis.com/v2/projects/&lt;project_name&gt;/agent:export'\ + * -X POST \ -H 'Authorization: Bearer '$(gcloud auth + * application-default print-access-token) \ -H 'Accept: + * application/json' \ -H 'Content-Type: application/json' \ + * --compressed \ --data-binary '{}' \ | grep agentContent | sed + * -e 's/.*"agentContent": + * "\([^"]*\)".x/\1/' \ | base64 --decode > + * &lt;agent zip file&gt;</pre> + */ + agentContent?: string; + /** + * The URI to a file containing the exported agent. This field is populated + * only if `agent_uri` is specified in `ExportAgentRequest`. + */ + agentUri?: string; + } + /** + * The request message for Agents.ImportAgent. + */ + interface Schema$GoogleCloudDialogflowV2ImportAgentRequest { + /** + * The agent to import. Example for how to import an agent via the command + * line: <pre>curl \ + * 'https://dialogflow.googleapis.com/v2/projects/&lt;project_name&gt;/agent:import\ + * -X POST \ -H 'Authorization: Bearer '$(gcloud auth + * application-default print-access-token) \ -H 'Accept: + * application/json' \ -H 'Content-Type: application/json' \ + * --compressed \ --data-binary "{ 'agentContent': + * '$(cat &lt;agent zip file&gt; | base64 -w 0)' + * }"</pre> + */ + agentContent?: string; + /** + * The URI to a Google Cloud Storage file containing the agent to import. + * Note: The URI must start with "gs://". + */ + agentUri?: string; + } + /** + * Instructs the speech recognizer how to process the audio content. + */ + interface Schema$GoogleCloudDialogflowV2InputAudioConfig { + /** + * Required. Audio encoding of the audio content to process. + */ + audioEncoding?: string; + /** + * Required. The language of the supplied audio. Dialogflow does not do + * translations. See [Language + * Support](https://dialogflow.com/docs/languages) for a list of the + * currently supported language codes. Note that queries in the same session + * do not necessarily need to specify the same language. + */ + languageCode?: string; + /** + * Optional. The collection of phrase hints which are used to boost accuracy + * of speech recognition. Refer to [Cloud Speech API + * documentation](https://cloud.google.com/speech-to-text/docs/basics#phrase-hints) + * for more details. + */ + phraseHints?: string[]; + /** + * Required. Sample rate (in Hertz) of the audio content sent in the query. + * Refer to [Cloud Speech API + * documentation](https://cloud.google.com/speech-to-text/docs/basics) for + * more details. + */ + sampleRateHertz?: number; + } + /** + * Represents an intent. Intents convert a number of user expressions or + * patterns into an action. An action is an extraction of a user command or + * sentence semantics. + */ + interface Schema$GoogleCloudDialogflowV2Intent { + /** + * Optional. The name of the action associated with the intent. Note: The + * action name must not contain whitespaces. + */ + action?: string; + /** + * Optional. The list of platforms for which the first response will be + * taken from among the messages assigned to the DEFAULT_PLATFORM. + */ + defaultResponsePlatforms?: string[]; + /** + * Required. The name of this intent. + */ + displayName?: string; + /** + * Optional. The collection of event names that trigger the intent. If the + * collection of input contexts is not empty, all of the contexts must be + * present in the active user session for an event to trigger this intent. + */ + events?: string[]; + /** + * Read-only. Information about all followup intents that have this intent + * as a direct or indirect parent. We populate this field only in the + * output. + */ + followupIntentInfo?: Schema$GoogleCloudDialogflowV2IntentFollowupIntentInfo[]; + /** + * Optional. The list of context names required for this intent to be + * triggered. Format: `projects/<Project + * ID>/agent/sessions/-/contexts/<Context ID>`. + */ + inputContextNames?: string[]; + /** + * Optional. Indicates whether this is a fallback intent. + */ + isFallback?: boolean; + /** + * Optional. The collection of rich messages corresponding to the `Response` + * field in the Dialogflow console. + */ + messages?: Schema$GoogleCloudDialogflowV2IntentMessage[]; + /** + * Optional. Indicates whether Machine Learning is disabled for the intent. + * Note: If `ml_diabled` setting is set to true, then this intent is not + * taken into account during inference in `ML ONLY` match mode. Also, + * auto-markup in the UI is turned off. + */ + mlDisabled?: boolean; + /** + * Required for all methods except `create` (`create` populates the name + * automatically. The unique identifier of this intent. Format: + * `projects/<Project ID>/agent/intents/<Intent ID>`. + */ + name?: string; + /** + * Optional. The collection of contexts that are activated when the intent + * is matched. Context messages in this collection should not set the + * parameters field. Setting the `lifespan_count` to 0 will reset the + * context when the intent is matched. Format: `projects/<Project + * ID>/agent/sessions/-/contexts/<Context ID>`. + */ + outputContexts?: Schema$GoogleCloudDialogflowV2Context[]; + /** + * Optional. The collection of parameters associated with the intent. + */ + parameters?: Schema$GoogleCloudDialogflowV2IntentParameter[]; + /** + * Read-only after creation. The unique identifier of the parent intent in + * the chain of followup intents. You can set this field when creating an + * intent, for example with CreateIntent or BatchUpdateIntents, in order to + * make this intent a followup intent. It identifies the parent followup + * intent. Format: `projects/<Project ID>/agent/intents/<Intent + * ID>`. + */ + parentFollowupIntentName?: string; + /** + * Optional. The priority of this intent. Higher numbers represent higher + * priorities. Zero or negative numbers mean that the intent is disabled. + */ + priority?: number; + /** + * Optional. Indicates whether to delete all contexts in the current session + * when this intent is matched. + */ + resetContexts?: boolean; + /** + * Read-only. The unique identifier of the root intent in the chain of + * followup intents. It identifies the correct followup intents chain for + * this intent. We populate this field only in the output. Format: + * `projects/<Project ID>/agent/intents/<Intent ID>`. + */ + rootFollowupIntentName?: string; + /** + * Optional. The collection of examples/templates that the agent is trained + * on. + */ + trainingPhrases?: Schema$GoogleCloudDialogflowV2IntentTrainingPhrase[]; + /** + * Optional. Indicates whether webhooks are enabled for the intent. + */ + webhookState?: string; + } + /** + * This message is a wrapper around a collection of intents. + */ + interface Schema$GoogleCloudDialogflowV2IntentBatch { + /** + * A collection of intents. + */ + intents?: Schema$GoogleCloudDialogflowV2Intent[]; + } + /** + * Represents a single followup intent in the chain. + */ + interface Schema$GoogleCloudDialogflowV2IntentFollowupIntentInfo { + /** + * The unique identifier of the followup intent. Format: + * `projects/<Project ID>/agent/intents/<Intent ID>`. + */ + followupIntentName?: string; + /** + * The unique identifier of the followup intent's parent. Format: + * `projects/<Project ID>/agent/intents/<Intent ID>`. + */ + parentFollowupIntentName?: string; + } + /** + * Corresponds to the `Response` field in the Dialogflow console. + */ + interface Schema$GoogleCloudDialogflowV2IntentMessage { + /** + * The basic card response for Actions on Google. + */ + basicCard?: Schema$GoogleCloudDialogflowV2IntentMessageBasicCard; + /** + * The card response. + */ + card?: Schema$GoogleCloudDialogflowV2IntentMessageCard; + /** + * The carousel card response for Actions on Google. + */ + carouselSelect?: Schema$GoogleCloudDialogflowV2IntentMessageCarouselSelect; + /** + * The image response. + */ + image?: Schema$GoogleCloudDialogflowV2IntentMessageImage; + /** + * The link out suggestion chip for Actions on Google. + */ + linkOutSuggestion?: Schema$GoogleCloudDialogflowV2IntentMessageLinkOutSuggestion; + /** + * The list card response for Actions on Google. + */ + listSelect?: Schema$GoogleCloudDialogflowV2IntentMessageListSelect; + /** + * Returns a response containing a custom, platform-specific payload. See + * the Intent.Message.Platform type for a description of the structure that + * may be required for your platform. + */ + payload?: any; + /** + * Optional. The platform that this message is intended for. + */ + platform?: string; + /** + * The quick replies response. + */ + quickReplies?: Schema$GoogleCloudDialogflowV2IntentMessageQuickReplies; + /** + * The voice and text-only responses for Actions on Google. + */ + simpleResponses?: Schema$GoogleCloudDialogflowV2IntentMessageSimpleResponses; + /** + * The suggestion chips for Actions on Google. + */ + suggestions?: Schema$GoogleCloudDialogflowV2IntentMessageSuggestions; + /** + * The text response. + */ + text?: Schema$GoogleCloudDialogflowV2IntentMessageText; + } + /** + * The basic card message. Useful for displaying information. + */ + interface Schema$GoogleCloudDialogflowV2IntentMessageBasicCard { + /** + * Optional. The collection of card buttons. + */ + buttons?: Schema$GoogleCloudDialogflowV2IntentMessageBasicCardButton[]; + /** + * Required, unless image is present. The body text of the card. + */ + formattedText?: string; + /** + * Optional. The image for the card. + */ + image?: Schema$GoogleCloudDialogflowV2IntentMessageImage; + /** + * Optional. The subtitle of the card. + */ + subtitle?: string; + /** + * Optional. The title of the card. + */ + title?: string; + } + /** + * The button object that appears at the bottom of a card. + */ + interface Schema$GoogleCloudDialogflowV2IntentMessageBasicCardButton { + /** + * Required. Action to take when a user taps on the button. + */ + openUriAction?: Schema$GoogleCloudDialogflowV2IntentMessageBasicCardButtonOpenUriAction; + /** + * Required. The title of the button. + */ + title?: string; + } + /** + * Opens the given URI. + */ + interface Schema$GoogleCloudDialogflowV2IntentMessageBasicCardButtonOpenUriAction { + /** + * Required. The HTTP or HTTPS scheme URI. + */ + uri?: string; + } + /** + * The card response message. + */ + interface Schema$GoogleCloudDialogflowV2IntentMessageCard { + /** + * Optional. The collection of card buttons. + */ + buttons?: Schema$GoogleCloudDialogflowV2IntentMessageCardButton[]; + /** + * Optional. The public URI to an image file for the card. + */ + imageUri?: string; + /** + * Optional. The subtitle of the card. + */ + subtitle?: string; + /** + * Optional. The title of the card. + */ + title?: string; + } + /** + * Optional. Contains information about a button. + */ + interface Schema$GoogleCloudDialogflowV2IntentMessageCardButton { + /** + * Optional. The text to send back to the Dialogflow API or a URI to open. + */ + postback?: string; + /** + * Optional. The text to show on the button. + */ + text?: string; + } + /** + * The card for presenting a carousel of options to select from. + */ + interface Schema$GoogleCloudDialogflowV2IntentMessageCarouselSelect { + /** + * Required. Carousel items. + */ + items?: Schema$GoogleCloudDialogflowV2IntentMessageCarouselSelectItem[]; + } + /** + * An item in the carousel. + */ + interface Schema$GoogleCloudDialogflowV2IntentMessageCarouselSelectItem { + /** + * Optional. The body text of the card. + */ + description?: string; + /** + * Optional. The image to display. + */ + image?: Schema$GoogleCloudDialogflowV2IntentMessageImage; + /** + * Required. Additional info about the option item. + */ + info?: Schema$GoogleCloudDialogflowV2IntentMessageSelectItemInfo; + /** + * Required. Title of the carousel item. + */ + title?: string; + } + /** + * The image response message. + */ + interface Schema$GoogleCloudDialogflowV2IntentMessageImage { + /** + * Optional. A text description of the image to be used for accessibility, + * e.g., screen readers. + */ + accessibilityText?: string; + /** + * Optional. The public URI to an image file. + */ + imageUri?: string; + } + /** + * The suggestion chip message that allows the user to jump out to the app or + * website associated with this agent. + */ + interface Schema$GoogleCloudDialogflowV2IntentMessageLinkOutSuggestion { + /** + * Required. The name of the app or site this chip is linking to. + */ + destinationName?: string; + /** + * Required. The URI of the app or site to open when the user taps the + * suggestion chip. + */ + uri?: string; + } + /** + * The card for presenting a list of options to select from. + */ + interface Schema$GoogleCloudDialogflowV2IntentMessageListSelect { + /** + * Required. List items. + */ + items?: Schema$GoogleCloudDialogflowV2IntentMessageListSelectItem[]; + /** + * Optional. The overall title of the list. + */ + title?: string; + } + /** + * An item in the list. + */ + interface Schema$GoogleCloudDialogflowV2IntentMessageListSelectItem { + /** + * Optional. The main text describing the item. + */ + description?: string; + /** + * Optional. The image to display. + */ + image?: Schema$GoogleCloudDialogflowV2IntentMessageImage; + /** + * Required. Additional information about this option. + */ + info?: Schema$GoogleCloudDialogflowV2IntentMessageSelectItemInfo; + /** + * Required. The title of the list item. + */ + title?: string; + } + /** + * The quick replies response message. + */ + interface Schema$GoogleCloudDialogflowV2IntentMessageQuickReplies { + /** + * Optional. The collection of quick replies. + */ + quickReplies?: string[]; + /** + * Optional. The title of the collection of quick replies. + */ + title?: string; + } + /** + * Additional info about the select item for when it is triggered in a dialog. + */ + interface Schema$GoogleCloudDialogflowV2IntentMessageSelectItemInfo { + /** + * Required. A unique key that will be sent back to the agent if this + * response is given. + */ + key?: string; + /** + * Optional. A list of synonyms that can also be used to trigger this item + * in dialog. + */ + synonyms?: string[]; + } + /** + * The simple response message containing speech or text. + */ + interface Schema$GoogleCloudDialogflowV2IntentMessageSimpleResponse { + /** + * Optional. The text to display. + */ + displayText?: string; + /** + * One of text_to_speech or ssml must be provided. Structured spoken + * response to the user in the SSML format. Mutually exclusive with + * text_to_speech. + */ + ssml?: string; + /** + * One of text_to_speech or ssml must be provided. The plain text of the + * speech output. Mutually exclusive with ssml. + */ + textToSpeech?: string; + } + /** + * The collection of simple response candidates. This message in + * `QueryResult.fulfillment_messages` and + * `WebhookResponse.fulfillment_messages` should contain only one + * `SimpleResponse`. + */ + interface Schema$GoogleCloudDialogflowV2IntentMessageSimpleResponses { + /** + * Required. The list of simple responses. + */ + simpleResponses?: Schema$GoogleCloudDialogflowV2IntentMessageSimpleResponse[]; + } + /** + * The suggestion chip message that the user can tap to quickly post a reply + * to the conversation. + */ + interface Schema$GoogleCloudDialogflowV2IntentMessageSuggestion { + /** + * Required. The text shown the in the suggestion chip. + */ + title?: string; + } + /** + * The collection of suggestions. + */ + interface Schema$GoogleCloudDialogflowV2IntentMessageSuggestions { + /** + * Required. The list of suggested replies. + */ + suggestions?: Schema$GoogleCloudDialogflowV2IntentMessageSuggestion[]; + } + /** + * The text response message. + */ + interface Schema$GoogleCloudDialogflowV2IntentMessageText { + /** + * Optional. The collection of the agent's responses. + */ + text?: string[]; + } + /** + * Represents intent parameters. + */ + interface Schema$GoogleCloudDialogflowV2IntentParameter { + /** + * Optional. The default value to use when the `value` yields an empty + * result. Default values can be extracted from contexts by using the + * following syntax: `#context_name.parameter_name`. + */ + defaultValue?: string; + /** + * Required. The name of the parameter. + */ + displayName?: string; + /** + * Optional. The name of the entity type, prefixed with `@`, that describes + * values of the parameter. If the parameter is required, this must be + * provided. + */ + entityTypeDisplayName?: string; + /** + * Optional. Indicates whether the parameter represents a list of values. + */ + isList?: boolean; + /** + * Optional. Indicates whether the parameter is required. That is, whether + * the intent cannot be completed without collecting the parameter value. + */ + mandatory?: boolean; + /** + * The unique identifier of this parameter. + */ + name?: string; + /** + * Optional. The collection of prompts that the agent can present to the + * user in order to collect value for the parameter. + */ + prompts?: string[]; + /** + * Optional. The definition of the parameter value. It can be: - a constant + * string, - a parameter value defined as `$parameter_name`, - an original + * parameter value defined as `$parameter_name.original`, - a parameter + * value from some context defined as `#context_name.parameter_name`. + */ + value?: string; + } + /** + * Represents an example or template that the agent is trained on. + */ + interface Schema$GoogleCloudDialogflowV2IntentTrainingPhrase { + /** + * Output only. The unique identifier of this training phrase. + */ + name?: string; + /** + * Required. The collection of training phrase parts (can be annotated). + * Fields: `entity_type`, `alias` and `user_defined` should be populated + * only for the annotated parts of the training phrase. + */ + parts?: Schema$GoogleCloudDialogflowV2IntentTrainingPhrasePart[]; + /** + * Optional. Indicates how many times this example or template was added to + * the intent. Each time a developer adds an existing sample by editing an + * intent or training, this counter is increased. + */ + timesAddedCount?: number; + /** + * Required. The type of the training phrase. + */ + type?: string; + } + /** + * Represents a part of a training phrase. + */ + interface Schema$GoogleCloudDialogflowV2IntentTrainingPhrasePart { + /** + * Optional. The parameter name for the value extracted from the annotated + * part of the example. + */ + alias?: string; + /** + * Optional. The entity type name prefixed with `@`. This field is required + * for the annotated part of the text and applies only to examples. + */ + entityType?: string; + /** + * Required. The text corresponding to the example or template, if there are + * no annotations. For annotated examples, it is the text for one of the + * example's parts. + */ + text?: string; + /** + * Optional. Indicates whether the text was manually annotated by the + * developer. + */ + userDefined?: boolean; + } + /** + * The response message for Contexts.ListContexts. + */ + interface Schema$GoogleCloudDialogflowV2ListContextsResponse { + /** + * The list of contexts. There will be a maximum number of items returned + * based on the page_size field in the request. + */ + contexts?: Schema$GoogleCloudDialogflowV2Context[]; + /** + * Token to retrieve the next page of results, or empty if there are no more + * results in the list. + */ + nextPageToken?: string; + } + /** + * The response message for EntityTypes.ListEntityTypes. + */ + interface Schema$GoogleCloudDialogflowV2ListEntityTypesResponse { + /** + * The list of agent entity types. There will be a maximum number of items + * returned based on the page_size field in the request. + */ + entityTypes?: Schema$GoogleCloudDialogflowV2EntityType[]; + /** + * Token to retrieve the next page of results, or empty if there are no more + * results in the list. + */ + nextPageToken?: string; + } + /** + * The response message for Intents.ListIntents. + */ + interface Schema$GoogleCloudDialogflowV2ListIntentsResponse { + /** + * The list of agent intents. There will be a maximum number of items + * returned based on the page_size field in the request. + */ + intents?: Schema$GoogleCloudDialogflowV2Intent[]; + /** + * Token to retrieve the next page of results, or empty if there are no more + * results in the list. + */ + nextPageToken?: string; + } + /** + * The response message for SessionEntityTypes.ListSessionEntityTypes. + */ + interface Schema$GoogleCloudDialogflowV2ListSessionEntityTypesResponse { + /** + * Token to retrieve the next page of results, or empty if there are no more + * results in the list. + */ + nextPageToken?: string; + /** + * The list of session entity types. There will be a maximum number of items + * returned based on the page_size field in the request. + */ + sessionEntityTypes?: Schema$GoogleCloudDialogflowV2SessionEntityType[]; + } + /** + * Represents the contents of the original request that was passed to the + * `[Streaming]DetectIntent` call. + */ + interface Schema$GoogleCloudDialogflowV2OriginalDetectIntentRequest { + /** + * Optional. This field is set to the value of the `QueryParameters.payload` + * field passed in the request. Some integrations that query a Dialogflow + * agent may provide additional information in the payload. In particular + * for the Telephony Gateway this field has the form: <pre>{ + * "telephony": { "caller_id": + * "+18558363987" } }</pre> Note: The caller ID field + * (`caller_id`) will be redacted for Standard Edition agents and populated + * with the caller ID in [E.164 format](https://en.wikipedia.org/wiki/E.164) + * for Enterprise Edition agents. + */ + payload?: any; + /** + * The source of this request, e.g., `google`, `facebook`, `slack`. It is + * set by Dialogflow-owned servers. + */ + source?: string; + /** + * Optional. The version of the protocol used for this request. This field + * is AoG-specific. + */ + version?: string; + } + /** + * Represents the query input. It can contain either: 1. An audio config + * which instructs the speech recognizer how to process the speech audio. + * 2. A conversational query in the form of text,. 3. An event that + * specifies which intent to trigger. + */ + interface Schema$GoogleCloudDialogflowV2QueryInput { + /** + * Instructs the speech recognizer how to process the speech audio. + */ + audioConfig?: Schema$GoogleCloudDialogflowV2InputAudioConfig; + /** + * The event to be processed. + */ + event?: Schema$GoogleCloudDialogflowV2EventInput; + /** + * The natural language text to be processed. + */ + text?: Schema$GoogleCloudDialogflowV2TextInput; + } + /** + * Represents the parameters of the conversational query. + */ + interface Schema$GoogleCloudDialogflowV2QueryParameters { + /** + * Optional. The collection of contexts to be activated before this query is + * executed. + */ + contexts?: Schema$GoogleCloudDialogflowV2Context[]; + /** + * Optional. The geo location of this conversational query. + */ + geoLocation?: Schema$GoogleTypeLatLng; + /** + * Optional. This field can be used to pass custom data into the webhook + * associated with the agent. Arbitrary JSON objects are supported. + */ + payload?: any; + /** + * Optional. Specifies whether to delete all contexts in the current session + * before the new ones are activated. + */ + resetContexts?: boolean; + /** + * Optional. The collection of session entity types to replace or extend + * developer entities with for this query only. The entity synonyms apply to + * all languages. + */ + sessionEntityTypes?: Schema$GoogleCloudDialogflowV2SessionEntityType[]; + /** + * Optional. The time zone of this conversational query from the [time zone + * database](https://www.iana.org/time-zones), e.g., America/New_York, + * Europe/Paris. If not provided, the time zone specified in agent settings + * is used. + */ + timeZone?: string; + } + /** + * Represents the result of conversational query or event processing. + */ + interface Schema$GoogleCloudDialogflowV2QueryResult { + /** + * The action name from the matched intent. + */ + action?: string; + /** + * This field is set to: - `false` if the matched intent has required + * parameters and not all of the required parameter values have been + * collected. - `true` if all required parameter values have been collected, + * or if the matched intent doesn't contain any required parameters. + */ + allRequiredParamsPresent?: boolean; + /** + * The free-form diagnostic info. For example, this field could contain + * webhook call latency. + */ + diagnosticInfo?: any; + /** + * The collection of rich messages to present to the user. + */ + fulfillmentMessages?: Schema$GoogleCloudDialogflowV2IntentMessage[]; + /** + * The text to be pronounced to the user or shown on the screen. + */ + fulfillmentText?: string; + /** + * The intent that matched the conversational query. Some, not all fields + * are filled in this message, including but not limited to: `name`, + * `display_name` and `webhook_state`. + */ + intent?: Schema$GoogleCloudDialogflowV2Intent; + /** + * The intent detection confidence. Values range from 0.0 (completely + * uncertain) to 1.0 (completely certain). If there are `multiple + * knowledge_answers` messages, this value is set to the greatest + * `knowledgeAnswers.match_confidence` value in the list. + */ + intentDetectionConfidence?: number; + /** + * The language that was triggered during intent detection. See [Language + * Support](https://dialogflow.com/docs/reference/language) for a list of + * the currently supported language codes. + */ + languageCode?: string; + /** + * The collection of output contexts. If applicable, + * `output_contexts.parameters` contains entries with name `<parameter + * name>.original` containing the original parameter values before the + * query. + */ + outputContexts?: Schema$GoogleCloudDialogflowV2Context[]; + /** + * The collection of extracted parameters. + */ + parameters?: any; + /** + * The original conversational query text: - If natural language text was + * provided as input, `query_text` contains a copy of the input. - If + * natural language speech audio was provided as input, `query_text` + * contains the speech recognition result. If speech recognizer produced + * multiple alternatives, a particular one is picked. - If an event was + * provided as input, `query_text` is not set. + */ + queryText?: string; + /** + * The Speech recognition confidence between 0.0 and 1.0. A higher number + * indicates an estimated greater likelihood that the recognized words are + * correct. The default of 0.0 is a sentinel value indicating that + * confidence was not set. This field is not guaranteed to be accurate or + * set. In particular this field isn't set for StreamingDetectIntent + * since the streaming endpoint has separate confidence estimates per + * portion of the audio in StreamingRecognitionResult. + */ + speechRecognitionConfidence?: number; + /** + * If the query was fulfilled by a webhook call, this field is set to the + * value of the `payload` field returned in the webhook response. + */ + webhookPayload?: any; + /** + * If the query was fulfilled by a webhook call, this field is set to the + * value of the `source` field returned in the webhook response. + */ + webhookSource?: string; + } + /** + * The request message for Agents.RestoreAgent. + */ + interface Schema$GoogleCloudDialogflowV2RestoreAgentRequest { + /** + * The agent to restore. Example for how to restore an agent via the + * command line: <pre>curl \ + * 'https://dialogflow.googleapis.com/v2/projects/&lt;project_name&gt;/agent:restore\ + * -X POST \ -H 'Authorization: Bearer '$(gcloud auth + * application-default print-access-token) \ -H 'Accept: + * application/json' \ -H 'Content-Type: application/json' \ + * --compressed \ --data-binary "{ 'agentContent': + * '$(cat &lt;agent zip file&gt; | base64 -w 0)' + * }"</pre> + */ + agentContent?: string; + /** + * The URI to a Google Cloud Storage file containing the agent to restore. + * Note: The URI must start with "gs://". + */ + agentUri?: string; + } + /** + * The response message for Agents.SearchAgents. + */ + interface Schema$GoogleCloudDialogflowV2SearchAgentsResponse { + /** + * The list of agents. There will be a maximum number of items returned + * based on the page_size field in the request. + */ + agents?: Schema$GoogleCloudDialogflowV2Agent[]; + /** + * Token to retrieve the next page of results, or empty if there are no more + * results in the list. + */ + nextPageToken?: string; + } + /** + * Represents a session entity type. Extends or replaces a developer entity + * type at the user session level (we refer to the entity types defined at the + * agent level as "developer entity types"). Note: session entity + * types apply to all queries, regardless of the language. + */ + interface Schema$GoogleCloudDialogflowV2SessionEntityType { + /** + * Required. The collection of entities associated with this session entity + * type. + */ + entities?: Schema$GoogleCloudDialogflowV2EntityTypeEntity[]; + /** + * Required. Indicates whether the additional data should override or + * supplement the developer entity type definition. + */ + entityOverrideMode?: string; + /** + * Required. The unique identifier of this session entity type. Format: + * `projects/<Project ID>/agent/sessions/<Session + * ID>/entityTypes/<Entity Type Display Name>`. + */ + name?: string; + } + /** + * Represents the natural language text to be processed. + */ + interface Schema$GoogleCloudDialogflowV2TextInput { + /** + * Required. The language of this conversational query. See [Language + * Support](https://dialogflow.com/docs/languages) for a list of the + * currently supported language codes. Note that queries in the same session + * do not necessarily need to specify the same language. + */ + languageCode?: string; + /** + * Required. The UTF-8 encoded natural language text to be processed. Text + * length must not exceed 256 bytes. + */ + text?: string; + } + /** + * The request message for Agents.TrainAgent. + */ + interface Schema$GoogleCloudDialogflowV2TrainAgentRequest { + } + /** + * The request message for a webhook call. + */ + interface Schema$GoogleCloudDialogflowV2WebhookRequest { + /** + * Optional. The contents of the original request that was passed to + * `[Streaming]DetectIntent` call. + */ + originalDetectIntentRequest?: Schema$GoogleCloudDialogflowV2OriginalDetectIntentRequest; + /** + * The result of the conversational query or event processing. Contains the + * same value as `[Streaming]DetectIntentResponse.query_result`. + */ + queryResult?: Schema$GoogleCloudDialogflowV2QueryResult; + /** + * The unique identifier of the response. Contains the same value as + * `[Streaming]DetectIntentResponse.response_id`. + */ + responseId?: string; + /** + * The unique identifier of detectIntent request session. Can be used to + * identify end-user inside webhook implementation. Format: + * `projects/<Project ID>/agent/sessions/<Session ID>`. + */ + session?: string; + } + /** + * The response message for a webhook call. + */ + interface Schema$GoogleCloudDialogflowV2WebhookResponse { + /** + * Optional. Makes the platform immediately invoke another `DetectIntent` + * call internally with the specified event as input. + */ + followupEventInput?: Schema$GoogleCloudDialogflowV2EventInput; + /** + * Optional. The collection of rich messages to present to the user. This + * value is passed directly to `QueryResult.fulfillment_messages`. + */ + fulfillmentMessages?: Schema$GoogleCloudDialogflowV2IntentMessage[]; + /** + * Optional. The text to be shown on the screen. This value is passed + * directly to `QueryResult.fulfillment_text`. + */ + fulfillmentText?: string; + /** + * Optional. The collection of output contexts. This value is passed + * directly to `QueryResult.output_contexts`. + */ + outputContexts?: Schema$GoogleCloudDialogflowV2Context[]; + /** + * Optional. This value is passed directly to `QueryResult.webhook_payload`. + * See the related `fulfillment_messages[i].payload field`, which may be + * used as an alternative to this field. This field can be used for Actions + * on Google responses. It should have a structure similar to the JSON + * message shown here. For more information, see [Actions on Google Webhook + * Format](https://developers.google.com/actions/dialogflow/webhook) + * <pre>{ "google": { "expectUserResponse": + * true, "richResponse": { "items": [ { + * "simpleResponse": { "textToSpeech": + * "this is a simple response" } } ] } + * } }</pre> + */ + payload?: any; + /** + * Optional. This value is passed directly to `QueryResult.webhook_source`. + */ + source?: string; + } + /** + * This resource represents a long-running operation that is the result of a + * network API call. + */ + interface Schema$GoogleLongrunningOperation { + /** + * If the value is `false`, it means the operation is still in progress. If + * `true`, the operation is completed, and either `error` or `response` is + * available. + */ + done?: boolean; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$GoogleRpcStatus; + /** + * Service-specific metadata associated with the operation. It typically + * contains progress information and common metadata such as create time. + * Some services might not provide such metadata. Any method that returns a + * long-running operation should document the metadata type, if any. + */ + metadata?: any; + /** + * The server-assigned name, which is only unique within the same service + * that originally returns it. If you use the default HTTP mapping, the + * `name` should have the format of `operations/some/unique/name`. + */ + name?: string; + /** + * The normal response of the operation in case of success. If the original + * method returns no data on success, such as `Delete`, the response is + * `google.protobuf.Empty`. If the original method is standard + * `Get`/`Create`/`Update`, the response should be the resource. For other + * methods, the response should have the type `XxxResponse`, where `Xxx` is + * the original method name. For example, if the original method name is + * `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: any; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$GoogleProtobufEmpty { + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$GoogleRpcStatus { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + /** + * An object representing a latitude/longitude pair. This is expressed as a + * pair of doubles representing degrees latitude and degrees longitude. Unless + * specified otherwise, this must conform to the <a + * href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84 + * standard</a>. Values must be within normalized ranges. + */ + interface Schema$GoogleTypeLatLng { + /** + * The latitude in degrees. It must be in the range [-90.0, +90.0]. + */ + latitude?: number; + /** + * The longitude in degrees. It must be in the range [-180.0, +180.0]. + */ + longitude?: number; + } + class Resource$Projects { + root: Dialogflow; + agent: Resource$Projects$Agent; + operations: Resource$Projects$Operations; + constructor(root: Dialogflow); + getRoot(): Dialogflow; + /** + * dialogflow.projects.getAgent + * @desc Retrieves the specified agent. + * @alias dialogflow.projects.getAgent + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The project that the agent to fetch is associated with. Format: `projects/`. + * @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 + */ + getAgent(params?: Params$Resource$Projects$Getagent, options?: MethodOptions): AxiosPromise; + getAgent(params: Params$Resource$Projects$Getagent, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getAgent(params: Params$Resource$Projects$Getagent, callback: BodyResponseCallback): void; + getAgent(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Getagent { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The project that the agent to fetch is associated with. Format: + * `projects/`. + */ + parent?: string; + } + class Resource$Projects$Agent { + root: Dialogflow; + entityTypes: Resource$Projects$Agent$Entitytypes; + intents: Resource$Projects$Agent$Intents; + sessions: Resource$Projects$Agent$Sessions; + constructor(root: Dialogflow); + getRoot(): Dialogflow; + /** + * dialogflow.projects.agent.export + * @desc Exports the specified agent to a ZIP file. Operation + * @alias dialogflow.projects.agent.export + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The project that the agent to export is associated with. Format: `projects/`. + * @param {().GoogleCloudDialogflowV2ExportAgentRequest} 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 + */ + export(params?: Params$Resource$Projects$Agent$Export, options?: MethodOptions): AxiosPromise; + export(params: Params$Resource$Projects$Agent$Export, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + export(params: Params$Resource$Projects$Agent$Export, callback: BodyResponseCallback): void; + export(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.import + * @desc Imports the specified agent from a ZIP file. Uploads new intents and + * entity types without deleting the existing ones. Intents and entity types + * with the same name are replaced with the new versions from + * ImportAgentRequest. Operation + * @alias dialogflow.projects.agent.import + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The project that the agent to import is associated with. Format: `projects/`. + * @param {().GoogleCloudDialogflowV2ImportAgentRequest} 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 + */ + import(params?: Params$Resource$Projects$Agent$Import, options?: MethodOptions): AxiosPromise; + import(params: Params$Resource$Projects$Agent$Import, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + import(params: Params$Resource$Projects$Agent$Import, callback: BodyResponseCallback): void; + import(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.restore + * @desc Restores the specified agent from a ZIP file. Replaces the current agent version with a new one. All the intents and entity types in the older version are deleted. Operation + * @alias dialogflow.projects.agent.restore + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The project that the agent to restore is associated with. Format: `projects/`. + * @param {().GoogleCloudDialogflowV2RestoreAgentRequest} 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 + */ + restore(params?: Params$Resource$Projects$Agent$Restore, options?: MethodOptions): AxiosPromise; + restore(params: Params$Resource$Projects$Agent$Restore, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + restore(params: Params$Resource$Projects$Agent$Restore, callback: BodyResponseCallback): void; + restore(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.search + * @desc Returns the list of agents. Since there is at most one + * conversational agent per project, this method is useful primarily for + * listing all agents across projects the caller has access to. One can + * achieve that with a wildcard project collection id "-". Refer to [List + * Sub-Collections](https://cloud.google.com/apis/design/design_patterns#list_sub-collections). + * @alias dialogflow.projects.agent.search + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Optional. The maximum number of items to return in a single page. By default 100 and at most 1000. + * @param {string=} params.pageToken Optional. The next_page_token value returned from a previous list request. + * @param {string} params.parent Required. The project to list agents from. Format: `projects/`. + * @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 + */ + search(params?: Params$Resource$Projects$Agent$Search, options?: MethodOptions): AxiosPromise; + search(params: Params$Resource$Projects$Agent$Search, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + search(params: Params$Resource$Projects$Agent$Search, callback: BodyResponseCallback): void; + search(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.train + * @desc Trains the specified agent. Operation + * @alias dialogflow.projects.agent.train + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The project that the agent to train is associated with. Format: `projects/`. + * @param {().GoogleCloudDialogflowV2TrainAgentRequest} 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 + */ + train(params?: Params$Resource$Projects$Agent$Train, options?: MethodOptions): AxiosPromise; + train(params: Params$Resource$Projects$Agent$Train, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + train(params: Params$Resource$Projects$Agent$Train, callback: BodyResponseCallback): void; + train(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Agent$Export { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The project that the agent to export is associated with. + * Format: `projects/`. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDialogflowV2ExportAgentRequest; + } + interface Params$Resource$Projects$Agent$Import { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The project that the agent to import is associated with. + * Format: `projects/`. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDialogflowV2ImportAgentRequest; + } + interface Params$Resource$Projects$Agent$Restore { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The project that the agent to restore is associated with. + * Format: `projects/`. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDialogflowV2RestoreAgentRequest; + } + interface Params$Resource$Projects$Agent$Search { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The maximum number of items to return in a single page. By + * default 100 and at most 1000. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list + * request. + */ + pageToken?: string; + /** + * Required. The project to list agents from. Format: `projects/`. + */ + parent?: string; + } + interface Params$Resource$Projects$Agent$Train { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The project that the agent to train is associated with. Format: + * `projects/`. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDialogflowV2TrainAgentRequest; + } + class Resource$Projects$Agent$Entitytypes { + root: Dialogflow; + entities: Resource$Projects$Agent$Entitytypes$Entities; + constructor(root: Dialogflow); + getRoot(): Dialogflow; + /** + * dialogflow.projects.agent.entityTypes.batchDelete + * @desc Deletes entity types in the specified agent. Operation + * @alias dialogflow.projects.agent.entityTypes.batchDelete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The name of the agent to delete all entities types for. Format: `projects//agent`. + * @param {().GoogleCloudDialogflowV2BatchDeleteEntityTypesRequest} 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 + */ + batchDelete(params?: Params$Resource$Projects$Agent$Entitytypes$Batchdelete, options?: MethodOptions): AxiosPromise; + batchDelete(params: Params$Resource$Projects$Agent$Entitytypes$Batchdelete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + batchDelete(params: Params$Resource$Projects$Agent$Entitytypes$Batchdelete, callback: BodyResponseCallback): void; + batchDelete(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.entityTypes.batchUpdate + * @desc Updates/Creates multiple entity types in the specified agent. + * Operation + * @alias dialogflow.projects.agent.entityTypes.batchUpdate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The name of the agent to update or create entity types in. Format: `projects//agent`. + * @param {().GoogleCloudDialogflowV2BatchUpdateEntityTypesRequest} 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 + */ + batchUpdate(params?: Params$Resource$Projects$Agent$Entitytypes$Batchupdate, options?: MethodOptions): AxiosPromise; + batchUpdate(params: Params$Resource$Projects$Agent$Entitytypes$Batchupdate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + batchUpdate(params: Params$Resource$Projects$Agent$Entitytypes$Batchupdate, callback: BodyResponseCallback): void; + batchUpdate(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.entityTypes.create + * @desc Creates an entity type in the specified agent. + * @alias dialogflow.projects.agent.entityTypes.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.languageCode Optional. The language of entity synonyms defined in `entity_type`. If not specified, the agent's default language is used. [More than a dozen languages](https://dialogflow.com/docs/reference/language) are supported. Note: languages must be enabled in the agent, before they can be used. + * @param {string} params.parent Required. The agent to create a entity type for. Format: `projects//agent`. + * @param {().GoogleCloudDialogflowV2EntityType} 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 + */ + create(params?: Params$Resource$Projects$Agent$Entitytypes$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Agent$Entitytypes$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Agent$Entitytypes$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.entityTypes.delete + * @desc Deletes the specified entity type. + * @alias dialogflow.projects.agent.entityTypes.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The name of the entity type to delete. Format: `projects//agent/entityTypes/`. + * @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?: Params$Resource$Projects$Agent$Entitytypes$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Agent$Entitytypes$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Agent$Entitytypes$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.entityTypes.get + * @desc Retrieves the specified entity type. + * @alias dialogflow.projects.agent.entityTypes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.languageCode Optional. The language to retrieve entity synonyms for. If not specified, the agent's default language is used. [More than a dozen languages](https://dialogflow.com/docs/reference/language) are supported. Note: languages must be enabled in the agent, before they can be used. + * @param {string} params.name Required. The name of the entity type. Format: `projects//agent/entityTypes/`. + * @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?: Params$Resource$Projects$Agent$Entitytypes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Agent$Entitytypes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Agent$Entitytypes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.entityTypes.list + * @desc Returns the list of all entity types in the specified agent. + * @alias dialogflow.projects.agent.entityTypes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.languageCode Optional. The language to list entity synonyms for. If not specified, the agent's default language is used. [More than a dozen languages](https://dialogflow.com/docs/reference/language) are supported. Note: languages must be enabled in the agent, before they can be used. + * @param {integer=} params.pageSize Optional. The maximum number of items to return in a single page. By default 100 and at most 1000. + * @param {string=} params.pageToken Optional. The next_page_token value returned from a previous list request. + * @param {string} params.parent Required. The agent to list all entity types from. Format: `projects//agent`. + * @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?: Params$Resource$Projects$Agent$Entitytypes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Agent$Entitytypes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Agent$Entitytypes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.entityTypes.patch + * @desc Updates the specified entity type. + * @alias dialogflow.projects.agent.entityTypes.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.languageCode Optional. The language of entity synonyms defined in `entity_type`. If not specified, the agent's default language is used. [More than a dozen languages](https://dialogflow.com/docs/reference/language) are supported. Note: languages must be enabled in the agent, before they can be used. + * @param {string} params.name Required for all methods except `create` (`create` populates the name automatically. The unique identifier of the entity type. Format: `projects//agent/entityTypes/`. + * @param {string=} params.updateMask Optional. The mask to control which fields get updated. + * @param {().GoogleCloudDialogflowV2EntityType} 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 + */ + patch(params?: Params$Resource$Projects$Agent$Entitytypes$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Agent$Entitytypes$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Agent$Entitytypes$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Agent$Entitytypes$Batchdelete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the agent to delete all entities types for. Format: + * `projects//agent`. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDialogflowV2BatchDeleteEntityTypesRequest; + } + interface Params$Resource$Projects$Agent$Entitytypes$Batchupdate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the agent to update or create entity types in. + * Format: `projects//agent`. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDialogflowV2BatchUpdateEntityTypesRequest; + } + interface Params$Resource$Projects$Agent$Entitytypes$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The language of entity synonyms defined in `entity_type`. If + * not specified, the agent's default language is used. [More than a dozen + * languages](https://dialogflow.com/docs/reference/language) are supported. + * Note: languages must be enabled in the agent, before they can be used. + */ + languageCode?: string; + /** + * Required. The agent to create a entity type for. Format: + * `projects//agent`. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDialogflowV2EntityType; + } + interface Params$Resource$Projects$Agent$Entitytypes$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the entity type to delete. Format: + * `projects//agent/entityTypes/`. + */ + name?: string; + } + interface Params$Resource$Projects$Agent$Entitytypes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The language to retrieve entity synonyms for. If not specified, + * the agent's default language is used. [More than a dozen + * languages](https://dialogflow.com/docs/reference/language) are supported. + * Note: languages must be enabled in the agent, before they can be used. + */ + languageCode?: string; + /** + * Required. The name of the entity type. Format: `projects//agent/entityTypes/`. + */ + name?: string; + } + interface Params$Resource$Projects$Agent$Entitytypes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The language to list entity synonyms for. If not specified, the + * agent's default language is used. [More than a dozen + * languages](https://dialogflow.com/docs/reference/language) are supported. + * Note: languages must be enabled in the agent, before they can be used. + */ + languageCode?: string; + /** + * Optional. The maximum number of items to return in a single page. By + * default 100 and at most 1000. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list + * request. + */ + pageToken?: string; + /** + * Required. The agent to list all entity types from. Format: + * `projects//agent`. + */ + parent?: string; + } + interface Params$Resource$Projects$Agent$Entitytypes$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The language of entity synonyms defined in `entity_type`. If + * not specified, the agent's default language is used. [More than a dozen + * languages](https://dialogflow.com/docs/reference/language) are supported. + * Note: languages must be enabled in the agent, before they can be used. + */ + languageCode?: string; + /** + * Required for all methods except `create` (`create` populates the name + * automatically. The unique identifier of the entity type. Format: + * `projects//agent/entityTypes/`. + */ + name?: string; + /** + * Optional. The mask to control which fields get updated. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDialogflowV2EntityType; + } + class Resource$Projects$Agent$Entitytypes$Entities { + root: Dialogflow; + constructor(root: Dialogflow); + getRoot(): Dialogflow; + /** + * dialogflow.projects.agent.entityTypes.entities.batchCreate + * @desc Creates multiple new entities in the specified entity type. + * Operation + * @alias dialogflow.projects.agent.entityTypes.entities.batchCreate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The name of the entity type to create entities in. Format: `projects//agent/entityTypes/`. + * @param {().GoogleCloudDialogflowV2BatchCreateEntitiesRequest} 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 + */ + batchCreate(params?: Params$Resource$Projects$Agent$Entitytypes$Entities$Batchcreate, options?: MethodOptions): AxiosPromise; + batchCreate(params: Params$Resource$Projects$Agent$Entitytypes$Entities$Batchcreate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + batchCreate(params: Params$Resource$Projects$Agent$Entitytypes$Entities$Batchcreate, callback: BodyResponseCallback): void; + batchCreate(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.entityTypes.entities.batchDelete + * @desc Deletes entities in the specified entity type. Operation + * + * @alias dialogflow.projects.agent.entityTypes.entities.batchDelete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The name of the entity type to delete entries for. Format: `projects//agent/entityTypes/`. + * @param {().GoogleCloudDialogflowV2BatchDeleteEntitiesRequest} 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 + */ + batchDelete(params?: Params$Resource$Projects$Agent$Entitytypes$Entities$Batchdelete, options?: MethodOptions): AxiosPromise; + batchDelete(params: Params$Resource$Projects$Agent$Entitytypes$Entities$Batchdelete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + batchDelete(params: Params$Resource$Projects$Agent$Entitytypes$Entities$Batchdelete, callback: BodyResponseCallback): void; + batchDelete(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.entityTypes.entities.batchUpdate + * @desc Updates or creates multiple entities in the specified entity type. + * This method does not affect entities in the entity type that aren't + * explicitly specified in the request. Operation + * @alias dialogflow.projects.agent.entityTypes.entities.batchUpdate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The name of the entity type to update or create entities in. Format: `projects//agent/entityTypes/`. + * @param {().GoogleCloudDialogflowV2BatchUpdateEntitiesRequest} 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 + */ + batchUpdate(params?: Params$Resource$Projects$Agent$Entitytypes$Entities$Batchupdate, options?: MethodOptions): AxiosPromise; + batchUpdate(params: Params$Resource$Projects$Agent$Entitytypes$Entities$Batchupdate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + batchUpdate(params: Params$Resource$Projects$Agent$Entitytypes$Entities$Batchupdate, callback: BodyResponseCallback): void; + batchUpdate(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Agent$Entitytypes$Entities$Batchcreate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the entity type to create entities in. Format: + * `projects//agent/entityTypes/`. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDialogflowV2BatchCreateEntitiesRequest; + } + interface Params$Resource$Projects$Agent$Entitytypes$Entities$Batchdelete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the entity type to delete entries for. Format: + * `projects//agent/entityTypes/`. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDialogflowV2BatchDeleteEntitiesRequest; + } + interface Params$Resource$Projects$Agent$Entitytypes$Entities$Batchupdate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the entity type to update or create entities in. + * Format: `projects//agent/entityTypes/`. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDialogflowV2BatchUpdateEntitiesRequest; + } + class Resource$Projects$Agent$Intents { + root: Dialogflow; + constructor(root: Dialogflow); + getRoot(): Dialogflow; + /** + * dialogflow.projects.agent.intents.batchDelete + * @desc Deletes intents in the specified agent. Operation + * @alias dialogflow.projects.agent.intents.batchDelete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The name of the agent to delete all entities types for. Format: `projects//agent`. + * @param {().GoogleCloudDialogflowV2BatchDeleteIntentsRequest} 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 + */ + batchDelete(params?: Params$Resource$Projects$Agent$Intents$Batchdelete, options?: MethodOptions): AxiosPromise; + batchDelete(params: Params$Resource$Projects$Agent$Intents$Batchdelete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + batchDelete(params: Params$Resource$Projects$Agent$Intents$Batchdelete, callback: BodyResponseCallback): void; + batchDelete(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.intents.batchUpdate + * @desc Updates/Creates multiple intents in the specified agent. Operation + * + * @alias dialogflow.projects.agent.intents.batchUpdate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The name of the agent to update or create intents in. Format: `projects//agent`. + * @param {().GoogleCloudDialogflowV2BatchUpdateIntentsRequest} 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 + */ + batchUpdate(params?: Params$Resource$Projects$Agent$Intents$Batchupdate, options?: MethodOptions): AxiosPromise; + batchUpdate(params: Params$Resource$Projects$Agent$Intents$Batchupdate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + batchUpdate(params: Params$Resource$Projects$Agent$Intents$Batchupdate, callback: BodyResponseCallback): void; + batchUpdate(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.intents.create + * @desc Creates an intent in the specified agent. + * @alias dialogflow.projects.agent.intents.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.intentView Optional. The resource view to apply to the returned intent. + * @param {string=} params.languageCode Optional. The language of training phrases, parameters and rich messages defined in `intent`. If not specified, the agent's default language is used. [More than a dozen languages](https://dialogflow.com/docs/reference/language) are supported. Note: languages must be enabled in the agent, before they can be used. + * @param {string} params.parent Required. The agent to create a intent for. Format: `projects//agent`. + * @param {().GoogleCloudDialogflowV2Intent} 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 + */ + create(params?: Params$Resource$Projects$Agent$Intents$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Agent$Intents$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Agent$Intents$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.intents.delete + * @desc Deletes the specified intent and its direct or indirect followup + * intents. + * @alias dialogflow.projects.agent.intents.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The name of the intent to delete. If this intent has direct or indirect followup intents, we also delete them. Format: `projects//agent/intents/`. + * @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?: Params$Resource$Projects$Agent$Intents$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Agent$Intents$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Agent$Intents$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.intents.get + * @desc Retrieves the specified intent. + * @alias dialogflow.projects.agent.intents.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.intentView Optional. The resource view to apply to the returned intent. + * @param {string=} params.languageCode Optional. The language to retrieve training phrases, parameters and rich messages for. If not specified, the agent's default language is used. [More than a dozen languages](https://dialogflow.com/docs/reference/language) are supported. Note: languages must be enabled in the agent, before they can be used. + * @param {string} params.name Required. The name of the intent. Format: `projects//agent/intents/`. + * @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?: Params$Resource$Projects$Agent$Intents$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Agent$Intents$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Agent$Intents$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.intents.list + * @desc Returns the list of all intents in the specified agent. + * @alias dialogflow.projects.agent.intents.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.intentView Optional. The resource view to apply to the returned intent. + * @param {string=} params.languageCode Optional. The language to list training phrases, parameters and rich messages for. If not specified, the agent's default language is used. [More than a dozen languages](https://dialogflow.com/docs/reference/language) are supported. Note: languages must be enabled in the agent before they can be used. + * @param {integer=} params.pageSize Optional. The maximum number of items to return in a single page. By default 100 and at most 1000. + * @param {string=} params.pageToken Optional. The next_page_token value returned from a previous list request. + * @param {string} params.parent Required. The agent to list all intents from. Format: `projects//agent`. + * @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?: Params$Resource$Projects$Agent$Intents$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Agent$Intents$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Agent$Intents$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.intents.patch + * @desc Updates the specified intent. + * @alias dialogflow.projects.agent.intents.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.intentView Optional. The resource view to apply to the returned intent. + * @param {string=} params.languageCode Optional. The language of training phrases, parameters and rich messages defined in `intent`. If not specified, the agent's default language is used. [More than a dozen languages](https://dialogflow.com/docs/reference/language) are supported. Note: languages must be enabled in the agent, before they can be used. + * @param {string} params.name Required for all methods except `create` (`create` populates the name automatically. The unique identifier of this intent. Format: `projects//agent/intents/`. + * @param {string=} params.updateMask Optional. The mask to control which fields get updated. + * @param {().GoogleCloudDialogflowV2Intent} 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 + */ + patch(params?: Params$Resource$Projects$Agent$Intents$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Agent$Intents$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Agent$Intents$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Agent$Intents$Batchdelete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the agent to delete all entities types for. Format: + * `projects//agent`. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDialogflowV2BatchDeleteIntentsRequest; + } + interface Params$Resource$Projects$Agent$Intents$Batchupdate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the agent to update or create intents in. Format: + * `projects//agent`. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDialogflowV2BatchUpdateIntentsRequest; + } + interface Params$Resource$Projects$Agent$Intents$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The resource view to apply to the returned intent. + */ + intentView?: string; + /** + * Optional. The language of training phrases, parameters and rich messages + * defined in `intent`. If not specified, the agent's default language is + * used. [More than a dozen + * languages](https://dialogflow.com/docs/reference/language) are supported. + * Note: languages must be enabled in the agent, before they can be used. + */ + languageCode?: string; + /** + * Required. The agent to create a intent for. Format: `projects//agent`. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDialogflowV2Intent; + } + interface Params$Resource$Projects$Agent$Intents$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the intent to delete. If this intent has direct or + * indirect followup intents, we also delete them. Format: + * `projects//agent/intents/`. + */ + name?: string; + } + interface Params$Resource$Projects$Agent$Intents$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The resource view to apply to the returned intent. + */ + intentView?: string; + /** + * Optional. The language to retrieve training phrases, parameters and rich + * messages for. If not specified, the agent's default language is used. + * [More than a dozen + * languages](https://dialogflow.com/docs/reference/language) are supported. + * Note: languages must be enabled in the agent, before they can be used. + */ + languageCode?: string; + /** + * Required. The name of the intent. Format: `projects//agent/intents/`. + */ + name?: string; + } + interface Params$Resource$Projects$Agent$Intents$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The resource view to apply to the returned intent. + */ + intentView?: string; + /** + * Optional. The language to list training phrases, parameters and rich + * messages for. If not specified, the agent's default language is used. + * [More than a dozen + * languages](https://dialogflow.com/docs/reference/language) are supported. + * Note: languages must be enabled in the agent before they can be used. + */ + languageCode?: string; + /** + * Optional. The maximum number of items to return in a single page. By + * default 100 and at most 1000. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list + * request. + */ + pageToken?: string; + /** + * Required. The agent to list all intents from. Format: `projects//agent`. + */ + parent?: string; + } + interface Params$Resource$Projects$Agent$Intents$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The resource view to apply to the returned intent. + */ + intentView?: string; + /** + * Optional. The language of training phrases, parameters and rich messages + * defined in `intent`. If not specified, the agent's default language is + * used. [More than a dozen + * languages](https://dialogflow.com/docs/reference/language) are supported. + * Note: languages must be enabled in the agent, before they can be used. + */ + languageCode?: string; + /** + * Required for all methods except `create` (`create` populates the name + * automatically. The unique identifier of this intent. Format: + * `projects//agent/intents/`. + */ + name?: string; + /** + * Optional. The mask to control which fields get updated. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDialogflowV2Intent; + } + class Resource$Projects$Agent$Sessions { + root: Dialogflow; + contexts: Resource$Projects$Agent$Sessions$Contexts; + entityTypes: Resource$Projects$Agent$Sessions$Entitytypes; + constructor(root: Dialogflow); + getRoot(): Dialogflow; + /** + * dialogflow.projects.agent.sessions.deleteContexts + * @desc Deletes all active contexts in the specified session. + * @alias dialogflow.projects.agent.sessions.deleteContexts + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The name of the session to delete all contexts from. Format: `projects//agent/sessions/`. + * @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 + */ + deleteContexts(params?: Params$Resource$Projects$Agent$Sessions$Deletecontexts, options?: MethodOptions): AxiosPromise; + deleteContexts(params: Params$Resource$Projects$Agent$Sessions$Deletecontexts, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + deleteContexts(params: Params$Resource$Projects$Agent$Sessions$Deletecontexts, callback: BodyResponseCallback): void; + deleteContexts(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.sessions.detectIntent + * @desc Processes a natural language query and returns structured, + * actionable data as a result. This method is not idempotent, because it + * may cause contexts and session entity types to be updated, which in turn + * might affect results of future queries. + * @alias dialogflow.projects.agent.sessions.detectIntent + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.session Required. The name of the session this query is sent to. Format: `projects//agent/sessions/`. It's up to the API caller to choose an appropriate session ID. It can be a random number or some type of user identifier (preferably hashed). The length of the session ID must not exceed 36 bytes. + * @param {().GoogleCloudDialogflowV2DetectIntentRequest} 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 + */ + detectIntent(params?: Params$Resource$Projects$Agent$Sessions$Detectintent, options?: MethodOptions): AxiosPromise; + detectIntent(params: Params$Resource$Projects$Agent$Sessions$Detectintent, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + detectIntent(params: Params$Resource$Projects$Agent$Sessions$Detectintent, callback: BodyResponseCallback): void; + detectIntent(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Agent$Sessions$Deletecontexts { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the session to delete all contexts from. Format: + * `projects//agent/sessions/`. + */ + parent?: string; + } + interface Params$Resource$Projects$Agent$Sessions$Detectintent { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the session this query is sent to. Format: + * `projects//agent/sessions/`. It's up to the API + * caller to choose an appropriate session ID. It can be a random number or + * some type of user identifier (preferably hashed). The length of the + * session ID must not exceed 36 bytes. + */ + session?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDialogflowV2DetectIntentRequest; + } + class Resource$Projects$Agent$Sessions$Contexts { + root: Dialogflow; + constructor(root: Dialogflow); + getRoot(): Dialogflow; + /** + * dialogflow.projects.agent.sessions.contexts.create + * @desc Creates a context. + * @alias dialogflow.projects.agent.sessions.contexts.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The session to create a context for. Format: `projects//agent/sessions/`. + * @param {().GoogleCloudDialogflowV2Context} 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 + */ + create(params?: Params$Resource$Projects$Agent$Sessions$Contexts$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Agent$Sessions$Contexts$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Agent$Sessions$Contexts$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.sessions.contexts.delete + * @desc Deletes the specified context. + * @alias dialogflow.projects.agent.sessions.contexts.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The name of the context to delete. Format: `projects//agent/sessions//contexts/`. + * @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?: Params$Resource$Projects$Agent$Sessions$Contexts$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Agent$Sessions$Contexts$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Agent$Sessions$Contexts$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.sessions.contexts.get + * @desc Retrieves the specified context. + * @alias dialogflow.projects.agent.sessions.contexts.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The name of the context. Format: `projects//agent/sessions//contexts/`. + * @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?: Params$Resource$Projects$Agent$Sessions$Contexts$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Agent$Sessions$Contexts$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Agent$Sessions$Contexts$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.sessions.contexts.list + * @desc Returns the list of all contexts in the specified session. + * @alias dialogflow.projects.agent.sessions.contexts.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Optional. The maximum number of items to return in a single page. By default 100 and at most 1000. + * @param {string=} params.pageToken Optional. The next_page_token value returned from a previous list request. + * @param {string} params.parent Required. The session to list all contexts from. Format: `projects//agent/sessions/`. + * @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?: Params$Resource$Projects$Agent$Sessions$Contexts$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Agent$Sessions$Contexts$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Agent$Sessions$Contexts$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.sessions.contexts.patch + * @desc Updates the specified context. + * @alias dialogflow.projects.agent.sessions.contexts.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The unique identifier of the context. Format: `projects//agent/sessions//contexts/`. + * @param {string=} params.updateMask Optional. The mask to control which fields get updated. + * @param {().GoogleCloudDialogflowV2Context} 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 + */ + patch(params?: Params$Resource$Projects$Agent$Sessions$Contexts$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Agent$Sessions$Contexts$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Agent$Sessions$Contexts$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Agent$Sessions$Contexts$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The session to create a context for. Format: `projects//agent/sessions/`. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDialogflowV2Context; + } + interface Params$Resource$Projects$Agent$Sessions$Contexts$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the context to delete. Format: `projects//agent/sessions//contexts/`. + */ + name?: string; + } + interface Params$Resource$Projects$Agent$Sessions$Contexts$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the context. Format: `projects//agent/sessions//contexts/`. + */ + name?: string; + } + interface Params$Resource$Projects$Agent$Sessions$Contexts$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The maximum number of items to return in a single page. By + * default 100 and at most 1000. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list + * request. + */ + pageToken?: string; + /** + * Required. The session to list all contexts from. Format: + * `projects//agent/sessions/`. + */ + parent?: string; + } + interface Params$Resource$Projects$Agent$Sessions$Contexts$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The unique identifier of the context. Format: + * `projects//agent/sessions//contexts/`. + */ + name?: string; + /** + * Optional. The mask to control which fields get updated. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDialogflowV2Context; + } + class Resource$Projects$Agent$Sessions$Entitytypes { + root: Dialogflow; + constructor(root: Dialogflow); + getRoot(): Dialogflow; + /** + * dialogflow.projects.agent.sessions.entityTypes.create + * @desc Creates a session entity type. + * @alias dialogflow.projects.agent.sessions.entityTypes.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The session to create a session entity type for. Format: `projects//agent/sessions/`. + * @param {().GoogleCloudDialogflowV2SessionEntityType} 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 + */ + create(params?: Params$Resource$Projects$Agent$Sessions$Entitytypes$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Agent$Sessions$Entitytypes$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Agent$Sessions$Entitytypes$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.sessions.entityTypes.delete + * @desc Deletes the specified session entity type. + * @alias dialogflow.projects.agent.sessions.entityTypes.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The name of the entity type to delete. Format: `projects//agent/sessions//entityTypes/`. + * @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?: Params$Resource$Projects$Agent$Sessions$Entitytypes$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Agent$Sessions$Entitytypes$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Agent$Sessions$Entitytypes$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.sessions.entityTypes.get + * @desc Retrieves the specified session entity type. + * @alias dialogflow.projects.agent.sessions.entityTypes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The name of the session entity type. Format: `projects//agent/sessions//entityTypes/`. + * @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?: Params$Resource$Projects$Agent$Sessions$Entitytypes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Agent$Sessions$Entitytypes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Agent$Sessions$Entitytypes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.sessions.entityTypes.list + * @desc Returns the list of all session entity types in the specified + * session. + * @alias dialogflow.projects.agent.sessions.entityTypes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Optional. The maximum number of items to return in a single page. By default 100 and at most 1000. + * @param {string=} params.pageToken Optional. The next_page_token value returned from a previous list request. + * @param {string} params.parent Required. The session to list all session entity types from. Format: `projects//agent/sessions/`. + * @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?: Params$Resource$Projects$Agent$Sessions$Entitytypes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Agent$Sessions$Entitytypes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Agent$Sessions$Entitytypes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.sessions.entityTypes.patch + * @desc Updates the specified session entity type. + * @alias dialogflow.projects.agent.sessions.entityTypes.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The unique identifier of this session entity type. Format: `projects//agent/sessions//entityTypes/`. + * @param {string=} params.updateMask Optional. The mask to control which fields get updated. + * @param {().GoogleCloudDialogflowV2SessionEntityType} 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 + */ + patch(params?: Params$Resource$Projects$Agent$Sessions$Entitytypes$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Agent$Sessions$Entitytypes$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Agent$Sessions$Entitytypes$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Agent$Sessions$Entitytypes$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The session to create a session entity type for. Format: + * `projects//agent/sessions/`. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDialogflowV2SessionEntityType; + } + interface Params$Resource$Projects$Agent$Sessions$Entitytypes$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the entity type to delete. Format: + * `projects//agent/sessions//entityTypes/`. + */ + name?: string; + } + interface Params$Resource$Projects$Agent$Sessions$Entitytypes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the session entity type. Format: `projects//agent/sessions//entityTypes/`. + */ + name?: string; + } + interface Params$Resource$Projects$Agent$Sessions$Entitytypes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The maximum number of items to return in a single page. By + * default 100 and at most 1000. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list + * request. + */ + pageToken?: string; + /** + * Required. The session to list all session entity types from. Format: + * `projects//agent/sessions/`. + */ + parent?: string; + } + interface Params$Resource$Projects$Agent$Sessions$Entitytypes$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The unique identifier of this session entity type. Format: + * `projects//agent/sessions//entityTypes/`. + */ + name?: string; + /** + * Optional. The mask to control which fields get updated. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDialogflowV2SessionEntityType; + } + class Resource$Projects$Operations { + root: Dialogflow; + constructor(root: Dialogflow); + getRoot(): Dialogflow; + /** + * dialogflow.projects.operations.get + * @desc Gets the latest state of a long-running operation. Clients can use + * this method to poll the operation result at intervals as recommended by + * the API service. + * @alias dialogflow.projects.operations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource. + * @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?: Params$Resource$Projects$Operations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Operations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Operations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Operations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource. + */ + name?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/dialogflow/v2.js b/express-server/node_modules/googleapis/build/src/apis/dialogflow/v2.js new file mode 100644 index 00000000..8474d66e --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dialogflow/v2.js @@ -0,0 +1,1247 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var dialogflow_v2; +(function (dialogflow_v2) { + /** + * Dialogflow API + * + * An end-to-end development suite for conversational interfaces (e.g., + * chatbots, voice-powered apps and devices). + * + * @example + * const {google} = require('googleapis'); + * const dialogflow = google.dialogflow('v2'); + * + * @namespace dialogflow + * @type {Function} + * @version v2 + * @variation v2 + * @param {object=} options Options for Dialogflow + */ + class Dialogflow { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.projects = new Resource$Projects(this); + } + getRoot() { + return this.root; + } + } + dialogflow_v2.Dialogflow = Dialogflow; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.agent = new Resource$Projects$Agent(root); + this.operations = new Resource$Projects$Operations(root); + } + getRoot() { + return this.root; + } + getAgent(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/agent') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dialogflow_v2.Resource$Projects = Resource$Projects; + class Resource$Projects$Agent { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.entityTypes = new Resource$Projects$Agent$Entitytypes(root); + this.intents = new Resource$Projects$Agent$Intents(root); + this.sessions = new Resource$Projects$Agent$Sessions(root); + } + getRoot() { + return this.root; + } + export(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/agent:export') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + import(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { options: Object.assign({ url: (rootUrl + '/v2/{+parent}/agent:import').replace(/([^:]\/)\/+/g, '$1'), method: 'POST' }, options), params, requiredParams: ['parent'], pathParams: ['parent'], context: this.getRoot() }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + restore(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/agent:restore') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + search(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/agent:search') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + train(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/agent:train') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dialogflow_v2.Resource$Projects$Agent = Resource$Projects$Agent; + class Resource$Projects$Agent$Entitytypes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.entities = new Resource$Projects$Agent$Entitytypes$Entities(root); + } + getRoot() { + return this.root; + } + batchDelete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/entityTypes:batchDelete') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + batchUpdate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/entityTypes:batchUpdate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/entityTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/entityTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dialogflow_v2.Resource$Projects$Agent$Entitytypes = Resource$Projects$Agent$Entitytypes; + class Resource$Projects$Agent$Entitytypes$Entities { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + batchCreate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/entities:batchCreate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + batchDelete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/entities:batchDelete') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + batchUpdate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/entities:batchUpdate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dialogflow_v2.Resource$Projects$Agent$Entitytypes$Entities = Resource$Projects$Agent$Entitytypes$Entities; + class Resource$Projects$Agent$Intents { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + batchDelete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/intents:batchDelete') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + batchUpdate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/intents:batchUpdate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/intents') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/intents') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dialogflow_v2.Resource$Projects$Agent$Intents = Resource$Projects$Agent$Intents; + class Resource$Projects$Agent$Sessions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.contexts = new Resource$Projects$Agent$Sessions$Contexts(root); + this.entityTypes = new Resource$Projects$Agent$Sessions$Entitytypes(root); + } + getRoot() { + return this.root; + } + deleteContexts(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/contexts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + detectIntent(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+session}:detectIntent') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['session'], + pathParams: ['session'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dialogflow_v2.Resource$Projects$Agent$Sessions = Resource$Projects$Agent$Sessions; + class Resource$Projects$Agent$Sessions$Contexts { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/contexts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/contexts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dialogflow_v2.Resource$Projects$Agent$Sessions$Contexts = Resource$Projects$Agent$Sessions$Contexts; + class Resource$Projects$Agent$Sessions$Entitytypes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/entityTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/entityTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dialogflow_v2.Resource$Projects$Agent$Sessions$Entitytypes = Resource$Projects$Agent$Sessions$Entitytypes; + class Resource$Projects$Operations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dialogflow_v2.Resource$Projects$Operations = Resource$Projects$Operations; +})(dialogflow_v2 = exports.dialogflow_v2 || (exports.dialogflow_v2 = {})); +//# sourceMappingURL=v2.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/dialogflow/v2.js.map b/express-server/node_modules/googleapis/build/src/apis/dialogflow/v2.js.map new file mode 100644 index 00000000..82f58348 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dialogflow/v2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v2.js","sourceRoot":"","sources":["../../../../src/apis/dialogflow/v2.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/dialogflow/v2beta1.d.ts b/express-server/node_modules/googleapis/build/src/apis/dialogflow/v2beta1.d.ts new file mode 100644 index 00000000..10ed5f91 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dialogflow/v2beta1.d.ts @@ -0,0 +1,5435 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace dialogflow_v2beta1 { + interface Options extends GlobalOptions { + version: 'v2beta1'; + } + /** + * Dialogflow API + * + * An end-to-end development suite for conversational interfaces (e.g., + * chatbots, voice-powered apps and devices). + * + * @example + * const {google} = require('googleapis'); + * const dialogflow = google.dialogflow('v2beta1'); + * + * @namespace dialogflow + * @type {Function} + * @version v2beta1 + * @variation v2beta1 + * @param {object=} options Options for Dialogflow + */ + class Dialogflow { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + projects: Resource$Projects; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * The response message for EntityTypes.BatchUpdateEntityTypes. + */ + interface Schema$GoogleCloudDialogflowV2BatchUpdateEntityTypesResponse { + /** + * The collection of updated or created entity types. + */ + entityTypes?: Schema$GoogleCloudDialogflowV2EntityType[]; + } + /** + * The response message for Intents.BatchUpdateIntents. + */ + interface Schema$GoogleCloudDialogflowV2BatchUpdateIntentsResponse { + /** + * The collection of updated or created intents. + */ + intents?: Schema$GoogleCloudDialogflowV2Intent[]; + } + /** + * Represents a conversational agent. + */ + interface Schema$GoogleCloudDialogflowV2beta1Agent { + /** + * Optional. The URI of the agent's avatar. Avatars are used throughout + * the Dialogflow console and in the self-hosted [Web + * Demo](https://dialogflow.com/docs/integrations/web-demo) integration. + */ + avatarUri?: string; + /** + * Optional. To filter out false positive results and still get variety in + * matched natural language inputs for your agent, you can tune the machine + * learning classification threshold. If the returned score value is less + * than the threshold value, then a fallback intent is be triggered or, if + * there are no fallback intents defined, no intent will be triggered. The + * score values range from 0.0 (completely uncertain) to 1.0 (completely + * certain). If set to 0.0, the default of 0.3 is used. + */ + classificationThreshold?: number; + /** + * Required. The default language of the agent as a language tag. See + * [Language Support](https://dialogflow.com/docs/reference/language) for a + * list of the currently supported language codes. This field cannot be set + * by the `Update` method. + */ + defaultLanguageCode?: string; + /** + * Optional. The description of this agent. The maximum length is 500 + * characters. If exceeded, the request is rejected. + */ + description?: string; + /** + * Required. The name of this agent. + */ + displayName?: string; + /** + * Optional. Determines whether this agent should log conversation queries. + */ + enableLogging?: boolean; + /** + * Optional. Determines how intents are detected from user queries. + */ + matchMode?: string; + /** + * Required. The project of this agent. Format: `projects/<Project + * ID>`. + */ + parent?: string; + /** + * Optional. The list of all languages supported by this agent (except for + * the `default_language_code`). + */ + supportedLanguageCodes?: string[]; + /** + * Required. The time zone of this agent from the [time zone + * database](https://www.iana.org/time-zones), e.g., America/New_York, + * Europe/Paris. + */ + timeZone?: string; + } + /** + * The request message for EntityTypes.BatchCreateEntities. + */ + interface Schema$GoogleCloudDialogflowV2beta1BatchCreateEntitiesRequest { + /** + * Required. The entities to create. + */ + entities?: Schema$GoogleCloudDialogflowV2beta1EntityTypeEntity[]; + /** + * Optional. The language of entity synonyms defined in `entities`. If not + * specified, the agent's default language is used. [More than a dozen + * languages](https://dialogflow.com/docs/reference/language) are supported. + * Note: languages must be enabled in the agent, before they can be used. + */ + languageCode?: string; + } + /** + * The request message for EntityTypes.BatchDeleteEntities. + */ + interface Schema$GoogleCloudDialogflowV2beta1BatchDeleteEntitiesRequest { + /** + * Required. The canonical `values` of the entities to delete. Note that + * these are not fully-qualified names, i.e. they don't start with + * `projects/<Project ID>`. + */ + entityValues?: string[]; + /** + * Optional. The language of entity synonyms defined in `entities`. If not + * specified, the agent's default language is used. [More than a dozen + * languages](https://dialogflow.com/docs/reference/language) are supported. + * Note: languages must be enabled in the agent, before they can be used. + */ + languageCode?: string; + } + /** + * The request message for EntityTypes.BatchDeleteEntityTypes. + */ + interface Schema$GoogleCloudDialogflowV2beta1BatchDeleteEntityTypesRequest { + /** + * Required. The names entity types to delete. All names must point to the + * same agent as `parent`. + */ + entityTypeNames?: string[]; + } + /** + * The request message for Intents.BatchDeleteIntents. + */ + interface Schema$GoogleCloudDialogflowV2beta1BatchDeleteIntentsRequest { + /** + * Required. The collection of intents to delete. Only intent `name` must be + * filled in. + */ + intents?: Schema$GoogleCloudDialogflowV2beta1Intent[]; + } + /** + * The request message for EntityTypes.BatchUpdateEntities. + */ + interface Schema$GoogleCloudDialogflowV2beta1BatchUpdateEntitiesRequest { + /** + * Required. The entities to update or create. + */ + entities?: Schema$GoogleCloudDialogflowV2beta1EntityTypeEntity[]; + /** + * Optional. The language of entity synonyms defined in `entities`. If not + * specified, the agent's default language is used. [More than a dozen + * languages](https://dialogflow.com/docs/reference/language) are supported. + * Note: languages must be enabled in the agent, before they can be used. + */ + languageCode?: string; + /** + * Optional. The mask to control which fields get updated. + */ + updateMask?: string; + } + /** + * The request message for EntityTypes.BatchUpdateEntityTypes. + */ + interface Schema$GoogleCloudDialogflowV2beta1BatchUpdateEntityTypesRequest { + /** + * The collection of entity types to update or create. + */ + entityTypeBatchInline?: Schema$GoogleCloudDialogflowV2beta1EntityTypeBatch; + /** + * The URI to a Google Cloud Storage file containing entity types to update + * or create. The file format can either be a serialized proto (of + * EntityBatch type) or a JSON object. Note: The URI must start with + * "gs://". + */ + entityTypeBatchUri?: string; + /** + * Optional. The language of entity synonyms defined in `entity_types`. If + * not specified, the agent's default language is used. [More than a + * dozen languages](https://dialogflow.com/docs/reference/language) are + * supported. Note: languages must be enabled in the agent, before they can + * be used. + */ + languageCode?: string; + /** + * Optional. The mask to control which fields get updated. + */ + updateMask?: string; + } + /** + * The response message for EntityTypes.BatchUpdateEntityTypes. + */ + interface Schema$GoogleCloudDialogflowV2beta1BatchUpdateEntityTypesResponse { + /** + * The collection of updated or created entity types. + */ + entityTypes?: Schema$GoogleCloudDialogflowV2beta1EntityType[]; + } + /** + * The request message for Intents.BatchUpdateIntents. + */ + interface Schema$GoogleCloudDialogflowV2beta1BatchUpdateIntentsRequest { + /** + * The collection of intents to update or create. + */ + intentBatchInline?: Schema$GoogleCloudDialogflowV2beta1IntentBatch; + /** + * The URI to a Google Cloud Storage file containing intents to update or + * create. The file format can either be a serialized proto (of IntentBatch + * type) or JSON object. Note: The URI must start with "gs://". + */ + intentBatchUri?: string; + /** + * Optional. The resource view to apply to the returned intent. + */ + intentView?: string; + /** + * Optional. The language of training phrases, parameters and rich messages + * defined in `intents`. If not specified, the agent's default language + * is used. [More than a dozen + * languages](https://dialogflow.com/docs/reference/language) are supported. + * Note: languages must be enabled in the agent, before they can be used. + */ + languageCode?: string; + /** + * Optional. The mask to control which fields get updated. + */ + updateMask?: string; + } + /** + * The response message for Intents.BatchUpdateIntents. + */ + interface Schema$GoogleCloudDialogflowV2beta1BatchUpdateIntentsResponse { + /** + * The collection of updated or created intents. + */ + intents?: Schema$GoogleCloudDialogflowV2beta1Intent[]; + } + /** + * Represents a context. + */ + interface Schema$GoogleCloudDialogflowV2beta1Context { + /** + * Optional. The number of conversational query requests after which the + * context expires. If set to `0` (the default) the context expires + * immediately. Contexts expire automatically after 10 minutes even if there + * are no matching queries. + */ + lifespanCount?: number; + /** + * Required. The unique identifier of the context. Format: + * `projects/<Project ID>/agent/sessions/<Session + * ID>/contexts/<Context ID>`, or `projects/<Project + * ID>/agent/environments/<Environment ID>/users/<User + * ID>/sessions/<Session ID>/contexts/<Context ID>`. The + * `Context ID` is always converted to lowercase. If `Environment ID` is not + * specified, we assume default 'draft' environment. If `User ID` is + * not specified, we assume default '-' user. + */ + name?: string; + /** + * Optional. The collection of parameters associated with this context. + * Refer to [this doc](https://dialogflow.com/docs/actions-and-parameters) + * for syntax. + */ + parameters?: any; + } + /** + * The request to detect user's intent. + */ + interface Schema$GoogleCloudDialogflowV2beta1DetectIntentRequest { + /** + * Optional. The natural language speech audio to be processed. This field + * should be populated iff `query_input` is set to an input audio config. A + * single request can contain up to 1 minute of speech audio data. + */ + inputAudio?: string; + /** + * Optional. Instructs the speech synthesizer how to generate the output + * audio. If this field is not set and agent-level speech synthesizer is not + * configured, no output audio is generated. + */ + outputAudioConfig?: Schema$GoogleCloudDialogflowV2beta1OutputAudioConfig; + /** + * Required. The input specification. It can be set to: 1. an audio config + * which instructs the speech recognizer how to process the speech audio, 2. + * a conversational query in the form of text, or 3. an event that + * specifies which intent to trigger. + */ + queryInput?: Schema$GoogleCloudDialogflowV2beta1QueryInput; + /** + * Optional. The parameters of this query. + */ + queryParams?: Schema$GoogleCloudDialogflowV2beta1QueryParameters; + } + /** + * The message returned from the DetectIntent method. + */ + interface Schema$GoogleCloudDialogflowV2beta1DetectIntentResponse { + /** + * If Knowledge Connectors are enabled, there could be more than one result + * returned for a given query or event, and this field will contain all + * results except for the top one, which is captured in query_result. The + * alternative results are ordered by decreasing + * `QueryResult.intent_detection_confidence`. If Knowledge Connectors are + * disabled, this field will be empty until multiple responses for regular + * intents are supported, at which point those additional results will be + * surfaced here. + */ + alternativeQueryResults?: Schema$GoogleCloudDialogflowV2beta1QueryResult[]; + /** + * The audio data bytes encoded as specified in the request. + */ + outputAudio?: string; + /** + * Instructs the speech synthesizer how to generate the output audio. This + * field is populated from the agent-level speech synthesizer configuration, + * if enabled. + */ + outputAudioConfig?: Schema$GoogleCloudDialogflowV2beta1OutputAudioConfig; + /** + * The selected results of the conversational query or event processing. See + * `alternative_query_results` for additional potential results. + */ + queryResult?: Schema$GoogleCloudDialogflowV2beta1QueryResult; + /** + * The unique identifier of the response. It can be used to locate a + * response in the training example set or for reporting issues. + */ + responseId?: string; + /** + * Specifies the status of the webhook request. `webhook_status` is never + * populated in webhook requests. + */ + webhookStatus?: Schema$GoogleRpcStatus; + } + /** + * A document resource. + */ + interface Schema$GoogleCloudDialogflowV2beta1Document { + /** + * The raw content of the document. This field is only permitted for + * EXTRACTIVE_QA and FAQ knowledge types. Note: This field is in the process + * of being deprecated, please use raw_content instead. + */ + content?: string; + /** + * The URI where the file content is located. For documents stored in + * Google Cloud Storage, these URIs must have the form + * `gs://<bucket-name>/<object-name>`. NOTE: External URLs must + * correspond to public webpages, i.e., they must be indexed by Google + * Search. In particular, URLs for showing documents in Google Cloud Storage + * (i.e. the URL in your browser) are not supported. Instead use the `gs://` + * format URI described above. + */ + contentUri?: string; + /** + * Required. The display name of the document. The name must be 1024 bytes + * or less; otherwise, the creation request fails. + */ + displayName?: string; + /** + * Required. The knowledge type of document content. + */ + knowledgeTypes?: string[]; + /** + * Required. The MIME type of this document. + */ + mimeType?: string; + /** + * The document resource name. The name must be empty when creating a + * document. Format: `projects/<Project + * ID>/knowledgeBases/<Knowledge Base ID>/documents/<Document + * ID>`. + */ + name?: string; + /** + * The raw content of the document. This field is only permitted for + * EXTRACTIVE_QA and FAQ knowledge types. + */ + rawContent?: string; + } + /** + * Represents an entity type. Entity types serve as a tool for extracting + * parameter values from natural language queries. + */ + interface Schema$GoogleCloudDialogflowV2beta1EntityType { + /** + * Optional. Indicates whether the entity type can be automatically + * expanded. + */ + autoExpansionMode?: string; + /** + * Required. The name of the entity. + */ + displayName?: string; + /** + * Optional. The collection of entities associated with the entity type. + */ + entities?: Schema$GoogleCloudDialogflowV2beta1EntityTypeEntity[]; + /** + * Required. Indicates the kind of entity type. + */ + kind?: string; + /** + * Required for all methods except `create` (`create` populates the name + * automatically. The unique identifier of the entity type. Format: + * `projects/<Project ID>/agent/entityTypes/<Entity Type ID>`. + */ + name?: string; + } + /** + * This message is a wrapper around a collection of entity types. + */ + interface Schema$GoogleCloudDialogflowV2beta1EntityTypeBatch { + /** + * A collection of entity types. + */ + entityTypes?: Schema$GoogleCloudDialogflowV2beta1EntityType[]; + } + /** + * Optional. Represents an entity. + */ + interface Schema$GoogleCloudDialogflowV2beta1EntityTypeEntity { + /** + * Required. A collection of synonyms. For `KIND_LIST` entity types this + * must contain exactly one synonym equal to `value`. + */ + synonyms?: string[]; + /** + * Required. For `KIND_MAP` entity types: A canonical name to be used in + * place of synonyms. For `KIND_LIST` entity types: A string that can + * contain references to other entity types (with or without aliases). + */ + value?: string; + } + /** + * Events allow for matching intents by event name instead of the natural + * language input. For instance, input `<event: { name: “welcome_event”, + * parameters: { name: “Sam” } }>` can trigger a personalized welcome + * response. The parameter `name` may be used by the agent in the response: + * `“Hello #welcome_event.name! What can I do for you today?”`. + */ + interface Schema$GoogleCloudDialogflowV2beta1EventInput { + /** + * Required. The language of this query. See [Language + * Support](https://dialogflow.com/docs/languages) for a list of the + * currently supported language codes. Note that queries in the same session + * do not necessarily need to specify the same language. + */ + languageCode?: string; + /** + * Required. The unique identifier of the event. + */ + name?: string; + /** + * Optional. The collection of parameters associated with the event. + */ + parameters?: any; + } + /** + * The request message for Agents.ExportAgent. + */ + interface Schema$GoogleCloudDialogflowV2beta1ExportAgentRequest { + /** + * Optional. The [Google Cloud + * Storage](https://cloud.google.com/storage/docs/) URI to export the agent + * to. The format of this URI must be + * `gs://<bucket-name>/<object-name>`. If left unspecified, the + * serialized agent is returned inline. + */ + agentUri?: string; + } + /** + * The response message for Agents.ExportAgent. + */ + interface Schema$GoogleCloudDialogflowV2beta1ExportAgentResponse { + /** + * The exported agent. Example for how to export an agent to a zip file via + * a command line: <pre>curl \ + * 'https://dialogflow.googleapis.com/v2beta1/projects/&lt;project_name&gt;/agent:export'\ + * -X POST \ -H 'Authorization: Bearer '$(gcloud auth + * application-default print-access-token) \ -H 'Accept: + * application/json' \ -H 'Content-Type: application/json' \ + * --compressed \ --data-binary '{}' \ | grep agentContent | sed + * -e 's/.*"agentContent": + * "\([^"]*\)".x/\1/' \ | base64 --decode > + * &lt;agent zip file&gt;</pre> + */ + agentContent?: string; + /** + * The URI to a file containing the exported agent. This field is populated + * only if `agent_uri` is specified in `ExportAgentRequest`. + */ + agentUri?: string; + } + /** + * The request message for Agents.ImportAgent. + */ + interface Schema$GoogleCloudDialogflowV2beta1ImportAgentRequest { + /** + * The agent to import. Example for how to import an agent via the command + * line: <pre>curl \ + * 'https://dialogflow.googleapis.com/v2beta1/projects/&lt;project_name&gt;/agent:import\ + * -X POST \ -H 'Authorization: Bearer '$(gcloud auth + * application-default print-access-token) \ -H 'Accept: + * application/json' \ -H 'Content-Type: application/json' \ + * --compressed \ --data-binary "{ 'agentContent': + * '$(cat &lt;agent zip file&gt; | base64 -w 0)' + * }"</pre> + */ + agentContent?: string; + /** + * The URI to a Google Cloud Storage file containing the agent to import. + * Note: The URI must start with "gs://". + */ + agentUri?: string; + } + /** + * Instructs the speech recognizer how to process the audio content. + */ + interface Schema$GoogleCloudDialogflowV2beta1InputAudioConfig { + /** + * Required. Audio encoding of the audio content to process. + */ + audioEncoding?: string; + /** + * Required. The language of the supplied audio. Dialogflow does not do + * translations. See [Language + * Support](https://dialogflow.com/docs/languages) for a list of the + * currently supported language codes. Note that queries in the same session + * do not necessarily need to specify the same language. + */ + languageCode?: string; + /** + * Optional. Which Speech model to select for the given request. Select the + * model best suited to your domain to get best results. If a model is not + * explicitly specified, then we auto-select a model based on the parameters + * in the InputAudioConfig. If enhanced speech model is enabled for the + * agent and an enhanced version of the specified model for the language + * does not exist, then the speech is recognized using the standard version + * of the specified model. Refer to [Cloud Speech API + * documentation](https://cloud.google.com/speech-to-text/docs/basics#select-model) + * for more details. + */ + model?: string; + /** + * Optional. The collection of phrase hints which are used to boost accuracy + * of speech recognition. Refer to [Cloud Speech API + * documentation](https://cloud.google.com/speech-to-text/docs/basics#phrase-hints) + * for more details. + */ + phraseHints?: string[]; + /** + * Required. Sample rate (in Hertz) of the audio content sent in the query. + * Refer to [Cloud Speech API + * documentation](https://cloud.google.com/speech-to-text/docs/basics) for + * more details. + */ + sampleRateHertz?: number; + } + /** + * Represents an intent. Intents convert a number of user expressions or + * patterns into an action. An action is an extraction of a user command or + * sentence semantics. + */ + interface Schema$GoogleCloudDialogflowV2beta1Intent { + /** + * Optional. The name of the action associated with the intent. Note: The + * action name must not contain whitespaces. + */ + action?: string; + /** + * Optional. The list of platforms for which the first response will be + * taken from among the messages assigned to the DEFAULT_PLATFORM. + */ + defaultResponsePlatforms?: string[]; + /** + * Required. The name of this intent. + */ + displayName?: string; + /** + * Optional. Indicates that this intent ends an interaction. Some + * integrations (e.g., Actions on Google or Dialogflow phone gateway) use + * this information to close interaction with an end user. Default is false. + */ + endInteraction?: boolean; + /** + * Optional. The collection of event names that trigger the intent. If the + * collection of input contexts is not empty, all of the contexts must be + * present in the active user session for an event to trigger this intent. + */ + events?: string[]; + /** + * Read-only. Information about all followup intents that have this intent + * as a direct or indirect parent. We populate this field only in the + * output. + */ + followupIntentInfo?: Schema$GoogleCloudDialogflowV2beta1IntentFollowupIntentInfo[]; + /** + * Optional. The list of context names required for this intent to be + * triggered. Format: `projects/<Project + * ID>/agent/sessions/-/contexts/<Context ID>`. + */ + inputContextNames?: string[]; + /** + * Optional. Indicates whether this is a fallback intent. + */ + isFallback?: boolean; + /** + * Optional. The collection of rich messages corresponding to the `Response` + * field in the Dialogflow console. + */ + messages?: Schema$GoogleCloudDialogflowV2beta1IntentMessage[]; + /** + * Optional. Indicates whether Machine Learning is disabled for the intent. + * Note: If `ml_disabled` setting is set to true, then this intent is not + * taken into account during inference in `ML ONLY` match mode. Also, + * auto-markup in the UI is turned off. + */ + mlDisabled?: boolean; + /** + * Optional. Indicates whether Machine Learning is enabled for the intent. + * Note: If `ml_enabled` setting is set to false, then this intent is not + * taken into account during inference in `ML ONLY` match mode. Also, + * auto-markup in the UI is turned off. DEPRECATED! Please use `ml_disabled` + * field instead. NOTE: If both `ml_enabled` and `ml_disabled` are either + * not set or false, then the default value is determined as follows: - + * Before April 15th, 2018 the default is: ml_enabled = false / + * ml_disabled = true. - After April 15th, 2018 the default is: ml_enabled + * = true / ml_disabled = false. + */ + mlEnabled?: boolean; + /** + * Required for all methods except `create` (`create` populates the name + * automatically. The unique identifier of this intent. Format: + * `projects/<Project ID>/agent/intents/<Intent ID>`. + */ + name?: string; + /** + * Optional. The collection of contexts that are activated when the intent + * is matched. Context messages in this collection should not set the + * parameters field. Setting the `lifespan_count` to 0 will reset the + * context when the intent is matched. Format: `projects/<Project + * ID>/agent/sessions/-/contexts/<Context ID>`. + */ + outputContexts?: Schema$GoogleCloudDialogflowV2beta1Context[]; + /** + * Optional. The collection of parameters associated with the intent. + */ + parameters?: Schema$GoogleCloudDialogflowV2beta1IntentParameter[]; + /** + * Read-only after creation. The unique identifier of the parent intent in + * the chain of followup intents. You can set this field when creating an + * intent, for example with CreateIntent or BatchUpdateIntents, in order to + * make this intent a followup intent. It identifies the parent followup + * intent. Format: `projects/<Project ID>/agent/intents/<Intent + * ID>`. + */ + parentFollowupIntentName?: string; + /** + * Optional. The priority of this intent. Higher numbers represent higher + * priorities. Zero or negative numbers mean that the intent is disabled. + */ + priority?: number; + /** + * Optional. Indicates whether to delete all contexts in the current session + * when this intent is matched. + */ + resetContexts?: boolean; + /** + * Read-only. The unique identifier of the root intent in the chain of + * followup intents. It identifies the correct followup intents chain for + * this intent. We populate this field only in the output. Format: + * `projects/<Project ID>/agent/intents/<Intent ID>`. + */ + rootFollowupIntentName?: string; + /** + * Optional. The collection of examples/templates that the agent is trained + * on. + */ + trainingPhrases?: Schema$GoogleCloudDialogflowV2beta1IntentTrainingPhrase[]; + /** + * Optional. Indicates whether webhooks are enabled for the intent. + */ + webhookState?: string; + } + /** + * This message is a wrapper around a collection of intents. + */ + interface Schema$GoogleCloudDialogflowV2beta1IntentBatch { + /** + * A collection of intents. + */ + intents?: Schema$GoogleCloudDialogflowV2beta1Intent[]; + } + /** + * Represents a single followup intent in the chain. + */ + interface Schema$GoogleCloudDialogflowV2beta1IntentFollowupIntentInfo { + /** + * The unique identifier of the followup intent. Format: + * `projects/<Project ID>/agent/intents/<Intent ID>`. + */ + followupIntentName?: string; + /** + * The unique identifier of the followup intent's parent. Format: + * `projects/<Project ID>/agent/intents/<Intent ID>`. + */ + parentFollowupIntentName?: string; + } + /** + * Corresponds to the `Response` field in the Dialogflow console. + */ + interface Schema$GoogleCloudDialogflowV2beta1IntentMessage { + /** + * Displays a basic card for Actions on Google. + */ + basicCard?: Schema$GoogleCloudDialogflowV2beta1IntentMessageBasicCard; + /** + * Displays a card. + */ + card?: Schema$GoogleCloudDialogflowV2beta1IntentMessageCard; + /** + * Displays a carousel card for Actions on Google. + */ + carouselSelect?: Schema$GoogleCloudDialogflowV2beta1IntentMessageCarouselSelect; + /** + * Displays an image. + */ + image?: Schema$GoogleCloudDialogflowV2beta1IntentMessageImage; + /** + * Displays a link out suggestion chip for Actions on Google. + */ + linkOutSuggestion?: Schema$GoogleCloudDialogflowV2beta1IntentMessageLinkOutSuggestion; + /** + * Displays a list card for Actions on Google. + */ + listSelect?: Schema$GoogleCloudDialogflowV2beta1IntentMessageListSelect; + /** + * Returns a response containing a custom, platform-specific payload. See + * the Intent.Message.Platform type for a description of the structure that + * may be required for your platform. + */ + payload?: any; + /** + * Optional. The platform that this message is intended for. + */ + platform?: string; + /** + * Displays quick replies. + */ + quickReplies?: Schema$GoogleCloudDialogflowV2beta1IntentMessageQuickReplies; + /** + * Returns a voice or text-only response for Actions on Google. + */ + simpleResponses?: Schema$GoogleCloudDialogflowV2beta1IntentMessageSimpleResponses; + /** + * Displays suggestion chips for Actions on Google. + */ + suggestions?: Schema$GoogleCloudDialogflowV2beta1IntentMessageSuggestions; + /** + * Plays audio from a file in Telephony Gateway. + */ + telephonyPlayAudio?: Schema$GoogleCloudDialogflowV2beta1IntentMessageTelephonyPlayAudio; + /** + * Synthesizes speech in Telephony Gateway. + */ + telephonySynthesizeSpeech?: Schema$GoogleCloudDialogflowV2beta1IntentMessageTelephonySynthesizeSpeech; + /** + * Transfers the call in Telephony Gateway. + */ + telephonyTransferCall?: Schema$GoogleCloudDialogflowV2beta1IntentMessageTelephonyTransferCall; + /** + * Returns a text response. + */ + text?: Schema$GoogleCloudDialogflowV2beta1IntentMessageText; + } + /** + * The basic card message. Useful for displaying information. + */ + interface Schema$GoogleCloudDialogflowV2beta1IntentMessageBasicCard { + /** + * Optional. The collection of card buttons. + */ + buttons?: Schema$GoogleCloudDialogflowV2beta1IntentMessageBasicCardButton[]; + /** + * Required, unless image is present. The body text of the card. + */ + formattedText?: string; + /** + * Optional. The image for the card. + */ + image?: Schema$GoogleCloudDialogflowV2beta1IntentMessageImage; + /** + * Optional. The subtitle of the card. + */ + subtitle?: string; + /** + * Optional. The title of the card. + */ + title?: string; + } + /** + * The button object that appears at the bottom of a card. + */ + interface Schema$GoogleCloudDialogflowV2beta1IntentMessageBasicCardButton { + /** + * Required. Action to take when a user taps on the button. + */ + openUriAction?: Schema$GoogleCloudDialogflowV2beta1IntentMessageBasicCardButtonOpenUriAction; + /** + * Required. The title of the button. + */ + title?: string; + } + /** + * Opens the given URI. + */ + interface Schema$GoogleCloudDialogflowV2beta1IntentMessageBasicCardButtonOpenUriAction { + /** + * Required. The HTTP or HTTPS scheme URI. + */ + uri?: string; + } + /** + * The card response message. + */ + interface Schema$GoogleCloudDialogflowV2beta1IntentMessageCard { + /** + * Optional. The collection of card buttons. + */ + buttons?: Schema$GoogleCloudDialogflowV2beta1IntentMessageCardButton[]; + /** + * Optional. The public URI to an image file for the card. + */ + imageUri?: string; + /** + * Optional. The subtitle of the card. + */ + subtitle?: string; + /** + * Optional. The title of the card. + */ + title?: string; + } + /** + * Optional. Contains information about a button. + */ + interface Schema$GoogleCloudDialogflowV2beta1IntentMessageCardButton { + /** + * Optional. The text to send back to the Dialogflow API or a URI to open. + */ + postback?: string; + /** + * Optional. The text to show on the button. + */ + text?: string; + } + /** + * The card for presenting a carousel of options to select from. + */ + interface Schema$GoogleCloudDialogflowV2beta1IntentMessageCarouselSelect { + /** + * Required. Carousel items. + */ + items?: Schema$GoogleCloudDialogflowV2beta1IntentMessageCarouselSelectItem[]; + } + /** + * An item in the carousel. + */ + interface Schema$GoogleCloudDialogflowV2beta1IntentMessageCarouselSelectItem { + /** + * Optional. The body text of the card. + */ + description?: string; + /** + * Optional. The image to display. + */ + image?: Schema$GoogleCloudDialogflowV2beta1IntentMessageImage; + /** + * Required. Additional info about the option item. + */ + info?: Schema$GoogleCloudDialogflowV2beta1IntentMessageSelectItemInfo; + /** + * Required. Title of the carousel item. + */ + title?: string; + } + /** + * The image response message. + */ + interface Schema$GoogleCloudDialogflowV2beta1IntentMessageImage { + /** + * A text description of the image to be used for accessibility, e.g., + * screen readers. Required if image_uri is set for CarouselSelect. + */ + accessibilityText?: string; + /** + * Optional. The public URI to an image file. + */ + imageUri?: string; + } + /** + * The suggestion chip message that allows the user to jump out to the app or + * website associated with this agent. + */ + interface Schema$GoogleCloudDialogflowV2beta1IntentMessageLinkOutSuggestion { + /** + * Required. The name of the app or site this chip is linking to. + */ + destinationName?: string; + /** + * Required. The URI of the app or site to open when the user taps the + * suggestion chip. + */ + uri?: string; + } + /** + * The card for presenting a list of options to select from. + */ + interface Schema$GoogleCloudDialogflowV2beta1IntentMessageListSelect { + /** + * Required. List items. + */ + items?: Schema$GoogleCloudDialogflowV2beta1IntentMessageListSelectItem[]; + /** + * Optional. The overall title of the list. + */ + title?: string; + } + /** + * An item in the list. + */ + interface Schema$GoogleCloudDialogflowV2beta1IntentMessageListSelectItem { + /** + * Optional. The main text describing the item. + */ + description?: string; + /** + * Optional. The image to display. + */ + image?: Schema$GoogleCloudDialogflowV2beta1IntentMessageImage; + /** + * Required. Additional information about this option. + */ + info?: Schema$GoogleCloudDialogflowV2beta1IntentMessageSelectItemInfo; + /** + * Required. The title of the list item. + */ + title?: string; + } + /** + * The quick replies response message. + */ + interface Schema$GoogleCloudDialogflowV2beta1IntentMessageQuickReplies { + /** + * Optional. The collection of quick replies. + */ + quickReplies?: string[]; + /** + * Optional. The title of the collection of quick replies. + */ + title?: string; + } + /** + * Additional info about the select item for when it is triggered in a dialog. + */ + interface Schema$GoogleCloudDialogflowV2beta1IntentMessageSelectItemInfo { + /** + * Required. A unique key that will be sent back to the agent if this + * response is given. + */ + key?: string; + /** + * Optional. A list of synonyms that can also be used to trigger this item + * in dialog. + */ + synonyms?: string[]; + } + /** + * The simple response message containing speech or text. + */ + interface Schema$GoogleCloudDialogflowV2beta1IntentMessageSimpleResponse { + /** + * Optional. The text to display. + */ + displayText?: string; + /** + * One of text_to_speech or ssml must be provided. Structured spoken + * response to the user in the SSML format. Mutually exclusive with + * text_to_speech. + */ + ssml?: string; + /** + * One of text_to_speech or ssml must be provided. The plain text of the + * speech output. Mutually exclusive with ssml. + */ + textToSpeech?: string; + } + /** + * The collection of simple response candidates. This message in + * `QueryResult.fulfillment_messages` and + * `WebhookResponse.fulfillment_messages` should contain only one + * `SimpleResponse`. + */ + interface Schema$GoogleCloudDialogflowV2beta1IntentMessageSimpleResponses { + /** + * Required. The list of simple responses. + */ + simpleResponses?: Schema$GoogleCloudDialogflowV2beta1IntentMessageSimpleResponse[]; + } + /** + * The suggestion chip message that the user can tap to quickly post a reply + * to the conversation. + */ + interface Schema$GoogleCloudDialogflowV2beta1IntentMessageSuggestion { + /** + * Required. The text shown the in the suggestion chip. + */ + title?: string; + } + /** + * The collection of suggestions. + */ + interface Schema$GoogleCloudDialogflowV2beta1IntentMessageSuggestions { + /** + * Required. The list of suggested replies. + */ + suggestions?: Schema$GoogleCloudDialogflowV2beta1IntentMessageSuggestion[]; + } + /** + * Plays audio from a file in Telephony Gateway. + */ + interface Schema$GoogleCloudDialogflowV2beta1IntentMessageTelephonyPlayAudio { + /** + * Required. URI to a Google Cloud Storage object containing the audio to + * play, e.g., "gs://bucket/object". The object must contain a + * single channel (mono) of linear PCM audio (2 bytes / sample) at 8kHz. + * This object must be readable by the `service-<Project + * Number>@gcp-sa-dialogflow.iam.gserviceaccount.com` service account + * where <Project Number> is the number of the Telephony Gateway + * project (usually the same as the Dialogflow agent project). If the Google + * Cloud Storage bucket is in the Telephony Gateway project, this permission + * is added by default when enabling the Dialogflow V2 API. For audio from + * other sources, consider using the `TelephonySynthesizeSpeech` message + * with SSML. + */ + audioUri?: string; + } + /** + * Synthesizes speech and plays back the synthesized audio to the caller in + * Telephony Gateway. Telephony Gateway takes the synthesizer settings from + * `DetectIntentResponse.output_audio_config` which can either be set at + * request-level or can come from the agent-level synthesizer config. + */ + interface Schema$GoogleCloudDialogflowV2beta1IntentMessageTelephonySynthesizeSpeech { + /** + * The SSML to be synthesized. For more information, see + * [SSML](https://developers.google.com/actions/reference/ssml). + */ + ssml?: string; + /** + * The raw text to be synthesized. + */ + text?: string; + } + /** + * Transfers the call in Telephony Gateway. + */ + interface Schema$GoogleCloudDialogflowV2beta1IntentMessageTelephonyTransferCall { + /** + * Required. The phone number to transfer the call to in [E.164 + * format](https://en.wikipedia.org/wiki/E.164). We currently only allow + * transferring to US numbers (+1xxxyyyzzzz). + */ + phoneNumber?: string; + } + /** + * The text response message. + */ + interface Schema$GoogleCloudDialogflowV2beta1IntentMessageText { + /** + * Optional. The collection of the agent's responses. + */ + text?: string[]; + } + /** + * Represents intent parameters. + */ + interface Schema$GoogleCloudDialogflowV2beta1IntentParameter { + /** + * Optional. The default value to use when the `value` yields an empty + * result. Default values can be extracted from contexts by using the + * following syntax: `#context_name.parameter_name`. + */ + defaultValue?: string; + /** + * Required. The name of the parameter. + */ + displayName?: string; + /** + * Optional. The name of the entity type, prefixed with `@`, that describes + * values of the parameter. If the parameter is required, this must be + * provided. + */ + entityTypeDisplayName?: string; + /** + * Optional. Indicates whether the parameter represents a list of values. + */ + isList?: boolean; + /** + * Optional. Indicates whether the parameter is required. That is, whether + * the intent cannot be completed without collecting the parameter value. + */ + mandatory?: boolean; + /** + * The unique identifier of this parameter. + */ + name?: string; + /** + * Optional. The collection of prompts that the agent can present to the + * user in order to collect value for the parameter. + */ + prompts?: string[]; + /** + * Optional. The definition of the parameter value. It can be: - a constant + * string, - a parameter value defined as `$parameter_name`, - an original + * parameter value defined as `$parameter_name.original`, - a parameter + * value from some context defined as `#context_name.parameter_name`. + */ + value?: string; + } + /** + * Represents an example or template that the agent is trained on. + */ + interface Schema$GoogleCloudDialogflowV2beta1IntentTrainingPhrase { + /** + * Output only. The unique identifier of this training phrase. + */ + name?: string; + /** + * Required. The collection of training phrase parts (can be annotated). + * Fields: `entity_type`, `alias` and `user_defined` should be populated + * only for the annotated parts of the training phrase. + */ + parts?: Schema$GoogleCloudDialogflowV2beta1IntentTrainingPhrasePart[]; + /** + * Optional. Indicates how many times this example or template was added to + * the intent. Each time a developer adds an existing sample by editing an + * intent or training, this counter is increased. + */ + timesAddedCount?: number; + /** + * Required. The type of the training phrase. + */ + type?: string; + } + /** + * Represents a part of a training phrase. + */ + interface Schema$GoogleCloudDialogflowV2beta1IntentTrainingPhrasePart { + /** + * Optional. The parameter name for the value extracted from the annotated + * part of the example. + */ + alias?: string; + /** + * Optional. The entity type name prefixed with `@`. This field is required + * for the annotated part of the text and applies only to examples. + */ + entityType?: string; + /** + * Required. The text corresponding to the example or template, if there are + * no annotations. For annotated examples, it is the text for one of the + * example's parts. + */ + text?: string; + /** + * Optional. Indicates whether the text was manually annotated by the + * developer. + */ + userDefined?: boolean; + } + /** + * Represents the result of querying a Knowledge base. + */ + interface Schema$GoogleCloudDialogflowV2beta1KnowledgeAnswers { + /** + * A list of answers from Knowledge Connector. + */ + answers?: Schema$GoogleCloudDialogflowV2beta1KnowledgeAnswersAnswer[]; + } + /** + * An answer from Knowledge Connector. + */ + interface Schema$GoogleCloudDialogflowV2beta1KnowledgeAnswersAnswer { + /** + * The piece of text from the `source` knowledge base document that answers + * this conversational query. + */ + answer?: string; + /** + * The corresponding FAQ question if the answer was extracted from a FAQ + * Document, empty otherwise. + */ + faqQuestion?: string; + /** + * The system's confidence score that this Knowledge answer is a good + * match for this converstational query, range from 0.0 (completely + * uncertain) to 1.0 (completely certain). Note: The confidence score is + * likely to vary somewhat (possibly even for identical requests), as the + * underlying model is under constant improvement, we may deprecate it in + * the future. We recommend using `match_confidence_level` which should be + * generally more stable. + */ + matchConfidence?: number; + /** + * The system's confidence level that this knowledge answer is a good + * match for this conversational query. NOTE: The confidence level for a + * given `<query, answer>` pair may change without notice, as it + * depends on models that are constantly being improved. However, it will + * change less frequently than the confidence score below, and should be + * preferred for referencing the quality of an answer. + */ + matchConfidenceLevel?: string; + /** + * Indicates which Knowledge Document this answer was extracted from. + * Format: `projects/<Project ID>/knowledgeBases/<Knowledge Base + * ID>/documents/<Document ID>`. + */ + source?: string; + } + /** + * Represents knowledge base resource. + */ + interface Schema$GoogleCloudDialogflowV2beta1KnowledgeBase { + /** + * Required. The display name of the knowledge base. The name must be 1024 + * bytes or less; otherwise, the creation request fails. + */ + displayName?: string; + /** + * The knowledge base resource name. The name must be empty when creating a + * knowledge base. Format: `projects/<Project + * ID>/knowledgeBases/<Knowledge Base ID>`. + */ + name?: string; + } + /** + * Metadata in google::longrunning::Operation for Knowledge operations. + */ + interface Schema$GoogleCloudDialogflowV2beta1KnowledgeOperationMetadata { + /** + * Required. The current state of this operation. + */ + state?: string; + } + /** + * The response message for Contexts.ListContexts. + */ + interface Schema$GoogleCloudDialogflowV2beta1ListContextsResponse { + /** + * The list of contexts. There will be a maximum number of items returned + * based on the page_size field in the request. + */ + contexts?: Schema$GoogleCloudDialogflowV2beta1Context[]; + /** + * Token to retrieve the next page of results, or empty if there are no more + * results in the list. + */ + nextPageToken?: string; + } + /** + * Response message for Documents.ListDocuments. + */ + interface Schema$GoogleCloudDialogflowV2beta1ListDocumentsResponse { + /** + * The list of documents. + */ + documents?: Schema$GoogleCloudDialogflowV2beta1Document[]; + /** + * Token to retrieve the next page of results, or empty if there are no more + * results in the list. + */ + nextPageToken?: string; + } + /** + * The response message for EntityTypes.ListEntityTypes. + */ + interface Schema$GoogleCloudDialogflowV2beta1ListEntityTypesResponse { + /** + * The list of agent entity types. There will be a maximum number of items + * returned based on the page_size field in the request. + */ + entityTypes?: Schema$GoogleCloudDialogflowV2beta1EntityType[]; + /** + * Token to retrieve the next page of results, or empty if there are no more + * results in the list. + */ + nextPageToken?: string; + } + /** + * The response message for Intents.ListIntents. + */ + interface Schema$GoogleCloudDialogflowV2beta1ListIntentsResponse { + /** + * The list of agent intents. There will be a maximum number of items + * returned based on the page_size field in the request. + */ + intents?: Schema$GoogleCloudDialogflowV2beta1Intent[]; + /** + * Token to retrieve the next page of results, or empty if there are no more + * results in the list. + */ + nextPageToken?: string; + } + /** + * Response message for KnowledgeBases.ListKnowledgeBases. + */ + interface Schema$GoogleCloudDialogflowV2beta1ListKnowledgeBasesResponse { + /** + * The list of knowledge bases. + */ + knowledgeBases?: Schema$GoogleCloudDialogflowV2beta1KnowledgeBase[]; + /** + * Token to retrieve the next page of results, or empty if there are no more + * results in the list. + */ + nextPageToken?: string; + } + /** + * The response message for SessionEntityTypes.ListSessionEntityTypes. + */ + interface Schema$GoogleCloudDialogflowV2beta1ListSessionEntityTypesResponse { + /** + * Token to retrieve the next page of results, or empty if there are no more + * results in the list. + */ + nextPageToken?: string; + /** + * The list of session entity types. There will be a maximum number of items + * returned based on the page_size field in the request. + */ + sessionEntityTypes?: Schema$GoogleCloudDialogflowV2beta1SessionEntityType[]; + } + /** + * Represents the contents of the original request that was passed to the + * `[Streaming]DetectIntent` call. + */ + interface Schema$GoogleCloudDialogflowV2beta1OriginalDetectIntentRequest { + /** + * Optional. This field is set to the value of the `QueryParameters.payload` + * field passed in the request. Some integrations that query a Dialogflow + * agent may provide additional information in the payload. In particular + * for the Telephony Gateway this field has the form: <pre>{ + * "telephony": { "caller_id": + * "+18558363987" } }</pre> Note: The caller ID field + * (`caller_id`) will be redacted for Standard Edition agents and populated + * with the caller ID in [E.164 format](https://en.wikipedia.org/wiki/E.164) + * for Enterprise Edition agents. + */ + payload?: any; + /** + * The source of this request, e.g., `google`, `facebook`, `slack`. It is + * set by Dialogflow-owned servers. + */ + source?: string; + /** + * Optional. The version of the protocol used for this request. This field + * is AoG-specific. + */ + version?: string; + } + /** + * Instructs the speech synthesizer how to generate the output audio content. + */ + interface Schema$GoogleCloudDialogflowV2beta1OutputAudioConfig { + /** + * Required. Audio encoding of the synthesized audio content. + */ + audioEncoding?: string; + /** + * Optional. The synthesis sample rate (in hertz) for this audio. If not + * provided, then the synthesizer will use the default sample rate based on + * the audio encoding. If this is different from the voice's natural + * sample rate, then the synthesizer will honor this request by converting + * to the desired sample rate (which might result in worse audio quality). + */ + sampleRateHertz?: number; + /** + * Optional. Configuration of how speech should be synthesized. + */ + synthesizeSpeechConfig?: Schema$GoogleCloudDialogflowV2beta1SynthesizeSpeechConfig; + } + /** + * Represents the query input. It can contain either: 1. An audio config + * which instructs the speech recognizer how to process the speech audio. + * 2. A conversational query in the form of text,. 3. An event that + * specifies which intent to trigger. + */ + interface Schema$GoogleCloudDialogflowV2beta1QueryInput { + /** + * Instructs the speech recognizer how to process the speech audio. + */ + audioConfig?: Schema$GoogleCloudDialogflowV2beta1InputAudioConfig; + /** + * The event to be processed. + */ + event?: Schema$GoogleCloudDialogflowV2beta1EventInput; + /** + * The natural language text to be processed. + */ + text?: Schema$GoogleCloudDialogflowV2beta1TextInput; + } + /** + * Represents the parameters of the conversational query. + */ + interface Schema$GoogleCloudDialogflowV2beta1QueryParameters { + /** + * Optional. The collection of contexts to be activated before this query is + * executed. + */ + contexts?: Schema$GoogleCloudDialogflowV2beta1Context[]; + /** + * Optional. The geo location of this conversational query. + */ + geoLocation?: Schema$GoogleTypeLatLng; + /** + * Optional. KnowledgeBases to get alternative results from. If not set, the + * KnowledgeBases enabled in the agent (through UI) will be used. Format: + * `projects/<Project ID>/knowledgeBases/<Knowledge Base ID>`. + */ + knowledgeBaseNames?: string[]; + /** + * Optional. This field can be used to pass custom data into the webhook + * associated with the agent. Arbitrary JSON objects are supported. + */ + payload?: any; + /** + * Optional. Specifies whether to delete all contexts in the current session + * before the new ones are activated. + */ + resetContexts?: boolean; + /** + * Optional. Configures the type of sentiment analysis to perform. If not + * provided, sentiment analysis is not performed. Note: Sentiment Analysis + * is only currently available for Enterprise Edition agents. + */ + sentimentAnalysisRequestConfig?: Schema$GoogleCloudDialogflowV2beta1SentimentAnalysisRequestConfig; + /** + * Optional. The collection of session entity types to replace or extend + * developer entities with for this query only. The entity synonyms apply to + * all languages. + */ + sessionEntityTypes?: Schema$GoogleCloudDialogflowV2beta1SessionEntityType[]; + /** + * Optional. The time zone of this conversational query from the [time zone + * database](https://www.iana.org/time-zones), e.g., America/New_York, + * Europe/Paris. If not provided, the time zone specified in agent settings + * is used. + */ + timeZone?: string; + } + /** + * Represents the result of conversational query or event processing. + */ + interface Schema$GoogleCloudDialogflowV2beta1QueryResult { + /** + * The action name from the matched intent. + */ + action?: string; + /** + * This field is set to: - `false` if the matched intent has required + * parameters and not all of the required parameter values have been + * collected. - `true` if all required parameter values have been collected, + * or if the matched intent doesn't contain any required parameters. + */ + allRequiredParamsPresent?: boolean; + /** + * The free-form diagnostic info. For example, this field could contain + * webhook call latency. + */ + diagnosticInfo?: any; + /** + * The collection of rich messages to present to the user. + */ + fulfillmentMessages?: Schema$GoogleCloudDialogflowV2beta1IntentMessage[]; + /** + * The text to be pronounced to the user or shown on the screen. + */ + fulfillmentText?: string; + /** + * The intent that matched the conversational query. Some, not all fields + * are filled in this message, including but not limited to: `name`, + * `display_name` and `webhook_state`. + */ + intent?: Schema$GoogleCloudDialogflowV2beta1Intent; + /** + * The intent detection confidence. Values range from 0.0 (completely + * uncertain) to 1.0 (completely certain). If there are `multiple + * knowledge_answers` messages, this value is set to the greatest + * `knowledgeAnswers.match_confidence` value in the list. + */ + intentDetectionConfidence?: number; + /** + * The result from Knowledge Connector (if any), ordered by decreasing + * `KnowledgeAnswers.match_confidence`. + */ + knowledgeAnswers?: Schema$GoogleCloudDialogflowV2beta1KnowledgeAnswers; + /** + * The language that was triggered during intent detection. See [Language + * Support](https://dialogflow.com/docs/reference/language) for a list of + * the currently supported language codes. + */ + languageCode?: string; + /** + * The collection of output contexts. If applicable, + * `output_contexts.parameters` contains entries with name `<parameter + * name>.original` containing the original parameter values before the + * query. + */ + outputContexts?: Schema$GoogleCloudDialogflowV2beta1Context[]; + /** + * The collection of extracted parameters. + */ + parameters?: any; + /** + * The original conversational query text: - If natural language text was + * provided as input, `query_text` contains a copy of the input. - If + * natural language speech audio was provided as input, `query_text` + * contains the speech recognition result. If speech recognizer produced + * multiple alternatives, a particular one is picked. - If an event was + * provided as input, `query_text` is not set. + */ + queryText?: string; + /** + * The sentiment analysis result, which depends on the + * `sentiment_analysis_request_config` specified in the request. + */ + sentimentAnalysisResult?: Schema$GoogleCloudDialogflowV2beta1SentimentAnalysisResult; + /** + * The Speech recognition confidence between 0.0 and 1.0. A higher number + * indicates an estimated greater likelihood that the recognized words are + * correct. The default of 0.0 is a sentinel value indicating that + * confidence was not set. This field is not guaranteed to be accurate or + * set. In particular this field isn't set for StreamingDetectIntent + * since the streaming endpoint has separate confidence estimates per + * portion of the audio in StreamingRecognitionResult. + */ + speechRecognitionConfidence?: number; + /** + * If the query was fulfilled by a webhook call, this field is set to the + * value of the `payload` field returned in the webhook response. + */ + webhookPayload?: any; + /** + * If the query was fulfilled by a webhook call, this field is set to the + * value of the `source` field returned in the webhook response. + */ + webhookSource?: string; + } + /** + * The request message for Agents.RestoreAgent. + */ + interface Schema$GoogleCloudDialogflowV2beta1RestoreAgentRequest { + /** + * The agent to restore. Example for how to restore an agent via the + * command line: <pre>curl \ + * 'https://dialogflow.googleapis.com/v2beta1/projects/&lt;project_name&gt;/agent:restore\ + * -X POST \ -H 'Authorization: Bearer '$(gcloud auth + * application-default print-access-token) \ -H 'Accept: + * application/json' \ -H 'Content-Type: application/json' \ + * --compressed \ --data-binary "{ 'agentContent': + * '$(cat &lt;agent zip file&gt; | base64 -w 0)' + * }"</pre> + */ + agentContent?: string; + /** + * The URI to a Google Cloud Storage file containing the agent to restore. + * Note: The URI must start with "gs://". + */ + agentUri?: string; + } + /** + * The response message for Agents.SearchAgents. + */ + interface Schema$GoogleCloudDialogflowV2beta1SearchAgentsResponse { + /** + * The list of agents. There will be a maximum number of items returned + * based on the page_size field in the request. + */ + agents?: Schema$GoogleCloudDialogflowV2beta1Agent[]; + /** + * Token to retrieve the next page of results, or empty if there are no more + * results in the list. + */ + nextPageToken?: string; + } + /** + * The sentiment, such as positive/negative feeling or association, for a unit + * of analysis, such as the query text. + */ + interface Schema$GoogleCloudDialogflowV2beta1Sentiment { + /** + * A non-negative number in the [0, +inf) range, which represents the + * absolute magnitude of sentiment, regardless of score (positive or + * negative). + */ + magnitude?: number; + /** + * Sentiment score between -1.0 (negative sentiment) and 1.0 (positive + * sentiment). + */ + score?: number; + } + /** + * Configures the types of sentiment analysis to perform. + */ + interface Schema$GoogleCloudDialogflowV2beta1SentimentAnalysisRequestConfig { + /** + * Optional. Instructs the service to perform sentiment analysis on + * `query_text`. If not provided, sentiment analysis is not performed on + * `query_text`. + */ + analyzeQueryTextSentiment?: boolean; + } + /** + * The result of sentiment analysis as configured by + * `sentiment_analysis_request_config`. + */ + interface Schema$GoogleCloudDialogflowV2beta1SentimentAnalysisResult { + /** + * The sentiment analysis result for `query_text`. + */ + queryTextSentiment?: Schema$GoogleCloudDialogflowV2beta1Sentiment; + } + /** + * Represents a session entity type. Extends or replaces a developer entity + * type at the user session level (we refer to the entity types defined at the + * agent level as "developer entity types"). Note: session entity + * types apply to all queries, regardless of the language. + */ + interface Schema$GoogleCloudDialogflowV2beta1SessionEntityType { + /** + * Required. The collection of entities associated with this session entity + * type. + */ + entities?: Schema$GoogleCloudDialogflowV2beta1EntityTypeEntity[]; + /** + * Required. Indicates whether the additional data should override or + * supplement the developer entity type definition. + */ + entityOverrideMode?: string; + /** + * Required. The unique identifier of this session entity type. Format: + * `projects/<Project ID>/agent/sessions/<Session + * ID>/entityTypes/<Entity Type Display Name>`, or + * `projects/<Project ID>/agent/environments/<Environment + * ID>/users/<User ID>/sessions/<Session + * ID>/entityTypes/<Entity Type Display Name>`. If `Environment ID` + * is not specified, we assume default 'draft' environment. If `User + * ID` is not specified, we assume default '-' user. + */ + name?: string; + } + /** + * Configuration of how speech should be synthesized. + */ + interface Schema$GoogleCloudDialogflowV2beta1SynthesizeSpeechConfig { + /** + * Optional. An identifier which selects 'audio effects' profiles + * that are applied on (post synthesized) text to speech. Effects are + * applied on top of each other in the order they are given. + */ + effectsProfileId?: string[]; + /** + * Optional. Speaking pitch, in the range [-20.0, 20.0]. 20 means increase + * 20 semitones from the original pitch. -20 means decrease 20 semitones + * from the original pitch. + */ + pitch?: number; + /** + * Optional. Speaking rate/speed, in the range [0.25, 4.0]. 1.0 is the + * normal native speed supported by the specific voice. 2.0 is twice as + * fast, and 0.5 is half as fast. If unset(0.0), defaults to the native 1.0 + * speed. Any other values < 0.25 or > 4.0 will return an error. + */ + speakingRate?: number; + /** + * Optional. The desired voice of the synthesized audio. + */ + voice?: Schema$GoogleCloudDialogflowV2beta1VoiceSelectionParams; + /** + * Optional. Volume gain (in dB) of the normal native volume supported by + * the specific voice, in the range [-96.0, 16.0]. If unset, or set to a + * value of 0.0 (dB), will play at normal native signal amplitude. A value + * of -6.0 (dB) will play at approximately half the amplitude of the normal + * native signal amplitude. A value of +6.0 (dB) will play at approximately + * twice the amplitude of the normal native signal amplitude. We strongly + * recommend not to exceed +10 (dB) as there's usually no effective + * increase in loudness for any value greater than that. + */ + volumeGainDb?: number; + } + /** + * Represents the natural language text to be processed. + */ + interface Schema$GoogleCloudDialogflowV2beta1TextInput { + /** + * Required. The language of this conversational query. See [Language + * Support](https://dialogflow.com/docs/languages) for a list of the + * currently supported language codes. Note that queries in the same session + * do not necessarily need to specify the same language. + */ + languageCode?: string; + /** + * Required. The UTF-8 encoded natural language text to be processed. Text + * length must not exceed 256 bytes. + */ + text?: string; + } + /** + * The request message for Agents.TrainAgent. + */ + interface Schema$GoogleCloudDialogflowV2beta1TrainAgentRequest { + } + /** + * Description of which voice to use for speech synthesis. + */ + interface Schema$GoogleCloudDialogflowV2beta1VoiceSelectionParams { + /** + * Optional. The name of the voice. If not set, the service will choose a + * voice based on the other parameters such as language_code and gender. + */ + name?: string; + /** + * Optional. The preferred gender of the voice. If not set, the service will + * choose a voice based on the other parameters such as language_code and + * name. Note that this is only a preference, not requirement. If a voice of + * the appropriate gender is not available, the synthesizer should + * substitute a voice with a different gender rather than failing the + * request. + */ + ssmlGender?: string; + } + /** + * The request message for a webhook call. + */ + interface Schema$GoogleCloudDialogflowV2beta1WebhookRequest { + /** + * Alternative query results from KnowledgeService. + */ + alternativeQueryResults?: Schema$GoogleCloudDialogflowV2beta1QueryResult[]; + /** + * Optional. The contents of the original request that was passed to + * `[Streaming]DetectIntent` call. + */ + originalDetectIntentRequest?: Schema$GoogleCloudDialogflowV2beta1OriginalDetectIntentRequest; + /** + * The result of the conversational query or event processing. Contains the + * same value as `[Streaming]DetectIntentResponse.query_result`. + */ + queryResult?: Schema$GoogleCloudDialogflowV2beta1QueryResult; + /** + * The unique identifier of the response. Contains the same value as + * `[Streaming]DetectIntentResponse.response_id`. + */ + responseId?: string; + /** + * The unique identifier of detectIntent request session. Can be used to + * identify end-user inside webhook implementation. Format: + * `projects/<Project ID>/agent/sessions/<Session ID>`. + */ + session?: string; + } + /** + * The response message for a webhook call. + */ + interface Schema$GoogleCloudDialogflowV2beta1WebhookResponse { + /** + * Optional. Indicates that this intent ends an interaction. Some + * integrations (e.g., Actions on Google or Dialogflow phone gateway) use + * this information to close interaction with an end user. Default is false. + */ + endInteraction?: boolean; + /** + * Optional. Makes the platform immediately invoke another `DetectIntent` + * call internally with the specified event as input. + */ + followupEventInput?: Schema$GoogleCloudDialogflowV2beta1EventInput; + /** + * Optional. The collection of rich messages to present to the user. This + * value is passed directly to `QueryResult.fulfillment_messages`. + */ + fulfillmentMessages?: Schema$GoogleCloudDialogflowV2beta1IntentMessage[]; + /** + * Optional. The text to be shown on the screen. This value is passed + * directly to `QueryResult.fulfillment_text`. + */ + fulfillmentText?: string; + /** + * Optional. The collection of output contexts. This value is passed + * directly to `QueryResult.output_contexts`. + */ + outputContexts?: Schema$GoogleCloudDialogflowV2beta1Context[]; + /** + * Optional. This value is passed directly to `QueryResult.webhook_payload`. + * See the related `fulfillment_messages[i].payload field`, which may be + * used as an alternative to this field. This field can be used for Actions + * on Google responses. It should have a structure similar to the JSON + * message shown here. For more information, see [Actions on Google Webhook + * Format](https://developers.google.com/actions/dialogflow/webhook) + * <pre>{ "google": { "expectUserResponse": + * true, "richResponse": { "items": [ { + * "simpleResponse": { "textToSpeech": + * "this is a simple response" } } ] } + * } }</pre> + */ + payload?: any; + /** + * Optional. This value is passed directly to `QueryResult.webhook_source`. + */ + source?: string; + } + /** + * Represents a context. + */ + interface Schema$GoogleCloudDialogflowV2Context { + /** + * Optional. The number of conversational query requests after which the + * context expires. If set to `0` (the default) the context expires + * immediately. Contexts expire automatically after 10 minutes even if there + * are no matching queries. + */ + lifespanCount?: number; + /** + * Required. The unique identifier of the context. Format: + * `projects/<Project ID>/agent/sessions/<Session + * ID>/contexts/<Context ID>`. + */ + name?: string; + /** + * Optional. The collection of parameters associated with this context. + * Refer to [this doc](https://dialogflow.com/docs/actions-and-parameters) + * for syntax. + */ + parameters?: any; + } + /** + * Represents an entity type. Entity types serve as a tool for extracting + * parameter values from natural language queries. + */ + interface Schema$GoogleCloudDialogflowV2EntityType { + /** + * Optional. Indicates whether the entity type can be automatically + * expanded. + */ + autoExpansionMode?: string; + /** + * Required. The name of the entity. + */ + displayName?: string; + /** + * Optional. The collection of entities associated with the entity type. + */ + entities?: Schema$GoogleCloudDialogflowV2EntityTypeEntity[]; + /** + * Required. Indicates the kind of entity type. + */ + kind?: string; + /** + * Required for all methods except `create` (`create` populates the name + * automatically. The unique identifier of the entity type. Format: + * `projects/<Project ID>/agent/entityTypes/<Entity Type ID>`. + */ + name?: string; + } + /** + * Optional. Represents an entity. + */ + interface Schema$GoogleCloudDialogflowV2EntityTypeEntity { + /** + * Required. A collection of synonyms. For `KIND_LIST` entity types this + * must contain exactly one synonym equal to `value`. + */ + synonyms?: string[]; + /** + * Required. For `KIND_MAP` entity types: A canonical name to be used in + * place of synonyms. For `KIND_LIST` entity types: A string that can + * contain references to other entity types (with or without aliases). + */ + value?: string; + } + /** + * Events allow for matching intents by event name instead of the natural + * language input. For instance, input `<event: { name: “welcome_event”, + * parameters: { name: “Sam” } }>` can trigger a personalized welcome + * response. The parameter `name` may be used by the agent in the response: + * `“Hello #welcome_event.name! What can I do for you today?”`. + */ + interface Schema$GoogleCloudDialogflowV2EventInput { + /** + * Required. The language of this query. See [Language + * Support](https://dialogflow.com/docs/languages) for a list of the + * currently supported language codes. Note that queries in the same session + * do not necessarily need to specify the same language. + */ + languageCode?: string; + /** + * Required. The unique identifier of the event. + */ + name?: string; + /** + * Optional. The collection of parameters associated with the event. + */ + parameters?: any; + } + /** + * The response message for Agents.ExportAgent. + */ + interface Schema$GoogleCloudDialogflowV2ExportAgentResponse { + /** + * The exported agent. Example for how to export an agent to a zip file via + * a command line: <pre>curl \ + * 'https://dialogflow.googleapis.com/v2/projects/&lt;project_name&gt;/agent:export'\ + * -X POST \ -H 'Authorization: Bearer '$(gcloud auth + * application-default print-access-token) \ -H 'Accept: + * application/json' \ -H 'Content-Type: application/json' \ + * --compressed \ --data-binary '{}' \ | grep agentContent | sed + * -e 's/.*"agentContent": + * "\([^"]*\)".x/\1/' \ | base64 --decode > + * &lt;agent zip file&gt;</pre> + */ + agentContent?: string; + /** + * The URI to a file containing the exported agent. This field is populated + * only if `agent_uri` is specified in `ExportAgentRequest`. + */ + agentUri?: string; + } + /** + * Represents an intent. Intents convert a number of user expressions or + * patterns into an action. An action is an extraction of a user command or + * sentence semantics. + */ + interface Schema$GoogleCloudDialogflowV2Intent { + /** + * Optional. The name of the action associated with the intent. Note: The + * action name must not contain whitespaces. + */ + action?: string; + /** + * Optional. The list of platforms for which the first response will be + * taken from among the messages assigned to the DEFAULT_PLATFORM. + */ + defaultResponsePlatforms?: string[]; + /** + * Required. The name of this intent. + */ + displayName?: string; + /** + * Optional. The collection of event names that trigger the intent. If the + * collection of input contexts is not empty, all of the contexts must be + * present in the active user session for an event to trigger this intent. + */ + events?: string[]; + /** + * Read-only. Information about all followup intents that have this intent + * as a direct or indirect parent. We populate this field only in the + * output. + */ + followupIntentInfo?: Schema$GoogleCloudDialogflowV2IntentFollowupIntentInfo[]; + /** + * Optional. The list of context names required for this intent to be + * triggered. Format: `projects/<Project + * ID>/agent/sessions/-/contexts/<Context ID>`. + */ + inputContextNames?: string[]; + /** + * Optional. Indicates whether this is a fallback intent. + */ + isFallback?: boolean; + /** + * Optional. The collection of rich messages corresponding to the `Response` + * field in the Dialogflow console. + */ + messages?: Schema$GoogleCloudDialogflowV2IntentMessage[]; + /** + * Optional. Indicates whether Machine Learning is disabled for the intent. + * Note: If `ml_diabled` setting is set to true, then this intent is not + * taken into account during inference in `ML ONLY` match mode. Also, + * auto-markup in the UI is turned off. + */ + mlDisabled?: boolean; + /** + * Required for all methods except `create` (`create` populates the name + * automatically. The unique identifier of this intent. Format: + * `projects/<Project ID>/agent/intents/<Intent ID>`. + */ + name?: string; + /** + * Optional. The collection of contexts that are activated when the intent + * is matched. Context messages in this collection should not set the + * parameters field. Setting the `lifespan_count` to 0 will reset the + * context when the intent is matched. Format: `projects/<Project + * ID>/agent/sessions/-/contexts/<Context ID>`. + */ + outputContexts?: Schema$GoogleCloudDialogflowV2Context[]; + /** + * Optional. The collection of parameters associated with the intent. + */ + parameters?: Schema$GoogleCloudDialogflowV2IntentParameter[]; + /** + * Read-only after creation. The unique identifier of the parent intent in + * the chain of followup intents. You can set this field when creating an + * intent, for example with CreateIntent or BatchUpdateIntents, in order to + * make this intent a followup intent. It identifies the parent followup + * intent. Format: `projects/<Project ID>/agent/intents/<Intent + * ID>`. + */ + parentFollowupIntentName?: string; + /** + * Optional. The priority of this intent. Higher numbers represent higher + * priorities. Zero or negative numbers mean that the intent is disabled. + */ + priority?: number; + /** + * Optional. Indicates whether to delete all contexts in the current session + * when this intent is matched. + */ + resetContexts?: boolean; + /** + * Read-only. The unique identifier of the root intent in the chain of + * followup intents. It identifies the correct followup intents chain for + * this intent. We populate this field only in the output. Format: + * `projects/<Project ID>/agent/intents/<Intent ID>`. + */ + rootFollowupIntentName?: string; + /** + * Optional. The collection of examples/templates that the agent is trained + * on. + */ + trainingPhrases?: Schema$GoogleCloudDialogflowV2IntentTrainingPhrase[]; + /** + * Optional. Indicates whether webhooks are enabled for the intent. + */ + webhookState?: string; + } + /** + * Represents a single followup intent in the chain. + */ + interface Schema$GoogleCloudDialogflowV2IntentFollowupIntentInfo { + /** + * The unique identifier of the followup intent. Format: + * `projects/<Project ID>/agent/intents/<Intent ID>`. + */ + followupIntentName?: string; + /** + * The unique identifier of the followup intent's parent. Format: + * `projects/<Project ID>/agent/intents/<Intent ID>`. + */ + parentFollowupIntentName?: string; + } + /** + * Corresponds to the `Response` field in the Dialogflow console. + */ + interface Schema$GoogleCloudDialogflowV2IntentMessage { + /** + * The basic card response for Actions on Google. + */ + basicCard?: Schema$GoogleCloudDialogflowV2IntentMessageBasicCard; + /** + * The card response. + */ + card?: Schema$GoogleCloudDialogflowV2IntentMessageCard; + /** + * The carousel card response for Actions on Google. + */ + carouselSelect?: Schema$GoogleCloudDialogflowV2IntentMessageCarouselSelect; + /** + * The image response. + */ + image?: Schema$GoogleCloudDialogflowV2IntentMessageImage; + /** + * The link out suggestion chip for Actions on Google. + */ + linkOutSuggestion?: Schema$GoogleCloudDialogflowV2IntentMessageLinkOutSuggestion; + /** + * The list card response for Actions on Google. + */ + listSelect?: Schema$GoogleCloudDialogflowV2IntentMessageListSelect; + /** + * Returns a response containing a custom, platform-specific payload. See + * the Intent.Message.Platform type for a description of the structure that + * may be required for your platform. + */ + payload?: any; + /** + * Optional. The platform that this message is intended for. + */ + platform?: string; + /** + * The quick replies response. + */ + quickReplies?: Schema$GoogleCloudDialogflowV2IntentMessageQuickReplies; + /** + * The voice and text-only responses for Actions on Google. + */ + simpleResponses?: Schema$GoogleCloudDialogflowV2IntentMessageSimpleResponses; + /** + * The suggestion chips for Actions on Google. + */ + suggestions?: Schema$GoogleCloudDialogflowV2IntentMessageSuggestions; + /** + * The text response. + */ + text?: Schema$GoogleCloudDialogflowV2IntentMessageText; + } + /** + * The basic card message. Useful for displaying information. + */ + interface Schema$GoogleCloudDialogflowV2IntentMessageBasicCard { + /** + * Optional. The collection of card buttons. + */ + buttons?: Schema$GoogleCloudDialogflowV2IntentMessageBasicCardButton[]; + /** + * Required, unless image is present. The body text of the card. + */ + formattedText?: string; + /** + * Optional. The image for the card. + */ + image?: Schema$GoogleCloudDialogflowV2IntentMessageImage; + /** + * Optional. The subtitle of the card. + */ + subtitle?: string; + /** + * Optional. The title of the card. + */ + title?: string; + } + /** + * The button object that appears at the bottom of a card. + */ + interface Schema$GoogleCloudDialogflowV2IntentMessageBasicCardButton { + /** + * Required. Action to take when a user taps on the button. + */ + openUriAction?: Schema$GoogleCloudDialogflowV2IntentMessageBasicCardButtonOpenUriAction; + /** + * Required. The title of the button. + */ + title?: string; + } + /** + * Opens the given URI. + */ + interface Schema$GoogleCloudDialogflowV2IntentMessageBasicCardButtonOpenUriAction { + /** + * Required. The HTTP or HTTPS scheme URI. + */ + uri?: string; + } + /** + * The card response message. + */ + interface Schema$GoogleCloudDialogflowV2IntentMessageCard { + /** + * Optional. The collection of card buttons. + */ + buttons?: Schema$GoogleCloudDialogflowV2IntentMessageCardButton[]; + /** + * Optional. The public URI to an image file for the card. + */ + imageUri?: string; + /** + * Optional. The subtitle of the card. + */ + subtitle?: string; + /** + * Optional. The title of the card. + */ + title?: string; + } + /** + * Optional. Contains information about a button. + */ + interface Schema$GoogleCloudDialogflowV2IntentMessageCardButton { + /** + * Optional. The text to send back to the Dialogflow API or a URI to open. + */ + postback?: string; + /** + * Optional. The text to show on the button. + */ + text?: string; + } + /** + * The card for presenting a carousel of options to select from. + */ + interface Schema$GoogleCloudDialogflowV2IntentMessageCarouselSelect { + /** + * Required. Carousel items. + */ + items?: Schema$GoogleCloudDialogflowV2IntentMessageCarouselSelectItem[]; + } + /** + * An item in the carousel. + */ + interface Schema$GoogleCloudDialogflowV2IntentMessageCarouselSelectItem { + /** + * Optional. The body text of the card. + */ + description?: string; + /** + * Optional. The image to display. + */ + image?: Schema$GoogleCloudDialogflowV2IntentMessageImage; + /** + * Required. Additional info about the option item. + */ + info?: Schema$GoogleCloudDialogflowV2IntentMessageSelectItemInfo; + /** + * Required. Title of the carousel item. + */ + title?: string; + } + /** + * The image response message. + */ + interface Schema$GoogleCloudDialogflowV2IntentMessageImage { + /** + * Optional. A text description of the image to be used for accessibility, + * e.g., screen readers. + */ + accessibilityText?: string; + /** + * Optional. The public URI to an image file. + */ + imageUri?: string; + } + /** + * The suggestion chip message that allows the user to jump out to the app or + * website associated with this agent. + */ + interface Schema$GoogleCloudDialogflowV2IntentMessageLinkOutSuggestion { + /** + * Required. The name of the app or site this chip is linking to. + */ + destinationName?: string; + /** + * Required. The URI of the app or site to open when the user taps the + * suggestion chip. + */ + uri?: string; + } + /** + * The card for presenting a list of options to select from. + */ + interface Schema$GoogleCloudDialogflowV2IntentMessageListSelect { + /** + * Required. List items. + */ + items?: Schema$GoogleCloudDialogflowV2IntentMessageListSelectItem[]; + /** + * Optional. The overall title of the list. + */ + title?: string; + } + /** + * An item in the list. + */ + interface Schema$GoogleCloudDialogflowV2IntentMessageListSelectItem { + /** + * Optional. The main text describing the item. + */ + description?: string; + /** + * Optional. The image to display. + */ + image?: Schema$GoogleCloudDialogflowV2IntentMessageImage; + /** + * Required. Additional information about this option. + */ + info?: Schema$GoogleCloudDialogflowV2IntentMessageSelectItemInfo; + /** + * Required. The title of the list item. + */ + title?: string; + } + /** + * The quick replies response message. + */ + interface Schema$GoogleCloudDialogflowV2IntentMessageQuickReplies { + /** + * Optional. The collection of quick replies. + */ + quickReplies?: string[]; + /** + * Optional. The title of the collection of quick replies. + */ + title?: string; + } + /** + * Additional info about the select item for when it is triggered in a dialog. + */ + interface Schema$GoogleCloudDialogflowV2IntentMessageSelectItemInfo { + /** + * Required. A unique key that will be sent back to the agent if this + * response is given. + */ + key?: string; + /** + * Optional. A list of synonyms that can also be used to trigger this item + * in dialog. + */ + synonyms?: string[]; + } + /** + * The simple response message containing speech or text. + */ + interface Schema$GoogleCloudDialogflowV2IntentMessageSimpleResponse { + /** + * Optional. The text to display. + */ + displayText?: string; + /** + * One of text_to_speech or ssml must be provided. Structured spoken + * response to the user in the SSML format. Mutually exclusive with + * text_to_speech. + */ + ssml?: string; + /** + * One of text_to_speech or ssml must be provided. The plain text of the + * speech output. Mutually exclusive with ssml. + */ + textToSpeech?: string; + } + /** + * The collection of simple response candidates. This message in + * `QueryResult.fulfillment_messages` and + * `WebhookResponse.fulfillment_messages` should contain only one + * `SimpleResponse`. + */ + interface Schema$GoogleCloudDialogflowV2IntentMessageSimpleResponses { + /** + * Required. The list of simple responses. + */ + simpleResponses?: Schema$GoogleCloudDialogflowV2IntentMessageSimpleResponse[]; + } + /** + * The suggestion chip message that the user can tap to quickly post a reply + * to the conversation. + */ + interface Schema$GoogleCloudDialogflowV2IntentMessageSuggestion { + /** + * Required. The text shown the in the suggestion chip. + */ + title?: string; + } + /** + * The collection of suggestions. + */ + interface Schema$GoogleCloudDialogflowV2IntentMessageSuggestions { + /** + * Required. The list of suggested replies. + */ + suggestions?: Schema$GoogleCloudDialogflowV2IntentMessageSuggestion[]; + } + /** + * The text response message. + */ + interface Schema$GoogleCloudDialogflowV2IntentMessageText { + /** + * Optional. The collection of the agent's responses. + */ + text?: string[]; + } + /** + * Represents intent parameters. + */ + interface Schema$GoogleCloudDialogflowV2IntentParameter { + /** + * Optional. The default value to use when the `value` yields an empty + * result. Default values can be extracted from contexts by using the + * following syntax: `#context_name.parameter_name`. + */ + defaultValue?: string; + /** + * Required. The name of the parameter. + */ + displayName?: string; + /** + * Optional. The name of the entity type, prefixed with `@`, that describes + * values of the parameter. If the parameter is required, this must be + * provided. + */ + entityTypeDisplayName?: string; + /** + * Optional. Indicates whether the parameter represents a list of values. + */ + isList?: boolean; + /** + * Optional. Indicates whether the parameter is required. That is, whether + * the intent cannot be completed without collecting the parameter value. + */ + mandatory?: boolean; + /** + * The unique identifier of this parameter. + */ + name?: string; + /** + * Optional. The collection of prompts that the agent can present to the + * user in order to collect value for the parameter. + */ + prompts?: string[]; + /** + * Optional. The definition of the parameter value. It can be: - a constant + * string, - a parameter value defined as `$parameter_name`, - an original + * parameter value defined as `$parameter_name.original`, - a parameter + * value from some context defined as `#context_name.parameter_name`. + */ + value?: string; + } + /** + * Represents an example or template that the agent is trained on. + */ + interface Schema$GoogleCloudDialogflowV2IntentTrainingPhrase { + /** + * Output only. The unique identifier of this training phrase. + */ + name?: string; + /** + * Required. The collection of training phrase parts (can be annotated). + * Fields: `entity_type`, `alias` and `user_defined` should be populated + * only for the annotated parts of the training phrase. + */ + parts?: Schema$GoogleCloudDialogflowV2IntentTrainingPhrasePart[]; + /** + * Optional. Indicates how many times this example or template was added to + * the intent. Each time a developer adds an existing sample by editing an + * intent or training, this counter is increased. + */ + timesAddedCount?: number; + /** + * Required. The type of the training phrase. + */ + type?: string; + } + /** + * Represents a part of a training phrase. + */ + interface Schema$GoogleCloudDialogflowV2IntentTrainingPhrasePart { + /** + * Optional. The parameter name for the value extracted from the annotated + * part of the example. + */ + alias?: string; + /** + * Optional. The entity type name prefixed with `@`. This field is required + * for the annotated part of the text and applies only to examples. + */ + entityType?: string; + /** + * Required. The text corresponding to the example or template, if there are + * no annotations. For annotated examples, it is the text for one of the + * example's parts. + */ + text?: string; + /** + * Optional. Indicates whether the text was manually annotated by the + * developer. + */ + userDefined?: boolean; + } + /** + * Represents the contents of the original request that was passed to the + * `[Streaming]DetectIntent` call. + */ + interface Schema$GoogleCloudDialogflowV2OriginalDetectIntentRequest { + /** + * Optional. This field is set to the value of the `QueryParameters.payload` + * field passed in the request. Some integrations that query a Dialogflow + * agent may provide additional information in the payload. In particular + * for the Telephony Gateway this field has the form: <pre>{ + * "telephony": { "caller_id": + * "+18558363987" } }</pre> Note: The caller ID field + * (`caller_id`) will be redacted for Standard Edition agents and populated + * with the caller ID in [E.164 format](https://en.wikipedia.org/wiki/E.164) + * for Enterprise Edition agents. + */ + payload?: any; + /** + * The source of this request, e.g., `google`, `facebook`, `slack`. It is + * set by Dialogflow-owned servers. + */ + source?: string; + /** + * Optional. The version of the protocol used for this request. This field + * is AoG-specific. + */ + version?: string; + } + /** + * Represents the result of conversational query or event processing. + */ + interface Schema$GoogleCloudDialogflowV2QueryResult { + /** + * The action name from the matched intent. + */ + action?: string; + /** + * This field is set to: - `false` if the matched intent has required + * parameters and not all of the required parameter values have been + * collected. - `true` if all required parameter values have been collected, + * or if the matched intent doesn't contain any required parameters. + */ + allRequiredParamsPresent?: boolean; + /** + * The free-form diagnostic info. For example, this field could contain + * webhook call latency. + */ + diagnosticInfo?: any; + /** + * The collection of rich messages to present to the user. + */ + fulfillmentMessages?: Schema$GoogleCloudDialogflowV2IntentMessage[]; + /** + * The text to be pronounced to the user or shown on the screen. + */ + fulfillmentText?: string; + /** + * The intent that matched the conversational query. Some, not all fields + * are filled in this message, including but not limited to: `name`, + * `display_name` and `webhook_state`. + */ + intent?: Schema$GoogleCloudDialogflowV2Intent; + /** + * The intent detection confidence. Values range from 0.0 (completely + * uncertain) to 1.0 (completely certain). If there are `multiple + * knowledge_answers` messages, this value is set to the greatest + * `knowledgeAnswers.match_confidence` value in the list. + */ + intentDetectionConfidence?: number; + /** + * The language that was triggered during intent detection. See [Language + * Support](https://dialogflow.com/docs/reference/language) for a list of + * the currently supported language codes. + */ + languageCode?: string; + /** + * The collection of output contexts. If applicable, + * `output_contexts.parameters` contains entries with name `<parameter + * name>.original` containing the original parameter values before the + * query. + */ + outputContexts?: Schema$GoogleCloudDialogflowV2Context[]; + /** + * The collection of extracted parameters. + */ + parameters?: any; + /** + * The original conversational query text: - If natural language text was + * provided as input, `query_text` contains a copy of the input. - If + * natural language speech audio was provided as input, `query_text` + * contains the speech recognition result. If speech recognizer produced + * multiple alternatives, a particular one is picked. - If an event was + * provided as input, `query_text` is not set. + */ + queryText?: string; + /** + * The Speech recognition confidence between 0.0 and 1.0. A higher number + * indicates an estimated greater likelihood that the recognized words are + * correct. The default of 0.0 is a sentinel value indicating that + * confidence was not set. This field is not guaranteed to be accurate or + * set. In particular this field isn't set for StreamingDetectIntent + * since the streaming endpoint has separate confidence estimates per + * portion of the audio in StreamingRecognitionResult. + */ + speechRecognitionConfidence?: number; + /** + * If the query was fulfilled by a webhook call, this field is set to the + * value of the `payload` field returned in the webhook response. + */ + webhookPayload?: any; + /** + * If the query was fulfilled by a webhook call, this field is set to the + * value of the `source` field returned in the webhook response. + */ + webhookSource?: string; + } + /** + * The request message for a webhook call. + */ + interface Schema$GoogleCloudDialogflowV2WebhookRequest { + /** + * Optional. The contents of the original request that was passed to + * `[Streaming]DetectIntent` call. + */ + originalDetectIntentRequest?: Schema$GoogleCloudDialogflowV2OriginalDetectIntentRequest; + /** + * The result of the conversational query or event processing. Contains the + * same value as `[Streaming]DetectIntentResponse.query_result`. + */ + queryResult?: Schema$GoogleCloudDialogflowV2QueryResult; + /** + * The unique identifier of the response. Contains the same value as + * `[Streaming]DetectIntentResponse.response_id`. + */ + responseId?: string; + /** + * The unique identifier of detectIntent request session. Can be used to + * identify end-user inside webhook implementation. Format: + * `projects/<Project ID>/agent/sessions/<Session ID>`. + */ + session?: string; + } + /** + * The response message for a webhook call. + */ + interface Schema$GoogleCloudDialogflowV2WebhookResponse { + /** + * Optional. Makes the platform immediately invoke another `DetectIntent` + * call internally with the specified event as input. + */ + followupEventInput?: Schema$GoogleCloudDialogflowV2EventInput; + /** + * Optional. The collection of rich messages to present to the user. This + * value is passed directly to `QueryResult.fulfillment_messages`. + */ + fulfillmentMessages?: Schema$GoogleCloudDialogflowV2IntentMessage[]; + /** + * Optional. The text to be shown on the screen. This value is passed + * directly to `QueryResult.fulfillment_text`. + */ + fulfillmentText?: string; + /** + * Optional. The collection of output contexts. This value is passed + * directly to `QueryResult.output_contexts`. + */ + outputContexts?: Schema$GoogleCloudDialogflowV2Context[]; + /** + * Optional. This value is passed directly to `QueryResult.webhook_payload`. + * See the related `fulfillment_messages[i].payload field`, which may be + * used as an alternative to this field. This field can be used for Actions + * on Google responses. It should have a structure similar to the JSON + * message shown here. For more information, see [Actions on Google Webhook + * Format](https://developers.google.com/actions/dialogflow/webhook) + * <pre>{ "google": { "expectUserResponse": + * true, "richResponse": { "items": [ { + * "simpleResponse": { "textToSpeech": + * "this is a simple response" } } ] } + * } }</pre> + */ + payload?: any; + /** + * Optional. This value is passed directly to `QueryResult.webhook_source`. + */ + source?: string; + } + /** + * This resource represents a long-running operation that is the result of a + * network API call. + */ + interface Schema$GoogleLongrunningOperation { + /** + * If the value is `false`, it means the operation is still in progress. If + * `true`, the operation is completed, and either `error` or `response` is + * available. + */ + done?: boolean; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$GoogleRpcStatus; + /** + * Service-specific metadata associated with the operation. It typically + * contains progress information and common metadata such as create time. + * Some services might not provide such metadata. Any method that returns a + * long-running operation should document the metadata type, if any. + */ + metadata?: any; + /** + * The server-assigned name, which is only unique within the same service + * that originally returns it. If you use the default HTTP mapping, the + * `name` should have the format of `operations/some/unique/name`. + */ + name?: string; + /** + * The normal response of the operation in case of success. If the original + * method returns no data on success, such as `Delete`, the response is + * `google.protobuf.Empty`. If the original method is standard + * `Get`/`Create`/`Update`, the response should be the resource. For other + * methods, the response should have the type `XxxResponse`, where `Xxx` is + * the original method name. For example, if the original method name is + * `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: any; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$GoogleProtobufEmpty { + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$GoogleRpcStatus { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + /** + * An object representing a latitude/longitude pair. This is expressed as a + * pair of doubles representing degrees latitude and degrees longitude. Unless + * specified otherwise, this must conform to the <a + * href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84 + * standard</a>. Values must be within normalized ranges. + */ + interface Schema$GoogleTypeLatLng { + /** + * The latitude in degrees. It must be in the range [-90.0, +90.0]. + */ + latitude?: number; + /** + * The longitude in degrees. It must be in the range [-180.0, +180.0]. + */ + longitude?: number; + } + class Resource$Projects { + root: Dialogflow; + agent: Resource$Projects$Agent; + conversations: Resource$Projects$Conversations; + knowledgeBases: Resource$Projects$Knowledgebases; + operations: Resource$Projects$Operations; + constructor(root: Dialogflow); + getRoot(): Dialogflow; + /** + * dialogflow.projects.getAgent + * @desc Retrieves the specified agent. + * @alias dialogflow.projects.getAgent + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The project that the agent to fetch is associated with. Format: `projects/`. + * @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 + */ + getAgent(params?: Params$Resource$Projects$Getagent, options?: MethodOptions): AxiosPromise; + getAgent(params: Params$Resource$Projects$Getagent, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getAgent(params: Params$Resource$Projects$Getagent, callback: BodyResponseCallback): void; + getAgent(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Getagent { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The project that the agent to fetch is associated with. Format: + * `projects/`. + */ + parent?: string; + } + class Resource$Projects$Agent { + root: Dialogflow; + entityTypes: Resource$Projects$Agent$Entitytypes; + environments: Resource$Projects$Agent$Environments; + intents: Resource$Projects$Agent$Intents; + knowledgeBases: Resource$Projects$Agent$Knowledgebases; + sessions: Resource$Projects$Agent$Sessions; + constructor(root: Dialogflow); + getRoot(): Dialogflow; + /** + * dialogflow.projects.agent.export + * @desc Exports the specified agent to a ZIP file. Operation + * @alias dialogflow.projects.agent.export + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The project that the agent to export is associated with. Format: `projects/`. + * @param {().GoogleCloudDialogflowV2beta1ExportAgentRequest} 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 + */ + export(params?: Params$Resource$Projects$Agent$Export, options?: MethodOptions): AxiosPromise; + export(params: Params$Resource$Projects$Agent$Export, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + export(params: Params$Resource$Projects$Agent$Export, callback: BodyResponseCallback): void; + export(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.import + * @desc Imports the specified agent from a ZIP file. Uploads new intents and + * entity types without deleting the existing ones. Intents and entity types + * with the same name are replaced with the new versions from + * ImportAgentRequest. Operation + * @alias dialogflow.projects.agent.import + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The project that the agent to import is associated with. Format: `projects/`. + * @param {().GoogleCloudDialogflowV2beta1ImportAgentRequest} 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 + */ + import(params?: Params$Resource$Projects$Agent$Import, options?: MethodOptions): AxiosPromise; + import(params: Params$Resource$Projects$Agent$Import, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + import(params: Params$Resource$Projects$Agent$Import, callback: BodyResponseCallback): void; + import(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.restore + * @desc Restores the specified agent from a ZIP file. Replaces the current agent version with a new one. All the intents and entity types in the older version are deleted. Operation + * @alias dialogflow.projects.agent.restore + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The project that the agent to restore is associated with. Format: `projects/`. + * @param {().GoogleCloudDialogflowV2beta1RestoreAgentRequest} 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 + */ + restore(params?: Params$Resource$Projects$Agent$Restore, options?: MethodOptions): AxiosPromise; + restore(params: Params$Resource$Projects$Agent$Restore, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + restore(params: Params$Resource$Projects$Agent$Restore, callback: BodyResponseCallback): void; + restore(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.search + * @desc Returns the list of agents. Since there is at most one + * conversational agent per project, this method is useful primarily for + * listing all agents across projects the caller has access to. One can + * achieve that with a wildcard project collection id "-". Refer to [List + * Sub-Collections](https://cloud.google.com/apis/design/design_patterns#list_sub-collections). + * @alias dialogflow.projects.agent.search + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Optional. The maximum number of items to return in a single page. By default 100 and at most 1000. + * @param {string=} params.pageToken Optional. The next_page_token value returned from a previous list request. + * @param {string} params.parent Required. The project to list agents from. Format: `projects/`. + * @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 + */ + search(params?: Params$Resource$Projects$Agent$Search, options?: MethodOptions): AxiosPromise; + search(params: Params$Resource$Projects$Agent$Search, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + search(params: Params$Resource$Projects$Agent$Search, callback: BodyResponseCallback): void; + search(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.train + * @desc Trains the specified agent. Operation + * @alias dialogflow.projects.agent.train + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The project that the agent to train is associated with. Format: `projects/`. + * @param {().GoogleCloudDialogflowV2beta1TrainAgentRequest} 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 + */ + train(params?: Params$Resource$Projects$Agent$Train, options?: MethodOptions): AxiosPromise; + train(params: Params$Resource$Projects$Agent$Train, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + train(params: Params$Resource$Projects$Agent$Train, callback: BodyResponseCallback): void; + train(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Agent$Export { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The project that the agent to export is associated with. + * Format: `projects/`. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDialogflowV2beta1ExportAgentRequest; + } + interface Params$Resource$Projects$Agent$Import { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The project that the agent to import is associated with. + * Format: `projects/`. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDialogflowV2beta1ImportAgentRequest; + } + interface Params$Resource$Projects$Agent$Restore { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The project that the agent to restore is associated with. + * Format: `projects/`. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDialogflowV2beta1RestoreAgentRequest; + } + interface Params$Resource$Projects$Agent$Search { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The maximum number of items to return in a single page. By + * default 100 and at most 1000. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list + * request. + */ + pageToken?: string; + /** + * Required. The project to list agents from. Format: `projects/`. + */ + parent?: string; + } + interface Params$Resource$Projects$Agent$Train { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The project that the agent to train is associated with. Format: + * `projects/`. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDialogflowV2beta1TrainAgentRequest; + } + class Resource$Projects$Agent$Entitytypes { + root: Dialogflow; + entities: Resource$Projects$Agent$Entitytypes$Entities; + constructor(root: Dialogflow); + getRoot(): Dialogflow; + /** + * dialogflow.projects.agent.entityTypes.batchDelete + * @desc Deletes entity types in the specified agent. Operation + * @alias dialogflow.projects.agent.entityTypes.batchDelete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The name of the agent to delete all entities types for. Format: `projects//agent`. + * @param {().GoogleCloudDialogflowV2beta1BatchDeleteEntityTypesRequest} 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 + */ + batchDelete(params?: Params$Resource$Projects$Agent$Entitytypes$Batchdelete, options?: MethodOptions): AxiosPromise; + batchDelete(params: Params$Resource$Projects$Agent$Entitytypes$Batchdelete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + batchDelete(params: Params$Resource$Projects$Agent$Entitytypes$Batchdelete, callback: BodyResponseCallback): void; + batchDelete(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.entityTypes.batchUpdate + * @desc Updates/Creates multiple entity types in the specified agent. + * Operation + * @alias dialogflow.projects.agent.entityTypes.batchUpdate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The name of the agent to update or create entity types in. Format: `projects//agent`. + * @param {().GoogleCloudDialogflowV2beta1BatchUpdateEntityTypesRequest} 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 + */ + batchUpdate(params?: Params$Resource$Projects$Agent$Entitytypes$Batchupdate, options?: MethodOptions): AxiosPromise; + batchUpdate(params: Params$Resource$Projects$Agent$Entitytypes$Batchupdate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + batchUpdate(params: Params$Resource$Projects$Agent$Entitytypes$Batchupdate, callback: BodyResponseCallback): void; + batchUpdate(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.entityTypes.create + * @desc Creates an entity type in the specified agent. + * @alias dialogflow.projects.agent.entityTypes.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.languageCode Optional. The language of entity synonyms defined in `entity_type`. If not specified, the agent's default language is used. [More than a dozen languages](https://dialogflow.com/docs/reference/language) are supported. Note: languages must be enabled in the agent, before they can be used. + * @param {string} params.parent Required. The agent to create a entity type for. Format: `projects//agent`. + * @param {().GoogleCloudDialogflowV2beta1EntityType} 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 + */ + create(params?: Params$Resource$Projects$Agent$Entitytypes$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Agent$Entitytypes$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Agent$Entitytypes$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.entityTypes.delete + * @desc Deletes the specified entity type. + * @alias dialogflow.projects.agent.entityTypes.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The name of the entity type to delete. Format: `projects//agent/entityTypes/`. + * @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?: Params$Resource$Projects$Agent$Entitytypes$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Agent$Entitytypes$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Agent$Entitytypes$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.entityTypes.get + * @desc Retrieves the specified entity type. + * @alias dialogflow.projects.agent.entityTypes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.languageCode Optional. The language to retrieve entity synonyms for. If not specified, the agent's default language is used. [More than a dozen languages](https://dialogflow.com/docs/reference/language) are supported. Note: languages must be enabled in the agent, before they can be used. + * @param {string} params.name Required. The name of the entity type. Format: `projects//agent/entityTypes/`. + * @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?: Params$Resource$Projects$Agent$Entitytypes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Agent$Entitytypes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Agent$Entitytypes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.entityTypes.list + * @desc Returns the list of all entity types in the specified agent. + * @alias dialogflow.projects.agent.entityTypes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.languageCode Optional. The language to list entity synonyms for. If not specified, the agent's default language is used. [More than a dozen languages](https://dialogflow.com/docs/reference/language) are supported. Note: languages must be enabled in the agent, before they can be used. + * @param {integer=} params.pageSize Optional. The maximum number of items to return in a single page. By default 100 and at most 1000. + * @param {string=} params.pageToken Optional. The next_page_token value returned from a previous list request. + * @param {string} params.parent Required. The agent to list all entity types from. Format: `projects//agent`. + * @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?: Params$Resource$Projects$Agent$Entitytypes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Agent$Entitytypes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Agent$Entitytypes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.entityTypes.patch + * @desc Updates the specified entity type. + * @alias dialogflow.projects.agent.entityTypes.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.languageCode Optional. The language of entity synonyms defined in `entity_type`. If not specified, the agent's default language is used. [More than a dozen languages](https://dialogflow.com/docs/reference/language) are supported. Note: languages must be enabled in the agent, before they can be used. + * @param {string} params.name Required for all methods except `create` (`create` populates the name automatically. The unique identifier of the entity type. Format: `projects//agent/entityTypes/`. + * @param {string=} params.updateMask Optional. The mask to control which fields get updated. + * @param {().GoogleCloudDialogflowV2beta1EntityType} 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 + */ + patch(params?: Params$Resource$Projects$Agent$Entitytypes$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Agent$Entitytypes$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Agent$Entitytypes$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Agent$Entitytypes$Batchdelete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the agent to delete all entities types for. Format: + * `projects//agent`. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDialogflowV2beta1BatchDeleteEntityTypesRequest; + } + interface Params$Resource$Projects$Agent$Entitytypes$Batchupdate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the agent to update or create entity types in. + * Format: `projects//agent`. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDialogflowV2beta1BatchUpdateEntityTypesRequest; + } + interface Params$Resource$Projects$Agent$Entitytypes$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The language of entity synonyms defined in `entity_type`. If + * not specified, the agent's default language is used. [More than a dozen + * languages](https://dialogflow.com/docs/reference/language) are supported. + * Note: languages must be enabled in the agent, before they can be used. + */ + languageCode?: string; + /** + * Required. The agent to create a entity type for. Format: + * `projects//agent`. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDialogflowV2beta1EntityType; + } + interface Params$Resource$Projects$Agent$Entitytypes$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the entity type to delete. Format: + * `projects//agent/entityTypes/`. + */ + name?: string; + } + interface Params$Resource$Projects$Agent$Entitytypes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The language to retrieve entity synonyms for. If not specified, + * the agent's default language is used. [More than a dozen + * languages](https://dialogflow.com/docs/reference/language) are supported. + * Note: languages must be enabled in the agent, before they can be used. + */ + languageCode?: string; + /** + * Required. The name of the entity type. Format: `projects//agent/entityTypes/`. + */ + name?: string; + } + interface Params$Resource$Projects$Agent$Entitytypes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The language to list entity synonyms for. If not specified, the + * agent's default language is used. [More than a dozen + * languages](https://dialogflow.com/docs/reference/language) are supported. + * Note: languages must be enabled in the agent, before they can be used. + */ + languageCode?: string; + /** + * Optional. The maximum number of items to return in a single page. By + * default 100 and at most 1000. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list + * request. + */ + pageToken?: string; + /** + * Required. The agent to list all entity types from. Format: + * `projects//agent`. + */ + parent?: string; + } + interface Params$Resource$Projects$Agent$Entitytypes$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The language of entity synonyms defined in `entity_type`. If + * not specified, the agent's default language is used. [More than a dozen + * languages](https://dialogflow.com/docs/reference/language) are supported. + * Note: languages must be enabled in the agent, before they can be used. + */ + languageCode?: string; + /** + * Required for all methods except `create` (`create` populates the name + * automatically. The unique identifier of the entity type. Format: + * `projects//agent/entityTypes/`. + */ + name?: string; + /** + * Optional. The mask to control which fields get updated. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDialogflowV2beta1EntityType; + } + class Resource$Projects$Agent$Entitytypes$Entities { + root: Dialogflow; + constructor(root: Dialogflow); + getRoot(): Dialogflow; + /** + * dialogflow.projects.agent.entityTypes.entities.batchCreate + * @desc Creates multiple new entities in the specified entity type. + * Operation + * @alias dialogflow.projects.agent.entityTypes.entities.batchCreate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The name of the entity type to create entities in. Format: `projects//agent/entityTypes/`. + * @param {().GoogleCloudDialogflowV2beta1BatchCreateEntitiesRequest} 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 + */ + batchCreate(params?: Params$Resource$Projects$Agent$Entitytypes$Entities$Batchcreate, options?: MethodOptions): AxiosPromise; + batchCreate(params: Params$Resource$Projects$Agent$Entitytypes$Entities$Batchcreate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + batchCreate(params: Params$Resource$Projects$Agent$Entitytypes$Entities$Batchcreate, callback: BodyResponseCallback): void; + batchCreate(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.entityTypes.entities.batchDelete + * @desc Deletes entities in the specified entity type. Operation + * + * @alias dialogflow.projects.agent.entityTypes.entities.batchDelete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The name of the entity type to delete entries for. Format: `projects//agent/entityTypes/`. + * @param {().GoogleCloudDialogflowV2beta1BatchDeleteEntitiesRequest} 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 + */ + batchDelete(params?: Params$Resource$Projects$Agent$Entitytypes$Entities$Batchdelete, options?: MethodOptions): AxiosPromise; + batchDelete(params: Params$Resource$Projects$Agent$Entitytypes$Entities$Batchdelete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + batchDelete(params: Params$Resource$Projects$Agent$Entitytypes$Entities$Batchdelete, callback: BodyResponseCallback): void; + batchDelete(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.entityTypes.entities.batchUpdate + * @desc Updates or creates multiple entities in the specified entity type. + * This method does not affect entities in the entity type that aren't + * explicitly specified in the request. Operation + * @alias dialogflow.projects.agent.entityTypes.entities.batchUpdate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The name of the entity type to update or create entities in. Format: `projects//agent/entityTypes/`. + * @param {().GoogleCloudDialogflowV2beta1BatchUpdateEntitiesRequest} 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 + */ + batchUpdate(params?: Params$Resource$Projects$Agent$Entitytypes$Entities$Batchupdate, options?: MethodOptions): AxiosPromise; + batchUpdate(params: Params$Resource$Projects$Agent$Entitytypes$Entities$Batchupdate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + batchUpdate(params: Params$Resource$Projects$Agent$Entitytypes$Entities$Batchupdate, callback: BodyResponseCallback): void; + batchUpdate(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Agent$Entitytypes$Entities$Batchcreate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the entity type to create entities in. Format: + * `projects//agent/entityTypes/`. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDialogflowV2beta1BatchCreateEntitiesRequest; + } + interface Params$Resource$Projects$Agent$Entitytypes$Entities$Batchdelete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the entity type to delete entries for. Format: + * `projects//agent/entityTypes/`. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDialogflowV2beta1BatchDeleteEntitiesRequest; + } + interface Params$Resource$Projects$Agent$Entitytypes$Entities$Batchupdate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the entity type to update or create entities in. + * Format: `projects//agent/entityTypes/`. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDialogflowV2beta1BatchUpdateEntitiesRequest; + } + class Resource$Projects$Agent$Environments { + root: Dialogflow; + users: Resource$Projects$Agent$Environments$Users; + constructor(root: Dialogflow); + getRoot(): Dialogflow; + } + class Resource$Projects$Agent$Environments$Users { + root: Dialogflow; + sessions: Resource$Projects$Agent$Environments$Users$Sessions; + constructor(root: Dialogflow); + getRoot(): Dialogflow; + } + class Resource$Projects$Agent$Environments$Users$Sessions { + root: Dialogflow; + contexts: Resource$Projects$Agent$Environments$Users$Sessions$Contexts; + entityTypes: Resource$Projects$Agent$Environments$Users$Sessions$Entitytypes; + constructor(root: Dialogflow); + getRoot(): Dialogflow; + /** + * dialogflow.projects.agent.environments.users.sessions.deleteContexts + * @desc Deletes all active contexts in the specified session. + * @alias + * dialogflow.projects.agent.environments.users.sessions.deleteContexts + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The name of the session to delete all contexts from. Format: `projects//agent/sessions/` or `projects//agent/environments//users//sessions/`. If `Environment ID` is not specified we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. + * @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 + */ + deleteContexts(params?: Params$Resource$Projects$Agent$Environments$Users$Sessions$Deletecontexts, options?: MethodOptions): AxiosPromise; + deleteContexts(params: Params$Resource$Projects$Agent$Environments$Users$Sessions$Deletecontexts, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + deleteContexts(params: Params$Resource$Projects$Agent$Environments$Users$Sessions$Deletecontexts, callback: BodyResponseCallback): void; + deleteContexts(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.environments.users.sessions.detectIntent + * @desc Processes a natural language query and returns structured, + * actionable data as a result. This method is not idempotent, because it + * may cause contexts and session entity types to be updated, which in turn + * might affect results of future queries. + * @alias dialogflow.projects.agent.environments.users.sessions.detectIntent + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.session Required. The name of the session this query is sent to. Format: `projects//agent/sessions/`, or `projects//agent/environments//users//sessions/`. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we are using "-". It’s up to the API caller to choose an appropriate `Session ID` and `User Id`. They can be a random numbers or some type of user and session identifiers (preferably hashed). The length of the `Session ID` and `User ID` must not exceed 36 characters. + * @param {().GoogleCloudDialogflowV2beta1DetectIntentRequest} 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 + */ + detectIntent(params?: Params$Resource$Projects$Agent$Environments$Users$Sessions$Detectintent, options?: MethodOptions): AxiosPromise; + detectIntent(params: Params$Resource$Projects$Agent$Environments$Users$Sessions$Detectintent, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + detectIntent(params: Params$Resource$Projects$Agent$Environments$Users$Sessions$Detectintent, callback: BodyResponseCallback): void; + detectIntent(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Agent$Environments$Users$Sessions$Deletecontexts { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the session to delete all contexts from. Format: + * `projects//agent/sessions/` or `projects//agent/environments//users//sessions/`. If `Environment ID` is not specified we assume default 'draft' + * environment. If `User ID` is not specified, we assume default '-' user. + */ + parent?: string; + } + interface Params$Resource$Projects$Agent$Environments$Users$Sessions$Detectintent { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the session this query is sent to. Format: + * `projects//agent/sessions/`, or + * `projects//agent/environments//users//sessions/`. If `Environment ID` is not specified, we + * assume default 'draft' environment. If `User ID` is not specified, we are + * using "-". It’s up to the API caller to choose an appropriate `Session + * ID` and `User Id`. They can be a random numbers or some type of user and + * session identifiers (preferably hashed). The length of the `Session ID` + * and `User ID` must not exceed 36 characters. + */ + session?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDialogflowV2beta1DetectIntentRequest; + } + class Resource$Projects$Agent$Environments$Users$Sessions$Contexts { + root: Dialogflow; + constructor(root: Dialogflow); + getRoot(): Dialogflow; + /** + * dialogflow.projects.agent.environments.users.sessions.contexts.create + * @desc Creates a context. + * @alias + * dialogflow.projects.agent.environments.users.sessions.contexts.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The session to create a context for. Format: `projects//agent/sessions/` or `projects//agent/environments//users//sessions/`. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. + * @param {().GoogleCloudDialogflowV2beta1Context} 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 + */ + create(params?: Params$Resource$Projects$Agent$Environments$Users$Sessions$Contexts$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Agent$Environments$Users$Sessions$Contexts$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Agent$Environments$Users$Sessions$Contexts$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.environments.users.sessions.contexts.delete + * @desc Deletes the specified context. + * @alias + * dialogflow.projects.agent.environments.users.sessions.contexts.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The name of the context to delete. Format: `projects//agent/sessions//contexts/` or `projects//agent/environments//users//sessions//contexts/`. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. + * @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?: Params$Resource$Projects$Agent$Environments$Users$Sessions$Contexts$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Agent$Environments$Users$Sessions$Contexts$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Agent$Environments$Users$Sessions$Contexts$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.environments.users.sessions.contexts.get + * @desc Retrieves the specified context. + * @alias dialogflow.projects.agent.environments.users.sessions.contexts.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The name of the context. Format: `projects//agent/sessions//contexts/` or `projects//agent/environments//users//sessions//contexts/`. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. + * @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?: Params$Resource$Projects$Agent$Environments$Users$Sessions$Contexts$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Agent$Environments$Users$Sessions$Contexts$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Agent$Environments$Users$Sessions$Contexts$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.environments.users.sessions.contexts.list + * @desc Returns the list of all contexts in the specified session. + * @alias + * dialogflow.projects.agent.environments.users.sessions.contexts.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Optional. The maximum number of items to return in a single page. By default 100 and at most 1000. + * @param {string=} params.pageToken Optional. The next_page_token value returned from a previous list request. + * @param {string} params.parent Required. The session to list all contexts from. Format: `projects//agent/sessions/` or `projects//agent/environments//users//sessions/`. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. + * @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?: Params$Resource$Projects$Agent$Environments$Users$Sessions$Contexts$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Agent$Environments$Users$Sessions$Contexts$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Agent$Environments$Users$Sessions$Contexts$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.environments.users.sessions.contexts.patch + * @desc Updates the specified context. + * @alias + * dialogflow.projects.agent.environments.users.sessions.contexts.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The unique identifier of the context. Format: `projects//agent/sessions//contexts/`, or `projects//agent/environments//users//sessions//contexts/`. The `Context ID` is always converted to lowercase. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. + * @param {string=} params.updateMask Optional. The mask to control which fields get updated. + * @param {().GoogleCloudDialogflowV2beta1Context} 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 + */ + patch(params?: Params$Resource$Projects$Agent$Environments$Users$Sessions$Contexts$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Agent$Environments$Users$Sessions$Contexts$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Agent$Environments$Users$Sessions$Contexts$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Agent$Environments$Users$Sessions$Contexts$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The session to create a context for. Format: `projects//agent/sessions/` or `projects//agent/environments//users//sessions/`. If `Environment ID` is not specified, we assume default 'draft' + * environment. If `User ID` is not specified, we assume default '-' user. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDialogflowV2beta1Context; + } + interface Params$Resource$Projects$Agent$Environments$Users$Sessions$Contexts$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the context to delete. Format: `projects//agent/sessions//contexts/` or + * `projects//agent/environments//users//sessions//contexts/`. If `Environment ID` is + * not specified, we assume default 'draft' environment. If `User ID` is not + * specified, we assume default '-' user. + */ + name?: string; + } + interface Params$Resource$Projects$Agent$Environments$Users$Sessions$Contexts$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the context. Format: `projects//agent/sessions//contexts/` or + * `projects//agent/environments//users//sessions//contexts/`. If `Environment ID` is + * not specified, we assume default 'draft' environment. If `User ID` is not + * specified, we assume default '-' user. + */ + name?: string; + } + interface Params$Resource$Projects$Agent$Environments$Users$Sessions$Contexts$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The maximum number of items to return in a single page. By + * default 100 and at most 1000. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list + * request. + */ + pageToken?: string; + /** + * Required. The session to list all contexts from. Format: + * `projects//agent/sessions/` or `projects//agent/environments//users//sessions/`. If `Environment ID` is not specified, we assume default 'draft' + * environment. If `User ID` is not specified, we assume default '-' user. + */ + parent?: string; + } + interface Params$Resource$Projects$Agent$Environments$Users$Sessions$Contexts$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The unique identifier of the context. Format: + * `projects//agent/sessions//contexts/`, or `projects//agent/environments//users//sessions//contexts/`. The + * `Context ID` is always converted to lowercase. If `Environment ID` is not + * specified, we assume default 'draft' environment. If `User ID` is not + * specified, we assume default '-' user. + */ + name?: string; + /** + * Optional. The mask to control which fields get updated. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDialogflowV2beta1Context; + } + class Resource$Projects$Agent$Environments$Users$Sessions$Entitytypes { + root: Dialogflow; + constructor(root: Dialogflow); + getRoot(): Dialogflow; + /** + * dialogflow.projects.agent.environments.users.sessions.entityTypes.create + * @desc Creates a session entity type. + * @alias + * dialogflow.projects.agent.environments.users.sessions.entityTypes.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The session to create a session entity type for. Format: `projects//agent/sessions/` or `projects//agent/environments//users// sessions/`. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. + * @param {().GoogleCloudDialogflowV2beta1SessionEntityType} 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 + */ + create(params?: Params$Resource$Projects$Agent$Environments$Users$Sessions$Entitytypes$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Agent$Environments$Users$Sessions$Entitytypes$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Agent$Environments$Users$Sessions$Entitytypes$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.environments.users.sessions.entityTypes.delete + * @desc Deletes the specified session entity type. + * @alias + * dialogflow.projects.agent.environments.users.sessions.entityTypes.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The name of the entity type to delete. Format: `projects//agent/sessions//entityTypes/` or `projects//agent/environments//users//sessions//entityTypes/`. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. + * @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?: Params$Resource$Projects$Agent$Environments$Users$Sessions$Entitytypes$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Agent$Environments$Users$Sessions$Entitytypes$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Agent$Environments$Users$Sessions$Entitytypes$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.environments.users.sessions.entityTypes.get + * @desc Retrieves the specified session entity type. + * @alias + * dialogflow.projects.agent.environments.users.sessions.entityTypes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The name of the session entity type. Format: `projects//agent/sessions//entityTypes/` or `projects//agent/environments//users//sessions//entityTypes/`. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. + * @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?: Params$Resource$Projects$Agent$Environments$Users$Sessions$Entitytypes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Agent$Environments$Users$Sessions$Entitytypes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Agent$Environments$Users$Sessions$Entitytypes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.environments.users.sessions.entityTypes.list + * @desc Returns the list of all session entity types in the specified + * session. + * @alias + * dialogflow.projects.agent.environments.users.sessions.entityTypes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Optional. The maximum number of items to return in a single page. By default 100 and at most 1000. + * @param {string=} params.pageToken Optional. The next_page_token value returned from a previous list request. + * @param {string} params.parent Required. The session to list all session entity types from. Format: `projects//agent/sessions/` or `projects//agent/environments//users// sessions/`. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. + * @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?: Params$Resource$Projects$Agent$Environments$Users$Sessions$Entitytypes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Agent$Environments$Users$Sessions$Entitytypes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Agent$Environments$Users$Sessions$Entitytypes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.environments.users.sessions.entityTypes.patch + * @desc Updates the specified session entity type. + * @alias + * dialogflow.projects.agent.environments.users.sessions.entityTypes.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The unique identifier of this session entity type. Format: `projects//agent/sessions//entityTypes/`, or `projects//agent/environments//users//sessions//entityTypes/`. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. + * @param {string=} params.updateMask Optional. The mask to control which fields get updated. + * @param {().GoogleCloudDialogflowV2beta1SessionEntityType} 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 + */ + patch(params?: Params$Resource$Projects$Agent$Environments$Users$Sessions$Entitytypes$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Agent$Environments$Users$Sessions$Entitytypes$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Agent$Environments$Users$Sessions$Entitytypes$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Agent$Environments$Users$Sessions$Entitytypes$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The session to create a session entity type for. Format: + * `projects//agent/sessions/` or `projects//agent/environments//users// + * sessions/`. If `Environment ID` is not specified, we assume + * default 'draft' environment. If `User ID` is not specified, we assume + * default '-' user. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDialogflowV2beta1SessionEntityType; + } + interface Params$Resource$Projects$Agent$Environments$Users$Sessions$Entitytypes$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the entity type to delete. Format: + * `projects//agent/sessions//entityTypes/` or `projects//agent/environments//users//sessions//entityTypes/`. If `Environment ID` is not + * specified, we assume default 'draft' environment. If `User ID` is not + * specified, we assume default '-' user. + */ + name?: string; + } + interface Params$Resource$Projects$Agent$Environments$Users$Sessions$Entitytypes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the session entity type. Format: `projects//agent/sessions//entityTypes/` + * or `projects//agent/environments//users//sessions//entityTypes/`. If + * `Environment ID` is not specified, we assume default 'draft' environment. + * If `User ID` is not specified, we assume default '-' user. + */ + name?: string; + } + interface Params$Resource$Projects$Agent$Environments$Users$Sessions$Entitytypes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The maximum number of items to return in a single page. By + * default 100 and at most 1000. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list + * request. + */ + pageToken?: string; + /** + * Required. The session to list all session entity types from. Format: + * `projects//agent/sessions/` or `projects//agent/environments//users// + * sessions/`. If `Environment ID` is not specified, we assume + * default 'draft' environment. If `User ID` is not specified, we assume + * default '-' user. + */ + parent?: string; + } + interface Params$Resource$Projects$Agent$Environments$Users$Sessions$Entitytypes$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The unique identifier of this session entity type. Format: + * `projects//agent/sessions//entityTypes/`, or `projects//agent/environments//users//sessions//entityTypes/`. If `Environment ID` is not + * specified, we assume default 'draft' environment. If `User ID` is not + * specified, we assume default '-' user. + */ + name?: string; + /** + * Optional. The mask to control which fields get updated. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDialogflowV2beta1SessionEntityType; + } + class Resource$Projects$Agent$Intents { + root: Dialogflow; + constructor(root: Dialogflow); + getRoot(): Dialogflow; + /** + * dialogflow.projects.agent.intents.batchDelete + * @desc Deletes intents in the specified agent. Operation + * @alias dialogflow.projects.agent.intents.batchDelete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The name of the agent to delete all entities types for. Format: `projects//agent`. + * @param {().GoogleCloudDialogflowV2beta1BatchDeleteIntentsRequest} 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 + */ + batchDelete(params?: Params$Resource$Projects$Agent$Intents$Batchdelete, options?: MethodOptions): AxiosPromise; + batchDelete(params: Params$Resource$Projects$Agent$Intents$Batchdelete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + batchDelete(params: Params$Resource$Projects$Agent$Intents$Batchdelete, callback: BodyResponseCallback): void; + batchDelete(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.intents.batchUpdate + * @desc Updates/Creates multiple intents in the specified agent. Operation + * + * @alias dialogflow.projects.agent.intents.batchUpdate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The name of the agent to update or create intents in. Format: `projects//agent`. + * @param {().GoogleCloudDialogflowV2beta1BatchUpdateIntentsRequest} 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 + */ + batchUpdate(params?: Params$Resource$Projects$Agent$Intents$Batchupdate, options?: MethodOptions): AxiosPromise; + batchUpdate(params: Params$Resource$Projects$Agent$Intents$Batchupdate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + batchUpdate(params: Params$Resource$Projects$Agent$Intents$Batchupdate, callback: BodyResponseCallback): void; + batchUpdate(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.intents.create + * @desc Creates an intent in the specified agent. + * @alias dialogflow.projects.agent.intents.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.intentView Optional. The resource view to apply to the returned intent. + * @param {string=} params.languageCode Optional. The language of training phrases, parameters and rich messages defined in `intent`. If not specified, the agent's default language is used. [More than a dozen languages](https://dialogflow.com/docs/reference/language) are supported. Note: languages must be enabled in the agent, before they can be used. + * @param {string} params.parent Required. The agent to create a intent for. Format: `projects//agent`. + * @param {().GoogleCloudDialogflowV2beta1Intent} 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 + */ + create(params?: Params$Resource$Projects$Agent$Intents$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Agent$Intents$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Agent$Intents$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.intents.delete + * @desc Deletes the specified intent and its direct or indirect followup + * intents. + * @alias dialogflow.projects.agent.intents.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The name of the intent to delete. If this intent has direct or indirect followup intents, we also delete them. Format: `projects//agent/intents/`. + * @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?: Params$Resource$Projects$Agent$Intents$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Agent$Intents$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Agent$Intents$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.intents.get + * @desc Retrieves the specified intent. + * @alias dialogflow.projects.agent.intents.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.intentView Optional. The resource view to apply to the returned intent. + * @param {string=} params.languageCode Optional. The language to retrieve training phrases, parameters and rich messages for. If not specified, the agent's default language is used. [More than a dozen languages](https://dialogflow.com/docs/reference/language) are supported. Note: languages must be enabled in the agent, before they can be used. + * @param {string} params.name Required. The name of the intent. Format: `projects//agent/intents/`. + * @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?: Params$Resource$Projects$Agent$Intents$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Agent$Intents$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Agent$Intents$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.intents.list + * @desc Returns the list of all intents in the specified agent. + * @alias dialogflow.projects.agent.intents.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.intentView Optional. The resource view to apply to the returned intent. + * @param {string=} params.languageCode Optional. The language to list training phrases, parameters and rich messages for. If not specified, the agent's default language is used. [More than a dozen languages](https://dialogflow.com/docs/reference/language) are supported. Note: languages must be enabled in the agent before they can be used. + * @param {integer=} params.pageSize Optional. The maximum number of items to return in a single page. By default 100 and at most 1000. + * @param {string=} params.pageToken Optional. The next_page_token value returned from a previous list request. + * @param {string} params.parent Required. The agent to list all intents from. Format: `projects//agent`. + * @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?: Params$Resource$Projects$Agent$Intents$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Agent$Intents$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Agent$Intents$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.intents.patch + * @desc Updates the specified intent. + * @alias dialogflow.projects.agent.intents.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.intentView Optional. The resource view to apply to the returned intent. + * @param {string=} params.languageCode Optional. The language of training phrases, parameters and rich messages defined in `intent`. If not specified, the agent's default language is used. [More than a dozen languages](https://dialogflow.com/docs/reference/language) are supported. Note: languages must be enabled in the agent, before they can be used. + * @param {string} params.name Required for all methods except `create` (`create` populates the name automatically. The unique identifier of this intent. Format: `projects//agent/intents/`. + * @param {string=} params.updateMask Optional. The mask to control which fields get updated. + * @param {().GoogleCloudDialogflowV2beta1Intent} 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 + */ + patch(params?: Params$Resource$Projects$Agent$Intents$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Agent$Intents$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Agent$Intents$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Agent$Intents$Batchdelete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the agent to delete all entities types for. Format: + * `projects//agent`. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDialogflowV2beta1BatchDeleteIntentsRequest; + } + interface Params$Resource$Projects$Agent$Intents$Batchupdate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the agent to update or create intents in. Format: + * `projects//agent`. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDialogflowV2beta1BatchUpdateIntentsRequest; + } + interface Params$Resource$Projects$Agent$Intents$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The resource view to apply to the returned intent. + */ + intentView?: string; + /** + * Optional. The language of training phrases, parameters and rich messages + * defined in `intent`. If not specified, the agent's default language is + * used. [More than a dozen + * languages](https://dialogflow.com/docs/reference/language) are supported. + * Note: languages must be enabled in the agent, before they can be used. + */ + languageCode?: string; + /** + * Required. The agent to create a intent for. Format: `projects//agent`. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDialogflowV2beta1Intent; + } + interface Params$Resource$Projects$Agent$Intents$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the intent to delete. If this intent has direct or + * indirect followup intents, we also delete them. Format: + * `projects//agent/intents/`. + */ + name?: string; + } + interface Params$Resource$Projects$Agent$Intents$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The resource view to apply to the returned intent. + */ + intentView?: string; + /** + * Optional. The language to retrieve training phrases, parameters and rich + * messages for. If not specified, the agent's default language is used. + * [More than a dozen + * languages](https://dialogflow.com/docs/reference/language) are supported. + * Note: languages must be enabled in the agent, before they can be used. + */ + languageCode?: string; + /** + * Required. The name of the intent. Format: `projects//agent/intents/`. + */ + name?: string; + } + interface Params$Resource$Projects$Agent$Intents$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The resource view to apply to the returned intent. + */ + intentView?: string; + /** + * Optional. The language to list training phrases, parameters and rich + * messages for. If not specified, the agent's default language is used. + * [More than a dozen + * languages](https://dialogflow.com/docs/reference/language) are supported. + * Note: languages must be enabled in the agent before they can be used. + */ + languageCode?: string; + /** + * Optional. The maximum number of items to return in a single page. By + * default 100 and at most 1000. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list + * request. + */ + pageToken?: string; + /** + * Required. The agent to list all intents from. Format: `projects//agent`. + */ + parent?: string; + } + interface Params$Resource$Projects$Agent$Intents$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The resource view to apply to the returned intent. + */ + intentView?: string; + /** + * Optional. The language of training phrases, parameters and rich messages + * defined in `intent`. If not specified, the agent's default language is + * used. [More than a dozen + * languages](https://dialogflow.com/docs/reference/language) are supported. + * Note: languages must be enabled in the agent, before they can be used. + */ + languageCode?: string; + /** + * Required for all methods except `create` (`create` populates the name + * automatically. The unique identifier of this intent. Format: + * `projects//agent/intents/`. + */ + name?: string; + /** + * Optional. The mask to control which fields get updated. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDialogflowV2beta1Intent; + } + class Resource$Projects$Agent$Knowledgebases { + root: Dialogflow; + documents: Resource$Projects$Agent$Knowledgebases$Documents; + constructor(root: Dialogflow); + getRoot(): Dialogflow; + /** + * dialogflow.projects.agent.knowledgeBases.create + * @desc Creates a knowledge base. + * @alias dialogflow.projects.agent.knowledgeBases.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The project to create a knowledge base for. Format: `projects/`. + * @param {().GoogleCloudDialogflowV2beta1KnowledgeBase} 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 + */ + create(params?: Params$Resource$Projects$Agent$Knowledgebases$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Agent$Knowledgebases$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Agent$Knowledgebases$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.knowledgeBases.delete + * @desc Deletes the specified knowledge base. + * @alias dialogflow.projects.agent.knowledgeBases.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.force Optional. Force deletes the knowledge base. When set to true, any documents in the knowledge base are also deleted. + * @param {string} params.name Required. The name of the knowledge base to delete. Format: `projects//knowledgeBases/`. + * @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?: Params$Resource$Projects$Agent$Knowledgebases$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Agent$Knowledgebases$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Agent$Knowledgebases$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.knowledgeBases.get + * @desc Retrieves the specified knowledge base. + * @alias dialogflow.projects.agent.knowledgeBases.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The name of the knowledge base to retrieve. Format `projects//knowledgeBases/`. + * @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?: Params$Resource$Projects$Agent$Knowledgebases$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Agent$Knowledgebases$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Agent$Knowledgebases$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.knowledgeBases.list + * @desc Returns the list of all knowledge bases of the specified agent. + * @alias dialogflow.projects.agent.knowledgeBases.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Optional. The maximum number of items to return in a single page. By default 10 and at most 100. + * @param {string=} params.pageToken Optional. The next_page_token value returned from a previous list request. + * @param {string} params.parent Required. The project to list of knowledge bases for. Format: `projects/`. + * @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?: Params$Resource$Projects$Agent$Knowledgebases$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Agent$Knowledgebases$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Agent$Knowledgebases$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Agent$Knowledgebases$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The project to create a knowledge base for. Format: + * `projects/`. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDialogflowV2beta1KnowledgeBase; + } + interface Params$Resource$Projects$Agent$Knowledgebases$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. Force deletes the knowledge base. When set to true, any + * documents in the knowledge base are also deleted. + */ + force?: boolean; + /** + * Required. The name of the knowledge base to delete. Format: + * `projects//knowledgeBases/`. + */ + name?: string; + } + interface Params$Resource$Projects$Agent$Knowledgebases$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the knowledge base to retrieve. Format + * `projects//knowledgeBases/`. + */ + name?: string; + } + interface Params$Resource$Projects$Agent$Knowledgebases$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The maximum number of items to return in a single page. By + * default 10 and at most 100. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list + * request. + */ + pageToken?: string; + /** + * Required. The project to list of knowledge bases for. Format: + * `projects/`. + */ + parent?: string; + } + class Resource$Projects$Agent$Knowledgebases$Documents { + root: Dialogflow; + constructor(root: Dialogflow); + getRoot(): Dialogflow; + /** + * dialogflow.projects.agent.knowledgeBases.documents.create + * @desc Creates a new document. Operation + * @alias dialogflow.projects.agent.knowledgeBases.documents.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The knoweldge base to create a document for. Format: `projects//knowledgeBases/`. + * @param {().GoogleCloudDialogflowV2beta1Document} 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 + */ + create(params?: Params$Resource$Projects$Agent$Knowledgebases$Documents$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Agent$Knowledgebases$Documents$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Agent$Knowledgebases$Documents$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.knowledgeBases.documents.delete + * @desc Deletes the specified document. Operation + * @alias dialogflow.projects.agent.knowledgeBases.documents.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the document to delete. Format: `projects//knowledgeBases//documents/`. + * @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?: Params$Resource$Projects$Agent$Knowledgebases$Documents$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Agent$Knowledgebases$Documents$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Agent$Knowledgebases$Documents$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.knowledgeBases.documents.get + * @desc Retrieves the specified document. + * @alias dialogflow.projects.agent.knowledgeBases.documents.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The name of the document to retrieve. Format `projects//knowledgeBases//documents/`. + * @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?: Params$Resource$Projects$Agent$Knowledgebases$Documents$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Agent$Knowledgebases$Documents$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Agent$Knowledgebases$Documents$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.knowledgeBases.documents.list + * @desc Returns the list of all documents of the knowledge base. + * @alias dialogflow.projects.agent.knowledgeBases.documents.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Optional. The maximum number of items to return in a single page. By default 10 and at most 100. + * @param {string=} params.pageToken Optional. The next_page_token value returned from a previous list request. + * @param {string} params.parent Required. The knowledge base to list all documents for. Format: `projects//knowledgeBases/`. + * @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?: Params$Resource$Projects$Agent$Knowledgebases$Documents$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Agent$Knowledgebases$Documents$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Agent$Knowledgebases$Documents$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Agent$Knowledgebases$Documents$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The knoweldge base to create a document for. Format: + * `projects//knowledgeBases/`. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDialogflowV2beta1Document; + } + interface Params$Resource$Projects$Agent$Knowledgebases$Documents$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the document to delete. Format: `projects//knowledgeBases//documents/`. + */ + name?: string; + } + interface Params$Resource$Projects$Agent$Knowledgebases$Documents$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the document to retrieve. Format `projects//knowledgeBases//documents/`. + */ + name?: string; + } + interface Params$Resource$Projects$Agent$Knowledgebases$Documents$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The maximum number of items to return in a single page. By + * default 10 and at most 100. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list + * request. + */ + pageToken?: string; + /** + * Required. The knowledge base to list all documents for. Format: + * `projects//knowledgeBases/`. + */ + parent?: string; + } + class Resource$Projects$Agent$Sessions { + root: Dialogflow; + contexts: Resource$Projects$Agent$Sessions$Contexts; + entityTypes: Resource$Projects$Agent$Sessions$Entitytypes; + constructor(root: Dialogflow); + getRoot(): Dialogflow; + /** + * dialogflow.projects.agent.sessions.deleteContexts + * @desc Deletes all active contexts in the specified session. + * @alias dialogflow.projects.agent.sessions.deleteContexts + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The name of the session to delete all contexts from. Format: `projects//agent/sessions/` or `projects//agent/environments//users//sessions/`. If `Environment ID` is not specified we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. + * @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 + */ + deleteContexts(params?: Params$Resource$Projects$Agent$Sessions$Deletecontexts, options?: MethodOptions): AxiosPromise; + deleteContexts(params: Params$Resource$Projects$Agent$Sessions$Deletecontexts, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + deleteContexts(params: Params$Resource$Projects$Agent$Sessions$Deletecontexts, callback: BodyResponseCallback): void; + deleteContexts(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.sessions.detectIntent + * @desc Processes a natural language query and returns structured, + * actionable data as a result. This method is not idempotent, because it + * may cause contexts and session entity types to be updated, which in turn + * might affect results of future queries. + * @alias dialogflow.projects.agent.sessions.detectIntent + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.session Required. The name of the session this query is sent to. Format: `projects//agent/sessions/`, or `projects//agent/environments//users//sessions/`. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we are using "-". It’s up to the API caller to choose an appropriate `Session ID` and `User Id`. They can be a random numbers or some type of user and session identifiers (preferably hashed). The length of the `Session ID` and `User ID` must not exceed 36 characters. + * @param {().GoogleCloudDialogflowV2beta1DetectIntentRequest} 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 + */ + detectIntent(params?: Params$Resource$Projects$Agent$Sessions$Detectintent, options?: MethodOptions): AxiosPromise; + detectIntent(params: Params$Resource$Projects$Agent$Sessions$Detectintent, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + detectIntent(params: Params$Resource$Projects$Agent$Sessions$Detectintent, callback: BodyResponseCallback): void; + detectIntent(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Agent$Sessions$Deletecontexts { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the session to delete all contexts from. Format: + * `projects//agent/sessions/` or `projects//agent/environments//users//sessions/`. If `Environment ID` is not specified we assume default 'draft' + * environment. If `User ID` is not specified, we assume default '-' user. + */ + parent?: string; + } + interface Params$Resource$Projects$Agent$Sessions$Detectintent { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the session this query is sent to. Format: + * `projects//agent/sessions/`, or + * `projects//agent/environments//users//sessions/`. If `Environment ID` is not specified, we + * assume default 'draft' environment. If `User ID` is not specified, we are + * using "-". It’s up to the API caller to choose an appropriate `Session + * ID` and `User Id`. They can be a random numbers or some type of user and + * session identifiers (preferably hashed). The length of the `Session ID` + * and `User ID` must not exceed 36 characters. + */ + session?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDialogflowV2beta1DetectIntentRequest; + } + class Resource$Projects$Agent$Sessions$Contexts { + root: Dialogflow; + constructor(root: Dialogflow); + getRoot(): Dialogflow; + /** + * dialogflow.projects.agent.sessions.contexts.create + * @desc Creates a context. + * @alias dialogflow.projects.agent.sessions.contexts.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The session to create a context for. Format: `projects//agent/sessions/` or `projects//agent/environments//users//sessions/`. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. + * @param {().GoogleCloudDialogflowV2beta1Context} 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 + */ + create(params?: Params$Resource$Projects$Agent$Sessions$Contexts$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Agent$Sessions$Contexts$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Agent$Sessions$Contexts$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.sessions.contexts.delete + * @desc Deletes the specified context. + * @alias dialogflow.projects.agent.sessions.contexts.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The name of the context to delete. Format: `projects//agent/sessions//contexts/` or `projects//agent/environments//users//sessions//contexts/`. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. + * @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?: Params$Resource$Projects$Agent$Sessions$Contexts$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Agent$Sessions$Contexts$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Agent$Sessions$Contexts$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.sessions.contexts.get + * @desc Retrieves the specified context. + * @alias dialogflow.projects.agent.sessions.contexts.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The name of the context. Format: `projects//agent/sessions//contexts/` or `projects//agent/environments//users//sessions//contexts/`. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. + * @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?: Params$Resource$Projects$Agent$Sessions$Contexts$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Agent$Sessions$Contexts$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Agent$Sessions$Contexts$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.sessions.contexts.list + * @desc Returns the list of all contexts in the specified session. + * @alias dialogflow.projects.agent.sessions.contexts.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Optional. The maximum number of items to return in a single page. By default 100 and at most 1000. + * @param {string=} params.pageToken Optional. The next_page_token value returned from a previous list request. + * @param {string} params.parent Required. The session to list all contexts from. Format: `projects//agent/sessions/` or `projects//agent/environments//users//sessions/`. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. + * @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?: Params$Resource$Projects$Agent$Sessions$Contexts$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Agent$Sessions$Contexts$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Agent$Sessions$Contexts$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.sessions.contexts.patch + * @desc Updates the specified context. + * @alias dialogflow.projects.agent.sessions.contexts.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The unique identifier of the context. Format: `projects//agent/sessions//contexts/`, or `projects//agent/environments//users//sessions//contexts/`. The `Context ID` is always converted to lowercase. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. + * @param {string=} params.updateMask Optional. The mask to control which fields get updated. + * @param {().GoogleCloudDialogflowV2beta1Context} 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 + */ + patch(params?: Params$Resource$Projects$Agent$Sessions$Contexts$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Agent$Sessions$Contexts$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Agent$Sessions$Contexts$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Agent$Sessions$Contexts$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The session to create a context for. Format: `projects//agent/sessions/` or `projects//agent/environments//users//sessions/`. If `Environment ID` is not specified, we assume default 'draft' + * environment. If `User ID` is not specified, we assume default '-' user. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDialogflowV2beta1Context; + } + interface Params$Resource$Projects$Agent$Sessions$Contexts$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the context to delete. Format: `projects//agent/sessions//contexts/` or + * `projects//agent/environments//users//sessions//contexts/`. If `Environment ID` is + * not specified, we assume default 'draft' environment. If `User ID` is not + * specified, we assume default '-' user. + */ + name?: string; + } + interface Params$Resource$Projects$Agent$Sessions$Contexts$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the context. Format: `projects//agent/sessions//contexts/` or + * `projects//agent/environments//users//sessions//contexts/`. If `Environment ID` is + * not specified, we assume default 'draft' environment. If `User ID` is not + * specified, we assume default '-' user. + */ + name?: string; + } + interface Params$Resource$Projects$Agent$Sessions$Contexts$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The maximum number of items to return in a single page. By + * default 100 and at most 1000. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list + * request. + */ + pageToken?: string; + /** + * Required. The session to list all contexts from. Format: + * `projects//agent/sessions/` or `projects//agent/environments//users//sessions/`. If `Environment ID` is not specified, we assume default 'draft' + * environment. If `User ID` is not specified, we assume default '-' user. + */ + parent?: string; + } + interface Params$Resource$Projects$Agent$Sessions$Contexts$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The unique identifier of the context. Format: + * `projects//agent/sessions//contexts/`, or `projects//agent/environments//users//sessions//contexts/`. The + * `Context ID` is always converted to lowercase. If `Environment ID` is not + * specified, we assume default 'draft' environment. If `User ID` is not + * specified, we assume default '-' user. + */ + name?: string; + /** + * Optional. The mask to control which fields get updated. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDialogflowV2beta1Context; + } + class Resource$Projects$Agent$Sessions$Entitytypes { + root: Dialogflow; + constructor(root: Dialogflow); + getRoot(): Dialogflow; + /** + * dialogflow.projects.agent.sessions.entityTypes.create + * @desc Creates a session entity type. + * @alias dialogflow.projects.agent.sessions.entityTypes.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The session to create a session entity type for. Format: `projects//agent/sessions/` or `projects//agent/environments//users// sessions/`. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. + * @param {().GoogleCloudDialogflowV2beta1SessionEntityType} 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 + */ + create(params?: Params$Resource$Projects$Agent$Sessions$Entitytypes$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Agent$Sessions$Entitytypes$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Agent$Sessions$Entitytypes$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.sessions.entityTypes.delete + * @desc Deletes the specified session entity type. + * @alias dialogflow.projects.agent.sessions.entityTypes.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The name of the entity type to delete. Format: `projects//agent/sessions//entityTypes/` or `projects//agent/environments//users//sessions//entityTypes/`. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. + * @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?: Params$Resource$Projects$Agent$Sessions$Entitytypes$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Agent$Sessions$Entitytypes$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Agent$Sessions$Entitytypes$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.sessions.entityTypes.get + * @desc Retrieves the specified session entity type. + * @alias dialogflow.projects.agent.sessions.entityTypes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The name of the session entity type. Format: `projects//agent/sessions//entityTypes/` or `projects//agent/environments//users//sessions//entityTypes/`. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. + * @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?: Params$Resource$Projects$Agent$Sessions$Entitytypes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Agent$Sessions$Entitytypes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Agent$Sessions$Entitytypes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.sessions.entityTypes.list + * @desc Returns the list of all session entity types in the specified + * session. + * @alias dialogflow.projects.agent.sessions.entityTypes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Optional. The maximum number of items to return in a single page. By default 100 and at most 1000. + * @param {string=} params.pageToken Optional. The next_page_token value returned from a previous list request. + * @param {string} params.parent Required. The session to list all session entity types from. Format: `projects//agent/sessions/` or `projects//agent/environments//users// sessions/`. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. + * @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?: Params$Resource$Projects$Agent$Sessions$Entitytypes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Agent$Sessions$Entitytypes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Agent$Sessions$Entitytypes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.agent.sessions.entityTypes.patch + * @desc Updates the specified session entity type. + * @alias dialogflow.projects.agent.sessions.entityTypes.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The unique identifier of this session entity type. Format: `projects//agent/sessions//entityTypes/`, or `projects//agent/environments//users//sessions//entityTypes/`. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. + * @param {string=} params.updateMask Optional. The mask to control which fields get updated. + * @param {().GoogleCloudDialogflowV2beta1SessionEntityType} 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 + */ + patch(params?: Params$Resource$Projects$Agent$Sessions$Entitytypes$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Agent$Sessions$Entitytypes$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Agent$Sessions$Entitytypes$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Agent$Sessions$Entitytypes$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The session to create a session entity type for. Format: + * `projects//agent/sessions/` or `projects//agent/environments//users// + * sessions/`. If `Environment ID` is not specified, we assume + * default 'draft' environment. If `User ID` is not specified, we assume + * default '-' user. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDialogflowV2beta1SessionEntityType; + } + interface Params$Resource$Projects$Agent$Sessions$Entitytypes$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the entity type to delete. Format: + * `projects//agent/sessions//entityTypes/` or `projects//agent/environments//users//sessions//entityTypes/`. If `Environment ID` is not + * specified, we assume default 'draft' environment. If `User ID` is not + * specified, we assume default '-' user. + */ + name?: string; + } + interface Params$Resource$Projects$Agent$Sessions$Entitytypes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the session entity type. Format: `projects//agent/sessions//entityTypes/` + * or `projects//agent/environments//users//sessions//entityTypes/`. If + * `Environment ID` is not specified, we assume default 'draft' environment. + * If `User ID` is not specified, we assume default '-' user. + */ + name?: string; + } + interface Params$Resource$Projects$Agent$Sessions$Entitytypes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The maximum number of items to return in a single page. By + * default 100 and at most 1000. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list + * request. + */ + pageToken?: string; + /** + * Required. The session to list all session entity types from. Format: + * `projects//agent/sessions/` or `projects//agent/environments//users// + * sessions/`. If `Environment ID` is not specified, we assume + * default 'draft' environment. If `User ID` is not specified, we assume + * default '-' user. + */ + parent?: string; + } + interface Params$Resource$Projects$Agent$Sessions$Entitytypes$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The unique identifier of this session entity type. Format: + * `projects//agent/sessions//entityTypes/`, or `projects//agent/environments//users//sessions//entityTypes/`. If `Environment ID` is not + * specified, we assume default 'draft' environment. If `User ID` is not + * specified, we assume default '-' user. + */ + name?: string; + /** + * Optional. The mask to control which fields get updated. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDialogflowV2beta1SessionEntityType; + } + class Resource$Projects$Conversations { + root: Dialogflow; + contexts: Resource$Projects$Conversations$Contexts; + constructor(root: Dialogflow); + getRoot(): Dialogflow; + /** + * dialogflow.projects.conversations.deleteContexts + * @desc Deletes all active contexts in the specified session. + * @alias dialogflow.projects.conversations.deleteContexts + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The name of the session to delete all contexts from. Format: `projects//agent/sessions/` or `projects//agent/environments//users//sessions/`. If `Environment ID` is not specified we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. + * @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 + */ + deleteContexts(params?: Params$Resource$Projects$Conversations$Deletecontexts, options?: MethodOptions): AxiosPromise; + deleteContexts(params: Params$Resource$Projects$Conversations$Deletecontexts, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + deleteContexts(params: Params$Resource$Projects$Conversations$Deletecontexts, callback: BodyResponseCallback): void; + deleteContexts(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Conversations$Deletecontexts { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the session to delete all contexts from. Format: + * `projects//agent/sessions/` or `projects//agent/environments//users//sessions/`. If `Environment ID` is not specified we assume default 'draft' + * environment. If `User ID` is not specified, we assume default '-' user. + */ + parent?: string; + } + class Resource$Projects$Conversations$Contexts { + root: Dialogflow; + constructor(root: Dialogflow); + getRoot(): Dialogflow; + /** + * dialogflow.projects.conversations.contexts.create + * @desc Creates a context. + * @alias dialogflow.projects.conversations.contexts.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The session to create a context for. Format: `projects//agent/sessions/` or `projects//agent/environments//users//sessions/`. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. + * @param {().GoogleCloudDialogflowV2beta1Context} 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 + */ + create(params?: Params$Resource$Projects$Conversations$Contexts$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Conversations$Contexts$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Conversations$Contexts$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.conversations.contexts.delete + * @desc Deletes the specified context. + * @alias dialogflow.projects.conversations.contexts.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The name of the context to delete. Format: `projects//agent/sessions//contexts/` or `projects//agent/environments//users//sessions//contexts/`. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. + * @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?: Params$Resource$Projects$Conversations$Contexts$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Conversations$Contexts$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Conversations$Contexts$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.conversations.contexts.get + * @desc Retrieves the specified context. + * @alias dialogflow.projects.conversations.contexts.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The name of the context. Format: `projects//agent/sessions//contexts/` or `projects//agent/environments//users//sessions//contexts/`. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. + * @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?: Params$Resource$Projects$Conversations$Contexts$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Conversations$Contexts$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Conversations$Contexts$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.conversations.contexts.list + * @desc Returns the list of all contexts in the specified session. + * @alias dialogflow.projects.conversations.contexts.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Optional. The maximum number of items to return in a single page. By default 100 and at most 1000. + * @param {string=} params.pageToken Optional. The next_page_token value returned from a previous list request. + * @param {string} params.parent Required. The session to list all contexts from. Format: `projects//agent/sessions/` or `projects//agent/environments//users//sessions/`. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. + * @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?: Params$Resource$Projects$Conversations$Contexts$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Conversations$Contexts$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Conversations$Contexts$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.conversations.contexts.patch + * @desc Updates the specified context. + * @alias dialogflow.projects.conversations.contexts.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The unique identifier of the context. Format: `projects//agent/sessions//contexts/`, or `projects//agent/environments//users//sessions//contexts/`. The `Context ID` is always converted to lowercase. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. + * @param {string=} params.updateMask Optional. The mask to control which fields get updated. + * @param {().GoogleCloudDialogflowV2beta1Context} 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 + */ + patch(params?: Params$Resource$Projects$Conversations$Contexts$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Conversations$Contexts$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Conversations$Contexts$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Conversations$Contexts$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The session to create a context for. Format: `projects//agent/sessions/` or `projects//agent/environments//users//sessions/`. If `Environment ID` is not specified, we assume default 'draft' + * environment. If `User ID` is not specified, we assume default '-' user. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDialogflowV2beta1Context; + } + interface Params$Resource$Projects$Conversations$Contexts$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the context to delete. Format: `projects//agent/sessions//contexts/` or + * `projects//agent/environments//users//sessions//contexts/`. If `Environment ID` is + * not specified, we assume default 'draft' environment. If `User ID` is not + * specified, we assume default '-' user. + */ + name?: string; + } + interface Params$Resource$Projects$Conversations$Contexts$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the context. Format: `projects//agent/sessions//contexts/` or + * `projects//agent/environments//users//sessions//contexts/`. If `Environment ID` is + * not specified, we assume default 'draft' environment. If `User ID` is not + * specified, we assume default '-' user. + */ + name?: string; + } + interface Params$Resource$Projects$Conversations$Contexts$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The maximum number of items to return in a single page. By + * default 100 and at most 1000. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list + * request. + */ + pageToken?: string; + /** + * Required. The session to list all contexts from. Format: + * `projects//agent/sessions/` or `projects//agent/environments//users//sessions/`. If `Environment ID` is not specified, we assume default 'draft' + * environment. If `User ID` is not specified, we assume default '-' user. + */ + parent?: string; + } + interface Params$Resource$Projects$Conversations$Contexts$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The unique identifier of the context. Format: + * `projects//agent/sessions//contexts/`, or `projects//agent/environments//users//sessions//contexts/`. The + * `Context ID` is always converted to lowercase. If `Environment ID` is not + * specified, we assume default 'draft' environment. If `User ID` is not + * specified, we assume default '-' user. + */ + name?: string; + /** + * Optional. The mask to control which fields get updated. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDialogflowV2beta1Context; + } + class Resource$Projects$Knowledgebases { + root: Dialogflow; + documents: Resource$Projects$Knowledgebases$Documents; + constructor(root: Dialogflow); + getRoot(): Dialogflow; + /** + * dialogflow.projects.knowledgeBases.create + * @desc Creates a knowledge base. + * @alias dialogflow.projects.knowledgeBases.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The project to create a knowledge base for. Format: `projects/`. + * @param {().GoogleCloudDialogflowV2beta1KnowledgeBase} 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 + */ + create(params?: Params$Resource$Projects$Knowledgebases$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Knowledgebases$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Knowledgebases$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.knowledgeBases.delete + * @desc Deletes the specified knowledge base. + * @alias dialogflow.projects.knowledgeBases.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.force Optional. Force deletes the knowledge base. When set to true, any documents in the knowledge base are also deleted. + * @param {string} params.name Required. The name of the knowledge base to delete. Format: `projects//knowledgeBases/`. + * @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?: Params$Resource$Projects$Knowledgebases$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Knowledgebases$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Knowledgebases$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.knowledgeBases.get + * @desc Retrieves the specified knowledge base. + * @alias dialogflow.projects.knowledgeBases.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The name of the knowledge base to retrieve. Format `projects//knowledgeBases/`. + * @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?: Params$Resource$Projects$Knowledgebases$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Knowledgebases$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Knowledgebases$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.knowledgeBases.list + * @desc Returns the list of all knowledge bases of the specified agent. + * @alias dialogflow.projects.knowledgeBases.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Optional. The maximum number of items to return in a single page. By default 10 and at most 100. + * @param {string=} params.pageToken Optional. The next_page_token value returned from a previous list request. + * @param {string} params.parent Required. The project to list of knowledge bases for. Format: `projects/`. + * @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?: Params$Resource$Projects$Knowledgebases$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Knowledgebases$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Knowledgebases$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Knowledgebases$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The project to create a knowledge base for. Format: + * `projects/`. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDialogflowV2beta1KnowledgeBase; + } + interface Params$Resource$Projects$Knowledgebases$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. Force deletes the knowledge base. When set to true, any + * documents in the knowledge base are also deleted. + */ + force?: boolean; + /** + * Required. The name of the knowledge base to delete. Format: + * `projects//knowledgeBases/`. + */ + name?: string; + } + interface Params$Resource$Projects$Knowledgebases$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the knowledge base to retrieve. Format + * `projects//knowledgeBases/`. + */ + name?: string; + } + interface Params$Resource$Projects$Knowledgebases$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The maximum number of items to return in a single page. By + * default 10 and at most 100. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list + * request. + */ + pageToken?: string; + /** + * Required. The project to list of knowledge bases for. Format: + * `projects/`. + */ + parent?: string; + } + class Resource$Projects$Knowledgebases$Documents { + root: Dialogflow; + constructor(root: Dialogflow); + getRoot(): Dialogflow; + /** + * dialogflow.projects.knowledgeBases.documents.create + * @desc Creates a new document. Operation + * @alias dialogflow.projects.knowledgeBases.documents.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The knoweldge base to create a document for. Format: `projects//knowledgeBases/`. + * @param {().GoogleCloudDialogflowV2beta1Document} 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 + */ + create(params?: Params$Resource$Projects$Knowledgebases$Documents$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Knowledgebases$Documents$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Knowledgebases$Documents$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.knowledgeBases.documents.delete + * @desc Deletes the specified document. Operation + * @alias dialogflow.projects.knowledgeBases.documents.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the document to delete. Format: `projects//knowledgeBases//documents/`. + * @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?: Params$Resource$Projects$Knowledgebases$Documents$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Knowledgebases$Documents$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Knowledgebases$Documents$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.knowledgeBases.documents.get + * @desc Retrieves the specified document. + * @alias dialogflow.projects.knowledgeBases.documents.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The name of the document to retrieve. Format `projects//knowledgeBases//documents/`. + * @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?: Params$Resource$Projects$Knowledgebases$Documents$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Knowledgebases$Documents$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Knowledgebases$Documents$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dialogflow.projects.knowledgeBases.documents.list + * @desc Returns the list of all documents of the knowledge base. + * @alias dialogflow.projects.knowledgeBases.documents.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Optional. The maximum number of items to return in a single page. By default 10 and at most 100. + * @param {string=} params.pageToken Optional. The next_page_token value returned from a previous list request. + * @param {string} params.parent Required. The knowledge base to list all documents for. Format: `projects//knowledgeBases/`. + * @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?: Params$Resource$Projects$Knowledgebases$Documents$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Knowledgebases$Documents$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Knowledgebases$Documents$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Knowledgebases$Documents$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The knoweldge base to create a document for. Format: + * `projects//knowledgeBases/`. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDialogflowV2beta1Document; + } + interface Params$Resource$Projects$Knowledgebases$Documents$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the document to delete. Format: `projects//knowledgeBases//documents/`. + */ + name?: string; + } + interface Params$Resource$Projects$Knowledgebases$Documents$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the document to retrieve. Format `projects//knowledgeBases//documents/`. + */ + name?: string; + } + interface Params$Resource$Projects$Knowledgebases$Documents$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The maximum number of items to return in a single page. By + * default 10 and at most 100. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list + * request. + */ + pageToken?: string; + /** + * Required. The knowledge base to list all documents for. Format: + * `projects//knowledgeBases/`. + */ + parent?: string; + } + class Resource$Projects$Operations { + root: Dialogflow; + constructor(root: Dialogflow); + getRoot(): Dialogflow; + /** + * dialogflow.projects.operations.get + * @desc Gets the latest state of a long-running operation. Clients can use + * this method to poll the operation result at intervals as recommended by + * the API service. + * @alias dialogflow.projects.operations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource. + * @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?: Params$Resource$Projects$Operations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Operations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Operations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Operations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource. + */ + name?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/dialogflow/v2beta1.js b/express-server/node_modules/googleapis/build/src/apis/dialogflow/v2beta1.js new file mode 100644 index 00000000..77f1ddd1 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dialogflow/v2beta1.js @@ -0,0 +1,2409 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var dialogflow_v2beta1; +(function (dialogflow_v2beta1) { + /** + * Dialogflow API + * + * An end-to-end development suite for conversational interfaces (e.g., + * chatbots, voice-powered apps and devices). + * + * @example + * const {google} = require('googleapis'); + * const dialogflow = google.dialogflow('v2beta1'); + * + * @namespace dialogflow + * @type {Function} + * @version v2beta1 + * @variation v2beta1 + * @param {object=} options Options for Dialogflow + */ + class Dialogflow { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.projects = new Resource$Projects(this); + } + getRoot() { + return this.root; + } + } + dialogflow_v2beta1.Dialogflow = Dialogflow; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.agent = new Resource$Projects$Agent(root); + this.conversations = new Resource$Projects$Conversations(root); + this.knowledgeBases = new Resource$Projects$Knowledgebases(root); + this.operations = new Resource$Projects$Operations(root); + } + getRoot() { + return this.root; + } + getAgent(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+parent}/agent') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dialogflow_v2beta1.Resource$Projects = Resource$Projects; + class Resource$Projects$Agent { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.entityTypes = new Resource$Projects$Agent$Entitytypes(root); + this.environments = new Resource$Projects$Agent$Environments(root); + this.intents = new Resource$Projects$Agent$Intents(root); + this.knowledgeBases = new Resource$Projects$Agent$Knowledgebases(root); + this.sessions = new Resource$Projects$Agent$Sessions(root); + } + getRoot() { + return this.root; + } + export(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+parent}/agent:export') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + import(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { options: Object.assign({ url: (rootUrl + '/v2beta1/{+parent}/agent:import').replace(/([^:]\/)\/+/g, '$1'), method: 'POST' }, options), params, requiredParams: ['parent'], pathParams: ['parent'], context: this.getRoot() }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + restore(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+parent}/agent:restore') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + search(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+parent}/agent:search') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + train(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+parent}/agent:train') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dialogflow_v2beta1.Resource$Projects$Agent = Resource$Projects$Agent; + class Resource$Projects$Agent$Entitytypes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.entities = new Resource$Projects$Agent$Entitytypes$Entities(root); + } + getRoot() { + return this.root; + } + batchDelete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+parent}/entityTypes:batchDelete') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + batchUpdate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+parent}/entityTypes:batchUpdate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+parent}/entityTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+parent}/entityTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dialogflow_v2beta1.Resource$Projects$Agent$Entitytypes = Resource$Projects$Agent$Entitytypes; + class Resource$Projects$Agent$Entitytypes$Entities { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + batchCreate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+parent}/entities:batchCreate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + batchDelete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+parent}/entities:batchDelete') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + batchUpdate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+parent}/entities:batchUpdate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dialogflow_v2beta1.Resource$Projects$Agent$Entitytypes$Entities = Resource$Projects$Agent$Entitytypes$Entities; + class Resource$Projects$Agent$Environments { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.users = new Resource$Projects$Agent$Environments$Users(root); + } + getRoot() { + return this.root; + } + } + dialogflow_v2beta1.Resource$Projects$Agent$Environments = Resource$Projects$Agent$Environments; + class Resource$Projects$Agent$Environments$Users { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.sessions = + new Resource$Projects$Agent$Environments$Users$Sessions(root); + } + getRoot() { + return this.root; + } + } + dialogflow_v2beta1.Resource$Projects$Agent$Environments$Users = Resource$Projects$Agent$Environments$Users; + class Resource$Projects$Agent$Environments$Users$Sessions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.contexts = + new Resource$Projects$Agent$Environments$Users$Sessions$Contexts(root); + this.entityTypes = + new Resource$Projects$Agent$Environments$Users$Sessions$Entitytypes(root); + } + getRoot() { + return this.root; + } + deleteContexts(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+parent}/contexts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + detectIntent(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+session}:detectIntent') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['session'], + pathParams: ['session'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dialogflow_v2beta1.Resource$Projects$Agent$Environments$Users$Sessions = Resource$Projects$Agent$Environments$Users$Sessions; + class Resource$Projects$Agent$Environments$Users$Sessions$Contexts { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+parent}/contexts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+parent}/contexts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dialogflow_v2beta1.Resource$Projects$Agent$Environments$Users$Sessions$Contexts = Resource$Projects$Agent$Environments$Users$Sessions$Contexts; + class Resource$Projects$Agent$Environments$Users$Sessions$Entitytypes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+parent}/entityTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+parent}/entityTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dialogflow_v2beta1.Resource$Projects$Agent$Environments$Users$Sessions$Entitytypes = Resource$Projects$Agent$Environments$Users$Sessions$Entitytypes; + class Resource$Projects$Agent$Intents { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + batchDelete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+parent}/intents:batchDelete') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + batchUpdate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+parent}/intents:batchUpdate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+parent}/intents') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+parent}/intents') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dialogflow_v2beta1.Resource$Projects$Agent$Intents = Resource$Projects$Agent$Intents; + class Resource$Projects$Agent$Knowledgebases { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.documents = + new Resource$Projects$Agent$Knowledgebases$Documents(root); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+parent}/knowledgeBases') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+parent}/knowledgeBases') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dialogflow_v2beta1.Resource$Projects$Agent$Knowledgebases = Resource$Projects$Agent$Knowledgebases; + class Resource$Projects$Agent$Knowledgebases$Documents { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+parent}/documents') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+parent}/documents') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dialogflow_v2beta1.Resource$Projects$Agent$Knowledgebases$Documents = Resource$Projects$Agent$Knowledgebases$Documents; + class Resource$Projects$Agent$Sessions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.contexts = new Resource$Projects$Agent$Sessions$Contexts(root); + this.entityTypes = new Resource$Projects$Agent$Sessions$Entitytypes(root); + } + getRoot() { + return this.root; + } + deleteContexts(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+parent}/contexts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + detectIntent(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+session}:detectIntent') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['session'], + pathParams: ['session'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dialogflow_v2beta1.Resource$Projects$Agent$Sessions = Resource$Projects$Agent$Sessions; + class Resource$Projects$Agent$Sessions$Contexts { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+parent}/contexts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+parent}/contexts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dialogflow_v2beta1.Resource$Projects$Agent$Sessions$Contexts = Resource$Projects$Agent$Sessions$Contexts; + class Resource$Projects$Agent$Sessions$Entitytypes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+parent}/entityTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+parent}/entityTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dialogflow_v2beta1.Resource$Projects$Agent$Sessions$Entitytypes = Resource$Projects$Agent$Sessions$Entitytypes; + class Resource$Projects$Conversations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.contexts = new Resource$Projects$Conversations$Contexts(root); + } + getRoot() { + return this.root; + } + deleteContexts(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+parent}/contexts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dialogflow_v2beta1.Resource$Projects$Conversations = Resource$Projects$Conversations; + class Resource$Projects$Conversations$Contexts { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+parent}/contexts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+parent}/contexts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dialogflow_v2beta1.Resource$Projects$Conversations$Contexts = Resource$Projects$Conversations$Contexts; + class Resource$Projects$Knowledgebases { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.documents = new Resource$Projects$Knowledgebases$Documents(root); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+parent}/knowledgeBases') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+parent}/knowledgeBases') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dialogflow_v2beta1.Resource$Projects$Knowledgebases = Resource$Projects$Knowledgebases; + class Resource$Projects$Knowledgebases$Documents { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+parent}/documents') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+parent}/documents') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dialogflow_v2beta1.Resource$Projects$Knowledgebases$Documents = Resource$Projects$Knowledgebases$Documents; + class Resource$Projects$Operations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dialogflow_v2beta1.Resource$Projects$Operations = Resource$Projects$Operations; +})(dialogflow_v2beta1 = exports.dialogflow_v2beta1 || (exports.dialogflow_v2beta1 = {})); +//# sourceMappingURL=v2beta1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/dialogflow/v2beta1.js.map b/express-server/node_modules/googleapis/build/src/apis/dialogflow/v2beta1.js.map new file mode 100644 index 00000000..7e021c30 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dialogflow/v2beta1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v2beta1.js","sourceRoot":"","sources":["../../../../src/apis/dialogflow/v2beta1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/digitalassetlinks/README.md b/express-server/node_modules/googleapis/build/src/apis/digitalassetlinks/README.md new file mode 100644 index 00000000..91322b52 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/digitalassetlinks/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/digitalassetlinks + +> API for discovering relationships between online assets such as web sites or mobile apps. + +## Installation + +```sh +$ npm install @google/digitalassetlinks +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/digitalassetlinks/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/digitalassetlinks/index.d.ts new file mode 100644 index 00000000..7ee31746 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/digitalassetlinks/index.d.ts @@ -0,0 +1,6 @@ +import { digitalassetlinks_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof digitalassetlinks_v1.Digitalassetlinks; +}; +export declare function digitalassetlinks(version: 'v1'): digitalassetlinks_v1.Digitalassetlinks; +export declare function digitalassetlinks(options: digitalassetlinks_v1.Options): digitalassetlinks_v1.Digitalassetlinks; diff --git a/express-server/node_modules/googleapis/build/src/apis/digitalassetlinks/index.js b/express-server/node_modules/googleapis/build/src/apis/digitalassetlinks/index.js new file mode 100644 index 00000000..056baaaa --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/digitalassetlinks/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.digitalassetlinks_v1.Digitalassetlinks, +}; +function digitalassetlinks(versionOrOptions) { + return googleapis_common_1.getAPI('digitalassetlinks', versionOrOptions, exports.VERSIONS, this); +} +exports.digitalassetlinks = digitalassetlinks; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/digitalassetlinks/index.js.map b/express-server/node_modules/googleapis/build/src/apis/digitalassetlinks/index.js.map new file mode 100644 index 00000000..ca71a43d --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/digitalassetlinks/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/digitalassetlinks/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAA0C;AAE7B,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,yBAAoB,CAAC,iBAAiB;CAC7C,CAAC;AAMF,SAAgB,iBAAiB,CAE7B,gBAAmD;IACrD,OAAO,0BAAM,CAAI,mBAAmB,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAC1E,CAAC;AAJD,8CAIC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/digitalassetlinks/package.json b/express-server/node_modules/googleapis/build/src/apis/digitalassetlinks/package.json new file mode 100644 index 00000000..314c0594 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/digitalassetlinks/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/digitalassetlinks", + "version": "0.1.0", + "description": "digitalassetlinks", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/digitalassetlinks/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/digitalassetlinks/v1.d.ts new file mode 100644 index 00000000..a559ddc1 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/digitalassetlinks/v1.d.ts @@ -0,0 +1,473 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace digitalassetlinks_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Digital Asset Links API + * + * API for discovering relationships between online assets such as web sites + * or mobile apps. + * + * @example + * const {google} = require('googleapis'); + * const digitalassetlinks = google.digitalassetlinks('v1'); + * + * @namespace digitalassetlinks + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Digitalassetlinks + */ + class Digitalassetlinks { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + assetlinks: Resource$Assetlinks; + statements: Resource$Statements; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Describes an android app asset. + */ + interface Schema$AndroidAppAsset { + /** + * Because there is no global enforcement of package name uniqueness, we + * also require a signing certificate, which in combination with the package + * name uniquely identifies an app. Some apps' signing keys are + * rotated, so they may be signed by different keys over time. We treat + * these as distinct assets, since we use (package name, cert) as the unique + * ID. This should not normally pose any problems as both versions of the + * app will make the same or similar statements. Other assets making + * statements about the app will have to be updated when a key is rotated, + * however. (Note that the syntaxes for publishing and querying for + * statements contain syntactic sugar to easily let you specify apps that + * are known by multiple certificates.) REQUIRED + */ + certificate?: Schema$CertificateInfo; + /** + * Android App assets are naturally identified by their Java package name. + * For example, the Google Maps app uses the package name + * `com.google.android.apps.maps`. REQUIRED + */ + packageName?: string; + } + /** + * Uniquely identifies an asset. A digital asset is an identifiable and + * addressable online entity that typically provides some service or content. + * Examples of assets are websites, Android apps, Twitter feeds, and Plus + * Pages. + */ + interface Schema$Asset { + /** + * Set if this is an Android App asset. + */ + androidApp?: Schema$AndroidAppAsset; + /** + * Set if this is a web asset. + */ + web?: Schema$WebAsset; + } + /** + * Describes an X509 certificate. + */ + interface Schema$CertificateInfo { + /** + * The uppercase SHA-265 fingerprint of the certificate. From the PEM + * certificate, it can be acquired like this: $ keytool -printcert + * -file $CERTFILE | grep SHA256: SHA256: + * 14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83: \ + * 42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:44:E5 or like this: $ openssl x509 + * -in $CERTFILE -noout -fingerprint -sha256 SHA256 + * Fingerprint=14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64: \ + * 16:A0:83:42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:44:E5 In this example, the + * contents of this field would be `14:6D:E9:83:C5:73: + * 06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83:42:E6:1D:BE:A8:8A:04:96:B2:3F:CF: + * 44:E5`. If these tools are not available to you, you can convert the PEM + * certificate into the DER format, compute the SHA-256 hash of that string + * and represent the result as a hexstring (that is, uppercase hexadecimal + * representations of each octet, separated by colons). + */ + sha256Fingerprint?: string; + } + /** + * Response message for the CheckAssetLinks call. + */ + interface Schema$CheckResponse { + /** + * Human-readable message containing information intended to help end users + * understand, reproduce and debug the result. The message will be in + * English and we are currently not planning to offer any translations. + * Please note that no guarantees are made about the contents or format of + * this string. Any aspect of it may be subject to change without notice. + * You should not attempt to programmatically parse this data. For + * programmatic access, use the error_code field below. + */ + debugString?: string; + /** + * Error codes that describe the result of the Check operation. + */ + errorCode?: string[]; + /** + * Set to true if the assets specified in the request are linked by the + * relation specified in the request. + */ + linked?: boolean; + /** + * From serving time, how much longer the response should be considered + * valid barring further updates. REQUIRED + */ + maxAge?: string; + } + /** + * Response message for the List call. + */ + interface Schema$ListResponse { + /** + * Human-readable message containing information intended to help end users + * understand, reproduce and debug the result. The message will be in + * English and we are currently not planning to offer any translations. + * Please note that no guarantees are made about the contents or format of + * this string. Any aspect of it may be subject to change without notice. + * You should not attempt to programmatically parse this data. For + * programmatic access, use the error_code field below. + */ + debugString?: string; + /** + * Error codes that describe the result of the List operation. + */ + errorCode?: string[]; + /** + * From serving time, how much longer the response should be considered + * valid barring further updates. REQUIRED + */ + maxAge?: string; + /** + * A list of all the matching statements that have been found. + */ + statements?: Schema$Statement[]; + } + /** + * Describes a reliable statement that has been made about the relationship + * between a source asset and a target asset. Statements are always made by + * the source asset, either directly or by delegating to a statement list that + * is stored elsewhere. For more detailed definitions of statements and + * assets, please refer to our [API documentation landing + * page](/digital-asset-links/v1/getting-started). + */ + interface Schema$Statement { + /** + * The relation identifies the use of the statement as intended by the + * source asset's owner (that is, the person or entity who issued the + * statement). Every complete statement has a relation. We identify + * relations with strings of the format `<kind>/<detail>`, where + * `<kind>` must be one of a set of pre-defined purpose categories, + * and `<detail>` is a free-form lowercase alphanumeric string that + * describes the specific use case of the statement. Refer to [our API + * documentation](/digital-asset-links/v1/relation-strings) for the current + * list of supported relations. Example: + * `delegate_permission/common.handle_all_urls` REQUIRED + */ + relation?: string; + /** + * Every statement has a source asset. REQUIRED + */ + source?: Schema$Asset; + /** + * Every statement has a target asset. REQUIRED + */ + target?: Schema$Asset; + } + /** + * Describes a web asset. + */ + interface Schema$WebAsset { + /** + * Web assets are identified by a URL that contains only the scheme, + * hostname and port parts. The format is + * http[s]://<hostname>[:<port>] Hostnames must be fully + * qualified: they must end in a single period ("`.`"). Only the + * schemes "http" and "https" are currently allowed. + * Port numbers are given as a decimal number, and they must be omitted if + * the standard port numbers are used: 80 for http and 443 for https. We + * call this limited URL the "site". All URLs that share the same + * scheme, hostname and port are considered to be a part of the site and + * thus belong to the web asset. Example: the asset with the site + * `https://www.google.com` contains all these URLs: * + * `https://www.google.com/` * `https://www.google.com:443/` * + * `https://www.google.com/foo` * `https://www.google.com/foo?bar` * + * `https://www.google.com/foo#bar` * + * `https://user@password:www.google.com/` But it does not contain these + * URLs: * `http://www.google.com/` (wrong scheme) * + * `https://google.com/` (hostname does not match) * + * `https://www.google.com:444/` (port does not match) REQUIRED + */ + site?: string; + } + class Resource$Assetlinks { + root: Digitalassetlinks; + constructor(root: Digitalassetlinks); + getRoot(): Digitalassetlinks; + /** + * digitalassetlinks.assetlinks.check + * @desc Determines whether the specified (directional) relationship exists + * between the specified source and target assets. The relation describes + * the intent of the link between the two assets as claimed by the source + * asset. An example for such relationships is the delegation of privileges + * or permissions. This command is most often used by infrastructure + * systems to check preconditions for an action. For example, a client may + * want to know if it is OK to send a web URL to a particular mobile app + * instead. The client can check for the relevant asset link from the + * website to the mobile app to decide if the operation should be allowed. + * A note about security: if you specify a secure asset as the source, such + * as an HTTPS website or an Android app, the API will ensure that any + * statements used to generate the response have been made in a secure way + * by the owner of that asset. Conversely, if the source asset is an + * insecure HTTP website (that is, the URL starts with `http://` instead of + * `https://`), the API cannot verify its statements securely, and it is not + * possible to ensure that the website's statements have not been altered by + * a third party. For more information, see the [Digital Asset Links + * technical design + * specification](https://github.com/google/digitalassetlinks/blob/master/well-known/details.md). + * @alias digitalassetlinks.assetlinks.check + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.relation Query string for the relation. We identify relations with strings of the format `/`, where `` must be one of a set of pre-defined purpose categories, and `` is a free-form lowercase alphanumeric string that describes the specific use case of the statement. Refer to [our API documentation](/digital-asset-links/v1/relation-strings) for the current list of supported relations. For a query to match an asset link, both the query's and the asset link's relation strings must match exactly. Example: A query with relation `delegate_permission/common.handle_all_urls` matches an asset link with relation `delegate_permission/common.handle_all_urls`. + * @param {string=} params.source.androidApp.certificate.sha256Fingerprint The uppercase SHA-265 fingerprint of the certificate. From the PEM certificate, it can be acquired like this: $ keytool -printcert -file $CERTFILE | grep SHA256: SHA256: 14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83: \ 42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:44:E5 or like this: $ openssl x509 -in $CERTFILE -noout -fingerprint -sha256 SHA256 Fingerprint=14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64: \ 16:A0:83:42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:44:E5 In this example, the contents of this field would be `14:6D:E9:83:C5:73: 06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83:42:E6:1D:BE:A8:8A:04:96:B2:3F:CF: 44:E5`. If these tools are not available to you, you can convert the PEM certificate into the DER format, compute the SHA-256 hash of that string and represent the result as a hexstring (that is, uppercase hexadecimal representations of each octet, separated by colons). + * @param {string=} params.source.androidApp.packageName Android App assets are naturally identified by their Java package name. For example, the Google Maps app uses the package name `com.google.android.apps.maps`. REQUIRED + * @param {string=} params.source.web.site Web assets are identified by a URL that contains only the scheme, hostname and port parts. The format is http[s]://[:] Hostnames must be fully qualified: they must end in a single period ("`.`"). Only the schemes "http" and "https" are currently allowed. Port numbers are given as a decimal number, and they must be omitted if the standard port numbers are used: 80 for http and 443 for https. We call this limited URL the "site". All URLs that share the same scheme, hostname and port are considered to be a part of the site and thus belong to the web asset. Example: the asset with the site `https://www.google.com` contains all these URLs: * `https://www.google.com/` * `https://www.google.com:443/` * `https://www.google.com/foo` * `https://www.google.com/foo?bar` * `https://www.google.com/foo#bar` * `https://user@password:www.google.com/` But it does not contain these URLs: * `http://www.google.com/` (wrong scheme) * `https://google.com/` (hostname does not match) * `https://www.google.com:444/` (port does not match) REQUIRED + * @param {string=} params.target.androidApp.certificate.sha256Fingerprint The uppercase SHA-265 fingerprint of the certificate. From the PEM certificate, it can be acquired like this: $ keytool -printcert -file $CERTFILE | grep SHA256: SHA256: 14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83: \ 42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:44:E5 or like this: $ openssl x509 -in $CERTFILE -noout -fingerprint -sha256 SHA256 Fingerprint=14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64: \ 16:A0:83:42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:44:E5 In this example, the contents of this field would be `14:6D:E9:83:C5:73: 06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83:42:E6:1D:BE:A8:8A:04:96:B2:3F:CF: 44:E5`. If these tools are not available to you, you can convert the PEM certificate into the DER format, compute the SHA-256 hash of that string and represent the result as a hexstring (that is, uppercase hexadecimal representations of each octet, separated by colons). + * @param {string=} params.target.androidApp.packageName Android App assets are naturally identified by their Java package name. For example, the Google Maps app uses the package name `com.google.android.apps.maps`. REQUIRED + * @param {string=} params.target.web.site Web assets are identified by a URL that contains only the scheme, hostname and port parts. The format is http[s]://[:] Hostnames must be fully qualified: they must end in a single period ("`.`"). Only the schemes "http" and "https" are currently allowed. Port numbers are given as a decimal number, and they must be omitted if the standard port numbers are used: 80 for http and 443 for https. We call this limited URL the "site". All URLs that share the same scheme, hostname and port are considered to be a part of the site and thus belong to the web asset. Example: the asset with the site `https://www.google.com` contains all these URLs: * `https://www.google.com/` * `https://www.google.com:443/` * `https://www.google.com/foo` * `https://www.google.com/foo?bar` * `https://www.google.com/foo#bar` * `https://user@password:www.google.com/` But it does not contain these URLs: * `http://www.google.com/` (wrong scheme) * `https://google.com/` (hostname does not match) * `https://www.google.com:444/` (port does not match) REQUIRED + * @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 + */ + check(params?: Params$Resource$Assetlinks$Check, options?: MethodOptions): AxiosPromise; + check(params: Params$Resource$Assetlinks$Check, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + check(params: Params$Resource$Assetlinks$Check, callback: BodyResponseCallback): void; + check(callback: BodyResponseCallback): void; + } + interface Params$Resource$Assetlinks$Check { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Query string for the relation. We identify relations with strings of the + * format `/`, where `` must be one of a set of + * pre-defined purpose categories, and `` is a free-form lowercase + * alphanumeric string that describes the specific use case of the + * statement. Refer to [our API + * documentation](/digital-asset-links/v1/relation-strings) for the current + * list of supported relations. For a query to match an asset link, both + * the query's and the asset link's relation strings must match exactly. + * Example: A query with relation + * `delegate_permission/common.handle_all_urls` matches an asset link with + * relation `delegate_permission/common.handle_all_urls`. + */ + relation?: string; + /** + * The uppercase SHA-265 fingerprint of the certificate. From the PEM + * certificate, it can be acquired like this: $ keytool -printcert + * -file $CERTFILE | grep SHA256: SHA256: + * 14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83: \ + * 42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:44:E5 or like this: $ openssl x509 + * -in $CERTFILE -noout -fingerprint -sha256 SHA256 + * Fingerprint=14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64: \ + * 16:A0:83:42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:44:E5 In this example, the + * contents of this field would be `14:6D:E9:83:C5:73: + * 06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83:42:E6:1D:BE:A8:8A:04:96:B2:3F:CF: + * 44:E5`. If these tools are not available to you, you can convert the PEM + * certificate into the DER format, compute the SHA-256 hash of that string + * and represent the result as a hexstring (that is, uppercase hexadecimal + * representations of each octet, separated by colons). + */ + 'source.androidApp.certificate.sha256Fingerprint'?: string; + /** + * Android App assets are naturally identified by their Java package name. + * For example, the Google Maps app uses the package name + * `com.google.android.apps.maps`. REQUIRED + */ + 'source.androidApp.packageName'?: string; + /** + * Web assets are identified by a URL that contains only the scheme, + * hostname and port parts. The format is http[s]://[:] + * Hostnames must be fully qualified: they must end in a single period + * ("`.`"). Only the schemes "http" and "https" are currently allowed. Port + * numbers are given as a decimal number, and they must be omitted if the + * standard port numbers are used: 80 for http and 443 for https. We call + * this limited URL the "site". All URLs that share the same scheme, + * hostname and port are considered to be a part of the site and thus belong + * to the web asset. Example: the asset with the site + * `https://www.google.com` contains all these URLs: * + * `https://www.google.com/` * `https://www.google.com:443/` * + * `https://www.google.com/foo` * `https://www.google.com/foo?bar` * + * `https://www.google.com/foo#bar` * + * `https://user@password:www.google.com/` But it does not contain these + * URLs: * `http://www.google.com/` (wrong scheme) * + * `https://google.com/` (hostname does not match) * + * `https://www.google.com:444/` (port does not match) REQUIRED + */ + 'source.web.site'?: string; + /** + * The uppercase SHA-265 fingerprint of the certificate. From the PEM + * certificate, it can be acquired like this: $ keytool -printcert + * -file $CERTFILE | grep SHA256: SHA256: + * 14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83: \ + * 42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:44:E5 or like this: $ openssl x509 + * -in $CERTFILE -noout -fingerprint -sha256 SHA256 + * Fingerprint=14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64: \ + * 16:A0:83:42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:44:E5 In this example, the + * contents of this field would be `14:6D:E9:83:C5:73: + * 06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83:42:E6:1D:BE:A8:8A:04:96:B2:3F:CF: + * 44:E5`. If these tools are not available to you, you can convert the PEM + * certificate into the DER format, compute the SHA-256 hash of that string + * and represent the result as a hexstring (that is, uppercase hexadecimal + * representations of each octet, separated by colons). + */ + 'target.androidApp.certificate.sha256Fingerprint'?: string; + /** + * Android App assets are naturally identified by their Java package name. + * For example, the Google Maps app uses the package name + * `com.google.android.apps.maps`. REQUIRED + */ + 'target.androidApp.packageName'?: string; + /** + * Web assets are identified by a URL that contains only the scheme, + * hostname and port parts. The format is http[s]://[:] + * Hostnames must be fully qualified: they must end in a single period + * ("`.`"). Only the schemes "http" and "https" are currently allowed. Port + * numbers are given as a decimal number, and they must be omitted if the + * standard port numbers are used: 80 for http and 443 for https. We call + * this limited URL the "site". All URLs that share the same scheme, + * hostname and port are considered to be a part of the site and thus belong + * to the web asset. Example: the asset with the site + * `https://www.google.com` contains all these URLs: * + * `https://www.google.com/` * `https://www.google.com:443/` * + * `https://www.google.com/foo` * `https://www.google.com/foo?bar` * + * `https://www.google.com/foo#bar` * + * `https://user@password:www.google.com/` But it does not contain these + * URLs: * `http://www.google.com/` (wrong scheme) * + * `https://google.com/` (hostname does not match) * + * `https://www.google.com:444/` (port does not match) REQUIRED + */ + 'target.web.site'?: string; + } + class Resource$Statements { + root: Digitalassetlinks; + constructor(root: Digitalassetlinks); + getRoot(): Digitalassetlinks; + /** + * digitalassetlinks.statements.list + * @desc Retrieves a list of all statements from a given source that match + * the specified target and statement string. The API guarantees that all + * statements with secure source assets, such as HTTPS websites or Android + * apps, have been made in a secure way by the owner of those assets, as + * described in the [Digital Asset Links technical design + * specification](https://github.com/google/digitalassetlinks/blob/master/well-known/details.md). + * Specifically, you should consider that for insecure websites (that is, + * where the URL starts with `http://` instead of `https://`), this + * guarantee cannot be made. The `List` command is most useful in cases + * where the API client wants to know all the ways in which two assets are + * related, or enumerate all the relationships from a particular source + * asset. Example: a feature that helps users navigate to related items. + * When a mobile app is running on a device, the feature would make it easy + * to navigate to the corresponding web site or Google+ profile. + * @alias digitalassetlinks.statements.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.relation Use only associations that match the specified relation. See the [`Statement`](#Statement) message for a detailed definition of relation strings. For a query to match a statement, one of the following must be true: * both the query's and the statement's relation strings match exactly, or * the query's relation string is empty or missing. Example: A query with relation `delegate_permission/common.handle_all_urls` matches an asset link with relation `delegate_permission/common.handle_all_urls`. + * @param {string=} params.source.androidApp.certificate.sha256Fingerprint The uppercase SHA-265 fingerprint of the certificate. From the PEM certificate, it can be acquired like this: $ keytool -printcert -file $CERTFILE | grep SHA256: SHA256: 14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83: \ 42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:44:E5 or like this: $ openssl x509 -in $CERTFILE -noout -fingerprint -sha256 SHA256 Fingerprint=14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64: \ 16:A0:83:42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:44:E5 In this example, the contents of this field would be `14:6D:E9:83:C5:73: 06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83:42:E6:1D:BE:A8:8A:04:96:B2:3F:CF: 44:E5`. If these tools are not available to you, you can convert the PEM certificate into the DER format, compute the SHA-256 hash of that string and represent the result as a hexstring (that is, uppercase hexadecimal representations of each octet, separated by colons). + * @param {string=} params.source.androidApp.packageName Android App assets are naturally identified by their Java package name. For example, the Google Maps app uses the package name `com.google.android.apps.maps`. REQUIRED + * @param {string=} params.source.web.site Web assets are identified by a URL that contains only the scheme, hostname and port parts. The format is http[s]://[:] Hostnames must be fully qualified: they must end in a single period ("`.`"). Only the schemes "http" and "https" are currently allowed. Port numbers are given as a decimal number, and they must be omitted if the standard port numbers are used: 80 for http and 443 for https. We call this limited URL the "site". All URLs that share the same scheme, hostname and port are considered to be a part of the site and thus belong to the web asset. Example: the asset with the site `https://www.google.com` contains all these URLs: * `https://www.google.com/` * `https://www.google.com:443/` * `https://www.google.com/foo` * `https://www.google.com/foo?bar` * `https://www.google.com/foo#bar` * `https://user@password:www.google.com/` But it does not contain these URLs: * `http://www.google.com/` (wrong scheme) * `https://google.com/` (hostname does not match) * `https://www.google.com:444/` (port does not match) REQUIRED + * @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?: Params$Resource$Statements$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Statements$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Statements$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Statements$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Use only associations that match the specified relation. See the + * [`Statement`](#Statement) message for a detailed definition of relation + * strings. For a query to match a statement, one of the following must be + * true: * both the query's and the statement's relation strings match + * exactly, or * the query's relation string is empty or missing. + * Example: A query with relation + * `delegate_permission/common.handle_all_urls` matches an asset link with + * relation `delegate_permission/common.handle_all_urls`. + */ + relation?: string; + /** + * The uppercase SHA-265 fingerprint of the certificate. From the PEM + * certificate, it can be acquired like this: $ keytool -printcert + * -file $CERTFILE | grep SHA256: SHA256: + * 14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83: \ + * 42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:44:E5 or like this: $ openssl x509 + * -in $CERTFILE -noout -fingerprint -sha256 SHA256 + * Fingerprint=14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64: \ + * 16:A0:83:42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:44:E5 In this example, the + * contents of this field would be `14:6D:E9:83:C5:73: + * 06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83:42:E6:1D:BE:A8:8A:04:96:B2:3F:CF: + * 44:E5`. If these tools are not available to you, you can convert the PEM + * certificate into the DER format, compute the SHA-256 hash of that string + * and represent the result as a hexstring (that is, uppercase hexadecimal + * representations of each octet, separated by colons). + */ + 'source.androidApp.certificate.sha256Fingerprint'?: string; + /** + * Android App assets are naturally identified by their Java package name. + * For example, the Google Maps app uses the package name + * `com.google.android.apps.maps`. REQUIRED + */ + 'source.androidApp.packageName'?: string; + /** + * Web assets are identified by a URL that contains only the scheme, + * hostname and port parts. The format is http[s]://[:] + * Hostnames must be fully qualified: they must end in a single period + * ("`.`"). Only the schemes "http" and "https" are currently allowed. Port + * numbers are given as a decimal number, and they must be omitted if the + * standard port numbers are used: 80 for http and 443 for https. We call + * this limited URL the "site". All URLs that share the same scheme, + * hostname and port are considered to be a part of the site and thus belong + * to the web asset. Example: the asset with the site + * `https://www.google.com` contains all these URLs: * + * `https://www.google.com/` * `https://www.google.com:443/` * + * `https://www.google.com/foo` * `https://www.google.com/foo?bar` * + * `https://www.google.com/foo#bar` * + * `https://user@password:www.google.com/` But it does not contain these + * URLs: * `http://www.google.com/` (wrong scheme) * + * `https://google.com/` (hostname does not match) * + * `https://www.google.com:444/` (port does not match) REQUIRED + */ + 'source.web.site'?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/digitalassetlinks/v1.js b/express-server/node_modules/googleapis/build/src/apis/digitalassetlinks/v1.js new file mode 100644 index 00000000..290c0eb0 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/digitalassetlinks/v1.js @@ -0,0 +1,139 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var digitalassetlinks_v1; +(function (digitalassetlinks_v1) { + /** + * Digital Asset Links API + * + * API for discovering relationships between online assets such as web sites + * or mobile apps. + * + * @example + * const {google} = require('googleapis'); + * const digitalassetlinks = google.digitalassetlinks('v1'); + * + * @namespace digitalassetlinks + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Digitalassetlinks + */ + class Digitalassetlinks { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.assetlinks = new Resource$Assetlinks(this); + this.statements = new Resource$Statements(this); + } + getRoot() { + return this.root; + } + } + digitalassetlinks_v1.Digitalassetlinks = Digitalassetlinks; + class Resource$Assetlinks { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + check(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://digitalassetlinks.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/assetlinks:check') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + digitalassetlinks_v1.Resource$Assetlinks = Resource$Assetlinks; + class Resource$Statements { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://digitalassetlinks.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/statements:list') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + digitalassetlinks_v1.Resource$Statements = Resource$Statements; +})(digitalassetlinks_v1 = exports.digitalassetlinks_v1 || (exports.digitalassetlinks_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/digitalassetlinks/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/digitalassetlinks/v1.js.map new file mode 100644 index 00000000..66c42c84 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/digitalassetlinks/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/digitalassetlinks/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/discovery/README.md b/express-server/node_modules/googleapis/build/src/apis/discovery/README.md new file mode 100644 index 00000000..bf5c6e61 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/discovery/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/discovery + +> Provides information about other Google APIs, such as what APIs are available, the resource, and method details for each API. + +## Installation + +```sh +$ npm install @google/discovery +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/discovery/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/discovery/index.d.ts new file mode 100644 index 00000000..ce2096d6 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/discovery/index.d.ts @@ -0,0 +1,6 @@ +import { discovery_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof discovery_v1.Discovery; +}; +export declare function discovery(version: 'v1'): discovery_v1.Discovery; +export declare function discovery(options: discovery_v1.Options): discovery_v1.Discovery; diff --git a/express-server/node_modules/googleapis/build/src/apis/discovery/index.js b/express-server/node_modules/googleapis/build/src/apis/discovery/index.js new file mode 100644 index 00000000..0aa8740d --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/discovery/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.discovery_v1.Discovery, +}; +function discovery(versionOrOptions) { + return googleapis_common_1.getAPI('discovery', versionOrOptions, exports.VERSIONS, this); +} +exports.discovery = discovery; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/discovery/index.js.map b/express-server/node_modules/googleapis/build/src/apis/discovery/index.js.map new file mode 100644 index 00000000..c78476ea --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/discovery/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/discovery/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAkC;AAErB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,iBAAY,CAAC,SAAS;CAC7B,CAAC;AAKF,SAAgB,SAAS,CACK,gBAA2C;IACvE,OAAO,0BAAM,CAAI,WAAW,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAClE,CAAC;AAHD,8BAGC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/discovery/package.json b/express-server/node_modules/googleapis/build/src/apis/discovery/package.json new file mode 100644 index 00000000..965658f0 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/discovery/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/discovery", + "version": "0.1.0", + "description": "discovery", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/discovery/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/discovery/v1.d.ts new file mode 100644 index 00000000..a08f8d31 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/discovery/v1.d.ts @@ -0,0 +1,425 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace discovery_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * 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 + */ + class Discovery { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + apis: Resource$Apis; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + 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; + } + 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; + } + 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; + } + 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; + } + interface Schema$RestResource { + /** + * Methods on this resource. + */ + methods?: any; + /** + * Sub-resources on this resource. + */ + resources?: any; + } + 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?: Params$Resource$Apis$Getrest, options?: MethodOptions): AxiosPromise; + getRest(params: Params$Resource$Apis$Getrest, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getRest(params: Params$Resource$Apis$Getrest, callback: BodyResponseCallback): void; + getRest(callback: BodyResponseCallback): 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?: Params$Resource$Apis$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Apis$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Apis$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Apis$Getrest { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the API. + */ + api?: string; + /** + * The version of the API. + */ + version?: string; + } + interface Params$Resource$Apis$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Only include APIs with the given name. + */ + name?: string; + /** + * Return only the preferred version of an API. + */ + preferred?: boolean; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/discovery/v1.js b/express-server/node_modules/googleapis/build/src/apis/discovery/v1.js new file mode 100644 index 00000000..17974a0e --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/discovery/v1.js @@ -0,0 +1,128 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var discovery_v1; +(function (discovery_v1) { + /** + * 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 + */ + class Discovery { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.apis = new Resource$Apis(this); + } + getRoot() { + return this.root; + } + } + discovery_v1.Discovery = Discovery; + class Resource$Apis { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + getRest(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/discovery/v1/apis/{api}/{version}/rest') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['api', 'version'], + pathParams: ['api', 'version'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/discovery/v1/apis') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + discovery_v1.Resource$Apis = Resource$Apis; +})(discovery_v1 = exports.discovery_v1 || (exports.discovery_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/discovery/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/discovery/v1.js.map new file mode 100644 index 00000000..a0dd9702 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/discovery/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/discovery/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/dlp/README.md b/express-server/node_modules/googleapis/build/src/apis/dlp/README.md new file mode 100644 index 00000000..a50da2c9 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dlp/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/dlp + +> Provides methods for detection, risk analysis, and de-identification of privacy-sensitive fragments in text, images, and Google Cloud Platform storage repositories. + +## Installation + +```sh +$ npm install @google/dlp +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/dlp/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/dlp/index.d.ts new file mode 100644 index 00000000..0e178687 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dlp/index.d.ts @@ -0,0 +1,6 @@ +import { dlp_v2 } from './v2'; +export declare const VERSIONS: { + 'v2': typeof dlp_v2.Dlp; +}; +export declare function dlp(version: 'v2'): dlp_v2.Dlp; +export declare function dlp(options: dlp_v2.Options): dlp_v2.Dlp; diff --git a/express-server/node_modules/googleapis/build/src/apis/dlp/index.js b/express-server/node_modules/googleapis/build/src/apis/dlp/index.js new file mode 100644 index 00000000..f12b4325 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dlp/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v2_1 = require("./v2"); +exports.VERSIONS = { + 'v2': v2_1.dlp_v2.Dlp, +}; +function dlp(versionOrOptions) { + return googleapis_common_1.getAPI('dlp', versionOrOptions, exports.VERSIONS, this); +} +exports.dlp = dlp; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/dlp/index.js.map b/express-server/node_modules/googleapis/build/src/apis/dlp/index.js.map new file mode 100644 index 00000000..ca920d63 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dlp/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/dlp/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAA4B;AAEf,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,WAAM,CAAC,GAAG;CACjB,CAAC;AAIF,SAAgB,GAAG,CACW,gBAAqC;IACjE,OAAO,0BAAM,CAAI,KAAK,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAC5D,CAAC;AAHD,kBAGC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/dlp/package.json b/express-server/node_modules/googleapis/build/src/apis/dlp/package.json new file mode 100644 index 00000000..cb581c6e --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dlp/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/dlp", + "version": "0.1.0", + "description": "dlp", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/dlp/v2.d.ts b/express-server/node_modules/googleapis/build/src/apis/dlp/v2.d.ts new file mode 100644 index 00000000..68e204b1 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dlp/v2.d.ts @@ -0,0 +1,4791 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace dlp_v2 { + interface Options extends GlobalOptions { + version: 'v2'; + } + /** + * Cloud Data Loss Prevention (DLP) API + * + * Provides methods for detection, risk analysis, and de-identification of + * privacy-sensitive fragments in text, images, and Google Cloud Platform + * storage repositories. + * + * @example + * const {google} = require('googleapis'); + * const dlp = google.dlp('v2'); + * + * @namespace dlp + * @type {Function} + * @version v2 + * @variation v2 + * @param {object=} options Options for Dlp + */ + class Dlp { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + infoTypes: Resource$Infotypes; + organizations: Resource$Organizations; + projects: Resource$Projects; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * A task to execute on the completion of a job. See + * https://cloud.google.com/dlp/docs/concepts-actions to learn more. + */ + interface Schema$GooglePrivacyDlpV2Action { + /** + * Publish summary to Cloud Security Command Center (Alpha). + */ + publishSummaryToCscc?: Schema$GooglePrivacyDlpV2PublishSummaryToCscc; + /** + * Publish a notification to a pubsub topic. + */ + pubSub?: Schema$GooglePrivacyDlpV2PublishToPubSub; + /** + * Save resulting findings in a provided location. + */ + saveFindings?: Schema$GooglePrivacyDlpV2SaveFindings; + } + /** + * Result of a risk analysis operation request. + */ + interface Schema$GooglePrivacyDlpV2AnalyzeDataSourceRiskDetails { + categoricalStatsResult?: Schema$GooglePrivacyDlpV2CategoricalStatsResult; + deltaPresenceEstimationResult?: Schema$GooglePrivacyDlpV2DeltaPresenceEstimationResult; + kAnonymityResult?: Schema$GooglePrivacyDlpV2KAnonymityResult; + kMapEstimationResult?: Schema$GooglePrivacyDlpV2KMapEstimationResult; + lDiversityResult?: Schema$GooglePrivacyDlpV2LDiversityResult; + numericalStatsResult?: Schema$GooglePrivacyDlpV2NumericalStatsResult; + /** + * Privacy metric to compute. + */ + requestedPrivacyMetric?: Schema$GooglePrivacyDlpV2PrivacyMetric; + /** + * Input dataset to compute metrics over. + */ + requestedSourceTable?: Schema$GooglePrivacyDlpV2BigQueryTable; + } + /** + * An auxiliary table contains statistical information on the relative + * frequency of different quasi-identifiers values. It has one or several + * quasi-identifiers columns, and one column that indicates the relative + * frequency of each quasi-identifier tuple. If a tuple is present in the data + * but not in the auxiliary table, the corresponding relative frequency is + * assumed to be zero (and thus, the tuple is highly reidentifiable). + */ + interface Schema$GooglePrivacyDlpV2AuxiliaryTable { + /** + * Quasi-identifier columns. [required] + */ + quasiIds?: Schema$GooglePrivacyDlpV2QuasiIdField[]; + /** + * The relative frequency column must contain a floating-point number + * between 0 and 1 (inclusive). Null values are assumed to be zero. + * [required] + */ + relativeFrequency?: Schema$GooglePrivacyDlpV2FieldId; + /** + * Auxiliary table location. [required] + */ + table?: Schema$GooglePrivacyDlpV2BigQueryTable; + } + /** + * Message defining a field of a BigQuery table. + */ + interface Schema$GooglePrivacyDlpV2BigQueryField { + /** + * Designated field in the BigQuery table. + */ + field?: Schema$GooglePrivacyDlpV2FieldId; + /** + * Source table of the field. + */ + table?: Schema$GooglePrivacyDlpV2BigQueryTable; + } + /** + * Row key for identifying a record in BigQuery table. + */ + interface Schema$GooglePrivacyDlpV2BigQueryKey { + /** + * Absolute number of the row from the beginning of the table at the time of + * scanning. + */ + rowNumber?: string; + /** + * Complete BigQuery table reference. + */ + tableReference?: Schema$GooglePrivacyDlpV2BigQueryTable; + } + /** + * Options defining BigQuery table and row identifiers. + */ + interface Schema$GooglePrivacyDlpV2BigQueryOptions { + /** + * References to fields uniquely identifying rows within the table. Nested + * fields in the format, like `person.birthdate.year`, are allowed. + */ + identifyingFields?: Schema$GooglePrivacyDlpV2FieldId[]; + /** + * Max number of rows to scan. If the table has more rows than this value, + * the rest of the rows are omitted. If not set, or if set to 0, all rows + * will be scanned. Only one of rows_limit and rows_limit_percent can be + * specified. Cannot be used in conjunction with TimespanConfig. + */ + rowsLimit?: string; + /** + * Max percentage of rows to scan. The rest are omitted. The number of rows + * scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 + * and 100 means no limit. Defaults to 0. Only one of rows_limit and + * rows_limit_percent can be specified. Cannot be used in conjunction with + * TimespanConfig. + */ + rowsLimitPercent?: number; + sampleMethod?: string; + /** + * Complete BigQuery table reference. + */ + tableReference?: Schema$GooglePrivacyDlpV2BigQueryTable; + } + /** + * Message defining the location of a BigQuery table. A table is uniquely + * identified by its project_id, dataset_id, and table_name. Within a query a + * table is often referenced with a string in the format of: + * `<project_id>:<dataset_id>.<table_id>` or + * `<project_id>.<dataset_id>.<table_id>`. + */ + interface Schema$GooglePrivacyDlpV2BigQueryTable { + /** + * Dataset ID of the table. + */ + datasetId?: string; + /** + * The Google Cloud Platform project ID of the project containing the table. + * If omitted, project ID is inferred from the API call. + */ + projectId?: string; + /** + * Name of the table. + */ + tableId?: string; + } + /** + * Bounding box encompassing detected text within an image. + */ + interface Schema$GooglePrivacyDlpV2BoundingBox { + /** + * Height of the bounding box in pixels. + */ + height?: number; + /** + * Left coordinate of the bounding box. (0,0) is upper left. + */ + left?: number; + /** + * Top coordinate of the bounding box. (0,0) is upper left. + */ + top?: number; + /** + * Width of the bounding box in pixels. + */ + width?: number; + } + /** + * Bucket is represented as a range, along with replacement values. + */ + interface Schema$GooglePrivacyDlpV2Bucket { + /** + * Upper bound of the range, exclusive; type must match min. + */ + max?: Schema$GooglePrivacyDlpV2Value; + /** + * Lower bound of the range, inclusive. Type should be the same as max if + * used. + */ + min?: Schema$GooglePrivacyDlpV2Value; + /** + * Replacement value for this bucket. If not provided the default behavior + * will be to hyphenate the min-max range. + */ + replacementValue?: Schema$GooglePrivacyDlpV2Value; + } + /** + * Generalization function that buckets values based on ranges. The ranges and + * replacement values are dynamically provided by the user for custom + * behavior, such as 1-30 -> LOW 31-65 -> MEDIUM 66-100 -> HIGH This + * can be used on data of type: number, long, string, timestamp. If the bound + * `Value` type differs from the type of data being transformed, we will first + * attempt converting the type of the data to be transformed to match the type + * of the bound before comparing. See + * https://cloud.google.com/dlp/docs/concepts-bucketing to learn more. + */ + interface Schema$GooglePrivacyDlpV2BucketingConfig { + /** + * Set of buckets. Ranges must be non-overlapping. + */ + buckets?: Schema$GooglePrivacyDlpV2Bucket[]; + } + /** + * Container for bytes to inspect or redact. + */ + interface Schema$GooglePrivacyDlpV2ByteContentItem { + /** + * Content data to inspect or redact. + */ + data?: string; + /** + * The type of data stored in the bytes string. Default will be TEXT_UTF8. + */ + type?: string; + } + /** + * The request message for canceling a DLP job. + */ + interface Schema$GooglePrivacyDlpV2CancelDlpJobRequest { + } + /** + * Compute numerical stats over an individual column, including number of + * distinct values and value count distribution. + */ + interface Schema$GooglePrivacyDlpV2CategoricalStatsConfig { + /** + * Field to compute categorical stats on. All column types are supported + * except for arrays and structs. However, it may be more informative to use + * NumericalStats when the field type is supported, depending on the data. + */ + field?: Schema$GooglePrivacyDlpV2FieldId; + } + interface Schema$GooglePrivacyDlpV2CategoricalStatsHistogramBucket { + /** + * Total number of values in this bucket. + */ + bucketSize?: string; + /** + * Total number of distinct values in this bucket. + */ + bucketValueCount?: string; + /** + * Sample of value frequencies in this bucket. The total number of values + * returned per bucket is capped at 20. + */ + bucketValues?: Schema$GooglePrivacyDlpV2ValueFrequency[]; + /** + * Lower bound on the value frequency of the values in this bucket. + */ + valueFrequencyLowerBound?: string; + /** + * Upper bound on the value frequency of the values in this bucket. + */ + valueFrequencyUpperBound?: string; + } + /** + * Result of the categorical stats computation. + */ + interface Schema$GooglePrivacyDlpV2CategoricalStatsResult { + /** + * Histogram of value frequencies in the column. + */ + valueFrequencyHistogramBuckets?: Schema$GooglePrivacyDlpV2CategoricalStatsHistogramBucket[]; + } + /** + * Partially mask a string by replacing a given number of characters with a + * fixed character. Masking can start from the beginning or end of the string. + * This can be used on data of any type (numbers, longs, and so on) and when + * de-identifying structured data we'll attempt to preserve the original + * data's type. (This allows you to take a long like 123 and modify it to + * a string like **3. + */ + interface Schema$GooglePrivacyDlpV2CharacterMaskConfig { + /** + * When masking a string, items in this list will be skipped when replacing. + * For example, if your string is 555-555-5555 and you ask us to skip `-` + * and mask 5 chars with * we would produce ***-*55-5555. + */ + charactersToIgnore?: Schema$GooglePrivacyDlpV2CharsToIgnore[]; + /** + * Character to mask the sensitive values&mdash;for example, + * "*" for an alphabetic string such as name, or "0" for + * a numeric string such as ZIP code or credit card number. String must have + * length 1. If not supplied, we will default to "*" for strings, + * 0 for digits. + */ + maskingCharacter?: string; + /** + * Number of characters to mask. If not set, all matching chars will be + * masked. Skipped characters do not count towards this tally. + */ + numberToMask?: number; + /** + * Mask characters in reverse order. For example, if `masking_character` is + * '0', number_to_mask is 14, and `reverse_order` is false, then + * 1234-5678-9012-3456 -> 00000000000000-3456 If `masking_character` is + * '*', `number_to_mask` is 3, and `reverse_order` is true, then + * 12345 -> 12*** + */ + reverseOrder?: boolean; + } + /** + * Characters to skip when doing deidentification of a value. These will be + * left alone and skipped. + */ + interface Schema$GooglePrivacyDlpV2CharsToIgnore { + charactersToSkip?: string; + commonCharactersToIgnore?: string; + } + /** + * Message representing a set of files in Cloud Storage. + */ + interface Schema$GooglePrivacyDlpV2CloudStorageFileSet { + /** + * The url, in the format `gs://<bucket>/<path>`. Trailing + * wildcard in the path is allowed. + */ + url?: string; + } + /** + * Options defining a file or a set of files within a Google Cloud Storage + * bucket. + */ + interface Schema$GooglePrivacyDlpV2CloudStorageOptions { + /** + * Max number of bytes to scan from a file. If a scanned file's size is + * bigger than this value then the rest of the bytes are omitted. Only one + * of bytes_limit_per_file and bytes_limit_per_file_percent can be + * specified. + */ + bytesLimitPerFile?: string; + /** + * Max percentage of bytes to scan from a file. The rest are omitted. The + * number of bytes scanned is rounded down. Must be between 0 and 100, + * inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of + * bytes_limit_per_file and bytes_limit_per_file_percent can be specified. + */ + bytesLimitPerFilePercent?: number; + /** + * The set of one or more files to scan. + */ + fileSet?: Schema$GooglePrivacyDlpV2FileSet; + /** + * Limits the number of files to scan to this percentage of the input + * FileSet. Number of files scanned is rounded down. Must be between 0 and + * 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. + */ + filesLimitPercent?: number; + /** + * List of file type groups to include in the scan. If empty, all files are + * scanned and available data format processors are applied. + */ + fileTypes?: string[]; + sampleMethod?: string; + } + /** + * Message representing a single file or path in Cloud Storage. + */ + interface Schema$GooglePrivacyDlpV2CloudStoragePath { + /** + * A url representing a file or path (no wildcards) in Cloud Storage. + * Example: gs://[BUCKET_NAME]/dictionary.txt + */ + path?: string; + } + /** + * Represents a color in the RGB color space. + */ + interface Schema$GooglePrivacyDlpV2Color { + /** + * The amount of blue in the color as a value in the interval [0, 1]. + */ + blue?: number; + /** + * The amount of green in the color as a value in the interval [0, 1]. + */ + green?: number; + /** + * The amount of red in the color as a value in the interval [0, 1]. + */ + red?: number; + } + /** + * The field type of `value` and `field` do not need to match to be considered + * equal, but not all comparisons are possible. A `value` of type: - + * `string` can be compared against all other types - `boolean` can only be + * compared against other booleans - `integer` can be compared against doubles + * or a string if the string value can be parsed as an integer. - `double` can + * be compared against integers or a string if the string can be parsed as a + * double. - `Timestamp` can be compared against strings in RFC 3339 date + * string format. - `TimeOfDay` can be compared against timestamps and strings + * in the format of 'HH:mm:ss'. If we fail to compare do to type + * mismatch, a warning will be given and the condition will evaluate to false. + */ + interface Schema$GooglePrivacyDlpV2Condition { + /** + * Field within the record this condition is evaluated against. [required] + */ + field?: Schema$GooglePrivacyDlpV2FieldId; + /** + * Operator used to compare the field or infoType to the value. [required] + */ + operator?: string; + /** + * Value to compare against. [Required, except for `EXISTS` tests.] + */ + value?: Schema$GooglePrivacyDlpV2Value; + } + /** + * A collection of conditions. + */ + interface Schema$GooglePrivacyDlpV2Conditions { + conditions?: Schema$GooglePrivacyDlpV2Condition[]; + } + /** + * Container structure for the content to inspect. + */ + interface Schema$GooglePrivacyDlpV2ContentItem { + /** + * Content data to inspect or redact. Replaces `type` and `data`. + */ + byteItem?: Schema$GooglePrivacyDlpV2ByteContentItem; + /** + * Structured content for inspection. See + * https://cloud.google.com/dlp/docs/inspecting-text#inspecting_a_table to + * learn more. + */ + table?: Schema$GooglePrivacyDlpV2Table; + /** + * String data to inspect or redact. + */ + value?: string; + } + /** + * Findings container location data. + */ + interface Schema$GooglePrivacyDlpV2ContentLocation { + /** + * Name of the container where the finding is located. The top level name is + * the source file name or table name. Nested names could be absent if the + * embedded object has no string identifier (for an example an image + * contained within a document). + */ + containerName?: string; + /** + * Findings container modification timestamp, if applicable. For Google + * Cloud Storage contains last file modification timestamp. For BigQuery + * table contains last_modified_time property. For Datastore - not + * populated. + */ + containerTimestamp?: string; + /** + * Findings container version, if available ("generation" for + * Google Cloud Storage). + */ + containerVersion?: string; + /** + * Location data for document files. + */ + documentLocation?: Schema$GooglePrivacyDlpV2DocumentLocation; + /** + * Location within an image's pixels. + */ + imageLocation?: Schema$GooglePrivacyDlpV2ImageLocation; + /** + * Location within a row or record of a database table. + */ + recordLocation?: Schema$GooglePrivacyDlpV2RecordLocation; + } + /** + * Request message for CreateDeidentifyTemplate. + */ + interface Schema$GooglePrivacyDlpV2CreateDeidentifyTemplateRequest { + /** + * The DeidentifyTemplate to create. + */ + deidentifyTemplate?: Schema$GooglePrivacyDlpV2DeidentifyTemplate; + /** + * The template id can contain uppercase and lowercase letters, numbers, and + * hyphens; that is, it must match the regular expression: `[a-zA-Z\\d-]+`. + * The maximum length is 100 characters. Can be empty to allow the system to + * generate one. + */ + templateId?: string; + } + /** + * Request message for CreateDlpJobRequest. Used to initiate long running jobs + * such as calculating risk metrics or inspecting Google Cloud Storage. + */ + interface Schema$GooglePrivacyDlpV2CreateDlpJobRequest { + inspectJob?: Schema$GooglePrivacyDlpV2InspectJobConfig; + /** + * The job id can contain uppercase and lowercase letters, numbers, and + * hyphens; that is, it must match the regular expression: `[a-zA-Z\\d-]+`. + * The maximum length is 100 characters. Can be empty to allow the system to + * generate one. + */ + jobId?: string; + riskJob?: Schema$GooglePrivacyDlpV2RiskAnalysisJobConfig; + } + /** + * Request message for CreateInspectTemplate. + */ + interface Schema$GooglePrivacyDlpV2CreateInspectTemplateRequest { + /** + * The InspectTemplate to create. + */ + inspectTemplate?: Schema$GooglePrivacyDlpV2InspectTemplate; + /** + * The template id can contain uppercase and lowercase letters, numbers, and + * hyphens; that is, it must match the regular expression: `[a-zA-Z\\d-]+`. + * The maximum length is 100 characters. Can be empty to allow the system to + * generate one. + */ + templateId?: string; + } + /** + * Request message for CreateJobTrigger. + */ + interface Schema$GooglePrivacyDlpV2CreateJobTriggerRequest { + /** + * The JobTrigger to create. + */ + jobTrigger?: Schema$GooglePrivacyDlpV2JobTrigger; + /** + * The trigger id can contain uppercase and lowercase letters, numbers, and + * hyphens; that is, it must match the regular expression: `[a-zA-Z\\d-]+`. + * The maximum length is 100 characters. Can be empty to allow the system to + * generate one. + */ + triggerId?: string; + } + /** + * Request message for CreateStoredInfoType. + */ + interface Schema$GooglePrivacyDlpV2CreateStoredInfoTypeRequest { + /** + * Configuration of the storedInfoType to create. + */ + config?: Schema$GooglePrivacyDlpV2StoredInfoTypeConfig; + /** + * The storedInfoType ID can contain uppercase and lowercase letters, + * numbers, and hyphens; that is, it must match the regular expression: + * `[a-zA-Z\\d-]+`. The maximum length is 100 characters. Can be empty to + * allow the system to generate one. + */ + storedInfoTypeId?: string; + } + /** + * Pseudonymization method that generates surrogates via cryptographic + * hashing. Uses SHA-256. The key size must be either 32 or 64 bytes. Outputs + * a 32 byte digest as an uppercase hex string (for example, + * 41D1567F7F99F1DC2A5FAB886DEE5BEE). Currently, only string and integer + * values can be hashed. + */ + interface Schema$GooglePrivacyDlpV2CryptoHashConfig { + /** + * The key used by the hash function. + */ + cryptoKey?: Schema$GooglePrivacyDlpV2CryptoKey; + } + /** + * This is a data encryption key (DEK) (as opposed to a key encryption key + * (KEK) stored by KMS). When using KMS to wrap/unwrap DEKs, be sure to set an + * appropriate IAM policy on the KMS CryptoKey (KEK) to ensure an attacker + * cannot unwrap the data crypto key. + */ + interface Schema$GooglePrivacyDlpV2CryptoKey { + kmsWrapped?: Schema$GooglePrivacyDlpV2KmsWrappedCryptoKey; + transient?: Schema$GooglePrivacyDlpV2TransientCryptoKey; + unwrapped?: Schema$GooglePrivacyDlpV2UnwrappedCryptoKey; + } + /** + * Replaces an identifier with a surrogate using FPE with the FFX mode of + * operation; however when used in the `ReidentifyContent` API method, it + * serves the opposite function by reversing the surrogate back into the + * original identifier. The identifier must be encoded as ASCII. For a given + * crypto key and context, the same identifier will be replaced with the same + * surrogate. Identifiers must be at least two characters long. In the case + * that the identifier is the empty string, it will be skipped. See + * https://cloud.google.com/dlp/docs/pseudonymization to learn more. + */ + interface Schema$GooglePrivacyDlpV2CryptoReplaceFfxFpeConfig { + commonAlphabet?: string; + /** + * The 'tweak', a context may be used for higher security since the + * same identifier in two different contexts won't be given the same + * surrogate. If the context is not set, a default tweak will be used. If + * the context is set but: 1. there is no record present when transforming + * a given value or 1. the field is not present when transforming a given + * value, a default tweak will be used. Note that case (1) is expected + * when an `InfoTypeTransformation` is applied to both structured and + * non-structured `ContentItem`s. Currently, the referenced field may be of + * value type integer or string. The tweak is constructed as a sequence of + * bytes in big endian byte order such that: - a 64 bit integer is encoded + * followed by a single byte of value 1 - a string is encoded in UTF-8 + * format followed by a single byte of value 2 + */ + context?: Schema$GooglePrivacyDlpV2FieldId; + /** + * The key used by the encryption algorithm. [required] + */ + cryptoKey?: Schema$GooglePrivacyDlpV2CryptoKey; + /** + * This is supported by mapping these to the alphanumeric characters that + * the FFX mode natively supports. This happens before/after + * encryption/decryption. Each character listed must appear only once. + * Number of characters must be in the range [2, 62]. This must be encoded + * as ASCII. The order of characters does not matter. + */ + customAlphabet?: string; + /** + * The native way to select the alphabet. Must be in the range [2, 62]. + */ + radix?: number; + /** + * The custom infoType to annotate the surrogate with. This annotation will + * be applied to the surrogate by prefixing it with the name of the custom + * infoType followed by the number of characters comprising the surrogate. + * The following scheme defines the format: + * info_type_name(surrogate_character_count):surrogate For example, if the + * name of custom infoType is 'MY_TOKEN_INFO_TYPE' and the surrogate + * is 'abc', the full replacement value will be: + * 'MY_TOKEN_INFO_TYPE(3):abc' This annotation identifies the + * surrogate when inspecting content using the custom infoType + * [`SurrogateType`](/dlp/docs/reference/rest/v2/InspectConfig#surrogatetype). + * This facilitates reversal of the surrogate when it occurs in free text. + * In order for inspection to work properly, the name of this infoType must + * not occur naturally anywhere in your data; otherwise, inspection may find + * a surrogate that does not correspond to an actual identifier. Therefore, + * choose your custom infoType name carefully after considering what your + * data looks like. One way to select a name that has a high chance of + * yielding reliable detection is to include one or more unicode characters + * that are highly improbable to exist in your data. For example, assuming + * your data is entered from a regular ASCII keyboard, the symbol with the + * hex code point 29DD might be used like so: ⧝MY_TOKEN_TYPE + */ + surrogateInfoType?: Schema$GooglePrivacyDlpV2InfoType; + } + /** + * Custom information type provided by the user. Used to find domain-specific + * sensitive information configurable to the data in question. + */ + interface Schema$GooglePrivacyDlpV2CustomInfoType { + /** + * Set of detection rules to apply to all findings of this CustomInfoType. + * Rules are applied in order that they are specified. Not supported for the + * `surrogate_type` CustomInfoType. + */ + detectionRules?: Schema$GooglePrivacyDlpV2DetectionRule[]; + /** + * A list of phrases to detect as a CustomInfoType. + */ + dictionary?: Schema$GooglePrivacyDlpV2Dictionary; + exclusionType?: string; + /** + * CustomInfoType can either be a new infoType, or an extension of built-in + * infoType, when the name matches one of existing infoTypes and that + * infoType is specified in `InspectContent.info_types` field. Specifying + * the latter adds findings to the one detected by the system. If built-in + * info type is not specified in `InspectContent.info_types` list then the + * name is treated as a custom info type. + */ + infoType?: Schema$GooglePrivacyDlpV2InfoType; + /** + * Likelihood to return for this CustomInfoType. This base value can be + * altered by a detection rule if the finding meets the criteria specified + * by the rule. Defaults to `VERY_LIKELY` if not specified. + */ + likelihood?: string; + /** + * Regular expression based CustomInfoType. + */ + regex?: Schema$GooglePrivacyDlpV2Regex; + /** + * Load an existing `StoredInfoType` resource for use in + * `InspectDataSource`. Not currently supported in `InspectContent`. + */ + storedType?: Schema$GooglePrivacyDlpV2StoredType; + /** + * Message for detecting output from deidentification transformations that + * support reversing. + */ + surrogateType?: Schema$GooglePrivacyDlpV2SurrogateType; + } + /** + * Record key for a finding in Cloud Datastore. + */ + interface Schema$GooglePrivacyDlpV2DatastoreKey { + /** + * Datastore entity key. + */ + entityKey?: Schema$GooglePrivacyDlpV2Key; + } + /** + * Options defining a data set within Google Cloud Datastore. + */ + interface Schema$GooglePrivacyDlpV2DatastoreOptions { + /** + * The kind to process. + */ + kind?: Schema$GooglePrivacyDlpV2KindExpression; + /** + * A partition ID identifies a grouping of entities. The grouping is always + * by project and namespace, however the namespace ID may be empty. + */ + partitionId?: Schema$GooglePrivacyDlpV2PartitionId; + } + /** + * Shifts dates by random number of days, with option to be consistent for the + * same context. See https://cloud.google.com/dlp/docs/concepts-date-shifting + * to learn more. + */ + interface Schema$GooglePrivacyDlpV2DateShiftConfig { + /** + * Points to the field that contains the context, for example, an entity id. + * If set, must also set method. If set, shift will be consistent for the + * given context. + */ + context?: Schema$GooglePrivacyDlpV2FieldId; + /** + * Causes the shift to be computed based on this key and the context. This + * results in the same shift for the same context and crypto_key. + */ + cryptoKey?: Schema$GooglePrivacyDlpV2CryptoKey; + /** + * For example, -5 means shift date to at most 5 days back in the past. + * [Required] + */ + lowerBoundDays?: number; + /** + * Range of shift in days. Actual shift will be selected at random within + * this range (inclusive ends). Negative means shift to earlier in time. + * Must not be more than 365250 days (1000 years) each direction. For + * example, 3 means shift date to at most 3 days into the future. [Required] + */ + upperBoundDays?: number; + } + /** + * Message for a date time object. + */ + interface Schema$GooglePrivacyDlpV2DateTime { + /** + * One or more of the following must be set. All fields are optional, but + * when set must be valid date or time values. + */ + date?: Schema$GoogleTypeDate; + dayOfWeek?: string; + time?: Schema$GoogleTypeTimeOfDay; + timeZone?: Schema$GooglePrivacyDlpV2TimeZone; + } + /** + * The configuration that controls how the data will change. + */ + interface Schema$GooglePrivacyDlpV2DeidentifyConfig { + /** + * Treat the dataset as free-form text and apply the same free text + * transformation everywhere. + */ + infoTypeTransformations?: Schema$GooglePrivacyDlpV2InfoTypeTransformations; + /** + * Treat the dataset as structured. Transformations can be applied to + * specific locations within structured datasets, such as transforming a + * column within a table. + */ + recordTransformations?: Schema$GooglePrivacyDlpV2RecordTransformations; + } + /** + * Request to de-identify a list of items. + */ + interface Schema$GooglePrivacyDlpV2DeidentifyContentRequest { + /** + * Configuration for the de-identification of the content item. Items + * specified here will override the template referenced by the + * deidentify_template_name argument. + */ + deidentifyConfig?: Schema$GooglePrivacyDlpV2DeidentifyConfig; + /** + * Optional template to use. Any configuration directly specified in + * deidentify_config will override those set in the template. Singular + * fields that are set in this request will replace their corresponding + * fields in the template. Repeated fields are appended. Singular + * sub-messages and groups are recursively merged. + */ + deidentifyTemplateName?: string; + /** + * Configuration for the inspector. Items specified here will override the + * template referenced by the inspect_template_name argument. + */ + inspectConfig?: Schema$GooglePrivacyDlpV2InspectConfig; + /** + * Optional template to use. Any configuration directly specified in + * inspect_config will override those set in the template. Singular fields + * that are set in this request will replace their corresponding fields in + * the template. Repeated fields are appended. Singular sub-messages and + * groups are recursively merged. + */ + inspectTemplateName?: string; + /** + * The item to de-identify. Will be treated as text. + */ + item?: Schema$GooglePrivacyDlpV2ContentItem; + } + /** + * Results of de-identifying a ContentItem. + */ + interface Schema$GooglePrivacyDlpV2DeidentifyContentResponse { + /** + * The de-identified item. + */ + item?: Schema$GooglePrivacyDlpV2ContentItem; + /** + * An overview of the changes that were made on the `item`. + */ + overview?: Schema$GooglePrivacyDlpV2TransformationOverview; + } + /** + * The DeidentifyTemplates contains instructions on how to deidentify content. + * See https://cloud.google.com/dlp/docs/concepts-templates to learn more. + */ + interface Schema$GooglePrivacyDlpV2DeidentifyTemplate { + /** + * The creation timestamp of a inspectTemplate, output only field. + */ + createTime?: string; + /** + * ///////////// // The core content of the template // /////////////// + */ + deidentifyConfig?: Schema$GooglePrivacyDlpV2DeidentifyConfig; + /** + * Short description (max 256 chars). + */ + description?: string; + /** + * Display name (max 256 chars). + */ + displayName?: string; + /** + * The template name. Output only. The template will have one of the + * following formats: `projects/PROJECT_ID/deidentifyTemplates/TEMPLATE_ID` + * OR `organizations/ORGANIZATION_ID/deidentifyTemplates/TEMPLATE_ID` + */ + name?: string; + /** + * The last update timestamp of a inspectTemplate, output only field. + */ + updateTime?: string; + } + /** + * δ-presence metric, used to estimate how likely it is for an attacker to + * figure out that one given individual appears in a de-identified dataset. + * Similarly to the k-map metric, we cannot compute δ-presence exactly without + * knowing the attack dataset, so we use a statistical model instead. + */ + interface Schema$GooglePrivacyDlpV2DeltaPresenceEstimationConfig { + /** + * Several auxiliary tables can be used in the analysis. Each custom_tag + * used to tag a quasi-identifiers field must appear in exactly one field of + * one auxiliary table. + */ + auxiliaryTables?: Schema$GooglePrivacyDlpV2StatisticalTable[]; + /** + * Fields considered to be quasi-identifiers. No two fields can have the + * same tag. [required] + */ + quasiIds?: Schema$GooglePrivacyDlpV2QuasiId[]; + /** + * ISO 3166-1 alpha-2 region code to use in the statistical modeling. + * Required if no column is tagged with a region-specific InfoType (like + * US_ZIP_5) or a region code. + */ + regionCode?: string; + } + /** + * A DeltaPresenceEstimationHistogramBucket message with the following values: + * min_probability: 0.1 max_probability: 0.2 frequency: 42 means that + * there are 42 records for which δ is in [0.1, 0.2). An important particular + * case is when min_probability = max_probability = 1: then, every individual + * who shares this quasi-identifier combination is in the dataset. + */ + interface Schema$GooglePrivacyDlpV2DeltaPresenceEstimationHistogramBucket { + /** + * Number of records within these probability bounds. + */ + bucketSize?: string; + /** + * Total number of distinct quasi-identifier tuple values in this bucket. + */ + bucketValueCount?: string; + /** + * Sample of quasi-identifier tuple values in this bucket. The total number + * of classes returned per bucket is capped at 20. + */ + bucketValues?: Schema$GooglePrivacyDlpV2DeltaPresenceEstimationQuasiIdValues[]; + /** + * Always greater than or equal to min_probability. + */ + maxProbability?: number; + /** + * Between 0 and 1. + */ + minProbability?: number; + } + /** + * A tuple of values for the quasi-identifier columns. + */ + interface Schema$GooglePrivacyDlpV2DeltaPresenceEstimationQuasiIdValues { + /** + * The estimated probability that a given individual sharing these + * quasi-identifier values is in the dataset. This value, typically called + * δ, is the ratio between the number of records in the dataset with these + * quasi-identifier values, and the total number of individuals (inside + * *and* outside the dataset) with these quasi-identifier values. For + * example, if there are 15 individuals in the dataset who share the same + * quasi-identifier values, and an estimated 100 people in the entire + * population with these values, then δ is 0.15. + */ + estimatedProbability?: number; + /** + * The quasi-identifier values. + */ + quasiIdsValues?: Schema$GooglePrivacyDlpV2Value[]; + } + /** + * Result of the δ-presence computation. Note that these results are an + * estimation, not exact values. + */ + interface Schema$GooglePrivacyDlpV2DeltaPresenceEstimationResult { + /** + * The intervals [min_probability, max_probability) do not overlap. If a + * value doesn't correspond to any such interval, the associated + * frequency is zero. For example, the following records: {min_probability: + * 0, max_probability: 0.1, frequency: 17} {min_probability: 0.2, + * max_probability: 0.3, frequency: 42} {min_probability: 0.3, + * max_probability: 0.4, frequency: 99} mean that there are no record with + * an estimated probability in [0.1, 0.2) nor larger or equal to 0.4. + */ + deltaPresenceEstimationHistogram?: Schema$GooglePrivacyDlpV2DeltaPresenceEstimationHistogramBucket[]; + } + /** + * Rule for modifying a CustomInfoType to alter behavior under certain + * circumstances, depending on the specific details of the rule. Not supported + * for the `surrogate_type` custom info type. + */ + interface Schema$GooglePrivacyDlpV2DetectionRule { + /** + * Hotword-based detection rule. + */ + hotwordRule?: Schema$GooglePrivacyDlpV2HotwordRule; + } + /** + * Custom information type based on a dictionary of words or phrases. This can + * be used to match sensitive information specific to the data, such as a list + * of employee IDs or job titles. Dictionary words are case-insensitive and + * all characters other than letters and digits in the unicode [Basic + * Multilingual + * Plane](https://en.wikipedia.org/wiki/Plane_%28Unicode%29#Basic_Multilingual_Plane) + * will be replaced with whitespace when scanning for matches, so the + * dictionary phrase "Sam Johnson" will match all three phrases + * "sam johnson", "Sam, Johnson", and "Sam + * (Johnson)". Additionally, the characters surrounding any match must be + * of a different type than the adjacent characters within the word, so + * letters must be next to non-letters and digits next to non-digits. For + * example, the dictionary word "jen" will match the first three + * letters of the text "jen123" but will return no matches for + * "jennifer". Dictionary words containing a large number of + * characters that are not letters or digits may result in unexpected findings + * because such characters are treated as whitespace. The + * [limits](https://cloud.google.com/dlp/limits) page contains details about + * the size limits of dictionaries. For dictionaries that do not fit within + * these constraints, consider using `LargeCustomDictionaryConfig` in the + * `StoredInfoType` API. + */ + interface Schema$GooglePrivacyDlpV2Dictionary { + /** + * Newline-delimited file of words in Cloud Storage. Only a single file is + * accepted. + */ + cloudStoragePath?: Schema$GooglePrivacyDlpV2CloudStoragePath; + /** + * List of words or phrases to search for. + */ + wordList?: Schema$GooglePrivacyDlpV2WordList; + } + /** + * Combines all of the information about a DLP job. + */ + interface Schema$GooglePrivacyDlpV2DlpJob { + /** + * Time when the job was created. + */ + createTime?: string; + /** + * Time when the job finished. + */ + endTime?: string; + /** + * A stream of errors encountered running the job. + */ + errors?: Schema$GooglePrivacyDlpV2Error[]; + /** + * Results from inspecting a data source. + */ + inspectDetails?: Schema$GooglePrivacyDlpV2InspectDataSourceDetails; + /** + * If created by a job trigger, the resource name of the trigger that + * instantiated the job. + */ + jobTriggerName?: string; + /** + * The server-assigned name. + */ + name?: string; + /** + * Results from analyzing risk of a data source. + */ + riskDetails?: Schema$GooglePrivacyDlpV2AnalyzeDataSourceRiskDetails; + /** + * Time when the job started. + */ + startTime?: string; + /** + * State of a job. + */ + state?: string; + /** + * The type of job. + */ + type?: string; + } + /** + * Location of a finding within a document. + */ + interface Schema$GooglePrivacyDlpV2DocumentLocation { + /** + * Offset of the line, from the beginning of the file, where the finding is + * located. + */ + fileOffset?: string; + } + /** + * An entity in a dataset is a field or set of fields that correspond to a + * single person. For example, in medical records the `EntityId` might be a + * patient identifier, or for financial records it might be an account + * identifier. This message is used when generalizations or analysis must take + * into account that multiple rows correspond to the same entity. + */ + interface Schema$GooglePrivacyDlpV2EntityId { + /** + * Composite key indicating which field contains the entity identifier. + */ + field?: Schema$GooglePrivacyDlpV2FieldId; + } + /** + * Details information about an error encountered during job execution or the + * results of an unsuccessful activation of the JobTrigger. Output only field. + */ + interface Schema$GooglePrivacyDlpV2Error { + details?: Schema$GoogleRpcStatus; + /** + * The times the error occurred. + */ + timestamps?: string[]; + } + /** + * List of exclude infoTypes. + */ + interface Schema$GooglePrivacyDlpV2ExcludeInfoTypes { + /** + * InfoType list in ExclusionRule rule drops a finding when it overlaps or + * contained within with a finding of an infoType from this list. For + * example, for `InspectionRuleSet.info_types` containing + * "PHONE_NUMBER"` and `exclusion_rule` containing + * `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone + * number findings are dropped if they overlap with EMAIL_ADDRESS finding. + * That leads to "555-222-2222@example.org" to generate only a + * single finding, namely email address. + */ + infoTypes?: Schema$GooglePrivacyDlpV2InfoType[]; + } + /** + * The rule that specifies conditions when findings of infoTypes specified in + * `InspectionRuleSet` are removed from results. + */ + interface Schema$GooglePrivacyDlpV2ExclusionRule { + /** + * Dictionary which defines the rule. + */ + dictionary?: Schema$GooglePrivacyDlpV2Dictionary; + /** + * Set of infoTypes for which findings would affect this rule. + */ + excludeInfoTypes?: Schema$GooglePrivacyDlpV2ExcludeInfoTypes; + /** + * How the rule is applied, see MatchingType documentation for details. + */ + matchingType?: string; + /** + * Regular expression which defines the rule. + */ + regex?: Schema$GooglePrivacyDlpV2Regex; + } + /** + * An expression, consisting or an operator and conditions. + */ + interface Schema$GooglePrivacyDlpV2Expressions { + conditions?: Schema$GooglePrivacyDlpV2Conditions; + /** + * The operator to apply to the result of conditions. Default and currently + * only supported value is `AND`. + */ + logicalOperator?: string; + } + /** + * General identifier of a data field in a storage service. + */ + interface Schema$GooglePrivacyDlpV2FieldId { + /** + * Name describing the field. + */ + name?: string; + } + /** + * The transformation to apply to the field. + */ + interface Schema$GooglePrivacyDlpV2FieldTransformation { + /** + * Only apply the transformation if the condition evaluates to true for the + * given `RecordCondition`. The conditions are allowed to reference fields + * that are not used in the actual transformation. [optional] Example Use + * Cases: - Apply a different bucket transformation to an age column if the + * zip code column for the same record is within a specific range. - Redact + * a field if the date of birth field is greater than 85. + */ + condition?: Schema$GooglePrivacyDlpV2RecordCondition; + /** + * Input field(s) to apply the transformation to. [required] + */ + fields?: Schema$GooglePrivacyDlpV2FieldId[]; + /** + * Treat the contents of the field as free text, and selectively transform + * content that matches an `InfoType`. + */ + infoTypeTransformations?: Schema$GooglePrivacyDlpV2InfoTypeTransformations; + /** + * Apply the transformation to the entire field. + */ + primitiveTransformation?: Schema$GooglePrivacyDlpV2PrimitiveTransformation; + } + /** + * Set of files to scan. + */ + interface Schema$GooglePrivacyDlpV2FileSet { + /** + * The Cloud Storage url of the file(s) to scan, in the format + * `gs://<bucket>/<path>`. Trailing wildcard in the path is + * allowed. + */ + url?: string; + } + /** + * Represents a piece of potentially sensitive content. + */ + interface Schema$GooglePrivacyDlpV2Finding { + /** + * Timestamp when finding was detected. + */ + createTime?: string; + /** + * The type of content that might have been found. Provided if + * `excluded_types` is false. + */ + infoType?: Schema$GooglePrivacyDlpV2InfoType; + /** + * Confidence of how likely it is that the `info_type` is correct. + */ + likelihood?: string; + /** + * Where the content was found. + */ + location?: Schema$GooglePrivacyDlpV2Location; + /** + * The content that was found. Even if the content is not textual, it may be + * converted to a textual representation here. Provided if `include_quote` + * is true and the finding is less than or equal to 4096 bytes long. If the + * finding exceeds 4096 bytes in length, the quote may be omitted. + */ + quote?: string; + /** + * Contains data parsed from quotes. Only populated if include_quote was set + * to true and a supported infoType was requested. Currently supported + * infoTypes: DATE, DATE_OF_BIRTH and TIME. + */ + quoteInfo?: Schema$GooglePrivacyDlpV2QuoteInfo; + } + interface Schema$GooglePrivacyDlpV2FindingLimits { + /** + * Configuration of findings limit given for specified infoTypes. + */ + maxFindingsPerInfoType?: Schema$GooglePrivacyDlpV2InfoTypeLimit[]; + /** + * Max number of findings that will be returned for each item scanned. When + * set within `InspectDataSourceRequest`, the maximum returned is 1000 + * regardless if this is set higher. When set within + * `InspectContentRequest`, this field is ignored. + */ + maxFindingsPerItem?: number; + /** + * Max number of findings that will be returned per request/job. When set + * within `InspectContentRequest`, the maximum returned is 1000 regardless + * if this is set higher. + */ + maxFindingsPerRequest?: number; + } + /** + * Buckets values based on fixed size ranges. The Bucketing transformation can + * provide all of this functionality, but requires more configuration. This + * message is provided as a convenience to the user for simple bucketing + * strategies. The transformed value will be a hyphenated string of + * <lower_bound>-<upper_bound>, i.e if lower_bound = 10 and + * upper_bound = 20 all values that are within this bucket will be replaced + * with "10-20". This can be used on data of type: double, long. If + * the bound Value type differs from the type of data being transformed, we + * will first attempt converting the type of the data to be transformed to + * match the type of the bound before comparing. See + * https://cloud.google.com/dlp/docs/concepts-bucketing to learn more. + */ + interface Schema$GooglePrivacyDlpV2FixedSizeBucketingConfig { + /** + * Size of each bucket (except for minimum and maximum buckets). So if + * `lower_bound` = 10, `upper_bound` = 89, and `bucket_size` = 10, then the + * following buckets would be used: -10, 10-20, 20-30, 30-40, 40-50, 50-60, + * 60-70, 70-80, 80-89, 89+. Precision up to 2 decimals works. [Required]. + */ + bucketSize?: number; + /** + * Lower bound value of buckets. All values less than `lower_bound` are + * grouped together into a single bucket; for example if `lower_bound` = 10, + * then all values less than 10 are replaced with the value “-10”. + * [Required]. + */ + lowerBound?: Schema$GooglePrivacyDlpV2Value; + /** + * Upper bound value of buckets. All values greater than upper_bound are + * grouped together into a single bucket; for example if `upper_bound` = 89, + * then all values greater than 89 are replaced with the value “89+”. + * [Required]. + */ + upperBound?: Schema$GooglePrivacyDlpV2Value; + } + /** + * The rule that adjusts the likelihood of findings within a certain proximity + * of hotwords. + */ + interface Schema$GooglePrivacyDlpV2HotwordRule { + /** + * Regular expression pattern defining what qualifies as a hotword. + */ + hotwordRegex?: Schema$GooglePrivacyDlpV2Regex; + /** + * Likelihood adjustment to apply to all matching findings. + */ + likelihoodAdjustment?: Schema$GooglePrivacyDlpV2LikelihoodAdjustment; + /** + * Proximity of the finding within which the entire hotword must reside. The + * total length of the window cannot exceed 1000 characters. Note that the + * finding itself will be included in the window, so that hotwords may be + * used to match substrings of the finding itself. For example, the + * certainty of a phone number regex "\(\d{3}\) \d{3}-\d{4}" could + * be adjusted upwards if the area code is known to be the local area code + * of a company office using the hotword regex "\(xxx\)", where + * "xxx" is the area code in question. + */ + proximity?: Schema$GooglePrivacyDlpV2Proximity; + } + /** + * Location of the finding within an image. + */ + interface Schema$GooglePrivacyDlpV2ImageLocation { + /** + * Bounding boxes locating the pixels within the image containing the + * finding. + */ + boundingBoxes?: Schema$GooglePrivacyDlpV2BoundingBox[]; + } + /** + * Configuration for determining how redaction of images should occur. + */ + interface Schema$GooglePrivacyDlpV2ImageRedactionConfig { + /** + * Only one per info_type should be provided per request. If not specified, + * and redact_all_text is false, the DLP API will redact all text that it + * matches against all info_types that are found, but not specified in + * another ImageRedactionConfig. + */ + infoType?: Schema$GooglePrivacyDlpV2InfoType; + /** + * If true, all text found in the image, regardless whether it matches an + * info_type, is redacted. Only one should be provided. + */ + redactAllText?: boolean; + /** + * The color to use when redacting content from an image. If not specified, + * the default is black. + */ + redactionColor?: Schema$GooglePrivacyDlpV2Color; + } + /** + * Type of information detected by the API. + */ + interface Schema$GooglePrivacyDlpV2InfoType { + /** + * Name of the information type. Either a name of your choosing when + * creating a CustomInfoType, or one of the names listed at + * https://cloud.google.com/dlp/docs/infotypes-reference when specifying a + * built-in type. + */ + name?: string; + } + /** + * InfoType description. + */ + interface Schema$GooglePrivacyDlpV2InfoTypeDescription { + /** + * Human readable form of the infoType name. + */ + displayName?: string; + /** + * Internal name of the infoType. + */ + name?: string; + /** + * Which parts of the API supports this InfoType. + */ + supportedBy?: string[]; + } + /** + * Max findings configuration per infoType, per content item or long running + * DlpJob. + */ + interface Schema$GooglePrivacyDlpV2InfoTypeLimit { + /** + * Type of information the findings limit applies to. Only one limit per + * info_type should be provided. If InfoTypeLimit does not have an + * info_type, the DLP API applies the limit against all info_types that are + * found but not specified in another InfoTypeLimit. + */ + infoType?: Schema$GooglePrivacyDlpV2InfoType; + /** + * Max findings limit for the given infoType. + */ + maxFindings?: number; + } + /** + * Statistics regarding a specific InfoType. + */ + interface Schema$GooglePrivacyDlpV2InfoTypeStats { + /** + * Number of findings for this infoType. + */ + count?: string; + /** + * The type of finding this stat is for. + */ + infoType?: Schema$GooglePrivacyDlpV2InfoType; + } + /** + * A transformation to apply to text that is identified as a specific + * info_type. + */ + interface Schema$GooglePrivacyDlpV2InfoTypeTransformation { + /** + * InfoTypes to apply the transformation to. An empty list will cause this + * transformation to apply to all findings that correspond to infoTypes that + * were requested in `InspectConfig`. + */ + infoTypes?: Schema$GooglePrivacyDlpV2InfoType[]; + /** + * Primitive transformation to apply to the infoType. [required] + */ + primitiveTransformation?: Schema$GooglePrivacyDlpV2PrimitiveTransformation; + } + /** + * A type of transformation that will scan unstructured text and apply various + * `PrimitiveTransformation`s to each finding, where the transformation is + * applied to only values that were identified as a specific info_type. + */ + interface Schema$GooglePrivacyDlpV2InfoTypeTransformations { + /** + * Transformation for each infoType. Cannot specify more than one for a + * given infoType. [required] + */ + transformations?: Schema$GooglePrivacyDlpV2InfoTypeTransformation[]; + } + /** + * Configuration description of the scanning process. When used with + * redactContent only info_types and min_likelihood are currently used. + */ + interface Schema$GooglePrivacyDlpV2InspectConfig { + /** + * List of options defining data content to scan. If empty, text, images, + * and other content will be included. + */ + contentOptions?: string[]; + /** + * CustomInfoTypes provided by the user. See + * https://cloud.google.com/dlp/docs/creating-custom-infotypes to learn + * more. + */ + customInfoTypes?: Schema$GooglePrivacyDlpV2CustomInfoType[]; + /** + * When true, excludes type information of the findings. + */ + excludeInfoTypes?: boolean; + /** + * When true, a contextual quote from the data that triggered a finding is + * included in the response; see Finding.quote. + */ + includeQuote?: boolean; + /** + * Restricts what info_types to look for. The values must correspond to + * InfoType values returned by ListInfoTypes or listed at + * https://cloud.google.com/dlp/docs/infotypes-reference. When no InfoTypes + * or CustomInfoTypes are specified in a request, the system may + * automatically choose what detectors to run. By default this may be all + * types, but may change over time as detectors are updated. The special + * InfoType name "ALL_BASIC" can be used to trigger all detectors, + * but may change over time as new InfoTypes are added. If you need precise + * control and predictability as to what detectors are run you should + * specify specific InfoTypes listed in the reference. + */ + infoTypes?: Schema$GooglePrivacyDlpV2InfoType[]; + limits?: Schema$GooglePrivacyDlpV2FindingLimits; + /** + * Only returns findings equal or above this threshold. The default is + * POSSIBLE. See https://cloud.google.com/dlp/docs/likelihood to learn more. + */ + minLikelihood?: string; + /** + * Set of rules to apply to the findings for this InspectConfig. Exclusion + * rules, contained in the set are executed in the end, other rules are + * executed in the order they are specified for each info type. + */ + ruleSet?: Schema$GooglePrivacyDlpV2InspectionRuleSet[]; + } + /** + * Request to search for potentially sensitive info in a ContentItem. + */ + interface Schema$GooglePrivacyDlpV2InspectContentRequest { + /** + * Configuration for the inspector. What specified here will override the + * template referenced by the inspect_template_name argument. + */ + inspectConfig?: Schema$GooglePrivacyDlpV2InspectConfig; + /** + * Optional template to use. Any configuration directly specified in + * inspect_config will override those set in the template. Singular fields + * that are set in this request will replace their corresponding fields in + * the template. Repeated fields are appended. Singular sub-messages and + * groups are recursively merged. + */ + inspectTemplateName?: string; + /** + * The item to inspect. + */ + item?: Schema$GooglePrivacyDlpV2ContentItem; + } + /** + * Results of inspecting an item. + */ + interface Schema$GooglePrivacyDlpV2InspectContentResponse { + /** + * The findings. + */ + result?: Schema$GooglePrivacyDlpV2InspectResult; + } + /** + * The results of an inspect DataSource job. + */ + interface Schema$GooglePrivacyDlpV2InspectDataSourceDetails { + /** + * The configuration used for this job. + */ + requestedOptions?: Schema$GooglePrivacyDlpV2RequestedOptions; + /** + * A summary of the outcome of this inspect job. + */ + result?: Schema$GooglePrivacyDlpV2Result; + } + /** + * A single inspection rule to be applied to infoTypes, specified in + * `InspectionRuleSet`. + */ + interface Schema$GooglePrivacyDlpV2InspectionRule { + /** + * Exclusion rule. + */ + exclusionRule?: Schema$GooglePrivacyDlpV2ExclusionRule; + /** + * Hotword-based detection rule. + */ + hotwordRule?: Schema$GooglePrivacyDlpV2HotwordRule; + } + /** + * Rule set for modifying a set of infoTypes to alter behavior under certain + * circumstances, depending on the specific details of the rules within the + * set. + */ + interface Schema$GooglePrivacyDlpV2InspectionRuleSet { + /** + * List of infoTypes this rule set is applied to. + */ + infoTypes?: Schema$GooglePrivacyDlpV2InfoType[]; + /** + * Set of rules to be applied to infoTypes. The rules are applied in order. + */ + rules?: Schema$GooglePrivacyDlpV2InspectionRule[]; + } + interface Schema$GooglePrivacyDlpV2InspectJobConfig { + /** + * Actions to execute at the completion of the job. Are executed in the + * order provided. + */ + actions?: Schema$GooglePrivacyDlpV2Action[]; + /** + * How and what to scan for. + */ + inspectConfig?: Schema$GooglePrivacyDlpV2InspectConfig; + /** + * If provided, will be used as the default for all values in InspectConfig. + * `inspect_config` will be merged into the values persisted as part of the + * template. + */ + inspectTemplateName?: string; + /** + * The data to scan. + */ + storageConfig?: Schema$GooglePrivacyDlpV2StorageConfig; + } + /** + * All the findings for a single scanned item. + */ + interface Schema$GooglePrivacyDlpV2InspectResult { + /** + * List of findings for an item. + */ + findings?: Schema$GooglePrivacyDlpV2Finding[]; + /** + * If true, then this item might have more findings than were returned, and + * the findings returned are an arbitrary subset of all findings. The + * findings list might be truncated because the input items were too large, + * or because the server reached the maximum amount of resources allowed for + * a single API call. For best results, divide the input into smaller + * batches. + */ + findingsTruncated?: boolean; + } + /** + * The inspectTemplate contains a configuration (set of types of sensitive + * data to be detected) to be used anywhere you otherwise would normally + * specify InspectConfig. See + * https://cloud.google.com/dlp/docs/concepts-templates to learn more. + */ + interface Schema$GooglePrivacyDlpV2InspectTemplate { + /** + * The creation timestamp of a inspectTemplate, output only field. + */ + createTime?: string; + /** + * Short description (max 256 chars). + */ + description?: string; + /** + * Display name (max 256 chars). + */ + displayName?: string; + /** + * The core content of the template. Configuration of the scanning process. + */ + inspectConfig?: Schema$GooglePrivacyDlpV2InspectConfig; + /** + * The template name. Output only. The template will have one of the + * following formats: `projects/PROJECT_ID/inspectTemplates/TEMPLATE_ID` OR + * `organizations/ORGANIZATION_ID/inspectTemplates/TEMPLATE_ID` + */ + name?: string; + /** + * The last update timestamp of a inspectTemplate, output only field. + */ + updateTime?: string; + } + /** + * Contains a configuration to make dlp api calls on a repeating basis. See + * https://cloud.google.com/dlp/docs/concepts-job-triggers to learn more. + */ + interface Schema$GooglePrivacyDlpV2JobTrigger { + /** + * The creation timestamp of a triggeredJob, output only field. + */ + createTime?: string; + /** + * User provided description (max 256 chars) + */ + description?: string; + /** + * Display name (max 100 chars) + */ + displayName?: string; + /** + * A stream of errors encountered when the trigger was activated. Repeated + * errors may result in the JobTrigger automaticaly being paused. Will + * return the last 100 errors. Whenever the JobTrigger is modified this list + * will be cleared. Output only field. + */ + errors?: Schema$GooglePrivacyDlpV2Error[]; + inspectJob?: Schema$GooglePrivacyDlpV2InspectJobConfig; + /** + * The timestamp of the last time this trigger executed, output only field. + */ + lastRunTime?: string; + /** + * Unique resource name for the triggeredJob, assigned by the service when + * the triggeredJob is created, for example + * `projects/dlp-test-project/triggeredJobs/53234423`. + */ + name?: string; + /** + * A status for this trigger. [required] + */ + status?: string; + /** + * A list of triggers which will be OR'ed together. Only one in the list + * needs to trigger for a job to be started. The list may contain only a + * single Schedule trigger and must have at least one object. + */ + triggers?: Schema$GooglePrivacyDlpV2Trigger[]; + /** + * The last update timestamp of a triggeredJob, output only field. + */ + updateTime?: string; + } + /** + * k-anonymity metric, used for analysis of reidentification risk. + */ + interface Schema$GooglePrivacyDlpV2KAnonymityConfig { + /** + * Optional message indicating that multiple rows might be associated to a + * single individual. If the same entity_id is associated to multiple + * quasi-identifier tuples over distict rows, we consider the entire + * collection of tuples as the composite quasi-identifier. This collection + * is a multiset: the order in which the different tuples appear in the + * dataset is ignored, but their frequency is taken into account. Important + * note: a maximum of 1000 rows can be associated to a single entity ID. If + * more rows are associated with the same entity ID, some might be ignored. + */ + entityId?: Schema$GooglePrivacyDlpV2EntityId; + /** + * Set of fields to compute k-anonymity over. When multiple fields are + * specified, they are considered a single composite key. Structs and + * repeated data types are not supported; however, nested fields are + * supported so long as they are not structs themselves or nested within a + * repeated field. + */ + quasiIds?: Schema$GooglePrivacyDlpV2FieldId[]; + } + /** + * The set of columns' values that share the same ldiversity value + */ + interface Schema$GooglePrivacyDlpV2KAnonymityEquivalenceClass { + /** + * Size of the equivalence class, for example number of rows with the above + * set of values. + */ + equivalenceClassSize?: string; + /** + * Set of values defining the equivalence class. One value per + * quasi-identifier column in the original KAnonymity metric message. The + * order is always the same as the original request. + */ + quasiIdsValues?: Schema$GooglePrivacyDlpV2Value[]; + } + interface Schema$GooglePrivacyDlpV2KAnonymityHistogramBucket { + /** + * Total number of equivalence classes in this bucket. + */ + bucketSize?: string; + /** + * Total number of distinct equivalence classes in this bucket. + */ + bucketValueCount?: string; + /** + * Sample of equivalence classes in this bucket. The total number of classes + * returned per bucket is capped at 20. + */ + bucketValues?: Schema$GooglePrivacyDlpV2KAnonymityEquivalenceClass[]; + /** + * Lower bound on the size of the equivalence classes in this bucket. + */ + equivalenceClassSizeLowerBound?: string; + /** + * Upper bound on the size of the equivalence classes in this bucket. + */ + equivalenceClassSizeUpperBound?: string; + } + /** + * Result of the k-anonymity computation. + */ + interface Schema$GooglePrivacyDlpV2KAnonymityResult { + /** + * Histogram of k-anonymity equivalence classes. + */ + equivalenceClassHistogramBuckets?: Schema$GooglePrivacyDlpV2KAnonymityHistogramBucket[]; + } + /** + * A unique identifier for a Datastore entity. If a key's partition ID or + * any of its path kinds or names are reserved/read-only, the key is + * reserved/read-only. A reserved/read-only key is forbidden in certain + * documented contexts. + */ + interface Schema$GooglePrivacyDlpV2Key { + /** + * Entities are partitioned into subsets, currently identified by a project + * ID and namespace ID. Queries are scoped to a single partition. + */ + partitionId?: Schema$GooglePrivacyDlpV2PartitionId; + /** + * The entity path. An entity path consists of one or more elements composed + * of a kind and a string or numerical identifier, which identify entities. + * The first element identifies a _root entity_, the second element + * identifies a _child_ of the root entity, the third element identifies a + * child of the second entity, and so forth. The entities identified by all + * prefixes of the path are called the element's _ancestors_. A path + * can never be empty, and a path can have at most 100 elements. + */ + path?: Schema$GooglePrivacyDlpV2PathElement[]; + } + /** + * A representation of a Datastore kind. + */ + interface Schema$GooglePrivacyDlpV2KindExpression { + /** + * The name of the kind. + */ + name?: string; + } + /** + * Reidentifiability metric. This corresponds to a risk model similar to what + * is called "journalist risk" in the literature, except the attack + * dataset is statistically modeled instead of being perfectly known. This can + * be done using publicly available data (like the US Census), or using a + * custom statistical model (indicated as one or several BigQuery tables), or + * by extrapolating from the distribution of values in the input dataset. A + * column with a semantic tag attached. + */ + interface Schema$GooglePrivacyDlpV2KMapEstimationConfig { + /** + * Several auxiliary tables can be used in the analysis. Each custom_tag + * used to tag a quasi-identifiers column must appear in exactly one column + * of one auxiliary table. + */ + auxiliaryTables?: Schema$GooglePrivacyDlpV2AuxiliaryTable[]; + /** + * Fields considered to be quasi-identifiers. No two columns can have the + * same tag. [required] + */ + quasiIds?: Schema$GooglePrivacyDlpV2TaggedField[]; + /** + * ISO 3166-1 alpha-2 region code to use in the statistical modeling. + * Required if no column is tagged with a region-specific InfoType (like + * US_ZIP_5) or a region code. + */ + regionCode?: string; + } + /** + * A KMapEstimationHistogramBucket message with the following values: + * min_anonymity: 3 max_anonymity: 5 frequency: 42 means that there are 42 + * records whose quasi-identifier values correspond to 3, 4 or 5 people in the + * overlying population. An important particular case is when min_anonymity = + * max_anonymity = 1: the frequency field then corresponds to the number of + * uniquely identifiable records. + */ + interface Schema$GooglePrivacyDlpV2KMapEstimationHistogramBucket { + /** + * Number of records within these anonymity bounds. + */ + bucketSize?: string; + /** + * Total number of distinct quasi-identifier tuple values in this bucket. + */ + bucketValueCount?: string; + /** + * Sample of quasi-identifier tuple values in this bucket. The total number + * of classes returned per bucket is capped at 20. + */ + bucketValues?: Schema$GooglePrivacyDlpV2KMapEstimationQuasiIdValues[]; + /** + * Always greater than or equal to min_anonymity. + */ + maxAnonymity?: string; + /** + * Always positive. + */ + minAnonymity?: string; + } + /** + * A tuple of values for the quasi-identifier columns. + */ + interface Schema$GooglePrivacyDlpV2KMapEstimationQuasiIdValues { + /** + * The estimated anonymity for these quasi-identifier values. + */ + estimatedAnonymity?: string; + /** + * The quasi-identifier values. + */ + quasiIdsValues?: Schema$GooglePrivacyDlpV2Value[]; + } + /** + * Result of the reidentifiability analysis. Note that these results are an + * estimation, not exact values. + */ + interface Schema$GooglePrivacyDlpV2KMapEstimationResult { + /** + * The intervals [min_anonymity, max_anonymity] do not overlap. If a value + * doesn't correspond to any such interval, the associated frequency is + * zero. For example, the following records: {min_anonymity: 1, + * max_anonymity: 1, frequency: 17} {min_anonymity: 2, max_anonymity: 3, + * frequency: 42} {min_anonymity: 5, max_anonymity: 10, frequency: 99} + * mean that there are no record with an estimated anonymity of 4, 5, or + * larger than 10. + */ + kMapEstimationHistogram?: Schema$GooglePrivacyDlpV2KMapEstimationHistogramBucket[]; + } + /** + * Include to use an existing data crypto key wrapped by KMS. Authorization + * requires the following IAM permissions when sending a request to perform a + * crypto transformation using a kms-wrapped crypto key: dlp.kms.encrypt + */ + interface Schema$GooglePrivacyDlpV2KmsWrappedCryptoKey { + /** + * The resource name of the KMS CryptoKey to use for unwrapping. [required] + */ + cryptoKeyName?: string; + /** + * The wrapped data crypto key. [required] + */ + wrappedKey?: string; + } + /** + * Configuration for a custom dictionary created from a data source of any + * size up to the maximum size defined in the + * [limits](https://cloud.google.com/dlp/limits) page. The artifacts of + * dictionary creation are stored in the specified Google Cloud Storage + * location. Consider using `CustomInfoType.Dictionary` for smaller + * dictionaries that satisfy the size requirements. + */ + interface Schema$GooglePrivacyDlpV2LargeCustomDictionaryConfig { + /** + * Field in a BigQuery table where each cell represents a dictionary phrase. + */ + bigQueryField?: Schema$GooglePrivacyDlpV2BigQueryField; + /** + * Set of files containing newline-delimited lists of dictionary phrases. + */ + cloudStorageFileSet?: Schema$GooglePrivacyDlpV2CloudStorageFileSet; + /** + * Location to store dictionary artifacts in Google Cloud Storage. These + * files will only be accessible by project owners and the DLP API. If any + * of these artifacts are modified, the dictionary is considered invalid and + * can no longer be used. + */ + outputPath?: Schema$GooglePrivacyDlpV2CloudStoragePath; + } + /** + * l-diversity metric, used for analysis of reidentification risk. + */ + interface Schema$GooglePrivacyDlpV2LDiversityConfig { + /** + * Set of quasi-identifiers indicating how equivalence classes are defined + * for the l-diversity computation. When multiple fields are specified, they + * are considered a single composite key. + */ + quasiIds?: Schema$GooglePrivacyDlpV2FieldId[]; + /** + * Sensitive field for computing the l-value. + */ + sensitiveAttribute?: Schema$GooglePrivacyDlpV2FieldId; + } + /** + * The set of columns' values that share the same ldiversity value. + */ + interface Schema$GooglePrivacyDlpV2LDiversityEquivalenceClass { + /** + * Size of the k-anonymity equivalence class. + */ + equivalenceClassSize?: string; + /** + * Number of distinct sensitive values in this equivalence class. + */ + numDistinctSensitiveValues?: string; + /** + * Quasi-identifier values defining the k-anonymity equivalence class. The + * order is always the same as the original request. + */ + quasiIdsValues?: Schema$GooglePrivacyDlpV2Value[]; + /** + * Estimated frequencies of top sensitive values. + */ + topSensitiveValues?: Schema$GooglePrivacyDlpV2ValueFrequency[]; + } + interface Schema$GooglePrivacyDlpV2LDiversityHistogramBucket { + /** + * Total number of equivalence classes in this bucket. + */ + bucketSize?: string; + /** + * Total number of distinct equivalence classes in this bucket. + */ + bucketValueCount?: string; + /** + * Sample of equivalence classes in this bucket. The total number of classes + * returned per bucket is capped at 20. + */ + bucketValues?: Schema$GooglePrivacyDlpV2LDiversityEquivalenceClass[]; + /** + * Lower bound on the sensitive value frequencies of the equivalence classes + * in this bucket. + */ + sensitiveValueFrequencyLowerBound?: string; + /** + * Upper bound on the sensitive value frequencies of the equivalence classes + * in this bucket. + */ + sensitiveValueFrequencyUpperBound?: string; + } + /** + * Result of the l-diversity computation. + */ + interface Schema$GooglePrivacyDlpV2LDiversityResult { + /** + * Histogram of l-diversity equivalence class sensitive value frequencies. + */ + sensitiveValueFrequencyHistogramBuckets?: Schema$GooglePrivacyDlpV2LDiversityHistogramBucket[]; + } + /** + * Message for specifying an adjustment to the likelihood of a finding as part + * of a detection rule. + */ + interface Schema$GooglePrivacyDlpV2LikelihoodAdjustment { + /** + * Set the likelihood of a finding to a fixed value. + */ + fixedLikelihood?: string; + /** + * Increase or decrease the likelihood by the specified number of levels. + * For example, if a finding would be `POSSIBLE` without the detection rule + * and `relative_likelihood` is 1, then it is upgraded to `LIKELY`, while a + * value of -1 would downgrade it to `UNLIKELY`. Likelihood may never drop + * below `VERY_UNLIKELY` or exceed `VERY_LIKELY`, so applying an adjustment + * of 1 followed by an adjustment of -1 when base likelihood is + * `VERY_LIKELY` will result in a final likelihood of `LIKELY`. + */ + relativeLikelihood?: number; + } + /** + * Response message for ListDeidentifyTemplates. + */ + interface Schema$GooglePrivacyDlpV2ListDeidentifyTemplatesResponse { + /** + * List of deidentify templates, up to page_size in + * ListDeidentifyTemplatesRequest. + */ + deidentifyTemplates?: Schema$GooglePrivacyDlpV2DeidentifyTemplate[]; + /** + * If the next page is available then the next page token to be used in + * following ListDeidentifyTemplates request. + */ + nextPageToken?: string; + } + /** + * The response message for listing DLP jobs. + */ + interface Schema$GooglePrivacyDlpV2ListDlpJobsResponse { + /** + * A list of DlpJobs that matches the specified filter in the request. + */ + jobs?: Schema$GooglePrivacyDlpV2DlpJob[]; + /** + * The standard List next-page token. + */ + nextPageToken?: string; + } + /** + * Response to the ListInfoTypes request. + */ + interface Schema$GooglePrivacyDlpV2ListInfoTypesResponse { + /** + * Set of sensitive infoTypes. + */ + infoTypes?: Schema$GooglePrivacyDlpV2InfoTypeDescription[]; + } + /** + * Response message for ListInspectTemplates. + */ + interface Schema$GooglePrivacyDlpV2ListInspectTemplatesResponse { + /** + * List of inspectTemplates, up to page_size in ListInspectTemplatesRequest. + */ + inspectTemplates?: Schema$GooglePrivacyDlpV2InspectTemplate[]; + /** + * If the next page is available then the next page token to be used in + * following ListInspectTemplates request. + */ + nextPageToken?: string; + } + /** + * Response message for ListJobTriggers. + */ + interface Schema$GooglePrivacyDlpV2ListJobTriggersResponse { + /** + * List of triggeredJobs, up to page_size in ListJobTriggersRequest. + */ + jobTriggers?: Schema$GooglePrivacyDlpV2JobTrigger[]; + /** + * If the next page is available then the next page token to be used in + * following ListJobTriggers request. + */ + nextPageToken?: string; + } + /** + * Response message for ListStoredInfoTypes. + */ + interface Schema$GooglePrivacyDlpV2ListStoredInfoTypesResponse { + /** + * If the next page is available then the next page token to be used in + * following ListStoredInfoTypes request. + */ + nextPageToken?: string; + /** + * List of storedInfoTypes, up to page_size in ListStoredInfoTypesRequest. + */ + storedInfoTypes?: Schema$GooglePrivacyDlpV2StoredInfoType[]; + } + /** + * Specifies the location of the finding. + */ + interface Schema$GooglePrivacyDlpV2Location { + /** + * Zero-based byte offsets delimiting the finding. These are relative to the + * finding's containing element. Note that when the content is not + * textual, this references the UTF-8 encoded textual representation of the + * content. Omitted if content is an image. + */ + byteRange?: Schema$GooglePrivacyDlpV2Range; + /** + * Unicode character offsets delimiting the finding. These are relative to + * the finding's containing element. Provided when the content is text. + */ + codepointRange?: Schema$GooglePrivacyDlpV2Range; + /** + * List of nested objects pointing to the precise location of the finding + * within the file or record. + */ + contentLocations?: Schema$GooglePrivacyDlpV2ContentLocation[]; + } + /** + * Compute numerical stats over an individual column, including min, max, and + * quantiles. + */ + interface Schema$GooglePrivacyDlpV2NumericalStatsConfig { + /** + * Field to compute numerical stats on. Supported types are integer, float, + * date, datetime, timestamp, time. + */ + field?: Schema$GooglePrivacyDlpV2FieldId; + } + /** + * Result of the numerical stats computation. + */ + interface Schema$GooglePrivacyDlpV2NumericalStatsResult { + /** + * Maximum value appearing in the column. + */ + maxValue?: Schema$GooglePrivacyDlpV2Value; + /** + * Minimum value appearing in the column. + */ + minValue?: Schema$GooglePrivacyDlpV2Value; + /** + * List of 99 values that partition the set of field values into 100 equal + * sized buckets. + */ + quantileValues?: Schema$GooglePrivacyDlpV2Value[]; + } + /** + * Cloud repository for storing output. + */ + interface Schema$GooglePrivacyDlpV2OutputStorageConfig { + /** + * Schema used for writing the findings for Inspect jobs. This field is only + * used for Inspect and must be unspecified for Risk jobs. Columns are + * derived from the `Finding` object. If appending to an existing table, any + * columns from the predefined schema that are missing will be added. No + * columns in the existing table will be deleted. If unspecified, then all + * available columns will be used for a new table, and no changes will be + * made to an existing table. + */ + outputSchema?: string; + /** + * Store findings in an existing table or a new table in an existing + * dataset. If table_id is not set a new one will be generated for you with + * the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific + * timezone will be used for generating the date details. For Inspect, each + * column in an existing output table must have the same name, type, and + * mode of a field in the `Finding` object. For Risk, an existing output + * table should be the output of a previous Risk analysis job run on the + * same source table, with the same privacy metric and quasi-identifiers. + * Risk jobs that analyze the same table but compute a different privacy + * metric, or use different sets of quasi-identifiers, cannot store their + * results in the same table. + */ + table?: Schema$GooglePrivacyDlpV2BigQueryTable; + } + /** + * Datastore partition ID. A partition ID identifies a grouping of entities. + * The grouping is always by project and namespace, however the namespace ID + * may be empty. A partition ID contains several dimensions: project ID and + * namespace ID. + */ + interface Schema$GooglePrivacyDlpV2PartitionId { + /** + * If not empty, the ID of the namespace to which the entities belong. + */ + namespaceId?: string; + /** + * The ID of the project to which the entities belong. + */ + projectId?: string; + } + /** + * A (kind, ID/name) pair used to construct a key path. If either name or ID + * is set, the element is complete. If neither is set, the element is + * incomplete. + */ + interface Schema$GooglePrivacyDlpV2PathElement { + /** + * The auto-allocated ID of the entity. Never equal to zero. Values less + * than zero are discouraged and may not be supported in the future. + */ + id?: string; + /** + * The kind of the entity. A kind matching regex `__.*__` is + * reserved/read-only. A kind must not contain more than 1500 bytes when + * UTF-8 encoded. Cannot be `""`. + */ + kind?: string; + /** + * The name of the entity. A name matching regex `__.*__` is + * reserved/read-only. A name must not be more than 1500 bytes when UTF-8 + * encoded. Cannot be `""`. + */ + name?: string; + } + /** + * A rule for transforming a value. + */ + interface Schema$GooglePrivacyDlpV2PrimitiveTransformation { + bucketingConfig?: Schema$GooglePrivacyDlpV2BucketingConfig; + characterMaskConfig?: Schema$GooglePrivacyDlpV2CharacterMaskConfig; + cryptoHashConfig?: Schema$GooglePrivacyDlpV2CryptoHashConfig; + cryptoReplaceFfxFpeConfig?: Schema$GooglePrivacyDlpV2CryptoReplaceFfxFpeConfig; + dateShiftConfig?: Schema$GooglePrivacyDlpV2DateShiftConfig; + fixedSizeBucketingConfig?: Schema$GooglePrivacyDlpV2FixedSizeBucketingConfig; + redactConfig?: Schema$GooglePrivacyDlpV2RedactConfig; + replaceConfig?: Schema$GooglePrivacyDlpV2ReplaceValueConfig; + replaceWithInfoTypeConfig?: Schema$GooglePrivacyDlpV2ReplaceWithInfoTypeConfig; + timePartConfig?: Schema$GooglePrivacyDlpV2TimePartConfig; + } + /** + * Privacy metric to compute for reidentification risk analysis. + */ + interface Schema$GooglePrivacyDlpV2PrivacyMetric { + categoricalStatsConfig?: Schema$GooglePrivacyDlpV2CategoricalStatsConfig; + deltaPresenceEstimationConfig?: Schema$GooglePrivacyDlpV2DeltaPresenceEstimationConfig; + kAnonymityConfig?: Schema$GooglePrivacyDlpV2KAnonymityConfig; + kMapEstimationConfig?: Schema$GooglePrivacyDlpV2KMapEstimationConfig; + lDiversityConfig?: Schema$GooglePrivacyDlpV2LDiversityConfig; + numericalStatsConfig?: Schema$GooglePrivacyDlpV2NumericalStatsConfig; + } + /** + * Message for specifying a window around a finding to apply a detection rule. + */ + interface Schema$GooglePrivacyDlpV2Proximity { + /** + * Number of characters after the finding to consider. + */ + windowAfter?: number; + /** + * Number of characters before the finding to consider. + */ + windowBefore?: number; + } + /** + * Publish the result summary of a DlpJob to the Cloud Security Command Center + * (CSCC Alpha). This action is only available for projects which are parts of + * an organization and whitelisted for the alpha Cloud Security Command + * Center. The action will publish count of finding instances and their info + * types. The summary of findings will be persisted in CSCC and are governed + * by CSCC service-specific policy, see + * https://cloud.google.com/terms/service-terms Only a single instance of this + * action can be specified. Compatible with: Inspect + */ + interface Schema$GooglePrivacyDlpV2PublishSummaryToCscc { + } + /** + * Publish the results of a DlpJob to a pub sub channel. Compatible with: + * Inspect, Risk + */ + interface Schema$GooglePrivacyDlpV2PublishToPubSub { + /** + * Cloud Pub/Sub topic to send notifications to. The topic must have given + * publishing access rights to the DLP API service account executing the + * long running DlpJob sending the notifications. Format is + * projects/{project}/topics/{topic}. + */ + topic?: string; + } + /** + * A column with a semantic tag attached. + */ + interface Schema$GooglePrivacyDlpV2QuasiId { + /** + * A column can be tagged with a custom tag. In this case, the user must + * indicate an auxiliary table that contains statistical information on the + * possible values of this column (below). + */ + customTag?: string; + /** + * Identifies the column. [required] + */ + field?: Schema$GooglePrivacyDlpV2FieldId; + /** + * If no semantic tag is indicated, we infer the statistical model from the + * distribution of values in the input data + */ + inferred?: Schema$GoogleProtobufEmpty; + /** + * A column can be tagged with a InfoType to use the relevant public dataset + * as a statistical model of population, if available. We currently support + * US ZIP codes, region codes, ages and genders. To programmatically obtain + * the list of supported InfoTypes, use ListInfoTypes with the + * supported_by=RISK_ANALYSIS filter. + */ + infoType?: Schema$GooglePrivacyDlpV2InfoType; + } + /** + * A quasi-identifier column has a custom_tag, used to know which column in + * the data corresponds to which column in the statistical model. + */ + interface Schema$GooglePrivacyDlpV2QuasiIdentifierField { + customTag?: string; + field?: Schema$GooglePrivacyDlpV2FieldId; + } + /** + * A quasi-identifier column has a custom_tag, used to know which column in + * the data corresponds to which column in the statistical model. + */ + interface Schema$GooglePrivacyDlpV2QuasiIdField { + customTag?: string; + field?: Schema$GooglePrivacyDlpV2FieldId; + } + /** + * Message for infoType-dependent details parsed from quote. + */ + interface Schema$GooglePrivacyDlpV2QuoteInfo { + dateTime?: Schema$GooglePrivacyDlpV2DateTime; + } + /** + * Generic half-open interval [start, end) + */ + interface Schema$GooglePrivacyDlpV2Range { + /** + * Index of the last character of the range (exclusive). + */ + end?: string; + /** + * Index of the first character of the range (inclusive). + */ + start?: string; + } + /** + * A condition for determining whether a transformation should be applied to a + * field. + */ + interface Schema$GooglePrivacyDlpV2RecordCondition { + /** + * An expression. + */ + expressions?: Schema$GooglePrivacyDlpV2Expressions; + } + /** + * Message for a unique key indicating a record that contains a finding. + */ + interface Schema$GooglePrivacyDlpV2RecordKey { + bigQueryKey?: Schema$GooglePrivacyDlpV2BigQueryKey; + datastoreKey?: Schema$GooglePrivacyDlpV2DatastoreKey; + } + /** + * Location of a finding within a row or record. + */ + interface Schema$GooglePrivacyDlpV2RecordLocation { + /** + * Field id of the field containing the finding. + */ + fieldId?: Schema$GooglePrivacyDlpV2FieldId; + /** + * Key of the finding. + */ + recordKey?: Schema$GooglePrivacyDlpV2RecordKey; + /** + * Location within a `ContentItem.Table`. + */ + tableLocation?: Schema$GooglePrivacyDlpV2TableLocation; + } + /** + * Configuration to suppress records whose suppression conditions evaluate to + * true. + */ + interface Schema$GooglePrivacyDlpV2RecordSuppression { + /** + * A condition that when it evaluates to true will result in the record + * being evaluated to be suppressed from the transformed content. + */ + condition?: Schema$GooglePrivacyDlpV2RecordCondition; + } + /** + * A type of transformation that is applied over structured data such as a + * table. + */ + interface Schema$GooglePrivacyDlpV2RecordTransformations { + /** + * Transform the record by applying various field transformations. + */ + fieldTransformations?: Schema$GooglePrivacyDlpV2FieldTransformation[]; + /** + * Configuration defining which records get suppressed entirely. Records + * that match any suppression rule are omitted from the output [optional]. + */ + recordSuppressions?: Schema$GooglePrivacyDlpV2RecordSuppression[]; + } + /** + * Redact a given value. For example, if used with an `InfoTypeTransformation` + * transforming PHONE_NUMBER, and input 'My phone number is + * 206-555-0123', the output would be 'My phone number is '. + */ + interface Schema$GooglePrivacyDlpV2RedactConfig { + } + /** + * Request to search for potentially sensitive info in an image and redact it + * by covering it with a colored rectangle. + */ + interface Schema$GooglePrivacyDlpV2RedactImageRequest { + /** + * The content must be PNG, JPEG, SVG or BMP. + */ + byteItem?: Schema$GooglePrivacyDlpV2ByteContentItem; + /** + * The configuration for specifying what content to redact from images. + */ + imageRedactionConfigs?: Schema$GooglePrivacyDlpV2ImageRedactionConfig[]; + /** + * Whether the response should include findings along with the redacted + * image. + */ + includeFindings?: boolean; + /** + * Configuration for the inspector. + */ + inspectConfig?: Schema$GooglePrivacyDlpV2InspectConfig; + } + /** + * Results of redacting an image. + */ + interface Schema$GooglePrivacyDlpV2RedactImageResponse { + /** + * If an image was being inspected and the InspectConfig's include_quote + * was set to true, then this field will include all text, if any, that was + * found in the image. + */ + extractedText?: string; + /** + * The findings. Populated when include_findings in the request is true. + */ + inspectResult?: Schema$GooglePrivacyDlpV2InspectResult; + /** + * The redacted image. The type will be the same as the original image. + */ + redactedImage?: string; + } + /** + * Message defining a custom regular expression. + */ + interface Schema$GooglePrivacyDlpV2Regex { + /** + * Pattern defining the regular expression. Its syntax + * (https://github.com/google/re2/wiki/Syntax) can be found under the + * google/re2 repository on GitHub. + */ + pattern?: string; + } + /** + * Request to re-identify an item. + */ + interface Schema$GooglePrivacyDlpV2ReidentifyContentRequest { + /** + * Configuration for the inspector. + */ + inspectConfig?: Schema$GooglePrivacyDlpV2InspectConfig; + /** + * Optional template to use. Any configuration directly specified in + * `inspect_config` will override those set in the template. Singular fields + * that are set in this request will replace their corresponding fields in + * the template. Repeated fields are appended. Singular sub-messages and + * groups are recursively merged. + */ + inspectTemplateName?: string; + /** + * The item to re-identify. Will be treated as text. + */ + item?: Schema$GooglePrivacyDlpV2ContentItem; + /** + * Configuration for the re-identification of the content item. This field + * shares the same proto message type that is used for de-identification, + * however its usage here is for the reversal of the previous + * de-identification. Re-identification is performed by examining the + * transformations used to de-identify the items and executing the reverse. + * This requires that only reversible transformations be provided here. The + * reversible transformations are: - `CryptoReplaceFfxFpeConfig` + */ + reidentifyConfig?: Schema$GooglePrivacyDlpV2DeidentifyConfig; + /** + * Optional template to use. References an instance of `DeidentifyTemplate`. + * Any configuration directly specified in `reidentify_config` or + * `inspect_config` will override those set in the template. Singular fields + * that are set in this request will replace their corresponding fields in + * the template. Repeated fields are appended. Singular sub-messages and + * groups are recursively merged. + */ + reidentifyTemplateName?: string; + } + /** + * Results of re-identifying a item. + */ + interface Schema$GooglePrivacyDlpV2ReidentifyContentResponse { + /** + * The re-identified item. + */ + item?: Schema$GooglePrivacyDlpV2ContentItem; + /** + * An overview of the changes that were made to the `item`. + */ + overview?: Schema$GooglePrivacyDlpV2TransformationOverview; + } + /** + * Replace each input value with a given `Value`. + */ + interface Schema$GooglePrivacyDlpV2ReplaceValueConfig { + /** + * Value to replace it with. + */ + newValue?: Schema$GooglePrivacyDlpV2Value; + } + /** + * Replace each matching finding with the name of the info_type. + */ + interface Schema$GooglePrivacyDlpV2ReplaceWithInfoTypeConfig { + } + interface Schema$GooglePrivacyDlpV2RequestedOptions { + jobConfig?: Schema$GooglePrivacyDlpV2InspectJobConfig; + /** + * If run with an InspectTemplate, a snapshot of its state at the time of + * this run. + */ + snapshotInspectTemplate?: Schema$GooglePrivacyDlpV2InspectTemplate; + } + interface Schema$GooglePrivacyDlpV2Result { + /** + * Statistics of how many instances of each info type were found during + * inspect job. + */ + infoTypeStats?: Schema$GooglePrivacyDlpV2InfoTypeStats[]; + /** + * Total size in bytes that were processed. + */ + processedBytes?: string; + /** + * Estimate of the number of bytes to process. + */ + totalEstimatedBytes?: string; + } + /** + * Configuration for a risk analysis job. See + * https://cloud.google.com/dlp/docs/concepts-risk-analysis to learn more. + */ + interface Schema$GooglePrivacyDlpV2RiskAnalysisJobConfig { + /** + * Actions to execute at the completion of the job. Are executed in the + * order provided. + */ + actions?: Schema$GooglePrivacyDlpV2Action[]; + /** + * Privacy metric to compute. + */ + privacyMetric?: Schema$GooglePrivacyDlpV2PrivacyMetric; + /** + * Input dataset to compute metrics over. + */ + sourceTable?: Schema$GooglePrivacyDlpV2BigQueryTable; + } + interface Schema$GooglePrivacyDlpV2Row { + values?: Schema$GooglePrivacyDlpV2Value[]; + } + /** + * If set, the detailed findings will be persisted to the specified + * OutputStorageConfig. Only a single instance of this action can be + * specified. Compatible with: Inspect, Risk + */ + interface Schema$GooglePrivacyDlpV2SaveFindings { + outputConfig?: Schema$GooglePrivacyDlpV2OutputStorageConfig; + } + /** + * Schedule for triggeredJobs. + */ + interface Schema$GooglePrivacyDlpV2Schedule { + /** + * With this option a job is started a regular periodic basis. For example: + * every day (86400 seconds). A scheduled start time will be skipped if the + * previous execution has not ended when its scheduled time occurs. This + * value must be set to a time duration greater than or equal to 1 day and + * can be no longer than 60 days. + */ + recurrencePeriodDuration?: string; + } + /** + * An auxiliary table containing statistical information on the relative + * frequency of different quasi-identifiers values. It has one or several + * quasi-identifiers columns, and one column that indicates the relative + * frequency of each quasi-identifier tuple. If a tuple is present in the data + * but not in the auxiliary table, the corresponding relative frequency is + * assumed to be zero (and thus, the tuple is highly reidentifiable). + */ + interface Schema$GooglePrivacyDlpV2StatisticalTable { + /** + * Quasi-identifier columns. [required] + */ + quasiIds?: Schema$GooglePrivacyDlpV2QuasiIdentifierField[]; + /** + * The relative frequency column must contain a floating-point number + * between 0 and 1 (inclusive). Null values are assumed to be zero. + * [required] + */ + relativeFrequency?: Schema$GooglePrivacyDlpV2FieldId; + /** + * Auxiliary table location. [required] + */ + table?: Schema$GooglePrivacyDlpV2BigQueryTable; + } + /** + * Shared message indicating Cloud storage type. + */ + interface Schema$GooglePrivacyDlpV2StorageConfig { + /** + * BigQuery options specification. + */ + bigQueryOptions?: Schema$GooglePrivacyDlpV2BigQueryOptions; + /** + * Google Cloud Storage options specification. + */ + cloudStorageOptions?: Schema$GooglePrivacyDlpV2CloudStorageOptions; + /** + * Google Cloud Datastore options specification. + */ + datastoreOptions?: Schema$GooglePrivacyDlpV2DatastoreOptions; + timespanConfig?: Schema$GooglePrivacyDlpV2TimespanConfig; + } + /** + * StoredInfoType resource message that contains information about the current + * version and any pending updates. + */ + interface Schema$GooglePrivacyDlpV2StoredInfoType { + /** + * Current version of the stored info type. + */ + currentVersion?: Schema$GooglePrivacyDlpV2StoredInfoTypeVersion; + /** + * Resource name. + */ + name?: string; + /** + * Pending versions of the stored info type. Empty if no versions are + * pending. + */ + pendingVersions?: Schema$GooglePrivacyDlpV2StoredInfoTypeVersion[]; + } + /** + * Configuration for a StoredInfoType. + */ + interface Schema$GooglePrivacyDlpV2StoredInfoTypeConfig { + /** + * Description of the StoredInfoType (max 256 characters). + */ + description?: string; + /** + * Display name of the StoredInfoType (max 256 characters). + */ + displayName?: string; + /** + * StoredInfoType where findings are defined by a dictionary of phrases. + */ + largeCustomDictionary?: Schema$GooglePrivacyDlpV2LargeCustomDictionaryConfig; + } + /** + * Version of a StoredInfoType, including the configuration used to build it, + * create timestamp, and current state. + */ + interface Schema$GooglePrivacyDlpV2StoredInfoTypeVersion { + /** + * StoredInfoType configuration. + */ + config?: Schema$GooglePrivacyDlpV2StoredInfoTypeConfig; + /** + * Create timestamp of the version. Read-only, determined by the system when + * the version is created. + */ + createTime?: string; + /** + * Errors that occurred when creating this storedInfoType version, or + * anomalies detected in the storedInfoType data that render it unusable. + * Only the five most recent errors will be displayed, with the most recent + * error appearing first. <p>For example, some of the data for stored + * custom dictionaries is put in the user's Google Cloud Storage bucket, + * and if this data is modified or deleted by the user or another system, + * the dictionary becomes invalid. <p>If any errors occur, fix the + * problem indicated by the error message and use the UpdateStoredInfoType + * API method to create another version of the storedInfoType to continue + * using it, reusing the same `config` if it was not the source of the + * error. + */ + errors?: Schema$GooglePrivacyDlpV2Error[]; + /** + * Stored info type version state. Read-only, updated by the system during + * dictionary creation. + */ + state?: string; + } + /** + * A reference to a StoredInfoType to use with scanning. + */ + interface Schema$GooglePrivacyDlpV2StoredType { + /** + * Timestamp indicating when the version of the `StoredInfoType` used for + * inspection was created. Output-only field, populated by the system. + */ + createTime?: string; + /** + * Resource name of the requested `StoredInfoType`, for example + * `organizations/433245324/storedInfoTypes/432452342` or + * `projects/project-id/storedInfoTypes/432452342`. + */ + name?: string; + } + /** + * A collection that informs the user the number of times a particular + * `TransformationResultCode` and error details occurred. + */ + interface Schema$GooglePrivacyDlpV2SummaryResult { + code?: string; + count?: string; + /** + * A place for warnings or errors to show up if a transformation didn't + * work as expected. + */ + details?: string; + } + /** + * Message for detecting output from deidentification transformations such as + * [`CryptoReplaceFfxFpeConfig`](/dlp/docs/reference/rest/v2/organizations.deidentifyTemplates#cryptoreplaceffxfpeconfig). + * These types of transformations are those that perform pseudonymization, + * thereby producing a "surrogate" as output. This should be used in + * conjunction with a field on the transformation such as + * `surrogate_info_type`. This CustomInfoType does not support the use of + * `detection_rules`. + */ + interface Schema$GooglePrivacyDlpV2SurrogateType { + } + /** + * Structured content to inspect. Up to 50,000 `Value`s per request allowed. + * See https://cloud.google.com/dlp/docs/inspecting-text#inspecting_a_table to + * learn more. + */ + interface Schema$GooglePrivacyDlpV2Table { + headers?: Schema$GooglePrivacyDlpV2FieldId[]; + rows?: Schema$GooglePrivacyDlpV2Row[]; + } + /** + * Location of a finding within a table. + */ + interface Schema$GooglePrivacyDlpV2TableLocation { + /** + * The zero-based index of the row where the finding is located. + */ + rowIndex?: string; + } + interface Schema$GooglePrivacyDlpV2TaggedField { + /** + * A column can be tagged with a custom tag. In this case, the user must + * indicate an auxiliary table that contains statistical information on the + * possible values of this column (below). + */ + customTag?: string; + /** + * Identifies the column. [required] + */ + field?: Schema$GooglePrivacyDlpV2FieldId; + /** + * If no semantic tag is indicated, we infer the statistical model from the + * distribution of values in the input data + */ + inferred?: Schema$GoogleProtobufEmpty; + /** + * A column can be tagged with a InfoType to use the relevant public dataset + * as a statistical model of population, if available. We currently support + * US ZIP codes, region codes, ages and genders. To programmatically obtain + * the list of supported InfoTypes, use ListInfoTypes with the + * supported_by=RISK_ANALYSIS filter. + */ + infoType?: Schema$GooglePrivacyDlpV2InfoType; + } + /** + * For use with `Date`, `Timestamp`, and `TimeOfDay`, extract or preserve a + * portion of the value. + */ + interface Schema$GooglePrivacyDlpV2TimePartConfig { + partToExtract?: string; + } + /** + * Configuration of the timespan of the items to include in scanning. + * Currently only supported when inspecting Google Cloud Storage and BigQuery. + */ + interface Schema$GooglePrivacyDlpV2TimespanConfig { + /** + * When the job is started by a JobTrigger we will automatically figure out + * a valid start_time to avoid scanning files that have not been modified + * since the last time the JobTrigger executed. This will be based on the + * time of the execution of the last run of the JobTrigger. + */ + enableAutoPopulationOfTimespanConfig?: boolean; + /** + * Exclude files or rows newer than this value. If set to zero, no upper + * time limit is applied. + */ + endTime?: string; + /** + * Exclude files or rows older than this value. + */ + startTime?: string; + /** + * Specification of the field containing the timestamp of scanned items. + * Used for data sources like Datastore or BigQuery. If not specified for + * BigQuery, table last modification timestamp is checked against given time + * span. The valid data types of the timestamp field are: for BigQuery - + * timestamp, date, datetime; for Datastore - timestamp. Datastore entity + * will be scanned if the timestamp property does not exist or its value is + * empty or invalid. + */ + timestampField?: Schema$GooglePrivacyDlpV2FieldId; + } + interface Schema$GooglePrivacyDlpV2TimeZone { + /** + * Set only if the offset can be determined. Positive for time ahead of UTC. + * E.g. For "UTC-9", this value is -540. + */ + offsetMinutes?: number; + } + /** + * Overview of the modifications that occurred. + */ + interface Schema$GooglePrivacyDlpV2TransformationOverview { + /** + * Transformations applied to the dataset. + */ + transformationSummaries?: Schema$GooglePrivacyDlpV2TransformationSummary[]; + /** + * Total size in bytes that were transformed in some way. + */ + transformedBytes?: string; + } + /** + * Summary of a single tranformation. Only one of 'transformation', + * 'field_transformation', or 'record_suppress' will be set. + */ + interface Schema$GooglePrivacyDlpV2TransformationSummary { + /** + * Set if the transformation was limited to a specific FieldId. + */ + field?: Schema$GooglePrivacyDlpV2FieldId; + /** + * The field transformation that was applied. If multiple field + * transformations are requested for a single field, this list will contain + * all of them; otherwise, only one is supplied. + */ + fieldTransformations?: Schema$GooglePrivacyDlpV2FieldTransformation[]; + /** + * Set if the transformation was limited to a specific info_type. + */ + infoType?: Schema$GooglePrivacyDlpV2InfoType; + /** + * The specific suppression option these stats apply to. + */ + recordSuppress?: Schema$GooglePrivacyDlpV2RecordSuppression; + results?: Schema$GooglePrivacyDlpV2SummaryResult[]; + /** + * The specific transformation these stats apply to. + */ + transformation?: Schema$GooglePrivacyDlpV2PrimitiveTransformation; + /** + * Total size in bytes that were transformed in some way. + */ + transformedBytes?: string; + } + /** + * Use this to have a random data crypto key generated. It will be discarded + * after the request finishes. + */ + interface Schema$GooglePrivacyDlpV2TransientCryptoKey { + /** + * Name of the key. [required] This is an arbitrary string used to + * differentiate different keys. A unique key is generated per name: two + * separate `TransientCryptoKey` protos share the same generated key if + * their names are the same. When the data crypto key is generated, this + * name is not used in any way (repeating the api call will result in a + * different key being generated). + */ + name?: string; + } + /** + * What event needs to occur for a new job to be started. + */ + interface Schema$GooglePrivacyDlpV2Trigger { + /** + * Create a job on a repeating basis based on the elapse of time. + */ + schedule?: Schema$GooglePrivacyDlpV2Schedule; + } + /** + * Using raw keys is prone to security risks due to accidentally leaking the + * key. Choose another type of key if possible. + */ + interface Schema$GooglePrivacyDlpV2UnwrappedCryptoKey { + /** + * The AES 128/192/256 bit key. [required] + */ + key?: string; + } + /** + * Request message for UpdateDeidentifyTemplate. + */ + interface Schema$GooglePrivacyDlpV2UpdateDeidentifyTemplateRequest { + /** + * New DeidentifyTemplate value. + */ + deidentifyTemplate?: Schema$GooglePrivacyDlpV2DeidentifyTemplate; + /** + * Mask to control which fields get updated. + */ + updateMask?: string; + } + /** + * Request message for UpdateInspectTemplate. + */ + interface Schema$GooglePrivacyDlpV2UpdateInspectTemplateRequest { + /** + * New InspectTemplate value. + */ + inspectTemplate?: Schema$GooglePrivacyDlpV2InspectTemplate; + /** + * Mask to control which fields get updated. + */ + updateMask?: string; + } + /** + * Request message for UpdateJobTrigger. + */ + interface Schema$GooglePrivacyDlpV2UpdateJobTriggerRequest { + /** + * New JobTrigger value. + */ + jobTrigger?: Schema$GooglePrivacyDlpV2JobTrigger; + /** + * Mask to control which fields get updated. + */ + updateMask?: string; + } + /** + * Request message for UpdateStoredInfoType. + */ + interface Schema$GooglePrivacyDlpV2UpdateStoredInfoTypeRequest { + /** + * Updated configuration for the storedInfoType. If not provided, a new + * version of the storedInfoType will be created with the existing + * configuration. + */ + config?: Schema$GooglePrivacyDlpV2StoredInfoTypeConfig; + /** + * Mask to control which fields get updated. + */ + updateMask?: string; + } + /** + * Set of primitive values supported by the system. Note that for the purposes + * of inspection or transformation, the number of bytes considered to comprise + * a 'Value' is based on its representation as a UTF-8 encoded string. + * For example, if 'integer_value' is set to 123456789, the number of + * bytes would be counted as 9, even though an int64 only holds up to 8 bytes + * of data. + */ + interface Schema$GooglePrivacyDlpV2Value { + booleanValue?: boolean; + dateValue?: Schema$GoogleTypeDate; + dayOfWeekValue?: string; + floatValue?: number; + integerValue?: string; + stringValue?: string; + timestampValue?: string; + timeValue?: Schema$GoogleTypeTimeOfDay; + } + /** + * A value of a field, including its frequency. + */ + interface Schema$GooglePrivacyDlpV2ValueFrequency { + /** + * How many times the value is contained in the field. + */ + count?: string; + /** + * A value contained in the field in question. + */ + value?: Schema$GooglePrivacyDlpV2Value; + } + /** + * Message defining a list of words or phrases to search for in the data. + */ + interface Schema$GooglePrivacyDlpV2WordList { + /** + * Words or phrases defining the dictionary. The dictionary must contain at + * least one phrase and every phrase must contain at least 2 characters that + * are letters or digits. [required] + */ + words?: string[]; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$GoogleProtobufEmpty { + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$GoogleRpcStatus { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + /** + * Represents a whole or partial calendar date, e.g. a birthday. The time of + * day and time zone are either specified elsewhere or are not significant. + * The date is relative to the Proleptic Gregorian Calendar. This can + * represent: * A full date, with non-zero year, month and day values * A + * month and day value, with a zero year, e.g. an anniversary * A year on its + * own, with zero month and day values * A year and month value, with a zero + * day, e.g. a credit card expiration date Related types are + * google.type.TimeOfDay and `google.protobuf.Timestamp`. + */ + interface Schema$GoogleTypeDate { + /** + * Day of month. Must be from 1 to 31 and valid for the year and month, or 0 + * if specifying a year by itself or a year and month where the day is not + * significant. + */ + day?: number; + /** + * Month of year. Must be from 1 to 12, or 0 if specifying a year without a + * month and day. + */ + month?: number; + /** + * Year of date. Must be from 1 to 9999, or 0 if specifying a date without a + * year. + */ + year?: number; + } + /** + * Represents a time of day. The date and time zone are either not significant + * or are specified elsewhere. An API may choose to allow leap seconds. + * Related types are google.type.Date and `google.protobuf.Timestamp`. + */ + interface Schema$GoogleTypeTimeOfDay { + /** + * Hours of day in 24 hour format. Should be from 0 to 23. An API may choose + * to allow the value "24:00:00" for scenarios like business + * closing time. + */ + hours?: number; + /** + * Minutes of hour of day. Must be from 0 to 59. + */ + minutes?: number; + /** + * Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + */ + nanos?: number; + /** + * Seconds of minutes of the time. Must normally be from 0 to 59. An API may + * allow the value 60 if it allows leap-seconds. + */ + seconds?: number; + } + class Resource$Infotypes { + root: Dlp; + constructor(root: Dlp); + getRoot(): Dlp; + /** + * dlp.infoTypes.list + * @desc Returns a list of the sensitive information types that the DLP API + * supports. See https://cloud.google.com/dlp/docs/infotypes-reference to + * learn more. + * @alias dlp.infoTypes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter Optional filter to only return infoTypes supported by certain parts of the API. Defaults to supported_by=INSPECT. + * @param {string=} params.languageCode Optional BCP-47 language code for localized infoType friendly names. If omitted, or if localized strings are not available, en-US strings will be returned. + * @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?: Params$Resource$Infotypes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Infotypes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Infotypes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Infotypes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional filter to only return infoTypes supported by certain parts of + * the API. Defaults to supported_by=INSPECT. + */ + filter?: string; + /** + * Optional BCP-47 language code for localized infoType friendly names. If + * omitted, or if localized strings are not available, en-US strings will be + * returned. + */ + languageCode?: string; + } + class Resource$Organizations { + root: Dlp; + deidentifyTemplates: Resource$Organizations$Deidentifytemplates; + inspectTemplates: Resource$Organizations$Inspecttemplates; + storedInfoTypes: Resource$Organizations$Storedinfotypes; + constructor(root: Dlp); + getRoot(): Dlp; + } + class Resource$Organizations$Deidentifytemplates { + root: Dlp; + constructor(root: Dlp); + getRoot(): Dlp; + /** + * dlp.organizations.deidentifyTemplates.create + * @desc Creates a DeidentifyTemplate for re-using frequently used + * configuration for de-identifying content, images, and storage. See + * https://cloud.google.com/dlp/docs/creating-templates-deid to learn more. + * @alias dlp.organizations.deidentifyTemplates.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent The parent resource name, for example projects/my-project-id or organizations/my-org-id. + * @param {().GooglePrivacyDlpV2CreateDeidentifyTemplateRequest} 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 + */ + create(params?: Params$Resource$Organizations$Deidentifytemplates$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Organizations$Deidentifytemplates$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Organizations$Deidentifytemplates$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * dlp.organizations.deidentifyTemplates.delete + * @desc Deletes a DeidentifyTemplate. See + * https://cloud.google.com/dlp/docs/creating-templates-deid to learn more. + * @alias dlp.organizations.deidentifyTemplates.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Resource name of the organization and deidentify template to be deleted, for example `organizations/433245324/deidentifyTemplates/432452342` or projects/project-id/deidentifyTemplates/432452342. + * @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?: Params$Resource$Organizations$Deidentifytemplates$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Organizations$Deidentifytemplates$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Organizations$Deidentifytemplates$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dlp.organizations.deidentifyTemplates.get + * @desc Gets a DeidentifyTemplate. See + * https://cloud.google.com/dlp/docs/creating-templates-deid to learn more. + * @alias dlp.organizations.deidentifyTemplates.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Resource name of the organization and deidentify template to be read, for example `organizations/433245324/deidentifyTemplates/432452342` or projects/project-id/deidentifyTemplates/432452342. + * @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?: Params$Resource$Organizations$Deidentifytemplates$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Organizations$Deidentifytemplates$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Organizations$Deidentifytemplates$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dlp.organizations.deidentifyTemplates.list + * @desc Lists DeidentifyTemplates. See + * https://cloud.google.com/dlp/docs/creating-templates-deid to learn more. + * @alias dlp.organizations.deidentifyTemplates.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.orderBy Optional comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc,update_time, create_time desc` Supported fields are: - `create_time`: corresponds to time the template was created. - `update_time`: corresponds to time the template was last updated. - `name`: corresponds to template's name. - `display_name`: corresponds to template's display name. + * @param {integer=} params.pageSize Optional size of the page, can be limited by server. If zero server returns a page of max size 100. + * @param {string=} params.pageToken Optional page token to continue retrieval. Comes from previous call to `ListDeidentifyTemplates`. + * @param {string} params.parent The parent resource name, for example projects/my-project-id or organizations/my-org-id. + * @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?: Params$Resource$Organizations$Deidentifytemplates$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Organizations$Deidentifytemplates$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Organizations$Deidentifytemplates$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dlp.organizations.deidentifyTemplates.patch + * @desc Updates the DeidentifyTemplate. See + * https://cloud.google.com/dlp/docs/creating-templates-deid to learn more. + * @alias dlp.organizations.deidentifyTemplates.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Resource name of organization and deidentify template to be updated, for example `organizations/433245324/deidentifyTemplates/432452342` or projects/project-id/deidentifyTemplates/432452342. + * @param {().GooglePrivacyDlpV2UpdateDeidentifyTemplateRequest} 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 + */ + patch(params?: Params$Resource$Organizations$Deidentifytemplates$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Organizations$Deidentifytemplates$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Organizations$Deidentifytemplates$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Organizations$Deidentifytemplates$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The parent resource name, for example projects/my-project-id or + * organizations/my-org-id. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GooglePrivacyDlpV2CreateDeidentifyTemplateRequest; + } + interface Params$Resource$Organizations$Deidentifytemplates$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Resource name of the organization and deidentify template to be deleted, + * for example `organizations/433245324/deidentifyTemplates/432452342` or + * projects/project-id/deidentifyTemplates/432452342. + */ + name?: string; + } + interface Params$Resource$Organizations$Deidentifytemplates$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Resource name of the organization and deidentify template to be read, for + * example `organizations/433245324/deidentifyTemplates/432452342` or + * projects/project-id/deidentifyTemplates/432452342. + */ + name?: string; + } + interface Params$Resource$Organizations$Deidentifytemplates$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional comma separated list of fields to order by, followed by `asc` or + * `desc` postfix. This list is case-insensitive, default sorting order is + * ascending, redundant space characters are insignificant. Example: `name + * asc,update_time, create_time desc` Supported fields are: - + * `create_time`: corresponds to time the template was created. - + * `update_time`: corresponds to time the template was last updated. - + * `name`: corresponds to template's name. - `display_name`: corresponds to + * template's display name. + */ + orderBy?: string; + /** + * Optional size of the page, can be limited by server. If zero server + * returns a page of max size 100. + */ + pageSize?: number; + /** + * Optional page token to continue retrieval. Comes from previous call to + * `ListDeidentifyTemplates`. + */ + pageToken?: string; + /** + * The parent resource name, for example projects/my-project-id or + * organizations/my-org-id. + */ + parent?: string; + } + interface Params$Resource$Organizations$Deidentifytemplates$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Resource name of organization and deidentify template to be updated, for + * example `organizations/433245324/deidentifyTemplates/432452342` or + * projects/project-id/deidentifyTemplates/432452342. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GooglePrivacyDlpV2UpdateDeidentifyTemplateRequest; + } + class Resource$Organizations$Inspecttemplates { + root: Dlp; + constructor(root: Dlp); + getRoot(): Dlp; + /** + * dlp.organizations.inspectTemplates.create + * @desc Creates an InspectTemplate for re-using frequently used + * configuration for inspecting content, images, and storage. See + * https://cloud.google.com/dlp/docs/creating-templates to learn more. + * @alias dlp.organizations.inspectTemplates.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent The parent resource name, for example projects/my-project-id or organizations/my-org-id. + * @param {().GooglePrivacyDlpV2CreateInspectTemplateRequest} 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 + */ + create(params?: Params$Resource$Organizations$Inspecttemplates$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Organizations$Inspecttemplates$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Organizations$Inspecttemplates$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * dlp.organizations.inspectTemplates.delete + * @desc Deletes an InspectTemplate. See + * https://cloud.google.com/dlp/docs/creating-templates to learn more. + * @alias dlp.organizations.inspectTemplates.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Resource name of the organization and inspectTemplate to be deleted, for example `organizations/433245324/inspectTemplates/432452342` or projects/project-id/inspectTemplates/432452342. + * @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?: Params$Resource$Organizations$Inspecttemplates$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Organizations$Inspecttemplates$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Organizations$Inspecttemplates$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dlp.organizations.inspectTemplates.get + * @desc Gets an InspectTemplate. See + * https://cloud.google.com/dlp/docs/creating-templates to learn more. + * @alias dlp.organizations.inspectTemplates.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Resource name of the organization and inspectTemplate to be read, for example `organizations/433245324/inspectTemplates/432452342` or projects/project-id/inspectTemplates/432452342. + * @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?: Params$Resource$Organizations$Inspecttemplates$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Organizations$Inspecttemplates$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Organizations$Inspecttemplates$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dlp.organizations.inspectTemplates.list + * @desc Lists InspectTemplates. See + * https://cloud.google.com/dlp/docs/creating-templates to learn more. + * @alias dlp.organizations.inspectTemplates.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.orderBy Optional comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc,update_time, create_time desc` Supported fields are: - `create_time`: corresponds to time the template was created. - `update_time`: corresponds to time the template was last updated. - `name`: corresponds to template's name. - `display_name`: corresponds to template's display name. + * @param {integer=} params.pageSize Optional size of the page, can be limited by server. If zero server returns a page of max size 100. + * @param {string=} params.pageToken Optional page token to continue retrieval. Comes from previous call to `ListInspectTemplates`. + * @param {string} params.parent The parent resource name, for example projects/my-project-id or organizations/my-org-id. + * @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?: Params$Resource$Organizations$Inspecttemplates$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Organizations$Inspecttemplates$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Organizations$Inspecttemplates$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dlp.organizations.inspectTemplates.patch + * @desc Updates the InspectTemplate. See + * https://cloud.google.com/dlp/docs/creating-templates to learn more. + * @alias dlp.organizations.inspectTemplates.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Resource name of organization and inspectTemplate to be updated, for example `organizations/433245324/inspectTemplates/432452342` or projects/project-id/inspectTemplates/432452342. + * @param {().GooglePrivacyDlpV2UpdateInspectTemplateRequest} 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 + */ + patch(params?: Params$Resource$Organizations$Inspecttemplates$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Organizations$Inspecttemplates$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Organizations$Inspecttemplates$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Organizations$Inspecttemplates$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The parent resource name, for example projects/my-project-id or + * organizations/my-org-id. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GooglePrivacyDlpV2CreateInspectTemplateRequest; + } + interface Params$Resource$Organizations$Inspecttemplates$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Resource name of the organization and inspectTemplate to be deleted, for + * example `organizations/433245324/inspectTemplates/432452342` or + * projects/project-id/inspectTemplates/432452342. + */ + name?: string; + } + interface Params$Resource$Organizations$Inspecttemplates$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Resource name of the organization and inspectTemplate to be read, for + * example `organizations/433245324/inspectTemplates/432452342` or + * projects/project-id/inspectTemplates/432452342. + */ + name?: string; + } + interface Params$Resource$Organizations$Inspecttemplates$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional comma separated list of fields to order by, followed by `asc` or + * `desc` postfix. This list is case-insensitive, default sorting order is + * ascending, redundant space characters are insignificant. Example: `name + * asc,update_time, create_time desc` Supported fields are: - + * `create_time`: corresponds to time the template was created. - + * `update_time`: corresponds to time the template was last updated. - + * `name`: corresponds to template's name. - `display_name`: corresponds to + * template's display name. + */ + orderBy?: string; + /** + * Optional size of the page, can be limited by server. If zero server + * returns a page of max size 100. + */ + pageSize?: number; + /** + * Optional page token to continue retrieval. Comes from previous call to + * `ListInspectTemplates`. + */ + pageToken?: string; + /** + * The parent resource name, for example projects/my-project-id or + * organizations/my-org-id. + */ + parent?: string; + } + interface Params$Resource$Organizations$Inspecttemplates$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Resource name of organization and inspectTemplate to be updated, for + * example `organizations/433245324/inspectTemplates/432452342` or + * projects/project-id/inspectTemplates/432452342. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GooglePrivacyDlpV2UpdateInspectTemplateRequest; + } + class Resource$Organizations$Storedinfotypes { + root: Dlp; + constructor(root: Dlp); + getRoot(): Dlp; + /** + * dlp.organizations.storedInfoTypes.create + * @desc Creates a pre-built stored infoType to be used for inspection. See + * https://cloud.google.com/dlp/docs/creating-stored-infotypes to learn + * more. + * @alias dlp.organizations.storedInfoTypes.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent The parent resource name, for example projects/my-project-id or organizations/my-org-id. + * @param {().GooglePrivacyDlpV2CreateStoredInfoTypeRequest} 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 + */ + create(params?: Params$Resource$Organizations$Storedinfotypes$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Organizations$Storedinfotypes$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Organizations$Storedinfotypes$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * dlp.organizations.storedInfoTypes.delete + * @desc Deletes a stored infoType. See + * https://cloud.google.com/dlp/docs/creating-stored-infotypes to learn + * more. + * @alias dlp.organizations.storedInfoTypes.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Resource name of the organization and storedInfoType to be deleted, for example `organizations/433245324/storedInfoTypes/432452342` or projects/project-id/storedInfoTypes/432452342. + * @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?: Params$Resource$Organizations$Storedinfotypes$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Organizations$Storedinfotypes$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Organizations$Storedinfotypes$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dlp.organizations.storedInfoTypes.get + * @desc Gets a stored infoType. See + * https://cloud.google.com/dlp/docs/creating-stored-infotypes to learn + * more. + * @alias dlp.organizations.storedInfoTypes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Resource name of the organization and storedInfoType to be read, for example `organizations/433245324/storedInfoTypes/432452342` or projects/project-id/storedInfoTypes/432452342. + * @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?: Params$Resource$Organizations$Storedinfotypes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Organizations$Storedinfotypes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Organizations$Storedinfotypes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dlp.organizations.storedInfoTypes.list + * @desc Lists stored infoTypes. See + * https://cloud.google.com/dlp/docs/creating-stored-infotypes to learn + * more. + * @alias dlp.organizations.storedInfoTypes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Optional size of the page, can be limited by server. If zero server returns a page of max size 100. + * @param {string=} params.pageToken Optional page token to continue retrieval. Comes from previous call to `ListStoredInfoTypes`. + * @param {string} params.parent The parent resource name, for example projects/my-project-id or organizations/my-org-id. + * @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?: Params$Resource$Organizations$Storedinfotypes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Organizations$Storedinfotypes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Organizations$Storedinfotypes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dlp.organizations.storedInfoTypes.patch + * @desc Updates the stored infoType by creating a new version. The existing + * version will continue to be used until the new version is ready. See + * https://cloud.google.com/dlp/docs/creating-stored-infotypes to learn + * more. + * @alias dlp.organizations.storedInfoTypes.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Resource name of organization and storedInfoType to be updated, for example `organizations/433245324/storedInfoTypes/432452342` or projects/project-id/storedInfoTypes/432452342. + * @param {().GooglePrivacyDlpV2UpdateStoredInfoTypeRequest} 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 + */ + patch(params?: Params$Resource$Organizations$Storedinfotypes$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Organizations$Storedinfotypes$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Organizations$Storedinfotypes$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Organizations$Storedinfotypes$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The parent resource name, for example projects/my-project-id or + * organizations/my-org-id. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GooglePrivacyDlpV2CreateStoredInfoTypeRequest; + } + interface Params$Resource$Organizations$Storedinfotypes$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Resource name of the organization and storedInfoType to be deleted, for + * example `organizations/433245324/storedInfoTypes/432452342` or + * projects/project-id/storedInfoTypes/432452342. + */ + name?: string; + } + interface Params$Resource$Organizations$Storedinfotypes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Resource name of the organization and storedInfoType to be read, for + * example `organizations/433245324/storedInfoTypes/432452342` or + * projects/project-id/storedInfoTypes/432452342. + */ + name?: string; + } + interface Params$Resource$Organizations$Storedinfotypes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional size of the page, can be limited by server. If zero server + * returns a page of max size 100. + */ + pageSize?: number; + /** + * Optional page token to continue retrieval. Comes from previous call to + * `ListStoredInfoTypes`. + */ + pageToken?: string; + /** + * The parent resource name, for example projects/my-project-id or + * organizations/my-org-id. + */ + parent?: string; + } + interface Params$Resource$Organizations$Storedinfotypes$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Resource name of organization and storedInfoType to be updated, for + * example `organizations/433245324/storedInfoTypes/432452342` or + * projects/project-id/storedInfoTypes/432452342. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GooglePrivacyDlpV2UpdateStoredInfoTypeRequest; + } + class Resource$Projects { + root: Dlp; + content: Resource$Projects$Content; + deidentifyTemplates: Resource$Projects$Deidentifytemplates; + dlpJobs: Resource$Projects$Dlpjobs; + image: Resource$Projects$Image; + inspectTemplates: Resource$Projects$Inspecttemplates; + jobTriggers: Resource$Projects$Jobtriggers; + storedInfoTypes: Resource$Projects$Storedinfotypes; + constructor(root: Dlp); + getRoot(): Dlp; + } + class Resource$Projects$Content { + root: Dlp; + constructor(root: Dlp); + getRoot(): Dlp; + /** + * dlp.projects.content.deidentify + * @desc De-identifies potentially sensitive info from a ContentItem. This + * method has limits on input size and output size. See + * https://cloud.google.com/dlp/docs/deidentify-sensitive-data to learn + * more. When no InfoTypes or CustomInfoTypes are specified in this + * request, the system will automatically choose what detectors to run. By + * default this may be all types, but may change over time as detectors are + * updated. + * @alias dlp.projects.content.deidentify + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent The parent resource name, for example projects/my-project-id. + * @param {().GooglePrivacyDlpV2DeidentifyContentRequest} 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 + */ + deidentify(params?: Params$Resource$Projects$Content$Deidentify, options?: MethodOptions): AxiosPromise; + deidentify(params: Params$Resource$Projects$Content$Deidentify, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + deidentify(params: Params$Resource$Projects$Content$Deidentify, callback: BodyResponseCallback): void; + deidentify(callback: BodyResponseCallback): void; + /** + * dlp.projects.content.inspect + * @desc Finds potentially sensitive info in content. This method has limits + * on input size, processing time, and output size. When no InfoTypes or + * CustomInfoTypes are specified in this request, the system will + * automatically choose what detectors to run. By default this may be all + * types, but may change over time as detectors are updated. For how to + * guides, see https://cloud.google.com/dlp/docs/inspecting-images and + * https://cloud.google.com/dlp/docs/inspecting-text, + * @alias dlp.projects.content.inspect + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent The parent resource name, for example projects/my-project-id. + * @param {().GooglePrivacyDlpV2InspectContentRequest} 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 + */ + inspect(params?: Params$Resource$Projects$Content$Inspect, options?: MethodOptions): AxiosPromise; + inspect(params: Params$Resource$Projects$Content$Inspect, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + inspect(params: Params$Resource$Projects$Content$Inspect, callback: BodyResponseCallback): void; + inspect(callback: BodyResponseCallback): void; + /** + * dlp.projects.content.reidentify + * @desc Re-identifies content that has been de-identified. See + * https://cloud.google.com/dlp/docs/pseudonymization#re-identification_in_free_text_code_example + * to learn more. + * @alias dlp.projects.content.reidentify + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent The parent resource name. + * @param {().GooglePrivacyDlpV2ReidentifyContentRequest} 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 + */ + reidentify(params?: Params$Resource$Projects$Content$Reidentify, options?: MethodOptions): AxiosPromise; + reidentify(params: Params$Resource$Projects$Content$Reidentify, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + reidentify(params: Params$Resource$Projects$Content$Reidentify, callback: BodyResponseCallback): void; + reidentify(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Content$Deidentify { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The parent resource name, for example projects/my-project-id. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GooglePrivacyDlpV2DeidentifyContentRequest; + } + interface Params$Resource$Projects$Content$Inspect { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The parent resource name, for example projects/my-project-id. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GooglePrivacyDlpV2InspectContentRequest; + } + interface Params$Resource$Projects$Content$Reidentify { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The parent resource name. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GooglePrivacyDlpV2ReidentifyContentRequest; + } + class Resource$Projects$Deidentifytemplates { + root: Dlp; + constructor(root: Dlp); + getRoot(): Dlp; + /** + * dlp.projects.deidentifyTemplates.create + * @desc Creates a DeidentifyTemplate for re-using frequently used + * configuration for de-identifying content, images, and storage. See + * https://cloud.google.com/dlp/docs/creating-templates-deid to learn more. + * @alias dlp.projects.deidentifyTemplates.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent The parent resource name, for example projects/my-project-id or organizations/my-org-id. + * @param {().GooglePrivacyDlpV2CreateDeidentifyTemplateRequest} 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 + */ + create(params?: Params$Resource$Projects$Deidentifytemplates$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Deidentifytemplates$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Deidentifytemplates$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * dlp.projects.deidentifyTemplates.delete + * @desc Deletes a DeidentifyTemplate. See + * https://cloud.google.com/dlp/docs/creating-templates-deid to learn more. + * @alias dlp.projects.deidentifyTemplates.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Resource name of the organization and deidentify template to be deleted, for example `organizations/433245324/deidentifyTemplates/432452342` or projects/project-id/deidentifyTemplates/432452342. + * @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?: Params$Resource$Projects$Deidentifytemplates$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Deidentifytemplates$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Deidentifytemplates$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dlp.projects.deidentifyTemplates.get + * @desc Gets a DeidentifyTemplate. See + * https://cloud.google.com/dlp/docs/creating-templates-deid to learn more. + * @alias dlp.projects.deidentifyTemplates.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Resource name of the organization and deidentify template to be read, for example `organizations/433245324/deidentifyTemplates/432452342` or projects/project-id/deidentifyTemplates/432452342. + * @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?: Params$Resource$Projects$Deidentifytemplates$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Deidentifytemplates$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Deidentifytemplates$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dlp.projects.deidentifyTemplates.list + * @desc Lists DeidentifyTemplates. See + * https://cloud.google.com/dlp/docs/creating-templates-deid to learn more. + * @alias dlp.projects.deidentifyTemplates.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.orderBy Optional comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc,update_time, create_time desc` Supported fields are: - `create_time`: corresponds to time the template was created. - `update_time`: corresponds to time the template was last updated. - `name`: corresponds to template's name. - `display_name`: corresponds to template's display name. + * @param {integer=} params.pageSize Optional size of the page, can be limited by server. If zero server returns a page of max size 100. + * @param {string=} params.pageToken Optional page token to continue retrieval. Comes from previous call to `ListDeidentifyTemplates`. + * @param {string} params.parent The parent resource name, for example projects/my-project-id or organizations/my-org-id. + * @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?: Params$Resource$Projects$Deidentifytemplates$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Deidentifytemplates$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Deidentifytemplates$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dlp.projects.deidentifyTemplates.patch + * @desc Updates the DeidentifyTemplate. See + * https://cloud.google.com/dlp/docs/creating-templates-deid to learn more. + * @alias dlp.projects.deidentifyTemplates.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Resource name of organization and deidentify template to be updated, for example `organizations/433245324/deidentifyTemplates/432452342` or projects/project-id/deidentifyTemplates/432452342. + * @param {().GooglePrivacyDlpV2UpdateDeidentifyTemplateRequest} 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 + */ + patch(params?: Params$Resource$Projects$Deidentifytemplates$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Deidentifytemplates$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Deidentifytemplates$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Deidentifytemplates$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The parent resource name, for example projects/my-project-id or + * organizations/my-org-id. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GooglePrivacyDlpV2CreateDeidentifyTemplateRequest; + } + interface Params$Resource$Projects$Deidentifytemplates$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Resource name of the organization and deidentify template to be deleted, + * for example `organizations/433245324/deidentifyTemplates/432452342` or + * projects/project-id/deidentifyTemplates/432452342. + */ + name?: string; + } + interface Params$Resource$Projects$Deidentifytemplates$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Resource name of the organization and deidentify template to be read, for + * example `organizations/433245324/deidentifyTemplates/432452342` or + * projects/project-id/deidentifyTemplates/432452342. + */ + name?: string; + } + interface Params$Resource$Projects$Deidentifytemplates$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional comma separated list of fields to order by, followed by `asc` or + * `desc` postfix. This list is case-insensitive, default sorting order is + * ascending, redundant space characters are insignificant. Example: `name + * asc,update_time, create_time desc` Supported fields are: - + * `create_time`: corresponds to time the template was created. - + * `update_time`: corresponds to time the template was last updated. - + * `name`: corresponds to template's name. - `display_name`: corresponds to + * template's display name. + */ + orderBy?: string; + /** + * Optional size of the page, can be limited by server. If zero server + * returns a page of max size 100. + */ + pageSize?: number; + /** + * Optional page token to continue retrieval. Comes from previous call to + * `ListDeidentifyTemplates`. + */ + pageToken?: string; + /** + * The parent resource name, for example projects/my-project-id or + * organizations/my-org-id. + */ + parent?: string; + } + interface Params$Resource$Projects$Deidentifytemplates$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Resource name of organization and deidentify template to be updated, for + * example `organizations/433245324/deidentifyTemplates/432452342` or + * projects/project-id/deidentifyTemplates/432452342. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GooglePrivacyDlpV2UpdateDeidentifyTemplateRequest; + } + class Resource$Projects$Dlpjobs { + root: Dlp; + constructor(root: Dlp); + getRoot(): Dlp; + /** + * dlp.projects.dlpJobs.cancel + * @desc Starts asynchronous cancellation on a long-running DlpJob. The + * server makes a best effort to cancel the DlpJob, but success is not + * guaranteed. See https://cloud.google.com/dlp/docs/inspecting-storage and + * https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more. + * @alias dlp.projects.dlpJobs.cancel + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the DlpJob resource to be cancelled. + * @param {().GooglePrivacyDlpV2CancelDlpJobRequest} 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 + */ + cancel(params?: Params$Resource$Projects$Dlpjobs$Cancel, options?: MethodOptions): AxiosPromise; + cancel(params: Params$Resource$Projects$Dlpjobs$Cancel, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + cancel(params: Params$Resource$Projects$Dlpjobs$Cancel, callback: BodyResponseCallback): void; + cancel(callback: BodyResponseCallback): void; + /** + * dlp.projects.dlpJobs.create + * @desc Creates a new job to inspect storage or calculate risk metrics. See + * https://cloud.google.com/dlp/docs/inspecting-storage and + * https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more. + * When no InfoTypes or CustomInfoTypes are specified in inspect jobs, the + * system will automatically choose what detectors to run. By default this + * may be all types, but may change over time as detectors are updated. + * @alias dlp.projects.dlpJobs.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent The parent resource name, for example projects/my-project-id. + * @param {().GooglePrivacyDlpV2CreateDlpJobRequest} 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 + */ + create(params?: Params$Resource$Projects$Dlpjobs$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Dlpjobs$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Dlpjobs$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * dlp.projects.dlpJobs.delete + * @desc Deletes a long-running DlpJob. This method indicates that the + * client is no longer interested in the DlpJob result. The job will be + * cancelled if possible. See + * https://cloud.google.com/dlp/docs/inspecting-storage and + * https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more. + * @alias dlp.projects.dlpJobs.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the DlpJob resource to be deleted. + * @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?: Params$Resource$Projects$Dlpjobs$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Dlpjobs$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Dlpjobs$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dlp.projects.dlpJobs.get + * @desc Gets the latest state of a long-running DlpJob. See + * https://cloud.google.com/dlp/docs/inspecting-storage and + * https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more. + * @alias dlp.projects.dlpJobs.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the DlpJob resource. + * @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?: Params$Resource$Projects$Dlpjobs$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Dlpjobs$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Dlpjobs$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dlp.projects.dlpJobs.list + * @desc Lists DlpJobs that match the specified filter in the request. See + * https://cloud.google.com/dlp/docs/inspecting-storage and + * https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more. + * @alias dlp.projects.dlpJobs.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter Optional. Allows filtering. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of ` `. * Supported fields/values for inspect jobs: - `state` - PENDING|RUNNING|CANCELED|FINISHED|FAILED - `inspected_storage` - DATASTORE|CLOUD_STORAGE|BIGQUERY - `trigger_name` - The resource name of the trigger that created job. * Supported fields for risk analysis jobs: - `state` - RUNNING|CANCELED|FINISHED|FAILED * The operator must be `=` or `!=`. Examples: * inspected_storage = cloud_storage AND state = done * inspected_storage = cloud_storage OR inspected_storage = bigquery * inspected_storage = cloud_storage AND (state = done OR state = canceled) The length of this field should be no more than 500 characters. + * @param {integer=} params.pageSize The standard list page size. + * @param {string=} params.pageToken The standard list page token. + * @param {string} params.parent The parent resource name, for example projects/my-project-id. + * @param {string=} params.type The type of job. Defaults to `DlpJobType.INSPECT` + * @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?: Params$Resource$Projects$Dlpjobs$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Dlpjobs$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Dlpjobs$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Dlpjobs$Cancel { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the DlpJob resource to be cancelled. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GooglePrivacyDlpV2CancelDlpJobRequest; + } + interface Params$Resource$Projects$Dlpjobs$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The parent resource name, for example projects/my-project-id. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GooglePrivacyDlpV2CreateDlpJobRequest; + } + interface Params$Resource$Projects$Dlpjobs$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the DlpJob resource to be deleted. + */ + name?: string; + } + interface Params$Resource$Projects$Dlpjobs$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the DlpJob resource. + */ + name?: string; + } + interface Params$Resource$Projects$Dlpjobs$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. Allows filtering. Supported syntax: * Filter expressions are + * made up of one or more restrictions. * Restrictions can be combined by + * `AND` or `OR` logical operators. A sequence of restrictions implicitly + * uses `AND`. * A restriction has the form of ` `. + * * Supported fields/values for inspect jobs: - `state` - + * PENDING|RUNNING|CANCELED|FINISHED|FAILED - `inspected_storage` - + * DATASTORE|CLOUD_STORAGE|BIGQUERY - `trigger_name` - The resource name + * of the trigger that created job. * Supported fields for risk analysis + * jobs: - `state` - RUNNING|CANCELED|FINISHED|FAILED * The operator + * must be `=` or `!=`. Examples: * inspected_storage = cloud_storage AND + * state = done * inspected_storage = cloud_storage OR inspected_storage = + * bigquery * inspected_storage = cloud_storage AND (state = done OR state = + * canceled) The length of this field should be no more than 500 + * characters. + */ + filter?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + /** + * The parent resource name, for example projects/my-project-id. + */ + parent?: string; + /** + * The type of job. Defaults to `DlpJobType.INSPECT` + */ + type?: string; + } + class Resource$Projects$Image { + root: Dlp; + constructor(root: Dlp); + getRoot(): Dlp; + /** + * dlp.projects.image.redact + * @desc Redacts potentially sensitive info from an image. This method has + * limits on input size, processing time, and output size. See + * https://cloud.google.com/dlp/docs/redacting-sensitive-data-images to + * learn more. When no InfoTypes or CustomInfoTypes are specified in this + * request, the system will automatically choose what detectors to run. By + * default this may be all types, but may change over time as detectors are + * updated. + * @alias dlp.projects.image.redact + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent The parent resource name, for example projects/my-project-id. + * @param {().GooglePrivacyDlpV2RedactImageRequest} 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 + */ + redact(params?: Params$Resource$Projects$Image$Redact, options?: MethodOptions): AxiosPromise; + redact(params: Params$Resource$Projects$Image$Redact, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + redact(params: Params$Resource$Projects$Image$Redact, callback: BodyResponseCallback): void; + redact(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Image$Redact { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The parent resource name, for example projects/my-project-id. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GooglePrivacyDlpV2RedactImageRequest; + } + class Resource$Projects$Inspecttemplates { + root: Dlp; + constructor(root: Dlp); + getRoot(): Dlp; + /** + * dlp.projects.inspectTemplates.create + * @desc Creates an InspectTemplate for re-using frequently used + * configuration for inspecting content, images, and storage. See + * https://cloud.google.com/dlp/docs/creating-templates to learn more. + * @alias dlp.projects.inspectTemplates.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent The parent resource name, for example projects/my-project-id or organizations/my-org-id. + * @param {().GooglePrivacyDlpV2CreateInspectTemplateRequest} 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 + */ + create(params?: Params$Resource$Projects$Inspecttemplates$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Inspecttemplates$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Inspecttemplates$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * dlp.projects.inspectTemplates.delete + * @desc Deletes an InspectTemplate. See + * https://cloud.google.com/dlp/docs/creating-templates to learn more. + * @alias dlp.projects.inspectTemplates.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Resource name of the organization and inspectTemplate to be deleted, for example `organizations/433245324/inspectTemplates/432452342` or projects/project-id/inspectTemplates/432452342. + * @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?: Params$Resource$Projects$Inspecttemplates$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Inspecttemplates$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Inspecttemplates$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dlp.projects.inspectTemplates.get + * @desc Gets an InspectTemplate. See + * https://cloud.google.com/dlp/docs/creating-templates to learn more. + * @alias dlp.projects.inspectTemplates.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Resource name of the organization and inspectTemplate to be read, for example `organizations/433245324/inspectTemplates/432452342` or projects/project-id/inspectTemplates/432452342. + * @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?: Params$Resource$Projects$Inspecttemplates$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Inspecttemplates$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Inspecttemplates$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dlp.projects.inspectTemplates.list + * @desc Lists InspectTemplates. See + * https://cloud.google.com/dlp/docs/creating-templates to learn more. + * @alias dlp.projects.inspectTemplates.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.orderBy Optional comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc,update_time, create_time desc` Supported fields are: - `create_time`: corresponds to time the template was created. - `update_time`: corresponds to time the template was last updated. - `name`: corresponds to template's name. - `display_name`: corresponds to template's display name. + * @param {integer=} params.pageSize Optional size of the page, can be limited by server. If zero server returns a page of max size 100. + * @param {string=} params.pageToken Optional page token to continue retrieval. Comes from previous call to `ListInspectTemplates`. + * @param {string} params.parent The parent resource name, for example projects/my-project-id or organizations/my-org-id. + * @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?: Params$Resource$Projects$Inspecttemplates$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Inspecttemplates$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Inspecttemplates$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dlp.projects.inspectTemplates.patch + * @desc Updates the InspectTemplate. See + * https://cloud.google.com/dlp/docs/creating-templates to learn more. + * @alias dlp.projects.inspectTemplates.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Resource name of organization and inspectTemplate to be updated, for example `organizations/433245324/inspectTemplates/432452342` or projects/project-id/inspectTemplates/432452342. + * @param {().GooglePrivacyDlpV2UpdateInspectTemplateRequest} 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 + */ + patch(params?: Params$Resource$Projects$Inspecttemplates$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Inspecttemplates$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Inspecttemplates$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Inspecttemplates$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The parent resource name, for example projects/my-project-id or + * organizations/my-org-id. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GooglePrivacyDlpV2CreateInspectTemplateRequest; + } + interface Params$Resource$Projects$Inspecttemplates$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Resource name of the organization and inspectTemplate to be deleted, for + * example `organizations/433245324/inspectTemplates/432452342` or + * projects/project-id/inspectTemplates/432452342. + */ + name?: string; + } + interface Params$Resource$Projects$Inspecttemplates$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Resource name of the organization and inspectTemplate to be read, for + * example `organizations/433245324/inspectTemplates/432452342` or + * projects/project-id/inspectTemplates/432452342. + */ + name?: string; + } + interface Params$Resource$Projects$Inspecttemplates$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional comma separated list of fields to order by, followed by `asc` or + * `desc` postfix. This list is case-insensitive, default sorting order is + * ascending, redundant space characters are insignificant. Example: `name + * asc,update_time, create_time desc` Supported fields are: - + * `create_time`: corresponds to time the template was created. - + * `update_time`: corresponds to time the template was last updated. - + * `name`: corresponds to template's name. - `display_name`: corresponds to + * template's display name. + */ + orderBy?: string; + /** + * Optional size of the page, can be limited by server. If zero server + * returns a page of max size 100. + */ + pageSize?: number; + /** + * Optional page token to continue retrieval. Comes from previous call to + * `ListInspectTemplates`. + */ + pageToken?: string; + /** + * The parent resource name, for example projects/my-project-id or + * organizations/my-org-id. + */ + parent?: string; + } + interface Params$Resource$Projects$Inspecttemplates$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Resource name of organization and inspectTemplate to be updated, for + * example `organizations/433245324/inspectTemplates/432452342` or + * projects/project-id/inspectTemplates/432452342. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GooglePrivacyDlpV2UpdateInspectTemplateRequest; + } + class Resource$Projects$Jobtriggers { + root: Dlp; + constructor(root: Dlp); + getRoot(): Dlp; + /** + * dlp.projects.jobTriggers.create + * @desc Creates a job trigger to run DLP actions such as scanning storage + * for sensitive information on a set schedule. See + * https://cloud.google.com/dlp/docs/creating-job-triggers to learn more. + * @alias dlp.projects.jobTriggers.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent The parent resource name, for example projects/my-project-id. + * @param {().GooglePrivacyDlpV2CreateJobTriggerRequest} 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 + */ + create(params?: Params$Resource$Projects$Jobtriggers$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Jobtriggers$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Jobtriggers$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * dlp.projects.jobTriggers.delete + * @desc Deletes a job trigger. See + * https://cloud.google.com/dlp/docs/creating-job-triggers to learn more. + * @alias dlp.projects.jobTriggers.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Resource name of the project and the triggeredJob, for example `projects/dlp-test-project/jobTriggers/53234423`. + * @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?: Params$Resource$Projects$Jobtriggers$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Jobtriggers$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Jobtriggers$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dlp.projects.jobTriggers.get + * @desc Gets a job trigger. See + * https://cloud.google.com/dlp/docs/creating-job-triggers to learn more. + * @alias dlp.projects.jobTriggers.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Resource name of the project and the triggeredJob, for example `projects/dlp-test-project/jobTriggers/53234423`. + * @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?: Params$Resource$Projects$Jobtriggers$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Jobtriggers$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Jobtriggers$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dlp.projects.jobTriggers.list + * @desc Lists job triggers. See + * https://cloud.google.com/dlp/docs/creating-job-triggers to learn more. + * @alias dlp.projects.jobTriggers.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.orderBy Optional comma separated list of triggeredJob fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc,update_time, create_time desc` Supported fields are: - `create_time`: corresponds to time the JobTrigger was created. - `update_time`: corresponds to time the JobTrigger was last updated. - `name`: corresponds to JobTrigger's name. - `display_name`: corresponds to JobTrigger's display name. - `status`: corresponds to JobTrigger's status. + * @param {integer=} params.pageSize Optional size of the page, can be limited by a server. + * @param {string=} params.pageToken Optional page token to continue retrieval. Comes from previous call to ListJobTriggers. `order_by` field must not change for subsequent calls. + * @param {string} params.parent The parent resource name, for example `projects/my-project-id`. + * @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?: Params$Resource$Projects$Jobtriggers$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Jobtriggers$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Jobtriggers$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dlp.projects.jobTriggers.patch + * @desc Updates a job trigger. See + * https://cloud.google.com/dlp/docs/creating-job-triggers to learn more. + * @alias dlp.projects.jobTriggers.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Resource name of the project and the triggeredJob, for example `projects/dlp-test-project/jobTriggers/53234423`. + * @param {().GooglePrivacyDlpV2UpdateJobTriggerRequest} 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 + */ + patch(params?: Params$Resource$Projects$Jobtriggers$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Jobtriggers$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Jobtriggers$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Jobtriggers$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The parent resource name, for example projects/my-project-id. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GooglePrivacyDlpV2CreateJobTriggerRequest; + } + interface Params$Resource$Projects$Jobtriggers$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Resource name of the project and the triggeredJob, for example + * `projects/dlp-test-project/jobTriggers/53234423`. + */ + name?: string; + } + interface Params$Resource$Projects$Jobtriggers$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Resource name of the project and the triggeredJob, for example + * `projects/dlp-test-project/jobTriggers/53234423`. + */ + name?: string; + } + interface Params$Resource$Projects$Jobtriggers$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional comma separated list of triggeredJob fields to order by, + * followed by `asc` or `desc` postfix. This list is case-insensitive, + * default sorting order is ascending, redundant space characters are + * insignificant. Example: `name asc,update_time, create_time desc` + * Supported fields are: - `create_time`: corresponds to time the + * JobTrigger was created. - `update_time`: corresponds to time the + * JobTrigger was last updated. - `name`: corresponds to JobTrigger's name. + * - `display_name`: corresponds to JobTrigger's display name. - `status`: + * corresponds to JobTrigger's status. + */ + orderBy?: string; + /** + * Optional size of the page, can be limited by a server. + */ + pageSize?: number; + /** + * Optional page token to continue retrieval. Comes from previous call to + * ListJobTriggers. `order_by` field must not change for subsequent calls. + */ + pageToken?: string; + /** + * The parent resource name, for example `projects/my-project-id`. + */ + parent?: string; + } + interface Params$Resource$Projects$Jobtriggers$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Resource name of the project and the triggeredJob, for example + * `projects/dlp-test-project/jobTriggers/53234423`. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GooglePrivacyDlpV2UpdateJobTriggerRequest; + } + class Resource$Projects$Storedinfotypes { + root: Dlp; + constructor(root: Dlp); + getRoot(): Dlp; + /** + * dlp.projects.storedInfoTypes.create + * @desc Creates a pre-built stored infoType to be used for inspection. See + * https://cloud.google.com/dlp/docs/creating-stored-infotypes to learn + * more. + * @alias dlp.projects.storedInfoTypes.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent The parent resource name, for example projects/my-project-id or organizations/my-org-id. + * @param {().GooglePrivacyDlpV2CreateStoredInfoTypeRequest} 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 + */ + create(params?: Params$Resource$Projects$Storedinfotypes$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Storedinfotypes$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Storedinfotypes$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * dlp.projects.storedInfoTypes.delete + * @desc Deletes a stored infoType. See + * https://cloud.google.com/dlp/docs/creating-stored-infotypes to learn + * more. + * @alias dlp.projects.storedInfoTypes.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Resource name of the organization and storedInfoType to be deleted, for example `organizations/433245324/storedInfoTypes/432452342` or projects/project-id/storedInfoTypes/432452342. + * @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?: Params$Resource$Projects$Storedinfotypes$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Storedinfotypes$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Storedinfotypes$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dlp.projects.storedInfoTypes.get + * @desc Gets a stored infoType. See + * https://cloud.google.com/dlp/docs/creating-stored-infotypes to learn + * more. + * @alias dlp.projects.storedInfoTypes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Resource name of the organization and storedInfoType to be read, for example `organizations/433245324/storedInfoTypes/432452342` or projects/project-id/storedInfoTypes/432452342. + * @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?: Params$Resource$Projects$Storedinfotypes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Storedinfotypes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Storedinfotypes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dlp.projects.storedInfoTypes.list + * @desc Lists stored infoTypes. See + * https://cloud.google.com/dlp/docs/creating-stored-infotypes to learn + * more. + * @alias dlp.projects.storedInfoTypes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Optional size of the page, can be limited by server. If zero server returns a page of max size 100. + * @param {string=} params.pageToken Optional page token to continue retrieval. Comes from previous call to `ListStoredInfoTypes`. + * @param {string} params.parent The parent resource name, for example projects/my-project-id or organizations/my-org-id. + * @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?: Params$Resource$Projects$Storedinfotypes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Storedinfotypes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Storedinfotypes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dlp.projects.storedInfoTypes.patch + * @desc Updates the stored infoType by creating a new version. The existing + * version will continue to be used until the new version is ready. See + * https://cloud.google.com/dlp/docs/creating-stored-infotypes to learn + * more. + * @alias dlp.projects.storedInfoTypes.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Resource name of organization and storedInfoType to be updated, for example `organizations/433245324/storedInfoTypes/432452342` or projects/project-id/storedInfoTypes/432452342. + * @param {().GooglePrivacyDlpV2UpdateStoredInfoTypeRequest} 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 + */ + patch(params?: Params$Resource$Projects$Storedinfotypes$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Storedinfotypes$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Storedinfotypes$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Storedinfotypes$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The parent resource name, for example projects/my-project-id or + * organizations/my-org-id. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GooglePrivacyDlpV2CreateStoredInfoTypeRequest; + } + interface Params$Resource$Projects$Storedinfotypes$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Resource name of the organization and storedInfoType to be deleted, for + * example `organizations/433245324/storedInfoTypes/432452342` or + * projects/project-id/storedInfoTypes/432452342. + */ + name?: string; + } + interface Params$Resource$Projects$Storedinfotypes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Resource name of the organization and storedInfoType to be read, for + * example `organizations/433245324/storedInfoTypes/432452342` or + * projects/project-id/storedInfoTypes/432452342. + */ + name?: string; + } + interface Params$Resource$Projects$Storedinfotypes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional size of the page, can be limited by server. If zero server + * returns a page of max size 100. + */ + pageSize?: number; + /** + * Optional page token to continue retrieval. Comes from previous call to + * `ListStoredInfoTypes`. + */ + pageToken?: string; + /** + * The parent resource name, for example projects/my-project-id or + * organizations/my-org-id. + */ + parent?: string; + } + interface Params$Resource$Projects$Storedinfotypes$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Resource name of organization and storedInfoType to be updated, for + * example `organizations/433245324/storedInfoTypes/432452342` or + * projects/project-id/storedInfoTypes/432452342. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GooglePrivacyDlpV2UpdateStoredInfoTypeRequest; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/dlp/v2.js b/express-server/node_modules/googleapis/build/src/apis/dlp/v2.js new file mode 100644 index 00000000..b9d953f2 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dlp/v2.js @@ -0,0 +1,1572 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var dlp_v2; +(function (dlp_v2) { + /** + * Cloud Data Loss Prevention (DLP) API + * + * Provides methods for detection, risk analysis, and de-identification of + * privacy-sensitive fragments in text, images, and Google Cloud Platform + * storage repositories. + * + * @example + * const {google} = require('googleapis'); + * const dlp = google.dlp('v2'); + * + * @namespace dlp + * @type {Function} + * @version v2 + * @variation v2 + * @param {object=} options Options for Dlp + */ + class Dlp { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.infoTypes = new Resource$Infotypes(this); + this.organizations = new Resource$Organizations(this); + this.projects = new Resource$Projects(this); + } + getRoot() { + return this.root; + } + } + dlp_v2.Dlp = Dlp; + class Resource$Infotypes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dlp.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/infoTypes').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dlp_v2.Resource$Infotypes = Resource$Infotypes; + class Resource$Organizations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.deidentifyTemplates = + new Resource$Organizations$Deidentifytemplates(root); + this.inspectTemplates = new Resource$Organizations$Inspecttemplates(root); + this.storedInfoTypes = new Resource$Organizations$Storedinfotypes(root); + } + getRoot() { + return this.root; + } + } + dlp_v2.Resource$Organizations = Resource$Organizations; + class Resource$Organizations$Deidentifytemplates { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dlp.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/deidentifyTemplates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dlp.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dlp.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dlp.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/deidentifyTemplates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dlp.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dlp_v2.Resource$Organizations$Deidentifytemplates = Resource$Organizations$Deidentifytemplates; + class Resource$Organizations$Inspecttemplates { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dlp.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/inspectTemplates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dlp.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dlp.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dlp.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/inspectTemplates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dlp.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dlp_v2.Resource$Organizations$Inspecttemplates = Resource$Organizations$Inspecttemplates; + class Resource$Organizations$Storedinfotypes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dlp.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/storedInfoTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dlp.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dlp.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dlp.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/storedInfoTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dlp.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dlp_v2.Resource$Organizations$Storedinfotypes = Resource$Organizations$Storedinfotypes; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.content = new Resource$Projects$Content(root); + this.deidentifyTemplates = + new Resource$Projects$Deidentifytemplates(root); + this.dlpJobs = new Resource$Projects$Dlpjobs(root); + this.image = new Resource$Projects$Image(root); + this.inspectTemplates = new Resource$Projects$Inspecttemplates(root); + this.jobTriggers = new Resource$Projects$Jobtriggers(root); + this.storedInfoTypes = new Resource$Projects$Storedinfotypes(root); + } + getRoot() { + return this.root; + } + } + dlp_v2.Resource$Projects = Resource$Projects; + class Resource$Projects$Content { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + deidentify(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dlp.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/content:deidentify') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + inspect(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dlp.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/content:inspect') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + reidentify(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dlp.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/content:reidentify') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dlp_v2.Resource$Projects$Content = Resource$Projects$Content; + class Resource$Projects$Deidentifytemplates { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dlp.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/deidentifyTemplates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dlp.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dlp.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dlp.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/deidentifyTemplates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dlp.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dlp_v2.Resource$Projects$Deidentifytemplates = Resource$Projects$Deidentifytemplates; + class Resource$Projects$Dlpjobs { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + cancel(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dlp.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}:cancel') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dlp.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/dlpJobs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dlp.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dlp.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dlp.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/dlpJobs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dlp_v2.Resource$Projects$Dlpjobs = Resource$Projects$Dlpjobs; + class Resource$Projects$Image { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + redact(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dlp.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/image:redact') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dlp_v2.Resource$Projects$Image = Resource$Projects$Image; + class Resource$Projects$Inspecttemplates { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dlp.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/inspectTemplates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dlp.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dlp.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dlp.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/inspectTemplates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dlp.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dlp_v2.Resource$Projects$Inspecttemplates = Resource$Projects$Inspecttemplates; + class Resource$Projects$Jobtriggers { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dlp.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/jobTriggers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dlp.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dlp.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dlp.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/jobTriggers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dlp.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dlp_v2.Resource$Projects$Jobtriggers = Resource$Projects$Jobtriggers; + class Resource$Projects$Storedinfotypes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dlp.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/storedInfoTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dlp.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dlp.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dlp.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/storedInfoTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://dlp.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dlp_v2.Resource$Projects$Storedinfotypes = Resource$Projects$Storedinfotypes; +})(dlp_v2 = exports.dlp_v2 || (exports.dlp_v2 = {})); +//# sourceMappingURL=v2.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/dlp/v2.js.map b/express-server/node_modules/googleapis/build/src/apis/dlp/v2.js.map new file mode 100644 index 00000000..60225caa --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dlp/v2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v2.js","sourceRoot":"","sources":["../../../../src/apis/dlp/v2.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/dns/README.md b/express-server/node_modules/googleapis/build/src/apis/dns/README.md new file mode 100644 index 00000000..5d6a5702 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dns/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/dns + +> Configures and serves authoritative DNS records. + +## Installation + +```sh +$ npm install @google/dns +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/dns/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/dns/index.d.ts new file mode 100644 index 00000000..470560e9 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dns/index.d.ts @@ -0,0 +1,14 @@ +import { dns_v1 } from './v1'; +import { dns_v1beta2 } from './v1beta2'; +import { dns_v2beta1 } from './v2beta1'; +export declare const VERSIONS: { + 'v1': typeof dns_v1.Dns; + 'v1beta2': typeof dns_v1beta2.Dns; + 'v2beta1': typeof dns_v2beta1.Dns; +}; +export declare function dns(version: 'v1'): dns_v1.Dns; +export declare function dns(options: dns_v1.Options): dns_v1.Dns; +export declare function dns(version: 'v1beta2'): dns_v1beta2.Dns; +export declare function dns(options: dns_v1beta2.Options): dns_v1beta2.Dns; +export declare function dns(version: 'v2beta1'): dns_v2beta1.Dns; +export declare function dns(options: dns_v2beta1.Options): dns_v2beta1.Dns; diff --git a/express-server/node_modules/googleapis/build/src/apis/dns/index.js b/express-server/node_modules/googleapis/build/src/apis/dns/index.js new file mode 100644 index 00000000..ff0119b7 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dns/index.js @@ -0,0 +1,29 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +const v1beta2_1 = require("./v1beta2"); +const v2beta1_1 = require("./v2beta1"); +exports.VERSIONS = { + 'v1': v1_1.dns_v1.Dns, + 'v1beta2': v1beta2_1.dns_v1beta2.Dns, + 'v2beta1': v2beta1_1.dns_v2beta1.Dns, +}; +function dns(versionOrOptions) { + return googleapis_common_1.getAPI('dns', versionOrOptions, exports.VERSIONS, this); +} +exports.dns = dns; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/dns/index.js.map b/express-server/node_modules/googleapis/build/src/apis/dns/index.js.map new file mode 100644 index 00000000..853c90eb --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dns/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/dns/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAA4B;AAC5B,uCAAsC;AACtC,uCAAsC;AAEzB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,WAAM,CAAC,GAAG;IAChB,SAAS,EAAE,qBAAW,CAAC,GAAG;IAC1B,SAAS,EAAE,qBAAW,CAAC,GAAG;CAC3B,CAAC;AAQF,SAAgB,GAAG,CAEf,gBACiD;IACnD,OAAO,0BAAM,CAAI,KAAK,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAC5D,CAAC;AALD,kBAKC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/dns/package.json b/express-server/node_modules/googleapis/build/src/apis/dns/package.json new file mode 100644 index 00000000..095fe6a4 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dns/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/dns", + "version": "0.1.0", + "description": "dns", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/dns/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/dns/v1.d.ts new file mode 100644 index 00000000..a7fbffdf --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dns/v1.d.ts @@ -0,0 +1,1825 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace dns_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Google Cloud DNS API + * + * Configures and serves authoritative DNS records. + * + * @example + * const {google} = require('googleapis'); + * const dns = google.dns('v1'); + * + * @namespace dns + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Dns + */ + class Dns { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + changes: Resource$Changes; + dnsKeys: Resource$Dnskeys; + managedZoneOperations: Resource$Managedzoneoperations; + managedZones: Resource$Managedzones; + projects: Resource$Projects; + resourceRecordSets: Resource$Resourcerecordsets; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * An atomic update to a collection of ResourceRecordSets. + */ + interface Schema$Change { + /** + * Which ResourceRecordSets to add? + */ + additions?: Schema$ResourceRecordSet[]; + /** + * Which ResourceRecordSets to remove? Must match existing data exactly. + */ + deletions?: Schema$ResourceRecordSet[]; + /** + * Unique identifier for the resource; defined by the server (output only). + */ + id?: string; + /** + * If the DNS queries for the zone will be served. + */ + isServing?: boolean; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dns#change". + */ + kind?: string; + /** + * The time that this operation was started by the server (output only). + * This is in RFC3339 text format. + */ + startTime?: string; + /** + * Status of the operation (output only). + */ + status?: string; + } + /** + * The response to a request to enumerate Changes to a ResourceRecordSets + * collection. + */ + interface Schema$ChangesListResponse { + /** + * The requested changes. + */ + changes?: Schema$Change[]; + header?: Schema$ResponseHeader; + /** + * Type of resource. + */ + kind?: string; + /** + * The presence of this field indicates that there exist more results + * following your last page of results in pagination order. To fetch them, + * make another list request using this value as your pagination token. In + * this way you can retrieve the complete contents of even very large + * collections one page at a time. However, if the contents of the + * collection change between the first and last paginated list request, the + * set of all elements returned will be an inconsistent view of the + * collection. There is no way to retrieve a "snapshot" of + * collections larger than the maximum page size. + */ + nextPageToken?: string; + } + /** + * A DNSSEC key pair. + */ + interface Schema$DnsKey { + /** + * String mnemonic specifying the DNSSEC algorithm of this key. Immutable + * after creation time. + */ + algorithm?: string; + /** + * The time that this resource was created in the control plane. This is in + * RFC3339 text format. Output only. + */ + creationTime?: string; + /** + * A mutable string of at most 1024 characters associated with this resource + * for the user's convenience. Has no effect on the resource's + * function. + */ + description?: string; + /** + * Cryptographic hashes of the DNSKEY resource record associated with this + * DnsKey. These digests are needed to construct a DS record that points at + * this DNS key. Output only. + */ + digests?: Schema$DnsKeyDigest[]; + /** + * Unique identifier for the resource; defined by the server (output only). + */ + id?: string; + /** + * Active keys will be used to sign subsequent changes to the ManagedZone. + * Inactive keys will still be present as DNSKEY Resource Records for the + * use of resolvers validating existing signatures. + */ + isActive?: boolean; + /** + * Length of the key in bits. Specified at creation time then immutable. + */ + keyLength?: number; + /** + * The key tag is a non-cryptographic hash of the a DNSKEY resource record + * associated with this DnsKey. The key tag can be used to identify a DNSKEY + * more quickly (but it is not a unique identifier). In particular, the key + * tag is used in a parent zone's DS record to point at the DNSKEY in + * this child ManagedZone. The key tag is a number in the range [0, 65535] + * and the algorithm to calculate it is specified in RFC4034 Appendix B. + * Output only. + */ + keyTag?: number; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dns#dnsKey". + */ + kind?: string; + /** + * Base64 encoded public half of this key. Output only. + */ + publicKey?: string; + /** + * One of "KEY_SIGNING" or "ZONE_SIGNING". Keys of type + * KEY_SIGNING have the Secure Entry Point flag set and, when active, will + * be used to sign only resource record sets of type DNSKEY. Otherwise, the + * Secure Entry Point flag will be cleared and this key will be used to sign + * only resource record sets of other types. Immutable after creation time. + */ + type?: string; + } + interface Schema$DnsKeyDigest { + /** + * The base-16 encoded bytes of this digest. Suitable for use in a DS + * resource record. + */ + digest?: string; + /** + * Specifies the algorithm used to calculate this digest. + */ + type?: string; + } + /** + * The response to a request to enumerate DnsKeys in a ManagedZone. + */ + interface Schema$DnsKeysListResponse { + /** + * The requested resources. + */ + dnsKeys?: Schema$DnsKey[]; + header?: Schema$ResponseHeader; + /** + * Type of resource. + */ + kind?: string; + /** + * The presence of this field indicates that there exist more results + * following your last page of results in pagination order. To fetch them, + * make another list request using this value as your pagination token. In + * this way you can retrieve the complete contents of even very large + * collections one page at a time. However, if the contents of the + * collection change between the first and last paginated list request, the + * set of all elements returned will be an inconsistent view of the + * collection. There is no way to retrieve a "snapshot" of + * collections larger than the maximum page size. + */ + nextPageToken?: string; + } + /** + * Parameters for DnsKey key generation. Used for generating initial keys for + * a new ManagedZone and as default when adding a new DnsKey. + */ + interface Schema$DnsKeySpec { + /** + * String mnemonic specifying the DNSSEC algorithm of this key. + */ + algorithm?: string; + /** + * Length of the keys in bits. + */ + keyLength?: number; + /** + * One of "KEY_SIGNING" or "ZONE_SIGNING". Keys of type + * KEY_SIGNING have the Secure Entry Point flag set and, when active, will + * be used to sign only resource record sets of type DNSKEY. Otherwise, the + * Secure Entry Point flag will be cleared and this key will be used to sign + * only resource record sets of other types. + */ + keyType?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dns#dnsKeySpec". + */ + kind?: string; + } + /** + * A zone is a subtree of the DNS namespace under one administrative + * responsibility. A ManagedZone is a resource that represents a DNS zone + * hosted by the Cloud DNS service. + */ + interface Schema$ManagedZone { + /** + * The time that this resource was created on the server. This is in RFC3339 + * text format. Output only. + */ + creationTime?: string; + /** + * A mutable string of at most 1024 characters associated with this resource + * for the user's convenience. Has no effect on the managed zone's + * function. + */ + description?: string; + /** + * The DNS name of this managed zone, for instance "example.com.". + */ + dnsName?: string; + /** + * DNSSEC configuration. + */ + dnssecConfig?: Schema$ManagedZoneDnsSecConfig; + /** + * Unique identifier for the resource; defined by the server (output only) + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dns#managedZone". + */ + kind?: string; + /** + * User labels. + */ + labels?: any; + /** + * User assigned name for this resource. Must be unique within the project. + * The name must be 1-63 characters long, must begin with a letter, end with + * a letter or digit, and only contain lowercase letters, digits or dashes. + */ + name?: string; + /** + * Delegate your managed_zone to these virtual name servers; defined by the + * server (output only) + */ + nameServers?: string[]; + /** + * Optionally specifies the NameServerSet for this ManagedZone. A + * NameServerSet is a set of DNS name servers that all host the same + * ManagedZones. Most users will leave this field unset. + */ + nameServerSet?: string; + } + interface Schema$ManagedZoneDnsSecConfig { + /** + * Specifies parameters that will be used for generating initial DnsKeys for + * this ManagedZone. Output only while state is not OFF. + */ + defaultKeySpecs?: Schema$DnsKeySpec[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dns#managedZoneDnsSecConfig". + */ + kind?: string; + /** + * Specifies the mechanism used to provide authenticated denial-of-existence + * responses. Output only while state is not OFF. + */ + nonExistence?: string; + /** + * Specifies whether DNSSEC is enabled, and what mode it is in. + */ + state?: string; + } + interface Schema$ManagedZoneOperationsListResponse { + header?: Schema$ResponseHeader; + /** + * Type of resource. + */ + kind?: string; + /** + * The presence of this field indicates that there exist more results + * following your last page of results in pagination order. To fetch them, + * make another list request using this value as your page token. In this + * way you can retrieve the complete contents of even very large collections + * one page at a time. However, if the contents of the collection change + * between the first and last paginated list request, the set of all + * elements returned will be an inconsistent view of the collection. There + * is no way to retrieve a consistent snapshot of a collection larger than + * the maximum page size. + */ + nextPageToken?: string; + /** + * The operation resources. + */ + operations?: Schema$Operation[]; + } + interface Schema$ManagedZonesListResponse { + header?: Schema$ResponseHeader; + /** + * Type of resource. + */ + kind?: string; + /** + * The managed zone resources. + */ + managedZones?: Schema$ManagedZone[]; + /** + * The presence of this field indicates that there exist more results + * following your last page of results in pagination order. To fetch them, + * make another list request using this value as your page token. In this + * way you can retrieve the complete contents of even very large collections + * one page at a time. However, if the contents of the collection change + * between the first and last paginated list request, the set of all + * elements returned will be an inconsistent view of the collection. There + * is no way to retrieve a consistent snapshot of a collection larger than + * the maximum page size. + */ + nextPageToken?: string; + } + /** + * An operation represents a successful mutation performed on a Cloud DNS + * resource. Operations provide: - An audit log of server resource mutations. + * - A way to recover/retry API calls in the case where the response is never + * received by the caller. Use the caller specified client_operation_id. + */ + interface Schema$Operation { + /** + * Only populated if the operation targeted a DnsKey (output only). + */ + dnsKeyContext?: Schema$OperationDnsKeyContext; + /** + * Unique identifier for the resource. This is the client_operation_id if + * the client specified it when the mutation was initiated, otherwise, it is + * generated by the server. The name must be 1-63 characters long and match + * the regular expression [-a-z0-9]? (output only) + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dns#operation". + */ + kind?: string; + /** + * The time that this operation was started by the server. This is in + * RFC3339 text format (output only). + */ + startTime?: string; + /** + * Status of the operation. Can be one of the following: "PENDING" + * or "DONE" (output only). + */ + status?: string; + /** + * Type of the operation. Operations include insert, update, and delete + * (output only). + */ + type?: string; + /** + * User who requested the operation, for example: user@example.com. + * cloud-dns-system for operations automatically done by the system. (output + * only) + */ + user?: string; + /** + * Only populated if the operation targeted a ManagedZone (output only). + */ + zoneContext?: Schema$OperationManagedZoneContext; + } + interface Schema$OperationDnsKeyContext { + /** + * The post-operation DnsKey resource. + */ + newValue?: Schema$DnsKey; + /** + * The pre-operation DnsKey resource. + */ + oldValue?: Schema$DnsKey; + } + interface Schema$OperationManagedZoneContext { + /** + * The post-operation ManagedZone resource. + */ + newValue?: Schema$ManagedZone; + /** + * The pre-operation ManagedZone resource. + */ + oldValue?: Schema$ManagedZone; + } + /** + * A project resource. The project is a top level container for resources + * including Cloud DNS ManagedZones. Projects can be created only in the APIs + * console. + */ + interface Schema$Project { + /** + * User assigned unique identifier for the resource (output only). + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dns#project". + */ + kind?: string; + /** + * Unique numeric identifier for the resource; defined by the server (output + * only). + */ + number?: string; + /** + * Quotas assigned to this project (output only). + */ + quota?: Schema$Quota; + } + /** + * Limits associated with a Project. + */ + interface Schema$Quota { + /** + * Maximum allowed number of DnsKeys per ManagedZone. + */ + dnsKeysPerManagedZone?: number; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dns#quota". + */ + kind?: string; + /** + * Maximum allowed number of managed zones in the project. + */ + managedZones?: number; + /** + * Maximum allowed number of ResourceRecords per ResourceRecordSet. + */ + resourceRecordsPerRrset?: number; + /** + * Maximum allowed number of ResourceRecordSets to add per + * ChangesCreateRequest. + */ + rrsetAdditionsPerChange?: number; + /** + * Maximum allowed number of ResourceRecordSets to delete per + * ChangesCreateRequest. + */ + rrsetDeletionsPerChange?: number; + /** + * Maximum allowed number of ResourceRecordSets per zone in the project. + */ + rrsetsPerManagedZone?: number; + /** + * Maximum allowed size for total rrdata in one ChangesCreateRequest in + * bytes. + */ + totalRrdataSizePerChange?: number; + /** + * DNSSEC algorithm and key length types that can be used for DnsKeys. + */ + whitelistedKeySpecs?: Schema$DnsKeySpec[]; + } + /** + * A unit of data that will be returned by the DNS servers. + */ + interface Schema$ResourceRecordSet { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dns#resourceRecordSet". + */ + kind?: string; + /** + * For example, www.example.com. + */ + name?: string; + /** + * As defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1). + */ + rrdatas?: string[]; + /** + * As defined in RFC 4034 (section 3.2). + */ + signatureRrdatas?: string[]; + /** + * Number of seconds that this ResourceRecordSet can be cached by resolvers. + */ + ttl?: number; + /** + * The identifier of a supported record type, for example, A, AAAA, MX, TXT, + * and so on. + */ + type?: string; + } + interface Schema$ResourceRecordSetsListResponse { + header?: Schema$ResponseHeader; + /** + * Type of resource. + */ + kind?: string; + /** + * The presence of this field indicates that there exist more results + * following your last page of results in pagination order. To fetch them, + * make another list request using this value as your pagination token. In + * this way you can retrieve the complete contents of even very large + * collections one page at a time. However, if the contents of the + * collection change between the first and last paginated list request, the + * set of all elements returned will be an inconsistent view of the + * collection. There is no way to retrieve a consistent snapshot of a + * collection larger than the maximum page size. + */ + nextPageToken?: string; + /** + * The resource record set resources. + */ + rrsets?: Schema$ResourceRecordSet[]; + } + /** + * Elements common to every response. + */ + interface Schema$ResponseHeader { + /** + * For mutating operation requests that completed successfully. This is the + * client_operation_id if the client specified it, otherwise it is generated + * by the server (output only). + */ + operationId?: string; + } + class Resource$Changes { + root: Dns; + constructor(root: Dns); + getRoot(): Dns; + /** + * dns.changes.create + * @desc Atomically update the ResourceRecordSet collection. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud DNS API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dns + * // 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 dns = google.dns('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Identifies the project addressed by this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Identifies the managed zone addressed by this request. Can be the + * managed zone name or id. managedZone: 'my-managed-zone', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * dns.changes.create(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 dns.changes.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.clientOperationId For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection. + * @param {string} params.managedZone Identifies the managed zone addressed by this request. Can be the managed zone name or id. + * @param {string} params.project Identifies the project addressed by this request. + * @param {().Change} 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 + */ + create(params?: Params$Resource$Changes$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Changes$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Changes$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * dns.changes.get + * @desc Fetch the representation of an existing Change. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud DNS API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dns + * // 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 dns = google.dns('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Identifies the project addressed by this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Identifies the managed zone addressed by this request. Can be the + * managed zone name or id. managedZone: 'my-managed-zone', // TODO: Update + * placeholder value. + * + * // The identifier of the requested change, from a previous + * ResourceRecordSetsChangeResponse. changeId: 'my-change-id', // TODO: + * Update placeholder value. + * + * auth: authClient, + * }; + * + * dns.changes.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 dns.changes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.changeId The identifier of the requested change, from a previous ResourceRecordSetsChangeResponse. + * @param {string=} params.clientOperationId For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection. + * @param {string} params.managedZone Identifies the managed zone addressed by this request. Can be the managed zone name or id. + * @param {string} params.project Identifies the project addressed by this request. + * @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?: Params$Resource$Changes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Changes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Changes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dns.changes.list + * @desc Enumerate Changes to a ResourceRecordSet collection. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud DNS API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dns + * // 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 dns = google.dns('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Identifies the project addressed by this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Identifies the managed zone addressed by this request. Can be the + * managed zone name or id. managedZone: 'my-managed-zone', // TODO: Update + * placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var changesPage = response['changes']; + * if (!changesPage) { + * return; + * } + * for (var i = 0; i < changesPage.length; i++) { + * // TODO: Change code below to process each resource in + * `changesPage`: console.log(JSON.stringify(changesPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * dns.changes.list(request, handlePage); + * } + * }; + * + * dns.changes.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 dns.changes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.managedZone Identifies the managed zone addressed by this request. Can be the managed zone name or id. + * @param {integer=} params.maxResults Optional. Maximum number of results to be returned. If unspecified, the server will decide how many results to return. + * @param {string=} params.pageToken Optional. A tag returned by a previous list request that was truncated. Use this parameter to continue a previous list request. + * @param {string} params.project Identifies the project addressed by this request. + * @param {string=} params.sortBy Sorting criterion. The only supported value is change sequence. + * @param {string=} params.sortOrder Sorting order direction: 'ascending' or 'descending'. + * @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?: Params$Resource$Changes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Changes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Changes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Changes$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * For mutating operation requests only. An optional identifier specified by + * the client. Must be unique for operation resources in the Operations + * collection. + */ + clientOperationId?: string; + /** + * Identifies the managed zone addressed by this request. Can be the managed + * zone name or id. + */ + managedZone?: string; + /** + * Identifies the project addressed by this request. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Change; + } + interface Params$Resource$Changes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The identifier of the requested change, from a previous + * ResourceRecordSetsChangeResponse. + */ + changeId?: string; + /** + * For mutating operation requests only. An optional identifier specified by + * the client. Must be unique for operation resources in the Operations + * collection. + */ + clientOperationId?: string; + /** + * Identifies the managed zone addressed by this request. Can be the managed + * zone name or id. + */ + managedZone?: string; + /** + * Identifies the project addressed by this request. + */ + project?: string; + } + interface Params$Resource$Changes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifies the managed zone addressed by this request. Can be the managed + * zone name or id. + */ + managedZone?: string; + /** + * Optional. Maximum number of results to be returned. If unspecified, the + * server will decide how many results to return. + */ + maxResults?: number; + /** + * Optional. A tag returned by a previous list request that was truncated. + * Use this parameter to continue a previous list request. + */ + pageToken?: string; + /** + * Identifies the project addressed by this request. + */ + project?: string; + /** + * Sorting criterion. The only supported value is change sequence. + */ + sortBy?: string; + /** + * Sorting order direction: 'ascending' or 'descending'. + */ + sortOrder?: string; + } + class Resource$Dnskeys { + root: Dns; + constructor(root: Dns); + getRoot(): Dns; + /** + * dns.dnsKeys.get + * @desc Fetch the representation of an existing DnsKey. + * @alias dns.dnsKeys.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.clientOperationId For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection. + * @param {string=} params.digestType An optional comma-separated list of digest types to compute and display for key signing keys. If omitted, the recommended digest type will be computed and displayed. + * @param {string} params.dnsKeyId The identifier of the requested DnsKey. + * @param {string} params.managedZone Identifies the managed zone addressed by this request. Can be the managed zone name or id. + * @param {string} params.project Identifies the project addressed by this request. + * @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?: Params$Resource$Dnskeys$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Dnskeys$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Dnskeys$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dns.dnsKeys.list + * @desc Enumerate DnsKeys to a ResourceRecordSet collection. + * @alias dns.dnsKeys.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.digestType An optional comma-separated list of digest types to compute and display for key signing keys. If omitted, the recommended digest type will be computed and displayed. + * @param {string} params.managedZone Identifies the managed zone addressed by this request. Can be the managed zone name or id. + * @param {integer=} params.maxResults Optional. Maximum number of results to be returned. If unspecified, the server will decide how many results to return. + * @param {string=} params.pageToken Optional. A tag returned by a previous list request that was truncated. Use this parameter to continue a previous list request. + * @param {string} params.project Identifies the project addressed by this request. + * @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?: Params$Resource$Dnskeys$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Dnskeys$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Dnskeys$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Dnskeys$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * For mutating operation requests only. An optional identifier specified by + * the client. Must be unique for operation resources in the Operations + * collection. + */ + clientOperationId?: string; + /** + * An optional comma-separated list of digest types to compute and display + * for key signing keys. If omitted, the recommended digest type will be + * computed and displayed. + */ + digestType?: string; + /** + * The identifier of the requested DnsKey. + */ + dnsKeyId?: string; + /** + * Identifies the managed zone addressed by this request. Can be the managed + * zone name or id. + */ + managedZone?: string; + /** + * Identifies the project addressed by this request. + */ + project?: string; + } + interface Params$Resource$Dnskeys$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * An optional comma-separated list of digest types to compute and display + * for key signing keys. If omitted, the recommended digest type will be + * computed and displayed. + */ + digestType?: string; + /** + * Identifies the managed zone addressed by this request. Can be the managed + * zone name or id. + */ + managedZone?: string; + /** + * Optional. Maximum number of results to be returned. If unspecified, the + * server will decide how many results to return. + */ + maxResults?: number; + /** + * Optional. A tag returned by a previous list request that was truncated. + * Use this parameter to continue a previous list request. + */ + pageToken?: string; + /** + * Identifies the project addressed by this request. + */ + project?: string; + } + class Resource$Managedzoneoperations { + root: Dns; + constructor(root: Dns); + getRoot(): Dns; + /** + * dns.managedZoneOperations.get + * @desc Fetch the representation of an existing Operation. + * @alias dns.managedZoneOperations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.clientOperationId For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection. + * @param {string} params.managedZone Identifies the managed zone addressed by this request. + * @param {string} params.operation Identifies the operation addressed by this request. + * @param {string} params.project Identifies the project addressed by this request. + * @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?: Params$Resource$Managedzoneoperations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Managedzoneoperations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Managedzoneoperations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dns.managedZoneOperations.list + * @desc Enumerate Operations for the given ManagedZone. + * @alias dns.managedZoneOperations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.managedZone Identifies the managed zone addressed by this request. + * @param {integer=} params.maxResults Optional. Maximum number of results to be returned. If unspecified, the server will decide how many results to return. + * @param {string=} params.pageToken Optional. A tag returned by a previous list request that was truncated. Use this parameter to continue a previous list request. + * @param {string} params.project Identifies the project addressed by this request. + * @param {string=} params.sortBy Sorting criterion. The only supported values are START_TIME and ID. + * @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?: Params$Resource$Managedzoneoperations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Managedzoneoperations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Managedzoneoperations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Managedzoneoperations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * For mutating operation requests only. An optional identifier specified by + * the client. Must be unique for operation resources in the Operations + * collection. + */ + clientOperationId?: string; + /** + * Identifies the managed zone addressed by this request. + */ + managedZone?: string; + /** + * Identifies the operation addressed by this request. + */ + operation?: string; + /** + * Identifies the project addressed by this request. + */ + project?: string; + } + interface Params$Resource$Managedzoneoperations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifies the managed zone addressed by this request. + */ + managedZone?: string; + /** + * Optional. Maximum number of results to be returned. If unspecified, the + * server will decide how many results to return. + */ + maxResults?: number; + /** + * Optional. A tag returned by a previous list request that was truncated. + * Use this parameter to continue a previous list request. + */ + pageToken?: string; + /** + * Identifies the project addressed by this request. + */ + project?: string; + /** + * Sorting criterion. The only supported values are START_TIME and ID. + */ + sortBy?: string; + } + class Resource$Managedzones { + root: Dns; + constructor(root: Dns); + getRoot(): Dns; + /** + * dns.managedZones.create + * @desc Create a new ManagedZone. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud DNS API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dns + * // 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 dns = google.dns('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Identifies the project addressed by this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * dns.managedZones.create(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 dns.managedZones.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.clientOperationId For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection. + * @param {string} params.project Identifies the project addressed by this request. + * @param {().ManagedZone} 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 + */ + create(params?: Params$Resource$Managedzones$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Managedzones$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Managedzones$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * dns.managedZones.delete + * @desc Delete a previously created ManagedZone. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud DNS API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dns + * // 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 dns = google.dns('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Identifies the project addressed by this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Identifies the managed zone addressed by this request. Can be the + * managed zone name or id. managedZone: 'my-managed-zone', // TODO: Update + * placeholder value. + * + * auth: authClient, + * }; + * + * dns.managedZones.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 dns.managedZones.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.clientOperationId For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection. + * @param {string} params.managedZone Identifies the managed zone addressed by this request. Can be the managed zone name or id. + * @param {string} params.project Identifies the project addressed by this request. + * @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?: Params$Resource$Managedzones$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Managedzones$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Managedzones$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dns.managedZones.get + * @desc Fetch the representation of an existing ManagedZone. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud DNS API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dns + * // 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 dns = google.dns('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Identifies the project addressed by this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Identifies the managed zone addressed by this request. Can be the + * managed zone name or id. managedZone: 'my-managed-zone', // TODO: Update + * placeholder value. + * + * auth: authClient, + * }; + * + * dns.managedZones.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 dns.managedZones.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.clientOperationId For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection. + * @param {string} params.managedZone Identifies the managed zone addressed by this request. Can be the managed zone name or id. + * @param {string} params.project Identifies the project addressed by this request. + * @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?: Params$Resource$Managedzones$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Managedzones$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Managedzones$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dns.managedZones.list + * @desc Enumerate ManagedZones that have been created but not yet deleted. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud DNS API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dns + * // 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 dns = google.dns('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Identifies the project addressed by this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var managedZonesPage = response['managedZones']; + * if (!managedZonesPage) { + * return; + * } + * for (var i = 0; i < managedZonesPage.length; i++) { + * // TODO: Change code below to process each resource in + * `managedZonesPage`: console.log(JSON.stringify(managedZonesPage[i], null, + * 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * dns.managedZones.list(request, handlePage); + * } + * }; + * + * dns.managedZones.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 dns.managedZones.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.dnsName Restricts the list to return only zones with this domain name. + * @param {integer=} params.maxResults Optional. Maximum number of results to be returned. If unspecified, the server will decide how many results to return. + * @param {string=} params.pageToken Optional. A tag returned by a previous list request that was truncated. Use this parameter to continue a previous list request. + * @param {string} params.project Identifies the project addressed by this request. + * @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?: Params$Resource$Managedzones$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Managedzones$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Managedzones$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dns.managedZones.patch + * @desc Apply a partial update to an existing ManagedZone. + * @alias dns.managedZones.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.clientOperationId For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection. + * @param {string} params.managedZone Identifies the managed zone addressed by this request. Can be the managed zone name or id. + * @param {string} params.project Identifies the project addressed by this request. + * @param {().ManagedZone} 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 + */ + patch(params?: Params$Resource$Managedzones$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Managedzones$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Managedzones$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dns.managedZones.update + * @desc Update an existing ManagedZone. + * @alias dns.managedZones.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.clientOperationId For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection. + * @param {string} params.managedZone Identifies the managed zone addressed by this request. Can be the managed zone name or id. + * @param {string} params.project Identifies the project addressed by this request. + * @param {().ManagedZone} 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?: Params$Resource$Managedzones$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Managedzones$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Managedzones$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Managedzones$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * For mutating operation requests only. An optional identifier specified by + * the client. Must be unique for operation resources in the Operations + * collection. + */ + clientOperationId?: string; + /** + * Identifies the project addressed by this request. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ManagedZone; + } + interface Params$Resource$Managedzones$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * For mutating operation requests only. An optional identifier specified by + * the client. Must be unique for operation resources in the Operations + * collection. + */ + clientOperationId?: string; + /** + * Identifies the managed zone addressed by this request. Can be the managed + * zone name or id. + */ + managedZone?: string; + /** + * Identifies the project addressed by this request. + */ + project?: string; + } + interface Params$Resource$Managedzones$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * For mutating operation requests only. An optional identifier specified by + * the client. Must be unique for operation resources in the Operations + * collection. + */ + clientOperationId?: string; + /** + * Identifies the managed zone addressed by this request. Can be the managed + * zone name or id. + */ + managedZone?: string; + /** + * Identifies the project addressed by this request. + */ + project?: string; + } + interface Params$Resource$Managedzones$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Restricts the list to return only zones with this domain name. + */ + dnsName?: string; + /** + * Optional. Maximum number of results to be returned. If unspecified, the + * server will decide how many results to return. + */ + maxResults?: number; + /** + * Optional. A tag returned by a previous list request that was truncated. + * Use this parameter to continue a previous list request. + */ + pageToken?: string; + /** + * Identifies the project addressed by this request. + */ + project?: string; + } + interface Params$Resource$Managedzones$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * For mutating operation requests only. An optional identifier specified by + * the client. Must be unique for operation resources in the Operations + * collection. + */ + clientOperationId?: string; + /** + * Identifies the managed zone addressed by this request. Can be the managed + * zone name or id. + */ + managedZone?: string; + /** + * Identifies the project addressed by this request. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ManagedZone; + } + interface Params$Resource$Managedzones$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * For mutating operation requests only. An optional identifier specified by + * the client. Must be unique for operation resources in the Operations + * collection. + */ + clientOperationId?: string; + /** + * Identifies the managed zone addressed by this request. Can be the managed + * zone name or id. + */ + managedZone?: string; + /** + * Identifies the project addressed by this request. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ManagedZone; + } + class Resource$Projects { + root: Dns; + constructor(root: Dns); + getRoot(): Dns; + /** + * dns.projects.get + * @desc Fetch the representation of an existing Project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud DNS API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dns + * // 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 dns = google.dns('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Identifies the project addressed by this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dns.projects.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 dns.projects.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.clientOperationId For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection. + * @param {string} params.project Identifies the project addressed by this request. + * @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?: Params$Resource$Projects$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * For mutating operation requests only. An optional identifier specified by + * the client. Must be unique for operation resources in the Operations + * collection. + */ + clientOperationId?: string; + /** + * Identifies the project addressed by this request. + */ + project?: string; + } + class Resource$Resourcerecordsets { + root: Dns; + constructor(root: Dns); + getRoot(): Dns; + /** + * dns.resourceRecordSets.list + * @desc Enumerate ResourceRecordSets that have been created but not yet + * deleted. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud DNS API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dns + * // 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 dns = google.dns('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Identifies the project addressed by this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Identifies the managed zone addressed by this request. Can be the + * managed zone name or id. managedZone: 'my-managed-zone', // TODO: Update + * placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var rrsetsPage = response['rrsets']; + * if (!rrsetsPage) { + * return; + * } + * for (var i = 0; i < rrsetsPage.length; i++) { + * // TODO: Change code below to process each resource in + * `rrsetsPage`: console.log(JSON.stringify(rrsetsPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * dns.resourceRecordSets.list(request, handlePage); + * } + * }; + * + * dns.resourceRecordSets.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 dns.resourceRecordSets.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.managedZone Identifies the managed zone addressed by this request. Can be the managed zone name or id. + * @param {integer=} params.maxResults Optional. Maximum number of results to be returned. If unspecified, the server will decide how many results to return. + * @param {string=} params.name Restricts the list to return only records with this fully qualified domain name. + * @param {string=} params.pageToken Optional. A tag returned by a previous list request that was truncated. Use this parameter to continue a previous list request. + * @param {string} params.project Identifies the project addressed by this request. + * @param {string=} params.type Restricts the list to return only records of this type. If present, the "name" parameter must also be present. + * @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?: Params$Resource$Resourcerecordsets$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Resourcerecordsets$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Resourcerecordsets$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Resourcerecordsets$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifies the managed zone addressed by this request. Can be the managed + * zone name or id. + */ + managedZone?: string; + /** + * Optional. Maximum number of results to be returned. If unspecified, the + * server will decide how many results to return. + */ + maxResults?: number; + /** + * Restricts the list to return only records with this fully qualified + * domain name. + */ + name?: string; + /** + * Optional. A tag returned by a previous list request that was truncated. + * Use this parameter to continue a previous list request. + */ + pageToken?: string; + /** + * Identifies the project addressed by this request. + */ + project?: string; + /** + * Restricts the list to return only records of this type. If present, the + * "name" parameter must also be present. + */ + type?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/dns/v1.js b/express-server/node_modules/googleapis/build/src/apis/dns/v1.js new file mode 100644 index 00000000..a5ea335b --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dns/v1.js @@ -0,0 +1,597 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var dns_v1; +(function (dns_v1) { + /** + * Google Cloud DNS API + * + * Configures and serves authoritative DNS records. + * + * @example + * const {google} = require('googleapis'); + * const dns = google.dns('v1'); + * + * @namespace dns + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Dns + */ + class Dns { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.changes = new Resource$Changes(this); + this.dnsKeys = new Resource$Dnskeys(this); + this.managedZoneOperations = new Resource$Managedzoneoperations(this); + this.managedZones = new Resource$Managedzones(this); + this.projects = new Resource$Projects(this); + this.resourceRecordSets = new Resource$Resourcerecordsets(this); + } + getRoot() { + return this.root; + } + } + dns_v1.Dns = Dns; + class Resource$Changes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dns/v1/projects/{project}/managedZones/{managedZone}/changes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'managedZone'], + pathParams: ['managedZone', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dns/v1/projects/{project}/managedZones/{managedZone}/changes/{changeId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'managedZone', 'changeId'], + pathParams: ['changeId', 'managedZone', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dns/v1/projects/{project}/managedZones/{managedZone}/changes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'managedZone'], + pathParams: ['managedZone', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dns_v1.Resource$Changes = Resource$Changes; + class Resource$Dnskeys { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dns/v1/projects/{project}/managedZones/{managedZone}/dnsKeys/{dnsKeyId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'managedZone', 'dnsKeyId'], + pathParams: ['dnsKeyId', 'managedZone', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dns/v1/projects/{project}/managedZones/{managedZone}/dnsKeys') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'managedZone'], + pathParams: ['managedZone', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dns_v1.Resource$Dnskeys = Resource$Dnskeys; + class Resource$Managedzoneoperations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dns/v1/projects/{project}/managedZones/{managedZone}/operations/{operation}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'managedZone', 'operation'], + pathParams: ['managedZone', 'operation', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dns/v1/projects/{project}/managedZones/{managedZone}/operations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'managedZone'], + pathParams: ['managedZone', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dns_v1.Resource$Managedzoneoperations = Resource$Managedzoneoperations; + class Resource$Managedzones { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/dns/v1/projects/{project}/managedZones') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dns/v1/projects/{project}/managedZones/{managedZone}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'managedZone'], + pathParams: ['managedZone', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dns/v1/projects/{project}/managedZones/{managedZone}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'managedZone'], + pathParams: ['managedZone', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/dns/v1/projects/{project}/managedZones') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dns/v1/projects/{project}/managedZones/{managedZone}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'managedZone'], + pathParams: ['managedZone', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dns/v1/projects/{project}/managedZones/{managedZone}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['project', 'managedZone'], + pathParams: ['managedZone', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dns_v1.Resource$Managedzones = Resource$Managedzones; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/dns/v1/projects/{project}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dns_v1.Resource$Projects = Resource$Projects; + class Resource$Resourcerecordsets { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dns/v1/projects/{project}/managedZones/{managedZone}/rrsets') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'managedZone'], + pathParams: ['managedZone', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dns_v1.Resource$Resourcerecordsets = Resource$Resourcerecordsets; +})(dns_v1 = exports.dns_v1 || (exports.dns_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/dns/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/dns/v1.js.map new file mode 100644 index 00000000..3746d30e --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dns/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/dns/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/dns/v1beta2.d.ts b/express-server/node_modules/googleapis/build/src/apis/dns/v1beta2.d.ts new file mode 100644 index 00000000..fbf6c0b4 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dns/v1beta2.d.ts @@ -0,0 +1,1275 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace dns_v1beta2 { + interface Options extends GlobalOptions { + version: 'v1beta2'; + } + /** + * Google Cloud DNS API + * + * Configures and serves authoritative DNS records. + * + * @example + * const {google} = require('googleapis'); + * const dns = google.dns('v1beta2'); + * + * @namespace dns + * @type {Function} + * @version v1beta2 + * @variation v1beta2 + * @param {object=} options Options for Dns + */ + class Dns { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + changes: Resource$Changes; + dnsKeys: Resource$Dnskeys; + managedZoneOperations: Resource$Managedzoneoperations; + managedZones: Resource$Managedzones; + projects: Resource$Projects; + resourceRecordSets: Resource$Resourcerecordsets; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * An atomic update to a collection of ResourceRecordSets. + */ + interface Schema$Change { + /** + * Which ResourceRecordSets to add? + */ + additions?: Schema$ResourceRecordSet[]; + /** + * Which ResourceRecordSets to remove? Must match existing data exactly. + */ + deletions?: Schema$ResourceRecordSet[]; + /** + * Unique identifier for the resource; defined by the server (output only). + */ + id?: string; + /** + * If the DNS queries for the zone will be served. + */ + isServing?: boolean; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dns#change". + */ + kind?: string; + /** + * The time that this operation was started by the server (output only). + * This is in RFC3339 text format. + */ + startTime?: string; + /** + * Status of the operation (output only). + */ + status?: string; + } + /** + * The response to a request to enumerate Changes to a ResourceRecordSets + * collection. + */ + interface Schema$ChangesListResponse { + /** + * The requested changes. + */ + changes?: Schema$Change[]; + header?: Schema$ResponseHeader; + /** + * Type of resource. + */ + kind?: string; + /** + * The presence of this field indicates that there exist more results + * following your last page of results in pagination order. To fetch them, + * make another list request using this value as your pagination token. In + * this way you can retrieve the complete contents of even very large + * collections one page at a time. However, if the contents of the + * collection change between the first and last paginated list request, the + * set of all elements returned will be an inconsistent view of the + * collection. There is no way to retrieve a "snapshot" of + * collections larger than the maximum page size. + */ + nextPageToken?: string; + } + /** + * A DNSSEC key pair. + */ + interface Schema$DnsKey { + /** + * String mnemonic specifying the DNSSEC algorithm of this key. Immutable + * after creation time. + */ + algorithm?: string; + /** + * The time that this resource was created in the control plane. This is in + * RFC3339 text format. Output only. + */ + creationTime?: string; + /** + * A mutable string of at most 1024 characters associated with this resource + * for the user's convenience. Has no effect on the resource's + * function. + */ + description?: string; + /** + * Cryptographic hashes of the DNSKEY resource record associated with this + * DnsKey. These digests are needed to construct a DS record that points at + * this DNS key. Output only. + */ + digests?: Schema$DnsKeyDigest[]; + /** + * Unique identifier for the resource; defined by the server (output only). + */ + id?: string; + /** + * Active keys will be used to sign subsequent changes to the ManagedZone. + * Inactive keys will still be present as DNSKEY Resource Records for the + * use of resolvers validating existing signatures. + */ + isActive?: boolean; + /** + * Length of the key in bits. Specified at creation time then immutable. + */ + keyLength?: number; + /** + * The key tag is a non-cryptographic hash of the a DNSKEY resource record + * associated with this DnsKey. The key tag can be used to identify a DNSKEY + * more quickly (but it is not a unique identifier). In particular, the key + * tag is used in a parent zone's DS record to point at the DNSKEY in + * this child ManagedZone. The key tag is a number in the range [0, 65535] + * and the algorithm to calculate it is specified in RFC4034 Appendix B. + * Output only. + */ + keyTag?: number; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dns#dnsKey". + */ + kind?: string; + /** + * Base64 encoded public half of this key. Output only. + */ + publicKey?: string; + /** + * One of "KEY_SIGNING" or "ZONE_SIGNING". Keys of type + * KEY_SIGNING have the Secure Entry Point flag set and, when active, will + * be used to sign only resource record sets of type DNSKEY. Otherwise, the + * Secure Entry Point flag will be cleared and this key will be used to sign + * only resource record sets of other types. Immutable after creation time. + */ + type?: string; + } + interface Schema$DnsKeyDigest { + /** + * The base-16 encoded bytes of this digest. Suitable for use in a DS + * resource record. + */ + digest?: string; + /** + * Specifies the algorithm used to calculate this digest. + */ + type?: string; + } + /** + * The response to a request to enumerate DnsKeys in a ManagedZone. + */ + interface Schema$DnsKeysListResponse { + /** + * The requested resources. + */ + dnsKeys?: Schema$DnsKey[]; + header?: Schema$ResponseHeader; + /** + * Type of resource. + */ + kind?: string; + /** + * The presence of this field indicates that there exist more results + * following your last page of results in pagination order. To fetch them, + * make another list request using this value as your pagination token. In + * this way you can retrieve the complete contents of even very large + * collections one page at a time. However, if the contents of the + * collection change between the first and last paginated list request, the + * set of all elements returned will be an inconsistent view of the + * collection. There is no way to retrieve a "snapshot" of + * collections larger than the maximum page size. + */ + nextPageToken?: string; + } + /** + * Parameters for DnsKey key generation. Used for generating initial keys for + * a new ManagedZone and as default when adding a new DnsKey. + */ + interface Schema$DnsKeySpec { + /** + * String mnemonic specifying the DNSSEC algorithm of this key. + */ + algorithm?: string; + /** + * Length of the keys in bits. + */ + keyLength?: number; + /** + * One of "KEY_SIGNING" or "ZONE_SIGNING". Keys of type + * KEY_SIGNING have the Secure Entry Point flag set and, when active, will + * be used to sign only resource record sets of type DNSKEY. Otherwise, the + * Secure Entry Point flag will be cleared and this key will be used to sign + * only resource record sets of other types. + */ + keyType?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dns#dnsKeySpec". + */ + kind?: string; + } + /** + * A zone is a subtree of the DNS namespace under one administrative + * responsibility. A ManagedZone is a resource that represents a DNS zone + * hosted by the Cloud DNS service. + */ + interface Schema$ManagedZone { + /** + * The time that this resource was created on the server. This is in RFC3339 + * text format. Output only. + */ + creationTime?: string; + /** + * A mutable string of at most 1024 characters associated with this resource + * for the user's convenience. Has no effect on the managed zone's + * function. + */ + description?: string; + /** + * The DNS name of this managed zone, for instance "example.com.". + */ + dnsName?: string; + /** + * DNSSEC configuration. + */ + dnssecConfig?: Schema$ManagedZoneDnsSecConfig; + /** + * Unique identifier for the resource; defined by the server (output only) + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dns#managedZone". + */ + kind?: string; + /** + * User labels. + */ + labels?: any; + /** + * User assigned name for this resource. Must be unique within the project. + * The name must be 1-63 characters long, must begin with a letter, end with + * a letter or digit, and only contain lowercase letters, digits or dashes. + */ + name?: string; + /** + * Delegate your managed_zone to these virtual name servers; defined by the + * server (output only) + */ + nameServers?: string[]; + /** + * Optionally specifies the NameServerSet for this ManagedZone. A + * NameServerSet is a set of DNS name servers that all host the same + * ManagedZones. Most users will leave this field unset. + */ + nameServerSet?: string; + } + interface Schema$ManagedZoneDnsSecConfig { + /** + * Specifies parameters that will be used for generating initial DnsKeys for + * this ManagedZone. Output only while state is not OFF. + */ + defaultKeySpecs?: Schema$DnsKeySpec[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dns#managedZoneDnsSecConfig". + */ + kind?: string; + /** + * Specifies the mechanism used to provide authenticated denial-of-existence + * responses. Output only while state is not OFF. + */ + nonExistence?: string; + /** + * Specifies whether DNSSEC is enabled, and what mode it is in. + */ + state?: string; + } + interface Schema$ManagedZoneOperationsListResponse { + header?: Schema$ResponseHeader; + /** + * Type of resource. + */ + kind?: string; + /** + * The presence of this field indicates that there exist more results + * following your last page of results in pagination order. To fetch them, + * make another list request using this value as your page token. In this + * way you can retrieve the complete contents of even very large collections + * one page at a time. However, if the contents of the collection change + * between the first and last paginated list request, the set of all + * elements returned will be an inconsistent view of the collection. There + * is no way to retrieve a consistent snapshot of a collection larger than + * the maximum page size. + */ + nextPageToken?: string; + /** + * The operation resources. + */ + operations?: Schema$Operation[]; + } + interface Schema$ManagedZonesListResponse { + header?: Schema$ResponseHeader; + /** + * Type of resource. + */ + kind?: string; + /** + * The managed zone resources. + */ + managedZones?: Schema$ManagedZone[]; + /** + * The presence of this field indicates that there exist more results + * following your last page of results in pagination order. To fetch them, + * make another list request using this value as your page token. In this + * way you can retrieve the complete contents of even very large collections + * one page at a time. However, if the contents of the collection change + * between the first and last paginated list request, the set of all + * elements returned will be an inconsistent view of the collection. There + * is no way to retrieve a consistent snapshot of a collection larger than + * the maximum page size. + */ + nextPageToken?: string; + } + /** + * An operation represents a successful mutation performed on a Cloud DNS + * resource. Operations provide: - An audit log of server resource mutations. + * - A way to recover/retry API calls in the case where the response is never + * received by the caller. Use the caller specified client_operation_id. + */ + interface Schema$Operation { + /** + * Only populated if the operation targeted a DnsKey (output only). + */ + dnsKeyContext?: Schema$OperationDnsKeyContext; + /** + * Unique identifier for the resource. This is the client_operation_id if + * the client specified it when the mutation was initiated, otherwise, it is + * generated by the server. The name must be 1-63 characters long and match + * the regular expression [-a-z0-9]? (output only) + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dns#operation". + */ + kind?: string; + /** + * The time that this operation was started by the server. This is in + * RFC3339 text format (output only). + */ + startTime?: string; + /** + * Status of the operation. Can be one of the following: "PENDING" + * or "DONE" (output only). + */ + status?: string; + /** + * Type of the operation. Operations include insert, update, and delete + * (output only). + */ + type?: string; + /** + * User who requested the operation, for example: user@example.com. + * cloud-dns-system for operations automatically done by the system. (output + * only) + */ + user?: string; + /** + * Only populated if the operation targeted a ManagedZone (output only). + */ + zoneContext?: Schema$OperationManagedZoneContext; + } + interface Schema$OperationDnsKeyContext { + /** + * The post-operation DnsKey resource. + */ + newValue?: Schema$DnsKey; + /** + * The pre-operation DnsKey resource. + */ + oldValue?: Schema$DnsKey; + } + interface Schema$OperationManagedZoneContext { + /** + * The post-operation ManagedZone resource. + */ + newValue?: Schema$ManagedZone; + /** + * The pre-operation ManagedZone resource. + */ + oldValue?: Schema$ManagedZone; + } + /** + * A project resource. The project is a top level container for resources + * including Cloud DNS ManagedZones. Projects can be created only in the APIs + * console. + */ + interface Schema$Project { + /** + * User assigned unique identifier for the resource (output only). + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dns#project". + */ + kind?: string; + /** + * Unique numeric identifier for the resource; defined by the server (output + * only). + */ + number?: string; + /** + * Quotas assigned to this project (output only). + */ + quota?: Schema$Quota; + } + /** + * Limits associated with a Project. + */ + interface Schema$Quota { + /** + * Maximum allowed number of DnsKeys per ManagedZone. + */ + dnsKeysPerManagedZone?: number; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dns#quota". + */ + kind?: string; + /** + * Maximum allowed number of managed zones in the project. + */ + managedZones?: number; + /** + * Maximum allowed number of ResourceRecords per ResourceRecordSet. + */ + resourceRecordsPerRrset?: number; + /** + * Maximum allowed number of ResourceRecordSets to add per + * ChangesCreateRequest. + */ + rrsetAdditionsPerChange?: number; + /** + * Maximum allowed number of ResourceRecordSets to delete per + * ChangesCreateRequest. + */ + rrsetDeletionsPerChange?: number; + /** + * Maximum allowed number of ResourceRecordSets per zone in the project. + */ + rrsetsPerManagedZone?: number; + /** + * Maximum allowed size for total rrdata in one ChangesCreateRequest in + * bytes. + */ + totalRrdataSizePerChange?: number; + /** + * DNSSEC algorithm and key length types that can be used for DnsKeys. + */ + whitelistedKeySpecs?: Schema$DnsKeySpec[]; + } + /** + * A unit of data that will be returned by the DNS servers. + */ + interface Schema$ResourceRecordSet { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dns#resourceRecordSet". + */ + kind?: string; + /** + * For example, www.example.com. + */ + name?: string; + /** + * As defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1). + */ + rrdatas?: string[]; + /** + * As defined in RFC 4034 (section 3.2). + */ + signatureRrdatas?: string[]; + /** + * Number of seconds that this ResourceRecordSet can be cached by resolvers. + */ + ttl?: number; + /** + * The identifier of a supported record type, for example, A, AAAA, MX, TXT, + * and so on. + */ + type?: string; + } + interface Schema$ResourceRecordSetsListResponse { + header?: Schema$ResponseHeader; + /** + * Type of resource. + */ + kind?: string; + /** + * The presence of this field indicates that there exist more results + * following your last page of results in pagination order. To fetch them, + * make another list request using this value as your pagination token. In + * this way you can retrieve the complete contents of even very large + * collections one page at a time. However, if the contents of the + * collection change between the first and last paginated list request, the + * set of all elements returned will be an inconsistent view of the + * collection. There is no way to retrieve a consistent snapshot of a + * collection larger than the maximum page size. + */ + nextPageToken?: string; + /** + * The resource record set resources. + */ + rrsets?: Schema$ResourceRecordSet[]; + } + /** + * Elements common to every response. + */ + interface Schema$ResponseHeader { + /** + * For mutating operation requests that completed successfully. This is the + * client_operation_id if the client specified it, otherwise it is generated + * by the server (output only). + */ + operationId?: string; + } + class Resource$Changes { + root: Dns; + constructor(root: Dns); + getRoot(): Dns; + /** + * dns.changes.create + * @desc Atomically update the ResourceRecordSet collection. + * @alias dns.changes.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.clientOperationId For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection. + * @param {string} params.managedZone Identifies the managed zone addressed by this request. Can be the managed zone name or id. + * @param {string} params.project Identifies the project addressed by this request. + * @param {().Change} 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 + */ + create(params?: Params$Resource$Changes$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Changes$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Changes$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * dns.changes.get + * @desc Fetch the representation of an existing Change. + * @alias dns.changes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.changeId The identifier of the requested change, from a previous ResourceRecordSetsChangeResponse. + * @param {string=} params.clientOperationId For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection. + * @param {string} params.managedZone Identifies the managed zone addressed by this request. Can be the managed zone name or id. + * @param {string} params.project Identifies the project addressed by this request. + * @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?: Params$Resource$Changes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Changes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Changes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dns.changes.list + * @desc Enumerate Changes to a ResourceRecordSet collection. + * @alias dns.changes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.managedZone Identifies the managed zone addressed by this request. Can be the managed zone name or id. + * @param {integer=} params.maxResults Optional. Maximum number of results to be returned. If unspecified, the server will decide how many results to return. + * @param {string=} params.pageToken Optional. A tag returned by a previous list request that was truncated. Use this parameter to continue a previous list request. + * @param {string} params.project Identifies the project addressed by this request. + * @param {string=} params.sortBy Sorting criterion. The only supported value is change sequence. + * @param {string=} params.sortOrder Sorting order direction: 'ascending' or 'descending'. + * @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?: Params$Resource$Changes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Changes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Changes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Changes$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * For mutating operation requests only. An optional identifier specified by + * the client. Must be unique for operation resources in the Operations + * collection. + */ + clientOperationId?: string; + /** + * Identifies the managed zone addressed by this request. Can be the managed + * zone name or id. + */ + managedZone?: string; + /** + * Identifies the project addressed by this request. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Change; + } + interface Params$Resource$Changes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The identifier of the requested change, from a previous + * ResourceRecordSetsChangeResponse. + */ + changeId?: string; + /** + * For mutating operation requests only. An optional identifier specified by + * the client. Must be unique for operation resources in the Operations + * collection. + */ + clientOperationId?: string; + /** + * Identifies the managed zone addressed by this request. Can be the managed + * zone name or id. + */ + managedZone?: string; + /** + * Identifies the project addressed by this request. + */ + project?: string; + } + interface Params$Resource$Changes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifies the managed zone addressed by this request. Can be the managed + * zone name or id. + */ + managedZone?: string; + /** + * Optional. Maximum number of results to be returned. If unspecified, the + * server will decide how many results to return. + */ + maxResults?: number; + /** + * Optional. A tag returned by a previous list request that was truncated. + * Use this parameter to continue a previous list request. + */ + pageToken?: string; + /** + * Identifies the project addressed by this request. + */ + project?: string; + /** + * Sorting criterion. The only supported value is change sequence. + */ + sortBy?: string; + /** + * Sorting order direction: 'ascending' or 'descending'. + */ + sortOrder?: string; + } + class Resource$Dnskeys { + root: Dns; + constructor(root: Dns); + getRoot(): Dns; + /** + * dns.dnsKeys.get + * @desc Fetch the representation of an existing DnsKey. + * @alias dns.dnsKeys.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.clientOperationId For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection. + * @param {string=} params.digestType An optional comma-separated list of digest types to compute and display for key signing keys. If omitted, the recommended digest type will be computed and displayed. + * @param {string} params.dnsKeyId The identifier of the requested DnsKey. + * @param {string} params.managedZone Identifies the managed zone addressed by this request. Can be the managed zone name or id. + * @param {string} params.project Identifies the project addressed by this request. + * @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?: Params$Resource$Dnskeys$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Dnskeys$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Dnskeys$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dns.dnsKeys.list + * @desc Enumerate DnsKeys to a ResourceRecordSet collection. + * @alias dns.dnsKeys.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.digestType An optional comma-separated list of digest types to compute and display for key signing keys. If omitted, the recommended digest type will be computed and displayed. + * @param {string} params.managedZone Identifies the managed zone addressed by this request. Can be the managed zone name or id. + * @param {integer=} params.maxResults Optional. Maximum number of results to be returned. If unspecified, the server will decide how many results to return. + * @param {string=} params.pageToken Optional. A tag returned by a previous list request that was truncated. Use this parameter to continue a previous list request. + * @param {string} params.project Identifies the project addressed by this request. + * @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?: Params$Resource$Dnskeys$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Dnskeys$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Dnskeys$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Dnskeys$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * For mutating operation requests only. An optional identifier specified by + * the client. Must be unique for operation resources in the Operations + * collection. + */ + clientOperationId?: string; + /** + * An optional comma-separated list of digest types to compute and display + * for key signing keys. If omitted, the recommended digest type will be + * computed and displayed. + */ + digestType?: string; + /** + * The identifier of the requested DnsKey. + */ + dnsKeyId?: string; + /** + * Identifies the managed zone addressed by this request. Can be the managed + * zone name or id. + */ + managedZone?: string; + /** + * Identifies the project addressed by this request. + */ + project?: string; + } + interface Params$Resource$Dnskeys$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * An optional comma-separated list of digest types to compute and display + * for key signing keys. If omitted, the recommended digest type will be + * computed and displayed. + */ + digestType?: string; + /** + * Identifies the managed zone addressed by this request. Can be the managed + * zone name or id. + */ + managedZone?: string; + /** + * Optional. Maximum number of results to be returned. If unspecified, the + * server will decide how many results to return. + */ + maxResults?: number; + /** + * Optional. A tag returned by a previous list request that was truncated. + * Use this parameter to continue a previous list request. + */ + pageToken?: string; + /** + * Identifies the project addressed by this request. + */ + project?: string; + } + class Resource$Managedzoneoperations { + root: Dns; + constructor(root: Dns); + getRoot(): Dns; + /** + * dns.managedZoneOperations.get + * @desc Fetch the representation of an existing Operation. + * @alias dns.managedZoneOperations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.clientOperationId For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection. + * @param {string} params.managedZone Identifies the managed zone addressed by this request. + * @param {string} params.operation Identifies the operation addressed by this request. + * @param {string} params.project Identifies the project addressed by this request. + * @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?: Params$Resource$Managedzoneoperations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Managedzoneoperations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Managedzoneoperations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dns.managedZoneOperations.list + * @desc Enumerate Operations for the given ManagedZone. + * @alias dns.managedZoneOperations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.managedZone Identifies the managed zone addressed by this request. + * @param {integer=} params.maxResults Optional. Maximum number of results to be returned. If unspecified, the server will decide how many results to return. + * @param {string=} params.pageToken Optional. A tag returned by a previous list request that was truncated. Use this parameter to continue a previous list request. + * @param {string} params.project Identifies the project addressed by this request. + * @param {string=} params.sortBy Sorting criterion. The only supported values are START_TIME and ID. + * @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?: Params$Resource$Managedzoneoperations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Managedzoneoperations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Managedzoneoperations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Managedzoneoperations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * For mutating operation requests only. An optional identifier specified by + * the client. Must be unique for operation resources in the Operations + * collection. + */ + clientOperationId?: string; + /** + * Identifies the managed zone addressed by this request. + */ + managedZone?: string; + /** + * Identifies the operation addressed by this request. + */ + operation?: string; + /** + * Identifies the project addressed by this request. + */ + project?: string; + } + interface Params$Resource$Managedzoneoperations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifies the managed zone addressed by this request. + */ + managedZone?: string; + /** + * Optional. Maximum number of results to be returned. If unspecified, the + * server will decide how many results to return. + */ + maxResults?: number; + /** + * Optional. A tag returned by a previous list request that was truncated. + * Use this parameter to continue a previous list request. + */ + pageToken?: string; + /** + * Identifies the project addressed by this request. + */ + project?: string; + /** + * Sorting criterion. The only supported values are START_TIME and ID. + */ + sortBy?: string; + } + class Resource$Managedzones { + root: Dns; + constructor(root: Dns); + getRoot(): Dns; + /** + * dns.managedZones.create + * @desc Create a new ManagedZone. + * @alias dns.managedZones.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.clientOperationId For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection. + * @param {string} params.project Identifies the project addressed by this request. + * @param {().ManagedZone} 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 + */ + create(params?: Params$Resource$Managedzones$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Managedzones$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Managedzones$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * dns.managedZones.delete + * @desc Delete a previously created ManagedZone. + * @alias dns.managedZones.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.clientOperationId For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection. + * @param {string} params.managedZone Identifies the managed zone addressed by this request. Can be the managed zone name or id. + * @param {string} params.project Identifies the project addressed by this request. + * @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?: Params$Resource$Managedzones$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Managedzones$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Managedzones$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dns.managedZones.get + * @desc Fetch the representation of an existing ManagedZone. + * @alias dns.managedZones.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.clientOperationId For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection. + * @param {string} params.managedZone Identifies the managed zone addressed by this request. Can be the managed zone name or id. + * @param {string} params.project Identifies the project addressed by this request. + * @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?: Params$Resource$Managedzones$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Managedzones$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Managedzones$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dns.managedZones.list + * @desc Enumerate ManagedZones that have been created but not yet deleted. + * @alias dns.managedZones.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.dnsName Restricts the list to return only zones with this domain name. + * @param {integer=} params.maxResults Optional. Maximum number of results to be returned. If unspecified, the server will decide how many results to return. + * @param {string=} params.pageToken Optional. A tag returned by a previous list request that was truncated. Use this parameter to continue a previous list request. + * @param {string} params.project Identifies the project addressed by this request. + * @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?: Params$Resource$Managedzones$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Managedzones$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Managedzones$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dns.managedZones.patch + * @desc Apply a partial update to an existing ManagedZone. + * @alias dns.managedZones.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.clientOperationId For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection. + * @param {string} params.managedZone Identifies the managed zone addressed by this request. Can be the managed zone name or id. + * @param {string} params.project Identifies the project addressed by this request. + * @param {().ManagedZone} 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 + */ + patch(params?: Params$Resource$Managedzones$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Managedzones$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Managedzones$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dns.managedZones.update + * @desc Update an existing ManagedZone. + * @alias dns.managedZones.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.clientOperationId For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection. + * @param {string} params.managedZone Identifies the managed zone addressed by this request. Can be the managed zone name or id. + * @param {string} params.project Identifies the project addressed by this request. + * @param {().ManagedZone} 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?: Params$Resource$Managedzones$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Managedzones$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Managedzones$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Managedzones$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * For mutating operation requests only. An optional identifier specified by + * the client. Must be unique for operation resources in the Operations + * collection. + */ + clientOperationId?: string; + /** + * Identifies the project addressed by this request. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ManagedZone; + } + interface Params$Resource$Managedzones$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * For mutating operation requests only. An optional identifier specified by + * the client. Must be unique for operation resources in the Operations + * collection. + */ + clientOperationId?: string; + /** + * Identifies the managed zone addressed by this request. Can be the managed + * zone name or id. + */ + managedZone?: string; + /** + * Identifies the project addressed by this request. + */ + project?: string; + } + interface Params$Resource$Managedzones$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * For mutating operation requests only. An optional identifier specified by + * the client. Must be unique for operation resources in the Operations + * collection. + */ + clientOperationId?: string; + /** + * Identifies the managed zone addressed by this request. Can be the managed + * zone name or id. + */ + managedZone?: string; + /** + * Identifies the project addressed by this request. + */ + project?: string; + } + interface Params$Resource$Managedzones$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Restricts the list to return only zones with this domain name. + */ + dnsName?: string; + /** + * Optional. Maximum number of results to be returned. If unspecified, the + * server will decide how many results to return. + */ + maxResults?: number; + /** + * Optional. A tag returned by a previous list request that was truncated. + * Use this parameter to continue a previous list request. + */ + pageToken?: string; + /** + * Identifies the project addressed by this request. + */ + project?: string; + } + interface Params$Resource$Managedzones$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * For mutating operation requests only. An optional identifier specified by + * the client. Must be unique for operation resources in the Operations + * collection. + */ + clientOperationId?: string; + /** + * Identifies the managed zone addressed by this request. Can be the managed + * zone name or id. + */ + managedZone?: string; + /** + * Identifies the project addressed by this request. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ManagedZone; + } + interface Params$Resource$Managedzones$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * For mutating operation requests only. An optional identifier specified by + * the client. Must be unique for operation resources in the Operations + * collection. + */ + clientOperationId?: string; + /** + * Identifies the managed zone addressed by this request. Can be the managed + * zone name or id. + */ + managedZone?: string; + /** + * Identifies the project addressed by this request. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ManagedZone; + } + class Resource$Projects { + root: Dns; + constructor(root: Dns); + getRoot(): Dns; + /** + * dns.projects.get + * @desc Fetch the representation of an existing Project. + * @alias dns.projects.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.clientOperationId For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection. + * @param {string} params.project Identifies the project addressed by this request. + * @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?: Params$Resource$Projects$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * For mutating operation requests only. An optional identifier specified by + * the client. Must be unique for operation resources in the Operations + * collection. + */ + clientOperationId?: string; + /** + * Identifies the project addressed by this request. + */ + project?: string; + } + class Resource$Resourcerecordsets { + root: Dns; + constructor(root: Dns); + getRoot(): Dns; + /** + * dns.resourceRecordSets.list + * @desc Enumerate ResourceRecordSets that have been created but not yet + * deleted. + * @alias dns.resourceRecordSets.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.managedZone Identifies the managed zone addressed by this request. Can be the managed zone name or id. + * @param {integer=} params.maxResults Optional. Maximum number of results to be returned. If unspecified, the server will decide how many results to return. + * @param {string=} params.name Restricts the list to return only records with this fully qualified domain name. + * @param {string=} params.pageToken Optional. A tag returned by a previous list request that was truncated. Use this parameter to continue a previous list request. + * @param {string} params.project Identifies the project addressed by this request. + * @param {string=} params.type Restricts the list to return only records of this type. If present, the "name" parameter must also be present. + * @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?: Params$Resource$Resourcerecordsets$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Resourcerecordsets$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Resourcerecordsets$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Resourcerecordsets$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifies the managed zone addressed by this request. Can be the managed + * zone name or id. + */ + managedZone?: string; + /** + * Optional. Maximum number of results to be returned. If unspecified, the + * server will decide how many results to return. + */ + maxResults?: number; + /** + * Restricts the list to return only records with this fully qualified + * domain name. + */ + name?: string; + /** + * Optional. A tag returned by a previous list request that was truncated. + * Use this parameter to continue a previous list request. + */ + pageToken?: string; + /** + * Identifies the project addressed by this request. + */ + project?: string; + /** + * Restricts the list to return only records of this type. If present, the + * "name" parameter must also be present. + */ + type?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/dns/v1beta2.js b/express-server/node_modules/googleapis/build/src/apis/dns/v1beta2.js new file mode 100644 index 00000000..3f8336cc --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dns/v1beta2.js @@ -0,0 +1,597 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var dns_v1beta2; +(function (dns_v1beta2) { + /** + * Google Cloud DNS API + * + * Configures and serves authoritative DNS records. + * + * @example + * const {google} = require('googleapis'); + * const dns = google.dns('v1beta2'); + * + * @namespace dns + * @type {Function} + * @version v1beta2 + * @variation v1beta2 + * @param {object=} options Options for Dns + */ + class Dns { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.changes = new Resource$Changes(this); + this.dnsKeys = new Resource$Dnskeys(this); + this.managedZoneOperations = new Resource$Managedzoneoperations(this); + this.managedZones = new Resource$Managedzones(this); + this.projects = new Resource$Projects(this); + this.resourceRecordSets = new Resource$Resourcerecordsets(this); + } + getRoot() { + return this.root; + } + } + dns_v1beta2.Dns = Dns; + class Resource$Changes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dns/v1beta2/projects/{project}/managedZones/{managedZone}/changes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'managedZone'], + pathParams: ['managedZone', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dns/v1beta2/projects/{project}/managedZones/{managedZone}/changes/{changeId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'managedZone', 'changeId'], + pathParams: ['changeId', 'managedZone', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dns/v1beta2/projects/{project}/managedZones/{managedZone}/changes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'managedZone'], + pathParams: ['managedZone', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dns_v1beta2.Resource$Changes = Resource$Changes; + class Resource$Dnskeys { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dns/v1beta2/projects/{project}/managedZones/{managedZone}/dnsKeys/{dnsKeyId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'managedZone', 'dnsKeyId'], + pathParams: ['dnsKeyId', 'managedZone', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dns/v1beta2/projects/{project}/managedZones/{managedZone}/dnsKeys') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'managedZone'], + pathParams: ['managedZone', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dns_v1beta2.Resource$Dnskeys = Resource$Dnskeys; + class Resource$Managedzoneoperations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dns/v1beta2/projects/{project}/managedZones/{managedZone}/operations/{operation}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'managedZone', 'operation'], + pathParams: ['managedZone', 'operation', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dns/v1beta2/projects/{project}/managedZones/{managedZone}/operations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'managedZone'], + pathParams: ['managedZone', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dns_v1beta2.Resource$Managedzoneoperations = Resource$Managedzoneoperations; + class Resource$Managedzones { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/dns/v1beta2/projects/{project}/managedZones') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dns/v1beta2/projects/{project}/managedZones/{managedZone}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'managedZone'], + pathParams: ['managedZone', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dns/v1beta2/projects/{project}/managedZones/{managedZone}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'managedZone'], + pathParams: ['managedZone', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/dns/v1beta2/projects/{project}/managedZones') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dns/v1beta2/projects/{project}/managedZones/{managedZone}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'managedZone'], + pathParams: ['managedZone', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dns/v1beta2/projects/{project}/managedZones/{managedZone}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['project', 'managedZone'], + pathParams: ['managedZone', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dns_v1beta2.Resource$Managedzones = Resource$Managedzones; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/dns/v1beta2/projects/{project}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dns_v1beta2.Resource$Projects = Resource$Projects; + class Resource$Resourcerecordsets { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dns/v1beta2/projects/{project}/managedZones/{managedZone}/rrsets') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'managedZone'], + pathParams: ['managedZone', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dns_v1beta2.Resource$Resourcerecordsets = Resource$Resourcerecordsets; +})(dns_v1beta2 = exports.dns_v1beta2 || (exports.dns_v1beta2 = {})); +//# sourceMappingURL=v1beta2.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/dns/v1beta2.js.map b/express-server/node_modules/googleapis/build/src/apis/dns/v1beta2.js.map new file mode 100644 index 00000000..79c238bd --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dns/v1beta2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1beta2.js","sourceRoot":"","sources":["../../../../src/apis/dns/v1beta2.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/dns/v2beta1.d.ts b/express-server/node_modules/googleapis/build/src/apis/dns/v2beta1.d.ts new file mode 100644 index 00000000..c7f83ede --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dns/v2beta1.d.ts @@ -0,0 +1,2213 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace dns_v2beta1 { + interface Options extends GlobalOptions { + version: 'v2beta1'; + } + /** + * Google Cloud DNS API + * + * Configures and serves authoritative DNS records. + * + * @example + * const {google} = require('googleapis'); + * const dns = google.dns('v2beta1'); + * + * @namespace dns + * @type {Function} + * @version v2beta1 + * @variation v2beta1 + * @param {object=} options Options for Dns + */ + class Dns { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + changes: Resource$Changes; + dnsKeys: Resource$Dnskeys; + managedZoneOperations: Resource$Managedzoneoperations; + managedZones: Resource$Managedzones; + projects: Resource$Projects; + resourceRecordSets: Resource$Resourcerecordsets; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * An atomic update to a collection of ResourceRecordSets. + */ + interface Schema$Change { + /** + * Which ResourceRecordSets to add? + */ + additions?: Schema$ResourceRecordSet[]; + /** + * Which ResourceRecordSets to remove? Must match existing data exactly. + */ + deletions?: Schema$ResourceRecordSet[]; + /** + * Unique identifier for the resource; defined by the server (output only). + */ + id?: string; + /** + * If the DNS queries for the zone will be served. + */ + isServing?: boolean; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dns#change". + */ + kind?: string; + /** + * The time that this operation was started by the server (output only). + * This is in RFC3339 text format. + */ + startTime?: string; + /** + * Status of the operation (output only). + */ + status?: string; + } + /** + * The response to a request to enumerate Changes to a ResourceRecordSets + * collection. + */ + interface Schema$ChangesListResponse { + /** + * The requested changes. + */ + changes?: Schema$Change[]; + header?: Schema$ResponseHeader; + /** + * Type of resource. + */ + kind?: string; + /** + * The presence of this field indicates that there exist more results + * following your last page of results in pagination order. To fetch them, + * make another list request using this value as your pagination token. In + * this way you can retrieve the complete contents of even very large + * collections one page at a time. However, if the contents of the + * collection change between the first and last paginated list request, the + * set of all elements returned will be an inconsistent view of the + * collection. There is no way to retrieve a "snapshot" of + * collections larger than the maximum page size. + */ + nextPageToken?: string; + } + /** + * A DNSSEC key pair. + */ + interface Schema$DnsKey { + /** + * String mnemonic specifying the DNSSEC algorithm of this key. Immutable + * after creation time. + */ + algorithm?: string; + /** + * The time that this resource was created in the control plane. This is in + * RFC3339 text format. Output only. + */ + creationTime?: string; + /** + * A mutable string of at most 1024 characters associated with this resource + * for the user's convenience. Has no effect on the resource's + * function. + */ + description?: string; + /** + * Cryptographic hashes of the DNSKEY resource record associated with this + * DnsKey. These digests are needed to construct a DS record that points at + * this DNS key. Output only. + */ + digests?: Schema$DnsKeyDigest[]; + /** + * Unique identifier for the resource; defined by the server (output only). + */ + id?: string; + /** + * Active keys will be used to sign subsequent changes to the ManagedZone. + * Inactive keys will still be present as DNSKEY Resource Records for the + * use of resolvers validating existing signatures. + */ + isActive?: boolean; + /** + * Length of the key in bits. Specified at creation time then immutable. + */ + keyLength?: number; + /** + * The key tag is a non-cryptographic hash of the a DNSKEY resource record + * associated with this DnsKey. The key tag can be used to identify a DNSKEY + * more quickly (but it is not a unique identifier). In particular, the key + * tag is used in a parent zone's DS record to point at the DNSKEY in + * this child ManagedZone. The key tag is a number in the range [0, 65535] + * and the algorithm to calculate it is specified in RFC4034 Appendix B. + * Output only. + */ + keyTag?: number; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dns#dnsKey". + */ + kind?: string; + /** + * Base64 encoded public half of this key. Output only. + */ + publicKey?: string; + /** + * One of "KEY_SIGNING" or "ZONE_SIGNING". Keys of type + * KEY_SIGNING have the Secure Entry Point flag set and, when active, will + * be used to sign only resource record sets of type DNSKEY. Otherwise, the + * Secure Entry Point flag will be cleared and this key will be used to sign + * only resource record sets of other types. Immutable after creation time. + */ + type?: string; + } + interface Schema$DnsKeyDigest { + /** + * The base-16 encoded bytes of this digest. Suitable for use in a DS + * resource record. + */ + digest?: string; + /** + * Specifies the algorithm used to calculate this digest. + */ + type?: string; + } + /** + * The response to a request to enumerate DnsKeys in a ManagedZone. + */ + interface Schema$DnsKeysListResponse { + /** + * The requested resources. + */ + dnsKeys?: Schema$DnsKey[]; + header?: Schema$ResponseHeader; + /** + * Type of resource. + */ + kind?: string; + /** + * The presence of this field indicates that there exist more results + * following your last page of results in pagination order. To fetch them, + * make another list request using this value as your pagination token. In + * this way you can retrieve the complete contents of even very large + * collections one page at a time. However, if the contents of the + * collection change between the first and last paginated list request, the + * set of all elements returned will be an inconsistent view of the + * collection. There is no way to retrieve a "snapshot" of + * collections larger than the maximum page size. + */ + nextPageToken?: string; + } + /** + * Parameters for DnsKey key generation. Used for generating initial keys for + * a new ManagedZone and as default when adding a new DnsKey. + */ + interface Schema$DnsKeySpec { + /** + * String mnemonic specifying the DNSSEC algorithm of this key. + */ + algorithm?: string; + /** + * Length of the keys in bits. + */ + keyLength?: number; + /** + * One of "KEY_SIGNING" or "ZONE_SIGNING". Keys of type + * KEY_SIGNING have the Secure Entry Point flag set and, when active, will + * be used to sign only resource record sets of type DNSKEY. Otherwise, the + * Secure Entry Point flag will be cleared and this key will be used to sign + * only resource record sets of other types. + */ + keyType?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dns#dnsKeySpec". + */ + kind?: string; + } + /** + * A zone is a subtree of the DNS namespace under one administrative + * responsibility. A ManagedZone is a resource that represents a DNS zone + * hosted by the Cloud DNS service. + */ + interface Schema$ManagedZone { + /** + * The time that this resource was created on the server. This is in RFC3339 + * text format. Output only. + */ + creationTime?: string; + /** + * A mutable string of at most 1024 characters associated with this resource + * for the user's convenience. Has no effect on the managed zone's + * function. + */ + description?: string; + /** + * The DNS name of this managed zone, for instance "example.com.". + */ + dnsName?: string; + /** + * DNSSEC configuration. + */ + dnssecConfig?: Schema$ManagedZoneDnsSecConfig; + /** + * Unique identifier for the resource; defined by the server (output only) + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dns#managedZone". + */ + kind?: string; + /** + * User labels. + */ + labels?: any; + /** + * User assigned name for this resource. Must be unique within the project. + * The name must be 1-63 characters long, must begin with a letter, end with + * a letter or digit, and only contain lowercase letters, digits or dashes. + */ + name?: string; + /** + * Delegate your managed_zone to these virtual name servers; defined by the + * server (output only) + */ + nameServers?: string[]; + /** + * Optionally specifies the NameServerSet for this ManagedZone. A + * NameServerSet is a set of DNS name servers that all host the same + * ManagedZones. Most users will leave this field unset. + */ + nameServerSet?: string; + } + interface Schema$ManagedZoneDnsSecConfig { + /** + * Specifies parameters that will be used for generating initial DnsKeys for + * this ManagedZone. Output only while state is not OFF. + */ + defaultKeySpecs?: Schema$DnsKeySpec[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dns#managedZoneDnsSecConfig". + */ + kind?: string; + /** + * Specifies the mechanism used to provide authenticated denial-of-existence + * responses. Output only while state is not OFF. + */ + nonExistence?: string; + /** + * Specifies whether DNSSEC is enabled, and what mode it is in. + */ + state?: string; + } + interface Schema$ManagedZoneOperationsListResponse { + header?: Schema$ResponseHeader; + /** + * Type of resource. + */ + kind?: string; + /** + * The presence of this field indicates that there exist more results + * following your last page of results in pagination order. To fetch them, + * make another list request using this value as your page token. In this + * way you can retrieve the complete contents of even very large collections + * one page at a time. However, if the contents of the collection change + * between the first and last paginated list request, the set of all + * elements returned will be an inconsistent view of the collection. There + * is no way to retrieve a consistent snapshot of a collection larger than + * the maximum page size. + */ + nextPageToken?: string; + /** + * The operation resources. + */ + operations?: Schema$Operation[]; + } + interface Schema$ManagedZonesListResponse { + header?: Schema$ResponseHeader; + /** + * Type of resource. + */ + kind?: string; + /** + * The managed zone resources. + */ + managedZones?: Schema$ManagedZone[]; + /** + * The presence of this field indicates that there exist more results + * following your last page of results in pagination order. To fetch them, + * make another list request using this value as your page token. In this + * way you can retrieve the complete contents of even very large collections + * one page at a time. However, if the contents of the collection change + * between the first and last paginated list request, the set of all + * elements returned will be an inconsistent view of the collection. There + * is no way to retrieve a consistent snapshot of a collection larger than + * the maximum page size. + */ + nextPageToken?: string; + } + /** + * An operation represents a successful mutation performed on a Cloud DNS + * resource. Operations provide: - An audit log of server resource mutations. + * - A way to recover/retry API calls in the case where the response is never + * received by the caller. Use the caller specified client_operation_id. + */ + interface Schema$Operation { + /** + * Only populated if the operation targeted a DnsKey (output only). + */ + dnsKeyContext?: Schema$OperationDnsKeyContext; + /** + * Unique identifier for the resource. This is the client_operation_id if + * the client specified it when the mutation was initiated, otherwise, it is + * generated by the server. The name must be 1-63 characters long and match + * the regular expression [-a-z0-9]? (output only) + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dns#operation". + */ + kind?: string; + /** + * The time that this operation was started by the server. This is in + * RFC3339 text format (output only). + */ + startTime?: string; + /** + * Status of the operation. Can be one of the following: "PENDING" + * or "DONE" (output only). + */ + status?: string; + /** + * Type of the operation. Operations include insert, update, and delete + * (output only). + */ + type?: string; + /** + * User who requested the operation, for example: user@example.com. + * cloud-dns-system for operations automatically done by the system. (output + * only) + */ + user?: string; + /** + * Only populated if the operation targeted a ManagedZone (output only). + */ + zoneContext?: Schema$OperationManagedZoneContext; + } + interface Schema$OperationDnsKeyContext { + /** + * The post-operation DnsKey resource. + */ + newValue?: Schema$DnsKey; + /** + * The pre-operation DnsKey resource. + */ + oldValue?: Schema$DnsKey; + } + interface Schema$OperationManagedZoneContext { + /** + * The post-operation ManagedZone resource. + */ + newValue?: Schema$ManagedZone; + /** + * The pre-operation ManagedZone resource. + */ + oldValue?: Schema$ManagedZone; + } + /** + * A project resource. The project is a top level container for resources + * including Cloud DNS ManagedZones. Projects can be created only in the APIs + * console. + */ + interface Schema$Project { + /** + * User assigned unique identifier for the resource (output only). + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dns#project". + */ + kind?: string; + /** + * Unique numeric identifier for the resource; defined by the server (output + * only). + */ + number?: string; + /** + * Quotas assigned to this project (output only). + */ + quota?: Schema$Quota; + } + /** + * Limits associated with a Project. + */ + interface Schema$Quota { + /** + * Maximum allowed number of DnsKeys per ManagedZone. + */ + dnsKeysPerManagedZone?: number; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dns#quota". + */ + kind?: string; + /** + * Maximum allowed number of managed zones in the project. + */ + managedZones?: number; + /** + * Maximum allowed number of ResourceRecords per ResourceRecordSet. + */ + resourceRecordsPerRrset?: number; + /** + * Maximum allowed number of ResourceRecordSets to add per + * ChangesCreateRequest. + */ + rrsetAdditionsPerChange?: number; + /** + * Maximum allowed number of ResourceRecordSets to delete per + * ChangesCreateRequest. + */ + rrsetDeletionsPerChange?: number; + /** + * Maximum allowed number of ResourceRecordSets per zone in the project. + */ + rrsetsPerManagedZone?: number; + /** + * Maximum allowed size for total rrdata in one ChangesCreateRequest in + * bytes. + */ + totalRrdataSizePerChange?: number; + /** + * DNSSEC algorithm and key length types that can be used for DnsKeys. + */ + whitelistedKeySpecs?: Schema$DnsKeySpec[]; + } + /** + * A unit of data that will be returned by the DNS servers. + */ + interface Schema$ResourceRecordSet { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "dns#resourceRecordSet". + */ + kind?: string; + /** + * For example, www.example.com. + */ + name?: string; + /** + * As defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1). + */ + rrdatas?: string[]; + /** + * As defined in RFC 4034 (section 3.2). + */ + signatureRrdatas?: string[]; + /** + * Number of seconds that this ResourceRecordSet can be cached by resolvers. + */ + ttl?: number; + /** + * The identifier of a supported record type, for example, A, AAAA, MX, TXT, + * and so on. + */ + type?: string; + } + interface Schema$ResourceRecordSetsListResponse { + header?: Schema$ResponseHeader; + /** + * Type of resource. + */ + kind?: string; + /** + * The presence of this field indicates that there exist more results + * following your last page of results in pagination order. To fetch them, + * make another list request using this value as your pagination token. In + * this way you can retrieve the complete contents of even very large + * collections one page at a time. However, if the contents of the + * collection change between the first and last paginated list request, the + * set of all elements returned will be an inconsistent view of the + * collection. There is no way to retrieve a consistent snapshot of a + * collection larger than the maximum page size. + */ + nextPageToken?: string; + /** + * The resource record set resources. + */ + rrsets?: Schema$ResourceRecordSet[]; + } + /** + * Elements common to every response. + */ + interface Schema$ResponseHeader { + /** + * For mutating operation requests that completed successfully. This is the + * client_operation_id if the client specified it, otherwise it is generated + * by the server (output only). + */ + operationId?: string; + } + class Resource$Changes { + root: Dns; + constructor(root: Dns); + getRoot(): Dns; + /** + * dns.changes.create + * @desc Atomically update the ResourceRecordSet collection. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud DNS API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dns + * // 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 dns = google.dns('v2beta1'); + * + * authorize(function(authClient) { + * var request = { + * // Identifies the project addressed by this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Identifies the managed zone addressed by this request. Can be the + * managed zone name or id. managedZone: 'my-managed-zone', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * dns.changes.create(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 dns.changes.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.clientOperationId For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection. + * @param {string} params.managedZone Identifies the managed zone addressed by this request. Can be the managed zone name or id. + * @param {string} params.project Identifies the project addressed by this request. + * @param {().Change} 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 + */ + create(params?: Params$Resource$Changes$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Changes$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Changes$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * dns.changes.get + * @desc Fetch the representation of an existing Change. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud DNS API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dns + * // 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 dns = google.dns('v2beta1'); + * + * authorize(function(authClient) { + * var request = { + * // Identifies the project addressed by this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Identifies the managed zone addressed by this request. Can be the + * managed zone name or id. managedZone: 'my-managed-zone', // TODO: Update + * placeholder value. + * + * // The identifier of the requested change, from a previous + * ResourceRecordSetsChangeResponse. changeId: 'my-change-id', // TODO: + * Update placeholder value. + * + * auth: authClient, + * }; + * + * dns.changes.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 dns.changes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.changeId The identifier of the requested change, from a previous ResourceRecordSetsChangeResponse. + * @param {string=} params.clientOperationId For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection. + * @param {string} params.managedZone Identifies the managed zone addressed by this request. Can be the managed zone name or id. + * @param {string} params.project Identifies the project addressed by this request. + * @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?: Params$Resource$Changes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Changes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Changes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dns.changes.list + * @desc Enumerate Changes to a ResourceRecordSet collection. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud DNS API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dns + * // 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 dns = google.dns('v2beta1'); + * + * authorize(function(authClient) { + * var request = { + * // Identifies the project addressed by this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Identifies the managed zone addressed by this request. Can be the + * managed zone name or id. managedZone: 'my-managed-zone', // TODO: Update + * placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var changesPage = response['changes']; + * if (!changesPage) { + * return; + * } + * for (var i = 0; i < changesPage.length; i++) { + * // TODO: Change code below to process each resource in + * `changesPage`: console.log(JSON.stringify(changesPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * dns.changes.list(request, handlePage); + * } + * }; + * + * dns.changes.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 dns.changes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.managedZone Identifies the managed zone addressed by this request. Can be the managed zone name or id. + * @param {integer=} params.maxResults Optional. Maximum number of results to be returned. If unspecified, the server will decide how many results to return. + * @param {string=} params.pageToken Optional. A tag returned by a previous list request that was truncated. Use this parameter to continue a previous list request. + * @param {string} params.project Identifies the project addressed by this request. + * @param {string=} params.sortBy Sorting criterion. The only supported value is change sequence. + * @param {string=} params.sortOrder Sorting order direction: 'ascending' or 'descending'. + * @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?: Params$Resource$Changes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Changes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Changes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Changes$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * For mutating operation requests only. An optional identifier specified by + * the client. Must be unique for operation resources in the Operations + * collection. + */ + clientOperationId?: string; + /** + * Identifies the managed zone addressed by this request. Can be the managed + * zone name or id. + */ + managedZone?: string; + /** + * Identifies the project addressed by this request. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Change; + } + interface Params$Resource$Changes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The identifier of the requested change, from a previous + * ResourceRecordSetsChangeResponse. + */ + changeId?: string; + /** + * For mutating operation requests only. An optional identifier specified by + * the client. Must be unique for operation resources in the Operations + * collection. + */ + clientOperationId?: string; + /** + * Identifies the managed zone addressed by this request. Can be the managed + * zone name or id. + */ + managedZone?: string; + /** + * Identifies the project addressed by this request. + */ + project?: string; + } + interface Params$Resource$Changes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifies the managed zone addressed by this request. Can be the managed + * zone name or id. + */ + managedZone?: string; + /** + * Optional. Maximum number of results to be returned. If unspecified, the + * server will decide how many results to return. + */ + maxResults?: number; + /** + * Optional. A tag returned by a previous list request that was truncated. + * Use this parameter to continue a previous list request. + */ + pageToken?: string; + /** + * Identifies the project addressed by this request. + */ + project?: string; + /** + * Sorting criterion. The only supported value is change sequence. + */ + sortBy?: string; + /** + * Sorting order direction: 'ascending' or 'descending'. + */ + sortOrder?: string; + } + class Resource$Dnskeys { + root: Dns; + constructor(root: Dns); + getRoot(): Dns; + /** + * dns.dnsKeys.get + * @desc Fetch the representation of an existing DnsKey. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud DNS API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dns + * // 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 dns = google.dns('v2beta1'); + * + * authorize(function(authClient) { + * var request = { + * // Identifies the project addressed by this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Identifies the managed zone addressed by this request. Can be the + * managed zone name or id. managedZone: 'my-managed-zone', // TODO: Update + * placeholder value. + * + * // The identifier of the requested DnsKey. + * dnsKeyId: 'my-dns-key-id', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dns.dnsKeys.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 dns.dnsKeys.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.clientOperationId For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection. + * @param {string=} params.digestType An optional comma-separated list of digest types to compute and display for key signing keys. If omitted, the recommended digest type will be computed and displayed. + * @param {string} params.dnsKeyId The identifier of the requested DnsKey. + * @param {string} params.managedZone Identifies the managed zone addressed by this request. Can be the managed zone name or id. + * @param {string} params.project Identifies the project addressed by this request. + * @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?: Params$Resource$Dnskeys$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Dnskeys$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Dnskeys$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dns.dnsKeys.list + * @desc Enumerate DnsKeys to a ResourceRecordSet collection. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud DNS API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dns + * // 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 dns = google.dns('v2beta1'); + * + * authorize(function(authClient) { + * var request = { + * // Identifies the project addressed by this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Identifies the managed zone addressed by this request. Can be the + * managed zone name or id. managedZone: 'my-managed-zone', // TODO: Update + * placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var dnsKeysPage = response['dnsKeys']; + * if (!dnsKeysPage) { + * return; + * } + * for (var i = 0; i < dnsKeysPage.length; i++) { + * // TODO: Change code below to process each resource in + * `dnsKeysPage`: console.log(JSON.stringify(dnsKeysPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * dns.dnsKeys.list(request, handlePage); + * } + * }; + * + * dns.dnsKeys.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 dns.dnsKeys.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.digestType An optional comma-separated list of digest types to compute and display for key signing keys. If omitted, the recommended digest type will be computed and displayed. + * @param {string} params.managedZone Identifies the managed zone addressed by this request. Can be the managed zone name or id. + * @param {integer=} params.maxResults Optional. Maximum number of results to be returned. If unspecified, the server will decide how many results to return. + * @param {string=} params.pageToken Optional. A tag returned by a previous list request that was truncated. Use this parameter to continue a previous list request. + * @param {string} params.project Identifies the project addressed by this request. + * @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?: Params$Resource$Dnskeys$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Dnskeys$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Dnskeys$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Dnskeys$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * For mutating operation requests only. An optional identifier specified by + * the client. Must be unique for operation resources in the Operations + * collection. + */ + clientOperationId?: string; + /** + * An optional comma-separated list of digest types to compute and display + * for key signing keys. If omitted, the recommended digest type will be + * computed and displayed. + */ + digestType?: string; + /** + * The identifier of the requested DnsKey. + */ + dnsKeyId?: string; + /** + * Identifies the managed zone addressed by this request. Can be the managed + * zone name or id. + */ + managedZone?: string; + /** + * Identifies the project addressed by this request. + */ + project?: string; + } + interface Params$Resource$Dnskeys$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * An optional comma-separated list of digest types to compute and display + * for key signing keys. If omitted, the recommended digest type will be + * computed and displayed. + */ + digestType?: string; + /** + * Identifies the managed zone addressed by this request. Can be the managed + * zone name or id. + */ + managedZone?: string; + /** + * Optional. Maximum number of results to be returned. If unspecified, the + * server will decide how many results to return. + */ + maxResults?: number; + /** + * Optional. A tag returned by a previous list request that was truncated. + * Use this parameter to continue a previous list request. + */ + pageToken?: string; + /** + * Identifies the project addressed by this request. + */ + project?: string; + } + class Resource$Managedzoneoperations { + root: Dns; + constructor(root: Dns); + getRoot(): Dns; + /** + * dns.managedZoneOperations.get + * @desc Fetch the representation of an existing Operation. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud DNS API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dns + * // 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 dns = google.dns('v2beta1'); + * + * authorize(function(authClient) { + * var request = { + * // Identifies the project addressed by this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Identifies the managed zone addressed by this request. + * managedZone: 'my-managed-zone', // TODO: Update placeholder value. + * + * // Identifies the operation addressed by this request. + * operation: 'my-operation', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dns.managedZoneOperations.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 dns.managedZoneOperations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.clientOperationId For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection. + * @param {string} params.managedZone Identifies the managed zone addressed by this request. + * @param {string} params.operation Identifies the operation addressed by this request. + * @param {string} params.project Identifies the project addressed by this request. + * @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?: Params$Resource$Managedzoneoperations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Managedzoneoperations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Managedzoneoperations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dns.managedZoneOperations.list + * @desc Enumerate Operations for the given ManagedZone. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud DNS API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dns + * // 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 dns = google.dns('v2beta1'); + * + * authorize(function(authClient) { + * var request = { + * // Identifies the project addressed by this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Identifies the managed zone addressed by this request. + * managedZone: 'my-managed-zone', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var operationsPage = response['operations']; + * if (!operationsPage) { + * return; + * } + * for (var i = 0; i < operationsPage.length; i++) { + * // TODO: Change code below to process each resource in + * `operationsPage`: console.log(JSON.stringify(operationsPage[i], null, + * 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * dns.managedZoneOperations.list(request, handlePage); + * } + * }; + * + * dns.managedZoneOperations.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 dns.managedZoneOperations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.managedZone Identifies the managed zone addressed by this request. + * @param {integer=} params.maxResults Optional. Maximum number of results to be returned. If unspecified, the server will decide how many results to return. + * @param {string=} params.pageToken Optional. A tag returned by a previous list request that was truncated. Use this parameter to continue a previous list request. + * @param {string} params.project Identifies the project addressed by this request. + * @param {string=} params.sortBy Sorting criterion. The only supported values are START_TIME and ID. + * @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?: Params$Resource$Managedzoneoperations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Managedzoneoperations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Managedzoneoperations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Managedzoneoperations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * For mutating operation requests only. An optional identifier specified by + * the client. Must be unique for operation resources in the Operations + * collection. + */ + clientOperationId?: string; + /** + * Identifies the managed zone addressed by this request. + */ + managedZone?: string; + /** + * Identifies the operation addressed by this request. + */ + operation?: string; + /** + * Identifies the project addressed by this request. + */ + project?: string; + } + interface Params$Resource$Managedzoneoperations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifies the managed zone addressed by this request. + */ + managedZone?: string; + /** + * Optional. Maximum number of results to be returned. If unspecified, the + * server will decide how many results to return. + */ + maxResults?: number; + /** + * Optional. A tag returned by a previous list request that was truncated. + * Use this parameter to continue a previous list request. + */ + pageToken?: string; + /** + * Identifies the project addressed by this request. + */ + project?: string; + /** + * Sorting criterion. The only supported values are START_TIME and ID. + */ + sortBy?: string; + } + class Resource$Managedzones { + root: Dns; + constructor(root: Dns); + getRoot(): Dns; + /** + * dns.managedZones.create + * @desc Create a new ManagedZone. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud DNS API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dns + * // 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 dns = google.dns('v2beta1'); + * + * authorize(function(authClient) { + * var request = { + * // Identifies the project addressed by this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * dns.managedZones.create(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 dns.managedZones.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.clientOperationId For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection. + * @param {string} params.project Identifies the project addressed by this request. + * @param {().ManagedZone} 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 + */ + create(params?: Params$Resource$Managedzones$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Managedzones$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Managedzones$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * dns.managedZones.delete + * @desc Delete a previously created ManagedZone. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud DNS API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dns + * // 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 dns = google.dns('v2beta1'); + * + * authorize(function(authClient) { + * var request = { + * // Identifies the project addressed by this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Identifies the managed zone addressed by this request. Can be the + * managed zone name or id. managedZone: 'my-managed-zone', // TODO: Update + * placeholder value. + * + * auth: authClient, + * }; + * + * dns.managedZones.delete(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 dns.managedZones.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.clientOperationId For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection. + * @param {string} params.managedZone Identifies the managed zone addressed by this request. Can be the managed zone name or id. + * @param {string} params.project Identifies the project addressed by this request. + * @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?: Params$Resource$Managedzones$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Managedzones$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Managedzones$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * dns.managedZones.get + * @desc Fetch the representation of an existing ManagedZone. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud DNS API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dns + * // 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 dns = google.dns('v2beta1'); + * + * authorize(function(authClient) { + * var request = { + * // Identifies the project addressed by this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Identifies the managed zone addressed by this request. Can be the + * managed zone name or id. managedZone: 'my-managed-zone', // TODO: Update + * placeholder value. + * + * auth: authClient, + * }; + * + * dns.managedZones.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 dns.managedZones.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.clientOperationId For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection. + * @param {string} params.managedZone Identifies the managed zone addressed by this request. Can be the managed zone name or id. + * @param {string} params.project Identifies the project addressed by this request. + * @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?: Params$Resource$Managedzones$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Managedzones$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Managedzones$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * dns.managedZones.list + * @desc Enumerate ManagedZones that have been created but not yet deleted. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud DNS API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dns + * // 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 dns = google.dns('v2beta1'); + * + * authorize(function(authClient) { + * var request = { + * // Identifies the project addressed by this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var managedZonesPage = response['managedZones']; + * if (!managedZonesPage) { + * return; + * } + * for (var i = 0; i < managedZonesPage.length; i++) { + * // TODO: Change code below to process each resource in + * `managedZonesPage`: console.log(JSON.stringify(managedZonesPage[i], null, + * 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * dns.managedZones.list(request, handlePage); + * } + * }; + * + * dns.managedZones.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 dns.managedZones.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.dnsName Restricts the list to return only zones with this domain name. + * @param {integer=} params.maxResults Optional. Maximum number of results to be returned. If unspecified, the server will decide how many results to return. + * @param {string=} params.pageToken Optional. A tag returned by a previous list request that was truncated. Use this parameter to continue a previous list request. + * @param {string} params.project Identifies the project addressed by this request. + * @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?: Params$Resource$Managedzones$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Managedzones$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Managedzones$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * dns.managedZones.patch + * @desc Apply a partial update to an existing ManagedZone. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud DNS API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dns + * // 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 dns = google.dns('v2beta1'); + * + * authorize(function(authClient) { + * var request = { + * // Identifies the project addressed by this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Identifies the managed zone addressed by this request. Can be the + * managed zone name or id. managedZone: 'my-managed-zone', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * dns.managedZones.patch(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 dns.managedZones.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.clientOperationId For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection. + * @param {string} params.managedZone Identifies the managed zone addressed by this request. Can be the managed zone name or id. + * @param {string} params.project Identifies the project addressed by this request. + * @param {().ManagedZone} 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 + */ + patch(params?: Params$Resource$Managedzones$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Managedzones$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Managedzones$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * dns.managedZones.update + * @desc Update an existing ManagedZone. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud DNS API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dns + * // 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 dns = google.dns('v2beta1'); + * + * authorize(function(authClient) { + * var request = { + * // Identifies the project addressed by this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Identifies the managed zone addressed by this request. Can be the + * managed zone name or id. managedZone: 'my-managed-zone', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * dns.managedZones.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 dns.managedZones.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.clientOperationId For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection. + * @param {string} params.managedZone Identifies the managed zone addressed by this request. Can be the managed zone name or id. + * @param {string} params.project Identifies the project addressed by this request. + * @param {().ManagedZone} 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?: Params$Resource$Managedzones$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Managedzones$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Managedzones$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Managedzones$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * For mutating operation requests only. An optional identifier specified by + * the client. Must be unique for operation resources in the Operations + * collection. + */ + clientOperationId?: string; + /** + * Identifies the project addressed by this request. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ManagedZone; + } + interface Params$Resource$Managedzones$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * For mutating operation requests only. An optional identifier specified by + * the client. Must be unique for operation resources in the Operations + * collection. + */ + clientOperationId?: string; + /** + * Identifies the managed zone addressed by this request. Can be the managed + * zone name or id. + */ + managedZone?: string; + /** + * Identifies the project addressed by this request. + */ + project?: string; + } + interface Params$Resource$Managedzones$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * For mutating operation requests only. An optional identifier specified by + * the client. Must be unique for operation resources in the Operations + * collection. + */ + clientOperationId?: string; + /** + * Identifies the managed zone addressed by this request. Can be the managed + * zone name or id. + */ + managedZone?: string; + /** + * Identifies the project addressed by this request. + */ + project?: string; + } + interface Params$Resource$Managedzones$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Restricts the list to return only zones with this domain name. + */ + dnsName?: string; + /** + * Optional. Maximum number of results to be returned. If unspecified, the + * server will decide how many results to return. + */ + maxResults?: number; + /** + * Optional. A tag returned by a previous list request that was truncated. + * Use this parameter to continue a previous list request. + */ + pageToken?: string; + /** + * Identifies the project addressed by this request. + */ + project?: string; + } + interface Params$Resource$Managedzones$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * For mutating operation requests only. An optional identifier specified by + * the client. Must be unique for operation resources in the Operations + * collection. + */ + clientOperationId?: string; + /** + * Identifies the managed zone addressed by this request. Can be the managed + * zone name or id. + */ + managedZone?: string; + /** + * Identifies the project addressed by this request. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ManagedZone; + } + interface Params$Resource$Managedzones$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * For mutating operation requests only. An optional identifier specified by + * the client. Must be unique for operation resources in the Operations + * collection. + */ + clientOperationId?: string; + /** + * Identifies the managed zone addressed by this request. Can be the managed + * zone name or id. + */ + managedZone?: string; + /** + * Identifies the project addressed by this request. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ManagedZone; + } + class Resource$Projects { + root: Dns; + constructor(root: Dns); + getRoot(): Dns; + /** + * dns.projects.get + * @desc Fetch the representation of an existing Project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud DNS API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dns + * // 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 dns = google.dns('v2beta1'); + * + * authorize(function(authClient) { + * var request = { + * // Identifies the project addressed by this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * dns.projects.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 dns.projects.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.clientOperationId For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection. + * @param {string} params.project Identifies the project addressed by this request. + * @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?: Params$Resource$Projects$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * For mutating operation requests only. An optional identifier specified by + * the client. Must be unique for operation resources in the Operations + * collection. + */ + clientOperationId?: string; + /** + * Identifies the project addressed by this request. + */ + project?: string; + } + class Resource$Resourcerecordsets { + root: Dns; + constructor(root: Dns); + getRoot(): Dns; + /** + * dns.resourceRecordSets.list + * @desc Enumerate ResourceRecordSets that have been created but not yet + * deleted. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud DNS API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/dns + * // 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 dns = google.dns('v2beta1'); + * + * authorize(function(authClient) { + * var request = { + * // Identifies the project addressed by this request. + * project: 'my-project', // TODO: Update placeholder value. + * + * // Identifies the managed zone addressed by this request. Can be the + * managed zone name or id. managedZone: 'my-managed-zone', // TODO: Update + * placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var rrsetsPage = response['rrsets']; + * if (!rrsetsPage) { + * return; + * } + * for (var i = 0; i < rrsetsPage.length; i++) { + * // TODO: Change code below to process each resource in + * `rrsetsPage`: console.log(JSON.stringify(rrsetsPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * dns.resourceRecordSets.list(request, handlePage); + * } + * }; + * + * dns.resourceRecordSets.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 dns.resourceRecordSets.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.managedZone Identifies the managed zone addressed by this request. Can be the managed zone name or id. + * @param {integer=} params.maxResults Optional. Maximum number of results to be returned. If unspecified, the server will decide how many results to return. + * @param {string=} params.name Restricts the list to return only records with this fully qualified domain name. + * @param {string=} params.pageToken Optional. A tag returned by a previous list request that was truncated. Use this parameter to continue a previous list request. + * @param {string} params.project Identifies the project addressed by this request. + * @param {string=} params.type Restricts the list to return only records of this type. If present, the "name" parameter must also be present. + * @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?: Params$Resource$Resourcerecordsets$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Resourcerecordsets$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Resourcerecordsets$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Resourcerecordsets$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifies the managed zone addressed by this request. Can be the managed + * zone name or id. + */ + managedZone?: string; + /** + * Optional. Maximum number of results to be returned. If unspecified, the + * server will decide how many results to return. + */ + maxResults?: number; + /** + * Restricts the list to return only records with this fully qualified + * domain name. + */ + name?: string; + /** + * Optional. A tag returned by a previous list request that was truncated. + * Use this parameter to continue a previous list request. + */ + pageToken?: string; + /** + * Identifies the project addressed by this request. + */ + project?: string; + /** + * Restricts the list to return only records of this type. If present, the + * "name" parameter must also be present. + */ + type?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/dns/v2beta1.js b/express-server/node_modules/googleapis/build/src/apis/dns/v2beta1.js new file mode 100644 index 00000000..a292b064 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dns/v2beta1.js @@ -0,0 +1,597 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var dns_v2beta1; +(function (dns_v2beta1) { + /** + * Google Cloud DNS API + * + * Configures and serves authoritative DNS records. + * + * @example + * const {google} = require('googleapis'); + * const dns = google.dns('v2beta1'); + * + * @namespace dns + * @type {Function} + * @version v2beta1 + * @variation v2beta1 + * @param {object=} options Options for Dns + */ + class Dns { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.changes = new Resource$Changes(this); + this.dnsKeys = new Resource$Dnskeys(this); + this.managedZoneOperations = new Resource$Managedzoneoperations(this); + this.managedZones = new Resource$Managedzones(this); + this.projects = new Resource$Projects(this); + this.resourceRecordSets = new Resource$Resourcerecordsets(this); + } + getRoot() { + return this.root; + } + } + dns_v2beta1.Dns = Dns; + class Resource$Changes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dns/v2beta1/projects/{project}/managedZones/{managedZone}/changes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'managedZone'], + pathParams: ['managedZone', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dns/v2beta1/projects/{project}/managedZones/{managedZone}/changes/{changeId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'managedZone', 'changeId'], + pathParams: ['changeId', 'managedZone', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dns/v2beta1/projects/{project}/managedZones/{managedZone}/changes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'managedZone'], + pathParams: ['managedZone', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dns_v2beta1.Resource$Changes = Resource$Changes; + class Resource$Dnskeys { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dns/v2beta1/projects/{project}/managedZones/{managedZone}/dnsKeys/{dnsKeyId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'managedZone', 'dnsKeyId'], + pathParams: ['dnsKeyId', 'managedZone', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dns/v2beta1/projects/{project}/managedZones/{managedZone}/dnsKeys') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'managedZone'], + pathParams: ['managedZone', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dns_v2beta1.Resource$Dnskeys = Resource$Dnskeys; + class Resource$Managedzoneoperations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dns/v2beta1/projects/{project}/managedZones/{managedZone}/operations/{operation}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'managedZone', 'operation'], + pathParams: ['managedZone', 'operation', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dns/v2beta1/projects/{project}/managedZones/{managedZone}/operations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'managedZone'], + pathParams: ['managedZone', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dns_v2beta1.Resource$Managedzoneoperations = Resource$Managedzoneoperations; + class Resource$Managedzones { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/dns/v2beta1/projects/{project}/managedZones') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dns/v2beta1/projects/{project}/managedZones/{managedZone}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'managedZone'], + pathParams: ['managedZone', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dns/v2beta1/projects/{project}/managedZones/{managedZone}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'managedZone'], + pathParams: ['managedZone', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/dns/v2beta1/projects/{project}/managedZones') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dns/v2beta1/projects/{project}/managedZones/{managedZone}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'managedZone'], + pathParams: ['managedZone', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dns/v2beta1/projects/{project}/managedZones/{managedZone}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['project', 'managedZone'], + pathParams: ['managedZone', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dns_v2beta1.Resource$Managedzones = Resource$Managedzones; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/dns/v2beta1/projects/{project}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dns_v2beta1.Resource$Projects = Resource$Projects; + class Resource$Resourcerecordsets { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/dns/v2beta1/projects/{project}/managedZones/{managedZone}/rrsets') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'managedZone'], + pathParams: ['managedZone', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + dns_v2beta1.Resource$Resourcerecordsets = Resource$Resourcerecordsets; +})(dns_v2beta1 = exports.dns_v2beta1 || (exports.dns_v2beta1 = {})); +//# sourceMappingURL=v2beta1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/dns/v2beta1.js.map b/express-server/node_modules/googleapis/build/src/apis/dns/v2beta1.js.map new file mode 100644 index 00000000..b77dc37a --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/dns/v2beta1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v2beta1.js","sourceRoot":"","sources":["../../../../src/apis/dns/v2beta1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/doubleclickbidmanager/README.md b/express-server/node_modules/googleapis/build/src/apis/doubleclickbidmanager/README.md new file mode 100644 index 00000000..15300bfd --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/doubleclickbidmanager/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/doubleclickbidmanager + +> API for viewing and managing your reports in DoubleClick Bid Manager. + +## Installation + +```sh +$ npm install @google/doubleclickbidmanager +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/doubleclickbidmanager/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/doubleclickbidmanager/index.d.ts new file mode 100644 index 00000000..98edf3c3 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/doubleclickbidmanager/index.d.ts @@ -0,0 +1,6 @@ +import { doubleclickbidmanager_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof doubleclickbidmanager_v1.Doubleclickbidmanager; +}; +export declare function doubleclickbidmanager(version: 'v1'): doubleclickbidmanager_v1.Doubleclickbidmanager; +export declare function doubleclickbidmanager(options: doubleclickbidmanager_v1.Options): doubleclickbidmanager_v1.Doubleclickbidmanager; diff --git a/express-server/node_modules/googleapis/build/src/apis/doubleclickbidmanager/index.js b/express-server/node_modules/googleapis/build/src/apis/doubleclickbidmanager/index.js new file mode 100644 index 00000000..9d3d33f5 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/doubleclickbidmanager/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.doubleclickbidmanager_v1.Doubleclickbidmanager, +}; +function doubleclickbidmanager(versionOrOptions) { + return googleapis_common_1.getAPI('doubleclickbidmanager', versionOrOptions, exports.VERSIONS, this); +} +exports.doubleclickbidmanager = doubleclickbidmanager; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/doubleclickbidmanager/index.js.map b/express-server/node_modules/googleapis/build/src/apis/doubleclickbidmanager/index.js.map new file mode 100644 index 00000000..3317b9af --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/doubleclickbidmanager/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/doubleclickbidmanager/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAA8C;AAEjC,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,6BAAwB,CAAC,qBAAqB;CACrD,CAAC;AAOF,SACA,qBAAqB,CAEjB,gBAAuD;IACzD,OAAO,0BAAM,CAAI,uBAAuB,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAC9E,CAAC;AALD,sDAKC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/doubleclickbidmanager/package.json b/express-server/node_modules/googleapis/build/src/apis/doubleclickbidmanager/package.json new file mode 100644 index 00000000..5fb966a1 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/doubleclickbidmanager/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/doubleclickbidmanager", + "version": "0.1.0", + "description": "doubleclickbidmanager", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/doubleclickbidmanager/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/doubleclickbidmanager/v1.d.ts new file mode 100644 index 00000000..4f8138a7 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/doubleclickbidmanager/v1.d.ts @@ -0,0 +1,756 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace doubleclickbidmanager_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * DoubleClick Bid Manager API + * + * API for viewing and managing your reports in DoubleClick Bid Manager. + * + * @example + * const {google} = require('googleapis'); + * const doubleclickbidmanager = google.doubleclickbidmanager('v1'); + * + * @namespace doubleclickbidmanager + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Doubleclickbidmanager + */ + class Doubleclickbidmanager { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + lineitems: Resource$Lineitems; + queries: Resource$Queries; + reports: Resource$Reports; + sdf: Resource$Sdf; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Request to fetch stored line items. + */ + interface Schema$DownloadLineItemsRequest { + /** + * File specification (column names, types, order) in which the line items + * will be returned. Default to EWF. + */ + fileSpec?: string; + /** + * Ids of the specified filter type used to filter line items to fetch. If + * omitted, all the line items will be returned. + */ + filterIds?: string[]; + /** + * Filter type used to filter line items to fetch. + */ + filterType?: string; + /** + * Format in which the line items will be returned. Default to CSV. + */ + format?: string; + } + /** + * Download line items response. + */ + interface Schema$DownloadLineItemsResponse { + /** + * Retrieved line items in CSV format. For more information about file + * formats, see Entity Write File Format. + */ + lineItems?: string; + } + /** + * Request to fetch stored campaigns, insertion orders, line items, TrueView + * ad groups and ads. + */ + interface Schema$DownloadRequest { + /** + * File types that will be returned. Acceptable values are: - + * "AD" - "AD_GROUP" - "CAMPAIGN" - + * "INSERTION_ORDER" - "LINE_ITEM" + */ + fileTypes?: string[]; + /** + * The IDs of the specified filter type. This is used to filter entities to + * fetch. At least one ID must be specified. + */ + filterIds?: string[]; + /** + * Filter type used to filter entities to fetch. + */ + filterType?: string; + /** + * SDF Version (column names, types, order) in which the entities will be + * returned. Default to 3.1. + */ + version?: string; + } + /** + * Download response. + */ + interface Schema$DownloadResponse { + /** + * Retrieved ad groups in SDF format. + */ + adGroups?: string; + /** + * Retrieved ads in SDF format. + */ + ads?: string; + /** + * Retrieved campaigns in SDF format. + */ + campaigns?: string; + /** + * Retrieved insertion orders in SDF format. + */ + insertionOrders?: string; + /** + * Retrieved line items in SDF format. + */ + lineItems?: string; + } + /** + * Filter used to match traffic data in your report. + */ + interface Schema$FilterPair { + /** + * Filter type. + */ + type?: string; + /** + * Filter value. + */ + value?: string; + } + /** + * List queries response. + */ + interface Schema$ListQueriesResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "doubleclickbidmanager#listQueriesResponse". + */ + kind?: string; + /** + * Retrieved queries. + */ + queries?: Schema$Query[]; + } + /** + * List reports response. + */ + interface Schema$ListReportsResponse { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "doubleclickbidmanager#listReportsResponse". + */ + kind?: string; + /** + * Retrieved reports. + */ + reports?: Schema$Report[]; + } + /** + * Parameters of a query or report. + */ + interface Schema$Parameters { + /** + * Filters used to match traffic data in your report. + */ + filters?: Schema$FilterPair[]; + /** + * Data is grouped by the filters listed in this field. + */ + groupBys?: string[]; + /** + * Whether to include data from Invite Media. + */ + includeInviteData?: boolean; + /** + * Metrics to include as columns in your report. + */ + metrics?: string[]; + /** + * Report type. + */ + type?: string; + } + /** + * Represents a query. + */ + interface Schema$Query { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "doubleclickbidmanager#query". + */ + kind?: string; + /** + * Query metadata. + */ + metadata?: Schema$QueryMetadata; + /** + * Query parameters. + */ + params?: Schema$Parameters; + /** + * Query ID. + */ + queryId?: string; + /** + * The ending time for the data that is shown in the report. Note, + * reportDataEndTimeMs is required if metadata.dataRange is CUSTOM_DATES and + * ignored otherwise. + */ + reportDataEndTimeMs?: string; + /** + * The starting time for the data that is shown in the report. Note, + * reportDataStartTimeMs is required if metadata.dataRange is CUSTOM_DATES + * and ignored otherwise. + */ + reportDataStartTimeMs?: string; + /** + * Information on how often and when to run a query. + */ + schedule?: Schema$QuerySchedule; + /** + * Canonical timezone code for report data time. Defaults to + * America/New_York. + */ + timezoneCode?: string; + } + /** + * Query metadata. + */ + interface Schema$QueryMetadata { + /** + * Range of report data. + */ + dataRange?: string; + /** + * Format of the generated report. + */ + format?: string; + /** + * The path to the location in Google Cloud Storage where the latest report + * is stored. + */ + googleCloudStoragePathForLatestReport?: string; + /** + * The path in Google Drive for the latest report. + */ + googleDrivePathForLatestReport?: string; + /** + * The time when the latest report started to run. + */ + latestReportRunTimeMs?: string; + /** + * Locale of the generated reports. Valid values are cs CZECH de GERMAN en + * ENGLISH es SPANISH fr FRENCH it ITALIAN ja JAPANESE ko KOREAN pl POLISH + * pt-BR BRAZILIAN_PORTUGUESE ru RUSSIAN tr TURKISH uk UKRAINIAN zh-CN + * CHINA_CHINESE zh-TW TAIWAN_CHINESE An locale string not in the list + * above will generate reports in English. + */ + locale?: string; + /** + * Number of reports that have been generated for the query. + */ + reportCount?: number; + /** + * Whether the latest report is currently running. + */ + running?: boolean; + /** + * Whether to send an email notification when a report is ready. Default to + * false. + */ + sendNotification?: boolean; + /** + * List of email addresses which are sent email notifications when the + * report is finished. Separate from sendNotification. + */ + shareEmailAddress?: string[]; + /** + * Query title. It is used to name the reports generated from this query. + */ + title?: string; + } + /** + * Information on how frequently and when to run a query. + */ + interface Schema$QuerySchedule { + /** + * Datetime to periodically run the query until. + */ + endTimeMs?: string; + /** + * How often the query is run. + */ + frequency?: string; + /** + * Time of day at which a new report will be generated, represented as + * minutes past midnight. Range is 0 to 1439. Only applies to scheduled + * reports. + */ + nextRunMinuteOfDay?: number; + /** + * Canonical timezone code for report generation time. Defaults to + * America/New_York. + */ + nextRunTimezoneCode?: string; + } + /** + * Represents a report. + */ + interface Schema$Report { + /** + * Key used to identify a report. + */ + key?: Schema$ReportKey; + /** + * Report metadata. + */ + metadata?: Schema$ReportMetadata; + /** + * Report parameters. + */ + params?: Schema$Parameters; + } + /** + * An explanation of a report failure. + */ + interface Schema$ReportFailure { + /** + * Error code that shows why the report was not created. + */ + errorCode?: string; + } + /** + * Key used to identify a report. + */ + interface Schema$ReportKey { + /** + * Query ID. + */ + queryId?: string; + /** + * Report ID. + */ + reportId?: string; + } + /** + * Report metadata. + */ + interface Schema$ReportMetadata { + /** + * The path to the location in Google Cloud Storage where the report is + * stored. + */ + googleCloudStoragePath?: string; + /** + * The ending time for the data that is shown in the report. + */ + reportDataEndTimeMs?: string; + /** + * The starting time for the data that is shown in the report. + */ + reportDataStartTimeMs?: string; + /** + * Report status. + */ + status?: Schema$ReportStatus; + } + /** + * Report status. + */ + interface Schema$ReportStatus { + /** + * If the report failed, this records the cause. + */ + failure?: Schema$ReportFailure; + /** + * The time when this report either completed successfully or failed. + */ + finishTimeMs?: string; + /** + * The file type of the report. + */ + format?: string; + /** + * The state of the report. + */ + state?: string; + } + /** + * Represents the upload status of a row in the request. + */ + interface Schema$RowStatus { + /** + * Whether the stored entity is changed as a result of upload. + */ + changed?: boolean; + /** + * Entity Id. + */ + entityId?: string; + /** + * Entity name. + */ + entityName?: string; + /** + * Reasons why the entity can't be uploaded. + */ + errors?: string[]; + /** + * Whether the entity is persisted. + */ + persisted?: boolean; + /** + * Row number. + */ + rowNumber?: number; + } + /** + * Request to run a stored query to generate a report. + */ + interface Schema$RunQueryRequest { + /** + * Report data range used to generate the report. + */ + dataRange?: string; + /** + * The ending time for the data that is shown in the report. Note, + * reportDataEndTimeMs is required if dataRange is CUSTOM_DATES and ignored + * otherwise. + */ + reportDataEndTimeMs?: string; + /** + * The starting time for the data that is shown in the report. Note, + * reportDataStartTimeMs is required if dataRange is CUSTOM_DATES and + * ignored otherwise. + */ + reportDataStartTimeMs?: string; + /** + * Canonical timezone code for report data time. Defaults to + * America/New_York. + */ + timezoneCode?: string; + } + /** + * Request to upload line items. + */ + interface Schema$UploadLineItemsRequest { + /** + * Set to true to get upload status without actually persisting the line + * items. + */ + dryRun?: boolean; + /** + * Format the line items are in. Default to CSV. + */ + format?: string; + /** + * Line items in CSV to upload. Refer to Entity Write File Format for more + * information on file format. + */ + lineItems?: string; + } + /** + * Upload line items response. + */ + interface Schema$UploadLineItemsResponse { + /** + * Status of upload. + */ + uploadStatus?: Schema$UploadStatus; + } + /** + * Represents the status of upload. + */ + interface Schema$UploadStatus { + /** + * Reasons why upload can't be completed. + */ + errors?: string[]; + /** + * Per-row upload status. + */ + rowStatus?: Schema$RowStatus[]; + } + class Resource$Lineitems { + root: Doubleclickbidmanager; + constructor(root: Doubleclickbidmanager); + getRoot(): Doubleclickbidmanager; + /** + * doubleclickbidmanager.lineitems.downloadlineitems + * @desc Retrieves line items in CSV format. TrueView line items are not + * supported. + * @alias doubleclickbidmanager.lineitems.downloadlineitems + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().DownloadLineItemsRequest} 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 + */ + downloadlineitems(params?: Params$Resource$Lineitems$Downloadlineitems, options?: MethodOptions): AxiosPromise; + downloadlineitems(params: Params$Resource$Lineitems$Downloadlineitems, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + downloadlineitems(params: Params$Resource$Lineitems$Downloadlineitems, callback: BodyResponseCallback): void; + downloadlineitems(callback: BodyResponseCallback): void; + /** + * doubleclickbidmanager.lineitems.uploadlineitems + * @desc Uploads line items in CSV format. TrueView line items are not + * supported. + * @alias doubleclickbidmanager.lineitems.uploadlineitems + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().UploadLineItemsRequest} 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 + */ + uploadlineitems(params?: Params$Resource$Lineitems$Uploadlineitems, options?: MethodOptions): AxiosPromise; + uploadlineitems(params: Params$Resource$Lineitems$Uploadlineitems, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + uploadlineitems(params: Params$Resource$Lineitems$Uploadlineitems, callback: BodyResponseCallback): void; + uploadlineitems(callback: BodyResponseCallback): void; + } + interface Params$Resource$Lineitems$Downloadlineitems { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$DownloadLineItemsRequest; + } + interface Params$Resource$Lineitems$Uploadlineitems { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$UploadLineItemsRequest; + } + class Resource$Queries { + root: Doubleclickbidmanager; + constructor(root: Doubleclickbidmanager); + getRoot(): Doubleclickbidmanager; + /** + * doubleclickbidmanager.queries.createquery + * @desc Creates a query. + * @alias doubleclickbidmanager.queries.createquery + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().Query} 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 + */ + createquery(params?: Params$Resource$Queries$Createquery, options?: MethodOptions): AxiosPromise; + createquery(params: Params$Resource$Queries$Createquery, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + createquery(params: Params$Resource$Queries$Createquery, callback: BodyResponseCallback): void; + createquery(callback: BodyResponseCallback): void; + /** + * doubleclickbidmanager.queries.deletequery + * @desc Deletes a stored query as well as the associated stored reports. + * @alias doubleclickbidmanager.queries.deletequery + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.queryId Query ID to delete. + * @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 + */ + deletequery(params?: Params$Resource$Queries$Deletequery, options?: MethodOptions): AxiosPromise; + deletequery(params: Params$Resource$Queries$Deletequery, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + deletequery(params: Params$Resource$Queries$Deletequery, callback: BodyResponseCallback): void; + deletequery(callback: BodyResponseCallback): void; + /** + * doubleclickbidmanager.queries.getquery + * @desc Retrieves a stored query. + * @alias doubleclickbidmanager.queries.getquery + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.queryId Query ID to retrieve. + * @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 + */ + getquery(params?: Params$Resource$Queries$Getquery, options?: MethodOptions): AxiosPromise; + getquery(params: Params$Resource$Queries$Getquery, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getquery(params: Params$Resource$Queries$Getquery, callback: BodyResponseCallback): void; + getquery(callback: BodyResponseCallback): void; + /** + * doubleclickbidmanager.queries.listqueries + * @desc Retrieves stored queries. + * @alias doubleclickbidmanager.queries.listqueries + * @memberOf! () + * + * @param {object=} params Parameters for request + * @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 + */ + listqueries(params?: Params$Resource$Queries$Listqueries, options?: MethodOptions): AxiosPromise; + listqueries(params: Params$Resource$Queries$Listqueries, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listqueries(params: Params$Resource$Queries$Listqueries, callback: BodyResponseCallback): void; + listqueries(callback: BodyResponseCallback): void; + /** + * doubleclickbidmanager.queries.runquery + * @desc Runs a stored query to generate a report. + * @alias doubleclickbidmanager.queries.runquery + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.queryId Query ID to run. + * @param {().RunQueryRequest} 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 + */ + runquery(params?: Params$Resource$Queries$Runquery, options?: MethodOptions): AxiosPromise; + runquery(params: Params$Resource$Queries$Runquery, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + runquery(params: Params$Resource$Queries$Runquery, callback: BodyResponseCallback): void; + runquery(callback: BodyResponseCallback): void; + } + interface Params$Resource$Queries$Createquery { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$Query; + } + interface Params$Resource$Queries$Deletequery { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Query ID to delete. + */ + queryId?: string; + } + interface Params$Resource$Queries$Getquery { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Query ID to retrieve. + */ + queryId?: string; + } + interface Params$Resource$Queries$Listqueries { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } + interface Params$Resource$Queries$Runquery { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Query ID to run. + */ + queryId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RunQueryRequest; + } + class Resource$Reports { + root: Doubleclickbidmanager; + constructor(root: Doubleclickbidmanager); + getRoot(): Doubleclickbidmanager; + /** + * doubleclickbidmanager.reports.listreports + * @desc Retrieves stored reports. + * @alias doubleclickbidmanager.reports.listreports + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.queryId Query ID with which the reports are associated. + * @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 + */ + listreports(params?: Params$Resource$Reports$Listreports, options?: MethodOptions): AxiosPromise; + listreports(params: Params$Resource$Reports$Listreports, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listreports(params: Params$Resource$Reports$Listreports, callback: BodyResponseCallback): void; + listreports(callback: BodyResponseCallback): void; + } + interface Params$Resource$Reports$Listreports { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Query ID with which the reports are associated. + */ + queryId?: string; + } + class Resource$Sdf { + root: Doubleclickbidmanager; + constructor(root: Doubleclickbidmanager); + getRoot(): Doubleclickbidmanager; + /** + * doubleclickbidmanager.sdf.download + * @desc Retrieves entities in SDF format. + * @alias doubleclickbidmanager.sdf.download + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().DownloadRequest} 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 + */ + download(params?: Params$Resource$Sdf$Download, options?: MethodOptions): AxiosPromise; + download(params: Params$Resource$Sdf$Download, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + download(params: Params$Resource$Sdf$Download, callback: BodyResponseCallback): void; + download(callback: BodyResponseCallback): void; + } + interface Params$Resource$Sdf$Download { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$DownloadRequest; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/doubleclickbidmanager/v1.js b/express-server/node_modules/googleapis/build/src/apis/doubleclickbidmanager/v1.js new file mode 100644 index 00000000..b385b809 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/doubleclickbidmanager/v1.js @@ -0,0 +1,380 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var doubleclickbidmanager_v1; +(function (doubleclickbidmanager_v1) { + /** + * DoubleClick Bid Manager API + * + * API for viewing and managing your reports in DoubleClick Bid Manager. + * + * @example + * const {google} = require('googleapis'); + * const doubleclickbidmanager = google.doubleclickbidmanager('v1'); + * + * @namespace doubleclickbidmanager + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Doubleclickbidmanager + */ + class Doubleclickbidmanager { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.lineitems = new Resource$Lineitems(this); + this.queries = new Resource$Queries(this); + this.reports = new Resource$Reports(this); + this.sdf = new Resource$Sdf(this); + } + getRoot() { + return this.root; + } + } + doubleclickbidmanager_v1.Doubleclickbidmanager = Doubleclickbidmanager; + class Resource$Lineitems { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + downloadlineitems(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/doubleclickbidmanager/v1/lineitems/downloadlineitems') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + uploadlineitems(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/doubleclickbidmanager/v1/lineitems/uploadlineitems') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + doubleclickbidmanager_v1.Resource$Lineitems = Resource$Lineitems; + class Resource$Queries { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + createquery(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/doubleclickbidmanager/v1/query') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + deletequery(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/doubleclickbidmanager/v1/query/{queryId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['queryId'], + pathParams: ['queryId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getquery(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/doubleclickbidmanager/v1/query/{queryId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['queryId'], + pathParams: ['queryId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listqueries(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/doubleclickbidmanager/v1/queries') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + runquery(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/doubleclickbidmanager/v1/query/{queryId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['queryId'], + pathParams: ['queryId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + doubleclickbidmanager_v1.Resource$Queries = Resource$Queries; + class Resource$Reports { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + listreports(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/doubleclickbidmanager/v1/queries/{queryId}/reports') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['queryId'], + pathParams: ['queryId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + doubleclickbidmanager_v1.Resource$Reports = Resource$Reports; + class Resource$Sdf { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + download(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/doubleclickbidmanager/v1/sdf/download') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + doubleclickbidmanager_v1.Resource$Sdf = Resource$Sdf; +})(doubleclickbidmanager_v1 = exports.doubleclickbidmanager_v1 || (exports.doubleclickbidmanager_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/doubleclickbidmanager/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/doubleclickbidmanager/v1.js.map new file mode 100644 index 00000000..fce615b1 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/doubleclickbidmanager/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/doubleclickbidmanager/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/doubleclicksearch/README.md b/express-server/node_modules/googleapis/build/src/apis/doubleclicksearch/README.md new file mode 100644 index 00000000..72481a66 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/doubleclicksearch/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/doubleclicksearch + +> Reports and modifies your advertising data in DoubleClick Search (for example, campaigns, ad groups, keywords, and conversions). + +## Installation + +```sh +$ npm install @google/doubleclicksearch +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/doubleclicksearch/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/doubleclicksearch/index.d.ts new file mode 100644 index 00000000..73425496 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/doubleclicksearch/index.d.ts @@ -0,0 +1,6 @@ +import { doubleclicksearch_v2 } from './v2'; +export declare const VERSIONS: { + 'v2': typeof doubleclicksearch_v2.Doubleclicksearch; +}; +export declare function doubleclicksearch(version: 'v2'): doubleclicksearch_v2.Doubleclicksearch; +export declare function doubleclicksearch(options: doubleclicksearch_v2.Options): doubleclicksearch_v2.Doubleclicksearch; diff --git a/express-server/node_modules/googleapis/build/src/apis/doubleclicksearch/index.js b/express-server/node_modules/googleapis/build/src/apis/doubleclicksearch/index.js new file mode 100644 index 00000000..5d7f0d33 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/doubleclicksearch/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v2_1 = require("./v2"); +exports.VERSIONS = { + 'v2': v2_1.doubleclicksearch_v2.Doubleclicksearch, +}; +function doubleclicksearch(versionOrOptions) { + return googleapis_common_1.getAPI('doubleclicksearch', versionOrOptions, exports.VERSIONS, this); +} +exports.doubleclicksearch = doubleclicksearch; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/doubleclicksearch/index.js.map b/express-server/node_modules/googleapis/build/src/apis/doubleclicksearch/index.js.map new file mode 100644 index 00000000..af342c02 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/doubleclicksearch/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/doubleclicksearch/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAA0C;AAE7B,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,yBAAoB,CAAC,iBAAiB;CAC7C,CAAC;AAMF,SAAgB,iBAAiB,CAE7B,gBAAmD;IACrD,OAAO,0BAAM,CAAI,mBAAmB,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAC1E,CAAC;AAJD,8CAIC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/doubleclicksearch/package.json b/express-server/node_modules/googleapis/build/src/apis/doubleclicksearch/package.json new file mode 100644 index 00000000..2ccbc86e --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/doubleclicksearch/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/doubleclicksearch", + "version": "0.1.0", + "description": "doubleclicksearch", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/doubleclicksearch/v2.d.ts b/express-server/node_modules/googleapis/build/src/apis/doubleclicksearch/v2.d.ts new file mode 100644 index 00000000..93fe1841 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/doubleclicksearch/v2.d.ts @@ -0,0 +1,926 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace doubleclicksearch_v2 { + interface Options extends GlobalOptions { + version: 'v2'; + } + /** + * DoubleClick Search API + * + * Reports and modifies your advertising data in DoubleClick Search (for + * example, campaigns, ad groups, keywords, and conversions). + * + * @example + * const {google} = require('googleapis'); + * const doubleclicksearch = google.doubleclicksearch('v2'); + * + * @namespace doubleclicksearch + * @type {Function} + * @version v2 + * @variation v2 + * @param {object=} options Options for Doubleclicksearch + */ + class Doubleclicksearch { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + conversion: Resource$Conversion; + reports: Resource$Reports; + savedColumns: Resource$Savedcolumns; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * A message containing availability data relevant to DoubleClick Search. + */ + interface Schema$Availability { + /** + * DS advertiser ID. + */ + advertiserId?: string; + /** + * DS agency ID. + */ + agencyId?: string; + /** + * The time by which all conversions have been uploaded, in epoch millis + * UTC. + */ + availabilityTimestamp?: string; + /** + * The numeric segmentation identifier (for example, DoubleClick Search + * Floodlight activity ID). + */ + segmentationId?: string; + /** + * The friendly segmentation identifier (for example, DoubleClick Search + * Floodlight activity name). + */ + segmentationName?: string; + /** + * The segmentation type that this availability is for (its default value is + * FLOODLIGHT). + */ + segmentationType?: string; + } + /** + * A conversion containing data relevant to DoubleClick Search. + */ + interface Schema$Conversion { + /** + * DS ad group ID. + */ + adGroupId?: string; + /** + * DS ad ID. + */ + adId?: string; + /** + * DS advertiser ID. + */ + advertiserId?: string; + /** + * DS agency ID. + */ + agencyId?: string; + /** + * Available to advertisers only after contacting DoubleClick Search + * customer support. + */ + attributionModel?: string; + /** + * DS campaign ID. + */ + campaignId?: string; + /** + * Sales channel for the product. Acceptable values are: - + * "local": a physical store - "online": an online + * store + */ + channel?: string; + /** + * DS click ID for the conversion. + */ + clickId?: string; + /** + * For offline conversions, advertisers provide this ID. Advertisers can + * specify any ID that is meaningful to them. Each conversion in a request + * must specify a unique ID, and the combination of ID and timestamp must be + * unique amongst all conversions within the advertiser. For online + * conversions, DS copies the dsConversionId or floodlightOrderId into this + * property depending on the advertiser's Floodlight instructions. + */ + conversionId?: string; + /** + * The time at which the conversion was last modified, in epoch millis UTC. + */ + conversionModifiedTimestamp?: string; + /** + * The time at which the conversion took place, in epoch millis UTC. + */ + conversionTimestamp?: string; + /** + * Available to advertisers only after contacting DoubleClick Search + * customer support. + */ + countMillis?: string; + /** + * DS criterion (keyword) ID. + */ + criterionId?: string; + /** + * The currency code for the conversion's revenue. Should be in ISO 4217 + * alphabetic (3-char) format. + */ + currencyCode?: string; + /** + * Custom dimensions for the conversion, which can be used to filter data in + * a report. + */ + customDimension?: Schema$CustomDimension[]; + /** + * Custom metrics for the conversion. + */ + customMetric?: Schema$CustomMetric[]; + /** + * The type of device on which the conversion occurred. + */ + deviceType?: string; + /** + * ID that DoubleClick Search generates for each conversion. + */ + dsConversionId?: string; + /** + * DS engine account ID. + */ + engineAccountId?: string; + /** + * The Floodlight order ID provided by the advertiser for the conversion. + */ + floodlightOrderId?: string; + /** + * ID that DS generates and uses to uniquely identify the inventory account + * that contains the product. + */ + inventoryAccountId?: string; + /** + * The country registered for the Merchant Center feed that contains the + * product. Use an ISO 3166 code to specify a country. + */ + productCountry?: string; + /** + * DS product group ID. + */ + productGroupId?: string; + /** + * The product ID (SKU). + */ + productId?: string; + /** + * The language registered for the Merchant Center feed that contains the + * product. Use an ISO 639 code to specify a language. + */ + productLanguage?: string; + /** + * The quantity of this conversion, in millis. + */ + quantityMillis?: string; + /** + * The revenue amount of this TRANSACTION conversion, in micros (value + * multiplied by 1000000, no decimal). For example, to specify a revenue + * value of "10" enter "10000000" (10 million) in your + * request. + */ + revenueMicros?: string; + /** + * The numeric segmentation identifier (for example, DoubleClick Search + * Floodlight activity ID). + */ + segmentationId?: string; + /** + * The friendly segmentation identifier (for example, DoubleClick Search + * Floodlight activity name). + */ + segmentationName?: string; + /** + * The segmentation type of this conversion (for example, FLOODLIGHT). + */ + segmentationType?: string; + /** + * The state of the conversion, that is, either ACTIVE or REMOVED. Note: + * state DELETED is deprecated. + */ + state?: string; + /** + * The ID of the local store for which the product was advertised. + * Applicable only when the channel is "local". + */ + storeId?: string; + /** + * The type of the conversion, that is, either ACTION or TRANSACTION. An + * ACTION conversion is an action by the user that has no monetarily + * quantifiable value, while a TRANSACTION conversion is an action that does + * have a monetarily quantifiable value. Examples are email list signups + * (ACTION) versus ecommerce purchases (TRANSACTION). + */ + type?: string; + } + /** + * A list of conversions. + */ + interface Schema$ConversionList { + /** + * The conversions being requested. + */ + conversion?: Schema$Conversion[]; + /** + * Identifies this as a ConversionList resource. Value: the fixed string + * doubleclicksearch#conversionList. + */ + kind?: string; + } + /** + * A message containing the custome dimension. + */ + interface Schema$CustomDimension { + /** + * Custom dimension name. + */ + name?: string; + /** + * Custom dimension value. + */ + value?: string; + } + /** + * A message containing the custome metric. + */ + interface Schema$CustomMetric { + /** + * Custom metric name. + */ + name?: string; + /** + * Custom metric numeric value. + */ + value?: number; + } + /** + * A DoubleClick Search report. This object contains the report request, some + * report metadata such as currency code, and the generated report rows or + * report files. + */ + interface Schema$Report { + /** + * Asynchronous report only. Contains a list of generated report files once + * the report has succesfully completed. + */ + files?: any[]; + /** + * Asynchronous report only. Id of the report. + */ + id?: string; + /** + * Asynchronous report only. True if and only if the report has completed + * successfully and the report files are ready to be downloaded. + */ + isReportReady?: boolean; + /** + * Identifies this as a Report resource. Value: the fixed string + * doubleclicksearch#report. + */ + kind?: string; + /** + * The request that created the report. Optional fields not specified in the + * original request are filled with default values. + */ + request?: Schema$ReportRequest; + /** + * The number of report rows generated by the report, not including headers. + */ + rowCount?: number; + /** + * Synchronous report only. Generated report rows. + */ + rows?: Schema$ReportRow[]; + /** + * The currency code of all monetary values produced in the report, + * including values that are set by users (e.g., keyword bid settings) and + * metrics (e.g., cost and revenue). The currency code of a report is + * determined by the statisticsCurrency field of the report request. + */ + statisticsCurrencyCode?: string; + /** + * If all statistics of the report are sourced from the same time zone, this + * would be it. Otherwise the field is unset. + */ + statisticsTimeZone?: string; + } + /** + * A request object used to create a DoubleClick Search report. + */ + interface Schema$ReportApiColumnSpec { + /** + * Name of a DoubleClick Search column to include in the report. + */ + columnName?: string; + /** + * Segments a report by a custom dimension. The report must be scoped to an + * advertiser or lower, and the custom dimension must already be set up in + * DoubleClick Search. The custom dimension name, which appears in + * DoubleClick Search, is case sensitive. If used in a conversion report, + * returns the value of the specified custom dimension for the given + * conversion, if set. This column does not segment the conversion report. + */ + customDimensionName?: string; + /** + * Name of a custom metric to include in the report. The report must be + * scoped to an advertiser or lower, and the custom metric must already be + * set up in DoubleClick Search. The custom metric name, which appears in + * DoubleClick Search, is case sensitive. + */ + customMetricName?: string; + /** + * Inclusive day in YYYY-MM-DD format. When provided, this overrides the + * overall time range of the report for this column only. Must be provided + * together with startDate. + */ + endDate?: string; + /** + * Synchronous report only. Set to true to group by this column. Defaults to + * false. + */ + groupByColumn?: boolean; + /** + * Text used to identify this column in the report output; defaults to + * columnName or savedColumnName when not specified. This can be used to + * prevent collisions between DoubleClick Search columns and saved columns + * with the same name. + */ + headerText?: string; + /** + * The platform that is used to provide data for the custom dimension. + * Acceptable values are "floodlight". + */ + platformSource?: string; + /** + * Returns metrics only for a specific type of product activity. Accepted + * values are: - "sold": returns metrics only for products that + * were sold - "advertised": returns metrics only for products + * that were advertised in a Shopping campaign, and that might or might not + * have been sold + */ + productReportPerspective?: string; + /** + * Name of a saved column to include in the report. The report must be + * scoped at advertiser or lower, and this saved column must already be + * created in the DoubleClick Search UI. + */ + savedColumnName?: string; + /** + * Inclusive date in YYYY-MM-DD format. When provided, this overrides the + * overall time range of the report for this column only. Must be provided + * together with endDate. + */ + startDate?: string; + } + /** + * A request object used to create a DoubleClick Search report. + */ + interface Schema$ReportRequest { + /** + * The columns to include in the report. This includes both DoubleClick + * Search columns and saved columns. For DoubleClick Search columns, only + * the columnName parameter is required. For saved columns only the + * savedColumnName parameter is required. Both columnName and + * savedColumnName cannot be set in the same stanza. The maximum number of + * columns per request is 300. + */ + columns?: Schema$ReportApiColumnSpec[]; + /** + * Format that the report should be returned in. Currently csv or tsv is + * supported. + */ + downloadFormat?: string; + /** + * A list of filters to be applied to the report. The maximum number of + * filters per request is 300. + */ + filters?: any[]; + /** + * Determines if removed entities should be included in the report. Defaults + * to false. Deprecated, please use includeRemovedEntities instead. + */ + includeDeletedEntities?: boolean; + /** + * Determines if removed entities should be included in the report. Defaults + * to false. + */ + includeRemovedEntities?: boolean; + /** + * Asynchronous report only. The maximum number of rows per report file. A + * large report is split into many files based on this field. Acceptable + * values are 1000000 to 100000000, inclusive. + */ + maxRowsPerFile?: number; + /** + * Synchronous report only. A list of columns and directions defining + * sorting to be performed on the report rows. The maximum number of + * orderings per request is 300. + */ + orderBy?: any[]; + /** + * The reportScope is a set of IDs that are used to determine which subset + * of entities will be returned in the report. The full lineage of IDs from + * the lowest scoped level desired up through agency is required. + */ + reportScope?: any; + /** + * Determines the type of rows that are returned in the report. For example, + * if you specify reportType: keyword, each row in the report will contain + * data about a keyword. See the Types of Reports reference for the columns + * that are available for each type. + */ + reportType?: string; + /** + * Synchronous report only. The maxinum number of rows to return; additional + * rows are dropped. Acceptable values are 0 to 10000, inclusive. Defaults + * to 10000. + */ + rowCount?: number; + /** + * Synchronous report only. Zero-based index of the first row to return. + * Acceptable values are 0 to 50000, inclusive. Defaults to 0. + */ + startRow?: number; + /** + * Specifies the currency in which monetary will be returned. Possible + * values are: usd, agency (valid if the report is scoped to agency or + * lower), advertiser (valid if the report is scoped to * advertiser or + * lower), or account (valid if the report is scoped to engine account or + * lower). + */ + statisticsCurrency?: string; + /** + * If metrics are requested in a report, this argument will be used to + * restrict the metrics to a specific time range. + */ + timeRange?: any; + /** + * If true, the report would only be created if all the requested stat data + * are sourced from a single timezone. Defaults to false. + */ + verifySingleTimeZone?: boolean; + } + /** + * A row in a DoubleClick Search report. + */ + interface Schema$ReportRow { + } + /** + * A saved column + */ + interface Schema$SavedColumn { + /** + * Identifies this as a SavedColumn resource. Value: the fixed string + * doubleclicksearch#savedColumn. + */ + kind?: string; + /** + * The name of the saved column. + */ + savedColumnName?: string; + /** + * The type of data this saved column will produce. + */ + type?: string; + } + /** + * A list of saved columns. Advertisers create saved columns to report on + * Floodlight activities, Google Analytics goals, or custom KPIs. To request + * reports with saved columns, you'll need the saved column names that are + * available from this list. + */ + interface Schema$SavedColumnList { + /** + * The saved columns being requested. + */ + items?: Schema$SavedColumn[]; + /** + * Identifies this as a SavedColumnList resource. Value: the fixed string + * doubleclicksearch#savedColumnList. + */ + kind?: string; + } + /** + * The request to update availability. + */ + interface Schema$UpdateAvailabilityRequest { + /** + * The availabilities being requested. + */ + availabilities?: Schema$Availability[]; + } + /** + * The response to a update availability request. + */ + interface Schema$UpdateAvailabilityResponse { + /** + * The availabilities being returned. + */ + availabilities?: Schema$Availability[]; + } + class Resource$Conversion { + root: Doubleclicksearch; + constructor(root: Doubleclicksearch); + getRoot(): Doubleclicksearch; + /** + * doubleclicksearch.conversion.get + * @desc Retrieves a list of conversions from a DoubleClick Search engine + * account. + * @alias doubleclicksearch.conversion.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.adGroupId Numeric ID of the ad group. + * @param {string=} params.adId Numeric ID of the ad. + * @param {string} params.advertiserId Numeric ID of the advertiser. + * @param {string} params.agencyId Numeric ID of the agency. + * @param {string=} params.campaignId Numeric ID of the campaign. + * @param {string=} params.criterionId Numeric ID of the criterion. + * @param {integer} params.endDate Last date (inclusive) on which to retrieve conversions. Format is yyyymmdd. + * @param {string} params.engineAccountId Numeric ID of the engine account. + * @param {integer} params.rowCount The number of conversions to return per call. + * @param {integer} params.startDate First date (inclusive) on which to retrieve conversions. Format is yyyymmdd. + * @param {integer} params.startRow The 0-based starting index for retrieving conversions results. + * @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?: Params$Resource$Conversion$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Conversion$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Conversion$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * doubleclicksearch.conversion.insert + * @desc Inserts a batch of new conversions into DoubleClick Search. + * @alias doubleclicksearch.conversion.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().ConversionList} 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?: Params$Resource$Conversion$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Conversion$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Conversion$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * doubleclicksearch.conversion.patch + * @desc Updates a batch of conversions in DoubleClick Search. This method + * supports patch semantics. + * @alias doubleclicksearch.conversion.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.advertiserId Numeric ID of the advertiser. + * @param {string} params.agencyId Numeric ID of the agency. + * @param {integer} params.endDate Last date (inclusive) on which to retrieve conversions. Format is yyyymmdd. + * @param {string} params.engineAccountId Numeric ID of the engine account. + * @param {integer} params.rowCount The number of conversions to return per call. + * @param {integer} params.startDate First date (inclusive) on which to retrieve conversions. Format is yyyymmdd. + * @param {integer} params.startRow The 0-based starting index for retrieving conversions results. + * @param {().ConversionList} 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 + */ + patch(params?: Params$Resource$Conversion$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Conversion$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Conversion$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * doubleclicksearch.conversion.update + * @desc Updates a batch of conversions in DoubleClick Search. + * @alias doubleclicksearch.conversion.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().ConversionList} 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?: Params$Resource$Conversion$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Conversion$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Conversion$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + /** + * doubleclicksearch.conversion.updateAvailability + * @desc Updates the availabilities of a batch of floodlight activities in + * DoubleClick Search. + * @alias doubleclicksearch.conversion.updateAvailability + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().UpdateAvailabilityRequest} 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 + */ + updateAvailability(params?: Params$Resource$Conversion$Updateavailability, options?: MethodOptions): AxiosPromise; + updateAvailability(params: Params$Resource$Conversion$Updateavailability, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + updateAvailability(params: Params$Resource$Conversion$Updateavailability, callback: BodyResponseCallback): void; + updateAvailability(callback: BodyResponseCallback): void; + } + interface Params$Resource$Conversion$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Numeric ID of the ad group. + */ + adGroupId?: string; + /** + * Numeric ID of the ad. + */ + adId?: string; + /** + * Numeric ID of the advertiser. + */ + advertiserId?: string; + /** + * Numeric ID of the agency. + */ + agencyId?: string; + /** + * Numeric ID of the campaign. + */ + campaignId?: string; + /** + * Numeric ID of the criterion. + */ + criterionId?: string; + /** + * Last date (inclusive) on which to retrieve conversions. Format is + * yyyymmdd. + */ + endDate?: number; + /** + * Numeric ID of the engine account. + */ + engineAccountId?: string; + /** + * The number of conversions to return per call. + */ + rowCount?: number; + /** + * First date (inclusive) on which to retrieve conversions. Format is + * yyyymmdd. + */ + startDate?: number; + /** + * The 0-based starting index for retrieving conversions results. + */ + startRow?: number; + } + interface Params$Resource$Conversion$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$ConversionList; + } + interface Params$Resource$Conversion$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Numeric ID of the advertiser. + */ + advertiserId?: string; + /** + * Numeric ID of the agency. + */ + agencyId?: string; + /** + * Last date (inclusive) on which to retrieve conversions. Format is + * yyyymmdd. + */ + endDate?: number; + /** + * Numeric ID of the engine account. + */ + engineAccountId?: string; + /** + * The number of conversions to return per call. + */ + rowCount?: number; + /** + * First date (inclusive) on which to retrieve conversions. Format is + * yyyymmdd. + */ + startDate?: number; + /** + * The 0-based starting index for retrieving conversions results. + */ + startRow?: number; + /** + * Request body metadata + */ + requestBody?: Schema$ConversionList; + } + interface Params$Resource$Conversion$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$ConversionList; + } + interface Params$Resource$Conversion$Updateavailability { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$UpdateAvailabilityRequest; + } + class Resource$Reports { + root: Doubleclicksearch; + constructor(root: Doubleclicksearch); + getRoot(): Doubleclicksearch; + /** + * doubleclicksearch.reports.generate + * @desc Generates and returns a report immediately. + * @alias doubleclicksearch.reports.generate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().ReportRequest} 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 + */ + generate(params?: Params$Resource$Reports$Generate, options?: MethodOptions): AxiosPromise; + generate(params: Params$Resource$Reports$Generate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + generate(params: Params$Resource$Reports$Generate, callback: BodyResponseCallback): void; + generate(callback: BodyResponseCallback): void; + /** + * doubleclicksearch.reports.get + * @desc Polls for the status of a report request. + * @alias doubleclicksearch.reports.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.reportId ID of the report request being polled. + * @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?: Params$Resource$Reports$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Reports$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Reports$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * doubleclicksearch.reports.getFile + * @desc Downloads a report file encoded in UTF-8. + * @alias doubleclicksearch.reports.getFile + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.reportFragment The index of the report fragment to download. + * @param {string} params.reportId ID of the report. + * @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 + */ + getFile(params?: Params$Resource$Reports$Getfile, options?: MethodOptions): AxiosPromise; + getFile(params: Params$Resource$Reports$Getfile, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getFile(params: Params$Resource$Reports$Getfile, callback: BodyResponseCallback): void; + getFile(callback: BodyResponseCallback): void; + /** + * doubleclicksearch.reports.request + * @desc Inserts a report request into the reporting system. + * @alias doubleclicksearch.reports.request + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().ReportRequest} 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 + */ + request(params?: Params$Resource$Reports$Request, options?: MethodOptions): AxiosPromise; + request(params: Params$Resource$Reports$Request, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + request(params: Params$Resource$Reports$Request, callback: BodyResponseCallback): void; + request(callback: BodyResponseCallback): void; + } + interface Params$Resource$Reports$Generate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$ReportRequest; + } + interface Params$Resource$Reports$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ID of the report request being polled. + */ + reportId?: string; + } + interface Params$Resource$Reports$Getfile { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The index of the report fragment to download. + */ + reportFragment?: number; + /** + * ID of the report. + */ + reportId?: string; + } + interface Params$Resource$Reports$Request { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$ReportRequest; + } + class Resource$Savedcolumns { + root: Doubleclicksearch; + constructor(root: Doubleclicksearch); + getRoot(): Doubleclicksearch; + /** + * doubleclicksearch.savedColumns.list + * @desc Retrieve the list of saved columns for a specified advertiser. + * @alias doubleclicksearch.savedColumns.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.advertiserId DS ID of the advertiser. + * @param {string} params.agencyId DS ID of the agency. + * @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?: Params$Resource$Savedcolumns$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Savedcolumns$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Savedcolumns$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Savedcolumns$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * DS ID of the advertiser. + */ + advertiserId?: string; + /** + * DS ID of the agency. + */ + agencyId?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/doubleclicksearch/v2.js b/express-server/node_modules/googleapis/build/src/apis/doubleclicksearch/v2.js new file mode 100644 index 00000000..6dfc47f8 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/doubleclicksearch/v2.js @@ -0,0 +1,408 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var doubleclicksearch_v2; +(function (doubleclicksearch_v2) { + /** + * DoubleClick Search API + * + * Reports and modifies your advertising data in DoubleClick Search (for + * example, campaigns, ad groups, keywords, and conversions). + * + * @example + * const {google} = require('googleapis'); + * const doubleclicksearch = google.doubleclicksearch('v2'); + * + * @namespace doubleclicksearch + * @type {Function} + * @version v2 + * @variation v2 + * @param {object=} options Options for Doubleclicksearch + */ + class Doubleclicksearch { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.conversion = new Resource$Conversion(this); + this.reports = new Resource$Reports(this); + this.savedColumns = new Resource$Savedcolumns(this); + } + getRoot() { + return this.root; + } + } + doubleclicksearch_v2.Doubleclicksearch = Doubleclicksearch; + class Resource$Conversion { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/doubleclicksearch/v2/agency/{agencyId}/advertiser/{advertiserId}/engine/{engineAccountId}/conversion') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [ + 'agencyId', 'advertiserId', 'engineAccountId', 'endDate', 'rowCount', + 'startDate', 'startRow' + ], + pathParams: ['advertiserId', 'agencyId', 'engineAccountId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/doubleclicksearch/v2/conversion') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/doubleclicksearch/v2/conversion') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: [ + 'advertiserId', 'agencyId', 'endDate', 'engineAccountId', 'rowCount', + 'startDate', 'startRow' + ], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/doubleclicksearch/v2/conversion') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + updateAvailability(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/doubleclicksearch/v2/conversion/updateAvailability') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + doubleclicksearch_v2.Resource$Conversion = Resource$Conversion; + class Resource$Reports { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + generate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/doubleclicksearch/v2/reports/generate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/doubleclicksearch/v2/reports/{reportId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['reportId'], + pathParams: ['reportId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getFile(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/doubleclicksearch/v2/reports/{reportId}/files/{reportFragment}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['reportId', 'reportFragment'], + pathParams: ['reportFragment', 'reportId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + request(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/doubleclicksearch/v2/reports') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + doubleclicksearch_v2.Resource$Reports = Resource$Reports; + class Resource$Savedcolumns { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/doubleclicksearch/v2/agency/{agencyId}/advertiser/{advertiserId}/savedcolumns') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['agencyId', 'advertiserId'], + pathParams: ['advertiserId', 'agencyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + doubleclicksearch_v2.Resource$Savedcolumns = Resource$Savedcolumns; +})(doubleclicksearch_v2 = exports.doubleclicksearch_v2 || (exports.doubleclicksearch_v2 = {})); +//# sourceMappingURL=v2.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/doubleclicksearch/v2.js.map b/express-server/node_modules/googleapis/build/src/apis/doubleclicksearch/v2.js.map new file mode 100644 index 00000000..610803d8 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/doubleclicksearch/v2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v2.js","sourceRoot":"","sources":["../../../../src/apis/doubleclicksearch/v2.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/drive/README.md b/express-server/node_modules/googleapis/build/src/apis/drive/README.md new file mode 100644 index 00000000..d77e9bcf --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/drive/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/drive + +> Manages files in Drive including uploading, downloading, searching, detecting changes, and updating sharing permissions. + +## Installation + +```sh +$ npm install @google/drive +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/drive/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/drive/index.d.ts new file mode 100644 index 00000000..f9b03a12 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/drive/index.d.ts @@ -0,0 +1,10 @@ +import { drive_v2 } from './v2'; +import { drive_v3 } from './v3'; +export declare const VERSIONS: { + 'v2': typeof drive_v2.Drive; + 'v3': typeof drive_v3.Drive; +}; +export declare function drive(version: 'v2'): drive_v2.Drive; +export declare function drive(options: drive_v2.Options): drive_v2.Drive; +export declare function drive(version: 'v3'): drive_v3.Drive; +export declare function drive(options: drive_v3.Options): drive_v3.Drive; diff --git a/express-server/node_modules/googleapis/build/src/apis/drive/index.js b/express-server/node_modules/googleapis/build/src/apis/drive/index.js new file mode 100644 index 00000000..9578cdab --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/drive/index.js @@ -0,0 +1,27 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v2_1 = require("./v2"); +const v3_1 = require("./v3"); +exports.VERSIONS = { + 'v2': v2_1.drive_v2.Drive, + 'v3': v3_1.drive_v3.Drive, +}; +function drive(versionOrOptions) { + return googleapis_common_1.getAPI('drive', versionOrOptions, exports.VERSIONS, this); +} +exports.drive = drive; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/drive/index.js.map b/express-server/node_modules/googleapis/build/src/apis/drive/index.js.map new file mode 100644 index 00000000..b88e98a4 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/drive/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/drive/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAA8B;AAC9B,6BAA8B;AAEjB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,aAAQ,CAAC,KAAK;IACpB,IAAI,EAAE,aAAQ,CAAC,KAAK;CACrB,CAAC;AAMF,SAAgB,KAAK,CAEjB,gBAA6D;IAC/D,OAAO,0BAAM,CAAI,OAAO,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAC9D,CAAC;AAJD,sBAIC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/drive/package.json b/express-server/node_modules/googleapis/build/src/apis/drive/package.json new file mode 100644 index 00000000..8bd6e55a --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/drive/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/drive", + "version": "0.1.0", + "description": "drive", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/drive/v2.d.ts b/express-server/node_modules/googleapis/build/src/apis/drive/v2.d.ts new file mode 100644 index 00000000..dde6a86f --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/drive/v2.d.ts @@ -0,0 +1,4544 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace drive_v2 { + interface Options extends GlobalOptions { + version: 'v2'; + } + /** + * Drive API + * + * Manages files in Drive including uploading, downloading, searching, + * detecting changes, and updating sharing permissions. + * + * @example + * const {google} = require('googleapis'); + * const drive = google.drive('v2'); + * + * @namespace drive + * @type {Function} + * @version v2 + * @variation v2 + * @param {object=} options Options for Drive + */ + class Drive { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + about: Resource$About; + apps: Resource$Apps; + changes: Resource$Changes; + channels: Resource$Channels; + children: Resource$Children; + comments: Resource$Comments; + files: Resource$Files; + parents: Resource$Parents; + permissions: Resource$Permissions; + properties: Resource$Properties; + realtime: Resource$Realtime; + replies: Resource$Replies; + revisions: Resource$Revisions; + teamdrives: Resource$Teamdrives; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * An item with user information and settings. + */ + interface Schema$About { + /** + * Information about supported additional roles per file type. The most + * specific type takes precedence. + */ + additionalRoleInfo?: any[]; + /** + * Whether the user can create Team Drives. + */ + canCreateTeamDrives?: boolean; + /** + * The domain sharing policy for the current user. Possible values are: - + * allowed - allowedWithWarning - incomingOnly - disallowed + */ + domainSharingPolicy?: string; + /** + * The ETag of the item. + */ + etag?: string; + /** + * The allowable export formats. + */ + exportFormats?: any[]; + /** + * List of additional features enabled on this account. + */ + features?: any[]; + /** + * The palette of allowable folder colors as RGB hex strings. + */ + folderColorPalette?: string[]; + /** + * The allowable import formats. + */ + importFormats?: any[]; + /** + * A boolean indicating whether the authenticated app is installed by the + * authenticated user. + */ + isCurrentAppInstalled?: boolean; + /** + * This is always drive#about. + */ + kind?: string; + /** + * The user's language or locale code, as defined by BCP 47, with some + * extensions from Unicode's LDML format + * (http://www.unicode.org/reports/tr35/). + */ + languageCode?: string; + /** + * The largest change id. + */ + largestChangeId?: string; + /** + * List of max upload sizes for each file type. The most specific type takes + * precedence. + */ + maxUploadSizes?: any[]; + /** + * The name of the current user. + */ + name?: string; + /** + * The current user's ID as visible in the permissions collection. + */ + permissionId?: string; + /** + * The amount of storage quota used by different Google services. + */ + quotaBytesByService?: any[]; + /** + * The total number of quota bytes. + */ + quotaBytesTotal?: string; + /** + * The number of quota bytes used by Google Drive. + */ + quotaBytesUsed?: string; + /** + * The number of quota bytes used by all Google apps (Drive, Picasa, etc.). + */ + quotaBytesUsedAggregate?: string; + /** + * The number of quota bytes used by trashed items. + */ + quotaBytesUsedInTrash?: string; + /** + * The type of the user's storage quota. Possible values are: - + * LIMITED - UNLIMITED + */ + quotaType?: string; + /** + * The number of remaining change ids, limited to no more than 2500. + */ + remainingChangeIds?: string; + /** + * The id of the root folder. + */ + rootFolderId?: string; + /** + * A link back to this item. + */ + selfLink?: string; + /** + * A list of themes that are supported for Team Drives. + */ + teamDriveThemes?: any[]; + /** + * The authenticated user. + */ + user?: Schema$User; + } + /** + * The apps resource provides a list of the apps that a user has installed, + * with information about each app's supported MIME types, file + * extensions, and other details. + */ + interface Schema$App { + /** + * Whether the app is authorized to access data on the user's Drive. + */ + authorized?: boolean; + /** + * The template url to create a new file with this app in a given folder. + * The template will contain {folderId} to be replaced by the folder to + * create the new file in. + */ + createInFolderTemplate?: string; + /** + * The url to create a new file with this app. + */ + createUrl?: string; + /** + * Whether the app has drive-wide scope. An app with drive-wide scope can + * access all files in the user's drive. + */ + hasDriveWideScope?: boolean; + /** + * The various icons for the app. + */ + icons?: any[]; + /** + * The ID of the app. + */ + id?: string; + /** + * Whether the app is installed. + */ + installed?: boolean; + /** + * This is always drive#app. + */ + kind?: string; + /** + * A long description of the app. + */ + longDescription?: string; + /** + * The name of the app. + */ + name?: string; + /** + * The type of object this app creates (e.g. Chart). If empty, the app name + * should be used instead. + */ + objectType?: string; + /** + * The template url for opening files with this app. The template will + * contain {ids} and/or {exportIds} to be replaced by the actual file ids. + * See Open Files for the full documentation. + */ + openUrlTemplate?: string; + /** + * The list of primary file extensions. + */ + primaryFileExtensions?: string[]; + /** + * The list of primary mime types. + */ + primaryMimeTypes?: string[]; + /** + * The ID of the product listing for this app. + */ + productId?: string; + /** + * A link to the product listing for this app. + */ + productUrl?: string; + /** + * The list of secondary file extensions. + */ + secondaryFileExtensions?: string[]; + /** + * The list of secondary mime types. + */ + secondaryMimeTypes?: string[]; + /** + * A short description of the app. + */ + shortDescription?: string; + /** + * Whether this app supports creating new objects. + */ + supportsCreate?: boolean; + /** + * Whether this app supports importing Google Docs. + */ + supportsImport?: boolean; + /** + * Whether this app supports opening more than one file. + */ + supportsMultiOpen?: boolean; + /** + * Whether this app supports creating new files when offline. + */ + supportsOfflineCreate?: boolean; + /** + * Whether the app is selected as the default handler for the types it + * supports. + */ + useByDefault?: boolean; + } + /** + * A list of third-party applications which the user has installed or given + * access to Google Drive. + */ + interface Schema$AppList { + /** + * List of app IDs that the user has specified to use by default. The list + * is in reverse-priority order (lowest to highest). + */ + defaultAppIds?: string[]; + /** + * The ETag of the list. + */ + etag?: string; + /** + * The list of apps. + */ + items?: Schema$App[]; + /** + * This is always drive#appList. + */ + kind?: string; + /** + * A link back to this list. + */ + selfLink?: string; + } + /** + * Representation of a change to a file or Team Drive. + */ + interface Schema$Change { + /** + * Whether the file or Team Drive has been removed from this list of + * changes, for example by deletion or loss of access. + */ + deleted?: boolean; + /** + * The updated state of the file. Present if the type is file and the file + * has not been removed from this list of changes. + */ + file?: Schema$File; + /** + * The ID of the file associated with this change. + */ + fileId?: string; + /** + * The ID of the change. + */ + id?: string; + /** + * This is always drive#change. + */ + kind?: string; + /** + * The time of this modification. + */ + modificationDate?: string; + /** + * A link back to this change. + */ + selfLink?: string; + /** + * The updated state of the Team Drive. Present if the type is teamDrive, + * the user is still a member of the Team Drive, and the Team Drive has not + * been deleted. + */ + teamDrive?: Schema$TeamDrive; + /** + * The ID of the Team Drive associated with this change. + */ + teamDriveId?: string; + /** + * The type of the change. Possible values are file and teamDrive. + */ + type?: string; + } + /** + * A list of changes for a user. + */ + interface Schema$ChangeList { + /** + * The ETag of the list. + */ + etag?: string; + /** + * The list of changes. If nextPageToken is populated, then this list may be + * incomplete and an additional page of results should be fetched. + */ + items?: Schema$Change[]; + /** + * This is always drive#changeList. + */ + kind?: string; + /** + * The current largest change ID. + */ + largestChangeId?: string; + /** + * The starting page token for future changes. This will be present only if + * the end of the current changes list has been reached. + */ + newStartPageToken?: string; + /** + * A link to the next page of changes. + */ + nextLink?: string; + /** + * The page token for the next page of changes. This will be absent if the + * end of the changes list has been reached. If the token is rejected for + * any reason, it should be discarded, and pagination should be restarted + * from the first page of results. + */ + nextPageToken?: string; + /** + * A link back to this list. + */ + selfLink?: string; + } + /** + * An notification channel used to watch for resource changes. + */ + interface Schema$Channel { + /** + * The address where notifications are delivered for this channel. + */ + address?: string; + /** + * Date and time of notification channel expiration, expressed as a Unix + * timestamp, in milliseconds. Optional. + */ + expiration?: string; + /** + * A UUID or similar unique string that identifies this channel. + */ + id?: string; + /** + * Identifies this as a notification channel used to watch for changes to a + * resource. Value: the fixed string "api#channel". + */ + kind?: string; + /** + * Additional parameters controlling delivery channel behavior. Optional. + */ + params?: any; + /** + * A Boolean value to indicate whether payload is wanted. Optional. + */ + payload?: boolean; + /** + * An opaque ID that identifies the resource being watched on this channel. + * Stable across different API versions. + */ + resourceId?: string; + /** + * A version-specific identifier for the watched resource. + */ + resourceUri?: string; + /** + * An arbitrary string delivered to the target address with each + * notification delivered over this channel. Optional. + */ + token?: string; + /** + * The type of delivery mechanism used for this channel. + */ + type?: string; + } + /** + * A list of children of a file. + */ + interface Schema$ChildList { + /** + * The ETag of the list. + */ + etag?: string; + /** + * The list of children. If nextPageToken is populated, then this list may + * be incomplete and an additional page of results should be fetched. + */ + items?: Schema$ChildReference[]; + /** + * This is always drive#childList. + */ + kind?: string; + /** + * A link to the next page of children. + */ + nextLink?: string; + /** + * The page token for the next page of children. This will be absent if the + * end of the children list has been reached. If the token is rejected for + * any reason, it should be discarded, and pagination should be restarted + * from the first page of results. + */ + nextPageToken?: string; + /** + * A link back to this list. + */ + selfLink?: string; + } + /** + * A reference to a folder's child. + */ + interface Schema$ChildReference { + /** + * A link to the child. + */ + childLink?: string; + /** + * The ID of the child. + */ + id?: string; + /** + * This is always drive#childReference. + */ + kind?: string; + /** + * A link back to this reference. + */ + selfLink?: string; + } + /** + * A comment on a file in Google Drive. + */ + interface Schema$Comment { + /** + * A region of the document represented as a JSON string. See anchor + * documentation for details on how to define and interpret anchor + * properties. + */ + anchor?: string; + /** + * The user who wrote this comment. + */ + author?: Schema$User; + /** + * The ID of the comment. + */ + commentId?: string; + /** + * The plain text content used to create this comment. This is not HTML safe + * and should only be used as a starting point to make edits to a + * comment's content. + */ + content?: string; + /** + * The context of the file which is being commented on. + */ + context?: any; + /** + * The date when this comment was first created. + */ + createdDate?: string; + /** + * Whether this comment has been deleted. If a comment has been deleted the + * content will be cleared and this will only represent a comment that once + * existed. + */ + deleted?: boolean; + /** + * The file which this comment is addressing. + */ + fileId?: string; + /** + * The title of the file which this comment is addressing. + */ + fileTitle?: string; + /** + * HTML formatted content for this comment. + */ + htmlContent?: string; + /** + * This is always drive#comment. + */ + kind?: string; + /** + * The date when this comment or any of its replies were last modified. + */ + modifiedDate?: string; + /** + * Replies to this post. + */ + replies?: Schema$CommentReply[]; + /** + * A link back to this comment. + */ + selfLink?: string; + /** + * The status of this comment. Status can be changed by posting a reply to a + * comment with the desired status. - "open" - The comment is + * still open. - "resolved" - The comment has been resolved by + * one of its replies. + */ + status?: string; + } + /** + * A list of comments on a file in Google Drive. + */ + interface Schema$CommentList { + /** + * The list of comments. If nextPageToken is populated, then this list may + * be incomplete and an additional page of results should be fetched. + */ + items?: Schema$Comment[]; + /** + * This is always drive#commentList. + */ + kind?: string; + /** + * A link to the next page of comments. + */ + nextLink?: string; + /** + * The page token for the next page of comments. This will be absent if the + * end of the comments list has been reached. If the token is rejected for + * any reason, it should be discarded, and pagination should be restarted + * from the first page of results. + */ + nextPageToken?: string; + /** + * A link back to this list. + */ + selfLink?: string; + } + /** + * A comment on a file in Google Drive. + */ + interface Schema$CommentReply { + /** + * The user who wrote this reply. + */ + author?: Schema$User; + /** + * The plain text content used to create this reply. This is not HTML safe + * and should only be used as a starting point to make edits to a + * reply's content. This field is required on inserts if no verb is + * specified (resolve/reopen). + */ + content?: string; + /** + * The date when this reply was first created. + */ + createdDate?: string; + /** + * Whether this reply has been deleted. If a reply has been deleted the + * content will be cleared and this will only represent a reply that once + * existed. + */ + deleted?: boolean; + /** + * HTML formatted content for this reply. + */ + htmlContent?: string; + /** + * This is always drive#commentReply. + */ + kind?: string; + /** + * The date when this reply was last modified. + */ + modifiedDate?: string; + /** + * The ID of the reply. + */ + replyId?: string; + /** + * The action this reply performed to the parent comment. When creating a + * new reply this is the action to be perform to the parent comment. + * Possible values are: - "resolve" - To resolve a comment. - + * "reopen" - To reopen (un-resolve) a comment. + */ + verb?: string; + } + /** + * A list of replies to a comment on a file in Google Drive. + */ + interface Schema$CommentReplyList { + /** + * The list of replies. If nextPageToken is populated, then this list may be + * incomplete and an additional page of results should be fetched. + */ + items?: Schema$CommentReply[]; + /** + * This is always drive#commentReplyList. + */ + kind?: string; + /** + * A link to the next page of replies. + */ + nextLink?: string; + /** + * The page token for the next page of replies. This will be absent if the + * end of the replies list has been reached. If the token is rejected for + * any reason, it should be discarded, and pagination should be restarted + * from the first page of results. + */ + nextPageToken?: string; + /** + * A link back to this list. + */ + selfLink?: string; + } + /** + * The metadata for a file. + */ + interface Schema$File { + /** + * A link for opening the file in a relevant Google editor or viewer. + */ + alternateLink?: string; + /** + * Whether this file is in the Application Data folder. + */ + appDataContents?: boolean; + /** + * Deprecated: use capabilities/canComment. + */ + canComment?: boolean; + /** + * Deprecated: use capabilities/canReadRevisions. + */ + canReadRevisions?: boolean; + /** + * Capabilities the current user has on this file. Each capability + * corresponds to a fine-grained action that a user may take. + */ + capabilities?: any; + /** + * Deprecated: use capabilities/canCopy. + */ + copyable?: boolean; + /** + * Whether the options to copy, print, or download this file, should be + * disabled for readers and commenters. + */ + copyRequiresWriterPermission?: boolean; + /** + * Create time for this file (formatted RFC 3339 timestamp). + */ + createdDate?: string; + /** + * A link to open this file with the user's default app for this file. + * Only populated when the drive.apps.readonly scope is used. + */ + defaultOpenWithLink?: string; + /** + * A short description of the file. + */ + description?: string; + downloadUrl?: string; + /** + * Deprecated: use capabilities/canEdit. + */ + editable?: boolean; + /** + * A link for embedding the file. + */ + embedLink?: string; + /** + * ETag of the file. + */ + etag?: string; + /** + * Whether this file has been explicitly trashed, as opposed to recursively + * trashed. + */ + explicitlyTrashed?: boolean; + /** + * Links for exporting Google Docs to specific formats. + */ + exportLinks?: any; + /** + * The final component of fullFileExtension with trailing text that does not + * appear to be part of the extension removed. This field is only populated + * for files with content stored in Drive; it is not populated for Google + * Docs or shortcut files. + */ + fileExtension?: string; + /** + * The size of the file in bytes. This field is only populated for files + * with content stored in Drive; it is not populated for Google Docs or + * shortcut files. + */ + fileSize?: string; + /** + * Folder color as an RGB hex string if the file is a folder. The list of + * supported colors is available in the folderColorPalette field of the + * About resource. If an unsupported color is specified, it will be changed + * to the closest color in the palette. Not populated for Team Drive files. + */ + folderColorRgb?: string; + /** + * The full file extension; extracted from the title. May contain multiple + * concatenated extensions, such as "tar.gz". Removing an + * extension from the title does not clear this field; however, changing the + * extension on the title does update this field. This field is only + * populated for files with content stored in Drive; it is not populated for + * Google Docs or shortcut files. + */ + fullFileExtension?: string; + /** + * Whether any users are granted file access directly on this file. This + * field is only populated for Team Drive files. + */ + hasAugmentedPermissions?: boolean; + /** + * Whether this file has a thumbnail. This does not indicate whether the + * requesting app has access to the thumbnail. To check access, look for the + * presence of the thumbnailLink field. + */ + hasThumbnail?: boolean; + /** + * The ID of the file's head revision. This field is only populated for + * files with content stored in Drive; it is not populated for Google Docs + * or shortcut files. + */ + headRevisionId?: string; + /** + * A link to the file's icon. + */ + iconLink?: string; + /** + * The ID of the file. + */ + id?: string; + /** + * Metadata about image media. This will only be present for image types, + * and its contents will depend on what can be parsed from the image + * content. + */ + imageMediaMetadata?: any; + /** + * Indexable text attributes for the file (can only be written) + */ + indexableText?: any; + /** + * Whether the file was created or opened by the requesting app. + */ + isAppAuthorized?: boolean; + /** + * The type of file. This is always drive#file. + */ + kind?: string; + /** + * A group of labels for the file. + */ + labels?: any; + /** + * The last user to modify this file. + */ + lastModifyingUser?: Schema$User; + /** + * Name of the last user to modify this file. + */ + lastModifyingUserName?: string; + /** + * Last time this file was viewed by the user (formatted RFC 3339 + * timestamp). + */ + lastViewedByMeDate?: string; + /** + * Deprecated. + */ + markedViewedByMeDate?: string; + /** + * An MD5 checksum for the content of this file. This field is only + * populated for files with content stored in Drive; it is not populated for + * Google Docs or shortcut files. + */ + md5Checksum?: string; + /** + * The MIME type of the file. This is only mutable on update when uploading + * new content. This field can be left blank, and the mimetype will be + * determined from the uploaded content's MIME type. + */ + mimeType?: string; + /** + * Last time this file was modified by the user (formatted RFC 3339 + * timestamp). Note that setting modifiedDate will also update the + * modifiedByMe date for the user which set the date. + */ + modifiedByMeDate?: string; + /** + * Last time this file was modified by anyone (formatted RFC 3339 + * timestamp). This is only mutable on update when the setModifiedDate + * parameter is set. + */ + modifiedDate?: string; + /** + * A map of the id of each of the user's apps to a link to open this + * file with that app. Only populated when the drive.apps.readonly scope is + * used. + */ + openWithLinks?: any; + /** + * The original filename of the uploaded content if available, or else the + * original value of the title field. This is only available for files with + * binary content in Drive. + */ + originalFilename?: string; + /** + * Whether the file is owned by the current user. Not populated for Team + * Drive files. + */ + ownedByMe?: boolean; + /** + * Name(s) of the owner(s) of this file. Not populated for Team Drive files. + */ + ownerNames?: string[]; + /** + * The owner(s) of this file. Not populated for Team Drive files. + */ + owners?: Schema$User[]; + /** + * Collection of parent folders which contain this file. If not specified as + * part of an insert request, the file will be placed directly in the + * user's My Drive folder. If not specified as part of a copy request, + * the file will inherit any discoverable parents of the source file. Update + * requests can also use the addParents and removeParents parameters to + * modify the parents list. + */ + parents?: Schema$ParentReference[]; + /** + * List of permission IDs for users with access to this file. + */ + permissionIds?: string[]; + /** + * The list of permissions for users with access to this file. Not populated + * for Team Drive files. + */ + permissions?: Schema$Permission[]; + /** + * The list of properties. + */ + properties?: Schema$Property[]; + /** + * The number of quota bytes used by this file. + */ + quotaBytesUsed?: string; + /** + * A link back to this file. + */ + selfLink?: string; + /** + * Deprecated: use capabilities/canShare. + */ + shareable?: boolean; + /** + * Whether the file has been shared. Not populated for Team Drive files. + */ + shared?: boolean; + /** + * Time at which this file was shared with the user (formatted RFC 3339 + * timestamp). + */ + sharedWithMeDate?: string; + /** + * User that shared the item with the current user, if available. + */ + sharingUser?: Schema$User; + /** + * The list of spaces which contain the file. Supported values are + * 'drive', 'appDataFolder' and 'photos'. + */ + spaces?: string[]; + /** + * ID of the Team Drive the file resides in. + */ + teamDriveId?: string; + /** + * A thumbnail for the file. This will only be used if Drive cannot generate + * a standard thumbnail. + */ + thumbnail?: any; + /** + * A short-lived link to the file's thumbnail. Typically lasts on the + * order of hours. Only populated when the requesting app can access the + * file's content. + */ + thumbnailLink?: string; + /** + * The thumbnail version for use in thumbnail cache invalidation. + */ + thumbnailVersion?: string; + /** + * The title of this file. Note that for immutable items such as the top + * level folders of Team Drives, My Drive root folder, and Application Data + * folder the title is constant. + */ + title?: string; + /** + * The time that the item was trashed (formatted RFC 3339 timestamp). Only + * populated for Team Drive files. + */ + trashedDate?: string; + /** + * If the file has been explicitly trashed, the user who trashed it. Only + * populated for Team Drive files. + */ + trashingUser?: Schema$User; + /** + * The permissions for the authenticated user on this file. + */ + userPermission?: Schema$Permission; + /** + * A monotonically increasing version number for the file. This reflects + * every change made to the file on the server, even those not visible to + * the requesting user. + */ + version?: string; + /** + * Metadata about video media. This will only be present for video types. + */ + videoMediaMetadata?: any; + /** + * A link for downloading the content of the file in a browser using cookie + * based authentication. In cases where the content is shared publicly, the + * content can be downloaded without any credentials. + */ + webContentLink?: string; + /** + * A link only available on public folders for viewing their static web + * assets (HTML, CSS, JS, etc) via Google Drive's Website Hosting. + */ + webViewLink?: string; + /** + * Whether writers can share the document with other users. Not populated + * for Team Drive files. + */ + writersCanShare?: boolean; + } + /** + * A list of files. + */ + interface Schema$FileList { + /** + * The ETag of the list. + */ + etag?: string; + /** + * Whether the search process was incomplete. If true, then some search + * results may be missing, since all documents were not searched. This may + * occur when searching multiple Team Drives with the + * "default,allTeamDrives" corpora, but all corpora could not be + * searched. When this happens, it is suggested that clients narrow their + * query by choosing a different corpus such as "default" or + * "teamDrive". + */ + incompleteSearch?: boolean; + /** + * The list of files. If nextPageToken is populated, then this list may be + * incomplete and an additional page of results should be fetched. + */ + items?: Schema$File[]; + /** + * This is always drive#fileList. + */ + kind?: string; + /** + * A link to the next page of files. + */ + nextLink?: string; + /** + * The page token for the next page of files. This will be absent if the end + * of the files list has been reached. If the token is rejected for any + * reason, it should be discarded, and pagination should be restarted from + * the first page of results. + */ + nextPageToken?: string; + /** + * A link back to this list. + */ + selfLink?: string; + } + /** + * A list of generated IDs which can be provided in insert requests + */ + interface Schema$GeneratedIds { + /** + * The IDs generated for the requesting user in the specified space. + */ + ids?: string[]; + /** + * This is always drive#generatedIds + */ + kind?: string; + /** + * The type of file that can be created with these IDs. + */ + space?: string; + } + /** + * A list of a file's parents. + */ + interface Schema$ParentList { + /** + * The ETag of the list. + */ + etag?: string; + /** + * The list of parents. + */ + items?: Schema$ParentReference[]; + /** + * This is always drive#parentList. + */ + kind?: string; + /** + * A link back to this list. + */ + selfLink?: string; + } + /** + * A reference to a file's parent. + */ + interface Schema$ParentReference { + /** + * The ID of the parent. + */ + id?: string; + /** + * Whether or not the parent is the root folder. + */ + isRoot?: boolean; + /** + * This is always drive#parentReference. + */ + kind?: string; + /** + * A link to the parent. + */ + parentLink?: string; + /** + * A link back to this reference. + */ + selfLink?: string; + } + /** + * A permission for a file. + */ + interface Schema$Permission { + /** + * Additional roles for this user. Only commenter is currently allowed, + * though more may be supported in the future. + */ + additionalRoles?: string[]; + /** + * Deprecated. + */ + authKey?: string; + /** + * Whether the account associated with this permission has been deleted. + * This field only pertains to user and group permissions. + */ + deleted?: boolean; + /** + * The domain name of the entity this permission refers to. This is an + * output-only field which is present when the permission type is user, + * group or domain. + */ + domain?: string; + /** + * The email address of the user or group this permission refers to. This is + * an output-only field which is present when the permission type is user or + * group. + */ + emailAddress?: string; + /** + * The ETag of the permission. + */ + etag?: string; + /** + * The time at which this permission will expire (RFC 3339 date-time). + * Expiration dates have the following restrictions: - They can only be + * set on user and group permissions - The date must be in the future - + * The date cannot be more than a year in the future - The date can only be + * set on drive.permissions.update or drive.permissions.patch requests + */ + expirationDate?: string; + /** + * The ID of the user this permission refers to, and identical to the + * permissionId in the About and Files resources. When making a + * drive.permissions.insert request, exactly one of the id or value fields + * must be specified unless the permission type is anyone, in which case + * both id and value are ignored. + */ + id?: string; + /** + * This is always drive#permission. + */ + kind?: string; + /** + * The name for this permission. + */ + name?: string; + /** + * A link to the profile photo, if available. + */ + photoLink?: string; + /** + * The primary role for this user. While new values may be supported in the + * future, the following are currently allowed: - owner - organizer - + * fileOrganizer - writer - reader + */ + role?: string; + /** + * A link back to this permission. + */ + selfLink?: string; + /** + * Details of whether the permissions on this Team Drive item are inherited + * or directly on this item. This is an output-only field which is present + * only for Team Drive items. + */ + teamDrivePermissionDetails?: any[]; + /** + * The account type. Allowed values are: - user - group - domain - + * anyone + */ + type?: string; + /** + * The email address or domain name for the entity. This is used during + * inserts and is not populated in responses. When making a + * drive.permissions.insert request, exactly one of the id or value fields + * must be specified unless the permission type is anyone, in which case + * both id and value are ignored. + */ + value?: string; + /** + * Whether the link is required for this permission. + */ + withLink?: boolean; + } + /** + * An ID for a user or group as seen in Permission items. + */ + interface Schema$PermissionId { + /** + * The permission ID. + */ + id?: string; + /** + * This is always drive#permissionId. + */ + kind?: string; + } + /** + * A list of permissions associated with a file. + */ + interface Schema$PermissionList { + /** + * The ETag of the list. + */ + etag?: string; + /** + * The list of permissions. + */ + items?: Schema$Permission[]; + /** + * This is always drive#permissionList. + */ + kind?: string; + /** + * The page token for the next page of permissions. This field will be + * absent if the end of the permissions list has been reached. If the token + * is rejected for any reason, it should be discarded, and pagination should + * be restarted from the first page of results. + */ + nextPageToken?: string; + /** + * A link back to this list. + */ + selfLink?: string; + } + /** + * A key-value pair attached to a file that is either public or private to an + * application. The following limits apply to file properties: - Maximum of + * 100 properties total per file - Maximum of 30 private properties per app - + * Maximum of 30 public properties - Maximum of 124 bytes size limit on (key + + * value) string in UTF-8 encoding for a single property. + */ + interface Schema$Property { + /** + * ETag of the property. + */ + etag?: string; + /** + * The key of this property. + */ + key?: string; + /** + * This is always drive#property. + */ + kind?: string; + /** + * The link back to this property. + */ + selfLink?: string; + /** + * The value of this property. + */ + value?: string; + /** + * The visibility of this property. Allowed values are PRIVATE and PUBLIC. + * (Default: PRIVATE) + */ + visibility?: string; + } + /** + * A collection of properties, key-value pairs that are either public or + * private to an application. + */ + interface Schema$PropertyList { + /** + * The ETag of the list. + */ + etag?: string; + /** + * The list of properties. + */ + items?: Schema$Property[]; + /** + * This is always drive#propertyList. + */ + kind?: string; + /** + * The link back to this list. + */ + selfLink?: string; + } + /** + * A revision of a file. + */ + interface Schema$Revision { + /** + * Short term download URL for the file. This will only be populated on + * files with content stored in Drive. + */ + downloadUrl?: string; + /** + * The ETag of the revision. + */ + etag?: string; + /** + * Links for exporting Google Docs to specific formats. + */ + exportLinks?: any; + /** + * The size of the revision in bytes. This will only be populated on files + * with content stored in Drive. + */ + fileSize?: string; + /** + * The ID of the revision. + */ + id?: string; + /** + * This is always drive#revision. + */ + kind?: string; + /** + * The last user to modify this revision. + */ + lastModifyingUser?: Schema$User; + /** + * Name of the last user to modify this revision. + */ + lastModifyingUserName?: string; + /** + * An MD5 checksum for the content of this revision. This will only be + * populated on files with content stored in Drive. + */ + md5Checksum?: string; + /** + * The MIME type of the revision. + */ + mimeType?: string; + /** + * Last time this revision was modified (formatted RFC 3339 timestamp). + */ + modifiedDate?: string; + /** + * The original filename when this revision was created. This will only be + * populated on files with content stored in Drive. + */ + originalFilename?: string; + /** + * Whether this revision is pinned to prevent automatic purging. This will + * only be populated and can only be modified on files with content stored + * in Drive which are not Google Docs. Revisions can also be pinned when + * they are created through the drive.files.insert/update/copy by using the + * pinned query parameter. + */ + pinned?: boolean; + /** + * Whether subsequent revisions will be automatically republished. This is + * only populated and can only be modified for Google Docs. + */ + publishAuto?: boolean; + /** + * Whether this revision is published. This is only populated and can only + * be modified for Google Docs. + */ + published?: boolean; + /** + * A link to the published revision. + */ + publishedLink?: string; + /** + * Whether this revision is published outside the domain. This is only + * populated and can only be modified for Google Docs. + */ + publishedOutsideDomain?: boolean; + /** + * A link back to this revision. + */ + selfLink?: string; + } + /** + * A list of revisions of a file. + */ + interface Schema$RevisionList { + /** + * The ETag of the list. + */ + etag?: string; + /** + * The list of revisions. If nextPageToken is populated, then this list may + * be incomplete and an additional page of results should be fetched. + */ + items?: Schema$Revision[]; + /** + * This is always drive#revisionList. + */ + kind?: string; + /** + * The page token for the next page of revisions. This field will be absent + * if the end of the revisions list has been reached. If the token is + * rejected for any reason, it should be discarded and pagination should be + * restarted from the first page of results. + */ + nextPageToken?: string; + /** + * A link back to this list. + */ + selfLink?: string; + } + interface Schema$StartPageToken { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "drive#startPageToken". + */ + kind?: string; + /** + * The starting page token for listing changes. + */ + startPageToken?: string; + } + /** + * Representation of a Team Drive. + */ + interface Schema$TeamDrive { + /** + * An image file and cropping parameters from which a background image for + * this Team Drive is set. This is a write only field; it can only be set on + * drive.teamdrives.update requests that don't set themeId. When + * specified, all fields of the backgroundImageFile must be set. + */ + backgroundImageFile?: any; + /** + * A short-lived link to this Team Drive's background image. + */ + backgroundImageLink?: string; + /** + * Capabilities the current user has on this Team Drive. + */ + capabilities?: any; + /** + * The color of this Team Drive as an RGB hex string. It can only be set on + * a drive.teamdrives.update request that does not set themeId. + */ + colorRgb?: string; + /** + * The time at which the Team Drive was created (RFC 3339 date-time). + */ + createdDate?: string; + /** + * The ID of this Team Drive which is also the ID of the top level folder of + * this Team Drive. + */ + id?: string; + /** + * This is always drive#teamDrive + */ + kind?: string; + /** + * The name of this Team Drive. + */ + name?: string; + /** + * A set of restrictions that apply to this Team Drive or items inside this + * Team Drive. + */ + restrictions?: any; + /** + * The ID of the theme from which the background image and color will be + * set. The set of possible teamDriveThemes can be retrieved from a + * drive.about.get response. When not specified on a drive.teamdrives.insert + * request, a random theme is chosen from which the background image and + * color are set. This is a write-only field; it can only be set on requests + * that don't set colorRgb or backgroundImageFile. + */ + themeId?: string; + } + /** + * A list of Team Drives. + */ + interface Schema$TeamDriveList { + /** + * The list of Team Drives. + */ + items?: Schema$TeamDrive[]; + /** + * This is always drive#teamDriveList + */ + kind?: string; + /** + * The page token for the next page of Team Drives. + */ + nextPageToken?: string; + } + /** + * Information about a Drive user. + */ + interface Schema$User { + /** + * A plain text displayable name for this user. + */ + displayName?: string; + /** + * The email address of the user. + */ + emailAddress?: string; + /** + * Whether this user is the same as the authenticated user for whom the + * request was made. + */ + isAuthenticatedUser?: boolean; + /** + * This is always drive#user. + */ + kind?: string; + /** + * The user's ID as visible in the permissions collection. + */ + permissionId?: string; + /** + * The user's profile picture. + */ + picture?: any; + } + class Resource$About { + root: Drive; + constructor(root: Drive); + getRoot(): Drive; + /** + * drive.about.get + * @desc Gets the information about the current user along with Drive API + * settings + * @alias drive.about.get + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {boolean=} params.includeSubscribed Whether to count changes outside the My Drive hierarchy. When set to false, changes to files such as those in the Application Data folder or shared files which have not been added to My Drive will be omitted from the maxChangeIdCount. + * @param {string=} params.maxChangeIdCount Maximum number of remaining change IDs to count + * @param {string=} params.startChangeId Change ID to start counting from when calculating number of remaining change IDs + * @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?: Params$Resource$About$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$About$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$About$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$About$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Whether to count changes outside the My Drive hierarchy. When set to + * false, changes to files such as those in the Application Data folder or + * shared files which have not been added to My Drive will be omitted from + * the maxChangeIdCount. + */ + includeSubscribed?: boolean; + /** + * Maximum number of remaining change IDs to count + */ + maxChangeIdCount?: string; + /** + * Change ID to start counting from when calculating number of remaining + * change IDs + */ + startChangeId?: string; + } + class Resource$Apps { + root: Drive; + constructor(root: Drive); + getRoot(): Drive; + /** + * drive.apps.get + * @desc Gets a specific app. + * @alias drive.apps.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.appId The ID of the app. + * @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?: Params$Resource$Apps$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Apps$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Apps$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * drive.apps.list + * @desc Lists a user's installed apps. + * @alias drive.apps.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {string=} params.appFilterExtensions A comma-separated list of file extensions for open with filtering. All apps within the given app query scope which can open any of the given file extensions will be included in the response. If appFilterMimeTypes are provided as well, the result is a union of the two resulting app lists. + * @param {string=} params.appFilterMimeTypes A comma-separated list of MIME types for open with filtering. All apps within the given app query scope which can open any of the given MIME types will be included in the response. If appFilterExtensions are provided as well, the result is a union of the two resulting app lists. + * @param {string=} params.languageCode A language or locale code, as defined by BCP 47, with some extensions from Unicode's LDML format (http://www.unicode.org/reports/tr35/). + * @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?: Params$Resource$Apps$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Apps$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Apps$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Apps$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the app. + */ + appId?: string; + } + interface Params$Resource$Apps$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A comma-separated list of file extensions for open with filtering. All + * apps within the given app query scope which can open any of the given + * file extensions will be included in the response. If appFilterMimeTypes + * are provided as well, the result is a union of the two resulting app + * lists. + */ + appFilterExtensions?: string; + /** + * A comma-separated list of MIME types for open with filtering. All apps + * within the given app query scope which can open any of the given MIME + * types will be included in the response. If appFilterExtensions are + * provided as well, the result is a union of the two resulting app lists. + */ + appFilterMimeTypes?: string; + /** + * A language or locale code, as defined by BCP 47, with some extensions + * from Unicode's LDML format (http://www.unicode.org/reports/tr35/). + */ + languageCode?: string; + } + class Resource$Changes { + root: Drive; + constructor(root: Drive); + getRoot(): Drive; + /** + * drive.changes.get + * @desc Deprecated - Use changes.getStartPageToken and changes.list to + * retrieve recent changes. + * @alias drive.changes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.changeId The ID of the change. + * @param {boolean=} params.supportsTeamDrives Whether the requesting application supports Team Drives. + * @param {string=} params.teamDriveId The Team Drive from which the change will be returned. + * @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?: Params$Resource$Changes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Changes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Changes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * drive.changes.getStartPageToken + * @desc Gets the starting pageToken for listing future changes. + * @alias drive.changes.getStartPageToken + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {boolean=} params.supportsTeamDrives Whether the requesting application supports Team Drives. + * @param {string=} params.teamDriveId The ID of the Team Drive for which the starting pageToken for listing future changes from that Team Drive will be returned. + * @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 + */ + getStartPageToken(params?: Params$Resource$Changes$Getstartpagetoken, options?: MethodOptions): AxiosPromise; + getStartPageToken(params: Params$Resource$Changes$Getstartpagetoken, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getStartPageToken(params: Params$Resource$Changes$Getstartpagetoken, callback: BodyResponseCallback): void; + getStartPageToken(callback: BodyResponseCallback): void; + /** + * drive.changes.list + * @desc Lists the changes for a user or Team Drive. + * @alias drive.changes.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {boolean=} params.includeCorpusRemovals Whether changes should include the file resource if the file is still accessible by the user at the time of the request, even when a file was removed from the list of changes and there will be no further change entries for this file. + * @param {boolean=} params.includeDeleted Whether to include changes indicating that items have been removed from the list of changes, for example by deletion or loss of access. + * @param {boolean=} params.includeSubscribed Whether to include changes outside the My Drive hierarchy in the result. When set to false, changes to files such as those in the Application Data folder or shared files which have not been added to My Drive will be omitted from the result. + * @param {boolean=} params.includeTeamDriveItems Whether Team Drive files or changes should be included in results. + * @param {integer=} params.maxResults Maximum number of changes to return. + * @param {string=} params.pageToken The token for continuing a previous list request on the next page. This should be set to the value of 'nextPageToken' from the previous response or to the response from the getStartPageToken method. + * @param {string=} params.spaces A comma-separated list of spaces to query. Supported values are 'drive', 'appDataFolder' and 'photos'. + * @param {string=} params.startChangeId Deprecated - use pageToken instead. + * @param {boolean=} params.supportsTeamDrives Whether the requesting application supports Team Drives. + * @param {string=} params.teamDriveId The Team Drive from which changes will be returned. If specified the change IDs will be reflective of the Team Drive; use the combined Team Drive ID and change ID as an identifier. + * @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?: Params$Resource$Changes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Changes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Changes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * drive.changes.watch + * @desc Subscribe to changes for a user. + * @alias drive.changes.watch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.includeCorpusRemovals Whether changes should include the file resource if the file is still accessible by the user at the time of the request, even when a file was removed from the list of changes and there will be no further change entries for this file. + * @param {boolean=} params.includeDeleted Whether to include changes indicating that items have been removed from the list of changes, for example by deletion or loss of access. + * @param {boolean=} params.includeSubscribed Whether to include changes outside the My Drive hierarchy in the result. When set to false, changes to files such as those in the Application Data folder or shared files which have not been added to My Drive will be omitted from the result. + * @param {boolean=} params.includeTeamDriveItems Whether Team Drive files or changes should be included in results. + * @param {integer=} params.maxResults Maximum number of changes to return. + * @param {string=} params.pageToken The token for continuing a previous list request on the next page. This should be set to the value of 'nextPageToken' from the previous response or to the response from the getStartPageToken method. + * @param {string=} params.spaces A comma-separated list of spaces to query. Supported values are 'drive', 'appDataFolder' and 'photos'. + * @param {string=} params.startChangeId Deprecated - use pageToken instead. + * @param {boolean=} params.supportsTeamDrives Whether the requesting application supports Team Drives. + * @param {string=} params.teamDriveId The Team Drive from which changes will be returned. If specified the change IDs will be reflective of the Team Drive; use the combined Team Drive ID and change ID as an identifier. + * @param {().Channel} 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 + */ + watch(params?: Params$Resource$Changes$Watch, options?: MethodOptions): AxiosPromise; + watch(params: Params$Resource$Changes$Watch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + watch(params: Params$Resource$Changes$Watch, callback: BodyResponseCallback): void; + watch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Changes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the change. + */ + changeId?: string; + /** + * Whether the requesting application supports Team Drives. + */ + supportsTeamDrives?: boolean; + /** + * The Team Drive from which the change will be returned. + */ + teamDriveId?: string; + } + interface Params$Resource$Changes$Getstartpagetoken { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Whether the requesting application supports Team Drives. + */ + supportsTeamDrives?: boolean; + /** + * The ID of the Team Drive for which the starting pageToken for listing + * future changes from that Team Drive will be returned. + */ + teamDriveId?: string; + } + interface Params$Resource$Changes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Whether changes should include the file resource if the file is still + * accessible by the user at the time of the request, even when a file was + * removed from the list of changes and there will be no further change + * entries for this file. + */ + includeCorpusRemovals?: boolean; + /** + * Whether to include changes indicating that items have been removed from + * the list of changes, for example by deletion or loss of access. + */ + includeDeleted?: boolean; + /** + * Whether to include changes outside the My Drive hierarchy in the result. + * When set to false, changes to files such as those in the Application Data + * folder or shared files which have not been added to My Drive will be + * omitted from the result. + */ + includeSubscribed?: boolean; + /** + * Whether Team Drive files or changes should be included in results. + */ + includeTeamDriveItems?: boolean; + /** + * Maximum number of changes to return. + */ + maxResults?: number; + /** + * The token for continuing a previous list request on the next page. This + * should be set to the value of 'nextPageToken' from the previous response + * or to the response from the getStartPageToken method. + */ + pageToken?: string; + /** + * A comma-separated list of spaces to query. Supported values are 'drive', + * 'appDataFolder' and 'photos'. + */ + spaces?: string; + /** + * Deprecated - use pageToken instead. + */ + startChangeId?: string; + /** + * Whether the requesting application supports Team Drives. + */ + supportsTeamDrives?: boolean; + /** + * The Team Drive from which changes will be returned. If specified the + * change IDs will be reflective of the Team Drive; use the combined Team + * Drive ID and change ID as an identifier. + */ + teamDriveId?: string; + } + interface Params$Resource$Changes$Watch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Whether changes should include the file resource if the file is still + * accessible by the user at the time of the request, even when a file was + * removed from the list of changes and there will be no further change + * entries for this file. + */ + includeCorpusRemovals?: boolean; + /** + * Whether to include changes indicating that items have been removed from + * the list of changes, for example by deletion or loss of access. + */ + includeDeleted?: boolean; + /** + * Whether to include changes outside the My Drive hierarchy in the result. + * When set to false, changes to files such as those in the Application Data + * folder or shared files which have not been added to My Drive will be + * omitted from the result. + */ + includeSubscribed?: boolean; + /** + * Whether Team Drive files or changes should be included in results. + */ + includeTeamDriveItems?: boolean; + /** + * Maximum number of changes to return. + */ + maxResults?: number; + /** + * The token for continuing a previous list request on the next page. This + * should be set to the value of 'nextPageToken' from the previous response + * or to the response from the getStartPageToken method. + */ + pageToken?: string; + /** + * A comma-separated list of spaces to query. Supported values are 'drive', + * 'appDataFolder' and 'photos'. + */ + spaces?: string; + /** + * Deprecated - use pageToken instead. + */ + startChangeId?: string; + /** + * Whether the requesting application supports Team Drives. + */ + supportsTeamDrives?: boolean; + /** + * The Team Drive from which changes will be returned. If specified the + * change IDs will be reflective of the Team Drive; use the combined Team + * Drive ID and change ID as an identifier. + */ + teamDriveId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Channel; + } + class Resource$Channels { + root: Drive; + constructor(root: Drive); + getRoot(): Drive; + /** + * drive.channels.stop + * @desc Stop watching resources through this channel + * @alias drive.channels.stop + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().Channel} 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 + */ + stop(params?: Params$Resource$Channels$Stop, options?: MethodOptions): AxiosPromise; + stop(params: Params$Resource$Channels$Stop, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + stop(params: Params$Resource$Channels$Stop, callback: BodyResponseCallback): void; + stop(callback: BodyResponseCallback): void; + } + interface Params$Resource$Channels$Stop { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$Channel; + } + class Resource$Children { + root: Drive; + constructor(root: Drive); + getRoot(): Drive; + /** + * drive.children.delete + * @desc Removes a child from a folder. + * @alias drive.children.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.childId The ID of the child. + * @param {string} params.folderId The ID of the folder. + * @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?: Params$Resource$Children$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Children$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Children$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * drive.children.get + * @desc Gets a specific child reference. + * @alias drive.children.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.childId The ID of the child. + * @param {string} params.folderId The ID of the folder. + * @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?: Params$Resource$Children$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Children$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Children$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * drive.children.insert + * @desc Inserts a file into a folder. + * @alias drive.children.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.folderId The ID of the folder. + * @param {boolean=} params.supportsTeamDrives Whether the requesting application supports Team Drives. + * @param {().ChildReference} 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?: Params$Resource$Children$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Children$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Children$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * drive.children.list + * @desc Lists a folder's children. + * @alias drive.children.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.folderId The ID of the folder. + * @param {integer=} params.maxResults Maximum number of children to return. + * @param {string=} params.orderBy A comma-separated list of sort keys. Valid keys are 'createdDate', 'folder', 'lastViewedByMeDate', 'modifiedByMeDate', 'modifiedDate', 'quotaBytesUsed', 'recency', 'sharedWithMeDate', 'starred', and 'title'. Each key sorts ascending by default, but may be reversed with the 'desc' modifier. Example usage: ?orderBy=folder,modifiedDate desc,title. Please note that there is a current limitation for users with approximately one million files in which the requested sort order is ignored. + * @param {string=} params.pageToken Page token for children. + * @param {string=} params.q Query string for searching children. + * @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?: Params$Resource$Children$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Children$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Children$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Children$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the child. + */ + childId?: string; + /** + * The ID of the folder. + */ + folderId?: string; + } + interface Params$Resource$Children$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the child. + */ + childId?: string; + /** + * The ID of the folder. + */ + folderId?: string; + } + interface Params$Resource$Children$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the folder. + */ + folderId?: string; + /** + * Whether the requesting application supports Team Drives. + */ + supportsTeamDrives?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$ChildReference; + } + interface Params$Resource$Children$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the folder. + */ + folderId?: string; + /** + * Maximum number of children to return. + */ + maxResults?: number; + /** + * A comma-separated list of sort keys. Valid keys are 'createdDate', + * 'folder', 'lastViewedByMeDate', 'modifiedByMeDate', 'modifiedDate', + * 'quotaBytesUsed', 'recency', 'sharedWithMeDate', 'starred', and 'title'. + * Each key sorts ascending by default, but may be reversed with the 'desc' + * modifier. Example usage: ?orderBy=folder,modifiedDate desc,title. Please + * note that there is a current limitation for users with approximately one + * million files in which the requested sort order is ignored. + */ + orderBy?: string; + /** + * Page token for children. + */ + pageToken?: string; + /** + * Query string for searching children. + */ + q?: string; + } + class Resource$Comments { + root: Drive; + constructor(root: Drive); + getRoot(): Drive; + /** + * drive.comments.delete + * @desc Deletes a comment. + * @alias drive.comments.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.commentId The ID of the comment. + * @param {string} params.fileId The ID of the file. + * @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?: Params$Resource$Comments$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Comments$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Comments$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * drive.comments.get + * @desc Gets a comment by ID. + * @alias drive.comments.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.commentId The ID of the comment. + * @param {string} params.fileId The ID of the file. + * @param {boolean=} params.includeDeleted If set, this will succeed when retrieving a deleted comment, and will include any deleted replies. + * @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?: Params$Resource$Comments$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Comments$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Comments$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * drive.comments.insert + * @desc Creates a new comment on the given file. + * @alias drive.comments.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.fileId The ID of the file. + * @param {().Comment} 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?: Params$Resource$Comments$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Comments$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Comments$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * drive.comments.list + * @desc Lists a file's comments. + * @alias drive.comments.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.fileId The ID of the file. + * @param {boolean=} params.includeDeleted If set, all comments and replies, including deleted comments and replies (with content stripped) will be returned. + * @param {integer=} params.maxResults The maximum number of discussions to include in the response, used for paging. + * @param {string=} params.pageToken The continuation token, used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response. + * @param {string=} params.updatedMin Only discussions that were updated after this timestamp will be returned. Formatted as an RFC 3339 timestamp. + * @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?: Params$Resource$Comments$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Comments$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Comments$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * drive.comments.patch + * @desc Updates an existing comment. This method supports patch semantics. + * @alias drive.comments.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.commentId The ID of the comment. + * @param {string} params.fileId The ID of the file. + * @param {().Comment} 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 + */ + patch(params?: Params$Resource$Comments$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Comments$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Comments$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * drive.comments.update + * @desc Updates an existing comment. + * @alias drive.comments.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.commentId The ID of the comment. + * @param {string} params.fileId The ID of the file. + * @param {().Comment} 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?: Params$Resource$Comments$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Comments$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Comments$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Comments$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the comment. + */ + commentId?: string; + /** + * The ID of the file. + */ + fileId?: string; + } + interface Params$Resource$Comments$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the comment. + */ + commentId?: string; + /** + * The ID of the file. + */ + fileId?: string; + /** + * If set, this will succeed when retrieving a deleted comment, and will + * include any deleted replies. + */ + includeDeleted?: boolean; + } + interface Params$Resource$Comments$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the file. + */ + fileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Comment; + } + interface Params$Resource$Comments$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the file. + */ + fileId?: string; + /** + * If set, all comments and replies, including deleted comments and replies + * (with content stripped) will be returned. + */ + includeDeleted?: boolean; + /** + * The maximum number of discussions to include in the response, used for + * paging. + */ + maxResults?: number; + /** + * The continuation token, used to page through large result sets. To get + * the next page of results, set this parameter to the value of + * "nextPageToken" from the previous response. + */ + pageToken?: string; + /** + * Only discussions that were updated after this timestamp will be returned. + * Formatted as an RFC 3339 timestamp. + */ + updatedMin?: string; + } + interface Params$Resource$Comments$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the comment. + */ + commentId?: string; + /** + * The ID of the file. + */ + fileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Comment; + } + interface Params$Resource$Comments$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the comment. + */ + commentId?: string; + /** + * The ID of the file. + */ + fileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Comment; + } + class Resource$Files { + root: Drive; + constructor(root: Drive); + getRoot(): Drive; + /** + * drive.files.copy + * @desc Creates a copy of the specified file. + * @alias drive.files.copy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.convert Whether to convert this file to the corresponding Google Docs format. + * @param {string} params.fileId The ID of the file to copy. + * @param {boolean=} params.ocr Whether to attempt OCR on .jpg, .png, .gif, or .pdf uploads. + * @param {string=} params.ocrLanguage If ocr is true, hints at the language to use. Valid values are BCP 47 codes. + * @param {boolean=} params.pinned Whether to pin the head revision of the new copy. A file can have a maximum of 200 pinned revisions. + * @param {boolean=} params.supportsTeamDrives Whether the requesting application supports Team Drives. + * @param {string=} params.timedTextLanguage The language of the timed text. + * @param {string=} params.timedTextTrackName The timed text track name. + * @param {string=} params.visibility The visibility of the new file. This parameter is only relevant when the source is not a native Google Doc and convert=false. + * @param {().File} 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 + */ + copy(params?: Params$Resource$Files$Copy, options?: MethodOptions): AxiosPromise; + copy(params: Params$Resource$Files$Copy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + copy(params: Params$Resource$Files$Copy, callback: BodyResponseCallback): void; + copy(callback: BodyResponseCallback): void; + /** + * drive.files.delete + * @desc Permanently deletes a file by ID. Skips the trash. The currently + * authenticated user must own the file or be an organizer on the parent for + * Team Drive files. + * @alias drive.files.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.fileId The ID of the file to delete. + * @param {boolean=} params.supportsTeamDrives Whether the requesting application supports Team Drives. + * @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?: Params$Resource$Files$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Files$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Files$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * drive.files.emptyTrash + * @desc Permanently deletes all of the user's trashed files. + * @alias drive.files.emptyTrash + * @memberOf! () + * + * @param {object=} params Parameters for request + * @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 + */ + emptyTrash(params?: Params$Resource$Files$Emptytrash, options?: MethodOptions): AxiosPromise; + emptyTrash(params: Params$Resource$Files$Emptytrash, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + emptyTrash(params: Params$Resource$Files$Emptytrash, callback: BodyResponseCallback): void; + emptyTrash(callback: BodyResponseCallback): void; + /** + * drive.files.export + * @desc Exports a Google Doc to the requested MIME type and returns the + * exported content. Please note that the exported content is limited to + * 10MB. + * @alias drive.files.export + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.fileId The ID of the file. + * @param {string} params.mimeType The MIME type of the format requested for this export. + * @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 + */ + export(params?: Params$Resource$Files$Export, options?: MethodOptions): AxiosPromise; + export(params: Params$Resource$Files$Export, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + export(params: Params$Resource$Files$Export, callback: BodyResponseCallback): void; + export(callback: BodyResponseCallback): void; + /** + * drive.files.generateIds + * @desc Generates a set of file IDs which can be provided in insert + * requests. + * @alias drive.files.generateIds + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {integer=} params.maxResults Maximum number of IDs to return. + * @param {string=} params.space The space in which the IDs can be used to create new files. Supported values are 'drive' and 'appDataFolder'. + * @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 + */ + generateIds(params?: Params$Resource$Files$Generateids, options?: MethodOptions): AxiosPromise; + generateIds(params: Params$Resource$Files$Generateids, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + generateIds(params: Params$Resource$Files$Generateids, callback: BodyResponseCallback): void; + generateIds(callback: BodyResponseCallback): void; + /** + * drive.files.get + * @desc Gets a file's metadata by ID. + * @alias drive.files.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.acknowledgeAbuse Whether the user is acknowledging the risk of downloading known malware or other abusive files. + * @param {string} params.fileId The ID for the file in question. + * @param {string=} params.projection This parameter is deprecated and has no function. + * @param {string=} params.revisionId Specifies the Revision ID that should be downloaded. Ignored unless alt=media is specified. + * @param {boolean=} params.supportsTeamDrives Whether the requesting application supports Team Drives. + * @param {boolean=} params.updateViewedDate Deprecated: Use files.update with modifiedDateBehavior=noChange, updateViewedDate=true and an empty request body. + * @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?: Params$Resource$Files$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Files$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Files$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * drive.files.insert + * @desc Insert a new file. + * @alias drive.files.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.convert Whether to convert this file to the corresponding Google Docs format. + * @param {boolean=} params.ocr Whether to attempt OCR on .jpg, .png, .gif, or .pdf uploads. + * @param {string=} params.ocrLanguage If ocr is true, hints at the language to use. Valid values are BCP 47 codes. + * @param {boolean=} params.pinned Whether to pin the head revision of the uploaded file. A file can have a maximum of 200 pinned revisions. + * @param {boolean=} params.supportsTeamDrives Whether the requesting application supports Team Drives. + * @param {string=} params.timedTextLanguage The language of the timed text. + * @param {string=} params.timedTextTrackName The timed text track name. + * @param {boolean=} params.useContentAsIndexableText Whether to use the content as indexable text. + * @param {string=} params.visibility The visibility of the new file. This parameter is only relevant when convert=false. + * @param {object} params.resource Media resource metadata + * @param {object} params.media Media object + * @param {string} params.media.mimeType Media mime-type + * @param {string|object} params.media.body Media body contents + * @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?: Params$Resource$Files$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Files$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Files$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * drive.files.list + * @desc Lists the user's files. + * @alias drive.files.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {string=} params.corpora Comma-separated list of bodies of items (files/documents) to which the query applies. Supported bodies are 'default', 'domain', 'teamDrive' and 'allTeamDrives'. 'allTeamDrives' must be combined with 'default'; all other values must be used in isolation. Prefer 'default' or 'teamDrive' to 'allTeamDrives' for efficiency. + * @param {string=} params.corpus The body of items (files/documents) to which the query applies. Deprecated: use 'corpora' instead. + * @param {boolean=} params.includeTeamDriveItems Whether Team Drive items should be included in results. + * @param {integer=} params.maxResults The maximum number of files to return per page. Partial or empty result pages are possible even before the end of the files list has been reached. + * @param {string=} params.orderBy A comma-separated list of sort keys. Valid keys are 'createdDate', 'folder', 'lastViewedByMeDate', 'modifiedByMeDate', 'modifiedDate', 'quotaBytesUsed', 'recency', 'sharedWithMeDate', 'starred', 'title', and 'title_natural'. Each key sorts ascending by default, but may be reversed with the 'desc' modifier. Example usage: ?orderBy=folder,modifiedDate desc,title. Please note that there is a current limitation for users with approximately one million files in which the requested sort order is ignored. + * @param {string=} params.pageToken Page token for files. + * @param {string=} params.projection This parameter is deprecated and has no function. + * @param {string=} params.q Query string for searching files. + * @param {string=} params.spaces A comma-separated list of spaces to query. Supported values are 'drive', 'appDataFolder' and 'photos'. + * @param {boolean=} params.supportsTeamDrives Whether the requesting application supports Team Drives. + * @param {string=} params.teamDriveId ID of Team Drive to search. + * @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?: Params$Resource$Files$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Files$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Files$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * drive.files.patch + * @desc Updates file metadata and/or content. This method supports patch + * semantics. + * @alias drive.files.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.addParents Comma-separated list of parent IDs to add. + * @param {boolean=} params.convert This parameter is deprecated and has no function. + * @param {string} params.fileId The ID of the file to update. + * @param {string=} params.modifiedDateBehavior Determines the behavior in which modifiedDate is updated. This overrides setModifiedDate. + * @param {boolean=} params.newRevision Whether a blob upload should create a new revision. If false, the blob data in the current head revision is replaced. If true or not set, a new blob is created as head revision, and previous unpinned revisions are preserved for a short period of time. Pinned revisions are stored indefinitely, using additional storage quota, up to a maximum of 200 revisions. For details on how revisions are retained, see the Drive Help Center. + * @param {boolean=} params.ocr Whether to attempt OCR on .jpg, .png, .gif, or .pdf uploads. + * @param {string=} params.ocrLanguage If ocr is true, hints at the language to use. Valid values are BCP 47 codes. + * @param {boolean=} params.pinned Whether to pin the new revision. A file can have a maximum of 200 pinned revisions. + * @param {string=} params.removeParents Comma-separated list of parent IDs to remove. + * @param {boolean=} params.setModifiedDate Whether to set the modified date using the value supplied in the request body. Setting this field to true is equivalent to modifiedDateBehavior=fromBodyOrNow, and false is equivalent to modifiedDateBehavior=now. To prevent any changes to the modified date set modifiedDateBehavior=noChange. + * @param {boolean=} params.supportsTeamDrives Whether the requesting application supports Team Drives. + * @param {string=} params.timedTextLanguage The language of the timed text. + * @param {string=} params.timedTextTrackName The timed text track name. + * @param {boolean=} params.updateViewedDate Whether to update the view date after successfully updating the file. + * @param {boolean=} params.useContentAsIndexableText Whether to use the content as indexable text. + * @param {().File} 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 + */ + patch(params?: Params$Resource$Files$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Files$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Files$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * drive.files.touch + * @desc Set the file's updated time to the current server time. + * @alias drive.files.touch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.fileId The ID of the file to update. + * @param {boolean=} params.supportsTeamDrives Whether the requesting application supports Team Drives. + * @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 + */ + touch(params?: Params$Resource$Files$Touch, options?: MethodOptions): AxiosPromise; + touch(params: Params$Resource$Files$Touch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + touch(params: Params$Resource$Files$Touch, callback: BodyResponseCallback): void; + touch(callback: BodyResponseCallback): void; + /** + * drive.files.trash + * @desc Moves a file to the trash. The currently authenticated user must + * own the file or be at least a fileOrganizer on the parent for Team Drive + * files. + * @alias drive.files.trash + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.fileId The ID of the file to trash. + * @param {boolean=} params.supportsTeamDrives Whether the requesting application supports Team Drives. + * @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 + */ + trash(params?: Params$Resource$Files$Trash, options?: MethodOptions): AxiosPromise; + trash(params: Params$Resource$Files$Trash, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + trash(params: Params$Resource$Files$Trash, callback: BodyResponseCallback): void; + trash(callback: BodyResponseCallback): void; + /** + * drive.files.untrash + * @desc Restores a file from the trash. + * @alias drive.files.untrash + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.fileId The ID of the file to untrash. + * @param {boolean=} params.supportsTeamDrives Whether the requesting application supports Team Drives. + * @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 + */ + untrash(params?: Params$Resource$Files$Untrash, options?: MethodOptions): AxiosPromise; + untrash(params: Params$Resource$Files$Untrash, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + untrash(params: Params$Resource$Files$Untrash, callback: BodyResponseCallback): void; + untrash(callback: BodyResponseCallback): void; + /** + * drive.files.update + * @desc Updates file metadata and/or content. + * @alias drive.files.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.addParents Comma-separated list of parent IDs to add. + * @param {boolean=} params.convert This parameter is deprecated and has no function. + * @param {string} params.fileId The ID of the file to update. + * @param {string=} params.modifiedDateBehavior Determines the behavior in which modifiedDate is updated. This overrides setModifiedDate. + * @param {boolean=} params.newRevision Whether a blob upload should create a new revision. If false, the blob data in the current head revision is replaced. If true or not set, a new blob is created as head revision, and previous unpinned revisions are preserved for a short period of time. Pinned revisions are stored indefinitely, using additional storage quota, up to a maximum of 200 revisions. For details on how revisions are retained, see the Drive Help Center. + * @param {boolean=} params.ocr Whether to attempt OCR on .jpg, .png, .gif, or .pdf uploads. + * @param {string=} params.ocrLanguage If ocr is true, hints at the language to use. Valid values are BCP 47 codes. + * @param {boolean=} params.pinned Whether to pin the new revision. A file can have a maximum of 200 pinned revisions. + * @param {string=} params.removeParents Comma-separated list of parent IDs to remove. + * @param {boolean=} params.setModifiedDate Whether to set the modified date using the value supplied in the request body. Setting this field to true is equivalent to modifiedDateBehavior=fromBodyOrNow, and false is equivalent to modifiedDateBehavior=now. To prevent any changes to the modified date set modifiedDateBehavior=noChange. + * @param {boolean=} params.supportsTeamDrives Whether the requesting application supports Team Drives. + * @param {string=} params.timedTextLanguage The language of the timed text. + * @param {string=} params.timedTextTrackName The timed text track name. + * @param {boolean=} params.updateViewedDate Whether to update the view date after successfully updating the file. + * @param {boolean=} params.useContentAsIndexableText Whether to use the content as indexable text. + * @param {object} params.resource Media resource metadata + * @param {object} params.media Media object + * @param {string} params.media.mimeType Media mime-type + * @param {string|object} params.media.body Media body contents + * @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?: Params$Resource$Files$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Files$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Files$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + /** + * drive.files.watch + * @desc Subscribe to changes on a file + * @alias drive.files.watch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.acknowledgeAbuse Whether the user is acknowledging the risk of downloading known malware or other abusive files. + * @param {string} params.fileId The ID for the file in question. + * @param {string=} params.projection This parameter is deprecated and has no function. + * @param {string=} params.revisionId Specifies the Revision ID that should be downloaded. Ignored unless alt=media is specified. + * @param {boolean=} params.supportsTeamDrives Whether the requesting application supports Team Drives. + * @param {boolean=} params.updateViewedDate Deprecated: Use files.update with modifiedDateBehavior=noChange, updateViewedDate=true and an empty request body. + * @param {().Channel} 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 + */ + watch(params?: Params$Resource$Files$Watch, options?: MethodOptions): AxiosPromise; + watch(params: Params$Resource$Files$Watch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + watch(params: Params$Resource$Files$Watch, callback: BodyResponseCallback): void; + watch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Files$Copy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Whether to convert this file to the corresponding Google Docs format. + */ + convert?: boolean; + /** + * The ID of the file to copy. + */ + fileId?: string; + /** + * Whether to attempt OCR on .jpg, .png, .gif, or .pdf uploads. + */ + ocr?: boolean; + /** + * If ocr is true, hints at the language to use. Valid values are BCP 47 + * codes. + */ + ocrLanguage?: string; + /** + * Whether to pin the head revision of the new copy. A file can have a + * maximum of 200 pinned revisions. + */ + pinned?: boolean; + /** + * Whether the requesting application supports Team Drives. + */ + supportsTeamDrives?: boolean; + /** + * The language of the timed text. + */ + timedTextLanguage?: string; + /** + * The timed text track name. + */ + timedTextTrackName?: string; + /** + * The visibility of the new file. This parameter is only relevant when the + * source is not a native Google Doc and convert=false. + */ + visibility?: string; + /** + * Request body metadata + */ + requestBody?: Schema$File; + } + interface Params$Resource$Files$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the file to delete. + */ + fileId?: string; + /** + * Whether the requesting application supports Team Drives. + */ + supportsTeamDrives?: boolean; + } + interface Params$Resource$Files$Emptytrash { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } + interface Params$Resource$Files$Export { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the file. + */ + fileId?: string; + /** + * The MIME type of the format requested for this export. + */ + mimeType?: string; + } + interface Params$Resource$Files$Generateids { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Maximum number of IDs to return. + */ + maxResults?: number; + /** + * The space in which the IDs can be used to create new files. Supported + * values are 'drive' and 'appDataFolder'. + */ + space?: string; + } + interface Params$Resource$Files$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Whether the user is acknowledging the risk of downloading known malware + * or other abusive files. + */ + acknowledgeAbuse?: boolean; + /** + * The ID for the file in question. + */ + fileId?: string; + /** + * This parameter is deprecated and has no function. + */ + projection?: string; + /** + * Specifies the Revision ID that should be downloaded. Ignored unless + * alt=media is specified. + */ + revisionId?: string; + /** + * Whether the requesting application supports Team Drives. + */ + supportsTeamDrives?: boolean; + /** + * Deprecated: Use files.update with modifiedDateBehavior=noChange, + * updateViewedDate=true and an empty request body. + */ + updateViewedDate?: boolean; + } + interface Params$Resource$Files$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Whether to convert this file to the corresponding Google Docs format. + */ + convert?: boolean; + /** + * Whether to attempt OCR on .jpg, .png, .gif, or .pdf uploads. + */ + ocr?: boolean; + /** + * If ocr is true, hints at the language to use. Valid values are BCP 47 + * codes. + */ + ocrLanguage?: string; + /** + * Whether to pin the head revision of the uploaded file. A file can have a + * maximum of 200 pinned revisions. + */ + pinned?: boolean; + /** + * Whether the requesting application supports Team Drives. + */ + supportsTeamDrives?: boolean; + /** + * The language of the timed text. + */ + timedTextLanguage?: string; + /** + * The timed text track name. + */ + timedTextTrackName?: string; + /** + * Whether to use the content as indexable text. + */ + useContentAsIndexableText?: boolean; + /** + * The visibility of the new file. This parameter is only relevant when + * convert=false. + */ + visibility?: string; + /** + * Request body metadata + */ + requestBody?: Schema$File; + /** + * Media metadata + */ + media?: { + /** + * Media mime-type + */ + mediaType?: string; + /** + * Media body contents + */ + body?: any; + }; + } + interface Params$Resource$Files$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Comma-separated list of bodies of items (files/documents) to which the + * query applies. Supported bodies are 'default', 'domain', 'teamDrive' and + * 'allTeamDrives'. 'allTeamDrives' must be combined with 'default'; all + * other values must be used in isolation. Prefer 'default' or 'teamDrive' + * to 'allTeamDrives' for efficiency. + */ + corpora?: string; + /** + * The body of items (files/documents) to which the query applies. + * Deprecated: use 'corpora' instead. + */ + corpus?: string; + /** + * Whether Team Drive items should be included in results. + */ + includeTeamDriveItems?: boolean; + /** + * The maximum number of files to return per page. Partial or empty result + * pages are possible even before the end of the files list has been + * reached. + */ + maxResults?: number; + /** + * A comma-separated list of sort keys. Valid keys are 'createdDate', + * 'folder', 'lastViewedByMeDate', 'modifiedByMeDate', 'modifiedDate', + * 'quotaBytesUsed', 'recency', 'sharedWithMeDate', 'starred', 'title', and + * 'title_natural'. Each key sorts ascending by default, but may be reversed + * with the 'desc' modifier. Example usage: ?orderBy=folder,modifiedDate + * desc,title. Please note that there is a current limitation for users with + * approximately one million files in which the requested sort order is + * ignored. + */ + orderBy?: string; + /** + * Page token for files. + */ + pageToken?: string; + /** + * This parameter is deprecated and has no function. + */ + projection?: string; + /** + * Query string for searching files. + */ + q?: string; + /** + * A comma-separated list of spaces to query. Supported values are 'drive', + * 'appDataFolder' and 'photos'. + */ + spaces?: string; + /** + * Whether the requesting application supports Team Drives. + */ + supportsTeamDrives?: boolean; + /** + * ID of Team Drive to search. + */ + teamDriveId?: string; + } + interface Params$Resource$Files$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Comma-separated list of parent IDs to add. + */ + addParents?: string; + /** + * This parameter is deprecated and has no function. + */ + convert?: boolean; + /** + * The ID of the file to update. + */ + fileId?: string; + /** + * Determines the behavior in which modifiedDate is updated. This overrides + * setModifiedDate. + */ + modifiedDateBehavior?: string; + /** + * Whether a blob upload should create a new revision. If false, the blob + * data in the current head revision is replaced. If true or not set, a new + * blob is created as head revision, and previous unpinned revisions are + * preserved for a short period of time. Pinned revisions are stored + * indefinitely, using additional storage quota, up to a maximum of 200 + * revisions. For details on how revisions are retained, see the Drive Help + * Center. + */ + newRevision?: boolean; + /** + * Whether to attempt OCR on .jpg, .png, .gif, or .pdf uploads. + */ + ocr?: boolean; + /** + * If ocr is true, hints at the language to use. Valid values are BCP 47 + * codes. + */ + ocrLanguage?: string; + /** + * Whether to pin the new revision. A file can have a maximum of 200 pinned + * revisions. + */ + pinned?: boolean; + /** + * Comma-separated list of parent IDs to remove. + */ + removeParents?: string; + /** + * Whether to set the modified date using the value supplied in the request + * body. Setting this field to true is equivalent to + * modifiedDateBehavior=fromBodyOrNow, and false is equivalent to + * modifiedDateBehavior=now. To prevent any changes to the modified date set + * modifiedDateBehavior=noChange. + */ + setModifiedDate?: boolean; + /** + * Whether the requesting application supports Team Drives. + */ + supportsTeamDrives?: boolean; + /** + * The language of the timed text. + */ + timedTextLanguage?: string; + /** + * The timed text track name. + */ + timedTextTrackName?: string; + /** + * Whether to update the view date after successfully updating the file. + */ + updateViewedDate?: boolean; + /** + * Whether to use the content as indexable text. + */ + useContentAsIndexableText?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$File; + } + interface Params$Resource$Files$Touch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the file to update. + */ + fileId?: string; + /** + * Whether the requesting application supports Team Drives. + */ + supportsTeamDrives?: boolean; + } + interface Params$Resource$Files$Trash { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the file to trash. + */ + fileId?: string; + /** + * Whether the requesting application supports Team Drives. + */ + supportsTeamDrives?: boolean; + } + interface Params$Resource$Files$Untrash { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the file to untrash. + */ + fileId?: string; + /** + * Whether the requesting application supports Team Drives. + */ + supportsTeamDrives?: boolean; + } + interface Params$Resource$Files$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Comma-separated list of parent IDs to add. + */ + addParents?: string; + /** + * This parameter is deprecated and has no function. + */ + convert?: boolean; + /** + * The ID of the file to update. + */ + fileId?: string; + /** + * Determines the behavior in which modifiedDate is updated. This overrides + * setModifiedDate. + */ + modifiedDateBehavior?: string; + /** + * Whether a blob upload should create a new revision. If false, the blob + * data in the current head revision is replaced. If true or not set, a new + * blob is created as head revision, and previous unpinned revisions are + * preserved for a short period of time. Pinned revisions are stored + * indefinitely, using additional storage quota, up to a maximum of 200 + * revisions. For details on how revisions are retained, see the Drive Help + * Center. + */ + newRevision?: boolean; + /** + * Whether to attempt OCR on .jpg, .png, .gif, or .pdf uploads. + */ + ocr?: boolean; + /** + * If ocr is true, hints at the language to use. Valid values are BCP 47 + * codes. + */ + ocrLanguage?: string; + /** + * Whether to pin the new revision. A file can have a maximum of 200 pinned + * revisions. + */ + pinned?: boolean; + /** + * Comma-separated list of parent IDs to remove. + */ + removeParents?: string; + /** + * Whether to set the modified date using the value supplied in the request + * body. Setting this field to true is equivalent to + * modifiedDateBehavior=fromBodyOrNow, and false is equivalent to + * modifiedDateBehavior=now. To prevent any changes to the modified date set + * modifiedDateBehavior=noChange. + */ + setModifiedDate?: boolean; + /** + * Whether the requesting application supports Team Drives. + */ + supportsTeamDrives?: boolean; + /** + * The language of the timed text. + */ + timedTextLanguage?: string; + /** + * The timed text track name. + */ + timedTextTrackName?: string; + /** + * Whether to update the view date after successfully updating the file. + */ + updateViewedDate?: boolean; + /** + * Whether to use the content as indexable text. + */ + useContentAsIndexableText?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$File; + /** + * Media metadata + */ + media?: { + /** + * Media mime-type + */ + mediaType?: string; + /** + * Media body contents + */ + body?: any; + }; + } + interface Params$Resource$Files$Watch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Whether the user is acknowledging the risk of downloading known malware + * or other abusive files. + */ + acknowledgeAbuse?: boolean; + /** + * The ID for the file in question. + */ + fileId?: string; + /** + * This parameter is deprecated and has no function. + */ + projection?: string; + /** + * Specifies the Revision ID that should be downloaded. Ignored unless + * alt=media is specified. + */ + revisionId?: string; + /** + * Whether the requesting application supports Team Drives. + */ + supportsTeamDrives?: boolean; + /** + * Deprecated: Use files.update with modifiedDateBehavior=noChange, + * updateViewedDate=true and an empty request body. + */ + updateViewedDate?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$Channel; + } + class Resource$Parents { + root: Drive; + constructor(root: Drive); + getRoot(): Drive; + /** + * drive.parents.delete + * @desc Removes a parent from a file. + * @alias drive.parents.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.fileId The ID of the file. + * @param {string} params.parentId The ID of the parent. + * @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?: Params$Resource$Parents$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Parents$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Parents$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * drive.parents.get + * @desc Gets a specific parent reference. + * @alias drive.parents.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.fileId The ID of the file. + * @param {string} params.parentId The ID of the parent. + * @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?: Params$Resource$Parents$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Parents$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Parents$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * drive.parents.insert + * @desc Adds a parent folder for a file. + * @alias drive.parents.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.fileId The ID of the file. + * @param {boolean=} params.supportsTeamDrives Whether the requesting application supports Team Drives. + * @param {().ParentReference} 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?: Params$Resource$Parents$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Parents$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Parents$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * drive.parents.list + * @desc Lists a file's parents. + * @alias drive.parents.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.fileId The ID of the file. + * @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?: Params$Resource$Parents$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Parents$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Parents$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Parents$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the file. + */ + fileId?: string; + /** + * The ID of the parent. + */ + parentId?: string; + } + interface Params$Resource$Parents$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the file. + */ + fileId?: string; + /** + * The ID of the parent. + */ + parentId?: string; + } + interface Params$Resource$Parents$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the file. + */ + fileId?: string; + /** + * Whether the requesting application supports Team Drives. + */ + supportsTeamDrives?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$ParentReference; + } + interface Params$Resource$Parents$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the file. + */ + fileId?: string; + } + class Resource$Permissions { + root: Drive; + constructor(root: Drive); + getRoot(): Drive; + /** + * drive.permissions.delete + * @desc Deletes a permission from a file or Team Drive. + * @alias drive.permissions.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.fileId The ID for the file or Team Drive. + * @param {string} params.permissionId The ID for the permission. + * @param {boolean=} params.supportsTeamDrives Whether the requesting application supports Team Drives. + * @param {boolean=} params.useDomainAdminAccess Issue the request as a domain administrator; if set to true, then the requester will be granted access if they are an administrator of the domain to which the item belongs. + * @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?: Params$Resource$Permissions$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Permissions$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Permissions$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * drive.permissions.get + * @desc Gets a permission by ID. + * @alias drive.permissions.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.fileId The ID for the file or Team Drive. + * @param {string} params.permissionId The ID for the permission. + * @param {boolean=} params.supportsTeamDrives Whether the requesting application supports Team Drives. + * @param {boolean=} params.useDomainAdminAccess Issue the request as a domain administrator; if set to true, then the requester will be granted access if they are an administrator of the domain to which the item belongs. + * @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?: Params$Resource$Permissions$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Permissions$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Permissions$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * drive.permissions.getIdForEmail + * @desc Returns the permission ID for an email address. + * @alias drive.permissions.getIdForEmail + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.email The email address for which to return a permission ID + * @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 + */ + getIdForEmail(params?: Params$Resource$Permissions$Getidforemail, options?: MethodOptions): AxiosPromise; + getIdForEmail(params: Params$Resource$Permissions$Getidforemail, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIdForEmail(params: Params$Resource$Permissions$Getidforemail, callback: BodyResponseCallback): void; + getIdForEmail(callback: BodyResponseCallback): void; + /** + * drive.permissions.insert + * @desc Inserts a permission for a file or Team Drive. + * @alias drive.permissions.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.emailMessage A plain text custom message to include in notification emails. + * @param {string} params.fileId The ID for the file or Team Drive. + * @param {boolean=} params.sendNotificationEmails Whether to send notification emails when sharing to users or groups. This parameter is ignored and an email is sent if the role is owner. + * @param {boolean=} params.supportsTeamDrives Whether the requesting application supports Team Drives. + * @param {boolean=} params.useDomainAdminAccess Issue the request as a domain administrator; if set to true, then the requester will be granted access if they are an administrator of the domain to which the item belongs. + * @param {().Permission} 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?: Params$Resource$Permissions$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Permissions$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Permissions$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * drive.permissions.list + * @desc Lists a file's or Team Drive's permissions. + * @alias drive.permissions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.fileId The ID for the file or Team Drive. + * @param {integer=} params.maxResults The maximum number of permissions to return per page. When not set for files in a Team Drive, at most 100 results will be returned. When not set for files that are not in a Team Drive, the entire list will be returned. + * @param {string=} params.pageToken The token for continuing a previous list request on the next page. This should be set to the value of 'nextPageToken' from the previous response. + * @param {boolean=} params.supportsTeamDrives Whether the requesting application supports Team Drives. + * @param {boolean=} params.useDomainAdminAccess Issue the request as a domain administrator; if set to true, then the requester will be granted access if they are an administrator of the domain to which the item belongs. + * @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?: Params$Resource$Permissions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Permissions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Permissions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * drive.permissions.patch + * @desc Updates a permission using patch semantics. + * @alias drive.permissions.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.fileId The ID for the file or Team Drive. + * @param {string} params.permissionId The ID for the permission. + * @param {boolean=} params.removeExpiration Whether to remove the expiration date. + * @param {boolean=} params.supportsTeamDrives Whether the requesting application supports Team Drives. + * @param {boolean=} params.transferOwnership Whether changing a role to 'owner' downgrades the current owners to writers. Does nothing if the specified role is not 'owner'. + * @param {boolean=} params.useDomainAdminAccess Issue the request as a domain administrator; if set to true, then the requester will be granted access if they are an administrator of the domain to which the item belongs. + * @param {().Permission} 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 + */ + patch(params?: Params$Resource$Permissions$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Permissions$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Permissions$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * drive.permissions.update + * @desc Updates a permission. + * @alias drive.permissions.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.fileId The ID for the file or Team Drive. + * @param {string} params.permissionId The ID for the permission. + * @param {boolean=} params.removeExpiration Whether to remove the expiration date. + * @param {boolean=} params.supportsTeamDrives Whether the requesting application supports Team Drives. + * @param {boolean=} params.transferOwnership Whether changing a role to 'owner' downgrades the current owners to writers. Does nothing if the specified role is not 'owner'. + * @param {boolean=} params.useDomainAdminAccess Issue the request as a domain administrator; if set to true, then the requester will be granted access if they are an administrator of the domain to which the item belongs. + * @param {().Permission} 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?: Params$Resource$Permissions$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Permissions$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Permissions$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Permissions$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID for the file or Team Drive. + */ + fileId?: string; + /** + * The ID for the permission. + */ + permissionId?: string; + /** + * Whether the requesting application supports Team Drives. + */ + supportsTeamDrives?: boolean; + /** + * Issue the request as a domain administrator; if set to true, then the + * requester will be granted access if they are an administrator of the + * domain to which the item belongs. + */ + useDomainAdminAccess?: boolean; + } + interface Params$Resource$Permissions$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID for the file or Team Drive. + */ + fileId?: string; + /** + * The ID for the permission. + */ + permissionId?: string; + /** + * Whether the requesting application supports Team Drives. + */ + supportsTeamDrives?: boolean; + /** + * Issue the request as a domain administrator; if set to true, then the + * requester will be granted access if they are an administrator of the + * domain to which the item belongs. + */ + useDomainAdminAccess?: boolean; + } + interface Params$Resource$Permissions$Getidforemail { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The email address for which to return a permission ID + */ + email?: string; + } + interface Params$Resource$Permissions$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A plain text custom message to include in notification emails. + */ + emailMessage?: string; + /** + * The ID for the file or Team Drive. + */ + fileId?: string; + /** + * Whether to send notification emails when sharing to users or groups. This + * parameter is ignored and an email is sent if the role is owner. + */ + sendNotificationEmails?: boolean; + /** + * Whether the requesting application supports Team Drives. + */ + supportsTeamDrives?: boolean; + /** + * Issue the request as a domain administrator; if set to true, then the + * requester will be granted access if they are an administrator of the + * domain to which the item belongs. + */ + useDomainAdminAccess?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$Permission; + } + interface Params$Resource$Permissions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID for the file or Team Drive. + */ + fileId?: string; + /** + * The maximum number of permissions to return per page. When not set for + * files in a Team Drive, at most 100 results will be returned. When not set + * for files that are not in a Team Drive, the entire list will be returned. + */ + maxResults?: number; + /** + * The token for continuing a previous list request on the next page. This + * should be set to the value of 'nextPageToken' from the previous response. + */ + pageToken?: string; + /** + * Whether the requesting application supports Team Drives. + */ + supportsTeamDrives?: boolean; + /** + * Issue the request as a domain administrator; if set to true, then the + * requester will be granted access if they are an administrator of the + * domain to which the item belongs. + */ + useDomainAdminAccess?: boolean; + } + interface Params$Resource$Permissions$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID for the file or Team Drive. + */ + fileId?: string; + /** + * The ID for the permission. + */ + permissionId?: string; + /** + * Whether to remove the expiration date. + */ + removeExpiration?: boolean; + /** + * Whether the requesting application supports Team Drives. + */ + supportsTeamDrives?: boolean; + /** + * Whether changing a role to 'owner' downgrades the current owners to + * writers. Does nothing if the specified role is not 'owner'. + */ + transferOwnership?: boolean; + /** + * Issue the request as a domain administrator; if set to true, then the + * requester will be granted access if they are an administrator of the + * domain to which the item belongs. + */ + useDomainAdminAccess?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$Permission; + } + interface Params$Resource$Permissions$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID for the file or Team Drive. + */ + fileId?: string; + /** + * The ID for the permission. + */ + permissionId?: string; + /** + * Whether to remove the expiration date. + */ + removeExpiration?: boolean; + /** + * Whether the requesting application supports Team Drives. + */ + supportsTeamDrives?: boolean; + /** + * Whether changing a role to 'owner' downgrades the current owners to + * writers. Does nothing if the specified role is not 'owner'. + */ + transferOwnership?: boolean; + /** + * Issue the request as a domain administrator; if set to true, then the + * requester will be granted access if they are an administrator of the + * domain to which the item belongs. + */ + useDomainAdminAccess?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$Permission; + } + class Resource$Properties { + root: Drive; + constructor(root: Drive); + getRoot(): Drive; + /** + * drive.properties.delete + * @desc Deletes a property. + * @alias drive.properties.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.fileId The ID of the file. + * @param {string} params.propertyKey The key of the property. + * @param {string=} params.visibility The visibility of the property. + * @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?: Params$Resource$Properties$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Properties$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Properties$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * drive.properties.get + * @desc Gets a property by its key. + * @alias drive.properties.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.fileId The ID of the file. + * @param {string} params.propertyKey The key of the property. + * @param {string=} params.visibility The visibility of the property. + * @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?: Params$Resource$Properties$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Properties$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Properties$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * drive.properties.insert + * @desc Adds a property to a file, or updates it if it already exists. + * @alias drive.properties.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.fileId The ID of the file. + * @param {().Property} 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?: Params$Resource$Properties$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Properties$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Properties$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * drive.properties.list + * @desc Lists a file's properties. + * @alias drive.properties.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.fileId The ID of the file. + * @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?: Params$Resource$Properties$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Properties$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Properties$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * drive.properties.patch + * @desc Updates a property. + * @alias drive.properties.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.fileId The ID of the file. + * @param {string} params.propertyKey The key of the property. + * @param {string=} params.visibility The visibility of the property. Allowed values are PRIVATE and PUBLIC. (Default: PRIVATE) + * @param {().Property} 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 + */ + patch(params?: Params$Resource$Properties$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Properties$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Properties$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * drive.properties.update + * @desc Updates a property. + * @alias drive.properties.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.fileId The ID of the file. + * @param {string} params.propertyKey The key of the property. + * @param {string=} params.visibility The visibility of the property. Allowed values are PRIVATE and PUBLIC. (Default: PRIVATE) + * @param {().Property} 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?: Params$Resource$Properties$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Properties$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Properties$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Properties$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the file. + */ + fileId?: string; + /** + * The key of the property. + */ + propertyKey?: string; + /** + * The visibility of the property. + */ + visibility?: string; + } + interface Params$Resource$Properties$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the file. + */ + fileId?: string; + /** + * The key of the property. + */ + propertyKey?: string; + /** + * The visibility of the property. + */ + visibility?: string; + } + interface Params$Resource$Properties$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the file. + */ + fileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Property; + } + interface Params$Resource$Properties$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the file. + */ + fileId?: string; + } + interface Params$Resource$Properties$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the file. + */ + fileId?: string; + /** + * The key of the property. + */ + propertyKey?: string; + /** + * The visibility of the property. Allowed values are PRIVATE and PUBLIC. + * (Default: PRIVATE) + */ + visibility?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Property; + } + interface Params$Resource$Properties$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the file. + */ + fileId?: string; + /** + * The key of the property. + */ + propertyKey?: string; + /** + * The visibility of the property. Allowed values are PRIVATE and PUBLIC. + * (Default: PRIVATE) + */ + visibility?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Property; + } + class Resource$Realtime { + root: Drive; + constructor(root: Drive); + getRoot(): Drive; + /** + * drive.realtime.get + * @desc Exports the contents of the Realtime API data model associated with + * this file as JSON. + * @alias drive.realtime.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.fileId The ID of the file that the Realtime API data model is associated with. + * @param {integer=} params.revision The revision of the Realtime API data model to export. Revisions start at 1 (the initial empty data model) and are incremented with each change. If this parameter is excluded, the most recent data model will be returned. + * @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?: Params$Resource$Realtime$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Realtime$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Realtime$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * drive.realtime.update + * @desc Overwrites the Realtime API data model associated with this file + * with the provided JSON data model. + * @alias drive.realtime.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.baseRevision The revision of the model to diff the uploaded model against. If set, the uploaded model is diffed against the provided revision and those differences are merged with any changes made to the model after the provided revision. If not set, the uploaded model replaces the current model on the server. + * @param {string} params.fileId The ID of the file that the Realtime API data model is associated with. + * @param {object} params.media Media object + * @param {string} params.media.mimeType Media mime-type + * @param {string|object} params.media.body Media body contents + * @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?: Params$Resource$Realtime$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Realtime$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Realtime$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Realtime$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the file that the Realtime API data model is associated with. + */ + fileId?: string; + /** + * The revision of the Realtime API data model to export. Revisions start at + * 1 (the initial empty data model) and are incremented with each change. If + * this parameter is excluded, the most recent data model will be returned. + */ + revision?: number; + } + interface Params$Resource$Realtime$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The revision of the model to diff the uploaded model against. If set, the + * uploaded model is diffed against the provided revision and those + * differences are merged with any changes made to the model after the + * provided revision. If not set, the uploaded model replaces the current + * model on the server. + */ + baseRevision?: string; + /** + * The ID of the file that the Realtime API data model is associated with. + */ + fileId?: string; + /** + * Media metadata + */ + media?: { + /** + * Media mime-type + */ + mediaType?: string; + /** + * Media body contents + */ + body?: any; + }; + } + class Resource$Replies { + root: Drive; + constructor(root: Drive); + getRoot(): Drive; + /** + * drive.replies.delete + * @desc Deletes a reply. + * @alias drive.replies.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.commentId The ID of the comment. + * @param {string} params.fileId The ID of the file. + * @param {string} params.replyId The ID of the reply. + * @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?: Params$Resource$Replies$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Replies$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Replies$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * drive.replies.get + * @desc Gets a reply. + * @alias drive.replies.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.commentId The ID of the comment. + * @param {string} params.fileId The ID of the file. + * @param {boolean=} params.includeDeleted If set, this will succeed when retrieving a deleted reply. + * @param {string} params.replyId The ID of the reply. + * @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?: Params$Resource$Replies$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Replies$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Replies$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * drive.replies.insert + * @desc Creates a new reply to the given comment. + * @alias drive.replies.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.commentId The ID of the comment. + * @param {string} params.fileId The ID of the file. + * @param {().CommentReply} 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?: Params$Resource$Replies$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Replies$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Replies$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * drive.replies.list + * @desc Lists all of the replies to a comment. + * @alias drive.replies.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.commentId The ID of the comment. + * @param {string} params.fileId The ID of the file. + * @param {boolean=} params.includeDeleted If set, all replies, including deleted replies (with content stripped) will be returned. + * @param {integer=} params.maxResults The maximum number of replies to include in the response, used for paging. + * @param {string=} params.pageToken The continuation token, used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response. + * @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?: Params$Resource$Replies$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Replies$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Replies$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * drive.replies.patch + * @desc Updates an existing reply. This method supports patch semantics. + * @alias drive.replies.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.commentId The ID of the comment. + * @param {string} params.fileId The ID of the file. + * @param {string} params.replyId The ID of the reply. + * @param {().CommentReply} 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 + */ + patch(params?: Params$Resource$Replies$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Replies$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Replies$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * drive.replies.update + * @desc Updates an existing reply. + * @alias drive.replies.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.commentId The ID of the comment. + * @param {string} params.fileId The ID of the file. + * @param {string} params.replyId The ID of the reply. + * @param {().CommentReply} 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?: Params$Resource$Replies$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Replies$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Replies$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Replies$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the comment. + */ + commentId?: string; + /** + * The ID of the file. + */ + fileId?: string; + /** + * The ID of the reply. + */ + replyId?: string; + } + interface Params$Resource$Replies$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the comment. + */ + commentId?: string; + /** + * The ID of the file. + */ + fileId?: string; + /** + * If set, this will succeed when retrieving a deleted reply. + */ + includeDeleted?: boolean; + /** + * The ID of the reply. + */ + replyId?: string; + } + interface Params$Resource$Replies$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the comment. + */ + commentId?: string; + /** + * The ID of the file. + */ + fileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CommentReply; + } + interface Params$Resource$Replies$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the comment. + */ + commentId?: string; + /** + * The ID of the file. + */ + fileId?: string; + /** + * If set, all replies, including deleted replies (with content stripped) + * will be returned. + */ + includeDeleted?: boolean; + /** + * The maximum number of replies to include in the response, used for + * paging. + */ + maxResults?: number; + /** + * The continuation token, used to page through large result sets. To get + * the next page of results, set this parameter to the value of + * "nextPageToken" from the previous response. + */ + pageToken?: string; + } + interface Params$Resource$Replies$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the comment. + */ + commentId?: string; + /** + * The ID of the file. + */ + fileId?: string; + /** + * The ID of the reply. + */ + replyId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CommentReply; + } + interface Params$Resource$Replies$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the comment. + */ + commentId?: string; + /** + * The ID of the file. + */ + fileId?: string; + /** + * The ID of the reply. + */ + replyId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CommentReply; + } + class Resource$Revisions { + root: Drive; + constructor(root: Drive); + getRoot(): Drive; + /** + * drive.revisions.delete + * @desc Removes a revision. + * @alias drive.revisions.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.fileId The ID of the file. + * @param {string} params.revisionId The ID of the revision. + * @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?: Params$Resource$Revisions$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Revisions$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Revisions$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * drive.revisions.get + * @desc Gets a specific revision. + * @alias drive.revisions.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.fileId The ID of the file. + * @param {string} params.revisionId The ID of the revision. + * @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?: Params$Resource$Revisions$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Revisions$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Revisions$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * drive.revisions.list + * @desc Lists a file's revisions. + * @alias drive.revisions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.fileId The ID of the file. + * @param {integer=} params.maxResults Maximum number of revisions to return. + * @param {string=} params.pageToken Page token for revisions. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response. + * @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?: Params$Resource$Revisions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Revisions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Revisions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * drive.revisions.patch + * @desc Updates a revision. This method supports patch semantics. + * @alias drive.revisions.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.fileId The ID for the file. + * @param {string} params.revisionId The ID for the revision. + * @param {().Revision} 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 + */ + patch(params?: Params$Resource$Revisions$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Revisions$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Revisions$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * drive.revisions.update + * @desc Updates a revision. + * @alias drive.revisions.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.fileId The ID for the file. + * @param {string} params.revisionId The ID for the revision. + * @param {().Revision} 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?: Params$Resource$Revisions$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Revisions$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Revisions$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Revisions$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the file. + */ + fileId?: string; + /** + * The ID of the revision. + */ + revisionId?: string; + } + interface Params$Resource$Revisions$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the file. + */ + fileId?: string; + /** + * The ID of the revision. + */ + revisionId?: string; + } + interface Params$Resource$Revisions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the file. + */ + fileId?: string; + /** + * Maximum number of revisions to return. + */ + maxResults?: number; + /** + * Page token for revisions. To get the next page of results, set this + * parameter to the value of "nextPageToken" from the previous response. + */ + pageToken?: string; + } + interface Params$Resource$Revisions$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID for the file. + */ + fileId?: string; + /** + * The ID for the revision. + */ + revisionId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Revision; + } + interface Params$Resource$Revisions$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID for the file. + */ + fileId?: string; + /** + * The ID for the revision. + */ + revisionId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Revision; + } + class Resource$Teamdrives { + root: Drive; + constructor(root: Drive); + getRoot(): Drive; + /** + * drive.teamdrives.delete + * @desc Permanently deletes a Team Drive for which the user is an + * organizer. The Team Drive cannot contain any untrashed items. + * @alias drive.teamdrives.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.teamDriveId The ID of the Team Drive + * @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?: Params$Resource$Teamdrives$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Teamdrives$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Teamdrives$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * drive.teamdrives.get + * @desc Gets a Team Drive's metadata by ID. + * @alias drive.teamdrives.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.teamDriveId The ID of the Team Drive + * @param {boolean=} params.useDomainAdminAccess Issue the request as a domain administrator; if set to true, then the requester will be granted access if they are an administrator of the domain to which the Team Drive belongs. + * @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?: Params$Resource$Teamdrives$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Teamdrives$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Teamdrives$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * drive.teamdrives.insert + * @desc Creates a new Team Drive. + * @alias drive.teamdrives.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.requestId An ID, such as a random UUID, which uniquely identifies this user's request for idempotent creation of a Team Drive. A repeated request by the same user and with the same request ID will avoid creating duplicates by attempting to create the same Team Drive. If the Team Drive already exists a 409 error will be returned. + * @param {().TeamDrive} 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?: Params$Resource$Teamdrives$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Teamdrives$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Teamdrives$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * drive.teamdrives.list + * @desc Lists the user's Team Drives. + * @alias drive.teamdrives.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {integer=} params.maxResults Maximum number of Team Drives to return. + * @param {string=} params.pageToken Page token for Team Drives. + * @param {string=} params.q Query string for searching Team Drives. + * @param {boolean=} params.useDomainAdminAccess Issue the request as a domain administrator; if set to true, then all Team Drives of the domain in which the requester is an administrator are returned. + * @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?: Params$Resource$Teamdrives$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Teamdrives$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Teamdrives$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * drive.teamdrives.update + * @desc Updates a Team Drive's metadata + * @alias drive.teamdrives.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.teamDriveId The ID of the Team Drive + * @param {boolean=} params.useDomainAdminAccess Issue the request as a domain administrator; if set to true, then the requester will be granted access if they are an administrator of the domain to which the Team Drive belongs. + * @param {().TeamDrive} 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?: Params$Resource$Teamdrives$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Teamdrives$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Teamdrives$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Teamdrives$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the Team Drive + */ + teamDriveId?: string; + } + interface Params$Resource$Teamdrives$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the Team Drive + */ + teamDriveId?: string; + /** + * Issue the request as a domain administrator; if set to true, then the + * requester will be granted access if they are an administrator of the + * domain to which the Team Drive belongs. + */ + useDomainAdminAccess?: boolean; + } + interface Params$Resource$Teamdrives$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * An ID, such as a random UUID, which uniquely identifies this user's + * request for idempotent creation of a Team Drive. A repeated request by + * the same user and with the same request ID will avoid creating duplicates + * by attempting to create the same Team Drive. If the Team Drive already + * exists a 409 error will be returned. + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TeamDrive; + } + interface Params$Resource$Teamdrives$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Maximum number of Team Drives to return. + */ + maxResults?: number; + /** + * Page token for Team Drives. + */ + pageToken?: string; + /** + * Query string for searching Team Drives. + */ + q?: string; + /** + * Issue the request as a domain administrator; if set to true, then all + * Team Drives of the domain in which the requester is an administrator are + * returned. + */ + useDomainAdminAccess?: boolean; + } + interface Params$Resource$Teamdrives$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the Team Drive + */ + teamDriveId?: string; + /** + * Issue the request as a domain administrator; if set to true, then the + * requester will be granted access if they are an administrator of the + * domain to which the Team Drive belongs. + */ + useDomainAdminAccess?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$TeamDrive; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/drive/v2.js b/express-server/node_modules/googleapis/build/src/apis/drive/v2.js new file mode 100644 index 00000000..4a24ac62 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/drive/v2.js @@ -0,0 +1,2300 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var drive_v2; +(function (drive_v2) { + /** + * Drive API + * + * Manages files in Drive including uploading, downloading, searching, + * detecting changes, and updating sharing permissions. + * + * @example + * const {google} = require('googleapis'); + * const drive = google.drive('v2'); + * + * @namespace drive + * @type {Function} + * @version v2 + * @variation v2 + * @param {object=} options Options for Drive + */ + class Drive { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.about = new Resource$About(this); + this.apps = new Resource$Apps(this); + this.changes = new Resource$Changes(this); + this.channels = new Resource$Channels(this); + this.children = new Resource$Children(this); + this.comments = new Resource$Comments(this); + this.files = new Resource$Files(this); + this.parents = new Resource$Parents(this); + this.permissions = new Resource$Permissions(this); + this.properties = new Resource$Properties(this); + this.realtime = new Resource$Realtime(this); + this.replies = new Resource$Replies(this); + this.revisions = new Resource$Revisions(this); + this.teamdrives = new Resource$Teamdrives(this); + } + getRoot() { + return this.root; + } + } + drive_v2.Drive = Drive; + class Resource$About { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v2/about').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + drive_v2.Resource$About = Resource$About; + class Resource$Apps { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v2/apps/{appId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['appId'], + pathParams: ['appId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v2/apps').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + drive_v2.Resource$Apps = Resource$Apps; + class Resource$Changes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v2/changes/{changeId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['changeId'], + pathParams: ['changeId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getStartPageToken(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v2/changes/startPageToken') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v2/changes').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + watch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v2/changes/watch') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + drive_v2.Resource$Changes = Resource$Changes; + class Resource$Channels { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + stop(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v2/channels/stop') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + drive_v2.Resource$Channels = Resource$Channels; + class Resource$Children { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v2/files/{folderId}/children/{childId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['folderId', 'childId'], + pathParams: ['childId', 'folderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v2/files/{folderId}/children/{childId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['folderId', 'childId'], + pathParams: ['childId', 'folderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v2/files/{folderId}/children') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['folderId'], + pathParams: ['folderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v2/files/{folderId}/children') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['folderId'], + pathParams: ['folderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + drive_v2.Resource$Children = Resource$Children; + class Resource$Comments { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v2/files/{fileId}/comments/{commentId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['fileId', 'commentId'], + pathParams: ['commentId', 'fileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v2/files/{fileId}/comments/{commentId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['fileId', 'commentId'], + pathParams: ['commentId', 'fileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v2/files/{fileId}/comments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['fileId'], + pathParams: ['fileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v2/files/{fileId}/comments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['fileId'], + pathParams: ['fileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v2/files/{fileId}/comments/{commentId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['fileId', 'commentId'], + pathParams: ['commentId', 'fileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v2/files/{fileId}/comments/{commentId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['fileId', 'commentId'], + pathParams: ['commentId', 'fileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + drive_v2.Resource$Comments = Resource$Comments; + class Resource$Files { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + copy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v2/files/{fileId}/copy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['fileId'], + pathParams: ['fileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v2/files/{fileId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['fileId'], + pathParams: ['fileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + emptyTrash(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v2/files/trash') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + export(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v2/files/{fileId}/export') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['fileId', 'mimeType'], + pathParams: ['fileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + generateIds(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v2/files/generateIds') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v2/files/{fileId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['fileId'], + pathParams: ['fileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v2/files').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + mediaUrl: (rootUrl + '/upload/drive/v2/files').replace(/([^:]\/)\/+/g, '$1'), + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v2/files').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v2/files/{fileId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['fileId'], + pathParams: ['fileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + touch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v2/files/{fileId}/touch') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['fileId'], + pathParams: ['fileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + trash(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v2/files/{fileId}/trash') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['fileId'], + pathParams: ['fileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + untrash(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v2/files/{fileId}/untrash') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['fileId'], + pathParams: ['fileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v2/files/{fileId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + mediaUrl: (rootUrl + '/upload/drive/v2/files/{fileId}') + .replace(/([^:]\/)\/+/g, '$1'), + requiredParams: ['fileId'], + pathParams: ['fileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + watch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v2/files/{fileId}/watch') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['fileId'], + pathParams: ['fileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + drive_v2.Resource$Files = Resource$Files; + class Resource$Parents { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v2/files/{fileId}/parents/{parentId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['fileId', 'parentId'], + pathParams: ['fileId', 'parentId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v2/files/{fileId}/parents/{parentId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['fileId', 'parentId'], + pathParams: ['fileId', 'parentId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v2/files/{fileId}/parents') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['fileId'], + pathParams: ['fileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v2/files/{fileId}/parents') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['fileId'], + pathParams: ['fileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + drive_v2.Resource$Parents = Resource$Parents; + class Resource$Permissions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/drive/v2/files/{fileId}/permissions/{permissionId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['fileId', 'permissionId'], + pathParams: ['fileId', 'permissionId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/drive/v2/files/{fileId}/permissions/{permissionId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['fileId', 'permissionId'], + pathParams: ['fileId', 'permissionId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIdForEmail(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v2/permissionIds/{email}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['email'], + pathParams: ['email'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v2/files/{fileId}/permissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['fileId'], + pathParams: ['fileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v2/files/{fileId}/permissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['fileId'], + pathParams: ['fileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/drive/v2/files/{fileId}/permissions/{permissionId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['fileId', 'permissionId'], + pathParams: ['fileId', 'permissionId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/drive/v2/files/{fileId}/permissions/{permissionId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['fileId', 'permissionId'], + pathParams: ['fileId', 'permissionId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + drive_v2.Resource$Permissions = Resource$Permissions; + class Resource$Properties { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/drive/v2/files/{fileId}/properties/{propertyKey}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['fileId', 'propertyKey'], + pathParams: ['fileId', 'propertyKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/drive/v2/files/{fileId}/properties/{propertyKey}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['fileId', 'propertyKey'], + pathParams: ['fileId', 'propertyKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v2/files/{fileId}/properties') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['fileId'], + pathParams: ['fileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v2/files/{fileId}/properties') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['fileId'], + pathParams: ['fileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/drive/v2/files/{fileId}/properties/{propertyKey}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['fileId', 'propertyKey'], + pathParams: ['fileId', 'propertyKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/drive/v2/files/{fileId}/properties/{propertyKey}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['fileId', 'propertyKey'], + pathParams: ['fileId', 'propertyKey'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + drive_v2.Resource$Properties = Resource$Properties; + class Resource$Realtime { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v2/files/{fileId}/realtime') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['fileId'], + pathParams: ['fileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v2/files/{fileId}/realtime') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + mediaUrl: (rootUrl + '/upload/drive/v2/files/{fileId}/realtime') + .replace(/([^:]\/)\/+/g, '$1'), + requiredParams: ['fileId'], + pathParams: ['fileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + drive_v2.Resource$Realtime = Resource$Realtime; + class Resource$Replies { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/drive/v2/files/{fileId}/comments/{commentId}/replies/{replyId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['fileId', 'commentId', 'replyId'], + pathParams: ['commentId', 'fileId', 'replyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/drive/v2/files/{fileId}/comments/{commentId}/replies/{replyId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['fileId', 'commentId', 'replyId'], + pathParams: ['commentId', 'fileId', 'replyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/drive/v2/files/{fileId}/comments/{commentId}/replies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['fileId', 'commentId'], + pathParams: ['commentId', 'fileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/drive/v2/files/{fileId}/comments/{commentId}/replies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['fileId', 'commentId'], + pathParams: ['commentId', 'fileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/drive/v2/files/{fileId}/comments/{commentId}/replies/{replyId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['fileId', 'commentId', 'replyId'], + pathParams: ['commentId', 'fileId', 'replyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/drive/v2/files/{fileId}/comments/{commentId}/replies/{replyId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['fileId', 'commentId', 'replyId'], + pathParams: ['commentId', 'fileId', 'replyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + drive_v2.Resource$Replies = Resource$Replies; + class Resource$Revisions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v2/files/{fileId}/revisions/{revisionId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['fileId', 'revisionId'], + pathParams: ['fileId', 'revisionId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v2/files/{fileId}/revisions/{revisionId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['fileId', 'revisionId'], + pathParams: ['fileId', 'revisionId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v2/files/{fileId}/revisions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['fileId'], + pathParams: ['fileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v2/files/{fileId}/revisions/{revisionId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['fileId', 'revisionId'], + pathParams: ['fileId', 'revisionId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v2/files/{fileId}/revisions/{revisionId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['fileId', 'revisionId'], + pathParams: ['fileId', 'revisionId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + drive_v2.Resource$Revisions = Resource$Revisions; + class Resource$Teamdrives { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v2/teamdrives/{teamDriveId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['teamDriveId'], + pathParams: ['teamDriveId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v2/teamdrives/{teamDriveId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['teamDriveId'], + pathParams: ['teamDriveId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v2/teamdrives') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['requestId'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v2/teamdrives') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v2/teamdrives/{teamDriveId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['teamDriveId'], + pathParams: ['teamDriveId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + drive_v2.Resource$Teamdrives = Resource$Teamdrives; +})(drive_v2 = exports.drive_v2 || (exports.drive_v2 = {})); +//# sourceMappingURL=v2.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/drive/v2.js.map b/express-server/node_modules/googleapis/build/src/apis/drive/v2.js.map new file mode 100644 index 00000000..84b851d3 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/drive/v2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v2.js","sourceRoot":"","sources":["../../../../src/apis/drive/v2.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/drive/v3.d.ts b/express-server/node_modules/googleapis/build/src/apis/drive/v3.d.ts new file mode 100644 index 00000000..05de8510 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/drive/v3.d.ts @@ -0,0 +1,2731 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace drive_v3 { + interface Options extends GlobalOptions { + version: 'v3'; + } + /** + * Drive API + * + * Manages files in Drive including uploading, downloading, searching, + * detecting changes, and updating sharing permissions. + * + * @example + * const {google} = require('googleapis'); + * const drive = google.drive('v3'); + * + * @namespace drive + * @type {Function} + * @version v3 + * @variation v3 + * @param {object=} options Options for Drive + */ + class Drive { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + about: Resource$About; + changes: Resource$Changes; + channels: Resource$Channels; + comments: Resource$Comments; + files: Resource$Files; + permissions: Resource$Permissions; + replies: Resource$Replies; + revisions: Resource$Revisions; + teamdrives: Resource$Teamdrives; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Information about the user, the user's Drive, and system capabilities. + */ + interface Schema$About { + /** + * Whether the user has installed the requesting app. + */ + appInstalled?: boolean; + /** + * Whether the user can create Team Drives. + */ + canCreateTeamDrives?: boolean; + /** + * A map of source MIME type to possible targets for all supported exports. + */ + exportFormats?: any; + /** + * The currently supported folder colors as RGB hex strings. + */ + folderColorPalette?: string[]; + /** + * A map of source MIME type to possible targets for all supported imports. + */ + importFormats?: any; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "drive#about". + */ + kind?: string; + /** + * A map of maximum import sizes by MIME type, in bytes. + */ + maxImportSizes?: any; + /** + * The maximum upload size in bytes. + */ + maxUploadSize?: string; + /** + * The user's storage quota limits and usage. All fields are measured in + * bytes. + */ + storageQuota?: any; + /** + * A list of themes that are supported for Team Drives. + */ + teamDriveThemes?: any[]; + /** + * The authenticated user. + */ + user?: Schema$User; + } + /** + * A change to a file or Team Drive. + */ + interface Schema$Change { + /** + * The updated state of the file. Present if the type is file and the file + * has not been removed from this list of changes. + */ + file?: Schema$File; + /** + * The ID of the file which has changed. + */ + fileId?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "drive#change". + */ + kind?: string; + /** + * Whether the file or Team Drive has been removed from this list of + * changes, for example by deletion or loss of access. + */ + removed?: boolean; + /** + * The updated state of the Team Drive. Present if the type is teamDrive, + * the user is still a member of the Team Drive, and the Team Drive has not + * been removed. + */ + teamDrive?: Schema$TeamDrive; + /** + * The ID of the Team Drive associated with this change. + */ + teamDriveId?: string; + /** + * The time of this change (RFC 3339 date-time). + */ + time?: string; + /** + * The type of the change. Possible values are file and teamDrive. + */ + type?: string; + } + /** + * A list of changes for a user. + */ + interface Schema$ChangeList { + /** + * The list of changes. If nextPageToken is populated, then this list may be + * incomplete and an additional page of results should be fetched. + */ + changes?: Schema$Change[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "drive#changeList". + */ + kind?: string; + /** + * The starting page token for future changes. This will be present only if + * the end of the current changes list has been reached. + */ + newStartPageToken?: string; + /** + * The page token for the next page of changes. This will be absent if the + * end of the changes list has been reached. If the token is rejected for + * any reason, it should be discarded, and pagination should be restarted + * from the first page of results. + */ + nextPageToken?: string; + } + /** + * An notification channel used to watch for resource changes. + */ + interface Schema$Channel { + /** + * The address where notifications are delivered for this channel. + */ + address?: string; + /** + * Date and time of notification channel expiration, expressed as a Unix + * timestamp, in milliseconds. Optional. + */ + expiration?: string; + /** + * A UUID or similar unique string that identifies this channel. + */ + id?: string; + /** + * Identifies this as a notification channel used to watch for changes to a + * resource. Value: the fixed string "api#channel". + */ + kind?: string; + /** + * Additional parameters controlling delivery channel behavior. Optional. + */ + params?: any; + /** + * A Boolean value to indicate whether payload is wanted. Optional. + */ + payload?: boolean; + /** + * An opaque ID that identifies the resource being watched on this channel. + * Stable across different API versions. + */ + resourceId?: string; + /** + * A version-specific identifier for the watched resource. + */ + resourceUri?: string; + /** + * An arbitrary string delivered to the target address with each + * notification delivered over this channel. Optional. + */ + token?: string; + /** + * The type of delivery mechanism used for this channel. + */ + type?: string; + } + /** + * A comment on a file. + */ + interface Schema$Comment { + /** + * A region of the document represented as a JSON string. See anchor + * documentation for details on how to define and interpret anchor + * properties. + */ + anchor?: string; + /** + * The user who created the comment. + */ + author?: Schema$User; + /** + * The plain text content of the comment. This field is used for setting the + * content, while htmlContent should be displayed. + */ + content?: string; + /** + * The time at which the comment was created (RFC 3339 date-time). + */ + createdTime?: string; + /** + * Whether the comment has been deleted. A deleted comment has no content. + */ + deleted?: boolean; + /** + * The content of the comment with HTML formatting. + */ + htmlContent?: string; + /** + * The ID of the comment. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "drive#comment". + */ + kind?: string; + /** + * The last time the comment or any of its replies was modified (RFC 3339 + * date-time). + */ + modifiedTime?: string; + /** + * The file content to which the comment refers, typically within the anchor + * region. For a text file, for example, this would be the text at the + * location of the comment. + */ + quotedFileContent?: any; + /** + * The full list of replies to the comment in chronological order. + */ + replies?: Schema$Reply[]; + /** + * Whether the comment has been resolved by one of its replies. + */ + resolved?: boolean; + } + /** + * A list of comments on a file. + */ + interface Schema$CommentList { + /** + * The list of comments. If nextPageToken is populated, then this list may + * be incomplete and an additional page of results should be fetched. + */ + comments?: Schema$Comment[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "drive#commentList". + */ + kind?: string; + /** + * The page token for the next page of comments. This will be absent if the + * end of the comments list has been reached. If the token is rejected for + * any reason, it should be discarded, and pagination should be restarted + * from the first page of results. + */ + nextPageToken?: string; + } + /** + * The metadata for a file. + */ + interface Schema$File { + /** + * A collection of arbitrary key-value pairs which are private to the + * requesting app. Entries with null values are cleared in update and copy + * requests. + */ + appProperties?: any; + /** + * Capabilities the current user has on this file. Each capability + * corresponds to a fine-grained action that a user may take. + */ + capabilities?: any; + /** + * Additional information about the content of the file. These fields are + * never populated in responses. + */ + contentHints?: any; + /** + * Whether the options to copy, print, or download this file, should be + * disabled for readers and commenters. + */ + copyRequiresWriterPermission?: boolean; + /** + * The time at which the file was created (RFC 3339 date-time). + */ + createdTime?: string; + /** + * A short description of the file. + */ + description?: string; + /** + * Whether the file has been explicitly trashed, as opposed to recursively + * trashed from a parent folder. + */ + explicitlyTrashed?: boolean; + /** + * The final component of fullFileExtension. This is only available for + * files with binary content in Drive. + */ + fileExtension?: string; + /** + * The color for a folder as an RGB hex string. The supported colors are + * published in the folderColorPalette field of the About resource. If an + * unsupported color is specified, the closest color in the palette will be + * used instead. + */ + folderColorRgb?: string; + /** + * The full file extension extracted from the name field. May contain + * multiple concatenated extensions, such as "tar.gz". This is + * only available for files with binary content in Drive. This is + * automatically updated when the name field changes, however it is not + * cleared if the new name does not contain a valid extension. + */ + fullFileExtension?: string; + /** + * Whether any users are granted file access directly on this file. This + * field is only populated for Team Drive files. + */ + hasAugmentedPermissions?: boolean; + /** + * Whether this file has a thumbnail. This does not indicate whether the + * requesting app has access to the thumbnail. To check access, look for the + * presence of the thumbnailLink field. + */ + hasThumbnail?: boolean; + /** + * The ID of the file's head revision. This is currently only available + * for files with binary content in Drive. + */ + headRevisionId?: string; + /** + * A static, unauthenticated link to the file's icon. + */ + iconLink?: string; + /** + * The ID of the file. + */ + id?: string; + /** + * Additional metadata about image media, if available. + */ + imageMediaMetadata?: any; + /** + * Whether the file was created or opened by the requesting app. + */ + isAppAuthorized?: boolean; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "drive#file". + */ + kind?: string; + /** + * The last user to modify the file. + */ + lastModifyingUser?: Schema$User; + /** + * The MD5 checksum for the content of the file. This is only applicable to + * files with binary content in Drive. + */ + md5Checksum?: string; + /** + * The MIME type of the file. Drive will attempt to automatically detect an + * appropriate value from uploaded content if no value is provided. The + * value cannot be changed unless a new revision is uploaded. If a file is + * created with a Google Doc MIME type, the uploaded content will be + * imported if possible. The supported import formats are published in the + * About resource. + */ + mimeType?: string; + /** + * Whether the file has been modified by this user. + */ + modifiedByMe?: boolean; + /** + * The last time the file was modified by the user (RFC 3339 date-time). + */ + modifiedByMeTime?: string; + /** + * The last time the file was modified by anyone (RFC 3339 date-time). Note + * that setting modifiedTime will also update modifiedByMeTime for the user. + */ + modifiedTime?: string; + /** + * The name of the file. This is not necessarily unique within a folder. + * Note that for immutable items such as the top level folders of Team + * Drives, My Drive root folder, and Application Data folder the name is + * constant. + */ + name?: string; + /** + * The original filename of the uploaded content if available, or else the + * original value of the name field. This is only available for files with + * binary content in Drive. + */ + originalFilename?: string; + /** + * Whether the user owns the file. Not populated for Team Drive files. + */ + ownedByMe?: boolean; + /** + * The owners of the file. Currently, only certain legacy files may have + * more than one owner. Not populated for Team Drive files. + */ + owners?: Schema$User[]; + /** + * The IDs of the parent folders which contain the file. If not specified as + * part of a create request, the file will be placed directly in the + * user's My Drive folder. If not specified as part of a copy request, + * the file will inherit any discoverable parents of the source file. Update + * requests must use the addParents and removeParents parameters to modify + * the parents list. + */ + parents?: string[]; + /** + * List of permission IDs for users with access to this file. + */ + permissionIds?: string[]; + /** + * The full list of permissions for the file. This is only available if the + * requesting user can share the file. Not populated for Team Drive files. + */ + permissions?: Schema$Permission[]; + /** + * A collection of arbitrary key-value pairs which are visible to all apps. + * Entries with null values are cleared in update and copy requests. + */ + properties?: any; + /** + * The number of storage quota bytes used by the file. This includes the + * head revision as well as previous revisions with keepForever enabled. + */ + quotaBytesUsed?: string; + /** + * Whether the file has been shared. Not populated for Team Drive files. + */ + shared?: boolean; + /** + * The time at which the file was shared with the user, if applicable (RFC + * 3339 date-time). + */ + sharedWithMeTime?: string; + /** + * The user who shared the file with the requesting user, if applicable. + */ + sharingUser?: Schema$User; + /** + * The size of the file's content in bytes. This is only applicable to + * files with binary content in Drive. + */ + size?: string; + /** + * The list of spaces which contain the file. The currently supported values + * are 'drive', 'appDataFolder' and 'photos'. + */ + spaces?: string[]; + /** + * Whether the user has starred the file. + */ + starred?: boolean; + /** + * ID of the Team Drive the file resides in. + */ + teamDriveId?: string; + /** + * A short-lived link to the file's thumbnail, if available. Typically + * lasts on the order of hours. Only populated when the requesting app can + * access the file's content. + */ + thumbnailLink?: string; + /** + * The thumbnail version for use in thumbnail cache invalidation. + */ + thumbnailVersion?: string; + /** + * Whether the file has been trashed, either explicitly or from a trashed + * parent folder. Only the owner may trash a file, and other users cannot + * see files in the owner's trash. + */ + trashed?: boolean; + /** + * The time that the item was trashed (RFC 3339 date-time). Only populated + * for Team Drive files. + */ + trashedTime?: string; + /** + * If the file has been explicitly trashed, the user who trashed it. Only + * populated for Team Drive files. + */ + trashingUser?: Schema$User; + /** + * A monotonically increasing version number for the file. This reflects + * every change made to the file on the server, even those not visible to + * the user. + */ + version?: string; + /** + * Additional metadata about video media. This may not be available + * immediately upon upload. + */ + videoMediaMetadata?: any; + /** + * Whether the file has been viewed by this user. + */ + viewedByMe?: boolean; + /** + * The last time the file was viewed by the user (RFC 3339 date-time). + */ + viewedByMeTime?: string; + /** + * Deprecated - use copyRequiresWriterPermission instead. + */ + viewersCanCopyContent?: boolean; + /** + * A link for downloading the content of the file in a browser. This is only + * available for files with binary content in Drive. + */ + webContentLink?: string; + /** + * A link for opening the file in a relevant Google editor or viewer in a + * browser. + */ + webViewLink?: string; + /** + * Whether users with only writer permission can modify the file's + * permissions. Not populated for Team Drive files. + */ + writersCanShare?: boolean; + } + /** + * A list of files. + */ + interface Schema$FileList { + /** + * The list of files. If nextPageToken is populated, then this list may be + * incomplete and an additional page of results should be fetched. + */ + files?: Schema$File[]; + /** + * Whether the search process was incomplete. If true, then some search + * results may be missing, since all documents were not searched. This may + * occur when searching multiple Team Drives with the + * "user,allTeamDrives" corpora, but all corpora could not be + * searched. When this happens, it is suggested that clients narrow their + * query by choosing a different corpus such as "user" or + * "teamDrive". + */ + incompleteSearch?: boolean; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "drive#fileList". + */ + kind?: string; + /** + * The page token for the next page of files. This will be absent if the end + * of the files list has been reached. If the token is rejected for any + * reason, it should be discarded, and pagination should be restarted from + * the first page of results. + */ + nextPageToken?: string; + } + /** + * A list of generated file IDs which can be provided in create requests. + */ + interface Schema$GeneratedIds { + /** + * The IDs generated for the requesting user in the specified space. + */ + ids?: string[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "drive#generatedIds". + */ + kind?: string; + /** + * The type of file that can be created with these IDs. + */ + space?: string; + } + /** + * A permission for a file. A permission grants a user, group, domain or the + * world access to a file or a folder hierarchy. + */ + interface Schema$Permission { + /** + * Whether the permission allows the file to be discovered through search. + * This is only applicable for permissions of type domain or anyone. + */ + allowFileDiscovery?: boolean; + /** + * Whether the account associated with this permission has been deleted. + * This field only pertains to user and group permissions. + */ + deleted?: boolean; + /** + * A displayable name for users, groups or domains. + */ + displayName?: string; + /** + * The domain to which this permission refers. + */ + domain?: string; + /** + * The email address of the user or group to which this permission refers. + */ + emailAddress?: string; + /** + * The time at which this permission will expire (RFC 3339 date-time). + * Expiration times have the following restrictions: - They can only be + * set on user and group permissions - The time must be in the future - + * The time cannot be more than a year in the future + */ + expirationTime?: string; + /** + * The ID of this permission. This is a unique identifier for the grantee, + * and is published in User resources as permissionId. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "drive#permission". + */ + kind?: string; + /** + * A link to the user's profile photo, if available. + */ + photoLink?: string; + /** + * The role granted by this permission. While new values may be supported in + * the future, the following are currently allowed: - owner - organizer + * - fileOrganizer - writer - commenter - reader + */ + role?: string; + /** + * Details of whether the permissions on this Team Drive item are inherited + * or directly on this item. This is an output-only field which is present + * only for Team Drive items. + */ + teamDrivePermissionDetails?: any[]; + /** + * The type of the grantee. Valid values are: - user - group - domain - + * anyone + */ + type?: string; + } + /** + * A list of permissions for a file. + */ + interface Schema$PermissionList { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "drive#permissionList". + */ + kind?: string; + /** + * The page token for the next page of permissions. This field will be + * absent if the end of the permissions list has been reached. If the token + * is rejected for any reason, it should be discarded, and pagination should + * be restarted from the first page of results. + */ + nextPageToken?: string; + /** + * The list of permissions. If nextPageToken is populated, then this list + * may be incomplete and an additional page of results should be fetched. + */ + permissions?: Schema$Permission[]; + } + /** + * A reply to a comment on a file. + */ + interface Schema$Reply { + /** + * The action the reply performed to the parent comment. Valid values are: + * - resolve - reopen + */ + action?: string; + /** + * The user who created the reply. + */ + author?: Schema$User; + /** + * The plain text content of the reply. This field is used for setting the + * content, while htmlContent should be displayed. This is required on + * creates if no action is specified. + */ + content?: string; + /** + * The time at which the reply was created (RFC 3339 date-time). + */ + createdTime?: string; + /** + * Whether the reply has been deleted. A deleted reply has no content. + */ + deleted?: boolean; + /** + * The content of the reply with HTML formatting. + */ + htmlContent?: string; + /** + * The ID of the reply. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "drive#reply". + */ + kind?: string; + /** + * The last time the reply was modified (RFC 3339 date-time). + */ + modifiedTime?: string; + } + /** + * A list of replies to a comment on a file. + */ + interface Schema$ReplyList { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "drive#replyList". + */ + kind?: string; + /** + * The page token for the next page of replies. This will be absent if the + * end of the replies list has been reached. If the token is rejected for + * any reason, it should be discarded, and pagination should be restarted + * from the first page of results. + */ + nextPageToken?: string; + /** + * The list of replies. If nextPageToken is populated, then this list may be + * incomplete and an additional page of results should be fetched. + */ + replies?: Schema$Reply[]; + } + /** + * The metadata for a revision to a file. + */ + interface Schema$Revision { + /** + * The ID of the revision. + */ + id?: string; + /** + * Whether to keep this revision forever, even if it is no longer the head + * revision. If not set, the revision will be automatically purged 30 days + * after newer content is uploaded. This can be set on a maximum of 200 + * revisions for a file. This field is only applicable to files with binary + * content in Drive. + */ + keepForever?: boolean; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "drive#revision". + */ + kind?: string; + /** + * The last user to modify this revision. + */ + lastModifyingUser?: Schema$User; + /** + * The MD5 checksum of the revision's content. This is only applicable + * to files with binary content in Drive. + */ + md5Checksum?: string; + /** + * The MIME type of the revision. + */ + mimeType?: string; + /** + * The last time the revision was modified (RFC 3339 date-time). + */ + modifiedTime?: string; + /** + * The original filename used to create this revision. This is only + * applicable to files with binary content in Drive. + */ + originalFilename?: string; + /** + * Whether subsequent revisions will be automatically republished. This is + * only applicable to Google Docs. + */ + publishAuto?: boolean; + /** + * Whether this revision is published. This is only applicable to Google + * Docs. + */ + published?: boolean; + /** + * Whether this revision is published outside the domain. This is only + * applicable to Google Docs. + */ + publishedOutsideDomain?: boolean; + /** + * The size of the revision's content in bytes. This is only applicable + * to files with binary content in Drive. + */ + size?: string; + } + /** + * A list of revisions of a file. + */ + interface Schema$RevisionList { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "drive#revisionList". + */ + kind?: string; + /** + * The page token for the next page of revisions. This will be absent if the + * end of the revisions list has been reached. If the token is rejected for + * any reason, it should be discarded, and pagination should be restarted + * from the first page of results. + */ + nextPageToken?: string; + /** + * The list of revisions. If nextPageToken is populated, then this list may + * be incomplete and an additional page of results should be fetched. + */ + revisions?: Schema$Revision[]; + } + interface Schema$StartPageToken { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "drive#startPageToken". + */ + kind?: string; + /** + * The starting page token for listing changes. + */ + startPageToken?: string; + } + /** + * Representation of a Team Drive. + */ + interface Schema$TeamDrive { + /** + * An image file and cropping parameters from which a background image for + * this Team Drive is set. This is a write only field; it can only be set on + * drive.teamdrives.update requests that don't set themeId. When + * specified, all fields of the backgroundImageFile must be set. + */ + backgroundImageFile?: any; + /** + * A short-lived link to this Team Drive's background image. + */ + backgroundImageLink?: string; + /** + * Capabilities the current user has on this Team Drive. + */ + capabilities?: any; + /** + * The color of this Team Drive as an RGB hex string. It can only be set on + * a drive.teamdrives.update request that does not set themeId. + */ + colorRgb?: string; + /** + * The time at which the Team Drive was created (RFC 3339 date-time). + */ + createdTime?: string; + /** + * The ID of this Team Drive which is also the ID of the top level folder of + * this Team Drive. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "drive#teamDrive". + */ + kind?: string; + /** + * The name of this Team Drive. + */ + name?: string; + /** + * A set of restrictions that apply to this Team Drive or items inside this + * Team Drive. + */ + restrictions?: any; + /** + * The ID of the theme from which the background image and color will be + * set. The set of possible teamDriveThemes can be retrieved from a + * drive.about.get response. When not specified on a drive.teamdrives.create + * request, a random theme is chosen from which the background image and + * color are set. This is a write-only field; it can only be set on requests + * that don't set colorRgb or backgroundImageFile. + */ + themeId?: string; + } + /** + * A list of Team Drives. + */ + interface Schema$TeamDriveList { + /** + * Identifies what kind of resource this is. Value: the fixed string + * "drive#teamDriveList". + */ + kind?: string; + /** + * The page token for the next page of Team Drives. This will be absent if + * the end of the Team Drives list has been reached. If the token is + * rejected for any reason, it should be discarded, and pagination should be + * restarted from the first page of results. + */ + nextPageToken?: string; + /** + * The list of Team Drives. If nextPageToken is populated, then this list + * may be incomplete and an additional page of results should be fetched. + */ + teamDrives?: Schema$TeamDrive[]; + } + /** + * Information about a Drive user. + */ + interface Schema$User { + /** + * A plain text displayable name for this user. + */ + displayName?: string; + /** + * The email address of the user. This may not be present in certain + * contexts if the user has not made their email address visible to the + * requester. + */ + emailAddress?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "drive#user". + */ + kind?: string; + /** + * Whether this user is the requesting user. + */ + me?: boolean; + /** + * The user's ID as visible in Permission resources. + */ + permissionId?: string; + /** + * A link to the user's profile photo, if available. + */ + photoLink?: string; + } + class Resource$About { + root: Drive; + constructor(root: Drive); + getRoot(): Drive; + /** + * drive.about.get + * @desc Gets information about the user, the user's Drive, and system + * capabilities. + * @alias drive.about.get + * @memberOf! () + * + * @param {object=} params Parameters for request + * @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?: Params$Resource$About$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$About$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$About$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$About$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } + class Resource$Changes { + root: Drive; + constructor(root: Drive); + getRoot(): Drive; + /** + * drive.changes.getStartPageToken + * @desc Gets the starting pageToken for listing future changes. + * @alias drive.changes.getStartPageToken + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {boolean=} params.supportsTeamDrives Whether the requesting application supports Team Drives. + * @param {string=} params.teamDriveId The ID of the Team Drive for which the starting pageToken for listing future changes from that Team Drive will be returned. + * @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 + */ + getStartPageToken(params?: Params$Resource$Changes$Getstartpagetoken, options?: MethodOptions): AxiosPromise; + getStartPageToken(params: Params$Resource$Changes$Getstartpagetoken, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getStartPageToken(params: Params$Resource$Changes$Getstartpagetoken, callback: BodyResponseCallback): void; + getStartPageToken(callback: BodyResponseCallback): void; + /** + * drive.changes.list + * @desc Lists the changes for a user or Team Drive. + * @alias drive.changes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.includeCorpusRemovals Whether changes should include the file resource if the file is still accessible by the user at the time of the request, even when a file was removed from the list of changes and there will be no further change entries for this file. + * @param {boolean=} params.includeRemoved Whether to include changes indicating that items have been removed from the list of changes, for example by deletion or loss of access. + * @param {boolean=} params.includeTeamDriveItems Whether Team Drive files or changes should be included in results. + * @param {integer=} params.pageSize The maximum number of changes to return per page. + * @param {string} params.pageToken The token for continuing a previous list request on the next page. This should be set to the value of 'nextPageToken' from the previous response or to the response from the getStartPageToken method. + * @param {boolean=} params.restrictToMyDrive Whether to restrict the results to changes inside the My Drive hierarchy. This omits changes to files such as those in the Application Data folder or shared files which have not been added to My Drive. + * @param {string=} params.spaces A comma-separated list of spaces to query within the user corpus. Supported values are 'drive', 'appDataFolder' and 'photos'. + * @param {boolean=} params.supportsTeamDrives Whether the requesting application supports Team Drives. + * @param {string=} params.teamDriveId The Team Drive from which changes will be returned. If specified the change IDs will be reflective of the Team Drive; use the combined Team Drive ID and change ID as an identifier. + * @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?: Params$Resource$Changes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Changes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Changes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * drive.changes.watch + * @desc Subscribes to changes for a user. + * @alias drive.changes.watch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.includeCorpusRemovals Whether changes should include the file resource if the file is still accessible by the user at the time of the request, even when a file was removed from the list of changes and there will be no further change entries for this file. + * @param {boolean=} params.includeRemoved Whether to include changes indicating that items have been removed from the list of changes, for example by deletion or loss of access. + * @param {boolean=} params.includeTeamDriveItems Whether Team Drive files or changes should be included in results. + * @param {integer=} params.pageSize The maximum number of changes to return per page. + * @param {string} params.pageToken The token for continuing a previous list request on the next page. This should be set to the value of 'nextPageToken' from the previous response or to the response from the getStartPageToken method. + * @param {boolean=} params.restrictToMyDrive Whether to restrict the results to changes inside the My Drive hierarchy. This omits changes to files such as those in the Application Data folder or shared files which have not been added to My Drive. + * @param {string=} params.spaces A comma-separated list of spaces to query within the user corpus. Supported values are 'drive', 'appDataFolder' and 'photos'. + * @param {boolean=} params.supportsTeamDrives Whether the requesting application supports Team Drives. + * @param {string=} params.teamDriveId The Team Drive from which changes will be returned. If specified the change IDs will be reflective of the Team Drive; use the combined Team Drive ID and change ID as an identifier. + * @param {().Channel} 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 + */ + watch(params?: Params$Resource$Changes$Watch, options?: MethodOptions): AxiosPromise; + watch(params: Params$Resource$Changes$Watch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + watch(params: Params$Resource$Changes$Watch, callback: BodyResponseCallback): void; + watch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Changes$Getstartpagetoken { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Whether the requesting application supports Team Drives. + */ + supportsTeamDrives?: boolean; + /** + * The ID of the Team Drive for which the starting pageToken for listing + * future changes from that Team Drive will be returned. + */ + teamDriveId?: string; + } + interface Params$Resource$Changes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Whether changes should include the file resource if the file is still + * accessible by the user at the time of the request, even when a file was + * removed from the list of changes and there will be no further change + * entries for this file. + */ + includeCorpusRemovals?: boolean; + /** + * Whether to include changes indicating that items have been removed from + * the list of changes, for example by deletion or loss of access. + */ + includeRemoved?: boolean; + /** + * Whether Team Drive files or changes should be included in results. + */ + includeTeamDriveItems?: boolean; + /** + * The maximum number of changes to return per page. + */ + pageSize?: number; + /** + * The token for continuing a previous list request on the next page. This + * should be set to the value of 'nextPageToken' from the previous response + * or to the response from the getStartPageToken method. + */ + pageToken?: string; + /** + * Whether to restrict the results to changes inside the My Drive hierarchy. + * This omits changes to files such as those in the Application Data folder + * or shared files which have not been added to My Drive. + */ + restrictToMyDrive?: boolean; + /** + * A comma-separated list of spaces to query within the user corpus. + * Supported values are 'drive', 'appDataFolder' and 'photos'. + */ + spaces?: string; + /** + * Whether the requesting application supports Team Drives. + */ + supportsTeamDrives?: boolean; + /** + * The Team Drive from which changes will be returned. If specified the + * change IDs will be reflective of the Team Drive; use the combined Team + * Drive ID and change ID as an identifier. + */ + teamDriveId?: string; + } + interface Params$Resource$Changes$Watch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Whether changes should include the file resource if the file is still + * accessible by the user at the time of the request, even when a file was + * removed from the list of changes and there will be no further change + * entries for this file. + */ + includeCorpusRemovals?: boolean; + /** + * Whether to include changes indicating that items have been removed from + * the list of changes, for example by deletion or loss of access. + */ + includeRemoved?: boolean; + /** + * Whether Team Drive files or changes should be included in results. + */ + includeTeamDriveItems?: boolean; + /** + * The maximum number of changes to return per page. + */ + pageSize?: number; + /** + * The token for continuing a previous list request on the next page. This + * should be set to the value of 'nextPageToken' from the previous response + * or to the response from the getStartPageToken method. + */ + pageToken?: string; + /** + * Whether to restrict the results to changes inside the My Drive hierarchy. + * This omits changes to files such as those in the Application Data folder + * or shared files which have not been added to My Drive. + */ + restrictToMyDrive?: boolean; + /** + * A comma-separated list of spaces to query within the user corpus. + * Supported values are 'drive', 'appDataFolder' and 'photos'. + */ + spaces?: string; + /** + * Whether the requesting application supports Team Drives. + */ + supportsTeamDrives?: boolean; + /** + * The Team Drive from which changes will be returned. If specified the + * change IDs will be reflective of the Team Drive; use the combined Team + * Drive ID and change ID as an identifier. + */ + teamDriveId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Channel; + } + class Resource$Channels { + root: Drive; + constructor(root: Drive); + getRoot(): Drive; + /** + * drive.channels.stop + * @desc Stop watching resources through this channel + * @alias drive.channels.stop + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().Channel} 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 + */ + stop(params?: Params$Resource$Channels$Stop, options?: MethodOptions): AxiosPromise; + stop(params: Params$Resource$Channels$Stop, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + stop(params: Params$Resource$Channels$Stop, callback: BodyResponseCallback): void; + stop(callback: BodyResponseCallback): void; + } + interface Params$Resource$Channels$Stop { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$Channel; + } + class Resource$Comments { + root: Drive; + constructor(root: Drive); + getRoot(): Drive; + /** + * drive.comments.create + * @desc Creates a new comment on a file. + * @alias drive.comments.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.fileId The ID of the file. + * @param {().Comment} 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 + */ + create(params?: Params$Resource$Comments$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Comments$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Comments$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * drive.comments.delete + * @desc Deletes a comment. + * @alias drive.comments.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.commentId The ID of the comment. + * @param {string} params.fileId The ID of the file. + * @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?: Params$Resource$Comments$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Comments$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Comments$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * drive.comments.get + * @desc Gets a comment by ID. + * @alias drive.comments.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.commentId The ID of the comment. + * @param {string} params.fileId The ID of the file. + * @param {boolean=} params.includeDeleted Whether to return deleted comments. Deleted comments will not include their original content. + * @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?: Params$Resource$Comments$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Comments$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Comments$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * drive.comments.list + * @desc Lists a file's comments. + * @alias drive.comments.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.fileId The ID of the file. + * @param {boolean=} params.includeDeleted Whether to include deleted comments. Deleted comments will not include their original content. + * @param {integer=} params.pageSize The maximum number of comments to return per page. + * @param {string=} params.pageToken The token for continuing a previous list request on the next page. This should be set to the value of 'nextPageToken' from the previous response. + * @param {string=} params.startModifiedTime The minimum value of 'modifiedTime' for the result comments (RFC 3339 date-time). + * @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?: Params$Resource$Comments$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Comments$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Comments$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * drive.comments.update + * @desc Updates a comment with patch semantics. + * @alias drive.comments.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.commentId The ID of the comment. + * @param {string} params.fileId The ID of the file. + * @param {().Comment} 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?: Params$Resource$Comments$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Comments$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Comments$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Comments$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the file. + */ + fileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Comment; + } + interface Params$Resource$Comments$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the comment. + */ + commentId?: string; + /** + * The ID of the file. + */ + fileId?: string; + } + interface Params$Resource$Comments$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the comment. + */ + commentId?: string; + /** + * The ID of the file. + */ + fileId?: string; + /** + * Whether to return deleted comments. Deleted comments will not include + * their original content. + */ + includeDeleted?: boolean; + } + interface Params$Resource$Comments$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the file. + */ + fileId?: string; + /** + * Whether to include deleted comments. Deleted comments will not include + * their original content. + */ + includeDeleted?: boolean; + /** + * The maximum number of comments to return per page. + */ + pageSize?: number; + /** + * The token for continuing a previous list request on the next page. This + * should be set to the value of 'nextPageToken' from the previous response. + */ + pageToken?: string; + /** + * The minimum value of 'modifiedTime' for the result comments (RFC 3339 + * date-time). + */ + startModifiedTime?: string; + } + interface Params$Resource$Comments$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the comment. + */ + commentId?: string; + /** + * The ID of the file. + */ + fileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Comment; + } + class Resource$Files { + root: Drive; + constructor(root: Drive); + getRoot(): Drive; + /** + * drive.files.copy + * @desc Creates a copy of a file and applies any requested updates with + * patch semantics. + * @alias drive.files.copy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.fileId The ID of the file. + * @param {boolean=} params.ignoreDefaultVisibility Whether to ignore the domain's default visibility settings for the created file. Domain administrators can choose to make all uploaded files visible to the domain by default; this parameter bypasses that behavior for the request. Permissions are still inherited from parent folders. + * @param {boolean=} params.keepRevisionForever Whether to set the 'keepForever' field in the new head revision. This is only applicable to files with binary content in Drive. + * @param {string=} params.ocrLanguage A language hint for OCR processing during image import (ISO 639-1 code). + * @param {boolean=} params.supportsTeamDrives Whether the requesting application supports Team Drives. + * @param {().File} 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 + */ + copy(params?: Params$Resource$Files$Copy, options?: MethodOptions): AxiosPromise; + copy(params: Params$Resource$Files$Copy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + copy(params: Params$Resource$Files$Copy, callback: BodyResponseCallback): void; + copy(callback: BodyResponseCallback): void; + /** + * drive.files.create + * @desc Creates a new file. + * @alias drive.files.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.ignoreDefaultVisibility Whether to ignore the domain's default visibility settings for the created file. Domain administrators can choose to make all uploaded files visible to the domain by default; this parameter bypasses that behavior for the request. Permissions are still inherited from parent folders. + * @param {boolean=} params.keepRevisionForever Whether to set the 'keepForever' field in the new head revision. This is only applicable to files with binary content in Drive. + * @param {string=} params.ocrLanguage A language hint for OCR processing during image import (ISO 639-1 code). + * @param {boolean=} params.supportsTeamDrives Whether the requesting application supports Team Drives. + * @param {boolean=} params.useContentAsIndexableText Whether to use the uploaded content as indexable text. + * @param {object} params.resource Media resource metadata + * @param {object} params.media Media object + * @param {string} params.media.mimeType Media mime-type + * @param {string|object} params.media.body Media body contents + * @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 + */ + create(params?: Params$Resource$Files$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Files$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Files$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * drive.files.delete + * @desc Permanently deletes a file owned by the user without moving it to + * the trash. If the file belongs to a Team Drive the user must be an + * organizer on the parent. If the target is a folder, all descendants owned + * by the user are also deleted. + * @alias drive.files.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.fileId The ID of the file. + * @param {boolean=} params.supportsTeamDrives Whether the requesting application supports Team Drives. + * @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?: Params$Resource$Files$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Files$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Files$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * drive.files.emptyTrash + * @desc Permanently deletes all of the user's trashed files. + * @alias drive.files.emptyTrash + * @memberOf! () + * + * @param {object=} params Parameters for request + * @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 + */ + emptyTrash(params?: Params$Resource$Files$Emptytrash, options?: MethodOptions): AxiosPromise; + emptyTrash(params: Params$Resource$Files$Emptytrash, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + emptyTrash(params: Params$Resource$Files$Emptytrash, callback: BodyResponseCallback): void; + emptyTrash(callback: BodyResponseCallback): void; + /** + * drive.files.export + * @desc Exports a Google Doc to the requested MIME type and returns the + * exported content. Please note that the exported content is limited to + * 10MB. + * @alias drive.files.export + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.fileId The ID of the file. + * @param {string} params.mimeType The MIME type of the format requested for this export. + * @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 + */ + export(params?: Params$Resource$Files$Export, options?: MethodOptions): AxiosPromise; + export(params: Params$Resource$Files$Export, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + export(params: Params$Resource$Files$Export, callback: BodyResponseCallback): void; + export(callback: BodyResponseCallback): void; + /** + * drive.files.generateIds + * @desc Generates a set of file IDs which can be provided in create + * requests. + * @alias drive.files.generateIds + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {integer=} params.count The number of IDs to return. + * @param {string=} params.space The space in which the IDs can be used to create new files. Supported values are 'drive' and 'appDataFolder'. + * @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 + */ + generateIds(params?: Params$Resource$Files$Generateids, options?: MethodOptions): AxiosPromise; + generateIds(params: Params$Resource$Files$Generateids, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + generateIds(params: Params$Resource$Files$Generateids, callback: BodyResponseCallback): void; + generateIds(callback: BodyResponseCallback): void; + /** + * drive.files.get + * @desc Gets a file's metadata or content by ID. + * @alias drive.files.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.acknowledgeAbuse Whether the user is acknowledging the risk of downloading known malware or other abusive files. This is only applicable when alt=media. + * @param {string} params.fileId The ID of the file. + * @param {boolean=} params.supportsTeamDrives Whether the requesting application supports Team Drives. + * @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?: Params$Resource$Files$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Files$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Files$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * drive.files.list + * @desc Lists or searches files. + * @alias drive.files.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {string=} params.corpora Comma-separated list of bodies of items (files/documents) to which the query applies. Supported bodies are 'user', 'domain', 'teamDrive' and 'allTeamDrives'. 'allTeamDrives' must be combined with 'user'; all other values must be used in isolation. Prefer 'user' or 'teamDrive' to 'allTeamDrives' for efficiency. + * @param {string=} params.corpus The source of files to list. Deprecated: use 'corpora' instead. + * @param {boolean=} params.includeTeamDriveItems Whether Team Drive items should be included in results. + * @param {string=} params.orderBy A comma-separated list of sort keys. Valid keys are 'createdTime', 'folder', 'modifiedByMeTime', 'modifiedTime', 'name', 'name_natural', 'quotaBytesUsed', 'recency', 'sharedWithMeTime', 'starred', and 'viewedByMeTime'. Each key sorts ascending by default, but may be reversed with the 'desc' modifier. Example usage: ?orderBy=folder,modifiedTime desc,name. Please note that there is a current limitation for users with approximately one million files in which the requested sort order is ignored. + * @param {integer=} params.pageSize The maximum number of files to return per page. Partial or empty result pages are possible even before the end of the files list has been reached. + * @param {string=} params.pageToken The token for continuing a previous list request on the next page. This should be set to the value of 'nextPageToken' from the previous response. + * @param {string=} params.q A query for filtering the file results. See the "Search for Files" guide for supported syntax. + * @param {string=} params.spaces A comma-separated list of spaces to query within the corpus. Supported values are 'drive', 'appDataFolder' and 'photos'. + * @param {boolean=} params.supportsTeamDrives Whether the requesting application supports Team Drives. + * @param {string=} params.teamDriveId ID of Team Drive to search. + * @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?: Params$Resource$Files$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Files$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Files$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * drive.files.update + * @desc Updates a file's metadata and/or content with patch semantics. + * @alias drive.files.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.addParents A comma-separated list of parent IDs to add. + * @param {string} params.fileId The ID of the file. + * @param {boolean=} params.keepRevisionForever Whether to set the 'keepForever' field in the new head revision. This is only applicable to files with binary content in Drive. + * @param {string=} params.ocrLanguage A language hint for OCR processing during image import (ISO 639-1 code). + * @param {string=} params.removeParents A comma-separated list of parent IDs to remove. + * @param {boolean=} params.supportsTeamDrives Whether the requesting application supports Team Drives. + * @param {boolean=} params.useContentAsIndexableText Whether to use the uploaded content as indexable text. + * @param {object} params.resource Media resource metadata + * @param {object} params.media Media object + * @param {string} params.media.mimeType Media mime-type + * @param {string|object} params.media.body Media body contents + * @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?: Params$Resource$Files$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Files$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Files$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + /** + * drive.files.watch + * @desc Subscribes to changes to a file + * @alias drive.files.watch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.acknowledgeAbuse Whether the user is acknowledging the risk of downloading known malware or other abusive files. This is only applicable when alt=media. + * @param {string} params.fileId The ID of the file. + * @param {boolean=} params.supportsTeamDrives Whether the requesting application supports Team Drives. + * @param {().Channel} 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 + */ + watch(params?: Params$Resource$Files$Watch, options?: MethodOptions): AxiosPromise; + watch(params: Params$Resource$Files$Watch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + watch(params: Params$Resource$Files$Watch, callback: BodyResponseCallback): void; + watch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Files$Copy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the file. + */ + fileId?: string; + /** + * Whether to ignore the domain's default visibility settings for the + * created file. Domain administrators can choose to make all uploaded files + * visible to the domain by default; this parameter bypasses that behavior + * for the request. Permissions are still inherited from parent folders. + */ + ignoreDefaultVisibility?: boolean; + /** + * Whether to set the 'keepForever' field in the new head revision. This is + * only applicable to files with binary content in Drive. + */ + keepRevisionForever?: boolean; + /** + * A language hint for OCR processing during image import (ISO 639-1 code). + */ + ocrLanguage?: string; + /** + * Whether the requesting application supports Team Drives. + */ + supportsTeamDrives?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$File; + } + interface Params$Resource$Files$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Whether to ignore the domain's default visibility settings for the + * created file. Domain administrators can choose to make all uploaded files + * visible to the domain by default; this parameter bypasses that behavior + * for the request. Permissions are still inherited from parent folders. + */ + ignoreDefaultVisibility?: boolean; + /** + * Whether to set the 'keepForever' field in the new head revision. This is + * only applicable to files with binary content in Drive. + */ + keepRevisionForever?: boolean; + /** + * A language hint for OCR processing during image import (ISO 639-1 code). + */ + ocrLanguage?: string; + /** + * Whether the requesting application supports Team Drives. + */ + supportsTeamDrives?: boolean; + /** + * Whether to use the uploaded content as indexable text. + */ + useContentAsIndexableText?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$File; + /** + * Media metadata + */ + media?: { + /** + * Media mime-type + */ + mediaType?: string; + /** + * Media body contents + */ + body?: any; + }; + } + interface Params$Resource$Files$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the file. + */ + fileId?: string; + /** + * Whether the requesting application supports Team Drives. + */ + supportsTeamDrives?: boolean; + } + interface Params$Resource$Files$Emptytrash { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } + interface Params$Resource$Files$Export { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the file. + */ + fileId?: string; + /** + * The MIME type of the format requested for this export. + */ + mimeType?: string; + } + interface Params$Resource$Files$Generateids { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The number of IDs to return. + */ + count?: number; + /** + * The space in which the IDs can be used to create new files. Supported + * values are 'drive' and 'appDataFolder'. + */ + space?: string; + } + interface Params$Resource$Files$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Whether the user is acknowledging the risk of downloading known malware + * or other abusive files. This is only applicable when alt=media. + */ + acknowledgeAbuse?: boolean; + /** + * The ID of the file. + */ + fileId?: string; + /** + * Whether the requesting application supports Team Drives. + */ + supportsTeamDrives?: boolean; + } + interface Params$Resource$Files$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Comma-separated list of bodies of items (files/documents) to which the + * query applies. Supported bodies are 'user', 'domain', 'teamDrive' and + * 'allTeamDrives'. 'allTeamDrives' must be combined with 'user'; all other + * values must be used in isolation. Prefer 'user' or 'teamDrive' to + * 'allTeamDrives' for efficiency. + */ + corpora?: string; + /** + * The source of files to list. Deprecated: use 'corpora' instead. + */ + corpus?: string; + /** + * Whether Team Drive items should be included in results. + */ + includeTeamDriveItems?: boolean; + /** + * A comma-separated list of sort keys. Valid keys are 'createdTime', + * 'folder', 'modifiedByMeTime', 'modifiedTime', 'name', 'name_natural', + * 'quotaBytesUsed', 'recency', 'sharedWithMeTime', 'starred', and + * 'viewedByMeTime'. Each key sorts ascending by default, but may be + * reversed with the 'desc' modifier. Example usage: + * ?orderBy=folder,modifiedTime desc,name. Please note that there is a + * current limitation for users with approximately one million files in + * which the requested sort order is ignored. + */ + orderBy?: string; + /** + * The maximum number of files to return per page. Partial or empty result + * pages are possible even before the end of the files list has been + * reached. + */ + pageSize?: number; + /** + * The token for continuing a previous list request on the next page. This + * should be set to the value of 'nextPageToken' from the previous response. + */ + pageToken?: string; + /** + * A query for filtering the file results. See the "Search for Files" guide + * for supported syntax. + */ + q?: string; + /** + * A comma-separated list of spaces to query within the corpus. Supported + * values are 'drive', 'appDataFolder' and 'photos'. + */ + spaces?: string; + /** + * Whether the requesting application supports Team Drives. + */ + supportsTeamDrives?: boolean; + /** + * ID of Team Drive to search. + */ + teamDriveId?: string; + } + interface Params$Resource$Files$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A comma-separated list of parent IDs to add. + */ + addParents?: string; + /** + * The ID of the file. + */ + fileId?: string; + /** + * Whether to set the 'keepForever' field in the new head revision. This is + * only applicable to files with binary content in Drive. + */ + keepRevisionForever?: boolean; + /** + * A language hint for OCR processing during image import (ISO 639-1 code). + */ + ocrLanguage?: string; + /** + * A comma-separated list of parent IDs to remove. + */ + removeParents?: string; + /** + * Whether the requesting application supports Team Drives. + */ + supportsTeamDrives?: boolean; + /** + * Whether to use the uploaded content as indexable text. + */ + useContentAsIndexableText?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$File; + /** + * Media metadata + */ + media?: { + /** + * Media mime-type + */ + mediaType?: string; + /** + * Media body contents + */ + body?: any; + }; + } + interface Params$Resource$Files$Watch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Whether the user is acknowledging the risk of downloading known malware + * or other abusive files. This is only applicable when alt=media. + */ + acknowledgeAbuse?: boolean; + /** + * The ID of the file. + */ + fileId?: string; + /** + * Whether the requesting application supports Team Drives. + */ + supportsTeamDrives?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$Channel; + } + class Resource$Permissions { + root: Drive; + constructor(root: Drive); + getRoot(): Drive; + /** + * drive.permissions.create + * @desc Creates a permission for a file or Team Drive. + * @alias drive.permissions.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.emailMessage A plain text custom message to include in the notification email. + * @param {string} params.fileId The ID of the file or Team Drive. + * @param {boolean=} params.sendNotificationEmail Whether to send a notification email when sharing to users or groups. This defaults to true for users and groups, and is not allowed for other requests. It must not be disabled for ownership transfers. + * @param {boolean=} params.supportsTeamDrives Whether the requesting application supports Team Drives. + * @param {boolean=} params.transferOwnership Whether to transfer ownership to the specified user and downgrade the current owner to a writer. This parameter is required as an acknowledgement of the side effect. + * @param {boolean=} params.useDomainAdminAccess Issue the request as a domain administrator; if set to true, then the requester will be granted access if they are an administrator of the domain to which the item belongs. + * @param {().Permission} 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 + */ + create(params?: Params$Resource$Permissions$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Permissions$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Permissions$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * drive.permissions.delete + * @desc Deletes a permission. + * @alias drive.permissions.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.fileId The ID of the file or Team Drive. + * @param {string} params.permissionId The ID of the permission. + * @param {boolean=} params.supportsTeamDrives Whether the requesting application supports Team Drives. + * @param {boolean=} params.useDomainAdminAccess Issue the request as a domain administrator; if set to true, then the requester will be granted access if they are an administrator of the domain to which the item belongs. + * @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?: Params$Resource$Permissions$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Permissions$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Permissions$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * drive.permissions.get + * @desc Gets a permission by ID. + * @alias drive.permissions.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.fileId The ID of the file. + * @param {string} params.permissionId The ID of the permission. + * @param {boolean=} params.supportsTeamDrives Whether the requesting application supports Team Drives. + * @param {boolean=} params.useDomainAdminAccess Issue the request as a domain administrator; if set to true, then the requester will be granted access if they are an administrator of the domain to which the item belongs. + * @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?: Params$Resource$Permissions$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Permissions$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Permissions$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * drive.permissions.list + * @desc Lists a file's or Team Drive's permissions. + * @alias drive.permissions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.fileId The ID of the file or Team Drive. + * @param {integer=} params.pageSize The maximum number of permissions to return per page. When not set for files in a Team Drive, at most 100 results will be returned. When not set for files that are not in a Team Drive, the entire list will be returned. + * @param {string=} params.pageToken The token for continuing a previous list request on the next page. This should be set to the value of 'nextPageToken' from the previous response. + * @param {boolean=} params.supportsTeamDrives Whether the requesting application supports Team Drives. + * @param {boolean=} params.useDomainAdminAccess Issue the request as a domain administrator; if set to true, then the requester will be granted access if they are an administrator of the domain to which the item belongs. + * @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?: Params$Resource$Permissions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Permissions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Permissions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * drive.permissions.update + * @desc Updates a permission with patch semantics. + * @alias drive.permissions.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.fileId The ID of the file or Team Drive. + * @param {string} params.permissionId The ID of the permission. + * @param {boolean=} params.removeExpiration Whether to remove the expiration date. + * @param {boolean=} params.supportsTeamDrives Whether the requesting application supports Team Drives. + * @param {boolean=} params.transferOwnership Whether to transfer ownership to the specified user and downgrade the current owner to a writer. This parameter is required as an acknowledgement of the side effect. + * @param {boolean=} params.useDomainAdminAccess Issue the request as a domain administrator; if set to true, then the requester will be granted access if they are an administrator of the domain to which the item belongs. + * @param {().Permission} 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?: Params$Resource$Permissions$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Permissions$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Permissions$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Permissions$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A plain text custom message to include in the notification email. + */ + emailMessage?: string; + /** + * The ID of the file or Team Drive. + */ + fileId?: string; + /** + * Whether to send a notification email when sharing to users or groups. + * This defaults to true for users and groups, and is not allowed for other + * requests. It must not be disabled for ownership transfers. + */ + sendNotificationEmail?: boolean; + /** + * Whether the requesting application supports Team Drives. + */ + supportsTeamDrives?: boolean; + /** + * Whether to transfer ownership to the specified user and downgrade the + * current owner to a writer. This parameter is required as an + * acknowledgement of the side effect. + */ + transferOwnership?: boolean; + /** + * Issue the request as a domain administrator; if set to true, then the + * requester will be granted access if they are an administrator of the + * domain to which the item belongs. + */ + useDomainAdminAccess?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$Permission; + } + interface Params$Resource$Permissions$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the file or Team Drive. + */ + fileId?: string; + /** + * The ID of the permission. + */ + permissionId?: string; + /** + * Whether the requesting application supports Team Drives. + */ + supportsTeamDrives?: boolean; + /** + * Issue the request as a domain administrator; if set to true, then the + * requester will be granted access if they are an administrator of the + * domain to which the item belongs. + */ + useDomainAdminAccess?: boolean; + } + interface Params$Resource$Permissions$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the file. + */ + fileId?: string; + /** + * The ID of the permission. + */ + permissionId?: string; + /** + * Whether the requesting application supports Team Drives. + */ + supportsTeamDrives?: boolean; + /** + * Issue the request as a domain administrator; if set to true, then the + * requester will be granted access if they are an administrator of the + * domain to which the item belongs. + */ + useDomainAdminAccess?: boolean; + } + interface Params$Resource$Permissions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the file or Team Drive. + */ + fileId?: string; + /** + * The maximum number of permissions to return per page. When not set for + * files in a Team Drive, at most 100 results will be returned. When not set + * for files that are not in a Team Drive, the entire list will be returned. + */ + pageSize?: number; + /** + * The token for continuing a previous list request on the next page. This + * should be set to the value of 'nextPageToken' from the previous response. + */ + pageToken?: string; + /** + * Whether the requesting application supports Team Drives. + */ + supportsTeamDrives?: boolean; + /** + * Issue the request as a domain administrator; if set to true, then the + * requester will be granted access if they are an administrator of the + * domain to which the item belongs. + */ + useDomainAdminAccess?: boolean; + } + interface Params$Resource$Permissions$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the file or Team Drive. + */ + fileId?: string; + /** + * The ID of the permission. + */ + permissionId?: string; + /** + * Whether to remove the expiration date. + */ + removeExpiration?: boolean; + /** + * Whether the requesting application supports Team Drives. + */ + supportsTeamDrives?: boolean; + /** + * Whether to transfer ownership to the specified user and downgrade the + * current owner to a writer. This parameter is required as an + * acknowledgement of the side effect. + */ + transferOwnership?: boolean; + /** + * Issue the request as a domain administrator; if set to true, then the + * requester will be granted access if they are an administrator of the + * domain to which the item belongs. + */ + useDomainAdminAccess?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$Permission; + } + class Resource$Replies { + root: Drive; + constructor(root: Drive); + getRoot(): Drive; + /** + * drive.replies.create + * @desc Creates a new reply to a comment. + * @alias drive.replies.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.commentId The ID of the comment. + * @param {string} params.fileId The ID of the file. + * @param {().Reply} 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 + */ + create(params?: Params$Resource$Replies$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Replies$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Replies$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * drive.replies.delete + * @desc Deletes a reply. + * @alias drive.replies.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.commentId The ID of the comment. + * @param {string} params.fileId The ID of the file. + * @param {string} params.replyId The ID of the reply. + * @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?: Params$Resource$Replies$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Replies$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Replies$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * drive.replies.get + * @desc Gets a reply by ID. + * @alias drive.replies.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.commentId The ID of the comment. + * @param {string} params.fileId The ID of the file. + * @param {boolean=} params.includeDeleted Whether to return deleted replies. Deleted replies will not include their original content. + * @param {string} params.replyId The ID of the reply. + * @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?: Params$Resource$Replies$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Replies$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Replies$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * drive.replies.list + * @desc Lists a comment's replies. + * @alias drive.replies.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.commentId The ID of the comment. + * @param {string} params.fileId The ID of the file. + * @param {boolean=} params.includeDeleted Whether to include deleted replies. Deleted replies will not include their original content. + * @param {integer=} params.pageSize The maximum number of replies to return per page. + * @param {string=} params.pageToken The token for continuing a previous list request on the next page. This should be set to the value of 'nextPageToken' from the previous response. + * @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?: Params$Resource$Replies$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Replies$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Replies$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * drive.replies.update + * @desc Updates a reply with patch semantics. + * @alias drive.replies.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.commentId The ID of the comment. + * @param {string} params.fileId The ID of the file. + * @param {string} params.replyId The ID of the reply. + * @param {().Reply} 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?: Params$Resource$Replies$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Replies$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Replies$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Replies$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the comment. + */ + commentId?: string; + /** + * The ID of the file. + */ + fileId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Reply; + } + interface Params$Resource$Replies$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the comment. + */ + commentId?: string; + /** + * The ID of the file. + */ + fileId?: string; + /** + * The ID of the reply. + */ + replyId?: string; + } + interface Params$Resource$Replies$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the comment. + */ + commentId?: string; + /** + * The ID of the file. + */ + fileId?: string; + /** + * Whether to return deleted replies. Deleted replies will not include their + * original content. + */ + includeDeleted?: boolean; + /** + * The ID of the reply. + */ + replyId?: string; + } + interface Params$Resource$Replies$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the comment. + */ + commentId?: string; + /** + * The ID of the file. + */ + fileId?: string; + /** + * Whether to include deleted replies. Deleted replies will not include + * their original content. + */ + includeDeleted?: boolean; + /** + * The maximum number of replies to return per page. + */ + pageSize?: number; + /** + * The token for continuing a previous list request on the next page. This + * should be set to the value of 'nextPageToken' from the previous response. + */ + pageToken?: string; + } + interface Params$Resource$Replies$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the comment. + */ + commentId?: string; + /** + * The ID of the file. + */ + fileId?: string; + /** + * The ID of the reply. + */ + replyId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Reply; + } + class Resource$Revisions { + root: Drive; + constructor(root: Drive); + getRoot(): Drive; + /** + * drive.revisions.delete + * @desc Permanently deletes a revision. This method is only applicable to + * files with binary content in Drive. + * @alias drive.revisions.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.fileId The ID of the file. + * @param {string} params.revisionId The ID of the revision. + * @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?: Params$Resource$Revisions$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Revisions$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Revisions$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * drive.revisions.get + * @desc Gets a revision's metadata or content by ID. + * @alias drive.revisions.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.acknowledgeAbuse Whether the user is acknowledging the risk of downloading known malware or other abusive files. This is only applicable when alt=media. + * @param {string} params.fileId The ID of the file. + * @param {string} params.revisionId The ID of the revision. + * @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?: Params$Resource$Revisions$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Revisions$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Revisions$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * drive.revisions.list + * @desc Lists a file's revisions. + * @alias drive.revisions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.fileId The ID of the file. + * @param {integer=} params.pageSize The maximum number of revisions to return per page. + * @param {string=} params.pageToken The token for continuing a previous list request on the next page. This should be set to the value of 'nextPageToken' from the previous response. + * @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?: Params$Resource$Revisions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Revisions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Revisions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * drive.revisions.update + * @desc Updates a revision with patch semantics. + * @alias drive.revisions.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.fileId The ID of the file. + * @param {string} params.revisionId The ID of the revision. + * @param {().Revision} 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?: Params$Resource$Revisions$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Revisions$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Revisions$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Revisions$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the file. + */ + fileId?: string; + /** + * The ID of the revision. + */ + revisionId?: string; + } + interface Params$Resource$Revisions$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Whether the user is acknowledging the risk of downloading known malware + * or other abusive files. This is only applicable when alt=media. + */ + acknowledgeAbuse?: boolean; + /** + * The ID of the file. + */ + fileId?: string; + /** + * The ID of the revision. + */ + revisionId?: string; + } + interface Params$Resource$Revisions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the file. + */ + fileId?: string; + /** + * The maximum number of revisions to return per page. + */ + pageSize?: number; + /** + * The token for continuing a previous list request on the next page. This + * should be set to the value of 'nextPageToken' from the previous response. + */ + pageToken?: string; + } + interface Params$Resource$Revisions$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the file. + */ + fileId?: string; + /** + * The ID of the revision. + */ + revisionId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Revision; + } + class Resource$Teamdrives { + root: Drive; + constructor(root: Drive); + getRoot(): Drive; + /** + * drive.teamdrives.create + * @desc Creates a new Team Drive. + * @alias drive.teamdrives.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.requestId An ID, such as a random UUID, which uniquely identifies this user's request for idempotent creation of a Team Drive. A repeated request by the same user and with the same request ID will avoid creating duplicates by attempting to create the same Team Drive. If the Team Drive already exists a 409 error will be returned. + * @param {().TeamDrive} 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 + */ + create(params?: Params$Resource$Teamdrives$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Teamdrives$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Teamdrives$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * drive.teamdrives.delete + * @desc Permanently deletes a Team Drive for which the user is an + * organizer. The Team Drive cannot contain any untrashed items. + * @alias drive.teamdrives.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.teamDriveId The ID of the Team Drive + * @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?: Params$Resource$Teamdrives$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Teamdrives$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Teamdrives$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * drive.teamdrives.get + * @desc Gets a Team Drive's metadata by ID. + * @alias drive.teamdrives.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.teamDriveId The ID of the Team Drive + * @param {boolean=} params.useDomainAdminAccess Issue the request as a domain administrator; if set to true, then the requester will be granted access if they are an administrator of the domain to which the Team Drive belongs. + * @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?: Params$Resource$Teamdrives$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Teamdrives$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Teamdrives$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * drive.teamdrives.list + * @desc Lists the user's Team Drives. + * @alias drive.teamdrives.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {integer=} params.pageSize Maximum number of Team Drives to return. + * @param {string=} params.pageToken Page token for Team Drives. + * @param {string=} params.q Query string for searching Team Drives. + * @param {boolean=} params.useDomainAdminAccess Issue the request as a domain administrator; if set to true, then all Team Drives of the domain in which the requester is an administrator are returned. + * @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?: Params$Resource$Teamdrives$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Teamdrives$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Teamdrives$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * drive.teamdrives.update + * @desc Updates a Team Drive's metadata + * @alias drive.teamdrives.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.teamDriveId The ID of the Team Drive + * @param {boolean=} params.useDomainAdminAccess Issue the request as a domain administrator; if set to true, then the requester will be granted access if they are an administrator of the domain to which the Team Drive belongs. + * @param {().TeamDrive} 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?: Params$Resource$Teamdrives$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Teamdrives$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Teamdrives$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Teamdrives$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * An ID, such as a random UUID, which uniquely identifies this user's + * request for idempotent creation of a Team Drive. A repeated request by + * the same user and with the same request ID will avoid creating duplicates + * by attempting to create the same Team Drive. If the Team Drive already + * exists a 409 error will be returned. + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TeamDrive; + } + interface Params$Resource$Teamdrives$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the Team Drive + */ + teamDriveId?: string; + } + interface Params$Resource$Teamdrives$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the Team Drive + */ + teamDriveId?: string; + /** + * Issue the request as a domain administrator; if set to true, then the + * requester will be granted access if they are an administrator of the + * domain to which the Team Drive belongs. + */ + useDomainAdminAccess?: boolean; + } + interface Params$Resource$Teamdrives$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Maximum number of Team Drives to return. + */ + pageSize?: number; + /** + * Page token for Team Drives. + */ + pageToken?: string; + /** + * Query string for searching Team Drives. + */ + q?: string; + /** + * Issue the request as a domain administrator; if set to true, then all + * Team Drives of the domain in which the requester is an administrator are + * returned. + */ + useDomainAdminAccess?: boolean; + } + interface Params$Resource$Teamdrives$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the Team Drive + */ + teamDriveId?: string; + /** + * Issue the request as a domain administrator; if set to true, then the + * requester will be granted access if they are an administrator of the + * domain to which the Team Drive belongs. + */ + useDomainAdminAccess?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$TeamDrive; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/drive/v3.js b/express-server/node_modules/googleapis/build/src/apis/drive/v3.js new file mode 100644 index 00000000..2014324c --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/drive/v3.js @@ -0,0 +1,1370 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var drive_v3; +(function (drive_v3) { + /** + * Drive API + * + * Manages files in Drive including uploading, downloading, searching, + * detecting changes, and updating sharing permissions. + * + * @example + * const {google} = require('googleapis'); + * const drive = google.drive('v3'); + * + * @namespace drive + * @type {Function} + * @version v3 + * @variation v3 + * @param {object=} options Options for Drive + */ + class Drive { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.about = new Resource$About(this); + this.changes = new Resource$Changes(this); + this.channels = new Resource$Channels(this); + this.comments = new Resource$Comments(this); + this.files = new Resource$Files(this); + this.permissions = new Resource$Permissions(this); + this.replies = new Resource$Replies(this); + this.revisions = new Resource$Revisions(this); + this.teamdrives = new Resource$Teamdrives(this); + } + getRoot() { + return this.root; + } + } + drive_v3.Drive = Drive; + class Resource$About { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v3/about').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + drive_v3.Resource$About = Resource$About; + class Resource$Changes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + getStartPageToken(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v3/changes/startPageToken') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v3/changes').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['pageToken'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + watch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v3/changes/watch') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['pageToken'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + drive_v3.Resource$Changes = Resource$Changes; + class Resource$Channels { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + stop(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v3/channels/stop') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + drive_v3.Resource$Channels = Resource$Channels; + class Resource$Comments { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v3/files/{fileId}/comments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['fileId'], + pathParams: ['fileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v3/files/{fileId}/comments/{commentId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['fileId', 'commentId'], + pathParams: ['commentId', 'fileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v3/files/{fileId}/comments/{commentId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['fileId', 'commentId'], + pathParams: ['commentId', 'fileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v3/files/{fileId}/comments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['fileId'], + pathParams: ['fileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v3/files/{fileId}/comments/{commentId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['fileId', 'commentId'], + pathParams: ['commentId', 'fileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + drive_v3.Resource$Comments = Resource$Comments; + class Resource$Files { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + copy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v3/files/{fileId}/copy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['fileId'], + pathParams: ['fileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v3/files').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + mediaUrl: (rootUrl + '/upload/drive/v3/files').replace(/([^:]\/)\/+/g, '$1'), + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v3/files/{fileId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['fileId'], + pathParams: ['fileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + emptyTrash(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v3/files/trash') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + export(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v3/files/{fileId}/export') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['fileId', 'mimeType'], + pathParams: ['fileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + generateIds(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v3/files/generateIds') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v3/files/{fileId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['fileId'], + pathParams: ['fileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v3/files').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v3/files/{fileId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + mediaUrl: (rootUrl + '/upload/drive/v3/files/{fileId}') + .replace(/([^:]\/)\/+/g, '$1'), + requiredParams: ['fileId'], + pathParams: ['fileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + watch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v3/files/{fileId}/watch') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['fileId'], + pathParams: ['fileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + drive_v3.Resource$Files = Resource$Files; + class Resource$Permissions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v3/files/{fileId}/permissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['fileId'], + pathParams: ['fileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/drive/v3/files/{fileId}/permissions/{permissionId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['fileId', 'permissionId'], + pathParams: ['fileId', 'permissionId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/drive/v3/files/{fileId}/permissions/{permissionId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['fileId', 'permissionId'], + pathParams: ['fileId', 'permissionId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v3/files/{fileId}/permissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['fileId'], + pathParams: ['fileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/drive/v3/files/{fileId}/permissions/{permissionId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['fileId', 'permissionId'], + pathParams: ['fileId', 'permissionId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + drive_v3.Resource$Permissions = Resource$Permissions; + class Resource$Replies { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/drive/v3/files/{fileId}/comments/{commentId}/replies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['fileId', 'commentId'], + pathParams: ['commentId', 'fileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/drive/v3/files/{fileId}/comments/{commentId}/replies/{replyId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['fileId', 'commentId', 'replyId'], + pathParams: ['commentId', 'fileId', 'replyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/drive/v3/files/{fileId}/comments/{commentId}/replies/{replyId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['fileId', 'commentId', 'replyId'], + pathParams: ['commentId', 'fileId', 'replyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/drive/v3/files/{fileId}/comments/{commentId}/replies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['fileId', 'commentId'], + pathParams: ['commentId', 'fileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/drive/v3/files/{fileId}/comments/{commentId}/replies/{replyId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['fileId', 'commentId', 'replyId'], + pathParams: ['commentId', 'fileId', 'replyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + drive_v3.Resource$Replies = Resource$Replies; + class Resource$Revisions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v3/files/{fileId}/revisions/{revisionId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['fileId', 'revisionId'], + pathParams: ['fileId', 'revisionId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v3/files/{fileId}/revisions/{revisionId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['fileId', 'revisionId'], + pathParams: ['fileId', 'revisionId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v3/files/{fileId}/revisions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['fileId'], + pathParams: ['fileId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v3/files/{fileId}/revisions/{revisionId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['fileId', 'revisionId'], + pathParams: ['fileId', 'revisionId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + drive_v3.Resource$Revisions = Resource$Revisions; + class Resource$Teamdrives { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v3/teamdrives') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['requestId'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v3/teamdrives/{teamDriveId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['teamDriveId'], + pathParams: ['teamDriveId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v3/teamdrives/{teamDriveId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['teamDriveId'], + pathParams: ['teamDriveId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v3/teamdrives') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/drive/v3/teamdrives/{teamDriveId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['teamDriveId'], + pathParams: ['teamDriveId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + drive_v3.Resource$Teamdrives = Resource$Teamdrives; +})(drive_v3 = exports.drive_v3 || (exports.drive_v3 = {})); +//# sourceMappingURL=v3.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/drive/v3.js.map b/express-server/node_modules/googleapis/build/src/apis/drive/v3.js.map new file mode 100644 index 00000000..8e36199e --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/drive/v3.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v3.js","sourceRoot":"","sources":["../../../../src/apis/drive/v3.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/file/README.md b/express-server/node_modules/googleapis/build/src/apis/file/README.md new file mode 100644 index 00000000..c8d6459c --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/file/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/file + +> The Cloud Filestore API is used for creating and managing cloud file servers. + +## Installation + +```sh +$ npm install @google/file +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/file/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/file/index.d.ts new file mode 100644 index 00000000..ec202d77 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/file/index.d.ts @@ -0,0 +1,6 @@ +import { file_v1beta1 } from './v1beta1'; +export declare const VERSIONS: { + 'v1beta1': typeof file_v1beta1.File; +}; +export declare function file(version: 'v1beta1'): file_v1beta1.File; +export declare function file(options: file_v1beta1.Options): file_v1beta1.File; diff --git a/express-server/node_modules/googleapis/build/src/apis/file/index.js b/express-server/node_modules/googleapis/build/src/apis/file/index.js new file mode 100644 index 00000000..92e38cc0 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/file/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1beta1_1 = require("./v1beta1"); +exports.VERSIONS = { + 'v1beta1': v1beta1_1.file_v1beta1.File, +}; +function file(versionOrOptions) { + return googleapis_common_1.getAPI('file', versionOrOptions, exports.VERSIONS, this); +} +exports.file = file; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/file/index.js.map b/express-server/node_modules/googleapis/build/src/apis/file/index.js.map new file mode 100644 index 00000000..a022f4d2 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/file/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/file/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,uCAAuC;AAE1B,QAAA,QAAQ,GAAG;IACtB,SAAS,EAAE,sBAAY,CAAC,IAAI;CAC7B,CAAC;AAIF,SAAgB,IAAI,CAEhB,gBAAgD;IAClD,OAAO,0BAAM,CAAI,MAAM,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAC7D,CAAC;AAJD,oBAIC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/file/package.json b/express-server/node_modules/googleapis/build/src/apis/file/package.json new file mode 100644 index 00000000..ffe926ca --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/file/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/file", + "version": "0.1.0", + "description": "file", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/file/v1beta1.d.ts b/express-server/node_modules/googleapis/build/src/apis/file/v1beta1.d.ts new file mode 100644 index 00000000..c956fad0 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/file/v1beta1.d.ts @@ -0,0 +1,920 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace file_v1beta1 { + interface Options extends GlobalOptions { + version: 'v1beta1'; + } + /** + * Cloud Filestore API + * + * The Cloud Filestore API is used for creating and managing cloud file + * servers. + * + * @example + * const {google} = require('googleapis'); + * const file = google.file('v1beta1'); + * + * @namespace file + * @type {Function} + * @version v1beta1 + * @variation v1beta1 + * @param {object=} options Options for File + */ + class File { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + projects: Resource$Projects; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * The request message for Operations.CancelOperation. + */ + interface Schema$CancelOperationRequest { + } + /** + * The sets of network addresses and DNS names for hosts to which a given + * export or share should be allowed or denied. + */ + interface Schema$ClientList { + /** + * DNS names of hosts, with optional wildcards. + */ + hostNames?: string[]; + /** + * IPv4 addresses in the format {octet 1}.{octet 2}.{octet 3}.{octet 4}. + */ + ipAddresses?: string[]; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * File share export specification. + */ + interface Schema$Export { + /** + * The clients which may connect. + */ + allowedClients?: Schema$ClientList; + /** + * Writes may be completed when not yet on stable storage. + */ + async?: boolean; + /** + * The clients which may not connect. + */ + deniedClients?: Schema$ClientList; + /** + * Networks on which the export should appear. If none are specified, the + * default is all networks to which the instance is connected to. + */ + networks?: Schema$NetworkConfig[]; + /** + * Export rule for NFS + */ + nfsExport?: Schema$NfsExport; + /** + * Path to export (either "" or of the form + * /file_share_name[/subdir]). + */ + path?: string; + /** + * Whether the file share should be exported as read-only. + */ + readOnly?: boolean; + /** + * Export rule for SMB + */ + smbExport?: Schema$SmbExport; + } + /** + * File share configuration for the instance. + */ + interface Schema$FileShareConfig { + /** + * File share capacity in gigabytes (GB). Cloud Filestore defines 1 GB as + * 1024^3 bytes. + */ + capacityGb?: string; + /** + * Delete requested. The file share will be deleted. + */ + deleted?: boolean; + /** + * Service enabled. When enabled, the instance exposes the exports to the + * user for mounting. + */ + enabled?: boolean; + /** + * Exports. If protocols and exports are both zero-length, a default + * protocol of NFSV3 and a default export of "*" are provided, and + * enabled is set to true. + */ + exports?: Schema$Export[]; + /** + * The name of the file share (must be 16 characters or less). + */ + name?: string; + /** + * Protocols supported. + */ + protocols?: string[]; + } + /** + * A Cloud Filestore instance. + */ + interface Schema$Instance { + /** + * Output only. The time when the instance was created. + */ + createTime?: string; + /** + * Optional. A description of the instance (2048 characters or less). + */ + description?: string; + /** + * Server-specified ETag for the instance resource to prevent simultaneous + * updates from overwriting each other. + */ + etag?: string; + /** + * File system shares on the instance. For this version, only a single file + * share is supported. + */ + fileShares?: Schema$FileShareConfig[]; + /** + * Resource labels to represent user provided metadata. + */ + labels?: any; + /** + * The logging service the instance should use to write logs. Currently + * available options: * `logging.googleapis.com` - the Google Cloud Logging + * service. * `none` - no logs will be exported from the instance. * if left + * as an empty string,`logging.googleapis.com` will be used. + */ + loggingService?: string; + /** + * The monitoring service the instance should use to write metrics. + * Currently available options: * `monitoring.googleapis.com` - the Google + * Cloud Monitoring service. * `none` - no metrics will be exported from the + * instance. * if left as an empty string, `monitoring.googleapis.com` will + * be used. + */ + monitoringService?: string; + /** + * Output only. The resource name of the instance, in the format + * projects/{project_id}/locations/{location_id}/instances/{instance_id}. + */ + name?: string; + /** + * VPC networks to which the instance is connected. For this version, only a + * single network is supported. + */ + networks?: Schema$NetworkConfig[]; + /** + * Output only. The instance state. + */ + state?: string; + /** + * Output only. Additional information about the instance state, if + * available. + */ + statusMessage?: string; + /** + * The service tier of the instance. + */ + tier?: string; + } + /** + * ListInstancesResponse is the result of ListInstancesRequest. + */ + interface Schema$ListInstancesResponse { + /** + * A list of instances in the project for the specified location. If the + * {location} value in the request is "-", the response contains a + * list of instances from all locations. If any location is unreachable, the + * response will only return instances in reachable locations and the + * "unreachable" field will be populated with a list of + * unreachable locations. + */ + instances?: Schema$Instance[]; + /** + * The token you can use to retrieve the next page of results. Not returned + * if there are no more results in the list. + */ + nextPageToken?: string; + /** + * Locations that could not be reached. + */ + unreachable?: string[]; + } + /** + * The response message for Locations.ListLocations. + */ + interface Schema$ListLocationsResponse { + /** + * A list of locations that matches the specified filter in the request. + */ + locations?: Schema$Location[]; + /** + * The standard List next-page token. + */ + nextPageToken?: string; + } + /** + * The response message for Operations.ListOperations. + */ + interface Schema$ListOperationsResponse { + /** + * The standard List next-page token. + */ + nextPageToken?: string; + /** + * A list of operations that matches the specified filter in the request. + */ + operations?: Schema$Operation[]; + } + /** + * A resource that represents Google Cloud Platform location. + */ + interface Schema$Location { + /** + * The friendly name for this location, typically a nearby city name. For + * example, "Tokyo". + */ + displayName?: string; + /** + * Cross-service attributes for the location. For example + * {"cloud.googleapis.com/region": "us-east1"} + */ + labels?: any; + /** + * The canonical id for this location. For example: `"us-east1"`. + */ + locationId?: string; + /** + * Service-specific metadata. For example the available capacity at the + * given location. + */ + metadata?: any; + /** + * Resource name for the location, which may vary between implementations. + * For example: `"projects/example-project/locations/us-east1"` + */ + name?: string; + } + /** + * Network configuration for the instance. + */ + interface Schema$NetworkConfig { + /** + * Output only. IPv4 addresses in the format {octet 1}.{octet 2}.{octet + * 3}.{octet 4} or IPv6 addresses in the format {block 1}:{block 2}:{block + * 3}:{block 4}:{block 5}:{block 6}:{block 7}:{block 8}. + */ + ipAddresses?: string[]; + /** + * Internet protocol versions for which the instance has IP addresses + * assigned. For this version, only MODE_IPV4 is supported. + */ + modes?: string[]; + /** + * The name of the Google Compute Engine [VPC + * network](/compute/docs/networks-and-firewalls#networks) to which the + * instance is connected. + */ + network?: string; + /** + * A /29 CIDR block in one of the [internal IP address + * ranges](https://www.arin.net/knowledge/address_filters.html) that + * identifies the range of IP addresses reserved for this instance. For + * example, 10.0.0.0/29 or 192.168.0.0/29. The range you specify can't + * overlap with either existing subnets or assigned IP address ranges for + * other Cloud Filestore instances in the selected VPC network. + */ + reservedIpRange?: string; + /** + * Output only. The name of the Google Compute Engine + * [subnetwork](/compute/docs/subnetworks) to which the instance is + * connected. + */ + subnetwork?: string; + } + /** + * NfsExport specifies attributes of a given NFS export rule. + */ + interface Schema$NfsExport { + /** + * GID for anonymous or squashed GIDs. + */ + anonymousGid?: string; + /** + * UID for anonymous or squashed UIDs. + */ + anonymousUid?: string; + /** + * Network transport protocols to be enabled. The default is TCP. + */ + protocols?: string[]; + /** + * The mode of mapping of UIDs and GIDs (if any). + */ + squash?: string; + /** + * If unauthenticated_locks_allowed is true, locking requests do not require + * authentication. + */ + unauthenticatedLocksAllowed?: boolean; + /** + * If user_ports_allowed is true, client ports greater than or equal to 1024 + * are allowed. + */ + userPortsAllowed?: boolean; + } + /** + * This resource represents a long-running operation that is the result of a + * network API call. + */ + interface Schema$Operation { + /** + * If the value is `false`, it means the operation is still in progress. If + * `true`, the operation is completed, and either `error` or `response` is + * available. + */ + done?: boolean; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * Service-specific metadata associated with the operation. It typically + * contains progress information and common metadata such as create time. + * Some services might not provide such metadata. Any method that returns a + * long-running operation should document the metadata type, if any. + */ + metadata?: any; + /** + * The server-assigned name, which is only unique within the same service + * that originally returns it. If you use the default HTTP mapping, the + * `name` should have the format of `operations/some/unique/name`. + */ + name?: string; + /** + * The normal response of the operation in case of success. If the original + * method returns no data on success, such as `Delete`, the response is + * `google.protobuf.Empty`. If the original method is standard + * `Get`/`Create`/`Update`, the response should be the resource. For other + * methods, the response should have the type `XxxResponse`, where `Xxx` is + * the original method name. For example, if the original method name is + * `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: any; + } + /** + * Represents the metadata of the long-running operation. + */ + interface Schema$OperationMetadata { + /** + * [Output only] API version used to start the operation. + */ + apiVersion?: string; + /** + * [Output only] Identifies whether the user has requested cancellation of + * the operation. Operations that have successfully been cancelled have + * Operation.error value with a google.rpc.Status.code of 1, corresponding + * to `Code.CANCELLED`. + */ + cancelRequested?: boolean; + /** + * [Output only] The time the operation was created. + */ + createTime?: string; + /** + * [Output only] The time the operation finished running. + */ + endTime?: string; + /** + * [Output only] Human-readable status of the operation, if any. + */ + statusDetail?: string; + /** + * [Output only] Server-defined resource path for the target of the + * operation. + */ + target?: string; + /** + * [Output only] Name of the verb executed by the operation. + */ + verb?: string; + } + /** + * SmbExport defines attributes of a given SMB sharing rule. + */ + interface Schema$SmbExport { + /** + * If true, allow clients to see this share when browsing the instance for + * shares. + */ + browsable?: boolean; + /** + * The published name of the share (if different from name). + */ + fileShare?: string; + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + class Resource$Projects { + root: File; + locations: Resource$Projects$Locations; + constructor(root: File); + getRoot(): File; + } + class Resource$Projects$Locations { + root: File; + instances: Resource$Projects$Locations$Instances; + operations: Resource$Projects$Locations$Operations; + constructor(root: File); + getRoot(): File; + /** + * file.projects.locations.get + * @desc Gets information about a location. + * @alias file.projects.locations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Resource name for the location. + * @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?: Params$Resource$Projects$Locations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Locations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Locations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * file.projects.locations.list + * @desc Lists information about the supported locations for this service. + * @alias file.projects.locations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter The standard list filter. + * @param {string} params.name The resource that owns the locations collection, if applicable. + * @param {integer=} params.pageSize The standard list page size. + * @param {string=} params.pageToken The standard list page token. + * @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?: Params$Resource$Projects$Locations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Resource name for the location. + */ + name?: string; + } + interface Params$Resource$Projects$Locations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The standard list filter. + */ + filter?: string; + /** + * The resource that owns the locations collection, if applicable. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } + class Resource$Projects$Locations$Instances { + root: File; + constructor(root: File); + getRoot(): File; + /** + * file.projects.locations.instances.create + * @desc Creates an instance. + * @alias file.projects.locations.instances.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.instanceId The name of the instance to create. The name must be unique for the specified project and location. + * @param {string} params.parent The instance's project and location, in the format projects/{project_id}/locations/{location}. In Cloud Filestore, locations map to GCP zones, for example **us-west1-b**. + * @param {().Instance} 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 + */ + create(params?: Params$Resource$Projects$Locations$Instances$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Locations$Instances$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Locations$Instances$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * file.projects.locations.instances.delete + * @desc Deletes an instance. + * @alias file.projects.locations.instances.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The instance resource name, in the format projects/{project_id}/locations/{location}/instances/{instance_id} + * @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?: Params$Resource$Projects$Locations$Instances$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Locations$Instances$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Locations$Instances$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * file.projects.locations.instances.get + * @desc Gets the details of a specific instance. + * @alias file.projects.locations.instances.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The instance resource name, in the format projects/{project_id}/locations/{location}/instances/{instance_id}. + * @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?: Params$Resource$Projects$Locations$Instances$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Locations$Instances$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Locations$Instances$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * file.projects.locations.instances.list + * @desc Lists all instances in a project for either a specified location or + * for all locations. + * @alias file.projects.locations.instances.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter List filter. + * @param {string=} params.orderBy Sort results. Supported values are "name", "name desc" or "" (unsorted). + * @param {integer=} params.pageSize The maximum number of items to return. + * @param {string=} params.pageToken The next_page_token value to use if there are additional results to retrieve for this list request. + * @param {string} params.parent The project and location for which to retrieve instance information, in the format projects/{project_id}/locations/{location}. In Cloud Filestore, locations map to GCP zones, for example **us-west1-b**. To retrieve instance information for all locations, use "-" for the {location} value. + * @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?: Params$Resource$Projects$Locations$Instances$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$Instances$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$Instances$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * file.projects.locations.instances.patch + * @desc Updates the settings of a specific instance. + * @alias file.projects.locations.instances.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Output only. The resource name of the instance, in the format projects/{project_id}/locations/{location_id}/instances/{instance_id}. + * @param {string=} params.updateMask Mask of fields to update. At least one path must be supplied in this field. The elements of the repeated paths field may only include these fields: "description" + * @param {().Instance} 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 + */ + patch(params?: Params$Resource$Projects$Locations$Instances$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Locations$Instances$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Locations$Instances$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Instances$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the instance to create. The name must be unique for the + * specified project and location. + */ + instanceId?: string; + /** + * The instance's project and location, in the format + * projects/{project_id}/locations/{location}. In Cloud Filestore, locations + * map to GCP zones, for example **us-west1-b**. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Instance; + } + interface Params$Resource$Projects$Locations$Instances$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The instance resource name, in the format + * projects/{project_id}/locations/{location}/instances/{instance_id} + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Instances$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The instance resource name, in the format + * projects/{project_id}/locations/{location}/instances/{instance_id}. + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Instances$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * List filter. + */ + filter?: string; + /** + * Sort results. Supported values are "name", "name desc" or "" (unsorted). + */ + orderBy?: string; + /** + * The maximum number of items to return. + */ + pageSize?: number; + /** + * The next_page_token value to use if there are additional results to + * retrieve for this list request. + */ + pageToken?: string; + /** + * The project and location for which to retrieve instance information, in + * the format projects/{project_id}/locations/{location}. In Cloud + * Filestore, locations map to GCP zones, for example **us-west1-b**. To + * retrieve instance information for all locations, use "-" for the + * {location} value. + */ + parent?: string; + } + interface Params$Resource$Projects$Locations$Instances$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Output only. The resource name of the instance, in the format + * projects/{project_id}/locations/{location_id}/instances/{instance_id}. + */ + name?: string; + /** + * Mask of fields to update. At least one path must be supplied in this + * field. The elements of the repeated paths field may only include these + * fields: "description" + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Instance; + } + class Resource$Projects$Locations$Operations { + root: File; + constructor(root: File); + getRoot(): File; + /** + * file.projects.locations.operations.cancel + * @desc Starts asynchronous cancellation on a long-running operation. The + * server makes a best effort to cancel the operation, but success is not + * guaranteed. If the server doesn't support this method, it returns + * `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation + * or other methods to check whether the cancellation succeeded or whether + * the operation completed despite cancellation. On successful cancellation, + * the operation is not deleted; instead, it becomes an operation with an + * Operation.error value with a google.rpc.Status.code of 1, corresponding + * to `Code.CANCELLED`. + * @alias file.projects.locations.operations.cancel + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource to be cancelled. + * @param {().CancelOperationRequest} 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 + */ + cancel(params?: Params$Resource$Projects$Locations$Operations$Cancel, options?: MethodOptions): AxiosPromise; + cancel(params: Params$Resource$Projects$Locations$Operations$Cancel, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + cancel(params: Params$Resource$Projects$Locations$Operations$Cancel, callback: BodyResponseCallback): void; + cancel(callback: BodyResponseCallback): void; + /** + * file.projects.locations.operations.delete + * @desc Deletes a long-running operation. This method indicates that the + * client is no longer interested in the operation result. It does not + * cancel the operation. If the server doesn't support this method, it + * returns `google.rpc.Code.UNIMPLEMENTED`. + * @alias file.projects.locations.operations.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource to be deleted. + * @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?: Params$Resource$Projects$Locations$Operations$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Locations$Operations$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Locations$Operations$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * file.projects.locations.operations.get + * @desc Gets the latest state of a long-running operation. Clients can use + * this method to poll the operation result at intervals as recommended by + * the API service. + * @alias file.projects.locations.operations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource. + * @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?: Params$Resource$Projects$Locations$Operations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Locations$Operations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Locations$Operations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * file.projects.locations.operations.list + * @desc Lists operations that match the specified filter in the request. If + * the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: + * the `name` binding allows API services to override the binding to use + * different resource name schemes, such as `users/x/operations`. To + * override the binding, API services can add a binding such as + * `"/v1/{name=users/x}/operations"` to their service configuration. For + * backwards compatibility, the default name includes the operations + * collection id, however overriding users must ensure the name binding is + * the parent resource, without the operations collection id. + * @alias file.projects.locations.operations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter The standard list filter. + * @param {string} params.name The name of the operation's parent resource. + * @param {integer=} params.pageSize The standard list page size. + * @param {string=} params.pageToken The standard list page token. + * @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?: Params$Resource$Projects$Locations$Operations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$Operations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$Operations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Operations$Cancel { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource to be cancelled. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CancelOperationRequest; + } + interface Params$Resource$Projects$Locations$Operations$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource to be deleted. + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Operations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource. + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Operations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The standard list filter. + */ + filter?: string; + /** + * The name of the operation's parent resource. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/file/v1beta1.js b/express-server/node_modules/googleapis/build/src/apis/file/v1beta1.js new file mode 100644 index 00000000..16ad4438 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/file/v1beta1.js @@ -0,0 +1,434 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var file_v1beta1; +(function (file_v1beta1) { + /** + * Cloud Filestore API + * + * The Cloud Filestore API is used for creating and managing cloud file + * servers. + * + * @example + * const {google} = require('googleapis'); + * const file = google.file('v1beta1'); + * + * @namespace file + * @type {Function} + * @version v1beta1 + * @variation v1beta1 + * @param {object=} options Options for File + */ + class File { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.projects = new Resource$Projects(this); + } + getRoot() { + return this.root; + } + } + file_v1beta1.File = File; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.locations = new Resource$Projects$Locations(root); + } + getRoot() { + return this.root; + } + } + file_v1beta1.Resource$Projects = Resource$Projects; + class Resource$Projects$Locations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.instances = new Resource$Projects$Locations$Instances(root); + this.operations = new Resource$Projects$Locations$Operations(root); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://file.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://file.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}/locations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + file_v1beta1.Resource$Projects$Locations = Resource$Projects$Locations; + class Resource$Projects$Locations$Instances { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://file.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+parent}/instances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://file.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://file.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://file.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+parent}/instances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://file.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + file_v1beta1.Resource$Projects$Locations$Instances = Resource$Projects$Locations$Instances; + class Resource$Projects$Locations$Operations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + cancel(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://file.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}:cancel') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://file.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://file.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://file.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}/operations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + file_v1beta1.Resource$Projects$Locations$Operations = Resource$Projects$Locations$Operations; +})(file_v1beta1 = exports.file_v1beta1 || (exports.file_v1beta1 = {})); +//# sourceMappingURL=v1beta1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/file/v1beta1.js.map b/express-server/node_modules/googleapis/build/src/apis/file/v1beta1.js.map new file mode 100644 index 00000000..aea016fd --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/file/v1beta1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1beta1.js","sourceRoot":"","sources":["../../../../src/apis/file/v1beta1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/firebasedynamiclinks/README.md b/express-server/node_modules/googleapis/build/src/apis/firebasedynamiclinks/README.md new file mode 100644 index 00000000..136e5a46 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/firebasedynamiclinks/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/firebasedynamiclinks + +> Programmatically creates and manages Firebase Dynamic Links. + +## Installation + +```sh +$ npm install @google/firebasedynamiclinks +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/firebasedynamiclinks/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/firebasedynamiclinks/index.d.ts new file mode 100644 index 00000000..0022b664 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/firebasedynamiclinks/index.d.ts @@ -0,0 +1,6 @@ +import { firebasedynamiclinks_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof firebasedynamiclinks_v1.Firebasedynamiclinks; +}; +export declare function firebasedynamiclinks(version: 'v1'): firebasedynamiclinks_v1.Firebasedynamiclinks; +export declare function firebasedynamiclinks(options: firebasedynamiclinks_v1.Options): firebasedynamiclinks_v1.Firebasedynamiclinks; diff --git a/express-server/node_modules/googleapis/build/src/apis/firebasedynamiclinks/index.js b/express-server/node_modules/googleapis/build/src/apis/firebasedynamiclinks/index.js new file mode 100644 index 00000000..8ac85c18 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/firebasedynamiclinks/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.firebasedynamiclinks_v1.Firebasedynamiclinks, +}; +function firebasedynamiclinks(versionOrOptions) { + return googleapis_common_1.getAPI('firebasedynamiclinks', versionOrOptions, exports.VERSIONS, this); +} +exports.firebasedynamiclinks = firebasedynamiclinks; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/firebasedynamiclinks/index.js.map b/express-server/node_modules/googleapis/build/src/apis/firebasedynamiclinks/index.js.map new file mode 100644 index 00000000..17a4adbf --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/firebasedynamiclinks/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/firebasedynamiclinks/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAA6C;AAEhC,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,4BAAuB,CAAC,oBAAoB;CACnD,CAAC;AAMF,SACA,oBAAoB,CAEhB,gBAAsD;IACxD,OAAO,0BAAM,CAAI,sBAAsB,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAC7E,CAAC;AALD,oDAKC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/firebasedynamiclinks/package.json b/express-server/node_modules/googleapis/build/src/apis/firebasedynamiclinks/package.json new file mode 100644 index 00000000..d0d0c549 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/firebasedynamiclinks/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/firebasedynamiclinks", + "version": "0.1.0", + "description": "firebasedynamiclinks", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/firebasedynamiclinks/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/firebasedynamiclinks/v1.d.ts new file mode 100644 index 00000000..35142637 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/firebasedynamiclinks/v1.d.ts @@ -0,0 +1,813 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace firebasedynamiclinks_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Firebase Dynamic Links API + * + * Programmatically creates and manages Firebase Dynamic Links. + * + * @example + * const {google} = require('googleapis'); + * const firebasedynamiclinks = google.firebasedynamiclinks('v1'); + * + * @namespace firebasedynamiclinks + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Firebasedynamiclinks + */ + class Firebasedynamiclinks { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + managedShortLinks: Resource$Managedshortlinks; + shortLinks: Resource$Shortlinks; + v1: Resource$V1; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Tracking parameters supported by Dynamic Link. + */ + interface Schema$AnalyticsInfo { + /** + * Google Play Campaign Measurements. + */ + googlePlayAnalytics?: Schema$GooglePlayAnalytics; + /** + * iTunes Connect App Analytics. + */ + itunesConnectAnalytics?: Schema$ITunesConnectAnalytics; + } + /** + * Android related attributes to the Dynamic Link. + */ + interface Schema$AndroidInfo { + /** + * Link to open on Android if the app is not installed. + */ + androidFallbackLink?: string; + /** + * If specified, this overrides the ‘link’ parameter on Android. + */ + androidLink?: string; + /** + * Minimum version code for the Android app. If the installed app’s version + * code is lower, then the user is taken to the Play Store. + */ + androidMinPackageVersionCode?: string; + /** + * Android package name of the app. + */ + androidPackageName?: string; + } + /** + * Request to create a managed Short Dynamic Link. + */ + interface Schema$CreateManagedShortLinkRequest { + /** + * Information about the Dynamic Link to be shortened. [Learn + * more](https://firebase.google.com/docs/reference/dynamic-links/link-shortener). + */ + dynamicLinkInfo?: Schema$DynamicLinkInfo; + /** + * Full long Dynamic Link URL with desired query parameters specified. For + * example, + * "https://sample.app.goo.gl/?link=http://www.google.com&apn=com.sample", + * [Learn + * more](https://firebase.google.com/docs/reference/dynamic-links/link-shortener). + */ + longDynamicLink?: string; + /** + * Link name to associate with the link. It's used for marketer to + * identify manually-created links in the Firebase console + * (https://console.firebase.google.com/). Links must be named to be + * tracked. + */ + name?: string; + /** + * Short Dynamic Link suffix. Optional. + */ + suffix?: Schema$Suffix; + } + /** + * Response to create a short Dynamic Link. + */ + interface Schema$CreateManagedShortLinkResponse { + /** + * Short Dynamic Link value. e.g. https://abcd.app.goo.gl/wxyz + */ + managedShortLink?: Schema$ManagedShortLink; + /** + * Preview link to show the link flow chart. (debug info.) + */ + previewLink?: string; + /** + * Information about potential warnings on link creation. + */ + warning?: Schema$DynamicLinkWarning[]; + } + /** + * Request to create a short Dynamic Link. + */ + interface Schema$CreateShortDynamicLinkRequest { + /** + * Information about the Dynamic Link to be shortened. [Learn + * more](https://firebase.google.com/docs/reference/dynamic-links/link-shortener). + */ + dynamicLinkInfo?: Schema$DynamicLinkInfo; + /** + * Full long Dynamic Link URL with desired query parameters specified. For + * example, + * "https://sample.app.goo.gl/?link=http://www.google.com&apn=com.sample", + * [Learn + * more](https://firebase.google.com/docs/reference/dynamic-links/link-shortener). + */ + longDynamicLink?: string; + /** + * Short Dynamic Link suffix. Optional. + */ + suffix?: Schema$Suffix; + } + /** + * Response to create a short Dynamic Link. + */ + interface Schema$CreateShortDynamicLinkResponse { + /** + * Preview link to show the link flow chart. (debug info.) + */ + previewLink?: string; + /** + * Short Dynamic Link value. e.g. https://abcd.app.goo.gl/wxyz + */ + shortLink?: string; + /** + * Information about potential warnings on link creation. + */ + warning?: Schema$DynamicLinkWarning[]; + } + /** + * Desktop related attributes to the Dynamic Link. + */ + interface Schema$DesktopInfo { + /** + * Link to open on desktop. + */ + desktopFallbackLink?: string; + } + /** + * Signals associated with the device making the request. + */ + interface Schema$DeviceInfo { + /** + * Device model name. + */ + deviceModelName?: string; + /** + * Device language code setting. + */ + languageCode?: string; + /** + * Device language code setting obtained by executing JavaScript code in + * WebView. + */ + languageCodeFromWebview?: string; + /** + * Device language code raw setting. iOS does returns language code in + * different format than iOS WebView. For example WebView returns en_US, but + * iOS returns en-US. Field below will return raw value returned by iOS. + */ + languageCodeRaw?: string; + /** + * Device display resolution height. + */ + screenResolutionHeight?: string; + /** + * Device display resolution width. + */ + screenResolutionWidth?: string; + /** + * Device timezone setting. + */ + timezone?: string; + } + /** + * Dynamic Link event stat. + */ + interface Schema$DynamicLinkEventStat { + /** + * The number of times this event occurred. + */ + count?: string; + /** + * Link event. + */ + event?: string; + /** + * Requested platform. + */ + platform?: string; + } + /** + * Information about a Dynamic Link. + */ + interface Schema$DynamicLinkInfo { + /** + * Parameters used for tracking. See all tracking parameters in the + * [documentation](https://firebase.google.com/docs/dynamic-links/create-manually). + */ + analyticsInfo?: Schema$AnalyticsInfo; + /** + * Android related information. See Android related parameters in the + * [documentation](https://firebase.google.com/docs/dynamic-links/create-manually). + */ + androidInfo?: Schema$AndroidInfo; + /** + * Desktop related information. See desktop related parameters in the + * [documentation](https://firebase.google.com/docs/dynamic-links/create-manually). + */ + desktopInfo?: Schema$DesktopInfo; + /** + * E.g. https://maps.app.goo.gl, https://maps.page.link, https://g.co/maps + * More examples can be found in description of getNormalizedUriPrefix in + * j/c/g/firebase/dynamiclinks/uri/DdlDomain.java + */ + domainUriPrefix?: string; + /** + * Dynamic Links domain that the project owns, e.g. abcd.app.goo.gl [Learn + * more](https://firebase.google.com/docs/dynamic-links/android/receive) on + * how to set up Dynamic Link domain associated with your Firebase project. + * Required. + */ + dynamicLinkDomain?: string; + /** + * iOS related information. See iOS related parameters in the + * [documentation](https://firebase.google.com/docs/dynamic-links/create-manually). + */ + iosInfo?: Schema$IosInfo; + /** + * The link your app will open, You can specify any URL your app can handle. + * This link must be a well-formatted URL, be properly URL-encoded, and use + * the HTTP or HTTPS scheme. See 'link' parameters in the + * [documentation](https://firebase.google.com/docs/dynamic-links/create-manually). + * Required. + */ + link?: string; + /** + * Information of navigation behavior of a Firebase Dynamic Links. + */ + navigationInfo?: Schema$NavigationInfo; + /** + * Parameters for social meta tag params. Used to set meta tag data for link + * previews on social sites. + */ + socialMetaTagInfo?: Schema$SocialMetaTagInfo; + } + /** + * Analytics stats of a Dynamic Link for a given timeframe. + */ + interface Schema$DynamicLinkStats { + /** + * Dynamic Link event stats. + */ + linkEventStats?: Schema$DynamicLinkEventStat[]; + } + /** + * Dynamic Links warning messages. + */ + interface Schema$DynamicLinkWarning { + /** + * The warning code. + */ + warningCode?: string; + /** + * The document describing the warning, and helps resolve. + */ + warningDocumentLink?: string; + /** + * The warning message to help developers improve their requests. + */ + warningMessage?: string; + } + /** + * Request for iSDK to execute strong match flow for post-install attribution. + * This is meant for iOS requests only. Requests from other platforms will not + * be honored. + */ + interface Schema$GetIosPostInstallAttributionRequest { + /** + * App installation epoch time (https://en.wikipedia.org/wiki/Unix_time). + * This is a client signal for a more accurate weak match. + */ + appInstallationTime?: string; + /** + * APP bundle ID. + */ + bundleId?: string; + /** + * Device information. + */ + device?: Schema$DeviceInfo; + /** + * iOS version, ie: 9.3.5. Consider adding "build". + */ + iosVersion?: string; + /** + * App post install attribution retrieval information. Disambiguates + * mechanism (iSDK or developer invoked) to retrieve payload from clicked + * link. + */ + retrievalMethod?: string; + /** + * Google SDK version. + */ + sdkVersion?: string; + /** + * Possible unique matched link that server need to check before performing + * fingerprint match. If passed link is short server need to expand the + * link. If link is long server need to vslidate the link. + */ + uniqueMatchLinkToCheck?: string; + /** + * Strong match page information. Disambiguates between default UI and + * custom page to present when strong match succeeds/fails to find cookie. + */ + visualStyle?: string; + } + /** + * Response for iSDK to execute strong match flow for post-install + * attribution. + */ + interface Schema$GetIosPostInstallAttributionResponse { + /** + * The minimum version for app, specified by dev through ?imv= parameter. + * Return to iSDK to allow app to evaluate if current version meets this. + */ + appMinimumVersion?: string; + /** + * The confidence of the returned attribution. + */ + attributionConfidence?: string; + /** + * The deep-link attributed post-install via one of several techniques + * (fingerprint, copy unique). + */ + deepLink?: string; + /** + * User-agent specific custom-scheme URIs for iSDK to open. This will be set + * according to the user-agent tha the click was originally made in. There + * is no Safari-equivalent custom-scheme open URLs. ie: + * googlechrome://www.example.com ie: + * firefox://open-url?url=http://www.example.com ie: + * opera-http://example.com + */ + externalBrowserDestinationLink?: string; + /** + * The link to navigate to update the app if min version is not met. This is + * either (in order): 1) fallback link (from ?ifl= parameter, if specified + * by developer) or 2) AppStore URL (from ?isi= parameter, if specified), or + * 3) the payload link (from required link= parameter). + */ + fallbackLink?: string; + /** + * Invitation ID attributed post-install via one of several techniques + * (fingerprint, copy unique). + */ + invitationId?: string; + /** + * Instruction for iSDK to attemmpt to perform strong match. For instance, + * if browser does not support/allow cookie or outside of support browsers, + * this will be false. + */ + isStrongMatchExecutable?: boolean; + /** + * Describes why match failed, ie: "discarded due to low + * confidence". This message will be publicly visible. + */ + matchMessage?: string; + /** + * Entire FDL (short or long) attributed post-install via one of several + * techniques (fingerprint, copy unique). + */ + requestedLink?: string; + /** + * Which IP version the request was made from. + */ + requestIpVersion?: string; + /** + * The entire FDL, expanded from a short link. It is the same as the + * requested_link, if it is long. Parameters from this should not be used + * directly (ie: server can default utm_[campaign|medium|source] to a value + * when requested_link lack them, server determine the best fallback_link + * when requested_link specifies >1 fallback links). + */ + resolvedLink?: string; + /** + * Scion campaign value to be propagated by iSDK to Scion at post-install. + */ + utmCampaign?: string; + /** + * Scion medium value to be propagated by iSDK to Scion at post-install. + */ + utmMedium?: string; + /** + * Scion source value to be propagated by iSDK to Scion at post-install. + */ + utmSource?: string; + } + /** + * Request for iSDK to get reopen attribution for app universal link open + * deeplinking. This endpoint is meant for only iOS requests. + */ + interface Schema$GetIosReopenAttributionRequest { + /** + * APP bundle ID. + */ + bundleId?: string; + /** + * FDL link to be verified from an app universal link open. The FDL link can + * be one of: 1) short FDL. e.g. <app_code>.page.link/<ddl_id>, + * or 2) long FDL. e.g. <app_code>.page.link/?{query params}, or 3) + * Invite FDL. e.g. <app_code>.page.link/i/<invite_id_or_alias> + */ + requestedLink?: string; + } + /** + * Response for iSDK to get reopen attribution for app universal link open + * deeplinking. This endpoint is meant for only iOS requests. + */ + interface Schema$GetIosReopenAttributionResponse { + /** + * The deep-link attributed the app universal link open. For both regular + * FDL links and invite FDL links. + */ + deepLink?: string; + /** + * Optional invitation ID, for only invite typed requested FDL links. + */ + invitationId?: string; + /** + * The entire FDL, expanded from a short link. It is the same as the + * requested_link, if it is long. + */ + resolvedLink?: string; + /** + * Scion campaign value to be propagated by iSDK to Scion at app-reopen. + */ + utmCampaign?: string; + /** + * Scion medium value to be propagated by iSDK to Scion at app-reopen. + */ + utmMedium?: string; + /** + * Scion source value to be propagated by iSDK to Scion at app-reopen. + */ + utmSource?: string; + } + /** + * Parameters for Google Play Campaign Measurements. [Learn + * more](https://developers.google.com/analytics/devguides/collection/android/v4/campaigns#campaign-params) + */ + interface Schema$GooglePlayAnalytics { + /** + * [AdWords autotagging + * parameter](https://support.google.com/analytics/answer/1033981?hl=en); + * used to measure Google AdWords ads. This value is generated dynamically + * and should never be modified. + */ + gclid?: string; + /** + * Campaign name; used for keyword analysis to identify a specific product + * promotion or strategic campaign. + */ + utmCampaign?: string; + /** + * Campaign content; used for A/B testing and content-targeted ads to + * differentiate ads or links that point to the same URL. + */ + utmContent?: string; + /** + * Campaign medium; used to identify a medium such as email or + * cost-per-click. + */ + utmMedium?: string; + /** + * Campaign source; used to identify a search engine, newsletter, or other + * source. + */ + utmSource?: string; + /** + * Campaign term; used with paid search to supply the keywords for ads. + */ + utmTerm?: string; + } + /** + * iOS related attributes to the Dynamic Link.. + */ + interface Schema$IosInfo { + /** + * iOS App Store ID. + */ + iosAppStoreId?: string; + /** + * iOS bundle ID of the app. + */ + iosBundleId?: string; + /** + * Custom (destination) scheme to use for iOS. By default, we’ll use the + * bundle ID as the custom scheme. Developer can override this behavior + * using this param. + */ + iosCustomScheme?: string; + /** + * Link to open on iOS if the app is not installed. + */ + iosFallbackLink?: string; + /** + * iPad bundle ID of the app. + */ + iosIpadBundleId?: string; + /** + * If specified, this overrides the ios_fallback_link value on iPads. + */ + iosIpadFallbackLink?: string; + } + /** + * Parameters for iTunes Connect App Analytics. + */ + interface Schema$ITunesConnectAnalytics { + /** + * Affiliate token used to create affiliate-coded links. + */ + at?: string; + /** + * Campaign text that developers can optionally add to any link in order to + * track sales from a specific marketing campaign. + */ + ct?: string; + /** + * iTune media types, including music, podcasts, audiobooks and so on. + */ + mt?: string; + /** + * Provider token that enables analytics for Dynamic Links from within + * iTunes Connect. + */ + pt?: string; + } + /** + * Managed Short Link. + */ + interface Schema$ManagedShortLink { + /** + * Creation timestamp of the short link. + */ + creationTime?: string; + /** + * Attributes that have been flagged about this short url. + */ + flaggedAttribute?: string[]; + /** + * Full Dyamic Link info + */ + info?: Schema$DynamicLinkInfo; + /** + * Short durable link url, for example, + * "https://sample.app.goo.gl/xyz123". Required. + */ + link?: string; + /** + * Link name defined by the creator. Required. + */ + linkName?: string; + /** + * Visibility status of link. + */ + visibility?: string; + } + /** + * Information of navigation behavior. + */ + interface Schema$NavigationInfo { + /** + * If this option is on, FDL click will be forced to redirect rather than + * show an interstitial page. + */ + enableForcedRedirect?: boolean; + } + /** + * Parameters for social meta tag params. Used to set meta tag data for link + * previews on social sites. + */ + interface Schema$SocialMetaTagInfo { + /** + * A short description of the link. Optional. + */ + socialDescription?: string; + /** + * An image url string. Optional. + */ + socialImageLink?: string; + /** + * Title to be displayed. Optional. + */ + socialTitle?: string; + } + /** + * Short Dynamic Link suffix. + */ + interface Schema$Suffix { + /** + * Only applies to Option.CUSTOM. + */ + customSuffix?: string; + /** + * Suffix option. + */ + option?: string; + } + class Resource$Managedshortlinks { + root: Firebasedynamiclinks; + constructor(root: Firebasedynamiclinks); + getRoot(): Firebasedynamiclinks; + /** + * firebasedynamiclinks.managedShortLinks.create + * @desc Creates a managed short Dynamic Link given either a valid long + * Dynamic Link or details such as Dynamic Link domain, Android and iOS app + * information. The created short Dynamic Link will not expire. This + * differs from CreateShortDynamicLink in the following ways: - The + * request will also contain a name for the link (non unique name for + * the front end). - The response must be authenticated with an auth token + * (generated with the admin service account). - The link will appear + * in the FDL list of links in the console front end. The Dynamic Link + * domain in the request must be owned by requester's Firebase project. + * @alias firebasedynamiclinks.managedShortLinks.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().CreateManagedShortLinkRequest} 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 + */ + create(params?: Params$Resource$Managedshortlinks$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Managedshortlinks$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Managedshortlinks$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + } + interface Params$Resource$Managedshortlinks$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$CreateManagedShortLinkRequest; + } + class Resource$Shortlinks { + root: Firebasedynamiclinks; + constructor(root: Firebasedynamiclinks); + getRoot(): Firebasedynamiclinks; + /** + * firebasedynamiclinks.shortLinks.create + * @desc Creates a short Dynamic Link given either a valid long Dynamic Link + * or details such as Dynamic Link domain, Android and iOS app information. + * The created short Dynamic Link will not expire. Repeated calls with the + * same long Dynamic Link or Dynamic Link information will produce the same + * short Dynamic Link. The Dynamic Link domain in the request must be owned + * by requester's Firebase project. + * @alias firebasedynamiclinks.shortLinks.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().CreateShortDynamicLinkRequest} 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 + */ + create(params?: Params$Resource$Shortlinks$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Shortlinks$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Shortlinks$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + } + interface Params$Resource$Shortlinks$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$CreateShortDynamicLinkRequest; + } + class Resource$V1 { + root: Firebasedynamiclinks; + constructor(root: Firebasedynamiclinks); + getRoot(): Firebasedynamiclinks; + /** + * firebasedynamiclinks.getLinkStats + * @desc Fetches analytics stats of a short Dynamic Link for a given + * duration. Metrics include number of clicks, redirects, installs, app + * first opens, and app reopens. + * @alias firebasedynamiclinks.getLinkStats + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.durationDays The span of time requested in days. + * @param {string} params.dynamicLink Dynamic Link URL. e.g. https://abcd.app.goo.gl/wxyz + * @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 + */ + getLinkStats(params?: Params$Resource$V1$Getlinkstats, options?: MethodOptions): AxiosPromise; + getLinkStats(params: Params$Resource$V1$Getlinkstats, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getLinkStats(params: Params$Resource$V1$Getlinkstats, callback: BodyResponseCallback): void; + getLinkStats(callback: BodyResponseCallback): void; + /** + * firebasedynamiclinks.installAttribution + * @desc Get iOS strong/weak-match info for post-install attribution. + * @alias firebasedynamiclinks.installAttribution + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().GetIosPostInstallAttributionRequest} 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 + */ + installAttribution(params?: Params$Resource$V1$Installattribution, options?: MethodOptions): AxiosPromise; + installAttribution(params: Params$Resource$V1$Installattribution, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + installAttribution(params: Params$Resource$V1$Installattribution, callback: BodyResponseCallback): void; + installAttribution(callback: BodyResponseCallback): void; + /** + * firebasedynamiclinks.reopenAttribution + * @desc Get iOS reopen attribution for app universal link open deeplinking. + * @alias firebasedynamiclinks.reopenAttribution + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().GetIosReopenAttributionRequest} 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 + */ + reopenAttribution(params?: Params$Resource$V1$Reopenattribution, options?: MethodOptions): AxiosPromise; + reopenAttribution(params: Params$Resource$V1$Reopenattribution, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + reopenAttribution(params: Params$Resource$V1$Reopenattribution, callback: BodyResponseCallback): void; + reopenAttribution(callback: BodyResponseCallback): void; + } + interface Params$Resource$V1$Getlinkstats { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The span of time requested in days. + */ + durationDays?: string; + /** + * Dynamic Link URL. e.g. https://abcd.app.goo.gl/wxyz + */ + dynamicLink?: string; + } + interface Params$Resource$V1$Installattribution { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$GetIosPostInstallAttributionRequest; + } + interface Params$Resource$V1$Reopenattribution { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$GetIosReopenAttributionRequest; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/firebasedynamiclinks/v1.js b/express-server/node_modules/googleapis/build/src/apis/firebasedynamiclinks/v1.js new file mode 100644 index 00000000..dd84908a --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/firebasedynamiclinks/v1.js @@ -0,0 +1,241 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var firebasedynamiclinks_v1; +(function (firebasedynamiclinks_v1) { + /** + * Firebase Dynamic Links API + * + * Programmatically creates and manages Firebase Dynamic Links. + * + * @example + * const {google} = require('googleapis'); + * const firebasedynamiclinks = google.firebasedynamiclinks('v1'); + * + * @namespace firebasedynamiclinks + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Firebasedynamiclinks + */ + class Firebasedynamiclinks { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.managedShortLinks = new Resource$Managedshortlinks(this); + this.shortLinks = new Resource$Shortlinks(this); + this.v1 = new Resource$V1(this); + } + getRoot() { + return this.root; + } + } + firebasedynamiclinks_v1.Firebasedynamiclinks = Firebasedynamiclinks; + class Resource$Managedshortlinks { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://firebasedynamiclinks.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/managedShortLinks:create') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + firebasedynamiclinks_v1.Resource$Managedshortlinks = Resource$Managedshortlinks; + class Resource$Shortlinks { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://firebasedynamiclinks.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/shortLinks').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + firebasedynamiclinks_v1.Resource$Shortlinks = Resource$Shortlinks; + class Resource$V1 { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + getLinkStats(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://firebasedynamiclinks.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{dynamicLink}/linkStats') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['dynamicLink'], + pathParams: ['dynamicLink'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + installAttribution(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://firebasedynamiclinks.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/installAttribution') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + reopenAttribution(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://firebasedynamiclinks.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/reopenAttribution') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + firebasedynamiclinks_v1.Resource$V1 = Resource$V1; +})(firebasedynamiclinks_v1 = exports.firebasedynamiclinks_v1 || (exports.firebasedynamiclinks_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/firebasedynamiclinks/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/firebasedynamiclinks/v1.js.map new file mode 100644 index 00000000..cd7e3ee9 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/firebasedynamiclinks/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/firebasedynamiclinks/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/firebaserules/README.md b/express-server/node_modules/googleapis/build/src/apis/firebaserules/README.md new file mode 100644 index 00000000..a1e3b5a4 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/firebaserules/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/firebaserules + +> Creates and manages rules that determine when a Firebase Rules-enabled service should permit a request. + +## Installation + +```sh +$ npm install @google/firebaserules +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/firebaserules/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/firebaserules/index.d.ts new file mode 100644 index 00000000..cc01f38a --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/firebaserules/index.d.ts @@ -0,0 +1,6 @@ +import { firebaserules_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof firebaserules_v1.Firebaserules; +}; +export declare function firebaserules(version: 'v1'): firebaserules_v1.Firebaserules; +export declare function firebaserules(options: firebaserules_v1.Options): firebaserules_v1.Firebaserules; diff --git a/express-server/node_modules/googleapis/build/src/apis/firebaserules/index.js b/express-server/node_modules/googleapis/build/src/apis/firebaserules/index.js new file mode 100644 index 00000000..9c38f7ac --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/firebaserules/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.firebaserules_v1.Firebaserules, +}; +function firebaserules(versionOrOptions) { + return googleapis_common_1.getAPI('firebaserules', versionOrOptions, exports.VERSIONS, this); +} +exports.firebaserules = firebaserules; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/firebaserules/index.js.map b/express-server/node_modules/googleapis/build/src/apis/firebaserules/index.js.map new file mode 100644 index 00000000..ee07af7f --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/firebaserules/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/firebaserules/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAsC;AAEzB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,qBAAgB,CAAC,aAAa;CACrC,CAAC;AAKF,SAAgB,aAAa,CACC,gBAA+C;IAC3E,OAAO,0BAAM,CAAI,eAAe,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACtE,CAAC;AAHD,sCAGC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/firebaserules/package.json b/express-server/node_modules/googleapis/build/src/apis/firebaserules/package.json new file mode 100644 index 00000000..0ec22c62 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/firebaserules/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/firebaserules", + "version": "0.1.0", + "description": "firebaserules", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/firebaserules/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/firebaserules/v1.d.ts new file mode 100644 index 00000000..389240c4 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/firebaserules/v1.d.ts @@ -0,0 +1,876 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace firebaserules_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Firebase Rules API + * + * Creates and manages rules that determine when a Firebase Rules-enabled + * service should permit a request. + * + * @example + * const {google} = require('googleapis'); + * const firebaserules = google.firebaserules('v1'); + * + * @namespace firebaserules + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Firebaserules + */ + class Firebaserules { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + projects: Resource$Projects; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Arg matchers for the mock function. + */ + interface Schema$Arg { + /** + * Argument matches any value provided. + */ + anyValue?: Schema$Empty; + /** + * Argument exactly matches value provided. + */ + exactValue?: any; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * `File` containing source content. + */ + interface Schema$File { + /** + * Textual Content. + */ + content?: string; + /** + * Fingerprint (e.g. github sha) associated with the `File`. + */ + fingerprint?: string; + /** + * File name. + */ + name?: string; + } + /** + * Represents a service-defined function call that was invoked during test + * execution. + */ + interface Schema$FunctionCall { + /** + * The arguments that were provided to the function. + */ + args?: any[]; + /** + * Name of the function invoked. + */ + function?: string; + } + /** + * Mock function definition. Mocks must refer to a function declared by the + * target service. The type of the function args and result will be inferred + * at test time. If either the arg or result values are not compatible with + * function type declaration, the request will be considered invalid. More + * than one `FunctionMock` may be provided for a given function name so long + * as the `Arg` matchers are distinct. There may be only one function for a + * given overload where all `Arg` values are `Arg.any_value`. + */ + interface Schema$FunctionMock { + /** + * The list of `Arg` values to match. The order in which the arguments are + * provided is the order in which they must appear in the function + * invocation. + */ + args?: Schema$Arg[]; + /** + * The name of the function. The function name must match one provided by a + * service declaration. + */ + function?: string; + /** + * The mock result of the function call. + */ + result?: Schema$Result; + } + /** + * The response for FirebaseRulesService.GetReleaseExecutable + */ + interface Schema$GetReleaseExecutableResponse { + /** + * Executable view of the `Ruleset` referenced by the `Release`. + */ + executable?: string; + /** + * The Rules runtime version of the executable. + */ + executableVersion?: string; + /** + * `Language` used to generate the executable bytes. + */ + language?: string; + /** + * `Ruleset` name associated with the `Release` executable. + */ + rulesetName?: string; + /** + * Timestamp for the most recent `Release.update_time`. + */ + updateTime?: string; + } + /** + * Issues include warnings, errors, and deprecation notices. + */ + interface Schema$Issue { + /** + * Short error description. + */ + description?: string; + /** + * The severity of the issue. + */ + severity?: string; + /** + * Position of the issue in the `Source`. + */ + sourcePosition?: Schema$SourcePosition; + } + /** + * The response for FirebaseRulesService.ListReleases. + */ + interface Schema$ListReleasesResponse { + /** + * The pagination token to retrieve the next page of results. If the value + * is empty, no further results remain. + */ + nextPageToken?: string; + /** + * List of `Release` instances. + */ + releases?: Schema$Release[]; + } + /** + * The response for FirebaseRulesService.ListRulesets. + */ + interface Schema$ListRulesetsResponse { + /** + * The pagination token to retrieve the next page of results. If the value + * is empty, no further results remain. + */ + nextPageToken?: string; + /** + * List of `Ruleset` instances. + */ + rulesets?: Schema$Ruleset[]; + } + /** + * `Release` is a named reference to a `Ruleset`. Once a `Release` refers to a + * `Ruleset`, rules-enabled services will be able to enforce the `Ruleset`. + */ + interface Schema$Release { + /** + * Time the release was created. Output only. + */ + createTime?: string; + /** + * Resource name for the `Release`. `Release` names may be structured + * `app1/prod/v2` or flat `app1_prod_v2` which affords developers a great + * deal of flexibility in mapping the name to the style that best fits their + * existing development practices. For example, a name could refer to an + * environment, an app, a version, or some combination of three. In the + * table below, for the project name `projects/foo`, the following relative + * release paths show how flat and structured names might be chosen to match + * a desired development / deployment strategy. Use Case | Flat Name | + * Structured Name -------------|---------------------|---------------- + * Environments | releases/qa | releases/qa Apps | + * releases/app1_qa | releases/app1/qa Versions | releases/app1_v2_qa + * | releases/app1/v2/qa The delimiter between the release name path + * elements can be almost anything and it should work equally well with the + * release name list filter, but in many ways the structured paths provide a + * clearer picture of the relationship between `Release` instances. Format: + * `projects/{project_id}/releases/{release_id}` + */ + name?: string; + /** + * Name of the `Ruleset` referred to by this `Release`. The `Ruleset` must + * exist the `Release` to be created. + */ + rulesetName?: string; + /** + * Time the release was updated. Output only. + */ + updateTime?: string; + } + /** + * Possible result values from the function mock invocation. + */ + interface Schema$Result { + /** + * The result is undefined, meaning the result could not be computed. + */ + undefined?: Schema$Empty; + /** + * The result is an actual value. The type of the value must match that of + * the type declared by the service. + */ + value?: any; + } + /** + * `Ruleset` is an immutable copy of `Source` with a globally unique + * identifier and a creation time. + */ + interface Schema$Ruleset { + /** + * Time the `Ruleset` was created. Output only. + */ + createTime?: string; + /** + * Name of the `Ruleset`. The ruleset_id is auto generated by the service. + * Format: `projects/{project_id}/rulesets/{ruleset_id}` Output only. + */ + name?: string; + /** + * `Source` for the `Ruleset`. + */ + source?: Schema$Source; + } + /** + * `Source` is one or more `File` messages comprising a logical set of rules. + */ + interface Schema$Source { + /** + * `File` set constituting the `Source` bundle. + */ + files?: Schema$File[]; + } + /** + * Position in the `Source` content including its line, column number, and an + * index of the `File` in the `Source` message. Used for debug purposes. + */ + interface Schema$SourcePosition { + /** + * First column on the source line associated with the source fragment. + */ + column?: number; + /** + * Name of the `File`. + */ + fileName?: string; + /** + * Line number of the source fragment. 1-based. + */ + line?: number; + } + /** + * `TestCase` messages provide the request context and an expectation as to + * whether the given context will be allowed or denied. Test cases may specify + * the `request`, `resource`, and `function_mocks` to mock a function call to + * a service-provided function. The `request` object represents context + * present at request-time. The `resource` is the value of the target + * resource as it appears in persistent storage before the request is + * executed. + */ + interface Schema$TestCase { + /** + * Test expectation. + */ + expectation?: string; + /** + * Optional function mocks for service-defined functions. If not set, any + * service defined function is expected to return an error, which may or may + * not influence the test outcome. + */ + functionMocks?: Schema$FunctionMock[]; + /** + * Request context. The exact format of the request context is + * service-dependent. See the appropriate service documentation for + * information about the supported fields and types on the request. + * Minimally, all services support the following fields and types: Request + * field | Type ---------------|----------------- auth.uid | `string` + * auth.token | `map<string, string>` headers | + * `map<string, string>` method | `string` params | + * `map<string, string>` path | `string` time | + * `google.protobuf.Timestamp` If the request value is not well-formed for + * the service, the request will be rejected as an invalid argument. + */ + request?: any; + /** + * Optional resource value as it appears in persistent storage before the + * request is fulfilled. The resource type depends on the `request.path` + * value. + */ + resource?: any; + } + /** + * Test result message containing the state of the test as well as a + * description and source position for test failures. + */ + interface Schema$TestResult { + /** + * Debug messages related to test execution issues encountered during + * evaluation. Debug messages may be related to too many or too few + * invocations of function mocks or to runtime errors that occur during + * evaluation. For example: ```Unable to read variable [name: + * "resource"]``` + */ + debugMessages?: string[]; + /** + * Position in the `Source` or `Ruleset` where the principle runtime error + * occurs. Evaluation of an expression may result in an error. Rules are + * deny by default, so a `DENY` expectation when an error is generated is + * valid. When there is a `DENY` with an error, the `SourcePosition` is + * returned. E.g. `error_position { line: 19 column: 37 }` + */ + errorPosition?: Schema$SourcePosition; + /** + * The set of function calls made to service-defined methods. Function + * calls are included in the order in which they are encountered during + * evaluation, are provided for both mocked and unmocked functions, and + * included on the response regardless of the test `state`. + */ + functionCalls?: Schema$FunctionCall[]; + /** + * State of the test. + */ + state?: string; + /** + * The set of visited expressions for a given test. This returns positions + * and evaluation results of all visited expressions. + */ + visitedExpressions?: Schema$VisitedExpression[]; + } + /** + * The request for FirebaseRulesService.TestRuleset. + */ + interface Schema$TestRulesetRequest { + /** + * Optional `Source` to be checked for correctness. This field must not be + * set when the resource name refers to a `Ruleset`. + */ + source?: Schema$Source; + /** + * Inline `TestSuite` to run. + */ + testSuite?: Schema$TestSuite; + } + /** + * The response for FirebaseRulesService.TestRuleset. + */ + interface Schema$TestRulesetResponse { + /** + * Syntactic and semantic `Source` issues of varying severity. Issues of + * `ERROR` severity will prevent tests from executing. + */ + issues?: Schema$Issue[]; + /** + * The set of test results given the test cases in the `TestSuite`. The + * results will appear in the same order as the test cases appear in the + * `TestSuite`. + */ + testResults?: Schema$TestResult[]; + } + /** + * `TestSuite` is a collection of `TestCase` instances that validate the + * logical correctness of a `Ruleset`. The `TestSuite` may be referenced + * in-line within a `TestRuleset` invocation or as part of a `Release` object + * as a pre-release check. + */ + interface Schema$TestSuite { + /** + * Collection of test cases associated with the `TestSuite`. + */ + testCases?: Schema$TestCase[]; + } + /** + * The request for FirebaseRulesService.UpdateReleasePatch. + */ + interface Schema$UpdateReleaseRequest { + /** + * `Release` to update. + */ + release?: Schema$Release; + /** + * Specifies which fields to update. + */ + updateMask?: string; + } + /** + * Store the position and access outcome for an expression visited in rules. + */ + interface Schema$VisitedExpression { + /** + * Position in the `Source` or `Ruleset` where an expression was visited. + */ + sourcePosition?: Schema$SourcePosition; + /** + * The evaluated value for the visited expression, e.g. true/false + */ + value?: any; + } + class Resource$Projects { + root: Firebaserules; + releases: Resource$Projects$Releases; + rulesets: Resource$Projects$Rulesets; + constructor(root: Firebaserules); + getRoot(): Firebaserules; + /** + * firebaserules.projects.test + * @desc Test `Source` for syntactic and semantic correctness. Issues + * present, if any, will be returned to the caller with a description, + * severity, and source location. The test method may be executed with + * `Source` or a `Ruleset` name. Passing `Source` is useful for unit testing + * new rules. Passing a `Ruleset` name is useful for regression testing an + * existing rule. The following is an example of `Source` that permits + * users to upload images to a bucket bearing their user id and matching the + * correct metadata: _*Example*_ // Users are allowed to subscribe and + * unsubscribe to the blog. service firebase.storage { match + * /users/{userId}/images/{imageName} { allow write: if userId == + * request.auth.uid && (imageName.matches('*.png$') || + * imageName.matches('*.jpg$')) && + * resource.mimeType.matches('^image/') } } + * @alias firebaserules.projects.test + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Tests may either provide `source` or a `Ruleset` resource name. For tests against `source`, the resource name must refer to the project: Format: `projects/{project_id}` For tests against a `Ruleset`, this must be the `Ruleset` resource name: Format: `projects/{project_id}/rulesets/{ruleset_id}` + * @param {().TestRulesetRequest} 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 + */ + test(params?: Params$Resource$Projects$Test, options?: MethodOptions): AxiosPromise; + test(params: Params$Resource$Projects$Test, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + test(params: Params$Resource$Projects$Test, callback: BodyResponseCallback): void; + test(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Test { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Tests may either provide `source` or a `Ruleset` resource name. For + * tests against `source`, the resource name must refer to the project: + * Format: `projects/{project_id}` For tests against a `Ruleset`, this must + * be the `Ruleset` resource name: Format: + * `projects/{project_id}/rulesets/{ruleset_id}` + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestRulesetRequest; + } + class Resource$Projects$Releases { + root: Firebaserules; + constructor(root: Firebaserules); + getRoot(): Firebaserules; + /** + * firebaserules.projects.releases.create + * @desc Create a `Release`. Release names should reflect the developer's + * deployment practices. For example, the release name may include the + * environment name, application name, application version, or any other + * name meaningful to the developer. Once a `Release` refers to a `Ruleset`, + * the rules can be enforced by Firebase Rules-enabled services. More than + * one `Release` may be 'live' concurrently. Consider the following three + * `Release` names for `projects/foo` and the `Ruleset` to which they refer. + * Release Name | Ruleset Name + * --------------------------------|------------- projects/foo/releases/prod + * | projects/foo/rulesets/uuid123 projects/foo/releases/prod/beta | + * projects/foo/rulesets/uuid123 projects/foo/releases/prod/v23 | + * projects/foo/rulesets/uuid456 The table reflects the `Ruleset` rollout + * in progress. The `prod` and `prod/beta` releases refer to the same + * `Ruleset`. However, `prod/v23` refers to a new `Ruleset`. The `Ruleset` + * reference for a `Release` may be updated using the UpdateRelease method. + * @alias firebaserules.projects.releases.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Resource name for the project which owns this `Release`. Format: `projects/{project_id}` + * @param {().Release} 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 + */ + create(params?: Params$Resource$Projects$Releases$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Releases$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Releases$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * firebaserules.projects.releases.delete + * @desc Delete a `Release` by resource name. + * @alias firebaserules.projects.releases.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Resource name for the `Release` to delete. Format: `projects/{project_id}/releases/{release_id}` + * @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?: Params$Resource$Projects$Releases$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Releases$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Releases$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * firebaserules.projects.releases.get + * @desc Get a `Release` by name. + * @alias firebaserules.projects.releases.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Resource name of the `Release`. Format: `projects/{project_id}/releases/{release_id}` + * @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?: Params$Resource$Projects$Releases$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Releases$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Releases$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * firebaserules.projects.releases.getExecutable + * @desc Get the `Release` executable to use when enforcing rules. + * @alias firebaserules.projects.releases.getExecutable + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.executableVersion The requested runtime executable version. Defaults to FIREBASE_RULES_EXECUTABLE_V1 + * @param {string} params.name Resource name of the `Release`. Format: `projects/{project_id}/releases/{release_id}` + * @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 + */ + getExecutable(params?: Params$Resource$Projects$Releases$Getexecutable, options?: MethodOptions): AxiosPromise; + getExecutable(params: Params$Resource$Projects$Releases$Getexecutable, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getExecutable(params: Params$Resource$Projects$Releases$Getexecutable, callback: BodyResponseCallback): void; + getExecutable(callback: BodyResponseCallback): void; + /** + * firebaserules.projects.releases.list + * @desc List the `Release` values for a project. This list may optionally + * be filtered by `Release` name, `Ruleset` name, `TestSuite` name, or any + * combination thereof. + * @alias firebaserules.projects.releases.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter `Release` filter. The list method supports filters with restrictions on the `Release.name`, `Release.ruleset_name`, and `Release.test_suite_name`. Example 1: A filter of 'name=prod*' might return `Release`s with names within 'projects/foo' prefixed with 'prod': Name | Ruleset Name ------------------------------|------------- projects/foo/releases/prod | projects/foo/rulesets/uuid1234 projects/foo/releases/prod/v1 | projects/foo/rulesets/uuid1234 projects/foo/releases/prod/v2 | projects/foo/rulesets/uuid8888 Example 2: A filter of `name=prod* ruleset_name=uuid1234` would return only `Release` instances for 'projects/foo' with names prefixed with 'prod' referring to the same `Ruleset` name of 'uuid1234': Name | Ruleset Name ------------------------------|------------- projects/foo/releases/prod | projects/foo/rulesets/1234 projects/foo/releases/prod/v1 | projects/foo/rulesets/1234 In the examples, the filter parameters refer to the search filters are relative to the project. Fully qualified prefixed may also be used. e.g. `test_suite_name=projects/foo/testsuites/uuid1` + * @param {string} params.name Resource name for the project. Format: `projects/{project_id}` + * @param {integer=} params.pageSize Page size to load. Maximum of 100. Defaults to 10. Note: `page_size` is just a hint and the service may choose to load fewer than `page_size` results due to the size of the output. To traverse all of the releases, the caller should iterate until the `page_token` on the response is empty. + * @param {string=} params.pageToken Next page token for the next batch of `Release` instances. + * @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?: Params$Resource$Projects$Releases$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Releases$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Releases$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * firebaserules.projects.releases.patch + * @desc Update a `Release` via PATCH. Only updates to the `ruleset_name` + * and `test_suite_name` fields will be honored. `Release` rename is not + * supported. To create a `Release` use the CreateRelease method. + * @alias firebaserules.projects.releases.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Resource name for the project which owns this `Release`. Format: `projects/{project_id}` + * @param {().UpdateReleaseRequest} 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 + */ + patch(params?: Params$Resource$Projects$Releases$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Releases$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Releases$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Releases$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Resource name for the project which owns this `Release`. Format: + * `projects/{project_id}` + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Release; + } + interface Params$Resource$Projects$Releases$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Resource name for the `Release` to delete. Format: + * `projects/{project_id}/releases/{release_id}` + */ + name?: string; + } + interface Params$Resource$Projects$Releases$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Resource name of the `Release`. Format: + * `projects/{project_id}/releases/{release_id}` + */ + name?: string; + } + interface Params$Resource$Projects$Releases$Getexecutable { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The requested runtime executable version. Defaults to + * FIREBASE_RULES_EXECUTABLE_V1 + */ + executableVersion?: string; + /** + * Resource name of the `Release`. Format: + * `projects/{project_id}/releases/{release_id}` + */ + name?: string; + } + interface Params$Resource$Projects$Releases$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * `Release` filter. The list method supports filters with restrictions on + * the `Release.name`, `Release.ruleset_name`, and + * `Release.test_suite_name`. Example 1: A filter of 'name=prod*' might + * return `Release`s with names within 'projects/foo' prefixed with 'prod': + * Name | Ruleset Name + * ------------------------------|------------- projects/foo/releases/prod + * | projects/foo/rulesets/uuid1234 projects/foo/releases/prod/v1 | + * projects/foo/rulesets/uuid1234 projects/foo/releases/prod/v2 | + * projects/foo/rulesets/uuid8888 Example 2: A filter of `name=prod* + * ruleset_name=uuid1234` would return only `Release` instances for + * 'projects/foo' with names prefixed with 'prod' referring to the same + * `Ruleset` name of 'uuid1234': Name | Ruleset + * Name ------------------------------|------------- + * projects/foo/releases/prod | projects/foo/rulesets/1234 + * projects/foo/releases/prod/v1 | projects/foo/rulesets/1234 In the + * examples, the filter parameters refer to the search filters are relative + * to the project. Fully qualified prefixed may also be used. e.g. + * `test_suite_name=projects/foo/testsuites/uuid1` + */ + filter?: string; + /** + * Resource name for the project. Format: `projects/{project_id}` + */ + name?: string; + /** + * Page size to load. Maximum of 100. Defaults to 10. Note: `page_size` is + * just a hint and the service may choose to load fewer than `page_size` + * results due to the size of the output. To traverse all of the releases, + * the caller should iterate until the `page_token` on the response is + * empty. + */ + pageSize?: number; + /** + * Next page token for the next batch of `Release` instances. + */ + pageToken?: string; + } + interface Params$Resource$Projects$Releases$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Resource name for the project which owns this `Release`. Format: + * `projects/{project_id}` + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UpdateReleaseRequest; + } + class Resource$Projects$Rulesets { + root: Firebaserules; + constructor(root: Firebaserules); + getRoot(): Firebaserules; + /** + * firebaserules.projects.rulesets.create + * @desc Create a `Ruleset` from `Source`. The `Ruleset` is given a unique + * generated name which is returned to the caller. `Source` containing + * syntactic or semantics errors will result in an error response indicating + * the first error encountered. For a detailed view of `Source` issues, use + * TestRuleset. + * @alias firebaserules.projects.rulesets.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Resource name for Project which owns this `Ruleset`. Format: `projects/{project_id}` + * @param {().Ruleset} 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 + */ + create(params?: Params$Resource$Projects$Rulesets$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Rulesets$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Rulesets$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * firebaserules.projects.rulesets.delete + * @desc Delete a `Ruleset` by resource name. If the `Ruleset` is + * referenced by a `Release` the operation will fail. + * @alias firebaserules.projects.rulesets.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Resource name for the ruleset to delete. Format: `projects/{project_id}/rulesets/{ruleset_id}` + * @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?: Params$Resource$Projects$Rulesets$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Rulesets$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Rulesets$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * firebaserules.projects.rulesets.get + * @desc Get a `Ruleset` by name including the full `Source` contents. + * @alias firebaserules.projects.rulesets.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Resource name for the ruleset to get. Format: `projects/{project_id}/rulesets/{ruleset_id}` + * @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?: Params$Resource$Projects$Rulesets$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Rulesets$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Rulesets$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * firebaserules.projects.rulesets.list + * @desc List `Ruleset` metadata only and optionally filter the results by + * `Ruleset` name. The full `Source` contents of a `Ruleset` may be + * retrieved with GetRuleset. + * @alias firebaserules.projects.rulesets.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter `Ruleset` filter. The list method supports filters with restrictions on `Ruleset.name`. Filters on `Ruleset.create_time` should use the `date` function which parses strings that conform to the RFC 3339 date/time specifications. Example: `create_time > date("2017-01-01") AND name=UUID-*` + * @param {string} params.name Resource name for the project. Format: `projects/{project_id}` + * @param {integer=} params.pageSize Page size to load. Maximum of 100. Defaults to 10. Note: `page_size` is just a hint and the service may choose to load less than `page_size` due to the size of the output. To traverse all of the releases, caller should iterate until the `page_token` is empty. + * @param {string=} params.pageToken Next page token for loading the next batch of `Ruleset` instances. + * @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?: Params$Resource$Projects$Rulesets$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Rulesets$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Rulesets$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Rulesets$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Resource name for Project which owns this `Ruleset`. Format: + * `projects/{project_id}` + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Ruleset; + } + interface Params$Resource$Projects$Rulesets$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Resource name for the ruleset to delete. Format: + * `projects/{project_id}/rulesets/{ruleset_id}` + */ + name?: string; + } + interface Params$Resource$Projects$Rulesets$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Resource name for the ruleset to get. Format: + * `projects/{project_id}/rulesets/{ruleset_id}` + */ + name?: string; + } + interface Params$Resource$Projects$Rulesets$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * `Ruleset` filter. The list method supports filters with restrictions on + * `Ruleset.name`. Filters on `Ruleset.create_time` should use the `date` + * function which parses strings that conform to the RFC 3339 date/time + * specifications. Example: `create_time > date("2017-01-01") AND + * name=UUID-*` + */ + filter?: string; + /** + * Resource name for the project. Format: `projects/{project_id}` + */ + name?: string; + /** + * Page size to load. Maximum of 100. Defaults to 10. Note: `page_size` is + * just a hint and the service may choose to load less than `page_size` due + * to the size of the output. To traverse all of the releases, caller should + * iterate until the `page_token` is empty. + */ + pageSize?: number; + /** + * Next page token for loading the next batch of `Ruleset` instances. + */ + pageToken?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/firebaserules/v1.js b/express-server/node_modules/googleapis/build/src/apis/firebaserules/v1.js new file mode 100644 index 00000000..a50a5e17 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/firebaserules/v1.js @@ -0,0 +1,423 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var firebaserules_v1; +(function (firebaserules_v1) { + /** + * Firebase Rules API + * + * Creates and manages rules that determine when a Firebase Rules-enabled + * service should permit a request. + * + * @example + * const {google} = require('googleapis'); + * const firebaserules = google.firebaserules('v1'); + * + * @namespace firebaserules + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Firebaserules + */ + class Firebaserules { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.projects = new Resource$Projects(this); + } + getRoot() { + return this.root; + } + } + firebaserules_v1.Firebaserules = Firebaserules; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.releases = new Resource$Projects$Releases(root); + this.rulesets = new Resource$Projects$Rulesets(root); + } + getRoot() { + return this.root; + } + test(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://firebaserules.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:test').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + firebaserules_v1.Resource$Projects = Resource$Projects; + class Resource$Projects$Releases { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://firebaserules.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}/releases') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://firebaserules.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://firebaserules.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getExecutable(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://firebaserules.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:getExecutable') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://firebaserules.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}/releases') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://firebaserules.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + firebaserules_v1.Resource$Projects$Releases = Resource$Projects$Releases; + class Resource$Projects$Rulesets { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://firebaserules.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}/rulesets') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://firebaserules.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://firebaserules.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://firebaserules.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}/rulesets') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + firebaserules_v1.Resource$Projects$Rulesets = Resource$Projects$Rulesets; +})(firebaserules_v1 = exports.firebaserules_v1 || (exports.firebaserules_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/firebaserules/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/firebaserules/v1.js.map new file mode 100644 index 00000000..3e1e2c88 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/firebaserules/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/firebaserules/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/firestore/README.md b/express-server/node_modules/googleapis/build/src/apis/firestore/README.md new file mode 100644 index 00000000..b0f9a41d --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/firestore/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/firestore + +> Accesses the NoSQL document database built for automatic scaling, high performance, and ease of application development. + +## Installation + +```sh +$ npm install @google/firestore +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/firestore/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/firestore/index.d.ts new file mode 100644 index 00000000..7f24b89a --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/firestore/index.d.ts @@ -0,0 +1,14 @@ +import { firestore_v1 } from './v1'; +import { firestore_v1beta1 } from './v1beta1'; +import { firestore_v1beta2 } from './v1beta2'; +export declare const VERSIONS: { + 'v1': typeof firestore_v1.Firestore; + 'v1beta1': typeof firestore_v1beta1.Firestore; + 'v1beta2': typeof firestore_v1beta2.Firestore; +}; +export declare function firestore(version: 'v1'): firestore_v1.Firestore; +export declare function firestore(options: firestore_v1.Options): firestore_v1.Firestore; +export declare function firestore(version: 'v1beta1'): firestore_v1beta1.Firestore; +export declare function firestore(options: firestore_v1beta1.Options): firestore_v1beta1.Firestore; +export declare function firestore(version: 'v1beta2'): firestore_v1beta2.Firestore; +export declare function firestore(options: firestore_v1beta2.Options): firestore_v1beta2.Firestore; diff --git a/express-server/node_modules/googleapis/build/src/apis/firestore/index.js b/express-server/node_modules/googleapis/build/src/apis/firestore/index.js new file mode 100644 index 00000000..018e0c0c --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/firestore/index.js @@ -0,0 +1,29 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +const v1beta1_1 = require("./v1beta1"); +const v1beta2_1 = require("./v1beta2"); +exports.VERSIONS = { + 'v1': v1_1.firestore_v1.Firestore, + 'v1beta1': v1beta1_1.firestore_v1beta1.Firestore, + 'v1beta2': v1beta2_1.firestore_v1beta2.Firestore, +}; +function firestore(versionOrOptions) { + return googleapis_common_1.getAPI('firestore', versionOrOptions, exports.VERSIONS, this); +} +exports.firestore = firestore; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/firestore/index.js.map b/express-server/node_modules/googleapis/build/src/apis/firestore/index.js.map new file mode 100644 index 00000000..43fc3d95 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/firestore/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/firestore/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAkC;AAClC,uCAA4C;AAC5C,uCAA4C;AAE/B,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,iBAAY,CAAC,SAAS;IAC5B,SAAS,EAAE,2BAAiB,CAAC,SAAS;IACtC,SAAS,EAAE,2BAAiB,CAAC,SAAS;CACvC,CAAC;AAWF,SAAgB,SAAS,CAIrB,gBAC6D;IAC/D,OAAO,0BAAM,CAAI,WAAW,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAClE,CAAC;AAPD,8BAOC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/firestore/package.json b/express-server/node_modules/googleapis/build/src/apis/firestore/package.json new file mode 100644 index 00000000..a13ba9a9 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/firestore/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/firestore", + "version": "0.1.0", + "description": "firestore", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/firestore/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/firestore/v1.d.ts new file mode 100644 index 00000000..9960b034 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/firestore/v1.d.ts @@ -0,0 +1,443 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace firestore_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Cloud Firestore API + * + * Accesses the NoSQL document database built for automatic scaling, high + * performance, and ease of application development. + * + * @example + * const {google} = require('googleapis'); + * const firestore = google.firestore('v1'); + * + * @namespace firestore + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Firestore + */ + class Firestore { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + projects: Resource$Projects; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * The request message for Operations.CancelOperation. + */ + interface Schema$GoogleLongrunningCancelOperationRequest { + } + /** + * The response message for Operations.ListOperations. + */ + interface Schema$GoogleLongrunningListOperationsResponse { + /** + * The standard List next-page token. + */ + nextPageToken?: string; + /** + * A list of operations that matches the specified filter in the request. + */ + operations?: Schema$GoogleLongrunningOperation[]; + } + /** + * This resource represents a long-running operation that is the result of a + * network API call. + */ + interface Schema$GoogleLongrunningOperation { + /** + * If the value is `false`, it means the operation is still in progress. If + * `true`, the operation is completed, and either `error` or `response` is + * available. + */ + done?: boolean; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * Service-specific metadata associated with the operation. It typically + * contains progress information and common metadata such as create time. + * Some services might not provide such metadata. Any method that returns a + * long-running operation should document the metadata type, if any. + */ + metadata?: any; + /** + * The server-assigned name, which is only unique within the same service + * that originally returns it. If you use the default HTTP mapping, the + * `name` should have the format of `operations/some/unique/name`. + */ + name?: string; + /** + * The normal response of the operation in case of success. If the original + * method returns no data on success, such as `Delete`, the response is + * `google.protobuf.Empty`. If the original method is standard + * `Get`/`Create`/`Update`, the response should be the resource. For other + * methods, the response should have the type `XxxResponse`, where `Xxx` is + * the original method name. For example, if the original method name is + * `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: any; + } + /** + * The response message for Locations.ListLocations. + */ + interface Schema$ListLocationsResponse { + /** + * A list of locations that matches the specified filter in the request. + */ + locations?: Schema$Location[]; + /** + * The standard List next-page token. + */ + nextPageToken?: string; + } + /** + * A resource that represents Google Cloud Platform location. + */ + interface Schema$Location { + /** + * The friendly name for this location, typically a nearby city name. For + * example, "Tokyo". + */ + displayName?: string; + /** + * Cross-service attributes for the location. For example + * {"cloud.googleapis.com/region": "us-east1"} + */ + labels?: any; + /** + * The canonical id for this location. For example: `"us-east1"`. + */ + locationId?: string; + /** + * Service-specific metadata. For example the available capacity at the + * given location. + */ + metadata?: any; + /** + * Resource name for the location, which may vary between implementations. + * For example: `"projects/example-project/locations/us-east1"` + */ + name?: string; + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + class Resource$Projects { + root: Firestore; + databases: Resource$Projects$Databases; + locations: Resource$Projects$Locations; + constructor(root: Firestore); + getRoot(): Firestore; + } + class Resource$Projects$Databases { + root: Firestore; + operations: Resource$Projects$Databases$Operations; + constructor(root: Firestore); + getRoot(): Firestore; + } + class Resource$Projects$Databases$Operations { + root: Firestore; + constructor(root: Firestore); + getRoot(): Firestore; + /** + * firestore.projects.databases.operations.cancel + * @desc Starts asynchronous cancellation on a long-running operation. The + * server makes a best effort to cancel the operation, but success is not + * guaranteed. If the server doesn't support this method, it returns + * `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation + * or other methods to check whether the cancellation succeeded or whether + * the operation completed despite cancellation. On successful cancellation, + * the operation is not deleted; instead, it becomes an operation with an + * Operation.error value with a google.rpc.Status.code of 1, corresponding + * to `Code.CANCELLED`. + * @alias firestore.projects.databases.operations.cancel + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource to be cancelled. + * @param {().GoogleLongrunningCancelOperationRequest} 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 + */ + cancel(params?: Params$Resource$Projects$Databases$Operations$Cancel, options?: MethodOptions): AxiosPromise; + cancel(params: Params$Resource$Projects$Databases$Operations$Cancel, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + cancel(params: Params$Resource$Projects$Databases$Operations$Cancel, callback: BodyResponseCallback): void; + cancel(callback: BodyResponseCallback): void; + /** + * firestore.projects.databases.operations.delete + * @desc Deletes a long-running operation. This method indicates that the + * client is no longer interested in the operation result. It does not + * cancel the operation. If the server doesn't support this method, it + * returns `google.rpc.Code.UNIMPLEMENTED`. + * @alias firestore.projects.databases.operations.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource to be deleted. + * @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?: Params$Resource$Projects$Databases$Operations$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Databases$Operations$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Databases$Operations$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * firestore.projects.databases.operations.get + * @desc Gets the latest state of a long-running operation. Clients can use + * this method to poll the operation result at intervals as recommended by + * the API service. + * @alias firestore.projects.databases.operations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource. + * @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?: Params$Resource$Projects$Databases$Operations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Databases$Operations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Databases$Operations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * firestore.projects.databases.operations.list + * @desc Lists operations that match the specified filter in the request. If + * the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: + * the `name` binding allows API services to override the binding to use + * different resource name schemes, such as `users/x/operations`. To + * override the binding, API services can add a binding such as + * `"/v1/{name=users/x}/operations"` to their service configuration. For + * backwards compatibility, the default name includes the operations + * collection id, however overriding users must ensure the name binding is + * the parent resource, without the operations collection id. + * @alias firestore.projects.databases.operations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter The standard list filter. + * @param {string} params.name The name of the operation's parent resource. + * @param {integer=} params.pageSize The standard list page size. + * @param {string=} params.pageToken The standard list page token. + * @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?: Params$Resource$Projects$Databases$Operations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Databases$Operations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Databases$Operations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Databases$Operations$Cancel { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource to be cancelled. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleLongrunningCancelOperationRequest; + } + interface Params$Resource$Projects$Databases$Operations$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource to be deleted. + */ + name?: string; + } + interface Params$Resource$Projects$Databases$Operations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource. + */ + name?: string; + } + interface Params$Resource$Projects$Databases$Operations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The standard list filter. + */ + filter?: string; + /** + * The name of the operation's parent resource. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } + class Resource$Projects$Locations { + root: Firestore; + constructor(root: Firestore); + getRoot(): Firestore; + /** + * firestore.projects.locations.get + * @desc Gets information about a location. + * @alias firestore.projects.locations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Resource name for the location. + * @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?: Params$Resource$Projects$Locations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Locations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Locations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * firestore.projects.locations.list + * @desc Lists information about the supported locations for this service. + * @alias firestore.projects.locations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter The standard list filter. + * @param {string} params.name The resource that owns the locations collection, if applicable. + * @param {integer=} params.pageSize The standard list page size. + * @param {string=} params.pageToken The standard list page token. + * @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?: Params$Resource$Projects$Locations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Resource name for the location. + */ + name?: string; + } + interface Params$Resource$Projects$Locations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The standard list filter. + */ + filter?: string; + /** + * The resource that owns the locations collection, if applicable. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/firestore/v1.js b/express-server/node_modules/googleapis/build/src/apis/firestore/v1.js new file mode 100644 index 00000000..8555f592 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/firestore/v1.js @@ -0,0 +1,282 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var firestore_v1; +(function (firestore_v1) { + /** + * Cloud Firestore API + * + * Accesses the NoSQL document database built for automatic scaling, high + * performance, and ease of application development. + * + * @example + * const {google} = require('googleapis'); + * const firestore = google.firestore('v1'); + * + * @namespace firestore + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Firestore + */ + class Firestore { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.projects = new Resource$Projects(this); + } + getRoot() { + return this.root; + } + } + firestore_v1.Firestore = Firestore; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.databases = new Resource$Projects$Databases(root); + this.locations = new Resource$Projects$Locations(root); + } + getRoot() { + return this.root; + } + } + firestore_v1.Resource$Projects = Resource$Projects; + class Resource$Projects$Databases { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.operations = new Resource$Projects$Databases$Operations(root); + } + getRoot() { + return this.root; + } + } + firestore_v1.Resource$Projects$Databases = Resource$Projects$Databases; + class Resource$Projects$Databases$Operations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + cancel(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://firestore.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:cancel') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://firestore.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://firestore.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://firestore.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}/operations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + firestore_v1.Resource$Projects$Databases$Operations = Resource$Projects$Databases$Operations; + class Resource$Projects$Locations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://firestore.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://firestore.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}/locations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + firestore_v1.Resource$Projects$Locations = Resource$Projects$Locations; +})(firestore_v1 = exports.firestore_v1 || (exports.firestore_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/firestore/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/firestore/v1.js.map new file mode 100644 index 00000000..aa78b7ff --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/firestore/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/firestore/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/firestore/v1beta1.d.ts b/express-server/node_modules/googleapis/build/src/apis/firestore/v1beta1.d.ts new file mode 100644 index 00000000..b48da7bd --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/firestore/v1beta1.d.ts @@ -0,0 +1,2089 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace firestore_v1beta1 { + interface Options extends GlobalOptions { + version: 'v1beta1'; + } + /** + * Cloud Firestore API + * + * Accesses the NoSQL document database built for automatic scaling, high + * performance, and ease of application development. + * + * @example + * const {google} = require('googleapis'); + * const firestore = google.firestore('v1beta1'); + * + * @namespace firestore + * @type {Function} + * @version v1beta1 + * @variation v1beta1 + * @param {object=} options Options for Firestore + */ + class Firestore { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + projects: Resource$Projects; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * An array value. + */ + interface Schema$ArrayValue { + /** + * Values in the array. + */ + values?: Schema$Value[]; + } + /** + * The request for Firestore.BatchGetDocuments. + */ + interface Schema$BatchGetDocumentsRequest { + /** + * The names of the documents to retrieve. In the format: + * `projects/{project_id}/databases/{database_id}/documents/{document_path}`. + * The request will fail if any of the document is not a child resource of + * the given `database`. Duplicate names will be elided. + */ + documents?: string[]; + /** + * The fields to return. If not set, returns all fields. If a document has + * a field that is not present in this mask, that field will not be returned + * in the response. + */ + mask?: Schema$DocumentMask; + /** + * Starts a new transaction and reads the documents. Defaults to a read-only + * transaction. The new transaction ID will be returned as the first + * response in the stream. + */ + newTransaction?: Schema$TransactionOptions; + /** + * Reads documents as they were at the given time. This may not be older + * than 60 seconds. + */ + readTime?: string; + /** + * Reads documents in a transaction. + */ + transaction?: string; + } + /** + * The streamed response for Firestore.BatchGetDocuments. + */ + interface Schema$BatchGetDocumentsResponse { + /** + * A document that was requested. + */ + found?: Schema$Document; + /** + * A document name that was requested but does not exist. In the format: + * `projects/{project_id}/databases/{database_id}/documents/{document_path}`. + */ + missing?: string; + /** + * The time at which the document was read. This may be monotically + * increasing, in this case the previous documents in the result stream are + * guaranteed not to have changed between their read_time and this one. + */ + readTime?: string; + /** + * The transaction that was started as part of this request. Will only be + * set in the first response, and only if + * BatchGetDocumentsRequest.new_transaction was set in the request. + */ + transaction?: string; + } + /** + * The request for Firestore.BeginTransaction. + */ + interface Schema$BeginTransactionRequest { + /** + * The options for the transaction. Defaults to a read-write transaction. + */ + options?: Schema$TransactionOptions; + } + /** + * The response for Firestore.BeginTransaction. + */ + interface Schema$BeginTransactionResponse { + /** + * The transaction that was started. + */ + transaction?: string; + } + /** + * A selection of a collection, such as `messages as m1`. + */ + interface Schema$CollectionSelector { + /** + * When false, selects only collections that are immediate children of the + * `parent` specified in the containing `RunQueryRequest`. When true, + * selects all descendant collections. + */ + allDescendants?: boolean; + /** + * The collection ID. When set, selects only collections with this ID. + */ + collectionId?: string; + } + /** + * The request for Firestore.Commit. + */ + interface Schema$CommitRequest { + /** + * If set, applies all writes in this transaction, and commits it. + */ + transaction?: string; + /** + * The writes to apply. Always executed atomically and in order. + */ + writes?: Schema$Write[]; + } + /** + * The response for Firestore.Commit. + */ + interface Schema$CommitResponse { + /** + * The time at which the commit occurred. + */ + commitTime?: string; + /** + * The result of applying the writes. This i-th write result corresponds to + * the i-th write in the request. + */ + writeResults?: Schema$WriteResult[]; + } + /** + * A filter that merges multiple other filters using the given operator. + */ + interface Schema$CompositeFilter { + /** + * The list of filters to combine. Must contain at least one filter. + */ + filters?: Schema$Filter[]; + /** + * The operator for combining multiple filters. + */ + op?: string; + } + /** + * A position in a query result set. + */ + interface Schema$Cursor { + /** + * If the position is just before or just after the given values, relative + * to the sort order defined by the query. + */ + before?: boolean; + /** + * The values that represent a position, in the order they appear in the + * order by clause of a query. Can contain fewer values than specified in + * the order by clause. + */ + values?: Schema$Value[]; + } + /** + * A Firestore document. Must not exceed 1 MiB - 4 bytes. + */ + interface Schema$Document { + /** + * Output only. The time at which the document was created. This value + * increases monotonically when a document is deleted then recreated. It can + * also be compared to values from other documents and the `read_time` of a + * query. + */ + createTime?: string; + /** + * The document's fields. The map keys represent field names. A simple + * field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, + * or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. + * Field names matching the regular expression `__.*__` are reserved. + * Reserved field names are forbidden except in certain documented contexts. + * The map keys, represented as UTF-8, must not exceed 1,500 bytes and + * cannot be empty. Field paths may be used in other contexts to refer to + * structured fields defined here. For `map_value`, the field path is + * represented by the simple or quoted field names of the containing fields, + * delimited by `.`. For example, the structured field `"foo" : { + * map_value: { "x&y" : { string_value: "hello" }}}` + * would be represented by the field path `foo.x&y`. Within a field + * path, a quoted field name starts and ends with `` ` `` and may contain + * any character. Some characters, including `` ` ``, must be escaped using + * a `\`. For example, `` `x&y` `` represents `x&y` and `` + * `bak\`tik` `` represents `` bak`tik ``. + */ + fields?: any; + /** + * The resource name of the document, for example + * `projects/{project_id}/databases/{database_id}/documents/{document_path}`. + */ + name?: string; + /** + * Output only. The time at which the document was last changed. This value + * is initially set to the `create_time` then increases monotonically with + * each change to the document. It can also be compared to values from other + * documents and the `read_time` of a query. + */ + updateTime?: string; + } + /** + * A Document has changed. May be the result of multiple writes, including + * deletes, that ultimately resulted in a new value for the Document. Multiple + * DocumentChange messages may be returned for the same logical change, if + * multiple targets are affected. + */ + interface Schema$DocumentChange { + /** + * The new state of the Document. If `mask` is set, contains only fields + * that were updated or added. + */ + document?: Schema$Document; + /** + * A set of target IDs for targets that no longer match this document. + */ + removedTargetIds?: number[]; + /** + * A set of target IDs of targets that match this document. + */ + targetIds?: number[]; + } + /** + * A Document has been deleted. May be the result of multiple writes, + * including updates, the last of which deleted the Document. Multiple + * DocumentDelete messages may be returned for the same logical delete, if + * multiple targets are affected. + */ + interface Schema$DocumentDelete { + /** + * The resource name of the Document that was deleted. + */ + document?: string; + /** + * The read timestamp at which the delete was observed. Greater or equal to + * the `commit_time` of the delete. + */ + readTime?: string; + /** + * A set of target IDs for targets that previously matched this entity. + */ + removedTargetIds?: number[]; + } + /** + * A set of field paths on a document. Used to restrict a get or update + * operation on a document to a subset of its fields. This is different from + * standard field masks, as this is always scoped to a Document, and takes in + * account the dynamic nature of Value. + */ + interface Schema$DocumentMask { + /** + * The list of field paths in the mask. See Document.fields for a field path + * syntax reference. + */ + fieldPaths?: string[]; + } + /** + * A Document has been removed from the view of the targets. Sent if the + * document is no longer relevant to a target and is out of view. Can be sent + * instead of a DocumentDelete or a DocumentChange if the server can not send + * the new value of the document. Multiple DocumentRemove messages may be + * returned for the same logical write or delete, if multiple targets are + * affected. + */ + interface Schema$DocumentRemove { + /** + * The resource name of the Document that has gone out of view. + */ + document?: string; + /** + * The read timestamp at which the remove was observed. Greater or equal to + * the `commit_time` of the change/delete/remove. + */ + readTime?: string; + /** + * A set of target IDs for targets that previously matched this document. + */ + removedTargetIds?: number[]; + } + /** + * A target specified by a set of documents names. + */ + interface Schema$DocumentsTarget { + /** + * The names of the documents to retrieve. In the format: + * `projects/{project_id}/databases/{database_id}/documents/{document_path}`. + * The request will fail if any of the document is not a child resource of + * the given `database`. Duplicate names will be elided. + */ + documents?: string[]; + } + /** + * A transformation of a document. + */ + interface Schema$DocumentTransform { + /** + * The name of the document to transform. + */ + document?: string; + /** + * The list of transformations to apply to the fields of the document, in + * order. This must not be empty. + */ + fieldTransforms?: Schema$FieldTransform[]; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * A digest of all the documents that match a given target. + */ + interface Schema$ExistenceFilter { + /** + * The total count of documents that match target_id. If different from the + * count of documents in the client that match, the client must manually + * determine which documents no longer match the target. + */ + count?: number; + /** + * The target ID to which this filter applies. + */ + targetId?: number; + } + /** + * A filter on a specific field. + */ + interface Schema$FieldFilter { + /** + * The field to filter by. + */ + field?: Schema$FieldReference; + /** + * The operator to filter by. + */ + op?: string; + /** + * The value to compare to. + */ + value?: Schema$Value; + } + /** + * A reference to a field, such as `max(messages.time) as max_time`. + */ + interface Schema$FieldReference { + fieldPath?: string; + } + /** + * A transformation of a field of the document. + */ + interface Schema$FieldTransform { + /** + * Append the given elements in order if they are not already present in the + * current field value. If the field is not an array, or if the field does + * not yet exist, it is first set to the empty array. Equivalent numbers of + * different types (e.g. 3L and 3.0) are considered equal when checking if a + * value is missing. NaN is equal to NaN, and Null is equal to Null. If the + * input contains multiple equivalent values, only the first will be + * considered. The corresponding transform_result will be the null value. + */ + appendMissingElements?: Schema$ArrayValue; + /** + * The path of the field. See Document.fields for the field path syntax + * reference. + */ + fieldPath?: string; + /** + * Remove all of the given elements from the array in the field. If the + * field is not an array, or if the field does not yet exist, it is set to + * the empty array. Equivalent numbers of the different types (e.g. 3L + * and 3.0) are considered equal when deciding whether an element should be + * removed. NaN is equal to NaN, and Null is equal to Null. This will remove + * all equivalent values if there are duplicates. The corresponding + * transform_result will be the null value. + */ + removeAllFromArray?: Schema$ArrayValue; + /** + * Sets the field to the given server value. + */ + setToServerValue?: string; + } + /** + * A filter. + */ + interface Schema$Filter { + /** + * A composite filter. + */ + compositeFilter?: Schema$CompositeFilter; + /** + * A filter on a document field. + */ + fieldFilter?: Schema$FieldFilter; + /** + * A filter that takes exactly one argument. + */ + unaryFilter?: Schema$UnaryFilter; + } + /** + * Metadata for ExportDocuments operations. + */ + interface Schema$GoogleFirestoreAdminV1beta1ExportDocumentsMetadata { + /** + * Which collection ids are being exported. + */ + collectionIds?: string[]; + /** + * The time the operation ended, either successfully or otherwise. Unset if + * the operation is still active. + */ + endTime?: string; + /** + * The state of the export operation. + */ + operationState?: string; + /** + * Where the entities are being exported to. + */ + outputUriPrefix?: string; + /** + * An estimate of the number of bytes processed. + */ + progressBytes?: Schema$GoogleFirestoreAdminV1beta1Progress; + /** + * An estimate of the number of documents processed. + */ + progressDocuments?: Schema$GoogleFirestoreAdminV1beta1Progress; + /** + * The time that work began on the operation. + */ + startTime?: string; + } + /** + * The request for FirestoreAdmin.ExportDocuments. + */ + interface Schema$GoogleFirestoreAdminV1beta1ExportDocumentsRequest { + /** + * Which collection ids to export. Unspecified means all collections. + */ + collectionIds?: string[]; + /** + * The output URI. Currently only supports Google Cloud Storage URIs of the + * form: `gs://BUCKET_NAME[/NAMESPACE_PATH]`, where `BUCKET_NAME` is the + * name of the Google Cloud Storage bucket and `NAMESPACE_PATH` is an + * optional Google Cloud Storage namespace path. When choosing a name, be + * sure to consider Google Cloud Storage naming guidelines: + * https://cloud.google.com/storage/docs/naming. If the URI is a bucket + * (without a namespace path), a prefix will be generated based on the start + * time. + */ + outputUriPrefix?: string; + } + /** + * Returned in the google.longrunning.Operation response field. + */ + interface Schema$GoogleFirestoreAdminV1beta1ExportDocumentsResponse { + /** + * Location of the output files. This can be used to begin an import into + * Cloud Firestore (this project or another project) after the operation + * completes successfully. + */ + outputUriPrefix?: string; + } + /** + * Metadata for ImportDocuments operations. + */ + interface Schema$GoogleFirestoreAdminV1beta1ImportDocumentsMetadata { + /** + * Which collection ids are being imported. + */ + collectionIds?: string[]; + /** + * The time the operation ended, either successfully or otherwise. Unset if + * the operation is still active. + */ + endTime?: string; + /** + * The location of the documents being imported. + */ + inputUriPrefix?: string; + /** + * The state of the import operation. + */ + operationState?: string; + /** + * An estimate of the number of bytes processed. + */ + progressBytes?: Schema$GoogleFirestoreAdminV1beta1Progress; + /** + * An estimate of the number of documents processed. + */ + progressDocuments?: Schema$GoogleFirestoreAdminV1beta1Progress; + /** + * The time that work began on the operation. + */ + startTime?: string; + } + /** + * The request for FirestoreAdmin.ImportDocuments. + */ + interface Schema$GoogleFirestoreAdminV1beta1ImportDocumentsRequest { + /** + * Which collection ids to import. Unspecified means all collections + * included in the import. + */ + collectionIds?: string[]; + /** + * Location of the exported files. This must match the output_uri_prefix of + * an ExportDocumentsResponse from an export that has completed + * successfully. See: + * google.firestore.admin.v1beta1.ExportDocumentsResponse.output_uri_prefix. + */ + inputUriPrefix?: string; + } + /** + * An index definition. + */ + interface Schema$GoogleFirestoreAdminV1beta1Index { + /** + * The collection ID to which this index applies. Required. + */ + collectionId?: string; + /** + * The fields to index. + */ + fields?: Schema$GoogleFirestoreAdminV1beta1IndexField[]; + /** + * The resource name of the index. Output only. + */ + name?: string; + /** + * The state of the index. Output only. + */ + state?: string; + } + /** + * A field of an index. + */ + interface Schema$GoogleFirestoreAdminV1beta1IndexField { + /** + * The path of the field. Must match the field path specification described + * by google.firestore.v1beta1.Document.fields. Special field path + * `__name__` may be used by itself or at the end of a path. `__type__` may + * be used only at the end of path. + */ + fieldPath?: string; + /** + * The field's mode. + */ + mode?: string; + } + /** + * Metadata for index operations. This metadata populates the metadata field + * of google.longrunning.Operation. + */ + interface Schema$GoogleFirestoreAdminV1beta1IndexOperationMetadata { + /** + * True if the [google.longrunning.Operation] was cancelled. If the + * cancellation is in progress, cancelled will be true but + * google.longrunning.Operation.done will be false. + */ + cancelled?: boolean; + /** + * Progress of the existing operation, measured in number of documents. + */ + documentProgress?: Schema$GoogleFirestoreAdminV1beta1Progress; + /** + * The time the operation ended, either successfully or otherwise. Unset if + * the operation is still active. + */ + endTime?: string; + /** + * The index resource that this operation is acting on. For example: + * `projects/{project_id}/databases/{database_id}/indexes/{index_id}` + */ + index?: string; + /** + * The type of index operation. + */ + operationType?: string; + /** + * The time that work began on the operation. + */ + startTime?: string; + } + /** + * The response for FirestoreAdmin.ListIndexes. + */ + interface Schema$GoogleFirestoreAdminV1beta1ListIndexesResponse { + /** + * The indexes. + */ + indexes?: Schema$GoogleFirestoreAdminV1beta1Index[]; + /** + * The standard List next-page token. + */ + nextPageToken?: string; + } + /** + * The metadata message for google.cloud.location.Location.metadata. + */ + interface Schema$GoogleFirestoreAdminV1beta1LocationMetadata { + } + /** + * Measures the progress of a particular metric. + */ + interface Schema$GoogleFirestoreAdminV1beta1Progress { + /** + * An estimate of how much work has been completed. Note that this may be + * greater than `work_estimated`. + */ + workCompleted?: string; + /** + * An estimate of how much work needs to be performed. Zero if the work + * estimate is unavailable. May change as work progresses. + */ + workEstimated?: string; + } + /** + * This resource represents a long-running operation that is the result of a + * network API call. + */ + interface Schema$GoogleLongrunningOperation { + /** + * If the value is `false`, it means the operation is still in progress. If + * `true`, the operation is completed, and either `error` or `response` is + * available. + */ + done?: boolean; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * Service-specific metadata associated with the operation. It typically + * contains progress information and common metadata such as create time. + * Some services might not provide such metadata. Any method that returns a + * long-running operation should document the metadata type, if any. + */ + metadata?: any; + /** + * The server-assigned name, which is only unique within the same service + * that originally returns it. If you use the default HTTP mapping, the + * `name` should have the format of `operations/some/unique/name`. + */ + name?: string; + /** + * The normal response of the operation in case of success. If the original + * method returns no data on success, such as `Delete`, the response is + * `google.protobuf.Empty`. If the original method is standard + * `Get`/`Create`/`Update`, the response should be the resource. For other + * methods, the response should have the type `XxxResponse`, where `Xxx` is + * the original method name. For example, if the original method name is + * `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: any; + } + /** + * An object representing a latitude/longitude pair. This is expressed as a + * pair of doubles representing degrees latitude and degrees longitude. Unless + * specified otherwise, this must conform to the <a + * href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84 + * standard</a>. Values must be within normalized ranges. + */ + interface Schema$LatLng { + /** + * The latitude in degrees. It must be in the range [-90.0, +90.0]. + */ + latitude?: number; + /** + * The longitude in degrees. It must be in the range [-180.0, +180.0]. + */ + longitude?: number; + } + /** + * The request for Firestore.ListCollectionIds. + */ + interface Schema$ListCollectionIdsRequest { + /** + * The maximum number of results to return. + */ + pageSize?: number; + /** + * A page token. Must be a value from ListCollectionIdsResponse. + */ + pageToken?: string; + } + /** + * The response from Firestore.ListCollectionIds. + */ + interface Schema$ListCollectionIdsResponse { + /** + * The collection ids. + */ + collectionIds?: string[]; + /** + * A page token that may be used to continue the list. + */ + nextPageToken?: string; + } + /** + * The response for Firestore.ListDocuments. + */ + interface Schema$ListDocumentsResponse { + /** + * The Documents found. + */ + documents?: Schema$Document[]; + /** + * The next page token. + */ + nextPageToken?: string; + } + /** + * A request for Firestore.Listen + */ + interface Schema$ListenRequest { + /** + * A target to add to this stream. + */ + addTarget?: Schema$Target; + /** + * Labels associated with this target change. + */ + labels?: any; + /** + * The ID of a target to remove from this stream. + */ + removeTarget?: number; + } + /** + * The response for Firestore.Listen. + */ + interface Schema$ListenResponse { + /** + * A Document has changed. + */ + documentChange?: Schema$DocumentChange; + /** + * A Document has been deleted. + */ + documentDelete?: Schema$DocumentDelete; + /** + * A Document has been removed from a target (because it is no longer + * relevant to that target). + */ + documentRemove?: Schema$DocumentRemove; + /** + * A filter to apply to the set of documents previously returned for the + * given target. Returned when documents may have been removed from the + * given target, but the exact documents are unknown. + */ + filter?: Schema$ExistenceFilter; + /** + * Targets have changed. + */ + targetChange?: Schema$TargetChange; + } + /** + * A map value. + */ + interface Schema$MapValue { + /** + * The map's fields. The map keys represent field names. Field names + * matching the regular expression `__.*__` are reserved. Reserved field + * names are forbidden except in certain documented contexts. The map keys, + * represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. + */ + fields?: any; + } + /** + * An order on a field. + */ + interface Schema$Order { + /** + * The direction to order by. Defaults to `ASCENDING`. + */ + direction?: string; + /** + * The field to order by. + */ + field?: Schema$FieldReference; + } + /** + * A precondition on a document, used for conditional operations. + */ + interface Schema$Precondition { + /** + * When set to `true`, the target document must exist. When set to `false`, + * the target document must not exist. + */ + exists?: boolean; + /** + * When set, the target document must exist and have been last updated at + * that time. + */ + updateTime?: string; + } + /** + * The projection of document's fields to return. + */ + interface Schema$Projection { + /** + * The fields to return. If empty, all fields are returned. To only return + * the name of the document, use `['__name__']`. + */ + fields?: Schema$FieldReference[]; + } + /** + * A target specified by a query. + */ + interface Schema$QueryTarget { + /** + * The parent resource name. In the format: + * `projects/{project_id}/databases/{database_id}/documents` or + * `projects/{project_id}/databases/{database_id}/documents/{document_path}`. + * For example: `projects/my-project/databases/my-database/documents` or + * `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom` + */ + parent?: string; + /** + * A structured query. + */ + structuredQuery?: Schema$StructuredQuery; + } + /** + * Options for a transaction that can only be used to read documents. + */ + interface Schema$ReadOnly { + /** + * Reads documents at the given time. This may not be older than 60 seconds. + */ + readTime?: string; + } + /** + * Options for a transaction that can be used to read and write documents. + */ + interface Schema$ReadWrite { + /** + * An optional transaction to retry. + */ + retryTransaction?: string; + } + /** + * The request for Firestore.Rollback. + */ + interface Schema$RollbackRequest { + /** + * The transaction to roll back. + */ + transaction?: string; + } + /** + * The request for Firestore.RunQuery. + */ + interface Schema$RunQueryRequest { + /** + * Starts a new transaction and reads the documents. Defaults to a read-only + * transaction. The new transaction ID will be returned as the first + * response in the stream. + */ + newTransaction?: Schema$TransactionOptions; + /** + * Reads documents as they were at the given time. This may not be older + * than 60 seconds. + */ + readTime?: string; + /** + * A structured query. + */ + structuredQuery?: Schema$StructuredQuery; + /** + * Reads documents in a transaction. + */ + transaction?: string; + } + /** + * The response for Firestore.RunQuery. + */ + interface Schema$RunQueryResponse { + /** + * A query result. Not set when reporting partial progress. + */ + document?: Schema$Document; + /** + * The time at which the document was read. This may be monotonically + * increasing; in this case, the previous documents in the result stream are + * guaranteed not to have changed between their `read_time` and this one. If + * the query returns no results, a response with `read_time` and no + * `document` will be sent, and this represents the time at which the query + * was run. + */ + readTime?: string; + /** + * The number of results that have been skipped due to an offset between the + * last response and the current response. + */ + skippedResults?: number; + /** + * The transaction that was started as part of this request. Can only be set + * in the first response, and only if RunQueryRequest.new_transaction was + * set in the request. If set, no other fields will be set in this response. + */ + transaction?: string; + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + /** + * A Firestore query. + */ + interface Schema$StructuredQuery { + /** + * A end point for the query results. + */ + endAt?: Schema$Cursor; + /** + * The collections to query. + */ + from?: Schema$CollectionSelector[]; + /** + * The maximum number of results to return. Applies after all other + * constraints. Must be >= 0 if specified. + */ + limit?: number; + /** + * The number of results to skip. Applies before limit, but after all other + * constraints. Must be >= 0 if specified. + */ + offset?: number; + /** + * The order to apply to the query results. Firestore guarantees a stable + * ordering through the following rules: * Any field required to appear in + * `order_by`, that is not already specified in `order_by`, is appended + * to the order in field name order by default. * If an order on + * `__name__` is not specified, it is appended by default. Fields are + * appended with the same sort direction as the last order specified, or + * 'ASCENDING' if no order was specified. For example: * `SELECT * + * FROM Foo ORDER BY A` becomes `SELECT * FROM Foo ORDER BY A, __name__` + * * `SELECT * FROM Foo ORDER BY A DESC` becomes `SELECT * FROM Foo ORDER + * BY A DESC, __name__ DESC` * `SELECT * FROM Foo WHERE A > 1` becomes + * `SELECT * FROM Foo WHERE A > 1 ORDER BY A, __name__` + */ + orderBy?: Schema$Order[]; + /** + * The projection to return. + */ + select?: Schema$Projection; + /** + * A starting point for the query results. + */ + startAt?: Schema$Cursor; + /** + * The filter to apply. + */ + where?: Schema$Filter; + } + /** + * A specification of a set of documents to listen to. + */ + interface Schema$Target { + /** + * A target specified by a set of document names. + */ + documents?: Schema$DocumentsTarget; + /** + * If the target should be removed once it is current and consistent. + */ + once?: boolean; + /** + * A target specified by a query. + */ + query?: Schema$QueryTarget; + /** + * Start listening after a specific `read_time`. The client must know the + * state of matching documents at this time. + */ + readTime?: string; + /** + * A resume token from a prior TargetChange for an identical target. Using + * a resume token with a different target is unsupported and may fail. + */ + resumeToken?: string; + /** + * A client provided target ID. If not set, the server will assign an ID + * for the target. Used for resuming a target without changing IDs. The IDs + * can either be client-assigned or be server-assigned in a previous stream. + * All targets with client provided IDs must be added before adding a target + * that needs a server-assigned id. + */ + targetId?: number; + } + /** + * Targets being watched have changed. + */ + interface Schema$TargetChange { + /** + * The error that resulted in this change, if applicable. + */ + cause?: Schema$Status; + /** + * The consistent `read_time` for the given `target_ids` (omitted when the + * target_ids are not at a consistent snapshot). The stream is guaranteed + * to send a `read_time` with `target_ids` empty whenever the entire stream + * reaches a new consistent snapshot. ADD, CURRENT, and RESET messages are + * guaranteed to (eventually) result in a new consistent snapshot (while + * NO_CHANGE and REMOVE messages are not). For a given stream, `read_time` + * is guaranteed to be monotonically increasing. + */ + readTime?: string; + /** + * A token that can be used to resume the stream for the given `target_ids`, + * or all targets if `target_ids` is empty. Not set on every target change. + */ + resumeToken?: string; + /** + * The type of change that occurred. + */ + targetChangeType?: string; + /** + * The target IDs of targets that have changed. If empty, the change + * applies to all targets. For `target_change_type=ADD`, the order of the + * target IDs matches the order of the requests to add the targets. This + * allows clients to unambiguously associate server-assigned target IDs with + * added targets. For other states, the order of the target IDs is not + * defined. + */ + targetIds?: number[]; + } + /** + * Options for creating a new transaction. + */ + interface Schema$TransactionOptions { + /** + * The transaction can only be used for read operations. + */ + readOnly?: Schema$ReadOnly; + /** + * The transaction can be used for both read and write operations. + */ + readWrite?: Schema$ReadWrite; + } + /** + * A filter with a single operand. + */ + interface Schema$UnaryFilter { + /** + * The field to which to apply the operator. + */ + field?: Schema$FieldReference; + /** + * The unary operator to apply. + */ + op?: string; + } + /** + * A message that can hold any of the supported value types. + */ + interface Schema$Value { + /** + * An array value. Cannot directly contain another array value, though can + * contain an map which contains another array. + */ + arrayValue?: Schema$ArrayValue; + /** + * A boolean value. + */ + booleanValue?: boolean; + /** + * A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 + * bytes are considered by queries. + */ + bytesValue?: string; + /** + * A double value. + */ + doubleValue?: number; + /** + * A geo point value representing a point on the surface of Earth. + */ + geoPointValue?: Schema$LatLng; + /** + * An integer value. + */ + integerValue?: string; + /** + * A map value. + */ + mapValue?: Schema$MapValue; + /** + * A null value. + */ + nullValue?: string; + /** + * A reference to a document. For example: + * `projects/{project_id}/databases/{database_id}/documents/{document_path}`. + */ + referenceValue?: string; + /** + * A string value. The string, represented as UTF-8, must not exceed 1 MiB + * - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are + * considered by queries. + */ + stringValue?: string; + /** + * A timestamp value. Precise only to microseconds. When stored, any + * additional precision is rounded down. + */ + timestampValue?: string; + } + /** + * A write on a document. + */ + interface Schema$Write { + /** + * An optional precondition on the document. The write will fail if this is + * set and not met by the target document. + */ + currentDocument?: Schema$Precondition; + /** + * A document name to delete. In the format: + * `projects/{project_id}/databases/{database_id}/documents/{document_path}`. + */ + delete?: string; + /** + * Applies a tranformation to a document. At most one `transform` per + * document is allowed in a given request. An `update` cannot follow a + * `transform` on the same document in a given request. + */ + transform?: Schema$DocumentTransform; + /** + * A document to write. + */ + update?: Schema$Document; + /** + * The fields to update in this write. This field can be set only when the + * operation is `update`. If the mask is not set for an `update` and the + * document exists, any existing data will be overwritten. If the mask is + * set and the document on the server has fields not covered by the mask, + * they are left unchanged. Fields referenced in the mask, but not present + * in the input document, are deleted from the document on the server. The + * field paths in this mask must not contain a reserved field name. + */ + updateMask?: Schema$DocumentMask; + } + /** + * The request for Firestore.Write. The first request creates a stream, or + * resumes an existing one from a token. When creating a new stream, the + * server replies with a response containing only an ID and a token, to use in + * the next request. When resuming a stream, the server first streams any + * responses later than the given token, then a response containing only an + * up-to-date token, to use in the next request. + */ + interface Schema$WriteRequest { + /** + * Labels associated with this write request. + */ + labels?: any; + /** + * The ID of the write stream to resume. This may only be set in the first + * message. When left empty, a new write stream will be created. + */ + streamId?: string; + /** + * A stream token that was previously sent by the server. The client should + * set this field to the token from the most recent WriteResponse it has + * received. This acknowledges that the client has received responses up to + * this token. After sending this token, earlier tokens may not be used + * anymore. The server may close the stream if there are too many + * unacknowledged responses. Leave this field unset when creating a new + * stream. To resume a stream at a specific point, set this field and the + * `stream_id` field. Leave this field unset when creating a new stream. + */ + streamToken?: string; + /** + * The writes to apply. Always executed atomically and in order. This must + * be empty on the first request. This may be empty on the last request. + * This must not be empty on all other requests. + */ + writes?: Schema$Write[]; + } + /** + * The response for Firestore.Write. + */ + interface Schema$WriteResponse { + /** + * The time at which the commit occurred. + */ + commitTime?: string; + /** + * The ID of the stream. Only set on the first message, when a new stream + * was created. + */ + streamId?: string; + /** + * A token that represents the position of this response in the stream. This + * can be used by a client to resume the stream at this point. This field + * is always set. + */ + streamToken?: string; + /** + * The result of applying the writes. This i-th write result corresponds to + * the i-th write in the request. + */ + writeResults?: Schema$WriteResult[]; + } + /** + * The result of applying a write. + */ + interface Schema$WriteResult { + /** + * The results of applying each DocumentTransform.FieldTransform, in the + * same order. + */ + transformResults?: Schema$Value[]; + /** + * The last update time of the document after applying the write. Not set + * after a `delete`. If the write did not actually change the document, + * this will be the previous update_time. + */ + updateTime?: string; + } + class Resource$Projects { + root: Firestore; + databases: Resource$Projects$Databases; + constructor(root: Firestore); + getRoot(): Firestore; + } + class Resource$Projects$Databases { + root: Firestore; + documents: Resource$Projects$Databases$Documents; + indexes: Resource$Projects$Databases$Indexes; + constructor(root: Firestore); + getRoot(): Firestore; + /** + * firestore.projects.databases.exportDocuments + * @desc Exports a copy of all or a subset of documents from Google Cloud + * Firestore to another storage system, such as Google Cloud Storage. Recent + * updates to documents may not be reflected in the export. The export + * occurs in the background and its progress can be monitored and managed + * via the Operation resource that is created. The output of an export may + * only be used once the associated operation is done. If an export + * operation is cancelled before completion it may leave partial data behind + * in Google Cloud Storage. + * @alias firestore.projects.databases.exportDocuments + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Database to export. Should be of the form: `projects/{project_id}/databases/{database_id}`. + * @param {().GoogleFirestoreAdminV1beta1ExportDocumentsRequest} 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 + */ + exportDocuments(params?: Params$Resource$Projects$Databases$Exportdocuments, options?: MethodOptions): AxiosPromise; + exportDocuments(params: Params$Resource$Projects$Databases$Exportdocuments, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + exportDocuments(params: Params$Resource$Projects$Databases$Exportdocuments, callback: BodyResponseCallback): void; + exportDocuments(callback: BodyResponseCallback): void; + /** + * firestore.projects.databases.importDocuments + * @desc Imports documents into Google Cloud Firestore. Existing documents + * with the same name are overwritten. The import occurs in the background + * and its progress can be monitored and managed via the Operation resource + * that is created. If an ImportDocuments operation is cancelled, it is + * possible that a subset of the data has already been imported to Cloud + * Firestore. + * @alias firestore.projects.databases.importDocuments + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Database to import into. Should be of the form: `projects/{project_id}/databases/{database_id}`. + * @param {().GoogleFirestoreAdminV1beta1ImportDocumentsRequest} 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 + */ + importDocuments(params?: Params$Resource$Projects$Databases$Importdocuments, options?: MethodOptions): AxiosPromise; + importDocuments(params: Params$Resource$Projects$Databases$Importdocuments, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + importDocuments(params: Params$Resource$Projects$Databases$Importdocuments, callback: BodyResponseCallback): void; + importDocuments(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Databases$Exportdocuments { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Database to export. Should be of the form: + * `projects/{project_id}/databases/{database_id}`. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleFirestoreAdminV1beta1ExportDocumentsRequest; + } + interface Params$Resource$Projects$Databases$Importdocuments { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Database to import into. Should be of the form: + * `projects/{project_id}/databases/{database_id}`. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleFirestoreAdminV1beta1ImportDocumentsRequest; + } + class Resource$Projects$Databases$Documents { + root: Firestore; + constructor(root: Firestore); + getRoot(): Firestore; + /** + * firestore.projects.databases.documents.batchGet + * @desc Gets multiple documents. Documents returned by this method are not + * guaranteed to be returned in the same order that they were requested. + * @alias firestore.projects.databases.documents.batchGet + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.database The database name. In the format: `projects/{project_id}/databases/{database_id}`. + * @param {().BatchGetDocumentsRequest} 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 + */ + batchGet(params?: Params$Resource$Projects$Databases$Documents$Batchget, options?: MethodOptions): AxiosPromise; + batchGet(params: Params$Resource$Projects$Databases$Documents$Batchget, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + batchGet(params: Params$Resource$Projects$Databases$Documents$Batchget, callback: BodyResponseCallback): void; + batchGet(callback: BodyResponseCallback): void; + /** + * firestore.projects.databases.documents.beginTransaction + * @desc Starts a new transaction. + * @alias firestore.projects.databases.documents.beginTransaction + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.database The database name. In the format: `projects/{project_id}/databases/{database_id}`. + * @param {().BeginTransactionRequest} 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 + */ + beginTransaction(params?: Params$Resource$Projects$Databases$Documents$Begintransaction, options?: MethodOptions): AxiosPromise; + beginTransaction(params: Params$Resource$Projects$Databases$Documents$Begintransaction, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + beginTransaction(params: Params$Resource$Projects$Databases$Documents$Begintransaction, callback: BodyResponseCallback): void; + beginTransaction(callback: BodyResponseCallback): void; + /** + * firestore.projects.databases.documents.commit + * @desc Commits a transaction, while optionally updating documents. + * @alias firestore.projects.databases.documents.commit + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.database The database name. In the format: `projects/{project_id}/databases/{database_id}`. + * @param {().CommitRequest} 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 + */ + commit(params?: Params$Resource$Projects$Databases$Documents$Commit, options?: MethodOptions): AxiosPromise; + commit(params: Params$Resource$Projects$Databases$Documents$Commit, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + commit(params: Params$Resource$Projects$Databases$Documents$Commit, callback: BodyResponseCallback): void; + commit(callback: BodyResponseCallback): void; + /** + * firestore.projects.databases.documents.createDocument + * @desc Creates a new document. + * @alias firestore.projects.databases.documents.createDocument + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.collectionId The collection ID, relative to `parent`, to list. For example: `chatrooms`. + * @param {string=} params.documentId The client-assigned document ID to use for this document. Optional. If not specified, an ID will be assigned by the service. + * @param {string=} params.mask.fieldPaths The list of field paths in the mask. See Document.fields for a field path syntax reference. + * @param {string} params.parent The parent resource. For example: `projects/{project_id}/databases/{database_id}/documents` or `projects/{project_id}/databases/{database_id}/documents/chatrooms/{chatroom_id}` + * @param {().Document} 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 + */ + createDocument(params?: Params$Resource$Projects$Databases$Documents$Createdocument, options?: MethodOptions): AxiosPromise; + createDocument(params: Params$Resource$Projects$Databases$Documents$Createdocument, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + createDocument(params: Params$Resource$Projects$Databases$Documents$Createdocument, callback: BodyResponseCallback): void; + createDocument(callback: BodyResponseCallback): void; + /** + * firestore.projects.databases.documents.delete + * @desc Deletes a document. + * @alias firestore.projects.databases.documents.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.currentDocument.exists When set to `true`, the target document must exist. When set to `false`, the target document must not exist. + * @param {string=} params.currentDocument.updateTime When set, the target document must exist and have been last updated at that time. + * @param {string} params.name The resource name of the Document to delete. In the format: `projects/{project_id}/databases/{database_id}/documents/{document_path}`. + * @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?: Params$Resource$Projects$Databases$Documents$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Databases$Documents$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Databases$Documents$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * firestore.projects.databases.documents.get + * @desc Gets a single document. + * @alias firestore.projects.databases.documents.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.mask.fieldPaths The list of field paths in the mask. See Document.fields for a field path syntax reference. + * @param {string} params.name The resource name of the Document to get. In the format: `projects/{project_id}/databases/{database_id}/documents/{document_path}`. + * @param {string=} params.readTime Reads the version of the document at the given time. This may not be older than 60 seconds. + * @param {string=} params.transaction Reads the document in a transaction. + * @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?: Params$Resource$Projects$Databases$Documents$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Databases$Documents$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Databases$Documents$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * firestore.projects.databases.documents.list + * @desc Lists documents. + * @alias firestore.projects.databases.documents.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.collectionId The collection ID, relative to `parent`, to list. For example: `chatrooms` or `messages`. + * @param {string=} params.mask.fieldPaths The list of field paths in the mask. See Document.fields for a field path syntax reference. + * @param {string=} params.orderBy The order to sort results by. For example: `priority desc, name`. + * @param {integer=} params.pageSize The maximum number of documents to return. + * @param {string=} params.pageToken The `next_page_token` value returned from a previous List request, if any. + * @param {string} params.parent The parent resource name. In the format: `projects/{project_id}/databases/{database_id}/documents` or `projects/{project_id}/databases/{database_id}/documents/{document_path}`. For example: `projects/my-project/databases/my-database/documents` or `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom` + * @param {string=} params.readTime Reads documents as they were at the given time. This may not be older than 60 seconds. + * @param {boolean=} params.showMissing If the list should show missing documents. A missing document is a document that does not exist but has sub-documents. These documents will be returned with a key but will not have fields, Document.create_time, or Document.update_time set. Requests with `show_missing` may not specify `where` or `order_by`. + * @param {string=} params.transaction Reads documents in a transaction. + * @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?: Params$Resource$Projects$Databases$Documents$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Databases$Documents$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Databases$Documents$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * firestore.projects.databases.documents.listCollectionIds + * @desc Lists all the collection IDs underneath a document. + * @alias firestore.projects.databases.documents.listCollectionIds + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent The parent document. In the format: `projects/{project_id}/databases/{database_id}/documents/{document_path}`. For example: `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom` + * @param {().ListCollectionIdsRequest} 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 + */ + listCollectionIds(params?: Params$Resource$Projects$Databases$Documents$Listcollectionids, options?: MethodOptions): AxiosPromise; + listCollectionIds(params: Params$Resource$Projects$Databases$Documents$Listcollectionids, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listCollectionIds(params: Params$Resource$Projects$Databases$Documents$Listcollectionids, callback: BodyResponseCallback): void; + listCollectionIds(callback: BodyResponseCallback): void; + /** + * firestore.projects.databases.documents.listen + * @desc Listens to changes. + * @alias firestore.projects.databases.documents.listen + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.database The database name. In the format: `projects/{project_id}/databases/{database_id}`. + * @param {().ListenRequest} 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 + */ + listen(params?: Params$Resource$Projects$Databases$Documents$Listen, options?: MethodOptions): AxiosPromise; + listen(params: Params$Resource$Projects$Databases$Documents$Listen, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listen(params: Params$Resource$Projects$Databases$Documents$Listen, callback: BodyResponseCallback): void; + listen(callback: BodyResponseCallback): void; + /** + * firestore.projects.databases.documents.patch + * @desc Updates or inserts a document. + * @alias firestore.projects.databases.documents.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.currentDocument.exists When set to `true`, the target document must exist. When set to `false`, the target document must not exist. + * @param {string=} params.currentDocument.updateTime When set, the target document must exist and have been last updated at that time. + * @param {string=} params.mask.fieldPaths The list of field paths in the mask. See Document.fields for a field path syntax reference. + * @param {string} params.name The resource name of the document, for example `projects/{project_id}/databases/{database_id}/documents/{document_path}`. + * @param {string=} params.updateMask.fieldPaths The list of field paths in the mask. See Document.fields for a field path syntax reference. + * @param {().Document} 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 + */ + patch(params?: Params$Resource$Projects$Databases$Documents$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Databases$Documents$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Databases$Documents$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * firestore.projects.databases.documents.rollback + * @desc Rolls back a transaction. + * @alias firestore.projects.databases.documents.rollback + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.database The database name. In the format: `projects/{project_id}/databases/{database_id}`. + * @param {().RollbackRequest} 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 + */ + rollback(params?: Params$Resource$Projects$Databases$Documents$Rollback, options?: MethodOptions): AxiosPromise; + rollback(params: Params$Resource$Projects$Databases$Documents$Rollback, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + rollback(params: Params$Resource$Projects$Databases$Documents$Rollback, callback: BodyResponseCallback): void; + rollback(callback: BodyResponseCallback): void; + /** + * firestore.projects.databases.documents.runQuery + * @desc Runs a query. + * @alias firestore.projects.databases.documents.runQuery + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent The parent resource name. In the format: `projects/{project_id}/databases/{database_id}/documents` or `projects/{project_id}/databases/{database_id}/documents/{document_path}`. For example: `projects/my-project/databases/my-database/documents` or `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom` + * @param {().RunQueryRequest} 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 + */ + runQuery(params?: Params$Resource$Projects$Databases$Documents$Runquery, options?: MethodOptions): AxiosPromise; + runQuery(params: Params$Resource$Projects$Databases$Documents$Runquery, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + runQuery(params: Params$Resource$Projects$Databases$Documents$Runquery, callback: BodyResponseCallback): void; + runQuery(callback: BodyResponseCallback): void; + /** + * firestore.projects.databases.documents.write + * @desc Streams batches of document updates and deletes, in order. + * @alias firestore.projects.databases.documents.write + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.database The database name. In the format: `projects/{project_id}/databases/{database_id}`. This is only required in the first message. + * @param {().WriteRequest} 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 + */ + write(params?: Params$Resource$Projects$Databases$Documents$Write, options?: MethodOptions): AxiosPromise; + write(params: Params$Resource$Projects$Databases$Documents$Write, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + write(params: Params$Resource$Projects$Databases$Documents$Write, callback: BodyResponseCallback): void; + write(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Databases$Documents$Batchget { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The database name. In the format: + * `projects/{project_id}/databases/{database_id}`. + */ + database?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BatchGetDocumentsRequest; + } + interface Params$Resource$Projects$Databases$Documents$Begintransaction { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The database name. In the format: + * `projects/{project_id}/databases/{database_id}`. + */ + database?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BeginTransactionRequest; + } + interface Params$Resource$Projects$Databases$Documents$Commit { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The database name. In the format: + * `projects/{project_id}/databases/{database_id}`. + */ + database?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CommitRequest; + } + interface Params$Resource$Projects$Databases$Documents$Createdocument { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The collection ID, relative to `parent`, to list. For example: + * `chatrooms`. + */ + collectionId?: string; + /** + * The client-assigned document ID to use for this document. Optional. If + * not specified, an ID will be assigned by the service. + */ + documentId?: string; + /** + * The list of field paths in the mask. See Document.fields for a field path + * syntax reference. + */ + 'mask.fieldPaths'?: string; + /** + * The parent resource. For example: + * `projects/{project_id}/databases/{database_id}/documents` or + * `projects/{project_id}/databases/{database_id}/documents/chatrooms/{chatroom_id}` + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Document; + } + interface Params$Resource$Projects$Databases$Documents$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * When set to `true`, the target document must exist. When set to `false`, + * the target document must not exist. + */ + 'currentDocument.exists'?: boolean; + /** + * When set, the target document must exist and have been last updated at + * that time. + */ + 'currentDocument.updateTime'?: string; + /** + * The resource name of the Document to delete. In the format: + * `projects/{project_id}/databases/{database_id}/documents/{document_path}`. + */ + name?: string; + } + interface Params$Resource$Projects$Databases$Documents$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The list of field paths in the mask. See Document.fields for a field path + * syntax reference. + */ + 'mask.fieldPaths'?: string; + /** + * The resource name of the Document to get. In the format: + * `projects/{project_id}/databases/{database_id}/documents/{document_path}`. + */ + name?: string; + /** + * Reads the version of the document at the given time. This may not be + * older than 60 seconds. + */ + readTime?: string; + /** + * Reads the document in a transaction. + */ + transaction?: string; + } + interface Params$Resource$Projects$Databases$Documents$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The collection ID, relative to `parent`, to list. For example: + * `chatrooms` or `messages`. + */ + collectionId?: string; + /** + * The list of field paths in the mask. See Document.fields for a field path + * syntax reference. + */ + 'mask.fieldPaths'?: string; + /** + * The order to sort results by. For example: `priority desc, name`. + */ + orderBy?: string; + /** + * The maximum number of documents to return. + */ + pageSize?: number; + /** + * The `next_page_token` value returned from a previous List request, if + * any. + */ + pageToken?: string; + /** + * The parent resource name. In the format: + * `projects/{project_id}/databases/{database_id}/documents` or + * `projects/{project_id}/databases/{database_id}/documents/{document_path}`. + * For example: `projects/my-project/databases/my-database/documents` or + * `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom` + */ + parent?: string; + /** + * Reads documents as they were at the given time. This may not be older + * than 60 seconds. + */ + readTime?: string; + /** + * If the list should show missing documents. A missing document is a + * document that does not exist but has sub-documents. These documents will + * be returned with a key but will not have fields, Document.create_time, or + * Document.update_time set. Requests with `show_missing` may not specify + * `where` or `order_by`. + */ + showMissing?: boolean; + /** + * Reads documents in a transaction. + */ + transaction?: string; + } + interface Params$Resource$Projects$Databases$Documents$Listcollectionids { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The parent document. In the format: + * `projects/{project_id}/databases/{database_id}/documents/{document_path}`. + * For example: + * `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom` + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ListCollectionIdsRequest; + } + interface Params$Resource$Projects$Databases$Documents$Listen { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The database name. In the format: + * `projects/{project_id}/databases/{database_id}`. + */ + database?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ListenRequest; + } + interface Params$Resource$Projects$Databases$Documents$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * When set to `true`, the target document must exist. When set to `false`, + * the target document must not exist. + */ + 'currentDocument.exists'?: boolean; + /** + * When set, the target document must exist and have been last updated at + * that time. + */ + 'currentDocument.updateTime'?: string; + /** + * The list of field paths in the mask. See Document.fields for a field path + * syntax reference. + */ + 'mask.fieldPaths'?: string; + /** + * The resource name of the document, for example + * `projects/{project_id}/databases/{database_id}/documents/{document_path}`. + */ + name?: string; + /** + * The list of field paths in the mask. See Document.fields for a field path + * syntax reference. + */ + 'updateMask.fieldPaths'?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Document; + } + interface Params$Resource$Projects$Databases$Documents$Rollback { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The database name. In the format: + * `projects/{project_id}/databases/{database_id}`. + */ + database?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RollbackRequest; + } + interface Params$Resource$Projects$Databases$Documents$Runquery { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The parent resource name. In the format: + * `projects/{project_id}/databases/{database_id}/documents` or + * `projects/{project_id}/databases/{database_id}/documents/{document_path}`. + * For example: `projects/my-project/databases/my-database/documents` or + * `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom` + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RunQueryRequest; + } + interface Params$Resource$Projects$Databases$Documents$Write { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The database name. In the format: + * `projects/{project_id}/databases/{database_id}`. This is only required in + * the first message. + */ + database?: string; + /** + * Request body metadata + */ + requestBody?: Schema$WriteRequest; + } + class Resource$Projects$Databases$Indexes { + root: Firestore; + constructor(root: Firestore); + getRoot(): Firestore; + /** + * firestore.projects.databases.indexes.create + * @desc Creates the specified index. A newly created index's initial state + * is `CREATING`. On completion of the returned + * google.longrunning.Operation, the state will be `READY`. If the index + * already exists, the call will return an `ALREADY_EXISTS` status. During + * creation, the process could result in an error, in which case the index + * will move to the `ERROR` state. The process can be recovered by fixing + * the data that caused the error, removing the index with delete, then + * re-creating the index with create. Indexes with a single field cannot be + * created. + * @alias firestore.projects.databases.indexes.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent The name of the database this index will apply to. For example: `projects/{project_id}/databases/{database_id}` + * @param {().GoogleFirestoreAdminV1beta1Index} 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 + */ + create(params?: Params$Resource$Projects$Databases$Indexes$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Databases$Indexes$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Databases$Indexes$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * firestore.projects.databases.indexes.delete + * @desc Deletes an index. + * @alias firestore.projects.databases.indexes.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The index name. For example: `projects/{project_id}/databases/{database_id}/indexes/{index_id}` + * @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?: Params$Resource$Projects$Databases$Indexes$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Databases$Indexes$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Databases$Indexes$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * firestore.projects.databases.indexes.get + * @desc Gets an index. + * @alias firestore.projects.databases.indexes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the index. For example: `projects/{project_id}/databases/{database_id}/indexes/{index_id}` + * @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?: Params$Resource$Projects$Databases$Indexes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Databases$Indexes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Databases$Indexes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * firestore.projects.databases.indexes.list + * @desc Lists the indexes that match the specified filters. + * @alias firestore.projects.databases.indexes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter + * @param {integer=} params.pageSize The standard List page size. + * @param {string=} params.pageToken The standard List page token. + * @param {string} params.parent The database name. For example: `projects/{project_id}/databases/{database_id}` + * @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?: Params$Resource$Projects$Databases$Indexes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Databases$Indexes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Databases$Indexes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Databases$Indexes$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the database this index will apply to. For example: + * `projects/{project_id}/databases/{database_id}` + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleFirestoreAdminV1beta1Index; + } + interface Params$Resource$Projects$Databases$Indexes$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The index name. For example: + * `projects/{project_id}/databases/{database_id}/indexes/{index_id}` + */ + name?: string; + } + interface Params$Resource$Projects$Databases$Indexes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the index. For example: + * `projects/{project_id}/databases/{database_id}/indexes/{index_id}` + */ + name?: string; + } + interface Params$Resource$Projects$Databases$Indexes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * + */ + filter?: string; + /** + * The standard List page size. + */ + pageSize?: number; + /** + * The standard List page token. + */ + pageToken?: string; + /** + * The database name. For example: + * `projects/{project_id}/databases/{database_id}` + */ + parent?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/firestore/v1beta1.js b/express-server/node_modules/googleapis/build/src/apis/firestore/v1beta1.js new file mode 100644 index 00000000..81872719 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/firestore/v1beta1.js @@ -0,0 +1,683 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var firestore_v1beta1; +(function (firestore_v1beta1) { + /** + * Cloud Firestore API + * + * Accesses the NoSQL document database built for automatic scaling, high + * performance, and ease of application development. + * + * @example + * const {google} = require('googleapis'); + * const firestore = google.firestore('v1beta1'); + * + * @namespace firestore + * @type {Function} + * @version v1beta1 + * @variation v1beta1 + * @param {object=} options Options for Firestore + */ + class Firestore { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.projects = new Resource$Projects(this); + } + getRoot() { + return this.root; + } + } + firestore_v1beta1.Firestore = Firestore; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.databases = new Resource$Projects$Databases(root); + } + getRoot() { + return this.root; + } + } + firestore_v1beta1.Resource$Projects = Resource$Projects; + class Resource$Projects$Databases { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.documents = new Resource$Projects$Databases$Documents(root); + this.indexes = new Resource$Projects$Databases$Indexes(root); + } + getRoot() { + return this.root; + } + exportDocuments(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://firestore.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}:exportDocuments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + importDocuments(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://firestore.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}:importDocuments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + firestore_v1beta1.Resource$Projects$Databases = Resource$Projects$Databases; + class Resource$Projects$Databases$Documents { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + batchGet(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://firestore.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+database}/documents:batchGet') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['database'], + pathParams: ['database'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + beginTransaction(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://firestore.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+database}/documents:beginTransaction') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['database'], + pathParams: ['database'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + commit(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://firestore.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+database}/documents:commit') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['database'], + pathParams: ['database'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + createDocument(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://firestore.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+parent}/{collectionId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent', 'collectionId'], + pathParams: ['collectionId', 'parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://firestore.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://firestore.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://firestore.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+parent}/{collectionId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent', 'collectionId'], + pathParams: ['collectionId', 'parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listCollectionIds(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://firestore.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+parent}:listCollectionIds') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listen(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://firestore.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+database}/documents:listen') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['database'], + pathParams: ['database'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://firestore.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + rollback(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://firestore.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+database}/documents:rollback') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['database'], + pathParams: ['database'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + runQuery(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://firestore.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+parent}:runQuery') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + write(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://firestore.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+database}/documents:write') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['database'], + pathParams: ['database'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + firestore_v1beta1.Resource$Projects$Databases$Documents = Resource$Projects$Databases$Documents; + class Resource$Projects$Databases$Indexes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://firestore.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+parent}/indexes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://firestore.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://firestore.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://firestore.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+parent}/indexes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + firestore_v1beta1.Resource$Projects$Databases$Indexes = Resource$Projects$Databases$Indexes; +})(firestore_v1beta1 = exports.firestore_v1beta1 || (exports.firestore_v1beta1 = {})); +//# sourceMappingURL=v1beta1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/firestore/v1beta1.js.map b/express-server/node_modules/googleapis/build/src/apis/firestore/v1beta1.js.map new file mode 100644 index 00000000..52787edd --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/firestore/v1beta1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1beta1.js","sourceRoot":"","sources":["../../../../src/apis/firestore/v1beta1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/firestore/v1beta2.d.ts b/express-server/node_modules/googleapis/build/src/apis/firestore/v1beta2.d.ts new file mode 100644 index 00000000..acb7203c --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/firestore/v1beta2.d.ts @@ -0,0 +1,710 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace firestore_v1beta2 { + interface Options extends GlobalOptions { + version: 'v1beta2'; + } + /** + * Cloud Firestore API + * + * Accesses the NoSQL document database built for automatic scaling, high + * performance, and ease of application development. + * + * @example + * const {google} = require('googleapis'); + * const firestore = google.firestore('v1beta2'); + * + * @namespace firestore + * @type {Function} + * @version v1beta2 + * @variation v1beta2 + * @param {object=} options Options for Firestore + */ + class Firestore { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + projects: Resource$Projects; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * Represents a single field in the database. Fields are grouped by their + * "Collection Group", which represent all collections in the + * database with the same id. + */ + interface Schema$GoogleFirestoreAdminV1beta2Field { + /** + * The index configuration for this field. If unset, field indexing will + * revert to the configuration defined by the `ancestor_field`. To + * explicitly remove all indexes for this field, specify an index config + * with an empty list of indexes. + */ + indexConfig?: Schema$GoogleFirestoreAdminV1beta2IndexConfig; + /** + * A field name of the form + * `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_path}` + * A field path may be a simple field name, e.g. `address` or a path to + * fields within map_value , e.g. `address.city`, or a special field path. + * The only valid special field is `*`, which represents any field. Field + * paths may be quoted using ` (backtick). The only character that needs to + * be escaped within a quoted field path is the backtick character itself, + * escaped using a backslash. Special characters in field paths that must be + * quoted include: `*`, `.`, ``` (backtick), `[`, `]`, as well as any ascii + * symbolic characters. Examples: (Note: Comments here are written in + * markdown syntax, so there is an additional layer of backticks to + * represent a code block) `\`address.city\`` represents a field named + * `address.city`, not the map key `city` in the field `address`. `\`*\`` + * represents a field named `*`, not any field. A special `Field` contains + * the default indexing settings for all fields. This field's resource + * name is: + * `projects/{project_id}/databases/{database_id}/collectionGroups/__default__/fields/x + * Indexes defined on this `Field` will be applied to all fields which do + * not have their own `Field` index configuration. + */ + name?: string; + } + /** + * Metadata for google.longrunning.Operation results from + * FirestoreAdmin.UpdateField. + */ + interface Schema$GoogleFirestoreAdminV1beta2FieldOperationMetadata { + /** + * The progress, in bytes, of this operation. + */ + bytesProgress?: Schema$GoogleFirestoreAdminV1beta2Progress; + /** + * The progress, in documents, of this operation. + */ + documentProgress?: Schema$GoogleFirestoreAdminV1beta2Progress; + /** + * The time this operation completed. Will be unset if operation still in + * progress. + */ + endTime?: string; + /** + * The field resource that this operation is acting on. For example: + * `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_path}` + */ + field?: string; + /** + * A list of IndexConfigDelta, which describe the intent of this operation. + */ + indexConfigDeltas?: Schema$GoogleFirestoreAdminV1beta2IndexConfigDelta[]; + /** + * The time this operation started. + */ + startTime?: string; + /** + * The state of the operation. + */ + state?: string; + } + /** + * Cloud Firestore indexes enable simple and complex queries against documents + * in a database. + */ + interface Schema$GoogleFirestoreAdminV1beta2Index { + /** + * The fields supported by this index. For composite indexes, this is + * always 2 or more fields. The last field entry is always for the field + * path `__name__`. If, on creation, `__name__` was not specified as the + * last field, it will be added automatically with the same direction as + * that of the last field defined. If the final field in a composite index + * is not directional, the `__name__` will be ordered ASCENDING (unless + * explicitly specified). For single field indexes, this will always be + * exactly one entry with a field path equal to the field path of the + * associated field. + */ + fields?: Schema$GoogleFirestoreAdminV1beta2IndexField[]; + /** + * Output only. A server defined name for this index. The form of this name + * for composite indexes will be: + * `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{composite_index_id}` + * For single field indexes, this field will be empty. + */ + name?: string; + /** + * Indexes with a collection query scope specified allow queries against a + * collection that is the child of a specific document, specified at query + * time, and that has the same collection id. Indexes with a collection + * group query scope specified allow queries against all collections + * descended from a specific document, specified at query time, and that + * have the same collection id as this index. + */ + queryScope?: string; + /** + * Output only. The serving state of the index. + */ + state?: string; + } + /** + * The index configuration for this field. + */ + interface Schema$GoogleFirestoreAdminV1beta2IndexConfig { + /** + * Output only. Specifies the resource name of the `Field` from which this + * field's index configuration is set (when `uses_ancestor_config` is + * true), or from which it *would* be set if this field had no index + * configuration (when `uses_ancestor_config` is false). + */ + ancestorField?: string; + /** + * The indexes supported for this field. + */ + indexes?: Schema$GoogleFirestoreAdminV1beta2Index[]; + /** + * Output only When true, the `Field`'s index configuration is in the + * process of being reverted. Once complete, the index config will + * transition to the same state as the field specified by `ancestor_field`, + * at which point `uses_ancestor_config` will be `true` and `reverting` will + * be `false`. + */ + reverting?: boolean; + /** + * Output only. When true, the `Field`'s index configuration is set from + * the configuration specified by the `ancestor_field`. When false, the + * `Field`'s index configuration is defined explicitly. + */ + usesAncestorConfig?: boolean; + } + /** + * Information about an index configuration change. + */ + interface Schema$GoogleFirestoreAdminV1beta2IndexConfigDelta { + /** + * Specifies how the index is changing. + */ + changeType?: string; + /** + * The index being changed. + */ + index?: Schema$GoogleFirestoreAdminV1beta2Index; + } + /** + * A field in an index. The field_path describes which field is indexed, the + * value_mode describes how the field value is indexed. + */ + interface Schema$GoogleFirestoreAdminV1beta2IndexField { + /** + * Indicates that this field supports operations on `array_value`s. + */ + arrayConfig?: string; + /** + * Can be __name__. For single field indexes, this must match the name of + * the field or may be omitted. + */ + fieldPath?: string; + /** + * Indicates that this field supports ordering by the specified order or + * comparing using =, <, <=, >, >=. + */ + order?: string; + } + /** + * Metadata for google.longrunning.Operation results from + * FirestoreAdmin.CreateIndex. + */ + interface Schema$GoogleFirestoreAdminV1beta2IndexOperationMetadata { + /** + * The time this operation completed. Will be unset if operation still in + * progress. + */ + endTime?: string; + /** + * The index resource that this operation is acting on. For example: + * `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{index_id}` + */ + index?: string; + /** + * The progress, in bytes, of this operation. + */ + progressBytes?: Schema$GoogleFirestoreAdminV1beta2Progress; + /** + * The progress, in documents, of this operation. + */ + progressDocuments?: Schema$GoogleFirestoreAdminV1beta2Progress; + /** + * The time this operation started. + */ + startTime?: string; + /** + * The state of the operation. + */ + state?: string; + } + /** + * The response for FirestoreAdmin.ListFields. + */ + interface Schema$GoogleFirestoreAdminV1beta2ListFieldsResponse { + /** + * The requested fields. + */ + fields?: Schema$GoogleFirestoreAdminV1beta2Field[]; + /** + * A page token that may be used to request another page of results. If + * blank, this is the last page. + */ + nextPageToken?: string; + } + /** + * The response for FirestoreAdmin.ListIndexes. + */ + interface Schema$GoogleFirestoreAdminV1beta2ListIndexesResponse { + /** + * The requested indexes. + */ + indexes?: Schema$GoogleFirestoreAdminV1beta2Index[]; + /** + * A page token that may be used to request another page of results. If + * blank, this is the last page. + */ + nextPageToken?: string; + } + /** + * Describes the progress of the operation. Unit of work is generic and must + * be interpreted based on where Progress is used. + */ + interface Schema$GoogleFirestoreAdminV1beta2Progress { + /** + * The amount of work completed. + */ + completedWork?: string; + /** + * The amount of work estimated. + */ + estimatedWork?: string; + } + /** + * This resource represents a long-running operation that is the result of a + * network API call. + */ + interface Schema$GoogleLongrunningOperation { + /** + * If the value is `false`, it means the operation is still in progress. If + * `true`, the operation is completed, and either `error` or `response` is + * available. + */ + done?: boolean; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * Service-specific metadata associated with the operation. It typically + * contains progress information and common metadata such as create time. + * Some services might not provide such metadata. Any method that returns a + * long-running operation should document the metadata type, if any. + */ + metadata?: any; + /** + * The server-assigned name, which is only unique within the same service + * that originally returns it. If you use the default HTTP mapping, the + * `name` should have the format of `operations/some/unique/name`. + */ + name?: string; + /** + * The normal response of the operation in case of success. If the original + * method returns no data on success, such as `Delete`, the response is + * `google.protobuf.Empty`. If the original method is standard + * `Get`/`Create`/`Update`, the response should be the resource. For other + * methods, the response should have the type `XxxResponse`, where `Xxx` is + * the original method name. For example, if the original method name is + * `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: any; + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + class Resource$Projects { + root: Firestore; + databases: Resource$Projects$Databases; + constructor(root: Firestore); + getRoot(): Firestore; + } + class Resource$Projects$Databases { + root: Firestore; + collectionGroup: Resource$Projects$Databases$Collectiongroup; + collectionGroups: Resource$Projects$Databases$Collectiongroups; + constructor(root: Firestore); + getRoot(): Firestore; + } + class Resource$Projects$Databases$Collectiongroup { + root: Firestore; + indexes: Resource$Projects$Databases$Collectiongroup$Indexes; + constructor(root: Firestore); + getRoot(): Firestore; + } + class Resource$Projects$Databases$Collectiongroup$Indexes { + root: Firestore; + constructor(root: Firestore); + getRoot(): Firestore; + /** + * firestore.projects.databases.collectionGroup.indexes.create + * @desc Creates a composite index. This returns a + * google.longrunning.Operation which may be used to track the status of the + * creation. The metadata for the operation will be the type + * IndexOperationMetadata. + * @alias firestore.projects.databases.collectionGroup.indexes.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent A parent name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}` + * @param {().GoogleFirestoreAdminV1beta2Index} 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 + */ + create(params?: Params$Resource$Projects$Databases$Collectiongroup$Indexes$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Databases$Collectiongroup$Indexes$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Databases$Collectiongroup$Indexes$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * firestore.projects.databases.collectionGroup.indexes.list + * @desc Lists composite indexes. + * @alias firestore.projects.databases.collectionGroup.indexes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter The filter to apply to list results. + * @param {integer=} params.pageSize The number of results to return. + * @param {string=} params.pageToken A page token, returned from a previous call to FirestoreAdmin.ListIndexes, that may be used to get the next page of results. + * @param {string} params.parent A parent name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}` + * @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?: Params$Resource$Projects$Databases$Collectiongroup$Indexes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Databases$Collectiongroup$Indexes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Databases$Collectiongroup$Indexes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Databases$Collectiongroup$Indexes$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A parent name of the form + * `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}` + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleFirestoreAdminV1beta2Index; + } + interface Params$Resource$Projects$Databases$Collectiongroup$Indexes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The filter to apply to list results. + */ + filter?: string; + /** + * The number of results to return. + */ + pageSize?: number; + /** + * A page token, returned from a previous call to + * FirestoreAdmin.ListIndexes, that may be used to get the next page of + * results. + */ + pageToken?: string; + /** + * A parent name of the form + * `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}` + */ + parent?: string; + } + class Resource$Projects$Databases$Collectiongroups { + root: Firestore; + fields: Resource$Projects$Databases$Collectiongroups$Fields; + indexes: Resource$Projects$Databases$Collectiongroups$Indexes; + constructor(root: Firestore); + getRoot(): Firestore; + } + class Resource$Projects$Databases$Collectiongroups$Fields { + root: Firestore; + constructor(root: Firestore); + getRoot(): Firestore; + /** + * firestore.projects.databases.collectionGroups.fields.get + * @desc Gets the metadata and configuration for a Field. + * @alias firestore.projects.databases.collectionGroups.fields.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name A name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_id}` + * @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?: Params$Resource$Projects$Databases$Collectiongroups$Fields$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Databases$Collectiongroups$Fields$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Databases$Collectiongroups$Fields$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * firestore.projects.databases.collectionGroups.fields.list + * @desc Lists the field configuration and metadata for this database. + * Currently, FirestoreAdmin.ListFields only supports listing fields that + * have been explicitly overridden. To issue this query, call + * FirestoreAdmin.ListFields with the filter set to + * `indexConfig.usesAncestorConfig:false`. + * @alias firestore.projects.databases.collectionGroups.fields.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter The filter to apply to list results. Currently, FirestoreAdmin.ListFields only supports listing fields that have been explicitly overridden. To issue this query, call FirestoreAdmin.ListFields with the filter set to `indexConfig.usesAncestorConfig:false`. + * @param {integer=} params.pageSize The number of results to return. + * @param {string=} params.pageToken A page token, returned from a previous call to FirestoreAdmin.ListFields, that may be used to get the next page of results. + * @param {string} params.parent A parent name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}` + * @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?: Params$Resource$Projects$Databases$Collectiongroups$Fields$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Databases$Collectiongroups$Fields$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Databases$Collectiongroups$Fields$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * firestore.projects.databases.collectionGroups.fields.patch + * @desc Updates a field configuration. Currently, field updates apply only + * to single field index configuration. However, calls to + * FirestoreAdmin.UpdateField should provide a field mask to avoid changing + * any configuration that the caller isn't aware of. The field mask should + * be specified as: `{ paths: "index_config" }`. This call returns a + * google.longrunning.Operation which may be used to track the status of the + * field update. The metadata for the operation will be the type + * FieldOperationMetadata. To configure the default field settings for the + * database, use the special `Field` with resource name: + * `projects/{project_id}/databases/{database_id}/collectionGroups/__default__/fields/x`. + * @alias firestore.projects.databases.collectionGroups.fields.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name A field name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_path}` A field path may be a simple field name, e.g. `address` or a path to fields within map_value , e.g. `address.city`, or a special field path. The only valid special field is `*`, which represents any field. Field paths may be quoted using ` (backtick). The only character that needs to be escaped within a quoted field path is the backtick character itself, escaped using a backslash. Special characters in field paths that must be quoted include: `*`, `.`, ``` (backtick), `[`, `]`, as well as any ascii symbolic characters. Examples: (Note: Comments here are written in markdown syntax, so there is an additional layer of backticks to represent a code block) `\`address.city\`` represents a field named `address.city`, not the map key `city` in the field `address`. `\`*\`` represents a field named `*`, not any field. A special `Field` contains the default indexing settings for all fields. This field's resource name is: `projects/{project_id}/databases/{database_id}/collectionGroups/__default__/fields/x` Indexes defined on this `Field` will be applied to all fields which do not have their own `Field` index configuration. + * @param {string=} params.updateMask A mask, relative to the field. If specified, only configuration specified by this field_mask will be updated in the field. + * @param {().GoogleFirestoreAdminV1beta2Field} 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 + */ + patch(params?: Params$Resource$Projects$Databases$Collectiongroups$Fields$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Databases$Collectiongroups$Fields$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Databases$Collectiongroups$Fields$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Databases$Collectiongroups$Fields$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A name of the form + * `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_id}` + */ + name?: string; + } + interface Params$Resource$Projects$Databases$Collectiongroups$Fields$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The filter to apply to list results. Currently, FirestoreAdmin.ListFields + * only supports listing fields that have been explicitly overridden. To + * issue this query, call FirestoreAdmin.ListFields with the filter set to + * `indexConfig.usesAncestorConfig:false`. + */ + filter?: string; + /** + * The number of results to return. + */ + pageSize?: number; + /** + * A page token, returned from a previous call to FirestoreAdmin.ListFields, + * that may be used to get the next page of results. + */ + pageToken?: string; + /** + * A parent name of the form + * `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}` + */ + parent?: string; + } + interface Params$Resource$Projects$Databases$Collectiongroups$Fields$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A field name of the form + * `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_path}` + * A field path may be a simple field name, e.g. `address` or a path to + * fields within map_value , e.g. `address.city`, or a special field path. + * The only valid special field is `*`, which represents any field. Field + * paths may be quoted using ` (backtick). The only character that needs to + * be escaped within a quoted field path is the backtick character itself, + * escaped using a backslash. Special characters in field paths that must be + * quoted include: `*`, `.`, ``` (backtick), `[`, `]`, as well as any ascii + * symbolic characters. Examples: (Note: Comments here are written in + * markdown syntax, so there is an additional layer of backticks to + * represent a code block) `\`address.city\`` represents a field named + * `address.city`, not the map key `city` in the field `address`. `\`*\`` + * represents a field named `*`, not any field. A special `Field` contains + * the default indexing settings for all fields. This field's resource name + * is: + * `projects/{project_id}/databases/{database_id}/collectionGroups/__default__/fields/x` + * Indexes defined on this `Field` will be applied to all fields which do + * not have their own `Field` index configuration. + */ + name?: string; + /** + * A mask, relative to the field. If specified, only configuration specified + * by this field_mask will be updated in the field. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleFirestoreAdminV1beta2Field; + } + class Resource$Projects$Databases$Collectiongroups$Indexes { + root: Firestore; + constructor(root: Firestore); + getRoot(): Firestore; + /** + * firestore.projects.databases.collectionGroups.indexes.delete + * @desc Deletes a composite index. + * @alias firestore.projects.databases.collectionGroups.indexes.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name A name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{index_id}` + * @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?: Params$Resource$Projects$Databases$Collectiongroups$Indexes$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Databases$Collectiongroups$Indexes$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Databases$Collectiongroups$Indexes$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * firestore.projects.databases.collectionGroups.indexes.get + * @desc Gets a composite index. + * @alias firestore.projects.databases.collectionGroups.indexes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name A name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{index_id}` + * @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?: Params$Resource$Projects$Databases$Collectiongroups$Indexes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Databases$Collectiongroups$Indexes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Databases$Collectiongroups$Indexes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Databases$Collectiongroups$Indexes$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A name of the form + * `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{index_id}` + */ + name?: string; + } + interface Params$Resource$Projects$Databases$Collectiongroups$Indexes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A name of the form + * `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{index_id}` + */ + name?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/firestore/v1beta2.js b/express-server/node_modules/googleapis/build/src/apis/firestore/v1beta2.js new file mode 100644 index 00000000..62df8591 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/firestore/v1beta2.js @@ -0,0 +1,350 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var firestore_v1beta2; +(function (firestore_v1beta2) { + /** + * Cloud Firestore API + * + * Accesses the NoSQL document database built for automatic scaling, high + * performance, and ease of application development. + * + * @example + * const {google} = require('googleapis'); + * const firestore = google.firestore('v1beta2'); + * + * @namespace firestore + * @type {Function} + * @version v1beta2 + * @variation v1beta2 + * @param {object=} options Options for Firestore + */ + class Firestore { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.projects = new Resource$Projects(this); + } + getRoot() { + return this.root; + } + } + firestore_v1beta2.Firestore = Firestore; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.databases = new Resource$Projects$Databases(root); + } + getRoot() { + return this.root; + } + } + firestore_v1beta2.Resource$Projects = Resource$Projects; + class Resource$Projects$Databases { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.collectionGroup = + new Resource$Projects$Databases$Collectiongroup(root); + this.collectionGroups = + new Resource$Projects$Databases$Collectiongroups(root); + } + getRoot() { + return this.root; + } + } + firestore_v1beta2.Resource$Projects$Databases = Resource$Projects$Databases; + class Resource$Projects$Databases$Collectiongroup { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.indexes = + new Resource$Projects$Databases$Collectiongroup$Indexes(root); + } + getRoot() { + return this.root; + } + } + firestore_v1beta2.Resource$Projects$Databases$Collectiongroup = Resource$Projects$Databases$Collectiongroup; + class Resource$Projects$Databases$Collectiongroup$Indexes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://firestore.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+parent}/indexes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://firestore.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+parent}/indexes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + firestore_v1beta2.Resource$Projects$Databases$Collectiongroup$Indexes = Resource$Projects$Databases$Collectiongroup$Indexes; + class Resource$Projects$Databases$Collectiongroups { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.fields = + new Resource$Projects$Databases$Collectiongroups$Fields(root); + this.indexes = + new Resource$Projects$Databases$Collectiongroups$Indexes(root); + } + getRoot() { + return this.root; + } + } + firestore_v1beta2.Resource$Projects$Databases$Collectiongroups = Resource$Projects$Databases$Collectiongroups; + class Resource$Projects$Databases$Collectiongroups$Fields { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://firestore.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://firestore.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+parent}/fields') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://firestore.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + firestore_v1beta2.Resource$Projects$Databases$Collectiongroups$Fields = Resource$Projects$Databases$Collectiongroups$Fields; + class Resource$Projects$Databases$Collectiongroups$Indexes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://firestore.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://firestore.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + firestore_v1beta2.Resource$Projects$Databases$Collectiongroups$Indexes = Resource$Projects$Databases$Collectiongroups$Indexes; +})(firestore_v1beta2 = exports.firestore_v1beta2 || (exports.firestore_v1beta2 = {})); +//# sourceMappingURL=v1beta2.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/firestore/v1beta2.js.map b/express-server/node_modules/googleapis/build/src/apis/firestore/v1beta2.js.map new file mode 100644 index 00000000..3c6baf85 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/firestore/v1beta2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1beta2.js","sourceRoot":"","sources":["../../../../src/apis/firestore/v1beta2.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/fitness/README.md b/express-server/node_modules/googleapis/build/src/apis/fitness/README.md new file mode 100644 index 00000000..0418210f --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/fitness/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/fitness + +> Stores and accesses user data in the fitness store from apps on any platform. + +## Installation + +```sh +$ npm install @google/fitness +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/fitness/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/fitness/index.d.ts new file mode 100644 index 00000000..fd5ce93c --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/fitness/index.d.ts @@ -0,0 +1,6 @@ +import { fitness_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof fitness_v1.Fitness; +}; +export declare function fitness(version: 'v1'): fitness_v1.Fitness; +export declare function fitness(options: fitness_v1.Options): fitness_v1.Fitness; diff --git a/express-server/node_modules/googleapis/build/src/apis/fitness/index.js b/express-server/node_modules/googleapis/build/src/apis/fitness/index.js new file mode 100644 index 00000000..53fc8ccb --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/fitness/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.fitness_v1.Fitness, +}; +function fitness(versionOrOptions) { + return googleapis_common_1.getAPI('fitness', versionOrOptions, exports.VERSIONS, this); +} +exports.fitness = fitness; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/fitness/index.js.map b/express-server/node_modules/googleapis/build/src/apis/fitness/index.js.map new file mode 100644 index 00000000..a364b6fa --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/fitness/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/fitness/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAgC;AAEnB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,eAAU,CAAC,OAAO;CACzB,CAAC;AAIF,SAAgB,OAAO,CACO,gBAAyC;IACrE,OAAO,0BAAM,CAAI,SAAS,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAChE,CAAC;AAHD,0BAGC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/fitness/package.json b/express-server/node_modules/googleapis/build/src/apis/fitness/package.json new file mode 100644 index 00000000..30871e98 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/fitness/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/fitness", + "version": "0.1.0", + "description": "fitness", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/fitness/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/fitness/v1.d.ts new file mode 100644 index 00000000..96983cef --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/fitness/v1.d.ts @@ -0,0 +1,1231 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace fitness_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Fitness + * + * Stores and accesses user data in the fitness store from apps on any + * platform. + * + * @example + * const {google} = require('googleapis'); + * const fitness = google.fitness('v1'); + * + * @namespace fitness + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Fitness + */ + class Fitness { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + users: Resource$Users; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + interface Schema$AggregateBucket { + /** + * Available for Bucket.Type.ACTIVITY_TYPE, Bucket.Type.ACTIVITY_SEGMENT + */ + activity?: number; + /** + * There will be one dataset per AggregateBy in the request. + */ + dataset?: Schema$Dataset[]; + /** + * The end time for the aggregated data, in milliseconds since epoch, + * inclusive. + */ + endTimeMillis?: string; + /** + * Available for Bucket.Type.SESSION + */ + session?: Schema$Session; + /** + * The start time for the aggregated data, in milliseconds since epoch, + * inclusive. + */ + startTimeMillis?: string; + /** + * The type of a bucket signifies how the data aggregation is performed in + * the bucket. + */ + type?: string; + } + /** + * The specification of which data to aggregate. + */ + interface Schema$AggregateBy { + /** + * A data source ID to aggregate. Mutually exclusive of dataTypeName. Only + * data from the specified data source ID will be included in the + * aggregation. The dataset in the response will have the same data source + * ID. + */ + dataSourceId?: string; + /** + * The data type to aggregate. All data sources providing this data type + * will contribute data to the aggregation. The response will contain a + * single dataset for this data type name. The dataset will have a data + * source ID of derived:com.google.:com.google.android.gms:aggregated + */ + dataTypeName?: string; + } + /** + * Next id: 10 + */ + interface Schema$AggregateRequest { + /** + * The specification of data to be aggregated. At least one aggregateBy spec + * must be provided. All data that is specified will be aggregated using the + * same bucketing criteria. There will be one dataset in the response for + * every aggregateBy spec. + */ + aggregateBy?: Schema$AggregateBy[]; + /** + * Specifies that data be aggregated each activity segment recored for a + * user. Similar to bucketByActivitySegment, but bucketing is done for each + * activity segment rather than all segments of the same type. Mutually + * exclusive of other bucketing specifications. + */ + bucketByActivitySegment?: Schema$BucketByActivity; + /** + * Specifies that data be aggregated by the type of activity being performed + * when the data was recorded. All data that was recorded during a certain + * activity type (for the given time range) will be aggregated into the same + * bucket. Data that was recorded while the user was not active will not be + * included in the response. Mutually exclusive of other bucketing + * specifications. + */ + bucketByActivityType?: Schema$BucketByActivity; + /** + * Specifies that data be aggregated by user sessions. Data that does not + * fall within the time range of a session will not be included in the + * response. Mutually exclusive of other bucketing specifications. + */ + bucketBySession?: Schema$BucketBySession; + /** + * Specifies that data be aggregated by a single time interval. Mutually + * exclusive of other bucketing specifications. + */ + bucketByTime?: Schema$BucketByTime; + /** + * The end of a window of time. Data that intersects with this time window + * will be aggregated. The time is in milliseconds since epoch, inclusive. + */ + endTimeMillis?: string; + /** + * A list of acceptable data quality standards. Only data points which + * conform to at least one of the specified data quality standards will be + * returned. If the list is empty, all data points are returned. + */ + filteredDataQualityStandard?: string[]; + /** + * The start of a window of time. Data that intersects with this time window + * will be aggregated. The time is in milliseconds since epoch, inclusive. + */ + startTimeMillis?: string; + } + interface Schema$AggregateResponse { + /** + * A list of buckets containing the aggregated data. + */ + bucket?: Schema$AggregateBucket[]; + } + interface Schema$Application { + /** + * An optional URI that can be used to link back to the application. + */ + detailsUrl?: string; + /** + * The name of this application. This is required for REST clients, but we + * do not enforce uniqueness of this name. It is provided as a matter of + * convenience for other developers who would like to identify which REST + * created an Application or Data Source. + */ + name?: string; + /** + * Package name for this application. This is used as a unique identifier + * when created by Android applications, but cannot be specified by REST + * clients. REST clients will have their developer project number reflected + * into the Data Source data stream IDs, instead of the packageName. + */ + packageName?: string; + /** + * Version of the application. You should update this field whenever the + * application changes in a way that affects the computation of the data. + */ + version?: string; + } + interface Schema$BucketByActivity { + /** + * The default activity stream will be used if a specific + * activityDataSourceId is not specified. + */ + activityDataSourceId?: string; + /** + * Specifies that only activity segments of duration longer than + * minDurationMillis are considered and used as a container for aggregated + * data. + */ + minDurationMillis?: string; + } + interface Schema$BucketBySession { + /** + * Specifies that only sessions of duration longer than minDurationMillis + * are considered and used as a container for aggregated data. + */ + minDurationMillis?: string; + } + interface Schema$BucketByTime { + /** + * Specifies that result buckets aggregate data by exactly durationMillis + * time frames. Time frames that contain no data will be included in the + * response with an empty dataset. + */ + durationMillis?: string; + period?: Schema$BucketByTimePeriod; + } + interface Schema$BucketByTimePeriod { + /** + * org.joda.timezone.DateTimeZone + */ + timeZoneId?: string; + type?: string; + value?: number; + } + /** + * Represents a single data point, generated by a particular data source. A + * data point holds a value for each field, an end timestamp and an optional + * start time. The exact semantics of each of these attributes are specified + * in the documentation for the particular data type. A data point can + * represent an instantaneous measurement, reading or input observation, as + * well as averages or aggregates over a time interval. Check the data type + * documentation to determine which is the case for a particular data type. + * Data points always contain one value for each field of the data type. + */ + interface Schema$DataPoint { + /** + * Used for version checking during transformation; that is, a datapoint can + * only replace another datapoint that has an older computation time stamp. + */ + computationTimeMillis?: string; + /** + * The data type defining the format of the values in this data point. + */ + dataTypeName?: string; + /** + * The end time of the interval represented by this data point, in + * nanoseconds since epoch. + */ + endTimeNanos?: string; + /** + * Indicates the last time this data point was modified. Useful only in + * contexts where we are listing the data changes, rather than representing + * the current state of the data. + */ + modifiedTimeMillis?: string; + /** + * If the data point is contained in a dataset for a derived data source, + * this field will be populated with the data source stream ID that created + * the data point originally. + */ + originDataSourceId?: string; + /** + * The raw timestamp from the original SensorEvent. + */ + rawTimestampNanos?: string; + /** + * The start time of the interval represented by this data point, in + * nanoseconds since epoch. + */ + startTimeNanos?: string; + /** + * Values of each data type field for the data point. It is expected that + * each value corresponding to a data type field will occur in the same + * order that the field is listed with in the data type specified in a data + * source. Only one of integer and floating point fields will be populated, + * depending on the format enum value within data source's type field. + */ + value?: Schema$Value[]; + } + /** + * A dataset represents a projection container for data points. They do not + * carry any info of their own. Datasets represent a set of data points from a + * particular data source. A data point can be found in more than one dataset. + */ + interface Schema$Dataset { + /** + * The data stream ID of the data source that created the points in this + * dataset. + */ + dataSourceId?: string; + /** + * The largest end time of all data points in this possibly partial + * representation of the dataset. Time is in nanoseconds from epoch. This + * should also match the first part of the dataset identifier. + */ + maxEndTimeNs?: string; + /** + * The smallest start time of all data points in this possibly partial + * representation of the dataset. Time is in nanoseconds from epoch. This + * should also match the first part of the dataset identifier. + */ + minStartTimeNs?: string; + /** + * This token will be set when a dataset is received in response to a GET + * request and the dataset is too large to be included in a single response. + * Provide this value in a subsequent GET request to return the next page of + * data points within this dataset. + */ + nextPageToken?: string; + /** + * A partial list of data points contained in the dataset, ordered by + * largest endTimeNanos first. This list is considered complete when + * retrieving a small dataset and partial when patching a dataset or + * retrieving a dataset that is too large to include in a single response. + */ + point?: Schema$DataPoint[]; + } + /** + * Definition of a unique source of sensor data. Data sources can expose raw + * data coming from hardware sensors on local or companion devices. They can + * also expose derived data, created by transforming or merging other data + * sources. Multiple data sources can exist for the same data type. Every data + * point inserted into or read from this service has an associated data + * source. The data source contains enough information to uniquely identify + * its data, including the hardware device and the application that collected + * and/or transformed the data. It also holds useful metadata, such as the + * hardware and application versions, and the device type. Each data source + * produces a unique stream of data, with a unique identifier. Not all changes + * to data source affect the stream identifier, so that data collected by + * updated versions of the same application/device can still be considered to + * belong to the same data stream. + */ + interface Schema$DataSource { + /** + * Information about an application which feeds sensor data into the + * platform. + */ + application?: Schema$Application; + dataQualityStandard?: string[]; + /** + * A unique identifier for the data stream produced by this data source. The + * identifier includes: - The physical device's manufacturer, model, + * and serial number (UID). - The application's package name or name. + * Package name is used when the data source was created by an Android + * application. The developer project number is used when the data source + * was created by a REST client. - The data source's type. - The data + * source's stream name. Note that not all attributes of the data + * source are used as part of the stream identifier. In particular, the + * version of the hardware/the application isn't used. This allows us to + * preserve the same stream through version updates. This also means that + * two DataSource objects may represent the same data stream even if + * they're not equal. The exact format of the data stream ID created by + * an Android application is: + * type:dataType.name:application.packageName:device.manufacturer:device.model:device.uid:dataStreamName + * The exact format of the data stream ID created by a REST client is: + * type:dataType.name:developer project + * number:device.manufacturer:device.model:device.uid:dataStreamName When + * any of the optional fields that comprise of the data stream ID are blank, + * they will be omitted from the data stream ID. The minimum viable data + * stream ID would be: type:dataType.name:developer project number Finally, + * the developer project number is obfuscated when read by any REST or + * Android client that did not create the data source. Only the data source + * creator will see the developer project number in clear and normal form. + */ + dataStreamId?: string; + /** + * The stream name uniquely identifies this particular data source among + * other data sources of the same type from the same underlying producer. + * Setting the stream name is optional, but should be done whenever an + * application exposes two streams for the same data type, or when a device + * has two equivalent sensors. + */ + dataStreamName?: string; + /** + * The data type defines the schema for a stream of data being collected by, + * inserted into, or queried from the Fitness API. + */ + dataType?: Schema$DataType; + /** + * Representation of an integrated device (such as a phone or a wearable) + * that can hold sensors. + */ + device?: Schema$Device; + /** + * An end-user visible name for this data source. + */ + name?: string; + /** + * A constant describing the type of this data source. Indicates whether + * this data source produces raw or derived data. + */ + type?: string; + } + interface Schema$DataType { + /** + * A field represents one dimension of a data type. + */ + field?: Schema$DataTypeField[]; + /** + * Each data type has a unique, namespaced, name. All data types in the + * com.google namespace are shared as part of the platform. + */ + name?: string; + } + /** + * In case of multi-dimensional data (such as an accelerometer with x, y, and + * z axes) each field represents one dimension. Each data type field has a + * unique name which identifies it. The field also defines the format of the + * data (int, float, etc.). This message is only instantiated in code and not + * used for wire comms or stored in any way. + */ + interface Schema$DataTypeField { + /** + * The different supported formats for each field in a data type. + */ + format?: string; + /** + * Defines the name and format of data. Unlike data type names, field names + * are not namespaced, and only need to be unique within the data type. + */ + name?: string; + optional?: boolean; + } + /** + * Representation of an integrated device (such as a phone or a wearable) that + * can hold sensors. Each sensor is exposed as a data source. The main + * purpose of the device information contained in this class is to identify + * the hardware of a particular data source. This can be useful in different + * ways, including: - Distinguishing two similar sensors on different + * devices (the step counter on two nexus 5 phones, for instance) - Display + * the source of data to the user (by using the device make / model) - Treat + * data differently depending on sensor type (accelerometers on a watch may + * give different patterns than those on a phone) - Build different analysis + * models for each device/version. + */ + interface Schema$Device { + /** + * Manufacturer of the product/hardware. + */ + manufacturer?: string; + /** + * End-user visible model name for the device. + */ + model?: string; + /** + * A constant representing the type of the device. + */ + type?: string; + /** + * The serial number or other unique ID for the hardware. This field is + * obfuscated when read by any REST or Android client that did not create + * the data source. Only the data source creator will see the uid field in + * clear and normal form. + */ + uid?: string; + /** + * Version string for the device hardware/software. + */ + version?: string; + } + interface Schema$ListDataPointChangesResponse { + /** + * The data stream ID of the data source with data point changes. + */ + dataSourceId?: string; + /** + * Deleted data points for the user. Note, for modifications this should be + * parsed before handling insertions. + */ + deletedDataPoint?: Schema$DataPoint[]; + /** + * Inserted data points for the user. + */ + insertedDataPoint?: Schema$DataPoint[]; + /** + * The continuation token, which is used to page through large result sets. + * Provide this value in a subsequent request to return the next page of + * results. + */ + nextPageToken?: string; + } + interface Schema$ListDataSourcesResponse { + /** + * A previously created data source. + */ + dataSource?: Schema$DataSource[]; + } + interface Schema$ListSessionsResponse { + /** + * If includeDeleted is set to true in the request, this list will contain + * sessions deleted with original end times that are within the startTime + * and endTime frame. + */ + deletedSession?: Schema$Session[]; + /** + * Flag to indicate server has more data to transfer + */ + hasMoreData?: boolean; + /** + * The continuation token, which is used to page through large result sets. + * Provide this value in a subsequent request to return the next page of + * results. + */ + nextPageToken?: string; + /** + * Sessions with an end time that is between startTime and endTime of the + * request. + */ + session?: Schema$Session[]; + } + /** + * Holder object for the value of an entry in a map field of a data point. A + * map value supports a subset of the formats that the regular Value supports. + */ + interface Schema$MapValue { + /** + * Floating point value. + */ + fpVal?: number; + } + /** + * Sessions contain metadata, such as a user-friendly name and time interval + * information. + */ + interface Schema$Session { + /** + * Session active time. While start_time_millis and end_time_millis define + * the full session time, the active time can be shorter and specified by + * active_time_millis. If the inactive time during the session is known, it + * should also be inserted via a com.google.activity.segment data point with + * a STILL activity value + */ + activeTimeMillis?: string; + /** + * The type of activity this session represents. + */ + activityType?: number; + /** + * The application that created the session. + */ + application?: Schema$Application; + /** + * A description for this session. + */ + description?: string; + /** + * An end time, in milliseconds since epoch, inclusive. + */ + endTimeMillis?: string; + /** + * A client-generated identifier that is unique across all sessions owned by + * this particular user. + */ + id?: string; + /** + * A timestamp that indicates when the session was last modified. + */ + modifiedTimeMillis?: string; + /** + * A human readable name of the session. + */ + name?: string; + /** + * A start time, in milliseconds since epoch, inclusive. + */ + startTimeMillis?: string; + } + /** + * Holder object for the value of a single field in a data point. A field + * value has a particular format and is only ever set to one of an integer or + * a floating point value. LINT.IfChange + */ + interface Schema$Value { + /** + * Floating point value. When this is set, other values must not be set. + */ + fpVal?: number; + /** + * Integer value. When this is set, other values must not be set. + */ + intVal?: number; + /** + * Map value. The valid key space and units for the corresponding value of + * each entry should be documented as part of the data type definition. Keys + * should be kept small whenever possible. Data streams with large keys and + * high data frequency may be down sampled. + */ + mapVal?: Schema$ValueMapValEntry[]; + /** + * String value. When this is set, other values must not be set. Strings + * should be kept small whenever possible. Data streams with large string + * values and high data frequency may be down sampled. + */ + stringVal?: string; + } + interface Schema$ValueMapValEntry { + key?: string; + value?: Schema$MapValue; + } + class Resource$Users { + root: Fitness; + dataset: Resource$Users$Dataset; + dataSources: Resource$Users$Datasources; + sessions: Resource$Users$Sessions; + constructor(root: Fitness); + getRoot(): Fitness; + } + class Resource$Users$Dataset { + root: Fitness; + constructor(root: Fitness); + getRoot(): Fitness; + /** + * fitness.users.dataset.aggregate + * @desc Aggregates data of a certain type or stream into buckets divided by + * a given type of boundary. Multiple data sets of multiple types and from + * multiple sources can be aggreated into exactly one bucket type per + * request. + * @alias fitness.users.dataset.aggregate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.userId Aggregate data for the person identified. Use me to indicate the authenticated user. Only me is supported at this time. + * @param {().AggregateRequest} 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 + */ + aggregate(params?: Params$Resource$Users$Dataset$Aggregate, options?: MethodOptions): AxiosPromise; + aggregate(params: Params$Resource$Users$Dataset$Aggregate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + aggregate(params: Params$Resource$Users$Dataset$Aggregate, callback: BodyResponseCallback): void; + aggregate(callback: BodyResponseCallback): void; + } + interface Params$Resource$Users$Dataset$Aggregate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Aggregate data for the person identified. Use me to indicate the + * authenticated user. Only me is supported at this time. + */ + userId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AggregateRequest; + } + class Resource$Users$Datasources { + root: Fitness; + dataPointChanges: Resource$Users$Datasources$Datapointchanges; + datasets: Resource$Users$Datasources$Datasets; + constructor(root: Fitness); + getRoot(): Fitness; + /** + * fitness.users.dataSources.create + * @desc Creates a new data source that is unique across all data sources + * belonging to this user. The data stream ID field can be omitted and will + * be generated by the server with the correct format. The data stream ID is + * an ordered combination of some fields from the data source. In addition + * to the data source fields reflected into the data source ID, the + * developer project number that is authenticated when creating the data + * source is included. This developer project number is obfuscated when read + * by any other developer reading public data types. + * @alias fitness.users.dataSources.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.userId Create the data source for the person identified. Use me to indicate the authenticated user. Only me is supported at this time. + * @param {().DataSource} 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 + */ + create(params?: Params$Resource$Users$Datasources$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Users$Datasources$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Users$Datasources$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * fitness.users.dataSources.delete + * @desc Deletes the specified data source. The request will fail if the + * data source contains any data points. + * @alias fitness.users.dataSources.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.dataSourceId The data stream ID of the data source to delete. + * @param {string} params.userId Retrieve a data source for the person identified. Use me to indicate the authenticated user. Only me is supported at this time. + * @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?: Params$Resource$Users$Datasources$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Users$Datasources$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Users$Datasources$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * fitness.users.dataSources.get + * @desc Returns the specified data source. + * @alias fitness.users.dataSources.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.dataSourceId The data stream ID of the data source to retrieve. + * @param {string} params.userId Retrieve a data source for the person identified. Use me to indicate the authenticated user. Only me is supported at this time. + * @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?: Params$Resource$Users$Datasources$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Users$Datasources$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Users$Datasources$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * fitness.users.dataSources.list + * @desc Lists all data sources that are visible to the developer, using the + * OAuth scopes provided. The list is not exhaustive; the user may have + * private data sources that are only visible to other developers, or calls + * using other scopes. + * @alias fitness.users.dataSources.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.dataTypeName The names of data types to include in the list. If not specified, all data sources will be returned. + * @param {string} params.userId List data sources for the person identified. Use me to indicate the authenticated user. Only me is supported at this time. + * @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?: Params$Resource$Users$Datasources$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Users$Datasources$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Users$Datasources$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * fitness.users.dataSources.patch + * @desc Updates the specified data source. The dataStreamId, dataType, + * type, dataStreamName, and device properties with the exception of + * version, cannot be modified. Data sources are identified by their + * dataStreamId. This method supports patch semantics. + * @alias fitness.users.dataSources.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.dataSourceId The data stream ID of the data source to update. + * @param {string} params.userId Update the data source for the person identified. Use me to indicate the authenticated user. Only me is supported at this time. + * @param {().DataSource} 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 + */ + patch(params?: Params$Resource$Users$Datasources$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Users$Datasources$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Users$Datasources$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * fitness.users.dataSources.update + * @desc Updates the specified data source. The dataStreamId, dataType, + * type, dataStreamName, and device properties with the exception of + * version, cannot be modified. Data sources are identified by their + * dataStreamId. + * @alias fitness.users.dataSources.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.dataSourceId The data stream ID of the data source to update. + * @param {string} params.userId Update the data source for the person identified. Use me to indicate the authenticated user. Only me is supported at this time. + * @param {().DataSource} 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?: Params$Resource$Users$Datasources$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Users$Datasources$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Users$Datasources$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Users$Datasources$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Create the data source for the person identified. Use me to indicate the + * authenticated user. Only me is supported at this time. + */ + userId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DataSource; + } + interface Params$Resource$Users$Datasources$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The data stream ID of the data source to delete. + */ + dataSourceId?: string; + /** + * Retrieve a data source for the person identified. Use me to indicate the + * authenticated user. Only me is supported at this time. + */ + userId?: string; + } + interface Params$Resource$Users$Datasources$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The data stream ID of the data source to retrieve. + */ + dataSourceId?: string; + /** + * Retrieve a data source for the person identified. Use me to indicate the + * authenticated user. Only me is supported at this time. + */ + userId?: string; + } + interface Params$Resource$Users$Datasources$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The names of data types to include in the list. If not specified, all + * data sources will be returned. + */ + dataTypeName?: string; + /** + * List data sources for the person identified. Use me to indicate the + * authenticated user. Only me is supported at this time. + */ + userId?: string; + } + interface Params$Resource$Users$Datasources$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The data stream ID of the data source to update. + */ + dataSourceId?: string; + /** + * Update the data source for the person identified. Use me to indicate the + * authenticated user. Only me is supported at this time. + */ + userId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DataSource; + } + interface Params$Resource$Users$Datasources$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The data stream ID of the data source to update. + */ + dataSourceId?: string; + /** + * Update the data source for the person identified. Use me to indicate the + * authenticated user. Only me is supported at this time. + */ + userId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DataSource; + } + class Resource$Users$Datasources$Datapointchanges { + root: Fitness; + constructor(root: Fitness); + getRoot(): Fitness; + /** + * fitness.users.dataSources.dataPointChanges.list + * @desc Queries for user's data point changes for a particular data source. + * @alias fitness.users.dataSources.dataPointChanges.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.dataSourceId The data stream ID of the data source that created the dataset. + * @param {integer=} params.limit If specified, no more than this many data point changes will be included in the response. + * @param {string=} params.pageToken The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of nextPageToken from the previous response. + * @param {string} params.userId List data points for the person identified. Use me to indicate the authenticated user. Only me is supported at this time. + * @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?: Params$Resource$Users$Datasources$Datapointchanges$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Users$Datasources$Datapointchanges$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Users$Datasources$Datapointchanges$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Users$Datasources$Datapointchanges$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The data stream ID of the data source that created the dataset. + */ + dataSourceId?: string; + /** + * If specified, no more than this many data point changes will be included + * in the response. + */ + limit?: number; + /** + * The continuation token, which is used to page through large result sets. + * To get the next page of results, set this parameter to the value of + * nextPageToken from the previous response. + */ + pageToken?: string; + /** + * List data points for the person identified. Use me to indicate the + * authenticated user. Only me is supported at this time. + */ + userId?: string; + } + class Resource$Users$Datasources$Datasets { + root: Fitness; + constructor(root: Fitness); + getRoot(): Fitness; + /** + * fitness.users.dataSources.datasets.delete + * @desc Performs an inclusive delete of all data points whose start and end + * times have any overlap with the time range specified by the dataset ID. + * For most data types, the entire data point will be deleted. For data + * types where the time span represents a consistent value (such as + * com.google.activity.segment), and a data point straddles either end point + * of the dataset, only the overlapping portion of the data point will be + * deleted. + * @alias fitness.users.dataSources.datasets.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.currentTimeMillis The client's current time in milliseconds since epoch. + * @param {string} params.datasetId Dataset identifier that is a composite of the minimum data point start time and maximum data point end time represented as nanoseconds from the epoch. The ID is formatted like: "startTime-endTime" where startTime and endTime are 64 bit integers. + * @param {string} params.dataSourceId The data stream ID of the data source that created the dataset. + * @param {string=} params.modifiedTimeMillis When the operation was performed on the client. + * @param {string} params.userId Delete a dataset for the person identified. Use me to indicate the authenticated user. Only me is supported at this time. + * @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?: Params$Resource$Users$Datasources$Datasets$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Users$Datasources$Datasets$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Users$Datasources$Datasets$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * fitness.users.dataSources.datasets.get + * @desc Returns a dataset containing all data points whose start and end + * times overlap with the specified range of the dataset minimum start time + * and maximum end time. Specifically, any data point whose start time is + * less than or equal to the dataset end time and whose end time is greater + * than or equal to the dataset start time. + * @alias fitness.users.dataSources.datasets.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.datasetId Dataset identifier that is a composite of the minimum data point start time and maximum data point end time represented as nanoseconds from the epoch. The ID is formatted like: "startTime-endTime" where startTime and endTime are 64 bit integers. + * @param {string} params.dataSourceId The data stream ID of the data source that created the dataset. + * @param {integer=} params.limit If specified, no more than this many data points will be included in the dataset. If there are more data points in the dataset, nextPageToken will be set in the dataset response. + * @param {string=} params.pageToken The continuation token, which is used to page through large datasets. To get the next page of a dataset, set this parameter to the value of nextPageToken from the previous response. Each subsequent call will yield a partial dataset with data point end timestamps that are strictly smaller than those in the previous partial response. + * @param {string} params.userId Retrieve a dataset for the person identified. Use me to indicate the authenticated user. Only me is supported at this time. + * @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?: Params$Resource$Users$Datasources$Datasets$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Users$Datasources$Datasets$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Users$Datasources$Datasets$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * fitness.users.dataSources.datasets.patch + * @desc Adds data points to a dataset. The dataset need not be previously + * created. All points within the given dataset will be returned with + * subsquent calls to retrieve this dataset. Data points can belong to more + * than one dataset. This method does not use patch semantics. + * @alias fitness.users.dataSources.datasets.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.currentTimeMillis The client's current time in milliseconds since epoch. Note that the minStartTimeNs and maxEndTimeNs properties in the request body are in nanoseconds instead of milliseconds. + * @param {string} params.datasetId Dataset identifier that is a composite of the minimum data point start time and maximum data point end time represented as nanoseconds from the epoch. The ID is formatted like: "startTime-endTime" where startTime and endTime are 64 bit integers. + * @param {string} params.dataSourceId The data stream ID of the data source that created the dataset. + * @param {string} params.userId Patch a dataset for the person identified. Use me to indicate the authenticated user. Only me is supported at this time. + * @param {().Dataset} 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 + */ + patch(params?: Params$Resource$Users$Datasources$Datasets$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Users$Datasources$Datasets$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Users$Datasources$Datasets$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Users$Datasources$Datasets$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The client's current time in milliseconds since epoch. + */ + currentTimeMillis?: string; + /** + * Dataset identifier that is a composite of the minimum data point start + * time and maximum data point end time represented as nanoseconds from the + * epoch. The ID is formatted like: "startTime-endTime" where startTime and + * endTime are 64 bit integers. + */ + datasetId?: string; + /** + * The data stream ID of the data source that created the dataset. + */ + dataSourceId?: string; + /** + * When the operation was performed on the client. + */ + modifiedTimeMillis?: string; + /** + * Delete a dataset for the person identified. Use me to indicate the + * authenticated user. Only me is supported at this time. + */ + userId?: string; + } + interface Params$Resource$Users$Datasources$Datasets$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Dataset identifier that is a composite of the minimum data point start + * time and maximum data point end time represented as nanoseconds from the + * epoch. The ID is formatted like: "startTime-endTime" where startTime and + * endTime are 64 bit integers. + */ + datasetId?: string; + /** + * The data stream ID of the data source that created the dataset. + */ + dataSourceId?: string; + /** + * If specified, no more than this many data points will be included in the + * dataset. If there are more data points in the dataset, nextPageToken will + * be set in the dataset response. + */ + limit?: number; + /** + * The continuation token, which is used to page through large datasets. To + * get the next page of a dataset, set this parameter to the value of + * nextPageToken from the previous response. Each subsequent call will yield + * a partial dataset with data point end timestamps that are strictly + * smaller than those in the previous partial response. + */ + pageToken?: string; + /** + * Retrieve a dataset for the person identified. Use me to indicate the + * authenticated user. Only me is supported at this time. + */ + userId?: string; + } + interface Params$Resource$Users$Datasources$Datasets$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The client's current time in milliseconds since epoch. Note that the + * minStartTimeNs and maxEndTimeNs properties in the request body are in + * nanoseconds instead of milliseconds. + */ + currentTimeMillis?: string; + /** + * Dataset identifier that is a composite of the minimum data point start + * time and maximum data point end time represented as nanoseconds from the + * epoch. The ID is formatted like: "startTime-endTime" where startTime and + * endTime are 64 bit integers. + */ + datasetId?: string; + /** + * The data stream ID of the data source that created the dataset. + */ + dataSourceId?: string; + /** + * Patch a dataset for the person identified. Use me to indicate the + * authenticated user. Only me is supported at this time. + */ + userId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Dataset; + } + class Resource$Users$Sessions { + root: Fitness; + constructor(root: Fitness); + getRoot(): Fitness; + /** + * fitness.users.sessions.delete + * @desc Deletes a session specified by the given session ID. + * @alias fitness.users.sessions.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.currentTimeMillis The client's current time in milliseconds since epoch. + * @param {string} params.sessionId The ID of the session to be deleted. + * @param {string} params.userId Delete a session for the person identified. Use me to indicate the authenticated user. Only me is supported at this time. + * @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?: Params$Resource$Users$Sessions$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Users$Sessions$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Users$Sessions$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * fitness.users.sessions.list + * @desc Lists sessions previously created. + * @alias fitness.users.sessions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.endTime An RFC3339 timestamp. Only sessions ending between the start and end times will be included in the response. + * @param {boolean=} params.includeDeleted If true, deleted sessions will be returned. When set to true, sessions returned in this response will only have an ID and will not have any other fields. + * @param {string=} params.pageToken The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of nextPageToken from the previous response. + * @param {string=} params.startTime An RFC3339 timestamp. Only sessions ending between the start and end times will be included in the response. + * @param {string} params.userId List sessions for the person identified. Use me to indicate the authenticated user. Only me is supported at this time. + * @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?: Params$Resource$Users$Sessions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Users$Sessions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Users$Sessions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * fitness.users.sessions.update + * @desc Updates or insert a given session. + * @alias fitness.users.sessions.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.currentTimeMillis The client's current time in milliseconds since epoch. + * @param {string} params.sessionId The ID of the session to be created. + * @param {string} params.userId Create sessions for the person identified. Use me to indicate the authenticated user. Only me is supported at this time. + * @param {().Session} 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?: Params$Resource$Users$Sessions$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Users$Sessions$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Users$Sessions$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Users$Sessions$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The client's current time in milliseconds since epoch. + */ + currentTimeMillis?: string; + /** + * The ID of the session to be deleted. + */ + sessionId?: string; + /** + * Delete a session for the person identified. Use me to indicate the + * authenticated user. Only me is supported at this time. + */ + userId?: string; + } + interface Params$Resource$Users$Sessions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * An RFC3339 timestamp. Only sessions ending between the start and end + * times will be included in the response. + */ + endTime?: string; + /** + * If true, deleted sessions will be returned. When set to true, sessions + * returned in this response will only have an ID and will not have any + * other fields. + */ + includeDeleted?: boolean; + /** + * The continuation token, which is used to page through large result sets. + * To get the next page of results, set this parameter to the value of + * nextPageToken from the previous response. + */ + pageToken?: string; + /** + * An RFC3339 timestamp. Only sessions ending between the start and end + * times will be included in the response. + */ + startTime?: string; + /** + * List sessions for the person identified. Use me to indicate the + * authenticated user. Only me is supported at this time. + */ + userId?: string; + } + interface Params$Resource$Users$Sessions$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The client's current time in milliseconds since epoch. + */ + currentTimeMillis?: string; + /** + * The ID of the session to be created. + */ + sessionId?: string; + /** + * Create sessions for the person identified. Use me to indicate the + * authenticated user. Only me is supported at this time. + */ + userId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Session; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/fitness/v1.js b/express-server/node_modules/googleapis/build/src/apis/fitness/v1.js new file mode 100644 index 00000000..7f2cfa79 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/fitness/v1.js @@ -0,0 +1,564 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var fitness_v1; +(function (fitness_v1) { + /** + * Fitness + * + * Stores and accesses user data in the fitness store from apps on any + * platform. + * + * @example + * const {google} = require('googleapis'); + * const fitness = google.fitness('v1'); + * + * @namespace fitness + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Fitness + */ + class Fitness { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.users = new Resource$Users(this); + } + getRoot() { + return this.root; + } + } + fitness_v1.Fitness = Fitness; + class Resource$Users { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.dataset = new Resource$Users$Dataset(root); + this.dataSources = new Resource$Users$Datasources(root); + this.sessions = new Resource$Users$Sessions(root); + } + getRoot() { + return this.root; + } + } + fitness_v1.Resource$Users = Resource$Users; + class Resource$Users$Dataset { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + aggregate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/fitness/v1/users/{userId}/dataset:aggregate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['userId'], + pathParams: ['userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + fitness_v1.Resource$Users$Dataset = Resource$Users$Dataset; + class Resource$Users$Datasources { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.dataPointChanges = + new Resource$Users$Datasources$Datapointchanges(root); + this.datasets = new Resource$Users$Datasources$Datasets(root); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/fitness/v1/users/{userId}/dataSources') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['userId'], + pathParams: ['userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/fitness/v1/users/{userId}/dataSources/{dataSourceId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['userId', 'dataSourceId'], + pathParams: ['dataSourceId', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/fitness/v1/users/{userId}/dataSources/{dataSourceId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userId', 'dataSourceId'], + pathParams: ['dataSourceId', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/fitness/v1/users/{userId}/dataSources') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userId'], + pathParams: ['userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/fitness/v1/users/{userId}/dataSources/{dataSourceId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['userId', 'dataSourceId'], + pathParams: ['dataSourceId', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/fitness/v1/users/{userId}/dataSources/{dataSourceId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['userId', 'dataSourceId'], + pathParams: ['dataSourceId', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + fitness_v1.Resource$Users$Datasources = Resource$Users$Datasources; + class Resource$Users$Datasources$Datapointchanges { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/fitness/v1/users/{userId}/dataSources/{dataSourceId}/dataPointChanges') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userId', 'dataSourceId'], + pathParams: ['dataSourceId', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + fitness_v1.Resource$Users$Datasources$Datapointchanges = Resource$Users$Datasources$Datapointchanges; + class Resource$Users$Datasources$Datasets { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/fitness/v1/users/{userId}/dataSources/{dataSourceId}/datasets/{datasetId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['userId', 'dataSourceId', 'datasetId'], + pathParams: ['datasetId', 'dataSourceId', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/fitness/v1/users/{userId}/dataSources/{dataSourceId}/datasets/{datasetId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userId', 'dataSourceId', 'datasetId'], + pathParams: ['datasetId', 'dataSourceId', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/fitness/v1/users/{userId}/dataSources/{dataSourceId}/datasets/{datasetId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['userId', 'dataSourceId', 'datasetId'], + pathParams: ['datasetId', 'dataSourceId', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + fitness_v1.Resource$Users$Datasources$Datasets = Resource$Users$Datasources$Datasets; + class Resource$Users$Sessions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/fitness/v1/users/{userId}/sessions/{sessionId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['userId', 'sessionId'], + pathParams: ['sessionId', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/fitness/v1/users/{userId}/sessions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userId'], + pathParams: ['userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/fitness/v1/users/{userId}/sessions/{sessionId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['userId', 'sessionId'], + pathParams: ['sessionId', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + fitness_v1.Resource$Users$Sessions = Resource$Users$Sessions; +})(fitness_v1 = exports.fitness_v1 || (exports.fitness_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/fitness/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/fitness/v1.js.map new file mode 100644 index 00000000..0009c6d8 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/fitness/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/fitness/v1.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAIH,yDAA2H;AAE3H,yBAAyB;AACzB,6BAA6B;AAC7B,gCAAgC;AAChC,+BAA+B;AAC/B,+BAA+B;AAE/B,IAAiB,UAAU,CAw+D1B;AAx+DD,WAAiB,UAAU;IAKzB;;;;;;;;;;;;;;;OAeG;IACH,MAAa,OAAO;QAOlB,YAAY,OAAsB,EAAE,MAA2B;YAJ/D,SAAI,GAAG,IAAI,CAAC;YAKV,IAAI,CAAC,QAAQ,GAAG,OAAO,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAExB,IAAI,CAAC,KAAK,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;KACF;IAlBY,kBAAO,UAkBnB,CAAA;IAsiBD,MAAa,cAAc;QAKzB,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC,OAAO,GAAG,IAAI,sBAAsB,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,CAAC,WAAW,GAAG,IAAI,0BAA0B,CAAC,IAAI,CAAC,CAAC;YACxD,IAAI,CAAC,QAAQ,GAAG,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC;QACpD,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;KACF;IAhBY,yBAAc,iBAgB1B,CAAA;IAGD,MAAa,sBAAsB;QAEjC,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA8BD,SAAS,CACL,gBAC8C,EAC9C,iBAC8C,EAC9C,QAAyD;YAE3D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA4C,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6C,CAAC;gBACvD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,8CAA8C,CAAC;yBACrD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA2B,UAAU,EAAE,QAAQ,CAAC,CAAC;aAClE;iBAAM;gBACL,OAAO,oCAAgB,CAA2B,UAAU,CAAC,CAAC;aAC/D;QACH,CAAC;KACF;IAjFY,iCAAsB,yBAiFlC,CAAA;IAqBD,MAAa,0BAA0B;QAIrC,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC,gBAAgB;gBACjB,IAAI,2CAA2C,CAAC,IAAI,CAAC,CAAC;YAC1D,IAAI,CAAC,QAAQ,GAAG,IAAI,mCAAmC,CAAC,IAAI,CAAC,CAAC;QAChE,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAkCD,MAAM,CACF,gBACuC,EACvC,iBACuC,EACvC,QAAkD;YAEpD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA6C,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8C,CAAC;gBACxD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,wCAAwC,CAAC;yBAC/C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAoB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3D;iBAAM;gBACL,OAAO,oCAAgB,CAAoB,UAAU,CAAC,CAAC;aACxD;QACH,CAAC;QA4BD,MAAM,CACF,gBACuC,EACvC,iBACuC,EACvC,QAAkD;YAEpD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA6C,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8C,CAAC;gBACxD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,uDAAuD,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,cAAc,CAAC;gBAC1C,UAAU,EAAE,CAAC,cAAc,EAAE,QAAQ,CAAC;gBACtC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAoB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3D;iBAAM;gBACL,OAAO,oCAAgB,CAAoB,UAAU,CAAC,CAAC;aACxD;QACH,CAAC;QAwBD,GAAG,CAAC,gBACuC,EACvC,iBACuC,EACvC,QAAkD;YAEpD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,uDAAuD,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,cAAc,CAAC;gBAC1C,UAAU,EAAE,CAAC,cAAc,EAAE,QAAQ,CAAC;gBACtC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAoB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3D;iBAAM;gBACL,OAAO,oCAAgB,CAAoB,UAAU,CAAC,CAAC;aACxD;QACH,CAAC;QA+BD,IAAI,CACA,gBACoD,EACpD,iBACoD,EACpD,QAA+D;YAEjE,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA2C,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4C,CAAC;gBACtD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,wCAAwC,CAAC;yBAC/C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxE;iBAAM;gBACL,OAAO,oCAAgB,CAAiC,UAAU,CAAC,CAAC;aACrE;QACH,CAAC;QA+BD,KAAK,CACD,gBACuC,EACvC,iBACuC,EACvC,QAAkD;YAEpD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA4C,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6C,CAAC;gBACvD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,uDAAuD,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,cAAc,CAAC;gBAC1C,UAAU,EAAE,CAAC,cAAc,EAAE,QAAQ,CAAC;gBACtC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAoB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3D;iBAAM;gBACL,OAAO,oCAAgB,CAAoB,UAAU,CAAC,CAAC;aACxD;QACH,CAAC;QA+BD,MAAM,CACF,gBACuC,EACvC,iBACuC,EACvC,QAAkD;YAEpD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA6C,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8C,CAAC;gBACxD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,uDAAuD,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,cAAc,CAAC;gBAC1C,UAAU,EAAE,CAAC,cAAc,EAAE,QAAQ,CAAC;gBACtC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAoB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3D;iBAAM;gBACL,OAAO,oCAAgB,CAAoB,UAAU,CAAC,CAAC;aACxD;QACH,CAAC;KACF;IA3bY,qCAA0B,6BA2btC,CAAA;IA+GD,MAAa,2CAA2C;QAEtD,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAkCD,IAAI,CACA,gBAEyD,EACzD,iBACyD,EACzD,QAAoE;YAEtE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACuB,CAAC;YAC5D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6D,CAAC;gBACvE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,wEAAwE,CAAC;yBACrE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,cAAc,CAAC;gBAC1C,UAAU,EAAE,CAAC,cAAc,EAAE,QAAQ,CAAC;gBACtC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;KACF;IA1FY,sDAA2C,8CA0FvD,CAAA;IA+BD,MAAa,mCAAmC;QAE9C,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAoCD,MAAM,CACF,gBAC0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACiB,CAAC;YACtD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAuD,CAAC;gBACjE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4EAA4E,CAAC;yBACzE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,cAAc,EAAE,WAAW,CAAC;gBACvD,UAAU,EAAE,CAAC,WAAW,EAAE,cAAc,EAAE,QAAQ,CAAC;gBACnD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;QA+BD,GAAG,CAAC,gBACoC,EACpC,iBAAsE,EACtE,QAA+C;YAEjD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACc,CAAC;YACnD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoD,CAAC;gBAC9D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4EAA4E,CAAC;yBACzE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,cAAc,EAAE,WAAW,CAAC;gBACvD,UAAU,EAAE,CAAC,WAAW,EAAE,cAAc,EAAE,QAAQ,CAAC;gBACnD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxD;iBAAM;gBACL,OAAO,oCAAgB,CAAiB,UAAU,CAAC,CAAC;aACrD;QACH,CAAC;QAiCD,KAAK,CACD,gBACoC,EACpC,iBAAsE,EACtE,QAA+C;YAEjD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACgB,CAAC;YACrD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsD,CAAC;gBAChE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4EAA4E,CAAC;yBACzE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,cAAc,EAAE,WAAW,CAAC;gBACvD,UAAU,EAAE,CAAC,WAAW,EAAE,cAAc,EAAE,QAAQ,CAAC;gBACnD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxD;iBAAM;gBACL,OAAO,oCAAgB,CAAiB,UAAU,CAAC,CAAC;aACrD;QACH,CAAC;KACF;IA1OY,8CAAmC,sCA0O/C,CAAA;IA2GD,MAAa,uBAAuB;QAElC,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA4BD,MAAM,CACF,gBAC0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,iDAAiD,CAAC;yBACxD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC;gBACvC,UAAU,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC;gBACnC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;QA8BD,IAAI,CACA,gBACiD,EACjD,iBACiD,EACjD,QAA4D;YAE9D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAwC,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAyC,CAAC;gBACnD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,qCAAqC,CAAC;yBAC5C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA8B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrE;iBAAM;gBACL,OAAO,oCAAgB,CAA8B,UAAU,CAAC,CAAC;aAClE;QACH,CAAC;QA6BD,MAAM,CACF,gBACoC,EACpC,iBAAsE,EACtE,QAA+C;YAEjD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,iDAAiD,CAAC;yBACxD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC;gBACvC,UAAU,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC;gBACnC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxD;iBAAM;gBACL,OAAO,oCAAgB,CAAiB,UAAU,CAAC,CAAC;aACrD;QACH,CAAC;KACF;IAzNY,kCAAuB,0BAyNnC,CAAA;AAiFH,CAAC,EAx+DgB,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAw+D1B"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/fusiontables/README.md b/express-server/node_modules/googleapis/build/src/apis/fusiontables/README.md new file mode 100644 index 00000000..ec4cd3d9 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/fusiontables/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/fusiontables + +> API for working with Fusion Tables data. + +## Installation + +```sh +$ npm install @google/fusiontables +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/fusiontables/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/fusiontables/index.d.ts new file mode 100644 index 00000000..8fcce616 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/fusiontables/index.d.ts @@ -0,0 +1,10 @@ +import { fusiontables_v1 } from './v1'; +import { fusiontables_v2 } from './v2'; +export declare const VERSIONS: { + 'v1': typeof fusiontables_v1.Fusiontables; + 'v2': typeof fusiontables_v2.Fusiontables; +}; +export declare function fusiontables(version: 'v1'): fusiontables_v1.Fusiontables; +export declare function fusiontables(options: fusiontables_v1.Options): fusiontables_v1.Fusiontables; +export declare function fusiontables(version: 'v2'): fusiontables_v2.Fusiontables; +export declare function fusiontables(options: fusiontables_v2.Options): fusiontables_v2.Fusiontables; diff --git a/express-server/node_modules/googleapis/build/src/apis/fusiontables/index.js b/express-server/node_modules/googleapis/build/src/apis/fusiontables/index.js new file mode 100644 index 00000000..5a210854 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/fusiontables/index.js @@ -0,0 +1,27 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +const v2_1 = require("./v2"); +exports.VERSIONS = { + 'v1': v1_1.fusiontables_v1.Fusiontables, + 'v2': v2_1.fusiontables_v2.Fusiontables, +}; +function fusiontables(versionOrOptions) { + return googleapis_common_1.getAPI('fusiontables', versionOrOptions, exports.VERSIONS, this); +} +exports.fusiontables = fusiontables; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/fusiontables/index.js.map b/express-server/node_modules/googleapis/build/src/apis/fusiontables/index.js.map new file mode 100644 index 00000000..540d0a3f --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/fusiontables/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/fusiontables/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAqC;AACrC,6BAAqC;AAExB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,oBAAe,CAAC,YAAY;IAClC,IAAI,EAAE,oBAAe,CAAC,YAAY;CACnC,CAAC;AAQF,SACA,YAAY,CAER,gBACuB;IACzB,OAAO,0BAAM,CAAI,cAAc,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACrE,CAAC;AAND,oCAMC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/fusiontables/package.json b/express-server/node_modules/googleapis/build/src/apis/fusiontables/package.json new file mode 100644 index 00000000..661fc154 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/fusiontables/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/fusiontables", + "version": "0.1.0", + "description": "fusiontables", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/fusiontables/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/fusiontables/v1.d.ts new file mode 100644 index 00000000..65dc524a --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/fusiontables/v1.d.ts @@ -0,0 +1,1734 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace fusiontables_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Fusion Tables API + * + * API for working with Fusion Tables data. + * + * @example + * const {google} = require('googleapis'); + * const fusiontables = google.fusiontables('v1'); + * + * @namespace fusiontables + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Fusiontables + */ + class Fusiontables { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + column: Resource$Column; + query: Resource$Query; + style: Resource$Style; + table: Resource$Table; + task: Resource$Task; + template: Resource$Template; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Specifies the minimum and maximum values, the color, opacity, icon and + * weight of a bucket within a StyleSetting. + */ + interface Schema$Bucket { + /** + * Color of line or the interior of a polygon in #RRGGBB format. + */ + color?: string; + /** + * Icon name used for a point. + */ + icon?: string; + /** + * Maximum value in the selected column for a row to be styled according to + * the bucket color, opacity, icon, or weight. + */ + max?: number; + /** + * Minimum value in the selected column for a row to be styled according to + * the bucket color, opacity, icon, or weight. + */ + min?: number; + /** + * Opacity of the color: 0.0 (transparent) to 1.0 (opaque). + */ + opacity?: number; + /** + * Width of a line (in pixels). + */ + weight?: number; + } + /** + * Specifies the id, name and type of a column in a table. + */ + interface Schema$Column { + /** + * Optional identifier of the base column. If present, this column is + * derived from the specified base column. + */ + baseColumn?: any; + /** + * Identifier for the column. + */ + columnId?: number; + /** + * Optional column description. + */ + description?: string; + /** + * Optional column predicate. Used to map table to graph data model + * (subject,predicate,object) See + * http://www.w3.org/TR/2014/REC-rdf11-concepts-20140225/#data-model + */ + graph_predicate?: string; + /** + * Type name: a template for an individual column. + */ + kind?: string; + /** + * Required name of the column. + */ + name?: string; + /** + * Required type of the column. + */ + type?: string; + } + /** + * Represents a list of columns in a table. + */ + interface Schema$ColumnList { + /** + * List of all requested columns. + */ + items?: Schema$Column[]; + /** + * Type name: a list of all columns. + */ + kind?: string; + /** + * Token used to access the next page of this result. No token is displayed + * if there are no more pages left. + */ + nextPageToken?: string; + /** + * Total number of columns for the table. + */ + totalItems?: number; + } + /** + * Represents a Geometry object. + */ + interface Schema$Geometry { + /** + * The list of geometries in this geometry collection. + */ + geometries?: any[]; + geometry?: any; + /** + * Type: A collection of geometries. + */ + type?: string; + } + /** + * Represents an import request. + */ + interface Schema$Import { + /** + * Type name: a template for an import request. + */ + kind?: string; + /** + * The number of rows received from the import request. + */ + numRowsReceived?: string; + } + /** + * Represents a line geometry. + */ + interface Schema$Line { + /** + * The coordinates that define the line. + */ + coordinates?: number[][]; + /** + * Type: A line geometry. + */ + type?: string; + } + /** + * Represents a LineStyle within a StyleSetting + */ + interface Schema$LineStyle { + /** + * Color of the line in #RRGGBB format. + */ + strokeColor?: string; + /** + * Column-value, gradient or buckets styler that is used to determine the + * line color and opacity. + */ + strokeColorStyler?: Schema$StyleFunction; + /** + * Opacity of the line : 0.0 (transparent) to 1.0 (opaque). + */ + strokeOpacity?: number; + /** + * Width of the line in pixels. + */ + strokeWeight?: number; + /** + * Column-value or bucket styler that is used to determine the width of the + * line. + */ + strokeWeightStyler?: Schema$StyleFunction; + } + /** + * Represents a point object. + */ + interface Schema$Point { + /** + * The coordinates that define the point. + */ + coordinates?: number[]; + /** + * Point: A point geometry. + */ + type?: string; + } + /** + * Represents a PointStyle within a StyleSetting + */ + interface Schema$PointStyle { + /** + * Name of the icon. Use values defined in + * http://www.google.com/fusiontables/DataSource?dsrcid=308519 + */ + iconName?: string; + /** + * Column or a bucket value from which the icon name is to be determined. + */ + iconStyler?: Schema$StyleFunction; + } + /** + * Represents a polygon object. + */ + interface Schema$Polygon { + /** + * The coordinates that define the polygon. + */ + coordinates?: number[][][]; + /** + * Type: A polygon geometry. + */ + type?: string; + } + /** + * Represents a PolygonStyle within a StyleSetting + */ + interface Schema$PolygonStyle { + /** + * Color of the interior of the polygon in #RRGGBB format. + */ + fillColor?: string; + /** + * Column-value, gradient, or bucket styler that is used to determine the + * interior color and opacity of the polygon. + */ + fillColorStyler?: Schema$StyleFunction; + /** + * Opacity of the interior of the polygon: 0.0 (transparent) to 1.0 + * (opaque). + */ + fillOpacity?: number; + /** + * Color of the polygon border in #RRGGBB format. + */ + strokeColor?: string; + /** + * Column-value, gradient or buckets styler that is used to determine the + * border color and opacity. + */ + strokeColorStyler?: Schema$StyleFunction; + /** + * Opacity of the polygon border: 0.0 (transparent) to 1.0 (opaque). + */ + strokeOpacity?: number; + /** + * Width of the polyon border in pixels. + */ + strokeWeight?: number; + /** + * Column-value or bucket styler that is used to determine the width of the + * polygon border. + */ + strokeWeightStyler?: Schema$StyleFunction; + } + /** + * Represents a response to an sql statement. + */ + interface Schema$Sqlresponse { + /** + * Columns in the table. + */ + columns?: string[]; + /** + * Type name: a template for an individual table. + */ + kind?: string; + /** + * The rows in the table. For each cell we print out whatever cell value + * (e.g., numeric, string) exists. Thus it is important that each cell + * contains only one value. + */ + rows?: any[][]; + } + /** + * Represents a StyleFunction within a StyleSetting + */ + interface Schema$StyleFunction { + /** + * Bucket function that assigns a style based on the range a column value + * falls into. + */ + buckets?: Schema$Bucket[]; + /** + * Name of the column whose value is used in the style. + */ + columnName?: string; + /** + * Gradient function that interpolates a range of colors based on column + * value. + */ + gradient?: any; + /** + * Stylers can be one of three kinds: "fusiontables#fromColumn" if + * the column value is to be used as is, i.e., the column values can have + * colors in #RRGGBBAA format or integer line widths or icon names; + * "fusiontables#gradient" if the styling of the row is to be + * based on applying the gradient function on the column value; or + * "fusiontables#buckets" if the styling is to based on the bucket + * into which the the column value falls. + */ + kind?: string; + } + /** + * Represents a complete StyleSettings object. The primary key is a + * combination of the tableId and a styleId. + */ + interface Schema$StyleSetting { + /** + * Type name: an individual style setting. A StyleSetting contains the style + * defintions for points, lines, and polygons in a table. Since a table can + * have any one or all of them, a style definition can have point, line and + * polygon style definitions. + */ + kind?: string; + /** + * Style definition for points in the table. + */ + markerOptions?: Schema$PointStyle; + /** + * Optional name for the style setting. + */ + name?: string; + /** + * Style definition for polygons in the table. + */ + polygonOptions?: Schema$PolygonStyle; + /** + * Style definition for lines in the table. + */ + polylineOptions?: Schema$LineStyle; + /** + * Identifier for the style setting (unique only within tables). + */ + styleId?: number; + /** + * Identifier for the table. + */ + tableId?: string; + } + /** + * Represents a list of styles for a given table. + */ + interface Schema$StyleSettingList { + /** + * All requested style settings. + */ + items?: Schema$StyleSetting[]; + /** + * Type name: in this case, a list of style settings. + */ + kind?: string; + /** + * Token used to access the next page of this result. No token is displayed + * if there are no more pages left. + */ + nextPageToken?: string; + /** + * Total number of styles for the table. + */ + totalItems?: number; + } + /** + * Represents a table. Specifies the name, whether it is exportable, + * description, attribution, and attribution link. + */ + interface Schema$Table { + /** + * Optional attribution assigned to the table. + */ + attribution?: string; + /** + * Optional link for attribution. + */ + attributionLink?: string; + /** + * Optional base table identifier if this table is a view or merged table. + */ + baseTableIds?: string[]; + /** + * Columns in the table. + */ + columns?: Schema$Column[]; + /** + * Optional description assigned to the table. + */ + description?: string; + /** + * Variable for whether table is exportable. + */ + isExportable?: boolean; + /** + * Type name: a template for an individual table. + */ + kind?: string; + /** + * Name assigned to a table. + */ + name?: string; + /** + * Optional sql that encodes the table definition for derived tables. + */ + sql?: string; + /** + * Encrypted unique alphanumeric identifier for the table. + */ + tableId?: string; + } + /** + * Represents a list of tables. + */ + interface Schema$TableList { + /** + * List of all requested tables. + */ + items?: Schema$Table[]; + /** + * Type name: a list of all tables. + */ + kind?: string; + /** + * Token used to access the next page of this result. No token is displayed + * if there are no more pages left. + */ + nextPageToken?: string; + } + /** + * Specifies the identifier, name, and type of a task in a table. + */ + interface Schema$Task { + /** + * Type of the resource. This is always "fusiontables#task". + */ + kind?: string; + /** + * An indication of task progress. + */ + progress?: string; + /** + * false while the table is busy with some other task. true if this + * background task is currently running. + */ + started?: boolean; + /** + * Identifier for the task. + */ + taskId?: string; + /** + * Type of background task. One of DELETE_ROWS Deletes one or more rows + * from the table. ADD_ROWS "Adds one or more rows to a table. Includes + * importing data into a new table and importing more rows into an existing + * table. ADD_COLUMN Adds a new column to the table. CHANGE_TYPE Changes the + * type of a column. + */ + type?: string; + } + /** + * Represents a list of tasks for a table. + */ + interface Schema$TaskList { + /** + * List of all requested tasks. + */ + items?: Schema$Task[]; + /** + * Type of the resource. This is always "fusiontables#taskList". + */ + kind?: string; + /** + * Token used to access the next page of this result. No token is displayed + * if there are no more pages left. + */ + nextPageToken?: string; + /** + * Total number of tasks for the table. + */ + totalItems?: number; + } + /** + * Represents the contents of InfoWindow templates. + */ + interface Schema$Template { + /** + * List of columns from which the template is to be automatically + * constructed. Only one of body or automaticColumns can be specified. + */ + automaticColumnNames?: string[]; + /** + * Body of the template. It contains HTML with {column_name} to insert + * values from a particular column. The body is sanitized to remove certain + * tags, e.g., script. Only one of body or automaticColumns can be + * specified. + */ + body?: string; + /** + * Type name: a template for the info window contents. The template can + * either include an HTML body or a list of columns from which the template + * is computed automatically. + */ + kind?: string; + /** + * Optional name assigned to a template. + */ + name?: string; + /** + * Identifier for the table for which the template is defined. + */ + tableId?: string; + /** + * Identifier for the template, unique within the context of a particular + * table. + */ + templateId?: number; + } + /** + * Represents a list of templates for a given table. + */ + interface Schema$TemplateList { + /** + * List of all requested templates. + */ + items?: Schema$Template[]; + /** + * Type name: a list of all templates. + */ + kind?: string; + /** + * Token used to access the next page of this result. No token is displayed + * if there are no more pages left. + */ + nextPageToken?: string; + /** + * Total number of templates for the table. + */ + totalItems?: number; + } + class Resource$Column { + root: Fusiontables; + constructor(root: Fusiontables); + getRoot(): Fusiontables; + /** + * fusiontables.column.delete + * @desc Deletes the column. + * @alias fusiontables.column.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.columnId Name or identifier for the column being deleted. + * @param {string} params.tableId Table from which the column is being deleted. + * @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?: Params$Resource$Column$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Column$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Column$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * fusiontables.column.get + * @desc Retrieves a specific column by its id. + * @alias fusiontables.column.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.columnId Name or identifier for the column that is being requested. + * @param {string} params.tableId Table to which the column belongs. + * @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?: Params$Resource$Column$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Column$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Column$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * fusiontables.column.insert + * @desc Adds a new column to the table. + * @alias fusiontables.column.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.tableId Table for which a new column is being added. + * @param {().Column} 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?: Params$Resource$Column$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Column$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Column$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * fusiontables.column.list + * @desc Retrieves a list of columns. + * @alias fusiontables.column.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.maxResults Maximum number of columns to return. Optional. Default is 5. + * @param {string=} params.pageToken Continuation token specifying which result page to return. Optional. + * @param {string} params.tableId Table whose columns are being listed. + * @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?: Params$Resource$Column$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Column$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Column$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * fusiontables.column.patch + * @desc Updates the name or type of an existing column. This method + * supports patch semantics. + * @alias fusiontables.column.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.columnId Name or identifier for the column that is being updated. + * @param {string} params.tableId Table for which the column is being updated. + * @param {().Column} 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 + */ + patch(params?: Params$Resource$Column$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Column$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Column$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * fusiontables.column.update + * @desc Updates the name or type of an existing column. + * @alias fusiontables.column.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.columnId Name or identifier for the column that is being updated. + * @param {string} params.tableId Table for which the column is being updated. + * @param {().Column} 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?: Params$Resource$Column$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Column$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Column$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Column$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name or identifier for the column being deleted. + */ + columnId?: string; + /** + * Table from which the column is being deleted. + */ + tableId?: string; + } + interface Params$Resource$Column$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name or identifier for the column that is being requested. + */ + columnId?: string; + /** + * Table to which the column belongs. + */ + tableId?: string; + } + interface Params$Resource$Column$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Table for which a new column is being added. + */ + tableId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Column; + } + interface Params$Resource$Column$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Maximum number of columns to return. Optional. Default is 5. + */ + maxResults?: number; + /** + * Continuation token specifying which result page to return. Optional. + */ + pageToken?: string; + /** + * Table whose columns are being listed. + */ + tableId?: string; + } + interface Params$Resource$Column$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name or identifier for the column that is being updated. + */ + columnId?: string; + /** + * Table for which the column is being updated. + */ + tableId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Column; + } + interface Params$Resource$Column$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name or identifier for the column that is being updated. + */ + columnId?: string; + /** + * Table for which the column is being updated. + */ + tableId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Column; + } + class Resource$Query { + root: Fusiontables; + constructor(root: Fusiontables); + getRoot(): Fusiontables; + /** + * fusiontables.query.sql + * @desc Executes an SQL SELECT/INSERT/UPDATE/DELETE/SHOW/DESCRIBE/CREATE + * statement. + * @alias fusiontables.query.sql + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.hdrs Should column names be included (in the first row)?. Default is true. + * @param {string} params.sql An SQL SELECT/SHOW/DESCRIBE/INSERT/UPDATE/DELETE/CREATE statement. + * @param {boolean=} params.typed Should typed values be returned in the (JSON) response -- numbers for numeric values and parsed geometries for KML values? Default is true. + * @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 + */ + sql(params?: Params$Resource$Query$Sql, options?: MethodOptions): AxiosPromise; + sql(params: Params$Resource$Query$Sql, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + sql(params: Params$Resource$Query$Sql, callback: BodyResponseCallback): void; + sql(callback: BodyResponseCallback): void; + /** + * fusiontables.query.sqlGet + * @desc Executes an SQL SELECT/SHOW/DESCRIBE statement. + * @alias fusiontables.query.sqlGet + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.hdrs Should column names be included (in the first row)?. Default is true. + * @param {string} params.sql An SQL SELECT/SHOW/DESCRIBE statement. + * @param {boolean=} params.typed Should typed values be returned in the (JSON) response -- numbers for numeric values and parsed geometries for KML values? Default is true. + * @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 + */ + sqlGet(params?: Params$Resource$Query$Sqlget, options?: MethodOptions): AxiosPromise; + sqlGet(params: Params$Resource$Query$Sqlget, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + sqlGet(params: Params$Resource$Query$Sqlget, callback: BodyResponseCallback): void; + sqlGet(callback: BodyResponseCallback): void; + } + interface Params$Resource$Query$Sql { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Should column names be included (in the first row)?. Default is true. + */ + hdrs?: boolean; + /** + * An SQL SELECT/SHOW/DESCRIBE/INSERT/UPDATE/DELETE/CREATE statement. + */ + sql?: string; + /** + * Should typed values be returned in the (JSON) response -- numbers for + * numeric values and parsed geometries for KML values? Default is true. + */ + typed?: boolean; + } + interface Params$Resource$Query$Sqlget { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Should column names be included (in the first row)?. Default is true. + */ + hdrs?: boolean; + /** + * An SQL SELECT/SHOW/DESCRIBE statement. + */ + sql?: string; + /** + * Should typed values be returned in the (JSON) response -- numbers for + * numeric values and parsed geometries for KML values? Default is true. + */ + typed?: boolean; + } + class Resource$Style { + root: Fusiontables; + constructor(root: Fusiontables); + getRoot(): Fusiontables; + /** + * fusiontables.style.delete + * @desc Deletes a style. + * @alias fusiontables.style.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.styleId Identifier (within a table) for the style being deleted + * @param {string} params.tableId Table from which the style is being deleted + * @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?: Params$Resource$Style$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Style$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Style$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * fusiontables.style.get + * @desc Gets a specific style. + * @alias fusiontables.style.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.styleId Identifier (integer) for a specific style in a table + * @param {string} params.tableId Table to which the requested style belongs + * @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?: Params$Resource$Style$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Style$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Style$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * fusiontables.style.insert + * @desc Adds a new style for the table. + * @alias fusiontables.style.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.tableId Table for which a new style is being added + * @param {().StyleSetting} 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?: Params$Resource$Style$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Style$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Style$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * fusiontables.style.list + * @desc Retrieves a list of styles. + * @alias fusiontables.style.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.maxResults Maximum number of styles to return. Optional. Default is 5. + * @param {string=} params.pageToken Continuation token specifying which result page to return. Optional. + * @param {string} params.tableId Table whose styles are being listed + * @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?: Params$Resource$Style$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Style$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Style$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * fusiontables.style.patch + * @desc Updates an existing style. This method supports patch semantics. + * @alias fusiontables.style.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.styleId Identifier (within a table) for the style being updated. + * @param {string} params.tableId Table whose style is being updated. + * @param {().StyleSetting} 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 + */ + patch(params?: Params$Resource$Style$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Style$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Style$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * fusiontables.style.update + * @desc Updates an existing style. + * @alias fusiontables.style.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.styleId Identifier (within a table) for the style being updated. + * @param {string} params.tableId Table whose style is being updated. + * @param {().StyleSetting} 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?: Params$Resource$Style$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Style$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Style$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Style$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifier (within a table) for the style being deleted + */ + styleId?: number; + /** + * Table from which the style is being deleted + */ + tableId?: string; + } + interface Params$Resource$Style$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifier (integer) for a specific style in a table + */ + styleId?: number; + /** + * Table to which the requested style belongs + */ + tableId?: string; + } + interface Params$Resource$Style$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Table for which a new style is being added + */ + tableId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$StyleSetting; + } + interface Params$Resource$Style$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Maximum number of styles to return. Optional. Default is 5. + */ + maxResults?: number; + /** + * Continuation token specifying which result page to return. Optional. + */ + pageToken?: string; + /** + * Table whose styles are being listed + */ + tableId?: string; + } + interface Params$Resource$Style$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifier (within a table) for the style being updated. + */ + styleId?: number; + /** + * Table whose style is being updated. + */ + tableId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$StyleSetting; + } + interface Params$Resource$Style$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifier (within a table) for the style being updated. + */ + styleId?: number; + /** + * Table whose style is being updated. + */ + tableId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$StyleSetting; + } + class Resource$Table { + root: Fusiontables; + constructor(root: Fusiontables); + getRoot(): Fusiontables; + /** + * fusiontables.table.copy + * @desc Copies a table. + * @alias fusiontables.table.copy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.copyPresentation Whether to also copy tabs, styles, and templates. Default is false. + * @param {string} params.tableId ID of the table that is being copied. + * @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 + */ + copy(params?: Params$Resource$Table$Copy, options?: MethodOptions): AxiosPromise; + copy(params: Params$Resource$Table$Copy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + copy(params: Params$Resource$Table$Copy, callback: BodyResponseCallback): void; + copy(callback: BodyResponseCallback): void; + /** + * fusiontables.table.delete + * @desc Deletes a table. + * @alias fusiontables.table.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.tableId ID of the table that is being deleted. + * @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?: Params$Resource$Table$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Table$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Table$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * fusiontables.table.get + * @desc Retrieves a specific table by its id. + * @alias fusiontables.table.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.tableId Identifier(ID) for the table being requested. + * @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?: Params$Resource$Table$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Table$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Table$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * fusiontables.table.importRows + * @desc Import more rows into a table. + * @alias fusiontables.table.importRows + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.delimiter The delimiter used to separate cell values. This can only consist of a single character. Default is ','. + * @param {string=} params.encoding The encoding of the content. Default is UTF-8. Use 'auto-detect' if you are unsure of the encoding. + * @param {integer=} params.endLine The index of the last line from which to start importing, exclusive. Thus, the number of imported lines is endLine - startLine. If this parameter is not provided, the file will be imported until the last line of the file. If endLine is negative, then the imported content will exclude the last endLine lines. That is, if endline is negative, no line will be imported whose index is greater than N + endLine where N is the number of lines in the file, and the number of imported lines will be N + endLine - startLine. + * @param {boolean=} params.isStrict Whether the CSV must have the same number of values for each row. If false, rows with fewer values will be padded with empty values. Default is true. + * @param {integer=} params.startLine The index of the first line from which to start importing, inclusive. Default is 0. + * @param {string} params.tableId The table into which new rows are being imported. + * @param {object} params.media Media object + * @param {string} params.media.mimeType Media mime-type + * @param {string|object} params.media.body Media body contents + * @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 + */ + importRows(params?: Params$Resource$Table$Importrows, options?: MethodOptions): AxiosPromise; + importRows(params: Params$Resource$Table$Importrows, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + importRows(params: Params$Resource$Table$Importrows, callback: BodyResponseCallback): void; + importRows(callback: BodyResponseCallback): void; + /** + * fusiontables.table.importTable + * @desc Import a new table. + * @alias fusiontables.table.importTable + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.delimiter The delimiter used to separate cell values. This can only consist of a single character. Default is ','. + * @param {string=} params.encoding The encoding of the content. Default is UTF-8. Use 'auto-detect' if you are unsure of the encoding. + * @param {string} params.name The name to be assigned to the new table. + * @param {object} params.media Media object + * @param {string} params.media.mimeType Media mime-type + * @param {string|object} params.media.body Media body contents + * @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 + */ + importTable(params?: Params$Resource$Table$Importtable, options?: MethodOptions): AxiosPromise; + importTable(params: Params$Resource$Table$Importtable, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + importTable(params: Params$Resource$Table$Importtable, callback: BodyResponseCallback): void; + importTable(callback: BodyResponseCallback): void; + /** + * fusiontables.table.insert + * @desc Creates a new table. + * @alias fusiontables.table.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().Table} 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?: Params$Resource$Table$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Table$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Table$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * fusiontables.table.list + * @desc Retrieves a list of tables a user owns. + * @alias fusiontables.table.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {integer=} params.maxResults Maximum number of styles to return. Optional. Default is 5. + * @param {string=} params.pageToken Continuation token specifying which result page to return. Optional. + * @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?: Params$Resource$Table$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Table$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Table$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * fusiontables.table.patch + * @desc Updates an existing table. Unless explicitly requested, only the + * name, description, and attribution will be updated. This method supports + * patch semantics. + * @alias fusiontables.table.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.replaceViewDefinition Should the view definition also be updated? The specified view definition replaces the existing one. Only a view can be updated with a new definition. + * @param {string} params.tableId ID of the table that is being updated. + * @param {().Table} 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 + */ + patch(params?: Params$Resource$Table$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Table$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Table$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * fusiontables.table.update + * @desc Updates an existing table. Unless explicitly requested, only the + * name, description, and attribution will be updated. + * @alias fusiontables.table.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.replaceViewDefinition Should the view definition also be updated? The specified view definition replaces the existing one. Only a view can be updated with a new definition. + * @param {string} params.tableId ID of the table that is being updated. + * @param {().Table} 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?: Params$Resource$Table$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Table$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Table$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Table$Copy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Whether to also copy tabs, styles, and templates. Default is false. + */ + copyPresentation?: boolean; + /** + * ID of the table that is being copied. + */ + tableId?: string; + } + interface Params$Resource$Table$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ID of the table that is being deleted. + */ + tableId?: string; + } + interface Params$Resource$Table$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifier(ID) for the table being requested. + */ + tableId?: string; + } + interface Params$Resource$Table$Importrows { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The delimiter used to separate cell values. This can only consist of a + * single character. Default is ','. + */ + delimiter?: string; + /** + * The encoding of the content. Default is UTF-8. Use 'auto-detect' if you + * are unsure of the encoding. + */ + encoding?: string; + /** + * The index of the last line from which to start importing, exclusive. + * Thus, the number of imported lines is endLine - startLine. If this + * parameter is not provided, the file will be imported until the last line + * of the file. If endLine is negative, then the imported content will + * exclude the last endLine lines. That is, if endline is negative, no line + * will be imported whose index is greater than N + endLine where N is the + * number of lines in the file, and the number of imported lines will be N + + * endLine - startLine. + */ + endLine?: number; + /** + * Whether the CSV must have the same number of values for each row. If + * false, rows with fewer values will be padded with empty values. Default + * is true. + */ + isStrict?: boolean; + /** + * The index of the first line from which to start importing, inclusive. + * Default is 0. + */ + startLine?: number; + /** + * The table into which new rows are being imported. + */ + tableId?: string; + /** + * Media metadata + */ + media?: { + /** + * Media mime-type + */ + mediaType?: string; + /** + * Media body contents + */ + body?: any; + }; + } + interface Params$Resource$Table$Importtable { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The delimiter used to separate cell values. This can only consist of a + * single character. Default is ','. + */ + delimiter?: string; + /** + * The encoding of the content. Default is UTF-8. Use 'auto-detect' if you + * are unsure of the encoding. + */ + encoding?: string; + /** + * The name to be assigned to the new table. + */ + name?: string; + /** + * Media metadata + */ + media?: { + /** + * Media mime-type + */ + mediaType?: string; + /** + * Media body contents + */ + body?: any; + }; + } + interface Params$Resource$Table$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$Table; + } + interface Params$Resource$Table$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Maximum number of styles to return. Optional. Default is 5. + */ + maxResults?: number; + /** + * Continuation token specifying which result page to return. Optional. + */ + pageToken?: string; + } + interface Params$Resource$Table$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Should the view definition also be updated? The specified view definition + * replaces the existing one. Only a view can be updated with a new + * definition. + */ + replaceViewDefinition?: boolean; + /** + * ID of the table that is being updated. + */ + tableId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Table; + } + interface Params$Resource$Table$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Should the view definition also be updated? The specified view definition + * replaces the existing one. Only a view can be updated with a new + * definition. + */ + replaceViewDefinition?: boolean; + /** + * ID of the table that is being updated. + */ + tableId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Table; + } + class Resource$Task { + root: Fusiontables; + constructor(root: Fusiontables); + getRoot(): Fusiontables; + /** + * fusiontables.task.delete + * @desc Deletes the task, unless already started. + * @alias fusiontables.task.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.tableId Table from which the task is being deleted. + * @param {string} params.taskId + * @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?: Params$Resource$Task$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Task$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Task$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * fusiontables.task.get + * @desc Retrieves a specific task by its id. + * @alias fusiontables.task.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.tableId Table to which the task belongs. + * @param {string} params.taskId + * @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?: Params$Resource$Task$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Task$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Task$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * fusiontables.task.list + * @desc Retrieves a list of tasks. + * @alias fusiontables.task.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.maxResults Maximum number of columns to return. Optional. Default is 5. + * @param {string=} params.pageToken + * @param {integer=} params.startIndex + * @param {string} params.tableId Table whose tasks are being listed. + * @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?: Params$Resource$Task$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Task$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Task$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Task$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Table from which the task is being deleted. + */ + tableId?: string; + /** + * + */ + taskId?: string; + } + interface Params$Resource$Task$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Table to which the task belongs. + */ + tableId?: string; + /** + * + */ + taskId?: string; + } + interface Params$Resource$Task$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Maximum number of columns to return. Optional. Default is 5. + */ + maxResults?: number; + /** + * + */ + pageToken?: string; + /** + * + */ + startIndex?: number; + /** + * Table whose tasks are being listed. + */ + tableId?: string; + } + class Resource$Template { + root: Fusiontables; + constructor(root: Fusiontables); + getRoot(): Fusiontables; + /** + * fusiontables.template.delete + * @desc Deletes a template + * @alias fusiontables.template.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.tableId Table from which the template is being deleted + * @param {integer} params.templateId Identifier for the template which is being deleted + * @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?: Params$Resource$Template$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Template$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Template$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * fusiontables.template.get + * @desc Retrieves a specific template by its id + * @alias fusiontables.template.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.tableId Table to which the template belongs + * @param {integer} params.templateId Identifier for the template that is being requested + * @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?: Params$Resource$Template$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Template$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Template$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * fusiontables.template.insert + * @desc Creates a new template for the table. + * @alias fusiontables.template.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.tableId Table for which a new template is being created + * @param {().Template} 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?: Params$Resource$Template$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Template$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Template$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * fusiontables.template.list + * @desc Retrieves a list of templates. + * @alias fusiontables.template.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.maxResults Maximum number of templates to return. Optional. Default is 5. + * @param {string=} params.pageToken Continuation token specifying which results page to return. Optional. + * @param {string} params.tableId Identifier for the table whose templates are being requested + * @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?: Params$Resource$Template$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Template$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Template$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * fusiontables.template.patch + * @desc Updates an existing template. This method supports patch semantics. + * @alias fusiontables.template.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.tableId Table to which the updated template belongs + * @param {integer} params.templateId Identifier for the template that is being updated + * @param {().Template} 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 + */ + patch(params?: Params$Resource$Template$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Template$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Template$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * fusiontables.template.update + * @desc Updates an existing template + * @alias fusiontables.template.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.tableId Table to which the updated template belongs + * @param {integer} params.templateId Identifier for the template that is being updated + * @param {().Template} 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?: Params$Resource$Template$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Template$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Template$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Template$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Table from which the template is being deleted + */ + tableId?: string; + /** + * Identifier for the template which is being deleted + */ + templateId?: number; + } + interface Params$Resource$Template$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Table to which the template belongs + */ + tableId?: string; + /** + * Identifier for the template that is being requested + */ + templateId?: number; + } + interface Params$Resource$Template$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Table for which a new template is being created + */ + tableId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Template; + } + interface Params$Resource$Template$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Maximum number of templates to return. Optional. Default is 5. + */ + maxResults?: number; + /** + * Continuation token specifying which results page to return. Optional. + */ + pageToken?: string; + /** + * Identifier for the table whose templates are being requested + */ + tableId?: string; + } + interface Params$Resource$Template$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Table to which the updated template belongs + */ + tableId?: string; + /** + * Identifier for the template that is being updated + */ + templateId?: number; + /** + * Request body metadata + */ + requestBody?: Schema$Template; + } + interface Params$Resource$Template$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Table to which the updated template belongs + */ + tableId?: string; + /** + * Identifier for the template that is being updated + */ + templateId?: number; + /** + * Request body metadata + */ + requestBody?: Schema$Template; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/fusiontables/v1.js b/express-server/node_modules/googleapis/build/src/apis/fusiontables/v1.js new file mode 100644 index 00000000..5a23baab --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/fusiontables/v1.js @@ -0,0 +1,1128 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var fusiontables_v1; +(function (fusiontables_v1) { + /** + * Fusion Tables API + * + * API for working with Fusion Tables data. + * + * @example + * const {google} = require('googleapis'); + * const fusiontables = google.fusiontables('v1'); + * + * @namespace fusiontables + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Fusiontables + */ + class Fusiontables { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.column = new Resource$Column(this); + this.query = new Resource$Query(this); + this.style = new Resource$Style(this); + this.table = new Resource$Table(this); + this.task = new Resource$Task(this); + this.template = new Resource$Template(this); + } + getRoot() { + return this.root; + } + } + fusiontables_v1.Fusiontables = Fusiontables; + class Resource$Column { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/fusiontables/v1/tables/{tableId}/columns/{columnId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['tableId', 'columnId'], + pathParams: ['columnId', 'tableId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/fusiontables/v1/tables/{tableId}/columns/{columnId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['tableId', 'columnId'], + pathParams: ['columnId', 'tableId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/fusiontables/v1/tables/{tableId}/columns') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['tableId'], + pathParams: ['tableId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/fusiontables/v1/tables/{tableId}/columns') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['tableId'], + pathParams: ['tableId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/fusiontables/v1/tables/{tableId}/columns/{columnId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['tableId', 'columnId'], + pathParams: ['columnId', 'tableId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/fusiontables/v1/tables/{tableId}/columns/{columnId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['tableId', 'columnId'], + pathParams: ['columnId', 'tableId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + fusiontables_v1.Resource$Column = Resource$Column; + class Resource$Query { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + sql(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/fusiontables/v1/query') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['sql'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + sqlGet(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/fusiontables/v1/query') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['sql'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + fusiontables_v1.Resource$Query = Resource$Query; + class Resource$Style { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/fusiontables/v1/tables/{tableId}/styles/{styleId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['tableId', 'styleId'], + pathParams: ['styleId', 'tableId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/fusiontables/v1/tables/{tableId}/styles/{styleId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['tableId', 'styleId'], + pathParams: ['styleId', 'tableId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/fusiontables/v1/tables/{tableId}/styles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['tableId'], + pathParams: ['tableId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/fusiontables/v1/tables/{tableId}/styles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['tableId'], + pathParams: ['tableId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/fusiontables/v1/tables/{tableId}/styles/{styleId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['tableId', 'styleId'], + pathParams: ['styleId', 'tableId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/fusiontables/v1/tables/{tableId}/styles/{styleId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['tableId', 'styleId'], + pathParams: ['styleId', 'tableId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + fusiontables_v1.Resource$Style = Resource$Style; + class Resource$Table { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + copy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/fusiontables/v1/tables/{tableId}/copy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['tableId'], + pathParams: ['tableId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/fusiontables/v1/tables/{tableId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['tableId'], + pathParams: ['tableId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/fusiontables/v1/tables/{tableId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['tableId'], + pathParams: ['tableId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + importRows(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/fusiontables/v1/tables/{tableId}/import') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + mediaUrl: (rootUrl + '/upload/fusiontables/v1/tables/{tableId}/import') + .replace(/([^:]\/)\/+/g, '$1'), + requiredParams: ['tableId'], + pathParams: ['tableId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + importTable(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/fusiontables/v1/tables/import') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + mediaUrl: (rootUrl + '/upload/fusiontables/v1/tables/import') + .replace(/([^:]\/)\/+/g, '$1'), + requiredParams: ['name'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/fusiontables/v1/tables') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/fusiontables/v1/tables') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/fusiontables/v1/tables/{tableId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['tableId'], + pathParams: ['tableId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/fusiontables/v1/tables/{tableId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['tableId'], + pathParams: ['tableId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + fusiontables_v1.Resource$Table = Resource$Table; + class Resource$Task { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/fusiontables/v1/tables/{tableId}/tasks/{taskId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['tableId', 'taskId'], + pathParams: ['tableId', 'taskId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/fusiontables/v1/tables/{tableId}/tasks/{taskId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['tableId', 'taskId'], + pathParams: ['tableId', 'taskId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/fusiontables/v1/tables/{tableId}/tasks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['tableId'], + pathParams: ['tableId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + fusiontables_v1.Resource$Task = Resource$Task; + class Resource$Template { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/fusiontables/v1/tables/{tableId}/templates/{templateId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['tableId', 'templateId'], + pathParams: ['tableId', 'templateId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/fusiontables/v1/tables/{tableId}/templates/{templateId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['tableId', 'templateId'], + pathParams: ['tableId', 'templateId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/fusiontables/v1/tables/{tableId}/templates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['tableId'], + pathParams: ['tableId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/fusiontables/v1/tables/{tableId}/templates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['tableId'], + pathParams: ['tableId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/fusiontables/v1/tables/{tableId}/templates/{templateId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['tableId', 'templateId'], + pathParams: ['tableId', 'templateId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/fusiontables/v1/tables/{tableId}/templates/{templateId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['tableId', 'templateId'], + pathParams: ['tableId', 'templateId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + fusiontables_v1.Resource$Template = Resource$Template; +})(fusiontables_v1 = exports.fusiontables_v1 || (exports.fusiontables_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/fusiontables/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/fusiontables/v1.js.map new file mode 100644 index 00000000..b35c162a --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/fusiontables/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/fusiontables/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/fusiontables/v2.d.ts b/express-server/node_modules/googleapis/build/src/apis/fusiontables/v2.d.ts new file mode 100644 index 00000000..1823ccfd --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/fusiontables/v2.d.ts @@ -0,0 +1,1896 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace fusiontables_v2 { + interface Options extends GlobalOptions { + version: 'v2'; + } + /** + * Fusion Tables API + * + * API for working with Fusion Tables data. + * + * @example + * const {google} = require('googleapis'); + * const fusiontables = google.fusiontables('v2'); + * + * @namespace fusiontables + * @type {Function} + * @version v2 + * @variation v2 + * @param {object=} options Options for Fusiontables + */ + class Fusiontables { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + column: Resource$Column; + query: Resource$Query; + style: Resource$Style; + table: Resource$Table; + task: Resource$Task; + template: Resource$Template; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Specifies the minimum and maximum values, the color, opacity, icon and + * weight of a bucket within a StyleSetting. + */ + interface Schema$Bucket { + /** + * Color of line or the interior of a polygon in #RRGGBB format. + */ + color?: string; + /** + * Icon name used for a point. + */ + icon?: string; + /** + * Maximum value in the selected column for a row to be styled according to + * the bucket color, opacity, icon, or weight. + */ + max?: number; + /** + * Minimum value in the selected column for a row to be styled according to + * the bucket color, opacity, icon, or weight. + */ + min?: number; + /** + * Opacity of the color: 0.0 (transparent) to 1.0 (opaque). + */ + opacity?: number; + /** + * Width of a line (in pixels). + */ + weight?: number; + } + /** + * Specifies the details of a column in a table. + */ + interface Schema$Column { + /** + * Identifier of the base column. If present, this column is derived from + * the specified base column. + */ + baseColumn?: any; + /** + * Identifier for the column. + */ + columnId?: number; + /** + * JSON schema for interpreting JSON in this column. + */ + columnJsonSchema?: string; + /** + * JSON object containing custom column properties. + */ + columnPropertiesJson?: string; + /** + * Column description. + */ + description?: string; + /** + * Format pattern. Acceptable values are DT_DATE_MEDIUMe.g Dec 24, 2008 + * DT_DATE_SHORTfor example 12/24/08 DT_DATE_TIME_MEDIUMfor example Dec 24, + * 2008 8:30:45 PM DT_DATE_TIME_SHORTfor example 12/24/08 8:30 PM + * DT_DAY_MONTH_2_DIGIT_YEARfor example 24/12/08 + * DT_DAY_MONTH_2_DIGIT_YEAR_TIMEfor example 24/12/08 20:30 + * DT_DAY_MONTH_2_DIGIT_YEAR_TIME_MERIDIANfor example 24/12/08 8:30 PM + * DT_DAY_MONTH_4_DIGIT_YEARfor example 24/12/2008 + * DT_DAY_MONTH_4_DIGIT_YEAR_TIMEfor example 24/12/2008 20:30 + * DT_DAY_MONTH_4_DIGIT_YEAR_TIME_MERIDIANfor example 24/12/2008 8:30 PM + * DT_ISO_YEAR_MONTH_DAYfor example 2008-12-24 DT_ISO_YEAR_MONTH_DAY_TIMEfor + * example 2008-12-24 20:30:45 DT_MONTH_DAY_4_DIGIT_YEARfor example + * 12/24/2008 DT_TIME_LONGfor example 8:30:45 PM UTC-6 DT_TIME_MEDIUMfor + * example 8:30:45 PM DT_TIME_SHORTfor example 8:30 PM DT_YEAR_ONLYfor + * example 2008 HIGHLIGHT_UNTYPED_CELLSHighlight cell data that does not + * match the data type NONENo formatting (default) NUMBER_CURRENCYfor + * example $1234.56 NUMBER_DEFAULTfor example 1,234.56 NUMBER_INTEGERfor + * example 1235 NUMBER_NO_SEPARATORfor example 1234.56 NUMBER_PERCENTfor + * example 123,456% NUMBER_SCIENTIFICfor example 1E3 + * STRING_EIGHT_LINE_IMAGEDisplays thumbnail images as tall as eight lines + * of text STRING_FOUR_LINE_IMAGEDisplays thumbnail images as tall as four + * lines of text STRING_JSON_TEXTAllows editing of text as JSON in UI + * STRING_JSON_LISTAllows editing of text as a JSON list in UI + * STRING_LINKTreats cell as a link (must start with http:// or https://) + * STRING_ONE_LINE_IMAGEDisplays thumbnail images as tall as one line of + * text STRING_VIDEO_OR_MAPDisplay a video or map thumbnail + */ + formatPattern?: string; + /** + * Column graph predicate. Used to map table to graph data model + * (subject,predicate,object) See W3C Graph-based Data Model. + */ + graphPredicate?: string; + /** + * The kind of item this is. For a column, this is always + * fusiontables#column. + */ + kind?: string; + /** + * Name of the column. + */ + name?: string; + /** + * Type of the column. + */ + type?: string; + /** + * If true, data entered via the web application is validated. + */ + validateData?: boolean; + /** + * List of valid values used to validate data and supply a drop-down list of + * values in the web application. + */ + validValues?: string[]; + } + /** + * Represents a list of columns in a table. + */ + interface Schema$ColumnList { + /** + * List of all requested columns. + */ + items?: Schema$Column[]; + /** + * The kind of item this is. For a column list, this is always + * fusiontables#columnList. + */ + kind?: string; + /** + * Token used to access the next page of this result. No token is displayed + * if there are no more pages left. + */ + nextPageToken?: string; + /** + * Total number of columns for the table. + */ + totalItems?: number; + } + /** + * Represents a Geometry object. + */ + interface Schema$Geometry { + /** + * The list of geometries in this geometry collection. + */ + geometries?: any[]; + geometry?: any; + /** + * Type: A collection of geometries. + */ + type?: string; + } + /** + * Represents an import request. + */ + interface Schema$Import { + /** + * The kind of item this is. For an import, this is always + * fusiontables#import. + */ + kind?: string; + /** + * The number of rows received from the import request. + */ + numRowsReceived?: string; + } + /** + * Represents a line geometry. + */ + interface Schema$Line { + /** + * The coordinates that define the line. + */ + coordinates?: number[][]; + /** + * Type: A line geometry. + */ + type?: string; + } + /** + * Represents a LineStyle within a StyleSetting + */ + interface Schema$LineStyle { + /** + * Color of the line in #RRGGBB format. + */ + strokeColor?: string; + /** + * Column-value, gradient or buckets styler that is used to determine the + * line color and opacity. + */ + strokeColorStyler?: Schema$StyleFunction; + /** + * Opacity of the line : 0.0 (transparent) to 1.0 (opaque). + */ + strokeOpacity?: number; + /** + * Width of the line in pixels. + */ + strokeWeight?: number; + /** + * Column-value or bucket styler that is used to determine the width of the + * line. + */ + strokeWeightStyler?: Schema$StyleFunction; + } + /** + * Represents a point object. + */ + interface Schema$Point { + /** + * The coordinates that define the point. + */ + coordinates?: number[]; + /** + * Point: A point geometry. + */ + type?: string; + } + /** + * Represents a PointStyle within a StyleSetting + */ + interface Schema$PointStyle { + /** + * Name of the icon. Use values defined in + * http://www.google.com/fusiontables/DataSource?dsrcid=308519 + */ + iconName?: string; + /** + * Column or a bucket value from which the icon name is to be determined. + */ + iconStyler?: Schema$StyleFunction; + } + /** + * Represents a polygon object. + */ + interface Schema$Polygon { + /** + * The coordinates that define the polygon. + */ + coordinates?: number[][][]; + /** + * Type: A polygon geometry. + */ + type?: string; + } + /** + * Represents a PolygonStyle within a StyleSetting + */ + interface Schema$PolygonStyle { + /** + * Color of the interior of the polygon in #RRGGBB format. + */ + fillColor?: string; + /** + * Column-value, gradient, or bucket styler that is used to determine the + * interior color and opacity of the polygon. + */ + fillColorStyler?: Schema$StyleFunction; + /** + * Opacity of the interior of the polygon: 0.0 (transparent) to 1.0 + * (opaque). + */ + fillOpacity?: number; + /** + * Color of the polygon border in #RRGGBB format. + */ + strokeColor?: string; + /** + * Column-value, gradient or buckets styler that is used to determine the + * border color and opacity. + */ + strokeColorStyler?: Schema$StyleFunction; + /** + * Opacity of the polygon border: 0.0 (transparent) to 1.0 (opaque). + */ + strokeOpacity?: number; + /** + * Width of the polyon border in pixels. + */ + strokeWeight?: number; + /** + * Column-value or bucket styler that is used to determine the width of the + * polygon border. + */ + strokeWeightStyler?: Schema$StyleFunction; + } + /** + * Represents a response to a SQL statement. + */ + interface Schema$Sqlresponse { + /** + * Columns in the table. + */ + columns?: string[]; + /** + * The kind of item this is. For responses to SQL queries, this is always + * fusiontables#sqlresponse. + */ + kind?: string; + /** + * The rows in the table. For each cell we print out whatever cell value + * (e.g., numeric, string) exists. Thus it is important that each cell + * contains only one value. + */ + rows?: any[][]; + } + /** + * Represents a StyleFunction within a StyleSetting + */ + interface Schema$StyleFunction { + /** + * Bucket function that assigns a style based on the range a column value + * falls into. + */ + buckets?: Schema$Bucket[]; + /** + * Name of the column whose value is used in the style. + */ + columnName?: string; + /** + * Gradient function that interpolates a range of colors based on column + * value. + */ + gradient?: any; + /** + * Stylers can be one of three kinds: "fusiontables#fromColumn if the + * column value is to be used as is, i.e., the column values can have colors + * in #RRGGBBAA format or integer line widths or icon names; + * fusiontables#gradient if the styling of the row is to be based on + * applying the gradient function on the column value; or + * fusiontables#buckets if the styling is to based on the bucket into which + * the the column value falls. + */ + kind?: string; + } + /** + * Represents a complete StyleSettings object. The primary key is a + * combination of the tableId and a styleId. + */ + interface Schema$StyleSetting { + /** + * The kind of item this is. A StyleSetting contains the style definitions + * for points, lines, and polygons in a table. Since a table can have any + * one or all of them, a style definition can have point, line and polygon + * style definitions. + */ + kind?: string; + /** + * Style definition for points in the table. + */ + markerOptions?: Schema$PointStyle; + /** + * Optional name for the style setting. + */ + name?: string; + /** + * Style definition for polygons in the table. + */ + polygonOptions?: Schema$PolygonStyle; + /** + * Style definition for lines in the table. + */ + polylineOptions?: Schema$LineStyle; + /** + * Identifier for the style setting (unique only within tables). + */ + styleId?: number; + /** + * Identifier for the table. + */ + tableId?: string; + } + /** + * Represents a list of styles for a given table. + */ + interface Schema$StyleSettingList { + /** + * All requested style settings. + */ + items?: Schema$StyleSetting[]; + /** + * The kind of item this is. For a style list, this is always + * fusiontables#styleSettingList . + */ + kind?: string; + /** + * Token used to access the next page of this result. No token is displayed + * if there are no more styles left. + */ + nextPageToken?: string; + /** + * Total number of styles for the table. + */ + totalItems?: number; + } + /** + * Represents a table. + */ + interface Schema$Table { + /** + * Attribution assigned to the table. + */ + attribution?: string; + /** + * Optional link for attribution. + */ + attributionLink?: string; + /** + * Base table identifier if this table is a view or merged table. + */ + baseTableIds?: string[]; + /** + * Default JSON schema for validating all JSON column properties. + */ + columnPropertiesJsonSchema?: string; + /** + * Columns in the table. + */ + columns?: Schema$Column[]; + /** + * Description assigned to the table. + */ + description?: string; + /** + * Variable for whether table is exportable. + */ + isExportable?: boolean; + /** + * The kind of item this is. For a table, this is always fusiontables#table. + */ + kind?: string; + /** + * Name assigned to a table. + */ + name?: string; + /** + * SQL that encodes the table definition for derived tables. + */ + sql?: string; + /** + * Encrypted unique alphanumeric identifier for the table. + */ + tableId?: string; + /** + * JSON object containing custom table properties. + */ + tablePropertiesJson?: string; + /** + * JSON schema for validating the JSON table properties. + */ + tablePropertiesJsonSchema?: string; + } + /** + * Represents a list of tables. + */ + interface Schema$TableList { + /** + * List of all requested tables. + */ + items?: Schema$Table[]; + /** + * The kind of item this is. For table list, this is always + * fusiontables#tableList. + */ + kind?: string; + /** + * Token used to access the next page of this result. No token is displayed + * if there are no more pages left. + */ + nextPageToken?: string; + } + /** + * A background task on a table, initiated for time- or resource-consuming + * operations such as changing column types or deleting all rows. + */ + interface Schema$Task { + /** + * Type of the resource. This is always "fusiontables#task". + */ + kind?: string; + /** + * Task percentage completion. + */ + progress?: string; + /** + * false while the table is busy with some other task. true if this + * background task is currently running. + */ + started?: boolean; + /** + * Identifier for the task. + */ + taskId?: string; + /** + * Type of background task. + */ + type?: string; + } + /** + * Represents a list of tasks for a table. + */ + interface Schema$TaskList { + /** + * List of all requested tasks. + */ + items?: Schema$Task[]; + /** + * Type of the resource. This is always "fusiontables#taskList". + */ + kind?: string; + /** + * Token used to access the next page of this result. No token is displayed + * if there are no more pages left. + */ + nextPageToken?: string; + /** + * Total number of tasks for the table. + */ + totalItems?: number; + } + /** + * Represents the contents of InfoWindow templates. + */ + interface Schema$Template { + /** + * List of columns from which the template is to be automatically + * constructed. Only one of body or automaticColumns can be specified. + */ + automaticColumnNames?: string[]; + /** + * Body of the template. It contains HTML with {column_name} to insert + * values from a particular column. The body is sanitized to remove certain + * tags, e.g., script. Only one of body or automaticColumns can be + * specified. + */ + body?: string; + /** + * The kind of item this is. For a template, this is always + * fusiontables#template. + */ + kind?: string; + /** + * Optional name assigned to a template. + */ + name?: string; + /** + * Identifier for the table for which the template is defined. + */ + tableId?: string; + /** + * Identifier for the template, unique within the context of a particular + * table. + */ + templateId?: number; + } + /** + * Represents a list of templates for a given table. + */ + interface Schema$TemplateList { + /** + * List of all requested templates. + */ + items?: Schema$Template[]; + /** + * The kind of item this is. For a template list, this is always + * fusiontables#templateList . + */ + kind?: string; + /** + * Token used to access the next page of this result. No token is displayed + * if there are no more pages left. + */ + nextPageToken?: string; + /** + * Total number of templates for the table. + */ + totalItems?: number; + } + class Resource$Column { + root: Fusiontables; + constructor(root: Fusiontables); + getRoot(): Fusiontables; + /** + * fusiontables.column.delete + * @desc Deletes the specified column. + * @alias fusiontables.column.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.columnId Name or identifier for the column being deleted. + * @param {string} params.tableId Table from which the column is being deleted. + * @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?: Params$Resource$Column$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Column$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Column$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * fusiontables.column.get + * @desc Retrieves a specific column by its ID. + * @alias fusiontables.column.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.columnId Name or identifier for the column that is being requested. + * @param {string} params.tableId Table to which the column belongs. + * @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?: Params$Resource$Column$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Column$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Column$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * fusiontables.column.insert + * @desc Adds a new column to the table. + * @alias fusiontables.column.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.tableId Table for which a new column is being added. + * @param {().Column} 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?: Params$Resource$Column$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Column$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Column$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * fusiontables.column.list + * @desc Retrieves a list of columns. + * @alias fusiontables.column.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.maxResults Maximum number of columns to return. Default is 5. + * @param {string=} params.pageToken Continuation token specifying which result page to return. + * @param {string} params.tableId Table whose columns are being listed. + * @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?: Params$Resource$Column$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Column$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Column$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * fusiontables.column.patch + * @desc Updates the name or type of an existing column. This method + * supports patch semantics. + * @alias fusiontables.column.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.columnId Name or identifier for the column that is being updated. + * @param {string} params.tableId Table for which the column is being updated. + * @param {().Column} 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 + */ + patch(params?: Params$Resource$Column$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Column$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Column$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * fusiontables.column.update + * @desc Updates the name or type of an existing column. + * @alias fusiontables.column.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.columnId Name or identifier for the column that is being updated. + * @param {string} params.tableId Table for which the column is being updated. + * @param {().Column} 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?: Params$Resource$Column$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Column$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Column$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Column$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name or identifier for the column being deleted. + */ + columnId?: string; + /** + * Table from which the column is being deleted. + */ + tableId?: string; + } + interface Params$Resource$Column$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name or identifier for the column that is being requested. + */ + columnId?: string; + /** + * Table to which the column belongs. + */ + tableId?: string; + } + interface Params$Resource$Column$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Table for which a new column is being added. + */ + tableId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Column; + } + interface Params$Resource$Column$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Maximum number of columns to return. Default is 5. + */ + maxResults?: number; + /** + * Continuation token specifying which result page to return. + */ + pageToken?: string; + /** + * Table whose columns are being listed. + */ + tableId?: string; + } + interface Params$Resource$Column$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name or identifier for the column that is being updated. + */ + columnId?: string; + /** + * Table for which the column is being updated. + */ + tableId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Column; + } + interface Params$Resource$Column$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name or identifier for the column that is being updated. + */ + columnId?: string; + /** + * Table for which the column is being updated. + */ + tableId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Column; + } + class Resource$Query { + root: Fusiontables; + constructor(root: Fusiontables); + getRoot(): Fusiontables; + /** + * fusiontables.query.sql + * @desc Executes a Fusion Tables SQL statement, which can be any of - + * SELECT - INSERT - UPDATE - DELETE - SHOW - DESCRIBE - CREATE statement. + * @alias fusiontables.query.sql + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.hdrs Whether column names are included in the first row. Default is true. + * @param {string} params.sql A Fusion Tables SQL statement, which can be any of - SELECT - INSERT - UPDATE - DELETE - SHOW - DESCRIBE - CREATE + * @param {boolean=} params.typed Whether typed values are returned in the (JSON) response: numbers for numeric values and parsed geometries for KML values. Default is true. + * @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 + */ + sql(params?: Params$Resource$Query$Sql, options?: MethodOptions): AxiosPromise; + sql(params: Params$Resource$Query$Sql, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + sql(params: Params$Resource$Query$Sql, callback: BodyResponseCallback): void; + sql(callback: BodyResponseCallback): void; + /** + * fusiontables.query.sqlGet + * @desc Executes a SQL statement which can be any of - SELECT - SHOW - + * DESCRIBE + * @alias fusiontables.query.sqlGet + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.hdrs Whether column names are included (in the first row). Default is true. + * @param {string} params.sql A SQL statement which can be any of - SELECT - SHOW - DESCRIBE + * @param {boolean=} params.typed Whether typed values are returned in the (JSON) response: numbers for numeric values and parsed geometries for KML values. Default is true. + * @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 + */ + sqlGet(params?: Params$Resource$Query$Sqlget, options?: MethodOptions): AxiosPromise; + sqlGet(params: Params$Resource$Query$Sqlget, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + sqlGet(params: Params$Resource$Query$Sqlget, callback: BodyResponseCallback): void; + sqlGet(callback: BodyResponseCallback): void; + } + interface Params$Resource$Query$Sql { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Whether column names are included in the first row. Default is true. + */ + hdrs?: boolean; + /** + * A Fusion Tables SQL statement, which can be any of - SELECT - INSERT - + * UPDATE - DELETE - SHOW - DESCRIBE - CREATE + */ + sql?: string; + /** + * Whether typed values are returned in the (JSON) response: numbers for + * numeric values and parsed geometries for KML values. Default is true. + */ + typed?: boolean; + } + interface Params$Resource$Query$Sqlget { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Whether column names are included (in the first row). Default is true. + */ + hdrs?: boolean; + /** + * A SQL statement which can be any of - SELECT - SHOW - DESCRIBE + */ + sql?: string; + /** + * Whether typed values are returned in the (JSON) response: numbers for + * numeric values and parsed geometries for KML values. Default is true. + */ + typed?: boolean; + } + class Resource$Style { + root: Fusiontables; + constructor(root: Fusiontables); + getRoot(): Fusiontables; + /** + * fusiontables.style.delete + * @desc Deletes a style. + * @alias fusiontables.style.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.styleId Identifier (within a table) for the style being deleted + * @param {string} params.tableId Table from which the style is being deleted + * @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?: Params$Resource$Style$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Style$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Style$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * fusiontables.style.get + * @desc Gets a specific style. + * @alias fusiontables.style.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.styleId Identifier (integer) for a specific style in a table + * @param {string} params.tableId Table to which the requested style belongs + * @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?: Params$Resource$Style$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Style$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Style$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * fusiontables.style.insert + * @desc Adds a new style for the table. + * @alias fusiontables.style.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.tableId Table for which a new style is being added + * @param {().StyleSetting} 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?: Params$Resource$Style$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Style$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Style$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * fusiontables.style.list + * @desc Retrieves a list of styles. + * @alias fusiontables.style.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.maxResults Maximum number of styles to return. Optional. Default is 5. + * @param {string=} params.pageToken Continuation token specifying which result page to return. Optional. + * @param {string} params.tableId Table whose styles are being listed + * @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?: Params$Resource$Style$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Style$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Style$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * fusiontables.style.patch + * @desc Updates an existing style. This method supports patch semantics. + * @alias fusiontables.style.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.styleId Identifier (within a table) for the style being updated. + * @param {string} params.tableId Table whose style is being updated. + * @param {().StyleSetting} 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 + */ + patch(params?: Params$Resource$Style$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Style$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Style$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * fusiontables.style.update + * @desc Updates an existing style. + * @alias fusiontables.style.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.styleId Identifier (within a table) for the style being updated. + * @param {string} params.tableId Table whose style is being updated. + * @param {().StyleSetting} 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?: Params$Resource$Style$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Style$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Style$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Style$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifier (within a table) for the style being deleted + */ + styleId?: number; + /** + * Table from which the style is being deleted + */ + tableId?: string; + } + interface Params$Resource$Style$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifier (integer) for a specific style in a table + */ + styleId?: number; + /** + * Table to which the requested style belongs + */ + tableId?: string; + } + interface Params$Resource$Style$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Table for which a new style is being added + */ + tableId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$StyleSetting; + } + interface Params$Resource$Style$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Maximum number of styles to return. Optional. Default is 5. + */ + maxResults?: number; + /** + * Continuation token specifying which result page to return. Optional. + */ + pageToken?: string; + /** + * Table whose styles are being listed + */ + tableId?: string; + } + interface Params$Resource$Style$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifier (within a table) for the style being updated. + */ + styleId?: number; + /** + * Table whose style is being updated. + */ + tableId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$StyleSetting; + } + interface Params$Resource$Style$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifier (within a table) for the style being updated. + */ + styleId?: number; + /** + * Table whose style is being updated. + */ + tableId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$StyleSetting; + } + class Resource$Table { + root: Fusiontables; + constructor(root: Fusiontables); + getRoot(): Fusiontables; + /** + * fusiontables.table.copy + * @desc Copies a table. + * @alias fusiontables.table.copy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.copyPresentation Whether to also copy tabs, styles, and templates. Default is false. + * @param {string} params.tableId ID of the table that is being copied. + * @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 + */ + copy(params?: Params$Resource$Table$Copy, options?: MethodOptions): AxiosPromise; + copy(params: Params$Resource$Table$Copy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + copy(params: Params$Resource$Table$Copy, callback: BodyResponseCallback): void; + copy(callback: BodyResponseCallback): void; + /** + * fusiontables.table.delete + * @desc Deletes a table. + * @alias fusiontables.table.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.tableId ID of the table to be deleted. + * @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?: Params$Resource$Table$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Table$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Table$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * fusiontables.table.get + * @desc Retrieves a specific table by its ID. + * @alias fusiontables.table.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.tableId Identifier for the table being requested. + * @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?: Params$Resource$Table$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Table$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Table$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * fusiontables.table.importRows + * @desc Imports more rows into a table. + * @alias fusiontables.table.importRows + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.delimiter The delimiter used to separate cell values. This can only consist of a single character. Default is ,. + * @param {string=} params.encoding The encoding of the content. Default is UTF-8. Use auto-detect if you are unsure of the encoding. + * @param {integer=} params.endLine The index of the line up to which data will be imported. Default is to import the entire file. If endLine is negative, it is an offset from the end of the file; the imported content will exclude the last endLine lines. + * @param {boolean=} params.isStrict Whether the imported CSV must have the same number of values for each row. If false, rows with fewer values will be padded with empty values. Default is true. + * @param {integer=} params.startLine The index of the first line from which to start importing, inclusive. Default is 0. + * @param {string} params.tableId The table into which new rows are being imported. + * @param {object} params.media Media object + * @param {string} params.media.mimeType Media mime-type + * @param {string|object} params.media.body Media body contents + * @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 + */ + importRows(params?: Params$Resource$Table$Importrows, options?: MethodOptions): AxiosPromise; + importRows(params: Params$Resource$Table$Importrows, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + importRows(params: Params$Resource$Table$Importrows, callback: BodyResponseCallback): void; + importRows(callback: BodyResponseCallback): void; + /** + * fusiontables.table.importTable + * @desc Imports a new table. + * @alias fusiontables.table.importTable + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.delimiter The delimiter used to separate cell values. This can only consist of a single character. Default is ,. + * @param {string=} params.encoding The encoding of the content. Default is UTF-8. Use auto-detect if you are unsure of the encoding. + * @param {string} params.name The name to be assigned to the new table. + * @param {object} params.media Media object + * @param {string} params.media.mimeType Media mime-type + * @param {string|object} params.media.body Media body contents + * @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 + */ + importTable(params?: Params$Resource$Table$Importtable, options?: MethodOptions): AxiosPromise; + importTable(params: Params$Resource$Table$Importtable, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + importTable(params: Params$Resource$Table$Importtable, callback: BodyResponseCallback): void; + importTable(callback: BodyResponseCallback): void; + /** + * fusiontables.table.insert + * @desc Creates a new table. + * @alias fusiontables.table.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().Table} 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?: Params$Resource$Table$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Table$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Table$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * fusiontables.table.list + * @desc Retrieves a list of tables a user owns. + * @alias fusiontables.table.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {integer=} params.maxResults Maximum number of tables to return. Default is 5. + * @param {string=} params.pageToken Continuation token specifying which result page to return. + * @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?: Params$Resource$Table$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Table$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Table$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * fusiontables.table.patch + * @desc Updates an existing table. Unless explicitly requested, only the + * name, description, and attribution will be updated. This method supports + * patch semantics. + * @alias fusiontables.table.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.replaceViewDefinition Whether the view definition is also updated. The specified view definition replaces the existing one. Only a view can be updated with a new definition. + * @param {string} params.tableId ID of the table that is being updated. + * @param {().Table} 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 + */ + patch(params?: Params$Resource$Table$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Table$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Table$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * fusiontables.table.refetchSheet + * @desc Replaces rows of the table with the rows of the spreadsheet that is + * first imported from. Current rows remain visible until all replacement + * rows are ready. + * @alias fusiontables.table.refetchSheet + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.tableId Table whose rows will be replaced from the spreadsheet. + * @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 + */ + refetchSheet(params?: Params$Resource$Table$Refetchsheet, options?: MethodOptions): AxiosPromise; + refetchSheet(params: Params$Resource$Table$Refetchsheet, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + refetchSheet(params: Params$Resource$Table$Refetchsheet, callback: BodyResponseCallback): void; + refetchSheet(callback: BodyResponseCallback): void; + /** + * fusiontables.table.replaceRows + * @desc Replaces rows of an existing table. Current rows remain visible + * until all replacement rows are ready. + * @alias fusiontables.table.replaceRows + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.delimiter The delimiter used to separate cell values. This can only consist of a single character. Default is ,. + * @param {string=} params.encoding The encoding of the content. Default is UTF-8. Use 'auto-detect' if you are unsure of the encoding. + * @param {integer=} params.endLine The index of the line up to which data will be imported. Default is to import the entire file. If endLine is negative, it is an offset from the end of the file; the imported content will exclude the last endLine lines. + * @param {boolean=} params.isStrict Whether the imported CSV must have the same number of column values for each row. If true, throws an exception if the CSV does not have the same number of columns. If false, rows with fewer column values will be padded with empty values. Default is true. + * @param {integer=} params.startLine The index of the first line from which to start importing, inclusive. Default is 0. + * @param {string} params.tableId Table whose rows will be replaced. + * @param {object} params.media Media object + * @param {string} params.media.mimeType Media mime-type + * @param {string|object} params.media.body Media body contents + * @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 + */ + replaceRows(params?: Params$Resource$Table$Replacerows, options?: MethodOptions): AxiosPromise; + replaceRows(params: Params$Resource$Table$Replacerows, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + replaceRows(params: Params$Resource$Table$Replacerows, callback: BodyResponseCallback): void; + replaceRows(callback: BodyResponseCallback): void; + /** + * fusiontables.table.update + * @desc Updates an existing table. Unless explicitly requested, only the + * name, description, and attribution will be updated. + * @alias fusiontables.table.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.replaceViewDefinition Whether the view definition is also updated. The specified view definition replaces the existing one. Only a view can be updated with a new definition. + * @param {string} params.tableId ID of the table that is being updated. + * @param {().Table} 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?: Params$Resource$Table$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Table$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Table$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Table$Copy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Whether to also copy tabs, styles, and templates. Default is false. + */ + copyPresentation?: boolean; + /** + * ID of the table that is being copied. + */ + tableId?: string; + } + interface Params$Resource$Table$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ID of the table to be deleted. + */ + tableId?: string; + } + interface Params$Resource$Table$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Identifier for the table being requested. + */ + tableId?: string; + } + interface Params$Resource$Table$Importrows { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The delimiter used to separate cell values. This can only consist of a + * single character. Default is ,. + */ + delimiter?: string; + /** + * The encoding of the content. Default is UTF-8. Use auto-detect if you are + * unsure of the encoding. + */ + encoding?: string; + /** + * The index of the line up to which data will be imported. Default is to + * import the entire file. If endLine is negative, it is an offset from the + * end of the file; the imported content will exclude the last endLine + * lines. + */ + endLine?: number; + /** + * Whether the imported CSV must have the same number of values for each + * row. If false, rows with fewer values will be padded with empty values. + * Default is true. + */ + isStrict?: boolean; + /** + * The index of the first line from which to start importing, inclusive. + * Default is 0. + */ + startLine?: number; + /** + * The table into which new rows are being imported. + */ + tableId?: string; + /** + * Media metadata + */ + media?: { + /** + * Media mime-type + */ + mediaType?: string; + /** + * Media body contents + */ + body?: any; + }; + } + interface Params$Resource$Table$Importtable { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The delimiter used to separate cell values. This can only consist of a + * single character. Default is ,. + */ + delimiter?: string; + /** + * The encoding of the content. Default is UTF-8. Use auto-detect if you are + * unsure of the encoding. + */ + encoding?: string; + /** + * The name to be assigned to the new table. + */ + name?: string; + /** + * Media metadata + */ + media?: { + /** + * Media mime-type + */ + mediaType?: string; + /** + * Media body contents + */ + body?: any; + }; + } + interface Params$Resource$Table$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$Table; + } + interface Params$Resource$Table$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Maximum number of tables to return. Default is 5. + */ + maxResults?: number; + /** + * Continuation token specifying which result page to return. + */ + pageToken?: string; + } + interface Params$Resource$Table$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Whether the view definition is also updated. The specified view + * definition replaces the existing one. Only a view can be updated with a + * new definition. + */ + replaceViewDefinition?: boolean; + /** + * ID of the table that is being updated. + */ + tableId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Table; + } + interface Params$Resource$Table$Refetchsheet { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Table whose rows will be replaced from the spreadsheet. + */ + tableId?: string; + } + interface Params$Resource$Table$Replacerows { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The delimiter used to separate cell values. This can only consist of a + * single character. Default is ,. + */ + delimiter?: string; + /** + * The encoding of the content. Default is UTF-8. Use 'auto-detect' if you + * are unsure of the encoding. + */ + encoding?: string; + /** + * The index of the line up to which data will be imported. Default is to + * import the entire file. If endLine is negative, it is an offset from the + * end of the file; the imported content will exclude the last endLine + * lines. + */ + endLine?: number; + /** + * Whether the imported CSV must have the same number of column values for + * each row. If true, throws an exception if the CSV does not have the same + * number of columns. If false, rows with fewer column values will be padded + * with empty values. Default is true. + */ + isStrict?: boolean; + /** + * The index of the first line from which to start importing, inclusive. + * Default is 0. + */ + startLine?: number; + /** + * Table whose rows will be replaced. + */ + tableId?: string; + /** + * Media metadata + */ + media?: { + /** + * Media mime-type + */ + mediaType?: string; + /** + * Media body contents + */ + body?: any; + }; + } + interface Params$Resource$Table$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Whether the view definition is also updated. The specified view + * definition replaces the existing one. Only a view can be updated with a + * new definition. + */ + replaceViewDefinition?: boolean; + /** + * ID of the table that is being updated. + */ + tableId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Table; + } + class Resource$Task { + root: Fusiontables; + constructor(root: Fusiontables); + getRoot(): Fusiontables; + /** + * fusiontables.task.delete + * @desc Deletes a specific task by its ID, unless that task has already + * started running. + * @alias fusiontables.task.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.tableId Table from which the task is being deleted. + * @param {string} params.taskId The identifier of the task to delete. + * @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?: Params$Resource$Task$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Task$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Task$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * fusiontables.task.get + * @desc Retrieves a specific task by its ID. + * @alias fusiontables.task.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.tableId Table to which the task belongs. + * @param {string} params.taskId The identifier of the task to get. + * @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?: Params$Resource$Task$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Task$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Task$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * fusiontables.task.list + * @desc Retrieves a list of tasks. + * @alias fusiontables.task.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.maxResults Maximum number of tasks to return. Default is 5. + * @param {string=} params.pageToken Continuation token specifying which result page to return. + * @param {integer=} params.startIndex Index of the first result returned in the current page. + * @param {string} params.tableId Table whose tasks are being listed. + * @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?: Params$Resource$Task$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Task$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Task$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Task$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Table from which the task is being deleted. + */ + tableId?: string; + /** + * The identifier of the task to delete. + */ + taskId?: string; + } + interface Params$Resource$Task$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Table to which the task belongs. + */ + tableId?: string; + /** + * The identifier of the task to get. + */ + taskId?: string; + } + interface Params$Resource$Task$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Maximum number of tasks to return. Default is 5. + */ + maxResults?: number; + /** + * Continuation token specifying which result page to return. + */ + pageToken?: string; + /** + * Index of the first result returned in the current page. + */ + startIndex?: number; + /** + * Table whose tasks are being listed. + */ + tableId?: string; + } + class Resource$Template { + root: Fusiontables; + constructor(root: Fusiontables); + getRoot(): Fusiontables; + /** + * fusiontables.template.delete + * @desc Deletes a template + * @alias fusiontables.template.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.tableId Table from which the template is being deleted + * @param {integer} params.templateId Identifier for the template which is being deleted + * @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?: Params$Resource$Template$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Template$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Template$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * fusiontables.template.get + * @desc Retrieves a specific template by its id + * @alias fusiontables.template.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.tableId Table to which the template belongs + * @param {integer} params.templateId Identifier for the template that is being requested + * @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?: Params$Resource$Template$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Template$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Template$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * fusiontables.template.insert + * @desc Creates a new template for the table. + * @alias fusiontables.template.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.tableId Table for which a new template is being created + * @param {().Template} 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?: Params$Resource$Template$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Template$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Template$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * fusiontables.template.list + * @desc Retrieves a list of templates. + * @alias fusiontables.template.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.maxResults Maximum number of templates to return. Optional. Default is 5. + * @param {string=} params.pageToken Continuation token specifying which results page to return. Optional. + * @param {string} params.tableId Identifier for the table whose templates are being requested + * @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?: Params$Resource$Template$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Template$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Template$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * fusiontables.template.patch + * @desc Updates an existing template. This method supports patch semantics. + * @alias fusiontables.template.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.tableId Table to which the updated template belongs + * @param {integer} params.templateId Identifier for the template that is being updated + * @param {().Template} 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 + */ + patch(params?: Params$Resource$Template$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Template$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Template$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * fusiontables.template.update + * @desc Updates an existing template + * @alias fusiontables.template.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.tableId Table to which the updated template belongs + * @param {integer} params.templateId Identifier for the template that is being updated + * @param {().Template} 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?: Params$Resource$Template$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Template$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Template$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Template$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Table from which the template is being deleted + */ + tableId?: string; + /** + * Identifier for the template which is being deleted + */ + templateId?: number; + } + interface Params$Resource$Template$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Table to which the template belongs + */ + tableId?: string; + /** + * Identifier for the template that is being requested + */ + templateId?: number; + } + interface Params$Resource$Template$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Table for which a new template is being created + */ + tableId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Template; + } + interface Params$Resource$Template$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Maximum number of templates to return. Optional. Default is 5. + */ + maxResults?: number; + /** + * Continuation token specifying which results page to return. Optional. + */ + pageToken?: string; + /** + * Identifier for the table whose templates are being requested + */ + tableId?: string; + } + interface Params$Resource$Template$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Table to which the updated template belongs + */ + tableId?: string; + /** + * Identifier for the template that is being updated + */ + templateId?: number; + /** + * Request body metadata + */ + requestBody?: Schema$Template; + } + interface Params$Resource$Template$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Table to which the updated template belongs + */ + tableId?: string; + /** + * Identifier for the template that is being updated + */ + templateId?: number; + /** + * Request body metadata + */ + requestBody?: Schema$Template; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/fusiontables/v2.js b/express-server/node_modules/googleapis/build/src/apis/fusiontables/v2.js new file mode 100644 index 00000000..fd58e0cb --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/fusiontables/v2.js @@ -0,0 +1,1192 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var fusiontables_v2; +(function (fusiontables_v2) { + /** + * Fusion Tables API + * + * API for working with Fusion Tables data. + * + * @example + * const {google} = require('googleapis'); + * const fusiontables = google.fusiontables('v2'); + * + * @namespace fusiontables + * @type {Function} + * @version v2 + * @variation v2 + * @param {object=} options Options for Fusiontables + */ + class Fusiontables { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.column = new Resource$Column(this); + this.query = new Resource$Query(this); + this.style = new Resource$Style(this); + this.table = new Resource$Table(this); + this.task = new Resource$Task(this); + this.template = new Resource$Template(this); + } + getRoot() { + return this.root; + } + } + fusiontables_v2.Fusiontables = Fusiontables; + class Resource$Column { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/fusiontables/v2/tables/{tableId}/columns/{columnId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['tableId', 'columnId'], + pathParams: ['columnId', 'tableId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/fusiontables/v2/tables/{tableId}/columns/{columnId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['tableId', 'columnId'], + pathParams: ['columnId', 'tableId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/fusiontables/v2/tables/{tableId}/columns') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['tableId'], + pathParams: ['tableId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/fusiontables/v2/tables/{tableId}/columns') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['tableId'], + pathParams: ['tableId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/fusiontables/v2/tables/{tableId}/columns/{columnId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['tableId', 'columnId'], + pathParams: ['columnId', 'tableId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/fusiontables/v2/tables/{tableId}/columns/{columnId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['tableId', 'columnId'], + pathParams: ['columnId', 'tableId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + fusiontables_v2.Resource$Column = Resource$Column; + class Resource$Query { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + sql(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/fusiontables/v2/query') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['sql'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + sqlGet(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/fusiontables/v2/query') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['sql'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + fusiontables_v2.Resource$Query = Resource$Query; + class Resource$Style { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/fusiontables/v2/tables/{tableId}/styles/{styleId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['tableId', 'styleId'], + pathParams: ['styleId', 'tableId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/fusiontables/v2/tables/{tableId}/styles/{styleId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['tableId', 'styleId'], + pathParams: ['styleId', 'tableId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/fusiontables/v2/tables/{tableId}/styles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['tableId'], + pathParams: ['tableId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/fusiontables/v2/tables/{tableId}/styles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['tableId'], + pathParams: ['tableId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/fusiontables/v2/tables/{tableId}/styles/{styleId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['tableId', 'styleId'], + pathParams: ['styleId', 'tableId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/fusiontables/v2/tables/{tableId}/styles/{styleId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['tableId', 'styleId'], + pathParams: ['styleId', 'tableId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + fusiontables_v2.Resource$Style = Resource$Style; + class Resource$Table { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + copy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/fusiontables/v2/tables/{tableId}/copy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['tableId'], + pathParams: ['tableId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/fusiontables/v2/tables/{tableId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['tableId'], + pathParams: ['tableId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/fusiontables/v2/tables/{tableId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['tableId'], + pathParams: ['tableId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + importRows(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/fusiontables/v2/tables/{tableId}/import') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + mediaUrl: (rootUrl + '/upload/fusiontables/v2/tables/{tableId}/import') + .replace(/([^:]\/)\/+/g, '$1'), + requiredParams: ['tableId'], + pathParams: ['tableId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + importTable(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/fusiontables/v2/tables/import') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + mediaUrl: (rootUrl + '/upload/fusiontables/v2/tables/import') + .replace(/([^:]\/)\/+/g, '$1'), + requiredParams: ['name'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/fusiontables/v2/tables') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/fusiontables/v2/tables') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/fusiontables/v2/tables/{tableId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['tableId'], + pathParams: ['tableId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + refetchSheet(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/fusiontables/v2/tables/{tableId}/refetch') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['tableId'], + pathParams: ['tableId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + replaceRows(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/fusiontables/v2/tables/{tableId}/replace') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + mediaUrl: (rootUrl + '/upload/fusiontables/v2/tables/{tableId}/replace') + .replace(/([^:]\/)\/+/g, '$1'), + requiredParams: ['tableId'], + pathParams: ['tableId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/fusiontables/v2/tables/{tableId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['tableId'], + pathParams: ['tableId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + fusiontables_v2.Resource$Table = Resource$Table; + class Resource$Task { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/fusiontables/v2/tables/{tableId}/tasks/{taskId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['tableId', 'taskId'], + pathParams: ['tableId', 'taskId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/fusiontables/v2/tables/{tableId}/tasks/{taskId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['tableId', 'taskId'], + pathParams: ['tableId', 'taskId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/fusiontables/v2/tables/{tableId}/tasks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['tableId'], + pathParams: ['tableId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + fusiontables_v2.Resource$Task = Resource$Task; + class Resource$Template { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/fusiontables/v2/tables/{tableId}/templates/{templateId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['tableId', 'templateId'], + pathParams: ['tableId', 'templateId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/fusiontables/v2/tables/{tableId}/templates/{templateId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['tableId', 'templateId'], + pathParams: ['tableId', 'templateId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/fusiontables/v2/tables/{tableId}/templates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['tableId'], + pathParams: ['tableId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/fusiontables/v2/tables/{tableId}/templates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['tableId'], + pathParams: ['tableId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/fusiontables/v2/tables/{tableId}/templates/{templateId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['tableId', 'templateId'], + pathParams: ['tableId', 'templateId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/fusiontables/v2/tables/{tableId}/templates/{templateId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['tableId', 'templateId'], + pathParams: ['tableId', 'templateId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + fusiontables_v2.Resource$Template = Resource$Template; +})(fusiontables_v2 = exports.fusiontables_v2 || (exports.fusiontables_v2 = {})); +//# sourceMappingURL=v2.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/fusiontables/v2.js.map b/express-server/node_modules/googleapis/build/src/apis/fusiontables/v2.js.map new file mode 100644 index 00000000..ff737d7b --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/fusiontables/v2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v2.js","sourceRoot":"","sources":["../../../../src/apis/fusiontables/v2.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/games/README.md b/express-server/node_modules/googleapis/build/src/apis/games/README.md new file mode 100644 index 00000000..7f229f67 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/games/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/games + +> The API for Google Play Game Services. + +## Installation + +```sh +$ npm install @google/games +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/games/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/games/index.d.ts new file mode 100644 index 00000000..1bbb535e --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/games/index.d.ts @@ -0,0 +1,6 @@ +import { games_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof games_v1.Games; +}; +export declare function games(version: 'v1'): games_v1.Games; +export declare function games(options: games_v1.Options): games_v1.Games; diff --git a/express-server/node_modules/googleapis/build/src/apis/games/index.js b/express-server/node_modules/googleapis/build/src/apis/games/index.js new file mode 100644 index 00000000..0c338438 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/games/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.games_v1.Games, +}; +function games(versionOrOptions) { + return googleapis_common_1.getAPI('games', versionOrOptions, exports.VERSIONS, this); +} +exports.games = games; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/games/index.js.map b/express-server/node_modules/googleapis/build/src/apis/games/index.js.map new file mode 100644 index 00000000..48db66ca --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/games/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/games/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAA8B;AAEjB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,aAAQ,CAAC,KAAK;CACrB,CAAC;AAIF,SAAgB,KAAK,CACS,gBAAuC;IACnE,OAAO,0BAAM,CAAI,OAAO,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAC9D,CAAC;AAHD,sBAGC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/games/package.json b/express-server/node_modules/googleapis/build/src/apis/games/package.json new file mode 100644 index 00000000..ce58d2b2 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/games/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/games", + "version": "0.1.0", + "description": "games", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/games/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/games/v1.d.ts new file mode 100644 index 00000000..f61d50fa --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/games/v1.d.ts @@ -0,0 +1,4921 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace games_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Google Play Game Services API + * + * The API for Google Play Game Services. + * + * @example + * const {google} = require('googleapis'); + * const games = google.games('v1'); + * + * @namespace games + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Games + */ + class Games { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + achievementDefinitions: Resource$Achievementdefinitions; + achievements: Resource$Achievements; + applications: Resource$Applications; + events: Resource$Events; + leaderboards: Resource$Leaderboards; + metagame: Resource$Metagame; + players: Resource$Players; + pushtokens: Resource$Pushtokens; + questMilestones: Resource$Questmilestones; + quests: Resource$Quests; + revisions: Resource$Revisions; + rooms: Resource$Rooms; + scores: Resource$Scores; + snapshots: Resource$Snapshots; + turnBasedMatches: Resource$Turnbasedmatches; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * This is a JSON template for an achievement definition object. + */ + interface Schema$AchievementDefinition { + /** + * The type of the achievement. Possible values are: - + * "STANDARD" - Achievement is either locked or unlocked. - + * "INCREMENTAL" - Achievement is incremental. + */ + achievementType?: string; + /** + * The description of the achievement. + */ + description?: string; + /** + * Experience points which will be earned when unlocking this achievement. + */ + experiencePoints?: string; + /** + * The total steps for an incremental achievement as a string. + */ + formattedTotalSteps?: string; + /** + * The ID of the achievement. + */ + id?: string; + /** + * The initial state of the achievement. Possible values are: - + * "HIDDEN" - Achievement is hidden. - "REVEALED" - + * Achievement is revealed. - "UNLOCKED" - Achievement is + * unlocked. + */ + initialState?: string; + /** + * Indicates whether the revealed icon image being returned is a default + * image, or is provided by the game. + */ + isRevealedIconUrlDefault?: boolean; + /** + * Indicates whether the unlocked icon image being returned is a default + * image, or is game-provided. + */ + isUnlockedIconUrlDefault?: boolean; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#achievementDefinition. + */ + kind?: string; + /** + * The name of the achievement. + */ + name?: string; + /** + * The image URL for the revealed achievement icon. + */ + revealedIconUrl?: string; + /** + * The total steps for an incremental achievement. + */ + totalSteps?: number; + /** + * The image URL for the unlocked achievement icon. + */ + unlockedIconUrl?: string; + } + /** + * This is a JSON template for a list of achievement definition objects. + */ + interface Schema$AchievementDefinitionsListResponse { + /** + * The achievement definitions. + */ + items?: Schema$AchievementDefinition[]; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#achievementDefinitionsListResponse. + */ + kind?: string; + /** + * Token corresponding to the next page of results. + */ + nextPageToken?: string; + } + /** + * This is a JSON template for an achievement increment response + */ + interface Schema$AchievementIncrementResponse { + /** + * The current steps recorded for this incremental achievement. + */ + currentSteps?: number; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#achievementIncrementResponse. + */ + kind?: string; + /** + * Whether the current steps for the achievement has reached the number of + * steps required to unlock. + */ + newlyUnlocked?: boolean; + } + /** + * This is a JSON template for an achievement reveal response + */ + interface Schema$AchievementRevealResponse { + /** + * The current state of the achievement for which a reveal was attempted. + * This might be UNLOCKED if the achievement was already unlocked. Possible + * values are: - "REVEALED" - Achievement is revealed. - + * "UNLOCKED" - Achievement is unlocked. + */ + currentState?: string; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#achievementRevealResponse. + */ + kind?: string; + } + /** + * This is a JSON template for an achievement set steps at least response. + */ + interface Schema$AchievementSetStepsAtLeastResponse { + /** + * The current steps recorded for this incremental achievement. + */ + currentSteps?: number; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#achievementSetStepsAtLeastResponse. + */ + kind?: string; + /** + * Whether the the current steps for the achievement has reached the number + * of steps required to unlock. + */ + newlyUnlocked?: boolean; + } + /** + * This is a JSON template for an achievement unlock response + */ + interface Schema$AchievementUnlockResponse { + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#achievementUnlockResponse. + */ + kind?: string; + /** + * Whether this achievement was newly unlocked (that is, whether the unlock + * request for the achievement was the first for the player). + */ + newlyUnlocked?: boolean; + } + /** + * This is a JSON template for a list of achievement update requests. + */ + interface Schema$AchievementUpdateMultipleRequest { + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#achievementUpdateMultipleRequest. + */ + kind?: string; + /** + * The individual achievement update requests. + */ + updates?: Schema$AchievementUpdateRequest[]; + } + /** + * This is a JSON template for an achievement unlock response. + */ + interface Schema$AchievementUpdateMultipleResponse { + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#achievementUpdateListResponse. + */ + kind?: string; + /** + * The updated state of the achievements. + */ + updatedAchievements?: Schema$AchievementUpdateResponse[]; + } + /** + * This is a JSON template for a request to update an achievement. + */ + interface Schema$AchievementUpdateRequest { + /** + * The achievement this update is being applied to. + */ + achievementId?: string; + /** + * The payload if an update of type INCREMENT was requested for the + * achievement. + */ + incrementPayload?: Schema$GamesAchievementIncrement; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#achievementUpdateRequest. + */ + kind?: string; + /** + * The payload if an update of type SET_STEPS_AT_LEAST was requested for the + * achievement. + */ + setStepsAtLeastPayload?: Schema$GamesAchievementSetStepsAtLeast; + /** + * The type of update being applied. Possible values are: - + * "REVEAL" - Achievement is revealed. - "UNLOCK" - + * Achievement is unlocked. - "INCREMENT" - Achievement is + * incremented. - "SET_STEPS_AT_LEAST" - Achievement progress is + * set to at least the passed value. + */ + updateType?: string; + } + /** + * This is a JSON template for an achievement update response. + */ + interface Schema$AchievementUpdateResponse { + /** + * The achievement this update is was applied to. + */ + achievementId?: string; + /** + * The current state of the achievement. Possible values are: - + * "HIDDEN" - Achievement is hidden. - "REVEALED" - + * Achievement is revealed. - "UNLOCKED" - Achievement is + * unlocked. + */ + currentState?: string; + /** + * The current steps recorded for this achievement if it is incremental. + */ + currentSteps?: number; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#achievementUpdateResponse. + */ + kind?: string; + /** + * Whether this achievement was newly unlocked (that is, whether the unlock + * request for the achievement was the first for the player). + */ + newlyUnlocked?: boolean; + /** + * Whether the requested updates actually affected the achievement. + */ + updateOccurred?: boolean; + } + /** + * This is a JSON template for aggregate stats. + */ + interface Schema$AggregateStats { + /** + * The number of messages sent between a pair of peers. + */ + count?: string; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#aggregateStats. + */ + kind?: string; + /** + * The maximum amount. + */ + max?: string; + /** + * The minimum amount. + */ + min?: string; + /** + * The total number of bytes sent for messages between a pair of peers. + */ + sum?: string; + } + /** + * This is a JSON template for an anonymous player + */ + interface Schema$AnonymousPlayer { + /** + * The base URL for the image to display for the anonymous player. + */ + avatarImageUrl?: string; + /** + * The name to display for the anonymous player. + */ + displayName?: string; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#anonymousPlayer. + */ + kind?: string; + } + /** + * This is a JSON template for the Application resource. + */ + interface Schema$Application { + /** + * The number of achievements visible to the currently authenticated player. + */ + achievement_count?: number; + /** + * The assets of the application. + */ + assets?: Schema$ImageAsset[]; + /** + * The author of the application. + */ + author?: string; + /** + * The category of the application. + */ + category?: Schema$ApplicationCategory; + /** + * The description of the application. + */ + description?: string; + /** + * A list of features that have been enabled for the application. Possible + * values are: - "SNAPSHOTS" - Snapshots has been enabled + */ + enabledFeatures?: string[]; + /** + * The ID of the application. + */ + id?: string; + /** + * The instances of the application. + */ + instances?: Schema$Instance[]; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#application. + */ + kind?: string; + /** + * The last updated timestamp of the application. + */ + lastUpdatedTimestamp?: string; + /** + * The number of leaderboards visible to the currently authenticated player. + */ + leaderboard_count?: number; + /** + * The name of the application. + */ + name?: string; + /** + * A hint to the client UI for what color to use as an app-themed color. The + * color is given as an RGB triplet (e.g. "E0E0E0"). + */ + themeColor?: string; + } + /** + * This is a JSON template for an application category object. + */ + interface Schema$ApplicationCategory { + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#applicationCategory. + */ + kind?: string; + /** + * The primary category. + */ + primary?: string; + /** + * The secondary category. + */ + secondary?: string; + } + /** + * This is a JSON template for a third party application verification response + * resource. + */ + interface Schema$ApplicationVerifyResponse { + /** + * An alternate ID that was once used for the player that was issued the + * auth token used in this request. (This field is not normally populated.) + */ + alternate_player_id?: string; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#applicationVerifyResponse. + */ + kind?: string; + /** + * The ID of the player that was issued the auth token used in this request. + */ + player_id?: string; + } + /** + * This is a JSON template for data related to individual game categories. + */ + interface Schema$Category { + /** + * The category name. + */ + category?: string; + /** + * Experience points earned in this category. + */ + experiencePoints?: string; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#category. + */ + kind?: string; + } + /** + * This is a JSON template for a list of category data objects. + */ + interface Schema$CategoryListResponse { + /** + * The list of categories with usage data. + */ + items?: Schema$Category[]; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#categoryListResponse. + */ + kind?: string; + /** + * Token corresponding to the next page of results. + */ + nextPageToken?: string; + } + /** + * This is a JSON template for a batch update failure resource. + */ + interface Schema$EventBatchRecordFailure { + /** + * The cause for the update failure. Possible values are: - + * "TOO_LARGE": A batch request was issued with more events than + * are allowed in a single batch. - "TIME_PERIOD_EXPIRED": A + * batch was sent with data too far in the past to record. - + * "TIME_PERIOD_SHORT": A batch was sent with a time range that + * was too short. - "TIME_PERIOD_LONG": A batch was sent with a + * time range that was too long. - "ALREADY_UPDATED": An attempt + * was made to record a batch of data which was already seen. - + * "RECORD_RATE_HIGH": An attempt was made to record data faster + * than the server will apply updates. + */ + failureCause?: string; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#eventBatchRecordFailure. + */ + kind?: string; + /** + * The time range which was rejected; empty for a request-wide failure. + */ + range?: Schema$EventPeriodRange; + } + /** + * This is a JSON template for an event child relationship resource. + */ + interface Schema$EventChild { + /** + * The ID of the child event. + */ + childId?: string; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#eventChild. + */ + kind?: string; + } + /** + * This is a JSON template for an event definition resource. + */ + interface Schema$EventDefinition { + /** + * A list of events that are a child of this event. + */ + childEvents?: Schema$EventChild[]; + /** + * Description of what this event represents. + */ + description?: string; + /** + * The name to display for the event. + */ + displayName?: string; + /** + * The ID of the event. + */ + id?: string; + /** + * The base URL for the image that represents the event. + */ + imageUrl?: string; + /** + * Indicates whether the icon image being returned is a default image, or is + * game-provided. + */ + isDefaultImageUrl?: boolean; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#eventDefinition. + */ + kind?: string; + /** + * The visibility of event being tracked in this definition. Possible values + * are: - "REVEALED": This event should be visible to all users. + * - "HIDDEN": This event should only be shown to users that have + * recorded this event at least once. + */ + visibility?: string; + } + /** + * This is a JSON template for a ListDefinitions response. + */ + interface Schema$EventDefinitionListResponse { + /** + * The event definitions. + */ + items?: Schema$EventDefinition[]; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#eventDefinitionListResponse. + */ + kind?: string; + /** + * The pagination token for the next page of results. + */ + nextPageToken?: string; + } + /** + * This is a JSON template for an event period time range. + */ + interface Schema$EventPeriodRange { + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#eventPeriodRange. + */ + kind?: string; + /** + * The time when this update period ends, in millis, since 1970 UTC (Unix + * Epoch). + */ + periodEndMillis?: string; + /** + * The time when this update period begins, in millis, since 1970 UTC (Unix + * Epoch). + */ + periodStartMillis?: string; + } + /** + * This is a JSON template for an event period update resource. + */ + interface Schema$EventPeriodUpdate { + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#eventPeriodUpdate. + */ + kind?: string; + /** + * The time period being covered by this update. + */ + timePeriod?: Schema$EventPeriodRange; + /** + * The updates being made for this time period. + */ + updates?: Schema$EventUpdateRequest[]; + } + /** + * This is a JSON template for an event update failure resource. + */ + interface Schema$EventRecordFailure { + /** + * The ID of the event that was not updated. + */ + eventId?: string; + /** + * The cause for the update failure. Possible values are: - + * "NOT_FOUND" - An attempt was made to set an event that was not + * defined. - "INVALID_UPDATE_VALUE" - An attempt was made to + * increment an event by a non-positive value. + */ + failureCause?: string; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#eventRecordFailure. + */ + kind?: string; + } + /** + * This is a JSON template for an event period update resource. + */ + interface Schema$EventRecordRequest { + /** + * The current time when this update was sent, in milliseconds, since 1970 + * UTC (Unix Epoch). + */ + currentTimeMillis?: string; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#eventRecordRequest. + */ + kind?: string; + /** + * The request ID used to identify this attempt to record events. + */ + requestId?: string; + /** + * A list of the time period updates being made in this request. + */ + timePeriods?: Schema$EventPeriodUpdate[]; + } + /** + * This is a JSON template for an event period update resource. + */ + interface Schema$EventUpdateRequest { + /** + * The ID of the event being modified in this update. + */ + definitionId?: string; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#eventUpdateRequest. + */ + kind?: string; + /** + * The number of times this event occurred in this time period. + */ + updateCount?: string; + } + /** + * This is a JSON template for an event period update resource. + */ + interface Schema$EventUpdateResponse { + /** + * Any batch-wide failures which occurred applying updates. + */ + batchFailures?: Schema$EventBatchRecordFailure[]; + /** + * Any failures updating a particular event. + */ + eventFailures?: Schema$EventRecordFailure[]; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#eventUpdateResponse. + */ + kind?: string; + /** + * The current status of any updated events + */ + playerEvents?: Schema$PlayerEvent[]; + } + /** + * This is a JSON template for the payload to request to increment an + * achievement. + */ + interface Schema$GamesAchievementIncrement { + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#GamesAchievementIncrement. + */ + kind?: string; + /** + * The requestId associated with an increment to an achievement. + */ + requestId?: string; + /** + * The number of steps to be incremented. + */ + steps?: number; + } + /** + * This is a JSON template for the payload to request to increment an + * achievement. + */ + interface Schema$GamesAchievementSetStepsAtLeast { + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#GamesAchievementSetStepsAtLeast. + */ + kind?: string; + /** + * The minimum number of steps for the achievement to be set to. + */ + steps?: number; + } + /** + * This is a JSON template for an image asset object. + */ + interface Schema$ImageAsset { + /** + * The height of the asset. + */ + height?: number; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#imageAsset. + */ + kind?: string; + /** + * The name of the asset. + */ + name?: string; + /** + * The URL of the asset. + */ + url?: string; + /** + * The width of the asset. + */ + width?: number; + } + /** + * This is a JSON template for the Instance resource. + */ + interface Schema$Instance { + /** + * URI which shows where a user can acquire this instance. + */ + acquisitionUri?: string; + /** + * Platform dependent details for Android. + */ + androidInstance?: Schema$InstanceAndroidDetails; + /** + * Platform dependent details for iOS. + */ + iosInstance?: Schema$InstanceIosDetails; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#instance. + */ + kind?: string; + /** + * Localized display name. + */ + name?: string; + /** + * The platform type. Possible values are: - "ANDROID" - + * Instance is for Android. - "IOS" - Instance is for iOS - + * "WEB_APP" - Instance is for Web App. + */ + platformType?: string; + /** + * Flag to show if this game instance supports realtime play. + */ + realtimePlay?: boolean; + /** + * Flag to show if this game instance supports turn based play. + */ + turnBasedPlay?: boolean; + /** + * Platform dependent details for Web. + */ + webInstance?: Schema$InstanceWebDetails; + } + /** + * This is a JSON template for the Android instance details resource. + */ + interface Schema$InstanceAndroidDetails { + /** + * Flag indicating whether the anti-piracy check is enabled. + */ + enablePiracyCheck?: boolean; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#instanceAndroidDetails. + */ + kind?: string; + /** + * Android package name which maps to Google Play URL. + */ + packageName?: string; + /** + * Indicates that this instance is the default for new installations. + */ + preferred?: boolean; + } + /** + * This is a JSON template for the iOS details resource. + */ + interface Schema$InstanceIosDetails { + /** + * Bundle identifier. + */ + bundleIdentifier?: string; + /** + * iTunes App ID. + */ + itunesAppId?: string; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#instanceIosDetails. + */ + kind?: string; + /** + * Indicates that this instance is the default for new installations on iPad + * devices. + */ + preferredForIpad?: boolean; + /** + * Indicates that this instance is the default for new installations on + * iPhone devices. + */ + preferredForIphone?: boolean; + /** + * Flag to indicate if this instance supports iPad. + */ + supportIpad?: boolean; + /** + * Flag to indicate if this instance supports iPhone. + */ + supportIphone?: boolean; + } + /** + * This is a JSON template for the Web details resource. + */ + interface Schema$InstanceWebDetails { + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#instanceWebDetails. + */ + kind?: string; + /** + * Launch URL for the game. + */ + launchUrl?: string; + /** + * Indicates that this instance is the default for new installations. + */ + preferred?: boolean; + } + /** + * This is a JSON template for the Leaderboard resource. + */ + interface Schema$Leaderboard { + /** + * The icon for the leaderboard. + */ + iconUrl?: string; + /** + * The leaderboard ID. + */ + id?: string; + /** + * Indicates whether the icon image being returned is a default image, or is + * game-provided. + */ + isIconUrlDefault?: boolean; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#leaderboard. + */ + kind?: string; + /** + * The name of the leaderboard. + */ + name?: string; + /** + * How scores are ordered. Possible values are: - + * "LARGER_IS_BETTER" - Larger values are better; scores are + * sorted in descending order. - "SMALLER_IS_BETTER" - Smaller + * values are better; scores are sorted in ascending order. + */ + order?: string; + } + /** + * This is a JSON template for the Leaderboard Entry resource. + */ + interface Schema$LeaderboardEntry { + /** + * The localized string for the numerical value of this score. + */ + formattedScore?: string; + /** + * The localized string for the rank of this score for this leaderboard. + */ + formattedScoreRank?: string; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#leaderboardEntry. + */ + kind?: string; + /** + * The player who holds this score. + */ + player?: Schema$Player; + /** + * The rank of this score for this leaderboard. + */ + scoreRank?: string; + /** + * Additional information about the score. Values must contain no more than + * 64 URI-safe characters as defined by section 2.3 of RFC 3986. + */ + scoreTag?: string; + /** + * The numerical value of this score. + */ + scoreValue?: string; + /** + * The time span of this high score. Possible values are: - + * "ALL_TIME" - The score is an all-time high score. - + * "WEEKLY" - The score is a weekly high score. - + * "DAILY" - The score is a daily high score. + */ + timeSpan?: string; + /** + * The timestamp at which this score was recorded, in milliseconds since the + * epoch in UTC. + */ + writeTimestampMillis?: string; + } + /** + * This is a JSON template for a list of leaderboard objects. + */ + interface Schema$LeaderboardListResponse { + /** + * The leaderboards. + */ + items?: Schema$Leaderboard[]; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#leaderboardListResponse. + */ + kind?: string; + /** + * Token corresponding to the next page of results. + */ + nextPageToken?: string; + } + /** + * This is a JSON template for a score rank in a leaderboard. + */ + interface Schema$LeaderboardScoreRank { + /** + * The number of scores in the leaderboard as a string. + */ + formattedNumScores?: string; + /** + * The rank in the leaderboard as a string. + */ + formattedRank?: string; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#leaderboardScoreRank. + */ + kind?: string; + /** + * The number of scores in the leaderboard. + */ + numScores?: string; + /** + * The rank in the leaderboard. + */ + rank?: string; + } + /** + * This is a JSON template for a ListScores response. + */ + interface Schema$LeaderboardScores { + /** + * The scores in the leaderboard. + */ + items?: Schema$LeaderboardEntry[]; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#leaderboardScores. + */ + kind?: string; + /** + * The pagination token for the next page of results. + */ + nextPageToken?: string; + /** + * The total number of scores in the leaderboard. + */ + numScores?: string; + /** + * The score of the requesting player on the leaderboard. The player's + * score may appear both here and in the list of scores above. If you are + * viewing a public leaderboard and the player is not sharing their gameplay + * information publicly, the scoreRank and formattedScoreRank values will + * not be present. + */ + playerScore?: Schema$LeaderboardEntry; + /** + * The pagination token for the previous page of results. + */ + prevPageToken?: string; + } + /** + * This is a JSON template for the metagame config resource + */ + interface Schema$MetagameConfig { + /** + * Current version of the metagame configuration data. When this data is + * updated, the version number will be increased by one. + */ + currentVersion?: number; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#metagameConfig. + */ + kind?: string; + /** + * The list of player levels. + */ + playerLevels?: Schema$PlayerLevel[]; + } + /** + * This is a JSON template for network diagnostics reported for a client. + */ + interface Schema$NetworkDiagnostics { + /** + * The Android network subtype. + */ + androidNetworkSubtype?: number; + /** + * The Android network type. + */ + androidNetworkType?: number; + /** + * iOS network type as defined in Reachability.h. + */ + iosNetworkType?: number; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#networkDiagnostics. + */ + kind?: string; + /** + * The MCC+MNC code for the client's network connection. On Android: + * http://developer.android.com/reference/android/telephony/TelephonyManager.html#getNetworkOperator() + * On iOS, see: + * https://developer.apple.com/library/ios/documentation/NetworkingInternet/Reference/CTCarrier/Reference/Reference.html + */ + networkOperatorCode?: string; + /** + * The name of the carrier of the client's network connection. On + * Android: + * http://developer.android.com/reference/android/telephony/TelephonyManager.html#getNetworkOperatorName() + * On iOS: + * https://developer.apple.com/library/ios/documentation/NetworkingInternet/Reference/CTCarrier/Reference/Reference.html#//apple_ref/occ/instp/CTCarrier/carrierName + */ + networkOperatorName?: string; + /** + * The amount of time in milliseconds it took for the client to establish a + * connection with the XMPP server. + */ + registrationLatencyMillis?: number; + } + /** + * This is a JSON template for a result for a match participant. + */ + interface Schema$ParticipantResult { + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#participantResult. + */ + kind?: string; + /** + * The ID of the participant. + */ + participantId?: string; + /** + * The placement or ranking of the participant in the match results; a + * number from one to the number of participants in the match. Multiple + * participants may have the same placing value in case of a type. + */ + placing?: number; + /** + * The result of the participant for this match. Possible values are: - + * "MATCH_RESULT_WIN" - The participant won the match. - + * "MATCH_RESULT_LOSS" - The participant lost the match. - + * "MATCH_RESULT_TIE" - The participant tied the match. - + * "MATCH_RESULT_NONE" - There was no winner for the match (nobody + * wins or loses this kind of game.) - "MATCH_RESULT_DISCONNECT" + * - The participant disconnected / left during the match. - + * "MATCH_RESULT_DISAGREED" - Different clients reported different + * results for this participant. + */ + result?: string; + } + /** + * This is a JSON template for peer channel diagnostics. + */ + interface Schema$PeerChannelDiagnostics { + /** + * Number of bytes received. + */ + bytesReceived?: Schema$AggregateStats; + /** + * Number of bytes sent. + */ + bytesSent?: Schema$AggregateStats; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#peerChannelDiagnostics. + */ + kind?: string; + /** + * Number of messages lost. + */ + numMessagesLost?: number; + /** + * Number of messages received. + */ + numMessagesReceived?: number; + /** + * Number of messages sent. + */ + numMessagesSent?: number; + /** + * Number of send failures. + */ + numSendFailures?: number; + /** + * Roundtrip latency stats in milliseconds. + */ + roundtripLatencyMillis?: Schema$AggregateStats; + } + /** + * This is a JSON template for peer session diagnostics. + */ + interface Schema$PeerSessionDiagnostics { + /** + * Connected time in milliseconds. + */ + connectedTimestampMillis?: string; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#peerSessionDiagnostics. + */ + kind?: string; + /** + * The participant ID of the peer. + */ + participantId?: string; + /** + * Reliable channel diagnostics. + */ + reliableChannel?: Schema$PeerChannelDiagnostics; + /** + * Unreliable channel diagnostics. + */ + unreliableChannel?: Schema$PeerChannelDiagnostics; + } + /** + * This is a JSON template for metadata about a player playing a game with the + * currently authenticated user. + */ + interface Schema$Played { + /** + * True if the player was auto-matched with the currently authenticated + * user. + */ + autoMatched?: boolean; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#played. + */ + kind?: string; + /** + * The last time the player played the game in milliseconds since the epoch + * in UTC. + */ + timeMillis?: string; + } + /** + * This is a JSON template for a Player resource. + */ + interface Schema$Player { + /** + * The base URL for the image that represents the player. + */ + avatarImageUrl?: string; + /** + * The url to the landscape mode player banner image. + */ + bannerUrlLandscape?: string; + /** + * The url to the portrait mode player banner image. + */ + bannerUrlPortrait?: string; + /** + * The name to display for the player. + */ + displayName?: string; + /** + * An object to represent Play Game experience information for the player. + */ + experienceInfo?: Schema$PlayerExperienceInfo; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#player. + */ + kind?: string; + /** + * Details about the last time this player played a multiplayer game with + * the currently authenticated player. Populated for PLAYED_WITH player + * collection members. + */ + lastPlayedWith?: Schema$Played; + /** + * An object representation of the individual components of the player's + * name. For some players, these fields may not be present. + */ + name?: any; + /** + * The player ID that was used for this player the first time they signed + * into the game in question. This is only populated for calls to player.get + * for the requesting player, only if the player ID has subsequently + * changed, and only to clients that support remapping player IDs. + */ + originalPlayerId?: string; + /** + * The ID of the player. + */ + playerId?: string; + /** + * The player's profile settings. Controls whether or not the + * player's profile is visible to other players. + */ + profileSettings?: Schema$ProfileSettings; + /** + * The player's title rewarded for their game activities. + */ + title?: string; + } + /** + * This is a JSON template for an achievement object. + */ + interface Schema$PlayerAchievement { + /** + * The state of the achievement. Possible values are: - "HIDDEN" + * - Achievement is hidden. - "REVEALED" - Achievement is + * revealed. - "UNLOCKED" - Achievement is unlocked. + */ + achievementState?: string; + /** + * The current steps for an incremental achievement. + */ + currentSteps?: number; + /** + * Experience points earned for the achievement. This field is absent for + * achievements that have not yet been unlocked and 0 for achievements that + * have been unlocked by testers but that are unpublished. + */ + experiencePoints?: string; + /** + * The current steps for an incremental achievement as a string. + */ + formattedCurrentStepsString?: string; + /** + * The ID of the achievement. + */ + id?: string; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#playerAchievement. + */ + kind?: string; + /** + * The timestamp of the last modification to this achievement's state. + */ + lastUpdatedTimestamp?: string; + } + /** + * This is a JSON template for a list of achievement objects. + */ + interface Schema$PlayerAchievementListResponse { + /** + * The achievements. + */ + items?: Schema$PlayerAchievement[]; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#playerAchievementListResponse. + */ + kind?: string; + /** + * Token corresponding to the next page of results. + */ + nextPageToken?: string; + } + /** + * This is a JSON template for an event status resource. + */ + interface Schema$PlayerEvent { + /** + * The ID of the event definition. + */ + definitionId?: string; + /** + * The current number of times this event has occurred, as a string. The + * formatting of this string depends on the configuration of your event in + * the Play Games Developer Console. + */ + formattedNumEvents?: string; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#playerEvent. + */ + kind?: string; + /** + * The current number of times this event has occurred. + */ + numEvents?: string; + /** + * The ID of the player. + */ + playerId?: string; + } + /** + * This is a JSON template for a ListByPlayer response. + */ + interface Schema$PlayerEventListResponse { + /** + * The player events. + */ + items?: Schema$PlayerEvent[]; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#playerEventListResponse. + */ + kind?: string; + /** + * The pagination token for the next page of results. + */ + nextPageToken?: string; + } + /** + * This is a JSON template for 1P/3P metadata about the player's + * experience. + */ + interface Schema$PlayerExperienceInfo { + /** + * The current number of experience points for the player. + */ + currentExperiencePoints?: string; + /** + * The current level of the player. + */ + currentLevel?: Schema$PlayerLevel; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#playerExperienceInfo. + */ + kind?: string; + /** + * The timestamp when the player was leveled up, in millis since Unix epoch + * UTC. + */ + lastLevelUpTimestampMillis?: string; + /** + * The next level of the player. If the current level is the maximum level, + * this should be same as the current level. + */ + nextLevel?: Schema$PlayerLevel; + } + /** + * This is a JSON template for a player leaderboard score object. + */ + interface Schema$PlayerLeaderboardScore { + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#playerLeaderboardScore. + */ + kind?: string; + /** + * The ID of the leaderboard this score is in. + */ + leaderboard_id?: string; + /** + * The public rank of the score in this leaderboard. This object will not be + * present if the user is not sharing their scores publicly. + */ + publicRank?: Schema$LeaderboardScoreRank; + /** + * The formatted value of this score. + */ + scoreString?: string; + /** + * Additional information about the score. Values must contain no more than + * 64 URI-safe characters as defined by section 2.3 of RFC 3986. + */ + scoreTag?: string; + /** + * The numerical value of this score. + */ + scoreValue?: string; + /** + * The social rank of the score in this leaderboard. + */ + socialRank?: Schema$LeaderboardScoreRank; + /** + * The time span of this score. Possible values are: - + * "ALL_TIME" - The score is an all-time score. - + * "WEEKLY" - The score is a weekly score. - "DAILY" - + * The score is a daily score. + */ + timeSpan?: string; + /** + * The timestamp at which this score was recorded, in milliseconds since the + * epoch in UTC. + */ + writeTimestamp?: string; + } + /** + * This is a JSON template for a list of player leaderboard scores. + */ + interface Schema$PlayerLeaderboardScoreListResponse { + /** + * The leaderboard scores. + */ + items?: Schema$PlayerLeaderboardScore[]; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#playerLeaderboardScoreListResponse. + */ + kind?: string; + /** + * The pagination token for the next page of results. + */ + nextPageToken?: string; + /** + * The Player resources for the owner of this score. + */ + player?: Schema$Player; + } + /** + * This is a JSON template for 1P/3P metadata about a user's level. + */ + interface Schema$PlayerLevel { + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#playerLevel. + */ + kind?: string; + /** + * The level for the user. + */ + level?: number; + /** + * The maximum experience points for this level. + */ + maxExperiencePoints?: string; + /** + * The minimum experience points for this level. + */ + minExperiencePoints?: string; + } + /** + * This is a JSON template for a third party player list response. + */ + interface Schema$PlayerListResponse { + /** + * The players. + */ + items?: Schema$Player[]; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#playerListResponse. + */ + kind?: string; + /** + * Token corresponding to the next page of results. + */ + nextPageToken?: string; + } + /** + * This is a JSON template for a player score. + */ + interface Schema$PlayerScore { + /** + * The formatted score for this player score. + */ + formattedScore?: string; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#playerScore. + */ + kind?: string; + /** + * The numerical value for this player score. + */ + score?: string; + /** + * Additional information about this score. Values will contain no more than + * 64 URI-safe characters as defined by section 2.3 of RFC 3986. + */ + scoreTag?: string; + /** + * The time span for this player score. Possible values are: - + * "ALL_TIME" - The score is an all-time score. - + * "WEEKLY" - The score is a weekly score. - "DAILY" - + * The score is a daily score. + */ + timeSpan?: string; + } + /** + * This is a JSON template for a list of score submission statuses. + */ + interface Schema$PlayerScoreListResponse { + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#playerScoreListResponse. + */ + kind?: string; + /** + * The score submissions statuses. + */ + submittedScores?: Schema$PlayerScoreResponse[]; + } + /** + * This is a JSON template for a list of leaderboard entry resources. + */ + interface Schema$PlayerScoreResponse { + /** + * The time spans where the submitted score is better than the existing + * score for that time span. Possible values are: - "ALL_TIME" - + * The score is an all-time score. - "WEEKLY" - The score is a + * weekly score. - "DAILY" - The score is a daily score. + */ + beatenScoreTimeSpans?: string[]; + /** + * The formatted value of the submitted score. + */ + formattedScore?: string; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#playerScoreResponse. + */ + kind?: string; + /** + * The leaderboard ID that this score was submitted to. + */ + leaderboardId?: string; + /** + * Additional information about this score. Values will contain no more than + * 64 URI-safe characters as defined by section 2.3 of RFC 3986. + */ + scoreTag?: string; + /** + * The scores in time spans that have not been beaten. As an example, the + * submitted score may be better than the player's DAILY score, but not + * better than the player's scores for the WEEKLY or ALL_TIME time + * spans. + */ + unbeatenScores?: Schema$PlayerScore[]; + } + /** + * This is a JSON template for a list of score submission requests + */ + interface Schema$PlayerScoreSubmissionList { + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#playerScoreSubmissionList. + */ + kind?: string; + /** + * The score submissions. + */ + scores?: Schema$ScoreSubmission[]; + } + /** + * This is a JSON template for profile settings + */ + interface Schema$ProfileSettings { + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#profileSettings. + */ + kind?: string; + /** + * The player's current profile visibility. This field is visible to + * both 1P and 3P APIs. + */ + profileVisible?: boolean; + } + /** + * This is a JSON template for a push token resource. + */ + interface Schema$PushToken { + /** + * The revision of the client SDK used by your application, in the same + * format that's used by revisions.check. Used to send backward + * compatible messages. Format: [PLATFORM_TYPE]:[VERSION_NUMBER]. Possible + * values of PLATFORM_TYPE are: - IOS - Push token is for iOS + */ + clientRevision?: string; + /** + * Unique identifier for this push token. + */ + id?: Schema$PushTokenId; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#pushToken. + */ + kind?: string; + /** + * The preferred language for notifications that are sent using this token. + */ + language?: string; + } + /** + * This is a JSON template for a push token ID resource. + */ + interface Schema$PushTokenId { + /** + * A push token ID for iOS devices. + */ + ios?: any; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#pushTokenId. + */ + kind?: string; + } + /** + * This is a JSON template for a Quest resource. + */ + interface Schema$Quest { + /** + * The timestamp at which the user accepted the quest in milliseconds since + * the epoch in UTC. Only present if the player has accepted the quest. + */ + acceptedTimestampMillis?: string; + /** + * The ID of the application this quest is part of. + */ + applicationId?: string; + /** + * The banner image URL for the quest. + */ + bannerUrl?: string; + /** + * The description of the quest. + */ + description?: string; + /** + * The timestamp at which the quest ceases to be active in milliseconds + * since the epoch in UTC. + */ + endTimestampMillis?: string; + /** + * The icon image URL for the quest. + */ + iconUrl?: string; + /** + * The ID of the quest. + */ + id?: string; + /** + * Indicates whether the banner image being returned is a default image, or + * is game-provided. + */ + isDefaultBannerUrl?: boolean; + /** + * Indicates whether the icon image being returned is a default image, or is + * game-provided. + */ + isDefaultIconUrl?: boolean; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#quest. + */ + kind?: string; + /** + * The timestamp at which the quest was last updated by the user in + * milliseconds since the epoch in UTC. Only present if the player has + * accepted the quest. + */ + lastUpdatedTimestampMillis?: string; + /** + * The quest milestones. + */ + milestones?: Schema$QuestMilestone[]; + /** + * The name of the quest. + */ + name?: string; + /** + * The timestamp at which the user should be notified that the quest will + * end soon in milliseconds since the epoch in UTC. + */ + notifyTimestampMillis?: string; + /** + * The timestamp at which the quest becomes active in milliseconds since the + * epoch in UTC. + */ + startTimestampMillis?: string; + /** + * The state of the quest. Possible values are: - "UPCOMING": + * The quest is upcoming. The user can see the quest, but cannot accept it + * until it is open. - "OPEN": The quest is currently open and + * may be accepted at this time. - "ACCEPTED": The user is + * currently participating in this quest. - "COMPLETED": The user + * has completed the quest. - "FAILED": The quest was attempted + * but was not completed before the deadline expired. - + * "EXPIRED": The quest has expired and was not accepted. - + * "DELETED": The quest should be deleted from the local database. + */ + state?: string; + } + /** + * This is a JSON template for a Quest Criterion Contribution resource. + */ + interface Schema$QuestContribution { + /** + * The formatted value of the contribution as a string. Format depends on + * the configuration for the associated event definition in the Play Games + * Developer Console. + */ + formattedValue?: string; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#questContribution. + */ + kind?: string; + /** + * The value of the contribution. + */ + value?: string; + } + /** + * This is a JSON template for a Quest Criterion resource. + */ + interface Schema$QuestCriterion { + /** + * The total number of times the associated event must be incremented for + * the player to complete this quest. + */ + completionContribution?: Schema$QuestContribution; + /** + * The number of increments the player has made toward the completion count + * event increments required to complete the quest. This value will not + * exceed the completion contribution. There will be no currentContribution + * until the player has accepted the quest. + */ + currentContribution?: Schema$QuestContribution; + /** + * The ID of the event the criterion corresponds to. + */ + eventId?: string; + /** + * The value of the event associated with this quest at the time that the + * quest was accepted. This value may change if event increments that took + * place before the start of quest are uploaded after the quest starts. + * There will be no initialPlayerProgress until the player has accepted the + * quest. + */ + initialPlayerProgress?: Schema$QuestContribution; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#questCriterion. + */ + kind?: string; + } + /** + * This is a JSON template for a list of quest objects. + */ + interface Schema$QuestListResponse { + /** + * The quests. + */ + items?: Schema$Quest[]; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#questListResponse. + */ + kind?: string; + /** + * Token corresponding to the next page of results. + */ + nextPageToken?: string; + } + /** + * This is a JSON template for a Quest Milestone resource. + */ + interface Schema$QuestMilestone { + /** + * The completion reward data of the milestone, represented as a + * Base64-encoded string. This is a developer-specified binary blob with + * size between 0 and 2 KB before encoding. + */ + completionRewardData?: string; + /** + * The criteria of the milestone. + */ + criteria?: Schema$QuestCriterion[]; + /** + * The milestone ID. + */ + id?: string; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#questMilestone. + */ + kind?: string; + /** + * The current state of the milestone. Possible values are: - + * "COMPLETED_NOT_CLAIMED" - The milestone is complete, but has + * not yet been claimed. - "CLAIMED" - The milestone is complete + * and has been claimed. - "NOT_COMPLETED" - The milestone has + * not yet been completed. - "NOT_STARTED" - The milestone is for + * a quest that has not yet been accepted. + */ + state?: string; + } + /** + * This is a JSON template for the result of checking a revision. + */ + interface Schema$RevisionCheckResponse { + /** + * The version of the API this client revision should use when calling API + * methods. + */ + apiVersion?: string; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#revisionCheckResponse. + */ + kind?: string; + /** + * The result of the revision check. Possible values are: - "OK" + * - The revision being used is current. - "DEPRECATED" - There + * is currently a newer version available, but the revision being used still + * works. - "INVALID" - The revision being used is not supported + * in any released version. + */ + revisionStatus?: string; + } + /** + * This is a JSON template for a room resource object. + */ + interface Schema$Room { + /** + * The ID of the application being played. + */ + applicationId?: string; + /** + * Criteria for auto-matching players into this room. + */ + autoMatchingCriteria?: Schema$RoomAutoMatchingCriteria; + /** + * Auto-matching status for this room. Not set if the room is not currently + * in the auto-matching queue. + */ + autoMatchingStatus?: Schema$RoomAutoMatchStatus; + /** + * Details about the room creation. + */ + creationDetails?: Schema$RoomModification; + /** + * This short description is generated by our servers and worded relative to + * the player requesting the room. It is intended to be displayed when the + * room is shown in a list (that is, an invitation to a room.) + */ + description?: string; + /** + * The ID of the participant that invited the user to the room. Not set if + * the user was not invited to the room. + */ + inviterId?: string; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#room. + */ + kind?: string; + /** + * Details about the last update to the room. + */ + lastUpdateDetails?: Schema$RoomModification; + /** + * The participants involved in the room, along with their statuses. + * Includes participants who have left or declined invitations. + */ + participants?: Schema$RoomParticipant[]; + /** + * Globally unique ID for a room. + */ + roomId?: string; + /** + * The version of the room status: an increasing counter, used by the client + * to ignore out-of-order updates to room status. + */ + roomStatusVersion?: number; + /** + * The status of the room. Possible values are: - + * "ROOM_INVITING" - One or more players have been invited and not + * responded. - "ROOM_AUTO_MATCHING" - One or more slots need to + * be filled by auto-matching. - "ROOM_CONNECTING" - Players have + * joined and are connecting to each other (either before or after + * auto-matching). - "ROOM_ACTIVE" - All players have joined and + * connected to each other. - "ROOM_DELETED" - The room should no + * longer be shown on the client. Returned in sync calls when a player joins + * a room (as a tombstone), or for rooms where all joined participants have + * left. + */ + status?: string; + /** + * The variant / mode of the application being played; can be any integer + * value, or left blank. + */ + variant?: number; + } + /** + * This is a JSON template for a room auto-match criteria object. + */ + interface Schema$RoomAutoMatchingCriteria { + /** + * A bitmask indicating when auto-matches are valid. When ANDed with other + * exclusive bitmasks, the result must be zero. Can be used to support + * exclusive roles within a game. + */ + exclusiveBitmask?: string; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#roomAutoMatchingCriteria. + */ + kind?: string; + /** + * The maximum number of players that should be added to the room by + * auto-matching. + */ + maxAutoMatchingPlayers?: number; + /** + * The minimum number of players that should be added to the room by + * auto-matching. + */ + minAutoMatchingPlayers?: number; + } + /** + * This is a JSON template for status of room automatching that is in + * progress. + */ + interface Schema$RoomAutoMatchStatus { + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#roomAutoMatchStatus. + */ + kind?: string; + /** + * An estimate for the amount of time (in seconds) that auto-matching is + * expected to take to complete. + */ + waitEstimateSeconds?: number; + } + /** + * This is a JSON template for the client address when setting up a room. + */ + interface Schema$RoomClientAddress { + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#roomClientAddress. + */ + kind?: string; + /** + * The XMPP address of the client on the Google Games XMPP network. + */ + xmppAddress?: string; + } + /** + * This is a JSON template for a room creation request. + */ + interface Schema$RoomCreateRequest { + /** + * Criteria for auto-matching players into this room. + */ + autoMatchingCriteria?: Schema$RoomAutoMatchingCriteria; + /** + * The capabilities that this client supports for realtime communication. + */ + capabilities?: string[]; + /** + * Client address for the player creating the room. + */ + clientAddress?: Schema$RoomClientAddress; + /** + * The player IDs to invite to the room. + */ + invitedPlayerIds?: string[]; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#roomCreateRequest. + */ + kind?: string; + /** + * Network diagnostics for the client creating the room. + */ + networkDiagnostics?: Schema$NetworkDiagnostics; + /** + * A randomly generated numeric ID. This number is used at the server to + * ensure that the request is handled correctly across retries. + */ + requestId?: string; + /** + * The variant / mode of the application to be played. This can be any + * integer value, or left blank. You should use a small number of variants + * to keep the auto-matching pool as large as possible. + */ + variant?: number; + } + /** + * This is a JSON template for a join room request. + */ + interface Schema$RoomJoinRequest { + /** + * The capabilities that this client supports for realtime communication. + */ + capabilities?: string[]; + /** + * Client address for the player joining the room. + */ + clientAddress?: Schema$RoomClientAddress; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#roomJoinRequest. + */ + kind?: string; + /** + * Network diagnostics for the client joining the room. + */ + networkDiagnostics?: Schema$NetworkDiagnostics; + } + /** + * This is a JSON template for room leave diagnostics. + */ + interface Schema$RoomLeaveDiagnostics { + /** + * Android network subtype. + * http://developer.android.com/reference/android/net/NetworkInfo.html#getSubtype() + */ + androidNetworkSubtype?: number; + /** + * Android network type. + * http://developer.android.com/reference/android/net/NetworkInfo.html#getType() + */ + androidNetworkType?: number; + /** + * iOS network type as defined in Reachability.h. + */ + iosNetworkType?: number; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#roomLeaveDiagnostics. + */ + kind?: string; + /** + * The MCC+MNC code for the client's network connection. On Android: + * http://developer.android.com/reference/android/telephony/TelephonyManager.html#getNetworkOperator() + * On iOS, see: + * https://developer.apple.com/library/ios/documentation/NetworkingInternet/Reference/CTCarrier/Reference/Reference.html + */ + networkOperatorCode?: string; + /** + * The name of the carrier of the client's network connection. On + * Android: + * http://developer.android.com/reference/android/telephony/TelephonyManager.html#getNetworkOperatorName() + * On iOS: + * https://developer.apple.com/library/ios/documentation/NetworkingInternet/Reference/CTCarrier/Reference/Reference.html#//apple_ref/occ/instp/CTCarrier/carrierName + */ + networkOperatorName?: string; + /** + * Diagnostics about all peer sessions. + */ + peerSession?: Schema$PeerSessionDiagnostics[]; + /** + * Whether or not sockets were used. + */ + socketsUsed?: boolean; + } + /** + * This is a JSON template for a leave room request. + */ + interface Schema$RoomLeaveRequest { + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#roomLeaveRequest. + */ + kind?: string; + /** + * Diagnostics for a player leaving the room. + */ + leaveDiagnostics?: Schema$RoomLeaveDiagnostics; + /** + * Reason for leaving the match. Possible values are: - + * "PLAYER_LEFT" - The player chose to leave the room.. - + * "GAME_LEFT" - The game chose to remove the player from the + * room. - "REALTIME_ABANDONED" - The player switched to another + * application and abandoned the room. - + * "REALTIME_PEER_CONNECTION_FAILURE" - The client was unable to + * establish a connection to other peer(s). - + * "REALTIME_SERVER_CONNECTION_FAILURE" - The client was unable to + * communicate with the server. - "REALTIME_SERVER_ERROR" - The + * client received an error response when it tried to communicate with the + * server. - "REALTIME_TIMEOUT" - The client timed out while + * waiting for a room. - "REALTIME_CLIENT_DISCONNECTING" - The + * client disconnects without first calling Leave. - + * "REALTIME_SIGN_OUT" - The user signed out of G+ while in the + * room. - "REALTIME_GAME_CRASHED" - The game crashed. - + * "REALTIME_ROOM_SERVICE_CRASHED" - RoomAndroidService crashed. + * - "REALTIME_DIFFERENT_CLIENT_ROOM_OPERATION" - Another client + * is trying to enter a room. - + * "REALTIME_SAME_CLIENT_ROOM_OPERATION" - The same client is + * trying to enter a new room. + */ + reason?: string; + } + /** + * This is a JSON template for a list of rooms. + */ + interface Schema$RoomList { + /** + * The rooms. + */ + items?: Schema$Room[]; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#roomList. + */ + kind?: string; + /** + * The pagination token for the next page of results. + */ + nextPageToken?: string; + } + /** + * This is a JSON template for room modification metadata. + */ + interface Schema$RoomModification { + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#roomModification. + */ + kind?: string; + /** + * The timestamp at which they modified the room, in milliseconds since the + * epoch in UTC. + */ + modifiedTimestampMillis?: string; + /** + * The ID of the participant that modified the room. + */ + participantId?: string; + } + /** + * This is a JSON template for an update on the status of a peer in a room. + */ + interface Schema$RoomP2PStatus { + /** + * The amount of time in milliseconds it took to establish connections with + * this peer. + */ + connectionSetupLatencyMillis?: number; + /** + * The error code in event of a failure. Possible values are: - + * "P2P_FAILED" - The client failed to establish a P2P connection + * with the peer. - "PRESENCE_FAILED" - The client failed to + * register to receive P2P connections. - "RELAY_SERVER_FAILED" - + * The client received an error when trying to use the relay server to + * establish a P2P connection with the peer. + */ + error?: string; + /** + * More detailed diagnostic message returned in event of a failure. + */ + error_reason?: string; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#roomP2PStatus. + */ + kind?: string; + /** + * The ID of the participant. + */ + participantId?: string; + /** + * The status of the peer in the room. Possible values are: - + * "CONNECTION_ESTABLISHED" - The client established a P2P + * connection with the peer. - "CONNECTION_FAILED" - The client + * failed to establish directed presence with the peer. + */ + status?: string; + /** + * The amount of time in milliseconds it took to send packets back and forth + * on the unreliable channel with this peer. + */ + unreliableRoundtripLatencyMillis?: number; + } + /** + * This is a JSON template for an update on the status of peers in a room. + */ + interface Schema$RoomP2PStatuses { + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#roomP2PStatuses. + */ + kind?: string; + /** + * The updates for the peers. + */ + updates?: Schema$RoomP2PStatus[]; + } + /** + * This is a JSON template for a participant in a room. + */ + interface Schema$RoomParticipant { + /** + * True if this participant was auto-matched with the requesting player. + */ + autoMatched?: boolean; + /** + * Information about a player that has been anonymously auto-matched against + * the requesting player. (Either player or autoMatchedPlayer will be set.) + */ + autoMatchedPlayer?: Schema$AnonymousPlayer; + /** + * The capabilities which can be used when communicating with this + * participant. + */ + capabilities?: string[]; + /** + * Client address for the participant. + */ + clientAddress?: Schema$RoomClientAddress; + /** + * True if this participant is in the fully connected set of peers in the + * room. + */ + connected?: boolean; + /** + * An identifier for the participant in the scope of the room. Cannot be + * used to identify a player across rooms or in other contexts. + */ + id?: string; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#roomParticipant. + */ + kind?: string; + /** + * The reason the participant left the room; populated if the participant + * status is PARTICIPANT_LEFT. Possible values are: - + * "PLAYER_LEFT" - The player explicitly chose to leave the room. + * - "GAME_LEFT" - The game chose to remove the player from the + * room. - "ABANDONED" - The player switched to another + * application and abandoned the room. - "PEER_CONNECTION_FAILURE" + * - The client was unable to establish or maintain a connection to other + * peer(s) in the room. - "SERVER_ERROR" - The client received an + * error response when it tried to communicate with the server. - + * "TIMEOUT" - The client timed out while waiting for players to + * join and connect. - "PRESENCE_FAILURE" - The client's XMPP + * connection ended abruptly. + */ + leaveReason?: string; + /** + * Information about the player. Not populated if this player was + * anonymously auto-matched against the requesting player. (Either player or + * autoMatchedPlayer will be set.) + */ + player?: Schema$Player; + /** + * The status of the participant with respect to the room. Possible values + * are: - "PARTICIPANT_INVITED" - The participant has been + * invited to join the room, but has not yet responded. - + * "PARTICIPANT_JOINED" - The participant has joined the room + * (either after creating it or accepting an invitation.) - + * "PARTICIPANT_DECLINED" - The participant declined an invitation + * to join the room. - "PARTICIPANT_LEFT" - The participant + * joined the room and then left it. + */ + status?: string; + } + /** + * This is a JSON template for the status of a room that the player has + * joined. + */ + interface Schema$RoomStatus { + /** + * Auto-matching status for this room. Not set if the room is not currently + * in the automatching queue. + */ + autoMatchingStatus?: Schema$RoomAutoMatchStatus; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#roomStatus. + */ + kind?: string; + /** + * The participants involved in the room, along with their statuses. + * Includes participants who have left or declined invitations. + */ + participants?: Schema$RoomParticipant[]; + /** + * Globally unique ID for a room. + */ + roomId?: string; + /** + * The status of the room. Possible values are: - + * "ROOM_INVITING" - One or more players have been invited and not + * responded. - "ROOM_AUTO_MATCHING" - One or more slots need to + * be filled by auto-matching. - "ROOM_CONNECTING" - Players have + * joined are connecting to each other (either before or after + * auto-matching). - "ROOM_ACTIVE" - All players have joined and + * connected to each other. - "ROOM_DELETED" - All joined players + * have left. + */ + status?: string; + /** + * The version of the status for the room: an increasing counter, used by + * the client to ignore out-of-order updates to room status. + */ + statusVersion?: number; + } + /** + * This is a JSON template for a request to submit a score to leaderboards. + */ + interface Schema$ScoreSubmission { + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#scoreSubmission. + */ + kind?: string; + /** + * The leaderboard this score is being submitted to. + */ + leaderboardId?: string; + /** + * The new score being submitted. + */ + score?: string; + /** + * Additional information about this score. Values will contain no more than + * 64 URI-safe characters as defined by section 2.3 of RFC 3986. + */ + scoreTag?: string; + /** + * Signature Values will contain URI-safe characters as defined by + * section 2.3 of RFC 3986. + */ + signature?: string; + } + /** + * This is a JSON template for an snapshot object. + */ + interface Schema$Snapshot { + /** + * The cover image of this snapshot. May be absent if there is no image. + */ + coverImage?: Schema$SnapshotImage; + /** + * The description of this snapshot. + */ + description?: string; + /** + * The ID of the file underlying this snapshot in the Drive API. Only + * present if the snapshot is a view on a Drive file and the file is owned + * by the caller. + */ + driveId?: string; + /** + * The duration associated with this snapshot, in millis. + */ + durationMillis?: string; + /** + * The ID of the snapshot. + */ + id?: string; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#snapshot. + */ + kind?: string; + /** + * The timestamp (in millis since Unix epoch) of the last modification to + * this snapshot. + */ + lastModifiedMillis?: string; + /** + * The progress value (64-bit integer set by developer) associated with this + * snapshot. + */ + progressValue?: string; + /** + * The title of this snapshot. + */ + title?: string; + /** + * The type of this snapshot. Possible values are: - "SAVE_GAME" + * - A snapshot representing a save game. + */ + type?: string; + /** + * The unique name provided when the snapshot was created. + */ + uniqueName?: string; + } + /** + * This is a JSON template for an image of a snapshot. + */ + interface Schema$SnapshotImage { + /** + * The height of the image. + */ + height?: number; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#snapshotImage. + */ + kind?: string; + /** + * The MIME type of the image. + */ + mime_type?: string; + /** + * The URL of the image. This URL may be invalidated at any time and should + * not be cached. + */ + url?: string; + /** + * The width of the image. + */ + width?: number; + } + /** + * This is a JSON template for a list of snapshot objects. + */ + interface Schema$SnapshotListResponse { + /** + * The snapshots. + */ + items?: Schema$Snapshot[]; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#snapshotListResponse. + */ + kind?: string; + /** + * Token corresponding to the next page of results. If there are no more + * results, the token is omitted. + */ + nextPageToken?: string; + } + /** + * This is a JSON template for an turn-based auto-match criteria object. + */ + interface Schema$TurnBasedAutoMatchingCriteria { + /** + * A bitmask indicating when auto-matches are valid. When ANDed with other + * exclusive bitmasks, the result must be zero. Can be used to support + * exclusive roles within a game. + */ + exclusiveBitmask?: string; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#turnBasedAutoMatchingCriteria. + */ + kind?: string; + /** + * The maximum number of players that should be added to the match by + * auto-matching. + */ + maxAutoMatchingPlayers?: number; + /** + * The minimum number of players that should be added to the match by + * auto-matching. + */ + minAutoMatchingPlayers?: number; + } + /** + * This is a JSON template for a turn-based match resource object. + */ + interface Schema$TurnBasedMatch { + /** + * The ID of the application being played. + */ + applicationId?: string; + /** + * Criteria for auto-matching players into this match. + */ + autoMatchingCriteria?: Schema$TurnBasedAutoMatchingCriteria; + /** + * Details about the match creation. + */ + creationDetails?: Schema$TurnBasedMatchModification; + /** + * The data / game state for this match. + */ + data?: Schema$TurnBasedMatchData; + /** + * This short description is generated by our servers based on turn state + * and is localized and worded relative to the player requesting the match. + * It is intended to be displayed when the match is shown in a list. + */ + description?: string; + /** + * The ID of the participant that invited the user to the match. Not set if + * the user was not invited to the match. + */ + inviterId?: string; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#turnBasedMatch. + */ + kind?: string; + /** + * Details about the last update to the match. + */ + lastUpdateDetails?: Schema$TurnBasedMatchModification; + /** + * Globally unique ID for a turn-based match. + */ + matchId?: string; + /** + * The number of the match in a chain of rematches. Will be set to 1 for the + * first match and incremented by 1 for each rematch. + */ + matchNumber?: number; + /** + * The version of this match: an increasing counter, used to avoid + * out-of-date updates to the match. + */ + matchVersion?: number; + /** + * The participants involved in the match, along with their statuses. + * Includes participants who have left or declined invitations. + */ + participants?: Schema$TurnBasedMatchParticipant[]; + /** + * The ID of the participant that is taking a turn. + */ + pendingParticipantId?: string; + /** + * The data / game state for the previous match; set for the first turn of + * rematches only. + */ + previousMatchData?: Schema$TurnBasedMatchData; + /** + * The ID of a rematch of this match. Only set for completed matches that + * have been rematched. + */ + rematchId?: string; + /** + * The results reported for this match. + */ + results?: Schema$ParticipantResult[]; + /** + * The status of the match. Possible values are: - + * "MATCH_AUTO_MATCHING" - One or more slots need to be filled by + * auto-matching; the match cannot be established until they are filled. - + * "MATCH_ACTIVE" - The match has started. - + * "MATCH_COMPLETE" - The match has finished. - + * "MATCH_CANCELED" - The match was canceled. - + * "MATCH_EXPIRED" - The match expired due to inactivity. - + * "MATCH_DELETED" - The match should no longer be shown on the + * client. Returned only for tombstones for matches when sync is called. + */ + status?: string; + /** + * The status of the current user in the match. Derived from the match type, + * match status, the user's participant status, and the pending + * participant for the match. Possible values are: - + * "USER_INVITED" - The user has been invited to join the match + * and has not responded yet. - "USER_AWAITING_TURN" - The user + * is waiting for their turn. - "USER_TURN" - The user has an + * action to take in the match. - "USER_MATCH_COMPLETED" - The + * match has ended (it is completed, canceled, or expired.) + */ + userMatchStatus?: string; + /** + * The variant / mode of the application being played; can be any integer + * value, or left blank. + */ + variant?: number; + /** + * The ID of another participant in the match that can be used when + * describing the participants the user is playing with. + */ + withParticipantId?: string; + } + /** + * This is a JSON template for a turn-based match creation request. + */ + interface Schema$TurnBasedMatchCreateRequest { + /** + * Criteria for auto-matching players into this match. + */ + autoMatchingCriteria?: Schema$TurnBasedAutoMatchingCriteria; + /** + * The player ids to invite to the match. + */ + invitedPlayerIds?: string[]; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#turnBasedMatchCreateRequest. + */ + kind?: string; + /** + * A randomly generated numeric ID. This number is used at the server to + * ensure that the request is handled correctly across retries. + */ + requestId?: string; + /** + * The variant / mode of the application to be played. This can be any + * integer value, or left blank. You should use a small number of variants + * to keep the auto-matching pool as large as possible. + */ + variant?: number; + } + /** + * This is a JSON template for a turn-based match data object. + */ + interface Schema$TurnBasedMatchData { + /** + * The byte representation of the data (limited to 128 kB), as a + * Base64-encoded string with the URL_SAFE encoding option. + */ + data?: string; + /** + * True if this match has data available but it wasn't returned in a + * list response; fetching the match individually will retrieve this data. + */ + dataAvailable?: boolean; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#turnBasedMatchData. + */ + kind?: string; + } + /** + * This is a JSON template for sending a turn-based match data object. + */ + interface Schema$TurnBasedMatchDataRequest { + /** + * The byte representation of the data (limited to 128 kB), as a + * Base64-encoded string with the URL_SAFE encoding option. + */ + data?: string; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#turnBasedMatchDataRequest. + */ + kind?: string; + } + /** + * This is a JSON template for a list of turn-based matches. + */ + interface Schema$TurnBasedMatchList { + /** + * The matches. + */ + items?: Schema$TurnBasedMatch[]; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#turnBasedMatchList. + */ + kind?: string; + /** + * The pagination token for the next page of results. + */ + nextPageToken?: string; + } + /** + * This is a JSON template for turn-based match modification metadata. + */ + interface Schema$TurnBasedMatchModification { + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#turnBasedMatchModification. + */ + kind?: string; + /** + * The timestamp at which they modified the match, in milliseconds since the + * epoch in UTC. + */ + modifiedTimestampMillis?: string; + /** + * The ID of the participant that modified the match. + */ + participantId?: string; + } + /** + * This is a JSON template for a participant in a turn-based match. + */ + interface Schema$TurnBasedMatchParticipant { + /** + * True if this participant was auto-matched with the requesting player. + */ + autoMatched?: boolean; + /** + * Information about a player that has been anonymously auto-matched against + * the requesting player. (Either player or autoMatchedPlayer will be set.) + */ + autoMatchedPlayer?: Schema$AnonymousPlayer; + /** + * An identifier for the participant in the scope of the match. Cannot be + * used to identify a player across matches or in other contexts. + */ + id?: string; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#turnBasedMatchParticipant. + */ + kind?: string; + /** + * Information about the player. Not populated if this player was + * anonymously auto-matched against the requesting player. (Either player or + * autoMatchedPlayer will be set.) + */ + player?: Schema$Player; + /** + * The status of the participant with respect to the match. Possible values + * are: - "PARTICIPANT_NOT_INVITED_YET" - The participant is + * slated to be invited to the match, but the invitation has not been sent; + * the invite will be sent when it becomes their turn. - + * "PARTICIPANT_INVITED" - The participant has been invited to + * join the match, but has not yet responded. - + * "PARTICIPANT_JOINED" - The participant has joined the match + * (either after creating it or accepting an invitation.) - + * "PARTICIPANT_DECLINED" - The participant declined an invitation + * to join the match. - "PARTICIPANT_LEFT" - The participant + * joined the match and then left it. - "PARTICIPANT_FINISHED" - + * The participant finished playing in the match. - + * "PARTICIPANT_UNRESPONSIVE" - The participant did not take their + * turn in the allotted time. + */ + status?: string; + } + /** + * This is a JSON template for a rematch response. + */ + interface Schema$TurnBasedMatchRematch { + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#turnBasedMatchRematch. + */ + kind?: string; + /** + * The old match that the rematch was created from; will be updated such + * that the rematchId field will point at the new match. + */ + previousMatch?: Schema$TurnBasedMatch; + /** + * The newly created match; a rematch of the old match with the same + * participants. + */ + rematch?: Schema$TurnBasedMatch; + } + /** + * This is a JSON template for a turn-based match results object. + */ + interface Schema$TurnBasedMatchResults { + /** + * The final match data. + */ + data?: Schema$TurnBasedMatchDataRequest; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#turnBasedMatchResults. + */ + kind?: string; + /** + * The version of the match being updated. + */ + matchVersion?: number; + /** + * The match results for the participants in the match. + */ + results?: Schema$ParticipantResult[]; + } + /** + * This is a JSON template for a list of turn-based matches returned from a + * sync. + */ + interface Schema$TurnBasedMatchSync { + /** + * The matches. + */ + items?: Schema$TurnBasedMatch[]; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#turnBasedMatchSync. + */ + kind?: string; + /** + * True if there were more matches available to fetch at the time the + * response was generated (which were not returned due to page size limits.) + */ + moreAvailable?: boolean; + /** + * The pagination token for the next page of results. + */ + nextPageToken?: string; + } + /** + * This is a JSON template for the object representing a turn. + */ + interface Schema$TurnBasedMatchTurn { + /** + * The shared game state data after the turn is over. + */ + data?: Schema$TurnBasedMatchDataRequest; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#turnBasedMatchTurn. + */ + kind?: string; + /** + * The version of this match: an increasing counter, used to avoid + * out-of-date updates to the match. + */ + matchVersion?: number; + /** + * The ID of the participant who should take their turn next. May be set to + * the current player's participant ID to update match state without + * changing the turn. If not set, the match will wait for other player(s) to + * join via automatching; this is only valid if automatch criteria is set on + * the match with remaining slots for automatched players. + */ + pendingParticipantId?: string; + /** + * The match results for the participants in the match. + */ + results?: Schema$ParticipantResult[]; + } + class Resource$Achievementdefinitions { + root: Games; + constructor(root: Games); + getRoot(): Games; + /** + * games.achievementDefinitions.list + * @desc Lists all the achievement definitions for your application. + * @alias games.achievementDefinitions.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {string=} params.language The preferred language to use for strings returned by this method. + * @param {integer=} params.maxResults The maximum number of achievement resources to return in the response, used for paging. For any response, the actual number of achievement resources returned may be less than the specified maxResults. + * @param {string=} params.pageToken The token returned by the previous request. + * @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?: Params$Resource$Achievementdefinitions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Achievementdefinitions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Achievementdefinitions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Achievementdefinitions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The preferred language to use for strings returned by this method. + */ + language?: string; + /** + * The maximum number of achievement resources to return in the response, + * used for paging. For any response, the actual number of achievement + * resources returned may be less than the specified maxResults. + */ + maxResults?: number; + /** + * The token returned by the previous request. + */ + pageToken?: string; + } + class Resource$Achievements { + root: Games; + constructor(root: Games); + getRoot(): Games; + /** + * games.achievements.increment + * @desc Increments the steps of the achievement with the given ID for the + * currently authenticated player. + * @alias games.achievements.increment + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.achievementId The ID of the achievement used by this method. + * @param {string=} params.requestId A randomly generated numeric ID for each request specified by the caller. This number is used at the server to ensure that the request is handled correctly across retries. + * @param {integer} params.stepsToIncrement The number of steps to increment. + * @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 + */ + increment(params?: Params$Resource$Achievements$Increment, options?: MethodOptions): AxiosPromise; + increment(params: Params$Resource$Achievements$Increment, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + increment(params: Params$Resource$Achievements$Increment, callback: BodyResponseCallback): void; + increment(callback: BodyResponseCallback): void; + /** + * games.achievements.list + * @desc Lists the progress for all your application's achievements for the + * currently authenticated player. + * @alias games.achievements.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.language The preferred language to use for strings returned by this method. + * @param {integer=} params.maxResults The maximum number of achievement resources to return in the response, used for paging. For any response, the actual number of achievement resources returned may be less than the specified maxResults. + * @param {string=} params.pageToken The token returned by the previous request. + * @param {string} params.playerId A player ID. A value of me may be used in place of the authenticated player's ID. + * @param {string=} params.state Tells the server to return only achievements with the specified state. If this parameter isn't specified, all achievements are returned. + * @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?: Params$Resource$Achievements$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Achievements$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Achievements$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * games.achievements.reveal + * @desc Sets the state of the achievement with the given ID to REVEALED for + * the currently authenticated player. + * @alias games.achievements.reveal + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.achievementId The ID of the achievement used by this method. + * @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 + */ + reveal(params?: Params$Resource$Achievements$Reveal, options?: MethodOptions): AxiosPromise; + reveal(params: Params$Resource$Achievements$Reveal, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + reveal(params: Params$Resource$Achievements$Reveal, callback: BodyResponseCallback): void; + reveal(callback: BodyResponseCallback): void; + /** + * games.achievements.setStepsAtLeast + * @desc Sets the steps for the currently authenticated player towards + * unlocking an achievement. If the steps parameter is less than the current + * number of steps that the player already gained for the achievement, the + * achievement is not modified. + * @alias games.achievements.setStepsAtLeast + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.achievementId The ID of the achievement used by this method. + * @param {integer} params.steps The minimum value to set the steps to. + * @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 + */ + setStepsAtLeast(params?: Params$Resource$Achievements$Setstepsatleast, options?: MethodOptions): AxiosPromise; + setStepsAtLeast(params: Params$Resource$Achievements$Setstepsatleast, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setStepsAtLeast(params: Params$Resource$Achievements$Setstepsatleast, callback: BodyResponseCallback): void; + setStepsAtLeast(callback: BodyResponseCallback): void; + /** + * games.achievements.unlock + * @desc Unlocks this achievement for the currently authenticated player. + * @alias games.achievements.unlock + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.achievementId The ID of the achievement used by this method. + * @param {string=} params.builtinGameId Override used only by built-in games in Play Games application. + * @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 + */ + unlock(params?: Params$Resource$Achievements$Unlock, options?: MethodOptions): AxiosPromise; + unlock(params: Params$Resource$Achievements$Unlock, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + unlock(params: Params$Resource$Achievements$Unlock, callback: BodyResponseCallback): void; + unlock(callback: BodyResponseCallback): void; + /** + * games.achievements.updateMultiple + * @desc Updates multiple achievements for the currently authenticated + * player. + * @alias games.achievements.updateMultiple + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.builtinGameId Override used only by built-in games in Play Games application. + * @param {().AchievementUpdateMultipleRequest} 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 + */ + updateMultiple(params?: Params$Resource$Achievements$Updatemultiple, options?: MethodOptions): AxiosPromise; + updateMultiple(params: Params$Resource$Achievements$Updatemultiple, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + updateMultiple(params: Params$Resource$Achievements$Updatemultiple, callback: BodyResponseCallback): void; + updateMultiple(callback: BodyResponseCallback): void; + } + interface Params$Resource$Achievements$Increment { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the achievement used by this method. + */ + achievementId?: string; + /** + * A randomly generated numeric ID for each request specified by the caller. + * This number is used at the server to ensure that the request is handled + * correctly across retries. + */ + requestId?: string; + /** + * The number of steps to increment. + */ + stepsToIncrement?: number; + } + interface Params$Resource$Achievements$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The preferred language to use for strings returned by this method. + */ + language?: string; + /** + * The maximum number of achievement resources to return in the response, + * used for paging. For any response, the actual number of achievement + * resources returned may be less than the specified maxResults. + */ + maxResults?: number; + /** + * The token returned by the previous request. + */ + pageToken?: string; + /** + * A player ID. A value of me may be used in place of the authenticated + * player's ID. + */ + playerId?: string; + /** + * Tells the server to return only achievements with the specified state. If + * this parameter isn't specified, all achievements are returned. + */ + state?: string; + } + interface Params$Resource$Achievements$Reveal { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the achievement used by this method. + */ + achievementId?: string; + } + interface Params$Resource$Achievements$Setstepsatleast { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the achievement used by this method. + */ + achievementId?: string; + /** + * The minimum value to set the steps to. + */ + steps?: number; + } + interface Params$Resource$Achievements$Unlock { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the achievement used by this method. + */ + achievementId?: string; + /** + * Override used only by built-in games in Play Games application. + */ + builtinGameId?: string; + } + interface Params$Resource$Achievements$Updatemultiple { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Override used only by built-in games in Play Games application. + */ + builtinGameId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AchievementUpdateMultipleRequest; + } + class Resource$Applications { + root: Games; + constructor(root: Games); + getRoot(): Games; + /** + * games.applications.get + * @desc Retrieves the metadata of the application with the given ID. If the + * requested application is not available for the specified platformType, + * the returned response will not include any instance data. + * @alias games.applications.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.applicationId The application ID from the Google Play developer console. + * @param {string=} params.language The preferred language to use for strings returned by this method. + * @param {string=} params.platformType Restrict application details returned to the specific platform. + * @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?: Params$Resource$Applications$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Applications$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Applications$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * games.applications.played + * @desc Indicate that the the currently authenticated user is playing your + * application. + * @alias games.applications.played + * @memberOf! () + * + * @param {object=} params Parameters for request + * @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 + */ + played(params?: Params$Resource$Applications$Played, options?: MethodOptions): AxiosPromise; + played(params: Params$Resource$Applications$Played, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + played(params: Params$Resource$Applications$Played, callback: BodyResponseCallback): void; + played(callback: BodyResponseCallback): void; + /** + * games.applications.verify + * @desc Verifies the auth token provided with this request is for the + * application with the specified ID, and returns the ID of the player it + * was granted for. + * @alias games.applications.verify + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.applicationId The application ID from the Google Play developer console. + * @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 + */ + verify(params?: Params$Resource$Applications$Verify, options?: MethodOptions): AxiosPromise; + verify(params: Params$Resource$Applications$Verify, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + verify(params: Params$Resource$Applications$Verify, callback: BodyResponseCallback): void; + verify(callback: BodyResponseCallback): void; + } + interface Params$Resource$Applications$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The application ID from the Google Play developer console. + */ + applicationId?: string; + /** + * The preferred language to use for strings returned by this method. + */ + language?: string; + /** + * Restrict application details returned to the specific platform. + */ + platformType?: string; + } + interface Params$Resource$Applications$Played { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } + interface Params$Resource$Applications$Verify { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The application ID from the Google Play developer console. + */ + applicationId?: string; + } + class Resource$Events { + root: Games; + constructor(root: Games); + getRoot(): Games; + /** + * games.events.listByPlayer + * @desc Returns a list showing the current progress on events in this + * application for the currently authenticated user. + * @alias games.events.listByPlayer + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {string=} params.language The preferred language to use for strings returned by this method. + * @param {integer=} params.maxResults The maximum number of events to return in the response, used for paging. For any response, the actual number of events to return may be less than the specified maxResults. + * @param {string=} params.pageToken The token returned by the previous request. + * @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 + */ + listByPlayer(params?: Params$Resource$Events$Listbyplayer, options?: MethodOptions): AxiosPromise; + listByPlayer(params: Params$Resource$Events$Listbyplayer, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listByPlayer(params: Params$Resource$Events$Listbyplayer, callback: BodyResponseCallback): void; + listByPlayer(callback: BodyResponseCallback): void; + /** + * games.events.listDefinitions + * @desc Returns a list of the event definitions in this application. + * @alias games.events.listDefinitions + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {string=} params.language The preferred language to use for strings returned by this method. + * @param {integer=} params.maxResults The maximum number of event definitions to return in the response, used for paging. For any response, the actual number of event definitions to return may be less than the specified maxResults. + * @param {string=} params.pageToken The token returned by the previous request. + * @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 + */ + listDefinitions(params?: Params$Resource$Events$Listdefinitions, options?: MethodOptions): AxiosPromise; + listDefinitions(params: Params$Resource$Events$Listdefinitions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listDefinitions(params: Params$Resource$Events$Listdefinitions, callback: BodyResponseCallback): void; + listDefinitions(callback: BodyResponseCallback): void; + /** + * games.events.record + * @desc Records a batch of changes to the number of times events have + * occurred for the currently authenticated user of this application. + * @alias games.events.record + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.language The preferred language to use for strings returned by this method. + * @param {().EventRecordRequest} 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 + */ + record(params?: Params$Resource$Events$Record, options?: MethodOptions): AxiosPromise; + record(params: Params$Resource$Events$Record, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + record(params: Params$Resource$Events$Record, callback: BodyResponseCallback): void; + record(callback: BodyResponseCallback): void; + } + interface Params$Resource$Events$Listbyplayer { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The preferred language to use for strings returned by this method. + */ + language?: string; + /** + * The maximum number of events to return in the response, used for paging. + * For any response, the actual number of events to return may be less than + * the specified maxResults. + */ + maxResults?: number; + /** + * The token returned by the previous request. + */ + pageToken?: string; + } + interface Params$Resource$Events$Listdefinitions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The preferred language to use for strings returned by this method. + */ + language?: string; + /** + * The maximum number of event definitions to return in the response, used + * for paging. For any response, the actual number of event definitions to + * return may be less than the specified maxResults. + */ + maxResults?: number; + /** + * The token returned by the previous request. + */ + pageToken?: string; + } + interface Params$Resource$Events$Record { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The preferred language to use for strings returned by this method. + */ + language?: string; + /** + * Request body metadata + */ + requestBody?: Schema$EventRecordRequest; + } + class Resource$Leaderboards { + root: Games; + constructor(root: Games); + getRoot(): Games; + /** + * games.leaderboards.get + * @desc Retrieves the metadata of the leaderboard with the given ID. + * @alias games.leaderboards.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.language The preferred language to use for strings returned by this method. + * @param {string} params.leaderboardId The ID of the leaderboard. + * @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?: Params$Resource$Leaderboards$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Leaderboards$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Leaderboards$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * games.leaderboards.list + * @desc Lists all the leaderboard metadata for your application. + * @alias games.leaderboards.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {string=} params.language The preferred language to use for strings returned by this method. + * @param {integer=} params.maxResults The maximum number of leaderboards to return in the response. For any response, the actual number of leaderboards returned may be less than the specified maxResults. + * @param {string=} params.pageToken The token returned by the previous request. + * @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?: Params$Resource$Leaderboards$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Leaderboards$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Leaderboards$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Leaderboards$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The preferred language to use for strings returned by this method. + */ + language?: string; + /** + * The ID of the leaderboard. + */ + leaderboardId?: string; + } + interface Params$Resource$Leaderboards$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The preferred language to use for strings returned by this method. + */ + language?: string; + /** + * The maximum number of leaderboards to return in the response. For any + * response, the actual number of leaderboards returned may be less than the + * specified maxResults. + */ + maxResults?: number; + /** + * The token returned by the previous request. + */ + pageToken?: string; + } + class Resource$Metagame { + root: Games; + constructor(root: Games); + getRoot(): Games; + /** + * games.metagame.getMetagameConfig + * @desc Return the metagame configuration data for the calling application. + * @alias games.metagame.getMetagameConfig + * @memberOf! () + * + * @param {object=} params Parameters for request + * @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 + */ + getMetagameConfig(params?: Params$Resource$Metagame$Getmetagameconfig, options?: MethodOptions): AxiosPromise; + getMetagameConfig(params: Params$Resource$Metagame$Getmetagameconfig, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getMetagameConfig(params: Params$Resource$Metagame$Getmetagameconfig, callback: BodyResponseCallback): void; + getMetagameConfig(callback: BodyResponseCallback): void; + /** + * games.metagame.listCategoriesByPlayer + * @desc List play data aggregated per category for the player corresponding + * to playerId. + * @alias games.metagame.listCategoriesByPlayer + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.collection The collection of categories for which data will be returned. + * @param {string=} params.language The preferred language to use for strings returned by this method. + * @param {integer=} params.maxResults The maximum number of category resources to return in the response, used for paging. For any response, the actual number of category resources returned may be less than the specified maxResults. + * @param {string=} params.pageToken The token returned by the previous request. + * @param {string} params.playerId A player ID. A value of me may be used in place of the authenticated player's ID. + * @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 + */ + listCategoriesByPlayer(params?: Params$Resource$Metagame$Listcategoriesbyplayer, options?: MethodOptions): AxiosPromise; + listCategoriesByPlayer(params: Params$Resource$Metagame$Listcategoriesbyplayer, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listCategoriesByPlayer(params: Params$Resource$Metagame$Listcategoriesbyplayer, callback: BodyResponseCallback): void; + listCategoriesByPlayer(callback: BodyResponseCallback): void; + } + interface Params$Resource$Metagame$Getmetagameconfig { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } + interface Params$Resource$Metagame$Listcategoriesbyplayer { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The collection of categories for which data will be returned. + */ + collection?: string; + /** + * The preferred language to use for strings returned by this method. + */ + language?: string; + /** + * The maximum number of category resources to return in the response, used + * for paging. For any response, the actual number of category resources + * returned may be less than the specified maxResults. + */ + maxResults?: number; + /** + * The token returned by the previous request. + */ + pageToken?: string; + /** + * A player ID. A value of me may be used in place of the authenticated + * player's ID. + */ + playerId?: string; + } + class Resource$Players { + root: Games; + constructor(root: Games); + getRoot(): Games; + /** + * games.players.get + * @desc Retrieves the Player resource with the given ID. To retrieve the + * player for the currently authenticated user, set playerId to me. + * @alias games.players.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.language The preferred language to use for strings returned by this method. + * @param {string} params.playerId A player ID. A value of me may be used in place of the authenticated player's ID. + * @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?: Params$Resource$Players$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Players$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Players$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * games.players.list + * @desc Get the collection of players for the currently authenticated user. + * @alias games.players.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.collection Collection of players being retrieved + * @param {string=} params.language The preferred language to use for strings returned by this method. + * @param {integer=} params.maxResults The maximum number of player resources to return in the response, used for paging. For any response, the actual number of player resources returned may be less than the specified maxResults. + * @param {string=} params.pageToken The token returned by the previous request. + * @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?: Params$Resource$Players$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Players$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Players$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Players$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The preferred language to use for strings returned by this method. + */ + language?: string; + /** + * A player ID. A value of me may be used in place of the authenticated + * player's ID. + */ + playerId?: string; + } + interface Params$Resource$Players$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Collection of players being retrieved + */ + collection?: string; + /** + * The preferred language to use for strings returned by this method. + */ + language?: string; + /** + * The maximum number of player resources to return in the response, used + * for paging. For any response, the actual number of player resources + * returned may be less than the specified maxResults. + */ + maxResults?: number; + /** + * The token returned by the previous request. + */ + pageToken?: string; + } + class Resource$Pushtokens { + root: Games; + constructor(root: Games); + getRoot(): Games; + /** + * games.pushtokens.remove + * @desc Removes a push token for the current user and application. Removing + * a non-existent push token will report success. + * @alias games.pushtokens.remove + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().PushTokenId} 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 + */ + remove(params?: Params$Resource$Pushtokens$Remove, options?: MethodOptions): AxiosPromise; + remove(params: Params$Resource$Pushtokens$Remove, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + remove(params: Params$Resource$Pushtokens$Remove, callback: BodyResponseCallback): void; + remove(callback: BodyResponseCallback): void; + /** + * games.pushtokens.update + * @desc Registers a push token for the current user and application. + * @alias games.pushtokens.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().PushToken} 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?: Params$Resource$Pushtokens$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Pushtokens$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Pushtokens$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Pushtokens$Remove { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$PushTokenId; + } + interface Params$Resource$Pushtokens$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$PushToken; + } + class Resource$Questmilestones { + root: Games; + constructor(root: Games); + getRoot(): Games; + /** + * games.questMilestones.claim + * @desc Report that a reward for the milestone corresponding to milestoneId + * for the quest corresponding to questId has been claimed by the currently + * authorized user. + * @alias games.questMilestones.claim + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.milestoneId The ID of the milestone. + * @param {string} params.questId The ID of the quest. + * @param {string} params.requestId A numeric ID to ensure that the request is handled correctly across retries. Your client application must generate this ID randomly. + * @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 + */ + claim(params?: Params$Resource$Questmilestones$Claim, options?: MethodOptions): AxiosPromise; + claim(params: Params$Resource$Questmilestones$Claim, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + claim(params: Params$Resource$Questmilestones$Claim, callback: BodyResponseCallback): void; + claim(callback: BodyResponseCallback): void; + } + interface Params$Resource$Questmilestones$Claim { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the milestone. + */ + milestoneId?: string; + /** + * The ID of the quest. + */ + questId?: string; + /** + * A numeric ID to ensure that the request is handled correctly across + * retries. Your client application must generate this ID randomly. + */ + requestId?: string; + } + class Resource$Quests { + root: Games; + constructor(root: Games); + getRoot(): Games; + /** + * games.quests.accept + * @desc Indicates that the currently authorized user will participate in + * the quest. + * @alias games.quests.accept + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.language The preferred language to use for strings returned by this method. + * @param {string} params.questId The ID of the quest. + * @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 + */ + accept(params?: Params$Resource$Quests$Accept, options?: MethodOptions): AxiosPromise; + accept(params: Params$Resource$Quests$Accept, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + accept(params: Params$Resource$Quests$Accept, callback: BodyResponseCallback): void; + accept(callback: BodyResponseCallback): void; + /** + * games.quests.list + * @desc Get a list of quests for your application and the currently + * authenticated player. + * @alias games.quests.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.language The preferred language to use for strings returned by this method. + * @param {integer=} params.maxResults The maximum number of quest resources to return in the response, used for paging. For any response, the actual number of quest resources returned may be less than the specified maxResults. Acceptable values are 1 to 50, inclusive. (Default: 50). + * @param {string=} params.pageToken The token returned by the previous request. + * @param {string} params.playerId A player ID. A value of me may be used in place of the authenticated player's ID. + * @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?: Params$Resource$Quests$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Quests$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Quests$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Quests$Accept { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The preferred language to use for strings returned by this method. + */ + language?: string; + /** + * The ID of the quest. + */ + questId?: string; + } + interface Params$Resource$Quests$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The preferred language to use for strings returned by this method. + */ + language?: string; + /** + * The maximum number of quest resources to return in the response, used for + * paging. For any response, the actual number of quest resources returned + * may be less than the specified maxResults. Acceptable values are 1 to 50, + * inclusive. (Default: 50). + */ + maxResults?: number; + /** + * The token returned by the previous request. + */ + pageToken?: string; + /** + * A player ID. A value of me may be used in place of the authenticated + * player's ID. + */ + playerId?: string; + } + class Resource$Revisions { + root: Games; + constructor(root: Games); + getRoot(): Games; + /** + * games.revisions.check + * @desc Checks whether the games client is out of date. + * @alias games.revisions.check + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clientRevision The revision of the client SDK used by your application. Format: [PLATFORM_TYPE]:[VERSION_NUMBER]. Possible values of PLATFORM_TYPE are: - "ANDROID" - Client is running the Android SDK. - "IOS" - Client is running the iOS SDK. - "WEB_APP" - Client is running as a Web App. + * @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 + */ + check(params?: Params$Resource$Revisions$Check, options?: MethodOptions): AxiosPromise; + check(params: Params$Resource$Revisions$Check, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + check(params: Params$Resource$Revisions$Check, callback: BodyResponseCallback): void; + check(callback: BodyResponseCallback): void; + } + interface Params$Resource$Revisions$Check { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The revision of the client SDK used by your application. Format: + * [PLATFORM_TYPE]:[VERSION_NUMBER]. Possible values of PLATFORM_TYPE are: + * - "ANDROID" - Client is running the Android SDK. - "IOS" - Client is + * running the iOS SDK. - "WEB_APP" - Client is running as a Web App. + */ + clientRevision?: string; + } + class Resource$Rooms { + root: Games; + constructor(root: Games); + getRoot(): Games; + /** + * games.rooms.create + * @desc Create a room. For internal use by the Games SDK only. Calling this + * method directly is unsupported. + * @alias games.rooms.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.language The preferred language to use for strings returned by this method. + * @param {().RoomCreateRequest} 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 + */ + create(params?: Params$Resource$Rooms$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Rooms$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Rooms$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * games.rooms.decline + * @desc Decline an invitation to join a room. For internal use by the Games + * SDK only. Calling this method directly is unsupported. + * @alias games.rooms.decline + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.language The preferred language to use for strings returned by this method. + * @param {string} params.roomId The ID of the room. + * @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 + */ + decline(params?: Params$Resource$Rooms$Decline, options?: MethodOptions): AxiosPromise; + decline(params: Params$Resource$Rooms$Decline, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + decline(params: Params$Resource$Rooms$Decline, callback: BodyResponseCallback): void; + decline(callback: BodyResponseCallback): void; + /** + * games.rooms.dismiss + * @desc Dismiss an invitation to join a room. For internal use by the Games + * SDK only. Calling this method directly is unsupported. + * @alias games.rooms.dismiss + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.roomId The ID of the room. + * @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 + */ + dismiss(params?: Params$Resource$Rooms$Dismiss, options?: MethodOptions): AxiosPromise; + dismiss(params: Params$Resource$Rooms$Dismiss, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + dismiss(params: Params$Resource$Rooms$Dismiss, callback: BodyResponseCallback): void; + dismiss(callback: BodyResponseCallback): void; + /** + * games.rooms.get + * @desc Get the data for a room. + * @alias games.rooms.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.language The preferred language to use for strings returned by this method. + * @param {string} params.roomId The ID of the room. + * @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?: Params$Resource$Rooms$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Rooms$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Rooms$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * games.rooms.join + * @desc Join a room. For internal use by the Games SDK only. Calling this + * method directly is unsupported. + * @alias games.rooms.join + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.language The preferred language to use for strings returned by this method. + * @param {string} params.roomId The ID of the room. + * @param {().RoomJoinRequest} 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 + */ + join(params?: Params$Resource$Rooms$Join, options?: MethodOptions): AxiosPromise; + join(params: Params$Resource$Rooms$Join, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + join(params: Params$Resource$Rooms$Join, callback: BodyResponseCallback): void; + join(callback: BodyResponseCallback): void; + /** + * games.rooms.leave + * @desc Leave a room. For internal use by the Games SDK only. Calling this + * method directly is unsupported. + * @alias games.rooms.leave + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.language The preferred language to use for strings returned by this method. + * @param {string} params.roomId The ID of the room. + * @param {().RoomLeaveRequest} 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 + */ + leave(params?: Params$Resource$Rooms$Leave, options?: MethodOptions): AxiosPromise; + leave(params: Params$Resource$Rooms$Leave, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + leave(params: Params$Resource$Rooms$Leave, callback: BodyResponseCallback): void; + leave(callback: BodyResponseCallback): void; + /** + * games.rooms.list + * @desc Returns invitations to join rooms. + * @alias games.rooms.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {string=} params.language The preferred language to use for strings returned by this method. + * @param {integer=} params.maxResults The maximum number of rooms to return in the response, used for paging. For any response, the actual number of rooms to return may be less than the specified maxResults. + * @param {string=} params.pageToken The token returned by the previous request. + * @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?: Params$Resource$Rooms$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Rooms$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Rooms$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * games.rooms.reportStatus + * @desc Updates sent by a client reporting the status of peers in a room. + * For internal use by the Games SDK only. Calling this method directly is + * unsupported. + * @alias games.rooms.reportStatus + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.language The preferred language to use for strings returned by this method. + * @param {string} params.roomId The ID of the room. + * @param {().RoomP2PStatuses} 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 + */ + reportStatus(params?: Params$Resource$Rooms$Reportstatus, options?: MethodOptions): AxiosPromise; + reportStatus(params: Params$Resource$Rooms$Reportstatus, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + reportStatus(params: Params$Resource$Rooms$Reportstatus, callback: BodyResponseCallback): void; + reportStatus(callback: BodyResponseCallback): void; + } + interface Params$Resource$Rooms$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The preferred language to use for strings returned by this method. + */ + language?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RoomCreateRequest; + } + interface Params$Resource$Rooms$Decline { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The preferred language to use for strings returned by this method. + */ + language?: string; + /** + * The ID of the room. + */ + roomId?: string; + } + interface Params$Resource$Rooms$Dismiss { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the room. + */ + roomId?: string; + } + interface Params$Resource$Rooms$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The preferred language to use for strings returned by this method. + */ + language?: string; + /** + * The ID of the room. + */ + roomId?: string; + } + interface Params$Resource$Rooms$Join { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The preferred language to use for strings returned by this method. + */ + language?: string; + /** + * The ID of the room. + */ + roomId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RoomJoinRequest; + } + interface Params$Resource$Rooms$Leave { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The preferred language to use for strings returned by this method. + */ + language?: string; + /** + * The ID of the room. + */ + roomId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RoomLeaveRequest; + } + interface Params$Resource$Rooms$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The preferred language to use for strings returned by this method. + */ + language?: string; + /** + * The maximum number of rooms to return in the response, used for paging. + * For any response, the actual number of rooms to return may be less than + * the specified maxResults. + */ + maxResults?: number; + /** + * The token returned by the previous request. + */ + pageToken?: string; + } + interface Params$Resource$Rooms$Reportstatus { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The preferred language to use for strings returned by this method. + */ + language?: string; + /** + * The ID of the room. + */ + roomId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RoomP2PStatuses; + } + class Resource$Scores { + root: Games; + constructor(root: Games); + getRoot(): Games; + /** + * games.scores.get + * @desc Get high scores, and optionally ranks, in leaderboards for the + * currently authenticated player. For a specific time span, leaderboardId + * can be set to ALL to retrieve data for all leaderboards in a given time + * span. NOTE: You cannot ask for 'ALL' leaderboards and 'ALL' timeSpans in + * the same request; only one parameter may be set to 'ALL'. + * @alias games.scores.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.includeRankType The types of ranks to return. If the parameter is omitted, no ranks will be returned. + * @param {string=} params.language The preferred language to use for strings returned by this method. + * @param {string} params.leaderboardId The ID of the leaderboard. Can be set to 'ALL' to retrieve data for all leaderboards for this application. + * @param {integer=} params.maxResults The maximum number of leaderboard scores to return in the response. For any response, the actual number of leaderboard scores returned may be less than the specified maxResults. + * @param {string=} params.pageToken The token returned by the previous request. + * @param {string} params.playerId A player ID. A value of me may be used in place of the authenticated player's ID. + * @param {string} params.timeSpan The time span for the scores and ranks you're requesting. + * @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?: Params$Resource$Scores$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Scores$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Scores$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * games.scores.list + * @desc Lists the scores in a leaderboard, starting from the top. + * @alias games.scores.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.collection The collection of scores you're requesting. + * @param {string=} params.language The preferred language to use for strings returned by this method. + * @param {string} params.leaderboardId The ID of the leaderboard. + * @param {integer=} params.maxResults The maximum number of leaderboard scores to return in the response. For any response, the actual number of leaderboard scores returned may be less than the specified maxResults. + * @param {string=} params.pageToken The token returned by the previous request. + * @param {string} params.timeSpan The time span for the scores and ranks you're requesting. + * @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?: Params$Resource$Scores$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Scores$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Scores$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * games.scores.listWindow + * @desc Lists the scores in a leaderboard around (and including) a player's + * score. + * @alias games.scores.listWindow + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.collection The collection of scores you're requesting. + * @param {string=} params.language The preferred language to use for strings returned by this method. + * @param {string} params.leaderboardId The ID of the leaderboard. + * @param {integer=} params.maxResults The maximum number of leaderboard scores to return in the response. For any response, the actual number of leaderboard scores returned may be less than the specified maxResults. + * @param {string=} params.pageToken The token returned by the previous request. + * @param {integer=} params.resultsAbove The preferred number of scores to return above the player's score. More scores may be returned if the player is at the bottom of the leaderboard; fewer may be returned if the player is at the top. Must be less than or equal to maxResults. + * @param {boolean=} params.returnTopIfAbsent True if the top scores should be returned when the player is not in the leaderboard. Defaults to true. + * @param {string} params.timeSpan The time span for the scores and ranks you're requesting. + * @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 + */ + listWindow(params?: Params$Resource$Scores$Listwindow, options?: MethodOptions): AxiosPromise; + listWindow(params: Params$Resource$Scores$Listwindow, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listWindow(params: Params$Resource$Scores$Listwindow, callback: BodyResponseCallback): void; + listWindow(callback: BodyResponseCallback): void; + /** + * games.scores.submit + * @desc Submits a score to the specified leaderboard. + * @alias games.scores.submit + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.language The preferred language to use for strings returned by this method. + * @param {string} params.leaderboardId The ID of the leaderboard. + * @param {string} params.score The score you're submitting. The submitted score is ignored if it is worse than a previously submitted score, where worse depends on the leaderboard sort order. The meaning of the score value depends on the leaderboard format type. For fixed-point, the score represents the raw value. For time, the score represents elapsed time in milliseconds. For currency, the score represents a value in micro units. + * @param {string=} params.scoreTag Additional information about the score you're submitting. Values must contain no more than 64 URI-safe characters as defined by section 2.3 of RFC 3986. + * @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 + */ + submit(params?: Params$Resource$Scores$Submit, options?: MethodOptions): AxiosPromise; + submit(params: Params$Resource$Scores$Submit, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + submit(params: Params$Resource$Scores$Submit, callback: BodyResponseCallback): void; + submit(callback: BodyResponseCallback): void; + /** + * games.scores.submitMultiple + * @desc Submits multiple scores to leaderboards. + * @alias games.scores.submitMultiple + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.language The preferred language to use for strings returned by this method. + * @param {().PlayerScoreSubmissionList} 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 + */ + submitMultiple(params?: Params$Resource$Scores$Submitmultiple, options?: MethodOptions): AxiosPromise; + submitMultiple(params: Params$Resource$Scores$Submitmultiple, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + submitMultiple(params: Params$Resource$Scores$Submitmultiple, callback: BodyResponseCallback): void; + submitMultiple(callback: BodyResponseCallback): void; + } + interface Params$Resource$Scores$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The types of ranks to return. If the parameter is omitted, no ranks will + * be returned. + */ + includeRankType?: string; + /** + * The preferred language to use for strings returned by this method. + */ + language?: string; + /** + * The ID of the leaderboard. Can be set to 'ALL' to retrieve data for all + * leaderboards for this application. + */ + leaderboardId?: string; + /** + * The maximum number of leaderboard scores to return in the response. For + * any response, the actual number of leaderboard scores returned may be + * less than the specified maxResults. + */ + maxResults?: number; + /** + * The token returned by the previous request. + */ + pageToken?: string; + /** + * A player ID. A value of me may be used in place of the authenticated + * player's ID. + */ + playerId?: string; + /** + * The time span for the scores and ranks you're requesting. + */ + timeSpan?: string; + } + interface Params$Resource$Scores$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The collection of scores you're requesting. + */ + collection?: string; + /** + * The preferred language to use for strings returned by this method. + */ + language?: string; + /** + * The ID of the leaderboard. + */ + leaderboardId?: string; + /** + * The maximum number of leaderboard scores to return in the response. For + * any response, the actual number of leaderboard scores returned may be + * less than the specified maxResults. + */ + maxResults?: number; + /** + * The token returned by the previous request. + */ + pageToken?: string; + /** + * The time span for the scores and ranks you're requesting. + */ + timeSpan?: string; + } + interface Params$Resource$Scores$Listwindow { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The collection of scores you're requesting. + */ + collection?: string; + /** + * The preferred language to use for strings returned by this method. + */ + language?: string; + /** + * The ID of the leaderboard. + */ + leaderboardId?: string; + /** + * The maximum number of leaderboard scores to return in the response. For + * any response, the actual number of leaderboard scores returned may be + * less than the specified maxResults. + */ + maxResults?: number; + /** + * The token returned by the previous request. + */ + pageToken?: string; + /** + * The preferred number of scores to return above the player's score. More + * scores may be returned if the player is at the bottom of the leaderboard; + * fewer may be returned if the player is at the top. Must be less than or + * equal to maxResults. + */ + resultsAbove?: number; + /** + * True if the top scores should be returned when the player is not in the + * leaderboard. Defaults to true. + */ + returnTopIfAbsent?: boolean; + /** + * The time span for the scores and ranks you're requesting. + */ + timeSpan?: string; + } + interface Params$Resource$Scores$Submit { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The preferred language to use for strings returned by this method. + */ + language?: string; + /** + * The ID of the leaderboard. + */ + leaderboardId?: string; + /** + * The score you're submitting. The submitted score is ignored if it is + * worse than a previously submitted score, where worse depends on the + * leaderboard sort order. The meaning of the score value depends on the + * leaderboard format type. For fixed-point, the score represents the raw + * value. For time, the score represents elapsed time in milliseconds. For + * currency, the score represents a value in micro units. + */ + score?: string; + /** + * Additional information about the score you're submitting. Values must + * contain no more than 64 URI-safe characters as defined by section 2.3 of + * RFC 3986. + */ + scoreTag?: string; + } + interface Params$Resource$Scores$Submitmultiple { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The preferred language to use for strings returned by this method. + */ + language?: string; + /** + * Request body metadata + */ + requestBody?: Schema$PlayerScoreSubmissionList; + } + class Resource$Snapshots { + root: Games; + constructor(root: Games); + getRoot(): Games; + /** + * games.snapshots.get + * @desc Retrieves the metadata for a given snapshot ID. + * @alias games.snapshots.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.language The preferred language to use for strings returned by this method. + * @param {string} params.snapshotId The ID of the snapshot. + * @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?: Params$Resource$Snapshots$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Snapshots$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Snapshots$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * games.snapshots.list + * @desc Retrieves a list of snapshots created by your application for the + * player corresponding to the player ID. + * @alias games.snapshots.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.language The preferred language to use for strings returned by this method. + * @param {integer=} params.maxResults The maximum number of snapshot resources to return in the response, used for paging. For any response, the actual number of snapshot resources returned may be less than the specified maxResults. + * @param {string=} params.pageToken The token returned by the previous request. + * @param {string} params.playerId A player ID. A value of me may be used in place of the authenticated player's ID. + * @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?: Params$Resource$Snapshots$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Snapshots$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Snapshots$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Snapshots$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The preferred language to use for strings returned by this method. + */ + language?: string; + /** + * The ID of the snapshot. + */ + snapshotId?: string; + } + interface Params$Resource$Snapshots$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The preferred language to use for strings returned by this method. + */ + language?: string; + /** + * The maximum number of snapshot resources to return in the response, used + * for paging. For any response, the actual number of snapshot resources + * returned may be less than the specified maxResults. + */ + maxResults?: number; + /** + * The token returned by the previous request. + */ + pageToken?: string; + /** + * A player ID. A value of me may be used in place of the authenticated + * player's ID. + */ + playerId?: string; + } + class Resource$Turnbasedmatches { + root: Games; + constructor(root: Games); + getRoot(): Games; + /** + * games.turnBasedMatches.cancel + * @desc Cancel a turn-based match. + * @alias games.turnBasedMatches.cancel + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.matchId The ID of the match. + * @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 + */ + cancel(params?: Params$Resource$Turnbasedmatches$Cancel, options?: MethodOptions): AxiosPromise; + cancel(params: Params$Resource$Turnbasedmatches$Cancel, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + cancel(params: Params$Resource$Turnbasedmatches$Cancel, callback: BodyResponseCallback): void; + cancel(callback: BodyResponseCallback): void; + /** + * games.turnBasedMatches.create + * @desc Create a turn-based match. + * @alias games.turnBasedMatches.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.language The preferred language to use for strings returned by this method. + * @param {().TurnBasedMatchCreateRequest} 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 + */ + create(params?: Params$Resource$Turnbasedmatches$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Turnbasedmatches$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Turnbasedmatches$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * games.turnBasedMatches.decline + * @desc Decline an invitation to play a turn-based match. + * @alias games.turnBasedMatches.decline + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.language The preferred language to use for strings returned by this method. + * @param {string} params.matchId The ID of the match. + * @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 + */ + decline(params?: Params$Resource$Turnbasedmatches$Decline, options?: MethodOptions): AxiosPromise; + decline(params: Params$Resource$Turnbasedmatches$Decline, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + decline(params: Params$Resource$Turnbasedmatches$Decline, callback: BodyResponseCallback): void; + decline(callback: BodyResponseCallback): void; + /** + * games.turnBasedMatches.dismiss + * @desc Dismiss a turn-based match from the match list. The match will no + * longer show up in the list and will not generate notifications. + * @alias games.turnBasedMatches.dismiss + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.matchId The ID of the match. + * @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 + */ + dismiss(params?: Params$Resource$Turnbasedmatches$Dismiss, options?: MethodOptions): AxiosPromise; + dismiss(params: Params$Resource$Turnbasedmatches$Dismiss, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + dismiss(params: Params$Resource$Turnbasedmatches$Dismiss, callback: BodyResponseCallback): void; + dismiss(callback: BodyResponseCallback): void; + /** + * games.turnBasedMatches.finish + * @desc Finish a turn-based match. Each player should make this call once, + * after all results are in. Only the player whose turn it is may make the + * first call to Finish, and can pass in the final match state. + * @alias games.turnBasedMatches.finish + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.language The preferred language to use for strings returned by this method. + * @param {string} params.matchId The ID of the match. + * @param {().TurnBasedMatchResults} 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 + */ + finish(params?: Params$Resource$Turnbasedmatches$Finish, options?: MethodOptions): AxiosPromise; + finish(params: Params$Resource$Turnbasedmatches$Finish, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + finish(params: Params$Resource$Turnbasedmatches$Finish, callback: BodyResponseCallback): void; + finish(callback: BodyResponseCallback): void; + /** + * games.turnBasedMatches.get + * @desc Get the data for a turn-based match. + * @alias games.turnBasedMatches.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.includeMatchData Get match data along with metadata. + * @param {string=} params.language The preferred language to use for strings returned by this method. + * @param {string} params.matchId The ID of the match. + * @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?: Params$Resource$Turnbasedmatches$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Turnbasedmatches$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Turnbasedmatches$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * games.turnBasedMatches.join + * @desc Join a turn-based match. + * @alias games.turnBasedMatches.join + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.language The preferred language to use for strings returned by this method. + * @param {string} params.matchId The ID of the match. + * @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 + */ + join(params?: Params$Resource$Turnbasedmatches$Join, options?: MethodOptions): AxiosPromise; + join(params: Params$Resource$Turnbasedmatches$Join, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + join(params: Params$Resource$Turnbasedmatches$Join, callback: BodyResponseCallback): void; + join(callback: BodyResponseCallback): void; + /** + * games.turnBasedMatches.leave + * @desc Leave a turn-based match when it is not the current player's turn, + * without canceling the match. + * @alias games.turnBasedMatches.leave + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.language The preferred language to use for strings returned by this method. + * @param {string} params.matchId The ID of the match. + * @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 + */ + leave(params?: Params$Resource$Turnbasedmatches$Leave, options?: MethodOptions): AxiosPromise; + leave(params: Params$Resource$Turnbasedmatches$Leave, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + leave(params: Params$Resource$Turnbasedmatches$Leave, callback: BodyResponseCallback): void; + leave(callback: BodyResponseCallback): void; + /** + * games.turnBasedMatches.leaveTurn + * @desc Leave a turn-based match during the current player's turn, without + * canceling the match. + * @alias games.turnBasedMatches.leaveTurn + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.language The preferred language to use for strings returned by this method. + * @param {string} params.matchId The ID of the match. + * @param {integer} params.matchVersion The version of the match being updated. + * @param {string=} params.pendingParticipantId The ID of another participant who should take their turn next. If not set, the match will wait for other player(s) to join via automatching; this is only valid if automatch criteria is set on the match with remaining slots for automatched players. + * @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 + */ + leaveTurn(params?: Params$Resource$Turnbasedmatches$Leaveturn, options?: MethodOptions): AxiosPromise; + leaveTurn(params: Params$Resource$Turnbasedmatches$Leaveturn, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + leaveTurn(params: Params$Resource$Turnbasedmatches$Leaveturn, callback: BodyResponseCallback): void; + leaveTurn(callback: BodyResponseCallback): void; + /** + * games.turnBasedMatches.list + * @desc Returns turn-based matches the player is or was involved in. + * @alias games.turnBasedMatches.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {boolean=} params.includeMatchData True if match data should be returned in the response. Note that not all data will necessarily be returned if include_match_data is true; the server may decide to only return data for some of the matches to limit download size for the client. The remainder of the data for these matches will be retrievable on request. + * @param {string=} params.language The preferred language to use for strings returned by this method. + * @param {integer=} params.maxCompletedMatches The maximum number of completed or canceled matches to return in the response. If not set, all matches returned could be completed or canceled. + * @param {integer=} params.maxResults The maximum number of matches to return in the response, used for paging. For any response, the actual number of matches to return may be less than the specified maxResults. + * @param {string=} params.pageToken The token returned by the previous request. + * @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?: Params$Resource$Turnbasedmatches$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Turnbasedmatches$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Turnbasedmatches$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * games.turnBasedMatches.rematch + * @desc Create a rematch of a match that was previously completed, with the + * same participants. This can be called by only one player on a match still + * in their list; the player must have called Finish first. Returns the + * newly created match; it will be the caller's turn. + * @alias games.turnBasedMatches.rematch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.language The preferred language to use for strings returned by this method. + * @param {string} params.matchId The ID of the match. + * @param {string=} params.requestId A randomly generated numeric ID for each request specified by the caller. This number is used at the server to ensure that the request is handled correctly across retries. + * @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 + */ + rematch(params?: Params$Resource$Turnbasedmatches$Rematch, options?: MethodOptions): AxiosPromise; + rematch(params: Params$Resource$Turnbasedmatches$Rematch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + rematch(params: Params$Resource$Turnbasedmatches$Rematch, callback: BodyResponseCallback): void; + rematch(callback: BodyResponseCallback): void; + /** + * games.turnBasedMatches.sync + * @desc Returns turn-based matches the player is or was involved in that + * changed since the last sync call, with the least recent changes coming + * first. Matches that should be removed from the local cache will have a + * status of MATCH_DELETED. + * @alias games.turnBasedMatches.sync + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {boolean=} params.includeMatchData True if match data should be returned in the response. Note that not all data will necessarily be returned if include_match_data is true; the server may decide to only return data for some of the matches to limit download size for the client. The remainder of the data for these matches will be retrievable on request. + * @param {string=} params.language The preferred language to use for strings returned by this method. + * @param {integer=} params.maxCompletedMatches The maximum number of completed or canceled matches to return in the response. If not set, all matches returned could be completed or canceled. + * @param {integer=} params.maxResults The maximum number of matches to return in the response, used for paging. For any response, the actual number of matches to return may be less than the specified maxResults. + * @param {string=} params.pageToken The token returned by the previous request. + * @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 + */ + sync(params?: Params$Resource$Turnbasedmatches$Sync, options?: MethodOptions): AxiosPromise; + sync(params: Params$Resource$Turnbasedmatches$Sync, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + sync(params: Params$Resource$Turnbasedmatches$Sync, callback: BodyResponseCallback): void; + sync(callback: BodyResponseCallback): void; + /** + * games.turnBasedMatches.takeTurn + * @desc Commit the results of a player turn. + * @alias games.turnBasedMatches.takeTurn + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.language The preferred language to use for strings returned by this method. + * @param {string} params.matchId The ID of the match. + * @param {().TurnBasedMatchTurn} 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 + */ + takeTurn(params?: Params$Resource$Turnbasedmatches$Taketurn, options?: MethodOptions): AxiosPromise; + takeTurn(params: Params$Resource$Turnbasedmatches$Taketurn, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + takeTurn(params: Params$Resource$Turnbasedmatches$Taketurn, callback: BodyResponseCallback): void; + takeTurn(callback: BodyResponseCallback): void; + } + interface Params$Resource$Turnbasedmatches$Cancel { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the match. + */ + matchId?: string; + } + interface Params$Resource$Turnbasedmatches$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The preferred language to use for strings returned by this method. + */ + language?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TurnBasedMatchCreateRequest; + } + interface Params$Resource$Turnbasedmatches$Decline { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The preferred language to use for strings returned by this method. + */ + language?: string; + /** + * The ID of the match. + */ + matchId?: string; + } + interface Params$Resource$Turnbasedmatches$Dismiss { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the match. + */ + matchId?: string; + } + interface Params$Resource$Turnbasedmatches$Finish { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The preferred language to use for strings returned by this method. + */ + language?: string; + /** + * The ID of the match. + */ + matchId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TurnBasedMatchResults; + } + interface Params$Resource$Turnbasedmatches$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Get match data along with metadata. + */ + includeMatchData?: boolean; + /** + * The preferred language to use for strings returned by this method. + */ + language?: string; + /** + * The ID of the match. + */ + matchId?: string; + } + interface Params$Resource$Turnbasedmatches$Join { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The preferred language to use for strings returned by this method. + */ + language?: string; + /** + * The ID of the match. + */ + matchId?: string; + } + interface Params$Resource$Turnbasedmatches$Leave { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The preferred language to use for strings returned by this method. + */ + language?: string; + /** + * The ID of the match. + */ + matchId?: string; + } + interface Params$Resource$Turnbasedmatches$Leaveturn { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The preferred language to use for strings returned by this method. + */ + language?: string; + /** + * The ID of the match. + */ + matchId?: string; + /** + * The version of the match being updated. + */ + matchVersion?: number; + /** + * The ID of another participant who should take their turn next. If not + * set, the match will wait for other player(s) to join via automatching; + * this is only valid if automatch criteria is set on the match with + * remaining slots for automatched players. + */ + pendingParticipantId?: string; + } + interface Params$Resource$Turnbasedmatches$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * True if match data should be returned in the response. Note that not all + * data will necessarily be returned if include_match_data is true; the + * server may decide to only return data for some of the matches to limit + * download size for the client. The remainder of the data for these matches + * will be retrievable on request. + */ + includeMatchData?: boolean; + /** + * The preferred language to use for strings returned by this method. + */ + language?: string; + /** + * The maximum number of completed or canceled matches to return in the + * response. If not set, all matches returned could be completed or + * canceled. + */ + maxCompletedMatches?: number; + /** + * The maximum number of matches to return in the response, used for paging. + * For any response, the actual number of matches to return may be less than + * the specified maxResults. + */ + maxResults?: number; + /** + * The token returned by the previous request. + */ + pageToken?: string; + } + interface Params$Resource$Turnbasedmatches$Rematch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The preferred language to use for strings returned by this method. + */ + language?: string; + /** + * The ID of the match. + */ + matchId?: string; + /** + * A randomly generated numeric ID for each request specified by the caller. + * This number is used at the server to ensure that the request is handled + * correctly across retries. + */ + requestId?: string; + } + interface Params$Resource$Turnbasedmatches$Sync { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * True if match data should be returned in the response. Note that not all + * data will necessarily be returned if include_match_data is true; the + * server may decide to only return data for some of the matches to limit + * download size for the client. The remainder of the data for these matches + * will be retrievable on request. + */ + includeMatchData?: boolean; + /** + * The preferred language to use for strings returned by this method. + */ + language?: string; + /** + * The maximum number of completed or canceled matches to return in the + * response. If not set, all matches returned could be completed or + * canceled. + */ + maxCompletedMatches?: number; + /** + * The maximum number of matches to return in the response, used for paging. + * For any response, the actual number of matches to return may be less than + * the specified maxResults. + */ + maxResults?: number; + /** + * The token returned by the previous request. + */ + pageToken?: string; + } + interface Params$Resource$Turnbasedmatches$Taketurn { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The preferred language to use for strings returned by this method. + */ + language?: string; + /** + * The ID of the match. + */ + matchId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TurnBasedMatchTurn; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/games/v1.js b/express-server/node_modules/googleapis/build/src/apis/games/v1.js new file mode 100644 index 00000000..74d9b60b --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/games/v1.js @@ -0,0 +1,1865 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var games_v1; +(function (games_v1) { + /** + * Google Play Game Services API + * + * The API for Google Play Game Services. + * + * @example + * const {google} = require('googleapis'); + * const games = google.games('v1'); + * + * @namespace games + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Games + */ + class Games { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.achievementDefinitions = new Resource$Achievementdefinitions(this); + this.achievements = new Resource$Achievements(this); + this.applications = new Resource$Applications(this); + this.events = new Resource$Events(this); + this.leaderboards = new Resource$Leaderboards(this); + this.metagame = new Resource$Metagame(this); + this.players = new Resource$Players(this); + this.pushtokens = new Resource$Pushtokens(this); + this.questMilestones = new Resource$Questmilestones(this); + this.quests = new Resource$Quests(this); + this.revisions = new Resource$Revisions(this); + this.rooms = new Resource$Rooms(this); + this.scores = new Resource$Scores(this); + this.snapshots = new Resource$Snapshots(this); + this.turnBasedMatches = new Resource$Turnbasedmatches(this); + } + getRoot() { + return this.root; + } + } + games_v1.Games = Games; + class Resource$Achievementdefinitions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1/achievements') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + games_v1.Resource$Achievementdefinitions = Resource$Achievementdefinitions; + class Resource$Achievements { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + increment(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1/achievements/{achievementId}/increment') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['achievementId', 'stepsToIncrement'], + pathParams: ['achievementId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1/players/{playerId}/achievements') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['playerId'], + pathParams: ['playerId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + reveal(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1/achievements/{achievementId}/reveal') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['achievementId'], + pathParams: ['achievementId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setStepsAtLeast(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/games/v1/achievements/{achievementId}/setStepsAtLeast') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['achievementId', 'steps'], + pathParams: ['achievementId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + unlock(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1/achievements/{achievementId}/unlock') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['achievementId'], + pathParams: ['achievementId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + updateMultiple(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1/achievements/updateMultiple') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + games_v1.Resource$Achievements = Resource$Achievements; + class Resource$Applications { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1/applications/{applicationId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['applicationId'], + pathParams: ['applicationId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + played(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1/applications/played') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + verify(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1/applications/{applicationId}/verify') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['applicationId'], + pathParams: ['applicationId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + games_v1.Resource$Applications = Resource$Applications; + class Resource$Events { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + listByPlayer(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1/events').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listDefinitions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1/eventDefinitions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + record(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1/events').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + games_v1.Resource$Events = Resource$Events; + class Resource$Leaderboards { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1/leaderboards/{leaderboardId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['leaderboardId'], + pathParams: ['leaderboardId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1/leaderboards') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + games_v1.Resource$Leaderboards = Resource$Leaderboards; + class Resource$Metagame { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + getMetagameConfig(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1/metagameConfig') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listCategoriesByPlayer(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/games/v1/players/{playerId}/categories/{collection}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['playerId', 'collection'], + pathParams: ['collection', 'playerId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + games_v1.Resource$Metagame = Resource$Metagame; + class Resource$Players { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1/players/{playerId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['playerId'], + pathParams: ['playerId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1/players/me/players/{collection}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['collection'], + pathParams: ['collection'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + games_v1.Resource$Players = Resource$Players; + class Resource$Pushtokens { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + remove(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1/pushtokens/remove') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1/pushtokens') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + games_v1.Resource$Pushtokens = Resource$Pushtokens; + class Resource$Questmilestones { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + claim(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/games/v1/quests/{questId}/milestones/{milestoneId}/claim') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['questId', 'milestoneId', 'requestId'], + pathParams: ['milestoneId', 'questId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + games_v1.Resource$Questmilestones = Resource$Questmilestones; + class Resource$Quests { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + accept(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1/quests/{questId}/accept') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['questId'], + pathParams: ['questId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1/players/{playerId}/quests') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['playerId'], + pathParams: ['playerId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + games_v1.Resource$Quests = Resource$Quests; + class Resource$Revisions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + check(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1/revisions/check') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['clientRevision'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + games_v1.Resource$Revisions = Resource$Revisions; + class Resource$Rooms { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1/rooms/create') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + decline(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1/rooms/{roomId}/decline') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['roomId'], + pathParams: ['roomId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + dismiss(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1/rooms/{roomId}/dismiss') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['roomId'], + pathParams: ['roomId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1/rooms/{roomId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['roomId'], + pathParams: ['roomId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + join(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1/rooms/{roomId}/join') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['roomId'], + pathParams: ['roomId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + leave(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1/rooms/{roomId}/leave') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['roomId'], + pathParams: ['roomId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1/rooms').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + reportStatus(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1/rooms/{roomId}/reportstatus') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['roomId'], + pathParams: ['roomId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + games_v1.Resource$Rooms = Resource$Rooms; + class Resource$Scores { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/games/v1/players/{playerId}/leaderboards/{leaderboardId}/scores/{timeSpan}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['playerId', 'leaderboardId', 'timeSpan'], + pathParams: ['leaderboardId', 'playerId', 'timeSpan'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/games/v1/leaderboards/{leaderboardId}/scores/{collection}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['leaderboardId', 'collection', 'timeSpan'], + pathParams: ['collection', 'leaderboardId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listWindow(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/games/v1/leaderboards/{leaderboardId}/window/{collection}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['leaderboardId', 'collection', 'timeSpan'], + pathParams: ['collection', 'leaderboardId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + submit(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1/leaderboards/{leaderboardId}/scores') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['leaderboardId', 'score'], + pathParams: ['leaderboardId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + submitMultiple(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1/leaderboards/scores') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + games_v1.Resource$Scores = Resource$Scores; + class Resource$Snapshots { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1/snapshots/{snapshotId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['snapshotId'], + pathParams: ['snapshotId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1/players/{playerId}/snapshots') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['playerId'], + pathParams: ['playerId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + games_v1.Resource$Snapshots = Resource$Snapshots; + class Resource$Turnbasedmatches { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + cancel(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1/turnbasedmatches/{matchId}/cancel') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['matchId'], + pathParams: ['matchId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1/turnbasedmatches/create') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + decline(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1/turnbasedmatches/{matchId}/decline') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['matchId'], + pathParams: ['matchId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + dismiss(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1/turnbasedmatches/{matchId}/dismiss') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['matchId'], + pathParams: ['matchId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + finish(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1/turnbasedmatches/{matchId}/finish') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['matchId'], + pathParams: ['matchId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1/turnbasedmatches/{matchId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['matchId'], + pathParams: ['matchId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + join(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1/turnbasedmatches/{matchId}/join') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['matchId'], + pathParams: ['matchId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + leave(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1/turnbasedmatches/{matchId}/leave') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['matchId'], + pathParams: ['matchId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + leaveTurn(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1/turnbasedmatches/{matchId}/leaveTurn') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['matchId', 'matchVersion'], + pathParams: ['matchId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1/turnbasedmatches') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + rematch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1/turnbasedmatches/{matchId}/rematch') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['matchId'], + pathParams: ['matchId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + sync(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1/turnbasedmatches/sync') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + takeTurn(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1/turnbasedmatches/{matchId}/turn') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['matchId'], + pathParams: ['matchId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + games_v1.Resource$Turnbasedmatches = Resource$Turnbasedmatches; +})(games_v1 = exports.games_v1 || (exports.games_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/games/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/games/v1.js.map new file mode 100644 index 00000000..1d0d2dc7 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/games/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/games/v1.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAIH,yDAA2H;AAE3H,yBAAyB;AACzB,6BAA6B;AAC7B,gCAAgC;AAChC,+BAA+B;AAC/B,+BAA+B;AAE/B,IAAiB,QAAQ,CA0pPxB;AA1pPD,WAAiB,QAAQ;IAKvB;;;;;;;;;;;;;;OAcG;IACH,MAAa,KAAK;QAqBhB,YAAY,OAAsB,EAAE,MAA2B;YAlB/D,SAAI,GAAG,IAAI,CAAC;YAmBV,IAAI,CAAC,QAAQ,GAAG,OAAO,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAExB,IAAI,CAAC,sBAAsB,GAAG,IAAI,+BAA+B,CAAC,IAAI,CAAC,CAAC;YACxE,IAAI,CAAC,YAAY,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,YAAY,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,MAAM,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,CAAC,YAAY,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,CAAC,OAAO,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,CAAC,UAAU,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,CAAC,eAAe,GAAG,IAAI,wBAAwB,CAAC,IAAI,CAAC,CAAC;YAC1D,IAAI,CAAC,MAAM,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,CAAC,SAAS,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,KAAK,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,CAAC,MAAM,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,CAAC,SAAS,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,gBAAgB,GAAG,IAAI,yBAAyB,CAAC,IAAI,CAAC,CAAC;QAC9D,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;KACF;IA9CY,cAAK,QA8CjB,CAAA;IA4wFD,MAAa,+BAA+B;QAE1C,YAAY,IAAW;YACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAoCD,IAAI,CACA,gBAC+D,EAC/D,iBAC+D,EAC/D,QACmE;YAErE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACW,CAAC;YAChD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiD,CAAC;gBAC3D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,wBAAwB,CAAC;yBAC/B,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,EAAE;gBAClB,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;KACF;IA1FY,wCAA+B,kCA0F3C,CAAA;IAyBD,MAAa,qBAAqB;QAEhC,YAAY,IAAW;YACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAmCD,SAAS,CACL,gBACyD,EACzD,iBACyD,EACzD,QAAoE;YAEtE,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA2C,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4C,CAAC;gBACtD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO,GAAG,kDAAkD,CAAC;yBACzD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,eAAe,EAAE,kBAAkB,CAAC;gBACrD,UAAU,EAAE,CAAC,eAAe,CAAC;gBAC7B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;QAkCD,IAAI,CACA,gBAC0D,EAC1D,iBAC0D,EAC1D,QAAqE;YAEvE,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAsC,CAAC;YAClE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAuC,CAAC;gBACjD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,2CAA2C,CAAC;yBAClD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,UAAU,CAAC;gBAC5B,UAAU,EAAE,CAAC,UAAU,CAAC;gBACxB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;QA6BD,MAAM,CACF,gBACsD,EACtD,iBACsD,EACtD,QAAiE;YAEnE,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAwC,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAyC,CAAC;gBACnD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,+CAA+C,CAAC;yBACtD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,eAAe,CAAC;gBACjC,UAAU,EAAE,CAAC,eAAe,CAAC;gBAC7B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CAAmC,UAAU,CAAC,CAAC;aACvE;QACH,CAAC;QAuCD,eAAe,CACX,gBAC+D,EAC/D,iBAC+D,EAC/D,QACmE;YAErE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACY,CAAC;YACjD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkD,CAAC;gBAC5D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,wDAAwD,CAAC;yBACrD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,eAAe,EAAE,OAAO,CAAC;gBAC1C,UAAU,EAAE,CAAC,eAAe,CAAC;gBAC7B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;QA6BD,MAAM,CACF,gBACsD,EACtD,iBACsD,EACtD,QAAiE;YAEnE,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAwC,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAyC,CAAC;gBACnD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,+CAA+C,CAAC;yBACtD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,eAAe,CAAC;gBACjC,UAAU,EAAE,CAAC,eAAe,CAAC;gBAC7B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CAAmC,UAAU,CAAC,CAAC;aACvE;QACH,CAAC;QAqCD,cAAc,CACV,gBAC8D,EAC9D,iBAC8D,EAC9D,QACkE;YAEpE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACW,CAAC;YAChD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiD,CAAC;gBAC3D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,uCAAuC,CAAC;yBAC9C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,EAAE;gBAClB,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;KACF;IAzdY,8BAAqB,wBAydjC,CAAA;IAiHD,MAAa,qBAAqB;QAEhC,YAAY,IAAW;YACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA2BD,GAAG,CAAC,gBACwC,EACxC,iBACwC,EACxC,QAAmD;YAErD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAqC,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsC,CAAC;gBAChD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,wCAAwC,CAAC;yBAC/C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,eAAe,CAAC;gBACjC,UAAU,EAAE,CAAC,eAAe,CAAC;gBAC7B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAqB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC5D;iBAAM;gBACL,OAAO,oCAAgB,CAAqB,UAAU,CAAC,CAAC;aACzD;QACH,CAAC;QA0BD,MAAM,CACF,gBAC0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAwC,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAyC,CAAC;gBACnD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,+BAA+B,CAAC;yBACtC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,EAAE;gBAClB,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;QA8BD,MAAM,CACF,gBACsD,EACtD,iBACsD,EACtD,QAAiE;YAEnE,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAwC,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAyC,CAAC;gBACnD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,+CAA+C,CAAC;yBACtD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,eAAe,CAAC;gBACjC,UAAU,EAAE,CAAC,eAAe,CAAC;gBAC7B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CAAmC,UAAU,CAAC,CAAC;aACvE;QACH,CAAC;KACF;IArNY,8BAAqB,wBAqNjC,CAAA;IAwCD,MAAa,eAAe;QAE1B,YAAY,IAAW;YACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA+BD,YAAY,CACR,gBACoD,EACpD,iBACoD,EACpD,QAA+D;YAEjE,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAwC,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAyC,CAAC;gBACnD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,kBAAkB,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACjE,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,EAAE;gBAClB,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxE;iBAAM;gBACL,OAAO,oCAAgB,CAAiC,UAAU,CAAC,CAAC;aACrE;QACH,CAAC;QAkCD,eAAe,CACX,gBACwD,EACxD,iBACwD,EACxD,QAAmE;YAErE,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA2C,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4C,CAAC;gBACtD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,4BAA4B,CAAC;yBACnC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,EAAE;gBAClB,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CAAqC,UAAU,CAAC,CAAC;aACzE;QACH,CAAC;QA2BD,MAAM,CACF,gBACgD,EAChD,iBACgD,EAChD,QAA2D;YAE7D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAkC,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmC,CAAC;gBAC7C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,kBAAkB,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACjE,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,EAAE;gBAClB,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA6B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACpE;iBAAM;gBACL,OAAO,oCAAgB,CAA6B,UAAU,CAAC,CAAC;aACjE;QACH,CAAC;KACF;IA/NY,wBAAe,kBA+N3B,CAAA;IA8DD,MAAa,qBAAqB;QAEhC,YAAY,IAAW;YACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAwBD,GAAG,CAAC,gBACwC,EACxC,iBACwC,EACxC,QAAmD;YAErD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAqC,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsC,CAAC;gBAChD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,wCAAwC,CAAC;yBAC/C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,eAAe,CAAC;gBACjC,UAAU,EAAE,CAAC,eAAe,CAAC;gBAC7B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAqB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC5D;iBAAM;gBACL,OAAO,oCAAgB,CAAqB,UAAU,CAAC,CAAC;aACzD;QACH,CAAC;QA4BD,IAAI,CACA,gBACoD,EACpD,iBACoD,EACpD,QAA+D;YAEjE,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAsC,CAAC;YAClE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAuC,CAAC;gBACjD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,wBAAwB,CAAC;yBAC/B,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,EAAE;gBAClB,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxE;iBAAM;gBACL,OAAO,oCAAgB,CAAiC,UAAU,CAAC,CAAC;aACrE;QACH,CAAC;KACF;IA9IY,8BAAqB,wBA8IjC,CAAA;IAwCD,MAAa,iBAAiB;QAE5B,YAAY,IAAW;YACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA0BD,iBAAiB,CACb,gBAC2C,EAC3C,iBAC2C,EAC3C,QAAsD;YAExD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACU,CAAC;YAC/C,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgD,CAAC;gBAC1D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,0BAA0B,CAAC;yBACjC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,EAAE;gBAClB,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAwB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC/D;iBAAM;gBACL,OAAO,oCAAgB,CAAwB,UAAU,CAAC,CAAC;aAC5D;QACH,CAAC;QAiCD,sBAAsB,CAClB,gBACiD,EACjD,iBACiD,EACjD,QAA4D;YAE9D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACe,CAAC;YACpD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqD,CAAC;gBAC/D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,sDAAsD,CAAC;yBACnD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,UAAU,EAAE,YAAY,CAAC;gBAC1C,UAAU,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC;gBACtC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA8B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrE;iBAAM;gBACL,OAAO,oCAAgB,CAA8B,UAAU,CAAC,CAAC;aAClE;QACH,CAAC;KACF;IAxJY,0BAAiB,oBAwJ7B,CAAA;IAwCD,MAAa,gBAAgB;QAE3B,YAAY,IAAW;YACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAyBD,GAAG,CAAC,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAgC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiC,CAAC;gBAC3C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,8BAA8B,CAAC;yBACrC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,UAAU,CAAC;gBAC5B,UAAU,EAAE,CAAC,UAAU,CAAC;gBACxB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;QA4BD,IAAI,CACA,gBAC+C,EAC/C,iBAC+C,EAC/C,QAA0D;YAE5D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAiC,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkC,CAAC;gBAC5C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,2CAA2C,CAAC;yBAClD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,YAAY,CAAC;gBAC9B,UAAU,EAAE,CAAC,YAAY,CAAC;gBAC1B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA4B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACnE;iBAAM;gBACL,OAAO,oCAAgB,CAA4B,UAAU,CAAC,CAAC;aAChE;QACH,CAAC;KACF;IA7IY,yBAAgB,mBA6I5B,CAAA;IA6CD,MAAa,mBAAmB;QAE9B,YAAY,IAAW;YACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA0BD,MAAM,CACF,gBAC0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAsC,CAAC;YAClE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAuC,CAAC;gBACjD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,6BAA6B,CAAC;yBACpC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,EAAE;gBAClB,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;QAyBD,MAAM,CACF,gBAC0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAsC,CAAC;YAClE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAuC,CAAC;gBACjD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,sBAAsB,CAAC;yBAC7B,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,EAAE;gBAClB,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;KACF;IA3IY,4BAAmB,sBA2I/B,CAAA;IA4BD,MAAa,wBAAwB;QAEnC,YAAY,IAAW;YACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA8BD,KAAK,CACD,gBAC0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,2DAA2D,CAAC;yBACxD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,aAAa,EAAE,WAAW,CAAC;gBACvD,UAAU,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC;gBACtC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;KACF;IAhFY,iCAAwB,2BAgFpC,CAAA;IAwBD,MAAa,eAAe;QAE1B,YAAY,IAAW;YACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA2BD,MAAM,CACF,gBACkC,EAClC,iBAAoE,EACpE,QAA6C;YAE/C,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAkC,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmC,CAAC;gBAC7C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,mCAAmC,CAAC;yBAC1C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAe,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtD;iBAAM;gBACL,OAAO,oCAAgB,CAAe,UAAU,CAAC,CAAC;aACnD;QACH,CAAC;QA6BD,IAAI,CACA,gBAC8C,EAC9C,iBAC8C,EAC9C,QAAyD;YAE3D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAgC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiC,CAAC;gBAC3C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,qCAAqC,CAAC;yBAC5C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,UAAU,CAAC;gBAC5B,UAAU,EAAE,CAAC,UAAU,CAAC;gBACxB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA2B,UAAU,EAAE,QAAQ,CAAC,CAAC;aAClE;iBAAM;gBACL,OAAO,oCAAgB,CAA2B,UAAU,CAAC,CAAC;aAC/D;QACH,CAAC;KACF;IAjJY,wBAAe,kBAiJ3B,CAAA;IA8CD,MAAa,kBAAkB;QAE7B,YAAY,IAAW;YACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA0BD,KAAK,CACD,gBACkD,EAClD,iBACkD,EAClD,QAA6D;YAE/D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAoC,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqC,CAAC;gBAC/C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,2BAA2B,CAAC;yBAClC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,gBAAgB,CAAC;gBAClC,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA+B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtE;iBAAM;gBACL,OAAO,oCAAgB,CAA+B,UAAU,CAAC,CAAC;aACnE;QACH,CAAC;KACF;IA5EY,2BAAkB,qBA4E9B,CAAA;IAkBD,MAAa,cAAc;QAEzB,YAAY,IAAW;YACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA2BD,MAAM,CACF,gBACiC,EACjC,iBAAmE,EACnE,QAA4C;YAE9C,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAiC,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkC,CAAC;gBAC5C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,wBAAwB,CAAC;yBAC/B,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,EAAE;gBAClB,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAc,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrD;iBAAM;gBACL,OAAO,oCAAgB,CAAc,UAAU,CAAC,CAAC;aAClD;QACH,CAAC;QA2BD,OAAO,CACH,gBACiC,EACjC,iBAAmE,EACnE,QAA4C;YAE9C,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAkC,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmC,CAAC;gBAC7C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,kCAAkC,CAAC;yBACzC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAc,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrD;iBAAM;gBACL,OAAO,oCAAgB,CAAc,UAAU,CAAC,CAAC;aAClD;QACH,CAAC;QA0BD,OAAO,CACH,gBAC0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAkC,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmC,CAAC;gBAC7C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,kCAAkC,CAAC;yBACzC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;QAwBD,GAAG,CAAC,gBACiC,EACjC,iBAAmE,EACnE,QAA4C;YAE9C,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAA8B,CAAC;YACnE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA+B,CAAC;gBACzC,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,0BAA0B,CAAC;yBACjC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAc,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrD;iBAAM;gBACL,OAAO,oCAAgB,CAAc,UAAU,CAAC,CAAC;aAClD;QACH,CAAC;QA4BD,IAAI,CACA,gBACiC,EACjC,iBAAmE,EACnE,QAA4C;YAE9C,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAA+B,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgC,CAAC;gBAC1C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,+BAA+B,CAAC;yBACtC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAc,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrD;iBAAM;gBACL,OAAO,oCAAgB,CAAc,UAAU,CAAC,CAAC;aAClD;QACH,CAAC;QA4BD,KAAK,CACD,gBACiC,EACjC,iBAAmE,EACnE,QAA4C;YAE9C,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAgC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiC,CAAC;gBAC3C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,gCAAgC,CAAC;yBACvC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAc,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrD;iBAAM;gBACL,OAAO,oCAAgB,CAAc,UAAU,CAAC,CAAC;aAClD;QACH,CAAC;QA2BD,IAAI,CACA,gBACqC,EACrC,iBAAuE,EACvE,QAAgD;YAElD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAA+B,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgC,CAAC;gBAC1C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,iBAAiB,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBAChE,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,EAAE;gBAClB,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzD;iBAAM;gBACL,OAAO,oCAAgB,CAAkB,UAAU,CAAC,CAAC;aACtD;QACH,CAAC;QA8BD,YAAY,CACR,gBACuC,EACvC,iBACuC,EACvC,QAAkD;YAEpD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAuC,CAAC;YACnE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwC,CAAC;gBAClD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,uCAAuC,CAAC;yBAC9C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAoB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3D;iBAAM;gBACL,OAAO,oCAAgB,CAAoB,UAAU,CAAC,CAAC;aACxD;QACH,CAAC;KACF;IA1hBY,uBAAc,iBA0hB1B,CAAA;IA8ID,MAAa,eAAe;QAE1B,YAAY,IAAW;YACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAwCD,GAAG,CAAC,gBAC+D,EAC/D,iBAC+D,EAC/D,QACmE;YAErE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAA+B,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgC,CAAC;gBAC1C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,6EAA6E,CAAC;yBAC1E,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,UAAU,EAAE,eAAe,EAAE,UAAU,CAAC;gBACzD,UAAU,EAAE,CAAC,eAAe,EAAE,UAAU,EAAE,UAAU,CAAC;gBACrD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;QA8BD,IAAI,CACA,gBAC8C,EAC9C,iBAC8C,EAC9C,QAAyD;YAE3D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAgC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiC,CAAC;gBAC3C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4DAA4D,CAAC;yBACzD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,eAAe,EAAE,YAAY,EAAE,UAAU,CAAC;gBAC3D,UAAU,EAAE,CAAC,YAAY,EAAE,eAAe,CAAC;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA2B,UAAU,EAAE,QAAQ,CAAC,CAAC;aAClE;iBAAM;gBACL,OAAO,oCAAgB,CAA2B,UAAU,CAAC,CAAC;aAC/D;QACH,CAAC;QAkCD,UAAU,CACN,gBAC8C,EAC9C,iBAC8C,EAC9C,QAAyD;YAE3D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAsC,CAAC;YAClE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAuC,CAAC;gBACjD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4DAA4D,CAAC;yBACzD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,eAAe,EAAE,YAAY,EAAE,UAAU,CAAC;gBAC3D,UAAU,EAAE,CAAC,YAAY,EAAE,eAAe,CAAC;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA2B,UAAU,EAAE,QAAQ,CAAC,CAAC;aAClE;iBAAM;gBACL,OAAO,oCAAgB,CAA2B,UAAU,CAAC,CAAC;aAC/D;QACH,CAAC;QA4BD,MAAM,CACF,gBACgD,EAChD,iBACgD,EAChD,QAA2D;YAE7D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAkC,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmC,CAAC;gBAC7C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,+CAA+C,CAAC;yBACtD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,eAAe,EAAE,OAAO,CAAC;gBAC1C,UAAU,EAAE,CAAC,eAAe,CAAC;gBAC7B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA6B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACpE;iBAAM;gBACL,OAAO,oCAAgB,CAA6B,UAAU,CAAC,CAAC;aACjE;QACH,CAAC;QA6BD,cAAc,CACV,gBACoD,EACpD,iBACoD,EACpD,QAA+D;YAEjE,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,+BAA+B,CAAC;yBACtC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,EAAE;gBAClB,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxE;iBAAM;gBACL,OAAO,oCAAgB,CAAiC,UAAU,CAAC,CAAC;aACrE;QACH,CAAC;KACF;IA7XY,wBAAe,kBA6X3B,CAAA;IAwKD,MAAa,kBAAkB;QAE7B,YAAY,IAAW;YACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAwBD,GAAG,CAAC,gBACqC,EACrC,iBAAuE,EACvE,QAAgD;YAElD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAkC,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmC,CAAC;gBAC7C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,kCAAkC,CAAC;yBACzC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,YAAY,CAAC;gBAC9B,UAAU,EAAE,CAAC,YAAY,CAAC;gBAC1B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzD;iBAAM;gBACL,OAAO,oCAAgB,CAAkB,UAAU,CAAC,CAAC;aACtD;QACH,CAAC;QA8BD,IAAI,CACA,gBACiD,EACjD,iBACiD,EACjD,QAA4D;YAE9D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoC,CAAC;gBAC9C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,wCAAwC,CAAC;yBAC/C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,UAAU,CAAC;gBAC5B,UAAU,EAAE,CAAC,UAAU,CAAC;gBACxB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA8B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrE;iBAAM;gBACL,OAAO,oCAAgB,CAA8B,UAAU,CAAC,CAAC;aAClE;QACH,CAAC;KACF;IA9IY,2BAAkB,qBA8I9B,CAAA;IA6CD,MAAa,yBAAyB;QAEpC,YAAY,IAAW;YACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA0BD,MAAM,CACF,gBAC0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA4C,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6C,CAAC;gBACvD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,6CAA6C,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;QA2BD,MAAM,CACF,gBAC2C,EAC3C,iBAC2C,EAC3C,QAAsD;YAExD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA4C,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6C,CAAC;gBACvD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,mCAAmC,CAAC;yBAC1C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,EAAE;gBAClB,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAwB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC/D;iBAAM;gBACL,OAAO,oCAAgB,CAAwB,UAAU,CAAC,CAAC;aAC5D;QACH,CAAC;QA2BD,OAAO,CACH,gBAC2C,EAC3C,iBAC2C,EAC3C,QAAsD;YAExD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA6C,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8C,CAAC;gBACxD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,8CAA8C,CAAC;yBACrD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAwB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC/D;iBAAM;gBACL,OAAO,oCAAgB,CAAwB,UAAU,CAAC,CAAC;aAC5D;QACH,CAAC;QA2BD,OAAO,CACH,gBAC0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA6C,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8C,CAAC;gBACxD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,8CAA8C,CAAC;yBACrD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;QA8BD,MAAM,CACF,gBAC2C,EAC3C,iBAC2C,EAC3C,QAAsD;YAExD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA4C,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6C,CAAC;gBACvD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,6CAA6C,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAwB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC/D;iBAAM;gBACL,OAAO,oCAAgB,CAAwB,UAAU,CAAC,CAAC;aAC5D;QACH,CAAC;QAyBD,GAAG,CAAC,gBAC2C,EAC3C,iBAC2C,EAC3C,QAAsD;YAExD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAyC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0C,CAAC;gBACpD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,sCAAsC,CAAC;yBAC7C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAwB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC/D;iBAAM;gBACL,OAAO,oCAAgB,CAAwB,UAAU,CAAC,CAAC;aAC5D;QACH,CAAC;QA2BD,IAAI,CACA,gBAC2C,EAC3C,iBAC2C,EAC3C,QAAsD;YAExD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,2CAA2C,CAAC;yBAClD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAwB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC/D;iBAAM;gBACL,OAAO,oCAAgB,CAAwB,UAAU,CAAC,CAAC;aAC5D;QACH,CAAC;QA4BD,KAAK,CACD,gBAC2C,EAC3C,iBAC2C,EAC3C,QAAsD;YAExD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA2C,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4C,CAAC;gBACtD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,4CAA4C,CAAC;yBACnD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAwB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC/D;iBAAM;gBACL,OAAO,oCAAgB,CAAwB,UAAU,CAAC,CAAC;aAC5D;QACH,CAAC;QA8BD,SAAS,CACL,gBAC2C,EAC3C,iBAC2C,EAC3C,QAAsD;YAExD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACU,CAAC;YAC/C,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgD,CAAC;gBAC1D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,gDAAgD,CAAC;yBACvD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,EAAE,cAAc,CAAC;gBAC3C,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAwB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC/D;iBAAM;gBACL,OAAO,oCAAgB,CAAwB,UAAU,CAAC,CAAC;aAC5D;QACH,CAAC;QA8BD,IAAI,CACA,gBAC+C,EAC/C,iBAC+C,EAC/C,QAA0D;YAE5D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,4BAA4B,CAAC;yBACnC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,EAAE;gBAClB,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA4B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACnE;iBAAM;gBACL,OAAO,oCAAgB,CAA4B,UAAU,CAAC,CAAC;aAChE;QACH,CAAC;QAgCD,OAAO,CACH,gBACkD,EAClD,iBACkD,EAClD,QAA6D;YAE/D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA6C,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8C,CAAC;gBACxD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,8CAA8C,CAAC;yBACrD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA+B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtE;iBAAM;gBACL,OAAO,oCAAgB,CAA+B,UAAU,CAAC,CAAC;aACnE;QACH,CAAC;QAiCD,IAAI,CACA,gBAC+C,EAC/C,iBAC+C,EAC/C,QAA0D;YAE5D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,iCAAiC,CAAC;yBACxC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,EAAE;gBAClB,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA4B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACnE;iBAAM;gBACL,OAAO,oCAAgB,CAA4B,UAAU,CAAC,CAAC;aAChE;QACH,CAAC;QA4BD,QAAQ,CACJ,gBAC2C,EAC3C,iBAC2C,EAC3C,QAAsD;YAExD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA8C,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA+C,CAAC;gBACzD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,2CAA2C,CAAC;yBAClD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAwB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC/D;iBAAM;gBACL,OAAO,oCAAgB,CAAwB,UAAU,CAAC,CAAC;aAC5D;QACH,CAAC;KACF;IA54BY,kCAAyB,4BA44BrC,CAAA;AAqQH,CAAC,EA1pPgB,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QA0pPxB"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/gamesConfiguration/README.md b/express-server/node_modules/googleapis/build/src/apis/gamesConfiguration/README.md new file mode 100644 index 00000000..6aea283d --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/gamesConfiguration/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/gamesConfiguration + +> The Publishing API for Google Play Game Services. + +## Installation + +```sh +$ npm install @google/gamesConfiguration +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/gamesConfiguration/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/gamesConfiguration/index.d.ts new file mode 100644 index 00000000..373080d1 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/gamesConfiguration/index.d.ts @@ -0,0 +1,6 @@ +import { gamesConfiguration_v1configuration } from './v1configuration'; +export declare const VERSIONS: { + 'v1configuration': typeof gamesConfiguration_v1configuration.Gamesconfiguration; +}; +export declare function gamesConfiguration(version: 'v1configuration'): gamesConfiguration_v1configuration.Gamesconfiguration; +export declare function gamesConfiguration(options: gamesConfiguration_v1configuration.Options): gamesConfiguration_v1configuration.Gamesconfiguration; diff --git a/express-server/node_modules/googleapis/build/src/apis/gamesConfiguration/index.js b/express-server/node_modules/googleapis/build/src/apis/gamesConfiguration/index.js new file mode 100644 index 00000000..f0ab28ef --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/gamesConfiguration/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1configuration_1 = require("./v1configuration"); +exports.VERSIONS = { + 'v1configuration': v1configuration_1.gamesConfiguration_v1configuration.Gamesconfiguration, +}; +function gamesConfiguration(versionOrOptions) { + return googleapis_common_1.getAPI('gamesConfiguration', versionOrOptions, exports.VERSIONS, this); +} +exports.gamesConfiguration = gamesConfiguration; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/gamesConfiguration/index.js.map b/express-server/node_modules/googleapis/build/src/apis/gamesConfiguration/index.js.map new file mode 100644 index 00000000..b427b50b --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/gamesConfiguration/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/gamesConfiguration/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,uDAAqE;AAExD,QAAA,QAAQ,GAAG;IACtB,iBAAiB,EAAE,oDAAkC,CAAC,kBAAkB;CACzE,CAAC;AAOF,SACA,kBAAkB,CAEd,gBAC0C;IAC5C,OAAO,0BAAM,CAAI,oBAAoB,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAC3E,CAAC;AAND,gDAMC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/gamesConfiguration/package.json b/express-server/node_modules/googleapis/build/src/apis/gamesConfiguration/package.json new file mode 100644 index 00000000..e3e9e3c8 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/gamesConfiguration/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/gamesConfiguration", + "version": "0.1.0", + "description": "gamesConfiguration", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/gamesConfiguration/v1configuration.d.ts b/express-server/node_modules/googleapis/build/src/apis/gamesConfiguration/v1configuration.d.ts new file mode 100644 index 00000000..365bc678 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/gamesConfiguration/v1configuration.d.ts @@ -0,0 +1,778 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace gamesConfiguration_v1configuration { + interface Options extends GlobalOptions { + version: 'v1configuration'; + } + /** + * Google Play Game Services Publishing API + * + * The Publishing API for Google Play Game Services. + * + * @example + * const {google} = require('googleapis'); + * const gamesConfiguration = google.gamesConfiguration('v1configuration'); + * + * @namespace gamesConfiguration + * @type {Function} + * @version v1configuration + * @variation v1configuration + * @param {object=} options Options for Gamesconfiguration + */ + class Gamesconfiguration { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + achievementConfigurations: Resource$Achievementconfigurations; + imageConfigurations: Resource$Imageconfigurations; + leaderboardConfigurations: Resource$Leaderboardconfigurations; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * This is a JSON template for an achievement configuration resource. + */ + interface Schema$AchievementConfiguration { + /** + * The type of the achievement. Possible values are: - + * "STANDARD" - Achievement is either locked or unlocked. - + * "INCREMENTAL" - Achievement is incremental. + */ + achievementType?: string; + /** + * The draft data of the achievement. + */ + draft?: Schema$AchievementConfigurationDetail; + /** + * The ID of the achievement. + */ + id?: string; + /** + * The initial state of the achievement. Possible values are: - + * "HIDDEN" - Achievement is hidden. - "REVEALED" - + * Achievement is revealed. - "UNLOCKED" - Achievement is + * unlocked. + */ + initialState?: string; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string gamesConfiguration#achievementConfiguration. + */ + kind?: string; + /** + * The read-only published data of the achievement. + */ + published?: Schema$AchievementConfigurationDetail; + /** + * Steps to unlock. Only applicable to incremental achievements. + */ + stepsToUnlock?: number; + /** + * The token for this resource. + */ + token?: string; + } + /** + * This is a JSON template for an achievement configuration detail. + */ + interface Schema$AchievementConfigurationDetail { + /** + * Localized strings for the achievement description. + */ + description?: Schema$LocalizedStringBundle; + /** + * The icon url of this achievement. Writes to this field are ignored. + */ + iconUrl?: string; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string gamesConfiguration#achievementConfigurationDetail. + */ + kind?: string; + /** + * Localized strings for the achievement name. + */ + name?: Schema$LocalizedStringBundle; + /** + * Point value for the achievement. + */ + pointValue?: number; + /** + * The sort rank of this achievement. Writes to this field are ignored. + */ + sortRank?: number; + } + /** + * This is a JSON template for a ListConfigurations response. + */ + interface Schema$AchievementConfigurationListResponse { + /** + * The achievement configurations. + */ + items?: Schema$AchievementConfiguration[]; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#achievementConfigurationListResponse. + */ + kind?: string; + /** + * The pagination token for the next page of results. + */ + nextPageToken?: string; + } + /** + * This is a JSON template for a number affix resource. + */ + interface Schema$GamesNumberAffixConfiguration { + /** + * When the language requires special treatment of "small" numbers + * (as with 2, 3, and 4 in Czech; or numbers ending 2, 3, or 4 but not 12, + * 13, or 14 in Polish). + */ + few?: Schema$LocalizedStringBundle; + /** + * When the language requires special treatment of "large" numbers + * (as with numbers ending 11-99 in Maltese). + */ + many?: Schema$LocalizedStringBundle; + /** + * When the language requires special treatment of numbers like one (as with + * the number 1 in English and most other languages; in Russian, any number + * ending in 1 but not ending in 11 is in this class). + */ + one?: Schema$LocalizedStringBundle; + /** + * When the language does not require special treatment of the given + * quantity (as with all numbers in Chinese, or 42 in English). + */ + other?: Schema$LocalizedStringBundle; + /** + * When the language requires special treatment of numbers like two (as with + * 2 in Welsh, or 102 in Slovenian). + */ + two?: Schema$LocalizedStringBundle; + /** + * When the language requires special treatment of the number 0 (as in + * Arabic). + */ + zero?: Schema$LocalizedStringBundle; + } + /** + * This is a JSON template for a number format resource. + */ + interface Schema$GamesNumberFormatConfiguration { + /** + * The curreny code string. Only used for CURRENCY format type. + */ + currencyCode?: string; + /** + * The formatting for the number. Possible values are: - + * "NUMERIC" - Numbers are formatted to have no digits or a fixed + * number of digits after the decimal point according to locale. An optional + * custom unit can be added. - "TIME_DURATION" - Numbers are + * formatted to hours, minutes and seconds. - "CURRENCY" - Numbers + * are formatted to currency according to locale. + */ + numberFormatType?: string; + /** + * The number of decimal places for number. Only used for NUMERIC format + * type. + */ + numDecimalPlaces?: number; + /** + * An optional suffix for the NUMERIC format type. These strings follow the + * same plural rules as all Android string resources. + */ + suffix?: Schema$GamesNumberAffixConfiguration; + } + /** + * This is a JSON template for an image configuration resource. + */ + interface Schema$ImageConfiguration { + /** + * The image type for the image. + */ + imageType?: string; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string gamesConfiguration#imageConfiguration. + */ + kind?: string; + /** + * The resource ID of resource which the image belongs to. + */ + resourceId?: string; + /** + * The url for this image. + */ + url?: string; + } + /** + * This is a JSON template for an leaderboard configuration resource. + */ + interface Schema$LeaderboardConfiguration { + /** + * The draft data of the leaderboard. + */ + draft?: Schema$LeaderboardConfigurationDetail; + /** + * The ID of the leaderboard. + */ + id?: string; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string gamesConfiguration#leaderboardConfiguration. + */ + kind?: string; + /** + * The read-only published data of the leaderboard. + */ + published?: Schema$LeaderboardConfigurationDetail; + /** + * Maximum score that can be posted to this leaderboard. + */ + scoreMax?: string; + /** + * Minimum score that can be posted to this leaderboard. + */ + scoreMin?: string; + /** + * The type of the leaderboard. Possible values are: - + * "LARGER_IS_BETTER" - Larger scores posted are ranked higher. - + * "SMALLER_IS_BETTER" - Smaller scores posted are ranked higher. + */ + scoreOrder?: string; + /** + * The token for this resource. + */ + token?: string; + } + /** + * This is a JSON template for a leaderboard configuration detail. + */ + interface Schema$LeaderboardConfigurationDetail { + /** + * The icon url of this leaderboard. Writes to this field are ignored. + */ + iconUrl?: string; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string gamesConfiguration#leaderboardConfigurationDetail. + */ + kind?: string; + /** + * Localized strings for the leaderboard name. + */ + name?: Schema$LocalizedStringBundle; + /** + * The score formatting for the leaderboard. + */ + scoreFormat?: Schema$GamesNumberFormatConfiguration; + /** + * The sort rank of this leaderboard. Writes to this field are ignored. + */ + sortRank?: number; + } + /** + * This is a JSON template for a ListConfigurations response. + */ + interface Schema$LeaderboardConfigurationListResponse { + /** + * The leaderboard configurations. + */ + items?: Schema$LeaderboardConfiguration[]; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string games#leaderboardConfigurationListResponse. + */ + kind?: string; + /** + * The pagination token for the next page of results. + */ + nextPageToken?: string; + } + /** + * This is a JSON template for a localized string resource. + */ + interface Schema$LocalizedString { + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string gamesConfiguration#localizedString. + */ + kind?: string; + /** + * The locale string. + */ + locale?: string; + /** + * The string value. + */ + value?: string; + } + /** + * This is a JSON template for a localized string bundle resource. + */ + interface Schema$LocalizedStringBundle { + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string gamesConfiguration#localizedStringBundle. + */ + kind?: string; + /** + * The locale strings. + */ + translations?: Schema$LocalizedString[]; + } + class Resource$Achievementconfigurations { + root: Gamesconfiguration; + constructor(root: Gamesconfiguration); + getRoot(): Gamesconfiguration; + /** + * gamesConfiguration.achievementConfigurations.delete + * @desc Delete the achievement configuration with the given ID. + * @alias gamesConfiguration.achievementConfigurations.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.achievementId The ID of the achievement used by this method. + * @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?: Params$Resource$Achievementconfigurations$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Achievementconfigurations$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Achievementconfigurations$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * gamesConfiguration.achievementConfigurations.get + * @desc Retrieves the metadata of the achievement configuration with the + * given ID. + * @alias gamesConfiguration.achievementConfigurations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.achievementId The ID of the achievement used by this method. + * @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?: Params$Resource$Achievementconfigurations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Achievementconfigurations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Achievementconfigurations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * gamesConfiguration.achievementConfigurations.insert + * @desc Insert a new achievement configuration in this application. + * @alias gamesConfiguration.achievementConfigurations.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.applicationId The application ID from the Google Play developer console. + * @param {().AchievementConfiguration} 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?: Params$Resource$Achievementconfigurations$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Achievementconfigurations$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Achievementconfigurations$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * gamesConfiguration.achievementConfigurations.list + * @desc Returns a list of the achievement configurations in this + * application. + * @alias gamesConfiguration.achievementConfigurations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.applicationId The application ID from the Google Play developer console. + * @param {integer=} params.maxResults The maximum number of resource configurations to return in the response, used for paging. For any response, the actual number of resources returned may be less than the specified maxResults. + * @param {string=} params.pageToken The token returned by the previous request. + * @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?: Params$Resource$Achievementconfigurations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Achievementconfigurations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Achievementconfigurations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * gamesConfiguration.achievementConfigurations.patch + * @desc Update the metadata of the achievement configuration with the given + * ID. This method supports patch semantics. + * @alias gamesConfiguration.achievementConfigurations.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.achievementId The ID of the achievement used by this method. + * @param {().AchievementConfiguration} 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 + */ + patch(params?: Params$Resource$Achievementconfigurations$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Achievementconfigurations$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Achievementconfigurations$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * gamesConfiguration.achievementConfigurations.update + * @desc Update the metadata of the achievement configuration with the given + * ID. + * @alias gamesConfiguration.achievementConfigurations.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.achievementId The ID of the achievement used by this method. + * @param {().AchievementConfiguration} 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?: Params$Resource$Achievementconfigurations$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Achievementconfigurations$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Achievementconfigurations$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Achievementconfigurations$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the achievement used by this method. + */ + achievementId?: string; + } + interface Params$Resource$Achievementconfigurations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the achievement used by this method. + */ + achievementId?: string; + } + interface Params$Resource$Achievementconfigurations$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The application ID from the Google Play developer console. + */ + applicationId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AchievementConfiguration; + } + interface Params$Resource$Achievementconfigurations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The application ID from the Google Play developer console. + */ + applicationId?: string; + /** + * The maximum number of resource configurations to return in the response, + * used for paging. For any response, the actual number of resources + * returned may be less than the specified maxResults. + */ + maxResults?: number; + /** + * The token returned by the previous request. + */ + pageToken?: string; + } + interface Params$Resource$Achievementconfigurations$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the achievement used by this method. + */ + achievementId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AchievementConfiguration; + } + interface Params$Resource$Achievementconfigurations$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the achievement used by this method. + */ + achievementId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AchievementConfiguration; + } + class Resource$Imageconfigurations { + root: Gamesconfiguration; + constructor(root: Gamesconfiguration); + getRoot(): Gamesconfiguration; + /** + * gamesConfiguration.imageConfigurations.upload + * @desc Uploads an image for a resource with the given ID and image type. + * @alias gamesConfiguration.imageConfigurations.upload + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.imageType Selects which image in a resource for this method. + * @param {string} params.resourceId The ID of the resource used by this method. + * @param {object} params.media Media object + * @param {string} params.media.mimeType Media mime-type + * @param {string|object} params.media.body Media body contents + * @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 + */ + upload(params?: Params$Resource$Imageconfigurations$Upload, options?: MethodOptions): AxiosPromise; + upload(params: Params$Resource$Imageconfigurations$Upload, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + upload(params: Params$Resource$Imageconfigurations$Upload, callback: BodyResponseCallback): void; + upload(callback: BodyResponseCallback): void; + } + interface Params$Resource$Imageconfigurations$Upload { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Selects which image in a resource for this method. + */ + imageType?: string; + /** + * The ID of the resource used by this method. + */ + resourceId?: string; + /** + * Media metadata + */ + media?: { + /** + * Media mime-type + */ + mediaType?: string; + /** + * Media body contents + */ + body?: any; + }; + } + class Resource$Leaderboardconfigurations { + root: Gamesconfiguration; + constructor(root: Gamesconfiguration); + getRoot(): Gamesconfiguration; + /** + * gamesConfiguration.leaderboardConfigurations.delete + * @desc Delete the leaderboard configuration with the given ID. + * @alias gamesConfiguration.leaderboardConfigurations.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.leaderboardId The ID of the leaderboard. + * @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?: Params$Resource$Leaderboardconfigurations$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Leaderboardconfigurations$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Leaderboardconfigurations$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * gamesConfiguration.leaderboardConfigurations.get + * @desc Retrieves the metadata of the leaderboard configuration with the + * given ID. + * @alias gamesConfiguration.leaderboardConfigurations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.leaderboardId The ID of the leaderboard. + * @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?: Params$Resource$Leaderboardconfigurations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Leaderboardconfigurations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Leaderboardconfigurations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * gamesConfiguration.leaderboardConfigurations.insert + * @desc Insert a new leaderboard configuration in this application. + * @alias gamesConfiguration.leaderboardConfigurations.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.applicationId The application ID from the Google Play developer console. + * @param {().LeaderboardConfiguration} 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?: Params$Resource$Leaderboardconfigurations$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Leaderboardconfigurations$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Leaderboardconfigurations$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * gamesConfiguration.leaderboardConfigurations.list + * @desc Returns a list of the leaderboard configurations in this + * application. + * @alias gamesConfiguration.leaderboardConfigurations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.applicationId The application ID from the Google Play developer console. + * @param {integer=} params.maxResults The maximum number of resource configurations to return in the response, used for paging. For any response, the actual number of resources returned may be less than the specified maxResults. + * @param {string=} params.pageToken The token returned by the previous request. + * @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?: Params$Resource$Leaderboardconfigurations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Leaderboardconfigurations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Leaderboardconfigurations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * gamesConfiguration.leaderboardConfigurations.patch + * @desc Update the metadata of the leaderboard configuration with the given + * ID. This method supports patch semantics. + * @alias gamesConfiguration.leaderboardConfigurations.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.leaderboardId The ID of the leaderboard. + * @param {().LeaderboardConfiguration} 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 + */ + patch(params?: Params$Resource$Leaderboardconfigurations$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Leaderboardconfigurations$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Leaderboardconfigurations$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * gamesConfiguration.leaderboardConfigurations.update + * @desc Update the metadata of the leaderboard configuration with the given + * ID. + * @alias gamesConfiguration.leaderboardConfigurations.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.leaderboardId The ID of the leaderboard. + * @param {().LeaderboardConfiguration} 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?: Params$Resource$Leaderboardconfigurations$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Leaderboardconfigurations$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Leaderboardconfigurations$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Leaderboardconfigurations$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the leaderboard. + */ + leaderboardId?: string; + } + interface Params$Resource$Leaderboardconfigurations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the leaderboard. + */ + leaderboardId?: string; + } + interface Params$Resource$Leaderboardconfigurations$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The application ID from the Google Play developer console. + */ + applicationId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$LeaderboardConfiguration; + } + interface Params$Resource$Leaderboardconfigurations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The application ID from the Google Play developer console. + */ + applicationId?: string; + /** + * The maximum number of resource configurations to return in the response, + * used for paging. For any response, the actual number of resources + * returned may be less than the specified maxResults. + */ + maxResults?: number; + /** + * The token returned by the previous request. + */ + pageToken?: string; + } + interface Params$Resource$Leaderboardconfigurations$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the leaderboard. + */ + leaderboardId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$LeaderboardConfiguration; + } + interface Params$Resource$Leaderboardconfigurations$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the leaderboard. + */ + leaderboardId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$LeaderboardConfiguration; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/gamesConfiguration/v1configuration.js b/express-server/node_modules/googleapis/build/src/apis/gamesConfiguration/v1configuration.js new file mode 100644 index 00000000..1515e490 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/gamesConfiguration/v1configuration.js @@ -0,0 +1,508 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var gamesConfiguration_v1configuration; +(function (gamesConfiguration_v1configuration) { + /** + * Google Play Game Services Publishing API + * + * The Publishing API for Google Play Game Services. + * + * @example + * const {google} = require('googleapis'); + * const gamesConfiguration = google.gamesConfiguration('v1configuration'); + * + * @namespace gamesConfiguration + * @type {Function} + * @version v1configuration + * @variation v1configuration + * @param {object=} options Options for Gamesconfiguration + */ + class Gamesconfiguration { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.achievementConfigurations = + new Resource$Achievementconfigurations(this); + this.imageConfigurations = new Resource$Imageconfigurations(this); + this.leaderboardConfigurations = + new Resource$Leaderboardconfigurations(this); + } + getRoot() { + return this.root; + } + } + gamesConfiguration_v1configuration.Gamesconfiguration = Gamesconfiguration; + class Resource$Achievementconfigurations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/games/v1configuration/achievements/{achievementId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['achievementId'], + pathParams: ['achievementId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/games/v1configuration/achievements/{achievementId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['achievementId'], + pathParams: ['achievementId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/games/v1configuration/applications/{applicationId}/achievements') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['applicationId'], + pathParams: ['applicationId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/games/v1configuration/applications/{applicationId}/achievements') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['applicationId'], + pathParams: ['applicationId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/games/v1configuration/achievements/{achievementId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['achievementId'], + pathParams: ['achievementId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/games/v1configuration/achievements/{achievementId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['achievementId'], + pathParams: ['achievementId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + gamesConfiguration_v1configuration.Resource$Achievementconfigurations = Resource$Achievementconfigurations; + class Resource$Imageconfigurations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + upload(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/games/v1configuration/images/{resourceId}/imageType/{imageType}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + mediaUrl: (rootUrl + + '/upload/games/v1configuration/images/{resourceId}/imageType/{imageType}') + .replace(/([^:]\/)\/+/g, '$1'), + requiredParams: ['resourceId', 'imageType'], + pathParams: ['imageType', 'resourceId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + gamesConfiguration_v1configuration.Resource$Imageconfigurations = Resource$Imageconfigurations; + class Resource$Leaderboardconfigurations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/games/v1configuration/leaderboards/{leaderboardId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['leaderboardId'], + pathParams: ['leaderboardId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/games/v1configuration/leaderboards/{leaderboardId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['leaderboardId'], + pathParams: ['leaderboardId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/games/v1configuration/applications/{applicationId}/leaderboards') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['applicationId'], + pathParams: ['applicationId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/games/v1configuration/applications/{applicationId}/leaderboards') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['applicationId'], + pathParams: ['applicationId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/games/v1configuration/leaderboards/{leaderboardId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['leaderboardId'], + pathParams: ['leaderboardId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/games/v1configuration/leaderboards/{leaderboardId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['leaderboardId'], + pathParams: ['leaderboardId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + gamesConfiguration_v1configuration.Resource$Leaderboardconfigurations = Resource$Leaderboardconfigurations; +})(gamesConfiguration_v1configuration = exports.gamesConfiguration_v1configuration || (exports.gamesConfiguration_v1configuration = {})); +//# sourceMappingURL=v1configuration.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/gamesConfiguration/v1configuration.js.map b/express-server/node_modules/googleapis/build/src/apis/gamesConfiguration/v1configuration.js.map new file mode 100644 index 00000000..63f0ad3a --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/gamesConfiguration/v1configuration.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1configuration.js","sourceRoot":"","sources":["../../../../src/apis/gamesConfiguration/v1configuration.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/gamesManagement/README.md b/express-server/node_modules/googleapis/build/src/apis/gamesManagement/README.md new file mode 100644 index 00000000..23062dcb --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/gamesManagement/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/gamesManagement + +> The Management API for Google Play Game Services. + +## Installation + +```sh +$ npm install @google/gamesManagement +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/gamesManagement/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/gamesManagement/index.d.ts new file mode 100644 index 00000000..f45ddab6 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/gamesManagement/index.d.ts @@ -0,0 +1,6 @@ +import { gamesManagement_v1management } from './v1management'; +export declare const VERSIONS: { + 'v1management': typeof gamesManagement_v1management.Gamesmanagement; +}; +export declare function gamesManagement(version: 'v1management'): gamesManagement_v1management.Gamesmanagement; +export declare function gamesManagement(options: gamesManagement_v1management.Options): gamesManagement_v1management.Gamesmanagement; diff --git a/express-server/node_modules/googleapis/build/src/apis/gamesManagement/index.js b/express-server/node_modules/googleapis/build/src/apis/gamesManagement/index.js new file mode 100644 index 00000000..a6359f0b --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/gamesManagement/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1management_1 = require("./v1management"); +exports.VERSIONS = { + 'v1management': v1management_1.gamesManagement_v1management.Gamesmanagement, +}; +function gamesManagement(versionOrOptions) { + return googleapis_common_1.getAPI('gamesManagement', versionOrOptions, exports.VERSIONS, this); +} +exports.gamesManagement = gamesManagement; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/gamesManagement/index.js.map b/express-server/node_modules/googleapis/build/src/apis/gamesManagement/index.js.map new file mode 100644 index 00000000..1a2d439c --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/gamesManagement/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/gamesManagement/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,iDAA4D;AAE/C,QAAA,QAAQ,GAAG;IACtB,cAAc,EAAE,2CAA4B,CAAC,eAAe;CAC7D,CAAC;AAMF,SACA,eAAe,CAEX,gBAAqE;IACvE,OAAO,0BAAM,CAAI,iBAAiB,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACxE,CAAC;AALD,0CAKC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/gamesManagement/package.json b/express-server/node_modules/googleapis/build/src/apis/gamesManagement/package.json new file mode 100644 index 00000000..e5754325 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/gamesManagement/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/gamesManagement", + "version": "0.1.0", + "description": "gamesManagement", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/gamesManagement/v1management.d.ts b/express-server/node_modules/googleapis/build/src/apis/gamesManagement/v1management.d.ts new file mode 100644 index 00000000..66cdb6c0 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/gamesManagement/v1management.d.ts @@ -0,0 +1,1110 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace gamesManagement_v1management { + interface Options extends GlobalOptions { + version: 'v1management'; + } + /** + * Google Play Game Services Management API + * + * The Management API for Google Play Game Services. + * + * @example + * const {google} = require('googleapis'); + * const gamesManagement = google.gamesManagement('v1management'); + * + * @namespace gamesManagement + * @type {Function} + * @version v1management + * @variation v1management + * @param {object=} options Options for Gamesmanagement + */ + class Gamesmanagement { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + achievements: Resource$Achievements; + applications: Resource$Applications; + events: Resource$Events; + players: Resource$Players; + quests: Resource$Quests; + rooms: Resource$Rooms; + scores: Resource$Scores; + turnBasedMatches: Resource$Turnbasedmatches; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * This is a JSON template for achievement reset all response. + */ + interface Schema$AchievementResetAllResponse { + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string gamesManagement#achievementResetAllResponse. + */ + kind?: string; + /** + * The achievement reset results. + */ + results?: Schema$AchievementResetResponse[]; + } + /** + * This is a JSON template for multiple achievements reset all request. + */ + interface Schema$AchievementResetMultipleForAllRequest { + /** + * The IDs of achievements to reset. + */ + achievement_ids?: string[]; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string gamesManagement#achievementResetMultipleForAllRequest. + */ + kind?: string; + } + /** + * This is a JSON template for an achievement reset response. + */ + interface Schema$AchievementResetResponse { + /** + * The current state of the achievement. This is the same as the initial + * state of the achievement. Possible values are: - "HIDDEN"- + * Achievement is hidden. - "REVEALED" - Achievement is revealed. + * - "UNLOCKED" - Achievement is unlocked. + */ + currentState?: string; + /** + * The ID of an achievement for which player state has been updated. + */ + definitionId?: string; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string gamesManagement#achievementResetResponse. + */ + kind?: string; + /** + * Flag to indicate if the requested update actually occurred. + */ + updateOccurred?: boolean; + } + /** + * This is a JSON template for multiple events reset all request. + */ + interface Schema$EventsResetMultipleForAllRequest { + /** + * The IDs of events to reset. + */ + event_ids?: string[]; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string gamesManagement#eventsResetMultipleForAllRequest. + */ + kind?: string; + } + /** + * This is a JSON template for metadata about a player playing a game with the + * currently authenticated user. + */ + interface Schema$GamesPlayedResource { + /** + * True if the player was auto-matched with the currently authenticated + * user. + */ + autoMatched?: boolean; + /** + * The last time the player played the game in milliseconds since the epoch + * in UTC. + */ + timeMillis?: string; + } + /** + * This is a JSON template for 1P/3P metadata about the player's + * experience. + */ + interface Schema$GamesPlayerExperienceInfoResource { + /** + * The current number of experience points for the player. + */ + currentExperiencePoints?: string; + /** + * The current level of the player. + */ + currentLevel?: Schema$GamesPlayerLevelResource; + /** + * The timestamp when the player was leveled up, in millis since Unix epoch + * UTC. + */ + lastLevelUpTimestampMillis?: string; + /** + * The next level of the player. If the current level is the maximum level, + * this should be same as the current level. + */ + nextLevel?: Schema$GamesPlayerLevelResource; + } + /** + * This is a JSON template for 1P/3P metadata about a user's level. + */ + interface Schema$GamesPlayerLevelResource { + /** + * The level for the user. + */ + level?: number; + /** + * The maximum experience points for this level. + */ + maxExperiencePoints?: string; + /** + * The minimum experience points for this level. + */ + minExperiencePoints?: string; + } + /** + * This is a JSON template for the HiddenPlayer resource. + */ + interface Schema$HiddenPlayer { + /** + * The time this player was hidden. + */ + hiddenTimeMillis?: string; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string gamesManagement#hiddenPlayer. + */ + kind?: string; + /** + * The player information. + */ + player?: Schema$Player; + } + /** + * This is a JSON template for a list of hidden players. + */ + interface Schema$HiddenPlayerList { + /** + * The players. + */ + items?: Schema$HiddenPlayer[]; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string gamesManagement#hiddenPlayerList. + */ + kind?: string; + /** + * The pagination token for the next page of results. + */ + nextPageToken?: string; + } + /** + * This is a JSON template for a Player resource. + */ + interface Schema$Player { + /** + * The base URL for the image that represents the player. + */ + avatarImageUrl?: string; + /** + * The url to the landscape mode player banner image. + */ + bannerUrlLandscape?: string; + /** + * The url to the portrait mode player banner image. + */ + bannerUrlPortrait?: string; + /** + * The name to display for the player. + */ + displayName?: string; + /** + * An object to represent Play Game experience information for the player. + */ + experienceInfo?: Schema$GamesPlayerExperienceInfoResource; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string gamesManagement#player. + */ + kind?: string; + /** + * Details about the last time this player played a multiplayer game with + * the currently authenticated player. Populated for PLAYED_WITH player + * collection members. + */ + lastPlayedWith?: Schema$GamesPlayedResource; + /** + * An object representation of the individual components of the player's + * name. For some players, these fields may not be present. + */ + name?: any; + /** + * The player ID that was used for this player the first time they signed + * into the game in question. This is only populated for calls to player.get + * for the requesting player, only if the player ID has subsequently + * changed, and only to clients that support remapping player IDs. + */ + originalPlayerId?: string; + /** + * The ID of the player. + */ + playerId?: string; + /** + * The player's profile settings. Controls whether or not the + * player's profile is visible to other players. + */ + profileSettings?: Schema$ProfileSettings; + /** + * The player's title rewarded for their game activities. + */ + title?: string; + } + /** + * This is a JSON template for a list of leaderboard reset resources. + */ + interface Schema$PlayerScoreResetAllResponse { + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string gamesManagement#playerScoreResetResponse. + */ + kind?: string; + /** + * The leaderboard reset results. + */ + results?: Schema$PlayerScoreResetResponse[]; + } + /** + * This is a JSON template for a list of reset leaderboard entry resources. + */ + interface Schema$PlayerScoreResetResponse { + /** + * The ID of an leaderboard for which player state has been updated. + */ + definitionId?: string; + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string gamesManagement#playerScoreResetResponse. + */ + kind?: string; + /** + * The time spans of the updated score. Possible values are: - + * "ALL_TIME" - The score is an all-time score. - + * "WEEKLY" - The score is a weekly score. - "DAILY" - + * The score is a daily score. + */ + resetScoreTimeSpans?: string[]; + } + /** + * This is a JSON template for profile settings + */ + interface Schema$ProfileSettings { + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string gamesManagement#profileSettings. + */ + kind?: string; + /** + * The player's current profile visibility. This field is visible to + * both 1P and 3P APIs. + */ + profileVisible?: boolean; + } + /** + * This is a JSON template for multiple quests reset all request. + */ + interface Schema$QuestsResetMultipleForAllRequest { + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string gamesManagement#questsResetMultipleForAllRequest. + */ + kind?: string; + /** + * The IDs of quests to reset. + */ + quest_ids?: string[]; + } + /** + * This is a JSON template for multiple scores reset all request. + */ + interface Schema$ScoresResetMultipleForAllRequest { + /** + * Uniquely identifies the type of this resource. Value is always the fixed + * string gamesManagement#scoresResetMultipleForAllRequest. + */ + kind?: string; + /** + * The IDs of leaderboards to reset. + */ + leaderboard_ids?: string[]; + } + class Resource$Achievements { + root: Gamesmanagement; + constructor(root: Gamesmanagement); + getRoot(): Gamesmanagement; + /** + * gamesManagement.achievements.reset + * @desc Resets the achievement with the given ID for the currently + * authenticated player. This method is only accessible to whitelisted + * tester accounts for your application. + * @alias gamesManagement.achievements.reset + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.achievementId The ID of the achievement used by this method. + * @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 + */ + reset(params?: Params$Resource$Achievements$Reset, options?: MethodOptions): AxiosPromise; + reset(params: Params$Resource$Achievements$Reset, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + reset(params: Params$Resource$Achievements$Reset, callback: BodyResponseCallback): void; + reset(callback: BodyResponseCallback): void; + /** + * gamesManagement.achievements.resetAll + * @desc Resets all achievements for the currently authenticated player for + * your application. This method is only accessible to whitelisted tester + * accounts for your application. + * @alias gamesManagement.achievements.resetAll + * @memberOf! () + * + * @param {object=} params Parameters for request + * @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 + */ + resetAll(params?: Params$Resource$Achievements$Resetall, options?: MethodOptions): AxiosPromise; + resetAll(params: Params$Resource$Achievements$Resetall, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + resetAll(params: Params$Resource$Achievements$Resetall, callback: BodyResponseCallback): void; + resetAll(callback: BodyResponseCallback): void; + /** + * gamesManagement.achievements.resetAllForAllPlayers + * @desc Resets all draft achievements for all players. This method is only + * available to user accounts for your developer console. + * @alias gamesManagement.achievements.resetAllForAllPlayers + * @memberOf! () + * + * @param {object=} params Parameters for request + * @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 + */ + resetAllForAllPlayers(params?: Params$Resource$Achievements$Resetallforallplayers, options?: MethodOptions): AxiosPromise; + resetAllForAllPlayers(params: Params$Resource$Achievements$Resetallforallplayers, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + resetAllForAllPlayers(params: Params$Resource$Achievements$Resetallforallplayers, callback: BodyResponseCallback): void; + resetAllForAllPlayers(callback: BodyResponseCallback): void; + /** + * gamesManagement.achievements.resetForAllPlayers + * @desc Resets the achievement with the given ID for all players. This + * method is only available to user accounts for your developer console. + * Only draft achievements can be reset. + * @alias gamesManagement.achievements.resetForAllPlayers + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.achievementId The ID of the achievement used by this method. + * @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 + */ + resetForAllPlayers(params?: Params$Resource$Achievements$Resetforallplayers, options?: MethodOptions): AxiosPromise; + resetForAllPlayers(params: Params$Resource$Achievements$Resetforallplayers, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + resetForAllPlayers(params: Params$Resource$Achievements$Resetforallplayers, callback: BodyResponseCallback): void; + resetForAllPlayers(callback: BodyResponseCallback): void; + /** + * gamesManagement.achievements.resetMultipleForAllPlayers + * @desc Resets achievements with the given IDs for all players. This method + * is only available to user accounts for your developer console. Only draft + * achievements may be reset. + * @alias gamesManagement.achievements.resetMultipleForAllPlayers + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().AchievementResetMultipleForAllRequest} 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 + */ + resetMultipleForAllPlayers(params?: Params$Resource$Achievements$Resetmultipleforallplayers, options?: MethodOptions): AxiosPromise; + resetMultipleForAllPlayers(params: Params$Resource$Achievements$Resetmultipleforallplayers, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + resetMultipleForAllPlayers(params: Params$Resource$Achievements$Resetmultipleforallplayers, callback: BodyResponseCallback): void; + resetMultipleForAllPlayers(callback: BodyResponseCallback): void; + } + interface Params$Resource$Achievements$Reset { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the achievement used by this method. + */ + achievementId?: string; + } + interface Params$Resource$Achievements$Resetall { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } + interface Params$Resource$Achievements$Resetallforallplayers { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } + interface Params$Resource$Achievements$Resetforallplayers { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the achievement used by this method. + */ + achievementId?: string; + } + interface Params$Resource$Achievements$Resetmultipleforallplayers { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$AchievementResetMultipleForAllRequest; + } + class Resource$Applications { + root: Gamesmanagement; + constructor(root: Gamesmanagement); + getRoot(): Gamesmanagement; + /** + * gamesManagement.applications.listHidden + * @desc Get the list of players hidden from the given application. This + * method is only available to user accounts for your developer console. + * @alias gamesManagement.applications.listHidden + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.applicationId The application ID from the Google Play developer console. + * @param {integer=} params.maxResults The maximum number of player resources to return in the response, used for paging. For any response, the actual number of player resources returned may be less than the specified maxResults. + * @param {string=} params.pageToken The token returned by the previous request. + * @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 + */ + listHidden(params?: Params$Resource$Applications$Listhidden, options?: MethodOptions): AxiosPromise; + listHidden(params: Params$Resource$Applications$Listhidden, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listHidden(params: Params$Resource$Applications$Listhidden, callback: BodyResponseCallback): void; + listHidden(callback: BodyResponseCallback): void; + } + interface Params$Resource$Applications$Listhidden { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The application ID from the Google Play developer console. + */ + applicationId?: string; + /** + * The maximum number of player resources to return in the response, used + * for paging. For any response, the actual number of player resources + * returned may be less than the specified maxResults. + */ + maxResults?: number; + /** + * The token returned by the previous request. + */ + pageToken?: string; + } + class Resource$Events { + root: Gamesmanagement; + constructor(root: Gamesmanagement); + getRoot(): Gamesmanagement; + /** + * gamesManagement.events.reset + * @desc Resets all player progress on the event with the given ID for the + * currently authenticated player. This method is only accessible to + * whitelisted tester accounts for your application. All quests for this + * player that use the event will also be reset. + * @alias gamesManagement.events.reset + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.eventId The ID of the event. + * @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 + */ + reset(params?: Params$Resource$Events$Reset, options?: MethodOptions): AxiosPromise; + reset(params: Params$Resource$Events$Reset, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + reset(params: Params$Resource$Events$Reset, callback: BodyResponseCallback): void; + reset(callback: BodyResponseCallback): void; + /** + * gamesManagement.events.resetAll + * @desc Resets all player progress on all events for the currently + * authenticated player. This method is only accessible to whitelisted + * tester accounts for your application. All quests for this player will + * also be reset. + * @alias gamesManagement.events.resetAll + * @memberOf! () + * + * @param {object=} params Parameters for request + * @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 + */ + resetAll(params?: Params$Resource$Events$Resetall, options?: MethodOptions): AxiosPromise; + resetAll(params: Params$Resource$Events$Resetall, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + resetAll(params: Params$Resource$Events$Resetall, callback: BodyResponseCallback): void; + resetAll(callback: BodyResponseCallback): void; + /** + * gamesManagement.events.resetAllForAllPlayers + * @desc Resets all draft events for all players. This method is only + * available to user accounts for your developer console. All quests that + * use any of these events will also be reset. + * @alias gamesManagement.events.resetAllForAllPlayers + * @memberOf! () + * + * @param {object=} params Parameters for request + * @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 + */ + resetAllForAllPlayers(params?: Params$Resource$Events$Resetallforallplayers, options?: MethodOptions): AxiosPromise; + resetAllForAllPlayers(params: Params$Resource$Events$Resetallforallplayers, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + resetAllForAllPlayers(params: Params$Resource$Events$Resetallforallplayers, callback: BodyResponseCallback): void; + resetAllForAllPlayers(callback: BodyResponseCallback): void; + /** + * gamesManagement.events.resetForAllPlayers + * @desc Resets the event with the given ID for all players. This method is + * only available to user accounts for your developer console. Only draft + * events can be reset. All quests that use the event will also be reset. + * @alias gamesManagement.events.resetForAllPlayers + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.eventId The ID of the event. + * @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 + */ + resetForAllPlayers(params?: Params$Resource$Events$Resetforallplayers, options?: MethodOptions): AxiosPromise; + resetForAllPlayers(params: Params$Resource$Events$Resetforallplayers, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + resetForAllPlayers(params: Params$Resource$Events$Resetforallplayers, callback: BodyResponseCallback): void; + resetForAllPlayers(callback: BodyResponseCallback): void; + /** + * gamesManagement.events.resetMultipleForAllPlayers + * @desc Resets events with the given IDs for all players. This method is + * only available to user accounts for your developer console. Only draft + * events may be reset. All quests that use any of the events will also be + * reset. + * @alias gamesManagement.events.resetMultipleForAllPlayers + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().EventsResetMultipleForAllRequest} 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 + */ + resetMultipleForAllPlayers(params?: Params$Resource$Events$Resetmultipleforallplayers, options?: MethodOptions): AxiosPromise; + resetMultipleForAllPlayers(params: Params$Resource$Events$Resetmultipleforallplayers, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + resetMultipleForAllPlayers(params: Params$Resource$Events$Resetmultipleforallplayers, callback: BodyResponseCallback): void; + resetMultipleForAllPlayers(callback: BodyResponseCallback): void; + } + interface Params$Resource$Events$Reset { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the event. + */ + eventId?: string; + } + interface Params$Resource$Events$Resetall { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } + interface Params$Resource$Events$Resetallforallplayers { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } + interface Params$Resource$Events$Resetforallplayers { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the event. + */ + eventId?: string; + } + interface Params$Resource$Events$Resetmultipleforallplayers { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$EventsResetMultipleForAllRequest; + } + class Resource$Players { + root: Gamesmanagement; + constructor(root: Gamesmanagement); + getRoot(): Gamesmanagement; + /** + * gamesManagement.players.hide + * @desc Hide the given player's leaderboard scores from the given + * application. This method is only available to user accounts for your + * developer console. + * @alias gamesManagement.players.hide + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.applicationId The application ID from the Google Play developer console. + * @param {string} params.playerId A player ID. A value of me may be used in place of the authenticated player's ID. + * @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 + */ + hide(params?: Params$Resource$Players$Hide, options?: MethodOptions): AxiosPromise; + hide(params: Params$Resource$Players$Hide, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + hide(params: Params$Resource$Players$Hide, callback: BodyResponseCallback): void; + hide(callback: BodyResponseCallback): void; + /** + * gamesManagement.players.unhide + * @desc Unhide the given player's leaderboard scores from the given + * application. This method is only available to user accounts for your + * developer console. + * @alias gamesManagement.players.unhide + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.applicationId The application ID from the Google Play developer console. + * @param {string} params.playerId A player ID. A value of me may be used in place of the authenticated player's ID. + * @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 + */ + unhide(params?: Params$Resource$Players$Unhide, options?: MethodOptions): AxiosPromise; + unhide(params: Params$Resource$Players$Unhide, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + unhide(params: Params$Resource$Players$Unhide, callback: BodyResponseCallback): void; + unhide(callback: BodyResponseCallback): void; + } + interface Params$Resource$Players$Hide { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The application ID from the Google Play developer console. + */ + applicationId?: string; + /** + * A player ID. A value of me may be used in place of the authenticated + * player's ID. + */ + playerId?: string; + } + interface Params$Resource$Players$Unhide { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The application ID from the Google Play developer console. + */ + applicationId?: string; + /** + * A player ID. A value of me may be used in place of the authenticated + * player's ID. + */ + playerId?: string; + } + class Resource$Quests { + root: Gamesmanagement; + constructor(root: Gamesmanagement); + getRoot(): Gamesmanagement; + /** + * gamesManagement.quests.reset + * @desc Resets all player progress on the quest with the given ID for the + * currently authenticated player. This method is only accessible to + * whitelisted tester accounts for your application. + * @alias gamesManagement.quests.reset + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.questId The ID of the quest. + * @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 + */ + reset(params?: Params$Resource$Quests$Reset, options?: MethodOptions): AxiosPromise; + reset(params: Params$Resource$Quests$Reset, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + reset(params: Params$Resource$Quests$Reset, callback: BodyResponseCallback): void; + reset(callback: BodyResponseCallback): void; + /** + * gamesManagement.quests.resetAll + * @desc Resets all player progress on all quests for the currently + * authenticated player. This method is only accessible to whitelisted + * tester accounts for your application. + * @alias gamesManagement.quests.resetAll + * @memberOf! () + * + * @param {object=} params Parameters for request + * @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 + */ + resetAll(params?: Params$Resource$Quests$Resetall, options?: MethodOptions): AxiosPromise; + resetAll(params: Params$Resource$Quests$Resetall, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + resetAll(params: Params$Resource$Quests$Resetall, callback: BodyResponseCallback): void; + resetAll(callback: BodyResponseCallback): void; + /** + * gamesManagement.quests.resetAllForAllPlayers + * @desc Resets all draft quests for all players. This method is only + * available to user accounts for your developer console. + * @alias gamesManagement.quests.resetAllForAllPlayers + * @memberOf! () + * + * @param {object=} params Parameters for request + * @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 + */ + resetAllForAllPlayers(params?: Params$Resource$Quests$Resetallforallplayers, options?: MethodOptions): AxiosPromise; + resetAllForAllPlayers(params: Params$Resource$Quests$Resetallforallplayers, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + resetAllForAllPlayers(params: Params$Resource$Quests$Resetallforallplayers, callback: BodyResponseCallback): void; + resetAllForAllPlayers(callback: BodyResponseCallback): void; + /** + * gamesManagement.quests.resetForAllPlayers + * @desc Resets all player progress on the quest with the given ID for all + * players. This method is only available to user accounts for your + * developer console. Only draft quests can be reset. + * @alias gamesManagement.quests.resetForAllPlayers + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.questId The ID of the quest. + * @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 + */ + resetForAllPlayers(params?: Params$Resource$Quests$Resetforallplayers, options?: MethodOptions): AxiosPromise; + resetForAllPlayers(params: Params$Resource$Quests$Resetforallplayers, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + resetForAllPlayers(params: Params$Resource$Quests$Resetforallplayers, callback: BodyResponseCallback): void; + resetForAllPlayers(callback: BodyResponseCallback): void; + /** + * gamesManagement.quests.resetMultipleForAllPlayers + * @desc Resets quests with the given IDs for all players. This method is + * only available to user accounts for your developer console. Only draft + * quests may be reset. + * @alias gamesManagement.quests.resetMultipleForAllPlayers + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().QuestsResetMultipleForAllRequest} 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 + */ + resetMultipleForAllPlayers(params?: Params$Resource$Quests$Resetmultipleforallplayers, options?: MethodOptions): AxiosPromise; + resetMultipleForAllPlayers(params: Params$Resource$Quests$Resetmultipleforallplayers, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + resetMultipleForAllPlayers(params: Params$Resource$Quests$Resetmultipleforallplayers, callback: BodyResponseCallback): void; + resetMultipleForAllPlayers(callback: BodyResponseCallback): void; + } + interface Params$Resource$Quests$Reset { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the quest. + */ + questId?: string; + } + interface Params$Resource$Quests$Resetall { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } + interface Params$Resource$Quests$Resetallforallplayers { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } + interface Params$Resource$Quests$Resetforallplayers { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the quest. + */ + questId?: string; + } + interface Params$Resource$Quests$Resetmultipleforallplayers { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$QuestsResetMultipleForAllRequest; + } + class Resource$Rooms { + root: Gamesmanagement; + constructor(root: Gamesmanagement); + getRoot(): Gamesmanagement; + /** + * gamesManagement.rooms.reset + * @desc Reset all rooms for the currently authenticated player for your + * application. This method is only accessible to whitelisted tester + * accounts for your application. + * @alias gamesManagement.rooms.reset + * @memberOf! () + * + * @param {object=} params Parameters for request + * @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 + */ + reset(params?: Params$Resource$Rooms$Reset, options?: MethodOptions): AxiosPromise; + reset(params: Params$Resource$Rooms$Reset, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + reset(params: Params$Resource$Rooms$Reset, callback: BodyResponseCallback): void; + reset(callback: BodyResponseCallback): void; + /** + * gamesManagement.rooms.resetForAllPlayers + * @desc Deletes rooms where the only room participants are from whitelisted + * tester accounts for your application. This method is only available to + * user accounts for your developer console. + * @alias gamesManagement.rooms.resetForAllPlayers + * @memberOf! () + * + * @param {object=} params Parameters for request + * @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 + */ + resetForAllPlayers(params?: Params$Resource$Rooms$Resetforallplayers, options?: MethodOptions): AxiosPromise; + resetForAllPlayers(params: Params$Resource$Rooms$Resetforallplayers, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + resetForAllPlayers(params: Params$Resource$Rooms$Resetforallplayers, callback: BodyResponseCallback): void; + resetForAllPlayers(callback: BodyResponseCallback): void; + } + interface Params$Resource$Rooms$Reset { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } + interface Params$Resource$Rooms$Resetforallplayers { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } + class Resource$Scores { + root: Gamesmanagement; + constructor(root: Gamesmanagement); + getRoot(): Gamesmanagement; + /** + * gamesManagement.scores.reset + * @desc Resets scores for the leaderboard with the given ID for the + * currently authenticated player. This method is only accessible to + * whitelisted tester accounts for your application. + * @alias gamesManagement.scores.reset + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.leaderboardId The ID of the leaderboard. + * @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 + */ + reset(params?: Params$Resource$Scores$Reset, options?: MethodOptions): AxiosPromise; + reset(params: Params$Resource$Scores$Reset, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + reset(params: Params$Resource$Scores$Reset, callback: BodyResponseCallback): void; + reset(callback: BodyResponseCallback): void; + /** + * gamesManagement.scores.resetAll + * @desc Resets all scores for all leaderboards for the currently + * authenticated players. This method is only accessible to whitelisted + * tester accounts for your application. + * @alias gamesManagement.scores.resetAll + * @memberOf! () + * + * @param {object=} params Parameters for request + * @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 + */ + resetAll(params?: Params$Resource$Scores$Resetall, options?: MethodOptions): AxiosPromise; + resetAll(params: Params$Resource$Scores$Resetall, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + resetAll(params: Params$Resource$Scores$Resetall, callback: BodyResponseCallback): void; + resetAll(callback: BodyResponseCallback): void; + /** + * gamesManagement.scores.resetAllForAllPlayers + * @desc Resets scores for all draft leaderboards for all players. This + * method is only available to user accounts for your developer console. + * @alias gamesManagement.scores.resetAllForAllPlayers + * @memberOf! () + * + * @param {object=} params Parameters for request + * @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 + */ + resetAllForAllPlayers(params?: Params$Resource$Scores$Resetallforallplayers, options?: MethodOptions): AxiosPromise; + resetAllForAllPlayers(params: Params$Resource$Scores$Resetallforallplayers, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + resetAllForAllPlayers(params: Params$Resource$Scores$Resetallforallplayers, callback: BodyResponseCallback): void; + resetAllForAllPlayers(callback: BodyResponseCallback): void; + /** + * gamesManagement.scores.resetForAllPlayers + * @desc Resets scores for the leaderboard with the given ID for all + * players. This method is only available to user accounts for your + * developer console. Only draft leaderboards can be reset. + * @alias gamesManagement.scores.resetForAllPlayers + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.leaderboardId The ID of the leaderboard. + * @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 + */ + resetForAllPlayers(params?: Params$Resource$Scores$Resetforallplayers, options?: MethodOptions): AxiosPromise; + resetForAllPlayers(params: Params$Resource$Scores$Resetforallplayers, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + resetForAllPlayers(params: Params$Resource$Scores$Resetforallplayers, callback: BodyResponseCallback): void; + resetForAllPlayers(callback: BodyResponseCallback): void; + /** + * gamesManagement.scores.resetMultipleForAllPlayers + * @desc Resets scores for the leaderboards with the given IDs for all + * players. This method is only available to user accounts for your + * developer console. Only draft leaderboards may be reset. + * @alias gamesManagement.scores.resetMultipleForAllPlayers + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().ScoresResetMultipleForAllRequest} 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 + */ + resetMultipleForAllPlayers(params?: Params$Resource$Scores$Resetmultipleforallplayers, options?: MethodOptions): AxiosPromise; + resetMultipleForAllPlayers(params: Params$Resource$Scores$Resetmultipleforallplayers, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + resetMultipleForAllPlayers(params: Params$Resource$Scores$Resetmultipleforallplayers, callback: BodyResponseCallback): void; + resetMultipleForAllPlayers(callback: BodyResponseCallback): void; + } + interface Params$Resource$Scores$Reset { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the leaderboard. + */ + leaderboardId?: string; + } + interface Params$Resource$Scores$Resetall { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } + interface Params$Resource$Scores$Resetallforallplayers { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } + interface Params$Resource$Scores$Resetforallplayers { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the leaderboard. + */ + leaderboardId?: string; + } + interface Params$Resource$Scores$Resetmultipleforallplayers { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$ScoresResetMultipleForAllRequest; + } + class Resource$Turnbasedmatches { + root: Gamesmanagement; + constructor(root: Gamesmanagement); + getRoot(): Gamesmanagement; + /** + * gamesManagement.turnBasedMatches.reset + * @desc Reset all turn-based match data for a user. This method is only + * accessible to whitelisted tester accounts for your application. + * @alias gamesManagement.turnBasedMatches.reset + * @memberOf! () + * + * @param {object=} params Parameters for request + * @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 + */ + reset(params?: Params$Resource$Turnbasedmatches$Reset, options?: MethodOptions): AxiosPromise; + reset(params: Params$Resource$Turnbasedmatches$Reset, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + reset(params: Params$Resource$Turnbasedmatches$Reset, callback: BodyResponseCallback): void; + reset(callback: BodyResponseCallback): void; + /** + * gamesManagement.turnBasedMatches.resetForAllPlayers + * @desc Deletes turn-based matches where the only match participants are + * from whitelisted tester accounts for your application. This method is + * only available to user accounts for your developer console. + * @alias gamesManagement.turnBasedMatches.resetForAllPlayers + * @memberOf! () + * + * @param {object=} params Parameters for request + * @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 + */ + resetForAllPlayers(params?: Params$Resource$Turnbasedmatches$Resetforallplayers, options?: MethodOptions): AxiosPromise; + resetForAllPlayers(params: Params$Resource$Turnbasedmatches$Resetforallplayers, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + resetForAllPlayers(params: Params$Resource$Turnbasedmatches$Resetforallplayers, callback: BodyResponseCallback): void; + resetForAllPlayers(callback: BodyResponseCallback): void; + } + interface Params$Resource$Turnbasedmatches$Reset { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } + interface Params$Resource$Turnbasedmatches$Resetforallplayers { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/gamesManagement/v1management.js b/express-server/node_modules/googleapis/build/src/apis/gamesManagement/v1management.js new file mode 100644 index 00000000..b1348661 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/gamesManagement/v1management.js @@ -0,0 +1,994 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var gamesManagement_v1management; +(function (gamesManagement_v1management) { + /** + * Google Play Game Services Management API + * + * The Management API for Google Play Game Services. + * + * @example + * const {google} = require('googleapis'); + * const gamesManagement = google.gamesManagement('v1management'); + * + * @namespace gamesManagement + * @type {Function} + * @version v1management + * @variation v1management + * @param {object=} options Options for Gamesmanagement + */ + class Gamesmanagement { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.achievements = new Resource$Achievements(this); + this.applications = new Resource$Applications(this); + this.events = new Resource$Events(this); + this.players = new Resource$Players(this); + this.quests = new Resource$Quests(this); + this.rooms = new Resource$Rooms(this); + this.scores = new Resource$Scores(this); + this.turnBasedMatches = new Resource$Turnbasedmatches(this); + } + getRoot() { + return this.root; + } + } + gamesManagement_v1management.Gamesmanagement = Gamesmanagement; + class Resource$Achievements { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + reset(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/games/v1management/achievements/{achievementId}/reset') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['achievementId'], + pathParams: ['achievementId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + resetAll(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1management/achievements/reset') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + resetAllForAllPlayers(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/games/v1management/achievements/resetAllForAllPlayers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + resetForAllPlayers(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/games/v1management/achievements/{achievementId}/resetForAllPlayers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['achievementId'], + pathParams: ['achievementId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + resetMultipleForAllPlayers(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/games/v1management/achievements/resetMultipleForAllPlayers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + gamesManagement_v1management.Resource$Achievements = Resource$Achievements; + class Resource$Applications { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + listHidden(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/games/v1management/applications/{applicationId}/players/hidden') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['applicationId'], + pathParams: ['applicationId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + gamesManagement_v1management.Resource$Applications = Resource$Applications; + class Resource$Events { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + reset(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1management/events/{eventId}/reset') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['eventId'], + pathParams: ['eventId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + resetAll(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1management/events/reset') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + resetAllForAllPlayers(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1management/events/resetAllForAllPlayers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + resetForAllPlayers(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/games/v1management/events/{eventId}/resetForAllPlayers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['eventId'], + pathParams: ['eventId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + resetMultipleForAllPlayers(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/games/v1management/events/resetMultipleForAllPlayers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + gamesManagement_v1management.Resource$Events = Resource$Events; + class Resource$Players { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + hide(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/games/v1management/applications/{applicationId}/players/hidden/{playerId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['applicationId', 'playerId'], + pathParams: ['applicationId', 'playerId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + unhide(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/games/v1management/applications/{applicationId}/players/hidden/{playerId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['applicationId', 'playerId'], + pathParams: ['applicationId', 'playerId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + gamesManagement_v1management.Resource$Players = Resource$Players; + class Resource$Quests { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + reset(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1management/quests/{questId}/reset') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['questId'], + pathParams: ['questId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + resetAll(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1management/quests/reset') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + resetAllForAllPlayers(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1management/quests/resetAllForAllPlayers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + resetForAllPlayers(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/games/v1management/quests/{questId}/resetForAllPlayers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['questId'], + pathParams: ['questId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + resetMultipleForAllPlayers(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/games/v1management/quests/resetMultipleForAllPlayers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + gamesManagement_v1management.Resource$Quests = Resource$Quests; + class Resource$Rooms { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + reset(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1management/rooms/reset') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + resetForAllPlayers(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1management/rooms/resetForAllPlayers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + gamesManagement_v1management.Resource$Rooms = Resource$Rooms; + class Resource$Scores { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + reset(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/games/v1management/leaderboards/{leaderboardId}/scores/reset') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['leaderboardId'], + pathParams: ['leaderboardId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + resetAll(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1management/scores/reset') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + resetAllForAllPlayers(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1management/scores/resetAllForAllPlayers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + resetForAllPlayers(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/games/v1management/leaderboards/{leaderboardId}/scores/resetForAllPlayers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['leaderboardId'], + pathParams: ['leaderboardId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + resetMultipleForAllPlayers(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/games/v1management/scores/resetMultipleForAllPlayers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + gamesManagement_v1management.Resource$Scores = Resource$Scores; + class Resource$Turnbasedmatches { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + reset(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/games/v1management/turnbasedmatches/reset') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + resetForAllPlayers(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/games/v1management/turnbasedmatches/resetForAllPlayers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + gamesManagement_v1management.Resource$Turnbasedmatches = Resource$Turnbasedmatches; +})(gamesManagement_v1management = exports.gamesManagement_v1management || (exports.gamesManagement_v1management = {})); +//# sourceMappingURL=v1management.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/gamesManagement/v1management.js.map b/express-server/node_modules/googleapis/build/src/apis/gamesManagement/v1management.js.map new file mode 100644 index 00000000..6eff24be --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/gamesManagement/v1management.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1management.js","sourceRoot":"","sources":["../../../../src/apis/gamesManagement/v1management.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/genomics/README.md b/express-server/node_modules/googleapis/build/src/apis/genomics/README.md new file mode 100644 index 00000000..4cc3d6c7 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/genomics/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/genomics + +> Upload, process, query, and search Genomics data in the cloud. + +## Installation + +```sh +$ npm install @google/genomics +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/genomics/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/genomics/index.d.ts new file mode 100644 index 00000000..110eac40 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/genomics/index.d.ts @@ -0,0 +1,14 @@ +import { genomics_v1 } from './v1'; +import { genomics_v1alpha2 } from './v1alpha2'; +import { genomics_v2alpha1 } from './v2alpha1'; +export declare const VERSIONS: { + 'v1': typeof genomics_v1.Genomics; + 'v1alpha2': typeof genomics_v1alpha2.Genomics; + 'v2alpha1': typeof genomics_v2alpha1.Genomics; +}; +export declare function genomics(version: 'v1'): genomics_v1.Genomics; +export declare function genomics(options: genomics_v1.Options): genomics_v1.Genomics; +export declare function genomics(version: 'v1alpha2'): genomics_v1alpha2.Genomics; +export declare function genomics(options: genomics_v1alpha2.Options): genomics_v1alpha2.Genomics; +export declare function genomics(version: 'v2alpha1'): genomics_v2alpha1.Genomics; +export declare function genomics(options: genomics_v2alpha1.Options): genomics_v2alpha1.Genomics; diff --git a/express-server/node_modules/googleapis/build/src/apis/genomics/index.js b/express-server/node_modules/googleapis/build/src/apis/genomics/index.js new file mode 100644 index 00000000..f2ac4e97 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/genomics/index.js @@ -0,0 +1,29 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +const v1alpha2_1 = require("./v1alpha2"); +const v2alpha1_1 = require("./v2alpha1"); +exports.VERSIONS = { + 'v1': v1_1.genomics_v1.Genomics, + 'v1alpha2': v1alpha2_1.genomics_v1alpha2.Genomics, + 'v2alpha1': v2alpha1_1.genomics_v2alpha1.Genomics, +}; +function genomics(versionOrOptions) { + return googleapis_common_1.getAPI('genomics', versionOrOptions, exports.VERSIONS, this); +} +exports.genomics = genomics; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/genomics/index.js.map b/express-server/node_modules/googleapis/build/src/apis/genomics/index.js.map new file mode 100644 index 00000000..15032682 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/genomics/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/genomics/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAiC;AACjC,yCAA6C;AAC7C,yCAA6C;AAEhC,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,gBAAW,CAAC,QAAQ;IAC1B,UAAU,EAAE,4BAAiB,CAAC,QAAQ;IACtC,UAAU,EAAE,4BAAiB,CAAC,QAAQ;CACvC,CAAC;AAUF,SAAgB,QAAQ,CAIpB,gBAC8D;IAChE,OAAO,0BAAM,CAAI,UAAU,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACjE,CAAC;AAPD,4BAOC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/genomics/package.json b/express-server/node_modules/googleapis/build/src/apis/genomics/package.json new file mode 100644 index 00000000..062fddc3 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/genomics/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/genomics", + "version": "0.1.0", + "description": "genomics", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/genomics/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/genomics/v1.d.ts new file mode 100644 index 00000000..17412088 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/genomics/v1.d.ts @@ -0,0 +1,7233 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace genomics_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Genomics API + * + * Upload, process, query, and search Genomics data in the cloud. + * + * @example + * const {google} = require('googleapis'); + * const genomics = google.genomics('v1'); + * + * @namespace genomics + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Genomics + */ + class Genomics { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + annotations: Resource$Annotations; + annotationsets: Resource$Annotationsets; + callsets: Resource$Callsets; + datasets: Resource$Datasets; + operations: Resource$Operations; + readgroupsets: Resource$Readgroupsets; + reads: Resource$Reads; + references: Resource$References; + referencesets: Resource$Referencesets; + variants: Resource$Variants; + variantsets: Resource$Variantsets; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * An annotation describes a region of reference genome. The value of an + * annotation may be one of several canonical types, supplemented by arbitrary + * info tags. An annotation is not inherently associated with a specific + * sample or individual (though a client could choose to use annotations in + * this way). Example canonical annotation types are `GENE` and `VARIANT`. + */ + interface Schema$Annotation { + /** + * The annotation set to which this annotation belongs. + */ + annotationSetId?: string; + /** + * The end position of the range on the reference, 0-based exclusive. + */ + end?: string; + /** + * The server-generated annotation ID, unique across all annotations. + */ + id?: string; + /** + * A map of additional read alignment information. This must be of the form + * map<string, string[]> (string key mapping to a list of string + * values). + */ + info?: any; + /** + * The display name of this annotation. + */ + name?: string; + /** + * The ID of the Google Genomics reference associated with this range. + */ + referenceId?: string; + /** + * The display name corresponding to the reference specified by + * `referenceId`, for example `chr1`, `1`, or `chrX`. + */ + referenceName?: string; + /** + * Whether this range refers to the reverse strand, as opposed to the + * forward strand. Note that regardless of this field, the start/end + * position of the range always refer to the forward strand. + */ + reverseStrand?: boolean; + /** + * The start position of the range on the reference, 0-based inclusive. + */ + start?: string; + /** + * A transcript value represents the assertion that a particular region of + * the reference genome may be transcribed as RNA. An alternative splicing + * pattern would be represented as a separate transcript object. This field + * is only set for annotations of type `TRANSCRIPT`. + */ + transcript?: Schema$Transcript; + /** + * The data type for this annotation. Must match the containing annotation + * set's type. + */ + type?: string; + /** + * A variant annotation, which describes the effect of a variant on the + * genome, the coding sequence, and/or higher level consequences at the + * organism level e.g. pathogenicity. This field is only set for annotations + * of type `VARIANT`. + */ + variant?: Schema$VariantAnnotation; + } + /** + * An annotation set is a logical grouping of annotations that share + * consistent type information and provenance. Examples of annotation sets + * include 'all genes from refseq', and 'all variant annotations + * from ClinVar'. + */ + interface Schema$AnnotationSet { + /** + * The dataset to which this annotation set belongs. + */ + datasetId?: string; + /** + * The server-generated annotation set ID, unique across all annotation + * sets. + */ + id?: string; + /** + * A map of additional read alignment information. This must be of the form + * map<string, string[]> (string key mapping to a list of string + * values). + */ + info?: any; + /** + * The display name for this annotation set. + */ + name?: string; + /** + * The ID of the reference set that defines the coordinate space for this + * set's annotations. + */ + referenceSetId?: string; + /** + * The source URI describing the file from which this annotation set was + * generated, if any. + */ + sourceUri?: string; + /** + * The type of annotations contained within this set. + */ + type?: string; + } + interface Schema$BatchCreateAnnotationsRequest { + /** + * The annotations to be created. At most 4096 can be specified in a single + * request. + */ + annotations?: Schema$Annotation[]; + /** + * A unique request ID which enables the server to detect duplicated + * requests. If provided, duplicated requests will result in the same + * response; if not provided, duplicated requests may result in duplicated + * data. For a given annotation set, callers should not reuse `request_id`s + * when writing different batches of annotations - behavior in this case is + * undefined. A common approach is to use a UUID. For batch jobs where + * worker crashes are a possibility, consider using some unique variant of a + * worker or run ID. + */ + requestId?: string; + } + interface Schema$BatchCreateAnnotationsResponse { + /** + * The resulting per-annotation entries, ordered consistently with the + * original request. + */ + entries?: Schema$Entry[]; + } + /** + * Associates `members` with a `role`. + */ + interface Schema$Binding { + /** + * Unimplemented. The condition that is associated with this binding. NOTE: + * an unsatisfied condition will not allow user access via current binding. + * Different bindings, including their conditions, are examined + * independently. + */ + condition?: Schema$Expr; + /** + * Specifies the identities requesting access for a Cloud Platform resource. + * `members` can have the following values: * `allUsers`: A special + * identifier that represents anyone who is on the internet; with or + * without a Google account. * `allAuthenticatedUsers`: A special + * identifier that represents anyone who is authenticated with a Google + * account or a service account. * `user:{emailid}`: An email address that + * represents a specific Google account. For example, `alice@gmail.com` . + * * `serviceAccount:{emailid}`: An email address that represents a service + * account. For example, `my-other-app@appspot.gserviceaccount.com`. * + * `group:{emailid}`: An email address that represents a Google group. For + * example, `admins@example.com`. * `domain:{domain}`: A Google Apps + * domain name that represents all the users of that domain. For example, + * `google.com` or `example.com`. + */ + members?: string[]; + /** + * Role that is assigned to `members`. For example, `roles/viewer`, + * `roles/editor`, or `roles/owner`. + */ + role?: string; + } + /** + * A call set is a collection of variant calls, typically for one sample. It + * belongs to a variant set. + */ + interface Schema$CallSet { + /** + * The date this call set was created in milliseconds from the epoch. + */ + created?: string; + /** + * The server-generated call set ID, unique across all call sets. + */ + id?: string; + /** + * A map of additional call set information. This must be of the form + * map<string, string[]> (string key mapping to a list of string + * values). + */ + info?: any; + /** + * The call set name. + */ + name?: string; + /** + * The sample ID this call set corresponds to. + */ + sampleId?: string; + /** + * The IDs of the variant sets this call set belongs to. This field must + * have exactly length one, as a call set belongs to a single variant set. + * This field is repeated for compatibility with the [GA4GH 0.5.1 + * API](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/variants.avdl#L76). + */ + variantSetIds?: string[]; + } + /** + * The request message for Operations.CancelOperation. + */ + interface Schema$CancelOperationRequest { + } + /** + * A single CIGAR operation. + */ + interface Schema$CigarUnit { + operation?: string; + /** + * The number of genomic bases that the operation runs for. Required. + */ + operationLength?: string; + /** + * `referenceSequence` is only used at mismatches (`SEQUENCE_MISMATCH`) and + * deletions (`DELETE`). Filling this field replaces SAM's MD tag. If + * the relevant information is not available, this field is unset. + */ + referenceSequence?: string; + } + interface Schema$ClinicalCondition { + /** + * The MedGen concept id associated with this gene. Search for these IDs at + * http://www.ncbi.nlm.nih.gov/medgen/ + */ + conceptId?: string; + /** + * The set of external IDs for this condition. + */ + externalIds?: Schema$ExternalId[]; + /** + * A set of names for the condition. + */ + names?: string[]; + /** + * The OMIM id for this condition. Search for these IDs at http://omim.org/ + */ + omimId?: string; + } + interface Schema$CodingSequence { + /** + * The end of the coding sequence on this annotation's reference + * sequence, 0-based exclusive. Note that this position is relative to the + * reference start, and *not* the containing annotation start. + */ + end?: string; + /** + * The start of the coding sequence on this annotation's reference + * sequence, 0-based inclusive. Note that this position is relative to the + * reference start, and *not* the containing annotation start. + */ + start?: string; + } + /** + * Describes a Compute Engine resource that is being managed by a running + * pipeline. + */ + interface Schema$ComputeEngine { + /** + * The names of the disks that were created for this pipeline. + */ + diskNames?: string[]; + /** + * The instance on which the operation is running. + */ + instanceName?: string; + /** + * The machine type of the instance. + */ + machineType?: string; + /** + * The availability zone in which the instance resides. + */ + zone?: string; + } + /** + * An event generated when a container is forcibly terminated by the worker. + * Currently, this only occurs when the container outlives the timeout + * specified by the user. + */ + interface Schema$ContainerKilledEvent { + /** + * The numeric ID of the action that started the container. + */ + actionId?: number; + } + /** + * An event generated when a container starts. + */ + interface Schema$ContainerStartedEvent { + /** + * The numeric ID of the action that started this container. + */ + actionId?: number; + /** + * The public IP address that can be used to connect to the container. This + * field is only populated when at least one port mapping is present. If the + * instance was created with a private address, this field will be empty + * even if port mappings exist. + */ + ipAddress?: string; + /** + * The container-to-host port mappings installed for this container. This + * set will contain any ports exposed using the `PUBLISH_EXPOSED_PORTS` flag + * as well as any specified in the `Action` definition. + */ + portMappings?: any; + } + /** + * An event generated when a container exits. + */ + interface Schema$ContainerStoppedEvent { + /** + * The numeric ID of the action that started this container. + */ + actionId?: number; + /** + * The exit status of the container. + */ + exitStatus?: number; + /** + * The tail end of any content written to standard error by the container. + * If the content emits large amounts of debugging noise or contains + * sensitive information, you can prevent the content from being printed by + * setting the `DISABLE_STANDARD_ERROR_CAPTURE` flag. Note that only a + * small amount of the end of the stream is captured here. The entire stream + * is stored in the `/google/logs` directory mounted into each action, and + * can be copied off the machine as described elsewhere. + */ + stderr?: string; + } + /** + * A bucket over which read coverage has been precomputed. A bucket + * corresponds to a specific range of the reference sequence. + */ + interface Schema$CoverageBucket { + /** + * The average number of reads which are aligned to each individual + * reference base in this bucket. + */ + meanCoverage?: number; + /** + * The genomic coordinate range spanned by this bucket. + */ + range?: Schema$Range; + } + /** + * A Dataset is a collection of genomic data. + */ + interface Schema$Dataset { + /** + * The time this dataset was created, in seconds from the epoch. + */ + createTime?: string; + /** + * The server-generated dataset ID, unique across all datasets. + */ + id?: string; + /** + * The dataset name. + */ + name?: string; + /** + * The Google Cloud project ID that this dataset belongs to. + */ + projectId?: string; + } + /** + * An event generated whenever a resource limitation or transient error delays + * execution of a pipeline that was otherwise ready to run. + */ + interface Schema$DelayedEvent { + /** + * A textual description of the cause of the delay. The string can change + * without notice because it is often generated by another service (such as + * Compute Engine). + */ + cause?: string; + /** + * If the delay was caused by a resource shortage, this field lists the + * Compute Engine metrics that are preventing this operation from running + * (for example, `CPUS` or `INSTANCES`). If the particular metric is not + * known, a single `UNKNOWN` metric will be present. + */ + metrics?: string[]; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + interface Schema$Entry { + /** + * The created annotation, if creation was successful. + */ + annotation?: Schema$Annotation; + /** + * The creation status. + */ + status?: Schema$Status; + } + /** + * Carries information about events that occur during pipeline execution. + */ + interface Schema$Event { + /** + * A human-readable description of the event. Note that these strings can + * change at any time without notice. Any application logic must use the + * information in the `details` field. + */ + description?: string; + /** + * Machine-readable details about the event. + */ + details?: any; + /** + * The time at which the event occurred. + */ + timestamp?: string; + } + interface Schema$Exon { + /** + * The end position of the exon on this annotation's reference sequence, + * 0-based exclusive. Note that this is relative to the reference start, and + * *not* the containing annotation start. + */ + end?: string; + /** + * The frame of this exon. Contains a value of 0, 1, or 2, which indicates + * the offset of the first coding base of the exon within the reading frame + * of the coding DNA sequence, if any. This field is dependent on the + * strandedness of this annotation (see Annotation.reverse_strand). For + * forward stranded annotations, this offset is relative to the exon.start. + * For reverse strand annotations, this offset is relative to the exon.end + * `- 1`. Unset if this exon does not intersect the coding sequence. Upon + * creation of a transcript, the frame must be populated for all or none of + * the coding exons. + */ + frame?: number; + /** + * The start position of the exon on this annotation's reference + * sequence, 0-based inclusive. Note that this is relative to the reference + * start, and **not** the containing annotation start. + */ + start?: string; + } + interface Schema$Experiment { + /** + * The instrument model used as part of this experiment. This maps to + * sequencing technology in the SAM spec. + */ + instrumentModel?: string; + /** + * A client-supplied library identifier; a library is a collection of DNA + * fragments which have been prepared for sequencing from a sample. This + * field is important for quality control as error or bias can be introduced + * during sample preparation. + */ + libraryId?: string; + /** + * The platform unit used as part of this experiment, for example + * flowcell-barcode.lane for Illumina or slide for SOLiD. Corresponds to the + * @RG PU field in the SAM spec. + */ + platformUnit?: string; + /** + * The sequencing center used as part of this experiment. + */ + sequencingCenter?: string; + } + /** + * The read group set export request. + */ + interface Schema$ExportReadGroupSetRequest { + /** + * Required. A Google Cloud Storage URI for the exported BAM file. The + * currently authenticated user must have write access to the new file. An + * error will be returned if the URI already contains data. + */ + exportUri?: string; + /** + * Required. The Google Cloud project ID that owns this export. The caller + * must have WRITE access to this project. + */ + projectId?: string; + /** + * The reference names to export. If this is not specified, all reference + * sequences, including unmapped reads, are exported. Use `*` to export only + * unmapped reads. + */ + referenceNames?: string[]; + } + /** + * The variant data export request. + */ + interface Schema$ExportVariantSetRequest { + /** + * Required. The BigQuery dataset to export data to. This dataset must + * already exist. Note that this is distinct from the Genomics concept of + * "dataset". + */ + bigqueryDataset?: string; + /** + * Required. The BigQuery table to export data to. If the table doesn't + * exist, it will be created. If it already exists, it will be overwritten. + */ + bigqueryTable?: string; + /** + * If provided, only variant call information from the specified call sets + * will be exported. By default all variant calls are exported. + */ + callSetIds?: string[]; + /** + * The format for the exported data. + */ + format?: string; + /** + * Required. The Google Cloud project ID that owns the destination BigQuery + * dataset. The caller must have WRITE access to this project. This project + * will also own the resulting export job. + */ + projectId?: string; + } + /** + * Represents an expression text. Example: title: "User account + * presence" description: "Determines whether the request has a + * user account" expression: "size(request.user) > 0" + */ + interface Schema$Expr { + /** + * An optional description of the expression. This is a longer text which + * describes the expression, e.g. when hovered over it in a UI. + */ + description?: string; + /** + * Textual representation of an expression in Common Expression Language + * syntax. The application context of the containing message determines + * which well-known feature set of CEL is supported. + */ + expression?: string; + /** + * An optional string indicating the location of the expression for error + * reporting, e.g. a file name and a position in the file. + */ + location?: string; + /** + * An optional title for the expression, i.e. a short string describing its + * purpose. This can be used e.g. in UIs which allow to enter the + * expression. + */ + title?: string; + } + interface Schema$ExternalId { + /** + * The id used by the source of this data. + */ + id?: string; + /** + * The name of the source of this data. + */ + sourceName?: string; + } + /** + * An event generated when the execution of a pipeline has failed. Note that + * other events can continue to occur after this event. + */ + interface Schema$FailedEvent { + /** + * The human-readable description of the cause of the failure. + */ + cause?: string; + /** + * The Google standard error code that best describes this failure. + */ + code?: string; + } + /** + * Request message for `GetIamPolicy` method. + */ + interface Schema$GetIamPolicyRequest { + } + /** + * The read group set import request. + */ + interface Schema$ImportReadGroupSetsRequest { + /** + * Required. The ID of the dataset these read group sets will belong to. The + * caller must have WRITE permissions to this dataset. + */ + datasetId?: string; + /** + * The partition strategy describes how read groups are partitioned into + * read group sets. + */ + partitionStrategy?: string; + /** + * The reference set to which the imported read group sets are aligned to, + * if any. The reference names of this reference set must be a superset of + * those found in the imported file headers. If no reference set id is + * provided, a best effort is made to associate with a matching reference + * set. + */ + referenceSetId?: string; + /** + * A list of URIs pointing at [BAM + * files](https://samtools.github.io/hts-specs/SAMv1.pdf) in Google Cloud + * Storage. Those URIs can include wildcards (*), but do not add or remove + * matching files before import has completed. Note that Google Cloud + * Storage object listing is only eventually consistent: files added may be + * not be immediately visible to everyone. Thus, if using a wildcard it is + * preferable not to start the import immediately after the files are + * created. + */ + sourceUris?: string[]; + } + /** + * The read group set import response. + */ + interface Schema$ImportReadGroupSetsResponse { + /** + * IDs of the read group sets that were created. + */ + readGroupSetIds?: string[]; + } + /** + * The variant data import request. + */ + interface Schema$ImportVariantsRequest { + /** + * The format of the variant data being imported. If unspecified, defaults + * to to `VCF`. + */ + format?: string; + /** + * A mapping between info field keys and the InfoMergeOperations to be + * performed on them. This is plumbed down to the MergeVariantRequests + * generated by the resulting import job. + */ + infoMergeConfig?: any; + /** + * Convert reference names to the canonical representation. hg19 haploytypes + * (those reference names containing "_hap") are not modified in + * any way. All other reference names are modified according to the + * following rules: The reference name is capitalized. The "chr" + * prefix is dropped for all autosomes and sex chromsomes. For example + * "chr17" becomes "17" and "chrX" becomes + * "X". All mitochondrial chromosomes ("chrM", + * "chrMT", etc) become "MT". + */ + normalizeReferenceNames?: boolean; + /** + * A list of URIs referencing variant files in Google Cloud Storage. URIs + * can include wildcards [as described + * here](https://cloud.google.com/storage/docs/gsutil/addlhelp/WildcardNames). + * Note that recursive wildcards ('**') are not supported. + */ + sourceUris?: string[]; + /** + * Required. The variant set to which variant data should be imported. + */ + variantSetId?: string; + } + /** + * The variant data import response. + */ + interface Schema$ImportVariantsResponse { + /** + * IDs of the call sets created during the import. + */ + callSetIds?: string[]; + } + /** + * A linear alignment can be represented by one CIGAR string. Describes the + * mapped position and local alignment of the read to the reference. + */ + interface Schema$LinearAlignment { + /** + * Represents the local alignment of this sequence (alignment matches, + * indels, etc) against the reference. + */ + cigar?: Schema$CigarUnit[]; + /** + * The mapping quality of this alignment. Represents how likely the read + * maps to this position as opposed to other locations. Specifically, this + * is -10 log10 Pr(mapping position is wrong), rounded to the nearest + * integer. + */ + mappingQuality?: number; + /** + * The position of this alignment. + */ + position?: Schema$Position; + } + interface Schema$ListBasesResponse { + /** + * The continuation token, which is used to page through large result sets. + * Provide this value in a subsequent request to return the next page of + * results. This field will be empty if there aren't any additional + * results. + */ + nextPageToken?: string; + /** + * The offset position (0-based) of the given `sequence` from the start of + * this `Reference`. This value will differ for each page in a paginated + * request. + */ + offset?: string; + /** + * A substring of the bases that make up this reference. + */ + sequence?: string; + } + interface Schema$ListCoverageBucketsResponse { + /** + * The length of each coverage bucket in base pairs. Note that buckets at + * the end of a reference sequence may be shorter. This value is omitted if + * the bucket width is infinity (the default behaviour, with no range or + * `targetBucketWidth`). + */ + bucketWidth?: string; + /** + * The coverage buckets. The list of buckets is sparse; a bucket with 0 + * overlapping reads is not returned. A bucket never crosses more than one + * reference sequence. Each bucket has width `bucketWidth`, unless its end + * is the end of the reference sequence. + */ + coverageBuckets?: Schema$CoverageBucket[]; + /** + * The continuation token, which is used to page through large result sets. + * Provide this value in a subsequent request to return the next page of + * results. This field will be empty if there aren't any additional + * results. + */ + nextPageToken?: string; + } + /** + * The dataset list response. + */ + interface Schema$ListDatasetsResponse { + /** + * The list of matching Datasets. + */ + datasets?: Schema$Dataset[]; + /** + * The continuation token, which is used to page through large result sets. + * Provide this value in a subsequent request to return the next page of + * results. This field will be empty if there aren't any additional + * results. + */ + nextPageToken?: string; + } + /** + * The response message for Operations.ListOperations. + */ + interface Schema$ListOperationsResponse { + /** + * The standard List next-page token. + */ + nextPageToken?: string; + /** + * A list of operations that matches the specified filter in the request. + */ + operations?: Schema$Operation[]; + } + interface Schema$MergeVariantsRequest { + /** + * A mapping between info field keys and the InfoMergeOperations to be + * performed on them. + */ + infoMergeConfig?: any; + /** + * The variants to be merged with existing variants. + */ + variants?: Schema$Variant[]; + /** + * The destination variant set. + */ + variantSetId?: string; + } + /** + * This resource represents a long-running operation that is the result of a + * network API call. + */ + interface Schema$Operation { + /** + * If the value is `false`, it means the operation is still in progress. If + * `true`, the operation is completed, and either `error` or `response` is + * available. + */ + done?: boolean; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * An OperationMetadata or Metadata object. This will always be returned + * with the Operation. + */ + metadata?: any; + /** + * The server-assigned name, which is only unique within the same service + * that originally returns it. For example&#58; + * `operations/CJHU7Oi_ChDrveSpBRjfuL-qzoWAgEw` + */ + name?: string; + /** + * If importing ReadGroupSets, an ImportReadGroupSetsResponse is returned. + * If importing Variants, an ImportVariantsResponse is returned. For + * pipelines and exports, an Empty response is returned. + */ + response?: any; + } + /** + * An event that occurred during an Operation. + */ + interface Schema$OperationEvent { + /** + * Required description of event. + */ + description?: string; + /** + * Optional time of when event finished. An event can have a start time and + * no finish time. If an event has a finish time, there must be a start + * time. + */ + endTime?: string; + /** + * Optional time of when event started. + */ + startTime?: string; + } + /** + * Metadata describing an Operation. + */ + interface Schema$OperationMetadata { + /** + * This field is deprecated. Use `labels` instead. Optionally provided by + * the caller when submitting the request that creates the operation. + */ + clientId?: string; + /** + * The time at which the job was submitted to the Genomics service. + */ + createTime?: string; + /** + * The time at which the job stopped running. + */ + endTime?: string; + /** + * Optional event messages that were generated during the job's + * execution. This also contains any warnings that were generated during + * import or export. + */ + events?: Schema$OperationEvent[]; + /** + * Optionally provided by the caller when submitting the request that + * creates the operation. + */ + labels?: any; + /** + * The Google Cloud Project in which the job is scoped. + */ + projectId?: string; + /** + * The original request that started the operation. Note that this will be + * in current version of the API. If the operation was started with v1beta2 + * API and a GetOperation is performed on v1 API, a v1 request will be + * returned. + */ + request?: any; + /** + * Runtime metadata on this Operation. + */ + runtimeMetadata?: any; + /** + * The time at which the job began to run. + */ + startTime?: string; + } + /** + * Defines an Identity and Access Management (IAM) policy. It is used to + * specify access control policies for Cloud Platform resources. A `Policy` + * consists of a list of `bindings`. A `binding` binds a list of `members` to + * a `role`, where the members can be user accounts, Google groups, Google + * domains, and service accounts. A `role` is a named list of permissions + * defined by IAM. **JSON Example** { "bindings": [ { + * "role": "roles/owner", "members": [ + * "user:mike@example.com", "group:admins@example.com", + * "domain:google.com", + * "serviceAccount:my-other-app@appspot.gserviceaccount.com" ] }, { + * "role": "roles/viewer", "members": + * ["user:sean@example.com"] } ] } **YAML + * Example** bindings: - members: - user:mike@example.com - + * group:admins@example.com - domain:google.com - + * serviceAccount:my-other-app@appspot.gserviceaccount.com role: + * roles/owner - members: - user:sean@example.com role: + * roles/viewer For a description of IAM and its features, see the [IAM + * developer's guide](https://cloud.google.com/iam/docs). + */ + interface Schema$Policy { + /** + * Associates a list of `members` to a `role`. `bindings` with no members + * will result in an error. + */ + bindings?: Schema$Binding[]; + /** + * `etag` is used for optimistic concurrency control as a way to help + * prevent simultaneous updates of a policy from overwriting each other. It + * is strongly suggested that systems make use of the `etag` in the + * read-modify-write cycle to perform policy updates in order to avoid race + * conditions: An `etag` is returned in the response to `getIamPolicy`, and + * systems are expected to put that etag in the request to `setIamPolicy` to + * ensure that their change will be applied to the same version of the + * policy. If no `etag` is provided in the call to `setIamPolicy`, then the + * existing policy is overwritten blindly. + */ + etag?: string; + /** + * Deprecated. + */ + version?: number; + } + /** + * An abstraction for referring to a genomic position, in relation to some + * already known reference. For now, represents a genomic position as a + * reference name, a base number on that reference (0-based), and a + * determination of forward or reverse strand. + */ + interface Schema$Position { + /** + * The 0-based offset from the start of the forward strand for that + * reference. + */ + position?: string; + /** + * The name of the reference in whatever reference set is being used. + */ + referenceName?: string; + /** + * Whether this position is on the reverse strand, as opposed to the forward + * strand. + */ + reverseStrand?: boolean; + } + interface Schema$Program { + /** + * The command line used to run this program. + */ + commandLine?: string; + /** + * The user specified locally unique ID of the program. Used along with + * `prevProgramId` to define an ordering between programs. + */ + id?: string; + /** + * The display name of the program. This is typically the colloquial name of + * the tool used, for example 'bwa' or 'picard'. + */ + name?: string; + /** + * The ID of the program run before this one. + */ + prevProgramId?: string; + /** + * The version of the program run. + */ + version?: string; + } + /** + * An event generated when the worker starts pulling an image. + */ + interface Schema$PullStartedEvent { + /** + * The URI of the image that was pulled. + */ + imageUri?: string; + } + /** + * An event generated when the worker stops pulling an image. + */ + interface Schema$PullStoppedEvent { + /** + * The URI of the image that was pulled. + */ + imageUri?: string; + } + /** + * A 0-based half-open genomic coordinate range for search requests. + */ + interface Schema$Range { + /** + * The end position of the range on the reference, 0-based exclusive. + */ + end?: string; + /** + * The reference sequence name, for example `chr1`, `1`, or `chrX`. + */ + referenceName?: string; + /** + * The start position of the range on the reference, 0-based inclusive. + */ + start?: string; + } + /** + * A read alignment describes a linear alignment of a string of DNA to a + * reference sequence, in addition to metadata about the fragment (the + * molecule of DNA sequenced) and the read (the bases which were read by the + * sequencer). A read is equivalent to a line in a SAM file. A read belongs to + * exactly one read group and exactly one read group set. ### + * Reverse-stranded reads Mapped reads (reads having a non-null `alignment`) + * can be aligned to either the forward or the reverse strand of their + * associated reference. Strandedness of a mapped read is encoded by + * `alignment.position.reverseStrand`. If we consider the reference to be a + * forward-stranded coordinate space of `[0, reference.length)` with `0` as + * the left-most position and `reference.length` as the right-most position, + * reads are always aligned left to right. That is, + * `alignment.position.position` always refers to the left-most reference + * coordinate and `alignment.cigar` describes the alignment of this read to + * the reference from left to right. All per-base fields such as + * `alignedSequence` and `alignedQuality` share this same left-to-right + * orientation; this is true of reads which are aligned to either strand. For + * reverse-stranded reads, this means that `alignedSequence` is the reverse + * complement of the bases that were originally reported by the sequencing + * machine. ### Generating a reference-aligned sequence string When + * interacting with mapped reads, it's often useful to produce a string + * representing the local alignment of the read to reference. The following + * pseudocode demonstrates one way of doing this: out = "" + * offset = 0 for c in read.alignment.cigar { switch c.operation { + * case "ALIGNMENT_MATCH", "SEQUENCE_MATCH", + * "SEQUENCE_MISMATCH": out += + * read.alignedSequence[offset:offset+c.operationLength] offset += + * c.operationLength break case "CLIP_SOFT", + * "INSERT": offset += c.operationLength break case + * "PAD": out += repeat("*", c.operationLength) + * break case "DELETE": out += repeat("-", + * c.operationLength) break case "SKIP": out + * += repeat(" ", c.operationLength) break case + * "CLIP_HARD": break } } return out ### + * Converting to SAM's CIGAR string The following pseudocode generates a + * SAM CIGAR string from the `cigar` field. Note that this is a lossy + * conversion (`cigar.referenceSequence` is lost). cigarMap = { + * "ALIGNMENT_MATCH": "M", "INSERT": + * "I", "DELETE": "D", "SKIP": + * "N", "CLIP_SOFT": "S", + * "CLIP_HARD": "H", "PAD": "P", + * "SEQUENCE_MATCH": "=", "SEQUENCE_MISMATCH": + * "X", } cigarStr = "" for c in + * read.alignment.cigar { cigarStr += c.operationLength + + * cigarMap[c.operation] } return cigarStr + */ + interface Schema$Read { + /** + * The quality of the read sequence contained in this alignment record + * (equivalent to QUAL in SAM). `alignedSequence` and `alignedQuality` may + * be shorter than the full read sequence and quality. This will occur if + * the alignment is part of a chimeric alignment, or if the read was + * trimmed. When this occurs, the CIGAR for this read will begin/end with a + * hard clip operator that will indicate the length of the excised sequence. + */ + alignedQuality?: number[]; + /** + * The bases of the read sequence contained in this alignment record, + * **without CIGAR operations applied** (equivalent to SEQ in SAM). + * `alignedSequence` and `alignedQuality` may be shorter than the full read + * sequence and quality. This will occur if the alignment is part of a + * chimeric alignment, or if the read was trimmed. When this occurs, the + * CIGAR for this read will begin/end with a hard clip operator that will + * indicate the length of the excised sequence. + */ + alignedSequence?: string; + /** + * The linear alignment for this alignment record. This field is null for + * unmapped reads. + */ + alignment?: Schema$LinearAlignment; + /** + * The fragment is a PCR or optical duplicate (SAM flag 0x400). + */ + duplicateFragment?: boolean; + /** + * Whether this read did not pass filters, such as platform or vendor + * quality controls (SAM flag 0x200). + */ + failedVendorQualityChecks?: boolean; + /** + * The observed length of the fragment, equivalent to TLEN in SAM. + */ + fragmentLength?: number; + /** + * The fragment name. Equivalent to QNAME (query template name) in SAM. + */ + fragmentName?: string; + /** + * The server-generated read ID, unique across all reads. This is different + * from the `fragmentName`. + */ + id?: string; + /** + * A map of additional read alignment information. This must be of the form + * map<string, string[]> (string key mapping to a list of string + * values). + */ + info?: any; + /** + * The mapping of the primary alignment of the `(readNumber+1)%numberReads` + * read in the fragment. It replaces mate position and mate strand in SAM. + */ + nextMatePosition?: Schema$Position; + /** + * The number of reads in the fragment (extension to SAM flag 0x1). + */ + numberReads?: number; + /** + * The orientation and the distance between reads from the fragment are + * consistent with the sequencing protocol (SAM flag 0x2). + */ + properPlacement?: boolean; + /** + * The ID of the read group this read belongs to. A read belongs to exactly + * one read group. This is a server-generated ID which is distinct from + * SAM's RG tag (for that value, see ReadGroup.name). + */ + readGroupId?: string; + /** + * The ID of the read group set this read belongs to. A read belongs to + * exactly one read group set. + */ + readGroupSetId?: string; + /** + * The read number in sequencing. 0-based and less than numberReads. This + * field replaces SAM flag 0x40 and 0x80. + */ + readNumber?: number; + /** + * Whether this alignment is secondary. Equivalent to SAM flag 0x100. A + * secondary alignment represents an alternative to the primary alignment + * for this read. Aligners may return secondary alignments if a read can map + * ambiguously to multiple coordinates in the genome. By convention, each + * read has one and only one alignment where both `secondaryAlignment` and + * `supplementaryAlignment` are false. + */ + secondaryAlignment?: boolean; + /** + * Whether this alignment is supplementary. Equivalent to SAM flag 0x800. + * Supplementary alignments are used in the representation of a chimeric + * alignment. In a chimeric alignment, a read is split into multiple linear + * alignments that map to different reference contigs. The first linear + * alignment in the read will be designated as the representative alignment; + * the remaining linear alignments will be designated as supplementary + * alignments. These alignments may have different mapping quality scores. + * In each linear alignment in a chimeric alignment, the read will be hard + * clipped. The `alignedSequence` and `alignedQuality` fields in the + * alignment record will only represent the bases for its respective linear + * alignment. + */ + supplementaryAlignment?: boolean; + } + /** + * A read group is all the data that's processed the same way by the + * sequencer. + */ + interface Schema$ReadGroup { + /** + * The dataset to which this read group belongs. + */ + datasetId?: string; + /** + * A free-form text description of this read group. + */ + description?: string; + /** + * The experiment used to generate this read group. + */ + experiment?: Schema$Experiment; + /** + * The server-generated read group ID, unique for all read groups. Note: + * This is different than the @RG ID field in the SAM spec. For that value, + * see name. + */ + id?: string; + /** + * A map of additional read group information. This must be of the form + * map<string, string[]> (string key mapping to a list of string + * values). + */ + info?: any; + /** + * The read group name. This corresponds to the @RG ID field in the SAM + * spec. + */ + name?: string; + /** + * The predicted insert size of this read group. The insert size is the + * length the sequenced DNA fragment from end-to-end, not including the + * adapters. + */ + predictedInsertSize?: number; + /** + * The programs used to generate this read group. Programs are always + * identical for all read groups within a read group set. For this reason, + * only the first read group in a returned set will have this field + * populated. + */ + programs?: Schema$Program[]; + /** + * The reference set the reads in this read group are aligned to. + */ + referenceSetId?: string; + /** + * A client-supplied sample identifier for the reads in this read group. + */ + sampleId?: string; + } + /** + * A read group set is a logical collection of read groups, which are + * collections of reads produced by a sequencer. A read group set typically + * models reads corresponding to one sample, sequenced one way, and aligned + * one way. * A read group set belongs to one dataset. * A read group belongs + * to one read group set. * A read belongs to one read group. + */ + interface Schema$ReadGroupSet { + /** + * The dataset to which this read group set belongs. + */ + datasetId?: string; + /** + * The filename of the original source file for this read group set, if any. + */ + filename?: string; + /** + * The server-generated read group set ID, unique for all read group sets. + */ + id?: string; + /** + * A map of additional read group set information. + */ + info?: any; + /** + * The read group set name. By default this will be initialized to the + * sample name of the sequenced data contained in this set. + */ + name?: string; + /** + * The read groups in this set. There are typically 1-10 read groups in a + * read group set. + */ + readGroups?: Schema$ReadGroup[]; + /** + * The reference set to which the reads in this read group set are aligned. + */ + referenceSetId?: string; + } + /** + * A reference is a canonical assembled DNA sequence, intended to act as a + * reference coordinate space for other genomic annotations. A single + * reference might represent the human chromosome 1 or mitochandrial DNA, for + * instance. A reference belongs to one or more reference sets. + */ + interface Schema$Reference { + /** + * The server-generated reference ID, unique across all references. + */ + id?: string; + /** + * The length of this reference's sequence. + */ + length?: string; + /** + * MD5 of the upper-case sequence excluding all whitespace characters (this + * is equivalent to SQ:M5 in SAM). This value is represented in lower case + * hexadecimal format. + */ + md5checksum?: string; + /** + * The name of this reference, for example `22`. + */ + name?: string; + /** + * ID from http://www.ncbi.nlm.nih.gov/taxonomy. For example, 9606 for + * human. + */ + ncbiTaxonId?: number; + /** + * All known corresponding accession IDs in INSDC (GenBank/ENA/DDBJ) ideally + * with a version number, for example `GCF_000001405.26`. + */ + sourceAccessions?: string[]; + /** + * The URI from which the sequence was obtained. Typically specifies a FASTA + * format file. + */ + sourceUri?: string; + } + /** + * ReferenceBound records an upper bound for the starting coordinate of + * variants in a particular reference. + */ + interface Schema$ReferenceBound { + /** + * The name of the reference associated with this reference bound. + */ + referenceName?: string; + /** + * An upper bound (inclusive) on the starting coordinate of any variant in + * the reference sequence. + */ + upperBound?: string; + } + /** + * A reference set is a set of references which typically comprise a reference + * assembly for a species, such as `GRCh38` which is representative of the + * human genome. A reference set defines a common coordinate space for + * comparing reference-aligned experimental data. A reference set contains 1 + * or more references. + */ + interface Schema$ReferenceSet { + /** + * Public id of this reference set, such as `GRCh37`. + */ + assemblyId?: string; + /** + * Free text description of this reference set. + */ + description?: string; + /** + * The server-generated reference set ID, unique across all reference sets. + */ + id?: string; + /** + * Order-independent MD5 checksum which identifies this reference set. The + * checksum is computed by sorting all lower case hexidecimal string + * `reference.md5checksum` (for all reference in this set) in ascending + * lexicographic order, concatenating, and taking the MD5 of that value. The + * resulting value is represented in lower case hexadecimal format. + */ + md5checksum?: string; + /** + * ID from http://www.ncbi.nlm.nih.gov/taxonomy (for example, 9606 for + * human) indicating the species which this reference set is intended to + * model. Note that contained references may specify a different + * `ncbiTaxonId`, as assemblies may contain reference sequences which do not + * belong to the modeled species, for example EBV in a human reference + * genome. + */ + ncbiTaxonId?: number; + /** + * The IDs of the reference objects that are part of this set. + * `Reference.md5checksum` must be unique within this set. + */ + referenceIds?: string[]; + /** + * All known corresponding accession IDs in INSDC (GenBank/ENA/DDBJ) ideally + * with a version number, for example `NC_000001.11`. + */ + sourceAccessions?: string[]; + /** + * The URI from which the references were obtained. + */ + sourceUri?: string; + } + /** + * The response to the RunPipeline method, returned in the operation's + * result field on success. + */ + interface Schema$RunPipelineResponse { + } + /** + * Runtime metadata that will be populated in the runtimeMetadata field of the + * Operation associated with a RunPipeline execution. + */ + interface Schema$RuntimeMetadata { + /** + * Execution information specific to Google Compute Engine. + */ + computeEngine?: Schema$ComputeEngine; + } + interface Schema$SearchAnnotationSetsRequest { + /** + * Required. The dataset IDs to search within. Caller must have `READ` + * access to these datasets. + */ + datasetIds?: string[]; + /** + * Only return annotations sets for which a substring of the name matches + * this string (case insensitive). + */ + name?: string; + /** + * The maximum number of results to return in a single page. If unspecified, + * defaults to 128. The maximum value is 1024. + */ + pageSize?: number; + /** + * The continuation token, which is used to page through large result sets. + * To get the next page of results, set this parameter to the value of + * `nextPageToken` from the previous response. + */ + pageToken?: string; + /** + * If specified, only annotation sets associated with the given reference + * set are returned. + */ + referenceSetId?: string; + /** + * If specified, only annotation sets that have any of these types are + * returned. + */ + types?: string[]; + } + interface Schema$SearchAnnotationSetsResponse { + /** + * The matching annotation sets. + */ + annotationSets?: Schema$AnnotationSet[]; + /** + * The continuation token, which is used to page through large result sets. + * Provide this value in a subsequent request to return the next page of + * results. This field will be empty if there aren't any additional + * results. + */ + nextPageToken?: string; + } + interface Schema$SearchAnnotationsRequest { + /** + * Required. The annotation sets to search within. The caller must have + * `READ` access to these annotation sets. All queried annotation sets must + * have the same type. + */ + annotationSetIds?: string[]; + /** + * The end position of the range on the reference, 0-based exclusive. If + * referenceId or referenceName must be specified, Defaults to the length of + * the reference. + */ + end?: string; + /** + * The maximum number of results to return in a single page. If unspecified, + * defaults to 256. The maximum value is 2048. + */ + pageSize?: number; + /** + * The continuation token, which is used to page through large result sets. + * To get the next page of results, set this parameter to the value of + * `nextPageToken` from the previous response. + */ + pageToken?: string; + /** + * The ID of the reference to query. + */ + referenceId?: string; + /** + * The name of the reference to query, within the reference set associated + * with this query. + */ + referenceName?: string; + /** + * The start position of the range on the reference, 0-based inclusive. If + * specified, referenceId or referenceName must be specified. Defaults to 0. + */ + start?: string; + } + interface Schema$SearchAnnotationsResponse { + /** + * The matching annotations. + */ + annotations?: Schema$Annotation[]; + /** + * The continuation token, which is used to page through large result sets. + * Provide this value in a subsequent request to return the next page of + * results. This field will be empty if there aren't any additional + * results. + */ + nextPageToken?: string; + } + /** + * The call set search request. + */ + interface Schema$SearchCallSetsRequest { + /** + * Only return call sets for which a substring of the name matches this + * string. + */ + name?: string; + /** + * The maximum number of results to return in a single page. If unspecified, + * defaults to 1024. + */ + pageSize?: number; + /** + * The continuation token, which is used to page through large result sets. + * To get the next page of results, set this parameter to the value of + * `nextPageToken` from the previous response. + */ + pageToken?: string; + /** + * Restrict the query to call sets within the given variant sets. At least + * one ID must be provided. + */ + variantSetIds?: string[]; + } + /** + * The call set search response. + */ + interface Schema$SearchCallSetsResponse { + /** + * The list of matching call sets. + */ + callSets?: Schema$CallSet[]; + /** + * The continuation token, which is used to page through large result sets. + * Provide this value in a subsequent request to return the next page of + * results. This field will be empty if there aren't any additional + * results. + */ + nextPageToken?: string; + } + /** + * The read group set search request. + */ + interface Schema$SearchReadGroupSetsRequest { + /** + * Restricts this query to read group sets within the given datasets. At + * least one ID must be provided. + */ + datasetIds?: string[]; + /** + * Only return read group sets for which a substring of the name matches + * this string. + */ + name?: string; + /** + * The maximum number of results to return in a single page. If unspecified, + * defaults to 256. The maximum value is 1024. + */ + pageSize?: number; + /** + * The continuation token, which is used to page through large result sets. + * To get the next page of results, set this parameter to the value of + * `nextPageToken` from the previous response. + */ + pageToken?: string; + } + /** + * The read group set search response. + */ + interface Schema$SearchReadGroupSetsResponse { + /** + * The continuation token, which is used to page through large result sets. + * Provide this value in a subsequent request to return the next page of + * results. This field will be empty if there aren't any additional + * results. + */ + nextPageToken?: string; + /** + * The list of matching read group sets. + */ + readGroupSets?: Schema$ReadGroupSet[]; + } + /** + * The read search request. + */ + interface Schema$SearchReadsRequest { + /** + * The end position of the range on the reference, 0-based exclusive. If + * specified, `referenceName` must also be specified. + */ + end?: string; + /** + * The maximum number of results to return in a single page. If unspecified, + * defaults to 256. The maximum value is 2048. + */ + pageSize?: number; + /** + * The continuation token, which is used to page through large result sets. + * To get the next page of results, set this parameter to the value of + * `nextPageToken` from the previous response. + */ + pageToken?: string; + /** + * The IDs of the read groups within which to search for reads. All + * specified read groups must belong to the same read group sets. Must + * specify one of `readGroupSetIds` or `readGroupIds`. + */ + readGroupIds?: string[]; + /** + * The IDs of the read groups sets within which to search for reads. All + * specified read group sets must be aligned against a common set of + * reference sequences; this defines the genomic coordinates for the query. + * Must specify one of `readGroupSetIds` or `readGroupIds`. + */ + readGroupSetIds?: string[]; + /** + * The reference sequence name, for example `chr1`, `1`, or `chrX`. If set + * to `*`, only unmapped reads are returned. If unspecified, all reads + * (mapped and unmapped) are returned. + */ + referenceName?: string; + /** + * The start position of the range on the reference, 0-based inclusive. If + * specified, `referenceName` must also be specified. + */ + start?: string; + } + /** + * The read search response. + */ + interface Schema$SearchReadsResponse { + /** + * The list of matching alignments sorted by mapped genomic coordinate, if + * any, ascending in position within the same reference. Unmapped reads, + * which have no position, are returned contiguously and are sorted in + * ascending lexicographic order by fragment name. + */ + alignments?: Schema$Read[]; + /** + * The continuation token, which is used to page through large result sets. + * Provide this value in a subsequent request to return the next page of + * results. This field will be empty if there aren't any additional + * results. + */ + nextPageToken?: string; + } + interface Schema$SearchReferenceSetsRequest { + /** + * If present, return reference sets for which a prefix of any of + * sourceAccessions match any of these strings. Accession numbers typically + * have a main number and a version, for example `NC_000001.11`. + */ + accessions?: string[]; + /** + * If present, return reference sets for which a substring of their + * `assemblyId` matches this string (case insensitive). + */ + assemblyId?: string; + /** + * If present, return reference sets for which the md5checksum matches + * exactly. + */ + md5checksums?: string[]; + /** + * The maximum number of results to return in a single page. If unspecified, + * defaults to 1024. The maximum value is 4096. + */ + pageSize?: number; + /** + * The continuation token, which is used to page through large result sets. + * To get the next page of results, set this parameter to the value of + * `nextPageToken` from the previous response. + */ + pageToken?: string; + } + interface Schema$SearchReferenceSetsResponse { + /** + * The continuation token, which is used to page through large result sets. + * Provide this value in a subsequent request to return the next page of + * results. This field will be empty if there aren't any additional + * results. + */ + nextPageToken?: string; + /** + * The matching references sets. + */ + referenceSets?: Schema$ReferenceSet[]; + } + interface Schema$SearchReferencesRequest { + /** + * If present, return references for which a prefix of any of + * sourceAccessions match any of these strings. Accession numbers typically + * have a main number and a version, for example `GCF_000001405.26`. + */ + accessions?: string[]; + /** + * If present, return references for which the md5checksum matches exactly. + */ + md5checksums?: string[]; + /** + * The maximum number of results to return in a single page. If unspecified, + * defaults to 1024. The maximum value is 4096. + */ + pageSize?: number; + /** + * The continuation token, which is used to page through large result sets. + * To get the next page of results, set this parameter to the value of + * `nextPageToken` from the previous response. + */ + pageToken?: string; + /** + * If present, return only references which belong to this reference set. + */ + referenceSetId?: string; + } + interface Schema$SearchReferencesResponse { + /** + * The continuation token, which is used to page through large result sets. + * Provide this value in a subsequent request to return the next page of + * results. This field will be empty if there aren't any additional + * results. + */ + nextPageToken?: string; + /** + * The matching references. + */ + references?: Schema$Reference[]; + } + /** + * The search variant sets request. + */ + interface Schema$SearchVariantSetsRequest { + /** + * Exactly one dataset ID must be provided here. Only variant sets which + * belong to this dataset will be returned. + */ + datasetIds?: string[]; + /** + * The maximum number of results to return in a single page. If unspecified, + * defaults to 1024. + */ + pageSize?: number; + /** + * The continuation token, which is used to page through large result sets. + * To get the next page of results, set this parameter to the value of + * `nextPageToken` from the previous response. + */ + pageToken?: string; + } + /** + * The search variant sets response. + */ + interface Schema$SearchVariantSetsResponse { + /** + * The continuation token, which is used to page through large result sets. + * Provide this value in a subsequent request to return the next page of + * results. This field will be empty if there aren't any additional + * results. + */ + nextPageToken?: string; + /** + * The variant sets belonging to the requested dataset. + */ + variantSets?: Schema$VariantSet[]; + } + /** + * The variant search request. + */ + interface Schema$SearchVariantsRequest { + /** + * Only return variant calls which belong to call sets with these ids. + * Leaving this blank returns all variant calls. If a variant has no calls + * belonging to any of these call sets, it won't be returned at all. + */ + callSetIds?: string[]; + /** + * The end of the window, 0-based exclusive. If unspecified or 0, defaults + * to the length of the reference. + */ + end?: string; + /** + * The maximum number of calls to return in a single page. Note that this + * limit may be exceeded in the event that a matching variant contains more + * calls than the requested maximum. If unspecified, defaults to 5000. The + * maximum value is 10000. + */ + maxCalls?: number; + /** + * The maximum number of variants to return in a single page. If + * unspecified, defaults to 5000. The maximum value is 10000. + */ + pageSize?: number; + /** + * The continuation token, which is used to page through large result sets. + * To get the next page of results, set this parameter to the value of + * `nextPageToken` from the previous response. + */ + pageToken?: string; + /** + * Required. Only return variants in this reference sequence. + */ + referenceName?: string; + /** + * The beginning of the window (0-based, inclusive) for which overlapping + * variants should be returned. If unspecified, defaults to 0. + */ + start?: string; + /** + * Only return variants which have exactly this name. + */ + variantName?: string; + /** + * At most one variant set ID must be provided. Only variants from this + * variant set will be returned. If omitted, a call set id must be included + * in the request. + */ + variantSetIds?: string[]; + } + /** + * The variant search response. + */ + interface Schema$SearchVariantsResponse { + /** + * The continuation token, which is used to page through large result sets. + * Provide this value in a subsequent request to return the next page of + * results. This field will be empty if there aren't any additional + * results. + */ + nextPageToken?: string; + /** + * The list of matching Variants. + */ + variants?: Schema$Variant[]; + } + /** + * Request message for `SetIamPolicy` method. + */ + interface Schema$SetIamPolicyRequest { + /** + * REQUIRED: The complete policy to be applied to the `resource`. The size + * of the policy is limited to a few 10s of KB. An empty policy is a valid + * policy but certain Cloud Platform services (such as Projects) might + * reject them. + */ + policy?: Schema$Policy; + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + /** + * Request message for `TestIamPermissions` method. + */ + interface Schema$TestIamPermissionsRequest { + /** + * REQUIRED: The set of permissions to check for the 'resource'. + * Permissions with wildcards (such as '*' or 'storage.*') + * are not allowed. Allowed permissions are&#58; * + * `genomics.datasets.create` * `genomics.datasets.delete` * + * `genomics.datasets.get` * `genomics.datasets.list` * + * `genomics.datasets.update` * `genomics.datasets.getIamPolicy` * + * `genomics.datasets.setIamPolicy` + */ + permissions?: string[]; + } + /** + * Response message for `TestIamPermissions` method. + */ + interface Schema$TestIamPermissionsResponse { + /** + * A subset of `TestPermissionsRequest.permissions` that the caller is + * allowed. + */ + permissions?: string[]; + } + /** + * A transcript represents the assertion that a particular region of the + * reference genome may be transcribed as RNA. + */ + interface Schema$Transcript { + /** + * The range of the coding sequence for this transcript, if any. To + * determine the exact ranges of coding sequence, intersect this range with + * those of the exons, if any. If there are any exons, the codingSequence + * must start and end within them. Note that in some cases, the reference + * genome will not exactly match the observed mRNA transcript e.g. due to + * variance in the source genome from reference. In these cases, exon.frame + * will not necessarily match the expected reference reading frame and + * coding exon reference bases cannot necessarily be concatenated to produce + * the original transcript mRNA. + */ + codingSequence?: Schema$CodingSequence; + /** + * The <a + * href="http://en.wikipedia.org/wiki/Exon">exons</a> + * that compose this transcript. This field should be unset for genomes + * where transcript splicing does not occur, for example prokaryotes. + * Introns are regions of the transcript that are not included in the + * spliced RNA product. Though not explicitly modeled here, intron ranges + * can be deduced; all regions of this transcript that are not exons are + * introns. Exonic sequences do not necessarily code for a translational + * product (amino acids). Only the regions of exons bounded by the + * codingSequence correspond to coding DNA sequence. Exons are ordered by + * start position and may not overlap. + */ + exons?: Schema$Exon[]; + /** + * The annotation ID of the gene from which this transcript is transcribed. + */ + geneId?: string; + } + interface Schema$UndeleteDatasetRequest { + } + /** + * An event generated when the execution of a container results in a non-zero + * exit status that was not otherwise ignored. Execution will continue, but + * only actions that are flagged as `ALWAYS_RUN` will be executed. Other + * actions will be skipped. + */ + interface Schema$UnexpectedExitStatusEvent { + /** + * The numeric ID of the action that started the container. + */ + actionId?: number; + /** + * The exit status of the container. + */ + exitStatus?: number; + } + /** + * A variant represents a change in DNA sequence relative to a reference + * sequence. For example, a variant could represent a SNP or an insertion. + * Variants belong to a variant set. Each of the calls on a variant represent + * a determination of genotype with respect to that variant. For example, a + * call might assign probability of 0.32 to the occurrence of a SNP named + * rs1234 in a sample named NA12345. A call belongs to a call set, which + * contains related calls typically from one sample. + */ + interface Schema$Variant { + /** + * The bases that appear instead of the reference bases. + */ + alternateBases?: string[]; + /** + * The variant calls for this particular variant. Each one represents the + * determination of genotype with respect to this variant. + */ + calls?: Schema$VariantCall[]; + /** + * The date this variant was created, in milliseconds from the epoch. + */ + created?: string; + /** + * The end position (0-based) of this variant. This corresponds to the first + * base after the last base in the reference allele. So, the length of the + * reference allele is (end - start). This is useful for variants that + * don't explicitly give alternate bases, for example large deletions. + */ + end?: string; + /** + * A list of filters (normally quality filters) this variant has failed. + * `PASS` indicates this variant has passed all filters. + */ + filter?: string[]; + /** + * The server-generated variant ID, unique across all variants. + */ + id?: string; + /** + * A map of additional variant information. This must be of the form + * map<string, string[]> (string key mapping to a list of string + * values). + */ + info?: any; + /** + * Names for the variant, for example a RefSNP ID. + */ + names?: string[]; + /** + * A measure of how likely this variant is to be real. A higher value is + * better. + */ + quality?: number; + /** + * The reference bases for this variant. They start at the given position. + */ + referenceBases?: string; + /** + * The reference on which this variant occurs. (such as `chr20` or `X`) + */ + referenceName?: string; + /** + * The position at which this variant occurs (0-based). This corresponds to + * the first base of the string of reference bases. + */ + start?: string; + /** + * The ID of the variant set this variant belongs to. + */ + variantSetId?: string; + } + interface Schema$VariantAnnotation { + /** + * The alternate allele for this variant. If multiple alternate alleles + * exist at this location, create a separate variant for each one, as they + * may represent distinct conditions. + */ + alternateBases?: string; + /** + * Describes the clinical significance of a variant. It is adapted from the + * ClinVar controlled vocabulary for clinical significance described at: + * http://www.ncbi.nlm.nih.gov/clinvar/docs/clinsig/ + */ + clinicalSignificance?: string; + /** + * The set of conditions associated with this variant. A condition describes + * the way a variant influences human health. + */ + conditions?: Schema$ClinicalCondition[]; + /** + * Effect of the variant on the coding sequence. + */ + effect?: string; + /** + * Google annotation ID of the gene affected by this variant. This should be + * provided when the variant is created. + */ + geneId?: string; + /** + * Google annotation IDs of the transcripts affected by this variant. These + * should be provided when the variant is created. + */ + transcriptIds?: string[]; + /** + * Type has been adapted from ClinVar's list of variant types. + */ + type?: string; + } + /** + * A call represents the determination of genotype with respect to a + * particular variant. It may include associated information such as quality + * and phasing. For example, a call might assign a probability of 0.32 to the + * occurrence of a SNP named rs1234 in a call set with the name NA12345. + */ + interface Schema$VariantCall { + /** + * The ID of the call set this variant call belongs to. + */ + callSetId?: string; + /** + * The name of the call set this variant call belongs to. + */ + callSetName?: string; + /** + * The genotype of this variant call. Each value represents either the value + * of the `referenceBases` field or a 1-based index into `alternateBases`. + * If a variant had a `referenceBases` value of `T` and an `alternateBases` + * value of `["A", "C"]`, and the `genotype` was `[2, + * 1]`, that would mean the call represented the heterozygous value `CA` for + * this variant. If the `genotype` was instead `[0, 1]`, the represented + * value would be `TA`. Ordering of the genotype values is important if the + * `phaseset` is present. If a genotype is not called (that is, a `.` is + * present in the GT string) -1 is returned. + */ + genotype?: number[]; + /** + * The genotype likelihoods for this variant call. Each array entry + * represents how likely a specific genotype is for this call. The value + * ordering is defined by the GL tag in the VCF spec. If Phred-scaled + * genotype likelihood scores (PL) are available and log10(P) genotype + * likelihood scores (GL) are not, PL scores are converted to GL scores. If + * both are available, PL scores are stored in `info`. + */ + genotypeLikelihood?: number[]; + /** + * A map of additional variant call information. This must be of the form + * map<string, string[]> (string key mapping to a list of string + * values). + */ + info?: any; + /** + * If this field is present, this variant call's genotype ordering + * implies the phase of the bases and is consistent with any other variant + * calls in the same reference sequence which have the same phaseset value. + * When importing data from VCF, if the genotype data was phased but no + * phase set was specified this field will be set to `*`. + */ + phaseset?: string; + } + /** + * A variant set is a collection of call sets and variants. It contains + * summary statistics of those contents. A variant set belongs to a dataset. + */ + interface Schema$VariantSet { + /** + * The dataset to which this variant set belongs. + */ + datasetId?: string; + /** + * A textual description of this variant set. + */ + description?: string; + /** + * The server-generated variant set ID, unique across all variant sets. + */ + id?: string; + /** + * The metadata associated with this variant set. + */ + metadata?: Schema$VariantSetMetadata[]; + /** + * User-specified, mutable name. + */ + name?: string; + /** + * A list of all references used by the variants in a variant set with + * associated coordinate upper bounds for each one. + */ + referenceBounds?: Schema$ReferenceBound[]; + /** + * The reference set to which the variant set is mapped. The reference set + * describes the alignment provenance of the variant set, while the + * `referenceBounds` describe the shape of the actual variant data. The + * reference set's reference names are a superset of those found in the + * `referenceBounds`. For example, given a variant set that is mapped to + * the GRCh38 reference set and contains a single variant on reference + * 'X', `referenceBounds` would contain only an entry for + * 'X', while the associated reference set enumerates all possible + * references: '1', '2', 'X', 'Y', + * 'MT', etc. + */ + referenceSetId?: string; + } + /** + * Metadata describes a single piece of variant call metadata. These data + * include a top level key and either a single value string (value) or a list + * of key-value pairs (info.) Value and info are mutually exclusive. + */ + interface Schema$VariantSetMetadata { + /** + * A textual description of this metadata. + */ + description?: string; + /** + * User-provided ID field, not enforced by this API. Two or more pieces of + * structured metadata with identical id and key fields are considered + * equivalent. + */ + id?: string; + /** + * Remaining structured metadata key-value pairs. This must be of the form + * map<string, string[]> (string key mapping to a list of string + * values). + */ + info?: any; + /** + * The top-level key. + */ + key?: string; + /** + * The number of values that can be included in a field described by this + * metadata. + */ + number?: string; + /** + * The type of data. Possible types include: Integer, Float, Flag, + * Character, and String. + */ + type?: string; + /** + * The value field for simple metadata + */ + value?: string; + } + /** + * An event generated after a worker VM has been assigned to run the pipeline. + */ + interface Schema$WorkerAssignedEvent { + /** + * The worker's instance name. + */ + instance?: string; + /** + * The zone the worker is running in. + */ + zone?: string; + } + /** + * An event generated when the worker VM that was assigned to the pipeline has + * been released (deleted). + */ + interface Schema$WorkerReleasedEvent { + /** + * The worker's instance name. + */ + instance?: string; + /** + * The zone the worker was running in. + */ + zone?: string; + } + class Resource$Annotations { + root: Genomics; + constructor(root: Genomics); + getRoot(): Genomics; + /** + * genomics.annotations.batchCreate + * @desc Creates one or more new annotations atomically. All annotations + * must belong to the same annotation set. Caller must have WRITE permission + * for this annotation set. For optimal performance, batch positionally + * adjacent annotations together. If the request has a systemic issue, such + * as an attempt to write to an inaccessible annotation set, the entire RPC + * will fail accordingly. For lesser data issues, when possible an error + * will be isolated to the corresponding batch entry in the response; the + * remaining well formed annotations will be created normally. For details + * on the requirements for each individual annotation resource, see + * CreateAnnotation. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1'); + * + * authorize(function(authClient) { + * var request = { + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * genomics.annotations.batchCreate(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 genomics.annotations.batchCreate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().BatchCreateAnnotationsRequest} 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 + */ + batchCreate(params?: Params$Resource$Annotations$Batchcreate, options?: MethodOptions): AxiosPromise; + batchCreate(params: Params$Resource$Annotations$Batchcreate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + batchCreate(params: Params$Resource$Annotations$Batchcreate, callback: BodyResponseCallback): void; + batchCreate(callback: BodyResponseCallback): void; + /** + * genomics.annotations.create + * @desc Creates a new annotation. Caller must have WRITE permission for the + * associated annotation set. The following fields are required: * + * annotationSetId * referenceName or referenceId ### Transcripts For + * annotations of type TRANSCRIPT, the following fields of transcript must + * be provided: * exons.start * exons.end All other fields may be + * optionally specified, unless documented as being server-generated (for + * example, the `id` field). The annotated range must be no longer than + * 100Mbp (mega base pairs). See the Annotation resource for additional + * restrictions on each field. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1'); + * + * authorize(function(authClient) { + * var request = { + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * genomics.annotations.create(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 genomics.annotations.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().Annotation} 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 + */ + create(params?: Params$Resource$Annotations$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Annotations$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Annotations$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * genomics.annotations.delete + * @desc Deletes an annotation. Caller must have WRITE permission for the + * associated annotation set. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The ID of the annotation to be deleted. + * annotationId: 'my-annotation-id', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * genomics.annotations.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 genomics.annotations.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.annotationId The ID of the annotation to be deleted. + * @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?: Params$Resource$Annotations$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Annotations$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Annotations$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * genomics.annotations.get + * @desc Gets an annotation. Caller must have READ permission for the + * associated annotation set. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The ID of the annotation to be retrieved. + * annotationId: 'my-annotation-id', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * genomics.annotations.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 genomics.annotations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.annotationId The ID of the annotation to be retrieved. + * @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?: Params$Resource$Annotations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Annotations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Annotations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * genomics.annotations.search + * @desc Searches for annotations that match the given criteria. Results are + * ordered by genomic coordinate (by reference sequence, then position). + * Annotations with equivalent genomic coordinates are returned in an + * unspecified order. This order is consistent, such that two queries for + * the same content (regardless of page size) yield annotations in the same + * order across their respective streams of paginated responses. Caller must + * have READ permission for the queried annotation sets. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1'); + * + * authorize(function(authClient) { + * var request = { + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var annotationsPage = response['annotations']; + * if (!annotationsPage) { + * return; + * } + * for (var i = 0; i < annotationsPage.length; i++) { + * // TODO: Change code below to process each resource in + * `annotationsPage`: console.log(JSON.stringify(annotationsPage[i], null, + * 2)); + * } + * + * if (response.nextPageToken) { + * request.resource.pageToken = response.nextPageToken; + * genomics.annotations.search(request, handlePage); + * } + * }; + * + * genomics.annotations.search(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 genomics.annotations.search + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().SearchAnnotationsRequest} 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 + */ + search(params?: Params$Resource$Annotations$Search, options?: MethodOptions): AxiosPromise; + search(params: Params$Resource$Annotations$Search, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + search(params: Params$Resource$Annotations$Search, callback: BodyResponseCallback): void; + search(callback: BodyResponseCallback): void; + /** + * genomics.annotations.update + * @desc Updates an annotation. Caller must have WRITE permission for the + * associated dataset. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The ID of the annotation to be updated. + * annotationId: 'my-annotation-id', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * genomics.annotations.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 genomics.annotations.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.annotationId The ID of the annotation to be updated. + * @param {string=} params.updateMask An optional mask specifying which fields to update. Mutable fields are name, variant, transcript, and info. If unspecified, all mutable fields will be updated. + * @param {().Annotation} 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?: Params$Resource$Annotations$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Annotations$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Annotations$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Annotations$Batchcreate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$BatchCreateAnnotationsRequest; + } + interface Params$Resource$Annotations$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$Annotation; + } + interface Params$Resource$Annotations$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the annotation to be deleted. + */ + annotationId?: string; + } + interface Params$Resource$Annotations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the annotation to be retrieved. + */ + annotationId?: string; + } + interface Params$Resource$Annotations$Search { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$SearchAnnotationsRequest; + } + interface Params$Resource$Annotations$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the annotation to be updated. + */ + annotationId?: string; + /** + * An optional mask specifying which fields to update. Mutable fields are + * name, variant, transcript, and info. If unspecified, all mutable fields + * will be updated. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Annotation; + } + class Resource$Annotationsets { + root: Genomics; + constructor(root: Genomics); + getRoot(): Genomics; + /** + * genomics.annotationsets.create + * @desc Creates a new annotation set. Caller must have WRITE permission for + * the associated dataset. The following fields are required: * + * datasetId * referenceSetId All other fields may be optionally + * specified, unless documented as being server-generated (for example, the + * `id` field). + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1'); + * + * authorize(function(authClient) { + * var request = { + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * genomics.annotationsets.create(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 genomics.annotationsets.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().AnnotationSet} 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 + */ + create(params?: Params$Resource$Annotationsets$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Annotationsets$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Annotationsets$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * genomics.annotationsets.delete + * @desc Deletes an annotation set. Caller must have WRITE permission for + * the associated annotation set. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The ID of the annotation set to be deleted. + * annotationSetId: 'my-annotation-set-id', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * genomics.annotationsets.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 genomics.annotationsets.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.annotationSetId The ID of the annotation set to be deleted. + * @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?: Params$Resource$Annotationsets$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Annotationsets$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Annotationsets$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * genomics.annotationsets.get + * @desc Gets an annotation set. Caller must have READ permission for the + * associated dataset. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The ID of the annotation set to be retrieved. + * annotationSetId: 'my-annotation-set-id', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * genomics.annotationsets.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 genomics.annotationsets.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.annotationSetId The ID of the annotation set to be retrieved. + * @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?: Params$Resource$Annotationsets$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Annotationsets$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Annotationsets$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * genomics.annotationsets.search + * @desc Searches for annotation sets that match the given criteria. + * Annotation sets are returned in an unspecified order. This order is + * consistent, such that two queries for the same content (regardless of + * page size) yield annotation sets in the same order across their + * respective streams of paginated responses. Caller must have READ + * permission for the queried datasets. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1'); + * + * authorize(function(authClient) { + * var request = { + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var annotationSetsPage = response['annotationSets']; + * if (!annotationSetsPage) { + * return; + * } + * for (var i = 0; i < annotationSetsPage.length; i++) { + * // TODO: Change code below to process each resource in + * `annotationSetsPage`: console.log(JSON.stringify(annotationSetsPage[i], + * null, 2)); + * } + * + * if (response.nextPageToken) { + * request.resource.pageToken = response.nextPageToken; + * genomics.annotationsets.search(request, handlePage); + * } + * }; + * + * genomics.annotationsets.search(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 genomics.annotationsets.search + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().SearchAnnotationSetsRequest} 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 + */ + search(params?: Params$Resource$Annotationsets$Search, options?: MethodOptions): AxiosPromise; + search(params: Params$Resource$Annotationsets$Search, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + search(params: Params$Resource$Annotationsets$Search, callback: BodyResponseCallback): void; + search(callback: BodyResponseCallback): void; + /** + * genomics.annotationsets.update + * @desc Updates an annotation set. The update must respect all mutability + * restrictions and other invariants described on the annotation set + * resource. Caller must have WRITE permission for the associated dataset. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The ID of the annotation set to be updated. + * annotationSetId: 'my-annotation-set-id', // TODO: Update placeholder + * value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * genomics.annotationsets.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 genomics.annotationsets.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.annotationSetId The ID of the annotation set to be updated. + * @param {string=} params.updateMask An optional mask specifying which fields to update. Mutable fields are name, source_uri, and info. If unspecified, all mutable fields will be updated. + * @param {().AnnotationSet} 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?: Params$Resource$Annotationsets$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Annotationsets$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Annotationsets$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Annotationsets$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$AnnotationSet; + } + interface Params$Resource$Annotationsets$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the annotation set to be deleted. + */ + annotationSetId?: string; + } + interface Params$Resource$Annotationsets$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the annotation set to be retrieved. + */ + annotationSetId?: string; + } + interface Params$Resource$Annotationsets$Search { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$SearchAnnotationSetsRequest; + } + interface Params$Resource$Annotationsets$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the annotation set to be updated. + */ + annotationSetId?: string; + /** + * An optional mask specifying which fields to update. Mutable fields are + * name, source_uri, and info. If unspecified, all mutable fields will be + * updated. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AnnotationSet; + } + class Resource$Callsets { + root: Genomics; + constructor(root: Genomics); + getRoot(): Genomics; + /** + * genomics.callsets.create + * @desc Creates a new call set. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1'); + * + * authorize(function(authClient) { + * var request = { + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * genomics.callsets.create(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 genomics.callsets.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().CallSet} 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 + */ + create(params?: Params$Resource$Callsets$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Callsets$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Callsets$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * genomics.callsets.delete + * @desc Deletes a call set. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The ID of the call set to be deleted. + * callSetId: 'my-call-set-id', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * genomics.callsets.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 genomics.callsets.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.callSetId The ID of the call set to be deleted. + * @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?: Params$Resource$Callsets$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Callsets$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Callsets$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * genomics.callsets.get + * @desc Gets a call set by ID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The ID of the call set. + * callSetId: 'my-call-set-id', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * genomics.callsets.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 genomics.callsets.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.callSetId The ID of the call set. + * @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?: Params$Resource$Callsets$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Callsets$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Callsets$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * genomics.callsets.patch + * @desc Updates a call set. This method supports patch semantics. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The ID of the call set to be updated. + * callSetId: 'my-call-set-id', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * genomics.callsets.patch(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 genomics.callsets.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.callSetId The ID of the call set to be updated. + * @param {string=} params.updateMask An optional mask specifying which fields to update. At this time, the only mutable field is name. The only acceptable value is "name". If unspecified, all mutable fields will be updated. + * @param {().CallSet} 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 + */ + patch(params?: Params$Resource$Callsets$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Callsets$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Callsets$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * genomics.callsets.search + * @desc Gets a list of call sets matching the criteria. Implements + * [GlobalAllianceApi.searchCallSets](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/variantmethods.avdl#L178). + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1'); + * + * authorize(function(authClient) { + * var request = { + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var callSetsPage = response['callSets']; + * if (!callSetsPage) { + * return; + * } + * for (var i = 0; i < callSetsPage.length; i++) { + * // TODO: Change code below to process each resource in + * `callSetsPage`: console.log(JSON.stringify(callSetsPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.resource.pageToken = response.nextPageToken; + * genomics.callsets.search(request, handlePage); + * } + * }; + * + * genomics.callsets.search(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 genomics.callsets.search + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().SearchCallSetsRequest} 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 + */ + search(params?: Params$Resource$Callsets$Search, options?: MethodOptions): AxiosPromise; + search(params: Params$Resource$Callsets$Search, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + search(params: Params$Resource$Callsets$Search, callback: BodyResponseCallback): void; + search(callback: BodyResponseCallback): void; + } + interface Params$Resource$Callsets$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$CallSet; + } + interface Params$Resource$Callsets$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the call set to be deleted. + */ + callSetId?: string; + } + interface Params$Resource$Callsets$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the call set. + */ + callSetId?: string; + } + interface Params$Resource$Callsets$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the call set to be updated. + */ + callSetId?: string; + /** + * An optional mask specifying which fields to update. At this time, the + * only mutable field is name. The only acceptable value is "name". If + * unspecified, all mutable fields will be updated. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CallSet; + } + interface Params$Resource$Callsets$Search { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$SearchCallSetsRequest; + } + class Resource$Datasets { + root: Genomics; + constructor(root: Genomics); + getRoot(): Genomics; + /** + * genomics.datasets.create + * @desc Creates a new dataset. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1'); + * + * authorize(function(authClient) { + * var request = { + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * genomics.datasets.create(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 genomics.datasets.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().Dataset} 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 + */ + create(params?: Params$Resource$Datasets$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Datasets$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Datasets$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * genomics.datasets.delete + * @desc Deletes a dataset and all of its contents (all read group sets, + * reference sets, variant sets, call sets, annotation sets, etc.) This is + * reversible (up to one week after the deletion) via the datasets.undelete + * operation. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The ID of the dataset to be deleted. + * datasetId: 'my-dataset-id', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * genomics.datasets.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 genomics.datasets.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.datasetId The ID of the dataset to be deleted. + * @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?: Params$Resource$Datasets$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Datasets$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Datasets$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * genomics.datasets.get + * @desc Gets a dataset by ID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The ID of the dataset. + * datasetId: 'my-dataset-id', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * genomics.datasets.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 genomics.datasets.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.datasetId The ID of the dataset. + * @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?: Params$Resource$Datasets$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Datasets$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Datasets$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * genomics.datasets.getIamPolicy + * @desc Gets the access control policy for the dataset. This is empty if + * the policy or resource does not exist. See Getting a Policy + * for more information. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1'); + * + * authorize(function(authClient) { + * var request = { + * // REQUIRED: The resource for which policy is being specified. Format + * is + * // `datasets/`. + * resource_: 'datasets/my-dataset', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * genomics.datasets.getIamPolicy(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 genomics.datasets.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which policy is being specified. Format is `datasets/`. + * @param {().GetIamPolicyRequest} 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 + */ + getIamPolicy(params?: Params$Resource$Datasets$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Datasets$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Datasets$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * genomics.datasets.list + * @desc Lists datasets within a project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1'); + * + * authorize(function(authClient) { + * var request = { + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var datasetsPage = response['datasets']; + * if (!datasetsPage) { + * return; + * } + * for (var i = 0; i < datasetsPage.length; i++) { + * // TODO: Change code below to process each resource in + * `datasetsPage`: console.log(JSON.stringify(datasetsPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * genomics.datasets.list(request, handlePage); + * } + * }; + * + * genomics.datasets.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 genomics.datasets.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize The maximum number of results to return in a single page. If unspecified, defaults to 50. The maximum value is 1024. + * @param {string=} params.pageToken The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of `nextPageToken` from the previous response. + * @param {string=} params.projectId Required. The Google Cloud project ID to list datasets for. + * @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?: Params$Resource$Datasets$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Datasets$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Datasets$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * genomics.datasets.patch + * @desc Updates a dataset. This method supports patch semantics. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The ID of the dataset to be updated. + * datasetId: 'my-dataset-id', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * genomics.datasets.patch(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 genomics.datasets.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.datasetId The ID of the dataset to be updated. + * @param {string=} params.updateMask An optional mask specifying which fields to update. At this time, the only mutable field is name. The only acceptable value is "name". If unspecified, all mutable fields will be updated. + * @param {().Dataset} 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 + */ + patch(params?: Params$Resource$Datasets$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Datasets$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Datasets$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * genomics.datasets.setIamPolicy + * @desc Sets the access control policy on the specified dataset. Replaces + * any existing policy. See Setting a Policy + * for more information. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1'); + * + * authorize(function(authClient) { + * var request = { + * // REQUIRED: The resource for which policy is being specified. Format + * is + * // `datasets/`. + * resource_: 'datasets/my-dataset', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * genomics.datasets.setIamPolicy(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 genomics.datasets.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which policy is being specified. Format is `datasets/`. + * @param {().SetIamPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Datasets$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Datasets$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Datasets$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * genomics.datasets.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * See Testing + * Permissions for more information. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1'); + * + * authorize(function(authClient) { + * var request = { + * // REQUIRED: The resource for which policy is being specified. Format + * is + * // `datasets/`. + * resource_: 'datasets/my-dataset', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * genomics.datasets.testIamPermissions(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 genomics.datasets.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which policy is being specified. Format is `datasets/`. + * @param {().TestIamPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Datasets$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Datasets$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Datasets$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + /** + * genomics.datasets.undelete + * @desc Undeletes a dataset by restoring a dataset which was deleted via + * this API. This operation is only possible for a week after the deletion + * occurred. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The ID of the dataset to be undeleted. + * datasetId: 'my-dataset-id', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * genomics.datasets.undelete(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 genomics.datasets.undelete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.datasetId The ID of the dataset to be undeleted. + * @param {().UndeleteDatasetRequest} 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 + */ + undelete(params?: Params$Resource$Datasets$Undelete, options?: MethodOptions): AxiosPromise; + undelete(params: Params$Resource$Datasets$Undelete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + undelete(params: Params$Resource$Datasets$Undelete, callback: BodyResponseCallback): void; + undelete(callback: BodyResponseCallback): void; + } + interface Params$Resource$Datasets$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$Dataset; + } + interface Params$Resource$Datasets$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the dataset to be deleted. + */ + datasetId?: string; + } + interface Params$Resource$Datasets$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the dataset. + */ + datasetId?: string; + } + interface Params$Resource$Datasets$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which policy is being specified. Format is + * `datasets/`. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GetIamPolicyRequest; + } + interface Params$Resource$Datasets$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The maximum number of results to return in a single page. If unspecified, + * defaults to 50. The maximum value is 1024. + */ + pageSize?: number; + /** + * The continuation token, which is used to page through large result sets. + * To get the next page of results, set this parameter to the value of + * `nextPageToken` from the previous response. + */ + pageToken?: string; + /** + * Required. The Google Cloud project ID to list datasets for. + */ + projectId?: string; + } + interface Params$Resource$Datasets$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the dataset to be updated. + */ + datasetId?: string; + /** + * An optional mask specifying which fields to update. At this time, the + * only mutable field is name. The only acceptable value is "name". If + * unspecified, all mutable fields will be updated. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Dataset; + } + interface Params$Resource$Datasets$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which policy is being specified. Format is + * `datasets/`. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetIamPolicyRequest; + } + interface Params$Resource$Datasets$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which policy is being specified. Format is + * `datasets/`. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestIamPermissionsRequest; + } + interface Params$Resource$Datasets$Undelete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the dataset to be undeleted. + */ + datasetId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UndeleteDatasetRequest; + } + class Resource$Operations { + root: Genomics; + constructor(root: Genomics); + getRoot(): Genomics; + /** + * genomics.operations.cancel + * @desc Starts asynchronous cancellation on a long-running operation. The + * server makes a best effort to cancel the operation, but success is not + * guaranteed. Clients may use Operations.GetOperation or + * Operations.ListOperations to check whether the cancellation succeeded or + * the operation completed despite cancellation. Authorization requires the + * following [Google IAM](https://cloud.google.com/iam) permission: * + * `genomics.operations.cancel` + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The name of the operation resource to be cancelled. + * name: 'operations/my-operation', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * genomics.operations.cancel(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 genomics.operations.cancel + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource to be cancelled. + * @param {().CancelOperationRequest} 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 + */ + cancel(params?: Params$Resource$Operations$Cancel, options?: MethodOptions): AxiosPromise; + cancel(params: Params$Resource$Operations$Cancel, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + cancel(params: Params$Resource$Operations$Cancel, callback: BodyResponseCallback): void; + cancel(callback: BodyResponseCallback): void; + /** + * genomics.operations.get + * @desc Gets the latest state of a long-running operation. Clients can use + * this method to poll the operation result at intervals as recommended by + * the API service. Authorization requires the following [Google + * IAM](https://cloud.google.com/iam) permission: * + * `genomics.operations.get` + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The name of the operation resource. + * name: 'operations/my-operation', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * genomics.operations.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 genomics.operations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource. + * @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?: Params$Resource$Operations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Operations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Operations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * genomics.operations.list + * @desc Lists operations that match the specified filter in the request. + * Authorization requires the following [Google + * IAM](https://cloud.google.com/iam) permission: * + * `genomics.operations.list` + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The name of the operation's parent resource. + * name: 'operations', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var operationsPage = response['operations']; + * if (!operationsPage) { + * return; + * } + * for (var i = 0; i < operationsPage.length; i++) { + * // TODO: Change code below to process each resource in + * `operationsPage`: console.log(JSON.stringify(operationsPage[i], null, + * 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * genomics.operations.list(request, handlePage); + * } + * }; + * + * genomics.operations.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 genomics.operations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A string for filtering Operations. In v2alpha1, the following filter fields are supported: * createTime: The time this job was created * events: The set of event (names) that have occurred while running the pipeline. The : operator can be used to determine if a particular event has occurred. * error: If the pipeline is running, this value is NULL. Once the pipeline finishes, the value is the standard Google error code. * labels.key or labels."key with space" where key is a label key. * done: If the pipeline is running, this value is false. Once the pipeline finishes, the value is true. In v1 and v1alpha2, the following filter fields are supported: * projectId: Required. Corresponds to OperationMetadata.projectId. * createTime: The time this job was created, in seconds from the [epoch](http://en.wikipedia.org/wiki/Unix_time). Can use `>=` and/or `<=` operators. * status: Can be `RUNNING`, `SUCCESS`, `FAILURE`, or `CANCELED`. Only one status may be specified. * labels.key where key is a label key. Examples: * `projectId = my-project AND createTime >= 1432140000` * `projectId = my-project AND createTime >= 1432140000 AND createTime <= 1432150000 AND status = RUNNING` * `projectId = my-project AND labels.color = *` * `projectId = my-project AND labels.color = red` + * @param {string} params.name The name of the operation's parent resource. + * @param {integer=} params.pageSize The maximum number of results to return. If unspecified, defaults to 256. The maximum value is 2048. + * @param {string=} params.pageToken The standard list page token. + * @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?: Params$Resource$Operations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Operations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Operations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Operations$Cancel { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource to be cancelled. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CancelOperationRequest; + } + interface Params$Resource$Operations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource. + */ + name?: string; + } + interface Params$Resource$Operations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A string for filtering Operations. In v2alpha1, the following filter + * fields are supported: * createTime: The time this job was + * created * events: The set of event (names) that have occurred while + * running the pipeline. The : operator can be used to determine if a + * particular event has occurred. * error: If the pipeline is running, + * this value is NULL. Once the pipeline finishes, the value is the + * standard Google error code. * labels.key or labels."key with space" where + * key is a label key. * done: If the pipeline is running, this value is + * false. Once the pipeline finishes, the value is true. In v1 and + * v1alpha2, the following filter fields are supported: * + * projectId: Required. Corresponds to OperationMetadata.projectId. * + * createTime: The time this job was created, in seconds from the + * [epoch](http://en.wikipedia.org/wiki/Unix_time). Can use `>=` and/or `<=` + * operators. * status: Can be `RUNNING`, `SUCCESS`, `FAILURE`, or + * `CANCELED`. Only one status may be specified. * labels.key where key is + * a label key. Examples: * `projectId = my-project AND createTime >= + * 1432140000` * `projectId = my-project AND createTime >= 1432140000 AND + * createTime <= 1432150000 AND status = RUNNING` * `projectId = my-project + * AND labels.color = *` * `projectId = my-project AND labels.color = red` + */ + filter?: string; + /** + * The name of the operation's parent resource. + */ + name?: string; + /** + * The maximum number of results to return. If unspecified, defaults to 256. + * The maximum value is 2048. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } + class Resource$Readgroupsets { + root: Genomics; + coveragebuckets: Resource$Readgroupsets$Coveragebuckets; + constructor(root: Genomics); + getRoot(): Genomics; + /** + * genomics.readgroupsets.delete + * @desc Deletes a read group set. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The ID of the read group set to be deleted. The caller must have + * WRITE + * // permissions to the dataset associated with this read group set. + * readGroupSetId: 'my-read-group-set-id', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * genomics.readgroupsets.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 genomics.readgroupsets.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.readGroupSetId The ID of the read group set to be deleted. The caller must have WRITE permissions to the dataset associated with this read group set. + * @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?: Params$Resource$Readgroupsets$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Readgroupsets$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Readgroupsets$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * genomics.readgroupsets.export + * @desc Exports a read group set to a BAM file in Google Cloud Storage. + * Note that currently there may be some differences between exported BAM + * files and the original BAM file at the time of import. See + * ImportReadGroupSets for caveats. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Required. The ID of the read group set to export. The caller must + * have + * // READ access to this read group set. + * readGroupSetId: 'my-read-group-set-id', // TODO: Update placeholder + * value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * genomics.readgroupsets.export(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 genomics.readgroupsets.export + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.readGroupSetId Required. The ID of the read group set to export. The caller must have READ access to this read group set. + * @param {().ExportReadGroupSetRequest} 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 + */ + export(params?: Params$Resource$Readgroupsets$Export, options?: MethodOptions): AxiosPromise; + export(params: Params$Resource$Readgroupsets$Export, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + export(params: Params$Resource$Readgroupsets$Export, callback: BodyResponseCallback): void; + export(callback: BodyResponseCallback): void; + /** + * genomics.readgroupsets.get + * @desc Gets a read group set by ID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The ID of the read group set. + * readGroupSetId: 'my-read-group-set-id', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * genomics.readgroupsets.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 genomics.readgroupsets.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.readGroupSetId The ID of the read group set. + * @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?: Params$Resource$Readgroupsets$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Readgroupsets$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Readgroupsets$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * genomics.readgroupsets.import + * @desc Creates read group sets by asynchronously importing the provided + * information. The caller must have WRITE permissions to the dataset. ## + * Notes on [BAM](https://samtools.github.io/hts-specs/SAMv1.pdf) import - Tags + * will be converted to strings - tag types are not preserved - Comments (`@CO`) + * in the input file header will not be preserved - Original header order of + * references (`@SQ`) will not be preserved - Any reverse stranded unmapped + * reads will be reverse complemented, and their qualities (also the "BQ" and + * "OQ" tags, if any) will be reversed - Unmapped reads will be stripped of + * positional information (reference name and position) + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1'); + * + * authorize(function(authClient) { + * var request = { + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * genomics.readgroupsets.import(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 genomics.readgroupsets.import + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().ImportReadGroupSetsRequest} 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 + */ + import(params?: Params$Resource$Readgroupsets$Import, options?: MethodOptions): AxiosPromise; + import(params: Params$Resource$Readgroupsets$Import, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + import(params: Params$Resource$Readgroupsets$Import, callback: BodyResponseCallback): void; + import(callback: BodyResponseCallback): void; + /** + * genomics.readgroupsets.patch + * @desc Updates a read group set. This method supports patch semantics. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The ID of the read group set to be updated. The caller must have WRITE + * // permissions to the dataset associated with this read group set. + * readGroupSetId: 'my-read-group-set-id', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * genomics.readgroupsets.patch(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 genomics.readgroupsets.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.readGroupSetId The ID of the read group set to be updated. The caller must have WRITE permissions to the dataset associated with this read group set. + * @param {string=} params.updateMask An optional mask specifying which fields to update. Supported fields: * name. * referenceSetId. Leaving `updateMask` unset is equivalent to specifying all mutable fields. + * @param {().ReadGroupSet} 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 + */ + patch(params?: Params$Resource$Readgroupsets$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Readgroupsets$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Readgroupsets$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * genomics.readgroupsets.search + * @desc Searches for read group sets matching the criteria. Implements + * [GlobalAllianceApi.searchReadGroupSets](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/readmethods.avdl#L135). + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1'); + * + * authorize(function(authClient) { + * var request = { + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var readGroupSetsPage = response['readGroupSets']; + * if (!readGroupSetsPage) { + * return; + * } + * for (var i = 0; i < readGroupSetsPage.length; i++) { + * // TODO: Change code below to process each resource in + * `readGroupSetsPage`: console.log(JSON.stringify(readGroupSetsPage[i], + * null, 2)); + * } + * + * if (response.nextPageToken) { + * request.resource.pageToken = response.nextPageToken; + * genomics.readgroupsets.search(request, handlePage); + * } + * }; + * + * genomics.readgroupsets.search(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 genomics.readgroupsets.search + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().SearchReadGroupSetsRequest} 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 + */ + search(params?: Params$Resource$Readgroupsets$Search, options?: MethodOptions): AxiosPromise; + search(params: Params$Resource$Readgroupsets$Search, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + search(params: Params$Resource$Readgroupsets$Search, callback: BodyResponseCallback): void; + search(callback: BodyResponseCallback): void; + } + interface Params$Resource$Readgroupsets$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the read group set to be deleted. The caller must have WRITE + * permissions to the dataset associated with this read group set. + */ + readGroupSetId?: string; + } + interface Params$Resource$Readgroupsets$Export { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The ID of the read group set to export. The caller must have + * READ access to this read group set. + */ + readGroupSetId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ExportReadGroupSetRequest; + } + interface Params$Resource$Readgroupsets$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the read group set. + */ + readGroupSetId?: string; + } + interface Params$Resource$Readgroupsets$Import { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$ImportReadGroupSetsRequest; + } + interface Params$Resource$Readgroupsets$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the read group set to be updated. The caller must have WRITE + * permissions to the dataset associated with this read group set. + */ + readGroupSetId?: string; + /** + * An optional mask specifying which fields to update. Supported fields: * + * name. * referenceSetId. Leaving `updateMask` unset is equivalent to + * specifying all mutable fields. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ReadGroupSet; + } + interface Params$Resource$Readgroupsets$Search { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$SearchReadGroupSetsRequest; + } + class Resource$Readgroupsets$Coveragebuckets { + root: Genomics; + constructor(root: Genomics); + getRoot(): Genomics; + /** + * genomics.readgroupsets.coveragebuckets.list + * @desc Lists fixed width coverage buckets for a read group set, each of + * which correspond to a range of a reference sequence. Each bucket + * summarizes coverage information across its corresponding genomic range. + * Coverage is defined as the number of reads which are aligned to a given + * base in the reference sequence. Coverage buckets are available at several + * precomputed bucket widths, enabling retrieval of various coverage 'zoom + * levels'. The caller must have READ permissions for the target read group + * set. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Required. The ID of the read group set over which coverage is + * requested. readGroupSetId: 'my-read-group-set-id', // TODO: Update + * placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var coverageBucketsPage = response['coverageBuckets']; + * if (!coverageBucketsPage) { + * return; + * } + * for (var i = 0; i < coverageBucketsPage.length; i++) { + * // TODO: Change code below to process each resource in + * `coverageBucketsPage`: console.log(JSON.stringify(coverageBucketsPage[i], + * null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * genomics.readgroupsets.coveragebuckets.list(request, handlePage); + * } + * }; + * + * genomics.readgroupsets.coveragebuckets.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 genomics.readgroupsets.coveragebuckets.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.end The end position of the range on the reference, 0-based exclusive. If specified, `referenceName` must also be specified. If unset or 0, defaults to the length of the reference. + * @param {integer=} params.pageSize The maximum number of results to return in a single page. If unspecified, defaults to 1024. The maximum value is 2048. + * @param {string=} params.pageToken The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of `nextPageToken` from the previous response. + * @param {string} params.readGroupSetId Required. The ID of the read group set over which coverage is requested. + * @param {string=} params.referenceName The name of the reference to query, within the reference set associated with this query. Optional. + * @param {string=} params.start The start position of the range on the reference, 0-based inclusive. If specified, `referenceName` must also be specified. Defaults to 0. + * @param {string=} params.targetBucketWidth The desired width of each reported coverage bucket in base pairs. This will be rounded down to the nearest precomputed bucket width; the value of which is returned as `bucketWidth` in the response. Defaults to infinity (each bucket spans an entire reference sequence) or the length of the target range, if specified. The smallest precomputed `bucketWidth` is currently 2048 base pairs; this is subject to change. + * @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?: Params$Resource$Readgroupsets$Coveragebuckets$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Readgroupsets$Coveragebuckets$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Readgroupsets$Coveragebuckets$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Readgroupsets$Coveragebuckets$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The end position of the range on the reference, 0-based exclusive. If + * specified, `referenceName` must also be specified. If unset or 0, + * defaults to the length of the reference. + */ + end?: string; + /** + * The maximum number of results to return in a single page. If unspecified, + * defaults to 1024. The maximum value is 2048. + */ + pageSize?: number; + /** + * The continuation token, which is used to page through large result sets. + * To get the next page of results, set this parameter to the value of + * `nextPageToken` from the previous response. + */ + pageToken?: string; + /** + * Required. The ID of the read group set over which coverage is requested. + */ + readGroupSetId?: string; + /** + * The name of the reference to query, within the reference set associated + * with this query. Optional. + */ + referenceName?: string; + /** + * The start position of the range on the reference, 0-based inclusive. If + * specified, `referenceName` must also be specified. Defaults to 0. + */ + start?: string; + /** + * The desired width of each reported coverage bucket in base pairs. This + * will be rounded down to the nearest precomputed bucket width; the value + * of which is returned as `bucketWidth` in the response. Defaults to + * infinity (each bucket spans an entire reference sequence) or the length + * of the target range, if specified. The smallest precomputed `bucketWidth` + * is currently 2048 base pairs; this is subject to change. + */ + targetBucketWidth?: string; + } + class Resource$Reads { + root: Genomics; + constructor(root: Genomics); + getRoot(): Genomics; + /** + * genomics.reads.search + * @desc Gets a list of reads for one or more read group sets. Reads search + * operates over a genomic coordinate space of reference sequence & position + * defined over the reference sequences to which the requested read group + * sets are aligned. If a target positional range is specified, search + * returns all reads whose alignment to the reference genome overlap the + * range. A query which specifies only read group set IDs yields all reads + * in those read group sets, including unmapped reads. All reads returned + * (including reads on subsequent pages) are ordered by genomic coordinate + * (by reference sequence, then position). Reads with equivalent genomic + * coordinates are returned in an unspecified order. This order is + * consistent, such that two queries for the same content (regardless of + * page size) yield reads in the same order across their respective streams + * of paginated responses. Implements + * [GlobalAllianceApi.searchReads](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/readmethods.avdl#L85). + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1'); + * + * authorize(function(authClient) { + * var request = { + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var alignmentsPage = response['alignments']; + * if (!alignmentsPage) { + * return; + * } + * for (var i = 0; i < alignmentsPage.length; i++) { + * // TODO: Change code below to process each resource in + * `alignmentsPage`: console.log(JSON.stringify(alignmentsPage[i], null, + * 2)); + * } + * + * if (response.nextPageToken) { + * request.resource.pageToken = response.nextPageToken; + * genomics.reads.search(request, handlePage); + * } + * }; + * + * genomics.reads.search(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 genomics.reads.search + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().SearchReadsRequest} 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 + */ + search(params?: Params$Resource$Reads$Search, options?: MethodOptions): AxiosPromise; + search(params: Params$Resource$Reads$Search, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + search(params: Params$Resource$Reads$Search, callback: BodyResponseCallback): void; + search(callback: BodyResponseCallback): void; + } + interface Params$Resource$Reads$Search { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$SearchReadsRequest; + } + class Resource$References { + root: Genomics; + bases: Resource$References$Bases; + constructor(root: Genomics); + getRoot(): Genomics; + /** + * genomics.references.get + * @desc Gets a reference. Implements + * [GlobalAllianceApi.getReference](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/referencemethods.avdl#L158). + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The ID of the reference. + * referenceId: 'my-reference-id', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * genomics.references.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 genomics.references.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.referenceId The ID of the reference. + * @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?: Params$Resource$References$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$References$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$References$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * genomics.references.search + * @desc Searches for references which match the given criteria. Implements + * [GlobalAllianceApi.searchReferences](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/referencemethods.avdl#L146). + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1'); + * + * authorize(function(authClient) { + * var request = { + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var referencesPage = response['references']; + * if (!referencesPage) { + * return; + * } + * for (var i = 0; i < referencesPage.length; i++) { + * // TODO: Change code below to process each resource in + * `referencesPage`: console.log(JSON.stringify(referencesPage[i], null, + * 2)); + * } + * + * if (response.nextPageToken) { + * request.resource.pageToken = response.nextPageToken; + * genomics.references.search(request, handlePage); + * } + * }; + * + * genomics.references.search(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 genomics.references.search + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().SearchReferencesRequest} 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 + */ + search(params?: Params$Resource$References$Search, options?: MethodOptions): AxiosPromise; + search(params: Params$Resource$References$Search, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + search(params: Params$Resource$References$Search, callback: BodyResponseCallback): void; + search(callback: BodyResponseCallback): void; + } + interface Params$Resource$References$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the reference. + */ + referenceId?: string; + } + interface Params$Resource$References$Search { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$SearchReferencesRequest; + } + class Resource$References$Bases { + root: Genomics; + constructor(root: Genomics); + getRoot(): Genomics; + /** + * genomics.references.bases.list + * @desc Lists the bases in a reference, optionally restricted to a range. + * Implements + * [GlobalAllianceApi.getReferenceBases](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/referencemethods.avdl#L221). + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The ID of the reference. + * referenceId: 'my-reference-id', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var nextPageTokenPage = response['nextPageToken']; + * if (!nextPageTokenPage) { + * return; + * } + * // TODO: Change code below to process each `nextPageTokenPage` + * resource: console.log(nextPageTokenPage); + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * genomics.references.bases.list(request, handlePage); + * } + * }; + * + * genomics.references.bases.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 genomics.references.bases.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.end The end position (0-based, exclusive) of this query. Defaults to the length of this reference. + * @param {integer=} params.pageSize The maximum number of bases to return in a single page. If unspecified, defaults to 200Kbp (kilo base pairs). The maximum value is 10Mbp (mega base pairs). + * @param {string=} params.pageToken The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of `nextPageToken` from the previous response. + * @param {string} params.referenceId The ID of the reference. + * @param {string=} params.start The start position (0-based) of this query. Defaults to 0. + * @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?: Params$Resource$References$Bases$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$References$Bases$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$References$Bases$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$References$Bases$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The end position (0-based, exclusive) of this query. Defaults to the + * length of this reference. + */ + end?: string; + /** + * The maximum number of bases to return in a single page. If unspecified, + * defaults to 200Kbp (kilo base pairs). The maximum value is 10Mbp (mega + * base pairs). + */ + pageSize?: number; + /** + * The continuation token, which is used to page through large result sets. + * To get the next page of results, set this parameter to the value of + * `nextPageToken` from the previous response. + */ + pageToken?: string; + /** + * The ID of the reference. + */ + referenceId?: string; + /** + * The start position (0-based) of this query. Defaults to 0. + */ + start?: string; + } + class Resource$Referencesets { + root: Genomics; + constructor(root: Genomics); + getRoot(): Genomics; + /** + * genomics.referencesets.get + * @desc Gets a reference set. Implements + * [GlobalAllianceApi.getReferenceSet](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/referencemethods.avdl#L83). + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The ID of the reference set. + * referenceSetId: 'my-reference-set-id', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * genomics.referencesets.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 genomics.referencesets.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.referenceSetId The ID of the reference set. + * @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?: Params$Resource$Referencesets$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Referencesets$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Referencesets$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * genomics.referencesets.search + * @desc Searches for reference sets which match the given criteria. + * Implements + * [GlobalAllianceApi.searchReferenceSets](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/referencemethods.avdl#L71) + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1'); + * + * authorize(function(authClient) { + * var request = { + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var referenceSetsPage = response['referenceSets']; + * if (!referenceSetsPage) { + * return; + * } + * for (var i = 0; i < referenceSetsPage.length; i++) { + * // TODO: Change code below to process each resource in + * `referenceSetsPage`: console.log(JSON.stringify(referenceSetsPage[i], + * null, 2)); + * } + * + * if (response.nextPageToken) { + * request.resource.pageToken = response.nextPageToken; + * genomics.referencesets.search(request, handlePage); + * } + * }; + * + * genomics.referencesets.search(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 genomics.referencesets.search + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().SearchReferenceSetsRequest} 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 + */ + search(params?: Params$Resource$Referencesets$Search, options?: MethodOptions): AxiosPromise; + search(params: Params$Resource$Referencesets$Search, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + search(params: Params$Resource$Referencesets$Search, callback: BodyResponseCallback): void; + search(callback: BodyResponseCallback): void; + } + interface Params$Resource$Referencesets$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the reference set. + */ + referenceSetId?: string; + } + interface Params$Resource$Referencesets$Search { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$SearchReferenceSetsRequest; + } + class Resource$Variants { + root: Genomics; + constructor(root: Genomics); + getRoot(): Genomics; + /** + * genomics.variants.create + * @desc Creates a new variant. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1'); + * + * authorize(function(authClient) { + * var request = { + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * genomics.variants.create(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 genomics.variants.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().Variant} 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 + */ + create(params?: Params$Resource$Variants$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Variants$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Variants$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * genomics.variants.delete + * @desc Deletes a variant. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The ID of the variant to be deleted. + * variantId: 'my-variant-id', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * genomics.variants.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 genomics.variants.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.variantId The ID of the variant to be deleted. + * @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?: Params$Resource$Variants$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Variants$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Variants$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * genomics.variants.get + * @desc Gets a variant by ID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The ID of the variant. + * variantId: 'my-variant-id', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * genomics.variants.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 genomics.variants.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.variantId The ID of the variant. + * @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?: Params$Resource$Variants$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Variants$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Variants$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * genomics.variants.import + * @desc Creates variant data by asynchronously importing the provided + * information. The variants for import will be merged with any existing + * variant that matches its reference sequence, start, end, reference bases, and + * alternative bases. If no such variant exists, a new one will be created. When + * variants are merged, the call information from the new variant is added to + * the existing variant, and Variant info fields are merged as specified in + * infoMergeConfig. As a special case, for single-sample VCF files, QUAL and + * FILTER fields will be moved to the call level; these are sometimes + * interpreted in a call-specific context. Imported VCF headers are appended to + * the metadata already in a variant set. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1'); + * + * authorize(function(authClient) { + * var request = { + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * genomics.variants.import(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 genomics.variants.import + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().ImportVariantsRequest} 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 + */ + import(params?: Params$Resource$Variants$Import, options?: MethodOptions): AxiosPromise; + import(params: Params$Resource$Variants$Import, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + import(params: Params$Resource$Variants$Import, callback: BodyResponseCallback): void; + import(callback: BodyResponseCallback): void; + /** + * genomics.variants.merge + * @desc Merges the given variants with existing variants. Each variant will be merged with an existing variant that matches its reference sequence, start, end, reference bases, and alternative bases. If no such variant exists, a new one will be created. When variants are merged, the call information from the new variant is added to the existing variant. Variant info fields are merged as specified in the infoMergeConfig field of the MergeVariantsRequest. Please exercise caution when using this method! It is easy to introduce mistakes in existing variants and difficult to back out of them. For example, suppose you were trying to merge a new variant with an existing one and both variants contain calls that belong to callsets with the same callset ID. // Existing variant - irrelevant fields trimmed for clarity { "variantSetId": "10473108253681171589", "referenceName": "1", "start": "10582", "referenceBases": "G", "alternateBases": [ "A" ], "calls": [ { "callSetId": "10473108253681171589-0", "callSetName": "CALLSET0", "genotype": [ 0, 1 ], } ] } // New variant with conflicting call information { "variantSetId": "10473108253681171589", "referenceName": "1", "start": "10582", "referenceBases": "G", "alternateBases": [ "A" ], "calls": [ { "callSetId": "10473108253681171589-0", "callSetName": "CALLSET0", "genotype": [ 1, 1 ], } ] } The resulting merged variant would overwrite the existing calls with those from the new variant: { "variantSetId": "10473108253681171589", "referenceName": "1", "start": "10582", "referenceBases": "G", "alternateBases": [ "A" ], "calls": [ { "callSetId": "10473108253681171589-0", "callSetName": "CALLSET0", "genotype": [ 1, 1 ], } ] } This may be the desired outcome, but it is up to the user to determine if if that is indeed the case. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1'); + * + * authorize(function(authClient) { + * var request = { + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * genomics.variants.merge(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 genomics.variants.merge + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().MergeVariantsRequest} 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 + */ + merge(params?: Params$Resource$Variants$Merge, options?: MethodOptions): AxiosPromise; + merge(params: Params$Resource$Variants$Merge, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + merge(params: Params$Resource$Variants$Merge, callback: BodyResponseCallback): void; + merge(callback: BodyResponseCallback): void; + /** + * genomics.variants.patch + * @desc Updates a variant. This method supports patch semantics. Returns + * the modified variant without its calls. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The ID of the variant to be updated. + * variantId: 'my-variant-id', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * genomics.variants.patch(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 genomics.variants.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.updateMask An optional mask specifying which fields to update. At this time, mutable fields are names and info. Acceptable values are "names" and "info". If unspecified, all mutable fields will be updated. + * @param {string} params.variantId The ID of the variant to be updated. + * @param {().Variant} 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 + */ + patch(params?: Params$Resource$Variants$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Variants$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Variants$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * genomics.variants.search + * @desc Gets a list of variants matching the criteria. Implements + * [GlobalAllianceApi.searchVariants](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/variantmethods.avdl#L126). + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1'); + * + * authorize(function(authClient) { + * var request = { + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var variantsPage = response['variants']; + * if (!variantsPage) { + * return; + * } + * for (var i = 0; i < variantsPage.length; i++) { + * // TODO: Change code below to process each resource in + * `variantsPage`: console.log(JSON.stringify(variantsPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.resource.pageToken = response.nextPageToken; + * genomics.variants.search(request, handlePage); + * } + * }; + * + * genomics.variants.search(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 genomics.variants.search + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().SearchVariantsRequest} 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 + */ + search(params?: Params$Resource$Variants$Search, options?: MethodOptions): AxiosPromise; + search(params: Params$Resource$Variants$Search, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + search(params: Params$Resource$Variants$Search, callback: BodyResponseCallback): void; + search(callback: BodyResponseCallback): void; + } + interface Params$Resource$Variants$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$Variant; + } + interface Params$Resource$Variants$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the variant to be deleted. + */ + variantId?: string; + } + interface Params$Resource$Variants$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the variant. + */ + variantId?: string; + } + interface Params$Resource$Variants$Import { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$ImportVariantsRequest; + } + interface Params$Resource$Variants$Merge { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$MergeVariantsRequest; + } + interface Params$Resource$Variants$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * An optional mask specifying which fields to update. At this time, mutable + * fields are names and info. Acceptable values are "names" and "info". If + * unspecified, all mutable fields will be updated. + */ + updateMask?: string; + /** + * The ID of the variant to be updated. + */ + variantId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Variant; + } + interface Params$Resource$Variants$Search { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$SearchVariantsRequest; + } + class Resource$Variantsets { + root: Genomics; + constructor(root: Genomics); + getRoot(): Genomics; + /** + * genomics.variantsets.create + * @desc Creates a new variant set. The provided variant set must have a + * valid `datasetId` set - all other fields are optional. Note that the `id` + * field will be ignored, as this is assigned by the server. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1'); + * + * authorize(function(authClient) { + * var request = { + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * genomics.variantsets.create(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 genomics.variantsets.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().VariantSet} 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 + */ + create(params?: Params$Resource$Variantsets$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Variantsets$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Variantsets$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * genomics.variantsets.delete + * @desc Deletes a variant set including all variants, call sets, and calls + * within. This is not reversible. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The ID of the variant set to be deleted. + * variantSetId: 'my-variant-set-id', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * genomics.variantsets.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 genomics.variantsets.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.variantSetId The ID of the variant set to be deleted. + * @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?: Params$Resource$Variantsets$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Variantsets$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Variantsets$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * genomics.variantsets.export + * @desc Exports variant set data to an external destination. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Required. The ID of the variant set that contains variant data + * which + * // should be exported. The caller must have READ access to this + * variant set. variantSetId: 'my-variant-set-id', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * genomics.variantsets.export(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 genomics.variantsets.export + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.variantSetId Required. The ID of the variant set that contains variant data which should be exported. The caller must have READ access to this variant set. + * @param {().ExportVariantSetRequest} 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 + */ + export(params?: Params$Resource$Variantsets$Export, options?: MethodOptions): AxiosPromise; + export(params: Params$Resource$Variantsets$Export, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + export(params: Params$Resource$Variantsets$Export, callback: BodyResponseCallback): void; + export(callback: BodyResponseCallback): void; + /** + * genomics.variantsets.get + * @desc Gets a variant set by ID. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Required. The ID of the variant set. + * variantSetId: 'my-variant-set-id', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * genomics.variantsets.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 genomics.variantsets.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.variantSetId Required. The ID of the variant set. + * @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?: Params$Resource$Variantsets$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Variantsets$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Variantsets$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * genomics.variantsets.patch + * @desc Updates a variant set using patch semantics. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The ID of the variant to be updated (must already exist). + * variantSetId: 'my-variant-set-id', // TODO: Update placeholder + * value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * genomics.variantsets.patch(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 genomics.variantsets.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.updateMask An optional mask specifying which fields to update. Supported fields: * metadata. * name. * description. Leaving `updateMask` unset is equivalent to specifying all mutable fields. + * @param {string} params.variantSetId The ID of the variant to be updated (must already exist). + * @param {().VariantSet} 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 + */ + patch(params?: Params$Resource$Variantsets$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Variantsets$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Variantsets$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * genomics.variantsets.search + * @desc Returns a list of all variant sets matching search criteria. + * Implements + * [GlobalAllianceApi.searchVariantSets](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/variantmethods.avdl#L49). + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1'); + * + * authorize(function(authClient) { + * var request = { + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var variantSetsPage = response['variantSets']; + * if (!variantSetsPage) { + * return; + * } + * for (var i = 0; i < variantSetsPage.length; i++) { + * // TODO: Change code below to process each resource in + * `variantSetsPage`: console.log(JSON.stringify(variantSetsPage[i], null, + * 2)); + * } + * + * if (response.nextPageToken) { + * request.resource.pageToken = response.nextPageToken; + * genomics.variantsets.search(request, handlePage); + * } + * }; + * + * genomics.variantsets.search(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 genomics.variantsets.search + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().SearchVariantSetsRequest} 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 + */ + search(params?: Params$Resource$Variantsets$Search, options?: MethodOptions): AxiosPromise; + search(params: Params$Resource$Variantsets$Search, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + search(params: Params$Resource$Variantsets$Search, callback: BodyResponseCallback): void; + search(callback: BodyResponseCallback): void; + } + interface Params$Resource$Variantsets$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$VariantSet; + } + interface Params$Resource$Variantsets$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the variant set to be deleted. + */ + variantSetId?: string; + } + interface Params$Resource$Variantsets$Export { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The ID of the variant set that contains variant data which + * should be exported. The caller must have READ access to this variant set. + */ + variantSetId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ExportVariantSetRequest; + } + interface Params$Resource$Variantsets$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The ID of the variant set. + */ + variantSetId?: string; + } + interface Params$Resource$Variantsets$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * An optional mask specifying which fields to update. Supported fields: * + * metadata. * name. * description. Leaving `updateMask` unset is + * equivalent to specifying all mutable fields. + */ + updateMask?: string; + /** + * The ID of the variant to be updated (must already exist). + */ + variantSetId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$VariantSet; + } + interface Params$Resource$Variantsets$Search { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$SearchVariantSetsRequest; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/genomics/v1.js b/express-server/node_modules/googleapis/build/src/apis/genomics/v1.js new file mode 100644 index 00000000..a57a5740 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/genomics/v1.js @@ -0,0 +1,1843 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var genomics_v1; +(function (genomics_v1) { + /** + * Genomics API + * + * Upload, process, query, and search Genomics data in the cloud. + * + * @example + * const {google} = require('googleapis'); + * const genomics = google.genomics('v1'); + * + * @namespace genomics + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Genomics + */ + class Genomics { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.annotations = new Resource$Annotations(this); + this.annotationsets = new Resource$Annotationsets(this); + this.callsets = new Resource$Callsets(this); + this.datasets = new Resource$Datasets(this); + this.operations = new Resource$Operations(this); + this.readgroupsets = new Resource$Readgroupsets(this); + this.reads = new Resource$Reads(this); + this.references = new Resource$References(this); + this.referencesets = new Resource$Referencesets(this); + this.variants = new Resource$Variants(this); + this.variantsets = new Resource$Variantsets(this); + } + getRoot() { + return this.root; + } + } + genomics_v1.Genomics = Genomics; + class Resource$Annotations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + batchCreate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/annotations:batchCreate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/annotations').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/annotations/{annotationId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['annotationId'], + pathParams: ['annotationId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/annotations/{annotationId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['annotationId'], + pathParams: ['annotationId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + search(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/annotations/search') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/annotations/{annotationId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['annotationId'], + pathParams: ['annotationId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + genomics_v1.Resource$Annotations = Resource$Annotations; + class Resource$Annotationsets { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/annotationsets') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/annotationsets/{annotationSetId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['annotationSetId'], + pathParams: ['annotationSetId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/annotationsets/{annotationSetId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['annotationSetId'], + pathParams: ['annotationSetId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + search(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/annotationsets/search') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/annotationsets/{annotationSetId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['annotationSetId'], + pathParams: ['annotationSetId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + genomics_v1.Resource$Annotationsets = Resource$Annotationsets; + class Resource$Callsets { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/callsets').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/callsets/{callSetId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['callSetId'], + pathParams: ['callSetId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/callsets/{callSetId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['callSetId'], + pathParams: ['callSetId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/callsets/{callSetId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['callSetId'], + pathParams: ['callSetId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + search(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/callsets/search') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + genomics_v1.Resource$Callsets = Resource$Callsets; + class Resource$Datasets { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/datasets').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/datasets/{datasetId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['datasetId'], + pathParams: ['datasetId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/datasets/{datasetId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['datasetId'], + pathParams: ['datasetId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/datasets').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/datasets/{datasetId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['datasetId'], + pathParams: ['datasetId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + undelete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/datasets/{datasetId}:undelete') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['datasetId'], + pathParams: ['datasetId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + genomics_v1.Resource$Datasets = Resource$Datasets; + class Resource$Operations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + cancel(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:cancel') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + genomics_v1.Resource$Operations = Resource$Operations; + class Resource$Readgroupsets { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.coveragebuckets = new Resource$Readgroupsets$Coveragebuckets(root); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/readgroupsets/{readGroupSetId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['readGroupSetId'], + pathParams: ['readGroupSetId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + export(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/readgroupsets/{readGroupSetId}:export') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['readGroupSetId'], + pathParams: ['readGroupSetId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/readgroupsets/{readGroupSetId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['readGroupSetId'], + pathParams: ['readGroupSetId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + import(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { options: Object.assign({ url: (rootUrl + '/v1/readgroupsets:import').replace(/([^:]\/)\/+/g, '$1'), method: 'POST' }, options), params, requiredParams: [], pathParams: [], context: this.getRoot() }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/readgroupsets/{readGroupSetId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['readGroupSetId'], + pathParams: ['readGroupSetId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + search(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/readgroupsets/search') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + genomics_v1.Resource$Readgroupsets = Resource$Readgroupsets; + class Resource$Readgroupsets$Coveragebuckets { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/readgroupsets/{readGroupSetId}/coveragebuckets') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['readGroupSetId'], + pathParams: ['readGroupSetId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + genomics_v1.Resource$Readgroupsets$Coveragebuckets = Resource$Readgroupsets$Coveragebuckets; + class Resource$Reads { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + search(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/reads/search').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + genomics_v1.Resource$Reads = Resource$Reads; + class Resource$References { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.bases = new Resource$References$Bases(root); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/references/{referenceId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['referenceId'], + pathParams: ['referenceId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + search(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/references/search') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + genomics_v1.Resource$References = Resource$References; + class Resource$References$Bases { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/references/{referenceId}/bases') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['referenceId'], + pathParams: ['referenceId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + genomics_v1.Resource$References$Bases = Resource$References$Bases; + class Resource$Referencesets { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/referencesets/{referenceSetId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['referenceSetId'], + pathParams: ['referenceSetId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + search(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/referencesets/search') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + genomics_v1.Resource$Referencesets = Resource$Referencesets; + class Resource$Variants { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/variants').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/variants/{variantId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['variantId'], + pathParams: ['variantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/variants/{variantId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['variantId'], + pathParams: ['variantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + import(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { options: Object.assign({ url: (rootUrl + '/v1/variants:import').replace(/([^:]\/)\/+/g, '$1'), method: 'POST' }, options), params, requiredParams: [], pathParams: [], context: this.getRoot() }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + merge(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/variants:merge') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/variants/{variantId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['variantId'], + pathParams: ['variantId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + search(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/variants/search') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + genomics_v1.Resource$Variants = Resource$Variants; + class Resource$Variantsets { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/variantsets').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/variantsets/{variantSetId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['variantSetId'], + pathParams: ['variantSetId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + export(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/variantsets/{variantSetId}:export') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['variantSetId'], + pathParams: ['variantSetId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/variantsets/{variantSetId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['variantSetId'], + pathParams: ['variantSetId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/variantsets/{variantSetId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['variantSetId'], + pathParams: ['variantSetId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + search(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/variantsets/search') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + genomics_v1.Resource$Variantsets = Resource$Variantsets; +})(genomics_v1 = exports.genomics_v1 || (exports.genomics_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/genomics/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/genomics/v1.js.map new file mode 100644 index 00000000..00909831 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/genomics/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/genomics/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/genomics/v1alpha2.d.ts b/express-server/node_modules/googleapis/build/src/apis/genomics/v1alpha2.d.ts new file mode 100644 index 00000000..bc379043 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/genomics/v1alpha2.d.ts @@ -0,0 +1,1814 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace genomics_v1alpha2 { + interface Options extends GlobalOptions { + version: 'v1alpha2'; + } + /** + * Genomics API + * + * Upload, process, query, and search Genomics data in the cloud. + * + * @example + * const {google} = require('googleapis'); + * const genomics = google.genomics('v1alpha2'); + * + * @namespace genomics + * @type {Function} + * @version v1alpha2 + * @variation v1alpha2 + * @param {object=} options Options for Genomics + */ + class Genomics { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + operations: Resource$Operations; + pipelines: Resource$Pipelines; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * The request message for Operations.CancelOperation. + */ + interface Schema$CancelOperationRequest { + } + /** + * Describes a Compute Engine resource that is being managed by a running + * pipeline. + */ + interface Schema$ComputeEngine { + /** + * The names of the disks that were created for this pipeline. + */ + diskNames?: string[]; + /** + * The instance on which the operation is running. + */ + instanceName?: string; + /** + * The machine type of the instance. + */ + machineType?: string; + /** + * The availability zone in which the instance resides. + */ + zone?: string; + } + /** + * An event generated when a container is forcibly terminated by the worker. + * Currently, this only occurs when the container outlives the timeout + * specified by the user. + */ + interface Schema$ContainerKilledEvent { + /** + * The numeric ID of the action that started the container. + */ + actionId?: number; + } + /** + * An event generated when a container starts. + */ + interface Schema$ContainerStartedEvent { + /** + * The numeric ID of the action that started this container. + */ + actionId?: number; + /** + * The public IP address that can be used to connect to the container. This + * field is only populated when at least one port mapping is present. If the + * instance was created with a private address, this field will be empty + * even if port mappings exist. + */ + ipAddress?: string; + /** + * The container-to-host port mappings installed for this container. This + * set will contain any ports exposed using the `PUBLISH_EXPOSED_PORTS` flag + * as well as any specified in the `Action` definition. + */ + portMappings?: any; + } + /** + * An event generated when a container exits. + */ + interface Schema$ContainerStoppedEvent { + /** + * The numeric ID of the action that started this container. + */ + actionId?: number; + /** + * The exit status of the container. + */ + exitStatus?: number; + /** + * The tail end of any content written to standard error by the container. + * If the content emits large amounts of debugging noise or contains + * sensitive information, you can prevent the content from being printed by + * setting the `DISABLE_STANDARD_ERROR_CAPTURE` flag. Note that only a + * small amount of the end of the stream is captured here. The entire stream + * is stored in the `/google/logs` directory mounted into each action, and + * can be copied off the machine as described elsewhere. + */ + stderr?: string; + } + /** + * Stores the information that the controller will fetch from the server in + * order to run. Should only be used by VMs created by the Pipelines Service + * and not by end users. + */ + interface Schema$ControllerConfig { + cmd?: string; + disks?: any; + gcsLogPath?: string; + gcsSinks?: any; + gcsSources?: any; + image?: string; + machineType?: string; + vars?: any; + } + /** + * An event generated whenever a resource limitation or transient error delays + * execution of a pipeline that was otherwise ready to run. + */ + interface Schema$DelayedEvent { + /** + * A textual description of the cause of the delay. The string can change + * without notice because it is often generated by another service (such as + * Compute Engine). + */ + cause?: string; + /** + * If the delay was caused by a resource shortage, this field lists the + * Compute Engine metrics that are preventing this operation from running + * (for example, `CPUS` or `INSTANCES`). If the particular metric is not + * known, a single `UNKNOWN` metric will be present. + */ + metrics?: string[]; + } + /** + * A Google Compute Engine disk resource specification. + */ + interface Schema$Disk { + /** + * Deprecated. Disks created by the Pipelines API will be deleted at the end + * of the pipeline run, regardless of what this field is set to. + */ + autoDelete?: boolean; + /** + * Required at create time and cannot be overridden at run time. Specifies + * the path in the docker container where files on this disk should be + * located. For example, if `mountPoint` is `/mnt/disk`, and the parameter + * has `localPath` `inputs/file.txt`, the docker container can access the + * data at `/mnt/disk/inputs/file.txt`. + */ + mountPoint?: string; + /** + * Required. The name of the disk that can be used in the pipeline + * parameters. Must be 1 - 63 characters. The name "boot" is + * reserved for system use. + */ + name?: string; + /** + * Specifies how a sourced-base persistent disk will be mounted. See + * https://cloud.google.com/compute/docs/disks/persistent-disks#use_multi_instances + * for more details. Can only be set at create time. + */ + readOnly?: boolean; + /** + * The size of the disk. Defaults to 500 (GB). This field is not applicable + * for local SSD. + */ + sizeGb?: number; + /** + * The full or partial URL of the persistent disk to attach. See + * https://cloud.google.com/compute/docs/reference/latest/instances#resource + * and + * https://cloud.google.com/compute/docs/disks/persistent-disks#snapshots + * for more details. + */ + source?: string; + /** + * Required. The type of the disk to create. + */ + type?: string; + } + /** + * The Docker execuctor specification. + */ + interface Schema$DockerExecutor { + /** + * Required. The command or newline delimited script to run. The command + * string will be executed within a bash shell. If the command exits with a + * non-zero exit code, output parameter de-localization will be skipped and + * the pipeline operation's `error` field will be populated. Maximum + * command string length is 16384. + */ + cmd?: string; + /** + * Required. Image name from either Docker Hub or Google Container Registry. + * Users that run pipelines must have READ access to the image. + */ + imageName?: string; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * Carries information about events that occur during pipeline execution. + */ + interface Schema$Event { + /** + * A human-readable description of the event. Note that these strings can + * change at any time without notice. Any application logic must use the + * information in the `details` field. + */ + description?: string; + /** + * Machine-readable details about the event. + */ + details?: any; + /** + * The time at which the event occurred. + */ + timestamp?: string; + } + /** + * An event generated when the execution of a pipeline has failed. Note that + * other events can continue to occur after this event. + */ + interface Schema$FailedEvent { + /** + * The human-readable description of the cause of the failure. + */ + cause?: string; + /** + * The Google standard error code that best describes this failure. + */ + code?: string; + } + /** + * The read group set import response. + */ + interface Schema$ImportReadGroupSetsResponse { + /** + * IDs of the read group sets that were created. + */ + readGroupSetIds?: string[]; + } + /** + * The variant data import response. + */ + interface Schema$ImportVariantsResponse { + /** + * IDs of the call sets created during the import. + */ + callSetIds?: string[]; + } + /** + * The response message for Operations.ListOperations. + */ + interface Schema$ListOperationsResponse { + /** + * The standard List next-page token. + */ + nextPageToken?: string; + /** + * A list of operations that matches the specified filter in the request. + */ + operations?: Schema$Operation[]; + } + /** + * The response of ListPipelines. Contains at most `pageSize` pipelines. If it + * contains `pageSize` pipelines, and more pipelines exist, then + * `nextPageToken` will be populated and should be used as the `pageToken` + * argument to a subsequent ListPipelines request. + */ + interface Schema$ListPipelinesResponse { + /** + * The token to use to get the next page of results. + */ + nextPageToken?: string; + /** + * The matched pipelines. + */ + pipelines?: Schema$Pipeline[]; + } + /** + * LocalCopy defines how a remote file should be copied to and from the VM. + */ + interface Schema$LocalCopy { + /** + * Required. The name of the disk where this parameter is located. Can be + * the name of one of the disks specified in the Resources field, or + * "boot", which represents the Docker instance's boot disk + * and has a mount point of `/`. + */ + disk?: string; + /** + * Required. The path within the user's docker container where this + * input should be localized to and from, relative to the specified + * disk's mount point. For example: file.txt, + */ + path?: string; + } + /** + * The logging options for the pipeline run. + */ + interface Schema$LoggingOptions { + /** + * The location in Google Cloud Storage to which the pipeline logs will be + * copied. Can be specified as a fully qualified directory path, in which + * case logs will be output with a unique identifier as the filename in that + * directory, or as a fully specified path, which must end in `.log`, in + * which case that path will be used, and the user must ensure that logs are + * not overwritten. Stdout and stderr logs from the run are also generated + * and output as `-stdout.log` and `-stderr.log`. + */ + gcsPath?: string; + } + /** + * This resource represents a long-running operation that is the result of a + * network API call. + */ + interface Schema$Operation { + /** + * If the value is `false`, it means the operation is still in progress. If + * `true`, the operation is completed, and either `error` or `response` is + * available. + */ + done?: boolean; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * An OperationMetadata or Metadata object. This will always be returned + * with the Operation. + */ + metadata?: any; + /** + * The server-assigned name, which is only unique within the same service + * that originally returns it. For example&#58; + * `operations/CJHU7Oi_ChDrveSpBRjfuL-qzoWAgEw` + */ + name?: string; + /** + * If importing ReadGroupSets, an ImportReadGroupSetsResponse is returned. + * If importing Variants, an ImportVariantsResponse is returned. For + * pipelines and exports, an Empty response is returned. + */ + response?: any; + } + /** + * An event that occurred during an Operation. + */ + interface Schema$OperationEvent { + /** + * Required description of event. + */ + description?: string; + /** + * Optional time of when event finished. An event can have a start time and + * no finish time. If an event has a finish time, there must be a start + * time. + */ + endTime?: string; + /** + * Optional time of when event started. + */ + startTime?: string; + } + /** + * Metadata describing an Operation. + */ + interface Schema$OperationMetadata { + /** + * This field is deprecated. Use `labels` instead. Optionally provided by + * the caller when submitting the request that creates the operation. + */ + clientId?: string; + /** + * The time at which the job was submitted to the Genomics service. + */ + createTime?: string; + /** + * The time at which the job stopped running. + */ + endTime?: string; + /** + * Optional event messages that were generated during the job's + * execution. This also contains any warnings that were generated during + * import or export. + */ + events?: Schema$OperationEvent[]; + /** + * Optionally provided by the caller when submitting the request that + * creates the operation. + */ + labels?: any; + /** + * The Google Cloud Project in which the job is scoped. + */ + projectId?: string; + /** + * The original request that started the operation. Note that this will be + * in current version of the API. If the operation was started with v1beta2 + * API and a GetOperation is performed on v1 API, a v1 request will be + * returned. + */ + request?: any; + /** + * Runtime metadata on this Operation. + */ + runtimeMetadata?: any; + /** + * The time at which the job began to run. + */ + startTime?: string; + } + /** + * The pipeline object. Represents a transformation from a set of input + * parameters to a set of output parameters. The transformation is defined as + * a docker image and command to run within that image. Each pipeline is run + * on a Google Compute Engine VM. A pipeline can be created with the `create` + * method and then later run with the `run` method, or a pipeline can be + * defined and run all at once with the `run` method. + */ + interface Schema$Pipeline { + /** + * User-specified description. + */ + description?: string; + /** + * Specifies the docker run information. + */ + docker?: Schema$DockerExecutor; + /** + * Input parameters of the pipeline. + */ + inputParameters?: Schema$PipelineParameter[]; + /** + * Required. A user specified pipeline name that does not have to be unique. + * This name can be used for filtering Pipelines in ListPipelines. + */ + name?: string; + /** + * Output parameters of the pipeline. + */ + outputParameters?: Schema$PipelineParameter[]; + /** + * Unique pipeline id that is generated by the service when CreatePipeline + * is called. Cannot be specified in the Pipeline used in the + * CreatePipelineRequest, and will be populated in the response to + * CreatePipeline and all subsequent Get and List calls. Indicates that the + * service has registered this pipeline. + */ + pipelineId?: string; + /** + * Required. The project in which to create the pipeline. The caller must + * have WRITE access. + */ + projectId?: string; + /** + * Required. Specifies resource requirements for the pipeline run. Required + * fields: * minimumCpuCores * minimumRamGb + */ + resources?: Schema$PipelineResources; + } + /** + * Parameters facilitate setting and delivering data into the pipeline's + * execution environment. They are defined at create time, with optional + * defaults, and can be overridden at run time. If `localCopy` is unset, then + * the parameter specifies a string that is passed as-is into the pipeline, as + * the value of the environment variable with the given name. A default value + * can be optionally specified at create time. The default can be overridden + * at run time using the inputs map. If no default is given, a value must be + * supplied at runtime. If `localCopy` is defined, then the parameter + * specifies a data source or sink, both in Google Cloud Storage and on the + * Docker container where the pipeline computation is run. The service account + * associated with the Pipeline (by default the project's Compute Engine + * service account) must have access to the Google Cloud Storage paths. At + * run time, the Google Cloud Storage paths can be overridden if a default was + * provided at create time, or must be set otherwise. The pipeline runner + * should add a key/value pair to either the inputs or outputs map. The + * indicated data copies will be carried out before/after pipeline execution, + * just as if the corresponding arguments were provided to `gsutil cp`. For + * example: Given the following `PipelineParameter`, specified in the + * `inputParameters` list: ``` {name: "input_file", localCopy: + * {path: "file.txt", disk: "pd1"}} ``` where `disk` is + * defined in the `PipelineResources` object as: ``` {name: "pd1", + * mountPoint: "/mnt/disk/"} ``` We create a disk named `pd1`, + * mount it on the host VM, and map `/mnt/pd1` to `/mnt/disk` in the docker + * container. At runtime, an entry for `input_file` would be required in the + * inputs map, such as: ``` inputs["input_file"] = + * "gs://my-bucket/bar.txt" ``` This would generate the following + * gsutil call: ``` gsutil cp gs://my-bucket/bar.txt /mnt/pd1/file.txt ``` + * The file `/mnt/pd1/file.txt` maps to `/mnt/disk/file.txt` in the Docker + * container. Acceptable paths are: <table> <thead> + * <tr><th>Google Cloud storage path</th><th>Local + * path</th></tr> </thead> <tbody> + * <tr><td>file</td><td>file</td></tr> + * <tr><td>glob</td><td>directory</td></tr> + * </tbody> </table> For outputs, the direction of the copy is + * reversed: ``` gsutil cp /mnt/disk/file.txt gs://my-bucket/bar.txt ``` + * Acceptable paths are: <table> <thead> + * <tr><th>Local path</th><th>Google Cloud Storage + * path</th></tr> </thead> <tbody> + * <tr><td>file</td><td>file</td></tr> + * <tr> <td>file</td> <td>directory - + * directory must already exist</td> </tr> <tr> + * <td>glob</td> <td>directory - directory will be + * created if it doesn't exist</td></tr> </tbody> + * </table> One restriction due to docker limitations, is that for + * outputs that are found on the boot disk, the local path cannot be a glob + * and must be a file. + */ + interface Schema$PipelineParameter { + /** + * The default value for this parameter. Can be overridden at runtime. If + * `localCopy` is present, then this must be a Google Cloud Storage path + * beginning with `gs://`. + */ + defaultValue?: string; + /** + * Human-readable description. + */ + description?: string; + /** + * If present, this parameter is marked for copying to and from the VM. + * `LocalCopy` indicates where on the VM the file should be. The value given + * to this parameter (either at runtime or using `defaultValue`) must be the + * remote path where the file should be. + */ + localCopy?: Schema$LocalCopy; + /** + * Required. Name of the parameter - the pipeline runner uses this string as + * the key to the input and output maps in RunPipeline. + */ + name?: string; + } + /** + * The system resources for the pipeline run. + */ + interface Schema$PipelineResources { + /** + * Optional. The number of accelerators of the specified type to attach. By + * specifying this parameter, you will download and install the following + * third-party software onto your managed Compute Engine instances: NVIDIA® + * Tesla® drivers and NVIDIA® CUDA toolkit. + */ + acceleratorCount?: string; + /** + * Optional. The Compute Engine defined accelerator type. By specifying this + * parameter, you will download and install the following third-party + * software onto your managed Compute Engine instances: NVIDIA® Tesla® + * drivers and NVIDIA® CUDA toolkit. Please see + * https://cloud.google.com/compute/docs/gpus/ for a list of available + * accelerator types. + */ + acceleratorType?: string; + /** + * The size of the boot disk. Defaults to 10 (GB). + */ + bootDiskSizeGb?: number; + /** + * Disks to attach. + */ + disks?: Schema$Disk[]; + /** + * The minimum number of cores to use. Defaults to 1. + */ + minimumCpuCores?: number; + /** + * The minimum amount of RAM to use. Defaults to 3.75 (GB) + */ + minimumRamGb?: number; + /** + * Whether to assign an external IP to the instance. This is an experimental + * feature that may go away. Defaults to false. Corresponds to + * `--no_address` flag for [gcloud compute instances create] + * (https://cloud.google.com/sdk/gcloud/reference/compute/instances/create). + * In order to use this, must be true for both create time and run time. + * Cannot be true at run time if false at create time. If you need to ssh + * into a private IP VM for debugging, you can ssh to a public VM and then + * ssh into the private VM's Internal IP. If noAddress is set, this + * pipeline run may only load docker images from Google Container Registry + * and not Docker Hub. Before using this, you must [configure access to + * Google services from internal + * IPs](https://cloud.google.com/compute/docs/configure-private-google-access#configuring_access_to_google_services_from_internal_ips). + */ + noAddress?: boolean; + /** + * Whether to use preemptible VMs. Defaults to `false`. In order to use + * this, must be true for both create time and run time. Cannot be true at + * run time if false at create time. + */ + preemptible?: boolean; + /** + * List of Google Compute Engine availability zones to which resource + * creation will restricted. If empty, any zone may be chosen. + */ + zones?: string[]; + } + /** + * An event generated when the worker starts pulling an image. + */ + interface Schema$PullStartedEvent { + /** + * The URI of the image that was pulled. + */ + imageUri?: string; + } + /** + * An event generated when the worker stops pulling an image. + */ + interface Schema$PullStoppedEvent { + /** + * The URI of the image that was pulled. + */ + imageUri?: string; + } + interface Schema$RepeatedString { + values?: string[]; + } + /** + * The pipeline run arguments. + */ + interface Schema$RunPipelineArgs { + /** + * This field is deprecated. Use `labels` instead. Client-specified pipeline + * operation identifier. + */ + clientId?: string; + /** + * Pipeline input arguments; keys are defined in the pipeline documentation. + * All input parameters that do not have default values must be specified. + * If parameters with defaults are specified here, the defaults will be + * overridden. + */ + inputs?: any; + /** + * How long to keep the VM up after a failure (for example docker command + * failed, copying input or output files failed, etc). While the VM is up, + * one can ssh into the VM to debug. Default is 0; maximum allowed value is + * 1 day. + */ + keepVmAliveOnFailureDuration?: string; + /** + * Labels to apply to this pipeline run. Labels will also be applied to + * compute resources (VM, disks) created by this pipeline run. When listing + * operations, operations can filtered by labels. Label keys may not be + * empty; label values may be empty. Non-empty labels must be 1-63 + * characters long, and comply with [RFC1035] + * (https://www.ietf.org/rfc/rfc1035.txt). Specifically, the name must be + * 1-63 characters long and match the regular expression + * `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a + * lowercase letter, and all following characters must be a dash, lowercase + * letter, or digit, except the last character, which cannot be a dash. + */ + labels?: any; + /** + * Required. Logging options. Used by the service to communicate results to + * the user. + */ + logging?: Schema$LoggingOptions; + /** + * Pipeline output arguments; keys are defined in the pipeline + * documentation. All output parameters of without default values must be + * specified. If parameters with defaults are specified here, the defaults + * will be overridden. + */ + outputs?: any; + /** + * Required. The project in which to run the pipeline. The caller must have + * WRITER access to all Google Cloud services and resources (e.g. Google + * Compute Engine) will be used. + */ + projectId?: string; + /** + * Specifies resource requirements/overrides for the pipeline run. + */ + resources?: Schema$PipelineResources; + /** + * The Google Cloud Service Account that will be used to access data and + * services. By default, the compute service account associated with + * `projectId` is used. + */ + serviceAccount?: Schema$ServiceAccount; + } + /** + * The request to run a pipeline. If `pipelineId` is specified, it refers to a + * saved pipeline created with CreatePipeline and set as the `pipelineId` of + * the returned Pipeline object. If `ephemeralPipeline` is specified, that + * pipeline is run once with the given args and not saved. It is an error to + * specify both `pipelineId` and `ephemeralPipeline`. `pipelineArgs` must be + * specified. + */ + interface Schema$RunPipelineRequest { + /** + * A new pipeline object to run once and then delete. + */ + ephemeralPipeline?: Schema$Pipeline; + /** + * The arguments to use when running this pipeline. + */ + pipelineArgs?: Schema$RunPipelineArgs; + /** + * The already created pipeline to run. + */ + pipelineId?: string; + } + /** + * The response to the RunPipeline method, returned in the operation's + * result field on success. + */ + interface Schema$RunPipelineResponse { + } + /** + * Runtime metadata that will be populated in the runtimeMetadata field of the + * Operation associated with a RunPipeline execution. + */ + interface Schema$RuntimeMetadata { + /** + * Execution information specific to Google Compute Engine. + */ + computeEngine?: Schema$ComputeEngine; + } + /** + * A Google Cloud Service Account. + */ + interface Schema$ServiceAccount { + /** + * Email address of the service account. Defaults to `default`, which uses + * the compute service account associated with the project. + */ + email?: string; + /** + * List of scopes to be enabled for this service account on the VM. The + * following scopes are automatically included: * + * https://www.googleapis.com/auth/compute * + * https://www.googleapis.com/auth/devstorage.full_control * + * https://www.googleapis.com/auth/genomics * + * https://www.googleapis.com/auth/logging.write * + * https://www.googleapis.com/auth/monitoring.write + */ + scopes?: string[]; + } + /** + * Request to set operation status. Should only be used by VMs created by the + * Pipelines Service and not by end users. + */ + interface Schema$SetOperationStatusRequest { + errorCode?: string; + errorMessage?: string; + operationId?: string; + timestampEvents?: Schema$TimestampEvent[]; + validationToken?: string; + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + /** + * Stores the list of events and times they occured for major events in job + * execution. + */ + interface Schema$TimestampEvent { + /** + * String indicating the type of event + */ + description?: string; + /** + * The time this event occured. + */ + timestamp?: string; + } + /** + * An event generated when the execution of a container results in a non-zero + * exit status that was not otherwise ignored. Execution will continue, but + * only actions that are flagged as `ALWAYS_RUN` will be executed. Other + * actions will be skipped. + */ + interface Schema$UnexpectedExitStatusEvent { + /** + * The numeric ID of the action that started the container. + */ + actionId?: number; + /** + * The exit status of the container. + */ + exitStatus?: number; + } + /** + * An event generated after a worker VM has been assigned to run the pipeline. + */ + interface Schema$WorkerAssignedEvent { + /** + * The worker's instance name. + */ + instance?: string; + /** + * The zone the worker is running in. + */ + zone?: string; + } + /** + * An event generated when the worker VM that was assigned to the pipeline has + * been released (deleted). + */ + interface Schema$WorkerReleasedEvent { + /** + * The worker's instance name. + */ + instance?: string; + /** + * The zone the worker was running in. + */ + zone?: string; + } + class Resource$Operations { + root: Genomics; + constructor(root: Genomics); + getRoot(): Genomics; + /** + * genomics.operations.cancel + * @desc Starts asynchronous cancellation on a long-running operation. The + * server makes a best effort to cancel the operation, but success is not + * guaranteed. Clients may use Operations.GetOperation or + * Operations.ListOperations to check whether the cancellation succeeded or + * the operation completed despite cancellation. Authorization requires the + * following [Google IAM](https://cloud.google.com/iam) permission: * + * `genomics.operations.cancel` + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1alpha2'); + * + * authorize(function(authClient) { + * var request = { + * // The name of the operation resource to be cancelled. + * name: 'operations/my-operation', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * genomics.operations.cancel(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 genomics.operations.cancel + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource to be cancelled. + * @param {().CancelOperationRequest} 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 + */ + cancel(params?: Params$Resource$Operations$Cancel, options?: MethodOptions): AxiosPromise; + cancel(params: Params$Resource$Operations$Cancel, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + cancel(params: Params$Resource$Operations$Cancel, callback: BodyResponseCallback): void; + cancel(callback: BodyResponseCallback): void; + /** + * genomics.operations.get + * @desc Gets the latest state of a long-running operation. Clients can use + * this method to poll the operation result at intervals as recommended by + * the API service. Authorization requires the following [Google + * IAM](https://cloud.google.com/iam) permission: * + * `genomics.operations.get` + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1alpha2'); + * + * authorize(function(authClient) { + * var request = { + * // The name of the operation resource. + * name: 'operations/my-operation', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * genomics.operations.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 genomics.operations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource. + * @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?: Params$Resource$Operations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Operations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Operations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * genomics.operations.list + * @desc Lists operations that match the specified filter in the request. + * Authorization requires the following [Google + * IAM](https://cloud.google.com/iam) permission: * + * `genomics.operations.list` + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1alpha2'); + * + * authorize(function(authClient) { + * var request = { + * // The name of the operation's parent resource. + * name: 'operations', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var operationsPage = response['operations']; + * if (!operationsPage) { + * return; + * } + * for (var i = 0; i < operationsPage.length; i++) { + * // TODO: Change code below to process each resource in + * `operationsPage`: console.log(JSON.stringify(operationsPage[i], null, + * 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * genomics.operations.list(request, handlePage); + * } + * }; + * + * genomics.operations.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 genomics.operations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A string for filtering Operations. In v2alpha1, the following filter fields are supported: * createTime: The time this job was created * events: The set of event (names) that have occurred while running the pipeline. The : operator can be used to determine if a particular event has occurred. * error: If the pipeline is running, this value is NULL. Once the pipeline finishes, the value is the standard Google error code. * labels.key or labels."key with space" where key is a label key. * done: If the pipeline is running, this value is false. Once the pipeline finishes, the value is true. In v1 and v1alpha2, the following filter fields are supported: * projectId: Required. Corresponds to OperationMetadata.projectId. * createTime: The time this job was created, in seconds from the [epoch](http://en.wikipedia.org/wiki/Unix_time). Can use `>=` and/or `<=` operators. * status: Can be `RUNNING`, `SUCCESS`, `FAILURE`, or `CANCELED`. Only one status may be specified. * labels.key where key is a label key. Examples: * `projectId = my-project AND createTime >= 1432140000` * `projectId = my-project AND createTime >= 1432140000 AND createTime <= 1432150000 AND status = RUNNING` * `projectId = my-project AND labels.color = *` * `projectId = my-project AND labels.color = red` + * @param {string} params.name The name of the operation's parent resource. + * @param {integer=} params.pageSize The maximum number of results to return. If unspecified, defaults to 256. The maximum value is 2048. + * @param {string=} params.pageToken The standard list page token. + * @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?: Params$Resource$Operations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Operations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Operations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Operations$Cancel { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource to be cancelled. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CancelOperationRequest; + } + interface Params$Resource$Operations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource. + */ + name?: string; + } + interface Params$Resource$Operations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A string for filtering Operations. In v2alpha1, the following filter + * fields are supported: * createTime: The time this job was + * created * events: The set of event (names) that have occurred while + * running the pipeline. The : operator can be used to determine if a + * particular event has occurred. * error: If the pipeline is running, + * this value is NULL. Once the pipeline finishes, the value is the + * standard Google error code. * labels.key or labels."key with space" where + * key is a label key. * done: If the pipeline is running, this value is + * false. Once the pipeline finishes, the value is true. In v1 and + * v1alpha2, the following filter fields are supported: * + * projectId: Required. Corresponds to OperationMetadata.projectId. * + * createTime: The time this job was created, in seconds from the + * [epoch](http://en.wikipedia.org/wiki/Unix_time). Can use `>=` and/or `<=` + * operators. * status: Can be `RUNNING`, `SUCCESS`, `FAILURE`, or + * `CANCELED`. Only one status may be specified. * labels.key where key is + * a label key. Examples: * `projectId = my-project AND createTime >= + * 1432140000` * `projectId = my-project AND createTime >= 1432140000 AND + * createTime <= 1432150000 AND status = RUNNING` * `projectId = my-project + * AND labels.color = *` * `projectId = my-project AND labels.color = red` + */ + filter?: string; + /** + * The name of the operation's parent resource. + */ + name?: string; + /** + * The maximum number of results to return. If unspecified, defaults to 256. + * The maximum value is 2048. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } + class Resource$Pipelines { + root: Genomics; + constructor(root: Genomics); + getRoot(): Genomics; + /** + * genomics.pipelines.create + * @desc Creates a pipeline that can be run later. Create takes a Pipeline + * that has all fields other than `pipelineId` populated, and then returns + * the same pipeline with `pipelineId` populated. This id can be used to run + * the pipeline. Caller must have WRITE permission to the project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1alpha2'); + * + * authorize(function(authClient) { + * var request = { + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * genomics.pipelines.create(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 genomics.pipelines.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().Pipeline} 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 + */ + create(params?: Params$Resource$Pipelines$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Pipelines$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Pipelines$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * genomics.pipelines.delete + * @desc Deletes a pipeline based on ID. Caller must have WRITE permission + * to the project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1alpha2'); + * + * authorize(function(authClient) { + * var request = { + * // Caller must have WRITE access to the project in which this + * pipeline + * // is defined. + * pipelineId: 'my-pipeline-id', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * genomics.pipelines.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 genomics.pipelines.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.pipelineId Caller must have WRITE access to the project in which this pipeline is defined. + * @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?: Params$Resource$Pipelines$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Pipelines$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Pipelines$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * genomics.pipelines.get + * @desc Retrieves a pipeline based on ID. Caller must have READ permission + * to the project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1alpha2'); + * + * authorize(function(authClient) { + * var request = { + * // Caller must have READ access to the project in which this pipeline + * // is defined. + * pipelineId: 'my-pipeline-id', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * genomics.pipelines.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 genomics.pipelines.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.pipelineId Caller must have READ access to the project in which this pipeline is defined. + * @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?: Params$Resource$Pipelines$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Pipelines$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Pipelines$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * genomics.pipelines.getControllerConfig + * @desc Gets controller configuration information. Should only be called by + * VMs created by the Pipelines Service and not by end users. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1alpha2'); + * + * authorize(function(authClient) { + * var request = { + * auth: authClient, + * }; + * + * genomics.pipelines.getControllerConfig(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 genomics.pipelines.getControllerConfig + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.operationId The operation to retrieve controller configuration for. + * @param {string=} params.validationToken + * @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 + */ + getControllerConfig(params?: Params$Resource$Pipelines$Getcontrollerconfig, options?: MethodOptions): AxiosPromise; + getControllerConfig(params: Params$Resource$Pipelines$Getcontrollerconfig, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getControllerConfig(params: Params$Resource$Pipelines$Getcontrollerconfig, callback: BodyResponseCallback): void; + getControllerConfig(callback: BodyResponseCallback): void; + /** + * genomics.pipelines.list + * @desc Lists pipelines. Caller must have READ permission to the project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1alpha2'); + * + * authorize(function(authClient) { + * var request = { + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var pipelinesPage = response['pipelines']; + * if (!pipelinesPage) { + * return; + * } + * for (var i = 0; i < pipelinesPage.length; i++) { + * // TODO: Change code below to process each resource in + * `pipelinesPage`: console.log(JSON.stringify(pipelinesPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * genomics.pipelines.list(request, handlePage); + * } + * }; + * + * genomics.pipelines.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 genomics.pipelines.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.namePrefix Pipelines with names that match this prefix should be returned. If unspecified, all pipelines in the project, up to `pageSize`, will be returned. + * @param {integer=} params.pageSize Number of pipelines to return at once. Defaults to 256, and max is 2048. + * @param {string=} params.pageToken Token to use to indicate where to start getting results. If unspecified, returns the first page of results. + * @param {string=} params.projectId Required. The name of the project to search for pipelines. Caller must have READ access to this project. + * @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?: Params$Resource$Pipelines$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Pipelines$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Pipelines$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * genomics.pipelines.run + * @desc Runs a pipeline. If `pipelineId` is specified in the request, then + * run a saved pipeline. If `ephemeralPipeline` is specified, then run that + * pipeline once without saving a copy. The caller must have READ + * permission to the project where the pipeline is stored and WRITE + * permission to the project where the pipeline will be run, as VMs will be + * created and storage will be used. If a pipeline operation is still + * running after 6 days, it will be canceled. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1alpha2'); + * + * authorize(function(authClient) { + * var request = { + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * genomics.pipelines.run(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 genomics.pipelines.run + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().RunPipelineRequest} 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 + */ + run(params?: Params$Resource$Pipelines$Run, options?: MethodOptions): AxiosPromise; + run(params: Params$Resource$Pipelines$Run, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + run(params: Params$Resource$Pipelines$Run, callback: BodyResponseCallback): void; + run(callback: BodyResponseCallback): void; + /** + * genomics.pipelines.setOperationStatus + * @desc Sets status of a given operation. Any new timestamps (as determined + * by description) are appended to TimestampEvents. Should only be called by + * VMs created by the Pipelines Service and not by end users. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Genomics API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/genomics + * // 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 genomics = google.genomics('v1alpha2'); + * + * authorize(function(authClient) { + * var request = { + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * genomics.pipelines.setOperationStatus(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 genomics.pipelines.setOperationStatus + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().SetOperationStatusRequest} 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 + */ + setOperationStatus(params?: Params$Resource$Pipelines$Setoperationstatus, options?: MethodOptions): AxiosPromise; + setOperationStatus(params: Params$Resource$Pipelines$Setoperationstatus, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setOperationStatus(params: Params$Resource$Pipelines$Setoperationstatus, callback: BodyResponseCallback): void; + setOperationStatus(callback: BodyResponseCallback): void; + } + interface Params$Resource$Pipelines$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$Pipeline; + } + interface Params$Resource$Pipelines$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Caller must have WRITE access to the project in which this pipeline is + * defined. + */ + pipelineId?: string; + } + interface Params$Resource$Pipelines$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Caller must have READ access to the project in which this pipeline is + * defined. + */ + pipelineId?: string; + } + interface Params$Resource$Pipelines$Getcontrollerconfig { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The operation to retrieve controller configuration for. + */ + operationId?: string; + /** + * + */ + validationToken?: string; + } + interface Params$Resource$Pipelines$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Pipelines with names that match this prefix should be returned. If + * unspecified, all pipelines in the project, up to `pageSize`, will be + * returned. + */ + namePrefix?: string; + /** + * Number of pipelines to return at once. Defaults to 256, and max is 2048. + */ + pageSize?: number; + /** + * Token to use to indicate where to start getting results. If unspecified, + * returns the first page of results. + */ + pageToken?: string; + /** + * Required. The name of the project to search for pipelines. Caller must + * have READ access to this project. + */ + projectId?: string; + } + interface Params$Resource$Pipelines$Run { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$RunPipelineRequest; + } + interface Params$Resource$Pipelines$Setoperationstatus { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$SetOperationStatusRequest; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/genomics/v1alpha2.js b/express-server/node_modules/googleapis/build/src/apis/genomics/v1alpha2.js new file mode 100644 index 00000000..a001c4dd --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/genomics/v1alpha2.js @@ -0,0 +1,384 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var genomics_v1alpha2; +(function (genomics_v1alpha2) { + /** + * Genomics API + * + * Upload, process, query, and search Genomics data in the cloud. + * + * @example + * const {google} = require('googleapis'); + * const genomics = google.genomics('v1alpha2'); + * + * @namespace genomics + * @type {Function} + * @version v1alpha2 + * @variation v1alpha2 + * @param {object=} options Options for Genomics + */ + class Genomics { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.operations = new Resource$Operations(this); + this.pipelines = new Resource$Pipelines(this); + } + getRoot() { + return this.root; + } + } + genomics_v1alpha2.Genomics = Genomics; + class Resource$Operations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + cancel(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha2/{+name}:cancel') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + genomics_v1alpha2.Resource$Operations = Resource$Operations; + class Resource$Pipelines { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha2/pipelines') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha2/pipelines/{pipelineId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['pipelineId'], + pathParams: ['pipelineId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha2/pipelines/{pipelineId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['pipelineId'], + pathParams: ['pipelineId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getControllerConfig(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha2/pipelines:getControllerConfig') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha2/pipelines') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + run(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha2/pipelines:run') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setOperationStatus(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha2/pipelines:setOperationStatus') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + genomics_v1alpha2.Resource$Pipelines = Resource$Pipelines; +})(genomics_v1alpha2 = exports.genomics_v1alpha2 || (exports.genomics_v1alpha2 = {})); +//# sourceMappingURL=v1alpha2.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/genomics/v1alpha2.js.map b/express-server/node_modules/googleapis/build/src/apis/genomics/v1alpha2.js.map new file mode 100644 index 00000000..799eed0b --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/genomics/v1alpha2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1alpha2.js","sourceRoot":"","sources":["../../../../src/apis/genomics/v1alpha2.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/genomics/v2alpha1.d.ts b/express-server/node_modules/googleapis/build/src/apis/genomics/v2alpha1.d.ts new file mode 100644 index 00000000..8cc87973 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/genomics/v2alpha1.d.ts @@ -0,0 +1,1153 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace genomics_v2alpha1 { + interface Options extends GlobalOptions { + version: 'v2alpha1'; + } + /** + * Genomics API + * + * Upload, process, query, and search Genomics data in the cloud. + * + * @example + * const {google} = require('googleapis'); + * const genomics = google.genomics('v2alpha1'); + * + * @namespace genomics + * @type {Function} + * @version v2alpha1 + * @variation v2alpha1 + * @param {object=} options Options for Genomics + */ + class Genomics { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + pipelines: Resource$Pipelines; + projects: Resource$Projects; + workers: Resource$Workers; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Carries information about an accelerator that can be attached to a VM. + */ + interface Schema$Accelerator { + /** + * How many accelerators of this type to attach. + */ + count?: string; + /** + * The accelerator type string (for example, "nvidia-tesla-k80"). + * Only NVIDIA GPU accelerators are currently supported. If an NVIDIA GPU is + * attached, the required runtime libraries will be made available to all + * containers under `/usr/local/nvidia`. The driver version to install must + * be specified using the NVIDIA driver version parameter on the virtual + * machine specification. Note that attaching a GPU increases the worker VM + * startup time by a few minutes. + */ + type?: string; + } + /** + * Specifies a single action that runs a Docker container. + */ + interface Schema$Action { + /** + * If specified, overrides the `CMD` specified in the container. If the + * container also has an `ENTRYPOINT` the values are used as entrypoint + * arguments. Otherwise, they are used as a command and arguments to run + * inside the container. + */ + commands?: string[]; + /** + * If the specified image is hosted on a private registry other than Google + * Container Registry, the credentials required to pull the image must be + * specified here as an encrypted secret. The secret must decrypt to a + * JSON-encoded dictionary containing both `username` and `password` keys. + */ + credentials?: Schema$Secret; + /** + * If specified, overrides the `ENTRYPOINT` specified in the container. + */ + entrypoint?: string; + /** + * The environment to pass into the container. This environment is merged + * with any values specified in the `Pipeline` message. These values + * overwrite any in the `Pipeline` message. In addition to the values + * passed here, a few other values are automatically injected into the + * environment. These cannot be hidden or overwritten. + * `GOOGLE_PIPELINE_FAILED` will be set to "1" if the pipeline + * failed because an action has exited with a non-zero status (and did not + * have the `IGNORE_EXIT_STATUS` flag set). This can be used to determine if + * additional debug or logging actions should execute. + * `GOOGLE_LAST_EXIT_STATUS` will be set to the exit status of the last + * non-background action that executed. This can be used by workflow engine + * authors to determine whether an individual action has succeeded or + * failed. + */ + environment?: any; + /** + * The set of flags to apply to this action. + */ + flags?: string[]; + /** + * The URI to pull the container image from. Note that all images referenced + * by actions in the pipeline are pulled before the first action runs. If + * multiple actions reference the same image, it is only pulled once, + * ensuring that the same image is used for all actions in a single + * pipeline. + */ + imageUri?: string; + /** + * Labels to associate with the action. This field is provided to assist + * workflow engine authors in identifying actions (for example, to indicate + * what sort of action they perform, such as localization or debugging). + * They are returned in the operation metadata, but are otherwise ignored. + */ + labels?: any; + /** + * A list of mounts to make available to the action. In addition to the + * values specified here, every action has a special virtual disk mounted + * under `/google` that contains log files and other operational components. + * <ul> <li><code>/google/logs</code> All logs + * written during the pipeline execution.</li> + * <li><code>/google/logs/output</code> The combined + * standard output and standard error of all actions run as part of the + * pipeline execution.</li> + * <li><code>/google/logs/action/x/stdout</code> The + * complete contents of each individual action's standard + * output.</li> + * <li><code>/google/logs/action/x/stderr</code> The + * complete contents of each individual action's standard error + * output.</li> </ul> + */ + mounts?: Schema$Mount[]; + /** + * An optional name for the container. The container hostname will be set to + * this name, making it useful for inter-container communication. The name + * must contain only upper and lowercase alphanumeric characters and hypens + * and cannot start with a hypen. + */ + name?: string; + /** + * The PID namespace to run the action inside. If unspecified, a separate + * isolated namespace is used. + */ + pidNamespace?: string; + /** + * A map of containers to host port mappings for this container. If the + * container already specifies exposed ports, use the + * `PUBLISH_EXPOSED_PORTS` flag instead. The host port number must be less + * than 65536. If it is zero, an unused random port is assigned. To + * determine the resulting port number, consult the `ContainerStartedEvent` + * in the operation metadata. + */ + portMappings?: any; + /** + * The maximum amount of time to give the action to complete. If the action + * fails to complete before the timeout, it will be terminated and the exit + * status will be non-zero. The pipeline will continue or terminate based on + * the rules defined by the `ALWAYS_RUN` and `IGNORE_EXIT_STATUS` flags. + */ + timeout?: string; + } + /** + * The request message for Operations.CancelOperation. + */ + interface Schema$CancelOperationRequest { + } + /** + * The parameters to the CheckIn method. + */ + interface Schema$CheckInRequest { + /** + * The deadline has expired and the worker needs more time. + */ + deadlineExpired?: Schema$Empty; + /** + * A workflow specific event occurred. + */ + event?: any; + /** + * The operation has finished with the given result. + */ + result?: Schema$Status; + /** + * Data about the status of the worker VM. + */ + workerStatus?: Schema$WorkerStatus; + } + /** + * The response to the CheckIn method. + */ + interface Schema$CheckInResponse { + /** + * The deadline by which the worker must request an extension. The backend + * will allow for network transmission time and other delays, but the worker + * must attempt to transmit the extension request no later than the + * deadline. + */ + deadline?: string; + /** + * The metadata that describes the operation assigned to the worker. + */ + metadata?: any; + } + /** + * Describes a Compute Engine resource that is being managed by a running + * pipeline. + */ + interface Schema$ComputeEngine { + /** + * The names of the disks that were created for this pipeline. + */ + diskNames?: string[]; + /** + * The instance on which the operation is running. + */ + instanceName?: string; + /** + * The machine type of the instance. + */ + machineType?: string; + /** + * The availability zone in which the instance resides. + */ + zone?: string; + } + /** + * An event generated when a container is forcibly terminated by the worker. + * Currently, this only occurs when the container outlives the timeout + * specified by the user. + */ + interface Schema$ContainerKilledEvent { + /** + * The numeric ID of the action that started the container. + */ + actionId?: number; + } + /** + * An event generated when a container starts. + */ + interface Schema$ContainerStartedEvent { + /** + * The numeric ID of the action that started this container. + */ + actionId?: number; + /** + * The public IP address that can be used to connect to the container. This + * field is only populated when at least one port mapping is present. If the + * instance was created with a private address, this field will be empty + * even if port mappings exist. + */ + ipAddress?: string; + /** + * The container-to-host port mappings installed for this container. This + * set will contain any ports exposed using the `PUBLISH_EXPOSED_PORTS` flag + * as well as any specified in the `Action` definition. + */ + portMappings?: any; + } + /** + * An event generated when a container exits. + */ + interface Schema$ContainerStoppedEvent { + /** + * The numeric ID of the action that started this container. + */ + actionId?: number; + /** + * The exit status of the container. + */ + exitStatus?: number; + /** + * The tail end of any content written to standard error by the container. + * If the content emits large amounts of debugging noise or contains + * sensitive information, you can prevent the content from being printed by + * setting the `DISABLE_STANDARD_ERROR_CAPTURE` flag. Note that only a + * small amount of the end of the stream is captured here. The entire stream + * is stored in the `/google/logs` directory mounted into each action, and + * can be copied off the machine as described elsewhere. + */ + stderr?: string; + } + /** + * An event generated whenever a resource limitation or transient error delays + * execution of a pipeline that was otherwise ready to run. + */ + interface Schema$DelayedEvent { + /** + * A textual description of the cause of the delay. The string can change + * without notice because it is often generated by another service (such as + * Compute Engine). + */ + cause?: string; + /** + * If the delay was caused by a resource shortage, this field lists the + * Compute Engine metrics that are preventing this operation from running + * (for example, `CPUS` or `INSTANCES`). If the particular metric is not + * known, a single `UNKNOWN` metric will be present. + */ + metrics?: string[]; + } + /** + * Carries information about a disk that can be attached to a VM. See + * https://cloud.google.com/compute/docs/disks/performance for more + * information about disk type, size, and performance considerations. + */ + interface Schema$Disk { + /** + * A user-supplied name for the disk. Used when mounting the disk into + * actions. The name must contain only upper and lowercase alphanumeric + * characters and hypens and cannot start with a hypen. + */ + name?: string; + /** + * The size, in GB, of the disk to attach. If the size is not specified, a + * default is chosen to ensure reasonable I/O performance. If the disk type + * is specified as `local-ssd`, multiple local drives are automatically + * combined to provide the requested size. Note, however, that each physical + * SSD is 375GB in size, and no more than 8 drives can be attached to a + * single instance. + */ + sizeGb?: number; + /** + * An optional image to put on the disk before attaching it to the VM. + */ + sourceImage?: string; + /** + * The Compute Engine disk type. If unspecified, `pd-standard` is used. + */ + type?: string; + } + /** + * The status of a disk on a VM. + */ + interface Schema$DiskStatus { + /** + * Free disk space. + */ + freeSpaceBytes?: string; + /** + * Total disk space. + */ + totalSpaceBytes?: string; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * Carries information about events that occur during pipeline execution. + */ + interface Schema$Event { + /** + * A human-readable description of the event. Note that these strings can + * change at any time without notice. Any application logic must use the + * information in the `details` field. + */ + description?: string; + /** + * Machine-readable details about the event. + */ + details?: any; + /** + * The time at which the event occurred. + */ + timestamp?: string; + } + /** + * An event generated when the execution of a pipeline has failed. Note that + * other events can continue to occur after this event. + */ + interface Schema$FailedEvent { + /** + * The human-readable description of the cause of the failure. + */ + cause?: string; + /** + * The Google standard error code that best describes this failure. + */ + code?: string; + } + /** + * The read group set import response. + */ + interface Schema$ImportReadGroupSetsResponse { + /** + * IDs of the read group sets that were created. + */ + readGroupSetIds?: string[]; + } + /** + * The variant data import response. + */ + interface Schema$ImportVariantsResponse { + /** + * IDs of the call sets created during the import. + */ + callSetIds?: string[]; + } + /** + * The response message for Operations.ListOperations. + */ + interface Schema$ListOperationsResponse { + /** + * The standard List next-page token. + */ + nextPageToken?: string; + /** + * A list of operations that matches the specified filter in the request. + */ + operations?: Schema$Operation[]; + } + /** + * Carries information about the pipeline execution that is returned in the + * long running operation's metadata field. + */ + interface Schema$Metadata { + /** + * The time at which the operation was created by the API. + */ + createTime?: string; + /** + * The time at which execution was completed and resources were cleaned up. + */ + endTime?: string; + /** + * The list of events that have happened so far during the execution of this + * operation. + */ + events?: Schema$Event[]; + /** + * The user-defined labels associated with this operation. + */ + labels?: any; + /** + * The pipeline this operation represents. + */ + pipeline?: Schema$Pipeline; + /** + * The first time at which resources were allocated to execute the pipeline. + */ + startTime?: string; + } + /** + * Carries information about a particular disk mount inside a container. + */ + interface Schema$Mount { + /** + * The name of the disk to mount, as specified in the resources section. + */ + disk?: string; + /** + * The path to mount the disk inside the container. + */ + path?: string; + /** + * If true, the disk is mounted read-only inside the container. + */ + readOnly?: boolean; + } + /** + * VM networking options. + */ + interface Schema$Network { + /** + * The network name to attach the VM's network interface to. The value + * will be prefixed with `global/networks/` unless it contains a `/`, in + * which case it is assumed to be a fully specified network resource URL. If + * unspecified, the global default network is used. + */ + name?: string; + /** + * If the specified network is configured for custom subnet creation, the + * name of the subnetwork to attach the instance to must be specified here. + * The value is prefixed with `regions/x/subnetworks/` unless it contains a + * `/`, in which case it is assumed to be a fully specified subnetwork + * resource URL. If the `*` character appears in the value, it is replaced + * with the region that the virtual machine has been allocated in. + */ + subnetwork?: string; + /** + * If set to true, do not attach a public IP address to the VM. Note that + * without a public IP address, additional configuration is required to + * allow the VM to access Google services. See + * https://cloud.google.com/vpc/docs/configure-private-google-access for + * more information. + */ + usePrivateAddress?: boolean; + } + /** + * This resource represents a long-running operation that is the result of a + * network API call. + */ + interface Schema$Operation { + /** + * If the value is `false`, it means the operation is still in progress. If + * `true`, the operation is completed, and either `error` or `response` is + * available. + */ + done?: boolean; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * An OperationMetadata or Metadata object. This will always be returned + * with the Operation. + */ + metadata?: any; + /** + * The server-assigned name, which is only unique within the same service + * that originally returns it. For example&#58; + * `operations/CJHU7Oi_ChDrveSpBRjfuL-qzoWAgEw` + */ + name?: string; + /** + * If importing ReadGroupSets, an ImportReadGroupSetsResponse is returned. + * If importing Variants, an ImportVariantsResponse is returned. For + * pipelines and exports, an Empty response is returned. + */ + response?: any; + } + /** + * An event that occurred during an Operation. + */ + interface Schema$OperationEvent { + /** + * Required description of event. + */ + description?: string; + /** + * Optional time of when event finished. An event can have a start time and + * no finish time. If an event has a finish time, there must be a start + * time. + */ + endTime?: string; + /** + * Optional time of when event started. + */ + startTime?: string; + } + /** + * Metadata describing an Operation. + */ + interface Schema$OperationMetadata { + /** + * This field is deprecated. Use `labels` instead. Optionally provided by + * the caller when submitting the request that creates the operation. + */ + clientId?: string; + /** + * The time at which the job was submitted to the Genomics service. + */ + createTime?: string; + /** + * The time at which the job stopped running. + */ + endTime?: string; + /** + * Optional event messages that were generated during the job's + * execution. This also contains any warnings that were generated during + * import or export. + */ + events?: Schema$OperationEvent[]; + /** + * Optionally provided by the caller when submitting the request that + * creates the operation. + */ + labels?: any; + /** + * The Google Cloud Project in which the job is scoped. + */ + projectId?: string; + /** + * The original request that started the operation. Note that this will be + * in current version of the API. If the operation was started with v1beta2 + * API and a GetOperation is performed on v1 API, a v1 request will be + * returned. + */ + request?: any; + /** + * Runtime metadata on this Operation. + */ + runtimeMetadata?: any; + /** + * The time at which the job began to run. + */ + startTime?: string; + } + /** + * Specifies a series of actions to execute, expressed as Docker containers. + */ + interface Schema$Pipeline { + /** + * The list of actions to execute, in the order they are specified. + */ + actions?: Schema$Action[]; + /** + * The environment to pass into every action. Each action can also specify + * additional environment variables but cannot delete an entry from this map + * (though they can overwrite it with a different value). + */ + environment?: any; + /** + * The resources required for execution. + */ + resources?: Schema$Resources; + /** + * The maximum amount of time to give the pipeline to complete. This + * includes the time spent waiting for a worker to be allocated. If the + * pipeline fails to complete before the timeout, it will be cancelled and + * the error code will be set to DEADLINE_EXCEEDED. If unspecified, it will + * default to 7 days. + */ + timeout?: string; + } + /** + * An event generated when the worker starts pulling an image. + */ + interface Schema$PullStartedEvent { + /** + * The URI of the image that was pulled. + */ + imageUri?: string; + } + /** + * An event generated when the worker stops pulling an image. + */ + interface Schema$PullStoppedEvent { + /** + * The URI of the image that was pulled. + */ + imageUri?: string; + } + /** + * The system resources for the pipeline run. At least one zone or region + * must be specified or the pipeline run will fail. + */ + interface Schema$Resources { + /** + * The project ID to allocate resources in. + */ + projectId?: string; + /** + * The list of regions allowed for VM allocation. If set, the `zones` field + * must not be set. + */ + regions?: string[]; + /** + * The virtual machine specification. + */ + virtualMachine?: Schema$VirtualMachine; + /** + * The list of zones allowed for VM allocation. If set, the `regions` field + * must not be set. + */ + zones?: string[]; + } + /** + * The arguments to the `RunPipeline` method. The requesting user must have + * the `iam.serviceAccounts.actAs` permission for the Cloud Genomics service + * account or the request will fail. + */ + interface Schema$RunPipelineRequest { + /** + * User-defined labels to associate with the returned operation. These + * labels are not propagated to any Google Cloud Platform resources used by + * the operation, and can be modified at any time. To associate labels with + * resources created while executing the operation, see the appropriate + * resource message (for example, `VirtualMachine`). + */ + labels?: any; + /** + * The description of the pipeline to run. + */ + pipeline?: Schema$Pipeline; + } + /** + * The response to the RunPipeline method, returned in the operation's + * result field on success. + */ + interface Schema$RunPipelineResponse { + } + /** + * Runtime metadata that will be populated in the runtimeMetadata field of the + * Operation associated with a RunPipeline execution. + */ + interface Schema$RuntimeMetadata { + /** + * Execution information specific to Google Compute Engine. + */ + computeEngine?: Schema$ComputeEngine; + } + /** + * Holds encrypted information that is only decrypted and stored in RAM by the + * worker VM when running the pipeline. + */ + interface Schema$Secret { + /** + * The value of the cipherText response from the `encrypt` method. This + * field is intentionally unaudited. + */ + cipherText?: string; + /** + * The name of the Cloud KMS key that will be used to decrypt the secret + * value. The VM service account must have the required permissions and + * authentication scopes to invoke the `decrypt` method on the specified + * key. + */ + keyName?: string; + } + /** + * Carries information about a Google Cloud service account. + */ + interface Schema$ServiceAccount { + /** + * Email address of the service account. If not specified, the default + * Compute Engine service account for the project will be used. + */ + email?: string; + /** + * List of scopes to be enabled for this service account on the VM, in + * addition to the Cloud Genomics API scope. + */ + scopes?: string[]; + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + /** + * An event generated when the execution of a container results in a non-zero + * exit status that was not otherwise ignored. Execution will continue, but + * only actions that are flagged as `ALWAYS_RUN` will be executed. Other + * actions will be skipped. + */ + interface Schema$UnexpectedExitStatusEvent { + /** + * The numeric ID of the action that started the container. + */ + actionId?: number; + /** + * The exit status of the container. + */ + exitStatus?: number; + } + /** + * Carries information about a Compute Engine VM resource. + */ + interface Schema$VirtualMachine { + /** + * The list of accelerators to attach to the VM. + */ + accelerators?: Schema$Accelerator[]; + /** + * The size of the boot disk, in GB. The boot disk must be large enough to + * accommodate all of the Docker images from each action in the pipeline at + * the same time. If not specified, a small but reasonable default value is + * used. + */ + bootDiskSizeGb?: number; + /** + * The host operating system image to use. Currently, only + * Container-Optimized OS images can be used. The default value is + * `projects/cos-cloud/global/images/family/cos-stable`, which selects the + * latest stable release of Container-Optimized OS. This option is provided + * to allow testing against the beta release of the operating system to + * ensure that the new version does not interact negatively with production + * pipelines. To test a pipeline against the beta release of + * Container-Optimized OS, use the value + * `projects/cos-cloud/global/images/family/cos-beta`. + */ + bootImage?: string; + /** + * The CPU platform to request. An instance based on a newer platform can be + * allocated, but never one with fewer capabilities. The value of this + * parameter must be a valid Compute Engine CPU platform name (such as + * "Intel Skylake"). This parameter is only useful for carefully + * optimized work loads where the CPU platform has a significant impact. For + * more information about the effect of this parameter, see + * https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform. + */ + cpuPlatform?: string; + /** + * The list of disks to create and attach to the VM. + */ + disks?: Schema$Disk[]; + /** + * Optional set of labels to apply to the VM and any attached disk + * resources. These labels must adhere to the name and value restrictions on + * VM labels imposed by Compute Engine. Labels applied at creation time to + * the VM. Applied on a best-effort basis to attached disk resources shortly + * after VM creation. + */ + labels?: any; + /** + * The machine type of the virtual machine to create. Must be the short name + * of a standard machine type (such as "n1-standard-1") or a + * custom machine type (such as "custom-1-4096"). + */ + machineType?: string; + /** + * The VM network configuration. + */ + network?: Schema$Network; + /** + * The NVIDIA driver version to use when attaching an NVIDIA GPU + * accelerator. The version specified here must be compatible with the GPU + * libraries contained in the container being executed, and must be one of + * the drivers hosted in the `nvidia-drivers-us-public` bucket on Google + * Cloud Storage. + */ + nvidiaDriverVersion?: string; + /** + * If true, allocate a preemptible VM. + */ + preemptible?: boolean; + /** + * The service account to install on the VM. This account does not need any + * permissions other than those required by the pipeline. + */ + serviceAccount?: Schema$ServiceAccount; + } + /** + * An event generated after a worker VM has been assigned to run the pipeline. + */ + interface Schema$WorkerAssignedEvent { + /** + * The worker's instance name. + */ + instance?: string; + /** + * The zone the worker is running in. + */ + zone?: string; + } + /** + * An event generated when the worker VM that was assigned to the pipeline has + * been released (deleted). + */ + interface Schema$WorkerReleasedEvent { + /** + * The worker's instance name. + */ + instance?: string; + /** + * The zone the worker was running in. + */ + zone?: string; + } + /** + * The status of the worker VM. + */ + interface Schema$WorkerStatus { + /** + * Status of attached disks. + */ + attachedDisks?: any; + /** + * Status of the boot disk. + */ + bootDisk?: Schema$DiskStatus; + /** + * Free RAM. + */ + freeRamBytes?: string; + /** + * Total RAM. + */ + totalRamBytes?: string; + /** + * System uptime. + */ + uptimeSeconds?: string; + } + class Resource$Pipelines { + root: Genomics; + constructor(root: Genomics); + getRoot(): Genomics; + /** + * genomics.pipelines.run + * @desc Runs a pipeline. **Note:** Before you can use this method, the + * Genomics Service Agent must have access to your project. This is done + * automatically when the Cloud Genomics API is first enabled, but if you + * delete this permission, or if you enabled the Cloud Genomics API before + * the v2alpha1 API launch, you must disable and re-enable the API to grant + * the Genomics Service Agent the required permissions. Authorization + * requires the following [Google IAM](https://cloud.google.com/iam/) + * permission: * `genomics.operations.create` [1]: /genomics/gsa + * @alias genomics.pipelines.run + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().RunPipelineRequest} 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 + */ + run(params?: Params$Resource$Pipelines$Run, options?: MethodOptions): AxiosPromise; + run(params: Params$Resource$Pipelines$Run, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + run(params: Params$Resource$Pipelines$Run, callback: BodyResponseCallback): void; + run(callback: BodyResponseCallback): void; + } + interface Params$Resource$Pipelines$Run { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$RunPipelineRequest; + } + class Resource$Projects { + root: Genomics; + operations: Resource$Projects$Operations; + constructor(root: Genomics); + getRoot(): Genomics; + } + class Resource$Projects$Operations { + root: Genomics; + constructor(root: Genomics); + getRoot(): Genomics; + /** + * genomics.projects.operations.cancel + * @desc Starts asynchronous cancellation on a long-running operation. The + * server makes a best effort to cancel the operation, but success is not + * guaranteed. Clients may use Operations.GetOperation or + * Operations.ListOperations to check whether the cancellation succeeded or + * the operation completed despite cancellation. Authorization requires the + * following [Google IAM](https://cloud.google.com/iam) permission: * + * `genomics.operations.cancel` + * @alias genomics.projects.operations.cancel + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource to be cancelled. + * @param {().CancelOperationRequest} 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 + */ + cancel(params?: Params$Resource$Projects$Operations$Cancel, options?: MethodOptions): AxiosPromise; + cancel(params: Params$Resource$Projects$Operations$Cancel, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + cancel(params: Params$Resource$Projects$Operations$Cancel, callback: BodyResponseCallback): void; + cancel(callback: BodyResponseCallback): void; + /** + * genomics.projects.operations.get + * @desc Gets the latest state of a long-running operation. Clients can use + * this method to poll the operation result at intervals as recommended by + * the API service. Authorization requires the following [Google + * IAM](https://cloud.google.com/iam) permission: * + * `genomics.operations.get` + * @alias genomics.projects.operations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource. + * @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?: Params$Resource$Projects$Operations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Operations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Operations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * genomics.projects.operations.list + * @desc Lists operations that match the specified filter in the request. + * Authorization requires the following [Google + * IAM](https://cloud.google.com/iam) permission: * + * `genomics.operations.list` + * @alias genomics.projects.operations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A string for filtering Operations. In v2alpha1, the following filter fields are supported: * createTime: The time this job was created * events: The set of event (names) that have occurred while running the pipeline. The : operator can be used to determine if a particular event has occurred. * error: If the pipeline is running, this value is NULL. Once the pipeline finishes, the value is the standard Google error code. * labels.key or labels."key with space" where key is a label key. * done: If the pipeline is running, this value is false. Once the pipeline finishes, the value is true. In v1 and v1alpha2, the following filter fields are supported: * projectId: Required. Corresponds to OperationMetadata.projectId. * createTime: The time this job was created, in seconds from the [epoch](http://en.wikipedia.org/wiki/Unix_time). Can use `>=` and/or `<=` operators. * status: Can be `RUNNING`, `SUCCESS`, `FAILURE`, or `CANCELED`. Only one status may be specified. * labels.key where key is a label key. Examples: * `projectId = my-project AND createTime >= 1432140000` * `projectId = my-project AND createTime >= 1432140000 AND createTime <= 1432150000 AND status = RUNNING` * `projectId = my-project AND labels.color = *` * `projectId = my-project AND labels.color = red` + * @param {string} params.name The name of the operation's parent resource. + * @param {integer=} params.pageSize The maximum number of results to return. If unspecified, defaults to 256. The maximum value is 2048. + * @param {string=} params.pageToken The standard list page token. + * @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?: Params$Resource$Projects$Operations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Operations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Operations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Operations$Cancel { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource to be cancelled. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CancelOperationRequest; + } + interface Params$Resource$Projects$Operations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource. + */ + name?: string; + } + interface Params$Resource$Projects$Operations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A string for filtering Operations. In v2alpha1, the following filter + * fields are supported: * createTime: The time this job was + * created * events: The set of event (names) that have occurred while + * running the pipeline. The : operator can be used to determine if a + * particular event has occurred. * error: If the pipeline is running, + * this value is NULL. Once the pipeline finishes, the value is the + * standard Google error code. * labels.key or labels."key with space" where + * key is a label key. * done: If the pipeline is running, this value is + * false. Once the pipeline finishes, the value is true. In v1 and + * v1alpha2, the following filter fields are supported: * + * projectId: Required. Corresponds to OperationMetadata.projectId. * + * createTime: The time this job was created, in seconds from the + * [epoch](http://en.wikipedia.org/wiki/Unix_time). Can use `>=` and/or `<=` + * operators. * status: Can be `RUNNING`, `SUCCESS`, `FAILURE`, or + * `CANCELED`. Only one status may be specified. * labels.key where key is + * a label key. Examples: * `projectId = my-project AND createTime >= + * 1432140000` * `projectId = my-project AND createTime >= 1432140000 AND + * createTime <= 1432150000 AND status = RUNNING` * `projectId = my-project + * AND labels.color = *` * `projectId = my-project AND labels.color = red` + */ + filter?: string; + /** + * The name of the operation's parent resource. + */ + name?: string; + /** + * The maximum number of results to return. If unspecified, defaults to 256. + * The maximum value is 2048. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } + class Resource$Workers { + root: Genomics; + constructor(root: Genomics); + getRoot(): Genomics; + /** + * genomics.workers.checkIn + * @desc The worker uses this method to retrieve the assigned operation and + * provide periodic status updates. + * @alias genomics.workers.checkIn + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The worker id, assigned when it was created. + * @param {().CheckInRequest} 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 + */ + checkIn(params?: Params$Resource$Workers$Checkin, options?: MethodOptions): AxiosPromise; + checkIn(params: Params$Resource$Workers$Checkin, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + checkIn(params: Params$Resource$Workers$Checkin, callback: BodyResponseCallback): void; + checkIn(callback: BodyResponseCallback): void; + } + interface Params$Resource$Workers$Checkin { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The worker id, assigned when it was created. + */ + id?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CheckInRequest; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/genomics/v2alpha1.js b/express-server/node_modules/googleapis/build/src/apis/genomics/v2alpha1.js new file mode 100644 index 00000000..30919e9a --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/genomics/v2alpha1.js @@ -0,0 +1,251 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var genomics_v2alpha1; +(function (genomics_v2alpha1) { + /** + * Genomics API + * + * Upload, process, query, and search Genomics data in the cloud. + * + * @example + * const {google} = require('googleapis'); + * const genomics = google.genomics('v2alpha1'); + * + * @namespace genomics + * @type {Function} + * @version v2alpha1 + * @variation v2alpha1 + * @param {object=} options Options for Genomics + */ + class Genomics { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.pipelines = new Resource$Pipelines(this); + this.projects = new Resource$Projects(this); + this.workers = new Resource$Workers(this); + } + getRoot() { + return this.root; + } + } + genomics_v2alpha1.Genomics = Genomics; + class Resource$Pipelines { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + run(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2alpha1/pipelines:run') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + genomics_v2alpha1.Resource$Pipelines = Resource$Pipelines; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.operations = new Resource$Projects$Operations(root); + } + getRoot() { + return this.root; + } + } + genomics_v2alpha1.Resource$Projects = Resource$Projects; + class Resource$Projects$Operations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + cancel(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2alpha1/{+name}:cancel') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2alpha1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2alpha1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + genomics_v2alpha1.Resource$Projects$Operations = Resource$Projects$Operations; + class Resource$Workers { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + checkIn(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://genomics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2alpha1/workers/{id}:checkIn') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['id'], + pathParams: ['id'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + genomics_v2alpha1.Resource$Workers = Resource$Workers; +})(genomics_v2alpha1 = exports.genomics_v2alpha1 || (exports.genomics_v2alpha1 = {})); +//# sourceMappingURL=v2alpha1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/genomics/v2alpha1.js.map b/express-server/node_modules/googleapis/build/src/apis/genomics/v2alpha1.js.map new file mode 100644 index 00000000..8f4bdd37 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/genomics/v2alpha1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v2alpha1.js","sourceRoot":"","sources":["../../../../src/apis/genomics/v2alpha1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/gmail/README.md b/express-server/node_modules/googleapis/build/src/apis/gmail/README.md new file mode 100644 index 00000000..a515fa57 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/gmail/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/gmail + +> Access Gmail mailboxes including sending user email. + +## Installation + +```sh +$ npm install @google/gmail +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/gmail/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/gmail/index.d.ts new file mode 100644 index 00000000..c5f8f445 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/gmail/index.d.ts @@ -0,0 +1,6 @@ +import { gmail_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof gmail_v1.Gmail; +}; +export declare function gmail(version: 'v1'): gmail_v1.Gmail; +export declare function gmail(options: gmail_v1.Options): gmail_v1.Gmail; diff --git a/express-server/node_modules/googleapis/build/src/apis/gmail/index.js b/express-server/node_modules/googleapis/build/src/apis/gmail/index.js new file mode 100644 index 00000000..ef60cdc0 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/gmail/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.gmail_v1.Gmail, +}; +function gmail(versionOrOptions) { + return googleapis_common_1.getAPI('gmail', versionOrOptions, exports.VERSIONS, this); +} +exports.gmail = gmail; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/gmail/index.js.map b/express-server/node_modules/googleapis/build/src/apis/gmail/index.js.map new file mode 100644 index 00000000..16780707 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/gmail/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/gmail/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAA8B;AAEjB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,aAAQ,CAAC,KAAK;CACrB,CAAC;AAIF,SAAgB,KAAK,CACS,gBAAuC;IACnE,OAAO,0BAAM,CAAI,OAAO,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAC9D,CAAC;AAHD,sBAGC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/gmail/package.json b/express-server/node_modules/googleapis/build/src/apis/gmail/package.json new file mode 100644 index 00000000..d1b79eb9 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/gmail/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/gmail", + "version": "0.1.0", + "description": "gmail", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/gmail/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/gmail/v1.d.ts new file mode 100644 index 00000000..ea348900 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/gmail/v1.d.ts @@ -0,0 +1,3425 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace gmail_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Gmail API + * + * Access Gmail mailboxes including sending user email. + * + * @example + * const {google} = require('googleapis'); + * const gmail = google.gmail('v1'); + * + * @namespace gmail + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Gmail + */ + class Gmail { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + users: Resource$Users; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Auto-forwarding settings for an account. + */ + interface Schema$AutoForwarding { + /** + * The state that a message should be left in after it has been forwarded. + */ + disposition?: string; + /** + * Email address to which all incoming messages are forwarded. This email + * address must be a verified member of the forwarding addresses. + */ + emailAddress?: string; + /** + * Whether all incoming mail is automatically forwarded to another address. + */ + enabled?: boolean; + } + interface Schema$BatchDeleteMessagesRequest { + /** + * The IDs of the messages to delete. + */ + ids?: string[]; + } + interface Schema$BatchModifyMessagesRequest { + /** + * A list of label IDs to add to messages. + */ + addLabelIds?: string[]; + /** + * The IDs of the messages to modify. There is a limit of 1000 ids per + * request. + */ + ids?: string[]; + /** + * A list of label IDs to remove from messages. + */ + removeLabelIds?: string[]; + } + /** + * Settings for a delegate. Delegates can read, send, and delete messages, as + * well as manage contacts, for the delegator's account. See "Set up + * mail delegation" for more information about delegates. + */ + interface Schema$Delegate { + /** + * The email address of the delegate. + */ + delegateEmail?: string; + /** + * Indicates whether this address has been verified and can act as a + * delegate for the account. Read-only. + */ + verificationStatus?: string; + } + /** + * A draft email in the user's mailbox. + */ + interface Schema$Draft { + /** + * The immutable ID of the draft. + */ + id?: string; + /** + * The message content of the draft. + */ + message?: Schema$Message; + } + /** + * Resource definition for Gmail filters. Filters apply to specific messages + * instead of an entire email thread. + */ + interface Schema$Filter { + /** + * Action that the filter performs. + */ + action?: Schema$FilterAction; + /** + * Matching criteria for the filter. + */ + criteria?: Schema$FilterCriteria; + /** + * The server assigned ID of the filter. + */ + id?: string; + } + /** + * A set of actions to perform on a message. + */ + interface Schema$FilterAction { + /** + * List of labels to add to the message. + */ + addLabelIds?: string[]; + /** + * Email address that the message should be forwarded to. + */ + forward?: string; + /** + * List of labels to remove from the message. + */ + removeLabelIds?: string[]; + } + /** + * Message matching criteria. + */ + interface Schema$FilterCriteria { + /** + * Whether the response should exclude chats. + */ + excludeChats?: boolean; + /** + * The sender's display name or email address. + */ + from?: string; + /** + * Whether the message has any attachment. + */ + hasAttachment?: boolean; + /** + * Only return messages not matching the specified query. Supports the same + * query format as the Gmail search box. For example, + * "from:someuser@example.com rfc822msgid: is:unread". + */ + negatedQuery?: string; + /** + * Only return messages matching the specified query. Supports the same + * query format as the Gmail search box. For example, + * "from:someuser@example.com rfc822msgid: is:unread". + */ + query?: string; + /** + * The size of the entire RFC822 message in bytes, including all headers and + * attachments. + */ + size?: number; + /** + * How the message size in bytes should be in relation to the size field. + */ + sizeComparison?: string; + /** + * Case-insensitive phrase found in the message's subject. Trailing and + * leading whitespace are be trimmed and adjacent spaces are collapsed. + */ + subject?: string; + /** + * The recipient's display name or email address. Includes recipients in + * the "to", "cc", and "bcc" header fields. + * You can use simply the local part of the email address. For example, + * "example" and "example@" both match + * "example@gmail.com". This field is case-insensitive. + */ + to?: string; + } + /** + * Settings for a forwarding address. + */ + interface Schema$ForwardingAddress { + /** + * An email address to which messages can be forwarded. + */ + forwardingEmail?: string; + /** + * Indicates whether this address has been verified and is usable for + * forwarding. Read-only. + */ + verificationStatus?: string; + } + /** + * A record of a change to the user's mailbox. Each history change may + * affect multiple messages in multiple ways. + */ + interface Schema$History { + /** + * The mailbox sequence ID. + */ + id?: string; + /** + * Labels added to messages in this history record. + */ + labelsAdded?: Schema$HistoryLabelAdded[]; + /** + * Labels removed from messages in this history record. + */ + labelsRemoved?: Schema$HistoryLabelRemoved[]; + /** + * List of messages changed in this history record. The fields for specific + * change types, such as messagesAdded may duplicate messages in this field. + * We recommend using the specific change-type fields instead of this. + */ + messages?: Schema$Message[]; + /** + * Messages added to the mailbox in this history record. + */ + messagesAdded?: Schema$HistoryMessageAdded[]; + /** + * Messages deleted (not Trashed) from the mailbox in this history record. + */ + messagesDeleted?: Schema$HistoryMessageDeleted[]; + } + interface Schema$HistoryLabelAdded { + /** + * Label IDs added to the message. + */ + labelIds?: string[]; + message?: Schema$Message; + } + interface Schema$HistoryLabelRemoved { + /** + * Label IDs removed from the message. + */ + labelIds?: string[]; + message?: Schema$Message; + } + interface Schema$HistoryMessageAdded { + message?: Schema$Message; + } + interface Schema$HistoryMessageDeleted { + message?: Schema$Message; + } + /** + * IMAP settings for an account. + */ + interface Schema$ImapSettings { + /** + * If this value is true, Gmail will immediately expunge a message when it + * is marked as deleted in IMAP. Otherwise, Gmail will wait for an update + * from the client before expunging messages marked as deleted. + */ + autoExpunge?: boolean; + /** + * Whether IMAP is enabled for the account. + */ + enabled?: boolean; + /** + * The action that will be executed on a message when it is marked as + * deleted and expunged from the last visible IMAP folder. + */ + expungeBehavior?: string; + /** + * An optional limit on the number of messages that an IMAP folder may + * contain. Legal values are 0, 1000, 2000, 5000 or 10000. A value of zero + * is interpreted to mean that there is no limit. + */ + maxFolderSize?: number; + } + /** + * Labels are used to categorize messages and threads within the user's + * mailbox. + */ + interface Schema$Label { + /** + * The color to assign to the label. Color is only available for labels that + * have their type set to user. + */ + color?: Schema$LabelColor; + /** + * The immutable ID of the label. + */ + id?: string; + /** + * The visibility of the label in the label list in the Gmail web interface. + */ + labelListVisibility?: string; + /** + * The visibility of the label in the message list in the Gmail web + * interface. + */ + messageListVisibility?: string; + /** + * The total number of messages with the label. + */ + messagesTotal?: number; + /** + * The number of unread messages with the label. + */ + messagesUnread?: number; + /** + * The display name of the label. + */ + name?: string; + /** + * The total number of threads with the label. + */ + threadsTotal?: number; + /** + * The number of unread threads with the label. + */ + threadsUnread?: number; + /** + * The owner type for the label. User labels are created by the user and can + * be modified and deleted by the user and can be applied to any message or + * thread. System labels are internally created and cannot be added, + * modified, or deleted. System labels may be able to be applied to or + * removed from messages and threads under some circumstances but this is + * not guaranteed. For example, users can apply and remove the INBOX and + * UNREAD labels from messages and threads, but cannot apply or remove the + * DRAFTS or SENT labels from messages or threads. + */ + type?: string; + } + interface Schema$LabelColor { + /** + * The background color represented as hex string #RRGGBB (ex #000000). This + * field is required in order to set the color of a label. Only the + * following predefined set of color values are allowed: #000000, #434343, + * #666666, #999999, #cccccc, #efefef, #f3f3f3, #ffffff, #fb4c2f, #ffad47, + * #fad165, #16a766, #43d692, #4a86e8, #a479e2, #f691b3, #f6c5be, #ffe6c7, + * #fef1d1, #b9e4d0, #c6f3de, #c9daf8, #e4d7f5, #fcdee8, #efa093, #ffd6a2, + * #fce8b3, #89d3b2, #a0eac9, #a4c2f4, #d0bcf1, #fbc8d9, #e66550, #ffbc6b, + * #fcda83, #44b984, #68dfa9, #6d9eeb, #b694e8, #f7a7c0, #cc3a21, #eaa041, + * #f2c960, #149e60, #3dc789, #3c78d8, #8e63ce, #e07798, #ac2b16, #cf8933, + * #d5ae49, #0b804b, #2a9c68, #285bac, #653e9b, #b65775, #822111, #a46a21, + * #aa8831, #076239, #1a764d, #1c4587, #41236d, #83334c + */ + backgroundColor?: string; + /** + * The text color of the label, represented as hex string. This field is + * required in order to set the color of a label. Only the following + * predefined set of color values are allowed: #000000, #434343, #666666, + * #999999, #cccccc, #efefef, #f3f3f3, #ffffff, #fb4c2f, #ffad47, #fad165, + * #16a766, #43d692, #4a86e8, #a479e2, #f691b3, #f6c5be, #ffe6c7, #fef1d1, + * #b9e4d0, #c6f3de, #c9daf8, #e4d7f5, #fcdee8, #efa093, #ffd6a2, #fce8b3, + * #89d3b2, #a0eac9, #a4c2f4, #d0bcf1, #fbc8d9, #e66550, #ffbc6b, #fcda83, + * #44b984, #68dfa9, #6d9eeb, #b694e8, #f7a7c0, #cc3a21, #eaa041, #f2c960, + * #149e60, #3dc789, #3c78d8, #8e63ce, #e07798, #ac2b16, #cf8933, #d5ae49, + * #0b804b, #2a9c68, #285bac, #653e9b, #b65775, #822111, #a46a21, #aa8831, + * #076239, #1a764d, #1c4587, #41236d, #83334c + */ + textColor?: string; + } + /** + * Response for the ListDelegates method. + */ + interface Schema$ListDelegatesResponse { + /** + * List of the user's delegates (with any verification status). + */ + delegates?: Schema$Delegate[]; + } + interface Schema$ListDraftsResponse { + /** + * List of drafts. + */ + drafts?: Schema$Draft[]; + /** + * Token to retrieve the next page of results in the list. + */ + nextPageToken?: string; + /** + * Estimated total number of results. + */ + resultSizeEstimate?: number; + } + /** + * Response for the ListFilters method. + */ + interface Schema$ListFiltersResponse { + /** + * List of a user's filters. + */ + filter?: Schema$Filter[]; + } + /** + * Response for the ListForwardingAddresses method. + */ + interface Schema$ListForwardingAddressesResponse { + /** + * List of addresses that may be used for forwarding. + */ + forwardingAddresses?: Schema$ForwardingAddress[]; + } + interface Schema$ListHistoryResponse { + /** + * List of history records. Any messages contained in the response will + * typically only have id and threadId fields populated. + */ + history?: Schema$History[]; + /** + * The ID of the mailbox's current history record. + */ + historyId?: string; + /** + * Page token to retrieve the next page of results in the list. + */ + nextPageToken?: string; + } + interface Schema$ListLabelsResponse { + /** + * List of labels. + */ + labels?: Schema$Label[]; + } + interface Schema$ListMessagesResponse { + /** + * List of messages. + */ + messages?: Schema$Message[]; + /** + * Token to retrieve the next page of results in the list. + */ + nextPageToken?: string; + /** + * Estimated total number of results. + */ + resultSizeEstimate?: number; + } + /** + * Response for the ListSendAs method. + */ + interface Schema$ListSendAsResponse { + /** + * List of send-as aliases. + */ + sendAs?: Schema$SendAs[]; + } + interface Schema$ListSmimeInfoResponse { + /** + * List of SmimeInfo. + */ + smimeInfo?: Schema$SmimeInfo[]; + } + interface Schema$ListThreadsResponse { + /** + * Page token to retrieve the next page of results in the list. + */ + nextPageToken?: string; + /** + * Estimated total number of results. + */ + resultSizeEstimate?: number; + /** + * List of threads. + */ + threads?: Schema$Thread[]; + } + /** + * An email message. + */ + interface Schema$Message { + /** + * The ID of the last history record that modified this message. + */ + historyId?: string; + /** + * The immutable ID of the message. + */ + id?: string; + /** + * The internal message creation timestamp (epoch ms), which determines + * ordering in the inbox. For normal SMTP-received email, this represents + * the time the message was originally accepted by Google, which is more + * reliable than the Date header. However, for API-migrated mail, it can be + * configured by client to be based on the Date header. + */ + internalDate?: string; + /** + * List of IDs of labels applied to this message. + */ + labelIds?: string[]; + /** + * The parsed email structure in the message parts. + */ + payload?: Schema$MessagePart; + /** + * The entire email message in an RFC 2822 formatted and base64url encoded + * string. Returned in messages.get and drafts.get responses when the + * format=RAW parameter is supplied. + */ + raw?: string; + /** + * Estimated size in bytes of the message. + */ + sizeEstimate?: number; + /** + * A short part of the message text. + */ + snippet?: string; + /** + * The ID of the thread the message belongs to. To add a message or draft to + * a thread, the following criteria must be met: - The requested threadId + * must be specified on the Message or Draft.Message you supply with your + * request. - The References and In-Reply-To headers must be set in + * compliance with the RFC 2822 standard. - The Subject headers must match. + */ + threadId?: string; + } + /** + * A single MIME message part. + */ + interface Schema$MessagePart { + /** + * The message part body for this part, which may be empty for container + * MIME message parts. + */ + body?: Schema$MessagePartBody; + /** + * The filename of the attachment. Only present if this message part + * represents an attachment. + */ + filename?: string; + /** + * List of headers on this message part. For the top-level message part, + * representing the entire message payload, it will contain the standard RFC + * 2822 email headers such as To, From, and Subject. + */ + headers?: Schema$MessagePartHeader[]; + /** + * The MIME type of the message part. + */ + mimeType?: string; + /** + * The immutable ID of the message part. + */ + partId?: string; + /** + * The child MIME message parts of this part. This only applies to container + * MIME message parts, for example multipart/*. For non- container MIME + * message part types, such as text/plain, this field is empty. For more + * information, see RFC 1521. + */ + parts?: Schema$MessagePart[]; + } + /** + * The body of a single MIME message part. + */ + interface Schema$MessagePartBody { + /** + * When present, contains the ID of an external attachment that can be + * retrieved in a separate messages.attachments.get request. When not + * present, the entire content of the message part body is contained in the + * data field. + */ + attachmentId?: string; + /** + * The body data of a MIME message part as a base64url encoded string. May + * be empty for MIME container types that have no message body or when the + * body data is sent as a separate attachment. An attachment ID is present + * if the body data is contained in a separate attachment. + */ + data?: string; + /** + * Number of bytes for the message part data (encoding notwithstanding). + */ + size?: number; + } + interface Schema$MessagePartHeader { + /** + * The name of the header before the : separator. For example, To. + */ + name?: string; + /** + * The value of the header after the : separator. For example, + * someuser@example.com. + */ + value?: string; + } + interface Schema$ModifyMessageRequest { + /** + * A list of IDs of labels to add to this message. + */ + addLabelIds?: string[]; + /** + * A list IDs of labels to remove from this message. + */ + removeLabelIds?: string[]; + } + interface Schema$ModifyThreadRequest { + /** + * A list of IDs of labels to add to this thread. + */ + addLabelIds?: string[]; + /** + * A list of IDs of labels to remove from this thread. + */ + removeLabelIds?: string[]; + } + /** + * POP settings for an account. + */ + interface Schema$PopSettings { + /** + * The range of messages which are accessible via POP. + */ + accessWindow?: string; + /** + * The action that will be executed on a message after it has been fetched + * via POP. + */ + disposition?: string; + } + /** + * Profile for a Gmail user. + */ + interface Schema$Profile { + /** + * The user's email address. + */ + emailAddress?: string; + /** + * The ID of the mailbox's current history record. + */ + historyId?: string; + /** + * The total number of messages in the mailbox. + */ + messagesTotal?: number; + /** + * The total number of threads in the mailbox. + */ + threadsTotal?: number; + } + /** + * Settings associated with a send-as alias, which can be either the primary + * login address associated with the account or a custom "from" + * address. Send-as aliases correspond to the "Send Mail As" feature + * in the web interface. + */ + interface Schema$SendAs { + /** + * A name that appears in the "From:" header for mail sent using + * this alias. For custom "from" addresses, when this is empty, + * Gmail will populate the "From:" header with the name that is + * used for the primary address associated with the account. If the admin + * has disabled the ability for users to update their name format, requests + * to update this field for the primary login will silently fail. + */ + displayName?: string; + /** + * Whether this address is selected as the default "From:" address + * in situations such as composing a new message or sending a vacation + * auto-reply. Every Gmail account has exactly one default send-as address, + * so the only legal value that clients may write to this field is true. + * Changing this from false to true for an address will result in this field + * becoming false for the other previous default address. + */ + isDefault?: boolean; + /** + * Whether this address is the primary address used to login to the account. + * Every Gmail account has exactly one primary address, and it cannot be + * deleted from the collection of send-as aliases. This field is read-only. + */ + isPrimary?: boolean; + /** + * An optional email address that is included in a "Reply-To:" + * header for mail sent using this alias. If this is empty, Gmail will not + * generate a "Reply-To:" header. + */ + replyToAddress?: string; + /** + * The email address that appears in the "From:" header for mail + * sent using this alias. This is read-only for all operations except + * create. + */ + sendAsEmail?: string; + /** + * An optional HTML signature that is included in messages composed with + * this alias in the Gmail web UI. + */ + signature?: string; + /** + * An optional SMTP service that will be used as an outbound relay for mail + * sent using this alias. If this is empty, outbound mail will be sent + * directly from Gmail's servers to the destination SMTP service. This + * setting only applies to custom "from" aliases. + */ + smtpMsa?: Schema$SmtpMsa; + /** + * Whether Gmail should treat this address as an alias for the user's + * primary email address. This setting only applies to custom + * "from" aliases. + */ + treatAsAlias?: boolean; + /** + * Indicates whether this address has been verified for use as a send-as + * alias. Read-only. This setting only applies to custom "from" + * aliases. + */ + verificationStatus?: string; + } + /** + * An S/MIME email config. + */ + interface Schema$SmimeInfo { + /** + * Encrypted key password, when key is encrypted. + */ + encryptedKeyPassword?: string; + /** + * When the certificate expires (in milliseconds since epoch). + */ + expiration?: string; + /** + * The immutable ID for the SmimeInfo. + */ + id?: string; + /** + * Whether this SmimeInfo is the default one for this user's send-as + * address. + */ + isDefault?: boolean; + /** + * The S/MIME certificate issuer's common name. + */ + issuerCn?: string; + /** + * PEM formatted X509 concatenated certificate string (standard base64 + * encoding). Format used for returning key, which includes public key as + * well as certificate chain (not private key). + */ + pem?: string; + /** + * PKCS#12 format containing a single private/public key pair and + * certificate chain. This format is only accepted from client for creating + * a new SmimeInfo and is never returned, because the private key is not + * intended to be exported. PKCS#12 may be encrypted, in which case + * encryptedKeyPassword should be set appropriately. + */ + pkcs12?: string; + } + /** + * Configuration for communication with an SMTP service. + */ + interface Schema$SmtpMsa { + /** + * The hostname of the SMTP service. Required. + */ + host?: string; + /** + * The password that will be used for authentication with the SMTP service. + * This is a write-only field that can be specified in requests to create or + * update SendAs settings; it is never populated in responses. + */ + password?: string; + /** + * The port of the SMTP service. Required. + */ + port?: number; + /** + * The protocol that will be used to secure communication with the SMTP + * service. Required. + */ + securityMode?: string; + /** + * The username that will be used for authentication with the SMTP service. + * This is a write-only field that can be specified in requests to create or + * update SendAs settings; it is never populated in responses. + */ + username?: string; + } + /** + * A collection of messages representing a conversation. + */ + interface Schema$Thread { + /** + * The ID of the last history record that modified this thread. + */ + historyId?: string; + /** + * The unique ID of the thread. + */ + id?: string; + /** + * The list of messages in the thread. + */ + messages?: Schema$Message[]; + /** + * A short part of the message text. + */ + snippet?: string; + } + /** + * Vacation auto-reply settings for an account. These settings correspond to + * the "Vacation responder" feature in the web interface. + */ + interface Schema$VacationSettings { + /** + * Flag that controls whether Gmail automatically replies to messages. + */ + enableAutoReply?: boolean; + /** + * An optional end time for sending auto-replies (epoch ms). When this is + * specified, Gmail will automatically reply only to messages that it + * receives before the end time. If both startTime and endTime are + * specified, startTime must precede endTime. + */ + endTime?: string; + /** + * Response body in HTML format. Gmail will sanitize the HTML before storing + * it. + */ + responseBodyHtml?: string; + /** + * Response body in plain text format. + */ + responseBodyPlainText?: string; + /** + * Optional text to prepend to the subject line in vacation responses. In + * order to enable auto-replies, either the response subject or the response + * body must be nonempty. + */ + responseSubject?: string; + /** + * Flag that determines whether responses are sent to recipients who are not + * in the user's list of contacts. + */ + restrictToContacts?: boolean; + /** + * Flag that determines whether responses are sent to recipients who are + * outside of the user's domain. This feature is only available for G + * Suite users. + */ + restrictToDomain?: boolean; + /** + * An optional start time for sending auto-replies (epoch ms). When this is + * specified, Gmail will automatically reply only to messages that it + * receives after the start time. If both startTime and endTime are + * specified, startTime must precede endTime. + */ + startTime?: string; + } + /** + * Set up or update a new push notification watch on this user's mailbox. + */ + interface Schema$WatchRequest { + /** + * Filtering behavior of labelIds list specified. + */ + labelFilterAction?: string; + /** + * List of label_ids to restrict notifications about. By default, if + * unspecified, all changes are pushed out. If specified then dictates which + * labels are required for a push notification to be generated. + */ + labelIds?: string[]; + /** + * A fully qualified Google Cloud Pub/Sub API topic name to publish the + * events to. This topic name **must** already exist in Cloud Pub/Sub and + * you **must** have already granted gmail "publish" permission on + * it. For example, + * "projects/my-project-identifier/topics/my-topic-name" (using + * the Cloud Pub/Sub "v1" topic naming format). Note that the + * "my-project-identifier" portion must exactly match your Google + * developer project id (the one executing this watch request). + */ + topicName?: string; + } + /** + * Push notification watch response. + */ + interface Schema$WatchResponse { + /** + * When Gmail will stop sending notifications for mailbox updates (epoch + * millis). Call watch again before this time to renew the watch. + */ + expiration?: string; + /** + * The ID of the mailbox's current history record. + */ + historyId?: string; + } + class Resource$Users { + root: Gmail; + drafts: Resource$Users$Drafts; + history: Resource$Users$History; + labels: Resource$Users$Labels; + messages: Resource$Users$Messages; + settings: Resource$Users$Settings; + threads: Resource$Users$Threads; + constructor(root: Gmail); + getRoot(): Gmail; + /** + * gmail.users.getProfile + * @desc Gets the current user's Gmail profile. + * @alias gmail.users.getProfile + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.userId The user's email address. The special value me can be used to indicate the authenticated user. + * @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 + */ + getProfile(params?: Params$Resource$Users$Getprofile, options?: MethodOptions): AxiosPromise; + getProfile(params: Params$Resource$Users$Getprofile, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getProfile(params: Params$Resource$Users$Getprofile, callback: BodyResponseCallback): void; + getProfile(callback: BodyResponseCallback): void; + /** + * gmail.users.stop + * @desc Stop receiving push notifications for the given user mailbox. + * @alias gmail.users.stop + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.userId The user's email address. The special value me can be used to indicate the authenticated user. + * @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 + */ + stop(params?: Params$Resource$Users$Stop, options?: MethodOptions): AxiosPromise; + stop(params: Params$Resource$Users$Stop, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + stop(params: Params$Resource$Users$Stop, callback: BodyResponseCallback): void; + stop(callback: BodyResponseCallback): void; + /** + * gmail.users.watch + * @desc Set up or update a push notification watch on the given user + * mailbox. + * @alias gmail.users.watch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.userId The user's email address. The special value me can be used to indicate the authenticated user. + * @param {().WatchRequest} 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 + */ + watch(params?: Params$Resource$Users$Watch, options?: MethodOptions): AxiosPromise; + watch(params: Params$Resource$Users$Watch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + watch(params: Params$Resource$Users$Watch, callback: BodyResponseCallback): void; + watch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Users$Getprofile { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The user's email address. The special value me can be used to indicate + * the authenticated user. + */ + userId?: string; + } + interface Params$Resource$Users$Stop { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The user's email address. The special value me can be used to indicate + * the authenticated user. + */ + userId?: string; + } + interface Params$Resource$Users$Watch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The user's email address. The special value me can be used to indicate + * the authenticated user. + */ + userId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$WatchRequest; + } + class Resource$Users$Drafts { + root: Gmail; + constructor(root: Gmail); + getRoot(): Gmail; + /** + * gmail.users.drafts.create + * @desc Creates a new draft with the DRAFT label. + * @alias gmail.users.drafts.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.userId The user's email address. The special value me can be used to indicate the authenticated user. + * @param {object} params.resource Media resource metadata + * @param {object} params.media Media object + * @param {string} params.media.mimeType Media mime-type + * @param {string|object} params.media.body Media body contents + * @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 + */ + create(params?: Params$Resource$Users$Drafts$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Users$Drafts$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Users$Drafts$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * gmail.users.drafts.delete + * @desc Immediately and permanently deletes the specified draft. Does not + * simply trash it. + * @alias gmail.users.drafts.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The ID of the draft to delete. + * @param {string} params.userId The user's email address. The special value me can be used to indicate the authenticated user. + * @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?: Params$Resource$Users$Drafts$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Users$Drafts$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Users$Drafts$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * gmail.users.drafts.get + * @desc Gets the specified draft. + * @alias gmail.users.drafts.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.format The format to return the draft in. + * @param {string} params.id The ID of the draft to retrieve. + * @param {string} params.userId The user's email address. The special value me can be used to indicate the authenticated user. + * @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?: Params$Resource$Users$Drafts$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Users$Drafts$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Users$Drafts$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * gmail.users.drafts.list + * @desc Lists the drafts in the user's mailbox. + * @alias gmail.users.drafts.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.includeSpamTrash Include drafts from SPAM and TRASH in the results. + * @param {integer=} params.maxResults Maximum number of drafts to return. + * @param {string=} params.pageToken Page token to retrieve a specific page of results in the list. + * @param {string=} params.q Only return draft messages matching the specified query. Supports the same query format as the Gmail search box. For example, "from:someuser@example.com rfc822msgid: is:unread". + * @param {string} params.userId The user's email address. The special value me can be used to indicate the authenticated user. + * @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?: Params$Resource$Users$Drafts$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Users$Drafts$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Users$Drafts$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * gmail.users.drafts.send + * @desc Sends the specified, existing draft to the recipients in the To, + * Cc, and Bcc headers. + * @alias gmail.users.drafts.send + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.userId The user's email address. The special value me can be used to indicate the authenticated user. + * @param {object} params.resource Media resource metadata + * @param {object} params.media Media object + * @param {string} params.media.mimeType Media mime-type + * @param {string|object} params.media.body Media body contents + * @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 + */ + send(params?: Params$Resource$Users$Drafts$Send, options?: MethodOptions): AxiosPromise; + send(params: Params$Resource$Users$Drafts$Send, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + send(params: Params$Resource$Users$Drafts$Send, callback: BodyResponseCallback): void; + send(callback: BodyResponseCallback): void; + /** + * gmail.users.drafts.update + * @desc Replaces a draft's content. + * @alias gmail.users.drafts.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The ID of the draft to update. + * @param {string} params.userId The user's email address. The special value me can be used to indicate the authenticated user. + * @param {object} params.resource Media resource metadata + * @param {object} params.media Media object + * @param {string} params.media.mimeType Media mime-type + * @param {string|object} params.media.body Media body contents + * @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?: Params$Resource$Users$Drafts$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Users$Drafts$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Users$Drafts$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Users$Drafts$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The user's email address. The special value me can be used to indicate + * the authenticated user. + */ + userId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Draft; + /** + * Media metadata + */ + media?: { + /** + * Media mime-type + */ + mediaType?: string; + /** + * Media body contents + */ + body?: any; + }; + } + interface Params$Resource$Users$Drafts$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the draft to delete. + */ + id?: string; + /** + * The user's email address. The special value me can be used to indicate + * the authenticated user. + */ + userId?: string; + } + interface Params$Resource$Users$Drafts$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The format to return the draft in. + */ + format?: string; + /** + * The ID of the draft to retrieve. + */ + id?: string; + /** + * The user's email address. The special value me can be used to indicate + * the authenticated user. + */ + userId?: string; + } + interface Params$Resource$Users$Drafts$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Include drafts from SPAM and TRASH in the results. + */ + includeSpamTrash?: boolean; + /** + * Maximum number of drafts to return. + */ + maxResults?: number; + /** + * Page token to retrieve a specific page of results in the list. + */ + pageToken?: string; + /** + * Only return draft messages matching the specified query. Supports the + * same query format as the Gmail search box. For example, + * "from:someuser@example.com rfc822msgid: is:unread". + */ + q?: string; + /** + * The user's email address. The special value me can be used to indicate + * the authenticated user. + */ + userId?: string; + } + interface Params$Resource$Users$Drafts$Send { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The user's email address. The special value me can be used to indicate + * the authenticated user. + */ + userId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Draft; + /** + * Media metadata + */ + media?: { + /** + * Media mime-type + */ + mediaType?: string; + /** + * Media body contents + */ + body?: any; + }; + } + interface Params$Resource$Users$Drafts$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the draft to update. + */ + id?: string; + /** + * The user's email address. The special value me can be used to indicate + * the authenticated user. + */ + userId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Draft; + /** + * Media metadata + */ + media?: { + /** + * Media mime-type + */ + mediaType?: string; + /** + * Media body contents + */ + body?: any; + }; + } + class Resource$Users$History { + root: Gmail; + constructor(root: Gmail); + getRoot(): Gmail; + /** + * gmail.users.history.list + * @desc Lists the history of all changes to the given mailbox. History + * results are returned in chronological order (increasing historyId). + * @alias gmail.users.history.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.historyTypes History types to be returned by the function + * @param {string=} params.labelId Only return messages with a label matching the ID. + * @param {integer=} params.maxResults The maximum number of history records to return. + * @param {string=} params.pageToken Page token to retrieve a specific page of results in the list. + * @param {string=} params.startHistoryId Required. Returns history records after the specified startHistoryId. The supplied startHistoryId should be obtained from the historyId of a message, thread, or previous list response. History IDs increase chronologically but are not contiguous with random gaps in between valid IDs. Supplying an invalid or out of date startHistoryId typically returns an HTTP 404 error code. A historyId is typically valid for at least a week, but in some rare circumstances may be valid for only a few hours. If you receive an HTTP 404 error response, your application should perform a full sync. If you receive no nextPageToken in the response, there are no updates to retrieve and you can store the returned historyId for a future request. + * @param {string} params.userId The user's email address. The special value me can be used to indicate the authenticated user. + * @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?: Params$Resource$Users$History$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Users$History$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Users$History$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Users$History$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * History types to be returned by the function + */ + historyTypes?: string; + /** + * Only return messages with a label matching the ID. + */ + labelId?: string; + /** + * The maximum number of history records to return. + */ + maxResults?: number; + /** + * Page token to retrieve a specific page of results in the list. + */ + pageToken?: string; + /** + * Required. Returns history records after the specified startHistoryId. The + * supplied startHistoryId should be obtained from the historyId of a + * message, thread, or previous list response. History IDs increase + * chronologically but are not contiguous with random gaps in between valid + * IDs. Supplying an invalid or out of date startHistoryId typically returns + * an HTTP 404 error code. A historyId is typically valid for at least a + * week, but in some rare circumstances may be valid for only a few hours. + * If you receive an HTTP 404 error response, your application should + * perform a full sync. If you receive no nextPageToken in the response, + * there are no updates to retrieve and you can store the returned historyId + * for a future request. + */ + startHistoryId?: string; + /** + * The user's email address. The special value me can be used to indicate + * the authenticated user. + */ + userId?: string; + } + class Resource$Users$Labels { + root: Gmail; + constructor(root: Gmail); + getRoot(): Gmail; + /** + * gmail.users.labels.create + * @desc Creates a new label. + * @alias gmail.users.labels.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.userId The user's email address. The special value me can be used to indicate the authenticated user. + * @param {().Label} 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 + */ + create(params?: Params$Resource$Users$Labels$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Users$Labels$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Users$Labels$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * gmail.users.labels.delete + * @desc Immediately and permanently deletes the specified label and removes + * it from any messages and threads that it is applied to. + * @alias gmail.users.labels.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The ID of the label to delete. + * @param {string} params.userId The user's email address. The special value me can be used to indicate the authenticated user. + * @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?: Params$Resource$Users$Labels$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Users$Labels$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Users$Labels$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * gmail.users.labels.get + * @desc Gets the specified label. + * @alias gmail.users.labels.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The ID of the label to retrieve. + * @param {string} params.userId The user's email address. The special value me can be used to indicate the authenticated user. + * @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?: Params$Resource$Users$Labels$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Users$Labels$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Users$Labels$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * gmail.users.labels.list + * @desc Lists all labels in the user's mailbox. + * @alias gmail.users.labels.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.userId The user's email address. The special value me can be used to indicate the authenticated user. + * @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?: Params$Resource$Users$Labels$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Users$Labels$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Users$Labels$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * gmail.users.labels.patch + * @desc Updates the specified label. This method supports patch semantics. + * @alias gmail.users.labels.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The ID of the label to update. + * @param {string} params.userId The user's email address. The special value me can be used to indicate the authenticated user. + * @param {().Label} 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 + */ + patch(params?: Params$Resource$Users$Labels$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Users$Labels$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Users$Labels$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * gmail.users.labels.update + * @desc Updates the specified label. + * @alias gmail.users.labels.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The ID of the label to update. + * @param {string} params.userId The user's email address. The special value me can be used to indicate the authenticated user. + * @param {().Label} 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?: Params$Resource$Users$Labels$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Users$Labels$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Users$Labels$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Users$Labels$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The user's email address. The special value me can be used to indicate + * the authenticated user. + */ + userId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Label; + } + interface Params$Resource$Users$Labels$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the label to delete. + */ + id?: string; + /** + * The user's email address. The special value me can be used to indicate + * the authenticated user. + */ + userId?: string; + } + interface Params$Resource$Users$Labels$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the label to retrieve. + */ + id?: string; + /** + * The user's email address. The special value me can be used to indicate + * the authenticated user. + */ + userId?: string; + } + interface Params$Resource$Users$Labels$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The user's email address. The special value me can be used to indicate + * the authenticated user. + */ + userId?: string; + } + interface Params$Resource$Users$Labels$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the label to update. + */ + id?: string; + /** + * The user's email address. The special value me can be used to indicate + * the authenticated user. + */ + userId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Label; + } + interface Params$Resource$Users$Labels$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the label to update. + */ + id?: string; + /** + * The user's email address. The special value me can be used to indicate + * the authenticated user. + */ + userId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Label; + } + class Resource$Users$Messages { + root: Gmail; + attachments: Resource$Users$Messages$Attachments; + constructor(root: Gmail); + getRoot(): Gmail; + /** + * gmail.users.messages.batchDelete + * @desc Deletes many messages by message ID. Provides no guarantees that + * messages were not already deleted or even existed at all. + * @alias gmail.users.messages.batchDelete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.userId The user's email address. The special value me can be used to indicate the authenticated user. + * @param {().BatchDeleteMessagesRequest} 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 + */ + batchDelete(params?: Params$Resource$Users$Messages$Batchdelete, options?: MethodOptions): AxiosPromise; + batchDelete(params: Params$Resource$Users$Messages$Batchdelete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + batchDelete(params: Params$Resource$Users$Messages$Batchdelete, callback: BodyResponseCallback): void; + batchDelete(callback: BodyResponseCallback): void; + /** + * gmail.users.messages.batchModify + * @desc Modifies the labels on the specified messages. + * @alias gmail.users.messages.batchModify + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.userId The user's email address. The special value me can be used to indicate the authenticated user. + * @param {().BatchModifyMessagesRequest} 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 + */ + batchModify(params?: Params$Resource$Users$Messages$Batchmodify, options?: MethodOptions): AxiosPromise; + batchModify(params: Params$Resource$Users$Messages$Batchmodify, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + batchModify(params: Params$Resource$Users$Messages$Batchmodify, callback: BodyResponseCallback): void; + batchModify(callback: BodyResponseCallback): void; + /** + * gmail.users.messages.delete + * @desc Immediately and permanently deletes the specified message. This + * operation cannot be undone. Prefer messages.trash instead. + * @alias gmail.users.messages.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The ID of the message to delete. + * @param {string} params.userId The user's email address. The special value me can be used to indicate the authenticated user. + * @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?: Params$Resource$Users$Messages$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Users$Messages$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Users$Messages$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * gmail.users.messages.get + * @desc Gets the specified message. + * @alias gmail.users.messages.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.format The format to return the message in. + * @param {string} params.id The ID of the message to retrieve. + * @param {string=} params.metadataHeaders When given and format is METADATA, only include headers specified. + * @param {string} params.userId The user's email address. The special value me can be used to indicate the authenticated user. + * @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?: Params$Resource$Users$Messages$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Users$Messages$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Users$Messages$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * gmail.users.messages.import + * @desc Imports a message into only this user's mailbox, with standard email + * delivery scanning and classification similar to receiving via SMTP. Does not + * send a message. + * @alias gmail.users.messages.import + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.deleted Mark the email as permanently deleted (not TRASH) and only visible in Google Vault to a Vault administrator. Only used for G Suite accounts. + * @param {string=} params.internalDateSource Source for Gmail's internal date of the message. + * @param {boolean=} params.neverMarkSpam Ignore the Gmail spam classifier decision and never mark this email as SPAM in the mailbox. + * @param {boolean=} params.processForCalendar Process calendar invites in the email and add any extracted meetings to the Google Calendar for this user. + * @param {string} params.userId The user's email address. The special value me can be used to indicate the authenticated user. + * @param {object} params.resource Media resource metadata + * @param {object} params.media Media object + * @param {string} params.media.mimeType Media mime-type + * @param {string|object} params.media.body Media body contents + * @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 + */ + import(params?: Params$Resource$Users$Messages$Import, options?: MethodOptions): AxiosPromise; + import(params: Params$Resource$Users$Messages$Import, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + import(params: Params$Resource$Users$Messages$Import, callback: BodyResponseCallback): void; + import(callback: BodyResponseCallback): void; + /** + * gmail.users.messages.insert + * @desc Directly inserts a message into only this user's mailbox similar to IMAP APPEND, bypassing most scanning and classification. Does not send a message. + * @alias gmail.users.messages.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.deleted Mark the email as permanently deleted (not TRASH) and only visible in Google Vault to a Vault administrator. Only used for G Suite accounts. + * @param {string=} params.internalDateSource Source for Gmail's internal date of the message. + * @param {string} params.userId The user's email address. The special value me can be used to indicate the authenticated user. + * @param {object} params.resource Media resource metadata + * @param {object} params.media Media object + * @param {string} params.media.mimeType Media mime-type + * @param {string|object} params.media.body Media body contents + * @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?: Params$Resource$Users$Messages$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Users$Messages$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Users$Messages$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * gmail.users.messages.list + * @desc Lists the messages in the user's mailbox. + * @alias gmail.users.messages.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.includeSpamTrash Include messages from SPAM and TRASH in the results. + * @param {string=} params.labelIds Only return messages with labels that match all of the specified label IDs. + * @param {integer=} params.maxResults Maximum number of messages to return. + * @param {string=} params.pageToken Page token to retrieve a specific page of results in the list. + * @param {string=} params.q Only return messages matching the specified query. Supports the same query format as the Gmail search box. For example, "from:someuser@example.com rfc822msgid: is:unread". Parameter cannot be used when accessing the api using the gmail.metadata scope. + * @param {string} params.userId The user's email address. The special value me can be used to indicate the authenticated user. + * @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?: Params$Resource$Users$Messages$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Users$Messages$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Users$Messages$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * gmail.users.messages.modify + * @desc Modifies the labels on the specified message. + * @alias gmail.users.messages.modify + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The ID of the message to modify. + * @param {string} params.userId The user's email address. The special value me can be used to indicate the authenticated user. + * @param {().ModifyMessageRequest} 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 + */ + modify(params?: Params$Resource$Users$Messages$Modify, options?: MethodOptions): AxiosPromise; + modify(params: Params$Resource$Users$Messages$Modify, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + modify(params: Params$Resource$Users$Messages$Modify, callback: BodyResponseCallback): void; + modify(callback: BodyResponseCallback): void; + /** + * gmail.users.messages.send + * @desc Sends the specified message to the recipients in the To, Cc, and + * Bcc headers. + * @alias gmail.users.messages.send + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.userId The user's email address. The special value me can be used to indicate the authenticated user. + * @param {object} params.resource Media resource metadata + * @param {object} params.media Media object + * @param {string} params.media.mimeType Media mime-type + * @param {string|object} params.media.body Media body contents + * @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 + */ + send(params?: Params$Resource$Users$Messages$Send, options?: MethodOptions): AxiosPromise; + send(params: Params$Resource$Users$Messages$Send, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + send(params: Params$Resource$Users$Messages$Send, callback: BodyResponseCallback): void; + send(callback: BodyResponseCallback): void; + /** + * gmail.users.messages.trash + * @desc Moves the specified message to the trash. + * @alias gmail.users.messages.trash + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The ID of the message to Trash. + * @param {string} params.userId The user's email address. The special value me can be used to indicate the authenticated user. + * @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 + */ + trash(params?: Params$Resource$Users$Messages$Trash, options?: MethodOptions): AxiosPromise; + trash(params: Params$Resource$Users$Messages$Trash, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + trash(params: Params$Resource$Users$Messages$Trash, callback: BodyResponseCallback): void; + trash(callback: BodyResponseCallback): void; + /** + * gmail.users.messages.untrash + * @desc Removes the specified message from the trash. + * @alias gmail.users.messages.untrash + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The ID of the message to remove from Trash. + * @param {string} params.userId The user's email address. The special value me can be used to indicate the authenticated user. + * @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 + */ + untrash(params?: Params$Resource$Users$Messages$Untrash, options?: MethodOptions): AxiosPromise; + untrash(params: Params$Resource$Users$Messages$Untrash, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + untrash(params: Params$Resource$Users$Messages$Untrash, callback: BodyResponseCallback): void; + untrash(callback: BodyResponseCallback): void; + } + interface Params$Resource$Users$Messages$Batchdelete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The user's email address. The special value me can be used to indicate + * the authenticated user. + */ + userId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BatchDeleteMessagesRequest; + } + interface Params$Resource$Users$Messages$Batchmodify { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The user's email address. The special value me can be used to indicate + * the authenticated user. + */ + userId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BatchModifyMessagesRequest; + } + interface Params$Resource$Users$Messages$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the message to delete. + */ + id?: string; + /** + * The user's email address. The special value me can be used to indicate + * the authenticated user. + */ + userId?: string; + } + interface Params$Resource$Users$Messages$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The format to return the message in. + */ + format?: string; + /** + * The ID of the message to retrieve. + */ + id?: string; + /** + * When given and format is METADATA, only include headers specified. + */ + metadataHeaders?: string; + /** + * The user's email address. The special value me can be used to indicate + * the authenticated user. + */ + userId?: string; + } + interface Params$Resource$Users$Messages$Import { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Mark the email as permanently deleted (not TRASH) and only visible in + * Google Vault to a Vault administrator. Only used for G Suite accounts. + */ + deleted?: boolean; + /** + * Source for Gmail's internal date of the message. + */ + internalDateSource?: string; + /** + * Ignore the Gmail spam classifier decision and never mark this email as + * SPAM in the mailbox. + */ + neverMarkSpam?: boolean; + /** + * Process calendar invites in the email and add any extracted meetings to + * the Google Calendar for this user. + */ + processForCalendar?: boolean; + /** + * The user's email address. The special value me can be used to indicate + * the authenticated user. + */ + userId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Message; + /** + * Media metadata + */ + media?: { + /** + * Media mime-type + */ + mediaType?: string; + /** + * Media body contents + */ + body?: any; + }; + } + interface Params$Resource$Users$Messages$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Mark the email as permanently deleted (not TRASH) and only visible in + * Google Vault to a Vault administrator. Only used for G Suite accounts. + */ + deleted?: boolean; + /** + * Source for Gmail's internal date of the message. + */ + internalDateSource?: string; + /** + * The user's email address. The special value me can be used to indicate + * the authenticated user. + */ + userId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Message; + /** + * Media metadata + */ + media?: { + /** + * Media mime-type + */ + mediaType?: string; + /** + * Media body contents + */ + body?: any; + }; + } + interface Params$Resource$Users$Messages$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Include messages from SPAM and TRASH in the results. + */ + includeSpamTrash?: boolean; + /** + * Only return messages with labels that match all of the specified label + * IDs. + */ + labelIds?: string; + /** + * Maximum number of messages to return. + */ + maxResults?: number; + /** + * Page token to retrieve a specific page of results in the list. + */ + pageToken?: string; + /** + * Only return messages matching the specified query. Supports the same + * query format as the Gmail search box. For example, + * "from:someuser@example.com rfc822msgid: + * is:unread". Parameter cannot be used when accessing the api using the + * gmail.metadata scope. + */ + q?: string; + /** + * The user's email address. The special value me can be used to indicate + * the authenticated user. + */ + userId?: string; + } + interface Params$Resource$Users$Messages$Modify { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the message to modify. + */ + id?: string; + /** + * The user's email address. The special value me can be used to indicate + * the authenticated user. + */ + userId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ModifyMessageRequest; + } + interface Params$Resource$Users$Messages$Send { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The user's email address. The special value me can be used to indicate + * the authenticated user. + */ + userId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Message; + /** + * Media metadata + */ + media?: { + /** + * Media mime-type + */ + mediaType?: string; + /** + * Media body contents + */ + body?: any; + }; + } + interface Params$Resource$Users$Messages$Trash { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the message to Trash. + */ + id?: string; + /** + * The user's email address. The special value me can be used to indicate + * the authenticated user. + */ + userId?: string; + } + interface Params$Resource$Users$Messages$Untrash { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the message to remove from Trash. + */ + id?: string; + /** + * The user's email address. The special value me can be used to indicate + * the authenticated user. + */ + userId?: string; + } + class Resource$Users$Messages$Attachments { + root: Gmail; + constructor(root: Gmail); + getRoot(): Gmail; + /** + * gmail.users.messages.attachments.get + * @desc Gets the specified message attachment. + * @alias gmail.users.messages.attachments.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The ID of the attachment. + * @param {string} params.messageId The ID of the message containing the attachment. + * @param {string} params.userId The user's email address. The special value me can be used to indicate the authenticated user. + * @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?: Params$Resource$Users$Messages$Attachments$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Users$Messages$Attachments$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Users$Messages$Attachments$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Users$Messages$Attachments$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the attachment. + */ + id?: string; + /** + * The ID of the message containing the attachment. + */ + messageId?: string; + /** + * The user's email address. The special value me can be used to indicate + * the authenticated user. + */ + userId?: string; + } + class Resource$Users$Settings { + root: Gmail; + delegates: Resource$Users$Settings$Delegates; + filters: Resource$Users$Settings$Filters; + forwardingAddresses: Resource$Users$Settings$Forwardingaddresses; + sendAs: Resource$Users$Settings$Sendas; + constructor(root: Gmail); + getRoot(): Gmail; + /** + * gmail.users.settings.getAutoForwarding + * @desc Gets the auto-forwarding setting for the specified account. + * @alias gmail.users.settings.getAutoForwarding + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.userId User's email address. The special value "me" can be used to indicate the authenticated user. + * @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 + */ + getAutoForwarding(params?: Params$Resource$Users$Settings$Getautoforwarding, options?: MethodOptions): AxiosPromise; + getAutoForwarding(params: Params$Resource$Users$Settings$Getautoforwarding, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getAutoForwarding(params: Params$Resource$Users$Settings$Getautoforwarding, callback: BodyResponseCallback): void; + getAutoForwarding(callback: BodyResponseCallback): void; + /** + * gmail.users.settings.getImap + * @desc Gets IMAP settings. + * @alias gmail.users.settings.getImap + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.userId User's email address. The special value "me" can be used to indicate the authenticated user. + * @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 + */ + getImap(params?: Params$Resource$Users$Settings$Getimap, options?: MethodOptions): AxiosPromise; + getImap(params: Params$Resource$Users$Settings$Getimap, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getImap(params: Params$Resource$Users$Settings$Getimap, callback: BodyResponseCallback): void; + getImap(callback: BodyResponseCallback): void; + /** + * gmail.users.settings.getPop + * @desc Gets POP settings. + * @alias gmail.users.settings.getPop + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.userId User's email address. The special value "me" can be used to indicate the authenticated user. + * @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 + */ + getPop(params?: Params$Resource$Users$Settings$Getpop, options?: MethodOptions): AxiosPromise; + getPop(params: Params$Resource$Users$Settings$Getpop, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getPop(params: Params$Resource$Users$Settings$Getpop, callback: BodyResponseCallback): void; + getPop(callback: BodyResponseCallback): void; + /** + * gmail.users.settings.getVacation + * @desc Gets vacation responder settings. + * @alias gmail.users.settings.getVacation + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.userId User's email address. The special value "me" can be used to indicate the authenticated user. + * @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 + */ + getVacation(params?: Params$Resource$Users$Settings$Getvacation, options?: MethodOptions): AxiosPromise; + getVacation(params: Params$Resource$Users$Settings$Getvacation, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getVacation(params: Params$Resource$Users$Settings$Getvacation, callback: BodyResponseCallback): void; + getVacation(callback: BodyResponseCallback): void; + /** + * gmail.users.settings.updateAutoForwarding + * @desc Updates the auto-forwarding setting for the specified account. A + * verified forwarding address must be specified when auto-forwarding is + * enabled. This method is only available to service account clients that + * have been delegated domain-wide authority. + * @alias gmail.users.settings.updateAutoForwarding + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.userId User's email address. The special value "me" can be used to indicate the authenticated user. + * @param {().AutoForwarding} 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 + */ + updateAutoForwarding(params?: Params$Resource$Users$Settings$Updateautoforwarding, options?: MethodOptions): AxiosPromise; + updateAutoForwarding(params: Params$Resource$Users$Settings$Updateautoforwarding, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + updateAutoForwarding(params: Params$Resource$Users$Settings$Updateautoforwarding, callback: BodyResponseCallback): void; + updateAutoForwarding(callback: BodyResponseCallback): void; + /** + * gmail.users.settings.updateImap + * @desc Updates IMAP settings. + * @alias gmail.users.settings.updateImap + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.userId User's email address. The special value "me" can be used to indicate the authenticated user. + * @param {().ImapSettings} 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 + */ + updateImap(params?: Params$Resource$Users$Settings$Updateimap, options?: MethodOptions): AxiosPromise; + updateImap(params: Params$Resource$Users$Settings$Updateimap, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + updateImap(params: Params$Resource$Users$Settings$Updateimap, callback: BodyResponseCallback): void; + updateImap(callback: BodyResponseCallback): void; + /** + * gmail.users.settings.updatePop + * @desc Updates POP settings. + * @alias gmail.users.settings.updatePop + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.userId User's email address. The special value "me" can be used to indicate the authenticated user. + * @param {().PopSettings} 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 + */ + updatePop(params?: Params$Resource$Users$Settings$Updatepop, options?: MethodOptions): AxiosPromise; + updatePop(params: Params$Resource$Users$Settings$Updatepop, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + updatePop(params: Params$Resource$Users$Settings$Updatepop, callback: BodyResponseCallback): void; + updatePop(callback: BodyResponseCallback): void; + /** + * gmail.users.settings.updateVacation + * @desc Updates vacation responder settings. + * @alias gmail.users.settings.updateVacation + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.userId User's email address. The special value "me" can be used to indicate the authenticated user. + * @param {().VacationSettings} 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 + */ + updateVacation(params?: Params$Resource$Users$Settings$Updatevacation, options?: MethodOptions): AxiosPromise; + updateVacation(params: Params$Resource$Users$Settings$Updatevacation, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + updateVacation(params: Params$Resource$Users$Settings$Updatevacation, callback: BodyResponseCallback): void; + updateVacation(callback: BodyResponseCallback): void; + } + interface Params$Resource$Users$Settings$Getautoforwarding { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User's email address. The special value "me" can be used to indicate the + * authenticated user. + */ + userId?: string; + } + interface Params$Resource$Users$Settings$Getimap { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User's email address. The special value "me" can be used to indicate the + * authenticated user. + */ + userId?: string; + } + interface Params$Resource$Users$Settings$Getpop { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User's email address. The special value "me" can be used to indicate the + * authenticated user. + */ + userId?: string; + } + interface Params$Resource$Users$Settings$Getvacation { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User's email address. The special value "me" can be used to indicate the + * authenticated user. + */ + userId?: string; + } + interface Params$Resource$Users$Settings$Updateautoforwarding { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User's email address. The special value "me" can be used to indicate the + * authenticated user. + */ + userId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AutoForwarding; + } + interface Params$Resource$Users$Settings$Updateimap { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User's email address. The special value "me" can be used to indicate the + * authenticated user. + */ + userId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ImapSettings; + } + interface Params$Resource$Users$Settings$Updatepop { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User's email address. The special value "me" can be used to indicate the + * authenticated user. + */ + userId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$PopSettings; + } + interface Params$Resource$Users$Settings$Updatevacation { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User's email address. The special value "me" can be used to indicate the + * authenticated user. + */ + userId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$VacationSettings; + } + class Resource$Users$Settings$Delegates { + root: Gmail; + constructor(root: Gmail); + getRoot(): Gmail; + /** + * gmail.users.settings.delegates.create + * @desc Adds a delegate with its verification status set directly to + * accepted, without sending any verification email. The delegate user must + * be a member of the same G Suite organization as the delegator user. Gmail + * imposes limtations on the number of delegates and delegators each user in + * a G Suite organization can have. These limits depend on your + * organization, but in general each user can have up to 25 delegates and up + * to 10 delegators. Note that a delegate user must be referred to by their + * primary email address, and not an email alias. Also note that when a new + * delegate is created, there may be up to a one minute delay before the new + * delegate is available for use. This method is only available to service + * account clients that have been delegated domain-wide authority. + * @alias gmail.users.settings.delegates.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.userId User's email address. The special value "me" can be used to indicate the authenticated user. + * @param {().Delegate} 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 + */ + create(params?: Params$Resource$Users$Settings$Delegates$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Users$Settings$Delegates$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Users$Settings$Delegates$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * gmail.users.settings.delegates.delete + * @desc Removes the specified delegate (which can be of any verification + * status), and revokes any verification that may have been required for + * using it. Note that a delegate user must be referred to by their primary + * email address, and not an email alias. This method is only available to + * service account clients that have been delegated domain-wide authority. + * @alias gmail.users.settings.delegates.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.delegateEmail The email address of the user to be removed as a delegate. + * @param {string} params.userId User's email address. The special value "me" can be used to indicate the authenticated user. + * @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?: Params$Resource$Users$Settings$Delegates$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Users$Settings$Delegates$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Users$Settings$Delegates$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * gmail.users.settings.delegates.get + * @desc Gets the specified delegate. Note that a delegate user must be + * referred to by their primary email address, and not an email alias. This + * method is only available to service account clients that have been + * delegated domain-wide authority. + * @alias gmail.users.settings.delegates.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.delegateEmail The email address of the user whose delegate relationship is to be retrieved. + * @param {string} params.userId User's email address. The special value "me" can be used to indicate the authenticated user. + * @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?: Params$Resource$Users$Settings$Delegates$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Users$Settings$Delegates$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Users$Settings$Delegates$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * gmail.users.settings.delegates.list + * @desc Lists the delegates for the specified account. This method is only + * available to service account clients that have been delegated domain-wide + * authority. + * @alias gmail.users.settings.delegates.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.userId User's email address. The special value "me" can be used to indicate the authenticated user. + * @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?: Params$Resource$Users$Settings$Delegates$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Users$Settings$Delegates$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Users$Settings$Delegates$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Users$Settings$Delegates$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User's email address. The special value "me" can be used to indicate the + * authenticated user. + */ + userId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Delegate; + } + interface Params$Resource$Users$Settings$Delegates$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The email address of the user to be removed as a delegate. + */ + delegateEmail?: string; + /** + * User's email address. The special value "me" can be used to indicate the + * authenticated user. + */ + userId?: string; + } + interface Params$Resource$Users$Settings$Delegates$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The email address of the user whose delegate relationship is to be + * retrieved. + */ + delegateEmail?: string; + /** + * User's email address. The special value "me" can be used to indicate the + * authenticated user. + */ + userId?: string; + } + interface Params$Resource$Users$Settings$Delegates$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User's email address. The special value "me" can be used to indicate the + * authenticated user. + */ + userId?: string; + } + class Resource$Users$Settings$Filters { + root: Gmail; + constructor(root: Gmail); + getRoot(): Gmail; + /** + * gmail.users.settings.filters.create + * @desc Creates a filter. + * @alias gmail.users.settings.filters.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.userId User's email address. The special value "me" can be used to indicate the authenticated user. + * @param {().Filter} 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 + */ + create(params?: Params$Resource$Users$Settings$Filters$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Users$Settings$Filters$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Users$Settings$Filters$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * gmail.users.settings.filters.delete + * @desc Deletes a filter. + * @alias gmail.users.settings.filters.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The ID of the filter to be deleted. + * @param {string} params.userId User's email address. The special value "me" can be used to indicate the authenticated user. + * @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?: Params$Resource$Users$Settings$Filters$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Users$Settings$Filters$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Users$Settings$Filters$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * gmail.users.settings.filters.get + * @desc Gets a filter. + * @alias gmail.users.settings.filters.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The ID of the filter to be fetched. + * @param {string} params.userId User's email address. The special value "me" can be used to indicate the authenticated user. + * @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?: Params$Resource$Users$Settings$Filters$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Users$Settings$Filters$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Users$Settings$Filters$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * gmail.users.settings.filters.list + * @desc Lists the message filters of a Gmail user. + * @alias gmail.users.settings.filters.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.userId User's email address. The special value "me" can be used to indicate the authenticated user. + * @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?: Params$Resource$Users$Settings$Filters$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Users$Settings$Filters$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Users$Settings$Filters$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Users$Settings$Filters$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User's email address. The special value "me" can be used to indicate the + * authenticated user. + */ + userId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Filter; + } + interface Params$Resource$Users$Settings$Filters$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the filter to be deleted. + */ + id?: string; + /** + * User's email address. The special value "me" can be used to indicate the + * authenticated user. + */ + userId?: string; + } + interface Params$Resource$Users$Settings$Filters$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the filter to be fetched. + */ + id?: string; + /** + * User's email address. The special value "me" can be used to indicate the + * authenticated user. + */ + userId?: string; + } + interface Params$Resource$Users$Settings$Filters$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User's email address. The special value "me" can be used to indicate the + * authenticated user. + */ + userId?: string; + } + class Resource$Users$Settings$Forwardingaddresses { + root: Gmail; + constructor(root: Gmail); + getRoot(): Gmail; + /** + * gmail.users.settings.forwardingAddresses.create + * @desc Creates a forwarding address. If ownership verification is + * required, a message will be sent to the recipient and the resource's + * verification status will be set to pending; otherwise, the resource will + * be created with verification status set to accepted. This method is only + * available to service account clients that have been delegated domain-wide + * authority. + * @alias gmail.users.settings.forwardingAddresses.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.userId User's email address. The special value "me" can be used to indicate the authenticated user. + * @param {().ForwardingAddress} 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 + */ + create(params?: Params$Resource$Users$Settings$Forwardingaddresses$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Users$Settings$Forwardingaddresses$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Users$Settings$Forwardingaddresses$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * gmail.users.settings.forwardingAddresses.delete + * @desc Deletes the specified forwarding address and revokes any + * verification that may have been required. This method is only available + * to service account clients that have been delegated domain-wide + * authority. + * @alias gmail.users.settings.forwardingAddresses.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.forwardingEmail The forwarding address to be deleted. + * @param {string} params.userId User's email address. The special value "me" can be used to indicate the authenticated user. + * @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?: Params$Resource$Users$Settings$Forwardingaddresses$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Users$Settings$Forwardingaddresses$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Users$Settings$Forwardingaddresses$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * gmail.users.settings.forwardingAddresses.get + * @desc Gets the specified forwarding address. + * @alias gmail.users.settings.forwardingAddresses.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.forwardingEmail The forwarding address to be retrieved. + * @param {string} params.userId User's email address. The special value "me" can be used to indicate the authenticated user. + * @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?: Params$Resource$Users$Settings$Forwardingaddresses$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Users$Settings$Forwardingaddresses$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Users$Settings$Forwardingaddresses$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * gmail.users.settings.forwardingAddresses.list + * @desc Lists the forwarding addresses for the specified account. + * @alias gmail.users.settings.forwardingAddresses.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.userId User's email address. The special value "me" can be used to indicate the authenticated user. + * @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?: Params$Resource$Users$Settings$Forwardingaddresses$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Users$Settings$Forwardingaddresses$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Users$Settings$Forwardingaddresses$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Users$Settings$Forwardingaddresses$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User's email address. The special value "me" can be used to indicate the + * authenticated user. + */ + userId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ForwardingAddress; + } + interface Params$Resource$Users$Settings$Forwardingaddresses$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The forwarding address to be deleted. + */ + forwardingEmail?: string; + /** + * User's email address. The special value "me" can be used to indicate the + * authenticated user. + */ + userId?: string; + } + interface Params$Resource$Users$Settings$Forwardingaddresses$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The forwarding address to be retrieved. + */ + forwardingEmail?: string; + /** + * User's email address. The special value "me" can be used to indicate the + * authenticated user. + */ + userId?: string; + } + interface Params$Resource$Users$Settings$Forwardingaddresses$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User's email address. The special value "me" can be used to indicate the + * authenticated user. + */ + userId?: string; + } + class Resource$Users$Settings$Sendas { + root: Gmail; + smimeInfo: Resource$Users$Settings$Sendas$Smimeinfo; + constructor(root: Gmail); + getRoot(): Gmail; + /** + * gmail.users.settings.sendAs.create + * @desc Creates a custom "from" send-as alias. If an SMTP MSA is specified, + * Gmail will attempt to connect to the SMTP service to validate the + * configuration before creating the alias. If ownership verification is + * required for the alias, a message will be sent to the email address and + * the resource's verification status will be set to pending; otherwise, the + * resource will be created with verification status set to accepted. If a + * signature is provided, Gmail will sanitize the HTML before saving it with + * the alias. This method is only available to service account clients that + * have been delegated domain-wide authority. + * @alias gmail.users.settings.sendAs.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.userId User's email address. The special value "me" can be used to indicate the authenticated user. + * @param {().SendAs} 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 + */ + create(params?: Params$Resource$Users$Settings$Sendas$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Users$Settings$Sendas$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Users$Settings$Sendas$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * gmail.users.settings.sendAs.delete + * @desc Deletes the specified send-as alias. Revokes any verification that + * may have been required for using it. This method is only available to + * service account clients that have been delegated domain-wide authority. + * @alias gmail.users.settings.sendAs.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.sendAsEmail The send-as alias to be deleted. + * @param {string} params.userId User's email address. The special value "me" can be used to indicate the authenticated user. + * @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?: Params$Resource$Users$Settings$Sendas$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Users$Settings$Sendas$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Users$Settings$Sendas$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * gmail.users.settings.sendAs.get + * @desc Gets the specified send-as alias. Fails with an HTTP 404 error if + * the specified address is not a member of the collection. + * @alias gmail.users.settings.sendAs.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.sendAsEmail The send-as alias to be retrieved. + * @param {string} params.userId User's email address. The special value "me" can be used to indicate the authenticated user. + * @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?: Params$Resource$Users$Settings$Sendas$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Users$Settings$Sendas$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Users$Settings$Sendas$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * gmail.users.settings.sendAs.list + * @desc Lists the send-as aliases for the specified account. The result + * includes the primary send-as address associated with the account as well + * as any custom "from" aliases. + * @alias gmail.users.settings.sendAs.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.userId User's email address. The special value "me" can be used to indicate the authenticated user. + * @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?: Params$Resource$Users$Settings$Sendas$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Users$Settings$Sendas$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Users$Settings$Sendas$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * gmail.users.settings.sendAs.patch + * @desc Updates a send-as alias. If a signature is provided, Gmail will + * sanitize the HTML before saving it with the alias. Addresses other than + * the primary address for the account can only be updated by service + * account clients that have been delegated domain-wide authority. This + * method supports patch semantics. + * @alias gmail.users.settings.sendAs.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.sendAsEmail The send-as alias to be updated. + * @param {string} params.userId User's email address. The special value "me" can be used to indicate the authenticated user. + * @param {().SendAs} 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 + */ + patch(params?: Params$Resource$Users$Settings$Sendas$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Users$Settings$Sendas$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Users$Settings$Sendas$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * gmail.users.settings.sendAs.update + * @desc Updates a send-as alias. If a signature is provided, Gmail will + * sanitize the HTML before saving it with the alias. Addresses other than + * the primary address for the account can only be updated by service + * account clients that have been delegated domain-wide authority. + * @alias gmail.users.settings.sendAs.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.sendAsEmail The send-as alias to be updated. + * @param {string} params.userId User's email address. The special value "me" can be used to indicate the authenticated user. + * @param {().SendAs} 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?: Params$Resource$Users$Settings$Sendas$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Users$Settings$Sendas$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Users$Settings$Sendas$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + /** + * gmail.users.settings.sendAs.verify + * @desc Sends a verification email to the specified send-as alias address. + * The verification status must be pending. This method is only available + * to service account clients that have been delegated domain-wide + * authority. + * @alias gmail.users.settings.sendAs.verify + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.sendAsEmail The send-as alias to be verified. + * @param {string} params.userId User's email address. The special value "me" can be used to indicate the authenticated user. + * @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 + */ + verify(params?: Params$Resource$Users$Settings$Sendas$Verify, options?: MethodOptions): AxiosPromise; + verify(params: Params$Resource$Users$Settings$Sendas$Verify, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + verify(params: Params$Resource$Users$Settings$Sendas$Verify, callback: BodyResponseCallback): void; + verify(callback: BodyResponseCallback): void; + } + interface Params$Resource$Users$Settings$Sendas$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User's email address. The special value "me" can be used to indicate the + * authenticated user. + */ + userId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SendAs; + } + interface Params$Resource$Users$Settings$Sendas$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The send-as alias to be deleted. + */ + sendAsEmail?: string; + /** + * User's email address. The special value "me" can be used to indicate the + * authenticated user. + */ + userId?: string; + } + interface Params$Resource$Users$Settings$Sendas$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The send-as alias to be retrieved. + */ + sendAsEmail?: string; + /** + * User's email address. The special value "me" can be used to indicate the + * authenticated user. + */ + userId?: string; + } + interface Params$Resource$Users$Settings$Sendas$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * User's email address. The special value "me" can be used to indicate the + * authenticated user. + */ + userId?: string; + } + interface Params$Resource$Users$Settings$Sendas$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The send-as alias to be updated. + */ + sendAsEmail?: string; + /** + * User's email address. The special value "me" can be used to indicate the + * authenticated user. + */ + userId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SendAs; + } + interface Params$Resource$Users$Settings$Sendas$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The send-as alias to be updated. + */ + sendAsEmail?: string; + /** + * User's email address. The special value "me" can be used to indicate the + * authenticated user. + */ + userId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SendAs; + } + interface Params$Resource$Users$Settings$Sendas$Verify { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The send-as alias to be verified. + */ + sendAsEmail?: string; + /** + * User's email address. The special value "me" can be used to indicate the + * authenticated user. + */ + userId?: string; + } + class Resource$Users$Settings$Sendas$Smimeinfo { + root: Gmail; + constructor(root: Gmail); + getRoot(): Gmail; + /** + * gmail.users.settings.sendAs.smimeInfo.delete + * @desc Deletes the specified S/MIME config for the specified send-as + * alias. + * @alias gmail.users.settings.sendAs.smimeInfo.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The immutable ID for the SmimeInfo. + * @param {string} params.sendAsEmail The email address that appears in the "From:" header for mail sent using this alias. + * @param {string} params.userId The user's email address. The special value me can be used to indicate the authenticated user. + * @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?: Params$Resource$Users$Settings$Sendas$Smimeinfo$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Users$Settings$Sendas$Smimeinfo$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Users$Settings$Sendas$Smimeinfo$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * gmail.users.settings.sendAs.smimeInfo.get + * @desc Gets the specified S/MIME config for the specified send-as alias. + * @alias gmail.users.settings.sendAs.smimeInfo.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The immutable ID for the SmimeInfo. + * @param {string} params.sendAsEmail The email address that appears in the "From:" header for mail sent using this alias. + * @param {string} params.userId The user's email address. The special value me can be used to indicate the authenticated user. + * @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?: Params$Resource$Users$Settings$Sendas$Smimeinfo$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Users$Settings$Sendas$Smimeinfo$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Users$Settings$Sendas$Smimeinfo$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * gmail.users.settings.sendAs.smimeInfo.insert + * @desc Insert (upload) the given S/MIME config for the specified send-as + * alias. Note that pkcs12 format is required for the key. + * @alias gmail.users.settings.sendAs.smimeInfo.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.sendAsEmail The email address that appears in the "From:" header for mail sent using this alias. + * @param {string} params.userId The user's email address. The special value me can be used to indicate the authenticated user. + * @param {().SmimeInfo} 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?: Params$Resource$Users$Settings$Sendas$Smimeinfo$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Users$Settings$Sendas$Smimeinfo$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Users$Settings$Sendas$Smimeinfo$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * gmail.users.settings.sendAs.smimeInfo.list + * @desc Lists S/MIME configs for the specified send-as alias. + * @alias gmail.users.settings.sendAs.smimeInfo.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.sendAsEmail The email address that appears in the "From:" header for mail sent using this alias. + * @param {string} params.userId The user's email address. The special value me can be used to indicate the authenticated user. + * @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?: Params$Resource$Users$Settings$Sendas$Smimeinfo$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Users$Settings$Sendas$Smimeinfo$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Users$Settings$Sendas$Smimeinfo$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * gmail.users.settings.sendAs.smimeInfo.setDefault + * @desc Sets the default S/MIME config for the specified send-as alias. + * @alias gmail.users.settings.sendAs.smimeInfo.setDefault + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The immutable ID for the SmimeInfo. + * @param {string} params.sendAsEmail The email address that appears in the "From:" header for mail sent using this alias. + * @param {string} params.userId The user's email address. The special value me can be used to indicate the authenticated user. + * @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 + */ + setDefault(params?: Params$Resource$Users$Settings$Sendas$Smimeinfo$Setdefault, options?: MethodOptions): AxiosPromise; + setDefault(params: Params$Resource$Users$Settings$Sendas$Smimeinfo$Setdefault, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setDefault(params: Params$Resource$Users$Settings$Sendas$Smimeinfo$Setdefault, callback: BodyResponseCallback): void; + setDefault(callback: BodyResponseCallback): void; + } + interface Params$Resource$Users$Settings$Sendas$Smimeinfo$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The immutable ID for the SmimeInfo. + */ + id?: string; + /** + * The email address that appears in the "From:" header for mail sent using + * this alias. + */ + sendAsEmail?: string; + /** + * The user's email address. The special value me can be used to indicate + * the authenticated user. + */ + userId?: string; + } + interface Params$Resource$Users$Settings$Sendas$Smimeinfo$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The immutable ID for the SmimeInfo. + */ + id?: string; + /** + * The email address that appears in the "From:" header for mail sent using + * this alias. + */ + sendAsEmail?: string; + /** + * The user's email address. The special value me can be used to indicate + * the authenticated user. + */ + userId?: string; + } + interface Params$Resource$Users$Settings$Sendas$Smimeinfo$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The email address that appears in the "From:" header for mail sent using + * this alias. + */ + sendAsEmail?: string; + /** + * The user's email address. The special value me can be used to indicate + * the authenticated user. + */ + userId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SmimeInfo; + } + interface Params$Resource$Users$Settings$Sendas$Smimeinfo$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The email address that appears in the "From:" header for mail sent using + * this alias. + */ + sendAsEmail?: string; + /** + * The user's email address. The special value me can be used to indicate + * the authenticated user. + */ + userId?: string; + } + interface Params$Resource$Users$Settings$Sendas$Smimeinfo$Setdefault { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The immutable ID for the SmimeInfo. + */ + id?: string; + /** + * The email address that appears in the "From:" header for mail sent using + * this alias. + */ + sendAsEmail?: string; + /** + * The user's email address. The special value me can be used to indicate + * the authenticated user. + */ + userId?: string; + } + class Resource$Users$Threads { + root: Gmail; + constructor(root: Gmail); + getRoot(): Gmail; + /** + * gmail.users.threads.delete + * @desc Immediately and permanently deletes the specified thread. This + * operation cannot be undone. Prefer threads.trash instead. + * @alias gmail.users.threads.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id ID of the Thread to delete. + * @param {string} params.userId The user's email address. The special value me can be used to indicate the authenticated user. + * @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?: Params$Resource$Users$Threads$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Users$Threads$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Users$Threads$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * gmail.users.threads.get + * @desc Gets the specified thread. + * @alias gmail.users.threads.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.format The format to return the messages in. + * @param {string} params.id The ID of the thread to retrieve. + * @param {string=} params.metadataHeaders When given and format is METADATA, only include headers specified. + * @param {string} params.userId The user's email address. The special value me can be used to indicate the authenticated user. + * @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?: Params$Resource$Users$Threads$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Users$Threads$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Users$Threads$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * gmail.users.threads.list + * @desc Lists the threads in the user's mailbox. + * @alias gmail.users.threads.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.includeSpamTrash Include threads from SPAM and TRASH in the results. + * @param {string=} params.labelIds Only return threads with labels that match all of the specified label IDs. + * @param {integer=} params.maxResults Maximum number of threads to return. + * @param {string=} params.pageToken Page token to retrieve a specific page of results in the list. + * @param {string=} params.q Only return threads matching the specified query. Supports the same query format as the Gmail search box. For example, "from:someuser@example.com rfc822msgid: is:unread". Parameter cannot be used when accessing the api using the gmail.metadata scope. + * @param {string} params.userId The user's email address. The special value me can be used to indicate the authenticated user. + * @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?: Params$Resource$Users$Threads$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Users$Threads$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Users$Threads$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * gmail.users.threads.modify + * @desc Modifies the labels applied to the thread. This applies to all + * messages in the thread. + * @alias gmail.users.threads.modify + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The ID of the thread to modify. + * @param {string} params.userId The user's email address. The special value me can be used to indicate the authenticated user. + * @param {().ModifyThreadRequest} 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 + */ + modify(params?: Params$Resource$Users$Threads$Modify, options?: MethodOptions): AxiosPromise; + modify(params: Params$Resource$Users$Threads$Modify, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + modify(params: Params$Resource$Users$Threads$Modify, callback: BodyResponseCallback): void; + modify(callback: BodyResponseCallback): void; + /** + * gmail.users.threads.trash + * @desc Moves the specified thread to the trash. + * @alias gmail.users.threads.trash + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The ID of the thread to Trash. + * @param {string} params.userId The user's email address. The special value me can be used to indicate the authenticated user. + * @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 + */ + trash(params?: Params$Resource$Users$Threads$Trash, options?: MethodOptions): AxiosPromise; + trash(params: Params$Resource$Users$Threads$Trash, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + trash(params: Params$Resource$Users$Threads$Trash, callback: BodyResponseCallback): void; + trash(callback: BodyResponseCallback): void; + /** + * gmail.users.threads.untrash + * @desc Removes the specified thread from the trash. + * @alias gmail.users.threads.untrash + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The ID of the thread to remove from Trash. + * @param {string} params.userId The user's email address. The special value me can be used to indicate the authenticated user. + * @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 + */ + untrash(params?: Params$Resource$Users$Threads$Untrash, options?: MethodOptions): AxiosPromise; + untrash(params: Params$Resource$Users$Threads$Untrash, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + untrash(params: Params$Resource$Users$Threads$Untrash, callback: BodyResponseCallback): void; + untrash(callback: BodyResponseCallback): void; + } + interface Params$Resource$Users$Threads$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ID of the Thread to delete. + */ + id?: string; + /** + * The user's email address. The special value me can be used to indicate + * the authenticated user. + */ + userId?: string; + } + interface Params$Resource$Users$Threads$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The format to return the messages in. + */ + format?: string; + /** + * The ID of the thread to retrieve. + */ + id?: string; + /** + * When given and format is METADATA, only include headers specified. + */ + metadataHeaders?: string; + /** + * The user's email address. The special value me can be used to indicate + * the authenticated user. + */ + userId?: string; + } + interface Params$Resource$Users$Threads$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Include threads from SPAM and TRASH in the results. + */ + includeSpamTrash?: boolean; + /** + * Only return threads with labels that match all of the specified label + * IDs. + */ + labelIds?: string; + /** + * Maximum number of threads to return. + */ + maxResults?: number; + /** + * Page token to retrieve a specific page of results in the list. + */ + pageToken?: string; + /** + * Only return threads matching the specified query. Supports the same query + * format as the Gmail search box. For example, "from:someuser@example.com + * rfc822msgid: is:unread". Parameter cannot be used when accessing the api + * using the gmail.metadata scope. + */ + q?: string; + /** + * The user's email address. The special value me can be used to indicate + * the authenticated user. + */ + userId?: string; + } + interface Params$Resource$Users$Threads$Modify { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the thread to modify. + */ + id?: string; + /** + * The user's email address. The special value me can be used to indicate + * the authenticated user. + */ + userId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ModifyThreadRequest; + } + interface Params$Resource$Users$Threads$Trash { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the thread to Trash. + */ + id?: string; + /** + * The user's email address. The special value me can be used to indicate + * the authenticated user. + */ + userId?: string; + } + interface Params$Resource$Users$Threads$Untrash { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the thread to remove from Trash. + */ + id?: string; + /** + * The user's email address. The special value me can be used to indicate + * the authenticated user. + */ + userId?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/gmail/v1.js b/express-server/node_modules/googleapis/build/src/apis/gmail/v1.js new file mode 100644 index 00000000..b8c7e26a --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/gmail/v1.js @@ -0,0 +1,2261 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var gmail_v1; +(function (gmail_v1) { + /** + * Gmail API + * + * Access Gmail mailboxes including sending user email. + * + * @example + * const {google} = require('googleapis'); + * const gmail = google.gmail('v1'); + * + * @namespace gmail + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Gmail + */ + class Gmail { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.users = new Resource$Users(this); + } + getRoot() { + return this.root; + } + } + gmail_v1.Gmail = Gmail; + class Resource$Users { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.drafts = new Resource$Users$Drafts(root); + this.history = new Resource$Users$History(root); + this.labels = new Resource$Users$Labels(root); + this.messages = new Resource$Users$Messages(root); + this.settings = new Resource$Users$Settings(root); + this.threads = new Resource$Users$Threads(root); + } + getRoot() { + return this.root; + } + getProfile(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/gmail/v1/users/{userId}/profile') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userId'], + pathParams: ['userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + stop(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/gmail/v1/users/{userId}/stop') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['userId'], + pathParams: ['userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + watch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/gmail/v1/users/{userId}/watch') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['userId'], + pathParams: ['userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + gmail_v1.Resource$Users = Resource$Users; + class Resource$Users$Drafts { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/gmail/v1/users/{userId}/drafts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + mediaUrl: (rootUrl + '/upload/gmail/v1/users/{userId}/drafts') + .replace(/([^:]\/)\/+/g, '$1'), + requiredParams: ['userId'], + pathParams: ['userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/gmail/v1/users/{userId}/drafts/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['userId', 'id'], + pathParams: ['id', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/gmail/v1/users/{userId}/drafts/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userId', 'id'], + pathParams: ['id', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/gmail/v1/users/{userId}/drafts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userId'], + pathParams: ['userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + send(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/gmail/v1/users/{userId}/drafts/send') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + mediaUrl: (rootUrl + '/upload/gmail/v1/users/{userId}/drafts/send') + .replace(/([^:]\/)\/+/g, '$1'), + requiredParams: ['userId'], + pathParams: ['userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/gmail/v1/users/{userId}/drafts/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + mediaUrl: (rootUrl + '/upload/gmail/v1/users/{userId}/drafts/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + requiredParams: ['userId', 'id'], + pathParams: ['id', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + gmail_v1.Resource$Users$Drafts = Resource$Users$Drafts; + class Resource$Users$History { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/gmail/v1/users/{userId}/history') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userId'], + pathParams: ['userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + gmail_v1.Resource$Users$History = Resource$Users$History; + class Resource$Users$Labels { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/gmail/v1/users/{userId}/labels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['userId'], + pathParams: ['userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/gmail/v1/users/{userId}/labels/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['userId', 'id'], + pathParams: ['id', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/gmail/v1/users/{userId}/labels/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userId', 'id'], + pathParams: ['id', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/gmail/v1/users/{userId}/labels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userId'], + pathParams: ['userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/gmail/v1/users/{userId}/labels/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['userId', 'id'], + pathParams: ['id', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/gmail/v1/users/{userId}/labels/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['userId', 'id'], + pathParams: ['id', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + gmail_v1.Resource$Users$Labels = Resource$Users$Labels; + class Resource$Users$Messages { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.attachments = new Resource$Users$Messages$Attachments(root); + } + getRoot() { + return this.root; + } + batchDelete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/gmail/v1/users/{userId}/messages/batchDelete') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['userId'], + pathParams: ['userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + batchModify(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/gmail/v1/users/{userId}/messages/batchModify') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['userId'], + pathParams: ['userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/gmail/v1/users/{userId}/messages/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['userId', 'id'], + pathParams: ['id', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/gmail/v1/users/{userId}/messages/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userId', 'id'], + pathParams: ['id', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + import(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { options: Object.assign({ url: (rootUrl + '/gmail/v1/users/{userId}/messages/import').replace(/([^:]\/)\/+/g, '$1'), method: 'POST' }, options), params, mediaUrl: (rootUrl + '/upload/gmail/v1/users/{userId}/messages/import').replace(/([^:]\/)\/+/g, '$1'), requiredParams: ['userId'], pathParams: ['userId'], context: this.getRoot() }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/gmail/v1/users/{userId}/messages') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + mediaUrl: (rootUrl + '/upload/gmail/v1/users/{userId}/messages') + .replace(/([^:]\/)\/+/g, '$1'), + requiredParams: ['userId'], + pathParams: ['userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/gmail/v1/users/{userId}/messages') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userId'], + pathParams: ['userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + modify(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/gmail/v1/users/{userId}/messages/{id}/modify') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['userId', 'id'], + pathParams: ['id', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + send(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/gmail/v1/users/{userId}/messages/send') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + mediaUrl: (rootUrl + '/upload/gmail/v1/users/{userId}/messages/send') + .replace(/([^:]\/)\/+/g, '$1'), + requiredParams: ['userId'], + pathParams: ['userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + trash(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/gmail/v1/users/{userId}/messages/{id}/trash') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['userId', 'id'], + pathParams: ['id', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + untrash(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/gmail/v1/users/{userId}/messages/{id}/untrash') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['userId', 'id'], + pathParams: ['id', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + gmail_v1.Resource$Users$Messages = Resource$Users$Messages; + class Resource$Users$Messages$Attachments { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/gmail/v1/users/{userId}/messages/{messageId}/attachments/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userId', 'messageId', 'id'], + pathParams: ['id', 'messageId', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + gmail_v1.Resource$Users$Messages$Attachments = Resource$Users$Messages$Attachments; + class Resource$Users$Settings { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.delegates = new Resource$Users$Settings$Delegates(root); + this.filters = new Resource$Users$Settings$Filters(root); + this.forwardingAddresses = + new Resource$Users$Settings$Forwardingaddresses(root); + this.sendAs = new Resource$Users$Settings$Sendas(root); + } + getRoot() { + return this.root; + } + getAutoForwarding(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/gmail/v1/users/{userId}/settings/autoForwarding') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userId'], + pathParams: ['userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getImap(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/gmail/v1/users/{userId}/settings/imap') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userId'], + pathParams: ['userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getPop(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/gmail/v1/users/{userId}/settings/pop') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userId'], + pathParams: ['userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getVacation(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/gmail/v1/users/{userId}/settings/vacation') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userId'], + pathParams: ['userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + updateAutoForwarding(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/gmail/v1/users/{userId}/settings/autoForwarding') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['userId'], + pathParams: ['userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + updateImap(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/gmail/v1/users/{userId}/settings/imap') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['userId'], + pathParams: ['userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + updatePop(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/gmail/v1/users/{userId}/settings/pop') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['userId'], + pathParams: ['userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + updateVacation(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/gmail/v1/users/{userId}/settings/vacation') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['userId'], + pathParams: ['userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + gmail_v1.Resource$Users$Settings = Resource$Users$Settings; + class Resource$Users$Settings$Delegates { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/gmail/v1/users/{userId}/settings/delegates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['userId'], + pathParams: ['userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/gmail/v1/users/{userId}/settings/delegates/{delegateEmail}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['userId', 'delegateEmail'], + pathParams: ['delegateEmail', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/gmail/v1/users/{userId}/settings/delegates/{delegateEmail}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userId', 'delegateEmail'], + pathParams: ['delegateEmail', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/gmail/v1/users/{userId}/settings/delegates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userId'], + pathParams: ['userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + gmail_v1.Resource$Users$Settings$Delegates = Resource$Users$Settings$Delegates; + class Resource$Users$Settings$Filters { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/gmail/v1/users/{userId}/settings/filters') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['userId'], + pathParams: ['userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/gmail/v1/users/{userId}/settings/filters/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['userId', 'id'], + pathParams: ['id', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/gmail/v1/users/{userId}/settings/filters/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userId', 'id'], + pathParams: ['id', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/gmail/v1/users/{userId}/settings/filters') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userId'], + pathParams: ['userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + gmail_v1.Resource$Users$Settings$Filters = Resource$Users$Settings$Filters; + class Resource$Users$Settings$Forwardingaddresses { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/gmail/v1/users/{userId}/settings/forwardingAddresses') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['userId'], + pathParams: ['userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/gmail/v1/users/{userId}/settings/forwardingAddresses/{forwardingEmail}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['userId', 'forwardingEmail'], + pathParams: ['forwardingEmail', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/gmail/v1/users/{userId}/settings/forwardingAddresses/{forwardingEmail}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userId', 'forwardingEmail'], + pathParams: ['forwardingEmail', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/gmail/v1/users/{userId}/settings/forwardingAddresses') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userId'], + pathParams: ['userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + gmail_v1.Resource$Users$Settings$Forwardingaddresses = Resource$Users$Settings$Forwardingaddresses; + class Resource$Users$Settings$Sendas { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.smimeInfo = new Resource$Users$Settings$Sendas$Smimeinfo(root); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/gmail/v1/users/{userId}/settings/sendAs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['userId'], + pathParams: ['userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['userId', 'sendAsEmail'], + pathParams: ['sendAsEmail', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userId', 'sendAsEmail'], + pathParams: ['sendAsEmail', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/gmail/v1/users/{userId}/settings/sendAs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userId'], + pathParams: ['userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['userId', 'sendAsEmail'], + pathParams: ['sendAsEmail', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['userId', 'sendAsEmail'], + pathParams: ['sendAsEmail', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + verify(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}/verify') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['userId', 'sendAsEmail'], + pathParams: ['sendAsEmail', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + gmail_v1.Resource$Users$Settings$Sendas = Resource$Users$Settings$Sendas; + class Resource$Users$Settings$Sendas$Smimeinfo { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['userId', 'sendAsEmail', 'id'], + pathParams: ['id', 'sendAsEmail', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userId', 'sendAsEmail', 'id'], + pathParams: ['id', 'sendAsEmail', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['userId', 'sendAsEmail'], + pathParams: ['sendAsEmail', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userId', 'sendAsEmail'], + pathParams: ['sendAsEmail', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setDefault(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo/{id}/setDefault') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['userId', 'sendAsEmail', 'id'], + pathParams: ['id', 'sendAsEmail', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + gmail_v1.Resource$Users$Settings$Sendas$Smimeinfo = Resource$Users$Settings$Sendas$Smimeinfo; + class Resource$Users$Threads { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/gmail/v1/users/{userId}/threads/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['userId', 'id'], + pathParams: ['id', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/gmail/v1/users/{userId}/threads/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userId', 'id'], + pathParams: ['id', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/gmail/v1/users/{userId}/threads') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userId'], + pathParams: ['userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + modify(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/gmail/v1/users/{userId}/threads/{id}/modify') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['userId', 'id'], + pathParams: ['id', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + trash(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/gmail/v1/users/{userId}/threads/{id}/trash') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['userId', 'id'], + pathParams: ['id', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + untrash(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/gmail/v1/users/{userId}/threads/{id}/untrash') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['userId', 'id'], + pathParams: ['id', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + gmail_v1.Resource$Users$Threads = Resource$Users$Threads; +})(gmail_v1 = exports.gmail_v1 || (exports.gmail_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/gmail/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/gmail/v1.js.map new file mode 100644 index 00000000..6cb7a701 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/gmail/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/gmail/v1.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAIH,yDAA2H;AAE3H,yBAAyB;AACzB,6BAA6B;AAC7B,gCAAgC;AAChC,+BAA+B;AAC/B,+BAA+B;AAE/B,IAAiB,QAAQ,CA0xNxB;AA1xND,WAAiB,QAAQ;IAKvB;;;;;;;;;;;;;;OAcG;IACH,MAAa,KAAK;QAOhB,YAAY,OAAsB,EAAE,MAA2B;YAJ/D,SAAI,GAAG,IAAI,CAAC;YAKV,IAAI,CAAC,QAAQ,GAAG,OAAO,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAExB,IAAI,CAAC,KAAK,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;KACF;IAlBY,cAAK,QAkBjB,CAAA;IAi2BD,MAAa,cAAc;QAQzB,YAAY,IAAW;YACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC,MAAM,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,OAAO,GAAG,IAAI,sBAAsB,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,CAAC,MAAM,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,QAAQ,GAAG,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,CAAC,QAAQ,GAAG,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,CAAC,OAAO,GAAG,IAAI,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAClD,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA0BD,UAAU,CACN,gBACoC,EACpC,iBAAsE,EACtE,QAA+C;YAEjD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAqC,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsC,CAAC;gBAChD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,kCAAkC,CAAC;yBACzC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxD;iBAAM;gBACL,OAAO,oCAAgB,CAAiB,UAAU,CAAC,CAAC;aACrD;QACH,CAAC;QAyBD,IAAI,CACA,gBAC0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAA+B,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgC,CAAC;gBAC1C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,+BAA+B,CAAC;yBACtC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;QA2BD,KAAK,CACD,gBAC0C,EAC1C,iBAC0C,EAC1C,QAAqD;YAEvD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAgC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiC,CAAC;gBAC3C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,gCAAgC,CAAC;yBACvC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAuB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9D;iBAAM;gBACL,OAAO,oCAAgB,CAAuB,UAAU,CAAC,CAAC;aAC3D;QACH,CAAC;KACF;IAzNY,uBAAc,iBAyN1B,CAAA;IA4CD,MAAa,qBAAqB;QAEhC,YAAY,IAAW;YACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA8BD,MAAM,CACF,gBACkC,EAClC,iBAAoE,EACpE,QAA6C;YAE/C,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAwC,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAyC,CAAC;gBACnD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,iCAAiC,CAAC;yBACxC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,QAAQ,EAAE,CAAC,OAAO,GAAG,wCAAwC,CAAC;qBAC/C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;gBAC5C,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAe,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtD;iBAAM;gBACL,OAAO,oCAAgB,CAAe,UAAU,CAAC,CAAC;aACnD;QACH,CAAC;QA4BD,MAAM,CACF,gBAC0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAwC,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAyC,CAAC;gBACnD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,sCAAsC,CAAC;yBAC7C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;gBAChC,UAAU,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;gBAC5B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;QAyBD,GAAG,CAAC,gBACkC,EAClC,iBAAoE,EACpE,QAA6C;YAE/C,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAqC,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsC,CAAC;gBAChD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,sCAAsC,CAAC;yBAC7C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;gBAChC,UAAU,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;gBAC5B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAe,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtD;iBAAM;gBACL,OAAO,oCAAgB,CAAe,UAAU,CAAC,CAAC;aACnD;QACH,CAAC;QA6BD,IAAI,CACA,gBAC+C,EAC/C,iBAC+C,EAC/C,QAA0D;YAE5D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAsC,CAAC;YAClE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAuC,CAAC;gBACjD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,iCAAiC,CAAC;yBACxC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA4B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACnE;iBAAM;gBACL,OAAO,oCAAgB,CAA4B,UAAU,CAAC,CAAC;aAChE;QACH,CAAC;QA8BD,IAAI,CACA,gBACoC,EACpC,iBAAsE,EACtE,QAA+C;YAEjD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAsC,CAAC;YAClE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAuC,CAAC;gBACjD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,sCAAsC,CAAC;yBAC7C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,QAAQ,EAAE,CAAC,OAAO,GAAG,6CAA6C,CAAC;qBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;gBAC5C,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxD;iBAAM;gBACL,OAAO,oCAAgB,CAAiB,UAAU,CAAC,CAAC;aACrD;QACH,CAAC;QA+BD,MAAM,CACF,gBACkC,EAClC,iBAAoE,EACpE,QAA6C;YAE/C,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAwC,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAyC,CAAC;gBACnD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,sCAAsC,CAAC;yBAC7C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,QAAQ,EAAE,CAAC,OAAO,GAAG,6CAA6C,CAAC;qBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;gBAC5C,cAAc,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;gBAChC,UAAU,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;gBAC5B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAe,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtD;iBAAM;gBACL,OAAO,oCAAgB,CAAe,UAAU,CAAC,CAAC;aACnD;QACH,CAAC;KACF;IA3aY,8BAAqB,wBA2ajC,CAAA;IA0KD,MAAa,sBAAsB;QAEjC,YAAY,IAAW;YACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA+BD,IAAI,CACA,gBACgD,EAChD,iBACgD,EAChD,QAA2D;YAE7D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAuC,CAAC;YACnE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwC,CAAC;gBAClD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,kCAAkC,CAAC;yBACzC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA6B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACpE;iBAAM;gBACL,OAAO,oCAAgB,CAA6B,UAAU,CAAC,CAAC;aACjE;QACH,CAAC;KACF;IAlFY,+BAAsB,yBAkFlC,CAAA;IA8CD,MAAa,qBAAqB;QAEhC,YAAY,IAAW;YACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA2BD,MAAM,CACF,gBACkC,EAClC,iBAAoE,EACpE,QAA6C;YAE/C,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAwC,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAyC,CAAC;gBACnD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,iCAAiC,CAAC;yBACxC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAe,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtD;iBAAM;gBACL,OAAO,oCAAgB,CAAe,UAAU,CAAC,CAAC;aACnD;QACH,CAAC;QA4BD,MAAM,CACF,gBAC0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAwC,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAyC,CAAC;gBACnD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,sCAAsC,CAAC;yBAC7C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;gBAChC,UAAU,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;gBAC5B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;QAwBD,GAAG,CAAC,gBACkC,EAClC,iBAAoE,EACpE,QAA6C;YAE/C,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAqC,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsC,CAAC;gBAChD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,sCAAsC,CAAC;yBAC7C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;gBAChC,UAAU,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;gBAC5B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAe,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtD;iBAAM;gBACL,OAAO,oCAAgB,CAAe,UAAU,CAAC,CAAC;aACnD;QACH,CAAC;QAyBD,IAAI,CACA,gBAC+C,EAC/C,iBAC+C,EAC/C,QAA0D;YAE5D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAsC,CAAC;YAClE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAuC,CAAC;gBACjD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,iCAAiC,CAAC;yBACxC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA4B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACnE;iBAAM;gBACL,OAAO,oCAAgB,CAA4B,UAAU,CAAC,CAAC;aAChE;QACH,CAAC;QA2BD,KAAK,CACD,gBACkC,EAClC,iBAAoE,EACpE,QAA6C;YAE/C,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAuC,CAAC;YACnE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwC,CAAC;gBAClD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,sCAAsC,CAAC;yBAC7C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;gBAChC,UAAU,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;gBAC5B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAe,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtD;iBAAM;gBACL,OAAO,oCAAgB,CAAe,UAAU,CAAC,CAAC;aACnD;QACH,CAAC;QA4BD,MAAM,CACF,gBACkC,EAClC,iBAAoE,EACpE,QAA6C;YAE/C,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAwC,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAyC,CAAC;gBACnD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,sCAAsC,CAAC;yBAC7C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;gBAChC,UAAU,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;gBAC5B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAe,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtD;iBAAM;gBACL,OAAO,oCAAgB,CAAe,UAAU,CAAC,CAAC;aACnD;QACH,CAAC;KACF;IAvZY,8BAAqB,wBAuZjC,CAAA;IA2GD,MAAa,uBAAuB;QAGlC,YAAY,IAAW;YACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC,WAAW,GAAG,IAAI,mCAAmC,CAAC,IAAI,CAAC,CAAC;QACnE,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA4BD,WAAW,CACP,gBAC0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACU,CAAC;YAC/C,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgD,CAAC;gBAC1D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,+CAA+C,CAAC;yBACtD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;QA2BD,WAAW,CACP,gBAC0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACU,CAAC;YAC/C,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgD,CAAC;gBAC1D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,+CAA+C,CAAC;yBACtD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;QA4BD,MAAM,CACF,gBAC0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,wCAAwC,CAAC;yBAC/C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;gBAChC,UAAU,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;gBAC5B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;QA0BD,GAAG,CAAC,gBACoC,EACpC,iBAAsE,EACtE,QAA+C;YAEjD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAuC,CAAC;YACnE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwC,CAAC;gBAClD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,wCAAwC,CAAC;yBAC/C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;gBAChC,UAAU,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;gBAC5B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxD;iBAAM;gBACL,OAAO,oCAAgB,CAAiB,UAAU,CAAC,CAAC;aACrD;QACH,CAAC;QA6BL,MAAM,CAAC,gBAA6F,EAAE,iBAAsE,EAAE,QAA+C;YAAsC,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YAAC,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAErI,IAAG,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC9S,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACuP;YAED,IAAG,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC/S,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACuP;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YAAC,MAAM,UAAU,GAAG,EAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAC,GAAG,EAAE,CAAC,OAAO,GAAG,0CAA0C,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAC,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,OAAO,GAAG,iDAAiD,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,EAAE,cAAc,EAAE,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EAAC,CAAC;YAAC,IAAG,QAAQ,EAAE;gBACjrB,oCAAgB,CAAiB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC6M;iBAAM;gBAC1Q,OAAO,oCAAgB,CAAiB,UAAU,CAAC,CAAC;aACgN;QAAA,CAAC;QA8BrQ,MAAM,CACF,gBACoC,EACpC,iBAAsE,EACtE,QAA+C;YAEjD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,mCAAmC,CAAC;yBAC1C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,QAAQ,EAAE,CAAC,OAAO,GAAG,0CAA0C,CAAC;qBACjD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;gBAC5C,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxD;iBAAM;gBACL,OAAO,oCAAgB,CAAiB,UAAU,CAAC,CAAC;aACrD;QACH,CAAC;QA+BD,IAAI,CACA,gBACiD,EACjD,iBACiD,EACjD,QAA4D;YAE9D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAwC,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAyC,CAAC;gBACnD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,mCAAmC,CAAC;yBAC1C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA8B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrE;iBAAM;gBACL,OAAO,oCAAgB,CAA8B,UAAU,CAAC,CAAC;aAClE;QACH,CAAC;QA4BD,MAAM,CACF,gBACoC,EACpC,iBAAsE,EACtE,QAA+C;YAEjD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,+CAA+C,CAAC;yBACtD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;gBAChC,UAAU,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;gBAC5B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxD;iBAAM;gBACL,OAAO,oCAAgB,CAAiB,UAAU,CAAC,CAAC;aACrD;QACH,CAAC;QA8BD,IAAI,CACA,gBACoC,EACpC,iBAAsE,EACtE,QAA+C;YAEjD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAwC,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAyC,CAAC;gBACnD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,wCAAwC,CAAC;yBAC/C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,QAAQ,EAAE,CAAC,OAAO,GAAG,+CAA+C,CAAC;qBACtD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;gBAC5C,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxD;iBAAM;gBACL,OAAO,oCAAgB,CAAiB,UAAU,CAAC,CAAC;aACrD;QACH,CAAC;QA2BD,KAAK,CACD,gBACoC,EACpC,iBAAsE,EACtE,QAA+C;YAEjD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAyC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0C,CAAC;gBACpD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,8CAA8C,CAAC;yBACrD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;gBAChC,UAAU,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;gBAC5B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxD;iBAAM;gBACL,OAAO,oCAAgB,CAAiB,UAAU,CAAC,CAAC;aACrD;QACH,CAAC;QA2BD,OAAO,CACH,gBACoC,EACpC,iBAAsE,EACtE,QAA+C;YAEjD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA2C,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4C,CAAC;gBACtD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,gDAAgD,CAAC;yBACvD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;gBAChC,UAAU,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;gBAC5B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxD;iBAAM;gBACL,OAAO,oCAAgB,CAAiB,UAAU,CAAC,CAAC;aACrD;QACH,CAAC;KACF;IAruBY,gCAAuB,0BAquBnC,CAAA;IAmSD,MAAa,mCAAmC;QAE9C,YAAY,IAAW;YACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAyBD,GAAG,CAAC,gBAC4C,EAC5C,iBAC4C,EAC5C,QAAuD;YAEzD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACc,CAAC;YACnD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoD,CAAC;gBAC9D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,gEAAgE,CAAC;yBAC7D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC;gBAC7C,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC;gBACzC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAyB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAChE;iBAAM;gBACL,OAAO,oCAAgB,CAAyB,UAAU,CAAC,CAAC;aAC7D;QACH,CAAC;KACF;IA7EY,4CAAmC,sCA6E/C,CAAA;IAyBD,MAAa,uBAAuB;QAMlC,YAAY,IAAW;YACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC,SAAS,GAAG,IAAI,iCAAiC,CAAC,IAAI,CAAC,CAAC;YAC7D,IAAI,CAAC,OAAO,GAAG,IAAI,+BAA+B,CAAC,IAAI,CAAC,CAAC;YACzD,IAAI,CAAC,mBAAmB;gBACpB,IAAI,2CAA2C,CAAC,IAAI,CAAC,CAAC;YAC1D,IAAI,CAAC,MAAM,GAAG,IAAI,8BAA8B,CAAC,IAAI,CAAC,CAAC;QACzD,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA2BD,iBAAiB,CACb,gBAC2C,EAC3C,iBAC2C,EAC3C,QAAsD;YAExD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACgB,CAAC;YACrD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsD,CAAC;gBAChE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO,GAAG,kDAAkD,CAAC;yBACzD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAwB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC/D;iBAAM;gBACL,OAAO,oCAAgB,CAAwB,UAAU,CAAC,CAAC;aAC5D;QACH,CAAC;QA0BD,OAAO,CACH,gBACyC,EACzC,iBACyC,EACzC,QAAoD;YAEtD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA2C,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4C,CAAC;gBACtD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,wCAAwC,CAAC;yBAC/C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAsB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC7D;iBAAM;gBACL,OAAO,oCAAgB,CAAsB,UAAU,CAAC,CAAC;aAC1D;QACH,CAAC;QA0BD,MAAM,CACF,gBACwC,EACxC,iBACwC,EACxC,QAAmD;YAErD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,uCAAuC,CAAC;yBAC9C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAqB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC5D;iBAAM;gBACL,OAAO,oCAAgB,CAAqB,UAAU,CAAC,CAAC;aACzD;QACH,CAAC;QA0BD,WAAW,CACP,gBAC6C,EAC7C,iBAC6C,EAC7C,QAAwD;YAE1D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACU,CAAC;YAC/C,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgD,CAAC;gBAC1D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,4CAA4C,CAAC;yBACnD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA0B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACjE;iBAAM;gBACL,OAAO,oCAAgB,CAA0B,UAAU,CAAC,CAAC;aAC9D;QACH,CAAC;QA+BD,oBAAoB,CAChB,gBAC2C,EAC3C,iBAC2C,EAC3C,QAAsD;YAExD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACmB,CAAC;YACxD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAyD,CAAC;gBACnE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO,GAAG,kDAAkD,CAAC;yBACzD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAwB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC/D;iBAAM;gBACL,OAAO,oCAAgB,CAAwB,UAAU,CAAC,CAAC;aAC5D;QACH,CAAC;QA2BD,UAAU,CACN,gBACyC,EACzC,iBACyC,EACzC,QAAoD;YAEtD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA8C,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA+C,CAAC;gBACzD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,wCAAwC,CAAC;yBAC/C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAsB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC7D;iBAAM;gBACL,OAAO,oCAAgB,CAAsB,UAAU,CAAC,CAAC;aAC1D;QACH,CAAC;QA2BD,SAAS,CACL,gBACwC,EACxC,iBACwC,EACxC,QAAmD;YAErD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA6C,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8C,CAAC;gBACxD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,uCAAuC,CAAC;yBAC9C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAqB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC5D;iBAAM;gBACL,OAAO,oCAAgB,CAAqB,UAAU,CAAC,CAAC;aACzD;QACH,CAAC;QA4BD,cAAc,CACV,gBAC6C,EAC7C,iBAC6C,EAC7C,QAAwD;YAE1D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACa,CAAC;YAClD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmD,CAAC;gBAC7D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,4CAA4C,CAAC;yBACnD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA0B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACjE;iBAAM;gBACL,OAAO,oCAAgB,CAA0B,UAAU,CAAC,CAAC;aAC9D;QACH,CAAC;KACF;IAvjBY,gCAAuB,0BAujBnC,CAAA;IAuHD,MAAa,iCAAiC;QAE5C,YAAY,IAAW;YACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAqCD,MAAM,CACF,gBACqC,EACrC,iBAAuE,EACvE,QAAgD;YAElD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACe,CAAC;YACpD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqD,CAAC;gBAC/D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,6CAA6C,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzD;iBAAM;gBACL,OAAO,oCAAgB,CAAkB,UAAU,CAAC,CAAC;aACtD;QACH,CAAC;QA+BD,MAAM,CACF,gBAC0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACe,CAAC;YACpD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqD,CAAC;gBAC/D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,6DAA6D,CAAC;yBAC1D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC;gBAC3C,UAAU,EAAE,CAAC,eAAe,EAAE,QAAQ,CAAC;gBACvC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;QA2BD,GAAG,CAAC,gBACqC,EACrC,iBAAuE,EACvE,QAAgD;YAElD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACY,CAAC;YACjD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkD,CAAC;gBAC5D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,6DAA6D,CAAC;yBAC1D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC;gBAC3C,UAAU,EAAE,CAAC,eAAe,EAAE,QAAQ,CAAC;gBACvC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzD;iBAAM;gBACL,OAAO,oCAAgB,CAAkB,UAAU,CAAC,CAAC;aACtD;QACH,CAAC;QA6BD,IAAI,CACA,gBACkD,EAClD,iBACkD,EAClD,QAA6D;YAE/D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACa,CAAC;YAClD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmD,CAAC;gBAC7D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,6CAA6C,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA+B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtE;iBAAM;gBACL,OAAO,oCAAgB,CAA+B,UAAU,CAAC,CAAC;aACnE;QACH,CAAC;KACF;IAzSY,0CAAiC,oCAyS7C,CAAA;IAkED,MAAa,+BAA+B;QAE1C,YAAY,IAAW;YACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA2BD,MAAM,CACF,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACa,CAAC;YAClD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmD,CAAC;gBAC7D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,2CAA2C,CAAC;yBAClD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;QA2BD,MAAM,CACF,gBAC0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACa,CAAC;YAClD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmD,CAAC;gBAC7D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,gDAAgD,CAAC;yBACvD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;gBAChC,UAAU,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;gBAC5B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;QAwBD,GAAG,CAAC,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACU,CAAC;YAC/C,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgD,CAAC;gBAC1D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,gDAAgD,CAAC;yBACvD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;gBAChC,UAAU,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;gBAC5B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;QA0BD,IAAI,CACA,gBACgD,EAChD,iBACgD,EAChD,QAA2D;YAE7D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACW,CAAC;YAChD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiD,CAAC;gBAC3D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,2CAA2C,CAAC;yBAClD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA6B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACpE;iBAAM;gBACL,OAAO,oCAAgB,CAA6B,UAAU,CAAC,CAAC;aACjE;QACH,CAAC;KACF;IAjRY,wCAA+B,kCAiR3C,CAAA;IAiED,MAAa,2CAA2C;QAEtD,YAAY,IAAW;YACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAgCD,MAAM,CACF,gBAE8C,EAC9C,iBAC8C,EAC9C,QAAyD;YAE3D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACyB,CAAC;YAC9D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACoD,CAAC;gBAC9D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,uDAAuD,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA2B,UAAU,EAAE,QAAQ,CAAC,CAAC;aAClE;iBAAM;gBACL,OAAO,oCAAgB,CAA2B,UAAU,CAAC,CAAC;aAC/D;QACH,CAAC;QA8BD,MAAM,CACF,gBAE0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACyB,CAAC;YAC9D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACoD,CAAC;gBAC9D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,yEAAyE,CAAC;yBACtE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,iBAAiB,CAAC;gBAC7C,UAAU,EAAE,CAAC,iBAAiB,EAAE,QAAQ,CAAC;gBACzC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;QAwBD,GAAG,CAAC,gBAE8C,EAC9C,iBAC8C,EAC9C,QAAyD;YAE3D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACsB,CAAC;YAC3D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4D,CAAC;gBACtE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,yEAAyE,CAAC;yBACtE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,iBAAiB,CAAC;gBAC7C,UAAU,EAAE,CAAC,iBAAiB,EAAE,QAAQ,CAAC;gBACzC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA2B,UAAU,EAAE,QAAQ,CAAC,CAAC;aAClE;iBAAM;gBACL,OAAO,oCAAgB,CAA2B,UAAU,CAAC,CAAC;aAC/D;QACH,CAAC;QAgCD,IAAI,CACA,gBAE4D,EAC5D,iBAC4D,EAC5D,QACgE;YAElE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACuB,CAAC;YAC5D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA6D,CAAC;gBACvE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,uDAAuD,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;KACF;IAhTY,oDAA2C,8CAgTvD,CAAA;IAiED,MAAa,8BAA8B;QAGzC,YAAY,IAAW;YACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC,SAAS,GAAG,IAAI,wCAAwC,CAAC,IAAI,CAAC,CAAC;QACtE,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAmCD,MAAM,CACF,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACY,CAAC;YACjD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkD,CAAC;gBAC5D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,0CAA0C,CAAC;yBACjD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;QA6BD,MAAM,CACF,gBAC0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACY,CAAC;YACjD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkD,CAAC;gBAC5D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,wDAAwD,CAAC;yBACrD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC;gBACzC,UAAU,EAAE,CAAC,aAAa,EAAE,QAAQ,CAAC;gBACrC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;QAyBD,GAAG,CAAC,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA8C,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA+C,CAAC;gBACzD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,wDAAwD,CAAC;yBACrD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC;gBACzC,UAAU,EAAE,CAAC,aAAa,EAAE,QAAQ,CAAC;gBACrC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;QA4BD,IAAI,CACA,gBAC+C,EAC/C,iBAC+C,EAC/C,QAA0D;YAE5D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACU,CAAC;YAC/C,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgD,CAAC;gBAC1D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,0CAA0C,CAAC;yBACjD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA4B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACnE;iBAAM;gBACL,OAAO,oCAAgB,CAA4B,UAAU,CAAC,CAAC;aAChE;QACH,CAAC;QAgCD,KAAK,CACD,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACW,CAAC;YAChD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiD,CAAC;gBAC3D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,wDAAwD,CAAC;yBACrD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC;gBACzC,UAAU,EAAE,CAAC,aAAa,EAAE,QAAQ,CAAC;gBACrC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;QA+BD,MAAM,CACF,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACY,CAAC;YACjD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkD,CAAC;gBAC5D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,wDAAwD,CAAC;yBACrD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC;gBACzC,UAAU,EAAE,CAAC,aAAa,EAAE,QAAQ,CAAC;gBACrC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;QA8BD,MAAM,CACF,gBAC0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACY,CAAC;YACjD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkD,CAAC;gBAC5D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,+DAA+D,CAAC;yBAC5D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC;gBACzC,UAAU,EAAE,CAAC,aAAa,EAAE,QAAQ,CAAC;gBACrC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;KACF;IA1fY,uCAA8B,iCA0f1C,CAAA;IA0HD,MAAa,wCAAwC;QAEnD,YAAY,IAAW;YACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA6BD,MAAM,CACF,gBAE0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACsB,CAAC;YAC3D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4D,CAAC;gBACtE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,uEAAuE,CAAC;yBACpE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,IAAI,CAAC;gBAC/C,UAAU,EAAE,CAAC,IAAI,EAAE,aAAa,EAAE,QAAQ,CAAC;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;QAyBD,GAAG,CAAC,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACmB,CAAC;YACxD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAyD,CAAC;gBACnE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,uEAAuE,CAAC;yBACpE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,IAAI,CAAC;gBAC/C,UAAU,EAAE,CAAC,IAAI,EAAE,aAAa,EAAE,QAAQ,CAAC;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA6BD,MAAM,CACF,gBAEsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACsB,CAAC;YAC3D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4D,CAAC;gBACtE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kEAAkE,CAAC;yBAC/D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC;gBACzC,UAAU,EAAE,CAAC,aAAa,EAAE,QAAQ,CAAC;gBACrC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA4BD,IAAI,CACA,gBACkD,EAClD,iBACkD,EAClD,QAA6D;YAE/D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACoB,CAAC;YACzD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0D,CAAC;gBACpE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kEAAkE,CAAC;yBAC/D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC;gBACzC,UAAU,EAAE,CAAC,aAAa,EAAE,QAAQ,CAAC;gBACrC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA+B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtE;iBAAM;gBACL,OAAO,oCAAgB,CAA+B,UAAU,CAAC,CAAC;aACnE;QACH,CAAC;QA4BD,UAAU,CACN,gBAE0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAC0B,CAAC;YAC/D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EACqD,CAAC;gBAC/D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kFAAkF,CAAC;yBAC/E,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,IAAI,CAAC;gBAC/C,UAAU,EAAE,CAAC,IAAI,EAAE,aAAa,EAAE,QAAQ,CAAC;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;KACF;IA3WY,iDAAwC,2CA2WpD,CAAA;IA2GD,MAAa,sBAAsB;QAEjC,YAAY,IAAW;YACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA4BD,MAAM,CACF,gBAC0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAyC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0C,CAAC;gBACpD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,uCAAuC,CAAC;yBAC9C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;gBAChC,UAAU,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;gBAC5B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;QA0BD,GAAG,CAAC,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAsC,CAAC;YAClE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAuC,CAAC;gBACjD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,uCAAuC,CAAC;yBAC9C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;gBAChC,UAAU,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;gBAC5B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;QA8BD,IAAI,CACA,gBACgD,EAChD,iBACgD,EAChD,QAA2D;YAE7D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAuC,CAAC;YACnE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwC,CAAC;gBAClD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,kCAAkC,CAAC;yBACzC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA6B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACpE;iBAAM;gBACL,OAAO,oCAAgB,CAA6B,UAAU,CAAC,CAAC;aACjE;QACH,CAAC;QA6BD,MAAM,CACF,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAyC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0C,CAAC;gBACpD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,8CAA8C,CAAC;yBACrD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;gBAChC,UAAU,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;gBAC5B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;QA2BD,KAAK,CACD,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAwC,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAyC,CAAC;gBACnD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,6CAA6C,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;gBAChC,UAAU,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;gBAC5B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;QA2BD,OAAO,CACH,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,+CAA+C,CAAC;yBACtD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;gBAChC,UAAU,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;gBAC5B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;KACF;IAhaY,+BAAsB,yBAgalC,CAAA;AAmIH,CAAC,EA1xNgB,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QA0xNxB"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/groupsmigration/README.md b/express-server/node_modules/googleapis/build/src/apis/groupsmigration/README.md new file mode 100644 index 00000000..e75ccaf1 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/groupsmigration/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/groupsmigration + +> Groups Migration Api. + +## Installation + +```sh +$ npm install @google/groupsmigration +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/groupsmigration/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/groupsmigration/index.d.ts new file mode 100644 index 00000000..b2904716 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/groupsmigration/index.d.ts @@ -0,0 +1,6 @@ +import { groupsmigration_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof groupsmigration_v1.Groupsmigration; +}; +export declare function groupsmigration(version: 'v1'): groupsmigration_v1.Groupsmigration; +export declare function groupsmigration(options: groupsmigration_v1.Options): groupsmigration_v1.Groupsmigration; diff --git a/express-server/node_modules/googleapis/build/src/apis/groupsmigration/index.js b/express-server/node_modules/googleapis/build/src/apis/groupsmigration/index.js new file mode 100644 index 00000000..1fda26ed --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/groupsmigration/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.groupsmigration_v1.Groupsmigration, +}; +function groupsmigration(versionOrOptions) { + return googleapis_common_1.getAPI('groupsmigration', versionOrOptions, exports.VERSIONS, this); +} +exports.groupsmigration = groupsmigration; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/groupsmigration/index.js.map b/express-server/node_modules/googleapis/build/src/apis/groupsmigration/index.js.map new file mode 100644 index 00000000..de4896a9 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/groupsmigration/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/groupsmigration/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAwC;AAE3B,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,uBAAkB,CAAC,eAAe;CACzC,CAAC;AAMF,SAAgB,eAAe,CAE3B,gBAAiD;IACnD,OAAO,0BAAM,CAAI,iBAAiB,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACxE,CAAC;AAJD,0CAIC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/groupsmigration/package.json b/express-server/node_modules/googleapis/build/src/apis/groupsmigration/package.json new file mode 100644 index 00000000..943b2cf6 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/groupsmigration/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/groupsmigration", + "version": "0.1.0", + "description": "groupsmigration", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/groupsmigration/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/groupsmigration/v1.d.ts new file mode 100644 index 00000000..db59acb9 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/groupsmigration/v1.d.ts @@ -0,0 +1,106 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace groupsmigration_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Groups Migration API + * + * Groups Migration Api. + * + * @example + * const {google} = require('googleapis'); + * const groupsmigration = google.groupsmigration('v1'); + * + * @namespace groupsmigration + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Groupsmigration + */ + class Groupsmigration { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + archive: Resource$Archive; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * JSON response template for groups migration API. + */ + interface Schema$Groups { + /** + * The kind of insert resource this is. + */ + kind?: string; + /** + * The status of the insert request. + */ + responseCode?: string; + } + class Resource$Archive { + root: Groupsmigration; + constructor(root: Groupsmigration); + getRoot(): Groupsmigration; + /** + * groupsmigration.archive.insert + * @desc Inserts a new mail into the archive of the Google group. + * @alias groupsmigration.archive.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.groupId The group ID + * @param {object} params.media Media object + * @param {string} params.media.mimeType Media mime-type + * @param {string|object} params.media.body Media body contents + * @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?: Params$Resource$Archive$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Archive$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Archive$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + } + interface Params$Resource$Archive$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The group ID + */ + groupId?: string; + /** + * Media metadata + */ + media?: { + /** + * Media mime-type + */ + mediaType?: string; + /** + * Media body contents + */ + body?: any; + }; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/groupsmigration/v1.js b/express-server/node_modules/googleapis/build/src/apis/groupsmigration/v1.js new file mode 100644 index 00000000..f21c9d4f --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/groupsmigration/v1.js @@ -0,0 +1,98 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var groupsmigration_v1; +(function (groupsmigration_v1) { + /** + * Groups Migration API + * + * Groups Migration Api. + * + * @example + * const {google} = require('googleapis'); + * const groupsmigration = google.groupsmigration('v1'); + * + * @namespace groupsmigration + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Groupsmigration + */ + class Groupsmigration { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.archive = new Resource$Archive(this); + } + getRoot() { + return this.root; + } + } + groupsmigration_v1.Groupsmigration = Groupsmigration; + class Resource$Archive { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/groups/v1/groups/{groupId}/archive') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + mediaUrl: (rootUrl + '/upload/groups/v1/groups/{groupId}/archive') + .replace(/([^:]\/)\/+/g, '$1'), + requiredParams: ['groupId'], + pathParams: ['groupId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + groupsmigration_v1.Resource$Archive = Resource$Archive; +})(groupsmigration_v1 = exports.groupsmigration_v1 || (exports.groupsmigration_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/groupsmigration/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/groupsmigration/v1.js.map new file mode 100644 index 00000000..4838347c --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/groupsmigration/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/groupsmigration/v1.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAIH,yDAA2H;AAE3H,yBAAyB;AACzB,6BAA6B;AAC7B,gCAAgC;AAChC,+BAA+B;AAC/B,+BAA+B;AAE/B,IAAiB,kBAAkB,CAmKlC;AAnKD,WAAiB,kBAAkB;IAKjC;;;;;;;;;;;;;;OAcG;IACH,MAAa,eAAe;QAO1B,YAAY,OAAsB,EAAE,MAA2B;YAJ/D,SAAI,GAAG,IAAI,CAAC;YAKV,IAAI,CAAC,QAAQ,GAAG,OAAO,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAExB,IAAI,CAAC,OAAO,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;KACF;IAlBY,kCAAe,kBAkB3B,CAAA;IAiBD,MAAa,gBAAgB;QAE3B,YAAY,IAAqB;YAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA4BD,MAAM,CACF,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoC,CAAC;gBAC9C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,qCAAqC,CAAC;yBAC5C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,QAAQ,EAAE,CAAC,OAAO,GAAG,4CAA4C,CAAC;qBACnD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;gBAC5C,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;KACF;IA/EY,mCAAgB,mBA+E5B,CAAA;AA6BH,CAAC,EAnKgB,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAmKlC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/groupssettings/README.md b/express-server/node_modules/googleapis/build/src/apis/groupssettings/README.md new file mode 100644 index 00000000..517b3395 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/groupssettings/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/groupssettings + +> Lets you manage permission levels and related settings of a group. + +## Installation + +```sh +$ npm install @google/groupssettings +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/groupssettings/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/groupssettings/index.d.ts new file mode 100644 index 00000000..dff4365a --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/groupssettings/index.d.ts @@ -0,0 +1,6 @@ +import { groupssettings_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof groupssettings_v1.Groupssettings; +}; +export declare function groupssettings(version: 'v1'): groupssettings_v1.Groupssettings; +export declare function groupssettings(options: groupssettings_v1.Options): groupssettings_v1.Groupssettings; diff --git a/express-server/node_modules/googleapis/build/src/apis/groupssettings/index.js b/express-server/node_modules/googleapis/build/src/apis/groupssettings/index.js new file mode 100644 index 00000000..c294eb03 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/groupssettings/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.groupssettings_v1.Groupssettings, +}; +function groupssettings(versionOrOptions) { + return googleapis_common_1.getAPI('groupssettings', versionOrOptions, exports.VERSIONS, this); +} +exports.groupssettings = groupssettings; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/groupssettings/index.js.map b/express-server/node_modules/googleapis/build/src/apis/groupssettings/index.js.map new file mode 100644 index 00000000..926c532f --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/groupssettings/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/groupssettings/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAuC;AAE1B,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,sBAAiB,CAAC,cAAc;CACvC,CAAC;AAKF,SAAgB,cAAc,CAE1B,gBAAgD;IAClD,OAAO,0BAAM,CAAI,gBAAgB,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACvE,CAAC;AAJD,wCAIC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/groupssettings/package.json b/express-server/node_modules/googleapis/build/src/apis/groupssettings/package.json new file mode 100644 index 00000000..ed3264bf --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/groupssettings/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/groupssettings", + "version": "0.1.0", + "description": "groupssettings", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/groupssettings/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/groupssettings/v1.d.ts new file mode 100644 index 00000000..29212095 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/groupssettings/v1.d.ts @@ -0,0 +1,348 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace groupssettings_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Groups Settings API + * + * Lets you manage permission levels and related settings of a group. + * + * @example + * const {google} = require('googleapis'); + * const groupssettings = google.groupssettings('v1'); + * + * @namespace groupssettings + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Groupssettings + */ + class Groupssettings { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + groups: Resource$Groups; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * JSON template for Group resource + */ + interface Schema$Groups { + /** + * Are external members allowed to join the group. + */ + allowExternalMembers?: string; + /** + * Is google allowed to contact admins. + */ + allowGoogleCommunication?: string; + /** + * If posting from web is allowed. + */ + allowWebPosting?: string; + /** + * If the group is archive only + */ + archiveOnly?: string; + /** + * Custom footer text. + */ + customFooterText?: string; + /** + * Default email to which reply to any message should go. + */ + customReplyTo?: string; + /** + * Default message deny notification message + */ + defaultMessageDenyNotificationText?: string; + /** + * Description of the group + */ + description?: string; + /** + * Email id of the group + */ + email?: string; + /** + * If favorite replies should be displayed above other replies. + */ + favoriteRepliesOnTop?: string; + /** + * Whether to include custom footer. + */ + includeCustomFooter?: string; + /** + * If this groups should be included in global address list or not. + */ + includeInGlobalAddressList?: string; + /** + * If the contents of the group are archived. + */ + isArchived?: string; + /** + * The type of the resource. + */ + kind?: string; + /** + * Maximum message size allowed. + */ + maxMessageBytes?: number; + /** + * Can members post using the group email address. + */ + membersCanPostAsTheGroup?: string; + /** + * Default message display font. Possible values are: DEFAULT_FONT + * FIXED_WIDTH_FONT + */ + messageDisplayFont?: string; + /** + * Moderation level for messages. Possible values are: MODERATE_ALL_MESSAGES + * MODERATE_NON_MEMBERS MODERATE_NEW_MEMBERS MODERATE_NONE + */ + messageModerationLevel?: string; + /** + * Name of the Group + */ + name?: string; + /** + * Primary language for the group. + */ + primaryLanguage?: string; + /** + * Whome should the default reply to a message go to. Possible values are: + * REPLY_TO_CUSTOM REPLY_TO_SENDER REPLY_TO_LIST REPLY_TO_OWNER + * REPLY_TO_IGNORE REPLY_TO_MANAGERS + */ + replyTo?: string; + /** + * Should the member be notified if his message is denied by owner. + */ + sendMessageDenyNotification?: string; + /** + * Is the group listed in groups directory + */ + showInGroupDirectory?: string; + /** + * Moderation level for messages detected as spam. Possible values are: + * ALLOW MODERATE SILENTLY_MODERATE REJECT + */ + spamModerationLevel?: string; + /** + * Permissions to add members. Possible values are: ALL_MANAGERS_CAN_ADD + * ALL_OWNERS_CAN_ADD ALL_MEMBERS_CAN_ADD NONE_CAN_ADD + */ + whoCanAdd?: string; + /** + * Permission to add references to a topic. Possible values are: NONE + * OWNERS_ONLY MANAGERS_ONLY OWNERS_AND_MANAGERS ALL_MEMBERS + */ + whoCanAddReferences?: string; + /** + * Permission to assign topics in a forum to another user. Possible values + * are: NONE OWNERS_ONLY MANAGERS_ONLY OWNERS_AND_MANAGERS ALL_MEMBERS + */ + whoCanAssignTopics?: string; + /** + * Permission to contact owner of the group via web UI. Possible values are: + * ANYONE_CAN_CONTACT ALL_IN_DOMAIN_CAN_CONTACT ALL_MEMBERS_CAN_CONTACT + * ALL_MANAGERS_CAN_CONTACT + */ + whoCanContactOwner?: string; + /** + * Permission to enter free form tags for topics in a forum. Possible values + * are: NONE OWNERS_ONLY MANAGERS_ONLY OWNERS_AND_MANAGERS ALL_MEMBERS + */ + whoCanEnterFreeFormTags?: string; + /** + * Permissions to invite members. Possible values are: + * ALL_MEMBERS_CAN_INVITE ALL_MANAGERS_CAN_INVITE ALL_OWNERS_CAN_INVITE + * NONE_CAN_INVITE + */ + whoCanInvite?: string; + /** + * Permissions to join the group. Possible values are: ANYONE_CAN_JOIN + * ALL_IN_DOMAIN_CAN_JOIN INVITED_CAN_JOIN CAN_REQUEST_TO_JOIN + */ + whoCanJoin?: string; + /** + * Permission to leave the group. Possible values are: + * ALL_MANAGERS_CAN_LEAVE ALL_OWNERS_CAN_LEAVE ALL_MEMBERS_CAN_LEAVE + * NONE_CAN_LEAVE + */ + whoCanLeaveGroup?: string; + /** + * Permission to mark a topic as a duplicate of another topic. Possible + * values are: NONE OWNERS_ONLY MANAGERS_ONLY OWNERS_AND_MANAGERS + * ALL_MEMBERS + */ + whoCanMarkDuplicate?: string; + /** + * Permission to mark any other user's post as a favorite reply. + * Possible values are: NONE OWNERS_ONLY MANAGERS_ONLY OWNERS_AND_MANAGERS + * ALL_MEMBERS + */ + whoCanMarkFavoriteReplyOnAnyTopic?: string; + /** + * Permission to mark a post for a topic they started as a favorite reply. + * Possible values are: NONE OWNERS_ONLY MANAGERS_ONLY OWNERS_AND_MANAGERS + * ALL_MEMBERS + */ + whoCanMarkFavoriteReplyOnOwnTopic?: string; + /** + * Permission to mark a topic as not needing a response. Possible values + * are: NONE OWNERS_ONLY MANAGERS_ONLY OWNERS_AND_MANAGERS ALL_MEMBERS + */ + whoCanMarkNoResponseNeeded?: string; + /** + * Permission to change tags and categories. Possible values are: NONE + * OWNERS_ONLY MANAGERS_ONLY OWNERS_AND_MANAGERS ALL_MEMBERS + */ + whoCanModifyTagsAndCategories?: string; + /** + * Permissions to post messages to the group. Possible values are: + * NONE_CAN_POST ALL_MANAGERS_CAN_POST ALL_MEMBERS_CAN_POST + * ALL_OWNERS_CAN_POST ALL_IN_DOMAIN_CAN_POST ANYONE_CAN_POST + */ + whoCanPostMessage?: string; + /** + * Permission to take topics in a forum. Possible values are: NONE + * OWNERS_ONLY MANAGERS_ONLY OWNERS_AND_MANAGERS ALL_MEMBERS + */ + whoCanTakeTopics?: string; + /** + * Permission to unassign any topic in a forum. Possible values are: NONE + * OWNERS_ONLY MANAGERS_ONLY OWNERS_AND_MANAGERS ALL_MEMBERS + */ + whoCanUnassignTopic?: string; + /** + * Permission to unmark any post from a favorite reply. Possible values are: + * NONE OWNERS_ONLY MANAGERS_ONLY OWNERS_AND_MANAGERS ALL_MEMBERS + */ + whoCanUnmarkFavoriteReplyOnAnyTopic?: string; + /** + * Permissions to view group. Possible values are: ANYONE_CAN_VIEW + * ALL_IN_DOMAIN_CAN_VIEW ALL_MEMBERS_CAN_VIEW ALL_MANAGERS_CAN_VIEW + * ALL_OWNERS_CAN_VIEW + */ + whoCanViewGroup?: string; + /** + * Permissions to view membership. Possible values are: + * ALL_IN_DOMAIN_CAN_VIEW ALL_MEMBERS_CAN_VIEW ALL_MANAGERS_CAN_VIEW + */ + whoCanViewMembership?: string; + } + class Resource$Groups { + root: Groupssettings; + constructor(root: Groupssettings); + getRoot(): Groupssettings; + /** + * groupsSettings.groups.get + * @desc Gets one resource by id. + * @alias groupsSettings.groups.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.groupUniqueId The resource ID + * @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?: Params$Resource$Groups$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Groups$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Groups$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * groupsSettings.groups.patch + * @desc Updates an existing resource. This method supports patch semantics. + * @alias groupsSettings.groups.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.groupUniqueId The resource ID + * @param {().Groups} 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 + */ + patch(params?: Params$Resource$Groups$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Groups$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Groups$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * groupsSettings.groups.update + * @desc Updates an existing resource. + * @alias groupsSettings.groups.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.groupUniqueId The resource ID + * @param {().Groups} 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?: Params$Resource$Groups$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Groups$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Groups$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Groups$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource ID + */ + groupUniqueId?: string; + } + interface Params$Resource$Groups$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource ID + */ + groupUniqueId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Groups; + } + interface Params$Resource$Groups$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource ID + */ + groupUniqueId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Groups; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/groupssettings/v1.js b/express-server/node_modules/googleapis/build/src/apis/groupssettings/v1.js new file mode 100644 index 00000000..6680dd9c --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/groupssettings/v1.js @@ -0,0 +1,158 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var groupssettings_v1; +(function (groupssettings_v1) { + /** + * Groups Settings API + * + * Lets you manage permission levels and related settings of a group. + * + * @example + * const {google} = require('googleapis'); + * const groupssettings = google.groupssettings('v1'); + * + * @namespace groupssettings + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Groupssettings + */ + class Groupssettings { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.groups = new Resource$Groups(this); + } + getRoot() { + return this.root; + } + } + groupssettings_v1.Groupssettings = Groupssettings; + class Resource$Groups { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/groups/v1/groups/{groupUniqueId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['groupUniqueId'], + pathParams: ['groupUniqueId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/groups/v1/groups/{groupUniqueId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['groupUniqueId'], + pathParams: ['groupUniqueId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/groups/v1/groups/{groupUniqueId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['groupUniqueId'], + pathParams: ['groupUniqueId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + groupssettings_v1.Resource$Groups = Resource$Groups; +})(groupssettings_v1 = exports.groupssettings_v1 || (exports.groupssettings_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/groupssettings/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/groupssettings/v1.js.map new file mode 100644 index 00000000..2ce8ca49 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/groupssettings/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/groupssettings/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/iam/README.md b/express-server/node_modules/googleapis/build/src/apis/iam/README.md new file mode 100644 index 00000000..08c936f7 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/iam/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/iam + +> Manages identity and access control for Google Cloud Platform resources, including the creation of service accounts, which you can use to authenticate to Google and make API calls. + +## Installation + +```sh +$ npm install @google/iam +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/iam/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/iam/index.d.ts new file mode 100644 index 00000000..f6740895 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/iam/index.d.ts @@ -0,0 +1,6 @@ +import { iam_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof iam_v1.Iam; +}; +export declare function iam(version: 'v1'): iam_v1.Iam; +export declare function iam(options: iam_v1.Options): iam_v1.Iam; diff --git a/express-server/node_modules/googleapis/build/src/apis/iam/index.js b/express-server/node_modules/googleapis/build/src/apis/iam/index.js new file mode 100644 index 00000000..e076cccd --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/iam/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.iam_v1.Iam, +}; +function iam(versionOrOptions) { + return googleapis_common_1.getAPI('iam', versionOrOptions, exports.VERSIONS, this); +} +exports.iam = iam; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/iam/index.js.map b/express-server/node_modules/googleapis/build/src/apis/iam/index.js.map new file mode 100644 index 00000000..1ba7fe1e --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/iam/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/iam/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAA4B;AAEf,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,WAAM,CAAC,GAAG;CACjB,CAAC;AAIF,SAAgB,GAAG,CACW,gBAAqC;IACjE,OAAO,0BAAM,CAAI,KAAK,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAC5D,CAAC;AAHD,kBAGC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/iam/package.json b/express-server/node_modules/googleapis/build/src/apis/iam/package.json new file mode 100644 index 00000000..4af99cd2 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/iam/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/iam", + "version": "0.1.0", + "description": "iam", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/iam/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/iam/v1.d.ts new file mode 100644 index 00000000..ba989f66 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/iam/v1.d.ts @@ -0,0 +1,1986 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace iam_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Identity and Access Management (IAM) API + * + * Manages identity and access control for Google Cloud Platform resources, + * including the creation of service accounts, which you can use to + * authenticate to Google and make API calls. + * + * @example + * const {google} = require('googleapis'); + * const iam = google.iam('v1'); + * + * @namespace iam + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Iam + */ + class Iam { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + iamPolicies: Resource$Iampolicies; + organizations: Resource$Organizations; + permissions: Resource$Permissions; + projects: Resource$Projects; + roles: Resource$Roles; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Contains information about an auditable service. + */ + interface Schema$AuditableService { + /** + * Public name of the service. For example, the service name for Cloud IAM + * is 'iam.googleapis.com'. + */ + name?: string; + } + /** + * Specifies the audit configuration for a service. The configuration + * determines which permission types are logged, and what identities, if any, + * are exempted from logging. An AuditConfig must have one or more + * AuditLogConfigs. If there are AuditConfigs for both `allServices` and a + * specific service, the union of the two AuditConfigs is used for that + * service: the log_types specified in each AuditConfig are enabled, and the + * exempted_members in each AuditLogConfig are exempted. Example Policy with + * multiple AuditConfigs: { "audit_configs": [ { + * "service": "allServices" "audit_log_configs": + * [ { "log_type": "DATA_READ", + * "exempted_members": [ "user:foo@gmail.com" ] }, { + * "log_type": "DATA_WRITE", }, { + * "log_type": "ADMIN_READ", } ] }, + * { "service": "fooservice.googleapis.com" + * "audit_log_configs": [ { "log_type": + * "DATA_READ", }, { "log_type": + * "DATA_WRITE", "exempted_members": [ + * "user:bar@gmail.com" ] } ] } + * ] } For fooservice, this policy enables DATA_READ, DATA_WRITE and + * ADMIN_READ logging. It also exempts foo@gmail.com from DATA_READ logging, + * and bar@gmail.com from DATA_WRITE logging. + */ + interface Schema$AuditConfig { + /** + * The configuration for logging of each type of permission. + */ + auditLogConfigs?: Schema$AuditLogConfig[]; + /** + * Specifies a service that will be enabled for audit logging. For example, + * `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a + * special value that covers all services. + */ + service?: string; + } + /** + * Audit log information specific to Cloud IAM. This message is serialized as + * an `Any` type in the `ServiceData` message of an `AuditLog` message. + */ + interface Schema$AuditData { + /** + * Policy delta between the original policy and the newly set policy. + */ + policyDelta?: Schema$PolicyDelta; + } + /** + * Provides the configuration for logging a type of permissions. Example: { + * "audit_log_configs": [ { "log_type": + * "DATA_READ", "exempted_members": [ + * "user:foo@gmail.com" ] }, { + * "log_type": "DATA_WRITE", } ] } This + * enables 'DATA_READ' and 'DATA_WRITE' logging, while + * exempting foo@gmail.com from DATA_READ logging. + */ + interface Schema$AuditLogConfig { + /** + * Specifies the identities that do not cause logging for this type of + * permission. Follows the same format of Binding.members. + */ + exemptedMembers?: string[]; + /** + * The log type that this config enables. + */ + logType?: string; + } + /** + * Associates `members` with a `role`. + */ + interface Schema$Binding { + /** + * Unimplemented. The condition that is associated with this binding. NOTE: + * an unsatisfied condition will not allow user access via current binding. + * Different bindings, including their conditions, are examined + * independently. + */ + condition?: Schema$Expr; + /** + * Specifies the identities requesting access for a Cloud Platform resource. + * `members` can have the following values: * `allUsers`: A special + * identifier that represents anyone who is on the internet; with or + * without a Google account. * `allAuthenticatedUsers`: A special + * identifier that represents anyone who is authenticated with a Google + * account or a service account. * `user:{emailid}`: An email address that + * represents a specific Google account. For example, `alice@gmail.com` . + * * `serviceAccount:{emailid}`: An email address that represents a service + * account. For example, `my-other-app@appspot.gserviceaccount.com`. * + * `group:{emailid}`: An email address that represents a Google group. For + * example, `admins@example.com`. * `domain:{domain}`: A Google Apps + * domain name that represents all the users of that domain. For example, + * `google.com` or `example.com`. + */ + members?: string[]; + /** + * Role that is assigned to `members`. For example, `roles/viewer`, + * `roles/editor`, or `roles/owner`. + */ + role?: string; + } + /** + * One delta entry for Binding. Each individual change (only one member in + * each entry) to a binding will be a separate entry. + */ + interface Schema$BindingDelta { + /** + * The action that was performed on a Binding. Required + */ + action?: string; + /** + * Unimplemented. The condition that is associated with this binding. This + * field is logged only for Cloud Audit Logging. + */ + condition?: Schema$Expr; + /** + * A single identity requesting access for a Cloud Platform resource. + * Follows the same format of Binding.members. Required + */ + member?: string; + /** + * Role that is assigned to `members`. For example, `roles/viewer`, + * `roles/editor`, or `roles/owner`. Required + */ + role?: string; + } + /** + * The request to create a new role. + */ + interface Schema$CreateRoleRequest { + /** + * The Role resource to create. + */ + role?: Schema$Role; + /** + * The role id to use for this role. + */ + roleId?: string; + } + /** + * The service account key create request. + */ + interface Schema$CreateServiceAccountKeyRequest { + /** + * Which type of key and algorithm to use for the key. The default is + * currently a 2K RSA key. However this may change in the future. + */ + keyAlgorithm?: string; + /** + * The output format of the private key. The default value is + * `TYPE_GOOGLE_CREDENTIALS_FILE`, which is the Google Credentials File + * format. + */ + privateKeyType?: string; + } + /** + * The service account create request. + */ + interface Schema$CreateServiceAccountRequest { + /** + * Required. The account id that is used to generate the service account + * email address and a stable unique id. It is unique within a project, must + * be 6-30 characters long, and match the regular expression + * `[a-z]([-a-z0-9]*[a-z0-9])` to comply with RFC1035. + */ + accountId?: string; + /** + * The ServiceAccount resource to create. Currently, only the following + * values are user assignable: `display_name` . + */ + serviceAccount?: Schema$ServiceAccount; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * Represents an expression text. Example: title: "User account + * presence" description: "Determines whether the request has a + * user account" expression: "size(request.user) > 0" + */ + interface Schema$Expr { + /** + * An optional description of the expression. This is a longer text which + * describes the expression, e.g. when hovered over it in a UI. + */ + description?: string; + /** + * Textual representation of an expression in Common Expression Language + * syntax. The application context of the containing message determines + * which well-known feature set of CEL is supported. + */ + expression?: string; + /** + * An optional string indicating the location of the expression for error + * reporting, e.g. a file name and a position in the file. + */ + location?: string; + /** + * An optional title for the expression, i.e. a short string describing its + * purpose. This can be used e.g. in UIs which allow to enter the + * expression. + */ + title?: string; + } + /** + * The request to lint a Cloud IAM policy object. LintPolicy is currently + * functional only for `lint_object` of type `condition`. + */ + interface Schema$LintPolicyRequest { + /** + * Binding object to be linted. The functionality of linting a binding is + * not yet implemented and if this field is set, it returns NOT_IMPLEMENTED + * error. + */ + binding?: Schema$Binding; + /** + * google.iam.v1.Binding.condition object to be linted. + */ + condition?: Schema$Expr; + /** + * `context` contains additional *permission-controlled* data that any lint + * unit may depend on, in form of `{key: value}` pairs. Currently, this + * field is non-operational and it will not be used during the lint + * operation. + */ + context?: any; + /** + * The full resource name of the policy this lint request is about. The + * name follows the Google Cloud Platform (GCP) resource format. For + * example, a GCP project with ID `my-project` will be named + * `//cloudresourcemanager.googleapis.com/projects/my-project`. The + * resource name is not used to read the policy instance from the Cloud IAM + * database. The candidate policy for lint has to be provided in the same + * request object. + */ + fullResourceName?: string; + /** + * Policy object to be linted. The functionality of linting a policy is not + * yet implemented and if this field is set, it returns NOT_IMPLEMENTED + * error. + */ + policy?: Schema$Policy; + } + /** + * The response of a lint operation. An empty response indicates the operation + * was able to fully execute and no lint issue was found. + */ + interface Schema$LintPolicyResponse { + /** + * List of lint results sorted by a composite <severity, + * binding_ordinal> key, descending order of severity and ascending order + * of binding_ordinal. There is no certain order among the same keys. For + * cross-binding results (only if the input object to lint is instance of + * google.iam.v1.Policy), there will be a google.iam.admin.v1.LintResult for + * each of the involved bindings, and the associated debug_message may + * enumerate the other involved binding ordinal number(s). + */ + lintResults?: Schema$LintResult[]; + } + /** + * Structured response of a single validation unit. + */ + interface Schema$LintResult { + /** + * 0-based index ordinality of the binding in the input object associated + * with this result. This field is populated only if the input object to + * lint is of type google.iam.v1.Policy, which can comprise more than one + * binding. It is set to -1 if the result is not associated with any + * particular binding and only targets the policy as a whole, such as + * results about policy size violations. + */ + bindingOrdinal?: number; + /** + * Human readable debug message associated with the issue. + */ + debugMessage?: string; + /** + * The name of the field for which this lint result is about. For nested + * messages, `field_name` consists of names of the embedded fields separated + * by period character. The top-level qualifier is the input object to lint + * in the request. For instance, if the lint request is on a + * google.iam.v1.Policy and this lint result is about a condition expression + * of one of the input policy bindings, the field would be populated as + * `policy.bindings.condition.expression`. This field does not identify the + * ordinality of the repetitive fields (for instance bindings in a policy). + */ + fieldName?: string; + /** + * The validation unit level. + */ + level?: string; + /** + * 0-based character position of problematic construct within the object + * identified by `field_name`. Currently, this is populated only for + * condition expression. + */ + locationOffset?: number; + /** + * The validation unit severity. + */ + severity?: string; + /** + * The validation unit name, for instance + * “lintValidationUnits/ConditionComplexityCheck”. + */ + validationUnitName?: string; + } + /** + * The response containing the roles defined under a resource. + */ + interface Schema$ListRolesResponse { + /** + * To retrieve the next page of results, set `ListRolesRequest.page_token` + * to this value. + */ + nextPageToken?: string; + /** + * The Roles defined on this resource. + */ + roles?: Schema$Role[]; + } + /** + * The service account keys list response. + */ + interface Schema$ListServiceAccountKeysResponse { + /** + * The public keys for the service account. + */ + keys?: Schema$ServiceAccountKey[]; + } + /** + * The service account list response. + */ + interface Schema$ListServiceAccountsResponse { + /** + * The list of matching service accounts. + */ + accounts?: Schema$ServiceAccount[]; + /** + * To retrieve the next page of results, set + * ListServiceAccountsRequest.page_token to this value. + */ + nextPageToken?: string; + } + /** + * A permission which can be included by a role. + */ + interface Schema$Permission { + /** + * The service API associated with the permission is not enabled. + */ + apiDisabled?: boolean; + /** + * The current custom role support level. + */ + customRolesSupportLevel?: string; + /** + * A brief description of what this Permission is used for. + */ + description?: string; + /** + * The name of this Permission. + */ + name?: string; + /** + * This permission can ONLY be used in predefined roles. + */ + onlyInPredefinedRoles?: boolean; + /** + * The current launch stage of the permission. + */ + stage?: string; + /** + * The title of this Permission. + */ + title?: string; + } + /** + * Defines an Identity and Access Management (IAM) policy. It is used to + * specify access control policies for Cloud Platform resources. A `Policy` + * consists of a list of `bindings`. A `binding` binds a list of `members` to + * a `role`, where the members can be user accounts, Google groups, Google + * domains, and service accounts. A `role` is a named list of permissions + * defined by IAM. **JSON Example** { "bindings": [ { + * "role": "roles/owner", "members": [ + * "user:mike@example.com", "group:admins@example.com", + * "domain:google.com", + * "serviceAccount:my-other-app@appspot.gserviceaccount.com" ] }, { + * "role": "roles/viewer", "members": + * ["user:sean@example.com"] } ] } **YAML + * Example** bindings: - members: - user:mike@example.com - + * group:admins@example.com - domain:google.com - + * serviceAccount:my-other-app@appspot.gserviceaccount.com role: + * roles/owner - members: - user:sean@example.com role: + * roles/viewer For a description of IAM and its features, see the [IAM + * developer's guide](https://cloud.google.com/iam/docs). + */ + interface Schema$Policy { + /** + * Specifies cloud audit logging configuration for this policy. + */ + auditConfigs?: Schema$AuditConfig[]; + /** + * Associates a list of `members` to a `role`. `bindings` with no members + * will result in an error. + */ + bindings?: Schema$Binding[]; + /** + * `etag` is used for optimistic concurrency control as a way to help + * prevent simultaneous updates of a policy from overwriting each other. It + * is strongly suggested that systems make use of the `etag` in the + * read-modify-write cycle to perform policy updates in order to avoid race + * conditions: An `etag` is returned in the response to `getIamPolicy`, and + * systems are expected to put that etag in the request to `setIamPolicy` to + * ensure that their change will be applied to the same version of the + * policy. If no `etag` is provided in the call to `setIamPolicy`, then the + * existing policy is overwritten blindly. + */ + etag?: string; + /** + * Deprecated. + */ + version?: number; + } + /** + * The difference delta between two policies. + */ + interface Schema$PolicyDelta { + /** + * The delta for Bindings between two policies. + */ + bindingDeltas?: Schema$BindingDelta[]; + } + /** + * A request to get the list of auditable services for a resource. + */ + interface Schema$QueryAuditableServicesRequest { + /** + * Required. The full resource name to query from the list of auditable + * services. The name follows the Google Cloud Platform resource format. + * For example, a Cloud Platform project with id `my-project` will be named + * `//cloudresourcemanager.googleapis.com/projects/my-project`. + */ + fullResourceName?: string; + } + /** + * A response containing a list of auditable services for a resource. + */ + interface Schema$QueryAuditableServicesResponse { + /** + * The auditable services for a resource. + */ + services?: Schema$AuditableService[]; + } + /** + * The grantable role query request. + */ + interface Schema$QueryGrantableRolesRequest { + /** + * Required. The full resource name to query from the list of grantable + * roles. The name follows the Google Cloud Platform resource format. For + * example, a Cloud Platform project with id `my-project` will be named + * `//cloudresourcemanager.googleapis.com/projects/my-project`. + */ + fullResourceName?: string; + /** + * Optional limit on the number of roles to include in the response. + */ + pageSize?: number; + /** + * Optional pagination token returned in an earlier + * QueryGrantableRolesResponse. + */ + pageToken?: string; + view?: string; + } + /** + * The grantable role query response. + */ + interface Schema$QueryGrantableRolesResponse { + /** + * To retrieve the next page of results, set + * `QueryGrantableRolesRequest.page_token` to this value. + */ + nextPageToken?: string; + /** + * The list of matching roles. + */ + roles?: Schema$Role[]; + } + /** + * A request to get permissions which can be tested on a resource. + */ + interface Schema$QueryTestablePermissionsRequest { + /** + * Required. The full resource name to query from the list of testable + * permissions. The name follows the Google Cloud Platform resource format. + * For example, a Cloud Platform project with id `my-project` will be named + * `//cloudresourcemanager.googleapis.com/projects/my-project`. + */ + fullResourceName?: string; + /** + * Optional limit on the number of permissions to include in the response. + */ + pageSize?: number; + /** + * Optional pagination token returned in an earlier + * QueryTestablePermissionsRequest. + */ + pageToken?: string; + } + /** + * The response containing permissions which can be tested on a resource. + */ + interface Schema$QueryTestablePermissionsResponse { + /** + * To retrieve the next page of results, set + * `QueryTestableRolesRequest.page_token` to this value. + */ + nextPageToken?: string; + /** + * The Permissions testable on the requested resource. + */ + permissions?: Schema$Permission[]; + } + /** + * A role in the Identity and Access Management API. + */ + interface Schema$Role { + /** + * The current deleted state of the role. This field is read only. It will + * be ignored in calls to CreateRole and UpdateRole. + */ + deleted?: boolean; + /** + * Optional. A human-readable description for the role. + */ + description?: string; + /** + * Used to perform a consistent read-modify-write. + */ + etag?: string; + /** + * The names of the permissions this role grants when bound in an IAM + * policy. + */ + includedPermissions?: string[]; + /** + * The name of the role. When Role is used in CreateRole, the role name + * must not be set. When Role is used in output and other input such as + * UpdateRole, the role name is the complete path, e.g., + * roles/logging.viewer for curated roles and + * organizations/{ORGANIZATION_ID}/roles/logging.viewer for custom roles. + */ + name?: string; + /** + * The current launch stage of the role. If the `ALPHA` launch stage has + * been selected for a role, the `stage` field will not be included in the + * returned definition for the role. + */ + stage?: string; + /** + * Optional. A human-readable title for the role. Typically this is + * limited to 100 UTF-8 bytes. + */ + title?: string; + } + /** + * A service account in the Identity and Access Management API. To create a + * service account, specify the `project_id` and the `account_id` for the + * account. The `account_id` is unique within the project, and is used to + * generate the service account email address and a stable `unique_id`. If + * the account already exists, the account's resource name is returned in + * the format of projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}. The caller + * can use the name in other methods to access the account. All other methods + * can identify the service account using the format + * `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. Using `-` as a wildcard + * for the `PROJECT_ID` will infer the project from the account. The `ACCOUNT` + * value can be the `email` address or the `unique_id` of the service account. + */ + interface Schema$ServiceAccount { + /** + * Optional. A user-specified description of the service account. Must be + * fewer than 100 UTF-8 bytes. + */ + displayName?: string; + /** + * @OutputOnly The email address of the service account. + */ + email?: string; + /** + * Used to perform a consistent read-modify-write. + */ + etag?: string; + /** + * The resource name of the service account in the following format: + * `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. Requests using `-` as + * a wildcard for the `PROJECT_ID` will infer the project from the `account` + * and the `ACCOUNT` value can be the `email` address or the `unique_id` of + * the service account. In responses the resource name will always be in + * the format `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. + */ + name?: string; + /** + * @OutputOnly The OAuth2 client id for the service account. This is used in + * conjunction with the OAuth2 clientconfig API to make three legged OAuth2 + * (3LO) flows to access the data of Google users. + */ + oauth2ClientId?: string; + /** + * @OutputOnly The id of the project that owns the service account. + */ + projectId?: string; + /** + * @OutputOnly The unique and stable id of the service account. + */ + uniqueId?: string; + } + /** + * Represents a service account key. A service account has two sets of + * key-pairs: user-managed, and system-managed. User-managed key-pairs can be + * created and deleted by users. Users are responsible for rotating these + * keys periodically to ensure security of their service accounts. Users + * retain the private key of these key-pairs, and Google retains ONLY the + * public key. System-managed keys are automatically rotated by Google, and + * are used for signing for a maximum of two weeks. The rotation process is + * probabilistic, and usage of the new key will gradually ramp up and down + * over the key's lifetime. We recommend caching the public key set for a + * service account for no more than 24 hours to ensure you have access to the + * latest keys. Public keys for all service accounts are also published at + * the OAuth2 Service Account API. + */ + interface Schema$ServiceAccountKey { + /** + * Specifies the algorithm (and possibly key size) for the key. + */ + keyAlgorithm?: string; + /** + * The resource name of the service account key in the following format + * `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`. + */ + name?: string; + /** + * The private key data. Only provided in `CreateServiceAccountKey` + * responses. Make sure to keep the private key data secure because it + * allows for the assertion of the service account identity. When base64 + * decoded, the private key data can be used to authenticate with Google API + * client libraries and with <a + * href="/sdk/gcloud/reference/auth/activate-service-account">gcloud + * auth activate-service-account</a>. + */ + privateKeyData?: string; + /** + * The output format for the private key. Only provided in + * `CreateServiceAccountKey` responses, not in `GetServiceAccountKey` or + * `ListServiceAccountKey` responses. Google never exposes system-managed + * private keys, and never retains user-managed private keys. + */ + privateKeyType?: string; + /** + * The public key data. Only provided in `GetServiceAccountKey` responses. + */ + publicKeyData?: string; + /** + * The key can be used after this timestamp. + */ + validAfterTime?: string; + /** + * The key can be used before this timestamp. + */ + validBeforeTime?: string; + } + /** + * Request message for `SetIamPolicy` method. + */ + interface Schema$SetIamPolicyRequest { + /** + * REQUIRED: The complete policy to be applied to the `resource`. The size + * of the policy is limited to a few 10s of KB. An empty policy is a valid + * policy but certain Cloud Platform services (such as Projects) might + * reject them. + */ + policy?: Schema$Policy; + /** + * OPTIONAL: A FieldMask specifying which fields of the policy to modify. + * Only the fields in the mask will be modified. If no mask is provided, the + * following default mask is used: paths: "bindings, etag" This + * field is only used by Cloud IAM. + */ + updateMask?: string; + } + /** + * The service account sign blob request. + */ + interface Schema$SignBlobRequest { + /** + * The bytes to sign. + */ + bytesToSign?: string; + } + /** + * The service account sign blob response. + */ + interface Schema$SignBlobResponse { + /** + * The id of the key used to sign the blob. + */ + keyId?: string; + /** + * The signed blob. + */ + signature?: string; + } + /** + * The service account sign JWT request. + */ + interface Schema$SignJwtRequest { + /** + * The JWT payload to sign, a JSON JWT Claim set. + */ + payload?: string; + } + /** + * The service account sign JWT response. + */ + interface Schema$SignJwtResponse { + /** + * The id of the key used to sign the JWT. + */ + keyId?: string; + /** + * The signed JWT. + */ + signedJwt?: string; + } + /** + * Request message for `TestIamPermissions` method. + */ + interface Schema$TestIamPermissionsRequest { + /** + * The set of permissions to check for the `resource`. Permissions with + * wildcards (such as '*' or 'storage.*') are not allowed. + * For more information see [IAM + * Overview](https://cloud.google.com/iam/docs/overview#permissions). + */ + permissions?: string[]; + } + /** + * Response message for `TestIamPermissions` method. + */ + interface Schema$TestIamPermissionsResponse { + /** + * A subset of `TestPermissionsRequest.permissions` that the caller is + * allowed. + */ + permissions?: string[]; + } + /** + * The request to undelete an existing role. + */ + interface Schema$UndeleteRoleRequest { + /** + * Used to perform a consistent read-modify-write. + */ + etag?: string; + } + class Resource$Iampolicies { + root: Iam; + constructor(root: Iam); + getRoot(): Iam; + /** + * iam.iamPolicies.lintPolicy + * @desc Lints a Cloud IAM policy object or its sub fields. Currently + * supports google.iam.v1.Policy, google.iam.v1.Binding and + * google.iam.v1.Binding.condition. Each lint operation consists of + * multiple lint validation units. Validation units have the following + * properties: - Each unit inspects the input object in regard to a + * particular linting aspect and issues a google.iam.admin.v1.LintResult + * disclosing the result. - Domain of discourse of each unit can be either + * google.iam.v1.Policy, google.iam.v1.Binding, or + * google.iam.v1.Binding.condition depending on the purpose of the + * validation. - A unit may require additional data (like the list of all + * possible enumerable values of a particular attribute used in the policy + * instance) which shall be provided by the caller. Refer to the comments + * of google.iam.admin.v1.LintPolicyRequest.context for more details. The + * set of applicable validation units is determined by the Cloud IAM server + * and is not configurable. Regardless of any lint issues or their + * severities, successful calls to `lintPolicy` return an HTTP 200 OK status + * code. + * @alias iam.iamPolicies.lintPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().LintPolicyRequest} 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 + */ + lintPolicy(params?: Params$Resource$Iampolicies$Lintpolicy, options?: MethodOptions): AxiosPromise; + lintPolicy(params: Params$Resource$Iampolicies$Lintpolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + lintPolicy(params: Params$Resource$Iampolicies$Lintpolicy, callback: BodyResponseCallback): void; + lintPolicy(callback: BodyResponseCallback): void; + /** + * iam.iamPolicies.queryAuditableServices + * @desc Returns a list of services that support service level audit logging + * configuration for the given resource. + * @alias iam.iamPolicies.queryAuditableServices + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().QueryAuditableServicesRequest} 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 + */ + queryAuditableServices(params?: Params$Resource$Iampolicies$Queryauditableservices, options?: MethodOptions): AxiosPromise; + queryAuditableServices(params: Params$Resource$Iampolicies$Queryauditableservices, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + queryAuditableServices(params: Params$Resource$Iampolicies$Queryauditableservices, callback: BodyResponseCallback): void; + queryAuditableServices(callback: BodyResponseCallback): void; + } + interface Params$Resource$Iampolicies$Lintpolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$LintPolicyRequest; + } + interface Params$Resource$Iampolicies$Queryauditableservices { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$QueryAuditableServicesRequest; + } + class Resource$Organizations { + root: Iam; + roles: Resource$Organizations$Roles; + constructor(root: Iam); + getRoot(): Iam; + } + class Resource$Organizations$Roles { + root: Iam; + constructor(root: Iam); + getRoot(): Iam; + /** + * iam.organizations.roles.create + * @desc Creates a new Role. + * @alias iam.organizations.roles.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent The resource name of the parent resource in one of the following formats: `organizations/{ORGANIZATION_ID}` `projects/{PROJECT_ID}` + * @param {().CreateRoleRequest} 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 + */ + create(params?: Params$Resource$Organizations$Roles$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Organizations$Roles$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Organizations$Roles$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * iam.organizations.roles.delete + * @desc Soft deletes a role. The role is suspended and cannot be used to + * create new IAM Policy Bindings. The Role will not be included in + * `ListRoles()` unless `show_deleted` is set in the `ListRolesRequest`. The + * Role contains the deleted boolean set. Existing Bindings remains, but are + * inactive. The Role can be undeleted within 7 days. After 7 days the Role + * is deleted and all Bindings associated with the role are removed. + * @alias iam.organizations.roles.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.etag Used to perform a consistent read-modify-write. + * @param {string} params.name The resource name of the role in one of the following formats: `organizations/{ORGANIZATION_ID}/roles/{ROLE_NAME}` `projects/{PROJECT_ID}/roles/{ROLE_NAME}` + * @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?: Params$Resource$Organizations$Roles$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Organizations$Roles$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Organizations$Roles$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * iam.organizations.roles.get + * @desc Gets a Role definition. + * @alias iam.organizations.roles.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name of the role in one of the following formats: `roles/{ROLE_NAME}` `organizations/{ORGANIZATION_ID}/roles/{ROLE_NAME}` `projects/{PROJECT_ID}/roles/{ROLE_NAME}` + * @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?: Params$Resource$Organizations$Roles$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Organizations$Roles$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Organizations$Roles$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * iam.organizations.roles.list + * @desc Lists the Roles defined on a resource. + * @alias iam.organizations.roles.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Optional limit on the number of roles to include in the response. + * @param {string=} params.pageToken Optional pagination token returned in an earlier ListRolesResponse. + * @param {string} params.parent The resource name of the parent resource in one of the following formats: `` (empty string) -- this refers to curated roles. `organizations/{ORGANIZATION_ID}` `projects/{PROJECT_ID}` + * @param {boolean=} params.showDeleted Include Roles that have been deleted. + * @param {string=} params.view Optional view for the returned Role objects. + * @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?: Params$Resource$Organizations$Roles$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Organizations$Roles$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Organizations$Roles$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * iam.organizations.roles.patch + * @desc Updates a Role definition. + * @alias iam.organizations.roles.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name of the role in one of the following formats: `roles/{ROLE_NAME}` `organizations/{ORGANIZATION_ID}/roles/{ROLE_NAME}` `projects/{PROJECT_ID}/roles/{ROLE_NAME}` + * @param {string=} params.updateMask A mask describing which fields in the Role have changed. + * @param {().Role} 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 + */ + patch(params?: Params$Resource$Organizations$Roles$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Organizations$Roles$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Organizations$Roles$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * iam.organizations.roles.undelete + * @desc Undelete a Role, bringing it back in its previous state. + * @alias iam.organizations.roles.undelete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name of the role in one of the following formats: `organizations/{ORGANIZATION_ID}/roles/{ROLE_NAME}` `projects/{PROJECT_ID}/roles/{ROLE_NAME}` + * @param {().UndeleteRoleRequest} 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 + */ + undelete(params?: Params$Resource$Organizations$Roles$Undelete, options?: MethodOptions): AxiosPromise; + undelete(params: Params$Resource$Organizations$Roles$Undelete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + undelete(params: Params$Resource$Organizations$Roles$Undelete, callback: BodyResponseCallback): void; + undelete(callback: BodyResponseCallback): void; + } + interface Params$Resource$Organizations$Roles$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the parent resource in one of the following formats: + * `organizations/{ORGANIZATION_ID}` `projects/{PROJECT_ID}` + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreateRoleRequest; + } + interface Params$Resource$Organizations$Roles$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Used to perform a consistent read-modify-write. + */ + etag?: string; + /** + * The resource name of the role in one of the following formats: + * `organizations/{ORGANIZATION_ID}/roles/{ROLE_NAME}` + * `projects/{PROJECT_ID}/roles/{ROLE_NAME}` + */ + name?: string; + } + interface Params$Resource$Organizations$Roles$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the role in one of the following formats: + * `roles/{ROLE_NAME}` `organizations/{ORGANIZATION_ID}/roles/{ROLE_NAME}` + * `projects/{PROJECT_ID}/roles/{ROLE_NAME}` + */ + name?: string; + } + interface Params$Resource$Organizations$Roles$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional limit on the number of roles to include in the response. + */ + pageSize?: number; + /** + * Optional pagination token returned in an earlier ListRolesResponse. + */ + pageToken?: string; + /** + * The resource name of the parent resource in one of the following formats: + * `` (empty string) -- this refers to curated roles. + * `organizations/{ORGANIZATION_ID}` `projects/{PROJECT_ID}` + */ + parent?: string; + /** + * Include Roles that have been deleted. + */ + showDeleted?: boolean; + /** + * Optional view for the returned Role objects. + */ + view?: string; + } + interface Params$Resource$Organizations$Roles$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the role in one of the following formats: + * `roles/{ROLE_NAME}` `organizations/{ORGANIZATION_ID}/roles/{ROLE_NAME}` + * `projects/{PROJECT_ID}/roles/{ROLE_NAME}` + */ + name?: string; + /** + * A mask describing which fields in the Role have changed. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Role; + } + interface Params$Resource$Organizations$Roles$Undelete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the role in one of the following formats: + * `organizations/{ORGANIZATION_ID}/roles/{ROLE_NAME}` + * `projects/{PROJECT_ID}/roles/{ROLE_NAME}` + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UndeleteRoleRequest; + } + class Resource$Permissions { + root: Iam; + constructor(root: Iam); + getRoot(): Iam; + /** + * iam.permissions.queryTestablePermissions + * @desc Lists the permissions testable on a resource. A permission is + * testable if it can be tested for an identity on a resource. + * @alias iam.permissions.queryTestablePermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().QueryTestablePermissionsRequest} 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 + */ + queryTestablePermissions(params?: Params$Resource$Permissions$Querytestablepermissions, options?: MethodOptions): AxiosPromise; + queryTestablePermissions(params: Params$Resource$Permissions$Querytestablepermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + queryTestablePermissions(params: Params$Resource$Permissions$Querytestablepermissions, callback: BodyResponseCallback): void; + queryTestablePermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Permissions$Querytestablepermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$QueryTestablePermissionsRequest; + } + class Resource$Projects { + root: Iam; + roles: Resource$Projects$Roles; + serviceAccounts: Resource$Projects$Serviceaccounts; + constructor(root: Iam); + getRoot(): Iam; + } + class Resource$Projects$Roles { + root: Iam; + constructor(root: Iam); + getRoot(): Iam; + /** + * iam.projects.roles.create + * @desc Creates a new Role. + * @alias iam.projects.roles.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent The resource name of the parent resource in one of the following formats: `organizations/{ORGANIZATION_ID}` `projects/{PROJECT_ID}` + * @param {().CreateRoleRequest} 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 + */ + create(params?: Params$Resource$Projects$Roles$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Roles$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Roles$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * iam.projects.roles.delete + * @desc Soft deletes a role. The role is suspended and cannot be used to + * create new IAM Policy Bindings. The Role will not be included in + * `ListRoles()` unless `show_deleted` is set in the `ListRolesRequest`. The + * Role contains the deleted boolean set. Existing Bindings remains, but are + * inactive. The Role can be undeleted within 7 days. After 7 days the Role + * is deleted and all Bindings associated with the role are removed. + * @alias iam.projects.roles.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.etag Used to perform a consistent read-modify-write. + * @param {string} params.name The resource name of the role in one of the following formats: `organizations/{ORGANIZATION_ID}/roles/{ROLE_NAME}` `projects/{PROJECT_ID}/roles/{ROLE_NAME}` + * @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?: Params$Resource$Projects$Roles$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Roles$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Roles$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * iam.projects.roles.get + * @desc Gets a Role definition. + * @alias iam.projects.roles.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name of the role in one of the following formats: `roles/{ROLE_NAME}` `organizations/{ORGANIZATION_ID}/roles/{ROLE_NAME}` `projects/{PROJECT_ID}/roles/{ROLE_NAME}` + * @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?: Params$Resource$Projects$Roles$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Roles$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Roles$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * iam.projects.roles.list + * @desc Lists the Roles defined on a resource. + * @alias iam.projects.roles.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Optional limit on the number of roles to include in the response. + * @param {string=} params.pageToken Optional pagination token returned in an earlier ListRolesResponse. + * @param {string} params.parent The resource name of the parent resource in one of the following formats: `` (empty string) -- this refers to curated roles. `organizations/{ORGANIZATION_ID}` `projects/{PROJECT_ID}` + * @param {boolean=} params.showDeleted Include Roles that have been deleted. + * @param {string=} params.view Optional view for the returned Role objects. + * @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?: Params$Resource$Projects$Roles$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Roles$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Roles$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * iam.projects.roles.patch + * @desc Updates a Role definition. + * @alias iam.projects.roles.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name of the role in one of the following formats: `roles/{ROLE_NAME}` `organizations/{ORGANIZATION_ID}/roles/{ROLE_NAME}` `projects/{PROJECT_ID}/roles/{ROLE_NAME}` + * @param {string=} params.updateMask A mask describing which fields in the Role have changed. + * @param {().Role} 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 + */ + patch(params?: Params$Resource$Projects$Roles$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Roles$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Roles$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * iam.projects.roles.undelete + * @desc Undelete a Role, bringing it back in its previous state. + * @alias iam.projects.roles.undelete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name of the role in one of the following formats: `organizations/{ORGANIZATION_ID}/roles/{ROLE_NAME}` `projects/{PROJECT_ID}/roles/{ROLE_NAME}` + * @param {().UndeleteRoleRequest} 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 + */ + undelete(params?: Params$Resource$Projects$Roles$Undelete, options?: MethodOptions): AxiosPromise; + undelete(params: Params$Resource$Projects$Roles$Undelete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + undelete(params: Params$Resource$Projects$Roles$Undelete, callback: BodyResponseCallback): void; + undelete(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Roles$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the parent resource in one of the following formats: + * `organizations/{ORGANIZATION_ID}` `projects/{PROJECT_ID}` + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreateRoleRequest; + } + interface Params$Resource$Projects$Roles$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Used to perform a consistent read-modify-write. + */ + etag?: string; + /** + * The resource name of the role in one of the following formats: + * `organizations/{ORGANIZATION_ID}/roles/{ROLE_NAME}` + * `projects/{PROJECT_ID}/roles/{ROLE_NAME}` + */ + name?: string; + } + interface Params$Resource$Projects$Roles$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the role in one of the following formats: + * `roles/{ROLE_NAME}` `organizations/{ORGANIZATION_ID}/roles/{ROLE_NAME}` + * `projects/{PROJECT_ID}/roles/{ROLE_NAME}` + */ + name?: string; + } + interface Params$Resource$Projects$Roles$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional limit on the number of roles to include in the response. + */ + pageSize?: number; + /** + * Optional pagination token returned in an earlier ListRolesResponse. + */ + pageToken?: string; + /** + * The resource name of the parent resource in one of the following formats: + * `` (empty string) -- this refers to curated roles. + * `organizations/{ORGANIZATION_ID}` `projects/{PROJECT_ID}` + */ + parent?: string; + /** + * Include Roles that have been deleted. + */ + showDeleted?: boolean; + /** + * Optional view for the returned Role objects. + */ + view?: string; + } + interface Params$Resource$Projects$Roles$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the role in one of the following formats: + * `roles/{ROLE_NAME}` `organizations/{ORGANIZATION_ID}/roles/{ROLE_NAME}` + * `projects/{PROJECT_ID}/roles/{ROLE_NAME}` + */ + name?: string; + /** + * A mask describing which fields in the Role have changed. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Role; + } + interface Params$Resource$Projects$Roles$Undelete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the role in one of the following formats: + * `organizations/{ORGANIZATION_ID}/roles/{ROLE_NAME}` + * `projects/{PROJECT_ID}/roles/{ROLE_NAME}` + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UndeleteRoleRequest; + } + class Resource$Projects$Serviceaccounts { + root: Iam; + keys: Resource$Projects$Serviceaccounts$Keys; + constructor(root: Iam); + getRoot(): Iam; + /** + * iam.projects.serviceAccounts.create + * @desc Creates a ServiceAccount and returns it. + * @alias iam.projects.serviceAccounts.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The resource name of the project associated with the service accounts, such as `projects/my-project-123`. + * @param {().CreateServiceAccountRequest} 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 + */ + create(params?: Params$Resource$Projects$Serviceaccounts$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Serviceaccounts$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Serviceaccounts$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * iam.projects.serviceAccounts.delete + * @desc Deletes a ServiceAccount. + * @alias iam.projects.serviceAccounts.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name of the service account in the following format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. Using `-` as a wildcard for the `PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the `email` address or the `unique_id` of the service account. + * @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?: Params$Resource$Projects$Serviceaccounts$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Serviceaccounts$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Serviceaccounts$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * iam.projects.serviceAccounts.get + * @desc Gets a ServiceAccount. + * @alias iam.projects.serviceAccounts.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name of the service account in the following format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. Using `-` as a wildcard for the `PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the `email` address or the `unique_id` of the service account. + * @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?: Params$Resource$Projects$Serviceaccounts$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Serviceaccounts$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Serviceaccounts$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * iam.projects.serviceAccounts.getIamPolicy + * @desc Returns the IAM access control policy for a ServiceAccount. + * @alias iam.projects.serviceAccounts.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. + * @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 + */ + getIamPolicy(params?: Params$Resource$Projects$Serviceaccounts$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Projects$Serviceaccounts$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Projects$Serviceaccounts$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * iam.projects.serviceAccounts.list + * @desc Lists ServiceAccounts for a project. + * @alias iam.projects.serviceAccounts.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The resource name of the project associated with the service accounts, such as `projects/my-project-123`. + * @param {integer=} params.pageSize Optional limit on the number of service accounts to include in the response. Further accounts can subsequently be obtained by including the ListServiceAccountsResponse.next_page_token in a subsequent request. + * @param {string=} params.pageToken Optional pagination token returned in an earlier ListServiceAccountsResponse.next_page_token. + * @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?: Params$Resource$Projects$Serviceaccounts$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Serviceaccounts$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Serviceaccounts$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * iam.projects.serviceAccounts.setIamPolicy + * @desc Sets the IAM access control policy for a ServiceAccount. + * @alias iam.projects.serviceAccounts.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. + * @param {().SetIamPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Projects$Serviceaccounts$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Projects$Serviceaccounts$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Projects$Serviceaccounts$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * iam.projects.serviceAccounts.signBlob + * @desc Signs a blob using a service account's system-managed private key. + * @alias iam.projects.serviceAccounts.signBlob + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name of the service account in the following format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. Using `-` as a wildcard for the `PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the `email` address or the `unique_id` of the service account. + * @param {().SignBlobRequest} 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 + */ + signBlob(params?: Params$Resource$Projects$Serviceaccounts$Signblob, options?: MethodOptions): AxiosPromise; + signBlob(params: Params$Resource$Projects$Serviceaccounts$Signblob, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + signBlob(params: Params$Resource$Projects$Serviceaccounts$Signblob, callback: BodyResponseCallback): void; + signBlob(callback: BodyResponseCallback): void; + /** + * iam.projects.serviceAccounts.signJwt + * @desc Signs a JWT using a service account's system-managed private key. + * If no expiry time (`exp`) is provided in the `SignJwtRequest`, IAM sets + * an an expiry time of one hour by default. If you request an expiry time + * of more than one hour, the request will fail. + * @alias iam.projects.serviceAccounts.signJwt + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name of the service account in the following format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. Using `-` as a wildcard for the `PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the `email` address or the `unique_id` of the service account. + * @param {().SignJwtRequest} 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 + */ + signJwt(params?: Params$Resource$Projects$Serviceaccounts$Signjwt, options?: MethodOptions): AxiosPromise; + signJwt(params: Params$Resource$Projects$Serviceaccounts$Signjwt, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + signJwt(params: Params$Resource$Projects$Serviceaccounts$Signjwt, callback: BodyResponseCallback): void; + signJwt(callback: BodyResponseCallback): void; + /** + * iam.projects.serviceAccounts.testIamPermissions + * @desc Tests the specified permissions against the IAM access control + * policy for a ServiceAccount. + * @alias iam.projects.serviceAccounts.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. + * @param {().TestIamPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Projects$Serviceaccounts$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Projects$Serviceaccounts$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Projects$Serviceaccounts$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + /** + * iam.projects.serviceAccounts.update + * @desc Updates a ServiceAccount. Currently, only the following fields are + * updatable: `display_name` . The `etag` is mandatory. + * @alias iam.projects.serviceAccounts.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name of the service account in the following format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. Requests using `-` as a wildcard for the `PROJECT_ID` will infer the project from the `account` and the `ACCOUNT` value can be the `email` address or the `unique_id` of the service account. In responses the resource name will always be in the format `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. + * @param {().ServiceAccount} 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?: Params$Resource$Projects$Serviceaccounts$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Projects$Serviceaccounts$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Projects$Serviceaccounts$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Serviceaccounts$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of the project associated with the service + * accounts, such as `projects/my-project-123`. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreateServiceAccountRequest; + } + interface Params$Resource$Projects$Serviceaccounts$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the service account in the following format: + * `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. Using `-` as a + * wildcard for the `PROJECT_ID` will infer the project from the account. + * The `ACCOUNT` value can be the `email` address or the `unique_id` of the + * service account. + */ + name?: string; + } + interface Params$Resource$Projects$Serviceaccounts$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the service account in the following format: + * `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. Using `-` as a + * wildcard for the `PROJECT_ID` will infer the project from the account. + * The `ACCOUNT` value can be the `email` address or the `unique_id` of the + * service account. + */ + name?: string; + } + interface Params$Resource$Projects$Serviceaccounts$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being requested. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + } + interface Params$Resource$Projects$Serviceaccounts$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of the project associated with the service + * accounts, such as `projects/my-project-123`. + */ + name?: string; + /** + * Optional limit on the number of service accounts to include in the + * response. Further accounts can subsequently be obtained by including the + * ListServiceAccountsResponse.next_page_token in a subsequent request. + */ + pageSize?: number; + /** + * Optional pagination token returned in an earlier + * ListServiceAccountsResponse.next_page_token. + */ + pageToken?: string; + } + interface Params$Resource$Projects$Serviceaccounts$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being specified. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetIamPolicyRequest; + } + interface Params$Resource$Projects$Serviceaccounts$Signblob { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the service account in the following format: + * `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. Using `-` as a + * wildcard for the `PROJECT_ID` will infer the project from the account. + * The `ACCOUNT` value can be the `email` address or the `unique_id` of the + * service account. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SignBlobRequest; + } + interface Params$Resource$Projects$Serviceaccounts$Signjwt { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the service account in the following format: + * `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. Using `-` as a + * wildcard for the `PROJECT_ID` will infer the project from the account. + * The `ACCOUNT` value can be the `email` address or the `unique_id` of the + * service account. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SignJwtRequest; + } + interface Params$Resource$Projects$Serviceaccounts$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestIamPermissionsRequest; + } + interface Params$Resource$Projects$Serviceaccounts$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the service account in the following format: + * `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. Requests using `-` as + * a wildcard for the `PROJECT_ID` will infer the project from the `account` + * and the `ACCOUNT` value can be the `email` address or the `unique_id` of + * the service account. In responses the resource name will always be in + * the format `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ServiceAccount; + } + class Resource$Projects$Serviceaccounts$Keys { + root: Iam; + constructor(root: Iam); + getRoot(): Iam; + /** + * iam.projects.serviceAccounts.keys.create + * @desc Creates a ServiceAccountKey and returns it. + * @alias iam.projects.serviceAccounts.keys.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name of the service account in the following format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. Using `-` as a wildcard for the `PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the `email` address or the `unique_id` of the service account. + * @param {().CreateServiceAccountKeyRequest} 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 + */ + create(params?: Params$Resource$Projects$Serviceaccounts$Keys$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Serviceaccounts$Keys$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Serviceaccounts$Keys$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * iam.projects.serviceAccounts.keys.delete + * @desc Deletes a ServiceAccountKey. + * @alias iam.projects.serviceAccounts.keys.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name of the service account key in the following format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`. Using `-` as a wildcard for the `PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the `email` address or the `unique_id` of the service account. + * @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?: Params$Resource$Projects$Serviceaccounts$Keys$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Serviceaccounts$Keys$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Serviceaccounts$Keys$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * iam.projects.serviceAccounts.keys.get + * @desc Gets the ServiceAccountKey by key id. + * @alias iam.projects.serviceAccounts.keys.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name of the service account key in the following format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`. Using `-` as a wildcard for the `PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the `email` address or the `unique_id` of the service account. + * @param {string=} params.publicKeyType The output format of the public key requested. X509_PEM is the default output format. + * @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?: Params$Resource$Projects$Serviceaccounts$Keys$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Serviceaccounts$Keys$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Serviceaccounts$Keys$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * iam.projects.serviceAccounts.keys.list + * @desc Lists ServiceAccountKeys. + * @alias iam.projects.serviceAccounts.keys.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.keyTypes Filters the types of keys the user wants to include in the list response. Duplicate key types are not allowed. If no key type is provided, all keys are returned. + * @param {string} params.name The resource name of the service account in the following format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. Using `-` as a wildcard for the `PROJECT_ID`, will infer the project from the account. The `ACCOUNT` value can be the `email` address or the `unique_id` of the service account. + * @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?: Params$Resource$Projects$Serviceaccounts$Keys$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Serviceaccounts$Keys$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Serviceaccounts$Keys$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Serviceaccounts$Keys$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the service account in the following format: + * `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. Using `-` as a + * wildcard for the `PROJECT_ID` will infer the project from the account. + * The `ACCOUNT` value can be the `email` address or the `unique_id` of the + * service account. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreateServiceAccountKeyRequest; + } + interface Params$Resource$Projects$Serviceaccounts$Keys$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the service account key in the following format: + * `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`. Using `-` + * as a wildcard for the `PROJECT_ID` will infer the project from the + * account. The `ACCOUNT` value can be the `email` address or the + * `unique_id` of the service account. + */ + name?: string; + } + interface Params$Resource$Projects$Serviceaccounts$Keys$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the service account key in the following format: + * `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`. Using `-` + * as a wildcard for the `PROJECT_ID` will infer the project from the + * account. The `ACCOUNT` value can be the `email` address or the + * `unique_id` of the service account. + */ + name?: string; + /** + * The output format of the public key requested. X509_PEM is the default + * output format. + */ + publicKeyType?: string; + } + interface Params$Resource$Projects$Serviceaccounts$Keys$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Filters the types of keys the user wants to include in the list response. + * Duplicate key types are not allowed. If no key type is provided, all keys + * are returned. + */ + keyTypes?: string; + /** + * The resource name of the service account in the following format: + * `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. Using `-` as a + * wildcard for the `PROJECT_ID`, will infer the project from the account. + * The `ACCOUNT` value can be the `email` address or the `unique_id` of the + * service account. + */ + name?: string; + } + class Resource$Roles { + root: Iam; + constructor(root: Iam); + getRoot(): Iam; + /** + * iam.roles.get + * @desc Gets a Role definition. + * @alias iam.roles.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name of the role in one of the following formats: `roles/{ROLE_NAME}` `organizations/{ORGANIZATION_ID}/roles/{ROLE_NAME}` `projects/{PROJECT_ID}/roles/{ROLE_NAME}` + * @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?: Params$Resource$Roles$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Roles$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Roles$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * iam.roles.list + * @desc Lists the Roles defined on a resource. + * @alias iam.roles.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Optional limit on the number of roles to include in the response. + * @param {string=} params.pageToken Optional pagination token returned in an earlier ListRolesResponse. + * @param {string=} params.parent The resource name of the parent resource in one of the following formats: `` (empty string) -- this refers to curated roles. `organizations/{ORGANIZATION_ID}` `projects/{PROJECT_ID}` + * @param {boolean=} params.showDeleted Include Roles that have been deleted. + * @param {string=} params.view Optional view for the returned Role objects. + * @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?: Params$Resource$Roles$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Roles$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Roles$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * iam.roles.queryGrantableRoles + * @desc Queries roles that can be granted on a particular resource. A role + * is grantable if it can be used as the role in a binding for a policy for + * that resource. + * @alias iam.roles.queryGrantableRoles + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().QueryGrantableRolesRequest} 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 + */ + queryGrantableRoles(params?: Params$Resource$Roles$Querygrantableroles, options?: MethodOptions): AxiosPromise; + queryGrantableRoles(params: Params$Resource$Roles$Querygrantableroles, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + queryGrantableRoles(params: Params$Resource$Roles$Querygrantableroles, callback: BodyResponseCallback): void; + queryGrantableRoles(callback: BodyResponseCallback): void; + } + interface Params$Resource$Roles$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the role in one of the following formats: + * `roles/{ROLE_NAME}` `organizations/{ORGANIZATION_ID}/roles/{ROLE_NAME}` + * `projects/{PROJECT_ID}/roles/{ROLE_NAME}` + */ + name?: string; + } + interface Params$Resource$Roles$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional limit on the number of roles to include in the response. + */ + pageSize?: number; + /** + * Optional pagination token returned in an earlier ListRolesResponse. + */ + pageToken?: string; + /** + * The resource name of the parent resource in one of the following formats: + * `` (empty string) -- this refers to curated roles. + * `organizations/{ORGANIZATION_ID}` `projects/{PROJECT_ID}` + */ + parent?: string; + /** + * Include Roles that have been deleted. + */ + showDeleted?: boolean; + /** + * Optional view for the returned Role objects. + */ + view?: string; + } + interface Params$Resource$Roles$Querygrantableroles { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$QueryGrantableRolesRequest; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/iam/v1.js b/express-server/node_modules/googleapis/build/src/apis/iam/v1.js new file mode 100644 index 00000000..fc44570b --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/iam/v1.js @@ -0,0 +1,1132 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var iam_v1; +(function (iam_v1) { + /** + * Identity and Access Management (IAM) API + * + * Manages identity and access control for Google Cloud Platform resources, + * including the creation of service accounts, which you can use to + * authenticate to Google and make API calls. + * + * @example + * const {google} = require('googleapis'); + * const iam = google.iam('v1'); + * + * @namespace iam + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Iam + */ + class Iam { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.iamPolicies = new Resource$Iampolicies(this); + this.organizations = new Resource$Organizations(this); + this.permissions = new Resource$Permissions(this); + this.projects = new Resource$Projects(this); + this.roles = new Resource$Roles(this); + } + getRoot() { + return this.root; + } + } + iam_v1.Iam = Iam; + class Resource$Iampolicies { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + lintPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://iam.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/iamPolicies:lintPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + queryAuditableServices(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://iam.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/iamPolicies:queryAuditableServices') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + iam_v1.Resource$Iampolicies = Resource$Iampolicies; + class Resource$Organizations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.roles = new Resource$Organizations$Roles(root); + } + getRoot() { + return this.root; + } + } + iam_v1.Resource$Organizations = Resource$Organizations; + class Resource$Organizations$Roles { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://iam.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/roles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://iam.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://iam.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://iam.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/roles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://iam.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + undelete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://iam.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:undelete') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + iam_v1.Resource$Organizations$Roles = Resource$Organizations$Roles; + class Resource$Permissions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + queryTestablePermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://iam.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/permissions:queryTestablePermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + iam_v1.Resource$Permissions = Resource$Permissions; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.roles = new Resource$Projects$Roles(root); + this.serviceAccounts = new Resource$Projects$Serviceaccounts(root); + } + getRoot() { + return this.root; + } + } + iam_v1.Resource$Projects = Resource$Projects; + class Resource$Projects$Roles { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://iam.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/roles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://iam.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://iam.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://iam.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/roles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://iam.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + undelete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://iam.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:undelete') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + iam_v1.Resource$Projects$Roles = Resource$Projects$Roles; + class Resource$Projects$Serviceaccounts { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.keys = new Resource$Projects$Serviceaccounts$Keys(root); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://iam.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}/serviceAccounts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://iam.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://iam.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://iam.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://iam.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}/serviceAccounts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://iam.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + signBlob(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://iam.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:signBlob') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + signJwt(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://iam.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:signJwt') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://iam.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://iam.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + iam_v1.Resource$Projects$Serviceaccounts = Resource$Projects$Serviceaccounts; + class Resource$Projects$Serviceaccounts$Keys { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://iam.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}/keys').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://iam.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://iam.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://iam.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}/keys').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + iam_v1.Resource$Projects$Serviceaccounts$Keys = Resource$Projects$Serviceaccounts$Keys; + class Resource$Roles { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://iam.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://iam.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/roles').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + queryGrantableRoles(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://iam.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/roles:queryGrantableRoles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + iam_v1.Resource$Roles = Resource$Roles; +})(iam_v1 = exports.iam_v1 || (exports.iam_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/iam/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/iam/v1.js.map new file mode 100644 index 00000000..e97a9754 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/iam/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/iam/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/iamcredentials/README.md b/express-server/node_modules/googleapis/build/src/apis/iamcredentials/README.md new file mode 100644 index 00000000..625fdae3 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/iamcredentials/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/iamcredentials + +> IAM Service Account Credentials API + +## Installation + +```sh +$ npm install @google/iamcredentials +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/iamcredentials/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/iamcredentials/index.d.ts new file mode 100644 index 00000000..cac07f5e --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/iamcredentials/index.d.ts @@ -0,0 +1,6 @@ +import { iamcredentials_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof iamcredentials_v1.Iamcredentials; +}; +export declare function iamcredentials(version: 'v1'): iamcredentials_v1.Iamcredentials; +export declare function iamcredentials(options: iamcredentials_v1.Options): iamcredentials_v1.Iamcredentials; diff --git a/express-server/node_modules/googleapis/build/src/apis/iamcredentials/index.js b/express-server/node_modules/googleapis/build/src/apis/iamcredentials/index.js new file mode 100644 index 00000000..c385ec94 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/iamcredentials/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.iamcredentials_v1.Iamcredentials, +}; +function iamcredentials(versionOrOptions) { + return googleapis_common_1.getAPI('iamcredentials', versionOrOptions, exports.VERSIONS, this); +} +exports.iamcredentials = iamcredentials; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/iamcredentials/index.js.map b/express-server/node_modules/googleapis/build/src/apis/iamcredentials/index.js.map new file mode 100644 index 00000000..e7b4085c --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/iamcredentials/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/iamcredentials/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAuC;AAE1B,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,sBAAiB,CAAC,cAAc;CACvC,CAAC;AAKF,SAAgB,cAAc,CAE1B,gBAAgD;IAClD,OAAO,0BAAM,CAAI,gBAAgB,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACvE,CAAC;AAJD,wCAIC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/iamcredentials/package.json b/express-server/node_modules/googleapis/build/src/apis/iamcredentials/package.json new file mode 100644 index 00000000..1817718e --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/iamcredentials/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/iamcredentials", + "version": "0.1.0", + "description": "iamcredentials", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/iamcredentials/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/iamcredentials/v1.d.ts new file mode 100644 index 00000000..acb2c748 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/iamcredentials/v1.d.ts @@ -0,0 +1,395 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace iamcredentials_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * IAM Service Account Credentials API + * + * IAM Service Account Credentials API + * + * @example + * const {google} = require('googleapis'); + * const iamcredentials = google.iamcredentials('v1'); + * + * @namespace iamcredentials + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Iamcredentials + */ + class Iamcredentials { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + projects: Resource$Projects; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + interface Schema$GenerateAccessTokenRequest { + /** + * The sequence of service accounts in a delegation chain. Each service + * account must be granted the `roles/iam.serviceAccountTokenCreator` role + * on its next service account in the chain. The last service account in the + * chain must be granted the `roles/iam.serviceAccountTokenCreator` role on + * the service account that is specified in the `name` field of the request. + * The delegates must have the following format: + * `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}` + */ + delegates?: string[]; + /** + * The desired lifetime duration of the access token in seconds. Must be set + * to a value less than or equal to 3600 (1 hour). If a value is not + * specified, the token's lifetime will be set to a default value of one + * hour. + */ + lifetime?: string; + /** + * Code to identify the scopes to be included in the OAuth 2.0 access token. + * See https://developers.google.com/identity/protocols/googlescopes for + * more information. At least one value required. + */ + scope?: string[]; + } + interface Schema$GenerateAccessTokenResponse { + /** + * The OAuth 2.0 access token. + */ + accessToken?: string; + /** + * Token expiration time. The expiration time is always set. + */ + expireTime?: string; + } + interface Schema$GenerateIdentityBindingAccessTokenRequest { + /** + * Required. Input token. Must be in JWT format according to RFC7523 + * (https://tools.ietf.org/html/rfc7523) and must have 'kid' field + * in the header. Supported signing algorithms: RS256 (RS512, ES256, ES512 + * coming soon). Mandatory payload fields (along the lines of RFC 7523, + * section 3): - iss: issuer of the token. Must provide a discovery document + * at $iss/.well-known/openid-configuration . The document needs to + * be formatted according to section 4.2 of the OpenID Connect + * Discovery 1.0 specification. - iat: Issue time in seconds since + * epoch. Must be in the past. - exp: Expiration time in seconds since + * epoch. Must be less than 48 hours after iat. We recommend to + * create tokens that last shorter than 6 hours to improve security + * unless business reasons mandate longer expiration times. Shorter + * token lifetimes are generally more secure since tokens that have + * been exfiltrated by attackers can be used for a shorter time. you + * can configure the maximum lifetime of the incoming token in the + * configuration of the mapper. The resulting Google token will + * expire within an hour or at "exp", whichever is earlier. + * - sub: JWT subject, identity asserted in the JWT. - aud: Configured in + * the mapper policy. By default the service account email. Claims + * from the incoming token can be transferred into the output token accoding + * to the mapper configuration. The outgoing claim size is limited. Outgoing + * claims size must be less than 4kB serialized as JSON without whitespace. + * Example header: { "alg": "RS256", "kid": + * "92a4265e14ab04d4d228a48d10d4ca31610936f8" } Example payload: { + * "iss": "https://accounts.google.com", + * "iat": 1517963104, "exp": 1517966704, + * "aud": + * "https://iamcredentials.googleapis.com/google.iam.credentials.v1.CloudGaia", + * "sub": "113475438248934895348", + * "my_claims": { "additional_claim": + * "value" } } + */ + jwt?: string; + /** + * Code to identify the scopes to be included in the OAuth 2.0 access token. + * See https://developers.google.com/identity/protocols/googlescopes for + * more information. At least one value required. + */ + scope?: string[]; + } + interface Schema$GenerateIdentityBindingAccessTokenResponse { + /** + * The OAuth 2.0 access token. + */ + accessToken?: string; + /** + * Token expiration time. The expiration time is always set. + */ + expireTime?: string; + } + interface Schema$GenerateIdTokenRequest { + /** + * The audience for the token, such as the API or account that this token + * grants access to. + */ + audience?: string; + /** + * The sequence of service accounts in a delegation chain. Each service + * account must be granted the `roles/iam.serviceAccountTokenCreator` role + * on its next service account in the chain. The last service account in the + * chain must be granted the `roles/iam.serviceAccountTokenCreator` role on + * the service account that is specified in the `name` field of the request. + * The delegates must have the following format: + * `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}` + */ + delegates?: string[]; + /** + * Include the service account email in the token. If set to `true`, the + * token will contain `email` and `email_verified` claims. + */ + includeEmail?: boolean; + } + interface Schema$GenerateIdTokenResponse { + /** + * The OpenId Connect ID token. + */ + token?: string; + } + interface Schema$SignBlobRequest { + /** + * The sequence of service accounts in a delegation chain. Each service + * account must be granted the `roles/iam.serviceAccountTokenCreator` role + * on its next service account in the chain. The last service account in the + * chain must be granted the `roles/iam.serviceAccountTokenCreator` role on + * the service account that is specified in the `name` field of the request. + * The delegates must have the following format: + * `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}` + */ + delegates?: string[]; + /** + * The bytes to sign. + */ + payload?: string; + } + interface Schema$SignBlobResponse { + /** + * The ID of the key used to sign the blob. + */ + keyId?: string; + /** + * The signed blob. + */ + signedBlob?: string; + } + interface Schema$SignJwtRequest { + /** + * The sequence of service accounts in a delegation chain. Each service + * account must be granted the `roles/iam.serviceAccountTokenCreator` role + * on its next service account in the chain. The last service account in the + * chain must be granted the `roles/iam.serviceAccountTokenCreator` role on + * the service account that is specified in the `name` field of the request. + * The delegates must have the following format: + * `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}` + */ + delegates?: string[]; + /** + * The JWT payload to sign: a JSON object that contains a JWT Claims Set. + */ + payload?: string; + } + interface Schema$SignJwtResponse { + /** + * The ID of the key used to sign the JWT. + */ + keyId?: string; + /** + * The signed JWT. + */ + signedJwt?: string; + } + class Resource$Projects { + root: Iamcredentials; + serviceAccounts: Resource$Projects$Serviceaccounts; + constructor(root: Iamcredentials); + getRoot(): Iamcredentials; + } + class Resource$Projects$Serviceaccounts { + root: Iamcredentials; + constructor(root: Iamcredentials); + getRoot(): Iamcredentials; + /** + * iamcredentials.projects.serviceAccounts.generateAccessToken + * @desc Generates an OAuth 2.0 access token for a service account. + * @alias iamcredentials.projects.serviceAccounts.generateAccessToken + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name of the service account for which the credentials are requested, in the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. Using `-` as a wildcard for the project will infer the project from the account. + * @param {().GenerateAccessTokenRequest} 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 + */ + generateAccessToken(params?: Params$Resource$Projects$Serviceaccounts$Generateaccesstoken, options?: MethodOptions): AxiosPromise; + generateAccessToken(params: Params$Resource$Projects$Serviceaccounts$Generateaccesstoken, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + generateAccessToken(params: Params$Resource$Projects$Serviceaccounts$Generateaccesstoken, callback: BodyResponseCallback): void; + generateAccessToken(callback: BodyResponseCallback): void; + /** + * iamcredentials.projects.serviceAccounts.generateIdentityBindingAccessToken + * @alias + * iamcredentials.projects.serviceAccounts.generateIdentityBindingAccessToken + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name of the service account for which the credentials are requested, in the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. Use hyphen as placeholder for project id since there is no project context for this API. + * @param {().GenerateIdentityBindingAccessTokenRequest} 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 + */ + generateIdentityBindingAccessToken(params?: Params$Resource$Projects$Serviceaccounts$Generateidentitybindingaccesstoken, options?: MethodOptions): AxiosPromise; + generateIdentityBindingAccessToken(params: Params$Resource$Projects$Serviceaccounts$Generateidentitybindingaccesstoken, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + generateIdentityBindingAccessToken(params: Params$Resource$Projects$Serviceaccounts$Generateidentitybindingaccesstoken, callback: BodyResponseCallback): void; + generateIdentityBindingAccessToken(callback: BodyResponseCallback): void; + /** + * iamcredentials.projects.serviceAccounts.generateIdToken + * @desc Generates an OpenID Connect ID token for a service account. + * @alias iamcredentials.projects.serviceAccounts.generateIdToken + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name of the service account for which the credentials are requested, in the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. Using `-` as a wildcard for the project will infer the project from the account. + * @param {().GenerateIdTokenRequest} 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 + */ + generateIdToken(params?: Params$Resource$Projects$Serviceaccounts$Generateidtoken, options?: MethodOptions): AxiosPromise; + generateIdToken(params: Params$Resource$Projects$Serviceaccounts$Generateidtoken, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + generateIdToken(params: Params$Resource$Projects$Serviceaccounts$Generateidtoken, callback: BodyResponseCallback): void; + generateIdToken(callback: BodyResponseCallback): void; + /** + * iamcredentials.projects.serviceAccounts.signBlob + * @desc Signs a blob using a service account's system-managed private key. + * @alias iamcredentials.projects.serviceAccounts.signBlob + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name of the service account for which the credentials are requested, in the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. Using `-` as a wildcard for the project will infer the project from the account. + * @param {().SignBlobRequest} 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 + */ + signBlob(params?: Params$Resource$Projects$Serviceaccounts$Signblob, options?: MethodOptions): AxiosPromise; + signBlob(params: Params$Resource$Projects$Serviceaccounts$Signblob, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + signBlob(params: Params$Resource$Projects$Serviceaccounts$Signblob, callback: BodyResponseCallback): void; + signBlob(callback: BodyResponseCallback): void; + /** + * iamcredentials.projects.serviceAccounts.signJwt + * @desc Signs a JWT using a service account's system-managed private key. + * @alias iamcredentials.projects.serviceAccounts.signJwt + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name of the service account for which the credentials are requested, in the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. Using `-` as a wildcard for the project will infer the project from the account. + * @param {().SignJwtRequest} 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 + */ + signJwt(params?: Params$Resource$Projects$Serviceaccounts$Signjwt, options?: MethodOptions): AxiosPromise; + signJwt(params: Params$Resource$Projects$Serviceaccounts$Signjwt, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + signJwt(params: Params$Resource$Projects$Serviceaccounts$Signjwt, callback: BodyResponseCallback): void; + signJwt(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Serviceaccounts$Generateaccesstoken { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the service account for which the credentials are + * requested, in the following format: + * `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. Using `-` as a + * wildcard for the project will infer the project from the account. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GenerateAccessTokenRequest; + } + interface Params$Resource$Projects$Serviceaccounts$Generateidentitybindingaccesstoken { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the service account for which the credentials are + * requested, in the following format: + * `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. Use hyphen as + * placeholder for project id since there is no project context for this + * API. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GenerateIdentityBindingAccessTokenRequest; + } + interface Params$Resource$Projects$Serviceaccounts$Generateidtoken { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the service account for which the credentials are + * requested, in the following format: + * `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. Using `-` as a + * wildcard for the project will infer the project from the account. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GenerateIdTokenRequest; + } + interface Params$Resource$Projects$Serviceaccounts$Signblob { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the service account for which the credentials are + * requested, in the following format: + * `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. Using `-` as a + * wildcard for the project will infer the project from the account. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SignBlobRequest; + } + interface Params$Resource$Projects$Serviceaccounts$Signjwt { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the service account for which the credentials are + * requested, in the following format: + * `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. Using `-` as a + * wildcard for the project will infer the project from the account. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SignJwtRequest; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/iamcredentials/v1.js b/express-server/node_modules/googleapis/build/src/apis/iamcredentials/v1.js new file mode 100644 index 00000000..253761e8 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/iamcredentials/v1.js @@ -0,0 +1,231 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var iamcredentials_v1; +(function (iamcredentials_v1) { + /** + * IAM Service Account Credentials API + * + * IAM Service Account Credentials API + * + * @example + * const {google} = require('googleapis'); + * const iamcredentials = google.iamcredentials('v1'); + * + * @namespace iamcredentials + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Iamcredentials + */ + class Iamcredentials { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.projects = new Resource$Projects(this); + } + getRoot() { + return this.root; + } + } + iamcredentials_v1.Iamcredentials = Iamcredentials; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.serviceAccounts = new Resource$Projects$Serviceaccounts(root); + } + getRoot() { + return this.root; + } + } + iamcredentials_v1.Resource$Projects = Resource$Projects; + class Resource$Projects$Serviceaccounts { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + generateAccessToken(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://iamcredentials.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:generateAccessToken') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + generateIdentityBindingAccessToken(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://iamcredentials.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:generateIdentityBindingAccessToken') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + generateIdToken(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://iamcredentials.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:generateIdToken') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + signBlob(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://iamcredentials.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:signBlob') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + signJwt(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://iamcredentials.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:signJwt') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + iamcredentials_v1.Resource$Projects$Serviceaccounts = Resource$Projects$Serviceaccounts; +})(iamcredentials_v1 = exports.iamcredentials_v1 || (exports.iamcredentials_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/iamcredentials/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/iamcredentials/v1.js.map new file mode 100644 index 00000000..96839f48 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/iamcredentials/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/iamcredentials/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/iap/README.md b/express-server/node_modules/googleapis/build/src/apis/iap/README.md new file mode 100644 index 00000000..46d22adb --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/iap/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/iap + +> Controls access to cloud applications running on Google Cloud Platform. + +## Installation + +```sh +$ npm install @google/iap +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/iap/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/iap/index.d.ts new file mode 100644 index 00000000..38cf9cfb --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/iap/index.d.ts @@ -0,0 +1,6 @@ +import { iap_v1beta1 } from './v1beta1'; +export declare const VERSIONS: { + 'v1beta1': typeof iap_v1beta1.Iap; +}; +export declare function iap(version: 'v1beta1'): iap_v1beta1.Iap; +export declare function iap(options: iap_v1beta1.Options): iap_v1beta1.Iap; diff --git a/express-server/node_modules/googleapis/build/src/apis/iap/index.js b/express-server/node_modules/googleapis/build/src/apis/iap/index.js new file mode 100644 index 00000000..818b5c60 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/iap/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1beta1_1 = require("./v1beta1"); +exports.VERSIONS = { + 'v1beta1': v1beta1_1.iap_v1beta1.Iap, +}; +function iap(versionOrOptions) { + return googleapis_common_1.getAPI('iap', versionOrOptions, exports.VERSIONS, this); +} +exports.iap = iap; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/iap/index.js.map b/express-server/node_modules/googleapis/build/src/apis/iap/index.js.map new file mode 100644 index 00000000..94b2c3b9 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/iap/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/iap/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,uCAAsC;AAEzB,QAAA,QAAQ,GAAG;IACtB,SAAS,EAAE,qBAAW,CAAC,GAAG;CAC3B,CAAC;AAIF,SAAgB,GAAG,CACW,gBAA+C;IAC3E,OAAO,0BAAM,CAAI,KAAK,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAC5D,CAAC;AAHD,kBAGC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/iap/package.json b/express-server/node_modules/googleapis/build/src/apis/iap/package.json new file mode 100644 index 00000000..601cd2e8 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/iap/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/iap", + "version": "0.1.0", + "description": "iap", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/iap/v1beta1.d.ts b/express-server/node_modules/googleapis/build/src/apis/iap/v1beta1.d.ts new file mode 100644 index 00000000..3ce50ddf --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/iap/v1beta1.d.ts @@ -0,0 +1,939 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace iap_v1beta1 { + interface Options extends GlobalOptions { + version: 'v1beta1'; + } + /** + * Cloud Identity-Aware Proxy API + * + * Controls access to cloud applications running on Google Cloud Platform. + * + * @example + * const {google} = require('googleapis'); + * const iap = google.iap('v1beta1'); + * + * @namespace iap + * @type {Function} + * @version v1beta1 + * @variation v1beta1 + * @param {object=} options Options for Iap + */ + class Iap { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + projects: Resource$Projects; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Specifies the audit configuration for a service. The configuration + * determines which permission types are logged, and what identities, if any, + * are exempted from logging. An AuditConfig must have one or more + * AuditLogConfigs. If there are AuditConfigs for both `allServices` and a + * specific service, the union of the two AuditConfigs is used for that + * service: the log_types specified in each AuditConfig are enabled, and the + * exempted_members in each AuditLogConfig are exempted. Example Policy with + * multiple AuditConfigs: { "audit_configs": [ { + * "service": "allServices" "audit_log_configs": + * [ { "log_type": "DATA_READ", + * "exempted_members": [ "user:foo@gmail.com" ] }, { + * "log_type": "DATA_WRITE", }, { + * "log_type": "ADMIN_READ", } ] }, + * { "service": "fooservice.googleapis.com" + * "audit_log_configs": [ { "log_type": + * "DATA_READ", }, { "log_type": + * "DATA_WRITE", "exempted_members": [ + * "user:bar@gmail.com" ] } ] } + * ] } For fooservice, this policy enables DATA_READ, DATA_WRITE and + * ADMIN_READ logging. It also exempts foo@gmail.com from DATA_READ logging, + * and bar@gmail.com from DATA_WRITE logging. + */ + interface Schema$AuditConfig { + /** + * The configuration for logging of each type of permission. + */ + auditLogConfigs?: Schema$AuditLogConfig[]; + /** + * Specifies a service that will be enabled for audit logging. For example, + * `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a + * special value that covers all services. + */ + service?: string; + } + /** + * Provides the configuration for logging a type of permissions. Example: { + * "audit_log_configs": [ { "log_type": + * "DATA_READ", "exempted_members": [ + * "user:foo@gmail.com" ] }, { + * "log_type": "DATA_WRITE", } ] } This + * enables 'DATA_READ' and 'DATA_WRITE' logging, while + * exempting foo@gmail.com from DATA_READ logging. + */ + interface Schema$AuditLogConfig { + /** + * Specifies the identities that do not cause logging for this type of + * permission. Follows the same format of Binding.members. + */ + exemptedMembers?: string[]; + /** + * The log type that this config enables. + */ + logType?: string; + } + /** + * Associates `members` with a `role`. + */ + interface Schema$Binding { + /** + * Unimplemented. The condition that is associated with this binding. NOTE: + * an unsatisfied condition will not allow user access via current binding. + * Different bindings, including their conditions, are examined + * independently. + */ + condition?: Schema$Expr; + /** + * Specifies the identities requesting access for a Cloud Platform resource. + * `members` can have the following values: * `allUsers`: A special + * identifier that represents anyone who is on the internet; with or + * without a Google account. * `allAuthenticatedUsers`: A special + * identifier that represents anyone who is authenticated with a Google + * account or a service account. * `user:{emailid}`: An email address that + * represents a specific Google account. For example, `alice@gmail.com` . + * * `serviceAccount:{emailid}`: An email address that represents a service + * account. For example, `my-other-app@appspot.gserviceaccount.com`. * + * `group:{emailid}`: An email address that represents a Google group. For + * example, `admins@example.com`. * `domain:{domain}`: A Google Apps + * domain name that represents all the users of that domain. For example, + * `google.com` or `example.com`. + */ + members?: string[]; + /** + * Role that is assigned to `members`. For example, `roles/viewer`, + * `roles/editor`, or `roles/owner`. + */ + role?: string; + } + /** + * Represents an expression text. Example: title: "User account + * presence" description: "Determines whether the request has a + * user account" expression: "size(request.user) > 0" + */ + interface Schema$Expr { + /** + * An optional description of the expression. This is a longer text which + * describes the expression, e.g. when hovered over it in a UI. + */ + description?: string; + /** + * Textual representation of an expression in Common Expression Language + * syntax. The application context of the containing message determines + * which well-known feature set of CEL is supported. + */ + expression?: string; + /** + * An optional string indicating the location of the expression for error + * reporting, e.g. a file name and a position in the file. + */ + location?: string; + /** + * An optional title for the expression, i.e. a short string describing its + * purpose. This can be used e.g. in UIs which allow to enter the + * expression. + */ + title?: string; + } + /** + * Request message for `GetIamPolicy` method. + */ + interface Schema$GetIamPolicyRequest { + } + /** + * Defines an Identity and Access Management (IAM) policy. It is used to + * specify access control policies for Cloud Platform resources. A `Policy` + * consists of a list of `bindings`. A `binding` binds a list of `members` to + * a `role`, where the members can be user accounts, Google groups, Google + * domains, and service accounts. A `role` is a named list of permissions + * defined by IAM. **JSON Example** { "bindings": [ { + * "role": "roles/owner", "members": [ + * "user:mike@example.com", "group:admins@example.com", + * "domain:google.com", + * "serviceAccount:my-other-app@appspot.gserviceaccount.com" ] }, { + * "role": "roles/viewer", "members": + * ["user:sean@example.com"] } ] } **YAML + * Example** bindings: - members: - user:mike@example.com - + * group:admins@example.com - domain:google.com - + * serviceAccount:my-other-app@appspot.gserviceaccount.com role: + * roles/owner - members: - user:sean@example.com role: + * roles/viewer For a description of IAM and its features, see the [IAM + * developer's guide](https://cloud.google.com/iam/docs). + */ + interface Schema$Policy { + /** + * Specifies cloud audit logging configuration for this policy. + */ + auditConfigs?: Schema$AuditConfig[]; + /** + * Associates a list of `members` to a `role`. `bindings` with no members + * will result in an error. + */ + bindings?: Schema$Binding[]; + /** + * `etag` is used for optimistic concurrency control as a way to help + * prevent simultaneous updates of a policy from overwriting each other. It + * is strongly suggested that systems make use of the `etag` in the + * read-modify-write cycle to perform policy updates in order to avoid race + * conditions: An `etag` is returned in the response to `getIamPolicy`, and + * systems are expected to put that etag in the request to `setIamPolicy` to + * ensure that their change will be applied to the same version of the + * policy. If no `etag` is provided in the call to `setIamPolicy`, then the + * existing policy is overwritten blindly. + */ + etag?: string; + /** + * Deprecated. + */ + version?: number; + } + /** + * Request message for `SetIamPolicy` method. + */ + interface Schema$SetIamPolicyRequest { + /** + * REQUIRED: The complete policy to be applied to the `resource`. The size + * of the policy is limited to a few 10s of KB. An empty policy is a valid + * policy but certain Cloud Platform services (such as Projects) might + * reject them. + */ + policy?: Schema$Policy; + /** + * OPTIONAL: A FieldMask specifying which fields of the policy to modify. + * Only the fields in the mask will be modified. If no mask is provided, the + * following default mask is used: paths: "bindings, etag" This + * field is only used by Cloud IAM. + */ + updateMask?: string; + } + /** + * Request message for `TestIamPermissions` method. + */ + interface Schema$TestIamPermissionsRequest { + /** + * The set of permissions to check for the `resource`. Permissions with + * wildcards (such as '*' or 'storage.*') are not allowed. + * For more information see [IAM + * Overview](https://cloud.google.com/iam/docs/overview#permissions). + */ + permissions?: string[]; + } + /** + * Response message for `TestIamPermissions` method. + */ + interface Schema$TestIamPermissionsResponse { + /** + * A subset of `TestPermissionsRequest.permissions` that the caller is + * allowed. + */ + permissions?: string[]; + } + class Resource$Projects { + root: Iap; + iap_tunnel: Resource$Projects$Iap_tunnel; + iap_web: Resource$Projects$Iap_web; + constructor(root: Iap); + getRoot(): Iap; + } + class Resource$Projects$Iap_tunnel { + root: Iap; + zones: Resource$Projects$Iap_tunnel$Zones; + constructor(root: Iap); + getRoot(): Iap; + /** + * iap.projects.iap_tunnel.getIamPolicy + * @desc Gets the access control policy for an Identity-Aware Proxy + * protected resource. More information about managing access via IAP can be + * found at: + * https://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api + * @alias iap.projects.iap_tunnel.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. + * @param {().GetIamPolicyRequest} 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 + */ + getIamPolicy(params?: Params$Resource$Projects$Iap_tunnel$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Projects$Iap_tunnel$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Projects$Iap_tunnel$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * iap.projects.iap_tunnel.setIamPolicy + * @desc Sets the access control policy for an Identity-Aware Proxy + * protected resource. Replaces any existing policy. More information about + * managing access via IAP can be found at: + * https://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api + * @alias iap.projects.iap_tunnel.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. + * @param {().SetIamPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Projects$Iap_tunnel$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Projects$Iap_tunnel$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Projects$Iap_tunnel$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * iap.projects.iap_tunnel.testIamPermissions + * @desc Returns permissions that a caller has on the Identity-Aware Proxy + * protected resource. If the resource does not exist or the caller does not + * have Identity-Aware Proxy permissions a + * [google.rpc.Code.PERMISSION_DENIED] will be returned. More information + * about managing access via IAP can be found at: + * https://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api + * @alias iap.projects.iap_tunnel.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. + * @param {().TestIamPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Projects$Iap_tunnel$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Projects$Iap_tunnel$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Projects$Iap_tunnel$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Iap_tunnel$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being requested. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GetIamPolicyRequest; + } + interface Params$Resource$Projects$Iap_tunnel$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being specified. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetIamPolicyRequest; + } + interface Params$Resource$Projects$Iap_tunnel$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestIamPermissionsRequest; + } + class Resource$Projects$Iap_tunnel$Zones { + root: Iap; + instances: Resource$Projects$Iap_tunnel$Zones$Instances; + constructor(root: Iap); + getRoot(): Iap; + /** + * iap.projects.iap_tunnel.zones.getIamPolicy + * @desc Gets the access control policy for an Identity-Aware Proxy + * protected resource. More information about managing access via IAP can be + * found at: + * https://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api + * @alias iap.projects.iap_tunnel.zones.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. + * @param {().GetIamPolicyRequest} 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 + */ + getIamPolicy(params?: Params$Resource$Projects$Iap_tunnel$Zones$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Projects$Iap_tunnel$Zones$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Projects$Iap_tunnel$Zones$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * iap.projects.iap_tunnel.zones.setIamPolicy + * @desc Sets the access control policy for an Identity-Aware Proxy + * protected resource. Replaces any existing policy. More information about + * managing access via IAP can be found at: + * https://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api + * @alias iap.projects.iap_tunnel.zones.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. + * @param {().SetIamPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Projects$Iap_tunnel$Zones$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Projects$Iap_tunnel$Zones$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Projects$Iap_tunnel$Zones$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * iap.projects.iap_tunnel.zones.testIamPermissions + * @desc Returns permissions that a caller has on the Identity-Aware Proxy + * protected resource. If the resource does not exist or the caller does not + * have Identity-Aware Proxy permissions a + * [google.rpc.Code.PERMISSION_DENIED] will be returned. More information + * about managing access via IAP can be found at: + * https://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api + * @alias iap.projects.iap_tunnel.zones.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. + * @param {().TestIamPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Projects$Iap_tunnel$Zones$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Projects$Iap_tunnel$Zones$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Projects$Iap_tunnel$Zones$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Iap_tunnel$Zones$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being requested. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GetIamPolicyRequest; + } + interface Params$Resource$Projects$Iap_tunnel$Zones$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being specified. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetIamPolicyRequest; + } + interface Params$Resource$Projects$Iap_tunnel$Zones$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestIamPermissionsRequest; + } + class Resource$Projects$Iap_tunnel$Zones$Instances { + root: Iap; + constructor(root: Iap); + getRoot(): Iap; + /** + * iap.projects.iap_tunnel.zones.instances.getIamPolicy + * @desc Gets the access control policy for an Identity-Aware Proxy + * protected resource. More information about managing access via IAP can be + * found at: + * https://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api + * @alias iap.projects.iap_tunnel.zones.instances.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. + * @param {().GetIamPolicyRequest} 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 + */ + getIamPolicy(params?: Params$Resource$Projects$Iap_tunnel$Zones$Instances$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Projects$Iap_tunnel$Zones$Instances$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Projects$Iap_tunnel$Zones$Instances$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * iap.projects.iap_tunnel.zones.instances.setIamPolicy + * @desc Sets the access control policy for an Identity-Aware Proxy + * protected resource. Replaces any existing policy. More information about + * managing access via IAP can be found at: + * https://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api + * @alias iap.projects.iap_tunnel.zones.instances.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. + * @param {().SetIamPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Projects$Iap_tunnel$Zones$Instances$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Projects$Iap_tunnel$Zones$Instances$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Projects$Iap_tunnel$Zones$Instances$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * iap.projects.iap_tunnel.zones.instances.testIamPermissions + * @desc Returns permissions that a caller has on the Identity-Aware Proxy + * protected resource. If the resource does not exist or the caller does not + * have Identity-Aware Proxy permissions a + * [google.rpc.Code.PERMISSION_DENIED] will be returned. More information + * about managing access via IAP can be found at: + * https://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api + * @alias iap.projects.iap_tunnel.zones.instances.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. + * @param {().TestIamPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Projects$Iap_tunnel$Zones$Instances$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Projects$Iap_tunnel$Zones$Instances$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Projects$Iap_tunnel$Zones$Instances$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Iap_tunnel$Zones$Instances$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being requested. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GetIamPolicyRequest; + } + interface Params$Resource$Projects$Iap_tunnel$Zones$Instances$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being specified. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetIamPolicyRequest; + } + interface Params$Resource$Projects$Iap_tunnel$Zones$Instances$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestIamPermissionsRequest; + } + class Resource$Projects$Iap_web { + root: Iap; + services: Resource$Projects$Iap_web$Services; + constructor(root: Iap); + getRoot(): Iap; + /** + * iap.projects.iap_web.getIamPolicy + * @desc Gets the access control policy for an Identity-Aware Proxy + * protected resource. More information about managing access via IAP can be + * found at: + * https://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api + * @alias iap.projects.iap_web.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. + * @param {().GetIamPolicyRequest} 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 + */ + getIamPolicy(params?: Params$Resource$Projects$Iap_web$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Projects$Iap_web$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Projects$Iap_web$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * iap.projects.iap_web.setIamPolicy + * @desc Sets the access control policy for an Identity-Aware Proxy + * protected resource. Replaces any existing policy. More information about + * managing access via IAP can be found at: + * https://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api + * @alias iap.projects.iap_web.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. + * @param {().SetIamPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Projects$Iap_web$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Projects$Iap_web$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Projects$Iap_web$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * iap.projects.iap_web.testIamPermissions + * @desc Returns permissions that a caller has on the Identity-Aware Proxy + * protected resource. If the resource does not exist or the caller does not + * have Identity-Aware Proxy permissions a + * [google.rpc.Code.PERMISSION_DENIED] will be returned. More information + * about managing access via IAP can be found at: + * https://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api + * @alias iap.projects.iap_web.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. + * @param {().TestIamPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Projects$Iap_web$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Projects$Iap_web$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Projects$Iap_web$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Iap_web$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being requested. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GetIamPolicyRequest; + } + interface Params$Resource$Projects$Iap_web$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being specified. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetIamPolicyRequest; + } + interface Params$Resource$Projects$Iap_web$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestIamPermissionsRequest; + } + class Resource$Projects$Iap_web$Services { + root: Iap; + versions: Resource$Projects$Iap_web$Services$Versions; + constructor(root: Iap); + getRoot(): Iap; + /** + * iap.projects.iap_web.services.getIamPolicy + * @desc Gets the access control policy for an Identity-Aware Proxy + * protected resource. More information about managing access via IAP can be + * found at: + * https://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api + * @alias iap.projects.iap_web.services.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. + * @param {().GetIamPolicyRequest} 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 + */ + getIamPolicy(params?: Params$Resource$Projects$Iap_web$Services$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Projects$Iap_web$Services$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Projects$Iap_web$Services$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * iap.projects.iap_web.services.setIamPolicy + * @desc Sets the access control policy for an Identity-Aware Proxy + * protected resource. Replaces any existing policy. More information about + * managing access via IAP can be found at: + * https://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api + * @alias iap.projects.iap_web.services.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. + * @param {().SetIamPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Projects$Iap_web$Services$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Projects$Iap_web$Services$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Projects$Iap_web$Services$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * iap.projects.iap_web.services.testIamPermissions + * @desc Returns permissions that a caller has on the Identity-Aware Proxy + * protected resource. If the resource does not exist or the caller does not + * have Identity-Aware Proxy permissions a + * [google.rpc.Code.PERMISSION_DENIED] will be returned. More information + * about managing access via IAP can be found at: + * https://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api + * @alias iap.projects.iap_web.services.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. + * @param {().TestIamPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Projects$Iap_web$Services$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Projects$Iap_web$Services$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Projects$Iap_web$Services$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Iap_web$Services$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being requested. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GetIamPolicyRequest; + } + interface Params$Resource$Projects$Iap_web$Services$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being specified. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetIamPolicyRequest; + } + interface Params$Resource$Projects$Iap_web$Services$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestIamPermissionsRequest; + } + class Resource$Projects$Iap_web$Services$Versions { + root: Iap; + constructor(root: Iap); + getRoot(): Iap; + /** + * iap.projects.iap_web.services.versions.getIamPolicy + * @desc Gets the access control policy for an Identity-Aware Proxy + * protected resource. More information about managing access via IAP can be + * found at: + * https://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api + * @alias iap.projects.iap_web.services.versions.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. + * @param {().GetIamPolicyRequest} 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 + */ + getIamPolicy(params?: Params$Resource$Projects$Iap_web$Services$Versions$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Projects$Iap_web$Services$Versions$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Projects$Iap_web$Services$Versions$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * iap.projects.iap_web.services.versions.setIamPolicy + * @desc Sets the access control policy for an Identity-Aware Proxy + * protected resource. Replaces any existing policy. More information about + * managing access via IAP can be found at: + * https://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api + * @alias iap.projects.iap_web.services.versions.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. + * @param {().SetIamPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Projects$Iap_web$Services$Versions$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Projects$Iap_web$Services$Versions$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Projects$Iap_web$Services$Versions$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * iap.projects.iap_web.services.versions.testIamPermissions + * @desc Returns permissions that a caller has on the Identity-Aware Proxy + * protected resource. If the resource does not exist or the caller does not + * have Identity-Aware Proxy permissions a + * [google.rpc.Code.PERMISSION_DENIED] will be returned. More information + * about managing access via IAP can be found at: + * https://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api + * @alias iap.projects.iap_web.services.versions.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. + * @param {().TestIamPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Projects$Iap_web$Services$Versions$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Projects$Iap_web$Services$Versions$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Projects$Iap_web$Services$Versions$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Iap_web$Services$Versions$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being requested. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GetIamPolicyRequest; + } + interface Params$Resource$Projects$Iap_web$Services$Versions$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being specified. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetIamPolicyRequest; + } + interface Params$Resource$Projects$Iap_web$Services$Versions$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestIamPermissionsRequest; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/iap/v1beta1.js b/express-server/node_modules/googleapis/build/src/apis/iap/v1beta1.js new file mode 100644 index 00000000..4dc67329 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/iap/v1beta1.js @@ -0,0 +1,689 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var iap_v1beta1; +(function (iap_v1beta1) { + /** + * Cloud Identity-Aware Proxy API + * + * Controls access to cloud applications running on Google Cloud Platform. + * + * @example + * const {google} = require('googleapis'); + * const iap = google.iap('v1beta1'); + * + * @namespace iap + * @type {Function} + * @version v1beta1 + * @variation v1beta1 + * @param {object=} options Options for Iap + */ + class Iap { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.projects = new Resource$Projects(this); + } + getRoot() { + return this.root; + } + } + iap_v1beta1.Iap = Iap; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.iap_tunnel = new Resource$Projects$Iap_tunnel(root); + this.iap_web = new Resource$Projects$Iap_web(root); + } + getRoot() { + return this.root; + } + } + iap_v1beta1.Resource$Projects = Resource$Projects; + class Resource$Projects$Iap_tunnel { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.zones = new Resource$Projects$Iap_tunnel$Zones(root); + } + getRoot() { + return this.root; + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://iap.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+resource}:getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://iap.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+resource}:setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://iap.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+resource}:testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + iap_v1beta1.Resource$Projects$Iap_tunnel = Resource$Projects$Iap_tunnel; + class Resource$Projects$Iap_tunnel$Zones { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.instances = new Resource$Projects$Iap_tunnel$Zones$Instances(root); + } + getRoot() { + return this.root; + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://iap.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+resource}:getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://iap.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+resource}:setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://iap.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+resource}:testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + iap_v1beta1.Resource$Projects$Iap_tunnel$Zones = Resource$Projects$Iap_tunnel$Zones; + class Resource$Projects$Iap_tunnel$Zones$Instances { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://iap.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+resource}:getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://iap.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+resource}:setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://iap.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+resource}:testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + iap_v1beta1.Resource$Projects$Iap_tunnel$Zones$Instances = Resource$Projects$Iap_tunnel$Zones$Instances; + class Resource$Projects$Iap_web { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.services = new Resource$Projects$Iap_web$Services(root); + } + getRoot() { + return this.root; + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://iap.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+resource}:getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://iap.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+resource}:setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://iap.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+resource}:testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + iap_v1beta1.Resource$Projects$Iap_web = Resource$Projects$Iap_web; + class Resource$Projects$Iap_web$Services { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.versions = new Resource$Projects$Iap_web$Services$Versions(root); + } + getRoot() { + return this.root; + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://iap.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+resource}:getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://iap.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+resource}:setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://iap.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+resource}:testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + iap_v1beta1.Resource$Projects$Iap_web$Services = Resource$Projects$Iap_web$Services; + class Resource$Projects$Iap_web$Services$Versions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://iap.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+resource}:getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://iap.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+resource}:setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://iap.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+resource}:testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + iap_v1beta1.Resource$Projects$Iap_web$Services$Versions = Resource$Projects$Iap_web$Services$Versions; +})(iap_v1beta1 = exports.iap_v1beta1 || (exports.iap_v1beta1 = {})); +//# sourceMappingURL=v1beta1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/iap/v1beta1.js.map b/express-server/node_modules/googleapis/build/src/apis/iap/v1beta1.js.map new file mode 100644 index 00000000..82bd7b3d --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/iap/v1beta1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1beta1.js","sourceRoot":"","sources":["../../../../src/apis/iap/v1beta1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/identitytoolkit/README.md b/express-server/node_modules/googleapis/build/src/apis/identitytoolkit/README.md new file mode 100644 index 00000000..583d42be --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/identitytoolkit/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/identitytoolkit + +> Help the third party sites to implement federated login. + +## Installation + +```sh +$ npm install @google/identitytoolkit +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/identitytoolkit/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/identitytoolkit/index.d.ts new file mode 100644 index 00000000..e64ff4e8 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/identitytoolkit/index.d.ts @@ -0,0 +1,6 @@ +import { identitytoolkit_v3 } from './v3'; +export declare const VERSIONS: { + 'v3': typeof identitytoolkit_v3.Identitytoolkit; +}; +export declare function identitytoolkit(version: 'v3'): identitytoolkit_v3.Identitytoolkit; +export declare function identitytoolkit(options: identitytoolkit_v3.Options): identitytoolkit_v3.Identitytoolkit; diff --git a/express-server/node_modules/googleapis/build/src/apis/identitytoolkit/index.js b/express-server/node_modules/googleapis/build/src/apis/identitytoolkit/index.js new file mode 100644 index 00000000..6fb03dec --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/identitytoolkit/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v3_1 = require("./v3"); +exports.VERSIONS = { + 'v3': v3_1.identitytoolkit_v3.Identitytoolkit, +}; +function identitytoolkit(versionOrOptions) { + return googleapis_common_1.getAPI('identitytoolkit', versionOrOptions, exports.VERSIONS, this); +} +exports.identitytoolkit = identitytoolkit; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/identitytoolkit/index.js.map b/express-server/node_modules/googleapis/build/src/apis/identitytoolkit/index.js.map new file mode 100644 index 00000000..9f74491a --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/identitytoolkit/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/identitytoolkit/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAwC;AAE3B,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,uBAAkB,CAAC,eAAe;CACzC,CAAC;AAMF,SAAgB,eAAe,CAE3B,gBAAiD;IACnD,OAAO,0BAAM,CAAI,iBAAiB,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACxE,CAAC;AAJD,0CAIC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/identitytoolkit/package.json b/express-server/node_modules/googleapis/build/src/apis/identitytoolkit/package.json new file mode 100644 index 00000000..a7bd248d --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/identitytoolkit/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/identitytoolkit", + "version": "0.1.0", + "description": "identitytoolkit", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/identitytoolkit/v3.d.ts b/express-server/node_modules/googleapis/build/src/apis/identitytoolkit/v3.d.ts new file mode 100644 index 00000000..599af7b9 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/identitytoolkit/v3.d.ts @@ -0,0 +1,2052 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace identitytoolkit_v3 { + interface Options extends GlobalOptions { + version: 'v3'; + } + /** + * Google Identity Toolkit API + * + * Help the third party sites to implement federated login. + * + * @example + * const {google} = require('googleapis'); + * const identitytoolkit = google.identitytoolkit('v3'); + * + * @namespace identitytoolkit + * @type {Function} + * @version v3 + * @variation v3 + * @param {object=} options Options for Identitytoolkit + */ + class Identitytoolkit { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + relyingparty: Resource$Relyingparty; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Response of creating the IDP authentication URL. + */ + interface Schema$CreateAuthUriResponse { + /** + * all providers the user has once used to do federated login + */ + allProviders?: string[]; + /** + * The URI used by the IDP to authenticate the user. + */ + authUri?: string; + /** + * True if captcha is required. + */ + captchaRequired?: boolean; + /** + * True if the authUri is for user's existing provider. + */ + forExistingProvider?: boolean; + /** + * The fixed string identitytoolkit#CreateAuthUriResponse". + */ + kind?: string; + /** + * The provider ID of the auth URI. + */ + providerId?: string; + /** + * Whether the user is registered if the identifier is an email. + */ + registered?: boolean; + /** + * Session ID which should be passed in the following verifyAssertion + * request. + */ + sessionId?: string; + /** + * All sign-in methods this user has used. + */ + signinMethods?: string[]; + } + /** + * Respone of deleting account. + */ + interface Schema$DeleteAccountResponse { + /** + * The fixed string "identitytoolkit#DeleteAccountResponse". + */ + kind?: string; + } + /** + * Response of downloading accounts in batch. + */ + interface Schema$DownloadAccountResponse { + /** + * The fixed string "identitytoolkit#DownloadAccountResponse". + */ + kind?: string; + /** + * The next page token. To be used in a subsequent request to return the + * next page of results. + */ + nextPageToken?: string; + /** + * The user accounts data. + */ + users?: Schema$UserInfo[]; + } + /** + * Response of email signIn. + */ + interface Schema$EmailLinkSigninResponse { + /** + * The user's email. + */ + email?: string; + /** + * Expiration time of STS id token in seconds. + */ + expiresIn?: string; + /** + * The STS id token to login the newly signed in user. + */ + idToken?: string; + /** + * Whether the user is new. + */ + isNewUser?: boolean; + /** + * The fixed string "identitytoolkit#EmailLinkSigninResponse". + */ + kind?: string; + /** + * The RP local ID of the user. + */ + localId?: string; + /** + * The refresh token for the signed in user. + */ + refreshToken?: string; + } + /** + * Template for an email template. + */ + interface Schema$EmailTemplate { + /** + * Email body. + */ + body?: string; + /** + * Email body format. + */ + format?: string; + /** + * From address of the email. + */ + from?: string; + /** + * From display name. + */ + fromDisplayName?: string; + /** + * Reply-to address. + */ + replyTo?: string; + /** + * Subject of the email. + */ + subject?: string; + } + /** + * Response of getting account information. + */ + interface Schema$GetAccountInfoResponse { + /** + * The fixed string "identitytoolkit#GetAccountInfoResponse". + */ + kind?: string; + /** + * The info of the users. + */ + users?: Schema$UserInfo[]; + } + /** + * Response of getting a code for user confirmation (reset password, change + * email etc.). + */ + interface Schema$GetOobConfirmationCodeResponse { + /** + * The email address that the email is sent to. + */ + email?: string; + /** + * The fixed string + * "identitytoolkit#GetOobConfirmationCodeResponse". + */ + kind?: string; + /** + * The code to be send to the user. + */ + oobCode?: string; + } + /** + * Response of getting recaptcha param. + */ + interface Schema$GetRecaptchaParamResponse { + /** + * The fixed string "identitytoolkit#GetRecaptchaParamResponse". + */ + kind?: string; + /** + * Site key registered at recaptcha. + */ + recaptchaSiteKey?: string; + /** + * The stoken field for the recaptcha widget, used to request captcha + * challenge. + */ + recaptchaStoken?: string; + } + /** + * Request to get the IDP authentication URL. + */ + interface Schema$IdentitytoolkitRelyingpartyCreateAuthUriRequest { + /** + * The app ID of the mobile app, base64(CERT_SHA1):PACKAGE_NAME for Android, + * BUNDLE_ID for iOS. + */ + appId?: string; + /** + * Explicitly specify the auth flow type. Currently only support + * "CODE_FLOW" type. The field is only used for Google provider. + */ + authFlowType?: string; + /** + * The relying party OAuth client ID. + */ + clientId?: string; + /** + * The opaque value used by the client to maintain context info between the + * authentication request and the IDP callback. + */ + context?: string; + /** + * The URI to which the IDP redirects the user after the federated login + * flow. + */ + continueUri?: string; + /** + * The query parameter that client can customize by themselves in auth url. + * The following parameters are reserved for server so that they cannot be + * customized by clients: client_id, response_type, scope, redirect_uri, + * state, oauth_token. + */ + customParameter?: any; + /** + * The hosted domain to restrict sign-in to accounts at that domain for + * Google Apps hosted accounts. + */ + hostedDomain?: string; + /** + * The email or federated ID of the user. + */ + identifier?: string; + /** + * The developer's consumer key for OpenId OAuth Extension + */ + oauthConsumerKey?: string; + /** + * Additional oauth scopes, beyond the basid user profile, that the user + * would be prompted to grant + */ + oauthScope?: string; + /** + * Optional realm for OpenID protocol. The sub string + * "scheme://domain:port" of the param "continueUri" is + * used if this is not set. + */ + openidRealm?: string; + /** + * The native app package for OTA installation. + */ + otaApp?: string; + /** + * The IdP ID. For white listed IdPs it's a short domain name e.g. + * google.com, aol.com, live.net and yahoo.com. For other OpenID IdPs + * it's the OP identifier. + */ + providerId?: string; + /** + * The session_id passed by client. + */ + sessionId?: string; + /** + * For multi-tenant use cases, in order to construct sign-in URL with the + * correct IDP parameters, Firebear needs to know which Tenant to retrieve + * IDP configs from. + */ + tenantId?: string; + /** + * Tenant project number to be used for idp discovery. + */ + tenantProjectNumber?: string; + } + /** + * Request to delete account. + */ + interface Schema$IdentitytoolkitRelyingpartyDeleteAccountRequest { + /** + * GCP project number of the requesting delegated app. Currently only + * intended for Firebase V1 migration. + */ + delegatedProjectNumber?: string; + /** + * The GITKit token or STS id token of the authenticated user. + */ + idToken?: string; + /** + * The local ID of the user. + */ + localId?: string; + } + /** + * Request to download user account in batch. + */ + interface Schema$IdentitytoolkitRelyingpartyDownloadAccountRequest { + /** + * GCP project number of the requesting delegated app. Currently only + * intended for Firebase V1 migration. + */ + delegatedProjectNumber?: string; + /** + * The max number of results to return in the response. + */ + maxResults?: number; + /** + * The token for the next page. This should be taken from the previous + * response. + */ + nextPageToken?: string; + /** + * Specify which project (field value is actually project id) to operate. + * Only used when provided credential. + */ + targetProjectId?: string; + } + /** + * Request to sign in with email. + */ + interface Schema$IdentitytoolkitRelyingpartyEmailLinkSigninRequest { + /** + * The email address of the user. + */ + email?: string; + /** + * Token for linking flow. + */ + idToken?: string; + /** + * The confirmation code. + */ + oobCode?: string; + } + /** + * Request to get the account information. + */ + interface Schema$IdentitytoolkitRelyingpartyGetAccountInfoRequest { + /** + * GCP project number of the requesting delegated app. Currently only + * intended for Firebase V1 migration. + */ + delegatedProjectNumber?: string; + /** + * The list of emails of the users to inquiry. + */ + email?: string[]; + /** + * The GITKit token of the authenticated user. + */ + idToken?: string; + /** + * The list of local ID's of the users to inquiry. + */ + localId?: string[]; + /** + * Privileged caller can query users by specified phone number. + */ + phoneNumber?: string[]; + } + /** + * Response of getting the project configuration. + */ + interface Schema$IdentitytoolkitRelyingpartyGetProjectConfigResponse { + /** + * Whether to allow password user sign in or sign up. + */ + allowPasswordUser?: boolean; + /** + * Browser API key, needed when making http request to Apiary. + */ + apiKey?: string; + /** + * Authorized domains. + */ + authorizedDomains?: string[]; + /** + * Change email template. + */ + changeEmailTemplate?: Schema$EmailTemplate; + dynamicLinksDomain?: string; + /** + * Whether anonymous user is enabled. + */ + enableAnonymousUser?: boolean; + /** + * OAuth2 provider configuration. + */ + idpConfig?: Schema$IdpConfig[]; + /** + * Legacy reset password email template. + */ + legacyResetPasswordTemplate?: Schema$EmailTemplate; + /** + * Project ID of the relying party. + */ + projectId?: string; + /** + * Reset password email template. + */ + resetPasswordTemplate?: Schema$EmailTemplate; + /** + * Whether to use email sending provided by Firebear. + */ + useEmailSending?: boolean; + /** + * Verify email template. + */ + verifyEmailTemplate?: Schema$EmailTemplate; + } + /** + * Respone of getting public keys. + */ + interface Schema$IdentitytoolkitRelyingpartyGetPublicKeysResponse { + } + /** + * Request to reset the password. + */ + interface Schema$IdentitytoolkitRelyingpartyResetPasswordRequest { + /** + * The email address of the user. + */ + email?: string; + /** + * The new password inputted by the user. + */ + newPassword?: string; + /** + * The old password inputted by the user. + */ + oldPassword?: string; + /** + * The confirmation code. + */ + oobCode?: string; + } + /** + * Request for Identitytoolkit-SendVerificationCode + */ + interface Schema$IdentitytoolkitRelyingpartySendVerificationCodeRequest { + /** + * Receipt of successful app token validation with APNS. + */ + iosReceipt?: string; + /** + * Secret delivered to iOS app via APNS. + */ + iosSecret?: string; + /** + * The phone number to send the verification code to in E.164 format. + */ + phoneNumber?: string; + /** + * Recaptcha solution. + */ + recaptchaToken?: string; + } + /** + * Response for Identitytoolkit-SendVerificationCode + */ + interface Schema$IdentitytoolkitRelyingpartySendVerificationCodeResponse { + /** + * Encrypted session information + */ + sessionInfo?: string; + } + /** + * Request to set the account information. + */ + interface Schema$IdentitytoolkitRelyingpartySetAccountInfoRequest { + /** + * The captcha challenge. + */ + captchaChallenge?: string; + /** + * Response to the captcha. + */ + captchaResponse?: string; + /** + * The timestamp when the account is created. + */ + createdAt?: string; + /** + * The custom attributes to be set in the user's id token. + */ + customAttributes?: string; + /** + * GCP project number of the requesting delegated app. Currently only + * intended for Firebase V1 migration. + */ + delegatedProjectNumber?: string; + /** + * The attributes users request to delete. + */ + deleteAttribute?: string[]; + /** + * The IDPs the user request to delete. + */ + deleteProvider?: string[]; + /** + * Whether to disable the user. + */ + disableUser?: boolean; + /** + * The name of the user. + */ + displayName?: string; + /** + * The email of the user. + */ + email?: string; + /** + * Mark the email as verified or not. + */ + emailVerified?: boolean; + /** + * The GITKit token of the authenticated user. + */ + idToken?: string; + /** + * Instance id token of the app. + */ + instanceId?: string; + /** + * Last login timestamp. + */ + lastLoginAt?: string; + /** + * The local ID of the user. + */ + localId?: string; + /** + * The out-of-band code of the change email request. + */ + oobCode?: string; + /** + * The new password of the user. + */ + password?: string; + /** + * Privileged caller can update user with specified phone number. + */ + phoneNumber?: string; + /** + * The photo url of the user. + */ + photoUrl?: string; + /** + * The associated IDPs of the user. + */ + provider?: string[]; + /** + * Whether return sts id token and refresh token instead of gitkit token. + */ + returnSecureToken?: boolean; + /** + * Mark the user to upgrade to federated login. + */ + upgradeToFederatedLogin?: boolean; + /** + * Timestamp in seconds for valid login token. + */ + validSince?: string; + } + /** + * Request to set the project configuration. + */ + interface Schema$IdentitytoolkitRelyingpartySetProjectConfigRequest { + /** + * Whether to allow password user sign in or sign up. + */ + allowPasswordUser?: boolean; + /** + * Browser API key, needed when making http request to Apiary. + */ + apiKey?: string; + /** + * Authorized domains for widget redirect. + */ + authorizedDomains?: string[]; + /** + * Change email template. + */ + changeEmailTemplate?: Schema$EmailTemplate; + /** + * GCP project number of the requesting delegated app. Currently only + * intended for Firebase V1 migration. + */ + delegatedProjectNumber?: string; + /** + * Whether to enable anonymous user. + */ + enableAnonymousUser?: boolean; + /** + * Oauth2 provider configuration. + */ + idpConfig?: Schema$IdpConfig[]; + /** + * Legacy reset password email template. + */ + legacyResetPasswordTemplate?: Schema$EmailTemplate; + /** + * Reset password email template. + */ + resetPasswordTemplate?: Schema$EmailTemplate; + /** + * Whether to use email sending provided by Firebear. + */ + useEmailSending?: boolean; + /** + * Verify email template. + */ + verifyEmailTemplate?: Schema$EmailTemplate; + } + /** + * Response of setting the project configuration. + */ + interface Schema$IdentitytoolkitRelyingpartySetProjectConfigResponse { + /** + * Project ID of the relying party. + */ + projectId?: string; + } + /** + * Request to sign out user. + */ + interface Schema$IdentitytoolkitRelyingpartySignOutUserRequest { + /** + * Instance id token of the app. + */ + instanceId?: string; + /** + * The local ID of the user. + */ + localId?: string; + } + /** + * Response of signing out user. + */ + interface Schema$IdentitytoolkitRelyingpartySignOutUserResponse { + /** + * The local ID of the user. + */ + localId?: string; + } + /** + * Request to signup new user, create anonymous user or anonymous user reauth. + */ + interface Schema$IdentitytoolkitRelyingpartySignupNewUserRequest { + /** + * The captcha challenge. + */ + captchaChallenge?: string; + /** + * Response to the captcha. + */ + captchaResponse?: string; + /** + * Whether to disable the user. Only can be used by service account. + */ + disabled?: boolean; + /** + * The name of the user. + */ + displayName?: string; + /** + * The email of the user. + */ + email?: string; + /** + * Mark the email as verified or not. Only can be used by service account. + */ + emailVerified?: boolean; + /** + * The GITKit token of the authenticated user. + */ + idToken?: string; + /** + * Instance id token of the app. + */ + instanceId?: string; + /** + * Privileged caller can create user with specified user id. + */ + localId?: string; + /** + * The new password of the user. + */ + password?: string; + /** + * Privileged caller can create user with specified phone number. + */ + phoneNumber?: string; + /** + * The photo url of the user. + */ + photoUrl?: string; + /** + * For multi-tenant use cases, in order to construct sign-in URL with the + * correct IDP parameters, Firebear needs to know which Tenant to retrieve + * IDP configs from. + */ + tenantId?: string; + /** + * Tenant project number to be used for idp discovery. + */ + tenantProjectNumber?: string; + } + /** + * Request to upload user account in batch. + */ + interface Schema$IdentitytoolkitRelyingpartyUploadAccountRequest { + /** + * Whether allow overwrite existing account when user local_id exists. + */ + allowOverwrite?: boolean; + blockSize?: number; + /** + * The following 4 fields are for standard scrypt algorithm. + */ + cpuMemCost?: number; + /** + * GCP project number of the requesting delegated app. Currently only + * intended for Firebase V1 migration. + */ + delegatedProjectNumber?: string; + dkLen?: number; + /** + * The password hash algorithm. + */ + hashAlgorithm?: string; + /** + * Memory cost for hash calculation. Used by scrypt similar algorithms. + */ + memoryCost?: number; + parallelization?: number; + /** + * Rounds for hash calculation. Used by scrypt and similar algorithms. + */ + rounds?: number; + /** + * The salt separator. + */ + saltSeparator?: string; + /** + * If true, backend will do sanity check(including duplicate email and + * federated id) when uploading account. + */ + sanityCheck?: boolean; + /** + * The key for to hash the password. + */ + signerKey?: string; + /** + * Specify which project (field value is actually project id) to operate. + * Only used when provided credential. + */ + targetProjectId?: string; + /** + * The account info to be stored. + */ + users?: Schema$UserInfo[]; + } + /** + * Request to verify the IDP assertion. + */ + interface Schema$IdentitytoolkitRelyingpartyVerifyAssertionRequest { + /** + * When it's true, automatically creates a new account if the user + * doesn't exist. When it's false, allows existing user to sign in + * normally and throws exception if the user doesn't exist. + */ + autoCreate?: boolean; + /** + * GCP project number of the requesting delegated app. Currently only + * intended for Firebase V1 migration. + */ + delegatedProjectNumber?: string; + /** + * The GITKit token of the authenticated user. + */ + idToken?: string; + /** + * Instance id token of the app. + */ + instanceId?: string; + /** + * The GITKit token for the non-trusted IDP pending to be confirmed by the + * user. + */ + pendingIdToken?: string; + /** + * The post body if the request is a HTTP POST. + */ + postBody?: string; + /** + * The URI to which the IDP redirects the user back. It may contain + * federated login result params added by the IDP. + */ + requestUri?: string; + /** + * Whether return 200 and IDP credential rather than throw exception when + * federated id is already linked. + */ + returnIdpCredential?: boolean; + /** + * Whether to return refresh tokens. + */ + returnRefreshToken?: boolean; + /** + * Whether return sts id token and refresh token instead of gitkit token. + */ + returnSecureToken?: boolean; + /** + * Session ID, which should match the one in previous createAuthUri request. + */ + sessionId?: string; + /** + * For multi-tenant use cases, in order to construct sign-in URL with the + * correct IDP parameters, Firebear needs to know which Tenant to retrieve + * IDP configs from. + */ + tenantId?: string; + /** + * Tenant project number to be used for idp discovery. + */ + tenantProjectNumber?: string; + } + /** + * Request to verify a custom token + */ + interface Schema$IdentitytoolkitRelyingpartyVerifyCustomTokenRequest { + /** + * GCP project number of the requesting delegated app. Currently only + * intended for Firebase V1 migration. + */ + delegatedProjectNumber?: string; + /** + * Instance id token of the app. + */ + instanceId?: string; + /** + * Whether return sts id token and refresh token instead of gitkit token. + */ + returnSecureToken?: boolean; + /** + * The custom token to verify + */ + token?: string; + } + /** + * Request to verify the password. + */ + interface Schema$IdentitytoolkitRelyingpartyVerifyPasswordRequest { + /** + * The captcha challenge. + */ + captchaChallenge?: string; + /** + * Response to the captcha. + */ + captchaResponse?: string; + /** + * GCP project number of the requesting delegated app. Currently only + * intended for Firebase V1 migration. + */ + delegatedProjectNumber?: string; + /** + * The email of the user. + */ + email?: string; + /** + * The GITKit token of the authenticated user. + */ + idToken?: string; + /** + * Instance id token of the app. + */ + instanceId?: string; + /** + * The password inputed by the user. + */ + password?: string; + /** + * The GITKit token for the non-trusted IDP, which is to be confirmed by the + * user. + */ + pendingIdToken?: string; + /** + * Whether return sts id token and refresh token instead of gitkit token. + */ + returnSecureToken?: boolean; + /** + * For multi-tenant use cases, in order to construct sign-in URL with the + * correct IDP parameters, Firebear needs to know which Tenant to retrieve + * IDP configs from. + */ + tenantId?: string; + /** + * Tenant project number to be used for idp discovery. + */ + tenantProjectNumber?: string; + } + /** + * Request for Identitytoolkit-VerifyPhoneNumber + */ + interface Schema$IdentitytoolkitRelyingpartyVerifyPhoneNumberRequest { + code?: string; + idToken?: string; + operation?: string; + phoneNumber?: string; + /** + * The session info previously returned by + * IdentityToolkit-SendVerificationCode. + */ + sessionInfo?: string; + temporaryProof?: string; + verificationProof?: string; + } + /** + * Response for Identitytoolkit-VerifyPhoneNumber + */ + interface Schema$IdentitytoolkitRelyingpartyVerifyPhoneNumberResponse { + expiresIn?: string; + idToken?: string; + isNewUser?: boolean; + localId?: string; + phoneNumber?: string; + refreshToken?: string; + temporaryProof?: string; + temporaryProofExpiresIn?: string; + verificationProof?: string; + verificationProofExpiresIn?: string; + } + /** + * Template for a single idp configuration. + */ + interface Schema$IdpConfig { + /** + * OAuth2 client ID. + */ + clientId?: string; + /** + * Whether this IDP is enabled. + */ + enabled?: boolean; + /** + * Percent of users who will be prompted/redirected federated login for this + * IDP. + */ + experimentPercent?: number; + /** + * OAuth2 provider. + */ + provider?: string; + /** + * OAuth2 client secret. + */ + secret?: string; + /** + * Whitelisted client IDs for audience check. + */ + whitelistedAudiences?: string[]; + } + /** + * Request of getting a code for user confirmation (reset password, change + * email etc.) + */ + interface Schema$Relyingparty { + /** + * whether or not to install the android app on the device where the link is + * opened + */ + androidInstallApp?: boolean; + /** + * minimum version of the app. if the version on the device is lower than + * this version then the user is taken to the play store to upgrade the app + */ + androidMinimumVersion?: string; + /** + * android package name of the android app to handle the action code + */ + androidPackageName?: string; + /** + * whether or not the app can handle the oob code without first going to web + */ + canHandleCodeInApp?: boolean; + /** + * The recaptcha response from the user. + */ + captchaResp?: string; + /** + * The recaptcha challenge presented to the user. + */ + challenge?: string; + /** + * The url to continue to the Gitkit app + */ + continueUrl?: string; + /** + * The email of the user. + */ + email?: string; + /** + * The user's Gitkit login token for email change. + */ + idToken?: string; + /** + * iOS app store id to download the app if it's not already installed + */ + iOSAppStoreId?: string; + /** + * the iOS bundle id of iOS app to handle the action code + */ + iOSBundleId?: string; + /** + * The fixed string "identitytoolkit#relyingparty". + */ + kind?: string; + /** + * The new email if the code is for email change. + */ + newEmail?: string; + /** + * The request type. + */ + requestType?: string; + /** + * The IP address of the user. + */ + userIp?: string; + } + /** + * Response of resetting the password. + */ + interface Schema$ResetPasswordResponse { + /** + * The user's email. If the out-of-band code is for email recovery, the + * user's original email. + */ + email?: string; + /** + * The fixed string "identitytoolkit#ResetPasswordResponse". + */ + kind?: string; + /** + * If the out-of-band code is for email recovery, the user's new email. + */ + newEmail?: string; + /** + * The request type. + */ + requestType?: string; + } + /** + * Respone of setting the account information. + */ + interface Schema$SetAccountInfoResponse { + /** + * The name of the user. + */ + displayName?: string; + /** + * The email of the user. + */ + email?: string; + /** + * If email has been verified. + */ + emailVerified?: boolean; + /** + * If idToken is STS id token, then this field will be expiration time of + * STS id token in seconds. + */ + expiresIn?: string; + /** + * The Gitkit id token to login the newly sign up user. + */ + idToken?: string; + /** + * The fixed string "identitytoolkit#SetAccountInfoResponse". + */ + kind?: string; + /** + * The local ID of the user. + */ + localId?: string; + /** + * The new email the user attempts to change to. + */ + newEmail?: string; + /** + * The user's hashed password. + */ + passwordHash?: string; + /** + * The photo url of the user. + */ + photoUrl?: string; + /** + * The user's profiles at the associated IdPs. + */ + providerUserInfo?: any[]; + /** + * If idToken is STS id token, then this field will be refresh token. + */ + refreshToken?: string; + } + /** + * Response of signing up new user, creating anonymous user or anonymous user + * reauth. + */ + interface Schema$SignupNewUserResponse { + /** + * The name of the user. + */ + displayName?: string; + /** + * The email of the user. + */ + email?: string; + /** + * If idToken is STS id token, then this field will be expiration time of + * STS id token in seconds. + */ + expiresIn?: string; + /** + * The Gitkit id token to login the newly sign up user. + */ + idToken?: string; + /** + * The fixed string "identitytoolkit#SignupNewUserResponse". + */ + kind?: string; + /** + * The RP local ID of the user. + */ + localId?: string; + /** + * If idToken is STS id token, then this field will be refresh token. + */ + refreshToken?: string; + } + /** + * Respone of uploading accounts in batch. + */ + interface Schema$UploadAccountResponse { + /** + * The error encountered while processing the account info. + */ + error?: any[]; + /** + * The fixed string "identitytoolkit#UploadAccountResponse". + */ + kind?: string; + } + /** + * Template for an individual account info. + */ + interface Schema$UserInfo { + /** + * User creation timestamp. + */ + createdAt?: string; + /** + * The custom attributes to be set in the user's id token. + */ + customAttributes?: string; + /** + * Whether the user is authenticated by the developer. + */ + customAuth?: boolean; + /** + * Whether the user is disabled. + */ + disabled?: boolean; + /** + * The name of the user. + */ + displayName?: string; + /** + * The email of the user. + */ + email?: string; + /** + * Whether the email has been verified. + */ + emailVerified?: boolean; + /** + * last login timestamp. + */ + lastLoginAt?: string; + /** + * The local ID of the user. + */ + localId?: string; + /** + * The user's hashed password. + */ + passwordHash?: string; + /** + * The timestamp when the password was last updated. + */ + passwordUpdatedAt?: number; + /** + * User's phone number. + */ + phoneNumber?: string; + /** + * The URL of the user profile photo. + */ + photoUrl?: string; + /** + * The IDP of the user. + */ + providerUserInfo?: any[]; + /** + * The user's plain text password. + */ + rawPassword?: string; + /** + * The user's password salt. + */ + salt?: string; + /** + * User's screen name at Twitter or login name at Github. + */ + screenName?: string; + /** + * Timestamp in seconds for valid login token. + */ + validSince?: string; + /** + * Version of the user's password. + */ + version?: number; + } + /** + * Response of verifying the IDP assertion. + */ + interface Schema$VerifyAssertionResponse { + /** + * The action code. + */ + action?: string; + /** + * URL for OTA app installation. + */ + appInstallationUrl?: string; + /** + * The custom scheme used by mobile app. + */ + appScheme?: string; + /** + * The opaque value used by the client to maintain context info between the + * authentication request and the IDP callback. + */ + context?: string; + /** + * The birth date of the IdP account. + */ + dateOfBirth?: string; + /** + * The display name of the user. + */ + displayName?: string; + /** + * The email returned by the IdP. NOTE: The federated login user may not own + * the email. + */ + email?: string; + /** + * It's true if the email is recycled. + */ + emailRecycled?: boolean; + /** + * The value is true if the IDP is also the email provider. It means the + * user owns the email. + */ + emailVerified?: boolean; + /** + * Client error code. + */ + errorMessage?: string; + /** + * If idToken is STS id token, then this field will be expiration time of + * STS id token in seconds. + */ + expiresIn?: string; + /** + * The unique ID identifies the IdP account. + */ + federatedId?: string; + /** + * The first name of the user. + */ + firstName?: string; + /** + * The full name of the user. + */ + fullName?: string; + /** + * The ID token. + */ + idToken?: string; + /** + * It's the identifier param in the createAuthUri request if the + * identifier is an email. It can be used to check whether the user input + * email is different from the asserted email. + */ + inputEmail?: string; + /** + * True if it's a new user sign-in, false if it's a returning user. + */ + isNewUser?: boolean; + /** + * The fixed string "identitytoolkit#VerifyAssertionResponse". + */ + kind?: string; + /** + * The language preference of the user. + */ + language?: string; + /** + * The last name of the user. + */ + lastName?: string; + /** + * The RP local ID if it's already been mapped to the IdP account + * identified by the federated ID. + */ + localId?: string; + /** + * Whether the assertion is from a non-trusted IDP and need account linking + * confirmation. + */ + needConfirmation?: boolean; + /** + * Whether need client to supply email to complete the federated login flow. + */ + needEmail?: boolean; + /** + * The nick name of the user. + */ + nickName?: string; + /** + * The OAuth2 access token. + */ + oauthAccessToken?: string; + /** + * The OAuth2 authorization code. + */ + oauthAuthorizationCode?: string; + /** + * The lifetime in seconds of the OAuth2 access token. + */ + oauthExpireIn?: number; + /** + * The OIDC id token. + */ + oauthIdToken?: string; + /** + * The user approved request token for the OpenID OAuth extension. + */ + oauthRequestToken?: string; + /** + * The scope for the OpenID OAuth extension. + */ + oauthScope?: string; + /** + * The OAuth1 access token secret. + */ + oauthTokenSecret?: string; + /** + * The original email stored in the mapping storage. It's returned when + * the federated ID is associated to a different email. + */ + originalEmail?: string; + /** + * The URI of the public accessible profiel picture. + */ + photoUrl?: string; + /** + * The IdP ID. For white listed IdPs it's a short domain name e.g. + * google.com, aol.com, live.net and yahoo.com. If the + * "providerId" param is set to OpenID OP identifer other than the + * whilte listed IdPs the OP identifier is returned. If the + * "identifier" param is federated ID in the createAuthUri + * request. The domain part of the federated ID is returned. + */ + providerId?: string; + /** + * Raw IDP-returned user info. + */ + rawUserInfo?: string; + /** + * If idToken is STS id token, then this field will be refresh token. + */ + refreshToken?: string; + /** + * The screen_name of a Twitter user or the login name at Github. + */ + screenName?: string; + /** + * The timezone of the user. + */ + timeZone?: string; + /** + * When action is 'map', contains the idps which can be used for + * confirmation. + */ + verifiedProvider?: string[]; + } + /** + * Response from verifying a custom token + */ + interface Schema$VerifyCustomTokenResponse { + /** + * If idToken is STS id token, then this field will be expiration time of + * STS id token in seconds. + */ + expiresIn?: string; + /** + * The GITKit token for authenticated user. + */ + idToken?: string; + /** + * True if it's a new user sign-in, false if it's a returning user. + */ + isNewUser?: boolean; + /** + * The fixed string "identitytoolkit#VerifyCustomTokenResponse". + */ + kind?: string; + /** + * If idToken is STS id token, then this field will be refresh token. + */ + refreshToken?: string; + } + /** + * Request of verifying the password. + */ + interface Schema$VerifyPasswordResponse { + /** + * The name of the user. + */ + displayName?: string; + /** + * The email returned by the IdP. NOTE: The federated login user may not own + * the email. + */ + email?: string; + /** + * If idToken is STS id token, then this field will be expiration time of + * STS id token in seconds. + */ + expiresIn?: string; + /** + * The GITKit token for authenticated user. + */ + idToken?: string; + /** + * The fixed string "identitytoolkit#VerifyPasswordResponse". + */ + kind?: string; + /** + * The RP local ID if it's already been mapped to the IdP account + * identified by the federated ID. + */ + localId?: string; + /** + * The OAuth2 access token. + */ + oauthAccessToken?: string; + /** + * The OAuth2 authorization code. + */ + oauthAuthorizationCode?: string; + /** + * The lifetime in seconds of the OAuth2 access token. + */ + oauthExpireIn?: number; + /** + * The URI of the user's photo at IdP + */ + photoUrl?: string; + /** + * If idToken is STS id token, then this field will be refresh token. + */ + refreshToken?: string; + /** + * Whether the email is registered. + */ + registered?: boolean; + } + class Resource$Relyingparty { + root: Identitytoolkit; + constructor(root: Identitytoolkit); + getRoot(): Identitytoolkit; + /** + * identitytoolkit.relyingparty.createAuthUri + * @desc Creates the URI used by the IdP to authenticate the user. + * @alias identitytoolkit.relyingparty.createAuthUri + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().IdentitytoolkitRelyingpartyCreateAuthUriRequest} 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 + */ + createAuthUri(params?: Params$Resource$Relyingparty$Createauthuri, options?: MethodOptions): AxiosPromise; + createAuthUri(params: Params$Resource$Relyingparty$Createauthuri, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + createAuthUri(params: Params$Resource$Relyingparty$Createauthuri, callback: BodyResponseCallback): void; + createAuthUri(callback: BodyResponseCallback): void; + /** + * identitytoolkit.relyingparty.deleteAccount + * @desc Delete user account. + * @alias identitytoolkit.relyingparty.deleteAccount + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().IdentitytoolkitRelyingpartyDeleteAccountRequest} 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 + */ + deleteAccount(params?: Params$Resource$Relyingparty$Deleteaccount, options?: MethodOptions): AxiosPromise; + deleteAccount(params: Params$Resource$Relyingparty$Deleteaccount, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + deleteAccount(params: Params$Resource$Relyingparty$Deleteaccount, callback: BodyResponseCallback): void; + deleteAccount(callback: BodyResponseCallback): void; + /** + * identitytoolkit.relyingparty.downloadAccount + * @desc Batch download user accounts. + * @alias identitytoolkit.relyingparty.downloadAccount + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().IdentitytoolkitRelyingpartyDownloadAccountRequest} 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 + */ + downloadAccount(params?: Params$Resource$Relyingparty$Downloadaccount, options?: MethodOptions): AxiosPromise; + downloadAccount(params: Params$Resource$Relyingparty$Downloadaccount, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + downloadAccount(params: Params$Resource$Relyingparty$Downloadaccount, callback: BodyResponseCallback): void; + downloadAccount(callback: BodyResponseCallback): void; + /** + * identitytoolkit.relyingparty.emailLinkSignin + * @desc Reset password for a user. + * @alias identitytoolkit.relyingparty.emailLinkSignin + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().IdentitytoolkitRelyingpartyEmailLinkSigninRequest} 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 + */ + emailLinkSignin(params?: Params$Resource$Relyingparty$Emaillinksignin, options?: MethodOptions): AxiosPromise; + emailLinkSignin(params: Params$Resource$Relyingparty$Emaillinksignin, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + emailLinkSignin(params: Params$Resource$Relyingparty$Emaillinksignin, callback: BodyResponseCallback): void; + emailLinkSignin(callback: BodyResponseCallback): void; + /** + * identitytoolkit.relyingparty.getAccountInfo + * @desc Returns the account info. + * @alias identitytoolkit.relyingparty.getAccountInfo + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().IdentitytoolkitRelyingpartyGetAccountInfoRequest} 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 + */ + getAccountInfo(params?: Params$Resource$Relyingparty$Getaccountinfo, options?: MethodOptions): AxiosPromise; + getAccountInfo(params: Params$Resource$Relyingparty$Getaccountinfo, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getAccountInfo(params: Params$Resource$Relyingparty$Getaccountinfo, callback: BodyResponseCallback): void; + getAccountInfo(callback: BodyResponseCallback): void; + /** + * identitytoolkit.relyingparty.getOobConfirmationCode + * @desc Get a code for user action confirmation. + * @alias identitytoolkit.relyingparty.getOobConfirmationCode + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().Relyingparty} 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 + */ + getOobConfirmationCode(params?: Params$Resource$Relyingparty$Getoobconfirmationcode, options?: MethodOptions): AxiosPromise; + getOobConfirmationCode(params: Params$Resource$Relyingparty$Getoobconfirmationcode, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getOobConfirmationCode(params: Params$Resource$Relyingparty$Getoobconfirmationcode, callback: BodyResponseCallback): void; + getOobConfirmationCode(callback: BodyResponseCallback): void; + /** + * identitytoolkit.relyingparty.getProjectConfig + * @desc Get project configuration. + * @alias identitytoolkit.relyingparty.getProjectConfig + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {string=} params.delegatedProjectNumber Delegated GCP project number of the request. + * @param {string=} params.projectNumber GCP project number of the request. + * @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 + */ + getProjectConfig(params?: Params$Resource$Relyingparty$Getprojectconfig, options?: MethodOptions): AxiosPromise; + getProjectConfig(params: Params$Resource$Relyingparty$Getprojectconfig, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getProjectConfig(params: Params$Resource$Relyingparty$Getprojectconfig, callback: BodyResponseCallback): void; + getProjectConfig(callback: BodyResponseCallback): void; + /** + * identitytoolkit.relyingparty.getPublicKeys + * @desc Get token signing public key. + * @alias identitytoolkit.relyingparty.getPublicKeys + * @memberOf! () + * + * @param {object=} params Parameters for request + * @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 + */ + getPublicKeys(params?: Params$Resource$Relyingparty$Getpublickeys, options?: MethodOptions): AxiosPromise; + getPublicKeys(params: Params$Resource$Relyingparty$Getpublickeys, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getPublicKeys(params: Params$Resource$Relyingparty$Getpublickeys, callback: BodyResponseCallback): void; + getPublicKeys(callback: BodyResponseCallback): void; + /** + * identitytoolkit.relyingparty.getRecaptchaParam + * @desc Get recaptcha secure param. + * @alias identitytoolkit.relyingparty.getRecaptchaParam + * @memberOf! () + * + * @param {object=} params Parameters for request + * @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 + */ + getRecaptchaParam(params?: Params$Resource$Relyingparty$Getrecaptchaparam, options?: MethodOptions): AxiosPromise; + getRecaptchaParam(params: Params$Resource$Relyingparty$Getrecaptchaparam, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getRecaptchaParam(params: Params$Resource$Relyingparty$Getrecaptchaparam, callback: BodyResponseCallback): void; + getRecaptchaParam(callback: BodyResponseCallback): void; + /** + * identitytoolkit.relyingparty.resetPassword + * @desc Reset password for a user. + * @alias identitytoolkit.relyingparty.resetPassword + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().IdentitytoolkitRelyingpartyResetPasswordRequest} 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 + */ + resetPassword(params?: Params$Resource$Relyingparty$Resetpassword, options?: MethodOptions): AxiosPromise; + resetPassword(params: Params$Resource$Relyingparty$Resetpassword, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + resetPassword(params: Params$Resource$Relyingparty$Resetpassword, callback: BodyResponseCallback): void; + resetPassword(callback: BodyResponseCallback): void; + /** + * identitytoolkit.relyingparty.sendVerificationCode + * @desc Send SMS verification code. + * @alias identitytoolkit.relyingparty.sendVerificationCode + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().IdentitytoolkitRelyingpartySendVerificationCodeRequest} 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 + */ + sendVerificationCode(params?: Params$Resource$Relyingparty$Sendverificationcode, options?: MethodOptions): AxiosPromise; + sendVerificationCode(params: Params$Resource$Relyingparty$Sendverificationcode, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + sendVerificationCode(params: Params$Resource$Relyingparty$Sendverificationcode, callback: BodyResponseCallback): void; + sendVerificationCode(callback: BodyResponseCallback): void; + /** + * identitytoolkit.relyingparty.setAccountInfo + * @desc Set account info for a user. + * @alias identitytoolkit.relyingparty.setAccountInfo + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().IdentitytoolkitRelyingpartySetAccountInfoRequest} 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 + */ + setAccountInfo(params?: Params$Resource$Relyingparty$Setaccountinfo, options?: MethodOptions): AxiosPromise; + setAccountInfo(params: Params$Resource$Relyingparty$Setaccountinfo, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setAccountInfo(params: Params$Resource$Relyingparty$Setaccountinfo, callback: BodyResponseCallback): void; + setAccountInfo(callback: BodyResponseCallback): void; + /** + * identitytoolkit.relyingparty.setProjectConfig + * @desc Set project configuration. + * @alias identitytoolkit.relyingparty.setProjectConfig + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().IdentitytoolkitRelyingpartySetProjectConfigRequest} 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 + */ + setProjectConfig(params?: Params$Resource$Relyingparty$Setprojectconfig, options?: MethodOptions): AxiosPromise; + setProjectConfig(params: Params$Resource$Relyingparty$Setprojectconfig, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setProjectConfig(params: Params$Resource$Relyingparty$Setprojectconfig, callback: BodyResponseCallback): void; + setProjectConfig(callback: BodyResponseCallback): void; + /** + * identitytoolkit.relyingparty.signOutUser + * @desc Sign out user. + * @alias identitytoolkit.relyingparty.signOutUser + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().IdentitytoolkitRelyingpartySignOutUserRequest} 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 + */ + signOutUser(params?: Params$Resource$Relyingparty$Signoutuser, options?: MethodOptions): AxiosPromise; + signOutUser(params: Params$Resource$Relyingparty$Signoutuser, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + signOutUser(params: Params$Resource$Relyingparty$Signoutuser, callback: BodyResponseCallback): void; + signOutUser(callback: BodyResponseCallback): void; + /** + * identitytoolkit.relyingparty.signupNewUser + * @desc Signup new user. + * @alias identitytoolkit.relyingparty.signupNewUser + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().IdentitytoolkitRelyingpartySignupNewUserRequest} 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 + */ + signupNewUser(params?: Params$Resource$Relyingparty$Signupnewuser, options?: MethodOptions): AxiosPromise; + signupNewUser(params: Params$Resource$Relyingparty$Signupnewuser, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + signupNewUser(params: Params$Resource$Relyingparty$Signupnewuser, callback: BodyResponseCallback): void; + signupNewUser(callback: BodyResponseCallback): void; + /** + * identitytoolkit.relyingparty.uploadAccount + * @desc Batch upload existing user accounts. + * @alias identitytoolkit.relyingparty.uploadAccount + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().IdentitytoolkitRelyingpartyUploadAccountRequest} 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 + */ + uploadAccount(params?: Params$Resource$Relyingparty$Uploadaccount, options?: MethodOptions): AxiosPromise; + uploadAccount(params: Params$Resource$Relyingparty$Uploadaccount, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + uploadAccount(params: Params$Resource$Relyingparty$Uploadaccount, callback: BodyResponseCallback): void; + uploadAccount(callback: BodyResponseCallback): void; + /** + * identitytoolkit.relyingparty.verifyAssertion + * @desc Verifies the assertion returned by the IdP. + * @alias identitytoolkit.relyingparty.verifyAssertion + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().IdentitytoolkitRelyingpartyVerifyAssertionRequest} 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 + */ + verifyAssertion(params?: Params$Resource$Relyingparty$Verifyassertion, options?: MethodOptions): AxiosPromise; + verifyAssertion(params: Params$Resource$Relyingparty$Verifyassertion, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + verifyAssertion(params: Params$Resource$Relyingparty$Verifyassertion, callback: BodyResponseCallback): void; + verifyAssertion(callback: BodyResponseCallback): void; + /** + * identitytoolkit.relyingparty.verifyCustomToken + * @desc Verifies the developer asserted ID token. + * @alias identitytoolkit.relyingparty.verifyCustomToken + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().IdentitytoolkitRelyingpartyVerifyCustomTokenRequest} 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 + */ + verifyCustomToken(params?: Params$Resource$Relyingparty$Verifycustomtoken, options?: MethodOptions): AxiosPromise; + verifyCustomToken(params: Params$Resource$Relyingparty$Verifycustomtoken, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + verifyCustomToken(params: Params$Resource$Relyingparty$Verifycustomtoken, callback: BodyResponseCallback): void; + verifyCustomToken(callback: BodyResponseCallback): void; + /** + * identitytoolkit.relyingparty.verifyPassword + * @desc Verifies the user entered password. + * @alias identitytoolkit.relyingparty.verifyPassword + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().IdentitytoolkitRelyingpartyVerifyPasswordRequest} 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 + */ + verifyPassword(params?: Params$Resource$Relyingparty$Verifypassword, options?: MethodOptions): AxiosPromise; + verifyPassword(params: Params$Resource$Relyingparty$Verifypassword, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + verifyPassword(params: Params$Resource$Relyingparty$Verifypassword, callback: BodyResponseCallback): void; + verifyPassword(callback: BodyResponseCallback): void; + /** + * identitytoolkit.relyingparty.verifyPhoneNumber + * @desc Verifies ownership of a phone number and creates/updates the user + * account accordingly. + * @alias identitytoolkit.relyingparty.verifyPhoneNumber + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().IdentitytoolkitRelyingpartyVerifyPhoneNumberRequest} 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 + */ + verifyPhoneNumber(params?: Params$Resource$Relyingparty$Verifyphonenumber, options?: MethodOptions): AxiosPromise; + verifyPhoneNumber(params: Params$Resource$Relyingparty$Verifyphonenumber, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + verifyPhoneNumber(params: Params$Resource$Relyingparty$Verifyphonenumber, callback: BodyResponseCallback): void; + verifyPhoneNumber(callback: BodyResponseCallback): void; + } + interface Params$Resource$Relyingparty$Createauthuri { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$IdentitytoolkitRelyingpartyCreateAuthUriRequest; + } + interface Params$Resource$Relyingparty$Deleteaccount { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$IdentitytoolkitRelyingpartyDeleteAccountRequest; + } + interface Params$Resource$Relyingparty$Downloadaccount { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$IdentitytoolkitRelyingpartyDownloadAccountRequest; + } + interface Params$Resource$Relyingparty$Emaillinksignin { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$IdentitytoolkitRelyingpartyEmailLinkSigninRequest; + } + interface Params$Resource$Relyingparty$Getaccountinfo { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$IdentitytoolkitRelyingpartyGetAccountInfoRequest; + } + interface Params$Resource$Relyingparty$Getoobconfirmationcode { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$Relyingparty; + } + interface Params$Resource$Relyingparty$Getprojectconfig { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Delegated GCP project number of the request. + */ + delegatedProjectNumber?: string; + /** + * GCP project number of the request. + */ + projectNumber?: string; + } + interface Params$Resource$Relyingparty$Getpublickeys { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } + interface Params$Resource$Relyingparty$Getrecaptchaparam { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } + interface Params$Resource$Relyingparty$Resetpassword { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$IdentitytoolkitRelyingpartyResetPasswordRequest; + } + interface Params$Resource$Relyingparty$Sendverificationcode { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$IdentitytoolkitRelyingpartySendVerificationCodeRequest; + } + interface Params$Resource$Relyingparty$Setaccountinfo { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$IdentitytoolkitRelyingpartySetAccountInfoRequest; + } + interface Params$Resource$Relyingparty$Setprojectconfig { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$IdentitytoolkitRelyingpartySetProjectConfigRequest; + } + interface Params$Resource$Relyingparty$Signoutuser { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$IdentitytoolkitRelyingpartySignOutUserRequest; + } + interface Params$Resource$Relyingparty$Signupnewuser { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$IdentitytoolkitRelyingpartySignupNewUserRequest; + } + interface Params$Resource$Relyingparty$Uploadaccount { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$IdentitytoolkitRelyingpartyUploadAccountRequest; + } + interface Params$Resource$Relyingparty$Verifyassertion { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$IdentitytoolkitRelyingpartyVerifyAssertionRequest; + } + interface Params$Resource$Relyingparty$Verifycustomtoken { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$IdentitytoolkitRelyingpartyVerifyCustomTokenRequest; + } + interface Params$Resource$Relyingparty$Verifypassword { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$IdentitytoolkitRelyingpartyVerifyPasswordRequest; + } + interface Params$Resource$Relyingparty$Verifyphonenumber { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$IdentitytoolkitRelyingpartyVerifyPhoneNumberRequest; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/identitytoolkit/v3.js b/express-server/node_modules/googleapis/build/src/apis/identitytoolkit/v3.js new file mode 100644 index 00000000..bc0dacd3 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/identitytoolkit/v3.js @@ -0,0 +1,692 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var identitytoolkit_v3; +(function (identitytoolkit_v3) { + /** + * Google Identity Toolkit API + * + * Help the third party sites to implement federated login. + * + * @example + * const {google} = require('googleapis'); + * const identitytoolkit = google.identitytoolkit('v3'); + * + * @namespace identitytoolkit + * @type {Function} + * @version v3 + * @variation v3 + * @param {object=} options Options for Identitytoolkit + */ + class Identitytoolkit { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.relyingparty = new Resource$Relyingparty(this); + } + getRoot() { + return this.root; + } + } + identitytoolkit_v3.Identitytoolkit = Identitytoolkit; + class Resource$Relyingparty { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + createAuthUri(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/identitytoolkit/v3/relyingparty/createAuthUri') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + deleteAccount(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/identitytoolkit/v3/relyingparty/deleteAccount') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + downloadAccount(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/identitytoolkit/v3/relyingparty/downloadAccount') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + emailLinkSignin(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/identitytoolkit/v3/relyingparty/emailLinkSignin') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getAccountInfo(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/identitytoolkit/v3/relyingparty/getAccountInfo') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getOobConfirmationCode(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/identitytoolkit/v3/relyingparty/getOobConfirmationCode') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getProjectConfig(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/identitytoolkit/v3/relyingparty/getProjectConfig') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getPublicKeys(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/identitytoolkit/v3/relyingparty/publicKeys') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getRecaptchaParam(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/identitytoolkit/v3/relyingparty/getRecaptchaParam') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + resetPassword(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/identitytoolkit/v3/relyingparty/resetPassword') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + sendVerificationCode(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/identitytoolkit/v3/relyingparty/sendVerificationCode') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setAccountInfo(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/identitytoolkit/v3/relyingparty/setAccountInfo') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setProjectConfig(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/identitytoolkit/v3/relyingparty/setProjectConfig') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + signOutUser(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/identitytoolkit/v3/relyingparty/signOutUser') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + signupNewUser(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/identitytoolkit/v3/relyingparty/signupNewUser') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + uploadAccount(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/identitytoolkit/v3/relyingparty/uploadAccount') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + verifyAssertion(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/identitytoolkit/v3/relyingparty/verifyAssertion') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + verifyCustomToken(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/identitytoolkit/v3/relyingparty/verifyCustomToken') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + verifyPassword(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/identitytoolkit/v3/relyingparty/verifyPassword') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + verifyPhoneNumber(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/identitytoolkit/v3/relyingparty/verifyPhoneNumber') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + identitytoolkit_v3.Resource$Relyingparty = Resource$Relyingparty; +})(identitytoolkit_v3 = exports.identitytoolkit_v3 || (exports.identitytoolkit_v3 = {})); +//# sourceMappingURL=v3.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/identitytoolkit/v3.js.map b/express-server/node_modules/googleapis/build/src/apis/identitytoolkit/v3.js.map new file mode 100644 index 00000000..d5c78c99 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/identitytoolkit/v3.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v3.js","sourceRoot":"","sources":["../../../../src/apis/identitytoolkit/v3.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/index.d.ts new file mode 100644 index 00000000..0ac7c6f7 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/index.d.ts @@ -0,0 +1,281 @@ +import * as abusiveexperiencereport from './abusiveexperiencereport'; +import * as acceleratedmobilepageurl from './acceleratedmobilepageurl'; +import * as adexchangebuyer from './adexchangebuyer'; +import * as adexchangebuyer2 from './adexchangebuyer2'; +import * as adexperiencereport from './adexperiencereport'; +import * as admin from './admin'; +import * as adsense from './adsense'; +import * as adsensehost from './adsensehost'; +import * as analytics from './analytics'; +import * as analyticsreporting from './analyticsreporting'; +import * as androiddeviceprovisioning from './androiddeviceprovisioning'; +import * as androidenterprise from './androidenterprise'; +import * as androidmanagement from './androidmanagement'; +import * as androidpublisher from './androidpublisher'; +import * as appengine from './appengine'; +import * as appsactivity from './appsactivity'; +import * as appstate from './appstate'; +import * as bigquery from './bigquery'; +import * as bigquerydatatransfer from './bigquerydatatransfer'; +import * as binaryauthorization from './binaryauthorization'; +import * as blogger from './blogger'; +import * as books from './books'; +import * as calendar from './calendar'; +import * as chat from './chat'; +import * as civicinfo from './civicinfo'; +import * as classroom from './classroom'; +import * as cloudbilling from './cloudbilling'; +import * as cloudbuild from './cloudbuild'; +import * as clouddebugger from './clouddebugger'; +import * as clouderrorreporting from './clouderrorreporting'; +import * as cloudfunctions from './cloudfunctions'; +import * as cloudiot from './cloudiot'; +import * as cloudkms from './cloudkms'; +import * as cloudprofiler from './cloudprofiler'; +import * as cloudresourcemanager from './cloudresourcemanager'; +import * as cloudshell from './cloudshell'; +import * as cloudtasks from './cloudtasks'; +import * as cloudtrace from './cloudtrace'; +import * as composer from './composer'; +import * as compute from './compute'; +import * as container from './container'; +import * as content from './content'; +import * as customsearch from './customsearch'; +import * as dataflow from './dataflow'; +import * as dataproc from './dataproc'; +import * as datastore from './datastore'; +import * as deploymentmanager from './deploymentmanager'; +import * as dfareporting from './dfareporting'; +import * as dialogflow from './dialogflow'; +import * as digitalassetlinks from './digitalassetlinks'; +import * as discovery from './discovery'; +import * as dlp from './dlp'; +import * as dns from './dns'; +import * as doubleclickbidmanager from './doubleclickbidmanager'; +import * as doubleclicksearch from './doubleclicksearch'; +import * as drive from './drive'; +import * as file from './file'; +import * as firebasedynamiclinks from './firebasedynamiclinks'; +import * as firebaserules from './firebaserules'; +import * as firestore from './firestore'; +import * as fitness from './fitness'; +import * as fusiontables from './fusiontables'; +import * as games from './games'; +import * as gamesConfiguration from './gamesConfiguration'; +import * as gamesManagement from './gamesManagement'; +import * as genomics from './genomics'; +import * as gmail from './gmail'; +import * as groupsmigration from './groupsmigration'; +import * as groupssettings from './groupssettings'; +import * as iam from './iam'; +import * as iamcredentials from './iamcredentials'; +import * as iap from './iap'; +import * as identitytoolkit from './identitytoolkit'; +import * as indexing from './indexing'; +import * as jobs from './jobs'; +import * as kgsearch from './kgsearch'; +import * as language from './language'; +import * as licensing from './licensing'; +import * as logging from './logging'; +import * as manufacturers from './manufacturers'; +import * as mirror from './mirror'; +import * as ml from './ml'; +import * as monitoring from './monitoring'; +import * as oauth2 from './oauth2'; +import * as oslogin from './oslogin'; +import * as pagespeedonline from './pagespeedonline'; +import * as partners from './partners'; +import * as people from './people'; +import * as playcustomapp from './playcustomapp'; +import * as plus from './plus'; +import * as plusDomains from './plusDomains'; +import * as poly from './poly'; +import * as proximitybeacon from './proximitybeacon'; +import * as pubsub from './pubsub'; +import * as redis from './redis'; +import * as replicapool from './replicapool'; +import * as replicapoolupdater from './replicapoolupdater'; +import * as reseller from './reseller'; +import * as runtimeconfig from './runtimeconfig'; +import * as safebrowsing from './safebrowsing'; +import * as script from './script'; +import * as searchconsole from './searchconsole'; +import * as servicebroker from './servicebroker'; +import * as serviceconsumermanagement from './serviceconsumermanagement'; +import * as servicecontrol from './servicecontrol'; +import * as servicemanagement from './servicemanagement'; +import * as serviceusage from './serviceusage'; +import * as serviceuser from './serviceuser'; +import * as sheets from './sheets'; +import * as siteVerification from './siteVerification'; +import * as slides from './slides'; +import * as sourcerepo from './sourcerepo'; +import * as spanner from './spanner'; +import * as speech from './speech'; +import * as sqladmin from './sqladmin'; +import * as storage from './storage'; +import * as storagetransfer from './storagetransfer'; +import * as streetviewpublish from './streetviewpublish'; +import * as surveys from './surveys'; +import * as tagmanager from './tagmanager'; +import * as tasks from './tasks'; +import * as testing from './testing'; +import * as texttospeech from './texttospeech'; +import * as toolresults from './toolresults'; +import * as tpu from './tpu'; +import * as translate from './translate'; +import * as urlshortener from './urlshortener'; +import * as vault from './vault'; +import * as videointelligence from './videointelligence'; +import * as vision from './vision'; +import * as webfonts from './webfonts'; +import * as webmasters from './webmasters'; +import * as websecurityscanner from './websecurityscanner'; +import * as youtube from './youtube'; +import * as youtubeAnalytics from './youtubeAnalytics'; +import * as youtubereporting from './youtubereporting'; +export interface APIList { + [index: string]: { + [index: string]: any; + }; +} +export declare const APIS: APIList; +export declare class GeneratedAPIs { + abusiveexperiencereport: typeof abusiveexperiencereport.abusiveexperiencereport; + acceleratedmobilepageurl: typeof acceleratedmobilepageurl.acceleratedmobilepageurl; + adexchangebuyer: typeof adexchangebuyer.adexchangebuyer; + adexchangebuyer2: typeof adexchangebuyer2.adexchangebuyer2; + adexperiencereport: typeof adexperiencereport.adexperiencereport; + admin: typeof admin.admin; + adsense: typeof adsense.adsense; + adsensehost: typeof adsensehost.adsensehost; + analytics: typeof analytics.analytics; + analyticsreporting: typeof analyticsreporting.analyticsreporting; + androiddeviceprovisioning: typeof androiddeviceprovisioning.androiddeviceprovisioning; + androidenterprise: typeof androidenterprise.androidenterprise; + androidmanagement: typeof androidmanagement.androidmanagement; + androidpublisher: typeof androidpublisher.androidpublisher; + appengine: typeof appengine.appengine; + appsactivity: typeof appsactivity.appsactivity; + appstate: typeof appstate.appstate; + bigquery: typeof bigquery.bigquery; + bigquerydatatransfer: typeof bigquerydatatransfer.bigquerydatatransfer; + binaryauthorization: typeof binaryauthorization.binaryauthorization; + blogger: typeof blogger.blogger; + books: typeof books.books; + calendar: typeof calendar.calendar; + chat: typeof chat.chat; + civicinfo: typeof civicinfo.civicinfo; + classroom: typeof classroom.classroom; + cloudbilling: typeof cloudbilling.cloudbilling; + cloudbuild: typeof cloudbuild.cloudbuild; + clouddebugger: typeof clouddebugger.clouddebugger; + clouderrorreporting: typeof clouderrorreporting.clouderrorreporting; + cloudfunctions: typeof cloudfunctions.cloudfunctions; + cloudiot: typeof cloudiot.cloudiot; + cloudkms: typeof cloudkms.cloudkms; + cloudprofiler: typeof cloudprofiler.cloudprofiler; + cloudresourcemanager: typeof cloudresourcemanager.cloudresourcemanager; + cloudshell: typeof cloudshell.cloudshell; + cloudtasks: typeof cloudtasks.cloudtasks; + cloudtrace: typeof cloudtrace.cloudtrace; + composer: typeof composer.composer; + compute: typeof compute.compute; + container: typeof container.container; + content: typeof content.content; + customsearch: typeof customsearch.customsearch; + dataflow: typeof dataflow.dataflow; + dataproc: typeof dataproc.dataproc; + datastore: typeof datastore.datastore; + deploymentmanager: typeof deploymentmanager.deploymentmanager; + dfareporting: typeof dfareporting.dfareporting; + dialogflow: typeof dialogflow.dialogflow; + digitalassetlinks: typeof digitalassetlinks.digitalassetlinks; + discovery: typeof discovery.discovery; + dlp: typeof dlp.dlp; + dns: typeof dns.dns; + doubleclickbidmanager: typeof doubleclickbidmanager.doubleclickbidmanager; + doubleclicksearch: typeof doubleclicksearch.doubleclicksearch; + drive: typeof drive.drive; + file: typeof file.file; + firebasedynamiclinks: typeof firebasedynamiclinks.firebasedynamiclinks; + firebaserules: typeof firebaserules.firebaserules; + firestore: typeof firestore.firestore; + fitness: typeof fitness.fitness; + fusiontables: typeof fusiontables.fusiontables; + games: typeof games.games; + gamesConfiguration: typeof gamesConfiguration.gamesConfiguration; + gamesManagement: typeof gamesManagement.gamesManagement; + genomics: typeof genomics.genomics; + gmail: typeof gmail.gmail; + groupsmigration: typeof groupsmigration.groupsmigration; + groupssettings: typeof groupssettings.groupssettings; + iam: typeof iam.iam; + iamcredentials: typeof iamcredentials.iamcredentials; + iap: typeof iap.iap; + identitytoolkit: typeof identitytoolkit.identitytoolkit; + indexing: typeof indexing.indexing; + jobs: typeof jobs.jobs; + kgsearch: typeof kgsearch.kgsearch; + language: typeof language.language; + licensing: typeof licensing.licensing; + logging: typeof logging.logging; + manufacturers: typeof manufacturers.manufacturers; + mirror: typeof mirror.mirror; + ml: typeof ml.ml; + monitoring: typeof monitoring.monitoring; + oauth2: typeof oauth2.oauth2; + oslogin: typeof oslogin.oslogin; + pagespeedonline: typeof pagespeedonline.pagespeedonline; + partners: typeof partners.partners; + people: typeof people.people; + playcustomapp: typeof playcustomapp.playcustomapp; + plus: typeof plus.plus; + plusDomains: typeof plusDomains.plusDomains; + poly: typeof poly.poly; + proximitybeacon: typeof proximitybeacon.proximitybeacon; + pubsub: typeof pubsub.pubsub; + redis: typeof redis.redis; + replicapool: typeof replicapool.replicapool; + replicapoolupdater: typeof replicapoolupdater.replicapoolupdater; + reseller: typeof reseller.reseller; + runtimeconfig: typeof runtimeconfig.runtimeconfig; + safebrowsing: typeof safebrowsing.safebrowsing; + script: typeof script.script; + searchconsole: typeof searchconsole.searchconsole; + servicebroker: typeof servicebroker.servicebroker; + serviceconsumermanagement: typeof serviceconsumermanagement.serviceconsumermanagement; + servicecontrol: typeof servicecontrol.servicecontrol; + servicemanagement: typeof servicemanagement.servicemanagement; + serviceusage: typeof serviceusage.serviceusage; + serviceuser: typeof serviceuser.serviceuser; + sheets: typeof sheets.sheets; + siteVerification: typeof siteVerification.siteVerification; + slides: typeof slides.slides; + sourcerepo: typeof sourcerepo.sourcerepo; + spanner: typeof spanner.spanner; + speech: typeof speech.speech; + sqladmin: typeof sqladmin.sqladmin; + storage: typeof storage.storage; + storagetransfer: typeof storagetransfer.storagetransfer; + streetviewpublish: typeof streetviewpublish.streetviewpublish; + surveys: typeof surveys.surveys; + tagmanager: typeof tagmanager.tagmanager; + tasks: typeof tasks.tasks; + testing: typeof testing.testing; + texttospeech: typeof texttospeech.texttospeech; + toolresults: typeof toolresults.toolresults; + tpu: typeof tpu.tpu; + translate: typeof translate.translate; + urlshortener: typeof urlshortener.urlshortener; + vault: typeof vault.vault; + videointelligence: typeof videointelligence.videointelligence; + vision: typeof vision.vision; + webfonts: typeof webfonts.webfonts; + webmasters: typeof webmasters.webmasters; + websecurityscanner: typeof websecurityscanner.websecurityscanner; + youtube: typeof youtube.youtube; + youtubeAnalytics: typeof youtubeAnalytics.youtubeAnalytics; + youtubereporting: typeof youtubereporting.youtubereporting; + constructor(); +} diff --git a/express-server/node_modules/googleapis/build/src/apis/index.js b/express-server/node_modules/googleapis/build/src/apis/index.js new file mode 100644 index 00000000..c3d4e6aa --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/index.js @@ -0,0 +1,566 @@ +"use strict"; +// Copyright 2012-2016, Google, Inc. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +const abusiveexperiencereport = require("./abusiveexperiencereport"); +const acceleratedmobilepageurl = require("./acceleratedmobilepageurl"); +const adexchangebuyer = require("./adexchangebuyer"); +const adexchangebuyer2 = require("./adexchangebuyer2"); +const adexperiencereport = require("./adexperiencereport"); +const admin = require("./admin"); +const adsense = require("./adsense"); +const adsensehost = require("./adsensehost"); +const analytics = require("./analytics"); +const analyticsreporting = require("./analyticsreporting"); +const androiddeviceprovisioning = require("./androiddeviceprovisioning"); +const androidenterprise = require("./androidenterprise"); +const androidmanagement = require("./androidmanagement"); +const androidpublisher = require("./androidpublisher"); +const appengine = require("./appengine"); +const appsactivity = require("./appsactivity"); +const appstate = require("./appstate"); +const bigquery = require("./bigquery"); +const bigquerydatatransfer = require("./bigquerydatatransfer"); +const binaryauthorization = require("./binaryauthorization"); +const blogger = require("./blogger"); +const books = require("./books"); +const calendar = require("./calendar"); +const chat = require("./chat"); +const civicinfo = require("./civicinfo"); +const classroom = require("./classroom"); +const cloudbilling = require("./cloudbilling"); +const cloudbuild = require("./cloudbuild"); +const clouddebugger = require("./clouddebugger"); +const clouderrorreporting = require("./clouderrorreporting"); +const cloudfunctions = require("./cloudfunctions"); +const cloudiot = require("./cloudiot"); +const cloudkms = require("./cloudkms"); +const cloudprofiler = require("./cloudprofiler"); +const cloudresourcemanager = require("./cloudresourcemanager"); +const cloudshell = require("./cloudshell"); +const cloudtasks = require("./cloudtasks"); +const cloudtrace = require("./cloudtrace"); +const composer = require("./composer"); +const compute = require("./compute"); +const container = require("./container"); +const content = require("./content"); +const customsearch = require("./customsearch"); +const dataflow = require("./dataflow"); +const dataproc = require("./dataproc"); +const datastore = require("./datastore"); +const deploymentmanager = require("./deploymentmanager"); +const dfareporting = require("./dfareporting"); +const dialogflow = require("./dialogflow"); +const digitalassetlinks = require("./digitalassetlinks"); +const discovery = require("./discovery"); +const dlp = require("./dlp"); +const dns = require("./dns"); +const doubleclickbidmanager = require("./doubleclickbidmanager"); +const doubleclicksearch = require("./doubleclicksearch"); +const drive = require("./drive"); +const file = require("./file"); +const firebasedynamiclinks = require("./firebasedynamiclinks"); +const firebaserules = require("./firebaserules"); +const firestore = require("./firestore"); +const fitness = require("./fitness"); +const fusiontables = require("./fusiontables"); +const games = require("./games"); +const gamesConfiguration = require("./gamesConfiguration"); +const gamesManagement = require("./gamesManagement"); +const genomics = require("./genomics"); +const gmail = require("./gmail"); +const groupsmigration = require("./groupsmigration"); +const groupssettings = require("./groupssettings"); +const iam = require("./iam"); +const iamcredentials = require("./iamcredentials"); +const iap = require("./iap"); +const identitytoolkit = require("./identitytoolkit"); +const indexing = require("./indexing"); +const jobs = require("./jobs"); +const kgsearch = require("./kgsearch"); +const language = require("./language"); +const licensing = require("./licensing"); +const logging = require("./logging"); +const manufacturers = require("./manufacturers"); +const mirror = require("./mirror"); +const ml = require("./ml"); +const monitoring = require("./monitoring"); +const oauth2 = require("./oauth2"); +const oslogin = require("./oslogin"); +const pagespeedonline = require("./pagespeedonline"); +const partners = require("./partners"); +const people = require("./people"); +const playcustomapp = require("./playcustomapp"); +const plus = require("./plus"); +const plusDomains = require("./plusDomains"); +const poly = require("./poly"); +const proximitybeacon = require("./proximitybeacon"); +const pubsub = require("./pubsub"); +const redis = require("./redis"); +const replicapool = require("./replicapool"); +const replicapoolupdater = require("./replicapoolupdater"); +const reseller = require("./reseller"); +const runtimeconfig = require("./runtimeconfig"); +const safebrowsing = require("./safebrowsing"); +const script = require("./script"); +const searchconsole = require("./searchconsole"); +const servicebroker = require("./servicebroker"); +const serviceconsumermanagement = require("./serviceconsumermanagement"); +const servicecontrol = require("./servicecontrol"); +const servicemanagement = require("./servicemanagement"); +const serviceusage = require("./serviceusage"); +const serviceuser = require("./serviceuser"); +const sheets = require("./sheets"); +const siteVerification = require("./siteVerification"); +const slides = require("./slides"); +const sourcerepo = require("./sourcerepo"); +const spanner = require("./spanner"); +const speech = require("./speech"); +const sqladmin = require("./sqladmin"); +const storage = require("./storage"); +const storagetransfer = require("./storagetransfer"); +const streetviewpublish = require("./streetviewpublish"); +const surveys = require("./surveys"); +const tagmanager = require("./tagmanager"); +const tasks = require("./tasks"); +const testing = require("./testing"); +const texttospeech = require("./texttospeech"); +const toolresults = require("./toolresults"); +const tpu = require("./tpu"); +const translate = require("./translate"); +const urlshortener = require("./urlshortener"); +const vault = require("./vault"); +const videointelligence = require("./videointelligence"); +const vision = require("./vision"); +const webfonts = require("./webfonts"); +const webmasters = require("./webmasters"); +const websecurityscanner = require("./websecurityscanner"); +const youtube = require("./youtube"); +const youtubeAnalytics = require("./youtubeAnalytics"); +const youtubereporting = require("./youtubereporting"); +exports.APIS = { + abusiveexperiencereport: abusiveexperiencereport.VERSIONS, + acceleratedmobilepageurl: acceleratedmobilepageurl.VERSIONS, + adexchangebuyer: adexchangebuyer.VERSIONS, + adexchangebuyer2: adexchangebuyer2.VERSIONS, + adexperiencereport: adexperiencereport.VERSIONS, + admin: admin.VERSIONS, + adsense: adsense.VERSIONS, + adsensehost: adsensehost.VERSIONS, + analytics: analytics.VERSIONS, + analyticsreporting: analyticsreporting.VERSIONS, + androiddeviceprovisioning: androiddeviceprovisioning.VERSIONS, + androidenterprise: androidenterprise.VERSIONS, + androidmanagement: androidmanagement.VERSIONS, + androidpublisher: androidpublisher.VERSIONS, + appengine: appengine.VERSIONS, + appsactivity: appsactivity.VERSIONS, + appstate: appstate.VERSIONS, + bigquery: bigquery.VERSIONS, + bigquerydatatransfer: bigquerydatatransfer.VERSIONS, + binaryauthorization: binaryauthorization.VERSIONS, + blogger: blogger.VERSIONS, + books: books.VERSIONS, + calendar: calendar.VERSIONS, + chat: chat.VERSIONS, + civicinfo: civicinfo.VERSIONS, + classroom: classroom.VERSIONS, + cloudbilling: cloudbilling.VERSIONS, + cloudbuild: cloudbuild.VERSIONS, + clouddebugger: clouddebugger.VERSIONS, + clouderrorreporting: clouderrorreporting.VERSIONS, + cloudfunctions: cloudfunctions.VERSIONS, + cloudiot: cloudiot.VERSIONS, + cloudkms: cloudkms.VERSIONS, + cloudprofiler: cloudprofiler.VERSIONS, + cloudresourcemanager: cloudresourcemanager.VERSIONS, + cloudshell: cloudshell.VERSIONS, + cloudtasks: cloudtasks.VERSIONS, + cloudtrace: cloudtrace.VERSIONS, + composer: composer.VERSIONS, + compute: compute.VERSIONS, + container: container.VERSIONS, + content: content.VERSIONS, + customsearch: customsearch.VERSIONS, + dataflow: dataflow.VERSIONS, + dataproc: dataproc.VERSIONS, + datastore: datastore.VERSIONS, + deploymentmanager: deploymentmanager.VERSIONS, + dfareporting: dfareporting.VERSIONS, + dialogflow: dialogflow.VERSIONS, + digitalassetlinks: digitalassetlinks.VERSIONS, + discovery: discovery.VERSIONS, + dlp: dlp.VERSIONS, + dns: dns.VERSIONS, + doubleclickbidmanager: doubleclickbidmanager.VERSIONS, + doubleclicksearch: doubleclicksearch.VERSIONS, + drive: drive.VERSIONS, + file: file.VERSIONS, + firebasedynamiclinks: firebasedynamiclinks.VERSIONS, + firebaserules: firebaserules.VERSIONS, + firestore: firestore.VERSIONS, + fitness: fitness.VERSIONS, + fusiontables: fusiontables.VERSIONS, + games: games.VERSIONS, + gamesConfiguration: gamesConfiguration.VERSIONS, + gamesManagement: gamesManagement.VERSIONS, + genomics: genomics.VERSIONS, + gmail: gmail.VERSIONS, + groupsmigration: groupsmigration.VERSIONS, + groupssettings: groupssettings.VERSIONS, + iam: iam.VERSIONS, + iamcredentials: iamcredentials.VERSIONS, + iap: iap.VERSIONS, + identitytoolkit: identitytoolkit.VERSIONS, + indexing: indexing.VERSIONS, + jobs: jobs.VERSIONS, + kgsearch: kgsearch.VERSIONS, + language: language.VERSIONS, + licensing: licensing.VERSIONS, + logging: logging.VERSIONS, + manufacturers: manufacturers.VERSIONS, + mirror: mirror.VERSIONS, + ml: ml.VERSIONS, + monitoring: monitoring.VERSIONS, + oauth2: oauth2.VERSIONS, + oslogin: oslogin.VERSIONS, + pagespeedonline: pagespeedonline.VERSIONS, + partners: partners.VERSIONS, + people: people.VERSIONS, + playcustomapp: playcustomapp.VERSIONS, + plus: plus.VERSIONS, + plusDomains: plusDomains.VERSIONS, + poly: poly.VERSIONS, + proximitybeacon: proximitybeacon.VERSIONS, + pubsub: pubsub.VERSIONS, + redis: redis.VERSIONS, + replicapool: replicapool.VERSIONS, + replicapoolupdater: replicapoolupdater.VERSIONS, + reseller: reseller.VERSIONS, + runtimeconfig: runtimeconfig.VERSIONS, + safebrowsing: safebrowsing.VERSIONS, + script: script.VERSIONS, + searchconsole: searchconsole.VERSIONS, + servicebroker: servicebroker.VERSIONS, + serviceconsumermanagement: serviceconsumermanagement.VERSIONS, + servicecontrol: servicecontrol.VERSIONS, + servicemanagement: servicemanagement.VERSIONS, + serviceusage: serviceusage.VERSIONS, + serviceuser: serviceuser.VERSIONS, + sheets: sheets.VERSIONS, + siteVerification: siteVerification.VERSIONS, + slides: slides.VERSIONS, + sourcerepo: sourcerepo.VERSIONS, + spanner: spanner.VERSIONS, + speech: speech.VERSIONS, + sqladmin: sqladmin.VERSIONS, + storage: storage.VERSIONS, + storagetransfer: storagetransfer.VERSIONS, + streetviewpublish: streetviewpublish.VERSIONS, + surveys: surveys.VERSIONS, + tagmanager: tagmanager.VERSIONS, + tasks: tasks.VERSIONS, + testing: testing.VERSIONS, + texttospeech: texttospeech.VERSIONS, + toolresults: toolresults.VERSIONS, + tpu: tpu.VERSIONS, + translate: translate.VERSIONS, + urlshortener: urlshortener.VERSIONS, + vault: vault.VERSIONS, + videointelligence: videointelligence.VERSIONS, + vision: vision.VERSIONS, + webfonts: webfonts.VERSIONS, + webmasters: webmasters.VERSIONS, + websecurityscanner: websecurityscanner.VERSIONS, + youtube: youtube.VERSIONS, + youtubeAnalytics: youtubeAnalytics.VERSIONS, + youtubereporting: youtubereporting.VERSIONS, +}; +class GeneratedAPIs { + constructor() { + this.abusiveexperiencereport = abusiveexperiencereport.abusiveexperiencereport; + this.acceleratedmobilepageurl = acceleratedmobilepageurl.acceleratedmobilepageurl; + this.adexchangebuyer = adexchangebuyer.adexchangebuyer; + this.adexchangebuyer2 = adexchangebuyer2.adexchangebuyer2; + this.adexperiencereport = adexperiencereport.adexperiencereport; + this.admin = admin.admin; + this.adsense = adsense.adsense; + this.adsensehost = adsensehost.adsensehost; + this.analytics = analytics.analytics; + this.analyticsreporting = analyticsreporting.analyticsreporting; + this.androiddeviceprovisioning = androiddeviceprovisioning.androiddeviceprovisioning; + this.androidenterprise = androidenterprise.androidenterprise; + this.androidmanagement = androidmanagement.androidmanagement; + this.androidpublisher = androidpublisher.androidpublisher; + this.appengine = appengine.appengine; + this.appsactivity = appsactivity.appsactivity; + this.appstate = appstate.appstate; + this.bigquery = bigquery.bigquery; + this.bigquerydatatransfer = bigquerydatatransfer.bigquerydatatransfer; + this.binaryauthorization = binaryauthorization.binaryauthorization; + this.blogger = blogger.blogger; + this.books = books.books; + this.calendar = calendar.calendar; + this.chat = chat.chat; + this.civicinfo = civicinfo.civicinfo; + this.classroom = classroom.classroom; + this.cloudbilling = cloudbilling.cloudbilling; + this.cloudbuild = cloudbuild.cloudbuild; + this.clouddebugger = clouddebugger.clouddebugger; + this.clouderrorreporting = clouderrorreporting.clouderrorreporting; + this.cloudfunctions = cloudfunctions.cloudfunctions; + this.cloudiot = cloudiot.cloudiot; + this.cloudkms = cloudkms.cloudkms; + this.cloudprofiler = cloudprofiler.cloudprofiler; + this.cloudresourcemanager = cloudresourcemanager.cloudresourcemanager; + this.cloudshell = cloudshell.cloudshell; + this.cloudtasks = cloudtasks.cloudtasks; + this.cloudtrace = cloudtrace.cloudtrace; + this.composer = composer.composer; + this.compute = compute.compute; + this.container = container.container; + this.content = content.content; + this.customsearch = customsearch.customsearch; + this.dataflow = dataflow.dataflow; + this.dataproc = dataproc.dataproc; + this.datastore = datastore.datastore; + this.deploymentmanager = deploymentmanager.deploymentmanager; + this.dfareporting = dfareporting.dfareporting; + this.dialogflow = dialogflow.dialogflow; + this.digitalassetlinks = digitalassetlinks.digitalassetlinks; + this.discovery = discovery.discovery; + this.dlp = dlp.dlp; + this.dns = dns.dns; + this.doubleclickbidmanager = doubleclickbidmanager.doubleclickbidmanager; + this.doubleclicksearch = doubleclicksearch.doubleclicksearch; + this.drive = drive.drive; + this.file = file.file; + this.firebasedynamiclinks = firebasedynamiclinks.firebasedynamiclinks; + this.firebaserules = firebaserules.firebaserules; + this.firestore = firestore.firestore; + this.fitness = fitness.fitness; + this.fusiontables = fusiontables.fusiontables; + this.games = games.games; + this.gamesConfiguration = gamesConfiguration.gamesConfiguration; + this.gamesManagement = gamesManagement.gamesManagement; + this.genomics = genomics.genomics; + this.gmail = gmail.gmail; + this.groupsmigration = groupsmigration.groupsmigration; + this.groupssettings = groupssettings.groupssettings; + this.iam = iam.iam; + this.iamcredentials = iamcredentials.iamcredentials; + this.iap = iap.iap; + this.identitytoolkit = identitytoolkit.identitytoolkit; + this.indexing = indexing.indexing; + this.jobs = jobs.jobs; + this.kgsearch = kgsearch.kgsearch; + this.language = language.language; + this.licensing = licensing.licensing; + this.logging = logging.logging; + this.manufacturers = manufacturers.manufacturers; + this.mirror = mirror.mirror; + this.ml = ml.ml; + this.monitoring = monitoring.monitoring; + this.oauth2 = oauth2.oauth2; + this.oslogin = oslogin.oslogin; + this.pagespeedonline = pagespeedonline.pagespeedonline; + this.partners = partners.partners; + this.people = people.people; + this.playcustomapp = playcustomapp.playcustomapp; + this.plus = plus.plus; + this.plusDomains = plusDomains.plusDomains; + this.poly = poly.poly; + this.proximitybeacon = proximitybeacon.proximitybeacon; + this.pubsub = pubsub.pubsub; + this.redis = redis.redis; + this.replicapool = replicapool.replicapool; + this.replicapoolupdater = replicapoolupdater.replicapoolupdater; + this.reseller = reseller.reseller; + this.runtimeconfig = runtimeconfig.runtimeconfig; + this.safebrowsing = safebrowsing.safebrowsing; + this.script = script.script; + this.searchconsole = searchconsole.searchconsole; + this.servicebroker = servicebroker.servicebroker; + this.serviceconsumermanagement = serviceconsumermanagement.serviceconsumermanagement; + this.servicecontrol = servicecontrol.servicecontrol; + this.servicemanagement = servicemanagement.servicemanagement; + this.serviceusage = serviceusage.serviceusage; + this.serviceuser = serviceuser.serviceuser; + this.sheets = sheets.sheets; + this.siteVerification = siteVerification.siteVerification; + this.slides = slides.slides; + this.sourcerepo = sourcerepo.sourcerepo; + this.spanner = spanner.spanner; + this.speech = speech.speech; + this.sqladmin = sqladmin.sqladmin; + this.storage = storage.storage; + this.storagetransfer = storagetransfer.storagetransfer; + this.streetviewpublish = streetviewpublish.streetviewpublish; + this.surveys = surveys.surveys; + this.tagmanager = tagmanager.tagmanager; + this.tasks = tasks.tasks; + this.testing = testing.testing; + this.texttospeech = texttospeech.texttospeech; + this.toolresults = toolresults.toolresults; + this.tpu = tpu.tpu; + this.translate = translate.translate; + this.urlshortener = urlshortener.urlshortener; + this.vault = vault.vault; + this.videointelligence = videointelligence.videointelligence; + this.vision = vision.vision; + this.webfonts = webfonts.webfonts; + this.webmasters = webmasters.webmasters; + this.websecurityscanner = websecurityscanner.websecurityscanner; + this.youtube = youtube.youtube; + this.youtubeAnalytics = youtubeAnalytics.youtubeAnalytics; + this.youtubereporting = youtubereporting.youtubereporting; + this.abusiveexperiencereport = this.abusiveexperiencereport.bind(this); + this.acceleratedmobilepageurl = this.acceleratedmobilepageurl.bind(this); + this.adexchangebuyer = this.adexchangebuyer.bind(this); + this.adexchangebuyer2 = this.adexchangebuyer2.bind(this); + this.adexperiencereport = this.adexperiencereport.bind(this); + this.admin = this.admin.bind(this); + this.adsense = this.adsense.bind(this); + this.adsensehost = this.adsensehost.bind(this); + this.analytics = this.analytics.bind(this); + this.analyticsreporting = this.analyticsreporting.bind(this); + this.androiddeviceprovisioning = this.androiddeviceprovisioning.bind(this); + this.androidenterprise = this.androidenterprise.bind(this); + this.androidmanagement = this.androidmanagement.bind(this); + this.androidpublisher = this.androidpublisher.bind(this); + this.appengine = this.appengine.bind(this); + this.appsactivity = this.appsactivity.bind(this); + this.appstate = this.appstate.bind(this); + this.bigquery = this.bigquery.bind(this); + this.bigquerydatatransfer = this.bigquerydatatransfer.bind(this); + this.binaryauthorization = this.binaryauthorization.bind(this); + this.blogger = this.blogger.bind(this); + this.books = this.books.bind(this); + this.calendar = this.calendar.bind(this); + this.chat = this.chat.bind(this); + this.civicinfo = this.civicinfo.bind(this); + this.classroom = this.classroom.bind(this); + this.cloudbilling = this.cloudbilling.bind(this); + this.cloudbuild = this.cloudbuild.bind(this); + this.clouddebugger = this.clouddebugger.bind(this); + this.clouderrorreporting = this.clouderrorreporting.bind(this); + this.cloudfunctions = this.cloudfunctions.bind(this); + this.cloudiot = this.cloudiot.bind(this); + this.cloudkms = this.cloudkms.bind(this); + this.cloudprofiler = this.cloudprofiler.bind(this); + this.cloudresourcemanager = this.cloudresourcemanager.bind(this); + this.cloudshell = this.cloudshell.bind(this); + this.cloudtasks = this.cloudtasks.bind(this); + this.cloudtrace = this.cloudtrace.bind(this); + this.composer = this.composer.bind(this); + this.compute = this.compute.bind(this); + this.container = this.container.bind(this); + this.content = this.content.bind(this); + this.customsearch = this.customsearch.bind(this); + this.dataflow = this.dataflow.bind(this); + this.dataproc = this.dataproc.bind(this); + this.datastore = this.datastore.bind(this); + this.deploymentmanager = this.deploymentmanager.bind(this); + this.dfareporting = this.dfareporting.bind(this); + this.dialogflow = this.dialogflow.bind(this); + this.digitalassetlinks = this.digitalassetlinks.bind(this); + this.discovery = this.discovery.bind(this); + this.dlp = this.dlp.bind(this); + this.dns = this.dns.bind(this); + this.doubleclickbidmanager = this.doubleclickbidmanager.bind(this); + this.doubleclicksearch = this.doubleclicksearch.bind(this); + this.drive = this.drive.bind(this); + this.file = this.file.bind(this); + this.firebasedynamiclinks = this.firebasedynamiclinks.bind(this); + this.firebaserules = this.firebaserules.bind(this); + this.firestore = this.firestore.bind(this); + this.fitness = this.fitness.bind(this); + this.fusiontables = this.fusiontables.bind(this); + this.games = this.games.bind(this); + this.gamesConfiguration = this.gamesConfiguration.bind(this); + this.gamesManagement = this.gamesManagement.bind(this); + this.genomics = this.genomics.bind(this); + this.gmail = this.gmail.bind(this); + this.groupsmigration = this.groupsmigration.bind(this); + this.groupssettings = this.groupssettings.bind(this); + this.iam = this.iam.bind(this); + this.iamcredentials = this.iamcredentials.bind(this); + this.iap = this.iap.bind(this); + this.identitytoolkit = this.identitytoolkit.bind(this); + this.indexing = this.indexing.bind(this); + this.jobs = this.jobs.bind(this); + this.kgsearch = this.kgsearch.bind(this); + this.language = this.language.bind(this); + this.licensing = this.licensing.bind(this); + this.logging = this.logging.bind(this); + this.manufacturers = this.manufacturers.bind(this); + this.mirror = this.mirror.bind(this); + this.ml = this.ml.bind(this); + this.monitoring = this.monitoring.bind(this); + this.oauth2 = this.oauth2.bind(this); + this.oslogin = this.oslogin.bind(this); + this.pagespeedonline = this.pagespeedonline.bind(this); + this.partners = this.partners.bind(this); + this.people = this.people.bind(this); + this.playcustomapp = this.playcustomapp.bind(this); + this.plus = this.plus.bind(this); + this.plusDomains = this.plusDomains.bind(this); + this.poly = this.poly.bind(this); + this.proximitybeacon = this.proximitybeacon.bind(this); + this.pubsub = this.pubsub.bind(this); + this.redis = this.redis.bind(this); + this.replicapool = this.replicapool.bind(this); + this.replicapoolupdater = this.replicapoolupdater.bind(this); + this.reseller = this.reseller.bind(this); + this.runtimeconfig = this.runtimeconfig.bind(this); + this.safebrowsing = this.safebrowsing.bind(this); + this.script = this.script.bind(this); + this.searchconsole = this.searchconsole.bind(this); + this.servicebroker = this.servicebroker.bind(this); + this.serviceconsumermanagement = this.serviceconsumermanagement.bind(this); + this.servicecontrol = this.servicecontrol.bind(this); + this.servicemanagement = this.servicemanagement.bind(this); + this.serviceusage = this.serviceusage.bind(this); + this.serviceuser = this.serviceuser.bind(this); + this.sheets = this.sheets.bind(this); + this.siteVerification = this.siteVerification.bind(this); + this.slides = this.slides.bind(this); + this.sourcerepo = this.sourcerepo.bind(this); + this.spanner = this.spanner.bind(this); + this.speech = this.speech.bind(this); + this.sqladmin = this.sqladmin.bind(this); + this.storage = this.storage.bind(this); + this.storagetransfer = this.storagetransfer.bind(this); + this.streetviewpublish = this.streetviewpublish.bind(this); + this.surveys = this.surveys.bind(this); + this.tagmanager = this.tagmanager.bind(this); + this.tasks = this.tasks.bind(this); + this.testing = this.testing.bind(this); + this.texttospeech = this.texttospeech.bind(this); + this.toolresults = this.toolresults.bind(this); + this.tpu = this.tpu.bind(this); + this.translate = this.translate.bind(this); + this.urlshortener = this.urlshortener.bind(this); + this.vault = this.vault.bind(this); + this.videointelligence = this.videointelligence.bind(this); + this.vision = this.vision.bind(this); + this.webfonts = this.webfonts.bind(this); + this.webmasters = this.webmasters.bind(this); + this.websecurityscanner = this.websecurityscanner.bind(this); + this.youtube = this.youtube.bind(this); + this.youtubeAnalytics = this.youtubeAnalytics.bind(this); + this.youtubereporting = this.youtubereporting.bind(this); + } +} +exports.GeneratedAPIs = GeneratedAPIs; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/index.js.map b/express-server/node_modules/googleapis/build/src/apis/index.js.map new file mode 100644 index 00000000..749a83f0 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/apis/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/indexing/README.md b/express-server/node_modules/googleapis/build/src/apis/indexing/README.md new file mode 100644 index 00000000..3de557c1 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/indexing/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/indexing + +> The Indexing API allows developers to share the life cycle of a Web Document with Google. + +## Installation + +```sh +$ npm install @google/indexing +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/indexing/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/indexing/index.d.ts new file mode 100644 index 00000000..42b8da57 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/indexing/index.d.ts @@ -0,0 +1,6 @@ +import { indexing_v3 } from './v3'; +export declare const VERSIONS: { + 'v3': typeof indexing_v3.Indexing; +}; +export declare function indexing(version: 'v3'): indexing_v3.Indexing; +export declare function indexing(options: indexing_v3.Options): indexing_v3.Indexing; diff --git a/express-server/node_modules/googleapis/build/src/apis/indexing/index.js b/express-server/node_modules/googleapis/build/src/apis/indexing/index.js new file mode 100644 index 00000000..553518a7 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/indexing/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v3_1 = require("./v3"); +exports.VERSIONS = { + 'v3': v3_1.indexing_v3.Indexing, +}; +function indexing(versionOrOptions) { + return googleapis_common_1.getAPI('indexing', versionOrOptions, exports.VERSIONS, this); +} +exports.indexing = indexing; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/indexing/index.js.map b/express-server/node_modules/googleapis/build/src/apis/indexing/index.js.map new file mode 100644 index 00000000..2d8621df --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/indexing/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/indexing/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAiC;AAEpB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,gBAAW,CAAC,QAAQ;CAC3B,CAAC;AAIF,SAAgB,QAAQ,CACM,gBAA0C;IACtE,OAAO,0BAAM,CAAI,UAAU,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACjE,CAAC;AAHD,4BAGC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/indexing/package.json b/express-server/node_modules/googleapis/build/src/apis/indexing/package.json new file mode 100644 index 00000000..71d45d99 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/indexing/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/indexing", + "version": "0.1.0", + "description": "indexing", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/indexing/v3.d.ts b/express-server/node_modules/googleapis/build/src/apis/indexing/v3.d.ts new file mode 100644 index 00000000..ebd4e46a --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/indexing/v3.d.ts @@ -0,0 +1,155 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace indexing_v3 { + interface Options extends GlobalOptions { + version: 'v3'; + } + /** + * Indexing API + * + * The Indexing API allows developers to share the life cycle of a Web + * Document with Google. + * + * @example + * const {google} = require('googleapis'); + * const indexing = google.indexing('v3'); + * + * @namespace indexing + * @type {Function} + * @version v3 + * @variation v3 + * @param {object=} options Options for Indexing + */ + class Indexing { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + urlNotifications: Resource$Urlnotifications; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Output for PublishUrlNotification + */ + interface Schema$PublishUrlNotificationResponse { + /** + * Description of the notification events received for this URL. + */ + urlNotificationMetadata?: Schema$UrlNotificationMetadata; + } + /** + * `UrlNotification` is the resource used in all Indexing API calls. It + * describes one event in the life cycle of a Web Document. + */ + interface Schema$UrlNotification { + /** + * Creation timestamp for this notification. Users should _not_ specify it, + * the field is ignored at the request time. + */ + notifyTime?: string; + /** + * The URL life cycle event that Google is being notified about. + */ + type?: string; + /** + * The object of this notification. The URL must be owned by the publisher + * of this notification and, in case of `URL_UPDATED` notifications, it + * _must_ be crawlable by Google. + */ + url?: string; + } + /** + * Summary of the most recent Indexing API notifications successfully + * received, for a given URL. + */ + interface Schema$UrlNotificationMetadata { + /** + * Latest notification received with type `URL_REMOVED`. + */ + latestRemove?: Schema$UrlNotification; + /** + * Latest notification received with type `URL_UPDATED`. + */ + latestUpdate?: Schema$UrlNotification; + /** + * URL to which this metadata refers. + */ + url?: string; + } + class Resource$Urlnotifications { + root: Indexing; + constructor(root: Indexing); + getRoot(): Indexing; + /** + * indexing.urlNotifications.getMetadata + * @desc Gets metadata about a Web Document. This method can _only_ be used + * to query URLs that were previously seen in successful Indexing API + * notifications. Includes the latest `UrlNotification` received via this + * API. + * @alias indexing.urlNotifications.getMetadata + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.url URL that is being queried. + * @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 + */ + getMetadata(params?: Params$Resource$Urlnotifications$Getmetadata, options?: MethodOptions): AxiosPromise; + getMetadata(params: Params$Resource$Urlnotifications$Getmetadata, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getMetadata(params: Params$Resource$Urlnotifications$Getmetadata, callback: BodyResponseCallback): void; + getMetadata(callback: BodyResponseCallback): void; + /** + * indexing.urlNotifications.publish + * @desc Notifies that a URL has been updated or deleted. + * @alias indexing.urlNotifications.publish + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().UrlNotification} 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 + */ + publish(params?: Params$Resource$Urlnotifications$Publish, options?: MethodOptions): AxiosPromise; + publish(params: Params$Resource$Urlnotifications$Publish, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + publish(params: Params$Resource$Urlnotifications$Publish, callback: BodyResponseCallback): void; + publish(callback: BodyResponseCallback): void; + } + interface Params$Resource$Urlnotifications$Getmetadata { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * URL that is being queried. + */ + url?: string; + } + interface Params$Resource$Urlnotifications$Publish { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$UrlNotification; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/indexing/v3.js b/express-server/node_modules/googleapis/build/src/apis/indexing/v3.js new file mode 100644 index 00000000..1e1d0afb --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/indexing/v3.js @@ -0,0 +1,128 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var indexing_v3; +(function (indexing_v3) { + /** + * Indexing API + * + * The Indexing API allows developers to share the life cycle of a Web + * Document with Google. + * + * @example + * const {google} = require('googleapis'); + * const indexing = google.indexing('v3'); + * + * @namespace indexing + * @type {Function} + * @version v3 + * @variation v3 + * @param {object=} options Options for Indexing + */ + class Indexing { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.urlNotifications = new Resource$Urlnotifications(this); + } + getRoot() { + return this.root; + } + } + indexing_v3.Indexing = Indexing; + class Resource$Urlnotifications { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + getMetadata(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://indexing.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3/urlNotifications/metadata') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + publish(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://indexing.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3/urlNotifications:publish') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + indexing_v3.Resource$Urlnotifications = Resource$Urlnotifications; +})(indexing_v3 = exports.indexing_v3 || (exports.indexing_v3 = {})); +//# sourceMappingURL=v3.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/indexing/v3.js.map b/express-server/node_modules/googleapis/build/src/apis/indexing/v3.js.map new file mode 100644 index 00000000..feffc5bb --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/indexing/v3.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v3.js","sourceRoot":"","sources":["../../../../src/apis/indexing/v3.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/jobs/README.md b/express-server/node_modules/googleapis/build/src/apis/jobs/README.md new file mode 100644 index 00000000..485ab76d --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/jobs/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/jobs + +> Cloud Talent Solution provides the capability to create, read, update, and delete job postings, as well as search jobs based on keywords and filters. + +## Installation + +```sh +$ npm install @google/jobs +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/jobs/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/jobs/index.d.ts new file mode 100644 index 00000000..30d7e2b8 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/jobs/index.d.ts @@ -0,0 +1,14 @@ +import { jobs_v2 } from './v2'; +import { jobs_v3 } from './v3'; +import { jobs_v3p1beta1 } from './v3p1beta1'; +export declare const VERSIONS: { + 'v2': typeof jobs_v2.Jobs; + 'v3': typeof jobs_v3.Jobs; + 'v3p1beta1': typeof jobs_v3p1beta1.Jobs; +}; +export declare function jobs(version: 'v2'): jobs_v2.Jobs; +export declare function jobs(options: jobs_v2.Options): jobs_v2.Jobs; +export declare function jobs(version: 'v3'): jobs_v3.Jobs; +export declare function jobs(options: jobs_v3.Options): jobs_v3.Jobs; +export declare function jobs(version: 'v3p1beta1'): jobs_v3p1beta1.Jobs; +export declare function jobs(options: jobs_v3p1beta1.Options): jobs_v3p1beta1.Jobs; diff --git a/express-server/node_modules/googleapis/build/src/apis/jobs/index.js b/express-server/node_modules/googleapis/build/src/apis/jobs/index.js new file mode 100644 index 00000000..5bbff138 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/jobs/index.js @@ -0,0 +1,29 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v2_1 = require("./v2"); +const v3_1 = require("./v3"); +const v3p1beta1_1 = require("./v3p1beta1"); +exports.VERSIONS = { + 'v2': v2_1.jobs_v2.Jobs, + 'v3': v3_1.jobs_v3.Jobs, + 'v3p1beta1': v3p1beta1_1.jobs_v3p1beta1.Jobs, +}; +function jobs(versionOrOptions) { + return googleapis_common_1.getAPI('jobs', versionOrOptions, exports.VERSIONS, this); +} +exports.jobs = jobs; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/jobs/index.js.map b/express-server/node_modules/googleapis/build/src/apis/jobs/index.js.map new file mode 100644 index 00000000..096c0867 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/jobs/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/jobs/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAA6B;AAC7B,6BAA6B;AAC7B,2CAA2C;AAE9B,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,YAAO,CAAC,IAAI;IAClB,IAAI,EAAE,YAAO,CAAC,IAAI;IAClB,WAAW,EAAE,0BAAc,CAAC,IAAI;CACjC,CAAC;AAQF,SAAgB,IAAI,CAEhB,gBACkD;IACpD,OAAO,0BAAM,CAAI,MAAM,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAC7D,CAAC;AALD,oBAKC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/jobs/package.json b/express-server/node_modules/googleapis/build/src/apis/jobs/package.json new file mode 100644 index 00000000..27f89303 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/jobs/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/jobs", + "version": "0.1.0", + "description": "jobs", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/jobs/v2.d.ts b/express-server/node_modules/googleapis/build/src/apis/jobs/v2.d.ts new file mode 100644 index 00000000..8a7eec1e --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/jobs/v2.d.ts @@ -0,0 +1,2772 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace jobs_v2 { + interface Options extends GlobalOptions { + version: 'v2'; + } + /** + * Cloud Talent Solution API + * + * Cloud Talent Solution provides the capability to create, read, update, and + * delete job postings, as well as search jobs based on keywords and filters. + * + * @example + * const {google} = require('googleapis'); + * const jobs = google.jobs('v2'); + * + * @namespace jobs + * @type {Function} + * @version v2 + * @variation v2 + * @param {object=} options Options for Jobs + */ + class Jobs { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + companies: Resource$Companies; + jobs: Resource$Jobs; + v2: Resource$V2; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Input only. Batch delete jobs request. + */ + interface Schema$BatchDeleteJobsRequest { + /** + * Required. The filter string specifies the jobs to be deleted. Supported + * operator: =, AND The fields eligible for filtering are: * `companyName` + * (Required) * `requisitionId` (Required) Sample Query: companyName = + * "companies/123" AND requisitionId = "req-1" + */ + filter?: string; + } + /** + * Represents count of jobs within one bucket. + */ + interface Schema$BucketizedCount { + /** + * Number of jobs whose numeric field value fall into `range`. + */ + count?: number; + /** + * Bucket range on which histogram was performed for the numeric field, that + * is, the count represents number of jobs in this range. + */ + range?: Schema$BucketRange; + } + /** + * Represents starting and ending value of a range in double. + */ + interface Schema$BucketRange { + /** + * Starting value of the bucket range. + */ + from?: number; + /** + * Ending value of the bucket range. + */ + to?: number; + } + /** + * Output only. Commute details related to this job. + */ + interface Schema$CommuteInfo { + /** + * Location used as the destination in the commute calculation. + */ + jobLocation?: Schema$JobLocation; + /** + * The number of seconds required to travel to the job location from the + * query location. A duration of 0 seconds indicates that the job is not + * reachable within the requested duration, but was returned as part of an + * expanded query. + */ + travelDuration?: string; + } + /** + * Input only. Parameters needed for commute search. + */ + interface Schema$CommutePreference { + /** + * Optional. If `true`, jobs without street level addresses may also be + * returned. For city level addresses, the city center is used. For state + * and coarser level addresses, text matching is used. If this field is set + * to `false` or is not specified, only jobs that include street level + * addresses will be returned by commute search. + */ + allowNonStreetLevelAddress?: boolean; + /** + * Optional. The departure hour to use to calculate traffic impact. Accepts + * an integer between 0 and 23, representing the hour in the time zone of + * the start_location. Must not be present if road_traffic is specified. + */ + departureHourLocal?: number; + /** + * Required. The method of transportation for which to calculate the + * commute time. + */ + method?: string; + /** + * Optional. Specifies the traffic density to use when caculating commute + * time. Must not be present if departure_hour_local is specified. + */ + roadTraffic?: string; + /** + * Required. The latitude and longitude of the location from which to + * calculate the commute time. + */ + startLocation?: Schema$LatLng; + /** + * Required. The maximum travel time in seconds. The maximum allowed value + * is `3600s` (one hour). Format is `123s`. + */ + travelTime?: string; + } + /** + * A Company resource represents a company in the service. A company is the + * entity that owns job listings, that is, the hiring entity responsible for + * employing applicants for the job position. + */ + interface Schema$Company { + /** + * Optional. The URL to employer's career site or careers page on the + * employer's web site. + */ + careerPageLink?: string; + /** + * Optional. Identifiers external to the application that help to further + * identify the employer. + */ + companyInfoSources?: Schema$CompanyInfoSource[]; + /** + * Optional. The employer's company size. + */ + companySize?: string; + /** + * Deprecated. Do not use this field. Optional. This field is no longer + * used. Any value set to it is ignored. + */ + disableLocationOptimization?: boolean; + /** + * Required. The name of the employer to be displayed with the job, for + * example, "Google, LLC.". + */ + displayName?: string; + /** + * Optional. The unique company identifier provided by the client to + * identify an employer for billing purposes. Recommended practice is to use + * the distributor_company_id. Defaults to same value as + * distributor_company_id when a value is not provided. + */ + distributorBillingCompanyId?: string; + /** + * Required. A client's company identifier, used to uniquely identify + * the company. If an employer has a subsidiary or sub-brand, such as + * "Alphabet" and "Google", which the client wishes to + * use as the company displayed on the job. Best practice is to create a + * distinct company identifier for each distinct brand displayed. The + * maximum number of allowed characters is 255. + */ + distributorCompanyId?: string; + /** + * Optional. Equal Employment Opportunity legal disclaimer text to be + * associated with all jobs, and typically to be displayed in all roles. The + * maximum number of allowed characters is 500. + */ + eeoText?: string; + /** + * Optional. Set to true if it is the hiring agency that post jobs for + * other employers. Defaults to false if not provided. + */ + hiringAgency?: boolean; + /** + * Optional. The street address of the company's main headquarters, + * which may be different from the job location. The service attempts to + * geolocate the provided address, and populates a more specific location + * wherever possible in structured_company_hq_location. + */ + hqLocation?: string; + /** + * Optional. A URL that hosts the employer's company logo. If provided, + * the logo image should be squared at 80x80 pixels. The url must be a + * Google Photos or Google Album url. Only images in these Google + * sub-domains are accepted. + */ + imageUrl?: string; + /** + * Optional. A list of keys of filterable Job.custom_attributes, whose + * corresponding `string_values` are used in keyword search. Jobs with + * `string_values` under these specified field keys are returned if any of + * the values matches the search keyword. Custom field values with + * parenthesis, brackets and special symbols might not be properly + * searchable, and those keyword queries need to be surrounded by quotes. + */ + keywordSearchableCustomAttributes?: string[]; + /** + * Deprecated. Use keyword_searchable_custom_attributes instead. Optional. + * A list of filterable custom fields that should be used in keyword search. + * The jobs of this company are returned if any of these custom fields + * matches the search keyword. Custom field values with parenthesis, + * brackets and special symbols might not be properly searchable, and those + * keyword queries need to be surrounded by quotes. + */ + keywordSearchableCustomFields?: number[]; + /** + * Required during company update. The resource name for a company. This is + * generated by the service when a company is created, for example, + * "companies/0000aaaa-1111-bbbb-2222-cccc3333dddd". + */ + name?: string; + /** + * Output only. A structured headquarters location of the company, resolved + * from hq_location if possible. + */ + structuredCompanyHqLocation?: Schema$JobLocation; + /** + * Output only. Indicates whether a company is flagged to be suspended from + * public availability by the service when job content appears suspicious, + * abusive, or spammy. + */ + suspended?: boolean; + /** + * Deprecated. Use display_name instead. Required. The name of the + * employer to be displayed with the job, for example, "Google, + * LLC.". + */ + title?: string; + /** + * Optional. The URL representing the company's primary web site or + * home page, such as, "www.google.com". + */ + website?: string; + } + /** + * A resource that represents an external Google identifier for a company, + * for example, a Google+ business page or a Google Maps business page. For + * unsupported types, use `unknown_type_id`. + */ + interface Schema$CompanyInfoSource { + /** + * Optional. The Google's Knowledge Graph value for the employer's + * company. + */ + freebaseMid?: string; + /** + * Optional. The numeric identifier for the employer's Google+ business + * page. + */ + gplusId?: string; + /** + * Optional. The numeric identifier for the employer's headquarters on + * Google Maps, namely, the Google Maps CID (cell id). + */ + mapsCid?: string; + /** + * Optional. A Google identifier that does not match any of the other + * types. + */ + unknownTypeId?: string; + } + /** + * A compensation entry that represents one component of compensation, such as + * base pay, bonus, or other compensation type. Annualization: One + * compensation entry can be annualized if - it contains valid amount or + * range. - and its expected_units_per_year is set or can be derived. Its + * annualized range is determined as (amount or range) times + * expected_units_per_year. + */ + interface Schema$CompensationEntry { + /** + * Optional. Compensation amount. + */ + amount?: Schema$Money; + /** + * Optional. Compensation description. For example, could indicate equity + * terms or provide additional context to an estimated bonus. + */ + description?: string; + /** + * Optional. Expected number of units paid each year. If not specified, + * when Job.employment_types is FULLTIME, a default value is inferred based + * on unit. Default values: - HOURLY: 2080 - DAILY: 260 - WEEKLY: 52 - + * MONTHLY: 12 - ANNUAL: 1 + */ + expectedUnitsPerYear?: number; + /** + * Optional. Compensation range. + */ + range?: Schema$CompensationRange; + /** + * Required. Compensation type. + */ + type?: string; + /** + * Optional. Frequency of the specified amount. Default is + * CompensationUnit.OTHER_COMPENSATION_UNIT. + */ + unit?: string; + } + /** + * Input only. Filter on job compensation type and amount. + */ + interface Schema$CompensationFilter { + /** + * Optional. Whether to include jobs whose compensation range is + * unspecified. + */ + includeJobsWithUnspecifiedCompensationRange?: boolean; + /** + * Optional. Compensation range. + */ + range?: Schema$CompensationRange; + /** + * Required. Type of filter. + */ + type?: string; + /** + * Required. Specify desired `base compensation entry's` + * CompensationInfo.CompensationUnit. + */ + units?: string[]; + } + /** + * Input only. Compensation based histogram request. + */ + interface Schema$CompensationHistogramRequest { + /** + * Required. Numeric histogram options, like buckets, whether include min + * or max value. + */ + bucketingOption?: Schema$NumericBucketingOption; + /** + * Required. Type of the request, representing which field the + * histogramming should be performed over. A single request can only specify + * one histogram of each `CompensationHistogramRequestType`. + */ + type?: string; + } + /** + * Output only. Compensation based histogram result. + */ + interface Schema$CompensationHistogramResult { + /** + * Histogram result. + */ + result?: Schema$NumericBucketingResult; + /** + * Type of the request, corresponding to CompensationHistogramRequest.type. + */ + type?: string; + } + /** + * Job compensation details. + */ + interface Schema$CompensationInfo { + /** + * Deprecated. Use entries instead. Optional. The amount of compensation + * or pay for the job. As an alternative, compensation_amount_min and + * compensation_amount_max may be used to define a range of compensation. + */ + amount?: Schema$Money; + /** + * Output only. Annualized base compensation range. Computed as base + * compensation entry's CompensationEntry.compensation times + * CompensationEntry.expected_units_per_year. See CompensationEntry for + * explanation on compensation annualization. + */ + annualizedBaseCompensationRange?: Schema$CompensationRange; + /** + * Output only. Annualized total compensation range. Computed as all + * compensation entries' CompensationEntry.compensation times + * CompensationEntry.expected_units_per_year. See CompensationEntry for + * explanation on compensation annualization. + */ + annualizedTotalCompensationRange?: Schema$CompensationRange; + /** + * Optional. Job compensation information. At most one entry can be of + * type CompensationInfo.CompensationType.BASE, which is referred as ** base + * compensation entry ** for the job. + */ + entries?: Schema$CompensationEntry[]; + /** + * Deprecated. Use entries instead. Optional. An upper bound on a range + * for compensation or pay for the job. The currency type is specified in + * compensation_amount. + */ + max?: Schema$Money; + /** + * Deprecated. Use entries instead. Optional. A lower bound on a range for + * compensation or pay for the job. The currency type is specified in + * compensation_amount. + */ + min?: Schema$Money; + /** + * Deprecated. Use entries instead. Optional. Type of job compensation. + */ + type?: string; + } + /** + * Compensation range. + */ + interface Schema$CompensationRange { + /** + * Optional. The maximum amount of compensation. If left empty, the value + * is set to a maximal compensation value and the currency code is set to + * match the currency code of min_compensation. + */ + max?: Schema$Money; + /** + * Optional. The minimum amount of compensation. If left empty, the value + * is set to zero and the currency code is set to match the currency code of + * max_compensation. + */ + min?: Schema$Money; + } + /** + * Output only. Response of auto-complete query. + */ + interface Schema$CompleteQueryResponse { + /** + * Results of the matching job/company candidates. + */ + completionResults?: Schema$CompletionResult[]; + /** + * Additional information for the API invocation, such as the request + * tracking id. + */ + metadata?: Schema$ResponseMetadata; + } + /** + * Output only. Resource that represents completion results. + */ + interface Schema$CompletionResult { + /** + * The URL for the company logo if `type=COMPANY_NAME`. + */ + imageUrl?: string; + /** + * The suggestion for the query. + */ + suggestion?: string; + /** + * The completion topic. + */ + type?: string; + } + /** + * Input only. Create job request. + */ + interface Schema$CreateJobRequest { + /** + * Deprecated. Please use processing_options. This flag is ignored if + * processing_options is set. Optional. If set to `true`, the service does + * not attempt to resolve a more precise address for the job. + */ + disableStreetAddressResolution?: boolean; + /** + * Required. The Job to be created. + */ + job?: Schema$Job; + /** + * Optional. Options for job processing. + */ + processingOptions?: Schema$JobProcessingOptions; + } + /** + * Custom attribute values that are either filterable or non-filterable. + */ + interface Schema$CustomAttribute { + /** + * Optional. If the `filterable` flag is true, custom field values are + * searchable. If false, values are not searchable. Default is false. + */ + filterable?: boolean; + /** + * Optional but at least one of string_values or long_value must be + * specified. This field is used to perform number range search. (`EQ`, + * `GT`, `GE`, `LE`, `LT`) over filterable `long_value`. For `long_value`, a + * value between Long.MIN and Long.MIN is allowed. + */ + longValue?: string; + /** + * Optional but at least one of string_values or long_value must be + * specified. This field is used to perform a string match + * (`CASE_SENSITIVE_MATCH` or `CASE_INSENSITIVE_MATCH`) search. For + * filterable `string_values`, a maximum total number of 200 values is + * allowed, with each `string_value` has a byte size of no more than 255B. + * For unfilterable `string_values`, the maximum total byte size of + * unfilterable `string_values` is 50KB. Empty strings are not allowed. + */ + stringValues?: Schema$StringValues; + } + /** + * Custom attributes histogram request. An error will be thrown if neither + * string_value_histogram or long_value_histogram_bucketing_option has been + * defined. + */ + interface Schema$CustomAttributeHistogramRequest { + /** + * Required. Specifies the custom field key to perform a histogram on. If + * specified without `long_value_histogram_bucketing_option`, histogram on + * string values of the given `key` is triggered, otherwise histogram is + * performed on long values. + */ + key?: string; + /** + * Optional. Specifies buckets used to perform a range histogram on + * Job's filterable long custom field values, or min/max value + * requirements. + */ + longValueHistogramBucketingOption?: Schema$NumericBucketingOption; + /** + * Optional. If set to true, the response will include the histogram value + * for each key as a string. + */ + stringValueHistogram?: boolean; + } + /** + * Output only. Custom attribute histogram result. + */ + interface Schema$CustomAttributeHistogramResult { + /** + * Stores the key of custom attribute the histogram is performed on. + */ + key?: string; + /** + * Stores bucketed histogram counting result or min/max values for custom + * attribute long values associated with `key`. + */ + longValueHistogramResult?: Schema$NumericBucketingResult; + /** + * Stores a map from the values of string custom field associated with `key` + * to the number of jobs with that value in this histogram result. + */ + stringValueHistogramResult?: any; + } + /** + * Resource that represents the custom data not captured by the standard + * fields. + */ + interface Schema$CustomField { + /** + * Optional. The values of the custom data. + */ + values?: string[]; + } + /** + * Input only. Custom field filter of the search. + */ + interface Schema$CustomFieldFilter { + /** + * Required. The query strings for the filter. + */ + queries?: string[]; + /** + * Optional. The type of filter. Defaults to FilterType.OR. + */ + type?: string; + } + /** + * Represents a whole calendar date, for example date of birth. The time of + * day and time zone are either specified elsewhere or are not significant. + * The date is relative to the Proleptic Gregorian Calendar. The day can be 0 + * to represent a year and month where the day is not significant, for example + * credit card expiration date. The year can be 0 to represent a month and day + * independent of year, for example anniversary date. Related types are + * google.type.TimeOfDay and `google.protobuf.Timestamp`. + */ + interface Schema$Date { + /** + * Day of month. Must be from 1 to 31 and valid for the year and month, or 0 + * if specifying a year/month where the day is not significant. + */ + day?: number; + /** + * Month of year. Must be from 1 to 12, or 0 if specifying a date without a + * month. + */ + month?: number; + /** + * Year of date. Must be from 1 to 9999, or 0 if specifying a date without a + * year. + */ + year?: number; + } + /** + * Deprecated. Use BatchDeleteJobsRequest instead. Input only. Delete job by + * filter request. The job typically becomes unsearchable within 10 seconds, + * but it may take up to 5 minutes. + */ + interface Schema$DeleteJobsByFilterRequest { + /** + * Optional. If set to true, this call waits for all processing steps to + * complete before the job is cleaned up. Otherwise, the call returns while + * some steps are still taking place asynchronously, hence faster. + */ + disableFastProcess?: boolean; + /** + * Required. Restrictions on the scope of the delete request. + */ + filter?: Schema$Filter; + } + /** + * Input only. Device information collected from the job seeker, candidate, + * or other entity conducting the job search. Providing this information + * improves the quality of the search results across devices. + */ + interface Schema$DeviceInfo { + /** + * Optional. Type of the device. + */ + deviceType?: string; + /** + * Optional. A device-specific ID. The ID must be a unique identifier that + * distinguishes the device from other devices. + */ + id?: string; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * Deprecated. Always use CompensationFilter. Input only. Filter on job + * compensation type and amount. + */ + interface Schema$ExtendedCompensationFilter { + /** + * Optional. Compensation range. + */ + compensationRange?: Schema$ExtendedCompensationInfoCompensationRange; + /** + * Required. Specify desired `base compensation entry's` + * ExtendedCompensationInfo.CompensationUnit. + */ + compensationUnits?: string[]; + /** + * Optional. Specify currency in 3-letter [ISO + * 4217](https://www.iso.org/iso-4217-currency-codes.html) format. If + * unspecified, jobs are returned regardless of currency. + */ + currency?: string; + /** + * Optional. Whether to include jobs whose compensation range is + * unspecified. + */ + includeJobWithUnspecifiedCompensationRange?: boolean; + /** + * Required. Type of filter. + */ + type?: string; + } + /** + * Deprecated. Use CompensationInfo. Describes job compensation. + */ + interface Schema$ExtendedCompensationInfo { + /** + * Output only. Annualized base compensation range. + */ + annualizedBaseCompensationRange?: Schema$ExtendedCompensationInfoCompensationRange; + /** + * Output only. Indicates annualized base compensation range cannot be + * derived, due to the job's base compensation entry cannot be + * annualized. See CompensationEntry for explanation on annualization and + * base compensation entry. + */ + annualizedBaseCompensationUnspecified?: boolean; + /** + * Output only. Annualized total compensation range. + */ + annualizedTotalCompensationRange?: Schema$ExtendedCompensationInfoCompensationRange; + /** + * Output only. Indicates annualized total compensation range cannot be + * derived, due to the job's all CompensationEntry cannot be annualized. + * See CompensationEntry for explanation on annualization and base + * compensation entry. + */ + annualizedTotalCompensationUnspecified?: boolean; + /** + * Optional. A 3-letter [ISO + * 4217](https://www.iso.org/iso-4217-currency-codes.html) currency code. + */ + currency?: string; + /** + * Optional. Job compensation information. At most one entry can be of + * type ExtendedCompensationInfo.CompensationType.BASE, which is referred as + * ** base compensation entry ** for the job. + */ + entries?: Schema$ExtendedCompensationInfoCompensationEntry[]; + } + /** + * Deprecated. See CompensationInfo. A compensation entry that represents one + * component of compensation, such as base pay, bonus, or other compensation + * type. Annualization: One compensation entry can be annualized if - it + * contains valid amount or range. - and its expected_units_per_year is set or + * can be derived. Its annualized range is determined as (amount or range) + * times expected_units_per_year. + */ + interface Schema$ExtendedCompensationInfoCompensationEntry { + /** + * Optional. Monetary amount. + */ + amount?: Schema$ExtendedCompensationInfoDecimal; + /** + * Optional. Compensation description. + */ + description?: string; + /** + * Optional. Expected number of units paid each year. If not specified, + * when Job.employment_types is FULLTIME, a default value is inferred based + * on unit. Default values: - HOURLY: 2080 - DAILY: 260 - WEEKLY: 52 - + * MONTHLY: 12 - ANNUAL: 1 + */ + expectedUnitsPerYear?: Schema$ExtendedCompensationInfoDecimal; + /** + * Optional. Compensation range. + */ + range?: Schema$ExtendedCompensationInfoCompensationRange; + /** + * Required. Compensation type. + */ + type?: string; + /** + * Optional. Frequency of the specified amount. Default is + * CompensationUnit.OTHER_COMPENSATION_UNIT. + */ + unit?: string; + /** + * Optional. Indicates compensation amount and range are unset. + */ + unspecified?: boolean; + } + /** + * Deprecated. See CompensationInfo. Compensation range. + */ + interface Schema$ExtendedCompensationInfoCompensationRange { + /** + * Required. Maximum value. + */ + max?: Schema$ExtendedCompensationInfoDecimal; + /** + * Required. Minimum value. + */ + min?: Schema$ExtendedCompensationInfoDecimal; + } + /** + * Deprecated. See CompensationInfo. Decimal number. + */ + interface Schema$ExtendedCompensationInfoDecimal { + /** + * Micro (10^-6) units. The value must be between -999,999 and +999,999 + * inclusive. If `units` is positive, `micros` must be positive or zero. If + * `units` is zero, `micros` can be positive, zero, or negative. If `units` + * is negative, `micros` must be negative or zero. For example -1.75 is + * represented as `units`=-1 and `micros`=-750,000. + */ + micros?: number; + /** + * Whole units. + */ + units?: string; + } + /** + * Deprecated. Use BatchDeleteJobsRequest instead. Input only. Filter for + * jobs to be deleted. + */ + interface Schema$Filter { + /** + * Required. The requisition ID (or posting ID) assigned by the client to + * identify a job. This is intended for client identification and tracking + * of listings. name takes precedence over this field The maximum number of + * allowed characters is 225. + */ + requisitionId?: string; + } + /** + * Deprecated. Use SearchJobsRequest.histogram_facets instead to make a single + * call with both search and histogram. Input only. A request for the + * `GetHistogram` method. + */ + interface Schema$GetHistogramRequest { + /** + * Optional. Controls whether to broaden the search to avoid too few + * results for a given query in instances where a search has sparse results. + * Results from a broadened query is a superset of the results from the + * original query. Defaults to false. + */ + allowBroadening?: boolean; + /** + * Deprecated. Use query instead. Optional. Restrictions on the scope of + * the histogram. + */ + filters?: Schema$JobFilters; + /** + * Optional. Query used to search against jobs, such as keyword, location + * filters, etc. + */ + query?: Schema$JobQuery; + /** + * Meta information, such as `user_id`, collected from the job searcher or + * other entity conducting the job search, which is used to improve the + * search quality of the service. Users determine identifier values, which + * must be unique and consist. + */ + requestMetadata?: Schema$RequestMetadata; + /** + * Required. A list of facets that specify the histogram data to be + * calculated against and returned. Histogram response times can be slow, + * and counts can be approximations. This call may be temporarily or + * permanently removed prior to the production release of Cloud Talent + * Solution. + */ + searchTypes?: string[]; + } + /** + * Deprecated. Use SearchJobsRequest.histogram_facets instead to make a single + * call with both search and histogram. Output only. The response of the + * GetHistogram method. + */ + interface Schema$GetHistogramResponse { + /** + * Additional information for the API invocation, such as the request + * tracking id. + */ + metadata?: Schema$ResponseMetadata; + /** + * The Histogram results. + */ + results?: Schema$HistogramResult[]; + } + /** + * Input only. Histogram facets to be specified in SearchJobsRequest. + */ + interface Schema$HistogramFacets { + /** + * Optional. Specifies compensation field-based histogram requests. + * Duplicate values of CompensationHistogramRequest.type are not allowed. + */ + compensationHistogramFacets?: Schema$CompensationHistogramRequest[]; + /** + * Optional. Specifies the custom attributes histogram requests. Duplicate + * values of CustomAttributeHistogramRequest.key are not allowed. + */ + customAttributeHistogramFacets?: Schema$CustomAttributeHistogramRequest[]; + /** + * Optional. Specifies the simple type of histogram facets, for example, + * `COMPANY_SIZE`, `EMPLOYMENT_TYPE` etc. This field is equivalent to + * GetHistogramRequest. + */ + simpleHistogramFacets?: string[]; + } + /** + * Output only. Result of a histogram call. The response contains the + * histogram map for the search type specified by HistogramResult.field. The + * response is a map of each filter value to the corresponding count of jobs + * for that filter. + */ + interface Schema$HistogramResult { + /** + * The Histogram search filters. + */ + searchType?: string; + /** + * A map from the values of field to the number of jobs with that value in + * this search result. Key: search type (filter names, such as the + * companyName). Values: the count of jobs that match the filter for this + * search. + */ + values?: any; + } + /** + * Output only. Histogram results that matches HistogramFacets specified in + * SearchJobsRequest. + */ + interface Schema$HistogramResults { + /** + * Specifies compensation field-based histogram results that matches + * HistogramFacets.compensation_histogram_requests. + */ + compensationHistogramResults?: Schema$CompensationHistogramResult[]; + /** + * Specifies histogram results for custom attributes that matches + * HistogramFacets.custom_attribute_histogram_facets. + */ + customAttributeHistogramResults?: Schema$CustomAttributeHistogramResult[]; + /** + * Specifies histogram results that matches + * HistogramFacets.simple_histogram_facets. + */ + simpleHistogramResults?: Schema$HistogramResult[]; + } + /** + * A Job resource represents a job posting (also referred to as a "job + * listing" or "job requisition"). A job belongs to a Company, + * which is the hiring entity responsible for the job. + */ + interface Schema$Job { + /** + * Optional but at least one of application_urls, application_email_list or + * application_instruction must be specified. Use this field to specify + * email address(es) to which resumes or applications can be sent. The + * maximum number of allowed characters is 255. + */ + applicationEmailList?: string[]; + /** + * Optional but at least one of application_urls, application_email_list or + * application_instruction must be specified. Use this field to provide + * instructions, such as "Mail your application to ...", that a + * candidate can follow to apply for the job. This field accepts and + * sanitizes HTML input, and also accepts bold, italic, ordered list, and + * unordered list markup tags. The maximum number of allowed characters is + * 3,000. + */ + applicationInstruction?: string; + /** + * Optional but at least one of application_urls, application_email_list or + * application_instruction must be specified. Use this URL field to direct + * an applicant to a website, for example to link to an online application + * form. The maximum number of allowed characters is 2,000. + */ + applicationUrls?: string[]; + /** + * Optional. The benefits included with the job. + */ + benefits?: string[]; + /** + * Output only. The name of the company listing the job. + */ + companyDisplayName?: string; + /** + * Optional but one of company_name or distributor_company_id must be + * provided. The resource name of the company listing the job, such as + * /companies/foo. This field takes precedence over the distributor-assigned + * company identifier, distributor_company_id. + */ + companyName?: string; + /** + * Deprecated. Use company_display_name instead. Output only. The name of + * the company listing the job. + */ + companyTitle?: string; + /** + * Optional. Job compensation information. + */ + compensationInfo?: Schema$CompensationInfo; + /** + * Output only. The timestamp when this job was created. + */ + createTime?: string; + /** + * Optional. A map of fields to hold both filterable and non-filterable + * custom job attributes that are not covered by the provided structured + * fields. This field is a more general combination of the deprecated + * id-based filterable_custom_fields and string-based + * non_filterable_custom_fields. The keys of the map are strings up to 64 + * bytes and must match the pattern: a-zA-Z*. At most 100 filterable and at + * most 100 unfilterable keys are supported. For filterable `string_values`, + * across all keys at most 200 values are allowed, with each string no more + * than 255 characters. For unfilterable `string_values`, the maximum total + * size of `string_values` across all keys is 50KB. + */ + customAttributes?: any; + /** + * Optional. The department or functional area within the company with the + * open position. The maximum number of allowed characters is 255. + */ + department?: string; + /** + * Required. The description of the job, which typically includes a + * multi-paragraph description of the company and related information. + * Separate fields are provided on the job object for responsibilities, + * qualifications, and other job characteristics. Use of these separate job + * fields is recommended. This field accepts and sanitizes HTML input, and + * also accepts bold, italic, ordered list, and unordered list markup tags. + * The maximum number of allowed characters is 100,000. + */ + description?: string; + /** + * Optional but one of company_name or distributor_company_id must be + * provided. A unique company identifier used by job distributors to + * identify an employer's company entity. company_name takes precedence + * over this field, and is the recommended field to use to identify + * companies. The maximum number of allowed characters is 255. + */ + distributorCompanyId?: string; + /** + * Optional. The desired education level for the job, such as + * "Bachelors", "Masters", "Doctorate". + */ + educationLevels?: string[]; + /** + * Optional. The employment type(s) of a job, for example, full time or + * part time. + */ + employmentTypes?: string[]; + /** + * Optional. The end date of the job in UTC time zone. Typically this field + * is used for contracting engagements. Dates prior to 1970/1/1 and invalid + * date formats are ignored. + */ + endDate?: Schema$Date; + /** + * Optional but strongly recommended for the best service experience. The + * expiration timestamp of the job. After this timestamp, the job is marked + * as expired, and it no longer appears in search results. The expired job + * can't be deleted or listed by the DeleteJob and ListJobs APIs, but it + * can be retrieved with the GetJob API or updated with the UpdateJob API. + * An expired job can be updated and opened again by using a future + * expiration timestamp. Updating an expired job fails if there is another + * existing open job with same requisition_id, company_name and + * language_code. The expired jobs are retained in our system for 90 days. + * However, the overall expired job count cannot exceed 3 times the maximum + * of open jobs count over the past week, otherwise jobs with earlier expire + * time are cleaned first. Expired jobs are no longer accessible after they + * are cleaned out. The format of this field is RFC 3339 date strings. + * Example: 2000-01-01T00:00:00.999999999Z See + * [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). + * A valid date range is between 1970-01-01T00:00:00.0Z and + * 2100-12-31T23:59:59.999Z. Invalid dates are ignored and treated as expire + * time not provided. If this value is not provided at the time of job + * creation or is invalid, the job posting expires after 30 days from the + * job's creation time. For example, if the job was created on + * 2017/01/01 13:00AM UTC with an unspecified expiration date, the job + * expires after 2017/01/31 13:00AM UTC. If this value is not provided but + * expiry_date is, expiry_date is used. If this value is not provided on + * job update, it depends on the field masks set by + * UpdateJobRequest.update_job_fields. If the field masks include + * expiry_time, or the masks are empty meaning that every field is updated, + * the job posting expires after 30 days from the job's last update + * time. Otherwise the expiration date isn't updated. + */ + expireTime?: string; + /** + * Deprecated. Use expire_time instead. Optional but strongly recommended + * to be provided for the best service experience. The expiration date of + * the job in UTC time. After 12 am on this date, the job is marked as + * expired, and it no longer appears in search results. The expired job + * can't be deleted or listed by the DeleteJob and ListJobs APIs, but it + * can be retrieved with the GetJob API or updated with the UpdateJob API. + * An expired job can be updated and opened again by using a future + * expiration date. It can also remain expired. Updating an expired job to + * be open fails if there is another existing open job with same + * requisition_id, company_name and language_code. The expired jobs are + * retained in our system for 90 days. However, the overall expired job + * count cannot exceed 3 times the maximum of open jobs count over the past + * week, otherwise jobs with earlier expire time are removed first. Expired + * jobs are no longer accessible after they are cleaned out. A valid date + * range is between 1970/1/1 and 2100/12/31. Invalid dates are ignored and + * treated as expiry date not provided. If this value is not provided on + * job creation or is invalid, the job posting expires after 30 days from + * the job's creation time. For example, if the job was created on + * 2017/01/01 13:00AM UTC with an unspecified expiration date, the job + * expires after 2017/01/31 13:00AM UTC. If this value is not provided on + * job update, it depends on the field masks set by + * UpdateJobRequest.update_job_fields. If the field masks include + * expiry_date, or the masks are empty meaning that every field is updated, + * the job expires after 30 days from the job's last update time. + * Otherwise the expiration date isn't updated. + */ + expiryDate?: Schema$Date; + /** + * Deprecated. Always use compensation_info. Optional. Job compensation + * information. This field replaces compensation_info. + */ + extendedCompensationInfo?: Schema$ExtendedCompensationInfo; + /** + * Deprecated. Use custom_attributes instead. Optional. A map of fields to + * hold filterable custom job attributes not captured by the standard fields + * such as job_title, company_name, or level. These custom fields store + * arbitrary string values, and can be used for purposes not covered by the + * structured fields. For the best search experience, use of the structured + * rather than custom fields is recommended. Data stored in these custom + * fields fields are indexed and searched against by keyword searches (see + * SearchJobsRequest.custom_field_filters][]). The map key must be a number + * between 1-20. If an invalid key is provided on job create or update, an + * error is returned. + */ + filterableCustomFields?: any; + /** + * Optional. A description of bonus, commission, and other compensation + * incentives associated with the job not including salary or pay. The + * maximum number of allowed characters is 10,000. + */ + incentives?: string; + /** + * Output only. Structured locations of the job, resolved from locations. + */ + jobLocations?: Schema$JobLocation[]; + /** + * Required. The title of the job, such as "Software Engineer" + * The maximum number of allowed characters is 500. + */ + jobTitle?: string; + /** + * Optional. The language of the posting. This field is distinct from any + * requirements for fluency that are associated with the job. Language + * codes must be in BCP-47 format, such as "en-US" or + * "sr-Latn". For more information, see [Tags for Identifying + * Languages](https://tools.ietf.org/html/bcp47){: + * class="external" target="_blank" }. The default + * value is `en-US`. + */ + languageCode?: string; + /** + * Optional. The experience level associated with the job, such as + * "Entry Level". + */ + level?: string; + /** + * Optional but strongly recommended for the best service experience. + * Location(s) where the emploeyer is looking to hire for this job posting. + * Specifying the full street address(es) of the hiring location enables + * better API results, especially job searches by commute time. At most 50 + * locations are allowed for best search performance. If a job has more + * locations, it is suggested to split it into multiple jobs with unique + * requisition_ids (e.g. 'ReqA' becomes 'ReqA-1', + * 'ReqA-2', etc.) as multiple jobs with the same requisition_id, + * company_name and language_code are not allowed. If the original + * requisition_id must be preserved, a custom field should be used for + * storage. It is also suggested to group the locations that close to each + * other in the same job for better search experience. The maximum number + * of allowed characters is 500. + */ + locations?: string[]; + /** + * Required during job update. Resource name assigned to a job by the API, + * for example, "/jobs/foo". Use of this field in job queries and + * API calls is preferred over the use of requisition_id since this value is + * unique. + */ + name?: string; + /** + * Optional. A promotion value of the job, as determined by the client. The + * value determines the sort order of the jobs returned when searching for + * jobs using the featured jobs search call, with higher promotional values + * being returned first and ties being resolved by relevance sort. Only the + * jobs with a promotionValue >0 are returned in a FEATURED_JOB_SEARCH. + * Default value is 0, and negative values are treated as 0. + */ + promotionValue?: number; + /** + * Optional. The date this job was most recently published in UTC format. + * The default value is the time the request arrives at the server. + */ + publishDate?: Schema$Date; + /** + * Optional. A description of the qualifications required to perform the + * job. The use of this field is recommended as an alternative to using the + * more general description field. This field accepts and sanitizes HTML + * input, and also accepts bold, italic, ordered list, and unordered list + * markup tags. The maximum number of allowed characters is 10,000. + */ + qualifications?: string; + /** + * Output only. The URL of a web page that displays job details. + */ + referenceUrl?: string; + /** + * Optional. The job Region (for example, state, country) throughout which + * the job is available. If this field is set, a LocationFilter in a search + * query within the job region finds this job if an exact location match is + * not specified. If this field is set, setting job locations to the same + * location level as this field is strongly recommended. + */ + region?: string; + /** + * Required. The requisition ID, also referred to as the posting ID, + * assigned by the client to identify a job. This field is intended to be + * used by clients for client identification and tracking of listings. A job + * is not allowed to be created if there is another job with the same + * requisition_id, company_name and language_code. The maximum number of + * allowed characters is 255. + */ + requisitionId?: string; + /** + * Optional. A description of job responsibilities. The use of this field + * is recommended as an alternative to using the more general description + * field. This field accepts and sanitizes HTML input, and also accepts + * bold, italic, ordered list, and unordered list markup tags. The maximum + * number of allowed characters is 10,000. + */ + responsibilities?: string; + /** + * Optional. The start date of the job in UTC time zone. Typically this + * field is used for contracting engagements. Dates prior to 1970/1/1 and + * invalid date formats are ignored. + */ + startDate?: Schema$Date; + /** + * Deprecated. Use custom_attributes instead. Optional. A map of fields to + * hold non-filterable custom job attributes, similar to + * filterable_custom_fields. These fields are distinct in that the data in + * these fields are not indexed. Therefore, the client cannot search against + * them, nor can the client use them to list jobs. The key of the map can + * be any valid string. + */ + unindexedCustomFields?: any; + /** + * Output only. The timestamp when this job was last updated. + */ + updateTime?: string; + /** + * Optional. The visibility of the job. Defaults to JobVisibility.PRIVATE + * if not specified. Currently only JobVisibility.PRIVATE is supported. + */ + visibility?: string; + } + /** + * Input only. Deprecated. Use JobQuery instead. The filters required to + * perform a search query or histogram. + */ + interface Schema$JobFilters { + /** + * Optional. The category filter specifies the categories of jobs to search + * against. See Category for more information. If a value is not specified, + * jobs from any category are searched against. If multiple values are + * specified, jobs from any of the specified categories are searched + * against. + */ + categories?: string[]; + /** + * Optional. Allows filtering jobs by commute time with different travel + * methods (e.g. driving or public transit). Note: this only works with + * COMMUTE MODE. When specified, [JobFilters.location_filters] will be + * ignored. Currently we do not support sorting by commute time. + */ + commuteFilter?: Schema$CommutePreference; + /** + * Optional. The company names filter specifies the company entities to + * search against. If a value is not specified, jobs are searched for + * against all companies. If multiple values are specified, jobs are + * searched against the specified companies. At most 20 company filters are + * allowed. + */ + companyNames?: string[]; + /** + * Optional. This filter specifies the exact company titles of jobs to + * search against. If a value is not specified, jobs within the search + * results can be associated with any company. If multiple values are + * specified, jobs within the search results may be associated with any of + * the specified companies. At most 20 company title filters are allowed. + */ + companyTitles?: string[]; + /** + * Optional. This search filter is applied only to Job.compensation_info. + * For example, if the filter is specified as "Hourly job with per-hour + * compensation > $15", only jobs that meet this criteria are + * searched. If a filter is not defined, all open jobs are searched. + */ + compensationFilter?: Schema$CompensationFilter; + /** + * Optional. This filter specifies a structured syntax to match against the + * Job.custom_attributes that are marked as `filterable`. The syntax for + * this expression is a subset of Google SQL syntax. Supported operators + * are: =, !=, <, <=, >, >= where the left of the operator is a + * custom field key and the right of the operator is a number or string + * (surrounded by quotes) value. Supported functions are + * LOWER(<field_name>) to perform case insensitive match and + * EMPTY(<field_name>) to filter on the existence of a key. Boolean + * expressions (AND/OR/NOT) are supported up to 3 levels of nesting (For + * example, "((A AND B AND C) OR NOT D) AND E"), and there can be + * a maximum of 50 comparisons/functions in the expression. The expression + * must be < 2000 characters in length. Sample Query: (key1 = + * "TEST" OR LOWER(key1)="test" OR NOT EMPTY(key1)) AND + * key2 > 100 + */ + customAttributeFilter?: string; + /** + * Deprecated. Use custom_attribute_filter instead. Optional. This filter + * specifies searching against custom field values. See + * Job.filterable_custom_fields for information. The key value specifies a + * number between 1-20 (the service supports 20 custom fields) corresponding + * to the desired custom field map value. If an invalid key is provided or + * specified together with custom_attribute_filter, an error is thrown. + */ + customFieldFilters?: any; + /** + * Optional. This flag controls the spell-check feature. If false, the + * service attempts to correct a misspelled query, for example, + * "enginee" is corrected to "engineer". Defaults to + * false: a spell check is performed. + */ + disableSpellCheck?: boolean; + /** + * Optional. The employment type filter specifies the employment type of + * jobs to search against, such as EmploymentType.FULL_TIME. If a value is + * not specified, jobs in the search results include any employment type. If + * multiple values are specified, jobs in the search results include any of + * the specified employment types. + */ + employmentTypes?: string[]; + /** + * Deprecated. Always use compensation_filter. Optional. This search + * filter is applied only to Job.extended_compensation_info. For example, if + * the filter is specified as "Hourly job with per-hour compensation + * > $15", only jobs that meet these criteria are searched. If a + * filter is not defined, all open jobs are searched. + */ + extendedCompensationFilter?: Schema$ExtendedCompensationFilter; + /** + * Optional. This filter specifies the locale of jobs to search against, + * for example, "en-US". If a value is not specified, the search + * results may contain jobs in any locale. Language codes should be in + * BCP-47 format, for example, "en-US" or "sr-Latn". For + * more information, see [Tags for Identifying + * Languages](https://tools.ietf.org/html/bcp47). At most 10 language code + * filters are allowed. + */ + languageCodes?: string[]; + /** + * Optional. The location filter specifies geo-regions containing the jobs + * to search against. See LocationFilter for more information. If a + * location value is not specified, jobs are be retrieved from all + * locations. If multiple values are specified, jobs are retrieved from any + * of the specified locations, and, if different values are specified for + * the LocationFilter.distance_in_miles parameter, the maximum provided + * distance is used for all locations. At most 5 location filters are + * allowed. + */ + locationFilters?: Schema$LocationFilter[]; + /** + * Optional. Jobs published within a range specified by this filter are + * searched against, for example, DateRange.PAST_MONTH. If a value is not + * specified, all open jobs are searched against regardless of the date they + * were published. + */ + publishDateRange?: string; + /** + * Optional. The query filter contains the keywords that match against the + * job title, description, and location fields. The maximum query size is + * 255 bytes/characters. + */ + query?: string; + /** + * Deprecated. Do not use this field. This flag controls whether the job + * search should be restricted to jobs owned by the current user. Defaults + * to false where all jobs accessible to the user are searched against. + */ + tenantJobOnly?: boolean; + } + /** + * Output only. A resource that represents a location with full geographic + * information. + */ + interface Schema$JobLocation { + /** + * An object representing a latitude/longitude pair. + */ + latLng?: Schema$LatLng; + /** + * The type of a location, which corresponds to the address lines field of + * PostalAddress. For example, "Downtown, Atlanta, GA, USA" has a + * type of LocationType#NEIGHBORHOOD, and "Kansas City, KS, USA" + * has a type of LocationType#LOCALITY. + */ + locationType?: string; + /** + * Postal address of the location that includes human readable information, + * such as postal delivery and payments addresses. Given a postal address, a + * postal service can deliver items to a premises, P.O. Box, or other + * delivery location. + */ + postalAddress?: Schema$PostalAddress; + /** + * Radius in meters of the job location. This value is derived from the + * location bounding box in which a circle with the specified radius + * centered from LatLng coves the area associated with the job location. For + * example, currently, "Mountain View, CA, USA" has a radius of + * 7885.79 meters. + */ + radiusMeters?: number; + } + /** + * Input only. Options for job processing. + */ + interface Schema$JobProcessingOptions { + /** + * Optional. If set to `true`, the service does not attempt to resolve a + * more precise address for the job. + */ + disableStreetAddressResolution?: boolean; + /** + * Optional. Option for job HTML content sanitization. Applied fields are: + * * description * applicationInstruction * incentives * qualifications * + * responsibilities HTML tags in these fields may be stripped if + * sanitiazation is not disabled. Defaults to + * HtmlSanitization.SIMPLE_FORMATTING_ONLY. + */ + htmlSanitization?: string; + } + /** + * Input only. The query required to perform a search query or histogram. + */ + interface Schema$JobQuery { + /** + * Optional. The category filter specifies the categories of jobs to search + * against. See Category for more information. If a value is not specified, + * jobs from any category are searched against. If multiple values are + * specified, jobs from any of the specified categories are searched + * against. + */ + categories?: string[]; + /** + * Optional. Allows filtering jobs by commute time with different travel + * methods (for example, driving or public transit). Note: This only works + * with COMMUTE MODE. When specified, [JobQuery.location_filters] is + * ignored. Currently we don't support sorting by commute time. + */ + commuteFilter?: Schema$CommutePreference; + /** + * Optional. This filter specifies the exact company display name of the + * jobs to search against. If a value isn't specified, jobs within the + * search results are associated with any company. If multiple values are + * specified, jobs within the search results may be associated with any of + * the specified companies. At most 20 company display name filters are + * allowed. + */ + companyDisplayNames?: string[]; + /** + * Optional. This filter specifies the company entities to search against. + * If a value isn't specified, jobs are searched for against all + * companies. If multiple values are specified, jobs are searched against + * the companies specified. At most 20 company filters are allowed. + */ + companyNames?: string[]; + /** + * Optional. This search filter is applied only to Job.compensation_info. + * For example, if the filter is specified as "Hourly job with per-hour + * compensation > $15", only jobs meeting these criteria are + * searched. If a filter isn't defined, all open jobs are searched. + */ + compensationFilter?: Schema$CompensationFilter; + /** + * Optional. This filter specifies a structured syntax to match against the + * Job.custom_attributes marked as `filterable`. The syntax for this + * expression is a subset of Google SQL syntax. Supported operators are: =, + * !=, <, <=, >, >= where the left of the operator is a custom + * field key and the right of the operator is a number or string (surrounded + * by quotes) value. Supported functions are LOWER(<field_name>) to + * perform case insensitive match and EMPTY(<field_name>) to filter on + * the existence of a key. Boolean expressions (AND/OR/NOT) are supported + * up to 3 levels of nesting (for example, "((A AND B AND C) OR NOT D) + * AND E"), a maximum of 50 comparisons/functions are allowed in the + * expression. The expression must be < 2000 characters in length. Sample + * Query: (key1 = "TEST" OR LOWER(key1)="test" OR NOT + * EMPTY(key1)) AND key2 > 100 + */ + customAttributeFilter?: string; + /** + * Optional. This flag controls the spell-check feature. If false, the + * service attempts to correct a misspelled query, for example, + * "enginee" is corrected to "engineer". Defaults to + * false: a spell check is performed. + */ + disableSpellCheck?: boolean; + /** + * Optional. The employment type filter specifies the employment type of + * jobs to search against, such as EmploymentType.FULL_TIME. If a value is + * not specified, jobs in the search results include any employment type. If + * multiple values are specified, jobs in the search results include any of + * the specified employment types. + */ + employmentTypes?: string[]; + /** + * Optional. This filter specifies the locale of jobs to search against, + * for example, "en-US". If a value isn't specified, the + * search results can contain jobs in any locale. Language codes should be + * in BCP-47 format, such as "en-US" or "sr-Latn". For + * more information, see [Tags for Identifying + * Languages](https://tools.ietf.org/html/bcp47). At most 10 language code + * filters are allowed. + */ + languageCodes?: string[]; + /** + * Optional. The location filter specifies geo-regions containing the jobs + * to search against. See LocationFilter for more information. If a + * location value isn't specified, jobs fitting the other search + * criteria are retrieved regardless of where they're located. If + * multiple values are specified, jobs are retrieved from any of the + * specified locations, and, if different values are specified for the + * LocationFilter.distance_in_miles parameter, the maximum provided distance + * is used for all locations. At most 5 location filters are allowed. + */ + locationFilters?: Schema$LocationFilter[]; + /** + * Optional. Jobs published within a range specified by this filter are + * searched against, for example, DateRange.PAST_MONTH. If a value isn't + * specified, all open jobs are searched against regardless of their + * published date. + */ + publishDateRange?: string; + /** + * Optional. The query string that matches against the job title, + * description, and location fields. The maximum query size is 255 bytes. + */ + query?: string; + } + /** + * An object representing a latitude/longitude pair. This is expressed as a + * pair of doubles representing degrees latitude and degrees longitude. Unless + * specified otherwise, this must conform to the <a + * href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84 + * standard</a>. Values must be within normalized ranges. + */ + interface Schema$LatLng { + /** + * The latitude in degrees. It must be in the range [-90.0, +90.0]. + */ + latitude?: number; + /** + * The longitude in degrees. It must be in the range [-180.0, +180.0]. + */ + longitude?: number; + } + /** + * Output only. The List companies response object. + */ + interface Schema$ListCompaniesResponse { + /** + * Companies for the current client. + */ + companies?: Schema$Company[]; + /** + * Additional information for the API invocation, such as the request + * tracking id. + */ + metadata?: Schema$ResponseMetadata; + /** + * A token to retrieve the next page of results. + */ + nextPageToken?: string; + } + /** + * Deprecated. Use ListJobsResponse instead. Output only. The List jobs + * response object. + */ + interface Schema$ListCompanyJobsResponse { + /** + * The Jobs for a given company. The maximum number of items returned is + * based on the limit field provided in the request. + */ + jobs?: Schema$Job[]; + /** + * Additional information for the API invocation, such as the request + * tracking id. + */ + metadata?: Schema$ResponseMetadata; + /** + * A token to retrieve the next page of results. + */ + nextPageToken?: string; + /** + * The total number of open jobs. The result will be empty if + * ListCompanyJobsRequest.include_jobs_count is not enabled or if no open + * jobs are available. + */ + totalSize?: string; + } + /** + * Output only. List jobs response. + */ + interface Schema$ListJobsResponse { + /** + * The Jobs for a given company. The maximum number of items returned is + * based on the limit field provided in the request. + */ + jobs?: Schema$Job[]; + /** + * Additional information for the API invocation, such as the request + * tracking id. + */ + metadata?: Schema$ResponseMetadata; + /** + * A token to retrieve the next page of results. + */ + nextPageToken?: string; + } + /** + * Input only. Geographic region of the search. + */ + interface Schema$LocationFilter { + /** + * Optional. The distance_in_miles is applied when the location being + * searched for is identified as a city or smaller. When the location being + * searched for is a state or larger, this field is ignored. + */ + distanceInMiles?: number; + /** + * Optional. Allows the client to return jobs without a set location, + * specifically, telecommuting jobs (telecomuting is considered by the + * service as a special location. Job.allow_telecommute indicates if a job + * permits telecommuting. If this field is true, telecommuting jobs are + * searched, and name and lat_lng are ignored. This filter can be used by + * itself to search exclusively for telecommuting jobs, or it can be + * combined with another location filter to search for a combination of job + * locations, such as "Mountain View" or "telecommuting" + * jobs. However, when used in combination with other location filters, + * telecommuting jobs can be treated as less relevant than other jobs in the + * search response. + */ + isTelecommute?: boolean; + /** + * Optional. The latitude and longitude of the geographic center from which + * to search. This field is ignored if `location_name` is provided. + */ + latLng?: Schema$LatLng; + /** + * Optional. The address name, such as "Mountain View" or + * "Bay Area". + */ + name?: string; + /** + * Optional. CLDR region code of the country/region of the address. This + * will be used to address ambiguity of the user-input location, e.g. + * "Liverpool" against "Liverpool, NY, US" or + * "Liverpool, UK". Set this field if all the jobs to search + * against are from a same region, or jobs are world-wide but the job seeker + * is from a specific region. See http://cldr.unicode.org/ and + * http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html + * for details. Example: "CH" for Switzerland. + */ + regionCode?: string; + } + /** + * Output only. Job entry with metadata inside SearchJobsResponse. + */ + interface Schema$MatchingJob { + /** + * Commute information which is generated based on specified + * CommutePreference. + */ + commuteInfo?: Schema$CommuteInfo; + /** + * Job resource that matches the specified SearchJobsRequest. + */ + job?: Schema$Job; + /** + * A summary of the job with core information that's displayed on the + * search results listing page. + */ + jobSummary?: string; + /** + * Contains snippets of text from the Job.job_title field most closely + * matching a search query's keywords, if available. The matching query + * keywords are enclosed in HTML bold tags. + */ + jobTitleSnippet?: string; + /** + * Contains snippets of text from the Job.description and similar fields + * that most closely match a search query's keywords, if available. All + * HTML tags in the original fields are stripped when returned in this + * field, and matching query keywords are enclosed in HTML bold tags. + */ + searchTextSnippet?: string; + } + /** + * Represents an amount of money with its currency type. + */ + interface Schema$Money { + /** + * The 3-letter currency code defined in ISO 4217. + */ + currencyCode?: string; + /** + * Number of nano (10^-9) units of the amount. The value must be between + * -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` + * must be positive or zero. If `units` is zero, `nanos` can be positive, + * zero, or negative. If `units` is negative, `nanos` must be negative or + * zero. For example $-1.75 is represented as `units`=-1 and + * `nanos`=-750,000,000. + */ + nanos?: number; + /** + * The whole units of the amount. For example if `currencyCode` is + * `"USD"`, then 1 unit is one US dollar. + */ + units?: string; + } + /** + * Input only. Use this field to specify bucketing option for the histogram + * search response. + */ + interface Schema$NumericBucketingOption { + /** + * Required. Two adjacent values form a histogram bucket. Values should be + * in ascending order. For example, if [5, 10, 15] are provided, four + * buckets are created: (-inf, 5), 5, 10), [10, 15), [15, inf). At most 20 + * [buckets_bound is supported. + */ + bucketBounds?: number[]; + /** + * Optional. If set to true, the histogram result includes minimum/maximum + * value of the numeric field. + */ + requiresMinMax?: boolean; + } + /** + * Output only. Custom numeric bucketing result. + */ + interface Schema$NumericBucketingResult { + /** + * Count within each bucket. Its size is the length of + * NumericBucketingOption.bucket_bounds plus 1. + */ + counts?: Schema$BucketizedCount[]; + /** + * Stores the maximum value of the numeric field. Will be populated only if + * [NumericBucketingOption.requires_min_max] is set to true. + */ + maxValue?: number; + /** + * Stores the minimum value of the numeric field. Will be populated only if + * [NumericBucketingOption.requires_min_max] is set to true. + */ + minValue?: number; + } + /** + * Represents a postal address, e.g. for postal delivery or payments + * addresses. Given a postal address, a postal service can deliver items to a + * premise, P.O. Box or similar. It is not intended to model geographical + * locations (roads, towns, mountains). In typical usage an address would be + * created via user input or from importing existing data, depending on the + * type of process. Advice on address input / editing: - Use an i18n-ready + * address widget such as https://github.com/googlei18n/libaddressinput) - + * Users should not be presented with UI elements for input or editing of + * fields outside countries where that field is used. For more guidance on + * how to use this schema, please see: + * https://support.google.com/business/answer/6397478 + */ + interface Schema$PostalAddress { + /** + * Unstructured address lines describing the lower levels of an address. + * Because values in address_lines do not have type information and may + * sometimes contain multiple values in a single field (e.g. "Austin, + * TX"), it is important that the line order is clear. The order of + * address lines should be "envelope order" for the country/region + * of the address. In places where this can vary (e.g. Japan), + * address_language is used to make it explicit (e.g. "ja" for + * large-to-small ordering and "ja-Latn" or "en" for + * small-to-large). This way, the most specific line of an address can be + * selected based on the language. The minimum permitted structural + * representation of an address consists of a region_code with all remaining + * information placed in the address_lines. It would be possible to format + * such an address very approximately without geocoding, but no semantic + * reasoning could be made about any of the address components until it was + * at least partially resolved. Creating an address only containing a + * region_code and address_lines, and then geocoding is the recommended way + * to handle completely unstructured addresses (as opposed to guessing which + * parts of the address should be localities or administrative areas). + */ + addressLines?: string[]; + /** + * Optional. Highest administrative subdivision which is used for postal + * addresses of a country or region. For example, this can be a state, a + * province, an oblast, or a prefecture. Specifically, for Spain this is the + * province and not the autonomous community (e.g. "Barcelona" and + * not "Catalonia"). Many countries don't use an + * administrative area in postal addresses. E.g. in Switzerland this should + * be left unpopulated. + */ + administrativeArea?: string; + /** + * Optional. BCP-47 language code of the contents of this address (if + * known). This is often the UI language of the input form or is expected to + * match one of the languages used in the address' country/region, or + * their transliterated equivalents. This can affect formatting in certain + * countries, but is not critical to the correctness of the data and will + * never affect any validation or other non-formatting related operations. + * If this value is not known, it should be omitted (rather than specifying + * a possibly incorrect default). Examples: "zh-Hant", + * "ja", "ja-Latn", "en". + */ + languageCode?: string; + /** + * Optional. Generally refers to the city/town portion of the address. + * Examples: US city, IT comune, UK post town. In regions of the world where + * localities are not well defined or do not fit into this structure well, + * leave locality empty and use address_lines. + */ + locality?: string; + /** + * Optional. The name of the organization at the address. + */ + organization?: string; + /** + * Optional. Postal code of the address. Not all countries use or require + * postal codes to be present, but where they are used, they may trigger + * additional validation with other parts of the address (e.g. state/zip + * validation in the U.S.A.). + */ + postalCode?: string; + /** + * Optional. The recipient at the address. This field may, under certain + * circumstances, contain multiline information. For example, it might + * contain "care of" information. + */ + recipients?: string[]; + /** + * Required. CLDR region code of the country/region of the address. This is + * never inferred and it is up to the user to ensure the value is correct. + * See http://cldr.unicode.org/ and + * http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html + * for details. Example: "CH" for Switzerland. + */ + regionCode?: string; + /** + * The schema revision of the `PostalAddress`. This must be set to 0, which + * is the latest revision. All new revisions **must** be backward + * compatible with old revisions. + */ + revision?: number; + /** + * Optional. Additional, country-specific, sorting code. This is not used in + * most regions. Where it is used, the value is either a string like + * "CEDEX", optionally followed by a number (e.g. "CEDEX + * 7"), or just a number alone, representing the "sector + * code" (Jamaica), "delivery area indicator" (Malawi) or + * "post office indicator" (e.g. Côte d'Ivoire). + */ + sortingCode?: string; + /** + * Optional. Sublocality of the address. For example, this can be + * neighborhoods, boroughs, districts. + */ + sublocality?: string; + } + /** + * Input only. Meta information related to the job searcher or entity + * conducting the job search. This information is used to improve the + * performance of the service. + */ + interface Schema$RequestMetadata { + /** + * Optional. The type of device used by the job seeker at the time of the + * call to the service. + */ + deviceInfo?: Schema$DeviceInfo; + /** + * Required. The client-defined scope or source of the service call, which + * typically is the domain on which the service has been implemented and is + * currently being run. For example, if the service is being run by client + * <em>Foo, Inc.</em>, on job board www.foo.com and career site + * www.bar.com, then this field is set to "foo.com" for use on the + * job board, and "bar.com" for use on the career site. If this + * field is not available for some reason, send "UNKNOWN". Note + * that any improvements to the service model for a particular tenant site + * rely on this field being set correctly to some domain. + */ + domain?: string; + /** + * Required. A unique session identification string. A session is defined + * as the duration of an end user's interaction with the service over a + * period. Obfuscate this field for privacy concerns before providing it to + * the API. If this field is not available for some reason, please send + * "UNKNOWN". Note that any improvements to the service model for + * a particular tenant site, rely on this field being set correctly to some + * unique session_id. + */ + sessionId?: string; + /** + * Required. A unique user identification string, as determined by the + * client. The client is responsible for ensuring client-level uniqueness of + * this value in order to have the strongest positive impact on search + * quality. Obfuscate this field for privacy concerns before providing it to + * the service. If this field is not available for some reason, please send + * "UNKNOWN". Note that any improvements to the service model for + * a particular tenant site, rely on this field being set correctly to some + * unique user_id. + */ + userId?: string; + } + /** + * Output only. Additional information returned to client, such as debugging + * information. + */ + interface Schema$ResponseMetadata { + /** + * Identifiers for the versions of the search algorithm used during this API + * invocation if multiple algorithms are used. The default value is empty. + * For search response only. + */ + experimentIdList?: number[]; + /** + * For search response only. Indicates the mode of a performed search. + */ + mode?: string; + /** + * A unique id associated with this call. This id is logged for tracking + * purposes. + */ + requestId?: string; + } + /** + * Input only. The Request body of the `SearchJobs` call. + */ + interface Schema$SearchJobsRequest { + /** + * Deprecated. Any value provided in this field is ignored. Optional. + * Controls whether to disable relevance thresholding. Relevance + * thresholding removes jobs that have low relevance in search results, for + * example, removing "Assistant to the CEO" positions from the + * search results of a search for "CEO". Disabling relevance + * thresholding improves the accuracy of subsequent search requests. + * Defaults to false. + */ + disableRelevanceThresholding?: boolean; + /** + * Optional. Controls whether to broaden the search when it produces sparse + * results. Broadened queries append results to the end of the matching + * results list. Defaults to false. + */ + enableBroadening?: boolean; + /** + * Optional. Controls if the search job request requires the return of a + * precise count of the first 300 results. Setting this to `true` ensures + * consistency in the number of results per page. Best practice is to set + * this value to true if a client allows users to jump directly to a + * non-sequential search results page. Enabling this flag may adversely + * impact performance. Defaults to false. + */ + enablePreciseResultSize?: boolean; + /** + * Deprecated. Use query instead. Optional. Restrictions on the scope of + * the search request, such as filtering by location. + */ + filters?: Schema$JobFilters; + /** + * Optional. Restrictions on what fields to perform histogram on, such as + * `COMPANY_SIZE` etc. + */ + histogramFacets?: Schema$HistogramFacets; + /** + * Optional. The number of job attributes returned for jobs in the search + * response. Defaults to JobView.SMALL if no value is specified. + */ + jobView?: string; + /** + * Required. Mode of a search. + */ + mode?: string; + /** + * Optional. An integer that specifies the current offset (that is, + * starting result location, amongst the jobs deemed by the API as relevant) + * in search results. This field is only considered if page_token is unset. + * For example, 0 means to return results starting from the first matching + * job, and 10 means to return from the 11th job. This can be used for + * pagination, (for example, pageSize = 10 and offset = 10 means to return + * from the second page). + */ + offset?: number; + /** + * Deprecated. Use sort_by instead. Optional. The criteria determining how + * search results are sorted. Defaults to SortBy.RELEVANCE_DESC if no value + * is specified. + */ + orderBy?: string; + /** + * Optional. A limit on the number of jobs returned in the search results. + * Increasing this value above the default value of 10 can increase search + * response time. The value can be between 1 and 100. + */ + pageSize?: number; + /** + * Optional. The token specifying the current offset within search results. + * See SearchJobsResponse.next_page_token for an explanation of how to + * obtain the next set of query results. + */ + pageToken?: string; + /** + * Optional. Query used to search against jobs, such as keyword, location + * filters, etc. + */ + query?: Schema$JobQuery; + /** + * Required. The meta information collected about the job searcher, used to + * improve the search quality of the service.. The identifiers, (such as + * `user_id`) are provided by users, and must be unique and consistent. + */ + requestMetadata?: Schema$RequestMetadata; + /** + * Optional. The criteria determining how search results are sorted. + * Defaults to SortBy.RELEVANCE_DESC if no value is specified. + */ + sortBy?: string; + } + /** + * Output only. Response for SearchJob method. + */ + interface Schema$SearchJobsResponse { + /** + * The commute filter the service applied to the specified query. This + * information is only available when query has a valid CommutePreference. + */ + appliedCommuteFilter?: Schema$CommutePreference; + /** + * The location filters that the service applied to the specified query. If + * any filters are lat-lng based, the JobLocation.location_type is + * JobLocation.LocationType#LOCATION_TYPE_UNSPECIFIED. + */ + appliedJobLocationFilters?: Schema$JobLocation[]; + /** + * An estimation of the number of jobs that match the specified query. This + * number is not guaranteed to be accurate. For accurate results, + * seenenable_precise_result_size. + */ + estimatedTotalSize?: string; + /** + * The histogram results that match specified + * SearchJobsRequest.HistogramFacets. + */ + histogramResults?: Schema$HistogramResults; + /** + * Corresponds to SearchJobsRequest.job_view. + */ + jobView?: string; + /** + * The Job entities that match the specified SearchJobsRequest. + */ + matchingJobs?: Schema$MatchingJob[]; + /** + * Additional information for the API invocation, such as the request + * tracking id. + */ + metadata?: Schema$ResponseMetadata; + /** + * The token that specifies the starting position of the next page of + * results. This field is empty if there are no more results. + */ + nextPageToken?: string; + /** + * If query broadening is enabled, we may append additional results from the + * broadened query. This number indicates how many of the jobs returned in + * the jobs field are from the broadened query. These results are always at + * the end of the jobs list. In particular, a value of 0 means all the jobs + * in the jobs list are from the original (without broadening) query. If + * this field is non-zero, subsequent requests with offset after this result + * set should contain all broadened results. + */ + numJobsFromBroadenedQuery?: number; + /** + * The spell checking result, and correction. + */ + spellResult?: Schema$SpellingCorrection; + /** + * The precise result count, which is available only if the client set + * enable_precise_result_size to `true` or if the response is the last page + * of results. Otherwise, the value will be `-1`. + */ + totalSize?: string; + } + /** + * Output only. Spell check result. + */ + interface Schema$SpellingCorrection { + /** + * Indicates if the query was corrected by the spell checker. + */ + corrected?: boolean; + /** + * Correction output consisting of the corrected keyword string. + */ + correctedText?: string; + } + /** + * Represents array of string values. + */ + interface Schema$StringValues { + /** + * Required. String values. + */ + values?: string[]; + } + /** + * Input only. Update job request. + */ + interface Schema$UpdateJobRequest { + /** + * Deprecated. Please use processing_options. This flag is ignored if + * processing_options is set. Optional. If set to `true`, the service does + * not attempt resolve a more precise address for the job. + */ + disableStreetAddressResolution?: boolean; + /** + * Required. The Job to be updated. + */ + job?: Schema$Job; + /** + * Optional. Options for job processing. + * UpdateJobRequest.disable_street_address_resolution is ignored if this + * flag is set. + */ + processingOptions?: Schema$JobProcessingOptions; + /** + * Optional but strongly recommended to be provided for the best service + * experience. If update_job_fields is provided, only the specified fields + * in job are updated. Otherwise all the fields are updated. A field mask + * to restrict the fields that are updated. Valid values are: * jobTitle * + * employmentTypes * description * applicationUrls * applicationEmailList * + * applicationInstruction * responsibilities * qualifications * + * educationLevels * level * department * startDate * endDate * + * compensationInfo * incentives * languageCode * benefits * expireTime * + * customAttributes * visibility * publishDate * promotionValue * locations + * * region * expiryDate (deprecated) * filterableCustomFields (deprecated) + * * unindexedCustomFields (deprecated) + */ + updateJobFields?: string; + } + class Resource$Companies { + root: Jobs; + jobs: Resource$Companies$Jobs; + constructor(root: Jobs); + getRoot(): Jobs; + /** + * jobs.companies.create + * @desc Creates a new company entity. + * @alias jobs.companies.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().Company} 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 + */ + create(params?: Params$Resource$Companies$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Companies$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Companies$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * jobs.companies.delete + * @desc Deletes the specified company. + * @alias jobs.companies.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The resource name of the company to be deleted, such as, "companies/0000aaaa-1111-bbbb-2222-cccc3333dddd". + * @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?: Params$Resource$Companies$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Companies$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Companies$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * jobs.companies.get + * @desc Retrieves the specified company. + * @alias jobs.companies.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. Resource name of the company to retrieve, such as "companies/0000aaaa-1111-bbbb-2222-cccc3333dddd". + * @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?: Params$Resource$Companies$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Companies$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Companies$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * jobs.companies.list + * @desc Lists all companies associated with a Cloud Talent Solution + * account. + * @alias jobs.companies.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.mustHaveOpenJobs Optional. Set to true if the companies request must have open jobs. Defaults to false. If true, at most page_size of companies are fetched, among which only those with open jobs are returned. + * @param {integer=} params.pageSize Optional. The maximum number of companies to be returned, at most 100. Default is 100 if a non-positive number is provided. + * @param {string=} params.pageToken Optional. The starting indicator from which to return results. + * @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?: Params$Resource$Companies$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Companies$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Companies$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * jobs.companies.patch + * @desc Updates the specified company. Company names can't be updated. To + * update a company name, delete the company and all jobs associated with + * it, and only then re-create them. + * @alias jobs.companies.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required during company update. The resource name for a company. This is generated by the service when a company is created, for example, "companies/0000aaaa-1111-bbbb-2222-cccc3333dddd". + * @param {string=} params.updateCompanyFields Optional but strongly recommended to be provided for the best service experience. If update_company_fields is provided, only the specified fields in company are updated. Otherwise all the fields are updated. A field mask to specify the company fields to update. Valid values are: * displayName * website * imageUrl * companySize * distributorBillingCompanyId * companyInfoSources * careerPageLink * hiringAgency * hqLocation * eeoText * keywordSearchableCustomAttributes * title (deprecated) * keywordSearchableCustomFields (deprecated) + * @param {().Company} 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 + */ + patch(params?: Params$Resource$Companies$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Companies$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Companies$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Companies$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$Company; + } + interface Params$Resource$Companies$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of the company to be deleted, such as, + * "companies/0000aaaa-1111-bbbb-2222-cccc3333dddd". + */ + name?: string; + } + interface Params$Resource$Companies$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. Resource name of the company to retrieve, such as + * "companies/0000aaaa-1111-bbbb-2222-cccc3333dddd". + */ + name?: string; + } + interface Params$Resource$Companies$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. Set to true if the companies request must have open jobs. + * Defaults to false. If true, at most page_size of companies are fetched, + * among which only those with open jobs are returned. + */ + mustHaveOpenJobs?: boolean; + /** + * Optional. The maximum number of companies to be returned, at most 100. + * Default is 100 if a non-positive number is provided. + */ + pageSize?: number; + /** + * Optional. The starting indicator from which to return results. + */ + pageToken?: string; + } + interface Params$Resource$Companies$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required during company update. The resource name for a company. This is + * generated by the service when a company is created, for example, + * "companies/0000aaaa-1111-bbbb-2222-cccc3333dddd". + */ + name?: string; + /** + * Optional but strongly recommended to be provided for the best service + * experience. If update_company_fields is provided, only the specified + * fields in company are updated. Otherwise all the fields are updated. A + * field mask to specify the company fields to update. Valid values are: * + * displayName * website * imageUrl * companySize * + * distributorBillingCompanyId * companyInfoSources * careerPageLink * + * hiringAgency * hqLocation * eeoText * keywordSearchableCustomAttributes * + * title (deprecated) * keywordSearchableCustomFields (deprecated) + */ + updateCompanyFields?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Company; + } + class Resource$Companies$Jobs { + root: Jobs; + constructor(root: Jobs); + getRoot(): Jobs; + /** + * jobs.companies.jobs.list + * @desc Deprecated. Use ListJobs instead. Lists all jobs associated with a + * company. + * @alias jobs.companies.jobs.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.companyName Required. The resource name of the company that owns the jobs to be listed, such as, "companies/0000aaaa-1111-bbbb-2222-cccc3333dddd". + * @param {boolean=} params.idsOnly Optional. If set to `true`, only job ID, job requisition ID and language code will be returned. A typical use is to synchronize job repositories. Defaults to false. + * @param {boolean=} params.includeJobsCount Deprecated. Please DO NOT use this field except for small companies. Suggest counting jobs page by page instead. Optional. Set to true if the total number of open jobs is to be returned. Defaults to false. + * @param {string=} params.jobRequisitionId Optional. The requisition ID, also known as posting ID, assigned by the company to the job. The maximum number of allowable characters is 225. + * @param {integer=} params.pageSize Optional. The maximum number of jobs to be returned per page of results. If ids_only is set to true, the maximum allowed page size is 1000. Otherwise, the maximum allowed page size is 100. Default is 100 if empty or a number < 1 is specified. + * @param {string=} params.pageToken Optional. The starting point of a query result. + * @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?: Params$Resource$Companies$Jobs$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Companies$Jobs$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Companies$Jobs$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Companies$Jobs$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of the company that owns the jobs to be + * listed, such as, "companies/0000aaaa-1111-bbbb-2222-cccc3333dddd". + */ + companyName?: string; + /** + * Optional. If set to `true`, only job ID, job requisition ID and language + * code will be returned. A typical use is to synchronize job repositories. + * Defaults to false. + */ + idsOnly?: boolean; + /** + * Deprecated. Please DO NOT use this field except for small companies. + * Suggest counting jobs page by page instead. Optional. Set to true if + * the total number of open jobs is to be returned. Defaults to false. + */ + includeJobsCount?: boolean; + /** + * Optional. The requisition ID, also known as posting ID, assigned by the + * company to the job. The maximum number of allowable characters is 225. + */ + jobRequisitionId?: string; + /** + * Optional. The maximum number of jobs to be returned per page of results. + * If ids_only is set to true, the maximum allowed page size is 1000. + * Otherwise, the maximum allowed page size is 100. Default is 100 if empty + * or a number < 1 is specified. + */ + pageSize?: number; + /** + * Optional. The starting point of a query result. + */ + pageToken?: string; + } + class Resource$Jobs { + root: Jobs; + constructor(root: Jobs); + getRoot(): Jobs; + /** + * jobs.jobs.batchDelete + * @desc Deletes a list of Job postings by filter. + * @alias jobs.jobs.batchDelete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().BatchDeleteJobsRequest} 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 + */ + batchDelete(params?: Params$Resource$Jobs$Batchdelete, options?: MethodOptions): AxiosPromise; + batchDelete(params: Params$Resource$Jobs$Batchdelete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + batchDelete(params: Params$Resource$Jobs$Batchdelete, callback: BodyResponseCallback): void; + batchDelete(callback: BodyResponseCallback): void; + /** + * jobs.jobs.create + * @desc Creates a new job. Typically, the job becomes searchable within 10 + * seconds, but it may take up to 5 minutes. + * @alias jobs.jobs.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().CreateJobRequest} 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 + */ + create(params?: Params$Resource$Jobs$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Jobs$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Jobs$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * jobs.jobs.delete + * @desc Deletes the specified job. Typically, the job becomes unsearchable + * within 10 seconds, but it may take up to 5 minutes. + * @alias jobs.jobs.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.disableFastProcess Deprecated. This field is not working anymore. Optional. If set to true, this call waits for all processing steps to complete before the job is cleaned up. Otherwise, the call returns while some steps are still taking place asynchronously, hence faster. + * @param {string} params.name Required. The resource name of the job to be deleted, such as "jobs/11111111". + * @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?: Params$Resource$Jobs$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Jobs$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Jobs$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * jobs.jobs.deleteByFilter + * @desc Deprecated. Use BatchDeleteJobs instead. Deletes the specified job + * by filter. You can specify whether to synchronously wait for validation, + * indexing, and general processing to be completed before the response is + * returned. + * @alias jobs.jobs.deleteByFilter + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().DeleteJobsByFilterRequest} 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 + */ + deleteByFilter(params?: Params$Resource$Jobs$Deletebyfilter, options?: MethodOptions): AxiosPromise; + deleteByFilter(params: Params$Resource$Jobs$Deletebyfilter, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + deleteByFilter(params: Params$Resource$Jobs$Deletebyfilter, callback: BodyResponseCallback): void; + deleteByFilter(callback: BodyResponseCallback): void; + /** + * jobs.jobs.get + * @desc Retrieves the specified job, whose status is OPEN or recently + * EXPIRED within the last 90 days. + * @alias jobs.jobs.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The resource name of the job to retrieve, such as "jobs/11111111". + * @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?: Params$Resource$Jobs$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Jobs$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Jobs$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * jobs.jobs.histogram + * @desc Deprecated. Use SearchJobsRequest.histogram_facets instead to make + * a single call with both search and histogram. Retrieves a histogram for + * the given GetHistogramRequest. This call provides a structured count of + * jobs that match against the search query, grouped by specified facets. + * This call constrains the visibility of jobs present in the database, and + * only counts jobs the caller has permission to search against. For + * example, use this call to generate the number of jobs in the U.S. by + * state. + * @alias jobs.jobs.histogram + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().GetHistogramRequest} 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 + */ + histogram(params?: Params$Resource$Jobs$Histogram, options?: MethodOptions): AxiosPromise; + histogram(params: Params$Resource$Jobs$Histogram, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + histogram(params: Params$Resource$Jobs$Histogram, callback: BodyResponseCallback): void; + histogram(callback: BodyResponseCallback): void; + /** + * jobs.jobs.list + * @desc Lists jobs by filter. + * @alias jobs.jobs.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter Required. The filter string specifies the jobs to be enumerated. Supported operator: =, AND The fields eligible for filtering are: * `companyName` (Required) * `requisitionId` (Optional) Sample Query: * companyName = "companies/123" * companyName = "companies/123" AND requisitionId = "req-1" + * @param {boolean=} params.idsOnly Optional. If set to `true`, only Job.name, Job.requisition_id and Job.language_code will be returned. A typical use case is to synchronize job repositories. Defaults to false. + * @param {integer=} params.pageSize Optional. The maximum number of jobs to be returned per page of results. If ids_only is set to true, the maximum allowed page size is 1000. Otherwise, the maximum allowed page size is 100. Default is 100 if empty or a number < 1 is specified. + * @param {string=} params.pageToken Optional. The starting point of a query result. + * @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?: Params$Resource$Jobs$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Jobs$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Jobs$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * jobs.jobs.patch + * @desc Updates specified job. Typically, updated contents become visible + * in search results within 10 seconds, but it may take up to 5 minutes. + * @alias jobs.jobs.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required during job update. Resource name assigned to a job by the API, for example, "/jobs/foo". Use of this field in job queries and API calls is preferred over the use of requisition_id since this value is unique. + * @param {().UpdateJobRequest} 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 + */ + patch(params?: Params$Resource$Jobs$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Jobs$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Jobs$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * jobs.jobs.search + * @desc Searches for jobs using the provided SearchJobsRequest. This call + * constrains the visibility of jobs present in the database, and only + * returns jobs that the caller has permission to search against. + * @alias jobs.jobs.search + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().SearchJobsRequest} 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 + */ + search(params?: Params$Resource$Jobs$Search, options?: MethodOptions): AxiosPromise; + search(params: Params$Resource$Jobs$Search, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + search(params: Params$Resource$Jobs$Search, callback: BodyResponseCallback): void; + search(callback: BodyResponseCallback): void; + /** + * jobs.jobs.searchForAlert + * @desc Searches for jobs using the provided SearchJobsRequest. This API + * call is intended for the use case of targeting passive job seekers (for + * example, job seekers who have signed up to receive email alerts about + * potential job opportunities), and has different algorithmic adjustments + * that are targeted to passive job seekers. This call constrains the + * visibility of jobs present in the database, and only returns jobs the + * caller has permission to search against. + * @alias jobs.jobs.searchForAlert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().SearchJobsRequest} 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 + */ + searchForAlert(params?: Params$Resource$Jobs$Searchforalert, options?: MethodOptions): AxiosPromise; + searchForAlert(params: Params$Resource$Jobs$Searchforalert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + searchForAlert(params: Params$Resource$Jobs$Searchforalert, callback: BodyResponseCallback): void; + searchForAlert(callback: BodyResponseCallback): void; + } + interface Params$Resource$Jobs$Batchdelete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$BatchDeleteJobsRequest; + } + interface Params$Resource$Jobs$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$CreateJobRequest; + } + interface Params$Resource$Jobs$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Deprecated. This field is not working anymore. Optional. If set to + * true, this call waits for all processing steps to complete before the job + * is cleaned up. Otherwise, the call returns while some steps are still + * taking place asynchronously, hence faster. + */ + disableFastProcess?: boolean; + /** + * Required. The resource name of the job to be deleted, such as + * "jobs/11111111". + */ + name?: string; + } + interface Params$Resource$Jobs$Deletebyfilter { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$DeleteJobsByFilterRequest; + } + interface Params$Resource$Jobs$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of the job to retrieve, such as + * "jobs/11111111". + */ + name?: string; + } + interface Params$Resource$Jobs$Histogram { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$GetHistogramRequest; + } + interface Params$Resource$Jobs$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The filter string specifies the jobs to be enumerated. + * Supported operator: =, AND The fields eligible for filtering are: * + * `companyName` (Required) * `requisitionId` (Optional) Sample Query: * + * companyName = "companies/123" * companyName = "companies/123" AND + * requisitionId = "req-1" + */ + filter?: string; + /** + * Optional. If set to `true`, only Job.name, Job.requisition_id and + * Job.language_code will be returned. A typical use case is to synchronize + * job repositories. Defaults to false. + */ + idsOnly?: boolean; + /** + * Optional. The maximum number of jobs to be returned per page of results. + * If ids_only is set to true, the maximum allowed page size is 1000. + * Otherwise, the maximum allowed page size is 100. Default is 100 if empty + * or a number < 1 is specified. + */ + pageSize?: number; + /** + * Optional. The starting point of a query result. + */ + pageToken?: string; + } + interface Params$Resource$Jobs$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required during job update. Resource name assigned to a job by the API, + * for example, "/jobs/foo". Use of this field in job queries and API calls + * is preferred over the use of requisition_id since this value is unique. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UpdateJobRequest; + } + interface Params$Resource$Jobs$Search { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$SearchJobsRequest; + } + interface Params$Resource$Jobs$Searchforalert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$SearchJobsRequest; + } + class Resource$V2 { + root: Jobs; + constructor(root: Jobs); + getRoot(): Jobs; + /** + * jobs.complete + * @desc Completes the specified prefix with job keyword suggestions. + * Intended for use by a job search auto-complete search box. + * @alias jobs.complete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.companyName Optional. If provided, restricts completion to the specified company. + * @param {string=} params.languageCode Required. The language of the query. This is the BCP-47 language code, such as "en-US" or "sr-Latn". For more information, see [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47). For CompletionType.JOB_TITLE type, only open jobs with same language_code are returned. For CompletionType.COMPANY_NAME type, only companies having open jobs with same language_code are returned. For CompletionType.COMBINED type, only open jobs with same language_code or companies having open jobs with same language_code are returned. + * @param {integer=} params.pageSize Required. Completion result count. The maximum allowed page size is 10. + * @param {string=} params.query Required. The query used to generate suggestions. + * @param {string=} params.scope Optional. The scope of the completion. The defaults is CompletionScope.PUBLIC. + * @param {string=} params.type Optional. The completion topic. The default is CompletionType.COMBINED. + * @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 + */ + complete(params?: Params$Resource$V2$Complete, options?: MethodOptions): AxiosPromise; + complete(params: Params$Resource$V2$Complete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + complete(params: Params$Resource$V2$Complete, callback: BodyResponseCallback): void; + complete(callback: BodyResponseCallback): void; + } + interface Params$Resource$V2$Complete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. If provided, restricts completion to the specified company. + */ + companyName?: string; + /** + * Required. The language of the query. This is the BCP-47 language code, + * such as "en-US" or "sr-Latn". For more information, see [Tags for + * Identifying Languages](https://tools.ietf.org/html/bcp47). For + * CompletionType.JOB_TITLE type, only open jobs with same language_code are + * returned. For CompletionType.COMPANY_NAME type, only companies having + * open jobs with same language_code are returned. For + * CompletionType.COMBINED type, only open jobs with same language_code or + * companies having open jobs with same language_code are returned. + */ + languageCode?: string; + /** + * Required. Completion result count. The maximum allowed page size is 10. + */ + pageSize?: number; + /** + * Required. The query used to generate suggestions. + */ + query?: string; + /** + * Optional. The scope of the completion. The defaults is + * CompletionScope.PUBLIC. + */ + scope?: string; + /** + * Optional. The completion topic. The default is CompletionType.COMBINED. + */ + type?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/jobs/v2.js b/express-server/node_modules/googleapis/build/src/apis/jobs/v2.js new file mode 100644 index 00000000..1b939516 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/jobs/v2.js @@ -0,0 +1,614 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var jobs_v2; +(function (jobs_v2) { + /** + * Cloud Talent Solution API + * + * Cloud Talent Solution provides the capability to create, read, update, and + * delete job postings, as well as search jobs based on keywords and filters. + * + * @example + * const {google} = require('googleapis'); + * const jobs = google.jobs('v2'); + * + * @namespace jobs + * @type {Function} + * @version v2 + * @variation v2 + * @param {object=} options Options for Jobs + */ + class Jobs { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.companies = new Resource$Companies(this); + this.jobs = new Resource$Jobs(this); + this.v2 = new Resource$V2(this); + } + getRoot() { + return this.root; + } + } + jobs_v2.Jobs = Jobs; + class Resource$Companies { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.jobs = new Resource$Companies$Jobs(root); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://jobs.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/companies').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://jobs.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://jobs.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://jobs.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/companies').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://jobs.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + jobs_v2.Resource$Companies = Resource$Companies; + class Resource$Companies$Jobs { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://jobs.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+companyName}/jobs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['companyName'], + pathParams: ['companyName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + jobs_v2.Resource$Companies$Jobs = Resource$Companies$Jobs; + class Resource$Jobs { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + batchDelete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://jobs.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/jobs:batchDelete') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://jobs.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/jobs').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://jobs.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + deleteByFilter(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://jobs.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/jobs:deleteByFilter') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://jobs.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + histogram(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://jobs.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/jobs:histogram') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://jobs.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/jobs').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://jobs.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + search(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://jobs.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/jobs:search').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + searchForAlert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://jobs.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/jobs:searchForAlert') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + jobs_v2.Resource$Jobs = Resource$Jobs; + class Resource$V2 { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + complete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://jobs.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2:complete').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + jobs_v2.Resource$V2 = Resource$V2; +})(jobs_v2 = exports.jobs_v2 || (exports.jobs_v2 = {})); +//# sourceMappingURL=v2.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/jobs/v2.js.map b/express-server/node_modules/googleapis/build/src/apis/jobs/v2.js.map new file mode 100644 index 00000000..8af14b89 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/jobs/v2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v2.js","sourceRoot":"","sources":["../../../../src/apis/jobs/v2.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/jobs/v3.d.ts b/express-server/node_modules/googleapis/build/src/apis/jobs/v3.d.ts new file mode 100644 index 00000000..789d5e97 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/jobs/v3.d.ts @@ -0,0 +1,2161 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace jobs_v3 { + interface Options extends GlobalOptions { + version: 'v3'; + } + /** + * Cloud Talent Solution API + * + * Cloud Talent Solution provides the capability to create, read, update, and + * delete job postings, as well as search jobs based on keywords and filters. + * + * @example + * const {google} = require('googleapis'); + * const jobs = google.jobs('v3'); + * + * @namespace jobs + * @type {Function} + * @version v3 + * @variation v3 + * @param {object=} options Options for Jobs + */ + class Jobs { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + projects: Resource$Projects; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Application related details of a job posting. + */ + interface Schema$ApplicationInfo { + /** + * Optional but at least one of uris, emails or instruction must be + * specified. Use this field to specify email address(es) to which resumes + * or applications can be sent. The maximum number of allowed characters + * for each entry is 255. + */ + emails?: string[]; + /** + * Optional but at least one of uris, emails or instruction must be + * specified. Use this field to provide instructions, such as "Mail + * your application to ...", that a candidate can follow to apply for + * the job. This field accepts and sanitizes HTML input, and also accepts + * bold, italic, ordered list, and unordered list markup tags. The maximum + * number of allowed characters is 3,000. + */ + instruction?: string; + /** + * Optional but at least one of uris, emails or instruction must be + * specified. Use this URI field to direct an applicant to a website, for + * example to link to an online application form. The maximum number of + * allowed characters for each entry is 2,000. + */ + uris?: string[]; + } + /** + * Input only. Batch delete jobs request. + */ + interface Schema$BatchDeleteJobsRequest { + /** + * Required. The filter string specifies the jobs to be deleted. Supported + * operator: =, AND The fields eligible for filtering are: * `companyName` + * (Required) * `requisitionId` (Required) Sample Query: companyName = + * "projects/api-test-project/companies/123" AND requisitionId = + * "req-1" + */ + filter?: string; + } + /** + * Represents count of jobs within one bucket. + */ + interface Schema$BucketizedCount { + /** + * Number of jobs whose numeric field value fall into `range`. + */ + count?: number; + /** + * Bucket range on which histogram was performed for the numeric field, that + * is, the count represents number of jobs in this range. + */ + range?: Schema$BucketRange; + } + /** + * Represents starting and ending value of a range in double. + */ + interface Schema$BucketRange { + /** + * Starting value of the bucket range. + */ + from?: number; + /** + * Ending value of the bucket range. + */ + to?: number; + } + /** + * Input only. Parameters needed for commute search. + */ + interface Schema$CommuteFilter { + /** + * Optional. If `true`, jobs without street level addresses may also be + * returned. For city level addresses, the city center is used. For state + * and coarser level addresses, text matching is used. If this field is set + * to `false` or is not specified, only jobs that include street level + * addresses will be returned by commute search. + */ + allowImpreciseAddresses?: boolean; + /** + * Required. The method of transportation for which to calculate the + * commute time. + */ + commuteMethod?: string; + /** + * Optional. The departure time used to calculate traffic impact, + * represented as .google.type.TimeOfDay in local time zone. Currently + * traffic model is restricted to hour level resolution. + */ + departureTime?: Schema$TimeOfDay; + /** + * Optional. Specifies the traffic density to use when caculating commute + * time. + */ + roadTraffic?: string; + /** + * Required. The latitude and longitude of the location from which to + * calculate the commute time. + */ + startCoordinates?: Schema$LatLng; + /** + * Required. The maximum travel time in seconds. The maximum allowed value + * is `3600s` (one hour). Format is `123s`. + */ + travelDuration?: string; + } + /** + * Output only. Commute details related to this job. + */ + interface Schema$CommuteInfo { + /** + * Location used as the destination in the commute calculation. + */ + jobLocation?: Schema$Location; + /** + * The number of seconds required to travel to the job location from the + * query location. A duration of 0 seconds indicates that the job is not + * reachable within the requested duration, but was returned as part of an + * expanded query. + */ + travelDuration?: string; + } + /** + * A Company resource represents a company in the service. A company is the + * entity that owns job postings, that is, the hiring entity responsible for + * employing applicants for the job position. + */ + interface Schema$Company { + /** + * Optional. The URI to employer's career site or careers page on the + * employer's web site, for example, + * "https://careers.google.com". + */ + careerSiteUri?: string; + /** + * Output only. Derived details about the company. + */ + derivedInfo?: Schema$CompanyDerivedInfo; + /** + * Required. The display name of the company, for example, "Google, + * LLC". + */ + displayName?: string; + /** + * Optional. Equal Employment Opportunity legal disclaimer text to be + * associated with all jobs, and typically to be displayed in all roles. The + * maximum number of allowed characters is 500. + */ + eeoText?: string; + /** + * Required. Client side company identifier, used to uniquely identify the + * company. The maximum number of allowed characters is 255. + */ + externalId?: string; + /** + * Optional. The street address of the company's main headquarters, + * which may be different from the job location. The service attempts to + * geolocate the provided address, and populates a more specific location + * wherever possible in DerivedInfo.headquarters_location. + */ + headquartersAddress?: string; + /** + * Optional. Set to true if it is the hiring agency that post jobs for + * other employers. Defaults to false if not provided. + */ + hiringAgency?: boolean; + /** + * Optional. A URI that hosts the employer's company logo. + */ + imageUri?: string; + /** + * Optional. A list of keys of filterable Job.custom_attributes, whose + * corresponding `string_values` are used in keyword search. Jobs with + * `string_values` under these specified field keys are returned if any of + * the values matches the search keyword. Custom field values with + * parenthesis, brackets and special symbols won't be properly + * searchable, and those keyword queries need to be surrounded by quotes. + */ + keywordSearchableJobCustomAttributes?: string[]; + /** + * Required during company update. The resource name for a company. This is + * generated by the service when a company is created. The format is + * "projects/{project_id}/companies/{company_id}", for example, + * "projects/api-test-project/companies/foo". + */ + name?: string; + /** + * Optional. The employer's company size. + */ + size?: string; + /** + * Output only. Indicates whether a company is flagged to be suspended from + * public availability by the service when job content appears suspicious, + * abusive, or spammy. + */ + suspended?: boolean; + /** + * Optional. The URI representing the company's primary web site or + * home page, for example, "https://www.google.com". The maximum + * number of allowed characters is 255. + */ + websiteUri?: string; + } + /** + * Derived details about the company. + */ + interface Schema$CompanyDerivedInfo { + /** + * A structured headquarters location of the company, resolved from + * Company.hq_location if provided. + */ + headquartersLocation?: Schema$Location; + } + /** + * A compensation entry that represents one component of compensation, such as + * base pay, bonus, or other compensation type. Annualization: One + * compensation entry can be annualized if - it contains valid amount or + * range. - and its expected_units_per_year is set or can be derived. Its + * annualized range is determined as (amount or range) times + * expected_units_per_year. + */ + interface Schema$CompensationEntry { + /** + * Optional. Compensation amount. + */ + amount?: Schema$Money; + /** + * Optional. Compensation description. For example, could indicate equity + * terms or provide additional context to an estimated bonus. + */ + description?: string; + /** + * Optional. Expected number of units paid each year. If not specified, + * when Job.employment_types is FULLTIME, a default value is inferred based + * on unit. Default values: - HOURLY: 2080 - DAILY: 260 - WEEKLY: 52 - + * MONTHLY: 12 - ANNUAL: 1 + */ + expectedUnitsPerYear?: number; + /** + * Optional. Compensation range. + */ + range?: Schema$CompensationRange; + /** + * Optional. Compensation type. Default is + * CompensationUnit.OTHER_COMPENSATION_TYPE. + */ + type?: string; + /** + * Optional. Frequency of the specified amount. Default is + * CompensationUnit.OTHER_COMPENSATION_UNIT. + */ + unit?: string; + } + /** + * Input only. Filter on job compensation type and amount. + */ + interface Schema$CompensationFilter { + /** + * Optional. Whether to include jobs whose compensation range is + * unspecified. + */ + includeJobsWithUnspecifiedCompensationRange?: boolean; + /** + * Optional. Compensation range. + */ + range?: Schema$CompensationRange; + /** + * Required. Type of filter. + */ + type?: string; + /** + * Required. Specify desired `base compensation entry's` + * CompensationInfo.CompensationUnit. + */ + units?: string[]; + } + /** + * Input only. Compensation based histogram request. + */ + interface Schema$CompensationHistogramRequest { + /** + * Required. Numeric histogram options, like buckets, whether include min + * or max value. + */ + bucketingOption?: Schema$NumericBucketingOption; + /** + * Required. Type of the request, representing which field the + * histogramming should be performed over. A single request can only specify + * one histogram of each `CompensationHistogramRequestType`. + */ + type?: string; + } + /** + * Output only. Compensation based histogram result. + */ + interface Schema$CompensationHistogramResult { + /** + * Histogram result. + */ + result?: Schema$NumericBucketingResult; + /** + * Type of the request, corresponding to CompensationHistogramRequest.type. + */ + type?: string; + } + /** + * Job compensation details. + */ + interface Schema$CompensationInfo { + /** + * Output only. Annualized base compensation range. Computed as base + * compensation entry's CompensationEntry.compensation times + * CompensationEntry.expected_units_per_year. See CompensationEntry for + * explanation on compensation annualization. + */ + annualizedBaseCompensationRange?: Schema$CompensationRange; + /** + * Output only. Annualized total compensation range. Computed as all + * compensation entries' CompensationEntry.compensation times + * CompensationEntry.expected_units_per_year. See CompensationEntry for + * explanation on compensation annualization. + */ + annualizedTotalCompensationRange?: Schema$CompensationRange; + /** + * Optional. Job compensation information. At most one entry can be of + * type CompensationInfo.CompensationType.BASE, which is referred as ** base + * compensation entry ** for the job. + */ + entries?: Schema$CompensationEntry[]; + } + /** + * Compensation range. + */ + interface Schema$CompensationRange { + /** + * Optional. The maximum amount of compensation. If left empty, the value + * is set to a maximal compensation value and the currency code is set to + * match the currency code of min_compensation. + */ + maxCompensation?: Schema$Money; + /** + * Optional. The minimum amount of compensation. If left empty, the value + * is set to zero and the currency code is set to match the currency code of + * max_compensation. + */ + minCompensation?: Schema$Money; + } + /** + * Output only. Response of auto-complete query. + */ + interface Schema$CompleteQueryResponse { + /** + * Results of the matching job/company candidates. + */ + completionResults?: Schema$CompletionResult[]; + /** + * Additional information for the API invocation, such as the request + * tracking id. + */ + metadata?: Schema$ResponseMetadata; + } + /** + * Output only. Resource that represents completion results. + */ + interface Schema$CompletionResult { + /** + * The URI of the company image for CompletionType.COMPANY_NAME. + */ + imageUri?: string; + /** + * The suggestion for the query. + */ + suggestion?: string; + /** + * The completion topic. + */ + type?: string; + } + /** + * Input only. The Request of the CreateCompany method. + */ + interface Schema$CreateCompanyRequest { + /** + * Required. The company to be created. + */ + company?: Schema$Company; + } + /** + * Input only. Create job request. + */ + interface Schema$CreateJobRequest { + /** + * Required. The Job to be created. + */ + job?: Schema$Job; + } + /** + * Custom attribute values that are either filterable or non-filterable. + */ + interface Schema$CustomAttribute { + /** + * Optional. If the `filterable` flag is true, custom field values are + * searchable. If false, values are not searchable. Default is false. + */ + filterable?: boolean; + /** + * Optional but exactly one of string_values or long_values must be + * specified. This field is used to perform number range search. (`EQ`, + * `GT`, `GE`, `LE`, `LT`) over filterable `long_value`. Currently at most + * 1 long_values is supported. + */ + longValues?: string[]; + /** + * Optional but exactly one of string_values or long_values must be + * specified. This field is used to perform a string match + * (`CASE_SENSITIVE_MATCH` or `CASE_INSENSITIVE_MATCH`) search. For + * filterable `string_value`s, a maximum total number of 200 values is + * allowed, with each `string_value` has a byte size of no more than 255B. + * For unfilterable `string_values`, the maximum total byte size of + * unfilterable `string_values` is 50KB. Empty string is not allowed. + */ + stringValues?: string[]; + } + /** + * Custom attributes histogram request. An error is thrown if neither + * string_value_histogram or long_value_histogram_bucketing_option has been + * defined. + */ + interface Schema$CustomAttributeHistogramRequest { + /** + * Required. Specifies the custom field key to perform a histogram on. If + * specified without `long_value_histogram_bucketing_option`, histogram on + * string values of the given `key` is triggered, otherwise histogram is + * performed on long values. + */ + key?: string; + /** + * Optional. Specifies buckets used to perform a range histogram on + * Job's filterable long custom field values, or min/max value + * requirements. + */ + longValueHistogramBucketingOption?: Schema$NumericBucketingOption; + /** + * Optional. If set to true, the response includes the histogram value for + * each key as a string. + */ + stringValueHistogram?: boolean; + } + /** + * Output only. Custom attribute histogram result. + */ + interface Schema$CustomAttributeHistogramResult { + /** + * Stores the key of custom attribute the histogram is performed on. + */ + key?: string; + /** + * Stores bucketed histogram counting result or min/max values for custom + * attribute long values associated with `key`. + */ + longValueHistogramResult?: Schema$NumericBucketingResult; + /** + * Stores a map from the values of string custom field associated with `key` + * to the number of jobs with that value in this histogram result. + */ + stringValueHistogramResult?: any; + } + /** + * Device information collected from the job seeker, candidate, or other + * entity conducting the job search. Providing this information improves the + * quality of the search results across devices. + */ + interface Schema$DeviceInfo { + /** + * Optional. Type of the device. + */ + deviceType?: string; + /** + * Optional. A device-specific ID. The ID must be a unique identifier that + * distinguishes the device from other devices. + */ + id?: string; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * Input only. Histogram facets to be specified in SearchJobsRequest. + */ + interface Schema$HistogramFacets { + /** + * Optional. Specifies compensation field-based histogram requests. + * Duplicate values of CompensationHistogramRequest.type are not allowed. + */ + compensationHistogramFacets?: Schema$CompensationHistogramRequest[]; + /** + * Optional. Specifies the custom attributes histogram requests. Duplicate + * values of CustomAttributeHistogramRequest.key are not allowed. + */ + customAttributeHistogramFacets?: Schema$CustomAttributeHistogramRequest[]; + /** + * Optional. Specifies the simple type of histogram facets, for example, + * `COMPANY_SIZE`, `EMPLOYMENT_TYPE` etc. + */ + simpleHistogramFacets?: string[]; + } + /** + * Output only. Result of a histogram call. The response contains the + * histogram map for the search type specified by HistogramResult.field. The + * response is a map of each filter value to the corresponding count of jobs + * for that filter. + */ + interface Schema$HistogramResult { + /** + * The Histogram search filters. + */ + searchType?: string; + /** + * A map from the values of field to the number of jobs with that value in + * this search result. Key: search type (filter names, such as the + * companyName). Values: the count of jobs that match the filter for this + * search. + */ + values?: any; + } + /** + * Output only. Histogram results that match HistogramFacets specified in + * SearchJobsRequest. + */ + interface Schema$HistogramResults { + /** + * Specifies compensation field-based histogram results that match + * HistogramFacets.compensation_histogram_requests. + */ + compensationHistogramResults?: Schema$CompensationHistogramResult[]; + /** + * Specifies histogram results for custom attributes that match + * HistogramFacets.custom_attribute_histogram_facets. + */ + customAttributeHistogramResults?: Schema$CustomAttributeHistogramResult[]; + /** + * Specifies histogram results that matches + * HistogramFacets.simple_histogram_facets. + */ + simpleHistogramResults?: Schema$HistogramResult[]; + } + /** + * A Job resource represents a job posting (also referred to as a "job + * listing" or "job requisition"). A job belongs to a Company, + * which is the hiring entity responsible for the job. + */ + interface Schema$Job { + /** + * Optional but strongly recommended for the best service experience. + * Location(s) where the employer is looking to hire for this job posting. + * Specifying the full street address(es) of the hiring location enables + * better API results, especially job searches by commute time. At most 50 + * locations are allowed for best search performance. If a job has more + * locations, it is suggested to split it into multiple jobs with unique + * requisition_ids (e.g. 'ReqA' becomes 'ReqA-1', + * 'ReqA-2', etc.) as multiple jobs with the same company_name, + * language_code and requisition_id are not allowed. If the original + * requisition_id must be preserved, a custom field should be used for + * storage. It is also suggested to group the locations that close to each + * other in the same job for better search experience. The maximum number + * of allowed characters is 500. + */ + addresses?: string[]; + /** + * Required. At least one field within ApplicationInfo must be specified. + * Job application information. + */ + applicationInfo?: Schema$ApplicationInfo; + /** + * Output only. Display name of the company listing the job. + */ + companyDisplayName?: string; + /** + * Required. The resource name of the company listing the job, such as + * "projects/api-test-project/companies/foo". + */ + companyName?: string; + /** + * Optional. Job compensation information. + */ + compensationInfo?: Schema$CompensationInfo; + /** + * Optional. A map of fields to hold both filterable and non-filterable + * custom job attributes that are not covered by the provided structured + * fields. The keys of the map are strings up to 64 bytes and must match + * the pattern: a-zA-Z*. For example, key0LikeThis or KEY_1_LIKE_THIS. At + * most 100 filterable and at most 100 unfilterable keys are supported. For + * filterable `string_values`, across all keys at most 200 values are + * allowed, with each string no more than 255 characters. For unfilterable + * `string_values`, the maximum total size of `string_values` across all + * keys is 50KB. + */ + customAttributes?: any; + /** + * Optional. The desired education degrees for the job, such as Bachelors, + * Masters. + */ + degreeTypes?: string[]; + /** + * Optional. The department or functional area within the company with the + * open position. The maximum number of allowed characters is 255. + */ + department?: string; + /** + * Output only. Derived details about the job posting. + */ + derivedInfo?: Schema$JobDerivedInfo; + /** + * Required. The description of the job, which typically includes a + * multi-paragraph description of the company and related information. + * Separate fields are provided on the job object for responsibilities, + * qualifications, and other job characteristics. Use of these separate job + * fields is recommended. This field accepts and sanitizes HTML input, and + * also accepts bold, italic, ordered list, and unordered list markup tags. + * The maximum number of allowed characters is 100,000. + */ + description?: string; + /** + * Optional. The employment type(s) of a job, for example, full time or + * part time. + */ + employmentTypes?: string[]; + /** + * Optional. A description of bonus, commission, and other compensation + * incentives associated with the job not including salary or pay. The + * maximum number of allowed characters is 10,000. + */ + incentives?: string; + /** + * Optional. The benefits included with the job. + */ + jobBenefits?: string[]; + /** + * Optional. The end timestamp of the job. Typically this field is used for + * contracting engagements. Invalid timestamps are ignored. + */ + jobEndTime?: string; + /** + * Optional. The experience level associated with the job, such as + * "Entry Level". + */ + jobLevel?: string; + /** + * Optional. The start timestamp of the job in UTC time zone. Typically + * this field is used for contracting engagements. Invalid timestamps are + * ignored. + */ + jobStartTime?: string; + /** + * Optional. The language of the posting. This field is distinct from any + * requirements for fluency that are associated with the job. Language + * codes must be in BCP-47 format, such as "en-US" or + * "sr-Latn". For more information, see [Tags for Identifying + * Languages](https://tools.ietf.org/html/bcp47){: + * class="external" target="_blank" }. The default + * value is `en-US`. + */ + languageCode?: string; + /** + * Required during job update. The resource name for the job. This is + * generated by the service when a job is created. The format is + * "projects/{project_id}/jobs/{job_id}", for example, + * "projects/api-test-project/jobs/1234". Use of this field in + * job queries and API calls is preferred over the use of requisition_id + * since this value is unique. + */ + name?: string; + /** + * Output only. The timestamp when this job posting was created. + */ + postingCreateTime?: string; + /** + * Optional but strongly recommended for the best service experience. The + * expiration timestamp of the job. After this timestamp, the job is marked + * as expired, and it no longer appears in search results. The expired job + * can't be deleted or listed by the DeleteJob and ListJobs APIs, but it + * can be retrieved with the GetJob API or updated with the UpdateJob API. + * An expired job can be updated and opened again by using a future + * expiration timestamp. Updating an expired job fails if there is another + * existing open job with same company_name, language_code and + * requisition_id. The expired jobs are retained in our system for 90 days. + * However, the overall expired job count cannot exceed 3 times the maximum + * of open jobs count over the past week, otherwise jobs with earlier expire + * time are cleaned first. Expired jobs are no longer accessible after they + * are cleaned out. Invalid timestamps are ignored, and treated as expire + * time not provided. Timestamp before the instant request is made is + * considered valid, the job will be treated as expired immediately. If + * this value is not provided at the time of job creation or is invalid, the + * job posting expires after 30 days from the job's creation time. For + * example, if the job was created on 2017/01/01 13:00AM UTC with an + * unspecified expiration date, the job expires after 2017/01/31 13:00AM + * UTC. If this value is not provided on job update, it depends on the + * field masks set by UpdateJobRequest.update_mask. If the field masks + * include expiry_time, or the masks are empty meaning that every field is + * updated, the job posting expires after 30 days from the job's last + * update time. Otherwise the expiration date isn't updated. + */ + postingExpireTime?: string; + /** + * Optional. The timestamp this job posting was most recently published. + * The default value is the time the request arrives at the server. Invalid + * timestamps are ignored. + */ + postingPublishTime?: string; + /** + * Optional. The job PostingRegion (for example, state, country) throughout + * which the job is available. If this field is set, a LocationFilter in a + * search query within the job region finds this job posting if an exact + * location match is not specified. If this field is set to + * PostingRegion.NATION_WIDE or [PostingRegion.ADMINISTRATIVE_AREA], setting + * job addresses to the same location level as this field is strongly + * recommended. + */ + postingRegion?: string; + /** + * Output only. The timestamp when this job posting was last updated. + */ + postingUpdateTime?: string; + /** + * Optional. Options for job processing. + */ + processingOptions?: Schema$ProcessingOptions; + /** + * Optional. A promotion value of the job, as determined by the client. The + * value determines the sort order of the jobs returned when searching for + * jobs using the featured jobs search call, with higher promotional values + * being returned first and ties being resolved by relevance sort. Only the + * jobs with a promotionValue >0 are returned in a FEATURED_JOB_SEARCH. + * Default value is 0, and negative values are treated as 0. + */ + promotionValue?: number; + /** + * Optional. A description of the qualifications required to perform the + * job. The use of this field is recommended as an alternative to using the + * more general description field. This field accepts and sanitizes HTML + * input, and also accepts bold, italic, ordered list, and unordered list + * markup tags. The maximum number of allowed characters is 10,000. + */ + qualifications?: string; + /** + * Required. The requisition ID, also referred to as the posting ID, + * assigned by the client to identify a job. This field is intended to be + * used by clients for client identification and tracking of postings. A job + * is not allowed to be created if there is another job with the same + * [company_name], language_code and requisition_id. The maximum number of + * allowed characters is 255. + */ + requisitionId?: string; + /** + * Optional. A description of job responsibilities. The use of this field + * is recommended as an alternative to using the more general description + * field. This field accepts and sanitizes HTML input, and also accepts + * bold, italic, ordered list, and unordered list markup tags. The maximum + * number of allowed characters is 10,000. + */ + responsibilities?: string; + /** + * Required. The title of the job, such as "Software Engineer" + * The maximum number of allowed characters is 500. + */ + title?: string; + /** + * Optional. The visibility of the job. Defaults to + * Visibility.ACCOUNT_ONLY if not specified. + */ + visibility?: string; + } + /** + * Output only. Derived details about the job posting. + */ + interface Schema$JobDerivedInfo { + /** + * Job categories derived from Job.title and Job.description. + */ + jobCategories?: string[]; + /** + * Structured locations of the job, resolved from Job.addresses. locations + * are exactly matched to Job.addresses in the same order. + */ + locations?: Schema$Location[]; + } + /** + * Input only. The query required to perform a search query. + */ + interface Schema$JobQuery { + /** + * Optional. Allows filtering jobs by commute time with different travel + * methods (for example, driving or public transit). Note: This only works + * with COMMUTE MODE. When specified, [JobQuery.location_filters] is + * ignored. Currently we don't support sorting by commute time. + */ + commuteFilter?: Schema$CommuteFilter; + /** + * Optional. This filter specifies the exact company display name of the + * jobs to search against. If a value isn't specified, jobs within the + * search results are associated with any company. If multiple values are + * specified, jobs within the search results may be associated with any of + * the specified companies. At most 20 company display name filters are + * allowed. + */ + companyDisplayNames?: string[]; + /** + * Optional. This filter specifies the company entities to search against. + * If a value isn't specified, jobs are searched for against all + * companies. If multiple values are specified, jobs are searched against + * the companies specified. The format is + * "projects/{project_id}/companies/{company_id}", for example, + * "projects/api-test-project/companies/foo". At most 20 company + * filters are allowed. + */ + companyNames?: string[]; + /** + * Optional. This search filter is applied only to Job.compensation_info. + * For example, if the filter is specified as "Hourly job with per-hour + * compensation > $15", only jobs meeting these criteria are + * searched. If a filter isn't defined, all open jobs are searched. + */ + compensationFilter?: Schema$CompensationFilter; + /** + * Optional. This filter specifies a structured syntax to match against the + * Job.custom_attributes marked as `filterable`. The syntax for this + * expression is a subset of Google SQL syntax. Supported operators are: =, + * !=, <, <=, >, >= where the left of the operator is a custom + * field key and the right of the operator is a number or string (surrounded + * by quotes) value. Supported functions are LOWER(<field_name>) to + * perform case insensitive match and EMPTY(<field_name>) to filter on + * the existence of a key. Boolean expressions (AND/OR/NOT) are supported + * up to 3 levels of nesting (for example, "((A AND B AND C) OR NOT D) + * AND E"), a maximum of 50 comparisons/functions are allowed in the + * expression. The expression must be < 2000 characters in length. Sample + * Query: (LOWER(driving_license)="class a" OR + * EMPTY(driving_license)) AND driving_years > 10 + */ + customAttributeFilter?: string; + /** + * Optional. This flag controls the spell-check feature. If false, the + * service attempts to correct a misspelled query, for example, + * "enginee" is corrected to "engineer". Defaults to + * false: a spell check is performed. + */ + disableSpellCheck?: boolean; + /** + * Optional. The employment type filter specifies the employment type of + * jobs to search against, such as EmploymentType.FULL_TIME. If a value is + * not specified, jobs in the search results includes any employment type. + * If multiple values are specified, jobs in the search results include any + * of the specified employment types. + */ + employmentTypes?: string[]; + /** + * Optional. The category filter specifies the categories of jobs to search + * against. See Category for more information. If a value is not specified, + * jobs from any category are searched against. If multiple values are + * specified, jobs from any of the specified categories are searched + * against. + */ + jobCategories?: string[]; + /** + * Optional. This filter specifies the locale of jobs to search against, + * for example, "en-US". If a value isn't specified, the + * search results can contain jobs in any locale. Language codes should be + * in BCP-47 format, such as "en-US" or "sr-Latn". For + * more information, see [Tags for Identifying + * Languages](https://tools.ietf.org/html/bcp47). At most 10 language code + * filters are allowed. + */ + languageCodes?: string[]; + /** + * Optional. The location filter specifies geo-regions containing the jobs + * to search against. See LocationFilter for more information. If a + * location value isn't specified, jobs fitting the other search + * criteria are retrieved regardless of where they're located. If + * multiple values are specified, jobs are retrieved from any of the + * specified locations, and, if different values are specified for the + * LocationFilter.distance_in_miles parameter, the maximum provided distance + * is used for all locations. At most 5 location filters are allowed. + */ + locationFilters?: Schema$LocationFilter[]; + /** + * Optional. Jobs published within a range specified by this filter are + * searched against. + */ + publishTimeRange?: Schema$TimestampRange; + /** + * Optional. The query string that matches against the job title, + * description, and location fields. The maximum number of allowed + * characters is 255. + */ + query?: string; + } + /** + * An object representing a latitude/longitude pair. This is expressed as a + * pair of doubles representing degrees latitude and degrees longitude. Unless + * specified otherwise, this must conform to the <a + * href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84 + * standard</a>. Values must be within normalized ranges. + */ + interface Schema$LatLng { + /** + * The latitude in degrees. It must be in the range [-90.0, +90.0]. + */ + latitude?: number; + /** + * The longitude in degrees. It must be in the range [-180.0, +180.0]. + */ + longitude?: number; + } + /** + * Output only. The List companies response object. + */ + interface Schema$ListCompaniesResponse { + /** + * Companies for the current client. + */ + companies?: Schema$Company[]; + /** + * Additional information for the API invocation, such as the request + * tracking id. + */ + metadata?: Schema$ResponseMetadata; + /** + * A token to retrieve the next page of results. + */ + nextPageToken?: string; + } + /** + * Output only. List jobs response. + */ + interface Schema$ListJobsResponse { + /** + * The Jobs for a given company. The maximum number of items returned is + * based on the limit field provided in the request. + */ + jobs?: Schema$Job[]; + /** + * Additional information for the API invocation, such as the request + * tracking id. + */ + metadata?: Schema$ResponseMetadata; + /** + * A token to retrieve the next page of results. + */ + nextPageToken?: string; + } + /** + * Output only. A resource that represents a location with full geographic + * information. + */ + interface Schema$Location { + /** + * An object representing a latitude/longitude pair. + */ + latLng?: Schema$LatLng; + /** + * The type of a location, which corresponds to the address lines field of + * PostalAddress. For example, "Downtown, Atlanta, GA, USA" has a + * type of LocationType#NEIGHBORHOOD, and "Kansas City, KS, USA" + * has a type of LocationType#LOCALITY. + */ + locationType?: string; + /** + * Postal address of the location that includes human readable information, + * such as postal delivery and payments addresses. Given a postal address, a + * postal service can deliver items to a premises, P.O. Box, or other + * delivery location. + */ + postalAddress?: Schema$PostalAddress; + /** + * Radius in meters of the job location. This value is derived from the + * location bounding box in which a circle with the specified radius + * centered from LatLng coves the area associated with the job location. For + * example, currently, "Mountain View, CA, USA" has a radius + * of 6.17 miles. + */ + radiusInMiles?: number; + } + /** + * Input only. Geographic region of the search. + */ + interface Schema$LocationFilter { + /** + * Optional. The address name, such as "Mountain View" or + * "Bay Area". + */ + address?: string; + /** + * Optional. The distance_in_miles is applied when the location being + * searched for is identified as a city or smaller. When the location being + * searched for is a state or larger, this field is ignored. + */ + distanceInMiles?: number; + /** + * Optional. The latitude and longitude of the geographic center from which + * to search. This field's ignored if `address` is provided. + */ + latLng?: Schema$LatLng; + /** + * Optional. CLDR region code of the country/region of the address. This is + * used to address ambiguity of the user-input location, for example, + * "Liverpool" against "Liverpool, NY, US" or + * "Liverpool, UK". Set this field if all the jobs to search + * against are from a same region, or jobs are world-wide, but the job + * seeker is from a specific region. See http://cldr.unicode.org/ and + * http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html + * for details. Example: "CH" for Switzerland. + */ + regionCode?: string; + /** + * Optional. Allows the client to return jobs without a set location, + * specifically, telecommuting jobs (telecomuting is considered by the + * service as a special location. Job.posting_region indicates if a job + * permits telecommuting. If this field is set to + * TelecommutePreference.TELECOMMUTE_ALLOWED, telecommuting jobs are + * searched, and address and lat_lng are ignored. If not set or set to + * TelecommutePreference.TELECOMMUTE_EXCLUDED, telecommute job are not + * searched. This filter can be used by itself to search exclusively for + * telecommuting jobs, or it can be combined with another location filter to + * search for a combination of job locations, such as "Mountain + * View" or "telecommuting" jobs. However, when used in + * combination with other location filters, telecommuting jobs can be + * treated as less relevant than other jobs in the search response. + */ + telecommutePreference?: string; + } + /** + * Output only. Job entry with metadata inside SearchJobsResponse. + */ + interface Schema$MatchingJob { + /** + * Commute information which is generated based on specified CommuteFilter. + */ + commuteInfo?: Schema$CommuteInfo; + /** + * Job resource that matches the specified SearchJobsRequest. + */ + job?: Schema$Job; + /** + * A summary of the job with core information that's displayed on the + * search results listing page. + */ + jobSummary?: string; + /** + * Contains snippets of text from the Job.job_title field most closely + * matching a search query's keywords, if available. The matching query + * keywords are enclosed in HTML bold tags. + */ + jobTitleSnippet?: string; + /** + * Contains snippets of text from the Job.description and similar fields + * that most closely match a search query's keywords, if available. All + * HTML tags in the original fields are stripped when returned in this + * field, and matching query keywords are enclosed in HTML bold tags. + */ + searchTextSnippet?: string; + } + /** + * Represents an amount of money with its currency type. + */ + interface Schema$Money { + /** + * The 3-letter currency code defined in ISO 4217. + */ + currencyCode?: string; + /** + * Number of nano (10^-9) units of the amount. The value must be between + * -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` + * must be positive or zero. If `units` is zero, `nanos` can be positive, + * zero, or negative. If `units` is negative, `nanos` must be negative or + * zero. For example $-1.75 is represented as `units`=-1 and + * `nanos`=-750,000,000. + */ + nanos?: number; + /** + * The whole units of the amount. For example if `currencyCode` is + * `"USD"`, then 1 unit is one US dollar. + */ + units?: string; + } + /** + * Input only. Use this field to specify bucketing option for the histogram + * search response. + */ + interface Schema$NumericBucketingOption { + /** + * Required. Two adjacent values form a histogram bucket. Values should be + * in ascending order. For example, if [5, 10, 15] are provided, four + * buckets are created: (-inf, 5), 5, 10), [10, 15), [15, inf). At most 20 + * [buckets_bound is supported. + */ + bucketBounds?: number[]; + /** + * Optional. If set to true, the histogram result includes minimum/maximum + * value of the numeric field. + */ + requiresMinMax?: boolean; + } + /** + * Output only. Custom numeric bucketing result. + */ + interface Schema$NumericBucketingResult { + /** + * Count within each bucket. Its size is the length of + * NumericBucketingOption.bucket_bounds plus 1. + */ + counts?: Schema$BucketizedCount[]; + /** + * Stores the maximum value of the numeric field. Is populated only if + * [NumericBucketingOption.requires_min_max] is set to true. + */ + maxValue?: number; + /** + * Stores the minimum value of the numeric field. Will be populated only if + * [NumericBucketingOption.requires_min_max] is set to true. + */ + minValue?: number; + } + /** + * Represents a postal address, e.g. for postal delivery or payments + * addresses. Given a postal address, a postal service can deliver items to a + * premise, P.O. Box or similar. It is not intended to model geographical + * locations (roads, towns, mountains). In typical usage an address would be + * created via user input or from importing existing data, depending on the + * type of process. Advice on address input / editing: - Use an i18n-ready + * address widget such as https://github.com/googlei18n/libaddressinput) - + * Users should not be presented with UI elements for input or editing of + * fields outside countries where that field is used. For more guidance on + * how to use this schema, please see: + * https://support.google.com/business/answer/6397478 + */ + interface Schema$PostalAddress { + /** + * Unstructured address lines describing the lower levels of an address. + * Because values in address_lines do not have type information and may + * sometimes contain multiple values in a single field (e.g. "Austin, + * TX"), it is important that the line order is clear. The order of + * address lines should be "envelope order" for the country/region + * of the address. In places where this can vary (e.g. Japan), + * address_language is used to make it explicit (e.g. "ja" for + * large-to-small ordering and "ja-Latn" or "en" for + * small-to-large). This way, the most specific line of an address can be + * selected based on the language. The minimum permitted structural + * representation of an address consists of a region_code with all remaining + * information placed in the address_lines. It would be possible to format + * such an address very approximately without geocoding, but no semantic + * reasoning could be made about any of the address components until it was + * at least partially resolved. Creating an address only containing a + * region_code and address_lines, and then geocoding is the recommended way + * to handle completely unstructured addresses (as opposed to guessing which + * parts of the address should be localities or administrative areas). + */ + addressLines?: string[]; + /** + * Optional. Highest administrative subdivision which is used for postal + * addresses of a country or region. For example, this can be a state, a + * province, an oblast, or a prefecture. Specifically, for Spain this is the + * province and not the autonomous community (e.g. "Barcelona" and + * not "Catalonia"). Many countries don't use an + * administrative area in postal addresses. E.g. in Switzerland this should + * be left unpopulated. + */ + administrativeArea?: string; + /** + * Optional. BCP-47 language code of the contents of this address (if + * known). This is often the UI language of the input form or is expected to + * match one of the languages used in the address' country/region, or + * their transliterated equivalents. This can affect formatting in certain + * countries, but is not critical to the correctness of the data and will + * never affect any validation or other non-formatting related operations. + * If this value is not known, it should be omitted (rather than specifying + * a possibly incorrect default). Examples: "zh-Hant", + * "ja", "ja-Latn", "en". + */ + languageCode?: string; + /** + * Optional. Generally refers to the city/town portion of the address. + * Examples: US city, IT comune, UK post town. In regions of the world where + * localities are not well defined or do not fit into this structure well, + * leave locality empty and use address_lines. + */ + locality?: string; + /** + * Optional. The name of the organization at the address. + */ + organization?: string; + /** + * Optional. Postal code of the address. Not all countries use or require + * postal codes to be present, but where they are used, they may trigger + * additional validation with other parts of the address (e.g. state/zip + * validation in the U.S.A.). + */ + postalCode?: string; + /** + * Optional. The recipient at the address. This field may, under certain + * circumstances, contain multiline information. For example, it might + * contain "care of" information. + */ + recipients?: string[]; + /** + * Required. CLDR region code of the country/region of the address. This is + * never inferred and it is up to the user to ensure the value is correct. + * See http://cldr.unicode.org/ and + * http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html + * for details. Example: "CH" for Switzerland. + */ + regionCode?: string; + /** + * The schema revision of the `PostalAddress`. This must be set to 0, which + * is the latest revision. All new revisions **must** be backward + * compatible with old revisions. + */ + revision?: number; + /** + * Optional. Additional, country-specific, sorting code. This is not used in + * most regions. Where it is used, the value is either a string like + * "CEDEX", optionally followed by a number (e.g. "CEDEX + * 7"), or just a number alone, representing the "sector + * code" (Jamaica), "delivery area indicator" (Malawi) or + * "post office indicator" (e.g. Côte d'Ivoire). + */ + sortingCode?: string; + /** + * Optional. Sublocality of the address. For example, this can be + * neighborhoods, boroughs, districts. + */ + sublocality?: string; + } + /** + * Input only. Options for job processing. + */ + interface Schema$ProcessingOptions { + /** + * Optional. If set to `true`, the service does not attempt to resolve a + * more precise address for the job. + */ + disableStreetAddressResolution?: boolean; + /** + * Optional. Option for job HTML content sanitization. Applied fields are: + * * description * applicationInfo.instruction * incentives * qualifications + * * responsibilities HTML tags in these fields may be stripped if + * sanitiazation is not disabled. Defaults to + * HtmlSanitization.SIMPLE_FORMATTING_ONLY. + */ + htmlSanitization?: string; + } + /** + * Input only. Meta information related to the job searcher or entity + * conducting the job search. This information is used to improve the + * performance of the service. + */ + interface Schema$RequestMetadata { + /** + * Optional. The type of device used by the job seeker at the time of the + * call to the service. + */ + deviceInfo?: Schema$DeviceInfo; + /** + * Required. The client-defined scope or source of the service call, which + * typically is the domain on which the service has been implemented and is + * currently being run. For example, if the service is being run by client + * <em>Foo, Inc.</em>, on job board www.foo.com and career site + * www.bar.com, then this field is set to "foo.com" for use on the + * job board, and "bar.com" for use on the career site. If this + * field isn't available for some reason, send "UNKNOWN". Any + * improvements to the model for a particular tenant site rely on this field + * being set correctly to a domain. The maximum number of allowed + * characters is 255. + */ + domain?: string; + /** + * Required. A unique session identification string. A session is defined + * as the duration of an end user's interaction with the service over a + * certain period. Obfuscate this field for privacy concerns before + * providing it to the service. If this field is not available for some + * reason, send "UNKNOWN". Note that any improvements to the model + * for a particular tenant site, rely on this field being set correctly to + * some unique session_id. The maximum number of allowed characters is 255. + */ + sessionId?: string; + /** + * Required. A unique user identification string, as determined by the + * client. To have the strongest positive impact on search quality make sure + * the client-level is unique. Obfuscate this field for privacy concerns + * before providing it to the service. If this field is not available for + * some reason, send "UNKNOWN". Note that any improvements to the + * model for a particular tenant site, rely on this field being set + * correctly to a unique user_id. The maximum number of allowed characters + * is 255. + */ + userId?: string; + } + /** + * Output only. Additional information returned to client, such as debugging + * information. + */ + interface Schema$ResponseMetadata { + /** + * A unique id associated with this call. This id is logged for tracking + * purposes. + */ + requestId?: string; + } + /** + * Input only. The Request body of the `SearchJobs` call. + */ + interface Schema$SearchJobsRequest { + /** + * Optional. Controls whether to disable exact keyword match on + * Job.job_title, Job.description, Job.company_display_name, Job.locations, + * Job.qualifications. When disable keyword match is turned off, a keyword + * match returns jobs that do not match given category filters when there + * are matching keywords. For example, the query "program + * manager," a result is returned even if the job posting has the title + * "software developer," which does not fall into "program + * manager" ontology, but does have "program manager" + * appearing in its description. For queries like "cloud" that + * does not contain title or location specific ontology, jobs with + * "cloud" keyword matches are returned regardless of this + * flag's value. Please use Company.keyword_searchable_custom_fields or + * Company.keyword_searchable_custom_attributes if company specific globally + * matched custom field/attribute string values is needed. Enabling keyword + * match improves recall of subsequent search requests. Defaults to false. + */ + disableKeywordMatch?: boolean; + /** + * Optional. Controls whether to broaden the search when it produces sparse + * results. Broadened queries append results to the end of the matching + * results list. Defaults to false. + */ + enableBroadening?: boolean; + /** + * Optional. Histogram requests for jobs matching JobQuery. + */ + histogramFacets?: Schema$HistogramFacets; + /** + * Optional. Query used to search against jobs, such as keyword, location + * filters, etc. + */ + jobQuery?: Schema$JobQuery; + /** + * Optional. The desired job attributes returned for jobs in the search + * response. Defaults to JobView.SMALL if no value is specified. + */ + jobView?: string; + /** + * Optional. An integer that specifies the current offset (that is, + * starting result location, amongst the jobs deemed by the API as relevant) + * in search results. This field is only considered if page_token is unset. + * For example, 0 means to return results starting from the first matching + * job, and 10 means to return from the 11th job. This can be used for + * pagination, (for example, pageSize = 10 and offset = 10 means to return + * from the second page). + */ + offset?: number; + /** + * Optional. The criteria determining how search results are sorted. + * Default is "relevance desc". Supported options are: * + * "relevance desc": By relevance descending, as determined by the + * API algorithms. Relevance thresholding of query results is only available + * with this ordering. * "posting_publish_time desc": By + * Job.posting_publish_time descending. * "posting_update_time + * desc": By Job.posting_update_time descending. * "title": + * By Job.title ascending. * "title desc": By Job.title + * descending. * "annualized_base_compensation": By job's + * CompensationInfo.annualized_base_compensation_range ascending. Jobs whose + * annualized base compensation is unspecified are put at the end of search + * results. * "annualized_base_compensation desc": By job's + * CompensationInfo.annualized_base_compensation_range descending. Jobs + * whose annualized base compensation is unspecified are put at the end of + * search results. * "annualized_total_compensation": By job's + * CompensationInfo.annualized_total_compensation_range ascending. Jobs + * whose annualized base compensation is unspecified are put at the end of + * search results. * "annualized_total_compensation desc": By + * job's CompensationInfo.annualized_total_compensation_range + * descending. Jobs whose annualized base compensation is unspecified are + * put at the end of search results. + */ + orderBy?: string; + /** + * Optional. A limit on the number of jobs returned in the search results. + * Increasing this value above the default value of 10 can increase search + * response time. The value can be between 1 and 100. + */ + pageSize?: number; + /** + * Optional. The token specifying the current offset within search results. + * See SearchJobsResponse.next_page_token for an explanation of how to + * obtain the next set of query results. + */ + pageToken?: string; + /** + * Required. The meta information collected about the job searcher, used to + * improve the search quality of the service.. The identifiers, (such as + * `user_id`) are provided by users, and must be unique and consistent. + */ + requestMetadata?: Schema$RequestMetadata; + /** + * Optional. Controls if the search job request requires the return of a + * precise count of the first 300 results. Setting this to `true` ensures + * consistency in the number of results per page. Best practice is to set + * this value to true if a client allows users to jump directly to a + * non-sequential search results page. Enabling this flag may adversely + * impact performance. Defaults to false. + */ + requirePreciseResultSize?: boolean; + /** + * Optional. Mode of a search. Defaults to SearchMode.JOB_SEARCH. + */ + searchMode?: string; + } + /** + * Output only. Response for SearchJob method. + */ + interface Schema$SearchJobsResponse { + /** + * If query broadening is enabled, we may append additional results from the + * broadened query. This number indicates how many of the jobs returned in + * the jobs field are from the broadened query. These results are always at + * the end of the jobs list. In particular, a value of 0, or if the field + * isn't set, all the jobs in the jobs list are from the original + * (without broadening) query. If this field is non-zero, subsequent + * requests with offset after this result set should contain all broadened + * results. + */ + broadenedQueryJobsCount?: number; + /** + * An estimation of the number of jobs that match the specified query. This + * number is not guaranteed to be accurate. For accurate results, see + * enable_precise_result_size. + */ + estimatedTotalSize?: number; + /** + * The histogram results that match specified + * SearchJobsRequest.histogram_facets. + */ + histogramResults?: Schema$HistogramResults; + /** + * The location filters that the service applied to the specified query. If + * any filters are lat-lng based, the JobLocation.location_type is + * JobLocation.LocationType#LOCATION_TYPE_UNSPECIFIED. + */ + locationFilters?: Schema$Location[]; + /** + * The Job entities that match the specified SearchJobsRequest. + */ + matchingJobs?: Schema$MatchingJob[]; + /** + * Additional information for the API invocation, such as the request + * tracking id. + */ + metadata?: Schema$ResponseMetadata; + /** + * The token that specifies the starting position of the next page of + * results. This field is empty if there are no more results. + */ + nextPageToken?: string; + /** + * The spell checking result, and correction. + */ + spellCorrection?: Schema$SpellingCorrection; + /** + * The precise result count, which is available only if the client set + * enable_precise_result_size to `true` or if the response is the last page + * of results. Otherwise, the value will be `-1`. + */ + totalSize?: number; + } + /** + * Output only. Spell check result. + */ + interface Schema$SpellingCorrection { + /** + * Indicates if the query was corrected by the spell checker. + */ + corrected?: boolean; + /** + * Correction output consisting of the corrected keyword string. + */ + correctedText?: string; + } + /** + * Represents a time of day. The date and time zone are either not significant + * or are specified elsewhere. An API may choose to allow leap seconds. + * Related types are google.type.Date and `google.protobuf.Timestamp`. + */ + interface Schema$TimeOfDay { + /** + * Hours of day in 24 hour format. Should be from 0 to 23. An API may choose + * to allow the value "24:00:00" for scenarios like business + * closing time. + */ + hours?: number; + /** + * Minutes of hour of day. Must be from 0 to 59. + */ + minutes?: number; + /** + * Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + */ + nanos?: number; + /** + * Seconds of minutes of the time. Must normally be from 0 to 59. An API may + * allow the value 60 if it allows leap-seconds. + */ + seconds?: number; + } + /** + * Message representing a period of time between two timestamps. + */ + interface Schema$TimestampRange { + /** + * End of the period. + */ + endTime?: string; + /** + * Begin of the period. + */ + startTime?: string; + } + /** + * Input only. Request for updating a specified company. + */ + interface Schema$UpdateCompanyRequest { + /** + * Required. The company resource to replace the current resource in the + * system. + */ + company?: Schema$Company; + /** + * Optional but strongly recommended for the best service experience. If + * update_mask is provided, only the specified fields in company are + * updated. Otherwise all the fields are updated. A field mask to specify + * the company fields to be updated. Only top level fields of Company are + * supported. + */ + updateMask?: string; + } + /** + * Input only. Update job request. + */ + interface Schema$UpdateJobRequest { + /** + * Required. The Job to be updated. + */ + job?: Schema$Job; + /** + * Optional but strongly recommended to be provided for the best service + * experience. If update_mask is provided, only the specified fields in job + * are updated. Otherwise all the fields are updated. A field mask to + * restrict the fields that are updated. Only top level fields of Job are + * supported. + */ + updateMask?: string; + } + class Resource$Projects { + root: Jobs; + companies: Resource$Projects$Companies; + jobs: Resource$Projects$Jobs; + constructor(root: Jobs); + getRoot(): Jobs; + /** + * jobs.projects.complete + * @desc Completes the specified prefix with keyword suggestions. Intended + * for use by a job search auto-complete search box. + * @alias jobs.projects.complete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.companyName Optional. If provided, restricts completion to specified company. The format is "projects/{project_id}/companies/{company_id}", for example, "projects/api-test-project/companies/foo". + * @param {string=} params.languageCode Required. The language of the query. This is the BCP-47 language code, such as "en-US" or "sr-Latn". For more information, see [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47). For CompletionType.JOB_TITLE type, only open jobs with same language_code are returned. For CompletionType.COMPANY_NAME type, only companies having open jobs with same language_code are returned. For CompletionType.COMBINED type, only open jobs with same language_code or companies having open jobs with same language_code are returned. The maximum number of allowed characters is 255. + * @param {string} params.name Required. Resource name of project the completion is performed within. The format is "projects/{project_id}", for example, "projects/api-test-project". + * @param {integer=} params.pageSize Required. Completion result count. The maximum allowed page size is 10. + * @param {string=} params.query Required. The query used to generate suggestions. The maximum number of allowed characters is 255. + * @param {string=} params.scope Optional. The scope of the completion. The defaults is CompletionScope.PUBLIC. + * @param {string=} params.type Optional. The completion topic. The default is CompletionType.COMBINED. + * @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 + */ + complete(params?: Params$Resource$Projects$Complete, options?: MethodOptions): AxiosPromise; + complete(params: Params$Resource$Projects$Complete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + complete(params: Params$Resource$Projects$Complete, callback: BodyResponseCallback): void; + complete(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Complete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. If provided, restricts completion to specified company. The + * format is "projects/{project_id}/companies/{company_id}", for example, + * "projects/api-test-project/companies/foo". + */ + companyName?: string; + /** + * Required. The language of the query. This is the BCP-47 language code, + * such as "en-US" or "sr-Latn". For more information, see [Tags for + * Identifying Languages](https://tools.ietf.org/html/bcp47). For + * CompletionType.JOB_TITLE type, only open jobs with same language_code are + * returned. For CompletionType.COMPANY_NAME type, only companies having + * open jobs with same language_code are returned. For + * CompletionType.COMBINED type, only open jobs with same language_code or + * companies having open jobs with same language_code are returned. The + * maximum number of allowed characters is 255. + */ + languageCode?: string; + /** + * Required. Resource name of project the completion is performed within. + * The format is "projects/{project_id}", for example, + * "projects/api-test-project". + */ + name?: string; + /** + * Required. Completion result count. The maximum allowed page size is 10. + */ + pageSize?: number; + /** + * Required. The query used to generate suggestions. The maximum number of + * allowed characters is 255. + */ + query?: string; + /** + * Optional. The scope of the completion. The defaults is + * CompletionScope.PUBLIC. + */ + scope?: string; + /** + * Optional. The completion topic. The default is CompletionType.COMBINED. + */ + type?: string; + } + class Resource$Projects$Companies { + root: Jobs; + constructor(root: Jobs); + getRoot(): Jobs; + /** + * jobs.projects.companies.create + * @desc Creates a new company entity. + * @alias jobs.projects.companies.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. Resource name of the project under which the company is created. The format is "projects/{project_id}", for example, "projects/api-test-project". + * @param {().CreateCompanyRequest} 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 + */ + create(params?: Params$Resource$Projects$Companies$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Companies$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Companies$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * jobs.projects.companies.delete + * @desc Deletes specified company. + * @alias jobs.projects.companies.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The resource name of the company to be deleted. The format is "projects/{project_id}/companies/{company_id}", for example, "projects/api-test-project/companies/foo". + * @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?: Params$Resource$Projects$Companies$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Companies$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Companies$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * jobs.projects.companies.get + * @desc Retrieves specified company. + * @alias jobs.projects.companies.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The resource name of the company to be retrieved. The format is "projects/{project_id}/companies/{company_id}", for example, "projects/api-test-project/companies/foo". + * @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?: Params$Resource$Projects$Companies$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Companies$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Companies$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * jobs.projects.companies.list + * @desc Lists all companies associated with the service account. + * @alias jobs.projects.companies.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Optional. The maximum number of companies to be returned, at most 100. Default is 100 if a non-positive number is provided. + * @param {string=} params.pageToken Optional. The starting indicator from which to return results. + * @param {string} params.parent Required. Resource name of the project under which the company is created. The format is "projects/{project_id}", for example, "projects/api-test-project". + * @param {boolean=} params.requireOpenJobs Optional. Set to true if the companies requested must have open jobs. Defaults to false. If true, at most page_size of companies are fetched, among which only those with open jobs are returned. + * @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?: Params$Resource$Projects$Companies$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Companies$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Companies$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * jobs.projects.companies.patch + * @desc Updates specified company. Company names can't be updated. To + * update a company name, delete the company and all jobs associated with + * it, and only then re-create them. + * @alias jobs.projects.companies.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required during company update. The resource name for a company. This is generated by the service when a company is created. The format is "projects/{project_id}/companies/{company_id}", for example, "projects/api-test-project/companies/foo". + * @param {().UpdateCompanyRequest} 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 + */ + patch(params?: Params$Resource$Projects$Companies$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Companies$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Companies$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Companies$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. Resource name of the project under which the company is + * created. The format is "projects/{project_id}", for example, + * "projects/api-test-project". + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreateCompanyRequest; + } + interface Params$Resource$Projects$Companies$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of the company to be deleted. The format is + * "projects/{project_id}/companies/{company_id}", for example, + * "projects/api-test-project/companies/foo". + */ + name?: string; + } + interface Params$Resource$Projects$Companies$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of the company to be retrieved. The format + * is "projects/{project_id}/companies/{company_id}", for example, + * "projects/api-test-project/companies/foo". + */ + name?: string; + } + interface Params$Resource$Projects$Companies$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The maximum number of companies to be returned, at most 100. + * Default is 100 if a non-positive number is provided. + */ + pageSize?: number; + /** + * Optional. The starting indicator from which to return results. + */ + pageToken?: string; + /** + * Required. Resource name of the project under which the company is + * created. The format is "projects/{project_id}", for example, + * "projects/api-test-project". + */ + parent?: string; + /** + * Optional. Set to true if the companies requested must have open jobs. + * Defaults to false. If true, at most page_size of companies are fetched, + * among which only those with open jobs are returned. + */ + requireOpenJobs?: boolean; + } + interface Params$Resource$Projects$Companies$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required during company update. The resource name for a company. This is + * generated by the service when a company is created. The format is + * "projects/{project_id}/companies/{company_id}", for example, + * "projects/api-test-project/companies/foo". + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UpdateCompanyRequest; + } + class Resource$Projects$Jobs { + root: Jobs; + constructor(root: Jobs); + getRoot(): Jobs; + /** + * jobs.projects.jobs.batchDelete + * @desc Deletes a list of Jobs by filter. + * @alias jobs.projects.jobs.batchDelete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The resource name of the project under which the job is created. The format is "projects/{project_id}", for example, "projects/api-test-project". + * @param {().BatchDeleteJobsRequest} 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 + */ + batchDelete(params?: Params$Resource$Projects$Jobs$Batchdelete, options?: MethodOptions): AxiosPromise; + batchDelete(params: Params$Resource$Projects$Jobs$Batchdelete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + batchDelete(params: Params$Resource$Projects$Jobs$Batchdelete, callback: BodyResponseCallback): void; + batchDelete(callback: BodyResponseCallback): void; + /** + * jobs.projects.jobs.create + * @desc Creates a new job. Typically, the job becomes searchable within 10 + * seconds, but it may take up to 5 minutes. + * @alias jobs.projects.jobs.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The resource name of the project under which the job is created. The format is "projects/{project_id}", for example, "projects/api-test-project". + * @param {().CreateJobRequest} 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 + */ + create(params?: Params$Resource$Projects$Jobs$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Jobs$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Jobs$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * jobs.projects.jobs.delete + * @desc Deletes the specified job. Typically, the job becomes unsearchable + * within 10 seconds, but it may take up to 5 minutes. + * @alias jobs.projects.jobs.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The resource name of the job to be deleted. The format is "projects/{project_id}/jobs/{job_id}", for example, "projects/api-test-project/jobs/1234". + * @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?: Params$Resource$Projects$Jobs$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Jobs$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Jobs$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * jobs.projects.jobs.get + * @desc Retrieves the specified job, whose status is OPEN or recently + * EXPIRED within the last 90 days. + * @alias jobs.projects.jobs.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The resource name of the job to retrieve. The format is "projects/{project_id}/jobs/{job_id}", for example, "projects/api-test-project/jobs/1234". + * @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?: Params$Resource$Projects$Jobs$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Jobs$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Jobs$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * jobs.projects.jobs.list + * @desc Lists jobs by filter. + * @alias jobs.projects.jobs.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter Required. The filter string specifies the jobs to be enumerated. Supported operator: =, AND The fields eligible for filtering are: * `companyName` (Required) * `requisitionId` (Optional) Sample Query: * companyName = "projects/api-test-project/companies/123" * companyName = "projects/api-test-project/companies/123" AND requisitionId = "req-1" + * @param {string=} params.jobView Optional. The desired job attributes returned for jobs in the search response. Defaults to JobView.JOB_VIEW_FULL if no value is specified. + * @param {integer=} params.pageSize Optional. The maximum number of jobs to be returned per page of results. If job_view is set to JobView.JOB_VIEW_ID_ONLY, the maximum allowed page size is 1000. Otherwise, the maximum allowed page size is 100. Default is 100 if empty or a number < 1 is specified. + * @param {string=} params.pageToken Optional. The starting point of a query result. + * @param {string} params.parent Required. The resource name of the project under which the job is created. The format is "projects/{project_id}", for example, "projects/api-test-project". + * @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?: Params$Resource$Projects$Jobs$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Jobs$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Jobs$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * jobs.projects.jobs.patch + * @desc Updates specified job. Typically, updated contents become visible + * in search results within 10 seconds, but it may take up to 5 minutes. + * @alias jobs.projects.jobs.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required during job update. The resource name for the job. This is generated by the service when a job is created. The format is "projects/{project_id}/jobs/{job_id}", for example, "projects/api-test-project/jobs/1234". Use of this field in job queries and API calls is preferred over the use of requisition_id since this value is unique. + * @param {().UpdateJobRequest} 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 + */ + patch(params?: Params$Resource$Projects$Jobs$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Jobs$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Jobs$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * jobs.projects.jobs.search + * @desc Searches for jobs using the provided SearchJobsRequest. This call + * constrains the visibility of jobs present in the database, and only + * returns jobs that the caller has permission to search against. + * @alias jobs.projects.jobs.search + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The resource name of the project to search within. The format is "projects/{project_id}", for example, "projects/api-test-project". + * @param {().SearchJobsRequest} 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 + */ + search(params?: Params$Resource$Projects$Jobs$Search, options?: MethodOptions): AxiosPromise; + search(params: Params$Resource$Projects$Jobs$Search, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + search(params: Params$Resource$Projects$Jobs$Search, callback: BodyResponseCallback): void; + search(callback: BodyResponseCallback): void; + /** + * jobs.projects.jobs.searchForAlert + * @desc Searches for jobs using the provided SearchJobsRequest. This API + * call is intended for the use case of targeting passive job seekers (for + * example, job seekers who have signed up to receive email alerts about + * potential job opportunities), and has different algorithmic adjustments + * that are targeted to passive job seekers. This call constrains the + * visibility of jobs present in the database, and only returns jobs the + * caller has permission to search against. + * @alias jobs.projects.jobs.searchForAlert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The resource name of the project to search within. The format is "projects/{project_id}", for example, "projects/api-test-project". + * @param {().SearchJobsRequest} 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 + */ + searchForAlert(params?: Params$Resource$Projects$Jobs$Searchforalert, options?: MethodOptions): AxiosPromise; + searchForAlert(params: Params$Resource$Projects$Jobs$Searchforalert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + searchForAlert(params: Params$Resource$Projects$Jobs$Searchforalert, callback: BodyResponseCallback): void; + searchForAlert(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Jobs$Batchdelete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of the project under which the job is + * created. The format is "projects/{project_id}", for example, + * "projects/api-test-project". + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BatchDeleteJobsRequest; + } + interface Params$Resource$Projects$Jobs$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of the project under which the job is + * created. The format is "projects/{project_id}", for example, + * "projects/api-test-project". + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreateJobRequest; + } + interface Params$Resource$Projects$Jobs$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of the job to be deleted. The format is + * "projects/{project_id}/jobs/{job_id}", for example, + * "projects/api-test-project/jobs/1234". + */ + name?: string; + } + interface Params$Resource$Projects$Jobs$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of the job to retrieve. The format is + * "projects/{project_id}/jobs/{job_id}", for example, + * "projects/api-test-project/jobs/1234". + */ + name?: string; + } + interface Params$Resource$Projects$Jobs$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The filter string specifies the jobs to be enumerated. + * Supported operator: =, AND The fields eligible for filtering are: * + * `companyName` (Required) * `requisitionId` (Optional) Sample Query: * + * companyName = "projects/api-test-project/companies/123" * companyName = + * "projects/api-test-project/companies/123" AND requisitionId = "req-1" + */ + filter?: string; + /** + * Optional. The desired job attributes returned for jobs in the search + * response. Defaults to JobView.JOB_VIEW_FULL if no value is specified. + */ + jobView?: string; + /** + * Optional. The maximum number of jobs to be returned per page of results. + * If job_view is set to JobView.JOB_VIEW_ID_ONLY, the maximum allowed page + * size is 1000. Otherwise, the maximum allowed page size is 100. Default + * is 100 if empty or a number < 1 is specified. + */ + pageSize?: number; + /** + * Optional. The starting point of a query result. + */ + pageToken?: string; + /** + * Required. The resource name of the project under which the job is + * created. The format is "projects/{project_id}", for example, + * "projects/api-test-project". + */ + parent?: string; + } + interface Params$Resource$Projects$Jobs$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required during job update. The resource name for the job. This is + * generated by the service when a job is created. The format is + * "projects/{project_id}/jobs/{job_id}", for example, + * "projects/api-test-project/jobs/1234". Use of this field in job queries + * and API calls is preferred over the use of requisition_id since this + * value is unique. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UpdateJobRequest; + } + interface Params$Resource$Projects$Jobs$Search { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of the project to search within. The format + * is "projects/{project_id}", for example, "projects/api-test-project". + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SearchJobsRequest; + } + interface Params$Resource$Projects$Jobs$Searchforalert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of the project to search within. The format + * is "projects/{project_id}", for example, "projects/api-test-project". + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SearchJobsRequest; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/jobs/v3.js b/express-server/node_modules/googleapis/build/src/apis/jobs/v3.js new file mode 100644 index 00000000..4cc7a86f --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/jobs/v3.js @@ -0,0 +1,516 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var jobs_v3; +(function (jobs_v3) { + /** + * Cloud Talent Solution API + * + * Cloud Talent Solution provides the capability to create, read, update, and + * delete job postings, as well as search jobs based on keywords and filters. + * + * @example + * const {google} = require('googleapis'); + * const jobs = google.jobs('v3'); + * + * @namespace jobs + * @type {Function} + * @version v3 + * @variation v3 + * @param {object=} options Options for Jobs + */ + class Jobs { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.projects = new Resource$Projects(this); + } + getRoot() { + return this.root; + } + } + jobs_v3.Jobs = Jobs; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.companies = new Resource$Projects$Companies(root); + this.jobs = new Resource$Projects$Jobs(root); + } + getRoot() { + return this.root; + } + complete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://jobs.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3/{+name}:complete') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + jobs_v3.Resource$Projects = Resource$Projects; + class Resource$Projects$Companies { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://jobs.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3/{+parent}/companies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://jobs.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://jobs.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://jobs.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3/{+parent}/companies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://jobs.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + jobs_v3.Resource$Projects$Companies = Resource$Projects$Companies; + class Resource$Projects$Jobs { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + batchDelete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://jobs.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3/{+parent}/jobs:batchDelete') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://jobs.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3/{+parent}/jobs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://jobs.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://jobs.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://jobs.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3/{+parent}/jobs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://jobs.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + search(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://jobs.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3/{+parent}/jobs:search') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + searchForAlert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://jobs.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3/{+parent}/jobs:searchForAlert') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + jobs_v3.Resource$Projects$Jobs = Resource$Projects$Jobs; +})(jobs_v3 = exports.jobs_v3 || (exports.jobs_v3 = {})); +//# sourceMappingURL=v3.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/jobs/v3.js.map b/express-server/node_modules/googleapis/build/src/apis/jobs/v3.js.map new file mode 100644 index 00000000..0cac5438 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/jobs/v3.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v3.js","sourceRoot":"","sources":["../../../../src/apis/jobs/v3.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/jobs/v3p1beta1.d.ts b/express-server/node_modules/googleapis/build/src/apis/jobs/v3p1beta1.d.ts new file mode 100644 index 00000000..b1741997 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/jobs/v3p1beta1.d.ts @@ -0,0 +1,2414 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace jobs_v3p1beta1 { + interface Options extends GlobalOptions { + version: 'v3p1beta1'; + } + /** + * Cloud Talent Solution API + * + * Cloud Talent Solution provides the capability to create, read, update, and + * delete job postings, as well as search jobs based on keywords and filters. + * + * @example + * const {google} = require('googleapis'); + * const jobs = google.jobs('v3p1beta1'); + * + * @namespace jobs + * @type {Function} + * @version v3p1beta1 + * @variation v3p1beta1 + * @param {object=} options Options for Jobs + */ + class Jobs { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + projects: Resource$Projects; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Application related details of a job posting. + */ + interface Schema$ApplicationInfo { + /** + * Optional but at least one of uris, emails or instruction must be + * specified. Use this field to specify email address(es) to which resumes + * or applications can be sent. The maximum number of allowed characters + * for each entry is 255. + */ + emails?: string[]; + /** + * Optional but at least one of uris, emails or instruction must be + * specified. Use this field to provide instructions, such as "Mail + * your application to ...", that a candidate can follow to apply for + * the job. This field accepts and sanitizes HTML input, and also accepts + * bold, italic, ordered list, and unordered list markup tags. The maximum + * number of allowed characters is 3,000. + */ + instruction?: string; + /** + * Optional but at least one of uris, emails or instruction must be + * specified. Use this URI field to direct an applicant to a website, for + * example to link to an online application form. The maximum number of + * allowed characters for each entry is 2,000. + */ + uris?: string[]; + } + /** + * Input only. Batch delete jobs request. + */ + interface Schema$BatchDeleteJobsRequest { + /** + * Required. The filter string specifies the jobs to be deleted. Supported + * operator: =, AND The fields eligible for filtering are: * `companyName` + * (Required) * `requisitionId` (Required) Sample Query: companyName = + * "projects/api-test-project/companies/123" AND requisitionId = + * "req-1" + */ + filter?: string; + } + /** + * Represents count of jobs within one bucket. + */ + interface Schema$BucketizedCount { + /** + * Number of jobs whose numeric field value fall into `range`. + */ + count?: number; + /** + * Bucket range on which histogram was performed for the numeric field, that + * is, the count represents number of jobs in this range. + */ + range?: Schema$BucketRange; + } + /** + * Represents starting and ending value of a range in double. + */ + interface Schema$BucketRange { + /** + * Starting value of the bucket range. + */ + from?: number; + /** + * Ending value of the bucket range. + */ + to?: number; + } + /** + * An event issued when an end user interacts with the application that + * implements Cloud Talent Solution. Providing this information improves the + * quality of search and recommendation for the API clients, enabling the + * service to perform optimally. The number of events sent must be consistent + * with other calls, such as job searches, issued to the service by the + * client. + */ + interface Schema$ClientEvent { + /** + * Required. The timestamp of the event. + */ + createTime?: string; + /** + * Required. A unique identifier, generated by the client application. This + * `event_id` is used to establish the relationship between different events + * (see parent_event_id). + */ + eventId?: string; + /** + * Optional. Extra information about this event. Used for storing + * information with no matching field in event payload, for example, user + * application specific context or details. At most 20 keys are supported. + * The maximum total size of all keys and values is 2 KB. + */ + extraInfo?: any; + /** + * A event issued when a job seeker interacts with the application that + * implements Cloud Talent Solution. + */ + jobEvent?: Schema$JobEvent; + /** + * Required except the first event. The event_id of an event that resulted + * in the current event. For example, a Job view event usually follows a + * parent impression event: A job seeker first does a search where a list of + * jobs appears (impression). The job seeker then selects a result and views + * the description of a particular job (Job view). + */ + parentEventId?: string; + /** + * Required. A unique ID generated in the API responses. It can be found in + * ResponseMetadata.request_id. + */ + requestId?: string; + } + /** + * Input only. Parameters needed for commute search. + */ + interface Schema$CommuteFilter { + /** + * Optional. If `true`, jobs without street level addresses may also be + * returned. For city level addresses, the city center is used. For state + * and coarser level addresses, text matching is used. If this field is set + * to `false` or is not specified, only jobs that include street level + * addresses will be returned by commute search. + */ + allowImpreciseAddresses?: boolean; + /** + * Required. The method of transportation for which to calculate the + * commute time. + */ + commuteMethod?: string; + /** + * Optional. The departure time used to calculate traffic impact, + * represented as .google.type.TimeOfDay in local time zone. Currently + * traffic model is restricted to hour level resolution. + */ + departureTime?: Schema$TimeOfDay; + /** + * Optional. Specifies the traffic density to use when caculating commute + * time. + */ + roadTraffic?: string; + /** + * Required. The latitude and longitude of the location from which to + * calculate the commute time. + */ + startCoordinates?: Schema$LatLng; + /** + * Required. The maximum travel time in seconds. The maximum allowed value + * is `3600s` (one hour). Format is `123s`. + */ + travelDuration?: string; + } + /** + * Output only. Commute details related to this job. + */ + interface Schema$CommuteInfo { + /** + * Location used as the destination in the commute calculation. + */ + jobLocation?: Schema$Location; + /** + * The number of seconds required to travel to the job location from the + * query location. A duration of 0 seconds indicates that the job is not + * reachable within the requested duration, but was returned as part of an + * expanded query. + */ + travelDuration?: string; + } + /** + * A Company resource represents a company in the service. A company is the + * entity that owns job postings, that is, the hiring entity responsible for + * employing applicants for the job position. + */ + interface Schema$Company { + /** + * Optional. The URI to employer's career site or careers page on the + * employer's web site, for example, + * "https://careers.google.com". + */ + careerSiteUri?: string; + /** + * Output only. Derived details about the company. + */ + derivedInfo?: Schema$CompanyDerivedInfo; + /** + * Required. The display name of the company, for example, "Google, + * LLC". + */ + displayName?: string; + /** + * Optional. Equal Employment Opportunity legal disclaimer text to be + * associated with all jobs, and typically to be displayed in all roles. The + * maximum number of allowed characters is 500. + */ + eeoText?: string; + /** + * Required. Client side company identifier, used to uniquely identify the + * company. The maximum number of allowed characters is 255. + */ + externalId?: string; + /** + * Optional. The street address of the company's main headquarters, + * which may be different from the job location. The service attempts to + * geolocate the provided address, and populates a more specific location + * wherever possible in DerivedInfo.headquarters_location. + */ + headquartersAddress?: string; + /** + * Optional. Set to true if it is the hiring agency that post jobs for + * other employers. Defaults to false if not provided. + */ + hiringAgency?: boolean; + /** + * Optional. A URI that hosts the employer's company logo. + */ + imageUri?: string; + /** + * Optional. A list of keys of filterable Job.custom_attributes, whose + * corresponding `string_values` are used in keyword search. Jobs with + * `string_values` under these specified field keys are returned if any of + * the values matches the search keyword. Custom field values with + * parenthesis, brackets and special symbols won't be properly + * searchable, and those keyword queries need to be surrounded by quotes. + */ + keywordSearchableJobCustomAttributes?: string[]; + /** + * Required during company update. The resource name for a company. This is + * generated by the service when a company is created. The format is + * "projects/{project_id}/companies/{company_id}", for example, + * "projects/api-test-project/companies/foo". + */ + name?: string; + /** + * Optional. The employer's company size. + */ + size?: string; + /** + * Output only. Indicates whether a company is flagged to be suspended from + * public availability by the service when job content appears suspicious, + * abusive, or spammy. + */ + suspended?: boolean; + /** + * Optional. The URI representing the company's primary web site or + * home page, for example, "https://www.google.com". The maximum + * number of allowed characters is 255. + */ + websiteUri?: string; + } + /** + * Derived details about the company. + */ + interface Schema$CompanyDerivedInfo { + /** + * A structured headquarters location of the company, resolved from + * Company.hq_location if provided. + */ + headquartersLocation?: Schema$Location; + } + /** + * A compensation entry that represents one component of compensation, such as + * base pay, bonus, or other compensation type. Annualization: One + * compensation entry can be annualized if - it contains valid amount or + * range. - and its expected_units_per_year is set or can be derived. Its + * annualized range is determined as (amount or range) times + * expected_units_per_year. + */ + interface Schema$CompensationEntry { + /** + * Optional. Compensation amount. + */ + amount?: Schema$Money; + /** + * Optional. Compensation description. For example, could indicate equity + * terms or provide additional context to an estimated bonus. + */ + description?: string; + /** + * Optional. Expected number of units paid each year. If not specified, + * when Job.employment_types is FULLTIME, a default value is inferred based + * on unit. Default values: - HOURLY: 2080 - DAILY: 260 - WEEKLY: 52 - + * MONTHLY: 12 - ANNUAL: 1 + */ + expectedUnitsPerYear?: number; + /** + * Optional. Compensation range. + */ + range?: Schema$CompensationRange; + /** + * Optional. Compensation type. Default is + * CompensationUnit.OTHER_COMPENSATION_TYPE. + */ + type?: string; + /** + * Optional. Frequency of the specified amount. Default is + * CompensationUnit.OTHER_COMPENSATION_UNIT. + */ + unit?: string; + } + /** + * Input only. Filter on job compensation type and amount. + */ + interface Schema$CompensationFilter { + /** + * Optional. Whether to include jobs whose compensation range is + * unspecified. + */ + includeJobsWithUnspecifiedCompensationRange?: boolean; + /** + * Optional. Compensation range. + */ + range?: Schema$CompensationRange; + /** + * Required. Type of filter. + */ + type?: string; + /** + * Required. Specify desired `base compensation entry's` + * CompensationInfo.CompensationUnit. + */ + units?: string[]; + } + /** + * Input only. Compensation based histogram request. + */ + interface Schema$CompensationHistogramRequest { + /** + * Required. Numeric histogram options, like buckets, whether include min + * or max value. + */ + bucketingOption?: Schema$NumericBucketingOption; + /** + * Required. Type of the request, representing which field the + * histogramming should be performed over. A single request can only specify + * one histogram of each `CompensationHistogramRequestType`. + */ + type?: string; + } + /** + * Output only. Compensation based histogram result. + */ + interface Schema$CompensationHistogramResult { + /** + * Histogram result. + */ + result?: Schema$NumericBucketingResult; + /** + * Type of the request, corresponding to CompensationHistogramRequest.type. + */ + type?: string; + } + /** + * Job compensation details. + */ + interface Schema$CompensationInfo { + /** + * Output only. Annualized base compensation range. Computed as base + * compensation entry's CompensationEntry.compensation times + * CompensationEntry.expected_units_per_year. See CompensationEntry for + * explanation on compensation annualization. + */ + annualizedBaseCompensationRange?: Schema$CompensationRange; + /** + * Output only. Annualized total compensation range. Computed as all + * compensation entries' CompensationEntry.compensation times + * CompensationEntry.expected_units_per_year. See CompensationEntry for + * explanation on compensation annualization. + */ + annualizedTotalCompensationRange?: Schema$CompensationRange; + /** + * Optional. Job compensation information. At most one entry can be of + * type CompensationInfo.CompensationType.BASE, which is referred as ** base + * compensation entry ** for the job. + */ + entries?: Schema$CompensationEntry[]; + } + /** + * Compensation range. + */ + interface Schema$CompensationRange { + /** + * Optional. The maximum amount of compensation. If left empty, the value + * is set to a maximal compensation value and the currency code is set to + * match the currency code of min_compensation. + */ + maxCompensation?: Schema$Money; + /** + * Optional. The minimum amount of compensation. If left empty, the value + * is set to zero and the currency code is set to match the currency code of + * max_compensation. + */ + minCompensation?: Schema$Money; + } + /** + * Output only. Response of auto-complete query. + */ + interface Schema$CompleteQueryResponse { + /** + * Results of the matching job/company candidates. + */ + completionResults?: Schema$CompletionResult[]; + /** + * Additional information for the API invocation, such as the request + * tracking id. + */ + metadata?: Schema$ResponseMetadata; + } + /** + * Output only. Resource that represents completion results. + */ + interface Schema$CompletionResult { + /** + * The URI of the company image for CompletionType.COMPANY_NAME. + */ + imageUri?: string; + /** + * The suggestion for the query. + */ + suggestion?: string; + /** + * The completion topic. + */ + type?: string; + } + /** + * The report event request. + */ + interface Schema$CreateClientEventRequest { + /** + * Required. Events issued when end user interacts with customer's + * application that uses Cloud Talent Solution. + */ + clientEvent?: Schema$ClientEvent; + } + /** + * Input only. The Request of the CreateCompany method. + */ + interface Schema$CreateCompanyRequest { + /** + * Required. The company to be created. + */ + company?: Schema$Company; + } + /** + * Input only. Create job request. + */ + interface Schema$CreateJobRequest { + /** + * Required. The Job to be created. + */ + job?: Schema$Job; + } + /** + * Custom attribute values that are either filterable or non-filterable. + */ + interface Schema$CustomAttribute { + /** + * Optional. If the `filterable` flag is true, custom field values are + * searchable. If false, values are not searchable. Default is false. + */ + filterable?: boolean; + /** + * Optional but exactly one of string_values or long_values must be + * specified. This field is used to perform number range search. (`EQ`, + * `GT`, `GE`, `LE`, `LT`) over filterable `long_value`. Currently at most + * 1 long_values is supported. + */ + longValues?: string[]; + /** + * Optional but exactly one of string_values or long_values must be + * specified. This field is used to perform a string match + * (`CASE_SENSITIVE_MATCH` or `CASE_INSENSITIVE_MATCH`) search. For + * filterable `string_value`s, a maximum total number of 200 values is + * allowed, with each `string_value` has a byte size of no more than 255B. + * For unfilterable `string_values`, the maximum total byte size of + * unfilterable `string_values` is 50KB. Empty string is not allowed. + */ + stringValues?: string[]; + } + /** + * Custom attributes histogram request. An error is thrown if neither + * string_value_histogram or long_value_histogram_bucketing_option has been + * defined. + */ + interface Schema$CustomAttributeHistogramRequest { + /** + * Required. Specifies the custom field key to perform a histogram on. If + * specified without `long_value_histogram_bucketing_option`, histogram on + * string values of the given `key` is triggered, otherwise histogram is + * performed on long values. + */ + key?: string; + /** + * Optional. Specifies buckets used to perform a range histogram on + * Job's filterable long custom field values, or min/max value + * requirements. + */ + longValueHistogramBucketingOption?: Schema$NumericBucketingOption; + /** + * Optional. If set to true, the response includes the histogram value for + * each key as a string. + */ + stringValueHistogram?: boolean; + } + /** + * Output only. Custom attribute histogram result. + */ + interface Schema$CustomAttributeHistogramResult { + /** + * Stores the key of custom attribute the histogram is performed on. + */ + key?: string; + /** + * Stores bucketed histogram counting result or min/max values for custom + * attribute long values associated with `key`. + */ + longValueHistogramResult?: Schema$NumericBucketingResult; + /** + * Stores a map from the values of string custom field associated with `key` + * to the number of jobs with that value in this histogram result. + */ + stringValueHistogramResult?: any; + } + /** + * Input only. Custom ranking information for SearchJobsRequest. + */ + interface Schema$CustomRankingInfo { + /** + * Required. Controls over how important the score of + * CustomRankingInfo.ranking_expression gets applied to job's final + * ranking position. An error will be thrown if not specified. + */ + importanceLevel?: string; + /** + * Required. Controls over how job documents get ranked on top of existing + * relevance score (determined by API algorithm). The product of ranking + * expression and relevance score is used to determine job's final + * ranking position. The syntax for this expression is a subset of Google + * SQL syntax. Supported operators are: +, -, *, /, where the left and + * right side of the operator is either a numeric Job.custom_attributes key, + * integer/double value or an expression that can be evaluated to a number. + * Parenthesis are supported to adjust calculation precedence. The + * expression must be < 100 characters in length. Sample ranking + * expression (year + 25) * 0.25 - (freshness / 0.5) + */ + rankingExpression?: string; + } + /** + * Device information collected from the job seeker, candidate, or other + * entity conducting the job search. Providing this information improves the + * quality of the search results across devices. + */ + interface Schema$DeviceInfo { + /** + * Optional. Type of the device. + */ + deviceType?: string; + /** + * Optional. A device-specific ID. The ID must be a unique identifier that + * distinguishes the device from other devices. + */ + id?: string; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * Input only. Histogram facets to be specified in SearchJobsRequest. + */ + interface Schema$HistogramFacets { + /** + * Optional. Specifies compensation field-based histogram requests. + * Duplicate values of CompensationHistogramRequest.type are not allowed. + */ + compensationHistogramFacets?: Schema$CompensationHistogramRequest[]; + /** + * Optional. Specifies the custom attributes histogram requests. Duplicate + * values of CustomAttributeHistogramRequest.key are not allowed. + */ + customAttributeHistogramFacets?: Schema$CustomAttributeHistogramRequest[]; + /** + * Optional. Specifies the simple type of histogram facets, for example, + * `COMPANY_SIZE`, `EMPLOYMENT_TYPE` etc. + */ + simpleHistogramFacets?: string[]; + } + /** + * Input Only. The histogram request. + */ + interface Schema$HistogramQuery { + /** + * An expression specifies a histogram request against matching resources + * (for example, jobs) for searches. Expression syntax is a aggregation + * function call with histogram facets and other options. Available + * aggregation function calls are: * `count(string_histogram_facet)`: Count + * the number of matching entity, for each distinct attribute value. * + * `count(numeric_histogram_facet, list of buckets)`: Count the number of + * matching entity within each bucket. Data types: * Histogram facet: + * facet names with format a-zA-Z+. * String: string like "any string + * with backslash escape for quote(\")." * Number: whole number + * and floating point number like 10, -1 and -0.01. * List: list of elements + * with comma(,) separator surrounded by square brackets. For example, [1, + * 2, 3] and ["one", "two", "three"]. Built-in + * constants: * MIN (minimum number similar to java Double.MIN_VALUE) * MAX + * (maximum number similar to java Double.MAX_VALUE) Built-in functions: * + * bucket(start, end[, label]): bucket built-in function creates a bucket + * with range of start, end). Note that the end is exclusive. For example, + * bucket(1, MAX, "positive number") or bucket(1, 10). Job + * histogram facets: * company_id: histogram by + * [Job.distributor_company_id. * company_display_name: histogram by + * Job.company_display_name. * employment_type: histogram by + * Job.employment_types. For example, "FULL_TIME", + * "PART_TIME". * company_size: histogram by CompanySize, for + * example, "SMALL", "MEDIUM", "BIG". * + * publish_time_in_month: histogram by the Job.publish_time in months. Must + * specify list of numeric buckets in spec. * publish_time_in_year: + * histogram by the Job.publish_time in years. Must specify list of numeric + * buckets in spec. * degree_type: histogram by the Job.degree_type. For + * example, "Bachelors", "Masters". * job_level: + * histogram by the Job.job_level. For example, "Entry Level". * + * country: histogram by the country code of jobs. For example, + * "US", "FR". * admin1: histogram by the admin1 code of + * jobs, which is a global placeholder referring to the state, province, or + * the particular term a country uses to define the geographic structure + * below the country level. For example, "CA", "IL". * + * city: histogram by a combination of the "city name, admin1 + * code". For example, "Mountain View, CA", "New York, + * NY". * admin1_country: histogram by a combination of the + * "admin1 code, country". For example, "CA, US", + * "IL, US". * city_coordinate: histogram by the city center's + * GPS coordinates (latitude and longitude). For + * example, 37.4038522,-122.0987765. Since the coordinates of a city center + * can change, customers may need to refresh them periodically. * locale: + * histogram by the Job.language_code. For example, "en-US", + * "fr-FR". * language: histogram by the language subtag of the + * Job.language_code. For example, "en", "fr". * + * category: histogram by the JobCategory. For example, + * "COMPUTER_AND_IT", "HEALTHCARE". * + * base_compensation_unit: histogram by the CompensationUnit of base salary. + * For example, "WEEKLY", "MONTHLY". * + * base_compensation: histogram by the base salary. Must specify list of + * numeric buckets to group results by. * annualized_base_compensation: + * histogram by the base annualized salary. Must specify list of numeric + * buckets to group results by. * annualized_total_compensation: histogram + * by the total annualized salary. Must specify list of numeric buckets to + * group results by. * string_custom_attribute: histogram by string + * Job.custom_attributes. Values can be accessed via square bracket + * notations like string_custom_attribute["key1"]. * + * numeric_custom_attribute: histogram by numeric Job.custom_attributes. + * Values can be accessed via square bracket notations like + * numeric_custom_attribute["key1"]. Must specify list of numeric + * buckets to group results by. Example expressions: * count(admin1) * + * count(base_compensation, [bucket(1000, 10000), bucket(10000, 100000), + * bucket(100000, MAX)]) * + * count(string_custom_attribute["some-string-custom-attribute"]) + * * + * count(numeric_custom_attribute["some-numeric-custom-attribute"], + * [bucket(MIN, 0, "negative"), bucket(0, MAX, + * "non-negative"]) + */ + histogramQuery?: string; + } + /** + * Output only. Histogram result that matches HistogramSpec specified in + * searches. + */ + interface Schema$HistogramQueryResult { + /** + * A map from the values of the facet associated with distinct values to the + * number of matching entries with corresponding value. The key format is: + * * (for string histogram) string values stored in the field. * (for named + * numeric bucket) name specified in `bucket()` function, like for + * `bucket(0, MAX, "non-negative")`, the key will be + * `non-negative`. * (for anonymous numeric bucket) range formatted as + * `<low>-<high>`, for example, `0-1000`, `MIN-0`, and `0-MAX`. + */ + histogram?: any; + /** + * Requested histogram expression. + */ + histogramQuery?: string; + } + /** + * Output only. Result of a histogram call. The response contains the + * histogram map for the search type specified by HistogramResult.field. The + * response is a map of each filter value to the corresponding count of jobs + * for that filter. + */ + interface Schema$HistogramResult { + /** + * The Histogram search filters. + */ + searchType?: string; + /** + * A map from the values of field to the number of jobs with that value in + * this search result. Key: search type (filter names, such as the + * companyName). Values: the count of jobs that match the filter for this + * search. + */ + values?: any; + } + /** + * Output only. Histogram results that match HistogramFacets specified in + * SearchJobsRequest. + */ + interface Schema$HistogramResults { + /** + * Specifies compensation field-based histogram results that match + * HistogramFacets.compensation_histogram_requests. + */ + compensationHistogramResults?: Schema$CompensationHistogramResult[]; + /** + * Specifies histogram results for custom attributes that match + * HistogramFacets.custom_attribute_histogram_facets. + */ + customAttributeHistogramResults?: Schema$CustomAttributeHistogramResult[]; + /** + * Specifies histogram results that matches + * HistogramFacets.simple_histogram_facets. + */ + simpleHistogramResults?: Schema$HistogramResult[]; + } + /** + * A Job resource represents a job posting (also referred to as a "job + * listing" or "job requisition"). A job belongs to a Company, + * which is the hiring entity responsible for the job. + */ + interface Schema$Job { + /** + * Optional but strongly recommended for the best service experience. + * Location(s) where the employer is looking to hire for this job posting. + * Specifying the full street address(es) of the hiring location enables + * better API results, especially job searches by commute time. At most 50 + * locations are allowed for best search performance. If a job has more + * locations, it is suggested to split it into multiple jobs with unique + * requisition_ids (e.g. 'ReqA' becomes 'ReqA-1', + * 'ReqA-2', etc.) as multiple jobs with the same company_name, + * language_code and requisition_id are not allowed. If the original + * requisition_id must be preserved, a custom field should be used for + * storage. It is also suggested to group the locations that close to each + * other in the same job for better search experience. The maximum number + * of allowed characters is 500. + */ + addresses?: string[]; + /** + * Required. At least one field within ApplicationInfo must be specified. + * Job application information. + */ + applicationInfo?: Schema$ApplicationInfo; + /** + * Output only. Display name of the company listing the job. + */ + companyDisplayName?: string; + /** + * Required. The resource name of the company listing the job, such as + * "projects/api-test-project/companies/foo". + */ + companyName?: string; + /** + * Optional. Job compensation information. + */ + compensationInfo?: Schema$CompensationInfo; + /** + * Optional. A map of fields to hold both filterable and non-filterable + * custom job attributes that are not covered by the provided structured + * fields. The keys of the map are strings up to 64 bytes and must match + * the pattern: a-zA-Z*. For example, key0LikeThis or KEY_1_LIKE_THIS. At + * most 100 filterable and at most 100 unfilterable keys are supported. For + * filterable `string_values`, across all keys at most 200 values are + * allowed, with each string no more than 255 characters. For unfilterable + * `string_values`, the maximum total size of `string_values` across all + * keys is 50KB. + */ + customAttributes?: any; + /** + * Optional. The desired education degrees for the job, such as Bachelors, + * Masters. + */ + degreeTypes?: string[]; + /** + * Optional. The department or functional area within the company with the + * open position. The maximum number of allowed characters is 255. + */ + department?: string; + /** + * Output only. Derived details about the job posting. + */ + derivedInfo?: Schema$JobDerivedInfo; + /** + * Required. The description of the job, which typically includes a + * multi-paragraph description of the company and related information. + * Separate fields are provided on the job object for responsibilities, + * qualifications, and other job characteristics. Use of these separate job + * fields is recommended. This field accepts and sanitizes HTML input, and + * also accepts bold, italic, ordered list, and unordered list markup tags. + * The maximum number of allowed characters is 100,000. + */ + description?: string; + /** + * Optional. The employment type(s) of a job, for example, full time or + * part time. + */ + employmentTypes?: string[]; + /** + * Optional. A description of bonus, commission, and other compensation + * incentives associated with the job not including salary or pay. The + * maximum number of allowed characters is 10,000. + */ + incentives?: string; + /** + * Optional. The benefits included with the job. + */ + jobBenefits?: string[]; + /** + * Optional. The end timestamp of the job. Typically this field is used for + * contracting engagements. Invalid timestamps are ignored. + */ + jobEndTime?: string; + /** + * Optional. The experience level associated with the job, such as + * "Entry Level". + */ + jobLevel?: string; + /** + * Optional. The start timestamp of the job in UTC time zone. Typically + * this field is used for contracting engagements. Invalid timestamps are + * ignored. + */ + jobStartTime?: string; + /** + * Optional. The language of the posting. This field is distinct from any + * requirements for fluency that are associated with the job. Language + * codes must be in BCP-47 format, such as "en-US" or + * "sr-Latn". For more information, see [Tags for Identifying + * Languages](https://tools.ietf.org/html/bcp47){: + * class="external" target="_blank" }. The default + * value is `en-US`. + */ + languageCode?: string; + /** + * Required during job update. The resource name for the job. This is + * generated by the service when a job is created. The format is + * "projects/{project_id}/jobs/{job_id}", for example, + * "projects/api-test-project/jobs/1234". Use of this field in + * job queries and API calls is preferred over the use of requisition_id + * since this value is unique. + */ + name?: string; + /** + * Output only. The timestamp when this job posting was created. + */ + postingCreateTime?: string; + /** + * Optional but strongly recommended for the best service experience. The + * expiration timestamp of the job. After this timestamp, the job is marked + * as expired, and it no longer appears in search results. The expired job + * can't be deleted or listed by the DeleteJob and ListJobs APIs, but it + * can be retrieved with the GetJob API or updated with the UpdateJob API. + * An expired job can be updated and opened again by using a future + * expiration timestamp. Updating an expired job fails if there is another + * existing open job with same company_name, language_code and + * requisition_id. The expired jobs are retained in our system for 90 days. + * However, the overall expired job count cannot exceed 3 times the maximum + * of open jobs count over the past week, otherwise jobs with earlier expire + * time are cleaned first. Expired jobs are no longer accessible after they + * are cleaned out. Invalid timestamps are ignored, and treated as expire + * time not provided. Timestamp before the instant request is made is + * considered valid, the job will be treated as expired immediately. If + * this value is not provided at the time of job creation or is invalid, the + * job posting expires after 30 days from the job's creation time. For + * example, if the job was created on 2017/01/01 13:00AM UTC with an + * unspecified expiration date, the job expires after 2017/01/31 13:00AM + * UTC. If this value is not provided on job update, it depends on the + * field masks set by UpdateJobRequest.update_mask. If the field masks + * include expiry_time, or the masks are empty meaning that every field is + * updated, the job posting expires after 30 days from the job's last + * update time. Otherwise the expiration date isn't updated. + */ + postingExpireTime?: string; + /** + * Optional. The timestamp this job posting was most recently published. + * The default value is the time the request arrives at the server. Invalid + * timestamps are ignored. + */ + postingPublishTime?: string; + /** + * Optional. The job PostingRegion (for example, state, country) throughout + * which the job is available. If this field is set, a LocationFilter in a + * search query within the job region finds this job posting if an exact + * location match is not specified. If this field is set to + * PostingRegion.NATION_WIDE or [PostingRegion.ADMINISTRATIVE_AREA], setting + * job addresses to the same location level as this field is strongly + * recommended. + */ + postingRegion?: string; + /** + * Output only. The timestamp when this job posting was last updated. + */ + postingUpdateTime?: string; + /** + * Optional. Options for job processing. + */ + processingOptions?: Schema$ProcessingOptions; + /** + * Optional. A promotion value of the job, as determined by the client. The + * value determines the sort order of the jobs returned when searching for + * jobs using the featured jobs search call, with higher promotional values + * being returned first and ties being resolved by relevance sort. Only the + * jobs with a promotionValue >0 are returned in a FEATURED_JOB_SEARCH. + * Default value is 0, and negative values are treated as 0. + */ + promotionValue?: number; + /** + * Optional. A description of the qualifications required to perform the + * job. The use of this field is recommended as an alternative to using the + * more general description field. This field accepts and sanitizes HTML + * input, and also accepts bold, italic, ordered list, and unordered list + * markup tags. The maximum number of allowed characters is 10,000. + */ + qualifications?: string; + /** + * Required. The requisition ID, also referred to as the posting ID, + * assigned by the client to identify a job. This field is intended to be + * used by clients for client identification and tracking of postings. A job + * is not allowed to be created if there is another job with the same + * [company_name], language_code and requisition_id. The maximum number of + * allowed characters is 255. + */ + requisitionId?: string; + /** + * Optional. A description of job responsibilities. The use of this field + * is recommended as an alternative to using the more general description + * field. This field accepts and sanitizes HTML input, and also accepts + * bold, italic, ordered list, and unordered list markup tags. The maximum + * number of allowed characters is 10,000. + */ + responsibilities?: string; + /** + * Required. The title of the job, such as "Software Engineer" + * The maximum number of allowed characters is 500. + */ + title?: string; + /** + * Optional. The visibility of the job. Defaults to + * Visibility.ACCOUNT_ONLY if not specified. + */ + visibility?: string; + } + /** + * Output only. Derived details about the job posting. + */ + interface Schema$JobDerivedInfo { + /** + * Job categories derived from Job.title and Job.description. + */ + jobCategories?: string[]; + /** + * Structured locations of the job, resolved from Job.addresses. locations + * are exactly matched to Job.addresses in the same order. + */ + locations?: Schema$Location[]; + } + /** + * An event issued when a job seeker interacts with the application that + * implements Cloud Talent Solution. + */ + interface Schema$JobEvent { + /** + * Required. The job name(s) associated with this event. For example, if + * this is an impression event, this field contains the identifiers of all + * jobs shown to the job seeker. If this was a view event, this field + * contains the identifier of the viewed job. + */ + jobs?: string[]; + /** + * Required. The type of the event (see JobEventType). + */ + type?: string; + } + /** + * Input only. The query required to perform a search query. + */ + interface Schema$JobQuery { + /** + * Optional. Allows filtering jobs by commute time with different travel + * methods (for example, driving or public transit). Note: This only works + * with COMMUTE MODE. When specified, [JobQuery.location_filters] is + * ignored. Currently we don't support sorting by commute time. + */ + commuteFilter?: Schema$CommuteFilter; + /** + * Optional. This filter specifies the exact company display name of the + * jobs to search against. If a value isn't specified, jobs within the + * search results are associated with any company. If multiple values are + * specified, jobs within the search results may be associated with any of + * the specified companies. At most 20 company display name filters are + * allowed. + */ + companyDisplayNames?: string[]; + /** + * Optional. This filter specifies the company entities to search against. + * If a value isn't specified, jobs are searched for against all + * companies. If multiple values are specified, jobs are searched against + * the companies specified. The format is + * "projects/{project_id}/companies/{company_id}", for example, + * "projects/api-test-project/companies/foo". At most 20 company + * filters are allowed. + */ + companyNames?: string[]; + /** + * Optional. This search filter is applied only to Job.compensation_info. + * For example, if the filter is specified as "Hourly job with per-hour + * compensation > $15", only jobs meeting these criteria are + * searched. If a filter isn't defined, all open jobs are searched. + */ + compensationFilter?: Schema$CompensationFilter; + /** + * Optional. This filter specifies a structured syntax to match against the + * Job.custom_attributes marked as `filterable`. The syntax for this + * expression is a subset of Google SQL syntax. Supported operators are: =, + * !=, <, <=, >, >= where the left of the operator is a custom + * field key and the right of the operator is a number or string (surrounded + * by quotes) value. Supported functions are LOWER(<field_name>) to + * perform case insensitive match and EMPTY(<field_name>) to filter on + * the existence of a key. Boolean expressions (AND/OR/NOT) are supported + * up to 3 levels of nesting (for example, "((A AND B AND C) OR NOT D) + * AND E"), a maximum of 50 comparisons/functions are allowed in the + * expression. The expression must be < 2000 characters in length. Sample + * Query: (LOWER(driving_license)="class a" OR + * EMPTY(driving_license)) AND driving_years > 10 + */ + customAttributeFilter?: string; + /** + * Optional. This flag controls the spell-check feature. If false, the + * service attempts to correct a misspelled query, for example, + * "enginee" is corrected to "engineer". Defaults to + * false: a spell check is performed. + */ + disableSpellCheck?: boolean; + /** + * Optional. The employment type filter specifies the employment type of + * jobs to search against, such as EmploymentType.FULL_TIME. If a value is + * not specified, jobs in the search results includes any employment type. + * If multiple values are specified, jobs in the search results include any + * of the specified employment types. + */ + employmentTypes?: string[]; + /** + * Optional. The category filter specifies the categories of jobs to search + * against. See Category for more information. If a value is not specified, + * jobs from any category are searched against. If multiple values are + * specified, jobs from any of the specified categories are searched + * against. + */ + jobCategories?: string[]; + /** + * Optional. This filter specifies the locale of jobs to search against, + * for example, "en-US". If a value isn't specified, the + * search results can contain jobs in any locale. Language codes should be + * in BCP-47 format, such as "en-US" or "sr-Latn". For + * more information, see [Tags for Identifying + * Languages](https://tools.ietf.org/html/bcp47). At most 10 language code + * filters are allowed. + */ + languageCodes?: string[]; + /** + * Optional. The location filter specifies geo-regions containing the jobs + * to search against. See LocationFilter for more information. If a + * location value isn't specified, jobs fitting the other search + * criteria are retrieved regardless of where they're located. If + * multiple values are specified, jobs are retrieved from any of the + * specified locations, and, if different values are specified for the + * LocationFilter.distance_in_miles parameter, the maximum provided distance + * is used for all locations. At most 5 location filters are allowed. + */ + locationFilters?: Schema$LocationFilter[]; + /** + * Optional. Jobs published within a range specified by this filter are + * searched against. + */ + publishTimeRange?: Schema$TimestampRange; + /** + * Optional. The query string that matches against the job title, + * description, and location fields. The maximum number of allowed + * characters is 255. + */ + query?: string; + } + /** + * An object representing a latitude/longitude pair. This is expressed as a + * pair of doubles representing degrees latitude and degrees longitude. Unless + * specified otherwise, this must conform to the <a + * href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84 + * standard</a>. Values must be within normalized ranges. + */ + interface Schema$LatLng { + /** + * The latitude in degrees. It must be in the range [-90.0, +90.0]. + */ + latitude?: number; + /** + * The longitude in degrees. It must be in the range [-180.0, +180.0]. + */ + longitude?: number; + } + /** + * Output only. The List companies response object. + */ + interface Schema$ListCompaniesResponse { + /** + * Companies for the current client. + */ + companies?: Schema$Company[]; + /** + * Additional information for the API invocation, such as the request + * tracking id. + */ + metadata?: Schema$ResponseMetadata; + /** + * A token to retrieve the next page of results. + */ + nextPageToken?: string; + } + /** + * Output only. List jobs response. + */ + interface Schema$ListJobsResponse { + /** + * The Jobs for a given company. The maximum number of items returned is + * based on the limit field provided in the request. + */ + jobs?: Schema$Job[]; + /** + * Additional information for the API invocation, such as the request + * tracking id. + */ + metadata?: Schema$ResponseMetadata; + /** + * A token to retrieve the next page of results. + */ + nextPageToken?: string; + } + /** + * Output only. A resource that represents a location with full geographic + * information. + */ + interface Schema$Location { + /** + * An object representing a latitude/longitude pair. + */ + latLng?: Schema$LatLng; + /** + * The type of a location, which corresponds to the address lines field of + * PostalAddress. For example, "Downtown, Atlanta, GA, USA" has a + * type of LocationType#NEIGHBORHOOD, and "Kansas City, KS, USA" + * has a type of LocationType#LOCALITY. + */ + locationType?: string; + /** + * Postal address of the location that includes human readable information, + * such as postal delivery and payments addresses. Given a postal address, a + * postal service can deliver items to a premises, P.O. Box, or other + * delivery location. + */ + postalAddress?: Schema$PostalAddress; + /** + * Radius in meters of the job location. This value is derived from the + * location bounding box in which a circle with the specified radius + * centered from LatLng coves the area associated with the job location. For + * example, currently, "Mountain View, CA, USA" has a radius + * of 6.17 miles. + */ + radiusInMiles?: number; + } + /** + * Input only. Geographic region of the search. + */ + interface Schema$LocationFilter { + /** + * Optional. The address name, such as "Mountain View" or + * "Bay Area". + */ + address?: string; + /** + * Optional. The distance_in_miles is applied when the location being + * searched for is identified as a city or smaller. When the location being + * searched for is a state or larger, this field is ignored. + */ + distanceInMiles?: number; + /** + * Optional. The latitude and longitude of the geographic center from which + * to search. This field's ignored if `address` is provided. + */ + latLng?: Schema$LatLng; + /** + * Optional. CLDR region code of the country/region of the address. This is + * used to address ambiguity of the user-input location, for example, + * "Liverpool" against "Liverpool, NY, US" or + * "Liverpool, UK". Set this field if all the jobs to search + * against are from a same region, or jobs are world-wide, but the job + * seeker is from a specific region. See http://cldr.unicode.org/ and + * http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html + * for details. Example: "CH" for Switzerland. + */ + regionCode?: string; + /** + * Optional. Allows the client to return jobs without a set location, + * specifically, telecommuting jobs (telecomuting is considered by the + * service as a special location. Job.posting_region indicates if a job + * permits telecommuting. If this field is set to + * TelecommutePreference.TELECOMMUTE_ALLOWED, telecommuting jobs are + * searched, and address and lat_lng are ignored. If not set or set to + * TelecommutePreference.TELECOMMUTE_EXCLUDED, telecommute job are not + * searched. This filter can be used by itself to search exclusively for + * telecommuting jobs, or it can be combined with another location filter to + * search for a combination of job locations, such as "Mountain + * View" or "telecommuting" jobs. However, when used in + * combination with other location filters, telecommuting jobs can be + * treated as less relevant than other jobs in the search response. + */ + telecommutePreference?: string; + } + /** + * Output only. Job entry with metadata inside SearchJobsResponse. + */ + interface Schema$MatchingJob { + /** + * Commute information which is generated based on specified CommuteFilter. + */ + commuteInfo?: Schema$CommuteInfo; + /** + * Job resource that matches the specified SearchJobsRequest. + */ + job?: Schema$Job; + /** + * A summary of the job with core information that's displayed on the + * search results listing page. + */ + jobSummary?: string; + /** + * Contains snippets of text from the Job.job_title field most closely + * matching a search query's keywords, if available. The matching query + * keywords are enclosed in HTML bold tags. + */ + jobTitleSnippet?: string; + /** + * Contains snippets of text from the Job.description and similar fields + * that most closely match a search query's keywords, if available. All + * HTML tags in the original fields are stripped when returned in this + * field, and matching query keywords are enclosed in HTML bold tags. + */ + searchTextSnippet?: string; + } + /** + * Represents an amount of money with its currency type. + */ + interface Schema$Money { + /** + * The 3-letter currency code defined in ISO 4217. + */ + currencyCode?: string; + /** + * Number of nano (10^-9) units of the amount. The value must be between + * -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` + * must be positive or zero. If `units` is zero, `nanos` can be positive, + * zero, or negative. If `units` is negative, `nanos` must be negative or + * zero. For example $-1.75 is represented as `units`=-1 and + * `nanos`=-750,000,000. + */ + nanos?: number; + /** + * The whole units of the amount. For example if `currencyCode` is + * `"USD"`, then 1 unit is one US dollar. + */ + units?: string; + } + /** + * Input only. Use this field to specify bucketing option for the histogram + * search response. + */ + interface Schema$NumericBucketingOption { + /** + * Required. Two adjacent values form a histogram bucket. Values should be + * in ascending order. For example, if [5, 10, 15] are provided, four + * buckets are created: (-inf, 5), 5, 10), [10, 15), [15, inf). At most 20 + * [buckets_bound is supported. + */ + bucketBounds?: number[]; + /** + * Optional. If set to true, the histogram result includes minimum/maximum + * value of the numeric field. + */ + requiresMinMax?: boolean; + } + /** + * Output only. Custom numeric bucketing result. + */ + interface Schema$NumericBucketingResult { + /** + * Count within each bucket. Its size is the length of + * NumericBucketingOption.bucket_bounds plus 1. + */ + counts?: Schema$BucketizedCount[]; + /** + * Stores the maximum value of the numeric field. Is populated only if + * [NumericBucketingOption.requires_min_max] is set to true. + */ + maxValue?: number; + /** + * Stores the minimum value of the numeric field. Will be populated only if + * [NumericBucketingOption.requires_min_max] is set to true. + */ + minValue?: number; + } + /** + * Represents a postal address, e.g. for postal delivery or payments + * addresses. Given a postal address, a postal service can deliver items to a + * premise, P.O. Box or similar. It is not intended to model geographical + * locations (roads, towns, mountains). In typical usage an address would be + * created via user input or from importing existing data, depending on the + * type of process. Advice on address input / editing: - Use an i18n-ready + * address widget such as https://github.com/googlei18n/libaddressinput) - + * Users should not be presented with UI elements for input or editing of + * fields outside countries where that field is used. For more guidance on + * how to use this schema, please see: + * https://support.google.com/business/answer/6397478 + */ + interface Schema$PostalAddress { + /** + * Unstructured address lines describing the lower levels of an address. + * Because values in address_lines do not have type information and may + * sometimes contain multiple values in a single field (e.g. "Austin, + * TX"), it is important that the line order is clear. The order of + * address lines should be "envelope order" for the country/region + * of the address. In places where this can vary (e.g. Japan), + * address_language is used to make it explicit (e.g. "ja" for + * large-to-small ordering and "ja-Latn" or "en" for + * small-to-large). This way, the most specific line of an address can be + * selected based on the language. The minimum permitted structural + * representation of an address consists of a region_code with all remaining + * information placed in the address_lines. It would be possible to format + * such an address very approximately without geocoding, but no semantic + * reasoning could be made about any of the address components until it was + * at least partially resolved. Creating an address only containing a + * region_code and address_lines, and then geocoding is the recommended way + * to handle completely unstructured addresses (as opposed to guessing which + * parts of the address should be localities or administrative areas). + */ + addressLines?: string[]; + /** + * Optional. Highest administrative subdivision which is used for postal + * addresses of a country or region. For example, this can be a state, a + * province, an oblast, or a prefecture. Specifically, for Spain this is the + * province and not the autonomous community (e.g. "Barcelona" and + * not "Catalonia"). Many countries don't use an + * administrative area in postal addresses. E.g. in Switzerland this should + * be left unpopulated. + */ + administrativeArea?: string; + /** + * Optional. BCP-47 language code of the contents of this address (if + * known). This is often the UI language of the input form or is expected to + * match one of the languages used in the address' country/region, or + * their transliterated equivalents. This can affect formatting in certain + * countries, but is not critical to the correctness of the data and will + * never affect any validation or other non-formatting related operations. + * If this value is not known, it should be omitted (rather than specifying + * a possibly incorrect default). Examples: "zh-Hant", + * "ja", "ja-Latn", "en". + */ + languageCode?: string; + /** + * Optional. Generally refers to the city/town portion of the address. + * Examples: US city, IT comune, UK post town. In regions of the world where + * localities are not well defined or do not fit into this structure well, + * leave locality empty and use address_lines. + */ + locality?: string; + /** + * Optional. The name of the organization at the address. + */ + organization?: string; + /** + * Optional. Postal code of the address. Not all countries use or require + * postal codes to be present, but where they are used, they may trigger + * additional validation with other parts of the address (e.g. state/zip + * validation in the U.S.A.). + */ + postalCode?: string; + /** + * Optional. The recipient at the address. This field may, under certain + * circumstances, contain multiline information. For example, it might + * contain "care of" information. + */ + recipients?: string[]; + /** + * Required. CLDR region code of the country/region of the address. This is + * never inferred and it is up to the user to ensure the value is correct. + * See http://cldr.unicode.org/ and + * http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html + * for details. Example: "CH" for Switzerland. + */ + regionCode?: string; + /** + * The schema revision of the `PostalAddress`. This must be set to 0, which + * is the latest revision. All new revisions **must** be backward + * compatible with old revisions. + */ + revision?: number; + /** + * Optional. Additional, country-specific, sorting code. This is not used in + * most regions. Where it is used, the value is either a string like + * "CEDEX", optionally followed by a number (e.g. "CEDEX + * 7"), or just a number alone, representing the "sector + * code" (Jamaica), "delivery area indicator" (Malawi) or + * "post office indicator" (e.g. Côte d'Ivoire). + */ + sortingCode?: string; + /** + * Optional. Sublocality of the address. For example, this can be + * neighborhoods, boroughs, districts. + */ + sublocality?: string; + } + /** + * Input only. Options for job processing. + */ + interface Schema$ProcessingOptions { + /** + * Optional. If set to `true`, the service does not attempt to resolve a + * more precise address for the job. + */ + disableStreetAddressResolution?: boolean; + /** + * Optional. Option for job HTML content sanitization. Applied fields are: + * * description * applicationInfo.instruction * incentives * qualifications + * * responsibilities HTML tags in these fields may be stripped if + * sanitiazation is not disabled. Defaults to + * HtmlSanitization.SIMPLE_FORMATTING_ONLY. + */ + htmlSanitization?: string; + } + /** + * Input only. Meta information related to the job searcher or entity + * conducting the job search. This information is used to improve the + * performance of the service. + */ + interface Schema$RequestMetadata { + /** + * Optional. The type of device used by the job seeker at the time of the + * call to the service. + */ + deviceInfo?: Schema$DeviceInfo; + /** + * Required. The client-defined scope or source of the service call, which + * typically is the domain on which the service has been implemented and is + * currently being run. For example, if the service is being run by client + * <em>Foo, Inc.</em>, on job board www.foo.com and career site + * www.bar.com, then this field is set to "foo.com" for use on the + * job board, and "bar.com" for use on the career site. If this + * field isn't available for some reason, send "UNKNOWN". Any + * improvements to the model for a particular tenant site rely on this field + * being set correctly to a domain. The maximum number of allowed + * characters is 255. + */ + domain?: string; + /** + * Required. A unique session identification string. A session is defined + * as the duration of an end user's interaction with the service over a + * certain period. Obfuscate this field for privacy concerns before + * providing it to the service. If this field is not available for some + * reason, send "UNKNOWN". Note that any improvements to the model + * for a particular tenant site, rely on this field being set correctly to + * some unique session_id. The maximum number of allowed characters is 255. + */ + sessionId?: string; + /** + * Required. A unique user identification string, as determined by the + * client. To have the strongest positive impact on search quality make sure + * the client-level is unique. Obfuscate this field for privacy concerns + * before providing it to the service. If this field is not available for + * some reason, send "UNKNOWN". Note that any improvements to the + * model for a particular tenant site, rely on this field being set + * correctly to a unique user_id. The maximum number of allowed characters + * is 255. + */ + userId?: string; + } + /** + * Output only. Additional information returned to client, such as debugging + * information. + */ + interface Schema$ResponseMetadata { + /** + * A unique id associated with this call. This id is logged for tracking + * purposes. + */ + requestId?: string; + } + /** + * Input only. The Request body of the `SearchJobs` call. + */ + interface Schema$SearchJobsRequest { + /** + * Optional. Controls over how job documents get ranked on top of existing + * relevance score (determined by API algorithm). + */ + customRankingInfo?: Schema$CustomRankingInfo; + /** + * Optional. Controls whether to disable exact keyword match on + * Job.job_title, Job.description, Job.company_display_name, Job.locations, + * Job.qualifications. When disable keyword match is turned off, a keyword + * match returns jobs that do not match given category filters when there + * are matching keywords. For example, the query "program + * manager," a result is returned even if the job posting has the title + * "software developer," which does not fall into "program + * manager" ontology, but does have "program manager" + * appearing in its description. For queries like "cloud" that + * does not contain title or location specific ontology, jobs with + * "cloud" keyword matches are returned regardless of this + * flag's value. Please use Company.keyword_searchable_custom_fields or + * Company.keyword_searchable_custom_attributes if company specific globally + * matched custom field/attribute string values is needed. Enabling keyword + * match improves recall of subsequent search requests. Defaults to false. + */ + disableKeywordMatch?: boolean; + /** + * Optional. Controls whether to broaden the search when it produces sparse + * results. Broadened queries append results to the end of the matching + * results list. Defaults to false. + */ + enableBroadening?: boolean; + /** + * Optional. Histogram requests for jobs matching JobQuery. + */ + histogramFacets?: Schema$HistogramFacets; + /** + * Optional. Expression based histogram requests for jobs matching + * JobQuery. + */ + histogramQueries?: Schema$HistogramQuery[]; + /** + * Optional. Query used to search against jobs, such as keyword, location + * filters, etc. + */ + jobQuery?: Schema$JobQuery; + /** + * Optional. The desired job attributes returned for jobs in the search + * response. Defaults to JobView.SMALL if no value is specified. + */ + jobView?: string; + /** + * Optional. An integer that specifies the current offset (that is, + * starting result location, amongst the jobs deemed by the API as relevant) + * in search results. This field is only considered if page_token is unset. + * For example, 0 means to return results starting from the first matching + * job, and 10 means to return from the 11th job. This can be used for + * pagination, (for example, pageSize = 10 and offset = 10 means to return + * from the second page). + */ + offset?: number; + /** + * Optional. The criteria determining how search results are sorted. + * Default is "relevance desc". Supported options are: * + * "relevance desc": By relevance descending, as determined by the + * API algorithms. Relevance thresholding of query results is only available + * with this ordering. * "posting_publish_time desc": By + * Job.posting_publish_time descending. * "posting_update_time + * desc": By Job.posting_update_time descending. * "title": + * By Job.title ascending. * "title desc": By Job.title + * descending. * "annualized_base_compensation": By job's + * CompensationInfo.annualized_base_compensation_range ascending. Jobs whose + * annualized base compensation is unspecified are put at the end of search + * results. * "annualized_base_compensation desc": By job's + * CompensationInfo.annualized_base_compensation_range descending. Jobs + * whose annualized base compensation is unspecified are put at the end of + * search results. * "annualized_total_compensation": By job's + * CompensationInfo.annualized_total_compensation_range ascending. Jobs + * whose annualized base compensation is unspecified are put at the end of + * search results. * "annualized_total_compensation desc": By + * job's CompensationInfo.annualized_total_compensation_range + * descending. Jobs whose annualized base compensation is unspecified are + * put at the end of search results. * "custom_ranking desc": By + * the relevance score adjusted to the + * SearchJobsRequest.custom_ranking_info.ranking_expression with weight + * factor assigned by SearchJobsRequest.custom_ranking_info.importance_level + * in descending order. + */ + orderBy?: string; + /** + * Optional. A limit on the number of jobs returned in the search results. + * Increasing this value above the default value of 10 can increase search + * response time. The value can be between 1 and 100. + */ + pageSize?: number; + /** + * Optional. The token specifying the current offset within search results. + * See SearchJobsResponse.next_page_token for an explanation of how to + * obtain the next set of query results. + */ + pageToken?: string; + /** + * Required. The meta information collected about the job searcher, used to + * improve the search quality of the service.. The identifiers, (such as + * `user_id`) are provided by users, and must be unique and consistent. + */ + requestMetadata?: Schema$RequestMetadata; + /** + * Optional. Controls if the search job request requires the return of a + * precise count of the first 300 results. Setting this to `true` ensures + * consistency in the number of results per page. Best practice is to set + * this value to true if a client allows users to jump directly to a + * non-sequential search results page. Enabling this flag may adversely + * impact performance. Defaults to false. + */ + requirePreciseResultSize?: boolean; + /** + * Optional. Mode of a search. Defaults to SearchMode.JOB_SEARCH. + */ + searchMode?: string; + } + /** + * Output only. Response for SearchJob method. + */ + interface Schema$SearchJobsResponse { + /** + * If query broadening is enabled, we may append additional results from the + * broadened query. This number indicates how many of the jobs returned in + * the jobs field are from the broadened query. These results are always at + * the end of the jobs list. In particular, a value of 0, or if the field + * isn't set, all the jobs in the jobs list are from the original + * (without broadening) query. If this field is non-zero, subsequent + * requests with offset after this result set should contain all broadened + * results. + */ + broadenedQueryJobsCount?: number; + /** + * An estimation of the number of jobs that match the specified query. This + * number is not guaranteed to be accurate. For accurate results, see + * enable_precise_result_size. + */ + estimatedTotalSize?: number; + /** + * The histogram results that match with specified + * SearchJobsRequest.histogram_queries. + */ + histogramQueryResults?: Schema$HistogramQueryResult[]; + /** + * The histogram results that match specified + * SearchJobsRequest.histogram_facets. + */ + histogramResults?: Schema$HistogramResults; + /** + * The location filters that the service applied to the specified query. If + * any filters are lat-lng based, the JobLocation.location_type is + * JobLocation.LocationType#LOCATION_TYPE_UNSPECIFIED. + */ + locationFilters?: Schema$Location[]; + /** + * The Job entities that match the specified SearchJobsRequest. + */ + matchingJobs?: Schema$MatchingJob[]; + /** + * Additional information for the API invocation, such as the request + * tracking id. + */ + metadata?: Schema$ResponseMetadata; + /** + * The token that specifies the starting position of the next page of + * results. This field is empty if there are no more results. + */ + nextPageToken?: string; + /** + * The spell checking result, and correction. + */ + spellCorrection?: Schema$SpellingCorrection; + /** + * The precise result count, which is available only if the client set + * enable_precise_result_size to `true` or if the response is the last page + * of results. Otherwise, the value will be `-1`. + */ + totalSize?: number; + } + /** + * Output only. Spell check result. + */ + interface Schema$SpellingCorrection { + /** + * Indicates if the query was corrected by the spell checker. + */ + corrected?: boolean; + /** + * Correction output consisting of the corrected keyword string. + */ + correctedText?: string; + } + /** + * Represents a time of day. The date and time zone are either not significant + * or are specified elsewhere. An API may choose to allow leap seconds. + * Related types are google.type.Date and `google.protobuf.Timestamp`. + */ + interface Schema$TimeOfDay { + /** + * Hours of day in 24 hour format. Should be from 0 to 23. An API may choose + * to allow the value "24:00:00" for scenarios like business + * closing time. + */ + hours?: number; + /** + * Minutes of hour of day. Must be from 0 to 59. + */ + minutes?: number; + /** + * Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + */ + nanos?: number; + /** + * Seconds of minutes of the time. Must normally be from 0 to 59. An API may + * allow the value 60 if it allows leap-seconds. + */ + seconds?: number; + } + /** + * Message representing a period of time between two timestamps. + */ + interface Schema$TimestampRange { + /** + * End of the period. + */ + endTime?: string; + /** + * Begin of the period. + */ + startTime?: string; + } + /** + * Input only. Request for updating a specified company. + */ + interface Schema$UpdateCompanyRequest { + /** + * Required. The company resource to replace the current resource in the + * system. + */ + company?: Schema$Company; + /** + * Optional but strongly recommended for the best service experience. If + * update_mask is provided, only the specified fields in company are + * updated. Otherwise all the fields are updated. A field mask to specify + * the company fields to be updated. Only top level fields of Company are + * supported. + */ + updateMask?: string; + } + /** + * Input only. Update job request. + */ + interface Schema$UpdateJobRequest { + /** + * Required. The Job to be updated. + */ + job?: Schema$Job; + /** + * Optional but strongly recommended to be provided for the best service + * experience. If update_mask is provided, only the specified fields in job + * are updated. Otherwise all the fields are updated. A field mask to + * restrict the fields that are updated. Only top level fields of Job are + * supported. + */ + updateMask?: string; + } + class Resource$Projects { + root: Jobs; + clientEvents: Resource$Projects$Clientevents; + companies: Resource$Projects$Companies; + jobs: Resource$Projects$Jobs; + constructor(root: Jobs); + getRoot(): Jobs; + /** + * jobs.projects.complete + * @desc Completes the specified prefix with keyword suggestions. Intended + * for use by a job search auto-complete search box. + * @alias jobs.projects.complete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.companyName Optional. If provided, restricts completion to specified company. The format is "projects/{project_id}/companies/{company_id}", for example, "projects/api-test-project/companies/foo". + * @param {string=} params.languageCode Required. The language of the query. This is the BCP-47 language code, such as "en-US" or "sr-Latn". For more information, see [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47). For CompletionType.JOB_TITLE type, only open jobs with same language_code are returned. For CompletionType.COMPANY_NAME type, only companies having open jobs with same language_code are returned. For CompletionType.COMBINED type, only open jobs with same language_code or companies having open jobs with same language_code are returned. The maximum number of allowed characters is 255. + * @param {string} params.name Required. Resource name of project the completion is performed within. The format is "projects/{project_id}", for example, "projects/api-test-project". + * @param {integer=} params.pageSize Required. Completion result count. The maximum allowed page size is 10. + * @param {string=} params.query Required. The query used to generate suggestions. The maximum number of allowed characters is 255. + * @param {string=} params.scope Optional. The scope of the completion. The defaults is CompletionScope.PUBLIC. + * @param {string=} params.type Optional. The completion topic. The default is CompletionType.COMBINED. + * @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 + */ + complete(params?: Params$Resource$Projects$Complete, options?: MethodOptions): AxiosPromise; + complete(params: Params$Resource$Projects$Complete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + complete(params: Params$Resource$Projects$Complete, callback: BodyResponseCallback): void; + complete(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Complete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. If provided, restricts completion to specified company. The + * format is "projects/{project_id}/companies/{company_id}", for example, + * "projects/api-test-project/companies/foo". + */ + companyName?: string; + /** + * Required. The language of the query. This is the BCP-47 language code, + * such as "en-US" or "sr-Latn". For more information, see [Tags for + * Identifying Languages](https://tools.ietf.org/html/bcp47). For + * CompletionType.JOB_TITLE type, only open jobs with same language_code are + * returned. For CompletionType.COMPANY_NAME type, only companies having + * open jobs with same language_code are returned. For + * CompletionType.COMBINED type, only open jobs with same language_code or + * companies having open jobs with same language_code are returned. The + * maximum number of allowed characters is 255. + */ + languageCode?: string; + /** + * Required. Resource name of project the completion is performed within. + * The format is "projects/{project_id}", for example, + * "projects/api-test-project". + */ + name?: string; + /** + * Required. Completion result count. The maximum allowed page size is 10. + */ + pageSize?: number; + /** + * Required. The query used to generate suggestions. The maximum number of + * allowed characters is 255. + */ + query?: string; + /** + * Optional. The scope of the completion. The defaults is + * CompletionScope.PUBLIC. + */ + scope?: string; + /** + * Optional. The completion topic. The default is CompletionType.COMBINED. + */ + type?: string; + } + class Resource$Projects$Clientevents { + root: Jobs; + constructor(root: Jobs); + getRoot(): Jobs; + /** + * jobs.projects.clientEvents.create + * @desc Report events issued when end user interacts with customer's + * application that uses Cloud Talent Solution. You may inspect the created + * events in [self service + * tools](https://console.cloud.google.com/talent-solution/overview). [Learn + * more](https://cloud.google.com/talent-solution/job-search/docs/management-tools) + * about self service tools. + * @alias jobs.projects.clientEvents.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Parent project name. + * @param {().CreateClientEventRequest} 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 + */ + create(params?: Params$Resource$Projects$Clientevents$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Clientevents$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Clientevents$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Clientevents$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Parent project name. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreateClientEventRequest; + } + class Resource$Projects$Companies { + root: Jobs; + constructor(root: Jobs); + getRoot(): Jobs; + /** + * jobs.projects.companies.create + * @desc Creates a new company entity. + * @alias jobs.projects.companies.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. Resource name of the project under which the company is created. The format is "projects/{project_id}", for example, "projects/api-test-project". + * @param {().CreateCompanyRequest} 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 + */ + create(params?: Params$Resource$Projects$Companies$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Companies$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Companies$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * jobs.projects.companies.delete + * @desc Deletes specified company. + * @alias jobs.projects.companies.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The resource name of the company to be deleted. The format is "projects/{project_id}/companies/{company_id}", for example, "projects/api-test-project/companies/foo". + * @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?: Params$Resource$Projects$Companies$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Companies$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Companies$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * jobs.projects.companies.get + * @desc Retrieves specified company. + * @alias jobs.projects.companies.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The resource name of the company to be retrieved. The format is "projects/{project_id}/companies/{company_id}", for example, "projects/api-test-project/companies/foo". + * @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?: Params$Resource$Projects$Companies$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Companies$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Companies$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * jobs.projects.companies.list + * @desc Lists all companies associated with the service account. + * @alias jobs.projects.companies.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Optional. The maximum number of companies to be returned, at most 100. Default is 100 if a non-positive number is provided. + * @param {string=} params.pageToken Optional. The starting indicator from which to return results. + * @param {string} params.parent Required. Resource name of the project under which the company is created. The format is "projects/{project_id}", for example, "projects/api-test-project". + * @param {boolean=} params.requireOpenJobs Optional. Set to true if the companies requested must have open jobs. Defaults to false. If true, at most page_size of companies are fetched, among which only those with open jobs are returned. + * @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?: Params$Resource$Projects$Companies$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Companies$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Companies$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * jobs.projects.companies.patch + * @desc Updates specified company. Company names can't be updated. To + * update a company name, delete the company and all jobs associated with + * it, and only then re-create them. + * @alias jobs.projects.companies.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required during company update. The resource name for a company. This is generated by the service when a company is created. The format is "projects/{project_id}/companies/{company_id}", for example, "projects/api-test-project/companies/foo". + * @param {().UpdateCompanyRequest} 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 + */ + patch(params?: Params$Resource$Projects$Companies$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Companies$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Companies$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Companies$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. Resource name of the project under which the company is + * created. The format is "projects/{project_id}", for example, + * "projects/api-test-project". + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreateCompanyRequest; + } + interface Params$Resource$Projects$Companies$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of the company to be deleted. The format is + * "projects/{project_id}/companies/{company_id}", for example, + * "projects/api-test-project/companies/foo". + */ + name?: string; + } + interface Params$Resource$Projects$Companies$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of the company to be retrieved. The format + * is "projects/{project_id}/companies/{company_id}", for example, + * "projects/api-test-project/companies/foo". + */ + name?: string; + } + interface Params$Resource$Projects$Companies$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The maximum number of companies to be returned, at most 100. + * Default is 100 if a non-positive number is provided. + */ + pageSize?: number; + /** + * Optional. The starting indicator from which to return results. + */ + pageToken?: string; + /** + * Required. Resource name of the project under which the company is + * created. The format is "projects/{project_id}", for example, + * "projects/api-test-project". + */ + parent?: string; + /** + * Optional. Set to true if the companies requested must have open jobs. + * Defaults to false. If true, at most page_size of companies are fetched, + * among which only those with open jobs are returned. + */ + requireOpenJobs?: boolean; + } + interface Params$Resource$Projects$Companies$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required during company update. The resource name for a company. This is + * generated by the service when a company is created. The format is + * "projects/{project_id}/companies/{company_id}", for example, + * "projects/api-test-project/companies/foo". + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UpdateCompanyRequest; + } + class Resource$Projects$Jobs { + root: Jobs; + constructor(root: Jobs); + getRoot(): Jobs; + /** + * jobs.projects.jobs.batchDelete + * @desc Deletes a list of Jobs by filter. + * @alias jobs.projects.jobs.batchDelete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The resource name of the project under which the job is created. The format is "projects/{project_id}", for example, "projects/api-test-project". + * @param {().BatchDeleteJobsRequest} 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 + */ + batchDelete(params?: Params$Resource$Projects$Jobs$Batchdelete, options?: MethodOptions): AxiosPromise; + batchDelete(params: Params$Resource$Projects$Jobs$Batchdelete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + batchDelete(params: Params$Resource$Projects$Jobs$Batchdelete, callback: BodyResponseCallback): void; + batchDelete(callback: BodyResponseCallback): void; + /** + * jobs.projects.jobs.create + * @desc Creates a new job. Typically, the job becomes searchable within 10 + * seconds, but it may take up to 5 minutes. + * @alias jobs.projects.jobs.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The resource name of the project under which the job is created. The format is "projects/{project_id}", for example, "projects/api-test-project". + * @param {().CreateJobRequest} 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 + */ + create(params?: Params$Resource$Projects$Jobs$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Jobs$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Jobs$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * jobs.projects.jobs.delete + * @desc Deletes the specified job. Typically, the job becomes unsearchable + * within 10 seconds, but it may take up to 5 minutes. + * @alias jobs.projects.jobs.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The resource name of the job to be deleted. The format is "projects/{project_id}/jobs/{job_id}", for example, "projects/api-test-project/jobs/1234". + * @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?: Params$Resource$Projects$Jobs$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Jobs$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Jobs$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * jobs.projects.jobs.get + * @desc Retrieves the specified job, whose status is OPEN or recently + * EXPIRED within the last 90 days. + * @alias jobs.projects.jobs.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The resource name of the job to retrieve. The format is "projects/{project_id}/jobs/{job_id}", for example, "projects/api-test-project/jobs/1234". + * @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?: Params$Resource$Projects$Jobs$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Jobs$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Jobs$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * jobs.projects.jobs.list + * @desc Lists jobs by filter. + * @alias jobs.projects.jobs.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter Required. The filter string specifies the jobs to be enumerated. Supported operator: =, AND The fields eligible for filtering are: * `companyName` (Required) * `requisitionId` (Optional) Sample Query: * companyName = "projects/api-test-project/companies/123" * companyName = "projects/api-test-project/companies/123" AND requisitionId = "req-1" + * @param {string=} params.jobView Optional. The desired job attributes returned for jobs in the search response. Defaults to JobView.JOB_VIEW_FULL if no value is specified. + * @param {integer=} params.pageSize Optional. The maximum number of jobs to be returned per page of results. If job_view is set to JobView.JOB_VIEW_ID_ONLY, the maximum allowed page size is 1000. Otherwise, the maximum allowed page size is 100. Default is 100 if empty or a number < 1 is specified. + * @param {string=} params.pageToken Optional. The starting point of a query result. + * @param {string} params.parent Required. The resource name of the project under which the job is created. The format is "projects/{project_id}", for example, "projects/api-test-project". + * @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?: Params$Resource$Projects$Jobs$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Jobs$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Jobs$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * jobs.projects.jobs.patch + * @desc Updates specified job. Typically, updated contents become visible + * in search results within 10 seconds, but it may take up to 5 minutes. + * @alias jobs.projects.jobs.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required during job update. The resource name for the job. This is generated by the service when a job is created. The format is "projects/{project_id}/jobs/{job_id}", for example, "projects/api-test-project/jobs/1234". Use of this field in job queries and API calls is preferred over the use of requisition_id since this value is unique. + * @param {().UpdateJobRequest} 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 + */ + patch(params?: Params$Resource$Projects$Jobs$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Jobs$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Jobs$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * jobs.projects.jobs.search + * @desc Searches for jobs using the provided SearchJobsRequest. This call + * constrains the visibility of jobs present in the database, and only + * returns jobs that the caller has permission to search against. + * @alias jobs.projects.jobs.search + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The resource name of the project to search within. The format is "projects/{project_id}", for example, "projects/api-test-project". + * @param {().SearchJobsRequest} 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 + */ + search(params?: Params$Resource$Projects$Jobs$Search, options?: MethodOptions): AxiosPromise; + search(params: Params$Resource$Projects$Jobs$Search, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + search(params: Params$Resource$Projects$Jobs$Search, callback: BodyResponseCallback): void; + search(callback: BodyResponseCallback): void; + /** + * jobs.projects.jobs.searchForAlert + * @desc Searches for jobs using the provided SearchJobsRequest. This API + * call is intended for the use case of targeting passive job seekers (for + * example, job seekers who have signed up to receive email alerts about + * potential job opportunities), and has different algorithmic adjustments + * that are targeted to passive job seekers. This call constrains the + * visibility of jobs present in the database, and only returns jobs the + * caller has permission to search against. + * @alias jobs.projects.jobs.searchForAlert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The resource name of the project to search within. The format is "projects/{project_id}", for example, "projects/api-test-project". + * @param {().SearchJobsRequest} 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 + */ + searchForAlert(params?: Params$Resource$Projects$Jobs$Searchforalert, options?: MethodOptions): AxiosPromise; + searchForAlert(params: Params$Resource$Projects$Jobs$Searchforalert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + searchForAlert(params: Params$Resource$Projects$Jobs$Searchforalert, callback: BodyResponseCallback): void; + searchForAlert(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Jobs$Batchdelete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of the project under which the job is + * created. The format is "projects/{project_id}", for example, + * "projects/api-test-project". + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BatchDeleteJobsRequest; + } + interface Params$Resource$Projects$Jobs$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of the project under which the job is + * created. The format is "projects/{project_id}", for example, + * "projects/api-test-project". + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreateJobRequest; + } + interface Params$Resource$Projects$Jobs$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of the job to be deleted. The format is + * "projects/{project_id}/jobs/{job_id}", for example, + * "projects/api-test-project/jobs/1234". + */ + name?: string; + } + interface Params$Resource$Projects$Jobs$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of the job to retrieve. The format is + * "projects/{project_id}/jobs/{job_id}", for example, + * "projects/api-test-project/jobs/1234". + */ + name?: string; + } + interface Params$Resource$Projects$Jobs$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The filter string specifies the jobs to be enumerated. + * Supported operator: =, AND The fields eligible for filtering are: * + * `companyName` (Required) * `requisitionId` (Optional) Sample Query: * + * companyName = "projects/api-test-project/companies/123" * companyName = + * "projects/api-test-project/companies/123" AND requisitionId = "req-1" + */ + filter?: string; + /** + * Optional. The desired job attributes returned for jobs in the search + * response. Defaults to JobView.JOB_VIEW_FULL if no value is specified. + */ + jobView?: string; + /** + * Optional. The maximum number of jobs to be returned per page of results. + * If job_view is set to JobView.JOB_VIEW_ID_ONLY, the maximum allowed page + * size is 1000. Otherwise, the maximum allowed page size is 100. Default + * is 100 if empty or a number < 1 is specified. + */ + pageSize?: number; + /** + * Optional. The starting point of a query result. + */ + pageToken?: string; + /** + * Required. The resource name of the project under which the job is + * created. The format is "projects/{project_id}", for example, + * "projects/api-test-project". + */ + parent?: string; + } + interface Params$Resource$Projects$Jobs$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required during job update. The resource name for the job. This is + * generated by the service when a job is created. The format is + * "projects/{project_id}/jobs/{job_id}", for example, + * "projects/api-test-project/jobs/1234". Use of this field in job queries + * and API calls is preferred over the use of requisition_id since this + * value is unique. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UpdateJobRequest; + } + interface Params$Resource$Projects$Jobs$Search { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of the project to search within. The format + * is "projects/{project_id}", for example, "projects/api-test-project". + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SearchJobsRequest; + } + interface Params$Resource$Projects$Jobs$Searchforalert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of the project to search within. The format + * is "projects/{project_id}", for example, "projects/api-test-project". + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SearchJobsRequest; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/jobs/v3p1beta1.js b/express-server/node_modules/googleapis/build/src/apis/jobs/v3p1beta1.js new file mode 100644 index 00000000..d864c5a0 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/jobs/v3p1beta1.js @@ -0,0 +1,564 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var jobs_v3p1beta1; +(function (jobs_v3p1beta1) { + /** + * Cloud Talent Solution API + * + * Cloud Talent Solution provides the capability to create, read, update, and + * delete job postings, as well as search jobs based on keywords and filters. + * + * @example + * const {google} = require('googleapis'); + * const jobs = google.jobs('v3p1beta1'); + * + * @namespace jobs + * @type {Function} + * @version v3p1beta1 + * @variation v3p1beta1 + * @param {object=} options Options for Jobs + */ + class Jobs { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.projects = new Resource$Projects(this); + } + getRoot() { + return this.root; + } + } + jobs_v3p1beta1.Jobs = Jobs; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.clientEvents = new Resource$Projects$Clientevents(root); + this.companies = new Resource$Projects$Companies(root); + this.jobs = new Resource$Projects$Jobs(root); + } + getRoot() { + return this.root; + } + complete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://jobs.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3p1beta1/{+name}:complete') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + jobs_v3p1beta1.Resource$Projects = Resource$Projects; + class Resource$Projects$Clientevents { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://jobs.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3p1beta1/{+parent}/clientEvents') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + jobs_v3p1beta1.Resource$Projects$Clientevents = Resource$Projects$Clientevents; + class Resource$Projects$Companies { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://jobs.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3p1beta1/{+parent}/companies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://jobs.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3p1beta1/{+name}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://jobs.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3p1beta1/{+name}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://jobs.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3p1beta1/{+parent}/companies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://jobs.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3p1beta1/{+name}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + jobs_v3p1beta1.Resource$Projects$Companies = Resource$Projects$Companies; + class Resource$Projects$Jobs { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + batchDelete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://jobs.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3p1beta1/{+parent}/jobs:batchDelete') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://jobs.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3p1beta1/{+parent}/jobs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://jobs.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3p1beta1/{+name}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://jobs.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3p1beta1/{+name}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://jobs.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3p1beta1/{+parent}/jobs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://jobs.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3p1beta1/{+name}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + search(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://jobs.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3p1beta1/{+parent}/jobs:search') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + searchForAlert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://jobs.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3p1beta1/{+parent}/jobs:searchForAlert') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + jobs_v3p1beta1.Resource$Projects$Jobs = Resource$Projects$Jobs; +})(jobs_v3p1beta1 = exports.jobs_v3p1beta1 || (exports.jobs_v3p1beta1 = {})); +//# sourceMappingURL=v3p1beta1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/jobs/v3p1beta1.js.map b/express-server/node_modules/googleapis/build/src/apis/jobs/v3p1beta1.js.map new file mode 100644 index 00000000..2366ae38 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/jobs/v3p1beta1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v3p1beta1.js","sourceRoot":"","sources":["../../../../src/apis/jobs/v3p1beta1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/kgsearch/README.md b/express-server/node_modules/googleapis/build/src/apis/kgsearch/README.md new file mode 100644 index 00000000..b93180ec --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/kgsearch/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/kgsearch + +> Searches the Google Knowledge Graph for entities. + +## Installation + +```sh +$ npm install @google/kgsearch +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/kgsearch/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/kgsearch/index.d.ts new file mode 100644 index 00000000..f577482c --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/kgsearch/index.d.ts @@ -0,0 +1,6 @@ +import { kgsearch_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof kgsearch_v1.Kgsearch; +}; +export declare function kgsearch(version: 'v1'): kgsearch_v1.Kgsearch; +export declare function kgsearch(options: kgsearch_v1.Options): kgsearch_v1.Kgsearch; diff --git a/express-server/node_modules/googleapis/build/src/apis/kgsearch/index.js b/express-server/node_modules/googleapis/build/src/apis/kgsearch/index.js new file mode 100644 index 00000000..072e6a15 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/kgsearch/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.kgsearch_v1.Kgsearch, +}; +function kgsearch(versionOrOptions) { + return googleapis_common_1.getAPI('kgsearch', versionOrOptions, exports.VERSIONS, this); +} +exports.kgsearch = kgsearch; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/kgsearch/index.js.map b/express-server/node_modules/googleapis/build/src/apis/kgsearch/index.js.map new file mode 100644 index 00000000..46a1aecf --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/kgsearch/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/kgsearch/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAiC;AAEpB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,gBAAW,CAAC,QAAQ;CAC3B,CAAC;AAIF,SAAgB,QAAQ,CACM,gBAA0C;IACtE,OAAO,0BAAM,CAAI,UAAU,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACjE,CAAC;AAHD,4BAGC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/kgsearch/package.json b/express-server/node_modules/googleapis/build/src/apis/kgsearch/package.json new file mode 100644 index 00000000..3f2065ba --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/kgsearch/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/kgsearch", + "version": "0.1.0", + "description": "kgsearch", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/kgsearch/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/kgsearch/v1.d.ts new file mode 100644 index 00000000..10d878c6 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/kgsearch/v1.d.ts @@ -0,0 +1,133 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace kgsearch_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Knowledge Graph Search API + * + * Searches the Google Knowledge Graph for entities. + * + * @example + * const {google} = require('googleapis'); + * const kgsearch = google.kgsearch('v1'); + * + * @namespace kgsearch + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Kgsearch + */ + class Kgsearch { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + entities: Resource$Entities; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Response message includes the context and a list of matching results which + * contain the detail of associated entities. + */ + interface Schema$SearchResponse { + /** + * The local context applicable for the response. See more details at + * http://www.w3.org/TR/json-ld/#context-definitions. + */ + '@context'?: any; + /** + * The schema type of top-level JSON-LD object, e.g. ItemList. + */ + '@type'?: any; + /** + * The item list of search results. + */ + itemListElement?: any[]; + } + class Resource$Entities { + root: Kgsearch; + constructor(root: Kgsearch); + getRoot(): Kgsearch; + /** + * kgsearch.entities.search + * @desc Searches Knowledge Graph for entities that match the constraints. A + * list of matched entities will be returned in response, which will be in + * JSON-LD format and compatible with http://schema.org + * @alias kgsearch.entities.search + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.ids The list of entity id to be used for search instead of query string. To specify multiple ids in the HTTP request, repeat the parameter in the URL as in ...?ids=A&ids=B + * @param {boolean=} params.indent Enables indenting of json results. + * @param {string=} params.languages The list of language codes (defined in ISO 693) to run the query with, e.g. 'en'. + * @param {integer=} params.limit Limits the number of entities to be returned. + * @param {boolean=} params.prefix Enables prefix match against names and aliases of entities + * @param {string=} params.query The literal query string for search. + * @param {string=} params.types Restricts returned entities with these types, e.g. Person (as defined in http://schema.org/Person). If multiple types are specified, returned entities will contain one or more of these types. + * @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 + */ + search(params?: Params$Resource$Entities$Search, options?: MethodOptions): AxiosPromise; + search(params: Params$Resource$Entities$Search, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + search(params: Params$Resource$Entities$Search, callback: BodyResponseCallback): void; + search(callback: BodyResponseCallback): void; + } + interface Params$Resource$Entities$Search { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The list of entity id to be used for search instead of query string. To + * specify multiple ids in the HTTP request, repeat the parameter in the URL + * as in ...?ids=A&ids=B + */ + ids?: string; + /** + * Enables indenting of json results. + */ + indent?: boolean; + /** + * The list of language codes (defined in ISO 693) to run the query with, + * e.g. 'en'. + */ + languages?: string; + /** + * Limits the number of entities to be returned. + */ + limit?: number; + /** + * Enables prefix match against names and aliases of entities + */ + prefix?: boolean; + /** + * The literal query string for search. + */ + query?: string; + /** + * Restricts returned entities with these types, e.g. Person (as defined in + * http://schema.org/Person). If multiple types are specified, returned + * entities will contain one or more of these types. + */ + types?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/kgsearch/v1.js b/express-server/node_modules/googleapis/build/src/apis/kgsearch/v1.js new file mode 100644 index 00000000..0a5023f2 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/kgsearch/v1.js @@ -0,0 +1,96 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var kgsearch_v1; +(function (kgsearch_v1) { + /** + * Knowledge Graph Search API + * + * Searches the Google Knowledge Graph for entities. + * + * @example + * const {google} = require('googleapis'); + * const kgsearch = google.kgsearch('v1'); + * + * @namespace kgsearch + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Kgsearch + */ + class Kgsearch { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.entities = new Resource$Entities(this); + } + getRoot() { + return this.root; + } + } + kgsearch_v1.Kgsearch = Kgsearch; + class Resource$Entities { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + search(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://kgsearch.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/entities:search') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + kgsearch_v1.Resource$Entities = Resource$Entities; +})(kgsearch_v1 = exports.kgsearch_v1 || (exports.kgsearch_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/kgsearch/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/kgsearch/v1.js.map new file mode 100644 index 00000000..102b06e6 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/kgsearch/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/kgsearch/v1.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAIH,yDAA2H;AAE3H,yBAAyB;AACzB,6BAA6B;AAC7B,gCAAgC;AAChC,+BAA+B;AAC/B,+BAA+B;AAE/B,IAAiB,WAAW,CA0L3B;AA1LD,WAAiB,WAAW;IAK1B;;;;;;;;;;;;;;OAcG;IACH,MAAa,QAAQ;QAOnB,YAAY,OAAsB,EAAE,MAA2B;YAJ/D,SAAI,GAAG,IAAI,CAAC;YAKV,IAAI,CAAC,QAAQ,GAAG,OAAO,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAExB,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;KACF;IAlBY,oBAAQ,WAkBpB,CAAA;IAuBD,MAAa,iBAAiB;QAE5B,YAAY,IAAc;YACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAiCD,MAAM,CACF,gBAC2C,EAC3C,iBAC2C,EAC3C,QAAsD;YAExD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAoC,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqC,CAAC;gBAC/C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,kCAAkC,CAAC;YACtE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,qBAAqB,CAAC;yBAC5B,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,EAAE;gBAClB,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAwB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC/D;iBAAM;gBACL,OAAO,oCAAgB,CAAwB,UAAU,CAAC,CAAC;aAC5D;QACH,CAAC;KACF;IAnFY,6BAAiB,oBAmF7B,CAAA;AA0CH,CAAC,EA1LgB,WAAW,GAAX,mBAAW,KAAX,mBAAW,QA0L3B"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/language/README.md b/express-server/node_modules/googleapis/build/src/apis/language/README.md new file mode 100644 index 00000000..120d8e25 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/language/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/language + +> Provides natural language understanding technologies to developers. Examples include sentiment analysis, entity recognition, entity sentiment analysis, and text annotations. + +## Installation + +```sh +$ npm install @google/language +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/language/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/language/index.d.ts new file mode 100644 index 00000000..fe40c724 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/language/index.d.ts @@ -0,0 +1,14 @@ +import { language_v1 } from './v1'; +import { language_v1beta1 } from './v1beta1'; +import { language_v1beta2 } from './v1beta2'; +export declare const VERSIONS: { + 'v1': typeof language_v1.Language; + 'v1beta1': typeof language_v1beta1.Language; + 'v1beta2': typeof language_v1beta2.Language; +}; +export declare function language(version: 'v1'): language_v1.Language; +export declare function language(options: language_v1.Options): language_v1.Language; +export declare function language(version: 'v1beta1'): language_v1beta1.Language; +export declare function language(options: language_v1beta1.Options): language_v1beta1.Language; +export declare function language(version: 'v1beta2'): language_v1beta2.Language; +export declare function language(options: language_v1beta2.Options): language_v1beta2.Language; diff --git a/express-server/node_modules/googleapis/build/src/apis/language/index.js b/express-server/node_modules/googleapis/build/src/apis/language/index.js new file mode 100644 index 00000000..951ec0ab --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/language/index.js @@ -0,0 +1,29 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +const v1beta1_1 = require("./v1beta1"); +const v1beta2_1 = require("./v1beta2"); +exports.VERSIONS = { + 'v1': v1_1.language_v1.Language, + 'v1beta1': v1beta1_1.language_v1beta1.Language, + 'v1beta2': v1beta2_1.language_v1beta2.Language, +}; +function language(versionOrOptions) { + return googleapis_common_1.getAPI('language', versionOrOptions, exports.VERSIONS, this); +} +exports.language = language; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/language/index.js.map b/express-server/node_modules/googleapis/build/src/apis/language/index.js.map new file mode 100644 index 00000000..86f29bea --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/language/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/language/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAiC;AACjC,uCAA2C;AAC3C,uCAA2C;AAE9B,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,gBAAW,CAAC,QAAQ;IAC1B,SAAS,EAAE,0BAAgB,CAAC,QAAQ;IACpC,SAAS,EAAE,0BAAgB,CAAC,QAAQ;CACrC,CAAC;AAUF,SAAgB,QAAQ,CAIpB,gBAC2D;IAC7D,OAAO,0BAAM,CAAI,UAAU,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACjE,CAAC;AAPD,4BAOC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/language/package.json b/express-server/node_modules/googleapis/build/src/apis/language/package.json new file mode 100644 index 00000000..142c80cd --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/language/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/language", + "version": "0.1.0", + "description": "language", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/language/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/language/v1.d.ts new file mode 100644 index 00000000..afa082bb --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/language/v1.d.ts @@ -0,0 +1,737 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace language_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Cloud Natural Language API + * + * Provides natural language understanding technologies to developers. + * Examples include sentiment analysis, entity recognition, entity sentiment + * analysis, and text annotations. + * + * @example + * const {google} = require('googleapis'); + * const language = google.language('v1'); + * + * @namespace language + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Language + */ + class Language { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + documents: Resource$Documents; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * The entity analysis request message. + */ + interface Schema$AnalyzeEntitiesRequest { + /** + * Input document. + */ + document?: Schema$Document; + /** + * The encoding type used by the API to calculate offsets. + */ + encodingType?: string; + } + /** + * The entity analysis response message. + */ + interface Schema$AnalyzeEntitiesResponse { + /** + * The recognized entities in the input document. + */ + entities?: Schema$Entity[]; + /** + * The language of the text, which will be the same as the language + * specified in the request or, if not specified, the automatically-detected + * language. See Document.language field for more details. + */ + language?: string; + } + /** + * The entity-level sentiment analysis request message. + */ + interface Schema$AnalyzeEntitySentimentRequest { + /** + * Input document. + */ + document?: Schema$Document; + /** + * The encoding type used by the API to calculate offsets. + */ + encodingType?: string; + } + /** + * The entity-level sentiment analysis response message. + */ + interface Schema$AnalyzeEntitySentimentResponse { + /** + * The recognized entities in the input document with associated sentiments. + */ + entities?: Schema$Entity[]; + /** + * The language of the text, which will be the same as the language + * specified in the request or, if not specified, the automatically-detected + * language. See Document.language field for more details. + */ + language?: string; + } + /** + * The sentiment analysis request message. + */ + interface Schema$AnalyzeSentimentRequest { + /** + * Input document. + */ + document?: Schema$Document; + /** + * The encoding type used by the API to calculate sentence offsets. + */ + encodingType?: string; + } + /** + * The sentiment analysis response message. + */ + interface Schema$AnalyzeSentimentResponse { + /** + * The overall sentiment of the input document. + */ + documentSentiment?: Schema$Sentiment; + /** + * The language of the text, which will be the same as the language + * specified in the request or, if not specified, the automatically-detected + * language. See Document.language field for more details. + */ + language?: string; + /** + * The sentiment for all the sentences in the document. + */ + sentences?: Schema$Sentence[]; + } + /** + * The syntax analysis request message. + */ + interface Schema$AnalyzeSyntaxRequest { + /** + * Input document. + */ + document?: Schema$Document; + /** + * The encoding type used by the API to calculate offsets. + */ + encodingType?: string; + } + /** + * The syntax analysis response message. + */ + interface Schema$AnalyzeSyntaxResponse { + /** + * The language of the text, which will be the same as the language + * specified in the request or, if not specified, the automatically-detected + * language. See Document.language field for more details. + */ + language?: string; + /** + * Sentences in the input document. + */ + sentences?: Schema$Sentence[]; + /** + * Tokens, along with their syntactic information, in the input document. + */ + tokens?: Schema$Token[]; + } + /** + * The request message for the text annotation API, which can perform multiple + * analysis types (sentiment, entities, and syntax) in one call. + */ + interface Schema$AnnotateTextRequest { + /** + * Input document. + */ + document?: Schema$Document; + /** + * The encoding type used by the API to calculate offsets. + */ + encodingType?: string; + /** + * The enabled features. + */ + features?: Schema$Features; + } + /** + * The text annotations response message. + */ + interface Schema$AnnotateTextResponse { + /** + * Categories identified in the input document. + */ + categories?: Schema$ClassificationCategory[]; + /** + * The overall sentiment for the document. Populated if the user enables + * AnnotateTextRequest.Features.extract_document_sentiment. + */ + documentSentiment?: Schema$Sentiment; + /** + * Entities, along with their semantic information, in the input document. + * Populated if the user enables + * AnnotateTextRequest.Features.extract_entities. + */ + entities?: Schema$Entity[]; + /** + * The language of the text, which will be the same as the language + * specified in the request or, if not specified, the automatically-detected + * language. See Document.language field for more details. + */ + language?: string; + /** + * Sentences in the input document. Populated if the user enables + * AnnotateTextRequest.Features.extract_syntax. + */ + sentences?: Schema$Sentence[]; + /** + * Tokens, along with their syntactic information, in the input document. + * Populated if the user enables + * AnnotateTextRequest.Features.extract_syntax. + */ + tokens?: Schema$Token[]; + } + /** + * Represents a category returned from the text classifier. + */ + interface Schema$ClassificationCategory { + /** + * The classifier's confidence of the category. Number represents how + * certain the classifier is that this category represents the given text. + */ + confidence?: number; + /** + * The name of the category representing the document, from the [predefined + * taxonomy](/natural-language/docs/categories). + */ + name?: string; + } + /** + * The document classification request message. + */ + interface Schema$ClassifyTextRequest { + /** + * Input document. + */ + document?: Schema$Document; + } + /** + * The document classification response message. + */ + interface Schema$ClassifyTextResponse { + /** + * Categories representing the input document. + */ + categories?: Schema$ClassificationCategory[]; + } + /** + * Represents dependency parse tree information for a token. (For more + * information on dependency labels, see + * http://www.aclweb.org/anthology/P13-2017 + */ + interface Schema$DependencyEdge { + /** + * Represents the head of this token in the dependency tree. This is the + * index of the token which has an arc going to this token. The index is the + * position of the token in the array of tokens returned by the API method. + * If this token is a root token, then the `head_token_index` is its own + * index. + */ + headTokenIndex?: number; + /** + * The parse label for the token. + */ + label?: string; + } + /** + * ################################################################ # + * Represents the input to API methods. + */ + interface Schema$Document { + /** + * The content of the input in string format. Cloud audit logging exempt + * since it is based on user data. + */ + content?: string; + /** + * The Google Cloud Storage URI where the file content is located. This URI + * must be of the form: gs://bucket_name/object_name. For more details, see + * https://cloud.google.com/storage/docs/reference-uris. NOTE: Cloud Storage + * object versioning is not supported. + */ + gcsContentUri?: string; + /** + * The language of the document (if not specified, the language is + * automatically detected). Both ISO and BCP-47 language codes are + * accepted.<br> [Language Support](/natural-language/docs/languages) + * lists currently supported languages for each API method. If the language + * (either specified by the caller or automatically detected) is not + * supported by the called API method, an `INVALID_ARGUMENT` error is + * returned. + */ + language?: string; + /** + * Required. If the type is not set or is `TYPE_UNSPECIFIED`, returns an + * `INVALID_ARGUMENT` error. + */ + type?: string; + } + /** + * Represents a phrase in the text that is a known entity, such as a person, + * an organization, or location. The API associates information, such as + * salience and mentions, with entities. + */ + interface Schema$Entity { + /** + * The mentions of this entity in the input document. The API currently + * supports proper noun mentions. + */ + mentions?: Schema$EntityMention[]; + /** + * Metadata associated with the entity. Currently, Wikipedia URLs and + * Knowledge Graph MIDs are provided, if available. The associated keys are + * "wikipedia_url" and "mid", respectively. + */ + metadata?: any; + /** + * The representative name for the entity. + */ + name?: string; + /** + * The salience score associated with the entity in the [0, 1.0] range. The + * salience score for an entity provides information about the importance or + * centrality of that entity to the entire document text. Scores closer to 0 + * are less salient, while scores closer to 1.0 are highly salient. + */ + salience?: number; + /** + * For calls to AnalyzeEntitySentiment or if + * AnnotateTextRequest.Features.extract_entity_sentiment is set to true, + * this field will contain the aggregate sentiment expressed for this entity + * in the provided document. + */ + sentiment?: Schema$Sentiment; + /** + * The entity type. + */ + type?: string; + } + /** + * Represents a mention for an entity in the text. Currently, proper noun + * mentions are supported. + */ + interface Schema$EntityMention { + /** + * For calls to AnalyzeEntitySentiment or if + * AnnotateTextRequest.Features.extract_entity_sentiment is set to true, + * this field will contain the sentiment expressed for this mention of the + * entity in the provided document. + */ + sentiment?: Schema$Sentiment; + /** + * The mention text. + */ + text?: Schema$TextSpan; + /** + * The type of the entity mention. + */ + type?: string; + } + /** + * All available features for sentiment, syntax, and semantic analysis. + * Setting each one to true will enable that specific analysis for the input. + */ + interface Schema$Features { + /** + * Classify the full document into categories. + */ + classifyText?: boolean; + /** + * Extract document-level sentiment. + */ + extractDocumentSentiment?: boolean; + /** + * Extract entities. + */ + extractEntities?: boolean; + /** + * Extract entities and their associated sentiment. + */ + extractEntitySentiment?: boolean; + /** + * Extract syntax information. + */ + extractSyntax?: boolean; + } + /** + * Represents part of speech information for a token. Parts of speech are as + * defined in http://www.lrec-conf.org/proceedings/lrec2012/pdf/274_Paper.pdf + */ + interface Schema$PartOfSpeech { + /** + * The grammatical aspect. + */ + aspect?: string; + /** + * The grammatical case. + */ + case?: string; + /** + * The grammatical form. + */ + form?: string; + /** + * The grammatical gender. + */ + gender?: string; + /** + * The grammatical mood. + */ + mood?: string; + /** + * The grammatical number. + */ + number?: string; + /** + * The grammatical person. + */ + person?: string; + /** + * The grammatical properness. + */ + proper?: string; + /** + * The grammatical reciprocity. + */ + reciprocity?: string; + /** + * The part of speech tag. + */ + tag?: string; + /** + * The grammatical tense. + */ + tense?: string; + /** + * The grammatical voice. + */ + voice?: string; + } + /** + * Represents a sentence in the input document. + */ + interface Schema$Sentence { + /** + * For calls to AnalyzeSentiment or if + * AnnotateTextRequest.Features.extract_document_sentiment is set to true, + * this field will contain the sentiment for the sentence. + */ + sentiment?: Schema$Sentiment; + /** + * The sentence text. + */ + text?: Schema$TextSpan; + } + /** + * Represents the feeling associated with the entire text or entities in the + * text. + */ + interface Schema$Sentiment { + /** + * A non-negative number in the [0, +inf) range, which represents the + * absolute magnitude of sentiment regardless of score (positive or + * negative). + */ + magnitude?: number; + /** + * Sentiment score between -1.0 (negative sentiment) and 1.0 (positive + * sentiment). + */ + score?: number; + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + /** + * Represents an output piece of text. + */ + interface Schema$TextSpan { + /** + * The API calculates the beginning offset of the content in the original + * document according to the EncodingType specified in the API request. + */ + beginOffset?: number; + /** + * The content of the output text. + */ + content?: string; + } + /** + * Represents the smallest syntactic building block of the text. + */ + interface Schema$Token { + /** + * Dependency tree parse for this token. + */ + dependencyEdge?: Schema$DependencyEdge; + /** + * [Lemma](https://en.wikipedia.org/wiki/Lemma_%28morphology%29) of the + * token. + */ + lemma?: string; + /** + * Parts of speech tag for this token. + */ + partOfSpeech?: Schema$PartOfSpeech; + /** + * The token text. + */ + text?: Schema$TextSpan; + } + class Resource$Documents { + root: Language; + constructor(root: Language); + getRoot(): Language; + /** + * language.documents.analyzeEntities + * @desc Finds named entities (currently proper names and common nouns) in + * the text along with entity types, salience, mentions for each entity, and + * other properties. + * @alias language.documents.analyzeEntities + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().AnalyzeEntitiesRequest} 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 + */ + analyzeEntities(params?: Params$Resource$Documents$Analyzeentities, options?: MethodOptions): AxiosPromise; + analyzeEntities(params: Params$Resource$Documents$Analyzeentities, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + analyzeEntities(params: Params$Resource$Documents$Analyzeentities, callback: BodyResponseCallback): void; + analyzeEntities(callback: BodyResponseCallback): void; + /** + * language.documents.analyzeEntitySentiment + * @desc Finds entities, similar to AnalyzeEntities in the text and analyzes + * sentiment associated with each entity and its mentions. + * @alias language.documents.analyzeEntitySentiment + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().AnalyzeEntitySentimentRequest} 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 + */ + analyzeEntitySentiment(params?: Params$Resource$Documents$Analyzeentitysentiment, options?: MethodOptions): AxiosPromise; + analyzeEntitySentiment(params: Params$Resource$Documents$Analyzeentitysentiment, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + analyzeEntitySentiment(params: Params$Resource$Documents$Analyzeentitysentiment, callback: BodyResponseCallback): void; + analyzeEntitySentiment(callback: BodyResponseCallback): void; + /** + * language.documents.analyzeSentiment + * @desc Analyzes the sentiment of the provided text. + * @alias language.documents.analyzeSentiment + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().AnalyzeSentimentRequest} 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 + */ + analyzeSentiment(params?: Params$Resource$Documents$Analyzesentiment, options?: MethodOptions): AxiosPromise; + analyzeSentiment(params: Params$Resource$Documents$Analyzesentiment, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + analyzeSentiment(params: Params$Resource$Documents$Analyzesentiment, callback: BodyResponseCallback): void; + analyzeSentiment(callback: BodyResponseCallback): void; + /** + * language.documents.analyzeSyntax + * @desc Analyzes the syntax of the text and provides sentence boundaries + * and tokenization along with part of speech tags, dependency trees, and + * other properties. + * @alias language.documents.analyzeSyntax + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().AnalyzeSyntaxRequest} 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 + */ + analyzeSyntax(params?: Params$Resource$Documents$Analyzesyntax, options?: MethodOptions): AxiosPromise; + analyzeSyntax(params: Params$Resource$Documents$Analyzesyntax, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + analyzeSyntax(params: Params$Resource$Documents$Analyzesyntax, callback: BodyResponseCallback): void; + analyzeSyntax(callback: BodyResponseCallback): void; + /** + * language.documents.annotateText + * @desc A convenience method that provides all the features that + * analyzeSentiment, analyzeEntities, and analyzeSyntax provide in one call. + * @alias language.documents.annotateText + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().AnnotateTextRequest} 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 + */ + annotateText(params?: Params$Resource$Documents$Annotatetext, options?: MethodOptions): AxiosPromise; + annotateText(params: Params$Resource$Documents$Annotatetext, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + annotateText(params: Params$Resource$Documents$Annotatetext, callback: BodyResponseCallback): void; + annotateText(callback: BodyResponseCallback): void; + /** + * language.documents.classifyText + * @desc Classifies a document into categories. + * @alias language.documents.classifyText + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().ClassifyTextRequest} 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 + */ + classifyText(params?: Params$Resource$Documents$Classifytext, options?: MethodOptions): AxiosPromise; + classifyText(params: Params$Resource$Documents$Classifytext, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + classifyText(params: Params$Resource$Documents$Classifytext, callback: BodyResponseCallback): void; + classifyText(callback: BodyResponseCallback): void; + } + interface Params$Resource$Documents$Analyzeentities { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$AnalyzeEntitiesRequest; + } + interface Params$Resource$Documents$Analyzeentitysentiment { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$AnalyzeEntitySentimentRequest; + } + interface Params$Resource$Documents$Analyzesentiment { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$AnalyzeSentimentRequest; + } + interface Params$Resource$Documents$Analyzesyntax { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$AnalyzeSyntaxRequest; + } + interface Params$Resource$Documents$Annotatetext { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$AnnotateTextRequest; + } + interface Params$Resource$Documents$Classifytext { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$ClassifyTextRequest; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/language/v1.js b/express-server/node_modules/googleapis/build/src/apis/language/v1.js new file mode 100644 index 00000000..c5e73500 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/language/v1.js @@ -0,0 +1,253 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var language_v1; +(function (language_v1) { + /** + * Cloud Natural Language API + * + * Provides natural language understanding technologies to developers. + * Examples include sentiment analysis, entity recognition, entity sentiment + * analysis, and text annotations. + * + * @example + * const {google} = require('googleapis'); + * const language = google.language('v1'); + * + * @namespace language + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Language + */ + class Language { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.documents = new Resource$Documents(this); + } + getRoot() { + return this.root; + } + } + language_v1.Language = Language; + class Resource$Documents { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + analyzeEntities(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://language.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/documents:analyzeEntities') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + analyzeEntitySentiment(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://language.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/documents:analyzeEntitySentiment') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + analyzeSentiment(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://language.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/documents:analyzeSentiment') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + analyzeSyntax(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://language.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/documents:analyzeSyntax') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + annotateText(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://language.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/documents:annotateText') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + classifyText(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://language.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/documents:classifyText') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + language_v1.Resource$Documents = Resource$Documents; +})(language_v1 = exports.language_v1 || (exports.language_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/language/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/language/v1.js.map new file mode 100644 index 00000000..0750facd --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/language/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/language/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/language/v1beta1.d.ts b/express-server/node_modules/googleapis/build/src/apis/language/v1beta1.d.ts new file mode 100644 index 00000000..e62e501e --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/language/v1beta1.d.ts @@ -0,0 +1,601 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace language_v1beta1 { + interface Options extends GlobalOptions { + version: 'v1beta1'; + } + /** + * Cloud Natural Language API + * + * Provides natural language understanding technologies to developers. + * Examples include sentiment analysis, entity recognition, entity sentiment + * analysis, and text annotations. + * + * @example + * const {google} = require('googleapis'); + * const language = google.language('v1beta1'); + * + * @namespace language + * @type {Function} + * @version v1beta1 + * @variation v1beta1 + * @param {object=} options Options for Language + */ + class Language { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + documents: Resource$Documents; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * The entity analysis request message. + */ + interface Schema$AnalyzeEntitiesRequest { + /** + * Input document. + */ + document?: Schema$Document; + /** + * The encoding type used by the API to calculate offsets. + */ + encodingType?: string; + } + /** + * The entity analysis response message. + */ + interface Schema$AnalyzeEntitiesResponse { + /** + * The recognized entities in the input document. + */ + entities?: Schema$Entity[]; + /** + * The language of the text, which will be the same as the language + * specified in the request or, if not specified, the automatically-detected + * language. See Document.language field for more details. + */ + language?: string; + } + /** + * The sentiment analysis request message. + */ + interface Schema$AnalyzeSentimentRequest { + /** + * Input document. + */ + document?: Schema$Document; + /** + * The encoding type used by the API to calculate sentence offsets for the + * sentence sentiment. + */ + encodingType?: string; + } + /** + * The sentiment analysis response message. + */ + interface Schema$AnalyzeSentimentResponse { + /** + * The overall sentiment of the input document. + */ + documentSentiment?: Schema$Sentiment; + /** + * The language of the text, which will be the same as the language + * specified in the request or, if not specified, the automatically-detected + * language. See Document.language field for more details. + */ + language?: string; + /** + * The sentiment for all the sentences in the document. + */ + sentences?: Schema$Sentence[]; + } + /** + * The syntax analysis request message. + */ + interface Schema$AnalyzeSyntaxRequest { + /** + * Input document. + */ + document?: Schema$Document; + /** + * The encoding type used by the API to calculate offsets. + */ + encodingType?: string; + } + /** + * The syntax analysis response message. + */ + interface Schema$AnalyzeSyntaxResponse { + /** + * The language of the text, which will be the same as the language + * specified in the request or, if not specified, the automatically-detected + * language. See Document.language field for more details. + */ + language?: string; + /** + * Sentences in the input document. + */ + sentences?: Schema$Sentence[]; + /** + * Tokens, along with their syntactic information, in the input document. + */ + tokens?: Schema$Token[]; + } + /** + * The request message for the text annotation API, which can perform multiple + * analysis types (sentiment, entities, and syntax) in one call. + */ + interface Schema$AnnotateTextRequest { + /** + * Input document. + */ + document?: Schema$Document; + /** + * The encoding type used by the API to calculate offsets. + */ + encodingType?: string; + /** + * The enabled features. + */ + features?: Schema$Features; + } + /** + * The text annotations response message. + */ + interface Schema$AnnotateTextResponse { + /** + * The overall sentiment for the document. Populated if the user enables + * AnnotateTextRequest.Features.extract_document_sentiment. + */ + documentSentiment?: Schema$Sentiment; + /** + * Entities, along with their semantic information, in the input document. + * Populated if the user enables + * AnnotateTextRequest.Features.extract_entities. + */ + entities?: Schema$Entity[]; + /** + * The language of the text, which will be the same as the language + * specified in the request or, if not specified, the automatically-detected + * language. See Document.language field for more details. + */ + language?: string; + /** + * Sentences in the input document. Populated if the user enables + * AnnotateTextRequest.Features.extract_syntax. + */ + sentences?: Schema$Sentence[]; + /** + * Tokens, along with their syntactic information, in the input document. + * Populated if the user enables + * AnnotateTextRequest.Features.extract_syntax. + */ + tokens?: Schema$Token[]; + } + /** + * Represents dependency parse tree information for a token. + */ + interface Schema$DependencyEdge { + /** + * Represents the head of this token in the dependency tree. This is the + * index of the token which has an arc going to this token. The index is the + * position of the token in the array of tokens returned by the API method. + * If this token is a root token, then the `head_token_index` is its own + * index. + */ + headTokenIndex?: number; + /** + * The parse label for the token. + */ + label?: string; + } + /** + * ################################################################ # + * Represents the input to API methods. + */ + interface Schema$Document { + /** + * The content of the input in string format. Cloud audit logging exempt + * since it is based on user data. + */ + content?: string; + /** + * The Google Cloud Storage URI where the file content is located. This URI + * must be of the form: gs://bucket_name/object_name. For more details, see + * https://cloud.google.com/storage/docs/reference-uris. NOTE: Cloud Storage + * object versioning is not supported. + */ + gcsContentUri?: string; + /** + * The language of the document (if not specified, the language is + * automatically detected). Both ISO and BCP-47 language codes are + * accepted.<br> [Language Support](/natural-language/docs/languages) + * lists currently supported languages for each API method. If the language + * (either specified by the caller or automatically detected) is not + * supported by the called API method, an `INVALID_ARGUMENT` error is + * returned. + */ + language?: string; + /** + * Required. If the type is not set or is `TYPE_UNSPECIFIED`, returns an + * `INVALID_ARGUMENT` error. + */ + type?: string; + } + /** + * Represents a phrase in the text that is a known entity, such as a person, + * an organization, or location. The API associates information, such as + * salience and mentions, with entities. + */ + interface Schema$Entity { + /** + * The mentions of this entity in the input document. The API currently + * supports proper noun mentions. + */ + mentions?: Schema$EntityMention[]; + /** + * Metadata associated with the entity. Currently, Wikipedia URLs and + * Knowledge Graph MIDs are provided, if available. The associated keys are + * "wikipedia_url" and "mid", respectively. + */ + metadata?: any; + /** + * The representative name for the entity. + */ + name?: string; + /** + * The salience score associated with the entity in the [0, 1.0] range. The + * salience score for an entity provides information about the importance or + * centrality of that entity to the entire document text. Scores closer to 0 + * are less salient, while scores closer to 1.0 are highly salient. + */ + salience?: number; + /** + * The entity type. + */ + type?: string; + } + /** + * Represents a mention for an entity in the text. Currently, proper noun + * mentions are supported. + */ + interface Schema$EntityMention { + /** + * The mention text. + */ + text?: Schema$TextSpan; + /** + * The type of the entity mention. + */ + type?: string; + } + /** + * All available features for sentiment, syntax, and semantic analysis. + * Setting each one to true will enable that specific analysis for the input. + */ + interface Schema$Features { + /** + * Extract document-level sentiment. + */ + extractDocumentSentiment?: boolean; + /** + * Extract entities. + */ + extractEntities?: boolean; + /** + * Extract syntax information. + */ + extractSyntax?: boolean; + } + /** + * Represents part of speech information for a token. + */ + interface Schema$PartOfSpeech { + /** + * The grammatical aspect. + */ + aspect?: string; + /** + * The grammatical case. + */ + case?: string; + /** + * The grammatical form. + */ + form?: string; + /** + * The grammatical gender. + */ + gender?: string; + /** + * The grammatical mood. + */ + mood?: string; + /** + * The grammatical number. + */ + number?: string; + /** + * The grammatical person. + */ + person?: string; + /** + * The grammatical properness. + */ + proper?: string; + /** + * The grammatical reciprocity. + */ + reciprocity?: string; + /** + * The part of speech tag. + */ + tag?: string; + /** + * The grammatical tense. + */ + tense?: string; + /** + * The grammatical voice. + */ + voice?: string; + } + /** + * Represents a sentence in the input document. + */ + interface Schema$Sentence { + /** + * For calls to AnalyzeSentiment or if + * AnnotateTextRequest.Features.extract_document_sentiment is set to true, + * this field will contain the sentiment for the sentence. + */ + sentiment?: Schema$Sentiment; + /** + * The sentence text. + */ + text?: Schema$TextSpan; + } + /** + * Represents the feeling associated with the entire text or entities in the + * text. + */ + interface Schema$Sentiment { + /** + * A non-negative number in the [0, +inf) range, which represents the + * absolute magnitude of sentiment regardless of score (positive or + * negative). + */ + magnitude?: number; + /** + * DEPRECATED FIELD - This field is being deprecated in favor of score. + * Please refer to our documentation at + * https://cloud.google.com/natural-language/docs for more information. + */ + polarity?: number; + /** + * Sentiment score between -1.0 (negative sentiment) and 1.0 (positive + * sentiment). + */ + score?: number; + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + /** + * Represents an output piece of text. + */ + interface Schema$TextSpan { + /** + * The API calculates the beginning offset of the content in the original + * document according to the EncodingType specified in the API request. + */ + beginOffset?: number; + /** + * The content of the output text. + */ + content?: string; + } + /** + * Represents the smallest syntactic building block of the text. + */ + interface Schema$Token { + /** + * Dependency tree parse for this token. + */ + dependencyEdge?: Schema$DependencyEdge; + /** + * [Lemma](https://en.wikipedia.org/wiki/Lemma_%28morphology%29) of the + * token. + */ + lemma?: string; + /** + * Parts of speech tag for this token. + */ + partOfSpeech?: Schema$PartOfSpeech; + /** + * The token text. + */ + text?: Schema$TextSpan; + } + class Resource$Documents { + root: Language; + constructor(root: Language); + getRoot(): Language; + /** + * language.documents.analyzeEntities + * @desc Finds named entities (currently proper names and common nouns) in + * the text along with entity types, salience, mentions for each entity, and + * other properties. + * @alias language.documents.analyzeEntities + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().AnalyzeEntitiesRequest} 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 + */ + analyzeEntities(params?: Params$Resource$Documents$Analyzeentities, options?: MethodOptions): AxiosPromise; + analyzeEntities(params: Params$Resource$Documents$Analyzeentities, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + analyzeEntities(params: Params$Resource$Documents$Analyzeentities, callback: BodyResponseCallback): void; + analyzeEntities(callback: BodyResponseCallback): void; + /** + * language.documents.analyzeSentiment + * @desc Analyzes the sentiment of the provided text. + * @alias language.documents.analyzeSentiment + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().AnalyzeSentimentRequest} 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 + */ + analyzeSentiment(params?: Params$Resource$Documents$Analyzesentiment, options?: MethodOptions): AxiosPromise; + analyzeSentiment(params: Params$Resource$Documents$Analyzesentiment, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + analyzeSentiment(params: Params$Resource$Documents$Analyzesentiment, callback: BodyResponseCallback): void; + analyzeSentiment(callback: BodyResponseCallback): void; + /** + * language.documents.analyzeSyntax + * @desc Analyzes the syntax of the text and provides sentence boundaries + * and tokenization along with part of speech tags, dependency trees, and + * other properties. + * @alias language.documents.analyzeSyntax + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().AnalyzeSyntaxRequest} 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 + */ + analyzeSyntax(params?: Params$Resource$Documents$Analyzesyntax, options?: MethodOptions): AxiosPromise; + analyzeSyntax(params: Params$Resource$Documents$Analyzesyntax, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + analyzeSyntax(params: Params$Resource$Documents$Analyzesyntax, callback: BodyResponseCallback): void; + analyzeSyntax(callback: BodyResponseCallback): void; + /** + * language.documents.annotateText + * @desc A convenience method that provides all the features that + * analyzeSentiment, analyzeEntities, and analyzeSyntax provide in one call. + * @alias language.documents.annotateText + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().AnnotateTextRequest} 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 + */ + annotateText(params?: Params$Resource$Documents$Annotatetext, options?: MethodOptions): AxiosPromise; + annotateText(params: Params$Resource$Documents$Annotatetext, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + annotateText(params: Params$Resource$Documents$Annotatetext, callback: BodyResponseCallback): void; + annotateText(callback: BodyResponseCallback): void; + } + interface Params$Resource$Documents$Analyzeentities { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$AnalyzeEntitiesRequest; + } + interface Params$Resource$Documents$Analyzesentiment { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$AnalyzeSentimentRequest; + } + interface Params$Resource$Documents$Analyzesyntax { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$AnalyzeSyntaxRequest; + } + interface Params$Resource$Documents$Annotatetext { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$AnnotateTextRequest; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/language/v1beta1.js b/express-server/node_modules/googleapis/build/src/apis/language/v1beta1.js new file mode 100644 index 00000000..c4a963fe --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/language/v1beta1.js @@ -0,0 +1,191 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var language_v1beta1; +(function (language_v1beta1) { + /** + * Cloud Natural Language API + * + * Provides natural language understanding technologies to developers. + * Examples include sentiment analysis, entity recognition, entity sentiment + * analysis, and text annotations. + * + * @example + * const {google} = require('googleapis'); + * const language = google.language('v1beta1'); + * + * @namespace language + * @type {Function} + * @version v1beta1 + * @variation v1beta1 + * @param {object=} options Options for Language + */ + class Language { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.documents = new Resource$Documents(this); + } + getRoot() { + return this.root; + } + } + language_v1beta1.Language = Language; + class Resource$Documents { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + analyzeEntities(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://language.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/documents:analyzeEntities') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + analyzeSentiment(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://language.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/documents:analyzeSentiment') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + analyzeSyntax(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://language.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/documents:analyzeSyntax') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + annotateText(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://language.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/documents:annotateText') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + language_v1beta1.Resource$Documents = Resource$Documents; +})(language_v1beta1 = exports.language_v1beta1 || (exports.language_v1beta1 = {})); +//# sourceMappingURL=v1beta1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/language/v1beta1.js.map b/express-server/node_modules/googleapis/build/src/apis/language/v1beta1.js.map new file mode 100644 index 00000000..26111030 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/language/v1beta1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1beta1.js","sourceRoot":"","sources":["../../../../src/apis/language/v1beta1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/language/v1beta2.d.ts b/express-server/node_modules/googleapis/build/src/apis/language/v1beta2.d.ts new file mode 100644 index 00000000..43df098a --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/language/v1beta2.d.ts @@ -0,0 +1,738 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace language_v1beta2 { + interface Options extends GlobalOptions { + version: 'v1beta2'; + } + /** + * Cloud Natural Language API + * + * Provides natural language understanding technologies to developers. + * Examples include sentiment analysis, entity recognition, entity sentiment + * analysis, and text annotations. + * + * @example + * const {google} = require('googleapis'); + * const language = google.language('v1beta2'); + * + * @namespace language + * @type {Function} + * @version v1beta2 + * @variation v1beta2 + * @param {object=} options Options for Language + */ + class Language { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + documents: Resource$Documents; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * The entity analysis request message. + */ + interface Schema$AnalyzeEntitiesRequest { + /** + * Input document. + */ + document?: Schema$Document; + /** + * The encoding type used by the API to calculate offsets. + */ + encodingType?: string; + } + /** + * The entity analysis response message. + */ + interface Schema$AnalyzeEntitiesResponse { + /** + * The recognized entities in the input document. + */ + entities?: Schema$Entity[]; + /** + * The language of the text, which will be the same as the language + * specified in the request or, if not specified, the automatically-detected + * language. See Document.language field for more details. + */ + language?: string; + } + /** + * The entity-level sentiment analysis request message. + */ + interface Schema$AnalyzeEntitySentimentRequest { + /** + * Input document. + */ + document?: Schema$Document; + /** + * The encoding type used by the API to calculate offsets. + */ + encodingType?: string; + } + /** + * The entity-level sentiment analysis response message. + */ + interface Schema$AnalyzeEntitySentimentResponse { + /** + * The recognized entities in the input document with associated sentiments. + */ + entities?: Schema$Entity[]; + /** + * The language of the text, which will be the same as the language + * specified in the request or, if not specified, the automatically-detected + * language. See Document.language field for more details. + */ + language?: string; + } + /** + * The sentiment analysis request message. + */ + interface Schema$AnalyzeSentimentRequest { + /** + * Input document. + */ + document?: Schema$Document; + /** + * The encoding type used by the API to calculate sentence offsets for the + * sentence sentiment. + */ + encodingType?: string; + } + /** + * The sentiment analysis response message. + */ + interface Schema$AnalyzeSentimentResponse { + /** + * The overall sentiment of the input document. + */ + documentSentiment?: Schema$Sentiment; + /** + * The language of the text, which will be the same as the language + * specified in the request or, if not specified, the automatically-detected + * language. See Document.language field for more details. + */ + language?: string; + /** + * The sentiment for all the sentences in the document. + */ + sentences?: Schema$Sentence[]; + } + /** + * The syntax analysis request message. + */ + interface Schema$AnalyzeSyntaxRequest { + /** + * Input document. + */ + document?: Schema$Document; + /** + * The encoding type used by the API to calculate offsets. + */ + encodingType?: string; + } + /** + * The syntax analysis response message. + */ + interface Schema$AnalyzeSyntaxResponse { + /** + * The language of the text, which will be the same as the language + * specified in the request or, if not specified, the automatically-detected + * language. See Document.language field for more details. + */ + language?: string; + /** + * Sentences in the input document. + */ + sentences?: Schema$Sentence[]; + /** + * Tokens, along with their syntactic information, in the input document. + */ + tokens?: Schema$Token[]; + } + /** + * The request message for the text annotation API, which can perform multiple + * analysis types (sentiment, entities, and syntax) in one call. + */ + interface Schema$AnnotateTextRequest { + /** + * Input document. + */ + document?: Schema$Document; + /** + * The encoding type used by the API to calculate offsets. + */ + encodingType?: string; + /** + * The enabled features. + */ + features?: Schema$Features; + } + /** + * The text annotations response message. + */ + interface Schema$AnnotateTextResponse { + /** + * Categories identified in the input document. + */ + categories?: Schema$ClassificationCategory[]; + /** + * The overall sentiment for the document. Populated if the user enables + * AnnotateTextRequest.Features.extract_document_sentiment. + */ + documentSentiment?: Schema$Sentiment; + /** + * Entities, along with their semantic information, in the input document. + * Populated if the user enables + * AnnotateTextRequest.Features.extract_entities. + */ + entities?: Schema$Entity[]; + /** + * The language of the text, which will be the same as the language + * specified in the request or, if not specified, the automatically-detected + * language. See Document.language field for more details. + */ + language?: string; + /** + * Sentences in the input document. Populated if the user enables + * AnnotateTextRequest.Features.extract_syntax. + */ + sentences?: Schema$Sentence[]; + /** + * Tokens, along with their syntactic information, in the input document. + * Populated if the user enables + * AnnotateTextRequest.Features.extract_syntax. + */ + tokens?: Schema$Token[]; + } + /** + * Represents a category returned from the text classifier. + */ + interface Schema$ClassificationCategory { + /** + * The classifier's confidence of the category. Number represents how + * certain the classifier is that this category represents the given text. + */ + confidence?: number; + /** + * The name of the category representing the document, from the [predefined + * taxonomy](/natural-language/docs/categories). + */ + name?: string; + } + /** + * The document classification request message. + */ + interface Schema$ClassifyTextRequest { + /** + * Input document. + */ + document?: Schema$Document; + } + /** + * The document classification response message. + */ + interface Schema$ClassifyTextResponse { + /** + * Categories representing the input document. + */ + categories?: Schema$ClassificationCategory[]; + } + /** + * Represents dependency parse tree information for a token. + */ + interface Schema$DependencyEdge { + /** + * Represents the head of this token in the dependency tree. This is the + * index of the token which has an arc going to this token. The index is the + * position of the token in the array of tokens returned by the API method. + * If this token is a root token, then the `head_token_index` is its own + * index. + */ + headTokenIndex?: number; + /** + * The parse label for the token. + */ + label?: string; + } + /** + * ################################################################ # + * Represents the input to API methods. + */ + interface Schema$Document { + /** + * The content of the input in string format. Cloud audit logging exempt + * since it is based on user data. + */ + content?: string; + /** + * The Google Cloud Storage URI where the file content is located. This URI + * must be of the form: gs://bucket_name/object_name. For more details, see + * https://cloud.google.com/storage/docs/reference-uris. NOTE: Cloud Storage + * object versioning is not supported. + */ + gcsContentUri?: string; + /** + * The language of the document (if not specified, the language is + * automatically detected). Both ISO and BCP-47 language codes are + * accepted.<br> [Language Support](/natural-language/docs/languages) + * lists currently supported languages for each API method. If the language + * (either specified by the caller or automatically detected) is not + * supported by the called API method, an `INVALID_ARGUMENT` error is + * returned. + */ + language?: string; + /** + * Required. If the type is not set or is `TYPE_UNSPECIFIED`, returns an + * `INVALID_ARGUMENT` error. + */ + type?: string; + } + /** + * Represents a phrase in the text that is a known entity, such as a person, + * an organization, or location. The API associates information, such as + * salience and mentions, with entities. + */ + interface Schema$Entity { + /** + * The mentions of this entity in the input document. The API currently + * supports proper noun mentions. + */ + mentions?: Schema$EntityMention[]; + /** + * Metadata associated with the entity. Currently, Wikipedia URLs and + * Knowledge Graph MIDs are provided, if available. The associated keys are + * "wikipedia_url" and "mid", respectively. + */ + metadata?: any; + /** + * The representative name for the entity. + */ + name?: string; + /** + * The salience score associated with the entity in the [0, 1.0] range. The + * salience score for an entity provides information about the importance or + * centrality of that entity to the entire document text. Scores closer to 0 + * are less salient, while scores closer to 1.0 are highly salient. + */ + salience?: number; + /** + * For calls to AnalyzeEntitySentiment or if + * AnnotateTextRequest.Features.extract_entity_sentiment is set to true, + * this field will contain the aggregate sentiment expressed for this entity + * in the provided document. + */ + sentiment?: Schema$Sentiment; + /** + * The entity type. + */ + type?: string; + } + /** + * Represents a mention for an entity in the text. Currently, proper noun + * mentions are supported. + */ + interface Schema$EntityMention { + /** + * For calls to AnalyzeEntitySentiment or if + * AnnotateTextRequest.Features.extract_entity_sentiment is set to true, + * this field will contain the sentiment expressed for this mention of the + * entity in the provided document. + */ + sentiment?: Schema$Sentiment; + /** + * The mention text. + */ + text?: Schema$TextSpan; + /** + * The type of the entity mention. + */ + type?: string; + } + /** + * All available features for sentiment, syntax, and semantic analysis. + * Setting each one to true will enable that specific analysis for the input. + * Next ID: 10 + */ + interface Schema$Features { + /** + * Classify the full document into categories. If this is true, the API will + * use the default model which classifies into a [predefined + * taxonomy](/natural-language/docs/categories). + */ + classifyText?: boolean; + /** + * Extract document-level sentiment. + */ + extractDocumentSentiment?: boolean; + /** + * Extract entities. + */ + extractEntities?: boolean; + /** + * Extract entities and their associated sentiment. + */ + extractEntitySentiment?: boolean; + /** + * Extract syntax information. + */ + extractSyntax?: boolean; + } + /** + * Represents part of speech information for a token. + */ + interface Schema$PartOfSpeech { + /** + * The grammatical aspect. + */ + aspect?: string; + /** + * The grammatical case. + */ + case?: string; + /** + * The grammatical form. + */ + form?: string; + /** + * The grammatical gender. + */ + gender?: string; + /** + * The grammatical mood. + */ + mood?: string; + /** + * The grammatical number. + */ + number?: string; + /** + * The grammatical person. + */ + person?: string; + /** + * The grammatical properness. + */ + proper?: string; + /** + * The grammatical reciprocity. + */ + reciprocity?: string; + /** + * The part of speech tag. + */ + tag?: string; + /** + * The grammatical tense. + */ + tense?: string; + /** + * The grammatical voice. + */ + voice?: string; + } + /** + * Represents a sentence in the input document. + */ + interface Schema$Sentence { + /** + * For calls to AnalyzeSentiment or if + * AnnotateTextRequest.Features.extract_document_sentiment is set to true, + * this field will contain the sentiment for the sentence. + */ + sentiment?: Schema$Sentiment; + /** + * The sentence text. + */ + text?: Schema$TextSpan; + } + /** + * Represents the feeling associated with the entire text or entities in the + * text. Next ID: 6 + */ + interface Schema$Sentiment { + /** + * A non-negative number in the [0, +inf) range, which represents the + * absolute magnitude of sentiment regardless of score (positive or + * negative). + */ + magnitude?: number; + /** + * Sentiment score between -1.0 (negative sentiment) and 1.0 (positive + * sentiment). + */ + score?: number; + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + /** + * Represents an output piece of text. + */ + interface Schema$TextSpan { + /** + * The API calculates the beginning offset of the content in the original + * document according to the EncodingType specified in the API request. + */ + beginOffset?: number; + /** + * The content of the output text. + */ + content?: string; + } + /** + * Represents the smallest syntactic building block of the text. + */ + interface Schema$Token { + /** + * Dependency tree parse for this token. + */ + dependencyEdge?: Schema$DependencyEdge; + /** + * [Lemma](https://en.wikipedia.org/wiki/Lemma_%28morphology%29) of the + * token. + */ + lemma?: string; + /** + * Parts of speech tag for this token. + */ + partOfSpeech?: Schema$PartOfSpeech; + /** + * The token text. + */ + text?: Schema$TextSpan; + } + class Resource$Documents { + root: Language; + constructor(root: Language); + getRoot(): Language; + /** + * language.documents.analyzeEntities + * @desc Finds named entities (currently proper names and common nouns) in + * the text along with entity types, salience, mentions for each entity, and + * other properties. + * @alias language.documents.analyzeEntities + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().AnalyzeEntitiesRequest} 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 + */ + analyzeEntities(params?: Params$Resource$Documents$Analyzeentities, options?: MethodOptions): AxiosPromise; + analyzeEntities(params: Params$Resource$Documents$Analyzeentities, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + analyzeEntities(params: Params$Resource$Documents$Analyzeentities, callback: BodyResponseCallback): void; + analyzeEntities(callback: BodyResponseCallback): void; + /** + * language.documents.analyzeEntitySentiment + * @desc Finds entities, similar to AnalyzeEntities in the text and analyzes + * sentiment associated with each entity and its mentions. + * @alias language.documents.analyzeEntitySentiment + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().AnalyzeEntitySentimentRequest} 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 + */ + analyzeEntitySentiment(params?: Params$Resource$Documents$Analyzeentitysentiment, options?: MethodOptions): AxiosPromise; + analyzeEntitySentiment(params: Params$Resource$Documents$Analyzeentitysentiment, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + analyzeEntitySentiment(params: Params$Resource$Documents$Analyzeentitysentiment, callback: BodyResponseCallback): void; + analyzeEntitySentiment(callback: BodyResponseCallback): void; + /** + * language.documents.analyzeSentiment + * @desc Analyzes the sentiment of the provided text. + * @alias language.documents.analyzeSentiment + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().AnalyzeSentimentRequest} 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 + */ + analyzeSentiment(params?: Params$Resource$Documents$Analyzesentiment, options?: MethodOptions): AxiosPromise; + analyzeSentiment(params: Params$Resource$Documents$Analyzesentiment, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + analyzeSentiment(params: Params$Resource$Documents$Analyzesentiment, callback: BodyResponseCallback): void; + analyzeSentiment(callback: BodyResponseCallback): void; + /** + * language.documents.analyzeSyntax + * @desc Analyzes the syntax of the text and provides sentence boundaries + * and tokenization along with part of speech tags, dependency trees, and + * other properties. + * @alias language.documents.analyzeSyntax + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().AnalyzeSyntaxRequest} 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 + */ + analyzeSyntax(params?: Params$Resource$Documents$Analyzesyntax, options?: MethodOptions): AxiosPromise; + analyzeSyntax(params: Params$Resource$Documents$Analyzesyntax, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + analyzeSyntax(params: Params$Resource$Documents$Analyzesyntax, callback: BodyResponseCallback): void; + analyzeSyntax(callback: BodyResponseCallback): void; + /** + * language.documents.annotateText + * @desc A convenience method that provides all syntax, sentiment, entity, + * and classification features in one call. + * @alias language.documents.annotateText + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().AnnotateTextRequest} 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 + */ + annotateText(params?: Params$Resource$Documents$Annotatetext, options?: MethodOptions): AxiosPromise; + annotateText(params: Params$Resource$Documents$Annotatetext, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + annotateText(params: Params$Resource$Documents$Annotatetext, callback: BodyResponseCallback): void; + annotateText(callback: BodyResponseCallback): void; + /** + * language.documents.classifyText + * @desc Classifies a document into categories. + * @alias language.documents.classifyText + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().ClassifyTextRequest} 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 + */ + classifyText(params?: Params$Resource$Documents$Classifytext, options?: MethodOptions): AxiosPromise; + classifyText(params: Params$Resource$Documents$Classifytext, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + classifyText(params: Params$Resource$Documents$Classifytext, callback: BodyResponseCallback): void; + classifyText(callback: BodyResponseCallback): void; + } + interface Params$Resource$Documents$Analyzeentities { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$AnalyzeEntitiesRequest; + } + interface Params$Resource$Documents$Analyzeentitysentiment { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$AnalyzeEntitySentimentRequest; + } + interface Params$Resource$Documents$Analyzesentiment { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$AnalyzeSentimentRequest; + } + interface Params$Resource$Documents$Analyzesyntax { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$AnalyzeSyntaxRequest; + } + interface Params$Resource$Documents$Annotatetext { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$AnnotateTextRequest; + } + interface Params$Resource$Documents$Classifytext { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$ClassifyTextRequest; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/language/v1beta2.js b/express-server/node_modules/googleapis/build/src/apis/language/v1beta2.js new file mode 100644 index 00000000..ddc86bd3 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/language/v1beta2.js @@ -0,0 +1,253 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var language_v1beta2; +(function (language_v1beta2) { + /** + * Cloud Natural Language API + * + * Provides natural language understanding technologies to developers. + * Examples include sentiment analysis, entity recognition, entity sentiment + * analysis, and text annotations. + * + * @example + * const {google} = require('googleapis'); + * const language = google.language('v1beta2'); + * + * @namespace language + * @type {Function} + * @version v1beta2 + * @variation v1beta2 + * @param {object=} options Options for Language + */ + class Language { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.documents = new Resource$Documents(this); + } + getRoot() { + return this.root; + } + } + language_v1beta2.Language = Language; + class Resource$Documents { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + analyzeEntities(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://language.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/documents:analyzeEntities') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + analyzeEntitySentiment(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://language.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/documents:analyzeEntitySentiment') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + analyzeSentiment(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://language.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/documents:analyzeSentiment') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + analyzeSyntax(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://language.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/documents:analyzeSyntax') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + annotateText(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://language.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/documents:annotateText') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + classifyText(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://language.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/documents:classifyText') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + language_v1beta2.Resource$Documents = Resource$Documents; +})(language_v1beta2 = exports.language_v1beta2 || (exports.language_v1beta2 = {})); +//# sourceMappingURL=v1beta2.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/language/v1beta2.js.map b/express-server/node_modules/googleapis/build/src/apis/language/v1beta2.js.map new file mode 100644 index 00000000..d5a625f7 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/language/v1beta2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1beta2.js","sourceRoot":"","sources":["../../../../src/apis/language/v1beta2.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/licensing/README.md b/express-server/node_modules/googleapis/build/src/apis/licensing/README.md new file mode 100644 index 00000000..cbf51344 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/licensing/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/licensing + +> Views and manages licenses for your domain. + +## Installation + +```sh +$ npm install @google/licensing +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/licensing/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/licensing/index.d.ts new file mode 100644 index 00000000..cbcbaa0a --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/licensing/index.d.ts @@ -0,0 +1,6 @@ +import { licensing_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof licensing_v1.Licensing; +}; +export declare function licensing(version: 'v1'): licensing_v1.Licensing; +export declare function licensing(options: licensing_v1.Options): licensing_v1.Licensing; diff --git a/express-server/node_modules/googleapis/build/src/apis/licensing/index.js b/express-server/node_modules/googleapis/build/src/apis/licensing/index.js new file mode 100644 index 00000000..9b86c264 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/licensing/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.licensing_v1.Licensing, +}; +function licensing(versionOrOptions) { + return googleapis_common_1.getAPI('licensing', versionOrOptions, exports.VERSIONS, this); +} +exports.licensing = licensing; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/licensing/index.js.map b/express-server/node_modules/googleapis/build/src/apis/licensing/index.js.map new file mode 100644 index 00000000..8c93c171 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/licensing/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/licensing/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAkC;AAErB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,iBAAY,CAAC,SAAS;CAC7B,CAAC;AAKF,SAAgB,SAAS,CACK,gBAA2C;IACvE,OAAO,0BAAM,CAAI,WAAW,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAClE,CAAC;AAHD,8BAGC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/licensing/package.json b/express-server/node_modules/googleapis/build/src/apis/licensing/package.json new file mode 100644 index 00000000..82026836 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/licensing/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/licensing", + "version": "0.1.0", + "description": "licensing", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/licensing/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/licensing/v1.d.ts new file mode 100644 index 00000000..d79fbd3f --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/licensing/v1.d.ts @@ -0,0 +1,402 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace licensing_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Enterprise License Manager API + * + * Views and manages licenses for your domain. + * + * @example + * const {google} = require('googleapis'); + * const licensing = google.licensing('v1'); + * + * @namespace licensing + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Licensing + */ + class Licensing { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + licenseAssignments: Resource$Licenseassignments; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Template for LiscenseAssignment Resource + */ + interface Schema$LicenseAssignment { + /** + * ETag of the resource. + */ + etags?: string; + /** + * Identifies the resource as a LicenseAssignment. + */ + kind?: string; + /** + * Id of the product. + */ + productId?: string; + /** + * Display Name of the product. + */ + productName?: string; + /** + * Link to this page. + */ + selfLink?: string; + /** + * Id of the sku of the product. + */ + skuId?: string; + /** + * Display Name of the sku of the product. + */ + skuName?: string; + /** + * Email id of the user. + */ + userId?: string; + } + /** + * Template for LicenseAssignment Insert request + */ + interface Schema$LicenseAssignmentInsert { + /** + * Email id of the user + */ + userId?: string; + } + /** + * LicesnseAssignment List for a given product/sku for a customer. + */ + interface Schema$LicenseAssignmentList { + /** + * ETag of the resource. + */ + etag?: string; + /** + * The LicenseAssignments in this page of results. + */ + items?: Schema$LicenseAssignment[]; + /** + * Identifies the resource as a collection of LicenseAssignments. + */ + kind?: string; + /** + * The continuation token, used to page through large result sets. Provide + * this value in a subsequent request to return the next page of results. + */ + nextPageToken?: string; + } + class Resource$Licenseassignments { + root: Licensing; + constructor(root: Licensing); + getRoot(): Licensing; + /** + * licensing.licenseAssignments.delete + * @desc Revoke License. + * @alias licensing.licenseAssignments.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.productId Name for product + * @param {string} params.skuId Name for sku + * @param {string} params.userId email id or unique Id of the user + * @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?: Params$Resource$Licenseassignments$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Licenseassignments$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Licenseassignments$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * licensing.licenseAssignments.get + * @desc Get license assignment of a particular product and sku for a user + * @alias licensing.licenseAssignments.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.productId Name for product + * @param {string} params.skuId Name for sku + * @param {string} params.userId email id or unique Id of the user + * @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?: Params$Resource$Licenseassignments$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Licenseassignments$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Licenseassignments$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * licensing.licenseAssignments.insert + * @desc Assign License. + * @alias licensing.licenseAssignments.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.productId Name for product + * @param {string} params.skuId Name for sku + * @param {().LicenseAssignmentInsert} 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?: Params$Resource$Licenseassignments$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Licenseassignments$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Licenseassignments$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * licensing.licenseAssignments.listForProduct + * @desc List license assignments for given product of the customer. + * @alias licensing.licenseAssignments.listForProduct + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customerId CustomerId represents the customer for whom licenseassignments are queried + * @param {integer=} params.maxResults Maximum number of campaigns to return at one time. Must be positive. Optional. Default value is 100. + * @param {string=} params.pageToken Token to fetch the next page.Optional. By default server will return first page + * @param {string} params.productId Name for product + * @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 + */ + listForProduct(params?: Params$Resource$Licenseassignments$Listforproduct, options?: MethodOptions): AxiosPromise; + listForProduct(params: Params$Resource$Licenseassignments$Listforproduct, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listForProduct(params: Params$Resource$Licenseassignments$Listforproduct, callback: BodyResponseCallback): void; + listForProduct(callback: BodyResponseCallback): void; + /** + * licensing.licenseAssignments.listForProductAndSku + * @desc List license assignments for given product and sku of the customer. + * @alias licensing.licenseAssignments.listForProductAndSku + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customerId CustomerId represents the customer for whom licenseassignments are queried + * @param {integer=} params.maxResults Maximum number of campaigns to return at one time. Must be positive. Optional. Default value is 100. + * @param {string=} params.pageToken Token to fetch the next page.Optional. By default server will return first page + * @param {string} params.productId Name for product + * @param {string} params.skuId Name for sku + * @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 + */ + listForProductAndSku(params?: Params$Resource$Licenseassignments$Listforproductandsku, options?: MethodOptions): AxiosPromise; + listForProductAndSku(params: Params$Resource$Licenseassignments$Listforproductandsku, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listForProductAndSku(params: Params$Resource$Licenseassignments$Listforproductandsku, callback: BodyResponseCallback): void; + listForProductAndSku(callback: BodyResponseCallback): void; + /** + * licensing.licenseAssignments.patch + * @desc Assign License. This method supports patch semantics. + * @alias licensing.licenseAssignments.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.productId Name for product + * @param {string} params.skuId Name for sku for which license would be revoked + * @param {string} params.userId email id or unique Id of the user + * @param {().LicenseAssignment} 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 + */ + patch(params?: Params$Resource$Licenseassignments$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Licenseassignments$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Licenseassignments$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * licensing.licenseAssignments.update + * @desc Assign License. + * @alias licensing.licenseAssignments.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.productId Name for product + * @param {string} params.skuId Name for sku for which license would be revoked + * @param {string} params.userId email id or unique Id of the user + * @param {().LicenseAssignment} 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?: Params$Resource$Licenseassignments$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Licenseassignments$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Licenseassignments$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Licenseassignments$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name for product + */ + productId?: string; + /** + * Name for sku + */ + skuId?: string; + /** + * email id or unique Id of the user + */ + userId?: string; + } + interface Params$Resource$Licenseassignments$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name for product + */ + productId?: string; + /** + * Name for sku + */ + skuId?: string; + /** + * email id or unique Id of the user + */ + userId?: string; + } + interface Params$Resource$Licenseassignments$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name for product + */ + productId?: string; + /** + * Name for sku + */ + skuId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$LicenseAssignmentInsert; + } + interface Params$Resource$Licenseassignments$Listforproduct { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * CustomerId represents the customer for whom licenseassignments are + * queried + */ + customerId?: string; + /** + * Maximum number of campaigns to return at one time. Must be positive. + * Optional. Default value is 100. + */ + maxResults?: number; + /** + * Token to fetch the next page.Optional. By default server will return + * first page + */ + pageToken?: string; + /** + * Name for product + */ + productId?: string; + } + interface Params$Resource$Licenseassignments$Listforproductandsku { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * CustomerId represents the customer for whom licenseassignments are + * queried + */ + customerId?: string; + /** + * Maximum number of campaigns to return at one time. Must be positive. + * Optional. Default value is 100. + */ + maxResults?: number; + /** + * Token to fetch the next page.Optional. By default server will return + * first page + */ + pageToken?: string; + /** + * Name for product + */ + productId?: string; + /** + * Name for sku + */ + skuId?: string; + } + interface Params$Resource$Licenseassignments$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name for product + */ + productId?: string; + /** + * Name for sku for which license would be revoked + */ + skuId?: string; + /** + * email id or unique Id of the user + */ + userId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$LicenseAssignment; + } + interface Params$Resource$Licenseassignments$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name for product + */ + productId?: string; + /** + * Name for sku for which license would be revoked + */ + skuId?: string; + /** + * email id or unique Id of the user + */ + userId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$LicenseAssignment; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/licensing/v1.js b/express-server/node_modules/googleapis/build/src/apis/licensing/v1.js new file mode 100644 index 00000000..2293856e --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/licensing/v1.js @@ -0,0 +1,288 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var licensing_v1; +(function (licensing_v1) { + /** + * Enterprise License Manager API + * + * Views and manages licenses for your domain. + * + * @example + * const {google} = require('googleapis'); + * const licensing = google.licensing('v1'); + * + * @namespace licensing + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Licensing + */ + class Licensing { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.licenseAssignments = new Resource$Licenseassignments(this); + } + getRoot() { + return this.root; + } + } + licensing_v1.Licensing = Licensing; + class Resource$Licenseassignments { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/apps/licensing/v1/product/{productId}/sku/{skuId}/user/{userId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['productId', 'skuId', 'userId'], + pathParams: ['productId', 'skuId', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/apps/licensing/v1/product/{productId}/sku/{skuId}/user/{userId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['productId', 'skuId', 'userId'], + pathParams: ['productId', 'skuId', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/apps/licensing/v1/product/{productId}/sku/{skuId}/user') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['productId', 'skuId'], + pathParams: ['productId', 'skuId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listForProduct(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/apps/licensing/v1/product/{productId}/users') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['productId', 'customerId'], + pathParams: ['productId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listForProductAndSku(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/apps/licensing/v1/product/{productId}/sku/{skuId}/users') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['productId', 'skuId', 'customerId'], + pathParams: ['productId', 'skuId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/apps/licensing/v1/product/{productId}/sku/{skuId}/user/{userId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['productId', 'skuId', 'userId'], + pathParams: ['productId', 'skuId', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/apps/licensing/v1/product/{productId}/sku/{skuId}/user/{userId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['productId', 'skuId', 'userId'], + pathParams: ['productId', 'skuId', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + licensing_v1.Resource$Licenseassignments = Resource$Licenseassignments; +})(licensing_v1 = exports.licensing_v1 || (exports.licensing_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/licensing/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/licensing/v1.js.map new file mode 100644 index 00000000..0dfc8849 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/licensing/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/licensing/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/logging/README.md b/express-server/node_modules/googleapis/build/src/apis/logging/README.md new file mode 100644 index 00000000..8e31ba85 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/logging/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/logging + +> Writes log entries and manages your Logging configuration. + +## Installation + +```sh +$ npm install @google/logging +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/logging/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/logging/index.d.ts new file mode 100644 index 00000000..3c4a46a5 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/logging/index.d.ts @@ -0,0 +1,10 @@ +import { logging_v2 } from './v2'; +import { logging_v2beta1 } from './v2beta1'; +export declare const VERSIONS: { + 'v2': typeof logging_v2.Logging; + 'v2beta1': typeof logging_v2beta1.Logging; +}; +export declare function logging(version: 'v2'): logging_v2.Logging; +export declare function logging(options: logging_v2.Options): logging_v2.Logging; +export declare function logging(version: 'v2beta1'): logging_v2beta1.Logging; +export declare function logging(options: logging_v2beta1.Options): logging_v2beta1.Logging; diff --git a/express-server/node_modules/googleapis/build/src/apis/logging/index.js b/express-server/node_modules/googleapis/build/src/apis/logging/index.js new file mode 100644 index 00000000..7eebcdef --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/logging/index.js @@ -0,0 +1,27 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v2_1 = require("./v2"); +const v2beta1_1 = require("./v2beta1"); +exports.VERSIONS = { + 'v2': v2_1.logging_v2.Logging, + 'v2beta1': v2beta1_1.logging_v2beta1.Logging, +}; +function logging(versionOrOptions) { + return googleapis_common_1.getAPI('logging', versionOrOptions, exports.VERSIONS, this); +} +exports.logging = logging; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/logging/index.js.map b/express-server/node_modules/googleapis/build/src/apis/logging/index.js.map new file mode 100644 index 00000000..cf3d29d1 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/logging/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/logging/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAgC;AAChC,uCAA0C;AAE7B,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,eAAU,CAAC,OAAO;IACxB,SAAS,EAAE,yBAAe,CAAC,OAAO;CACnC,CAAC;AAOF,SAAgB,OAAO,CAEnB,gBACuB;IACzB,OAAO,0BAAM,CAAI,SAAS,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAChE,CAAC;AALD,0BAKC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/logging/package.json b/express-server/node_modules/googleapis/build/src/apis/logging/package.json new file mode 100644 index 00000000..3299a0a9 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/logging/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/logging", + "version": "0.1.0", + "description": "logging", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/logging/v2.d.ts b/express-server/node_modules/googleapis/build/src/apis/logging/v2.d.ts new file mode 100644 index 00000000..e2b4cbec --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/logging/v2.d.ts @@ -0,0 +1,4363 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace logging_v2 { + interface Options extends GlobalOptions { + version: 'v2'; + } + /** + * Stackdriver Logging API + * + * Writes log entries and manages your Logging configuration. + * + * @example + * const {google} = require('googleapis'); + * const logging = google.logging('v2'); + * + * @namespace logging + * @type {Function} + * @version v2 + * @variation v2 + * @param {object=} options Options for Logging + */ + class Logging { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + billingAccounts: Resource$Billingaccounts; + entries: Resource$Entries; + exclusions: Resource$Exclusions; + folders: Resource$Folders; + logs: Resource$Logs; + monitoredResourceDescriptors: Resource$Monitoredresourcedescriptors; + organizations: Resource$Organizations; + projects: Resource$Projects; + sinks: Resource$Sinks; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * BucketOptions describes the bucket boundaries used to create a histogram + * for the distribution. The buckets can be in a linear sequence, an + * exponential sequence, or each bucket can be specified explicitly. + * BucketOptions does not include the number of values in each bucket.A bucket + * has an inclusive lower bound and exclusive upper bound for the values that + * are counted for that bucket. The upper bound of a bucket must be strictly + * greater than the lower bound. The sequence of N buckets for a distribution + * consists of an underflow bucket (number 0), zero or more finite buckets + * (number 1 through N - 2) and an overflow bucket (number N - 1). The buckets + * are contiguous: the lower bound of bucket i (i > 0) is the same as the + * upper bound of bucket i - 1. The buckets span the whole range of finite + * values: lower bound of the underflow bucket is -infinity and the upper + * bound of the overflow bucket is +infinity. The finite buckets are so-called + * because both bounds are finite. + */ + interface Schema$BucketOptions { + /** + * The explicit buckets. + */ + explicitBuckets?: Schema$Explicit; + /** + * The exponential buckets. + */ + exponentialBuckets?: Schema$Exponential; + /** + * The linear bucket. + */ + linearBuckets?: Schema$Linear; + } + /** + * 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); } The JSON + * representation for Empty is empty JSON object {}. + */ + interface Schema$Empty { + } + /** + * Specifies a set of buckets with arbitrary widths.There are size(bounds) + 1 + * (= N) buckets. Bucket i has the following boundaries:Upper bound (0 <= i + * < N-1): boundsi Lower bound (1 <= i < N); boundsi - 1The bounds + * field must contain at least one element. If bounds has only one element, + * then there are no finite buckets, and that single element is the common + * boundary of the overflow and underflow buckets. + */ + interface Schema$Explicit { + /** + * The values must be monotonically increasing. + */ + bounds?: number[]; + } + /** + * Specifies an exponential sequence of buckets that have a width that is + * proportional to the value of the lower bound. Each bucket represents a + * constant relative uncertainty on a specific value in the bucket.There are + * num_finite_buckets + 2 (= N) buckets. Bucket i has the following + * boundaries:Upper bound (0 <= i < N-1): scale * (growth_factor ^ i). + * Lower bound (1 <= i < N): scale * (growth_factor ^ (i - 1)). + */ + interface Schema$Exponential { + /** + * Must be greater than 1. + */ + growthFactor?: number; + /** + * Must be greater than 0. + */ + numFiniteBuckets?: number; + /** + * Must be greater than 0. + */ + scale?: number; + } + /** + * A common proto for logging HTTP requests. Only contains semantics defined + * by the HTTP specification. Product-specific logging information MUST be + * defined in a separate message. + */ + interface Schema$HttpRequest { + /** + * The number of HTTP response bytes inserted into cache. Set only when a + * cache fill was attempted. + */ + cacheFillBytes?: string; + /** + * Whether or not an entity was served from cache (with or without + * validation). + */ + cacheHit?: boolean; + /** + * Whether or not a cache lookup was attempted. + */ + cacheLookup?: boolean; + /** + * Whether or not the response was validated with the origin server before + * being served from cache. This field is only meaningful if cache_hit is + * True. + */ + cacheValidatedWithOriginServer?: boolean; + /** + * The request processing latency on the server, from the time the request + * was received until the response was sent. + */ + latency?: string; + /** + * Protocol used for the request. Examples: "HTTP/1.1", + * "HTTP/2", "websocket" + */ + protocol?: string; + /** + * The referer URL of the request, as defined in HTTP/1.1 Header Field + * Definitions (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html). + */ + referer?: string; + /** + * The IP address (IPv4 or IPv6) of the client that issued the HTTP request. + * Examples: "192.168.1.1", "FE80::0202:B3FF:FE1E:8329". + */ + remoteIp?: string; + /** + * The request method. Examples: "GET", "HEAD", + * "PUT", "POST". + */ + requestMethod?: string; + /** + * The size of the HTTP request message in bytes, including the request + * headers and the request body. + */ + requestSize?: string; + /** + * The scheme (http, https), the host name, the path and the query portion + * of the URL that was requested. Example: + * "http://example.com/some/info?color=red". + */ + requestUrl?: string; + /** + * The size of the HTTP response message sent back to the client, in bytes, + * including the response headers and the response body. + */ + responseSize?: string; + /** + * The IP address (IPv4 or IPv6) of the origin server that the request was + * sent to. + */ + serverIp?: string; + /** + * The response code indicating the status of response. Examples: 200, 404. + */ + status?: number; + /** + * The user agent sent by the client. Example: "Mozilla/4.0 + * (compatible; MSIE 6.0; Windows 98; Q312461; .NET CLR 1.0.3705)". + */ + userAgent?: string; + } + /** + * A description of a label. + */ + interface Schema$LabelDescriptor { + /** + * A human-readable description for the label. + */ + description?: string; + /** + * The label key. + */ + key?: string; + /** + * The type of data that can be assigned to the label. + */ + valueType?: string; + } + /** + * Specifies a linear sequence of buckets that all have the same width (except + * overflow and underflow). Each bucket represents a constant absolute + * uncertainty on the specific value in the bucket.There are + * num_finite_buckets + 2 (= N) buckets. Bucket i has the following + * boundaries:Upper bound (0 <= i < N-1): offset + (width * i). Lower + * bound (1 <= i < N): offset + (width * (i - 1)). + */ + interface Schema$Linear { + /** + * Must be greater than 0. + */ + numFiniteBuckets?: number; + /** + * Lower bound of the first bucket. + */ + offset?: number; + /** + * Must be greater than 0. + */ + width?: number; + } + /** + * Result returned from ListExclusions. + */ + interface Schema$ListExclusionsResponse { + /** + * A list of exclusions. + */ + exclusions?: Schema$LogExclusion[]; + /** + * If there might be more results than appear in this response, then + * nextPageToken is included. To get the next set of results, call the same + * method again using the value of nextPageToken as pageToken. + */ + nextPageToken?: string; + } + /** + * The parameters to ListLogEntries. + */ + interface Schema$ListLogEntriesRequest { + /** + * Optional. A filter that chooses which log entries to return. See Advanced + * Logs Filters. Only log entries that match the filter are returned. An + * empty filter matches all log entries in the resources listed in + * resource_names. Referencing a parent resource that is not listed in + * resource_names will cause the filter to return no results. The maximum + * length of the filter is 20000 characters. + */ + filter?: string; + /** + * Optional. How the results should be sorted. Presently, the only permitted + * values are "timestamp asc" (default) and "timestamp + * desc". The first option returns entries in order of increasing + * values of LogEntry.timestamp (oldest first), and the second option + * returns entries in order of decreasing timestamps (newest first). Entries + * with equal timestamps are returned in order of their insert_id values. + */ + orderBy?: string; + /** + * Optional. The maximum number of results to return from this request. + * Non-positive values are ignored. The presence of next_page_token in the + * response indicates that more results might be available. + */ + pageSize?: number; + /** + * Optional. If present, then retrieve the next batch of results from the + * preceding call to this method. page_token must be the value of + * next_page_token from the previous response. The values of other method + * parameters should be identical to those in the previous call. + */ + pageToken?: string; + /** + * Deprecated. Use resource_names instead. One or more project identifiers + * or project numbers from which to retrieve log entries. Example: + * "my-project-1A". If present, these project identifiers are + * converted to resource name format and added to the list of resources in + * resource_names. + */ + projectIds?: string[]; + /** + * Required. Names of one or more parent resources from which to retrieve + * log entries: "projects/[PROJECT_ID]" + * "organizations/[ORGANIZATION_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]" + * "folders/[FOLDER_ID]" Projects listed in the project_ids field + * are added to this list. + */ + resourceNames?: string[]; + } + /** + * Result returned from ListLogEntries. + */ + interface Schema$ListLogEntriesResponse { + /** + * A list of log entries. If entries is empty, nextPageToken may still be + * returned, indicating that more entries may exist. See nextPageToken for + * more information. + */ + entries?: Schema$LogEntry[]; + /** + * If there might be more results than those appearing in this response, + * then nextPageToken is included. To get the next set of results, call this + * method again using the value of nextPageToken as pageToken.If a value for + * next_page_token appears and the entries field is empty, it means that the + * search found no log entries so far but it did not have time to search all + * the possible log entries. Retry the method with this value for page_token + * to continue the search. Alternatively, consider speeding up the search by + * changing your filter to specify a single log name or resource type, or to + * narrow the time range of the search. + */ + nextPageToken?: string; + } + /** + * Result returned from ListLogMetrics. + */ + interface Schema$ListLogMetricsResponse { + /** + * A list of logs-based metrics. + */ + metrics?: Schema$LogMetric[]; + /** + * If there might be more results than appear in this response, then + * nextPageToken is included. To get the next set of results, call this + * method again using the value of nextPageToken as pageToken. + */ + nextPageToken?: string; + } + /** + * Result returned from ListLogs. + */ + interface Schema$ListLogsResponse { + /** + * A list of log names. For example, "projects/my-project/syslog" + * or + * "organizations/123/cloudresourcemanager.googleapis.com%2Factivity". + */ + logNames?: string[]; + /** + * If there might be more results than those appearing in this response, + * then nextPageToken is included. To get the next set of results, call this + * method again using the value of nextPageToken as pageToken. + */ + nextPageToken?: string; + } + /** + * Result returned from ListMonitoredResourceDescriptors. + */ + interface Schema$ListMonitoredResourceDescriptorsResponse { + /** + * If there might be more results than those appearing in this response, + * then nextPageToken is included. To get the next set of results, call this + * method again using the value of nextPageToken as pageToken. + */ + nextPageToken?: string; + /** + * A list of resource descriptors. + */ + resourceDescriptors?: Schema$MonitoredResourceDescriptor[]; + } + /** + * Result returned from ListSinks. + */ + interface Schema$ListSinksResponse { + /** + * If there might be more results than appear in this response, then + * nextPageToken is included. To get the next set of results, call the same + * method again using the value of nextPageToken as pageToken. + */ + nextPageToken?: string; + /** + * A list of sinks. + */ + sinks?: Schema$LogSink[]; + } + /** + * An individual entry in a log. + */ + interface Schema$LogEntry { + /** + * Optional. Information about the HTTP request associated with this log + * entry, if applicable. + */ + httpRequest?: Schema$HttpRequest; + /** + * Optional. A unique identifier for the log entry. If you provide a value, + * then Logging considers other log entries in the same project, with the + * same timestamp, and with the same insert_id to be duplicates which can be + * removed. If omitted in new log entries, then Logging assigns its own + * unique identifier. The insert_id is also used to order log entries that + * have the same timestamp value. + */ + insertId?: string; + /** + * The log entry payload, represented as a structure that is expressed as a + * JSON object. + */ + jsonPayload?: any; + /** + * Optional. A set of user-defined (key, value) data that provides + * additional information about the log entry. + */ + labels?: any; + /** + * Required. The resource name of the log to which this log entry belongs: + * "projects/[PROJECT_ID]/logs/[LOG_ID]" + * "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]" + * "folders/[FOLDER_ID]/logs/[LOG_ID]" A project number may + * optionally be used in place of PROJECT_ID. The project number is + * translated to its corresponding PROJECT_ID internally and the log_name + * field will contain PROJECT_ID in queries and exports.[LOG_ID] must be + * URL-encoded within log_name. Example: + * "organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity". + * [LOG_ID] must be less than 512 characters long and can only include the + * following characters: upper and lower case alphanumeric characters, + * forward-slash, underscore, hyphen, and period.For backward compatibility, + * if log_name begins with a forward-slash, such as /projects/..., then the + * log entry is ingested as usual but the forward-slash is removed. Listing + * the log entry will not show the leading slash and filtering for a log + * name with a leading slash will never return any results. + */ + logName?: string; + /** + * Output only. Additional metadata about the monitored resource. Only + * k8s_container, k8s_pod, and k8s_node MonitoredResources have this field + * populated. + */ + metadata?: Schema$MonitoredResourceMetadata; + /** + * Optional. Information about an operation associated with the log entry, + * if applicable. + */ + operation?: Schema$LogEntryOperation; + /** + * The log entry payload, represented as a protocol buffer. Some Google + * Cloud Platform services use this field for their log entry payloads. + */ + protoPayload?: any; + /** + * Output only. The time the log entry was received by Logging. + */ + receiveTimestamp?: string; + /** + * Required. The primary monitored resource associated with this log entry. + * Example: a log entry that reports a database error would be associated + * with the monitored resource designating the particular database that + * reported the error. + */ + resource?: Schema$MonitoredResource; + /** + * Optional. The severity of the log entry. The default value is + * LogSeverity.DEFAULT. + */ + severity?: string; + /** + * Optional. Source code location information associated with the log entry, + * if any. + */ + sourceLocation?: Schema$LogEntrySourceLocation; + /** + * Optional. The span ID within the trace associated with the log entry. For + * Trace spans, this is the same format that the Trace API v2 uses: a + * 16-character hexadecimal encoding of an 8-byte array, such as + * <code>"000000000000004a"</code>. + */ + spanId?: string; + /** + * The log entry payload, represented as a Unicode string (UTF-8). + */ + textPayload?: string; + /** + * Optional. The time the event described by the log entry occurred. This + * time is used to compute the log entry's age and to enforce the logs + * retention period. If this field is omitted in a new log entry, then + * Logging assigns it the current time. Timestamps have nanosecond accuracy, + * but trailing zeros in the fractional seconds might be omitted when the + * timestamp is displayed.Incoming log entries should have timestamps that + * are no more than the logs retention period in the past, and no more than + * 24 hours in the future. Log entries outside those time boundaries will + * not be available when calling entries.list, but those log entries can + * still be exported with LogSinks. + */ + timestamp?: string; + /** + * Optional. Resource name of the trace associated with the log entry, if + * any. If it contains a relative resource name, the name is assumed to be + * relative to //tracing.googleapis.com. Example: + * projects/my-projectid/traces/06796866738c859f2f19b7cfb3214824 + */ + trace?: string; + } + /** + * Additional information about a potentially long-running operation with + * which a log entry is associated. + */ + interface Schema$LogEntryOperation { + /** + * Optional. Set this to True if this is the first log entry in the + * operation. + */ + first?: boolean; + /** + * Optional. An arbitrary operation identifier. Log entries with the same + * identifier are assumed to be part of the same operation. + */ + id?: string; + /** + * Optional. Set this to True if this is the last log entry in the + * operation. + */ + last?: boolean; + /** + * Optional. An arbitrary producer identifier. The combination of id and + * producer must be globally unique. Examples for producer: + * "MyDivision.MyBigCompany.com", + * "github.com/MyProject/MyApplication". + */ + producer?: string; + } + /** + * Additional information about the source code location that produced the log + * entry. + */ + interface Schema$LogEntrySourceLocation { + /** + * Optional. Source file name. Depending on the runtime environment, this + * might be a simple name or a fully-qualified name. + */ + file?: string; + /** + * Optional. Human-readable name of the function or method being invoked, + * with optional context such as the class or package name. This information + * may be used in contexts such as the logs viewer, where a file and line + * number are less meaningful. The format can vary by language. For example: + * qual.if.ied.Class.method (Java), dir/package.func (Go), function + * (Python). + */ + function?: string; + /** + * Optional. Line within the source file. 1-based; 0 indicates no line + * number available. + */ + line?: string; + } + /** + * Specifies a set of log entries that are not to be stored in Logging. If + * your project receives a large volume of logs, you might be able to use + * exclusions to reduce your chargeable logs. Exclusions are processed after + * log sinks, so you can export log entries before they are excluded. Audit + * log entries and log entries from Amazon Web Services are never excluded. + */ + interface Schema$LogExclusion { + /** + * Optional. A description of this exclusion. + */ + description?: string; + /** + * Optional. If set to True, then this exclusion is disabled and it does not + * exclude any log entries. You can use exclusions.patch to change the value + * of this field. + */ + disabled?: boolean; + /** + * Required. An advanced logs filter that matches the log entries to be + * excluded. By using the sample function, you can exclude less than 100% of + * the matching log entries. For example, the following filter matches 99% + * of low-severity log entries from load + * balancers:"resource.type=http_load_balancer severity<ERROR + * sample(insertId, 0.99)" + */ + filter?: string; + /** + * Required. A client-assigned identifier, such as + * "load-balancer-exclusion". Identifiers are limited to 100 + * characters and can include only letters, digits, underscores, hyphens, + * and periods. + */ + name?: string; + } + /** + * Application log line emitted while processing a request. + */ + interface Schema$LogLine { + /** + * App-provided log message. + */ + logMessage?: string; + /** + * Severity of this log entry. + */ + severity?: string; + /** + * Where in the source code this log message was written. + */ + sourceLocation?: Schema$SourceLocation; + /** + * Approximate time when this log entry was made. + */ + time?: string; + } + /** + * Describes a logs-based metric. The value of the metric is the number of log + * entries that match a logs filter in a given time interval.Logs-based metric + * can also be used to extract values from logs and create a a distribution of + * the values. The distribution records the statistics of the extracted values + * along with an optional histogram of the values as specified by the bucket + * options. + */ + interface Schema$LogMetric { + /** + * Optional. The bucket_options are required when the logs-based metric is + * using a DISTRIBUTION value type and it describes the bucket boundaries + * used to create a histogram of the extracted values. + */ + bucketOptions?: Schema$BucketOptions; + /** + * Optional. A description of this metric, which is used in documentation. + */ + description?: string; + /** + * Required. An advanced logs filter which is used to match log entries. + * Example: "resource.type=gae_app AND severity>=ERROR" The + * maximum length of the filter is 20000 characters. + */ + filter?: string; + /** + * Optional. A map from a label key string to an extractor expression which + * is used to extract data from a log entry field and assign as the label + * value. Each label key specified in the LabelDescriptor must have an + * associated extractor expression in this map. The syntax of the extractor + * expression is the same as for the value_extractor field.The extracted + * value is converted to the type defined in the label descriptor. If the + * either the extraction or the type conversion fails, the label will have a + * default value. The default value for a string label is an empty string, + * for an integer label its 0, and for a boolean label its false.Note that + * there are upper bounds on the maximum number of labels and the number of + * active time series that are allowed in a project. + */ + labelExtractors?: any; + /** + * Optional. The metric descriptor associated with the logs-based metric. If + * unspecified, it uses a default metric descriptor with a DELTA metric + * kind, INT64 value type, with no labels and a unit of "1". Such + * a metric counts the number of log entries matching the filter + * expression.The name, type, and description fields in the + * metric_descriptor are output only, and is constructed using the name and + * description field in the LogMetric.To create a logs-based metric that + * records a distribution of log values, a DELTA metric kind with a + * DISTRIBUTION value type must be used along with a value_extractor + * expression in the LogMetric.Each label in the metric descriptor must have + * a matching label name as the key and an extractor expression as the value + * in the label_extractors map.The metric_kind and value_type fields in the + * metric_descriptor cannot be updated once initially configured. New labels + * can be added in the metric_descriptor, but existing labels cannot be + * modified except for their description. + */ + metricDescriptor?: Schema$MetricDescriptor; + /** + * Required. The client-assigned metric identifier. Examples: + * "error_count", "nginx/requests".Metric identifiers + * are limited to 100 characters and can include only the following + * characters: A-Z, a-z, 0-9, and the special characters _-.,+!*',()%/. + * The forward-slash character (/) denotes a hierarchy of name pieces, and + * it cannot be the first character of the name.The metric identifier in + * this field must not be URL-encoded + * (https://en.wikipedia.org/wiki/Percent-encoding). However, when the + * metric identifier appears as the [METRIC_ID] part of a metric_name API + * parameter, then the metric identifier must be URL-encoded. Example: + * "projects/my-project/metrics/nginx%2Frequests". + */ + name?: string; + /** + * Optional. A value_extractor is required when using a distribution + * logs-based metric to extract the values to record from a log entry. Two + * functions are supported for value extraction: EXTRACT(field) or + * REGEXP_EXTRACT(field, regex). The argument are: 1. field: The name of + * the log entry field from which the value is to be extracted. 2. regex: + * A regular expression using the Google RE2 syntax + * (https://github.com/google/re2/wiki/Syntax) with a single capture group + * to extract data from the specified log entry field. The value of the + * field is converted to a string before applying the regex. It is an error + * to specify a regex that does not include exactly one capture group.The + * result of the extraction must be convertible to a double type, as the + * distribution always records double values. If either the extraction or + * the conversion to double fails, then those values are not recorded in the + * distribution.Example: REGEXP_EXTRACT(jsonPayload.request, + * ".*quantity=(\d+).*") + */ + valueExtractor?: string; + /** + * Deprecated. The API version that created or updated this metric. The v2 + * format is used by default and cannot be changed. + */ + version?: string; + } + /** + * Describes a sink used to export log entries to one of the following + * destinations in any project: a Cloud Storage bucket, a BigQuery dataset, or + * a Cloud Pub/Sub topic. A logs filter controls which log entries are + * exported. The sink must be created within a project, organization, billing + * account, or folder. + */ + interface Schema$LogSink { + /** + * Required. The export destination: + * "storage.googleapis.com/[GCS_BUCKET]" + * "bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET]" + * "pubsub.googleapis.com/projects/[PROJECT_ID]/topics/[TOPIC_ID]" + * The sink's writer_identity, set when the sink is created, must have + * permission to write to the destination or else the log entries are not + * exported. For more information, see Exporting Logs With Sinks. + */ + destination?: string; + /** + * Deprecated. This field is ignored when creating or updating sinks. + */ + endTime?: string; + /** + * Optional. An advanced logs filter. The only exported log entries are + * those that are in the resource owning the sink and that match the filter. + * For example: logName="projects/[PROJECT_ID]/logs/[LOG_ID]" AND + * severity>=ERROR + */ + filter?: string; + /** + * Optional. This field applies only to sinks owned by organizations and + * folders. If the field is false, the default, only the logs owned by the + * sink's parent resource are available for export. If the field is + * true, then logs from all the projects, folders, and billing accounts + * contained in the sink's parent resource are also available for + * export. Whether a particular log entry from the children is exported + * depends on the sink's filter expression. For example, if this field + * is true, then the filter resource.type=gce_instance would export all + * Compute Engine VM instance log entries from all projects in the + * sink's parent. To only export entries from certain child projects, + * filter on the project part of the log name: + * logName:("projects/test-project1/" OR + * "projects/test-project2/") AND resource.type=gce_instance + */ + includeChildren?: boolean; + /** + * Required. The client-assigned sink identifier, unique within the project. + * Example: "my-syslog-errors-to-pubsub". Sink identifiers are + * limited to 100 characters and can include only the following characters: + * upper and lower-case alphanumeric characters, underscores, hyphens, and + * periods. + */ + name?: string; + /** + * Deprecated. The log entry format to use for this sink's exported log + * entries. The v2 format is used by default and cannot be changed. + */ + outputVersionFormat?: string; + /** + * Deprecated. This field is ignored when creating or updating sinks. + */ + startTime?: string; + /** + * Output only. An IAM identity&mdash;a service account or + * group&mdash;under which Logging writes the exported log entries to + * the sink's destination. This field is set by sinks.create and + * sinks.update, based on the setting of unique_writer_identity in those + * methods.Until you grant this identity write-access to the destination, + * log entry exports from this sink will fail. For more information, see + * Granting access for a resource. Consult the destination service's + * documentation to determine the appropriate IAM roles to assign to the + * identity. + */ + writerIdentity?: string; + } + /** + * Defines a metric type and its schema. Once a metric descriptor is created, + * deleting or altering it stops data collection and makes the metric + * type's existing data unusable. + */ + interface Schema$MetricDescriptor { + /** + * A detailed description of the metric, which can be used in documentation. + */ + description?: string; + /** + * A concise name for the metric, which can be displayed in user interfaces. + * Use sentence case without an ending period, for example "Request + * count". This field is optional but it is recommended to be set for + * any metrics associated with user-visible concepts, such as Quota. + */ + displayName?: string; + /** + * The set of labels that can be used to describe a specific instance of + * this metric type. For example, the + * appengine.googleapis.com/http/server/response_latencies metric type has a + * label for the HTTP response code, response_code, so you can look at + * latencies for successful responses or just for responses that failed. + */ + labels?: Schema$LabelDescriptor[]; + /** + * Optional. Metadata which can be used to guide usage of the metric. + */ + metadata?: Schema$MetricDescriptorMetadata; + /** + * Whether the metric records instantaneous values, changes to a value, etc. + * Some combinations of metric_kind and value_type might not be supported. + */ + metricKind?: string; + /** + * The resource name of the metric descriptor. + */ + name?: string; + /** + * The metric type, including its DNS name prefix. The type is not + * URL-encoded. All user-defined metric types have the DNS name + * custom.googleapis.com or external.googleapis.com. Metric types should use + * a natural hierarchical grouping. For example: + * "custom.googleapis.com/invoice/paid/amount" + * "external.googleapis.com/prometheus/up" + * "appengine.googleapis.com/http/server/response_latencies" + */ + type?: string; + /** + * The unit in which the metric value is reported. It is only applicable if + * the value_type is INT64, DOUBLE, or DISTRIBUTION. The supported units are + * a subset of The Unified Code for Units of Measure + * (http://unitsofmeasure.org/ucum.html) standard:Basic units (UNIT) bit bit + * By byte s second min minute h hour d dayPrefixes (PREFIX) k kilo (10**3) + * M mega (10**6) G giga (10**9) T tera (10**12) P peta (10**15) E exa + * (10**18) Z zetta (10**21) Y yotta (10**24) m milli (10**-3) u micro + * (10**-6) n nano (10**-9) p pico (10**-12) f femto (10**-15) a atto + * (10**-18) z zepto (10**-21) y yocto (10**-24) Ki kibi (2**10) Mi mebi + * (2**20) Gi gibi (2**30) Ti tebi (2**40)GrammarThe grammar also includes + * these connectors: / division (as an infix operator, e.g. 1/s). . + * multiplication (as an infix operator, e.g. GBy.d)The grammar for a unit + * is as follows: Expression = Component { "." Component } { + * "/" Component } ; Component = ( [ PREFIX ] UNIT | + * "%" ) [ Annotation ] | Annotation | + * "1" ; Annotation = "{" NAME "}" + * ; Notes: Annotation is just a comment if it follows a UNIT and is + * equivalent to 1 if it is used alone. For examples, {requests}/s == 1/s, + * By{transmitted}/s == By/s. NAME is a sequence of non-blank printable + * ASCII characters not containing '{' or '}'. 1 represents + * dimensionless value 1, such as in 1/s. % represents dimensionless value + * 1/100, and annotates values giving a percentage. + */ + unit?: string; + /** + * Whether the measurement is an integer, a floating-point number, etc. Some + * combinations of metric_kind and value_type might not be supported. + */ + valueType?: string; + } + /** + * Additional annotations that can be used to guide the usage of a metric. + */ + interface Schema$MetricDescriptorMetadata { + /** + * The delay of data points caused by ingestion. Data points older than this + * age are guaranteed to be ingested and available to be read, excluding + * data loss due to errors. + */ + ingestDelay?: string; + /** + * The launch stage of the metric definition. + */ + launchStage?: string; + /** + * The sampling period of metric data points. For metrics which are written + * periodically, consecutive data points are stored at this time interval, + * excluding data loss due to errors. Metrics with a higher granularity have + * a smaller sampling period. + */ + samplePeriod?: string; + } + /** + * An object representing a resource that can be used for monitoring, logging, + * billing, or other purposes. Examples include virtual machine instances, + * databases, and storage devices such as disks. The type field identifies a + * MonitoredResourceDescriptor object that describes the resource's + * schema. Information in the labels field identifies the actual resource and + * its attributes according to the schema. For example, a particular Compute + * Engine VM instance could be represented by the following object, because + * the MonitoredResourceDescriptor for "gce_instance" has labels + * "instance_id" and "zone": { "type": + * "gce_instance", "labels": { "instance_id": + * "12345678901234", "zone": + * "us-central1-a" }} + */ + interface Schema$MonitoredResource { + /** + * Required. Values for all of the labels listed in the associated monitored + * resource descriptor. For example, Compute Engine VM instances use the + * labels "project_id", "instance_id", and + * "zone". + */ + labels?: any; + /** + * Required. The monitored resource type. This field must match the type + * field of a MonitoredResourceDescriptor object. For example, the type of a + * Compute Engine VM instance is gce_instance. + */ + type?: string; + } + /** + * An object that describes the schema of a MonitoredResource object using a + * type name and a set of labels. For example, the monitored resource + * descriptor for Google Compute Engine VM instances has a type of + * "gce_instance" and specifies the use of the labels + * "instance_id" and "zone" to identify particular VM + * instances.Different APIs can support different monitored resource types. + * APIs generally provide a list method that returns the monitored resource + * descriptors used by the API. + */ + interface Schema$MonitoredResourceDescriptor { + /** + * Optional. A detailed description of the monitored resource type that + * might be used in documentation. + */ + description?: string; + /** + * Optional. A concise name for the monitored resource type that might be + * displayed in user interfaces. It should be a Title Cased Noun Phrase, + * without any article or other determiners. For example, "Google Cloud + * SQL Database". + */ + displayName?: string; + /** + * Required. A set of labels used to describe instances of this monitored + * resource type. For example, an individual Google Cloud SQL database is + * identified by values for the labels "database_id" and + * "zone". + */ + labels?: Schema$LabelDescriptor[]; + /** + * Optional. The resource name of the monitored resource descriptor: + * "projects/{project_id}/monitoredResourceDescriptors/{type}" + * where {type} is the value of the type field in this object and + * {project_id} is a project ID that provides API-specific context for + * accessing the type. APIs that do not use project information can use the + * resource name format "monitoredResourceDescriptors/{type}". + */ + name?: string; + /** + * Required. The monitored resource type. For example, the type + * "cloudsql_database" represents databases in Google Cloud SQL. + * The maximum length of this value is 256 characters. + */ + type?: string; + } + /** + * Auxiliary metadata for a MonitoredResource object. MonitoredResource + * objects contain the minimum set of information to uniquely identify a + * monitored resource instance. There is some other useful auxiliary metadata. + * Monitoring and Logging use an ingestion pipeline to extract metadata for + * cloud resources of all types, and store the metadata in this message. + */ + interface Schema$MonitoredResourceMetadata { + /** + * Output only. Values for predefined system metadata labels. System labels + * are a kind of metadata extracted by Google, including + * "machine_image", "vpc", "subnet_id", + * "security_group", "name", etc. System label values + * can be only strings, Boolean values, or a list of strings. For example: { + * "name": "my-test-instance", + * "security_group": ["a", "b", + * "c"], "spot_instance": false } + */ + systemLabels?: any; + /** + * Output only. A map of user-defined metadata labels. + */ + userLabels?: any; + } + /** + * Complete log information about a single HTTP request to an App Engine + * application. + */ + interface Schema$RequestLog { + /** + * App Engine release version. + */ + appEngineRelease?: string; + /** + * Application that handled this request. + */ + appId?: string; + /** + * An indication of the relative cost of serving this request. + */ + cost?: number; + /** + * Time when the request finished. + */ + endTime?: string; + /** + * Whether this request is finished or active. + */ + finished?: boolean; + /** + * Whether this is the first RequestLog entry for this request. If an active + * request has several RequestLog entries written to Stackdriver Logging, + * then this field will be set for one of them. + */ + first?: boolean; + /** + * Internet host and port number of the resource being requested. + */ + host?: string; + /** + * HTTP version of request. Example: "HTTP/1.1". + */ + httpVersion?: string; + /** + * An identifier for the instance that handled the request. + */ + instanceId?: string; + /** + * If the instance processing this request belongs to a manually scaled + * module, then this is the 0-based index of the instance. Otherwise, this + * value is -1. + */ + instanceIndex?: number; + /** + * Origin IP address. + */ + ip?: string; + /** + * Latency of the request. + */ + latency?: string; + /** + * A list of log lines emitted by the application while serving this + * request. + */ + line?: Schema$LogLine[]; + /** + * Number of CPU megacycles used to process request. + */ + megaCycles?: string; + /** + * Request method. Example: "GET", "HEAD", + * "PUT", "POST", "DELETE". + */ + method?: string; + /** + * Module of the application that handled this request. + */ + moduleId?: string; + /** + * The logged-in user who made the request.Most likely, this is the part of + * the user's email before the @ sign. The field value is the same for + * different requests from the same user, but different users can have + * similar names. This information is also available to the application via + * the App Engine Users API.This field will be populated starting with App + * Engine 1.9.21. + */ + nickname?: string; + /** + * Time this request spent in the pending request queue. + */ + pendingTime?: string; + /** + * Referrer URL of request. + */ + referrer?: string; + /** + * Globally unique identifier for a request, which is based on the request + * start time. Request IDs for requests which started later will compare + * greater as strings than those for requests which started earlier. + */ + requestId?: string; + /** + * Contains the path and query portion of the URL that was requested. For + * example, if the URL was "http://example.com/app?name=val", the + * resource would be "/app?name=val". The fragment identifier, + * which is identified by the # character, is not included. + */ + resource?: string; + /** + * Size in bytes sent back to client by request. + */ + responseSize?: string; + /** + * Source code for the application that handled this request. There can be + * more than one source reference per deployed application if source code is + * distributed among multiple repositories. + */ + sourceReference?: Schema$SourceReference[]; + /** + * Time when the request started. + */ + startTime?: string; + /** + * HTTP response status code. Example: 200, 404. + */ + status?: number; + /** + * Task name of the request, in the case of an offline request. + */ + taskName?: string; + /** + * Queue name of the request, in the case of an offline request. + */ + taskQueueName?: string; + /** + * Stackdriver Trace identifier for this request. + */ + traceId?: string; + /** + * If true, the value in the 'trace_id' field was sampled for + * storage in a trace backend. + */ + traceSampled?: boolean; + /** + * File or class that handled the request. + */ + urlMapEntry?: string; + /** + * User agent that made the request. + */ + userAgent?: string; + /** + * Version of the application that handled this request. + */ + versionId?: string; + /** + * Whether this was a loading request for the instance. + */ + wasLoadingRequest?: boolean; + } + /** + * Specifies a location in a source code file. + */ + interface Schema$SourceLocation { + /** + * Source file name. Depending on the runtime environment, this might be a + * simple name or a fully-qualified name. + */ + file?: string; + /** + * Human-readable name of the function or method being invoked, with + * optional context such as the class or package name. This information is + * used in contexts such as the logs viewer, where a file and line number + * are less meaningful. The format can vary by language. For example: + * qual.if.ied.Class.method (Java), dir/package.func (Go), function + * (Python). + */ + functionName?: string; + /** + * Line within the source file. + */ + line?: string; + } + /** + * A reference to a particular snapshot of the source tree used to build and + * deploy an application. + */ + interface Schema$SourceReference { + /** + * Optional. A URI string identifying the repository. Example: + * "https://github.com/GoogleCloudPlatform/kubernetes.git" + */ + repository?: string; + /** + * The canonical and persistent identifier of the deployed revision. Example + * (git): "0035781c50ec7aa23385dc841529ce8a4b70db1b" + */ + revisionId?: string; + } + /** + * The parameters to WriteLogEntries. + */ + interface Schema$WriteLogEntriesRequest { + /** + * Optional. If true, the request should expect normal response, but the + * entries won't be persisted nor exported. Useful for checking whether + * the logging API endpoints are working properly before sending valuable + * data. + */ + dryRun?: boolean; + /** + * Required. The log entries to send to Logging. The order of log entries in + * this list does not matter. Values supplied in this method's log_name, + * resource, and labels fields are copied into those log entries in this + * list that do not include values for their corresponding fields. For more + * information, see the LogEntry type.If the timestamp or insert_id fields + * are missing in log entries, then this method supplies the current time or + * a unique identifier, respectively. The supplied values are chosen so + * that, among the log entries that did not supply their own values, the + * entries earlier in the list will sort before the entries later in the + * list. See the entries.list method.Log entries with timestamps that are + * more than the logs retention period in the past or more than 24 hours in + * the future will not be available when calling entries.list. However, + * those log entries can still be exported with LogSinks.To improve + * throughput and to avoid exceeding the quota limit for calls to + * entries.write, you should try to include several log entries in this + * list, rather than calling this method for each individual log entry. + */ + entries?: Schema$LogEntry[]; + /** + * Optional. Default labels that are added to the labels field of all log + * entries in entries. If a log entry already has a label with the same key + * as a label in this parameter, then the log entry's label is not + * changed. See LogEntry. + */ + labels?: any; + /** + * Optional. A default log resource name that is assigned to all log entries + * in entries that do not specify a value for log_name: + * "projects/[PROJECT_ID]/logs/[LOG_ID]" + * "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]" + * "folders/[FOLDER_ID]/logs/[LOG_ID]" [LOG_ID] must be + * URL-encoded. For example: "projects/my-project-id/logs/syslog" + * "organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity" + * The permission <code>logging.logEntries.create</code> is + * needed on each project, organization, billing account, or folder that is + * receiving new log entries, whether the resource is specified in + * <code>logName</code> or in an individual log entry. + */ + logName?: string; + /** + * Optional. Whether valid entries should be written even if some other + * entries fail due to INVALID_ARGUMENT or PERMISSION_DENIED errors. If any + * entry is not written, then the response status is the error associated + * with one of the failed entries and the response includes error details + * keyed by the entries' zero-based index in the entries.write method. + */ + partialSuccess?: boolean; + /** + * Optional. A default monitored resource object that is assigned to all log + * entries in entries that do not specify a value for resource. Example: { + * "type": "gce_instance", "labels": { + * "zone": "us-central1-a", "instance_id": + * "00000000000000000000" }} See LogEntry. + */ + resource?: Schema$MonitoredResource; + } + /** + * Result returned from WriteLogEntries. empty + */ + interface Schema$WriteLogEntriesResponse { + } + class Resource$Billingaccounts { + root: Logging; + exclusions: Resource$Billingaccounts$Exclusions; + logs: Resource$Billingaccounts$Logs; + sinks: Resource$Billingaccounts$Sinks; + constructor(root: Logging); + getRoot(): Logging; + } + class Resource$Billingaccounts$Exclusions { + root: Logging; + constructor(root: Logging); + getRoot(): Logging; + /** + * logging.billingAccounts.exclusions.create + * @desc Creates a new exclusion in a specified parent resource. Only log + * entries belonging to that resource can be excluded. You can have up to 10 + * exclusions in a resource. + * @alias logging.billingAccounts.exclusions.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The parent resource in which to create the exclusion: "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" Examples: "projects/my-logging-project", "organizations/123456789". + * @param {().LogExclusion} 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 + */ + create(params?: Params$Resource$Billingaccounts$Exclusions$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Billingaccounts$Exclusions$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Billingaccounts$Exclusions$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * logging.billingAccounts.exclusions.delete + * @desc Deletes an exclusion. + * @alias logging.billingAccounts.exclusions.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The resource name of an existing exclusion to delete: "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]" "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]" "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]" Example: "projects/my-project-id/exclusions/my-exclusion-id". + * @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?: Params$Resource$Billingaccounts$Exclusions$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Billingaccounts$Exclusions$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Billingaccounts$Exclusions$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * logging.billingAccounts.exclusions.get + * @desc Gets the description of an exclusion. + * @alias logging.billingAccounts.exclusions.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The resource name of an existing exclusion: "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]" "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]" "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]" Example: "projects/my-project-id/exclusions/my-exclusion-id". + * @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?: Params$Resource$Billingaccounts$Exclusions$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Billingaccounts$Exclusions$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Billingaccounts$Exclusions$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * logging.billingAccounts.exclusions.list + * @desc Lists all the exclusions in a parent resource. + * @alias logging.billingAccounts.exclusions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available. + * @param {string=} params.pageToken Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call. + * @param {string} params.parent Required. The parent resource whose exclusions are to be listed. "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" + * @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?: Params$Resource$Billingaccounts$Exclusions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Billingaccounts$Exclusions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Billingaccounts$Exclusions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * logging.billingAccounts.exclusions.patch + * @desc Changes one or more properties of an existing exclusion. + * @alias logging.billingAccounts.exclusions.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The resource name of the exclusion to update: "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]" "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]" "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]" Example: "projects/my-project-id/exclusions/my-exclusion-id". + * @param {string=} params.updateMask Required. A nonempty list of fields to change in the existing exclusion. New values for the fields are taken from the corresponding fields in the LogExclusion included in this request. Fields not mentioned in update_mask are not changed and are ignored in the request.For example, to change the filter and description of an exclusion, specify an update_mask of "filter,description". + * @param {().LogExclusion} 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 + */ + patch(params?: Params$Resource$Billingaccounts$Exclusions$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Billingaccounts$Exclusions$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Billingaccounts$Exclusions$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Billingaccounts$Exclusions$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The parent resource in which to create the exclusion: + * "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" Examples: + * "projects/my-logging-project", "organizations/123456789". + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$LogExclusion; + } + interface Params$Resource$Billingaccounts$Exclusions$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of an existing exclusion to delete: + * "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]" + * "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]" + * "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]" Example: + * "projects/my-project-id/exclusions/my-exclusion-id". + */ + name?: string; + } + interface Params$Resource$Billingaccounts$Exclusions$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of an existing exclusion: + * "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]" + * "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]" + * "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]" Example: + * "projects/my-project-id/exclusions/my-exclusion-id". + */ + name?: string; + } + interface Params$Resource$Billingaccounts$Exclusions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The maximum number of results to return from this request. + * Non-positive values are ignored. The presence of nextPageToken in the + * response indicates that more results might be available. + */ + pageSize?: number; + /** + * Optional. If present, then retrieve the next batch of results from the + * preceding call to this method. pageToken must be the value of + * nextPageToken from the previous response. The values of other method + * parameters should be identical to those in the previous call. + */ + pageToken?: string; + /** + * Required. The parent resource whose exclusions are to be listed. + * "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" + */ + parent?: string; + } + interface Params$Resource$Billingaccounts$Exclusions$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of the exclusion to update: + * "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]" + * "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]" + * "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]" Example: + * "projects/my-project-id/exclusions/my-exclusion-id". + */ + name?: string; + /** + * Required. A nonempty list of fields to change in the existing exclusion. + * New values for the fields are taken from the corresponding fields in the + * LogExclusion included in this request. Fields not mentioned in + * update_mask are not changed and are ignored in the request.For example, + * to change the filter and description of an exclusion, specify an + * update_mask of "filter,description". + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$LogExclusion; + } + class Resource$Billingaccounts$Logs { + root: Logging; + constructor(root: Logging); + getRoot(): Logging; + /** + * logging.billingAccounts.logs.delete + * @desc Deletes all the log entries in a log. The log reappears if it + * receives new entries. Log entries written shortly before the delete + * operation might not be deleted. + * @alias logging.billingAccounts.logs.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.logName Required. The resource name of the log to delete: "projects/[PROJECT_ID]/logs/[LOG_ID]" "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]" "folders/[FOLDER_ID]/logs/[LOG_ID]" [LOG_ID] must be URL-encoded. For example, "projects/my-project-id/logs/syslog", "organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity". For more information about log names, see LogEntry. + * @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?: Params$Resource$Billingaccounts$Logs$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Billingaccounts$Logs$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Billingaccounts$Logs$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * logging.billingAccounts.logs.list + * @desc Lists the logs in projects, organizations, folders, or billing + * accounts. Only logs that have entries are listed. + * @alias logging.billingAccounts.logs.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available. + * @param {string=} params.pageToken Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call. + * @param {string} params.parent Required. The resource name that owns the logs: "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" + * @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?: Params$Resource$Billingaccounts$Logs$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Billingaccounts$Logs$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Billingaccounts$Logs$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Billingaccounts$Logs$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of the log to delete: + * "projects/[PROJECT_ID]/logs/[LOG_ID]" + * "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]" + * "folders/[FOLDER_ID]/logs/[LOG_ID]" [LOG_ID] must be URL-encoded. For + * example, "projects/my-project-id/logs/syslog", + * "organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity". + * For more information about log names, see LogEntry. + */ + logName?: string; + } + interface Params$Resource$Billingaccounts$Logs$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The maximum number of results to return from this request. + * Non-positive values are ignored. The presence of nextPageToken in the + * response indicates that more results might be available. + */ + pageSize?: number; + /** + * Optional. If present, then retrieve the next batch of results from the + * preceding call to this method. pageToken must be the value of + * nextPageToken from the previous response. The values of other method + * parameters should be identical to those in the previous call. + */ + pageToken?: string; + /** + * Required. The resource name that owns the logs: "projects/[PROJECT_ID]" + * "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" + * "folders/[FOLDER_ID]" + */ + parent?: string; + } + class Resource$Billingaccounts$Sinks { + root: Logging; + constructor(root: Logging); + getRoot(): Logging; + /** + * logging.billingAccounts.sinks.create + * @desc Creates a sink that exports specified log entries to a destination. + * The export of newly-ingested log entries begins immediately, unless the + * sink's writer_identity is not permitted to write to the destination. A + * sink can export log entries only from the resource owning the sink. + * @alias logging.billingAccounts.sinks.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The resource in which to create the sink: "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" Examples: "projects/my-logging-project", "organizations/123456789". + * @param {boolean=} params.uniqueWriterIdentity Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a unique service account used only for exports from the new sink. For more information, see writer_identity in LogSink. + * @param {().LogSink} 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 + */ + create(params?: Params$Resource$Billingaccounts$Sinks$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Billingaccounts$Sinks$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Billingaccounts$Sinks$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * logging.billingAccounts.sinks.delete + * @desc Deletes a sink. If the sink has a unique writer_identity, then that + * service account is also deleted. + * @alias logging.billingAccounts.sinks.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.sinkName Required. The full resource name of the sink to delete, including the parent resource and the sink identifier: "projects/[PROJECT_ID]/sinks/[SINK_ID]" "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: "projects/my-project-id/sinks/my-sink-id". + * @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?: Params$Resource$Billingaccounts$Sinks$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Billingaccounts$Sinks$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Billingaccounts$Sinks$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * logging.billingAccounts.sinks.get + * @desc Gets a sink. + * @alias logging.billingAccounts.sinks.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.sinkName Required. The resource name of the sink: "projects/[PROJECT_ID]/sinks/[SINK_ID]" "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: "projects/my-project-id/sinks/my-sink-id". + * @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?: Params$Resource$Billingaccounts$Sinks$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Billingaccounts$Sinks$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Billingaccounts$Sinks$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * logging.billingAccounts.sinks.list + * @desc Lists sinks. + * @alias logging.billingAccounts.sinks.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available. + * @param {string=} params.pageToken Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call. + * @param {string} params.parent Required. The parent resource whose sinks are to be listed: "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" + * @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?: Params$Resource$Billingaccounts$Sinks$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Billingaccounts$Sinks$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Billingaccounts$Sinks$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * logging.billingAccounts.sinks.patch + * @desc Updates a sink. This method replaces the following fields in the + * existing sink with values from the new sink: destination, and filter. The + * updated sink might also have a new writer_identity; see the + * unique_writer_identity field. + * @alias logging.billingAccounts.sinks.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.sinkName Required. The full resource name of the sink to update, including the parent resource and the sink identifier: "projects/[PROJECT_ID]/sinks/[SINK_ID]" "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: "projects/my-project-id/sinks/my-sink-id". + * @param {boolean=} params.uniqueWriterIdentity Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a unique service account. It is an error if the old value is true and the new value is set to false or defaulted to false. + * @param {string=} params.updateMask Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes: destination,filter,includeChildren At some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskExample: updateMask=filter. + * @param {().LogSink} 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 + */ + patch(params?: Params$Resource$Billingaccounts$Sinks$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Billingaccounts$Sinks$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Billingaccounts$Sinks$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * logging.billingAccounts.sinks.update + * @desc Updates a sink. This method replaces the following fields in the + * existing sink with values from the new sink: destination, and filter. The + * updated sink might also have a new writer_identity; see the + * unique_writer_identity field. + * @alias logging.billingAccounts.sinks.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.sinkName Required. The full resource name of the sink to update, including the parent resource and the sink identifier: "projects/[PROJECT_ID]/sinks/[SINK_ID]" "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: "projects/my-project-id/sinks/my-sink-id". + * @param {boolean=} params.uniqueWriterIdentity Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a unique service account. It is an error if the old value is true and the new value is set to false or defaulted to false. + * @param {string=} params.updateMask Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes: destination,filter,includeChildren At some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskExample: updateMask=filter. + * @param {().LogSink} 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?: Params$Resource$Billingaccounts$Sinks$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Billingaccounts$Sinks$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Billingaccounts$Sinks$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Billingaccounts$Sinks$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource in which to create the sink: + * "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" Examples: + * "projects/my-logging-project", "organizations/123456789". + */ + parent?: string; + /** + * Optional. Determines the kind of IAM identity returned as writer_identity + * in the new sink. If this value is omitted or set to false, and if the + * sink's parent is a project, then the value returned as writer_identity is + * the same group or service account used by Logging before the addition of + * writer identities to this API. The sink's destination must be in the same + * project as the sink itself.If this field is set to true, or if the sink + * is owned by a non-project resource such as an organization, then the + * value of writer_identity will be a unique service account used only for + * exports from the new sink. For more information, see writer_identity in + * LogSink. + */ + uniqueWriterIdentity?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$LogSink; + } + interface Params$Resource$Billingaccounts$Sinks$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The full resource name of the sink to delete, including the + * parent resource and the sink identifier: + * "projects/[PROJECT_ID]/sinks/[SINK_ID]" + * "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + * "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: + * "projects/my-project-id/sinks/my-sink-id". + */ + sinkName?: string; + } + interface Params$Resource$Billingaccounts$Sinks$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of the sink: + * "projects/[PROJECT_ID]/sinks/[SINK_ID]" + * "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + * "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: + * "projects/my-project-id/sinks/my-sink-id". + */ + sinkName?: string; + } + interface Params$Resource$Billingaccounts$Sinks$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The maximum number of results to return from this request. + * Non-positive values are ignored. The presence of nextPageToken in the + * response indicates that more results might be available. + */ + pageSize?: number; + /** + * Optional. If present, then retrieve the next batch of results from the + * preceding call to this method. pageToken must be the value of + * nextPageToken from the previous response. The values of other method + * parameters should be identical to those in the previous call. + */ + pageToken?: string; + /** + * Required. The parent resource whose sinks are to be listed: + * "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" + */ + parent?: string; + } + interface Params$Resource$Billingaccounts$Sinks$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The full resource name of the sink to update, including the + * parent resource and the sink identifier: + * "projects/[PROJECT_ID]/sinks/[SINK_ID]" + * "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + * "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: + * "projects/my-project-id/sinks/my-sink-id". + */ + sinkName?: string; + /** + * Optional. See sinks.create for a description of this field. When updating + * a sink, the effect of this field on the value of writer_identity in the + * updated sink depends on both the old and new values of this field: If the + * old and new values of this field are both false or both true, then there + * is no change to the sink's writer_identity. If the old value is false and + * the new value is true, then writer_identity is changed to a unique + * service account. It is an error if the old value is true and the new + * value is set to false or defaulted to false. + */ + uniqueWriterIdentity?: boolean; + /** + * Optional. Field mask that specifies the fields in sink that need an + * update. A sink field will be overwritten if, and only if, it is in the + * update mask. name and output only fields cannot be updated.An empty + * updateMask is temporarily treated as using the following mask for + * backwards compatibility purposes: destination,filter,includeChildren At + * some point in the future, behavior will be removed and specifying an + * empty updateMask will be an error.For a detailed FieldMask definition, + * see + * https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskExample: + * updateMask=filter. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$LogSink; + } + interface Params$Resource$Billingaccounts$Sinks$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The full resource name of the sink to update, including the + * parent resource and the sink identifier: + * "projects/[PROJECT_ID]/sinks/[SINK_ID]" + * "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + * "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: + * "projects/my-project-id/sinks/my-sink-id". + */ + sinkName?: string; + /** + * Optional. See sinks.create for a description of this field. When updating + * a sink, the effect of this field on the value of writer_identity in the + * updated sink depends on both the old and new values of this field: If the + * old and new values of this field are both false or both true, then there + * is no change to the sink's writer_identity. If the old value is false and + * the new value is true, then writer_identity is changed to a unique + * service account. It is an error if the old value is true and the new + * value is set to false or defaulted to false. + */ + uniqueWriterIdentity?: boolean; + /** + * Optional. Field mask that specifies the fields in sink that need an + * update. A sink field will be overwritten if, and only if, it is in the + * update mask. name and output only fields cannot be updated.An empty + * updateMask is temporarily treated as using the following mask for + * backwards compatibility purposes: destination,filter,includeChildren At + * some point in the future, behavior will be removed and specifying an + * empty updateMask will be an error.For a detailed FieldMask definition, + * see + * https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskExample: + * updateMask=filter. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$LogSink; + } + class Resource$Entries { + root: Logging; + constructor(root: Logging); + getRoot(): Logging; + /** + * logging.entries.list + * @desc Lists log entries. Use this method to retrieve log entries from + * Logging. For ways to export log entries, see Exporting Logs. + * @alias logging.entries.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().ListLogEntriesRequest} 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 + */ + list(params?: Params$Resource$Entries$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Entries$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Entries$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * logging.entries.write + * @desc Writes log entries to Logging. This API method is the only way to + * send log entries to Logging. This method is used, directly or indirectly, + * by the Logging agent (fluentd) and all logging libraries configured to + * use Logging. A single request may contain log entries for a maximum of + * 1000 different resources (projects, organizations, billing accounts or + * folders) + * @alias logging.entries.write + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().WriteLogEntriesRequest} 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 + */ + write(params?: Params$Resource$Entries$Write, options?: MethodOptions): AxiosPromise; + write(params: Params$Resource$Entries$Write, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + write(params: Params$Resource$Entries$Write, callback: BodyResponseCallback): void; + write(callback: BodyResponseCallback): void; + } + interface Params$Resource$Entries$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$ListLogEntriesRequest; + } + interface Params$Resource$Entries$Write { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$WriteLogEntriesRequest; + } + class Resource$Exclusions { + root: Logging; + constructor(root: Logging); + getRoot(): Logging; + /** + * logging.exclusions.create + * @desc Creates a new exclusion in a specified parent resource. Only log + * entries belonging to that resource can be excluded. You can have up to 10 + * exclusions in a resource. + * @alias logging.exclusions.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The parent resource in which to create the exclusion: "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" Examples: "projects/my-logging-project", "organizations/123456789". + * @param {().LogExclusion} 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 + */ + create(params?: Params$Resource$Exclusions$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Exclusions$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Exclusions$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * logging.exclusions.delete + * @desc Deletes an exclusion. + * @alias logging.exclusions.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The resource name of an existing exclusion to delete: "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]" "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]" "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]" Example: "projects/my-project-id/exclusions/my-exclusion-id". + * @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?: Params$Resource$Exclusions$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Exclusions$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Exclusions$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * logging.exclusions.get + * @desc Gets the description of an exclusion. + * @alias logging.exclusions.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The resource name of an existing exclusion: "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]" "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]" "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]" Example: "projects/my-project-id/exclusions/my-exclusion-id". + * @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?: Params$Resource$Exclusions$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Exclusions$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Exclusions$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * logging.exclusions.list + * @desc Lists all the exclusions in a parent resource. + * @alias logging.exclusions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available. + * @param {string=} params.pageToken Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call. + * @param {string} params.parent Required. The parent resource whose exclusions are to be listed. "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" + * @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?: Params$Resource$Exclusions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Exclusions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Exclusions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * logging.exclusions.patch + * @desc Changes one or more properties of an existing exclusion. + * @alias logging.exclusions.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The resource name of the exclusion to update: "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]" "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]" "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]" Example: "projects/my-project-id/exclusions/my-exclusion-id". + * @param {string=} params.updateMask Required. A nonempty list of fields to change in the existing exclusion. New values for the fields are taken from the corresponding fields in the LogExclusion included in this request. Fields not mentioned in update_mask are not changed and are ignored in the request.For example, to change the filter and description of an exclusion, specify an update_mask of "filter,description". + * @param {().LogExclusion} 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 + */ + patch(params?: Params$Resource$Exclusions$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Exclusions$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Exclusions$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Exclusions$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The parent resource in which to create the exclusion: + * "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" Examples: + * "projects/my-logging-project", "organizations/123456789". + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$LogExclusion; + } + interface Params$Resource$Exclusions$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of an existing exclusion to delete: + * "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]" + * "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]" + * "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]" Example: + * "projects/my-project-id/exclusions/my-exclusion-id". + */ + name?: string; + } + interface Params$Resource$Exclusions$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of an existing exclusion: + * "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]" + * "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]" + * "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]" Example: + * "projects/my-project-id/exclusions/my-exclusion-id". + */ + name?: string; + } + interface Params$Resource$Exclusions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The maximum number of results to return from this request. + * Non-positive values are ignored. The presence of nextPageToken in the + * response indicates that more results might be available. + */ + pageSize?: number; + /** + * Optional. If present, then retrieve the next batch of results from the + * preceding call to this method. pageToken must be the value of + * nextPageToken from the previous response. The values of other method + * parameters should be identical to those in the previous call. + */ + pageToken?: string; + /** + * Required. The parent resource whose exclusions are to be listed. + * "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" + */ + parent?: string; + } + interface Params$Resource$Exclusions$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of the exclusion to update: + * "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]" + * "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]" + * "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]" Example: + * "projects/my-project-id/exclusions/my-exclusion-id". + */ + name?: string; + /** + * Required. A nonempty list of fields to change in the existing exclusion. + * New values for the fields are taken from the corresponding fields in the + * LogExclusion included in this request. Fields not mentioned in + * update_mask are not changed and are ignored in the request.For example, + * to change the filter and description of an exclusion, specify an + * update_mask of "filter,description". + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$LogExclusion; + } + class Resource$Folders { + root: Logging; + exclusions: Resource$Folders$Exclusions; + logs: Resource$Folders$Logs; + sinks: Resource$Folders$Sinks; + constructor(root: Logging); + getRoot(): Logging; + } + class Resource$Folders$Exclusions { + root: Logging; + constructor(root: Logging); + getRoot(): Logging; + /** + * logging.folders.exclusions.create + * @desc Creates a new exclusion in a specified parent resource. Only log + * entries belonging to that resource can be excluded. You can have up to 10 + * exclusions in a resource. + * @alias logging.folders.exclusions.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The parent resource in which to create the exclusion: "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" Examples: "projects/my-logging-project", "organizations/123456789". + * @param {().LogExclusion} 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 + */ + create(params?: Params$Resource$Folders$Exclusions$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Folders$Exclusions$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Folders$Exclusions$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * logging.folders.exclusions.delete + * @desc Deletes an exclusion. + * @alias logging.folders.exclusions.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The resource name of an existing exclusion to delete: "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]" "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]" "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]" Example: "projects/my-project-id/exclusions/my-exclusion-id". + * @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?: Params$Resource$Folders$Exclusions$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Folders$Exclusions$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Folders$Exclusions$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * logging.folders.exclusions.get + * @desc Gets the description of an exclusion. + * @alias logging.folders.exclusions.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The resource name of an existing exclusion: "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]" "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]" "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]" Example: "projects/my-project-id/exclusions/my-exclusion-id". + * @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?: Params$Resource$Folders$Exclusions$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Folders$Exclusions$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Folders$Exclusions$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * logging.folders.exclusions.list + * @desc Lists all the exclusions in a parent resource. + * @alias logging.folders.exclusions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available. + * @param {string=} params.pageToken Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call. + * @param {string} params.parent Required. The parent resource whose exclusions are to be listed. "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" + * @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?: Params$Resource$Folders$Exclusions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Folders$Exclusions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Folders$Exclusions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * logging.folders.exclusions.patch + * @desc Changes one or more properties of an existing exclusion. + * @alias logging.folders.exclusions.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The resource name of the exclusion to update: "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]" "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]" "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]" Example: "projects/my-project-id/exclusions/my-exclusion-id". + * @param {string=} params.updateMask Required. A nonempty list of fields to change in the existing exclusion. New values for the fields are taken from the corresponding fields in the LogExclusion included in this request. Fields not mentioned in update_mask are not changed and are ignored in the request.For example, to change the filter and description of an exclusion, specify an update_mask of "filter,description". + * @param {().LogExclusion} 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 + */ + patch(params?: Params$Resource$Folders$Exclusions$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Folders$Exclusions$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Folders$Exclusions$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Folders$Exclusions$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The parent resource in which to create the exclusion: + * "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" Examples: + * "projects/my-logging-project", "organizations/123456789". + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$LogExclusion; + } + interface Params$Resource$Folders$Exclusions$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of an existing exclusion to delete: + * "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]" + * "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]" + * "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]" Example: + * "projects/my-project-id/exclusions/my-exclusion-id". + */ + name?: string; + } + interface Params$Resource$Folders$Exclusions$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of an existing exclusion: + * "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]" + * "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]" + * "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]" Example: + * "projects/my-project-id/exclusions/my-exclusion-id". + */ + name?: string; + } + interface Params$Resource$Folders$Exclusions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The maximum number of results to return from this request. + * Non-positive values are ignored. The presence of nextPageToken in the + * response indicates that more results might be available. + */ + pageSize?: number; + /** + * Optional. If present, then retrieve the next batch of results from the + * preceding call to this method. pageToken must be the value of + * nextPageToken from the previous response. The values of other method + * parameters should be identical to those in the previous call. + */ + pageToken?: string; + /** + * Required. The parent resource whose exclusions are to be listed. + * "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" + */ + parent?: string; + } + interface Params$Resource$Folders$Exclusions$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of the exclusion to update: + * "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]" + * "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]" + * "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]" Example: + * "projects/my-project-id/exclusions/my-exclusion-id". + */ + name?: string; + /** + * Required. A nonempty list of fields to change in the existing exclusion. + * New values for the fields are taken from the corresponding fields in the + * LogExclusion included in this request. Fields not mentioned in + * update_mask are not changed and are ignored in the request.For example, + * to change the filter and description of an exclusion, specify an + * update_mask of "filter,description". + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$LogExclusion; + } + class Resource$Folders$Logs { + root: Logging; + constructor(root: Logging); + getRoot(): Logging; + /** + * logging.folders.logs.delete + * @desc Deletes all the log entries in a log. The log reappears if it + * receives new entries. Log entries written shortly before the delete + * operation might not be deleted. + * @alias logging.folders.logs.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.logName Required. The resource name of the log to delete: "projects/[PROJECT_ID]/logs/[LOG_ID]" "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]" "folders/[FOLDER_ID]/logs/[LOG_ID]" [LOG_ID] must be URL-encoded. For example, "projects/my-project-id/logs/syslog", "organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity". For more information about log names, see LogEntry. + * @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?: Params$Resource$Folders$Logs$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Folders$Logs$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Folders$Logs$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * logging.folders.logs.list + * @desc Lists the logs in projects, organizations, folders, or billing + * accounts. Only logs that have entries are listed. + * @alias logging.folders.logs.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available. + * @param {string=} params.pageToken Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call. + * @param {string} params.parent Required. The resource name that owns the logs: "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" + * @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?: Params$Resource$Folders$Logs$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Folders$Logs$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Folders$Logs$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Folders$Logs$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of the log to delete: + * "projects/[PROJECT_ID]/logs/[LOG_ID]" + * "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]" + * "folders/[FOLDER_ID]/logs/[LOG_ID]" [LOG_ID] must be URL-encoded. For + * example, "projects/my-project-id/logs/syslog", + * "organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity". + * For more information about log names, see LogEntry. + */ + logName?: string; + } + interface Params$Resource$Folders$Logs$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The maximum number of results to return from this request. + * Non-positive values are ignored. The presence of nextPageToken in the + * response indicates that more results might be available. + */ + pageSize?: number; + /** + * Optional. If present, then retrieve the next batch of results from the + * preceding call to this method. pageToken must be the value of + * nextPageToken from the previous response. The values of other method + * parameters should be identical to those in the previous call. + */ + pageToken?: string; + /** + * Required. The resource name that owns the logs: "projects/[PROJECT_ID]" + * "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" + * "folders/[FOLDER_ID]" + */ + parent?: string; + } + class Resource$Folders$Sinks { + root: Logging; + constructor(root: Logging); + getRoot(): Logging; + /** + * logging.folders.sinks.create + * @desc Creates a sink that exports specified log entries to a destination. + * The export of newly-ingested log entries begins immediately, unless the + * sink's writer_identity is not permitted to write to the destination. A + * sink can export log entries only from the resource owning the sink. + * @alias logging.folders.sinks.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The resource in which to create the sink: "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" Examples: "projects/my-logging-project", "organizations/123456789". + * @param {boolean=} params.uniqueWriterIdentity Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a unique service account used only for exports from the new sink. For more information, see writer_identity in LogSink. + * @param {().LogSink} 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 + */ + create(params?: Params$Resource$Folders$Sinks$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Folders$Sinks$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Folders$Sinks$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * logging.folders.sinks.delete + * @desc Deletes a sink. If the sink has a unique writer_identity, then that + * service account is also deleted. + * @alias logging.folders.sinks.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.sinkName Required. The full resource name of the sink to delete, including the parent resource and the sink identifier: "projects/[PROJECT_ID]/sinks/[SINK_ID]" "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: "projects/my-project-id/sinks/my-sink-id". + * @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?: Params$Resource$Folders$Sinks$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Folders$Sinks$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Folders$Sinks$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * logging.folders.sinks.get + * @desc Gets a sink. + * @alias logging.folders.sinks.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.sinkName Required. The resource name of the sink: "projects/[PROJECT_ID]/sinks/[SINK_ID]" "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: "projects/my-project-id/sinks/my-sink-id". + * @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?: Params$Resource$Folders$Sinks$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Folders$Sinks$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Folders$Sinks$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * logging.folders.sinks.list + * @desc Lists sinks. + * @alias logging.folders.sinks.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available. + * @param {string=} params.pageToken Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call. + * @param {string} params.parent Required. The parent resource whose sinks are to be listed: "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" + * @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?: Params$Resource$Folders$Sinks$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Folders$Sinks$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Folders$Sinks$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * logging.folders.sinks.patch + * @desc Updates a sink. This method replaces the following fields in the + * existing sink with values from the new sink: destination, and filter. The + * updated sink might also have a new writer_identity; see the + * unique_writer_identity field. + * @alias logging.folders.sinks.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.sinkName Required. The full resource name of the sink to update, including the parent resource and the sink identifier: "projects/[PROJECT_ID]/sinks/[SINK_ID]" "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: "projects/my-project-id/sinks/my-sink-id". + * @param {boolean=} params.uniqueWriterIdentity Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a unique service account. It is an error if the old value is true and the new value is set to false or defaulted to false. + * @param {string=} params.updateMask Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes: destination,filter,includeChildren At some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskExample: updateMask=filter. + * @param {().LogSink} 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 + */ + patch(params?: Params$Resource$Folders$Sinks$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Folders$Sinks$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Folders$Sinks$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * logging.folders.sinks.update + * @desc Updates a sink. This method replaces the following fields in the + * existing sink with values from the new sink: destination, and filter. The + * updated sink might also have a new writer_identity; see the + * unique_writer_identity field. + * @alias logging.folders.sinks.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.sinkName Required. The full resource name of the sink to update, including the parent resource and the sink identifier: "projects/[PROJECT_ID]/sinks/[SINK_ID]" "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: "projects/my-project-id/sinks/my-sink-id". + * @param {boolean=} params.uniqueWriterIdentity Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a unique service account. It is an error if the old value is true and the new value is set to false or defaulted to false. + * @param {string=} params.updateMask Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes: destination,filter,includeChildren At some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskExample: updateMask=filter. + * @param {().LogSink} 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?: Params$Resource$Folders$Sinks$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Folders$Sinks$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Folders$Sinks$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Folders$Sinks$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource in which to create the sink: + * "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" Examples: + * "projects/my-logging-project", "organizations/123456789". + */ + parent?: string; + /** + * Optional. Determines the kind of IAM identity returned as writer_identity + * in the new sink. If this value is omitted or set to false, and if the + * sink's parent is a project, then the value returned as writer_identity is + * the same group or service account used by Logging before the addition of + * writer identities to this API. The sink's destination must be in the same + * project as the sink itself.If this field is set to true, or if the sink + * is owned by a non-project resource such as an organization, then the + * value of writer_identity will be a unique service account used only for + * exports from the new sink. For more information, see writer_identity in + * LogSink. + */ + uniqueWriterIdentity?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$LogSink; + } + interface Params$Resource$Folders$Sinks$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The full resource name of the sink to delete, including the + * parent resource and the sink identifier: + * "projects/[PROJECT_ID]/sinks/[SINK_ID]" + * "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + * "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: + * "projects/my-project-id/sinks/my-sink-id". + */ + sinkName?: string; + } + interface Params$Resource$Folders$Sinks$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of the sink: + * "projects/[PROJECT_ID]/sinks/[SINK_ID]" + * "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + * "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: + * "projects/my-project-id/sinks/my-sink-id". + */ + sinkName?: string; + } + interface Params$Resource$Folders$Sinks$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The maximum number of results to return from this request. + * Non-positive values are ignored. The presence of nextPageToken in the + * response indicates that more results might be available. + */ + pageSize?: number; + /** + * Optional. If present, then retrieve the next batch of results from the + * preceding call to this method. pageToken must be the value of + * nextPageToken from the previous response. The values of other method + * parameters should be identical to those in the previous call. + */ + pageToken?: string; + /** + * Required. The parent resource whose sinks are to be listed: + * "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" + */ + parent?: string; + } + interface Params$Resource$Folders$Sinks$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The full resource name of the sink to update, including the + * parent resource and the sink identifier: + * "projects/[PROJECT_ID]/sinks/[SINK_ID]" + * "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + * "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: + * "projects/my-project-id/sinks/my-sink-id". + */ + sinkName?: string; + /** + * Optional. See sinks.create for a description of this field. When updating + * a sink, the effect of this field on the value of writer_identity in the + * updated sink depends on both the old and new values of this field: If the + * old and new values of this field are both false or both true, then there + * is no change to the sink's writer_identity. If the old value is false and + * the new value is true, then writer_identity is changed to a unique + * service account. It is an error if the old value is true and the new + * value is set to false or defaulted to false. + */ + uniqueWriterIdentity?: boolean; + /** + * Optional. Field mask that specifies the fields in sink that need an + * update. A sink field will be overwritten if, and only if, it is in the + * update mask. name and output only fields cannot be updated.An empty + * updateMask is temporarily treated as using the following mask for + * backwards compatibility purposes: destination,filter,includeChildren At + * some point in the future, behavior will be removed and specifying an + * empty updateMask will be an error.For a detailed FieldMask definition, + * see + * https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskExample: + * updateMask=filter. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$LogSink; + } + interface Params$Resource$Folders$Sinks$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The full resource name of the sink to update, including the + * parent resource and the sink identifier: + * "projects/[PROJECT_ID]/sinks/[SINK_ID]" + * "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + * "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: + * "projects/my-project-id/sinks/my-sink-id". + */ + sinkName?: string; + /** + * Optional. See sinks.create for a description of this field. When updating + * a sink, the effect of this field on the value of writer_identity in the + * updated sink depends on both the old and new values of this field: If the + * old and new values of this field are both false or both true, then there + * is no change to the sink's writer_identity. If the old value is false and + * the new value is true, then writer_identity is changed to a unique + * service account. It is an error if the old value is true and the new + * value is set to false or defaulted to false. + */ + uniqueWriterIdentity?: boolean; + /** + * Optional. Field mask that specifies the fields in sink that need an + * update. A sink field will be overwritten if, and only if, it is in the + * update mask. name and output only fields cannot be updated.An empty + * updateMask is temporarily treated as using the following mask for + * backwards compatibility purposes: destination,filter,includeChildren At + * some point in the future, behavior will be removed and specifying an + * empty updateMask will be an error.For a detailed FieldMask definition, + * see + * https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskExample: + * updateMask=filter. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$LogSink; + } + class Resource$Logs { + root: Logging; + constructor(root: Logging); + getRoot(): Logging; + /** + * logging.logs.delete + * @desc Deletes all the log entries in a log. The log reappears if it + * receives new entries. Log entries written shortly before the delete + * operation might not be deleted. + * @alias logging.logs.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.logName Required. The resource name of the log to delete: "projects/[PROJECT_ID]/logs/[LOG_ID]" "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]" "folders/[FOLDER_ID]/logs/[LOG_ID]" [LOG_ID] must be URL-encoded. For example, "projects/my-project-id/logs/syslog", "organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity". For more information about log names, see LogEntry. + * @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?: Params$Resource$Logs$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Logs$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Logs$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * logging.logs.list + * @desc Lists the logs in projects, organizations, folders, or billing + * accounts. Only logs that have entries are listed. + * @alias logging.logs.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available. + * @param {string=} params.pageToken Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call. + * @param {string} params.parent Required. The resource name that owns the logs: "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" + * @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?: Params$Resource$Logs$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Logs$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Logs$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Logs$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of the log to delete: + * "projects/[PROJECT_ID]/logs/[LOG_ID]" + * "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]" + * "folders/[FOLDER_ID]/logs/[LOG_ID]" [LOG_ID] must be URL-encoded. For + * example, "projects/my-project-id/logs/syslog", + * "organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity". + * For more information about log names, see LogEntry. + */ + logName?: string; + } + interface Params$Resource$Logs$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The maximum number of results to return from this request. + * Non-positive values are ignored. The presence of nextPageToken in the + * response indicates that more results might be available. + */ + pageSize?: number; + /** + * Optional. If present, then retrieve the next batch of results from the + * preceding call to this method. pageToken must be the value of + * nextPageToken from the previous response. The values of other method + * parameters should be identical to those in the previous call. + */ + pageToken?: string; + /** + * Required. The resource name that owns the logs: "projects/[PROJECT_ID]" + * "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" + * "folders/[FOLDER_ID]" + */ + parent?: string; + } + class Resource$Monitoredresourcedescriptors { + root: Logging; + constructor(root: Logging); + getRoot(): Logging; + /** + * logging.monitoredResourceDescriptors.list + * @desc Lists the descriptors for monitored resource types used by Logging. + * @alias logging.monitoredResourceDescriptors.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available. + * @param {string=} params.pageToken Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call. + * @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?: Params$Resource$Monitoredresourcedescriptors$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Monitoredresourcedescriptors$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Monitoredresourcedescriptors$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Monitoredresourcedescriptors$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The maximum number of results to return from this request. + * Non-positive values are ignored. The presence of nextPageToken in the + * response indicates that more results might be available. + */ + pageSize?: number; + /** + * Optional. If present, then retrieve the next batch of results from the + * preceding call to this method. pageToken must be the value of + * nextPageToken from the previous response. The values of other method + * parameters should be identical to those in the previous call. + */ + pageToken?: string; + } + class Resource$Organizations { + root: Logging; + exclusions: Resource$Organizations$Exclusions; + logs: Resource$Organizations$Logs; + sinks: Resource$Organizations$Sinks; + constructor(root: Logging); + getRoot(): Logging; + } + class Resource$Organizations$Exclusions { + root: Logging; + constructor(root: Logging); + getRoot(): Logging; + /** + * logging.organizations.exclusions.create + * @desc Creates a new exclusion in a specified parent resource. Only log + * entries belonging to that resource can be excluded. You can have up to 10 + * exclusions in a resource. + * @alias logging.organizations.exclusions.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The parent resource in which to create the exclusion: "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" Examples: "projects/my-logging-project", "organizations/123456789". + * @param {().LogExclusion} 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 + */ + create(params?: Params$Resource$Organizations$Exclusions$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Organizations$Exclusions$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Organizations$Exclusions$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * logging.organizations.exclusions.delete + * @desc Deletes an exclusion. + * @alias logging.organizations.exclusions.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The resource name of an existing exclusion to delete: "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]" "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]" "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]" Example: "projects/my-project-id/exclusions/my-exclusion-id". + * @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?: Params$Resource$Organizations$Exclusions$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Organizations$Exclusions$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Organizations$Exclusions$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * logging.organizations.exclusions.get + * @desc Gets the description of an exclusion. + * @alias logging.organizations.exclusions.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The resource name of an existing exclusion: "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]" "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]" "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]" Example: "projects/my-project-id/exclusions/my-exclusion-id". + * @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?: Params$Resource$Organizations$Exclusions$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Organizations$Exclusions$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Organizations$Exclusions$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * logging.organizations.exclusions.list + * @desc Lists all the exclusions in a parent resource. + * @alias logging.organizations.exclusions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available. + * @param {string=} params.pageToken Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call. + * @param {string} params.parent Required. The parent resource whose exclusions are to be listed. "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" + * @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?: Params$Resource$Organizations$Exclusions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Organizations$Exclusions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Organizations$Exclusions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * logging.organizations.exclusions.patch + * @desc Changes one or more properties of an existing exclusion. + * @alias logging.organizations.exclusions.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The resource name of the exclusion to update: "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]" "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]" "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]" Example: "projects/my-project-id/exclusions/my-exclusion-id". + * @param {string=} params.updateMask Required. A nonempty list of fields to change in the existing exclusion. New values for the fields are taken from the corresponding fields in the LogExclusion included in this request. Fields not mentioned in update_mask are not changed and are ignored in the request.For example, to change the filter and description of an exclusion, specify an update_mask of "filter,description". + * @param {().LogExclusion} 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 + */ + patch(params?: Params$Resource$Organizations$Exclusions$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Organizations$Exclusions$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Organizations$Exclusions$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Organizations$Exclusions$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The parent resource in which to create the exclusion: + * "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" Examples: + * "projects/my-logging-project", "organizations/123456789". + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$LogExclusion; + } + interface Params$Resource$Organizations$Exclusions$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of an existing exclusion to delete: + * "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]" + * "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]" + * "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]" Example: + * "projects/my-project-id/exclusions/my-exclusion-id". + */ + name?: string; + } + interface Params$Resource$Organizations$Exclusions$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of an existing exclusion: + * "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]" + * "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]" + * "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]" Example: + * "projects/my-project-id/exclusions/my-exclusion-id". + */ + name?: string; + } + interface Params$Resource$Organizations$Exclusions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The maximum number of results to return from this request. + * Non-positive values are ignored. The presence of nextPageToken in the + * response indicates that more results might be available. + */ + pageSize?: number; + /** + * Optional. If present, then retrieve the next batch of results from the + * preceding call to this method. pageToken must be the value of + * nextPageToken from the previous response. The values of other method + * parameters should be identical to those in the previous call. + */ + pageToken?: string; + /** + * Required. The parent resource whose exclusions are to be listed. + * "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" + */ + parent?: string; + } + interface Params$Resource$Organizations$Exclusions$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of the exclusion to update: + * "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]" + * "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]" + * "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]" Example: + * "projects/my-project-id/exclusions/my-exclusion-id". + */ + name?: string; + /** + * Required. A nonempty list of fields to change in the existing exclusion. + * New values for the fields are taken from the corresponding fields in the + * LogExclusion included in this request. Fields not mentioned in + * update_mask are not changed and are ignored in the request.For example, + * to change the filter and description of an exclusion, specify an + * update_mask of "filter,description". + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$LogExclusion; + } + class Resource$Organizations$Logs { + root: Logging; + constructor(root: Logging); + getRoot(): Logging; + /** + * logging.organizations.logs.delete + * @desc Deletes all the log entries in a log. The log reappears if it + * receives new entries. Log entries written shortly before the delete + * operation might not be deleted. + * @alias logging.organizations.logs.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.logName Required. The resource name of the log to delete: "projects/[PROJECT_ID]/logs/[LOG_ID]" "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]" "folders/[FOLDER_ID]/logs/[LOG_ID]" [LOG_ID] must be URL-encoded. For example, "projects/my-project-id/logs/syslog", "organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity". For more information about log names, see LogEntry. + * @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?: Params$Resource$Organizations$Logs$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Organizations$Logs$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Organizations$Logs$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * logging.organizations.logs.list + * @desc Lists the logs in projects, organizations, folders, or billing + * accounts. Only logs that have entries are listed. + * @alias logging.organizations.logs.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available. + * @param {string=} params.pageToken Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call. + * @param {string} params.parent Required. The resource name that owns the logs: "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" + * @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?: Params$Resource$Organizations$Logs$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Organizations$Logs$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Organizations$Logs$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Organizations$Logs$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of the log to delete: + * "projects/[PROJECT_ID]/logs/[LOG_ID]" + * "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]" + * "folders/[FOLDER_ID]/logs/[LOG_ID]" [LOG_ID] must be URL-encoded. For + * example, "projects/my-project-id/logs/syslog", + * "organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity". + * For more information about log names, see LogEntry. + */ + logName?: string; + } + interface Params$Resource$Organizations$Logs$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The maximum number of results to return from this request. + * Non-positive values are ignored. The presence of nextPageToken in the + * response indicates that more results might be available. + */ + pageSize?: number; + /** + * Optional. If present, then retrieve the next batch of results from the + * preceding call to this method. pageToken must be the value of + * nextPageToken from the previous response. The values of other method + * parameters should be identical to those in the previous call. + */ + pageToken?: string; + /** + * Required. The resource name that owns the logs: "projects/[PROJECT_ID]" + * "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" + * "folders/[FOLDER_ID]" + */ + parent?: string; + } + class Resource$Organizations$Sinks { + root: Logging; + constructor(root: Logging); + getRoot(): Logging; + /** + * logging.organizations.sinks.create + * @desc Creates a sink that exports specified log entries to a destination. + * The export of newly-ingested log entries begins immediately, unless the + * sink's writer_identity is not permitted to write to the destination. A + * sink can export log entries only from the resource owning the sink. + * @alias logging.organizations.sinks.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The resource in which to create the sink: "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" Examples: "projects/my-logging-project", "organizations/123456789". + * @param {boolean=} params.uniqueWriterIdentity Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a unique service account used only for exports from the new sink. For more information, see writer_identity in LogSink. + * @param {().LogSink} 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 + */ + create(params?: Params$Resource$Organizations$Sinks$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Organizations$Sinks$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Organizations$Sinks$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * logging.organizations.sinks.delete + * @desc Deletes a sink. If the sink has a unique writer_identity, then that + * service account is also deleted. + * @alias logging.organizations.sinks.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.sinkName Required. The full resource name of the sink to delete, including the parent resource and the sink identifier: "projects/[PROJECT_ID]/sinks/[SINK_ID]" "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: "projects/my-project-id/sinks/my-sink-id". + * @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?: Params$Resource$Organizations$Sinks$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Organizations$Sinks$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Organizations$Sinks$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * logging.organizations.sinks.get + * @desc Gets a sink. + * @alias logging.organizations.sinks.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.sinkName Required. The resource name of the sink: "projects/[PROJECT_ID]/sinks/[SINK_ID]" "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: "projects/my-project-id/sinks/my-sink-id". + * @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?: Params$Resource$Organizations$Sinks$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Organizations$Sinks$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Organizations$Sinks$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * logging.organizations.sinks.list + * @desc Lists sinks. + * @alias logging.organizations.sinks.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available. + * @param {string=} params.pageToken Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call. + * @param {string} params.parent Required. The parent resource whose sinks are to be listed: "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" + * @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?: Params$Resource$Organizations$Sinks$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Organizations$Sinks$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Organizations$Sinks$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * logging.organizations.sinks.patch + * @desc Updates a sink. This method replaces the following fields in the + * existing sink with values from the new sink: destination, and filter. The + * updated sink might also have a new writer_identity; see the + * unique_writer_identity field. + * @alias logging.organizations.sinks.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.sinkName Required. The full resource name of the sink to update, including the parent resource and the sink identifier: "projects/[PROJECT_ID]/sinks/[SINK_ID]" "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: "projects/my-project-id/sinks/my-sink-id". + * @param {boolean=} params.uniqueWriterIdentity Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a unique service account. It is an error if the old value is true and the new value is set to false or defaulted to false. + * @param {string=} params.updateMask Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes: destination,filter,includeChildren At some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskExample: updateMask=filter. + * @param {().LogSink} 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 + */ + patch(params?: Params$Resource$Organizations$Sinks$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Organizations$Sinks$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Organizations$Sinks$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * logging.organizations.sinks.update + * @desc Updates a sink. This method replaces the following fields in the + * existing sink with values from the new sink: destination, and filter. The + * updated sink might also have a new writer_identity; see the + * unique_writer_identity field. + * @alias logging.organizations.sinks.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.sinkName Required. The full resource name of the sink to update, including the parent resource and the sink identifier: "projects/[PROJECT_ID]/sinks/[SINK_ID]" "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: "projects/my-project-id/sinks/my-sink-id". + * @param {boolean=} params.uniqueWriterIdentity Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a unique service account. It is an error if the old value is true and the new value is set to false or defaulted to false. + * @param {string=} params.updateMask Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes: destination,filter,includeChildren At some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskExample: updateMask=filter. + * @param {().LogSink} 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?: Params$Resource$Organizations$Sinks$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Organizations$Sinks$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Organizations$Sinks$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Organizations$Sinks$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource in which to create the sink: + * "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" Examples: + * "projects/my-logging-project", "organizations/123456789". + */ + parent?: string; + /** + * Optional. Determines the kind of IAM identity returned as writer_identity + * in the new sink. If this value is omitted or set to false, and if the + * sink's parent is a project, then the value returned as writer_identity is + * the same group or service account used by Logging before the addition of + * writer identities to this API. The sink's destination must be in the same + * project as the sink itself.If this field is set to true, or if the sink + * is owned by a non-project resource such as an organization, then the + * value of writer_identity will be a unique service account used only for + * exports from the new sink. For more information, see writer_identity in + * LogSink. + */ + uniqueWriterIdentity?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$LogSink; + } + interface Params$Resource$Organizations$Sinks$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The full resource name of the sink to delete, including the + * parent resource and the sink identifier: + * "projects/[PROJECT_ID]/sinks/[SINK_ID]" + * "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + * "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: + * "projects/my-project-id/sinks/my-sink-id". + */ + sinkName?: string; + } + interface Params$Resource$Organizations$Sinks$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of the sink: + * "projects/[PROJECT_ID]/sinks/[SINK_ID]" + * "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + * "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: + * "projects/my-project-id/sinks/my-sink-id". + */ + sinkName?: string; + } + interface Params$Resource$Organizations$Sinks$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The maximum number of results to return from this request. + * Non-positive values are ignored. The presence of nextPageToken in the + * response indicates that more results might be available. + */ + pageSize?: number; + /** + * Optional. If present, then retrieve the next batch of results from the + * preceding call to this method. pageToken must be the value of + * nextPageToken from the previous response. The values of other method + * parameters should be identical to those in the previous call. + */ + pageToken?: string; + /** + * Required. The parent resource whose sinks are to be listed: + * "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" + */ + parent?: string; + } + interface Params$Resource$Organizations$Sinks$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The full resource name of the sink to update, including the + * parent resource and the sink identifier: + * "projects/[PROJECT_ID]/sinks/[SINK_ID]" + * "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + * "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: + * "projects/my-project-id/sinks/my-sink-id". + */ + sinkName?: string; + /** + * Optional. See sinks.create for a description of this field. When updating + * a sink, the effect of this field on the value of writer_identity in the + * updated sink depends on both the old and new values of this field: If the + * old and new values of this field are both false or both true, then there + * is no change to the sink's writer_identity. If the old value is false and + * the new value is true, then writer_identity is changed to a unique + * service account. It is an error if the old value is true and the new + * value is set to false or defaulted to false. + */ + uniqueWriterIdentity?: boolean; + /** + * Optional. Field mask that specifies the fields in sink that need an + * update. A sink field will be overwritten if, and only if, it is in the + * update mask. name and output only fields cannot be updated.An empty + * updateMask is temporarily treated as using the following mask for + * backwards compatibility purposes: destination,filter,includeChildren At + * some point in the future, behavior will be removed and specifying an + * empty updateMask will be an error.For a detailed FieldMask definition, + * see + * https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskExample: + * updateMask=filter. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$LogSink; + } + interface Params$Resource$Organizations$Sinks$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The full resource name of the sink to update, including the + * parent resource and the sink identifier: + * "projects/[PROJECT_ID]/sinks/[SINK_ID]" + * "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + * "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: + * "projects/my-project-id/sinks/my-sink-id". + */ + sinkName?: string; + /** + * Optional. See sinks.create for a description of this field. When updating + * a sink, the effect of this field on the value of writer_identity in the + * updated sink depends on both the old and new values of this field: If the + * old and new values of this field are both false or both true, then there + * is no change to the sink's writer_identity. If the old value is false and + * the new value is true, then writer_identity is changed to a unique + * service account. It is an error if the old value is true and the new + * value is set to false or defaulted to false. + */ + uniqueWriterIdentity?: boolean; + /** + * Optional. Field mask that specifies the fields in sink that need an + * update. A sink field will be overwritten if, and only if, it is in the + * update mask. name and output only fields cannot be updated.An empty + * updateMask is temporarily treated as using the following mask for + * backwards compatibility purposes: destination,filter,includeChildren At + * some point in the future, behavior will be removed and specifying an + * empty updateMask will be an error.For a detailed FieldMask definition, + * see + * https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskExample: + * updateMask=filter. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$LogSink; + } + class Resource$Projects { + root: Logging; + exclusions: Resource$Projects$Exclusions; + logs: Resource$Projects$Logs; + metrics: Resource$Projects$Metrics; + sinks: Resource$Projects$Sinks; + constructor(root: Logging); + getRoot(): Logging; + } + class Resource$Projects$Exclusions { + root: Logging; + constructor(root: Logging); + getRoot(): Logging; + /** + * logging.projects.exclusions.create + * @desc Creates a new exclusion in a specified parent resource. Only log + * entries belonging to that resource can be excluded. You can have up to 10 + * exclusions in a resource. + * @alias logging.projects.exclusions.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The parent resource in which to create the exclusion: "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" Examples: "projects/my-logging-project", "organizations/123456789". + * @param {().LogExclusion} 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 + */ + create(params?: Params$Resource$Projects$Exclusions$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Exclusions$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Exclusions$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * logging.projects.exclusions.delete + * @desc Deletes an exclusion. + * @alias logging.projects.exclusions.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The resource name of an existing exclusion to delete: "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]" "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]" "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]" Example: "projects/my-project-id/exclusions/my-exclusion-id". + * @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?: Params$Resource$Projects$Exclusions$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Exclusions$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Exclusions$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * logging.projects.exclusions.get + * @desc Gets the description of an exclusion. + * @alias logging.projects.exclusions.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The resource name of an existing exclusion: "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]" "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]" "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]" Example: "projects/my-project-id/exclusions/my-exclusion-id". + * @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?: Params$Resource$Projects$Exclusions$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Exclusions$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Exclusions$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * logging.projects.exclusions.list + * @desc Lists all the exclusions in a parent resource. + * @alias logging.projects.exclusions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available. + * @param {string=} params.pageToken Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call. + * @param {string} params.parent Required. The parent resource whose exclusions are to be listed. "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" + * @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?: Params$Resource$Projects$Exclusions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Exclusions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Exclusions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * logging.projects.exclusions.patch + * @desc Changes one or more properties of an existing exclusion. + * @alias logging.projects.exclusions.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The resource name of the exclusion to update: "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]" "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]" "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]" Example: "projects/my-project-id/exclusions/my-exclusion-id". + * @param {string=} params.updateMask Required. A nonempty list of fields to change in the existing exclusion. New values for the fields are taken from the corresponding fields in the LogExclusion included in this request. Fields not mentioned in update_mask are not changed and are ignored in the request.For example, to change the filter and description of an exclusion, specify an update_mask of "filter,description". + * @param {().LogExclusion} 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 + */ + patch(params?: Params$Resource$Projects$Exclusions$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Exclusions$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Exclusions$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Exclusions$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The parent resource in which to create the exclusion: + * "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" Examples: + * "projects/my-logging-project", "organizations/123456789". + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$LogExclusion; + } + interface Params$Resource$Projects$Exclusions$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of an existing exclusion to delete: + * "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]" + * "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]" + * "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]" Example: + * "projects/my-project-id/exclusions/my-exclusion-id". + */ + name?: string; + } + interface Params$Resource$Projects$Exclusions$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of an existing exclusion: + * "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]" + * "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]" + * "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]" Example: + * "projects/my-project-id/exclusions/my-exclusion-id". + */ + name?: string; + } + interface Params$Resource$Projects$Exclusions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The maximum number of results to return from this request. + * Non-positive values are ignored. The presence of nextPageToken in the + * response indicates that more results might be available. + */ + pageSize?: number; + /** + * Optional. If present, then retrieve the next batch of results from the + * preceding call to this method. pageToken must be the value of + * nextPageToken from the previous response. The values of other method + * parameters should be identical to those in the previous call. + */ + pageToken?: string; + /** + * Required. The parent resource whose exclusions are to be listed. + * "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" + */ + parent?: string; + } + interface Params$Resource$Projects$Exclusions$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of the exclusion to update: + * "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]" + * "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]" + * "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]" Example: + * "projects/my-project-id/exclusions/my-exclusion-id". + */ + name?: string; + /** + * Required. A nonempty list of fields to change in the existing exclusion. + * New values for the fields are taken from the corresponding fields in the + * LogExclusion included in this request. Fields not mentioned in + * update_mask are not changed and are ignored in the request.For example, + * to change the filter and description of an exclusion, specify an + * update_mask of "filter,description". + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$LogExclusion; + } + class Resource$Projects$Logs { + root: Logging; + constructor(root: Logging); + getRoot(): Logging; + /** + * logging.projects.logs.delete + * @desc Deletes all the log entries in a log. The log reappears if it + * receives new entries. Log entries written shortly before the delete + * operation might not be deleted. + * @alias logging.projects.logs.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.logName Required. The resource name of the log to delete: "projects/[PROJECT_ID]/logs/[LOG_ID]" "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]" "folders/[FOLDER_ID]/logs/[LOG_ID]" [LOG_ID] must be URL-encoded. For example, "projects/my-project-id/logs/syslog", "organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity". For more information about log names, see LogEntry. + * @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?: Params$Resource$Projects$Logs$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Logs$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Logs$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * logging.projects.logs.list + * @desc Lists the logs in projects, organizations, folders, or billing + * accounts. Only logs that have entries are listed. + * @alias logging.projects.logs.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available. + * @param {string=} params.pageToken Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call. + * @param {string} params.parent Required. The resource name that owns the logs: "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" + * @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?: Params$Resource$Projects$Logs$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Logs$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Logs$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Logs$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of the log to delete: + * "projects/[PROJECT_ID]/logs/[LOG_ID]" + * "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]" + * "folders/[FOLDER_ID]/logs/[LOG_ID]" [LOG_ID] must be URL-encoded. For + * example, "projects/my-project-id/logs/syslog", + * "organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity". + * For more information about log names, see LogEntry. + */ + logName?: string; + } + interface Params$Resource$Projects$Logs$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The maximum number of results to return from this request. + * Non-positive values are ignored. The presence of nextPageToken in the + * response indicates that more results might be available. + */ + pageSize?: number; + /** + * Optional. If present, then retrieve the next batch of results from the + * preceding call to this method. pageToken must be the value of + * nextPageToken from the previous response. The values of other method + * parameters should be identical to those in the previous call. + */ + pageToken?: string; + /** + * Required. The resource name that owns the logs: "projects/[PROJECT_ID]" + * "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" + * "folders/[FOLDER_ID]" + */ + parent?: string; + } + class Resource$Projects$Metrics { + root: Logging; + constructor(root: Logging); + getRoot(): Logging; + /** + * logging.projects.metrics.create + * @desc Creates a logs-based metric. + * @alias logging.projects.metrics.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent The resource name of the project in which to create the metric: "projects/[PROJECT_ID]" The new metric must be provided in the request. + * @param {().LogMetric} 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 + */ + create(params?: Params$Resource$Projects$Metrics$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Metrics$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Metrics$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * logging.projects.metrics.delete + * @desc Deletes a logs-based metric. + * @alias logging.projects.metrics.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.metricName The resource name of the metric to delete: "projects/[PROJECT_ID]/metrics/[METRIC_ID]" + * @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?: Params$Resource$Projects$Metrics$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Metrics$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Metrics$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * logging.projects.metrics.get + * @desc Gets a logs-based metric. + * @alias logging.projects.metrics.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.metricName The resource name of the desired metric: "projects/[PROJECT_ID]/metrics/[METRIC_ID]" + * @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?: Params$Resource$Projects$Metrics$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Metrics$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Metrics$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * logging.projects.metrics.list + * @desc Lists logs-based metrics. + * @alias logging.projects.metrics.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available. + * @param {string=} params.pageToken Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call. + * @param {string} params.parent Required. The name of the project containing the metrics: "projects/[PROJECT_ID]" + * @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?: Params$Resource$Projects$Metrics$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Metrics$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Metrics$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * logging.projects.metrics.update + * @desc Creates or updates a logs-based metric. + * @alias logging.projects.metrics.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.metricName The resource name of the metric to update: "projects/[PROJECT_ID]/metrics/[METRIC_ID]" The updated metric must be provided in the request and it's name field must be the same as [METRIC_ID] If the metric does not exist in [PROJECT_ID], then a new metric is created. + * @param {().LogMetric} 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?: Params$Resource$Projects$Metrics$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Projects$Metrics$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Projects$Metrics$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Metrics$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the project in which to create the metric: + * "projects/[PROJECT_ID]" The new metric must be provided in the request. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$LogMetric; + } + interface Params$Resource$Projects$Metrics$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the metric to delete: + * "projects/[PROJECT_ID]/metrics/[METRIC_ID]" + */ + metricName?: string; + } + interface Params$Resource$Projects$Metrics$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the desired metric: + * "projects/[PROJECT_ID]/metrics/[METRIC_ID]" + */ + metricName?: string; + } + interface Params$Resource$Projects$Metrics$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The maximum number of results to return from this request. + * Non-positive values are ignored. The presence of nextPageToken in the + * response indicates that more results might be available. + */ + pageSize?: number; + /** + * Optional. If present, then retrieve the next batch of results from the + * preceding call to this method. pageToken must be the value of + * nextPageToken from the previous response. The values of other method + * parameters should be identical to those in the previous call. + */ + pageToken?: string; + /** + * Required. The name of the project containing the metrics: + * "projects/[PROJECT_ID]" + */ + parent?: string; + } + interface Params$Resource$Projects$Metrics$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the metric to update: + * "projects/[PROJECT_ID]/metrics/[METRIC_ID]" The updated metric must be + * provided in the request and it's name field must be the same as + * [METRIC_ID] If the metric does not exist in [PROJECT_ID], then a new + * metric is created. + */ + metricName?: string; + /** + * Request body metadata + */ + requestBody?: Schema$LogMetric; + } + class Resource$Projects$Sinks { + root: Logging; + constructor(root: Logging); + getRoot(): Logging; + /** + * logging.projects.sinks.create + * @desc Creates a sink that exports specified log entries to a destination. + * The export of newly-ingested log entries begins immediately, unless the + * sink's writer_identity is not permitted to write to the destination. A + * sink can export log entries only from the resource owning the sink. + * @alias logging.projects.sinks.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The resource in which to create the sink: "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" Examples: "projects/my-logging-project", "organizations/123456789". + * @param {boolean=} params.uniqueWriterIdentity Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a unique service account used only for exports from the new sink. For more information, see writer_identity in LogSink. + * @param {().LogSink} 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 + */ + create(params?: Params$Resource$Projects$Sinks$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Sinks$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Sinks$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * logging.projects.sinks.delete + * @desc Deletes a sink. If the sink has a unique writer_identity, then that + * service account is also deleted. + * @alias logging.projects.sinks.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.sinkName Required. The full resource name of the sink to delete, including the parent resource and the sink identifier: "projects/[PROJECT_ID]/sinks/[SINK_ID]" "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: "projects/my-project-id/sinks/my-sink-id". + * @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?: Params$Resource$Projects$Sinks$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Sinks$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Sinks$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * logging.projects.sinks.get + * @desc Gets a sink. + * @alias logging.projects.sinks.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.sinkName Required. The resource name of the sink: "projects/[PROJECT_ID]/sinks/[SINK_ID]" "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: "projects/my-project-id/sinks/my-sink-id". + * @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?: Params$Resource$Projects$Sinks$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Sinks$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Sinks$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * logging.projects.sinks.list + * @desc Lists sinks. + * @alias logging.projects.sinks.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available. + * @param {string=} params.pageToken Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call. + * @param {string} params.parent Required. The parent resource whose sinks are to be listed: "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" + * @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?: Params$Resource$Projects$Sinks$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Sinks$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Sinks$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * logging.projects.sinks.patch + * @desc Updates a sink. This method replaces the following fields in the + * existing sink with values from the new sink: destination, and filter. The + * updated sink might also have a new writer_identity; see the + * unique_writer_identity field. + * @alias logging.projects.sinks.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.sinkName Required. The full resource name of the sink to update, including the parent resource and the sink identifier: "projects/[PROJECT_ID]/sinks/[SINK_ID]" "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: "projects/my-project-id/sinks/my-sink-id". + * @param {boolean=} params.uniqueWriterIdentity Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a unique service account. It is an error if the old value is true and the new value is set to false or defaulted to false. + * @param {string=} params.updateMask Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes: destination,filter,includeChildren At some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskExample: updateMask=filter. + * @param {().LogSink} 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 + */ + patch(params?: Params$Resource$Projects$Sinks$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Sinks$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Sinks$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * logging.projects.sinks.update + * @desc Updates a sink. This method replaces the following fields in the + * existing sink with values from the new sink: destination, and filter. The + * updated sink might also have a new writer_identity; see the + * unique_writer_identity field. + * @alias logging.projects.sinks.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.sinkName Required. The full resource name of the sink to update, including the parent resource and the sink identifier: "projects/[PROJECT_ID]/sinks/[SINK_ID]" "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: "projects/my-project-id/sinks/my-sink-id". + * @param {boolean=} params.uniqueWriterIdentity Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a unique service account. It is an error if the old value is true and the new value is set to false or defaulted to false. + * @param {string=} params.updateMask Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes: destination,filter,includeChildren At some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskExample: updateMask=filter. + * @param {().LogSink} 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?: Params$Resource$Projects$Sinks$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Projects$Sinks$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Projects$Sinks$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Sinks$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource in which to create the sink: + * "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" Examples: + * "projects/my-logging-project", "organizations/123456789". + */ + parent?: string; + /** + * Optional. Determines the kind of IAM identity returned as writer_identity + * in the new sink. If this value is omitted or set to false, and if the + * sink's parent is a project, then the value returned as writer_identity is + * the same group or service account used by Logging before the addition of + * writer identities to this API. The sink's destination must be in the same + * project as the sink itself.If this field is set to true, or if the sink + * is owned by a non-project resource such as an organization, then the + * value of writer_identity will be a unique service account used only for + * exports from the new sink. For more information, see writer_identity in + * LogSink. + */ + uniqueWriterIdentity?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$LogSink; + } + interface Params$Resource$Projects$Sinks$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The full resource name of the sink to delete, including the + * parent resource and the sink identifier: + * "projects/[PROJECT_ID]/sinks/[SINK_ID]" + * "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + * "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: + * "projects/my-project-id/sinks/my-sink-id". + */ + sinkName?: string; + } + interface Params$Resource$Projects$Sinks$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of the sink: + * "projects/[PROJECT_ID]/sinks/[SINK_ID]" + * "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + * "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: + * "projects/my-project-id/sinks/my-sink-id". + */ + sinkName?: string; + } + interface Params$Resource$Projects$Sinks$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The maximum number of results to return from this request. + * Non-positive values are ignored. The presence of nextPageToken in the + * response indicates that more results might be available. + */ + pageSize?: number; + /** + * Optional. If present, then retrieve the next batch of results from the + * preceding call to this method. pageToken must be the value of + * nextPageToken from the previous response. The values of other method + * parameters should be identical to those in the previous call. + */ + pageToken?: string; + /** + * Required. The parent resource whose sinks are to be listed: + * "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" + */ + parent?: string; + } + interface Params$Resource$Projects$Sinks$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The full resource name of the sink to update, including the + * parent resource and the sink identifier: + * "projects/[PROJECT_ID]/sinks/[SINK_ID]" + * "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + * "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: + * "projects/my-project-id/sinks/my-sink-id". + */ + sinkName?: string; + /** + * Optional. See sinks.create for a description of this field. When updating + * a sink, the effect of this field on the value of writer_identity in the + * updated sink depends on both the old and new values of this field: If the + * old and new values of this field are both false or both true, then there + * is no change to the sink's writer_identity. If the old value is false and + * the new value is true, then writer_identity is changed to a unique + * service account. It is an error if the old value is true and the new + * value is set to false or defaulted to false. + */ + uniqueWriterIdentity?: boolean; + /** + * Optional. Field mask that specifies the fields in sink that need an + * update. A sink field will be overwritten if, and only if, it is in the + * update mask. name and output only fields cannot be updated.An empty + * updateMask is temporarily treated as using the following mask for + * backwards compatibility purposes: destination,filter,includeChildren At + * some point in the future, behavior will be removed and specifying an + * empty updateMask will be an error.For a detailed FieldMask definition, + * see + * https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskExample: + * updateMask=filter. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$LogSink; + } + interface Params$Resource$Projects$Sinks$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The full resource name of the sink to update, including the + * parent resource and the sink identifier: + * "projects/[PROJECT_ID]/sinks/[SINK_ID]" + * "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + * "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: + * "projects/my-project-id/sinks/my-sink-id". + */ + sinkName?: string; + /** + * Optional. See sinks.create for a description of this field. When updating + * a sink, the effect of this field on the value of writer_identity in the + * updated sink depends on both the old and new values of this field: If the + * old and new values of this field are both false or both true, then there + * is no change to the sink's writer_identity. If the old value is false and + * the new value is true, then writer_identity is changed to a unique + * service account. It is an error if the old value is true and the new + * value is set to false or defaulted to false. + */ + uniqueWriterIdentity?: boolean; + /** + * Optional. Field mask that specifies the fields in sink that need an + * update. A sink field will be overwritten if, and only if, it is in the + * update mask. name and output only fields cannot be updated.An empty + * updateMask is temporarily treated as using the following mask for + * backwards compatibility purposes: destination,filter,includeChildren At + * some point in the future, behavior will be removed and specifying an + * empty updateMask will be an error.For a detailed FieldMask definition, + * see + * https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskExample: + * updateMask=filter. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$LogSink; + } + class Resource$Sinks { + root: Logging; + constructor(root: Logging); + getRoot(): Logging; + /** + * logging.sinks.create + * @desc Creates a sink that exports specified log entries to a destination. + * The export of newly-ingested log entries begins immediately, unless the + * sink's writer_identity is not permitted to write to the destination. A + * sink can export log entries only from the resource owning the sink. + * @alias logging.sinks.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The resource in which to create the sink: "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" Examples: "projects/my-logging-project", "organizations/123456789". + * @param {boolean=} params.uniqueWriterIdentity Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a unique service account used only for exports from the new sink. For more information, see writer_identity in LogSink. + * @param {().LogSink} 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 + */ + create(params?: Params$Resource$Sinks$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Sinks$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Sinks$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * logging.sinks.delete + * @desc Deletes a sink. If the sink has a unique writer_identity, then that + * service account is also deleted. + * @alias logging.sinks.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.sinkName Required. The full resource name of the sink to delete, including the parent resource and the sink identifier: "projects/[PROJECT_ID]/sinks/[SINK_ID]" "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: "projects/my-project-id/sinks/my-sink-id". + * @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?: Params$Resource$Sinks$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Sinks$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Sinks$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * logging.sinks.get + * @desc Gets a sink. + * @alias logging.sinks.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.sinkName Required. The resource name of the sink: "projects/[PROJECT_ID]/sinks/[SINK_ID]" "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: "projects/my-project-id/sinks/my-sink-id". + * @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?: Params$Resource$Sinks$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Sinks$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Sinks$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * logging.sinks.list + * @desc Lists sinks. + * @alias logging.sinks.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available. + * @param {string=} params.pageToken Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call. + * @param {string} params.parent Required. The parent resource whose sinks are to be listed: "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" + * @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?: Params$Resource$Sinks$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Sinks$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Sinks$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * logging.sinks.update + * @desc Updates a sink. This method replaces the following fields in the + * existing sink with values from the new sink: destination, and filter. The + * updated sink might also have a new writer_identity; see the + * unique_writer_identity field. + * @alias logging.sinks.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.sinkName Required. The full resource name of the sink to update, including the parent resource and the sink identifier: "projects/[PROJECT_ID]/sinks/[SINK_ID]" "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: "projects/my-project-id/sinks/my-sink-id". + * @param {boolean=} params.uniqueWriterIdentity Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a unique service account. It is an error if the old value is true and the new value is set to false or defaulted to false. + * @param {string=} params.updateMask Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes: destination,filter,includeChildren At some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskExample: updateMask=filter. + * @param {().LogSink} 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?: Params$Resource$Sinks$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Sinks$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Sinks$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Sinks$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource in which to create the sink: + * "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" Examples: + * "projects/my-logging-project", "organizations/123456789". + */ + parent?: string; + /** + * Optional. Determines the kind of IAM identity returned as writer_identity + * in the new sink. If this value is omitted or set to false, and if the + * sink's parent is a project, then the value returned as writer_identity is + * the same group or service account used by Logging before the addition of + * writer identities to this API. The sink's destination must be in the same + * project as the sink itself.If this field is set to true, or if the sink + * is owned by a non-project resource such as an organization, then the + * value of writer_identity will be a unique service account used only for + * exports from the new sink. For more information, see writer_identity in + * LogSink. + */ + uniqueWriterIdentity?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$LogSink; + } + interface Params$Resource$Sinks$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The full resource name of the sink to delete, including the + * parent resource and the sink identifier: + * "projects/[PROJECT_ID]/sinks/[SINK_ID]" + * "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + * "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: + * "projects/my-project-id/sinks/my-sink-id". + */ + sinkName?: string; + } + interface Params$Resource$Sinks$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of the sink: + * "projects/[PROJECT_ID]/sinks/[SINK_ID]" + * "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + * "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: + * "projects/my-project-id/sinks/my-sink-id". + */ + sinkName?: string; + } + interface Params$Resource$Sinks$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The maximum number of results to return from this request. + * Non-positive values are ignored. The presence of nextPageToken in the + * response indicates that more results might be available. + */ + pageSize?: number; + /** + * Optional. If present, then retrieve the next batch of results from the + * preceding call to this method. pageToken must be the value of + * nextPageToken from the previous response. The values of other method + * parameters should be identical to those in the previous call. + */ + pageToken?: string; + /** + * Required. The parent resource whose sinks are to be listed: + * "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" + */ + parent?: string; + } + interface Params$Resource$Sinks$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The full resource name of the sink to update, including the + * parent resource and the sink identifier: + * "projects/[PROJECT_ID]/sinks/[SINK_ID]" + * "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + * "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: + * "projects/my-project-id/sinks/my-sink-id". + */ + sinkName?: string; + /** + * Optional. See sinks.create for a description of this field. When updating + * a sink, the effect of this field on the value of writer_identity in the + * updated sink depends on both the old and new values of this field: If the + * old and new values of this field are both false or both true, then there + * is no change to the sink's writer_identity. If the old value is false and + * the new value is true, then writer_identity is changed to a unique + * service account. It is an error if the old value is true and the new + * value is set to false or defaulted to false. + */ + uniqueWriterIdentity?: boolean; + /** + * Optional. Field mask that specifies the fields in sink that need an + * update. A sink field will be overwritten if, and only if, it is in the + * update mask. name and output only fields cannot be updated.An empty + * updateMask is temporarily treated as using the following mask for + * backwards compatibility purposes: destination,filter,includeChildren At + * some point in the future, behavior will be removed and specifying an + * empty updateMask will be an error.For a detailed FieldMask definition, + * see + * https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskExample: + * updateMask=filter. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$LogSink; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/logging/v2.js b/express-server/node_modules/googleapis/build/src/apis/logging/v2.js new file mode 100644 index 00000000..14e9e9da --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/logging/v2.js @@ -0,0 +1,2485 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var logging_v2; +(function (logging_v2) { + /** + * Stackdriver Logging API + * + * Writes log entries and manages your Logging configuration. + * + * @example + * const {google} = require('googleapis'); + * const logging = google.logging('v2'); + * + * @namespace logging + * @type {Function} + * @version v2 + * @variation v2 + * @param {object=} options Options for Logging + */ + class Logging { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.billingAccounts = new Resource$Billingaccounts(this); + this.entries = new Resource$Entries(this); + this.exclusions = new Resource$Exclusions(this); + this.folders = new Resource$Folders(this); + this.logs = new Resource$Logs(this); + this.monitoredResourceDescriptors = + new Resource$Monitoredresourcedescriptors(this); + this.organizations = new Resource$Organizations(this); + this.projects = new Resource$Projects(this); + this.sinks = new Resource$Sinks(this); + } + getRoot() { + return this.root; + } + } + logging_v2.Logging = Logging; + class Resource$Billingaccounts { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.exclusions = new Resource$Billingaccounts$Exclusions(root); + this.logs = new Resource$Billingaccounts$Logs(root); + this.sinks = new Resource$Billingaccounts$Sinks(root); + } + getRoot() { + return this.root; + } + } + logging_v2.Resource$Billingaccounts = Resource$Billingaccounts; + class Resource$Billingaccounts$Exclusions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/exclusions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/exclusions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + logging_v2.Resource$Billingaccounts$Exclusions = Resource$Billingaccounts$Exclusions; + class Resource$Billingaccounts$Logs { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+logName}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['logName'], + pathParams: ['logName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/logs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + logging_v2.Resource$Billingaccounts$Logs = Resource$Billingaccounts$Logs; + class Resource$Billingaccounts$Sinks { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/sinks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+sinkName}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['sinkName'], + pathParams: ['sinkName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+sinkName}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['sinkName'], + pathParams: ['sinkName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/sinks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+sinkName}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['sinkName'], + pathParams: ['sinkName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+sinkName}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['sinkName'], + pathParams: ['sinkName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + logging_v2.Resource$Billingaccounts$Sinks = Resource$Billingaccounts$Sinks; + class Resource$Entries { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/entries:list').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + write(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/entries:write').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + logging_v2.Resource$Entries = Resource$Entries; + class Resource$Exclusions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/exclusions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/exclusions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + logging_v2.Resource$Exclusions = Resource$Exclusions; + class Resource$Folders { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.exclusions = new Resource$Folders$Exclusions(root); + this.logs = new Resource$Folders$Logs(root); + this.sinks = new Resource$Folders$Sinks(root); + } + getRoot() { + return this.root; + } + } + logging_v2.Resource$Folders = Resource$Folders; + class Resource$Folders$Exclusions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/exclusions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/exclusions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + logging_v2.Resource$Folders$Exclusions = Resource$Folders$Exclusions; + class Resource$Folders$Logs { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+logName}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['logName'], + pathParams: ['logName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/logs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + logging_v2.Resource$Folders$Logs = Resource$Folders$Logs; + class Resource$Folders$Sinks { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/sinks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+sinkName}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['sinkName'], + pathParams: ['sinkName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+sinkName}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['sinkName'], + pathParams: ['sinkName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/sinks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+sinkName}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['sinkName'], + pathParams: ['sinkName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+sinkName}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['sinkName'], + pathParams: ['sinkName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + logging_v2.Resource$Folders$Sinks = Resource$Folders$Sinks; + class Resource$Logs { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+logName}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['logName'], + pathParams: ['logName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/logs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + logging_v2.Resource$Logs = Resource$Logs; + class Resource$Monitoredresourcedescriptors { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/monitoredResourceDescriptors') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + logging_v2.Resource$Monitoredresourcedescriptors = Resource$Monitoredresourcedescriptors; + class Resource$Organizations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.exclusions = new Resource$Organizations$Exclusions(root); + this.logs = new Resource$Organizations$Logs(root); + this.sinks = new Resource$Organizations$Sinks(root); + } + getRoot() { + return this.root; + } + } + logging_v2.Resource$Organizations = Resource$Organizations; + class Resource$Organizations$Exclusions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/exclusions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/exclusions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + logging_v2.Resource$Organizations$Exclusions = Resource$Organizations$Exclusions; + class Resource$Organizations$Logs { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+logName}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['logName'], + pathParams: ['logName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/logs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + logging_v2.Resource$Organizations$Logs = Resource$Organizations$Logs; + class Resource$Organizations$Sinks { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/sinks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+sinkName}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['sinkName'], + pathParams: ['sinkName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+sinkName}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['sinkName'], + pathParams: ['sinkName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/sinks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+sinkName}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['sinkName'], + pathParams: ['sinkName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+sinkName}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['sinkName'], + pathParams: ['sinkName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + logging_v2.Resource$Organizations$Sinks = Resource$Organizations$Sinks; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.exclusions = new Resource$Projects$Exclusions(root); + this.logs = new Resource$Projects$Logs(root); + this.metrics = new Resource$Projects$Metrics(root); + this.sinks = new Resource$Projects$Sinks(root); + } + getRoot() { + return this.root; + } + } + logging_v2.Resource$Projects = Resource$Projects; + class Resource$Projects$Exclusions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/exclusions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/exclusions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + logging_v2.Resource$Projects$Exclusions = Resource$Projects$Exclusions; + class Resource$Projects$Logs { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+logName}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['logName'], + pathParams: ['logName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/logs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + logging_v2.Resource$Projects$Logs = Resource$Projects$Logs; + class Resource$Projects$Metrics { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/metrics') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+metricName}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['metricName'], + pathParams: ['metricName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+metricName}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['metricName'], + pathParams: ['metricName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/metrics') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+metricName}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['metricName'], + pathParams: ['metricName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + logging_v2.Resource$Projects$Metrics = Resource$Projects$Metrics; + class Resource$Projects$Sinks { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/sinks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+sinkName}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['sinkName'], + pathParams: ['sinkName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+sinkName}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['sinkName'], + pathParams: ['sinkName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/sinks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+sinkName}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['sinkName'], + pathParams: ['sinkName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+sinkName}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['sinkName'], + pathParams: ['sinkName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + logging_v2.Resource$Projects$Sinks = Resource$Projects$Sinks; + class Resource$Sinks { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/sinks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+sinkName}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['sinkName'], + pathParams: ['sinkName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+sinkName}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['sinkName'], + pathParams: ['sinkName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+parent}/sinks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/{+sinkName}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['sinkName'], + pathParams: ['sinkName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + logging_v2.Resource$Sinks = Resource$Sinks; +})(logging_v2 = exports.logging_v2 || (exports.logging_v2 = {})); +//# sourceMappingURL=v2.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/logging/v2.js.map b/express-server/node_modules/googleapis/build/src/apis/logging/v2.js.map new file mode 100644 index 00000000..ffc4589c --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/logging/v2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v2.js","sourceRoot":"","sources":["../../../../src/apis/logging/v2.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/logging/v2beta1.d.ts b/express-server/node_modules/googleapis/build/src/apis/logging/v2beta1.d.ts new file mode 100644 index 00000000..657912d4 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/logging/v2beta1.d.ts @@ -0,0 +1,3183 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace logging_v2beta1 { + interface Options extends GlobalOptions { + version: 'v2beta1'; + } + /** + * Stackdriver Logging API + * + * Writes log entries and manages your Logging configuration. + * + * @example + * const {google} = require('googleapis'); + * const logging = google.logging('v2beta1'); + * + * @namespace logging + * @type {Function} + * @version v2beta1 + * @variation v2beta1 + * @param {object=} options Options for Logging + */ + class Logging { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + billingAccounts: Resource$Billingaccounts; + entries: Resource$Entries; + monitoredResourceDescriptors: Resource$Monitoredresourcedescriptors; + organizations: Resource$Organizations; + projects: Resource$Projects; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * BucketOptions describes the bucket boundaries used to create a histogram + * for the distribution. The buckets can be in a linear sequence, an + * exponential sequence, or each bucket can be specified explicitly. + * BucketOptions does not include the number of values in each bucket.A bucket + * has an inclusive lower bound and exclusive upper bound for the values that + * are counted for that bucket. The upper bound of a bucket must be strictly + * greater than the lower bound. The sequence of N buckets for a distribution + * consists of an underflow bucket (number 0), zero or more finite buckets + * (number 1 through N - 2) and an overflow bucket (number N - 1). The buckets + * are contiguous: the lower bound of bucket i (i > 0) is the same as the + * upper bound of bucket i - 1. The buckets span the whole range of finite + * values: lower bound of the underflow bucket is -infinity and the upper + * bound of the overflow bucket is +infinity. The finite buckets are so-called + * because both bounds are finite. + */ + interface Schema$BucketOptions { + /** + * The explicit buckets. + */ + explicitBuckets?: Schema$Explicit; + /** + * The exponential buckets. + */ + exponentialBuckets?: Schema$Exponential; + /** + * The linear bucket. + */ + linearBuckets?: Schema$Linear; + } + /** + * 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); } The JSON + * representation for Empty is empty JSON object {}. + */ + interface Schema$Empty { + } + /** + * Specifies a set of buckets with arbitrary widths.There are size(bounds) + 1 + * (= N) buckets. Bucket i has the following boundaries:Upper bound (0 <= i + * < N-1): boundsi Lower bound (1 <= i < N); boundsi - 1The bounds + * field must contain at least one element. If bounds has only one element, + * then there are no finite buckets, and that single element is the common + * boundary of the overflow and underflow buckets. + */ + interface Schema$Explicit { + /** + * The values must be monotonically increasing. + */ + bounds?: number[]; + } + /** + * Specifies an exponential sequence of buckets that have a width that is + * proportional to the value of the lower bound. Each bucket represents a + * constant relative uncertainty on a specific value in the bucket.There are + * num_finite_buckets + 2 (= N) buckets. Bucket i has the following + * boundaries:Upper bound (0 <= i < N-1): scale * (growth_factor ^ i). + * Lower bound (1 <= i < N): scale * (growth_factor ^ (i - 1)). + */ + interface Schema$Exponential { + /** + * Must be greater than 1. + */ + growthFactor?: number; + /** + * Must be greater than 0. + */ + numFiniteBuckets?: number; + /** + * Must be greater than 0. + */ + scale?: number; + } + /** + * A common proto for logging HTTP requests. Only contains semantics defined + * by the HTTP specification. Product-specific logging information MUST be + * defined in a separate message. + */ + interface Schema$HttpRequest { + /** + * The number of HTTP response bytes inserted into cache. Set only when a + * cache fill was attempted. + */ + cacheFillBytes?: string; + /** + * Whether or not an entity was served from cache (with or without + * validation). + */ + cacheHit?: boolean; + /** + * Whether or not a cache lookup was attempted. + */ + cacheLookup?: boolean; + /** + * Whether or not the response was validated with the origin server before + * being served from cache. This field is only meaningful if cache_hit is + * True. + */ + cacheValidatedWithOriginServer?: boolean; + /** + * The request processing latency on the server, from the time the request + * was received until the response was sent. + */ + latency?: string; + /** + * Protocol used for the request. Examples: "HTTP/1.1", + * "HTTP/2", "websocket" + */ + protocol?: string; + /** + * The referer URL of the request, as defined in HTTP/1.1 Header Field + * Definitions (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html). + */ + referer?: string; + /** + * The IP address (IPv4 or IPv6) of the client that issued the HTTP request. + * Examples: "192.168.1.1", "FE80::0202:B3FF:FE1E:8329". + */ + remoteIp?: string; + /** + * The request method. Examples: "GET", "HEAD", + * "PUT", "POST". + */ + requestMethod?: string; + /** + * The size of the HTTP request message in bytes, including the request + * headers and the request body. + */ + requestSize?: string; + /** + * The scheme (http, https), the host name, the path and the query portion + * of the URL that was requested. Example: + * "http://example.com/some/info?color=red". + */ + requestUrl?: string; + /** + * The size of the HTTP response message sent back to the client, in bytes, + * including the response headers and the response body. + */ + responseSize?: string; + /** + * The IP address (IPv4 or IPv6) of the origin server that the request was + * sent to. + */ + serverIp?: string; + /** + * The response code indicating the status of response. Examples: 200, 404. + */ + status?: number; + /** + * The user agent sent by the client. Example: "Mozilla/4.0 + * (compatible; MSIE 6.0; Windows 98; Q312461; .NET CLR 1.0.3705)". + */ + userAgent?: string; + } + /** + * A description of a label. + */ + interface Schema$LabelDescriptor { + /** + * A human-readable description for the label. + */ + description?: string; + /** + * The label key. + */ + key?: string; + /** + * The type of data that can be assigned to the label. + */ + valueType?: string; + } + /** + * Specifies a linear sequence of buckets that all have the same width (except + * overflow and underflow). Each bucket represents a constant absolute + * uncertainty on the specific value in the bucket.There are + * num_finite_buckets + 2 (= N) buckets. Bucket i has the following + * boundaries:Upper bound (0 <= i < N-1): offset + (width * i). Lower + * bound (1 <= i < N): offset + (width * (i - 1)). + */ + interface Schema$Linear { + /** + * Must be greater than 0. + */ + numFiniteBuckets?: number; + /** + * Lower bound of the first bucket. + */ + offset?: number; + /** + * Must be greater than 0. + */ + width?: number; + } + /** + * The parameters to ListLogEntries. + */ + interface Schema$ListLogEntriesRequest { + /** + * Optional. A filter that chooses which log entries to return. See Advanced + * Logs Filters. Only log entries that match the filter are returned. An + * empty filter matches all log entries in the resources listed in + * resource_names. Referencing a parent resource that is not listed in + * resource_names will cause the filter to return no results. The maximum + * length of the filter is 20000 characters. + */ + filter?: string; + /** + * Optional. How the results should be sorted. Presently, the only permitted + * values are "timestamp asc" (default) and "timestamp + * desc". The first option returns entries in order of increasing + * values of LogEntry.timestamp (oldest first), and the second option + * returns entries in order of decreasing timestamps (newest first). Entries + * with equal timestamps are returned in order of their insert_id values. + */ + orderBy?: string; + /** + * Optional. The maximum number of results to return from this request. + * Non-positive values are ignored. The presence of next_page_token in the + * response indicates that more results might be available. + */ + pageSize?: number; + /** + * Optional. If present, then retrieve the next batch of results from the + * preceding call to this method. page_token must be the value of + * next_page_token from the previous response. The values of other method + * parameters should be identical to those in the previous call. + */ + pageToken?: string; + /** + * Deprecated. Use resource_names instead. One or more project identifiers + * or project numbers from which to retrieve log entries. Example: + * "my-project-1A". If present, these project identifiers are + * converted to resource name format and added to the list of resources in + * resource_names. + */ + projectIds?: string[]; + /** + * Required. Names of one or more parent resources from which to retrieve + * log entries: "projects/[PROJECT_ID]" + * "organizations/[ORGANIZATION_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]" + * "folders/[FOLDER_ID]" Projects listed in the project_ids field + * are added to this list. + */ + resourceNames?: string[]; + } + /** + * Result returned from ListLogEntries. + */ + interface Schema$ListLogEntriesResponse { + /** + * A list of log entries. If entries is empty, nextPageToken may still be + * returned, indicating that more entries may exist. See nextPageToken for + * more information. + */ + entries?: Schema$LogEntry[]; + /** + * If there might be more results than those appearing in this response, + * then nextPageToken is included. To get the next set of results, call this + * method again using the value of nextPageToken as pageToken.If a value for + * next_page_token appears and the entries field is empty, it means that the + * search found no log entries so far but it did not have time to search all + * the possible log entries. Retry the method with this value for page_token + * to continue the search. Alternatively, consider speeding up the search by + * changing your filter to specify a single log name or resource type, or to + * narrow the time range of the search. + */ + nextPageToken?: string; + } + /** + * Result returned from ListLogMetrics. + */ + interface Schema$ListLogMetricsResponse { + /** + * A list of logs-based metrics. + */ + metrics?: Schema$LogMetric[]; + /** + * If there might be more results than appear in this response, then + * nextPageToken is included. To get the next set of results, call this + * method again using the value of nextPageToken as pageToken. + */ + nextPageToken?: string; + } + /** + * Result returned from ListLogs. + */ + interface Schema$ListLogsResponse { + /** + * A list of log names. For example, "projects/my-project/syslog" + * or + * "organizations/123/cloudresourcemanager.googleapis.com%2Factivity". + */ + logNames?: string[]; + /** + * If there might be more results than those appearing in this response, + * then nextPageToken is included. To get the next set of results, call this + * method again using the value of nextPageToken as pageToken. + */ + nextPageToken?: string; + } + /** + * Result returned from ListMonitoredResourceDescriptors. + */ + interface Schema$ListMonitoredResourceDescriptorsResponse { + /** + * If there might be more results than those appearing in this response, + * then nextPageToken is included. To get the next set of results, call this + * method again using the value of nextPageToken as pageToken. + */ + nextPageToken?: string; + /** + * A list of resource descriptors. + */ + resourceDescriptors?: Schema$MonitoredResourceDescriptor[]; + } + /** + * Result returned from ListSinks. + */ + interface Schema$ListSinksResponse { + /** + * If there might be more results than appear in this response, then + * nextPageToken is included. To get the next set of results, call the same + * method again using the value of nextPageToken as pageToken. + */ + nextPageToken?: string; + /** + * A list of sinks. + */ + sinks?: Schema$LogSink[]; + } + /** + * An individual entry in a log. + */ + interface Schema$LogEntry { + /** + * Optional. Information about the HTTP request associated with this log + * entry, if applicable. + */ + httpRequest?: Schema$HttpRequest; + /** + * Optional. A unique identifier for the log entry. If you provide a value, + * then Logging considers other log entries in the same project, with the + * same timestamp, and with the same insert_id to be duplicates which can be + * removed. If omitted in new log entries, then Logging assigns its own + * unique identifier. The insert_id is also used to order log entries that + * have the same timestamp value. + */ + insertId?: string; + /** + * The log entry payload, represented as a structure that is expressed as a + * JSON object. + */ + jsonPayload?: any; + /** + * Optional. A set of user-defined (key, value) data that provides + * additional information about the log entry. + */ + labels?: any; + /** + * Required. The resource name of the log to which this log entry belongs: + * "projects/[PROJECT_ID]/logs/[LOG_ID]" + * "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]" + * "folders/[FOLDER_ID]/logs/[LOG_ID]" A project number may + * optionally be used in place of PROJECT_ID. The project number is + * translated to its corresponding PROJECT_ID internally and the log_name + * field will contain PROJECT_ID in queries and exports.[LOG_ID] must be + * URL-encoded within log_name. Example: + * "organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity". + * [LOG_ID] must be less than 512 characters long and can only include the + * following characters: upper and lower case alphanumeric characters, + * forward-slash, underscore, hyphen, and period.For backward compatibility, + * if log_name begins with a forward-slash, such as /projects/..., then the + * log entry is ingested as usual but the forward-slash is removed. Listing + * the log entry will not show the leading slash and filtering for a log + * name with a leading slash will never return any results. + */ + logName?: string; + /** + * Output only. Additional metadata about the monitored resource. Only + * k8s_container, k8s_pod, and k8s_node MonitoredResources have this field + * populated. + */ + metadata?: Schema$MonitoredResourceMetadata; + /** + * Optional. Information about an operation associated with the log entry, + * if applicable. + */ + operation?: Schema$LogEntryOperation; + /** + * The log entry payload, represented as a protocol buffer. Some Google + * Cloud Platform services use this field for their log entry payloads. + */ + protoPayload?: any; + /** + * Output only. The time the log entry was received by Logging. + */ + receiveTimestamp?: string; + /** + * Required. The primary monitored resource associated with this log entry. + * Example: a log entry that reports a database error would be associated + * with the monitored resource designating the particular database that + * reported the error. + */ + resource?: Schema$MonitoredResource; + /** + * Optional. The severity of the log entry. The default value is + * LogSeverity.DEFAULT. + */ + severity?: string; + /** + * Optional. Source code location information associated with the log entry, + * if any. + */ + sourceLocation?: Schema$LogEntrySourceLocation; + /** + * Optional. The span ID within the trace associated with the log entry. For + * Trace spans, this is the same format that the Trace API v2 uses: a + * 16-character hexadecimal encoding of an 8-byte array, such as + * <code>"000000000000004a"</code>. + */ + spanId?: string; + /** + * The log entry payload, represented as a Unicode string (UTF-8). + */ + textPayload?: string; + /** + * Optional. The time the event described by the log entry occurred. This + * time is used to compute the log entry's age and to enforce the logs + * retention period. If this field is omitted in a new log entry, then + * Logging assigns it the current time. Timestamps have nanosecond accuracy, + * but trailing zeros in the fractional seconds might be omitted when the + * timestamp is displayed.Incoming log entries should have timestamps that + * are no more than the logs retention period in the past, and no more than + * 24 hours in the future. Log entries outside those time boundaries will + * not be available when calling entries.list, but those log entries can + * still be exported with LogSinks. + */ + timestamp?: string; + /** + * Optional. Resource name of the trace associated with the log entry, if + * any. If it contains a relative resource name, the name is assumed to be + * relative to //tracing.googleapis.com. Example: + * projects/my-projectid/traces/06796866738c859f2f19b7cfb3214824 + */ + trace?: string; + } + /** + * Additional information about a potentially long-running operation with + * which a log entry is associated. + */ + interface Schema$LogEntryOperation { + /** + * Optional. Set this to True if this is the first log entry in the + * operation. + */ + first?: boolean; + /** + * Optional. An arbitrary operation identifier. Log entries with the same + * identifier are assumed to be part of the same operation. + */ + id?: string; + /** + * Optional. Set this to True if this is the last log entry in the + * operation. + */ + last?: boolean; + /** + * Optional. An arbitrary producer identifier. The combination of id and + * producer must be globally unique. Examples for producer: + * "MyDivision.MyBigCompany.com", + * "github.com/MyProject/MyApplication". + */ + producer?: string; + } + /** + * Additional information about the source code location that produced the log + * entry. + */ + interface Schema$LogEntrySourceLocation { + /** + * Optional. Source file name. Depending on the runtime environment, this + * might be a simple name or a fully-qualified name. + */ + file?: string; + /** + * Optional. Human-readable name of the function or method being invoked, + * with optional context such as the class or package name. This information + * may be used in contexts such as the logs viewer, where a file and line + * number are less meaningful. The format can vary by language. For example: + * qual.if.ied.Class.method (Java), dir/package.func (Go), function + * (Python). + */ + function?: string; + /** + * Optional. Line within the source file. 1-based; 0 indicates no line + * number available. + */ + line?: string; + } + /** + * Application log line emitted while processing a request. + */ + interface Schema$LogLine { + /** + * App-provided log message. + */ + logMessage?: string; + /** + * Severity of this log entry. + */ + severity?: string; + /** + * Where in the source code this log message was written. + */ + sourceLocation?: Schema$SourceLocation; + /** + * Approximate time when this log entry was made. + */ + time?: string; + } + /** + * Describes a logs-based metric. The value of the metric is the number of log + * entries that match a logs filter in a given time interval.Logs-based metric + * can also be used to extract values from logs and create a a distribution of + * the values. The distribution records the statistics of the extracted values + * along with an optional histogram of the values as specified by the bucket + * options. + */ + interface Schema$LogMetric { + /** + * Optional. The bucket_options are required when the logs-based metric is + * using a DISTRIBUTION value type and it describes the bucket boundaries + * used to create a histogram of the extracted values. + */ + bucketOptions?: Schema$BucketOptions; + /** + * Optional. A description of this metric, which is used in documentation. + */ + description?: string; + /** + * Required. An advanced logs filter which is used to match log entries. + * Example: "resource.type=gae_app AND severity>=ERROR" The + * maximum length of the filter is 20000 characters. + */ + filter?: string; + /** + * Optional. A map from a label key string to an extractor expression which + * is used to extract data from a log entry field and assign as the label + * value. Each label key specified in the LabelDescriptor must have an + * associated extractor expression in this map. The syntax of the extractor + * expression is the same as for the value_extractor field.The extracted + * value is converted to the type defined in the label descriptor. If the + * either the extraction or the type conversion fails, the label will have a + * default value. The default value for a string label is an empty string, + * for an integer label its 0, and for a boolean label its false.Note that + * there are upper bounds on the maximum number of labels and the number of + * active time series that are allowed in a project. + */ + labelExtractors?: any; + /** + * Optional. The metric descriptor associated with the logs-based metric. If + * unspecified, it uses a default metric descriptor with a DELTA metric + * kind, INT64 value type, with no labels and a unit of "1". Such + * a metric counts the number of log entries matching the filter + * expression.The name, type, and description fields in the + * metric_descriptor are output only, and is constructed using the name and + * description field in the LogMetric.To create a logs-based metric that + * records a distribution of log values, a DELTA metric kind with a + * DISTRIBUTION value type must be used along with a value_extractor + * expression in the LogMetric.Each label in the metric descriptor must have + * a matching label name as the key and an extractor expression as the value + * in the label_extractors map.The metric_kind and value_type fields in the + * metric_descriptor cannot be updated once initially configured. New labels + * can be added in the metric_descriptor, but existing labels cannot be + * modified except for their description. + */ + metricDescriptor?: Schema$MetricDescriptor; + /** + * Required. The client-assigned metric identifier. Examples: + * "error_count", "nginx/requests".Metric identifiers + * are limited to 100 characters and can include only the following + * characters: A-Z, a-z, 0-9, and the special characters _-.,+!*',()%/. + * The forward-slash character (/) denotes a hierarchy of name pieces, and + * it cannot be the first character of the name.The metric identifier in + * this field must not be URL-encoded + * (https://en.wikipedia.org/wiki/Percent-encoding). However, when the + * metric identifier appears as the [METRIC_ID] part of a metric_name API + * parameter, then the metric identifier must be URL-encoded. Example: + * "projects/my-project/metrics/nginx%2Frequests". + */ + name?: string; + /** + * Optional. A value_extractor is required when using a distribution + * logs-based metric to extract the values to record from a log entry. Two + * functions are supported for value extraction: EXTRACT(field) or + * REGEXP_EXTRACT(field, regex). The argument are: 1. field: The name of + * the log entry field from which the value is to be extracted. 2. regex: + * A regular expression using the Google RE2 syntax + * (https://github.com/google/re2/wiki/Syntax) with a single capture group + * to extract data from the specified log entry field. The value of the + * field is converted to a string before applying the regex. It is an error + * to specify a regex that does not include exactly one capture group.The + * result of the extraction must be convertible to a double type, as the + * distribution always records double values. If either the extraction or + * the conversion to double fails, then those values are not recorded in the + * distribution.Example: REGEXP_EXTRACT(jsonPayload.request, + * ".*quantity=(\d+).*") + */ + valueExtractor?: string; + /** + * Deprecated. The API version that created or updated this metric. The v2 + * format is used by default and cannot be changed. + */ + version?: string; + } + /** + * Describes a sink used to export log entries to one of the following + * destinations in any project: a Cloud Storage bucket, a BigQuery dataset, or + * a Cloud Pub/Sub topic. A logs filter controls which log entries are + * exported. The sink must be created within a project, organization, billing + * account, or folder. + */ + interface Schema$LogSink { + /** + * Required. The export destination: + * "storage.googleapis.com/[GCS_BUCKET]" + * "bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET]" + * "pubsub.googleapis.com/projects/[PROJECT_ID]/topics/[TOPIC_ID]" + * The sink's writer_identity, set when the sink is created, must have + * permission to write to the destination or else the log entries are not + * exported. For more information, see Exporting Logs With Sinks. + */ + destination?: string; + /** + * Deprecated. This field is ignored when creating or updating sinks. + */ + endTime?: string; + /** + * Optional. An advanced logs filter. The only exported log entries are + * those that are in the resource owning the sink and that match the filter. + * For example: logName="projects/[PROJECT_ID]/logs/[LOG_ID]" AND + * severity>=ERROR + */ + filter?: string; + /** + * Optional. This field applies only to sinks owned by organizations and + * folders. If the field is false, the default, only the logs owned by the + * sink's parent resource are available for export. If the field is + * true, then logs from all the projects, folders, and billing accounts + * contained in the sink's parent resource are also available for + * export. Whether a particular log entry from the children is exported + * depends on the sink's filter expression. For example, if this field + * is true, then the filter resource.type=gce_instance would export all + * Compute Engine VM instance log entries from all projects in the + * sink's parent. To only export entries from certain child projects, + * filter on the project part of the log name: + * logName:("projects/test-project1/" OR + * "projects/test-project2/") AND resource.type=gce_instance + */ + includeChildren?: boolean; + /** + * Required. The client-assigned sink identifier, unique within the project. + * Example: "my-syslog-errors-to-pubsub". Sink identifiers are + * limited to 100 characters and can include only the following characters: + * upper and lower-case alphanumeric characters, underscores, hyphens, and + * periods. + */ + name?: string; + /** + * Deprecated. The log entry format to use for this sink's exported log + * entries. The v2 format is used by default and cannot be changed. + */ + outputVersionFormat?: string; + /** + * Deprecated. This field is ignored when creating or updating sinks. + */ + startTime?: string; + /** + * Output only. An IAM identity&mdash;a service account or + * group&mdash;under which Logging writes the exported log entries to + * the sink's destination. This field is set by sinks.create and + * sinks.update, based on the setting of unique_writer_identity in those + * methods.Until you grant this identity write-access to the destination, + * log entry exports from this sink will fail. For more information, see + * Granting access for a resource. Consult the destination service's + * documentation to determine the appropriate IAM roles to assign to the + * identity. + */ + writerIdentity?: string; + } + /** + * Defines a metric type and its schema. Once a metric descriptor is created, + * deleting or altering it stops data collection and makes the metric + * type's existing data unusable. + */ + interface Schema$MetricDescriptor { + /** + * A detailed description of the metric, which can be used in documentation. + */ + description?: string; + /** + * A concise name for the metric, which can be displayed in user interfaces. + * Use sentence case without an ending period, for example "Request + * count". This field is optional but it is recommended to be set for + * any metrics associated with user-visible concepts, such as Quota. + */ + displayName?: string; + /** + * The set of labels that can be used to describe a specific instance of + * this metric type. For example, the + * appengine.googleapis.com/http/server/response_latencies metric type has a + * label for the HTTP response code, response_code, so you can look at + * latencies for successful responses or just for responses that failed. + */ + labels?: Schema$LabelDescriptor[]; + /** + * Optional. Metadata which can be used to guide usage of the metric. + */ + metadata?: Schema$MetricDescriptorMetadata; + /** + * Whether the metric records instantaneous values, changes to a value, etc. + * Some combinations of metric_kind and value_type might not be supported. + */ + metricKind?: string; + /** + * The resource name of the metric descriptor. + */ + name?: string; + /** + * The metric type, including its DNS name prefix. The type is not + * URL-encoded. All user-defined metric types have the DNS name + * custom.googleapis.com or external.googleapis.com. Metric types should use + * a natural hierarchical grouping. For example: + * "custom.googleapis.com/invoice/paid/amount" + * "external.googleapis.com/prometheus/up" + * "appengine.googleapis.com/http/server/response_latencies" + */ + type?: string; + /** + * The unit in which the metric value is reported. It is only applicable if + * the value_type is INT64, DOUBLE, or DISTRIBUTION. The supported units are + * a subset of The Unified Code for Units of Measure + * (http://unitsofmeasure.org/ucum.html) standard:Basic units (UNIT) bit bit + * By byte s second min minute h hour d dayPrefixes (PREFIX) k kilo (10**3) + * M mega (10**6) G giga (10**9) T tera (10**12) P peta (10**15) E exa + * (10**18) Z zetta (10**21) Y yotta (10**24) m milli (10**-3) u micro + * (10**-6) n nano (10**-9) p pico (10**-12) f femto (10**-15) a atto + * (10**-18) z zepto (10**-21) y yocto (10**-24) Ki kibi (2**10) Mi mebi + * (2**20) Gi gibi (2**30) Ti tebi (2**40)GrammarThe grammar also includes + * these connectors: / division (as an infix operator, e.g. 1/s). . + * multiplication (as an infix operator, e.g. GBy.d)The grammar for a unit + * is as follows: Expression = Component { "." Component } { + * "/" Component } ; Component = ( [ PREFIX ] UNIT | + * "%" ) [ Annotation ] | Annotation | + * "1" ; Annotation = "{" NAME "}" + * ; Notes: Annotation is just a comment if it follows a UNIT and is + * equivalent to 1 if it is used alone. For examples, {requests}/s == 1/s, + * By{transmitted}/s == By/s. NAME is a sequence of non-blank printable + * ASCII characters not containing '{' or '}'. 1 represents + * dimensionless value 1, such as in 1/s. % represents dimensionless value + * 1/100, and annotates values giving a percentage. + */ + unit?: string; + /** + * Whether the measurement is an integer, a floating-point number, etc. Some + * combinations of metric_kind and value_type might not be supported. + */ + valueType?: string; + } + /** + * Additional annotations that can be used to guide the usage of a metric. + */ + interface Schema$MetricDescriptorMetadata { + /** + * The delay of data points caused by ingestion. Data points older than this + * age are guaranteed to be ingested and available to be read, excluding + * data loss due to errors. + */ + ingestDelay?: string; + /** + * The launch stage of the metric definition. + */ + launchStage?: string; + /** + * The sampling period of metric data points. For metrics which are written + * periodically, consecutive data points are stored at this time interval, + * excluding data loss due to errors. Metrics with a higher granularity have + * a smaller sampling period. + */ + samplePeriod?: string; + } + /** + * An object representing a resource that can be used for monitoring, logging, + * billing, or other purposes. Examples include virtual machine instances, + * databases, and storage devices such as disks. The type field identifies a + * MonitoredResourceDescriptor object that describes the resource's + * schema. Information in the labels field identifies the actual resource and + * its attributes according to the schema. For example, a particular Compute + * Engine VM instance could be represented by the following object, because + * the MonitoredResourceDescriptor for "gce_instance" has labels + * "instance_id" and "zone": { "type": + * "gce_instance", "labels": { "instance_id": + * "12345678901234", "zone": + * "us-central1-a" }} + */ + interface Schema$MonitoredResource { + /** + * Required. Values for all of the labels listed in the associated monitored + * resource descriptor. For example, Compute Engine VM instances use the + * labels "project_id", "instance_id", and + * "zone". + */ + labels?: any; + /** + * Required. The monitored resource type. This field must match the type + * field of a MonitoredResourceDescriptor object. For example, the type of a + * Compute Engine VM instance is gce_instance. + */ + type?: string; + } + /** + * An object that describes the schema of a MonitoredResource object using a + * type name and a set of labels. For example, the monitored resource + * descriptor for Google Compute Engine VM instances has a type of + * "gce_instance" and specifies the use of the labels + * "instance_id" and "zone" to identify particular VM + * instances.Different APIs can support different monitored resource types. + * APIs generally provide a list method that returns the monitored resource + * descriptors used by the API. + */ + interface Schema$MonitoredResourceDescriptor { + /** + * Optional. A detailed description of the monitored resource type that + * might be used in documentation. + */ + description?: string; + /** + * Optional. A concise name for the monitored resource type that might be + * displayed in user interfaces. It should be a Title Cased Noun Phrase, + * without any article or other determiners. For example, "Google Cloud + * SQL Database". + */ + displayName?: string; + /** + * Required. A set of labels used to describe instances of this monitored + * resource type. For example, an individual Google Cloud SQL database is + * identified by values for the labels "database_id" and + * "zone". + */ + labels?: Schema$LabelDescriptor[]; + /** + * Optional. The resource name of the monitored resource descriptor: + * "projects/{project_id}/monitoredResourceDescriptors/{type}" + * where {type} is the value of the type field in this object and + * {project_id} is a project ID that provides API-specific context for + * accessing the type. APIs that do not use project information can use the + * resource name format "monitoredResourceDescriptors/{type}". + */ + name?: string; + /** + * Required. The monitored resource type. For example, the type + * "cloudsql_database" represents databases in Google Cloud SQL. + * The maximum length of this value is 256 characters. + */ + type?: string; + } + /** + * Auxiliary metadata for a MonitoredResource object. MonitoredResource + * objects contain the minimum set of information to uniquely identify a + * monitored resource instance. There is some other useful auxiliary metadata. + * Monitoring and Logging use an ingestion pipeline to extract metadata for + * cloud resources of all types, and store the metadata in this message. + */ + interface Schema$MonitoredResourceMetadata { + /** + * Output only. Values for predefined system metadata labels. System labels + * are a kind of metadata extracted by Google, including + * "machine_image", "vpc", "subnet_id", + * "security_group", "name", etc. System label values + * can be only strings, Boolean values, or a list of strings. For example: { + * "name": "my-test-instance", + * "security_group": ["a", "b", + * "c"], "spot_instance": false } + */ + systemLabels?: any; + /** + * Output only. A map of user-defined metadata labels. + */ + userLabels?: any; + } + /** + * Complete log information about a single HTTP request to an App Engine + * application. + */ + interface Schema$RequestLog { + /** + * App Engine release version. + */ + appEngineRelease?: string; + /** + * Application that handled this request. + */ + appId?: string; + /** + * An indication of the relative cost of serving this request. + */ + cost?: number; + /** + * Time when the request finished. + */ + endTime?: string; + /** + * Whether this request is finished or active. + */ + finished?: boolean; + /** + * Whether this is the first RequestLog entry for this request. If an active + * request has several RequestLog entries written to Stackdriver Logging, + * then this field will be set for one of them. + */ + first?: boolean; + /** + * Internet host and port number of the resource being requested. + */ + host?: string; + /** + * HTTP version of request. Example: "HTTP/1.1". + */ + httpVersion?: string; + /** + * An identifier for the instance that handled the request. + */ + instanceId?: string; + /** + * If the instance processing this request belongs to a manually scaled + * module, then this is the 0-based index of the instance. Otherwise, this + * value is -1. + */ + instanceIndex?: number; + /** + * Origin IP address. + */ + ip?: string; + /** + * Latency of the request. + */ + latency?: string; + /** + * A list of log lines emitted by the application while serving this + * request. + */ + line?: Schema$LogLine[]; + /** + * Number of CPU megacycles used to process request. + */ + megaCycles?: string; + /** + * Request method. Example: "GET", "HEAD", + * "PUT", "POST", "DELETE". + */ + method?: string; + /** + * Module of the application that handled this request. + */ + moduleId?: string; + /** + * The logged-in user who made the request.Most likely, this is the part of + * the user's email before the @ sign. The field value is the same for + * different requests from the same user, but different users can have + * similar names. This information is also available to the application via + * the App Engine Users API.This field will be populated starting with App + * Engine 1.9.21. + */ + nickname?: string; + /** + * Time this request spent in the pending request queue. + */ + pendingTime?: string; + /** + * Referrer URL of request. + */ + referrer?: string; + /** + * Globally unique identifier for a request, which is based on the request + * start time. Request IDs for requests which started later will compare + * greater as strings than those for requests which started earlier. + */ + requestId?: string; + /** + * Contains the path and query portion of the URL that was requested. For + * example, if the URL was "http://example.com/app?name=val", the + * resource would be "/app?name=val". The fragment identifier, + * which is identified by the # character, is not included. + */ + resource?: string; + /** + * Size in bytes sent back to client by request. + */ + responseSize?: string; + /** + * Source code for the application that handled this request. There can be + * more than one source reference per deployed application if source code is + * distributed among multiple repositories. + */ + sourceReference?: Schema$SourceReference[]; + /** + * Time when the request started. + */ + startTime?: string; + /** + * HTTP response status code. Example: 200, 404. + */ + status?: number; + /** + * Task name of the request, in the case of an offline request. + */ + taskName?: string; + /** + * Queue name of the request, in the case of an offline request. + */ + taskQueueName?: string; + /** + * Stackdriver Trace identifier for this request. + */ + traceId?: string; + /** + * If true, the value in the 'trace_id' field was sampled for + * storage in a trace backend. + */ + traceSampled?: boolean; + /** + * File or class that handled the request. + */ + urlMapEntry?: string; + /** + * User agent that made the request. + */ + userAgent?: string; + /** + * Version of the application that handled this request. + */ + versionId?: string; + /** + * Whether this was a loading request for the instance. + */ + wasLoadingRequest?: boolean; + } + /** + * Specifies a location in a source code file. + */ + interface Schema$SourceLocation { + /** + * Source file name. Depending on the runtime environment, this might be a + * simple name or a fully-qualified name. + */ + file?: string; + /** + * Human-readable name of the function or method being invoked, with + * optional context such as the class or package name. This information is + * used in contexts such as the logs viewer, where a file and line number + * are less meaningful. The format can vary by language. For example: + * qual.if.ied.Class.method (Java), dir/package.func (Go), function + * (Python). + */ + functionName?: string; + /** + * Line within the source file. + */ + line?: string; + } + /** + * A reference to a particular snapshot of the source tree used to build and + * deploy an application. + */ + interface Schema$SourceReference { + /** + * Optional. A URI string identifying the repository. Example: + * "https://github.com/GoogleCloudPlatform/kubernetes.git" + */ + repository?: string; + /** + * The canonical and persistent identifier of the deployed revision. Example + * (git): "0035781c50ec7aa23385dc841529ce8a4b70db1b" + */ + revisionId?: string; + } + /** + * The parameters to WriteLogEntries. + */ + interface Schema$WriteLogEntriesRequest { + /** + * Optional. If true, the request should expect normal response, but the + * entries won't be persisted nor exported. Useful for checking whether + * the logging API endpoints are working properly before sending valuable + * data. + */ + dryRun?: boolean; + /** + * Required. The log entries to send to Logging. The order of log entries in + * this list does not matter. Values supplied in this method's log_name, + * resource, and labels fields are copied into those log entries in this + * list that do not include values for their corresponding fields. For more + * information, see the LogEntry type.If the timestamp or insert_id fields + * are missing in log entries, then this method supplies the current time or + * a unique identifier, respectively. The supplied values are chosen so + * that, among the log entries that did not supply their own values, the + * entries earlier in the list will sort before the entries later in the + * list. See the entries.list method.Log entries with timestamps that are + * more than the logs retention period in the past or more than 24 hours in + * the future will not be available when calling entries.list. However, + * those log entries can still be exported with LogSinks.To improve + * throughput and to avoid exceeding the quota limit for calls to + * entries.write, you should try to include several log entries in this + * list, rather than calling this method for each individual log entry. + */ + entries?: Schema$LogEntry[]; + /** + * Optional. Default labels that are added to the labels field of all log + * entries in entries. If a log entry already has a label with the same key + * as a label in this parameter, then the log entry's label is not + * changed. See LogEntry. + */ + labels?: any; + /** + * Optional. A default log resource name that is assigned to all log entries + * in entries that do not specify a value for log_name: + * "projects/[PROJECT_ID]/logs/[LOG_ID]" + * "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]" + * "folders/[FOLDER_ID]/logs/[LOG_ID]" [LOG_ID] must be + * URL-encoded. For example: "projects/my-project-id/logs/syslog" + * "organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity" + * The permission <code>logging.logEntries.create</code> is + * needed on each project, organization, billing account, or folder that is + * receiving new log entries, whether the resource is specified in + * <code>logName</code> or in an individual log entry. + */ + logName?: string; + /** + * Optional. Whether valid entries should be written even if some other + * entries fail due to INVALID_ARGUMENT or PERMISSION_DENIED errors. If any + * entry is not written, then the response status is the error associated + * with one of the failed entries and the response includes error details + * keyed by the entries' zero-based index in the entries.write method. + */ + partialSuccess?: boolean; + /** + * Optional. A default monitored resource object that is assigned to all log + * entries in entries that do not specify a value for resource. Example: { + * "type": "gce_instance", "labels": { + * "zone": "us-central1-a", "instance_id": + * "00000000000000000000" }} See LogEntry. + */ + resource?: Schema$MonitoredResource; + } + /** + * Result returned from WriteLogEntries. empty + */ + interface Schema$WriteLogEntriesResponse { + } + class Resource$Billingaccounts { + root: Logging; + logs: Resource$Billingaccounts$Logs; + constructor(root: Logging); + getRoot(): Logging; + } + class Resource$Billingaccounts$Logs { + root: Logging; + constructor(root: Logging); + getRoot(): Logging; + /** + * logging.billingAccounts.logs.delete + * @desc Deletes all the log entries in a log. The log reappears if it + * receives new entries. Log entries written shortly before the delete + * operation might not be deleted. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Stackdriver Logging API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/logging + * // 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 logging = google.logging('v2beta1'); + * + * authorize(function(authClient) { + * var request = { + * // Required. The resource name of the log to delete: + * // "projects/[PROJECT_ID]/logs/[LOG_ID]" + * // "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]" + * // "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]" + * // "folders/[FOLDER_ID]/logs/[LOG_ID]" + * // [LOG_ID] must be URL-encoded. For example, + * "projects/my-project-id/logs/syslog", + * // + * "organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity". + * For more + * // information about log names, see LogEntry. + * logName: 'billingAccounts/my-billing-account/logs/my-log', // TODO: + * Update placeholder value. + * + * auth: authClient, + * }; + * + * logging.billingAccounts.logs.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 logging.billingAccounts.logs.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.logName Required. The resource name of the log to delete: "projects/[PROJECT_ID]/logs/[LOG_ID]" "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]" "folders/[FOLDER_ID]/logs/[LOG_ID]" [LOG_ID] must be URL-encoded. For example, "projects/my-project-id/logs/syslog", "organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity". For more information about log names, see LogEntry. + * @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?: Params$Resource$Billingaccounts$Logs$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Billingaccounts$Logs$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Billingaccounts$Logs$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * logging.billingAccounts.logs.list + * @desc Lists the logs in projects, organizations, folders, or billing + * accounts. Only logs that have entries are listed. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Stackdriver Logging API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/logging + * // 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 logging = google.logging('v2beta1'); + * + * authorize(function(authClient) { + * var request = { + * // Required. The resource name that owns the logs: + * // "projects/[PROJECT_ID]" + * // "organizations/[ORGANIZATION_ID]" + * // "billingAccounts/[BILLING_ACCOUNT_ID]" + * // "folders/[FOLDER_ID]" + * parent: 'billingAccounts/my-billing-account', // TODO: Update + * placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var logNamesPage = response['logNames']; + * if (!logNamesPage) { + * return; + * } + * for (var i = 0; i < logNamesPage.length; i++) { + * // TODO: Change code below to process each resource in + * `logNamesPage`: console.log(JSON.stringify(logNamesPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * logging.billingAccounts.logs.list(request, handlePage); + * } + * }; + * + * logging.billingAccounts.logs.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 logging.billingAccounts.logs.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available. + * @param {string=} params.pageToken Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call. + * @param {string} params.parent Required. The resource name that owns the logs: "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" + * @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?: Params$Resource$Billingaccounts$Logs$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Billingaccounts$Logs$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Billingaccounts$Logs$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Billingaccounts$Logs$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of the log to delete: + * "projects/[PROJECT_ID]/logs/[LOG_ID]" + * "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]" + * "folders/[FOLDER_ID]/logs/[LOG_ID]" [LOG_ID] must be URL-encoded. For + * example, "projects/my-project-id/logs/syslog", + * "organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity". + * For more information about log names, see LogEntry. + */ + logName?: string; + } + interface Params$Resource$Billingaccounts$Logs$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The maximum number of results to return from this request. + * Non-positive values are ignored. The presence of nextPageToken in the + * response indicates that more results might be available. + */ + pageSize?: number; + /** + * Optional. If present, then retrieve the next batch of results from the + * preceding call to this method. pageToken must be the value of + * nextPageToken from the previous response. The values of other method + * parameters should be identical to those in the previous call. + */ + pageToken?: string; + /** + * Required. The resource name that owns the logs: "projects/[PROJECT_ID]" + * "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" + * "folders/[FOLDER_ID]" + */ + parent?: string; + } + class Resource$Entries { + root: Logging; + constructor(root: Logging); + getRoot(): Logging; + /** + * logging.entries.list + * @desc Lists log entries. Use this method to retrieve log entries from + * Logging. For ways to export log entries, see Exporting Logs. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Stackdriver Logging API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/logging + * // 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 logging = google.logging('v2beta1'); + * + * authorize(function(authClient) { + * var request = { + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var entriesPage = response['entries']; + * if (!entriesPage) { + * return; + * } + * for (var i = 0; i < entriesPage.length; i++) { + * // TODO: Change code below to process each resource in + * `entriesPage`: console.log(JSON.stringify(entriesPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.resource.pageToken = response.nextPageToken; + * logging.entries.list(request, handlePage); + * } + * }; + * + * logging.entries.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 logging.entries.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().ListLogEntriesRequest} 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 + */ + list(params?: Params$Resource$Entries$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Entries$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Entries$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * logging.entries.write + * @desc Writes log entries to Logging. This API method is the only way to + * send log entries to Logging. This method is used, directly or indirectly, + * by the Logging agent (fluentd) and all logging libraries configured to + * use Logging. A single request may contain log entries for a maximum of + * 1000 different resources (projects, organizations, billing accounts or + * folders) + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Stackdriver Logging API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/logging + * // 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 logging = google.logging('v2beta1'); + * + * authorize(function(authClient) { + * var request = { + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * logging.entries.write(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 logging.entries.write + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().WriteLogEntriesRequest} 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 + */ + write(params?: Params$Resource$Entries$Write, options?: MethodOptions): AxiosPromise; + write(params: Params$Resource$Entries$Write, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + write(params: Params$Resource$Entries$Write, callback: BodyResponseCallback): void; + write(callback: BodyResponseCallback): void; + } + interface Params$Resource$Entries$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$ListLogEntriesRequest; + } + interface Params$Resource$Entries$Write { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$WriteLogEntriesRequest; + } + class Resource$Monitoredresourcedescriptors { + root: Logging; + constructor(root: Logging); + getRoot(): Logging; + /** + * logging.monitoredResourceDescriptors.list + * @desc Lists the descriptors for monitored resource types used by Logging. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Stackdriver Logging API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/logging + * // 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 logging = google.logging('v2beta1'); + * + * authorize(function(authClient) { + * var request = { + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var resourceDescriptorsPage = response['resourceDescriptors']; + * if (!resourceDescriptorsPage) { + * return; + * } + * for (var i = 0; i < resourceDescriptorsPage.length; i++) { + * // TODO: Change code below to process each resource in + * `resourceDescriptorsPage`: + * console.log(JSON.stringify(resourceDescriptorsPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * logging.monitoredResourceDescriptors.list(request, handlePage); + * } + * }; + * + * logging.monitoredResourceDescriptors.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 logging.monitoredResourceDescriptors.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available. + * @param {string=} params.pageToken Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call. + * @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?: Params$Resource$Monitoredresourcedescriptors$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Monitoredresourcedescriptors$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Monitoredresourcedescriptors$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Monitoredresourcedescriptors$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The maximum number of results to return from this request. + * Non-positive values are ignored. The presence of nextPageToken in the + * response indicates that more results might be available. + */ + pageSize?: number; + /** + * Optional. If present, then retrieve the next batch of results from the + * preceding call to this method. pageToken must be the value of + * nextPageToken from the previous response. The values of other method + * parameters should be identical to those in the previous call. + */ + pageToken?: string; + } + class Resource$Organizations { + root: Logging; + logs: Resource$Organizations$Logs; + constructor(root: Logging); + getRoot(): Logging; + } + class Resource$Organizations$Logs { + root: Logging; + constructor(root: Logging); + getRoot(): Logging; + /** + * logging.organizations.logs.delete + * @desc Deletes all the log entries in a log. The log reappears if it + * receives new entries. Log entries written shortly before the delete + * operation might not be deleted. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Stackdriver Logging API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/logging + * // 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 logging = google.logging('v2beta1'); + * + * authorize(function(authClient) { + * var request = { + * // Required. The resource name of the log to delete: + * // "projects/[PROJECT_ID]/logs/[LOG_ID]" + * // "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]" + * // "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]" + * // "folders/[FOLDER_ID]/logs/[LOG_ID]" + * // [LOG_ID] must be URL-encoded. For example, + * "projects/my-project-id/logs/syslog", + * // + * "organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity". + * For more + * // information about log names, see LogEntry. + * logName: 'organizations/my-organization/logs/my-log', // TODO: + * Update placeholder value. + * + * auth: authClient, + * }; + * + * logging.organizations.logs.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 logging.organizations.logs.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.logName Required. The resource name of the log to delete: "projects/[PROJECT_ID]/logs/[LOG_ID]" "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]" "folders/[FOLDER_ID]/logs/[LOG_ID]" [LOG_ID] must be URL-encoded. For example, "projects/my-project-id/logs/syslog", "organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity". For more information about log names, see LogEntry. + * @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?: Params$Resource$Organizations$Logs$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Organizations$Logs$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Organizations$Logs$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * logging.organizations.logs.list + * @desc Lists the logs in projects, organizations, folders, or billing + * accounts. Only logs that have entries are listed. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Stackdriver Logging API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/logging + * // 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 logging = google.logging('v2beta1'); + * + * authorize(function(authClient) { + * var request = { + * // Required. The resource name that owns the logs: + * // "projects/[PROJECT_ID]" + * // "organizations/[ORGANIZATION_ID]" + * // "billingAccounts/[BILLING_ACCOUNT_ID]" + * // "folders/[FOLDER_ID]" + * parent: 'organizations/my-organization', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var logNamesPage = response['logNames']; + * if (!logNamesPage) { + * return; + * } + * for (var i = 0; i < logNamesPage.length; i++) { + * // TODO: Change code below to process each resource in + * `logNamesPage`: console.log(JSON.stringify(logNamesPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * logging.organizations.logs.list(request, handlePage); + * } + * }; + * + * logging.organizations.logs.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 logging.organizations.logs.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available. + * @param {string=} params.pageToken Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call. + * @param {string} params.parent Required. The resource name that owns the logs: "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" + * @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?: Params$Resource$Organizations$Logs$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Organizations$Logs$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Organizations$Logs$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Organizations$Logs$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of the log to delete: + * "projects/[PROJECT_ID]/logs/[LOG_ID]" + * "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]" + * "folders/[FOLDER_ID]/logs/[LOG_ID]" [LOG_ID] must be URL-encoded. For + * example, "projects/my-project-id/logs/syslog", + * "organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity". + * For more information about log names, see LogEntry. + */ + logName?: string; + } + interface Params$Resource$Organizations$Logs$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The maximum number of results to return from this request. + * Non-positive values are ignored. The presence of nextPageToken in the + * response indicates that more results might be available. + */ + pageSize?: number; + /** + * Optional. If present, then retrieve the next batch of results from the + * preceding call to this method. pageToken must be the value of + * nextPageToken from the previous response. The values of other method + * parameters should be identical to those in the previous call. + */ + pageToken?: string; + /** + * Required. The resource name that owns the logs: "projects/[PROJECT_ID]" + * "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" + * "folders/[FOLDER_ID]" + */ + parent?: string; + } + class Resource$Projects { + root: Logging; + logs: Resource$Projects$Logs; + metrics: Resource$Projects$Metrics; + sinks: Resource$Projects$Sinks; + constructor(root: Logging); + getRoot(): Logging; + } + class Resource$Projects$Logs { + root: Logging; + constructor(root: Logging); + getRoot(): Logging; + /** + * logging.projects.logs.delete + * @desc Deletes all the log entries in a log. The log reappears if it + * receives new entries. Log entries written shortly before the delete + * operation might not be deleted. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Stackdriver Logging API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/logging + * // 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 logging = google.logging('v2beta1'); + * + * authorize(function(authClient) { + * var request = { + * // Required. The resource name of the log to delete: + * // "projects/[PROJECT_ID]/logs/[LOG_ID]" + * // "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]" + * // "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]" + * // "folders/[FOLDER_ID]/logs/[LOG_ID]" + * // [LOG_ID] must be URL-encoded. For example, + * "projects/my-project-id/logs/syslog", + * // + * "organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity". + * For more + * // information about log names, see LogEntry. + * logName: 'projects/my-project/logs/my-log', // TODO: Update + * placeholder value. + * + * auth: authClient, + * }; + * + * logging.projects.logs.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 logging.projects.logs.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.logName Required. The resource name of the log to delete: "projects/[PROJECT_ID]/logs/[LOG_ID]" "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]" "folders/[FOLDER_ID]/logs/[LOG_ID]" [LOG_ID] must be URL-encoded. For example, "projects/my-project-id/logs/syslog", "organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity". For more information about log names, see LogEntry. + * @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?: Params$Resource$Projects$Logs$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Logs$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Logs$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * logging.projects.logs.list + * @desc Lists the logs in projects, organizations, folders, or billing + * accounts. Only logs that have entries are listed. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Stackdriver Logging API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/logging + * // 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 logging = google.logging('v2beta1'); + * + * authorize(function(authClient) { + * var request = { + * // Required. The resource name that owns the logs: + * // "projects/[PROJECT_ID]" + * // "organizations/[ORGANIZATION_ID]" + * // "billingAccounts/[BILLING_ACCOUNT_ID]" + * // "folders/[FOLDER_ID]" + * parent: 'projects/my-project', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var logNamesPage = response['logNames']; + * if (!logNamesPage) { + * return; + * } + * for (var i = 0; i < logNamesPage.length; i++) { + * // TODO: Change code below to process each resource in + * `logNamesPage`: console.log(JSON.stringify(logNamesPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * logging.projects.logs.list(request, handlePage); + * } + * }; + * + * logging.projects.logs.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 logging.projects.logs.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available. + * @param {string=} params.pageToken Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call. + * @param {string} params.parent Required. The resource name that owns the logs: "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" + * @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?: Params$Resource$Projects$Logs$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Logs$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Logs$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Logs$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of the log to delete: + * "projects/[PROJECT_ID]/logs/[LOG_ID]" + * "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]" + * "folders/[FOLDER_ID]/logs/[LOG_ID]" [LOG_ID] must be URL-encoded. For + * example, "projects/my-project-id/logs/syslog", + * "organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity". + * For more information about log names, see LogEntry. + */ + logName?: string; + } + interface Params$Resource$Projects$Logs$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The maximum number of results to return from this request. + * Non-positive values are ignored. The presence of nextPageToken in the + * response indicates that more results might be available. + */ + pageSize?: number; + /** + * Optional. If present, then retrieve the next batch of results from the + * preceding call to this method. pageToken must be the value of + * nextPageToken from the previous response. The values of other method + * parameters should be identical to those in the previous call. + */ + pageToken?: string; + /** + * Required. The resource name that owns the logs: "projects/[PROJECT_ID]" + * "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" + * "folders/[FOLDER_ID]" + */ + parent?: string; + } + class Resource$Projects$Metrics { + root: Logging; + constructor(root: Logging); + getRoot(): Logging; + /** + * logging.projects.metrics.create + * @desc Creates a logs-based metric. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Stackdriver Logging API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/logging + * // 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 logging = google.logging('v2beta1'); + * + * authorize(function(authClient) { + * var request = { + * // The resource name of the project in which to create the metric: + * // "projects/[PROJECT_ID]" + * // The new metric must be provided in the request. + * parent: 'projects/my-project', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * logging.projects.metrics.create(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 logging.projects.metrics.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent The resource name of the project in which to create the metric: "projects/[PROJECT_ID]" The new metric must be provided in the request. + * @param {().LogMetric} 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 + */ + create(params?: Params$Resource$Projects$Metrics$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Metrics$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Metrics$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * logging.projects.metrics.delete + * @desc Deletes a logs-based metric. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Stackdriver Logging API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/logging + * // 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 logging = google.logging('v2beta1'); + * + * authorize(function(authClient) { + * var request = { + * // The resource name of the metric to delete: + * // "projects/[PROJECT_ID]/metrics/[METRIC_ID]" + * metricName: 'projects/my-project/metrics/my-metric', // TODO: Update + * placeholder value. + * + * auth: authClient, + * }; + * + * logging.projects.metrics.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 logging.projects.metrics.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.metricName The resource name of the metric to delete: "projects/[PROJECT_ID]/metrics/[METRIC_ID]" + * @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?: Params$Resource$Projects$Metrics$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Metrics$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Metrics$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * logging.projects.metrics.get + * @desc Gets a logs-based metric. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Stackdriver Logging API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/logging + * // 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 logging = google.logging('v2beta1'); + * + * authorize(function(authClient) { + * var request = { + * // The resource name of the desired metric: + * // "projects/[PROJECT_ID]/metrics/[METRIC_ID]" + * metricName: 'projects/my-project/metrics/my-metric', // TODO: Update + * placeholder value. + * + * auth: authClient, + * }; + * + * logging.projects.metrics.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 logging.projects.metrics.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.metricName The resource name of the desired metric: "projects/[PROJECT_ID]/metrics/[METRIC_ID]" + * @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?: Params$Resource$Projects$Metrics$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Metrics$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Metrics$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * logging.projects.metrics.list + * @desc Lists logs-based metrics. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Stackdriver Logging API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/logging + * // 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 logging = google.logging('v2beta1'); + * + * authorize(function(authClient) { + * var request = { + * // Required. The name of the project containing the metrics: + * // "projects/[PROJECT_ID]" + * parent: 'projects/my-project', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var metricsPage = response['metrics']; + * if (!metricsPage) { + * return; + * } + * for (var i = 0; i < metricsPage.length; i++) { + * // TODO: Change code below to process each resource in + * `metricsPage`: console.log(JSON.stringify(metricsPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * logging.projects.metrics.list(request, handlePage); + * } + * }; + * + * logging.projects.metrics.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 logging.projects.metrics.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available. + * @param {string=} params.pageToken Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call. + * @param {string} params.parent Required. The name of the project containing the metrics: "projects/[PROJECT_ID]" + * @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?: Params$Resource$Projects$Metrics$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Metrics$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Metrics$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * logging.projects.metrics.update + * @desc Creates or updates a logs-based metric. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Stackdriver Logging API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/logging + * // 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 logging = google.logging('v2beta1'); + * + * authorize(function(authClient) { + * var request = { + * // The resource name of the metric to update: + * // "projects/[PROJECT_ID]/metrics/[METRIC_ID]" + * // The updated metric must be provided in the request and it's name + * field must be the same as + * // [METRIC_ID] If the metric does not exist in [PROJECT_ID], then a + * new metric is created. metricName: + * 'projects/my-project/metrics/my-metric', // TODO: Update placeholder + * value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * logging.projects.metrics.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 logging.projects.metrics.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.metricName The resource name of the metric to update: "projects/[PROJECT_ID]/metrics/[METRIC_ID]" The updated metric must be provided in the request and it's name field must be the same as [METRIC_ID] If the metric does not exist in [PROJECT_ID], then a new metric is created. + * @param {().LogMetric} 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?: Params$Resource$Projects$Metrics$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Projects$Metrics$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Projects$Metrics$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Metrics$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the project in which to create the metric: + * "projects/[PROJECT_ID]" The new metric must be provided in the request. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$LogMetric; + } + interface Params$Resource$Projects$Metrics$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the metric to delete: + * "projects/[PROJECT_ID]/metrics/[METRIC_ID]" + */ + metricName?: string; + } + interface Params$Resource$Projects$Metrics$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the desired metric: + * "projects/[PROJECT_ID]/metrics/[METRIC_ID]" + */ + metricName?: string; + } + interface Params$Resource$Projects$Metrics$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The maximum number of results to return from this request. + * Non-positive values are ignored. The presence of nextPageToken in the + * response indicates that more results might be available. + */ + pageSize?: number; + /** + * Optional. If present, then retrieve the next batch of results from the + * preceding call to this method. pageToken must be the value of + * nextPageToken from the previous response. The values of other method + * parameters should be identical to those in the previous call. + */ + pageToken?: string; + /** + * Required. The name of the project containing the metrics: + * "projects/[PROJECT_ID]" + */ + parent?: string; + } + interface Params$Resource$Projects$Metrics$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the metric to update: + * "projects/[PROJECT_ID]/metrics/[METRIC_ID]" The updated metric must be + * provided in the request and it's name field must be the same as + * [METRIC_ID] If the metric does not exist in [PROJECT_ID], then a new + * metric is created. + */ + metricName?: string; + /** + * Request body metadata + */ + requestBody?: Schema$LogMetric; + } + class Resource$Projects$Sinks { + root: Logging; + constructor(root: Logging); + getRoot(): Logging; + /** + * logging.projects.sinks.create + * @desc Creates a sink that exports specified log entries to a destination. + * The export of newly-ingested log entries begins immediately, unless the + * sink's writer_identity is not permitted to write to the destination. A + * sink can export log entries only from the resource owning the sink. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Stackdriver Logging API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/logging + * // 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 logging = google.logging('v2beta1'); + * + * authorize(function(authClient) { + * var request = { + * // Required. The resource in which to create the sink: + * // "projects/[PROJECT_ID]" + * // "organizations/[ORGANIZATION_ID]" + * // "billingAccounts/[BILLING_ACCOUNT_ID]" + * // "folders/[FOLDER_ID]" + * // Examples: "projects/my-logging-project", + * "organizations/123456789". parent: 'projects/my-project', // TODO: + * Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * logging.projects.sinks.create(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 logging.projects.sinks.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The resource in which to create the sink: "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" Examples: "projects/my-logging-project", "organizations/123456789". + * @param {boolean=} params.uniqueWriterIdentity Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a unique service account used only for exports from the new sink. For more information, see writer_identity in LogSink. + * @param {().LogSink} 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 + */ + create(params?: Params$Resource$Projects$Sinks$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Sinks$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Sinks$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * logging.projects.sinks.delete + * @desc Deletes a sink. If the sink has a unique writer_identity, then that + * service account is also deleted. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Stackdriver Logging API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/logging + * // 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 logging = google.logging('v2beta1'); + * + * authorize(function(authClient) { + * var request = { + * // Required. The full resource name of the sink to delete, including + * the parent resource and the sink + * // identifier: + * // "projects/[PROJECT_ID]/sinks/[SINK_ID]" + * // "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + * // "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + * // "folders/[FOLDER_ID]/sinks/[SINK_ID]" + * // Example: "projects/my-project-id/sinks/my-sink-id". + * sinkName: 'projects/my-project/sinks/my-sink', // TODO: Update + * placeholder value. + * + * auth: authClient, + * }; + * + * logging.projects.sinks.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 logging.projects.sinks.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.sinkName Required. The full resource name of the sink to delete, including the parent resource and the sink identifier: "projects/[PROJECT_ID]/sinks/[SINK_ID]" "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: "projects/my-project-id/sinks/my-sink-id". + * @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?: Params$Resource$Projects$Sinks$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Sinks$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Sinks$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * logging.projects.sinks.get + * @desc Gets a sink. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Stackdriver Logging API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/logging + * // 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 logging = google.logging('v2beta1'); + * + * authorize(function(authClient) { + * var request = { + * // Required. The resource name of the sink: + * // "projects/[PROJECT_ID]/sinks/[SINK_ID]" + * // "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + * // "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + * // "folders/[FOLDER_ID]/sinks/[SINK_ID]" + * // Example: "projects/my-project-id/sinks/my-sink-id". + * sinkName: 'projects/my-project/sinks/my-sink', // TODO: Update + * placeholder value. + * + * auth: authClient, + * }; + * + * logging.projects.sinks.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 logging.projects.sinks.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.sinkName Required. The resource name of the sink: "projects/[PROJECT_ID]/sinks/[SINK_ID]" "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: "projects/my-project-id/sinks/my-sink-id". + * @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?: Params$Resource$Projects$Sinks$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Sinks$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Sinks$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * logging.projects.sinks.list + * @desc Lists sinks. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Stackdriver Logging API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/logging + * // 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 logging = google.logging('v2beta1'); + * + * authorize(function(authClient) { + * var request = { + * // Required. The parent resource whose sinks are to be listed: + * // "projects/[PROJECT_ID]" + * // "organizations/[ORGANIZATION_ID]" + * // "billingAccounts/[BILLING_ACCOUNT_ID]" + * // "folders/[FOLDER_ID]" + * parent: 'projects/my-project', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var sinksPage = response['sinks']; + * if (!sinksPage) { + * return; + * } + * for (var i = 0; i < sinksPage.length; i++) { + * // TODO: Change code below to process each resource in `sinksPage`: + * console.log(JSON.stringify(sinksPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * logging.projects.sinks.list(request, handlePage); + * } + * }; + * + * logging.projects.sinks.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 logging.projects.sinks.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available. + * @param {string=} params.pageToken Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call. + * @param {string} params.parent Required. The parent resource whose sinks are to be listed: "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" + * @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?: Params$Resource$Projects$Sinks$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Sinks$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Sinks$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * logging.projects.sinks.update + * @desc Updates a sink. This method replaces the following fields in the + * existing sink with values from the new sink: destination, and filter. The + * updated sink might also have a new writer_identity; see the + * unique_writer_identity field. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Stackdriver Logging API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/logging + * // 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 logging = google.logging('v2beta1'); + * + * authorize(function(authClient) { + * var request = { + * // Required. The full resource name of the sink to update, including + * the parent resource and the sink + * // identifier: + * // "projects/[PROJECT_ID]/sinks/[SINK_ID]" + * // "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + * // "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + * // "folders/[FOLDER_ID]/sinks/[SINK_ID]" + * // Example: "projects/my-project-id/sinks/my-sink-id". + * sinkName: 'projects/my-project/sinks/my-sink', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * logging.projects.sinks.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 logging.projects.sinks.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.sinkName Required. The full resource name of the sink to update, including the parent resource and the sink identifier: "projects/[PROJECT_ID]/sinks/[SINK_ID]" "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: "projects/my-project-id/sinks/my-sink-id". + * @param {boolean=} params.uniqueWriterIdentity Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a unique service account. It is an error if the old value is true and the new value is set to false or defaulted to false. + * @param {string=} params.updateMask Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes: destination,filter,includeChildren At some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskExample: updateMask=filter. + * @param {().LogSink} 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?: Params$Resource$Projects$Sinks$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Projects$Sinks$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Projects$Sinks$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Sinks$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource in which to create the sink: + * "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" Examples: + * "projects/my-logging-project", "organizations/123456789". + */ + parent?: string; + /** + * Optional. Determines the kind of IAM identity returned as writer_identity + * in the new sink. If this value is omitted or set to false, and if the + * sink's parent is a project, then the value returned as writer_identity is + * the same group or service account used by Logging before the addition of + * writer identities to this API. The sink's destination must be in the same + * project as the sink itself.If this field is set to true, or if the sink + * is owned by a non-project resource such as an organization, then the + * value of writer_identity will be a unique service account used only for + * exports from the new sink. For more information, see writer_identity in + * LogSink. + */ + uniqueWriterIdentity?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$LogSink; + } + interface Params$Resource$Projects$Sinks$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The full resource name of the sink to delete, including the + * parent resource and the sink identifier: + * "projects/[PROJECT_ID]/sinks/[SINK_ID]" + * "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + * "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: + * "projects/my-project-id/sinks/my-sink-id". + */ + sinkName?: string; + } + interface Params$Resource$Projects$Sinks$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of the sink: + * "projects/[PROJECT_ID]/sinks/[SINK_ID]" + * "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + * "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: + * "projects/my-project-id/sinks/my-sink-id". + */ + sinkName?: string; + } + interface Params$Resource$Projects$Sinks$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The maximum number of results to return from this request. + * Non-positive values are ignored. The presence of nextPageToken in the + * response indicates that more results might be available. + */ + pageSize?: number; + /** + * Optional. If present, then retrieve the next batch of results from the + * preceding call to this method. pageToken must be the value of + * nextPageToken from the previous response. The values of other method + * parameters should be identical to those in the previous call. + */ + pageToken?: string; + /** + * Required. The parent resource whose sinks are to be listed: + * "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" + */ + parent?: string; + } + interface Params$Resource$Projects$Sinks$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The full resource name of the sink to update, including the + * parent resource and the sink identifier: + * "projects/[PROJECT_ID]/sinks/[SINK_ID]" + * "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + * "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: + * "projects/my-project-id/sinks/my-sink-id". + */ + sinkName?: string; + /** + * Optional. See sinks.create for a description of this field. When updating + * a sink, the effect of this field on the value of writer_identity in the + * updated sink depends on both the old and new values of this field: If the + * old and new values of this field are both false or both true, then there + * is no change to the sink's writer_identity. If the old value is false and + * the new value is true, then writer_identity is changed to a unique + * service account. It is an error if the old value is true and the new + * value is set to false or defaulted to false. + */ + uniqueWriterIdentity?: boolean; + /** + * Optional. Field mask that specifies the fields in sink that need an + * update. A sink field will be overwritten if, and only if, it is in the + * update mask. name and output only fields cannot be updated.An empty + * updateMask is temporarily treated as using the following mask for + * backwards compatibility purposes: destination,filter,includeChildren At + * some point in the future, behavior will be removed and specifying an + * empty updateMask will be an error.For a detailed FieldMask definition, + * see + * https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskExample: + * updateMask=filter. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$LogSink; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/logging/v2beta1.js b/express-server/node_modules/googleapis/build/src/apis/logging/v2beta1.js new file mode 100644 index 00000000..1b6438ff --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/logging/v2beta1.js @@ -0,0 +1,754 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var logging_v2beta1; +(function (logging_v2beta1) { + /** + * Stackdriver Logging API + * + * Writes log entries and manages your Logging configuration. + * + * @example + * const {google} = require('googleapis'); + * const logging = google.logging('v2beta1'); + * + * @namespace logging + * @type {Function} + * @version v2beta1 + * @variation v2beta1 + * @param {object=} options Options for Logging + */ + class Logging { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.billingAccounts = new Resource$Billingaccounts(this); + this.entries = new Resource$Entries(this); + this.monitoredResourceDescriptors = + new Resource$Monitoredresourcedescriptors(this); + this.organizations = new Resource$Organizations(this); + this.projects = new Resource$Projects(this); + } + getRoot() { + return this.root; + } + } + logging_v2beta1.Logging = Logging; + class Resource$Billingaccounts { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.logs = new Resource$Billingaccounts$Logs(root); + } + getRoot() { + return this.root; + } + } + logging_v2beta1.Resource$Billingaccounts = Resource$Billingaccounts; + class Resource$Billingaccounts$Logs { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+logName}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['logName'], + pathParams: ['logName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+parent}/logs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + logging_v2beta1.Resource$Billingaccounts$Logs = Resource$Billingaccounts$Logs; + class Resource$Entries { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/entries:list') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + write(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/entries:write') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + logging_v2beta1.Resource$Entries = Resource$Entries; + class Resource$Monitoredresourcedescriptors { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/monitoredResourceDescriptors') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + logging_v2beta1.Resource$Monitoredresourcedescriptors = Resource$Monitoredresourcedescriptors; + class Resource$Organizations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.logs = new Resource$Organizations$Logs(root); + } + getRoot() { + return this.root; + } + } + logging_v2beta1.Resource$Organizations = Resource$Organizations; + class Resource$Organizations$Logs { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+logName}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['logName'], + pathParams: ['logName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+parent}/logs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + logging_v2beta1.Resource$Organizations$Logs = Resource$Organizations$Logs; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.logs = new Resource$Projects$Logs(root); + this.metrics = new Resource$Projects$Metrics(root); + this.sinks = new Resource$Projects$Sinks(root); + } + getRoot() { + return this.root; + } + } + logging_v2beta1.Resource$Projects = Resource$Projects; + class Resource$Projects$Logs { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+logName}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['logName'], + pathParams: ['logName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+parent}/logs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + logging_v2beta1.Resource$Projects$Logs = Resource$Projects$Logs; + class Resource$Projects$Metrics { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+parent}/metrics') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+metricName}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['metricName'], + pathParams: ['metricName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+metricName}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['metricName'], + pathParams: ['metricName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+parent}/metrics') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+metricName}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['metricName'], + pathParams: ['metricName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + logging_v2beta1.Resource$Projects$Metrics = Resource$Projects$Metrics; + class Resource$Projects$Sinks { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+parent}/sinks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+sinkName}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['sinkName'], + pathParams: ['sinkName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+sinkName}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['sinkName'], + pathParams: ['sinkName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+parent}/sinks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://logging.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2beta1/{+sinkName}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['sinkName'], + pathParams: ['sinkName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + logging_v2beta1.Resource$Projects$Sinks = Resource$Projects$Sinks; +})(logging_v2beta1 = exports.logging_v2beta1 || (exports.logging_v2beta1 = {})); +//# sourceMappingURL=v2beta1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/logging/v2beta1.js.map b/express-server/node_modules/googleapis/build/src/apis/logging/v2beta1.js.map new file mode 100644 index 00000000..6a379674 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/logging/v2beta1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v2beta1.js","sourceRoot":"","sources":["../../../../src/apis/logging/v2beta1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/manufacturers/README.md b/express-server/node_modules/googleapis/build/src/apis/manufacturers/README.md new file mode 100644 index 00000000..16fe00dc --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/manufacturers/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/manufacturers + +> Public API for managing Manufacturer Center related data. + +## Installation + +```sh +$ npm install @google/manufacturers +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/manufacturers/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/manufacturers/index.d.ts new file mode 100644 index 00000000..498b6d8d --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/manufacturers/index.d.ts @@ -0,0 +1,6 @@ +import { manufacturers_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof manufacturers_v1.Manufacturers; +}; +export declare function manufacturers(version: 'v1'): manufacturers_v1.Manufacturers; +export declare function manufacturers(options: manufacturers_v1.Options): manufacturers_v1.Manufacturers; diff --git a/express-server/node_modules/googleapis/build/src/apis/manufacturers/index.js b/express-server/node_modules/googleapis/build/src/apis/manufacturers/index.js new file mode 100644 index 00000000..9a312b84 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/manufacturers/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.manufacturers_v1.Manufacturers, +}; +function manufacturers(versionOrOptions) { + return googleapis_common_1.getAPI('manufacturers', versionOrOptions, exports.VERSIONS, this); +} +exports.manufacturers = manufacturers; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/manufacturers/index.js.map b/express-server/node_modules/googleapis/build/src/apis/manufacturers/index.js.map new file mode 100644 index 00000000..b2a1de60 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/manufacturers/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/manufacturers/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAsC;AAEzB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,qBAAgB,CAAC,aAAa;CACrC,CAAC;AAKF,SAAgB,aAAa,CACC,gBAA+C;IAC3E,OAAO,0BAAM,CAAI,eAAe,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACtE,CAAC;AAHD,sCAGC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/manufacturers/package.json b/express-server/node_modules/googleapis/build/src/apis/manufacturers/package.json new file mode 100644 index 00000000..a76ca594 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/manufacturers/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/manufacturers", + "version": "0.1.0", + "description": "manufacturers", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/manufacturers/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/manufacturers/v1.d.ts new file mode 100644 index 00000000..3b9b52f5 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/manufacturers/v1.d.ts @@ -0,0 +1,637 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace manufacturers_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Manufacturer Center API + * + * Public API for managing Manufacturer Center related data. + * + * @example + * const {google} = require('googleapis'); + * const manufacturers = google.manufacturers('v1'); + * + * @namespace manufacturers + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Manufacturers + */ + class Manufacturers { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + accounts: Resource$Accounts; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Attributes of the product. For more information, see + * https://support.google.com/manufacturers/answer/6124116. + */ + interface Schema$Attributes { + /** + * The additional images of the product. For more information, see + * https://support.google.com/manufacturers/answer/6124116#addlimage. + */ + additionalImageLink?: Schema$Image[]; + /** + * The target age group of the product. For more information, see + * https://support.google.com/manufacturers/answer/6124116#agegroup. + */ + ageGroup?: string; + /** + * The brand name of the product. For more information, see + * https://support.google.com/manufacturers/answer/6124116#brand. + */ + brand?: string; + /** + * The capacity of the product. For more information, see + * https://support.google.com/manufacturers/answer/6124116#capacity. + */ + capacity?: Schema$Capacity; + /** + * The color of the product. For more information, see + * https://support.google.com/manufacturers/answer/6124116#color. + */ + color?: string; + /** + * The count of the product. For more information, see + * https://support.google.com/manufacturers/answer/6124116#count. + */ + count?: Schema$Count; + /** + * The description of the product. For more information, see + * https://support.google.com/manufacturers/answer/6124116#description. + */ + description?: string; + /** + * The disclosure date of the product. For more information, see + * https://support.google.com/manufacturers/answer/6124116#disclosure. + */ + disclosureDate?: string; + /** + * A list of excluded destinations. + */ + excludedDestination?: string[]; + /** + * The rich format description of the product. For more information, see + * https://support.google.com/manufacturers/answer/6124116#featuredesc. + */ + featureDescription?: Schema$FeatureDescription[]; + /** + * The flavor of the product. For more information, see + * https://support.google.com/manufacturers/answer/6124116#flavor. + */ + flavor?: string; + /** + * The format of the product. For more information, see + * https://support.google.com/manufacturers/answer/6124116#format. + */ + format?: string; + /** + * The target gender of the product. For more information, see + * https://support.google.com/manufacturers/answer/6124116#gender. + */ + gender?: string; + /** + * The Global Trade Item Number (GTIN) of the product. For more information, + * see https://support.google.com/manufacturers/answer/6124116#gtin. + */ + gtin?: string[]; + /** + * The image of the product. For more information, see + * https://support.google.com/manufacturers/answer/6124116#image. + */ + imageLink?: Schema$Image; + /** + * A list of included destinations. + */ + includedDestination?: string[]; + /** + * The item group id of the product. For more information, see + * https://support.google.com/manufacturers/answer/6124116#itemgroupid. + */ + itemGroupId?: string; + /** + * The material of the product. For more information, see + * https://support.google.com/manufacturers/answer/6124116#material. + */ + material?: string; + /** + * The Manufacturer Part Number (MPN) of the product. For more information, + * see https://support.google.com/manufacturers/answer/6124116#mpn. + */ + mpn?: string; + /** + * The pattern of the product. For more information, see + * https://support.google.com/manufacturers/answer/6124116#pattern. + */ + pattern?: string; + /** + * The details of the product. For more information, see + * https://support.google.com/manufacturers/answer/6124116#productdetail. + */ + productDetail?: Schema$ProductDetail[]; + /** + * The name of the group of products related to the product. For more + * information, see + * https://support.google.com/manufacturers/answer/6124116#productline. + */ + productLine?: string; + /** + * The canonical name of the product. For more information, see + * https://support.google.com/manufacturers/answer/6124116#productname. + */ + productName?: string; + /** + * The URL of the detail page of the product. For more information, see + * https://support.google.com/manufacturers/answer/6124116#productpage. + */ + productPageUrl?: string; + /** + * The type or category of the product. For more information, see + * https://support.google.com/manufacturers/answer/6124116#producttype. + */ + productType?: string[]; + /** + * The release date of the product. For more information, see + * https://support.google.com/manufacturers/answer/6124116#release. + */ + releaseDate?: string; + /** + * The scent of the product. For more information, see + * https://support.google.com/manufacturers/answer/6124116#scent. + */ + scent?: string; + /** + * The size of the product. For more information, see + * https://support.google.com/manufacturers/answer/6124116#size. + */ + size?: string; + /** + * The size system of the product. For more information, see + * https://support.google.com/manufacturers/answer/6124116#sizesystem. + */ + sizeSystem?: string; + /** + * The size type of the product. For more information, see + * https://support.google.com/manufacturers/answer/6124116#sizetype. + */ + sizeType?: string; + /** + * The suggested retail price (MSRP) of the product. For more information, + * see https://support.google.com/manufacturers/answer/6124116#price. + */ + suggestedRetailPrice?: Schema$Price; + /** + * The target client id. Should only be used in the accounts of the data + * partners. + */ + targetClientId?: string; + /** + * The theme of the product. For more information, see + * https://support.google.com/manufacturers/answer/6124116#theme. + */ + theme?: string; + /** + * The title of the product. For more information, see + * https://support.google.com/manufacturers/answer/6124116#title. + */ + title?: string; + /** + * The videos of the product. For more information, see + * https://support.google.com/manufacturers/answer/6124116#video. + */ + videoLink?: string[]; + } + /** + * The capacity of a product. For more information, see + * https://support.google.com/manufacturers/answer/6124116#capacity. + */ + interface Schema$Capacity { + /** + * The unit of the capacity, i.e., MB, GB, or TB. + */ + unit?: string; + /** + * The numeric value of the capacity. + */ + value?: string; + } + /** + * The number of products in a single package. For more information, see + * https://support.google.com/manufacturers/answer/6124116#count. + */ + interface Schema$Count { + /** + * The unit in which these products are counted. + */ + unit?: string; + /** + * The numeric value of the number of products in a package. + */ + value?: string; + } + /** + * The destination status. + */ + interface Schema$DestinationStatus { + /** + * The name of the destination. + */ + destination?: string; + /** + * The status of the destination. + */ + status?: string; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * A feature description of the product. For more information, see + * https://support.google.com/manufacturers/answer/6124116#featuredesc. + */ + interface Schema$FeatureDescription { + /** + * A short description of the feature. + */ + headline?: string; + /** + * An optional image describing the feature. + */ + image?: Schema$Image; + /** + * A detailed description of the feature. + */ + text?: string; + } + /** + * An image. + */ + interface Schema$Image { + /** + * The URL of the image. For crawled images, this is the provided URL. For + * uploaded images, this is a serving URL from Google if the image has been + * processed successfully. + */ + imageUrl?: string; + /** + * The status of the image. @OutputOnly + */ + status?: string; + /** + * The type of the image, i.e., crawled or uploaded. @OutputOnly + */ + type?: string; + } + /** + * Product issue. + */ + interface Schema$Issue { + /** + * If present, the attribute that triggered the issue. For more information + * about attributes, see + * https://support.google.com/manufacturers/answer/6124116. + */ + attribute?: string; + /** + * Longer description of the issue focused on how to resolve it. + */ + description?: string; + /** + * The destination this issue applies to. + */ + destination?: string; + /** + * What needs to happen to resolve the issue. + */ + resolution?: string; + /** + * The severity of the issue. + */ + severity?: string; + /** + * The timestamp when this issue appeared. + */ + timestamp?: string; + /** + * Short title describing the nature of the issue. + */ + title?: string; + /** + * The server-generated type of the issue, for example, + * “INCORRECT_TEXT_FORMATTING”, “IMAGE_NOT_SERVEABLE”, etc. + */ + type?: string; + } + interface Schema$ListProductsResponse { + /** + * The token for the retrieval of the next page of product statuses. + */ + nextPageToken?: string; + /** + * List of the products. + */ + products?: Schema$Product[]; + } + /** + * A price. + */ + interface Schema$Price { + /** + * The numeric value of the price. + */ + amount?: string; + /** + * The currency in which the price is denoted. + */ + currency?: string; + } + /** + * Product data. + */ + interface Schema$Product { + /** + * Attributes of the product uploaded to the Manufacturer Center. Manually + * edited attributes are taken into account. + */ + attributes?: Schema$Attributes; + /** + * The content language of the product as a two-letter ISO 639-1 language + * code (for example, en). + */ + contentLanguage?: string; + /** + * The status of the destinations. + */ + destinationStatuses?: Schema$DestinationStatus[]; + /** + * A server-generated list of issues associated with the product. + */ + issues?: Schema$Issue[]; + /** + * Name in the format `{target_country}:{content_language}:{product_id}`. + * `target_country` - The target country of the product as a CLDR + * territory code (for example, US). `content_language` + * - The content language of the product as a two-letter ISO 639-1 language + * code (for example, en). `product_id` - The ID of the product. For + * more information, see + * https://support.google.com/manufacturers/answer/6124116#id. + */ + name?: string; + /** + * Parent ID in the format `accounts/{account_id}`. `account_id` - The ID + * of the Manufacturer Center account. + */ + parent?: string; + /** + * The ID of the product. For more information, see + * https://support.google.com/manufacturers/answer/6124116#id. + */ + productId?: string; + /** + * The target country of the product as a CLDR territory code (for example, + * US). + */ + targetCountry?: string; + } + /** + * A product detail of the product. For more information, see + * https://support.google.com/manufacturers/answer/6124116#productdetail. + */ + interface Schema$ProductDetail { + /** + * The name of the attribute. + */ + attributeName?: string; + /** + * The value of the attribute. + */ + attributeValue?: string; + /** + * A short section name that can be reused between multiple product details. + */ + sectionName?: string; + } + class Resource$Accounts { + root: Manufacturers; + products: Resource$Accounts$Products; + constructor(root: Manufacturers); + getRoot(): Manufacturers; + } + class Resource$Accounts$Products { + root: Manufacturers; + constructor(root: Manufacturers); + getRoot(): Manufacturers; + /** + * manufacturers.accounts.products.delete + * @desc Deletes the product from a Manufacturer Center account. + * @alias manufacturers.accounts.products.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Name in the format `{target_country}:{content_language}:{product_id}`. `target_country` - The target country of the product as a CLDR territory code (for example, US). `content_language` - The content language of the product as a two-letter ISO 639-1 language code (for example, en). `product_id` - The ID of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#id. + * @param {string} params.parent Parent ID in the format `accounts/{account_id}`. `account_id` - The ID of the Manufacturer Center account. + * @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?: Params$Resource$Accounts$Products$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Accounts$Products$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Accounts$Products$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * manufacturers.accounts.products.get + * @desc Gets the product from a Manufacturer Center account, including + * product issues. A recently updated product takes around 15 minutes to + * process. Changes are only visible after it has been processed. While some + * issues may be available once the product has been processed, other issues + * may take days to appear. + * @alias manufacturers.accounts.products.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.include The information to be included in the response. Only sections listed here will be returned. + * @param {string} params.name Name in the format `{target_country}:{content_language}:{product_id}`. `target_country` - The target country of the product as a CLDR territory code (for example, US). `content_language` - The content language of the product as a two-letter ISO 639-1 language code (for example, en). `product_id` - The ID of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#id. + * @param {string} params.parent Parent ID in the format `accounts/{account_id}`. `account_id` - The ID of the Manufacturer Center account. + * @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?: Params$Resource$Accounts$Products$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accounts$Products$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accounts$Products$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * manufacturers.accounts.products.list + * @desc Lists all the products in a Manufacturer Center account. + * @alias manufacturers.accounts.products.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.include The information to be included in the response. Only sections listed here will be returned. + * @param {integer=} params.pageSize Maximum number of product statuses to return in the response, used for paging. + * @param {string=} params.pageToken The token returned by the previous request. + * @param {string} params.parent Parent ID in the format `accounts/{account_id}`. `account_id` - The ID of the Manufacturer Center account. + * @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?: Params$Resource$Accounts$Products$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accounts$Products$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accounts$Products$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * manufacturers.accounts.products.update + * @desc Inserts or updates the attributes of the product in a Manufacturer + * Center account. Creates a product with the provided attributes. If the + * product already exists, then all attributes are replaced with the new + * ones. The checks at upload time are minimal. All required attributes need + * to be present for a product to be valid. Issues may show up later after + * the API has accepted a new upload for a product and it is possible to + * overwrite an existing valid product with an invalid product. To detect + * this, you should retrieve the product and check it for issues once the + * new version is available. Uploaded attributes first need to be processed + * before they can be retrieved. Until then, new products will be + * unavailable, and retrieval of previously uploaded products will return + * the original state of the product. + * @alias manufacturers.accounts.products.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Name in the format `{target_country}:{content_language}:{product_id}`. `target_country` - The target country of the product as a CLDR territory code (for example, US). `content_language` - The content language of the product as a two-letter ISO 639-1 language code (for example, en). `product_id` - The ID of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#id. + * @param {string} params.parent Parent ID in the format `accounts/{account_id}`. `account_id` - The ID of the Manufacturer Center account. + * @param {().Attributes} 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?: Params$Resource$Accounts$Products$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Accounts$Products$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Accounts$Products$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Products$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name in the format `{target_country}:{content_language}:{product_id}`. + * `target_country` - The target country of the product as a CLDR + * territory code (for example, US). `content_language` + * - The content language of the product as a two-letter ISO 639-1 language + * code (for example, en). `product_id` - The ID of the product. For + * more information, see + * https://support.google.com/manufacturers/answer/6124116#id. + */ + name?: string; + /** + * Parent ID in the format `accounts/{account_id}`. `account_id` - The ID + * of the Manufacturer Center account. + */ + parent?: string; + } + interface Params$Resource$Accounts$Products$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The information to be included in the response. Only sections listed here + * will be returned. + */ + include?: string; + /** + * Name in the format `{target_country}:{content_language}:{product_id}`. + * `target_country` - The target country of the product as a CLDR + * territory code (for example, US). `content_language` + * - The content language of the product as a two-letter ISO 639-1 language + * code (for example, en). `product_id` - The ID of the product. For + * more information, see + * https://support.google.com/manufacturers/answer/6124116#id. + */ + name?: string; + /** + * Parent ID in the format `accounts/{account_id}`. `account_id` - The ID + * of the Manufacturer Center account. + */ + parent?: string; + } + interface Params$Resource$Accounts$Products$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The information to be included in the response. Only sections listed here + * will be returned. + */ + include?: string; + /** + * Maximum number of product statuses to return in the response, used for + * paging. + */ + pageSize?: number; + /** + * The token returned by the previous request. + */ + pageToken?: string; + /** + * Parent ID in the format `accounts/{account_id}`. `account_id` - The ID + * of the Manufacturer Center account. + */ + parent?: string; + } + interface Params$Resource$Accounts$Products$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name in the format `{target_country}:{content_language}:{product_id}`. + * `target_country` - The target country of the product as a CLDR + * territory code (for example, US). `content_language` + * - The content language of the product as a two-letter ISO 639-1 language + * code (for example, en). `product_id` - The ID of the product. For + * more information, see + * https://support.google.com/manufacturers/answer/6124116#id. + */ + name?: string; + /** + * Parent ID in the format `accounts/{account_id}`. `account_id` - The ID + * of the Manufacturer Center account. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Attributes; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/manufacturers/v1.js b/express-server/node_modules/googleapis/build/src/apis/manufacturers/v1.js new file mode 100644 index 00000000..96c7f668 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/manufacturers/v1.js @@ -0,0 +1,200 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var manufacturers_v1; +(function (manufacturers_v1) { + /** + * Manufacturer Center API + * + * Public API for managing Manufacturer Center related data. + * + * @example + * const {google} = require('googleapis'); + * const manufacturers = google.manufacturers('v1'); + * + * @namespace manufacturers + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Manufacturers + */ + class Manufacturers { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.accounts = new Resource$Accounts(this); + } + getRoot() { + return this.root; + } + } + manufacturers_v1.Manufacturers = Manufacturers; + class Resource$Accounts { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.products = new Resource$Accounts$Products(root); + } + getRoot() { + return this.root; + } + } + manufacturers_v1.Resource$Accounts = Resource$Accounts; + class Resource$Accounts$Products { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://manufacturers.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/products/{+name}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['parent', 'name'], + pathParams: ['name', 'parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://manufacturers.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/products/{+name}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent', 'name'], + pathParams: ['name', 'parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://manufacturers.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/products') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://manufacturers.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/products/{+name}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['parent', 'name'], + pathParams: ['name', 'parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + manufacturers_v1.Resource$Accounts$Products = Resource$Accounts$Products; +})(manufacturers_v1 = exports.manufacturers_v1 || (exports.manufacturers_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/manufacturers/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/manufacturers/v1.js.map new file mode 100644 index 00000000..8b4498f3 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/manufacturers/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/manufacturers/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/mirror/README.md b/express-server/node_modules/googleapis/build/src/apis/mirror/README.md new file mode 100644 index 00000000..919e0263 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/mirror/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/mirror + +> Interacts with Glass users via the timeline. + +## Installation + +```sh +$ npm install @google/mirror +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/mirror/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/mirror/index.d.ts new file mode 100644 index 00000000..7c65533e --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/mirror/index.d.ts @@ -0,0 +1,6 @@ +import { mirror_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof mirror_v1.Mirror; +}; +export declare function mirror(version: 'v1'): mirror_v1.Mirror; +export declare function mirror(options: mirror_v1.Options): mirror_v1.Mirror; diff --git a/express-server/node_modules/googleapis/build/src/apis/mirror/index.js b/express-server/node_modules/googleapis/build/src/apis/mirror/index.js new file mode 100644 index 00000000..2f6c0fce --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/mirror/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.mirror_v1.Mirror, +}; +function mirror(versionOrOptions) { + return googleapis_common_1.getAPI('mirror', versionOrOptions, exports.VERSIONS, this); +} +exports.mirror = mirror; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/mirror/index.js.map b/express-server/node_modules/googleapis/build/src/apis/mirror/index.js.map new file mode 100644 index 00000000..b8eeecec --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/mirror/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/mirror/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAA+B;AAElB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,cAAS,CAAC,MAAM;CACvB,CAAC;AAIF,SAAgB,MAAM,CACQ,gBAAwC;IACpE,OAAO,0BAAM,CAAI,QAAQ,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAC/D,CAAC;AAHD,wBAGC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/mirror/package.json b/express-server/node_modules/googleapis/build/src/apis/mirror/package.json new file mode 100644 index 00000000..08f9b9f9 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/mirror/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/mirror", + "version": "0.1.0", + "description": "mirror", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/mirror/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/mirror/v1.d.ts new file mode 100644 index 00000000..a32a6a06 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/mirror/v1.d.ts @@ -0,0 +1,1472 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace mirror_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Google Mirror API + * + * Interacts with Glass users via the timeline. + * + * @example + * const {google} = require('googleapis'); + * const mirror = google.mirror('v1'); + * + * @namespace mirror + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Mirror + */ + class Mirror { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + accounts: Resource$Accounts; + contacts: Resource$Contacts; + locations: Resource$Locations; + settings: Resource$Settings; + subscriptions: Resource$Subscriptions; + timeline: Resource$Timeline; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Represents an account passed into the Account Manager on Glass. + */ + interface Schema$Account { + authTokens?: Schema$AuthToken[]; + features?: string[]; + password?: string; + userData?: Schema$UserData[]; + } + /** + * Represents media content, such as a photo, that can be attached to a + * timeline item. + */ + interface Schema$Attachment { + /** + * The MIME type of the attachment. + */ + contentType?: string; + /** + * The URL for the content. + */ + contentUrl?: string; + /** + * The ID of the attachment. + */ + id?: string; + /** + * Indicates that the contentUrl is not available because the attachment + * content is still being processed. If the caller wishes to retrieve the + * content, it should try again later. + */ + isProcessingContent?: boolean; + } + /** + * A list of Attachments. This is the response from the server to GET requests + * on the attachments collection. + */ + interface Schema$AttachmentsListResponse { + /** + * The list of attachments. + */ + items?: Schema$Attachment[]; + /** + * The type of resource. This is always mirror#attachmentsList. + */ + kind?: string; + } + interface Schema$AuthToken { + authToken?: string; + type?: string; + } + /** + * A single menu command that is part of a Contact. + */ + interface Schema$Command { + /** + * The type of operation this command corresponds to. Allowed values are: - + * TAKE_A_NOTE - Shares a timeline item with the transcription of user + * speech from the "Take a note" voice menu command. - + * POST_AN_UPDATE - Shares a timeline item with the transcription of user + * speech from the "Post an update" voice menu command. + */ + type?: string; + } + /** + * A person or group that can be used as a creator or a contact. + */ + interface Schema$Contact { + /** + * A list of voice menu commands that a contact can handle. Glass shows up + * to three contacts for each voice menu command. If there are more than + * that, the three contacts with the highest priority are shown for that + * particular command. + */ + acceptCommands?: Schema$Command[]; + /** + * A list of MIME types that a contact supports. The contact will be shown + * to the user if any of its acceptTypes matches any of the types of the + * attachments on the item. If no acceptTypes are given, the contact will be + * shown for all items. + */ + acceptTypes?: string[]; + /** + * The name to display for this contact. + */ + displayName?: string; + /** + * An ID for this contact. This is generated by the application and is + * treated as an opaque token. + */ + id?: string; + /** + * Set of image URLs to display for a contact. Most contacts will have a + * single image, but a "group" contact may include up to 8 image + * URLs and they will be resized and cropped into a mosaic on the client. + */ + imageUrls?: string[]; + /** + * The type of resource. This is always mirror#contact. + */ + kind?: string; + /** + * Primary phone number for the contact. This can be a fully-qualified + * number, with country calling code and area code, or a local number. + */ + phoneNumber?: string; + /** + * Priority for the contact to determine ordering in a list of contacts. + * Contacts with higher priorities will be shown before ones with lower + * priorities. + */ + priority?: number; + /** + * A list of sharing features that a contact can handle. Allowed values are: + * - ADD_CAPTION + */ + sharingFeatures?: string[]; + /** + * The ID of the application that created this contact. This is populated by + * the API + */ + source?: string; + /** + * Name of this contact as it should be pronounced. If this contact's + * name must be spoken as part of a voice disambiguation menu, this name is + * used as the expected pronunciation. This is useful for contact names with + * unpronounceable characters or whose display spelling is otherwise not + * phonetic. + */ + speakableName?: string; + /** + * The type for this contact. This is used for sorting in UIs. Allowed + * values are: - INDIVIDUAL - Represents a single person. This is the + * default. - GROUP - Represents more than a single person. + */ + type?: string; + } + /** + * A list of Contacts representing contacts. This is the response from the + * server to GET requests on the contacts collection. + */ + interface Schema$ContactsListResponse { + /** + * Contact list. + */ + items?: Schema$Contact[]; + /** + * The type of resource. This is always mirror#contacts. + */ + kind?: string; + } + /** + * A geographic location that can be associated with a timeline item. + */ + interface Schema$Location { + /** + * The accuracy of the location fix in meters. + */ + accuracy?: number; + /** + * The full address of the location. + */ + address?: string; + /** + * The name to be displayed. This may be a business name or a user-defined + * place, such as "Home". + */ + displayName?: string; + /** + * The ID of the location. + */ + id?: string; + /** + * The type of resource. This is always mirror#location. + */ + kind?: string; + /** + * The latitude, in degrees. + */ + latitude?: number; + /** + * The longitude, in degrees. + */ + longitude?: number; + /** + * The time at which this location was captured, formatted according to RFC + * 3339. + */ + timestamp?: string; + } + /** + * A list of Locations. This is the response from the server to GET requests + * on the locations collection. + */ + interface Schema$LocationsListResponse { + /** + * The list of locations. + */ + items?: Schema$Location[]; + /** + * The type of resource. This is always mirror#locationsList. + */ + kind?: string; + } + /** + * A custom menu item that can be presented to the user by a timeline item. + */ + interface Schema$MenuItem { + /** + * Controls the behavior when the user picks the menu option. Allowed values + * are: - CUSTOM - Custom action set by the service. When the user selects + * this menuItem, the API triggers a notification to your callbackUrl with + * the userActions.type set to CUSTOM and the userActions.payload set to the + * ID of this menu item. This is the default value. - Built-in actions: - + * REPLY - Initiate a reply to the timeline item using the voice recording + * UI. The creator attribute must be set in the timeline item for this menu + * to be available. - REPLY_ALL - Same behavior as REPLY. The original + * timeline item's recipients will be added to the reply item. - DELETE + * - Delete the timeline item. - SHARE - Share the timeline item with the + * available contacts. - READ_ALOUD - Read the timeline item's + * speakableText aloud; if this field is not set, read the text field; if + * none of those fields are set, this menu item is ignored. - + * GET_MEDIA_INPUT - Allow users to provide media payloads to Glassware from + * a menu item (currently, only transcribed text from voice input is + * supported). Subscribe to notifications when users invoke this menu item + * to receive the timeline item ID. Retrieve the media from the timeline + * item in the payload property. - VOICE_CALL - Initiate a phone call using + * the timeline item's creator.phoneNumber attribute as recipient. - + * NAVIGATE - Navigate to the timeline item's location. - TOGGLE_PINNED + * - Toggle the isPinned state of the timeline item. - OPEN_URI - Open the + * payload of the menu item in the browser. - PLAY_VIDEO - Open the payload + * of the menu item in the Glass video player. - SEND_MESSAGE - Initiate + * sending a message to the timeline item's creator: - If the + * creator.phoneNumber is set and Glass is connected to an Android phone, + * the message is an SMS. - Otherwise, if the creator.email is set, the + * message is an email. + */ + action?: string; + /** + * The ContextualMenus.Command associated with this MenuItem (e.g. + * READ_ALOUD). The voice label for this command will be displayed in the + * voice menu and the touch label will be displayed in the touch menu. Note + * that the default menu value's display name will be overriden if you + * specify this property. Values that do not correspond to a + * ContextualMenus.Command name will be ignored. + */ + contextual_command?: string; + /** + * The ID for this menu item. This is generated by the application and is + * treated as an opaque token. + */ + id?: string; + /** + * A generic payload whose meaning changes depending on this MenuItem's + * action. - When the action is OPEN_URI, the payload is the URL of the + * website to view. - When the action is PLAY_VIDEO, the payload is the + * streaming URL of the video - When the action is GET_MEDIA_INPUT, the + * payload is the text transcription of a user's speech input + */ + payload?: string; + /** + * If set to true on a CUSTOM menu item, that item will be removed from the + * menu after it is selected. + */ + removeWhenSelected?: boolean; + /** + * For CUSTOM items, a list of values controlling the appearance of the menu + * item in each of its states. A value for the DEFAULT state must be + * provided. If the PENDING or CONFIRMED states are missing, they will not + * be shown. + */ + values?: Schema$MenuValue[]; + } + /** + * A single value that is part of a MenuItem. + */ + interface Schema$MenuValue { + /** + * The name to display for the menu item. If you specify this property for a + * built-in menu item, the default contextual voice command for that menu + * item is not shown. + */ + displayName?: string; + /** + * URL of an icon to display with the menu item. + */ + iconUrl?: string; + /** + * The state that this value applies to. Allowed values are: - DEFAULT - + * Default value shown when displayed in the menuItems list. - PENDING - + * Value shown when the menuItem has been selected by the user but can still + * be cancelled. - CONFIRMED - Value shown when the menuItem has been + * selected by the user and can no longer be cancelled. + */ + state?: string; + } + /** + * A notification delivered by the API. + */ + interface Schema$Notification { + /** + * The collection that generated the notification. + */ + collection?: string; + /** + * The ID of the item that generated the notification. + */ + itemId?: string; + /** + * The type of operation that generated the notification. + */ + operation?: string; + /** + * A list of actions taken by the user that triggered the notification. + */ + userActions?: Schema$UserAction[]; + /** + * The user token provided by the service when it subscribed for + * notifications. + */ + userToken?: string; + /** + * The secret verify token provided by the service when it subscribed for + * notifications. + */ + verifyToken?: string; + } + /** + * Controls how notifications for a timeline item are presented to the user. + */ + interface Schema$NotificationConfig { + /** + * The time at which the notification should be delivered. + */ + deliveryTime?: string; + /** + * Describes how important the notification is. Allowed values are: - + * DEFAULT - Notifications of default importance. A chime will be played to + * alert users. + */ + level?: string; + } + /** + * A setting for Glass. + */ + interface Schema$Setting { + /** + * The setting's ID. The following IDs are valid: - locale - The key + * to the user’s language/locale (BCP 47 identifier) that Glassware should + * use to render localized content. - timezone - The key to the user’s + * current time zone region as defined in the tz database. Example: + * America/Los_Angeles. + */ + id?: string; + /** + * The type of resource. This is always mirror#setting. + */ + kind?: string; + /** + * The setting value, as a string. + */ + value?: string; + } + /** + * A subscription to events on a collection. + */ + interface Schema$Subscription { + /** + * The URL where notifications should be delivered (must start with + * https://). + */ + callbackUrl?: string; + /** + * The collection to subscribe to. Allowed values are: - timeline - + * Changes in the timeline including insertion, deletion, and updates. - + * locations - Location updates. - settings - Settings updates. + */ + collection?: string; + /** + * The ID of the subscription. + */ + id?: string; + /** + * The type of resource. This is always mirror#subscription. + */ + kind?: string; + /** + * Container object for notifications. This is not populated in the + * Subscription resource. + */ + notification?: Schema$Notification; + /** + * A list of operations that should be subscribed to. An empty list + * indicates that all operations on the collection should be subscribed to. + * Allowed values are: - UPDATE - The item has been updated. - INSERT - A + * new item has been inserted. - DELETE - The item has been deleted. - + * MENU_ACTION - A custom menu item has been triggered by the user. + */ + operation?: string[]; + /** + * The time at which this subscription was last modified, formatted + * according to RFC 3339. + */ + updated?: string; + /** + * An opaque token sent to the subscriber in notifications so that it can + * determine the ID of the user. + */ + userToken?: string; + /** + * A secret token sent to the subscriber in notifications so that it can + * verify that the notification was generated by Google. + */ + verifyToken?: string; + } + /** + * A list of Subscriptions. This is the response from the server to GET + * requests on the subscription collection. + */ + interface Schema$SubscriptionsListResponse { + /** + * The list of subscriptions. + */ + items?: Schema$Subscription[]; + /** + * The type of resource. This is always mirror#subscriptionsList. + */ + kind?: string; + } + /** + * Each item in the user's timeline is represented as a TimelineItem JSON + * structure, described below. + */ + interface Schema$TimelineItem { + /** + * A list of media attachments associated with this item. As a convenience, + * you can refer to attachments in your HTML payloads with the attachment or + * cid scheme. For example: - attachment: <img + * src="attachment:attachment_index"> where attachment_index is + * the 0-based index of this array. - cid: <img + * src="cid:attachment_id"> where attachment_id is the ID of + * the attachment. + */ + attachments?: Schema$Attachment[]; + /** + * The bundle ID for this item. Services can specify a bundleId to group + * many items together. They appear under a single top-level item on the + * device. + */ + bundleId?: string; + /** + * A canonical URL pointing to the canonical/high quality version of the + * data represented by the timeline item. + */ + canonicalUrl?: string; + /** + * The time at which this item was created, formatted according to RFC 3339. + */ + created?: string; + /** + * The user or group that created this item. + */ + creator?: Schema$Contact; + /** + * The time that should be displayed when this item is viewed in the + * timeline, formatted according to RFC 3339. This user's timeline is + * sorted chronologically on display time, so this will also determine where + * the item is displayed in the timeline. If not set by the service, the + * display time defaults to the updated time. + */ + displayTime?: string; + /** + * ETag for this item. + */ + etag?: string; + /** + * HTML content for this item. If both text and html are provided for an + * item, the html will be rendered in the timeline. Allowed HTML elements - + * You can use these elements in your timeline cards. - Headers: h1, h2, + * h3, h4, h5, h6 - Images: img - Lists: li, ol, ul - HTML5 semantics: + * article, aside, details, figure, figcaption, footer, header, nav, + * section, summary, time - Structural: blockquote, br, div, hr, p, span - + * Style: b, big, center, em, i, u, s, small, strike, strong, style, sub, + * sup - Tables: table, tbody, td, tfoot, th, thead, tr Blocked HTML + * elements: These elements and their contents are removed from HTML + * payloads. - Document headers: head, title - Embeds: audio, embed, + * object, source, video - Frames: frame, frameset - Scripting: applet, + * script Other elements: Any elements that aren't listed are removed, + * but their contents are preserved. + */ + html?: string; + /** + * The ID of the timeline item. This is unique within a user's timeline. + */ + id?: string; + /** + * If this item was generated as a reply to another item, this field will be + * set to the ID of the item being replied to. This can be used to attach a + * reply to the appropriate conversation or post. + */ + inReplyTo?: string; + /** + * Whether this item is a bundle cover. If an item is marked as a bundle + * cover, it will be the entry point to the bundle of items that have the + * same bundleId as that item. It will be shown only on the main timeline — + * not within the opened bundle. On the main timeline, items that are shown + * are: - Items that have isBundleCover set to true - Items that do not + * have a bundleId In a bundle sub-timeline, items that are shown are: - + * Items that have the bundleId in question AND isBundleCover set to false + */ + isBundleCover?: boolean; + /** + * When true, indicates this item is deleted, and only the ID property is + * set. + */ + isDeleted?: boolean; + /** + * When true, indicates this item is pinned, which means it's grouped + * alongside "active" items like navigation and hangouts, on the + * opposite side of the home screen from historical (non-pinned) timeline + * items. You can allow the user to toggle the value of this property with + * the TOGGLE_PINNED built-in menu item. + */ + isPinned?: boolean; + /** + * The type of resource. This is always mirror#timelineItem. + */ + kind?: string; + /** + * The geographic location associated with this item. + */ + location?: Schema$Location; + /** + * A list of menu items that will be presented to the user when this item is + * selected in the timeline. + */ + menuItems?: Schema$MenuItem[]; + /** + * Controls how notifications for this item are presented on the device. If + * this is missing, no notification will be generated. + */ + notification?: Schema$NotificationConfig; + /** + * For pinned items, this determines the order in which the item is + * displayed in the timeline, with a higher score appearing closer to the + * clock. Note: setting this field is currently not supported. + */ + pinScore?: number; + /** + * A list of users or groups that this item has been shared with. + */ + recipients?: Schema$Contact[]; + /** + * A URL that can be used to retrieve this item. + */ + selfLink?: string; + /** + * Opaque string you can use to map a timeline item to data in your own + * service. + */ + sourceItemId?: string; + /** + * The speakable version of the content of this item. Along with the + * READ_ALOUD menu item, use this field to provide text that would be + * clearer when read aloud, or to provide extended information to what is + * displayed visually on Glass. Glassware should also specify the + * speakableType field, which will be spoken before this text in cases where + * the additional context is useful, for example when the user requests that + * the item be read aloud following a notification. + */ + speakableText?: string; + /** + * A speakable description of the type of this item. This will be announced + * to the user prior to reading the content of the item in cases where the + * additional context is useful, for example when the user requests that the + * item be read aloud following a notification. This should be a short, + * simple noun phrase such as "Email", "Text message", + * or "Daily Planet News Update". Glassware are encouraged to + * populate this field for every timeline item, even if the item does not + * contain speakableText or text so that the user can learn the type of the + * item without looking at the screen. + */ + speakableType?: string; + /** + * Text content of this item. + */ + text?: string; + /** + * The title of this item. + */ + title?: string; + /** + * The time at which this item was last modified, formatted according to RFC + * 3339. + */ + updated?: string; + } + /** + * A list of timeline items. This is the response from the server to GET + * requests on the timeline collection. + */ + interface Schema$TimelineListResponse { + /** + * Items in the timeline. + */ + items?: Schema$TimelineItem[]; + /** + * The type of resource. This is always mirror#timeline. + */ + kind?: string; + /** + * The next page token. Provide this as the pageToken parameter in the + * request to retrieve the next page of results. + */ + nextPageToken?: string; + } + /** + * Represents an action taken by the user that triggered a notification. + */ + interface Schema$UserAction { + /** + * An optional payload for the action. For actions of type CUSTOM, this is + * the ID of the custom menu item that was selected. + */ + payload?: string; + /** + * The type of action. The value of this can be: - SHARE - the user shared + * an item. - REPLY - the user replied to an item. - REPLY_ALL - the user + * replied to all recipients of an item. - CUSTOM - the user selected a + * custom menu item on the timeline item. - DELETE - the user deleted the + * item. - PIN - the user pinned the item. - UNPIN - the user unpinned the + * item. - LAUNCH - the user initiated a voice command. In the future, + * additional types may be added. UserActions with unrecognized types should + * be ignored. + */ + type?: string; + } + interface Schema$UserData { + key?: string; + value?: string; + } + class Resource$Accounts { + root: Mirror; + constructor(root: Mirror); + getRoot(): Mirror; + /** + * mirror.accounts.insert + * @desc Inserts a new account for a user + * @alias mirror.accounts.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountName The name of the account to be passed to the Android Account Manager. + * @param {string} params.accountType Account type to be passed to Android Account Manager. + * @param {string} params.userToken The ID for the user. + * @param {().Account} 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?: Params$Resource$Accounts$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Accounts$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Accounts$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the account to be passed to the Android Account Manager. + */ + accountName?: string; + /** + * Account type to be passed to Android Account Manager. + */ + accountType?: string; + /** + * The ID for the user. + */ + userToken?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Account; + } + class Resource$Contacts { + root: Mirror; + constructor(root: Mirror); + getRoot(): Mirror; + /** + * mirror.contacts.delete + * @desc Deletes a contact. + * @alias mirror.contacts.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The ID of the contact. + * @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?: Params$Resource$Contacts$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Contacts$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Contacts$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * mirror.contacts.get + * @desc Gets a single contact by ID. + * @alias mirror.contacts.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The ID of the contact. + * @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?: Params$Resource$Contacts$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Contacts$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Contacts$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * mirror.contacts.insert + * @desc Inserts a new contact. + * @alias mirror.contacts.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().Contact} 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?: Params$Resource$Contacts$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Contacts$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Contacts$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * mirror.contacts.list + * @desc Retrieves a list of contacts for the authenticated user. + * @alias mirror.contacts.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @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?: Params$Resource$Contacts$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Contacts$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Contacts$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * mirror.contacts.patch + * @desc Updates a contact in place. This method supports patch semantics. + * @alias mirror.contacts.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The ID of the contact. + * @param {().Contact} 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 + */ + patch(params?: Params$Resource$Contacts$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Contacts$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Contacts$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * mirror.contacts.update + * @desc Updates a contact in place. + * @alias mirror.contacts.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The ID of the contact. + * @param {().Contact} 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?: Params$Resource$Contacts$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Contacts$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Contacts$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Contacts$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the contact. + */ + id?: string; + } + interface Params$Resource$Contacts$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the contact. + */ + id?: string; + } + interface Params$Resource$Contacts$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$Contact; + } + interface Params$Resource$Contacts$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } + interface Params$Resource$Contacts$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the contact. + */ + id?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Contact; + } + interface Params$Resource$Contacts$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the contact. + */ + id?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Contact; + } + class Resource$Locations { + root: Mirror; + constructor(root: Mirror); + getRoot(): Mirror; + /** + * mirror.locations.get + * @desc Gets a single location by ID. + * @alias mirror.locations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The ID of the location or latest for the last known location. + * @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?: Params$Resource$Locations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Locations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Locations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * mirror.locations.list + * @desc Retrieves a list of locations for the user. + * @alias mirror.locations.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @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?: Params$Resource$Locations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Locations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Locations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Locations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the location or latest for the last known location. + */ + id?: string; + } + interface Params$Resource$Locations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } + class Resource$Settings { + root: Mirror; + constructor(root: Mirror); + getRoot(): Mirror; + /** + * mirror.settings.get + * @desc Gets a single setting by ID. + * @alias mirror.settings.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The ID of the setting. The following IDs are valid: - locale - The key to the user’s language/locale (BCP 47 identifier) that Glassware should use to render localized content. - timezone - The key to the user’s current time zone region as defined in the tz database. Example: America/Los_Angeles. + * @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?: Params$Resource$Settings$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Settings$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Settings$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Settings$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the setting. The following IDs are valid: - locale - The key + * to the user’s language/locale (BCP 47 identifier) that Glassware should + * use to render localized content. - timezone - The key to the user’s + * current time zone region as defined in the tz database. Example: + * America/Los_Angeles. + */ + id?: string; + } + class Resource$Subscriptions { + root: Mirror; + constructor(root: Mirror); + getRoot(): Mirror; + /** + * mirror.subscriptions.delete + * @desc Deletes a subscription. + * @alias mirror.subscriptions.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The ID of the subscription. + * @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?: Params$Resource$Subscriptions$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Subscriptions$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Subscriptions$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * mirror.subscriptions.insert + * @desc Creates a new subscription. + * @alias mirror.subscriptions.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().Subscription} 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?: Params$Resource$Subscriptions$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Subscriptions$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Subscriptions$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * mirror.subscriptions.list + * @desc Retrieves a list of subscriptions for the authenticated user and + * service. + * @alias mirror.subscriptions.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @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?: Params$Resource$Subscriptions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Subscriptions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Subscriptions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * mirror.subscriptions.update + * @desc Updates an existing subscription in place. + * @alias mirror.subscriptions.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The ID of the subscription. + * @param {().Subscription} 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?: Params$Resource$Subscriptions$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Subscriptions$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Subscriptions$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Subscriptions$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the subscription. + */ + id?: string; + } + interface Params$Resource$Subscriptions$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$Subscription; + } + interface Params$Resource$Subscriptions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } + interface Params$Resource$Subscriptions$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the subscription. + */ + id?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Subscription; + } + class Resource$Timeline { + root: Mirror; + attachments: Resource$Timeline$Attachments; + constructor(root: Mirror); + getRoot(): Mirror; + /** + * mirror.timeline.delete + * @desc Deletes a timeline item. + * @alias mirror.timeline.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The ID of the timeline item. + * @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?: Params$Resource$Timeline$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Timeline$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Timeline$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * mirror.timeline.get + * @desc Gets a single timeline item by ID. + * @alias mirror.timeline.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The ID of the timeline item. + * @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?: Params$Resource$Timeline$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Timeline$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Timeline$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * mirror.timeline.insert + * @desc Inserts a new item into the timeline. + * @alias mirror.timeline.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {object} params.resource Media resource metadata + * @param {object} params.media Media object + * @param {string} params.media.mimeType Media mime-type + * @param {string|object} params.media.body Media body contents + * @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?: Params$Resource$Timeline$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Timeline$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Timeline$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * mirror.timeline.list + * @desc Retrieves a list of timeline items for the authenticated user. + * @alias mirror.timeline.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {string=} params.bundleId If provided, only items with the given bundleId will be returned. + * @param {boolean=} params.includeDeleted If true, tombstone records for deleted items will be returned. + * @param {integer=} params.maxResults The maximum number of items to include in the response, used for paging. + * @param {string=} params.orderBy Controls the order in which timeline items are returned. + * @param {string=} params.pageToken Token for the page of results to return. + * @param {boolean=} params.pinnedOnly If true, only pinned items will be returned. + * @param {string=} params.sourceItemId If provided, only items with the given sourceItemId will be returned. + * @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?: Params$Resource$Timeline$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Timeline$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Timeline$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * mirror.timeline.patch + * @desc Updates a timeline item in place. This method supports patch + * semantics. + * @alias mirror.timeline.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The ID of the timeline item. + * @param {().TimelineItem} 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 + */ + patch(params?: Params$Resource$Timeline$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Timeline$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Timeline$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * mirror.timeline.update + * @desc Updates a timeline item in place. + * @alias mirror.timeline.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The ID of the timeline item. + * @param {object} params.resource Media resource metadata + * @param {object} params.media Media object + * @param {string} params.media.mimeType Media mime-type + * @param {string|object} params.media.body Media body contents + * @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?: Params$Resource$Timeline$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Timeline$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Timeline$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Timeline$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the timeline item. + */ + id?: string; + } + interface Params$Resource$Timeline$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the timeline item. + */ + id?: string; + } + interface Params$Resource$Timeline$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$TimelineItem; + /** + * Media metadata + */ + media?: { + /** + * Media mime-type + */ + mediaType?: string; + /** + * Media body contents + */ + body?: any; + }; + } + interface Params$Resource$Timeline$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * If provided, only items with the given bundleId will be returned. + */ + bundleId?: string; + /** + * If true, tombstone records for deleted items will be returned. + */ + includeDeleted?: boolean; + /** + * The maximum number of items to include in the response, used for paging. + */ + maxResults?: number; + /** + * Controls the order in which timeline items are returned. + */ + orderBy?: string; + /** + * Token for the page of results to return. + */ + pageToken?: string; + /** + * If true, only pinned items will be returned. + */ + pinnedOnly?: boolean; + /** + * If provided, only items with the given sourceItemId will be returned. + */ + sourceItemId?: string; + } + interface Params$Resource$Timeline$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the timeline item. + */ + id?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TimelineItem; + } + interface Params$Resource$Timeline$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the timeline item. + */ + id?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TimelineItem; + /** + * Media metadata + */ + media?: { + /** + * Media mime-type + */ + mediaType?: string; + /** + * Media body contents + */ + body?: any; + }; + } + class Resource$Timeline$Attachments { + root: Mirror; + constructor(root: Mirror); + getRoot(): Mirror; + /** + * mirror.timeline.attachments.delete + * @desc Deletes an attachment from a timeline item. + * @alias mirror.timeline.attachments.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.attachmentId The ID of the attachment. + * @param {string} params.itemId The ID of the timeline item the attachment belongs to. + * @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?: Params$Resource$Timeline$Attachments$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Timeline$Attachments$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Timeline$Attachments$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * mirror.timeline.attachments.get + * @desc Retrieves an attachment on a timeline item by item ID and + * attachment ID. + * @alias mirror.timeline.attachments.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.attachmentId The ID of the attachment. + * @param {string} params.itemId The ID of the timeline item the attachment belongs to. + * @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?: Params$Resource$Timeline$Attachments$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Timeline$Attachments$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Timeline$Attachments$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * mirror.timeline.attachments.insert + * @desc Adds a new attachment to a timeline item. + * @alias mirror.timeline.attachments.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.itemId The ID of the timeline item the attachment belongs to. + * @param {object} params.media Media object + * @param {string} params.media.mimeType Media mime-type + * @param {string|object} params.media.body Media body contents + * @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?: Params$Resource$Timeline$Attachments$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Timeline$Attachments$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Timeline$Attachments$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * mirror.timeline.attachments.list + * @desc Returns a list of attachments for a timeline item. + * @alias mirror.timeline.attachments.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.itemId The ID of the timeline item whose attachments should be listed. + * @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?: Params$Resource$Timeline$Attachments$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Timeline$Attachments$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Timeline$Attachments$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Timeline$Attachments$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the attachment. + */ + attachmentId?: string; + /** + * The ID of the timeline item the attachment belongs to. + */ + itemId?: string; + } + interface Params$Resource$Timeline$Attachments$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the attachment. + */ + attachmentId?: string; + /** + * The ID of the timeline item the attachment belongs to. + */ + itemId?: string; + } + interface Params$Resource$Timeline$Attachments$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the timeline item the attachment belongs to. + */ + itemId?: string; + /** + * Media metadata + */ + media?: { + /** + * Media mime-type + */ + mediaType?: string; + /** + * Media body contents + */ + body?: any; + }; + } + interface Params$Resource$Timeline$Attachments$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the timeline item whose attachments should be listed. + */ + itemId?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/mirror/v1.js b/express-server/node_modules/googleapis/build/src/apis/mirror/v1.js new file mode 100644 index 00000000..c35f4760 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/mirror/v1.js @@ -0,0 +1,884 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var mirror_v1; +(function (mirror_v1) { + /** + * Google Mirror API + * + * Interacts with Glass users via the timeline. + * + * @example + * const {google} = require('googleapis'); + * const mirror = google.mirror('v1'); + * + * @namespace mirror + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Mirror + */ + class Mirror { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.accounts = new Resource$Accounts(this); + this.contacts = new Resource$Contacts(this); + this.locations = new Resource$Locations(this); + this.settings = new Resource$Settings(this); + this.subscriptions = new Resource$Subscriptions(this); + this.timeline = new Resource$Timeline(this); + } + getRoot() { + return this.root; + } + } + mirror_v1.Mirror = Mirror; + class Resource$Accounts { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/mirror/v1/accounts/{userToken}/{accountType}/{accountName}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['userToken', 'accountType', 'accountName'], + pathParams: ['accountName', 'accountType', 'userToken'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + mirror_v1.Resource$Accounts = Resource$Accounts; + class Resource$Contacts { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/mirror/v1/contacts/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['id'], + pathParams: ['id'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/mirror/v1/contacts/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['id'], + pathParams: ['id'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/mirror/v1/contacts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/mirror/v1/contacts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/mirror/v1/contacts/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['id'], + pathParams: ['id'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/mirror/v1/contacts/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['id'], + pathParams: ['id'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + mirror_v1.Resource$Contacts = Resource$Contacts; + class Resource$Locations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/mirror/v1/locations/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['id'], + pathParams: ['id'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/mirror/v1/locations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + mirror_v1.Resource$Locations = Resource$Locations; + class Resource$Settings { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/mirror/v1/settings/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['id'], + pathParams: ['id'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + mirror_v1.Resource$Settings = Resource$Settings; + class Resource$Subscriptions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/mirror/v1/subscriptions/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['id'], + pathParams: ['id'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/mirror/v1/subscriptions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/mirror/v1/subscriptions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/mirror/v1/subscriptions/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['id'], + pathParams: ['id'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + mirror_v1.Resource$Subscriptions = Resource$Subscriptions; + class Resource$Timeline { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.attachments = new Resource$Timeline$Attachments(root); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/mirror/v1/timeline/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['id'], + pathParams: ['id'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/mirror/v1/timeline/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['id'], + pathParams: ['id'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/mirror/v1/timeline') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + mediaUrl: (rootUrl + '/upload/mirror/v1/timeline') + .replace(/([^:]\/)\/+/g, '$1'), + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/mirror/v1/timeline') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/mirror/v1/timeline/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['id'], + pathParams: ['id'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/mirror/v1/timeline/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + mediaUrl: (rootUrl + '/upload/mirror/v1/timeline/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + requiredParams: ['id'], + pathParams: ['id'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + mirror_v1.Resource$Timeline = Resource$Timeline; + class Resource$Timeline$Attachments { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/mirror/v1/timeline/{itemId}/attachments/{attachmentId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['itemId', 'attachmentId'], + pathParams: ['attachmentId', 'itemId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/mirror/v1/timeline/{itemId}/attachments/{attachmentId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['itemId', 'attachmentId'], + pathParams: ['attachmentId', 'itemId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/mirror/v1/timeline/{itemId}/attachments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + mediaUrl: (rootUrl + '/upload/mirror/v1/timeline/{itemId}/attachments') + .replace(/([^:]\/)\/+/g, '$1'), + requiredParams: ['itemId'], + pathParams: ['itemId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/mirror/v1/timeline/{itemId}/attachments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['itemId'], + pathParams: ['itemId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + mirror_v1.Resource$Timeline$Attachments = Resource$Timeline$Attachments; +})(mirror_v1 = exports.mirror_v1 || (exports.mirror_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/mirror/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/mirror/v1.js.map new file mode 100644 index 00000000..f605030c --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/mirror/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/mirror/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/ml/README.md b/express-server/node_modules/googleapis/build/src/apis/ml/README.md new file mode 100644 index 00000000..9b9652c3 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/ml/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/ml + +> An API to enable creating and using machine learning models. + +## Installation + +```sh +$ npm install @google/ml +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/ml/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/ml/index.d.ts new file mode 100644 index 00000000..e13eb5aa --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/ml/index.d.ts @@ -0,0 +1,6 @@ +import { ml_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof ml_v1.Ml; +}; +export declare function ml(version: 'v1'): ml_v1.Ml; +export declare function ml(options: ml_v1.Options): ml_v1.Ml; diff --git a/express-server/node_modules/googleapis/build/src/apis/ml/index.js b/express-server/node_modules/googleapis/build/src/apis/ml/index.js new file mode 100644 index 00000000..62d3595d --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/ml/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.ml_v1.Ml, +}; +function ml(versionOrOptions) { + return googleapis_common_1.getAPI('ml', versionOrOptions, exports.VERSIONS, this); +} +exports.ml = ml; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/ml/index.js.map b/express-server/node_modules/googleapis/build/src/apis/ml/index.js.map new file mode 100644 index 00000000..488aa7ef --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/ml/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/ml/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAA2B;AAEd,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,UAAK,CAAC,EAAE;CACf,CAAC;AAIF,SAAgB,EAAE,CACY,gBAAoC;IAChE,OAAO,0BAAM,CAAI,IAAI,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAC3D,CAAC;AAHD,gBAGC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/ml/package.json b/express-server/node_modules/googleapis/build/src/apis/ml/package.json new file mode 100644 index 00000000..1730e765 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/ml/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/ml", + "version": "0.1.0", + "description": "ml", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/ml/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/ml/v1.d.ts new file mode 100644 index 00000000..2fc246b3 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/ml/v1.d.ts @@ -0,0 +1,2360 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace ml_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Cloud Machine Learning Engine + * + * An API to enable creating and using machine learning models. + * + * @example + * const {google} = require('googleapis'); + * const ml = google.ml('v1'); + * + * @namespace ml + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Ml + */ + class Ml { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + projects: Resource$Projects; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Message that represents an arbitrary HTTP body. It should only be used for + * payload formats that can't be represented as JSON, such as raw binary + * or an HTML page. This message can be used both in streaming and + * non-streaming API methods in the request as well as the response. It can + * be used as a top-level request field, which is convenient if one wants to + * extract parameters from either the URL or HTTP template into the request + * fields and also want access to the raw HTTP body. Example: message + * GetResourceRequest { // A unique request id. string request_id + * = 1; // The raw HTTP body is bound to this field. + * google.api.HttpBody http_body = 2; } service ResourceService { rpc + * GetResource(GetResourceRequest) returns (google.api.HttpBody); rpc + * UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); } + * Example with streaming methods: service CaldavService { rpc + * GetCalendar(stream google.api.HttpBody) returns (stream + * google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) + * returns (stream google.api.HttpBody); } Use of this type only changes + * how the request and response bodies are handled, all other features will + * continue to work unchanged. + */ + interface Schema$GoogleApi__HttpBody { + /** + * The HTTP Content-Type string representing the content type of the body. + */ + contentType?: string; + /** + * HTTP body binary data. + */ + data?: string; + /** + * Application specific response metadata. Must be set in the first response + * for streaming APIs. + */ + extensions?: any[]; + } + /** + * An observed value of a metric. + */ + interface Schema$GoogleCloudMlV1_HyperparameterOutput_HyperparameterMetric { + /** + * The objective value at this training step. + */ + objectiveValue?: number; + /** + * The global training step for this metric. + */ + trainingStep?: string; + } + /** + * Represents a hardware accelerator request config. + */ + interface Schema$GoogleCloudMlV1__AcceleratorConfig { + /** + * The number of accelerators to attach to each machine running the job. + */ + count?: string; + /** + * The available types of accelerators. + */ + type?: string; + } + /** + * Options for automatically scaling a model. + */ + interface Schema$GoogleCloudMlV1__AutoScaling { + /** + * Optional. The minimum number of nodes to allocate for this model. These + * nodes are always up, starting from the time the model is deployed. + * Therefore, the cost of operating this model will be at least `rate` * + * `min_nodes` * number of hours since last billing cycle, where `rate` is + * the cost per node-hour as documented in the [pricing + * guide](/ml-engine/docs/pricing), even if no predictions are performed. + * There is additional cost for each prediction performed. Unlike manual + * scaling, if the load gets too heavy for the nodes that are up, the + * service will automatically add nodes to handle the increased load as well + * as scale back as traffic drops, always maintaining at least `min_nodes`. + * You will be charged for the time in which additional nodes are used. If + * not specified, `min_nodes` defaults to 0, in which case, when traffic to + * a model stops (and after a cool-down period), nodes will be shut down and + * no charges will be incurred until traffic to the model resumes. You can + * set `min_nodes` when creating the model version, and you can also update + * `min_nodes` for an existing version: <pre> update_body.json: { + * 'autoScaling': { 'minNodes': 5 } } </pre> + * HTTP request: <pre> PATCH + * https://ml.googleapis.com/v1/{name=projects/x/models/x/versions/*}?update_mask=autoScaling.minNodes + * -d @./update_body.json </pre> + */ + minNodes?: number; + } + /** + * Request message for the CancelJob method. + */ + interface Schema$GoogleCloudMlV1__CancelJobRequest { + } + interface Schema$GoogleCloudMlV1__Capability { + /** + * Available accelerators for the capability. + */ + availableAccelerators?: string[]; + type?: string; + } + interface Schema$GoogleCloudMlV1__Config { + /** + * The service account Cloud ML uses to run on TPU node. + */ + tpuServiceAccount?: string; + } + /** + * Returns service account information associated with a project. + */ + interface Schema$GoogleCloudMlV1__GetConfigResponse { + config?: Schema$GoogleCloudMlV1__Config; + /** + * The service account Cloud ML uses to access resources in the project. + */ + serviceAccount?: string; + /** + * The project number for `service_account`. + */ + serviceAccountProject?: string; + } + /** + * Represents the result of a single hyperparameter tuning trial from a + * training job. The TrainingOutput object that is returned on successful + * completion of a training job with hyperparameter tuning includes a list of + * HyperparameterOutput objects, one for each successful trial. + */ + interface Schema$GoogleCloudMlV1__HyperparameterOutput { + /** + * All recorded object metrics for this trial. This field is not currently + * populated. + */ + allMetrics?: Schema$GoogleCloudMlV1_HyperparameterOutput_HyperparameterMetric[]; + /** + * The final objective metric seen for this trial. + */ + finalMetric?: Schema$GoogleCloudMlV1_HyperparameterOutput_HyperparameterMetric; + /** + * The hyperparameters given to this trial. + */ + hyperparameters?: any; + /** + * True if the trial is stopped early. + */ + isTrialStoppedEarly?: boolean; + /** + * The trial id for these results. + */ + trialId?: string; + } + /** + * Represents a set of hyperparameters to optimize. + */ + interface Schema$GoogleCloudMlV1__HyperparameterSpec { + /** + * Optional. The search algorithm specified for the hyperparameter tuning + * job. Uses the default CloudML Engine hyperparameter tuning algorithm if + * unspecified. + */ + algorithm?: string; + /** + * Optional. Indicates if the hyperparameter tuning job enables auto trial + * early stopping. + */ + enableTrialEarlyStopping?: boolean; + /** + * Required. The type of goal to use for tuning. Available types are + * `MAXIMIZE` and `MINIMIZE`. Defaults to `MAXIMIZE`. + */ + goal?: string; + /** + * Optional. The Tensorflow summary tag name to use for optimizing trials. + * For current versions of Tensorflow, this tag name should exactly match + * what is shown in Tensorboard, including all scopes. For versions of + * Tensorflow prior to 0.12, this should be only the tag passed to + * tf.Summary. By default, "training/hptuning/metric" will be + * used. + */ + hyperparameterMetricTag?: string; + /** + * Optional. The number of training trials to run concurrently. You can + * reduce the time it takes to perform hyperparameter tuning by adding + * trials in parallel. However, each trail only benefits from the + * information gained in completed trials. That means that a trial does not + * get access to the results of trials running at the same time, which could + * reduce the quality of the overall optimization. Each trial will use the + * same scale tier and machine types. Defaults to one. + */ + maxParallelTrials?: number; + /** + * Optional. How many training trials should be attempted to optimize the + * specified hyperparameters. Defaults to one. + */ + maxTrials?: number; + /** + * Required. The set of parameters to tune. + */ + params?: Schema$GoogleCloudMlV1__ParameterSpec[]; + /** + * Optional. The prior hyperparameter tuning job id that users hope to + * continue with. The job id will be used to find the corresponding vizier + * study guid and resume the study. + */ + resumePreviousJobId?: string; + } + /** + * Represents a training or prediction job. + */ + interface Schema$GoogleCloudMlV1__Job { + /** + * Output only. When the job was created. + */ + createTime?: string; + /** + * Output only. When the job processing was completed. + */ + endTime?: string; + /** + * Output only. The details of a failure or a cancellation. + */ + errorMessage?: string; + /** + * `etag` is used for optimistic concurrency control as a way to help + * prevent simultaneous updates of a job from overwriting each other. It is + * strongly suggested that systems make use of the `etag` in the + * read-modify-write cycle to perform job updates in order to avoid race + * conditions: An `etag` is returned in the response to `GetJob`, and + * systems are expected to put that etag in the request to `UpdateJob` to + * ensure that their change will be applied to the same version of the job. + */ + etag?: string; + /** + * Required. The user-specified id of the job. + */ + jobId?: string; + /** + * Optional. One or more labels that you can add, to organize your jobs. + * Each label is a key-value pair, where both the key and the value are + * arbitrary strings that you supply. For more information, see the + * documentation on <a + * href="/ml-engine/docs/tensorflow/resource-labels">using + * labels</a>. + */ + labels?: any; + /** + * Input parameters to create a prediction job. + */ + predictionInput?: Schema$GoogleCloudMlV1__PredictionInput; + /** + * The current prediction job result. + */ + predictionOutput?: Schema$GoogleCloudMlV1__PredictionOutput; + /** + * Output only. When the job processing was started. + */ + startTime?: string; + /** + * Output only. The detailed state of a job. + */ + state?: string; + /** + * Input parameters to create a training job. + */ + trainingInput?: Schema$GoogleCloudMlV1__TrainingInput; + /** + * The current training job result. + */ + trainingOutput?: Schema$GoogleCloudMlV1__TrainingOutput; + } + /** + * Response message for the ListJobs method. + */ + interface Schema$GoogleCloudMlV1__ListJobsResponse { + /** + * The list of jobs. + */ + jobs?: Schema$GoogleCloudMlV1__Job[]; + /** + * Optional. Pass this token as the `page_token` field of the request for a + * subsequent call. + */ + nextPageToken?: string; + } + interface Schema$GoogleCloudMlV1__ListLocationsResponse { + /** + * Locations where at least one type of CMLE capability is available. + */ + locations?: Schema$GoogleCloudMlV1__Location[]; + /** + * Optional. Pass this token as the `page_token` field of the request for a + * subsequent call. + */ + nextPageToken?: string; + } + /** + * Response message for the ListModels method. + */ + interface Schema$GoogleCloudMlV1__ListModelsResponse { + /** + * The list of models. + */ + models?: Schema$GoogleCloudMlV1__Model[]; + /** + * Optional. Pass this token as the `page_token` field of the request for a + * subsequent call. + */ + nextPageToken?: string; + } + /** + * Response message for the ListVersions method. + */ + interface Schema$GoogleCloudMlV1__ListVersionsResponse { + /** + * Optional. Pass this token as the `page_token` field of the request for a + * subsequent call. + */ + nextPageToken?: string; + /** + * The list of versions. + */ + versions?: Schema$GoogleCloudMlV1__Version[]; + } + interface Schema$GoogleCloudMlV1__Location { + /** + * Capabilities available in the location. + */ + capabilities?: Schema$GoogleCloudMlV1__Capability[]; + name?: string; + } + /** + * Options for manually scaling a model. + */ + interface Schema$GoogleCloudMlV1__ManualScaling { + /** + * The number of nodes to allocate for this model. These nodes are always + * up, starting from the time the model is deployed, so the cost of + * operating this model will be proportional to `nodes` * number of hours + * since last billing cycle plus the cost for each prediction performed. + */ + nodes?: number; + } + /** + * Represents a machine learning solution. A model can have multiple + * versions, each of which is a deployed, trained model ready to receive + * prediction requests. The model itself is just a container. + */ + interface Schema$GoogleCloudMlV1__Model { + /** + * Output only. The default version of the model. This version will be used + * to handle prediction requests that do not specify a version. You can + * change the default version by calling + * [projects.methods.versions.setDefault](/ml-engine/reference/rest/v1/projects.models.versions/setDefault). + */ + defaultVersion?: Schema$GoogleCloudMlV1__Version; + /** + * Optional. The description specified for the model when it was created. + */ + description?: string; + /** + * `etag` is used for optimistic concurrency control as a way to help + * prevent simultaneous updates of a model from overwriting each other. It + * is strongly suggested that systems make use of the `etag` in the + * read-modify-write cycle to perform model updates in order to avoid race + * conditions: An `etag` is returned in the response to `GetModel`, and + * systems are expected to put that etag in the request to `UpdateModel` to + * ensure that their change will be applied to the model as intended. + */ + etag?: string; + /** + * Optional. One or more labels that you can add, to organize your models. + * Each label is a key-value pair, where both the key and the value are + * arbitrary strings that you supply. For more information, see the + * documentation on <a + * href="/ml-engine/docs/tensorflow/resource-labels">using + * labels</a>. + */ + labels?: any; + /** + * Required. The name specified for the model when it was created. The + * model name must be unique within the project it is created in. + */ + name?: string; + /** + * Optional. If true, enables StackDriver Logging for online prediction. + * Default is false. + */ + onlinePredictionLogging?: boolean; + /** + * Optional. The list of regions where the model is going to be deployed. + * Currently only one region per model is supported. Defaults to + * 'us-central1' if nothing is set. See the <a + * href="/ml-engine/docs/tensorflow/regions">available + * regions</a> for ML Engine services. Note: * No matter where a + * model is deployed, it can always be accessed by users from anywhere, + * both for online and batch prediction. * The region for a batch + * prediction job is set by the region field when submitting the batch + * prediction job and does not take its value from this field. + */ + regions?: string[]; + } + /** + * Represents the metadata of the long-running operation. + */ + interface Schema$GoogleCloudMlV1__OperationMetadata { + /** + * The time the operation was submitted. + */ + createTime?: string; + /** + * The time operation processing completed. + */ + endTime?: string; + /** + * Indicates whether a request to cancel this operation has been made. + */ + isCancellationRequested?: boolean; + /** + * The user labels, inherited from the model or the model version being + * operated on. + */ + labels?: any; + /** + * Contains the name of the model associated with the operation. + */ + modelName?: string; + /** + * The operation type. + */ + operationType?: string; + /** + * Contains the project number associated with the operation. + */ + projectNumber?: string; + /** + * The time operation processing started. + */ + startTime?: string; + /** + * Contains the version associated with the operation. + */ + version?: Schema$GoogleCloudMlV1__Version; + } + /** + * Represents a single hyperparameter to optimize. + */ + interface Schema$GoogleCloudMlV1__ParameterSpec { + /** + * Required if type is `CATEGORICAL`. The list of possible categories. + */ + categoricalValues?: string[]; + /** + * Required if type is `DISCRETE`. A list of feasible points. The list + * should be in strictly increasing order. For instance, this parameter + * might have possible settings of 1.5, 2.5, and 4.0. This list should not + * contain more than 1,000 values. + */ + discreteValues?: number[]; + /** + * Required if type is `DOUBLE` or `INTEGER`. This field should be unset if + * type is `CATEGORICAL`. This value should be integers if type is + * `INTEGER`. + */ + maxValue?: number; + /** + * Required if type is `DOUBLE` or `INTEGER`. This field should be unset if + * type is `CATEGORICAL`. This value should be integers if type is INTEGER. + */ + minValue?: number; + /** + * Required. The parameter name must be unique amongst all ParameterConfigs + * in a HyperparameterSpec message. E.g., "learning_rate". + */ + parameterName?: string; + /** + * Optional. How the parameter should be scaled to the hypercube. Leave + * unset for categorical parameters. Some kind of scaling is strongly + * recommended for real or integral parameters (e.g., `UNIT_LINEAR_SCALE`). + */ + scaleType?: string; + /** + * Required. The type of the parameter. + */ + type?: string; + } + /** + * Represents input parameters for a prediction job. + */ + interface Schema$GoogleCloudMlV1__PredictionInput { + /** + * Optional. The type and number of accelerators to be attached to each + * machine running the job. + */ + accelerator?: Schema$GoogleCloudMlV1__AcceleratorConfig; + /** + * Optional. Number of records per batch, defaults to 64. The service will + * buffer batch_size number of records in memory before invoking one + * Tensorflow prediction call internally. So take the record size and memory + * available into consideration when setting this parameter. + */ + batchSize?: string; + /** + * Required. The format of the input data files. + */ + dataFormat?: string; + /** + * Required. The Google Cloud Storage location of the input data files. May + * contain wildcards. + */ + inputPaths?: string[]; + /** + * Optional. The maximum number of workers to be used for parallel + * processing. Defaults to 10 if not specified. + */ + maxWorkerCount?: string; + /** + * Use this field if you want to use the default version for the specified + * model. The string must use the following format: + * `"projects/YOUR_PROJECT/models/YOUR_MODEL"` + */ + modelName?: string; + /** + * Optional. Format of the output data files, defaults to JSON. + */ + outputDataFormat?: string; + /** + * Required. The output Google Cloud Storage location. + */ + outputPath?: string; + /** + * Required. The Google Compute Engine region to run the prediction job in. + * See the <a + * href="/ml-engine/docs/tensorflow/regions">available + * regions</a> for ML Engine services. + */ + region?: string; + /** + * Optional. The Google Cloud ML runtime version to use for this batch + * prediction. If not set, Google Cloud ML will pick the runtime version + * used during the CreateVersion request for this model version, or choose + * the latest stable version when model version information is not available + * such as when the model is specified by uri. + */ + runtimeVersion?: string; + /** + * Optional. The name of the signature defined in the SavedModel to use for + * this job. Please refer to + * [SavedModel](https://tensorflow.github.io/serving/serving_basic.html) for + * information about how to use signatures. Defaults to + * [DEFAULT_SERVING_SIGNATURE_DEF_KEY](https://www.tensorflow.org/api_docs/python/tf/saved_model/signature_constants) + * , which is "serving_default". + */ + signatureName?: string; + /** + * Use this field if you want to specify a Google Cloud Storage path for the + * model to use. + */ + uri?: string; + /** + * Use this field if you want to specify a version of the model to use. The + * string is formatted the same way as `model_version`, with the addition of + * the version information: + * `"projects/YOUR_PROJECT/models/YOUR_MODEL/versions/YOUR_VERSION"` + */ + versionName?: string; + } + /** + * Represents results of a prediction job. + */ + interface Schema$GoogleCloudMlV1__PredictionOutput { + /** + * The number of data instances which resulted in errors. + */ + errorCount?: string; + /** + * Node hours used by the batch prediction job. + */ + nodeHours?: number; + /** + * The output Google Cloud Storage location provided at the job creation + * time. + */ + outputPath?: string; + /** + * The number of generated predictions. + */ + predictionCount?: string; + } + /** + * Request for predictions to be issued against a trained model. + */ + interface Schema$GoogleCloudMlV1__PredictRequest { + /** + * Required. The prediction request body. + */ + httpBody?: Schema$GoogleApi__HttpBody; + } + /** + * Request message for the SetDefaultVersion request. + */ + interface Schema$GoogleCloudMlV1__SetDefaultVersionRequest { + } + /** + * Represents input parameters for a training job. When using the gcloud + * command to submit your training job, you can specify the input parameters + * as command-line arguments and/or in a YAML configuration file referenced + * from the --config command-line argument. For details, see the guide to + * <a + * href="/ml-engine/docs/tensorflow/training-jobs">submitting a + * training job</a>. + */ + interface Schema$GoogleCloudMlV1__TrainingInput { + /** + * Optional. Command line arguments to pass to the program. + */ + args?: string[]; + /** + * Optional. The set of Hyperparameters to tune. + */ + hyperparameters?: Schema$GoogleCloudMlV1__HyperparameterSpec; + /** + * Optional. A Google Cloud Storage path in which to store training outputs + * and other data needed for training. This path is passed to your + * TensorFlow program as the '--job-dir' command-line argument. The + * benefit of specifying this field is that Cloud ML validates the path for + * use in training. + */ + jobDir?: string; + /** + * Optional. Specifies the type of virtual machine to use for your training + * job's master worker. The following types are supported: <dl> + * <dt>standard</dt> <dd> A basic machine + * configuration suitable for training simple models with small to + * moderate datasets. </dd> <dt>large_model</dt> + * <dd> A machine with a lot of memory, specially suited for + * parameter servers when your model is large (having many hidden layers + * or layers with very large numbers of nodes). </dd> + * <dt>complex_model_s</dt> <dd> A machine suitable + * for the master and workers of the cluster when your model requires more + * computation than the standard machine can handle satisfactorily. + * </dd> <dt>complex_model_m</dt> <dd> A + * machine with roughly twice the number of cores and roughly double the + * memory of <i>complex_model_s</i>. </dd> + * <dt>complex_model_l</dt> <dd> A machine with + * roughly twice the number of cores and roughly double the memory of + * <i>complex_model_m</i>. </dd> + * <dt>standard_gpu</dt> <dd> A machine equivalent to + * <i>standard</i> that also includes a single NVIDIA Tesla + * K80 GPU. See more about <a + * href="/ml-engine/docs/tensorflow/using-gpus">using GPUs to + * train your model</a>. </dd> + * <dt>complex_model_m_gpu</dt> <dd> A machine + * equivalent to <i>complex_model_m</i> that also includes four + * NVIDIA Tesla K80 GPUs. </dd> + * <dt>complex_model_l_gpu</dt> <dd> A machine + * equivalent to <i>complex_model_l</i> that also includes eight + * NVIDIA Tesla K80 GPUs. </dd> <dt>standard_p100</dt> + * <dd> A machine equivalent to <i>standard</i> that + * also includes a single NVIDIA Tesla P100 GPU. </dd> + * <dt>complex_model_m_p100</dt> <dd> A machine + * equivalent to <i>complex_model_m</i> that also includes four + * NVIDIA Tesla P100 GPUs. </dd> <dt>standard_v100</dt> + * <dd> A machine equivalent to <i>standard</i> that + * also includes a single NVIDIA Tesla V100 GPU. The availability of these + * GPUs is in the <i>Beta</i> launch stage. </dd> + * <dt>large_model_v100</dt> <dd> A machine equivalent + * to <i>large_model</i> that also includes a single NVIDIA + * Tesla V100 GPU. The availability of these GPUs is in the + * <i>Beta</i> launch stage. </dd> + * <dt>complex_model_m_v100</dt> <dd> A machine + * equivalent to <i>complex_model_m</i> that also includes + * four NVIDIA Tesla V100 GPUs. The availability of these GPUs is in the + * <i>Beta</i> launch stage. </dd> + * <dt>complex_model_l_v100</dt> <dd> A machine + * equivalent to <i>complex_model_l</i> that also includes + * eight NVIDIA Tesla V100 GPUs. The availability of these GPUs is in the + * <i>Beta</i> launch stage. </dd> + * <dt>cloud_tpu</dt> <dd> A TPU VM including one + * Cloud TPU. See more about <a + * href="/ml-engine/docs/tensorflow/using-tpus">using TPUs to + * train your model</a>. </dd> </dl> You must set + * this value when `scaleTier` is set to `CUSTOM`. + */ + masterType?: string; + /** + * Required. The Google Cloud Storage location of the packages with the + * training program and any additional dependencies. The maximum number of + * package URIs is 100. + */ + packageUris?: string[]; + /** + * Optional. The number of parameter server replicas to use for the training + * job. Each replica in the cluster will be of the type specified in + * `parameter_server_type`. This value can only be used when `scale_tier` + * is set to `CUSTOM`.If you set this value, you must also set + * `parameter_server_type`. + */ + parameterServerCount?: string; + /** + * Optional. Specifies the type of virtual machine to use for your training + * job's parameter server. The supported values are the same as those + * described in the entry for `master_type`. This value must be present + * when `scaleTier` is set to `CUSTOM` and `parameter_server_count` is + * greater than zero. + */ + parameterServerType?: string; + /** + * Required. The Python module name to run after installing the packages. + */ + pythonModule?: string; + /** + * Optional. The version of Python used in training. If not set, the default + * version is '2.7'. Python '3.5' is available when + * `runtime_version` is set to '1.4' and above. Python '2.7' + * works with all supported runtime versions. + */ + pythonVersion?: string; + /** + * Required. The Google Compute Engine region to run the training job in. + * See the <a + * href="/ml-engine/docs/tensorflow/regions">available + * regions</a> for ML Engine services. + */ + region?: string; + /** + * Optional. The Google Cloud ML runtime version to use for training. If + * not set, Google Cloud ML will choose a stable version, which is defined + * in the documentation of runtime version list. + */ + runtimeVersion?: string; + /** + * Required. Specifies the machine types, the number of replicas for workers + * and parameter servers. + */ + scaleTier?: string; + /** + * Optional. The number of worker replicas to use for the training job. Each + * replica in the cluster will be of the type specified in `worker_type`. + * This value can only be used when `scale_tier` is set to `CUSTOM`. If you + * set this value, you must also set `worker_type`. + */ + workerCount?: string; + /** + * Optional. Specifies the type of virtual machine to use for your training + * job's worker nodes. The supported values are the same as those + * described in the entry for `masterType`. This value must be present when + * `scaleTier` is set to `CUSTOM` and `workerCount` is greater than zero. + */ + workerType?: string; + } + /** + * Represents results of a training job. Output only. + */ + interface Schema$GoogleCloudMlV1__TrainingOutput { + /** + * The number of hyperparameter tuning trials that completed successfully. + * Only set for hyperparameter tuning jobs. + */ + completedTrialCount?: string; + /** + * The amount of ML units consumed by the job. + */ + consumedMLUnits?: number; + /** + * Whether this job is a hyperparameter tuning job. + */ + isHyperparameterTuningJob?: boolean; + /** + * Results for individual Hyperparameter trials. Only set for hyperparameter + * tuning jobs. + */ + trials?: Schema$GoogleCloudMlV1__HyperparameterOutput[]; + } + /** + * Represents a version of the model. Each version is a trained model + * deployed in the cloud, ready to handle prediction requests. A model can + * have multiple versions. You can get information about all of the versions + * of a given model by calling + * [projects.models.versions.list](/ml-engine/reference/rest/v1/projects.models.versions/list). + */ + interface Schema$GoogleCloudMlV1__Version { + /** + * Automatically scale the number of nodes used to serve the model in + * response to increases and decreases in traffic. Care should be taken to + * ramp up traffic according to the model's ability to scale or you will + * start seeing increases in latency and 429 response codes. + */ + autoScaling?: Schema$GoogleCloudMlV1__AutoScaling; + /** + * Output only. The time the version was created. + */ + createTime?: string; + /** + * Required. The Google Cloud Storage location of the trained model used to + * create the version. See the [guide to model + * deployment](/ml-engine/docs/tensorflow/deploying-models) for more + * information. When passing Version to + * [projects.models.versions.create](/ml-engine/reference/rest/v1/projects.models.versions/create) + * the model service uses the specified location as the source of the model. + * Once deployed, the model version is hosted by the prediction service, so + * this location is useful only as a historical record. The total number of + * model files can't exceed 1000. + */ + deploymentUri?: string; + /** + * Optional. The description specified for the version when it was created. + */ + description?: string; + /** + * Output only. The details of a failure or a cancellation. + */ + errorMessage?: string; + /** + * `etag` is used for optimistic concurrency control as a way to help + * prevent simultaneous updates of a model from overwriting each other. It + * is strongly suggested that systems make use of the `etag` in the + * read-modify-write cycle to perform model updates in order to avoid race + * conditions: An `etag` is returned in the response to `GetVersion`, and + * systems are expected to put that etag in the request to `UpdateVersion` + * to ensure that their change will be applied to the model as intended. + */ + etag?: string; + /** + * Optional. The machine learning framework Cloud ML Engine uses to train + * this version of the model. Valid values are `TENSORFLOW`, `SCIKIT_LEARN`, + * `XGBOOST`. If you do not specify a framework, Cloud ML Engine will + * analyze files in the deployment_uri to determine a framework. If you + * choose `SCIKIT_LEARN` or `XGBOOST`, you must also set the runtime version + * of the model to 1.4 or greater. + */ + framework?: string; + /** + * Output only. If true, this version will be used to handle prediction + * requests that do not specify a version. You can change the default + * version by calling + * [projects.methods.versions.setDefault](/ml-engine/reference/rest/v1/projects.models.versions/setDefault). + */ + isDefault?: boolean; + /** + * Optional. One or more labels that you can add, to organize your model + * versions. Each label is a key-value pair, where both the key and the + * value are arbitrary strings that you supply. For more information, see + * the documentation on <a + * href="/ml-engine/docs/tensorflow/resource-labels">using + * labels</a>. + */ + labels?: any; + /** + * Output only. The time the version was last used for prediction. + */ + lastUseTime?: string; + /** + * Optional. The type of machine on which to serve the model. Currently only + * applies to online prediction service. The following are currently + * supported and will be deprecated in Beta release. mls1-highmem-1 1 + * core 2 Gb RAM mls1-highcpu-4 4 core 2 Gb RAM The following are + * available in Beta: mls1-c1-m2 1 core 2 Gb RAM Default + * mls1-c4-m2 4 core 2 Gb RAM + */ + machineType?: string; + /** + * Manually select the number of nodes to use for serving the model. You + * should generally use `auto_scaling` with an appropriate `min_nodes` + * instead, but this option is available if you want more predictable + * billing. Beware that latency and error rates will increase if the traffic + * exceeds that capability of the system to serve it based on the selected + * number of nodes. + */ + manualScaling?: Schema$GoogleCloudMlV1__ManualScaling; + /** + * Required.The name specified for the version when it was created. The + * version name must be unique within the model it is created in. + */ + name?: string; + /** + * Optional. The version of Python used in prediction. If not set, the + * default version is '2.7'. Python '3.5' is available when + * `runtime_version` is set to '1.4' and above. Python '2.7' + * works with all supported runtime versions. + */ + pythonVersion?: string; + /** + * Optional. The Google Cloud ML runtime version to use for this deployment. + * If not set, Google Cloud ML will choose a version. + */ + runtimeVersion?: string; + /** + * Output only. The state of a version. + */ + state?: string; + } + /** + * Specifies the audit configuration for a service. The configuration + * determines which permission types are logged, and what identities, if any, + * are exempted from logging. An AuditConfig must have one or more + * AuditLogConfigs. If there are AuditConfigs for both `allServices` and a + * specific service, the union of the two AuditConfigs is used for that + * service: the log_types specified in each AuditConfig are enabled, and the + * exempted_members in each AuditLogConfig are exempted. Example Policy with + * multiple AuditConfigs: { "audit_configs": [ { + * "service": "allServices" "audit_log_configs": + * [ { "log_type": "DATA_READ", + * "exempted_members": [ "user:foo@gmail.com" ] }, { + * "log_type": "DATA_WRITE", }, { + * "log_type": "ADMIN_READ", } ] }, + * { "service": "fooservice.googleapis.com" + * "audit_log_configs": [ { "log_type": + * "DATA_READ", }, { "log_type": + * "DATA_WRITE", "exempted_members": [ + * "user:bar@gmail.com" ] } ] } + * ] } For fooservice, this policy enables DATA_READ, DATA_WRITE and + * ADMIN_READ logging. It also exempts foo@gmail.com from DATA_READ logging, + * and bar@gmail.com from DATA_WRITE logging. + */ + interface Schema$GoogleIamV1__AuditConfig { + /** + * The configuration for logging of each type of permission. + */ + auditLogConfigs?: Schema$GoogleIamV1__AuditLogConfig[]; + /** + * Specifies a service that will be enabled for audit logging. For example, + * `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a + * special value that covers all services. + */ + service?: string; + } + /** + * Provides the configuration for logging a type of permissions. Example: { + * "audit_log_configs": [ { "log_type": + * "DATA_READ", "exempted_members": [ + * "user:foo@gmail.com" ] }, { + * "log_type": "DATA_WRITE", } ] } This + * enables 'DATA_READ' and 'DATA_WRITE' logging, while + * exempting foo@gmail.com from DATA_READ logging. + */ + interface Schema$GoogleIamV1__AuditLogConfig { + /** + * Specifies the identities that do not cause logging for this type of + * permission. Follows the same format of Binding.members. + */ + exemptedMembers?: string[]; + /** + * The log type that this config enables. + */ + logType?: string; + } + /** + * Associates `members` with a `role`. + */ + interface Schema$GoogleIamV1__Binding { + /** + * Unimplemented. The condition that is associated with this binding. NOTE: + * an unsatisfied condition will not allow user access via current binding. + * Different bindings, including their conditions, are examined + * independently. + */ + condition?: Schema$GoogleType__Expr; + /** + * Specifies the identities requesting access for a Cloud Platform resource. + * `members` can have the following values: * `allUsers`: A special + * identifier that represents anyone who is on the internet; with or + * without a Google account. * `allAuthenticatedUsers`: A special + * identifier that represents anyone who is authenticated with a Google + * account or a service account. * `user:{emailid}`: An email address that + * represents a specific Google account. For example, `alice@gmail.com` . + * * `serviceAccount:{emailid}`: An email address that represents a service + * account. For example, `my-other-app@appspot.gserviceaccount.com`. * + * `group:{emailid}`: An email address that represents a Google group. For + * example, `admins@example.com`. * `domain:{domain}`: A Google Apps + * domain name that represents all the users of that domain. For example, + * `google.com` or `example.com`. + */ + members?: string[]; + /** + * Role that is assigned to `members`. For example, `roles/viewer`, + * `roles/editor`, or `roles/owner`. + */ + role?: string; + } + /** + * Defines an Identity and Access Management (IAM) policy. It is used to + * specify access control policies for Cloud Platform resources. A `Policy` + * consists of a list of `bindings`. A `binding` binds a list of `members` to + * a `role`, where the members can be user accounts, Google groups, Google + * domains, and service accounts. A `role` is a named list of permissions + * defined by IAM. **JSON Example** { "bindings": [ { + * "role": "roles/owner", "members": [ + * "user:mike@example.com", "group:admins@example.com", + * "domain:google.com", + * "serviceAccount:my-other-app@appspot.gserviceaccount.com" ] }, { + * "role": "roles/viewer", "members": + * ["user:sean@example.com"] } ] } **YAML + * Example** bindings: - members: - user:mike@example.com - + * group:admins@example.com - domain:google.com - + * serviceAccount:my-other-app@appspot.gserviceaccount.com role: + * roles/owner - members: - user:sean@example.com role: + * roles/viewer For a description of IAM and its features, see the [IAM + * developer's guide](https://cloud.google.com/iam/docs). + */ + interface Schema$GoogleIamV1__Policy { + /** + * Specifies cloud audit logging configuration for this policy. + */ + auditConfigs?: Schema$GoogleIamV1__AuditConfig[]; + /** + * Associates a list of `members` to a `role`. `bindings` with no members + * will result in an error. + */ + bindings?: Schema$GoogleIamV1__Binding[]; + /** + * `etag` is used for optimistic concurrency control as a way to help + * prevent simultaneous updates of a policy from overwriting each other. It + * is strongly suggested that systems make use of the `etag` in the + * read-modify-write cycle to perform policy updates in order to avoid race + * conditions: An `etag` is returned in the response to `getIamPolicy`, and + * systems are expected to put that etag in the request to `setIamPolicy` to + * ensure that their change will be applied to the same version of the + * policy. If no `etag` is provided in the call to `setIamPolicy`, then the + * existing policy is overwritten blindly. + */ + etag?: string; + /** + * Deprecated. + */ + version?: number; + } + /** + * Request message for `SetIamPolicy` method. + */ + interface Schema$GoogleIamV1__SetIamPolicyRequest { + /** + * REQUIRED: The complete policy to be applied to the `resource`. The size + * of the policy is limited to a few 10s of KB. An empty policy is a valid + * policy but certain Cloud Platform services (such as Projects) might + * reject them. + */ + policy?: Schema$GoogleIamV1__Policy; + /** + * OPTIONAL: A FieldMask specifying which fields of the policy to modify. + * Only the fields in the mask will be modified. If no mask is provided, the + * following default mask is used: paths: "bindings, etag" This + * field is only used by Cloud IAM. + */ + updateMask?: string; + } + /** + * Request message for `TestIamPermissions` method. + */ + interface Schema$GoogleIamV1__TestIamPermissionsRequest { + /** + * The set of permissions to check for the `resource`. Permissions with + * wildcards (such as '*' or 'storage.*') are not allowed. + * For more information see [IAM + * Overview](https://cloud.google.com/iam/docs/overview#permissions). + */ + permissions?: string[]; + } + /** + * Response message for `TestIamPermissions` method. + */ + interface Schema$GoogleIamV1__TestIamPermissionsResponse { + /** + * A subset of `TestPermissionsRequest.permissions` that the caller is + * allowed. + */ + permissions?: string[]; + } + /** + * The response message for Operations.ListOperations. + */ + interface Schema$GoogleLongrunning__ListOperationsResponse { + /** + * The standard List next-page token. + */ + nextPageToken?: string; + /** + * A list of operations that matches the specified filter in the request. + */ + operations?: Schema$GoogleLongrunning__Operation[]; + } + /** + * This resource represents a long-running operation that is the result of a + * network API call. + */ + interface Schema$GoogleLongrunning__Operation { + /** + * If the value is `false`, it means the operation is still in progress. If + * `true`, the operation is completed, and either `error` or `response` is + * available. + */ + done?: boolean; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$GoogleRpc__Status; + /** + * Service-specific metadata associated with the operation. It typically + * contains progress information and common metadata such as create time. + * Some services might not provide such metadata. Any method that returns a + * long-running operation should document the metadata type, if any. + */ + metadata?: any; + /** + * The server-assigned name, which is only unique within the same service + * that originally returns it. If you use the default HTTP mapping, the + * `name` should have the format of `operations/some/unique/name`. + */ + name?: string; + /** + * The normal response of the operation in case of success. If the original + * method returns no data on success, such as `Delete`, the response is + * `google.protobuf.Empty`. If the original method is standard + * `Get`/`Create`/`Update`, the response should be the resource. For other + * methods, the response should have the type `XxxResponse`, where `Xxx` is + * the original method name. For example, if the original method name is + * `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: any; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$GoogleProtobuf__Empty { + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$GoogleRpc__Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + /** + * Represents an expression text. Example: title: "User account + * presence" description: "Determines whether the request has a + * user account" expression: "size(request.user) > 0" + */ + interface Schema$GoogleType__Expr { + /** + * An optional description of the expression. This is a longer text which + * describes the expression, e.g. when hovered over it in a UI. + */ + description?: string; + /** + * Textual representation of an expression in Common Expression Language + * syntax. The application context of the containing message determines + * which well-known feature set of CEL is supported. + */ + expression?: string; + /** + * An optional string indicating the location of the expression for error + * reporting, e.g. a file name and a position in the file. + */ + location?: string; + /** + * An optional title for the expression, i.e. a short string describing its + * purpose. This can be used e.g. in UIs which allow to enter the + * expression. + */ + title?: string; + } + class Resource$Projects { + root: Ml; + jobs: Resource$Projects$Jobs; + locations: Resource$Projects$Locations; + models: Resource$Projects$Models; + operations: Resource$Projects$Operations; + constructor(root: Ml); + getRoot(): Ml; + /** + * ml.projects.getConfig + * @desc Get the service account information associated with your project. + * You need this information in order to grant the service account + * permissions for the Google Cloud Storage location where you put your + * model training code for training the model with Google Cloud Machine + * Learning. + * @alias ml.projects.getConfig + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The project name. + * @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 + */ + getConfig(params?: Params$Resource$Projects$Getconfig, options?: MethodOptions): AxiosPromise; + getConfig(params: Params$Resource$Projects$Getconfig, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getConfig(params: Params$Resource$Projects$Getconfig, callback: BodyResponseCallback): void; + getConfig(callback: BodyResponseCallback): void; + /** + * ml.projects.predict + * @desc Performs prediction on the data in the request. Cloud ML Engine + * implements a custom `predict` verb on top of an HTTP POST method.

For + * details of the request and response format, see the **guide to the + * [predict request format](/ml-engine/docs/v1/predict-request)**. + * @alias ml.projects.predict + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The resource name of a model or a version. Authorization: requires the `predict` permission on the specified resource. + * @param {().GoogleCloudMlV1__PredictRequest} 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?: Params$Resource$Projects$Predict, options?: MethodOptions): AxiosPromise; + predict(params: Params$Resource$Projects$Predict, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + predict(params: Params$Resource$Projects$Predict, callback: BodyResponseCallback): void; + predict(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Getconfig { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The project name. + */ + name?: string; + } + interface Params$Resource$Projects$Predict { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of a model or a version. Authorization: + * requires the `predict` permission on the specified resource. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudMlV1__PredictRequest; + } + class Resource$Projects$Jobs { + root: Ml; + constructor(root: Ml); + getRoot(): Ml; + /** + * ml.projects.jobs.cancel + * @desc Cancels a running job. + * @alias ml.projects.jobs.cancel + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The name of the job to cancel. + * @param {().GoogleCloudMlV1__CancelJobRequest} 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 + */ + cancel(params?: Params$Resource$Projects$Jobs$Cancel, options?: MethodOptions): AxiosPromise; + cancel(params: Params$Resource$Projects$Jobs$Cancel, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + cancel(params: Params$Resource$Projects$Jobs$Cancel, callback: BodyResponseCallback): void; + cancel(callback: BodyResponseCallback): void; + /** + * ml.projects.jobs.create + * @desc Creates a training or a batch prediction job. + * @alias ml.projects.jobs.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The project name. + * @param {().GoogleCloudMlV1__Job} 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 + */ + create(params?: Params$Resource$Projects$Jobs$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Jobs$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Jobs$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * ml.projects.jobs.get + * @desc Describes a job. + * @alias ml.projects.jobs.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The name of the job to get the description of. + * @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?: Params$Resource$Projects$Jobs$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Jobs$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Jobs$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * ml.projects.jobs.getIamPolicy + * @desc Gets the access control policy for a resource. Returns an empty + * policy if the resource exists and does not have a policy set. + * @alias ml.projects.jobs.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. + * @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 + */ + getIamPolicy(params?: Params$Resource$Projects$Jobs$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Projects$Jobs$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Projects$Jobs$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * ml.projects.jobs.list + * @desc Lists the jobs in the project. If there are no jobs that match the + * request parameters, the list request returns an empty response body: {}. + * @alias ml.projects.jobs.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter Optional. Specifies the subset of jobs to retrieve. You can filter on the value of one or more attributes of the job object. For example, retrieve jobs with a job identifier that starts with 'census':

gcloud ml-engine jobs list --filter='jobId:census*'

List all failed jobs with names that start with 'rnn':

gcloud ml-engine jobs list --filter='jobId:rnn* AND state:FAILED'

For more examples, see the guide to monitoring jobs. + * @param {integer=} params.pageSize Optional. The number of jobs to retrieve per "page" of results. If there are more remaining results than this number, the response message will contain a valid value in the `next_page_token` field. The default value is 20, and the maximum page size is 100. + * @param {string=} params.pageToken Optional. A page token to request the next page of results. You get the token from the `next_page_token` field of the response from the previous call. + * @param {string} params.parent Required. The name of the project for which to list jobs. + * @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?: Params$Resource$Projects$Jobs$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Jobs$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Jobs$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * ml.projects.jobs.patch + * @desc Updates a specific job resource. Currently the only supported + * fields to update are `labels`. + * @alias ml.projects.jobs.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The job name. + * @param {string=} params.updateMask Required. Specifies the path, relative to `Job`, of the field to update. To adopt etag mechanism, include `etag` field in the mask, and include the `etag` value in your job resource. For example, to change the labels of a job, the `update_mask` parameter would be specified as `labels`, `etag`, and the `PATCH` request body would specify the new value, as follows: { "labels": { "owner": "Google", "color": "Blue" } "etag": "33a64df551425fcc55e4d42a148795d9f25f89d4" } If `etag` matches the one on the server, the labels of the job will be replaced with the given ones, and the server end `etag` will be recalculated. Currently the only supported update masks are `labels` and `etag`. + * @param {().GoogleCloudMlV1__Job} 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 + */ + patch(params?: Params$Resource$Projects$Jobs$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Jobs$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Jobs$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * ml.projects.jobs.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @alias ml.projects.jobs.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. + * @param {().GoogleIamV1__SetIamPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Projects$Jobs$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Projects$Jobs$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Projects$Jobs$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * ml.projects.jobs.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. If + * the resource does not exist, this will return an empty set of + * permissions, not a NOT_FOUND error. Note: This operation is designed to + * be used for building permission-aware UIs and command-line tools, not for + * authorization checking. This operation may "fail open" without warning. + * @alias ml.projects.jobs.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. + * @param {().GoogleIamV1__TestIamPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Projects$Jobs$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Projects$Jobs$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Projects$Jobs$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Jobs$Cancel { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the job to cancel. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudMlV1__CancelJobRequest; + } + interface Params$Resource$Projects$Jobs$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The project name. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudMlV1__Job; + } + interface Params$Resource$Projects$Jobs$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the job to get the description of. + */ + name?: string; + } + interface Params$Resource$Projects$Jobs$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being requested. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + } + interface Params$Resource$Projects$Jobs$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. Specifies the subset of jobs to retrieve. You can filter on the + * value of one or more attributes of the job object. For example, retrieve + * jobs with a job identifier that starts with 'census':

gcloud + * ml-engine jobs list --filter='jobId:census*'

List all failed + * jobs with names that start with 'rnn':

gcloud ml-engine jobs + * list --filter='jobId:rnn* AND state:FAILED'

For more examples, + * see the guide to monitoring jobs. + */ + filter?: string; + /** + * Optional. The number of jobs to retrieve per "page" of results. If there + * are more remaining results than this number, the response message will + * contain a valid value in the `next_page_token` field. The default value + * is 20, and the maximum page size is 100. + */ + pageSize?: number; + /** + * Optional. A page token to request the next page of results. You get the + * token from the `next_page_token` field of the response from the previous + * call. + */ + pageToken?: string; + /** + * Required. The name of the project for which to list jobs. + */ + parent?: string; + } + interface Params$Resource$Projects$Jobs$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The job name. + */ + name?: string; + /** + * Required. Specifies the path, relative to `Job`, of the field to update. + * To adopt etag mechanism, include `etag` field in the mask, and include + * the `etag` value in your job resource. For example, to change the labels + * of a job, the `update_mask` parameter would be specified as `labels`, + * `etag`, and the `PATCH` request body would specify the new value, as + * follows: { "labels": { "owner": "Google", "color": + * "Blue" } "etag": "33a64df551425fcc55e4d42a148795d9f25f89d4" + * } If `etag` matches the one on the server, the labels of the job will be + * replaced with the given ones, and the server end `etag` will be + * recalculated. Currently the only supported update masks are `labels` and + * `etag`. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudMlV1__Job; + } + interface Params$Resource$Projects$Jobs$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being specified. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleIamV1__SetIamPolicyRequest; + } + interface Params$Resource$Projects$Jobs$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleIamV1__TestIamPermissionsRequest; + } + class Resource$Projects$Locations { + root: Ml; + constructor(root: Ml); + getRoot(): Ml; + /** + * ml.projects.locations.get + * @desc Get the complete list of CMLE capabilities in a location, along + * with their location-specific properties. + * @alias ml.projects.locations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The name of the location. + * @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?: Params$Resource$Projects$Locations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Locations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Locations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * ml.projects.locations.list + * @desc List all locations that provides at least one type of CMLE + * capability. + * @alias ml.projects.locations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Optional. The number of locations to retrieve per "page" of results. If there are more remaining results than this number, the response message will contain a valid value in the `next_page_token` field. The default value is 20, and the maximum page size is 100. + * @param {string=} params.pageToken Optional. A page token to request the next page of results. You get the token from the `next_page_token` field of the response from the previous call. + * @param {string} params.parent Required. The name of the project for which available locations are to be listed (since some locations might be whitelisted for specific projects). + * @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?: Params$Resource$Projects$Locations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the location. + */ + name?: string; + } + interface Params$Resource$Projects$Locations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. The number of locations to retrieve per "page" of results. If + * there are more remaining results than this number, the response message + * will contain a valid value in the `next_page_token` field. The default + * value is 20, and the maximum page size is 100. + */ + pageSize?: number; + /** + * Optional. A page token to request the next page of results. You get the + * token from the `next_page_token` field of the response from the previous + * call. + */ + pageToken?: string; + /** + * Required. The name of the project for which available locations are to be + * listed (since some locations might be whitelisted for specific projects). + */ + parent?: string; + } + class Resource$Projects$Models { + root: Ml; + versions: Resource$Projects$Models$Versions; + constructor(root: Ml); + getRoot(): Ml; + /** + * ml.projects.models.create + * @desc Creates a model which will later contain one or more versions. You + * must add at least one version before you can request predictions from the + * model. Add versions by calling + * [projects.models.versions.create](/ml-engine/reference/rest/v1/projects.models.versions/create). + * @alias ml.projects.models.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The project name. + * @param {().GoogleCloudMlV1__Model} 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 + */ + create(params?: Params$Resource$Projects$Models$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Models$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Models$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * ml.projects.models.delete + * @desc Deletes a model. You can only delete a model if there are no + * versions in it. You can delete versions by calling + * [projects.models.versions.delete](/ml-engine/reference/rest/v1/projects.models.versions/delete). + * @alias ml.projects.models.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The name of 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?: Params$Resource$Projects$Models$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Models$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Models$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * ml.projects.models.get + * @desc Gets information about a model, including its name, the description + * (if set), and the default version (if at least one version of the model + * has been deployed). + * @alias ml.projects.models.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The name of 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?: Params$Resource$Projects$Models$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Models$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Models$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * ml.projects.models.getIamPolicy + * @desc Gets the access control policy for a resource. Returns an empty + * policy if the resource exists and does not have a policy set. + * @alias ml.projects.models.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. + * @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 + */ + getIamPolicy(params?: Params$Resource$Projects$Models$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Projects$Models$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Projects$Models$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * ml.projects.models.list + * @desc Lists the models in a project. Each project can contain multiple + * models, and each model can have multiple versions. If there are no + * models that match the request parameters, the list request returns an + * empty response body: {}. + * @alias ml.projects.models.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter Optional. Specifies the subset of models to retrieve. + * @param {integer=} params.pageSize Optional. The number of models to retrieve per "page" of results. If there are more remaining results than this number, the response message will contain a valid value in the `next_page_token` field. The default value is 20, and the maximum page size is 100. + * @param {string=} params.pageToken Optional. A page token to request the next page of results. You get the token from the `next_page_token` field of the response from the previous call. + * @param {string} params.parent Required. The name of the project whose models are to be listed. + * @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?: Params$Resource$Projects$Models$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Models$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Models$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * ml.projects.models.patch + * @desc Updates a specific model resource. Currently the only supported + * fields to update are `description` and `default_version.name`. + * @alias ml.projects.models.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The project name. + * @param {string=} params.updateMask Required. Specifies the path, relative to `Model`, of the field to update. For example, to change the description of a model to "foo" and set its default version to "version_1", the `update_mask` parameter would be specified as `description`, `default_version.name`, and the `PATCH` request body would specify the new value, as follows: { "description": "foo", "defaultVersion": { "name":"version_1" } } Currently the supported update masks are `description` and `default_version.name`. + * @param {().GoogleCloudMlV1__Model} 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 + */ + patch(params?: Params$Resource$Projects$Models$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Models$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Models$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * ml.projects.models.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @alias ml.projects.models.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. + * @param {().GoogleIamV1__SetIamPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Projects$Models$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Projects$Models$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Projects$Models$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * ml.projects.models.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. If + * the resource does not exist, this will return an empty set of + * permissions, not a NOT_FOUND error. Note: This operation is designed to + * be used for building permission-aware UIs and command-line tools, not for + * authorization checking. This operation may "fail open" without warning. + * @alias ml.projects.models.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. + * @param {().GoogleIamV1__TestIamPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Projects$Models$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Projects$Models$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Projects$Models$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Models$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The project name. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudMlV1__Model; + } + interface Params$Resource$Projects$Models$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the model. + */ + name?: string; + } + interface Params$Resource$Projects$Models$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the model. + */ + name?: string; + } + interface Params$Resource$Projects$Models$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being requested. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + } + interface Params$Resource$Projects$Models$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. Specifies the subset of models to retrieve. + */ + filter?: string; + /** + * Optional. The number of models to retrieve per "page" of results. If + * there are more remaining results than this number, the response message + * will contain a valid value in the `next_page_token` field. The default + * value is 20, and the maximum page size is 100. + */ + pageSize?: number; + /** + * Optional. A page token to request the next page of results. You get the + * token from the `next_page_token` field of the response from the previous + * call. + */ + pageToken?: string; + /** + * Required. The name of the project whose models are to be listed. + */ + parent?: string; + } + interface Params$Resource$Projects$Models$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The project name. + */ + name?: string; + /** + * Required. Specifies the path, relative to `Model`, of the field to + * update. For example, to change the description of a model to "foo" and + * set its default version to "version_1", the `update_mask` parameter would + * be specified as `description`, `default_version.name`, and the `PATCH` + * request body would specify the new value, as follows: { + * "description": "foo", "defaultVersion": { "name":"version_1" } } + * Currently the supported update masks are `description` and + * `default_version.name`. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudMlV1__Model; + } + interface Params$Resource$Projects$Models$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being specified. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleIamV1__SetIamPolicyRequest; + } + interface Params$Resource$Projects$Models$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleIamV1__TestIamPermissionsRequest; + } + class Resource$Projects$Models$Versions { + root: Ml; + constructor(root: Ml); + getRoot(): Ml; + /** + * ml.projects.models.versions.create + * @desc Creates a new version of a model from a trained TensorFlow model. + * If the version created in the cloud by this call is the first deployed + * version of the specified model, it will be made the default version of + * the model. When you add a version to a model that already has one or more + * versions, the default version does not automatically change. If you want + * a new version to be the default, you must call + * [projects.models.versions.setDefault](/ml-engine/reference/rest/v1/projects.models.versions/setDefault). + * @alias ml.projects.models.versions.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The name of the model. + * @param {().GoogleCloudMlV1__Version} 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 + */ + create(params?: Params$Resource$Projects$Models$Versions$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Models$Versions$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Models$Versions$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * ml.projects.models.versions.delete + * @desc Deletes a model version. Each model can have multiple versions + * deployed and in use at any given time. Use this method to remove a single + * version. Note: You cannot delete the version that is set as the default + * version of the model unless it is the only remaining version. + * @alias ml.projects.models.versions.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The name of the version. You can get the names of all the versions of a model by calling [projects.models.versions.list](/ml-engine/reference/rest/v1/projects.models.versions/list). + * @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?: Params$Resource$Projects$Models$Versions$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Models$Versions$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Models$Versions$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * ml.projects.models.versions.get + * @desc Gets information about a model version. Models can have multiple + * versions. You can call + * [projects.models.versions.list](/ml-engine/reference/rest/v1/projects.models.versions/list) + * to get the same information that this method returns for all of the + * versions of a model. + * @alias ml.projects.models.versions.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The name of the version. + * @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?: Params$Resource$Projects$Models$Versions$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Models$Versions$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Models$Versions$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * ml.projects.models.versions.list + * @desc Gets basic information about all the versions of a model. If you + * expect that a model has many versions, or if you need to handle only a + * limited number of results at a time, you can request that the list be + * retrieved in batches (called pages). If there are no versions that match + * the request parameters, the list request returns an empty response body: + * {}. + * @alias ml.projects.models.versions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter Optional. Specifies the subset of versions to retrieve. + * @param {integer=} params.pageSize Optional. The number of versions to retrieve per "page" of results. If there are more remaining results than this number, the response message will contain a valid value in the `next_page_token` field. The default value is 20, and the maximum page size is 100. + * @param {string=} params.pageToken Optional. A page token to request the next page of results. You get the token from the `next_page_token` field of the response from the previous call. + * @param {string} params.parent Required. The name of the model for which to list the version. + * @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?: Params$Resource$Projects$Models$Versions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Models$Versions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Models$Versions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * ml.projects.models.versions.patch + * @desc Updates the specified Version resource. Currently the only + * update-able fields are `description` and `autoScaling.minNodes`. + * @alias ml.projects.models.versions.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The name of the model. + * @param {string=} params.updateMask Required. Specifies the path, relative to `Version`, of the field to update. Must be present and non-empty. For example, to change the description of a version to "foo", the `update_mask` parameter would be specified as `description`, and the `PATCH` request body would specify the new value, as follows: { "description": "foo" } Currently the only supported update mask fields are `description` and `autoScaling.minNodes`. + * @param {().GoogleCloudMlV1__Version} 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 + */ + patch(params?: Params$Resource$Projects$Models$Versions$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Models$Versions$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Models$Versions$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * ml.projects.models.versions.setDefault + * @desc Designates a version to be the default for the model. The default + * version is used for prediction requests made against the model that don't + * specify a version. The first version to be created for a model is + * automatically set as the default. You must make any subsequent changes to + * the default version setting manually using this method. + * @alias ml.projects.models.versions.setDefault + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The name of the version to make the default for the model. You can get the names of all the versions of a model by calling [projects.models.versions.list](/ml-engine/reference/rest/v1/projects.models.versions/list). + * @param {().GoogleCloudMlV1__SetDefaultVersionRequest} 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 + */ + setDefault(params?: Params$Resource$Projects$Models$Versions$Setdefault, options?: MethodOptions): AxiosPromise; + setDefault(params: Params$Resource$Projects$Models$Versions$Setdefault, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setDefault(params: Params$Resource$Projects$Models$Versions$Setdefault, callback: BodyResponseCallback): void; + setDefault(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Models$Versions$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the model. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudMlV1__Version; + } + interface Params$Resource$Projects$Models$Versions$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the version. You can get the names of all the + * versions of a model by calling + * [projects.models.versions.list](/ml-engine/reference/rest/v1/projects.models.versions/list). + */ + name?: string; + } + interface Params$Resource$Projects$Models$Versions$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the version. + */ + name?: string; + } + interface Params$Resource$Projects$Models$Versions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. Specifies the subset of versions to retrieve. + */ + filter?: string; + /** + * Optional. The number of versions to retrieve per "page" of results. If + * there are more remaining results than this number, the response message + * will contain a valid value in the `next_page_token` field. The default + * value is 20, and the maximum page size is 100. + */ + pageSize?: number; + /** + * Optional. A page token to request the next page of results. You get the + * token from the `next_page_token` field of the response from the previous + * call. + */ + pageToken?: string; + /** + * Required. The name of the model for which to list the version. + */ + parent?: string; + } + interface Params$Resource$Projects$Models$Versions$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the model. + */ + name?: string; + /** + * Required. Specifies the path, relative to `Version`, of the field to + * update. Must be present and non-empty. For example, to change the + * description of a version to "foo", the `update_mask` parameter would be + * specified as `description`, and the `PATCH` request body would specify + * the new value, as follows: { "description": "foo" } + * Currently the only supported update mask fields are `description` and + * `autoScaling.minNodes`. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudMlV1__Version; + } + interface Params$Resource$Projects$Models$Versions$Setdefault { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the version to make the default for the model. You + * can get the names of all the versions of a model by calling + * [projects.models.versions.list](/ml-engine/reference/rest/v1/projects.models.versions/list). + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudMlV1__SetDefaultVersionRequest; + } + class Resource$Projects$Operations { + root: Ml; + constructor(root: Ml); + getRoot(): Ml; + /** + * ml.projects.operations.cancel + * @desc Starts asynchronous cancellation on a long-running operation. The + * server makes a best effort to cancel the operation, but success is not + * guaranteed. If the server doesn't support this method, it returns + * `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation + * or other methods to check whether the cancellation succeeded or whether + * the operation completed despite cancellation. On successful cancellation, + * the operation is not deleted; instead, it becomes an operation with an + * Operation.error value with a google.rpc.Status.code of 1, corresponding + * to `Code.CANCELLED`. + * @alias ml.projects.operations.cancel + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource to be cancelled. + * @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 + */ + cancel(params?: Params$Resource$Projects$Operations$Cancel, options?: MethodOptions): AxiosPromise; + cancel(params: Params$Resource$Projects$Operations$Cancel, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + cancel(params: Params$Resource$Projects$Operations$Cancel, callback: BodyResponseCallback): void; + cancel(callback: BodyResponseCallback): void; + /** + * ml.projects.operations.delete + * @desc Deletes a long-running operation. This method indicates that the + * client is no longer interested in the operation result. It does not + * cancel the operation. If the server doesn't support this method, it + * returns `google.rpc.Code.UNIMPLEMENTED`. + * @alias ml.projects.operations.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource to be deleted. + * @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?: Params$Resource$Projects$Operations$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Operations$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Operations$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * ml.projects.operations.get + * @desc Gets the latest state of a long-running operation. Clients can use + * this method to poll the operation result at intervals as recommended by + * the API service. + * @alias ml.projects.operations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource. + * @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?: Params$Resource$Projects$Operations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Operations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Operations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * ml.projects.operations.list + * @desc Lists operations that match the specified filter in the request. If + * the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: + * the `name` binding allows API services to override the binding to use + * different resource name schemes, such as `users/x/operations`. To + * override the binding, API services can add a binding such as + * `"/v1/{name=users/x}/operations"` to their service configuration. For + * backwards compatibility, the default name includes the operations + * collection id, however overriding users must ensure the name binding is + * the parent resource, without the operations collection id. + * @alias ml.projects.operations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter The standard list filter. + * @param {string} params.name The name of the operation's parent resource. + * @param {integer=} params.pageSize The standard list page size. + * @param {string=} params.pageToken The standard list page token. + * @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?: Params$Resource$Projects$Operations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Operations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Operations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Operations$Cancel { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource to be cancelled. + */ + name?: string; + } + interface Params$Resource$Projects$Operations$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource to be deleted. + */ + name?: string; + } + interface Params$Resource$Projects$Operations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource. + */ + name?: string; + } + interface Params$Resource$Projects$Operations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The standard list filter. + */ + filter?: string; + /** + * The name of the operation's parent resource. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/ml/v1.js b/express-server/node_modules/googleapis/build/src/apis/ml/v1.js new file mode 100644 index 00000000..59fbbc65 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/ml/v1.js @@ -0,0 +1,1039 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var ml_v1; +(function (ml_v1) { + /** + * Cloud Machine Learning Engine + * + * An API to enable creating and using machine learning models. + * + * @example + * const {google} = require('googleapis'); + * const ml = google.ml('v1'); + * + * @namespace ml + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Ml + */ + class Ml { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.projects = new Resource$Projects(this); + } + getRoot() { + return this.root; + } + } + ml_v1.Ml = Ml; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.jobs = new Resource$Projects$Jobs(root); + this.locations = new Resource$Projects$Locations(root); + this.models = new Resource$Projects$Models(root); + this.operations = new Resource$Projects$Operations(root); + } + getRoot() { + return this.root; + } + getConfig(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://ml.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:getConfig') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + predict(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://ml.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:predict') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + ml_v1.Resource$Projects = Resource$Projects; + class Resource$Projects$Jobs { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + cancel(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://ml.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:cancel') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://ml.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/jobs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://ml.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://ml.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://ml.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/jobs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://ml.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://ml.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://ml.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + ml_v1.Resource$Projects$Jobs = Resource$Projects$Jobs; + class Resource$Projects$Locations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://ml.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://ml.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/locations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + ml_v1.Resource$Projects$Locations = Resource$Projects$Locations; + class Resource$Projects$Models { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.versions = new Resource$Projects$Models$Versions(root); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://ml.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/models') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://ml.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://ml.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://ml.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://ml.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/models') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://ml.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://ml.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://ml.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + ml_v1.Resource$Projects$Models = Resource$Projects$Models; + class Resource$Projects$Models$Versions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://ml.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/versions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://ml.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://ml.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://ml.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/versions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://ml.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setDefault(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://ml.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:setDefault') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + ml_v1.Resource$Projects$Models$Versions = Resource$Projects$Models$Versions; + class Resource$Projects$Operations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + cancel(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://ml.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:cancel') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://ml.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://ml.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://ml.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}/operations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + ml_v1.Resource$Projects$Operations = Resource$Projects$Operations; +})(ml_v1 = exports.ml_v1 || (exports.ml_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/ml/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/ml/v1.js.map new file mode 100644 index 00000000..16369a76 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/ml/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/ml/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/monitoring/README.md b/express-server/node_modules/googleapis/build/src/apis/monitoring/README.md new file mode 100644 index 00000000..ed33dfb1 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/monitoring/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/monitoring + +> Manages your Stackdriver Monitoring data and configurations. Most projects must be associated with a Stackdriver account, with a few exceptions as noted on the individual method pages. + +## Installation + +```sh +$ npm install @google/monitoring +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/monitoring/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/monitoring/index.d.ts new file mode 100644 index 00000000..361855c6 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/monitoring/index.d.ts @@ -0,0 +1,6 @@ +import { monitoring_v3 } from './v3'; +export declare const VERSIONS: { + 'v3': typeof monitoring_v3.Monitoring; +}; +export declare function monitoring(version: 'v3'): monitoring_v3.Monitoring; +export declare function monitoring(options: monitoring_v3.Options): monitoring_v3.Monitoring; diff --git a/express-server/node_modules/googleapis/build/src/apis/monitoring/index.js b/express-server/node_modules/googleapis/build/src/apis/monitoring/index.js new file mode 100644 index 00000000..1c1cc9f5 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/monitoring/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v3_1 = require("./v3"); +exports.VERSIONS = { + 'v3': v3_1.monitoring_v3.Monitoring, +}; +function monitoring(versionOrOptions) { + return googleapis_common_1.getAPI('monitoring', versionOrOptions, exports.VERSIONS, this); +} +exports.monitoring = monitoring; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/monitoring/index.js.map b/express-server/node_modules/googleapis/build/src/apis/monitoring/index.js.map new file mode 100644 index 00000000..ee0a0177 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/monitoring/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/monitoring/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAmC;AAEtB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,kBAAa,CAAC,UAAU;CAC/B,CAAC;AAKF,SAAgB,UAAU,CACI,gBAA4C;IACxE,OAAO,0BAAM,CAAI,YAAY,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACnE,CAAC;AAHD,gCAGC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/monitoring/package.json b/express-server/node_modules/googleapis/build/src/apis/monitoring/package.json new file mode 100644 index 00000000..3f291d8c --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/monitoring/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/monitoring", + "version": "0.1.0", + "description": "monitoring", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/monitoring/v3.d.ts b/express-server/node_modules/googleapis/build/src/apis/monitoring/v3.d.ts new file mode 100644 index 00000000..b73a8565 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/monitoring/v3.d.ts @@ -0,0 +1,4199 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace monitoring_v3 { + interface Options extends GlobalOptions { + version: 'v3'; + } + /** + * Stackdriver Monitoring API + * + * Manages your Stackdriver Monitoring data and configurations. Most projects + * must be associated with a Stackdriver account, with a few exceptions as + * noted on the individual method pages. + * + * @example + * const {google} = require('googleapis'); + * const monitoring = google.monitoring('v3'); + * + * @namespace monitoring + * @type {Function} + * @version v3 + * @variation v3 + * @param {object=} options Options for Monitoring + */ + class Monitoring { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + projects: Resource$Projects; + uptimeCheckIps: Resource$Uptimecheckips; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Describes how to combine multiple time series to provide different views of + * the data. Aggregation consists of an alignment step on individual time + * series (alignment_period and per_series_aligner) followed by an optional + * reduction step of the data across the aligned time series + * (cross_series_reducer and group_by_fields). For more details, see + * Aggregation. + */ + interface Schema$Aggregation { + /** + * The alignment period for per-time series alignment. If present, + * alignmentPeriod must be at least 60 seconds. After per-time series + * alignment, each time series will contain data points only on the period + * boundaries. If perSeriesAligner is not specified or equals ALIGN_NONE, + * then this field is ignored. If perSeriesAligner is specified and does not + * equal ALIGN_NONE, then this field must be defined; otherwise an error is + * returned. + */ + alignmentPeriod?: string; + /** + * The approach to be used to combine time series. Not all reducer functions + * may be applied to all time series, depending on the metric type and the + * value type of the original time series. Reduction may change the metric + * type of value type of the time series.Time series data must be aligned in + * order to perform cross-time series reduction. If crossSeriesReducer is + * specified, then perSeriesAligner must be specified and not equal + * ALIGN_NONE and alignmentPeriod must be specified; otherwise, an error is + * returned. + */ + crossSeriesReducer?: string; + /** + * The set of fields to preserve when crossSeriesReducer is specified. The + * groupByFields determine how the time series are partitioned into subsets + * prior to applying the aggregation function. Each subset contains time + * series that have the same value for each of the grouping fields. Each + * individual time series is a member of exactly one subset. The + * crossSeriesReducer is applied to each subset of time series. It is not + * possible to reduce across different resource types, so this field + * implicitly contains resource.type. Fields not specified in groupByFields + * are aggregated away. If groupByFields is not specified and all the time + * series have the same resource type, then the time series are aggregated + * into a single output time series. If crossSeriesReducer is not defined, + * this field is ignored. + */ + groupByFields?: string[]; + /** + * The approach to be used to align individual time series. Not all + * alignment functions may be applied to all time series, depending on the + * metric type and value type of the original time series. Alignment may + * change the metric type or the value type of the time series.Time series + * data must be aligned in order to perform cross-time series reduction. If + * crossSeriesReducer is specified, then perSeriesAligner must be specified + * and not equal ALIGN_NONE and alignmentPeriod must be specified; + * otherwise, an error is returned. + */ + perSeriesAligner?: string; + } + /** + * A description of the conditions under which some aspect of your system is + * considered to be "unhealthy" and the ways to notify people or + * services about this state. For an overview of alert policies, see + * Introduction to Alerting. + */ + interface Schema$AlertPolicy { + /** + * How to combine the results of multiple conditions to determine if an + * incident should be opened. + */ + combiner?: string; + /** + * A list of conditions for the policy. The conditions are combined by AND + * or OR according to the combiner field. If the combined conditions + * evaluate to true, then an incident is created. A policy can have from one + * to six conditions. + */ + conditions?: Schema$Condition[]; + /** + * A read-only record of the creation of the alerting policy. If provided in + * a call to create or update, this field will be ignored. + */ + creationRecord?: Schema$MutationRecord; + /** + * A short name or phrase used to identify the policy in dashboards, + * notifications, and incidents. To avoid confusion, don't use the same + * display name for multiple policies in the same project. The name is + * limited to 512 Unicode characters. + */ + displayName?: string; + /** + * Documentation that is included with notifications and incidents related + * to this policy. Best practice is for the documentation to include + * information to help responders understand, mitigate, escalate, and + * correct the underlying problems detected by the alerting policy. + * Notification channels that have limited capacity might not show this + * documentation. + */ + documentation?: Schema$Documentation; + /** + * Whether or not the policy is enabled. On write, the default + * interpretation if unset is that the policy is enabled. On read, clients + * should not make any assumption about the state if it has not been + * populated. The field should always be populated on List and Get + * operations, unless a field projection has been specified that strips it + * out. + */ + enabled?: boolean; + /** + * A read-only record of the most recent change to the alerting policy. If + * provided in a call to create or update, this field will be ignored. + */ + mutationRecord?: Schema$MutationRecord; + /** + * Required if the policy exists. The resource name for this policy. The + * syntax is: projects/[PROJECT_ID]/alertPolicies/[ALERT_POLICY_ID] + * [ALERT_POLICY_ID] is assigned by Stackdriver Monitoring when the policy + * is created. When calling the alertPolicies.create method, do not include + * the name field in the alerting policy passed as part of the request. + */ + name?: string; + /** + * Identifies the notification channels to which notifications should be + * sent when incidents are opened or closed or when new violations occur on + * an already opened incident. Each element of this array corresponds to the + * name field in each of the NotificationChannel objects that are returned + * from the ListNotificationChannels method. The syntax of the entries in + * this field is: projects/[PROJECT_ID]/notificationChannels/[CHANNEL_ID] + */ + notificationChannels?: string[]; + /** + * User-supplied key/value data to be used for organizing and identifying + * the AlertPolicy objects.The field can contain up to 64 entries. Each key + * and value is limited to 63 Unicode characters or 128 bytes, whichever is + * smaller. Labels and values can contain only lowercase letters, numerals, + * underscores, and dashes. Keys must begin with a letter. + */ + userLabels?: any; + } + /** + * A type of authentication to perform against the specified resource or URL + * that uses username and password. Currently, only Basic authentication is + * supported in Uptime Monitoring. + */ + interface Schema$BasicAuthentication { + /** + * The password to authenticate. + */ + password?: string; + /** + * The username to authenticate. + */ + username?: string; + } + /** + * BucketOptions describes the bucket boundaries used to create a histogram + * for the distribution. The buckets can be in a linear sequence, an + * exponential sequence, or each bucket can be specified explicitly. + * BucketOptions does not include the number of values in each bucket.A bucket + * has an inclusive lower bound and exclusive upper bound for the values that + * are counted for that bucket. The upper bound of a bucket must be strictly + * greater than the lower bound. The sequence of N buckets for a distribution + * consists of an underflow bucket (number 0), zero or more finite buckets + * (number 1 through N - 2) and an overflow bucket (number N - 1). The buckets + * are contiguous: the lower bound of bucket i (i > 0) is the same as the + * upper bound of bucket i - 1. The buckets span the whole range of finite + * values: lower bound of the underflow bucket is -infinity and the upper + * bound of the overflow bucket is +infinity. The finite buckets are so-called + * because both bounds are finite. + */ + interface Schema$BucketOptions { + /** + * The explicit buckets. + */ + explicitBuckets?: Schema$Explicit; + /** + * The exponential buckets. + */ + exponentialBuckets?: Schema$Exponential; + /** + * The linear bucket. + */ + linearBuckets?: Schema$Linear; + } + /** + * A collection of data points sent from a collectd-based plugin. See the + * collectd documentation for more information. + */ + interface Schema$CollectdPayload { + /** + * The end time of the interval. + */ + endTime?: string; + /** + * The measurement metadata. Example: "process_id" -> 12345 + */ + metadata?: any; + /** + * The name of the plugin. Example: "disk". + */ + plugin?: string; + /** + * The instance name of the plugin Example: "hdcl". + */ + pluginInstance?: string; + /** + * The start time of the interval. + */ + startTime?: string; + /** + * The measurement type. Example: "memory". + */ + type?: string; + /** + * The measurement type instance. Example: "used". + */ + typeInstance?: string; + /** + * The measured values during this time interval. Each value must have a + * different dataSourceName. + */ + values?: Schema$CollectdValue[]; + } + /** + * Describes the error status for payloads that were not written. + */ + interface Schema$CollectdPayloadError { + /** + * Records the error status for the payload. If this field is present, the + * partial errors for nested values won't be populated. + */ + error?: Schema$Status; + /** + * The zero-based index in + * CreateCollectdTimeSeriesRequest.collectd_payloads. + */ + index?: number; + /** + * Records the error status for values that were not written due to an + * error.Failed payloads for which nothing is written will not include + * partial value errors. + */ + valueErrors?: Schema$CollectdValueError[]; + } + /** + * A single data point from a collectd-based plugin. + */ + interface Schema$CollectdValue { + /** + * The data source for the collectd value. For example there are two data + * sources for network measurements: "rx" and "tx". + */ + dataSourceName?: string; + /** + * The type of measurement. + */ + dataSourceType?: string; + /** + * The measurement value. + */ + value?: Schema$TypedValue; + } + /** + * Describes the error status for values that were not written. + */ + interface Schema$CollectdValueError { + /** + * Records the error status for the value. + */ + error?: Schema$Status; + /** + * The zero-based index in CollectdPayload.values within the parent + * CreateCollectdTimeSeriesRequest.collectd_payloads. + */ + index?: number; + } + /** + * A condition is a true/false test that determines when an alerting policy + * should open an incident. If a condition evaluates to true, it signifies + * that something is wrong. + */ + interface Schema$Condition { + /** + * A condition that checks that a time series continues to receive new data + * points. + */ + conditionAbsent?: Schema$MetricAbsence; + /** + * A condition that compares a time series against a threshold. + */ + conditionThreshold?: Schema$MetricThreshold; + /** + * A short name or phrase used to identify the condition in dashboards, + * notifications, and incidents. To avoid confusion, don't use the same + * display name for multiple conditions in the same policy. + */ + displayName?: string; + /** + * Required if the condition exists. The unique resource name for this + * condition. Its syntax is: + * projects/[PROJECT_ID]/alertPolicies/[POLICY_ID]/conditions/[CONDITION_ID] + * [CONDITION_ID] is assigned by Stackdriver Monitoring when the condition + * is created as part of a new or updated alerting policy.When calling the + * alertPolicies.create method, do not include the name field in the + * conditions of the requested alerting policy. Stackdriver Monitoring + * creates the condition identifiers and includes them in the new + * policy.When calling the alertPolicies.update method to update a policy, + * including a condition name causes the existing condition to be updated. + * Conditions without names are added to the updated policy. Existing + * conditions are deleted if they are not updated.Best practice is to + * preserve [CONDITION_ID] if you make only small changes, such as those to + * condition thresholds, durations, or trigger values. Otherwise, treat the + * change as a new condition and let the existing condition be deleted. + */ + name?: string; + } + /** + * Used to perform string matching. Currently, this matches on the exact + * content. In the future, it can be expanded to allow for regular expressions + * and more complex matching. + */ + interface Schema$ContentMatcher { + /** + * String content to match (max 1024 bytes) + */ + content?: string; + } + /** + * The CreateCollectdTimeSeries request. + */ + interface Schema$CreateCollectdTimeSeriesRequest { + /** + * The collectd payloads representing the time series data. You must not + * include more than a single point for each time series, so no two payloads + * can have the same values for all of the fields plugin, plugin_instance, + * type, and type_instance. + */ + collectdPayloads?: Schema$CollectdPayload[]; + /** + * The version of collectd that collected the data. Example: + * "5.3.0-192.el6". + */ + collectdVersion?: string; + /** + * The monitored resource associated with the time series. + */ + resource?: Schema$MonitoredResource; + } + /** + * The CreateCollectdTimeSeries response. + */ + interface Schema$CreateCollectdTimeSeriesResponse { + /** + * Records the error status for points that were not written due to an + * error.Failed requests for which nothing is written will return an error + * response instead. + */ + payloadErrors?: Schema$CollectdPayloadError[]; + } + /** + * The CreateTimeSeries request. + */ + interface Schema$CreateTimeSeriesRequest { + /** + * The new data to be added to a list of time series. Adds at most one data + * point to each of several time series. The new data point must be more + * recent than any other point in its time series. Each TimeSeries value + * must fully specify a unique time series by supplying all label values for + * the metric and the monitored resource. + */ + timeSeries?: Schema$TimeSeries[]; + } + /** + * Distribution contains summary statistics for a population of values. It + * optionally contains a histogram representing the distribution of those + * values across a set of buckets.The summary statistics are the count, mean, + * sum of the squared deviation from the mean, the minimum, and the maximum of + * the set of population of values. The histogram is based on a sequence of + * buckets and gives a count of values that fall into each bucket. The + * boundaries of the buckets are given either explicitly or by formulas for + * buckets of fixed or exponentially increasing widths.Although it is not + * forbidden, it is generally a bad idea to include non-finite values + * (infinities or NaNs) in the population of values, as this will render the + * mean and sum_of_squared_deviation fields meaningless. + */ + interface Schema$Distribution { + /** + * Required in the Stackdriver Monitoring API v3. The values for each bucket + * specified in bucket_options. The sum of the values in bucketCounts must + * equal the value in the count field of the Distribution object. The order + * of the bucket counts follows the numbering schemes described for the + * three bucket types. The underflow bucket has number 0; the finite + * buckets, if any, have numbers 1 through N-2; and the overflow bucket has + * number N-1. The size of bucket_counts must not be greater than N. If the + * size is less than N, then the remaining buckets are assigned values of + * zero. + */ + bucketCounts?: string[]; + /** + * Required in the Stackdriver Monitoring API v3. Defines the histogram + * bucket boundaries. + */ + bucketOptions?: Schema$BucketOptions; + /** + * The number of values in the population. Must be non-negative. This value + * must equal the sum of the values in bucket_counts if a histogram is + * provided. + */ + count?: string; + /** + * Must be in increasing order of value field. + */ + exemplars?: Schema$Exemplar[]; + /** + * The arithmetic mean of the values in the population. If count is zero + * then this field must be zero. + */ + mean?: number; + /** + * If specified, contains the range of the population values. The field must + * not be present if the count is zero. This field is presently ignored by + * the Stackdriver Monitoring API v3. + */ + range?: Schema$Range; + /** + * The sum of squared deviations from the mean of the values in the + * population. For values x_i this is: Sum[i=1..n]((x_i - mean)^2) Knuth, + * "The Art of Computer Programming", Vol. 2, page 323, 3rd + * edition describes Welford's method for accumulating this sum in one + * pass.If count is zero then this field must be zero. + */ + sumOfSquaredDeviation?: number; + } + /** + * A content string and a MIME type that describes the content string's + * format. + */ + interface Schema$Documentation { + /** + * The text of the documentation, interpreted according to mime_type. The + * content may not exceed 8,192 Unicode characters and may not exceed more + * than 10,240 bytes when encoded in UTF-8 format, whichever is smaller. + */ + content?: string; + /** + * The format of the content field. Presently, only the value + * "text/markdown" is supported. See Markdown + * (https://en.wikipedia.org/wiki/Markdown) for more information. + */ + mimeType?: string; + } + /** + * A set of (label, value) pairs which were dropped during aggregation, + * attached to google.api.Distribution.Exemplars in google.api.Distribution + * values during aggregation.These values are used in combination with the + * label values that remain on the aggregated Distribution timeseries to + * construct the full label set for the exemplar values. The resulting full + * label set may be used to identify the specific task/job/instance (for + * example) which may be contributing to a long-tail, while allowing the + * storage savings of only storing aggregated distribution values for a large + * group.Note that there are no guarantees on ordering of the labels from + * exemplar-to-exemplar and from distribution-to-distribution in the same + * stream, and there may be duplicates. It is up to clients to resolve any + * ambiguities. + */ + interface Schema$DroppedLabels { + /** + * Map from label to its value, for all labels dropped in any aggregation. + */ + label?: any; + } + /** + * 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); } The JSON + * representation for Empty is empty JSON object {}. + */ + interface Schema$Empty { + } + /** + * Exemplars are example points that may be used to annotate aggregated + * distribution values. They are metadata that gives information about a + * particular value added to a Distribution bucket, such as a trace ID that + * was active when a value was added. They may contain further information, + * such as a example values and timestamps, origin, etc. + */ + interface Schema$Exemplar { + /** + * Contextual information about the example value. Examples are:Trace ID: + * type.googleapis.com/google.devtools.cloudtrace.v1.TraceLiteral string: + * type.googleapis.com/google.protobuf.StringValueLabels dropped during + * aggregation: type.googleapis.com/google.monitoring.v3.DroppedLabelsThere + * may be only a single attachment of any given message type in a single + * exemplar, and this is enforced by the system. + */ + attachments?: any[]; + /** + * The observation (sampling) time of the above value. + */ + timestamp?: string; + /** + * Value of the exemplar point. This value determines to which bucket the + * exemplar belongs. + */ + value?: number; + } + /** + * Specifies a set of buckets with arbitrary widths.There are size(bounds) + 1 + * (= N) buckets. Bucket i has the following boundaries:Upper bound (0 <= i + * < N-1): boundsi Lower bound (1 <= i < N); boundsi - 1The bounds + * field must contain at least one element. If bounds has only one element, + * then there are no finite buckets, and that single element is the common + * boundary of the overflow and underflow buckets. + */ + interface Schema$Explicit { + /** + * The values must be monotonically increasing. + */ + bounds?: number[]; + } + /** + * Specifies an exponential sequence of buckets that have a width that is + * proportional to the value of the lower bound. Each bucket represents a + * constant relative uncertainty on a specific value in the bucket.There are + * num_finite_buckets + 2 (= N) buckets. Bucket i has the following + * boundaries:Upper bound (0 <= i < N-1): scale * (growth_factor ^ i). + * Lower bound (1 <= i < N): scale * (growth_factor ^ (i - 1)). + */ + interface Schema$Exponential { + /** + * Must be greater than 1. + */ + growthFactor?: number; + /** + * Must be greater than 0. + */ + numFiniteBuckets?: number; + /** + * Must be greater than 0. + */ + scale?: number; + } + /** + * A single field of a message type. + */ + interface Schema$Field { + /** + * The field cardinality. + */ + cardinality?: string; + /** + * The string value of the default value of this field. Proto2 syntax only. + */ + defaultValue?: string; + /** + * The field JSON name. + */ + jsonName?: string; + /** + * The field type. + */ + kind?: string; + /** + * The field name. + */ + name?: string; + /** + * The field number. + */ + number?: number; + /** + * The index of the field type in Type.oneofs, for message or enumeration + * types. The first type has index 1; zero means the type is not in the + * list. + */ + oneofIndex?: number; + /** + * The protocol buffer options. + */ + options?: Schema$Option[]; + /** + * Whether to use alternative packed wire representation. + */ + packed?: boolean; + /** + * The field type URL, without the scheme, for message or enumeration types. + * Example: "type.googleapis.com/google.protobuf.Timestamp". + */ + typeUrl?: string; + } + /** + * The GetNotificationChannelVerificationCode request. + */ + interface Schema$GetNotificationChannelVerificationCodeRequest { + /** + * The desired expiration time. If specified, the API will guarantee that + * the returned code will not be valid after the specified timestamp; + * however, the API cannot guarantee that the returned code will be valid + * for at least as long as the requested time (the API puts an upper bound + * on the amount of time for which a code may be valid). If omitted, a + * default expiration will be used, which may be less than the max + * permissible expiration (so specifying an expiration may extend the + * code's lifetime over omitting an expiration, even though the API does + * impose an upper limit on the maximum expiration that is permitted). + */ + expireTime?: string; + } + /** + * The GetNotificationChannelVerificationCode request. + */ + interface Schema$GetNotificationChannelVerificationCodeResponse { + /** + * The verification code, which may be used to verify other channels that + * have an equivalent identity (i.e. other channels of the same type with + * the same fingerprint such as other email channels with the same email + * address or other sms channels with the same number). + */ + code?: string; + /** + * The expiration time associated with the code that was returned. If an + * expiration was provided in the request, this is the minimum of the + * requested expiration in the request and the max permitted expiration. + */ + expireTime?: string; + } + /** + * The description of a dynamic collection of monitored resources. Each group + * has a filter that is matched against monitored resources and their + * associated metadata. If a group's filter matches an available monitored + * resource, then that resource is a member of that group. Groups can contain + * any number of monitored resources, and each monitored resource can be a + * member of any number of groups.Groups can be nested in parent-child + * hierarchies. The parentName field identifies an optional parent for each + * group. If a group has a parent, then the only monitored resources available + * to be matched by the group's filter are the resources contained in the + * parent group. In other words, a group contains the monitored resources that + * match its filter and the filters of all the group's ancestors. A group + * without a parent can contain any monitored resource.For example, consider + * an infrastructure running a set of instances with two user-defined tags: + * "environment" and "role". A parent group has a filter, + * environment="production". A child of that parent group has a + * filter, role="transcoder". The parent group contains all + * instances in the production environment, regardless of their roles. The + * child group contains instances that have the transcoder role and are in the + * production environment.The monitored resources contained in a group can + * change at any moment, depending on what resources exist and what filters + * are associated with the group and its ancestors. + */ + interface Schema$Group { + /** + * A user-assigned name for this group, used only for display purposes. + */ + displayName?: string; + /** + * The filter used to determine which monitored resources belong to this + * group. + */ + filter?: string; + /** + * If true, the members of this group are considered to be a cluster. The + * system can perform additional analysis on groups that are clusters. + */ + isCluster?: boolean; + /** + * Output only. The name of this group. The format is + * "projects/{project_id_or_number}/groups/{group_id}". When + * creating a group, this field is ignored and a new name is created + * consisting of the project specified in the call to CreateGroup and a + * unique {group_id} that is generated automatically. + */ + name?: string; + /** + * The name of the group's parent, if it has one. The format is + * "projects/{project_id_or_number}/groups/{group_id}". For groups + * with no parent, parentName is the empty string, "". + */ + parentName?: string; + } + /** + * Information involved in an HTTP/HTTPS uptime check request. + */ + interface Schema$HttpCheck { + /** + * The authentication information. Optional when creating an HTTP check; + * defaults to empty. + */ + authInfo?: Schema$BasicAuthentication; + /** + * The list of headers to send as part of the uptime check request. If two + * headers have the same key and different values, they should be entered as + * a single header, with the value being a comma-separated list of all the + * desired values as described at + * https://www.w3.org/Protocols/rfc2616/rfc2616.txt (page 31). Entering two + * separate headers with the same key in a Create call will cause the first + * to be overwritten by the second. The maximum number of headers allowed is + * 100. + */ + headers?: any; + /** + * Boolean specifiying whether to encrypt the header information. Encryption + * should be specified for any headers related to authentication that you do + * not wish to be seen when retrieving the configuration. The server will be + * responsible for encrypting the headers. On Get/List calls, if + * mask_headers is set to True then the headers will be obscured with + * ******. + */ + maskHeaders?: boolean; + /** + * The path to the page to run the check against. Will be combined with the + * host (specified within the MonitoredResource) and port to construct the + * full URL. Optional (defaults to "/"). + */ + path?: string; + /** + * The port to the page to run the check against. Will be combined with host + * (specified within the MonitoredResource) and path to construct the full + * URL. Optional (defaults to 80 without SSL, or 443 with SSL). + */ + port?: number; + /** + * If true, use HTTPS instead of HTTP to run the check. + */ + useSsl?: boolean; + } + /** + * Nimbus InternalCheckers. + */ + interface Schema$InternalChecker { + /** + * The checker ID. + */ + checkerId?: string; + /** + * The checker's human-readable name. + */ + displayName?: string; + /** + * The GCP zone the uptime check should egress from. Only respected for + * internal uptime checks, where internal_network is specified. + */ + gcpZone?: string; + /** + * The internal network to perform this uptime check on. + */ + network?: string; + /** + * The GCP project ID. Not necessarily the same as the project_id for the + * config. + */ + projectId?: string; + } + /** + * A description of a label. + */ + interface Schema$LabelDescriptor { + /** + * A human-readable description for the label. + */ + description?: string; + /** + * The label key. + */ + key?: string; + /** + * The type of data that can be assigned to the label. + */ + valueType?: string; + } + /** + * Specifies a linear sequence of buckets that all have the same width (except + * overflow and underflow). Each bucket represents a constant absolute + * uncertainty on the specific value in the bucket.There are + * num_finite_buckets + 2 (= N) buckets. Bucket i has the following + * boundaries:Upper bound (0 <= i < N-1): offset + (width * i). Lower + * bound (1 <= i < N): offset + (width * (i - 1)). + */ + interface Schema$Linear { + /** + * Must be greater than 0. + */ + numFiniteBuckets?: number; + /** + * Lower bound of the first bucket. + */ + offset?: number; + /** + * Must be greater than 0. + */ + width?: number; + } + /** + * The protocol for the ListAlertPolicies response. + */ + interface Schema$ListAlertPoliciesResponse { + /** + * The returned alert policies. + */ + alertPolicies?: Schema$AlertPolicy[]; + /** + * If there might be more results than were returned, then this field is set + * to a non-empty value. To see the additional results, use that value as + * pageToken in the next call to this method. + */ + nextPageToken?: string; + } + /** + * The ListGroupMembers response. + */ + interface Schema$ListGroupMembersResponse { + /** + * A set of monitored resources in the group. + */ + members?: Schema$MonitoredResource[]; + /** + * If there are more results than have been returned, then this field is set + * to a non-empty value. To see the additional results, use that value as + * pageToken in the next call to this method. + */ + nextPageToken?: string; + /** + * The total number of elements matching this request. + */ + totalSize?: number; + } + /** + * The ListGroups response. + */ + interface Schema$ListGroupsResponse { + /** + * The groups that match the specified filters. + */ + group?: Schema$Group[]; + /** + * If there are more results than have been returned, then this field is set + * to a non-empty value. To see the additional results, use that value as + * pageToken in the next call to this method. + */ + nextPageToken?: string; + } + /** + * The ListMetricDescriptors response. + */ + interface Schema$ListMetricDescriptorsResponse { + /** + * The metric descriptors that are available to the project and that match + * the value of filter, if present. + */ + metricDescriptors?: Schema$MetricDescriptor[]; + /** + * If there are more results than have been returned, then this field is set + * to a non-empty value. To see the additional results, use that value as + * pageToken in the next call to this method. + */ + nextPageToken?: string; + } + /** + * The ListMonitoredResourceDescriptors response. + */ + interface Schema$ListMonitoredResourceDescriptorsResponse { + /** + * If there are more results than have been returned, then this field is set + * to a non-empty value. To see the additional results, use that value as + * pageToken in the next call to this method. + */ + nextPageToken?: string; + /** + * The monitored resource descriptors that are available to this project and + * that match filter, if present. + */ + resourceDescriptors?: Schema$MonitoredResourceDescriptor[]; + } + /** + * The ListNotificationChannelDescriptors response. + */ + interface Schema$ListNotificationChannelDescriptorsResponse { + /** + * The monitored resource descriptors supported for the specified project, + * optionally filtered. + */ + channelDescriptors?: Schema$NotificationChannelDescriptor[]; + /** + * If not empty, indicates that there may be more results that match the + * request. Use the value in the page_token field in a subsequent request to + * fetch the next set of results. If empty, all results have been returned. + */ + nextPageToken?: string; + } + /** + * The ListNotificationChannels response. + */ + interface Schema$ListNotificationChannelsResponse { + /** + * If not empty, indicates that there may be more results that match the + * request. Use the value in the page_token field in a subsequent request to + * fetch the next set of results. If empty, all results have been returned. + */ + nextPageToken?: string; + /** + * The notification channels defined for the specified project. + */ + notificationChannels?: Schema$NotificationChannel[]; + } + /** + * The ListTimeSeries response. + */ + interface Schema$ListTimeSeriesResponse { + /** + * Query execution errors that may have caused the time series data returned + * to be incomplete. + */ + executionErrors?: Schema$Status[]; + /** + * If there are more results than have been returned, then this field is set + * to a non-empty value. To see the additional results, use that value as + * pageToken in the next call to this method. + */ + nextPageToken?: string; + /** + * One or more time series that match the filter included in the request. + */ + timeSeries?: Schema$TimeSeries[]; + } + /** + * The protocol for the ListUptimeCheckConfigs response. + */ + interface Schema$ListUptimeCheckConfigsResponse { + /** + * This field represents the pagination token to retrieve the next page of + * results. If the value is empty, it means no further results for the + * request. To retrieve the next page of results, the value of the + * next_page_token is passed to the subsequent List method call (in the + * request message's page_token field). + */ + nextPageToken?: string; + /** + * The total number of uptime check configurations for the project, + * irrespective of any pagination. + */ + totalSize?: number; + /** + * The returned uptime check configurations. + */ + uptimeCheckConfigs?: Schema$UptimeCheckConfig[]; + } + /** + * The protocol for the ListUptimeCheckIps response. + */ + interface Schema$ListUptimeCheckIpsResponse { + /** + * This field represents the pagination token to retrieve the next page of + * results. If the value is empty, it means no further results for the + * request. To retrieve the next page of results, the value of the + * next_page_token is passed to the subsequent List method call (in the + * request message's page_token field). NOTE: this field is not yet + * implemented + */ + nextPageToken?: string; + /** + * The returned list of IP addresses (including region and location) that + * the checkers run from. + */ + uptimeCheckIps?: Schema$UptimeCheckIp[]; + } + /** + * A specific metric, identified by specifying values for all of the labels of + * a MetricDescriptor. + */ + interface Schema$Metric { + /** + * The set of label values that uniquely identify this metric. All labels + * listed in the MetricDescriptor must be assigned values. + */ + labels?: any; + /** + * An existing metric type, see google.api.MetricDescriptor. For example, + * custom.googleapis.com/invoice/paid/amount. + */ + type?: string; + } + /** + * A condition type that checks that monitored resources are reporting data. + * The configuration defines a metric and a set of monitored resources. The + * predicate is considered in violation when a time series for the specified + * metric of a monitored resource does not include any data in the specified + * duration. + */ + interface Schema$MetricAbsence { + /** + * Specifies the alignment of data points in individual time series as well + * as how to combine the retrieved time series together (such as when + * aggregating multiple streams on each resource to a single stream for each + * resource or when aggregating streams across all members of a group of + * resrouces). Multiple aggregations are applied in the order specified.This + * field is similar to the one in the MetricService.ListTimeSeries request. + * It is advisable to use the ListTimeSeries method when debugging this + * field. + */ + aggregations?: Schema$Aggregation[]; + /** + * The amount of time that a time series must fail to report new data to be + * considered failing. Currently, only values that are a multiple of a + * minute--e.g. 60, 120, or 300 seconds--are supported. If an invalid value + * is given, an error will be returned. The Duration.nanos field is ignored. + */ + duration?: string; + /** + * A filter that identifies which time series should be compared with the + * threshold.The filter is similar to the one that is specified in the + * MetricService.ListTimeSeries request (that call is useful to verify the + * time series that will be retrieved / processed) and must specify the + * metric type and optionally may contain restrictions on resource type, + * resource labels, and metric labels. This field may not exceed 2048 + * Unicode characters in length. + */ + filter?: string; + /** + * The number/percent of time series for which the comparison must hold in + * order for the condition to trigger. If unspecified, then the condition + * will trigger if the comparison is true for any of the time series that + * have been identified by filter and aggregations. + */ + trigger?: Schema$Trigger; + } + /** + * Defines a metric type and its schema. Once a metric descriptor is created, + * deleting or altering it stops data collection and makes the metric + * type's existing data unusable. + */ + interface Schema$MetricDescriptor { + /** + * A detailed description of the metric, which can be used in documentation. + */ + description?: string; + /** + * A concise name for the metric, which can be displayed in user interfaces. + * Use sentence case without an ending period, for example "Request + * count". This field is optional but it is recommended to be set for + * any metrics associated with user-visible concepts, such as Quota. + */ + displayName?: string; + /** + * The set of labels that can be used to describe a specific instance of + * this metric type. For example, the + * appengine.googleapis.com/http/server/response_latencies metric type has a + * label for the HTTP response code, response_code, so you can look at + * latencies for successful responses or just for responses that failed. + */ + labels?: Schema$LabelDescriptor[]; + /** + * Optional. Metadata which can be used to guide usage of the metric. + */ + metadata?: Schema$MetricDescriptorMetadata; + /** + * Whether the metric records instantaneous values, changes to a value, etc. + * Some combinations of metric_kind and value_type might not be supported. + */ + metricKind?: string; + /** + * The resource name of the metric descriptor. + */ + name?: string; + /** + * The metric type, including its DNS name prefix. The type is not + * URL-encoded. All user-defined metric types have the DNS name + * custom.googleapis.com or external.googleapis.com. Metric types should use + * a natural hierarchical grouping. For example: + * "custom.googleapis.com/invoice/paid/amount" + * "external.googleapis.com/prometheus/up" + * "appengine.googleapis.com/http/server/response_latencies" + */ + type?: string; + /** + * The unit in which the metric value is reported. It is only applicable if + * the value_type is INT64, DOUBLE, or DISTRIBUTION. The supported units are + * a subset of The Unified Code for Units of Measure + * (http://unitsofmeasure.org/ucum.html) standard:Basic units (UNIT) bit bit + * By byte s second min minute h hour d dayPrefixes (PREFIX) k kilo (10**3) + * M mega (10**6) G giga (10**9) T tera (10**12) P peta (10**15) E exa + * (10**18) Z zetta (10**21) Y yotta (10**24) m milli (10**-3) u micro + * (10**-6) n nano (10**-9) p pico (10**-12) f femto (10**-15) a atto + * (10**-18) z zepto (10**-21) y yocto (10**-24) Ki kibi (2**10) Mi mebi + * (2**20) Gi gibi (2**30) Ti tebi (2**40)GrammarThe grammar also includes + * these connectors: / division (as an infix operator, e.g. 1/s). . + * multiplication (as an infix operator, e.g. GBy.d)The grammar for a unit + * is as follows: Expression = Component { "." Component } { + * "/" Component } ; Component = ( [ PREFIX ] UNIT | + * "%" ) [ Annotation ] | Annotation | + * "1" ; Annotation = "{" NAME "}" + * ; Notes: Annotation is just a comment if it follows a UNIT and is + * equivalent to 1 if it is used alone. For examples, {requests}/s == 1/s, + * By{transmitted}/s == By/s. NAME is a sequence of non-blank printable + * ASCII characters not containing '{' or '}'. 1 represents + * dimensionless value 1, such as in 1/s. % represents dimensionless value + * 1/100, and annotates values giving a percentage. + */ + unit?: string; + /** + * Whether the measurement is an integer, a floating-point number, etc. Some + * combinations of metric_kind and value_type might not be supported. + */ + valueType?: string; + } + /** + * Additional annotations that can be used to guide the usage of a metric. + */ + interface Schema$MetricDescriptorMetadata { + /** + * The delay of data points caused by ingestion. Data points older than this + * age are guaranteed to be ingested and available to be read, excluding + * data loss due to errors. + */ + ingestDelay?: string; + /** + * The launch stage of the metric definition. + */ + launchStage?: string; + /** + * The sampling period of metric data points. For metrics which are written + * periodically, consecutive data points are stored at this time interval, + * excluding data loss due to errors. Metrics with a higher granularity have + * a smaller sampling period. + */ + samplePeriod?: string; + } + /** + * A condition type that compares a collection of time series against a + * threshold. + */ + interface Schema$MetricThreshold { + /** + * Specifies the alignment of data points in individual time series as well + * as how to combine the retrieved time series together (such as when + * aggregating multiple streams on each resource to a single stream for each + * resource or when aggregating streams across all members of a group of + * resrouces). Multiple aggregations are applied in the order specified.This + * field is similar to the one in the MetricService.ListTimeSeries request. + * It is advisable to use the ListTimeSeries method when debugging this + * field. + */ + aggregations?: Schema$Aggregation[]; + /** + * The comparison to apply between the time series (indicated by filter and + * aggregation) and the threshold (indicated by threshold_value). The + * comparison is applied on each time series, with the time series on the + * left-hand side and the threshold on the right-hand side.Only + * COMPARISON_LT and COMPARISON_GT are supported currently. + */ + comparison?: string; + /** + * Specifies the alignment of data points in individual time series selected + * by denominatorFilter as well as how to combine the retrieved time series + * together (such as when aggregating multiple streams on each resource to a + * single stream for each resource or when aggregating streams across all + * members of a group of resources).When computing ratios, the aggregations + * and denominator_aggregations fields must use the same alignment period + * and produce time series that have the same periodicity and labels.This + * field is similar to the one in the MetricService.ListTimeSeries request. + * It is advisable to use the ListTimeSeries method when debugging this + * field. + */ + denominatorAggregations?: Schema$Aggregation[]; + /** + * A filter that identifies a time series that should be used as the + * denominator of a ratio that will be compared with the threshold. If a + * denominator_filter is specified, the time series specified by the filter + * field will be used as the numerator.The filter is similar to the one that + * is specified in the MetricService.ListTimeSeries request (that call is + * useful to verify the time series that will be retrieved / processed) and + * must specify the metric type and optionally may contain restrictions on + * resource type, resource labels, and metric labels. This field may not + * exceed 2048 Unicode characters in length. + */ + denominatorFilter?: string; + /** + * The amount of time that a time series must violate the threshold to be + * considered failing. Currently, only values that are a multiple of a + * minute--e.g., 0, 60, 120, or 300 seconds--are supported. If an invalid + * value is given, an error will be returned. When choosing a duration, it + * is useful to keep in mind the frequency of the underlying time series + * data (which may also be affected by any alignments specified in the + * aggregations field); a good duration is long enough so that a single + * outlier does not generate spurious alerts, but short enough that + * unhealthy states are detected and alerted on quickly. + */ + duration?: string; + /** + * A filter that identifies which time series should be compared with the + * threshold.The filter is similar to the one that is specified in the + * MetricService.ListTimeSeries request (that call is useful to verify the + * time series that will be retrieved / processed) and must specify the + * metric type and optionally may contain restrictions on resource type, + * resource labels, and metric labels. This field may not exceed 2048 + * Unicode characters in length. + */ + filter?: string; + /** + * A value against which to compare the time series. + */ + thresholdValue?: number; + /** + * The number/percent of time series for which the comparison must hold in + * order for the condition to trigger. If unspecified, then the condition + * will trigger if the comparison is true for any of the time series that + * have been identified by filter and aggregations, or by the ratio, if + * denominator_filter and denominator_aggregations are specified. + */ + trigger?: Schema$Trigger; + } + /** + * An object representing a resource that can be used for monitoring, logging, + * billing, or other purposes. Examples include virtual machine instances, + * databases, and storage devices such as disks. The type field identifies a + * MonitoredResourceDescriptor object that describes the resource's + * schema. Information in the labels field identifies the actual resource and + * its attributes according to the schema. For example, a particular Compute + * Engine VM instance could be represented by the following object, because + * the MonitoredResourceDescriptor for "gce_instance" has labels + * "instance_id" and "zone": { "type": + * "gce_instance", "labels": { "instance_id": + * "12345678901234", "zone": + * "us-central1-a" }} + */ + interface Schema$MonitoredResource { + /** + * Required. Values for all of the labels listed in the associated monitored + * resource descriptor. For example, Compute Engine VM instances use the + * labels "project_id", "instance_id", and + * "zone". + */ + labels?: any; + /** + * Required. The monitored resource type. This field must match the type + * field of a MonitoredResourceDescriptor object. For example, the type of a + * Compute Engine VM instance is gce_instance. + */ + type?: string; + } + /** + * An object that describes the schema of a MonitoredResource object using a + * type name and a set of labels. For example, the monitored resource + * descriptor for Google Compute Engine VM instances has a type of + * "gce_instance" and specifies the use of the labels + * "instance_id" and "zone" to identify particular VM + * instances.Different APIs can support different monitored resource types. + * APIs generally provide a list method that returns the monitored resource + * descriptors used by the API. + */ + interface Schema$MonitoredResourceDescriptor { + /** + * Optional. A detailed description of the monitored resource type that + * might be used in documentation. + */ + description?: string; + /** + * Optional. A concise name for the monitored resource type that might be + * displayed in user interfaces. It should be a Title Cased Noun Phrase, + * without any article or other determiners. For example, "Google Cloud + * SQL Database". + */ + displayName?: string; + /** + * Required. A set of labels used to describe instances of this monitored + * resource type. For example, an individual Google Cloud SQL database is + * identified by values for the labels "database_id" and + * "zone". + */ + labels?: Schema$LabelDescriptor[]; + /** + * Optional. The resource name of the monitored resource descriptor: + * "projects/{project_id}/monitoredResourceDescriptors/{type}" + * where {type} is the value of the type field in this object and + * {project_id} is a project ID that provides API-specific context for + * accessing the type. APIs that do not use project information can use the + * resource name format "monitoredResourceDescriptors/{type}". + */ + name?: string; + /** + * Required. The monitored resource type. For example, the type + * "cloudsql_database" represents databases in Google Cloud SQL. + * The maximum length of this value is 256 characters. + */ + type?: string; + } + /** + * Auxiliary metadata for a MonitoredResource object. MonitoredResource + * objects contain the minimum set of information to uniquely identify a + * monitored resource instance. There is some other useful auxiliary metadata. + * Monitoring and Logging use an ingestion pipeline to extract metadata for + * cloud resources of all types, and store the metadata in this message. + */ + interface Schema$MonitoredResourceMetadata { + /** + * Output only. Values for predefined system metadata labels. System labels + * are a kind of metadata extracted by Google, including + * "machine_image", "vpc", "subnet_id", + * "security_group", "name", etc. System label values + * can be only strings, Boolean values, or a list of strings. For example: { + * "name": "my-test-instance", + * "security_group": ["a", "b", + * "c"], "spot_instance": false } + */ + systemLabels?: any; + /** + * Output only. A map of user-defined metadata labels. + */ + userLabels?: any; + } + /** + * Describes a change made to a configuration. + */ + interface Schema$MutationRecord { + /** + * The email address of the user making the change. + */ + mutatedBy?: string; + /** + * When the change occurred. + */ + mutateTime?: string; + } + /** + * A NotificationChannel is a medium through which an alert is delivered when + * a policy violation is detected. Examples of channels include email, SMS, + * and third-party messaging applications. Fields containing sensitive + * information like authentication tokens or contact info are only partially + * populated on retrieval. + */ + interface Schema$NotificationChannel { + /** + * An optional human-readable description of this notification channel. This + * description may provide additional details, beyond the display name, for + * the channel. This may not exceeed 1024 Unicode characters. + */ + description?: string; + /** + * An optional human-readable name for this notification channel. It is + * recommended that you specify a non-empty and unique name in order to make + * it easier to identify the channels in your project, though this is not + * enforced. The display name is limited to 512 Unicode characters. + */ + displayName?: string; + /** + * Whether notifications are forwarded to the described channel. This makes + * it possible to disable delivery of notifications to a particular channel + * without removing the channel from all alerting policies that reference + * the channel. This is a more convenient approach when the change is + * temporary and you want to receive notifications from the same set of + * alerting policies on the channel at some point in the future. + */ + enabled?: boolean; + /** + * Configuration fields that define the channel and its behavior. The + * permissible and required labels are specified in the + * NotificationChannelDescriptor.labels of the NotificationChannelDescriptor + * corresponding to the type field. + */ + labels?: any; + /** + * The full REST resource name for this channel. The syntax is: + * projects/[PROJECT_ID]/notificationChannels/[CHANNEL_ID] The [CHANNEL_ID] + * is automatically assigned by the server on creation. + */ + name?: string; + /** + * The type of the notification channel. This field matches the value of the + * NotificationChannelDescriptor.type field. + */ + type?: string; + /** + * User-supplied key/value data that does not need to conform to the + * corresponding NotificationChannelDescriptor's schema, unlike the + * labels field. This field is intended to be used for organizing and + * identifying the NotificationChannel objects.The field can contain up to + * 64 entries. Each key and value is limited to 63 Unicode characters or 128 + * bytes, whichever is smaller. Labels and values can contain only lowercase + * letters, numerals, underscores, and dashes. Keys must begin with a + * letter. + */ + userLabels?: any; + /** + * Indicates whether this channel has been verified or not. On a + * ListNotificationChannels or GetNotificationChannel operation, this field + * is expected to be populated.If the value is UNVERIFIED, then it indicates + * that the channel is non-functioning (it both requires verification and + * lacks verification); otherwise, it is assumed that the channel works.If + * the channel is neither VERIFIED nor UNVERIFIED, it implies that the + * channel is of a type that does not require verification or that this + * specific channel has been exempted from verification because it was + * created prior to verification being required for channels of this + * type.This field cannot be modified using a standard + * UpdateNotificationChannel operation. To change the value of this field, + * you must call VerifyNotificationChannel. + */ + verificationStatus?: string; + } + /** + * A description of a notification channel. The descriptor includes the + * properties of the channel and the set of labels or fields that must be + * specified to configure channels of a given type. + */ + interface Schema$NotificationChannelDescriptor { + /** + * A human-readable description of the notification channel type. The + * description may include a description of the properties of the channel + * and pointers to external documentation. + */ + description?: string; + /** + * A human-readable name for the notification channel type. This form of the + * name is suitable for a user interface. + */ + displayName?: string; + /** + * The set of labels that must be defined to identify a particular channel + * of the corresponding type. Each label includes a description for how that + * field should be populated. + */ + labels?: Schema$LabelDescriptor[]; + /** + * The full REST resource name for this descriptor. The syntax is: + * projects/[PROJECT_ID]/notificationChannelDescriptors/[TYPE] In the above, + * [TYPE] is the value of the type field. + */ + name?: string; + /** + * The tiers that support this notification channel; the project service + * tier must be one of the supported_tiers. + */ + supportedTiers?: string[]; + /** + * The type of notification channel, such as "email", + * "sms", etc. Notification channel types are globally unique. + */ + type?: string; + } + /** + * A protocol buffer option, which can be attached to a message, field, + * enumeration, etc. + */ + interface Schema$Option { + /** + * The option's name. For protobuf built-in options (options defined in + * descriptor.proto), this is the short name. For example, + * "map_entry". For custom options, it should be the + * fully-qualified name. For example, "google.api.http". + */ + name?: string; + /** + * The option's value packed in an Any message. If the value is a + * primitive, the corresponding wrapper type defined in + * google/protobuf/wrappers.proto should be used. If the value is an enum, + * it should be stored as an int32 value using the + * google.protobuf.Int32Value type. + */ + value?: any; + } + /** + * A single data point in a time series. + */ + interface Schema$Point { + /** + * The time interval to which the data point applies. For GAUGE metrics, + * only the end time of the interval is used. For DELTA metrics, the start + * and end time should specify a non-zero interval, with subsequent points + * specifying contiguous and non-overlapping intervals. For CUMULATIVE + * metrics, the start and end time should specify a non-zero interval, with + * subsequent points specifying the same start time and increasing end + * times, until an event resets the cumulative value to zero and sets a new + * start time for the following points. + */ + interval?: Schema$TimeInterval; + /** + * The value of the data point. + */ + value?: Schema$TypedValue; + } + /** + * The range of the population values. + */ + interface Schema$Range { + /** + * The maximum of the population values. + */ + max?: number; + /** + * The minimum of the population values. + */ + min?: number; + } + /** + * The resource submessage for group checks. It can be used instead of a + * monitored resource, when multiple resources are being monitored. + */ + interface Schema$ResourceGroup { + /** + * The group of resources being monitored. Should be only the group_id, not + * projects/<project_id>/groups/<group_id>. + */ + groupId?: string; + /** + * The resource type of the group members. + */ + resourceType?: string; + } + /** + * The SendNotificationChannelVerificationCode request. + */ + interface Schema$SendNotificationChannelVerificationCodeRequest { + } + /** + * SourceContext represents information about the source of a protobuf + * element, like the file in which it is defined. + */ + interface Schema$SourceContext { + /** + * The path-qualified name of the .proto file that contained the associated + * protobuf element. For example: + * "google/protobuf/source_context.proto". + */ + fileName?: string; + } + /** + * The context of a span, attached to google.api.Distribution.Exemplars in + * google.api.Distribution values during aggregation.It contains the name of a + * span with format: projects/PROJECT_ID/traces/TRACE_ID/spans/SPAN_ID + */ + interface Schema$SpanContext { + /** + * The resource name of the span in the following format: + * projects/[PROJECT_ID]/traces/[TRACE_ID]/spans/[SPAN_ID] TRACE_ID is a + * unique identifier for a trace within a project; it is a 32-character + * hexadecimal encoding of a 16-byte array.SPAN_ID is a unique identifier + * for a span within a trace; it is a 16-character hexadecimal encoding of + * an 8-byte array. + */ + spanName?: string; + } + /** + * 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). The error model is designed to be: + * Simple to use and understand for most users Flexible enough to meet + * unexpected needsOverviewThe Status message contains three pieces of data: + * error code, error message, and error details. The error code should be an + * enum value of google.rpc.Code, but it may accept additional error codes if + * needed. The error message should be a developer-facing English message that + * helps developers understand and resolve the error. If a localized + * user-facing error message is needed, put the localized message in the error + * details or localize it in the client. The optional error details may + * contain arbitrary information about the error. There is a predefined set of + * error detail types in the package google.rpc that can be used for common + * error conditions.Language mappingThe Status message is the logical + * representation of the error model, but it is not necessarily the actual + * wire format. When the Status message is exposed in different client + * libraries and different wire protocols, it can be mapped differently. For + * example, it will likely be mapped to some exceptions in Java, but more + * likely mapped to some error codes in C.Other usesThe error model and the + * Status message can be used in a variety of environments, either with or + * without APIs, to provide a consistent developer experience across different + * environments.Example uses of this error model include: Partial errors. If a + * service needs to return partial errors to the client, it may embed the + * Status in the normal response to indicate the partial errors. Workflow + * errors. A typical workflow has multiple steps. Each step may have a Status + * message for error reporting. Batch operations. If a client uses batch + * request and batch response, the Status message should be used directly + * inside batch response, one for each error sub-response. Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the Status message. Logging. If some API errors are stored in logs, + * the message Status could be used directly after any stripping needed for + * security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set of + * message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + /** + * Information required for a TCP uptime check request. + */ + interface Schema$TcpCheck { + /** + * The port to the page to run the check against. Will be combined with host + * (specified within the MonitoredResource) to construct the full URL. + * Required. + */ + port?: number; + } + /** + * A time interval extending just after a start time through an end time. If + * the start time is the same as the end time, then the interval represents a + * single point in time. + */ + interface Schema$TimeInterval { + /** + * Required. The end of the time interval. + */ + endTime?: string; + /** + * Optional. The beginning of the time interval. The default value for the + * start time is the end time. The start time must not be later than the end + * time. + */ + startTime?: string; + } + /** + * A collection of data points that describes the time-varying values of a + * metric. A time series is identified by a combination of a fully-specified + * monitored resource and a fully-specified metric. This type is used for both + * listing and creating time series. + */ + interface Schema$TimeSeries { + /** + * Output only. The associated monitored resource metadata. When reading a a + * timeseries, this field will include metadata labels that are explicitly + * named in the reduction. When creating a timeseries, this field is + * ignored. + */ + metadata?: Schema$MonitoredResourceMetadata; + /** + * The associated metric. A fully-specified metric used to identify the time + * series. + */ + metric?: Schema$Metric; + /** + * The metric kind of the time series. When listing time series, this metric + * kind might be different from the metric kind of the associated metric if + * this time series is an alignment or reduction of other time series.When + * creating a time series, this field is optional. If present, it must be + * the same as the metric kind of the associated metric. If the associated + * metric's descriptor must be auto-created, then this field specifies + * the metric kind of the new descriptor and must be either GAUGE (the + * default) or CUMULATIVE. + */ + metricKind?: string; + /** + * The data points of this time series. When listing time series, points are + * returned in reverse time order.When creating a time series, this field + * must contain exactly one point and the point's type must be the same + * as the value type of the associated metric. If the associated + * metric's descriptor must be auto-created, then the value type of the + * descriptor is determined by the point's type, which must be BOOL, + * INT64, DOUBLE, or DISTRIBUTION. + */ + points?: Schema$Point[]; + /** + * The associated monitored resource. Custom metrics can use only certain + * monitored resource types in their time series data. + */ + resource?: Schema$MonitoredResource; + /** + * The value type of the time series. When listing time series, this value + * type might be different from the value type of the associated metric if + * this time series is an alignment or reduction of other time series.When + * creating a time series, this field is optional. If present, it must be + * the same as the type of the data in the points field. + */ + valueType?: string; + } + /** + * Specifies how many time series must fail a predicate to trigger a + * condition. If not specified, then a {count: 1} trigger is used. + */ + interface Schema$Trigger { + /** + * The absolute number of time series that must fail the predicate for the + * condition to be triggered. + */ + count?: number; + /** + * The percentage of time series that must fail the predicate for the + * condition to be triggered. + */ + percent?: number; + } + /** + * A protocol buffer message type. + */ + interface Schema$Type { + /** + * The list of fields. + */ + fields?: Schema$Field[]; + /** + * The fully qualified message name. + */ + name?: string; + /** + * The list of types appearing in oneof definitions in this type. + */ + oneofs?: string[]; + /** + * The protocol buffer options. + */ + options?: Schema$Option[]; + /** + * The source context. + */ + sourceContext?: Schema$SourceContext; + /** + * The source syntax. + */ + syntax?: string; + } + /** + * A single strongly-typed value. + */ + interface Schema$TypedValue { + /** + * A Boolean value: true or false. + */ + boolValue?: boolean; + /** + * A distribution value. + */ + distributionValue?: Schema$Distribution; + /** + * A 64-bit double-precision floating-point number. Its magnitude is + * approximately &plusmn;10<sup>&plusmn;300</sup> and it + * has 16 significant digits of precision. + */ + doubleValue?: number; + /** + * A 64-bit integer. Its range is approximately + * &plusmn;9.2x10<sup>18</sup>. + */ + int64Value?: string; + /** + * A variable-length string value. + */ + stringValue?: string; + } + /** + * This message configures which resources and services to monitor for + * availability. + */ + interface Schema$UptimeCheckConfig { + /** + * The expected content on the page the check is run against. Currently, + * only the first entry in the list is supported, and other entries will be + * ignored. The server will look for an exact match of the string in the + * page response's content. This field is optional and should only be + * specified if a content match is required. + */ + contentMatchers?: Schema$ContentMatcher[]; + /** + * A human-friendly name for the uptime check configuration. The display + * name should be unique within a Stackdriver Account in order to make it + * easier to identify; however, uniqueness is not enforced. Required. + */ + displayName?: string; + /** + * Contains information needed to make an HTTP or HTTPS check. + */ + httpCheck?: Schema$HttpCheck; + /** + * The internal checkers that this check will egress from. If is_internal is + * true and this list is empty, the check will egress from all + * InternalCheckers configured for the project that owns this CheckConfig. + */ + internalCheckers?: Schema$InternalChecker[]; + /** + * Denotes whether this is a check that egresses from InternalCheckers. + */ + isInternal?: boolean; + /** + * The monitored resource + * (https://cloud.google.com/monitoring/api/resources) associated with the + * configuration. The following monitored resource types are supported for + * uptime checks: uptime_url gce_instance gae_app aws_ec2_instance + * aws_elb_load_balancer + */ + monitoredResource?: Schema$MonitoredResource; + /** + * A unique resource name for this UptimeCheckConfig. The format + * is:projects/[PROJECT_ID]/uptimeCheckConfigs/[UPTIME_CHECK_ID].This field + * should be omitted when creating the uptime check configuration; on + * create, the resource name is assigned by the server and included in the + * response. + */ + name?: string; + /** + * How often, in seconds, the uptime check is performed. Currently, the only + * supported values are 60s (1 minute), 300s (5 minutes), 600s (10 minutes), + * and 900s (15 minutes). Optional, defaults to 300s. + */ + period?: string; + /** + * The group resource associated with the configuration. + */ + resourceGroup?: Schema$ResourceGroup; + /** + * The list of regions from which the check will be run. If this field is + * specified, enough regions to include a minimum of 3 locations must be + * provided, or an error message is returned. Not specifying this field will + * result in uptime checks running from all regions. + */ + selectedRegions?: string[]; + /** + * Contains information needed to make a TCP check. + */ + tcpCheck?: Schema$TcpCheck; + /** + * The maximum amount of time to wait for the request to complete (must be + * between 1 and 60 seconds). Required. + */ + timeout?: string; + } + /** + * Contains the region, location, and list of IP addresses where checkers in + * the location run from. + */ + interface Schema$UptimeCheckIp { + /** + * The IP address from which the uptime check originates. This is a full IP + * address (not an IP address range). Most IP addresses, as of this + * publication, are in IPv4 format; however, one should not rely on the IP + * addresses being in IPv4 format indefinitely and should support + * interpreting this field in either IPv4 or IPv6 format. + */ + ipAddress?: string; + /** + * A more specific location within the region that typically encodes a + * particular city/town/metro (and its containing state/province or country) + * within the broader umbrella region category. + */ + location?: string; + /** + * A broad region category in which the IP address is located. + */ + region?: string; + } + /** + * The VerifyNotificationChannel request. + */ + interface Schema$VerifyNotificationChannelRequest { + /** + * The verification code that was delivered to the channel as a result of + * invoking the SendNotificationChannelVerificationCode API method or that + * was retrieved from a verified channel via + * GetNotificationChannelVerificationCode. For example, one might have + * "G-123456" or "TKNZGhhd2EyN3I1MnRnMjRv" (in general, + * one is only guaranteed that the code is valid UTF-8; one should not make + * any assumptions regarding the structure or format of the code). + */ + code?: string; + } + class Resource$Projects { + root: Monitoring; + alertPolicies: Resource$Projects$Alertpolicies; + collectdTimeSeries: Resource$Projects$Collectdtimeseries; + groups: Resource$Projects$Groups; + metricDescriptors: Resource$Projects$Metricdescriptors; + monitoredResourceDescriptors: Resource$Projects$Monitoredresourcedescriptors; + notificationChannelDescriptors: Resource$Projects$Notificationchanneldescriptors; + notificationChannels: Resource$Projects$Notificationchannels; + timeSeries: Resource$Projects$Timeseries; + uptimeCheckConfigs: Resource$Projects$Uptimecheckconfigs; + constructor(root: Monitoring); + getRoot(): Monitoring; + } + class Resource$Projects$Alertpolicies { + root: Monitoring; + constructor(root: Monitoring); + getRoot(): Monitoring; + /** + * monitoring.projects.alertPolicies.create + * @desc Creates a new alerting policy. + * @alias monitoring.projects.alertPolicies.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The project in which to create the alerting policy. The format is projects/[PROJECT_ID].Note that this field names the parent container in which the alerting policy will be written, not the name of the created policy. The alerting policy that is returned will have a name that contains a normalized representation of this name as a prefix but adds a suffix of the form /alertPolicies/[POLICY_ID], identifying the policy in the container. + * @param {().AlertPolicy} 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 + */ + create(params?: Params$Resource$Projects$Alertpolicies$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Alertpolicies$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Alertpolicies$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * monitoring.projects.alertPolicies.delete + * @desc Deletes an alerting policy. + * @alias monitoring.projects.alertPolicies.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The alerting policy to delete. The format is: projects/[PROJECT_ID]/alertPolicies/[ALERT_POLICY_ID] For more information, see AlertPolicy. + * @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?: Params$Resource$Projects$Alertpolicies$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Alertpolicies$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Alertpolicies$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * monitoring.projects.alertPolicies.get + * @desc Gets a single alerting policy. + * @alias monitoring.projects.alertPolicies.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The alerting policy to retrieve. The format is projects/[PROJECT_ID]/alertPolicies/[ALERT_POLICY_ID] + * @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?: Params$Resource$Projects$Alertpolicies$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Alertpolicies$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Alertpolicies$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * monitoring.projects.alertPolicies.list + * @desc Lists the existing alerting policies for the project. + * @alias monitoring.projects.alertPolicies.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter If provided, this field specifies the criteria that must be met by alert policies to be included in the response.For more details, see sorting and filtering. + * @param {string} params.name The project whose alert policies are to be listed. The format is projects/[PROJECT_ID] Note that this field names the parent container in which the alerting policies to be listed are stored. To retrieve a single alerting policy by name, use the GetAlertPolicy operation, instead. + * @param {string=} params.orderBy A comma-separated list of fields by which to sort the result. Supports the same set of field references as the filter field. Entries can be prefixed with a minus sign to sort by the field in descending order.For more details, see sorting and filtering. + * @param {integer=} params.pageSize The maximum number of results to return in a single response. + * @param {string=} params.pageToken If this field is not empty then it must contain the nextPageToken value returned by a previous call to this method. Using this field causes the method to return more results from the previous method call. + * @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?: Params$Resource$Projects$Alertpolicies$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Alertpolicies$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Alertpolicies$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * monitoring.projects.alertPolicies.patch + * @desc Updates an alerting policy. You can either replace the entire + * policy with a new one or replace only certain fields in the current + * alerting policy by specifying the fields to be updated via updateMask. + * Returns the updated alerting policy. + * @alias monitoring.projects.alertPolicies.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required if the policy exists. The resource name for this policy. The syntax is: projects/[PROJECT_ID]/alertPolicies/[ALERT_POLICY_ID] [ALERT_POLICY_ID] is assigned by Stackdriver Monitoring when the policy is created. When calling the alertPolicies.create method, do not include the name field in the alerting policy passed as part of the request. + * @param {string=} params.updateMask Optional. A list of alerting policy field names. If this field is not empty, each listed field in the existing alerting policy is set to the value of the corresponding field in the supplied policy (alert_policy), or to the field's default value if the field is not in the supplied alerting policy. Fields not listed retain their previous value.Examples of valid field masks include display_name, documentation, documentation.content, documentation.mime_type, user_labels, user_label.nameofkey, enabled, conditions, combiner, etc.If this field is empty, then the supplied alerting policy replaces the existing policy. It is the same as deleting the existing policy and adding the supplied policy, except for the following: The new policy will have the same [ALERT_POLICY_ID] as the former policy. This gives you continuity with the former policy in your notifications and incidents. Conditions in the new policy will keep their former [CONDITION_ID] if the supplied condition includes the name field with that [CONDITION_ID]. If the supplied condition omits the name field, then a new [CONDITION_ID] is created. + * @param {().AlertPolicy} 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 + */ + patch(params?: Params$Resource$Projects$Alertpolicies$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Alertpolicies$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Alertpolicies$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Alertpolicies$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The project in which to create the alerting policy. The format is + * projects/[PROJECT_ID].Note that this field names the parent container in + * which the alerting policy will be written, not the name of the created + * policy. The alerting policy that is returned will have a name that + * contains a normalized representation of this name as a prefix but adds a + * suffix of the form /alertPolicies/[POLICY_ID], identifying the policy in + * the container. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AlertPolicy; + } + interface Params$Resource$Projects$Alertpolicies$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The alerting policy to delete. The format is: + * projects/[PROJECT_ID]/alertPolicies/[ALERT_POLICY_ID] For more + * information, see AlertPolicy. + */ + name?: string; + } + interface Params$Resource$Projects$Alertpolicies$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The alerting policy to retrieve. The format is + * projects/[PROJECT_ID]/alertPolicies/[ALERT_POLICY_ID] + */ + name?: string; + } + interface Params$Resource$Projects$Alertpolicies$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * If provided, this field specifies the criteria that must be met by alert + * policies to be included in the response.For more details, see sorting and + * filtering. + */ + filter?: string; + /** + * The project whose alert policies are to be listed. The format is + * projects/[PROJECT_ID] Note that this field names the parent container in + * which the alerting policies to be listed are stored. To retrieve a single + * alerting policy by name, use the GetAlertPolicy operation, instead. + */ + name?: string; + /** + * A comma-separated list of fields by which to sort the result. Supports + * the same set of field references as the filter field. Entries can be + * prefixed with a minus sign to sort by the field in descending order.For + * more details, see sorting and filtering. + */ + orderBy?: string; + /** + * The maximum number of results to return in a single response. + */ + pageSize?: number; + /** + * If this field is not empty then it must contain the nextPageToken value + * returned by a previous call to this method. Using this field causes the + * method to return more results from the previous method call. + */ + pageToken?: string; + } + interface Params$Resource$Projects$Alertpolicies$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required if the policy exists. The resource name for this policy. The + * syntax is: projects/[PROJECT_ID]/alertPolicies/[ALERT_POLICY_ID] + * [ALERT_POLICY_ID] is assigned by Stackdriver Monitoring when the policy + * is created. When calling the alertPolicies.create method, do not include + * the name field in the alerting policy passed as part of the request. + */ + name?: string; + /** + * Optional. A list of alerting policy field names. If this field is not + * empty, each listed field in the existing alerting policy is set to the + * value of the corresponding field in the supplied policy (alert_policy), + * or to the field's default value if the field is not in the supplied + * alerting policy. Fields not listed retain their previous value.Examples + * of valid field masks include display_name, documentation, + * documentation.content, documentation.mime_type, user_labels, + * user_label.nameofkey, enabled, conditions, combiner, etc.If this field is + * empty, then the supplied alerting policy replaces the existing policy. It + * is the same as deleting the existing policy and adding the supplied + * policy, except for the following: The new policy will have the same + * [ALERT_POLICY_ID] as the former policy. This gives you continuity with + * the former policy in your notifications and incidents. Conditions in the + * new policy will keep their former [CONDITION_ID] if the supplied + * condition includes the name field with that [CONDITION_ID]. If the + * supplied condition omits the name field, then a new [CONDITION_ID] is + * created. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AlertPolicy; + } + class Resource$Projects$Collectdtimeseries { + root: Monitoring; + constructor(root: Monitoring); + getRoot(): Monitoring; + /** + * monitoring.projects.collectdTimeSeries.create + * @desc Stackdriver Monitoring Agent only: Creates a new time series.

+ * @example + * * // PRE-REQUISITES: + * // --------------- + * // 1. If not already done, enable the Google Monitoring API and check the + * quota for your project at + * // + * https://console.developers.google.com/apis/api/monitoring_component/quotas + * // 2. This sample uses Application Default Credentials for Auth. If not + * already done, install the gcloud CLI from + * // https://cloud.google.com/sdk/ and run 'gcloud beta auth + * application-default login' + * // 3. To install the client library and Application Default Credentials + * library, run: + * // 'npm install googleapis --save' + * var google = require('googleapis'); + * var monitoring = google.monitoring('v3'); + * + * google.auth.getApplicationDefault(function(err, authClient) { + * if (err) { + * console.log('Authentication failed because of ', err); + * return; + * } + * if (authClient.createScopedRequired && + * authClient.createScopedRequired()) { var scopes = + * ['https://www.googleapis.com/auth/cloud-platform']; authClient = + * authClient.createScoped(scopes); + * } + * + * var request = { + * // TODO: Change placeholders below to appropriate parameter values + * for the 'create' method: + * + * // The project in which to create the time series. The format is + * `"projects/PROJECT_ID_OR_NUMBER"`. name: "projects/{MY-PROJECT}", + * resource: {}, + * // Auth client + * auth: authClient + * }; + * + * monitoring.projects.collectdTimeSeries.create(request, function(err, + * result) { if (err) { console.log(err); } else { console.log(result); + * } + * }); + * }); + * @alias monitoring.projects.collectdTimeSeries.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The project in which to create the time series. The format is "projects/PROJECT_ID_OR_NUMBER". + * @param {().CreateCollectdTimeSeriesRequest} 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 + */ + create(params?: Params$Resource$Projects$Collectdtimeseries$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Collectdtimeseries$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Collectdtimeseries$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Collectdtimeseries$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The project in which to create the time series. The format is + * "projects/PROJECT_ID_OR_NUMBER". + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreateCollectdTimeSeriesRequest; + } + class Resource$Projects$Groups { + root: Monitoring; + members: Resource$Projects$Groups$Members; + constructor(root: Monitoring); + getRoot(): Monitoring; + /** + * monitoring.projects.groups.create + * @desc Creates a new group. + * @example + * * // PRE-REQUISITES: + * // --------------- + * // 1. If not already done, enable the Google Monitoring API and check the + * quota for your project at + * // + * https://console.developers.google.com/apis/api/monitoring_component/quotas + * // 2. This sample uses Application Default Credentials for Auth. If not + * already done, install the gcloud CLI from + * // https://cloud.google.com/sdk/ and run 'gcloud beta auth + * application-default login' + * // 3. To install the client library and Application Default Credentials + * library, run: + * // 'npm install googleapis --save' + * var google = require('googleapis'); + * var monitoring = google.monitoring('v3'); + * + * google.auth.getApplicationDefault(function(err, authClient) { + * if (err) { + * console.log('Authentication failed because of ', err); + * return; + * } + * if (authClient.createScopedRequired && + * authClient.createScopedRequired()) { var scopes = + * ['https://www.googleapis.com/auth/cloud-platform']; authClient = + * authClient.createScoped(scopes); + * } + * + * var request = { + * // TODO: Change placeholders below to appropriate parameter values + * for the 'create' method: + * + * // The project in which to create the group. The format is + * `"projects/{project_id_or_number}"`. name: "projects/{MY-PROJECT}", + * resource: {}, + * // Auth client + * auth: authClient + * }; + * + * monitoring.projects.groups.create(request, function(err, result) { + * if (err) { + * console.log(err); + * } else { + * console.log(result); + * } + * }); + * }); + * @alias monitoring.projects.groups.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The project in which to create the group. The format is "projects/{project_id_or_number}". + * @param {boolean=} params.validateOnly If true, validate this request but do not create the group. + * @param {().Group} 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 + */ + create(params?: Params$Resource$Projects$Groups$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Groups$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Groups$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * monitoring.projects.groups.delete + * @desc Deletes an existing group. + * @example + * * // PRE-REQUISITES: + * // --------------- + * // 1. If not already done, enable the Google Monitoring API and check the + * quota for your project at + * // + * https://console.developers.google.com/apis/api/monitoring_component/quotas + * // 2. This sample uses Application Default Credentials for Auth. If not + * already done, install the gcloud CLI from + * // https://cloud.google.com/sdk/ and run 'gcloud beta auth + * application-default login' + * // 3. To install the client library and Application Default Credentials + * library, run: + * // 'npm install googleapis --save' + * var google = require('googleapis'); + * var monitoring = google.monitoring('v3'); + * + * google.auth.getApplicationDefault(function(err, authClient) { + * if (err) { + * console.log('Authentication failed because of ', err); + * return; + * } + * if (authClient.createScopedRequired && + * authClient.createScopedRequired()) { var scopes = + * ['https://www.googleapis.com/auth/cloud-platform']; authClient = + * authClient.createScoped(scopes); + * } + * + * var request = { + * // TODO: Change placeholders below to appropriate parameter values + * for the 'delete' method: + * + * // The group to delete. The format is + * `"projects/{project_id_or_number}/groups/{group_id}"`. name: + * "projects/{MY-PROJECT}/groups/{MY-GROUP}", + * // Auth client + * auth: authClient + * }; + * + * monitoring.projects.groups.delete(request, function(err, result) { + * if (err) { + * console.log(err); + * } else { + * console.log(result); + * } + * }); + * }); + * @alias monitoring.projects.groups.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The group to delete. The format is "projects/{project_id_or_number}/groups/{group_id}". + * @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?: Params$Resource$Projects$Groups$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Groups$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Groups$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * monitoring.projects.groups.get + * @desc Gets a single group. + * @example + * * // PRE-REQUISITES: + * // --------------- + * // 1. If not already done, enable the Google Monitoring API and check the + * quota for your project at + * // + * https://console.developers.google.com/apis/api/monitoring_component/quotas + * // 2. This sample uses Application Default Credentials for Auth. If not + * already done, install the gcloud CLI from + * // https://cloud.google.com/sdk/ and run 'gcloud beta auth + * application-default login' + * // 3. To install the client library and Application Default Credentials + * library, run: + * // 'npm install googleapis --save' + * var google = require('googleapis'); + * var monitoring = google.monitoring('v3'); + * + * google.auth.getApplicationDefault(function(err, authClient) { + * if (err) { + * console.log('Authentication failed because of ', err); + * return; + * } + * if (authClient.createScopedRequired && + * authClient.createScopedRequired()) { var scopes = + * ['https://www.googleapis.com/auth/cloud-platform']; authClient = + * authClient.createScoped(scopes); + * } + * + * var request = { + * // TODO: Change placeholders below to appropriate parameter values + * for the 'get' method: + * + * // The group to retrieve. The format is + * `"projects/{project_id_or_number}/groups/{group_id}"`. name: + * "projects/{MY-PROJECT}/groups/{MY-GROUP}", + * // Auth client + * auth: authClient + * }; + * + * monitoring.projects.groups.get(request, function(err, result) { + * if (err) { + * console.log(err); + * } else { + * console.log(result); + * } + * }); + * }); + * @alias monitoring.projects.groups.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The group to retrieve. The format is "projects/{project_id_or_number}/groups/{group_id}". + * @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?: Params$Resource$Projects$Groups$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Groups$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Groups$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * monitoring.projects.groups.list + * @desc Lists the existing groups. + * @example + * * // PRE-REQUISITES: + * // --------------- + * // 1. If not already done, enable the Google Monitoring API and check the + * quota for your project at + * // + * https://console.developers.google.com/apis/api/monitoring_component/quotas + * // 2. This sample uses Application Default Credentials for Auth. If not + * already done, install the gcloud CLI from + * // https://cloud.google.com/sdk/ and run 'gcloud beta auth + * application-default login' + * // 3. To install the client library and Application Default Credentials + * library, run: + * // 'npm install googleapis --save' + * var google = require('googleapis'); + * var monitoring = google.monitoring('v3'); + * + * google.auth.getApplicationDefault(function(err, authClient) { + * if (err) { + * console.log('Authentication failed because of ', err); + * return; + * } + * if (authClient.createScopedRequired && + * authClient.createScopedRequired()) { var scopes = + * ['https://www.googleapis.com/auth/cloud-platform']; authClient = + * authClient.createScoped(scopes); + * } + * + * var request = { + * // TODO: Change placeholders below to appropriate parameter values + * for the 'list' method: + * + * // The project whose groups are to be listed. The format is + * `"projects/{project_id_or_number}"`. name: "projects/{MY-PROJECT}", + * // Auth client + * auth: authClient + * }; + * + * + * var recur = function(err, result) { + * if (err) { + * console.log(err); + * } else { + * console.log(result); + * if (result.nextPageToken) { + * request.pageToken = result.nextPageToken; + * monitoring.projects.groups.list(request, recur); + * } + * } + * }; + * + * monitoring.projects.groups.list(request, recur); + * }); + * @alias monitoring.projects.groups.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.ancestorsOfGroup A group name: "projects/{project_id_or_number}/groups/{group_id}". Returns groups that are ancestors of the specified group. The groups are returned in order, starting with the immediate parent and ending with the most distant ancestor. If the specified group has no immediate parent, the results are empty. + * @param {string=} params.childrenOfGroup A group name: "projects/{project_id_or_number}/groups/{group_id}". Returns groups whose parentName field contains the group name. If no groups have this parent, the results are empty. + * @param {string=} params.descendantsOfGroup A group name: "projects/{project_id_or_number}/groups/{group_id}". Returns the descendants of the specified group. This is a superset of the results returned by the childrenOfGroup filter, and includes children-of-children, and so forth. + * @param {string} params.name The project whose groups are to be listed. The format is "projects/{project_id_or_number}". + * @param {integer=} params.pageSize A positive number that is the maximum number of results to return. + * @param {string=} params.pageToken If this field is not empty then it must contain the nextPageToken value returned by a previous call to this method. Using this field causes the method to return additional results from the previous method call. + * @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?: Params$Resource$Projects$Groups$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Groups$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Groups$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * monitoring.projects.groups.update + * @desc Updates an existing group. You can change any group attributes + * except name. + * @example + * * // PRE-REQUISITES: + * // --------------- + * // 1. If not already done, enable the Google Monitoring API and check the + * quota for your project at + * // + * https://console.developers.google.com/apis/api/monitoring_component/quotas + * // 2. This sample uses Application Default Credentials for Auth. If not + * already done, install the gcloud CLI from + * // https://cloud.google.com/sdk/ and run 'gcloud beta auth + * application-default login' + * // 3. To install the client library and Application Default Credentials + * library, run: + * // 'npm install googleapis --save' + * var google = require('googleapis'); + * var monitoring = google.monitoring('v3'); + * + * google.auth.getApplicationDefault(function(err, authClient) { + * if (err) { + * console.log('Authentication failed because of ', err); + * return; + * } + * if (authClient.createScopedRequired && + * authClient.createScopedRequired()) { var scopes = + * ['https://www.googleapis.com/auth/cloud-platform']; authClient = + * authClient.createScoped(scopes); + * } + * + * var request = { + * // TODO: Change placeholders below to appropriate parameter values + * for the 'update' method: + * + * // The name of this group. The format is + * `"projects/{project_id_or_number}/groups/{group_id}"`. When + * // creating a group, this field is ignored and a new name is created + * consisting of the project + * // specified in the call to `CreateGroup` and a unique `{group_id}` + * that is generated automatically. + * // @OutputOnly + * name: "projects/{MY-PROJECT}/groups/{MY-GROUP}", + * resource: {}, + * // Auth client + * auth: authClient + * }; + * + * monitoring.projects.groups.update(request, function(err, result) { + * if (err) { + * console.log(err); + * } else { + * console.log(result); + * } + * }); + * }); + * @alias monitoring.projects.groups.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Output only. The name of this group. The format is "projects/{project_id_or_number}/groups/{group_id}". When creating a group, this field is ignored and a new name is created consisting of the project specified in the call to CreateGroup and a unique {group_id} that is generated automatically. + * @param {boolean=} params.validateOnly If true, validate this request but do not update the existing group. + * @param {().Group} 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?: Params$Resource$Projects$Groups$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Projects$Groups$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Projects$Groups$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Groups$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The project in which to create the group. The format is + * "projects/{project_id_or_number}". + */ + name?: string; + /** + * If true, validate this request but do not create the group. + */ + validateOnly?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$Group; + } + interface Params$Resource$Projects$Groups$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The group to delete. The format is + * "projects/{project_id_or_number}/groups/{group_id}". + */ + name?: string; + } + interface Params$Resource$Projects$Groups$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The group to retrieve. The format is + * "projects/{project_id_or_number}/groups/{group_id}". + */ + name?: string; + } + interface Params$Resource$Projects$Groups$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A group name: "projects/{project_id_or_number}/groups/{group_id}". + * Returns groups that are ancestors of the specified group. The groups are + * returned in order, starting with the immediate parent and ending with the + * most distant ancestor. If the specified group has no immediate parent, + * the results are empty. + */ + ancestorsOfGroup?: string; + /** + * A group name: "projects/{project_id_or_number}/groups/{group_id}". + * Returns groups whose parentName field contains the group name. If no + * groups have this parent, the results are empty. + */ + childrenOfGroup?: string; + /** + * A group name: "projects/{project_id_or_number}/groups/{group_id}". + * Returns the descendants of the specified group. This is a superset of the + * results returned by the childrenOfGroup filter, and includes + * children-of-children, and so forth. + */ + descendantsOfGroup?: string; + /** + * The project whose groups are to be listed. The format is + * "projects/{project_id_or_number}". + */ + name?: string; + /** + * A positive number that is the maximum number of results to return. + */ + pageSize?: number; + /** + * If this field is not empty then it must contain the nextPageToken value + * returned by a previous call to this method. Using this field causes the + * method to return additional results from the previous method call. + */ + pageToken?: string; + } + interface Params$Resource$Projects$Groups$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Output only. The name of this group. The format is + * "projects/{project_id_or_number}/groups/{group_id}". When creating a + * group, this field is ignored and a new name is created consisting of the + * project specified in the call to CreateGroup and a unique {group_id} that + * is generated automatically. + */ + name?: string; + /** + * If true, validate this request but do not update the existing group. + */ + validateOnly?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$Group; + } + class Resource$Projects$Groups$Members { + root: Monitoring; + constructor(root: Monitoring); + getRoot(): Monitoring; + /** + * monitoring.projects.groups.members.list + * @desc Lists the monitored resources that are members of a group. + * @example + * * // PRE-REQUISITES: + * // --------------- + * // 1. If not already done, enable the Google Monitoring API and check the + * quota for your project at + * // + * https://console.developers.google.com/apis/api/monitoring_component/quotas + * // 2. This sample uses Application Default Credentials for Auth. If not + * already done, install the gcloud CLI from + * // https://cloud.google.com/sdk/ and run 'gcloud beta auth + * application-default login' + * // 3. To install the client library and Application Default Credentials + * library, run: + * // 'npm install googleapis --save' + * var google = require('googleapis'); + * var monitoring = google.monitoring('v3'); + * + * google.auth.getApplicationDefault(function(err, authClient) { + * if (err) { + * console.log('Authentication failed because of ', err); + * return; + * } + * if (authClient.createScopedRequired && + * authClient.createScopedRequired()) { var scopes = + * ['https://www.googleapis.com/auth/cloud-platform']; authClient = + * authClient.createScoped(scopes); + * } + * + * var request = { + * // TODO: Change placeholders below to appropriate parameter values + * for the 'list' method: + * + * // The group whose members are listed. The format is + * // `"projects/{project_id_or_number}/groups/{group_id}"`. + * name: "projects/{MY-PROJECT}/groups/{MY-GROUP}", + * // Auth client + * auth: authClient + * }; + * + * + * var recur = function(err, result) { + * if (err) { + * console.log(err); + * } else { + * console.log(result); + * if (result.nextPageToken) { + * request.pageToken = result.nextPageToken; + * monitoring.projects.groups.members.list(request, recur); + * } + * } + * }; + * + * monitoring.projects.groups.members.list(request, recur); + * }); + * @alias monitoring.projects.groups.members.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter An optional list filter describing the members to be returned. The filter may reference the type, labels, and metadata of monitored resources that comprise the group. For example, to return only resources representing Compute Engine VM instances, use this filter: resource.type = "gce_instance" + * @param {string=} params.interval.endTime Required. The end of the time interval. + * @param {string=} params.interval.startTime Optional. The beginning of the time interval. The default value for the start time is the end time. The start time must not be later than the end time. + * @param {string} params.name The group whose members are listed. The format is "projects/{project_id_or_number}/groups/{group_id}". + * @param {integer=} params.pageSize A positive number that is the maximum number of results to return. + * @param {string=} params.pageToken If this field is not empty then it must contain the nextPageToken value returned by a previous call to this method. Using this field causes the method to return additional results from the previous method call. + * @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?: Params$Resource$Projects$Groups$Members$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Groups$Members$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Groups$Members$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Groups$Members$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * An optional list filter describing the members to be returned. The filter + * may reference the type, labels, and metadata of monitored resources that + * comprise the group. For example, to return only resources representing + * Compute Engine VM instances, use this filter: resource.type = + * "gce_instance" + */ + filter?: string; + /** + * Required. The end of the time interval. + */ + 'interval.endTime'?: string; + /** + * Optional. The beginning of the time interval. The default value for the + * start time is the end time. The start time must not be later than the end + * time. + */ + 'interval.startTime'?: string; + /** + * The group whose members are listed. The format is + * "projects/{project_id_or_number}/groups/{group_id}". + */ + name?: string; + /** + * A positive number that is the maximum number of results to return. + */ + pageSize?: number; + /** + * If this field is not empty then it must contain the nextPageToken value + * returned by a previous call to this method. Using this field causes the + * method to return additional results from the previous method call. + */ + pageToken?: string; + } + class Resource$Projects$Metricdescriptors { + root: Monitoring; + constructor(root: Monitoring); + getRoot(): Monitoring; + /** + * monitoring.projects.metricDescriptors.create + * @desc Creates a new metric descriptor. User-created metric descriptors + * define custom metrics. + * @example + * * // PRE-REQUISITES: + * // --------------- + * // 1. If not already done, enable the Google Monitoring API and check the + * quota for your project at + * // + * https://console.developers.google.com/apis/api/monitoring_component/quotas + * // 2. This sample uses Application Default Credentials for Auth. If not + * already done, install the gcloud CLI from + * // https://cloud.google.com/sdk/ and run 'gcloud beta auth + * application-default login' + * // 3. To install the client library and Application Default Credentials + * library, run: + * // 'npm install googleapis --save' + * var google = require('googleapis'); + * var monitoring = google.monitoring('v3'); + * + * google.auth.getApplicationDefault(function(err, authClient) { + * if (err) { + * console.log('Authentication failed because of ', err); + * return; + * } + * if (authClient.createScopedRequired && + * authClient.createScopedRequired()) { var scopes = + * ['https://www.googleapis.com/auth/cloud-platform']; authClient = + * authClient.createScoped(scopes); + * } + * + * var request = { + * // TODO: Change placeholders below to appropriate parameter values + * for the 'create' method: + * + * // The project on which to execute the request. The format is + * `"projects/{project_id_or_number}"`. name: "projects/{MY-PROJECT}", + * resource: {}, + * // Auth client + * auth: authClient + * }; + * + * monitoring.projects.metricDescriptors.create(request, function(err, + * result) { if (err) { console.log(err); } else { console.log(result); + * } + * }); + * }); + * @alias monitoring.projects.metricDescriptors.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The project on which to execute the request. The format is "projects/{project_id_or_number}". + * @param {().MetricDescriptor} 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 + */ + create(params?: Params$Resource$Projects$Metricdescriptors$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Metricdescriptors$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Metricdescriptors$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * monitoring.projects.metricDescriptors.delete + * @desc Deletes a metric descriptor. Only user-created custom metrics can + * be deleted. + * @example + * * // PRE-REQUISITES: + * // --------------- + * // 1. If not already done, enable the Google Monitoring API and check the + * quota for your project at + * // + * https://console.developers.google.com/apis/api/monitoring_component/quotas + * // 2. This sample uses Application Default Credentials for Auth. If not + * already done, install the gcloud CLI from + * // https://cloud.google.com/sdk/ and run 'gcloud beta auth + * application-default login' + * // 3. To install the client library and Application Default Credentials + * library, run: + * // 'npm install googleapis --save' + * var google = require('googleapis'); + * var monitoring = google.monitoring('v3'); + * + * google.auth.getApplicationDefault(function(err, authClient) { + * if (err) { + * console.log('Authentication failed because of ', err); + * return; + * } + * if (authClient.createScopedRequired && + * authClient.createScopedRequired()) { var scopes = + * ['https://www.googleapis.com/auth/cloud-platform']; authClient = + * authClient.createScoped(scopes); + * } + * + * var request = { + * // TODO: Change placeholders below to appropriate parameter values + * for the 'delete' method: + * + * // The metric descriptor on which to execute the request. The format + * is + * // `"projects/{project_id_or_number}/metricDescriptors/{metric_id}"`. + * An example of `{metric_id}` is: + * // `"custom.googleapis.com/my_test_metric"`. + * name: "", + * // Auth client + * auth: authClient + * }; + * + * monitoring.projects.metricDescriptors.delete(request, function(err, + * result) { if (err) { console.log(err); } else { console.log(result); + * } + * }); + * }); + * @alias monitoring.projects.metricDescriptors.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The metric descriptor on which to execute the request. The format is "projects/{project_id_or_number}/metricDescriptors/{metric_id}". An example of {metric_id} is: "custom.googleapis.com/my_test_metric". + * @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?: Params$Resource$Projects$Metricdescriptors$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Metricdescriptors$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Metricdescriptors$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * monitoring.projects.metricDescriptors.get + * @desc Gets a single metric descriptor. This method does not require a + * Stackdriver account. + * @example + * * // PRE-REQUISITES: + * // --------------- + * // 1. If not already done, enable the Google Monitoring API and check the + * quota for your project at + * // + * https://console.developers.google.com/apis/api/monitoring_component/quotas + * // 2. This sample uses Application Default Credentials for Auth. If not + * already done, install the gcloud CLI from + * // https://cloud.google.com/sdk/ and run 'gcloud beta auth + * application-default login' + * // 3. To install the client library and Application Default Credentials + * library, run: + * // 'npm install googleapis --save' + * var google = require('googleapis'); + * var monitoring = google.monitoring('v3'); + * + * google.auth.getApplicationDefault(function(err, authClient) { + * if (err) { + * console.log('Authentication failed because of ', err); + * return; + * } + * if (authClient.createScopedRequired && + * authClient.createScopedRequired()) { var scopes = + * ['https://www.googleapis.com/auth/cloud-platform']; authClient = + * authClient.createScoped(scopes); + * } + * + * var request = { + * // TODO: Change placeholders below to appropriate parameter values + * for the 'get' method: + * + * // The metric descriptor on which to execute the request. The format + * is + * // `"projects/{project_id_or_number}/metricDescriptors/{metric_id}"`. + * An example value of `{metric_id}` + * // is `"compute.googleapis.com/instance/disk/read_bytes_count"`. + * name: "", + * // Auth client + * auth: authClient + * }; + * + * monitoring.projects.metricDescriptors.get(request, function(err, + * result) { if (err) { console.log(err); } else { console.log(result); + * } + * }); + * }); + * @alias monitoring.projects.metricDescriptors.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The metric descriptor on which to execute the request. The format is "projects/{project_id_or_number}/metricDescriptors/{metric_id}". An example value of {metric_id} is "compute.googleapis.com/instance/disk/read_bytes_count". + * @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?: Params$Resource$Projects$Metricdescriptors$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Metricdescriptors$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Metricdescriptors$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * monitoring.projects.metricDescriptors.list + * @desc Lists metric descriptors that match a filter. This method does not + * require a Stackdriver account. + * @example + * * // PRE-REQUISITES: + * // --------------- + * // 1. If not already done, enable the Google Monitoring API and check the + * quota for your project at + * // + * https://console.developers.google.com/apis/api/monitoring_component/quotas + * // 2. This sample uses Application Default Credentials for Auth. If not + * already done, install the gcloud CLI from + * // https://cloud.google.com/sdk/ and run 'gcloud beta auth + * application-default login' + * // 3. To install the client library and Application Default Credentials + * library, run: + * // 'npm install googleapis --save' + * var google = require('googleapis'); + * var monitoring = google.monitoring('v3'); + * + * google.auth.getApplicationDefault(function(err, authClient) { + * if (err) { + * console.log('Authentication failed because of ', err); + * return; + * } + * if (authClient.createScopedRequired && + * authClient.createScopedRequired()) { var scopes = + * ['https://www.googleapis.com/auth/cloud-platform']; authClient = + * authClient.createScoped(scopes); + * } + * + * var request = { + * // TODO: Change placeholders below to appropriate parameter values + * for the 'list' method: + * + * // The project on which to execute the request. The format is + * `"projects/{project_id_or_number}"`. name: "projects/{MY-PROJECT}", + * // Auth client + * auth: authClient + * }; + * + * + * var recur = function(err, result) { + * if (err) { + * console.log(err); + * } else { + * console.log(result); + * if (result.nextPageToken) { + * request.pageToken = result.nextPageToken; + * monitoring.projects.metricDescriptors.list(request, recur); + * } + * } + * }; + * + * monitoring.projects.metricDescriptors.list(request, recur); + * }); + * @alias monitoring.projects.metricDescriptors.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter If this field is empty, all custom and system-defined metric descriptors are returned. Otherwise, the filter specifies which metric descriptors are to be returned. For example, the following filter matches all custom metrics: metric.type = starts_with("custom.googleapis.com/") + * @param {string} params.name The project on which to execute the request. The format is "projects/{project_id_or_number}". + * @param {integer=} params.pageSize A positive number that is the maximum number of results to return. + * @param {string=} params.pageToken If this field is not empty then it must contain the nextPageToken value returned by a previous call to this method. Using this field causes the method to return additional results from the previous method call. + * @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?: Params$Resource$Projects$Metricdescriptors$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Metricdescriptors$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Metricdescriptors$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Metricdescriptors$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The project on which to execute the request. The format is + * "projects/{project_id_or_number}". + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$MetricDescriptor; + } + interface Params$Resource$Projects$Metricdescriptors$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The metric descriptor on which to execute the request. The format is + * "projects/{project_id_or_number}/metricDescriptors/{metric_id}". An + * example of {metric_id} is: "custom.googleapis.com/my_test_metric". + */ + name?: string; + } + interface Params$Resource$Projects$Metricdescriptors$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The metric descriptor on which to execute the request. The format is + * "projects/{project_id_or_number}/metricDescriptors/{metric_id}". An + * example value of {metric_id} is + * "compute.googleapis.com/instance/disk/read_bytes_count". + */ + name?: string; + } + interface Params$Resource$Projects$Metricdescriptors$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * If this field is empty, all custom and system-defined metric descriptors + * are returned. Otherwise, the filter specifies which metric descriptors + * are to be returned. For example, the following filter matches all custom + * metrics: metric.type = starts_with("custom.googleapis.com/") + */ + filter?: string; + /** + * The project on which to execute the request. The format is + * "projects/{project_id_or_number}". + */ + name?: string; + /** + * A positive number that is the maximum number of results to return. + */ + pageSize?: number; + /** + * If this field is not empty then it must contain the nextPageToken value + * returned by a previous call to this method. Using this field causes the + * method to return additional results from the previous method call. + */ + pageToken?: string; + } + class Resource$Projects$Monitoredresourcedescriptors { + root: Monitoring; + constructor(root: Monitoring); + getRoot(): Monitoring; + /** + * monitoring.projects.monitoredResourceDescriptors.get + * @desc Gets a single monitored resource descriptor. This method does not + * require a Stackdriver account. + * @example + * * // PRE-REQUISITES: + * // --------------- + * // 1. If not already done, enable the Google Monitoring API and check the + * quota for your project at + * // + * https://console.developers.google.com/apis/api/monitoring_component/quotas + * // 2. This sample uses Application Default Credentials for Auth. If not + * already done, install the gcloud CLI from + * // https://cloud.google.com/sdk/ and run 'gcloud beta auth + * application-default login' + * // 3. To install the client library and Application Default Credentials + * library, run: + * // 'npm install googleapis --save' + * var google = require('googleapis'); + * var monitoring = google.monitoring('v3'); + * + * google.auth.getApplicationDefault(function(err, authClient) { + * if (err) { + * console.log('Authentication failed because of ', err); + * return; + * } + * if (authClient.createScopedRequired && + * authClient.createScopedRequired()) { var scopes = + * ['https://www.googleapis.com/auth/cloud-platform']; authClient = + * authClient.createScoped(scopes); + * } + * + * var request = { + * // TODO: Change placeholders below to appropriate parameter values + * for the 'get' method: + * + * // The monitored resource descriptor to get. The format is + * // + * `"projects/{project_id_or_number}/monitoredResourceDescriptors/{resource_type}"`. + * The + * // `{resource_type}` is a predefined type, such as + * `cloudsql_database`. name: + * "projects/{MY-PROJECT}/monitoredResourceDescriptors/{MY-MONITOREDRESOURCEDESCRIPTOR}", + * // Auth client + * auth: authClient + * }; + * + * monitoring.projects.monitoredResourceDescriptors.get(request, + * function(err, result) { if (err) { console.log(err); } else { + * console.log(result); + * } + * }); + * }); + * @alias monitoring.projects.monitoredResourceDescriptors.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The monitored resource descriptor to get. The format is "projects/{project_id_or_number}/monitoredResourceDescriptors/{resource_type}". The {resource_type} is a predefined type, such as cloudsql_database. + * @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?: Params$Resource$Projects$Monitoredresourcedescriptors$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Monitoredresourcedescriptors$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Monitoredresourcedescriptors$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * monitoring.projects.monitoredResourceDescriptors.list + * @desc Lists monitored resource descriptors that match a filter. This + * method does not require a Stackdriver account. + * @example + * * // PRE-REQUISITES: + * // --------------- + * // 1. If not already done, enable the Google Monitoring API and check the + * quota for your project at + * // + * https://console.developers.google.com/apis/api/monitoring_component/quotas + * // 2. This sample uses Application Default Credentials for Auth. If not + * already done, install the gcloud CLI from + * // https://cloud.google.com/sdk/ and run 'gcloud beta auth + * application-default login' + * // 3. To install the client library and Application Default Credentials + * library, run: + * // 'npm install googleapis --save' + * var google = require('googleapis'); + * var monitoring = google.monitoring('v3'); + * + * google.auth.getApplicationDefault(function(err, authClient) { + * if (err) { + * console.log('Authentication failed because of ', err); + * return; + * } + * if (authClient.createScopedRequired && + * authClient.createScopedRequired()) { var scopes = + * ['https://www.googleapis.com/auth/cloud-platform']; authClient = + * authClient.createScoped(scopes); + * } + * + * var request = { + * // TODO: Change placeholders below to appropriate parameter values + * for the 'list' method: + * + * // The project on which to execute the request. The format is + * `"projects/{project_id_or_number}"`. name: "projects/{MY-PROJECT}", + * // Auth client + * auth: authClient + * }; + * + * + * var recur = function(err, result) { + * if (err) { + * console.log(err); + * } else { + * console.log(result); + * if (result.nextPageToken) { + * request.pageToken = result.nextPageToken; + * monitoring.projects.monitoredResourceDescriptors.list(request, + * recur); + * } + * } + * }; + * + * monitoring.projects.monitoredResourceDescriptors.list(request, recur); + * }); + * @alias monitoring.projects.monitoredResourceDescriptors.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter An optional filter describing the descriptors to be returned. The filter can reference the descriptor's type and labels. For example, the following filter returns only Google Compute Engine descriptors that have an id label: resource.type = starts_with("gce_") AND resource.label:id + * @param {string} params.name The project on which to execute the request. The format is "projects/{project_id_or_number}". + * @param {integer=} params.pageSize A positive number that is the maximum number of results to return. + * @param {string=} params.pageToken If this field is not empty then it must contain the nextPageToken value returned by a previous call to this method. Using this field causes the method to return additional results from the previous method call. + * @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?: Params$Resource$Projects$Monitoredresourcedescriptors$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Monitoredresourcedescriptors$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Monitoredresourcedescriptors$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Monitoredresourcedescriptors$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The monitored resource descriptor to get. The format is + * "projects/{project_id_or_number}/monitoredResourceDescriptors/{resource_type}". + * The {resource_type} is a predefined type, such as cloudsql_database. + */ + name?: string; + } + interface Params$Resource$Projects$Monitoredresourcedescriptors$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * An optional filter describing the descriptors to be returned. The filter + * can reference the descriptor's type and labels. For example, the + * following filter returns only Google Compute Engine descriptors that have + * an id label: resource.type = starts_with("gce_") AND resource.label:id + */ + filter?: string; + /** + * The project on which to execute the request. The format is + * "projects/{project_id_or_number}". + */ + name?: string; + /** + * A positive number that is the maximum number of results to return. + */ + pageSize?: number; + /** + * If this field is not empty then it must contain the nextPageToken value + * returned by a previous call to this method. Using this field causes the + * method to return additional results from the previous method call. + */ + pageToken?: string; + } + class Resource$Projects$Notificationchanneldescriptors { + root: Monitoring; + constructor(root: Monitoring); + getRoot(): Monitoring; + /** + * monitoring.projects.notificationChannelDescriptors.get + * @desc Gets a single channel descriptor. The descriptor indicates which + * fields are expected / permitted for a notification channel of the given + * type. + * @alias monitoring.projects.notificationChannelDescriptors.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The channel type for which to execute the request. The format is projects/[PROJECT_ID]/notificationChannelDescriptors/{channel_type}. + * @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?: Params$Resource$Projects$Notificationchanneldescriptors$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Notificationchanneldescriptors$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Notificationchanneldescriptors$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * monitoring.projects.notificationChannelDescriptors.list + * @desc Lists the descriptors for supported channel types. The use of + * descriptors makes it possible for new channel types to be dynamically + * added. + * @alias monitoring.projects.notificationChannelDescriptors.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The REST resource name of the parent from which to retrieve the notification channel descriptors. The expected syntax is: projects/[PROJECT_ID] Note that this names the parent container in which to look for the descriptors; to retrieve a single descriptor by name, use the GetNotificationChannelDescriptor operation, instead. + * @param {integer=} params.pageSize The maximum number of results to return in a single response. If not set to a positive number, a reasonable value will be chosen by the service. + * @param {string=} params.pageToken If non-empty, page_token must contain a value returned as the next_page_token in a previous response to request the next set of results. + * @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?: Params$Resource$Projects$Notificationchanneldescriptors$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Notificationchanneldescriptors$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Notificationchanneldescriptors$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Notificationchanneldescriptors$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The channel type for which to execute the request. The format is + * projects/[PROJECT_ID]/notificationChannelDescriptors/{channel_type}. + */ + name?: string; + } + interface Params$Resource$Projects$Notificationchanneldescriptors$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The REST resource name of the parent from which to retrieve the + * notification channel descriptors. The expected syntax is: + * projects/[PROJECT_ID] Note that this names the parent container in which + * to look for the descriptors; to retrieve a single descriptor by name, use + * the GetNotificationChannelDescriptor operation, instead. + */ + name?: string; + /** + * The maximum number of results to return in a single response. If not set + * to a positive number, a reasonable value will be chosen by the service. + */ + pageSize?: number; + /** + * If non-empty, page_token must contain a value returned as the + * next_page_token in a previous response to request the next set of + * results. + */ + pageToken?: string; + } + class Resource$Projects$Notificationchannels { + root: Monitoring; + constructor(root: Monitoring); + getRoot(): Monitoring; + /** + * monitoring.projects.notificationChannels.create + * @desc Creates a new notification channel, representing a single + * notification endpoint such as an email address, SMS number, or PagerDuty + * service. + * @alias monitoring.projects.notificationChannels.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The project on which to execute the request. The format is: projects/[PROJECT_ID] Note that this names the container into which the channel will be written. This does not name the newly created channel. The resulting channel's name will have a normalized version of this field as a prefix, but will add /notificationChannels/[CHANNEL_ID] to identify the channel. + * @param {().NotificationChannel} 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 + */ + create(params?: Params$Resource$Projects$Notificationchannels$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Notificationchannels$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Notificationchannels$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * monitoring.projects.notificationChannels.delete + * @desc Deletes a notification channel. + * @alias monitoring.projects.notificationChannels.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.force If true, the notification channel will be deleted regardless of its use in alert policies (the policies will be updated to remove the channel). If false, channels that are still referenced by an existing alerting policy will fail to be deleted in a delete operation. + * @param {string} params.name The channel for which to execute the request. The format is projects/[PROJECT_ID]/notificationChannels/[CHANNEL_ID]. + * @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?: Params$Resource$Projects$Notificationchannels$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Notificationchannels$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Notificationchannels$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * monitoring.projects.notificationChannels.get + * @desc Gets a single notification channel. The channel includes the + * relevant configuration details with which the channel was created. + * However, the response may truncate or omit passwords, API keys, or other + * private key matter and thus the response may not be 100% identical to the + * information that was supplied in the call to the create method. + * @alias monitoring.projects.notificationChannels.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The channel for which to execute the request. The format is projects/[PROJECT_ID]/notificationChannels/[CHANNEL_ID]. + * @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?: Params$Resource$Projects$Notificationchannels$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Notificationchannels$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Notificationchannels$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * monitoring.projects.notificationChannels.getVerificationCode + * @desc Requests a verification code for an already verified channel that + * can then be used in a call to VerifyNotificationChannel() on a different + * channel with an equivalent identity in the same or in a different + * project. This makes it possible to copy a channel between projects + * without requiring manual reverification of the channel. If the channel is + * not in the verified state, this method will fail (in other words, this + * may only be used if the SendNotificationChannelVerificationCode and + * VerifyNotificationChannel paths have already been used to put the given + * channel into the verified state).There is no guarantee that the + * verification codes returned by this method will be of a similar structure + * or form as the ones that are delivered to the channel via + * SendNotificationChannelVerificationCode; while + * VerifyNotificationChannel() will recognize both the codes delivered via + * SendNotificationChannelVerificationCode() and returned from + * GetNotificationChannelVerificationCode(), it is typically the case that + * the verification codes delivered via + * SendNotificationChannelVerificationCode() will be shorter and also have a + * shorter expiration (e.g. codes such as "G-123456") whereas + * GetVerificationCode() will typically return a much longer, websafe base + * 64 encoded string that has a longer expiration time. + * @alias monitoring.projects.notificationChannels.getVerificationCode + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The notification channel for which a verification code is to be generated and retrieved. This must name a channel that is already verified; if the specified channel is not verified, the request will fail. + * @param {().GetNotificationChannelVerificationCodeRequest} 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 + */ + getVerificationCode(params?: Params$Resource$Projects$Notificationchannels$Getverificationcode, options?: MethodOptions): AxiosPromise; + getVerificationCode(params: Params$Resource$Projects$Notificationchannels$Getverificationcode, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getVerificationCode(params: Params$Resource$Projects$Notificationchannels$Getverificationcode, callback: BodyResponseCallback): void; + getVerificationCode(callback: BodyResponseCallback): void; + /** + * monitoring.projects.notificationChannels.list + * @desc Lists the notification channels that have been created for the + * project. + * @alias monitoring.projects.notificationChannels.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter If provided, this field specifies the criteria that must be met by notification channels to be included in the response.For more details, see sorting and filtering. + * @param {string} params.name The project on which to execute the request. The format is projects/[PROJECT_ID]. That is, this names the container in which to look for the notification channels; it does not name a specific channel. To query a specific channel by REST resource name, use the GetNotificationChannel operation. + * @param {string=} params.orderBy A comma-separated list of fields by which to sort the result. Supports the same set of fields as in filter. Entries can be prefixed with a minus sign to sort in descending rather than ascending order.For more details, see sorting and filtering. + * @param {integer=} params.pageSize The maximum number of results to return in a single response. If not set to a positive number, a reasonable value will be chosen by the service. + * @param {string=} params.pageToken If non-empty, page_token must contain a value returned as the next_page_token in a previous response to request the next set of results. + * @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?: Params$Resource$Projects$Notificationchannels$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Notificationchannels$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Notificationchannels$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * monitoring.projects.notificationChannels.patch + * @desc Updates a notification channel. Fields not specified in the field + * mask remain unchanged. + * @alias monitoring.projects.notificationChannels.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The full REST resource name for this channel. The syntax is: projects/[PROJECT_ID]/notificationChannels/[CHANNEL_ID] The [CHANNEL_ID] is automatically assigned by the server on creation. + * @param {string=} params.updateMask The fields to update. + * @param {().NotificationChannel} 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 + */ + patch(params?: Params$Resource$Projects$Notificationchannels$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Notificationchannels$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Notificationchannels$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * monitoring.projects.notificationChannels.sendVerificationCode + * @desc Causes a verification code to be delivered to the channel. The code + * can then be supplied in VerifyNotificationChannel to verify the channel. + * @alias monitoring.projects.notificationChannels.sendVerificationCode + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The notification channel to which to send a verification code. + * @param {().SendNotificationChannelVerificationCodeRequest} 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 + */ + sendVerificationCode(params?: Params$Resource$Projects$Notificationchannels$Sendverificationcode, options?: MethodOptions): AxiosPromise; + sendVerificationCode(params: Params$Resource$Projects$Notificationchannels$Sendverificationcode, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + sendVerificationCode(params: Params$Resource$Projects$Notificationchannels$Sendverificationcode, callback: BodyResponseCallback): void; + sendVerificationCode(callback: BodyResponseCallback): void; + /** + * monitoring.projects.notificationChannels.verify + * @desc Verifies a NotificationChannel by proving receipt of the code + * delivered to the channel as a result of calling + * SendNotificationChannelVerificationCode. + * @alias monitoring.projects.notificationChannels.verify + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The notification channel to verify. + * @param {().VerifyNotificationChannelRequest} 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 + */ + verify(params?: Params$Resource$Projects$Notificationchannels$Verify, options?: MethodOptions): AxiosPromise; + verify(params: Params$Resource$Projects$Notificationchannels$Verify, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + verify(params: Params$Resource$Projects$Notificationchannels$Verify, callback: BodyResponseCallback): void; + verify(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Notificationchannels$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The project on which to execute the request. The format is: + * projects/[PROJECT_ID] Note that this names the container into which the + * channel will be written. This does not name the newly created channel. + * The resulting channel's name will have a normalized version of this field + * as a prefix, but will add /notificationChannels/[CHANNEL_ID] to identify + * the channel. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$NotificationChannel; + } + interface Params$Resource$Projects$Notificationchannels$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * If true, the notification channel will be deleted regardless of its use + * in alert policies (the policies will be updated to remove the channel). + * If false, channels that are still referenced by an existing alerting + * policy will fail to be deleted in a delete operation. + */ + force?: boolean; + /** + * The channel for which to execute the request. The format is + * projects/[PROJECT_ID]/notificationChannels/[CHANNEL_ID]. + */ + name?: string; + } + interface Params$Resource$Projects$Notificationchannels$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The channel for which to execute the request. The format is + * projects/[PROJECT_ID]/notificationChannels/[CHANNEL_ID]. + */ + name?: string; + } + interface Params$Resource$Projects$Notificationchannels$Getverificationcode { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The notification channel for which a verification code is to be generated + * and retrieved. This must name a channel that is already verified; if the + * specified channel is not verified, the request will fail. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GetNotificationChannelVerificationCodeRequest; + } + interface Params$Resource$Projects$Notificationchannels$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * If provided, this field specifies the criteria that must be met by + * notification channels to be included in the response.For more details, + * see sorting and filtering. + */ + filter?: string; + /** + * The project on which to execute the request. The format is + * projects/[PROJECT_ID]. That is, this names the container in which to look + * for the notification channels; it does not name a specific channel. To + * query a specific channel by REST resource name, use the + * GetNotificationChannel operation. + */ + name?: string; + /** + * A comma-separated list of fields by which to sort the result. Supports + * the same set of fields as in filter. Entries can be prefixed with a minus + * sign to sort in descending rather than ascending order.For more details, + * see sorting and filtering. + */ + orderBy?: string; + /** + * The maximum number of results to return in a single response. If not set + * to a positive number, a reasonable value will be chosen by the service. + */ + pageSize?: number; + /** + * If non-empty, page_token must contain a value returned as the + * next_page_token in a previous response to request the next set of + * results. + */ + pageToken?: string; + } + interface Params$Resource$Projects$Notificationchannels$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The full REST resource name for this channel. The syntax is: + * projects/[PROJECT_ID]/notificationChannels/[CHANNEL_ID] The [CHANNEL_ID] + * is automatically assigned by the server on creation. + */ + name?: string; + /** + * The fields to update. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$NotificationChannel; + } + interface Params$Resource$Projects$Notificationchannels$Sendverificationcode { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The notification channel to which to send a verification code. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SendNotificationChannelVerificationCodeRequest; + } + interface Params$Resource$Projects$Notificationchannels$Verify { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The notification channel to verify. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$VerifyNotificationChannelRequest; + } + class Resource$Projects$Timeseries { + root: Monitoring; + constructor(root: Monitoring); + getRoot(): Monitoring; + /** + * monitoring.projects.timeSeries.create + * @desc Creates or adds data to one or more time series. The response is + * empty if all time series in the request were written. If any time series + * could not be written, a corresponding failure message is included in the + * error response. + * @example + * * // PRE-REQUISITES: + * // --------------- + * // 1. If not already done, enable the Google Monitoring API and check the + * quota for your project at + * // + * https://console.developers.google.com/apis/api/monitoring_component/quotas + * // 2. This sample uses Application Default Credentials for Auth. If not + * already done, install the gcloud CLI from + * // https://cloud.google.com/sdk/ and run 'gcloud beta auth + * application-default login' + * // 3. To install the client library and Application Default Credentials + * library, run: + * // 'npm install googleapis --save' + * var google = require('googleapis'); + * var monitoring = google.monitoring('v3'); + * + * google.auth.getApplicationDefault(function(err, authClient) { + * if (err) { + * console.log('Authentication failed because of ', err); + * return; + * } + * if (authClient.createScopedRequired && + * authClient.createScopedRequired()) { var scopes = + * ['https://www.googleapis.com/auth/cloud-platform']; authClient = + * authClient.createScoped(scopes); + * } + * + * var request = { + * // TODO: Change placeholders below to appropriate parameter values + * for the 'create' method: + * + * // The project on which to execute the request. The format is + * `"projects/{project_id_or_number}"`. name: "projects/{MY-PROJECT}", + * resource: {}, + * // Auth client + * auth: authClient + * }; + * + * monitoring.projects.timeSeries.create(request, function(err, result) { + * if (err) { + * console.log(err); + * } else { + * console.log(result); + * } + * }); + * }); + * @alias monitoring.projects.timeSeries.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The project on which to execute the request. The format is "projects/{project_id_or_number}". + * @param {().CreateTimeSeriesRequest} 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 + */ + create(params?: Params$Resource$Projects$Timeseries$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Timeseries$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Timeseries$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * monitoring.projects.timeSeries.list + * @desc Lists time series that match a filter. This method does not require + * a Stackdriver account. + * @example + * * // PRE-REQUISITES: + * // --------------- + * // 1. If not already done, enable the Google Monitoring API and check the + * quota for your project at + * // + * https://console.developers.google.com/apis/api/monitoring_component/quotas + * // 2. This sample uses Application Default Credentials for Auth. If not + * already done, install the gcloud CLI from + * // https://cloud.google.com/sdk/ and run 'gcloud beta auth + * application-default login' + * // 3. To install the client library and Application Default Credentials + * library, run: + * // 'npm install googleapis --save' + * var google = require('googleapis'); + * var monitoring = google.monitoring('v3'); + * + * google.auth.getApplicationDefault(function(err, authClient) { + * if (err) { + * console.log('Authentication failed because of ', err); + * return; + * } + * if (authClient.createScopedRequired && + * authClient.createScopedRequired()) { var scopes = + * ['https://www.googleapis.com/auth/cloud-platform']; authClient = + * authClient.createScoped(scopes); + * } + * + * var request = { + * // TODO: Change placeholders below to appropriate parameter values + * for the 'list' method: + * + * // The project on which to execute the request. The format is + * "projects/{project_id_or_number}". name: "projects/{MY-PROJECT}", + * // Auth client + * auth: authClient + * }; + * + * + * var recur = function(err, result) { + * if (err) { + * console.log(err); + * } else { + * console.log(result); + * if (result.nextPageToken) { + * request.pageToken = result.nextPageToken; + * monitoring.projects.timeSeries.list(request, recur); + * } + * } + * }; + * + * monitoring.projects.timeSeries.list(request, recur); + * }); + * @alias monitoring.projects.timeSeries.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.aggregation.alignmentPeriod The alignment period for per-time series alignment. If present, alignmentPeriod must be at least 60 seconds. After per-time series alignment, each time series will contain data points only on the period boundaries. If perSeriesAligner is not specified or equals ALIGN_NONE, then this field is ignored. If perSeriesAligner is specified and does not equal ALIGN_NONE, then this field must be defined; otherwise an error is returned. + * @param {string=} params.aggregation.crossSeriesReducer The approach to be used to combine time series. Not all reducer functions may be applied to all time series, depending on the metric type and the value type of the original time series. Reduction may change the metric type of value type of the time series.Time series data must be aligned in order to perform cross-time series reduction. If crossSeriesReducer is specified, then perSeriesAligner must be specified and not equal ALIGN_NONE and alignmentPeriod must be specified; otherwise, an error is returned. + * @param {string=} params.aggregation.groupByFields The set of fields to preserve when crossSeriesReducer is specified. The groupByFields determine how the time series are partitioned into subsets prior to applying the aggregation function. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The crossSeriesReducer is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains resource.type. Fields not specified in groupByFields are aggregated away. If groupByFields is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If crossSeriesReducer is not defined, this field is ignored. + * @param {string=} params.aggregation.perSeriesAligner The approach to be used to align individual time series. Not all alignment functions may be applied to all time series, depending on the metric type and value type of the original time series. Alignment may change the metric type or the value type of the time series.Time series data must be aligned in order to perform cross-time series reduction. If crossSeriesReducer is specified, then perSeriesAligner must be specified and not equal ALIGN_NONE and alignmentPeriod must be specified; otherwise, an error is returned. + * @param {string=} params.filter A monitoring filter that specifies which time series should be returned. The filter must specify a single metric type, and can additionally specify metric labels and other information. For example: metric.type = "compute.googleapis.com/instance/cpu/usage_time" AND metric.label.instance_name = "my-instance-name" + * @param {string=} params.interval.endTime Required. The end of the time interval. + * @param {string=} params.interval.startTime Optional. The beginning of the time interval. The default value for the start time is the end time. The start time must not be later than the end time. + * @param {string} params.name The project on which to execute the request. The format is "projects/{project_id_or_number}". + * @param {string=} params.orderBy Unsupported: must be left blank. The points in each time series are returned in reverse time order. + * @param {integer=} params.pageSize A positive number that is the maximum number of results to return. If page_size is empty or more than 100,000 results, the effective page_size is 100,000 results. If view is set to FULL, this is the maximum number of Points returned. If view is set to HEADERS, this is the maximum number of TimeSeries returned. + * @param {string=} params.pageToken If this field is not empty then it must contain the nextPageToken value returned by a previous call to this method. Using this field causes the method to return additional results from the previous method call. + * @param {string=} params.view Specifies which information is returned about the time series. + * @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?: Params$Resource$Projects$Timeseries$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Timeseries$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Timeseries$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Timeseries$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The project on which to execute the request. The format is + * "projects/{project_id_or_number}". + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreateTimeSeriesRequest; + } + interface Params$Resource$Projects$Timeseries$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The alignment period for per-time series alignment. If present, + * alignmentPeriod must be at least 60 seconds. After per-time series + * alignment, each time series will contain data points only on the period + * boundaries. If perSeriesAligner is not specified or equals ALIGN_NONE, + * then this field is ignored. If perSeriesAligner is specified and does not + * equal ALIGN_NONE, then this field must be defined; otherwise an error is + * returned. + */ + 'aggregation.alignmentPeriod'?: string; + /** + * The approach to be used to combine time series. Not all reducer functions + * may be applied to all time series, depending on the metric type and the + * value type of the original time series. Reduction may change the metric + * type of value type of the time series.Time series data must be aligned in + * order to perform cross-time series reduction. If crossSeriesReducer is + * specified, then perSeriesAligner must be specified and not equal + * ALIGN_NONE and alignmentPeriod must be specified; otherwise, an error is + * returned. + */ + 'aggregation.crossSeriesReducer'?: string; + /** + * The set of fields to preserve when crossSeriesReducer is specified. The + * groupByFields determine how the time series are partitioned into subsets + * prior to applying the aggregation function. Each subset contains time + * series that have the same value for each of the grouping fields. Each + * individual time series is a member of exactly one subset. The + * crossSeriesReducer is applied to each subset of time series. It is not + * possible to reduce across different resource types, so this field + * implicitly contains resource.type. Fields not specified in groupByFields + * are aggregated away. If groupByFields is not specified and all the time + * series have the same resource type, then the time series are aggregated + * into a single output time series. If crossSeriesReducer is not defined, + * this field is ignored. + */ + 'aggregation.groupByFields'?: string; + /** + * The approach to be used to align individual time series. Not all + * alignment functions may be applied to all time series, depending on the + * metric type and value type of the original time series. Alignment may + * change the metric type or the value type of the time series.Time series + * data must be aligned in order to perform cross-time series reduction. If + * crossSeriesReducer is specified, then perSeriesAligner must be specified + * and not equal ALIGN_NONE and alignmentPeriod must be specified; + * otherwise, an error is returned. + */ + 'aggregation.perSeriesAligner'?: string; + /** + * A monitoring filter that specifies which time series should be returned. + * The filter must specify a single metric type, and can additionally + * specify metric labels and other information. For example: metric.type = + * "compute.googleapis.com/instance/cpu/usage_time" AND + * metric.label.instance_name = "my-instance-name" + */ + filter?: string; + /** + * Required. The end of the time interval. + */ + 'interval.endTime'?: string; + /** + * Optional. The beginning of the time interval. The default value for the + * start time is the end time. The start time must not be later than the end + * time. + */ + 'interval.startTime'?: string; + /** + * The project on which to execute the request. The format is + * "projects/{project_id_or_number}". + */ + name?: string; + /** + * Unsupported: must be left blank. The points in each time series are + * returned in reverse time order. + */ + orderBy?: string; + /** + * A positive number that is the maximum number of results to return. If + * page_size is empty or more than 100,000 results, the effective page_size + * is 100,000 results. If view is set to FULL, this is the maximum number of + * Points returned. If view is set to HEADERS, this is the maximum number of + * TimeSeries returned. + */ + pageSize?: number; + /** + * If this field is not empty then it must contain the nextPageToken value + * returned by a previous call to this method. Using this field causes the + * method to return additional results from the previous method call. + */ + pageToken?: string; + /** + * Specifies which information is returned about the time series. + */ + view?: string; + } + class Resource$Projects$Uptimecheckconfigs { + root: Monitoring; + constructor(root: Monitoring); + getRoot(): Monitoring; + /** + * monitoring.projects.uptimeCheckConfigs.create + * @desc Creates a new uptime check configuration. + * @alias monitoring.projects.uptimeCheckConfigs.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent The project in which to create the uptime check. The format is projects/[PROJECT_ID]. + * @param {().UptimeCheckConfig} 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 + */ + create(params?: Params$Resource$Projects$Uptimecheckconfigs$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Uptimecheckconfigs$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Uptimecheckconfigs$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * monitoring.projects.uptimeCheckConfigs.delete + * @desc Deletes an uptime check configuration. Note that this method will + * fail if the uptime check configuration is referenced by an alert policy + * or other dependent configs that would be rendered invalid by the + * deletion. + * @alias monitoring.projects.uptimeCheckConfigs.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The uptime check configuration to delete. The format is projects/[PROJECT_ID]/uptimeCheckConfigs/[UPTIME_CHECK_ID]. + * @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?: Params$Resource$Projects$Uptimecheckconfigs$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Uptimecheckconfigs$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Uptimecheckconfigs$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * monitoring.projects.uptimeCheckConfigs.get + * @desc Gets a single uptime check configuration. + * @alias monitoring.projects.uptimeCheckConfigs.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The uptime check configuration to retrieve. The format is projects/[PROJECT_ID]/uptimeCheckConfigs/[UPTIME_CHECK_ID]. + * @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?: Params$Resource$Projects$Uptimecheckconfigs$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Uptimecheckconfigs$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Uptimecheckconfigs$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * monitoring.projects.uptimeCheckConfigs.list + * @desc Lists the existing valid uptime check configurations for the + * project, leaving out any invalid configurations. + * @alias monitoring.projects.uptimeCheckConfigs.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize The maximum number of results to return in a single response. The server may further constrain the maximum number of results returned in a single page. If the page_size is <=0, the server will decide the number of results to be returned. + * @param {string=} params.pageToken If this field is not empty then it must contain the nextPageToken value returned by a previous call to this method. Using this field causes the method to return more results from the previous method call. + * @param {string} params.parent The project whose uptime check configurations are listed. The format is projects/[PROJECT_ID]. + * @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?: Params$Resource$Projects$Uptimecheckconfigs$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Uptimecheckconfigs$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Uptimecheckconfigs$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * monitoring.projects.uptimeCheckConfigs.patch + * @desc Updates an uptime check configuration. You can either replace the + * entire configuration with a new one or replace only certain fields in the + * current configuration by specifying the fields to be updated via + * "updateMask". Returns the updated configuration. + * @alias monitoring.projects.uptimeCheckConfigs.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name A unique resource name for this UptimeCheckConfig. The format is:projects/[PROJECT_ID]/uptimeCheckConfigs/[UPTIME_CHECK_ID].This field should be omitted when creating the uptime check configuration; on create, the resource name is assigned by the server and included in the response. + * @param {string=} params.updateMask Optional. If present, only the listed fields in the current uptime check configuration are updated with values from the new configuration. If this field is empty, then the current configuration is completely replaced with the new configuration. + * @param {().UptimeCheckConfig} 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 + */ + patch(params?: Params$Resource$Projects$Uptimecheckconfigs$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Uptimecheckconfigs$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Uptimecheckconfigs$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Uptimecheckconfigs$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The project in which to create the uptime check. The format is + * projects/[PROJECT_ID]. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UptimeCheckConfig; + } + interface Params$Resource$Projects$Uptimecheckconfigs$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The uptime check configuration to delete. The format is + * projects/[PROJECT_ID]/uptimeCheckConfigs/[UPTIME_CHECK_ID]. + */ + name?: string; + } + interface Params$Resource$Projects$Uptimecheckconfigs$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The uptime check configuration to retrieve. The format is + * projects/[PROJECT_ID]/uptimeCheckConfigs/[UPTIME_CHECK_ID]. + */ + name?: string; + } + interface Params$Resource$Projects$Uptimecheckconfigs$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The maximum number of results to return in a single response. The server + * may further constrain the maximum number of results returned in a single + * page. If the page_size is <=0, the server will decide the number of + * results to be returned. + */ + pageSize?: number; + /** + * If this field is not empty then it must contain the nextPageToken value + * returned by a previous call to this method. Using this field causes the + * method to return more results from the previous method call. + */ + pageToken?: string; + /** + * The project whose uptime check configurations are listed. The format is + * projects/[PROJECT_ID]. + */ + parent?: string; + } + interface Params$Resource$Projects$Uptimecheckconfigs$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A unique resource name for this UptimeCheckConfig. The format + * is:projects/[PROJECT_ID]/uptimeCheckConfigs/[UPTIME_CHECK_ID].This field + * should be omitted when creating the uptime check configuration; on + * create, the resource name is assigned by the server and included in the + * response. + */ + name?: string; + /** + * Optional. If present, only the listed fields in the current uptime check + * configuration are updated with values from the new configuration. If this + * field is empty, then the current configuration is completely replaced + * with the new configuration. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UptimeCheckConfig; + } + class Resource$Uptimecheckips { + root: Monitoring; + constructor(root: Monitoring); + getRoot(): Monitoring; + /** + * monitoring.uptimeCheckIps.list + * @desc Returns the list of IPs that checkers run from + * @alias monitoring.uptimeCheckIps.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize The maximum number of results to return in a single response. The server may further constrain the maximum number of results returned in a single page. If the page_size is <=0, the server will decide the number of results to be returned. NOTE: this field is not yet implemented + * @param {string=} params.pageToken If this field is not empty then it must contain the nextPageToken value returned by a previous call to this method. Using this field causes the method to return more results from the previous method call. NOTE: this field is not yet implemented + * @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?: Params$Resource$Uptimecheckips$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Uptimecheckips$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Uptimecheckips$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Uptimecheckips$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The maximum number of results to return in a single response. The server + * may further constrain the maximum number of results returned in a single + * page. If the page_size is <=0, the server will decide the number of + * results to be returned. NOTE: this field is not yet implemented + */ + pageSize?: number; + /** + * If this field is not empty then it must contain the nextPageToken value + * returned by a previous call to this method. Using this field causes the + * method to return more results from the previous method call. NOTE: this + * field is not yet implemented + */ + pageToken?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/monitoring/v3.js b/express-server/node_modules/googleapis/build/src/apis/monitoring/v3.js new file mode 100644 index 00000000..45d064ae --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/monitoring/v3.js @@ -0,0 +1,1291 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var monitoring_v3; +(function (monitoring_v3) { + /** + * Stackdriver Monitoring API + * + * Manages your Stackdriver Monitoring data and configurations. Most projects + * must be associated with a Stackdriver account, with a few exceptions as + * noted on the individual method pages. + * + * @example + * const {google} = require('googleapis'); + * const monitoring = google.monitoring('v3'); + * + * @namespace monitoring + * @type {Function} + * @version v3 + * @variation v3 + * @param {object=} options Options for Monitoring + */ + class Monitoring { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.projects = new Resource$Projects(this); + this.uptimeCheckIps = new Resource$Uptimecheckips(this); + } + getRoot() { + return this.root; + } + } + monitoring_v3.Monitoring = Monitoring; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.alertPolicies = new Resource$Projects$Alertpolicies(root); + this.collectdTimeSeries = new Resource$Projects$Collectdtimeseries(root); + this.groups = new Resource$Projects$Groups(root); + this.metricDescriptors = new Resource$Projects$Metricdescriptors(root); + this.monitoredResourceDescriptors = + new Resource$Projects$Monitoredresourcedescriptors(root); + this.notificationChannelDescriptors = + new Resource$Projects$Notificationchanneldescriptors(root); + this.notificationChannels = + new Resource$Projects$Notificationchannels(root); + this.timeSeries = new Resource$Projects$Timeseries(root); + this.uptimeCheckConfigs = new Resource$Projects$Uptimecheckconfigs(root); + } + getRoot() { + return this.root; + } + } + monitoring_v3.Resource$Projects = Resource$Projects; + class Resource$Projects$Alertpolicies { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://monitoring.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3/{+name}/alertPolicies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://monitoring.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://monitoring.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://monitoring.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3/{+name}/alertPolicies') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://monitoring.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + monitoring_v3.Resource$Projects$Alertpolicies = Resource$Projects$Alertpolicies; + class Resource$Projects$Collectdtimeseries { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://monitoring.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3/{+name}/collectdTimeSeries') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + monitoring_v3.Resource$Projects$Collectdtimeseries = Resource$Projects$Collectdtimeseries; + class Resource$Projects$Groups { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.members = new Resource$Projects$Groups$Members(root); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://monitoring.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3/{+name}/groups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://monitoring.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://monitoring.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://monitoring.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3/{+name}/groups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://monitoring.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + monitoring_v3.Resource$Projects$Groups = Resource$Projects$Groups; + class Resource$Projects$Groups$Members { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://monitoring.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3/{+name}/members') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + monitoring_v3.Resource$Projects$Groups$Members = Resource$Projects$Groups$Members; + class Resource$Projects$Metricdescriptors { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://monitoring.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3/{+name}/metricDescriptors') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://monitoring.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://monitoring.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://monitoring.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3/{+name}/metricDescriptors') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + monitoring_v3.Resource$Projects$Metricdescriptors = Resource$Projects$Metricdescriptors; + class Resource$Projects$Monitoredresourcedescriptors { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://monitoring.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://monitoring.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3/{+name}/monitoredResourceDescriptors') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + monitoring_v3.Resource$Projects$Monitoredresourcedescriptors = Resource$Projects$Monitoredresourcedescriptors; + class Resource$Projects$Notificationchanneldescriptors { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://monitoring.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://monitoring.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3/{+name}/notificationChannelDescriptors') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + monitoring_v3.Resource$Projects$Notificationchanneldescriptors = Resource$Projects$Notificationchanneldescriptors; + class Resource$Projects$Notificationchannels { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://monitoring.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3/{+name}/notificationChannels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://monitoring.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://monitoring.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getVerificationCode(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://monitoring.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3/{+name}:getVerificationCode') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://monitoring.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3/{+name}/notificationChannels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://monitoring.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + sendVerificationCode(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://monitoring.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3/{+name}:sendVerificationCode') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + verify(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://monitoring.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3/{+name}:verify') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + monitoring_v3.Resource$Projects$Notificationchannels = Resource$Projects$Notificationchannels; + class Resource$Projects$Timeseries { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://monitoring.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3/{+name}/timeSeries') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://monitoring.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3/{+name}/timeSeries') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + monitoring_v3.Resource$Projects$Timeseries = Resource$Projects$Timeseries; + class Resource$Projects$Uptimecheckconfigs { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://monitoring.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3/{+parent}/uptimeCheckConfigs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://monitoring.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://monitoring.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://monitoring.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3/{+parent}/uptimeCheckConfigs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://monitoring.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + monitoring_v3.Resource$Projects$Uptimecheckconfigs = Resource$Projects$Uptimecheckconfigs; + class Resource$Uptimecheckips { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://monitoring.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v3/uptimeCheckIps') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + monitoring_v3.Resource$Uptimecheckips = Resource$Uptimecheckips; +})(monitoring_v3 = exports.monitoring_v3 || (exports.monitoring_v3 = {})); +//# sourceMappingURL=v3.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/monitoring/v3.js.map b/express-server/node_modules/googleapis/build/src/apis/monitoring/v3.js.map new file mode 100644 index 00000000..0a9b4c4d --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/monitoring/v3.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v3.js","sourceRoot":"","sources":["../../../../src/apis/monitoring/v3.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/oauth2/README.md b/express-server/node_modules/googleapis/build/src/apis/oauth2/README.md new file mode 100644 index 00000000..7727ccf0 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/oauth2/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/oauth2 + +> Obtains end-user authorization grants for use with other Google APIs. + +## Installation + +```sh +$ npm install @google/oauth2 +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/oauth2/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/oauth2/index.d.ts new file mode 100644 index 00000000..4f940e82 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/oauth2/index.d.ts @@ -0,0 +1,10 @@ +import { oauth2_v1 } from './v1'; +import { oauth2_v2 } from './v2'; +export declare const VERSIONS: { + 'v1': typeof oauth2_v1.Oauth2; + 'v2': typeof oauth2_v2.Oauth2; +}; +export declare function oauth2(version: 'v1'): oauth2_v1.Oauth2; +export declare function oauth2(options: oauth2_v1.Options): oauth2_v1.Oauth2; +export declare function oauth2(version: 'v2'): oauth2_v2.Oauth2; +export declare function oauth2(options: oauth2_v2.Options): oauth2_v2.Oauth2; diff --git a/express-server/node_modules/googleapis/build/src/apis/oauth2/index.js b/express-server/node_modules/googleapis/build/src/apis/oauth2/index.js new file mode 100644 index 00000000..970d3a33 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/oauth2/index.js @@ -0,0 +1,27 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +const v2_1 = require("./v2"); +exports.VERSIONS = { + 'v1': v1_1.oauth2_v1.Oauth2, + 'v2': v2_1.oauth2_v2.Oauth2, +}; +function oauth2(versionOrOptions) { + return googleapis_common_1.getAPI('oauth2', versionOrOptions, exports.VERSIONS, this); +} +exports.oauth2 = oauth2; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/oauth2/index.js.map b/express-server/node_modules/googleapis/build/src/apis/oauth2/index.js.map new file mode 100644 index 00000000..6cf21362 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/oauth2/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/oauth2/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAA+B;AAC/B,6BAA+B;AAElB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,cAAS,CAAC,MAAM;IACtB,IAAI,EAAE,cAAS,CAAC,MAAM;CACvB,CAAC;AAMF,SAAgB,MAAM,CAElB,gBAA+D;IACjE,OAAO,0BAAM,CAAI,QAAQ,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAC/D,CAAC;AAJD,wBAIC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/oauth2/package.json b/express-server/node_modules/googleapis/build/src/apis/oauth2/package.json new file mode 100644 index 00000000..9d5ea233 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/oauth2/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/oauth2", + "version": "0.1.0", + "description": "oauth2", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/oauth2/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/oauth2/v1.d.ts new file mode 100644 index 00000000..32d783a9 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/oauth2/v1.d.ts @@ -0,0 +1,360 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace oauth2_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Google OAuth2 API + * + * Obtains end-user authorization grants for use with other Google APIs. + * + * @example + * const {google} = require('googleapis'); + * const oauth2 = google.oauth2('v1'); + * + * @namespace oauth2 + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Oauth2 + */ + class Oauth2 { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + userinfo: Resource$Userinfo; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + /** + * oauth2.getCertForOpenIdConnect + * @alias oauth2.getCertForOpenIdConnect + * @memberOf! oauth2(v1) + * + * @param {object=} params Parameters for request + * @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 + */ + getCertForOpenIdConnect(params?: Params$$Getcertforopenidconnect, options?: MethodOptions): AxiosPromise; + getCertForOpenIdConnect(params: Params$$Getcertforopenidconnect, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getCertForOpenIdConnect(params: Params$$Getcertforopenidconnect, callback: BodyResponseCallback): void; + getCertForOpenIdConnect(callback: BodyResponseCallback): void; + /** + * oauth2.getCertForOpenIdConnectRaw + * @alias oauth2.getCertForOpenIdConnectRaw + * @memberOf! oauth2(v1) + * + * @param {object=} params Parameters for request + * @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 + */ + getCertForOpenIdConnectRaw(params?: Params$$Getcertforopenidconnectraw, options?: MethodOptions): AxiosPromise; + getCertForOpenIdConnectRaw(params: Params$$Getcertforopenidconnectraw, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getCertForOpenIdConnectRaw(params: Params$$Getcertforopenidconnectraw, callback: BodyResponseCallback): void; + getCertForOpenIdConnectRaw(callback: BodyResponseCallback): void; + /** + * oauth2.getRobotJwk + * @alias oauth2.getRobotJwk + * @memberOf! oauth2(v1) + * + * @param {object} params Parameters for request + * @param {string} params.robotEmail The email of robot account. + * @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 + */ + getRobotJwk(params?: Params$$Getrobotjwk, options?: MethodOptions): AxiosPromise; + getRobotJwk(params: Params$$Getrobotjwk, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getRobotJwk(params: Params$$Getrobotjwk, callback: BodyResponseCallback): void; + getRobotJwk(callback: BodyResponseCallback): void; + /** + * oauth2.getRobotMetadataRaw + * @alias oauth2.getRobotMetadataRaw + * @memberOf! oauth2(v1) + * + * @param {object} params Parameters for request + * @param {string} params.robotEmail The email of robot account. + * @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 + */ + getRobotMetadataRaw(params?: Params$$Getrobotmetadataraw, options?: MethodOptions): AxiosPromise; + getRobotMetadataRaw(params: Params$$Getrobotmetadataraw, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getRobotMetadataRaw(params: Params$$Getrobotmetadataraw, callback: BodyResponseCallback): void; + getRobotMetadataRaw(callback: BodyResponseCallback): void; + /** + * oauth2.getRobotMetadataX509 + * @alias oauth2.getRobotMetadataX509 + * @memberOf! oauth2(v1) + * + * @param {object} params Parameters for request + * @param {string} params.robotEmail The email of robot account. + * @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 + */ + getRobotMetadataX509(params?: Params$$Getrobotmetadatax509, options?: MethodOptions): AxiosPromise; + getRobotMetadataX509(params: Params$$Getrobotmetadatax509, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getRobotMetadataX509(params: Params$$Getrobotmetadatax509, callback: BodyResponseCallback): void; + getRobotMetadataX509(callback: BodyResponseCallback): void; + /** + * oauth2.tokeninfo + * @desc Get token info + * @alias oauth2.tokeninfo + * @memberOf! oauth2(v1) + * + * @param {object=} params Parameters for request + * @param {string=} params.access_token The oauth2 access token + * @param {string=} params.id_token The ID token + * @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 + */ + tokeninfo(params?: Params$$Tokeninfo, options?: MethodOptions): AxiosPromise; + tokeninfo(params: Params$$Tokeninfo, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + tokeninfo(params: Params$$Tokeninfo, callback: BodyResponseCallback): void; + tokeninfo(callback: BodyResponseCallback): void; + } + interface Schema$Jwk { + keys?: any[]; + } + interface Schema$Raw { + keyvalues?: any[]; + } + interface Schema$Tokeninfo { + /** + * The access type granted with this token. It can be offline or online. + */ + access_type?: string; + /** + * Who is the intended audience for this token. In general the same as + * issued_to. + */ + audience?: string; + /** + * The email address of the user. Present only if the email scope is present + * in the request. + */ + email?: string; + /** + * Boolean flag which is true if the email address is verified. Present only + * if the email scope is present in the request. + */ + email_verified?: boolean; + /** + * The expiry time of the token, as number of seconds left until expiry. + */ + expires_in?: number; + /** + * The issue time of the token, as number of seconds. + */ + issued_at?: number; + /** + * To whom was the token issued to. In general the same as audience. + */ + issued_to?: string; + /** + * Who issued the token. + */ + issuer?: string; + /** + * Nonce of the id token. + */ + nonce?: string; + /** + * The space separated list of scopes granted to this token. + */ + scope?: string; + /** + * The obfuscated user id. + */ + user_id?: string; + /** + * Boolean flag which is true if the email address is verified. Present only + * if the email scope is present in the request. + */ + verified_email?: boolean; + } + interface Schema$Userinfoplus { + /** + * The user's email address. + */ + email?: string; + /** + * The user's last name. + */ + family_name?: string; + /** + * The user's gender. + */ + gender?: string; + /** + * The user's first name. + */ + given_name?: string; + /** + * The hosted domain e.g. example.com if the user is Google apps user. + */ + hd?: string; + /** + * The obfuscated ID of the user. + */ + id?: string; + /** + * URL of the profile page. + */ + link?: string; + /** + * The user's preferred locale. + */ + locale?: string; + /** + * The user's full name. + */ + name?: string; + /** + * URL of the user's picture image. + */ + picture?: string; + /** + * Boolean flag which is true if the email address is verified. Always + * verified because we only return the user's primary email address. + */ + verified_email?: boolean; + } + interface Schema$X509 { + } + interface Params$$Getcertforopenidconnect { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } + interface Params$$Getcertforopenidconnectraw { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } + interface Params$$Getrobotjwk { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The email of robot account. + */ + robotEmail?: string; + } + interface Params$$Getrobotmetadataraw { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The email of robot account. + */ + robotEmail?: string; + } + interface Params$$Getrobotmetadatax509 { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The email of robot account. + */ + robotEmail?: string; + } + interface Params$$Tokeninfo { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The oauth2 access token + */ + access_token?: string; + /** + * The ID token + */ + id_token?: string; + } + class Resource$Userinfo { + root: Oauth2; + v2: Resource$Userinfo$V2; + constructor(root: Oauth2); + getRoot(): Oauth2; + /** + * oauth2.userinfo.get + * @desc Get user info + * @alias oauth2.userinfo.get + * @memberOf! () + * + * @param {object=} params Parameters for request + * @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?: Params$Resource$Userinfo$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Userinfo$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Userinfo$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Userinfo$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } + class Resource$Userinfo$V2 { + root: Oauth2; + me: Resource$Userinfo$V2$Me; + constructor(root: Oauth2); + getRoot(): Oauth2; + } + class Resource$Userinfo$V2$Me { + root: Oauth2; + constructor(root: Oauth2); + getRoot(): Oauth2; + /** + * oauth2.userinfo.v2.me.get + * @desc Get user info + * @alias oauth2.userinfo.v2.me.get + * @memberOf! () + * + * @param {object=} params Parameters for request + * @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?: Params$Resource$Userinfo$V2$Me$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Userinfo$V2$Me$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Userinfo$V2$Me$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Userinfo$V2$Me$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/oauth2/v1.js b/express-server/node_modules/googleapis/build/src/apis/oauth2/v1.js new file mode 100644 index 00000000..6b32109a --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/oauth2/v1.js @@ -0,0 +1,333 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var oauth2_v1; +(function (oauth2_v1) { + /** + * Google OAuth2 API + * + * Obtains end-user authorization grants for use with other Google APIs. + * + * @example + * const {google} = require('googleapis'); + * const oauth2 = google.oauth2('v1'); + * + * @namespace oauth2 + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Oauth2 + */ + class Oauth2 { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.userinfo = new Resource$Userinfo(this); + } + getRoot() { + return this.root; + } + getCertForOpenIdConnect(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/oauth2/v1/certs').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getCertForOpenIdConnectRaw(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/oauth2/v1/raw_public_keys') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getRobotJwk(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/service_accounts/v1/jwk/{robotEmail}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['robotEmail'], + pathParams: ['robotEmail'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getRobotMetadataRaw(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/service_accounts/v1/metadata/raw/{robotEmail}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['robotEmail'], + pathParams: ['robotEmail'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getRobotMetadataX509(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/service_accounts/v1/metadata/x509/{robotEmail}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['robotEmail'], + pathParams: ['robotEmail'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + tokeninfo(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/oauth2/v1/tokeninfo') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + oauth2_v1.Oauth2 = Oauth2; + class Resource$Userinfo { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.v2 = new Resource$Userinfo$V2(root); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/oauth2/v1/userinfo') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + oauth2_v1.Resource$Userinfo = Resource$Userinfo; + class Resource$Userinfo$V2 { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.me = new Resource$Userinfo$V2$Me(root); + } + getRoot() { + return this.root; + } + } + oauth2_v1.Resource$Userinfo$V2 = Resource$Userinfo$V2; + class Resource$Userinfo$V2$Me { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/userinfo/v2/me').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + oauth2_v1.Resource$Userinfo$V2$Me = Resource$Userinfo$V2$Me; +})(oauth2_v1 = exports.oauth2_v1 || (exports.oauth2_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/oauth2/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/oauth2/v1.js.map new file mode 100644 index 00000000..b28c5de8 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/oauth2/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/oauth2/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/oauth2/v2.d.ts b/express-server/node_modules/googleapis/build/src/apis/oauth2/v2.d.ts new file mode 100644 index 00000000..dd9ffc11 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/oauth2/v2.d.ts @@ -0,0 +1,249 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace oauth2_v2 { + interface Options extends GlobalOptions { + version: 'v2'; + } + /** + * Google OAuth2 API + * + * Obtains end-user authorization grants for use with other Google APIs. + * + * @example + * const {google} = require('googleapis'); + * const oauth2 = google.oauth2('v2'); + * + * @namespace oauth2 + * @type {Function} + * @version v2 + * @variation v2 + * @param {object=} options Options for Oauth2 + */ + class Oauth2 { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + userinfo: Resource$Userinfo; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + /** + * oauth2.getCertForOpenIdConnect + * @alias oauth2.getCertForOpenIdConnect + * @memberOf! oauth2(v2) + * + * @param {object=} params Parameters for request + * @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 + */ + getCertForOpenIdConnect(params?: Params$$Getcertforopenidconnect, options?: MethodOptions): AxiosPromise; + getCertForOpenIdConnect(params: Params$$Getcertforopenidconnect, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getCertForOpenIdConnect(params: Params$$Getcertforopenidconnect, callback: BodyResponseCallback): void; + getCertForOpenIdConnect(callback: BodyResponseCallback): void; + /** + * oauth2.tokeninfo + * @alias oauth2.tokeninfo + * @memberOf! oauth2(v2) + * + * @param {object=} params Parameters for request + * @param {string=} params.access_token + * @param {string=} params.id_token + * @param {string=} params.token_handle + * @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 + */ + tokeninfo(params?: Params$$Tokeninfo, options?: MethodOptions): AxiosPromise; + tokeninfo(params: Params$$Tokeninfo, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + tokeninfo(params: Params$$Tokeninfo, callback: BodyResponseCallback): void; + tokeninfo(callback: BodyResponseCallback): void; + } + interface Schema$Jwk { + keys?: any[]; + } + interface Schema$Tokeninfo { + /** + * The access type granted with this token. It can be offline or online. + */ + access_type?: string; + /** + * Who is the intended audience for this token. In general the same as + * issued_to. + */ + audience?: string; + /** + * The email address of the user. Present only if the email scope is present + * in the request. + */ + email?: string; + /** + * The expiry time of the token, as number of seconds left until expiry. + */ + expires_in?: number; + /** + * To whom was the token issued to. In general the same as audience. + */ + issued_to?: string; + /** + * The space separated list of scopes granted to this token. + */ + scope?: string; + /** + * The token handle associated with this token. + */ + token_handle?: string; + /** + * The obfuscated user id. + */ + user_id?: string; + /** + * Boolean flag which is true if the email address is verified. Present only + * if the email scope is present in the request. + */ + verified_email?: boolean; + } + interface Schema$Userinfoplus { + /** + * The user's email address. + */ + email?: string; + /** + * The user's last name. + */ + family_name?: string; + /** + * The user's gender. + */ + gender?: string; + /** + * The user's first name. + */ + given_name?: string; + /** + * The hosted domain e.g. example.com if the user is Google apps user. + */ + hd?: string; + /** + * The obfuscated ID of the user. + */ + id?: string; + /** + * URL of the profile page. + */ + link?: string; + /** + * The user's preferred locale. + */ + locale?: string; + /** + * The user's full name. + */ + name?: string; + /** + * URL of the user's picture image. + */ + picture?: string; + /** + * Boolean flag which is true if the email address is verified. Always + * verified because we only return the user's primary email address. + */ + verified_email?: boolean; + } + interface Params$$Getcertforopenidconnect { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } + interface Params$$Tokeninfo { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * + */ + access_token?: string; + /** + * + */ + id_token?: string; + /** + * + */ + token_handle?: string; + } + class Resource$Userinfo { + root: Oauth2; + v2: Resource$Userinfo$V2; + constructor(root: Oauth2); + getRoot(): Oauth2; + /** + * oauth2.userinfo.get + * @alias oauth2.userinfo.get + * @memberOf! () + * + * @param {object=} params Parameters for request + * @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?: Params$Resource$Userinfo$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Userinfo$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Userinfo$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Userinfo$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } + class Resource$Userinfo$V2 { + root: Oauth2; + me: Resource$Userinfo$V2$Me; + constructor(root: Oauth2); + getRoot(): Oauth2; + } + class Resource$Userinfo$V2$Me { + root: Oauth2; + constructor(root: Oauth2); + getRoot(): Oauth2; + /** + * oauth2.userinfo.v2.me.get + * @alias oauth2.userinfo.v2.me.get + * @memberOf! () + * + * @param {object=} params Parameters for request + * @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?: Params$Resource$Userinfo$V2$Me$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Userinfo$V2$Me$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Userinfo$V2$Me$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Userinfo$V2$Me$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/oauth2/v2.js b/express-server/node_modules/googleapis/build/src/apis/oauth2/v2.js new file mode 100644 index 00000000..b62f3775 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/oauth2/v2.js @@ -0,0 +1,209 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var oauth2_v2; +(function (oauth2_v2) { + /** + * Google OAuth2 API + * + * Obtains end-user authorization grants for use with other Google APIs. + * + * @example + * const {google} = require('googleapis'); + * const oauth2 = google.oauth2('v2'); + * + * @namespace oauth2 + * @type {Function} + * @version v2 + * @variation v2 + * @param {object=} options Options for Oauth2 + */ + class Oauth2 { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.userinfo = new Resource$Userinfo(this); + } + getRoot() { + return this.root; + } + getCertForOpenIdConnect(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/oauth2/v2/certs').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + tokeninfo(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/oauth2/v2/tokeninfo') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + oauth2_v2.Oauth2 = Oauth2; + class Resource$Userinfo { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.v2 = new Resource$Userinfo$V2(root); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/oauth2/v2/userinfo') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + oauth2_v2.Resource$Userinfo = Resource$Userinfo; + class Resource$Userinfo$V2 { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.me = new Resource$Userinfo$V2$Me(root); + } + getRoot() { + return this.root; + } + } + oauth2_v2.Resource$Userinfo$V2 = Resource$Userinfo$V2; + class Resource$Userinfo$V2$Me { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/userinfo/v2/me').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + oauth2_v2.Resource$Userinfo$V2$Me = Resource$Userinfo$V2$Me; +})(oauth2_v2 = exports.oauth2_v2 || (exports.oauth2_v2 = {})); +//# sourceMappingURL=v2.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/oauth2/v2.js.map b/express-server/node_modules/googleapis/build/src/apis/oauth2/v2.js.map new file mode 100644 index 00000000..ccda70be --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/oauth2/v2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v2.js","sourceRoot":"","sources":["../../../../src/apis/oauth2/v2.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/oslogin/README.md b/express-server/node_modules/googleapis/build/src/apis/oslogin/README.md new file mode 100644 index 00000000..4d5a7138 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/oslogin/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/oslogin + +> Manages OS login configuration for Google account users. + +## Installation + +```sh +$ npm install @google/oslogin +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/oslogin/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/oslogin/index.d.ts new file mode 100644 index 00000000..b66f8629 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/oslogin/index.d.ts @@ -0,0 +1,14 @@ +import { oslogin_v1 } from './v1'; +import { oslogin_v1alpha } from './v1alpha'; +import { oslogin_v1beta } from './v1beta'; +export declare const VERSIONS: { + 'v1': typeof oslogin_v1.Oslogin; + 'v1alpha': typeof oslogin_v1alpha.Oslogin; + 'v1beta': typeof oslogin_v1beta.Oslogin; +}; +export declare function oslogin(version: 'v1'): oslogin_v1.Oslogin; +export declare function oslogin(options: oslogin_v1.Options): oslogin_v1.Oslogin; +export declare function oslogin(version: 'v1alpha'): oslogin_v1alpha.Oslogin; +export declare function oslogin(options: oslogin_v1alpha.Options): oslogin_v1alpha.Oslogin; +export declare function oslogin(version: 'v1beta'): oslogin_v1beta.Oslogin; +export declare function oslogin(options: oslogin_v1beta.Options): oslogin_v1beta.Oslogin; diff --git a/express-server/node_modules/googleapis/build/src/apis/oslogin/index.js b/express-server/node_modules/googleapis/build/src/apis/oslogin/index.js new file mode 100644 index 00000000..d4b6e5a4 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/oslogin/index.js @@ -0,0 +1,29 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +const v1alpha_1 = require("./v1alpha"); +const v1beta_1 = require("./v1beta"); +exports.VERSIONS = { + 'v1': v1_1.oslogin_v1.Oslogin, + 'v1alpha': v1alpha_1.oslogin_v1alpha.Oslogin, + 'v1beta': v1beta_1.oslogin_v1beta.Oslogin, +}; +function oslogin(versionOrOptions) { + return googleapis_common_1.getAPI('oslogin', versionOrOptions, exports.VERSIONS, this); +} +exports.oslogin = oslogin; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/oslogin/index.js.map b/express-server/node_modules/googleapis/build/src/apis/oslogin/index.js.map new file mode 100644 index 00000000..15b8e4f2 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/oslogin/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/oslogin/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAgC;AAChC,uCAA0C;AAC1C,qCAAwC;AAE3B,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,eAAU,CAAC,OAAO;IACxB,SAAS,EAAE,yBAAe,CAAC,OAAO;IAClC,QAAQ,EAAE,uBAAc,CAAC,OAAO;CACjC,CAAC;AAUF,SAAgB,OAAO,CAGnB,gBACuD;IACzD,OAAO,0BAAM,CAAI,SAAS,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAChE,CAAC;AAND,0BAMC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/oslogin/package.json b/express-server/node_modules/googleapis/build/src/apis/oslogin/package.json new file mode 100644 index 00000000..651ae376 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/oslogin/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/oslogin", + "version": "0.1.0", + "description": "oslogin", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/oslogin/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/oslogin/v1.d.ts new file mode 100644 index 00000000..d1b05a9a --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/oslogin/v1.d.ts @@ -0,0 +1,352 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace oslogin_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Cloud OS Login API + * + * Manages OS login configuration for Google account users. + * + * @example + * const {google} = require('googleapis'); + * const oslogin = google.oslogin('v1'); + * + * @namespace oslogin + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Oslogin + */ + class Oslogin { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + users: Resource$Users; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * A response message for importing an SSH public key. + */ + interface Schema$ImportSshPublicKeyResponse { + /** + * The login profile information for the user. + */ + loginProfile?: Schema$LoginProfile; + } + /** + * The user profile information used for logging in to a virtual machine on + * Google Compute Engine. + */ + interface Schema$LoginProfile { + /** + * A unique user ID. + */ + name?: string; + /** + * The list of POSIX accounts associated with the user. + */ + posixAccounts?: Schema$PosixAccount[]; + /** + * A map from SSH public key fingerprint to the associated key object. + */ + sshPublicKeys?: any; + } + /** + * The POSIX account information associated with a Google account. + */ + interface Schema$PosixAccount { + /** + * Output only. A POSIX account identifier. + */ + accountId?: string; + /** + * The GECOS (user information) entry for this account. + */ + gecos?: string; + /** + * The default group ID. + */ + gid?: string; + /** + * The path to the home directory for this account. + */ + homeDirectory?: string; + /** + * The operating system type where this account applies. + */ + operatingSystemType?: string; + /** + * Only one POSIX account can be marked as primary. + */ + primary?: boolean; + /** + * The path to the logic shell for this account. + */ + shell?: string; + /** + * System identifier for which account the username or uid applies to. By + * default, the empty value is used. + */ + systemId?: string; + /** + * The user ID. + */ + uid?: string; + /** + * The username of the POSIX account. + */ + username?: string; + } + /** + * The SSH public key information associated with a Google account. + */ + interface Schema$SshPublicKey { + /** + * An expiration time in microseconds since epoch. + */ + expirationTimeUsec?: string; + /** + * Output only. The SHA-256 fingerprint of the SSH public key. + */ + fingerprint?: string; + /** + * Public key text in SSH format, defined by <a + * href="https://www.ietf.org/rfc/rfc4253.txt" + * target="_blank">RFC4253</a> section 6.6. + */ + key?: string; + } + class Resource$Users { + root: Oslogin; + projects: Resource$Users$Projects; + sshPublicKeys: Resource$Users$Sshpublickeys; + constructor(root: Oslogin); + getRoot(): Oslogin; + /** + * oslogin.users.getLoginProfile + * @desc Retrieves the profile information used for logging in to a virtual + * machine on Google Compute Engine. + * @alias oslogin.users.getLoginProfile + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The unique ID for the user in format `users/{user}`. + * @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 + */ + getLoginProfile(params?: Params$Resource$Users$Getloginprofile, options?: MethodOptions): AxiosPromise; + getLoginProfile(params: Params$Resource$Users$Getloginprofile, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getLoginProfile(params: Params$Resource$Users$Getloginprofile, callback: BodyResponseCallback): void; + getLoginProfile(callback: BodyResponseCallback): void; + /** + * oslogin.users.importSshPublicKey + * @desc Adds an SSH public key and returns the profile information. Default + * POSIX account information is set when no username and UID exist as part + * of the login profile. + * @alias oslogin.users.importSshPublicKey + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent The unique ID for the user in format `users/{user}`. + * @param {string=} params.projectId The project ID of the Google Cloud Platform project. + * @param {().SshPublicKey} 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 + */ + importSshPublicKey(params?: Params$Resource$Users$Importsshpublickey, options?: MethodOptions): AxiosPromise; + importSshPublicKey(params: Params$Resource$Users$Importsshpublickey, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + importSshPublicKey(params: Params$Resource$Users$Importsshpublickey, callback: BodyResponseCallback): void; + importSshPublicKey(callback: BodyResponseCallback): void; + } + interface Params$Resource$Users$Getloginprofile { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The unique ID for the user in format `users/{user}`. + */ + name?: string; + } + interface Params$Resource$Users$Importsshpublickey { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The unique ID for the user in format `users/{user}`. + */ + parent?: string; + /** + * The project ID of the Google Cloud Platform project. + */ + projectId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SshPublicKey; + } + class Resource$Users$Projects { + root: Oslogin; + constructor(root: Oslogin); + getRoot(): Oslogin; + /** + * oslogin.users.projects.delete + * @desc Deletes a POSIX account. + * @alias oslogin.users.projects.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name A reference to the POSIX account to update. POSIX accounts are identified by the project ID they are associated with. A reference to the POSIX account is in format `users/{user}/projects/{project}`. + * @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?: Params$Resource$Users$Projects$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Users$Projects$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Users$Projects$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + } + interface Params$Resource$Users$Projects$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A reference to the POSIX account to update. POSIX accounts are identified + * by the project ID they are associated with. A reference to the POSIX + * account is in format `users/{user}/projects/{project}`. + */ + name?: string; + } + class Resource$Users$Sshpublickeys { + root: Oslogin; + constructor(root: Oslogin); + getRoot(): Oslogin; + /** + * oslogin.users.sshPublicKeys.delete + * @desc Deletes an SSH public key. + * @alias oslogin.users.sshPublicKeys.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The fingerprint of the public key to update. Public keys are identified by their SHA-256 fingerprint. The fingerprint of the public key is in format `users/{user}/sshPublicKeys/{fingerprint}`. + * @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?: Params$Resource$Users$Sshpublickeys$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Users$Sshpublickeys$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Users$Sshpublickeys$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * oslogin.users.sshPublicKeys.get + * @desc Retrieves an SSH public key. + * @alias oslogin.users.sshPublicKeys.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The fingerprint of the public key to retrieve. Public keys are identified by their SHA-256 fingerprint. The fingerprint of the public key is in format `users/{user}/sshPublicKeys/{fingerprint}`. + * @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?: Params$Resource$Users$Sshpublickeys$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Users$Sshpublickeys$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Users$Sshpublickeys$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * oslogin.users.sshPublicKeys.patch + * @desc Updates an SSH public key and returns the profile information. This + * method supports patch semantics. + * @alias oslogin.users.sshPublicKeys.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The fingerprint of the public key to update. Public keys are identified by their SHA-256 fingerprint. The fingerprint of the public key is in format `users/{user}/sshPublicKeys/{fingerprint}`. + * @param {string=} params.updateMask Mask to control which fields get updated. Updates all if not present. + * @param {().SshPublicKey} 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 + */ + patch(params?: Params$Resource$Users$Sshpublickeys$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Users$Sshpublickeys$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Users$Sshpublickeys$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Users$Sshpublickeys$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The fingerprint of the public key to update. Public keys are identified + * by their SHA-256 fingerprint. The fingerprint of the public key is in + * format `users/{user}/sshPublicKeys/{fingerprint}`. + */ + name?: string; + } + interface Params$Resource$Users$Sshpublickeys$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The fingerprint of the public key to retrieve. Public keys are identified + * by their SHA-256 fingerprint. The fingerprint of the public key is in + * format `users/{user}/sshPublicKeys/{fingerprint}`. + */ + name?: string; + } + interface Params$Resource$Users$Sshpublickeys$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The fingerprint of the public key to update. Public keys are identified + * by their SHA-256 fingerprint. The fingerprint of the public key is in + * format `users/{user}/sshPublicKeys/{fingerprint}`. + */ + name?: string; + /** + * Mask to control which fields get updated. Updates all if not present. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SshPublicKey; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/oslogin/v1.js b/express-server/node_modules/googleapis/build/src/apis/oslogin/v1.js new file mode 100644 index 00000000..c137a7c8 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/oslogin/v1.js @@ -0,0 +1,269 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var oslogin_v1; +(function (oslogin_v1) { + /** + * Cloud OS Login API + * + * Manages OS login configuration for Google account users. + * + * @example + * const {google} = require('googleapis'); + * const oslogin = google.oslogin('v1'); + * + * @namespace oslogin + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Oslogin + */ + class Oslogin { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.users = new Resource$Users(this); + } + getRoot() { + return this.root; + } + } + oslogin_v1.Oslogin = Oslogin; + class Resource$Users { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.projects = new Resource$Users$Projects(root); + this.sshPublicKeys = new Resource$Users$Sshpublickeys(root); + } + getRoot() { + return this.root; + } + getLoginProfile(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://oslogin.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}/loginProfile') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + importSshPublicKey(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://oslogin.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}:importSshPublicKey') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + oslogin_v1.Resource$Users = Resource$Users; + class Resource$Users$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://oslogin.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + oslogin_v1.Resource$Users$Projects = Resource$Users$Projects; + class Resource$Users$Sshpublickeys { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://oslogin.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://oslogin.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://oslogin.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + oslogin_v1.Resource$Users$Sshpublickeys = Resource$Users$Sshpublickeys; +})(oslogin_v1 = exports.oslogin_v1 || (exports.oslogin_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/oslogin/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/oslogin/v1.js.map new file mode 100644 index 00000000..8b8e0177 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/oslogin/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/oslogin/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/oslogin/v1alpha.d.ts b/express-server/node_modules/googleapis/build/src/apis/oslogin/v1alpha.d.ts new file mode 100644 index 00000000..4511de85 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/oslogin/v1alpha.d.ts @@ -0,0 +1,357 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace oslogin_v1alpha { + interface Options extends GlobalOptions { + version: 'v1alpha'; + } + /** + * Cloud OS Login API + * + * Manages OS login configuration for Google account users. + * + * @example + * const {google} = require('googleapis'); + * const oslogin = google.oslogin('v1alpha'); + * + * @namespace oslogin + * @type {Function} + * @version v1alpha + * @variation v1alpha + * @param {object=} options Options for Oslogin + */ + class Oslogin { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + users: Resource$Users; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * A response message from importing an SSH public key. + */ + interface Schema$ImportSshPublicKeyResponse { + /** + * The login profile information for the user. + */ + loginProfile?: Schema$LoginProfile; + } + /** + * The user profile information used for logging in to a virtual machine on + * Google Compute Engine. + */ + interface Schema$LoginProfile { + /** + * A unique user ID. + */ + name?: string; + /** + * The list of POSIX accounts associated with the user. + */ + posixAccounts?: Schema$PosixAccount[]; + /** + * A map from SSH public key fingerprint to the associated key object. + */ + sshPublicKeys?: any; + } + /** + * The POSIX account information associated with a Google account. + */ + interface Schema$PosixAccount { + /** + * Output only. A POSIX account identifier. + */ + accountId?: string; + /** + * The GECOS (user information) entry for this account. + */ + gecos?: string; + /** + * The default group ID. + */ + gid?: string; + /** + * The path to the home directory for this account. + */ + homeDirectory?: string; + /** + * The operating system type where this account applies. + */ + operatingSystemType?: string; + /** + * Only one POSIX account can be marked as primary. + */ + primary?: boolean; + /** + * The path to the logic shell for this account. + */ + shell?: string; + /** + * System identifier for which account the username or uid applies to. By + * default, the empty value is used. + */ + systemId?: string; + /** + * The user ID. + */ + uid?: string; + /** + * The username of the POSIX account. + */ + username?: string; + } + /** + * The SSH public key information associated with a Google account. + */ + interface Schema$SshPublicKey { + /** + * An expiration time in microseconds since epoch. + */ + expirationTimeUsec?: string; + /** + * Output only. The SHA-256 fingerprint of the SSH public key. + */ + fingerprint?: string; + /** + * Public key text in SSH format, defined by <a + * href="https://www.ietf.org/rfc/rfc4253.txt" + * target="_blank">RFC4253</a> section 6.6. + */ + key?: string; + } + class Resource$Users { + root: Oslogin; + projects: Resource$Users$Projects; + sshPublicKeys: Resource$Users$Sshpublickeys; + constructor(root: Oslogin); + getRoot(): Oslogin; + /** + * oslogin.users.getLoginProfile + * @desc Retrieves the profile information used for logging in to a virtual + * machine on Google Compute Engine. + * @alias oslogin.users.getLoginProfile + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The unique ID for the user in format `users/{user}`. + * @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 + */ + getLoginProfile(params?: Params$Resource$Users$Getloginprofile, options?: MethodOptions): AxiosPromise; + getLoginProfile(params: Params$Resource$Users$Getloginprofile, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getLoginProfile(params: Params$Resource$Users$Getloginprofile, callback: BodyResponseCallback): void; + getLoginProfile(callback: BodyResponseCallback): void; + /** + * oslogin.users.importSshPublicKey + * @desc Adds an SSH public key and returns the profile information. Default + * POSIX account information is set when no username and UID exist as part + * of the login profile. + * @alias oslogin.users.importSshPublicKey + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent The unique ID for the user in format `users/{user}`. + * @param {string=} params.projectId The project ID of the Google Cloud Platform project. + * @param {().SshPublicKey} 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 + */ + importSshPublicKey(params?: Params$Resource$Users$Importsshpublickey, options?: MethodOptions): AxiosPromise; + importSshPublicKey(params: Params$Resource$Users$Importsshpublickey, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + importSshPublicKey(params: Params$Resource$Users$Importsshpublickey, callback: BodyResponseCallback): void; + importSshPublicKey(callback: BodyResponseCallback): void; + } + interface Params$Resource$Users$Getloginprofile { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The unique ID for the user in format `users/{user}`. + */ + name?: string; + } + interface Params$Resource$Users$Importsshpublickey { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The unique ID for the user in format `users/{user}`. + */ + parent?: string; + /** + * The project ID of the Google Cloud Platform project. + */ + projectId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SshPublicKey; + } + class Resource$Users$Projects { + root: Oslogin; + constructor(root: Oslogin); + getRoot(): Oslogin; + /** + * oslogin.users.projects.delete + * @desc Deletes a POSIX account. + * @alias oslogin.users.projects.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name A reference to the POSIX account to update. POSIX accounts are identified by the project ID they are associated with. A reference to the POSIX account is in format `users/{user}/projects/{project}`. + * @param {string=} params.operatingSystemType The type of operating system associated with the account. + * @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?: Params$Resource$Users$Projects$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Users$Projects$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Users$Projects$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + } + interface Params$Resource$Users$Projects$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A reference to the POSIX account to update. POSIX accounts are identified + * by the project ID they are associated with. A reference to the POSIX + * account is in format `users/{user}/projects/{project}`. + */ + name?: string; + /** + * The type of operating system associated with the account. + */ + operatingSystemType?: string; + } + class Resource$Users$Sshpublickeys { + root: Oslogin; + constructor(root: Oslogin); + getRoot(): Oslogin; + /** + * oslogin.users.sshPublicKeys.delete + * @desc Deletes an SSH public key. + * @alias oslogin.users.sshPublicKeys.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The fingerprint of the public key to update. Public keys are identified by their SHA-256 fingerprint. The fingerprint of the public key is in format `users/{user}/sshPublicKeys/{fingerprint}`. + * @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?: Params$Resource$Users$Sshpublickeys$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Users$Sshpublickeys$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Users$Sshpublickeys$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * oslogin.users.sshPublicKeys.get + * @desc Retrieves an SSH public key. + * @alias oslogin.users.sshPublicKeys.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The fingerprint of the public key to retrieve. Public keys are identified by their SHA-256 fingerprint. The fingerprint of the public key is in format `users/{user}/sshPublicKeys/{fingerprint}`. + * @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?: Params$Resource$Users$Sshpublickeys$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Users$Sshpublickeys$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Users$Sshpublickeys$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * oslogin.users.sshPublicKeys.patch + * @desc Updates an SSH public key and returns the profile information. This + * method supports patch semantics. + * @alias oslogin.users.sshPublicKeys.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The fingerprint of the public key to update. Public keys are identified by their SHA-256 fingerprint. The fingerprint of the public key is in format `users/{user}/sshPublicKeys/{fingerprint}`. + * @param {string=} params.updateMask Mask to control which fields get updated. Updates all if not present. + * @param {().SshPublicKey} 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 + */ + patch(params?: Params$Resource$Users$Sshpublickeys$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Users$Sshpublickeys$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Users$Sshpublickeys$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Users$Sshpublickeys$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The fingerprint of the public key to update. Public keys are identified + * by their SHA-256 fingerprint. The fingerprint of the public key is in + * format `users/{user}/sshPublicKeys/{fingerprint}`. + */ + name?: string; + } + interface Params$Resource$Users$Sshpublickeys$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The fingerprint of the public key to retrieve. Public keys are identified + * by their SHA-256 fingerprint. The fingerprint of the public key is in + * format `users/{user}/sshPublicKeys/{fingerprint}`. + */ + name?: string; + } + interface Params$Resource$Users$Sshpublickeys$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The fingerprint of the public key to update. Public keys are identified + * by their SHA-256 fingerprint. The fingerprint of the public key is in + * format `users/{user}/sshPublicKeys/{fingerprint}`. + */ + name?: string; + /** + * Mask to control which fields get updated. Updates all if not present. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SshPublicKey; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/oslogin/v1alpha.js b/express-server/node_modules/googleapis/build/src/apis/oslogin/v1alpha.js new file mode 100644 index 00000000..9202912e --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/oslogin/v1alpha.js @@ -0,0 +1,269 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var oslogin_v1alpha; +(function (oslogin_v1alpha) { + /** + * Cloud OS Login API + * + * Manages OS login configuration for Google account users. + * + * @example + * const {google} = require('googleapis'); + * const oslogin = google.oslogin('v1alpha'); + * + * @namespace oslogin + * @type {Function} + * @version v1alpha + * @variation v1alpha + * @param {object=} options Options for Oslogin + */ + class Oslogin { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.users = new Resource$Users(this); + } + getRoot() { + return this.root; + } + } + oslogin_v1alpha.Oslogin = Oslogin; + class Resource$Users { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.projects = new Resource$Users$Projects(root); + this.sshPublicKeys = new Resource$Users$Sshpublickeys(root); + } + getRoot() { + return this.root; + } + getLoginProfile(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://oslogin.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha/{+name}/loginProfile') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + importSshPublicKey(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://oslogin.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha/{+parent}:importSshPublicKey') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + oslogin_v1alpha.Resource$Users = Resource$Users; + class Resource$Users$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://oslogin.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + oslogin_v1alpha.Resource$Users$Projects = Resource$Users$Projects; + class Resource$Users$Sshpublickeys { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://oslogin.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://oslogin.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://oslogin.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + oslogin_v1alpha.Resource$Users$Sshpublickeys = Resource$Users$Sshpublickeys; +})(oslogin_v1alpha = exports.oslogin_v1alpha || (exports.oslogin_v1alpha = {})); +//# sourceMappingURL=v1alpha.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/oslogin/v1alpha.js.map b/express-server/node_modules/googleapis/build/src/apis/oslogin/v1alpha.js.map new file mode 100644 index 00000000..9f4cc3b3 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/oslogin/v1alpha.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1alpha.js","sourceRoot":"","sources":["../../../../src/apis/oslogin/v1alpha.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/oslogin/v1beta.d.ts b/express-server/node_modules/googleapis/build/src/apis/oslogin/v1beta.d.ts new file mode 100644 index 00000000..6999e50a --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/oslogin/v1beta.d.ts @@ -0,0 +1,352 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace oslogin_v1beta { + interface Options extends GlobalOptions { + version: 'v1beta'; + } + /** + * Cloud OS Login API + * + * Manages OS login configuration for Google account users. + * + * @example + * const {google} = require('googleapis'); + * const oslogin = google.oslogin('v1beta'); + * + * @namespace oslogin + * @type {Function} + * @version v1beta + * @variation v1beta + * @param {object=} options Options for Oslogin + */ + class Oslogin { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + users: Resource$Users; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * A response message for importing an SSH public key. + */ + interface Schema$ImportSshPublicKeyResponse { + /** + * The login profile information for the user. + */ + loginProfile?: Schema$LoginProfile; + } + /** + * The user profile information used for logging in to a virtual machine on + * Google Compute Engine. + */ + interface Schema$LoginProfile { + /** + * A unique user ID. + */ + name?: string; + /** + * The list of POSIX accounts associated with the user. + */ + posixAccounts?: Schema$PosixAccount[]; + /** + * A map from SSH public key fingerprint to the associated key object. + */ + sshPublicKeys?: any; + } + /** + * The POSIX account information associated with a Google account. + */ + interface Schema$PosixAccount { + /** + * Output only. A POSIX account identifier. + */ + accountId?: string; + /** + * The GECOS (user information) entry for this account. + */ + gecos?: string; + /** + * The default group ID. + */ + gid?: string; + /** + * The path to the home directory for this account. + */ + homeDirectory?: string; + /** + * The operating system type where this account applies. + */ + operatingSystemType?: string; + /** + * Only one POSIX account can be marked as primary. + */ + primary?: boolean; + /** + * The path to the logic shell for this account. + */ + shell?: string; + /** + * System identifier for which account the username or uid applies to. By + * default, the empty value is used. + */ + systemId?: string; + /** + * The user ID. + */ + uid?: string; + /** + * The username of the POSIX account. + */ + username?: string; + } + /** + * The SSH public key information associated with a Google account. + */ + interface Schema$SshPublicKey { + /** + * An expiration time in microseconds since epoch. + */ + expirationTimeUsec?: string; + /** + * Output only. The SHA-256 fingerprint of the SSH public key. + */ + fingerprint?: string; + /** + * Public key text in SSH format, defined by <a + * href="https://www.ietf.org/rfc/rfc4253.txt" + * target="_blank">RFC4253</a> section 6.6. + */ + key?: string; + } + class Resource$Users { + root: Oslogin; + projects: Resource$Users$Projects; + sshPublicKeys: Resource$Users$Sshpublickeys; + constructor(root: Oslogin); + getRoot(): Oslogin; + /** + * oslogin.users.getLoginProfile + * @desc Retrieves the profile information used for logging in to a virtual + * machine on Google Compute Engine. + * @alias oslogin.users.getLoginProfile + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The unique ID for the user in format `users/{user}`. + * @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 + */ + getLoginProfile(params?: Params$Resource$Users$Getloginprofile, options?: MethodOptions): AxiosPromise; + getLoginProfile(params: Params$Resource$Users$Getloginprofile, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getLoginProfile(params: Params$Resource$Users$Getloginprofile, callback: BodyResponseCallback): void; + getLoginProfile(callback: BodyResponseCallback): void; + /** + * oslogin.users.importSshPublicKey + * @desc Adds an SSH public key and returns the profile information. Default + * POSIX account information is set when no username and UID exist as part + * of the login profile. + * @alias oslogin.users.importSshPublicKey + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent The unique ID for the user in format `users/{user}`. + * @param {string=} params.projectId The project ID of the Google Cloud Platform project. + * @param {().SshPublicKey} 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 + */ + importSshPublicKey(params?: Params$Resource$Users$Importsshpublickey, options?: MethodOptions): AxiosPromise; + importSshPublicKey(params: Params$Resource$Users$Importsshpublickey, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + importSshPublicKey(params: Params$Resource$Users$Importsshpublickey, callback: BodyResponseCallback): void; + importSshPublicKey(callback: BodyResponseCallback): void; + } + interface Params$Resource$Users$Getloginprofile { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The unique ID for the user in format `users/{user}`. + */ + name?: string; + } + interface Params$Resource$Users$Importsshpublickey { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The unique ID for the user in format `users/{user}`. + */ + parent?: string; + /** + * The project ID of the Google Cloud Platform project. + */ + projectId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SshPublicKey; + } + class Resource$Users$Projects { + root: Oslogin; + constructor(root: Oslogin); + getRoot(): Oslogin; + /** + * oslogin.users.projects.delete + * @desc Deletes a POSIX account. + * @alias oslogin.users.projects.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name A reference to the POSIX account to update. POSIX accounts are identified by the project ID they are associated with. A reference to the POSIX account is in format `users/{user}/projects/{project}`. + * @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?: Params$Resource$Users$Projects$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Users$Projects$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Users$Projects$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + } + interface Params$Resource$Users$Projects$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A reference to the POSIX account to update. POSIX accounts are identified + * by the project ID they are associated with. A reference to the POSIX + * account is in format `users/{user}/projects/{project}`. + */ + name?: string; + } + class Resource$Users$Sshpublickeys { + root: Oslogin; + constructor(root: Oslogin); + getRoot(): Oslogin; + /** + * oslogin.users.sshPublicKeys.delete + * @desc Deletes an SSH public key. + * @alias oslogin.users.sshPublicKeys.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The fingerprint of the public key to update. Public keys are identified by their SHA-256 fingerprint. The fingerprint of the public key is in format `users/{user}/sshPublicKeys/{fingerprint}`. + * @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?: Params$Resource$Users$Sshpublickeys$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Users$Sshpublickeys$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Users$Sshpublickeys$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * oslogin.users.sshPublicKeys.get + * @desc Retrieves an SSH public key. + * @alias oslogin.users.sshPublicKeys.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The fingerprint of the public key to retrieve. Public keys are identified by their SHA-256 fingerprint. The fingerprint of the public key is in format `users/{user}/sshPublicKeys/{fingerprint}`. + * @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?: Params$Resource$Users$Sshpublickeys$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Users$Sshpublickeys$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Users$Sshpublickeys$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * oslogin.users.sshPublicKeys.patch + * @desc Updates an SSH public key and returns the profile information. This + * method supports patch semantics. + * @alias oslogin.users.sshPublicKeys.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The fingerprint of the public key to update. Public keys are identified by their SHA-256 fingerprint. The fingerprint of the public key is in format `users/{user}/sshPublicKeys/{fingerprint}`. + * @param {string=} params.updateMask Mask to control which fields get updated. Updates all if not present. + * @param {().SshPublicKey} 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 + */ + patch(params?: Params$Resource$Users$Sshpublickeys$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Users$Sshpublickeys$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Users$Sshpublickeys$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Users$Sshpublickeys$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The fingerprint of the public key to update. Public keys are identified + * by their SHA-256 fingerprint. The fingerprint of the public key is in + * format `users/{user}/sshPublicKeys/{fingerprint}`. + */ + name?: string; + } + interface Params$Resource$Users$Sshpublickeys$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The fingerprint of the public key to retrieve. Public keys are identified + * by their SHA-256 fingerprint. The fingerprint of the public key is in + * format `users/{user}/sshPublicKeys/{fingerprint}`. + */ + name?: string; + } + interface Params$Resource$Users$Sshpublickeys$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The fingerprint of the public key to update. Public keys are identified + * by their SHA-256 fingerprint. The fingerprint of the public key is in + * format `users/{user}/sshPublicKeys/{fingerprint}`. + */ + name?: string; + /** + * Mask to control which fields get updated. Updates all if not present. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SshPublicKey; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/oslogin/v1beta.js b/express-server/node_modules/googleapis/build/src/apis/oslogin/v1beta.js new file mode 100644 index 00000000..53593522 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/oslogin/v1beta.js @@ -0,0 +1,269 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var oslogin_v1beta; +(function (oslogin_v1beta) { + /** + * Cloud OS Login API + * + * Manages OS login configuration for Google account users. + * + * @example + * const {google} = require('googleapis'); + * const oslogin = google.oslogin('v1beta'); + * + * @namespace oslogin + * @type {Function} + * @version v1beta + * @variation v1beta + * @param {object=} options Options for Oslogin + */ + class Oslogin { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.users = new Resource$Users(this); + } + getRoot() { + return this.root; + } + } + oslogin_v1beta.Oslogin = Oslogin; + class Resource$Users { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.projects = new Resource$Users$Projects(root); + this.sshPublicKeys = new Resource$Users$Sshpublickeys(root); + } + getRoot() { + return this.root; + } + getLoginProfile(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://oslogin.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta/{+name}/loginProfile') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + importSshPublicKey(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://oslogin.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta/{+parent}:importSshPublicKey') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + oslogin_v1beta.Resource$Users = Resource$Users; + class Resource$Users$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://oslogin.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + oslogin_v1beta.Resource$Users$Projects = Resource$Users$Projects; + class Resource$Users$Sshpublickeys { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://oslogin.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://oslogin.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://oslogin.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + oslogin_v1beta.Resource$Users$Sshpublickeys = Resource$Users$Sshpublickeys; +})(oslogin_v1beta = exports.oslogin_v1beta || (exports.oslogin_v1beta = {})); +//# sourceMappingURL=v1beta.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/oslogin/v1beta.js.map b/express-server/node_modules/googleapis/build/src/apis/oslogin/v1beta.js.map new file mode 100644 index 00000000..2e95cb00 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/oslogin/v1beta.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1beta.js","sourceRoot":"","sources":["../../../../src/apis/oslogin/v1beta.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/pagespeedonline/README.md b/express-server/node_modules/googleapis/build/src/apis/pagespeedonline/README.md new file mode 100644 index 00000000..51cf9b35 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/pagespeedonline/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/pagespeedonline + +> Analyzes the performance of a web page and provides tailored suggestions to make that page faster. + +## Installation + +```sh +$ npm install @google/pagespeedonline +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/pagespeedonline/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/pagespeedonline/index.d.ts new file mode 100644 index 00000000..b2b399f4 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/pagespeedonline/index.d.ts @@ -0,0 +1,14 @@ +import { pagespeedonline_v1 } from './v1'; +import { pagespeedonline_v2 } from './v2'; +import { pagespeedonline_v4 } from './v4'; +export declare const VERSIONS: { + 'v1': typeof pagespeedonline_v1.Pagespeedonline; + 'v2': typeof pagespeedonline_v2.Pagespeedonline; + 'v4': typeof pagespeedonline_v4.Pagespeedonline; +}; +export declare function pagespeedonline(version: 'v1'): pagespeedonline_v1.Pagespeedonline; +export declare function pagespeedonline(options: pagespeedonline_v1.Options): pagespeedonline_v1.Pagespeedonline; +export declare function pagespeedonline(version: 'v2'): pagespeedonline_v2.Pagespeedonline; +export declare function pagespeedonline(options: pagespeedonline_v2.Options): pagespeedonline_v2.Pagespeedonline; +export declare function pagespeedonline(version: 'v4'): pagespeedonline_v4.Pagespeedonline; +export declare function pagespeedonline(options: pagespeedonline_v4.Options): pagespeedonline_v4.Pagespeedonline; diff --git a/express-server/node_modules/googleapis/build/src/apis/pagespeedonline/index.js b/express-server/node_modules/googleapis/build/src/apis/pagespeedonline/index.js new file mode 100644 index 00000000..42db8b02 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/pagespeedonline/index.js @@ -0,0 +1,29 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +const v2_1 = require("./v2"); +const v4_1 = require("./v4"); +exports.VERSIONS = { + 'v1': v1_1.pagespeedonline_v1.Pagespeedonline, + 'v2': v2_1.pagespeedonline_v2.Pagespeedonline, + 'v4': v4_1.pagespeedonline_v4.Pagespeedonline, +}; +function pagespeedonline(versionOrOptions) { + return googleapis_common_1.getAPI('pagespeedonline', versionOrOptions, exports.VERSIONS, this); +} +exports.pagespeedonline = pagespeedonline; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/pagespeedonline/index.js.map b/express-server/node_modules/googleapis/build/src/apis/pagespeedonline/index.js.map new file mode 100644 index 00000000..397a1149 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/pagespeedonline/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/pagespeedonline/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAwC;AACxC,6BAAwC;AACxC,6BAAwC;AAE3B,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,uBAAkB,CAAC,eAAe;IACxC,IAAI,EAAE,uBAAkB,CAAC,eAAe;IACxC,IAAI,EAAE,uBAAkB,CAAC,eAAe;CACzC,CAAC;AAcF,SAAgB,eAAe,CAK3B,gBAC0D;IAC5D,OAAO,0BAAM,CAAI,iBAAiB,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACxE,CAAC;AARD,0CAQC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/pagespeedonline/package.json b/express-server/node_modules/googleapis/build/src/apis/pagespeedonline/package.json new file mode 100644 index 00000000..fd272367 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/pagespeedonline/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/pagespeedonline", + "version": "0.1.0", + "description": "pagespeedonline", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/pagespeedonline/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/pagespeedonline/v1.d.ts new file mode 100644 index 00000000..0228fbbf --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/pagespeedonline/v1.d.ts @@ -0,0 +1,159 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace pagespeedonline_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * PageSpeed Insights API + * + * Analyzes the performance of a web page and provides tailored suggestions to + * make that page faster. + * + * @example + * const {google} = require('googleapis'); + * const pagespeedonline = google.pagespeedonline('v1'); + * + * @namespace pagespeedonline + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Pagespeedonline + */ + class Pagespeedonline { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + pagespeedapi: Resource$Pagespeedapi; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + interface Schema$Result { + /** + * The captcha verify result + */ + captchaResult?: string; + /** + * Localized PageSpeed results. Contains a ruleResults entry for each + * PageSpeed rule instantiated and run by the server. + */ + formattedResults?: any; + /** + * Canonicalized and final URL for the document, after following page + * redirects (if any). + */ + id?: string; + /** + * List of rules that were specified in the request, but which the server + * did not know how to instantiate. + */ + invalidRules?: string[]; + /** + * Kind of result. + */ + kind?: string; + /** + * Summary statistics for the page, such as number of JavaScript bytes, + * number of HTML bytes, etc. + */ + pageStats?: any; + /** + * Response code for the document. 200 indicates a normal page load. 4xx/5xx + * indicates an error. + */ + responseCode?: number; + /** + * The PageSpeed Score (0-100), which indicates how much faster a page could + * be. A high score indicates little room for improvement, while a lower + * score indicates more room for improvement. + */ + score?: number; + /** + * Base64-encoded screenshot of the page that was analyzed. + */ + screenshot?: any; + /** + * Title of the page, as displayed in the browser's title bar. + */ + title?: string; + /** + * The version of PageSpeed used to generate these results. + */ + version?: any; + } + class Resource$Pagespeedapi { + root: Pagespeedonline; + constructor(root: Pagespeedonline); + getRoot(): Pagespeedonline; + /** + * pagespeedonline.pagespeedapi.runpagespeed + * @desc Runs PageSpeed analysis on the page at the specified URL, and + * returns a PageSpeed score, a list of suggestions to make that page + * faster, and other information. + * @alias pagespeedonline.pagespeedapi.runpagespeed + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.filter_third_party_resources Indicates if third party resources should be filtered out before PageSpeed analysis. + * @param {string=} params.locale The locale used to localize formatted results + * @param {string=} params.rule A PageSpeed rule to run; if none are given, all rules are run + * @param {boolean=} params.screenshot Indicates if binary data containing a screenshot should be included + * @param {string=} params.strategy The analysis strategy to use + * @param {string} params.url The URL to fetch and analyze + * @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 + */ + runpagespeed(params?: Params$Resource$Pagespeedapi$Runpagespeed, options?: MethodOptions): AxiosPromise; + runpagespeed(params: Params$Resource$Pagespeedapi$Runpagespeed, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + runpagespeed(params: Params$Resource$Pagespeedapi$Runpagespeed, callback: BodyResponseCallback): void; + runpagespeed(callback: BodyResponseCallback): void; + } + interface Params$Resource$Pagespeedapi$Runpagespeed { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Indicates if third party resources should be filtered out before + * PageSpeed analysis. + */ + filter_third_party_resources?: boolean; + /** + * The locale used to localize formatted results + */ + locale?: string; + /** + * A PageSpeed rule to run; if none are given, all rules are run + */ + rule?: string; + /** + * Indicates if binary data containing a screenshot should be included + */ + screenshot?: boolean; + /** + * The analysis strategy to use + */ + strategy?: string; + /** + * The URL to fetch and analyze + */ + url?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/pagespeedonline/v1.js b/express-server/node_modules/googleapis/build/src/apis/pagespeedonline/v1.js new file mode 100644 index 00000000..8c427b80 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/pagespeedonline/v1.js @@ -0,0 +1,97 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var pagespeedonline_v1; +(function (pagespeedonline_v1) { + /** + * PageSpeed Insights API + * + * Analyzes the performance of a web page and provides tailored suggestions to + * make that page faster. + * + * @example + * const {google} = require('googleapis'); + * const pagespeedonline = google.pagespeedonline('v1'); + * + * @namespace pagespeedonline + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Pagespeedonline + */ + class Pagespeedonline { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.pagespeedapi = new Resource$Pagespeedapi(this); + } + getRoot() { + return this.root; + } + } + pagespeedonline_v1.Pagespeedonline = Pagespeedonline; + class Resource$Pagespeedapi { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + runpagespeed(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/pagespeedonline/v1/runPagespeed') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['url'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + pagespeedonline_v1.Resource$Pagespeedapi = Resource$Pagespeedapi; +})(pagespeedonline_v1 = exports.pagespeedonline_v1 || (exports.pagespeedonline_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/pagespeedonline/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/pagespeedonline/v1.js.map new file mode 100644 index 00000000..968c32b7 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/pagespeedonline/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/pagespeedonline/v1.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAIH,yDAA2H;AAE3H,yBAAyB;AACzB,6BAA6B;AAC7B,gCAAgC;AAChC,+BAA+B;AAC/B,+BAA+B;AAE/B,IAAiB,kBAAkB,CAqNlC;AArND,WAAiB,kBAAkB;IAKjC;;;;;;;;;;;;;;;OAeG;IACH,MAAa,eAAe;QAO1B,YAAY,OAAsB,EAAE,MAA2B;YAJ/D,SAAI,GAAG,IAAI,CAAC;YAKV,IAAI,CAAC,QAAQ,GAAG,OAAO,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAExB,IAAI,CAAC,YAAY,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACtD,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;KACF;IAlBY,kCAAe,kBAkB3B,CAAA;IAyDD,MAAa,qBAAqB;QAEhC,YAAY,IAAqB;YAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAiCD,YAAY,CACR,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA8C,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA+C,CAAC;gBACzD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,kCAAkC,CAAC;yBACzC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,KAAK,CAAC;gBACvB,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;KACF;IAnFY,wCAAqB,wBAmFjC,CAAA;AAkCH,CAAC,EArNgB,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAqNlC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/pagespeedonline/v2.d.ts b/express-server/node_modules/googleapis/build/src/apis/pagespeedonline/v2.d.ts new file mode 100644 index 00000000..8c5d9099 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/pagespeedonline/v2.d.ts @@ -0,0 +1,197 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace pagespeedonline_v2 { + interface Options extends GlobalOptions { + version: 'v2'; + } + /** + * PageSpeed Insights API + * + * Analyzes the performance of a web page and provides tailored suggestions to + * make that page faster. + * + * @example + * const {google} = require('googleapis'); + * const pagespeedonline = google.pagespeedonline('v2'); + * + * @namespace pagespeedonline + * @type {Function} + * @version v2 + * @variation v2 + * @param {object=} options Options for Pagespeedonline + */ + class Pagespeedonline { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + pagespeedapi: Resource$Pagespeedapi; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + interface Schema$PagespeedApiFormatStringV2 { + /** + * List of arguments for the format string. + */ + args?: any[]; + /** + * A localized format string with {{FOO}} placeholders, where 'FOO' + * is the key of the argument whose value should be substituted. For + * HYPERLINK arguments, the format string will instead contain {{BEGIN_FOO}} + * and {{END_FOO}} for the argument with key 'FOO'. + */ + format?: string; + } + interface Schema$PagespeedApiImageV2 { + /** + * Image data base64 encoded. + */ + data?: string; + /** + * Height of screenshot in pixels. + */ + height?: number; + /** + * Unique string key, if any, identifying this image. + */ + key?: string; + /** + * Mime type of image data (e.g. "image/jpeg"). + */ + mime_type?: string; + /** + * The region of the page that is captured by this image, with dimensions + * measured in CSS pixels. + */ + page_rect?: any; + /** + * Width of screenshot in pixels. + */ + width?: number; + } + interface Schema$Result { + /** + * The captcha verify result + */ + captchaResult?: string; + /** + * Localized PageSpeed results. Contains a ruleResults entry for each + * PageSpeed rule instantiated and run by the server. + */ + formattedResults?: any; + /** + * Canonicalized and final URL for the document, after following page + * redirects (if any). + */ + id?: string; + /** + * List of rules that were specified in the request, but which the server + * did not know how to instantiate. + */ + invalidRules?: string[]; + /** + * Kind of result. + */ + kind?: string; + /** + * Summary statistics for the page, such as number of JavaScript bytes, + * number of HTML bytes, etc. + */ + pageStats?: any; + /** + * Response code for the document. 200 indicates a normal page load. 4xx/5xx + * indicates an error. + */ + responseCode?: number; + /** + * A map with one entry for each rule group in these results. + */ + ruleGroups?: any; + /** + * Base64-encoded screenshot of the page that was analyzed. + */ + screenshot?: Schema$PagespeedApiImageV2; + /** + * Title of the page, as displayed in the browser's title bar. + */ + title?: string; + /** + * The version of PageSpeed used to generate these results. + */ + version?: any; + } + class Resource$Pagespeedapi { + root: Pagespeedonline; + constructor(root: Pagespeedonline); + getRoot(): Pagespeedonline; + /** + * pagespeedonline.pagespeedapi.runpagespeed + * @desc Runs PageSpeed analysis on the page at the specified URL, and + * returns PageSpeed scores, a list of suggestions to make that page faster, + * and other information. + * @alias pagespeedonline.pagespeedapi.runpagespeed + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.filter_third_party_resources Indicates if third party resources should be filtered out before PageSpeed analysis. + * @param {string=} params.locale The locale used to localize formatted results + * @param {string=} params.rule A PageSpeed rule to run; if none are given, all rules are run + * @param {boolean=} params.screenshot Indicates if binary data containing a screenshot should be included + * @param {string=} params.strategy The analysis strategy to use + * @param {string} params.url The URL to fetch and analyze + * @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 + */ + runpagespeed(params?: Params$Resource$Pagespeedapi$Runpagespeed, options?: MethodOptions): AxiosPromise; + runpagespeed(params: Params$Resource$Pagespeedapi$Runpagespeed, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + runpagespeed(params: Params$Resource$Pagespeedapi$Runpagespeed, callback: BodyResponseCallback): void; + runpagespeed(callback: BodyResponseCallback): void; + } + interface Params$Resource$Pagespeedapi$Runpagespeed { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Indicates if third party resources should be filtered out before + * PageSpeed analysis. + */ + filter_third_party_resources?: boolean; + /** + * The locale used to localize formatted results + */ + locale?: string; + /** + * A PageSpeed rule to run; if none are given, all rules are run + */ + rule?: string; + /** + * Indicates if binary data containing a screenshot should be included + */ + screenshot?: boolean; + /** + * The analysis strategy to use + */ + strategy?: string; + /** + * The URL to fetch and analyze + */ + url?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/pagespeedonline/v2.js b/express-server/node_modules/googleapis/build/src/apis/pagespeedonline/v2.js new file mode 100644 index 00000000..d04e74d4 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/pagespeedonline/v2.js @@ -0,0 +1,97 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var pagespeedonline_v2; +(function (pagespeedonline_v2) { + /** + * PageSpeed Insights API + * + * Analyzes the performance of a web page and provides tailored suggestions to + * make that page faster. + * + * @example + * const {google} = require('googleapis'); + * const pagespeedonline = google.pagespeedonline('v2'); + * + * @namespace pagespeedonline + * @type {Function} + * @version v2 + * @variation v2 + * @param {object=} options Options for Pagespeedonline + */ + class Pagespeedonline { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.pagespeedapi = new Resource$Pagespeedapi(this); + } + getRoot() { + return this.root; + } + } + pagespeedonline_v2.Pagespeedonline = Pagespeedonline; + class Resource$Pagespeedapi { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + runpagespeed(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/pagespeedonline/v2/runPagespeed') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['url'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + pagespeedonline_v2.Resource$Pagespeedapi = Resource$Pagespeedapi; +})(pagespeedonline_v2 = exports.pagespeedonline_v2 || (exports.pagespeedonline_v2 = {})); +//# sourceMappingURL=v2.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/pagespeedonline/v2.js.map b/express-server/node_modules/googleapis/build/src/apis/pagespeedonline/v2.js.map new file mode 100644 index 00000000..4fd8f2a5 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/pagespeedonline/v2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v2.js","sourceRoot":"","sources":["../../../../src/apis/pagespeedonline/v2.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAIH,yDAA2H;AAE3H,yBAAyB;AACzB,6BAA6B;AAC7B,gCAAgC;AAChC,+BAA+B;AAC/B,+BAA+B;AAE/B,IAAiB,kBAAkB,CA2PlC;AA3PD,WAAiB,kBAAkB;IAKjC;;;;;;;;;;;;;;;OAeG;IACH,MAAa,eAAe;QAO1B,YAAY,OAAsB,EAAE,MAA2B;YAJ/D,SAAI,GAAG,IAAI,CAAC;YAKV,IAAI,CAAC,QAAQ,GAAG,OAAO,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAExB,IAAI,CAAC,YAAY,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACtD,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;KACF;IAlBY,kCAAe,kBAkB3B,CAAA;IA+FD,MAAa,qBAAqB;QAEhC,YAAY,IAAqB;YAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAiCD,YAAY,CACR,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA8C,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA+C,CAAC;gBACzD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,kCAAkC,CAAC;yBACzC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,KAAK,CAAC;gBACvB,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;KACF;IAnFY,wCAAqB,wBAmFjC,CAAA;AAkCH,CAAC,EA3PgB,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QA2PlC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/pagespeedonline/v4.d.ts b/express-server/node_modules/googleapis/build/src/apis/pagespeedonline/v4.d.ts new file mode 100644 index 00000000..94d77f66 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/pagespeedonline/v4.d.ts @@ -0,0 +1,218 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace pagespeedonline_v4 { + interface Options extends GlobalOptions { + version: 'v4'; + } + /** + * PageSpeed Insights API + * + * Analyzes the performance of a web page and provides tailored suggestions to + * make that page faster. + * + * @example + * const {google} = require('googleapis'); + * const pagespeedonline = google.pagespeedonline('v4'); + * + * @namespace pagespeedonline + * @type {Function} + * @version v4 + * @variation v4 + * @param {object=} options Options for Pagespeedonline + */ + class Pagespeedonline { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + pagespeedapi: Resource$Pagespeedapi; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + interface Schema$PagespeedApiFormatStringV4 { + /** + * List of arguments for the format string. + */ + args?: any[]; + /** + * A localized format string with {{FOO}} placeholders, where 'FOO' + * is the key of the argument whose value should be substituted. For + * HYPERLINK arguments, the format string will instead contain {{BEGIN_FOO}} + * and {{END_FOO}} for the argument with key 'FOO'. + */ + format?: string; + } + interface Schema$PagespeedApiImageV4 { + /** + * Image data base64 encoded. + */ + data?: string; + /** + * Height of screenshot in pixels. + */ + height?: number; + /** + * Unique string key, if any, identifying this image. + */ + key?: string; + /** + * Mime type of image data (e.g. "image/jpeg"). + */ + mime_type?: string; + page_rect?: any; + /** + * Width of screenshot in pixels. + */ + width?: number; + } + interface Schema$PagespeedApiPagespeedResponseV4 { + /** + * The captcha verify result + */ + captchaResult?: string; + /** + * Localized PageSpeed results. Contains a ruleResults entry for each + * PageSpeed rule instantiated and run by the server. + */ + formattedResults?: any; + /** + * Canonicalized and final URL for the document, after following page + * redirects (if any). + */ + id?: string; + /** + * List of rules that were specified in the request, but which the server + * did not know how to instantiate. + */ + invalidRules?: string[]; + /** + * Kind of result. + */ + kind?: string; + /** + * Metrics of end users' page loading experience. + */ + loadingExperience?: any; + /** + * Summary statistics for the page, such as number of JavaScript bytes, + * number of HTML bytes, etc. + */ + pageStats?: any; + /** + * Response code for the document. 200 indicates a normal page load. 4xx/5xx + * indicates an error. + */ + responseCode?: number; + /** + * A map with one entry for each rule group in these results. + */ + ruleGroups?: any; + /** + * Base64-encoded screenshot of the page that was analyzed. + */ + screenshot?: Schema$PagespeedApiImageV4; + /** + * Additional base64-encoded screenshots of the page, in various partial + * render states. + */ + snapshots?: Schema$PagespeedApiImageV4[]; + /** + * Title of the page, as displayed in the browser's title bar. + */ + title?: string; + /** + * The version of PageSpeed used to generate these results. + */ + version?: any; + } + class Resource$Pagespeedapi { + root: Pagespeedonline; + constructor(root: Pagespeedonline); + getRoot(): Pagespeedonline; + /** + * pagespeedonline.pagespeedapi.runpagespeed + * @desc Runs PageSpeed analysis on the page at the specified URL, and + * returns PageSpeed scores, a list of suggestions to make that page faster, + * and other information. + * @alias pagespeedonline.pagespeedapi.runpagespeed + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.filter_third_party_resources Indicates if third party resources should be filtered out before PageSpeed analysis. + * @param {string=} params.locale The locale used to localize formatted results + * @param {string=} params.rule A PageSpeed rule to run; if none are given, all rules are run + * @param {boolean=} params.screenshot Indicates if binary data containing a screenshot should be included + * @param {boolean=} params.snapshots Indicates if binary data containing snapshot images should be included + * @param {string=} params.strategy The analysis strategy (desktop or mobile) to use, and desktop is the default + * @param {string} params.url The URL to fetch and analyze + * @param {string=} params.utm_campaign Campaign name for analytics. + * @param {string=} params.utm_source Campaign source for analytics. + * @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 + */ + runpagespeed(params?: Params$Resource$Pagespeedapi$Runpagespeed, options?: MethodOptions): AxiosPromise; + runpagespeed(params: Params$Resource$Pagespeedapi$Runpagespeed, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + runpagespeed(params: Params$Resource$Pagespeedapi$Runpagespeed, callback: BodyResponseCallback): void; + runpagespeed(callback: BodyResponseCallback): void; + } + interface Params$Resource$Pagespeedapi$Runpagespeed { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Indicates if third party resources should be filtered out before + * PageSpeed analysis. + */ + filter_third_party_resources?: boolean; + /** + * The locale used to localize formatted results + */ + locale?: string; + /** + * A PageSpeed rule to run; if none are given, all rules are run + */ + rule?: string; + /** + * Indicates if binary data containing a screenshot should be included + */ + screenshot?: boolean; + /** + * Indicates if binary data containing snapshot images should be included + */ + snapshots?: boolean; + /** + * The analysis strategy (desktop or mobile) to use, and desktop is the + * default + */ + strategy?: string; + /** + * The URL to fetch and analyze + */ + url?: string; + /** + * Campaign name for analytics. + */ + utm_campaign?: string; + /** + * Campaign source for analytics. + */ + utm_source?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/pagespeedonline/v4.js b/express-server/node_modules/googleapis/build/src/apis/pagespeedonline/v4.js new file mode 100644 index 00000000..1fbfcae5 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/pagespeedonline/v4.js @@ -0,0 +1,97 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var pagespeedonline_v4; +(function (pagespeedonline_v4) { + /** + * PageSpeed Insights API + * + * Analyzes the performance of a web page and provides tailored suggestions to + * make that page faster. + * + * @example + * const {google} = require('googleapis'); + * const pagespeedonline = google.pagespeedonline('v4'); + * + * @namespace pagespeedonline + * @type {Function} + * @version v4 + * @variation v4 + * @param {object=} options Options for Pagespeedonline + */ + class Pagespeedonline { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.pagespeedapi = new Resource$Pagespeedapi(this); + } + getRoot() { + return this.root; + } + } + pagespeedonline_v4.Pagespeedonline = Pagespeedonline; + class Resource$Pagespeedapi { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + runpagespeed(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/pagespeedonline/v4/runPagespeed') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['url'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + pagespeedonline_v4.Resource$Pagespeedapi = Resource$Pagespeedapi; +})(pagespeedonline_v4 = exports.pagespeedonline_v4 || (exports.pagespeedonline_v4 = {})); +//# sourceMappingURL=v4.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/pagespeedonline/v4.js.map b/express-server/node_modules/googleapis/build/src/apis/pagespeedonline/v4.js.map new file mode 100644 index 00000000..47e567df --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/pagespeedonline/v4.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v4.js","sourceRoot":"","sources":["../../../../src/apis/pagespeedonline/v4.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAIH,yDAA2H;AAE3H,yBAAyB;AACzB,6BAA6B;AAC7B,gCAAgC;AAChC,+BAA+B;AAC/B,+BAA+B;AAE/B,IAAiB,kBAAkB,CA0RlC;AA1RD,WAAiB,kBAAkB;IAKjC;;;;;;;;;;;;;;;OAeG;IACH,MAAa,eAAe;QAO1B,YAAY,OAAsB,EAAE,MAA2B;YAJ/D,SAAI,GAAG,IAAI,CAAC;YAKV,IAAI,CAAC,QAAQ,GAAG,OAAO,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAExB,IAAI,CAAC,YAAY,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACtD,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;KACF;IAlBY,kCAAe,kBAkB3B,CAAA;IAoGD,MAAa,qBAAqB;QAEhC,YAAY,IAAqB;YAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA0CD,YAAY,CACR,gBAC4D,EAC5D,iBAC4D,EAC5D,QACgE;YAElE,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA8C,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA+C,CAAC;gBACzD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,kCAAkC,CAAC;yBACzC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,KAAK,CAAC;gBACvB,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;KACF;IAhGY,wCAAqB,wBAgGjC,CAAA;AA+CH,CAAC,EA1RgB,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QA0RlC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/partners/README.md b/express-server/node_modules/googleapis/build/src/apis/partners/README.md new file mode 100644 index 00000000..41e0df7e --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/partners/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/partners + +> Searches certified companies and creates contact leads with them, and also audits the usage of clients. + +## Installation + +```sh +$ npm install @google/partners +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/partners/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/partners/index.d.ts new file mode 100644 index 00000000..c9611765 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/partners/index.d.ts @@ -0,0 +1,6 @@ +import { partners_v2 } from './v2'; +export declare const VERSIONS: { + 'v2': typeof partners_v2.Partners; +}; +export declare function partners(version: 'v2'): partners_v2.Partners; +export declare function partners(options: partners_v2.Options): partners_v2.Partners; diff --git a/express-server/node_modules/googleapis/build/src/apis/partners/index.js b/express-server/node_modules/googleapis/build/src/apis/partners/index.js new file mode 100644 index 00000000..e29300c2 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/partners/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v2_1 = require("./v2"); +exports.VERSIONS = { + 'v2': v2_1.partners_v2.Partners, +}; +function partners(versionOrOptions) { + return googleapis_common_1.getAPI('partners', versionOrOptions, exports.VERSIONS, this); +} +exports.partners = partners; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/partners/index.js.map b/express-server/node_modules/googleapis/build/src/apis/partners/index.js.map new file mode 100644 index 00000000..76b06d89 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/partners/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/partners/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAiC;AAEpB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,gBAAW,CAAC,QAAQ;CAC3B,CAAC;AAIF,SAAgB,QAAQ,CACM,gBAA0C;IACtE,OAAO,0BAAM,CAAI,UAAU,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACjE,CAAC;AAHD,4BAGC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/partners/package.json b/express-server/node_modules/googleapis/build/src/apis/partners/package.json new file mode 100644 index 00000000..50ac6fd4 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/partners/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/partners", + "version": "0.1.0", + "description": "partners", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/partners/v2.d.ts b/express-server/node_modules/googleapis/build/src/apis/partners/v2.d.ts new file mode 100644 index 00000000..4db7f70c --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/partners/v2.d.ts @@ -0,0 +1,2612 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace partners_v2 { + interface Options extends GlobalOptions { + version: 'v2'; + } + /** + * Google Partners API + * + * Searches certified companies and creates contact leads with them, and also + * audits the usage of clients. + * + * @example + * const {google} = require('googleapis'); + * const partners = google.partners('v2'); + * + * @namespace partners + * @type {Function} + * @version v2 + * @variation v2 + * @param {object=} options Options for Partners + */ + class Partners { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + analytics: Resource$Analytics; + clientMessages: Resource$Clientmessages; + companies: Resource$Companies; + leads: Resource$Leads; + offers: Resource$Offers; + userEvents: Resource$Userevents; + users: Resource$Users; + userStates: Resource$Userstates; + v2: Resource$V2; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Information about a particular AdWords Manager Account. Read more at + * https://support.google.com/adwords/answer/6139186 + */ + interface Schema$AdWordsManagerAccountInfo { + /** + * Name of the customer this account represents. + */ + customerName?: string; + /** + * The AdWords Manager Account id. + */ + id?: string; + } + /** + * Analytics data for a `Company` within a single day. + */ + interface Schema$Analytics { + /** + * Instances of users contacting the `Company` on the specified date. + */ + contacts?: Schema$AnalyticsDataPoint; + /** + * Date on which these events occurred. + */ + eventDate?: Schema$Date; + /** + * Instances of users viewing the `Company` profile on the specified date. + */ + profileViews?: Schema$AnalyticsDataPoint; + /** + * Instances of users seeing the `Company` in Google Partners Search results + * on the specified date. + */ + searchViews?: Schema$AnalyticsDataPoint; + } + /** + * Details of the analytics events for a `Company` within a single day. + */ + interface Schema$AnalyticsDataPoint { + /** + * Number of times the type of event occurred. Meaning depends on context + * (e.g. profile views, contacts, etc.). + */ + eventCount?: number; + /** + * Location information of where these events occurred. + */ + eventLocations?: Schema$LatLng[]; + } + /** + * Analytics aggregated data for a `Company` for a given date range. + */ + interface Schema$AnalyticsSummary { + /** + * Aggregated number of times users contacted the `Company` for given date + * range. + */ + contactsCount?: number; + /** + * Aggregated number of profile views for the `Company` for given date + * range. + */ + profileViewsCount?: number; + /** + * Aggregated number of times users saw the `Company` in Google Partners + * Search results for given date range. + */ + searchViewsCount?: number; + } + /** + * Available Offers to be distributed. + */ + interface Schema$AvailableOffer { + /** + * The number of codes for this offer that are available for distribution. + */ + available?: number; + /** + * Offer info by country. + */ + countryOfferInfos?: Schema$CountryOfferInfo[]; + /** + * Description of the offer. + */ + description?: string; + /** + * ID of this offer. + */ + id?: string; + /** + * The maximum age of an account [in days] to be eligible. + */ + maxAccountAge?: number; + /** + * Name of the offer. + */ + name?: string; + /** + * Level of this offer. + */ + offerLevel?: string; + /** + * Type of offer. + */ + offerType?: string; + /** + * Customers who qualify for this offer. + */ + qualifiedCustomer?: Schema$OfferCustomer[]; + /** + * Whether or not the list of qualified customers is definitely complete. + */ + qualifiedCustomersComplete?: boolean; + /** + * Should special text be shown on the offers page. + */ + showSpecialOfferCopy?: boolean; + /** + * Terms of the offer. + */ + terms?: string; + } + /** + * A user's information on a specific certification. + */ + interface Schema$Certification { + /** + * Whether this certification has been achieved. + */ + achieved?: boolean; + /** + * The type of certification, the area of expertise. + */ + certificationType?: string; + /** + * Date this certification is due to expire. + */ + expiration?: string; + /** + * The date the user last achieved certification. + */ + lastAchieved?: string; + /** + * Whether this certification is in the state of warning. + */ + warning?: boolean; + } + /** + * Status for a Google Partners certification exam. + */ + interface Schema$CertificationExamStatus { + /** + * The number of people who have passed the certification exam. + */ + numberUsersPass?: number; + /** + * The type of certification exam. + */ + type?: string; + } + /** + * Google Partners certification status. + */ + interface Schema$CertificationStatus { + /** + * List of certification exam statuses. + */ + examStatuses?: Schema$CertificationExamStatus[]; + /** + * Whether certification is passing. + */ + isCertified?: boolean; + /** + * The type of the certification. + */ + type?: string; + /** + * Number of people who are certified, + */ + userCount?: number; + } + /** + * A company resource in the Google Partners API. Once certified, it qualifies + * for being searched by advertisers. + */ + interface Schema$Company { + /** + * URL of the company's additional websites used to verify the dynamic + * badges. These are stored as full URLs as entered by the user, but only + * the TLD will be used for the actual verification. + */ + additionalWebsites?: string[]; + /** + * Email domains that allow users with a matching email address to get + * auto-approved for associating with this company. + */ + autoApprovalEmailDomains?: string[]; + /** + * Whether the company's badge authority is in AWN + */ + badgeAuthorityInAwn?: boolean; + /** + * Partner badge tier + */ + badgeTier?: string; + /** + * The list of Google Partners certification statuses for the company. + */ + certificationStatuses?: Schema$CertificationStatus[]; + /** + * Company type labels listed on the company's profile. + */ + companyTypes?: string[]; + /** + * The minimum monthly budget that the company accepts for partner business, + * converted to the requested currency code. + */ + convertedMinMonthlyBudget?: Schema$Money; + /** + * The ID of the company. + */ + id?: string; + /** + * Industries the company can help with. + */ + industries?: string[]; + /** + * The list of localized info for the company. + */ + localizedInfos?: Schema$LocalizedCompanyInfo[]; + /** + * The list of all company locations. If set, must include the + * primary_location in the list. + */ + locations?: Schema$Location[]; + /** + * The name of the company. + */ + name?: string; + /** + * The unconverted minimum monthly budget that the company accepts for + * partner business. + */ + originalMinMonthlyBudget?: Schema$Money; + /** + * The Primary AdWords Manager Account id. + */ + primaryAdwordsManagerAccountId?: string; + /** + * The primary language code of the company, as defined by <a + * href="https://tools.ietf.org/html/bcp47">BCP 47</a> + * (IETF BCP 47, "Tags for Identifying Languages"). + */ + primaryLanguageCode?: string; + /** + * The primary location of the company. + */ + primaryLocation?: Schema$Location; + /** + * The public viewability status of the company's profile. + */ + profileStatus?: string; + /** + * Basic information from the company's public profile. + */ + publicProfile?: Schema$PublicProfile; + /** + * Information related to the ranking of the company within the list of + * companies. + */ + ranks?: Schema$Rank[]; + /** + * Services the company can help with. + */ + services?: string[]; + /** + * The list of Google Partners specialization statuses for the company. + */ + specializationStatus?: Schema$SpecializationStatus[]; + /** + * URL of the company's website. + */ + websiteUrl?: string; + } + /** + * A CompanyRelation resource representing information about a user's + * affiliation and standing with a company in Partners. + */ + interface Schema$CompanyRelation { + /** + * The primary address for this company. + */ + address?: string; + /** + * Whether the company is a Partner. + */ + badgeTier?: string; + /** + * Indicates if the user is an admin for this company. + */ + companyAdmin?: boolean; + /** + * The ID of the company. There may be no id if this is a pending company.5 + */ + companyId?: string; + /** + * The timestamp of when affiliation was requested. @OutputOnly + */ + creationTime?: string; + /** + * The internal company ID. Only available for a whitelisted set of api + * clients. + */ + internalCompanyId?: string; + /** + * The flag that indicates if the company is pending verification. + */ + isPending?: boolean; + /** + * A URL to a profile photo, e.g. a G+ profile photo. + */ + logoUrl?: string; + /** + * The AdWords manager account # associated this company. + */ + managerAccount?: string; + /** + * The name (in the company's primary language) for the company. + */ + name?: string; + /** + * The phone number for the company's primary address. + */ + phoneNumber?: string; + /** + * The primary location of the company. + */ + primaryAddress?: Schema$Location; + /** + * The primary country code of the company. + */ + primaryCountryCode?: string; + /** + * The primary language code of the company. + */ + primaryLanguageCode?: string; + /** + * The timestamp when the user was approved. @OutputOnly + */ + resolvedTimestamp?: string; + /** + * The segment the company is classified as. + */ + segment?: string[]; + /** + * The list of Google Partners specialization statuses for the company. + */ + specializationStatus?: Schema$SpecializationStatus[]; + /** + * The state of relationship, in terms of approvals. + */ + state?: string; + /** + * The website URL for this company. + */ + website?: string; + } + /** + * Offer info by country. + */ + interface Schema$CountryOfferInfo { + /** + * (localized) Get Y amount for that country's offer. + */ + getYAmount?: string; + /** + * Country code for which offer codes may be requested. + */ + offerCountryCode?: string; + /** + * Type of offer country is eligible for. + */ + offerType?: string; + /** + * (localized) Spend X amount for that country's offer. + */ + spendXAmount?: string; + } + /** + * Request message for CreateLead. + */ + interface Schema$CreateLeadRequest { + /** + * The lead resource. The `LeadType` must not be `LEAD_TYPE_UNSPECIFIED` and + * either `email` or `phone_number` must be provided. + */ + lead?: Schema$Lead; + /** + * <a + * href="https://www.google.com/recaptcha/">reCaptcha</a> + * challenge info. + */ + recaptchaChallenge?: Schema$RecaptchaChallenge; + /** + * Current request metadata. + */ + requestMetadata?: Schema$RequestMetadata; + } + /** + * Response message for CreateLead. + */ + interface Schema$CreateLeadResponse { + /** + * Lead that was created depending on the outcome of <a + * href="https://www.google.com/recaptcha/">reCaptcha</a> + * validation. + */ + lead?: Schema$Lead; + /** + * The outcome of <a + * href="https://www.google.com/recaptcha/">reCaptcha</a> + * validation. + */ + recaptchaStatus?: string; + /** + * Current response metadata. + */ + responseMetadata?: Schema$ResponseMetadata; + } + /** + * Represents a whole calendar date, for example date of birth. The time of + * day and time zone are either specified elsewhere or are not significant. + * The date is relative to the Proleptic Gregorian Calendar. The day can be 0 + * to represent a year and month where the day is not significant, for example + * credit card expiration date. The year can be 0 to represent a month and day + * independent of year, for example anniversary date. Related types are + * google.type.TimeOfDay and `google.protobuf.Timestamp`. + */ + interface Schema$Date { + /** + * Day of month. Must be from 1 to 31 and valid for the year and month, or 0 + * if specifying a year/month where the day is not significant. + */ + day?: number; + /** + * Month of year. Must be from 1 to 12, or 0 if specifying a date without a + * month. + */ + month?: number; + /** + * Year of date. Must be from 1 to 9999, or 0 if specifying a date without a + * year. + */ + year?: number; + } + /** + * Debug information about this request. + */ + interface Schema$DebugInfo { + /** + * Info about the server that serviced this request. + */ + serverInfo?: string; + /** + * Server-side debug stack trace. + */ + serverTraceInfo?: string; + /** + * URL of the service that handled this request. + */ + serviceUrl?: string; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * Key value data pair for an event. + */ + interface Schema$EventData { + /** + * Data type. + */ + key?: string; + /** + * Data values. + */ + values?: string[]; + } + /** + * A user's information on a specific exam. + */ + interface Schema$ExamStatus { + /** + * The type of the exam. + */ + examType?: string; + /** + * Date this exam is due to expire. + */ + expiration?: string; + /** + * The date the user last passed this exam. + */ + lastPassed?: string; + /** + * Whether this exam has been passed and not expired. + */ + passed?: boolean; + /** + * The date the user last taken this exam. + */ + taken?: string; + /** + * Whether this exam is in the state of warning. + */ + warning?: boolean; + } + /** + * Response message for GetCompany. + */ + interface Schema$GetCompanyResponse { + /** + * The company. + */ + company?: Schema$Company; + /** + * Current response metadata. + */ + responseMetadata?: Schema$ResponseMetadata; + } + /** + * Response message for GetPartnersStatus. + */ + interface Schema$GetPartnersStatusResponse { + /** + * Current response metadata. + */ + responseMetadata?: Schema$ResponseMetadata; + } + /** + * Historical information about a Google Partners Offer. + */ + interface Schema$HistoricalOffer { + /** + * Client's AdWords page URL. + */ + adwordsUrl?: string; + /** + * Email address for client. + */ + clientEmail?: string; + /** + * ID of client. + */ + clientId?: string; + /** + * Name of the client. + */ + clientName?: string; + /** + * Time offer was first created. + */ + creationTime?: string; + /** + * Time this offer expires. + */ + expirationTime?: string; + /** + * Time last action was taken. + */ + lastModifiedTime?: string; + /** + * Offer code. + */ + offerCode?: string; + /** + * Country Code for the offer country. + */ + offerCountryCode?: string; + /** + * Type of offer. + */ + offerType?: string; + /** + * Name (First + Last) of the partners user to whom the incentive is + * allocated. + */ + senderName?: string; + /** + * Status of the offer. + */ + status?: string; + } + /** + * An object representing a latitude/longitude pair. This is expressed as a + * pair of doubles representing degrees latitude and degrees longitude. Unless + * specified otherwise, this must conform to the <a + * href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84 + * standard</a>. Values must be within normalized ranges. + */ + interface Schema$LatLng { + /** + * The latitude in degrees. It must be in the range [-90.0, +90.0]. + */ + latitude?: number; + /** + * The longitude in degrees. It must be in the range [-180.0, +180.0]. + */ + longitude?: number; + } + /** + * A lead resource that represents an advertiser contact for a `Company`. + * These are usually generated via Google Partner Search (the advertiser + * portal). + */ + interface Schema$Lead { + /** + * The AdWords Customer ID of the lead. + */ + adwordsCustomerId?: string; + /** + * Comments lead source gave. + */ + comments?: string; + /** + * Timestamp of when this lead was created. + */ + createTime?: string; + /** + * Email address of lead source. + */ + email?: string; + /** + * Last name of lead source. + */ + familyName?: string; + /** + * First name of lead source. + */ + givenName?: string; + /** + * List of reasons for using Google Partner Search and creating a lead. + */ + gpsMotivations?: string[]; + /** + * ID of the lead. + */ + id?: string; + /** + * Language code of the lead's language preference, as defined by <a + * href="https://tools.ietf.org/html/bcp47">BCP 47</a> + * (IETF BCP 47, "Tags for Identifying Languages"). + */ + languageCode?: string; + /** + * Whether or not the lead signed up for marketing emails + */ + marketingOptIn?: boolean; + /** + * The minimum monthly budget lead source is willing to spend. + */ + minMonthlyBudget?: Schema$Money; + /** + * Phone number of lead source. + */ + phoneNumber?: string; + /** + * The lead's state in relation to the company. + */ + state?: string; + /** + * Type of lead. + */ + type?: string; + /** + * Website URL of lead source. + */ + websiteUrl?: string; + } + /** + * Response message for ListAnalytics. + */ + interface Schema$ListAnalyticsResponse { + /** + * The list of analytics. Sorted in ascending order of Analytics.event_date. + */ + analytics?: Schema$Analytics[]; + /** + * Aggregated information across the response's analytics. + */ + analyticsSummary?: Schema$AnalyticsSummary; + /** + * A token to retrieve next page of results. Pass this value in the + * `ListAnalyticsRequest.page_token` field in the subsequent call to + * ListAnalytics to retrieve the next page of results. + */ + nextPageToken?: string; + /** + * Current response metadata. + */ + responseMetadata?: Schema$ResponseMetadata; + } + /** + * Response message for ListCompanies. + */ + interface Schema$ListCompaniesResponse { + /** + * The list of companies. + */ + companies?: Schema$Company[]; + /** + * A token to retrieve next page of results. Pass this value in the + * `ListCompaniesRequest.page_token` field in the subsequent call to + * ListCompanies to retrieve the next page of results. + */ + nextPageToken?: string; + /** + * Current response metadata. + */ + responseMetadata?: Schema$ResponseMetadata; + } + /** + * Response message for ListLeads. + */ + interface Schema$ListLeadsResponse { + /** + * The list of leads. + */ + leads?: Schema$Lead[]; + /** + * A token to retrieve next page of results. Pass this value in the + * `ListLeadsRequest.page_token` field in the subsequent call to ListLeads + * to retrieve the next page of results. + */ + nextPageToken?: string; + /** + * Current response metadata. + */ + responseMetadata?: Schema$ResponseMetadata; + /** + * The total count of leads for the given company. + */ + totalSize?: number; + } + /** + * Response for ListOfferHistory. + */ + interface Schema$ListOffersHistoryResponse { + /** + * True if the user has the option to show entire company history. + */ + canShowEntireCompany?: boolean; + /** + * Supply this token in a ListOffersHistoryRequest to retrieve the next + * page. + */ + nextPageToken?: string; + /** + * Historical offers meeting request. + */ + offers?: Schema$HistoricalOffer[]; + /** + * Current response metadata. + */ + responseMetadata?: Schema$ResponseMetadata; + /** + * True if this response is showing entire company history. + */ + showingEntireCompany?: boolean; + /** + * Number of results across all pages. + */ + totalResults?: number; + } + /** + * Response for ListOffer. + */ + interface Schema$ListOffersResponse { + /** + * Available Offers to be distributed. + */ + availableOffers?: Schema$AvailableOffer[]; + /** + * Reason why no Offers are available. + */ + noOfferReason?: string; + /** + * Current response metadata. + */ + responseMetadata?: Schema$ResponseMetadata; + } + /** + * Response message for ListUserStates. + */ + interface Schema$ListUserStatesResponse { + /** + * Current response metadata. + */ + responseMetadata?: Schema$ResponseMetadata; + /** + * User's states. + */ + userStates?: string[]; + } + /** + * The localized company information. + */ + interface Schema$LocalizedCompanyInfo { + /** + * List of country codes for the localized company info. + */ + countryCodes?: string[]; + /** + * Localized display name. + */ + displayName?: string; + /** + * Language code of the localized company info, as defined by <a + * href="https://tools.ietf.org/html/bcp47">BCP 47</a> + * (IETF BCP 47, "Tags for Identifying Languages"). + */ + languageCode?: string; + /** + * Localized brief description that the company uses to advertise + * themselves. + */ + overview?: string; + } + /** + * A location with address and geographic coordinates. May optionally contain + * a detailed (multi-field) version of the address. + */ + interface Schema$Location { + /** + * The single string version of the address. + */ + address?: string; + /** + * The following address lines represent the most specific part of any + * address. + */ + addressLine?: string[]; + /** + * Top-level administrative subdivision of this country. + */ + administrativeArea?: string; + /** + * Dependent locality or sublocality. Used for UK dependent localities, or + * neighborhoods or boroughs in other locations. + */ + dependentLocality?: string; + /** + * Language code of the address. Should be in BCP 47 format. + */ + languageCode?: string; + /** + * The latitude and longitude of the location, in degrees. + */ + latLng?: Schema$LatLng; + /** + * Generally refers to the city/town portion of an address. + */ + locality?: string; + /** + * Values are frequently alphanumeric. + */ + postalCode?: string; + /** + * CLDR (Common Locale Data Repository) region code . + */ + regionCode?: string; + /** + * Use of this code is very country-specific, but will refer to a secondary + * classification code for sorting mail. + */ + sortingCode?: string; + } + /** + * Request message for LogClientMessage. + */ + interface Schema$LogMessageRequest { + /** + * Map of client info, such as URL, browser navigator, browser platform, + * etc. + */ + clientInfo?: any; + /** + * Details about the client message. + */ + details?: string; + /** + * Message level of client message. + */ + level?: string; + /** + * Current request metadata. + */ + requestMetadata?: Schema$RequestMetadata; + } + /** + * Response message for LogClientMessage. + */ + interface Schema$LogMessageResponse { + /** + * Current response metadata. + */ + responseMetadata?: Schema$ResponseMetadata; + } + /** + * Request message for LogUserEvent. + */ + interface Schema$LogUserEventRequest { + /** + * The action that occurred. + */ + eventAction?: string; + /** + * The category the action belongs to. + */ + eventCategory?: string; + /** + * List of event data for the event. + */ + eventDatas?: Schema$EventData[]; + /** + * The scope of the event. + */ + eventScope?: string; + /** + * Advertiser lead information. + */ + lead?: Schema$Lead; + /** + * Current request metadata. + */ + requestMetadata?: Schema$RequestMetadata; + /** + * The URL where the event occurred. + */ + url?: string; + } + /** + * Response message for LogUserEvent. + */ + interface Schema$LogUserEventResponse { + /** + * Current response metadata. + */ + responseMetadata?: Schema$ResponseMetadata; + } + /** + * Represents an amount of money with its currency type. + */ + interface Schema$Money { + /** + * The 3-letter currency code defined in ISO 4217. + */ + currencyCode?: string; + /** + * Number of nano (10^-9) units of the amount. The value must be between + * -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` + * must be positive or zero. If `units` is zero, `nanos` can be positive, + * zero, or negative. If `units` is negative, `nanos` must be negative or + * zero. For example $-1.75 is represented as `units`=-1 and + * `nanos`=-750,000,000. + */ + nanos?: number; + /** + * The whole units of the amount. For example if `currencyCode` is + * `"USD"`, then 1 unit is one US dollar. + */ + units?: string; + } + /** + * Customers qualified for an offer. + */ + interface Schema$OfferCustomer { + /** + * URL to the customer's AdWords page. + */ + adwordsUrl?: string; + /** + * Country code of the customer. + */ + countryCode?: string; + /** + * Time the customer was created. + */ + creationTime?: string; + /** + * Days the customer is still eligible. + */ + eligibilityDaysLeft?: number; + /** + * External CID for the customer. + */ + externalCid?: string; + /** + * Formatted Get Y amount with currency code. + */ + getYAmount?: string; + /** + * Name of the customer. + */ + name?: string; + /** + * Type of the offer + */ + offerType?: string; + /** + * Formatted Spend X amount with currency code. + */ + spendXAmount?: string; + } + /** + * A set of opt-ins for a user. + */ + interface Schema$OptIns { + /** + * An opt-in about receiving email from Partners marketing teams. Includes + * member-only events and special promotional offers for Google products. + */ + marketComm?: boolean; + /** + * An opt-in about receiving email with customized AdWords campaign + * management tips. + */ + performanceSuggestions?: boolean; + /** + * An opt-in to allow recieivng phone calls about their Partners account. + */ + phoneContact?: boolean; + /** + * An opt-in to receive special promotional gifts and material in the mail. + */ + physicalMail?: boolean; + /** + * An opt-in about receiving email regarding new features and products. + */ + specialOffers?: boolean; + } + /** + * Basic information from a public profile. + */ + interface Schema$PublicProfile { + /** + * The URL to the main display image of the public profile. Being + * deprecated. + */ + displayImageUrl?: string; + /** + * The display name of the public profile. + */ + displayName?: string; + /** + * The ID which can be used to retrieve more details about the public + * profile. + */ + id?: string; + /** + * The URL to the main profile image of the public profile. + */ + profileImage?: string; + /** + * The URL of the public profile. + */ + url?: string; + } + /** + * Information related to ranking of results. + */ + interface Schema$Rank { + /** + * The type of rank. + */ + type?: string; + /** + * The numerical value of the rank. + */ + value?: number; + } + /** + * <a + * href="https://www.google.com/recaptcha/">reCaptcha</a> + * challenge info. + */ + interface Schema$RecaptchaChallenge { + /** + * The ID of the reCaptcha challenge. + */ + id?: string; + /** + * The response to the reCaptcha challenge. + */ + response?: string; + } + /** + * Common data that is in each API request. + */ + interface Schema$RequestMetadata { + /** + * Experiment IDs the current request belongs to. + */ + experimentIds?: string[]; + /** + * Locale to use for the current request. + */ + locale?: string; + /** + * Google Partners session ID. + */ + partnersSessionId?: string; + /** + * Source of traffic for the current request. + */ + trafficSource?: Schema$TrafficSource; + /** + * Values to use instead of the user's respective defaults for the + * current request. These are only honored by whitelisted products. + */ + userOverrides?: Schema$UserOverrides; + } + /** + * Common data that is in each API response. + */ + interface Schema$ResponseMetadata { + /** + * Debug information about this request. + */ + debugInfo?: Schema$DebugInfo; + } + /** + * Agency specialization status + */ + interface Schema$SpecializationStatus { + /** + * The specialization this status is for. + */ + badgeSpecialization?: string; + /** + * State of agency specialization. + */ + badgeSpecializationState?: string; + } + /** + * Source of traffic for the current request. + */ + interface Schema$TrafficSource { + /** + * Identifier to indicate where the traffic comes from. An identifier has + * multiple letters created by a team which redirected the traffic to us. + */ + trafficSourceId?: string; + /** + * Second level identifier to indicate where the traffic comes from. An + * identifier has multiple letters created by a team which redirected the + * traffic to us. + */ + trafficSubId?: string; + } + /** + * A resource representing a user of the Partners platform. + */ + interface Schema$User { + /** + * Whether or not the user has opted to share their Academy for Ads info + * with Google Partners. + */ + afaInfoShared?: boolean; + /** + * This is the list of AdWords Manager Accounts the user has edit access to. + * If the user has edit access to multiple accounts, the user can choose the + * preferred account and we use this when a personal account is needed. Can + * be empty meaning the user has access to no accounts. @OutputOnly + */ + availableAdwordsManagerAccounts?: Schema$AdWordsManagerAccountInfo[]; + /** + * The list of achieved certifications. These are calculated based on exam + * results and other requirements. @OutputOnly + */ + certificationStatus?: Schema$Certification[]; + /** + * The company that the user is associated with. If not present, the user is + * not associated with any company. + */ + company?: Schema$CompanyRelation; + /** + * The email address used by the user used for company verification. + * @OutputOnly + */ + companyVerificationEmail?: string; + /** + * The list of exams the user ever taken. For each type of exam, only one + * entry is listed. + */ + examStatus?: Schema$ExamStatus[]; + /** + * The ID of the user. + */ + id?: string; + /** + * The internal user ID. Only available for a whitelisted set of api + * clients. + */ + internalId?: string; + /** + * The most recent time the user interacted with the Partners site. + * @OutputOnly + */ + lastAccessTime?: string; + /** + * The list of emails the user has access to/can select as primary. + * @OutputOnly + */ + primaryEmails?: string[]; + /** + * The profile information of a Partners user, contains all the directly + * editable user information. + */ + profile?: Schema$UserProfile; + /** + * Information about a user's external public profile outside Google + * Partners. + */ + publicProfile?: Schema$PublicProfile; + } + /** + * Values to use instead of the user's respective defaults. These are only + * honored by whitelisted products. + */ + interface Schema$UserOverrides { + /** + * IP address to use instead of the user's geo-located IP address. + */ + ipAddress?: string; + /** + * Logged-in user ID to impersonate instead of the user's ID. + */ + userId?: string; + } + /** + * The profile information of a Partners user. + */ + interface Schema$UserProfile { + /** + * The user's mailing address, contains multiple fields. + */ + address?: Schema$Location; + /** + * If the user has edit access to multiple accounts, the user can choose the + * preferred account and it is used when a personal account is needed. Can + * be empty. + */ + adwordsManagerAccount?: string; + /** + * A list of ids representing which channels the user selected they were in. + */ + channels?: string[]; + /** + * The email address the user has selected on the Partners site as primary. + */ + emailAddress?: string; + /** + * The list of opt-ins for the user, related to communication preferences. + */ + emailOptIns?: Schema$OptIns; + /** + * The user's family name. + */ + familyName?: string; + /** + * The user's given name. + */ + givenName?: string; + /** + * A list of ids representing which industries the user selected. + */ + industries?: string[]; + /** + * A list of ids represnting which job categories the user selected. + */ + jobFunctions?: string[]; + /** + * The list of languages this user understands. + */ + languages?: string[]; + /** + * A list of ids representing which markets the user was interested in. + */ + markets?: string[]; + /** + * Whether or not to migrate the user's exam data to Academy for Ads. + */ + migrateToAfa?: boolean; + /** + * The user's phone number. + */ + phoneNumber?: string; + /** + * The user's primary country, an ISO 2-character code. + */ + primaryCountryCode?: string; + /** + * Whether the user's public profile is visible to anyone with the URL. + */ + profilePublic?: boolean; + } + class Resource$Analytics { + root: Partners; + constructor(root: Partners); + getRoot(): Partners; + /** + * partners.analytics.list + * @desc Lists analytics data for a user's associated company. Should only + * be called within the context of an authorized logged in user. + * @alias partners.analytics.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Requested page size. Server may return fewer analytics than requested. If unspecified or set to 0, default value is 30. Specifies the number of days in the date range when querying analytics. The `page_token` represents the end date of the date range and the start date is calculated using the `page_size` as the number of days BEFORE the end date. Must be a non-negative integer. + * @param {string=} params.pageToken A token identifying a page of results that the server returns. Typically, this is the value of `ListAnalyticsResponse.next_page_token` returned from the previous call to ListAnalytics. Will be a date string in `YYYY-MM-DD` format representing the end date of the date range of results to return. If unspecified or set to "", default value is the current date. + * @param {string=} params.requestMetadata.experimentIds Experiment IDs the current request belongs to. + * @param {string=} params.requestMetadata.locale Locale to use for the current request. + * @param {string=} params.requestMetadata.partnersSessionId Google Partners session ID. + * @param {string=} params.requestMetadata.trafficSource.trafficSourceId Identifier to indicate where the traffic comes from. An identifier has multiple letters created by a team which redirected the traffic to us. + * @param {string=} params.requestMetadata.trafficSource.trafficSubId Second level identifier to indicate where the traffic comes from. An identifier has multiple letters created by a team which redirected the traffic to us. + * @param {string=} params.requestMetadata.userOverrides.ipAddress IP address to use instead of the user's geo-located IP address. + * @param {string=} params.requestMetadata.userOverrides.userId Logged-in user ID to impersonate instead of the user's ID. + * @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?: Params$Resource$Analytics$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Analytics$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Analytics$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Analytics$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Requested page size. Server may return fewer analytics than requested. If + * unspecified or set to 0, default value is 30. Specifies the number of + * days in the date range when querying analytics. The `page_token` + * represents the end date of the date range and the start date is + * calculated using the `page_size` as the number of days BEFORE the end + * date. Must be a non-negative integer. + */ + pageSize?: number; + /** + * A token identifying a page of results that the server returns. Typically, + * this is the value of `ListAnalyticsResponse.next_page_token` returned + * from the previous call to ListAnalytics. Will be a date string in + * `YYYY-MM-DD` format representing the end date of the date range of + * results to return. If unspecified or set to "", default value is the + * current date. + */ + pageToken?: string; + /** + * Experiment IDs the current request belongs to. + */ + 'requestMetadata.experimentIds'?: string; + /** + * Locale to use for the current request. + */ + 'requestMetadata.locale'?: string; + /** + * Google Partners session ID. + */ + 'requestMetadata.partnersSessionId'?: string; + /** + * Identifier to indicate where the traffic comes from. An identifier has + * multiple letters created by a team which redirected the traffic to us. + */ + 'requestMetadata.trafficSource.trafficSourceId'?: string; + /** + * Second level identifier to indicate where the traffic comes from. An + * identifier has multiple letters created by a team which redirected the + * traffic to us. + */ + 'requestMetadata.trafficSource.trafficSubId'?: string; + /** + * IP address to use instead of the user's geo-located IP address. + */ + 'requestMetadata.userOverrides.ipAddress'?: string; + /** + * Logged-in user ID to impersonate instead of the user's ID. + */ + 'requestMetadata.userOverrides.userId'?: string; + } + class Resource$Clientmessages { + root: Partners; + constructor(root: Partners); + getRoot(): Partners; + /** + * partners.clientMessages.log + * @desc Logs a generic message from the client, such as `Failed to render + * component`, `Profile page is running slow`, `More than 500 users have + * accessed this result.`, etc. + * @alias partners.clientMessages.log + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().LogMessageRequest} 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 + */ + log(params?: Params$Resource$Clientmessages$Log, options?: MethodOptions): AxiosPromise; + log(params: Params$Resource$Clientmessages$Log, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + log(params: Params$Resource$Clientmessages$Log, callback: BodyResponseCallback): void; + log(callback: BodyResponseCallback): void; + } + interface Params$Resource$Clientmessages$Log { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$LogMessageRequest; + } + class Resource$Companies { + root: Partners; + leads: Resource$Companies$Leads; + constructor(root: Partners); + getRoot(): Partners; + /** + * partners.companies.get + * @desc Gets a company. + * @alias partners.companies.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.address The address to use for sorting the company's addresses by proximity. If not given, the geo-located address of the request is used. Used when order_by is set. + * @param {string} params.companyId The ID of the company to retrieve. + * @param {string=} params.currencyCode If the company's budget is in a different currency code than this one, then the converted budget is converted to this currency code. + * @param {string=} params.orderBy How to order addresses within the returned company. Currently, only `address` and `address desc` is supported which will sorted by closest to farthest in distance from given address and farthest to closest distance from given address respectively. + * @param {string=} params.requestMetadata.experimentIds Experiment IDs the current request belongs to. + * @param {string=} params.requestMetadata.locale Locale to use for the current request. + * @param {string=} params.requestMetadata.partnersSessionId Google Partners session ID. + * @param {string=} params.requestMetadata.trafficSource.trafficSourceId Identifier to indicate where the traffic comes from. An identifier has multiple letters created by a team which redirected the traffic to us. + * @param {string=} params.requestMetadata.trafficSource.trafficSubId Second level identifier to indicate where the traffic comes from. An identifier has multiple letters created by a team which redirected the traffic to us. + * @param {string=} params.requestMetadata.userOverrides.ipAddress IP address to use instead of the user's geo-located IP address. + * @param {string=} params.requestMetadata.userOverrides.userId Logged-in user ID to impersonate instead of the user's ID. + * @param {string=} params.view The view of `Company` resource to be returned. This must not be `COMPANY_VIEW_UNSPECIFIED`. + * @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?: Params$Resource$Companies$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Companies$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Companies$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * partners.companies.list + * @desc Lists companies. + * @alias partners.companies.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.address The address to use when searching for companies. If not given, the geo-located address of the request is used. + * @param {string=} params.companyName Company name to search for. + * @param {string=} params.gpsMotivations List of reasons for using Google Partner Search to get companies. + * @param {string=} params.industries List of industries the company can help with. + * @param {string=} params.languageCodes List of language codes that company can support. Only primary language subtags are accepted as defined by BCP 47 (IETF BCP 47, "Tags for Identifying Languages"). + * @param {string=} params.maxMonthlyBudget.currencyCode The 3-letter currency code defined in ISO 4217. + * @param {integer=} params.maxMonthlyBudget.nanos Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000. + * @param {string=} params.maxMonthlyBudget.units The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar. + * @param {string=} params.minMonthlyBudget.currencyCode The 3-letter currency code defined in ISO 4217. + * @param {integer=} params.minMonthlyBudget.nanos Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000. + * @param {string=} params.minMonthlyBudget.units The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar. + * @param {string=} params.orderBy How to order addresses within the returned companies. Currently, only `address` and `address desc` is supported which will sorted by closest to farthest in distance from given address and farthest to closest distance from given address respectively. + * @param {integer=} params.pageSize Requested page size. Server may return fewer companies than requested. If unspecified, server picks an appropriate default. + * @param {string=} params.pageToken A token identifying a page of results that the server returns. Typically, this is the value of `ListCompaniesResponse.next_page_token` returned from the previous call to ListCompanies. + * @param {string=} params.requestMetadata.experimentIds Experiment IDs the current request belongs to. + * @param {string=} params.requestMetadata.locale Locale to use for the current request. + * @param {string=} params.requestMetadata.partnersSessionId Google Partners session ID. + * @param {string=} params.requestMetadata.trafficSource.trafficSourceId Identifier to indicate where the traffic comes from. An identifier has multiple letters created by a team which redirected the traffic to us. + * @param {string=} params.requestMetadata.trafficSource.trafficSubId Second level identifier to indicate where the traffic comes from. An identifier has multiple letters created by a team which redirected the traffic to us. + * @param {string=} params.requestMetadata.userOverrides.ipAddress IP address to use instead of the user's geo-located IP address. + * @param {string=} params.requestMetadata.userOverrides.userId Logged-in user ID to impersonate instead of the user's ID. + * @param {string=} params.services List of services that the returned agencies should provide. If this is not empty, any returned agency must have at least one of these services, or one of the specializations in the "specializations" field. + * @param {string=} params.specializations List of specializations that the returned agencies should provide. If this is not empty, any returned agency must have at least one of these specializations, or one of the services in the "services" field. + * @param {string=} params.view The view of the `Company` resource to be returned. This must not be `COMPANY_VIEW_UNSPECIFIED`. + * @param {string=} params.websiteUrl Website URL that will help to find a better matched company. . + * @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?: Params$Resource$Companies$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Companies$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Companies$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Companies$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The address to use for sorting the company's addresses by proximity. If + * not given, the geo-located address of the request is used. Used when + * order_by is set. + */ + address?: string; + /** + * The ID of the company to retrieve. + */ + companyId?: string; + /** + * If the company's budget is in a different currency code than this one, + * then the converted budget is converted to this currency code. + */ + currencyCode?: string; + /** + * How to order addresses within the returned company. Currently, only + * `address` and `address desc` is supported which will sorted by closest to + * farthest in distance from given address and farthest to closest distance + * from given address respectively. + */ + orderBy?: string; + /** + * Experiment IDs the current request belongs to. + */ + 'requestMetadata.experimentIds'?: string; + /** + * Locale to use for the current request. + */ + 'requestMetadata.locale'?: string; + /** + * Google Partners session ID. + */ + 'requestMetadata.partnersSessionId'?: string; + /** + * Identifier to indicate where the traffic comes from. An identifier has + * multiple letters created by a team which redirected the traffic to us. + */ + 'requestMetadata.trafficSource.trafficSourceId'?: string; + /** + * Second level identifier to indicate where the traffic comes from. An + * identifier has multiple letters created by a team which redirected the + * traffic to us. + */ + 'requestMetadata.trafficSource.trafficSubId'?: string; + /** + * IP address to use instead of the user's geo-located IP address. + */ + 'requestMetadata.userOverrides.ipAddress'?: string; + /** + * Logged-in user ID to impersonate instead of the user's ID. + */ + 'requestMetadata.userOverrides.userId'?: string; + /** + * The view of `Company` resource to be returned. This must not be + * `COMPANY_VIEW_UNSPECIFIED`. + */ + view?: string; + } + interface Params$Resource$Companies$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The address to use when searching for companies. If not given, the + * geo-located address of the request is used. + */ + address?: string; + /** + * Company name to search for. + */ + companyName?: string; + /** + * List of reasons for using Google Partner Search to get companies. + */ + gpsMotivations?: string; + /** + * List of industries the company can help with. + */ + industries?: string; + /** + * List of language codes that company can support. Only primary language + * subtags are accepted as defined by BCP 47 (IETF BCP 47, "Tags + * for Identifying Languages"). + */ + languageCodes?: string; + /** + * The 3-letter currency code defined in ISO 4217. + */ + 'maxMonthlyBudget.currencyCode'?: string; + /** + * Number of nano (10^-9) units of the amount. The value must be between + * -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` + * must be positive or zero. If `units` is zero, `nanos` can be positive, + * zero, or negative. If `units` is negative, `nanos` must be negative or + * zero. For example $-1.75 is represented as `units`=-1 and + * `nanos`=-750,000,000. + */ + 'maxMonthlyBudget.nanos'?: number; + /** + * The whole units of the amount. For example if `currencyCode` is `"USD"`, + * then 1 unit is one US dollar. + */ + 'maxMonthlyBudget.units'?: string; + /** + * The 3-letter currency code defined in ISO 4217. + */ + 'minMonthlyBudget.currencyCode'?: string; + /** + * Number of nano (10^-9) units of the amount. The value must be between + * -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` + * must be positive or zero. If `units` is zero, `nanos` can be positive, + * zero, or negative. If `units` is negative, `nanos` must be negative or + * zero. For example $-1.75 is represented as `units`=-1 and + * `nanos`=-750,000,000. + */ + 'minMonthlyBudget.nanos'?: number; + /** + * The whole units of the amount. For example if `currencyCode` is `"USD"`, + * then 1 unit is one US dollar. + */ + 'minMonthlyBudget.units'?: string; + /** + * How to order addresses within the returned companies. Currently, only + * `address` and `address desc` is supported which will sorted by closest to + * farthest in distance from given address and farthest to closest distance + * from given address respectively. + */ + orderBy?: string; + /** + * Requested page size. Server may return fewer companies than requested. If + * unspecified, server picks an appropriate default. + */ + pageSize?: number; + /** + * A token identifying a page of results that the server returns. Typically, + * this is the value of `ListCompaniesResponse.next_page_token` returned + * from the previous call to ListCompanies. + */ + pageToken?: string; + /** + * Experiment IDs the current request belongs to. + */ + 'requestMetadata.experimentIds'?: string; + /** + * Locale to use for the current request. + */ + 'requestMetadata.locale'?: string; + /** + * Google Partners session ID. + */ + 'requestMetadata.partnersSessionId'?: string; + /** + * Identifier to indicate where the traffic comes from. An identifier has + * multiple letters created by a team which redirected the traffic to us. + */ + 'requestMetadata.trafficSource.trafficSourceId'?: string; + /** + * Second level identifier to indicate where the traffic comes from. An + * identifier has multiple letters created by a team which redirected the + * traffic to us. + */ + 'requestMetadata.trafficSource.trafficSubId'?: string; + /** + * IP address to use instead of the user's geo-located IP address. + */ + 'requestMetadata.userOverrides.ipAddress'?: string; + /** + * Logged-in user ID to impersonate instead of the user's ID. + */ + 'requestMetadata.userOverrides.userId'?: string; + /** + * List of services that the returned agencies should provide. If this is + * not empty, any returned agency must have at least one of these services, + * or one of the specializations in the "specializations" field. + */ + services?: string; + /** + * List of specializations that the returned agencies should provide. If + * this is not empty, any returned agency must have at least one of these + * specializations, or one of the services in the "services" field. + */ + specializations?: string; + /** + * The view of the `Company` resource to be returned. This must not be + * `COMPANY_VIEW_UNSPECIFIED`. + */ + view?: string; + /** + * Website URL that will help to find a better matched company. . + */ + websiteUrl?: string; + } + class Resource$Companies$Leads { + root: Partners; + constructor(root: Partners); + getRoot(): Partners; + /** + * partners.companies.leads.create + * @desc Creates an advertiser lead for the given company ID. + * @alias partners.companies.leads.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.companyId The ID of the company to contact. + * @param {().CreateLeadRequest} 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 + */ + create(params?: Params$Resource$Companies$Leads$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Companies$Leads$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Companies$Leads$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + } + interface Params$Resource$Companies$Leads$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the company to contact. + */ + companyId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreateLeadRequest; + } + class Resource$Leads { + root: Partners; + constructor(root: Partners); + getRoot(): Partners; + /** + * partners.leads.list + * @desc Lists advertiser leads for a user's associated company. Should only + * be called within the context of an authorized logged in user. + * @alias partners.leads.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.orderBy How to order Leads. Currently, only `create_time` and `create_time desc` are supported + * @param {integer=} params.pageSize Requested page size. Server may return fewer leads than requested. If unspecified, server picks an appropriate default. + * @param {string=} params.pageToken A token identifying a page of results that the server returns. Typically, this is the value of `ListLeadsResponse.next_page_token` returned from the previous call to ListLeads. + * @param {string=} params.requestMetadata.experimentIds Experiment IDs the current request belongs to. + * @param {string=} params.requestMetadata.locale Locale to use for the current request. + * @param {string=} params.requestMetadata.partnersSessionId Google Partners session ID. + * @param {string=} params.requestMetadata.trafficSource.trafficSourceId Identifier to indicate where the traffic comes from. An identifier has multiple letters created by a team which redirected the traffic to us. + * @param {string=} params.requestMetadata.trafficSource.trafficSubId Second level identifier to indicate where the traffic comes from. An identifier has multiple letters created by a team which redirected the traffic to us. + * @param {string=} params.requestMetadata.userOverrides.ipAddress IP address to use instead of the user's geo-located IP address. + * @param {string=} params.requestMetadata.userOverrides.userId Logged-in user ID to impersonate instead of the user's ID. + * @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?: Params$Resource$Leads$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Leads$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Leads$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Leads$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * How to order Leads. Currently, only `create_time` and `create_time desc` + * are supported + */ + orderBy?: string; + /** + * Requested page size. Server may return fewer leads than requested. If + * unspecified, server picks an appropriate default. + */ + pageSize?: number; + /** + * A token identifying a page of results that the server returns. Typically, + * this is the value of `ListLeadsResponse.next_page_token` returned from + * the previous call to ListLeads. + */ + pageToken?: string; + /** + * Experiment IDs the current request belongs to. + */ + 'requestMetadata.experimentIds'?: string; + /** + * Locale to use for the current request. + */ + 'requestMetadata.locale'?: string; + /** + * Google Partners session ID. + */ + 'requestMetadata.partnersSessionId'?: string; + /** + * Identifier to indicate where the traffic comes from. An identifier has + * multiple letters created by a team which redirected the traffic to us. + */ + 'requestMetadata.trafficSource.trafficSourceId'?: string; + /** + * Second level identifier to indicate where the traffic comes from. An + * identifier has multiple letters created by a team which redirected the + * traffic to us. + */ + 'requestMetadata.trafficSource.trafficSubId'?: string; + /** + * IP address to use instead of the user's geo-located IP address. + */ + 'requestMetadata.userOverrides.ipAddress'?: string; + /** + * Logged-in user ID to impersonate instead of the user's ID. + */ + 'requestMetadata.userOverrides.userId'?: string; + } + class Resource$Offers { + root: Partners; + history: Resource$Offers$History; + constructor(root: Partners); + getRoot(): Partners; + /** + * partners.offers.list + * @desc Lists the Offers available for the current user + * @alias partners.offers.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.requestMetadata.experimentIds Experiment IDs the current request belongs to. + * @param {string=} params.requestMetadata.locale Locale to use for the current request. + * @param {string=} params.requestMetadata.partnersSessionId Google Partners session ID. + * @param {string=} params.requestMetadata.trafficSource.trafficSourceId Identifier to indicate where the traffic comes from. An identifier has multiple letters created by a team which redirected the traffic to us. + * @param {string=} params.requestMetadata.trafficSource.trafficSubId Second level identifier to indicate where the traffic comes from. An identifier has multiple letters created by a team which redirected the traffic to us. + * @param {string=} params.requestMetadata.userOverrides.ipAddress IP address to use instead of the user's geo-located IP address. + * @param {string=} params.requestMetadata.userOverrides.userId Logged-in user ID to impersonate instead of the user's ID. + * @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?: Params$Resource$Offers$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Offers$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Offers$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Offers$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Experiment IDs the current request belongs to. + */ + 'requestMetadata.experimentIds'?: string; + /** + * Locale to use for the current request. + */ + 'requestMetadata.locale'?: string; + /** + * Google Partners session ID. + */ + 'requestMetadata.partnersSessionId'?: string; + /** + * Identifier to indicate where the traffic comes from. An identifier has + * multiple letters created by a team which redirected the traffic to us. + */ + 'requestMetadata.trafficSource.trafficSourceId'?: string; + /** + * Second level identifier to indicate where the traffic comes from. An + * identifier has multiple letters created by a team which redirected the + * traffic to us. + */ + 'requestMetadata.trafficSource.trafficSubId'?: string; + /** + * IP address to use instead of the user's geo-located IP address. + */ + 'requestMetadata.userOverrides.ipAddress'?: string; + /** + * Logged-in user ID to impersonate instead of the user's ID. + */ + 'requestMetadata.userOverrides.userId'?: string; + } + class Resource$Offers$History { + root: Partners; + constructor(root: Partners); + getRoot(): Partners; + /** + * partners.offers.history.list + * @desc Lists the Historical Offers for the current user (or user's entire + * company) + * @alias partners.offers.history.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.entireCompany if true, show history for the entire company. Requires user to be admin. + * @param {string=} params.orderBy Comma-separated list of fields to order by, e.g.: "foo,bar,baz". Use "foo desc" to sort descending. List of valid field names is: name, offer_code, expiration_time, status, last_modified_time, sender_name, creation_time, country_code, offer_type. + * @param {integer=} params.pageSize Maximum number of rows to return per page. + * @param {string=} params.pageToken Token to retrieve a specific page. + * @param {string=} params.requestMetadata.experimentIds Experiment IDs the current request belongs to. + * @param {string=} params.requestMetadata.locale Locale to use for the current request. + * @param {string=} params.requestMetadata.partnersSessionId Google Partners session ID. + * @param {string=} params.requestMetadata.trafficSource.trafficSourceId Identifier to indicate where the traffic comes from. An identifier has multiple letters created by a team which redirected the traffic to us. + * @param {string=} params.requestMetadata.trafficSource.trafficSubId Second level identifier to indicate where the traffic comes from. An identifier has multiple letters created by a team which redirected the traffic to us. + * @param {string=} params.requestMetadata.userOverrides.ipAddress IP address to use instead of the user's geo-located IP address. + * @param {string=} params.requestMetadata.userOverrides.userId Logged-in user ID to impersonate instead of the user's ID. + * @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?: Params$Resource$Offers$History$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Offers$History$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Offers$History$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Offers$History$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * if true, show history for the entire company. Requires user to be admin. + */ + entireCompany?: boolean; + /** + * Comma-separated list of fields to order by, e.g.: "foo,bar,baz". Use "foo + * desc" to sort descending. List of valid field names is: name, offer_code, + * expiration_time, status, last_modified_time, sender_name, + * creation_time, country_code, offer_type. + */ + orderBy?: string; + /** + * Maximum number of rows to return per page. + */ + pageSize?: number; + /** + * Token to retrieve a specific page. + */ + pageToken?: string; + /** + * Experiment IDs the current request belongs to. + */ + 'requestMetadata.experimentIds'?: string; + /** + * Locale to use for the current request. + */ + 'requestMetadata.locale'?: string; + /** + * Google Partners session ID. + */ + 'requestMetadata.partnersSessionId'?: string; + /** + * Identifier to indicate where the traffic comes from. An identifier has + * multiple letters created by a team which redirected the traffic to us. + */ + 'requestMetadata.trafficSource.trafficSourceId'?: string; + /** + * Second level identifier to indicate where the traffic comes from. An + * identifier has multiple letters created by a team which redirected the + * traffic to us. + */ + 'requestMetadata.trafficSource.trafficSubId'?: string; + /** + * IP address to use instead of the user's geo-located IP address. + */ + 'requestMetadata.userOverrides.ipAddress'?: string; + /** + * Logged-in user ID to impersonate instead of the user's ID. + */ + 'requestMetadata.userOverrides.userId'?: string; + } + class Resource$Userevents { + root: Partners; + constructor(root: Partners); + getRoot(): Partners; + /** + * partners.userEvents.log + * @desc Logs a user event. + * @alias partners.userEvents.log + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().LogUserEventRequest} 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 + */ + log(params?: Params$Resource$Userevents$Log, options?: MethodOptions): AxiosPromise; + log(params: Params$Resource$Userevents$Log, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + log(params: Params$Resource$Userevents$Log, callback: BodyResponseCallback): void; + log(callback: BodyResponseCallback): void; + } + interface Params$Resource$Userevents$Log { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$LogUserEventRequest; + } + class Resource$Users { + root: Partners; + constructor(root: Partners); + getRoot(): Partners; + /** + * partners.users.createCompanyRelation + * @desc Creates a user's company relation. Affiliates the user to a + * company. + * @alias partners.users.createCompanyRelation + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.requestMetadata.experimentIds Experiment IDs the current request belongs to. + * @param {string=} params.requestMetadata.locale Locale to use for the current request. + * @param {string=} params.requestMetadata.partnersSessionId Google Partners session ID. + * @param {string=} params.requestMetadata.trafficSource.trafficSourceId Identifier to indicate where the traffic comes from. An identifier has multiple letters created by a team which redirected the traffic to us. + * @param {string=} params.requestMetadata.trafficSource.trafficSubId Second level identifier to indicate where the traffic comes from. An identifier has multiple letters created by a team which redirected the traffic to us. + * @param {string=} params.requestMetadata.userOverrides.ipAddress IP address to use instead of the user's geo-located IP address. + * @param {string=} params.requestMetadata.userOverrides.userId Logged-in user ID to impersonate instead of the user's ID. + * @param {string} params.userId The ID of the user. Can be set to me to mean the currently authenticated user. + * @param {().CompanyRelation} 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 + */ + createCompanyRelation(params?: Params$Resource$Users$Createcompanyrelation, options?: MethodOptions): AxiosPromise; + createCompanyRelation(params: Params$Resource$Users$Createcompanyrelation, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + createCompanyRelation(params: Params$Resource$Users$Createcompanyrelation, callback: BodyResponseCallback): void; + createCompanyRelation(callback: BodyResponseCallback): void; + /** + * partners.users.deleteCompanyRelation + * @desc Deletes a user's company relation. Unaffiliaites the user from a + * company. + * @alias partners.users.deleteCompanyRelation + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.requestMetadata.experimentIds Experiment IDs the current request belongs to. + * @param {string=} params.requestMetadata.locale Locale to use for the current request. + * @param {string=} params.requestMetadata.partnersSessionId Google Partners session ID. + * @param {string=} params.requestMetadata.trafficSource.trafficSourceId Identifier to indicate where the traffic comes from. An identifier has multiple letters created by a team which redirected the traffic to us. + * @param {string=} params.requestMetadata.trafficSource.trafficSubId Second level identifier to indicate where the traffic comes from. An identifier has multiple letters created by a team which redirected the traffic to us. + * @param {string=} params.requestMetadata.userOverrides.ipAddress IP address to use instead of the user's geo-located IP address. + * @param {string=} params.requestMetadata.userOverrides.userId Logged-in user ID to impersonate instead of the user's ID. + * @param {string} params.userId The ID of the user. Can be set to me to mean the currently authenticated user. + * @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 + */ + deleteCompanyRelation(params?: Params$Resource$Users$Deletecompanyrelation, options?: MethodOptions): AxiosPromise; + deleteCompanyRelation(params: Params$Resource$Users$Deletecompanyrelation, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + deleteCompanyRelation(params: Params$Resource$Users$Deletecompanyrelation, callback: BodyResponseCallback): void; + deleteCompanyRelation(callback: BodyResponseCallback): void; + /** + * partners.users.get + * @desc Gets a user. + * @alias partners.users.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.requestMetadata.experimentIds Experiment IDs the current request belongs to. + * @param {string=} params.requestMetadata.locale Locale to use for the current request. + * @param {string=} params.requestMetadata.partnersSessionId Google Partners session ID. + * @param {string=} params.requestMetadata.trafficSource.trafficSourceId Identifier to indicate where the traffic comes from. An identifier has multiple letters created by a team which redirected the traffic to us. + * @param {string=} params.requestMetadata.trafficSource.trafficSubId Second level identifier to indicate where the traffic comes from. An identifier has multiple letters created by a team which redirected the traffic to us. + * @param {string=} params.requestMetadata.userOverrides.ipAddress IP address to use instead of the user's geo-located IP address. + * @param {string=} params.requestMetadata.userOverrides.userId Logged-in user ID to impersonate instead of the user's ID. + * @param {string} params.userId Identifier of the user. Can be set to me to mean the currently authenticated user. + * @param {string=} params.userView Specifies what parts of the user information to return. + * @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?: Params$Resource$Users$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Users$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Users$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * partners.users.updateProfile + * @desc Updates a user's profile. A user can only update their own profile + * and should only be called within the context of a logged in user. + * @alias partners.users.updateProfile + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.requestMetadata.experimentIds Experiment IDs the current request belongs to. + * @param {string=} params.requestMetadata.locale Locale to use for the current request. + * @param {string=} params.requestMetadata.partnersSessionId Google Partners session ID. + * @param {string=} params.requestMetadata.trafficSource.trafficSourceId Identifier to indicate where the traffic comes from. An identifier has multiple letters created by a team which redirected the traffic to us. + * @param {string=} params.requestMetadata.trafficSource.trafficSubId Second level identifier to indicate where the traffic comes from. An identifier has multiple letters created by a team which redirected the traffic to us. + * @param {string=} params.requestMetadata.userOverrides.ipAddress IP address to use instead of the user's geo-located IP address. + * @param {string=} params.requestMetadata.userOverrides.userId Logged-in user ID to impersonate instead of the user's ID. + * @param {().UserProfile} 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 + */ + updateProfile(params?: Params$Resource$Users$Updateprofile, options?: MethodOptions): AxiosPromise; + updateProfile(params: Params$Resource$Users$Updateprofile, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + updateProfile(params: Params$Resource$Users$Updateprofile, callback: BodyResponseCallback): void; + updateProfile(callback: BodyResponseCallback): void; + } + interface Params$Resource$Users$Createcompanyrelation { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Experiment IDs the current request belongs to. + */ + 'requestMetadata.experimentIds'?: string; + /** + * Locale to use for the current request. + */ + 'requestMetadata.locale'?: string; + /** + * Google Partners session ID. + */ + 'requestMetadata.partnersSessionId'?: string; + /** + * Identifier to indicate where the traffic comes from. An identifier has + * multiple letters created by a team which redirected the traffic to us. + */ + 'requestMetadata.trafficSource.trafficSourceId'?: string; + /** + * Second level identifier to indicate where the traffic comes from. An + * identifier has multiple letters created by a team which redirected the + * traffic to us. + */ + 'requestMetadata.trafficSource.trafficSubId'?: string; + /** + * IP address to use instead of the user's geo-located IP address. + */ + 'requestMetadata.userOverrides.ipAddress'?: string; + /** + * Logged-in user ID to impersonate instead of the user's ID. + */ + 'requestMetadata.userOverrides.userId'?: string; + /** + * The ID of the user. Can be set to me to mean the currently + * authenticated user. + */ + userId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CompanyRelation; + } + interface Params$Resource$Users$Deletecompanyrelation { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Experiment IDs the current request belongs to. + */ + 'requestMetadata.experimentIds'?: string; + /** + * Locale to use for the current request. + */ + 'requestMetadata.locale'?: string; + /** + * Google Partners session ID. + */ + 'requestMetadata.partnersSessionId'?: string; + /** + * Identifier to indicate where the traffic comes from. An identifier has + * multiple letters created by a team which redirected the traffic to us. + */ + 'requestMetadata.trafficSource.trafficSourceId'?: string; + /** + * Second level identifier to indicate where the traffic comes from. An + * identifier has multiple letters created by a team which redirected the + * traffic to us. + */ + 'requestMetadata.trafficSource.trafficSubId'?: string; + /** + * IP address to use instead of the user's geo-located IP address. + */ + 'requestMetadata.userOverrides.ipAddress'?: string; + /** + * Logged-in user ID to impersonate instead of the user's ID. + */ + 'requestMetadata.userOverrides.userId'?: string; + /** + * The ID of the user. Can be set to me to mean the currently + * authenticated user. + */ + userId?: string; + } + interface Params$Resource$Users$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Experiment IDs the current request belongs to. + */ + 'requestMetadata.experimentIds'?: string; + /** + * Locale to use for the current request. + */ + 'requestMetadata.locale'?: string; + /** + * Google Partners session ID. + */ + 'requestMetadata.partnersSessionId'?: string; + /** + * Identifier to indicate where the traffic comes from. An identifier has + * multiple letters created by a team which redirected the traffic to us. + */ + 'requestMetadata.trafficSource.trafficSourceId'?: string; + /** + * Second level identifier to indicate where the traffic comes from. An + * identifier has multiple letters created by a team which redirected the + * traffic to us. + */ + 'requestMetadata.trafficSource.trafficSubId'?: string; + /** + * IP address to use instead of the user's geo-located IP address. + */ + 'requestMetadata.userOverrides.ipAddress'?: string; + /** + * Logged-in user ID to impersonate instead of the user's ID. + */ + 'requestMetadata.userOverrides.userId'?: string; + /** + * Identifier of the user. Can be set to me to mean the + * currently authenticated user. + */ + userId?: string; + /** + * Specifies what parts of the user information to return. + */ + userView?: string; + } + interface Params$Resource$Users$Updateprofile { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Experiment IDs the current request belongs to. + */ + 'requestMetadata.experimentIds'?: string; + /** + * Locale to use for the current request. + */ + 'requestMetadata.locale'?: string; + /** + * Google Partners session ID. + */ + 'requestMetadata.partnersSessionId'?: string; + /** + * Identifier to indicate where the traffic comes from. An identifier has + * multiple letters created by a team which redirected the traffic to us. + */ + 'requestMetadata.trafficSource.trafficSourceId'?: string; + /** + * Second level identifier to indicate where the traffic comes from. An + * identifier has multiple letters created by a team which redirected the + * traffic to us. + */ + 'requestMetadata.trafficSource.trafficSubId'?: string; + /** + * IP address to use instead of the user's geo-located IP address. + */ + 'requestMetadata.userOverrides.ipAddress'?: string; + /** + * Logged-in user ID to impersonate instead of the user's ID. + */ + 'requestMetadata.userOverrides.userId'?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UserProfile; + } + class Resource$Userstates { + root: Partners; + constructor(root: Partners); + getRoot(): Partners; + /** + * partners.userStates.list + * @desc Lists states for current user. + * @alias partners.userStates.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.requestMetadata.experimentIds Experiment IDs the current request belongs to. + * @param {string=} params.requestMetadata.locale Locale to use for the current request. + * @param {string=} params.requestMetadata.partnersSessionId Google Partners session ID. + * @param {string=} params.requestMetadata.trafficSource.trafficSourceId Identifier to indicate where the traffic comes from. An identifier has multiple letters created by a team which redirected the traffic to us. + * @param {string=} params.requestMetadata.trafficSource.trafficSubId Second level identifier to indicate where the traffic comes from. An identifier has multiple letters created by a team which redirected the traffic to us. + * @param {string=} params.requestMetadata.userOverrides.ipAddress IP address to use instead of the user's geo-located IP address. + * @param {string=} params.requestMetadata.userOverrides.userId Logged-in user ID to impersonate instead of the user's ID. + * @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?: Params$Resource$Userstates$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Userstates$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Userstates$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Userstates$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Experiment IDs the current request belongs to. + */ + 'requestMetadata.experimentIds'?: string; + /** + * Locale to use for the current request. + */ + 'requestMetadata.locale'?: string; + /** + * Google Partners session ID. + */ + 'requestMetadata.partnersSessionId'?: string; + /** + * Identifier to indicate where the traffic comes from. An identifier has + * multiple letters created by a team which redirected the traffic to us. + */ + 'requestMetadata.trafficSource.trafficSourceId'?: string; + /** + * Second level identifier to indicate where the traffic comes from. An + * identifier has multiple letters created by a team which redirected the + * traffic to us. + */ + 'requestMetadata.trafficSource.trafficSubId'?: string; + /** + * IP address to use instead of the user's geo-located IP address. + */ + 'requestMetadata.userOverrides.ipAddress'?: string; + /** + * Logged-in user ID to impersonate instead of the user's ID. + */ + 'requestMetadata.userOverrides.userId'?: string; + } + class Resource$V2 { + root: Partners; + constructor(root: Partners); + getRoot(): Partners; + /** + * partners.getPartnersstatus + * @desc Gets Partners Status of the logged in user's agency. Should only be + * called if the logged in user is the admin of the agency. + * @alias partners.getPartnersstatus + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.requestMetadata.experimentIds Experiment IDs the current request belongs to. + * @param {string=} params.requestMetadata.locale Locale to use for the current request. + * @param {string=} params.requestMetadata.partnersSessionId Google Partners session ID. + * @param {string=} params.requestMetadata.trafficSource.trafficSourceId Identifier to indicate where the traffic comes from. An identifier has multiple letters created by a team which redirected the traffic to us. + * @param {string=} params.requestMetadata.trafficSource.trafficSubId Second level identifier to indicate where the traffic comes from. An identifier has multiple letters created by a team which redirected the traffic to us. + * @param {string=} params.requestMetadata.userOverrides.ipAddress IP address to use instead of the user's geo-located IP address. + * @param {string=} params.requestMetadata.userOverrides.userId Logged-in user ID to impersonate instead of the user's ID. + * @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 + */ + getPartnersstatus(params?: Params$Resource$V2$Getpartnersstatus, options?: MethodOptions): AxiosPromise; + getPartnersstatus(params: Params$Resource$V2$Getpartnersstatus, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getPartnersstatus(params: Params$Resource$V2$Getpartnersstatus, callback: BodyResponseCallback): void; + getPartnersstatus(callback: BodyResponseCallback): void; + /** + * partners.updateCompanies + * @desc Update company. Should only be called within the context of an + * authorized logged in user. + * @alias partners.updateCompanies + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.requestMetadata.experimentIds Experiment IDs the current request belongs to. + * @param {string=} params.requestMetadata.locale Locale to use for the current request. + * @param {string=} params.requestMetadata.partnersSessionId Google Partners session ID. + * @param {string=} params.requestMetadata.trafficSource.trafficSourceId Identifier to indicate where the traffic comes from. An identifier has multiple letters created by a team which redirected the traffic to us. + * @param {string=} params.requestMetadata.trafficSource.trafficSubId Second level identifier to indicate where the traffic comes from. An identifier has multiple letters created by a team which redirected the traffic to us. + * @param {string=} params.requestMetadata.userOverrides.ipAddress IP address to use instead of the user's geo-located IP address. + * @param {string=} params.requestMetadata.userOverrides.userId Logged-in user ID to impersonate instead of the user's ID. + * @param {string=} params.updateMask Standard field mask for the set of fields to be updated. Required with at least 1 value in FieldMask's paths. + * @param {().Company} 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 + */ + updateCompanies(params?: Params$Resource$V2$Updatecompanies, options?: MethodOptions): AxiosPromise; + updateCompanies(params: Params$Resource$V2$Updatecompanies, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + updateCompanies(params: Params$Resource$V2$Updatecompanies, callback: BodyResponseCallback): void; + updateCompanies(callback: BodyResponseCallback): void; + /** + * partners.updateLeads + * @desc Updates the specified lead. + * @alias partners.updateLeads + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.requestMetadata.experimentIds Experiment IDs the current request belongs to. + * @param {string=} params.requestMetadata.locale Locale to use for the current request. + * @param {string=} params.requestMetadata.partnersSessionId Google Partners session ID. + * @param {string=} params.requestMetadata.trafficSource.trafficSourceId Identifier to indicate where the traffic comes from. An identifier has multiple letters created by a team which redirected the traffic to us. + * @param {string=} params.requestMetadata.trafficSource.trafficSubId Second level identifier to indicate where the traffic comes from. An identifier has multiple letters created by a team which redirected the traffic to us. + * @param {string=} params.requestMetadata.userOverrides.ipAddress IP address to use instead of the user's geo-located IP address. + * @param {string=} params.requestMetadata.userOverrides.userId Logged-in user ID to impersonate instead of the user's ID. + * @param {string=} params.updateMask Standard field mask for the set of fields to be updated. Required with at least 1 value in FieldMask's paths. Only `state` and `adwords_customer_id` are currently supported. + * @param {().Lead} 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 + */ + updateLeads(params?: Params$Resource$V2$Updateleads, options?: MethodOptions): AxiosPromise; + updateLeads(params: Params$Resource$V2$Updateleads, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + updateLeads(params: Params$Resource$V2$Updateleads, callback: BodyResponseCallback): void; + updateLeads(callback: BodyResponseCallback): void; + } + interface Params$Resource$V2$Getpartnersstatus { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Experiment IDs the current request belongs to. + */ + 'requestMetadata.experimentIds'?: string; + /** + * Locale to use for the current request. + */ + 'requestMetadata.locale'?: string; + /** + * Google Partners session ID. + */ + 'requestMetadata.partnersSessionId'?: string; + /** + * Identifier to indicate where the traffic comes from. An identifier has + * multiple letters created by a team which redirected the traffic to us. + */ + 'requestMetadata.trafficSource.trafficSourceId'?: string; + /** + * Second level identifier to indicate where the traffic comes from. An + * identifier has multiple letters created by a team which redirected the + * traffic to us. + */ + 'requestMetadata.trafficSource.trafficSubId'?: string; + /** + * IP address to use instead of the user's geo-located IP address. + */ + 'requestMetadata.userOverrides.ipAddress'?: string; + /** + * Logged-in user ID to impersonate instead of the user's ID. + */ + 'requestMetadata.userOverrides.userId'?: string; + } + interface Params$Resource$V2$Updatecompanies { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Experiment IDs the current request belongs to. + */ + 'requestMetadata.experimentIds'?: string; + /** + * Locale to use for the current request. + */ + 'requestMetadata.locale'?: string; + /** + * Google Partners session ID. + */ + 'requestMetadata.partnersSessionId'?: string; + /** + * Identifier to indicate where the traffic comes from. An identifier has + * multiple letters created by a team which redirected the traffic to us. + */ + 'requestMetadata.trafficSource.trafficSourceId'?: string; + /** + * Second level identifier to indicate where the traffic comes from. An + * identifier has multiple letters created by a team which redirected the + * traffic to us. + */ + 'requestMetadata.trafficSource.trafficSubId'?: string; + /** + * IP address to use instead of the user's geo-located IP address. + */ + 'requestMetadata.userOverrides.ipAddress'?: string; + /** + * Logged-in user ID to impersonate instead of the user's ID. + */ + 'requestMetadata.userOverrides.userId'?: string; + /** + * Standard field mask for the set of fields to be updated. Required with at + * least 1 value in FieldMask's paths. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Company; + } + interface Params$Resource$V2$Updateleads { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Experiment IDs the current request belongs to. + */ + 'requestMetadata.experimentIds'?: string; + /** + * Locale to use for the current request. + */ + 'requestMetadata.locale'?: string; + /** + * Google Partners session ID. + */ + 'requestMetadata.partnersSessionId'?: string; + /** + * Identifier to indicate where the traffic comes from. An identifier has + * multiple letters created by a team which redirected the traffic to us. + */ + 'requestMetadata.trafficSource.trafficSourceId'?: string; + /** + * Second level identifier to indicate where the traffic comes from. An + * identifier has multiple letters created by a team which redirected the + * traffic to us. + */ + 'requestMetadata.trafficSource.trafficSubId'?: string; + /** + * IP address to use instead of the user's geo-located IP address. + */ + 'requestMetadata.userOverrides.ipAddress'?: string; + /** + * Logged-in user ID to impersonate instead of the user's ID. + */ + 'requestMetadata.userOverrides.userId'?: string; + /** + * Standard field mask for the set of fields to be updated. Required with at + * least 1 value in FieldMask's paths. Only `state` and + * `adwords_customer_id` are currently supported. + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Lead; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/partners/v2.js b/express-server/node_modules/googleapis/build/src/apis/partners/v2.js new file mode 100644 index 00000000..63093717 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/partners/v2.js @@ -0,0 +1,695 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var partners_v2; +(function (partners_v2) { + /** + * Google Partners API + * + * Searches certified companies and creates contact leads with them, and also + * audits the usage of clients. + * + * @example + * const {google} = require('googleapis'); + * const partners = google.partners('v2'); + * + * @namespace partners + * @type {Function} + * @version v2 + * @variation v2 + * @param {object=} options Options for Partners + */ + class Partners { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.analytics = new Resource$Analytics(this); + this.clientMessages = new Resource$Clientmessages(this); + this.companies = new Resource$Companies(this); + this.leads = new Resource$Leads(this); + this.offers = new Resource$Offers(this); + this.userEvents = new Resource$Userevents(this); + this.users = new Resource$Users(this); + this.userStates = new Resource$Userstates(this); + this.v2 = new Resource$V2(this); + } + getRoot() { + return this.root; + } + } + partners_v2.Partners = Partners; + class Resource$Analytics { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://partners.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/analytics').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + partners_v2.Resource$Analytics = Resource$Analytics; + class Resource$Clientmessages { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + log(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://partners.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/clientMessages:log') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + partners_v2.Resource$Clientmessages = Resource$Clientmessages; + class Resource$Companies { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.leads = new Resource$Companies$Leads(root); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://partners.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/companies/{companyId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['companyId'], + pathParams: ['companyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://partners.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/companies').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + partners_v2.Resource$Companies = Resource$Companies; + class Resource$Companies$Leads { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://partners.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/companies/{companyId}/leads') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['companyId'], + pathParams: ['companyId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + partners_v2.Resource$Companies$Leads = Resource$Companies$Leads; + class Resource$Leads { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://partners.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/leads').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + partners_v2.Resource$Leads = Resource$Leads; + class Resource$Offers { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.history = new Resource$Offers$History(root); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://partners.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/offers').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + partners_v2.Resource$Offers = Resource$Offers; + class Resource$Offers$History { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://partners.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/offers/history') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + partners_v2.Resource$Offers$History = Resource$Offers$History; + class Resource$Userevents { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + log(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://partners.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/userEvents:log') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + partners_v2.Resource$Userevents = Resource$Userevents; + class Resource$Users { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + createCompanyRelation(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://partners.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/users/{userId}/companyRelation') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['userId'], + pathParams: ['userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + deleteCompanyRelation(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://partners.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/users/{userId}/companyRelation') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['userId'], + pathParams: ['userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://partners.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/users/{userId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userId'], + pathParams: ['userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + updateProfile(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://partners.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/users/profile').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + partners_v2.Resource$Users = Resource$Users; + class Resource$Userstates { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://partners.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/userStates').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + partners_v2.Resource$Userstates = Resource$Userstates; + class Resource$V2 { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + getPartnersstatus(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://partners.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/partnersstatus') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + updateCompanies(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://partners.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/companies').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + updateLeads(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://partners.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/leads').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + partners_v2.Resource$V2 = Resource$V2; +})(partners_v2 = exports.partners_v2 || (exports.partners_v2 = {})); +//# sourceMappingURL=v2.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/partners/v2.js.map b/express-server/node_modules/googleapis/build/src/apis/partners/v2.js.map new file mode 100644 index 00000000..f35aff82 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/partners/v2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v2.js","sourceRoot":"","sources":["../../../../src/apis/partners/v2.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/people/README.md b/express-server/node_modules/googleapis/build/src/apis/people/README.md new file mode 100644 index 00000000..82146c98 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/people/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/people + +> Provides access to information about profiles and contacts. + +## Installation + +```sh +$ npm install @google/people +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/people/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/people/index.d.ts new file mode 100644 index 00000000..4308a618 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/people/index.d.ts @@ -0,0 +1,6 @@ +import { people_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof people_v1.People; +}; +export declare function people(version: 'v1'): people_v1.People; +export declare function people(options: people_v1.Options): people_v1.People; diff --git a/express-server/node_modules/googleapis/build/src/apis/people/index.js b/express-server/node_modules/googleapis/build/src/apis/people/index.js new file mode 100644 index 00000000..c606994f --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/people/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.people_v1.People, +}; +function people(versionOrOptions) { + return googleapis_common_1.getAPI('people', versionOrOptions, exports.VERSIONS, this); +} +exports.people = people; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/people/index.js.map b/express-server/node_modules/googleapis/build/src/apis/people/index.js.map new file mode 100644 index 00000000..e4479d64 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/people/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/people/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAA+B;AAElB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,cAAS,CAAC,MAAM;CACvB,CAAC;AAIF,SAAgB,MAAM,CACQ,gBAAwC;IACpE,OAAO,0BAAM,CAAI,QAAQ,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAC/D,CAAC;AAHD,wBAGC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/people/package.json b/express-server/node_modules/googleapis/build/src/apis/people/package.json new file mode 100644 index 00000000..dbaf29b5 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/people/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/people", + "version": "0.1.0", + "description": "people", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/people/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/people/v1.d.ts new file mode 100644 index 00000000..a8bee8f9 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/people/v1.d.ts @@ -0,0 +1,1826 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace people_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * People API + * + * Provides access to information about profiles and contacts. + * + * @example + * const {google} = require('googleapis'); + * const people = google.people('v1'); + * + * @namespace people + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for People + */ + class People { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + contactGroups: Resource$Contactgroups; + people: Resource$People; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * A person's physical address. May be a P.O. box or street address. All + * fields are optional. + */ + interface Schema$Address { + /** + * The city of the address. + */ + city?: string; + /** + * The country of the address. + */ + country?: string; + /** + * The [ISO 3166-1 alpha-2](http://www.iso.org/iso/country_codes.htm) + * country code of the address. + */ + countryCode?: string; + /** + * The extended address of the address; for example, the apartment number. + */ + extendedAddress?: string; + /** + * The read-only type of the address translated and formatted in the + * viewer's account locale or the `Accept-Language` HTTP header locale. + */ + formattedType?: string; + /** + * The unstructured value of the address. If this is not set by the user it + * will be automatically constructed from structured values. + */ + formattedValue?: string; + /** + * Metadata about the address. + */ + metadata?: Schema$FieldMetadata; + /** + * The P.O. box of the address. + */ + poBox?: string; + /** + * The postal code of the address. + */ + postalCode?: string; + /** + * The region of the address; for example, the state or province. + */ + region?: string; + /** + * The street address. + */ + streetAddress?: string; + /** + * The type of the address. The type can be custom or one of these + * predefined values: * `home` * `work` * `other` + */ + type?: string; + } + /** + * A person's age range. + */ + interface Schema$AgeRangeType { + /** + * The age range. + */ + ageRange?: string; + /** + * Metadata about the age range. + */ + metadata?: Schema$FieldMetadata; + } + /** + * The response to a batch get contact groups request. + */ + interface Schema$BatchGetContactGroupsResponse { + /** + * The list of responses for each requested contact group resource. + */ + responses?: Schema$ContactGroupResponse[]; + } + /** + * A person's short biography. + */ + interface Schema$Biography { + /** + * The content type of the biography. + */ + contentType?: string; + /** + * Metadata about the biography. + */ + metadata?: Schema$FieldMetadata; + /** + * The short biography. + */ + value?: string; + } + /** + * A person's birthday. At least one of the `date` and `text` fields are + * specified. The `date` and `text` fields typically represent the same date, + * but are not guaranteed to. + */ + interface Schema$Birthday { + /** + * The date of the birthday. + */ + date?: Schema$Date; + /** + * Metadata about the birthday. + */ + metadata?: Schema$FieldMetadata; + /** + * A free-form string representing the user's birthday. + */ + text?: string; + } + /** + * A person's bragging rights. + */ + interface Schema$BraggingRights { + /** + * Metadata about the bragging rights. + */ + metadata?: Schema$FieldMetadata; + /** + * The bragging rights; for example, `climbed mount everest`. + */ + value?: string; + } + /** + * A contact group. + */ + interface Schema$ContactGroup { + /** + * The [HTTP entity tag](https://en.wikipedia.org/wiki/HTTP_ETag) of the + * resource. Used for web cache validation. + */ + etag?: string; + /** + * The read-only name translated and formatted in the viewer's account + * locale or the `Accept-Language` HTTP header locale for system groups + * names. Group names set by the owner are the same as name. + */ + formattedName?: string; + /** + * The read-only contact group type. + */ + groupType?: string; + /** + * The total number of contacts in the group irrespective of max members in + * specified in the request. + */ + memberCount?: number; + /** + * The list of contact person resource names that are members of the contact + * group. The field is not populated for LIST requests and can only be + * updated through the + * [ModifyContactGroupMembers](/people/api/rest/v1/contactgroups/members/modify). + */ + memberResourceNames?: string[]; + /** + * Metadata about the contact group. + */ + metadata?: Schema$ContactGroupMetadata; + /** + * The contact group name set by the group owner or a system provided name + * for system groups. + */ + name?: string; + /** + * The resource name for the contact group, assigned by the server. An ASCII + * string, in the form of + * `contactGroups/`<var>contact_group_id</var>. + */ + resourceName?: string; + } + /** + * A Google contact group membership. + */ + interface Schema$ContactGroupMembership { + /** + * The contact group ID for the contact group membership. The contact group + * ID can be custom or one of these predefined values: * `myContacts` * + * `starred` * A numerical ID for user-created groups. + */ + contactGroupId?: string; + } + /** + * The read-only metadata about a contact group. + */ + interface Schema$ContactGroupMetadata { + /** + * True if the contact group resource has been deleted. Populated only for + * [`ListContactGroups`](/people/api/rest/v1/contactgroups/list) requests + * that include a sync token. + */ + deleted?: boolean; + /** + * The time the group was last updated. + */ + updateTime?: string; + } + /** + * The response for a specific contact group. + */ + interface Schema$ContactGroupResponse { + /** + * The contact group. + */ + contactGroup?: Schema$ContactGroup; + /** + * The original requested resource name. + */ + requestedResourceName?: string; + /** + * The status of the response. + */ + status?: Schema$Status; + } + /** + * A person's read-only cover photo. A large image shown on the + * person's profile page that represents who they are or what they care + * about. + */ + interface Schema$CoverPhoto { + /** + * True if the cover photo is the default cover photo; false if the cover + * photo is a user-provided cover photo. + */ + default?: boolean; + /** + * Metadata about the cover photo. + */ + metadata?: Schema$FieldMetadata; + /** + * The URL of the cover photo. + */ + url?: string; + } + /** + * A request to create a new contact group. + */ + interface Schema$CreateContactGroupRequest { + /** + * The contact group to create. + */ + contactGroup?: Schema$ContactGroup; + } + /** + * Represents a whole calendar date, for example a date of birth. The time of + * day and time zone are either specified elsewhere or are not significant. + * The date is relative to the [Proleptic Gregorian + * Calendar](https://en.wikipedia.org/wiki/Proleptic_Gregorian_calendar). The + * day may be 0 to represent a year and month where the day is not + * significant. The year may be 0 to represent a month and day independent of + * year; for example, anniversary date. + */ + interface Schema$Date { + /** + * Day of month. Must be from 1 to 31 and valid for the year and month, or 0 + * if specifying a year by itself or a year and month where the day is not + * significant. + */ + day?: number; + /** + * Month of year. Must be from 1 to 12, or 0 if specifying a year without a + * month and day. + */ + month?: number; + /** + * Year of date. Must be from 1 to 9999, or 0 if specifying a date without a + * year. + */ + year?: number; + } + /** + * A Google Apps Domain membership. + */ + interface Schema$DomainMembership { + /** + * True if the person is in the viewer's Google Apps domain. + */ + inViewerDomain?: boolean; + } + /** + * A person's email address. + */ + interface Schema$EmailAddress { + /** + * The display name of the email. + */ + displayName?: string; + /** + * The read-only type of the email address translated and formatted in the + * viewer's account locale or the `Accept-Language` HTTP header locale. + */ + formattedType?: string; + /** + * Metadata about the email address. + */ + metadata?: Schema$FieldMetadata; + /** + * The type of the email address. The type can be custom or one of these + * predefined values: * `home` * `work` * `other` + */ + type?: string; + /** + * The email address. + */ + value?: string; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * An event related to the person. + */ + interface Schema$Event { + /** + * The date of the event. + */ + date?: Schema$Date; + /** + * The read-only type of the event translated and formatted in the + * viewer's account locale or the `Accept-Language` HTTP header locale. + */ + formattedType?: string; + /** + * Metadata about the event. + */ + metadata?: Schema$FieldMetadata; + /** + * The type of the event. The type can be custom or one of these predefined + * values: * `anniversary` * `other` + */ + type?: string; + } + /** + * Metadata about a field. + */ + interface Schema$FieldMetadata { + /** + * True if the field is the primary field; false if the field is a secondary + * field. + */ + primary?: boolean; + /** + * The source of the field. + */ + source?: Schema$Source; + /** + * True if the field is verified; false if the field is unverified. A + * verified field is typically a name, email address, phone number, or + * website that has been confirmed to be owned by the person. + */ + verified?: boolean; + } + /** + * A person's gender. + */ + interface Schema$Gender { + /** + * The read-only value of the gender translated and formatted in the + * viewer's account locale or the `Accept-Language` HTTP header locale. + */ + formattedValue?: string; + /** + * Metadata about the gender. + */ + metadata?: Schema$FieldMetadata; + /** + * The gender for the person. The gender can be custom or one of these + * predefined values: * `male` * `female` * `other` * `unknown` + */ + value?: string; + } + interface Schema$GetPeopleResponse { + /** + * The response for each requested resource name. + */ + responses?: Schema$PersonResponse[]; + } + /** + * A person's instant messaging client. + */ + interface Schema$ImClient { + /** + * The read-only protocol of the IM client formatted in the viewer's + * account locale or the `Accept-Language` HTTP header locale. + */ + formattedProtocol?: string; + /** + * The read-only type of the IM client translated and formatted in the + * viewer's account locale or the `Accept-Language` HTTP header locale. + */ + formattedType?: string; + /** + * Metadata about the IM client. + */ + metadata?: Schema$FieldMetadata; + /** + * The protocol of the IM client. The protocol can be custom or one of these + * predefined values: * `aim` * `msn` * `yahoo` * `skype` * `qq` * + * `googleTalk` * `icq` * `jabber` * `netMeeting` + */ + protocol?: string; + /** + * The type of the IM client. The type can be custom or one of these + * predefined values: * `home` * `work` * `other` + */ + type?: string; + /** + * The user name used in the IM client. + */ + username?: string; + } + /** + * One of the person's interests. + */ + interface Schema$Interest { + /** + * Metadata about the interest. + */ + metadata?: Schema$FieldMetadata; + /** + * The interest; for example, `stargazing`. + */ + value?: string; + } + interface Schema$ListConnectionsResponse { + /** + * The list of people that the requestor is connected to. + */ + connections?: Schema$Person[]; + /** + * The token that can be used to retrieve the next page of results. + */ + nextPageToken?: string; + /** + * The token that can be used to retrieve changes since the last request. + */ + nextSyncToken?: string; + /** + * The total number of items in the list without pagination. + */ + totalItems?: number; + /** + * **DEPRECATED** (Please use totalItems) The total number of people in the + * list without pagination. + */ + totalPeople?: number; + } + /** + * The response to a list contact groups request. + */ + interface Schema$ListContactGroupsResponse { + /** + * The list of contact groups. Members of the contact groups are not + * populated. + */ + contactGroups?: Schema$ContactGroup[]; + /** + * The token that can be used to retrieve the next page of results. + */ + nextPageToken?: string; + /** + * The token that can be used to retrieve changes since the last request. + */ + nextSyncToken?: string; + /** + * The total number of items in the list without pagination. + */ + totalItems?: number; + } + /** + * A person's locale preference. + */ + interface Schema$Locale { + /** + * Metadata about the locale. + */ + metadata?: Schema$FieldMetadata; + /** + * The well-formed [IETF BCP 47](https://tools.ietf.org/html/bcp47) language + * tag representing the locale. + */ + value?: string; + } + /** + * A person's read-only membership in a group. + */ + interface Schema$Membership { + /** + * The contact group membership. + */ + contactGroupMembership?: Schema$ContactGroupMembership; + /** + * The domain membership. + */ + domainMembership?: Schema$DomainMembership; + /** + * Metadata about the membership. + */ + metadata?: Schema$FieldMetadata; + } + /** + * A request to modify an existing contact group's members. Contacts can + * be removed from any group but they can only be added to a user group or + * myContacts or starred system groups. + */ + interface Schema$ModifyContactGroupMembersRequest { + /** + * The resource names of the contact people to add in the form of in the + * form `people/`<var>person_id</var>. + */ + resourceNamesToAdd?: string[]; + /** + * The resource names of the contact people to remove in the form of in the + * form of `people/`<var>person_id</var>. + */ + resourceNamesToRemove?: string[]; + } + /** + * The response to a modify contact group members request. + */ + interface Schema$ModifyContactGroupMembersResponse { + /** + * The contact people resource names that were not found. + */ + notFoundResourceNames?: string[]; + } + /** + * A person's name. If the name is a mononym, the family name is empty. + */ + interface Schema$Name { + /** + * The read-only display name formatted according to the locale specified by + * the viewer's account or the `Accept-Language` HTTP header. + */ + displayName?: string; + /** + * The read-only display name with the last name first formatted according + * to the locale specified by the viewer's account or the + * `Accept-Language` HTTP header. + */ + displayNameLastFirst?: string; + /** + * The family name. + */ + familyName?: string; + /** + * The given name. + */ + givenName?: string; + /** + * The honorific prefixes, such as `Mrs.` or `Dr.` + */ + honorificPrefix?: string; + /** + * The honorific suffixes, such as `Jr.` + */ + honorificSuffix?: string; + /** + * Metadata about the name. + */ + metadata?: Schema$FieldMetadata; + /** + * The middle name(s). + */ + middleName?: string; + /** + * The family name spelled as it sounds. + */ + phoneticFamilyName?: string; + /** + * The full name spelled as it sounds. + */ + phoneticFullName?: string; + /** + * The given name spelled as it sounds. + */ + phoneticGivenName?: string; + /** + * The honorific prefixes spelled as they sound. + */ + phoneticHonorificPrefix?: string; + /** + * The honorific suffixes spelled as they sound. + */ + phoneticHonorificSuffix?: string; + /** + * The middle name(s) spelled as they sound. + */ + phoneticMiddleName?: string; + } + /** + * A person's nickname. + */ + interface Schema$Nickname { + /** + * Metadata about the nickname. + */ + metadata?: Schema$FieldMetadata; + /** + * The type of the nickname. + */ + type?: string; + /** + * The nickname. + */ + value?: string; + } + /** + * A person's occupation. + */ + interface Schema$Occupation { + /** + * Metadata about the occupation. + */ + metadata?: Schema$FieldMetadata; + /** + * The occupation; for example, `carpenter`. + */ + value?: string; + } + /** + * A person's past or current organization. Overlapping date ranges are + * permitted. + */ + interface Schema$Organization { + /** + * True if the organization is the person's current organization; false + * if the organization is a past organization. + */ + current?: boolean; + /** + * The person's department at the organization. + */ + department?: string; + /** + * The domain name associated with the organization; for example, + * `google.com`. + */ + domain?: string; + /** + * The end date when the person left the organization. + */ + endDate?: Schema$Date; + /** + * The read-only type of the organization translated and formatted in the + * viewer's account locale or the `Accept-Language` HTTP header locale. + */ + formattedType?: string; + /** + * The person's job description at the organization. + */ + jobDescription?: string; + /** + * The location of the organization office the person works at. + */ + location?: string; + /** + * Metadata about the organization. + */ + metadata?: Schema$FieldMetadata; + /** + * The name of the organization. + */ + name?: string; + /** + * The phonetic name of the organization. + */ + phoneticName?: string; + /** + * The start date when the person joined the organization. + */ + startDate?: Schema$Date; + /** + * The symbol associated with the organization; for example, a stock ticker + * symbol, abbreviation, or acronym. + */ + symbol?: string; + /** + * The person's job title at the organization. + */ + title?: string; + /** + * The type of the organization. The type can be custom or one of these + * predefined values: * `work` * `school` + */ + type?: string; + } + /** + * Information about a person merged from various data sources such as the + * authenticated user's contacts and profile data. Most fields can have + * multiple items. The items in a field have no guaranteed order, but each + * non-empty field is guaranteed to have exactly one field with + * `metadata.primary` set to true. + */ + interface Schema$Person { + /** + * The person's street addresses. + */ + addresses?: Schema$Address[]; + /** + * **DEPRECATED** (Please use `person.ageRanges` instead)** The + * person's read-only age range. + */ + ageRange?: string; + /** + * The person's read-only age ranges. + */ + ageRanges?: Schema$AgeRangeType[]; + /** + * The person's biographies. + */ + biographies?: Schema$Biography[]; + /** + * The person's birthdays. + */ + birthdays?: Schema$Birthday[]; + /** + * The person's bragging rights. + */ + braggingRights?: Schema$BraggingRights[]; + /** + * The person's read-only cover photos. + */ + coverPhotos?: Schema$CoverPhoto[]; + /** + * The person's email addresses. + */ + emailAddresses?: Schema$EmailAddress[]; + /** + * The [HTTP entity tag](https://en.wikipedia.org/wiki/HTTP_ETag) of the + * resource. Used for web cache validation. + */ + etag?: string; + /** + * The person's events. + */ + events?: Schema$Event[]; + /** + * The person's genders. + */ + genders?: Schema$Gender[]; + /** + * The person's instant messaging clients. + */ + imClients?: Schema$ImClient[]; + /** + * The person's interests. + */ + interests?: Schema$Interest[]; + /** + * The person's locale preferences. + */ + locales?: Schema$Locale[]; + /** + * The person's read-only group memberships. + */ + memberships?: Schema$Membership[]; + /** + * Read-only metadata about the person. + */ + metadata?: Schema$PersonMetadata; + /** + * The person's names. + */ + names?: Schema$Name[]; + /** + * The person's nicknames. + */ + nicknames?: Schema$Nickname[]; + /** + * The person's occupations. + */ + occupations?: Schema$Occupation[]; + /** + * The person's past or current organizations. + */ + organizations?: Schema$Organization[]; + /** + * The person's phone numbers. + */ + phoneNumbers?: Schema$PhoneNumber[]; + /** + * The person's read-only photos. + */ + photos?: Schema$Photo[]; + /** + * The person's relations. + */ + relations?: Schema$Relation[]; + /** + * The person's read-only relationship interests. + */ + relationshipInterests?: Schema$RelationshipInterest[]; + /** + * The person's read-only relationship statuses. + */ + relationshipStatuses?: Schema$RelationshipStatus[]; + /** + * The person's residences. + */ + residences?: Schema$Residence[]; + /** + * The resource name for the person, assigned by the server. An ASCII string + * with a max length of 27 characters, in the form of + * `people/`<var>person_id</var>. + */ + resourceName?: string; + /** + * The person's SIP addresses. + */ + sipAddresses?: Schema$SipAddress[]; + /** + * The person's skills. + */ + skills?: Schema$Skill[]; + /** + * The person's read-only taglines. + */ + taglines?: Schema$Tagline[]; + /** + * The person's associated URLs. + */ + urls?: Schema$Url[]; + /** + * The person's user defined data. + */ + userDefined?: Schema$UserDefined[]; + } + /** + * The read-only metadata about a person. + */ + interface Schema$PersonMetadata { + /** + * True if the person resource has been deleted. Populated only for + * [`connections.list`](/people/api/rest/v1/people.connections/list) + * requests that include a sync token. + */ + deleted?: boolean; + /** + * Resource names of people linked to this resource. + */ + linkedPeopleResourceNames?: string[]; + /** + * **DEPRECATED** (Please use + * `person.metadata.sources.profileMetadata.objectType` instead) The type + * of the person object. + */ + objectType?: string; + /** + * Any former resource names this person has had. Populated only for + * [`connections.list`](/people/api/rest/v1/people.connections/list) + * requests that include a sync token. The resource name may change when + * adding or removing fields that link a contact and profile such as a + * verified email, verified phone number, or profile URL. + */ + previousResourceNames?: string[]; + /** + * The sources of data for the person. + */ + sources?: Schema$Source[]; + } + /** + * The response for a single person + */ + interface Schema$PersonResponse { + /** + * **DEPRECATED** (Please use status instead) [HTTP 1.1 status code] + * (http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html). + */ + httpStatusCode?: number; + /** + * The person. + */ + person?: Schema$Person; + /** + * The original requested resource name. May be different than the resource + * name on the returned person. The resource name can change when adding or + * removing fields that link a contact and profile such as a verified email, + * verified phone number, or a profile URL. + */ + requestedResourceName?: string; + /** + * The status of the response. + */ + status?: Schema$Status; + } + /** + * A person's phone number. + */ + interface Schema$PhoneNumber { + /** + * The read-only canonicalized [ITU-T + * E.164](https://law.resource.org/pub/us/cfr/ibr/004/itu-t.E.164.1.2008.pdf) + * form of the phone number. + */ + canonicalForm?: string; + /** + * The read-only type of the phone number translated and formatted in the + * viewer's account locale or the `Accept-Language` HTTP header locale. + */ + formattedType?: string; + /** + * Metadata about the phone number. + */ + metadata?: Schema$FieldMetadata; + /** + * The type of the phone number. The type can be custom or one of these + * predefined values: * `home` * `work` * `mobile` * `homeFax` * `workFax` + * * `otherFax` * `pager` * `workMobile` * `workPager` * `main` * + * `googleVoice` * `other` + */ + type?: string; + /** + * The phone number. + */ + value?: string; + } + /** + * A person's read-only photo. A picture shown next to the person's + * name to help others recognize the person. + */ + interface Schema$Photo { + /** + * True if the photo is a default photo; false if the photo is a + * user-provided photo. + */ + default?: boolean; + /** + * Metadata about the photo. + */ + metadata?: Schema$FieldMetadata; + /** + * The URL of the photo. You can change the desired size by appending a + * query parameter `sz=`<var>size</var> at the end of the url. + * Example: + * `https://lh3.googleusercontent.com/-T_wVWLlmg7w/AAAAAAAAAAI/AAAAAAAABa8/00gzXvDBYqw/s100/photo.jpg?sz=50` + */ + url?: string; + } + /** + * The read-only metadata about a profile. + */ + interface Schema$ProfileMetadata { + /** + * The profile object type. + */ + objectType?: string; + /** + * The user types. + */ + userTypes?: string[]; + } + /** + * A person's relation to another person. + */ + interface Schema$Relation { + /** + * The type of the relation translated and formatted in the viewer's + * account locale or the locale specified in the Accept-Language HTTP + * header. + */ + formattedType?: string; + /** + * Metadata about the relation. + */ + metadata?: Schema$FieldMetadata; + /** + * The name of the other person this relation refers to. + */ + person?: string; + /** + * The person's relation to the other person. The type can be custom or + * one of these predefined values: * `spouse` * `child` * `mother` * + * `father` * `parent` * `brother` * `sister` * `friend` * `relative` * + * `domesticPartner` * `manager` * `assistant` * `referredBy` * `partner` + */ + type?: string; + } + /** + * A person's read-only relationship interest . + */ + interface Schema$RelationshipInterest { + /** + * The value of the relationship interest translated and formatted in the + * viewer's account locale or the locale specified in the + * Accept-Language HTTP header. + */ + formattedValue?: string; + /** + * Metadata about the relationship interest. + */ + metadata?: Schema$FieldMetadata; + /** + * The kind of relationship the person is looking for. The value can be + * custom or one of these predefined values: * `friend` * `date` * + * `relationship` * `networking` + */ + value?: string; + } + /** + * A person's read-only relationship status. + */ + interface Schema$RelationshipStatus { + /** + * The read-only value of the relationship status translated and formatted + * in the viewer's account locale or the `Accept-Language` HTTP header + * locale. + */ + formattedValue?: string; + /** + * Metadata about the relationship status. + */ + metadata?: Schema$FieldMetadata; + /** + * The relationship status. The value can be custom or one of these + * predefined values: * `single` * `inARelationship` * `engaged` * + * `married` * `itsComplicated` * `openRelationship` * `widowed` * + * `inDomesticPartnership` * `inCivilUnion` + */ + value?: string; + } + /** + * A person's past or current residence. + */ + interface Schema$Residence { + /** + * True if the residence is the person's current residence; false if the + * residence is a past residence. + */ + current?: boolean; + /** + * Metadata about the residence. + */ + metadata?: Schema$FieldMetadata; + /** + * The address of the residence. + */ + value?: string; + } + /** + * A person's SIP address. Session Initial Protocol addresses are used for + * VoIP communications to make voice or video calls over the internet. + */ + interface Schema$SipAddress { + /** + * The read-only type of the SIP address translated and formatted in the + * viewer's account locale or the `Accept-Language` HTTP header locale. + */ + formattedType?: string; + /** + * Metadata about the SIP address. + */ + metadata?: Schema$FieldMetadata; + /** + * The type of the SIP address. The type can be custom or or one of these + * predefined values: * `home` * `work` * `mobile` * `other` + */ + type?: string; + /** + * The SIP address in the [RFC + * 3261 19.1](https://tools.ietf.org/html/rfc3261#section-19.1) SIP URI + * format. + */ + value?: string; + } + /** + * A skill that the person has. + */ + interface Schema$Skill { + /** + * Metadata about the skill. + */ + metadata?: Schema$FieldMetadata; + /** + * The skill; for example, `underwater basket weaving`. + */ + value?: string; + } + /** + * The source of a field. + */ + interface Schema$Source { + /** + * **Only populated in `person.metadata.sources`.** The [HTTP entity + * tag](https://en.wikipedia.org/wiki/HTTP_ETag) of the source. Used for web + * cache validation. + */ + etag?: string; + /** + * The unique identifier within the source type generated by the server. + */ + id?: string; + /** + * **Only populated in `person.metadata.sources`.** Metadata about a source + * of type PROFILE. + */ + profileMetadata?: Schema$ProfileMetadata; + /** + * The source type. + */ + type?: string; + /** + * **Only populated in `person.metadata.sources`.** Last update timestamp + * of this source. + */ + updateTime?: string; + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + /** + * A read-only brief one-line description of the person. + */ + interface Schema$Tagline { + /** + * Metadata about the tagline. + */ + metadata?: Schema$FieldMetadata; + /** + * The tagline. + */ + value?: string; + } + /** + * A request to update an existing user contact group. All updated fields will + * be replaced. + */ + interface Schema$UpdateContactGroupRequest { + /** + * The contact group to update. + */ + contactGroup?: Schema$ContactGroup; + } + /** + * A person's associated URLs. + */ + interface Schema$Url { + /** + * The read-only type of the URL translated and formatted in the + * viewer's account locale or the `Accept-Language` HTTP header locale. + */ + formattedType?: string; + /** + * Metadata about the URL. + */ + metadata?: Schema$FieldMetadata; + /** + * The type of the URL. The type can be custom or one of these predefined + * values: * `home` * `work` * `blog` * `profile` * `homePage` * `ftp` * + * `reservations` * `appInstallPage`: website for a Google+ application. * + * `other` + */ + type?: string; + /** + * The URL. + */ + value?: string; + } + /** + * Arbitrary user data that is populated by the end users. + */ + interface Schema$UserDefined { + /** + * The end user specified key of the user defined data. + */ + key?: string; + /** + * Metadata about the user defined data. + */ + metadata?: Schema$FieldMetadata; + /** + * The end user specified value of the user defined data. + */ + value?: string; + } + class Resource$Contactgroups { + root: People; + members: Resource$Contactgroups$Members; + constructor(root: People); + getRoot(): People; + /** + * people.contactGroups.batchGet + * @desc Get a list of contact groups owned by the authenticated user by + * specifying a list of contact group resource names. + * @alias people.contactGroups.batchGet + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.maxMembers Specifies the maximum number of members to return for each group. + * @param {string=} params.resourceNames The resource names of the contact groups to get. + * @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 + */ + batchGet(params?: Params$Resource$Contactgroups$Batchget, options?: MethodOptions): AxiosPromise; + batchGet(params: Params$Resource$Contactgroups$Batchget, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + batchGet(params: Params$Resource$Contactgroups$Batchget, callback: BodyResponseCallback): void; + batchGet(callback: BodyResponseCallback): void; + /** + * people.contactGroups.create + * @desc Create a new contact group owned by the authenticated user. + * @alias people.contactGroups.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().CreateContactGroupRequest} 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 + */ + create(params?: Params$Resource$Contactgroups$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Contactgroups$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Contactgroups$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * people.contactGroups.delete + * @desc Delete an existing contact group owned by the authenticated user by + * specifying a contact group resource name. + * @alias people.contactGroups.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.deleteContacts Set to true to also delete the contacts in the specified group. + * @param {string} params.resourceName The resource name of the contact group to delete. + * @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?: Params$Resource$Contactgroups$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Contactgroups$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Contactgroups$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * people.contactGroups.get + * @desc Get a specific contact group owned by the authenticated user by + * specifying a contact group resource name. + * @alias people.contactGroups.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.maxMembers Specifies the maximum number of members to return. + * @param {string} params.resourceName The resource name of the contact group to get. + * @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?: Params$Resource$Contactgroups$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Contactgroups$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Contactgroups$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * people.contactGroups.list + * @desc List all contact groups owned by the authenticated user. Members of + * the contact groups are not populated. + * @alias people.contactGroups.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize The maximum number of resources to return. + * @param {string=} params.pageToken The next_page_token value returned from a previous call to [ListContactGroups](/people/api/rest/v1/contactgroups/list). Requests the next page of resources. + * @param {string=} params.syncToken A sync token, returned by a previous call to `contactgroups.list`. Only resources changed since the sync token was created will be returned. + * @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?: Params$Resource$Contactgroups$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Contactgroups$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Contactgroups$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * people.contactGroups.update + * @desc Update the name of an existing contact group owned by the + * authenticated user. + * @alias people.contactGroups.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resourceName The resource name for the contact group, assigned by the server. An ASCII string, in the form of `contactGroups/`contact_group_id. + * @param {().UpdateContactGroupRequest} 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?: Params$Resource$Contactgroups$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Contactgroups$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Contactgroups$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Contactgroups$Batchget { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Specifies the maximum number of members to return for each group. + */ + maxMembers?: number; + /** + * The resource names of the contact groups to get. + */ + resourceNames?: string; + } + interface Params$Resource$Contactgroups$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$CreateContactGroupRequest; + } + interface Params$Resource$Contactgroups$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Set to true to also delete the contacts in the specified group. + */ + deleteContacts?: boolean; + /** + * The resource name of the contact group to delete. + */ + resourceName?: string; + } + interface Params$Resource$Contactgroups$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Specifies the maximum number of members to return. + */ + maxMembers?: number; + /** + * The resource name of the contact group to get. + */ + resourceName?: string; + } + interface Params$Resource$Contactgroups$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The maximum number of resources to return. + */ + pageSize?: number; + /** + * The next_page_token value returned from a previous call to + * [ListContactGroups](/people/api/rest/v1/contactgroups/list). Requests the + * next page of resources. + */ + pageToken?: string; + /** + * A sync token, returned by a previous call to `contactgroups.list`. Only + * resources changed since the sync token was created will be returned. + */ + syncToken?: string; + } + interface Params$Resource$Contactgroups$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name for the contact group, assigned by the server. An ASCII + * string, in the form of `contactGroups/`contact_group_id. + */ + resourceName?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UpdateContactGroupRequest; + } + class Resource$Contactgroups$Members { + root: People; + constructor(root: People); + getRoot(): People; + /** + * people.contactGroups.members.modify + * @desc Modify the members of a contact group owned by the authenticated + * user. + * @alias people.contactGroups.members.modify + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resourceName The resource name of the contact group to modify. + * @param {().ModifyContactGroupMembersRequest} 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 + */ + modify(params?: Params$Resource$Contactgroups$Members$Modify, options?: MethodOptions): AxiosPromise; + modify(params: Params$Resource$Contactgroups$Members$Modify, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + modify(params: Params$Resource$Contactgroups$Members$Modify, callback: BodyResponseCallback): void; + modify(callback: BodyResponseCallback): void; + } + interface Params$Resource$Contactgroups$Members$Modify { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the contact group to modify. + */ + resourceName?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ModifyContactGroupMembersRequest; + } + class Resource$People { + root: People; + connections: Resource$People$Connections; + constructor(root: People); + getRoot(): People; + /** + * people.people.createContact + * @desc Create a new contact and return the person resource for that + * contact. + * @alias people.people.createContact + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.parent The resource name of the owning person resource. + * @param {().Person} 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 + */ + createContact(params?: Params$Resource$People$Createcontact, options?: MethodOptions): AxiosPromise; + createContact(params: Params$Resource$People$Createcontact, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + createContact(params: Params$Resource$People$Createcontact, callback: BodyResponseCallback): void; + createContact(callback: BodyResponseCallback): void; + /** + * people.people.deleteContact + * @desc Delete a contact person. Any non-contact data will not be deleted. + * @alias people.people.deleteContact + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resourceName The resource name of the contact to delete. + * @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 + */ + deleteContact(params?: Params$Resource$People$Deletecontact, options?: MethodOptions): AxiosPromise; + deleteContact(params: Params$Resource$People$Deletecontact, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + deleteContact(params: Params$Resource$People$Deletecontact, callback: BodyResponseCallback): void; + deleteContact(callback: BodyResponseCallback): void; + /** + * people.people.get + * @desc Provides information about a person by specifying a resource name. + * Use `people/me` to indicate the authenticated user.
The request + * throws a 400 error if 'personFields' is not specified. + * @alias people.people.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.personFields **Required.** A field mask to restrict which fields on the person are returned. Multiple fields can be specified by separating them with commas. Valid values are: * addresses * ageRanges * biographies * birthdays * braggingRights * coverPhotos * emailAddresses * events * genders * imClients * interests * locales * memberships * metadata * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * relationshipInterests * relationshipStatuses * residences * sipAddresses * skills * taglines * urls * userDefined + * @param {string=} params.requestMask.includeField **Required.** Comma-separated list of person fields to be included in the response. Each path should start with `person.`: for example, `person.names` or `person.photos`. + * @param {string} params.resourceName The resource name of the person to provide information about. - To get information about the authenticated user, specify `people/me`. - To get information about a google account, specify `people/`account_id. - To get information about a contact, specify the resource name that identifies the contact as returned by [`people.connections.list`](/people/api/rest/v1/people.connections/list). + * @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?: Params$Resource$People$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$People$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$People$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * people.people.getBatchGet + * @desc Provides information about a list of specific people by specifying + * a list of requested resource names. Use `people/me` to indicate the + * authenticated user.
The request throws a 400 error if 'personFields' + * is not specified. + * @alias people.people.getBatchGet + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.personFields **Required.** A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. Valid values are: * addresses * ageRanges * biographies * birthdays * braggingRights * coverPhotos * emailAddresses * events * genders * imClients * interests * locales * memberships * metadata * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * relationshipInterests * relationshipStatuses * residences * sipAddresses * skills * taglines * urls * userDefined + * @param {string=} params.requestMask.includeField **Required.** Comma-separated list of person fields to be included in the response. Each path should start with `person.`: for example, `person.names` or `person.photos`. + * @param {string=} params.resourceNames The resource names of the people to provide information about. - To get information about the authenticated user, specify `people/me`. - To get information about a google account, specify `people/`account_id. - To get information about a contact, specify the resource name that identifies the contact as returned by [`people.connections.list`](/people/api/rest/v1/people.connections/list). You can include up to 50 resource names in one request. + * @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 + */ + getBatchGet(params?: Params$Resource$People$Getbatchget, options?: MethodOptions): AxiosPromise; + getBatchGet(params: Params$Resource$People$Getbatchget, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getBatchGet(params: Params$Resource$People$Getbatchget, callback: BodyResponseCallback): void; + getBatchGet(callback: BodyResponseCallback): void; + /** + * people.people.updateContact + * @desc Update contact data for an existing contact person. Any non-contact + * data will not be modified. The request throws a 400 error if + * `updatePersonFields` is not specified.
The request throws a 400 + * error if `person.metadata.sources` is not specified for the contact to be + * updated.
The request throws a 412 error if + * `person.metadata.sources.etag` is different than the contact's etag, + * which indicates the contact has changed since its data was read. Clients + * should get the latest person and re-apply their updates to the latest + * person. + * @alias people.people.updateContact + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resourceName The resource name for the person, assigned by the server. An ASCII string with a max length of 27 characters, in the form of `people/`person_id. + * @param {string=} params.updatePersonFields **Required.** A field mask to restrict which fields on the person are updated. Multiple fields can be specified by separating them with commas. All updated fields will be replaced. Valid values are: * addresses * biographies * birthdays * emailAddresses * events * genders * imClients * interests * locales * names * nicknames * occupations * organizations * phoneNumbers * relations * residences * sipAddresses * urls * userDefined + * @param {().Person} 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 + */ + updateContact(params?: Params$Resource$People$Updatecontact, options?: MethodOptions): AxiosPromise; + updateContact(params: Params$Resource$People$Updatecontact, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + updateContact(params: Params$Resource$People$Updatecontact, callback: BodyResponseCallback): void; + updateContact(callback: BodyResponseCallback): void; + } + interface Params$Resource$People$Createcontact { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the owning person resource. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Person; + } + interface Params$Resource$People$Deletecontact { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the contact to delete. + */ + resourceName?: string; + } + interface Params$Resource$People$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * **Required.** A field mask to restrict which fields on the person are + * returned. Multiple fields can be specified by separating them with + * commas. Valid values are: * addresses * ageRanges * biographies * + * birthdays * braggingRights * coverPhotos * emailAddresses * events * + * genders * imClients * interests * locales * memberships * metadata * + * names * nicknames * occupations * organizations * phoneNumbers * photos * + * relations * relationshipInterests * relationshipStatuses * residences * + * sipAddresses * skills * taglines * urls * userDefined + */ + personFields?: string; + /** + * **Required.** Comma-separated list of person fields to be included in the + * response. Each path should start with `person.`: for example, + * `person.names` or `person.photos`. + */ + 'requestMask.includeField'?: string; + /** + * The resource name of the person to provide information about. - To get + * information about the authenticated user, specify `people/me`. - To get + * information about a google account, specify + * `people/`account_id. - To get information about a contact, + * specify the resource name that identifies the contact as returned by + * [`people.connections.list`](/people/api/rest/v1/people.connections/list). + */ + resourceName?: string; + } + interface Params$Resource$People$Getbatchget { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * **Required.** A field mask to restrict which fields on each person are + * returned. Multiple fields can be specified by separating them with + * commas. Valid values are: * addresses * ageRanges * biographies * + * birthdays * braggingRights * coverPhotos * emailAddresses * events * + * genders * imClients * interests * locales * memberships * metadata * + * names * nicknames * occupations * organizations * phoneNumbers * photos * + * relations * relationshipInterests * relationshipStatuses * residences * + * sipAddresses * skills * taglines * urls * userDefined + */ + personFields?: string; + /** + * **Required.** Comma-separated list of person fields to be included in the + * response. Each path should start with `person.`: for example, + * `person.names` or `person.photos`. + */ + 'requestMask.includeField'?: string; + /** + * The resource names of the people to provide information about. - To get + * information about the authenticated user, specify `people/me`. - To get + * information about a google account, specify + * `people/`account_id. - To get information about a contact, + * specify the resource name that identifies the contact as returned by + * [`people.connections.list`](/people/api/rest/v1/people.connections/list). + * You can include up to 50 resource names in one request. + */ + resourceNames?: string; + } + interface Params$Resource$People$Updatecontact { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name for the person, assigned by the server. An ASCII string + * with a max length of 27 characters, in the form of + * `people/`person_id. + */ + resourceName?: string; + /** + * **Required.** A field mask to restrict which fields on the person are + * updated. Multiple fields can be specified by separating them with commas. + * All updated fields will be replaced. Valid values are: * addresses * + * biographies * birthdays * emailAddresses * events * genders * imClients * + * interests * locales * names * nicknames * occupations * organizations * + * phoneNumbers * relations * residences * sipAddresses * urls * userDefined + */ + updatePersonFields?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Person; + } + class Resource$People$Connections { + root: People; + constructor(root: People); + getRoot(): People; + /** + * people.people.connections.list + * @desc Provides a list of the authenticated user's contacts merged with + * any connected profiles.
The request throws a 400 error if + * 'personFields' is not specified. + * @alias people.people.connections.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize The number of connections to include in the response. Valid values are between 1 and 2000, inclusive. Defaults to 100. + * @param {string=} params.pageToken The token of the page to be returned. + * @param {string=} params.personFields **Required.** A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. Valid values are: * addresses * ageRanges * biographies * birthdays * braggingRights * coverPhotos * emailAddresses * events * genders * imClients * interests * locales * memberships * metadata * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * relationshipInterests * relationshipStatuses * residences * sipAddresses * skills * taglines * urls * userDefined + * @param {string=} params.requestMask.includeField **Required.** Comma-separated list of person fields to be included in the response. Each path should start with `person.`: for example, `person.names` or `person.photos`. + * @param {boolean=} params.requestSyncToken Whether the response should include a sync token, which can be used to get all changes since the last request. For subsequent sync requests use the `sync_token` param instead. Initial sync requests that specify `request_sync_token` have an additional rate limit. + * @param {string} params.resourceName The resource name to return connections for. Only `people/me` is valid. + * @param {string=} params.sortOrder The order in which the connections should be sorted. Defaults to `LAST_MODIFIED_ASCENDING`. + * @param {string=} params.syncToken A sync token returned by a previous call to `people.connections.list`. Only resources changed since the sync token was created will be returned. Sync requests that specify `sync_token` have an additional rate limit. + * @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?: Params$Resource$People$Connections$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$People$Connections$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$People$Connections$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$People$Connections$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The number of connections to include in the response. Valid values are + * between 1 and 2000, inclusive. Defaults to 100. + */ + pageSize?: number; + /** + * The token of the page to be returned. + */ + pageToken?: string; + /** + * **Required.** A field mask to restrict which fields on each person are + * returned. Multiple fields can be specified by separating them with + * commas. Valid values are: * addresses * ageRanges * biographies * + * birthdays * braggingRights * coverPhotos * emailAddresses * events * + * genders * imClients * interests * locales * memberships * metadata * + * names * nicknames * occupations * organizations * phoneNumbers * photos * + * relations * relationshipInterests * relationshipStatuses * residences * + * sipAddresses * skills * taglines * urls * userDefined + */ + personFields?: string; + /** + * **Required.** Comma-separated list of person fields to be included in the + * response. Each path should start with `person.`: for example, + * `person.names` or `person.photos`. + */ + 'requestMask.includeField'?: string; + /** + * Whether the response should include a sync token, which can be used to + * get all changes since the last request. For subsequent sync requests use + * the `sync_token` param instead. Initial sync requests that specify + * `request_sync_token` have an additional rate limit. + */ + requestSyncToken?: boolean; + /** + * The resource name to return connections for. Only `people/me` is valid. + */ + resourceName?: string; + /** + * The order in which the connections should be sorted. Defaults to + * `LAST_MODIFIED_ASCENDING`. + */ + sortOrder?: string; + /** + * A sync token returned by a previous call to `people.connections.list`. + * Only resources changed since the sync token was created will be returned. + * Sync requests that specify `sync_token` have an additional rate limit. + */ + syncToken?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/people/v1.js b/express-server/node_modules/googleapis/build/src/apis/people/v1.js new file mode 100644 index 00000000..4a1947b3 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/people/v1.js @@ -0,0 +1,499 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var people_v1; +(function (people_v1) { + /** + * People API + * + * Provides access to information about profiles and contacts. + * + * @example + * const {google} = require('googleapis'); + * const people = google.people('v1'); + * + * @namespace people + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for People + */ + class People { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.contactGroups = new Resource$Contactgroups(this); + this.people = new Resource$People(this); + } + getRoot() { + return this.root; + } + } + people_v1.People = People; + class Resource$Contactgroups { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.members = new Resource$Contactgroups$Members(root); + } + getRoot() { + return this.root; + } + batchGet(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://people.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/contactGroups:batchGet') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://people.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/contactGroups').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://people.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resourceName}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['resourceName'], + pathParams: ['resourceName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://people.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resourceName}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['resourceName'], + pathParams: ['resourceName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://people.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/contactGroups').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://people.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resourceName}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['resourceName'], + pathParams: ['resourceName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + people_v1.Resource$Contactgroups = Resource$Contactgroups; + class Resource$Contactgroups$Members { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + modify(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://people.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resourceName}/members:modify') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resourceName'], + pathParams: ['resourceName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + people_v1.Resource$Contactgroups$Members = Resource$Contactgroups$Members; + class Resource$People { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.connections = new Resource$People$Connections(root); + } + getRoot() { + return this.root; + } + createContact(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://people.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/people:createContact') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + deleteContact(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://people.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resourceName}:deleteContact') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['resourceName'], + pathParams: ['resourceName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://people.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resourceName}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['resourceName'], + pathParams: ['resourceName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getBatchGet(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://people.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/people:batchGet') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + updateContact(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://people.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resourceName}:updateContact') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['resourceName'], + pathParams: ['resourceName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + people_v1.Resource$People = Resource$People; + class Resource$People$Connections { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://people.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resourceName}/connections') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['resourceName'], + pathParams: ['resourceName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + people_v1.Resource$People$Connections = Resource$People$Connections; +})(people_v1 = exports.people_v1 || (exports.people_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/people/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/people/v1.js.map new file mode 100644 index 00000000..58e5006c --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/people/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/people/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/playcustomapp/README.md b/express-server/node_modules/googleapis/build/src/apis/playcustomapp/README.md new file mode 100644 index 00000000..637769b8 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/playcustomapp/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/playcustomapp + +> An API to publish custom Android apps. + +## Installation + +```sh +$ npm install @google/playcustomapp +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/playcustomapp/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/playcustomapp/index.d.ts new file mode 100644 index 00000000..4095857b --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/playcustomapp/index.d.ts @@ -0,0 +1,6 @@ +import { playcustomapp_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof playcustomapp_v1.Playcustomapp; +}; +export declare function playcustomapp(version: 'v1'): playcustomapp_v1.Playcustomapp; +export declare function playcustomapp(options: playcustomapp_v1.Options): playcustomapp_v1.Playcustomapp; diff --git a/express-server/node_modules/googleapis/build/src/apis/playcustomapp/index.js b/express-server/node_modules/googleapis/build/src/apis/playcustomapp/index.js new file mode 100644 index 00000000..2c091b0d --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/playcustomapp/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.playcustomapp_v1.Playcustomapp, +}; +function playcustomapp(versionOrOptions) { + return googleapis_common_1.getAPI('playcustomapp', versionOrOptions, exports.VERSIONS, this); +} +exports.playcustomapp = playcustomapp; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/playcustomapp/index.js.map b/express-server/node_modules/googleapis/build/src/apis/playcustomapp/index.js.map new file mode 100644 index 00000000..10d6a81d --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/playcustomapp/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/playcustomapp/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAsC;AAEzB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,qBAAgB,CAAC,aAAa;CACrC,CAAC;AAKF,SAAgB,aAAa,CACC,gBAA+C;IAC3E,OAAO,0BAAM,CAAI,eAAe,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACtE,CAAC;AAHD,sCAGC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/playcustomapp/package.json b/express-server/node_modules/googleapis/build/src/apis/playcustomapp/package.json new file mode 100644 index 00000000..0bd216de --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/playcustomapp/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/playcustomapp", + "version": "0.1.0", + "description": "playcustomapp", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/playcustomapp/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/playcustomapp/v1.d.ts new file mode 100644 index 00000000..8065debe --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/playcustomapp/v1.d.ts @@ -0,0 +1,117 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace playcustomapp_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Google Play Custom App Publishing API + * + * An API to publish custom Android apps. + * + * @example + * const {google} = require('googleapis'); + * const playcustomapp = google.playcustomapp('v1'); + * + * @namespace playcustomapp + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Playcustomapp + */ + class Playcustomapp { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + accounts: Resource$Accounts; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * This resource represents a custom app. + */ + interface Schema$CustomApp { + /** + * Default listing language in BCP 47 format. + */ + languageCode?: string; + /** + * Title for the Android app. + */ + title?: string; + } + class Resource$Accounts { + root: Playcustomapp; + customApps: Resource$Accounts$Customapps; + constructor(root: Playcustomapp); + getRoot(): Playcustomapp; + } + class Resource$Accounts$Customapps { + root: Playcustomapp; + constructor(root: Playcustomapp); + getRoot(): Playcustomapp; + /** + * playcustomapp.accounts.customApps.create + * @desc Create and publish a new custom app. + * @alias playcustomapp.accounts.customApps.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.account Developer account ID. + * @param {object} params.resource Media resource metadata + * @param {object} params.media Media object + * @param {string} params.media.mimeType Media mime-type + * @param {string|object} params.media.body Media body contents + * @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 + */ + create(params?: Params$Resource$Accounts$Customapps$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Accounts$Customapps$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Accounts$Customapps$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Customapps$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Developer account ID. + */ + account?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CustomApp; + /** + * Media metadata + */ + media?: { + /** + * Media mime-type + */ + mediaType?: string; + /** + * Media body contents + */ + body?: any; + }; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/playcustomapp/v1.js b/express-server/node_modules/googleapis/build/src/apis/playcustomapp/v1.js new file mode 100644 index 00000000..4d48c1cf --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/playcustomapp/v1.js @@ -0,0 +1,109 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var playcustomapp_v1; +(function (playcustomapp_v1) { + /** + * Google Play Custom App Publishing API + * + * An API to publish custom Android apps. + * + * @example + * const {google} = require('googleapis'); + * const playcustomapp = google.playcustomapp('v1'); + * + * @namespace playcustomapp + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Playcustomapp + */ + class Playcustomapp { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.accounts = new Resource$Accounts(this); + } + getRoot() { + return this.root; + } + } + playcustomapp_v1.Playcustomapp = Playcustomapp; + class Resource$Accounts { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.customApps = new Resource$Accounts$Customapps(root); + } + getRoot() { + return this.root; + } + } + playcustomapp_v1.Resource$Accounts = Resource$Accounts; + class Resource$Accounts$Customapps { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/playcustomapp/v1/accounts/{account}/customApps') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + mediaUrl: (rootUrl + '/upload/playcustomapp/v1/accounts/{account}/customApps') + .replace(/([^:]\/)\/+/g, '$1'), + requiredParams: ['account'], + pathParams: ['account'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + playcustomapp_v1.Resource$Accounts$Customapps = Resource$Accounts$Customapps; +})(playcustomapp_v1 = exports.playcustomapp_v1 || (exports.playcustomapp_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/playcustomapp/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/playcustomapp/v1.js.map new file mode 100644 index 00000000..54bac754 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/playcustomapp/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/playcustomapp/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/plus/README.md b/express-server/node_modules/googleapis/build/src/apis/plus/README.md new file mode 100644 index 00000000..eed594ae --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/plus/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/plus + +> Builds on top of the Google+ platform. + +## Installation + +```sh +$ npm install @google/plus +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/plus/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/plus/index.d.ts new file mode 100644 index 00000000..7fd013ff --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/plus/index.d.ts @@ -0,0 +1,6 @@ +import { plus_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof plus_v1.Plus; +}; +export declare function plus(version: 'v1'): plus_v1.Plus; +export declare function plus(options: plus_v1.Options): plus_v1.Plus; diff --git a/express-server/node_modules/googleapis/build/src/apis/plus/index.js b/express-server/node_modules/googleapis/build/src/apis/plus/index.js new file mode 100644 index 00000000..5e397f74 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/plus/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.plus_v1.Plus, +}; +function plus(versionOrOptions) { + return googleapis_common_1.getAPI('plus', versionOrOptions, exports.VERSIONS, this); +} +exports.plus = plus; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/plus/index.js.map b/express-server/node_modules/googleapis/build/src/apis/plus/index.js.map new file mode 100644 index 00000000..a3a7766d --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/plus/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/plus/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAA6B;AAEhB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,YAAO,CAAC,IAAI;CACnB,CAAC;AAIF,SAAgB,IAAI,CACU,gBAAsC;IAClE,OAAO,0BAAM,CAAI,MAAM,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAC7D,CAAC;AAHD,oBAGC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/plus/package.json b/express-server/node_modules/googleapis/build/src/apis/plus/package.json new file mode 100644 index 00000000..dadc9107 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/plus/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/plus", + "version": "0.1.0", + "description": "plus", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/plus/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/plus/v1.d.ts new file mode 100644 index 00000000..927d9acb --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/plus/v1.d.ts @@ -0,0 +1,897 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace plus_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Google+ API + * + * Builds on top of the Google+ platform. + * + * @example + * const {google} = require('googleapis'); + * const plus = google.plus('v1'); + * + * @namespace plus + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Plus + */ + class Plus { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + activities: Resource$Activities; + comments: Resource$Comments; + people: Resource$People; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + interface Schema$Acl { + /** + * Description of the access granted, suitable for display. + */ + description?: string; + /** + * The list of access entries. + */ + items?: Schema$PlusAclentryResource[]; + /** + * Identifies this resource as a collection of access controls. Value: + * "plus#acl". + */ + kind?: string; + } + interface Schema$Activity { + /** + * Identifies who has access to see this activity. + */ + access?: Schema$Acl; + /** + * The person who performed this activity. + */ + actor?: any; + /** + * Street address where this activity occurred. + */ + address?: string; + /** + * Additional content added by the person who shared this activity, + * applicable only when resharing an activity. + */ + annotation?: string; + /** + * If this activity is a crosspost from another system, this property + * specifies the ID of the original activity. + */ + crosspostSource?: string; + /** + * ETag of this response for caching purposes. + */ + etag?: string; + /** + * Latitude and longitude where this activity occurred. Format is latitude + * followed by longitude, space separated. + */ + geocode?: string; + /** + * The ID of this activity. + */ + id?: string; + /** + * Identifies this resource as an activity. Value: + * "plus#activity". + */ + kind?: string; + /** + * The location where this activity occurred. + */ + location?: Schema$Place; + /** + * The object of this activity. + */ + object?: any; + /** + * ID of the place where this activity occurred. + */ + placeId?: string; + /** + * Name of the place where this activity occurred. + */ + placeName?: string; + /** + * The service provider that initially published this activity. + */ + provider?: any; + /** + * The time at which this activity was initially published. Formatted as an + * RFC 3339 timestamp. + */ + published?: string; + /** + * Radius, in meters, of the region where this activity occurred, centered + * at the latitude and longitude identified in geocode. + */ + radius?: string; + /** + * Title of this activity. + */ + title?: string; + /** + * The time at which this activity was last updated. Formatted as an RFC + * 3339 timestamp. + */ + updated?: string; + /** + * The link to this activity. + */ + url?: string; + /** + * This activity's verb, which indicates the action that was performed. + * Possible values include, but are not limited to, the following values: - + * "post" - Publish content to the stream. - "share" - + * Reshare an activity. + */ + verb?: string; + } + interface Schema$ActivityFeed { + /** + * ETag of this response for caching purposes. + */ + etag?: string; + /** + * The ID of this collection of activities. Deprecated. + */ + id?: string; + /** + * The activities in this page of results. + */ + items?: Schema$Activity[]; + /** + * Identifies this resource as a collection of activities. Value: + * "plus#activityFeed". + */ + kind?: string; + /** + * Link to the next page of activities. + */ + nextLink?: string; + /** + * The continuation token, which is used to page through large result sets. + * Provide this value in a subsequent request to return the next page of + * results. + */ + nextPageToken?: string; + /** + * Link to this activity resource. + */ + selfLink?: string; + /** + * The title of this collection of activities, which is a truncated portion + * of the content. + */ + title?: string; + /** + * The time at which this collection of activities was last updated. + * Formatted as an RFC 3339 timestamp. + */ + updated?: string; + } + interface Schema$Comment { + /** + * The person who posted this comment. + */ + actor?: any; + /** + * ETag of this response for caching purposes. + */ + etag?: string; + /** + * The ID of this comment. + */ + id?: string; + /** + * The activity this comment replied to. + */ + inReplyTo?: any[]; + /** + * Identifies this resource as a comment. Value: "plus#comment". + */ + kind?: string; + /** + * The object of this comment. + */ + object?: any; + /** + * People who +1'd this comment. + */ + plusoners?: any; + /** + * The time at which this comment was initially published. Formatted as an + * RFC 3339 timestamp. + */ + published?: string; + /** + * Link to this comment resource. + */ + selfLink?: string; + /** + * The time at which this comment was last updated. Formatted as an RFC 3339 + * timestamp. + */ + updated?: string; + /** + * This comment's verb, indicating what action was performed. Possible + * values are: - "post" - Publish content to the stream. + */ + verb?: string; + } + interface Schema$CommentFeed { + /** + * ETag of this response for caching purposes. + */ + etag?: string; + /** + * The ID of this collection of comments. + */ + id?: string; + /** + * The comments in this page of results. + */ + items?: Schema$Comment[]; + /** + * Identifies this resource as a collection of comments. Value: + * "plus#commentFeed". + */ + kind?: string; + /** + * Link to the next page of activities. + */ + nextLink?: string; + /** + * The continuation token, which is used to page through large result sets. + * Provide this value in a subsequent request to return the next page of + * results. + */ + nextPageToken?: string; + /** + * The title of this collection of comments. + */ + title?: string; + /** + * The time at which this collection of comments was last updated. Formatted + * as an RFC 3339 timestamp. + */ + updated?: string; + } + interface Schema$PeopleFeed { + /** + * ETag of this response for caching purposes. + */ + etag?: string; + /** + * The people in this page of results. Each item includes the id, + * displayName, image, and url for the person. To retrieve additional + * profile data, see the people.get method. + */ + items?: Schema$Person[]; + /** + * Identifies this resource as a collection of people. Value: + * "plus#peopleFeed". + */ + kind?: string; + /** + * The continuation token, which is used to page through large result sets. + * Provide this value in a subsequent request to return the next page of + * results. + */ + nextPageToken?: string; + /** + * Link to this resource. + */ + selfLink?: string; + /** + * The title of this collection of people. + */ + title?: string; + /** + * The total number of people available in this list. The number of people + * in a response might be smaller due to paging. This might not be set for + * all collections. + */ + totalItems?: number; + } + interface Schema$Person { + /** + * A short biography for this person. + */ + aboutMe?: string; + /** + * The age range of the person. Valid ranges are 17 or younger, 18 to 20, + * and 21 or older. Age is determined from the user's birthday using + * Western age reckoning. + */ + ageRange?: any; + /** + * The person's date of birth, represented as YYYY-MM-DD. + */ + birthday?: string; + /** + * The "bragging rights" line of this person. + */ + braggingRights?: string; + /** + * For followers who are visible, the number of people who have added this + * person or page to a circle. + */ + circledByCount?: number; + /** + * The cover photo content. + */ + cover?: any; + /** + * (this field is not currently used) + */ + currentLocation?: string; + /** + * The name of this person, which is suitable for display. + */ + displayName?: string; + /** + * The hosted domain name for the user's Google Apps account. For + * instance, example.com. The plus.profile.emails.read or email scope is + * needed to get this domain name. + */ + domain?: string; + /** + * A list of email addresses that this person has, including their Google + * account email address, and the public verified email addresses on their + * Google+ profile. The plus.profile.emails.read scope is needed to retrieve + * these email addresses, or the email scope can be used to retrieve just + * the Google account email address. + */ + emails?: any[]; + /** + * ETag of this response for caching purposes. + */ + etag?: string; + /** + * The person's gender. Possible values include, but are not limited to, + * the following values: - "male" - Male gender. - + * "female" - Female gender. - "other" - Other. + */ + gender?: string; + /** + * The ID of this person. + */ + id?: string; + /** + * The representation of the person's profile photo. + */ + image?: any; + /** + * Whether this user has signed up for Google+. + */ + isPlusUser?: boolean; + /** + * Identifies this resource as a person. Value: "plus#person". + */ + kind?: string; + /** + * The user's preferred language for rendering. + */ + language?: string; + /** + * An object representation of the individual components of a person's + * name. + */ + name?: any; + /** + * The nickname of this person. + */ + nickname?: string; + /** + * Type of person within Google+. Possible values include, but are not + * limited to, the following values: - "person" - represents an + * actual person. - "page" - represents a page. + */ + objectType?: string; + /** + * The occupation of this person. + */ + occupation?: string; + /** + * A list of current or past organizations with which this person is + * associated. + */ + organizations?: any[]; + /** + * A list of places where this person has lived. + */ + placesLived?: any[]; + /** + * If a Google+ Page, the number of people who have +1'd this page. + */ + plusOneCount?: number; + /** + * The person's relationship status. Possible values include, but are + * not limited to, the following values: - "single" - Person is + * single. - "in_a_relationship" - Person is in a relationship. + * - "engaged" - Person is engaged. - "married" - + * Person is married. - "its_complicated" - The relationship is + * complicated. - "open_relationship" - Person is in an open + * relationship. - "widowed" - Person is widowed. - + * "in_domestic_partnership" - Person is in a domestic + * partnership. - "in_civil_union" - Person is in a civil union. + */ + relationshipStatus?: string; + /** + * The person's skills. + */ + skills?: string; + /** + * The brief description (tagline) of this person. + */ + tagline?: string; + /** + * The URL of this person's profile. + */ + url?: string; + /** + * A list of URLs for this person. + */ + urls?: any[]; + /** + * Whether the person or Google+ Page has been verified. + */ + verified?: boolean; + } + interface Schema$Place { + /** + * The physical address of the place. + */ + address?: any; + /** + * The display name of the place. + */ + displayName?: string; + /** + * The id of the place. + */ + id?: string; + /** + * Identifies this resource as a place. Value: "plus#place". + */ + kind?: string; + /** + * The position of the place. + */ + position?: any; + } + interface Schema$PlusAclentryResource { + /** + * A descriptive name for this entry. Suitable for display. + */ + displayName?: string; + /** + * The ID of the entry. For entries of type "person" or + * "circle", this is the ID of the resource. For other types, this + * property is not set. + */ + id?: string; + /** + * The type of entry describing to whom access is granted. Possible values + * are: - "person" - Access to an individual. - + * "circle" - Access to members of a circle. - + * "myCircles" - Access to members of all the person's + * circles. - "extendedCircles" - Access to members of all the + * person's circles, plus all of the people in their circles. - + * "domain" - Access to members of the person's Google Apps + * domain. - "public" - Access to anyone on the web. + */ + type?: string; + } + class Resource$Activities { + root: Plus; + constructor(root: Plus); + getRoot(): Plus; + /** + * plus.activities.get + * @desc Get an activity. + * @alias plus.activities.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.activityId The ID of the activity to get. + * @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?: Params$Resource$Activities$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Activities$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Activities$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * plus.activities.list + * @desc List all of the activities in the specified collection for a + * particular user. + * @alias plus.activities.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.collection The collection of activities to list. + * @param {integer=} params.maxResults The maximum number of activities to include in the response, which is used for paging. For any response, the actual number returned might be less than the specified maxResults. + * @param {string=} params.pageToken The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response. + * @param {string} params.userId The ID of the user to get activities for. The special value "me" can be used to indicate the authenticated user. + * @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?: Params$Resource$Activities$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Activities$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Activities$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * plus.activities.search + * @desc Search public activities. + * @alias plus.activities.search + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.language Specify the preferred language to search with. See search language codes for available values. + * @param {integer=} params.maxResults The maximum number of activities to include in the response, which is used for paging. For any response, the actual number returned might be less than the specified maxResults. + * @param {string=} params.orderBy Specifies how to order search results. + * @param {string=} params.pageToken The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response. This token can be of any length. + * @param {string} params.query Full-text search query string. + * @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 + */ + search(params?: Params$Resource$Activities$Search, options?: MethodOptions): AxiosPromise; + search(params: Params$Resource$Activities$Search, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + search(params: Params$Resource$Activities$Search, callback: BodyResponseCallback): void; + search(callback: BodyResponseCallback): void; + } + interface Params$Resource$Activities$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the activity to get. + */ + activityId?: string; + } + interface Params$Resource$Activities$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The collection of activities to list. + */ + collection?: string; + /** + * The maximum number of activities to include in the response, which is + * used for paging. For any response, the actual number returned might be + * less than the specified maxResults. + */ + maxResults?: number; + /** + * The continuation token, which is used to page through large result sets. + * To get the next page of results, set this parameter to the value of + * "nextPageToken" from the previous response. + */ + pageToken?: string; + /** + * The ID of the user to get activities for. The special value "me" can be + * used to indicate the authenticated user. + */ + userId?: string; + } + interface Params$Resource$Activities$Search { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Specify the preferred language to search with. See search language codes + * for available values. + */ + language?: string; + /** + * The maximum number of activities to include in the response, which is + * used for paging. For any response, the actual number returned might be + * less than the specified maxResults. + */ + maxResults?: number; + /** + * Specifies how to order search results. + */ + orderBy?: string; + /** + * The continuation token, which is used to page through large result sets. + * To get the next page of results, set this parameter to the value of + * "nextPageToken" from the previous response. This token can be of any + * length. + */ + pageToken?: string; + /** + * Full-text search query string. + */ + query?: string; + } + class Resource$Comments { + root: Plus; + constructor(root: Plus); + getRoot(): Plus; + /** + * plus.comments.get + * @desc Get a comment. + * @alias plus.comments.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.commentId The ID of the comment to get. + * @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?: Params$Resource$Comments$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Comments$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Comments$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * plus.comments.list + * @desc List all of the comments for an activity. + * @alias plus.comments.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.activityId The ID of the activity to get comments for. + * @param {integer=} params.maxResults The maximum number of comments to include in the response, which is used for paging. For any response, the actual number returned might be less than the specified maxResults. + * @param {string=} params.pageToken The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response. + * @param {string=} params.sortOrder The order in which to sort the list of comments. + * @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?: Params$Resource$Comments$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Comments$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Comments$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Comments$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the comment to get. + */ + commentId?: string; + } + interface Params$Resource$Comments$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the activity to get comments for. + */ + activityId?: string; + /** + * The maximum number of comments to include in the response, which is used + * for paging. For any response, the actual number returned might be less + * than the specified maxResults. + */ + maxResults?: number; + /** + * The continuation token, which is used to page through large result sets. + * To get the next page of results, set this parameter to the value of + * "nextPageToken" from the previous response. + */ + pageToken?: string; + /** + * The order in which to sort the list of comments. + */ + sortOrder?: string; + } + class Resource$People { + root: Plus; + constructor(root: Plus); + getRoot(): Plus; + /** + * plus.people.get + * @desc Get a person's profile. If your app uses scope + * https://www.googleapis.com/auth/plus.login, this method is guaranteed to + * return ageRange and language. + * @alias plus.people.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.userId The ID of the person to get the profile for. The special value "me" can be used to indicate the authenticated user. + * @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?: Params$Resource$People$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$People$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$People$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * plus.people.list + * @desc List all of the people in the specified collection. + * @alias plus.people.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.collection The collection of people to list. + * @param {integer=} params.maxResults The maximum number of people to include in the response, which is used for paging. For any response, the actual number returned might be less than the specified maxResults. + * @param {string=} params.orderBy The order to return people in. + * @param {string=} params.pageToken The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response. + * @param {string} params.userId Get the collection of people for the person identified. Use "me" to indicate the authenticated user. + * @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?: Params$Resource$People$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$People$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$People$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * plus.people.listByActivity + * @desc List all of the people in the specified collection for a particular + * activity. + * @alias plus.people.listByActivity + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.activityId The ID of the activity to get the list of people for. + * @param {string} params.collection The collection of people to list. + * @param {integer=} params.maxResults The maximum number of people to include in the response, which is used for paging. For any response, the actual number returned might be less than the specified maxResults. + * @param {string=} params.pageToken The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response. + * @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 + */ + listByActivity(params?: Params$Resource$People$Listbyactivity, options?: MethodOptions): AxiosPromise; + listByActivity(params: Params$Resource$People$Listbyactivity, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listByActivity(params: Params$Resource$People$Listbyactivity, callback: BodyResponseCallback): void; + listByActivity(callback: BodyResponseCallback): void; + /** + * plus.people.search + * @desc Search all public profiles. + * @alias plus.people.search + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.language Specify the preferred language to search with. See search language codes for available values. + * @param {integer=} params.maxResults The maximum number of people to include in the response, which is used for paging. For any response, the actual number returned might be less than the specified maxResults. + * @param {string=} params.pageToken The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response. This token can be of any length. + * @param {string} params.query Specify a query string for full text search of public text in all profiles. + * @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 + */ + search(params?: Params$Resource$People$Search, options?: MethodOptions): AxiosPromise; + search(params: Params$Resource$People$Search, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + search(params: Params$Resource$People$Search, callback: BodyResponseCallback): void; + search(callback: BodyResponseCallback): void; + } + interface Params$Resource$People$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the person to get the profile for. The special value "me" can + * be used to indicate the authenticated user. + */ + userId?: string; + } + interface Params$Resource$People$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The collection of people to list. + */ + collection?: string; + /** + * The maximum number of people to include in the response, which is used + * for paging. For any response, the actual number returned might be less + * than the specified maxResults. + */ + maxResults?: number; + /** + * The order to return people in. + */ + orderBy?: string; + /** + * The continuation token, which is used to page through large result sets. + * To get the next page of results, set this parameter to the value of + * "nextPageToken" from the previous response. + */ + pageToken?: string; + /** + * Get the collection of people for the person identified. Use "me" to + * indicate the authenticated user. + */ + userId?: string; + } + interface Params$Resource$People$Listbyactivity { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the activity to get the list of people for. + */ + activityId?: string; + /** + * The collection of people to list. + */ + collection?: string; + /** + * The maximum number of people to include in the response, which is used + * for paging. For any response, the actual number returned might be less + * than the specified maxResults. + */ + maxResults?: number; + /** + * The continuation token, which is used to page through large result sets. + * To get the next page of results, set this parameter to the value of + * "nextPageToken" from the previous response. + */ + pageToken?: string; + } + interface Params$Resource$People$Search { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Specify the preferred language to search with. See search language codes + * for available values. + */ + language?: string; + /** + * The maximum number of people to include in the response, which is used + * for paging. For any response, the actual number returned might be less + * than the specified maxResults. + */ + maxResults?: number; + /** + * The continuation token, which is used to page through large result sets. + * To get the next page of results, set this parameter to the value of + * "nextPageToken" from the previous response. This token can be of any + * length. + */ + pageToken?: string; + /** + * Specify a query string for full text search of public text in all + * profiles. + */ + query?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/plus/v1.js b/express-server/node_modules/googleapis/build/src/apis/plus/v1.js new file mode 100644 index 00000000..a3b87d8f --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/plus/v1.js @@ -0,0 +1,366 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var plus_v1; +(function (plus_v1) { + /** + * Google+ API + * + * Builds on top of the Google+ platform. + * + * @example + * const {google} = require('googleapis'); + * const plus = google.plus('v1'); + * + * @namespace plus + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Plus + */ + class Plus { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.activities = new Resource$Activities(this); + this.comments = new Resource$Comments(this); + this.people = new Resource$People(this); + } + getRoot() { + return this.root; + } + } + plus_v1.Plus = Plus; + class Resource$Activities { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/plus/v1/activities/{activityId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['activityId'], + pathParams: ['activityId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/plus/v1/people/{userId}/activities/{collection}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userId', 'collection'], + pathParams: ['collection', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + search(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/plus/v1/activities') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['query'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + plus_v1.Resource$Activities = Resource$Activities; + class Resource$Comments { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/plus/v1/comments/{commentId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['commentId'], + pathParams: ['commentId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/plus/v1/activities/{activityId}/comments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['activityId'], + pathParams: ['activityId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + plus_v1.Resource$Comments = Resource$Comments; + class Resource$People { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/plus/v1/people/{userId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userId'], + pathParams: ['userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/plus/v1/people/{userId}/people/{collection}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userId', 'collection'], + pathParams: ['collection', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listByActivity(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/plus/v1/activities/{activityId}/people/{collection}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['activityId', 'collection'], + pathParams: ['activityId', 'collection'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + search(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/plus/v1/people').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['query'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + plus_v1.Resource$People = Resource$People; +})(plus_v1 = exports.plus_v1 || (exports.plus_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/plus/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/plus/v1.js.map new file mode 100644 index 00000000..dc769fee --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/plus/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/plus/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/plusDomains/README.md b/express-server/node_modules/googleapis/build/src/apis/plusDomains/README.md new file mode 100644 index 00000000..a2cf5f95 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/plusDomains/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/plusDomains + +> Builds on top of the Google+ platform for Google Apps Domains. + +## Installation + +```sh +$ npm install @google/plusDomains +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/plusDomains/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/plusDomains/index.d.ts new file mode 100644 index 00000000..ad7bda6f --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/plusDomains/index.d.ts @@ -0,0 +1,6 @@ +import { plusDomains_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof plusDomains_v1.Plusdomains; +}; +export declare function plusDomains(version: 'v1'): plusDomains_v1.Plusdomains; +export declare function plusDomains(options: plusDomains_v1.Options): plusDomains_v1.Plusdomains; diff --git a/express-server/node_modules/googleapis/build/src/apis/plusDomains/index.js b/express-server/node_modules/googleapis/build/src/apis/plusDomains/index.js new file mode 100644 index 00000000..444c1702 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/plusDomains/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.plusDomains_v1.Plusdomains, +}; +function plusDomains(versionOrOptions) { + return googleapis_common_1.getAPI('plusDomains', versionOrOptions, exports.VERSIONS, this); +} +exports.plusDomains = plusDomains; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/plusDomains/index.js.map b/express-server/node_modules/googleapis/build/src/apis/plusDomains/index.js.map new file mode 100644 index 00000000..b5fb87d1 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/plusDomains/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/plusDomains/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAoC;AAEvB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,mBAAc,CAAC,WAAW;CACjC,CAAC;AAKF,SAAgB,WAAW,CACG,gBAA6C;IACzE,OAAO,0BAAM,CAAI,aAAa,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACpE,CAAC;AAHD,kCAGC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/plusDomains/package.json b/express-server/node_modules/googleapis/build/src/apis/plusDomains/package.json new file mode 100644 index 00000000..20a8f053 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/plusDomains/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/plusDomains", + "version": "0.1.0", + "description": "plusDomains", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/plusDomains/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/plusDomains/v1.d.ts new file mode 100644 index 00000000..88d9426e --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/plusDomains/v1.d.ts @@ -0,0 +1,1498 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace plusDomains_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Google+ Domains API + * + * Builds on top of the Google+ platform for Google Apps Domains. + * + * @example + * const {google} = require('googleapis'); + * const plusDomains = google.plusDomains('v1'); + * + * @namespace plusDomains + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Plusdomains + */ + class Plusdomains { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + activities: Resource$Activities; + audiences: Resource$Audiences; + circles: Resource$Circles; + comments: Resource$Comments; + media: Resource$Media; + people: Resource$People; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + interface Schema$Acl { + /** + * Description of the access granted, suitable for display. + */ + description?: string; + /** + * Whether access is restricted to the domain. + */ + domainRestricted?: boolean; + /** + * The list of access entries. + */ + items?: Schema$PlusDomainsAclentryResource[]; + /** + * Identifies this resource as a collection of access controls. Value: + * "plus#acl". + */ + kind?: string; + } + interface Schema$Activity { + /** + * Identifies who has access to see this activity. + */ + access?: Schema$Acl; + /** + * The person who performed this activity. + */ + actor?: any; + /** + * Street address where this activity occurred. + */ + address?: string; + /** + * Additional content added by the person who shared this activity, + * applicable only when resharing an activity. + */ + annotation?: string; + /** + * If this activity is a crosspost from another system, this property + * specifies the ID of the original activity. + */ + crosspostSource?: string; + /** + * ETag of this response for caching purposes. + */ + etag?: string; + /** + * Latitude and longitude where this activity occurred. Format is latitude + * followed by longitude, space separated. + */ + geocode?: string; + /** + * The ID of this activity. + */ + id?: string; + /** + * Identifies this resource as an activity. Value: + * "plus#activity". + */ + kind?: string; + /** + * The location where this activity occurred. + */ + location?: Schema$Place; + /** + * The object of this activity. + */ + object?: any; + /** + * ID of the place where this activity occurred. + */ + placeId?: string; + /** + * Name of the place where this activity occurred. + */ + placeName?: string; + /** + * The service provider that initially published this activity. + */ + provider?: any; + /** + * The time at which this activity was initially published. Formatted as an + * RFC 3339 timestamp. + */ + published?: string; + /** + * Radius, in meters, of the region where this activity occurred, centered + * at the latitude and longitude identified in geocode. + */ + radius?: string; + /** + * Title of this activity. + */ + title?: string; + /** + * The time at which this activity was last updated. Formatted as an RFC + * 3339 timestamp. + */ + updated?: string; + /** + * The link to this activity. + */ + url?: string; + /** + * This activity's verb, which indicates the action that was performed. + * Possible values include, but are not limited to, the following values: - + * "post" - Publish content to the stream. - "share" - + * Reshare an activity. + */ + verb?: string; + } + interface Schema$ActivityFeed { + /** + * ETag of this response for caching purposes. + */ + etag?: string; + /** + * The ID of this collection of activities. Deprecated. + */ + id?: string; + /** + * The activities in this page of results. + */ + items?: Schema$Activity[]; + /** + * Identifies this resource as a collection of activities. Value: + * "plus#activityFeed". + */ + kind?: string; + /** + * Link to the next page of activities. + */ + nextLink?: string; + /** + * The continuation token, which is used to page through large result sets. + * Provide this value in a subsequent request to return the next page of + * results. + */ + nextPageToken?: string; + /** + * Link to this activity resource. + */ + selfLink?: string; + /** + * The title of this collection of activities, which is a truncated portion + * of the content. + */ + title?: string; + /** + * The time at which this collection of activities was last updated. + * Formatted as an RFC 3339 timestamp. + */ + updated?: string; + } + interface Schema$Audience { + /** + * ETag of this response for caching purposes. + */ + etag?: string; + /** + * The access control list entry. + */ + item?: Schema$PlusDomainsAclentryResource; + /** + * Identifies this resource as an audience. Value: + * "plus#audience". + */ + kind?: string; + /** + * The number of people in this circle. This only applies if entity_type is + * CIRCLE. + */ + memberCount?: number; + /** + * The circle members' visibility as chosen by the owner of the circle. + * This only applies for items with "item.type" equals + * "circle". Possible values are: - "public" - Members + * are visible to the public. - "limited" - Members are visible + * to a limited audience. - "private" - Members are visible to + * the owner only. + */ + visibility?: string; + } + interface Schema$AudiencesFeed { + /** + * ETag of this response for caching purposes. + */ + etag?: string; + /** + * The audiences in this result. + */ + items?: Schema$Audience[]; + /** + * Identifies this resource as a collection of audiences. Value: + * "plus#audienceFeed". + */ + kind?: string; + /** + * The continuation token, which is used to page through large result sets. + * Provide this value in a subsequent request to return the next page of + * results. + */ + nextPageToken?: string; + /** + * The total number of ACL entries. The number of entries in this response + * may be smaller due to paging. + */ + totalItems?: number; + } + interface Schema$Circle { + /** + * The description of this circle. + */ + description?: string; + /** + * The circle name. + */ + displayName?: string; + /** + * ETag of this response for caching purposes. + */ + etag?: string; + /** + * The ID of the circle. + */ + id?: string; + /** + * Identifies this resource as a circle. Value: "plus#circle". + */ + kind?: string; + /** + * The people in this circle. + */ + people?: any; + /** + * Link to this circle resource + */ + selfLink?: string; + } + interface Schema$CircleFeed { + /** + * ETag of this response for caching purposes. + */ + etag?: string; + /** + * The circles in this page of results. + */ + items?: Schema$Circle[]; + /** + * Identifies this resource as a collection of circles. Value: + * "plus#circleFeed". + */ + kind?: string; + /** + * Link to the next page of circles. + */ + nextLink?: string; + /** + * The continuation token, which is used to page through large result sets. + * Provide this value in a subsequent request to return the next page of + * results. + */ + nextPageToken?: string; + /** + * Link to this page of circles. + */ + selfLink?: string; + /** + * The title of this list of resources. + */ + title?: string; + /** + * The total number of circles. The number of circles in this response may + * be smaller due to paging. + */ + totalItems?: number; + } + interface Schema$Comment { + /** + * The person who posted this comment. + */ + actor?: any; + /** + * ETag of this response for caching purposes. + */ + etag?: string; + /** + * The ID of this comment. + */ + id?: string; + /** + * The activity this comment replied to. + */ + inReplyTo?: any[]; + /** + * Identifies this resource as a comment. Value: "plus#comment". + */ + kind?: string; + /** + * The object of this comment. + */ + object?: any; + /** + * People who +1'd this comment. + */ + plusoners?: any; + /** + * The time at which this comment was initially published. Formatted as an + * RFC 3339 timestamp. + */ + published?: string; + /** + * Link to this comment resource. + */ + selfLink?: string; + /** + * The time at which this comment was last updated. Formatted as an RFC 3339 + * timestamp. + */ + updated?: string; + /** + * This comment's verb, indicating what action was performed. Possible + * values are: - "post" - Publish content to the stream. + */ + verb?: string; + } + interface Schema$CommentFeed { + /** + * ETag of this response for caching purposes. + */ + etag?: string; + /** + * The ID of this collection of comments. + */ + id?: string; + /** + * The comments in this page of results. + */ + items?: Schema$Comment[]; + /** + * Identifies this resource as a collection of comments. Value: + * "plus#commentFeed". + */ + kind?: string; + /** + * Link to the next page of activities. + */ + nextLink?: string; + /** + * The continuation token, which is used to page through large result sets. + * Provide this value in a subsequent request to return the next page of + * results. + */ + nextPageToken?: string; + /** + * The title of this collection of comments. + */ + title?: string; + /** + * The time at which this collection of comments was last updated. Formatted + * as an RFC 3339 timestamp. + */ + updated?: string; + } + interface Schema$Media { + /** + * The person who uploaded this media. + */ + author?: any; + /** + * The display name for this media. + */ + displayName?: string; + /** + * ETag of this response for caching purposes. + */ + etag?: string; + /** + * Exif information of the media item. + */ + exif?: any; + /** + * The height in pixels of the original image. + */ + height?: number; + /** + * ID of this media, which is generated by the API. + */ + id?: string; + /** + * The type of resource. + */ + kind?: string; + /** + * The time at which this media was originally created in UTC. Formatted as + * an RFC 3339 timestamp that matches this example: 2010-11-25T14:30:27.655Z + */ + mediaCreatedTime?: string; + /** + * The URL of this photo or video's still image. + */ + mediaUrl?: string; + /** + * The time at which this media was uploaded. Formatted as an RFC 3339 + * timestamp. + */ + published?: string; + /** + * The size in bytes of this video. + */ + sizeBytes?: string; + /** + * The list of video streams for this video. There might be several + * different streams available for a single video, either Flash or MPEG, of + * various sizes + */ + streams?: Schema$Videostream[]; + /** + * A description, or caption, for this media. + */ + summary?: string; + /** + * The time at which this media was last updated. This includes changes to + * media metadata. Formatted as an RFC 3339 timestamp. + */ + updated?: string; + /** + * The URL for the page that hosts this media. + */ + url?: string; + /** + * The duration in milliseconds of this video. + */ + videoDuration?: string; + /** + * The encoding status of this video. Possible values are: - + * "UPLOADING" - Not all the video bytes have been received. - + * "PENDING" - Video not yet processed. - "FAILED" - + * Video processing failed. - "READY" - A single video stream is + * playable. - "FINAL" - All video streams are playable. + */ + videoStatus?: string; + /** + * The width in pixels of the original image. + */ + width?: number; + } + interface Schema$PeopleFeed { + /** + * ETag of this response for caching purposes. + */ + etag?: string; + /** + * The people in this page of results. Each item includes the id, + * displayName, image, and url for the person. To retrieve additional + * profile data, see the people.get method. + */ + items?: Schema$Person[]; + /** + * Identifies this resource as a collection of people. Value: + * "plus#peopleFeed". + */ + kind?: string; + /** + * The continuation token, which is used to page through large result sets. + * Provide this value in a subsequent request to return the next page of + * results. + */ + nextPageToken?: string; + /** + * Link to this resource. + */ + selfLink?: string; + /** + * The title of this collection of people. + */ + title?: string; + /** + * The total number of people available in this list. The number of people + * in a response might be smaller due to paging. This might not be set for + * all collections. + */ + totalItems?: number; + } + interface Schema$Person { + /** + * A short biography for this person. + */ + aboutMe?: string; + /** + * The person's date of birth, represented as YYYY-MM-DD. + */ + birthday?: string; + /** + * The "bragging rights" line of this person. + */ + braggingRights?: string; + /** + * For followers who are visible, the number of people who have added this + * person or page to a circle. + */ + circledByCount?: number; + /** + * The cover photo content. + */ + cover?: any; + /** + * (this field is not currently used) + */ + currentLocation?: string; + /** + * The name of this person, which is suitable for display. + */ + displayName?: string; + /** + * The hosted domain name for the user's Google Apps account. For + * instance, example.com. The plus.profile.emails.read or email scope is + * needed to get this domain name. + */ + domain?: string; + /** + * A list of email addresses that this person has, including their Google + * account email address, and the public verified email addresses on their + * Google+ profile. The plus.profile.emails.read scope is needed to retrieve + * these email addresses, or the email scope can be used to retrieve just + * the Google account email address. + */ + emails?: any[]; + /** + * ETag of this response for caching purposes. + */ + etag?: string; + /** + * The person's gender. Possible values include, but are not limited to, + * the following values: - "male" - Male gender. - + * "female" - Female gender. - "other" - Other. + */ + gender?: string; + /** + * The ID of this person. + */ + id?: string; + /** + * The representation of the person's profile photo. + */ + image?: any; + /** + * Whether this user has signed up for Google+. + */ + isPlusUser?: boolean; + /** + * Identifies this resource as a person. Value: "plus#person". + */ + kind?: string; + /** + * An object representation of the individual components of a person's + * name. + */ + name?: any; + /** + * The nickname of this person. + */ + nickname?: string; + /** + * Type of person within Google+. Possible values include, but are not + * limited to, the following values: - "person" - represents an + * actual person. - "page" - represents a page. + */ + objectType?: string; + /** + * The occupation of this person. + */ + occupation?: string; + /** + * A list of current or past organizations with which this person is + * associated. + */ + organizations?: any[]; + /** + * A list of places where this person has lived. + */ + placesLived?: any[]; + /** + * If a Google+ Page, the number of people who have +1'd this page. + */ + plusOneCount?: number; + /** + * The person's relationship status. Possible values include, but are + * not limited to, the following values: - "single" - Person is + * single. - "in_a_relationship" - Person is in a relationship. + * - "engaged" - Person is engaged. - "married" - + * Person is married. - "its_complicated" - The relationship is + * complicated. - "open_relationship" - Person is in an open + * relationship. - "widowed" - Person is widowed. - + * "in_domestic_partnership" - Person is in a domestic + * partnership. - "in_civil_union" - Person is in a civil union. + */ + relationshipStatus?: string; + /** + * The person's skills. + */ + skills?: string; + /** + * The brief description (tagline) of this person. + */ + tagline?: string; + /** + * The URL of this person's profile. + */ + url?: string; + /** + * A list of URLs for this person. + */ + urls?: any[]; + /** + * Whether the person or Google+ Page has been verified. + */ + verified?: boolean; + } + interface Schema$Place { + /** + * The physical address of the place. + */ + address?: any; + /** + * The display name of the place. + */ + displayName?: string; + /** + * The id of the place. + */ + id?: string; + /** + * Identifies this resource as a place. Value: "plus#place". + */ + kind?: string; + /** + * The position of the place. + */ + position?: any; + } + interface Schema$PlusDomainsAclentryResource { + /** + * A descriptive name for this entry. Suitable for display. + */ + displayName?: string; + /** + * The ID of the entry. For entries of type "person" or + * "circle", this is the ID of the resource. For other types, this + * property is not set. + */ + id?: string; + /** + * The type of entry describing to whom access is granted. Possible values + * are: - "person" - Access to an individual. - + * "circle" - Access to members of a circle. - + * "myCircles" - Access to members of all the person's + * circles. - "extendedCircles" - Access to members of all the + * person's circles, plus all of the people in their circles. - + * "domain" - Access to members of the person's Google Apps + * domain. - "public" - Access to anyone on the web. + */ + type?: string; + } + interface Schema$Videostream { + /** + * The height, in pixels, of the video resource. + */ + height?: number; + /** + * MIME type of the video stream. + */ + type?: string; + /** + * URL of the video stream. + */ + url?: string; + /** + * The width, in pixels, of the video resource. + */ + width?: number; + } + class Resource$Activities { + root: Plusdomains; + constructor(root: Plusdomains); + getRoot(): Plusdomains; + /** + * plusDomains.activities.get + * @desc Get an activity. + * @alias plusDomains.activities.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.activityId The ID of the activity to get. + * @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?: Params$Resource$Activities$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Activities$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Activities$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * plusDomains.activities.insert + * @desc Create a new activity for the authenticated user. + * @alias plusDomains.activities.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.preview If "true", extract the potential media attachments for a URL. The response will include all possible attachments for a URL, including video, photos, and articles based on the content of the page. + * @param {string} params.userId The ID of the user to create the activity on behalf of. Its value should be "me", to indicate the authenticated user. + * @param {().Activity} 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?: Params$Resource$Activities$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Activities$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Activities$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * plusDomains.activities.list + * @desc List all of the activities in the specified collection for a + * particular user. + * @alias plusDomains.activities.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.collection The collection of activities to list. + * @param {integer=} params.maxResults The maximum number of activities to include in the response, which is used for paging. For any response, the actual number returned might be less than the specified maxResults. + * @param {string=} params.pageToken The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response. + * @param {string} params.userId The ID of the user to get activities for. The special value "me" can be used to indicate the authenticated user. + * @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?: Params$Resource$Activities$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Activities$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Activities$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Activities$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the activity to get. + */ + activityId?: string; + } + interface Params$Resource$Activities$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * If "true", extract the potential media attachments for a URL. The + * response will include all possible attachments for a URL, including + * video, photos, and articles based on the content of the page. + */ + preview?: boolean; + /** + * The ID of the user to create the activity on behalf of. Its value should + * be "me", to indicate the authenticated user. + */ + userId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Activity; + } + interface Params$Resource$Activities$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The collection of activities to list. + */ + collection?: string; + /** + * The maximum number of activities to include in the response, which is + * used for paging. For any response, the actual number returned might be + * less than the specified maxResults. + */ + maxResults?: number; + /** + * The continuation token, which is used to page through large result sets. + * To get the next page of results, set this parameter to the value of + * "nextPageToken" from the previous response. + */ + pageToken?: string; + /** + * The ID of the user to get activities for. The special value "me" can be + * used to indicate the authenticated user. + */ + userId?: string; + } + class Resource$Audiences { + root: Plusdomains; + constructor(root: Plusdomains); + getRoot(): Plusdomains; + /** + * plusDomains.audiences.list + * @desc List all of the audiences to which a user can share. + * @alias plusDomains.audiences.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.maxResults The maximum number of circles to include in the response, which is used for paging. For any response, the actual number returned might be less than the specified maxResults. + * @param {string=} params.pageToken The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response. + * @param {string} params.userId The ID of the user to get audiences for. The special value "me" can be used to indicate the authenticated user. + * @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?: Params$Resource$Audiences$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Audiences$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Audiences$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Audiences$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The maximum number of circles to include in the response, which is used + * for paging. For any response, the actual number returned might be less + * than the specified maxResults. + */ + maxResults?: number; + /** + * The continuation token, which is used to page through large result sets. + * To get the next page of results, set this parameter to the value of + * "nextPageToken" from the previous response. + */ + pageToken?: string; + /** + * The ID of the user to get audiences for. The special value "me" can be + * used to indicate the authenticated user. + */ + userId?: string; + } + class Resource$Circles { + root: Plusdomains; + constructor(root: Plusdomains); + getRoot(): Plusdomains; + /** + * plusDomains.circles.addPeople + * @desc Add a person to a circle. Google+ limits certain circle operations, + * including the number of circle adds. Learn More. + * @alias plusDomains.circles.addPeople + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.circleId The ID of the circle to add the person to. + * @param {string=} params.email Email of the people to add to the circle. Optional, can be repeated. + * @param {string=} params.userId IDs of the people to add to the circle. Optional, can be repeated. + * @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 + */ + addPeople(params?: Params$Resource$Circles$Addpeople, options?: MethodOptions): AxiosPromise; + addPeople(params: Params$Resource$Circles$Addpeople, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + addPeople(params: Params$Resource$Circles$Addpeople, callback: BodyResponseCallback): void; + addPeople(callback: BodyResponseCallback): void; + /** + * plusDomains.circles.get + * @desc Get a circle. + * @alias plusDomains.circles.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.circleId The ID of the circle to get. + * @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?: Params$Resource$Circles$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Circles$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Circles$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * plusDomains.circles.insert + * @desc Create a new circle for the authenticated user. + * @alias plusDomains.circles.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.userId The ID of the user to create the circle on behalf of. The value "me" can be used to indicate the authenticated user. + * @param {().Circle} 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?: Params$Resource$Circles$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Circles$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Circles$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * plusDomains.circles.list + * @desc List all of the circles for a user. + * @alias plusDomains.circles.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.maxResults The maximum number of circles to include in the response, which is used for paging. For any response, the actual number returned might be less than the specified maxResults. + * @param {string=} params.pageToken The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response. + * @param {string} params.userId The ID of the user to get circles for. The special value "me" can be used to indicate the authenticated user. + * @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?: Params$Resource$Circles$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Circles$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Circles$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * plusDomains.circles.patch + * @desc Update a circle's description. This method supports patch + * semantics. + * @alias plusDomains.circles.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.circleId The ID of the circle to update. + * @param {().Circle} 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 + */ + patch(params?: Params$Resource$Circles$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Circles$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Circles$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * plusDomains.circles.remove + * @desc Delete a circle. + * @alias plusDomains.circles.remove + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.circleId The ID of the circle to delete. + * @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 + */ + remove(params?: Params$Resource$Circles$Remove, options?: MethodOptions): AxiosPromise; + remove(params: Params$Resource$Circles$Remove, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + remove(params: Params$Resource$Circles$Remove, callback: BodyResponseCallback): void; + remove(callback: BodyResponseCallback): void; + /** + * plusDomains.circles.removePeople + * @desc Remove a person from a circle. + * @alias plusDomains.circles.removePeople + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.circleId The ID of the circle to remove the person from. + * @param {string=} params.email Email of the people to add to the circle. Optional, can be repeated. + * @param {string=} params.userId IDs of the people to remove from the circle. Optional, can be repeated. + * @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 + */ + removePeople(params?: Params$Resource$Circles$Removepeople, options?: MethodOptions): AxiosPromise; + removePeople(params: Params$Resource$Circles$Removepeople, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + removePeople(params: Params$Resource$Circles$Removepeople, callback: BodyResponseCallback): void; + removePeople(callback: BodyResponseCallback): void; + /** + * plusDomains.circles.update + * @desc Update a circle's description. + * @alias plusDomains.circles.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.circleId The ID of the circle to update. + * @param {().Circle} 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?: Params$Resource$Circles$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Circles$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Circles$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Circles$Addpeople { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the circle to add the person to. + */ + circleId?: string; + /** + * Email of the people to add to the circle. Optional, can be repeated. + */ + email?: string; + /** + * IDs of the people to add to the circle. Optional, can be repeated. + */ + userId?: string; + } + interface Params$Resource$Circles$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the circle to get. + */ + circleId?: string; + } + interface Params$Resource$Circles$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the user to create the circle on behalf of. The value "me" can + * be used to indicate the authenticated user. + */ + userId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Circle; + } + interface Params$Resource$Circles$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The maximum number of circles to include in the response, which is used + * for paging. For any response, the actual number returned might be less + * than the specified maxResults. + */ + maxResults?: number; + /** + * The continuation token, which is used to page through large result sets. + * To get the next page of results, set this parameter to the value of + * "nextPageToken" from the previous response. + */ + pageToken?: string; + /** + * The ID of the user to get circles for. The special value "me" can be used + * to indicate the authenticated user. + */ + userId?: string; + } + interface Params$Resource$Circles$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the circle to update. + */ + circleId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Circle; + } + interface Params$Resource$Circles$Remove { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the circle to delete. + */ + circleId?: string; + } + interface Params$Resource$Circles$Removepeople { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the circle to remove the person from. + */ + circleId?: string; + /** + * Email of the people to add to the circle. Optional, can be repeated. + */ + email?: string; + /** + * IDs of the people to remove from the circle. Optional, can be repeated. + */ + userId?: string; + } + interface Params$Resource$Circles$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the circle to update. + */ + circleId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Circle; + } + class Resource$Comments { + root: Plusdomains; + constructor(root: Plusdomains); + getRoot(): Plusdomains; + /** + * plusDomains.comments.get + * @desc Get a comment. + * @alias plusDomains.comments.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.commentId The ID of the comment to get. + * @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?: Params$Resource$Comments$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Comments$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Comments$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * plusDomains.comments.insert + * @desc Create a new comment in reply to an activity. + * @alias plusDomains.comments.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.activityId The ID of the activity to reply to. + * @param {().Comment} 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?: Params$Resource$Comments$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Comments$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Comments$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * plusDomains.comments.list + * @desc List all of the comments for an activity. + * @alias plusDomains.comments.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.activityId The ID of the activity to get comments for. + * @param {integer=} params.maxResults The maximum number of comments to include in the response, which is used for paging. For any response, the actual number returned might be less than the specified maxResults. + * @param {string=} params.pageToken The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response. + * @param {string=} params.sortOrder The order in which to sort the list of comments. + * @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?: Params$Resource$Comments$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Comments$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Comments$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Comments$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the comment to get. + */ + commentId?: string; + } + interface Params$Resource$Comments$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the activity to reply to. + */ + activityId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Comment; + } + interface Params$Resource$Comments$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the activity to get comments for. + */ + activityId?: string; + /** + * The maximum number of comments to include in the response, which is used + * for paging. For any response, the actual number returned might be less + * than the specified maxResults. + */ + maxResults?: number; + /** + * The continuation token, which is used to page through large result sets. + * To get the next page of results, set this parameter to the value of + * "nextPageToken" from the previous response. + */ + pageToken?: string; + /** + * The order in which to sort the list of comments. + */ + sortOrder?: string; + } + class Resource$Media { + root: Plusdomains; + constructor(root: Plusdomains); + getRoot(): Plusdomains; + /** + * plusDomains.media.insert + * @desc Add a new media item to an album. The current upload size + * limitations are 36MB for a photo and 1GB for a video. Uploads do not + * count against quota if photos are less than 2048 pixels on their longest + * side or videos are less than 15 minutes in length. + * @alias plusDomains.media.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.collection + * @param {string} params.userId The ID of the user to create the activity on behalf of. + * @param {object} params.resource Media resource metadata + * @param {object} params.media Media object + * @param {string} params.media.mimeType Media mime-type + * @param {string|object} params.media.body Media body contents + * @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?: Params$Resource$Media$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Media$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Media$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + } + interface Params$Resource$Media$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * + */ + collection?: string; + /** + * The ID of the user to create the activity on behalf of. + */ + userId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Media; + /** + * Media metadata + */ + media?: { + /** + * Media mime-type + */ + mediaType?: string; + /** + * Media body contents + */ + body?: any; + }; + } + class Resource$People { + root: Plusdomains; + constructor(root: Plusdomains); + getRoot(): Plusdomains; + /** + * plusDomains.people.get + * @desc Get a person's profile. + * @alias plusDomains.people.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.userId The ID of the person to get the profile for. The special value "me" can be used to indicate the authenticated user. + * @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?: Params$Resource$People$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$People$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$People$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * plusDomains.people.list + * @desc List all of the people in the specified collection. + * @alias plusDomains.people.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.collection The collection of people to list. + * @param {integer=} params.maxResults The maximum number of people to include in the response, which is used for paging. For any response, the actual number returned might be less than the specified maxResults. + * @param {string=} params.orderBy The order to return people in. + * @param {string=} params.pageToken The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response. + * @param {string} params.userId Get the collection of people for the person identified. Use "me" to indicate the authenticated user. + * @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?: Params$Resource$People$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$People$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$People$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * plusDomains.people.listByActivity + * @desc List all of the people in the specified collection for a particular + * activity. + * @alias plusDomains.people.listByActivity + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.activityId The ID of the activity to get the list of people for. + * @param {string} params.collection The collection of people to list. + * @param {integer=} params.maxResults The maximum number of people to include in the response, which is used for paging. For any response, the actual number returned might be less than the specified maxResults. + * @param {string=} params.pageToken The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response. + * @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 + */ + listByActivity(params?: Params$Resource$People$Listbyactivity, options?: MethodOptions): AxiosPromise; + listByActivity(params: Params$Resource$People$Listbyactivity, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listByActivity(params: Params$Resource$People$Listbyactivity, callback: BodyResponseCallback): void; + listByActivity(callback: BodyResponseCallback): void; + /** + * plusDomains.people.listByCircle + * @desc List all of the people who are members of a circle. + * @alias plusDomains.people.listByCircle + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.circleId The ID of the circle to get the members of. + * @param {integer=} params.maxResults The maximum number of people to include in the response, which is used for paging. For any response, the actual number returned might be less than the specified maxResults. + * @param {string=} params.pageToken The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response. + * @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 + */ + listByCircle(params?: Params$Resource$People$Listbycircle, options?: MethodOptions): AxiosPromise; + listByCircle(params: Params$Resource$People$Listbycircle, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listByCircle(params: Params$Resource$People$Listbycircle, callback: BodyResponseCallback): void; + listByCircle(callback: BodyResponseCallback): void; + } + interface Params$Resource$People$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the person to get the profile for. The special value "me" can + * be used to indicate the authenticated user. + */ + userId?: string; + } + interface Params$Resource$People$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The collection of people to list. + */ + collection?: string; + /** + * The maximum number of people to include in the response, which is used + * for paging. For any response, the actual number returned might be less + * than the specified maxResults. + */ + maxResults?: number; + /** + * The order to return people in. + */ + orderBy?: string; + /** + * The continuation token, which is used to page through large result sets. + * To get the next page of results, set this parameter to the value of + * "nextPageToken" from the previous response. + */ + pageToken?: string; + /** + * Get the collection of people for the person identified. Use "me" to + * indicate the authenticated user. + */ + userId?: string; + } + interface Params$Resource$People$Listbyactivity { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the activity to get the list of people for. + */ + activityId?: string; + /** + * The collection of people to list. + */ + collection?: string; + /** + * The maximum number of people to include in the response, which is used + * for paging. For any response, the actual number returned might be less + * than the specified maxResults. + */ + maxResults?: number; + /** + * The continuation token, which is used to page through large result sets. + * To get the next page of results, set this parameter to the value of + * "nextPageToken" from the previous response. + */ + pageToken?: string; + } + interface Params$Resource$People$Listbycircle { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the circle to get the members of. + */ + circleId?: string; + /** + * The maximum number of people to include in the response, which is used + * for paging. For any response, the actual number returned might be less + * than the specified maxResults. + */ + maxResults?: number; + /** + * The continuation token, which is used to page through large result sets. + * To get the next page of results, set this parameter to the value of + * "nextPageToken" from the previous response. + */ + pageToken?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/plusDomains/v1.js b/express-server/node_modules/googleapis/build/src/apis/plusDomains/v1.js new file mode 100644 index 00000000..671b9ae3 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/plusDomains/v1.js @@ -0,0 +1,747 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var plusDomains_v1; +(function (plusDomains_v1) { + /** + * Google+ Domains API + * + * Builds on top of the Google+ platform for Google Apps Domains. + * + * @example + * const {google} = require('googleapis'); + * const plusDomains = google.plusDomains('v1'); + * + * @namespace plusDomains + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Plusdomains + */ + class Plusdomains { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.activities = new Resource$Activities(this); + this.audiences = new Resource$Audiences(this); + this.circles = new Resource$Circles(this); + this.comments = new Resource$Comments(this); + this.media = new Resource$Media(this); + this.people = new Resource$People(this); + } + getRoot() { + return this.root; + } + } + plusDomains_v1.Plusdomains = Plusdomains; + class Resource$Activities { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/plusDomains/v1/activities/{activityId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['activityId'], + pathParams: ['activityId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/plusDomains/v1/people/{userId}/activities') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['userId'], + pathParams: ['userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/plusDomains/v1/people/{userId}/activities/{collection}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userId', 'collection'], + pathParams: ['collection', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + plusDomains_v1.Resource$Activities = Resource$Activities; + class Resource$Audiences { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/plusDomains/v1/people/{userId}/audiences') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userId'], + pathParams: ['userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + plusDomains_v1.Resource$Audiences = Resource$Audiences; + class Resource$Circles { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + addPeople(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/plusDomains/v1/circles/{circleId}/people') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['circleId'], + pathParams: ['circleId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/plusDomains/v1/circles/{circleId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['circleId'], + pathParams: ['circleId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/plusDomains/v1/people/{userId}/circles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['userId'], + pathParams: ['userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/plusDomains/v1/people/{userId}/circles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userId'], + pathParams: ['userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/plusDomains/v1/circles/{circleId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['circleId'], + pathParams: ['circleId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + remove(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/plusDomains/v1/circles/{circleId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['circleId'], + pathParams: ['circleId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + removePeople(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/plusDomains/v1/circles/{circleId}/people') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['circleId'], + pathParams: ['circleId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/plusDomains/v1/circles/{circleId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['circleId'], + pathParams: ['circleId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + plusDomains_v1.Resource$Circles = Resource$Circles; + class Resource$Comments { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/plusDomains/v1/comments/{commentId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['commentId'], + pathParams: ['commentId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/plusDomains/v1/activities/{activityId}/comments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['activityId'], + pathParams: ['activityId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/plusDomains/v1/activities/{activityId}/comments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['activityId'], + pathParams: ['activityId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + plusDomains_v1.Resource$Comments = Resource$Comments; + class Resource$Media { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/plusDomains/v1/people/{userId}/media/{collection}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + mediaUrl: (rootUrl + + '/upload/plusDomains/v1/people/{userId}/media/{collection}') + .replace(/([^:]\/)\/+/g, '$1'), + requiredParams: ['userId', 'collection'], + pathParams: ['collection', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + plusDomains_v1.Resource$Media = Resource$Media; + class Resource$People { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/plusDomains/v1/people/{userId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userId'], + pathParams: ['userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/plusDomains/v1/people/{userId}/people/{collection}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['userId', 'collection'], + pathParams: ['collection', 'userId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listByActivity(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/plusDomains/v1/activities/{activityId}/people/{collection}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['activityId', 'collection'], + pathParams: ['activityId', 'collection'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listByCircle(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/plusDomains/v1/circles/{circleId}/people') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['circleId'], + pathParams: ['circleId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + plusDomains_v1.Resource$People = Resource$People; +})(plusDomains_v1 = exports.plusDomains_v1 || (exports.plusDomains_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/plusDomains/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/plusDomains/v1.js.map new file mode 100644 index 00000000..6de061d8 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/plusDomains/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/plusDomains/v1.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAIH,yDAA2H;AAE3H,yBAAyB;AACzB,6BAA6B;AAC7B,gCAAgC;AAChC,+BAA+B;AAC/B,+BAA+B;AAE/B,IAAiB,cAAc,CAu/E9B;AAv/ED,WAAiB,cAAc;IAK7B;;;;;;;;;;;;;;OAcG;IACH,MAAa,WAAW;QAYtB,YAAY,OAAsB,EAAE,MAA2B;YAT/D,SAAI,GAAG,IAAI,CAAC;YAUV,IAAI,CAAC,QAAQ,GAAG,OAAO,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAExB,IAAI,CAAC,UAAU,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,CAAC,SAAS,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,OAAO,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,CAAC,KAAK,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,CAAC,MAAM,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;KACF;IA5BY,0BAAW,cA4BvB,CAAA;IA8qBD,MAAa,mBAAmB;QAE9B,YAAY,IAAiB;YAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAuBD,GAAG,CAAC,gBACqC,EACrC,iBAAuE,EACvE,QAAgD;YAElD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoC,CAAC;gBAC9C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,yCAAyC,CAAC;yBAChD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,YAAY,CAAC;gBAC9B,UAAU,EAAE,CAAC,YAAY,CAAC;gBAC1B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzD;iBAAM;gBACL,OAAO,oCAAgB,CAAkB,UAAU,CAAC,CAAC;aACtD;QACH,CAAC;QA2BD,MAAM,CACF,gBACqC,EACrC,iBAAuE,EACvE,QAAgD;YAElD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAsC,CAAC;YAClE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAuC,CAAC;gBACjD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,4CAA4C,CAAC;yBACnD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzD;iBAAM;gBACL,OAAO,oCAAgB,CAAkB,UAAU,CAAC,CAAC;aACtD;QACH,CAAC;QA6BD,IAAI,CACA,gBACyC,EACzC,iBACyC,EACzC,QAAoD;YAEtD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAoC,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqC,CAAC;gBAC/C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,yDAAyD,CAAC;yBACtD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC;gBACxC,UAAU,EAAE,CAAC,YAAY,EAAE,QAAQ,CAAC;gBACpC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAsB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC7D;iBAAM;gBACL,OAAO,oCAAgB,CAAsB,UAAU,CAAC,CAAC;aAC1D;QACH,CAAC;KACF;IAhNY,kCAAmB,sBAgN/B,CAAA;IAkED,MAAa,kBAAkB;QAE7B,YAAY,IAAiB;YAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA2BD,IAAI,CACA,gBAC0C,EAC1C,iBAC0C,EAC1C,QAAqD;YAEvD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoC,CAAC;gBAC9C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,2CAA2C,CAAC;yBAClD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAuB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9D;iBAAM;gBACL,OAAO,oCAAgB,CAAuB,UAAU,CAAC,CAAC;aAC3D;QACH,CAAC;KACF;IA7EY,iCAAkB,qBA6E9B,CAAA;IA4BD,MAAa,gBAAgB;QAE3B,YAAY,IAAiB;YAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA6BD,SAAS,CACL,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAsC,CAAC;YAClE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAuC,CAAC;gBACjD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,2CAA2C,CAAC;yBAClD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,UAAU,CAAC;gBAC5B,UAAU,EAAE,CAAC,UAAU,CAAC;gBACxB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;QAuBD,GAAG,CAAC,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAgC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiC,CAAC;gBAC3C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,oCAAoC,CAAC;yBAC3C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,UAAU,CAAC;gBAC5B,UAAU,EAAE,CAAC,UAAU,CAAC;gBACxB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;QA0BD,MAAM,CACF,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoC,CAAC;gBAC9C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,yCAAyC,CAAC;yBAChD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;QA2BD,IAAI,CACA,gBACuC,EACvC,iBACuC,EACvC,QAAkD;YAEpD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAiC,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkC,CAAC;gBAC5C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,yCAAyC,CAAC;yBAChD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAoB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3D;iBAAM;gBACL,OAAO,oCAAgB,CAAoB,UAAU,CAAC,CAAC;aACxD;QACH,CAAC;QA2BD,KAAK,CACD,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAkC,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmC,CAAC;gBAC7C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,oCAAoC,CAAC;yBAC3C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,UAAU,CAAC;gBAC5B,UAAU,EAAE,CAAC,UAAU,CAAC;gBACxB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;QAyBD,MAAM,CACF,gBAC0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoC,CAAC;gBAC9C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,oCAAoC,CAAC;yBAC3C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,UAAU,CAAC;gBAC5B,UAAU,EAAE,CAAC,UAAU,CAAC;gBACxB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;QA4BD,YAAY,CACR,gBAC0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAyC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0C,CAAC;gBACpD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,2CAA2C,CAAC;yBAClD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,UAAU,CAAC;gBAC5B,UAAU,EAAE,CAAC,UAAU,CAAC;gBACxB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;QA0BD,MAAM,CACF,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoC,CAAC;gBAC9C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,oCAAoC,CAAC;yBAC3C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,UAAU,CAAC;gBAC5B,UAAU,EAAE,CAAC,UAAU,CAAC;gBACxB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;KACF;IArhBY,+BAAgB,mBAqhB5B,CAAA;IAyID,MAAa,iBAAiB;QAE5B,YAAY,IAAiB;YAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAuBD,GAAG,CAAC,gBACoC,EACpC,iBAAsE,EACtE,QAA+C;YAEjD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAiC,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkC,CAAC;gBAC5C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,sCAAsC,CAAC;yBAC7C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxD;iBAAM;gBACL,OAAO,oCAAgB,CAAiB,UAAU,CAAC,CAAC;aACrD;QACH,CAAC;QA0BD,MAAM,CACF,gBACoC,EACpC,iBAAsE,EACtE,QAA+C;YAEjD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAoC,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqC,CAAC;gBAC/C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO,GAAG,kDAAkD,CAAC;yBACzD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,YAAY,CAAC;gBAC9B,UAAU,EAAE,CAAC,YAAY,CAAC;gBAC1B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxD;iBAAM;gBACL,OAAO,oCAAgB,CAAiB,UAAU,CAAC,CAAC;aACrD;QACH,CAAC;QA4BD,IAAI,CACA,gBACwC,EACxC,iBACwC,EACxC,QAAmD;YAErD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAkC,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmC,CAAC;gBAC7C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO,GAAG,kDAAkD,CAAC;yBACzD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,YAAY,CAAC;gBAC9B,UAAU,EAAE,CAAC,YAAY,CAAC;gBAC1B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAqB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC5D;iBAAM;gBACL,OAAO,oCAAgB,CAAqB,UAAU,CAAC,CAAC;aACzD;QACH,CAAC;KACF;IA9MY,gCAAiB,oBA8M7B,CAAA;IA0DD,MAAa,cAAc;QAEzB,YAAY,IAAiB;YAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAiCD,MAAM,CACF,gBACkC,EAClC,iBAAoE,EACpE,QAA6C;YAE/C,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAiC,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkC,CAAC;gBAC5C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,oDAAoD,CAAC;yBACjD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,QAAQ,EAAE,CAAC,OAAO;oBACP,2DAA2D,CAAC;qBACxD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;gBAC5C,cAAc,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC;gBACxC,UAAU,EAAE,CAAC,YAAY,EAAE,QAAQ,CAAC;gBACpC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAe,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtD;iBAAM;gBACL,OAAO,oCAAgB,CAAe,UAAU,CAAC,CAAC;aACnD;QACH,CAAC;KACF;IAtFY,6BAAc,iBAsF1B,CAAA;IAuCD,MAAa,eAAe;QAE1B,YAAY,IAAiB;YAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAuBD,GAAG,CAAC,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAA+B,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgC,CAAC;gBAC1C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,iCAAiC,CAAC;yBACxC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;QA6BD,IAAI,CACA,gBACuC,EACvC,iBACuC,EACvC,QAAkD;YAEpD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAgC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiC,CAAC;gBAC3C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,qDAAqD,CAAC;yBAClD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC;gBACxC,UAAU,EAAE,CAAC,YAAY,EAAE,QAAQ,CAAC;gBACpC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAoB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3D;iBAAM;gBACL,OAAO,oCAAgB,CAAoB,UAAU,CAAC,CAAC;aACxD;QACH,CAAC;QA8BD,cAAc,CACV,gBACuC,EACvC,iBACuC,EACvC,QAAkD;YAEpD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA0C,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA2C,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,6DAA6D,CAAC;yBAC1D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC;gBAC5C,UAAU,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC;gBACxC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAoB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3D;iBAAM;gBACL,OAAO,oCAAgB,CAAoB,UAAU,CAAC,CAAC;aACxD;QACH,CAAC;QA4BD,YAAY,CACR,gBACuC,EACvC,iBACuC,EACvC,QAAkD;YAEpD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAwC,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAyC,CAAC;gBACnD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,2CAA2C,CAAC;yBAClD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,UAAU,CAAC;gBAC5B,UAAU,EAAE,CAAC,UAAU,CAAC;gBACxB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAoB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3D;iBAAM;gBACL,OAAO,oCAAgB,CAAoB,UAAU,CAAC,CAAC;aACxD;QACH,CAAC;KACF;IA3RY,8BAAe,kBA2R3B,CAAA;AAgGH,CAAC,EAv/EgB,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAu/E9B"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/poly/README.md b/express-server/node_modules/googleapis/build/src/apis/poly/README.md new file mode 100644 index 00000000..25dcbd09 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/poly/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/poly + +> The Poly API provides read-only access to assets hosted on poly.google.com. + +## Installation + +```sh +$ npm install @google/poly +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/poly/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/poly/index.d.ts new file mode 100644 index 00000000..0af2411b --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/poly/index.d.ts @@ -0,0 +1,6 @@ +import { poly_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof poly_v1.Poly; +}; +export declare function poly(version: 'v1'): poly_v1.Poly; +export declare function poly(options: poly_v1.Options): poly_v1.Poly; diff --git a/express-server/node_modules/googleapis/build/src/apis/poly/index.js b/express-server/node_modules/googleapis/build/src/apis/poly/index.js new file mode 100644 index 00000000..1aba72c6 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/poly/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.poly_v1.Poly, +}; +function poly(versionOrOptions) { + return googleapis_common_1.getAPI('poly', versionOrOptions, exports.VERSIONS, this); +} +exports.poly = poly; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/poly/index.js.map b/express-server/node_modules/googleapis/build/src/apis/poly/index.js.map new file mode 100644 index 00000000..6e937cee --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/poly/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/poly/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAA6B;AAEhB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,YAAO,CAAC,IAAI;CACnB,CAAC;AAIF,SAAgB,IAAI,CACU,gBAAsC;IAClE,OAAO,0BAAM,CAAI,MAAM,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAC7D,CAAC;AAHD,oBAGC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/poly/package.json b/express-server/node_modules/googleapis/build/src/apis/poly/package.json new file mode 100644 index 00000000..8fc50a8f --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/poly/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/poly", + "version": "0.1.0", + "description": "poly", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/poly/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/poly/v1.d.ts new file mode 100644 index 00000000..8aa0ee89 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/poly/v1.d.ts @@ -0,0 +1,664 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace poly_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Poly API + * + * The Poly API provides read access to assets hosted on <a + * href="https://poly.google.com">poly.google.com</a> to + * all, and upload access to <a + * href="https://poly.google.com">poly.google.com</a> for + * whitelisted accounts. + * + * @example + * const {google} = require('googleapis'); + * const poly = google.poly('v1'); + * + * @namespace poly + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Poly + */ + class Poly { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + assets: Resource$Assets; + users: Resource$Users; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Represents and describes an asset in the Poly library. An asset is a 3D + * model or scene created using [Tilt Brush](//www.tiltbrush.com), + * [Blocks](//vr.google.com/blocks/), or any 3D program that produces a file + * that can be upload to Poly. + */ + interface Schema$Asset { + /** + * The author's publicly visible name. Use this name when giving credit + * to the author. For more information, see + * [Licensing](/poly/discover/licensing). + */ + authorName?: string; + /** + * For published assets, the time when the asset was published. For + * unpublished assets, the time when the asset was created. + */ + createTime?: string; + /** + * The human-readable description, set by the asset's author. + */ + description?: string; + /** + * The human-readable name, set by the asset's author. + */ + displayName?: string; + /** + * A list of Formats where each format describes one representation of the + * asset. + */ + formats?: Schema$Format[]; + /** + * Whether this asset has been curated by the Poly team. + */ + isCurated?: boolean; + /** + * The license under which the author has made the asset available for use, + * if any. + */ + license?: string; + /** + * Application-defined opaque metadata for this asset. This field is only + * returned when querying for the signed-in user's own assets, not for + * public assets. This string is limited to 1K chars. It is up to the + * creator of the asset to define the format for this string (for example, + * JSON). + */ + metadata?: string; + /** + * The unique identifier for the asset in the form: `assets/{ASSET_ID}`. + */ + name?: string; + /** + * Hints for displaying the asset. Note that these parameters are not + * immutable; the author of an asset may change them post-publication. + */ + presentationParams?: Schema$PresentationParams; + /** + * The remix info for the asset. + */ + remixInfo?: Schema$RemixInfo; + /** + * The thumbnail image for the asset. + */ + thumbnail?: Schema$File; + /** + * The time when the asset was last modified. For published assets, whose + * contents are immutable, the update time changes only when metadata + * properties, such as visibility, are updated. + */ + updateTime?: string; + /** + * The visibility of the asset and who can access it. + */ + visibility?: string; + } + /** + * A message generated by the asset import process. + */ + interface Schema$AssetImportMessage { + /** + * The code associated with this message. + */ + code?: string; + /** + * An optional file path. Only present for those error codes that specify + * it. + */ + filePath?: string; + /** + * An optional image error. Only present for INVALID_IMAGE_FILE. + */ + imageError?: Schema$ImageError; + /** + * An optional OBJ parse error. Only present for OBJ_PARSE_ERROR. + */ + objParseError?: Schema$ObjParseError; + } + /** + * Represents a file in Poly, which can be a root, resource, or thumbnail + * file. + */ + interface Schema$File { + /** + * The MIME content-type, such as `image/png`. For more information, see + * [MIME + * types](//developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types). + */ + contentType?: string; + /** + * The path of the resource file relative to the root file. For root or + * thumbnail files, this is just the filename. + */ + relativePath?: string; + /** + * The URL where the file data can be retrieved. + */ + url?: string; + } + /** + * The same asset can be represented in different formats, for example, a + * [WaveFront .obj](//en.wikipedia.org/wiki/Wavefront_.obj_file) file with its + * corresponding .mtl file or a [Khronos glTF](//www.khronos.org/gltf) file + * with its corresponding .glb binary data. A format refers to a specific + * representation of an asset and contains all information needed to retrieve + * and describe this representation. + */ + interface Schema$Format { + /** + * Complexity stats about this representation of the asset. + */ + formatComplexity?: Schema$FormatComplexity; + /** + * A short string that identifies the format type of this representation. + * Possible values are: `FBX`, `GLTF`, `GLTF2`, `OBJ`, and `TILT`. + */ + formatType?: string; + /** + * A list of dependencies of the root element. May include, but is not + * limited to, materials, textures, and shader programs. + */ + resources?: Schema$File[]; + /** + * The root of the file hierarchy. This will always be populated. For some + * format_types - such as `TILT`, which are self-contained - this is all of + * the data. Other types - such as `OBJ` - often reference other data + * elements. These are contained in the resources field. + */ + root?: Schema$File; + } + /** + * Information on the complexity of this Format. + */ + interface Schema$FormatComplexity { + /** + * A non-negative integer that represents the level of detail (LOD) of this + * format relative to other formats of the same asset with the same + * format_type. This hint allows you to sort formats from the most-detailed + * (0) to least-detailed (integers greater than 0). + */ + lodHint?: number; + /** + * The estimated number of triangles. + */ + triangleCount?: string; + } + /** + * A message resulting from reading an image file. + */ + interface Schema$ImageError { + /** + * The type of image error encountered. Optional for older image errors. + */ + code?: string; + /** + * The file path in the import of the image that was rejected. + */ + filePath?: string; + } + /** + * A response message from a request to list. + */ + interface Schema$ListAssetsResponse { + /** + * A list of assets that match the criteria specified in the request. + */ + assets?: Schema$Asset[]; + /** + * The continuation token for retrieving the next page. If empty, indicates + * that there are no more pages. To get the next page, submit the same + * request specifying this value as the page_token. + */ + nextPageToken?: string; + /** + * The total number of assets in the list, without pagination. + */ + totalSize?: number; + } + /** + * A response message from a request to list. + */ + interface Schema$ListLikedAssetsResponse { + /** + * A list of assets that match the criteria specified in the request. + */ + assets?: Schema$Asset[]; + /** + * The continuation token for retrieving the next page. If empty, indicates + * that there are no more pages. To get the next page, submit the same + * request specifying this value as the page_token. + */ + nextPageToken?: string; + /** + * The total number of assets in the list, without pagination. + */ + totalSize?: number; + } + /** + * A response message from a request to list. + */ + interface Schema$ListUserAssetsResponse { + /** + * The continuation token for retrieving the next page. If empty, indicates + * that there are no more pages. To get the next page, submit the same + * request specifying this value as the page_token. + */ + nextPageToken?: string; + /** + * The total number of assets in the list, without pagination. + */ + totalSize?: number; + /** + * A list of UserAssets matching the request. + */ + userAssets?: Schema$UserAsset[]; + } + /** + * Details of an error resulting from parsing an OBJ file + */ + interface Schema$ObjParseError { + /** + * The type of problem found (required). + */ + code?: string; + /** + * The ending character index at which the problem was found. + */ + endIndex?: number; + /** + * The file path in which the problem was found. + */ + filePath?: string; + /** + * The text of the line. Note that this may be truncated if the line was + * very long. This may not include the error if it occurs after line + * truncation. + */ + line?: string; + /** + * Line number at which the problem was found. + */ + lineNumber?: number; + /** + * The starting character index at which the problem was found. + */ + startIndex?: number; + } + /** + * Hints for displaying the asset, based on information available when the + * asset was uploaded. + */ + interface Schema$PresentationParams { + /** + * A background color which could be used for displaying the 3D asset in a + * 'thumbnail' or 'palette' style view. Authors have the + * option to set this background color when publishing or editing their + * asset. This is represented as a six-digit hexademical triplet specifying + * the RGB components of the background color, e.g. #FF0000 for Red. + */ + backgroundColor?: string; + /** + * The materials' diffuse/albedo color. This does not apply to vertex + * colors or texture maps. + */ + colorSpace?: string; + /** + * A rotation that should be applied to the object root to make it upright. + * More precisely, this quaternion transforms from "object space" + * (the space in which the object is defined) to "presentation + * space", a coordinate system where +Y is up, +X is right, -Z is + * forward. For example, if the object is the Eiffel Tower, in its local + * coordinate system the object might be laid out such that the base of the + * tower is on the YZ plane and the tip of the tower is towards positive X. + * In this case this quaternion would specify a rotation (of 90 degrees + * about the Z axis) such that in the presentation space the base of the + * tower is aligned with the XZ plane, and the tip of the tower lies towards + * +Y. This rotation is unrelated to the object's pose in the web + * preview, which is just a camera position setting and is *not* reflected + * in this rotation. Please note: this is applicable only to the gLTF. + */ + orientingRotation?: Schema$Quaternion; + } + /** + * A [Quaternion](//en.wikipedia.org/wiki/Quaternion). Please note: if in the + * response you see "w: 1" and nothing else this is the default + * value of [0, 0, 0, 1] where x,y, and z are 0. + */ + interface Schema$Quaternion { + /** + * The scalar component. + */ + w?: number; + /** + * The x component. + */ + x?: number; + /** + * The y component. + */ + y?: number; + /** + * The z component. + */ + z?: number; + } + /** + * Info about the sources of this asset (i.e. assets that were remixed to + * create this asset). + */ + interface Schema$RemixInfo { + /** + * Resource ids for the sources of this remix, of the form: + * `assets/{ASSET_ID}` + */ + sourceAsset?: string[]; + } + /** + * A response message from a request to startImport. This is returned in the + * response field of the Operation. + */ + interface Schema$StartAssetImportResponse { + /** + * The id of newly created asset. If this is empty when the operation is + * complete it means the import failed. Please refer to the + * assetImportMessages field to understand what went wrong. + */ + assetId?: string; + /** + * The id of the asset import. + */ + assetImportId?: string; + /** + * The message from the asset import. This will contain any warnings (or - + * in the case of failure - errors) that occurred during import. + */ + assetImportMessages?: Schema$AssetImportMessage[]; + /** + * The publish URL for the asset. + */ + publishUrl?: string; + } + /** + * Data about the user's asset. + */ + interface Schema$UserAsset { + /** + * An Asset. + */ + asset?: Schema$Asset; + } + class Resource$Assets { + root: Poly; + constructor(root: Poly); + getRoot(): Poly; + /** + * poly.assets.get + * @desc Returns detailed information about an asset given its name. PRIVATE + * assets are returned only if the currently authenticated user (via OAuth + * token) is the author of the asset. + * @alias poly.assets.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. An asset's name in the form `assets/{ASSET_ID}`. + * @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?: Params$Resource$Assets$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Assets$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Assets$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * poly.assets.list + * @desc Lists all public, remixable assets. These are assets with an access + * level of PUBLIC and published under the CC-By license. + * @alias poly.assets.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.category Filter assets based on the specified category. Supported values are: `animals`, `architecture`, `art`, `food`, `nature`, `objects`, `people`, `scenes`, `technology`, and `transport`. + * @param {boolean=} params.curated Return only assets that have been curated by the Poly team. + * @param {string=} params.format Return only assets with the matching format. Acceptable values are: `BLOCKS`, `FBX`, `GLTF`, `GLTF2`, `OBJ`, `TILT`. + * @param {string=} params.keywords One or more search terms to be matched against all text that Poly has indexed for assets, which includes display_name, description, and tags. Multiple keywords should be separated by spaces. + * @param {string=} params.maxComplexity Returns assets that are of the specified complexity or less. Defaults to COMPLEX. For example, a request for MEDIUM assets also includes SIMPLE assets. + * @param {string=} params.orderBy Specifies an ordering for assets. Acceptable values are: `BEST`, `NEWEST`, `OLDEST`. Defaults to `BEST`, which ranks assets based on a combination of popularity and other features. + * @param {integer=} params.pageSize The maximum number of assets to be returned. This value must be between `1` and `100`. Defaults to `20`. + * @param {string=} params.pageToken Specifies a continuation token from a previous search whose results were split into multiple pages. To get the next page, submit the same request specifying the value from next_page_token. + * @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?: Params$Resource$Assets$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Assets$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Assets$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Assets$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. An asset's name in the form `assets/{ASSET_ID}`. + */ + name?: string; + } + interface Params$Resource$Assets$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Filter assets based on the specified category. Supported values are: + * `animals`, `architecture`, `art`, `food`, `nature`, `objects`, `people`, + * `scenes`, `technology`, and `transport`. + */ + category?: string; + /** + * Return only assets that have been curated by the Poly team. + */ + curated?: boolean; + /** + * Return only assets with the matching format. Acceptable values are: + * `BLOCKS`, `FBX`, `GLTF`, `GLTF2`, `OBJ`, `TILT`. + */ + format?: string; + /** + * One or more search terms to be matched against all text that Poly has + * indexed for assets, which includes display_name, description, and tags. + * Multiple keywords should be separated by spaces. + */ + keywords?: string; + /** + * Returns assets that are of the specified complexity or less. Defaults to + * COMPLEX. For example, a request for MEDIUM assets also includes SIMPLE + * assets. + */ + maxComplexity?: string; + /** + * Specifies an ordering for assets. Acceptable values are: `BEST`, + * `NEWEST`, `OLDEST`. Defaults to `BEST`, which ranks assets based on a + * combination of popularity and other features. + */ + orderBy?: string; + /** + * The maximum number of assets to be returned. This value must be between + * `1` and `100`. Defaults to `20`. + */ + pageSize?: number; + /** + * Specifies a continuation token from a previous search whose results were + * split into multiple pages. To get the next page, submit the same request + * specifying the value from next_page_token. + */ + pageToken?: string; + } + class Resource$Users { + root: Poly; + assets: Resource$Users$Assets; + likedassets: Resource$Users$Likedassets; + constructor(root: Poly); + getRoot(): Poly; + } + class Resource$Users$Assets { + root: Poly; + constructor(root: Poly); + getRoot(): Poly; + /** + * poly.users.assets.list + * @desc Lists assets authored by the given user. Only the value 'me', + * representing the currently-authenticated user, is supported. May include + * assets with an access level of PRIVATE or UNLISTED and assets which are + * All Rights Reserved for the currently-authenticated user. + * @alias poly.users.assets.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.format Return only assets with the matching format. Acceptable values are: `BLOCKS`, `FBX`, `GLTF`, `GLTF2`, `OBJ`, and `TILT`. + * @param {string} params.name A valid user id. Currently, only the special value 'me', representing the currently-authenticated user is supported. To use 'me', you must pass an OAuth token with the request. + * @param {string=} params.orderBy Specifies an ordering for assets. Acceptable values are: `BEST`, `NEWEST`, `OLDEST`. Defaults to `BEST`, which ranks assets based on a combination of popularity and other features. + * @param {integer=} params.pageSize The maximum number of assets to be returned. This value must be between `1` and `100`. Defaults to `20`. + * @param {string=} params.pageToken Specifies a continuation token from a previous search whose results were split into multiple pages. To get the next page, submit the same request specifying the value from next_page_token. + * @param {string=} params.visibility The visibility of the assets to be returned. Defaults to VISIBILITY_UNSPECIFIED which returns all assets. + * @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?: Params$Resource$Users$Assets$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Users$Assets$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Users$Assets$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Users$Assets$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Return only assets with the matching format. Acceptable values are: + * `BLOCKS`, `FBX`, `GLTF`, `GLTF2`, `OBJ`, and `TILT`. + */ + format?: string; + /** + * A valid user id. Currently, only the special value 'me', representing the + * currently-authenticated user is supported. To use 'me', you must pass an + * OAuth token with the request. + */ + name?: string; + /** + * Specifies an ordering for assets. Acceptable values are: `BEST`, + * `NEWEST`, `OLDEST`. Defaults to `BEST`, which ranks assets based on a + * combination of popularity and other features. + */ + orderBy?: string; + /** + * The maximum number of assets to be returned. This value must be between + * `1` and `100`. Defaults to `20`. + */ + pageSize?: number; + /** + * Specifies a continuation token from a previous search whose results were + * split into multiple pages. To get the next page, submit the same request + * specifying the value from next_page_token. + */ + pageToken?: string; + /** + * The visibility of the assets to be returned. Defaults to + * VISIBILITY_UNSPECIFIED which returns all assets. + */ + visibility?: string; + } + class Resource$Users$Likedassets { + root: Poly; + constructor(root: Poly); + getRoot(): Poly; + /** + * poly.users.likedassets.list + * @desc Lists assets that the user has liked. Only the value 'me', + * representing the currently-authenticated user, is supported. May include + * assets with an access level of UNLISTED. + * @alias poly.users.likedassets.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.format Return only assets with the matching format. Acceptable values are: `BLOCKS`, `FBX`, `GLTF`, `GLTF2`, `OBJ`, `TILT`. + * @param {string} params.name A valid user id. Currently, only the special value 'me', representing the currently-authenticated user is supported. To use 'me', you must pass an OAuth token with the request. + * @param {string=} params.orderBy Specifies an ordering for assets. Acceptable values are: `BEST`, `NEWEST`, `OLDEST`, 'LIKED_TIME'. Defaults to `LIKED_TIME`, which ranks assets based on how recently they were liked. + * @param {integer=} params.pageSize The maximum number of assets to be returned. This value must be between `1` and `100`. Defaults to `20`. + * @param {string=} params.pageToken Specifies a continuation token from a previous search whose results were split into multiple pages. To get the next page, submit the same request specifying the value from next_page_token. + * @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?: Params$Resource$Users$Likedassets$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Users$Likedassets$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Users$Likedassets$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Users$Likedassets$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Return only assets with the matching format. Acceptable values are: + * `BLOCKS`, `FBX`, `GLTF`, `GLTF2`, `OBJ`, `TILT`. + */ + format?: string; + /** + * A valid user id. Currently, only the special value 'me', representing the + * currently-authenticated user is supported. To use 'me', you must pass an + * OAuth token with the request. + */ + name?: string; + /** + * Specifies an ordering for assets. Acceptable values are: `BEST`, + * `NEWEST`, `OLDEST`, 'LIKED_TIME'. Defaults to `LIKED_TIME`, which ranks + * assets based on how recently they were liked. + */ + orderBy?: string; + /** + * The maximum number of assets to be returned. This value must be between + * `1` and `100`. Defaults to `20`. + */ + pageSize?: number; + /** + * Specifies a continuation token from a previous search whose results were + * split into multiple pages. To get the next page, submit the same request + * specifying the value from next_page_token. + */ + pageToken?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/poly/v1.js b/express-server/node_modules/googleapis/build/src/apis/poly/v1.js new file mode 100644 index 00000000..34647611 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/poly/v1.js @@ -0,0 +1,224 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var poly_v1; +(function (poly_v1) { + /** + * Poly API + * + * The Poly API provides read access to assets hosted on <a + * href="https://poly.google.com">poly.google.com</a> to + * all, and upload access to <a + * href="https://poly.google.com">poly.google.com</a> for + * whitelisted accounts. + * + * @example + * const {google} = require('googleapis'); + * const poly = google.poly('v1'); + * + * @namespace poly + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Poly + */ + class Poly { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.assets = new Resource$Assets(this); + this.users = new Resource$Users(this); + } + getRoot() { + return this.root; + } + } + poly_v1.Poly = Poly; + class Resource$Assets { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://poly.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://poly.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/assets').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + poly_v1.Resource$Assets = Resource$Assets; + class Resource$Users { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.assets = new Resource$Users$Assets(root); + this.likedassets = new Resource$Users$Likedassets(root); + } + getRoot() { + return this.root; + } + } + poly_v1.Resource$Users = Resource$Users; + class Resource$Users$Assets { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://poly.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}/assets') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + poly_v1.Resource$Users$Assets = Resource$Users$Assets; + class Resource$Users$Likedassets { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://poly.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}/likedassets') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + poly_v1.Resource$Users$Likedassets = Resource$Users$Likedassets; +})(poly_v1 = exports.poly_v1 || (exports.poly_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/poly/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/poly/v1.js.map new file mode 100644 index 00000000..32e75c60 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/poly/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/poly/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/proximitybeacon/README.md b/express-server/node_modules/googleapis/build/src/apis/proximitybeacon/README.md new file mode 100644 index 00000000..13de9ba2 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/proximitybeacon/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/proximitybeacon + +> Registers, manages, indexes, and searches beacons. + +## Installation + +```sh +$ npm install @google/proximitybeacon +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/proximitybeacon/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/proximitybeacon/index.d.ts new file mode 100644 index 00000000..fb311f4f --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/proximitybeacon/index.d.ts @@ -0,0 +1,6 @@ +import { proximitybeacon_v1beta1 } from './v1beta1'; +export declare const VERSIONS: { + 'v1beta1': typeof proximitybeacon_v1beta1.Proximitybeacon; +}; +export declare function proximitybeacon(version: 'v1beta1'): proximitybeacon_v1beta1.Proximitybeacon; +export declare function proximitybeacon(options: proximitybeacon_v1beta1.Options): proximitybeacon_v1beta1.Proximitybeacon; diff --git a/express-server/node_modules/googleapis/build/src/apis/proximitybeacon/index.js b/express-server/node_modules/googleapis/build/src/apis/proximitybeacon/index.js new file mode 100644 index 00000000..b55638b9 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/proximitybeacon/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1beta1_1 = require("./v1beta1"); +exports.VERSIONS = { + 'v1beta1': v1beta1_1.proximitybeacon_v1beta1.Proximitybeacon, +}; +function proximitybeacon(versionOrOptions) { + return googleapis_common_1.getAPI('proximitybeacon', versionOrOptions, exports.VERSIONS, this); +} +exports.proximitybeacon = proximitybeacon; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/proximitybeacon/index.js.map b/express-server/node_modules/googleapis/build/src/apis/proximitybeacon/index.js.map new file mode 100644 index 00000000..24f234a3 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/proximitybeacon/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/proximitybeacon/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,uCAAkD;AAErC,QAAA,QAAQ,GAAG;IACtB,SAAS,EAAE,iCAAuB,CAAC,eAAe;CACnD,CAAC;AAMF,SAAgB,eAAe,CAE3B,gBAA2D;IAC7D,OAAO,0BAAM,CAAI,iBAAiB,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACxE,CAAC;AAJD,0CAIC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/proximitybeacon/package.json b/express-server/node_modules/googleapis/build/src/apis/proximitybeacon/package.json new file mode 100644 index 00000000..bcb4711a --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/proximitybeacon/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/proximitybeacon", + "version": "0.1.0", + "description": "proximitybeacon", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/proximitybeacon/v1beta1.d.ts b/express-server/node_modules/googleapis/build/src/apis/proximitybeacon/v1beta1.d.ts new file mode 100644 index 00000000..cc98aec5 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/proximitybeacon/v1beta1.d.ts @@ -0,0 +1,1379 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace proximitybeacon_v1beta1 { + interface Options extends GlobalOptions { + version: 'v1beta1'; + } + /** + * Proximity Beacon API + * + * Registers, manages, indexes, and searches beacons. + * + * @example + * const {google} = require('googleapis'); + * const proximitybeacon = google.proximitybeacon('v1beta1'); + * + * @namespace proximitybeacon + * @type {Function} + * @version v1beta1 + * @variation v1beta1 + * @param {object=} options Options for Proximitybeacon + */ + class Proximitybeacon { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + beaconinfo: Resource$Beaconinfo; + beacons: Resource$Beacons; + namespaces: Resource$Namespaces; + v1beta1: Resource$V1beta1; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Defines a unique identifier of a beacon as broadcast by the device. + */ + interface Schema$AdvertisedId { + /** + * The actual beacon identifier, as broadcast by the beacon hardware. Must + * be [base64](http://tools.ietf.org/html/rfc4648#section-4) encoded in HTTP + * requests, and will be so encoded (with padding) in responses. The base64 + * encoding should be of the binary byte-stream and not any textual (such as + * hex) representation thereof. Required. + */ + id?: string; + /** + * Specifies the identifier type. Required. + */ + type?: string; + } + /** + * A subset of attachment information served via the + * `beaconinfo.getforobserved` method, used when your users encounter your + * beacons. + */ + interface Schema$AttachmentInfo { + /** + * An opaque data container for client-provided data. + */ + data?: string; + /** + * The distance away from the beacon at which this attachment should be + * delivered to a mobile app. Setting this to a value greater than zero + * indicates that the app should behave as if the beacon is "seen" + * when the mobile device is less than this distance away from the beacon. + * Different attachments on the same beacon can have different max + * distances. Note that even though this value is expressed with fractional + * meter precision, real-world behavior is likley to be much less precise + * than one meter, due to the nature of current Bluetooth radio technology. + * Optional. When not set or zero, the attachment should be delivered at the + * beacon's outer limit of detection. + */ + maxDistanceMeters?: number; + /** + * Specifies what kind of attachment this is. Tells a client how to + * interpret the `data` field. Format is + * <var>namespace/type</var>, for example + * <code>scrupulous-wombat-12345/welcome-message</code> + */ + namespacedType?: string; + } + /** + * Details of a beacon device. + */ + interface Schema$Beacon { + /** + * The identifier of a beacon as advertised by it. This field must be + * populated when registering. It may be empty when updating a beacon record + * because it is ignored in updates. When registering a beacon that + * broadcasts Eddystone-EID, this field should contain a "stable" + * Eddystone-UID that identifies the beacon and links it to its attachments. + * The stable Eddystone-UID is only used for administering the beacon. + */ + advertisedId?: Schema$AdvertisedId; + /** + * Resource name of this beacon. A beacon name has the format + * "beacons/N!beaconId" where the beaconId is the base16 ID + * broadcast by the beacon and N is a code for the beacon's type. + * Possible values are `3` for Eddystone, `1` for iBeacon, or `5` for + * AltBeacon. This field must be left empty when registering. After reading + * a beacon, clients can use the name for future operations. + */ + beaconName?: string; + /** + * Free text used to identify and describe the beacon. Maximum length 140 + * characters. Optional. + */ + description?: string; + /** + * Write-only registration parameters for beacons using Eddystone-EID + * (remotely resolved ephemeral ID) format. This information will not be + * populated in API responses. When submitting this data, the + * `advertised_id` field must contain an ID of type Eddystone-UID. Any other + * ID type will result in an error. + */ + ephemeralIdRegistration?: Schema$EphemeralIdRegistration; + /** + * Expected location stability. This is set when the beacon is registered or + * updated, not automatically detected in any way. Optional. + */ + expectedStability?: string; + /** + * The indoor level information for this beacon, if known. As returned by + * the Google Maps API. Optional. + */ + indoorLevel?: Schema$IndoorLevel; + /** + * The location of the beacon, expressed as a latitude and longitude pair. + * This location is given when the beacon is registered or updated. It does + * not necessarily indicate the actual current location of the beacon. + * Optional. + */ + latLng?: Schema$LatLng; + /** + * The [Google Places API](/places/place-id) Place ID of the place where the + * beacon is deployed. This is given when the beacon is registered or + * updated, not automatically detected in any way. Optional. + */ + placeId?: string; + /** + * Properties of the beacon device, for example battery type or firmware + * version. Optional. + */ + properties?: any; + /** + * Some beacons may require a user to provide an authorization key before + * changing any of its configuration (e.g. broadcast frames, transmit + * power). This field provides a place to store and control access to that + * key. This field is populated in responses to `GET + * /v1beta1/beacons/3!beaconId` from users with write access to the given + * beacon. That is to say: If the user is authorized to write the + * beacon's confidential data in the service, the service considers them + * authorized to configure the beacon. Note that this key grants nothing on + * the service, only on the beacon itself. + */ + provisioningKey?: string; + /** + * Current status of the beacon. Required. + */ + status?: string; + } + /** + * Project-specific data associated with a beacon. + */ + interface Schema$BeaconAttachment { + /** + * Resource name of this attachment. Attachment names have the format: + * <code>beacons/<var>beacon_id</var>/attachments/<var>attachment_id</var></code>. + * Leave this empty on creation. + */ + attachmentName?: string; + /** + * The UTC time when this attachment was created, in milliseconds since the + * UNIX epoch. + */ + creationTimeMs?: string; + /** + * An opaque data container for client-provided data. Must be + * [base64](http://tools.ietf.org/html/rfc4648#section-4) encoded in HTTP + * requests, and will be so encoded (with padding) in responses. Required. + */ + data?: string; + /** + * The distance away from the beacon at which this attachment should be + * delivered to a mobile app. Setting this to a value greater than zero + * indicates that the app should behave as if the beacon is "seen" + * when the mobile device is less than this distance away from the beacon. + * Different attachments on the same beacon can have different max + * distances. Note that even though this value is expressed with fractional + * meter precision, real-world behavior is likley to be much less precise + * than one meter, due to the nature of current Bluetooth radio technology. + * Optional. When not set or zero, the attachment should be delivered at the + * beacon's outer limit of detection. Negative values are invalid and + * return an error. + */ + maxDistanceMeters?: number; + /** + * Specifies what kind of attachment this is. Tells a client how to + * interpret the `data` field. Format is + * <var>namespace/type</var>. Namespace provides type separation + * between clients. Type describes the type of `data`, for use by the client + * when parsing the `data` field. Required. + */ + namespacedType?: string; + } + /** + * A subset of beacon information served via the `beaconinfo.getforobserved` + * method, which you call when users of your app encounter your beacons. + */ + interface Schema$BeaconInfo { + /** + * The ID advertised by the beacon. + */ + advertisedId?: Schema$AdvertisedId; + /** + * Attachments matching the type(s) requested. May be empty if no attachment + * types were requested. + */ + attachments?: Schema$AttachmentInfo[]; + /** + * The name under which the beacon is registered. + */ + beaconName?: string; + } + /** + * Represents a whole calendar date, for example date of birth. The time of + * day and time zone are either specified elsewhere or are not significant. + * The date is relative to the Proleptic Gregorian Calendar. The day can be 0 + * to represent a year and month where the day is not significant, for example + * credit card expiration date. The year can be 0 to represent a month and day + * independent of year, for example anniversary date. Related types are + * google.type.TimeOfDay and `google.protobuf.Timestamp`. + */ + interface Schema$Date { + /** + * Day of month. Must be from 1 to 31 and valid for the year and month, or 0 + * if specifying a year/month where the day is not significant. + */ + day?: number; + /** + * Month of year. Must be from 1 to 12, or 0 if specifying a date without a + * month. + */ + month?: number; + /** + * Year of date. Must be from 1 to 9999, or 0 if specifying a date without a + * year. + */ + year?: number; + } + /** + * Response for a request to delete attachments. + */ + interface Schema$DeleteAttachmentsResponse { + /** + * The number of attachments that were deleted. + */ + numDeleted?: number; + } + /** + * Diagnostics for a single beacon. + */ + interface Schema$Diagnostics { + /** + * An unordered list of Alerts that the beacon has. + */ + alerts?: string[]; + /** + * Resource name of the beacon. For Eddystone-EID beacons, this may be the + * beacon's current EID, or the beacon's "stable" + * Eddystone-UID. + */ + beaconName?: string; + /** + * The date when the battery is expected to be low. If the value is missing + * then there is no estimate for when the battery will be low. This value is + * only an estimate, not an exact date. + */ + estimatedLowBatteryDate?: Schema$Date; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * Write-only registration parameters for beacons using Eddystone-EID format. + * Two ways of securely registering an Eddystone-EID beacon with the service + * are supported: 1. Perform an ECDH key exchange via this API, including a + * previous call to `GET /v1beta1/eidparams`. In this case the fields + * `beacon_ecdh_public_key` and `service_ecdh_public_key` should be populated + * and `beacon_identity_key` should not be populated. This method ensures + * that only the two parties in the ECDH key exchange can compute the + * identity key, which becomes a secret between them. 2. Derive or obtain the + * beacon's identity key via other secure means (perhaps an ECDH key + * exchange between the beacon and a mobile device or any other secure + * method), and then submit the resulting identity key to the service. In + * this case `beacon_identity_key` field should be populated, and neither + * of `beacon_ecdh_public_key` nor `service_ecdh_public_key` fields should + * be. The security of this method depends on how securely the parties + * involved (in particular the bluetooth client) handle the identity key, + * and obviously on how securely the identity key was generated. See [the + * Eddystone + * specification](https://github.com/google/eddystone/tree/master/eddystone-eid) + * at GitHub. + */ + interface Schema$EphemeralIdRegistration { + /** + * The beacon's public key used for the Elliptic curve Diffie-Hellman + * key exchange. When this field is populated, `service_ecdh_public_key` + * must also be populated, and `beacon_identity_key` must not be. + */ + beaconEcdhPublicKey?: string; + /** + * The private key of the beacon. If this field is populated, + * `beacon_ecdh_public_key` and `service_ecdh_public_key` must not be + * populated. + */ + beaconIdentityKey?: string; + /** + * The initial clock value of the beacon. The beacon's clock must have + * begun counting at this value immediately prior to transmitting this value + * to the resolving service. Significant delay in transmitting this value to + * the service risks registration or resolution failures. If a value is not + * provided, the default is zero. + */ + initialClockValue?: string; + /** + * An initial ephemeral ID calculated using the clock value submitted as + * `initial_clock_value`, and the secret key generated by the Diffie-Hellman + * key exchange using `service_ecdh_public_key` and + * `service_ecdh_public_key`. This initial EID value will be used by the + * service to confirm that the key exchange process was successful. + */ + initialEid?: string; + /** + * Indicates the nominal period between each rotation of the beacon's + * ephemeral ID. "Nominal" because the beacon should randomize the + * actual interval. See [the spec at + * github](https://github.com/google/eddystone/tree/master/eddystone-eid) + * for details. This value corresponds to a power-of-two scaler on the + * beacon's clock: when the scaler value is K, the beacon will begin + * broadcasting a new ephemeral ID on average every 2^K seconds. + */ + rotationPeriodExponent?: number; + /** + * The service's public key used for the Elliptic curve Diffie-Hellman + * key exchange. When this field is populated, `beacon_ecdh_public_key` must + * also be populated, and `beacon_identity_key` must not be. + */ + serviceEcdhPublicKey?: string; + } + /** + * Information a client needs to provision and register beacons that broadcast + * Eddystone-EID format beacon IDs, using Elliptic curve Diffie-Hellman key + * exchange. See [the Eddystone + * specification](https://github.com/google/eddystone/tree/master/eddystone-eid) + * at GitHub. + */ + interface Schema$EphemeralIdRegistrationParams { + /** + * Indicates the maximum rotation period supported by the service. See + * EddystoneEidRegistration.rotation_period_exponent + */ + maxRotationPeriodExponent?: number; + /** + * Indicates the minimum rotation period supported by the service. See + * EddystoneEidRegistration.rotation_period_exponent + */ + minRotationPeriodExponent?: number; + /** + * The beacon service's public key for use by a beacon to derive its + * Identity Key using Elliptic Curve Diffie-Hellman key exchange. + */ + serviceEcdhPublicKey?: string; + } + /** + * Request for beacon and attachment information about beacons that a mobile + * client has encountered "in the wild". + */ + interface Schema$GetInfoForObservedBeaconsRequest { + /** + * Specifies what kind of attachments to include in the response. When + * given, the response will include only attachments of the given types. + * When empty, no attachments will be returned. Must be in the format + * <var>namespace/type</var>. Accepts `*` to specify all types + * in all namespaces owned by the client. Optional. + */ + namespacedTypes?: string[]; + /** + * The beacons that the client has encountered. At least one must be given. + */ + observations?: Schema$Observation[]; + } + /** + * Information about the requested beacons, optionally including attachment + * data. + */ + interface Schema$GetInfoForObservedBeaconsResponse { + /** + * Public information about beacons. May be empty if the request matched no + * beacons. + */ + beacons?: Schema$BeaconInfo[]; + } + /** + * Indoor level, a human-readable string as returned by Google Maps APIs, + * useful to indicate which floor of a building a beacon is located on. + */ + interface Schema$IndoorLevel { + /** + * The name of this level. + */ + name?: string; + } + /** + * An object representing a latitude/longitude pair. This is expressed as a + * pair of doubles representing degrees latitude and degrees longitude. Unless + * specified otherwise, this must conform to the <a + * href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84 + * standard</a>. Values must be within normalized ranges. + */ + interface Schema$LatLng { + /** + * The latitude in degrees. It must be in the range [-90.0, +90.0]. + */ + latitude?: number; + /** + * The longitude in degrees. It must be in the range [-180.0, +180.0]. + */ + longitude?: number; + } + /** + * Response to `ListBeaconAttachments` that contains the requested + * attachments. + */ + interface Schema$ListBeaconAttachmentsResponse { + /** + * The attachments that corresponded to the request params. + */ + attachments?: Schema$BeaconAttachment[]; + } + /** + * Response that contains list beacon results and pagination help. + */ + interface Schema$ListBeaconsResponse { + /** + * The beacons that matched the search criteria. + */ + beacons?: Schema$Beacon[]; + /** + * An opaque pagination token that the client may provide in their next + * request to retrieve the next page of results. + */ + nextPageToken?: string; + /** + * Estimate of the total number of beacons matched by the query. Higher + * values may be less accurate. + */ + totalCount?: string; + } + /** + * Response that contains the requested diagnostics. + */ + interface Schema$ListDiagnosticsResponse { + /** + * The diagnostics matching the given request. + */ + diagnostics?: Schema$Diagnostics[]; + /** + * Token that can be used for pagination. Returned only if the request + * matches more beacons than can be returned in this response. + */ + nextPageToken?: string; + } + /** + * Response to ListNamespacesRequest that contains all the project's + * namespaces. + */ + interface Schema$ListNamespacesResponse { + /** + * The attachments that corresponded to the request params. + */ + namespaces?: Schema$Namespace[]; + } + /** + * An attachment namespace defines read and write access for all the + * attachments created under it. Each namespace is globally unique, and owned + * by one project which is the only project that can create attachments under + * it. + */ + interface Schema$Namespace { + /** + * Resource name of this namespace. Namespaces names have the format: + * <code>namespaces/<var>namespace</var></code>. + */ + namespaceName?: string; + /** + * Specifies what clients may receive attachments under this namespace via + * `beaconinfo.getforobserved`. + */ + servingVisibility?: string; + } + /** + * Represents one beacon observed once. + */ + interface Schema$Observation { + /** + * The ID advertised by the beacon the client has encountered. If the + * submitted `advertised_id` type is Eddystone-EID, then the client must be + * authorized to resolve the given beacon. Otherwise no data will be + * returned for that beacon. Required. + */ + advertisedId?: Schema$AdvertisedId; + /** + * The array of telemetry bytes received from the beacon. The server is + * responsible for parsing it. This field may frequently be empty, as with a + * beacon that transmits telemetry only occasionally. + */ + telemetry?: string; + /** + * Time when the beacon was observed. + */ + timestampMs?: string; + } + class Resource$Beaconinfo { + root: Proximitybeacon; + constructor(root: Proximitybeacon); + getRoot(): Proximitybeacon; + /** + * proximitybeacon.beaconinfo.getforobserved + * @desc Given one or more beacon observations, returns any beacon + * information and attachments accessible to your application. Authorize by + * using the [API + * key](https://developers.google.com/beacons/proximity/get-started#request_a_browser_api_key) + * for the application. + * @alias proximitybeacon.beaconinfo.getforobserved + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().GetInfoForObservedBeaconsRequest} 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 + */ + getforobserved(params?: Params$Resource$Beaconinfo$Getforobserved, options?: MethodOptions): AxiosPromise; + getforobserved(params: Params$Resource$Beaconinfo$Getforobserved, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getforobserved(params: Params$Resource$Beaconinfo$Getforobserved, callback: BodyResponseCallback): void; + getforobserved(callback: BodyResponseCallback): void; + } + interface Params$Resource$Beaconinfo$Getforobserved { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$GetInfoForObservedBeaconsRequest; + } + class Resource$Beacons { + root: Proximitybeacon; + attachments: Resource$Beacons$Attachments; + diagnostics: Resource$Beacons$Diagnostics; + constructor(root: Proximitybeacon); + getRoot(): Proximitybeacon; + /** + * proximitybeacon.beacons.activate + * @desc Activates a beacon. A beacon that is active will return information + * and attachment data when queried via `beaconinfo.getforobserved`. Calling + * this method on an already active beacon will do nothing (but will return + * a successful response code). Authenticate using an [OAuth access + * token](https://developers.google.com/identity/protocols/OAuth2) from a + * signed-in user with **Is owner** or **Can edit** permissions in the + * Google Developers Console project. + * @alias proximitybeacon.beacons.activate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.beaconName Beacon that should be activated. A beacon name has the format "beacons/N!beaconId" where the beaconId is the base16 ID broadcast by the beacon and N is a code for the beacon's type. Possible values are `3` for Eddystone-UID, `4` for Eddystone-EID, `1` for iBeacon, or `5` for AltBeacon. For Eddystone-EID beacons, you may use either the current EID or the beacon's "stable" UID. Required. + * @param {string=} params.projectId The project id of the beacon to activate. If the project id is not specified then the project making the request is used. The project id must match the project that owns the beacon. Optional. + * @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 + */ + activate(params?: Params$Resource$Beacons$Activate, options?: MethodOptions): AxiosPromise; + activate(params: Params$Resource$Beacons$Activate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + activate(params: Params$Resource$Beacons$Activate, callback: BodyResponseCallback): void; + activate(callback: BodyResponseCallback): void; + /** + * proximitybeacon.beacons.deactivate + * @desc Deactivates a beacon. Once deactivated, the API will not return + * information nor attachment data for the beacon when queried via + * `beaconinfo.getforobserved`. Calling this method on an already inactive + * beacon will do nothing (but will return a successful response code). + * Authenticate using an [OAuth access + * token](https://developers.google.com/identity/protocols/OAuth2) from a + * signed-in user with **Is owner** or **Can edit** permissions in the + * Google Developers Console project. + * @alias proximitybeacon.beacons.deactivate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.beaconName Beacon that should be deactivated. A beacon name has the format "beacons/N!beaconId" where the beaconId is the base16 ID broadcast by the beacon and N is a code for the beacon's type. Possible values are `3` for Eddystone-UID, `4` for Eddystone-EID, `1` for iBeacon, or `5` for AltBeacon. For Eddystone-EID beacons, you may use either the current EID or the beacon's "stable" UID. Required. + * @param {string=} params.projectId The project id of the beacon to deactivate. If the project id is not specified then the project making the request is used. The project id must match the project that owns the beacon. Optional. + * @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 + */ + deactivate(params?: Params$Resource$Beacons$Deactivate, options?: MethodOptions): AxiosPromise; + deactivate(params: Params$Resource$Beacons$Deactivate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + deactivate(params: Params$Resource$Beacons$Deactivate, callback: BodyResponseCallback): void; + deactivate(callback: BodyResponseCallback): void; + /** + * proximitybeacon.beacons.decommission + * @desc Decommissions the specified beacon in the service. This beacon will + * no longer be returned from `beaconinfo.getforobserved`. This operation is + * permanent -- you will not be able to re-register a beacon with this ID + * again. Authenticate using an [OAuth access + * token](https://developers.google.com/identity/protocols/OAuth2) from a + * signed-in user with **Is owner** or **Can edit** permissions in the + * Google Developers Console project. + * @alias proximitybeacon.beacons.decommission + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.beaconName Beacon that should be decommissioned. A beacon name has the format "beacons/N!beaconId" where the beaconId is the base16 ID broadcast by the beacon and N is a code for the beacon's type. Possible values are `3` for Eddystone-UID, `4` for Eddystone-EID, `1` for iBeacon, or `5` for AltBeacon. For Eddystone-EID beacons, you may use either the current EID of the beacon's "stable" UID. Required. + * @param {string=} params.projectId The project id of the beacon to decommission. If the project id is not specified then the project making the request is used. The project id must match the project that owns the beacon. Optional. + * @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 + */ + decommission(params?: Params$Resource$Beacons$Decommission, options?: MethodOptions): AxiosPromise; + decommission(params: Params$Resource$Beacons$Decommission, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + decommission(params: Params$Resource$Beacons$Decommission, callback: BodyResponseCallback): void; + decommission(callback: BodyResponseCallback): void; + /** + * proximitybeacon.beacons.delete + * @desc Deletes the specified beacon including all diagnostics data for the + * beacon as well as any attachments on the beacon (including those + * belonging to other projects). This operation cannot be undone. + * Authenticate using an [OAuth access + * token](https://developers.google.com/identity/protocols/OAuth2) from a + * signed-in user with **Is owner** or **Can edit** permissions in the + * Google Developers Console project. + * @alias proximitybeacon.beacons.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.beaconName Beacon that should be deleted. A beacon name has the format "beacons/N!beaconId" where the beaconId is the base16 ID broadcast by the beacon and N is a code for the beacon's type. Possible values are `3` for Eddystone-UID, `4` for Eddystone-EID, `1` for iBeacon, or `5` for AltBeacon. For Eddystone-EID beacons, you may use either the current EID or the beacon's "stable" UID. Required. + * @param {string=} params.projectId The project id of the beacon to delete. If not provided, the project that is making the request is used. Optional. + * @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?: Params$Resource$Beacons$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Beacons$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Beacons$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * proximitybeacon.beacons.get + * @desc Returns detailed information about the specified beacon. + * Authenticate using an [OAuth access + * token](https://developers.google.com/identity/protocols/OAuth2) from a + * signed-in user with **viewer**, **Is owner** or **Can edit** permissions + * in the Google Developers Console project. Requests may supply an + * Eddystone-EID beacon name in the form: `beacons/4!beaconId` where the + * `beaconId` is the base16 ephemeral ID broadcast by the beacon. The + * returned `Beacon` object will contain the beacon's stable Eddystone-UID. + * Clients not authorized to resolve the beacon's ephemeral Eddystone-EID + * broadcast will receive an error. + * @alias proximitybeacon.beacons.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.beaconName Resource name of this beacon. A beacon name has the format "beacons/N!beaconId" where the beaconId is the base16 ID broadcast by the beacon and N is a code for the beacon's type. Possible values are `3` for Eddystone-UID, `4` for Eddystone-EID, `1` for iBeacon, or `5` for AltBeacon. For Eddystone-EID beacons, you may use either the current EID or the beacon's "stable" UID. Required. + * @param {string=} params.projectId The project id of the beacon to request. If the project id is not specified then the project making the request is used. The project id must match the project that owns the beacon. Optional. + * @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?: Params$Resource$Beacons$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Beacons$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Beacons$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * proximitybeacon.beacons.list + * @desc Searches the beacon registry for beacons that match the given + * search criteria. Only those beacons that the client has permission to + * list will be returned. Authenticate using an [OAuth access + * token](https://developers.google.com/identity/protocols/OAuth2) from a + * signed-in user with **viewer**, **Is owner** or **Can edit** permissions + * in the Google Developers Console project. + * @alias proximitybeacon.beacons.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize The maximum number of records to return for this request, up to a server-defined upper limit. + * @param {string=} params.pageToken A pagination token obtained from a previous request to list beacons. + * @param {string=} params.projectId The project id to list beacons under. If not present then the project credential that made the request is used as the project. Optional. + * @param {string=} params.q Filter query string that supports the following field filters: * **description:`""`** For example: **description:"Room 3"** Returns beacons whose description matches tokens in the string "Room 3" (not necessarily that exact string). The string must be double-quoted. * **status:``** For example: **status:active** Returns beacons whose status matches the given value. Values must be one of the Beacon.Status enum values (case insensitive). Accepts multiple filters which will be combined with OR logic. * **stability:``** For example: **stability:mobile** Returns beacons whose expected stability matches the given value. Values must be one of the Beacon.Stability enum values (case insensitive). Accepts multiple filters which will be combined with OR logic. * **place\_id:`""`** For example: **place\_id:"ChIJVSZzVR8FdkgRXGmmm6SslKw="** Returns beacons explicitly registered at the given place, expressed as a Place ID obtained from [Google Places API](/places/place-id). Does not match places inside the given place. Does not consider the beacon's actual location (which may be different from its registered place). Accepts multiple filters that will be combined with OR logic. The place ID must be double-quoted. * **registration\_time`[<|>|<=|>=]`** For example: **registration\_time>=1433116800** Returns beacons whose registration time matches the given filter. Supports the operators: <, >, <=, and >=. Timestamp must be expressed as an integer number of seconds since midnight January 1, 1970 UTC. Accepts at most two filters that will be combined with AND logic, to support "between" semantics. If more than two are supplied, the latter ones are ignored. * **lat:` lng: radius:`** For example: **lat:51.1232343 lng:-1.093852 radius:1000** Returns beacons whose registered location is within the given circle. When any of these fields are given, all are required. Latitude and longitude must be decimal degrees between -90.0 and 90.0 and between -180.0 and 180.0 respectively. Radius must be an integer number of meters between 10 and 1,000,000 (1000 km). * **property:`"="`** For example: **property:"battery-type=CR2032"** Returns beacons which have a property of the given name and value. Supports multiple filters which will be combined with OR logic. The entire name=value string must be double-quoted as one string. * **attachment\_type:`""`** For example: **attachment_type:"my-namespace/my-type"** Returns beacons having at least one attachment of the given namespaced type. Supports "any within this namespace" via the partial wildcard syntax: "my-namespace/x". Supports multiple filters which will be combined with OR logic. The string must be double-quoted. * **indoor\_level:`""`** For example: **indoor\_level:"1"** Returns beacons which are located on the given indoor level. Accepts multiple filters that will be combined with OR logic. Multiple filters on the same field are combined with OR logic (except registration_time which is combined with AND logic). Multiple filters on different fields are combined with AND logic. Filters should be separated by spaces. As with any HTTP query string parameter, the whole filter expression must be URL-encoded. Example REST request: `GET /v1beta1/beacons?q=status:active%20lat:51.123%20lng:-1.095%20radius:1000` + * @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?: Params$Resource$Beacons$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Beacons$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Beacons$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * proximitybeacon.beacons.register + * @desc Registers a previously unregistered beacon given its + * `advertisedId`. These IDs are unique within the system. An ID can be + * registered only once. Authenticate using an [OAuth access + * token](https://developers.google.com/identity/protocols/OAuth2) from a + * signed-in user with **Is owner** or **Can edit** permissions in the + * Google Developers Console project. + * @alias proximitybeacon.beacons.register + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.projectId The project id of the project the beacon will be registered to. If the project id is not specified then the project making the request is used. Optional. + * @param {().Beacon} 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 + */ + register(params?: Params$Resource$Beacons$Register, options?: MethodOptions): AxiosPromise; + register(params: Params$Resource$Beacons$Register, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + register(params: Params$Resource$Beacons$Register, callback: BodyResponseCallback): void; + register(callback: BodyResponseCallback): void; + /** + * proximitybeacon.beacons.update + * @desc Updates the information about the specified beacon. **Any field + * that you do not populate in the submitted beacon will be permanently + * erased**, so you should follow the "read, modify, write" pattern to avoid + * inadvertently destroying data. Changes to the beacon status via this + * method will be silently ignored. To update beacon status, use the + * separate methods on this API for activation, deactivation, and + * decommissioning. Authenticate using an [OAuth access + * token](https://developers.google.com/identity/protocols/OAuth2) from a + * signed-in user with **Is owner** or **Can edit** permissions in the + * Google Developers Console project. + * @alias proximitybeacon.beacons.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.beaconName Resource name of this beacon. A beacon name has the format "beacons/N!beaconId" where the beaconId is the base16 ID broadcast by the beacon and N is a code for the beacon's type. Possible values are `3` for Eddystone, `1` for iBeacon, or `5` for AltBeacon. This field must be left empty when registering. After reading a beacon, clients can use the name for future operations. + * @param {string=} params.projectId The project id of the beacon to update. If the project id is not specified then the project making the request is used. The project id must match the project that owns the beacon. Optional. + * @param {().Beacon} 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?: Params$Resource$Beacons$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Beacons$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Beacons$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Beacons$Activate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Beacon that should be activated. A beacon name has the format + * "beacons/N!beaconId" where the beaconId is the base16 ID broadcast by the + * beacon and N is a code for the beacon's type. Possible values are `3` for + * Eddystone-UID, `4` for Eddystone-EID, `1` for iBeacon, or `5` for + * AltBeacon. For Eddystone-EID beacons, you may use either the current EID + * or the beacon's "stable" UID. Required. + */ + beaconName?: string; + /** + * The project id of the beacon to activate. If the project id is not + * specified then the project making the request is used. The project id + * must match the project that owns the beacon. Optional. + */ + projectId?: string; + } + interface Params$Resource$Beacons$Deactivate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Beacon that should be deactivated. A beacon name has the format + * "beacons/N!beaconId" where the beaconId is the base16 ID broadcast by the + * beacon and N is a code for the beacon's type. Possible values are `3` for + * Eddystone-UID, `4` for Eddystone-EID, `1` for iBeacon, or `5` for + * AltBeacon. For Eddystone-EID beacons, you may use either the current EID + * or the beacon's "stable" UID. Required. + */ + beaconName?: string; + /** + * The project id of the beacon to deactivate. If the project id is not + * specified then the project making the request is used. The project id + * must match the project that owns the beacon. Optional. + */ + projectId?: string; + } + interface Params$Resource$Beacons$Decommission { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Beacon that should be decommissioned. A beacon name has the format + * "beacons/N!beaconId" where the beaconId is the base16 ID broadcast by the + * beacon and N is a code for the beacon's type. Possible values are `3` for + * Eddystone-UID, `4` for Eddystone-EID, `1` for iBeacon, or `5` for + * AltBeacon. For Eddystone-EID beacons, you may use either the current EID + * of the beacon's "stable" UID. Required. + */ + beaconName?: string; + /** + * The project id of the beacon to decommission. If the project id is not + * specified then the project making the request is used. The project id + * must match the project that owns the beacon. Optional. + */ + projectId?: string; + } + interface Params$Resource$Beacons$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Beacon that should be deleted. A beacon name has the format + * "beacons/N!beaconId" where the beaconId is the base16 ID broadcast by the + * beacon and N is a code for the beacon's type. Possible values are `3` for + * Eddystone-UID, `4` for Eddystone-EID, `1` for iBeacon, or `5` for + * AltBeacon. For Eddystone-EID beacons, you may use either the current EID + * or the beacon's "stable" UID. Required. + */ + beaconName?: string; + /** + * The project id of the beacon to delete. If not provided, the project that + * is making the request is used. Optional. + */ + projectId?: string; + } + interface Params$Resource$Beacons$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Resource name of this beacon. A beacon name has the format + * "beacons/N!beaconId" where the beaconId is the base16 ID broadcast by the + * beacon and N is a code for the beacon's type. Possible values are `3` for + * Eddystone-UID, `4` for Eddystone-EID, `1` for iBeacon, or `5` for + * AltBeacon. For Eddystone-EID beacons, you may use either the current EID + * or the beacon's "stable" UID. Required. + */ + beaconName?: string; + /** + * The project id of the beacon to request. If the project id is not + * specified then the project making the request is used. The project id + * must match the project that owns the beacon. Optional. + */ + projectId?: string; + } + interface Params$Resource$Beacons$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The maximum number of records to return for this request, up to a + * server-defined upper limit. + */ + pageSize?: number; + /** + * A pagination token obtained from a previous request to list beacons. + */ + pageToken?: string; + /** + * The project id to list beacons under. If not present then the project + * credential that made the request is used as the project. Optional. + */ + projectId?: string; + /** + * Filter query string that supports the following field filters: * + * **description:`""`** For example: **description:"Room 3"** + * Returns beacons whose description matches tokens in the string "Room 3" + * (not necessarily that exact string). The string must be double-quoted. + * * **status:``** For example: **status:active** Returns beacons + * whose status matches the given value. Values must be one of the + * Beacon.Status enum values (case insensitive). Accepts multiple filters + * which will be combined with OR logic. * **stability:``** For + * example: **stability:mobile** Returns beacons whose expected stability + * matches the given value. Values must be one of the Beacon.Stability + * enum values (case insensitive). Accepts multiple filters which will be + * combined with OR logic. * **place\_id:`""`** For example: + * **place\_id:"ChIJVSZzVR8FdkgRXGmmm6SslKw="** Returns beacons explicitly + * registered at the given place, expressed as a Place ID obtained from + * [Google Places API](/places/place-id). Does not match places inside the + * given place. Does not consider the beacon's actual location (which may + * be different from its registered place). Accepts multiple filters that + * will be combined with OR logic. The place ID must be double-quoted. * + * **registration\_time`[<|>|<=|>=]`** For example: + * **registration\_time>=1433116800** Returns beacons whose registration + * time matches the given filter. Supports the operators: <, >, <=, and + * >=. Timestamp must be expressed as an integer number of seconds since + * midnight January 1, 1970 UTC. Accepts at most two filters that will be + * combined with AND logic, to support "between" semantics. If more than + * two are supplied, the latter ones are ignored. * **lat:` + * lng: radius:`** For example: **lat:51.1232343 + * lng:-1.093852 radius:1000** Returns beacons whose registered location + * is within the given circle. When any of these fields are given, all are + * required. Latitude and longitude must be decimal degrees between -90.0 + * and 90.0 and between -180.0 and 180.0 respectively. Radius must be an + * integer number of meters between 10 and 1,000,000 (1000 km). * + * **property:`"="`** For example: + * **property:"battery-type=CR2032"** Returns beacons which have a + * property of the given name and value. Supports multiple filters which + * will be combined with OR logic. The entire name=value string must be + * double-quoted as one string. * **attachment\_type:`""`** For + * example: **attachment_type:"my-namespace/my-type"** Returns beacons + * having at least one attachment of the given namespaced type. Supports + * "any within this namespace" via the partial wildcard syntax: + * "my-namespace/x". Supports multiple filters which will be combined with + * OR logic. The string must be double-quoted. * + * **indoor\_level:`""`** For example: **indoor\_level:"1"** + * Returns beacons which are located on the given indoor level. Accepts + * multiple filters that will be combined with OR logic. Multiple filters + * on the same field are combined with OR logic (except registration_time + * which is combined with AND logic). Multiple filters on different fields + * are combined with AND logic. Filters should be separated by spaces. As + * with any HTTP query string parameter, the whole filter expression must be + * URL-encoded. Example REST request: `GET + * /v1beta1/beacons?q=status:active%20lat:51.123%20lng:-1.095%20radius:1000` + */ + q?: string; + } + interface Params$Resource$Beacons$Register { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The project id of the project the beacon will be registered to. If the + * project id is not specified then the project making the request is used. + * Optional. + */ + projectId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Beacon; + } + interface Params$Resource$Beacons$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Resource name of this beacon. A beacon name has the format + * "beacons/N!beaconId" where the beaconId is the base16 ID broadcast by the + * beacon and N is a code for the beacon's type. Possible values are `3` for + * Eddystone, `1` for iBeacon, or `5` for AltBeacon. This field must be + * left empty when registering. After reading a beacon, clients can use the + * name for future operations. + */ + beaconName?: string; + /** + * The project id of the beacon to update. If the project id is not + * specified then the project making the request is used. The project id + * must match the project that owns the beacon. Optional. + */ + projectId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Beacon; + } + class Resource$Beacons$Attachments { + root: Proximitybeacon; + constructor(root: Proximitybeacon); + getRoot(): Proximitybeacon; + /** + * proximitybeacon.beacons.attachments.batchDelete + * @desc Deletes multiple attachments on a given beacon. This operation is + * permanent and cannot be undone. You can optionally specify + * `namespacedType` to choose which attachments should be deleted. If you do + * not specify `namespacedType`, all your attachments on the given beacon + * will be deleted. You also may explicitly specify `x/x` to delete all. + * Authenticate using an [OAuth access + * token](https://developers.google.com/identity/protocols/OAuth2) from a + * signed-in user with **Is owner** or **Can edit** permissions in the + * Google Developers Console project. + * @alias proximitybeacon.beacons.attachments.batchDelete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.beaconName The beacon whose attachments should be deleted. A beacon name has the format "beacons/N!beaconId" where the beaconId is the base16 ID broadcast by the beacon and N is a code for the beacon's type. Possible values are `3` for Eddystone-UID, `4` for Eddystone-EID, `1` for iBeacon, or `5` for AltBeacon. For Eddystone-EID beacons, you may use either the current EID or the beacon's "stable" UID. Required. + * @param {string=} params.namespacedType Specifies the namespace and type of attachments to delete in `namespace/type` format. Accepts `x/x` to specify "all types in all namespaces". Optional. + * @param {string=} params.projectId The project id to delete beacon attachments under. This field can be used when "*" is specified to mean all attachment namespaces. Projects may have multiple attachments with multiple namespaces. If "*" is specified and the projectId string is empty, then the project making the request is used. Optional. + * @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 + */ + batchDelete(params?: Params$Resource$Beacons$Attachments$Batchdelete, options?: MethodOptions): AxiosPromise; + batchDelete(params: Params$Resource$Beacons$Attachments$Batchdelete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + batchDelete(params: Params$Resource$Beacons$Attachments$Batchdelete, callback: BodyResponseCallback): void; + batchDelete(callback: BodyResponseCallback): void; + /** + * proximitybeacon.beacons.attachments.create + * @desc Associates the given data with the specified beacon. Attachment + * data must contain two parts:
  • A namespaced type.
  • The + * actual attachment data itself.
The namespaced type consists of + * two parts, the namespace and the type. The namespace must be one of the + * values returned by the `namespaces` endpoint, while the type can be a + * string of any characters except for the forward slash (`/`) up to 100 + * characters in length. Attachment data can be up to 1024 bytes long. + * Authenticate using an [OAuth access + * token](https://developers.google.com/identity/protocols/OAuth2) from a + * signed-in user with **Is owner** or **Can edit** permissions in the + * Google Developers Console project. + * @alias proximitybeacon.beacons.attachments.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.beaconName Beacon on which the attachment should be created. A beacon name has the format "beacons/N!beaconId" where the beaconId is the base16 ID broadcast by the beacon and N is a code for the beacon's type. Possible values are `3` for Eddystone-UID, `4` for Eddystone-EID, `1` for iBeacon, or `5` for AltBeacon. For Eddystone-EID beacons, you may use either the current EID or the beacon's "stable" UID. Required. + * @param {string=} params.projectId The project id of the project the attachment will belong to. If the project id is not specified then the project making the request is used. Optional. + * @param {().BeaconAttachment} 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 + */ + create(params?: Params$Resource$Beacons$Attachments$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Beacons$Attachments$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Beacons$Attachments$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * proximitybeacon.beacons.attachments.delete + * @desc Deletes the specified attachment for the given beacon. Each + * attachment has a unique attachment name (`attachmentName`) which is + * returned when you fetch the attachment data via this API. You specify + * this with the delete request to control which attachment is removed. This + * operation cannot be undone. Authenticate using an [OAuth access + * token](https://developers.google.com/identity/protocols/OAuth2) from a + * signed-in user with **Is owner** or **Can edit** permissions in the + * Google Developers Console project. + * @alias proximitybeacon.beacons.attachments.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.attachmentName The attachment name (`attachmentName`) of the attachment to remove. For example: `beacons/3!893737abc9/attachments/c5e937-af0-494-959-ec49d12738`. For Eddystone-EID beacons, the beacon ID portion (`3!893737abc9`) may be the beacon's current EID, or its "stable" Eddystone-UID. Required. + * @param {string=} params.projectId The project id of the attachment to delete. If not provided, the project that is making the request is used. Optional. + * @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?: Params$Resource$Beacons$Attachments$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Beacons$Attachments$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Beacons$Attachments$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * proximitybeacon.beacons.attachments.list + * @desc Returns the attachments for the specified beacon that match the + * specified namespaced-type pattern. To control which namespaced types are + * returned, you add the `namespacedType` query parameter to the request. + * You must either use `x/x`, to return all attachments, or the namespace + * must be one of the ones returned from the `namespaces` endpoint. + * Authenticate using an [OAuth access + * token](https://developers.google.com/identity/protocols/OAuth2) from a + * signed-in user with **viewer**, **Is owner** or **Can edit** permissions + * in the Google Developers Console project. + * @alias proximitybeacon.beacons.attachments.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.beaconName Beacon whose attachments should be fetched. A beacon name has the format "beacons/N!beaconId" where the beaconId is the base16 ID broadcast by the beacon and N is a code for the beacon's type. Possible values are `3` for Eddystone-UID, `4` for Eddystone-EID, `1` for iBeacon, or `5` for AltBeacon. For Eddystone-EID beacons, you may use either the current EID or the beacon's "stable" UID. Required. + * @param {string=} params.namespacedType Specifies the namespace and type of attachment to include in response in namespace/type format. Accepts `x/x` to specify "all types in all namespaces". + * @param {string=} params.projectId The project id to list beacon attachments under. This field can be used when "*" is specified to mean all attachment namespaces. Projects may have multiple attachments with multiple namespaces. If "*" is specified and the projectId string is empty, then the project making the request is used. Optional. + * @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?: Params$Resource$Beacons$Attachments$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Beacons$Attachments$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Beacons$Attachments$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Beacons$Attachments$Batchdelete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The beacon whose attachments should be deleted. A beacon name has the + * format "beacons/N!beaconId" where the beaconId is the base16 ID broadcast + * by the beacon and N is a code for the beacon's type. Possible values are + * `3` for Eddystone-UID, `4` for Eddystone-EID, `1` for iBeacon, or `5` for + * AltBeacon. For Eddystone-EID beacons, you may use either the current EID + * or the beacon's "stable" UID. Required. + */ + beaconName?: string; + /** + * Specifies the namespace and type of attachments to delete in + * `namespace/type` format. Accepts `x/x` to specify "all types in all + * namespaces". Optional. + */ + namespacedType?: string; + /** + * The project id to delete beacon attachments under. This field can be used + * when "*" is specified to mean all attachment namespaces. Projects may + * have multiple attachments with multiple namespaces. If "*" is specified + * and the projectId string is empty, then the project making the request is + * used. Optional. + */ + projectId?: string; + } + interface Params$Resource$Beacons$Attachments$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Beacon on which the attachment should be created. A beacon name has the + * format "beacons/N!beaconId" where the beaconId is the base16 ID broadcast + * by the beacon and N is a code for the beacon's type. Possible values are + * `3` for Eddystone-UID, `4` for Eddystone-EID, `1` for iBeacon, or `5` for + * AltBeacon. For Eddystone-EID beacons, you may use either the current EID + * or the beacon's "stable" UID. Required. + */ + beaconName?: string; + /** + * The project id of the project the attachment will belong to. If the + * project id is not specified then the project making the request is used. + * Optional. + */ + projectId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BeaconAttachment; + } + interface Params$Resource$Beacons$Attachments$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The attachment name (`attachmentName`) of the attachment to remove. For + * example: + * `beacons/3!893737abc9/attachments/c5e937-af0-494-959-ec49d12738`. For + * Eddystone-EID beacons, the beacon ID portion (`3!893737abc9`) may be the + * beacon's current EID, or its "stable" Eddystone-UID. Required. + */ + attachmentName?: string; + /** + * The project id of the attachment to delete. If not provided, the project + * that is making the request is used. Optional. + */ + projectId?: string; + } + interface Params$Resource$Beacons$Attachments$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Beacon whose attachments should be fetched. A beacon name has the format + * "beacons/N!beaconId" where the beaconId is the base16 ID broadcast by the + * beacon and N is a code for the beacon's type. Possible values are `3` for + * Eddystone-UID, `4` for Eddystone-EID, `1` for iBeacon, or `5` for + * AltBeacon. For Eddystone-EID beacons, you may use either the current EID + * or the beacon's "stable" UID. Required. + */ + beaconName?: string; + /** + * Specifies the namespace and type of attachment to include in response in + * namespace/type format. Accepts `x/x` to specify "all types in + * all namespaces". + */ + namespacedType?: string; + /** + * The project id to list beacon attachments under. This field can be used + * when "*" is specified to mean all attachment namespaces. Projects may + * have multiple attachments with multiple namespaces. If "*" is specified + * and the projectId string is empty, then the project making the request is + * used. Optional. + */ + projectId?: string; + } + class Resource$Beacons$Diagnostics { + root: Proximitybeacon; + constructor(root: Proximitybeacon); + getRoot(): Proximitybeacon; + /** + * proximitybeacon.beacons.diagnostics.list + * @desc List the diagnostics for a single beacon. You can also list + * diagnostics for all the beacons owned by your Google Developers Console + * project by using the beacon name `beacons/-`. Authenticate using an + * [OAuth access + * token](https://developers.google.com/identity/protocols/OAuth2) from a + * signed-in user with **viewer**, **Is owner** or **Can edit** permissions + * in the Google Developers Console project. + * @alias proximitybeacon.beacons.diagnostics.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.alertFilter Requests only beacons that have the given alert. For example, to find beacons that have low batteries use `alert_filter=LOW_BATTERY`. + * @param {string} params.beaconName Beacon that the diagnostics are for. + * @param {integer=} params.pageSize Specifies the maximum number of results to return. Defaults to 10. Maximum 1000. Optional. + * @param {string=} params.pageToken Requests results that occur after the `page_token`, obtained from the response to a previous request. Optional. + * @param {string=} params.projectId Requests only diagnostic records for the given project id. If not set, then the project making the request will be used for looking up diagnostic records. Optional. + * @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?: Params$Resource$Beacons$Diagnostics$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Beacons$Diagnostics$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Beacons$Diagnostics$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Beacons$Diagnostics$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Requests only beacons that have the given alert. For example, to find + * beacons that have low batteries use `alert_filter=LOW_BATTERY`. + */ + alertFilter?: string; + /** + * Beacon that the diagnostics are for. + */ + beaconName?: string; + /** + * Specifies the maximum number of results to return. Defaults to 10. + * Maximum 1000. Optional. + */ + pageSize?: number; + /** + * Requests results that occur after the `page_token`, obtained from the + * response to a previous request. Optional. + */ + pageToken?: string; + /** + * Requests only diagnostic records for the given project id. If not set, + * then the project making the request will be used for looking up + * diagnostic records. Optional. + */ + projectId?: string; + } + class Resource$Namespaces { + root: Proximitybeacon; + constructor(root: Proximitybeacon); + getRoot(): Proximitybeacon; + /** + * proximitybeacon.namespaces.list + * @desc Lists all attachment namespaces owned by your Google Developers + * Console project. Attachment data associated with a beacon must include a + * namespaced type, and the namespace must be owned by your project. + * Authenticate using an [OAuth access + * token](https://developers.google.com/identity/protocols/OAuth2) from a + * signed-in user with **viewer**, **Is owner** or **Can edit** permissions + * in the Google Developers Console project. + * @alias proximitybeacon.namespaces.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.projectId The project id to list namespaces under. Optional. + * @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?: Params$Resource$Namespaces$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Namespaces$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Namespaces$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * proximitybeacon.namespaces.update + * @desc Updates the information about the specified namespace. Only the + * namespace visibility can be updated. + * @alias proximitybeacon.namespaces.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.namespaceName Resource name of this namespace. Namespaces names have the format: namespaces/namespace. + * @param {string=} params.projectId The project id of the namespace to update. If the project id is not specified then the project making the request is used. The project id must match the project that owns the beacon. Optional. + * @param {().Namespace} 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?: Params$Resource$Namespaces$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Namespaces$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Namespaces$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Namespaces$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The project id to list namespaces under. Optional. + */ + projectId?: string; + } + interface Params$Resource$Namespaces$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Resource name of this namespace. Namespaces names have the format: + * namespaces/namespace. + */ + namespaceName?: string; + /** + * The project id of the namespace to update. If the project id is not + * specified then the project making the request is used. The project id + * must match the project that owns the beacon. Optional. + */ + projectId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Namespace; + } + class Resource$V1beta1 { + root: Proximitybeacon; + constructor(root: Proximitybeacon); + getRoot(): Proximitybeacon; + /** + * proximitybeacon.getEidparams + * @desc Gets the Proximity Beacon API's current public key and associated + * parameters used to initiate the Diffie-Hellman key exchange required to + * register a beacon that broadcasts the Eddystone-EID format. This key + * changes periodically; clients may cache it and re-use the same public key + * to provision and register multiple beacons. However, clients should be + * prepared to refresh this key when they encounter an error registering an + * Eddystone-EID beacon. + * @alias proximitybeacon.getEidparams + * @memberOf! () + * + * @param {object} params Parameters for request + * @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 + */ + getEidparams(params?: Params$Resource$V1beta1$Geteidparams, options?: MethodOptions): AxiosPromise; + getEidparams(params: Params$Resource$V1beta1$Geteidparams, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getEidparams(params: Params$Resource$V1beta1$Geteidparams, callback: BodyResponseCallback): void; + getEidparams(callback: BodyResponseCallback): void; + } + interface Params$Resource$V1beta1$Geteidparams { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/proximitybeacon/v1beta1.js b/express-server/node_modules/googleapis/build/src/apis/proximitybeacon/v1beta1.js new file mode 100644 index 00000000..1022e10b --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/proximitybeacon/v1beta1.js @@ -0,0 +1,646 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var proximitybeacon_v1beta1; +(function (proximitybeacon_v1beta1) { + /** + * Proximity Beacon API + * + * Registers, manages, indexes, and searches beacons. + * + * @example + * const {google} = require('googleapis'); + * const proximitybeacon = google.proximitybeacon('v1beta1'); + * + * @namespace proximitybeacon + * @type {Function} + * @version v1beta1 + * @variation v1beta1 + * @param {object=} options Options for Proximitybeacon + */ + class Proximitybeacon { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.beaconinfo = new Resource$Beaconinfo(this); + this.beacons = new Resource$Beacons(this); + this.namespaces = new Resource$Namespaces(this); + this.v1beta1 = new Resource$V1beta1(this); + } + getRoot() { + return this.root; + } + } + proximitybeacon_v1beta1.Proximitybeacon = Proximitybeacon; + class Resource$Beaconinfo { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + getforobserved(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://proximitybeacon.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/beaconinfo:getforobserved') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + proximitybeacon_v1beta1.Resource$Beaconinfo = Resource$Beaconinfo; + class Resource$Beacons { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.attachments = new Resource$Beacons$Attachments(root); + this.diagnostics = new Resource$Beacons$Diagnostics(root); + } + getRoot() { + return this.root; + } + activate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://proximitybeacon.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+beaconName}:activate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['beaconName'], + pathParams: ['beaconName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + deactivate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://proximitybeacon.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+beaconName}:deactivate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['beaconName'], + pathParams: ['beaconName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + decommission(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://proximitybeacon.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+beaconName}:decommission') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['beaconName'], + pathParams: ['beaconName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://proximitybeacon.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+beaconName}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['beaconName'], + pathParams: ['beaconName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://proximitybeacon.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+beaconName}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['beaconName'], + pathParams: ['beaconName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://proximitybeacon.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/beacons').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + register(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://proximitybeacon.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/beacons:register') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://proximitybeacon.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+beaconName}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['beaconName'], + pathParams: ['beaconName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + proximitybeacon_v1beta1.Resource$Beacons = Resource$Beacons; + class Resource$Beacons$Attachments { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + batchDelete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://proximitybeacon.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+beaconName}/attachments:batchDelete') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['beaconName'], + pathParams: ['beaconName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://proximitybeacon.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+beaconName}/attachments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['beaconName'], + pathParams: ['beaconName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://proximitybeacon.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+attachmentName}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['attachmentName'], + pathParams: ['attachmentName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://proximitybeacon.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+beaconName}/attachments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['beaconName'], + pathParams: ['beaconName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + proximitybeacon_v1beta1.Resource$Beacons$Attachments = Resource$Beacons$Attachments; + class Resource$Beacons$Diagnostics { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://proximitybeacon.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+beaconName}/diagnostics') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['beaconName'], + pathParams: ['beaconName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + proximitybeacon_v1beta1.Resource$Beacons$Diagnostics = Resource$Beacons$Diagnostics; + class Resource$Namespaces { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://proximitybeacon.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/namespaces') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://proximitybeacon.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+namespaceName}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['namespaceName'], + pathParams: ['namespaceName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + proximitybeacon_v1beta1.Resource$Namespaces = Resource$Namespaces; + class Resource$V1beta1 { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + getEidparams(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://proximitybeacon.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/eidparams') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + proximitybeacon_v1beta1.Resource$V1beta1 = Resource$V1beta1; +})(proximitybeacon_v1beta1 = exports.proximitybeacon_v1beta1 || (exports.proximitybeacon_v1beta1 = {})); +//# sourceMappingURL=v1beta1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/proximitybeacon/v1beta1.js.map b/express-server/node_modules/googleapis/build/src/apis/proximitybeacon/v1beta1.js.map new file mode 100644 index 00000000..3baac2db --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/proximitybeacon/v1beta1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1beta1.js","sourceRoot":"","sources":["../../../../src/apis/proximitybeacon/v1beta1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/pubsub/README.md b/express-server/node_modules/googleapis/build/src/apis/pubsub/README.md new file mode 100644 index 00000000..2752848f --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/pubsub/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/pubsub + +> Provides reliable, many-to-many, asynchronous messaging between applications. + +## Installation + +```sh +$ npm install @google/pubsub +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/pubsub/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/pubsub/index.d.ts new file mode 100644 index 00000000..8cc81e70 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/pubsub/index.d.ts @@ -0,0 +1,14 @@ +import { pubsub_v1 } from './v1'; +import { pubsub_v1beta1a } from './v1beta1a'; +import { pubsub_v1beta2 } from './v1beta2'; +export declare const VERSIONS: { + 'v1': typeof pubsub_v1.Pubsub; + 'v1beta1a': typeof pubsub_v1beta1a.Pubsub; + 'v1beta2': typeof pubsub_v1beta2.Pubsub; +}; +export declare function pubsub(version: 'v1'): pubsub_v1.Pubsub; +export declare function pubsub(options: pubsub_v1.Options): pubsub_v1.Pubsub; +export declare function pubsub(version: 'v1beta1a'): pubsub_v1beta1a.Pubsub; +export declare function pubsub(options: pubsub_v1beta1a.Options): pubsub_v1beta1a.Pubsub; +export declare function pubsub(version: 'v1beta2'): pubsub_v1beta2.Pubsub; +export declare function pubsub(options: pubsub_v1beta2.Options): pubsub_v1beta2.Pubsub; diff --git a/express-server/node_modules/googleapis/build/src/apis/pubsub/index.js b/express-server/node_modules/googleapis/build/src/apis/pubsub/index.js new file mode 100644 index 00000000..419a9da3 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/pubsub/index.js @@ -0,0 +1,29 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +const v1beta1a_1 = require("./v1beta1a"); +const v1beta2_1 = require("./v1beta2"); +exports.VERSIONS = { + 'v1': v1_1.pubsub_v1.Pubsub, + 'v1beta1a': v1beta1a_1.pubsub_v1beta1a.Pubsub, + 'v1beta2': v1beta2_1.pubsub_v1beta2.Pubsub, +}; +function pubsub(versionOrOptions) { + return googleapis_common_1.getAPI('pubsub', versionOrOptions, exports.VERSIONS, this); +} +exports.pubsub = pubsub; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/pubsub/index.js.map b/express-server/node_modules/googleapis/build/src/apis/pubsub/index.js.map new file mode 100644 index 00000000..e807e529 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/pubsub/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/pubsub/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAA+B;AAC/B,yCAA2C;AAC3C,uCAAyC;AAE5B,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,cAAS,CAAC,MAAM;IACtB,UAAU,EAAE,0BAAe,CAAC,MAAM;IAClC,SAAS,EAAE,wBAAc,CAAC,MAAM;CACjC,CAAC;AASF,SACA,MAAM,CAEF,gBACwD;IAC1D,OAAO,0BAAM,CAAI,QAAQ,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAC/D,CAAC;AAND,wBAMC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/pubsub/package.json b/express-server/node_modules/googleapis/build/src/apis/pubsub/package.json new file mode 100644 index 00000000..28c4106c --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/pubsub/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/pubsub", + "version": "0.1.0", + "description": "pubsub", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/pubsub/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/pubsub/v1.d.ts new file mode 100644 index 00000000..ea5ab976 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/pubsub/v1.d.ts @@ -0,0 +1,3205 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace pubsub_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Cloud Pub/Sub API + * + * Provides reliable, many-to-many, asynchronous messaging between + * applications. + * + * @example + * const {google} = require('googleapis'); + * const pubsub = google.pubsub('v1'); + * + * @namespace pubsub + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Pubsub + */ + class Pubsub { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + projects: Resource$Projects; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Request for the Acknowledge method. + */ + interface Schema$AcknowledgeRequest { + /** + * The acknowledgment ID for the messages being acknowledged that was + * returned by the Pub/Sub system in the `Pull` response. Must not be empty. + */ + ackIds?: string[]; + } + /** + * Associates `members` with a `role`. + */ + interface Schema$Binding { + /** + * Unimplemented. The condition that is associated with this binding. NOTE: + * an unsatisfied condition will not allow user access via current binding. + * Different bindings, including their conditions, are examined + * independently. + */ + condition?: Schema$Expr; + /** + * Specifies the identities requesting access for a Cloud Platform resource. + * `members` can have the following values: * `allUsers`: A special + * identifier that represents anyone who is on the internet; with or + * without a Google account. * `allAuthenticatedUsers`: A special + * identifier that represents anyone who is authenticated with a Google + * account or a service account. * `user:{emailid}`: An email address that + * represents a specific Google account. For example, `alice@gmail.com` . + * * `serviceAccount:{emailid}`: An email address that represents a service + * account. For example, `my-other-app@appspot.gserviceaccount.com`. * + * `group:{emailid}`: An email address that represents a Google group. For + * example, `admins@example.com`. * `domain:{domain}`: A Google Apps + * domain name that represents all the users of that domain. For example, + * `google.com` or `example.com`. + */ + members?: string[]; + /** + * Role that is assigned to `members`. For example, `roles/viewer`, + * `roles/editor`, or `roles/owner`. + */ + role?: string; + } + /** + * Request for the `CreateSnapshot` method.<br><br> + * <b>BETA:</b> This feature is part of a beta release. This API + * might be changed in backward-incompatible ways and is not recommended for + * production use. It is not subject to any SLA or deprecation policy. + */ + interface Schema$CreateSnapshotRequest { + /** + * See <a href="/pubsub/docs/labels"> Creating and managing + * labels</a>. + */ + labels?: any; + /** + * The subscription whose backlog the snapshot retains. Specifically, the + * created snapshot is guaranteed to retain: (a) The existing backlog on + * the subscription. More precisely, this is defined as the messages in + * the subscription's backlog that are unacknowledged upon the + * successful completion of the `CreateSnapshot` request; as well as: + * (b) Any messages published to the subscription's topic following the + * successful completion of the CreateSnapshot request. Format is + * `projects/{project}/subscriptions/{sub}`. + */ + subscription?: string; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * Represents an expression text. Example: title: "User account + * presence" description: "Determines whether the request has a + * user account" expression: "size(request.user) > 0" + */ + interface Schema$Expr { + /** + * An optional description of the expression. This is a longer text which + * describes the expression, e.g. when hovered over it in a UI. + */ + description?: string; + /** + * Textual representation of an expression in Common Expression Language + * syntax. The application context of the containing message determines + * which well-known feature set of CEL is supported. + */ + expression?: string; + /** + * An optional string indicating the location of the expression for error + * reporting, e.g. a file name and a position in the file. + */ + location?: string; + /** + * An optional title for the expression, i.e. a short string describing its + * purpose. This can be used e.g. in UIs which allow to enter the + * expression. + */ + title?: string; + } + /** + * Response for the `ListSnapshots` method.<br><br> + * <b>BETA:</b> This feature is part of a beta release. This API + * might be changed in backward-incompatible ways and is not recommended for + * production use. It is not subject to any SLA or deprecation policy. + */ + interface Schema$ListSnapshotsResponse { + /** + * If not empty, indicates that there may be more snapshot that match the + * request; this value should be passed in a new `ListSnapshotsRequest`. + */ + nextPageToken?: string; + /** + * The resulting snapshots. + */ + snapshots?: Schema$Snapshot[]; + } + /** + * Response for the `ListSubscriptions` method. + */ + interface Schema$ListSubscriptionsResponse { + /** + * If not empty, indicates that there may be more subscriptions that match + * the request; this value should be passed in a new + * `ListSubscriptionsRequest` to get more subscriptions. + */ + nextPageToken?: string; + /** + * The subscriptions that match the request. + */ + subscriptions?: Schema$Subscription[]; + } + /** + * Response for the `ListTopicSnapshots` method.<br><br> + * <b>BETA:</b> This feature is part of a beta release. This API + * might be changed in backward-incompatible ways and is not recommended for + * production use. It is not subject to any SLA or deprecation policy. + */ + interface Schema$ListTopicSnapshotsResponse { + /** + * If not empty, indicates that there may be more snapshots that match the + * request; this value should be passed in a new `ListTopicSnapshotsRequest` + * to get more snapshots. + */ + nextPageToken?: string; + /** + * The names of the snapshots that match the request. + */ + snapshots?: string[]; + } + /** + * Response for the `ListTopics` method. + */ + interface Schema$ListTopicsResponse { + /** + * If not empty, indicates that there may be more topics that match the + * request; this value should be passed in a new `ListTopicsRequest`. + */ + nextPageToken?: string; + /** + * The resulting topics. + */ + topics?: Schema$Topic[]; + } + /** + * Response for the `ListTopicSubscriptions` method. + */ + interface Schema$ListTopicSubscriptionsResponse { + /** + * If not empty, indicates that there may be more subscriptions that match + * the request; this value should be passed in a new + * `ListTopicSubscriptionsRequest` to get more subscriptions. + */ + nextPageToken?: string; + /** + * The names of the subscriptions that match the request. + */ + subscriptions?: string[]; + } + /** + * Request for the ModifyAckDeadline method. + */ + interface Schema$ModifyAckDeadlineRequest { + /** + * The new ack deadline with respect to the time this request was sent to + * the Pub/Sub system. For example, if the value is 10, the new ack deadline + * will expire 10 seconds after the `ModifyAckDeadline` call was made. + * Specifying zero may immediately make the message available for another + * pull request. The minimum deadline you can specify is 0 seconds. The + * maximum deadline you can specify is 600 seconds (10 minutes). + */ + ackDeadlineSeconds?: number; + /** + * List of acknowledgment IDs. + */ + ackIds?: string[]; + } + /** + * Request for the ModifyPushConfig method. + */ + interface Schema$ModifyPushConfigRequest { + /** + * The push configuration for future deliveries. An empty `pushConfig` + * indicates that the Pub/Sub system should stop pushing messages from the + * given subscription and allow messages to be pulled and acknowledged - + * effectively pausing the subscription if `Pull` or `StreamingPull` is not + * called. + */ + pushConfig?: Schema$PushConfig; + } + /** + * Defines an Identity and Access Management (IAM) policy. It is used to + * specify access control policies for Cloud Platform resources. A `Policy` + * consists of a list of `bindings`. A `binding` binds a list of `members` to + * a `role`, where the members can be user accounts, Google groups, Google + * domains, and service accounts. A `role` is a named list of permissions + * defined by IAM. **JSON Example** { "bindings": [ { + * "role": "roles/owner", "members": [ + * "user:mike@example.com", "group:admins@example.com", + * "domain:google.com", + * "serviceAccount:my-other-app@appspot.gserviceaccount.com" ] }, { + * "role": "roles/viewer", "members": + * ["user:sean@example.com"] } ] } **YAML + * Example** bindings: - members: - user:mike@example.com - + * group:admins@example.com - domain:google.com - + * serviceAccount:my-other-app@appspot.gserviceaccount.com role: + * roles/owner - members: - user:sean@example.com role: + * roles/viewer For a description of IAM and its features, see the [IAM + * developer's guide](https://cloud.google.com/iam/docs). + */ + interface Schema$Policy { + /** + * Associates a list of `members` to a `role`. `bindings` with no members + * will result in an error. + */ + bindings?: Schema$Binding[]; + /** + * `etag` is used for optimistic concurrency control as a way to help + * prevent simultaneous updates of a policy from overwriting each other. It + * is strongly suggested that systems make use of the `etag` in the + * read-modify-write cycle to perform policy updates in order to avoid race + * conditions: An `etag` is returned in the response to `getIamPolicy`, and + * systems are expected to put that etag in the request to `setIamPolicy` to + * ensure that their change will be applied to the same version of the + * policy. If no `etag` is provided in the call to `setIamPolicy`, then the + * existing policy is overwritten blindly. + */ + etag?: string; + /** + * Deprecated. + */ + version?: number; + } + /** + * Request for the Publish method. + */ + interface Schema$PublishRequest { + /** + * The messages to publish. + */ + messages?: Schema$PubsubMessage[]; + } + /** + * Response for the `Publish` method. + */ + interface Schema$PublishResponse { + /** + * The server-assigned ID of each published message, in the same order as + * the messages in the request. IDs are guaranteed to be unique within the + * topic. + */ + messageIds?: string[]; + } + /** + * A message that is published by publishers and consumed by subscribers. The + * message must contain either a non-empty data field or at least one + * attribute. + */ + interface Schema$PubsubMessage { + /** + * Optional attributes for this message. + */ + attributes?: any; + /** + * The message data field. If this field is empty, the message must contain + * at least one attribute. + */ + data?: string; + /** + * ID of this message, assigned by the server when the message is published. + * Guaranteed to be unique within the topic. This value may be read by a + * subscriber that receives a `PubsubMessage` via a `Pull` call or a push + * delivery. It must not be populated by the publisher in a `Publish` call. + */ + messageId?: string; + /** + * The time at which the message was published, populated by the server when + * it receives the `Publish` call. It must not be populated by the publisher + * in a `Publish` call. + */ + publishTime?: string; + } + /** + * Request for the `Pull` method. + */ + interface Schema$PullRequest { + /** + * The maximum number of messages returned for this request. The Pub/Sub + * system may return fewer than the number specified. + */ + maxMessages?: number; + /** + * If this field set to true, the system will respond immediately even if it + * there are no messages available to return in the `Pull` response. + * Otherwise, the system may wait (for a bounded amount of time) until at + * least one message is available, rather than returning no messages. + */ + returnImmediately?: boolean; + } + /** + * Response for the `Pull` method. + */ + interface Schema$PullResponse { + /** + * Received Pub/Sub messages. The list will be empty if there are no more + * messages available in the backlog. For JSON, the response can be entirely + * empty. The Pub/Sub system may return fewer than the `maxMessages` + * requested even if there are more messages available in the backlog. + */ + receivedMessages?: Schema$ReceivedMessage[]; + } + /** + * Configuration for a push delivery endpoint. + */ + interface Schema$PushConfig { + /** + * Endpoint configuration attributes. Every endpoint has a set of API + * supported attributes that can be used to control different aspects of the + * message delivery. The currently supported attribute is `x-goog-version`, + * which you can use to change the format of the pushed message. This + * attribute indicates the version of the data expected by the endpoint. + * This controls the shape of the pushed message (i.e., its fields and + * metadata). The endpoint version is based on the version of the Pub/Sub + * API. If not present during the `CreateSubscription` call, it will + * default to the version of the API used to make such call. If not present + * during a `ModifyPushConfig` call, its value will not be changed. + * `GetSubscription` calls will always return a valid version, even if the + * subscription was created without this attribute. The possible values for + * this attribute are: * `v1beta1`: uses the push format defined in the + * v1beta1 Pub/Sub API. * `v1` or `v1beta2`: uses the push format defined in + * the v1 Pub/Sub API. + */ + attributes?: any; + /** + * A URL locating the endpoint to which messages should be pushed. For + * example, a Webhook endpoint might use + * "https://example.com/push". + */ + pushEndpoint?: string; + } + /** + * A message and its corresponding acknowledgment ID. + */ + interface Schema$ReceivedMessage { + /** + * This ID can be used to acknowledge the received message. + */ + ackId?: string; + /** + * The message. + */ + message?: Schema$PubsubMessage; + } + /** + * Request for the `Seek` method. <br><br> + * <b>BETA:</b> This feature is part of a beta release. This API + * might be changed in backward-incompatible ways and is not recommended for + * production use. It is not subject to any SLA or deprecation policy. + */ + interface Schema$SeekRequest { + /** + * The snapshot to seek to. The snapshot's topic must be the same as + * that of the provided subscription. Format is + * `projects/{project}/snapshots/{snap}`. + */ + snapshot?: string; + /** + * The time to seek to. Messages retained in the subscription that were + * published before this time are marked as acknowledged, and messages + * retained in the subscription that were published after this time are + * marked as unacknowledged. Note that this operation affects only those + * messages retained in the subscription (configured by the combination of + * `message_retention_duration` and `retain_acked_messages`). For example, + * if `time` corresponds to a point before the message retention window (or + * to a point before the system's notion of the subscription creation + * time), only retained messages will be marked as unacknowledged, and + * already-expunged messages will not be restored. + */ + time?: string; + } + /** + * Response for the `Seek` method (this response is empty). + */ + interface Schema$SeekResponse { + } + /** + * Request message for `SetIamPolicy` method. + */ + interface Schema$SetIamPolicyRequest { + /** + * REQUIRED: The complete policy to be applied to the `resource`. The size + * of the policy is limited to a few 10s of KB. An empty policy is a valid + * policy but certain Cloud Platform services (such as Projects) might + * reject them. + */ + policy?: Schema$Policy; + } + /** + * A snapshot resource. Snapshots are used in <a + * href="/pubsub/docs/replay-overview">Seek</a> operations, + * which allow you to manage message acknowledgments in bulk. That is, you can + * set the acknowledgment state of messages in an existing subscription to the + * state captured by a snapshot.<br><br> <b>BETA:</b> + * This feature is part of a beta release. This API might be changed in + * backward-incompatible ways and is not recommended for production use. It is + * not subject to any SLA or deprecation policy. + */ + interface Schema$Snapshot { + /** + * The snapshot is guaranteed to exist up until this time. A newly-created + * snapshot expires no later than 7 days from the time of its creation. Its + * exact lifetime is determined at creation by the existing backlog in the + * source subscription. Specifically, the lifetime of the snapshot is `7 + * days - (age of oldest unacked message in the subscription)`. For example, + * consider a subscription whose oldest unacked message is 3 days old. If a + * snapshot is created from this subscription, the snapshot -- which will + * always capture this 3-day-old backlog as long as the snapshot exists -- + * will expire in 4 days. The service will refuse to create a snapshot that + * would expire in less than 1 hour after creation. + */ + expireTime?: string; + /** + * See <a href="/pubsub/docs/labels"> Creating and managing + * labels</a>. + */ + labels?: any; + /** + * The name of the snapshot. + */ + name?: string; + /** + * The name of the topic from which this snapshot is retaining messages. + */ + topic?: string; + } + /** + * A subscription resource. + */ + interface Schema$Subscription { + /** + * This value is the maximum time after a subscriber receives a message + * before the subscriber should acknowledge the message. After message + * delivery but before the ack deadline expires and before the message is + * acknowledged, it is an outstanding message and will not be delivered + * again during that time (on a best-effort basis). For pull subscriptions, + * this value is used as the initial value for the ack deadline. To override + * this value for a given message, call `ModifyAckDeadline` with the + * corresponding `ack_id` if using non-streaming pull or send the `ack_id` + * in a `StreamingModifyAckDeadlineRequest` if using streaming pull. The + * minimum custom deadline you can specify is 10 seconds. The maximum custom + * deadline you can specify is 600 seconds (10 minutes). If this parameter + * is 0, a default value of 10 seconds is used. For push delivery, this + * value is also used to set the request timeout for the call to the push + * endpoint. If the subscriber never acknowledges the message, the Pub/Sub + * system will eventually redeliver the message. + */ + ackDeadlineSeconds?: number; + /** + * See <a href="/pubsub/docs/labels"> Creating and managing + * labels</a>. + */ + labels?: any; + /** + * How long to retain unacknowledged messages in the subscription's + * backlog, from the moment a message is published. If + * `retain_acked_messages` is true, then this also configures the retention + * of acknowledged messages, and thus configures how far back in time a + * `Seek` can be done. Defaults to 7 days. Cannot be more than 7 days or + * less than 10 minutes.<br><br> <b>BETA:</b> This + * feature is part of a beta release. This API might be changed in + * backward-incompatible ways and is not recommended for production use. It + * is not subject to any SLA or deprecation policy. + */ + messageRetentionDuration?: string; + /** + * The name of the subscription. It must have the format + * `"projects/{project}/subscriptions/{subscription}"`. + * `{subscription}` must start with a letter, and contain only letters + * (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods + * (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be + * between 3 and 255 characters in length, and it must not start with + * `"goog"`. + */ + name?: string; + /** + * If push delivery is used with this subscription, this field is used to + * configure it. An empty `pushConfig` signifies that the subscriber will + * pull and ack messages using API methods. + */ + pushConfig?: Schema$PushConfig; + /** + * Indicates whether to retain acknowledged messages. If true, then messages + * are not expunged from the subscription's backlog, even if they are + * acknowledged, until they fall out of the `message_retention_duration` + * window. This must be true if you would like to <a + * href="/pubsub/docs/replay-overview#seek_to_a_time">Seek to a + * timestamp</a>. <br><br> <b>BETA:</b> This + * feature is part of a beta release. This API might be changed in + * backward-incompatible ways and is not recommended for production use. It + * is not subject to any SLA or deprecation policy. + */ + retainAckedMessages?: boolean; + /** + * The name of the topic from which this subscription is receiving messages. + * Format is `projects/{project}/topics/{topic}`. The value of this field + * will be `_deleted-topic_` if the topic has been deleted. + */ + topic?: string; + } + /** + * Request message for `TestIamPermissions` method. + */ + interface Schema$TestIamPermissionsRequest { + /** + * The set of permissions to check for the `resource`. Permissions with + * wildcards (such as '*' or 'storage.*') are not allowed. + * For more information see [IAM + * Overview](https://cloud.google.com/iam/docs/overview#permissions). + */ + permissions?: string[]; + } + /** + * Response message for `TestIamPermissions` method. + */ + interface Schema$TestIamPermissionsResponse { + /** + * A subset of `TestPermissionsRequest.permissions` that the caller is + * allowed. + */ + permissions?: string[]; + } + /** + * A topic resource. + */ + interface Schema$Topic { + /** + * See <a href="/pubsub/docs/labels"> Creating and managing + * labels</a>. + */ + labels?: any; + /** + * The name of the topic. It must have the format + * `"projects/{project}/topics/{topic}"`. `{topic}` must start + * with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), + * dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) + * or percent signs (`%`). It must be between 3 and 255 characters in + * length, and it must not start with `"goog"`. + */ + name?: string; + } + /** + * Request for the UpdateSnapshot method.<br><br> + * <b>BETA:</b> This feature is part of a beta release. This API + * might be changed in backward-incompatible ways and is not recommended for + * production use. It is not subject to any SLA or deprecation policy. + */ + interface Schema$UpdateSnapshotRequest { + /** + * The updated snapshot object. + */ + snapshot?: Schema$Snapshot; + /** + * Indicates which fields in the provided snapshot to update. Must be + * specified and non-empty. + */ + updateMask?: string; + } + /** + * Request for the UpdateSubscription method. + */ + interface Schema$UpdateSubscriptionRequest { + /** + * The updated subscription object. + */ + subscription?: Schema$Subscription; + /** + * Indicates which fields in the provided subscription to update. Must be + * specified and non-empty. + */ + updateMask?: string; + } + /** + * Request for the UpdateTopic method. + */ + interface Schema$UpdateTopicRequest { + /** + * The updated topic object. + */ + topic?: Schema$Topic; + /** + * Indicates which fields in the provided topic to update. Must be specified + * and non-empty. Note that if `update_mask` contains + * "message_storage_policy" then the new value will be determined + * based on the policy configured at the project or organization level. The + * `message_storage_policy` must not be set in the `topic` provided above. + */ + updateMask?: string; + } + class Resource$Projects { + root: Pubsub; + snapshots: Resource$Projects$Snapshots; + subscriptions: Resource$Projects$Subscriptions; + topics: Resource$Projects$Topics; + constructor(root: Pubsub); + getRoot(): Pubsub; + } + class Resource$Projects$Snapshots { + root: Pubsub; + constructor(root: Pubsub); + getRoot(): Pubsub; + /** + * pubsub.projects.snapshots.create + * @desc Creates a snapshot from the requested subscription. Snapshots are + * used in Seek operations, which + * allow you to manage message acknowledgments in bulk. That is, you can set + * the acknowledgment state of messages in an existing subscription to the + * state captured by a snapshot.

BETA: This feature is part + * of a beta release. This API might be changed in backward-incompatible + * ways and is not recommended for production use. It is not subject to any + * SLA or deprecation policy.

If the snapshot already exists, + * returns `ALREADY_EXISTS`. If the requested subscription doesn't exist, + * returns `NOT_FOUND`. If the backlog in the subscription is too old -- and + * the resulting snapshot would expire in less than 1 hour -- then + * `FAILED_PRECONDITION` is returned. See also the `Snapshot.expire_time` + * field. If the name is not provided in the request, the server will assign + * a random name for this snapshot on the same project as the subscription, + * conforming to the [resource name + * format](https://cloud.google.com/pubsub/docs/overview#names). The + * generated name is populated in the returned Snapshot object. Note that + * for REST API requests, you must specify a name in the request. + * @alias pubsub.projects.snapshots.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Optional user-provided name for this snapshot. If the name is not provided in the request, the server will assign a random name for this snapshot on the same project as the subscription. Note that for REST API requests, you must specify a name. See the resource name rules. Format is `projects/{project}/snapshots/{snap}`. + * @param {().CreateSnapshotRequest} 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 + */ + create(params?: Params$Resource$Projects$Snapshots$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Snapshots$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Snapshots$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * pubsub.projects.snapshots.delete + * @desc Removes an existing snapshot. Snapshots are used in Seek operations, which allow you + * to manage message acknowledgments in bulk. That is, you can set the + * acknowledgment state of messages in an existing subscription to the state + * captured by a snapshot.

BETA: This feature is part of a + * beta release. This API might be changed in backward-incompatible ways and + * is not recommended for production use. It is not subject to any SLA or + * deprecation policy. When the snapshot is deleted, all messages retained + * in the snapshot are immediately dropped. After a snapshot is deleted, a + * new one may be created with the same name, but the new one has no + * association with the old snapshot or its subscription, unless the same + * subscription is specified. + * @alias pubsub.projects.snapshots.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.snapshot The name of the snapshot to delete. Format is `projects/{project}/snapshots/{snap}`. + * @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?: Params$Resource$Projects$Snapshots$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Snapshots$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Snapshots$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * pubsub.projects.snapshots.get + * @desc Gets the configuration details of a snapshot. Snapshots are used in + * Seek operations, which allow + * you to manage message acknowledgments in bulk. That is, you can set the + * acknowledgment state of messages in an existing subscription to the state + * captured by a snapshot.

BETA: This feature is part of a + * beta release. This API might be changed in backward-incompatible ways and + * is not recommended for production use. It is not subject to any SLA or + * deprecation policy. + * @alias pubsub.projects.snapshots.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.snapshot The name of the snapshot to get. Format is `projects/{project}/snapshots/{snap}`. + * @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?: Params$Resource$Projects$Snapshots$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Snapshots$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Snapshots$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * pubsub.projects.snapshots.getIamPolicy + * @desc Gets the access control policy for a resource. Returns an empty + * policy if the resource exists and does not have a policy set. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Pub/Sub API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/pubsub + * // 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 pubsub = google.pubsub('v1'); + * + * authorize(function(authClient) { + * var request = { + * // REQUIRED: The resource for which the policy is being requested. + * // See the operation documentation for the appropriate value for this + * field. resource_: 'projects/my-project/snapshots/my-snapshot', // TODO: + * Update placeholder value. + * + * auth: authClient, + * }; + * + * pubsub.projects.snapshots.getIamPolicy(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 pubsub.projects.snapshots.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. + * @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 + */ + getIamPolicy(params?: Params$Resource$Projects$Snapshots$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Projects$Snapshots$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Projects$Snapshots$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * pubsub.projects.snapshots.list + * @desc Lists the existing snapshots. Snapshots are used in Seek operations, which allow you + * to manage message acknowledgments in bulk. That is, you can set the + * acknowledgment state of messages in an existing subscription to the state + * captured by a snapshot.

BETA: This feature is part of a + * beta release. This API might be changed in backward-incompatible ways and + * is not recommended for production use. It is not subject to any SLA or + * deprecation policy. + * @alias pubsub.projects.snapshots.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Maximum number of snapshots to return. + * @param {string=} params.pageToken The value returned by the last `ListSnapshotsResponse`; indicates that this is a continuation of a prior `ListSnapshots` call, and that the system should return the next page of data. + * @param {string} params.project The name of the project in which to list snapshots. Format is `projects/{project-id}`. + * @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?: Params$Resource$Projects$Snapshots$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Snapshots$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Snapshots$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * pubsub.projects.snapshots.patch + * @desc Updates an existing snapshot. Snapshots are used in Seek operations, which allow you + * to manage message acknowledgments in bulk. That is, you can set the + * acknowledgment state of messages in an existing subscription to the state + * captured by a snapshot.

BETA: This feature is part of a + * beta release. This API might be changed in backward-incompatible ways and + * is not recommended for production use. It is not subject to any SLA or + * deprecation policy. Note that certain properties of a snapshot are not + * modifiable. + * @alias pubsub.projects.snapshots.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the snapshot. + * @param {().UpdateSnapshotRequest} 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 + */ + patch(params?: Params$Resource$Projects$Snapshots$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Snapshots$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Snapshots$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * pubsub.projects.snapshots.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Pub/Sub API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/pubsub + * // 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 pubsub = google.pubsub('v1'); + * + * authorize(function(authClient) { + * var request = { + * // REQUIRED: The resource for which the policy is being specified. + * // See the operation documentation for the appropriate value for this + * field. resource_: 'projects/my-project/snapshots/my-snapshot', // TODO: + * Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * pubsub.projects.snapshots.setIamPolicy(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 pubsub.projects.snapshots.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. + * @param {().SetIamPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Projects$Snapshots$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Projects$Snapshots$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Projects$Snapshots$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * pubsub.projects.snapshots.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. If + * the resource does not exist, this will return an empty set of + * permissions, not a NOT_FOUND error. Note: This operation is designed to + * be used for building permission-aware UIs and command-line tools, not for + * authorization checking. This operation may "fail open" without warning. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Pub/Sub API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/pubsub + * // 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 pubsub = google.pubsub('v1'); + * + * authorize(function(authClient) { + * var request = { + * // REQUIRED: The resource for which the policy detail is being + * requested. + * // See the operation documentation for the appropriate value for this + * field. resource_: 'projects/my-project/snapshots/my-snapshot', // TODO: + * Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * pubsub.projects.snapshots.testIamPermissions(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 pubsub.projects.snapshots.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. + * @param {().TestIamPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Projects$Snapshots$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Projects$Snapshots$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Projects$Snapshots$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Snapshots$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional user-provided name for this snapshot. If the name is not + * provided in the request, the server will assign a random name for this + * snapshot on the same project as the subscription. Note that for REST API + * requests, you must specify a name. See the resource name rules. Format + * is `projects/{project}/snapshots/{snap}`. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreateSnapshotRequest; + } + interface Params$Resource$Projects$Snapshots$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the snapshot to delete. Format is + * `projects/{project}/snapshots/{snap}`. + */ + snapshot?: string; + } + interface Params$Resource$Projects$Snapshots$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the snapshot to get. Format is + * `projects/{project}/snapshots/{snap}`. + */ + snapshot?: string; + } + interface Params$Resource$Projects$Snapshots$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being requested. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + } + interface Params$Resource$Projects$Snapshots$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Maximum number of snapshots to return. + */ + pageSize?: number; + /** + * The value returned by the last `ListSnapshotsResponse`; indicates that + * this is a continuation of a prior `ListSnapshots` call, and that the + * system should return the next page of data. + */ + pageToken?: string; + /** + * The name of the project in which to list snapshots. Format is + * `projects/{project-id}`. + */ + project?: string; + } + interface Params$Resource$Projects$Snapshots$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the snapshot. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UpdateSnapshotRequest; + } + interface Params$Resource$Projects$Snapshots$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being specified. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetIamPolicyRequest; + } + interface Params$Resource$Projects$Snapshots$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestIamPermissionsRequest; + } + class Resource$Projects$Subscriptions { + root: Pubsub; + constructor(root: Pubsub); + getRoot(): Pubsub; + /** + * pubsub.projects.subscriptions.acknowledge + * @desc Acknowledges the messages associated with the `ack_ids` in the + * `AcknowledgeRequest`. The Pub/Sub system can remove the relevant messages + * from the subscription. Acknowledging a message whose ack deadline has + * expired may succeed, but such a message may be redelivered later. + * Acknowledging a message more than once will not result in an error. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Pub/Sub API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/pubsub + * // 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 pubsub = google.pubsub('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The subscription whose message is being acknowledged. + * // Format is `projects/{project}/subscriptions/{sub}`. + * subscription: 'projects/my-project/subscriptions/my-subscription', // + * TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * pubsub.projects.subscriptions.acknowledge(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 pubsub.projects.subscriptions.acknowledge + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.subscription The subscription whose message is being acknowledged. Format is `projects/{project}/subscriptions/{sub}`. + * @param {().AcknowledgeRequest} 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 + */ + acknowledge(params?: Params$Resource$Projects$Subscriptions$Acknowledge, options?: MethodOptions): AxiosPromise; + acknowledge(params: Params$Resource$Projects$Subscriptions$Acknowledge, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + acknowledge(params: Params$Resource$Projects$Subscriptions$Acknowledge, callback: BodyResponseCallback): void; + acknowledge(callback: BodyResponseCallback): void; + /** + * pubsub.projects.subscriptions.create + * @desc Creates a subscription to a given topic. See the resource name rules. If the + * subscription already exists, returns `ALREADY_EXISTS`. If the + * corresponding topic doesn't exist, returns `NOT_FOUND`. If the name is + * not provided in the request, the server will assign a random name for + * this subscription on the same project as the topic, conforming to the + * [resource name + * format](https://cloud.google.com/pubsub/docs/overview#names). The + * generated name is populated in the returned Subscription object. Note + * that for REST API requests, you must specify a name in the request. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Pub/Sub API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/pubsub + * // 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 pubsub = google.pubsub('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The name of the subscription. It must have the format + * // `"projects/{project}/subscriptions/{subscription}"`. + * `{subscription}` must + * // start with a letter, and contain only letters (`[A-Za-z]`), + * numbers + * // (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes + * (`~`), + * // plus (`+`) or percent signs (`%`). It must be between 3 and 255 + * characters + * // in length, and it must not start with `"goog"`. + * name: 'projects/my-project/subscriptions/my-subscription', // TODO: + * Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * pubsub.projects.subscriptions.create(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 pubsub.projects.subscriptions.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the subscription. It must have the format `"projects/{project}/subscriptions/{subscription}"`. `{subscription}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `"goog"`. + * @param {().Subscription} 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 + */ + create(params?: Params$Resource$Projects$Subscriptions$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Subscriptions$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Subscriptions$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * pubsub.projects.subscriptions.delete + * @desc Deletes an existing subscription. All messages retained in the + * subscription are immediately dropped. Calls to `Pull` after deletion will + * return `NOT_FOUND`. After a subscription is deleted, a new one may be + * created with the same name, but the new one has no association with the + * old subscription or its topic unless the same topic is specified. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Pub/Sub API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/pubsub + * // 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 pubsub = google.pubsub('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The subscription to delete. + * // Format is `projects/{project}/subscriptions/{sub}`. + * subscription: 'projects/my-project/subscriptions/my-subscription', // + * TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * pubsub.projects.subscriptions.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 pubsub.projects.subscriptions.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.subscription The subscription to delete. Format is `projects/{project}/subscriptions/{sub}`. + * @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?: Params$Resource$Projects$Subscriptions$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Subscriptions$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Subscriptions$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * pubsub.projects.subscriptions.get + * @desc Gets the configuration details of a subscription. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Pub/Sub API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/pubsub + * // 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 pubsub = google.pubsub('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The name of the subscription to get. + * // Format is `projects/{project}/subscriptions/{sub}`. + * subscription: 'projects/my-project/subscriptions/my-subscription', // + * TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * pubsub.projects.subscriptions.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 pubsub.projects.subscriptions.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.subscription The name of the subscription to get. Format is `projects/{project}/subscriptions/{sub}`. + * @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?: Params$Resource$Projects$Subscriptions$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Subscriptions$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Subscriptions$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * pubsub.projects.subscriptions.getIamPolicy + * @desc Gets the access control policy for a resource. Returns an empty + * policy if the resource exists and does not have a policy set. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Pub/Sub API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/pubsub + * // 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 pubsub = google.pubsub('v1'); + * + * authorize(function(authClient) { + * var request = { + * // REQUIRED: The resource for which the policy is being requested. + * // See the operation documentation for the appropriate value for this + * field. resource_: 'projects/my-project/subscriptions/my-subscription', // + * TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * pubsub.projects.subscriptions.getIamPolicy(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 pubsub.projects.subscriptions.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. + * @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 + */ + getIamPolicy(params?: Params$Resource$Projects$Subscriptions$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Projects$Subscriptions$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Projects$Subscriptions$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * pubsub.projects.subscriptions.list + * @desc Lists matching subscriptions. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Pub/Sub API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/pubsub + * // 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 pubsub = google.pubsub('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The name of the cloud project that subscriptions belong to. + * // Format is `projects/{project}`. + * project: 'projects/my-project', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var subscriptionsPage = response['subscriptions']; + * if (!subscriptionsPage) { + * return; + * } + * for (var i = 0; i < subscriptionsPage.length; i++) { + * // TODO: Change code below to process each resource in + * `subscriptionsPage`: console.log(JSON.stringify(subscriptionsPage[i], + * null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * pubsub.projects.subscriptions.list(request, handlePage); + * } + * }; + * + * pubsub.projects.subscriptions.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 pubsub.projects.subscriptions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Maximum number of subscriptions to return. + * @param {string=} params.pageToken The value returned by the last `ListSubscriptionsResponse`; indicates that this is a continuation of a prior `ListSubscriptions` call, and that the system should return the next page of data. + * @param {string} params.project The name of the project in which to list subscriptions. Format is `projects/{project-id}`. + * @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?: Params$Resource$Projects$Subscriptions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Subscriptions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Subscriptions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * pubsub.projects.subscriptions.modifyAckDeadline + * @desc Modifies the ack deadline for a specific message. This method is + * useful to indicate that more time is needed to process a message by the + * subscriber, or to make the message available for redelivery if the + * processing was interrupted. Note that this does not modify the + * subscription-level `ackDeadlineSeconds` used for subsequent messages. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Pub/Sub API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/pubsub + * // 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 pubsub = google.pubsub('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The name of the subscription. + * // Format is `projects/{project}/subscriptions/{sub}`. + * subscription: 'projects/my-project/subscriptions/my-subscription', // + * TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * pubsub.projects.subscriptions.modifyAckDeadline(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 pubsub.projects.subscriptions.modifyAckDeadline + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.subscription The name of the subscription. Format is `projects/{project}/subscriptions/{sub}`. + * @param {().ModifyAckDeadlineRequest} 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 + */ + modifyAckDeadline(params?: Params$Resource$Projects$Subscriptions$Modifyackdeadline, options?: MethodOptions): AxiosPromise; + modifyAckDeadline(params: Params$Resource$Projects$Subscriptions$Modifyackdeadline, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + modifyAckDeadline(params: Params$Resource$Projects$Subscriptions$Modifyackdeadline, callback: BodyResponseCallback): void; + modifyAckDeadline(callback: BodyResponseCallback): void; + /** + * pubsub.projects.subscriptions.modifyPushConfig + * @desc Modifies the `PushConfig` for a specified subscription. This may + * be used to change a push subscription to a pull one (signified by an + * empty `PushConfig`) or vice versa, or change the endpoint URL and other + * attributes of a push subscription. Messages will accumulate for delivery + * continuously through the call regardless of changes to the `PushConfig`. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Pub/Sub API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/pubsub + * // 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 pubsub = google.pubsub('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The name of the subscription. + * // Format is `projects/{project}/subscriptions/{sub}`. + * subscription: 'projects/my-project/subscriptions/my-subscription', // + * TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * pubsub.projects.subscriptions.modifyPushConfig(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 pubsub.projects.subscriptions.modifyPushConfig + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.subscription The name of the subscription. Format is `projects/{project}/subscriptions/{sub}`. + * @param {().ModifyPushConfigRequest} 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 + */ + modifyPushConfig(params?: Params$Resource$Projects$Subscriptions$Modifypushconfig, options?: MethodOptions): AxiosPromise; + modifyPushConfig(params: Params$Resource$Projects$Subscriptions$Modifypushconfig, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + modifyPushConfig(params: Params$Resource$Projects$Subscriptions$Modifypushconfig, callback: BodyResponseCallback): void; + modifyPushConfig(callback: BodyResponseCallback): void; + /** + * pubsub.projects.subscriptions.patch + * @desc Updates an existing subscription. Note that certain properties of a + * subscription, such as its topic, are not modifiable. + * @alias pubsub.projects.subscriptions.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the subscription. It must have the format `"projects/{project}/subscriptions/{subscription}"`. `{subscription}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `"goog"`. + * @param {().UpdateSubscriptionRequest} 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 + */ + patch(params?: Params$Resource$Projects$Subscriptions$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Subscriptions$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Subscriptions$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * pubsub.projects.subscriptions.pull + * @desc Pulls messages from the server. The server may return `UNAVAILABLE` + * if there are too many concurrent pull requests pending for the given + * subscription. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Pub/Sub API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/pubsub + * // 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 pubsub = google.pubsub('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The subscription from which messages should be pulled. + * // Format is `projects/{project}/subscriptions/{sub}`. + * subscription: 'projects/my-project/subscriptions/my-subscription', // + * TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * pubsub.projects.subscriptions.pull(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 pubsub.projects.subscriptions.pull + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.subscription The subscription from which messages should be pulled. Format is `projects/{project}/subscriptions/{sub}`. + * @param {().PullRequest} 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 + */ + pull(params?: Params$Resource$Projects$Subscriptions$Pull, options?: MethodOptions): AxiosPromise; + pull(params: Params$Resource$Projects$Subscriptions$Pull, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + pull(params: Params$Resource$Projects$Subscriptions$Pull, callback: BodyResponseCallback): void; + pull(callback: BodyResponseCallback): void; + /** + * pubsub.projects.subscriptions.seek + * @desc Seeks an existing subscription to a point in time or to a given + * snapshot, whichever is provided in the request. Snapshots are used in Seek operations, which allow you + * to manage message acknowledgments in bulk. That is, you can set the + * acknowledgment state of messages in an existing subscription to the state + * captured by a snapshot. Note that both the subscription and the snapshot + * must be on the same topic.

BETA: This feature is part of a + * beta release. This API might be changed in backward-incompatible ways and + * is not recommended for production use. It is not subject to any SLA or + * deprecation policy. + * @alias pubsub.projects.subscriptions.seek + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.subscription The subscription to affect. + * @param {().SeekRequest} 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 + */ + seek(params?: Params$Resource$Projects$Subscriptions$Seek, options?: MethodOptions): AxiosPromise; + seek(params: Params$Resource$Projects$Subscriptions$Seek, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + seek(params: Params$Resource$Projects$Subscriptions$Seek, callback: BodyResponseCallback): void; + seek(callback: BodyResponseCallback): void; + /** + * pubsub.projects.subscriptions.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Pub/Sub API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/pubsub + * // 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 pubsub = google.pubsub('v1'); + * + * authorize(function(authClient) { + * var request = { + * // REQUIRED: The resource for which the policy is being specified. + * // See the operation documentation for the appropriate value for this + * field. resource_: 'projects/my-project/subscriptions/my-subscription', // + * TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * pubsub.projects.subscriptions.setIamPolicy(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 pubsub.projects.subscriptions.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. + * @param {().SetIamPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Projects$Subscriptions$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Projects$Subscriptions$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Projects$Subscriptions$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * pubsub.projects.subscriptions.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. If + * the resource does not exist, this will return an empty set of + * permissions, not a NOT_FOUND error. Note: This operation is designed to + * be used for building permission-aware UIs and command-line tools, not for + * authorization checking. This operation may "fail open" without warning. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Pub/Sub API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/pubsub + * // 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 pubsub = google.pubsub('v1'); + * + * authorize(function(authClient) { + * var request = { + * // REQUIRED: The resource for which the policy detail is being + * requested. + * // See the operation documentation for the appropriate value for this + * field. resource_: 'projects/my-project/subscriptions/my-subscription', // + * TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * pubsub.projects.subscriptions.testIamPermissions(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 pubsub.projects.subscriptions.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. + * @param {().TestIamPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Projects$Subscriptions$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Projects$Subscriptions$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Projects$Subscriptions$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Subscriptions$Acknowledge { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The subscription whose message is being acknowledged. Format is + * `projects/{project}/subscriptions/{sub}`. + */ + subscription?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AcknowledgeRequest; + } + interface Params$Resource$Projects$Subscriptions$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the subscription. It must have the format + * `"projects/{project}/subscriptions/{subscription}"`. `{subscription}` + * must start with a letter, and contain only letters (`[A-Za-z]`), numbers + * (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), + * plus (`+`) or percent signs (`%`). It must be between 3 and 255 + * characters in length, and it must not start with `"goog"`. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Subscription; + } + interface Params$Resource$Projects$Subscriptions$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The subscription to delete. Format is + * `projects/{project}/subscriptions/{sub}`. + */ + subscription?: string; + } + interface Params$Resource$Projects$Subscriptions$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the subscription to get. Format is + * `projects/{project}/subscriptions/{sub}`. + */ + subscription?: string; + } + interface Params$Resource$Projects$Subscriptions$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being requested. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + } + interface Params$Resource$Projects$Subscriptions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Maximum number of subscriptions to return. + */ + pageSize?: number; + /** + * The value returned by the last `ListSubscriptionsResponse`; indicates + * that this is a continuation of a prior `ListSubscriptions` call, and that + * the system should return the next page of data. + */ + pageToken?: string; + /** + * The name of the project in which to list subscriptions. Format is + * `projects/{project-id}`. + */ + project?: string; + } + interface Params$Resource$Projects$Subscriptions$Modifyackdeadline { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the subscription. Format is + * `projects/{project}/subscriptions/{sub}`. + */ + subscription?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ModifyAckDeadlineRequest; + } + interface Params$Resource$Projects$Subscriptions$Modifypushconfig { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the subscription. Format is + * `projects/{project}/subscriptions/{sub}`. + */ + subscription?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ModifyPushConfigRequest; + } + interface Params$Resource$Projects$Subscriptions$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the subscription. It must have the format + * `"projects/{project}/subscriptions/{subscription}"`. `{subscription}` + * must start with a letter, and contain only letters (`[A-Za-z]`), numbers + * (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), + * plus (`+`) or percent signs (`%`). It must be between 3 and 255 + * characters in length, and it must not start with `"goog"`. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UpdateSubscriptionRequest; + } + interface Params$Resource$Projects$Subscriptions$Pull { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The subscription from which messages should be pulled. Format is + * `projects/{project}/subscriptions/{sub}`. + */ + subscription?: string; + /** + * Request body metadata + */ + requestBody?: Schema$PullRequest; + } + interface Params$Resource$Projects$Subscriptions$Seek { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The subscription to affect. + */ + subscription?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SeekRequest; + } + interface Params$Resource$Projects$Subscriptions$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being specified. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetIamPolicyRequest; + } + interface Params$Resource$Projects$Subscriptions$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestIamPermissionsRequest; + } + class Resource$Projects$Topics { + root: Pubsub; + snapshots: Resource$Projects$Topics$Snapshots; + subscriptions: Resource$Projects$Topics$Subscriptions; + constructor(root: Pubsub); + getRoot(): Pubsub; + /** + * pubsub.projects.topics.create + * @desc Creates the given topic with the given name. See the resource name rules. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Pub/Sub API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/pubsub + * // 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 pubsub = google.pubsub('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The name of the topic. It must have the format + * // `"projects/{project}/topics/{topic}"`. `{topic}` must start with a + * letter, + * // and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes + * (`-`), + * // underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or + * percent + * // signs (`%`). It must be between 3 and 255 characters in length, + * and it + * // must not start with `"goog"`. + * name: 'projects/my-project/topics/my-topic', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * pubsub.projects.topics.create(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 pubsub.projects.topics.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the topic. It must have the format `"projects/{project}/topics/{topic}"`. `{topic}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `"goog"`. + * @param {().Topic} 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 + */ + create(params?: Params$Resource$Projects$Topics$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Topics$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Topics$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * pubsub.projects.topics.delete + * @desc Deletes the topic with the given name. Returns `NOT_FOUND` if the + * topic does not exist. After a topic is deleted, a new topic may be + * created with the same name; this is an entirely new topic with none of + * the old configuration or subscriptions. Existing subscriptions to this + * topic are not deleted, but their `topic` field is set to + * `_deleted-topic_`. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Pub/Sub API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/pubsub + * // 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 pubsub = google.pubsub('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Name of the topic to delete. + * // Format is `projects/{project}/topics/{topic}`. + * topic: 'projects/my-project/topics/my-topic', // TODO: Update + * placeholder value. + * + * auth: authClient, + * }; + * + * pubsub.projects.topics.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 pubsub.projects.topics.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.topic Name of the topic to delete. Format is `projects/{project}/topics/{topic}`. + * @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?: Params$Resource$Projects$Topics$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Topics$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Topics$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * pubsub.projects.topics.get + * @desc Gets the configuration of a topic. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Pub/Sub API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/pubsub + * // 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 pubsub = google.pubsub('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The name of the topic to get. + * // Format is `projects/{project}/topics/{topic}`. + * topic: 'projects/my-project/topics/my-topic', // TODO: Update + * placeholder value. + * + * auth: authClient, + * }; + * + * pubsub.projects.topics.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 pubsub.projects.topics.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.topic The name of the topic to get. Format is `projects/{project}/topics/{topic}`. + * @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?: Params$Resource$Projects$Topics$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Topics$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Topics$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * pubsub.projects.topics.getIamPolicy + * @desc Gets the access control policy for a resource. Returns an empty + * policy if the resource exists and does not have a policy set. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Pub/Sub API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/pubsub + * // 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 pubsub = google.pubsub('v1'); + * + * authorize(function(authClient) { + * var request = { + * // REQUIRED: The resource for which the policy is being requested. + * // See the operation documentation for the appropriate value for this + * field. resource_: 'projects/my-project/topics/my-topic', // TODO: Update + * placeholder value. + * + * auth: authClient, + * }; + * + * pubsub.projects.topics.getIamPolicy(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 pubsub.projects.topics.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. + * @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 + */ + getIamPolicy(params?: Params$Resource$Projects$Topics$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Projects$Topics$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Projects$Topics$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * pubsub.projects.topics.list + * @desc Lists matching topics. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Pub/Sub API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/pubsub + * // 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 pubsub = google.pubsub('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The name of the cloud project that topics belong to. + * // Format is `projects/{project}`. + * project: 'projects/my-project', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var topicsPage = response['topics']; + * if (!topicsPage) { + * return; + * } + * for (var i = 0; i < topicsPage.length; i++) { + * // TODO: Change code below to process each resource in + * `topicsPage`: console.log(JSON.stringify(topicsPage[i], null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * pubsub.projects.topics.list(request, handlePage); + * } + * }; + * + * pubsub.projects.topics.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 pubsub.projects.topics.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Maximum number of topics to return. + * @param {string=} params.pageToken The value returned by the last `ListTopicsResponse`; indicates that this is a continuation of a prior `ListTopics` call, and that the system should return the next page of data. + * @param {string} params.project The name of the project in which to list topics. Format is `projects/{project-id}`. + * @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?: Params$Resource$Projects$Topics$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Topics$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Topics$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * pubsub.projects.topics.patch + * @desc Updates an existing topic. Note that certain properties of a topic + * are not modifiable. + * @alias pubsub.projects.topics.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the topic. It must have the format `"projects/{project}/topics/{topic}"`. `{topic}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `"goog"`. + * @param {().UpdateTopicRequest} 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 + */ + patch(params?: Params$Resource$Projects$Topics$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Topics$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Topics$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * pubsub.projects.topics.publish + * @desc Adds one or more messages to the topic. Returns `NOT_FOUND` if the + * topic does not exist. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Pub/Sub API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/pubsub + * // 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 pubsub = google.pubsub('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The messages in the request will be published on this topic. + * // Format is `projects/{project}/topics/{topic}`. + * topic: 'projects/my-project/topics/my-topic', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * pubsub.projects.topics.publish(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 pubsub.projects.topics.publish + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.topic The messages in the request will be published on this topic. Format is `projects/{project}/topics/{topic}`. + * @param {().PublishRequest} 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 + */ + publish(params?: Params$Resource$Projects$Topics$Publish, options?: MethodOptions): AxiosPromise; + publish(params: Params$Resource$Projects$Topics$Publish, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + publish(params: Params$Resource$Projects$Topics$Publish, callback: BodyResponseCallback): void; + publish(callback: BodyResponseCallback): void; + /** + * pubsub.projects.topics.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Pub/Sub API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/pubsub + * // 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 pubsub = google.pubsub('v1'); + * + * authorize(function(authClient) { + * var request = { + * // REQUIRED: The resource for which the policy is being specified. + * // See the operation documentation for the appropriate value for this + * field. resource_: 'projects/my-project/topics/my-topic', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * pubsub.projects.topics.setIamPolicy(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 pubsub.projects.topics.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. + * @param {().SetIamPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Projects$Topics$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Projects$Topics$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Projects$Topics$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * pubsub.projects.topics.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. If + * the resource does not exist, this will return an empty set of + * permissions, not a NOT_FOUND error. Note: This operation is designed to + * be used for building permission-aware UIs and command-line tools, not for + * authorization checking. This operation may "fail open" without warning. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Pub/Sub API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/pubsub + * // 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 pubsub = google.pubsub('v1'); + * + * authorize(function(authClient) { + * var request = { + * // REQUIRED: The resource for which the policy detail is being + * requested. + * // See the operation documentation for the appropriate value for this + * field. resource_: 'projects/my-project/topics/my-topic', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * pubsub.projects.topics.testIamPermissions(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 pubsub.projects.topics.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. + * @param {().TestIamPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Projects$Topics$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Projects$Topics$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Projects$Topics$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Topics$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the topic. It must have the format + * `"projects/{project}/topics/{topic}"`. `{topic}` must start with a + * letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes + * (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or + * percent signs (`%`). It must be between 3 and 255 characters in length, + * and it must not start with `"goog"`. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Topic; + } + interface Params$Resource$Projects$Topics$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the topic to delete. Format is + * `projects/{project}/topics/{topic}`. + */ + topic?: string; + } + interface Params$Resource$Projects$Topics$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the topic to get. Format is + * `projects/{project}/topics/{topic}`. + */ + topic?: string; + } + interface Params$Resource$Projects$Topics$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being requested. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + } + interface Params$Resource$Projects$Topics$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Maximum number of topics to return. + */ + pageSize?: number; + /** + * The value returned by the last `ListTopicsResponse`; indicates that this + * is a continuation of a prior `ListTopics` call, and that the system + * should return the next page of data. + */ + pageToken?: string; + /** + * The name of the project in which to list topics. Format is + * `projects/{project-id}`. + */ + project?: string; + } + interface Params$Resource$Projects$Topics$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the topic. It must have the format + * `"projects/{project}/topics/{topic}"`. `{topic}` must start with a + * letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes + * (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or + * percent signs (`%`). It must be between 3 and 255 characters in length, + * and it must not start with `"goog"`. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UpdateTopicRequest; + } + interface Params$Resource$Projects$Topics$Publish { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The messages in the request will be published on this topic. Format is + * `projects/{project}/topics/{topic}`. + */ + topic?: string; + /** + * Request body metadata + */ + requestBody?: Schema$PublishRequest; + } + interface Params$Resource$Projects$Topics$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being specified. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetIamPolicyRequest; + } + interface Params$Resource$Projects$Topics$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestIamPermissionsRequest; + } + class Resource$Projects$Topics$Snapshots { + root: Pubsub; + constructor(root: Pubsub); + getRoot(): Pubsub; + /** + * pubsub.projects.topics.snapshots.list + * @desc Lists the names of the snapshots on this topic. Snapshots are used + * in Seek operations, which + * allow you to manage message acknowledgments in bulk. That is, you can set + * the acknowledgment state of messages in an existing subscription to the + * state captured by a snapshot.

BETA: This feature is part + * of a beta release. This API might be changed in backward-incompatible + * ways and is not recommended for production use. It is not subject to any + * SLA or deprecation policy. + * @alias pubsub.projects.topics.snapshots.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Maximum number of snapshot names to return. + * @param {string=} params.pageToken The value returned by the last `ListTopicSnapshotsResponse`; indicates that this is a continuation of a prior `ListTopicSnapshots` call, and that the system should return the next page of data. + * @param {string} params.topic The name of the topic that snapshots are attached to. Format is `projects/{project}/topics/{topic}`. + * @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?: Params$Resource$Projects$Topics$Snapshots$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Topics$Snapshots$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Topics$Snapshots$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Topics$Snapshots$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Maximum number of snapshot names to return. + */ + pageSize?: number; + /** + * The value returned by the last `ListTopicSnapshotsResponse`; indicates + * that this is a continuation of a prior `ListTopicSnapshots` call, and + * that the system should return the next page of data. + */ + pageToken?: string; + /** + * The name of the topic that snapshots are attached to. Format is + * `projects/{project}/topics/{topic}`. + */ + topic?: string; + } + class Resource$Projects$Topics$Subscriptions { + root: Pubsub; + constructor(root: Pubsub); + getRoot(): Pubsub; + /** + * pubsub.projects.topics.subscriptions.list + * @desc Lists the names of the subscriptions on this topic. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Pub/Sub API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/pubsub + * // 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 pubsub = google.pubsub('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The name of the topic that subscriptions are attached to. + * // Format is `projects/{project}/topics/{topic}`. + * topic: 'projects/my-project/topics/my-topic', // TODO: Update + * placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var subscriptionsPage = response['subscriptions']; + * if (!subscriptionsPage) { + * return; + * } + * for (var i = 0; i < subscriptionsPage.length; i++) { + * // TODO: Change code below to process each resource in + * `subscriptionsPage`: console.log(JSON.stringify(subscriptionsPage[i], + * null, 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * pubsub.projects.topics.subscriptions.list(request, handlePage); + * } + * }; + * + * pubsub.projects.topics.subscriptions.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 pubsub.projects.topics.subscriptions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Maximum number of subscription names to return. + * @param {string=} params.pageToken The value returned by the last `ListTopicSubscriptionsResponse`; indicates that this is a continuation of a prior `ListTopicSubscriptions` call, and that the system should return the next page of data. + * @param {string} params.topic The name of the topic that subscriptions are attached to. Format is `projects/{project}/topics/{topic}`. + * @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?: Params$Resource$Projects$Topics$Subscriptions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Topics$Subscriptions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Topics$Subscriptions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Topics$Subscriptions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Maximum number of subscription names to return. + */ + pageSize?: number; + /** + * The value returned by the last `ListTopicSubscriptionsResponse`; + * indicates that this is a continuation of a prior `ListTopicSubscriptions` + * call, and that the system should return the next page of data. + */ + pageToken?: string; + /** + * The name of the topic that subscriptions are attached to. Format is + * `projects/{project}/topics/{topic}`. + */ + topic?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/pubsub/v1.js b/express-server/node_modules/googleapis/build/src/apis/pubsub/v1.js new file mode 100644 index 00000000..d6634d7a --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/pubsub/v1.js @@ -0,0 +1,1103 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var pubsub_v1; +(function (pubsub_v1) { + /** + * Cloud Pub/Sub API + * + * Provides reliable, many-to-many, asynchronous messaging between + * applications. + * + * @example + * const {google} = require('googleapis'); + * const pubsub = google.pubsub('v1'); + * + * @namespace pubsub + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Pubsub + */ + class Pubsub { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.projects = new Resource$Projects(this); + } + getRoot() { + return this.root; + } + } + pubsub_v1.Pubsub = Pubsub; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.snapshots = new Resource$Projects$Snapshots(root); + this.subscriptions = new Resource$Projects$Subscriptions(root); + this.topics = new Resource$Projects$Topics(root); + } + getRoot() { + return this.root; + } + } + pubsub_v1.Resource$Projects = Resource$Projects; + class Resource$Projects$Snapshots { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+snapshot}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['snapshot'], + pathParams: ['snapshot'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+snapshot}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['snapshot'], + pathParams: ['snapshot'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+project}/snapshots') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + pubsub_v1.Resource$Projects$Snapshots = Resource$Projects$Snapshots; + class Resource$Projects$Subscriptions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + acknowledge(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+subscription}:acknowledge') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['subscription'], + pathParams: ['subscription'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+subscription}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['subscription'], + pathParams: ['subscription'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+subscription}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['subscription'], + pathParams: ['subscription'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+project}/subscriptions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + modifyAckDeadline(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+subscription}:modifyAckDeadline') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['subscription'], + pathParams: ['subscription'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + modifyPushConfig(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+subscription}:modifyPushConfig') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['subscription'], + pathParams: ['subscription'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + pull(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+subscription}:pull') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['subscription'], + pathParams: ['subscription'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + seek(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+subscription}:seek') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['subscription'], + pathParams: ['subscription'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + pubsub_v1.Resource$Projects$Subscriptions = Resource$Projects$Subscriptions; + class Resource$Projects$Topics { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.snapshots = new Resource$Projects$Topics$Snapshots(root); + this.subscriptions = new Resource$Projects$Topics$Subscriptions(root); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+topic}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['topic'], + pathParams: ['topic'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+topic}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['topic'], + pathParams: ['topic'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+project}/topics') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + publish(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+topic}:publish') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['topic'], + pathParams: ['topic'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + pubsub_v1.Resource$Projects$Topics = Resource$Projects$Topics; + class Resource$Projects$Topics$Snapshots { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+topic}/snapshots') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['topic'], + pathParams: ['topic'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + pubsub_v1.Resource$Projects$Topics$Snapshots = Resource$Projects$Topics$Snapshots; + class Resource$Projects$Topics$Subscriptions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+topic}/subscriptions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['topic'], + pathParams: ['topic'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + pubsub_v1.Resource$Projects$Topics$Subscriptions = Resource$Projects$Topics$Subscriptions; +})(pubsub_v1 = exports.pubsub_v1 || (exports.pubsub_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/pubsub/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/pubsub/v1.js.map new file mode 100644 index 00000000..ba4f6d49 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/pubsub/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/pubsub/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/pubsub/v1beta1a.d.ts b/express-server/node_modules/googleapis/build/src/apis/pubsub/v1beta1a.d.ts new file mode 100644 index 00000000..5864859e --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/pubsub/v1beta1a.d.ts @@ -0,0 +1,833 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace pubsub_v1beta1a { + interface Options extends GlobalOptions { + version: 'v1beta1a'; + } + /** + * Cloud Pub/Sub API + * + * Provides reliable, many-to-many, asynchronous messaging between + * applications. + * + * @example + * const {google} = require('googleapis'); + * const pubsub = google.pubsub('v1beta1a'); + * + * @namespace pubsub + * @type {Function} + * @version v1beta1a + * @variation v1beta1a + * @param {object=} options Options for Pubsub + */ + class Pubsub { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + subscriptions: Resource$Subscriptions; + topics: Resource$Topics; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Request for the Acknowledge method. + */ + interface Schema$AcknowledgeRequest { + /** + * The acknowledgment ID for the message being acknowledged. This was + * returned by the Pub/Sub system in the Pull response. + */ + ackId?: string[]; + /** + * The subscription whose message is being acknowledged. + */ + subscription?: string; + } + /** + * An empty message that you can re-use to avoid defining duplicated empty + * messages in your project. A typical example is to use it as argument or the + * return value of a service API. For instance: service Foo { rpc Bar + * (proto2.Empty) returns (proto2.Empty) { }; }; BEGIN GOOGLE-INTERNAL The + * difference between this one and net/rpc/empty-message.proto is that 1) The + * generated message here is in proto2 C++ API. 2) The proto2.Empty has + * minimum dependencies (no message_set or net/rpc dependencies) END + * GOOGLE-INTERNAL + */ + interface Schema$Empty { + } + /** + * A key-value pair applied to a given object. + */ + interface Schema$Label { + /** + * The key of a label is a syntactically valid URL (as per RFC 1738) with + * the "scheme" and initial slashes omitted and with the + * additional restrictions noted below. Each key should be globally unique. + * The "host" portion is called the "namespace" and is + * not necessarily resolvable to a network endpoint. Instead, the namespace + * indicates what system or entity defines the semantics of the label. + * Namespaces do not restrict the set of objects to which a label may be + * associated. Keys are defined by the following grammar: key = + * hostname "/" kpath kpath = ksegment *[ "/" + * ksegment ] ksegment = alphadigit | *[ alphadigit | "-" | + * "_" | "." ] where "hostname" and + * "alphadigit" are defined as in RFC 1738. Example key: + * spanner.google.com/universe + */ + key?: string; + /** + * An integer value. + */ + numValue?: string; + /** + * A string value. + */ + strValue?: string; + } + /** + * Response for the ListSubscriptions method. + */ + interface Schema$ListSubscriptionsResponse { + /** + * If not empty, indicates that there are more subscriptions that match the + * request and this value should be passed to the next + * <code>ListSubscriptionsRequest</code> to continue. + */ + nextPageToken?: string; + /** + * The subscriptions that match the request. + */ + subscription?: Schema$Subscription[]; + } + /** + * Response for the ListTopics method. + */ + interface Schema$ListTopicsResponse { + /** + * If not empty, indicates that there are more topics that match the + * request, and this value should be passed to the next + * <code>ListTopicsRequest</code> to continue. + */ + nextPageToken?: string; + /** + * The resulting topics. + */ + topic?: Schema$Topic[]; + } + /** + * Request for the ModifyAckDeadline method. + */ + interface Schema$ModifyAckDeadlineRequest { + /** + * The new ack deadline with respect to the time this request was sent to + * the Pub/Sub system. Must be >= 0. For example, if the value is 10, the + * new ack deadline will expire 10 seconds after the ModifyAckDeadline call + * was made. Specifying zero may immediately make the message available for + * another pull request. + */ + ackDeadlineSeconds?: number; + /** + * The acknowledgment ID. Either this or ack_ids must be populated, not + * both. + */ + ackId?: string; + /** + * List of acknowledgment IDs. Either this field or ack_id should be + * populated, not both. + */ + ackIds?: string[]; + /** + * Next Index: 5 The name of the subscription from which messages are being + * pulled. + */ + subscription?: string; + } + /** + * Request for the ModifyPushConfig method. + */ + interface Schema$ModifyPushConfigRequest { + /** + * An empty <code>push_config</code> indicates that the Pub/Sub + * system should pause pushing messages from the given subscription. + */ + pushConfig?: Schema$PushConfig; + /** + * The name of the subscription. + */ + subscription?: string; + } + /** + * Request for the PublishBatch method. + */ + interface Schema$PublishBatchRequest { + /** + * The messages to publish. + */ + messages?: Schema$PubsubMessage[]; + /** + * The messages in the request will be published on this topic. + */ + topic?: string; + } + /** + * Response for the PublishBatch method. + */ + interface Schema$PublishBatchResponse { + /** + * The server-assigned ID of each published message, in the same order as + * the messages in the request. IDs are guaranteed to be unique within the + * topic. + */ + messageIds?: string[]; + } + /** + * Request for the Publish method. + */ + interface Schema$PublishRequest { + /** + * The message to publish. + */ + message?: Schema$PubsubMessage; + /** + * The message in the request will be published on this topic. + */ + topic?: string; + } + /** + * An event indicating a received message or truncation event. + */ + interface Schema$PubsubEvent { + /** + * Indicates that this subscription has been deleted. (Note that pull + * subscribers will always receive NOT_FOUND in response in their pull + * request on the subscription, rather than seeing this boolean.) + */ + deleted?: boolean; + /** + * A received message. + */ + message?: Schema$PubsubMessage; + /** + * The subscription that received the event. + */ + subscription?: string; + /** + * Indicates that this subscription has been truncated. + */ + truncated?: boolean; + } + /** + * A message data and its labels. + */ + interface Schema$PubsubMessage { + /** + * The message payload. + */ + data?: string; + /** + * Optional list of labels for this message. Keys in this collection must be + * unique. + */ + label?: Schema$Label[]; + /** + * ID of this message assigned by the server at publication time. Guaranteed + * to be unique within the topic. This value may be read by a subscriber + * that receives a PubsubMessage via a Pull call or a push delivery. It must + * not be populated by a publisher in a Publish call. + */ + messageId?: string; + /** + * The time at which the message was published. The time is milliseconds + * since the UNIX epoch. + */ + publishTime?: string; + } + /** + * Request for the PullBatch method. + */ + interface Schema$PullBatchRequest { + /** + * The maximum number of PubsubEvents returned for this request. The Pub/Sub + * system may return fewer than the number of events specified. + */ + maxEvents?: number; + /** + * If this is specified as true the system will respond immediately even if + * it is not able to return a message in the Pull response. Otherwise the + * system is allowed to wait until at least one message is available rather + * than returning no messages. The client may cancel the request if it does + * not wish to wait any longer for the response. + */ + returnImmediately?: boolean; + /** + * The subscription from which messages should be pulled. + */ + subscription?: string; + } + /** + * Response for the PullBatch method. + */ + interface Schema$PullBatchResponse { + /** + * Received Pub/Sub messages or status events. The Pub/Sub system will + * return zero messages if there are no more messages available in the + * backlog. The Pub/Sub system may return fewer than the max_events + * requested even if there are more messages available in the backlog. + */ + pullResponses?: Schema$PullResponse[]; + } + /** + * Request for the Pull method. + */ + interface Schema$PullRequest { + /** + * If this is specified as true the system will respond immediately even if + * it is not able to return a message in the Pull response. Otherwise the + * system is allowed to wait until at least one message is available rather + * than returning FAILED_PRECONDITION. The client may cancel the request if + * it does not wish to wait any longer for the response. + */ + returnImmediately?: boolean; + /** + * The subscription from which a message should be pulled. + */ + subscription?: string; + } + /** + * Either a <code>PubsubMessage</code> or a truncation event. One + * of these two must be populated. + */ + interface Schema$PullResponse { + /** + * This ID must be used to acknowledge the received event or message. + */ + ackId?: string; + /** + * A pubsub message or truncation event. + */ + pubsubEvent?: Schema$PubsubEvent; + } + /** + * Configuration for a push delivery endpoint. + */ + interface Schema$PushConfig { + /** + * A URL locating the endpoint to which messages should be pushed. For + * example, a Webhook endpoint might use + * "https://example.com/push". + */ + pushEndpoint?: string; + } + /** + * A subscription resource. + */ + interface Schema$Subscription { + /** + * For either push or pull delivery, the value is the maximum time after a + * subscriber receives a message before the subscriber should acknowledge or + * Nack the message. If the Ack deadline for a message passes without an Ack + * or a Nack, the Pub/Sub system will eventually redeliver the message. If a + * subscriber acknowledges after the deadline, the Pub/Sub system may accept + * the Ack, but it is possible that the message has been already delivered + * again. Multiple Acks to the message are allowed and will succeed. For + * push delivery, this value is used to set the request timeout for the call + * to the push endpoint. For pull delivery, this value is used as the + * initial value for the Ack deadline. It may be overridden for each message + * using its corresponding ack_id with + * <code>ModifyAckDeadline</code>. While a message is + * outstanding (i.e. it has been delivered to a pull subscriber and the + * subscriber has not yet Acked or Nacked), the Pub/Sub system will not + * deliver that message to another pull subscriber (on a best-effort basis). + */ + ackDeadlineSeconds?: number; + /** + * Name of the subscription. + */ + name?: string; + /** + * If push delivery is used with this subscription, this field is used to + * configure it. + */ + pushConfig?: Schema$PushConfig; + /** + * The name of the topic from which this subscription is receiving messages. + */ + topic?: string; + } + /** + * A topic resource. + */ + interface Schema$Topic { + /** + * Name of the topic. + */ + name?: string; + } + class Resource$Subscriptions { + root: Pubsub; + constructor(root: Pubsub); + getRoot(): Pubsub; + /** + * pubsub.subscriptions.acknowledge + * @desc Acknowledges a particular received message: the Pub/Sub system can + * remove the given message from the subscription. Acknowledging a message + * whose Ack deadline has expired may succeed, but the message could have + * been already redelivered. Acknowledging a message more than once will not + * result in an error. This is only used for messages received via pull. + * @alias pubsub.subscriptions.acknowledge + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().AcknowledgeRequest} 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 + */ + acknowledge(params?: Params$Resource$Subscriptions$Acknowledge, options?: MethodOptions): AxiosPromise; + acknowledge(params: Params$Resource$Subscriptions$Acknowledge, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + acknowledge(params: Params$Resource$Subscriptions$Acknowledge, callback: BodyResponseCallback): void; + acknowledge(callback: BodyResponseCallback): void; + /** + * pubsub.subscriptions.create + * @desc Creates a subscription on a given topic for a given subscriber. If + * the subscription already exists, returns ALREADY_EXISTS. If the + * corresponding topic doesn't exist, returns NOT_FOUND. If the name is not + * provided in the request, the server will assign a random name for this + * subscription on the same project as the topic. + * @alias pubsub.subscriptions.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().Subscription} 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 + */ + create(params?: Params$Resource$Subscriptions$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Subscriptions$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Subscriptions$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * pubsub.subscriptions.delete + * @desc Deletes an existing subscription. All pending messages in the + * subscription are immediately dropped. Calls to Pull after deletion will + * return NOT_FOUND. + * @alias pubsub.subscriptions.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.subscription The subscription to delete. + * @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?: Params$Resource$Subscriptions$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Subscriptions$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Subscriptions$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * pubsub.subscriptions.get + * @desc Gets the configuration details of a subscription. + * @alias pubsub.subscriptions.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.subscription The name of the subscription to get. + * @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?: Params$Resource$Subscriptions$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Subscriptions$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Subscriptions$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * pubsub.subscriptions.list + * @desc Lists matching subscriptions. + * @alias pubsub.subscriptions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.maxResults Maximum number of subscriptions to return. + * @param {string=} params.pageToken The value obtained in the last ListSubscriptionsResponse for continuation. + * @param {string=} params.query A valid label query expression. + * @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?: Params$Resource$Subscriptions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Subscriptions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Subscriptions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * pubsub.subscriptions.modifyAckDeadline + * @desc Modifies the Ack deadline for a message received from a pull + * request. + * @alias pubsub.subscriptions.modifyAckDeadline + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().ModifyAckDeadlineRequest} 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 + */ + modifyAckDeadline(params?: Params$Resource$Subscriptions$Modifyackdeadline, options?: MethodOptions): AxiosPromise; + modifyAckDeadline(params: Params$Resource$Subscriptions$Modifyackdeadline, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + modifyAckDeadline(params: Params$Resource$Subscriptions$Modifyackdeadline, callback: BodyResponseCallback): void; + modifyAckDeadline(callback: BodyResponseCallback): void; + /** + * pubsub.subscriptions.modifyPushConfig + * @desc Modifies the PushConfig for a specified subscription. + * This method can be used to suspend the flow of messages to an endpoint by + * clearing the PushConfig field in the request. Messages will + * be accumulated for delivery even if no push configuration is defined or + * while the configuration is modified. + * @alias pubsub.subscriptions.modifyPushConfig + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().ModifyPushConfigRequest} 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 + */ + modifyPushConfig(params?: Params$Resource$Subscriptions$Modifypushconfig, options?: MethodOptions): AxiosPromise; + modifyPushConfig(params: Params$Resource$Subscriptions$Modifypushconfig, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + modifyPushConfig(params: Params$Resource$Subscriptions$Modifypushconfig, callback: BodyResponseCallback): void; + modifyPushConfig(callback: BodyResponseCallback): void; + /** + * pubsub.subscriptions.pull + * @desc Pulls a single message from the server. If return_immediately is + * true, and no messages are available in the subscription, this method + * returns FAILED_PRECONDITION. The system is free to return an UNAVAILABLE + * error if no messages are available in a reasonable amount of time (to + * reduce system load). + * @alias pubsub.subscriptions.pull + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().PullRequest} 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 + */ + pull(params?: Params$Resource$Subscriptions$Pull, options?: MethodOptions): AxiosPromise; + pull(params: Params$Resource$Subscriptions$Pull, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + pull(params: Params$Resource$Subscriptions$Pull, callback: BodyResponseCallback): void; + pull(callback: BodyResponseCallback): void; + /** + * pubsub.subscriptions.pullBatch + * @desc Pulls messages from the server. Returns an empty list if there are + * no messages available in the backlog. The system is free to return + * UNAVAILABLE if there are too many pull requests outstanding for the given + * subscription. + * @alias pubsub.subscriptions.pullBatch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().PullBatchRequest} 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 + */ + pullBatch(params?: Params$Resource$Subscriptions$Pullbatch, options?: MethodOptions): AxiosPromise; + pullBatch(params: Params$Resource$Subscriptions$Pullbatch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + pullBatch(params: Params$Resource$Subscriptions$Pullbatch, callback: BodyResponseCallback): void; + pullBatch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Subscriptions$Acknowledge { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$AcknowledgeRequest; + } + interface Params$Resource$Subscriptions$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$Subscription; + } + interface Params$Resource$Subscriptions$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The subscription to delete. + */ + subscription?: string; + } + interface Params$Resource$Subscriptions$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the subscription to get. + */ + subscription?: string; + } + interface Params$Resource$Subscriptions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Maximum number of subscriptions to return. + */ + maxResults?: number; + /** + * The value obtained in the last ListSubscriptionsResponse for + * continuation. + */ + pageToken?: string; + /** + * A valid label query expression. + */ + query?: string; + } + interface Params$Resource$Subscriptions$Modifyackdeadline { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$ModifyAckDeadlineRequest; + } + interface Params$Resource$Subscriptions$Modifypushconfig { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$ModifyPushConfigRequest; + } + interface Params$Resource$Subscriptions$Pull { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$PullRequest; + } + interface Params$Resource$Subscriptions$Pullbatch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$PullBatchRequest; + } + class Resource$Topics { + root: Pubsub; + constructor(root: Pubsub); + getRoot(): Pubsub; + /** + * pubsub.topics.create + * @desc Creates the given topic with the given name. + * @alias pubsub.topics.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().Topic} 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 + */ + create(params?: Params$Resource$Topics$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Topics$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Topics$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * pubsub.topics.delete + * @desc Deletes the topic with the given name. Returns NOT_FOUND if the + * topic does not exist. After a topic is deleted, a new topic may be + * created with the same name. + * @alias pubsub.topics.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.topic Name of the topic to delete. + * @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?: Params$Resource$Topics$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Topics$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Topics$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * pubsub.topics.get + * @desc Gets the configuration of a topic. Since the topic only has the + * name attribute, this method is only useful to check the existence of a + * topic. If other attributes are added in the future, they will be returned + * here. + * @alias pubsub.topics.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.topic The name of the topic to get. + * @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?: Params$Resource$Topics$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Topics$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Topics$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * pubsub.topics.list + * @desc Lists matching topics. + * @alias pubsub.topics.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.maxResults Maximum number of topics to return. + * @param {string=} params.pageToken The value obtained in the last ListTopicsResponse for continuation. + * @param {string=} params.query A valid label query expression. + * @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?: Params$Resource$Topics$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Topics$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Topics$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * pubsub.topics.publish + * @desc Adds a message to the topic. Returns NOT_FOUND if the topic does + * not exist. + * @alias pubsub.topics.publish + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().PublishRequest} 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 + */ + publish(params?: Params$Resource$Topics$Publish, options?: MethodOptions): AxiosPromise; + publish(params: Params$Resource$Topics$Publish, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + publish(params: Params$Resource$Topics$Publish, callback: BodyResponseCallback): void; + publish(callback: BodyResponseCallback): void; + /** + * pubsub.topics.publishBatch + * @desc Adds one or more messages to the topic. Returns NOT_FOUND if the + * topic does not exist. + * @alias pubsub.topics.publishBatch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().PublishBatchRequest} 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 + */ + publishBatch(params?: Params$Resource$Topics$Publishbatch, options?: MethodOptions): AxiosPromise; + publishBatch(params: Params$Resource$Topics$Publishbatch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + publishBatch(params: Params$Resource$Topics$Publishbatch, callback: BodyResponseCallback): void; + publishBatch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Topics$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$Topic; + } + interface Params$Resource$Topics$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the topic to delete. + */ + topic?: string; + } + interface Params$Resource$Topics$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the topic to get. + */ + topic?: string; + } + interface Params$Resource$Topics$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Maximum number of topics to return. + */ + maxResults?: number; + /** + * The value obtained in the last ListTopicsResponse for + * continuation. + */ + pageToken?: string; + /** + * A valid label query expression. + */ + query?: string; + } + interface Params$Resource$Topics$Publish { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$PublishRequest; + } + interface Params$Resource$Topics$Publishbatch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$PublishBatchRequest; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/pubsub/v1beta1a.js b/express-server/node_modules/googleapis/build/src/apis/pubsub/v1beta1a.js new file mode 100644 index 00000000..42c378aa --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/pubsub/v1beta1a.js @@ -0,0 +1,540 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var pubsub_v1beta1a; +(function (pubsub_v1beta1a) { + /** + * Cloud Pub/Sub API + * + * Provides reliable, many-to-many, asynchronous messaging between + * applications. + * + * @example + * const {google} = require('googleapis'); + * const pubsub = google.pubsub('v1beta1a'); + * + * @namespace pubsub + * @type {Function} + * @version v1beta1a + * @variation v1beta1a + * @param {object=} options Options for Pubsub + */ + class Pubsub { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.subscriptions = new Resource$Subscriptions(this); + this.topics = new Resource$Topics(this); + } + getRoot() { + return this.root; + } + } + pubsub_v1beta1a.Pubsub = Pubsub; + class Resource$Subscriptions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + acknowledge(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1a/subscriptions/acknowledge') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1a/subscriptions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1a/subscriptions/{+subscription}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['subscription'], + pathParams: ['subscription'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1a/subscriptions/{+subscription}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['subscription'], + pathParams: ['subscription'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1a/subscriptions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + modifyAckDeadline(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1a/subscriptions/modifyAckDeadline') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + modifyPushConfig(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1a/subscriptions/modifyPushConfig') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + pull(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1a/subscriptions/pull') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + pullBatch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1a/subscriptions/pullBatch') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + pubsub_v1beta1a.Resource$Subscriptions = Resource$Subscriptions; + class Resource$Topics { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1a/topics').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1a/topics/{+topic}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['topic'], + pathParams: ['topic'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1a/topics/{+topic}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['topic'], + pathParams: ['topic'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1a/topics').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + publish(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1a/topics/publish') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + publishBatch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1a/topics/publishBatch') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + pubsub_v1beta1a.Resource$Topics = Resource$Topics; +})(pubsub_v1beta1a = exports.pubsub_v1beta1a || (exports.pubsub_v1beta1a = {})); +//# sourceMappingURL=v1beta1a.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/pubsub/v1beta1a.js.map b/express-server/node_modules/googleapis/build/src/apis/pubsub/v1beta1a.js.map new file mode 100644 index 00000000..a33f9040 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/pubsub/v1beta1a.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1beta1a.js","sourceRoot":"","sources":["../../../../src/apis/pubsub/v1beta1a.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/pubsub/v1beta2.d.ts b/express-server/node_modules/googleapis/build/src/apis/pubsub/v1beta2.d.ts new file mode 100644 index 00000000..7b2afdb4 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/pubsub/v1beta2.d.ts @@ -0,0 +1,1153 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace pubsub_v1beta2 { + interface Options extends GlobalOptions { + version: 'v1beta2'; + } + /** + * Cloud Pub/Sub API + * + * Provides reliable, many-to-many, asynchronous messaging between + * applications. + * + * @example + * const {google} = require('googleapis'); + * const pubsub = google.pubsub('v1beta2'); + * + * @namespace pubsub + * @type {Function} + * @version v1beta2 + * @variation v1beta2 + * @param {object=} options Options for Pubsub + */ + class Pubsub { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + projects: Resource$Projects; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Request for the Acknowledge method. + */ + interface Schema$AcknowledgeRequest { + /** + * The acknowledgment ID for the messages being acknowledged that was + * returned by the Pub/Sub system in the `Pull` response. Must not be empty. + */ + ackIds?: string[]; + } + /** + * Associates `members` with a `role`. + */ + interface Schema$Binding { + /** + * Unimplemented. The condition that is associated with this binding. NOTE: + * an unsatisfied condition will not allow user access via current binding. + * Different bindings, including their conditions, are examined + * independently. + */ + condition?: Schema$Expr; + /** + * Specifies the identities requesting access for a Cloud Platform resource. + * `members` can have the following values: * `allUsers`: A special + * identifier that represents anyone who is on the internet; with or + * without a Google account. * `allAuthenticatedUsers`: A special + * identifier that represents anyone who is authenticated with a Google + * account or a service account. * `user:{emailid}`: An email address that + * represents a specific Google account. For example, `alice@gmail.com` . + * * `serviceAccount:{emailid}`: An email address that represents a service + * account. For example, `my-other-app@appspot.gserviceaccount.com`. * + * `group:{emailid}`: An email address that represents a Google group. For + * example, `admins@example.com`. * `domain:{domain}`: A Google Apps + * domain name that represents all the users of that domain. For example, + * `google.com` or `example.com`. + */ + members?: string[]; + /** + * Role that is assigned to `members`. For example, `roles/viewer`, + * `roles/editor`, or `roles/owner`. + */ + role?: string; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * Represents an expression text. Example: title: "User account + * presence" description: "Determines whether the request has a + * user account" expression: "size(request.user) > 0" + */ + interface Schema$Expr { + /** + * An optional description of the expression. This is a longer text which + * describes the expression, e.g. when hovered over it in a UI. + */ + description?: string; + /** + * Textual representation of an expression in Common Expression Language + * syntax. The application context of the containing message determines + * which well-known feature set of CEL is supported. + */ + expression?: string; + /** + * An optional string indicating the location of the expression for error + * reporting, e.g. a file name and a position in the file. + */ + location?: string; + /** + * An optional title for the expression, i.e. a short string describing its + * purpose. This can be used e.g. in UIs which allow to enter the + * expression. + */ + title?: string; + } + /** + * Response for the `ListSubscriptions` method. + */ + interface Schema$ListSubscriptionsResponse { + /** + * If not empty, indicates that there may be more subscriptions that match + * the request; this value should be passed in a new + * `ListSubscriptionsRequest` to get more subscriptions. + */ + nextPageToken?: string; + /** + * The subscriptions that match the request. + */ + subscriptions?: Schema$Subscription[]; + } + /** + * Response for the `ListTopics` method. + */ + interface Schema$ListTopicsResponse { + /** + * If not empty, indicates that there may be more topics that match the + * request; this value should be passed in a new `ListTopicsRequest`. + */ + nextPageToken?: string; + /** + * The resulting topics. + */ + topics?: Schema$Topic[]; + } + /** + * Response for the `ListTopicSubscriptions` method. + */ + interface Schema$ListTopicSubscriptionsResponse { + /** + * If not empty, indicates that there may be more subscriptions that match + * the request; this value should be passed in a new + * `ListTopicSubscriptionsRequest` to get more subscriptions. + */ + nextPageToken?: string; + /** + * The names of the subscriptions that match the request. + */ + subscriptions?: string[]; + } + /** + * Request for the ModifyAckDeadline method. + */ + interface Schema$ModifyAckDeadlineRequest { + /** + * The new ack deadline with respect to the time this request was sent to + * the Pub/Sub system. Must be >= 0. For example, if the value is 10, the + * new ack deadline will expire 10 seconds after the `ModifyAckDeadline` + * call was made. Specifying zero may immediately make the message available + * for another pull request. + */ + ackDeadlineSeconds?: number; + /** + * The acknowledgment ID. Either this or ack_ids must be populated, but not + * both. + */ + ackId?: string; + /** + * List of acknowledgment IDs. + */ + ackIds?: string[]; + } + /** + * Request for the ModifyPushConfig method. + */ + interface Schema$ModifyPushConfigRequest { + /** + * The push configuration for future deliveries. An empty `pushConfig` + * indicates that the Pub/Sub system should stop pushing messages from the + * given subscription and allow messages to be pulled and acknowledged - + * effectively pausing the subscription if `Pull` is not called. + */ + pushConfig?: Schema$PushConfig; + } + /** + * Defines an Identity and Access Management (IAM) policy. It is used to + * specify access control policies for Cloud Platform resources. A `Policy` + * consists of a list of `bindings`. A `binding` binds a list of `members` to + * a `role`, where the members can be user accounts, Google groups, Google + * domains, and service accounts. A `role` is a named list of permissions + * defined by IAM. **JSON Example** { "bindings": [ { + * "role": "roles/owner", "members": [ + * "user:mike@example.com", "group:admins@example.com", + * "domain:google.com", + * "serviceAccount:my-other-app@appspot.gserviceaccount.com" ] }, { + * "role": "roles/viewer", "members": + * ["user:sean@example.com"] } ] } **YAML + * Example** bindings: - members: - user:mike@example.com - + * group:admins@example.com - domain:google.com - + * serviceAccount:my-other-app@appspot.gserviceaccount.com role: + * roles/owner - members: - user:sean@example.com role: + * roles/viewer For a description of IAM and its features, see the [IAM + * developer's guide](https://cloud.google.com/iam/docs). + */ + interface Schema$Policy { + /** + * Associates a list of `members` to a `role`. `bindings` with no members + * will result in an error. + */ + bindings?: Schema$Binding[]; + /** + * `etag` is used for optimistic concurrency control as a way to help + * prevent simultaneous updates of a policy from overwriting each other. It + * is strongly suggested that systems make use of the `etag` in the + * read-modify-write cycle to perform policy updates in order to avoid race + * conditions: An `etag` is returned in the response to `getIamPolicy`, and + * systems are expected to put that etag in the request to `setIamPolicy` to + * ensure that their change will be applied to the same version of the + * policy. If no `etag` is provided in the call to `setIamPolicy`, then the + * existing policy is overwritten blindly. + */ + etag?: string; + /** + * Deprecated. + */ + version?: number; + } + /** + * Request for the Publish method. + */ + interface Schema$PublishRequest { + /** + * The messages to publish. + */ + messages?: Schema$PubsubMessage[]; + } + /** + * Response for the `Publish` method. + */ + interface Schema$PublishResponse { + /** + * The server-assigned ID of each published message, in the same order as + * the messages in the request. IDs are guaranteed to be unique within the + * topic. + */ + messageIds?: string[]; + } + /** + * A message data and its attributes. The message payload must not be empty; + * it must contain either a non-empty data field, or at least one attribute. + */ + interface Schema$PubsubMessage { + /** + * Optional attributes for this message. + */ + attributes?: any; + /** + * The message payload. For JSON requests, the value of this field must be + * [base64-encoded](https://tools.ietf.org/html/rfc4648). + */ + data?: string; + /** + * ID of this message, assigned by the server when the message is published. + * Guaranteed to be unique within the topic. This value may be read by a + * subscriber that receives a `PubsubMessage` via a `Pull` call or a push + * delivery. It must not be populated by the publisher in a `Publish` call. + */ + messageId?: string; + /** + * The time at which the message was published, populated by the server when + * it receives the `Publish` call. It must not be populated by the publisher + * in a `Publish` call. + */ + publishTime?: string; + } + /** + * Request for the `Pull` method. + */ + interface Schema$PullRequest { + /** + * The maximum number of messages returned for this request. The Pub/Sub + * system may return fewer than the number specified. + */ + maxMessages?: number; + /** + * If this is specified as true the system will respond immediately even if + * it is not able to return a message in the `Pull` response. Otherwise the + * system is allowed to wait until at least one message is available rather + * than returning no messages. The client may cancel the request if it does + * not wish to wait any longer for the response. + */ + returnImmediately?: boolean; + } + /** + * Response for the `Pull` method. + */ + interface Schema$PullResponse { + /** + * Received Pub/Sub messages. The Pub/Sub system will return zero messages + * if there are no more available in the backlog. The Pub/Sub system may + * return fewer than the `maxMessages` requested even if there are more + * messages available in the backlog. + */ + receivedMessages?: Schema$ReceivedMessage[]; + } + /** + * Configuration for a push delivery endpoint. + */ + interface Schema$PushConfig { + /** + * Endpoint configuration attributes. Every endpoint has a set of API + * supported attributes that can be used to control different aspects of the + * message delivery. The currently supported attribute is `x-goog-version`, + * which you can use to change the format of the push message. This + * attribute indicates the version of the data expected by the endpoint. + * This controls the shape of the envelope (i.e. its fields and metadata). + * The endpoint version is based on the version of the Pub/Sub API. If not + * present during the `CreateSubscription` call, it will default to the + * version of the API used to make such call. If not present during a + * `ModifyPushConfig` call, its value will not be changed. `GetSubscription` + * calls will always return a valid version, even if the subscription was + * created without this attribute. The possible values for this attribute + * are: * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub + * API. * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub + * API. + */ + attributes?: any; + /** + * A URL locating the endpoint to which messages should be pushed. For + * example, a Webhook endpoint might use + * "https://example.com/push". + */ + pushEndpoint?: string; + } + /** + * A message and its corresponding acknowledgment ID. + */ + interface Schema$ReceivedMessage { + /** + * This ID can be used to acknowledge the received message. + */ + ackId?: string; + /** + * The message. + */ + message?: Schema$PubsubMessage; + } + /** + * Request message for `SetIamPolicy` method. + */ + interface Schema$SetIamPolicyRequest { + /** + * REQUIRED: The complete policy to be applied to the `resource`. The size + * of the policy is limited to a few 10s of KB. An empty policy is a valid + * policy but certain Cloud Platform services (such as Projects) might + * reject them. + */ + policy?: Schema$Policy; + } + /** + * A subscription resource. + */ + interface Schema$Subscription { + /** + * This value is the maximum time after a subscriber receives a message + * before the subscriber should acknowledge the message. After message + * delivery but before the ack deadline expires and before the message is + * acknowledged, it is an outstanding message and will not be delivered + * again during that time (on a best-effort basis). For pull subscriptions, + * this value is used as the initial value for the ack deadline. To override + * this value for a given message, call `ModifyAckDeadline` with the + * corresponding `ack_id` if using pull. The maximum custom deadline you can + * specify is 600 seconds (10 minutes). For push delivery, this value is + * also used to set the request timeout for the call to the push endpoint. + * If the subscriber never acknowledges the message, the Pub/Sub system will + * eventually redeliver the message. If this parameter is 0, a default + * value of 10 seconds is used. + */ + ackDeadlineSeconds?: number; + /** + * The name of the subscription. It must have the format + * `"projects/{project}/subscriptions/{subscription}"`. + * `{subscription}` must start with a letter, and contain only letters + * (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods + * (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be + * between 3 and 255 characters in length, and it must not start with + * `"goog"`. + */ + name?: string; + /** + * If push delivery is used with this subscription, this field is used to + * configure it. An empty `pushConfig` signifies that the subscriber will + * pull and ack messages using API methods. + */ + pushConfig?: Schema$PushConfig; + /** + * The name of the topic from which this subscription is receiving messages. + * The value of this field will be `_deleted-topic_` if the topic has been + * deleted. + */ + topic?: string; + } + /** + * Request message for `TestIamPermissions` method. + */ + interface Schema$TestIamPermissionsRequest { + /** + * The set of permissions to check for the `resource`. Permissions with + * wildcards (such as '*' or 'storage.*') are not allowed. + * For more information see [IAM + * Overview](https://cloud.google.com/iam/docs/overview#permissions). + */ + permissions?: string[]; + } + /** + * Response message for `TestIamPermissions` method. + */ + interface Schema$TestIamPermissionsResponse { + /** + * A subset of `TestPermissionsRequest.permissions` that the caller is + * allowed. + */ + permissions?: string[]; + } + /** + * A topic resource. + */ + interface Schema$Topic { + /** + * The name of the topic. It must have the format + * `"projects/{project}/topics/{topic}"`. `{topic}` must start + * with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), + * dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) + * or percent signs (`%`). It must be between 3 and 255 characters in + * length, and it must not start with `"goog"`. + */ + name?: string; + } + class Resource$Projects { + root: Pubsub; + subscriptions: Resource$Projects$Subscriptions; + topics: Resource$Projects$Topics; + constructor(root: Pubsub); + getRoot(): Pubsub; + } + class Resource$Projects$Subscriptions { + root: Pubsub; + constructor(root: Pubsub); + getRoot(): Pubsub; + /** + * pubsub.projects.subscriptions.acknowledge + * @desc Acknowledges the messages associated with the `ack_ids` in the + * `AcknowledgeRequest`. The Pub/Sub system can remove the relevant messages + * from the subscription. Acknowledging a message whose ack deadline has + * expired may succeed, but such a message may be redelivered later. + * Acknowledging a message more than once will not result in an error. + * @alias pubsub.projects.subscriptions.acknowledge + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.subscription The subscription whose message is being acknowledged. + * @param {().AcknowledgeRequest} 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 + */ + acknowledge(params?: Params$Resource$Projects$Subscriptions$Acknowledge, options?: MethodOptions): AxiosPromise; + acknowledge(params: Params$Resource$Projects$Subscriptions$Acknowledge, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + acknowledge(params: Params$Resource$Projects$Subscriptions$Acknowledge, callback: BodyResponseCallback): void; + acknowledge(callback: BodyResponseCallback): void; + /** + * pubsub.projects.subscriptions.create + * @desc Creates a subscription to a given topic. If the subscription + * already exists, returns `ALREADY_EXISTS`. If the corresponding topic + * doesn't exist, returns `NOT_FOUND`. If the name is not provided in the + * request, the server will assign a random name for this subscription on + * the same project as the topic. Note that for REST API requests, you must + * specify a name. + * @alias pubsub.projects.subscriptions.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the subscription. It must have the format `"projects/{project}/subscriptions/{subscription}"`. `{subscription}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `"goog"`. + * @param {().Subscription} 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 + */ + create(params?: Params$Resource$Projects$Subscriptions$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Subscriptions$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Subscriptions$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * pubsub.projects.subscriptions.delete + * @desc Deletes an existing subscription. All pending messages in the + * subscription are immediately dropped. Calls to `Pull` after deletion will + * return `NOT_FOUND`. After a subscription is deleted, a new one may be + * created with the same name, but the new one has no association with the + * old subscription, or its topic unless the same topic is specified. + * @alias pubsub.projects.subscriptions.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.subscription The subscription to delete. + * @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?: Params$Resource$Projects$Subscriptions$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Subscriptions$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Subscriptions$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * pubsub.projects.subscriptions.get + * @desc Gets the configuration details of a subscription. + * @alias pubsub.projects.subscriptions.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.subscription The name of the subscription to get. + * @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?: Params$Resource$Projects$Subscriptions$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Subscriptions$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Subscriptions$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * pubsub.projects.subscriptions.getIamPolicy + * @desc Gets the access control policy for a resource. Returns an empty + * policy if the resource exists and does not have a policy set. + * @alias pubsub.projects.subscriptions.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. + * @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 + */ + getIamPolicy(params?: Params$Resource$Projects$Subscriptions$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Projects$Subscriptions$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Projects$Subscriptions$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * pubsub.projects.subscriptions.list + * @desc Lists matching subscriptions. + * @alias pubsub.projects.subscriptions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Maximum number of subscriptions to return. + * @param {string=} params.pageToken The value returned by the last `ListSubscriptionsResponse`; indicates that this is a continuation of a prior `ListSubscriptions` call, and that the system should return the next page of data. + * @param {string} params.project The name of the cloud project that subscriptions belong to. + * @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?: Params$Resource$Projects$Subscriptions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Subscriptions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Subscriptions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * pubsub.projects.subscriptions.modifyAckDeadline + * @desc Modifies the ack deadline for a specific message. This method is + * useful to indicate that more time is needed to process a message by the + * subscriber, or to make the message available for redelivery if the + * processing was interrupted. Note that this does not modify the + * subscription-level `ackDeadlineSeconds` used for subsequent messages. + * @alias pubsub.projects.subscriptions.modifyAckDeadline + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.subscription The name of the subscription. + * @param {().ModifyAckDeadlineRequest} 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 + */ + modifyAckDeadline(params?: Params$Resource$Projects$Subscriptions$Modifyackdeadline, options?: MethodOptions): AxiosPromise; + modifyAckDeadline(params: Params$Resource$Projects$Subscriptions$Modifyackdeadline, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + modifyAckDeadline(params: Params$Resource$Projects$Subscriptions$Modifyackdeadline, callback: BodyResponseCallback): void; + modifyAckDeadline(callback: BodyResponseCallback): void; + /** + * pubsub.projects.subscriptions.modifyPushConfig + * @desc Modifies the `PushConfig` for a specified subscription. This may + * be used to change a push subscription to a pull one (signified by an + * empty `PushConfig`) or vice versa, or change the endpoint URL and other + * attributes of a push subscription. Messages will accumulate for delivery + * continuously through the call regardless of changes to the `PushConfig`. + * @alias pubsub.projects.subscriptions.modifyPushConfig + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.subscription The name of the subscription. + * @param {().ModifyPushConfigRequest} 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 + */ + modifyPushConfig(params?: Params$Resource$Projects$Subscriptions$Modifypushconfig, options?: MethodOptions): AxiosPromise; + modifyPushConfig(params: Params$Resource$Projects$Subscriptions$Modifypushconfig, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + modifyPushConfig(params: Params$Resource$Projects$Subscriptions$Modifypushconfig, callback: BodyResponseCallback): void; + modifyPushConfig(callback: BodyResponseCallback): void; + /** + * pubsub.projects.subscriptions.pull + * @desc Pulls messages from the server. Returns an empty list if there are + * no messages available in the backlog. The server may return `UNAVAILABLE` + * if there are too many concurrent pull requests pending for the given + * subscription. + * @alias pubsub.projects.subscriptions.pull + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.subscription The subscription from which messages should be pulled. + * @param {().PullRequest} 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 + */ + pull(params?: Params$Resource$Projects$Subscriptions$Pull, options?: MethodOptions): AxiosPromise; + pull(params: Params$Resource$Projects$Subscriptions$Pull, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + pull(params: Params$Resource$Projects$Subscriptions$Pull, callback: BodyResponseCallback): void; + pull(callback: BodyResponseCallback): void; + /** + * pubsub.projects.subscriptions.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @alias pubsub.projects.subscriptions.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. + * @param {().SetIamPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Projects$Subscriptions$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Projects$Subscriptions$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Projects$Subscriptions$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * pubsub.projects.subscriptions.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. If + * the resource does not exist, this will return an empty set of + * permissions, not a NOT_FOUND error. Note: This operation is designed to + * be used for building permission-aware UIs and command-line tools, not for + * authorization checking. This operation may "fail open" without warning. + * @alias pubsub.projects.subscriptions.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. + * @param {().TestIamPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Projects$Subscriptions$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Projects$Subscriptions$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Projects$Subscriptions$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Subscriptions$Acknowledge { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The subscription whose message is being acknowledged. + */ + subscription?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AcknowledgeRequest; + } + interface Params$Resource$Projects$Subscriptions$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the subscription. It must have the format + * `"projects/{project}/subscriptions/{subscription}"`. `{subscription}` + * must start with a letter, and contain only letters (`[A-Za-z]`), numbers + * (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), + * plus (`+`) or percent signs (`%`). It must be between 3 and 255 + * characters in length, and it must not start with `"goog"`. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Subscription; + } + interface Params$Resource$Projects$Subscriptions$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The subscription to delete. + */ + subscription?: string; + } + interface Params$Resource$Projects$Subscriptions$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the subscription to get. + */ + subscription?: string; + } + interface Params$Resource$Projects$Subscriptions$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being requested. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + } + interface Params$Resource$Projects$Subscriptions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Maximum number of subscriptions to return. + */ + pageSize?: number; + /** + * The value returned by the last `ListSubscriptionsResponse`; indicates + * that this is a continuation of a prior `ListSubscriptions` call, and that + * the system should return the next page of data. + */ + pageToken?: string; + /** + * The name of the cloud project that subscriptions belong to. + */ + project?: string; + } + interface Params$Resource$Projects$Subscriptions$Modifyackdeadline { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the subscription. + */ + subscription?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ModifyAckDeadlineRequest; + } + interface Params$Resource$Projects$Subscriptions$Modifypushconfig { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the subscription. + */ + subscription?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ModifyPushConfigRequest; + } + interface Params$Resource$Projects$Subscriptions$Pull { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The subscription from which messages should be pulled. + */ + subscription?: string; + /** + * Request body metadata + */ + requestBody?: Schema$PullRequest; + } + interface Params$Resource$Projects$Subscriptions$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being specified. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetIamPolicyRequest; + } + interface Params$Resource$Projects$Subscriptions$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestIamPermissionsRequest; + } + class Resource$Projects$Topics { + root: Pubsub; + subscriptions: Resource$Projects$Topics$Subscriptions; + constructor(root: Pubsub); + getRoot(): Pubsub; + /** + * pubsub.projects.topics.create + * @desc Creates the given topic with the given name. + * @alias pubsub.projects.topics.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the topic. It must have the format `"projects/{project}/topics/{topic}"`. `{topic}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `"goog"`. + * @param {().Topic} 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 + */ + create(params?: Params$Resource$Projects$Topics$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Topics$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Topics$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * pubsub.projects.topics.delete + * @desc Deletes the topic with the given name. Returns `NOT_FOUND` if the + * topic does not exist. After a topic is deleted, a new topic may be + * created with the same name; this is an entirely new topic with none of + * the old configuration or subscriptions. Existing subscriptions to this + * topic are not deleted, but their `topic` field is set to + * `_deleted-topic_`. + * @alias pubsub.projects.topics.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.topic Name of the topic to delete. + * @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?: Params$Resource$Projects$Topics$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Topics$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Topics$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * pubsub.projects.topics.get + * @desc Gets the configuration of a topic. + * @alias pubsub.projects.topics.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.topic The name of the topic to get. + * @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?: Params$Resource$Projects$Topics$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Topics$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Topics$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * pubsub.projects.topics.getIamPolicy + * @desc Gets the access control policy for a resource. Returns an empty + * policy if the resource exists and does not have a policy set. + * @alias pubsub.projects.topics.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. + * @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 + */ + getIamPolicy(params?: Params$Resource$Projects$Topics$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Projects$Topics$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Projects$Topics$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * pubsub.projects.topics.list + * @desc Lists matching topics. + * @alias pubsub.projects.topics.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Maximum number of topics to return. + * @param {string=} params.pageToken The value returned by the last `ListTopicsResponse`; indicates that this is a continuation of a prior `ListTopics` call, and that the system should return the next page of data. + * @param {string} params.project The name of the cloud project that topics belong to. + * @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?: Params$Resource$Projects$Topics$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Topics$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Topics$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * pubsub.projects.topics.publish + * @desc Adds one or more messages to the topic. Returns `NOT_FOUND` if the + * topic does not exist. The message payload must not be empty; it must + * contain either a non-empty data field, or at least one attribute. + * @alias pubsub.projects.topics.publish + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.topic The messages in the request will be published on this topic. + * @param {().PublishRequest} 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 + */ + publish(params?: Params$Resource$Projects$Topics$Publish, options?: MethodOptions): AxiosPromise; + publish(params: Params$Resource$Projects$Topics$Publish, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + publish(params: Params$Resource$Projects$Topics$Publish, callback: BodyResponseCallback): void; + publish(callback: BodyResponseCallback): void; + /** + * pubsub.projects.topics.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @alias pubsub.projects.topics.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. + * @param {().SetIamPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Projects$Topics$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Projects$Topics$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Projects$Topics$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * pubsub.projects.topics.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. If + * the resource does not exist, this will return an empty set of + * permissions, not a NOT_FOUND error. Note: This operation is designed to + * be used for building permission-aware UIs and command-line tools, not for + * authorization checking. This operation may "fail open" without warning. + * @alias pubsub.projects.topics.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. + * @param {().TestIamPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Projects$Topics$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Projects$Topics$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Projects$Topics$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Topics$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the topic. It must have the format + * `"projects/{project}/topics/{topic}"`. `{topic}` must start with a + * letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes + * (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or + * percent signs (`%`). It must be between 3 and 255 characters in length, + * and it must not start with `"goog"`. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Topic; + } + interface Params$Resource$Projects$Topics$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the topic to delete. + */ + topic?: string; + } + interface Params$Resource$Projects$Topics$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the topic to get. + */ + topic?: string; + } + interface Params$Resource$Projects$Topics$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being requested. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + } + interface Params$Resource$Projects$Topics$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Maximum number of topics to return. + */ + pageSize?: number; + /** + * The value returned by the last `ListTopicsResponse`; indicates that this + * is a continuation of a prior `ListTopics` call, and that the system + * should return the next page of data. + */ + pageToken?: string; + /** + * The name of the cloud project that topics belong to. + */ + project?: string; + } + interface Params$Resource$Projects$Topics$Publish { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The messages in the request will be published on this topic. + */ + topic?: string; + /** + * Request body metadata + */ + requestBody?: Schema$PublishRequest; + } + interface Params$Resource$Projects$Topics$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being specified. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetIamPolicyRequest; + } + interface Params$Resource$Projects$Topics$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestIamPermissionsRequest; + } + class Resource$Projects$Topics$Subscriptions { + root: Pubsub; + constructor(root: Pubsub); + getRoot(): Pubsub; + /** + * pubsub.projects.topics.subscriptions.list + * @desc Lists the name of the subscriptions for this topic. + * @alias pubsub.projects.topics.subscriptions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Maximum number of subscription names to return. + * @param {string=} params.pageToken The value returned by the last `ListTopicSubscriptionsResponse`; indicates that this is a continuation of a prior `ListTopicSubscriptions` call, and that the system should return the next page of data. + * @param {string} params.topic The name of the topic that subscriptions are attached to. + * @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?: Params$Resource$Projects$Topics$Subscriptions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Topics$Subscriptions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Topics$Subscriptions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Topics$Subscriptions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Maximum number of subscription names to return. + */ + pageSize?: number; + /** + * The value returned by the last `ListTopicSubscriptionsResponse`; + * indicates that this is a continuation of a prior `ListTopicSubscriptions` + * call, and that the system should return the next page of data. + */ + pageToken?: string; + /** + * The name of the topic that subscriptions are attached to. + */ + topic?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/pubsub/v1beta2.js b/express-server/node_modules/googleapis/build/src/apis/pubsub/v1beta2.js new file mode 100644 index 00000000..a44ff9db --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/pubsub/v1beta2.js @@ -0,0 +1,715 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var pubsub_v1beta2; +(function (pubsub_v1beta2) { + /** + * Cloud Pub/Sub API + * + * Provides reliable, many-to-many, asynchronous messaging between + * applications. + * + * @example + * const {google} = require('googleapis'); + * const pubsub = google.pubsub('v1beta2'); + * + * @namespace pubsub + * @type {Function} + * @version v1beta2 + * @variation v1beta2 + * @param {object=} options Options for Pubsub + */ + class Pubsub { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.projects = new Resource$Projects(this); + } + getRoot() { + return this.root; + } + } + pubsub_v1beta2.Pubsub = Pubsub; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.subscriptions = new Resource$Projects$Subscriptions(root); + this.topics = new Resource$Projects$Topics(root); + } + getRoot() { + return this.root; + } + } + pubsub_v1beta2.Resource$Projects = Resource$Projects; + class Resource$Projects$Subscriptions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + acknowledge(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+subscription}:acknowledge') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['subscription'], + pathParams: ['subscription'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+subscription}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['subscription'], + pathParams: ['subscription'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+subscription}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['subscription'], + pathParams: ['subscription'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+resource}:getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+project}/subscriptions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + modifyAckDeadline(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+subscription}:modifyAckDeadline') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['subscription'], + pathParams: ['subscription'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + modifyPushConfig(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+subscription}:modifyPushConfig') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['subscription'], + pathParams: ['subscription'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + pull(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+subscription}:pull') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['subscription'], + pathParams: ['subscription'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+resource}:setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+resource}:testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + pubsub_v1beta2.Resource$Projects$Subscriptions = Resource$Projects$Subscriptions; + class Resource$Projects$Topics { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.subscriptions = new Resource$Projects$Topics$Subscriptions(root); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+topic}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['topic'], + pathParams: ['topic'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+topic}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['topic'], + pathParams: ['topic'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+resource}:getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+project}/topics') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + publish(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+topic}:publish') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['topic'], + pathParams: ['topic'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+resource}:setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+resource}:testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + pubsub_v1beta2.Resource$Projects$Topics = Resource$Projects$Topics; + class Resource$Projects$Topics$Subscriptions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://pubsub.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/{+topic}/subscriptions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['topic'], + pathParams: ['topic'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + pubsub_v1beta2.Resource$Projects$Topics$Subscriptions = Resource$Projects$Topics$Subscriptions; +})(pubsub_v1beta2 = exports.pubsub_v1beta2 || (exports.pubsub_v1beta2 = {})); +//# sourceMappingURL=v1beta2.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/pubsub/v1beta2.js.map b/express-server/node_modules/googleapis/build/src/apis/pubsub/v1beta2.js.map new file mode 100644 index 00000000..50c8a0f7 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/pubsub/v1beta2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1beta2.js","sourceRoot":"","sources":["../../../../src/apis/pubsub/v1beta2.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/redis/README.md b/express-server/node_modules/googleapis/build/src/apis/redis/README.md new file mode 100644 index 00000000..5e7e8d13 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/redis/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/redis + +> The Google Cloud Memorystore for Redis API is used for creating and managing Redis instances on the Google Cloud Platform. + +## Installation + +```sh +$ npm install @google/redis +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/redis/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/redis/index.d.ts new file mode 100644 index 00000000..53b9c555 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/redis/index.d.ts @@ -0,0 +1,10 @@ +import { redis_v1 } from './v1'; +import { redis_v1beta1 } from './v1beta1'; +export declare const VERSIONS: { + 'v1': typeof redis_v1.Redis; + 'v1beta1': typeof redis_v1beta1.Redis; +}; +export declare function redis(version: 'v1'): redis_v1.Redis; +export declare function redis(options: redis_v1.Options): redis_v1.Redis; +export declare function redis(version: 'v1beta1'): redis_v1beta1.Redis; +export declare function redis(options: redis_v1beta1.Options): redis_v1beta1.Redis; diff --git a/express-server/node_modules/googleapis/build/src/apis/redis/index.js b/express-server/node_modules/googleapis/build/src/apis/redis/index.js new file mode 100644 index 00000000..b58b5a92 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/redis/index.js @@ -0,0 +1,27 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +const v1beta1_1 = require("./v1beta1"); +exports.VERSIONS = { + 'v1': v1_1.redis_v1.Redis, + 'v1beta1': v1beta1_1.redis_v1beta1.Redis, +}; +function redis(versionOrOptions) { + return googleapis_common_1.getAPI('redis', versionOrOptions, exports.VERSIONS, this); +} +exports.redis = redis; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/redis/index.js.map b/express-server/node_modules/googleapis/build/src/apis/redis/index.js.map new file mode 100644 index 00000000..0823404b --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/redis/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/redis/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAA8B;AAC9B,uCAAwC;AAE3B,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,aAAQ,CAAC,KAAK;IACpB,SAAS,EAAE,uBAAa,CAAC,KAAK;CAC/B,CAAC;AAMF,SAAgB,KAAK,CAEjB,gBAAuE;IACzE,OAAO,0BAAM,CAAI,OAAO,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAC9D,CAAC;AAJD,sBAIC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/redis/package.json b/express-server/node_modules/googleapis/build/src/apis/redis/package.json new file mode 100644 index 00000000..5458a5e9 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/redis/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/redis", + "version": "0.1.0", + "description": "redis", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/redis/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/redis/v1.d.ts new file mode 100644 index 00000000..959e7560 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/redis/v1.d.ts @@ -0,0 +1,821 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace redis_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Google Cloud Memorystore for Redis API + * + * The Google Cloud Memorystore for Redis API is used for creating and + * managing Redis instances on the Google Cloud Platform. + * + * @example + * const {google} = require('googleapis'); + * const redis = google.redis('v1'); + * + * @namespace redis + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Redis + */ + class Redis { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + projects: Resource$Projects; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * This location metadata represents additional configuration options for a + * given location where a Redis instance may be created. All fields are output + * only. It is returned as content of the + * `google.cloud.location.Location.metadata` field. + */ + interface Schema$GoogleCloudRedisV1LocationMetadata { + /** + * Output only. The set of available zones in the location. The map is keyed + * by the lowercase ID of each zone, as defined by GCE. These keys can be + * specified in `location_id` or `alternative_location_id` fields when + * creating a Redis instance. + */ + availableZones?: any; + } + /** + * Represents the v1 metadata of the long-running operation. + */ + interface Schema$GoogleCloudRedisV1OperationMetadata { + /** + * API version. + */ + apiVersion?: string; + /** + * Specifies if cancellation was requested for the operaiton. + */ + cancelRequested?: boolean; + /** + * Creation timestamp. + */ + createTime?: string; + /** + * End timestamp. + */ + endTime?: string; + /** + * Operation status details. + */ + statusDetail?: string; + /** + * Operation target. + */ + target?: string; + /** + * Operation verb. + */ + verb?: string; + } + /** + * Defines specific information for a particular zone. Currently empty and + * reserved for future use only. + */ + interface Schema$GoogleCloudRedisV1ZoneMetadata { + } + /** + * A Google Cloud Redis instance. + */ + interface Schema$Instance { + /** + * Optional. Only applicable to STANDARD_HA tier which protects the instance + * against zonal failures by provisioning it across two zones. If provided, + * it must be a different zone from the one provided in [location_id]. + */ + alternativeLocationId?: string; + /** + * Optional. The full name of the Google Compute Engine + * [network](/compute/docs/networks-and-firewalls#networks) to which the + * instance is connected. If left unspecified, the `default` network will be + * used. + */ + authorizedNetwork?: string; + /** + * Output only. The time the instance was created. + */ + createTime?: string; + /** + * Output only. The current zone where the Redis endpoint is placed. For + * Basic Tier instances, this will always be the same as the [location_id] + * provided by the user at creation time. For Standard Tier instances, this + * can be either [location_id] or [alternative_location_id] and can change + * after a failover event. + */ + currentLocationId?: string; + /** + * An arbitrary and optional user-provided name for the instance. + */ + displayName?: string; + /** + * Output only. Hostname or IP address of the exposed Redis endpoint used by + * clients to connect to the service. + */ + host?: string; + /** + * Resource labels to represent user provided metadata + */ + labels?: any; + /** + * Optional. The zone where the instance will be provisioned. If not + * provided, the service will choose a zone for the instance. For + * STANDARD_HA tier, instances will be created across two zones for + * protection against zonal failures. If [alternative_location_id] is also + * provided, it must be different from [location_id]. + */ + locationId?: string; + /** + * Required. Redis memory size in GiB. + */ + memorySizeGb?: number; + /** + * Required. Unique name of the resource in this scope including project and + * location using the form: + * `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + * Note: Redis instances are managed and addressed at regional level so + * location_id here refers to a GCP region; however, users may choose which + * specific zone (or collection of zones for cross-zone instances) an + * instance should be provisioned in. Refer to [location_id] and + * [alternative_location_id] fields for more details. + */ + name?: string; + /** + * Output only. The port number of the exposed Redis endpoint. + */ + port?: number; + /** + * Optional. Redis configuration parameters, according to + * http://redis.io/topics/config. Currently, the only supported parameters + * are: * maxmemory-policy * notify-keyspace-events + */ + redisConfigs?: any; + /** + * Optional. The version of Redis software. If not provided, latest + * supported version will be used. Updating the version will perform an + * upgrade/downgrade to the new version. Currently, the supported values are + * `REDIS_3_2` for Redis 3.2. + */ + redisVersion?: string; + /** + * Optional. The CIDR range of internal addresses that are reserved for this + * instance. If not provided, the service will choose an unused /29 block, + * for example, 10.0.0.0/29 or 192.168.0.0/29. Ranges must be unique and + * non-overlapping with existing subnets in an authorized network. + */ + reservedIpRange?: string; + /** + * Output only. The current state of this instance. + */ + state?: string; + /** + * Output only. Additional information about the current status of this + * instance, if available. + */ + statusMessage?: string; + /** + * Required. The service tier of the instance. + */ + tier?: string; + } + /** + * Response for ListInstances. + */ + interface Schema$ListInstancesResponse { + /** + * A list of Redis instances in the project in the specified location, or + * across all locations. If the `location_id` in the parent field of the + * request is "-", all regions available to the project are + * queried, and the results aggregated. If in such an aggregated query a + * location is unavailable, a dummy Redis entry is included in the response + * with the "name" field set to a value of the form + * projects/{project_id}/locations/{location_id}/instances/- and the + * "status" field set to ERROR and "status_message" + * field set to "location not available for ListInstances". + */ + instances?: Schema$Instance[]; + /** + * Token to retrieve the next page of results, or empty if there are no more + * results in the list. + */ + nextPageToken?: string; + } + /** + * The response message for Locations.ListLocations. + */ + interface Schema$ListLocationsResponse { + /** + * A list of locations that matches the specified filter in the request. + */ + locations?: Schema$Location[]; + /** + * The standard List next-page token. + */ + nextPageToken?: string; + } + /** + * The response message for Operations.ListOperations. + */ + interface Schema$ListOperationsResponse { + /** + * The standard List next-page token. + */ + nextPageToken?: string; + /** + * A list of operations that matches the specified filter in the request. + */ + operations?: Schema$Operation[]; + } + /** + * A resource that represents Google Cloud Platform location. + */ + interface Schema$Location { + /** + * The friendly name for this location, typically a nearby city name. For + * example, "Tokyo". + */ + displayName?: string; + /** + * Cross-service attributes for the location. For example + * {"cloud.googleapis.com/region": "us-east1"} + */ + labels?: any; + /** + * Resource ID for the region. For example: "us-east1". + */ + locationId?: string; + /** + * Output only. The set of available zones in the location. The map is keyed + * by the lowercase ID of each zone, as defined by Compute Engine. These + * keys can be specified in `location_id` or `alternative_location_id` + * fields when creating a Redis instance. + */ + metadata?: any; + /** + * Full resource name for the region. For example: + * "projects/example-project/locations/us-east1". + */ + name?: string; + } + /** + * This resource represents a long-running operation that is the result of a + * network API call. + */ + interface Schema$Operation { + /** + * If the value is `false`, it means the operation is still in progress. If + * `true`, the operation is completed, and either `error` or `response` is + * available. + */ + done?: boolean; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * { `createTime`: The time the operation was created. `endTime`: The time + * the operation finished running. `target`: Server-defined resource path + * for the target of the operation. `verb`: Name of the verb executed by + * the operation. `statusDetail`: Human-readable status of the operation, + * if any. `cancelRequested`: Identifies whether the user has requested + * cancellation of the operation. Operations that have successfully been + * cancelled have Operation.error value with a google.rpc.Status.code of 1, + * corresponding to `Code.CANCELLED`. `apiVersion`: API version used to + * start the operation. } + */ + metadata?: any; + /** + * The server-assigned name, which is only unique within the same service + * that originally returns it. If you use the default HTTP mapping, the + * `name` should have the format of `operations/some/unique/name`. + */ + name?: string; + /** + * The normal response of the operation in case of success. If the original + * method returns no data on success, such as `Delete`, the response is + * `google.protobuf.Empty`. If the original method is standard + * `Get`/`Create`/`Update`, the response should be the resource. For other + * methods, the response should have the type `XxxResponse`, where `Xxx` is + * the original method name. For example, if the original method name is + * `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: any; + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + class Resource$Projects { + root: Redis; + locations: Resource$Projects$Locations; + constructor(root: Redis); + getRoot(): Redis; + } + class Resource$Projects$Locations { + root: Redis; + instances: Resource$Projects$Locations$Instances; + operations: Resource$Projects$Locations$Operations; + constructor(root: Redis); + getRoot(): Redis; + /** + * redis.projects.locations.get + * @desc Gets information about a location. + * @alias redis.projects.locations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Resource name for the location. + * @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?: Params$Resource$Projects$Locations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Locations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Locations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * redis.projects.locations.list + * @desc Lists information about the supported locations for this service. + * @alias redis.projects.locations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter The standard list filter. + * @param {string} params.name The resource that owns the locations collection, if applicable. + * @param {integer=} params.pageSize The standard list page size. + * @param {string=} params.pageToken The standard list page token. + * @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?: Params$Resource$Projects$Locations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Resource name for the location. + */ + name?: string; + } + interface Params$Resource$Projects$Locations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The standard list filter. + */ + filter?: string; + /** + * The resource that owns the locations collection, if applicable. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } + class Resource$Projects$Locations$Instances { + root: Redis; + constructor(root: Redis); + getRoot(): Redis; + /** + * redis.projects.locations.instances.create + * @desc Creates a Redis instance based on the specified tier and memory + * size. By default, the instance is accessible from the project's [default + * network](/compute/docs/networks-and-firewalls#networks). The creation is + * executed asynchronously and callers may check the returned operation to + * track its progress. Once the operation is completed the Redis instance + * will be fully functional. Completed longrunning.Operation will contain + * the new instance object in the response field. The returned operation is + * automatically deleted after a few hours, so there is no need to call + * DeleteOperation. + * @alias redis.projects.locations.instances.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.instanceId Required. The logical name of the Redis instance in the customer project with the following restrictions: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-40 characters. * Must end with a number or a letter. * Must be unique within the customer project / location + * @param {string} params.parent Required. The resource name of the instance location using the form: `projects/{project_id}/locations/{location_id}` where `location_id` refers to a GCP region + * @param {().Instance} 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 + */ + create(params?: Params$Resource$Projects$Locations$Instances$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Locations$Instances$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Locations$Instances$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * redis.projects.locations.instances.delete + * @desc Deletes a specific Redis instance. Instance stops serving and data + * is deleted. + * @alias redis.projects.locations.instances.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. Redis instance resource name using the form: `projects/{project_id}/locations/{location_id}/instances/{instance_id}` where `location_id` refers to a GCP region + * @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?: Params$Resource$Projects$Locations$Instances$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Locations$Instances$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Locations$Instances$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * redis.projects.locations.instances.get + * @desc Gets the details of a specific Redis instance. + * @alias redis.projects.locations.instances.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. Redis instance resource name using the form: `projects/{project_id}/locations/{location_id}/instances/{instance_id}` where `location_id` refers to a GCP region + * @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?: Params$Resource$Projects$Locations$Instances$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Locations$Instances$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Locations$Instances$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * redis.projects.locations.instances.list + * @desc Lists all Redis instances owned by a project in either the + * specified location (region) or all locations. The location should have + * the following format: * `projects/{project_id}/locations/{location_id}` + * If `location_id` is specified as `-` (wildcard), then all regions + * available to the project are queried, and the results are aggregated. + * @alias redis.projects.locations.instances.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize The maximum number of items to return. If not specified, a default value of 1000 will be used by the service. Regardless of the page_size value, the response may include a partial list and a caller should only rely on response's next_page_token to determine if there are more instances left to be queried. + * @param {string=} params.pageToken The next_page_token value returned from a previous List request, if any. + * @param {string} params.parent Required. The resource name of the instance location using the form: `projects/{project_id}/locations/{location_id}` where `location_id` refers to a GCP region + * @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?: Params$Resource$Projects$Locations$Instances$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$Instances$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$Instances$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * redis.projects.locations.instances.patch + * @desc Updates the metadata and configuration of a specific Redis + * instance. Completed longrunning.Operation will contain the new instance + * object in the response field. The returned operation is automatically + * deleted after a few hours, so there is no need to call DeleteOperation. + * @alias redis.projects.locations.instances.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. Unique name of the resource in this scope including project and location using the form: `projects/{project_id}/locations/{location_id}/instances/{instance_id}` Note: Redis instances are managed and addressed at regional level so location_id here refers to a GCP region; however, users may choose which specific zone (or collection of zones for cross-zone instances) an instance should be provisioned in. Refer to [location_id] and [alternative_location_id] fields for more details. + * @param {string=} params.updateMask Required. Mask of fields to update. At least one path must be supplied in this field. The elements of the repeated paths field may only include these fields from Instance: * `displayName` * `labels` * `memorySizeGb` * `redisConfig` + * @param {().Instance} 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 + */ + patch(params?: Params$Resource$Projects$Locations$Instances$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Locations$Instances$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Locations$Instances$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Instances$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The logical name of the Redis instance in the customer project + * with the following restrictions: * Must contain only lowercase letters, + * numbers, and hyphens. * Must start with a letter. * Must be between 1-40 + * characters. * Must end with a number or a letter. * Must be unique within + * the customer project / location + */ + instanceId?: string; + /** + * Required. The resource name of the instance location using the form: + * `projects/{project_id}/locations/{location_id}` where `location_id` + * refers to a GCP region + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Instance; + } + interface Params$Resource$Projects$Locations$Instances$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. Redis instance resource name using the form: + * `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + * where `location_id` refers to a GCP region + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Instances$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. Redis instance resource name using the form: + * `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + * where `location_id` refers to a GCP region + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Instances$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The maximum number of items to return. If not specified, a default value + * of 1000 will be used by the service. Regardless of the page_size value, + * the response may include a partial list and a caller should only rely on + * response's next_page_token to determine if there are more instances left + * to be queried. + */ + pageSize?: number; + /** + * The next_page_token value returned from a previous List request, if any. + */ + pageToken?: string; + /** + * Required. The resource name of the instance location using the form: + * `projects/{project_id}/locations/{location_id}` where `location_id` + * refers to a GCP region + */ + parent?: string; + } + interface Params$Resource$Projects$Locations$Instances$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. Unique name of the resource in this scope including project and + * location using the form: + * `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + * Note: Redis instances are managed and addressed at regional level so + * location_id here refers to a GCP region; however, users may choose which + * specific zone (or collection of zones for cross-zone instances) an + * instance should be provisioned in. Refer to [location_id] and + * [alternative_location_id] fields for more details. + */ + name?: string; + /** + * Required. Mask of fields to update. At least one path must be supplied in + * this field. The elements of the repeated paths field may only include + * these fields from Instance: * `displayName` * `labels` * + * `memorySizeGb` * `redisConfig` + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Instance; + } + class Resource$Projects$Locations$Operations { + root: Redis; + constructor(root: Redis); + getRoot(): Redis; + /** + * redis.projects.locations.operations.cancel + * @desc Starts asynchronous cancellation on a long-running operation. The + * server makes a best effort to cancel the operation, but success is not + * guaranteed. If the server doesn't support this method, it returns + * `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation + * or other methods to check whether the cancellation succeeded or whether + * the operation completed despite cancellation. On successful cancellation, + * the operation is not deleted; instead, it becomes an operation with an + * Operation.error value with a google.rpc.Status.code of 1, corresponding + * to `Code.CANCELLED`. + * @alias redis.projects.locations.operations.cancel + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource to be cancelled. + * @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 + */ + cancel(params?: Params$Resource$Projects$Locations$Operations$Cancel, options?: MethodOptions): AxiosPromise; + cancel(params: Params$Resource$Projects$Locations$Operations$Cancel, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + cancel(params: Params$Resource$Projects$Locations$Operations$Cancel, callback: BodyResponseCallback): void; + cancel(callback: BodyResponseCallback): void; + /** + * redis.projects.locations.operations.delete + * @desc Deletes a long-running operation. This method indicates that the + * client is no longer interested in the operation result. It does not + * cancel the operation. If the server doesn't support this method, it + * returns `google.rpc.Code.UNIMPLEMENTED`. + * @alias redis.projects.locations.operations.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource to be deleted. + * @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?: Params$Resource$Projects$Locations$Operations$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Locations$Operations$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Locations$Operations$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * redis.projects.locations.operations.get + * @desc Gets the latest state of a long-running operation. Clients can use + * this method to poll the operation result at intervals as recommended by + * the API service. + * @alias redis.projects.locations.operations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource. + * @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?: Params$Resource$Projects$Locations$Operations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Locations$Operations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Locations$Operations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * redis.projects.locations.operations.list + * @desc Lists operations that match the specified filter in the request. If + * the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: + * the `name` binding allows API services to override the binding to use + * different resource name schemes, such as `users/x/operations`. To + * override the binding, API services can add a binding such as + * `"/v1/{name=users/x}/operations"` to their service configuration. For + * backwards compatibility, the default name includes the operations + * collection id, however overriding users must ensure the name binding is + * the parent resource, without the operations collection id. + * @alias redis.projects.locations.operations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter The standard list filter. + * @param {string} params.name The name of the operation's parent resource. + * @param {integer=} params.pageSize The standard list page size. + * @param {string=} params.pageToken The standard list page token. + * @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?: Params$Resource$Projects$Locations$Operations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$Operations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$Operations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Operations$Cancel { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource to be cancelled. + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Operations$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource to be deleted. + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Operations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource. + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Operations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The standard list filter. + */ + filter?: string; + /** + * The name of the operation's parent resource. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/redis/v1.js b/express-server/node_modules/googleapis/build/src/apis/redis/v1.js new file mode 100644 index 00000000..db7bb4f3 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/redis/v1.js @@ -0,0 +1,434 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var redis_v1; +(function (redis_v1) { + /** + * Google Cloud Memorystore for Redis API + * + * The Google Cloud Memorystore for Redis API is used for creating and + * managing Redis instances on the Google Cloud Platform. + * + * @example + * const {google} = require('googleapis'); + * const redis = google.redis('v1'); + * + * @namespace redis + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Redis + */ + class Redis { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.projects = new Resource$Projects(this); + } + getRoot() { + return this.root; + } + } + redis_v1.Redis = Redis; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.locations = new Resource$Projects$Locations(root); + } + getRoot() { + return this.root; + } + } + redis_v1.Resource$Projects = Resource$Projects; + class Resource$Projects$Locations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.instances = new Resource$Projects$Locations$Instances(root); + this.operations = new Resource$Projects$Locations$Operations(root); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://redis.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://redis.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}/locations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + redis_v1.Resource$Projects$Locations = Resource$Projects$Locations; + class Resource$Projects$Locations$Instances { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://redis.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/instances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://redis.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://redis.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://redis.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/instances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://redis.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + redis_v1.Resource$Projects$Locations$Instances = Resource$Projects$Locations$Instances; + class Resource$Projects$Locations$Operations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + cancel(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://redis.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:cancel') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://redis.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://redis.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://redis.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}/operations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + redis_v1.Resource$Projects$Locations$Operations = Resource$Projects$Locations$Operations; +})(redis_v1 = exports.redis_v1 || (exports.redis_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/redis/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/redis/v1.js.map new file mode 100644 index 00000000..761d2b74 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/redis/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/redis/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/redis/v1beta1.d.ts b/express-server/node_modules/googleapis/build/src/apis/redis/v1beta1.d.ts new file mode 100644 index 00000000..4d15dc5e --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/redis/v1beta1.d.ts @@ -0,0 +1,833 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace redis_v1beta1 { + interface Options extends GlobalOptions { + version: 'v1beta1'; + } + /** + * Google Cloud Memorystore for Redis API + * + * The Google Cloud Memorystore for Redis API is used for creating and + * managing Redis instances on the Google Cloud Platform. + * + * @example + * const {google} = require('googleapis'); + * const redis = google.redis('v1beta1'); + * + * @namespace redis + * @type {Function} + * @version v1beta1 + * @variation v1beta1 + * @param {object=} options Options for Redis + */ + class Redis { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + projects: Resource$Projects; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * Represents the metadata of the long-running operation. + */ + interface Schema$GoogleCloudCommonOperationMetadata { + /** + * [Output only] API version used to start the operation. + */ + apiVersion?: string; + /** + * [Output only] Identifies whether the user has requested cancellation of + * the operation. Operations that have successfully been cancelled have + * Operation.error value with a google.rpc.Status.code of 1, corresponding + * to `Code.CANCELLED`. + */ + cancelRequested?: boolean; + /** + * [Output only] The time the operation was created. + */ + createTime?: string; + /** + * [Output only] The time the operation finished running. + */ + endTime?: string; + /** + * [Output only] Human-readable status of the operation, if any. + */ + statusDetail?: string; + /** + * [Output only] Server-defined resource path for the target of the + * operation. + */ + target?: string; + /** + * [Output only] Name of the verb executed by the operation. + */ + verb?: string; + } + /** + * This location metadata represents additional configuration options for a + * given location where a Redis instance may be created. All fields are output + * only. It is returned as content of the + * `google.cloud.location.Location.metadata` field. + */ + interface Schema$GoogleCloudRedisV1beta1LocationMetadata { + /** + * Output only. The set of available zones in the location. The map is keyed + * by the lowercase ID of each zone, as defined by GCE. These keys can be + * specified in `location_id` or `alternative_location_id` fields when + * creating a Redis instance. + */ + availableZones?: any; + } + /** + * Defines specific information for a particular zone. Currently empty and + * reserved for future use only. + */ + interface Schema$GoogleCloudRedisV1beta1ZoneMetadata { + } + /** + * A Google Cloud Redis instance. + */ + interface Schema$Instance { + /** + * Optional. Only applicable to STANDARD_HA tier which protects the instance + * against zonal failures by provisioning it across two zones. If provided, + * it must be a different zone from the one provided in [location_id]. + */ + alternativeLocationId?: string; + /** + * Optional. The full name of the Google Compute Engine + * [network](/compute/docs/networks-and-firewalls#networks) to which the + * instance is connected. If left unspecified, the `default` network will be + * used. + */ + authorizedNetwork?: string; + /** + * Output only. The time the instance was created. + */ + createTime?: string; + /** + * Output only. The current zone where the Redis endpoint is placed. For + * Basic Tier instances, this will always be the same as the [location_id] + * provided by the user at creation time. For Standard Tier instances, this + * can be either [location_id] or [alternative_location_id] and can change + * after a failover event. + */ + currentLocationId?: string; + /** + * An arbitrary and optional user-provided name for the instance. + */ + displayName?: string; + /** + * Output only. Hostname or IP address of the exposed Redis endpoint used by + * clients to connect to the service. + */ + host?: string; + /** + * Resource labels to represent user provided metadata + */ + labels?: any; + /** + * Optional. The zone where the instance will be provisioned. If not + * provided, the service will choose a zone for the instance. For + * STANDARD_HA tier, instances will be created across two zones for + * protection against zonal failures. If [alternative_location_id] is also + * provided, it must be different from [location_id]. + */ + locationId?: string; + /** + * Required. Redis memory size in GiB. + */ + memorySizeGb?: number; + /** + * Required. Unique name of the resource in this scope including project and + * location using the form: + * `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + * Note: Redis instances are managed and addressed at regional level so + * location_id here refers to a GCP region; however, users may choose which + * specific zone (or collection of zones for cross-zone instances) an + * instance should be provisioned in. Refer to [location_id] and + * [alternative_location_id] fields for more details. + */ + name?: string; + /** + * Output only. IAM identity used by import / export operations to transfer + * data to/from GCS. Format is + * "serviceAccount:<service_account_email>". The value may + * change over time for a given instance so should be checked before each + * import/export operation. + */ + persistenceIamIdentity?: string; + /** + * Output only. The port number of the exposed Redis endpoint. + */ + port?: number; + /** + * Optional. Redis configuration parameters, according to + * http://redis.io/topics/config. Currently, the only supported parameters + * are: * maxmemory-policy * notify-keyspace-events + */ + redisConfigs?: any; + /** + * Optional. The version of Redis software. If not provided, latest + * supported version will be used. Updating the version will perform an + * upgrade/downgrade to the new version. Currently, the supported values are + * `REDIS_3_2` for Redis 3.2. + */ + redisVersion?: string; + /** + * Optional. The CIDR range of internal addresses that are reserved for this + * instance. If not provided, the service will choose an unused /29 block, + * for example, 10.0.0.0/29 or 192.168.0.0/29. Ranges must be unique and + * non-overlapping with existing subnets in an authorized network. + */ + reservedIpRange?: string; + /** + * Output only. The current state of this instance. + */ + state?: string; + /** + * Output only. Additional information about the current status of this + * instance, if available. + */ + statusMessage?: string; + /** + * Required. The service tier of the instance. + */ + tier?: string; + } + /** + * Response for ListInstances. + */ + interface Schema$ListInstancesResponse { + /** + * A list of Redis instances in the project in the specified location, or + * across all locations. If the `location_id` in the parent field of the + * request is "-", all regions available to the project are + * queried, and the results aggregated. If in such an aggregated query a + * location is unavailable, a dummy Redis entry is included in the response + * with the "name" field set to a value of the form + * projects/{project_id}/locations/{location_id}/instances/- and the + * "status" field set to ERROR and "status_message" + * field set to "location not available for ListInstances". + */ + instances?: Schema$Instance[]; + /** + * Token to retrieve the next page of results, or empty if there are no more + * results in the list. + */ + nextPageToken?: string; + } + /** + * The response message for Locations.ListLocations. + */ + interface Schema$ListLocationsResponse { + /** + * A list of locations that matches the specified filter in the request. + */ + locations?: Schema$Location[]; + /** + * The standard List next-page token. + */ + nextPageToken?: string; + } + /** + * The response message for Operations.ListOperations. + */ + interface Schema$ListOperationsResponse { + /** + * The standard List next-page token. + */ + nextPageToken?: string; + /** + * A list of operations that matches the specified filter in the request. + */ + operations?: Schema$Operation[]; + } + /** + * A resource that represents Google Cloud Platform location. + */ + interface Schema$Location { + /** + * The friendly name for this location, typically a nearby city name. For + * example, "Tokyo". + */ + displayName?: string; + /** + * Cross-service attributes for the location. For example + * {"cloud.googleapis.com/region": "us-east1"} + */ + labels?: any; + /** + * Resource ID for the region. For example: "us-east1". + */ + locationId?: string; + /** + * Output only. The set of available zones in the location. The map is keyed + * by the lowercase ID of each zone, as defined by Compute Engine. These + * keys can be specified in `location_id` or `alternative_location_id` + * fields when creating a Redis instance. + */ + metadata?: any; + /** + * Full resource name for the region. For example: + * "projects/example-project/locations/us-east1". + */ + name?: string; + } + /** + * This resource represents a long-running operation that is the result of a + * network API call. + */ + interface Schema$Operation { + /** + * If the value is `false`, it means the operation is still in progress. If + * `true`, the operation is completed, and either `error` or `response` is + * available. + */ + done?: boolean; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * { `createTime`: The time the operation was created. `endTime`: The time + * the operation finished running. `target`: Server-defined resource path + * for the target of the operation. `verb`: Name of the verb executed by + * the operation. `statusDetail`: Human-readable status of the operation, + * if any. `cancelRequested`: Identifies whether the user has requested + * cancellation of the operation. Operations that have successfully been + * cancelled have Operation.error value with a google.rpc.Status.code of 1, + * corresponding to `Code.CANCELLED`. `apiVersion`: API version used to + * start the operation. } + */ + metadata?: any; + /** + * The server-assigned name, which is only unique within the same service + * that originally returns it. If you use the default HTTP mapping, the + * `name` should have the format of `operations/some/unique/name`. + */ + name?: string; + /** + * The normal response of the operation in case of success. If the original + * method returns no data on success, such as `Delete`, the response is + * `google.protobuf.Empty`. If the original method is standard + * `Get`/`Create`/`Update`, the response should be the resource. For other + * methods, the response should have the type `XxxResponse`, where `Xxx` is + * the original method name. For example, if the original method name is + * `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: any; + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + class Resource$Projects { + root: Redis; + locations: Resource$Projects$Locations; + constructor(root: Redis); + getRoot(): Redis; + } + class Resource$Projects$Locations { + root: Redis; + instances: Resource$Projects$Locations$Instances; + operations: Resource$Projects$Locations$Operations; + constructor(root: Redis); + getRoot(): Redis; + /** + * redis.projects.locations.get + * @desc Gets information about a location. + * @alias redis.projects.locations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Resource name for the location. + * @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?: Params$Resource$Projects$Locations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Locations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Locations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * redis.projects.locations.list + * @desc Lists information about the supported locations for this service. + * @alias redis.projects.locations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter The standard list filter. + * @param {string} params.name The resource that owns the locations collection, if applicable. + * @param {integer=} params.pageSize The standard list page size. + * @param {string=} params.pageToken The standard list page token. + * @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?: Params$Resource$Projects$Locations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Resource name for the location. + */ + name?: string; + } + interface Params$Resource$Projects$Locations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The standard list filter. + */ + filter?: string; + /** + * The resource that owns the locations collection, if applicable. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } + class Resource$Projects$Locations$Instances { + root: Redis; + constructor(root: Redis); + getRoot(): Redis; + /** + * redis.projects.locations.instances.create + * @desc Creates a Redis instance based on the specified tier and memory + * size. By default, the instance is accessible from the project's [default + * network](/compute/docs/networks-and-firewalls#networks). The creation is + * executed asynchronously and callers may check the returned operation to + * track its progress. Once the operation is completed the Redis instance + * will be fully functional. Completed longrunning.Operation will contain + * the new instance object in the response field. The returned operation is + * automatically deleted after a few hours, so there is no need to call + * DeleteOperation. + * @alias redis.projects.locations.instances.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.instanceId Required. The logical name of the Redis instance in the customer project with the following restrictions: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-40 characters. * Must end with a number or a letter. * Must be unique within the customer project / location + * @param {string} params.parent Required. The resource name of the instance location using the form: `projects/{project_id}/locations/{location_id}` where `location_id` refers to a GCP region + * @param {().Instance} 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 + */ + create(params?: Params$Resource$Projects$Locations$Instances$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Locations$Instances$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Locations$Instances$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * redis.projects.locations.instances.delete + * @desc Deletes a specific Redis instance. Instance stops serving and data + * is deleted. + * @alias redis.projects.locations.instances.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. Redis instance resource name using the form: `projects/{project_id}/locations/{location_id}/instances/{instance_id}` where `location_id` refers to a GCP region + * @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?: Params$Resource$Projects$Locations$Instances$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Locations$Instances$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Locations$Instances$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * redis.projects.locations.instances.get + * @desc Gets the details of a specific Redis instance. + * @alias redis.projects.locations.instances.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. Redis instance resource name using the form: `projects/{project_id}/locations/{location_id}/instances/{instance_id}` where `location_id` refers to a GCP region + * @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?: Params$Resource$Projects$Locations$Instances$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Locations$Instances$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Locations$Instances$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * redis.projects.locations.instances.list + * @desc Lists all Redis instances owned by a project in either the + * specified location (region) or all locations. The location should have + * the following format: * `projects/{project_id}/locations/{location_id}` + * If `location_id` is specified as `-` (wildcard), then all regions + * available to the project are queried, and the results are aggregated. + * @alias redis.projects.locations.instances.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize The maximum number of items to return. If not specified, a default value of 1000 will be used by the service. Regardless of the page_size value, the response may include a partial list and a caller should only rely on response's next_page_token to determine if there are more instances left to be queried. + * @param {string=} params.pageToken The next_page_token value returned from a previous List request, if any. + * @param {string} params.parent Required. The resource name of the instance location using the form: `projects/{project_id}/locations/{location_id}` where `location_id` refers to a GCP region + * @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?: Params$Resource$Projects$Locations$Instances$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$Instances$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$Instances$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * redis.projects.locations.instances.patch + * @desc Updates the metadata and configuration of a specific Redis + * instance. Completed longrunning.Operation will contain the new instance + * object in the response field. The returned operation is automatically + * deleted after a few hours, so there is no need to call DeleteOperation. + * @alias redis.projects.locations.instances.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. Unique name of the resource in this scope including project and location using the form: `projects/{project_id}/locations/{location_id}/instances/{instance_id}` Note: Redis instances are managed and addressed at regional level so location_id here refers to a GCP region; however, users may choose which specific zone (or collection of zones for cross-zone instances) an instance should be provisioned in. Refer to [location_id] and [alternative_location_id] fields for more details. + * @param {string=} params.updateMask Required. Mask of fields to update. At least one path must be supplied in this field. The elements of the repeated paths field may only include these fields from Instance: * `displayName` * `labels` * `memorySizeGb` * `redisConfig` + * @param {().Instance} 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 + */ + patch(params?: Params$Resource$Projects$Locations$Instances$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Locations$Instances$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Locations$Instances$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Instances$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The logical name of the Redis instance in the customer project + * with the following restrictions: * Must contain only lowercase letters, + * numbers, and hyphens. * Must start with a letter. * Must be between 1-40 + * characters. * Must end with a number or a letter. * Must be unique within + * the customer project / location + */ + instanceId?: string; + /** + * Required. The resource name of the instance location using the form: + * `projects/{project_id}/locations/{location_id}` where `location_id` + * refers to a GCP region + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Instance; + } + interface Params$Resource$Projects$Locations$Instances$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. Redis instance resource name using the form: + * `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + * where `location_id` refers to a GCP region + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Instances$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. Redis instance resource name using the form: + * `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + * where `location_id` refers to a GCP region + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Instances$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The maximum number of items to return. If not specified, a default value + * of 1000 will be used by the service. Regardless of the page_size value, + * the response may include a partial list and a caller should only rely on + * response's next_page_token to determine if there are more instances left + * to be queried. + */ + pageSize?: number; + /** + * The next_page_token value returned from a previous List request, if any. + */ + pageToken?: string; + /** + * Required. The resource name of the instance location using the form: + * `projects/{project_id}/locations/{location_id}` where `location_id` + * refers to a GCP region + */ + parent?: string; + } + interface Params$Resource$Projects$Locations$Instances$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. Unique name of the resource in this scope including project and + * location using the form: + * `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + * Note: Redis instances are managed and addressed at regional level so + * location_id here refers to a GCP region; however, users may choose which + * specific zone (or collection of zones for cross-zone instances) an + * instance should be provisioned in. Refer to [location_id] and + * [alternative_location_id] fields for more details. + */ + name?: string; + /** + * Required. Mask of fields to update. At least one path must be supplied in + * this field. The elements of the repeated paths field may only include + * these fields from Instance: * `displayName` * `labels` * + * `memorySizeGb` * `redisConfig` + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Instance; + } + class Resource$Projects$Locations$Operations { + root: Redis; + constructor(root: Redis); + getRoot(): Redis; + /** + * redis.projects.locations.operations.cancel + * @desc Starts asynchronous cancellation on a long-running operation. The + * server makes a best effort to cancel the operation, but success is not + * guaranteed. If the server doesn't support this method, it returns + * `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation + * or other methods to check whether the cancellation succeeded or whether + * the operation completed despite cancellation. On successful cancellation, + * the operation is not deleted; instead, it becomes an operation with an + * Operation.error value with a google.rpc.Status.code of 1, corresponding + * to `Code.CANCELLED`. + * @alias redis.projects.locations.operations.cancel + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource to be cancelled. + * @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 + */ + cancel(params?: Params$Resource$Projects$Locations$Operations$Cancel, options?: MethodOptions): AxiosPromise; + cancel(params: Params$Resource$Projects$Locations$Operations$Cancel, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + cancel(params: Params$Resource$Projects$Locations$Operations$Cancel, callback: BodyResponseCallback): void; + cancel(callback: BodyResponseCallback): void; + /** + * redis.projects.locations.operations.delete + * @desc Deletes a long-running operation. This method indicates that the + * client is no longer interested in the operation result. It does not + * cancel the operation. If the server doesn't support this method, it + * returns `google.rpc.Code.UNIMPLEMENTED`. + * @alias redis.projects.locations.operations.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource to be deleted. + * @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?: Params$Resource$Projects$Locations$Operations$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Locations$Operations$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Locations$Operations$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * redis.projects.locations.operations.get + * @desc Gets the latest state of a long-running operation. Clients can use + * this method to poll the operation result at intervals as recommended by + * the API service. + * @alias redis.projects.locations.operations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource. + * @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?: Params$Resource$Projects$Locations$Operations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Locations$Operations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Locations$Operations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * redis.projects.locations.operations.list + * @desc Lists operations that match the specified filter in the request. If + * the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: + * the `name` binding allows API services to override the binding to use + * different resource name schemes, such as `users/x/operations`. To + * override the binding, API services can add a binding such as + * `"/v1/{name=users/x}/operations"` to their service configuration. For + * backwards compatibility, the default name includes the operations + * collection id, however overriding users must ensure the name binding is + * the parent resource, without the operations collection id. + * @alias redis.projects.locations.operations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter The standard list filter. + * @param {string} params.name The name of the operation's parent resource. + * @param {integer=} params.pageSize The standard list page size. + * @param {string=} params.pageToken The standard list page token. + * @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?: Params$Resource$Projects$Locations$Operations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$Operations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$Operations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Operations$Cancel { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource to be cancelled. + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Operations$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource to be deleted. + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Operations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource. + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Operations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The standard list filter. + */ + filter?: string; + /** + * The name of the operation's parent resource. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/redis/v1beta1.js b/express-server/node_modules/googleapis/build/src/apis/redis/v1beta1.js new file mode 100644 index 00000000..c8010fd5 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/redis/v1beta1.js @@ -0,0 +1,434 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var redis_v1beta1; +(function (redis_v1beta1) { + /** + * Google Cloud Memorystore for Redis API + * + * The Google Cloud Memorystore for Redis API is used for creating and + * managing Redis instances on the Google Cloud Platform. + * + * @example + * const {google} = require('googleapis'); + * const redis = google.redis('v1beta1'); + * + * @namespace redis + * @type {Function} + * @version v1beta1 + * @variation v1beta1 + * @param {object=} options Options for Redis + */ + class Redis { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.projects = new Resource$Projects(this); + } + getRoot() { + return this.root; + } + } + redis_v1beta1.Redis = Redis; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.locations = new Resource$Projects$Locations(root); + } + getRoot() { + return this.root; + } + } + redis_v1beta1.Resource$Projects = Resource$Projects; + class Resource$Projects$Locations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.instances = new Resource$Projects$Locations$Instances(root); + this.operations = new Resource$Projects$Locations$Operations(root); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://redis.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://redis.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}/locations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + redis_v1beta1.Resource$Projects$Locations = Resource$Projects$Locations; + class Resource$Projects$Locations$Instances { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://redis.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+parent}/instances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://redis.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://redis.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://redis.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+parent}/instances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://redis.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + redis_v1beta1.Resource$Projects$Locations$Instances = Resource$Projects$Locations$Instances; + class Resource$Projects$Locations$Operations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + cancel(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://redis.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}:cancel') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://redis.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://redis.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://redis.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}/operations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + redis_v1beta1.Resource$Projects$Locations$Operations = Resource$Projects$Locations$Operations; +})(redis_v1beta1 = exports.redis_v1beta1 || (exports.redis_v1beta1 = {})); +//# sourceMappingURL=v1beta1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/redis/v1beta1.js.map b/express-server/node_modules/googleapis/build/src/apis/redis/v1beta1.js.map new file mode 100644 index 00000000..cc22d07e --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/redis/v1beta1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1beta1.js","sourceRoot":"","sources":["../../../../src/apis/redis/v1beta1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/replicapool/README.md b/express-server/node_modules/googleapis/build/src/apis/replicapool/README.md new file mode 100644 index 00000000..d12cf4fa --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/replicapool/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/replicapool + +> The Replica Pool API allows users to declaratively provision and manage groups of Google Compute Engine instances based on a common template. + +## Installation + +```sh +$ npm install @google/replicapool +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/replicapool/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/replicapool/index.d.ts new file mode 100644 index 00000000..ecf3b830 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/replicapool/index.d.ts @@ -0,0 +1,6 @@ +import { replicapool_v1beta1 } from './v1beta1'; +export declare const VERSIONS: { + 'v1beta1': typeof replicapool_v1beta1.Replicapool; +}; +export declare function replicapool(version: 'v1beta1'): replicapool_v1beta1.Replicapool; +export declare function replicapool(options: replicapool_v1beta1.Options): replicapool_v1beta1.Replicapool; diff --git a/express-server/node_modules/googleapis/build/src/apis/replicapool/index.js b/express-server/node_modules/googleapis/build/src/apis/replicapool/index.js new file mode 100644 index 00000000..ed3a8bce --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/replicapool/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1beta1_1 = require("./v1beta1"); +exports.VERSIONS = { + 'v1beta1': v1beta1_1.replicapool_v1beta1.Replicapool, +}; +function replicapool(versionOrOptions) { + return googleapis_common_1.getAPI('replicapool', versionOrOptions, exports.VERSIONS, this); +} +exports.replicapool = replicapool; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/replicapool/index.js.map b/express-server/node_modules/googleapis/build/src/apis/replicapool/index.js.map new file mode 100644 index 00000000..13aec67b --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/replicapool/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/replicapool/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,uCAA8C;AAEjC,QAAA,QAAQ,GAAG;IACtB,SAAS,EAAE,6BAAmB,CAAC,WAAW;CAC3C,CAAC;AAMF,SAAgB,WAAW,CAEvB,gBAAuD;IACzD,OAAO,0BAAM,CAAI,aAAa,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACpE,CAAC;AAJD,kCAIC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/replicapool/package.json b/express-server/node_modules/googleapis/build/src/apis/replicapool/package.json new file mode 100644 index 00000000..ba8b7f79 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/replicapool/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/replicapool", + "version": "0.1.0", + "description": "replicapool", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/replicapool/v1beta1.d.ts b/express-server/node_modules/googleapis/build/src/apis/replicapool/v1beta1.d.ts new file mode 100644 index 00000000..a05e8f4d --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/replicapool/v1beta1.d.ts @@ -0,0 +1,985 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace replicapool_v1beta1 { + interface Options extends GlobalOptions { + version: 'v1beta1'; + } + /** + * Replica Pool API + * + * The Replica Pool API allows users to declaratively provision and manage + * groups of Google Compute Engine instances based on a common template. + * + * @example + * const {google} = require('googleapis'); + * const replicapool = google.replicapool('v1beta1'); + * + * @namespace replicapool + * @type {Function} + * @version v1beta1 + * @variation v1beta1 + * @param {object=} options Options for Replicapool + */ + class Replicapool { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + pools: Resource$Pools; + replicas: Resource$Replicas; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * A Compute Engine network accessConfig. Identical to the accessConfig on + * corresponding Compute Engine resource. + */ + interface Schema$AccessConfig { + /** + * Name of this access configuration. + */ + name?: string; + /** + * An external IP address associated with this instance. + */ + natIp?: string; + /** + * Type of this access configuration file. Currently only ONE_TO_ONE_NAT is + * supported. + */ + type?: string; + } + /** + * An action that gets executed during initialization of the replicas. + */ + interface Schema$Action { + /** + * A list of commands to run, one per line. If any command fails, the whole + * action is considered a failure and no further actions are run. This also + * marks the virtual machine or replica as a failure. + */ + commands?: string[]; + /** + * A list of environment variables to use for the commands in this action. + */ + envVariables?: Schema$EnvVariable[]; + /** + * If an action's commands on a particular replica do not finish in the + * specified timeoutMilliSeconds, the replica is considered to be in a + * FAILING state. No efforts are made to stop any processes that were + * spawned or created as the result of running the action's commands. + * The default is the max allowed value, 1 hour (i.e. 3600000 milliseconds). + */ + timeoutMilliSeconds?: number; + } + /** + * Specifies how to attach a disk to a Replica. + */ + interface Schema$DiskAttachment { + /** + * The device name of this disk. + */ + deviceName?: string; + /** + * A zero-based index to assign to this disk, where 0 is reserved for the + * boot disk. If not specified, this is assigned by the server. + */ + index?: number; + } + /** + * An environment variable to set for an action. + */ + interface Schema$EnvVariable { + /** + * Deprecated, do not use. + */ + hidden?: boolean; + /** + * The name of the environment variable. + */ + name?: string; + /** + * The value of the variable. + */ + value?: string; + } + /** + * A pre-existing persistent disk that will be attached to every Replica in + * the Pool in READ_ONLY mode. + */ + interface Schema$ExistingDisk { + /** + * How the disk will be attached to the Replica. + */ + attachment?: Schema$DiskAttachment; + /** + * The name of the Persistent Disk resource. The Persistent Disk resource + * must be in the same zone as the Pool. + */ + source?: string; + } + interface Schema$HealthCheck { + /** + * How often (in seconds) to make HTTP requests for this healthcheck. The + * default value is 5 seconds. + */ + checkIntervalSec?: number; + /** + * The description for this health check. + */ + description?: string; + /** + * The number of consecutive health check requests that need to succeed + * before the replica is considered healthy again. The default value is 2. + */ + healthyThreshold?: number; + /** + * The value of the host header in the HTTP health check request. If left + * empty (default value), the localhost IP 127.0.0.1 will be used. + */ + host?: string; + /** + * The name of this health check. + */ + name?: string; + /** + * The localhost request path to send this health check, in the format + * /path/to/use. For example, /healthcheck. + */ + path?: string; + /** + * The TCP port for the health check requests. + */ + port?: number; + /** + * How long (in seconds) to wait before a timeout failure for this + * healthcheck. The default value is 5 seconds. + */ + timeoutSec?: number; + /** + * The number of consecutive health check requests that need to fail in + * order to consider the replica unhealthy. The default value is 2. + */ + unhealthyThreshold?: number; + } + /** + * A label to apply to this replica pool. + */ + interface Schema$Label { + /** + * The key for this label. + */ + key?: string; + /** + * The value of this label. + */ + value?: string; + } + /** + * A Compute Engine metadata entry. Identical to the metadata on the + * corresponding Compute Engine resource. + */ + interface Schema$Metadata { + /** + * The fingerprint of the metadata. Required for updating the metadata + * entries for this instance. + */ + fingerPrint?: string; + /** + * A list of metadata items. + */ + items?: Schema$MetadataItem[]; + } + /** + * A Compute Engine metadata item, defined as a key:value pair. Identical to + * the metadata on the corresponding Compute Engine resource. + */ + interface Schema$MetadataItem { + /** + * A metadata key. + */ + key?: string; + /** + * A metadata value. + */ + value?: string; + } + /** + * A Compute Engine NetworkInterface resource. Identical to the + * NetworkInterface on the corresponding Compute Engine resource. + */ + interface Schema$NetworkInterface { + /** + * An array of configurations for this interface. This specifies how this + * interface is configured to interact with other network services. + */ + accessConfigs?: Schema$AccessConfig[]; + /** + * Name the Network resource to which this interface applies. + */ + network?: string; + /** + * An optional IPV4 internal network address to assign to the instance for + * this network interface. + */ + networkIp?: string; + } + /** + * A Persistent Disk resource that will be created and attached to each + * Replica in the Pool. Each Replica will have a unique persistent disk that + * is created and attached to that Replica in READ_WRITE mode. + */ + interface Schema$NewDisk { + /** + * How the disk will be attached to the Replica. + */ + attachment?: Schema$DiskAttachment; + /** + * If true, then this disk will be deleted when the instance is deleted. The + * default value is true. + */ + autoDelete?: boolean; + /** + * If true, indicates that this is the root persistent disk. + */ + boot?: boolean; + /** + * Create the new disk using these parameters. The name of the disk will be + * <instance_name>-<four_random_charactersgt;. + */ + initializeParams?: Schema$NewDiskInitializeParams; + } + /** + * Initialization parameters for creating a new disk. + */ + interface Schema$NewDiskInitializeParams { + /** + * The size of the created disk in gigabytes. + */ + diskSizeGb?: string; + /** + * Name of the disk type resource describing which disk type to use to + * create the disk. For example 'pd-ssd' or 'pd-standard'. + * Default is 'pd-standard' + */ + diskType?: string; + /** + * The name or fully-qualified URL of a source image to use to create this + * disk. If you provide a name of the source image, Replica Pool will look + * for an image with that name in your project. If you are specifying an + * image provided by Compute Engine, you will need to provide the full URL + * with the correct project, such as: + * http://www.googleapis.com/compute/v1/projects/debian-cloud/ + * global/images/debian-wheezy-7-vYYYYMMDD + */ + sourceImage?: string; + } + interface Schema$Pool { + /** + * Whether replicas in this pool should be restarted if they experience a + * failure. The default value is true. + */ + autoRestart?: boolean; + /** + * The base instance name to use for the replicas in this pool. This must + * match the regex [a-z]([-a-z0-9]*[a-z0-9])?. If specified, the instances + * in this replica pool will be named in the format + * <base-instance-name>-<ID>. The <ID> postfix will be a + * four character alphanumeric identifier generated by the service. If this + * is not specified by the user, a random base instance name is generated by + * the service. + */ + baseInstanceName?: string; + /** + * [Output Only] The current number of replicas in the pool. + */ + currentNumReplicas?: number; + /** + * An optional description of the replica pool. + */ + description?: string; + /** + * Deprecated. Please use template[].healthChecks instead. + */ + healthChecks?: Schema$HealthCheck[]; + /** + * The initial number of replicas this pool should have. You must provide a + * value greater than or equal to 0. + */ + initialNumReplicas?: number; + /** + * A list of labels to attach to this replica pool and all created virtual + * machines in this replica pool. + */ + labels?: Schema$Label[]; + /** + * The name of the replica pool. Must follow the regex + * [a-z]([-a-z0-9]*[a-z0-9])? and be 1-28 characters long. + */ + name?: string; + /** + * Deprecated! Use initial_num_replicas instead. + */ + numReplicas?: number; + /** + * The list of resource views that should be updated with all the replicas + * that are managed by this pool. + */ + resourceViews?: string[]; + /** + * [Output Only] A self-link to the replica pool. + */ + selfLink?: string; + /** + * Deprecated, please use target_pools instead. + */ + targetPool?: string; + /** + * A list of target pools to update with the replicas that are managed by + * this pool. If specified, the replicas in this replica pool will be added + * to the specified target pools for load balancing purposes. The replica + * pool must live in the same region as the specified target pools. These + * values must be the target pool resource names, and not fully qualified + * URLs. + */ + targetPools?: string[]; + /** + * The template to use when creating replicas in this pool. This template is + * used during initial instance creation of the pool, when growing the pool + * in size, or when a replica restarts. + */ + template?: Schema$Template; + /** + * Deprecated! Do not set. + */ + type?: string; + } + interface Schema$PoolsDeleteRequest { + /** + * If there are instances you would like to keep, you can specify them here. + * These instances won't be deleted, but the associated replica objects + * will be removed. + */ + abandonInstances?: string[]; + } + interface Schema$PoolsListResponse { + nextPageToken?: string; + resources?: Schema$Pool[]; + } + /** + * An individual Replica within a Pool. Replicas are automatically created by + * the replica pool, using the template provided by the user. You cannot + * directly create replicas. + */ + interface Schema$Replica { + /** + * [Output Only] The name of the Replica object. + */ + name?: string; + /** + * [Output Only] The self-link of the Replica. + */ + selfLink?: string; + /** + * [Output Only] Last known status of the Replica. + */ + status?: Schema$ReplicaStatus; + } + interface Schema$ReplicasDeleteRequest { + /** + * Whether the instance resource represented by this replica should be + * deleted or abandoned. If abandoned, the replica will be deleted but the + * virtual machine instance will remain. By default, this is set to false + * and the instance will be deleted along with the replica. + */ + abandonInstance?: boolean; + } + interface Schema$ReplicasListResponse { + nextPageToken?: string; + resources?: Schema$Replica[]; + } + /** + * The current status of a Replica. + */ + interface Schema$ReplicaStatus { + /** + * [Output Only] Human-readable details about the current state of the + * replica + */ + details?: string; + /** + * [Output Only] The state of the Replica. + */ + state?: string; + /** + * [Output Only] The template used to build the replica. + */ + templateVersion?: string; + /** + * [Output Only] Link to the virtual machine that this Replica represents. + */ + vmLink?: string; + /** + * [Output Only] The time that this Replica got to the RUNNING state, in RFC + * 3339 format. If the start time is unknown, UNKNOWN is returned. + */ + vmStartTime?: string; + } + /** + * A Compute Engine service account, identical to the Compute Engine resource. + */ + interface Schema$ServiceAccount { + /** + * The service account email address, for example: + * 123845678986@project.gserviceaccount.com + */ + email?: string; + /** + * The list of OAuth2 scopes to obtain for the service account, for example: + * https://www.googleapis.com/auth/devstorage.full_control + */ + scopes?: string[]; + } + /** + * A Compute Engine Instance tag, identical to the tags on the corresponding + * Compute Engine Instance resource. + */ + interface Schema$Tag { + /** + * The fingerprint of the tag. Required for updating the list of tags. + */ + fingerPrint?: string; + /** + * Items contained in this tag. + */ + items?: string[]; + } + /** + * The template used for creating replicas in the pool. + */ + interface Schema$Template { + /** + * An action to run during initialization of your replicas. An action is run + * as shell commands which are executed one after the other in the same bash + * shell, so any state established by one command is inherited by later + * commands. + */ + action?: Schema$Action; + /** + * A list of HTTP Health Checks to configure for this replica pool and all + * virtual machines in this replica pool. + */ + healthChecks?: Schema$HealthCheck[]; + /** + * A free-form string describing the version of this template. You can + * provide any versioning string you would like. For example, version1 or + * template-v1. + */ + version?: string; + /** + * The virtual machine parameters to use for creating replicas. You can + * define settings such as the machine type and the image of replicas in + * this pool. This is required if replica type is SMART_VM. + */ + vmParams?: Schema$VmParams; + } + /** + * Parameters for creating a Compute Engine Instance resource. Most fields are + * identical to the corresponding Compute Engine resource. + */ + interface Schema$VmParams { + /** + * Deprecated. Please use baseInstanceName instead. + */ + baseInstanceName?: string; + /** + * Enables IP Forwarding, which allows this instance to receive packets + * destined for a different IP address, and send packets with a different + * source IP. See IP Forwarding for more information. + */ + canIpForward?: boolean; + /** + * An optional textual description of the instance. + */ + description?: string; + /** + * A list of existing Persistent Disk resources to attach to each replica in + * the pool. Each disk will be attached in read-only mode to every replica. + */ + disksToAttach?: Schema$ExistingDisk[]; + /** + * A list of Disk resources to create and attach to each Replica in the + * Pool. Currently, you can only define one disk and it must be a root + * persistent disk. Note that Replica Pool will create a root persistent + * disk for each replica. + */ + disksToCreate?: Schema$NewDisk[]; + /** + * The machine type for this instance. The resource name (e.g. + * n1-standard-1). + */ + machineType?: string; + /** + * The metadata key/value pairs assigned to this instance. + */ + metadata?: Schema$Metadata; + /** + * A list of network interfaces for the instance. Currently only one + * interface is supported by Google Compute Engine, ONE_TO_ONE_NAT. + */ + networkInterfaces?: Schema$NetworkInterface[]; + onHostMaintenance?: string; + /** + * A list of Service Accounts to enable for this instance. + */ + serviceAccounts?: Schema$ServiceAccount[]; + /** + * A list of tags to apply to the Google Compute Engine instance to identify + * resources. + */ + tags?: Schema$Tag; + } + class Resource$Pools { + root: Replicapool; + constructor(root: Replicapool); + getRoot(): Replicapool; + /** + * replicapool.pools.delete + * @desc Deletes a replica pool. + * @alias replicapool.pools.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.poolName The name of the replica pool for this request. + * @param {string} params.projectName The project ID for this replica pool. + * @param {string} params.zone The zone for this replica pool. + * @param {().PoolsDeleteRequest} 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 + */ + delete(params?: Params$Resource$Pools$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Pools$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Pools$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * replicapool.pools.get + * @desc Gets information about a single replica pool. + * @alias replicapool.pools.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.poolName The name of the replica pool for this request. + * @param {string} params.projectName The project ID for this replica pool. + * @param {string} params.zone The zone for this replica pool. + * @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?: Params$Resource$Pools$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Pools$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Pools$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * replicapool.pools.insert + * @desc Inserts a new replica pool. + * @alias replicapool.pools.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectName The project ID for this replica pool. + * @param {string} params.zone The zone for this replica pool. + * @param {().Pool} 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?: Params$Resource$Pools$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Pools$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Pools$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * replicapool.pools.list + * @desc List all replica pools. + * @alias replicapool.pools.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.maxResults Maximum count of results to be returned. Acceptable values are 0 to 100, inclusive. (Default: 50) + * @param {string=} params.pageToken Set this to the nextPageToken value returned by a previous list request to obtain the next page of results from the previous list request. + * @param {string} params.projectName The project ID for this request. + * @param {string} params.zone The zone for this replica pool. + * @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?: Params$Resource$Pools$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Pools$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Pools$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * replicapool.pools.resize + * @desc Resize a pool. This is an asynchronous operation, and multiple + * overlapping resize requests can be made. Replica Pools will use the + * information from the last resize request. + * @alias replicapool.pools.resize + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.numReplicas The desired number of replicas to resize to. If this number is larger than the existing number of replicas, new replicas will be added. If the number is smaller, then existing replicas will be deleted. + * @param {string} params.poolName The name of the replica pool for this request. + * @param {string} params.projectName The project ID for this replica pool. + * @param {string} params.zone The zone for this replica pool. + * @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 + */ + resize(params?: Params$Resource$Pools$Resize, options?: MethodOptions): AxiosPromise; + resize(params: Params$Resource$Pools$Resize, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + resize(params: Params$Resource$Pools$Resize, callback: BodyResponseCallback): void; + resize(callback: BodyResponseCallback): void; + /** + * replicapool.pools.updatetemplate + * @desc Update the template used by the pool. + * @alias replicapool.pools.updatetemplate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.poolName The name of the replica pool for this request. + * @param {string} params.projectName The project ID for this replica pool. + * @param {string} params.zone The zone for this replica pool. + * @param {().Template} 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 + */ + updatetemplate(params?: Params$Resource$Pools$Updatetemplate, options?: MethodOptions): AxiosPromise; + updatetemplate(params: Params$Resource$Pools$Updatetemplate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + updatetemplate(params: Params$Resource$Pools$Updatetemplate, callback: BodyResponseCallback): void; + updatetemplate(callback: BodyResponseCallback): void; + } + interface Params$Resource$Pools$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the replica pool for this request. + */ + poolName?: string; + /** + * The project ID for this replica pool. + */ + projectName?: string; + /** + * The zone for this replica pool. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$PoolsDeleteRequest; + } + interface Params$Resource$Pools$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the replica pool for this request. + */ + poolName?: string; + /** + * The project ID for this replica pool. + */ + projectName?: string; + /** + * The zone for this replica pool. + */ + zone?: string; + } + interface Params$Resource$Pools$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The project ID for this replica pool. + */ + projectName?: string; + /** + * The zone for this replica pool. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Pool; + } + interface Params$Resource$Pools$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Maximum count of results to be returned. Acceptable values are 0 to 100, + * inclusive. (Default: 50) + */ + maxResults?: number; + /** + * Set this to the nextPageToken value returned by a previous list request + * to obtain the next page of results from the previous list request. + */ + pageToken?: string; + /** + * The project ID for this request. + */ + projectName?: string; + /** + * The zone for this replica pool. + */ + zone?: string; + } + interface Params$Resource$Pools$Resize { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The desired number of replicas to resize to. If this number is larger + * than the existing number of replicas, new replicas will be added. If the + * number is smaller, then existing replicas will be deleted. + */ + numReplicas?: number; + /** + * The name of the replica pool for this request. + */ + poolName?: string; + /** + * The project ID for this replica pool. + */ + projectName?: string; + /** + * The zone for this replica pool. + */ + zone?: string; + } + interface Params$Resource$Pools$Updatetemplate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the replica pool for this request. + */ + poolName?: string; + /** + * The project ID for this replica pool. + */ + projectName?: string; + /** + * The zone for this replica pool. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Template; + } + class Resource$Replicas { + root: Replicapool; + constructor(root: Replicapool); + getRoot(): Replicapool; + /** + * replicapool.replicas.delete + * @desc Deletes a replica from the pool. + * @alias replicapool.replicas.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.poolName The replica pool name for this request. + * @param {string} params.projectName The project ID for this request. + * @param {string} params.replicaName The name of the replica for this request. + * @param {string} params.zone The zone where the replica lives. + * @param {().ReplicasDeleteRequest} 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 + */ + delete(params?: Params$Resource$Replicas$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Replicas$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Replicas$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * replicapool.replicas.get + * @desc Gets information about a specific replica. + * @alias replicapool.replicas.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.poolName The replica pool name for this request. + * @param {string} params.projectName The project ID for this request. + * @param {string} params.replicaName The name of the replica for this request. + * @param {string} params.zone The zone where the replica lives. + * @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?: Params$Resource$Replicas$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Replicas$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Replicas$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * replicapool.replicas.list + * @desc Lists all replicas in a pool. + * @alias replicapool.replicas.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.maxResults Maximum count of results to be returned. Acceptable values are 0 to 100, inclusive. (Default: 50) + * @param {string=} params.pageToken Set this to the nextPageToken value returned by a previous list request to obtain the next page of results from the previous list request. + * @param {string} params.poolName The replica pool name for this request. + * @param {string} params.projectName The project ID for this request. + * @param {string} params.zone The zone where the replica pool lives. + * @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?: Params$Resource$Replicas$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Replicas$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Replicas$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * replicapool.replicas.restart + * @desc Restarts a replica in a pool. + * @alias replicapool.replicas.restart + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.poolName The replica pool name for this request. + * @param {string} params.projectName The project ID for this request. + * @param {string} params.replicaName The name of the replica for this request. + * @param {string} params.zone The zone where the replica lives. + * @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 + */ + restart(params?: Params$Resource$Replicas$Restart, options?: MethodOptions): AxiosPromise; + restart(params: Params$Resource$Replicas$Restart, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + restart(params: Params$Resource$Replicas$Restart, callback: BodyResponseCallback): void; + restart(callback: BodyResponseCallback): void; + } + interface Params$Resource$Replicas$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The replica pool name for this request. + */ + poolName?: string; + /** + * The project ID for this request. + */ + projectName?: string; + /** + * The name of the replica for this request. + */ + replicaName?: string; + /** + * The zone where the replica lives. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ReplicasDeleteRequest; + } + interface Params$Resource$Replicas$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The replica pool name for this request. + */ + poolName?: string; + /** + * The project ID for this request. + */ + projectName?: string; + /** + * The name of the replica for this request. + */ + replicaName?: string; + /** + * The zone where the replica lives. + */ + zone?: string; + } + interface Params$Resource$Replicas$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Maximum count of results to be returned. Acceptable values are 0 to 100, + * inclusive. (Default: 50) + */ + maxResults?: number; + /** + * Set this to the nextPageToken value returned by a previous list request + * to obtain the next page of results from the previous list request. + */ + pageToken?: string; + /** + * The replica pool name for this request. + */ + poolName?: string; + /** + * The project ID for this request. + */ + projectName?: string; + /** + * The zone where the replica pool lives. + */ + zone?: string; + } + interface Params$Resource$Replicas$Restart { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The replica pool name for this request. + */ + poolName?: string; + /** + * The project ID for this request. + */ + projectName?: string; + /** + * The name of the replica for this request. + */ + replicaName?: string; + /** + * The zone where the replica lives. + */ + zone?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/replicapool/v1beta1.js b/express-server/node_modules/googleapis/build/src/apis/replicapool/v1beta1.js new file mode 100644 index 00000000..935118f6 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/replicapool/v1beta1.js @@ -0,0 +1,397 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var replicapool_v1beta1; +(function (replicapool_v1beta1) { + /** + * Replica Pool API + * + * The Replica Pool API allows users to declaratively provision and manage + * groups of Google Compute Engine instances based on a common template. + * + * @example + * const {google} = require('googleapis'); + * const replicapool = google.replicapool('v1beta1'); + * + * @namespace replicapool + * @type {Function} + * @version v1beta1 + * @variation v1beta1 + * @param {object=} options Options for Replicapool + */ + class Replicapool { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.pools = new Resource$Pools(this); + this.replicas = new Resource$Replicas(this); + } + getRoot() { + return this.root; + } + } + replicapool_v1beta1.Replicapool = Replicapool; + class Resource$Pools { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/replicapool/v1beta1/projects/{projectName}/zones/{zone}/pools/{poolName}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectName', 'zone', 'poolName'], + pathParams: ['poolName', 'projectName', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/replicapool/v1beta1/projects/{projectName}/zones/{zone}/pools/{poolName}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectName', 'zone', 'poolName'], + pathParams: ['poolName', 'projectName', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/replicapool/v1beta1/projects/{projectName}/zones/{zone}/pools') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectName', 'zone'], + pathParams: ['projectName', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/replicapool/v1beta1/projects/{projectName}/zones/{zone}/pools') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectName', 'zone'], + pathParams: ['projectName', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + resize(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/replicapool/v1beta1/projects/{projectName}/zones/{zone}/pools/{poolName}/resize') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectName', 'zone', 'poolName'], + pathParams: ['poolName', 'projectName', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + updatetemplate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/replicapool/v1beta1/projects/{projectName}/zones/{zone}/pools/{poolName}/updateTemplate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectName', 'zone', 'poolName'], + pathParams: ['poolName', 'projectName', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + replicapool_v1beta1.Resource$Pools = Resource$Pools; + class Resource$Replicas { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/replicapool/v1beta1/projects/{projectName}/zones/{zone}/pools/{poolName}/replicas/{replicaName}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectName', 'zone', 'poolName', 'replicaName'], + pathParams: ['poolName', 'projectName', 'replicaName', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/replicapool/v1beta1/projects/{projectName}/zones/{zone}/pools/{poolName}/replicas/{replicaName}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectName', 'zone', 'poolName', 'replicaName'], + pathParams: ['poolName', 'projectName', 'replicaName', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/replicapool/v1beta1/projects/{projectName}/zones/{zone}/pools/{poolName}/replicas') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectName', 'zone', 'poolName'], + pathParams: ['poolName', 'projectName', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + restart(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/replicapool/v1beta1/projects/{projectName}/zones/{zone}/pools/{poolName}/replicas/{replicaName}/restart') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectName', 'zone', 'poolName', 'replicaName'], + pathParams: ['poolName', 'projectName', 'replicaName', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + replicapool_v1beta1.Resource$Replicas = Resource$Replicas; +})(replicapool_v1beta1 = exports.replicapool_v1beta1 || (exports.replicapool_v1beta1 = {})); +//# sourceMappingURL=v1beta1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/replicapool/v1beta1.js.map b/express-server/node_modules/googleapis/build/src/apis/replicapool/v1beta1.js.map new file mode 100644 index 00000000..00b59c50 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/replicapool/v1beta1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1beta1.js","sourceRoot":"","sources":["../../../../src/apis/replicapool/v1beta1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/replicapoolupdater/README.md b/express-server/node_modules/googleapis/build/src/apis/replicapoolupdater/README.md new file mode 100644 index 00000000..6aac1b78 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/replicapoolupdater/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/replicapoolupdater + +> [Deprecated. Please use compute.instanceGroupManagers.update method. replicapoolupdater API will be disabled after December 30th, 2016] Updates groups of Compute Engine instances. + +## Installation + +```sh +$ npm install @google/replicapoolupdater +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/replicapoolupdater/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/replicapoolupdater/index.d.ts new file mode 100644 index 00000000..c35c9fba --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/replicapoolupdater/index.d.ts @@ -0,0 +1,6 @@ +import { replicapoolupdater_v1beta1 } from './v1beta1'; +export declare const VERSIONS: { + 'v1beta1': typeof replicapoolupdater_v1beta1.Replicapoolupdater; +}; +export declare function replicapoolupdater(version: 'v1beta1'): replicapoolupdater_v1beta1.Replicapoolupdater; +export declare function replicapoolupdater(options: replicapoolupdater_v1beta1.Options): replicapoolupdater_v1beta1.Replicapoolupdater; diff --git a/express-server/node_modules/googleapis/build/src/apis/replicapoolupdater/index.js b/express-server/node_modules/googleapis/build/src/apis/replicapoolupdater/index.js new file mode 100644 index 00000000..591beb9a --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/replicapoolupdater/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1beta1_1 = require("./v1beta1"); +exports.VERSIONS = { + 'v1beta1': v1beta1_1.replicapoolupdater_v1beta1.Replicapoolupdater, +}; +function replicapoolupdater(versionOrOptions) { + return googleapis_common_1.getAPI('replicapoolupdater', versionOrOptions, exports.VERSIONS, this); +} +exports.replicapoolupdater = replicapoolupdater; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/replicapoolupdater/index.js.map b/express-server/node_modules/googleapis/build/src/apis/replicapoolupdater/index.js.map new file mode 100644 index 00000000..bff43fc5 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/replicapoolupdater/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/replicapoolupdater/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,uCAAqD;AAExC,QAAA,QAAQ,GAAG;IACtB,SAAS,EAAE,oCAA0B,CAAC,kBAAkB;CACzD,CAAC;AAMF,SACA,kBAAkB,CAEd,gBAA8D;IAChE,OAAO,0BAAM,CAAI,oBAAoB,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAC3E,CAAC;AALD,gDAKC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/replicapoolupdater/package.json b/express-server/node_modules/googleapis/build/src/apis/replicapoolupdater/package.json new file mode 100644 index 00000000..cd4c0e81 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/replicapoolupdater/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/replicapoolupdater", + "version": "0.1.0", + "description": "replicapoolupdater", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/replicapoolupdater/v1beta1.d.ts b/express-server/node_modules/googleapis/build/src/apis/replicapoolupdater/v1beta1.d.ts new file mode 100644 index 00000000..c604f3aa --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/replicapoolupdater/v1beta1.d.ts @@ -0,0 +1,729 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace replicapoolupdater_v1beta1 { + interface Options extends GlobalOptions { + version: 'v1beta1'; + } + /** + * Google Compute Engine Instance Group Updater API + * + * [Deprecated. Please use compute.instanceGroupManagers.update method. + * replicapoolupdater API will be disabled after December 30th, 2016] Updates + * groups of Compute Engine instances. + * + * @example + * const {google} = require('googleapis'); + * const replicapoolupdater = google.replicapoolupdater('v1beta1'); + * + * @namespace replicapoolupdater + * @type {Function} + * @version v1beta1 + * @variation v1beta1 + * @param {object=} options Options for Replicapoolupdater + */ + class Replicapoolupdater { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + rollingUpdates: Resource$Rollingupdates; + zoneOperations: Resource$Zoneoperations; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Update of a single instance. + */ + interface Schema$InstanceUpdate { + /** + * Errors that occurred during the instance update. + */ + error?: any; + /** + * Fully-qualified URL of the instance being updated. + */ + instance?: string; + /** + * Status of the instance update. Possible values are: - + * "PENDING": The instance update is pending execution. - + * "ROLLING_FORWARD": The instance update is going forward. - + * "ROLLING_BACK": The instance update is being rolled back. - + * "PAUSED": The instance update is temporarily paused (inactive). + * - "ROLLED_OUT": The instance update is finished, the instance + * is running the new template. - "ROLLED_BACK": The instance + * update is finished, the instance has been reverted to the previous + * template. - "CANCELLED": The instance update is paused and no + * longer can be resumed, undefined in which template the instance is + * running. + */ + status?: string; + } + /** + * Response returned by ListInstanceUpdates method. + */ + interface Schema$InstanceUpdateList { + /** + * Collection of requested instance updates. + */ + items?: Schema$InstanceUpdate[]; + /** + * [Output Only] Type of the resource. + */ + kind?: string; + /** + * A token used to continue a truncated list request. + */ + nextPageToken?: string; + /** + * [Output Only] The fully qualified URL for the resource. + */ + selfLink?: string; + } + /** + * An operation resource, used to manage asynchronous API requests. + */ + interface Schema$Operation { + clientOperationId?: string; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + endTime?: string; + /** + * [Output Only] If errors occurred during processing of this operation, + * this field will be populated. + */ + error?: any; + httpErrorMessage?: string; + httpErrorStatusCode?: number; + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * [Output Only] The time that this operation was requested. This is in RFC + * 3339 format. + */ + insertTime?: string; + /** + * [Output Only] Type of the resource. Always replicapoolupdater#operation + * for Operation resources. + */ + kind?: string; + /** + * [Output Only] Name of the resource. + */ + name?: string; + operationType?: string; + progress?: number; + /** + * [Output Only] URL of the region where the operation resides. + */ + region?: string; + /** + * [Output Only] The fully qualified URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] The time that this operation was started by the server. + * This is in RFC 3339 format. + */ + startTime?: string; + /** + * [Output Only] Status of the operation. Can be one of the following: + * "PENDING", "RUNNING", or "DONE". + */ + status?: string; + /** + * [Output Only] An optional textual description of the current status of + * the operation. + */ + statusMessage?: string; + /** + * [Output Only] Unique target id which identifies a particular incarnation + * of the target. + */ + targetId?: string; + /** + * [Output Only] URL of the resource the operation is mutating. + */ + targetLink?: string; + user?: string; + warnings?: any[]; + /** + * [Output Only] URL of the zone where the operation resides. + */ + zone?: string; + } + /** + * Contains a list of Operation resources. + */ + interface Schema$OperationList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * [Output Only] The Operation resources. + */ + items?: Schema$Operation[]; + /** + * [Output Only] Type of resource. Always replicapoolupdater#operationList + * for OperationList resources. + */ + kind?: string; + /** + * [Output Only] A token used to continue a truncate. + */ + nextPageToken?: string; + /** + * [Output Only] The fully qualified URL for the resource. + */ + selfLink?: string; + } + /** + * The following represents a resource describing a single update (rollout) of + * a group of instances to the given template. + */ + interface Schema$RollingUpdate { + /** + * Specifies the action to take for each instance within the instance group. + * This can be RECREATE which will recreate each instance and is only + * available for managed instance groups. It can also be REBOOT which + * performs a soft reboot for each instance and is only available for + * regular (non-managed) instance groups. + */ + actionType?: string; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional textual description of the resource; provided by the client + * when the resource is created. + */ + description?: string; + /** + * [Output Only] Errors that occurred during the rolling update. + */ + error?: any; + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * Fully-qualified URL of an instance group being updated. Exactly one of + * instanceGroupManager and instanceGroup must be set. + */ + instanceGroup?: string; + /** + * Fully-qualified URL of an instance group manager being updated. Exactly + * one of instanceGroupManager and instanceGroup must be set. + */ + instanceGroupManager?: string; + /** + * Fully-qualified URL of an instance template to apply. + */ + instanceTemplate?: string; + /** + * [Output Only] Type of the resource. + */ + kind?: string; + /** + * Fully-qualified URL of the instance template encountered while starting + * the update. + */ + oldInstanceTemplate?: string; + /** + * Parameters of the update process. + */ + policy?: any; + /** + * [Output Only] An optional progress indicator that ranges from 0 to 100. + * There is no requirement that this be linear or support any granularity of + * operations. This should not be used to guess at when the update will be + * complete. This number should be monotonically increasing as the update + * progresses. + */ + progress?: number; + /** + * [Output Only] The fully qualified URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] Status of the update. Possible values are: - + * "ROLLING_FORWARD": The update is going forward. - + * "ROLLING_BACK": The update is being rolled back. - + * "PAUSED": The update is temporarily paused (inactive). - + * "ROLLED_OUT": The update is finished, all instances have been + * updated successfully. - "ROLLED_BACK": The update is finished, + * all instances have been reverted to the previous template. - + * "CANCELLED": The update is paused and no longer can be resumed, + * undefined how many instances are running in which template. + */ + status?: string; + /** + * [Output Only] An optional textual description of the current status of + * the update. + */ + statusMessage?: string; + /** + * [Output Only] User who requested the update, for example: + * user@example.com. + */ + user?: string; + } + /** + * Response returned by List method. + */ + interface Schema$RollingUpdateList { + /** + * Collection of requested updates. + */ + items?: Schema$RollingUpdate[]; + /** + * [Output Only] Type of the resource. + */ + kind?: string; + /** + * A token used to continue a truncated list request. + */ + nextPageToken?: string; + /** + * [Output Only] The fully qualified URL for the resource. + */ + selfLink?: string; + } + class Resource$Rollingupdates { + root: Replicapoolupdater; + constructor(root: Replicapoolupdater); + getRoot(): Replicapoolupdater; + /** + * replicapoolupdater.rollingUpdates.cancel + * @desc Cancels an update. The update must be PAUSED before it can be + * cancelled. This has no effect if the update is already CANCELLED. + * @alias replicapoolupdater.rollingUpdates.cancel + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project The Google Developers Console project name. + * @param {string} params.rollingUpdate The name of the update. + * @param {string} params.zone The name of the zone in which the update's target resides. + * @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 + */ + cancel(params?: Params$Resource$Rollingupdates$Cancel, options?: MethodOptions): AxiosPromise; + cancel(params: Params$Resource$Rollingupdates$Cancel, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + cancel(params: Params$Resource$Rollingupdates$Cancel, callback: BodyResponseCallback): void; + cancel(callback: BodyResponseCallback): void; + /** + * replicapoolupdater.rollingUpdates.get + * @desc Returns information about an update. + * @alias replicapoolupdater.rollingUpdates.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project The Google Developers Console project name. + * @param {string} params.rollingUpdate The name of the update. + * @param {string} params.zone The name of the zone in which the update's target resides. + * @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?: Params$Resource$Rollingupdates$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Rollingupdates$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Rollingupdates$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * replicapoolupdater.rollingUpdates.insert + * @desc Inserts and starts a new update. + * @alias replicapoolupdater.rollingUpdates.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project The Google Developers Console project name. + * @param {string} params.zone The name of the zone in which the update's target resides. + * @param {().RollingUpdate} 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?: Params$Resource$Rollingupdates$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Rollingupdates$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Rollingupdates$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * replicapoolupdater.rollingUpdates.list + * @desc Lists recent updates for a given managed instance group, in reverse + * chronological order and paginated format. + * @alias replicapoolupdater.rollingUpdates.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter Optional. Filter expression for filtering listed resources. + * @param {integer=} params.maxResults Optional. Maximum count of results to be returned. Maximum value is 500 and default value is 500. + * @param {string=} params.pageToken Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request. + * @param {string} params.project The Google Developers Console project name. + * @param {string} params.zone The name of the zone in which the update's target resides. + * @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?: Params$Resource$Rollingupdates$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Rollingupdates$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Rollingupdates$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * replicapoolupdater.rollingUpdates.listInstanceUpdates + * @desc Lists the current status for each instance within a given update. + * @alias replicapoolupdater.rollingUpdates.listInstanceUpdates + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter Optional. Filter expression for filtering listed resources. + * @param {integer=} params.maxResults Optional. Maximum count of results to be returned. Maximum value is 500 and default value is 500. + * @param {string=} params.pageToken Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request. + * @param {string} params.project The Google Developers Console project name. + * @param {string} params.rollingUpdate The name of the update. + * @param {string} params.zone The name of the zone in which the update's target resides. + * @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 + */ + listInstanceUpdates(params?: Params$Resource$Rollingupdates$Listinstanceupdates, options?: MethodOptions): AxiosPromise; + listInstanceUpdates(params: Params$Resource$Rollingupdates$Listinstanceupdates, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listInstanceUpdates(params: Params$Resource$Rollingupdates$Listinstanceupdates, callback: BodyResponseCallback): void; + listInstanceUpdates(callback: BodyResponseCallback): void; + /** + * replicapoolupdater.rollingUpdates.pause + * @desc Pauses the update in state from ROLLING_FORWARD or ROLLING_BACK. + * Has no effect if invoked when the state of the update is PAUSED. + * @alias replicapoolupdater.rollingUpdates.pause + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project The Google Developers Console project name. + * @param {string} params.rollingUpdate The name of the update. + * @param {string} params.zone The name of the zone in which the update's target resides. + * @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 + */ + pause(params?: Params$Resource$Rollingupdates$Pause, options?: MethodOptions): AxiosPromise; + pause(params: Params$Resource$Rollingupdates$Pause, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + pause(params: Params$Resource$Rollingupdates$Pause, callback: BodyResponseCallback): void; + pause(callback: BodyResponseCallback): void; + /** + * replicapoolupdater.rollingUpdates.resume + * @desc Continues an update in PAUSED state. Has no effect if invoked when + * the state of the update is ROLLED_OUT. + * @alias replicapoolupdater.rollingUpdates.resume + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project The Google Developers Console project name. + * @param {string} params.rollingUpdate The name of the update. + * @param {string} params.zone The name of the zone in which the update's target resides. + * @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 + */ + resume(params?: Params$Resource$Rollingupdates$Resume, options?: MethodOptions): AxiosPromise; + resume(params: Params$Resource$Rollingupdates$Resume, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + resume(params: Params$Resource$Rollingupdates$Resume, callback: BodyResponseCallback): void; + resume(callback: BodyResponseCallback): void; + /** + * replicapoolupdater.rollingUpdates.rollback + * @desc Rolls back the update in state from ROLLING_FORWARD or PAUSED. Has + * no effect if invoked when the state of the update is ROLLED_BACK. + * @alias replicapoolupdater.rollingUpdates.rollback + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project The Google Developers Console project name. + * @param {string} params.rollingUpdate The name of the update. + * @param {string} params.zone The name of the zone in which the update's target resides. + * @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 + */ + rollback(params?: Params$Resource$Rollingupdates$Rollback, options?: MethodOptions): AxiosPromise; + rollback(params: Params$Resource$Rollingupdates$Rollback, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + rollback(params: Params$Resource$Rollingupdates$Rollback, callback: BodyResponseCallback): void; + rollback(callback: BodyResponseCallback): void; + } + interface Params$Resource$Rollingupdates$Cancel { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The Google Developers Console project name. + */ + project?: string; + /** + * The name of the update. + */ + rollingUpdate?: string; + /** + * The name of the zone in which the update's target resides. + */ + zone?: string; + } + interface Params$Resource$Rollingupdates$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The Google Developers Console project name. + */ + project?: string; + /** + * The name of the update. + */ + rollingUpdate?: string; + /** + * The name of the zone in which the update's target resides. + */ + zone?: string; + } + interface Params$Resource$Rollingupdates$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The Google Developers Console project name. + */ + project?: string; + /** + * The name of the zone in which the update's target resides. + */ + zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RollingUpdate; + } + interface Params$Resource$Rollingupdates$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. Filter expression for filtering listed resources. + */ + filter?: string; + /** + * Optional. Maximum count of results to be returned. Maximum value is 500 + * and default value is 500. + */ + maxResults?: number; + /** + * Optional. Tag returned by a previous list request truncated by + * maxResults. Used to continue a previous list request. + */ + pageToken?: string; + /** + * The Google Developers Console project name. + */ + project?: string; + /** + * The name of the zone in which the update's target resides. + */ + zone?: string; + } + interface Params$Resource$Rollingupdates$Listinstanceupdates { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. Filter expression for filtering listed resources. + */ + filter?: string; + /** + * Optional. Maximum count of results to be returned. Maximum value is 500 + * and default value is 500. + */ + maxResults?: number; + /** + * Optional. Tag returned by a previous list request truncated by + * maxResults. Used to continue a previous list request. + */ + pageToken?: string; + /** + * The Google Developers Console project name. + */ + project?: string; + /** + * The name of the update. + */ + rollingUpdate?: string; + /** + * The name of the zone in which the update's target resides. + */ + zone?: string; + } + interface Params$Resource$Rollingupdates$Pause { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The Google Developers Console project name. + */ + project?: string; + /** + * The name of the update. + */ + rollingUpdate?: string; + /** + * The name of the zone in which the update's target resides. + */ + zone?: string; + } + interface Params$Resource$Rollingupdates$Resume { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The Google Developers Console project name. + */ + project?: string; + /** + * The name of the update. + */ + rollingUpdate?: string; + /** + * The name of the zone in which the update's target resides. + */ + zone?: string; + } + interface Params$Resource$Rollingupdates$Rollback { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The Google Developers Console project name. + */ + project?: string; + /** + * The name of the update. + */ + rollingUpdate?: string; + /** + * The name of the zone in which the update's target resides. + */ + zone?: string; + } + class Resource$Zoneoperations { + root: Replicapoolupdater; + constructor(root: Replicapoolupdater); + getRoot(): Replicapoolupdater; + /** + * replicapoolupdater.zoneOperations.get + * @desc Retrieves the specified zone-specific operation resource. + * @alias replicapoolupdater.zoneOperations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.operation Name of the operation resource to return. + * @param {string} params.project Name of the project scoping this request. + * @param {string} params.zone Name of the zone scoping this request. + * @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?: Params$Resource$Zoneoperations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Zoneoperations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Zoneoperations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * replicapoolupdater.zoneOperations.list + * @desc Retrieves the list of Operation resources contained within the + * specified zone. + * @alias replicapoolupdater.zoneOperations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter Optional. Filter expression for filtering listed resources. + * @param {integer=} params.maxResults Optional. Maximum count of results to be returned. Maximum value is 500 and default value is 500. + * @param {string=} params.pageToken Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request. + * @param {string} params.project Name of the project scoping this request. + * @param {string} params.zone Name of the zone scoping this request. + * @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?: Params$Resource$Zoneoperations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Zoneoperations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Zoneoperations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Zoneoperations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the operation resource to return. + */ + operation?: string; + /** + * Name of the project scoping this request. + */ + project?: string; + /** + * Name of the zone scoping this request. + */ + zone?: string; + } + interface Params$Resource$Zoneoperations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional. Filter expression for filtering listed resources. + */ + filter?: string; + /** + * Optional. Maximum count of results to be returned. Maximum value is 500 + * and default value is 500. + */ + maxResults?: number; + /** + * Optional. Tag returned by a previous list request truncated by + * maxResults. Used to continue a previous list request. + */ + pageToken?: string; + /** + * Name of the project scoping this request. + */ + project?: string; + /** + * Name of the zone scoping this request. + */ + zone?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/replicapoolupdater/v1beta1.js b/express-server/node_modules/googleapis/build/src/apis/replicapoolupdater/v1beta1.js new file mode 100644 index 00000000..30155f1f --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/replicapoolupdater/v1beta1.js @@ -0,0 +1,398 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var replicapoolupdater_v1beta1; +(function (replicapoolupdater_v1beta1) { + /** + * Google Compute Engine Instance Group Updater API + * + * [Deprecated. Please use compute.instanceGroupManagers.update method. + * replicapoolupdater API will be disabled after December 30th, 2016] Updates + * groups of Compute Engine instances. + * + * @example + * const {google} = require('googleapis'); + * const replicapoolupdater = google.replicapoolupdater('v1beta1'); + * + * @namespace replicapoolupdater + * @type {Function} + * @version v1beta1 + * @variation v1beta1 + * @param {object=} options Options for Replicapoolupdater + */ + class Replicapoolupdater { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.rollingUpdates = new Resource$Rollingupdates(this); + this.zoneOperations = new Resource$Zoneoperations(this); + } + getRoot() { + return this.root; + } + } + replicapoolupdater_v1beta1.Replicapoolupdater = Replicapoolupdater; + class Resource$Rollingupdates { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + cancel(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/replicapoolupdater/v1beta1/projects/{project}/zones/{zone}/rollingUpdates/{rollingUpdate}/cancel') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'rollingUpdate'], + pathParams: ['project', 'rollingUpdate', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/replicapoolupdater/v1beta1/projects/{project}/zones/{zone}/rollingUpdates/{rollingUpdate}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'rollingUpdate'], + pathParams: ['project', 'rollingUpdate', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/replicapoolupdater/v1beta1/projects/{project}/zones/{zone}/rollingUpdates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/replicapoolupdater/v1beta1/projects/{project}/zones/{zone}/rollingUpdates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listInstanceUpdates(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/replicapoolupdater/v1beta1/projects/{project}/zones/{zone}/rollingUpdates/{rollingUpdate}/instanceUpdates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'rollingUpdate'], + pathParams: ['project', 'rollingUpdate', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + pause(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/replicapoolupdater/v1beta1/projects/{project}/zones/{zone}/rollingUpdates/{rollingUpdate}/pause') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'rollingUpdate'], + pathParams: ['project', 'rollingUpdate', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + resume(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/replicapoolupdater/v1beta1/projects/{project}/zones/{zone}/rollingUpdates/{rollingUpdate}/resume') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'rollingUpdate'], + pathParams: ['project', 'rollingUpdate', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + rollback(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/replicapoolupdater/v1beta1/projects/{project}/zones/{zone}/rollingUpdates/{rollingUpdate}/rollback') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'zone', 'rollingUpdate'], + pathParams: ['project', 'rollingUpdate', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + replicapoolupdater_v1beta1.Resource$Rollingupdates = Resource$Rollingupdates; + class Resource$Zoneoperations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/replicapoolupdater/v1beta1/projects/{project}/zones/{zone}/operations/{operation}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone', 'operation'], + pathParams: ['operation', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/replicapoolupdater/v1beta1/projects/{project}/zones/{zone}/operations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + replicapoolupdater_v1beta1.Resource$Zoneoperations = Resource$Zoneoperations; +})(replicapoolupdater_v1beta1 = exports.replicapoolupdater_v1beta1 || (exports.replicapoolupdater_v1beta1 = {})); +//# sourceMappingURL=v1beta1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/replicapoolupdater/v1beta1.js.map b/express-server/node_modules/googleapis/build/src/apis/replicapoolupdater/v1beta1.js.map new file mode 100644 index 00000000..b50641d5 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/replicapoolupdater/v1beta1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1beta1.js","sourceRoot":"","sources":["../../../../src/apis/replicapoolupdater/v1beta1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/reseller/README.md b/express-server/node_modules/googleapis/build/src/apis/reseller/README.md new file mode 100644 index 00000000..3d55fab0 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/reseller/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/reseller + +> Creates and manages your customers and their subscriptions. + +## Installation + +```sh +$ npm install @google/reseller +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/reseller/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/reseller/index.d.ts new file mode 100644 index 00000000..5360bbd6 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/reseller/index.d.ts @@ -0,0 +1,6 @@ +import { reseller_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof reseller_v1.Reseller; +}; +export declare function reseller(version: 'v1'): reseller_v1.Reseller; +export declare function reseller(options: reseller_v1.Options): reseller_v1.Reseller; diff --git a/express-server/node_modules/googleapis/build/src/apis/reseller/index.js b/express-server/node_modules/googleapis/build/src/apis/reseller/index.js new file mode 100644 index 00000000..2592bf02 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/reseller/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.reseller_v1.Reseller, +}; +function reseller(versionOrOptions) { + return googleapis_common_1.getAPI('reseller', versionOrOptions, exports.VERSIONS, this); +} +exports.reseller = reseller; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/reseller/index.js.map b/express-server/node_modules/googleapis/build/src/apis/reseller/index.js.map new file mode 100644 index 00000000..4ba536e3 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/reseller/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/reseller/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAiC;AAEpB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,gBAAW,CAAC,QAAQ;CAC3B,CAAC;AAIF,SAAgB,QAAQ,CACM,gBAA0C;IACtE,OAAO,0BAAM,CAAI,UAAU,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACjE,CAAC;AAHD,4BAGC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/reseller/package.json b/express-server/node_modules/googleapis/build/src/apis/reseller/package.json new file mode 100644 index 00000000..89e7fcb6 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/reseller/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/reseller", + "version": "0.1.0", + "description": "reseller", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/reseller/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/reseller/v1.d.ts new file mode 100644 index 00000000..7e639185 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/reseller/v1.d.ts @@ -0,0 +1,1076 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace reseller_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Enterprise Apps Reseller API + * + * Creates and manages your customers and their subscriptions. + * + * @example + * const {google} = require('googleapis'); + * const reseller = google.reseller('v1'); + * + * @namespace reseller + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Reseller + */ + class Reseller { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + customers: Resource$Customers; + resellernotify: Resource$Resellernotify; + subscriptions: Resource$Subscriptions; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * JSON template for address of a customer. + */ + interface Schema$Address { + /** + * A customer's physical address. An address can be composed of one to + * three lines. The addressline2 and addressLine3 are optional. + */ + addressLine1?: string; + /** + * Line 2 of the address. + */ + addressLine2?: string; + /** + * Line 3 of the address. + */ + addressLine3?: string; + /** + * The customer contact's name. This is required. + */ + contactName?: string; + /** + * For countryCode information, see the ISO 3166 country code elements. + * Verify that country is approved for resale of Google products. This + * property is required when creating a new customer. + */ + countryCode?: string; + /** + * Identifies the resource as a customer address. Value: customers#address + */ + kind?: string; + /** + * An example of a locality value is the city of San Francisco. + */ + locality?: string; + /** + * The company or company division name. This is required. + */ + organizationName?: string; + /** + * A postalCode example is a postal zip code such as 94043. This property is + * required when creating a new customer. + */ + postalCode?: string; + /** + * An example of a region value is CA for the state of California. + */ + region?: string; + } + /** + * JSON template for the ChangePlan rpc request. + */ + interface Schema$ChangePlanRequest { + /** + * Google-issued code (100 char max) for discounted pricing on subscription + * plans. Deal code must be included in changePlan request in order to + * receive discounted rate. This property is optional. If a deal code has + * already been added to a subscription, this property may be left empty and + * the existing discounted rate will still apply (if not empty, only provide + * the deal code that is already present on the subscription). If a deal + * code has never been added to a subscription and this property is left + * blank, regular pricing will apply. + */ + dealCode?: string; + /** + * Identifies the resource as a subscription change plan request. Value: + * subscriptions#changePlanRequest + */ + kind?: string; + /** + * The planName property is required. This is the name of the + * subscription's payment plan. For more information about the Google + * payment plans, see API concepts. Possible values are: - + * ANNUAL_MONTHLY_PAY - The annual commitment plan with monthly payments - + * ANNUAL_YEARLY_PAY - The annual commitment plan with yearly payments - + * FLEXIBLE - The flexible plan - TRIAL - The 30-day free trial plan + */ + planName?: string; + /** + * This is an optional property. This purchase order (PO) information is for + * resellers to use for their company tracking usage. If a purchaseOrderId + * value is given it appears in the API responses and shows up in the + * invoice. The property accepts up to 80 plain text characters. + */ + purchaseOrderId?: string; + /** + * This is a required property. The seats property is the number of user + * seat licenses. + */ + seats?: Schema$Seats; + } + /** + * JSON template for a customer. + */ + interface Schema$Customer { + /** + * Like the "Customer email" in the reseller tools, this email is + * the secondary contact used if something happens to the customer's + * service such as service outage or a security issue. This property is + * required when creating a new customer and should not use the same domain + * as customerDomain. + */ + alternateEmail?: string; + /** + * The customer's primary domain name string. customerDomain is required + * when creating a new customer. Do not include the www prefix in the domain + * when adding a customer. + */ + customerDomain?: string; + /** + * Whether the customer's primary domain has been verified. + */ + customerDomainVerified?: boolean; + /** + * This property will always be returned in a response as the unique + * identifier generated by Google. In a request, this property can be either + * the primary domain or the unique identifier generated by Google. + */ + customerId?: string; + /** + * Identifies the resource as a customer. Value: reseller#customer + */ + kind?: string; + /** + * Customer contact phone number. This can be continuous numbers, with + * spaces, etc. But it must be a real phone number and not, for example, + * "123". See phone local format conventions. + */ + phoneNumber?: string; + /** + * A customer's address information. Each field has a limit of 255 + * charcters. + */ + postalAddress?: Schema$Address; + /** + * URL to customer's Admin console dashboard. The read-only URL is + * generated by the API service. This is used if your client application + * requires the customer to complete a task in the Admin console. + */ + resourceUiUrl?: string; + } + /** + * JSON template for a subscription renewal settings. + */ + interface Schema$RenewalSettings { + /** + * Identifies the resource as a subscription renewal setting. Value: + * subscriptions#renewalSettings + */ + kind?: string; + /** + * Renewal settings for the annual commitment plan. For more detailed + * information, see renewal options in the administrator help center. When + * renewing a subscription, the renewalType is a required property. + */ + renewalType?: string; + } + /** + * JSON template for resellernotify getwatchdetails response. + */ + interface Schema$ResellernotifyGetwatchdetailsResponse { + /** + * List of registered service accounts. + */ + serviceAccountEmailAddresses?: string[]; + /** + * Topic name of the PubSub + */ + topicName?: string; + } + /** + * JSON template for resellernotify response. + */ + interface Schema$ResellernotifyResource { + /** + * Topic name of the PubSub + */ + topicName?: string; + } + /** + * JSON template for subscription seats. + */ + interface Schema$Seats { + /** + * Identifies the resource as a subscription change plan request. Value: + * subscriptions#seats + */ + kind?: string; + /** + * Read-only field containing the current number of licensed seats for + * FLEXIBLE Google-Apps subscriptions and secondary subscriptions such as + * Google-Vault and Drive-storage. + */ + licensedNumberOfSeats?: number; + /** + * The maximumNumberOfSeats property is the maximum number of licenses that + * the customer can purchase. This property applies to plans other than the + * annual commitment plan. How a user's licenses are managed depends on + * the subscription's payment plan: - annual commitment plan (with + * monthly or yearly payments) — For this plan, a reseller is invoiced on + * the number of user licenses in the numberOfSeats property. The + * maximumNumberOfSeats property is a read-only property in the API's + * response. - flexible plan — For this plan, a reseller is invoiced on + * the actual number of users which is capped by the maximumNumberOfSeats. + * This is the maximum number of user licenses a customer has for user + * license provisioning. This quantity can be increased up to the maximum + * limit defined in the reseller's contract. And the minimum quantity is + * the current number of users in the customer account. - 30-day free + * trial plan — A subscription in a 30-day free trial is restricted to + * maximum 10 seats. + */ + maximumNumberOfSeats?: number; + /** + * The numberOfSeats property holds the customer's number of user + * licenses. How a user's licenses are managed depends on the + * subscription's plan: - annual commitment plan (with monthly or + * yearly pay) — For this plan, a reseller is invoiced on the number of user + * licenses in the numberOfSeats property. This is the maximum number of + * user licenses that a reseller's customer can create. The reseller can + * add more licenses, but once set, the numberOfSeats can not be reduced + * until renewal. The reseller is invoiced based on the numberOfSeats value + * regardless of how many of these user licenses are provisioned users. - + * flexible plan — For this plan, a reseller is invoiced on the actual + * number of users which is capped by the maximumNumberOfSeats. The + * numberOfSeats property is not used in the request or response for + * flexible plan customers. - 30-day free trial plan — The numberOfSeats + * property is not used in the request or response for an account in a + * 30-day trial. + */ + numberOfSeats?: number; + } + /** + * JSON template for a subscription. + */ + interface Schema$Subscription { + /** + * Read-only field that returns the current billing method for a + * subscription. + */ + billingMethod?: string; + /** + * The creationTime property is the date when subscription was created. It + * is in milliseconds using the Epoch format. See an example Epoch + * converter. + */ + creationTime?: string; + /** + * Primary domain name of the customer + */ + customerDomain?: string; + /** + * This property will always be returned in a response as the unique + * identifier generated by Google. In a request, this property can be either + * the primary domain or the unique identifier generated by Google. + */ + customerId?: string; + /** + * Google-issued code (100 char max) for discounted pricing on subscription + * plans. Deal code must be included in insert requests in order to receive + * discounted rate. This property is optional, regular pricing applies if + * left empty. + */ + dealCode?: string; + /** + * Identifies the resource as a Subscription. Value: reseller#subscription + */ + kind?: string; + /** + * The plan property is required. In this version of the API, the G Suite + * plans are the flexible plan, annual commitment plan, and the 30-day free + * trial plan. For more information about the API"s payment plans, see + * the API concepts. + */ + plan?: any; + /** + * This is an optional property. This purchase order (PO) information is for + * resellers to use for their company tracking usage. If a purchaseOrderId + * value is given it appears in the API responses and shows up in the + * invoice. The property accepts up to 80 plain text characters. + */ + purchaseOrderId?: string; + /** + * Renewal settings for the annual commitment plan. For more detailed + * information, see renewal options in the administrator help center. + */ + renewalSettings?: Schema$RenewalSettings; + /** + * URL to customer's Subscriptions page in the Admin console. The + * read-only URL is generated by the API service. This is used if your + * client application requires the customer to complete a task using the + * Subscriptions page in the Admin console. + */ + resourceUiUrl?: string; + /** + * This is a required property. The number and limit of user seat licenses + * in the plan. + */ + seats?: Schema$Seats; + /** + * A required property. The skuId is a unique system identifier for a + * product's SKU assigned to a customer in the subscription. For + * products and SKUs available in this version of the API, see Product and + * SKU IDs. + */ + skuId?: string; + /** + * Read-only external display name for a product's SKU assigned to a + * customer in the subscription. SKU names are subject to change at + * Google's discretion. For products and SKUs available in this version + * of the API, see Product and SKU IDs. + */ + skuName?: string; + /** + * This is an optional property. + */ + status?: string; + /** + * The subscriptionId is the subscription identifier and is unique for each + * customer. This is a required property. Since a subscriptionId changes + * when a subscription is updated, we recommend not using this ID as a key + * for persistent data. Use the subscriptionId as described in retrieve all + * reseller subscriptions. + */ + subscriptionId?: string; + /** + * Read-only field containing an enumerable of all the current suspension + * reasons for a subscription. It is possible for a subscription to have + * many concurrent, overlapping suspension reasons. A subscription's + * STATUS is SUSPENDED until all pending suspensions are removed. Possible + * options include: - PENDING_TOS_ACCEPTANCE - The customer has not logged + * in and accepted the G Suite Resold Terms of Services. - + * RENEWAL_WITH_TYPE_CANCEL - The customer's commitment ended and their + * service was cancelled at the end of their term. - RESELLER_INITIATED - + * A manual suspension invoked by a Reseller. - TRIAL_ENDED - The + * customer's trial expired without a plan selected. - OTHER - The + * customer is suspended for an internal Google reason (e.g. abuse or + * otherwise). + */ + suspensionReasons?: string[]; + /** + * Read-only transfer related information for the subscription. For more + * information, see retrieve transferable subscriptions for a customer. + */ + transferInfo?: any; + /** + * The G Suite annual commitment and flexible payment plans can be in a + * 30-day free trial. For more information, see the API concepts. + */ + trialSettings?: any; + } + /** + * JSON template for a subscription list. + */ + interface Schema$Subscriptions { + /** + * Identifies the resource as a collection of subscriptions. Value: + * reseller#subscriptions + */ + kind?: string; + /** + * The continuation token, used to page through large result sets. Provide + * this value in a subsequent request to return the next page of results. + */ + nextPageToken?: string; + /** + * The subscriptions in this page of results. + */ + subscriptions?: Schema$Subscription[]; + } + class Resource$Customers { + root: Reseller; + constructor(root: Reseller); + getRoot(): Reseller; + /** + * reseller.customers.get + * @desc Get a customer account. + * @alias reseller.customers.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customerId Either the customer's primary domain name or the customer's unique identifier. If using the domain name, we do not recommend using a customerId as a key for persistent data. If the domain name for a customerId is changed, the Google system automatically updates. + * @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?: Params$Resource$Customers$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Customers$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Customers$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * reseller.customers.insert + * @desc Order a new customer's account. + * @alias reseller.customers.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.customerAuthToken The customerAuthToken query string is required when creating a resold account that transfers a direct customer's subscription or transfers another reseller customer's subscription to your reseller management. This is a hexadecimal authentication token needed to complete the subscription transfer. For more information, see the administrator help center. + * @param {().Customer} 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?: Params$Resource$Customers$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Customers$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Customers$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * reseller.customers.patch + * @desc Update a customer account's settings. This method supports patch + * semantics. + * @alias reseller.customers.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customerId Either the customer's primary domain name or the customer's unique identifier. If using the domain name, we do not recommend using a customerId as a key for persistent data. If the domain name for a customerId is changed, the Google system automatically updates. + * @param {().Customer} 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 + */ + patch(params?: Params$Resource$Customers$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Customers$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Customers$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * reseller.customers.update + * @desc Update a customer account's settings. + * @alias reseller.customers.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customerId Either the customer's primary domain name or the customer's unique identifier. If using the domain name, we do not recommend using a customerId as a key for persistent data. If the domain name for a customerId is changed, the Google system automatically updates. + * @param {().Customer} 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?: Params$Resource$Customers$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Customers$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Customers$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Customers$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Either the customer's primary domain name or the customer's unique + * identifier. If using the domain name, we do not recommend using a + * customerId as a key for persistent data. If the domain name for a + * customerId is changed, the Google system automatically updates. + */ + customerId?: string; + } + interface Params$Resource$Customers$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The customerAuthToken query string is required when creating a resold + * account that transfers a direct customer's subscription or transfers + * another reseller customer's subscription to your reseller management. + * This is a hexadecimal authentication token needed to complete the + * subscription transfer. For more information, see the administrator help + * center. + */ + customerAuthToken?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Customer; + } + interface Params$Resource$Customers$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Either the customer's primary domain name or the customer's unique + * identifier. If using the domain name, we do not recommend using a + * customerId as a key for persistent data. If the domain name for a + * customerId is changed, the Google system automatically updates. + */ + customerId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Customer; + } + interface Params$Resource$Customers$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Either the customer's primary domain name or the customer's unique + * identifier. If using the domain name, we do not recommend using a + * customerId as a key for persistent data. If the domain name for a + * customerId is changed, the Google system automatically updates. + */ + customerId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Customer; + } + class Resource$Resellernotify { + root: Reseller; + constructor(root: Reseller); + getRoot(): Reseller; + /** + * reseller.resellernotify.getwatchdetails + * @desc Returns all the details of the watch corresponding to the reseller. + * @alias reseller.resellernotify.getwatchdetails + * @memberOf! () + * + * @param {object=} params Parameters for request + * @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 + */ + getwatchdetails(params?: Params$Resource$Resellernotify$Getwatchdetails, options?: MethodOptions): AxiosPromise; + getwatchdetails(params: Params$Resource$Resellernotify$Getwatchdetails, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getwatchdetails(params: Params$Resource$Resellernotify$Getwatchdetails, callback: BodyResponseCallback): void; + getwatchdetails(callback: BodyResponseCallback): void; + /** + * reseller.resellernotify.register + * @desc Registers a Reseller for receiving notifications. + * @alias reseller.resellernotify.register + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {string=} params.serviceAccountEmailAddress The service account which will own the created Cloud-PubSub topic. + * @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 + */ + register(params?: Params$Resource$Resellernotify$Register, options?: MethodOptions): AxiosPromise; + register(params: Params$Resource$Resellernotify$Register, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + register(params: Params$Resource$Resellernotify$Register, callback: BodyResponseCallback): void; + register(callback: BodyResponseCallback): void; + /** + * reseller.resellernotify.unregister + * @desc Unregisters a Reseller for receiving notifications. + * @alias reseller.resellernotify.unregister + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {string=} params.serviceAccountEmailAddress The service account which owns the Cloud-PubSub topic. + * @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 + */ + unregister(params?: Params$Resource$Resellernotify$Unregister, options?: MethodOptions): AxiosPromise; + unregister(params: Params$Resource$Resellernotify$Unregister, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + unregister(params: Params$Resource$Resellernotify$Unregister, callback: BodyResponseCallback): void; + unregister(callback: BodyResponseCallback): void; + } + interface Params$Resource$Resellernotify$Getwatchdetails { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } + interface Params$Resource$Resellernotify$Register { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The service account which will own the created Cloud-PubSub topic. + */ + serviceAccountEmailAddress?: string; + } + interface Params$Resource$Resellernotify$Unregister { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The service account which owns the Cloud-PubSub topic. + */ + serviceAccountEmailAddress?: string; + } + class Resource$Subscriptions { + root: Reseller; + constructor(root: Reseller); + getRoot(): Reseller; + /** + * reseller.subscriptions.activate + * @desc Activates a subscription previously suspended by the reseller + * @alias reseller.subscriptions.activate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customerId Either the customer's primary domain name or the customer's unique identifier. If using the domain name, we do not recommend using a customerId as a key for persistent data. If the domain name for a customerId is changed, the Google system automatically updates. + * @param {string} params.subscriptionId This is a required property. The subscriptionId is the subscription identifier and is unique for each customer. Since a subscriptionId changes when a subscription is updated, we recommend to not use this ID as a key for persistent data. And the subscriptionId can be found using the retrieve all reseller subscriptions method. + * @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 + */ + activate(params?: Params$Resource$Subscriptions$Activate, options?: MethodOptions): AxiosPromise; + activate(params: Params$Resource$Subscriptions$Activate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + activate(params: Params$Resource$Subscriptions$Activate, callback: BodyResponseCallback): void; + activate(callback: BodyResponseCallback): void; + /** + * reseller.subscriptions.changePlan + * @desc Update a subscription plan. Use this method to update a plan for a + * 30-day trial or a flexible plan subscription to an annual commitment plan + * with monthly or yearly payments. + * @alias reseller.subscriptions.changePlan + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customerId Either the customer's primary domain name or the customer's unique identifier. If using the domain name, we do not recommend using a customerId as a key for persistent data. If the domain name for a customerId is changed, the Google system automatically updates. + * @param {string} params.subscriptionId This is a required property. The subscriptionId is the subscription identifier and is unique for each customer. Since a subscriptionId changes when a subscription is updated, we recommend to not use this ID as a key for persistent data. And the subscriptionId can be found using the retrieve all reseller subscriptions method. + * @param {().ChangePlanRequest} 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 + */ + changePlan(params?: Params$Resource$Subscriptions$Changeplan, options?: MethodOptions): AxiosPromise; + changePlan(params: Params$Resource$Subscriptions$Changeplan, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + changePlan(params: Params$Resource$Subscriptions$Changeplan, callback: BodyResponseCallback): void; + changePlan(callback: BodyResponseCallback): void; + /** + * reseller.subscriptions.changeRenewalSettings + * @desc Update a user license's renewal settings. This is applicable for + * accounts with annual commitment plans only. + * @alias reseller.subscriptions.changeRenewalSettings + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customerId Either the customer's primary domain name or the customer's unique identifier. If using the domain name, we do not recommend using a customerId as a key for persistent data. If the domain name for a customerId is changed, the Google system automatically updates. + * @param {string} params.subscriptionId This is a required property. The subscriptionId is the subscription identifier and is unique for each customer. Since a subscriptionId changes when a subscription is updated, we recommend to not use this ID as a key for persistent data. And the subscriptionId can be found using the retrieve all reseller subscriptions method. + * @param {().RenewalSettings} 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 + */ + changeRenewalSettings(params?: Params$Resource$Subscriptions$Changerenewalsettings, options?: MethodOptions): AxiosPromise; + changeRenewalSettings(params: Params$Resource$Subscriptions$Changerenewalsettings, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + changeRenewalSettings(params: Params$Resource$Subscriptions$Changerenewalsettings, callback: BodyResponseCallback): void; + changeRenewalSettings(callback: BodyResponseCallback): void; + /** + * reseller.subscriptions.changeSeats + * @desc Update a subscription's user license settings. + * @alias reseller.subscriptions.changeSeats + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customerId Either the customer's primary domain name or the customer's unique identifier. If using the domain name, we do not recommend using a customerId as a key for persistent data. If the domain name for a customerId is changed, the Google system automatically updates. + * @param {string} params.subscriptionId This is a required property. The subscriptionId is the subscription identifier and is unique for each customer. Since a subscriptionId changes when a subscription is updated, we recommend to not use this ID as a key for persistent data. And the subscriptionId can be found using the retrieve all reseller subscriptions method. + * @param {().Seats} 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 + */ + changeSeats(params?: Params$Resource$Subscriptions$Changeseats, options?: MethodOptions): AxiosPromise; + changeSeats(params: Params$Resource$Subscriptions$Changeseats, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + changeSeats(params: Params$Resource$Subscriptions$Changeseats, callback: BodyResponseCallback): void; + changeSeats(callback: BodyResponseCallback): void; + /** + * reseller.subscriptions.delete + * @desc Cancel, suspend or transfer a subscription to direct. + * @alias reseller.subscriptions.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customerId Either the customer's primary domain name or the customer's unique identifier. If using the domain name, we do not recommend using a customerId as a key for persistent data. If the domain name for a customerId is changed, the Google system automatically updates. + * @param {string} params.deletionType The deletionType query string enables the cancellation, downgrade, or suspension of a subscription. + * @param {string} params.subscriptionId This is a required property. The subscriptionId is the subscription identifier and is unique for each customer. Since a subscriptionId changes when a subscription is updated, we recommend to not use this ID as a key for persistent data. And the subscriptionId can be found using the retrieve all reseller subscriptions method. + * @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?: Params$Resource$Subscriptions$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Subscriptions$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Subscriptions$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * reseller.subscriptions.get + * @desc Get a specific subscription. + * @alias reseller.subscriptions.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customerId Either the customer's primary domain name or the customer's unique identifier. If using the domain name, we do not recommend using a customerId as a key for persistent data. If the domain name for a customerId is changed, the Google system automatically updates. + * @param {string} params.subscriptionId This is a required property. The subscriptionId is the subscription identifier and is unique for each customer. Since a subscriptionId changes when a subscription is updated, we recommend to not use this ID as a key for persistent data. And the subscriptionId can be found using the retrieve all reseller subscriptions method. + * @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?: Params$Resource$Subscriptions$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Subscriptions$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Subscriptions$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * reseller.subscriptions.insert + * @desc Create or transfer a subscription. + * @alias reseller.subscriptions.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.customerAuthToken The customerAuthToken query string is required when creating a resold account that transfers a direct customer's subscription or transfers another reseller customer's subscription to your reseller management. This is a hexadecimal authentication token needed to complete the subscription transfer. For more information, see the administrator help center. + * @param {string} params.customerId Either the customer's primary domain name or the customer's unique identifier. If using the domain name, we do not recommend using a customerId as a key for persistent data. If the domain name for a customerId is changed, the Google system automatically updates. + * @param {().Subscription} 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?: Params$Resource$Subscriptions$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Subscriptions$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Subscriptions$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * reseller.subscriptions.list + * @desc List of subscriptions managed by the reseller. The list can be all + * subscriptions, all of a customer's subscriptions, or all of a customer's + * transferable subscriptions. + * @alias reseller.subscriptions.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {string=} params.customerAuthToken The customerAuthToken query string is required when creating a resold account that transfers a direct customer's subscription or transfers another reseller customer's subscription to your reseller management. This is a hexadecimal authentication token needed to complete the subscription transfer. For more information, see the administrator help center. + * @param {string=} params.customerId Either the customer's primary domain name or the customer's unique identifier. If using the domain name, we do not recommend using a customerId as a key for persistent data. If the domain name for a customerId is changed, the Google system automatically updates. + * @param {string=} params.customerNamePrefix When retrieving all of your subscriptions and filtering for specific customers, you can enter a prefix for a customer name. Using an example customer group that includes exam.com, example20.com and example.com: - exa -- Returns all customer names that start with 'exa' which could include exam.com, example20.com, and example.com. A name prefix is similar to using a regular expression's asterisk, exa*. - example -- Returns example20.com and example.com. + * @param {integer=} params.maxResults When retrieving a large list, the maxResults is the maximum number of results per page. The nextPageToken value takes you to the next page. The default is 20. + * @param {string=} params.pageToken Token to specify next page in the list + * @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?: Params$Resource$Subscriptions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Subscriptions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Subscriptions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * reseller.subscriptions.startPaidService + * @desc Immediately move a 30-day free trial subscription to a paid service + * subscription. + * @alias reseller.subscriptions.startPaidService + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customerId Either the customer's primary domain name or the customer's unique identifier. If using the domain name, we do not recommend using a customerId as a key for persistent data. If the domain name for a customerId is changed, the Google system automatically updates. + * @param {string} params.subscriptionId This is a required property. The subscriptionId is the subscription identifier and is unique for each customer. Since a subscriptionId changes when a subscription is updated, we recommend to not use this ID as a key for persistent data. And the subscriptionId can be found using the retrieve all reseller subscriptions method. + * @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 + */ + startPaidService(params?: Params$Resource$Subscriptions$Startpaidservice, options?: MethodOptions): AxiosPromise; + startPaidService(params: Params$Resource$Subscriptions$Startpaidservice, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + startPaidService(params: Params$Resource$Subscriptions$Startpaidservice, callback: BodyResponseCallback): void; + startPaidService(callback: BodyResponseCallback): void; + /** + * reseller.subscriptions.suspend + * @desc Suspends an active subscription. + * @alias reseller.subscriptions.suspend + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.customerId Either the customer's primary domain name or the customer's unique identifier. If using the domain name, we do not recommend using a customerId as a key for persistent data. If the domain name for a customerId is changed, the Google system automatically updates. + * @param {string} params.subscriptionId This is a required property. The subscriptionId is the subscription identifier and is unique for each customer. Since a subscriptionId changes when a subscription is updated, we recommend to not use this ID as a key for persistent data. And the subscriptionId can be found using the retrieve all reseller subscriptions method. + * @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 + */ + suspend(params?: Params$Resource$Subscriptions$Suspend, options?: MethodOptions): AxiosPromise; + suspend(params: Params$Resource$Subscriptions$Suspend, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + suspend(params: Params$Resource$Subscriptions$Suspend, callback: BodyResponseCallback): void; + suspend(callback: BodyResponseCallback): void; + } + interface Params$Resource$Subscriptions$Activate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Either the customer's primary domain name or the customer's unique + * identifier. If using the domain name, we do not recommend using a + * customerId as a key for persistent data. If the domain name for a + * customerId is changed, the Google system automatically updates. + */ + customerId?: string; + /** + * This is a required property. The subscriptionId is the subscription + * identifier and is unique for each customer. Since a subscriptionId + * changes when a subscription is updated, we recommend to not use this ID + * as a key for persistent data. And the subscriptionId can be found using + * the retrieve all reseller subscriptions method. + */ + subscriptionId?: string; + } + interface Params$Resource$Subscriptions$Changeplan { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Either the customer's primary domain name or the customer's unique + * identifier. If using the domain name, we do not recommend using a + * customerId as a key for persistent data. If the domain name for a + * customerId is changed, the Google system automatically updates. + */ + customerId?: string; + /** + * This is a required property. The subscriptionId is the subscription + * identifier and is unique for each customer. Since a subscriptionId + * changes when a subscription is updated, we recommend to not use this ID + * as a key for persistent data. And the subscriptionId can be found using + * the retrieve all reseller subscriptions method. + */ + subscriptionId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ChangePlanRequest; + } + interface Params$Resource$Subscriptions$Changerenewalsettings { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Either the customer's primary domain name or the customer's unique + * identifier. If using the domain name, we do not recommend using a + * customerId as a key for persistent data. If the domain name for a + * customerId is changed, the Google system automatically updates. + */ + customerId?: string; + /** + * This is a required property. The subscriptionId is the subscription + * identifier and is unique for each customer. Since a subscriptionId + * changes when a subscription is updated, we recommend to not use this ID + * as a key for persistent data. And the subscriptionId can be found using + * the retrieve all reseller subscriptions method. + */ + subscriptionId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RenewalSettings; + } + interface Params$Resource$Subscriptions$Changeseats { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Either the customer's primary domain name or the customer's unique + * identifier. If using the domain name, we do not recommend using a + * customerId as a key for persistent data. If the domain name for a + * customerId is changed, the Google system automatically updates. + */ + customerId?: string; + /** + * This is a required property. The subscriptionId is the subscription + * identifier and is unique for each customer. Since a subscriptionId + * changes when a subscription is updated, we recommend to not use this ID + * as a key for persistent data. And the subscriptionId can be found using + * the retrieve all reseller subscriptions method. + */ + subscriptionId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Seats; + } + interface Params$Resource$Subscriptions$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Either the customer's primary domain name or the customer's unique + * identifier. If using the domain name, we do not recommend using a + * customerId as a key for persistent data. If the domain name for a + * customerId is changed, the Google system automatically updates. + */ + customerId?: string; + /** + * The deletionType query string enables the cancellation, downgrade, or + * suspension of a subscription. + */ + deletionType?: string; + /** + * This is a required property. The subscriptionId is the subscription + * identifier and is unique for each customer. Since a subscriptionId + * changes when a subscription is updated, we recommend to not use this ID + * as a key for persistent data. And the subscriptionId can be found using + * the retrieve all reseller subscriptions method. + */ + subscriptionId?: string; + } + interface Params$Resource$Subscriptions$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Either the customer's primary domain name or the customer's unique + * identifier. If using the domain name, we do not recommend using a + * customerId as a key for persistent data. If the domain name for a + * customerId is changed, the Google system automatically updates. + */ + customerId?: string; + /** + * This is a required property. The subscriptionId is the subscription + * identifier and is unique for each customer. Since a subscriptionId + * changes when a subscription is updated, we recommend to not use this ID + * as a key for persistent data. And the subscriptionId can be found using + * the retrieve all reseller subscriptions method. + */ + subscriptionId?: string; + } + interface Params$Resource$Subscriptions$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The customerAuthToken query string is required when creating a resold + * account that transfers a direct customer's subscription or transfers + * another reseller customer's subscription to your reseller management. + * This is a hexadecimal authentication token needed to complete the + * subscription transfer. For more information, see the administrator help + * center. + */ + customerAuthToken?: string; + /** + * Either the customer's primary domain name or the customer's unique + * identifier. If using the domain name, we do not recommend using a + * customerId as a key for persistent data. If the domain name for a + * customerId is changed, the Google system automatically updates. + */ + customerId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Subscription; + } + interface Params$Resource$Subscriptions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The customerAuthToken query string is required when creating a resold + * account that transfers a direct customer's subscription or transfers + * another reseller customer's subscription to your reseller management. + * This is a hexadecimal authentication token needed to complete the + * subscription transfer. For more information, see the administrator help + * center. + */ + customerAuthToken?: string; + /** + * Either the customer's primary domain name or the customer's unique + * identifier. If using the domain name, we do not recommend using a + * customerId as a key for persistent data. If the domain name for a + * customerId is changed, the Google system automatically updates. + */ + customerId?: string; + /** + * When retrieving all of your subscriptions and filtering for specific + * customers, you can enter a prefix for a customer name. Using an example + * customer group that includes exam.com, example20.com and example.com: - + * exa -- Returns all customer names that start with 'exa' which could + * include exam.com, example20.com, and example.com. A name prefix is + * similar to using a regular expression's asterisk, exa*. - example -- + * Returns example20.com and example.com. + */ + customerNamePrefix?: string; + /** + * When retrieving a large list, the maxResults is the maximum number of + * results per page. The nextPageToken value takes you to the next page. The + * default is 20. + */ + maxResults?: number; + /** + * Token to specify next page in the list + */ + pageToken?: string; + } + interface Params$Resource$Subscriptions$Startpaidservice { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Either the customer's primary domain name or the customer's unique + * identifier. If using the domain name, we do not recommend using a + * customerId as a key for persistent data. If the domain name for a + * customerId is changed, the Google system automatically updates. + */ + customerId?: string; + /** + * This is a required property. The subscriptionId is the subscription + * identifier and is unique for each customer. Since a subscriptionId + * changes when a subscription is updated, we recommend to not use this ID + * as a key for persistent data. And the subscriptionId can be found using + * the retrieve all reseller subscriptions method. + */ + subscriptionId?: string; + } + interface Params$Resource$Subscriptions$Suspend { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Either the customer's primary domain name or the customer's unique + * identifier. If using the domain name, we do not recommend using a + * customerId as a key for persistent data. If the domain name for a + * customerId is changed, the Google system automatically updates. + */ + customerId?: string; + /** + * This is a required property. The subscriptionId is the subscription + * identifier and is unique for each customer. Since a subscriptionId + * changes when a subscription is updated, we recommend to not use this ID + * as a key for persistent data. And the subscriptionId can be found using + * the retrieve all reseller subscriptions method. + */ + subscriptionId?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/reseller/v1.js b/express-server/node_modules/googleapis/build/src/apis/reseller/v1.js new file mode 100644 index 00000000..14fba68c --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/reseller/v1.js @@ -0,0 +1,623 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var reseller_v1; +(function (reseller_v1) { + /** + * Enterprise Apps Reseller API + * + * Creates and manages your customers and their subscriptions. + * + * @example + * const {google} = require('googleapis'); + * const reseller = google.reseller('v1'); + * + * @namespace reseller + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Reseller + */ + class Reseller { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.customers = new Resource$Customers(this); + this.resellernotify = new Resource$Resellernotify(this); + this.subscriptions = new Resource$Subscriptions(this); + } + getRoot() { + return this.root; + } + } + reseller_v1.Reseller = Reseller; + class Resource$Customers { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/apps/reseller/v1/customers/{customerId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/apps/reseller/v1/customers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/apps/reseller/v1/customers/{customerId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/apps/reseller/v1/customers/{customerId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + reseller_v1.Resource$Customers = Resource$Customers; + class Resource$Resellernotify { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + getwatchdetails(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/apps/reseller/v1/resellernotify/getwatchdetails') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + register(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/apps/reseller/v1/resellernotify/register') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + unregister(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/apps/reseller/v1/resellernotify/unregister') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + reseller_v1.Resource$Resellernotify = Resource$Resellernotify; + class Resource$Subscriptions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + activate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/apps/reseller/v1/customers/{customerId}/subscriptions/{subscriptionId}/activate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['customerId', 'subscriptionId'], + pathParams: ['customerId', 'subscriptionId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + changePlan(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/apps/reseller/v1/customers/{customerId}/subscriptions/{subscriptionId}/changePlan') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['customerId', 'subscriptionId'], + pathParams: ['customerId', 'subscriptionId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + changeRenewalSettings(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/apps/reseller/v1/customers/{customerId}/subscriptions/{subscriptionId}/changeRenewalSettings') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['customerId', 'subscriptionId'], + pathParams: ['customerId', 'subscriptionId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + changeSeats(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/apps/reseller/v1/customers/{customerId}/subscriptions/{subscriptionId}/changeSeats') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['customerId', 'subscriptionId'], + pathParams: ['customerId', 'subscriptionId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/apps/reseller/v1/customers/{customerId}/subscriptions/{subscriptionId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['customerId', 'subscriptionId', 'deletionType'], + pathParams: ['customerId', 'subscriptionId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/apps/reseller/v1/customers/{customerId}/subscriptions/{subscriptionId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['customerId', 'subscriptionId'], + pathParams: ['customerId', 'subscriptionId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/apps/reseller/v1/customers/{customerId}/subscriptions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/apps/reseller/v1/subscriptions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + startPaidService(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/apps/reseller/v1/customers/{customerId}/subscriptions/{subscriptionId}/startPaidService') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['customerId', 'subscriptionId'], + pathParams: ['customerId', 'subscriptionId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + suspend(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/apps/reseller/v1/customers/{customerId}/subscriptions/{subscriptionId}/suspend') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['customerId', 'subscriptionId'], + pathParams: ['customerId', 'subscriptionId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + reseller_v1.Resource$Subscriptions = Resource$Subscriptions; +})(reseller_v1 = exports.reseller_v1 || (exports.reseller_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/reseller/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/reseller/v1.js.map new file mode 100644 index 00000000..8a3b9c8b --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/reseller/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/reseller/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/runtimeconfig/README.md b/express-server/node_modules/googleapis/build/src/apis/runtimeconfig/README.md new file mode 100644 index 00000000..c56af5a3 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/runtimeconfig/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/runtimeconfig + +> The Runtime Configurator allows you to dynamically configure and expose variables through Google Cloud Platform. In addition, you can also set Watchers and Waiters that will watch for changes to your data and return based on certain conditions. + +## Installation + +```sh +$ npm install @google/runtimeconfig +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/runtimeconfig/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/runtimeconfig/index.d.ts new file mode 100644 index 00000000..609792ed --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/runtimeconfig/index.d.ts @@ -0,0 +1,10 @@ +import { runtimeconfig_v1 } from './v1'; +import { runtimeconfig_v1beta1 } from './v1beta1'; +export declare const VERSIONS: { + 'v1': typeof runtimeconfig_v1.Runtimeconfig; + 'v1beta1': typeof runtimeconfig_v1beta1.Runtimeconfig; +}; +export declare function runtimeconfig(version: 'v1'): runtimeconfig_v1.Runtimeconfig; +export declare function runtimeconfig(options: runtimeconfig_v1.Options): runtimeconfig_v1.Runtimeconfig; +export declare function runtimeconfig(version: 'v1beta1'): runtimeconfig_v1beta1.Runtimeconfig; +export declare function runtimeconfig(options: runtimeconfig_v1beta1.Options): runtimeconfig_v1beta1.Runtimeconfig; diff --git a/express-server/node_modules/googleapis/build/src/apis/runtimeconfig/index.js b/express-server/node_modules/googleapis/build/src/apis/runtimeconfig/index.js new file mode 100644 index 00000000..8fe48497 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/runtimeconfig/index.js @@ -0,0 +1,27 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +const v1beta1_1 = require("./v1beta1"); +exports.VERSIONS = { + 'v1': v1_1.runtimeconfig_v1.Runtimeconfig, + 'v1beta1': v1beta1_1.runtimeconfig_v1beta1.Runtimeconfig, +}; +function runtimeconfig(versionOrOptions) { + return googleapis_common_1.getAPI('runtimeconfig', versionOrOptions, exports.VERSIONS, this); +} +exports.runtimeconfig = runtimeconfig; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/runtimeconfig/index.js.map b/express-server/node_modules/googleapis/build/src/apis/runtimeconfig/index.js.map new file mode 100644 index 00000000..d8d87005 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/runtimeconfig/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/runtimeconfig/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAsC;AACtC,uCAAgD;AAEnC,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,qBAAgB,CAAC,aAAa;IACpC,SAAS,EAAE,+BAAqB,CAAC,aAAa;CAC/C,CAAC;AASF,SAAgB,aAAa,CAGzB,gBACgE;IAClE,OAAO,0BAAM,CAAI,eAAe,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACtE,CAAC;AAND,sCAMC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/runtimeconfig/package.json b/express-server/node_modules/googleapis/build/src/apis/runtimeconfig/package.json new file mode 100644 index 00000000..0025db69 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/runtimeconfig/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/runtimeconfig", + "version": "0.1.0", + "description": "runtimeconfig", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/runtimeconfig/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/runtimeconfig/v1.d.ts new file mode 100644 index 00000000..a2a4c155 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/runtimeconfig/v1.d.ts @@ -0,0 +1,290 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace runtimeconfig_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Cloud Runtime Configuration API + * + * The Runtime Configurator allows you to dynamically configure and expose + * variables through Google Cloud Platform. In addition, you can also set + * Watchers and Waiters that will watch for changes to your data and return + * based on certain conditions. + * + * @example + * const {google} = require('googleapis'); + * const runtimeconfig = google.runtimeconfig('v1'); + * + * @namespace runtimeconfig + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Runtimeconfig + */ + class Runtimeconfig { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + operations: Resource$Operations; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * The request message for Operations.CancelOperation. + */ + interface Schema$CancelOperationRequest { + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * The response message for Operations.ListOperations. + */ + interface Schema$ListOperationsResponse { + /** + * The standard List next-page token. + */ + nextPageToken?: string; + /** + * A list of operations that matches the specified filter in the request. + */ + operations?: Schema$Operation[]; + } + /** + * This resource represents a long-running operation that is the result of a + * network API call. + */ + interface Schema$Operation { + /** + * If the value is `false`, it means the operation is still in progress. If + * `true`, the operation is completed, and either `error` or `response` is + * available. + */ + done?: boolean; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * Service-specific metadata associated with the operation. It typically + * contains progress information and common metadata such as create time. + * Some services might not provide such metadata. Any method that returns a + * long-running operation should document the metadata type, if any. + */ + metadata?: any; + /** + * The server-assigned name, which is only unique within the same service + * that originally returns it. If you use the default HTTP mapping, the + * `name` should have the format of `operations/some/unique/name`. + */ + name?: string; + /** + * The normal response of the operation in case of success. If the original + * method returns no data on success, such as `Delete`, the response is + * `google.protobuf.Empty`. If the original method is standard + * `Get`/`Create`/`Update`, the response should be the resource. For other + * methods, the response should have the type `XxxResponse`, where `Xxx` is + * the original method name. For example, if the original method name is + * `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: any; + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + class Resource$Operations { + root: Runtimeconfig; + constructor(root: Runtimeconfig); + getRoot(): Runtimeconfig; + /** + * runtimeconfig.operations.cancel + * @desc Starts asynchronous cancellation on a long-running operation. The + * server makes a best effort to cancel the operation, but success is not + * guaranteed. If the server doesn't support this method, it returns + * `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation + * or other methods to check whether the cancellation succeeded or whether + * the operation completed despite cancellation. On successful cancellation, + * the operation is not deleted; instead, it becomes an operation with an + * Operation.error value with a google.rpc.Status.code of 1, corresponding + * to `Code.CANCELLED`. + * @alias runtimeconfig.operations.cancel + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource to be cancelled. + * @param {().CancelOperationRequest} 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 + */ + cancel(params?: Params$Resource$Operations$Cancel, options?: MethodOptions): AxiosPromise; + cancel(params: Params$Resource$Operations$Cancel, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + cancel(params: Params$Resource$Operations$Cancel, callback: BodyResponseCallback): void; + cancel(callback: BodyResponseCallback): void; + /** + * runtimeconfig.operations.delete + * @desc Deletes a long-running operation. This method indicates that the + * client is no longer interested in the operation result. It does not + * cancel the operation. If the server doesn't support this method, it + * returns `google.rpc.Code.UNIMPLEMENTED`. + * @alias runtimeconfig.operations.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource to be deleted. + * @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?: Params$Resource$Operations$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Operations$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Operations$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * runtimeconfig.operations.list + * @desc Lists operations that match the specified filter in the request. If + * the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: + * the `name` binding allows API services to override the binding to use + * different resource name schemes, such as `users/x/operations`. To + * override the binding, API services can add a binding such as + * `"/v1/{name=users/x}/operations"` to their service configuration. For + * backwards compatibility, the default name includes the operations + * collection id, however overriding users must ensure the name binding is + * the parent resource, without the operations collection id. + * @alias runtimeconfig.operations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter The standard list filter. + * @param {string} params.name The name of the operation's parent resource. + * @param {integer=} params.pageSize The standard list page size. + * @param {string=} params.pageToken The standard list page token. + * @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?: Params$Resource$Operations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Operations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Operations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Operations$Cancel { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource to be cancelled. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CancelOperationRequest; + } + interface Params$Resource$Operations$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource to be deleted. + */ + name?: string; + } + interface Params$Resource$Operations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The standard list filter. + */ + filter?: string; + /** + * The name of the operation's parent resource. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/runtimeconfig/v1.js b/express-server/node_modules/googleapis/build/src/apis/runtimeconfig/v1.js new file mode 100644 index 00000000..678dbfb9 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/runtimeconfig/v1.js @@ -0,0 +1,159 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var runtimeconfig_v1; +(function (runtimeconfig_v1) { + /** + * Cloud Runtime Configuration API + * + * The Runtime Configurator allows you to dynamically configure and expose + * variables through Google Cloud Platform. In addition, you can also set + * Watchers and Waiters that will watch for changes to your data and return + * based on certain conditions. + * + * @example + * const {google} = require('googleapis'); + * const runtimeconfig = google.runtimeconfig('v1'); + * + * @namespace runtimeconfig + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Runtimeconfig + */ + class Runtimeconfig { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.operations = new Resource$Operations(this); + } + getRoot() { + return this.root; + } + } + runtimeconfig_v1.Runtimeconfig = Runtimeconfig; + class Resource$Operations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + cancel(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://runtimeconfig.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:cancel') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://runtimeconfig.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://runtimeconfig.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + runtimeconfig_v1.Resource$Operations = Resource$Operations; +})(runtimeconfig_v1 = exports.runtimeconfig_v1 || (exports.runtimeconfig_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/runtimeconfig/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/runtimeconfig/v1.js.map new file mode 100644 index 00000000..ade95980 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/runtimeconfig/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/runtimeconfig/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/runtimeconfig/v1beta1.d.ts b/express-server/node_modules/googleapis/build/src/apis/runtimeconfig/v1beta1.d.ts new file mode 100644 index 00000000..d3b5b6e2 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/runtimeconfig/v1beta1.d.ts @@ -0,0 +1,1340 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace runtimeconfig_v1beta1 { + interface Options extends GlobalOptions { + version: 'v1beta1'; + } + /** + * Cloud Runtime Configuration API + * + * The Runtime Configurator allows you to dynamically configure and expose + * variables through Google Cloud Platform. In addition, you can also set + * Watchers and Waiters that will watch for changes to your data and return + * based on certain conditions. + * + * @example + * const {google} = require('googleapis'); + * const runtimeconfig = google.runtimeconfig('v1beta1'); + * + * @namespace runtimeconfig + * @type {Function} + * @version v1beta1 + * @variation v1beta1 + * @param {object=} options Options for Runtimeconfig + */ + class Runtimeconfig { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + projects: Resource$Projects; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Associates `members` with a `role`. + */ + interface Schema$Binding { + /** + * Unimplemented. The condition that is associated with this binding. NOTE: + * an unsatisfied condition will not allow user access via current binding. + * Different bindings, including their conditions, are examined + * independently. + */ + condition?: Schema$Expr; + /** + * Specifies the identities requesting access for a Cloud Platform resource. + * `members` can have the following values: * `allUsers`: A special + * identifier that represents anyone who is on the internet; with or + * without a Google account. * `allAuthenticatedUsers`: A special + * identifier that represents anyone who is authenticated with a Google + * account or a service account. * `user:{emailid}`: An email address that + * represents a specific Google account. For example, `alice@gmail.com` . + * * `serviceAccount:{emailid}`: An email address that represents a service + * account. For example, `my-other-app@appspot.gserviceaccount.com`. * + * `group:{emailid}`: An email address that represents a Google group. For + * example, `admins@example.com`. * `domain:{domain}`: A Google Apps + * domain name that represents all the users of that domain. For example, + * `google.com` or `example.com`. + */ + members?: string[]; + /** + * Role that is assigned to `members`. For example, `roles/viewer`, + * `roles/editor`, or `roles/owner`. + */ + role?: string; + } + /** + * A Cardinality condition for the Waiter resource. A cardinality condition is + * met when the number of variables under a specified path prefix reaches a + * predefined number. For example, if you set a Cardinality condition where + * the `path` is set to `/foo` and the number of paths is set to 2, the + * following variables would meet the condition in a RuntimeConfig resource: + * + `/foo/variable1 = "value1"` + `/foo/variable2 = + * "value2"` + `/bar/variable3 = "value3"` It would not + * would not satisify the same condition with the `number` set to 3, however, + * because there is only 2 paths that start with `/foo`. Cardinality + * conditions are recursive; all subtrees under the specific path prefix are + * counted. + */ + interface Schema$Cardinality { + /** + * The number variables under the `path` that must exist to meet this + * condition. Defaults to 1 if not specified. + */ + number?: number; + /** + * The root of the variable subtree to monitor. For example, `/foo`. + */ + path?: string; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * The condition that a Waiter resource is waiting for. + */ + interface Schema$EndCondition { + /** + * The cardinality of the `EndCondition`. + */ + cardinality?: Schema$Cardinality; + } + /** + * Represents an expression text. Example: title: "User account + * presence" description: "Determines whether the request has a + * user account" expression: "size(request.user) > 0" + */ + interface Schema$Expr { + /** + * An optional description of the expression. This is a longer text which + * describes the expression, e.g. when hovered over it in a UI. + */ + description?: string; + /** + * Textual representation of an expression in Common Expression Language + * syntax. The application context of the containing message determines + * which well-known feature set of CEL is supported. + */ + expression?: string; + /** + * An optional string indicating the location of the expression for error + * reporting, e.g. a file name and a position in the file. + */ + location?: string; + /** + * An optional title for the expression, i.e. a short string describing its + * purpose. This can be used e.g. in UIs which allow to enter the + * expression. + */ + title?: string; + } + /** + * `ListConfigs()` returns the following response. The order of returned + * objects is arbitrary; that is, it is not ordered in any particular way. + */ + interface Schema$ListConfigsResponse { + /** + * A list of the configurations in the project. The order of returned + * objects is arbitrary; that is, it is not ordered in any particular way. + */ + configs?: Schema$RuntimeConfig[]; + /** + * This token allows you to get the next page of results for list requests. + * If the number of results is larger than `pageSize`, use the + * `nextPageToken` as a value for the query parameter `pageToken` in the + * next list request. Subsequent list requests will have their own + * `nextPageToken` to continue paging through the results + */ + nextPageToken?: string; + } + /** + * Response for the `ListVariables()` method. + */ + interface Schema$ListVariablesResponse { + /** + * This token allows you to get the next page of results for list requests. + * If the number of results is larger than `pageSize`, use the + * `nextPageToken` as a value for the query parameter `pageToken` in the + * next list request. Subsequent list requests will have their own + * `nextPageToken` to continue paging through the results + */ + nextPageToken?: string; + /** + * A list of variables and their values. The order of returned variable + * objects is arbitrary. + */ + variables?: Schema$Variable[]; + } + /** + * Response for the `ListWaiters()` method. Order of returned waiter objects + * is arbitrary. + */ + interface Schema$ListWaitersResponse { + /** + * This token allows you to get the next page of results for list requests. + * If the number of results is larger than `pageSize`, use the + * `nextPageToken` as a value for the query parameter `pageToken` in the + * next list request. Subsequent list requests will have their own + * `nextPageToken` to continue paging through the results + */ + nextPageToken?: string; + /** + * Found waiters in the project. + */ + waiters?: Schema$Waiter[]; + } + /** + * This resource represents a long-running operation that is the result of a + * network API call. + */ + interface Schema$Operation { + /** + * If the value is `false`, it means the operation is still in progress. If + * `true`, the operation is completed, and either `error` or `response` is + * available. + */ + done?: boolean; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * Service-specific metadata associated with the operation. It typically + * contains progress information and common metadata such as create time. + * Some services might not provide such metadata. Any method that returns a + * long-running operation should document the metadata type, if any. + */ + metadata?: any; + /** + * The server-assigned name, which is only unique within the same service + * that originally returns it. If you use the default HTTP mapping, the + * `name` should have the format of `operations/some/unique/name`. + */ + name?: string; + /** + * The normal response of the operation in case of success. If the original + * method returns no data on success, such as `Delete`, the response is + * `google.protobuf.Empty`. If the original method is standard + * `Get`/`Create`/`Update`, the response should be the resource. For other + * methods, the response should have the type `XxxResponse`, where `Xxx` is + * the original method name. For example, if the original method name is + * `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: any; + } + /** + * Defines an Identity and Access Management (IAM) policy. It is used to + * specify access control policies for Cloud Platform resources. A `Policy` + * consists of a list of `bindings`. A `binding` binds a list of `members` to + * a `role`, where the members can be user accounts, Google groups, Google + * domains, and service accounts. A `role` is a named list of permissions + * defined by IAM. **JSON Example** { "bindings": [ { + * "role": "roles/owner", "members": [ + * "user:mike@example.com", "group:admins@example.com", + * "domain:google.com", + * "serviceAccount:my-other-app@appspot.gserviceaccount.com" ] }, { + * "role": "roles/viewer", "members": + * ["user:sean@example.com"] } ] } **YAML + * Example** bindings: - members: - user:mike@example.com - + * group:admins@example.com - domain:google.com - + * serviceAccount:my-other-app@appspot.gserviceaccount.com role: + * roles/owner - members: - user:sean@example.com role: + * roles/viewer For a description of IAM and its features, see the [IAM + * developer's guide](https://cloud.google.com/iam/docs). + */ + interface Schema$Policy { + /** + * Associates a list of `members` to a `role`. `bindings` with no members + * will result in an error. + */ + bindings?: Schema$Binding[]; + /** + * `etag` is used for optimistic concurrency control as a way to help + * prevent simultaneous updates of a policy from overwriting each other. It + * is strongly suggested that systems make use of the `etag` in the + * read-modify-write cycle to perform policy updates in order to avoid race + * conditions: An `etag` is returned in the response to `getIamPolicy`, and + * systems are expected to put that etag in the request to `setIamPolicy` to + * ensure that their change will be applied to the same version of the + * policy. If no `etag` is provided in the call to `setIamPolicy`, then the + * existing policy is overwritten blindly. + */ + etag?: string; + /** + * Deprecated. + */ + version?: number; + } + /** + * A RuntimeConfig resource is the primary resource in the Cloud RuntimeConfig + * service. A RuntimeConfig resource consists of metadata and a hierarchy of + * variables. + */ + interface Schema$RuntimeConfig { + /** + * An optional description of the RuntimeConfig object. + */ + description?: string; + /** + * The resource name of a runtime config. The name must have the format: + * projects/[PROJECT_ID]/configs/[CONFIG_NAME] The `[PROJECT_ID]` must be a + * valid project ID, and `[CONFIG_NAME]` is an arbitrary name that matches + * the `[0-9A-Za-z](?:[_.A-Za-z0-9-]{0,62}[_.A-Za-z0-9])?` regular + * expression. The length of `[CONFIG_NAME]` must be less than 64 + * characters. You pick the RuntimeConfig resource name, but the server + * will validate that the name adheres to this format. After you create the + * resource, you cannot change the resource's name. + */ + name?: string; + } + /** + * Request message for `SetIamPolicy` method. + */ + interface Schema$SetIamPolicyRequest { + /** + * REQUIRED: The complete policy to be applied to the `resource`. The size + * of the policy is limited to a few 10s of KB. An empty policy is a valid + * policy but certain Cloud Platform services (such as Projects) might + * reject them. + */ + policy?: Schema$Policy; + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + /** + * Request message for `TestIamPermissions` method. + */ + interface Schema$TestIamPermissionsRequest { + /** + * The set of permissions to check for the `resource`. Permissions with + * wildcards (such as '*' or 'storage.*') are not allowed. + * For more information see [IAM + * Overview](https://cloud.google.com/iam/docs/overview#permissions). + */ + permissions?: string[]; + } + /** + * Response message for `TestIamPermissions` method. + */ + interface Schema$TestIamPermissionsResponse { + /** + * A subset of `TestPermissionsRequest.permissions` that the caller is + * allowed. + */ + permissions?: string[]; + } + /** + * Describes a single variable within a RuntimeConfig resource. The name + * denotes the hierarchical variable name. For example, `ports/serving_port` + * is a valid variable name. The variable value is an opaque string and only + * leaf variables can have values (that is, variables that do not have any + * child variables). + */ + interface Schema$Variable { + /** + * The name of the variable resource, in the format: + * projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_NAME] The + * `[PROJECT_ID]` must be a valid project ID, `[CONFIG_NAME]` must be a + * valid RuntimeConfig reource and `[VARIABLE_NAME]` follows Unix file + * system file path naming. The `[VARIABLE_NAME]` can contain ASCII + * letters, numbers, slashes and dashes. Slashes are used as path element + * separators and are not part of the `[VARIABLE_NAME]` itself, so + * `[VARIABLE_NAME]` must contain at least one non-slash character. Multiple + * slashes are coalesced into single slash character. Each path segment + * should match [0-9A-Za-z](?:[_.A-Za-z0-9-]{0,62}[_.A-Za-z0-9])? regular + * expression. The length of a `[VARIABLE_NAME]` must be less than 256 + * characters. Once you create a variable, you cannot change the variable + * name. + */ + name?: string; + /** + * [Ouput only] The current state of the variable. The variable state + * indicates the outcome of the `variables().watch` call and is visible + * through the `get` and `list` calls. + */ + state?: string; + /** + * The string value of the variable. The length of the value must be less + * than 4096 bytes. Empty values are also accepted. For example, `text: + * "my text value"`. The string must be valid UTF-8. + */ + text?: string; + /** + * Output only. The time of the last variable update. + */ + updateTime?: string; + /** + * The binary value of the variable. The length of the value must be less + * than 4096 bytes. Empty values are also accepted. The value must be base64 + * encoded. Only one of `value` or `text` can be set. + */ + value?: string; + } + /** + * A Waiter resource waits for some end condition within a RuntimeConfig + * resource to be met before it returns. For example, assume you have a + * distributed system where each node writes to a Variable resource indicating + * the node's readiness as part of the startup process. You then + * configure a Waiter resource with the success condition set to wait until + * some number of nodes have checked in. Afterwards, your application runs + * some arbitrary code after the condition has been met and the waiter returns + * successfully. Once created, a Waiter resource is immutable. To learn more + * about using waiters, read the [Creating a + * Waiter](/deployment-manager/runtime-configurator/creating-a-waiter) + * documentation. + */ + interface Schema$Waiter { + /** + * Output only. The instant at which this Waiter resource was created. + * Adding the value of `timeout` to this instant yields the timeout deadline + * for the waiter. + */ + createTime?: string; + /** + * Output only. If the value is `false`, it means the waiter is still + * waiting for one of its conditions to be met. If true, the waiter has + * finished. If the waiter finished due to a timeout or failure, `error` + * will be set. + */ + done?: boolean; + /** + * Output only. If the waiter ended due to a failure or timeout, this value + * will be set. + */ + error?: Schema$Status; + /** + * [Optional] The failure condition of this waiter. If this condition is + * met, `done` will be set to `true` and the `error` code will be set to + * `ABORTED`. The failure condition takes precedence over the success + * condition. If both conditions are met, a failure will be indicated. This + * value is optional; if no failure condition is set, the only failure + * scenario will be a timeout. + */ + failure?: Schema$EndCondition; + /** + * The name of the Waiter resource, in the format: + * projects/[PROJECT_ID]/configs/[CONFIG_NAME]/waiters/[WAITER_NAME] The + * `[PROJECT_ID]` must be a valid Google Cloud project ID, the + * `[CONFIG_NAME]` must be a valid RuntimeConfig resource, the + * `[WAITER_NAME]` must match RFC 1035 segment specification, and the length + * of `[WAITER_NAME]` must be less than 64 bytes. After you create a Waiter + * resource, you cannot change the resource name. + */ + name?: string; + /** + * [Required] The success condition. If this condition is met, `done` will + * be set to `true` and the `error` value will remain unset. The failure + * condition takes precedence over the success condition. If both conditions + * are met, a failure will be indicated. + */ + success?: Schema$EndCondition; + /** + * [Required] Specifies the timeout of the waiter in seconds, beginning from + * the instant that `waiters().create` method is called. If this time + * elapses before the success or failure conditions are met, the waiter + * fails and sets the `error` code to `DEADLINE_EXCEEDED`. + */ + timeout?: string; + } + /** + * Request for the `WatchVariable()` method. + */ + interface Schema$WatchVariableRequest { + /** + * If specified, checks the current timestamp of the variable and if the + * current timestamp is newer than `newerThan` timestamp, the method returns + * immediately. If not specified or the variable has an older timestamp, + * the watcher waits for a the value to change before returning. + */ + newerThan?: string; + } + class Resource$Projects { + root: Runtimeconfig; + configs: Resource$Projects$Configs; + constructor(root: Runtimeconfig); + getRoot(): Runtimeconfig; + } + class Resource$Projects$Configs { + root: Runtimeconfig; + operations: Resource$Projects$Configs$Operations; + variables: Resource$Projects$Configs$Variables; + waiters: Resource$Projects$Configs$Waiters; + constructor(root: Runtimeconfig); + getRoot(): Runtimeconfig; + /** + * runtimeconfig.projects.configs.create + * @desc Creates a new RuntimeConfig resource. The configuration name must + * be unique within project. + * @alias runtimeconfig.projects.configs.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent The [project ID](https://support.google.com/cloud/answer/6158840?hl=en&ref_topic=6158848) for this request, in the format `projects/[PROJECT_ID]`. + * @param {string=} params.requestId An optional but recommended unique `request_id`. If the server receives two `create()` requests with the same `request_id`, then the second request will be ignored and the first resource created and stored in the backend is returned. Empty `request_id` fields are ignored. It is responsibility of the client to ensure uniqueness of the `request_id` strings. `request_id` strings are limited to 64 characters. + * @param {().RuntimeConfig} 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 + */ + create(params?: Params$Resource$Projects$Configs$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Configs$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Configs$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * runtimeconfig.projects.configs.delete + * @desc Deletes a RuntimeConfig resource. + * @alias runtimeconfig.projects.configs.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The RuntimeConfig resource to delete, in the format: `projects/[PROJECT_ID]/configs/[CONFIG_NAME]` + * @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?: Params$Resource$Projects$Configs$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Configs$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Configs$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * runtimeconfig.projects.configs.get + * @desc Gets information about a RuntimeConfig resource. + * @alias runtimeconfig.projects.configs.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the RuntimeConfig resource to retrieve, in the format: `projects/[PROJECT_ID]/configs/[CONFIG_NAME]` + * @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?: Params$Resource$Projects$Configs$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Configs$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Configs$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * runtimeconfig.projects.configs.getIamPolicy + * @desc Gets the access control policy for a resource. Returns an empty + * policy if the resource exists and does not have a policy set. + * @alias runtimeconfig.projects.configs.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. + * @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 + */ + getIamPolicy(params?: Params$Resource$Projects$Configs$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Projects$Configs$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Projects$Configs$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * runtimeconfig.projects.configs.list + * @desc Lists all the RuntimeConfig resources within project. + * @alias runtimeconfig.projects.configs.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Specifies the number of results to return per page. If there are fewer elements than the specified number, returns all elements. + * @param {string=} params.pageToken Specifies a page token to use. Set `pageToken` to a `nextPageToken` returned by a previous list request to get the next page of results. + * @param {string} params.parent The [project ID](https://support.google.com/cloud/answer/6158840?hl=en&ref_topic=6158848) for this request, in the format `projects/[PROJECT_ID]`. + * @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?: Params$Resource$Projects$Configs$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Configs$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Configs$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * runtimeconfig.projects.configs.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @alias runtimeconfig.projects.configs.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. + * @param {().SetIamPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Projects$Configs$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Projects$Configs$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Projects$Configs$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * runtimeconfig.projects.configs.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. If + * the resource does not exist, this will return an empty set of + * permissions, not a NOT_FOUND error. Note: This operation is designed to + * be used for building permission-aware UIs and command-line tools, not for + * authorization checking. This operation may "fail open" without warning. + * @alias runtimeconfig.projects.configs.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. + * @param {().TestIamPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Projects$Configs$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Projects$Configs$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Projects$Configs$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + /** + * runtimeconfig.projects.configs.update + * @desc Updates a RuntimeConfig resource. The configuration must exist + * beforehand. + * @alias runtimeconfig.projects.configs.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the RuntimeConfig resource to update, in the format: `projects/[PROJECT_ID]/configs/[CONFIG_NAME]` + * @param {().RuntimeConfig} 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?: Params$Resource$Projects$Configs$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Projects$Configs$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Projects$Configs$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Configs$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The [project + * ID](https://support.google.com/cloud/answer/6158840?hl=en&ref_topic=6158848) + * for this request, in the format `projects/[PROJECT_ID]`. + */ + parent?: string; + /** + * An optional but recommended unique `request_id`. If the server receives + * two `create()` requests with the same `request_id`, then the second + * request will be ignored and the first resource created and stored in the + * backend is returned. Empty `request_id` fields are ignored. It is + * responsibility of the client to ensure uniqueness of the `request_id` + * strings. `request_id` strings are limited to 64 characters. + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RuntimeConfig; + } + interface Params$Resource$Projects$Configs$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The RuntimeConfig resource to delete, in the format: + * `projects/[PROJECT_ID]/configs/[CONFIG_NAME]` + */ + name?: string; + } + interface Params$Resource$Projects$Configs$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the RuntimeConfig resource to retrieve, in the format: + * `projects/[PROJECT_ID]/configs/[CONFIG_NAME]` + */ + name?: string; + } + interface Params$Resource$Projects$Configs$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being requested. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + } + interface Params$Resource$Projects$Configs$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Specifies the number of results to return per page. If there are fewer + * elements than the specified number, returns all elements. + */ + pageSize?: number; + /** + * Specifies a page token to use. Set `pageToken` to a `nextPageToken` + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * The [project + * ID](https://support.google.com/cloud/answer/6158840?hl=en&ref_topic=6158848) + * for this request, in the format `projects/[PROJECT_ID]`. + */ + parent?: string; + } + interface Params$Resource$Projects$Configs$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being specified. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetIamPolicyRequest; + } + interface Params$Resource$Projects$Configs$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestIamPermissionsRequest; + } + interface Params$Resource$Projects$Configs$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the RuntimeConfig resource to update, in the format: + * `projects/[PROJECT_ID]/configs/[CONFIG_NAME]` + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RuntimeConfig; + } + class Resource$Projects$Configs$Operations { + root: Runtimeconfig; + constructor(root: Runtimeconfig); + getRoot(): Runtimeconfig; + /** + * runtimeconfig.projects.configs.operations.get + * @desc Gets the latest state of a long-running operation. Clients can use + * this method to poll the operation result at intervals as recommended by + * the API service. + * @alias runtimeconfig.projects.configs.operations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource. + * @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?: Params$Resource$Projects$Configs$Operations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Configs$Operations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Configs$Operations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * runtimeconfig.projects.configs.operations.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. If + * the resource does not exist, this will return an empty set of + * permissions, not a NOT_FOUND error. Note: This operation is designed to + * be used for building permission-aware UIs and command-line tools, not for + * authorization checking. This operation may "fail open" without warning. + * @alias runtimeconfig.projects.configs.operations.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. + * @param {().TestIamPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Projects$Configs$Operations$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Projects$Configs$Operations$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Projects$Configs$Operations$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Configs$Operations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource. + */ + name?: string; + } + interface Params$Resource$Projects$Configs$Operations$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestIamPermissionsRequest; + } + class Resource$Projects$Configs$Variables { + root: Runtimeconfig; + constructor(root: Runtimeconfig); + getRoot(): Runtimeconfig; + /** + * runtimeconfig.projects.configs.variables.create + * @desc Creates a variable within the given configuration. You cannot + * create a variable with a name that is a prefix of an existing variable + * name, or a name that has an existing variable name as a prefix. To learn + * more about creating a variable, read the [Setting and Getting + * Data](/deployment-manager/runtime-configurator/set-and-get-variables) + * documentation. + * @alias runtimeconfig.projects.configs.variables.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent The path to the RutimeConfig resource that this variable should belong to. The configuration must exist beforehand; the path must be in the format: `projects/[PROJECT_ID]/configs/[CONFIG_NAME]` + * @param {string=} params.requestId An optional but recommended unique `request_id`. If the server receives two `create()` requests with the same `request_id`, then the second request will be ignored and the first resource created and stored in the backend is returned. Empty `request_id` fields are ignored. It is responsibility of the client to ensure uniqueness of the `request_id` strings. `request_id` strings are limited to 64 characters. + * @param {().Variable} 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 + */ + create(params?: Params$Resource$Projects$Configs$Variables$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Configs$Variables$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Configs$Variables$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * runtimeconfig.projects.configs.variables.delete + * @desc Deletes a variable or multiple variables. If you specify a + * variable name, then that variable is deleted. If you specify a prefix and + * `recursive` is true, then all variables with that prefix are deleted. You + * must set a `recursive` to true if you delete variables by prefix. + * @alias runtimeconfig.projects.configs.variables.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the variable to delete, in the format: `projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_NAME]` + * @param {boolean=} params.recursive Set to `true` to recursively delete multiple variables with the same prefix. + * @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?: Params$Resource$Projects$Configs$Variables$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Configs$Variables$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Configs$Variables$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * runtimeconfig.projects.configs.variables.get + * @desc Gets information about a single variable. + * @alias runtimeconfig.projects.configs.variables.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the variable to return, in the format: `projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIBLE_NAME]` + * @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?: Params$Resource$Projects$Configs$Variables$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Configs$Variables$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Configs$Variables$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * runtimeconfig.projects.configs.variables.list + * @desc Lists variables within given a configuration, matching any provided + * filters. This only lists variable names, not the values, unless + * `return_values` is true, in which case only variables that user has IAM + * permission to GetVariable will be returned. + * @alias runtimeconfig.projects.configs.variables.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter Filters variables by matching the specified filter. For example: `projects/example-project/config/[CONFIG_NAME]/variables/example-variable`. + * @param {integer=} params.pageSize Specifies the number of results to return per page. If there are fewer elements than the specified number, returns all elements. + * @param {string=} params.pageToken Specifies a page token to use. Set `pageToken` to a `nextPageToken` returned by a previous list request to get the next page of results. + * @param {string} params.parent The path to the RuntimeConfig resource for which you want to list variables. The configuration must exist beforehand; the path must be in the format: `projects/[PROJECT_ID]/configs/[CONFIG_NAME]` + * @param {boolean=} params.returnValues The flag indicates whether the user wants to return values of variables. If true, then only those variables that user has IAM GetVariable permission will be returned along with their values. + * @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?: Params$Resource$Projects$Configs$Variables$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Configs$Variables$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Configs$Variables$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * runtimeconfig.projects.configs.variables.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. If + * the resource does not exist, this will return an empty set of + * permissions, not a NOT_FOUND error. Note: This operation is designed to + * be used for building permission-aware UIs and command-line tools, not for + * authorization checking. This operation may "fail open" without warning. + * @alias runtimeconfig.projects.configs.variables.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. + * @param {().TestIamPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Projects$Configs$Variables$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Projects$Configs$Variables$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Projects$Configs$Variables$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + /** + * runtimeconfig.projects.configs.variables.update + * @desc Updates an existing variable with a new value. + * @alias runtimeconfig.projects.configs.variables.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the variable to update, in the format: `projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_NAME]` + * @param {().Variable} 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?: Params$Resource$Projects$Configs$Variables$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Projects$Configs$Variables$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Projects$Configs$Variables$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + /** + * runtimeconfig.projects.configs.variables.watch + * @desc Watches a specific variable and waits for a change in the + * variable's value. When there is a change, this method returns the new + * value or times out. If a variable is deleted while being watched, the + * `variableState` state is set to `DELETED` and the method returns the last + * known variable `value`. If you set the deadline for watching to a larger + * value than internal timeout (60 seconds), the current variable value is + * returned and the `variableState` will be `VARIABLE_STATE_UNSPECIFIED`. To + * learn more about creating a watcher, read the [Watching a Variable for + * Changes](/deployment-manager/runtime-configurator/watching-a-variable) + * documentation. + * @alias runtimeconfig.projects.configs.variables.watch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the variable to watch, in the format: `projects/[PROJECT_ID]/configs/[CONFIG_NAME]` + * @param {().WatchVariableRequest} 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 + */ + watch(params?: Params$Resource$Projects$Configs$Variables$Watch, options?: MethodOptions): AxiosPromise; + watch(params: Params$Resource$Projects$Configs$Variables$Watch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + watch(params: Params$Resource$Projects$Configs$Variables$Watch, callback: BodyResponseCallback): void; + watch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Configs$Variables$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The path to the RutimeConfig resource that this variable should belong + * to. The configuration must exist beforehand; the path must be in the + * format: `projects/[PROJECT_ID]/configs/[CONFIG_NAME]` + */ + parent?: string; + /** + * An optional but recommended unique `request_id`. If the server receives + * two `create()` requests with the same `request_id`, then the second + * request will be ignored and the first resource created and stored in the + * backend is returned. Empty `request_id` fields are ignored. It is + * responsibility of the client to ensure uniqueness of the `request_id` + * strings. `request_id` strings are limited to 64 characters. + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Variable; + } + interface Params$Resource$Projects$Configs$Variables$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the variable to delete, in the format: + * `projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_NAME]` + */ + name?: string; + /** + * Set to `true` to recursively delete multiple variables with the same + * prefix. + */ + recursive?: boolean; + } + interface Params$Resource$Projects$Configs$Variables$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the variable to return, in the format: + * `projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIBLE_NAME]` + */ + name?: string; + } + interface Params$Resource$Projects$Configs$Variables$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Filters variables by matching the specified filter. For example: + * `projects/example-project/config/[CONFIG_NAME]/variables/example-variable`. + */ + filter?: string; + /** + * Specifies the number of results to return per page. If there are fewer + * elements than the specified number, returns all elements. + */ + pageSize?: number; + /** + * Specifies a page token to use. Set `pageToken` to a `nextPageToken` + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * The path to the RuntimeConfig resource for which you want to list + * variables. The configuration must exist beforehand; the path must be in + * the format: `projects/[PROJECT_ID]/configs/[CONFIG_NAME]` + */ + parent?: string; + /** + * The flag indicates whether the user wants to return values of variables. + * If true, then only those variables that user has IAM GetVariable + * permission will be returned along with their values. + */ + returnValues?: boolean; + } + interface Params$Resource$Projects$Configs$Variables$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestIamPermissionsRequest; + } + interface Params$Resource$Projects$Configs$Variables$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the variable to update, in the format: + * `projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_NAME]` + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Variable; + } + interface Params$Resource$Projects$Configs$Variables$Watch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the variable to watch, in the format: + * `projects/[PROJECT_ID]/configs/[CONFIG_NAME]` + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$WatchVariableRequest; + } + class Resource$Projects$Configs$Waiters { + root: Runtimeconfig; + constructor(root: Runtimeconfig); + getRoot(): Runtimeconfig; + /** + * runtimeconfig.projects.configs.waiters.create + * @desc Creates a Waiter resource. This operation returns a long-running + * Operation resource which can be polled for completion. However, a waiter + * with the given name will exist (and can be retrieved) prior to the + * operation completing. If the operation fails, the failed Waiter resource + * will still exist and must be deleted prior to subsequent creation + * attempts. + * @alias runtimeconfig.projects.configs.waiters.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent The path to the configuration that will own the waiter. The configuration must exist beforehand; the path must be in the format: `projects/[PROJECT_ID]/configs/[CONFIG_NAME]`. + * @param {string=} params.requestId An optional but recommended unique `request_id`. If the server receives two `create()` requests with the same `request_id`, then the second request will be ignored and the first resource created and stored in the backend is returned. Empty `request_id` fields are ignored. It is responsibility of the client to ensure uniqueness of the `request_id` strings. `request_id` strings are limited to 64 characters. + * @param {().Waiter} 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 + */ + create(params?: Params$Resource$Projects$Configs$Waiters$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Configs$Waiters$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Configs$Waiters$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * runtimeconfig.projects.configs.waiters.delete + * @desc Deletes the waiter with the specified name. + * @alias runtimeconfig.projects.configs.waiters.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The Waiter resource to delete, in the format: `projects/[PROJECT_ID]/configs/[CONFIG_NAME]/waiters/[WAITER_NAME]` + * @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?: Params$Resource$Projects$Configs$Waiters$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Configs$Waiters$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Configs$Waiters$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * runtimeconfig.projects.configs.waiters.get + * @desc Gets information about a single waiter. + * @alias runtimeconfig.projects.configs.waiters.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The fully-qualified name of the Waiter resource object to retrieve, in the format: `projects/[PROJECT_ID]/configs/[CONFIG_NAME]/waiters/[WAITER_NAME]` + * @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?: Params$Resource$Projects$Configs$Waiters$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Configs$Waiters$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Configs$Waiters$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * runtimeconfig.projects.configs.waiters.list + * @desc List waiters within the given configuration. + * @alias runtimeconfig.projects.configs.waiters.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Specifies the number of results to return per page. If there are fewer elements than the specified number, returns all elements. + * @param {string=} params.pageToken Specifies a page token to use. Set `pageToken` to a `nextPageToken` returned by a previous list request to get the next page of results. + * @param {string} params.parent The path to the configuration for which you want to get a list of waiters. The configuration must exist beforehand; the path must be in the format: `projects/[PROJECT_ID]/configs/[CONFIG_NAME]` + * @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?: Params$Resource$Projects$Configs$Waiters$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Configs$Waiters$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Configs$Waiters$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * runtimeconfig.projects.configs.waiters.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. If + * the resource does not exist, this will return an empty set of + * permissions, not a NOT_FOUND error. Note: This operation is designed to + * be used for building permission-aware UIs and command-line tools, not for + * authorization checking. This operation may "fail open" without warning. + * @alias runtimeconfig.projects.configs.waiters.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. + * @param {().TestIamPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Projects$Configs$Waiters$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Projects$Configs$Waiters$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Projects$Configs$Waiters$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Configs$Waiters$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The path to the configuration that will own the waiter. The configuration + * must exist beforehand; the path must be in the format: + * `projects/[PROJECT_ID]/configs/[CONFIG_NAME]`. + */ + parent?: string; + /** + * An optional but recommended unique `request_id`. If the server receives + * two `create()` requests with the same `request_id`, then the second + * request will be ignored and the first resource created and stored in the + * backend is returned. Empty `request_id` fields are ignored. It is + * responsibility of the client to ensure uniqueness of the `request_id` + * strings. `request_id` strings are limited to 64 characters. + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Waiter; + } + interface Params$Resource$Projects$Configs$Waiters$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The Waiter resource to delete, in the format: + * `projects/[PROJECT_ID]/configs/[CONFIG_NAME]/waiters/[WAITER_NAME]` + */ + name?: string; + } + interface Params$Resource$Projects$Configs$Waiters$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The fully-qualified name of the Waiter resource object to retrieve, in + * the format: + * `projects/[PROJECT_ID]/configs/[CONFIG_NAME]/waiters/[WAITER_NAME]` + */ + name?: string; + } + interface Params$Resource$Projects$Configs$Waiters$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Specifies the number of results to return per page. If there are fewer + * elements than the specified number, returns all elements. + */ + pageSize?: number; + /** + * Specifies a page token to use. Set `pageToken` to a `nextPageToken` + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * The path to the configuration for which you want to get a list of + * waiters. The configuration must exist beforehand; the path must be in the + * format: `projects/[PROJECT_ID]/configs/[CONFIG_NAME]` + */ + parent?: string; + } + interface Params$Resource$Projects$Configs$Waiters$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestIamPermissionsRequest; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/runtimeconfig/v1beta1.js b/express-server/node_modules/googleapis/build/src/apis/runtimeconfig/v1beta1.js new file mode 100644 index 00000000..424c84be --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/runtimeconfig/v1beta1.js @@ -0,0 +1,785 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var runtimeconfig_v1beta1; +(function (runtimeconfig_v1beta1) { + /** + * Cloud Runtime Configuration API + * + * The Runtime Configurator allows you to dynamically configure and expose + * variables through Google Cloud Platform. In addition, you can also set + * Watchers and Waiters that will watch for changes to your data and return + * based on certain conditions. + * + * @example + * const {google} = require('googleapis'); + * const runtimeconfig = google.runtimeconfig('v1beta1'); + * + * @namespace runtimeconfig + * @type {Function} + * @version v1beta1 + * @variation v1beta1 + * @param {object=} options Options for Runtimeconfig + */ + class Runtimeconfig { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.projects = new Resource$Projects(this); + } + getRoot() { + return this.root; + } + } + runtimeconfig_v1beta1.Runtimeconfig = Runtimeconfig; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.configs = new Resource$Projects$Configs(root); + } + getRoot() { + return this.root; + } + } + runtimeconfig_v1beta1.Resource$Projects = Resource$Projects; + class Resource$Projects$Configs { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.operations = new Resource$Projects$Configs$Operations(root); + this.variables = new Resource$Projects$Configs$Variables(root); + this.waiters = new Resource$Projects$Configs$Waiters(root); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://runtimeconfig.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+parent}/configs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://runtimeconfig.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://runtimeconfig.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://runtimeconfig.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+resource}:getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://runtimeconfig.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+parent}/configs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://runtimeconfig.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+resource}:setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://runtimeconfig.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+resource}:testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://runtimeconfig.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + runtimeconfig_v1beta1.Resource$Projects$Configs = Resource$Projects$Configs; + class Resource$Projects$Configs$Operations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://runtimeconfig.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://runtimeconfig.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+resource}:testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + runtimeconfig_v1beta1.Resource$Projects$Configs$Operations = Resource$Projects$Configs$Operations; + class Resource$Projects$Configs$Variables { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://runtimeconfig.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+parent}/variables') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://runtimeconfig.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://runtimeconfig.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://runtimeconfig.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+parent}/variables') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://runtimeconfig.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+resource}:testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://runtimeconfig.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + watch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://runtimeconfig.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}:watch') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + runtimeconfig_v1beta1.Resource$Projects$Configs$Variables = Resource$Projects$Configs$Variables; + class Resource$Projects$Configs$Waiters { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://runtimeconfig.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+parent}/waiters') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://runtimeconfig.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://runtimeconfig.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://runtimeconfig.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+parent}/waiters') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://runtimeconfig.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+resource}:testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + runtimeconfig_v1beta1.Resource$Projects$Configs$Waiters = Resource$Projects$Configs$Waiters; +})(runtimeconfig_v1beta1 = exports.runtimeconfig_v1beta1 || (exports.runtimeconfig_v1beta1 = {})); +//# sourceMappingURL=v1beta1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/runtimeconfig/v1beta1.js.map b/express-server/node_modules/googleapis/build/src/apis/runtimeconfig/v1beta1.js.map new file mode 100644 index 00000000..2f7359e4 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/runtimeconfig/v1beta1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1beta1.js","sourceRoot":"","sources":["../../../../src/apis/runtimeconfig/v1beta1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/safebrowsing/README.md b/express-server/node_modules/googleapis/build/src/apis/safebrowsing/README.md new file mode 100644 index 00000000..c26ed0eb --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/safebrowsing/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/safebrowsing + +> Enables client applications to check web resources (most commonly URLs) against Google-generated lists of unsafe web resources. + +## Installation + +```sh +$ npm install @google/safebrowsing +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/safebrowsing/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/safebrowsing/index.d.ts new file mode 100644 index 00000000..050c636e --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/safebrowsing/index.d.ts @@ -0,0 +1,6 @@ +import { safebrowsing_v4 } from './v4'; +export declare const VERSIONS: { + 'v4': typeof safebrowsing_v4.Safebrowsing; +}; +export declare function safebrowsing(version: 'v4'): safebrowsing_v4.Safebrowsing; +export declare function safebrowsing(options: safebrowsing_v4.Options): safebrowsing_v4.Safebrowsing; diff --git a/express-server/node_modules/googleapis/build/src/apis/safebrowsing/index.js b/express-server/node_modules/googleapis/build/src/apis/safebrowsing/index.js new file mode 100644 index 00000000..26006fb8 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/safebrowsing/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v4_1 = require("./v4"); +exports.VERSIONS = { + 'v4': v4_1.safebrowsing_v4.Safebrowsing, +}; +function safebrowsing(versionOrOptions) { + return googleapis_common_1.getAPI('safebrowsing', versionOrOptions, exports.VERSIONS, this); +} +exports.safebrowsing = safebrowsing; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/safebrowsing/index.js.map b/express-server/node_modules/googleapis/build/src/apis/safebrowsing/index.js.map new file mode 100644 index 00000000..0bee8216 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/safebrowsing/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/safebrowsing/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAqC;AAExB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,oBAAe,CAAC,YAAY;CACnC,CAAC;AAKF,SAAgB,YAAY,CACE,gBAA8C;IAC1E,OAAO,0BAAM,CAAI,cAAc,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACrE,CAAC;AAHD,oCAGC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/safebrowsing/package.json b/express-server/node_modules/googleapis/build/src/apis/safebrowsing/package.json new file mode 100644 index 00000000..e0782224 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/safebrowsing/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/safebrowsing", + "version": "0.1.0", + "description": "safebrowsing", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/safebrowsing/v4.d.ts b/express-server/node_modules/googleapis/build/src/apis/safebrowsing/v4.d.ts new file mode 100644 index 00000000..5ddb41a5 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/safebrowsing/v4.d.ts @@ -0,0 +1,784 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace safebrowsing_v4 { + interface Options extends GlobalOptions { + version: 'v4'; + } + /** + * Safe Browsing API + * + * Enables client applications to check web resources (most commonly URLs) + * against Google-generated lists of unsafe web resources. + * + * @example + * const {google} = require('googleapis'); + * const safebrowsing = google.safebrowsing('v4'); + * + * @namespace safebrowsing + * @type {Function} + * @version v4 + * @variation v4 + * @param {object=} options Options for Safebrowsing + */ + class Safebrowsing { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + encodedFullHashes: Resource$Encodedfullhashes; + encodedUpdates: Resource$Encodedupdates; + fullHashes: Resource$Fullhashes; + threatHits: Resource$Threathits; + threatLists: Resource$Threatlists; + threatListUpdates: Resource$Threatlistupdates; + threatMatches: Resource$Threatmatches; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * The expected state of a client's local database. + */ + interface Schema$Checksum { + /** + * The SHA256 hash of the client state; that is, of the sorted list of all + * hashes present in the database. + */ + sha256?: string; + } + /** + * The client metadata associated with Safe Browsing API requests. + */ + interface Schema$ClientInfo { + /** + * A client ID that (hopefully) uniquely identifies the client + * implementation of the Safe Browsing API. + */ + clientId?: string; + /** + * The version of the client implementation. + */ + clientVersion?: string; + } + /** + * The constraints for this update. + */ + interface Schema$Constraints { + /** + * A client's physical location, expressed as a ISO 31166-1 alpha-2 + * region code. + */ + deviceLocation?: string; + /** + * Requests the lists for a specific language. Expects ISO 639 alpha-2 + * format. + */ + language?: string; + /** + * Sets the maximum number of entries that the client is willing to have in + * the local database. This should be a power of 2 between 2**10 and 2**20. + * If zero, no database size limit is set. + */ + maxDatabaseEntries?: number; + /** + * The maximum size in number of entries. The update will not contain more + * entries than this value. This should be a power of 2 between 2**10 and + * 2**20. If zero, no update size limit is set. + */ + maxUpdateEntries?: number; + /** + * Requests the list for a specific geographic location. If not set the + * server may pick that value based on the user's IP address. Expects + * ISO 3166-1 alpha-2 format. + */ + region?: string; + /** + * The compression types supported by the client. + */ + supportedCompressions?: string[]; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * Describes a Safe Browsing API update request. Clients can request updates + * for multiple lists in a single request. NOTE: Field index 2 is unused. + * NEXT: 5 + */ + interface Schema$FetchThreatListUpdatesRequest { + /** + * The client metadata. + */ + client?: Schema$ClientInfo; + /** + * The requested threat list updates. + */ + listUpdateRequests?: Schema$ListUpdateRequest[]; + } + interface Schema$FetchThreatListUpdatesResponse { + /** + * The list updates requested by the clients. + */ + listUpdateResponses?: Schema$ListUpdateResponse[]; + /** + * The minimum duration the client must wait before issuing any update + * request. If this field is not set clients may update as soon as they + * want. + */ + minimumWaitDuration?: string; + } + /** + * Request to return full hashes matched by the provided hash prefixes. + */ + interface Schema$FindFullHashesRequest { + /** + * Client metadata associated with callers of higher-level APIs built on top + * of the client's implementation. + */ + apiClient?: Schema$ClientInfo; + /** + * The client metadata. + */ + client?: Schema$ClientInfo; + /** + * The current client states for each of the client's local threat + * lists. + */ + clientStates?: string[]; + /** + * The lists and hashes to be checked. + */ + threatInfo?: Schema$ThreatInfo; + } + interface Schema$FindFullHashesResponse { + /** + * The full hashes that matched the requested prefixes. + */ + matches?: Schema$ThreatMatch[]; + /** + * The minimum duration the client must wait before issuing any find hashes + * request. If this field is not set, clients can issue a request as soon as + * they want. + */ + minimumWaitDuration?: string; + /** + * For requested entities that did not match the threat list, how long to + * cache the response. + */ + negativeCacheDuration?: string; + } + /** + * Request to check entries against lists. + */ + interface Schema$FindThreatMatchesRequest { + /** + * The client metadata. + */ + client?: Schema$ClientInfo; + /** + * The lists and entries to be checked for matches. + */ + threatInfo?: Schema$ThreatInfo; + } + interface Schema$FindThreatMatchesResponse { + /** + * The threat list matches. + */ + matches?: Schema$ThreatMatch[]; + } + interface Schema$ListThreatListsResponse { + /** + * The lists available for download by the client. + */ + threatLists?: Schema$ThreatListDescriptor[]; + } + /** + * A single list update request. + */ + interface Schema$ListUpdateRequest { + /** + * The constraints associated with this request. + */ + constraints?: Schema$Constraints; + /** + * The type of platform at risk by entries present in the list. + */ + platformType?: string; + /** + * The current state of the client for the requested list (the encrypted + * client state that was received from the last successful list update). + */ + state?: string; + /** + * The types of entries present in the list. + */ + threatEntryType?: string; + /** + * The type of threat posed by entries present in the list. + */ + threatType?: string; + } + /** + * An update to an individual list. + */ + interface Schema$ListUpdateResponse { + /** + * A set of entries to add to a local threat type's list. Repeated to + * allow for a combination of compressed and raw data to be sent in a single + * response. + */ + additions?: Schema$ThreatEntrySet[]; + /** + * The expected SHA256 hash of the client state; that is, of the sorted list + * of all hashes present in the database after applying the provided update. + * If the client state doesn't match the expected state, the client must + * disregard this update and retry later. + */ + checksum?: Schema$Checksum; + /** + * The new client state, in encrypted format. Opaque to clients. + */ + newClientState?: string; + /** + * The platform type for which data is returned. + */ + platformType?: string; + /** + * A set of entries to remove from a local threat type's list. In + * practice, this field is empty or contains exactly one ThreatEntrySet. + */ + removals?: Schema$ThreatEntrySet[]; + /** + * The type of response. This may indicate that an action is required by the + * client when the response is received. + */ + responseType?: string; + /** + * The format of the threats. + */ + threatEntryType?: string; + /** + * The threat type for which data is returned. + */ + threatType?: string; + } + /** + * A single metadata entry. + */ + interface Schema$MetadataEntry { + /** + * The metadata entry key. For JSON requests, the key is base64-encoded. + */ + key?: string; + /** + * The metadata entry value. For JSON requests, the value is base64-encoded. + */ + value?: string; + } + /** + * The uncompressed threat entries in hash format of a particular prefix + * length. Hashes can be anywhere from 4 to 32 bytes in size. A large majority + * are 4 bytes, but some hashes are lengthened if they collide with the hash + * of a popular URL. Used for sending ThreatEntrySet to clients that do not + * support compression, or when sending non-4-byte hashes to clients that do + * support compression. + */ + interface Schema$RawHashes { + /** + * The number of bytes for each prefix encoded below. This field can be + * anywhere from 4 (shortest prefix) to 32 (full SHA256 hash). + */ + prefixSize?: number; + /** + * The hashes, in binary format, concatenated into one long string. Hashes + * are sorted in lexicographic order. For JSON API users, hashes are + * base64-encoded. + */ + rawHashes?: string; + } + /** + * A set of raw indices to remove from a local list. + */ + interface Schema$RawIndices { + /** + * The indices to remove from a lexicographically-sorted local list. + */ + indices?: number[]; + } + /** + * The Rice-Golomb encoded data. Used for sending compressed 4-byte hashes or + * compressed removal indices. + */ + interface Schema$RiceDeltaEncoding { + /** + * The encoded deltas that are encoded using the Golomb-Rice coder. + */ + encodedData?: string; + /** + * The offset of the first entry in the encoded data, or, if only a single + * integer was encoded, that single integer's value. If the field is + * empty or missing, assume zero. + */ + firstValue?: string; + /** + * The number of entries that are delta encoded in the encoded data. If only + * a single integer was encoded, this will be zero and the single value will + * be stored in `first_value`. + */ + numEntries?: number; + /** + * The Golomb-Rice parameter, which is a number between 2 and 28. This field + * is missing (that is, zero) if `num_entries` is zero. + */ + riceParameter?: number; + } + /** + * An individual threat; for example, a malicious URL or its hash + * representation. Only one of these fields should be set. + */ + interface Schema$ThreatEntry { + /** + * The digest of an executable in SHA256 format. The API supports both + * binary and hex digests. For JSON requests, digests are base64-encoded. + */ + digest?: string; + /** + * A hash prefix, consisting of the most significant 4-32 bytes of a SHA256 + * hash. This field is in binary format. For JSON requests, hashes are + * base64-encoded. + */ + hash?: string; + /** + * A URL. + */ + url?: string; + } + /** + * The metadata associated with a specific threat entry. The client is + * expected to know the metadata key/value pairs associated with each threat + * type. + */ + interface Schema$ThreatEntryMetadata { + /** + * The metadata entries. + */ + entries?: Schema$MetadataEntry[]; + } + /** + * A set of threats that should be added or removed from a client's local + * database. + */ + interface Schema$ThreatEntrySet { + /** + * The compression type for the entries in this set. + */ + compressionType?: string; + /** + * The raw SHA256-formatted entries. + */ + rawHashes?: Schema$RawHashes; + /** + * The raw removal indices for a local list. + */ + rawIndices?: Schema$RawIndices; + /** + * The encoded 4-byte prefixes of SHA256-formatted entries, using a + * Golomb-Rice encoding. The hashes are converted to uint32, sorted in + * ascending order, then delta encoded and stored as encoded_data. + */ + riceHashes?: Schema$RiceDeltaEncoding; + /** + * The encoded local, lexicographically-sorted list indices, using a + * Golomb-Rice encoding. Used for sending compressed removal indices. The + * removal indices (uint32) are sorted in ascending order, then delta + * encoded and stored as encoded_data. + */ + riceIndices?: Schema$RiceDeltaEncoding; + } + interface Schema$ThreatHit { + /** + * Client-reported identification. + */ + clientInfo?: Schema$ClientInfo; + /** + * The threat entry responsible for the hit. Full hash should be reported + * for hash-based hits. + */ + entry?: Schema$ThreatEntry; + /** + * The platform type reported. + */ + platformType?: string; + /** + * The resources related to the threat hit. + */ + resources?: Schema$ThreatSource[]; + /** + * The threat type reported. + */ + threatType?: string; + /** + * Details about the user that encountered the threat. + */ + userInfo?: Schema$UserInfo; + } + /** + * The information regarding one or more threats that a client submits when + * checking for matches in threat lists. + */ + interface Schema$ThreatInfo { + /** + * The platform types to be checked. + */ + platformTypes?: string[]; + /** + * The threat entries to be checked. + */ + threatEntries?: Schema$ThreatEntry[]; + /** + * The entry types to be checked. + */ + threatEntryTypes?: string[]; + /** + * The threat types to be checked. + */ + threatTypes?: string[]; + } + /** + * Describes an individual threat list. A list is defined by three parameters: + * the type of threat posed, the type of platform targeted by the threat, and + * the type of entries in the list. + */ + interface Schema$ThreatListDescriptor { + /** + * The platform type targeted by the list's entries. + */ + platformType?: string; + /** + * The entry types contained in the list. + */ + threatEntryType?: string; + /** + * The threat type posed by the list's entries. + */ + threatType?: string; + } + /** + * A match when checking a threat entry in the Safe Browsing threat lists. + */ + interface Schema$ThreatMatch { + /** + * The cache lifetime for the returned match. Clients must not cache this + * response for more than this duration to avoid false positives. + */ + cacheDuration?: string; + /** + * The platform type matching this threat. + */ + platformType?: string; + /** + * The threat matching this threat. + */ + threat?: Schema$ThreatEntry; + /** + * Optional metadata associated with this threat. + */ + threatEntryMetadata?: Schema$ThreatEntryMetadata; + /** + * The threat entry type matching this threat. + */ + threatEntryType?: string; + /** + * The threat type matching this threat. + */ + threatType?: string; + } + /** + * A single resource related to a threat hit. + */ + interface Schema$ThreatSource { + /** + * Referrer of the resource. Only set if the referrer is available. + */ + referrer?: string; + /** + * The remote IP of the resource in ASCII format. Either IPv4 or IPv6. + */ + remoteIp?: string; + /** + * The type of source reported. + */ + type?: string; + /** + * The URL of the resource. + */ + url?: string; + } + /** + * Details about the user that encountered the threat. + */ + interface Schema$UserInfo { + /** + * The UN M.49 region code associated with the user's location. + */ + regionCode?: string; + /** + * Unique user identifier defined by the client. + */ + userId?: string; + } + class Resource$Encodedfullhashes { + root: Safebrowsing; + constructor(root: Safebrowsing); + getRoot(): Safebrowsing; + /** + * safebrowsing.encodedFullHashes.get + * @alias safebrowsing.encodedFullHashes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.clientId A client ID that (hopefully) uniquely identifies the client implementation of the Safe Browsing API. + * @param {string=} params.clientVersion The version of the client implementation. + * @param {string} params.encodedRequest A serialized FindFullHashesRequest proto. + * @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?: Params$Resource$Encodedfullhashes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Encodedfullhashes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Encodedfullhashes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Encodedfullhashes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A client ID that (hopefully) uniquely identifies the client + * implementation of the Safe Browsing API. + */ + clientId?: string; + /** + * The version of the client implementation. + */ + clientVersion?: string; + /** + * A serialized FindFullHashesRequest proto. + */ + encodedRequest?: string; + } + class Resource$Encodedupdates { + root: Safebrowsing; + constructor(root: Safebrowsing); + getRoot(): Safebrowsing; + /** + * safebrowsing.encodedUpdates.get + * @alias safebrowsing.encodedUpdates.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.clientId A client ID that uniquely identifies the client implementation of the Safe Browsing API. + * @param {string=} params.clientVersion The version of the client implementation. + * @param {string} params.encodedRequest A serialized FetchThreatListUpdatesRequest proto. + * @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?: Params$Resource$Encodedupdates$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Encodedupdates$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Encodedupdates$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Encodedupdates$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A client ID that uniquely identifies the client implementation of the + * Safe Browsing API. + */ + clientId?: string; + /** + * The version of the client implementation. + */ + clientVersion?: string; + /** + * A serialized FetchThreatListUpdatesRequest proto. + */ + encodedRequest?: string; + } + class Resource$Fullhashes { + root: Safebrowsing; + constructor(root: Safebrowsing); + getRoot(): Safebrowsing; + /** + * safebrowsing.fullHashes.find + * @desc Finds the full hashes that match the requested hash prefixes. + * @alias safebrowsing.fullHashes.find + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().FindFullHashesRequest} 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 + */ + find(params?: Params$Resource$Fullhashes$Find, options?: MethodOptions): AxiosPromise; + find(params: Params$Resource$Fullhashes$Find, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + find(params: Params$Resource$Fullhashes$Find, callback: BodyResponseCallback): void; + find(callback: BodyResponseCallback): void; + } + interface Params$Resource$Fullhashes$Find { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$FindFullHashesRequest; + } + class Resource$Threathits { + root: Safebrowsing; + constructor(root: Safebrowsing); + getRoot(): Safebrowsing; + /** + * safebrowsing.threatHits.create + * @desc Reports a Safe Browsing threat list hit to Google. Only projects + * with TRUSTED_REPORTER visibility can use this method. + * @alias safebrowsing.threatHits.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().ThreatHit} 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 + */ + create(params?: Params$Resource$Threathits$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Threathits$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Threathits$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + } + interface Params$Resource$Threathits$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$ThreatHit; + } + class Resource$Threatlists { + root: Safebrowsing; + constructor(root: Safebrowsing); + getRoot(): Safebrowsing; + /** + * safebrowsing.threatLists.list + * @desc Lists the Safe Browsing threat lists available for download. + * @alias safebrowsing.threatLists.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @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?: Params$Resource$Threatlists$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Threatlists$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Threatlists$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Threatlists$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } + class Resource$Threatlistupdates { + root: Safebrowsing; + constructor(root: Safebrowsing); + getRoot(): Safebrowsing; + /** + * safebrowsing.threatListUpdates.fetch + * @desc Fetches the most recent threat list updates. A client can request + * updates for multiple lists at once. + * @alias safebrowsing.threatListUpdates.fetch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().FetchThreatListUpdatesRequest} 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 + */ + fetch(params?: Params$Resource$Threatlistupdates$Fetch, options?: MethodOptions): AxiosPromise; + fetch(params: Params$Resource$Threatlistupdates$Fetch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + fetch(params: Params$Resource$Threatlistupdates$Fetch, callback: BodyResponseCallback): void; + fetch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Threatlistupdates$Fetch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$FetchThreatListUpdatesRequest; + } + class Resource$Threatmatches { + root: Safebrowsing; + constructor(root: Safebrowsing); + getRoot(): Safebrowsing; + /** + * safebrowsing.threatMatches.find + * @desc Finds the threat entries that match the Safe Browsing lists. + * @alias safebrowsing.threatMatches.find + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().FindThreatMatchesRequest} 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 + */ + find(params?: Params$Resource$Threatmatches$Find, options?: MethodOptions): AxiosPromise; + find(params: Params$Resource$Threatmatches$Find, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + find(params: Params$Resource$Threatmatches$Find, callback: BodyResponseCallback): void; + find(callback: BodyResponseCallback): void; + } + interface Params$Resource$Threatmatches$Find { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$FindThreatMatchesRequest; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/safebrowsing/v4.js b/express-server/node_modules/googleapis/build/src/apis/safebrowsing/v4.js new file mode 100644 index 00000000..4a760c33 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/safebrowsing/v4.js @@ -0,0 +1,347 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var safebrowsing_v4; +(function (safebrowsing_v4) { + /** + * Safe Browsing API + * + * Enables client applications to check web resources (most commonly URLs) + * against Google-generated lists of unsafe web resources. + * + * @example + * const {google} = require('googleapis'); + * const safebrowsing = google.safebrowsing('v4'); + * + * @namespace safebrowsing + * @type {Function} + * @version v4 + * @variation v4 + * @param {object=} options Options for Safebrowsing + */ + class Safebrowsing { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.encodedFullHashes = new Resource$Encodedfullhashes(this); + this.encodedUpdates = new Resource$Encodedupdates(this); + this.fullHashes = new Resource$Fullhashes(this); + this.threatHits = new Resource$Threathits(this); + this.threatLists = new Resource$Threatlists(this); + this.threatListUpdates = new Resource$Threatlistupdates(this); + this.threatMatches = new Resource$Threatmatches(this); + } + getRoot() { + return this.root; + } + } + safebrowsing_v4.Safebrowsing = Safebrowsing; + class Resource$Encodedfullhashes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://safebrowsing.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v4/encodedFullHashes/{encodedRequest}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['encodedRequest'], + pathParams: ['encodedRequest'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + safebrowsing_v4.Resource$Encodedfullhashes = Resource$Encodedfullhashes; + class Resource$Encodedupdates { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://safebrowsing.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v4/encodedUpdates/{encodedRequest}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['encodedRequest'], + pathParams: ['encodedRequest'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + safebrowsing_v4.Resource$Encodedupdates = Resource$Encodedupdates; + class Resource$Fullhashes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + find(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://safebrowsing.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v4/fullHashes:find') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + safebrowsing_v4.Resource$Fullhashes = Resource$Fullhashes; + class Resource$Threathits { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://safebrowsing.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v4/threatHits').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + safebrowsing_v4.Resource$Threathits = Resource$Threathits; + class Resource$Threatlists { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://safebrowsing.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v4/threatLists').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + safebrowsing_v4.Resource$Threatlists = Resource$Threatlists; + class Resource$Threatlistupdates { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + fetch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://safebrowsing.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v4/threatListUpdates:fetch') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + safebrowsing_v4.Resource$Threatlistupdates = Resource$Threatlistupdates; + class Resource$Threatmatches { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + find(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://safebrowsing.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v4/threatMatches:find') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + safebrowsing_v4.Resource$Threatmatches = Resource$Threatmatches; +})(safebrowsing_v4 = exports.safebrowsing_v4 || (exports.safebrowsing_v4 = {})); +//# sourceMappingURL=v4.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/safebrowsing/v4.js.map b/express-server/node_modules/googleapis/build/src/apis/safebrowsing/v4.js.map new file mode 100644 index 00000000..bc0c2395 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/safebrowsing/v4.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v4.js","sourceRoot":"","sources":["../../../../src/apis/safebrowsing/v4.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/script/README.md b/express-server/node_modules/googleapis/build/src/apis/script/README.md new file mode 100644 index 00000000..2bb33ca5 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/script/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/script + +> An API for managing and executing Google Apps Script projects. + +## Installation + +```sh +$ npm install @google/script +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/script/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/script/index.d.ts new file mode 100644 index 00000000..2d0e684b --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/script/index.d.ts @@ -0,0 +1,6 @@ +import { script_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof script_v1.Script; +}; +export declare function script(version: 'v1'): script_v1.Script; +export declare function script(options: script_v1.Options): script_v1.Script; diff --git a/express-server/node_modules/googleapis/build/src/apis/script/index.js b/express-server/node_modules/googleapis/build/src/apis/script/index.js new file mode 100644 index 00000000..7d2e6f7c --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/script/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.script_v1.Script, +}; +function script(versionOrOptions) { + return googleapis_common_1.getAPI('script', versionOrOptions, exports.VERSIONS, this); +} +exports.script = script; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/script/index.js.map b/express-server/node_modules/googleapis/build/src/apis/script/index.js.map new file mode 100644 index 00000000..8e41da65 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/script/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/script/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAA+B;AAElB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,cAAS,CAAC,MAAM;CACvB,CAAC;AAIF,SAAgB,MAAM,CACQ,gBAAwC;IACpE,OAAO,0BAAM,CAAI,QAAQ,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAC/D,CAAC;AAHD,wBAGC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/script/package.json b/express-server/node_modules/googleapis/build/src/apis/script/package.json new file mode 100644 index 00000000..5d8725e1 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/script/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/script", + "version": "0.1.0", + "description": "script", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/script/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/script/v1.d.ts new file mode 100644 index 00000000..84247df9 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/script/v1.d.ts @@ -0,0 +1,1324 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace script_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Apps Script API + * + * An API for managing and executing Google Apps Script projects. + * + * @example + * const {google} = require('googleapis'); + * const script = google.script('v1'); + * + * @namespace script + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Script + */ + class Script { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + processes: Resource$Processes; + projects: Resource$Projects; + scripts: Resource$Scripts; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * The Content resource. + */ + interface Schema$Content { + /** + * The list of script project files. One of the files is a script manifest; + * it must be named "appsscript", must have type of JSON, and + * include the manifest configurations for the project. + */ + files?: Schema$File[]; + /** + * The script project's Drive ID. + */ + scriptId?: string; + } + /** + * Request to create a script project. + */ + interface Schema$CreateProjectRequest { + /** + * The Drive ID of a parent file that the created script project is bound + * to. This is usually the ID of a Google Doc, Google Sheet, Google Form, or + * Google Slides file. If not set, a standalone script project is created. + */ + parentId?: string; + /** + * The title for the project. + */ + title?: string; + } + /** + * Representation of a single script deployment. + */ + interface Schema$Deployment { + /** + * The deployment configuration. + */ + deploymentConfig?: Schema$DeploymentConfig; + /** + * The deployment ID for this deployment. + */ + deploymentId?: string; + /** + * The deployment's entry points. + */ + entryPoints?: Schema$EntryPoint[]; + /** + * Last modified date time stamp. + */ + updateTime?: string; + } + /** + * Metadata the defines how a deployment is configured. + */ + interface Schema$DeploymentConfig { + /** + * The description for this deployment. + */ + description?: string; + /** + * The manifest file name for this deployment. + */ + manifestFileName?: string; + /** + * The script project's Drive ID. + */ + scriptId?: string; + /** + * The version number on which this deployment is based. + */ + versionNumber?: number; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * A configuration that defines how a deployment is accessed externally. + */ + interface Schema$EntryPoint { + /** + * Add-on properties. + */ + addOn?: Schema$GoogleAppsScriptTypeAddOnEntryPoint; + /** + * The type of the entry point. + */ + entryPointType?: string; + /** + * An entry point specification for Apps Script API execution calls. + */ + executionApi?: Schema$GoogleAppsScriptTypeExecutionApiEntryPoint; + /** + * An entry point specification for web apps. + */ + webApp?: Schema$GoogleAppsScriptTypeWebAppEntryPoint; + } + /** + * An object that provides information about the nature of an error resulting + * from an attempted execution of a script function using the Apps Script API. + * If a run call succeeds but the script function (or Apps Script itself) + * throws an exception, the response body's error field contains a Status + * object. The `Status` object's `details` field contains an array with a + * single one of these `ExecutionError` objects. + */ + interface Schema$ExecutionError { + /** + * The error message thrown by Apps Script, usually localized into the + * user's language. + */ + errorMessage?: string; + /** + * The error type, for example `TypeError` or `ReferenceError`. If the error + * type is unavailable, this field is not included. + */ + errorType?: string; + /** + * An array of objects that provide a stack trace through the script to show + * where the execution failed, with the deepest call first. + */ + scriptStackTraceElements?: Schema$ScriptStackTraceElement[]; + } + /** + * A request to run the function in a script. The script is identified by the + * specified `script_id`. Executing a function on a script returns results + * based on the implementation of the script. + */ + interface Schema$ExecutionRequest { + /** + * If `true` and the user is an owner of the script, the script runs at the + * most recently saved version rather than the version deployed for use with + * the Apps Script API. Optional; default is `false`. + */ + devMode?: boolean; + /** + * The name of the function to execute in the given script. The name does + * not include parentheses or parameters. + */ + function?: string; + /** + * The parameters to be passed to the function being executed. The object + * type for each parameter should match the expected type in Apps Script. + * Parameters cannot be Apps Script-specific object types (such as a + * `Document` or a `Calendar`); they can only be primitive types such as + * `string`, `number`, `array`, `object`, or `boolean`. Optional. + */ + parameters?: any[]; + /** + * For Android add-ons only. An ID that represents the user's current + * session in the Android app for Google Docs or Sheets, included as extra + * data in the + * [Intent](https://developer.android.com/guide/components/intents-filters.html) + * that launches the add-on. When an Android add-on is run with a session + * state, it gains the privileges of a + * [bound](https://developers.google.com/apps-script/guides/bound) + * script&mdash;that is, it can access information like the user's + * current cursor position (in Docs) or selected cell (in Sheets). To + * retrieve the state, call + * `Intent.getStringExtra("com.google.android.apps.docs.addons.SessionState")`. + * Optional. + */ + sessionState?: string; + } + /** + * An object that provides the return value of a function executed using the + * Apps Script API. If the script function returns successfully, the response + * body's response field contains this `ExecutionResponse` object. + */ + interface Schema$ExecutionResponse { + /** + * The return value of the script function. The type matches the object type + * returned in Apps Script. Functions called using the Apps Script API + * cannot return Apps Script-specific objects (such as a `Document` or a + * `Calendar`); they can only return primitive types such as a `string`, + * `number`, `array`, `object`, or `boolean`. + */ + result?: any; + } + /** + * An individual file within a script project. A file is a third-party source + * code created by one or more developers. It can be a server-side JS code, + * HTML, or a configuration file. Each script project can contain multiple + * files. + */ + interface Schema$File { + /** + * Creation date timestamp. This read-only field is only visible to users + * who have WRITER permission for the script project. + */ + createTime?: string; + /** + * The defined set of functions in the script file, if any. + */ + functionSet?: Schema$GoogleAppsScriptTypeFunctionSet; + /** + * The user who modified the file most recently. This read-only field is + * only visible to users who have WRITER permission for the script project. + */ + lastModifyUser?: Schema$GoogleAppsScriptTypeUser; + /** + * The name of the file. The file extension is not part of the file name, + * which can be identified from the type field. + */ + name?: string; + /** + * The file content. + */ + source?: string; + /** + * The type of the file. + */ + type?: string; + /** + * Last modified date timestamp. This read-only field is only visible to + * users who have WRITER permission for the script project. + */ + updateTime?: string; + } + /** + * An add-on entry point. + */ + interface Schema$GoogleAppsScriptTypeAddOnEntryPoint { + /** + * The add-on's required list of supported container types. + */ + addOnType?: string; + /** + * The add-on's optional description. + */ + description?: string; + /** + * The add-on's optional help URL. + */ + helpUrl?: string; + /** + * The add-on's required post install tip URL. + */ + postInstallTipUrl?: string; + /** + * The add-on's optional report issue URL. + */ + reportIssueUrl?: string; + /** + * The add-on's required title. + */ + title?: string; + } + /** + * API executable entry point configuration. + */ + interface Schema$GoogleAppsScriptTypeExecutionApiConfig { + /** + * Who has permission to run the API executable. + */ + access?: string; + } + /** + * An API executable entry point. + */ + interface Schema$GoogleAppsScriptTypeExecutionApiEntryPoint { + /** + * The entry point's configuration. + */ + entryPointConfig?: Schema$GoogleAppsScriptTypeExecutionApiConfig; + } + /** + * Represents a function in a script project. + */ + interface Schema$GoogleAppsScriptTypeFunction { + /** + * The function name in the script project. + */ + name?: string; + } + /** + * A set of functions. No duplicates are permitted. + */ + interface Schema$GoogleAppsScriptTypeFunctionSet { + /** + * A list of functions composing the set. + */ + values?: Schema$GoogleAppsScriptTypeFunction[]; + } + /** + * Representation of a single script process execution that was started from + * the script editor, a trigger, an application, or using the Apps Script API. + * This is distinct from the `Operation` resource, which only represents + * executions started via the Apps Script API. + */ + interface Schema$GoogleAppsScriptTypeProcess { + /** + * Duration the execution spent executing. + */ + duration?: string; + /** + * User-facing name for the user executing the script. + */ + executingUser?: string; + /** + * Name of the function the started the execution. + */ + functionName?: string; + /** + * The executions status. + */ + processStatus?: string; + /** + * The executions type. + */ + processType?: string; + /** + * Name of the script being executed. + */ + projectName?: string; + /** + * Time the execution started. + */ + startTime?: string; + /** + * The executing users access level to the script. + */ + userAccessLevel?: string; + } + /** + * A simple user profile resource. + */ + interface Schema$GoogleAppsScriptTypeUser { + /** + * The user's domain. + */ + domain?: string; + /** + * The user's identifying email address. + */ + email?: string; + /** + * The user's display name. + */ + name?: string; + /** + * The user's photo. + */ + photoUrl?: string; + } + /** + * Web app entry point configuration. + */ + interface Schema$GoogleAppsScriptTypeWebAppConfig { + /** + * Who has permission to run the web app. + */ + access?: string; + /** + * Who to execute the web app as. + */ + executeAs?: string; + } + /** + * A web application entry point. + */ + interface Schema$GoogleAppsScriptTypeWebAppEntryPoint { + /** + * The entry point's configuration. + */ + entryPointConfig?: Schema$GoogleAppsScriptTypeWebAppConfig; + /** + * The URL for the web application. + */ + url?: string; + } + /** + * Response with the list of deployments for the specified Apps Script + * project. + */ + interface Schema$ListDeploymentsResponse { + /** + * The list of deployments. + */ + deployments?: Schema$Deployment[]; + /** + * The token that can be used in the next call to get the next page of + * results. + */ + nextPageToken?: string; + } + /** + * Response with the list of Process resources. + */ + interface Schema$ListScriptProcessesResponse { + /** + * Token for the next page of results. If empty, there are no more pages + * remaining. + */ + nextPageToken?: string; + /** + * List of processes matching request parameters. + */ + processes?: Schema$GoogleAppsScriptTypeProcess[]; + } + /** + * Response with the list of Process resources. + */ + interface Schema$ListUserProcessesResponse { + /** + * Token for the next page of results. If empty, there are no more pages + * remaining. + */ + nextPageToken?: string; + /** + * List of processes matching request parameters. + */ + processes?: Schema$GoogleAppsScriptTypeProcess[]; + } + /** + * Response with the list of the versions for the specified script project. + */ + interface Schema$ListVersionsResponse { + /** + * The token use to fetch the next page of records. if not exist in the + * response, that means no more versions to list. + */ + nextPageToken?: string; + /** + * The list of versions. + */ + versions?: Schema$Version[]; + } + /** + * Resource containing usage stats for a given script, based on the supplied + * filter and mask present in the request. + */ + interface Schema$Metrics { + /** + * Number of active users. + */ + activeUsers?: Schema$MetricsValue[]; + /** + * Number of failed executions. + */ + failedExecutions?: Schema$MetricsValue[]; + /** + * Number of total executions. + */ + totalExecutions?: Schema$MetricsValue[]; + } + /** + * Metrics value that holds number of executions counted. + */ + interface Schema$MetricsValue { + /** + * Required field indicating the end time of the interval. + */ + endTime?: string; + /** + * Required field indicating the start time of the interval. + */ + startTime?: string; + /** + * Indicates the number of executions counted. + */ + value?: string; + } + /** + * A representation of an execution of an Apps Script function started with + * run. The execution response does not arrive until the function finishes + * executing. The maximum execution runtime is listed in the [Apps Script + * quotas guide](/apps-script/guides/services/quotas#current_limitations). + * <p>After execution has started, it can have one of four + * outcomes:</p> <ul> <li> If the script function returns + * successfully, the response field contains an ExecutionResponse object + * with the function's return value in the object's `result` + * field.</li> <li> If the script function (or Apps Script itself) + * throws an exception, the error field contains a Status object. The + * `Status` object's `details` field contains an array with a single + * ExecutionError object that provides information about the nature of the + * error.</li> <li> If the execution has not yet completed, the + * done field is `false` and the neither the `response` nor `error` fields + * are present.</li> <li> If the `run` call itself fails (for + * example, because of a malformed request or an authorization error), the + * method returns an HTTP response code in the 4XX range with a different + * format for the response body. Client libraries automatically convert a + * 4XX response into an exception class.</li> </ul> + */ + interface Schema$Operation { + /** + * This field indicates whether the script execution has completed. A + * completed execution has a populated `response` field containing the + * ExecutionResponse from function that was executed. + */ + done?: boolean; + /** + * If a `run` call succeeds but the script function (or Apps Script itself) + * throws an exception, this field contains a Status object. The `Status` + * object's `details` field contains an array with a single + * ExecutionError object that provides information about the nature of the + * error. + */ + error?: Schema$Status; + /** + * If the script function returns successfully, this field contains an + * ExecutionResponse object with the function's return value. + */ + response?: any; + } + /** + * The script project resource. + */ + interface Schema$Project { + /** + * When the script was created. + */ + createTime?: string; + /** + * User who originally created the script. + */ + creator?: Schema$GoogleAppsScriptTypeUser; + /** + * User who last modified the script. + */ + lastModifyUser?: Schema$GoogleAppsScriptTypeUser; + /** + * The parent's Drive ID that the script will be attached to. This is + * usually the ID of a Google Document or Google Sheet. This filed is + * optional, and if not set, a stand-alone script will be created. + */ + parentId?: string; + /** + * The script project's Drive ID. + */ + scriptId?: string; + /** + * The title for the project. + */ + title?: string; + /** + * When the script was last updated. + */ + updateTime?: string; + } + /** + * A stack trace through the script that shows where the execution failed. + */ + interface Schema$ScriptStackTraceElement { + /** + * The name of the function that failed. + */ + function?: string; + /** + * The line number where the script failed. + */ + lineNumber?: number; + } + /** + * If a `run` call succeeds but the script function (or Apps Script itself) + * throws an exception, the response body's error field contains this + * `Status` object. + */ + interface Schema$Status { + /** + * The status code. For this API, this value either: <ul> <li> + * 10, indicating a `SCRIPT_TIMEOUT` error,</li> <li> 3, + * indicating an `INVALID_ARGUMENT` error, or</li> <li> 1, + * indicating a `CANCELLED` execution.</li> </ul> + */ + code?: number; + /** + * An array that contains a single ExecutionError object that provides + * information about the nature of the error. + */ + details?: any[]; + /** + * A developer-facing error message, which is in English. Any user-facing + * error message is localized and sent in the details field, or localized by + * the client. + */ + message?: string; + } + /** + * Request with deployment information to update an existing deployment. + */ + interface Schema$UpdateDeploymentRequest { + /** + * The deployment configuration. + */ + deploymentConfig?: Schema$DeploymentConfig; + } + /** + * A resource representing a script project version. A version is a + * "snapshot" of a script project and is similar to a read-only + * branched release. When creating deployments, the version to use must be + * specified. + */ + interface Schema$Version { + /** + * When the version was created. + */ + createTime?: string; + /** + * The description for this version. + */ + description?: string; + /** + * The script project's Drive ID. + */ + scriptId?: string; + /** + * The incremental ID that is created by Apps Script when a version is + * created. This is system assigned number and is immutable once created. + */ + versionNumber?: number; + } + class Resource$Processes { + root: Script; + constructor(root: Script); + getRoot(): Script; + /** + * script.processes.list + * @desc List information about processes made by or on behalf of a user, + * such as process type and current status. + * @alias script.processes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize The maximum number of returned processes per page of results. Defaults to 50. + * @param {string=} params.pageToken The token for continuing a previous list request on the next page. This should be set to the value of `nextPageToken` from a previous response. + * @param {string=} params.userProcessFilter.deploymentId Optional field used to limit returned processes to those originating from projects with a specific deployment ID. + * @param {string=} params.userProcessFilter.endTime Optional field used to limit returned processes to those that completed on or before the given timestamp. + * @param {string=} params.userProcessFilter.functionName Optional field used to limit returned processes to those originating from a script function with the given function name. + * @param {string=} params.userProcessFilter.projectName Optional field used to limit returned processes to those originating from projects with project names containing a specific string. + * @param {string=} params.userProcessFilter.scriptId Optional field used to limit returned processes to those originating from projects with a specific script ID. + * @param {string=} params.userProcessFilter.startTime Optional field used to limit returned processes to those that were started on or after the given timestamp. + * @param {string=} params.userProcessFilter.statuses Optional field used to limit returned processes to those having one of the specified process statuses. + * @param {string=} params.userProcessFilter.types Optional field used to limit returned processes to those having one of the specified process types. + * @param {string=} params.userProcessFilter.userAccessLevels Optional field used to limit returned processes to those having one of the specified user access levels. + * @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?: Params$Resource$Processes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Processes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Processes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * script.processes.listScriptProcesses + * @desc List information about a script's executed processes, such as + * process type and current status. + * @alias script.processes.listScriptProcesses + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize The maximum number of returned processes per page of results. Defaults to 50. + * @param {string=} params.pageToken The token for continuing a previous list request on the next page. This should be set to the value of `nextPageToken` from a previous response. + * @param {string=} params.scriptId The script ID of the project whose processes are listed. + * @param {string=} params.scriptProcessFilter.deploymentId Optional field used to limit returned processes to those originating from projects with a specific deployment ID. + * @param {string=} params.scriptProcessFilter.endTime Optional field used to limit returned processes to those that completed on or before the given timestamp. + * @param {string=} params.scriptProcessFilter.functionName Optional field used to limit returned processes to those originating from a script function with the given function name. + * @param {string=} params.scriptProcessFilter.startTime Optional field used to limit returned processes to those that were started on or after the given timestamp. + * @param {string=} params.scriptProcessFilter.statuses Optional field used to limit returned processes to those having one of the specified process statuses. + * @param {string=} params.scriptProcessFilter.types Optional field used to limit returned processes to those having one of the specified process types. + * @param {string=} params.scriptProcessFilter.userAccessLevels Optional field used to limit returned processes to those having one of the specified user access levels. + * @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 + */ + listScriptProcesses(params?: Params$Resource$Processes$Listscriptprocesses, options?: MethodOptions): AxiosPromise; + listScriptProcesses(params: Params$Resource$Processes$Listscriptprocesses, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listScriptProcesses(params: Params$Resource$Processes$Listscriptprocesses, callback: BodyResponseCallback): void; + listScriptProcesses(callback: BodyResponseCallback): void; + } + interface Params$Resource$Processes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The maximum number of returned processes per page of results. Defaults + * to 50. + */ + pageSize?: number; + /** + * The token for continuing a previous list request on the next page. This + * should be set to the value of `nextPageToken` from a previous response. + */ + pageToken?: string; + /** + * Optional field used to limit returned processes to those originating from + * projects with a specific deployment ID. + */ + 'userProcessFilter.deploymentId'?: string; + /** + * Optional field used to limit returned processes to those that completed + * on or before the given timestamp. + */ + 'userProcessFilter.endTime'?: string; + /** + * Optional field used to limit returned processes to those originating from + * a script function with the given function name. + */ + 'userProcessFilter.functionName'?: string; + /** + * Optional field used to limit returned processes to those originating from + * projects with project names containing a specific string. + */ + 'userProcessFilter.projectName'?: string; + /** + * Optional field used to limit returned processes to those originating from + * projects with a specific script ID. + */ + 'userProcessFilter.scriptId'?: string; + /** + * Optional field used to limit returned processes to those that were + * started on or after the given timestamp. + */ + 'userProcessFilter.startTime'?: string; + /** + * Optional field used to limit returned processes to those having one of + * the specified process statuses. + */ + 'userProcessFilter.statuses'?: string; + /** + * Optional field used to limit returned processes to those having one of + * the specified process types. + */ + 'userProcessFilter.types'?: string; + /** + * Optional field used to limit returned processes to those having one of + * the specified user access levels. + */ + 'userProcessFilter.userAccessLevels'?: string; + } + interface Params$Resource$Processes$Listscriptprocesses { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The maximum number of returned processes per page of results. Defaults + * to 50. + */ + pageSize?: number; + /** + * The token for continuing a previous list request on the next page. This + * should be set to the value of `nextPageToken` from a previous response. + */ + pageToken?: string; + /** + * The script ID of the project whose processes are listed. + */ + scriptId?: string; + /** + * Optional field used to limit returned processes to those originating from + * projects with a specific deployment ID. + */ + 'scriptProcessFilter.deploymentId'?: string; + /** + * Optional field used to limit returned processes to those that completed + * on or before the given timestamp. + */ + 'scriptProcessFilter.endTime'?: string; + /** + * Optional field used to limit returned processes to those originating from + * a script function with the given function name. + */ + 'scriptProcessFilter.functionName'?: string; + /** + * Optional field used to limit returned processes to those that were + * started on or after the given timestamp. + */ + 'scriptProcessFilter.startTime'?: string; + /** + * Optional field used to limit returned processes to those having one of + * the specified process statuses. + */ + 'scriptProcessFilter.statuses'?: string; + /** + * Optional field used to limit returned processes to those having one of + * the specified process types. + */ + 'scriptProcessFilter.types'?: string; + /** + * Optional field used to limit returned processes to those having one of + * the specified user access levels. + */ + 'scriptProcessFilter.userAccessLevels'?: string; + } + class Resource$Projects { + root: Script; + deployments: Resource$Projects$Deployments; + versions: Resource$Projects$Versions; + constructor(root: Script); + getRoot(): Script; + /** + * script.projects.create + * @desc Creates a new, empty script project with no script files and a base + * manifest file. + * @alias script.projects.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().CreateProjectRequest} 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 + */ + create(params?: Params$Resource$Projects$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * script.projects.get + * @desc Gets a script project's metadata. + * @alias script.projects.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.scriptId The script project's Drive ID. + * @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?: Params$Resource$Projects$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * script.projects.getContent + * @desc Gets the content of the script project, including the code source + * and metadata for each script file. + * @alias script.projects.getContent + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.scriptId The script project's Drive ID. + * @param {integer=} params.versionNumber The version number of the project to retrieve. If not provided, the project's HEAD version is returned. + * @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 + */ + getContent(params?: Params$Resource$Projects$Getcontent, options?: MethodOptions): AxiosPromise; + getContent(params: Params$Resource$Projects$Getcontent, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getContent(params: Params$Resource$Projects$Getcontent, callback: BodyResponseCallback): void; + getContent(callback: BodyResponseCallback): void; + /** + * script.projects.getMetrics + * @desc Get metrics data for scripts, such as number of executions and + * active users. + * @alias script.projects.getMetrics + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.metricsFilter.deploymentId Optional field indicating a specific deployment to retrieve metrics from. + * @param {string=} params.metricsGranularity Required field indicating what granularity of metrics are returned. + * @param {string} params.scriptId Required field indicating the script to get metrics for. + * @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 + */ + getMetrics(params?: Params$Resource$Projects$Getmetrics, options?: MethodOptions): AxiosPromise; + getMetrics(params: Params$Resource$Projects$Getmetrics, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getMetrics(params: Params$Resource$Projects$Getmetrics, callback: BodyResponseCallback): void; + getMetrics(callback: BodyResponseCallback): void; + /** + * script.projects.updateContent + * @desc Updates the content of the specified script project. This content + * is stored as the HEAD version, and is used when the script is executed as + * a trigger, in the script editor, in add-on preview mode, or as a web app + * or Apps Script API in development mode. This clears all the existing + * files in the project. + * @alias script.projects.updateContent + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.scriptId The script project's Drive ID. + * @param {().Content} 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 + */ + updateContent(params?: Params$Resource$Projects$Updatecontent, options?: MethodOptions): AxiosPromise; + updateContent(params: Params$Resource$Projects$Updatecontent, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + updateContent(params: Params$Resource$Projects$Updatecontent, callback: BodyResponseCallback): void; + updateContent(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$CreateProjectRequest; + } + interface Params$Resource$Projects$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The script project's Drive ID. + */ + scriptId?: string; + } + interface Params$Resource$Projects$Getcontent { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The script project's Drive ID. + */ + scriptId?: string; + /** + * The version number of the project to retrieve. If not provided, the + * project's HEAD version is returned. + */ + versionNumber?: number; + } + interface Params$Resource$Projects$Getmetrics { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional field indicating a specific deployment to retrieve metrics from. + */ + 'metricsFilter.deploymentId'?: string; + /** + * Required field indicating what granularity of metrics are returned. + */ + metricsGranularity?: string; + /** + * Required field indicating the script to get metrics for. + */ + scriptId?: string; + } + interface Params$Resource$Projects$Updatecontent { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The script project's Drive ID. + */ + scriptId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Content; + } + class Resource$Projects$Deployments { + root: Script; + constructor(root: Script); + getRoot(): Script; + /** + * script.projects.deployments.create + * @desc Creates a deployment of an Apps Script project. + * @alias script.projects.deployments.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.scriptId The script project's Drive ID. + * @param {().DeploymentConfig} 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 + */ + create(params?: Params$Resource$Projects$Deployments$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Deployments$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Deployments$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * script.projects.deployments.delete + * @desc Deletes a deployment of an Apps Script project. + * @alias script.projects.deployments.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.deploymentId The deployment ID to be undeployed. + * @param {string} params.scriptId The script project's Drive ID. + * @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?: Params$Resource$Projects$Deployments$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Deployments$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Deployments$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * script.projects.deployments.get + * @desc Gets a deployment of an Apps Script project. + * @alias script.projects.deployments.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.deploymentId The deployment ID. + * @param {string} params.scriptId The script project's Drive ID. + * @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?: Params$Resource$Projects$Deployments$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Deployments$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Deployments$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * script.projects.deployments.list + * @desc Lists the deployments of an Apps Script project. + * @alias script.projects.deployments.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize The maximum number of deployments on each returned page. Defaults to 50. + * @param {string=} params.pageToken The token for continuing a previous list request on the next page. This should be set to the value of `nextPageToken` from a previous response. + * @param {string} params.scriptId The script project's Drive ID. + * @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?: Params$Resource$Projects$Deployments$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Deployments$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Deployments$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * script.projects.deployments.update + * @desc Updates a deployment of an Apps Script project. + * @alias script.projects.deployments.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.deploymentId The deployment ID for this deployment. + * @param {string} params.scriptId The script project's Drive ID. + * @param {().UpdateDeploymentRequest} 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?: Params$Resource$Projects$Deployments$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Projects$Deployments$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Projects$Deployments$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Deployments$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The script project's Drive ID. + */ + scriptId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DeploymentConfig; + } + interface Params$Resource$Projects$Deployments$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The deployment ID to be undeployed. + */ + deploymentId?: string; + /** + * The script project's Drive ID. + */ + scriptId?: string; + } + interface Params$Resource$Projects$Deployments$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The deployment ID. + */ + deploymentId?: string; + /** + * The script project's Drive ID. + */ + scriptId?: string; + } + interface Params$Resource$Projects$Deployments$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The maximum number of deployments on each returned page. Defaults to 50. + */ + pageSize?: number; + /** + * The token for continuing a previous list request on the next page. This + * should be set to the value of `nextPageToken` from a previous response. + */ + pageToken?: string; + /** + * The script project's Drive ID. + */ + scriptId?: string; + } + interface Params$Resource$Projects$Deployments$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The deployment ID for this deployment. + */ + deploymentId?: string; + /** + * The script project's Drive ID. + */ + scriptId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UpdateDeploymentRequest; + } + class Resource$Projects$Versions { + root: Script; + constructor(root: Script); + getRoot(): Script; + /** + * script.projects.versions.create + * @desc Creates a new immutable version using the current code, with a + * unique version number. + * @alias script.projects.versions.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.scriptId The script project's Drive ID. + * @param {().Version} 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 + */ + create(params?: Params$Resource$Projects$Versions$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Versions$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Versions$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * script.projects.versions.get + * @desc Gets a version of a script project. + * @alias script.projects.versions.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.scriptId The script project's Drive ID. + * @param {integer} params.versionNumber The version number. + * @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?: Params$Resource$Projects$Versions$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Versions$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Versions$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * script.projects.versions.list + * @desc List the versions of a script project. + * @alias script.projects.versions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize The maximum number of versions on each returned page. Defaults to 50. + * @param {string=} params.pageToken The token for continuing a previous list request on the next page. This should be set to the value of `nextPageToken` from a previous response. + * @param {string} params.scriptId The script project's Drive ID. + * @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?: Params$Resource$Projects$Versions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Versions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Versions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Versions$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The script project's Drive ID. + */ + scriptId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Version; + } + interface Params$Resource$Projects$Versions$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The script project's Drive ID. + */ + scriptId?: string; + /** + * The version number. + */ + versionNumber?: number; + } + interface Params$Resource$Projects$Versions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The maximum number of versions on each returned page. Defaults to 50. + */ + pageSize?: number; + /** + * The token for continuing a previous list request on the next page. This + * should be set to the value of `nextPageToken` from a previous response. + */ + pageToken?: string; + /** + * The script project's Drive ID. + */ + scriptId?: string; + } + class Resource$Scripts { + root: Script; + constructor(root: Script); + getRoot(): Script; + /** + * script.scripts.run + * @desc Runs a function in an Apps Script project. The project must be + * deployed for use with the Apps Script API. This method requires + * authorization with an OAuth 2.0 token that includes at least one of the + * scopes listed in the [Authorization](#authorization) section; script + * projects that do not require authorization cannot be executed through + * this API. To find the correct scopes to include in the authentication + * token, open the project in the script editor, then select **File > + * Project properties** and click the **Scopes** tab. + * @alias script.scripts.run + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.scriptId The script ID of the script to be executed. To find the script ID, open the project in the script editor and select **File > Project properties**. + * @param {().ExecutionRequest} 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 + */ + run(params?: Params$Resource$Scripts$Run, options?: MethodOptions): AxiosPromise; + run(params: Params$Resource$Scripts$Run, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + run(params: Params$Resource$Scripts$Run, callback: BodyResponseCallback): void; + run(callback: BodyResponseCallback): void; + } + interface Params$Resource$Scripts$Run { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The script ID of the script to be executed. To find the script ID, open + * the project in the script editor and select **File > Project + * properties**. + */ + scriptId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ExecutionRequest; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/script/v1.js b/express-server/node_modules/googleapis/build/src/apis/script/v1.js new file mode 100644 index 00000000..8820aac9 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/script/v1.js @@ -0,0 +1,606 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var script_v1; +(function (script_v1) { + /** + * Apps Script API + * + * An API for managing and executing Google Apps Script projects. + * + * @example + * const {google} = require('googleapis'); + * const script = google.script('v1'); + * + * @namespace script + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Script + */ + class Script { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.processes = new Resource$Processes(this); + this.projects = new Resource$Projects(this); + this.scripts = new Resource$Scripts(this); + } + getRoot() { + return this.root; + } + } + script_v1.Script = Script; + class Resource$Processes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://script.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/processes').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listScriptProcesses(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://script.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/processes:listScriptProcesses') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + script_v1.Resource$Processes = Resource$Processes; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.deployments = new Resource$Projects$Deployments(root); + this.versions = new Resource$Projects$Versions(root); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://script.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/projects').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://script.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/projects/{scriptId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['scriptId'], + pathParams: ['scriptId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getContent(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://script.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/projects/{scriptId}/content') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['scriptId'], + pathParams: ['scriptId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getMetrics(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://script.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/projects/{scriptId}/metrics') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['scriptId'], + pathParams: ['scriptId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + updateContent(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://script.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/projects/{scriptId}/content') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['scriptId'], + pathParams: ['scriptId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + script_v1.Resource$Projects = Resource$Projects; + class Resource$Projects$Deployments { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://script.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/projects/{scriptId}/deployments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['scriptId'], + pathParams: ['scriptId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://script.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/projects/{scriptId}/deployments/{deploymentId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['scriptId', 'deploymentId'], + pathParams: ['deploymentId', 'scriptId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://script.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/projects/{scriptId}/deployments/{deploymentId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['scriptId', 'deploymentId'], + pathParams: ['deploymentId', 'scriptId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://script.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/projects/{scriptId}/deployments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['scriptId'], + pathParams: ['scriptId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://script.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/projects/{scriptId}/deployments/{deploymentId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['scriptId', 'deploymentId'], + pathParams: ['deploymentId', 'scriptId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + script_v1.Resource$Projects$Deployments = Resource$Projects$Deployments; + class Resource$Projects$Versions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://script.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/projects/{scriptId}/versions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['scriptId'], + pathParams: ['scriptId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://script.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/projects/{scriptId}/versions/{versionNumber}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['scriptId', 'versionNumber'], + pathParams: ['scriptId', 'versionNumber'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://script.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/projects/{scriptId}/versions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['scriptId'], + pathParams: ['scriptId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + script_v1.Resource$Projects$Versions = Resource$Projects$Versions; + class Resource$Scripts { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + run(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://script.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/scripts/{scriptId}:run') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['scriptId'], + pathParams: ['scriptId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + script_v1.Resource$Scripts = Resource$Scripts; +})(script_v1 = exports.script_v1 || (exports.script_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/script/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/script/v1.js.map new file mode 100644 index 00000000..8db4409d --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/script/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/script/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/searchconsole/README.md b/express-server/node_modules/googleapis/build/src/apis/searchconsole/README.md new file mode 100644 index 00000000..5131f09e --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/searchconsole/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/searchconsole + +> Provides tools for running validation tests against single URLs + +## Installation + +```sh +$ npm install @google/searchconsole +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/searchconsole/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/searchconsole/index.d.ts new file mode 100644 index 00000000..b2f3a2cd --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/searchconsole/index.d.ts @@ -0,0 +1,6 @@ +import { searchconsole_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof searchconsole_v1.Searchconsole; +}; +export declare function searchconsole(version: 'v1'): searchconsole_v1.Searchconsole; +export declare function searchconsole(options: searchconsole_v1.Options): searchconsole_v1.Searchconsole; diff --git a/express-server/node_modules/googleapis/build/src/apis/searchconsole/index.js b/express-server/node_modules/googleapis/build/src/apis/searchconsole/index.js new file mode 100644 index 00000000..71d9925e --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/searchconsole/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.searchconsole_v1.Searchconsole, +}; +function searchconsole(versionOrOptions) { + return googleapis_common_1.getAPI('searchconsole', versionOrOptions, exports.VERSIONS, this); +} +exports.searchconsole = searchconsole; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/searchconsole/index.js.map b/express-server/node_modules/googleapis/build/src/apis/searchconsole/index.js.map new file mode 100644 index 00000000..0d7e5c21 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/searchconsole/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/searchconsole/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAsC;AAEzB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,qBAAgB,CAAC,aAAa;CACrC,CAAC;AAKF,SAAgB,aAAa,CACC,gBAA+C;IAC3E,OAAO,0BAAM,CAAI,eAAe,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACtE,CAAC;AAHD,sCAGC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/searchconsole/package.json b/express-server/node_modules/googleapis/build/src/apis/searchconsole/package.json new file mode 100644 index 00000000..bb3adb5f --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/searchconsole/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/searchconsole", + "version": "0.1.0", + "description": "searchconsole", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/searchconsole/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/searchconsole/v1.d.ts new file mode 100644 index 00000000..793b1269 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/searchconsole/v1.d.ts @@ -0,0 +1,177 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace searchconsole_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Google Search Console URL Testing Tools API + * + * Provides tools for running validation tests against single URLs + * + * @example + * const {google} = require('googleapis'); + * const searchconsole = google.searchconsole('v1'); + * + * @namespace searchconsole + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Searchconsole + */ + class Searchconsole { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + urlTestingTools: Resource$Urltestingtools; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Blocked resource. + */ + interface Schema$BlockedResource { + /** + * URL of the blocked resource. + */ + url?: string; + } + /** + * Describe image data. + */ + interface Schema$Image { + /** + * Image data in format determined by the mime type. Currently, the format + * will always be "image/png", but this might change in the + * future. + */ + data?: string; + /** + * The mime-type of the image data. + */ + mimeType?: string; + } + /** + * Mobile-friendly issue. + */ + interface Schema$MobileFriendlyIssue { + /** + * Rule violated. + */ + rule?: string; + } + /** + * Information about a resource with issue. + */ + interface Schema$ResourceIssue { + /** + * Describes a blocked resource issue. + */ + blockedResource?: Schema$BlockedResource; + } + /** + * Mobile-friendly test request. + */ + interface Schema$RunMobileFriendlyTestRequest { + /** + * Whether or not screenshot is requested. Default is false. + */ + requestScreenshot?: boolean; + /** + * URL for inspection. + */ + url?: string; + } + /** + * Mobile-friendly test response, including mobile-friendly issues and + * resource issues. + */ + interface Schema$RunMobileFriendlyTestResponse { + /** + * Test verdict, whether the page is mobile friendly or not. + */ + mobileFriendliness?: string; + /** + * List of mobile-usability issues. + */ + mobileFriendlyIssues?: Schema$MobileFriendlyIssue[]; + /** + * Information about embedded resources issues. + */ + resourceIssues?: Schema$ResourceIssue[]; + /** + * Screenshot of the requested URL. + */ + screenshot?: Schema$Image; + /** + * Final state of the test, can be either complete or an error. + */ + testStatus?: Schema$TestStatus; + } + /** + * Final state of the test, including error details if necessary. + */ + interface Schema$TestStatus { + /** + * Error details if applicable. + */ + details?: string; + /** + * Status of the test. + */ + status?: string; + } + class Resource$Urltestingtools { + root: Searchconsole; + mobileFriendlyTest: Resource$Urltestingtools$Mobilefriendlytest; + constructor(root: Searchconsole); + getRoot(): Searchconsole; + } + class Resource$Urltestingtools$Mobilefriendlytest { + root: Searchconsole; + constructor(root: Searchconsole); + getRoot(): Searchconsole; + /** + * searchconsole.urlTestingTools.mobileFriendlyTest.run + * @desc Runs Mobile-Friendly Test for a given URL. + * @alias searchconsole.urlTestingTools.mobileFriendlyTest.run + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().RunMobileFriendlyTestRequest} 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 + */ + run(params?: Params$Resource$Urltestingtools$Mobilefriendlytest$Run, options?: MethodOptions): AxiosPromise; + run(params: Params$Resource$Urltestingtools$Mobilefriendlytest$Run, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + run(params: Params$Resource$Urltestingtools$Mobilefriendlytest$Run, callback: BodyResponseCallback): void; + run(callback: BodyResponseCallback): void; + } + interface Params$Resource$Urltestingtools$Mobilefriendlytest$Run { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$RunMobileFriendlyTestRequest; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/searchconsole/v1.js b/express-server/node_modules/googleapis/build/src/apis/searchconsole/v1.js new file mode 100644 index 00000000..11ed820b --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/searchconsole/v1.js @@ -0,0 +1,108 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var searchconsole_v1; +(function (searchconsole_v1) { + /** + * Google Search Console URL Testing Tools API + * + * Provides tools for running validation tests against single URLs + * + * @example + * const {google} = require('googleapis'); + * const searchconsole = google.searchconsole('v1'); + * + * @namespace searchconsole + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Searchconsole + */ + class Searchconsole { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.urlTestingTools = new Resource$Urltestingtools(this); + } + getRoot() { + return this.root; + } + } + searchconsole_v1.Searchconsole = Searchconsole; + class Resource$Urltestingtools { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.mobileFriendlyTest = + new Resource$Urltestingtools$Mobilefriendlytest(root); + } + getRoot() { + return this.root; + } + } + searchconsole_v1.Resource$Urltestingtools = Resource$Urltestingtools; + class Resource$Urltestingtools$Mobilefriendlytest { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + run(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://searchconsole.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/urlTestingTools/mobileFriendlyTest:run') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + searchconsole_v1.Resource$Urltestingtools$Mobilefriendlytest = Resource$Urltestingtools$Mobilefriendlytest; +})(searchconsole_v1 = exports.searchconsole_v1 || (exports.searchconsole_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/searchconsole/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/searchconsole/v1.js.map new file mode 100644 index 00000000..744262f0 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/searchconsole/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/searchconsole/v1.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAIH,yDAA2H;AAE3H,yBAAyB;AACzB,6BAA6B;AAC7B,gCAAgC;AAChC,+BAA+B;AAC/B,+BAA+B;AAE/B,IAAiB,gBAAgB,CAwPhC;AAxPD,WAAiB,gBAAgB;IAK/B;;;;;;;;;;;;;;OAcG;IACH,MAAa,aAAa;QAOxB,YAAY,OAAsB,EAAE,MAA2B;YAJ/D,SAAI,GAAG,IAAI,CAAC;YAKV,IAAI,CAAC,QAAQ,GAAG,OAAO,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAExB,IAAI,CAAC,eAAe,GAAG,IAAI,wBAAwB,CAAC,IAAI,CAAC,CAAC;QAC5D,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;KACF;IAlBY,8BAAa,gBAkBzB,CAAA;IAkGD,MAAa,wBAAwB;QAGnC,YAAY,IAAmB;YAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC,kBAAkB;gBACnB,IAAI,2CAA2C,CAAC,IAAI,CAAC,CAAC;QAC5D,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;KACF;IAbY,yCAAwB,2BAapC,CAAA;IAGD,MAAa,2CAA2C;QAEtD,YAAY,IAAmB;YAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA4BD,GAAG,CAAC,gBAE0D,EAC1D,iBAC0D,EAC1D,QAAqE;YAEvE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACsB,CAAC;YAC3D,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4D,CAAC;gBACtE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,uCAAuC,CAAC;YAC/D,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,4CAA4C,CAAC;yBACnD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,EAAE;gBAClB,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CACnB,UAAU,CAAC,CAAC;aACjB;QACH,CAAC;KACF;IAlFY,4DAA2C,8CAkFvD,CAAA;AAcH,CAAC,EAxPgB,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAwPhC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/servicebroker/README.md b/express-server/node_modules/googleapis/build/src/apis/servicebroker/README.md new file mode 100644 index 00000000..aee58e76 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/servicebroker/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/servicebroker + +> The Google Cloud Platform Service Broker API provides Google hosted implementation of the Open Service Broker API (https://www.openservicebrokerapi.org/). + +## Installation + +```sh +$ npm install @google/servicebroker +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/servicebroker/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/servicebroker/index.d.ts new file mode 100644 index 00000000..14b9f4c5 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/servicebroker/index.d.ts @@ -0,0 +1,14 @@ +import { servicebroker_v1 } from './v1'; +import { servicebroker_v1alpha1 } from './v1alpha1'; +import { servicebroker_v1beta1 } from './v1beta1'; +export declare const VERSIONS: { + 'v1': typeof servicebroker_v1.Servicebroker; + 'v1alpha1': typeof servicebroker_v1alpha1.Servicebroker; + 'v1beta1': typeof servicebroker_v1beta1.Servicebroker; +}; +export declare function servicebroker(version: 'v1'): servicebroker_v1.Servicebroker; +export declare function servicebroker(options: servicebroker_v1.Options): servicebroker_v1.Servicebroker; +export declare function servicebroker(version: 'v1alpha1'): servicebroker_v1alpha1.Servicebroker; +export declare function servicebroker(options: servicebroker_v1alpha1.Options): servicebroker_v1alpha1.Servicebroker; +export declare function servicebroker(version: 'v1beta1'): servicebroker_v1beta1.Servicebroker; +export declare function servicebroker(options: servicebroker_v1beta1.Options): servicebroker_v1beta1.Servicebroker; diff --git a/express-server/node_modules/googleapis/build/src/apis/servicebroker/index.js b/express-server/node_modules/googleapis/build/src/apis/servicebroker/index.js new file mode 100644 index 00000000..77dba400 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/servicebroker/index.js @@ -0,0 +1,29 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +const v1alpha1_1 = require("./v1alpha1"); +const v1beta1_1 = require("./v1beta1"); +exports.VERSIONS = { + 'v1': v1_1.servicebroker_v1.Servicebroker, + 'v1alpha1': v1alpha1_1.servicebroker_v1alpha1.Servicebroker, + 'v1beta1': v1beta1_1.servicebroker_v1beta1.Servicebroker, +}; +function servicebroker(versionOrOptions) { + return googleapis_common_1.getAPI('servicebroker', versionOrOptions, exports.VERSIONS, this); +} +exports.servicebroker = servicebroker; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/servicebroker/index.js.map b/express-server/node_modules/googleapis/build/src/apis/servicebroker/index.js.map new file mode 100644 index 00000000..f7bff75b --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/servicebroker/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/servicebroker/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAsC;AACtC,yCAAkD;AAClD,uCAAgD;AAEnC,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,qBAAgB,CAAC,aAAa;IACpC,UAAU,EAAE,iCAAsB,CAAC,aAAa;IAChD,SAAS,EAAE,+BAAqB,CAAC,aAAa;CAC/C,CAAC;AAaF,SAAgB,aAAa,CAIzB,gBAEsE;IACxE,OAAO,0BAAM,CAAI,eAAe,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACtE,CAAC;AARD,sCAQC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/servicebroker/package.json b/express-server/node_modules/googleapis/build/src/apis/servicebroker/package.json new file mode 100644 index 00000000..babd1f97 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/servicebroker/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/servicebroker", + "version": "0.1.0", + "description": "servicebroker", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/servicebroker/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/servicebroker/v1.d.ts new file mode 100644 index 00000000..c461866d --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/servicebroker/v1.d.ts @@ -0,0 +1,289 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace servicebroker_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Service Broker API + * + * The Google Cloud Platform Service Broker API provides Google hosted + * implementation of the Open Service Broker API + * (https://www.openservicebrokerapi.org/). + * + * @example + * const {google} = require('googleapis'); + * const servicebroker = google.servicebroker('v1'); + * + * @namespace servicebroker + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Servicebroker + */ + class Servicebroker { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + v1: Resource$V1; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Associates `members` with a `role`. + */ + interface Schema$GoogleIamV1__Binding { + /** + * Unimplemented. The condition that is associated with this binding. NOTE: + * an unsatisfied condition will not allow user access via current binding. + * Different bindings, including their conditions, are examined + * independently. + */ + condition?: Schema$GoogleType__Expr; + /** + * Specifies the identities requesting access for a Cloud Platform resource. + * `members` can have the following values: * `allUsers`: A special + * identifier that represents anyone who is on the internet; with or + * without a Google account. * `allAuthenticatedUsers`: A special + * identifier that represents anyone who is authenticated with a Google + * account or a service account. * `user:{emailid}`: An email address that + * represents a specific Google account. For example, `alice@gmail.com` . + * * `serviceAccount:{emailid}`: An email address that represents a service + * account. For example, `my-other-app@appspot.gserviceaccount.com`. * + * `group:{emailid}`: An email address that represents a Google group. For + * example, `admins@example.com`. * `domain:{domain}`: A Google Apps + * domain name that represents all the users of that domain. For example, + * `google.com` or `example.com`. + */ + members?: string[]; + /** + * Role that is assigned to `members`. For example, `roles/viewer`, + * `roles/editor`, or `roles/owner`. + */ + role?: string; + } + /** + * Defines an Identity and Access Management (IAM) policy. It is used to + * specify access control policies for Cloud Platform resources. A `Policy` + * consists of a list of `bindings`. A `binding` binds a list of `members` to + * a `role`, where the members can be user accounts, Google groups, Google + * domains, and service accounts. A `role` is a named list of permissions + * defined by IAM. **JSON Example** { "bindings": [ { + * "role": "roles/owner", "members": [ + * "user:mike@example.com", "group:admins@example.com", + * "domain:google.com", + * "serviceAccount:my-other-app@appspot.gserviceaccount.com" ] }, { + * "role": "roles/viewer", "members": + * ["user:sean@example.com"] } ] } **YAML + * Example** bindings: - members: - user:mike@example.com - + * group:admins@example.com - domain:google.com - + * serviceAccount:my-other-app@appspot.gserviceaccount.com role: + * roles/owner - members: - user:sean@example.com role: + * roles/viewer For a description of IAM and its features, see the [IAM + * developer's guide](https://cloud.google.com/iam/docs). + */ + interface Schema$GoogleIamV1__Policy { + /** + * Associates a list of `members` to a `role`. `bindings` with no members + * will result in an error. + */ + bindings?: Schema$GoogleIamV1__Binding[]; + /** + * `etag` is used for optimistic concurrency control as a way to help + * prevent simultaneous updates of a policy from overwriting each other. It + * is strongly suggested that systems make use of the `etag` in the + * read-modify-write cycle to perform policy updates in order to avoid race + * conditions: An `etag` is returned in the response to `getIamPolicy`, and + * systems are expected to put that etag in the request to `setIamPolicy` to + * ensure that their change will be applied to the same version of the + * policy. If no `etag` is provided in the call to `setIamPolicy`, then the + * existing policy is overwritten blindly. + */ + etag?: string; + /** + * Deprecated. + */ + version?: number; + } + /** + * Request message for `SetIamPolicy` method. + */ + interface Schema$GoogleIamV1__SetIamPolicyRequest { + /** + * REQUIRED: The complete policy to be applied to the `resource`. The size + * of the policy is limited to a few 10s of KB. An empty policy is a valid + * policy but certain Cloud Platform services (such as Projects) might + * reject them. + */ + policy?: Schema$GoogleIamV1__Policy; + } + /** + * Request message for `TestIamPermissions` method. + */ + interface Schema$GoogleIamV1__TestIamPermissionsRequest { + /** + * The set of permissions to check for the `resource`. Permissions with + * wildcards (such as '*' or 'storage.*') are not allowed. + * For more information see [IAM + * Overview](https://cloud.google.com/iam/docs/overview#permissions). + */ + permissions?: string[]; + } + /** + * Response message for `TestIamPermissions` method. + */ + interface Schema$GoogleIamV1__TestIamPermissionsResponse { + /** + * A subset of `TestPermissionsRequest.permissions` that the caller is + * allowed. + */ + permissions?: string[]; + } + /** + * Represents an expression text. Example: title: "User account + * presence" description: "Determines whether the request has a + * user account" expression: "size(request.user) > 0" + */ + interface Schema$GoogleType__Expr { + /** + * An optional description of the expression. This is a longer text which + * describes the expression, e.g. when hovered over it in a UI. + */ + description?: string; + /** + * Textual representation of an expression in Common Expression Language + * syntax. The application context of the containing message determines + * which well-known feature set of CEL is supported. + */ + expression?: string; + /** + * An optional string indicating the location of the expression for error + * reporting, e.g. a file name and a position in the file. + */ + location?: string; + /** + * An optional title for the expression, i.e. a short string describing its + * purpose. This can be used e.g. in UIs which allow to enter the + * expression. + */ + title?: string; + } + class Resource$V1 { + root: Servicebroker; + constructor(root: Servicebroker); + getRoot(): Servicebroker; + /** + * servicebroker.getIamPolicy + * @desc Gets the access control policy for a resource. Returns an empty + * policy if the resource exists and does not have a policy set. + * @alias servicebroker.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. + * @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 + */ + getIamPolicy(params?: Params$Resource$V1$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$V1$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$V1$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * servicebroker.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @alias servicebroker.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. + * @param {().GoogleIamV1__SetIamPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$V1$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$V1$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$V1$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * servicebroker.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. If + * the resource does not exist, this will return an empty set of + * permissions, not a NOT_FOUND error. Note: This operation is designed to + * be used for building permission-aware UIs and command-line tools, not for + * authorization checking. This operation may "fail open" without warning. + * @alias servicebroker.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. + * @param {().GoogleIamV1__TestIamPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$V1$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$V1$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$V1$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$V1$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being requested. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + } + interface Params$Resource$V1$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being specified. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleIamV1__SetIamPolicyRequest; + } + interface Params$Resource$V1$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleIamV1__TestIamPermissionsRequest; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/servicebroker/v1.js b/express-server/node_modules/googleapis/build/src/apis/servicebroker/v1.js new file mode 100644 index 00000000..a455b6e1 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/servicebroker/v1.js @@ -0,0 +1,160 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var servicebroker_v1; +(function (servicebroker_v1) { + /** + * Service Broker API + * + * The Google Cloud Platform Service Broker API provides Google hosted + * implementation of the Open Service Broker API + * (https://www.openservicebrokerapi.org/). + * + * @example + * const {google} = require('googleapis'); + * const servicebroker = google.servicebroker('v1'); + * + * @namespace servicebroker + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Servicebroker + */ + class Servicebroker { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.v1 = new Resource$V1(this); + } + getRoot() { + return this.root; + } + } + servicebroker_v1.Servicebroker = Servicebroker; + class Resource$V1 { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicebroker.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicebroker.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicebroker.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + servicebroker_v1.Resource$V1 = Resource$V1; +})(servicebroker_v1 = exports.servicebroker_v1 || (exports.servicebroker_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/servicebroker/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/servicebroker/v1.js.map new file mode 100644 index 00000000..0e5f2a9f --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/servicebroker/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/servicebroker/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/servicebroker/v1alpha1.d.ts b/express-server/node_modules/googleapis/build/src/apis/servicebroker/v1alpha1.d.ts new file mode 100644 index 00000000..0dd5fdc2 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/servicebroker/v1alpha1.d.ts @@ -0,0 +1,1343 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace servicebroker_v1alpha1 { + interface Options extends GlobalOptions { + version: 'v1alpha1'; + } + /** + * Service Broker API + * + * The Google Cloud Platform Service Broker API provides Google hosted + * implementation of the Open Service Broker API + * (https://www.openservicebrokerapi.org/). + * + * @example + * const {google} = require('googleapis'); + * const servicebroker = google.servicebroker('v1alpha1'); + * + * @namespace servicebroker + * @type {Function} + * @version v1alpha1 + * @variation v1alpha1 + * @param {object=} options Options for Servicebroker + */ + class Servicebroker { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + projects: Resource$Projects; + v1alpha1: Resource$V1alpha1; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Describes the binding. + */ + interface Schema$GoogleCloudServicebrokerV1alpha1__Binding { + /** + * The id of the binding. Must be unique within GCP project. Maximum length + * is 64, GUID recommended. Required. + */ + binding_id?: string; + /** + * A JSON object that contains data for platform resources associated with + * the binding to be created. + */ + bind_resource?: any; + /** + * Output only. Timestamp for when the binding was created. + */ + createTime?: string; + /** + * Configuration options for the service binding. + */ + parameters?: any; + /** + * The ID of the plan. See `Service` and `Plan` resources for details. + * Maximum length is 64, GUID recommended. Required. + */ + plan_id?: string; + /** + * The id of the service. Must be a valid identifier of a service contained + * in the list from a `ListServices()` call. Maximum length is 64, GUID + * recommended. Required. + */ + service_id?: string; + } + /** + * Response for the `CreateBinding()` method. + */ + interface Schema$GoogleCloudServicebrokerV1alpha1__CreateBindingResponse { + /** + * Credentials to use the binding. + */ + credentials?: any; + /** + * Used to communicate description of the response. Usually for non-standard + * error codes. + * https://github.com/openservicebrokerapi/servicebroker/blob/master/spec.md#service-broker-errors + */ + description?: string; + /** + * If broker executes operation asynchronously, this is the operation ID + * that can be polled to check the completion status of said operation. This + * broker always executes all create/delete operations asynchronously. + */ + operation?: string; + /** + * A URL to which the platform may proxy requests for the address sent with + * bind_resource.route + */ + route_service_url?: string; + /** + * From where to read system logs. + */ + syslog_drain_url?: string; + /** + * An array of configuration for mounting volumes. + */ + volume_mounts?: any[]; + } + /** + * Response for the `CreateServiceInstance()` method. + */ + interface Schema$GoogleCloudServicebrokerV1alpha1__CreateServiceInstanceResponse { + /** + * Used to communicate description of the response. Usually for non-standard + * error codes. + * https://github.com/openservicebrokerapi/servicebroker/blob/master/spec.md#service-broker-errors + */ + description?: string; + /** + * If broker executes operation asynchronously, this is the operation ID + * that can be polled to check the completion status of said operation. This + * broker always will return a non-empty operation on success. + */ + operation?: string; + } + /** + * Message containing information required to activate Dashboard SSO feature. + */ + interface Schema$GoogleCloudServicebrokerV1alpha1__DashboardClient { + /** + * The id of the Oauth client that the dashboard will use. + */ + id?: string; + /** + * A URI for the service dashboard. Validated by the OAuth token server when + * the dashboard requests a token. + */ + redirect_uri?: string; + /** + * A secret for the dashboard client. + */ + secret?: string; + } + /** + * Response for the `DeleteBinding()` method. + */ + interface Schema$GoogleCloudServicebrokerV1alpha1__DeleteBindingResponse { + /** + * Used to communicate description of the response. Usually for non-standard + * error codes. + * https://github.com/openservicebrokerapi/servicebroker/blob/master/spec.md#service-broker-errors + */ + description?: string; + /** + * If broker executes operation asynchronously, this is the operation ID + * that can be polled to check the completion status of said operation. + */ + operation?: string; + } + /** + * Response for the `DeleteServiceInstance()` method. + */ + interface Schema$GoogleCloudServicebrokerV1alpha1__DeleteServiceInstanceResponse { + /** + * Used to communicate description of the response. Usually for non-standard + * error codes. + * https://github.com/openservicebrokerapi/servicebroker/blob/master/spec.md#service-broker-errors + */ + description?: string; + /** + * If broker executes operation asynchronously, this is the operation ID + * that can be polled to check the completion status of said operation. + */ + operation?: string; + } + /** + * Response for the `GetBinding()` method. + */ + interface Schema$GoogleCloudServicebrokerV1alpha1__GetBindingResponse { + /** + * Credentials to use the binding. + */ + credentials?: any; + /** + * Used to communicate description of the response. Usually for non-standard + * error codes. + * https://github.com/openservicebrokerapi/servicebroker/blob/master/spec.md#service-broker-errors + */ + description?: string; + /** + * A URL to which the platform may proxy requests for the address sent with + * bind_resource.route + */ + route_service_url?: string; + /** + * From where to read system logs. + */ + syslog_drain_url?: string; + /** + * An array of configuration for mounting volumes. + */ + volume_mounts?: any[]; + } + /** + * The response for the `ListBindings()` method. + */ + interface Schema$GoogleCloudServicebrokerV1alpha1__ListBindingsResponse { + /** + * The list of the bindings in the instance. + */ + bindings?: Schema$GoogleCloudServicebrokerV1alpha1__Binding[]; + /** + * Used to communicate description of the response. Usually for non-standard + * error codes. + * https://github.com/openservicebrokerapi/servicebroker/blob/master/spec.md#service-broker-errors + */ + description?: string; + /** + * This token allows you to get the next page of results for list requests. + * If the number of results is larger than `pageSize`, use the + * `nextPageToken` as a value for the query parameter `pageToken` in the + * next list request. Subsequent list requests will have their own + * `nextPageToken` to continue paging through the results + */ + nextPageToken?: string; + } + /** + * Response message for the `ListCatalog()` method. + */ + interface Schema$GoogleCloudServicebrokerV1alpha1__ListCatalogResponse { + /** + * Used to communicate description of the response. Usually for non-standard + * error codes. + * https://github.com/openservicebrokerapi/servicebroker/blob/master/spec.md#service-broker-errors + */ + description?: string; + /** + * This token allows you to get the next page of results for list requests. + * If the number of results is larger than `pageSize`, use the + * `nextPageToken` as a value for the query parameter `pageToken` in the + * next list request. Subsequent list requests will have their own + * `nextPageToken` to continue paging through the results + */ + nextPageToken?: string; + /** + * The services available for the requested GCP project. + */ + services?: Schema$GoogleCloudServicebrokerV1alpha1__Service[]; + } + /** + * The response for the `ListServiceInstances()` method. + */ + interface Schema$GoogleCloudServicebrokerV1alpha1__ListServiceInstancesResponse { + /** + * Used to communicate description of the response. Usually for non-standard + * error codes. + * https://github.com/openservicebrokerapi/servicebroker/blob/master/spec.md#service-broker-errors + */ + description?: string; + /** + * The list of the instances in the broker. + */ + instances?: Schema$GoogleCloudServicebrokerV1alpha1__ServiceInstance[]; + /** + * This token allows you to get the next page of results for list requests. + * If the number of results is larger than `pageSize`, use the + * `nextPageToken` as a value for the query parameter `pageToken` in the + * next list request. Subsequent list requests will have their own + * `nextPageToken` to continue paging through the results + */ + nextPageToken?: string; + } + /** + * Describes a long running operation, which conforms to OpenService API. + */ + interface Schema$GoogleCloudServicebrokerV1alpha1__Operation { + /** + * Optional description of the Operation state. + */ + description?: string; + /** + * The state of the operation. Valid values are: "in progress", + * "succeeded", and "failed". + */ + state?: string; + } + /** + * Plan message describes a Service Plan. + */ + interface Schema$GoogleCloudServicebrokerV1alpha1__Plan { + /** + * Specifies whether instances of the service can be bound to applications. + * If not specified, `Service.bindable` will be presumed. + */ + bindable?: boolean; + /** + * Textual description of the plan. Optional. + */ + description?: string; + /** + * Whether the service is free. + */ + free?: boolean; + /** + * ID is a globally unique identifier used to uniquely identify the plan. + * User must make no presumption about the format of this field. + */ + id?: string; + /** + * A list of metadata for a service offering. Metadata is an arbitrary JSON + * object. + */ + metadata?: any; + /** + * User friendly name of the plan. The name must be globally unique within + * GCP project. Note, which is different from ("This must be globally + * unique within a platform marketplace"). + */ + name?: string; + /** + * Schema definitions for service instances and bindings for the plan. + */ + schemas?: any; + } + /** + * The resource model mostly follows the Open Service Broker API, as described + * here: + * https://github.com/openservicebrokerapi/servicebroker/blob/master/_spec.md + * Though due to Google Specifics it has additional optional fields. + */ + interface Schema$GoogleCloudServicebrokerV1alpha1__Service { + /** + * Specifies whether instances of the service can be bound to applications. + * Required. + */ + bindable?: boolean; + /** + * Whether the service provides an endpoint to get service bindings. + */ + binding_retrievable?: boolean; + /** + * Information to activate Dashboard SSO feature. + */ + dashboard_client?: Schema$GoogleCloudServicebrokerV1alpha1__DashboardClient; + /** + * Textual description of the service. Required. + */ + description?: string; + /** + * ID is a globally unique identifier used to uniquely identify the service. + * ID is an opaque string. + */ + id?: string; + /** + * Whether the service provides an endpoint to get service instances. + */ + instance_retrievable?: boolean; + /** + * A list of metadata for a service offering. Metadata is an arbitrary JSON + * object. + */ + metadata?: any; + /** + * User friendly service name. Name must match [a-z0-9]+ regexp. The name + * must be globally unique within GCP project. Note, which is different from + * ("This must be globally unique within a platform marketplace"). + * Required. + */ + name?: string; + /** + * A list of plans for this service. At least one plan is required. + */ + plans?: Schema$GoogleCloudServicebrokerV1alpha1__Plan[]; + /** + * Whether the service supports upgrade/downgrade for some plans. + */ + plan_updateable?: boolean; + /** + * Tags provide a flexible mechanism to expose a classification, attribute, + * or base technology of a service. + */ + tags?: string[]; + } + /** + * Message describing inputs to Provision and Update Service instance + * requests. + */ + interface Schema$GoogleCloudServicebrokerV1alpha1__ServiceInstance { + /** + * Platform specific contextual information under which the service instance + * is to be provisioned. This replaces organization_guid and space_guid. But + * can also contain anything. Currently only used for logging context + * information. + */ + context?: any; + /** + * Output only. Timestamp for when the instance was created. + */ + createTime?: string; + /** + * Output only. Name of the Deployment Manager deployment used for + * provisioning of this service instance. + */ + deploymentName?: string; + /** + * The id of the service instance. Must be unique within GCP project. + * Maximum length is 64, GUID recommended. Required. + */ + instance_id?: string; + /** + * The platform GUID for the organization under which the service is to be + * provisioned. Required. + */ + organization_guid?: string; + /** + * Configuration options for the service instance. Parameters is JSON object + * serialized to string. + */ + parameters?: any; + /** + * The ID of the plan. See `Service` and `Plan` resources for details. + * Maximum length is 64, GUID recommended. Required. + */ + plan_id?: string; + /** + * Used only in UpdateServiceInstance request to optionally specify previous + * fields. + */ + previous_values?: any; + /** + * Output only. The resource name of the instance, e.g. + * projects/project_id/brokers/broker_id/service_instances/instance_id + */ + resourceName?: string; + /** + * The id of the service. Must be a valid identifier of a service contained + * in the list from a `ListServices()` call. Maximum length is 64, GUID + * recommended. Required. + */ + service_id?: string; + /** + * The identifier for the project space within the platform organization. + * Required. + */ + space_guid?: string; + } + /** + * Response for the `UpdateServiceInstance()` method. + */ + interface Schema$GoogleCloudServicebrokerV1alpha1__UpdateServiceInstanceResponse { + /** + * Used to communicate description of the response. Usually for non-standard + * error codes. + * https://github.com/openservicebrokerapi/servicebroker/blob/master/spec.md#service-broker-errors + */ + description?: string; + /** + * If broker executes operation asynchronously, this is the operation ID + * that can be polled to check the completion status of said operation. + */ + operation?: string; + } + /** + * Associates `members` with a `role`. + */ + interface Schema$GoogleIamV1__Binding { + /** + * Unimplemented. The condition that is associated with this binding. NOTE: + * an unsatisfied condition will not allow user access via current binding. + * Different bindings, including their conditions, are examined + * independently. + */ + condition?: Schema$GoogleType__Expr; + /** + * Specifies the identities requesting access for a Cloud Platform resource. + * `members` can have the following values: * `allUsers`: A special + * identifier that represents anyone who is on the internet; with or + * without a Google account. * `allAuthenticatedUsers`: A special + * identifier that represents anyone who is authenticated with a Google + * account or a service account. * `user:{emailid}`: An email address that + * represents a specific Google account. For example, `alice@gmail.com` . + * * `serviceAccount:{emailid}`: An email address that represents a service + * account. For example, `my-other-app@appspot.gserviceaccount.com`. * + * `group:{emailid}`: An email address that represents a Google group. For + * example, `admins@example.com`. * `domain:{domain}`: A Google Apps + * domain name that represents all the users of that domain. For example, + * `google.com` or `example.com`. + */ + members?: string[]; + /** + * Role that is assigned to `members`. For example, `roles/viewer`, + * `roles/editor`, or `roles/owner`. + */ + role?: string; + } + /** + * Defines an Identity and Access Management (IAM) policy. It is used to + * specify access control policies for Cloud Platform resources. A `Policy` + * consists of a list of `bindings`. A `binding` binds a list of `members` to + * a `role`, where the members can be user accounts, Google groups, Google + * domains, and service accounts. A `role` is a named list of permissions + * defined by IAM. **JSON Example** { "bindings": [ { + * "role": "roles/owner", "members": [ + * "user:mike@example.com", "group:admins@example.com", + * "domain:google.com", + * "serviceAccount:my-other-app@appspot.gserviceaccount.com" ] }, { + * "role": "roles/viewer", "members": + * ["user:sean@example.com"] } ] } **YAML + * Example** bindings: - members: - user:mike@example.com - + * group:admins@example.com - domain:google.com - + * serviceAccount:my-other-app@appspot.gserviceaccount.com role: + * roles/owner - members: - user:sean@example.com role: + * roles/viewer For a description of IAM and its features, see the [IAM + * developer's guide](https://cloud.google.com/iam/docs). + */ + interface Schema$GoogleIamV1__Policy { + /** + * Associates a list of `members` to a `role`. `bindings` with no members + * will result in an error. + */ + bindings?: Schema$GoogleIamV1__Binding[]; + /** + * `etag` is used for optimistic concurrency control as a way to help + * prevent simultaneous updates of a policy from overwriting each other. It + * is strongly suggested that systems make use of the `etag` in the + * read-modify-write cycle to perform policy updates in order to avoid race + * conditions: An `etag` is returned in the response to `getIamPolicy`, and + * systems are expected to put that etag in the request to `setIamPolicy` to + * ensure that their change will be applied to the same version of the + * policy. If no `etag` is provided in the call to `setIamPolicy`, then the + * existing policy is overwritten blindly. + */ + etag?: string; + /** + * Deprecated. + */ + version?: number; + } + /** + * Request message for `SetIamPolicy` method. + */ + interface Schema$GoogleIamV1__SetIamPolicyRequest { + /** + * REQUIRED: The complete policy to be applied to the `resource`. The size + * of the policy is limited to a few 10s of KB. An empty policy is a valid + * policy but certain Cloud Platform services (such as Projects) might + * reject them. + */ + policy?: Schema$GoogleIamV1__Policy; + } + /** + * Request message for `TestIamPermissions` method. + */ + interface Schema$GoogleIamV1__TestIamPermissionsRequest { + /** + * The set of permissions to check for the `resource`. Permissions with + * wildcards (such as '*' or 'storage.*') are not allowed. + * For more information see [IAM + * Overview](https://cloud.google.com/iam/docs/overview#permissions). + */ + permissions?: string[]; + } + /** + * Response message for `TestIamPermissions` method. + */ + interface Schema$GoogleIamV1__TestIamPermissionsResponse { + /** + * A subset of `TestPermissionsRequest.permissions` that the caller is + * allowed. + */ + permissions?: string[]; + } + /** + * Represents an expression text. Example: title: "User account + * presence" description: "Determines whether the request has a + * user account" expression: "size(request.user) > 0" + */ + interface Schema$GoogleType__Expr { + /** + * An optional description of the expression. This is a longer text which + * describes the expression, e.g. when hovered over it in a UI. + */ + description?: string; + /** + * Textual representation of an expression in Common Expression Language + * syntax. The application context of the containing message determines + * which well-known feature set of CEL is supported. + */ + expression?: string; + /** + * An optional string indicating the location of the expression for error + * reporting, e.g. a file name and a position in the file. + */ + location?: string; + /** + * An optional title for the expression, i.e. a short string describing its + * purpose. This can be used e.g. in UIs which allow to enter the + * expression. + */ + title?: string; + } + class Resource$Projects { + root: Servicebroker; + brokers: Resource$Projects$Brokers; + constructor(root: Servicebroker); + getRoot(): Servicebroker; + } + class Resource$Projects$Brokers { + root: Servicebroker; + instances: Resource$Projects$Brokers$Instances; + service_instances: Resource$Projects$Brokers$Service_instances; + v2: Resource$Projects$Brokers$V2; + constructor(root: Servicebroker); + getRoot(): Servicebroker; + } + class Resource$Projects$Brokers$Instances { + root: Servicebroker; + service_bindings: Resource$Projects$Brokers$Instances$Service_bindings; + constructor(root: Servicebroker); + getRoot(): Servicebroker; + /** + * servicebroker.projects.brokers.instances.get + * @desc Gets the given service instance from the system. This API is an + * extension and not part of the OSB spec. Hence the path is a standard + * Google API URL. + * @alias servicebroker.projects.brokers.instances.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name of the instance to return. + * @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?: Params$Resource$Projects$Brokers$Instances$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Brokers$Instances$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Brokers$Instances$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Brokers$Instances$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the instance to return. + */ + name?: string; + } + class Resource$Projects$Brokers$Instances$Service_bindings { + root: Servicebroker; + constructor(root: Servicebroker); + getRoot(): Servicebroker; + /** + * servicebroker.projects.brokers.instances.service_bindings.list + * @desc Lists all the bindings in the instance + * @alias servicebroker.projects.brokers.instances.service_bindings.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Specifies the number of results to return per page. If there are fewer elements than the specified number, returns all elements. Optional. If unset or 0, all the results will be returned. + * @param {string=} params.pageToken Specifies a page token to use. Set `pageToken` to a `nextPageToken` returned by a previous list request to get the next page of results. + * @param {string} params.parent Parent must match `projects/[PROJECT_ID]/brokers/[BROKER_ID]/instances/[INSTANCE_ID]`. + * @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?: Params$Resource$Projects$Brokers$Instances$Service_bindings$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Brokers$Instances$Service_bindings$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Brokers$Instances$Service_bindings$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Brokers$Instances$Service_bindings$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Specifies the number of results to return per page. If there are fewer + * elements than the specified number, returns all elements. Optional. If + * unset or 0, all the results will be returned. + */ + pageSize?: number; + /** + * Specifies a page token to use. Set `pageToken` to a `nextPageToken` + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Parent must match + * `projects/[PROJECT_ID]/brokers/[BROKER_ID]/instances/[INSTANCE_ID]`. + */ + parent?: string; + } + class Resource$Projects$Brokers$Service_instances { + root: Servicebroker; + constructor(root: Servicebroker); + getRoot(): Servicebroker; + /** + * servicebroker.projects.brokers.service_instances.list + * @desc Lists all the instances in the brokers This API is an extension and + * not part of the OSB spec. Hence the path is a standard Google API URL. + * @alias servicebroker.projects.brokers.service_instances.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Specifies the number of results to return per page. If there are fewer elements than the specified number, returns all elements. Optional. If unset or 0, all the results will be returned. + * @param {string=} params.pageToken Specifies a page token to use. Set `pageToken` to a `nextPageToken` returned by a previous list request to get the next page of results. + * @param {string} params.parent Parent must match `projects/[PROJECT_ID]/brokers/[BROKER_ID]`. + * @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?: Params$Resource$Projects$Brokers$Service_instances$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Brokers$Service_instances$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Brokers$Service_instances$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Brokers$Service_instances$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Specifies the number of results to return per page. If there are fewer + * elements than the specified number, returns all elements. Optional. If + * unset or 0, all the results will be returned. + */ + pageSize?: number; + /** + * Specifies a page token to use. Set `pageToken` to a `nextPageToken` + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Parent must match `projects/[PROJECT_ID]/brokers/[BROKER_ID]`. + */ + parent?: string; + } + class Resource$Projects$Brokers$V2 { + root: Servicebroker; + catalog: Resource$Projects$Brokers$V2$Catalog; + service_instances: Resource$Projects$Brokers$V2$Service_instances; + constructor(root: Servicebroker); + getRoot(): Servicebroker; + } + class Resource$Projects$Brokers$V2$Catalog { + root: Servicebroker; + constructor(root: Servicebroker); + getRoot(): Servicebroker; + /** + * servicebroker.projects.brokers.v2.catalog.list + * @desc Lists all the Services registered with this broker for consumption + * for given service registry broker, which contains an set of services. + * Note, that Service producer API is separate from Broker API. + * @alias servicebroker.projects.brokers.v2.catalog.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Specifies the number of results to return per page. If there are fewer elements than the specified number, returns all elements. Optional. If unset or 0, all the results will be returned. + * @param {string=} params.pageToken Specifies a page token to use. Set `pageToken` to a `nextPageToken` returned by a previous list request to get the next page of results. + * @param {string} params.parent Parent must match `projects/[PROJECT_ID]/brokers/[BROKER_ID]`. + * @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?: Params$Resource$Projects$Brokers$V2$Catalog$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Brokers$V2$Catalog$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Brokers$V2$Catalog$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Brokers$V2$Catalog$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Specifies the number of results to return per page. If there are fewer + * elements than the specified number, returns all elements. Optional. If + * unset or 0, all the results will be returned. + */ + pageSize?: number; + /** + * Specifies a page token to use. Set `pageToken` to a `nextPageToken` + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Parent must match `projects/[PROJECT_ID]/brokers/[BROKER_ID]`. + */ + parent?: string; + } + class Resource$Projects$Brokers$V2$Service_instances { + root: Servicebroker; + service_bindings: Resource$Projects$Brokers$V2$Service_instances$Service_bindings; + constructor(root: Servicebroker); + getRoot(): Servicebroker; + /** + * servicebroker.projects.brokers.v2.service_instances.create + * @desc Provisions a service instance. If `request.accepts_incomplete` is + * false and Broker cannot execute request synchronously HTTP 422 error will + * be returned along with FAILED_PRECONDITION status. If + * `request.accepts_incomplete` is true and the Broker decides to execute + * resource asynchronously then HTTP 202 response code will be returned and + * a valid polling operation in the response will be included. If Broker + * executes the request synchronously and it succeeds HTTP 201 response will + * be furnished. If identical instance exists, then HTTP 200 response will + * be returned. If an instance with identical ID but mismatching parameters + * exists, then HTTP 409 status code will be returned. + * @alias servicebroker.projects.brokers.v2.service_instances.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.acceptsIncomplete Value indicating that API client supports asynchronous operations. If Broker cannot execute the request synchronously HTTP 422 code will be returned to HTTP clients along with FAILED_PRECONDITION error. If true and broker will execute request asynchronously 202 HTTP code will be returned. This broker always requires this to be true as all mutator operations are asynchronous. + * @param {string} params.instance_id The id of the service instance. Must be unique within GCP project. Maximum length is 64, GUID recommended. Required. + * @param {string} params.parent Parent must match `projects/[PROJECT_ID]/brokers/[BROKER_ID]`. + * @param {().GoogleCloudServicebrokerV1alpha1__ServiceInstance} 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 + */ + create(params?: Params$Resource$Projects$Brokers$V2$Service_instances$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Brokers$V2$Service_instances$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Brokers$V2$Service_instances$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * servicebroker.projects.brokers.v2.service_instances.delete + * @desc Deprovisions a service instance. For synchronous/asynchronous + * request details see CreateServiceInstance method. If service instance + * does not exist HTTP 410 status will be returned. + * @alias servicebroker.projects.brokers.v2.service_instances.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.acceptsIncomplete See CreateServiceInstanceRequest for details. + * @param {string} params.instanceId The instance id to deprovision. + * @param {string} params.parent Parent must match `projects/[PROJECT_ID]/brokers/[BROKER_ID]`. + * @param {string=} params.planId The plan id of the service instance. + * @param {string=} params.serviceId The service id of the service instance. + * @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?: Params$Resource$Projects$Brokers$V2$Service_instances$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Brokers$V2$Service_instances$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Brokers$V2$Service_instances$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * servicebroker.projects.brokers.v2.service_instances.get + * @desc Gets the given service instance from the system. This API is an + * extension and not part of the OSB spec. Hence the path is a standard + * Google API URL. + * @alias servicebroker.projects.brokers.v2.service_instances.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name of the instance to return. + * @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?: Params$Resource$Projects$Brokers$V2$Service_instances$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Brokers$V2$Service_instances$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Brokers$V2$Service_instances$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * servicebroker.projects.brokers.v2.service_instances.getLast_operation + * @desc Returns the state of the last operation for the service instance. + * Only last (or current) operation can be polled. + * @alias + * servicebroker.projects.brokers.v2.service_instances.getLast_operation + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instanceId The instance id for which to return the last operation status. + * @param {string=} params.operation If `operation` was returned during mutation operation, this field must be populated with the provided value. + * @param {string} params.parent Parent must match `projects/[PROJECT_ID]/brokers/[BROKER_ID]`. + * @param {string=} params.planId Plan id. + * @param {string=} params.serviceId Service id. + * @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 + */ + getLast_operation(params?: Params$Resource$Projects$Brokers$V2$Service_instances$Getlast_operation, options?: MethodOptions): AxiosPromise; + getLast_operation(params: Params$Resource$Projects$Brokers$V2$Service_instances$Getlast_operation, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getLast_operation(params: Params$Resource$Projects$Brokers$V2$Service_instances$Getlast_operation, callback: BodyResponseCallback): void; + getLast_operation(callback: BodyResponseCallback): void; + /** + * servicebroker.projects.brokers.v2.service_instances.patch + * @desc Updates an existing service instance. See CreateServiceInstance for + * possible response codes. + * @alias servicebroker.projects.brokers.v2.service_instances.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.acceptsIncomplete See CreateServiceInstanceRequest for details. + * @param {string} params.instance_id The id of the service instance. Must be unique within GCP project. Maximum length is 64, GUID recommended. Required. + * @param {string} params.parent Parent must match `projects/[PROJECT_ID]/brokers/[BROKER_ID]`. + * @param {().GoogleCloudServicebrokerV1alpha1__ServiceInstance} 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 + */ + patch(params?: Params$Resource$Projects$Brokers$V2$Service_instances$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Brokers$V2$Service_instances$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Brokers$V2$Service_instances$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Brokers$V2$Service_instances$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Value indicating that API client supports asynchronous operations. If + * Broker cannot execute the request synchronously HTTP 422 code will be + * returned to HTTP clients along with FAILED_PRECONDITION error. If true + * and broker will execute request asynchronously 202 HTTP code will be + * returned. This broker always requires this to be true as all mutator + * operations are asynchronous. + */ + acceptsIncomplete?: boolean; + /** + * The id of the service instance. Must be unique within GCP project. + * Maximum length is 64, GUID recommended. Required. + */ + instance_id?: string; + /** + * Parent must match `projects/[PROJECT_ID]/brokers/[BROKER_ID]`. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudServicebrokerV1alpha1__ServiceInstance; + } + interface Params$Resource$Projects$Brokers$V2$Service_instances$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * See CreateServiceInstanceRequest for details. + */ + acceptsIncomplete?: boolean; + /** + * The instance id to deprovision. + */ + instanceId?: string; + /** + * Parent must match `projects/[PROJECT_ID]/brokers/[BROKER_ID]`. + */ + parent?: string; + /** + * The plan id of the service instance. + */ + planId?: string; + /** + * The service id of the service instance. + */ + serviceId?: string; + } + interface Params$Resource$Projects$Brokers$V2$Service_instances$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the instance to return. + */ + name?: string; + } + interface Params$Resource$Projects$Brokers$V2$Service_instances$Getlast_operation { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The instance id for which to return the last operation status. + */ + instanceId?: string; + /** + * If `operation` was returned during mutation operation, this field must be + * populated with the provided value. + */ + operation?: string; + /** + * Parent must match `projects/[PROJECT_ID]/brokers/[BROKER_ID]`. + */ + parent?: string; + /** + * Plan id. + */ + planId?: string; + /** + * Service id. + */ + serviceId?: string; + } + interface Params$Resource$Projects$Brokers$V2$Service_instances$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * See CreateServiceInstanceRequest for details. + */ + acceptsIncomplete?: boolean; + /** + * The id of the service instance. Must be unique within GCP project. + * Maximum length is 64, GUID recommended. Required. + */ + instance_id?: string; + /** + * Parent must match `projects/[PROJECT_ID]/brokers/[BROKER_ID]`. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudServicebrokerV1alpha1__ServiceInstance; + } + class Resource$Projects$Brokers$V2$Service_instances$Service_bindings { + root: Servicebroker; + constructor(root: Servicebroker); + getRoot(): Servicebroker; + /** + * servicebroker.projects.brokers.v2.service_instances.service_bindings.create + * @desc CreateBinding generates a service binding to an existing service + * instance. See ProviServiceInstance for async operation details. + * @alias + * servicebroker.projects.brokers.v2.service_instances.service_bindings.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.acceptsIncomplete See CreateServiceInstanceRequest for details. + * @param {string} params.binding_id The id of the binding. Must be unique within GCP project. Maximum length is 64, GUID recommended. Required. + * @param {string} params.instanceId The service instance to which to bind. + * @param {string} params.parent The GCP container. Must match `projects/[PROJECT_ID]/brokers/[BROKER_ID]`. + * @param {().GoogleCloudServicebrokerV1alpha1__Binding} 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 + */ + create(params?: Params$Resource$Projects$Brokers$V2$Service_instances$Service_bindings$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Brokers$V2$Service_instances$Service_bindings$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Brokers$V2$Service_instances$Service_bindings$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * servicebroker.projects.brokers.v2.service_instances.service_bindings.delete + * @desc Unbinds from a service instance. For synchronous/asynchronous + * request details see CreateServiceInstance method. If binding does not + * exist HTTP 410 status will be returned. + * @alias + * servicebroker.projects.brokers.v2.service_instances.service_bindings.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.acceptsIncomplete See CreateServiceInstanceRequest for details. + * @param {string} params.bindingId The id of the binding to delete. + * @param {string} params.instanceId The service instance id that deleted binding is bound to. + * @param {string} params.parent Parent must match `projects/[PROJECT_ID]/brokers/[BROKER_ID]`. + * @param {string=} params.planId The plan id of the service instance. + * @param {string=} params.serviceId Additional query parameter hints. The service id of the service instance. + * @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?: Params$Resource$Projects$Brokers$V2$Service_instances$Service_bindings$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Brokers$V2$Service_instances$Service_bindings$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Brokers$V2$Service_instances$Service_bindings$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * servicebroker.projects.brokers.v2.service_instances.service_bindings.get + * @desc GetBinding returns the binding information. + * @alias + * servicebroker.projects.brokers.v2.service_instances.service_bindings.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bindingId The binding id. + * @param {string} params.instanceId Instance id to which the binding is bound. + * @param {string} params.parent Parent must match `projects/[PROJECT_ID]/brokers/[BROKER_ID]`. + * @param {string=} params.planId Plan id. + * @param {string=} params.serviceId Service id. + * @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?: Params$Resource$Projects$Brokers$V2$Service_instances$Service_bindings$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Brokers$V2$Service_instances$Service_bindings$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Brokers$V2$Service_instances$Service_bindings$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * servicebroker.projects.brokers.v2.service_instances.service_bindings.getLast_operation + * @desc Returns the state of the last operation for the binding. Only last + * (or current) operation can be polled. + * @alias + * servicebroker.projects.brokers.v2.service_instances.service_bindings.getLast_operation + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bindingId The binding id for which to return the last operation + * @param {string} params.instanceId The instance id that the binding is bound to. + * @param {string=} params.operation If `operation` was returned during mutation operation, this field must be populated with the provided value. + * @param {string} params.parent Parent must match `projects/[PROJECT_ID]/brokers/[BROKER_ID]`. + * @param {string=} params.planId Plan id. + * @param {string=} params.serviceId Service id. + * @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 + */ + getLast_operation(params?: Params$Resource$Projects$Brokers$V2$Service_instances$Service_bindings$Getlast_operation, options?: MethodOptions): AxiosPromise; + getLast_operation(params: Params$Resource$Projects$Brokers$V2$Service_instances$Service_bindings$Getlast_operation, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getLast_operation(params: Params$Resource$Projects$Brokers$V2$Service_instances$Service_bindings$Getlast_operation, callback: BodyResponseCallback): void; + getLast_operation(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Brokers$V2$Service_instances$Service_bindings$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * See CreateServiceInstanceRequest for details. + */ + acceptsIncomplete?: boolean; + /** + * The id of the binding. Must be unique within GCP project. Maximum length + * is 64, GUID recommended. Required. + */ + binding_id?: string; + /** + * The service instance to which to bind. + */ + instanceId?: string; + /** + * The GCP container. Must match + * `projects/[PROJECT_ID]/brokers/[BROKER_ID]`. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudServicebrokerV1alpha1__Binding; + } + interface Params$Resource$Projects$Brokers$V2$Service_instances$Service_bindings$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * See CreateServiceInstanceRequest for details. + */ + acceptsIncomplete?: boolean; + /** + * The id of the binding to delete. + */ + bindingId?: string; + /** + * The service instance id that deleted binding is bound to. + */ + instanceId?: string; + /** + * Parent must match `projects/[PROJECT_ID]/brokers/[BROKER_ID]`. + */ + parent?: string; + /** + * The plan id of the service instance. + */ + planId?: string; + /** + * Additional query parameter hints. The service id of the service instance. + */ + serviceId?: string; + } + interface Params$Resource$Projects$Brokers$V2$Service_instances$Service_bindings$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The binding id. + */ + bindingId?: string; + /** + * Instance id to which the binding is bound. + */ + instanceId?: string; + /** + * Parent must match `projects/[PROJECT_ID]/brokers/[BROKER_ID]`. + */ + parent?: string; + /** + * Plan id. + */ + planId?: string; + /** + * Service id. + */ + serviceId?: string; + } + interface Params$Resource$Projects$Brokers$V2$Service_instances$Service_bindings$Getlast_operation { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The binding id for which to return the last operation + */ + bindingId?: string; + /** + * The instance id that the binding is bound to. + */ + instanceId?: string; + /** + * If `operation` was returned during mutation operation, this field must be + * populated with the provided value. + */ + operation?: string; + /** + * Parent must match `projects/[PROJECT_ID]/brokers/[BROKER_ID]`. + */ + parent?: string; + /** + * Plan id. + */ + planId?: string; + /** + * Service id. + */ + serviceId?: string; + } + class Resource$V1alpha1 { + root: Servicebroker; + constructor(root: Servicebroker); + getRoot(): Servicebroker; + /** + * servicebroker.getIamPolicy + * @desc Gets the access control policy for a resource. Returns an empty + * policy if the resource exists and does not have a policy set. + * @alias servicebroker.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. + * @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 + */ + getIamPolicy(params?: Params$Resource$V1alpha1$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$V1alpha1$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$V1alpha1$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * servicebroker.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @alias servicebroker.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. + * @param {().GoogleIamV1__SetIamPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$V1alpha1$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$V1alpha1$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$V1alpha1$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * servicebroker.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. If + * the resource does not exist, this will return an empty set of + * permissions, not a NOT_FOUND error. Note: This operation is designed to + * be used for building permission-aware UIs and command-line tools, not for + * authorization checking. This operation may "fail open" without warning. + * @alias servicebroker.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. + * @param {().GoogleIamV1__TestIamPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$V1alpha1$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$V1alpha1$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$V1alpha1$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$V1alpha1$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being requested. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + } + interface Params$Resource$V1alpha1$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being specified. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleIamV1__SetIamPolicyRequest; + } + interface Params$Resource$V1alpha1$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleIamV1__TestIamPermissionsRequest; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/servicebroker/v1alpha1.js b/express-server/node_modules/googleapis/build/src/apis/servicebroker/v1alpha1.js new file mode 100644 index 00000000..33114c64 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/servicebroker/v1alpha1.js @@ -0,0 +1,672 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var servicebroker_v1alpha1; +(function (servicebroker_v1alpha1) { + /** + * Service Broker API + * + * The Google Cloud Platform Service Broker API provides Google hosted + * implementation of the Open Service Broker API + * (https://www.openservicebrokerapi.org/). + * + * @example + * const {google} = require('googleapis'); + * const servicebroker = google.servicebroker('v1alpha1'); + * + * @namespace servicebroker + * @type {Function} + * @version v1alpha1 + * @variation v1alpha1 + * @param {object=} options Options for Servicebroker + */ + class Servicebroker { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.projects = new Resource$Projects(this); + this.v1alpha1 = new Resource$V1alpha1(this); + } + getRoot() { + return this.root; + } + } + servicebroker_v1alpha1.Servicebroker = Servicebroker; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.brokers = new Resource$Projects$Brokers(root); + } + getRoot() { + return this.root; + } + } + servicebroker_v1alpha1.Resource$Projects = Resource$Projects; + class Resource$Projects$Brokers { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.instances = new Resource$Projects$Brokers$Instances(root); + this.service_instances = + new Resource$Projects$Brokers$Service_instances(root); + this.v2 = new Resource$Projects$Brokers$V2(root); + } + getRoot() { + return this.root; + } + } + servicebroker_v1alpha1.Resource$Projects$Brokers = Resource$Projects$Brokers; + class Resource$Projects$Brokers$Instances { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.service_bindings = + new Resource$Projects$Brokers$Instances$Service_bindings(root); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicebroker.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + servicebroker_v1alpha1.Resource$Projects$Brokers$Instances = Resource$Projects$Brokers$Instances; + class Resource$Projects$Brokers$Instances$Service_bindings { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicebroker.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha1/{+parent}/service_bindings') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + servicebroker_v1alpha1.Resource$Projects$Brokers$Instances$Service_bindings = Resource$Projects$Brokers$Instances$Service_bindings; + class Resource$Projects$Brokers$Service_instances { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicebroker.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha1/{+parent}/service_instances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + servicebroker_v1alpha1.Resource$Projects$Brokers$Service_instances = Resource$Projects$Brokers$Service_instances; + class Resource$Projects$Brokers$V2 { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.catalog = new Resource$Projects$Brokers$V2$Catalog(root); + this.service_instances = + new Resource$Projects$Brokers$V2$Service_instances(root); + } + getRoot() { + return this.root; + } + } + servicebroker_v1alpha1.Resource$Projects$Brokers$V2 = Resource$Projects$Brokers$V2; + class Resource$Projects$Brokers$V2$Catalog { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicebroker.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha1/{+parent}/v2/catalog') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + servicebroker_v1alpha1.Resource$Projects$Brokers$V2$Catalog = Resource$Projects$Brokers$V2$Catalog; + class Resource$Projects$Brokers$V2$Service_instances { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.service_bindings = + new Resource$Projects$Brokers$V2$Service_instances$Service_bindings(root); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicebroker.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1alpha1/{+parent}/v2/service_instances/{+instance_id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['parent', 'instance_id'], + pathParams: ['instance_id', 'parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicebroker.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1alpha1/{+parent}/v2/service_instances/{+instanceId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['parent', 'instanceId'], + pathParams: ['instanceId', 'parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicebroker.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getLast_operation(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicebroker.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1alpha1/{+parent}/v2/service_instances/{+instanceId}/last_operation') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent', 'instanceId'], + pathParams: ['instanceId', 'parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicebroker.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1alpha1/{+parent}/v2/service_instances/{+instance_id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['parent', 'instance_id'], + pathParams: ['instance_id', 'parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + servicebroker_v1alpha1.Resource$Projects$Brokers$V2$Service_instances = Resource$Projects$Brokers$V2$Service_instances; + class Resource$Projects$Brokers$V2$Service_instances$Service_bindings { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicebroker.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1alpha1/{+parent}/v2/service_instances/{+instanceId}/service_bindings/{+binding_id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['parent', 'instanceId', 'binding_id'], + pathParams: ['binding_id', 'instanceId', 'parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicebroker.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1alpha1/{+parent}/v2/service_instances/{instanceId}/service_bindings/{bindingId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['parent', 'instanceId', 'bindingId'], + pathParams: ['bindingId', 'instanceId', 'parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicebroker.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1alpha1/{+parent}/v2/service_instances/{+instanceId}/service_bindings/{+bindingId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent', 'instanceId', 'bindingId'], + pathParams: ['bindingId', 'instanceId', 'parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getLast_operation(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicebroker.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1alpha1/{+parent}/v2/service_instances/{+instanceId}/service_bindings/{+bindingId}/last_operation') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent', 'instanceId', 'bindingId'], + pathParams: ['bindingId', 'instanceId', 'parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + servicebroker_v1alpha1.Resource$Projects$Brokers$V2$Service_instances$Service_bindings = Resource$Projects$Brokers$V2$Service_instances$Service_bindings; + class Resource$V1alpha1 { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicebroker.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha1/{+resource}:getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicebroker.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha1/{+resource}:setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicebroker.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha1/{+resource}:testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + servicebroker_v1alpha1.Resource$V1alpha1 = Resource$V1alpha1; +})(servicebroker_v1alpha1 = exports.servicebroker_v1alpha1 || (exports.servicebroker_v1alpha1 = {})); +//# sourceMappingURL=v1alpha1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/servicebroker/v1alpha1.js.map b/express-server/node_modules/googleapis/build/src/apis/servicebroker/v1alpha1.js.map new file mode 100644 index 00000000..22f4c47b --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/servicebroker/v1alpha1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1alpha1.js","sourceRoot":"","sources":["../../../../src/apis/servicebroker/v1alpha1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/servicebroker/v1beta1.d.ts b/express-server/node_modules/googleapis/build/src/apis/servicebroker/v1beta1.d.ts new file mode 100644 index 00000000..ee4f5503 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/servicebroker/v1beta1.d.ts @@ -0,0 +1,1571 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace servicebroker_v1beta1 { + interface Options extends GlobalOptions { + version: 'v1beta1'; + } + /** + * Service Broker API + * + * The Google Cloud Platform Service Broker API provides Google hosted + * implementation of the Open Service Broker API + * (https://www.openservicebrokerapi.org/). + * + * @example + * const {google} = require('googleapis'); + * const servicebroker = google.servicebroker('v1beta1'); + * + * @namespace servicebroker + * @type {Function} + * @version v1beta1 + * @variation v1beta1 + * @param {object=} options Options for Servicebroker + */ + class Servicebroker { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + projects: Resource$Projects; + v1beta1: Resource$V1beta1; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Describes the binding. + */ + interface Schema$GoogleCloudServicebrokerV1beta1__Binding { + /** + * The id of the binding. Must be unique within GCP project. Maximum length + * is 64, GUID recommended. Required. + */ + binding_id?: string; + /** + * A JSON object that contains data for platform resources associated with + * the binding to be created. + */ + bind_resource?: any; + /** + * Output only. Timestamp for when the binding was created. + */ + createTime?: string; + /** + * Output only. String containing the Deployment Manager deployment name + * that was created for this binding, + */ + deploymentName?: string; + /** + * Configuration options for the service binding. + */ + parameters?: any; + /** + * The ID of the plan. See `Service` and `Plan` resources for details. + * Maximum length is 64, GUID recommended. Required. + */ + plan_id?: string; + /** + * Output only. The resource name of the binding, e.g. + * projects/project_id/brokers/broker_id/service_instances/instance_id/bindings/binding_id. + */ + resourceName?: string; + /** + * The id of the service. Must be a valid identifier of a service contained + * in the list from a `ListServices()` call. Maximum length is 64, GUID + * recommended. Required. + */ + service_id?: string; + } + /** + * Broker represents a consumable collection of Service Registry catalogs + * exposed as an OSB Broker. + */ + interface Schema$GoogleCloudServicebrokerV1beta1__Broker { + /** + * Output only. Timestamp for when the broker was created. + */ + createTime?: string; + /** + * Name of the broker in the format: + * <projects>/<project-id>/brokers/<broker>. This allows + * for multiple brokers per project which can be used to enable having + * custom brokers per GKE cluster, for example. + */ + name?: string; + /** + * User friendly title of the broker. Limited to 1024 characters. Requests + * with longer titles will be rejected. + */ + title?: string; + /** + * Output only. URL of the broker OSB-compliant endpoint, for example: + * https://servicebroker.googleapis.com/projects/<project>/brokers/<broker> + */ + url?: string; + } + /** + * Response for the `CreateBinding()` method. + */ + interface Schema$GoogleCloudServicebrokerV1beta1__CreateBindingResponse { + /** + * Credentials to use the binding. + */ + credentials?: any; + /** + * Used to communicate description of the response. Usually for non-standard + * error codes. + * https://github.com/openservicebrokerapi/servicebroker/blob/master/spec.md#service-broker-errors + */ + description?: string; + /** + * If broker executes operation asynchronously, this is the operation ID + * that can be polled to check the completion status of said operation. This + * broker always executes all create/delete operations asynchronously. + */ + operation?: string; + /** + * A URL to which the platform may proxy requests for the address sent with + * bind_resource.route + */ + route_service_url?: string; + /** + * From where to read system logs. + */ + syslog_drain_url?: string; + /** + * An array of configuration for mounting volumes. + */ + volume_mounts?: any[]; + } + /** + * Response for the `CreateServiceInstance()` method. + */ + interface Schema$GoogleCloudServicebrokerV1beta1__CreateServiceInstanceResponse { + /** + * Used to communicate description of the response. Usually for non-standard + * error codes. + * https://github.com/openservicebrokerapi/servicebroker/blob/master/spec.md#service-broker-errors + */ + description?: string; + /** + * If broker executes operation asynchronously, this is the operation ID + * that can be polled to check the completion status of said operation. This + * broker always will return a non-empty operation on success. + */ + operation?: string; + } + /** + * Message containing information required to activate Dashboard SSO feature. + */ + interface Schema$GoogleCloudServicebrokerV1beta1__DashboardClient { + /** + * The id of the Oauth client that the dashboard will use. + */ + id?: string; + /** + * A URI for the service dashboard. Validated by the OAuth token server when + * the dashboard requests a token. + */ + redirect_uri?: string; + /** + * A secret for the dashboard client. + */ + secret?: string; + } + /** + * Response for the `DeleteBinding()` method. + */ + interface Schema$GoogleCloudServicebrokerV1beta1__DeleteBindingResponse { + /** + * Used to communicate description of the response. Usually for non-standard + * error codes. + * https://github.com/openservicebrokerapi/servicebroker/blob/master/spec.md#service-broker-errors + */ + description?: string; + /** + * If broker executes operation asynchronously, this is the operation ID + * that can be polled to check the completion status of said operation. + */ + operation?: string; + } + /** + * Response for the `DeleteServiceInstance()` method. + */ + interface Schema$GoogleCloudServicebrokerV1beta1__DeleteServiceInstanceResponse { + /** + * Used to communicate description of the response. Usually for non-standard + * error codes. + * https://github.com/openservicebrokerapi/servicebroker/blob/master/spec.md#service-broker-errors + */ + description?: string; + /** + * If broker executes operation asynchronously, this is the operation ID + * that can be polled to check the completion status of said operation. + */ + operation?: string; + } + /** + * Response for the `GetBinding()` method. + */ + interface Schema$GoogleCloudServicebrokerV1beta1__GetBindingResponse { + /** + * Credentials to use the binding. + */ + credentials?: any; + /** + * String containing the Deployment Manager deployment name that was created + * for this binding, + */ + deploymentName?: string; + /** + * Used to communicate description of the response. Usually for non-standard + * error codes. + * https://github.com/openservicebrokerapi/servicebroker/blob/master/spec.md#service-broker-errors + */ + description?: string; + /** + * Output only. The resource name of the binding, e.g. + * projects/project_id/brokers/broker_id/service_instances/instance_id/bindings/binding_id. + */ + resourceName?: string; + /** + * A URL to which the platform may proxy requests for the address sent with + * bind_resource.route + */ + route_service_url?: string; + /** + * From where to read system logs. + */ + syslog_drain_url?: string; + /** + * An array of configurations for mounting volumes. + */ + volume_mounts?: any[]; + } + /** + * The response for the `ListBindings()` method. + */ + interface Schema$GoogleCloudServicebrokerV1beta1__ListBindingsResponse { + /** + * The list of bindings in the instance. + */ + bindings?: Schema$GoogleCloudServicebrokerV1beta1__Binding[]; + /** + * Used to communicate description of the response. Usually for non-standard + * error codes. + * https://github.com/openservicebrokerapi/servicebroker/blob/master/spec.md#service-broker-errors + */ + description?: string; + /** + * This token allows you to get the next page of results for list requests. + * If the number of results is larger than `pageSize`, use the + * `nextPageToken` as a value for the query parameter `pageToken` in the + * next list request. Subsequent list requests will have their own + * `nextPageToken` to continue paging through the results + */ + nextPageToken?: string; + } + /** + * The response for the `ListBrokers()` method. + */ + interface Schema$GoogleCloudServicebrokerV1beta1__ListBrokersResponse { + /** + * The list of brokers in the container. + */ + brokers?: Schema$GoogleCloudServicebrokerV1beta1__Broker[]; + /** + * This token allows you to get the next page of results for list requests. + * If the number of results is larger than `pageSize`, use the + * `nextPageToken` as a value for the query parameter `pageToken` in the + * next list request. Subsequent list requests will have their own + * `nextPageToken` to continue paging through the results + */ + nextPageToken?: string; + } + /** + * Response message for the `ListCatalog()` method. + */ + interface Schema$GoogleCloudServicebrokerV1beta1__ListCatalogResponse { + /** + * Used to communicate description of the response. Usually for non-standard + * error codes. + * https://github.com/openservicebrokerapi/servicebroker/blob/master/spec.md#service-broker-errors + */ + description?: string; + /** + * This token allows you to get the next page of results for list requests. + * If the number of results is larger than `pageSize`, use the + * `nextPageToken` as a value for the query parameter `pageToken` in the + * next list request. Subsequent list requests will have their own + * `nextPageToken` to continue paging through the results + */ + nextPageToken?: string; + /** + * The services available for the requested GCP project. + */ + services?: Schema$GoogleCloudServicebrokerV1beta1__Service[]; + } + /** + * The response for the `ListServiceInstances()` method. + */ + interface Schema$GoogleCloudServicebrokerV1beta1__ListServiceInstancesResponse { + /** + * Used to communicate description of the response. Usually for non-standard + * error codes. + * https://github.com/openservicebrokerapi/servicebroker/blob/master/spec.md#service-broker-errors + */ + description?: string; + /** + * The list of instances in the broker. + */ + instances?: Schema$GoogleCloudServicebrokerV1beta1__ServiceInstance[]; + /** + * This token allows you to get the next page of results for list requests. + * If the number of results is larger than `pageSize`, use the + * `nextPageToken` as a value for the query parameter `pageToken` in the + * next list request. Subsequent list requests will have their own + * `nextPageToken` to continue paging through the results + */ + nextPageToken?: string; + } + /** + * Describes a long running operation, which conforms to OpenService API. + */ + interface Schema$GoogleCloudServicebrokerV1beta1__Operation { + /** + * Optional description of the Operation state. + */ + description?: string; + /** + * The state of the operation. Valid values are: "in progress", + * "succeeded", and "failed". + */ + state?: string; + } + /** + * Plan message describes a Service Plan. + */ + interface Schema$GoogleCloudServicebrokerV1beta1__Plan { + /** + * Specifies whether instances of the service can be bound to applications. + * If not specified, `Service.bindable` will be presumed. + */ + bindable?: boolean; + /** + * Textual description of the plan. Optional. + */ + description?: string; + /** + * Whether the service is free. + */ + free?: boolean; + /** + * ID is a globally unique identifier used to uniquely identify the plan. + * User must make no presumption about the format of this field. + */ + id?: string; + /** + * A list of metadata for a service offering. Metadata is an arbitrary JSON + * object. + */ + metadata?: any; + /** + * User friendly name of the plan. The name must be globally unique within + * GCP project. Note, which is different from ("This must be globally + * unique within a platform marketplace"). + */ + name?: string; + /** + * Schema definitions for service instances and bindings for the plan. + */ + schemas?: any; + } + /** + * The resource model mostly follows the Open Service Broker API, as described + * here: + * https://github.com/openservicebrokerapi/servicebroker/blob/master/_spec.md + * Though due to Google Specifics it has additional optional fields. + */ + interface Schema$GoogleCloudServicebrokerV1beta1__Service { + /** + * Specifies whether instances of the service can be bound to applications. + * Required. + */ + bindable?: boolean; + /** + * Whether the service provides an endpoint to get service bindings. + */ + bindings_retrievable?: boolean; + /** + * Whether the service provides an endpoint to get service bindings. + */ + binding_retrievable?: boolean; + /** + * Information to activate Dashboard SSO feature. + */ + dashboard_client?: Schema$GoogleCloudServicebrokerV1beta1__DashboardClient; + /** + * Textual description of the service. Required. + */ + description?: string; + /** + * ID is a globally unique identifier used to uniquely identify the service. + * ID is an opaque string. + */ + id?: string; + /** + * Whether the service provides an endpoint to get service instances. + */ + instances_retrievable?: boolean; + /** + * A list of metadata for a service offering. Metadata is an arbitrary JSON + * object. + */ + metadata?: any; + /** + * User friendly service name. Name must match [a-z0-9]+ regexp. The name + * must be globally unique within GCP project. Note, which is different from + * ("This must be globally unique within a platform marketplace"). + * Required. + */ + name?: string; + /** + * A list of plans for this service. At least one plan is required. + */ + plans?: Schema$GoogleCloudServicebrokerV1beta1__Plan[]; + /** + * Whether the service supports upgrade/downgrade for some plans. + */ + plan_updateable?: boolean; + /** + * Tags provide a flexible mechanism to expose a classification, attribute, + * or base technology of a service. + */ + tags?: string[]; + } + /** + * Message describing inputs to Provision and Update Service instance + * requests. + */ + interface Schema$GoogleCloudServicebrokerV1beta1__ServiceInstance { + /** + * Platform specific contextual information under which the service instance + * is to be provisioned. This replaces organization_guid and space_guid. But + * can also contain anything. Currently only used for logging context + * information. + */ + context?: any; + /** + * Output only. Timestamp for when the instance was created. + */ + createTime?: string; + /** + * Output only. String containing the Deployment Manager deployment name + * that was created for this instance, + */ + deploymentName?: string; + /** + * To return errors when GetInstance call is done via HTTP to be unified + * with other methods. + */ + description?: string; + /** + * The id of the service instance. Must be unique within GCP project. + * Maximum length is 64, GUID recommended. Required. + */ + instance_id?: string; + /** + * The platform GUID for the organization under which the service is to be + * provisioned. Required. + */ + organization_guid?: string; + /** + * Configuration options for the service instance. Parameters is JSON object + * serialized to string. + */ + parameters?: any; + /** + * The ID of the plan. See `Service` and `Plan` resources for details. + * Maximum length is 64, GUID recommended. Required. + */ + plan_id?: string; + /** + * Used only in UpdateServiceInstance request to optionally specify previous + * fields. + */ + previous_values?: any; + /** + * Output only. The resource name of the instance, e.g. + * projects/project_id/brokers/broker_id/service_instances/instance_id + */ + resourceName?: string; + /** + * The id of the service. Must be a valid identifier of a service contained + * in the list from a `ListServices()` call. Maximum length is 64, GUID + * recommended. Required. + */ + service_id?: string; + /** + * The identifier for the project space within the platform organization. + * Required. + */ + space_guid?: string; + } + /** + * Response for the `UpdateServiceInstance()` method. + */ + interface Schema$GoogleCloudServicebrokerV1beta1__UpdateServiceInstanceResponse { + /** + * Used to communicate description of the response. Usually for non-standard + * error codes. + * https://github.com/openservicebrokerapi/servicebroker/blob/master/spec.md#service-broker-errors + */ + description?: string; + /** + * If broker executes operation asynchronously, this is the operation ID + * that can be polled to check the completion status of said operation. + */ + operation?: string; + } + /** + * Associates `members` with a `role`. + */ + interface Schema$GoogleIamV1__Binding { + /** + * Unimplemented. The condition that is associated with this binding. NOTE: + * an unsatisfied condition will not allow user access via current binding. + * Different bindings, including their conditions, are examined + * independently. + */ + condition?: Schema$GoogleType__Expr; + /** + * Specifies the identities requesting access for a Cloud Platform resource. + * `members` can have the following values: * `allUsers`: A special + * identifier that represents anyone who is on the internet; with or + * without a Google account. * `allAuthenticatedUsers`: A special + * identifier that represents anyone who is authenticated with a Google + * account or a service account. * `user:{emailid}`: An email address that + * represents a specific Google account. For example, `alice@gmail.com` . + * * `serviceAccount:{emailid}`: An email address that represents a service + * account. For example, `my-other-app@appspot.gserviceaccount.com`. * + * `group:{emailid}`: An email address that represents a Google group. For + * example, `admins@example.com`. * `domain:{domain}`: A Google Apps + * domain name that represents all the users of that domain. For example, + * `google.com` or `example.com`. + */ + members?: string[]; + /** + * Role that is assigned to `members`. For example, `roles/viewer`, + * `roles/editor`, or `roles/owner`. + */ + role?: string; + } + /** + * Defines an Identity and Access Management (IAM) policy. It is used to + * specify access control policies for Cloud Platform resources. A `Policy` + * consists of a list of `bindings`. A `binding` binds a list of `members` to + * a `role`, where the members can be user accounts, Google groups, Google + * domains, and service accounts. A `role` is a named list of permissions + * defined by IAM. **JSON Example** { "bindings": [ { + * "role": "roles/owner", "members": [ + * "user:mike@example.com", "group:admins@example.com", + * "domain:google.com", + * "serviceAccount:my-other-app@appspot.gserviceaccount.com" ] }, { + * "role": "roles/viewer", "members": + * ["user:sean@example.com"] } ] } **YAML + * Example** bindings: - members: - user:mike@example.com - + * group:admins@example.com - domain:google.com - + * serviceAccount:my-other-app@appspot.gserviceaccount.com role: + * roles/owner - members: - user:sean@example.com role: + * roles/viewer For a description of IAM and its features, see the [IAM + * developer's guide](https://cloud.google.com/iam/docs). + */ + interface Schema$GoogleIamV1__Policy { + /** + * Associates a list of `members` to a `role`. `bindings` with no members + * will result in an error. + */ + bindings?: Schema$GoogleIamV1__Binding[]; + /** + * `etag` is used for optimistic concurrency control as a way to help + * prevent simultaneous updates of a policy from overwriting each other. It + * is strongly suggested that systems make use of the `etag` in the + * read-modify-write cycle to perform policy updates in order to avoid race + * conditions: An `etag` is returned in the response to `getIamPolicy`, and + * systems are expected to put that etag in the request to `setIamPolicy` to + * ensure that their change will be applied to the same version of the + * policy. If no `etag` is provided in the call to `setIamPolicy`, then the + * existing policy is overwritten blindly. + */ + etag?: string; + /** + * Deprecated. + */ + version?: number; + } + /** + * Request message for `SetIamPolicy` method. + */ + interface Schema$GoogleIamV1__SetIamPolicyRequest { + /** + * REQUIRED: The complete policy to be applied to the `resource`. The size + * of the policy is limited to a few 10s of KB. An empty policy is a valid + * policy but certain Cloud Platform services (such as Projects) might + * reject them. + */ + policy?: Schema$GoogleIamV1__Policy; + } + /** + * Request message for `TestIamPermissions` method. + */ + interface Schema$GoogleIamV1__TestIamPermissionsRequest { + /** + * The set of permissions to check for the `resource`. Permissions with + * wildcards (such as '*' or 'storage.*') are not allowed. + * For more information see [IAM + * Overview](https://cloud.google.com/iam/docs/overview#permissions). + */ + permissions?: string[]; + } + /** + * Response message for `TestIamPermissions` method. + */ + interface Schema$GoogleIamV1__TestIamPermissionsResponse { + /** + * A subset of `TestPermissionsRequest.permissions` that the caller is + * allowed. + */ + permissions?: string[]; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$GoogleProtobuf__Empty { + } + /** + * Represents an expression text. Example: title: "User account + * presence" description: "Determines whether the request has a + * user account" expression: "size(request.user) > 0" + */ + interface Schema$GoogleType__Expr { + /** + * An optional description of the expression. This is a longer text which + * describes the expression, e.g. when hovered over it in a UI. + */ + description?: string; + /** + * Textual representation of an expression in Common Expression Language + * syntax. The application context of the containing message determines + * which well-known feature set of CEL is supported. + */ + expression?: string; + /** + * An optional string indicating the location of the expression for error + * reporting, e.g. a file name and a position in the file. + */ + location?: string; + /** + * An optional title for the expression, i.e. a short string describing its + * purpose. This can be used e.g. in UIs which allow to enter the + * expression. + */ + title?: string; + } + class Resource$Projects { + root: Servicebroker; + brokers: Resource$Projects$Brokers; + constructor(root: Servicebroker); + getRoot(): Servicebroker; + } + class Resource$Projects$Brokers { + root: Servicebroker; + instances: Resource$Projects$Brokers$Instances; + v2: Resource$Projects$Brokers$V2; + constructor(root: Servicebroker); + getRoot(): Servicebroker; + /** + * servicebroker.projects.brokers.create + * @desc CreateBroker creates a Broker. + * @alias servicebroker.projects.brokers.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent The project in which to create broker. + * @param {().GoogleCloudServicebrokerV1beta1__Broker} 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 + */ + create(params?: Params$Resource$Projects$Brokers$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Brokers$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Brokers$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * servicebroker.projects.brokers.delete + * @desc DeleteBroker deletes a Broker. + * @alias servicebroker.projects.brokers.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The broker to delete. + * @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?: Params$Resource$Projects$Brokers$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Brokers$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Brokers$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * servicebroker.projects.brokers.list + * @desc ListBrokers lists brokers. + * @alias servicebroker.projects.brokers.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Specifies the number of results to return per page. If there are fewer elements than the specified number, returns all elements. Optional. Acceptable values are 0 to 200, inclusive. (Default: 100) + * @param {string=} params.pageToken Specifies a page token to use. Set `pageToken` to a `nextPageToken` returned by a previous list request to get the next page of results. + * @param {string} params.parent Parent must match `projects/[PROJECT_ID]/brokers`. + * @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?: Params$Resource$Projects$Brokers$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Brokers$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Brokers$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Brokers$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The project in which to create broker. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudServicebrokerV1beta1__Broker; + } + interface Params$Resource$Projects$Brokers$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The broker to delete. + */ + name?: string; + } + interface Params$Resource$Projects$Brokers$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Specifies the number of results to return per page. If there are fewer + * elements than the specified number, returns all elements. Optional. + * Acceptable values are 0 to 200, inclusive. (Default: 100) + */ + pageSize?: number; + /** + * Specifies a page token to use. Set `pageToken` to a `nextPageToken` + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Parent must match `projects/[PROJECT_ID]/brokers`. + */ + parent?: string; + } + class Resource$Projects$Brokers$Instances { + root: Servicebroker; + bindings: Resource$Projects$Brokers$Instances$Bindings; + constructor(root: Servicebroker); + getRoot(): Servicebroker; + /** + * servicebroker.projects.brokers.instances.get + * @desc Gets the given service instance from the system. The API call + * accepts both OSB style API and standard google style API resource path. + * i.e. both `projects/x/brokers/x/instances/x` and + * `projects/x/brokers/x/v2/service_instances/x` are acceptable paths. + * @alias servicebroker.projects.brokers.instances.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name of the instance to return. Name must match `projects/[PROJECT_ID]/brokers/[BROKER_ID]/` + `v2/service_instances/[INSTANCE_ID]` or `projects/[PROJECT_ID]/brokers/[BROKER_ID]/instances/[INSTANCE_ID]`. + * @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?: Params$Resource$Projects$Brokers$Instances$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Brokers$Instances$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Brokers$Instances$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * servicebroker.projects.brokers.instances.getLast_operation + * @desc Returns the state of the last operation for the service instance. + * Only last (or current) operation can be polled. + * @alias servicebroker.projects.brokers.instances.getLast_operation + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Name must match `projects/[PROJECT_ID]/brokers/[BROKER_ID]/v2/`+ `service_instances/[INSTANCE_ID]`. + * @param {string=} params.operation If `operation` was returned during mutation operation, this field must be populated with the provided value. + * @param {string=} params.planId Plan id. + * @param {string=} params.serviceId Service id. + * @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 + */ + getLast_operation(params?: Params$Resource$Projects$Brokers$Instances$Getlast_operation, options?: MethodOptions): AxiosPromise; + getLast_operation(params: Params$Resource$Projects$Brokers$Instances$Getlast_operation, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getLast_operation(params: Params$Resource$Projects$Brokers$Instances$Getlast_operation, callback: BodyResponseCallback): void; + getLast_operation(callback: BodyResponseCallback): void; + /** + * servicebroker.projects.brokers.instances.list + * @desc Lists all the instances in the brokers This API is an extension and + * not part of the OSB spec. Hence the path is a standard Google API URL. + * @alias servicebroker.projects.brokers.instances.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Specifies the number of results to return per page. If there are fewer elements than the specified number, returns all elements. Optional. Acceptable values are 0 to 200, inclusive. (Default: 100) + * @param {string=} params.pageToken Specifies a page token to use. Set `pageToken` to a `nextPageToken` returned by a previous list request to get the next page of results. + * @param {string} params.parent Parent must match `projects/[PROJECT_ID]/brokers/[BROKER_ID]`. + * @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?: Params$Resource$Projects$Brokers$Instances$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Brokers$Instances$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Brokers$Instances$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Brokers$Instances$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the instance to return. Name must match + * `projects/[PROJECT_ID]/brokers/[BROKER_ID]/` + + * `v2/service_instances/[INSTANCE_ID]` or + * `projects/[PROJECT_ID]/brokers/[BROKER_ID]/instances/[INSTANCE_ID]`. + */ + name?: string; + } + interface Params$Resource$Projects$Brokers$Instances$Getlast_operation { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name must match `projects/[PROJECT_ID]/brokers/[BROKER_ID]/v2/`+ + * `service_instances/[INSTANCE_ID]`. + */ + name?: string; + /** + * If `operation` was returned during mutation operation, this field must be + * populated with the provided value. + */ + operation?: string; + /** + * Plan id. + */ + planId?: string; + /** + * Service id. + */ + serviceId?: string; + } + interface Params$Resource$Projects$Brokers$Instances$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Specifies the number of results to return per page. If there are fewer + * elements than the specified number, returns all elements. Optional. + * Acceptable values are 0 to 200, inclusive. (Default: 100) + */ + pageSize?: number; + /** + * Specifies a page token to use. Set `pageToken` to a `nextPageToken` + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Parent must match `projects/[PROJECT_ID]/brokers/[BROKER_ID]`. + */ + parent?: string; + } + class Resource$Projects$Brokers$Instances$Bindings { + root: Servicebroker; + constructor(root: Servicebroker); + getRoot(): Servicebroker; + /** + * servicebroker.projects.brokers.instances.bindings.getLast_operation + * @desc Returns the state of the last operation for the binding. Only last + * (or current) operation can be polled. + * @alias + * servicebroker.projects.brokers.instances.bindings.getLast_operation + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Name must match `projects/[PROJECT_ID]/brokers/[BROKER_ID]/v2/service_instances/[INSTANCE_ID]/service_binding/[BINDING_ID]`. + * @param {string=} params.operation If `operation` was returned during mutation operation, this field must be populated with the provided value. + * @param {string=} params.planId Plan id. + * @param {string=} params.serviceId Service id. + * @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 + */ + getLast_operation(params?: Params$Resource$Projects$Brokers$Instances$Bindings$Getlast_operation, options?: MethodOptions): AxiosPromise; + getLast_operation(params: Params$Resource$Projects$Brokers$Instances$Bindings$Getlast_operation, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getLast_operation(params: Params$Resource$Projects$Brokers$Instances$Bindings$Getlast_operation, callback: BodyResponseCallback): void; + getLast_operation(callback: BodyResponseCallback): void; + /** + * servicebroker.projects.brokers.instances.bindings.list + * @desc Lists all the bindings in the instance. + * @alias servicebroker.projects.brokers.instances.bindings.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Specifies the number of results to return per page. If there are fewer elements than the specified number, returns all elements. Optional. Acceptable values are 0 to 200, inclusive. (Default: 100) + * @param {string=} params.pageToken Specifies a page token to use. Set `pageToken` to a `nextPageToken` returned by a previous list request to get the next page of results. + * @param {string} params.parent Parent must match `projects/[PROJECT_ID]/brokers/[BROKER_ID]/` + `v2/service_instances/[INSTANCE_ID]` or `projects/[PROJECT_ID]/brokers/[BROKER_ID]/instances/[INSTANCE_ID]`. + * @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?: Params$Resource$Projects$Brokers$Instances$Bindings$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Brokers$Instances$Bindings$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Brokers$Instances$Bindings$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Brokers$Instances$Bindings$Getlast_operation { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name must match + * `projects/[PROJECT_ID]/brokers/[BROKER_ID]/v2/service_instances/[INSTANCE_ID]/service_binding/[BINDING_ID]`. + */ + name?: string; + /** + * If `operation` was returned during mutation operation, this field must be + * populated with the provided value. + */ + operation?: string; + /** + * Plan id. + */ + planId?: string; + /** + * Service id. + */ + serviceId?: string; + } + interface Params$Resource$Projects$Brokers$Instances$Bindings$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Specifies the number of results to return per page. If there are fewer + * elements than the specified number, returns all elements. Optional. + * Acceptable values are 0 to 200, inclusive. (Default: 100) + */ + pageSize?: number; + /** + * Specifies a page token to use. Set `pageToken` to a `nextPageToken` + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Parent must match `projects/[PROJECT_ID]/brokers/[BROKER_ID]/` + + * `v2/service_instances/[INSTANCE_ID]` or + * `projects/[PROJECT_ID]/brokers/[BROKER_ID]/instances/[INSTANCE_ID]`. + */ + parent?: string; + } + class Resource$Projects$Brokers$V2 { + root: Servicebroker; + catalog: Resource$Projects$Brokers$V2$Catalog; + service_instances: Resource$Projects$Brokers$V2$Service_instances; + constructor(root: Servicebroker); + getRoot(): Servicebroker; + } + class Resource$Projects$Brokers$V2$Catalog { + root: Servicebroker; + constructor(root: Servicebroker); + getRoot(): Servicebroker; + /** + * servicebroker.projects.brokers.v2.catalog.list + * @desc Lists all the Services registered with this broker for consumption + * for given service registry broker, which contains an set of services. + * Note, that Service producer API is separate from Broker API. + * @alias servicebroker.projects.brokers.v2.catalog.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Specifies the number of results to return per page. If there are fewer elements than the specified number, returns all elements. Optional. If unset or 0, all the results will be returned. + * @param {string=} params.pageToken Specifies a page token to use. Set `pageToken` to a `nextPageToken` returned by a previous list request to get the next page of results. + * @param {string} params.parent Parent must match `projects/[PROJECT_ID]/brokers/[BROKER_ID]`. + * @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?: Params$Resource$Projects$Brokers$V2$Catalog$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Brokers$V2$Catalog$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Brokers$V2$Catalog$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Brokers$V2$Catalog$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Specifies the number of results to return per page. If there are fewer + * elements than the specified number, returns all elements. Optional. If + * unset or 0, all the results will be returned. + */ + pageSize?: number; + /** + * Specifies a page token to use. Set `pageToken` to a `nextPageToken` + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Parent must match `projects/[PROJECT_ID]/brokers/[BROKER_ID]`. + */ + parent?: string; + } + class Resource$Projects$Brokers$V2$Service_instances { + root: Servicebroker; + service_bindings: Resource$Projects$Brokers$V2$Service_instances$Service_bindings; + constructor(root: Servicebroker); + getRoot(): Servicebroker; + /** + * servicebroker.projects.brokers.v2.service_instances.create + * @desc Provisions a service instance. If `request.accepts_incomplete` is + * false and Broker cannot execute request synchronously HTTP 422 error will + * be returned along with FAILED_PRECONDITION status. If + * `request.accepts_incomplete` is true and the Broker decides to execute + * resource asynchronously then HTTP 202 response code will be returned and + * a valid polling operation in the response will be included. If Broker + * executes the request synchronously and it succeeds HTTP 201 response will + * be furnished. If identical instance exists, then HTTP 200 response will + * be returned. If an instance with identical ID but mismatching parameters + * exists, then HTTP 409 status code will be returned. + * @alias servicebroker.projects.brokers.v2.service_instances.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.acceptsIncomplete Value indicating that API client supports asynchronous operations. If Broker cannot execute the request synchronously HTTP 422 code will be returned to HTTP clients along with FAILED_PRECONDITION error. If true and broker will execute request asynchronously 202 HTTP code will be returned. This broker always requires this to be true as all mutator operations are asynchronous. + * @param {string} params.instance_id The id of the service instance. Must be unique within GCP project. Maximum length is 64, GUID recommended. Required. + * @param {string} params.parent Parent must match `projects/[PROJECT_ID]/brokers/[BROKER_ID]`. + * @param {().GoogleCloudServicebrokerV1beta1__ServiceInstance} 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 + */ + create(params?: Params$Resource$Projects$Brokers$V2$Service_instances$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Brokers$V2$Service_instances$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Brokers$V2$Service_instances$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * servicebroker.projects.brokers.v2.service_instances.delete + * @desc Deprovisions a service instance. For synchronous/asynchronous + * request details see CreateServiceInstance method. If service instance + * does not exist HTTP 410 status will be returned. + * @alias servicebroker.projects.brokers.v2.service_instances.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.acceptsIncomplete See CreateServiceInstanceRequest for details. + * @param {string} params.name Name must match `projects/[PROJECT_ID]/brokers/[BROKER_ID]/` + `v2/service_instances/[INSTANCE_ID]` or `projects/[PROJECT_ID]/brokers/[BROKER_ID]/instances/[INSTANCE_ID]`. + * @param {string=} params.planId The plan id of the service instance. + * @param {string=} params.serviceId The service id of the service instance. + * @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?: Params$Resource$Projects$Brokers$V2$Service_instances$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Brokers$V2$Service_instances$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Brokers$V2$Service_instances$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * servicebroker.projects.brokers.v2.service_instances.get + * @desc Gets the given service instance from the system. The API call + * accepts both OSB style API and standard google style API resource path. + * i.e. both `projects/x/brokers/x/instances/x` and + * `projects/x/brokers/x/v2/service_instances/x` are acceptable paths. + * @alias servicebroker.projects.brokers.v2.service_instances.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name of the instance to return. Name must match `projects/[PROJECT_ID]/brokers/[BROKER_ID]/` + `v2/service_instances/[INSTANCE_ID]` or `projects/[PROJECT_ID]/brokers/[BROKER_ID]/instances/[INSTANCE_ID]`. + * @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?: Params$Resource$Projects$Brokers$V2$Service_instances$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Brokers$V2$Service_instances$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Brokers$V2$Service_instances$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * servicebroker.projects.brokers.v2.service_instances.getLast_operation + * @desc Returns the state of the last operation for the service instance. + * Only last (or current) operation can be polled. + * @alias + * servicebroker.projects.brokers.v2.service_instances.getLast_operation + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Name must match `projects/[PROJECT_ID]/brokers/[BROKER_ID]/v2/`+ `service_instances/[INSTANCE_ID]`. + * @param {string=} params.operation If `operation` was returned during mutation operation, this field must be populated with the provided value. + * @param {string=} params.planId Plan id. + * @param {string=} params.serviceId Service id. + * @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 + */ + getLast_operation(params?: Params$Resource$Projects$Brokers$V2$Service_instances$Getlast_operation, options?: MethodOptions): AxiosPromise; + getLast_operation(params: Params$Resource$Projects$Brokers$V2$Service_instances$Getlast_operation, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getLast_operation(params: Params$Resource$Projects$Brokers$V2$Service_instances$Getlast_operation, callback: BodyResponseCallback): void; + getLast_operation(callback: BodyResponseCallback): void; + /** + * servicebroker.projects.brokers.v2.service_instances.patch + * @desc Updates an existing service instance. See CreateServiceInstance for + * possible response codes. + * @alias servicebroker.projects.brokers.v2.service_instances.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.acceptsIncomplete See CreateServiceInstanceRequest for details. + * @param {string} params.name Name must match `projects/[PROJECT_ID]/brokers/[BROKER_ID]/v2/service_instances/[INSTANCE_ID]`. + * @param {().GoogleCloudServicebrokerV1beta1__ServiceInstance} 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 + */ + patch(params?: Params$Resource$Projects$Brokers$V2$Service_instances$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Brokers$V2$Service_instances$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Brokers$V2$Service_instances$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Brokers$V2$Service_instances$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Value indicating that API client supports asynchronous operations. If + * Broker cannot execute the request synchronously HTTP 422 code will be + * returned to HTTP clients along with FAILED_PRECONDITION error. If true + * and broker will execute request asynchronously 202 HTTP code will be + * returned. This broker always requires this to be true as all mutator + * operations are asynchronous. + */ + acceptsIncomplete?: boolean; + /** + * The id of the service instance. Must be unique within GCP project. + * Maximum length is 64, GUID recommended. Required. + */ + instance_id?: string; + /** + * Parent must match `projects/[PROJECT_ID]/brokers/[BROKER_ID]`. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudServicebrokerV1beta1__ServiceInstance; + } + interface Params$Resource$Projects$Brokers$V2$Service_instances$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * See CreateServiceInstanceRequest for details. + */ + acceptsIncomplete?: boolean; + /** + * Name must match `projects/[PROJECT_ID]/brokers/[BROKER_ID]/` + + * `v2/service_instances/[INSTANCE_ID]` or + * `projects/[PROJECT_ID]/brokers/[BROKER_ID]/instances/[INSTANCE_ID]`. + */ + name?: string; + /** + * The plan id of the service instance. + */ + planId?: string; + /** + * The service id of the service instance. + */ + serviceId?: string; + } + interface Params$Resource$Projects$Brokers$V2$Service_instances$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the instance to return. Name must match + * `projects/[PROJECT_ID]/brokers/[BROKER_ID]/` + + * `v2/service_instances/[INSTANCE_ID]` or + * `projects/[PROJECT_ID]/brokers/[BROKER_ID]/instances/[INSTANCE_ID]`. + */ + name?: string; + } + interface Params$Resource$Projects$Brokers$V2$Service_instances$Getlast_operation { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name must match `projects/[PROJECT_ID]/brokers/[BROKER_ID]/v2/`+ + * `service_instances/[INSTANCE_ID]`. + */ + name?: string; + /** + * If `operation` was returned during mutation operation, this field must be + * populated with the provided value. + */ + operation?: string; + /** + * Plan id. + */ + planId?: string; + /** + * Service id. + */ + serviceId?: string; + } + interface Params$Resource$Projects$Brokers$V2$Service_instances$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * See CreateServiceInstanceRequest for details. + */ + acceptsIncomplete?: boolean; + /** + * Name must match + * `projects/[PROJECT_ID]/brokers/[BROKER_ID]/v2/service_instances/[INSTANCE_ID]`. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudServicebrokerV1beta1__ServiceInstance; + } + class Resource$Projects$Brokers$V2$Service_instances$Service_bindings { + root: Servicebroker; + constructor(root: Servicebroker); + getRoot(): Servicebroker; + /** + * servicebroker.projects.brokers.v2.service_instances.service_bindings.create + * @desc CreateBinding generates a service binding to an existing service + * instance. See ProviServiceInstance for async operation details. + * @alias + * servicebroker.projects.brokers.v2.service_instances.service_bindings.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.acceptsIncomplete See CreateServiceInstanceRequest for details. + * @param {string} params.binding_id The id of the binding. Must be unique within GCP project. Maximum length is 64, GUID recommended. Required. + * @param {string} params.parent The GCP container. Must match `projects/[PROJECT_ID]/brokers/[BROKER_ID]/v2/service_instances/[INSTANCE_ID]`. + * @param {().GoogleCloudServicebrokerV1beta1__Binding} 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 + */ + create(params?: Params$Resource$Projects$Brokers$V2$Service_instances$Service_bindings$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Brokers$V2$Service_instances$Service_bindings$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Brokers$V2$Service_instances$Service_bindings$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * servicebroker.projects.brokers.v2.service_instances.service_bindings.delete + * @desc Unbinds from a service instance. For synchronous/asynchronous + * request details see CreateServiceInstance method. If binding does not + * exist HTTP 410 status will be returned. + * @alias + * servicebroker.projects.brokers.v2.service_instances.service_bindings.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.acceptsIncomplete See CreateServiceInstanceRequest for details. + * @param {string} params.name Name must match `projects/[PROJECT_ID]/brokers/[BROKER_ID]/` `v2/service_instances/[INSTANCE_ID]/service_bindings/[BINDING_ID]` or `projects/[PROJECT_ID]/brokers/[BROKER_ID]/` `/instances/[INSTANCE_ID]/bindings/[BINDING_ID]`. + * @param {string=} params.planId The plan id of the service instance. + * @param {string=} params.serviceId Additional query parameter hints. The service id of the service instance. + * @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?: Params$Resource$Projects$Brokers$V2$Service_instances$Service_bindings$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Brokers$V2$Service_instances$Service_bindings$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Brokers$V2$Service_instances$Service_bindings$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * servicebroker.projects.brokers.v2.service_instances.service_bindings.get + * @desc GetBinding returns the binding information. + * @alias + * servicebroker.projects.brokers.v2.service_instances.service_bindings.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Name must match `projects/[PROJECT_ID]/brokers/[BROKER_ID]/v2/service_instances/[INSTANCE_ID]/service_bindings`. + * @param {string=} params.planId Plan id. + * @param {string=} params.serviceId Service id. + * @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?: Params$Resource$Projects$Brokers$V2$Service_instances$Service_bindings$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Brokers$V2$Service_instances$Service_bindings$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Brokers$V2$Service_instances$Service_bindings$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * servicebroker.projects.brokers.v2.service_instances.service_bindings.getLast_operation + * @desc Returns the state of the last operation for the binding. Only last + * (or current) operation can be polled. + * @alias + * servicebroker.projects.brokers.v2.service_instances.service_bindings.getLast_operation + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Name must match `projects/[PROJECT_ID]/brokers/[BROKER_ID]/v2/service_instances/[INSTANCE_ID]/service_binding/[BINDING_ID]`. + * @param {string=} params.operation If `operation` was returned during mutation operation, this field must be populated with the provided value. + * @param {string=} params.planId Plan id. + * @param {string=} params.serviceId Service id. + * @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 + */ + getLast_operation(params?: Params$Resource$Projects$Brokers$V2$Service_instances$Service_bindings$Getlast_operation, options?: MethodOptions): AxiosPromise; + getLast_operation(params: Params$Resource$Projects$Brokers$V2$Service_instances$Service_bindings$Getlast_operation, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getLast_operation(params: Params$Resource$Projects$Brokers$V2$Service_instances$Service_bindings$Getlast_operation, callback: BodyResponseCallback): void; + getLast_operation(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Brokers$V2$Service_instances$Service_bindings$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * See CreateServiceInstanceRequest for details. + */ + acceptsIncomplete?: boolean; + /** + * The id of the binding. Must be unique within GCP project. Maximum length + * is 64, GUID recommended. Required. + */ + binding_id?: string; + /** + * The GCP container. Must match + * `projects/[PROJECT_ID]/brokers/[BROKER_ID]/v2/service_instances/[INSTANCE_ID]`. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudServicebrokerV1beta1__Binding; + } + interface Params$Resource$Projects$Brokers$V2$Service_instances$Service_bindings$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * See CreateServiceInstanceRequest for details. + */ + acceptsIncomplete?: boolean; + /** + * Name must match `projects/[PROJECT_ID]/brokers/[BROKER_ID]/` + * `v2/service_instances/[INSTANCE_ID]/service_bindings/[BINDING_ID]` or + * `projects/[PROJECT_ID]/brokers/[BROKER_ID]/` + * `/instances/[INSTANCE_ID]/bindings/[BINDING_ID]`. + */ + name?: string; + /** + * The plan id of the service instance. + */ + planId?: string; + /** + * Additional query parameter hints. The service id of the service instance. + */ + serviceId?: string; + } + interface Params$Resource$Projects$Brokers$V2$Service_instances$Service_bindings$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name must match + * `projects/[PROJECT_ID]/brokers/[BROKER_ID]/v2/service_instances/[INSTANCE_ID]/service_bindings`. + */ + name?: string; + /** + * Plan id. + */ + planId?: string; + /** + * Service id. + */ + serviceId?: string; + } + interface Params$Resource$Projects$Brokers$V2$Service_instances$Service_bindings$Getlast_operation { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name must match + * `projects/[PROJECT_ID]/brokers/[BROKER_ID]/v2/service_instances/[INSTANCE_ID]/service_binding/[BINDING_ID]`. + */ + name?: string; + /** + * If `operation` was returned during mutation operation, this field must be + * populated with the provided value. + */ + operation?: string; + /** + * Plan id. + */ + planId?: string; + /** + * Service id. + */ + serviceId?: string; + } + class Resource$V1beta1 { + root: Servicebroker; + constructor(root: Servicebroker); + getRoot(): Servicebroker; + /** + * servicebroker.getIamPolicy + * @desc Gets the access control policy for a resource. Returns an empty + * policy if the resource exists and does not have a policy set. + * @alias servicebroker.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. + * @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 + */ + getIamPolicy(params?: Params$Resource$V1beta1$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$V1beta1$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$V1beta1$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * servicebroker.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @alias servicebroker.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. + * @param {().GoogleIamV1__SetIamPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$V1beta1$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$V1beta1$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$V1beta1$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * servicebroker.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. If + * the resource does not exist, this will return an empty set of + * permissions, not a NOT_FOUND error. Note: This operation is designed to + * be used for building permission-aware UIs and command-line tools, not for + * authorization checking. This operation may "fail open" without warning. + * @alias servicebroker.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. + * @param {().GoogleIamV1__TestIamPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$V1beta1$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$V1beta1$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$V1beta1$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$V1beta1$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being requested. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + } + interface Params$Resource$V1beta1$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being specified. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleIamV1__SetIamPolicyRequest; + } + interface Params$Resource$V1beta1$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleIamV1__TestIamPermissionsRequest; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/servicebroker/v1beta1.js b/express-server/node_modules/googleapis/build/src/apis/servicebroker/v1beta1.js new file mode 100644 index 00000000..3062ba3c --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/servicebroker/v1beta1.js @@ -0,0 +1,803 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var servicebroker_v1beta1; +(function (servicebroker_v1beta1) { + /** + * Service Broker API + * + * The Google Cloud Platform Service Broker API provides Google hosted + * implementation of the Open Service Broker API + * (https://www.openservicebrokerapi.org/). + * + * @example + * const {google} = require('googleapis'); + * const servicebroker = google.servicebroker('v1beta1'); + * + * @namespace servicebroker + * @type {Function} + * @version v1beta1 + * @variation v1beta1 + * @param {object=} options Options for Servicebroker + */ + class Servicebroker { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.projects = new Resource$Projects(this); + this.v1beta1 = new Resource$V1beta1(this); + } + getRoot() { + return this.root; + } + } + servicebroker_v1beta1.Servicebroker = Servicebroker; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.brokers = new Resource$Projects$Brokers(root); + } + getRoot() { + return this.root; + } + } + servicebroker_v1beta1.Resource$Projects = Resource$Projects; + class Resource$Projects$Brokers { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.instances = new Resource$Projects$Brokers$Instances(root); + this.v2 = new Resource$Projects$Brokers$V2(root); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicebroker.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+parent}/brokers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicebroker.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicebroker.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+parent}/brokers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + servicebroker_v1beta1.Resource$Projects$Brokers = Resource$Projects$Brokers; + class Resource$Projects$Brokers$Instances { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.bindings = new Resource$Projects$Brokers$Instances$Bindings(root); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicebroker.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getLast_operation(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicebroker.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}/last_operation') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicebroker.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+parent}/instances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + servicebroker_v1beta1.Resource$Projects$Brokers$Instances = Resource$Projects$Brokers$Instances; + class Resource$Projects$Brokers$Instances$Bindings { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + getLast_operation(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicebroker.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}/last_operation') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicebroker.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+parent}/bindings') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + servicebroker_v1beta1.Resource$Projects$Brokers$Instances$Bindings = Resource$Projects$Brokers$Instances$Bindings; + class Resource$Projects$Brokers$V2 { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.catalog = new Resource$Projects$Brokers$V2$Catalog(root); + this.service_instances = + new Resource$Projects$Brokers$V2$Service_instances(root); + } + getRoot() { + return this.root; + } + } + servicebroker_v1beta1.Resource$Projects$Brokers$V2 = Resource$Projects$Brokers$V2; + class Resource$Projects$Brokers$V2$Catalog { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicebroker.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+parent}/v2/catalog') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + servicebroker_v1beta1.Resource$Projects$Brokers$V2$Catalog = Resource$Projects$Brokers$V2$Catalog; + class Resource$Projects$Brokers$V2$Service_instances { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.service_bindings = + new Resource$Projects$Brokers$V2$Service_instances$Service_bindings(root); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicebroker.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta1/{+parent}/v2/service_instances/{+instance_id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['parent', 'instance_id'], + pathParams: ['instance_id', 'parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicebroker.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicebroker.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getLast_operation(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicebroker.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}/last_operation') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicebroker.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + servicebroker_v1beta1.Resource$Projects$Brokers$V2$Service_instances = Resource$Projects$Brokers$V2$Service_instances; + class Resource$Projects$Brokers$V2$Service_instances$Service_bindings { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicebroker.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1beta1/{+parent}/service_bindings/{+binding_id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['parent', 'binding_id'], + pathParams: ['binding_id', 'parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicebroker.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicebroker.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getLast_operation(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicebroker.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}/last_operation') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + servicebroker_v1beta1.Resource$Projects$Brokers$V2$Service_instances$Service_bindings = Resource$Projects$Brokers$V2$Service_instances$Service_bindings; + class Resource$V1beta1 { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicebroker.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+resource}:getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicebroker.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+resource}:setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicebroker.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+resource}:testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + servicebroker_v1beta1.Resource$V1beta1 = Resource$V1beta1; +})(servicebroker_v1beta1 = exports.servicebroker_v1beta1 || (exports.servicebroker_v1beta1 = {})); +//# sourceMappingURL=v1beta1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/servicebroker/v1beta1.js.map b/express-server/node_modules/googleapis/build/src/apis/servicebroker/v1beta1.js.map new file mode 100644 index 00000000..d099c29a --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/servicebroker/v1beta1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1beta1.js","sourceRoot":"","sources":["../../../../src/apis/servicebroker/v1beta1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/serviceconsumermanagement/README.md b/express-server/node_modules/googleapis/build/src/apis/serviceconsumermanagement/README.md new file mode 100644 index 00000000..27096c24 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/serviceconsumermanagement/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/serviceconsumermanagement + +> Provides management methods for configuring service producer resources on Google Cloud. + +## Installation + +```sh +$ npm install @google/serviceconsumermanagement +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/serviceconsumermanagement/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/serviceconsumermanagement/index.d.ts new file mode 100644 index 00000000..a09d7d6d --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/serviceconsumermanagement/index.d.ts @@ -0,0 +1,6 @@ +import { serviceconsumermanagement_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof serviceconsumermanagement_v1.Serviceconsumermanagement; +}; +export declare function serviceconsumermanagement(version: 'v1'): serviceconsumermanagement_v1.Serviceconsumermanagement; +export declare function serviceconsumermanagement(options: serviceconsumermanagement_v1.Options): serviceconsumermanagement_v1.Serviceconsumermanagement; diff --git a/express-server/node_modules/googleapis/build/src/apis/serviceconsumermanagement/index.js b/express-server/node_modules/googleapis/build/src/apis/serviceconsumermanagement/index.js new file mode 100644 index 00000000..0181fce9 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/serviceconsumermanagement/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.serviceconsumermanagement_v1.Serviceconsumermanagement, +}; +function serviceconsumermanagement(versionOrOptions) { + return googleapis_common_1.getAPI('serviceconsumermanagement', versionOrOptions, exports.VERSIONS, this); +} +exports.serviceconsumermanagement = serviceconsumermanagement; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/serviceconsumermanagement/index.js.map b/express-server/node_modules/googleapis/build/src/apis/serviceconsumermanagement/index.js.map new file mode 100644 index 00000000..49d541ac --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/serviceconsumermanagement/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/serviceconsumermanagement/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAkD;AAErC,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,iCAA4B,CAAC,yBAAyB;CAC7D,CAAC;AAOF,SAAgB,yBAAyB,CAGrC,gBAA2D;IAC7D,OAAO,0BAAM,CACT,2BAA2B,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACrE,CAAC;AAND,8DAMC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/serviceconsumermanagement/package.json b/express-server/node_modules/googleapis/build/src/apis/serviceconsumermanagement/package.json new file mode 100644 index 00000000..cfbdf3a7 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/serviceconsumermanagement/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/serviceconsumermanagement", + "version": "0.1.0", + "description": "serviceconsumermanagement", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/serviceconsumermanagement/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/serviceconsumermanagement/v1.d.ts new file mode 100644 index 00000000..2b139be1 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/serviceconsumermanagement/v1.d.ts @@ -0,0 +1,2549 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace serviceconsumermanagement_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Service Consumer Management API + * + * Provides management methods for configuring service producer resources on + * Google Cloud. + * + * @example + * const {google} = require('googleapis'); + * const serviceconsumermanagement = google.serviceconsumermanagement('v1'); + * + * @namespace serviceconsumermanagement + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Serviceconsumermanagement + */ + class Serviceconsumermanagement { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + operations: Resource$Operations; + services: Resource$Services; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Request to add a newly created and configured tenant project to a tenancy + * unit. + */ + interface Schema$AddTenantProjectRequest { + /** + * Configuration of the new tenant project that will be added to tenancy + * unit resources. + */ + projectConfig?: Schema$TenantProjectConfig; + /** + * Tag of the added project. Must be less than 128 characters. Required. + */ + tag?: string; + } + /** + * Api is a light-weight descriptor for an API Interface. Interfaces are also + * described as "protocol buffer services" in some contexts, such as + * by the "service" keyword in a .proto file, but they are different + * from API Services, which represent a concrete implementation of an + * interface as opposed to simply a description of methods and bindings. They + * are also sometimes simply referred to as "APIs" in other + * contexts, such as the name of this message itself. See + * https://cloud.google.com/apis/design/glossary for detailed terminology. + */ + interface Schema$Api { + /** + * The methods of this interface, in unspecified order. + */ + methods?: Schema$Method[]; + /** + * Included interfaces. See Mixin. + */ + mixins?: Schema$Mixin[]; + /** + * The fully qualified name of this interface, including package name + * followed by the interface's simple name. + */ + name?: string; + /** + * Any metadata attached to the interface. + */ + options?: Schema$Option[]; + /** + * Source context for the protocol buffer service represented by this + * message. + */ + sourceContext?: Schema$SourceContext; + /** + * The source syntax of the service. + */ + syntax?: string; + /** + * A version string for this interface. If specified, must have the form + * `major-version.minor-version`, as in `1.10`. If the minor version is + * omitted, it defaults to zero. If the entire version field is empty, the + * major version is derived from the package name, as outlined below. If the + * field is not empty, the version in the package name will be verified to + * be consistent with what is provided here. The versioning schema uses + * [semantic versioning](http://semver.org) where the major version number + * indicates a breaking change and the minor version an additive, + * non-breaking change. Both version numbers are signals to users what to + * expect from different versions, and should be carefully chosen based on + * the product plan. The major version is also reflected in the package + * name of the interface, which must end in `v<major-version>`, as in + * `google.feature.v1`. For major versions 0 and 1, the suffix can be + * omitted. Zero major versions must only be used for experimental, non-GA + * interfaces. + */ + version?: string; + } + /** + * `Authentication` defines the authentication configuration for an API. + * Example for an API targeted for external use: name: + * calendar.googleapis.com authentication: providers: - id: + * google_calendar_auth jwks_uri: + * https://www.googleapis.com/oauth2/v1/certs issuer: + * https://securetoken.google.com rules: - selector: "*" + * requirements: provider_id: google_calendar_auth + */ + interface Schema$Authentication { + /** + * Defines a set of authentication providers that a service supports. + */ + providers?: Schema$AuthProvider[]; + /** + * A list of authentication rules that apply to individual API methods. + * **NOTE:** All service configuration rules follow "last one + * wins" order. + */ + rules?: Schema$AuthenticationRule[]; + } + /** + * Authentication rules for the service. By default, if a method has any + * authentication requirements, every request must include a valid credential + * matching one of the requirements. It's an error to include more than + * one kind of credential in a single request. If a method doesn't have + * any auth requirements, request credentials will be ignored. + */ + interface Schema$AuthenticationRule { + /** + * If true, the service accepts API keys without any other credential. + */ + allowWithoutCredential?: boolean; + /** + * The requirements for OAuth credentials. + */ + oauth?: Schema$OAuthRequirements; + /** + * Requirements for additional authentication providers. + */ + requirements?: Schema$AuthRequirement[]; + /** + * Selects the methods to which this rule applies. Refer to selector for + * syntax details. + */ + selector?: string; + } + /** + * Configuration of authorization. This section determines the authorization + * provider, if unspecified, then no authorization check will be done. + * Example: experimental: authorization: provider: + * firebaserules.googleapis.com + */ + interface Schema$AuthorizationConfig { + /** + * The name of the authorization provider, such as + * firebaserules.googleapis.com. + */ + provider?: string; + } + /** + * Configuration for an anthentication provider, including support for [JSON + * Web Token + * (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32). + */ + interface Schema$AuthProvider { + /** + * The list of JWT + * [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3). + * that are allowed to access. A JWT containing any of these audiences will + * be accepted. When this setting is absent, only JWTs with audience + * "https://Service_name/API_name" will be accepted. For example, + * if no audiences are in the setting, LibraryService API will only accept + * JWTs with the following audience + * "https://library-example.googleapis.com/google.example.library.v1.LibraryService". + * Example: audiences: bookstore_android.apps.googleusercontent.com, + * bookstore_web.apps.googleusercontent.com + */ + audiences?: string; + /** + * Redirect URL if JWT token is required but no present or is expired. + * Implement authorizationUrl of securityDefinitions in OpenAPI spec. + */ + authorizationUrl?: string; + /** + * The unique identifier of the auth provider. It will be referred to by + * `AuthRequirement.provider_id`. Example: "bookstore_auth". + */ + id?: string; + /** + * Identifies the principal that issued the JWT. See + * https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.1 + * Usually a URL or an email address. Example: + * https://securetoken.google.com Example: + * 1234567-compute@developer.gserviceaccount.com + */ + issuer?: string; + /** + * URL of the provider's public key set to validate signature of the + * JWT. See [OpenID + * Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata). + * Optional if the key set document: - can be retrieved from [OpenID + * Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html of + * the issuer. - can be inferred from the email domain of the issuer (e.g. + * a Google service account). Example: + * https://www.googleapis.com/oauth2/v1/certs + */ + jwksUri?: string; + } + /** + * User-defined authentication requirements, including support for [JSON Web + * Token + * (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32). + */ + interface Schema$AuthRequirement { + /** + * NOTE: This will be deprecated soon, once AuthProvider.audiences is + * implemented and accepted in all the runtime components. The list of JWT + * [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3). + * that are allowed to access. A JWT containing any of these audiences will + * be accepted. When this setting is absent, only JWTs with audience + * "https://Service_name/API_name" will be accepted. For example, + * if no audiences are in the setting, LibraryService API will only accept + * JWTs with the following audience + * "https://library-example.googleapis.com/google.example.library.v1.LibraryService". + * Example: audiences: bookstore_android.apps.googleusercontent.com, + * bookstore_web.apps.googleusercontent.com + */ + audiences?: string; + /** + * id from authentication provider. Example: provider_id: + * bookstore_auth + */ + providerId?: string; + } + /** + * `Backend` defines the backend configuration for a service. + */ + interface Schema$Backend { + /** + * A list of API backend rules that apply to individual API methods. + * **NOTE:** All service configuration rules follow "last one + * wins" order. + */ + rules?: Schema$BackendRule[]; + } + /** + * A backend rule provides configuration for an individual API element. + */ + interface Schema$BackendRule { + /** + * The address of the API backend. + */ + address?: string; + /** + * The number of seconds to wait for a response from a request. The default + * deadline for gRPC is infinite (no deadline) and HTTP requests is 5 + * seconds. + */ + deadline?: number; + /** + * Minimum deadline in seconds needed for this method. Calls having deadline + * value lower than this will be rejected. + */ + minDeadline?: number; + /** + * Selects the methods to which this rule applies. Refer to selector for + * syntax details. + */ + selector?: string; + } + /** + * Billing related configuration of the service. The following example shows + * how to configure monitored resources and metrics for billing: + * monitored_resources: - type: library.googleapis.com/branch labels: - + * key: /city description: The city where the library branch is + * located in. - key: /name description: The name of the branch. + * metrics: - name: library.googleapis.com/book/borrowed_count + * metric_kind: DELTA value_type: INT64 billing: + * consumer_destinations: - monitored_resource: + * library.googleapis.com/branch metrics: - + * library.googleapis.com/book/borrowed_count + */ + interface Schema$Billing { + /** + * Billing configurations for sending metrics to the consumer project. There + * can be multiple consumer destinations per service, each one must have a + * different monitored resource type. A metric can be used in at most one + * consumer destination. + */ + consumerDestinations?: Schema$BillingDestination[]; + } + /** + * Describes billing configuration for a new tenant project. + */ + interface Schema$BillingConfig { + /** + * Name of the billing account. For example + * `billingAccounts/012345-567890-ABCDEF`. + */ + billingAccount?: string; + } + /** + * Configuration of a specific billing destination (Currently only support + * bill against consumer project). + */ + interface Schema$BillingDestination { + /** + * Names of the metrics to report to this billing destination. Each name + * must be defined in Service.metrics section. + */ + metrics?: string[]; + /** + * The monitored resource type. The type must be defined in + * Service.monitored_resources section. + */ + monitoredResource?: string; + } + /** + * The request message for Operations.CancelOperation. + */ + interface Schema$CancelOperationRequest { + } + /** + * `Context` defines which contexts an API requests. Example: context: + * rules: - selector: "*" requested: - + * google.rpc.context.ProjectContext - + * google.rpc.context.OriginContext The above specifies that all methods in + * the API request `google.rpc.context.ProjectContext` and + * `google.rpc.context.OriginContext`. Available context types are defined in + * package `google.rpc.context`. This also provides mechanism to whitelist + * any protobuf message extension that can be sent in grpc metadata using + * “x-goog-ext-<extension_id>-bin” and + * “x-goog-ext-<extension_id>-jspb” format. For example, list any + * service specific protobuf types that can appear in grpc metadata as follows + * in your yaml file: Example: context: rules: - selector: + * "google.example.library.v1.LibraryService.CreateBook" + * allowed_request_extensions: - google.foo.v1.NewExtension + * allowed_response_extensions: - google.foo.v1.NewExtension You can + * also specify extension ID instead of fully qualified extension name here. + */ + interface Schema$Context { + /** + * A list of RPC context rules that apply to individual API methods. + * **NOTE:** All service configuration rules follow "last one + * wins" order. + */ + rules?: Schema$ContextRule[]; + } + /** + * A context rule provides information about the context for an individual API + * element. + */ + interface Schema$ContextRule { + /** + * A list of full type names or extension IDs of extensions allowed in grpc + * side channel from client to backend. + */ + allowedRequestExtensions?: string[]; + /** + * A list of full type names or extension IDs of extensions allowed in grpc + * side channel from backend to client. + */ + allowedResponseExtensions?: string[]; + /** + * A list of full type names of provided contexts. + */ + provided?: string[]; + /** + * A list of full type names of requested contexts. + */ + requested?: string[]; + /** + * Selects the methods to which this rule applies. Refer to selector for + * syntax details. + */ + selector?: string; + } + /** + * Selects and configures the service controller used by the service. The + * service controller handles features like abuse, quota, billing, logging, + * monitoring, etc. + */ + interface Schema$Control { + /** + * The service control environment to use. If empty, no control plane + * feature (like quota and billing) will be enabled. + */ + environment?: string; + } + /** + * Request to create a tenancy unit for a consumer of a service. + */ + interface Schema$CreateTenancyUnitRequest { + /** + * Optional producer provided identifier of the tenancy unit. Must be no + * longer than 40 characters and preferably URI friendly. If it is not + * provided, a UID for the tenancy unit will be auto generated. It must be + * unique across a service. If the tenancy unit already exists for the + * service and consumer pair, `CreateTenancyUnit` will return the existing + * tenancy unit if the provided identifier is identical or empty, otherwise + * the call will fail. + */ + tenancyUnitId?: string; + } + /** + * Customize service error responses. For example, list any service specific + * protobuf types that can appear in error detail lists of error responses. + * Example: custom_error: types: - google.foo.v1.CustomError + * - google.foo.v1.AnotherError + */ + interface Schema$CustomError { + /** + * The list of custom error rules that apply to individual API messages. + * **NOTE:** All service configuration rules follow "last one + * wins" order. + */ + rules?: Schema$CustomErrorRule[]; + /** + * The list of custom error detail types, e.g. + * 'google.foo.v1.CustomError'. + */ + types?: string[]; + } + /** + * A custom error rule. + */ + interface Schema$CustomErrorRule { + /** + * Mark this message as possible payload in error response. Otherwise, + * objects of this type will be filtered when they appear in error payload. + */ + isErrorType?: boolean; + /** + * Selects messages to which this rule applies. Refer to selector for + * syntax details. + */ + selector?: string; + } + /** + * A custom pattern is used for defining custom HTTP verb. + */ + interface Schema$CustomHttpPattern { + /** + * The name of this custom HTTP verb. + */ + kind?: string; + /** + * The path matched by this custom verb. + */ + path?: string; + } + /** + * `Documentation` provides the information for describing a service. Example: + * <pre><code>documentation: summary: > The Google + * Calendar API gives access to most calendar features. pages: - name: + * Overview content: &#40;== include google/foo/overview.md + * ==&#41; - name: Tutorial content: &#40;== include + * google/foo/tutorial.md ==&#41; subpages; - name: Java content: + * &#40;== include google/foo/tutorial_java.md ==&#41; rules: - + * selector: google.calendar.Calendar.Get description: > ... - + * selector: google.calendar.Calendar.Put description: > ... + * </code></pre> Documentation is provided in markdown syntax. In + * addition to standard markdown features, definition lists, tables and fenced + * code blocks are supported. Section headers can be provided and are + * interpreted relative to the section nesting of the context where a + * documentation fragment is embedded. Documentation from the IDL is merged + * with documentation defined via the config at normalization time, where + * documentation provided by config rules overrides IDL provided. A number of + * constructs specific to the API platform are supported in documentation + * text. In order to reference a proto element, the following notation can be + * used: + * <pre><code>&#91;fully.qualified.proto.name]&#91;]</code></pre> + * To override the display text used for the link, this can be used: + * <pre><code>&#91;display + * text]&#91;fully.qualified.proto.name]</code></pre> Text can + * be excluded from doc using the following notation: + * <pre><code>&#40;-- internal comment + * --&#41;</code></pre> A few directives are available in + * documentation. Note that directives must appear on a single line to be + * properly identified. The `include` directive includes a markdown file from + * an external source: <pre><code>&#40;== include path/to/file + * ==&#41;</code></pre> The `resource_for` directive marks a + * message to be the resource of a collection in REST view. If it is not + * specified, tools attempt to infer the resource from the operations in a + * collection: <pre><code>&#40;== resource_for + * v1.shelves.books ==&#41;</code></pre> The directive + * `suppress_warning` does not directly affect documentation and is documented + * together with service config validation. + */ + interface Schema$Documentation { + /** + * The URL to the root of documentation. + */ + documentationRootUrl?: string; + /** + * Declares a single overview page. For example: + * <pre><code>documentation: summary: ... overview: + * &#40;== include overview.md ==&#41; </code></pre> + * This is a shortcut for the following declaration (using pages style): + * <pre><code>documentation: summary: ... pages: - name: + * Overview content: &#40;== include overview.md ==&#41; + * </code></pre> Note: you cannot specify both `overview` field + * and `pages` field. + */ + overview?: string; + /** + * The top level pages for the documentation set. + */ + pages?: Schema$Page[]; + /** + * A list of documentation rules that apply to individual API elements. + * **NOTE:** All service configuration rules follow "last one + * wins" order. + */ + rules?: Schema$DocumentationRule[]; + /** + * A short summary of what the service does. Can only be provided by plain + * text. + */ + summary?: string; + } + /** + * A documentation rule provides information about individual API elements. + */ + interface Schema$DocumentationRule { + /** + * Deprecation description of the selected element(s). It can be provided if + * an element is marked as `deprecated`. + */ + deprecationDescription?: string; + /** + * Description of the selected API(s). + */ + description?: string; + /** + * The selector is a comma-separated list of patterns. Each pattern is a + * qualified name of the element which may end in "*", indicating + * a wildcard. Wildcards are only allowed at the end and for a whole + * component of the qualified name, i.e. "foo.*" is ok, but not + * "foo.b*" or "foo.*.bar". To specify a default for all + * applicable elements, the whole pattern "*" is used. + */ + selector?: string; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * `Endpoint` describes a network endpoint that serves a set of APIs. A + * service may expose any number of endpoints, and all endpoints share the + * same service configuration, such as quota configuration and monitoring + * configuration. Example service configuration: name: + * library-example.googleapis.com endpoints: # Below entry makes + * 'google.example.library.v1.Library' # API be served from + * endpoint address library-example.googleapis.com. # It also allows + * HTTP OPTIONS calls to be passed to the backend, for # it to decide + * whether the subsequent cross-origin request is # allowed to proceed. + * - name: library-example.googleapis.com allow_cors: true + */ + interface Schema$Endpoint { + /** + * DEPRECATED: This field is no longer supported. Instead of using aliases, + * please specify multiple google.api.Endpoint for each of the intended + * aliases. Additional names that this endpoint will be hosted on. + */ + aliases?: string[]; + /** + * Allowing + * [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka + * cross-domain traffic, would allow the backends served from this endpoint + * to receive and respond to HTTP OPTIONS requests. The response will be + * used by the browser to determine whether the subsequent cross-origin + * request is allowed to proceed. + */ + allowCors?: boolean; + /** + * The list of features enabled on this endpoint. + */ + features?: string[]; + /** + * The canonical name of this endpoint. + */ + name?: string; + /** + * The specification of an Internet routable address of API frontend that + * will handle requests to this [API + * Endpoint](https://cloud.google.com/apis/design/glossary). It should be + * either a valid IPv4 address or a fully-qualified domain name. For + * example, "8.8.8.8" or "myservice.appspot.com". + */ + target?: string; + } + /** + * Enum type definition. + */ + interface Schema$Enum { + /** + * Enum value definitions. + */ + enumvalue?: Schema$EnumValue[]; + /** + * Enum type name. + */ + name?: string; + /** + * Protocol buffer options. + */ + options?: Schema$Option[]; + /** + * The source context. + */ + sourceContext?: Schema$SourceContext; + /** + * The source syntax. + */ + syntax?: string; + } + /** + * Enum value definition. + */ + interface Schema$EnumValue { + /** + * Enum value name. + */ + name?: string; + /** + * Enum value number. + */ + number?: number; + /** + * Protocol buffer options. + */ + options?: Schema$Option[]; + } + /** + * Experimental service configuration. These configuration options can only be + * used by whitelisted users. + */ + interface Schema$Experimental { + /** + * Authorization configuration. + */ + authorization?: Schema$AuthorizationConfig; + } + /** + * A single field of a message type. + */ + interface Schema$Field { + /** + * The field cardinality. + */ + cardinality?: string; + /** + * The string value of the default value of this field. Proto2 syntax only. + */ + defaultValue?: string; + /** + * The field JSON name. + */ + jsonName?: string; + /** + * The field type. + */ + kind?: string; + /** + * The field name. + */ + name?: string; + /** + * The field number. + */ + number?: number; + /** + * The index of the field type in `Type.oneofs`, for message or enumeration + * types. The first type has index 1; zero means the type is not in the + * list. + */ + oneofIndex?: number; + /** + * The protocol buffer options. + */ + options?: Schema$Option[]; + /** + * Whether to use alternative packed wire representation. + */ + packed?: boolean; + /** + * The field type URL, without the scheme, for message or enumeration types. + * Example: `"type.googleapis.com/google.protobuf.Timestamp"`. + */ + typeUrl?: string; + } + /** + * Defines the HTTP configuration for an API service. It contains a list of + * HttpRule, each specifying the mapping of an RPC method to one or more HTTP + * REST API methods. + */ + interface Schema$Http { + /** + * When set to true, URL path parmeters will be fully URI-decoded except in + * cases of single segment matches in reserved expansion, where + * "%2F" will be left encoded. The default behavior is to not + * decode RFC 6570 reserved characters in multi segment matches. + */ + fullyDecodeReservedExpansion?: boolean; + /** + * A list of HTTP configuration rules that apply to individual API methods. + * **NOTE:** All service configuration rules follow "last one + * wins" order. + */ + rules?: Schema$HttpRule[]; + } + /** + * # gRPC Transcoding gRPC Transcoding is a feature for mapping between a + * gRPC method and one or more HTTP REST endpoints. It allows developers to + * build a single API service that supports both gRPC APIs and REST APIs. Many + * systems, including [Google APIs](https://github.com/googleapis/googleapis), + * [Cloud Endpoints](https://cloud.google.com/endpoints), [gRPC + * Gateway](https://github.com/grpc-ecosystem/grpc-gateway), and + * [Envoy](https://github.com/envoyproxy/envoy) proxy support this feature and + * use it for large scale production services. `HttpRule` defines the schema + * of the gRPC/REST mapping. The mapping specifies how different portions of + * the gRPC request message are mapped to the URL path, URL query parameters, + * and HTTP request body. It also controls how the gRPC response message is + * mapped to the HTTP response body. `HttpRule` is typically specified as an + * `google.api.http` annotation on the gRPC method. Each mapping specifies a + * URL path template and an HTTP method. The path template may refer to one or + * more fields in the gRPC request message, as long as each field is a + * non-repeated field with a primitive (non-message) type. The path template + * controls how fields of the request message are mapped to the URL path. + * Example: service Messaging { rpc GetMessage(GetMessageRequest) + * returns (Message) { option (google.api.http) = { get: + * "/v1/{name=messages/*"}" }; } } message + * GetMessageRequest { string name = 1; // Mapped to URL path. } + * message Message { string text = 1; // The resource content. } + * This enables an HTTP REST to gRPC mapping as below: HTTP | gRPC + * -----|----- `GET /v1/messages/123456` | `GetMessage(name: + * "messages/123456")` Any fields in the request message which are + * not bound by the path template automatically become HTTP query parameters + * if there is no HTTP request body. For example: service Messaging { rpc + * GetMessage(GetMessageRequest) returns (Message) { option + * (google.api.http) = { get:"/v1/messages/{message_id}" + * }; } } message GetMessageRequest { message SubMessage { + * string subfield = 1; } string message_id = 1; // Mapped to URL + * path. int64 revision = 2; // Mapped to URL query parameter + * `revision`. SubMessage sub = 3; // Mapped to URL query parameter + * `sub.subfield`. } This enables a HTTP JSON to RPC mapping as below: + * HTTP | gRPC -----|----- `GET + * /v1/messages/123456?revision=2&sub.subfield=foo` | + * `GetMessage(message_id: "123456" revision: 2 sub: + * SubMessage(subfield: "foo"))` Note that fields which are mapped + * to URL query parameters must have a primitive type or a repeated primitive + * type or a non-repeated message type. In the case of a repeated type, the + * parameter can be repeated in the URL as `...?param=A&param=B`. In the + * case of a message type, each field of the message is mapped to a separate + * parameter, such as `...?foo.a=A&foo.b=B&foo.c=C`. For HTTP methods + * that allow a request body, the `body` field specifies the mapping. Consider + * a REST update method on the message resource collection: service + * Messaging { rpc UpdateMessage(UpdateMessageRequest) returns (Message) + * { option (google.api.http) = { patch: + * "/v1/messages/{message_id}" body: "message" + * }; } } message UpdateMessageRequest { string message_id + * = 1; // mapped to the URL Message message = 2; // mapped to the + * body } The following HTTP JSON to RPC mapping is enabled, where the + * representation of the JSON in the request body is determined by protos JSON + * encoding: HTTP | gRPC -----|----- `PATCH /v1/messages/123456 { + * "text": "Hi!" }` | `UpdateMessage(message_id: + * "123456" message { text: "Hi!" })` The special name + * `*` can be used in the body mapping to define that every field not bound by + * the path template should be mapped to the request body. This enables the + * following alternative definition of the update method: service + * Messaging { rpc UpdateMessage(Message) returns (Message) { option + * (google.api.http) = { patch: + * "/v1/messages/{message_id}" body: "*" }; } } + * message Message { string message_id = 1; string text = 2; } + * The following HTTP JSON to RPC mapping is enabled: HTTP | gRPC -----|----- + * `PATCH /v1/messages/123456 { "text": "Hi!" }` | + * `UpdateMessage(message_id: "123456" text: "Hi!")` Note + * that when using `*` in the body mapping, it is not possible to have HTTP + * parameters, as all fields not bound by the path end in the body. This makes + * this option more rarely used in practice when defining REST APIs. The + * common usage of `*` is in custom methods which don't use the URL at all + * for transferring data. It is possible to define multiple HTTP methods for + * one RPC by using the `additional_bindings` option. Example: service + * Messaging { rpc GetMessage(GetMessageRequest) returns (Message) { + * option (google.api.http) = { get: + * "/v1/messages/{message_id}" additional_bindings { get: + * "/v1/users/{user_id}/messages/{message_id}" } }; } } + * message GetMessageRequest { string message_id = 1; string + * user_id = 2; } This enables the following two alternative HTTP JSON to + * RPC mappings: HTTP | gRPC -----|----- `GET /v1/messages/123456` | + * `GetMessage(message_id: "123456")` `GET + * /v1/users/me/messages/123456` | `GetMessage(user_id: "me" + * message_id: "123456")` ## Rules for HTTP mapping 1. Leaf + * request fields (recursive expansion nested messages in the request message) + * are classified into three categories: - Fields referred by the path + * template. They are passed via the URL path. - Fields referred by the + * HttpRule.body. They are passed via the HTTP request body. - All + * other fields are passed via the URL query parameters, and the parameter + * name is the field path in the request message. A repeated field can be + * represented as multiple query parameters under the same name. 2. If + * HttpRule.body is "*", there is no URL query parameter, all fields + * are passed via URL path and HTTP request body. 3. If HttpRule.body is + * omitted, there is no HTTP request body, all fields are passed via URL + * path and URL query parameters. ### Path template syntax Template = + * "/" Segments [ Verb ] ; Segments = Segment { "/" + * Segment } ; Segment = "*" | "**" | LITERAL | + * Variable ; Variable = "{" FieldPath [ "=" Segments + * ] "}" ; FieldPath = IDENT { "." IDENT } ; Verb + * = ":" LITERAL ; The syntax `*` matches a single URL path + * segment. The syntax `**` matches zero or more URL path segments, which must + * be the last part of the URL path except the `Verb`. The syntax `Variable` + * matches part of the URL path as specified by its template. A variable + * template must not contain other variables. If a variable matches a single + * path segment, its template may be omitted, e.g. `{var}` is equivalent to + * `{var=*}`. The syntax `LITERAL` matches literal text in the URL path. If + * the `LITERAL` contains any reserved character, such characters should be + * percent-encoded before the matching. If a variable contains exactly one + * path segment, such as `"{var}"` or `"{var=*}"`, when + * such a variable is expanded into a URL path on the client side, all + * characters except `[-_.~0-9a-zA-Z]` are percent-encoded. The server side + * does the reverse decoding. Such variables show up in the [Discovery + * Document](https://developers.google.com/discovery/v1/reference/apis) as + * `{var}`. If a variable contains multiple path segments, such as + * `"{var=foo/*}"` or `"{var=**}"`, when such a variable + * is expanded into a URL path on the client side, all characters except + * `[-_.~/0-9a-zA-Z]` are percent-encoded. The server side does the reverse + * decoding, except "%2F" and "%2f" are left unchanged. + * Such variables show up in the [Discovery + * Document](https://developers.google.com/discovery/v1/reference/apis) as + * `{+var}`. ## Using gRPC API Service Configuration gRPC API Service + * Configuration (service config) is a configuration language for configuring + * a gRPC service to become a user-facing product. The service config is + * simply the YAML representation of the `google.api.Service` proto message. + * As an alternative to annotating your proto file, you can configure gRPC + * transcoding in your service config YAML files. You do this by specifying a + * `HttpRule` that maps the gRPC method to a REST endpoint, achieving the same + * effect as the proto annotation. This can be particularly useful if you have + * a proto that is reused in multiple services. Note that any transcoding + * specified in the service config will override any matching transcoding + * configuration in the proto. Example: http: rules: # + * Selects a gRPC method and applies HttpRule to it. - selector: + * example.v1.Messaging.GetMessage get: + * /v1/messages/{message_id}/{sub.subfield} ## Special notes When gRPC + * Transcoding is used to map a gRPC to JSON REST endpoints, the proto to JSON + * conversion must follow the [proto3 + * specification](https://developers.google.com/protocol-buffers/docs/proto3#json). + * While the single segment variable follows the semantics of [RFC + * 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 Simple String + * Expansion, the multi segment variable **does not** follow RFC 6570 + * Section 3.2.3 Reserved Expansion. The reason is that the Reserved Expansion + * does not expand special characters like `?` and `#`, which would lead to + * invalid URLs. As the result, gRPC Transcoding uses a custom encoding for + * multi segment variables. The path variables **must not** refer to any + * repeated or mapped field, because client libraries are not capable of + * handling such variable expansion. The path variables **must not** capture + * the leading "/" character. The reason is that the most common use + * case "{var}" does not capture the leading "/" + * character. For consistency, all path variables must share the same + * behavior. Repeated message fields must not be mapped to URL query + * parameters, because no client library can support such complicated mapping. + * If an API needs to use a JSON array for request or response body, it can + * map the request or response body to a repeated field. However, some gRPC + * Transcoding implementations may not support this feature. + */ + interface Schema$HttpRule { + /** + * Additional HTTP bindings for the selector. Nested bindings must not + * contain an `additional_bindings` field themselves (that is, the nesting + * may only be one level deep). + */ + additionalBindings?: Schema$HttpRule[]; + /** + * The name of the request field whose value is mapped to the HTTP request + * body, or `*` for mapping all request fields not captured by the path + * pattern to the HTTP body, or omitted for not having any HTTP request + * body. NOTE: the referred field must be present at the top-level of the + * request message type. + */ + body?: string; + /** + * The custom pattern is used for specifying an HTTP method that is not + * included in the `pattern` field, such as HEAD, or "*" to leave + * the HTTP method unspecified for this rule. The wild-card rule is useful + * for services that provide content to Web (HTML) clients. + */ + custom?: Schema$CustomHttpPattern; + /** + * Maps to HTTP DELETE. Used for deleting a resource. + */ + delete?: string; + /** + * Maps to HTTP GET. Used for listing and getting information about + * resources. + */ + get?: string; + /** + * Maps to HTTP PATCH. Used for updating a resource. + */ + patch?: string; + /** + * Maps to HTTP POST. Used for creating a resource or performing an action. + */ + post?: string; + /** + * Maps to HTTP PUT. Used for replacing a resource. + */ + put?: string; + /** + * Optional. The name of the response field whose value is mapped to the + * HTTP response body. When omitted, the entire response message will be + * used as the HTTP response body. NOTE: The referred field must be present + * at the top-level of the response message type. + */ + responseBody?: string; + /** + * Selects a method to which this rule applies. Refer to selector for + * syntax details. + */ + selector?: string; + } + /** + * A description of a label. + */ + interface Schema$LabelDescriptor { + /** + * A human-readable description for the label. + */ + description?: string; + /** + * The label key. + */ + key?: string; + /** + * The type of data that can be assigned to the label. + */ + valueType?: string; + } + /** + * The response message for Operations.ListOperations. + */ + interface Schema$ListOperationsResponse { + /** + * The standard List next-page token. + */ + nextPageToken?: string; + /** + * A list of operations that matches the specified filter in the request. + */ + operations?: Schema$Operation[]; + } + /** + * Response for the list request. + */ + interface Schema$ListTenancyUnitsResponse { + /** + * Pagination token for large results. + */ + nextPageToken?: string; + /** + * Tenancy units matching the request. + */ + tenancyUnits?: Schema$TenancyUnit[]; + } + /** + * A description of a log type. Example in YAML format: - name: + * library.googleapis.com/activity_history description: The history of + * borrowing and returning library items. display_name: Activity labels: + * - key: /customer_id description: Identifier of a library customer + */ + interface Schema$LogDescriptor { + /** + * A human-readable description of this log. This information appears in the + * documentation and can contain details. + */ + description?: string; + /** + * The human-readable name for this log. This information appears on the + * user interface and should be concise. + */ + displayName?: string; + /** + * The set of labels that are available to describe a specific log entry. + * Runtime requests that contain labels not specified here are considered + * invalid. + */ + labels?: Schema$LabelDescriptor[]; + /** + * The name of the log. It must be less than 512 characters long and can + * include the following characters: upper- and lower-case alphanumeric + * characters [A-Za-z0-9], and punctuation characters including slash, + * underscore, hyphen, period [/_-.]. + */ + name?: string; + } + /** + * Logging configuration of the service. The following example shows how to + * configure logs to be sent to the producer and consumer projects. In the + * example, the `activity_history` log is sent to both the producer and + * consumer projects, whereas the `purchase_history` log is only sent to the + * producer project. monitored_resources: - type: + * library.googleapis.com/branch labels: - key: /city description: + * The city where the library branch is located in. - key: /name + * description: The name of the branch. logs: - name: activity_history + * labels: - key: /customer_id - name: purchase_history logging: + * producer_destinations: - monitored_resource: + * library.googleapis.com/branch logs: - activity_history - + * purchase_history consumer_destinations: - monitored_resource: + * library.googleapis.com/branch logs: - activity_history + */ + interface Schema$Logging { + /** + * Logging configurations for sending logs to the consumer project. There + * can be multiple consumer destinations, each one must have a different + * monitored resource type. A log can be used in at most one consumer + * destination. + */ + consumerDestinations?: Schema$LoggingDestination[]; + /** + * Logging configurations for sending logs to the producer project. There + * can be multiple producer destinations, each one must have a different + * monitored resource type. A log can be used in at most one producer + * destination. + */ + producerDestinations?: Schema$LoggingDestination[]; + } + /** + * Configuration of a specific logging destination (the producer project or + * the consumer project). + */ + interface Schema$LoggingDestination { + /** + * Names of the logs to be sent to this destination. Each name must be + * defined in the Service.logs section. If the log name is not a domain + * scoped name, it will be automatically prefixed with the service name + * followed by "/". + */ + logs?: string[]; + /** + * The monitored resource type. The type must be defined in the + * Service.monitored_resources section. + */ + monitoredResource?: string; + } + /** + * Method represents a method of an API interface. + */ + interface Schema$Method { + /** + * The simple name of this method. + */ + name?: string; + /** + * Any metadata attached to the method. + */ + options?: Schema$Option[]; + /** + * If true, the request is streamed. + */ + requestStreaming?: boolean; + /** + * A URL of the input message type. + */ + requestTypeUrl?: string; + /** + * If true, the response is streamed. + */ + responseStreaming?: boolean; + /** + * The URL of the output message type. + */ + responseTypeUrl?: string; + /** + * The source syntax of this method. + */ + syntax?: string; + } + /** + * Defines a metric type and its schema. Once a metric descriptor is created, + * deleting or altering it stops data collection and makes the metric + * type's existing data unusable. + */ + interface Schema$MetricDescriptor { + /** + * A detailed description of the metric, which can be used in documentation. + */ + description?: string; + /** + * A concise name for the metric, which can be displayed in user interfaces. + * Use sentence case without an ending period, for example "Request + * count". This field is optional but it is recommended to be set for + * any metrics associated with user-visible concepts, such as Quota. + */ + displayName?: string; + /** + * The set of labels that can be used to describe a specific instance of + * this metric type. For example, the + * `appengine.googleapis.com/http/server/response_latencies` metric type has + * a label for the HTTP response code, `response_code`, so you can look at + * latencies for successful responses or just for responses that failed. + */ + labels?: Schema$LabelDescriptor[]; + /** + * Optional. Metadata which can be used to guide usage of the metric. + */ + metadata?: Schema$MetricDescriptorMetadata; + /** + * Whether the metric records instantaneous values, changes to a value, etc. + * Some combinations of `metric_kind` and `value_type` might not be + * supported. + */ + metricKind?: string; + /** + * The resource name of the metric descriptor. + */ + name?: string; + /** + * The metric type, including its DNS name prefix. The type is not + * URL-encoded. All user-defined metric types have the DNS name + * `custom.googleapis.com` or `external.googleapis.com`. Metric types + * should use a natural hierarchical grouping. For example: + * "custom.googleapis.com/invoice/paid/amount" + * "external.googleapis.com/prometheus/up" + * "appengine.googleapis.com/http/server/response_latencies" + */ + type?: string; + /** + * The unit in which the metric value is reported. It is only applicable if + * the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The supported + * units are a subset of [The Unified Code for Units of + * Measure](http://unitsofmeasure.org/ucum.html) standard: **Basic units + * (UNIT)** * `bit` bit * `By` byte * `s` second * `min` minute + * * `h` hour * `d` day **Prefixes (PREFIX)** * `k` kilo + * (10**3) * `M` mega (10**6) * `G` giga (10**9) * `T` tera + * (10**12) * `P` peta (10**15) * `E` exa (10**18) * `Z` + * zetta (10**21) * `Y` yotta (10**24) * `m` milli (10**-3) * + * `u` micro (10**-6) * `n` nano (10**-9) * `p` pico + * (10**-12) * `f` femto (10**-15) * `a` atto (10**-18) * `z` + * zepto (10**-21) * `y` yocto (10**-24) * `Ki` kibi (2**10) * + * `Mi` mebi (2**20) * `Gi` gibi (2**30) * `Ti` tebi (2**40) + * **Grammar** The grammar also includes these connectors: * `/` division + * (as an infix operator, e.g. `1/s`). * `.` multiplication (as an infix + * operator, e.g. `GBy.d`) The grammar for a unit is as follows: Expression + * = Component { "." Component } { "/" Component } ; + * Component = ( [ PREFIX ] UNIT | "%" ) [ Annotation ] | + * Annotation | "1" ; Annotation + * = "{" NAME "}" ; Notes: * `Annotation` is just a + * comment if it follows a `UNIT` and is equivalent to `1` if it is used + * alone. For examples, `{requests}/s == 1/s`, `By{transmitted}/s == + * By/s`. * `NAME` is a sequence of non-blank printable ASCII characters not + * containing '{' or '}'. * `1` represents dimensionless + * value 1, such as in `1/s`. * `%` represents dimensionless value 1/100, + * and annotates values giving a percentage. + */ + unit?: string; + /** + * Whether the measurement is an integer, a floating-point number, etc. Some + * combinations of `metric_kind` and `value_type` might not be supported. + */ + valueType?: string; + } + /** + * Additional annotations that can be used to guide the usage of a metric. + */ + interface Schema$MetricDescriptorMetadata { + /** + * The delay of data points caused by ingestion. Data points older than this + * age are guaranteed to be ingested and available to be read, excluding + * data loss due to errors. + */ + ingestDelay?: string; + /** + * The launch stage of the metric definition. + */ + launchStage?: string; + /** + * The sampling period of metric data points. For metrics which are written + * periodically, consecutive data points are stored at this time interval, + * excluding data loss due to errors. Metrics with a higher granularity have + * a smaller sampling period. + */ + samplePeriod?: string; + } + /** + * Bind API methods to metrics. Binding a method to a metric causes that + * metric's configured quota behaviors to apply to the method call. + */ + interface Schema$MetricRule { + /** + * Metrics to update when the selected methods are called, and the + * associated cost applied to each metric. The key of the map is the metric + * name, and the values are the amount increased for the metric against + * which the quota limits are defined. The value must not be negative. + */ + metricCosts?: any; + /** + * Selects the methods to which this rule applies. Refer to selector for + * syntax details. + */ + selector?: string; + } + /** + * Declares an API Interface to be included in this interface. The including + * interface must redeclare all the methods from the included interface, but + * documentation and options are inherited as follows: - If after comment and + * whitespace stripping, the documentation string of the redeclared method + * is empty, it will be inherited from the original method. - Each + * annotation belonging to the service config (http, visibility) which is + * not set in the redeclared method will be inherited. - If an http + * annotation is inherited, the path pattern will be modified as follows. + * Any version prefix will be replaced by the version of the including + * interface plus the root path if specified. Example of a simple mixin: + * package google.acl.v1; service AccessControl { // Get the + * underlying ACL object. rpc GetAcl(GetAclRequest) returns (Acl) { + * option (google.api.http).get = "/v1/{resource=**}:getAcl"; } } + * package google.storage.v2; service Storage { // rpc + * GetAcl(GetAclRequest) returns (Acl); // Get a data record. rpc + * GetData(GetDataRequest) returns (Data) { option + * (google.api.http).get = "/v2/{resource=**}"; } } + * Example of a mixin configuration: apis: - name: + * google.storage.v2.Storage mixins: - name: + * google.acl.v1.AccessControl The mixin construct implies that all methods + * in `AccessControl` are also declared with same name and request/response + * types in `Storage`. A documentation generator or annotation processor will + * see the effective `Storage.GetAcl` method after inherting documentation and + * annotations as follows: service Storage { // Get the underlying + * ACL object. rpc GetAcl(GetAclRequest) returns (Acl) { option + * (google.api.http).get = "/v2/{resource=**}:getAcl"; } ... + * } Note how the version in the path pattern changed from `v1` to `v2`. If + * the `root` field in the mixin is specified, it should be a relative path + * under which inherited HTTP paths are placed. Example: apis: - + * name: google.storage.v2.Storage mixins: - name: + * google.acl.v1.AccessControl root: acls This implies the following + * inherited HTTP annotation: service Storage { // Get the + * underlying ACL object. rpc GetAcl(GetAclRequest) returns (Acl) { + * option (google.api.http).get = "/v2/acls/{resource=**}:getAcl"; + * } ... } + */ + interface Schema$Mixin { + /** + * The fully qualified name of the interface which is included. + */ + name?: string; + /** + * If non-empty specifies a path under which inherited HTTP paths are + * rooted. + */ + root?: string; + } + /** + * An object that describes the schema of a MonitoredResource object using a + * type name and a set of labels. For example, the monitored resource + * descriptor for Google Compute Engine VM instances has a type of + * `"gce_instance"` and specifies the use of the labels + * `"instance_id"` and `"zone"` to identify particular VM + * instances. Different APIs can support different monitored resource types. + * APIs generally provide a `list` method that returns the monitored resource + * descriptors used by the API. + */ + interface Schema$MonitoredResourceDescriptor { + /** + * Optional. A detailed description of the monitored resource type that + * might be used in documentation. + */ + description?: string; + /** + * Optional. A concise name for the monitored resource type that might be + * displayed in user interfaces. It should be a Title Cased Noun Phrase, + * without any article or other determiners. For example, `"Google + * Cloud SQL Database"`. + */ + displayName?: string; + /** + * Required. A set of labels used to describe instances of this monitored + * resource type. For example, an individual Google Cloud SQL database is + * identified by values for the labels `"database_id"` and + * `"zone"`. + */ + labels?: Schema$LabelDescriptor[]; + /** + * Optional. The resource name of the monitored resource descriptor: + * `"projects/{project_id}/monitoredResourceDescriptors/{type}"` + * where {type} is the value of the `type` field in this object and + * {project_id} is a project ID that provides API-specific context for + * accessing the type. APIs that do not use project information can use the + * resource name format `"monitoredResourceDescriptors/{type}"`. + */ + name?: string; + /** + * Required. The monitored resource type. For example, the type + * `"cloudsql_database"` represents databases in Google Cloud SQL. + * The maximum length of this value is 256 characters. + */ + type?: string; + } + /** + * Monitoring configuration of the service. The example below shows how to + * configure monitored resources and metrics for monitoring. In the example, a + * monitored resource and two metrics are defined. The + * `library.googleapis.com/book/returned_count` metric is sent to both + * producer and consumer projects, whereas the + * `library.googleapis.com/book/overdue_count` metric is only sent to the + * consumer project. monitored_resources: - type: + * library.googleapis.com/branch labels: - key: /city description: + * The city where the library branch is located in. - key: /name + * description: The name of the branch. metrics: - name: + * library.googleapis.com/book/returned_count metric_kind: DELTA + * value_type: INT64 labels: - key: /customer_id - name: + * library.googleapis.com/book/overdue_count metric_kind: GAUGE + * value_type: INT64 labels: - key: /customer_id monitoring: + * producer_destinations: - monitored_resource: + * library.googleapis.com/branch metrics: - + * library.googleapis.com/book/returned_count consumer_destinations: - + * monitored_resource: library.googleapis.com/branch metrics: - + * library.googleapis.com/book/returned_count - + * library.googleapis.com/book/overdue_count + */ + interface Schema$Monitoring { + /** + * Monitoring configurations for sending metrics to the consumer project. + * There can be multiple consumer destinations, each one must have a + * different monitored resource type. A metric can be used in at most one + * consumer destination. + */ + consumerDestinations?: Schema$MonitoringDestination[]; + /** + * Monitoring configurations for sending metrics to the producer project. + * There can be multiple producer destinations, each one must have a + * different monitored resource type. A metric can be used in at most one + * producer destination. + */ + producerDestinations?: Schema$MonitoringDestination[]; + } + /** + * Configuration of a specific monitoring destination (the producer project or + * the consumer project). + */ + interface Schema$MonitoringDestination { + /** + * Names of the metrics to report to this monitoring destination. Each name + * must be defined in Service.metrics section. + */ + metrics?: string[]; + /** + * The monitored resource type. The type must be defined in + * Service.monitored_resources section. + */ + monitoredResource?: string; + } + /** + * OAuth scopes are a way to define data and permissions on data. For example, + * there are scopes defined for "Read-only access to Google + * Calendar" and "Access to Cloud Platform". Users can consent + * to a scope for an application, giving it permission to access that data on + * their behalf. OAuth scope specifications should be fairly coarse grained; + * a user will need to see and understand the text description of what your + * scope means. In most cases: use one or at most two OAuth scopes for an + * entire family of products. If your product has multiple APIs, you should + * probably be sharing the OAuth scope across all of those APIs. When you + * need finer grained OAuth consent screens: talk with your product management + * about how developers will use them in practice. Please note that even + * though each of the canonical scopes is enough for a request to be accepted + * and passed to the backend, a request can still fail due to the backend + * requiring additional scopes or permissions. + */ + interface Schema$OAuthRequirements { + /** + * The list of publicly documented OAuth scopes that are allowed access. An + * OAuth token containing any of these scopes will be accepted. Example: + * canonical_scopes: https://www.googleapis.com/auth/calendar, + * https://www.googleapis.com/auth/calendar.read + */ + canonicalScopes?: string; + } + /** + * This resource represents a long-running operation that is the result of a + * network API call. + */ + interface Schema$Operation { + /** + * If the value is `false`, it means the operation is still in progress. If + * `true`, the operation is completed, and either `error` or `response` is + * available. + */ + done?: boolean; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * Service-specific metadata associated with the operation. It typically + * contains progress information and common metadata such as create time. + * Some services might not provide such metadata. Any method that returns a + * long-running operation should document the metadata type, if any. + */ + metadata?: any; + /** + * The server-assigned name, which is only unique within the same service + * that originally returns it. If you use the default HTTP mapping, the + * `name` should have the format of `operations/some/unique/name`. + */ + name?: string; + /** + * The normal response of the operation in case of success. If the original + * method returns no data on success, such as `Delete`, the response is + * `google.protobuf.Empty`. If the original method is standard + * `Get`/`Create`/`Update`, the response should be the resource. For other + * methods, the response should have the type `XxxResponse`, where `Xxx` is + * the original method name. For example, if the original method name is + * `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: any; + } + /** + * A protocol buffer option, which can be attached to a message, field, + * enumeration, etc. + */ + interface Schema$Option { + /** + * The option's name. For protobuf built-in options (options defined in + * descriptor.proto), this is the short name. For example, + * `"map_entry"`. For custom options, it should be the + * fully-qualified name. For example, `"google.api.http"`. + */ + name?: string; + /** + * The option's value packed in an Any message. If the value is a + * primitive, the corresponding wrapper type defined in + * google/protobuf/wrappers.proto should be used. If the value is an enum, + * it should be stored as an int32 value using the + * google.protobuf.Int32Value type. + */ + value?: any; + } + /** + * Represents a documentation page. A page can contain subpages to represent + * nested documentation set structure. + */ + interface Schema$Page { + /** + * The Markdown content of the page. You can use <code>&#40;== + * include {path} ==&#41;</code> to include content from a + * Markdown file. + */ + content?: string; + /** + * The name of the page. It will be used as an identity of the page to + * generate URI of the page, text of the link to this page in navigation, + * etc. The full page name (start from the root page name to this page + * concatenated with `.`) can be used as reference to the page in your + * documentation. For example: <pre><code>pages: - name: + * Tutorial content: &#40;== include tutorial.md ==&#41; subpages: + * - name: Java content: &#40;== include tutorial_java.md + * ==&#41; </code></pre> You can reference `Java` page using + * Markdown reference link syntax: `Java`. + */ + name?: string; + /** + * Subpages of this page. The order of subpages specified here will be + * honored in the generated docset. + */ + subpages?: Schema$Page[]; + } + /** + * Translates to IAM Policy bindings (without auditing at this level) + */ + interface Schema$PolicyBinding { + /** + * Uses the same format as in IAM policy. `member` must include both prefix + * and ID. For example, `user:{emailId}`, `serviceAccount:{emailId}`, + * `group:{emailId}`. + */ + members?: string[]; + /** + * Role. (https://cloud.google.com/iam/docs/understanding-roles) For + * example, `roles/viewer`, `roles/editor`, or `roles/owner`. + */ + role?: string; + } + /** + * Quota configuration helps to achieve fairness and budgeting in service + * usage. The quota configuration works this way: - The service configuration + * defines a set of metrics. - For API calls, the quota.metric_rules maps + * methods to metrics with corresponding costs. - The quota.limits defines + * limits on the metrics, which will be used for quota checks at runtime. An + * example quota configuration in yaml format: quota: limits: - + * name: apiWriteQpsPerProject metric: + * library.googleapis.com/write_calls unit: "1/min/{project}" + * # rate limit for consumer projects values: STANDARD: 10000 + * # The metric rules bind all methods to the read_calls metric, # except + * for the UpdateBook and DeleteBook methods. These two methods # are + * mapped to the write_calls metric, with the UpdateBook method # + * consuming at twice rate as the DeleteBook method. metric_rules: - + * selector: "*" metric_costs: + * library.googleapis.com/read_calls: 1 - selector: + * google.example.library.v1.LibraryService.UpdateBook metric_costs: + * library.googleapis.com/write_calls: 2 - selector: + * google.example.library.v1.LibraryService.DeleteBook metric_costs: + * library.googleapis.com/write_calls: 1 Corresponding Metric definition: + * metrics: - name: library.googleapis.com/read_calls display_name: Read + * requests metric_kind: DELTA value_type: INT64 - name: + * library.googleapis.com/write_calls display_name: Write requests + * metric_kind: DELTA value_type: INT64 + */ + interface Schema$Quota { + /** + * List of `QuotaLimit` definitions for the service. + */ + limits?: Schema$QuotaLimit[]; + /** + * List of `MetricRule` definitions, each one mapping a selected method to + * one or more metrics. + */ + metricRules?: Schema$MetricRule[]; + } + /** + * `QuotaLimit` defines a specific limit that applies over a specified + * duration for a limit type. There can be at most one limit for a duration + * and limit type combination defined within a `QuotaGroup`. + */ + interface Schema$QuotaLimit { + /** + * Default number of tokens that can be consumed during the specified + * duration. This is the number of tokens assigned when a client application + * developer activates the service for his/her project. Specifying a value + * of 0 will block all requests. This can be used if you are provisioning + * quota to selected consumers and blocking others. Similarly, a value of -1 + * will indicate an unlimited quota. No other negative values are allowed. + * Used by group-based quotas only. + */ + defaultLimit?: string; + /** + * Optional. User-visible, extended description for this quota limit. Should + * be used only when more context is needed to understand this limit than + * provided by the limit's display name (see: `display_name`). + */ + description?: string; + /** + * User-visible display name for this limit. Optional. If not set, the UI + * will provide a default display name based on the quota configuration. + * This field can be used to override the default display name generated + * from the configuration. + */ + displayName?: string; + /** + * Duration of this limit in textual notation. Example: "100s", + * "24h", "1d". For duration longer than a day, only + * multiple of days is supported. We support only "100s" and + * "1d" for now. Additional support will be added in the future. + * "0" indicates indefinite duration. Used by group-based quotas + * only. + */ + duration?: string; + /** + * Free tier value displayed in the Developers Console for this limit. The + * free tier is the number of tokens that will be subtracted from the billed + * amount when billing is enabled. This field can only be set on a limit + * with duration "1d", in a billable group; it is invalid on any + * other limit. If this field is not set, it defaults to 0, indicating that + * there is no free tier for this service. Used by group-based quotas only. + */ + freeTier?: string; + /** + * Maximum number of tokens that can be consumed during the specified + * duration. Client application developers can override the default limit up + * to this maximum. If specified, this value cannot be set to a value less + * than the default limit. If not specified, it is set to the default limit. + * To allow clients to apply overrides with no upper bound, set this to -1, + * indicating unlimited maximum quota. Used by group-based quotas only. + */ + maxLimit?: string; + /** + * The name of the metric this quota limit applies to. The quota limits with + * the same metric will be checked together during runtime. The metric must + * be defined within the service config. + */ + metric?: string; + /** + * Name of the quota limit. The name must be provided, and it must be + * unique within the service. The name can only include alphanumeric + * characters as well as '-'. The maximum length of the limit name + * is 64 characters. + */ + name?: string; + /** + * Specify the unit of the quota limit. It uses the same syntax as + * Metric.unit. The supported unit kinds are determined by the quota backend + * system. Here are some examples: * "1/min/{project}" for quota + * per minute per project. Note: the order of unit components is + * insignificant. The "1" at the beginning is required to follow + * the metric unit syntax. + */ + unit?: string; + /** + * Tiered limit values. You must specify this as a key:value pair, with an + * integer value that is the maximum number of requests allowed for the + * specified unit. Currently only STANDARD is supported. + */ + values?: any; + } + /** + * Request message to remove tenant project resource from the tenancy unit. + */ + interface Schema$RemoveTenantProjectRequest { + /** + * Tag of the resource within the tenancy unit. + */ + tag?: string; + } + /** + * Response for the search query. + */ + interface Schema$SearchTenancyUnitsResponse { + /** + * Pagination token for large results. + */ + nextPageToken?: string; + /** + * Tenancy Units matching the request. + */ + tenancyUnits?: Schema$TenancyUnit[]; + } + /** + * `Service` is the root object of Google service configuration schema. It + * describes basic information about a service, such as the name and the + * title, and delegates other aspects to sub-sections. Each sub-section is + * either a proto message or a repeated proto message that configures a + * specific aspect, such as auth. See each proto message definition for + * details. Example: type: google.api.Service config_version: 3 + * name: calendar.googleapis.com title: Google Calendar API apis: - + * name: google.calendar.v3.Calendar authentication: providers: - + * id: google_calendar_auth jwks_uri: + * https://www.googleapis.com/oauth2/v1/certs issuer: + * https://securetoken.google.com rules: - selector: "*" + * requirements: provider_id: google_calendar_auth + */ + interface Schema$Service { + /** + * A list of API interfaces exported by this service. Only the `name` field + * of the google.protobuf.Api needs to be provided by the configuration + * author, as the remaining fields will be derived from the IDL during the + * normalization process. It is an error to specify an API interface here + * which cannot be resolved against the associated IDL files. + */ + apis?: Schema$Api[]; + /** + * Auth configuration. + */ + authentication?: Schema$Authentication; + /** + * API backend configuration. + */ + backend?: Schema$Backend; + /** + * Billing configuration. + */ + billing?: Schema$Billing; + /** + * The semantic version of the service configuration. The config version + * affects the interpretation of the service configuration. For example, + * certain features are enabled by default for certain config versions. The + * latest config version is `3`. + */ + configVersion?: number; + /** + * Context configuration. + */ + context?: Schema$Context; + /** + * Configuration for the service control plane. + */ + control?: Schema$Control; + /** + * Custom error configuration. + */ + customError?: Schema$CustomError; + /** + * Additional API documentation. + */ + documentation?: Schema$Documentation; + /** + * Configuration for network endpoints. If this is empty, then an endpoint + * with the same name as the service is automatically generated to service + * all defined APIs. + */ + endpoints?: Schema$Endpoint[]; + /** + * A list of all enum types included in this API service. Enums referenced + * directly or indirectly by the `apis` are automatically included. Enums + * which are not referenced but shall be included should be listed here by + * name. Example: enums: - name: google.someapi.v1.SomeEnum + */ + enums?: Schema$Enum[]; + /** + * Experimental configuration. + */ + experimental?: Schema$Experimental; + /** + * HTTP configuration. + */ + http?: Schema$Http; + /** + * A unique ID for a specific instance of this message, typically assigned + * by the client for tracking purpose. If empty, the server may choose to + * generate one instead. Must be no longer than 60 characters. + */ + id?: string; + /** + * Logging configuration. + */ + logging?: Schema$Logging; + /** + * Defines the logs used by this service. + */ + logs?: Schema$LogDescriptor[]; + /** + * Defines the metrics used by this service. + */ + metrics?: Schema$MetricDescriptor[]; + /** + * Defines the monitored resources used by this service. This is required by + * the Service.monitoring and Service.logging configurations. + */ + monitoredResources?: Schema$MonitoredResourceDescriptor[]; + /** + * Monitoring configuration. + */ + monitoring?: Schema$Monitoring; + /** + * The DNS address at which this service is available, e.g. + * `calendar.googleapis.com`. + */ + name?: string; + /** + * The Google project that owns this service. + */ + producerProjectId?: string; + /** + * Quota configuration. + */ + quota?: Schema$Quota; + /** + * Output only. The source information for this configuration if available. + */ + sourceInfo?: Schema$SourceInfo; + /** + * System parameter configuration. + */ + systemParameters?: Schema$SystemParameters; + /** + * A list of all proto message types included in this API service. It serves + * similar purpose as [google.api.Service.types], except that these types + * are not needed by user-defined APIs. Therefore, they will not show up in + * the generated discovery doc. This field should only be used to define + * system APIs in ESF. + */ + systemTypes?: Schema$Type[]; + /** + * The product title for this service. + */ + title?: string; + /** + * A list of all proto message types included in this API service. Types + * referenced directly or indirectly by the `apis` are automatically + * included. Messages which are not referenced but shall be included, such + * as types used by the `google.protobuf.Any` type, should be listed here by + * name. Example: types: - name: google.protobuf.Int32 + */ + types?: Schema$Type[]; + /** + * Configuration controlling usage of this service. + */ + usage?: Schema$Usage; + } + /** + * Describes service account configuration for the tenant project. + */ + interface Schema$ServiceAccountConfig { + /** + * ID of the IAM service account to be created in tenant project. The email + * format of the service account will be + * "<account-id>@<tenant-project-id>.iam.gserviceaccount.com". + * This account id has to be unique within tenant project and producers have + * to guarantee it. And it must be 6-30 characters long, and matches the + * regular expression `[a-z]([-a-z0-9]*[a-z0-9])`. + */ + accountId?: string; + /** + * Roles for the associated service account for the tenant project. + */ + tenantProjectRoles?: string[]; + } + /** + * `SourceContext` represents information about the source of a protobuf + * element, like the file in which it is defined. + */ + interface Schema$SourceContext { + /** + * The path-qualified name of the .proto file that contained the associated + * protobuf element. For example: + * `"google/protobuf/source_context.proto"`. + */ + fileName?: string; + } + /** + * Source information used to create a Service Config + */ + interface Schema$SourceInfo { + /** + * All files used during config generation. + */ + sourceFiles?: any[]; + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + /** + * Define a parameter's name and location. The parameter may be passed as + * either an HTTP header or a URL query parameter, and if both are passed the + * behavior is implementation-dependent. + */ + interface Schema$SystemParameter { + /** + * Define the HTTP header name to use for the parameter. It is case + * insensitive. + */ + httpHeader?: string; + /** + * Define the name of the parameter, such as "api_key" . It is + * case sensitive. + */ + name?: string; + /** + * Define the URL query parameter name to use for the parameter. It is case + * sensitive. + */ + urlQueryParameter?: string; + } + /** + * Define a system parameter rule mapping system parameter definitions to + * methods. + */ + interface Schema$SystemParameterRule { + /** + * Define parameters. Multiple names may be defined for a parameter. For a + * given method call, only one of them should be used. If multiple names are + * used the behavior is implementation-dependent. If none of the specified + * names are present the behavior is parameter-dependent. + */ + parameters?: Schema$SystemParameter[]; + /** + * Selects the methods to which this rule applies. Use '*' to + * indicate all methods in all APIs. Refer to selector for syntax details. + */ + selector?: string; + } + /** + * ### System parameter configuration A system parameter is a special kind of + * parameter defined by the API system, not by an individual API. It is + * typically mapped to an HTTP header and/or a URL query parameter. This + * configuration specifies which methods change the names of the system + * parameters. + */ + interface Schema$SystemParameters { + /** + * Define system parameters. The parameters defined here will override the + * default parameters implemented by the system. If this field is missing + * from the service config, default system parameters will be used. Default + * system parameters and names is implementation-dependent. Example: define + * api key for all methods system_parameters rules: - + * selector: "*" parameters: - name: api_key + * url_query_parameter: api_key Example: define 2 api key names for a + * specific method. system_parameters rules: - selector: + * "/ListShelves" parameters: - name: + * api_key http_header: Api-Key1 - name: api_key + * http_header: Api-Key2 **NOTE:** All service configuration rules follow + * "last one wins" order. + */ + rules?: Schema$SystemParameterRule[]; + } + /** + * Representation of a tenancy unit. + */ + interface Schema$TenancyUnit { + /** + * @OutputOnly Cloud resource name of the consumer of this service. For + * example 'projects/123456'. + */ + consumer?: string; + /** + * @OutputOnly The time this tenancy unit was created. + */ + createTime?: string; + /** + * Globally unique identifier of this tenancy unit + * "services/{service}/{collection id}/{resource + * id}/tenancyUnits/{unit}" + */ + name?: string; + /** + * @OutputOnly Google Cloud API name of the service owning this tenancy + * unit. For example 'serviceconsumermanagement.googleapis.com'. + */ + service?: string; + /** + * Resources constituting the tenancy unit. There can be at most 512 tenant + * resources in a tenancy unit. + */ + tenantResources?: Schema$TenantResource[]; + } + /** + * This structure defines a tenant project to be added to the specified + * tenancy unit and its initial configuration and properties. A project lien + * will be created for the tenant project to prevent the tenant project from + * being deleted accidentally. The lien will be deleted as part of tenant + * project removal. + */ + interface Schema$TenantProjectConfig { + /** + * Billing account properties. Billing account must be specified. + */ + billingConfig?: Schema$BillingConfig; + /** + * Folder where project in this tenancy unit must be located This folder + * must have been previously created with proper permissions for the caller + * to create and configure a project in it. Valid folder resource names have + * the format `folders/{folder_number}` (for example, `folders/123456`). + */ + folder?: string; + /** + * Labels that will be applied to this project. + */ + labels?: any; + /** + * Configuration for IAM service account on tenant project. + */ + serviceAccountConfig?: Schema$ServiceAccountConfig; + /** + * Google Cloud API names of services that will be activated on this project + * during provisioning. If any of these services can not be activated, + * request will fail. For example: + * 'compute.googleapis.com','cloudfunctions.googleapis.com' + */ + services?: string[]; + /** + * Describes ownership and policies for the new tenant project. Required. + */ + tenantProjectPolicy?: Schema$TenantProjectPolicy; + } + /** + * Describes policy settings that need to be applied to a newly created tenant + * project. + */ + interface Schema$TenantProjectPolicy { + /** + * Policy bindings to be applied to the tenant project, in addition to the + * 'roles/owner' role granted to the Service Consumer Management + * service account. At least one binding must have the role `roles/owner`. + * Among the list of members for `roles/owner`, at least one of them must be + * either `user` or `group` type. + */ + policyBindings?: Schema$PolicyBinding[]; + } + /** + * Resource constituting the TenancyUnit. + */ + interface Schema$TenantResource { + /** + * @OutputOnly Identifier of the tenant resource. For cloud projects, it is + * in the form 'projects/{number}'. For example + * 'projects/123456'. + */ + resource?: string; + /** + * Status of tenant resource. + */ + status?: string; + /** + * Unique per single tenancy unit. + */ + tag?: string; + } + /** + * A protocol buffer message type. + */ + interface Schema$Type { + /** + * The list of fields. + */ + fields?: Schema$Field[]; + /** + * The fully qualified message name. + */ + name?: string; + /** + * The list of types appearing in `oneof` definitions in this type. + */ + oneofs?: string[]; + /** + * The protocol buffer options. + */ + options?: Schema$Option[]; + /** + * The source context. + */ + sourceContext?: Schema$SourceContext; + /** + * The source syntax. + */ + syntax?: string; + } + /** + * Configuration controlling usage of a service. + */ + interface Schema$Usage { + /** + * The full resource name of a channel used for sending notifications to the + * service producer. Google Service Management currently only supports + * [Google Cloud Pub/Sub](https://cloud.google.com/pubsub) as a notification + * channel. To use Google Cloud Pub/Sub as the channel, this must be the + * name of a Cloud Pub/Sub topic that uses the Cloud Pub/Sub topic name + * format documented in https://cloud.google.com/pubsub/docs/overview. + */ + producerNotificationChannel?: string; + /** + * Requirements that must be satisfied before a consumer project can use the + * service. Each requirement is of the form + * <service.name>/<requirement-id>; for example + * 'serviceusage.googleapis.com/billing-enabled'. + */ + requirements?: string[]; + /** + * A list of usage rules that apply to individual API methods. **NOTE:** + * All service configuration rules follow "last one wins" order. + */ + rules?: Schema$UsageRule[]; + } + /** + * Usage configuration rules for the service. NOTE: Under development. Use + * this rule to configure unregistered calls for the service. Unregistered + * calls are calls that do not contain consumer project identity. (Example: + * calls that do not contain an API key). By default, API methods do not allow + * unregistered calls, and each method call must be identified by a consumer + * project identity. Use this rule to allow/disallow unregistered calls. + * Example of an API that wants to allow unregistered calls for entire + * service. usage: rules: - selector: "*" + * allow_unregistered_calls: true Example of a method that wants to allow + * unregistered calls. usage: rules: - selector: + * "google.example.library.v1.LibraryService.CreateBook" + * allow_unregistered_calls: true + */ + interface Schema$UsageRule { + /** + * If true, the selected method allows unregistered calls, e.g. calls that + * don't identify any user or application. + */ + allowUnregisteredCalls?: boolean; + /** + * Selects the methods to which this rule applies. Use '*' to + * indicate all methods in all APIs. Refer to selector for syntax details. + */ + selector?: string; + /** + * If true, the selected method should skip service control and the control + * plane features, such as quota and billing, will not be available. This + * flag is used by Google Cloud Endpoints to bypass checks for internal + * methods, such as service health check methods. + */ + skipServiceControl?: boolean; + } + class Resource$Operations { + root: Serviceconsumermanagement; + constructor(root: Serviceconsumermanagement); + getRoot(): Serviceconsumermanagement; + /** + * serviceconsumermanagement.operations.cancel + * @desc Starts asynchronous cancellation on a long-running operation. The + * server makes a best effort to cancel the operation, but success is not + * guaranteed. If the server doesn't support this method, it returns + * `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation + * or other methods to check whether the cancellation succeeded or whether + * the operation completed despite cancellation. On successful cancellation, + * the operation is not deleted; instead, it becomes an operation with an + * Operation.error value with a google.rpc.Status.code of 1, corresponding + * to `Code.CANCELLED`. + * @alias serviceconsumermanagement.operations.cancel + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource to be cancelled. + * @param {().CancelOperationRequest} 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 + */ + cancel(params?: Params$Resource$Operations$Cancel, options?: MethodOptions): AxiosPromise; + cancel(params: Params$Resource$Operations$Cancel, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + cancel(params: Params$Resource$Operations$Cancel, callback: BodyResponseCallback): void; + cancel(callback: BodyResponseCallback): void; + /** + * serviceconsumermanagement.operations.delete + * @desc Deletes a long-running operation. This method indicates that the + * client is no longer interested in the operation result. It does not + * cancel the operation. If the server doesn't support this method, it + * returns `google.rpc.Code.UNIMPLEMENTED`. + * @alias serviceconsumermanagement.operations.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource to be deleted. + * @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?: Params$Resource$Operations$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Operations$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Operations$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * serviceconsumermanagement.operations.get + * @desc Gets the latest state of a long-running operation. Clients can use + * this method to poll the operation result at intervals as recommended by + * the API service. + * @alias serviceconsumermanagement.operations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource. + * @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?: Params$Resource$Operations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Operations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Operations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * serviceconsumermanagement.operations.list + * @desc Lists operations that match the specified filter in the request. If + * the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: + * the `name` binding allows API services to override the binding to use + * different resource name schemes, such as `users/x/operations`. To + * override the binding, API services can add a binding such as + * `"/v1/{name=users/x}/operations"` to their service configuration. For + * backwards compatibility, the default name includes the operations + * collection id, however overriding users must ensure the name binding is + * the parent resource, without the operations collection id. + * @alias serviceconsumermanagement.operations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter The standard list filter. + * @param {string} params.name The name of the operation's parent resource. + * @param {integer=} params.pageSize The standard list page size. + * @param {string=} params.pageToken The standard list page token. + * @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?: Params$Resource$Operations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Operations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Operations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Operations$Cancel { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource to be cancelled. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CancelOperationRequest; + } + interface Params$Resource$Operations$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource to be deleted. + */ + name?: string; + } + interface Params$Resource$Operations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource. + */ + name?: string; + } + interface Params$Resource$Operations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The standard list filter. + */ + filter?: string; + /** + * The name of the operation's parent resource. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } + class Resource$Services { + root: Serviceconsumermanagement; + tenancyUnits: Resource$Services$Tenancyunits; + constructor(root: Serviceconsumermanagement); + getRoot(): Serviceconsumermanagement; + /** + * serviceconsumermanagement.services.search + * @desc Search tenancy units for a service. + * @alias serviceconsumermanagement.services.search + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize The maximum number of results returned by this request. Currently, the default maximum is set to 1000. If page_size is not provided or the size provided is a number larger than 1000, it will be automatically set to 1000. Optional. + * @param {string=} params.pageToken The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of `nextPageToken` from the previous response. Optional. + * @param {string} params.parent Service for which search is performed. services/{service} {service} the name of a service, for example 'service.googleapis.com'. + * @param {string=} params.query Set a query `{expression}` for querying tenancy units. Your `{expression}` must be in the format: `field_name=literal_string`. The `field_name` is the name of the field you want to compare. Supported fields are `tenant_resources.tag` and `tenant_resources.resource`. For example, to search tenancy units that contain at least one tenant resource with given tag 'xyz', use query `tenant_resources.tag=xyz`. To search tenancy units that contain at least one tenant resource with given resource name 'projects/123456', use query `tenant_resources.resource=projects/123456`. Multiple expressions can be joined with `AND`s. Tenancy units must match all expressions to be included in the result set. For example, `tenant_resources.tag=xyz AND tenant_resources.resource=projects/123456` Optional. + * @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 + */ + search(params?: Params$Resource$Services$Search, options?: MethodOptions): AxiosPromise; + search(params: Params$Resource$Services$Search, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + search(params: Params$Resource$Services$Search, callback: BodyResponseCallback): void; + search(callback: BodyResponseCallback): void; + } + interface Params$Resource$Services$Search { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The maximum number of results returned by this request. Currently, the + * default maximum is set to 1000. If page_size is not provided or the size + * provided is a number larger than 1000, it will be automatically set to + * 1000. Optional. + */ + pageSize?: number; + /** + * The continuation token, which is used to page through large result sets. + * To get the next page of results, set this parameter to the value of + * `nextPageToken` from the previous response. Optional. + */ + pageToken?: string; + /** + * Service for which search is performed. services/{service} {service} the + * name of a service, for example 'service.googleapis.com'. + */ + parent?: string; + /** + * Set a query `{expression}` for querying tenancy units. Your + * `{expression}` must be in the format: `field_name=literal_string`. The + * `field_name` is the name of the field you want to compare. Supported + * fields are `tenant_resources.tag` and `tenant_resources.resource`. For + * example, to search tenancy units that contain at least one tenant + * resource with given tag 'xyz', use query `tenant_resources.tag=xyz`. To + * search tenancy units that contain at least one tenant resource with given + * resource name 'projects/123456', use query + * `tenant_resources.resource=projects/123456`. Multiple expressions can be + * joined with `AND`s. Tenancy units must match all expressions to be + * included in the result set. For example, `tenant_resources.tag=xyz AND + * tenant_resources.resource=projects/123456` Optional. + */ + query?: string; + } + class Resource$Services$Tenancyunits { + root: Serviceconsumermanagement; + constructor(root: Serviceconsumermanagement); + getRoot(): Serviceconsumermanagement; + /** + * serviceconsumermanagement.services.tenancyUnits.addProject + * @desc Add a new tenant project to the tenancy unit. There can be at most + * 512 tenant projects in a tenancy unit. If there are previously failed + * `AddTenantProject` calls, you might need to call `RemoveTenantProject` + * first to clean them before you can make another `AddTenantProject` with + * the same tag. Operation. + * @alias serviceconsumermanagement.services.tenancyUnits.addProject + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Name of the tenancy unit. + * @param {().AddTenantProjectRequest} 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 + */ + addProject(params?: Params$Resource$Services$Tenancyunits$Addproject, options?: MethodOptions): AxiosPromise; + addProject(params: Params$Resource$Services$Tenancyunits$Addproject, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + addProject(params: Params$Resource$Services$Tenancyunits$Addproject, callback: BodyResponseCallback): void; + addProject(callback: BodyResponseCallback): void; + /** + * serviceconsumermanagement.services.tenancyUnits.create + * @desc Creates a tenancy unit with no tenant resources. + * @alias serviceconsumermanagement.services.tenancyUnits.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent services/{service}/{collection id}/{resource id} {collection id} is the cloud resource collection type representing the service consumer, for example 'projects', or 'organizations'. {resource id} is the consumer numeric id, such as project number: '123456'. {service} the name of a service, for example 'service.googleapis.com'. Enabled service binding using the new tenancy unit. + * @param {().CreateTenancyUnitRequest} 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 + */ + create(params?: Params$Resource$Services$Tenancyunits$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Services$Tenancyunits$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Services$Tenancyunits$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * serviceconsumermanagement.services.tenancyUnits.delete + * @desc Delete a tenancy unit. Before the tenancy unit is deleted, there + * should be no tenant resources in it. Operation. + * @alias serviceconsumermanagement.services.tenancyUnits.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Name of the tenancy unit to be deleted. + * @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?: Params$Resource$Services$Tenancyunits$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Services$Tenancyunits$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Services$Tenancyunits$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * serviceconsumermanagement.services.tenancyUnits.list + * @desc Find the tenancy unit for a service and consumer. This method + * should not be used in producers' runtime path, for example finding the + * tenant project number when creating VMs. Producers should persist the + * tenant project information after the project is created. + * @alias serviceconsumermanagement.services.tenancyUnits.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter Filter expression over tenancy resources field. Optional. + * @param {integer=} params.pageSize The maximum number of results returned by this request. + * @param {string=} params.pageToken The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of `nextPageToken` from the previous response. + * @param {string} params.parent Service and consumer. Required. services/{service}/{collection id}/{resource id} {collection id} is the cloud resource collection type representing the service consumer, for example 'projects', or 'organizations'. {resource id} is the consumer numeric id, such as project number: '123456'. {service} the name of a service, for example 'service.googleapis.com'. + * @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?: Params$Resource$Services$Tenancyunits$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Services$Tenancyunits$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Services$Tenancyunits$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * serviceconsumermanagement.services.tenancyUnits.removeProject + * @desc Removes specified project resource identified by tenant resource + * tag. It will remove project lien with 'TenantManager' origin if that was + * added. It will then attempt to delete the project. If that operation + * fails, this method fails. Operation. + * @alias serviceconsumermanagement.services.tenancyUnits.removeProject + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Name of the tenancy unit. Such as 'services/service.googleapis.com/projects/12345/tenancyUnits/abcd'. + * @param {().RemoveTenantProjectRequest} 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 + */ + removeProject(params?: Params$Resource$Services$Tenancyunits$Removeproject, options?: MethodOptions): AxiosPromise; + removeProject(params: Params$Resource$Services$Tenancyunits$Removeproject, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + removeProject(params: Params$Resource$Services$Tenancyunits$Removeproject, callback: BodyResponseCallback): void; + removeProject(callback: BodyResponseCallback): void; + } + interface Params$Resource$Services$Tenancyunits$Addproject { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the tenancy unit. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AddTenantProjectRequest; + } + interface Params$Resource$Services$Tenancyunits$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * services/{service}/{collection id}/{resource id} {collection id} is the + * cloud resource collection type representing the service consumer, for + * example 'projects', or 'organizations'. {resource id} is the consumer + * numeric id, such as project number: '123456'. {service} the name of a + * service, for example 'service.googleapis.com'. Enabled service binding + * using the new tenancy unit. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreateTenancyUnitRequest; + } + interface Params$Resource$Services$Tenancyunits$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the tenancy unit to be deleted. + */ + name?: string; + } + interface Params$Resource$Services$Tenancyunits$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Filter expression over tenancy resources field. Optional. + */ + filter?: string; + /** + * The maximum number of results returned by this request. + */ + pageSize?: number; + /** + * The continuation token, which is used to page through large result sets. + * To get the next page of results, set this parameter to the value of + * `nextPageToken` from the previous response. + */ + pageToken?: string; + /** + * Service and consumer. Required. services/{service}/{collection + * id}/{resource id} {collection id} is the cloud resource collection type + * representing the service consumer, for example 'projects', or + * 'organizations'. {resource id} is the consumer numeric id, such as + * project number: '123456'. {service} the name of a service, for example + * 'service.googleapis.com'. + */ + parent?: string; + } + interface Params$Resource$Services$Tenancyunits$Removeproject { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the tenancy unit. Such as + * 'services/service.googleapis.com/projects/12345/tenancyUnits/abcd'. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RemoveTenantProjectRequest; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/serviceconsumermanagement/v1.js b/express-server/node_modules/googleapis/build/src/apis/serviceconsumermanagement/v1.js new file mode 100644 index 00000000..f4dbc139 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/serviceconsumermanagement/v1.js @@ -0,0 +1,404 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var serviceconsumermanagement_v1; +(function (serviceconsumermanagement_v1) { + /** + * Service Consumer Management API + * + * Provides management methods for configuring service producer resources on + * Google Cloud. + * + * @example + * const {google} = require('googleapis'); + * const serviceconsumermanagement = google.serviceconsumermanagement('v1'); + * + * @namespace serviceconsumermanagement + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Serviceconsumermanagement + */ + class Serviceconsumermanagement { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.operations = new Resource$Operations(this); + this.services = new Resource$Services(this); + } + getRoot() { + return this.root; + } + } + serviceconsumermanagement_v1.Serviceconsumermanagement = Serviceconsumermanagement; + class Resource$Operations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + cancel(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || + 'https://serviceconsumermanagement.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:cancel') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || + 'https://serviceconsumermanagement.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || + 'https://serviceconsumermanagement.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || + 'https://serviceconsumermanagement.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + serviceconsumermanagement_v1.Resource$Operations = Resource$Operations; + class Resource$Services { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.tenancyUnits = new Resource$Services$Tenancyunits(root); + } + getRoot() { + return this.root; + } + search(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || + 'https://serviceconsumermanagement.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}:search') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + serviceconsumermanagement_v1.Resource$Services = Resource$Services; + class Resource$Services$Tenancyunits { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + addProject(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || + 'https://serviceconsumermanagement.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}:addProject') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || + 'https://serviceconsumermanagement.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/tenancyUnits') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || + 'https://serviceconsumermanagement.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || + 'https://serviceconsumermanagement.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/tenancyUnits') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + removeProject(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || + 'https://serviceconsumermanagement.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:removeProject') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + serviceconsumermanagement_v1.Resource$Services$Tenancyunits = Resource$Services$Tenancyunits; +})(serviceconsumermanagement_v1 = exports.serviceconsumermanagement_v1 || (exports.serviceconsumermanagement_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/serviceconsumermanagement/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/serviceconsumermanagement/v1.js.map new file mode 100644 index 00000000..04763ed8 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/serviceconsumermanagement/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/serviceconsumermanagement/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/servicecontrol/README.md b/express-server/node_modules/googleapis/build/src/apis/servicecontrol/README.md new file mode 100644 index 00000000..50da02af --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/servicecontrol/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/servicecontrol + +> Google Service Control provides control plane functionality to managed services, such as logging, monitoring, and status checks. + +## Installation + +```sh +$ npm install @google/servicecontrol +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/servicecontrol/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/servicecontrol/index.d.ts new file mode 100644 index 00000000..d096f783 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/servicecontrol/index.d.ts @@ -0,0 +1,6 @@ +import { servicecontrol_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof servicecontrol_v1.Servicecontrol; +}; +export declare function servicecontrol(version: 'v1'): servicecontrol_v1.Servicecontrol; +export declare function servicecontrol(options: servicecontrol_v1.Options): servicecontrol_v1.Servicecontrol; diff --git a/express-server/node_modules/googleapis/build/src/apis/servicecontrol/index.js b/express-server/node_modules/googleapis/build/src/apis/servicecontrol/index.js new file mode 100644 index 00000000..87125c85 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/servicecontrol/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.servicecontrol_v1.Servicecontrol, +}; +function servicecontrol(versionOrOptions) { + return googleapis_common_1.getAPI('servicecontrol', versionOrOptions, exports.VERSIONS, this); +} +exports.servicecontrol = servicecontrol; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/servicecontrol/index.js.map b/express-server/node_modules/googleapis/build/src/apis/servicecontrol/index.js.map new file mode 100644 index 00000000..996ff7a6 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/servicecontrol/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/servicecontrol/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAuC;AAE1B,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,sBAAiB,CAAC,cAAc;CACvC,CAAC;AAKF,SAAgB,cAAc,CAE1B,gBAAgD;IAClD,OAAO,0BAAM,CAAI,gBAAgB,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACvE,CAAC;AAJD,wCAIC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/servicecontrol/package.json b/express-server/node_modules/googleapis/build/src/apis/servicecontrol/package.json new file mode 100644 index 00000000..4c7e73d3 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/servicecontrol/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/servicecontrol", + "version": "0.1.0", + "description": "servicecontrol", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/servicecontrol/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/servicecontrol/v1.d.ts new file mode 100644 index 00000000..5fc46500 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/servicecontrol/v1.d.ts @@ -0,0 +1,1757 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace servicecontrol_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Service Control API + * + * Google Service Control provides control plane functionality to managed + * services, such as logging, monitoring, and status checks. + * + * @example + * const {google} = require('googleapis'); + * const servicecontrol = google.servicecontrol('v1'); + * + * @namespace servicecontrol + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Servicecontrol + */ + class Servicecontrol { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + services: Resource$Services; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + interface Schema$AllocateInfo { + /** + * A list of label keys that were unused by the server in processing the + * request. Thus, for similar requests repeated in a certain future time + * window, the caller can choose to ignore these labels in the requests to + * achieve better client-side cache hits and quota aggregation. + */ + unusedArguments?: string[]; + } + /** + * Request message for the AllocateQuota method. + */ + interface Schema$AllocateQuotaRequest { + /** + * Operation that describes the quota allocation. + */ + allocateOperation?: Schema$QuotaOperation; + /** + * Specifies which version of service configuration should be used to + * process the request. If unspecified or no matching version can be found, + * the latest one will be used. + */ + serviceConfigId?: string; + } + /** + * Response message for the AllocateQuota method. + */ + interface Schema$AllocateQuotaResponse { + /** + * Indicates the decision of the allocate. + */ + allocateErrors?: Schema$QuotaError[]; + /** + * WARNING: DO NOT use this field until this warning message is removed. + */ + allocateInfo?: Schema$AllocateInfo; + /** + * The same operation_id value used in the AllocateQuotaRequest. Used for + * logging and diagnostics purposes. + */ + operationId?: string; + /** + * Quota metrics to indicate the result of allocation. Depending on the + * request, one or more of the following metrics will be included: 1. Per + * quota group or per quota metric incremental usage will be specified using + * the following delta metric : + * "serviceruntime.googleapis.com/api/consumer/quota_used_count" + * 2. The quota limit reached condition will be specified using the + * following boolean metric : + * "serviceruntime.googleapis.com/quota/exceeded" + */ + quotaMetrics?: Schema$MetricValueSet[]; + /** + * ID of the actual config used to process the request. + */ + serviceConfigId?: string; + } + /** + * Common audit log format for Google Cloud Platform API operations. + */ + interface Schema$AuditLog { + /** + * Authentication information. + */ + authenticationInfo?: Schema$AuthenticationInfo; + /** + * Authorization information. If there are multiple resources or permissions + * involved, then there is one AuthorizationInfo element for each {resource, + * permission} tuple. + */ + authorizationInfo?: Schema$AuthorizationInfo[]; + /** + * Other service-specific data about the request, response, and other + * information associated with the current audited event. + */ + metadata?: any; + /** + * The name of the service method or operation. For API calls, this should + * be the name of the API method. For example, + * "google.datastore.v1.Datastore.RunQuery" + * "google.logging.v1.LoggingService.DeleteLog" + */ + methodName?: string; + /** + * The number of items returned from a List or Query API method, if + * applicable. + */ + numResponseItems?: string; + /** + * The operation request. This may not include all request parameters, such + * as those that are too large, privacy-sensitive, or duplicated elsewhere + * in the log record. It should never include user-generated data, such as + * file contents. When the JSON object represented here has a proto + * equivalent, the proto name will be indicated in the `@type` property. + */ + request?: any; + /** + * Metadata about the operation. + */ + requestMetadata?: Schema$RequestMetadata; + /** + * The resource location information. + */ + resourceLocation?: Schema$ResourceLocation; + /** + * The resource or collection that is the target of the operation. The name + * is a scheme-less URI, not including the API service name. For example: + * "shelves/SHELF_ID/books" + * "shelves/SHELF_ID/books/BOOK_ID" + */ + resourceName?: string; + /** + * The resource's original state before mutation. Present only for + * operations which have successfully modified the targeted resource(s). In + * general, this field should contain all changed fields, except those that + * are already been included in `request`, `response`, `metadata` or + * `service_data` fields. When the JSON object represented here has a proto + * equivalent, the proto name will be indicated in the `@type` property. + */ + resourceOriginalState?: any; + /** + * The operation response. This may not include all response elements, such + * as those that are too large, privacy-sensitive, or duplicated elsewhere + * in the log record. It should never include user-generated data, such as + * file contents. When the JSON object represented here has a proto + * equivalent, the proto name will be indicated in the `@type` property. + */ + response?: any; + /** + * Deprecated, use `metadata` field instead. Other service-specific data + * about the request, response, and other activities. + */ + serviceData?: any; + /** + * The name of the API service performing the operation. For example, + * `"datastore.googleapis.com"`. + */ + serviceName?: string; + /** + * The status of the overall operation. + */ + status?: Schema$Status; + } + /** + * This message defines request authentication attributes. Terminology is + * based on the JSON Web Token (JWT) standard, but the terms also correlate to + * concepts in other standards. + */ + interface Schema$Auth { + /** + * A list of access level resource names that allow resources to be accessed + * by authenticated requester. It is part of Secure GCP processing for the + * incoming request. An access level string has the format: + * "//{api_service_name}/accessPolicies/{policy_id}/accessLevels/{short_name}" + * Example: + * "//accesscontextmanager.googleapis.com/accessPolicies/MY_POLICY_ID/accessLevels/MY_LEVEL" + */ + accessLevels?: string[]; + /** + * The intended audience(s) for this authentication information. Reflects + * the audience (`aud`) claim within a JWT. The audience value(s) depends on + * the `issuer`, but typically include one or more of the following pieces + * of information: * The services intended to receive the credential such + * as ["pubsub.googleapis.com", + * "storage.googleapis.com"] * A set of service-based scopes. For + * example, ["https://www.googleapis.com/auth/cloud-platform"] + * * The client id of an app, such as the Firebase project id for JWTs from + * Firebase Auth. Consult the documentation for the credential issuer to + * determine the information provided. + */ + audiences?: string[]; + /** + * Structured claims presented with the credential. JWTs include `{key: + * value}` pairs for standard and private claims. The following is a subset + * of the standard required and optional claims that would typically be + * presented for a Google-based JWT: {'iss': + * 'accounts.google.com', 'sub': + * '113289723416554971153', 'aud': + * ['123456789012', 'pubsub.googleapis.com'], 'azp': + * '123456789012.apps.googleusercontent.com', 'email': + * 'jsmith@example.com', 'iat': 1353601026, + * 'exp': 1353604926} SAML assertions are similarly specified, but + * with an identity provider dependent structure. + */ + claims?: any; + /** + * The authorized presenter of the credential. Reflects the optional + * Authorized Presenter (`azp`) claim within a JWT or the OAuth client id. + * For example, a Google Cloud Platform client id looks as follows: + * "123456789012.apps.googleusercontent.com". + */ + presenter?: string; + /** + * The authenticated principal. Reflects the issuer (`iss`) and subject + * (`sub`) claims within a JWT. The issuer and subject should be `/` + * delimited, with `/` percent-encoded within the subject fragment. For + * Google accounts, the principal format is: + * "https://accounts.google.com/{id}" + */ + principal?: string; + } + /** + * Authentication information for the operation. + */ + interface Schema$AuthenticationInfo { + /** + * The authority selector specified by the requestor, if any. It is not + * guaranteed that the principal was allowed to use this authority. + */ + authoritySelector?: string; + /** + * The email address of the authenticated user (or service account on behalf + * of third party principal) making the request. For privacy reasons, the + * principal email address is redacted for all read-only operations that + * fail with a "permission denied" error. + */ + principalEmail?: string; + /** + * The third party identification (if any) of the authenticated user making + * the request. When the JSON object represented here has a proto + * equivalent, the proto name will be indicated in the `@type` property. + */ + thirdPartyPrincipal?: any; + } + /** + * Authorization information for the operation. + */ + interface Schema$AuthorizationInfo { + /** + * Whether or not authorization for `resource` and `permission` was granted. + */ + granted?: boolean; + /** + * The required IAM permission. + */ + permission?: string; + /** + * The resource being accessed, as a REST-style string. For example: + * bigquery.googleapis.com/projects/PROJECTID/datasets/DATASETID + */ + resource?: string; + /** + * Resource attributes used in IAM condition evaluation. This field contains + * resource attributes like resource type and resource name. To get the + * whole view of the attributes used in IAM condition evaluation, the user + * must also look into `AuditLog.request_metadata.request_attributes`. + */ + resourceAttributes?: Schema$Resource; + } + /** + * Defines the errors to be returned in + * google.api.servicecontrol.v1.CheckResponse.check_errors. + */ + interface Schema$CheckError { + /** + * The error code. + */ + code?: string; + /** + * Free-form text providing details on the error cause of the error. + */ + detail?: string; + /** + * Subject to whom this error applies. See the specific code enum for more + * details on this field. For example: - “project:<project-id or + * project-number>” - “folder:<folder-id>” - + * “organization:<organization-id>” + */ + subject?: string; + } + /** + * Contains additional information about the check operation. + */ + interface Schema$CheckInfo { + /** + * Consumer info of this check. + */ + consumerInfo?: Schema$ConsumerInfo; + /** + * A list of fields and label keys that are ignored by the server. The + * client doesn't need to send them for following requests to improve + * performance and allow better aggregation. + */ + unusedArguments?: string[]; + } + /** + * Request message for the Check method. + */ + interface Schema$CheckRequest { + /** + * The operation to be checked. + */ + operation?: Schema$Operation; + /** + * Requests the project settings to be returned as part of the check + * response. + */ + requestProjectSettings?: boolean; + /** + * Specifies which version of service configuration should be used to + * process the request. If unspecified or no matching version can be found, + * the latest one will be used. + */ + serviceConfigId?: string; + /** + * Indicates if service activation check should be skipped for this request. + * Default behavior is to perform the check and apply relevant quota. + */ + skipActivationCheck?: boolean; + } + /** + * Response message for the Check method. + */ + interface Schema$CheckResponse { + /** + * Indicate the decision of the check. If no check errors are present, the + * service should process the operation. Otherwise the service should use + * the list of errors to determine the appropriate action. + */ + checkErrors?: Schema$CheckError[]; + /** + * Feedback data returned from the server during processing a Check request. + */ + checkInfo?: Schema$CheckInfo; + /** + * The same operation_id value used in the CheckRequest. Used for logging + * and diagnostics purposes. + */ + operationId?: string; + /** + * Quota information for the check request associated with this response. + */ + quotaInfo?: Schema$QuotaInfo; + /** + * The actual config id used to process the request. + */ + serviceConfigId?: string; + } + /** + * `ConsumerInfo` provides information about the consumer project. + */ + interface Schema$ConsumerInfo { + /** + * The Google cloud project number, e.g. 1234567890. A value of 0 indicates + * no project number is found. + */ + projectNumber?: string; + } + /** + * Distribution represents a frequency distribution of double-valued sample + * points. It contains the size of the population of sample points plus + * additional optional information: - the arithmetic mean of the samples - + * the minimum and maximum of the samples - the sum-squared-deviation of the + * samples, used to compute variance - a histogram of the values of the + * sample points + */ + interface Schema$Distribution { + /** + * The number of samples in each histogram bucket. `bucket_counts` are + * optional. If present, they must sum to the `count` value. The buckets + * are defined below in `bucket_option`. There are N buckets. + * `bucket_counts[0]` is the number of samples in the underflow bucket. + * `bucket_counts[1]` to `bucket_counts[N-1]` are the numbers of samples in + * each of the finite buckets. And `bucket_counts[N] is the number of + * samples in the overflow bucket. See the comments of `bucket_option` below + * for more details. Any suffix of trailing zeros may be omitted. + */ + bucketCounts?: string[]; + /** + * The total number of samples in the distribution. Must be >= 0. + */ + count?: string; + /** + * Buckets with arbitrary user-provided width. + */ + explicitBuckets?: Schema$ExplicitBuckets; + /** + * Buckets with exponentially growing width. + */ + exponentialBuckets?: Schema$ExponentialBuckets; + /** + * Buckets with constant width. + */ + linearBuckets?: Schema$LinearBuckets; + /** + * The maximum of the population of values. Ignored if `count` is zero. + */ + maximum?: number; + /** + * The arithmetic mean of the samples in the distribution. If `count` is + * zero then this field must be zero. + */ + mean?: number; + /** + * The minimum of the population of values. Ignored if `count` is zero. + */ + minimum?: number; + /** + * The sum of squared deviations from the mean: Sum[i=1..count]((x_i - + * mean)^2) where each x_i is a sample values. If `count` is zero then this + * field must be zero, otherwise validation of the request fails. + */ + sumOfSquaredDeviation?: number; + } + /** + * Request message for QuotaController.EndReconciliation. + */ + interface Schema$EndReconciliationRequest { + /** + * Operation that describes the quota reconciliation. + */ + reconciliationOperation?: Schema$QuotaOperation; + /** + * Specifies which version of service configuration should be used to + * process the request. If unspecified or no matching version can be found, + * the latest one will be used. + */ + serviceConfigId?: string; + } + /** + * Response message for QuotaController.EndReconciliation. + */ + interface Schema$EndReconciliationResponse { + /** + * The same operation_id value used in the EndReconciliationRequest. Used + * for logging and diagnostics purposes. + */ + operationId?: string; + /** + * Metric values as tracked by One Platform before the adjustment was made. + * The following metrics will be included: 1. Per quota metric total usage + * will be specified using the following gauge metric: + * "serviceruntime.googleapis.com/allocation/consumer/quota_used_count" + * 2. Value for each quota limit associated with the metrics will be + * specified using the following gauge metric: + * "serviceruntime.googleapis.com/quota/limit" 3. Delta value of + * the usage after the reconciliation for limits associated with the metrics + * will be specified using the following metric: + * "serviceruntime.googleapis.com/allocation/reconciliation_delta" + * The delta value is defined as: new_usage_from_client - + * existing_value_in_spanner. This metric is not defined in + * serviceruntime.yaml or in Cloud Monarch. This metric is meant for + * callers' use only. Since this metric is not defined in the monitoring + * backend, reporting on this metric will result in an error. + */ + quotaMetrics?: Schema$MetricValueSet[]; + /** + * Indicates the decision of the reconciliation end. + */ + reconciliationErrors?: Schema$QuotaError[]; + /** + * ID of the actual config used to process the request. + */ + serviceConfigId?: string; + } + /** + * Describing buckets with arbitrary user-provided width. + */ + interface Schema$ExplicitBuckets { + /** + * 'bound' is a list of strictly increasing boundaries between + * buckets. Note that a list of length N-1 defines N buckets because of + * fenceposting. See comments on `bucket_options` for details. The i'th + * finite bucket covers the interval [bound[i-1], bound[i]) where i ranges + * from 1 to bound_size() - 1. Note that there are no finite buckets at all + * if 'bound' only contains a single element; in that special case + * the single bound defines the boundary between the underflow and overflow + * buckets. bucket number lower bound upper bound i + * == 0 (underflow) -inf bound[i] 0 < i < + * bound_size() bound[i-1] bound[i] i == bound_size() + * (overflow) bound[i-1] +inf + */ + bounds?: number[]; + } + /** + * Describing buckets with exponentially growing width. + */ + interface Schema$ExponentialBuckets { + /** + * The i'th exponential bucket covers the interval [scale * + * growth_factor^(i-1), scale * growth_factor^i) where i ranges from 1 to + * num_finite_buckets inclusive. Must be larger than 1.0. + */ + growthFactor?: number; + /** + * The number of finite buckets. With the underflow and overflow buckets, + * the total number of buckets is `num_finite_buckets` + 2. See comments on + * `bucket_options` for details. + */ + numFiniteBuckets?: number; + /** + * The i'th exponential bucket covers the interval [scale * + * growth_factor^(i-1), scale * growth_factor^i) where i ranges from 1 to + * num_finite_buckets inclusive. Must be > 0. + */ + scale?: number; + } + /** + * A common proto for logging HTTP requests. Only contains semantics defined + * by the HTTP specification. Product-specific logging information MUST be + * defined in a separate message. + */ + interface Schema$HttpRequest { + /** + * The number of HTTP response bytes inserted into cache. Set only when a + * cache fill was attempted. + */ + cacheFillBytes?: string; + /** + * Whether or not an entity was served from cache (with or without + * validation). + */ + cacheHit?: boolean; + /** + * Whether or not a cache lookup was attempted. + */ + cacheLookup?: boolean; + /** + * Whether or not the response was validated with the origin server before + * being served from cache. This field is only meaningful if `cache_hit` is + * True. + */ + cacheValidatedWithOriginServer?: boolean; + /** + * The request processing latency on the server, from the time the request + * was received until the response was sent. + */ + latency?: string; + /** + * Protocol used for the request. Examples: "HTTP/1.1", + * "HTTP/2", "websocket" + */ + protocol?: string; + /** + * The referer URL of the request, as defined in [HTTP/1.1 Header Field + * Definitions](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html). + */ + referer?: string; + /** + * The IP address (IPv4 or IPv6) of the client that issued the HTTP request. + * Examples: `"192.168.1.1"`, + * `"FE80::0202:B3FF:FE1E:8329"`. + */ + remoteIp?: string; + /** + * The request method. Examples: `"GET"`, `"HEAD"`, + * `"PUT"`, `"POST"`. + */ + requestMethod?: string; + /** + * The size of the HTTP request message in bytes, including the request + * headers and the request body. + */ + requestSize?: string; + /** + * The scheme (http, https), the host name, the path, and the query portion + * of the URL that was requested. Example: + * `"http://example.com/some/info?color=red"`. + */ + requestUrl?: string; + /** + * The size of the HTTP response message sent back to the client, in bytes, + * including the response headers and the response body. + */ + responseSize?: string; + /** + * The IP address (IPv4 or IPv6) of the origin server that the request was + * sent to. + */ + serverIp?: string; + /** + * The response code indicating the status of the response. Examples: 200, + * 404. + */ + status?: number; + /** + * The user agent sent by the client. Example: `"Mozilla/4.0 + * (compatible; MSIE 6.0; Windows 98; Q312461; .NET CLR 1.0.3705)"`. + */ + userAgent?: string; + } + /** + * Describing buckets with constant width. + */ + interface Schema$LinearBuckets { + /** + * The number of finite buckets. With the underflow and overflow buckets, + * the total number of buckets is `num_finite_buckets` + 2. See comments on + * `bucket_options` for details. + */ + numFiniteBuckets?: number; + /** + * The i'th linear bucket covers the interval [offset + (i-1) * width, + * offset + i * width) where i ranges from 1 to num_finite_buckets, + * inclusive. + */ + offset?: number; + /** + * The i'th linear bucket covers the interval [offset + (i-1) * width, + * offset + i * width) where i ranges from 1 to num_finite_buckets, + * inclusive. Must be strictly positive. + */ + width?: number; + } + /** + * An individual log entry. + */ + interface Schema$LogEntry { + /** + * Optional. Information about the HTTP request associated with this log + * entry, if applicable. + */ + httpRequest?: Schema$HttpRequest; + /** + * A unique ID for the log entry used for deduplication. If omitted, the + * implementation will generate one based on operation_id. + */ + insertId?: string; + /** + * A set of user-defined (key, value) data that provides additional + * information about the log entry. + */ + labels?: any; + /** + * Required. The log to which this log entry belongs. Examples: + * `"syslog"`, `"book_log"`. + */ + name?: string; + /** + * Optional. Information about an operation associated with the log entry, + * if applicable. + */ + operation?: Schema$LogEntryOperation; + /** + * The log entry payload, represented as a protocol buffer that is expressed + * as a JSON object. The only accepted type currently is AuditLog. + */ + protoPayload?: any; + /** + * The severity of the log entry. The default value is + * `LogSeverity.DEFAULT`. + */ + severity?: string; + /** + * The log entry payload, represented as a structure that is expressed as a + * JSON object. + */ + structPayload?: any; + /** + * The log entry payload, represented as a Unicode string (UTF-8). + */ + textPayload?: string; + /** + * The time the event described by the log entry occurred. If omitted, + * defaults to operation start time. + */ + timestamp?: string; + /** + * Optional. Resource name of the trace associated with the log entry, if + * any. If this field contains a relative resource name, you can assume the + * name is relative to `//tracing.googleapis.com`. Example: + * `projects/my-projectid/traces/06796866738c859f2f19b7cfb3214824` + */ + trace?: string; + } + /** + * Additional information about a potentially long-running operation with + * which a log entry is associated. + */ + interface Schema$LogEntryOperation { + /** + * Optional. Set this to True if this is the first log entry in the + * operation. + */ + first?: boolean; + /** + * Optional. An arbitrary operation identifier. Log entries with the same + * identifier are assumed to be part of the same operation. + */ + id?: string; + /** + * Optional. Set this to True if this is the last log entry in the + * operation. + */ + last?: boolean; + /** + * Optional. An arbitrary producer identifier. The combination of `id` and + * `producer` must be globally unique. Examples for `producer`: + * `"MyDivision.MyBigCompany.com"`, + * `"github.com/MyProject/MyApplication"`. + */ + producer?: string; + } + /** + * Represents a single metric value. + */ + interface Schema$MetricValue { + /** + * A boolean value. + */ + boolValue?: boolean; + /** + * A distribution value. + */ + distributionValue?: Schema$Distribution; + /** + * A double precision floating point value. + */ + doubleValue?: number; + /** + * The end of the time period over which this metric value's measurement + * applies. + */ + endTime?: string; + /** + * A signed 64-bit integer value. + */ + int64Value?: string; + /** + * The labels describing the metric value. See comments on + * google.api.servicecontrol.v1.Operation.labels for the overriding + * relationship. + */ + labels?: any; + /** + * A money value. + */ + moneyValue?: Schema$Money; + /** + * The start of the time period over which this metric value's + * measurement applies. The time period has different semantics for + * different metric types (cumulative, delta, and gauge). See the metric + * definition documentation in the service configuration for details. + */ + startTime?: string; + /** + * A text string value. + */ + stringValue?: string; + } + /** + * Represents a set of metric values in the same metric. Each metric value in + * the set should have a unique combination of start time, end time, and label + * values. + */ + interface Schema$MetricValueSet { + /** + * The metric name defined in the service configuration. + */ + metricName?: string; + /** + * The values in this metric. + */ + metricValues?: Schema$MetricValue[]; + } + /** + * Represents an amount of money with its currency type. + */ + interface Schema$Money { + /** + * The 3-letter currency code defined in ISO 4217. + */ + currencyCode?: string; + /** + * Number of nano (10^-9) units of the amount. The value must be between + * -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` + * must be positive or zero. If `units` is zero, `nanos` can be positive, + * zero, or negative. If `units` is negative, `nanos` must be negative or + * zero. For example $-1.75 is represented as `units`=-1 and + * `nanos`=-750,000,000. + */ + nanos?: number; + /** + * The whole units of the amount. For example if `currencyCode` is + * `"USD"`, then 1 unit is one US dollar. + */ + units?: string; + } + /** + * Represents information regarding an operation. + */ + interface Schema$Operation { + /** + * Identity of the consumer who is using the service. This field should be + * filled in for the operations initiated by a consumer, but not for + * service-initiated operations that are not related to a specific consumer. + * This can be in one of the following formats: project:<project_id>, + * project_number:<project_number>, api_key:<api_key>. + */ + consumerId?: string; + /** + * End time of the operation. Required when the operation is used in + * ServiceController.Report, but optional when the operation is used in + * ServiceController.Check. + */ + endTime?: string; + /** + * DO NOT USE. This is an experimental field. + */ + importance?: string; + /** + * Labels describing the operation. Only the following labels are allowed: + * - Labels describing monitored resources as defined in the service + * configuration. - Default labels of metric values. When specified, labels + * defined in the metric value override these default. - The following + * labels defined by Google Cloud Platform: - + * `cloud.googleapis.com/location` describing the location where the + * operation happened, - `servicecontrol.googleapis.com/user_agent` + * describing the user agent of the API request, - + * `servicecontrol.googleapis.com/service_agent` describing the service used + * to handle the API request (e.g. ESP), - + * `servicecontrol.googleapis.com/platform` describing the platform where + * the API is served, such as App Engine, Compute Engine, or Kubernetes + * Engine. + */ + labels?: any; + /** + * Represents information to be logged. + */ + logEntries?: Schema$LogEntry[]; + /** + * Represents information about this operation. Each MetricValueSet + * corresponds to a metric defined in the service configuration. The data + * type used in the MetricValueSet must agree with the data type specified + * in the metric definition. Within a single operation, it is not allowed + * to have more than one MetricValue instances that have the same metric + * names and identical label value combinations. If a request has such + * duplicated MetricValue instances, the entire request is rejected with an + * invalid argument error. + */ + metricValueSets?: Schema$MetricValueSet[]; + /** + * Identity of the operation. This must be unique within the scope of the + * service that generated the operation. If the service calls Check() and + * Report() on the same operation, the two calls should carry the same id. + * UUID version 4 is recommended, though not required. In scenarios where an + * operation is computed from existing information and an idempotent id is + * desirable for deduplication purpose, UUID version 5 is recommended. See + * RFC 4122 for details. + */ + operationId?: string; + /** + * Fully qualified name of the operation. Reserved for future use. + */ + operationName?: string; + /** + * Represents the properties needed for quota check. Applicable only if this + * operation is for a quota check request. If this is not specified, no + * quota check will be performed. + */ + quotaProperties?: Schema$QuotaProperties; + /** + * DO NOT USE. This field is deprecated, use "resources" field + * instead. The resource name of the parent of a resource in the resource + * hierarchy. This can be in one of the following formats: - + * “projects/<project-id or project-number>” - + * “folders/<folder-id>” - “organizations/<organization-id>” + */ + resourceContainer?: string; + /** + * The resources that are involved in the operation. The maximum supported + * number of entries in this field is 100. + */ + resources?: Schema$ResourceInfo[]; + /** + * Required. Start time of the operation. + */ + startTime?: string; + /** + * User defined labels for the resource that this operation is associated + * with. Only a combination of 1000 user labels per consumer project are + * allowed. + */ + userLabels?: any; + } + /** + * This message defines attributes for a node that handles a network request. + * The node can be either a service or an application that sends, forwards, or + * receives the request. Service peers should fill in the `service`, + * `principal`, and `labels` as appropriate. + */ + interface Schema$Peer { + /** + * The IP address of the peer. + */ + ip?: string; + /** + * The labels associated with the peer. + */ + labels?: any; + /** + * The network port of the peer. + */ + port?: string; + /** + * The identity of this peer. Similar to `Request.auth.principal`, but + * relative to the peer instead of the request. For example, the idenity + * associated with a load balancer that forwared the request. + */ + principal?: string; + /** + * The CLDR country/region code associated with the above IP address. If the + * IP address is private, the `region_code` should reflect the physical + * location where this peer is running. + */ + regionCode?: string; + /** + * The canonical service name of the peer. NOTE: different systems may have + * different service naming schemes. + */ + service?: string; + } + /** + * Represents error information for QuotaOperation. + */ + interface Schema$QuotaError { + /** + * Error code. + */ + code?: string; + /** + * Free-form text that provides details on the cause of the error. + */ + description?: string; + /** + * Subject to whom this error applies. See the specific enum for more + * details on this field. For example, "clientip:<ip address of + * client>" or "project:<Google developer project + * id>". + */ + subject?: string; + } + /** + * Contains the quota information for a quota check response. + */ + interface Schema$QuotaInfo { + /** + * Quota Metrics that have exceeded quota limits. For QuotaGroup-based + * quota, this is QuotaGroup.name For QuotaLimit-based quota, this is + * QuotaLimit.name See: google.api.Quota Deprecated: Use quota_metrics to + * get per quota group limit exceeded status. + */ + limitExceeded?: string[]; + /** + * Map of quota group name to the actual number of tokens consumed. If the + * quota check was not successful, then this will not be populated due to no + * quota consumption. We are not merging this field with + * 'quota_metrics' field because of the complexity of scaling in + * Chemist client code base. For simplicity, we will keep this field for + * Castor (that scales quota usage) and 'quota_metrics' for + * SuperQuota (that doesn't scale quota usage). + */ + quotaConsumed?: any; + /** + * Quota metrics to indicate the usage. Depending on the check request, one + * or more of the following metrics will be included: 1. For rate quota, + * per quota group or per quota metric incremental usage will be specified + * using the following delta metric: + * "serviceruntime.googleapis.com/api/consumer/quota_used_count" + * 2. For allocation quota, per quota metric total usage will be specified + * using the following gauge metric: + * "serviceruntime.googleapis.com/allocation/consumer/quota_used_count" + * 3. For both rate quota and allocation quota, the quota limit reached + * condition will be specified using the following boolean metric: + * "serviceruntime.googleapis.com/quota/exceeded" + */ + quotaMetrics?: Schema$MetricValueSet[]; + } + /** + * Represents information regarding a quota operation. + */ + interface Schema$QuotaOperation { + /** + * Identity of the consumer for whom this quota operation is being + * performed. This can be in one of the following formats: + * project:<project_id>, project_number:<project_number>, + * api_key:<api_key>. + */ + consumerId?: string; + /** + * Labels describing the operation. + */ + labels?: any; + /** + * Fully qualified name of the API method for which this quota operation is + * requested. This name is used for matching quota rules or metric rules and + * billing status rules defined in service configuration. This field should + * not be set if any of the following is true: (1) the quota operation is + * performed on non-API resources. (2) quota_metrics is set because the + * caller is doing quota override. Example of an RPC method name: + * google.example.library.v1.LibraryService.CreateShelf + */ + methodName?: string; + /** + * Identity of the operation. This is expected to be unique within the scope + * of the service that generated the operation, and guarantees idempotency + * in case of retries. UUID version 4 is recommended, though not required. + * In scenarios where an operation is computed from existing information and + * an idempotent id is desirable for deduplication purpose, UUID version 5 + * is recommended. See RFC 4122 for details. + */ + operationId?: string; + /** + * Represents information about this operation. Each MetricValueSet + * corresponds to a metric defined in the service configuration. The data + * type used in the MetricValueSet must agree with the data type specified + * in the metric definition. Within a single operation, it is not allowed + * to have more than one MetricValue instances that have the same metric + * names and identical label value combinations. If a request has such + * duplicated MetricValue instances, the entire request is rejected with an + * invalid argument error. This field is mutually exclusive with + * method_name. + */ + quotaMetrics?: Schema$MetricValueSet[]; + /** + * Quota mode for this operation. + */ + quotaMode?: string; + } + /** + * Represents the properties needed for quota operations. + */ + interface Schema$QuotaProperties { + /** + * Quota mode for this operation. + */ + quotaMode?: string; + } + /** + * Request message for the ReleaseQuota method. + */ + interface Schema$ReleaseQuotaRequest { + /** + * Operation that describes the quota release. + */ + releaseOperation?: Schema$QuotaOperation; + /** + * Specifies which version of service configuration should be used to + * process the request. If unspecified or no matching version can be found, + * the latest one will be used. + */ + serviceConfigId?: string; + } + /** + * Response message for the ReleaseQuota method. + */ + interface Schema$ReleaseQuotaResponse { + /** + * The same operation_id value used in the ReleaseQuotaRequest. Used for + * logging and diagnostics purposes. + */ + operationId?: string; + /** + * Quota metrics to indicate the result of release. Depending on the + * request, one or more of the following metrics will be included: 1. For + * rate quota, per quota group or per quota metric released amount will be + * specified using the following delta metric: + * "serviceruntime.googleapis.com/api/consumer/quota_refund_count" + * 2. For allocation quota, per quota metric total usage will be specified + * using the following gauge metric: + * "serviceruntime.googleapis.com/allocation/consumer/quota_used_count" + * 3. For allocation quota, value for each quota limit associated with the + * metrics will be specified using the following gauge metric: + * "serviceruntime.googleapis.com/quota/limit" + */ + quotaMetrics?: Schema$MetricValueSet[]; + /** + * Indicates the decision of the release. + */ + releaseErrors?: Schema$QuotaError[]; + /** + * ID of the actual config used to process the request. + */ + serviceConfigId?: string; + } + /** + * Represents the processing error of one Operation in the request. + */ + interface Schema$ReportError { + /** + * The Operation.operation_id value from the request. + */ + operationId?: string; + /** + * Details of the error when processing the Operation. + */ + status?: Schema$Status; + } + /** + * Contains additional info about the report operation. + */ + interface Schema$ReportInfo { + /** + * The Operation.operation_id value from the request. + */ + operationId?: string; + /** + * Quota usage info when processing the `Operation`. + */ + quotaInfo?: Schema$QuotaInfo; + } + /** + * Request message for the Report method. + */ + interface Schema$ReportRequest { + /** + * Operations to be reported. Typically the service should report one + * operation per request. Putting multiple operations into a single request + * is allowed, but should be used only when multiple operations are natually + * available at the time of the report. If multiple operations are in a + * single request, the total request size should be no larger than 1MB. See + * ReportResponse.report_errors for partial failure behavior. + */ + operations?: Schema$Operation[]; + /** + * Specifies which version of service config should be used to process the + * request. If unspecified or no matching version can be found, the latest + * one will be used. + */ + serviceConfigId?: string; + } + /** + * Response message for the Report method. + */ + interface Schema$ReportResponse { + /** + * Partial failures, one for each `Operation` in the request that failed + * processing. There are three possible combinations of the RPC status: 1. + * The combination of a successful RPC status and an empty `report_errors` + * list indicates a complete success where all `Operations` in the request + * are processed successfully. 2. The combination of a successful RPC status + * and a non-empty `report_errors` list indicates a partial success where + * some `Operations` in the request succeeded. Each `Operation` that + * failed processing has a corresponding item in this list. 3. A failed + * RPC status indicates a general non-deterministic failure. When this + * happens, it's impossible to know which of the 'Operations' + * in the request succeeded or failed. + */ + reportErrors?: Schema$ReportError[]; + /** + * Quota usage for each quota release `Operation` request. Fully or + * partially failed quota release request may or may not be present in + * `report_quota_info`. For example, a failed quota release request will + * have the current quota usage info when precise quota library returns the + * info. A deadline exceeded quota request will not have quota usage info. + * If there is no quota release request, report_quota_info will be empty. + */ + reportInfos?: Schema$ReportInfo[]; + /** + * The actual config id used to process the request. + */ + serviceConfigId?: string; + } + /** + * This message defines attributes for an HTTP request. If the actual request + * is not an HTTP request, the runtime system should try to map the actual + * request to an equivalent HTTP request. + */ + interface Schema$Request { + /** + * The request authentication. May be absent for unauthenticated requests. + * Derived from the HTTP request `Authorization` header or equivalent. + */ + auth?: Schema$Auth; + /** + * The HTTP URL fragment. No URL decoding is performed. + */ + fragment?: string; + /** + * The HTTP request headers. If multiple headers share the same key, they + * must be merged according to the HTTP spec. All header keys must be + * lowercased, because HTTP header keys are case-insensitive. + */ + headers?: any; + /** + * The HTTP request `Host` header value. + */ + host?: string; + /** + * The unique ID for a request, which can be propagated to downstream + * systems. The ID should have low probability of collision within a single + * day for a specific service. + */ + id?: string; + /** + * The HTTP request method, such as `GET`, `POST`. + */ + method?: string; + /** + * The HTTP URL path. + */ + path?: string; + /** + * The network protocol used with the request, such as "http/1.1", + * "spdy/3", "h2", "h2c", "webrtc", + * "tcp", "udp", "quic". See + * https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids + * for details. + */ + protocol?: string; + /** + * The HTTP URL query in the format of `name1=value`&name2=value2`, as + * it appears in the first line of the HTTP request. No decoding is + * performed. + */ + query?: string; + /** + * A special parameter for request reason. It is used by security systems to + * associate auditing information with a request. + */ + reason?: string; + /** + * The HTTP URL scheme, such as `http` and `https`. + */ + scheme?: string; + /** + * The HTTP request size in bytes. If unknown, it must be -1. + */ + size?: string; + /** + * The timestamp when the `destination` service receives the first byte of + * the request. + */ + time?: string; + } + /** + * Metadata about the request. + */ + interface Schema$RequestMetadata { + /** + * The IP address of the caller. For caller from internet, this will be + * public IPv4 or IPv6 address. For caller from a Compute Engine VM with + * external IP address, this will be the VM's external IP address. For + * caller from a Compute Engine VM without external IP address, if the VM is + * in the same organization (or project) as the accessed resource, + * `caller_ip` will be the VM's internal IPv4 address, otherwise the + * `caller_ip` will be redacted to "gce-internal-ip". See + * https://cloud.google.com/compute/docs/vpc/ for more information. + */ + callerIp?: string; + /** + * The network of the caller. Set only if the network host project is part + * of the same GCP organization (or project) as the accessed resource. See + * https://cloud.google.com/compute/docs/vpc/ for more information. This is + * a scheme-less URI full resource name. For example: + * "//compute.googleapis.com/projects/PROJECT_ID/global/networks/NETWORK_ID" + */ + callerNetwork?: string; + /** + * The user agent of the caller. This information is not authenticated and + * should be treated accordingly. For example: + + * `google-api-python-client/1.4.0`: The request was made by the Google + * API client for Python. + `Cloud SDK Command Line Tool + * apitools-client/1.0 gcloud/0.9.62`: The request was made by the + * Google Cloud SDK CLI (gcloud). + `AppEngine-Google; + * (+http://code.google.com/appengine; appid: s~my-project`: The request + * was made from the `my-project` App Engine app. NOLINT + */ + callerSuppliedUserAgent?: string; + /** + * The destination of a network activity, such as accepting a TCP + * connection. In a multi hop network activity, the destination represents + * the receiver of the last hop. Only two fields are used in this message, + * Peer.port and Peer.ip. These fields are optionally populated by those + * services utilizing the IAM condition feature. + */ + destinationAttributes?: Schema$Peer; + /** + * Request attributes used in IAM condition evaluation. This field contains + * request attributes like request time and access levels associated with + * the request. To get the whole view of the attributes used in IAM + * condition evaluation, the user must also look into + * `AuditLog.authentication_info.resource_attributes`. + */ + requestAttributes?: Schema$Request; + } + /** + * This message defines core attributes for a resource. A resource is an + * addressable (named) entity provided by the destination service. For + * example, a file stored on a network storage service. + */ + interface Schema$Resource { + /** + * The labels or tags on the resource, such as AWS resource tags and + * Kubernetes resource labels. + */ + labels?: any; + /** + * The stable identifier (name) of a resource on the `service`. A resource + * can be logically identified as + * "//{resource.service}/{resource.name}". The differences between + * a resource name and a URI are: * Resource name is a logical + * identifier, independent of network protocol and API version. For + * example, `//pubsub.googleapis.com/projects/123/topics/news-feed`. * + * URI often includes protocol and version information, so it can be + * used directly by applications. For example, + * `https://pubsub.googleapis.com/v1/projects/123/topics/news-feed`. See + * https://cloud.google.com/apis/design/resource_names for details. + */ + name?: string; + /** + * The name of the service that this resource belongs to, such as + * `pubsub.googleapis.com`. The service may be different from the DNS + * hostname that actually serves the request. + */ + service?: string; + /** + * The type of the resource. The scheme is platform-specific because + * different platforms define their resources differently. + */ + type?: string; + } + /** + * Describes a resource associated with this operation. + */ + interface Schema$ResourceInfo { + /** + * The identifier of the parent of this resource instance. Must be in one of + * the following formats: - “projects/<project-id or + * project-number>” - “folders/<folder-id>” - + * “organizations/<organization-id>” + */ + resourceContainer?: string; + /** + * The location of the resource. If not empty, the resource will be checked + * against location policy. The value must be a valid zone, region or + * multiregion. For example: "europe-west4" or + * "northamerica-northeast1-a" + */ + resourceLocation?: string; + /** + * Name of the resource. This is used for auditing purposes. + */ + resourceName?: string; + } + /** + * Location information about a resource. + */ + interface Schema$ResourceLocation { + /** + * The locations of a resource after the execution of the operation. For + * example: "europe-west1-a" "us-east1" + * "nam3" + */ + currentLocations?: string[]; + /** + * The locations of a resource prior to the execution of the operation. For + * example: "europe-west1-a" "us-east1" + * "nam3" + */ + originalLocations?: string[]; + } + /** + * Request message for QuotaController.StartReconciliation. + */ + interface Schema$StartReconciliationRequest { + /** + * Operation that describes the quota reconciliation. + */ + reconciliationOperation?: Schema$QuotaOperation; + /** + * Specifies which version of service configuration should be used to + * process the request. If unspecified or no matching version can be found, + * the latest one will be used. + */ + serviceConfigId?: string; + } + /** + * Response message for QuotaController.StartReconciliation. + */ + interface Schema$StartReconciliationResponse { + /** + * The same operation_id value used in the StartReconciliationRequest. Used + * for logging and diagnostics purposes. + */ + operationId?: string; + /** + * Metric values as tracked by One Platform before the start of + * reconciliation. The following metrics will be included: 1. Per quota + * metric total usage will be specified using the following gauge metric: + * "serviceruntime.googleapis.com/allocation/consumer/quota_used_count" + * 2. Value for each quota limit associated with the metrics will be + * specified using the following gauge metric: + * "serviceruntime.googleapis.com/quota/limit" + */ + quotaMetrics?: Schema$MetricValueSet[]; + /** + * Indicates the decision of the reconciliation start. + */ + reconciliationErrors?: Schema$QuotaError[]; + /** + * ID of the actual config used to process the request. + */ + serviceConfigId?: string; + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + class Resource$Services { + root: Servicecontrol; + constructor(root: Servicecontrol); + getRoot(): Servicecontrol; + /** + * servicecontrol.services.allocateQuota + * @desc Attempts to allocate quota for the specified consumer. It should be + * called before the operation is executed. This method requires the + * `servicemanagement.services.quota` permission on the specified service. + * For more information, see [Cloud IAM](https://cloud.google.com/iam). + * **NOTE:** The client **must** fail-open on server errors `INTERNAL`, + * `UNKNOWN`, `DEADLINE_EXCEEDED`, and `UNAVAILABLE`. To ensure system + * reliability, the server may inject these errors to prohibit any hard + * dependency on the quota functionality. + * @alias servicecontrol.services.allocateQuota + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.serviceName Name of the service as specified in the service configuration. For example, `"pubsub.googleapis.com"`. See google.api.Service for the definition of a service name. + * @param {().AllocateQuotaRequest} 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 + */ + allocateQuota(params?: Params$Resource$Services$Allocatequota, options?: MethodOptions): AxiosPromise; + allocateQuota(params: Params$Resource$Services$Allocatequota, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + allocateQuota(params: Params$Resource$Services$Allocatequota, callback: BodyResponseCallback): void; + allocateQuota(callback: BodyResponseCallback): void; + /** + * servicecontrol.services.check + * @desc Checks whether an operation on a service should be allowed to + * proceed based on the configuration of the service and related policies. + * It must be called before the operation is executed. If feasible, the + * client should cache the check results and reuse them for 60 seconds. In + * case of any server errors, the client should rely on the cached results + * for much longer time to avoid outage. WARNING: There is general 60s delay + * for the configuration and policy propagation, therefore callers MUST NOT + * depend on the `Check` method having the latest policy information. NOTE: + * the CheckRequest has the size limit of 64KB. This method requires the + * `servicemanagement.services.check` permission on the specified service. + * For more information, see [Cloud IAM](https://cloud.google.com/iam). + * @alias servicecontrol.services.check + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.serviceName The service name as specified in its service configuration. For example, `"pubsub.googleapis.com"`. See [google.api.Service](https://cloud.google.com/service-management/reference/rpc/google.api#google.api.Service) for the definition of a service name. + * @param {().CheckRequest} 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 + */ + check(params?: Params$Resource$Services$Check, options?: MethodOptions): AxiosPromise; + check(params: Params$Resource$Services$Check, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + check(params: Params$Resource$Services$Check, callback: BodyResponseCallback): void; + check(callback: BodyResponseCallback): void; + /** + * servicecontrol.services.endReconciliation + * @desc Signals the quota controller that service ends the ongoing usage + * reconciliation. This method requires the + * `servicemanagement.services.quota` permission on the specified service. + * For more information, see [Google Cloud + * IAM](https://cloud.google.com/iam). + * @alias servicecontrol.services.endReconciliation + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.serviceName Name of the service as specified in the service configuration. For example, `"pubsub.googleapis.com"`. See google.api.Service for the definition of a service name. + * @param {().EndReconciliationRequest} 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 + */ + endReconciliation(params?: Params$Resource$Services$Endreconciliation, options?: MethodOptions): AxiosPromise; + endReconciliation(params: Params$Resource$Services$Endreconciliation, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + endReconciliation(params: Params$Resource$Services$Endreconciliation, callback: BodyResponseCallback): void; + endReconciliation(callback: BodyResponseCallback): void; + /** + * servicecontrol.services.releaseQuota + * @desc Releases previously allocated quota done through AllocateQuota + * method. This method requires the `servicemanagement.services.quota` + * permission on the specified service. For more information, see [Cloud + * IAM](https://cloud.google.com/iam). **NOTE:** The client **must** + * fail-open on server errors `INTERNAL`, `UNKNOWN`, `DEADLINE_EXCEEDED`, + * and `UNAVAILABLE`. To ensure system reliability, the server may inject + * these errors to prohibit any hard dependency on the quota functionality. + * @alias servicecontrol.services.releaseQuota + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.serviceName Name of the service as specified in the service configuration. For example, `"pubsub.googleapis.com"`. See google.api.Service for the definition of a service name. + * @param {().ReleaseQuotaRequest} 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 + */ + releaseQuota(params?: Params$Resource$Services$Releasequota, options?: MethodOptions): AxiosPromise; + releaseQuota(params: Params$Resource$Services$Releasequota, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + releaseQuota(params: Params$Resource$Services$Releasequota, callback: BodyResponseCallback): void; + releaseQuota(callback: BodyResponseCallback): void; + /** + * servicecontrol.services.report + * @desc Reports operation results to Google Service Control, such as logs + * and metrics. It should be called after an operation is completed. If + * feasible, the client should aggregate reporting data for up to 5 seconds + * to reduce API traffic. Limiting aggregation to 5 seconds is to reduce + * data loss during client crashes. Clients should carefully choose the + * aggregation time window to avoid data loss risk more than 0.01% for + * business and compliance reasons. NOTE: the ReportRequest has the size + * limit of 1MB. This method requires the + * `servicemanagement.services.report` permission on the specified service. + * For more information, see [Google Cloud + * IAM](https://cloud.google.com/iam). + * @alias servicecontrol.services.report + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.serviceName The service name as specified in its service configuration. For example, `"pubsub.googleapis.com"`. See [google.api.Service](https://cloud.google.com/service-management/reference/rpc/google.api#google.api.Service) for the definition of a service name. + * @param {().ReportRequest} 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 + */ + report(params?: Params$Resource$Services$Report, options?: MethodOptions): AxiosPromise; + report(params: Params$Resource$Services$Report, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + report(params: Params$Resource$Services$Report, callback: BodyResponseCallback): void; + report(callback: BodyResponseCallback): void; + /** + * servicecontrol.services.startReconciliation + * @desc Unlike rate quota, allocation quota does not get refilled + * periodically. So, it is possible that the quota usage as seen by the + * service differs from what the One Platform considers the usage is. This + * is expected to happen only rarely, but over time this can accumulate. + * Services can invoke StartReconciliation and EndReconciliation to correct + * this usage drift, as described below: 1. Service sends + * StartReconciliation with a timestamp in future for each metric that + * needs to be reconciled. The timestamp being in future allows to + * account for in-flight AllocateQuota and ReleaseQuota requests for the + * same metric. 2. One Platform records this timestamp and starts tracking + * subsequent AllocateQuota and ReleaseQuota requests until + * EndReconciliation is called. 3. At or after the time specified in the + * StartReconciliation, service sends EndReconciliation with the usage + * that needs to be reconciled to. 4. One Platform adjusts its own record of + * usage for that metric to the value specified in EndReconciliation by + * taking in to account any allocation or release between + * StartReconciliation and EndReconciliation. Signals the quota controller + * that the service wants to perform a usage reconciliation as specified in + * the request. This method requires the `servicemanagement.services.quota` + * permission on the specified service. For more information, see [Google + * Cloud IAM](https://cloud.google.com/iam). + * @alias servicecontrol.services.startReconciliation + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.serviceName Name of the service as specified in the service configuration. For example, `"pubsub.googleapis.com"`. See google.api.Service for the definition of a service name. + * @param {().StartReconciliationRequest} 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 + */ + startReconciliation(params?: Params$Resource$Services$Startreconciliation, options?: MethodOptions): AxiosPromise; + startReconciliation(params: Params$Resource$Services$Startreconciliation, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + startReconciliation(params: Params$Resource$Services$Startreconciliation, callback: BodyResponseCallback): void; + startReconciliation(callback: BodyResponseCallback): void; + } + interface Params$Resource$Services$Allocatequota { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the service as specified in the service configuration. For + * example, `"pubsub.googleapis.com"`. See google.api.Service for the + * definition of a service name. + */ + serviceName?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AllocateQuotaRequest; + } + interface Params$Resource$Services$Check { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The service name as specified in its service configuration. For example, + * `"pubsub.googleapis.com"`. See + * [google.api.Service](https://cloud.google.com/service-management/reference/rpc/google.api#google.api.Service) + * for the definition of a service name. + */ + serviceName?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CheckRequest; + } + interface Params$Resource$Services$Endreconciliation { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the service as specified in the service configuration. For + * example, `"pubsub.googleapis.com"`. See google.api.Service for the + * definition of a service name. + */ + serviceName?: string; + /** + * Request body metadata + */ + requestBody?: Schema$EndReconciliationRequest; + } + interface Params$Resource$Services$Releasequota { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the service as specified in the service configuration. For + * example, `"pubsub.googleapis.com"`. See google.api.Service for the + * definition of a service name. + */ + serviceName?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ReleaseQuotaRequest; + } + interface Params$Resource$Services$Report { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The service name as specified in its service configuration. For example, + * `"pubsub.googleapis.com"`. See + * [google.api.Service](https://cloud.google.com/service-management/reference/rpc/google.api#google.api.Service) + * for the definition of a service name. + */ + serviceName?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ReportRequest; + } + interface Params$Resource$Services$Startreconciliation { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the service as specified in the service configuration. For + * example, `"pubsub.googleapis.com"`. See google.api.Service for the + * definition of a service name. + */ + serviceName?: string; + /** + * Request body metadata + */ + requestBody?: Schema$StartReconciliationRequest; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/servicecontrol/v1.js b/express-server/node_modules/googleapis/build/src/apis/servicecontrol/v1.js new file mode 100644 index 00000000..fba4ffb3 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/servicecontrol/v1.js @@ -0,0 +1,252 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var servicecontrol_v1; +(function (servicecontrol_v1) { + /** + * Service Control API + * + * Google Service Control provides control plane functionality to managed + * services, such as logging, monitoring, and status checks. + * + * @example + * const {google} = require('googleapis'); + * const servicecontrol = google.servicecontrol('v1'); + * + * @namespace servicecontrol + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Servicecontrol + */ + class Servicecontrol { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.services = new Resource$Services(this); + } + getRoot() { + return this.root; + } + } + servicecontrol_v1.Servicecontrol = Servicecontrol; + class Resource$Services { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + allocateQuota(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicecontrol.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/services/{serviceName}:allocateQuota') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['serviceName'], + pathParams: ['serviceName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + check(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicecontrol.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/services/{serviceName}:check') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['serviceName'], + pathParams: ['serviceName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + endReconciliation(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicecontrol.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/services/{serviceName}:endReconciliation') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['serviceName'], + pathParams: ['serviceName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + releaseQuota(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicecontrol.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/services/{serviceName}:releaseQuota') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['serviceName'], + pathParams: ['serviceName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + report(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicecontrol.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/services/{serviceName}:report') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['serviceName'], + pathParams: ['serviceName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + startReconciliation(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicecontrol.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/services/{serviceName}:startReconciliation') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['serviceName'], + pathParams: ['serviceName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + servicecontrol_v1.Resource$Services = Resource$Services; +})(servicecontrol_v1 = exports.servicecontrol_v1 || (exports.servicecontrol_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/servicecontrol/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/servicecontrol/v1.js.map new file mode 100644 index 00000000..88ccaa1e --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/servicecontrol/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/servicecontrol/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/servicemanagement/README.md b/express-server/node_modules/googleapis/build/src/apis/servicemanagement/README.md new file mode 100644 index 00000000..efdcf1de --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/servicemanagement/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/servicemanagement + +> Google Service Management allows service producers to publish their services on Google Cloud Platform so that they can be discovered and used by service consumers. + +## Installation + +```sh +$ npm install @google/servicemanagement +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/servicemanagement/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/servicemanagement/index.d.ts new file mode 100644 index 00000000..f4d065df --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/servicemanagement/index.d.ts @@ -0,0 +1,6 @@ +import { servicemanagement_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof servicemanagement_v1.Servicemanagement; +}; +export declare function servicemanagement(version: 'v1'): servicemanagement_v1.Servicemanagement; +export declare function servicemanagement(options: servicemanagement_v1.Options): servicemanagement_v1.Servicemanagement; diff --git a/express-server/node_modules/googleapis/build/src/apis/servicemanagement/index.js b/express-server/node_modules/googleapis/build/src/apis/servicemanagement/index.js new file mode 100644 index 00000000..317f7bc3 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/servicemanagement/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.servicemanagement_v1.Servicemanagement, +}; +function servicemanagement(versionOrOptions) { + return googleapis_common_1.getAPI('servicemanagement', versionOrOptions, exports.VERSIONS, this); +} +exports.servicemanagement = servicemanagement; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/servicemanagement/index.js.map b/express-server/node_modules/googleapis/build/src/apis/servicemanagement/index.js.map new file mode 100644 index 00000000..b8e2a7b1 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/servicemanagement/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/servicemanagement/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAA0C;AAE7B,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,yBAAoB,CAAC,iBAAiB;CAC7C,CAAC;AAMF,SAAgB,iBAAiB,CAE7B,gBAAmD;IACrD,OAAO,0BAAM,CAAI,mBAAmB,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAC1E,CAAC;AAJD,8CAIC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/servicemanagement/package.json b/express-server/node_modules/googleapis/build/src/apis/servicemanagement/package.json new file mode 100644 index 00000000..3562eb4d --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/servicemanagement/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/servicemanagement", + "version": "0.1.0", + "description": "servicemanagement", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/servicemanagement/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/servicemanagement/v1.d.ts new file mode 100644 index 00000000..c190183a --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/servicemanagement/v1.d.ts @@ -0,0 +1,3427 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace servicemanagement_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Service Management API + * + * Google Service Management allows service producers to publish their + * services on Google Cloud Platform so that they can be discovered and used + * by service consumers. + * + * @example + * const {google} = require('googleapis'); + * const servicemanagement = google.servicemanagement('v1'); + * + * @namespace servicemanagement + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Servicemanagement + */ + class Servicemanagement { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + operations: Resource$Operations; + services: Resource$Services; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Generated advice about this change, used for providing more information + * about how a change will affect the existing service. + */ + interface Schema$Advice { + /** + * Useful description for why this advice was applied and what actions + * should be taken to mitigate any implied risks. + */ + description?: string; + } + /** + * Api is a light-weight descriptor for an API Interface. Interfaces are also + * described as "protocol buffer services" in some contexts, such as + * by the "service" keyword in a .proto file, but they are different + * from API Services, which represent a concrete implementation of an + * interface as opposed to simply a description of methods and bindings. They + * are also sometimes simply referred to as "APIs" in other + * contexts, such as the name of this message itself. See + * https://cloud.google.com/apis/design/glossary for detailed terminology. + */ + interface Schema$Api { + /** + * The methods of this interface, in unspecified order. + */ + methods?: Schema$Method[]; + /** + * Included interfaces. See Mixin. + */ + mixins?: Schema$Mixin[]; + /** + * The fully qualified name of this interface, including package name + * followed by the interface's simple name. + */ + name?: string; + /** + * Any metadata attached to the interface. + */ + options?: Schema$Option[]; + /** + * Source context for the protocol buffer service represented by this + * message. + */ + sourceContext?: Schema$SourceContext; + /** + * The source syntax of the service. + */ + syntax?: string; + /** + * A version string for this interface. If specified, must have the form + * `major-version.minor-version`, as in `1.10`. If the minor version is + * omitted, it defaults to zero. If the entire version field is empty, the + * major version is derived from the package name, as outlined below. If the + * field is not empty, the version in the package name will be verified to + * be consistent with what is provided here. The versioning schema uses + * [semantic versioning](http://semver.org) where the major version number + * indicates a breaking change and the minor version an additive, + * non-breaking change. Both version numbers are signals to users what to + * expect from different versions, and should be carefully chosen based on + * the product plan. The major version is also reflected in the package + * name of the interface, which must end in `v<major-version>`, as in + * `google.feature.v1`. For major versions 0 and 1, the suffix can be + * omitted. Zero major versions must only be used for experimental, non-GA + * interfaces. + */ + version?: string; + } + /** + * Specifies the audit configuration for a service. The configuration + * determines which permission types are logged, and what identities, if any, + * are exempted from logging. An AuditConfig must have one or more + * AuditLogConfigs. If there are AuditConfigs for both `allServices` and a + * specific service, the union of the two AuditConfigs is used for that + * service: the log_types specified in each AuditConfig are enabled, and the + * exempted_members in each AuditLogConfig are exempted. Example Policy with + * multiple AuditConfigs: { "audit_configs": [ { + * "service": "allServices" "audit_log_configs": + * [ { "log_type": "DATA_READ", + * "exempted_members": [ "user:foo@gmail.com" ] }, { + * "log_type": "DATA_WRITE", }, { + * "log_type": "ADMIN_READ", } ] }, + * { "service": "fooservice.googleapis.com" + * "audit_log_configs": [ { "log_type": + * "DATA_READ", }, { "log_type": + * "DATA_WRITE", "exempted_members": [ + * "user:bar@gmail.com" ] } ] } + * ] } For fooservice, this policy enables DATA_READ, DATA_WRITE and + * ADMIN_READ logging. It also exempts foo@gmail.com from DATA_READ logging, + * and bar@gmail.com from DATA_WRITE logging. + */ + interface Schema$AuditConfig { + /** + * The configuration for logging of each type of permission. + */ + auditLogConfigs?: Schema$AuditLogConfig[]; + /** + * Specifies a service that will be enabled for audit logging. For example, + * `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a + * special value that covers all services. + */ + service?: string; + } + /** + * Provides the configuration for logging a type of permissions. Example: { + * "audit_log_configs": [ { "log_type": + * "DATA_READ", "exempted_members": [ + * "user:foo@gmail.com" ] }, { + * "log_type": "DATA_WRITE", } ] } This + * enables 'DATA_READ' and 'DATA_WRITE' logging, while + * exempting foo@gmail.com from DATA_READ logging. + */ + interface Schema$AuditLogConfig { + /** + * Specifies the identities that do not cause logging for this type of + * permission. Follows the same format of Binding.members. + */ + exemptedMembers?: string[]; + /** + * The log type that this config enables. + */ + logType?: string; + } + /** + * `Authentication` defines the authentication configuration for an API. + * Example for an API targeted for external use: name: + * calendar.googleapis.com authentication: providers: - id: + * google_calendar_auth jwks_uri: + * https://www.googleapis.com/oauth2/v1/certs issuer: + * https://securetoken.google.com rules: - selector: "*" + * requirements: provider_id: google_calendar_auth + */ + interface Schema$Authentication { + /** + * Defines a set of authentication providers that a service supports. + */ + providers?: Schema$AuthProvider[]; + /** + * A list of authentication rules that apply to individual API methods. + * **NOTE:** All service configuration rules follow "last one + * wins" order. + */ + rules?: Schema$AuthenticationRule[]; + } + /** + * Authentication rules for the service. By default, if a method has any + * authentication requirements, every request must include a valid credential + * matching one of the requirements. It's an error to include more than + * one kind of credential in a single request. If a method doesn't have + * any auth requirements, request credentials will be ignored. + */ + interface Schema$AuthenticationRule { + /** + * If true, the service accepts API keys without any other credential. + */ + allowWithoutCredential?: boolean; + /** + * The requirements for OAuth credentials. + */ + oauth?: Schema$OAuthRequirements; + /** + * Requirements for additional authentication providers. + */ + requirements?: Schema$AuthRequirement[]; + /** + * Selects the methods to which this rule applies. Refer to selector for + * syntax details. + */ + selector?: string; + } + /** + * Configuration of authorization. This section determines the authorization + * provider, if unspecified, then no authorization check will be done. + * Example: experimental: authorization: provider: + * firebaserules.googleapis.com + */ + interface Schema$AuthorizationConfig { + /** + * The name of the authorization provider, such as + * firebaserules.googleapis.com. + */ + provider?: string; + } + /** + * Configuration for an anthentication provider, including support for [JSON + * Web Token + * (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32). + */ + interface Schema$AuthProvider { + /** + * The list of JWT + * [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3). + * that are allowed to access. A JWT containing any of these audiences will + * be accepted. When this setting is absent, only JWTs with audience + * "https://Service_name/API_name" will be accepted. For example, + * if no audiences are in the setting, LibraryService API will only accept + * JWTs with the following audience + * "https://library-example.googleapis.com/google.example.library.v1.LibraryService". + * Example: audiences: bookstore_android.apps.googleusercontent.com, + * bookstore_web.apps.googleusercontent.com + */ + audiences?: string; + /** + * Redirect URL if JWT token is required but no present or is expired. + * Implement authorizationUrl of securityDefinitions in OpenAPI spec. + */ + authorizationUrl?: string; + /** + * The unique identifier of the auth provider. It will be referred to by + * `AuthRequirement.provider_id`. Example: "bookstore_auth". + */ + id?: string; + /** + * Identifies the principal that issued the JWT. See + * https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.1 + * Usually a URL or an email address. Example: + * https://securetoken.google.com Example: + * 1234567-compute@developer.gserviceaccount.com + */ + issuer?: string; + /** + * URL of the provider's public key set to validate signature of the + * JWT. See [OpenID + * Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata). + * Optional if the key set document: - can be retrieved from [OpenID + * Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html of + * the issuer. - can be inferred from the email domain of the issuer (e.g. + * a Google service account). Example: + * https://www.googleapis.com/oauth2/v1/certs + */ + jwksUri?: string; + } + /** + * User-defined authentication requirements, including support for [JSON Web + * Token + * (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32). + */ + interface Schema$AuthRequirement { + /** + * NOTE: This will be deprecated soon, once AuthProvider.audiences is + * implemented and accepted in all the runtime components. The list of JWT + * [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3). + * that are allowed to access. A JWT containing any of these audiences will + * be accepted. When this setting is absent, only JWTs with audience + * "https://Service_name/API_name" will be accepted. For example, + * if no audiences are in the setting, LibraryService API will only accept + * JWTs with the following audience + * "https://library-example.googleapis.com/google.example.library.v1.LibraryService". + * Example: audiences: bookstore_android.apps.googleusercontent.com, + * bookstore_web.apps.googleusercontent.com + */ + audiences?: string; + /** + * id from authentication provider. Example: provider_id: + * bookstore_auth + */ + providerId?: string; + } + /** + * `Backend` defines the backend configuration for a service. + */ + interface Schema$Backend { + /** + * A list of API backend rules that apply to individual API methods. + * **NOTE:** All service configuration rules follow "last one + * wins" order. + */ + rules?: Schema$BackendRule[]; + } + /** + * A backend rule provides configuration for an individual API element. + */ + interface Schema$BackendRule { + /** + * The address of the API backend. + */ + address?: string; + /** + * The number of seconds to wait for a response from a request. The default + * deadline for gRPC is infinite (no deadline) and HTTP requests is 5 + * seconds. + */ + deadline?: number; + /** + * Minimum deadline in seconds needed for this method. Calls having deadline + * value lower than this will be rejected. + */ + minDeadline?: number; + /** + * Selects the methods to which this rule applies. Refer to selector for + * syntax details. + */ + selector?: string; + } + /** + * Billing related configuration of the service. The following example shows + * how to configure monitored resources and metrics for billing: + * monitored_resources: - type: library.googleapis.com/branch labels: - + * key: /city description: The city where the library branch is + * located in. - key: /name description: The name of the branch. + * metrics: - name: library.googleapis.com/book/borrowed_count + * metric_kind: DELTA value_type: INT64 billing: + * consumer_destinations: - monitored_resource: + * library.googleapis.com/branch metrics: - + * library.googleapis.com/book/borrowed_count + */ + interface Schema$Billing { + /** + * Billing configurations for sending metrics to the consumer project. There + * can be multiple consumer destinations per service, each one must have a + * different monitored resource type. A metric can be used in at most one + * consumer destination. + */ + consumerDestinations?: Schema$BillingDestination[]; + } + /** + * Configuration of a specific billing destination (Currently only support + * bill against consumer project). + */ + interface Schema$BillingDestination { + /** + * Names of the metrics to report to this billing destination. Each name + * must be defined in Service.metrics section. + */ + metrics?: string[]; + /** + * The monitored resource type. The type must be defined in + * Service.monitored_resources section. + */ + monitoredResource?: string; + } + /** + * Associates `members` with a `role`. + */ + interface Schema$Binding { + /** + * Unimplemented. The condition that is associated with this binding. NOTE: + * an unsatisfied condition will not allow user access via current binding. + * Different bindings, including their conditions, are examined + * independently. + */ + condition?: Schema$Expr; + /** + * Specifies the identities requesting access for a Cloud Platform resource. + * `members` can have the following values: * `allUsers`: A special + * identifier that represents anyone who is on the internet; with or + * without a Google account. * `allAuthenticatedUsers`: A special + * identifier that represents anyone who is authenticated with a Google + * account or a service account. * `user:{emailid}`: An email address that + * represents a specific Google account. For example, `alice@gmail.com` . + * * `serviceAccount:{emailid}`: An email address that represents a service + * account. For example, `my-other-app@appspot.gserviceaccount.com`. * + * `group:{emailid}`: An email address that represents a Google group. For + * example, `admins@example.com`. * `domain:{domain}`: A Google Apps + * domain name that represents all the users of that domain. For example, + * `google.com` or `example.com`. + */ + members?: string[]; + /** + * Role that is assigned to `members`. For example, `roles/viewer`, + * `roles/editor`, or `roles/owner`. + */ + role?: string; + } + /** + * Change report associated with a particular service configuration. It + * contains a list of ConfigChanges based on the comparison between two + * service configurations. + */ + interface Schema$ChangeReport { + /** + * List of changes between two service configurations. The changes will be + * alphabetically sorted based on the identifier of each change. A + * ConfigChange identifier is a dot separated path to the configuration. + * Example: + * visibility.rules[selector='LibraryService.CreateBook'].restriction + */ + configChanges?: Schema$ConfigChange[]; + } + /** + * Output generated from semantically comparing two versions of a service + * configuration. Includes detailed information about a field that have + * changed with applicable advice about potential consequences for the change, + * such as backwards-incompatibility. + */ + interface Schema$ConfigChange { + /** + * Collection of advice provided for this change, useful for determining the + * possible impact of this change. + */ + advices?: Schema$Advice[]; + /** + * The type for this change, either ADDED, REMOVED, or MODIFIED. + */ + changeType?: string; + /** + * Object hierarchy path to the change, with levels separated by a + * '.' character. For repeated fields, an applicable unique + * identifier field is used for the index (usually selector, name, or id). + * For maps, the term 'key' is used. If the field has no unique + * identifier, the numeric index is used. Examples: - + * visibility.rules[selector=="google.LibraryService.CreateBook"].restriction + * - + * quota.metric_rules[selector=="google"].metric_costs[key=="reads"].value + * - logging.producer_destinations[0] + */ + element?: string; + /** + * Value of the changed object in the new Service configuration, in JSON + * format. This field will not be populated if ChangeType == REMOVED. + */ + newValue?: string; + /** + * Value of the changed object in the old Service configuration, in JSON + * format. This field will not be populated if ChangeType == ADDED. + */ + oldValue?: string; + } + /** + * Generic specification of a source configuration file + */ + interface Schema$ConfigFile { + /** + * The bytes that constitute the file. + */ + fileContents?: string; + /** + * The file name of the configuration file (full or relative path). + */ + filePath?: string; + /** + * The type of configuration file this represents. + */ + fileType?: string; + } + /** + * Represents a service configuration with its name and id. + */ + interface Schema$ConfigRef { + /** + * Resource name of a service config. It must have the following format: + * "services/{service name}/configs/{config id}". + */ + name?: string; + } + /** + * Represents a source file which is used to generate the service + * configuration defined by `google.api.Service`. + */ + interface Schema$ConfigSource { + /** + * Set of source configuration files that are used to generate a service + * configuration (`google.api.Service`). + */ + files?: Schema$ConfigFile[]; + /** + * A unique ID for a specific instance of this message, typically assigned + * by the client for tracking purpose. If empty, the server may choose to + * generate one instead. + */ + id?: string; + } + /** + * `Context` defines which contexts an API requests. Example: context: + * rules: - selector: "*" requested: - + * google.rpc.context.ProjectContext - + * google.rpc.context.OriginContext The above specifies that all methods in + * the API request `google.rpc.context.ProjectContext` and + * `google.rpc.context.OriginContext`. Available context types are defined in + * package `google.rpc.context`. This also provides mechanism to whitelist + * any protobuf message extension that can be sent in grpc metadata using + * “x-goog-ext-<extension_id>-bin” and + * “x-goog-ext-<extension_id>-jspb” format. For example, list any + * service specific protobuf types that can appear in grpc metadata as follows + * in your yaml file: Example: context: rules: - selector: + * "google.example.library.v1.LibraryService.CreateBook" + * allowed_request_extensions: - google.foo.v1.NewExtension + * allowed_response_extensions: - google.foo.v1.NewExtension You can + * also specify extension ID instead of fully qualified extension name here. + */ + interface Schema$Context { + /** + * A list of RPC context rules that apply to individual API methods. + * **NOTE:** All service configuration rules follow "last one + * wins" order. + */ + rules?: Schema$ContextRule[]; + } + /** + * A context rule provides information about the context for an individual API + * element. + */ + interface Schema$ContextRule { + /** + * A list of full type names or extension IDs of extensions allowed in grpc + * side channel from client to backend. + */ + allowedRequestExtensions?: string[]; + /** + * A list of full type names or extension IDs of extensions allowed in grpc + * side channel from backend to client. + */ + allowedResponseExtensions?: string[]; + /** + * A list of full type names of provided contexts. + */ + provided?: string[]; + /** + * A list of full type names of requested contexts. + */ + requested?: string[]; + /** + * Selects the methods to which this rule applies. Refer to selector for + * syntax details. + */ + selector?: string; + } + /** + * Selects and configures the service controller used by the service. The + * service controller handles features like abuse, quota, billing, logging, + * monitoring, etc. + */ + interface Schema$Control { + /** + * The service control environment to use. If empty, no control plane + * feature (like quota and billing) will be enabled. + */ + environment?: string; + } + /** + * Customize service error responses. For example, list any service specific + * protobuf types that can appear in error detail lists of error responses. + * Example: custom_error: types: - google.foo.v1.CustomError + * - google.foo.v1.AnotherError + */ + interface Schema$CustomError { + /** + * The list of custom error rules that apply to individual API messages. + * **NOTE:** All service configuration rules follow "last one + * wins" order. + */ + rules?: Schema$CustomErrorRule[]; + /** + * The list of custom error detail types, e.g. + * 'google.foo.v1.CustomError'. + */ + types?: string[]; + } + /** + * A custom error rule. + */ + interface Schema$CustomErrorRule { + /** + * Mark this message as possible payload in error response. Otherwise, + * objects of this type will be filtered when they appear in error payload. + */ + isErrorType?: boolean; + /** + * Selects messages to which this rule applies. Refer to selector for + * syntax details. + */ + selector?: string; + } + /** + * A custom pattern is used for defining custom HTTP verb. + */ + interface Schema$CustomHttpPattern { + /** + * The name of this custom HTTP verb. + */ + kind?: string; + /** + * The path matched by this custom verb. + */ + path?: string; + } + /** + * Strategy used to delete a service. This strategy is a placeholder only used + * by the system generated rollout to delete a service. + */ + interface Schema$DeleteServiceStrategy { + } + /** + * Represents a diagnostic message (error or warning) + */ + interface Schema$Diagnostic { + /** + * The kind of diagnostic information provided. + */ + kind?: string; + /** + * File name and line number of the error or warning. + */ + location?: string; + /** + * Message describing the error or warning. + */ + message?: string; + } + /** + * Request message for DisableService method. + */ + interface Schema$DisableServiceRequest { + /** + * The identity of consumer resource which service disablement will be + * applied to. The Google Service Management implementation accepts the + * following forms: - "project:<project_id>" Note: this is + * made compatible with google.api.servicecontrol.v1.Operation.consumer_id. + */ + consumerId?: string; + } + /** + * `Documentation` provides the information for describing a service. Example: + * <pre><code>documentation: summary: > The Google + * Calendar API gives access to most calendar features. pages: - name: + * Overview content: &#40;== include google/foo/overview.md + * ==&#41; - name: Tutorial content: &#40;== include + * google/foo/tutorial.md ==&#41; subpages; - name: Java content: + * &#40;== include google/foo/tutorial_java.md ==&#41; rules: - + * selector: google.calendar.Calendar.Get description: > ... - + * selector: google.calendar.Calendar.Put description: > ... + * </code></pre> Documentation is provided in markdown syntax. In + * addition to standard markdown features, definition lists, tables and fenced + * code blocks are supported. Section headers can be provided and are + * interpreted relative to the section nesting of the context where a + * documentation fragment is embedded. Documentation from the IDL is merged + * with documentation defined via the config at normalization time, where + * documentation provided by config rules overrides IDL provided. A number of + * constructs specific to the API platform are supported in documentation + * text. In order to reference a proto element, the following notation can be + * used: + * <pre><code>&#91;fully.qualified.proto.name]&#91;]</code></pre> + * To override the display text used for the link, this can be used: + * <pre><code>&#91;display + * text]&#91;fully.qualified.proto.name]</code></pre> Text can + * be excluded from doc using the following notation: + * <pre><code>&#40;-- internal comment + * --&#41;</code></pre> A few directives are available in + * documentation. Note that directives must appear on a single line to be + * properly identified. The `include` directive includes a markdown file from + * an external source: <pre><code>&#40;== include path/to/file + * ==&#41;</code></pre> The `resource_for` directive marks a + * message to be the resource of a collection in REST view. If it is not + * specified, tools attempt to infer the resource from the operations in a + * collection: <pre><code>&#40;== resource_for + * v1.shelves.books ==&#41;</code></pre> The directive + * `suppress_warning` does not directly affect documentation and is documented + * together with service config validation. + */ + interface Schema$Documentation { + /** + * The URL to the root of documentation. + */ + documentationRootUrl?: string; + /** + * Declares a single overview page. For example: + * <pre><code>documentation: summary: ... overview: + * &#40;== include overview.md ==&#41; </code></pre> + * This is a shortcut for the following declaration (using pages style): + * <pre><code>documentation: summary: ... pages: - name: + * Overview content: &#40;== include overview.md ==&#41; + * </code></pre> Note: you cannot specify both `overview` field + * and `pages` field. + */ + overview?: string; + /** + * The top level pages for the documentation set. + */ + pages?: Schema$Page[]; + /** + * A list of documentation rules that apply to individual API elements. + * **NOTE:** All service configuration rules follow "last one + * wins" order. + */ + rules?: Schema$DocumentationRule[]; + /** + * A short summary of what the service does. Can only be provided by plain + * text. + */ + summary?: string; + } + /** + * A documentation rule provides information about individual API elements. + */ + interface Schema$DocumentationRule { + /** + * Deprecation description of the selected element(s). It can be provided if + * an element is marked as `deprecated`. + */ + deprecationDescription?: string; + /** + * Description of the selected API(s). + */ + description?: string; + /** + * The selector is a comma-separated list of patterns. Each pattern is a + * qualified name of the element which may end in "*", indicating + * a wildcard. Wildcards are only allowed at the end and for a whole + * component of the qualified name, i.e. "foo.*" is ok, but not + * "foo.b*" or "foo.*.bar". To specify a default for all + * applicable elements, the whole pattern "*" is used. + */ + selector?: string; + } + /** + * Request message for EnableService method. + */ + interface Schema$EnableServiceRequest { + /** + * The identity of consumer resource which service enablement will be + * applied to. The Google Service Management implementation accepts the + * following forms: - "project:<project_id>" Note: this is + * made compatible with google.api.servicecontrol.v1.Operation.consumer_id. + */ + consumerId?: string; + } + /** + * `Endpoint` describes a network endpoint that serves a set of APIs. A + * service may expose any number of endpoints, and all endpoints share the + * same service configuration, such as quota configuration and monitoring + * configuration. Example service configuration: name: + * library-example.googleapis.com endpoints: # Below entry makes + * 'google.example.library.v1.Library' # API be served from + * endpoint address library-example.googleapis.com. # It also allows + * HTTP OPTIONS calls to be passed to the backend, for # it to decide + * whether the subsequent cross-origin request is # allowed to proceed. + * - name: library-example.googleapis.com allow_cors: true + */ + interface Schema$Endpoint { + /** + * DEPRECATED: This field is no longer supported. Instead of using aliases, + * please specify multiple google.api.Endpoint for each of the intended + * aliases. Additional names that this endpoint will be hosted on. + */ + aliases?: string[]; + /** + * Allowing + * [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka + * cross-domain traffic, would allow the backends served from this endpoint + * to receive and respond to HTTP OPTIONS requests. The response will be + * used by the browser to determine whether the subsequent cross-origin + * request is allowed to proceed. + */ + allowCors?: boolean; + /** + * The list of features enabled on this endpoint. + */ + features?: string[]; + /** + * The canonical name of this endpoint. + */ + name?: string; + /** + * The specification of an Internet routable address of API frontend that + * will handle requests to this [API + * Endpoint](https://cloud.google.com/apis/design/glossary). It should be + * either a valid IPv4 address or a fully-qualified domain name. For + * example, "8.8.8.8" or "myservice.appspot.com". + */ + target?: string; + } + /** + * Enum type definition. + */ + interface Schema$Enum { + /** + * Enum value definitions. + */ + enumvalue?: Schema$EnumValue[]; + /** + * Enum type name. + */ + name?: string; + /** + * Protocol buffer options. + */ + options?: Schema$Option[]; + /** + * The source context. + */ + sourceContext?: Schema$SourceContext; + /** + * The source syntax. + */ + syntax?: string; + } + /** + * Enum value definition. + */ + interface Schema$EnumValue { + /** + * Enum value name. + */ + name?: string; + /** + * Enum value number. + */ + number?: number; + /** + * Protocol buffer options. + */ + options?: Schema$Option[]; + } + /** + * Experimental service configuration. These configuration options can only be + * used by whitelisted users. + */ + interface Schema$Experimental { + /** + * Authorization configuration. + */ + authorization?: Schema$AuthorizationConfig; + } + /** + * Represents an expression text. Example: title: "User account + * presence" description: "Determines whether the request has a + * user account" expression: "size(request.user) > 0" + */ + interface Schema$Expr { + /** + * An optional description of the expression. This is a longer text which + * describes the expression, e.g. when hovered over it in a UI. + */ + description?: string; + /** + * Textual representation of an expression in Common Expression Language + * syntax. The application context of the containing message determines + * which well-known feature set of CEL is supported. + */ + expression?: string; + /** + * An optional string indicating the location of the expression for error + * reporting, e.g. a file name and a position in the file. + */ + location?: string; + /** + * An optional title for the expression, i.e. a short string describing its + * purpose. This can be used e.g. in UIs which allow to enter the + * expression. + */ + title?: string; + } + /** + * A single field of a message type. + */ + interface Schema$Field { + /** + * The field cardinality. + */ + cardinality?: string; + /** + * The string value of the default value of this field. Proto2 syntax only. + */ + defaultValue?: string; + /** + * The field JSON name. + */ + jsonName?: string; + /** + * The field type. + */ + kind?: string; + /** + * The field name. + */ + name?: string; + /** + * The field number. + */ + number?: number; + /** + * The index of the field type in `Type.oneofs`, for message or enumeration + * types. The first type has index 1; zero means the type is not in the + * list. + */ + oneofIndex?: number; + /** + * The protocol buffer options. + */ + options?: Schema$Option[]; + /** + * Whether to use alternative packed wire representation. + */ + packed?: boolean; + /** + * The field type URL, without the scheme, for message or enumeration types. + * Example: `"type.googleapis.com/google.protobuf.Timestamp"`. + */ + typeUrl?: string; + } + /** + * Request message for GenerateConfigReport method. + */ + interface Schema$GenerateConfigReportRequest { + /** + * Service configuration for which we want to generate the report. For this + * version of API, the supported types are + * google.api.servicemanagement.v1.ConfigRef, + * google.api.servicemanagement.v1.ConfigSource, and google.api.Service + */ + newConfig?: any; + /** + * Service configuration against which the comparison will be done. For this + * version of API, the supported types are + * google.api.servicemanagement.v1.ConfigRef, + * google.api.servicemanagement.v1.ConfigSource, and google.api.Service + */ + oldConfig?: any; + } + /** + * Response message for GenerateConfigReport method. + */ + interface Schema$GenerateConfigReportResponse { + /** + * list of ChangeReport, each corresponding to comparison between two + * service configurations. + */ + changeReports?: Schema$ChangeReport[]; + /** + * Errors / Linter warnings associated with the service definition this + * report belongs to. + */ + diagnostics?: Schema$Diagnostic[]; + /** + * ID of the service configuration this report belongs to. + */ + id?: string; + /** + * Name of the service this report belongs to. + */ + serviceName?: string; + } + /** + * Request message for `GetIamPolicy` method. + */ + interface Schema$GetIamPolicyRequest { + } + /** + * Defines the HTTP configuration for an API service. It contains a list of + * HttpRule, each specifying the mapping of an RPC method to one or more HTTP + * REST API methods. + */ + interface Schema$Http { + /** + * When set to true, URL path parmeters will be fully URI-decoded except in + * cases of single segment matches in reserved expansion, where + * "%2F" will be left encoded. The default behavior is to not + * decode RFC 6570 reserved characters in multi segment matches. + */ + fullyDecodeReservedExpansion?: boolean; + /** + * A list of HTTP configuration rules that apply to individual API methods. + * **NOTE:** All service configuration rules follow "last one + * wins" order. + */ + rules?: Schema$HttpRule[]; + } + /** + * # gRPC Transcoding gRPC Transcoding is a feature for mapping between a + * gRPC method and one or more HTTP REST endpoints. It allows developers to + * build a single API service that supports both gRPC APIs and REST APIs. Many + * systems, including [Google APIs](https://github.com/googleapis/googleapis), + * [Cloud Endpoints](https://cloud.google.com/endpoints), [gRPC + * Gateway](https://github.com/grpc-ecosystem/grpc-gateway), and + * [Envoy](https://github.com/envoyproxy/envoy) proxy support this feature and + * use it for large scale production services. `HttpRule` defines the schema + * of the gRPC/REST mapping. The mapping specifies how different portions of + * the gRPC request message are mapped to the URL path, URL query parameters, + * and HTTP request body. It also controls how the gRPC response message is + * mapped to the HTTP response body. `HttpRule` is typically specified as an + * `google.api.http` annotation on the gRPC method. Each mapping specifies a + * URL path template and an HTTP method. The path template may refer to one or + * more fields in the gRPC request message, as long as each field is a + * non-repeated field with a primitive (non-message) type. The path template + * controls how fields of the request message are mapped to the URL path. + * Example: service Messaging { rpc GetMessage(GetMessageRequest) + * returns (Message) { option (google.api.http) = { get: + * "/v1/{name=messages/*"}" }; } } message + * GetMessageRequest { string name = 1; // Mapped to URL path. } + * message Message { string text = 1; // The resource content. } + * This enables an HTTP REST to gRPC mapping as below: HTTP | gRPC + * -----|----- `GET /v1/messages/123456` | `GetMessage(name: + * "messages/123456")` Any fields in the request message which are + * not bound by the path template automatically become HTTP query parameters + * if there is no HTTP request body. For example: service Messaging { rpc + * GetMessage(GetMessageRequest) returns (Message) { option + * (google.api.http) = { get:"/v1/messages/{message_id}" + * }; } } message GetMessageRequest { message SubMessage { + * string subfield = 1; } string message_id = 1; // Mapped to URL + * path. int64 revision = 2; // Mapped to URL query parameter + * `revision`. SubMessage sub = 3; // Mapped to URL query parameter + * `sub.subfield`. } This enables a HTTP JSON to RPC mapping as below: + * HTTP | gRPC -----|----- `GET + * /v1/messages/123456?revision=2&sub.subfield=foo` | + * `GetMessage(message_id: "123456" revision: 2 sub: + * SubMessage(subfield: "foo"))` Note that fields which are mapped + * to URL query parameters must have a primitive type or a repeated primitive + * type or a non-repeated message type. In the case of a repeated type, the + * parameter can be repeated in the URL as `...?param=A&param=B`. In the + * case of a message type, each field of the message is mapped to a separate + * parameter, such as `...?foo.a=A&foo.b=B&foo.c=C`. For HTTP methods + * that allow a request body, the `body` field specifies the mapping. Consider + * a REST update method on the message resource collection: service + * Messaging { rpc UpdateMessage(UpdateMessageRequest) returns (Message) + * { option (google.api.http) = { patch: + * "/v1/messages/{message_id}" body: "message" + * }; } } message UpdateMessageRequest { string message_id + * = 1; // mapped to the URL Message message = 2; // mapped to the + * body } The following HTTP JSON to RPC mapping is enabled, where the + * representation of the JSON in the request body is determined by protos JSON + * encoding: HTTP | gRPC -----|----- `PATCH /v1/messages/123456 { + * "text": "Hi!" }` | `UpdateMessage(message_id: + * "123456" message { text: "Hi!" })` The special name + * `*` can be used in the body mapping to define that every field not bound by + * the path template should be mapped to the request body. This enables the + * following alternative definition of the update method: service + * Messaging { rpc UpdateMessage(Message) returns (Message) { option + * (google.api.http) = { patch: + * "/v1/messages/{message_id}" body: "*" }; } } + * message Message { string message_id = 1; string text = 2; } + * The following HTTP JSON to RPC mapping is enabled: HTTP | gRPC -----|----- + * `PATCH /v1/messages/123456 { "text": "Hi!" }` | + * `UpdateMessage(message_id: "123456" text: "Hi!")` Note + * that when using `*` in the body mapping, it is not possible to have HTTP + * parameters, as all fields not bound by the path end in the body. This makes + * this option more rarely used in practice when defining REST APIs. The + * common usage of `*` is in custom methods which don't use the URL at all + * for transferring data. It is possible to define multiple HTTP methods for + * one RPC by using the `additional_bindings` option. Example: service + * Messaging { rpc GetMessage(GetMessageRequest) returns (Message) { + * option (google.api.http) = { get: + * "/v1/messages/{message_id}" additional_bindings { get: + * "/v1/users/{user_id}/messages/{message_id}" } }; } } + * message GetMessageRequest { string message_id = 1; string + * user_id = 2; } This enables the following two alternative HTTP JSON to + * RPC mappings: HTTP | gRPC -----|----- `GET /v1/messages/123456` | + * `GetMessage(message_id: "123456")` `GET + * /v1/users/me/messages/123456` | `GetMessage(user_id: "me" + * message_id: "123456")` ## Rules for HTTP mapping 1. Leaf + * request fields (recursive expansion nested messages in the request message) + * are classified into three categories: - Fields referred by the path + * template. They are passed via the URL path. - Fields referred by the + * HttpRule.body. They are passed via the HTTP request body. - All + * other fields are passed via the URL query parameters, and the parameter + * name is the field path in the request message. A repeated field can be + * represented as multiple query parameters under the same name. 2. If + * HttpRule.body is "*", there is no URL query parameter, all fields + * are passed via URL path and HTTP request body. 3. If HttpRule.body is + * omitted, there is no HTTP request body, all fields are passed via URL + * path and URL query parameters. ### Path template syntax Template = + * "/" Segments [ Verb ] ; Segments = Segment { "/" + * Segment } ; Segment = "*" | "**" | LITERAL | + * Variable ; Variable = "{" FieldPath [ "=" Segments + * ] "}" ; FieldPath = IDENT { "." IDENT } ; Verb + * = ":" LITERAL ; The syntax `*` matches a single URL path + * segment. The syntax `**` matches zero or more URL path segments, which must + * be the last part of the URL path except the `Verb`. The syntax `Variable` + * matches part of the URL path as specified by its template. A variable + * template must not contain other variables. If a variable matches a single + * path segment, its template may be omitted, e.g. `{var}` is equivalent to + * `{var=*}`. The syntax `LITERAL` matches literal text in the URL path. If + * the `LITERAL` contains any reserved character, such characters should be + * percent-encoded before the matching. If a variable contains exactly one + * path segment, such as `"{var}"` or `"{var=*}"`, when + * such a variable is expanded into a URL path on the client side, all + * characters except `[-_.~0-9a-zA-Z]` are percent-encoded. The server side + * does the reverse decoding. Such variables show up in the [Discovery + * Document](https://developers.google.com/discovery/v1/reference/apis) as + * `{var}`. If a variable contains multiple path segments, such as + * `"{var=foo/*}"` or `"{var=**}"`, when such a variable + * is expanded into a URL path on the client side, all characters except + * `[-_.~/0-9a-zA-Z]` are percent-encoded. The server side does the reverse + * decoding, except "%2F" and "%2f" are left unchanged. + * Such variables show up in the [Discovery + * Document](https://developers.google.com/discovery/v1/reference/apis) as + * `{+var}`. ## Using gRPC API Service Configuration gRPC API Service + * Configuration (service config) is a configuration language for configuring + * a gRPC service to become a user-facing product. The service config is + * simply the YAML representation of the `google.api.Service` proto message. + * As an alternative to annotating your proto file, you can configure gRPC + * transcoding in your service config YAML files. You do this by specifying a + * `HttpRule` that maps the gRPC method to a REST endpoint, achieving the same + * effect as the proto annotation. This can be particularly useful if you have + * a proto that is reused in multiple services. Note that any transcoding + * specified in the service config will override any matching transcoding + * configuration in the proto. Example: http: rules: # + * Selects a gRPC method and applies HttpRule to it. - selector: + * example.v1.Messaging.GetMessage get: + * /v1/messages/{message_id}/{sub.subfield} ## Special notes When gRPC + * Transcoding is used to map a gRPC to JSON REST endpoints, the proto to JSON + * conversion must follow the [proto3 + * specification](https://developers.google.com/protocol-buffers/docs/proto3#json). + * While the single segment variable follows the semantics of [RFC + * 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 Simple String + * Expansion, the multi segment variable **does not** follow RFC 6570 + * Section 3.2.3 Reserved Expansion. The reason is that the Reserved Expansion + * does not expand special characters like `?` and `#`, which would lead to + * invalid URLs. As the result, gRPC Transcoding uses a custom encoding for + * multi segment variables. The path variables **must not** refer to any + * repeated or mapped field, because client libraries are not capable of + * handling such variable expansion. The path variables **must not** capture + * the leading "/" character. The reason is that the most common use + * case "{var}" does not capture the leading "/" + * character. For consistency, all path variables must share the same + * behavior. Repeated message fields must not be mapped to URL query + * parameters, because no client library can support such complicated mapping. + * If an API needs to use a JSON array for request or response body, it can + * map the request or response body to a repeated field. However, some gRPC + * Transcoding implementations may not support this feature. + */ + interface Schema$HttpRule { + /** + * Additional HTTP bindings for the selector. Nested bindings must not + * contain an `additional_bindings` field themselves (that is, the nesting + * may only be one level deep). + */ + additionalBindings?: Schema$HttpRule[]; + /** + * The name of the request field whose value is mapped to the HTTP request + * body, or `*` for mapping all request fields not captured by the path + * pattern to the HTTP body, or omitted for not having any HTTP request + * body. NOTE: the referred field must be present at the top-level of the + * request message type. + */ + body?: string; + /** + * The custom pattern is used for specifying an HTTP method that is not + * included in the `pattern` field, such as HEAD, or "*" to leave + * the HTTP method unspecified for this rule. The wild-card rule is useful + * for services that provide content to Web (HTML) clients. + */ + custom?: Schema$CustomHttpPattern; + /** + * Maps to HTTP DELETE. Used for deleting a resource. + */ + delete?: string; + /** + * Maps to HTTP GET. Used for listing and getting information about + * resources. + */ + get?: string; + /** + * Maps to HTTP PATCH. Used for updating a resource. + */ + patch?: string; + /** + * Maps to HTTP POST. Used for creating a resource or performing an action. + */ + post?: string; + /** + * Maps to HTTP PUT. Used for replacing a resource. + */ + put?: string; + /** + * Optional. The name of the response field whose value is mapped to the + * HTTP response body. When omitted, the entire response message will be + * used as the HTTP response body. NOTE: The referred field must be present + * at the top-level of the response message type. + */ + responseBody?: string; + /** + * Selects a method to which this rule applies. Refer to selector for + * syntax details. + */ + selector?: string; + } + /** + * A description of a label. + */ + interface Schema$LabelDescriptor { + /** + * A human-readable description for the label. + */ + description?: string; + /** + * The label key. + */ + key?: string; + /** + * The type of data that can be assigned to the label. + */ + valueType?: string; + } + /** + * The response message for Operations.ListOperations. + */ + interface Schema$ListOperationsResponse { + /** + * The standard List next-page token. + */ + nextPageToken?: string; + /** + * A list of operations that matches the specified filter in the request. + */ + operations?: Schema$Operation[]; + } + /** + * Response message for ListServiceConfigs method. + */ + interface Schema$ListServiceConfigsResponse { + /** + * The token of the next page of results. + */ + nextPageToken?: string; + /** + * The list of service configuration resources. + */ + serviceConfigs?: Schema$Service[]; + } + /** + * Response message for ListServiceRollouts method. + */ + interface Schema$ListServiceRolloutsResponse { + /** + * The token of the next page of results. + */ + nextPageToken?: string; + /** + * The list of rollout resources. + */ + rollouts?: Schema$Rollout[]; + } + /** + * Response message for `ListServices` method. + */ + interface Schema$ListServicesResponse { + /** + * Token that can be passed to `ListServices` to resume a paginated query. + */ + nextPageToken?: string; + /** + * The returned services will only have the name field set. + */ + services?: Schema$ManagedService[]; + } + /** + * A description of a log type. Example in YAML format: - name: + * library.googleapis.com/activity_history description: The history of + * borrowing and returning library items. display_name: Activity labels: + * - key: /customer_id description: Identifier of a library customer + */ + interface Schema$LogDescriptor { + /** + * A human-readable description of this log. This information appears in the + * documentation and can contain details. + */ + description?: string; + /** + * The human-readable name for this log. This information appears on the + * user interface and should be concise. + */ + displayName?: string; + /** + * The set of labels that are available to describe a specific log entry. + * Runtime requests that contain labels not specified here are considered + * invalid. + */ + labels?: Schema$LabelDescriptor[]; + /** + * The name of the log. It must be less than 512 characters long and can + * include the following characters: upper- and lower-case alphanumeric + * characters [A-Za-z0-9], and punctuation characters including slash, + * underscore, hyphen, period [/_-.]. + */ + name?: string; + } + /** + * Logging configuration of the service. The following example shows how to + * configure logs to be sent to the producer and consumer projects. In the + * example, the `activity_history` log is sent to both the producer and + * consumer projects, whereas the `purchase_history` log is only sent to the + * producer project. monitored_resources: - type: + * library.googleapis.com/branch labels: - key: /city description: + * The city where the library branch is located in. - key: /name + * description: The name of the branch. logs: - name: activity_history + * labels: - key: /customer_id - name: purchase_history logging: + * producer_destinations: - monitored_resource: + * library.googleapis.com/branch logs: - activity_history - + * purchase_history consumer_destinations: - monitored_resource: + * library.googleapis.com/branch logs: - activity_history + */ + interface Schema$Logging { + /** + * Logging configurations for sending logs to the consumer project. There + * can be multiple consumer destinations, each one must have a different + * monitored resource type. A log can be used in at most one consumer + * destination. + */ + consumerDestinations?: Schema$LoggingDestination[]; + /** + * Logging configurations for sending logs to the producer project. There + * can be multiple producer destinations, each one must have a different + * monitored resource type. A log can be used in at most one producer + * destination. + */ + producerDestinations?: Schema$LoggingDestination[]; + } + /** + * Configuration of a specific logging destination (the producer project or + * the consumer project). + */ + interface Schema$LoggingDestination { + /** + * Names of the logs to be sent to this destination. Each name must be + * defined in the Service.logs section. If the log name is not a domain + * scoped name, it will be automatically prefixed with the service name + * followed by "/". + */ + logs?: string[]; + /** + * The monitored resource type. The type must be defined in the + * Service.monitored_resources section. + */ + monitoredResource?: string; + } + /** + * The full representation of a Service that is managed by Google Service + * Management. + */ + interface Schema$ManagedService { + /** + * ID of the project that produces and owns this service. + */ + producerProjectId?: string; + /** + * The name of the service. See the [overview](/service-management/overview) + * for naming requirements. + */ + serviceName?: string; + } + /** + * Method represents a method of an API interface. + */ + interface Schema$Method { + /** + * The simple name of this method. + */ + name?: string; + /** + * Any metadata attached to the method. + */ + options?: Schema$Option[]; + /** + * If true, the request is streamed. + */ + requestStreaming?: boolean; + /** + * A URL of the input message type. + */ + requestTypeUrl?: string; + /** + * If true, the response is streamed. + */ + responseStreaming?: boolean; + /** + * The URL of the output message type. + */ + responseTypeUrl?: string; + /** + * The source syntax of this method. + */ + syntax?: string; + } + /** + * Defines a metric type and its schema. Once a metric descriptor is created, + * deleting or altering it stops data collection and makes the metric + * type's existing data unusable. + */ + interface Schema$MetricDescriptor { + /** + * A detailed description of the metric, which can be used in documentation. + */ + description?: string; + /** + * A concise name for the metric, which can be displayed in user interfaces. + * Use sentence case without an ending period, for example "Request + * count". This field is optional but it is recommended to be set for + * any metrics associated with user-visible concepts, such as Quota. + */ + displayName?: string; + /** + * The set of labels that can be used to describe a specific instance of + * this metric type. For example, the + * `appengine.googleapis.com/http/server/response_latencies` metric type has + * a label for the HTTP response code, `response_code`, so you can look at + * latencies for successful responses or just for responses that failed. + */ + labels?: Schema$LabelDescriptor[]; + /** + * Optional. Metadata which can be used to guide usage of the metric. + */ + metadata?: Schema$MetricDescriptorMetadata; + /** + * Whether the metric records instantaneous values, changes to a value, etc. + * Some combinations of `metric_kind` and `value_type` might not be + * supported. + */ + metricKind?: string; + /** + * The resource name of the metric descriptor. + */ + name?: string; + /** + * The metric type, including its DNS name prefix. The type is not + * URL-encoded. All user-defined metric types have the DNS name + * `custom.googleapis.com` or `external.googleapis.com`. Metric types + * should use a natural hierarchical grouping. For example: + * "custom.googleapis.com/invoice/paid/amount" + * "external.googleapis.com/prometheus/up" + * "appengine.googleapis.com/http/server/response_latencies" + */ + type?: string; + /** + * The unit in which the metric value is reported. It is only applicable if + * the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The supported + * units are a subset of [The Unified Code for Units of + * Measure](http://unitsofmeasure.org/ucum.html) standard: **Basic units + * (UNIT)** * `bit` bit * `By` byte * `s` second * `min` minute + * * `h` hour * `d` day **Prefixes (PREFIX)** * `k` kilo + * (10**3) * `M` mega (10**6) * `G` giga (10**9) * `T` tera + * (10**12) * `P` peta (10**15) * `E` exa (10**18) * `Z` + * zetta (10**21) * `Y` yotta (10**24) * `m` milli (10**-3) * + * `u` micro (10**-6) * `n` nano (10**-9) * `p` pico + * (10**-12) * `f` femto (10**-15) * `a` atto (10**-18) * `z` + * zepto (10**-21) * `y` yocto (10**-24) * `Ki` kibi (2**10) * + * `Mi` mebi (2**20) * `Gi` gibi (2**30) * `Ti` tebi (2**40) + * **Grammar** The grammar also includes these connectors: * `/` division + * (as an infix operator, e.g. `1/s`). * `.` multiplication (as an infix + * operator, e.g. `GBy.d`) The grammar for a unit is as follows: Expression + * = Component { "." Component } { "/" Component } ; + * Component = ( [ PREFIX ] UNIT | "%" ) [ Annotation ] | + * Annotation | "1" ; Annotation + * = "{" NAME "}" ; Notes: * `Annotation` is just a + * comment if it follows a `UNIT` and is equivalent to `1` if it is used + * alone. For examples, `{requests}/s == 1/s`, `By{transmitted}/s == + * By/s`. * `NAME` is a sequence of non-blank printable ASCII characters not + * containing '{' or '}'. * `1` represents dimensionless + * value 1, such as in `1/s`. * `%` represents dimensionless value 1/100, + * and annotates values giving a percentage. + */ + unit?: string; + /** + * Whether the measurement is an integer, a floating-point number, etc. Some + * combinations of `metric_kind` and `value_type` might not be supported. + */ + valueType?: string; + } + /** + * Additional annotations that can be used to guide the usage of a metric. + */ + interface Schema$MetricDescriptorMetadata { + /** + * The delay of data points caused by ingestion. Data points older than this + * age are guaranteed to be ingested and available to be read, excluding + * data loss due to errors. + */ + ingestDelay?: string; + /** + * The launch stage of the metric definition. + */ + launchStage?: string; + /** + * The sampling period of metric data points. For metrics which are written + * periodically, consecutive data points are stored at this time interval, + * excluding data loss due to errors. Metrics with a higher granularity have + * a smaller sampling period. + */ + samplePeriod?: string; + } + /** + * Bind API methods to metrics. Binding a method to a metric causes that + * metric's configured quota behaviors to apply to the method call. + */ + interface Schema$MetricRule { + /** + * Metrics to update when the selected methods are called, and the + * associated cost applied to each metric. The key of the map is the metric + * name, and the values are the amount increased for the metric against + * which the quota limits are defined. The value must not be negative. + */ + metricCosts?: any; + /** + * Selects the methods to which this rule applies. Refer to selector for + * syntax details. + */ + selector?: string; + } + /** + * Declares an API Interface to be included in this interface. The including + * interface must redeclare all the methods from the included interface, but + * documentation and options are inherited as follows: - If after comment and + * whitespace stripping, the documentation string of the redeclared method + * is empty, it will be inherited from the original method. - Each + * annotation belonging to the service config (http, visibility) which is + * not set in the redeclared method will be inherited. - If an http + * annotation is inherited, the path pattern will be modified as follows. + * Any version prefix will be replaced by the version of the including + * interface plus the root path if specified. Example of a simple mixin: + * package google.acl.v1; service AccessControl { // Get the + * underlying ACL object. rpc GetAcl(GetAclRequest) returns (Acl) { + * option (google.api.http).get = "/v1/{resource=**}:getAcl"; } } + * package google.storage.v2; service Storage { // rpc + * GetAcl(GetAclRequest) returns (Acl); // Get a data record. rpc + * GetData(GetDataRequest) returns (Data) { option + * (google.api.http).get = "/v2/{resource=**}"; } } + * Example of a mixin configuration: apis: - name: + * google.storage.v2.Storage mixins: - name: + * google.acl.v1.AccessControl The mixin construct implies that all methods + * in `AccessControl` are also declared with same name and request/response + * types in `Storage`. A documentation generator or annotation processor will + * see the effective `Storage.GetAcl` method after inherting documentation and + * annotations as follows: service Storage { // Get the underlying + * ACL object. rpc GetAcl(GetAclRequest) returns (Acl) { option + * (google.api.http).get = "/v2/{resource=**}:getAcl"; } ... + * } Note how the version in the path pattern changed from `v1` to `v2`. If + * the `root` field in the mixin is specified, it should be a relative path + * under which inherited HTTP paths are placed. Example: apis: - + * name: google.storage.v2.Storage mixins: - name: + * google.acl.v1.AccessControl root: acls This implies the following + * inherited HTTP annotation: service Storage { // Get the + * underlying ACL object. rpc GetAcl(GetAclRequest) returns (Acl) { + * option (google.api.http).get = "/v2/acls/{resource=**}:getAcl"; + * } ... } + */ + interface Schema$Mixin { + /** + * The fully qualified name of the interface which is included. + */ + name?: string; + /** + * If non-empty specifies a path under which inherited HTTP paths are + * rooted. + */ + root?: string; + } + /** + * An object that describes the schema of a MonitoredResource object using a + * type name and a set of labels. For example, the monitored resource + * descriptor for Google Compute Engine VM instances has a type of + * `"gce_instance"` and specifies the use of the labels + * `"instance_id"` and `"zone"` to identify particular VM + * instances. Different APIs can support different monitored resource types. + * APIs generally provide a `list` method that returns the monitored resource + * descriptors used by the API. + */ + interface Schema$MonitoredResourceDescriptor { + /** + * Optional. A detailed description of the monitored resource type that + * might be used in documentation. + */ + description?: string; + /** + * Optional. A concise name for the monitored resource type that might be + * displayed in user interfaces. It should be a Title Cased Noun Phrase, + * without any article or other determiners. For example, `"Google + * Cloud SQL Database"`. + */ + displayName?: string; + /** + * Required. A set of labels used to describe instances of this monitored + * resource type. For example, an individual Google Cloud SQL database is + * identified by values for the labels `"database_id"` and + * `"zone"`. + */ + labels?: Schema$LabelDescriptor[]; + /** + * Optional. The resource name of the monitored resource descriptor: + * `"projects/{project_id}/monitoredResourceDescriptors/{type}"` + * where {type} is the value of the `type` field in this object and + * {project_id} is a project ID that provides API-specific context for + * accessing the type. APIs that do not use project information can use the + * resource name format `"monitoredResourceDescriptors/{type}"`. + */ + name?: string; + /** + * Required. The monitored resource type. For example, the type + * `"cloudsql_database"` represents databases in Google Cloud SQL. + * The maximum length of this value is 256 characters. + */ + type?: string; + } + /** + * Monitoring configuration of the service. The example below shows how to + * configure monitored resources and metrics for monitoring. In the example, a + * monitored resource and two metrics are defined. The + * `library.googleapis.com/book/returned_count` metric is sent to both + * producer and consumer projects, whereas the + * `library.googleapis.com/book/overdue_count` metric is only sent to the + * consumer project. monitored_resources: - type: + * library.googleapis.com/branch labels: - key: /city description: + * The city where the library branch is located in. - key: /name + * description: The name of the branch. metrics: - name: + * library.googleapis.com/book/returned_count metric_kind: DELTA + * value_type: INT64 labels: - key: /customer_id - name: + * library.googleapis.com/book/overdue_count metric_kind: GAUGE + * value_type: INT64 labels: - key: /customer_id monitoring: + * producer_destinations: - monitored_resource: + * library.googleapis.com/branch metrics: - + * library.googleapis.com/book/returned_count consumer_destinations: - + * monitored_resource: library.googleapis.com/branch metrics: - + * library.googleapis.com/book/returned_count - + * library.googleapis.com/book/overdue_count + */ + interface Schema$Monitoring { + /** + * Monitoring configurations for sending metrics to the consumer project. + * There can be multiple consumer destinations, each one must have a + * different monitored resource type. A metric can be used in at most one + * consumer destination. + */ + consumerDestinations?: Schema$MonitoringDestination[]; + /** + * Monitoring configurations for sending metrics to the producer project. + * There can be multiple producer destinations, each one must have a + * different monitored resource type. A metric can be used in at most one + * producer destination. + */ + producerDestinations?: Schema$MonitoringDestination[]; + } + /** + * Configuration of a specific monitoring destination (the producer project or + * the consumer project). + */ + interface Schema$MonitoringDestination { + /** + * Names of the metrics to report to this monitoring destination. Each name + * must be defined in Service.metrics section. + */ + metrics?: string[]; + /** + * The monitored resource type. The type must be defined in + * Service.monitored_resources section. + */ + monitoredResource?: string; + } + /** + * OAuth scopes are a way to define data and permissions on data. For example, + * there are scopes defined for "Read-only access to Google + * Calendar" and "Access to Cloud Platform". Users can consent + * to a scope for an application, giving it permission to access that data on + * their behalf. OAuth scope specifications should be fairly coarse grained; + * a user will need to see and understand the text description of what your + * scope means. In most cases: use one or at most two OAuth scopes for an + * entire family of products. If your product has multiple APIs, you should + * probably be sharing the OAuth scope across all of those APIs. When you + * need finer grained OAuth consent screens: talk with your product management + * about how developers will use them in practice. Please note that even + * though each of the canonical scopes is enough for a request to be accepted + * and passed to the backend, a request can still fail due to the backend + * requiring additional scopes or permissions. + */ + interface Schema$OAuthRequirements { + /** + * The list of publicly documented OAuth scopes that are allowed access. An + * OAuth token containing any of these scopes will be accepted. Example: + * canonical_scopes: https://www.googleapis.com/auth/calendar, + * https://www.googleapis.com/auth/calendar.read + */ + canonicalScopes?: string; + } + /** + * This resource represents a long-running operation that is the result of a + * network API call. + */ + interface Schema$Operation { + /** + * If the value is `false`, it means the operation is still in progress. If + * `true`, the operation is completed, and either `error` or `response` is + * available. + */ + done?: boolean; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * Service-specific metadata associated with the operation. It typically + * contains progress information and common metadata such as create time. + * Some services might not provide such metadata. Any method that returns a + * long-running operation should document the metadata type, if any. + */ + metadata?: any; + /** + * The server-assigned name, which is only unique within the same service + * that originally returns it. If you use the default HTTP mapping, the + * `name` should have the format of `operations/some/unique/name`. + */ + name?: string; + /** + * The normal response of the operation in case of success. If the original + * method returns no data on success, such as `Delete`, the response is + * `google.protobuf.Empty`. If the original method is standard + * `Get`/`Create`/`Update`, the response should be the resource. For other + * methods, the response should have the type `XxxResponse`, where `Xxx` is + * the original method name. For example, if the original method name is + * `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: any; + } + /** + * The metadata associated with a long running operation resource. + */ + interface Schema$OperationMetadata { + /** + * Percentage of completion of this operation, ranging from 0 to 100. + */ + progressPercentage?: number; + /** + * The full name of the resources that this operation is directly associated + * with. + */ + resourceNames?: string[]; + /** + * The start time of the operation. + */ + startTime?: string; + /** + * Detailed status information for each step. The order is undetermined. + */ + steps?: Schema$Step[]; + } + /** + * A protocol buffer option, which can be attached to a message, field, + * enumeration, etc. + */ + interface Schema$Option { + /** + * The option's name. For protobuf built-in options (options defined in + * descriptor.proto), this is the short name. For example, + * `"map_entry"`. For custom options, it should be the + * fully-qualified name. For example, `"google.api.http"`. + */ + name?: string; + /** + * The option's value packed in an Any message. If the value is a + * primitive, the corresponding wrapper type defined in + * google/protobuf/wrappers.proto should be used. If the value is an enum, + * it should be stored as an int32 value using the + * google.protobuf.Int32Value type. + */ + value?: any; + } + /** + * Represents a documentation page. A page can contain subpages to represent + * nested documentation set structure. + */ + interface Schema$Page { + /** + * The Markdown content of the page. You can use <code>&#40;== + * include {path} ==&#41;</code> to include content from a + * Markdown file. + */ + content?: string; + /** + * The name of the page. It will be used as an identity of the page to + * generate URI of the page, text of the link to this page in navigation, + * etc. The full page name (start from the root page name to this page + * concatenated with `.`) can be used as reference to the page in your + * documentation. For example: <pre><code>pages: - name: + * Tutorial content: &#40;== include tutorial.md ==&#41; subpages: + * - name: Java content: &#40;== include tutorial_java.md + * ==&#41; </code></pre> You can reference `Java` page using + * Markdown reference link syntax: `Java`. + */ + name?: string; + /** + * Subpages of this page. The order of subpages specified here will be + * honored in the generated docset. + */ + subpages?: Schema$Page[]; + } + /** + * Defines an Identity and Access Management (IAM) policy. It is used to + * specify access control policies for Cloud Platform resources. A `Policy` + * consists of a list of `bindings`. A `binding` binds a list of `members` to + * a `role`, where the members can be user accounts, Google groups, Google + * domains, and service accounts. A `role` is a named list of permissions + * defined by IAM. **JSON Example** { "bindings": [ { + * "role": "roles/owner", "members": [ + * "user:mike@example.com", "group:admins@example.com", + * "domain:google.com", + * "serviceAccount:my-other-app@appspot.gserviceaccount.com" ] }, { + * "role": "roles/viewer", "members": + * ["user:sean@example.com"] } ] } **YAML + * Example** bindings: - members: - user:mike@example.com - + * group:admins@example.com - domain:google.com - + * serviceAccount:my-other-app@appspot.gserviceaccount.com role: + * roles/owner - members: - user:sean@example.com role: + * roles/viewer For a description of IAM and its features, see the [IAM + * developer's guide](https://cloud.google.com/iam/docs). + */ + interface Schema$Policy { + /** + * Specifies cloud audit logging configuration for this policy. + */ + auditConfigs?: Schema$AuditConfig[]; + /** + * Associates a list of `members` to a `role`. `bindings` with no members + * will result in an error. + */ + bindings?: Schema$Binding[]; + /** + * `etag` is used for optimistic concurrency control as a way to help + * prevent simultaneous updates of a policy from overwriting each other. It + * is strongly suggested that systems make use of the `etag` in the + * read-modify-write cycle to perform policy updates in order to avoid race + * conditions: An `etag` is returned in the response to `getIamPolicy`, and + * systems are expected to put that etag in the request to `setIamPolicy` to + * ensure that their change will be applied to the same version of the + * policy. If no `etag` is provided in the call to `setIamPolicy`, then the + * existing policy is overwritten blindly. + */ + etag?: string; + /** + * Deprecated. + */ + version?: number; + } + /** + * Quota configuration helps to achieve fairness and budgeting in service + * usage. The quota configuration works this way: - The service configuration + * defines a set of metrics. - For API calls, the quota.metric_rules maps + * methods to metrics with corresponding costs. - The quota.limits defines + * limits on the metrics, which will be used for quota checks at runtime. An + * example quota configuration in yaml format: quota: limits: - + * name: apiWriteQpsPerProject metric: + * library.googleapis.com/write_calls unit: "1/min/{project}" + * # rate limit for consumer projects values: STANDARD: 10000 + * # The metric rules bind all methods to the read_calls metric, # except + * for the UpdateBook and DeleteBook methods. These two methods # are + * mapped to the write_calls metric, with the UpdateBook method # + * consuming at twice rate as the DeleteBook method. metric_rules: - + * selector: "*" metric_costs: + * library.googleapis.com/read_calls: 1 - selector: + * google.example.library.v1.LibraryService.UpdateBook metric_costs: + * library.googleapis.com/write_calls: 2 - selector: + * google.example.library.v1.LibraryService.DeleteBook metric_costs: + * library.googleapis.com/write_calls: 1 Corresponding Metric definition: + * metrics: - name: library.googleapis.com/read_calls display_name: Read + * requests metric_kind: DELTA value_type: INT64 - name: + * library.googleapis.com/write_calls display_name: Write requests + * metric_kind: DELTA value_type: INT64 + */ + interface Schema$Quota { + /** + * List of `QuotaLimit` definitions for the service. + */ + limits?: Schema$QuotaLimit[]; + /** + * List of `MetricRule` definitions, each one mapping a selected method to + * one or more metrics. + */ + metricRules?: Schema$MetricRule[]; + } + /** + * `QuotaLimit` defines a specific limit that applies over a specified + * duration for a limit type. There can be at most one limit for a duration + * and limit type combination defined within a `QuotaGroup`. + */ + interface Schema$QuotaLimit { + /** + * Default number of tokens that can be consumed during the specified + * duration. This is the number of tokens assigned when a client application + * developer activates the service for his/her project. Specifying a value + * of 0 will block all requests. This can be used if you are provisioning + * quota to selected consumers and blocking others. Similarly, a value of -1 + * will indicate an unlimited quota. No other negative values are allowed. + * Used by group-based quotas only. + */ + defaultLimit?: string; + /** + * Optional. User-visible, extended description for this quota limit. Should + * be used only when more context is needed to understand this limit than + * provided by the limit's display name (see: `display_name`). + */ + description?: string; + /** + * User-visible display name for this limit. Optional. If not set, the UI + * will provide a default display name based on the quota configuration. + * This field can be used to override the default display name generated + * from the configuration. + */ + displayName?: string; + /** + * Duration of this limit in textual notation. Example: "100s", + * "24h", "1d". For duration longer than a day, only + * multiple of days is supported. We support only "100s" and + * "1d" for now. Additional support will be added in the future. + * "0" indicates indefinite duration. Used by group-based quotas + * only. + */ + duration?: string; + /** + * Free tier value displayed in the Developers Console for this limit. The + * free tier is the number of tokens that will be subtracted from the billed + * amount when billing is enabled. This field can only be set on a limit + * with duration "1d", in a billable group; it is invalid on any + * other limit. If this field is not set, it defaults to 0, indicating that + * there is no free tier for this service. Used by group-based quotas only. + */ + freeTier?: string; + /** + * Maximum number of tokens that can be consumed during the specified + * duration. Client application developers can override the default limit up + * to this maximum. If specified, this value cannot be set to a value less + * than the default limit. If not specified, it is set to the default limit. + * To allow clients to apply overrides with no upper bound, set this to -1, + * indicating unlimited maximum quota. Used by group-based quotas only. + */ + maxLimit?: string; + /** + * The name of the metric this quota limit applies to. The quota limits with + * the same metric will be checked together during runtime. The metric must + * be defined within the service config. + */ + metric?: string; + /** + * Name of the quota limit. The name must be provided, and it must be + * unique within the service. The name can only include alphanumeric + * characters as well as '-'. The maximum length of the limit name + * is 64 characters. + */ + name?: string; + /** + * Specify the unit of the quota limit. It uses the same syntax as + * Metric.unit. The supported unit kinds are determined by the quota backend + * system. Here are some examples: * "1/min/{project}" for quota + * per minute per project. Note: the order of unit components is + * insignificant. The "1" at the beginning is required to follow + * the metric unit syntax. + */ + unit?: string; + /** + * Tiered limit values. You must specify this as a key:value pair, with an + * integer value that is the maximum number of requests allowed for the + * specified unit. Currently only STANDARD is supported. + */ + values?: any; + } + /** + * A rollout resource that defines how service configuration versions are + * pushed to control plane systems. Typically, you create a new version of the + * service config, and then create a Rollout to push the service config. + */ + interface Schema$Rollout { + /** + * The user who created the Rollout. Readonly. + */ + createdBy?: string; + /** + * Creation time of the rollout. Readonly. + */ + createTime?: string; + /** + * The strategy associated with a rollout to delete a `ManagedService`. + * Readonly. + */ + deleteServiceStrategy?: Schema$DeleteServiceStrategy; + /** + * Optional unique identifier of this Rollout. Only lower case letters, + * digits and '-' are allowed. If not specified by client, the + * server will generate one. The generated id will have the form of + * <date><revision number>, where "date" is the create + * date in ISO 8601 format. "revision number" is a monotonically + * increasing positive number that is reset every day for each service. An + * example of the generated rollout_id is '2016-02-16r1' + */ + rolloutId?: string; + /** + * The name of the service associated with this Rollout. + */ + serviceName?: string; + /** + * The status of this rollout. Readonly. In case of a failed rollout, the + * system will automatically rollback to the current Rollout version. + * Readonly. + */ + status?: string; + /** + * Google Service Control selects service configurations based on traffic + * percentage. + */ + trafficPercentStrategy?: Schema$TrafficPercentStrategy; + } + /** + * `Service` is the root object of Google service configuration schema. It + * describes basic information about a service, such as the name and the + * title, and delegates other aspects to sub-sections. Each sub-section is + * either a proto message or a repeated proto message that configures a + * specific aspect, such as auth. See each proto message definition for + * details. Example: type: google.api.Service config_version: 3 + * name: calendar.googleapis.com title: Google Calendar API apis: - + * name: google.calendar.v3.Calendar authentication: providers: - + * id: google_calendar_auth jwks_uri: + * https://www.googleapis.com/oauth2/v1/certs issuer: + * https://securetoken.google.com rules: - selector: "*" + * requirements: provider_id: google_calendar_auth + */ + interface Schema$Service { + /** + * A list of API interfaces exported by this service. Only the `name` field + * of the google.protobuf.Api needs to be provided by the configuration + * author, as the remaining fields will be derived from the IDL during the + * normalization process. It is an error to specify an API interface here + * which cannot be resolved against the associated IDL files. + */ + apis?: Schema$Api[]; + /** + * Auth configuration. + */ + authentication?: Schema$Authentication; + /** + * API backend configuration. + */ + backend?: Schema$Backend; + /** + * Billing configuration. + */ + billing?: Schema$Billing; + /** + * The semantic version of the service configuration. The config version + * affects the interpretation of the service configuration. For example, + * certain features are enabled by default for certain config versions. The + * latest config version is `3`. + */ + configVersion?: number; + /** + * Context configuration. + */ + context?: Schema$Context; + /** + * Configuration for the service control plane. + */ + control?: Schema$Control; + /** + * Custom error configuration. + */ + customError?: Schema$CustomError; + /** + * Additional API documentation. + */ + documentation?: Schema$Documentation; + /** + * Configuration for network endpoints. If this is empty, then an endpoint + * with the same name as the service is automatically generated to service + * all defined APIs. + */ + endpoints?: Schema$Endpoint[]; + /** + * A list of all enum types included in this API service. Enums referenced + * directly or indirectly by the `apis` are automatically included. Enums + * which are not referenced but shall be included should be listed here by + * name. Example: enums: - name: google.someapi.v1.SomeEnum + */ + enums?: Schema$Enum[]; + /** + * Experimental configuration. + */ + experimental?: Schema$Experimental; + /** + * HTTP configuration. + */ + http?: Schema$Http; + /** + * A unique ID for a specific instance of this message, typically assigned + * by the client for tracking purpose. If empty, the server may choose to + * generate one instead. Must be no longer than 60 characters. + */ + id?: string; + /** + * Logging configuration. + */ + logging?: Schema$Logging; + /** + * Defines the logs used by this service. + */ + logs?: Schema$LogDescriptor[]; + /** + * Defines the metrics used by this service. + */ + metrics?: Schema$MetricDescriptor[]; + /** + * Defines the monitored resources used by this service. This is required by + * the Service.monitoring and Service.logging configurations. + */ + monitoredResources?: Schema$MonitoredResourceDescriptor[]; + /** + * Monitoring configuration. + */ + monitoring?: Schema$Monitoring; + /** + * The DNS address at which this service is available, e.g. + * `calendar.googleapis.com`. + */ + name?: string; + /** + * The Google project that owns this service. + */ + producerProjectId?: string; + /** + * Quota configuration. + */ + quota?: Schema$Quota; + /** + * Output only. The source information for this configuration if available. + */ + sourceInfo?: Schema$SourceInfo; + /** + * System parameter configuration. + */ + systemParameters?: Schema$SystemParameters; + /** + * A list of all proto message types included in this API service. It serves + * similar purpose as [google.api.Service.types], except that these types + * are not needed by user-defined APIs. Therefore, they will not show up in + * the generated discovery doc. This field should only be used to define + * system APIs in ESF. + */ + systemTypes?: Schema$Type[]; + /** + * The product title for this service. + */ + title?: string; + /** + * A list of all proto message types included in this API service. Types + * referenced directly or indirectly by the `apis` are automatically + * included. Messages which are not referenced but shall be included, such + * as types used by the `google.protobuf.Any` type, should be listed here by + * name. Example: types: - name: google.protobuf.Int32 + */ + types?: Schema$Type[]; + /** + * Configuration controlling usage of this service. + */ + usage?: Schema$Usage; + } + /** + * Request message for `SetIamPolicy` method. + */ + interface Schema$SetIamPolicyRequest { + /** + * REQUIRED: The complete policy to be applied to the `resource`. The size + * of the policy is limited to a few 10s of KB. An empty policy is a valid + * policy but certain Cloud Platform services (such as Projects) might + * reject them. + */ + policy?: Schema$Policy; + /** + * OPTIONAL: A FieldMask specifying which fields of the policy to modify. + * Only the fields in the mask will be modified. If no mask is provided, the + * following default mask is used: paths: "bindings, etag" This + * field is only used by Cloud IAM. + */ + updateMask?: string; + } + /** + * `SourceContext` represents information about the source of a protobuf + * element, like the file in which it is defined. + */ + interface Schema$SourceContext { + /** + * The path-qualified name of the .proto file that contained the associated + * protobuf element. For example: + * `"google/protobuf/source_context.proto"`. + */ + fileName?: string; + } + /** + * Source information used to create a Service Config + */ + interface Schema$SourceInfo { + /** + * All files used during config generation. + */ + sourceFiles?: any[]; + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + /** + * Represents the status of one operation step. + */ + interface Schema$Step { + /** + * The short description of the step. + */ + description?: string; + /** + * The status code. + */ + status?: string; + } + /** + * Request message for SubmitConfigSource method. + */ + interface Schema$SubmitConfigSourceRequest { + /** + * The source configuration for the service. + */ + configSource?: Schema$ConfigSource; + /** + * Optional. If set, this will result in the generation of a + * `google.api.Service` configuration based on the `ConfigSource` provided, + * but the generated config and the sources will NOT be persisted. + */ + validateOnly?: boolean; + } + /** + * Response message for SubmitConfigSource method. + */ + interface Schema$SubmitConfigSourceResponse { + /** + * The generated service configuration. + */ + serviceConfig?: Schema$Service; + } + /** + * Define a parameter's name and location. The parameter may be passed as + * either an HTTP header or a URL query parameter, and if both are passed the + * behavior is implementation-dependent. + */ + interface Schema$SystemParameter { + /** + * Define the HTTP header name to use for the parameter. It is case + * insensitive. + */ + httpHeader?: string; + /** + * Define the name of the parameter, such as "api_key" . It is + * case sensitive. + */ + name?: string; + /** + * Define the URL query parameter name to use for the parameter. It is case + * sensitive. + */ + urlQueryParameter?: string; + } + /** + * Define a system parameter rule mapping system parameter definitions to + * methods. + */ + interface Schema$SystemParameterRule { + /** + * Define parameters. Multiple names may be defined for a parameter. For a + * given method call, only one of them should be used. If multiple names are + * used the behavior is implementation-dependent. If none of the specified + * names are present the behavior is parameter-dependent. + */ + parameters?: Schema$SystemParameter[]; + /** + * Selects the methods to which this rule applies. Use '*' to + * indicate all methods in all APIs. Refer to selector for syntax details. + */ + selector?: string; + } + /** + * ### System parameter configuration A system parameter is a special kind of + * parameter defined by the API system, not by an individual API. It is + * typically mapped to an HTTP header and/or a URL query parameter. This + * configuration specifies which methods change the names of the system + * parameters. + */ + interface Schema$SystemParameters { + /** + * Define system parameters. The parameters defined here will override the + * default parameters implemented by the system. If this field is missing + * from the service config, default system parameters will be used. Default + * system parameters and names is implementation-dependent. Example: define + * api key for all methods system_parameters rules: - + * selector: "*" parameters: - name: api_key + * url_query_parameter: api_key Example: define 2 api key names for a + * specific method. system_parameters rules: - selector: + * "/ListShelves" parameters: - name: + * api_key http_header: Api-Key1 - name: api_key + * http_header: Api-Key2 **NOTE:** All service configuration rules follow + * "last one wins" order. + */ + rules?: Schema$SystemParameterRule[]; + } + /** + * Request message for `TestIamPermissions` method. + */ + interface Schema$TestIamPermissionsRequest { + /** + * The set of permissions to check for the `resource`. Permissions with + * wildcards (such as '*' or 'storage.*') are not allowed. + * For more information see [IAM + * Overview](https://cloud.google.com/iam/docs/overview#permissions). + */ + permissions?: string[]; + } + /** + * Response message for `TestIamPermissions` method. + */ + interface Schema$TestIamPermissionsResponse { + /** + * A subset of `TestPermissionsRequest.permissions` that the caller is + * allowed. + */ + permissions?: string[]; + } + /** + * Strategy that specifies how clients of Google Service Controller want to + * send traffic to use different config versions. This is generally used by + * API proxy to split traffic based on your configured precentage for each + * config version. One example of how to gradually rollout a new service + * configuration using this strategy: Day 1 Rollout { id: + * "example.googleapis.com/rollout_20160206" + * traffic_percent_strategy { percentages: { + * "example.googleapis.com/20160201": 70.00 + * "example.googleapis.com/20160206": 30.00 } } } + * Day 2 Rollout { id: + * "example.googleapis.com/rollout_20160207" + * traffic_percent_strategy: { percentages: { + * "example.googleapis.com/20160206": 100.00 } } } + */ + interface Schema$TrafficPercentStrategy { + /** + * Maps service configuration IDs to their corresponding traffic percentage. + * Key is the service configuration ID, Value is the traffic percentage + * which must be greater than 0.0 and the sum must equal to 100.0. + */ + percentages?: any; + } + /** + * A protocol buffer message type. + */ + interface Schema$Type { + /** + * The list of fields. + */ + fields?: Schema$Field[]; + /** + * The fully qualified message name. + */ + name?: string; + /** + * The list of types appearing in `oneof` definitions in this type. + */ + oneofs?: string[]; + /** + * The protocol buffer options. + */ + options?: Schema$Option[]; + /** + * The source context. + */ + sourceContext?: Schema$SourceContext; + /** + * The source syntax. + */ + syntax?: string; + } + /** + * Response message for UndeleteService method. + */ + interface Schema$UndeleteServiceResponse { + /** + * Revived service resource. + */ + service?: Schema$ManagedService; + } + /** + * Configuration controlling usage of a service. + */ + interface Schema$Usage { + /** + * The full resource name of a channel used for sending notifications to the + * service producer. Google Service Management currently only supports + * [Google Cloud Pub/Sub](https://cloud.google.com/pubsub) as a notification + * channel. To use Google Cloud Pub/Sub as the channel, this must be the + * name of a Cloud Pub/Sub topic that uses the Cloud Pub/Sub topic name + * format documented in https://cloud.google.com/pubsub/docs/overview. + */ + producerNotificationChannel?: string; + /** + * Requirements that must be satisfied before a consumer project can use the + * service. Each requirement is of the form + * <service.name>/<requirement-id>; for example + * 'serviceusage.googleapis.com/billing-enabled'. + */ + requirements?: string[]; + /** + * A list of usage rules that apply to individual API methods. **NOTE:** + * All service configuration rules follow "last one wins" order. + */ + rules?: Schema$UsageRule[]; + } + /** + * Usage configuration rules for the service. NOTE: Under development. Use + * this rule to configure unregistered calls for the service. Unregistered + * calls are calls that do not contain consumer project identity. (Example: + * calls that do not contain an API key). By default, API methods do not allow + * unregistered calls, and each method call must be identified by a consumer + * project identity. Use this rule to allow/disallow unregistered calls. + * Example of an API that wants to allow unregistered calls for entire + * service. usage: rules: - selector: "*" + * allow_unregistered_calls: true Example of a method that wants to allow + * unregistered calls. usage: rules: - selector: + * "google.example.library.v1.LibraryService.CreateBook" + * allow_unregistered_calls: true + */ + interface Schema$UsageRule { + /** + * If true, the selected method allows unregistered calls, e.g. calls that + * don't identify any user or application. + */ + allowUnregisteredCalls?: boolean; + /** + * Selects the methods to which this rule applies. Use '*' to + * indicate all methods in all APIs. Refer to selector for syntax details. + */ + selector?: string; + /** + * If true, the selected method should skip service control and the control + * plane features, such as quota and billing, will not be available. This + * flag is used by Google Cloud Endpoints to bypass checks for internal + * methods, such as service health check methods. + */ + skipServiceControl?: boolean; + } + class Resource$Operations { + root: Servicemanagement; + constructor(root: Servicemanagement); + getRoot(): Servicemanagement; + /** + * servicemanagement.operations.get + * @desc Gets the latest state of a long-running operation. Clients can use + * this method to poll the operation result at intervals as recommended by + * the API service. + * @alias servicemanagement.operations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource. + * @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?: Params$Resource$Operations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Operations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Operations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * servicemanagement.operations.list + * @desc Lists service operations that match the specified filter in the + * request. + * @alias servicemanagement.operations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A string for filtering Operations. The following filter fields are supported: * serviceName: Required. Only `=` operator is allowed. * startTime: The time this job was started, in ISO 8601 format. Allowed operators are `>=`, `>`, `<=`, and `<`. * status: Can be `done`, `in_progress`, or `failed`. Allowed operators are `=`, and `!=`. Filter expression supports conjunction (AND) and disjunction (OR) logical operators. However, the serviceName restriction must be at the top-level and can only be combined with other restrictions via the AND logical operator. Examples: * `serviceName={some-service}.googleapis.com` * `serviceName={some-service}.googleapis.com AND startTime>="2017-02-01"` * `serviceName={some-service}.googleapis.com AND status=done` * `serviceName={some-service}.googleapis.com AND (status=done OR startTime>="2017-02-01")` + * @param {string=} params.name Not used. + * @param {integer=} params.pageSize The maximum number of operations to return. If unspecified, defaults to 50. The maximum value is 100. + * @param {string=} params.pageToken The standard list page token. + * @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?: Params$Resource$Operations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Operations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Operations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Operations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource. + */ + name?: string; + } + interface Params$Resource$Operations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A string for filtering Operations. The following filter fields are + * supported: * serviceName: Required. Only `=` operator is + * allowed. * startTime: The time this job was started, in ISO 8601 + * format. Allowed operators are `>=`, `>`, `<=`, and `<`. * + * status: Can be `done`, `in_progress`, or `failed`. Allowed operators + * are `=`, and `!=`. Filter expression supports conjunction (AND) and + * disjunction (OR) logical operators. However, the serviceName + * restriction must be at the top-level and can only be combined with + * other restrictions via the AND logical operator. Examples: * + * `serviceName={some-service}.googleapis.com` * + * `serviceName={some-service}.googleapis.com AND startTime>="2017-02-01"` + * * `serviceName={some-service}.googleapis.com AND status=done` * + * `serviceName={some-service}.googleapis.com AND (status=done OR + * startTime>="2017-02-01")` + */ + filter?: string; + /** + * Not used. + */ + name?: string; + /** + * The maximum number of operations to return. If unspecified, defaults + * to 50. The maximum value is 100. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } + class Resource$Services { + root: Servicemanagement; + configs: Resource$Services$Configs; + consumers: Resource$Services$Consumers; + rollouts: Resource$Services$Rollouts; + constructor(root: Servicemanagement); + getRoot(): Servicemanagement; + /** + * servicemanagement.services.create + * @desc Creates a new managed service. Please note one producer project can + * own no more than 20 services. Operation + * @alias servicemanagement.services.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().ManagedService} 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 + */ + create(params?: Params$Resource$Services$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Services$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Services$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * servicemanagement.services.delete + * @desc Deletes a managed service. This method will change the service to + * the `Soft-Delete` state for 30 days. Within this period, service + * producers may call UndeleteService to restore the service. After 30 days, + * the service will be permanently deleted. Operation + * @alias servicemanagement.services.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.serviceName The name of the service. See the [overview](/service-management/overview) for naming requirements. For example: `example.googleapis.com`. + * @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?: Params$Resource$Services$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Services$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Services$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * servicemanagement.services.disable + * @desc Disables a service for a project, so it can no longer be be used + * for the project. It prevents accidental usage that may cause unexpected + * billing charges or security leaks. Operation + * @alias servicemanagement.services.disable + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.serviceName Name of the service to disable. Specifying an unknown service name will cause the request to fail. + * @param {().DisableServiceRequest} 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 + */ + disable(params?: Params$Resource$Services$Disable, options?: MethodOptions): AxiosPromise; + disable(params: Params$Resource$Services$Disable, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + disable(params: Params$Resource$Services$Disable, callback: BodyResponseCallback): void; + disable(callback: BodyResponseCallback): void; + /** + * servicemanagement.services.enable + * @desc Enables a service for a project, so it can be used for the project. + * See [Cloud Auth Guide](https://cloud.google.com/docs/authentication) for + * more information. Operation + * @alias servicemanagement.services.enable + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.serviceName Name of the service to enable. Specifying an unknown service name will cause the request to fail. + * @param {().EnableServiceRequest} 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 + */ + enable(params?: Params$Resource$Services$Enable, options?: MethodOptions): AxiosPromise; + enable(params: Params$Resource$Services$Enable, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + enable(params: Params$Resource$Services$Enable, callback: BodyResponseCallback): void; + enable(callback: BodyResponseCallback): void; + /** + * servicemanagement.services.generateConfigReport + * @desc Generates and returns a report (errors, warnings and changes from + * existing configurations) associated with + * GenerateConfigReportRequest.new_value If + * GenerateConfigReportRequest.old_value is specified, + * GenerateConfigReportRequest will contain a single ChangeReport based on + * the comparison between GenerateConfigReportRequest.new_value and + * GenerateConfigReportRequest.old_value. If + * GenerateConfigReportRequest.old_value is not specified, this method will + * compare GenerateConfigReportRequest.new_value with the last pushed + * service configuration. + * @alias servicemanagement.services.generateConfigReport + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().GenerateConfigReportRequest} 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 + */ + generateConfigReport(params?: Params$Resource$Services$Generateconfigreport, options?: MethodOptions): AxiosPromise; + generateConfigReport(params: Params$Resource$Services$Generateconfigreport, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + generateConfigReport(params: Params$Resource$Services$Generateconfigreport, callback: BodyResponseCallback): void; + generateConfigReport(callback: BodyResponseCallback): void; + /** + * servicemanagement.services.get + * @desc Gets a managed service. Authentication is required unless the + * service is public. + * @alias servicemanagement.services.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.serviceName The name of the service. See the `ServiceManager` overview for naming requirements. For example: `example.googleapis.com`. + * @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?: Params$Resource$Services$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Services$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Services$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * servicemanagement.services.getConfig + * @desc Gets a service configuration (version) for a managed service. + * @alias servicemanagement.services.getConfig + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.configId The id of the service configuration resource. This field must be specified for the server to return all fields, including `SourceInfo`. + * @param {string} params.serviceName The name of the service. See the [overview](/service-management/overview) for naming requirements. For example: `example.googleapis.com`. + * @param {string=} params.view Specifies which parts of the Service Config should be returned in the response. + * @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 + */ + getConfig(params?: Params$Resource$Services$Getconfig, options?: MethodOptions): AxiosPromise; + getConfig(params: Params$Resource$Services$Getconfig, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getConfig(params: Params$Resource$Services$Getconfig, callback: BodyResponseCallback): void; + getConfig(callback: BodyResponseCallback): void; + /** + * servicemanagement.services.getIamPolicy + * @desc Gets the access control policy for a resource. Returns an empty + * policy if the resource exists and does not have a policy set. + * @alias servicemanagement.services.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. + * @param {().GetIamPolicyRequest} 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 + */ + getIamPolicy(params?: Params$Resource$Services$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Services$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Services$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * servicemanagement.services.list + * @desc Lists managed services. Returns all public services. For + * authenticated users, also returns all services the calling user has + * "servicemanagement.services.get" permission for. **BETA:** If the caller + * specifies the `consumer_id`, it returns only the services enabled on the + * consumer. The `consumer_id` must have the format of + * "project:{PROJECT-ID}". + * @alias servicemanagement.services.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.consumerId Include services consumed by the specified consumer. The Google Service Management implementation accepts the following forms: - project: + * @param {integer=} params.pageSize Requested size of the next page of data. + * @param {string=} params.pageToken Token identifying which result to start with; returned by a previous list call. + * @param {string=} params.producerProjectId Include services produced by the specified project. + * @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?: Params$Resource$Services$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Services$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Services$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * servicemanagement.services.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @alias servicemanagement.services.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. + * @param {().SetIamPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Services$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Services$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Services$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * servicemanagement.services.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. If + * the resource does not exist, this will return an empty set of + * permissions, not a NOT_FOUND error. Note: This operation is designed to + * be used for building permission-aware UIs and command-line tools, not for + * authorization checking. This operation may "fail open" without warning. + * @alias servicemanagement.services.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. + * @param {().TestIamPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Services$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Services$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Services$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + /** + * servicemanagement.services.undelete + * @desc Revives a previously deleted managed service. The method restores + * the service using the configuration at the time the service was deleted. + * The target service must exist and must have been deleted within the last + * 30 days. Operation + * @alias servicemanagement.services.undelete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.serviceName The name of the service. See the [overview](/service-management/overview) for naming requirements. For example: `example.googleapis.com`. + * @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 + */ + undelete(params?: Params$Resource$Services$Undelete, options?: MethodOptions): AxiosPromise; + undelete(params: Params$Resource$Services$Undelete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + undelete(params: Params$Resource$Services$Undelete, callback: BodyResponseCallback): void; + undelete(callback: BodyResponseCallback): void; + } + interface Params$Resource$Services$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$ManagedService; + } + interface Params$Resource$Services$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the service. See the + * [overview](/service-management/overview) for naming requirements. For + * example: `example.googleapis.com`. + */ + serviceName?: string; + } + interface Params$Resource$Services$Disable { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the service to disable. Specifying an unknown service name will + * cause the request to fail. + */ + serviceName?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DisableServiceRequest; + } + interface Params$Resource$Services$Enable { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the service to enable. Specifying an unknown service name will + * cause the request to fail. + */ + serviceName?: string; + /** + * Request body metadata + */ + requestBody?: Schema$EnableServiceRequest; + } + interface Params$Resource$Services$Generateconfigreport { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$GenerateConfigReportRequest; + } + interface Params$Resource$Services$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the service. See the `ServiceManager` overview for naming + * requirements. For example: `example.googleapis.com`. + */ + serviceName?: string; + } + interface Params$Resource$Services$Getconfig { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The id of the service configuration resource. This field must be + * specified for the server to return all fields, including `SourceInfo`. + */ + configId?: string; + /** + * The name of the service. See the + * [overview](/service-management/overview) for naming requirements. For + * example: `example.googleapis.com`. + */ + serviceName?: string; + /** + * Specifies which parts of the Service Config should be returned in the + * response. + */ + view?: string; + } + interface Params$Resource$Services$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being requested. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GetIamPolicyRequest; + } + interface Params$Resource$Services$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Include services consumed by the specified consumer. The Google Service + * Management implementation accepts the following forms: - + * project: + */ + consumerId?: string; + /** + * Requested size of the next page of data. + */ + pageSize?: number; + /** + * Token identifying which result to start with; returned by a previous list + * call. + */ + pageToken?: string; + /** + * Include services produced by the specified project. + */ + producerProjectId?: string; + } + interface Params$Resource$Services$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being specified. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetIamPolicyRequest; + } + interface Params$Resource$Services$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestIamPermissionsRequest; + } + interface Params$Resource$Services$Undelete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the service. See the [overview](/service-management/overview) + * for naming requirements. For example: `example.googleapis.com`. + */ + serviceName?: string; + } + class Resource$Services$Configs { + root: Servicemanagement; + constructor(root: Servicemanagement); + getRoot(): Servicemanagement; + /** + * servicemanagement.services.configs.create + * @desc Creates a new service configuration (version) for a managed + * service. This method only stores the service configuration. To roll out + * the service configuration to backend systems please call + * CreateServiceRollout. Only the 100 most recent service configurations + * and ones referenced by existing rollouts are kept for each service. The + * rest will be deleted eventually. + * @alias servicemanagement.services.configs.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.serviceName The name of the service. See the [overview](/service-management/overview) for naming requirements. For example: `example.googleapis.com`. + * @param {().Service} 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 + */ + create(params?: Params$Resource$Services$Configs$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Services$Configs$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Services$Configs$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * servicemanagement.services.configs.get + * @desc Gets a service configuration (version) for a managed service. + * @alias servicemanagement.services.configs.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.configId The id of the service configuration resource. This field must be specified for the server to return all fields, including `SourceInfo`. + * @param {string} params.serviceName The name of the service. See the [overview](/service-management/overview) for naming requirements. For example: `example.googleapis.com`. + * @param {string=} params.view Specifies which parts of the Service Config should be returned in the response. + * @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?: Params$Resource$Services$Configs$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Services$Configs$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Services$Configs$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * servicemanagement.services.configs.list + * @desc Lists the history of the service configuration for a managed + * service, from the newest to the oldest. + * @alias servicemanagement.services.configs.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize The max number of items to include in the response list. + * @param {string=} params.pageToken The token of the page to retrieve. + * @param {string} params.serviceName The name of the service. See the [overview](/service-management/overview) for naming requirements. For example: `example.googleapis.com`. + * @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?: Params$Resource$Services$Configs$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Services$Configs$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Services$Configs$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * servicemanagement.services.configs.submit + * @desc Creates a new service configuration (version) for a managed service + * based on user-supplied configuration source files (for example: OpenAPI + * Specification). This method stores the source configurations as well as + * the generated service configuration. To rollout the service configuration + * to other services, please call CreateServiceRollout. Only the 100 most + * recent configuration sources and ones referenced by existing service + * configurtions are kept for each service. The rest will be deleted + * eventually. Operation + * @alias servicemanagement.services.configs.submit + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.serviceName The name of the service. See the [overview](/service-management/overview) for naming requirements. For example: `example.googleapis.com`. + * @param {().SubmitConfigSourceRequest} 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 + */ + submit(params?: Params$Resource$Services$Configs$Submit, options?: MethodOptions): AxiosPromise; + submit(params: Params$Resource$Services$Configs$Submit, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + submit(params: Params$Resource$Services$Configs$Submit, callback: BodyResponseCallback): void; + submit(callback: BodyResponseCallback): void; + } + interface Params$Resource$Services$Configs$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the service. See the + * [overview](/service-management/overview) for naming requirements. For + * example: `example.googleapis.com`. + */ + serviceName?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Service; + } + interface Params$Resource$Services$Configs$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The id of the service configuration resource. This field must be + * specified for the server to return all fields, including `SourceInfo`. + */ + configId?: string; + /** + * The name of the service. See the + * [overview](/service-management/overview) for naming requirements. For + * example: `example.googleapis.com`. + */ + serviceName?: string; + /** + * Specifies which parts of the Service Config should be returned in the + * response. + */ + view?: string; + } + interface Params$Resource$Services$Configs$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The max number of items to include in the response list. + */ + pageSize?: number; + /** + * The token of the page to retrieve. + */ + pageToken?: string; + /** + * The name of the service. See the + * [overview](/service-management/overview) for naming requirements. For + * example: `example.googleapis.com`. + */ + serviceName?: string; + } + interface Params$Resource$Services$Configs$Submit { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the service. See the + * [overview](/service-management/overview) for naming requirements. For + * example: `example.googleapis.com`. + */ + serviceName?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SubmitConfigSourceRequest; + } + class Resource$Services$Consumers { + root: Servicemanagement; + constructor(root: Servicemanagement); + getRoot(): Servicemanagement; + /** + * servicemanagement.services.consumers.getIamPolicy + * @desc Gets the access control policy for a resource. Returns an empty + * policy if the resource exists and does not have a policy set. + * @alias servicemanagement.services.consumers.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. + * @param {().GetIamPolicyRequest} 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 + */ + getIamPolicy(params?: Params$Resource$Services$Consumers$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Services$Consumers$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Services$Consumers$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * servicemanagement.services.consumers.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @alias servicemanagement.services.consumers.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. + * @param {().SetIamPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Services$Consumers$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Services$Consumers$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Services$Consumers$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * servicemanagement.services.consumers.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. If + * the resource does not exist, this will return an empty set of + * permissions, not a NOT_FOUND error. Note: This operation is designed to + * be used for building permission-aware UIs and command-line tools, not for + * authorization checking. This operation may "fail open" without warning. + * @alias servicemanagement.services.consumers.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. + * @param {().TestIamPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Services$Consumers$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Services$Consumers$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Services$Consumers$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Services$Consumers$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being requested. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GetIamPolicyRequest; + } + interface Params$Resource$Services$Consumers$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being specified. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetIamPolicyRequest; + } + interface Params$Resource$Services$Consumers$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestIamPermissionsRequest; + } + class Resource$Services$Rollouts { + root: Servicemanagement; + constructor(root: Servicemanagement); + getRoot(): Servicemanagement; + /** + * servicemanagement.services.rollouts.create + * @desc Creates a new service configuration rollout. Based on rollout, the + * Google Service Management will roll out the service configurations to + * different backend services. For example, the logging configuration will + * be pushed to Google Cloud Logging. Please note that any previous pending + * and running Rollouts and associated Operations will be automatically + * cancelled so that the latest Rollout will not be blocked by previous + * Rollouts. Only the 100 most recent (in any state) and the last 10 + * successful (if not already part of the set of 100 most recent) rollouts + * are kept for each service. The rest will be deleted eventually. + * Operation + * @alias servicemanagement.services.rollouts.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.serviceName The name of the service. See the [overview](/service-management/overview) for naming requirements. For example: `example.googleapis.com`. + * @param {().Rollout} 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 + */ + create(params?: Params$Resource$Services$Rollouts$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Services$Rollouts$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Services$Rollouts$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * servicemanagement.services.rollouts.get + * @desc Gets a service configuration rollout. + * @alias servicemanagement.services.rollouts.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.rolloutId The id of the rollout resource. + * @param {string} params.serviceName The name of the service. See the [overview](/service-management/overview) for naming requirements. For example: `example.googleapis.com`. + * @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?: Params$Resource$Services$Rollouts$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Services$Rollouts$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Services$Rollouts$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * servicemanagement.services.rollouts.list + * @desc Lists the history of the service configuration rollouts for a + * managed service, from the newest to the oldest. + * @alias servicemanagement.services.rollouts.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter Use `filter` to return subset of rollouts. The following filters are supported: -- To limit the results to only those in [status](google.api.servicemanagement.v1.RolloutStatus) 'SUCCESS', use filter='status=SUCCESS' -- To limit the results to those in [status](google.api.servicemanagement.v1.RolloutStatus) 'CANCELLED' or 'FAILED', use filter='status=CANCELLED OR status=FAILED' + * @param {integer=} params.pageSize The max number of items to include in the response list. + * @param {string=} params.pageToken The token of the page to retrieve. + * @param {string} params.serviceName The name of the service. See the [overview](/service-management/overview) for naming requirements. For example: `example.googleapis.com`. + * @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?: Params$Resource$Services$Rollouts$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Services$Rollouts$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Services$Rollouts$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Services$Rollouts$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the service. See the + * [overview](/service-management/overview) for naming requirements. For + * example: `example.googleapis.com`. + */ + serviceName?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Rollout; + } + interface Params$Resource$Services$Rollouts$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The id of the rollout resource. + */ + rolloutId?: string; + /** + * The name of the service. See the + * [overview](/service-management/overview) for naming requirements. For + * example: `example.googleapis.com`. + */ + serviceName?: string; + } + interface Params$Resource$Services$Rollouts$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Use `filter` to return subset of rollouts. The following filters are + * supported: -- To limit the results to only those in + * [status](google.api.servicemanagement.v1.RolloutStatus) 'SUCCESS', use + * filter='status=SUCCESS' -- To limit the results to those in + * [status](google.api.servicemanagement.v1.RolloutStatus) 'CANCELLED' or + * 'FAILED', use filter='status=CANCELLED OR status=FAILED' + */ + filter?: string; + /** + * The max number of items to include in the response list. + */ + pageSize?: number; + /** + * The token of the page to retrieve. + */ + pageToken?: string; + /** + * The name of the service. See the + * [overview](/service-management/overview) for naming requirements. For + * example: `example.googleapis.com`. + */ + serviceName?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/servicemanagement/v1.js b/express-server/node_modules/googleapis/build/src/apis/servicemanagement/v1.js new file mode 100644 index 00000000..fb6c3f38 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/servicemanagement/v1.js @@ -0,0 +1,851 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var servicemanagement_v1; +(function (servicemanagement_v1) { + /** + * Service Management API + * + * Google Service Management allows service producers to publish their + * services on Google Cloud Platform so that they can be discovered and used + * by service consumers. + * + * @example + * const {google} = require('googleapis'); + * const servicemanagement = google.servicemanagement('v1'); + * + * @namespace servicemanagement + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Servicemanagement + */ + class Servicemanagement { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.operations = new Resource$Operations(this); + this.services = new Resource$Services(this); + } + getRoot() { + return this.root; + } + } + servicemanagement_v1.Servicemanagement = Servicemanagement; + class Resource$Operations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicemanagement.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicemanagement.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/operations').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + servicemanagement_v1.Resource$Operations = Resource$Operations; + class Resource$Services { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.configs = new Resource$Services$Configs(root); + this.consumers = new Resource$Services$Consumers(root); + this.rollouts = new Resource$Services$Rollouts(root); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicemanagement.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/services').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicemanagement.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/services/{serviceName}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['serviceName'], + pathParams: ['serviceName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + disable(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicemanagement.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/services/{serviceName}:disable') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['serviceName'], + pathParams: ['serviceName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + enable(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicemanagement.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/services/{serviceName}:enable') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['serviceName'], + pathParams: ['serviceName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + generateConfigReport(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicemanagement.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/services:generateConfigReport') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicemanagement.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/services/{serviceName}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['serviceName'], + pathParams: ['serviceName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getConfig(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicemanagement.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/services/{serviceName}/config') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['serviceName'], + pathParams: ['serviceName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicemanagement.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicemanagement.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/services').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicemanagement.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicemanagement.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + undelete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicemanagement.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/services/{serviceName}:undelete') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['serviceName'], + pathParams: ['serviceName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + servicemanagement_v1.Resource$Services = Resource$Services; + class Resource$Services$Configs { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicemanagement.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/services/{serviceName}/configs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['serviceName'], + pathParams: ['serviceName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicemanagement.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/services/{serviceName}/configs/{configId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['serviceName', 'configId'], + pathParams: ['configId', 'serviceName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicemanagement.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/services/{serviceName}/configs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['serviceName'], + pathParams: ['serviceName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + submit(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicemanagement.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/services/{serviceName}/configs:submit') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['serviceName'], + pathParams: ['serviceName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + servicemanagement_v1.Resource$Services$Configs = Resource$Services$Configs; + class Resource$Services$Consumers { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicemanagement.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicemanagement.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicemanagement.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + servicemanagement_v1.Resource$Services$Consumers = Resource$Services$Consumers; + class Resource$Services$Rollouts { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicemanagement.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/services/{serviceName}/rollouts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['serviceName'], + pathParams: ['serviceName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicemanagement.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/services/{serviceName}/rollouts/{rolloutId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['serviceName', 'rolloutId'], + pathParams: ['rolloutId', 'serviceName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://servicemanagement.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/services/{serviceName}/rollouts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['serviceName'], + pathParams: ['serviceName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + servicemanagement_v1.Resource$Services$Rollouts = Resource$Services$Rollouts; +})(servicemanagement_v1 = exports.servicemanagement_v1 || (exports.servicemanagement_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/servicemanagement/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/servicemanagement/v1.js.map new file mode 100644 index 00000000..52ae0871 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/servicemanagement/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/servicemanagement/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/serviceusage/README.md b/express-server/node_modules/googleapis/build/src/apis/serviceusage/README.md new file mode 100644 index 00000000..35ded332 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/serviceusage/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/serviceusage + +> Enables services that service consumers want to use on Google Cloud Platform, lists the available or enabled services, or disables services that service consumers no longer use. + +## Installation + +```sh +$ npm install @google/serviceusage +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/serviceusage/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/serviceusage/index.d.ts new file mode 100644 index 00000000..f5b20cfb --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/serviceusage/index.d.ts @@ -0,0 +1,10 @@ +import { serviceusage_v1 } from './v1'; +import { serviceusage_v1beta1 } from './v1beta1'; +export declare const VERSIONS: { + 'v1': typeof serviceusage_v1.Serviceusage; + 'v1beta1': typeof serviceusage_v1beta1.Serviceusage; +}; +export declare function serviceusage(version: 'v1'): serviceusage_v1.Serviceusage; +export declare function serviceusage(options: serviceusage_v1.Options): serviceusage_v1.Serviceusage; +export declare function serviceusage(version: 'v1beta1'): serviceusage_v1beta1.Serviceusage; +export declare function serviceusage(options: serviceusage_v1beta1.Options): serviceusage_v1beta1.Serviceusage; diff --git a/express-server/node_modules/googleapis/build/src/apis/serviceusage/index.js b/express-server/node_modules/googleapis/build/src/apis/serviceusage/index.js new file mode 100644 index 00000000..8232a21f --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/serviceusage/index.js @@ -0,0 +1,27 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +const v1beta1_1 = require("./v1beta1"); +exports.VERSIONS = { + 'v1': v1_1.serviceusage_v1.Serviceusage, + 'v1beta1': v1beta1_1.serviceusage_v1beta1.Serviceusage, +}; +function serviceusage(versionOrOptions) { + return googleapis_common_1.getAPI('serviceusage', versionOrOptions, exports.VERSIONS, this); +} +exports.serviceusage = serviceusage; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/serviceusage/index.js.map b/express-server/node_modules/googleapis/build/src/apis/serviceusage/index.js.map new file mode 100644 index 00000000..5b065e05 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/serviceusage/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/serviceusage/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAqC;AACrC,uCAA+C;AAElC,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,oBAAe,CAAC,YAAY;IAClC,SAAS,EAAE,8BAAoB,CAAC,YAAY;CAC7C,CAAC;AASF,SAAgB,YAAY,CAGxB,gBAC8D;IAChE,OAAO,0BAAM,CAAI,cAAc,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACrE,CAAC;AAND,oCAMC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/serviceusage/package.json b/express-server/node_modules/googleapis/build/src/apis/serviceusage/package.json new file mode 100644 index 00000000..057843e3 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/serviceusage/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/serviceusage", + "version": "0.1.0", + "description": "serviceusage", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/serviceusage/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/serviceusage/v1.d.ts new file mode 100644 index 00000000..78f843a1 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/serviceusage/v1.d.ts @@ -0,0 +1,2466 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace serviceusage_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Service Usage API + * + * Enables services that service consumers want to use on Google Cloud + * Platform, lists the available or enabled services, or disables services + * that service consumers no longer use. + * + * @example + * const {google} = require('googleapis'); + * const serviceusage = google.serviceusage('v1'); + * + * @namespace serviceusage + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Serviceusage + */ + class Serviceusage { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + operations: Resource$Operations; + services: Resource$Services; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Api is a light-weight descriptor for an API Interface. Interfaces are also + * described as "protocol buffer services" in some contexts, such as + * by the "service" keyword in a .proto file, but they are different + * from API Services, which represent a concrete implementation of an + * interface as opposed to simply a description of methods and bindings. They + * are also sometimes simply referred to as "APIs" in other + * contexts, such as the name of this message itself. See + * https://cloud.google.com/apis/design/glossary for detailed terminology. + */ + interface Schema$Api { + /** + * The methods of this interface, in unspecified order. + */ + methods?: Schema$Method[]; + /** + * Included interfaces. See Mixin. + */ + mixins?: Schema$Mixin[]; + /** + * The fully qualified name of this interface, including package name + * followed by the interface's simple name. + */ + name?: string; + /** + * Any metadata attached to the interface. + */ + options?: Schema$Option[]; + /** + * Source context for the protocol buffer service represented by this + * message. + */ + sourceContext?: Schema$SourceContext; + /** + * The source syntax of the service. + */ + syntax?: string; + /** + * A version string for this interface. If specified, must have the form + * `major-version.minor-version`, as in `1.10`. If the minor version is + * omitted, it defaults to zero. If the entire version field is empty, the + * major version is derived from the package name, as outlined below. If the + * field is not empty, the version in the package name will be verified to + * be consistent with what is provided here. The versioning schema uses + * [semantic versioning](http://semver.org) where the major version number + * indicates a breaking change and the minor version an additive, + * non-breaking change. Both version numbers are signals to users what to + * expect from different versions, and should be carefully chosen based on + * the product plan. The major version is also reflected in the package + * name of the interface, which must end in `v<major-version>`, as in + * `google.feature.v1`. For major versions 0 and 1, the suffix can be + * omitted. Zero major versions must only be used for experimental, non-GA + * interfaces. + */ + version?: string; + } + /** + * `Authentication` defines the authentication configuration for an API. + * Example for an API targeted for external use: name: + * calendar.googleapis.com authentication: providers: - id: + * google_calendar_auth jwks_uri: + * https://www.googleapis.com/oauth2/v1/certs issuer: + * https://securetoken.google.com rules: - selector: "*" + * requirements: provider_id: google_calendar_auth + */ + interface Schema$Authentication { + /** + * Defines a set of authentication providers that a service supports. + */ + providers?: Schema$AuthProvider[]; + /** + * A list of authentication rules that apply to individual API methods. + * **NOTE:** All service configuration rules follow "last one + * wins" order. + */ + rules?: Schema$AuthenticationRule[]; + } + /** + * Authentication rules for the service. By default, if a method has any + * authentication requirements, every request must include a valid credential + * matching one of the requirements. It's an error to include more than + * one kind of credential in a single request. If a method doesn't have + * any auth requirements, request credentials will be ignored. + */ + interface Schema$AuthenticationRule { + /** + * If true, the service accepts API keys without any other credential. + */ + allowWithoutCredential?: boolean; + /** + * The requirements for OAuth credentials. + */ + oauth?: Schema$OAuthRequirements; + /** + * Requirements for additional authentication providers. + */ + requirements?: Schema$AuthRequirement[]; + /** + * Selects the methods to which this rule applies. Refer to selector for + * syntax details. + */ + selector?: string; + } + /** + * Configuration of authorization. This section determines the authorization + * provider, if unspecified, then no authorization check will be done. + * Example: experimental: authorization: provider: + * firebaserules.googleapis.com + */ + interface Schema$AuthorizationConfig { + /** + * The name of the authorization provider, such as + * firebaserules.googleapis.com. + */ + provider?: string; + } + /** + * Configuration for an anthentication provider, including support for [JSON + * Web Token + * (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32). + */ + interface Schema$AuthProvider { + /** + * The list of JWT + * [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3). + * that are allowed to access. A JWT containing any of these audiences will + * be accepted. When this setting is absent, only JWTs with audience + * "https://Service_name/API_name" will be accepted. For example, + * if no audiences are in the setting, LibraryService API will only accept + * JWTs with the following audience + * "https://library-example.googleapis.com/google.example.library.v1.LibraryService". + * Example: audiences: bookstore_android.apps.googleusercontent.com, + * bookstore_web.apps.googleusercontent.com + */ + audiences?: string; + /** + * Redirect URL if JWT token is required but no present or is expired. + * Implement authorizationUrl of securityDefinitions in OpenAPI spec. + */ + authorizationUrl?: string; + /** + * The unique identifier of the auth provider. It will be referred to by + * `AuthRequirement.provider_id`. Example: "bookstore_auth". + */ + id?: string; + /** + * Identifies the principal that issued the JWT. See + * https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.1 + * Usually a URL or an email address. Example: + * https://securetoken.google.com Example: + * 1234567-compute@developer.gserviceaccount.com + */ + issuer?: string; + /** + * URL of the provider's public key set to validate signature of the + * JWT. See [OpenID + * Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata). + * Optional if the key set document: - can be retrieved from [OpenID + * Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html of + * the issuer. - can be inferred from the email domain of the issuer (e.g. + * a Google service account). Example: + * https://www.googleapis.com/oauth2/v1/certs + */ + jwksUri?: string; + } + /** + * User-defined authentication requirements, including support for [JSON Web + * Token + * (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32). + */ + interface Schema$AuthRequirement { + /** + * NOTE: This will be deprecated soon, once AuthProvider.audiences is + * implemented and accepted in all the runtime components. The list of JWT + * [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3). + * that are allowed to access. A JWT containing any of these audiences will + * be accepted. When this setting is absent, only JWTs with audience + * "https://Service_name/API_name" will be accepted. For example, + * if no audiences are in the setting, LibraryService API will only accept + * JWTs with the following audience + * "https://library-example.googleapis.com/google.example.library.v1.LibraryService". + * Example: audiences: bookstore_android.apps.googleusercontent.com, + * bookstore_web.apps.googleusercontent.com + */ + audiences?: string; + /** + * id from authentication provider. Example: provider_id: + * bookstore_auth + */ + providerId?: string; + } + /** + * `Backend` defines the backend configuration for a service. + */ + interface Schema$Backend { + /** + * A list of API backend rules that apply to individual API methods. + * **NOTE:** All service configuration rules follow "last one + * wins" order. + */ + rules?: Schema$BackendRule[]; + } + /** + * A backend rule provides configuration for an individual API element. + */ + interface Schema$BackendRule { + /** + * The address of the API backend. + */ + address?: string; + /** + * The number of seconds to wait for a response from a request. The default + * deadline for gRPC is infinite (no deadline) and HTTP requests is 5 + * seconds. + */ + deadline?: number; + /** + * Minimum deadline in seconds needed for this method. Calls having deadline + * value lower than this will be rejected. + */ + minDeadline?: number; + /** + * Selects the methods to which this rule applies. Refer to selector for + * syntax details. + */ + selector?: string; + } + /** + * Request message for the `BatchEnableServices` method. + */ + interface Schema$BatchEnableServicesRequest { + /** + * The identifiers of the services to enable on the project. A valid + * identifier would be: serviceusage.googleapis.com Enabling services + * requires that each service is public or is shared with the user enabling + * the service. Two or more services must be specified. To enable a single + * service, use the `EnableService` method instead. A single request can + * enable a maximum of 20 services at a time. If more than 20 services are + * specified, the request will fail, and no state changes will occur. + */ + serviceIds?: string[]; + } + /** + * Response message for the `BatchEnableServices` method. This response + * message is assigned to the `response` field of the returned Operation when + * that operation is done. + */ + interface Schema$BatchEnableServicesResponse { + /** + * If allow_partial_success is true, and one or more services could not be + * enabled, this field contains the details about each failure. + */ + failures?: Schema$EnableFailure[]; + /** + * The new state of the services after enabling. + */ + services?: Schema$GoogleApiServiceusageV1Service[]; + } + /** + * Billing related configuration of the service. The following example shows + * how to configure monitored resources and metrics for billing: + * monitored_resources: - type: library.googleapis.com/branch labels: - + * key: /city description: The city where the library branch is + * located in. - key: /name description: The name of the branch. + * metrics: - name: library.googleapis.com/book/borrowed_count + * metric_kind: DELTA value_type: INT64 billing: + * consumer_destinations: - monitored_resource: + * library.googleapis.com/branch metrics: - + * library.googleapis.com/book/borrowed_count + */ + interface Schema$Billing { + /** + * Billing configurations for sending metrics to the consumer project. There + * can be multiple consumer destinations per service, each one must have a + * different monitored resource type. A metric can be used in at most one + * consumer destination. + */ + consumerDestinations?: Schema$BillingDestination[]; + } + /** + * Configuration of a specific billing destination (Currently only support + * bill against consumer project). + */ + interface Schema$BillingDestination { + /** + * Names of the metrics to report to this billing destination. Each name + * must be defined in Service.metrics section. + */ + metrics?: string[]; + /** + * The monitored resource type. The type must be defined in + * Service.monitored_resources section. + */ + monitoredResource?: string; + } + /** + * The request message for Operations.CancelOperation. + */ + interface Schema$CancelOperationRequest { + } + /** + * `Context` defines which contexts an API requests. Example: context: + * rules: - selector: "*" requested: - + * google.rpc.context.ProjectContext - + * google.rpc.context.OriginContext The above specifies that all methods in + * the API request `google.rpc.context.ProjectContext` and + * `google.rpc.context.OriginContext`. Available context types are defined in + * package `google.rpc.context`. This also provides mechanism to whitelist + * any protobuf message extension that can be sent in grpc metadata using + * “x-goog-ext-<extension_id>-bin” and + * “x-goog-ext-<extension_id>-jspb” format. For example, list any + * service specific protobuf types that can appear in grpc metadata as follows + * in your yaml file: Example: context: rules: - selector: + * "google.example.library.v1.LibraryService.CreateBook" + * allowed_request_extensions: - google.foo.v1.NewExtension + * allowed_response_extensions: - google.foo.v1.NewExtension You can + * also specify extension ID instead of fully qualified extension name here. + */ + interface Schema$Context { + /** + * A list of RPC context rules that apply to individual API methods. + * **NOTE:** All service configuration rules follow "last one + * wins" order. + */ + rules?: Schema$ContextRule[]; + } + /** + * A context rule provides information about the context for an individual API + * element. + */ + interface Schema$ContextRule { + /** + * A list of full type names or extension IDs of extensions allowed in grpc + * side channel from client to backend. + */ + allowedRequestExtensions?: string[]; + /** + * A list of full type names or extension IDs of extensions allowed in grpc + * side channel from backend to client. + */ + allowedResponseExtensions?: string[]; + /** + * A list of full type names of provided contexts. + */ + provided?: string[]; + /** + * A list of full type names of requested contexts. + */ + requested?: string[]; + /** + * Selects the methods to which this rule applies. Refer to selector for + * syntax details. + */ + selector?: string; + } + /** + * Selects and configures the service controller used by the service. The + * service controller handles features like abuse, quota, billing, logging, + * monitoring, etc. + */ + interface Schema$Control { + /** + * The service control environment to use. If empty, no control plane + * feature (like quota and billing) will be enabled. + */ + environment?: string; + } + /** + * Customize service error responses. For example, list any service specific + * protobuf types that can appear in error detail lists of error responses. + * Example: custom_error: types: - google.foo.v1.CustomError + * - google.foo.v1.AnotherError + */ + interface Schema$CustomError { + /** + * The list of custom error rules that apply to individual API messages. + * **NOTE:** All service configuration rules follow "last one + * wins" order. + */ + rules?: Schema$CustomErrorRule[]; + /** + * The list of custom error detail types, e.g. + * 'google.foo.v1.CustomError'. + */ + types?: string[]; + } + /** + * A custom error rule. + */ + interface Schema$CustomErrorRule { + /** + * Mark this message as possible payload in error response. Otherwise, + * objects of this type will be filtered when they appear in error payload. + */ + isErrorType?: boolean; + /** + * Selects messages to which this rule applies. Refer to selector for + * syntax details. + */ + selector?: string; + } + /** + * A custom pattern is used for defining custom HTTP verb. + */ + interface Schema$CustomHttpPattern { + /** + * The name of this custom HTTP verb. + */ + kind?: string; + /** + * The path matched by this custom verb. + */ + path?: string; + } + /** + * Request message for the `DisableService` method. + */ + interface Schema$DisableServiceRequest { + /** + * Indicates if services that are enabled and which depend on this service + * should also be disabled. If not set, an error will be generated if any + * enabled services depend on the service to be disabled. When set, the + * service, and any enabled services that depend on it, will be disabled + * together. + */ + disableDependentServices?: boolean; + } + /** + * Response message for the `DisableService` method. This response message is + * assigned to the `response` field of the returned Operation when that + * operation is done. + */ + interface Schema$DisableServiceResponse { + /** + * The new state of the service after disabling. + */ + service?: Schema$GoogleApiServiceusageV1Service; + } + /** + * `Documentation` provides the information for describing a service. Example: + * <pre><code>documentation: summary: > The Google + * Calendar API gives access to most calendar features. pages: - name: + * Overview content: &#40;== include google/foo/overview.md + * ==&#41; - name: Tutorial content: &#40;== include + * google/foo/tutorial.md ==&#41; subpages; - name: Java content: + * &#40;== include google/foo/tutorial_java.md ==&#41; rules: - + * selector: google.calendar.Calendar.Get description: > ... - + * selector: google.calendar.Calendar.Put description: > ... + * </code></pre> Documentation is provided in markdown syntax. In + * addition to standard markdown features, definition lists, tables and fenced + * code blocks are supported. Section headers can be provided and are + * interpreted relative to the section nesting of the context where a + * documentation fragment is embedded. Documentation from the IDL is merged + * with documentation defined via the config at normalization time, where + * documentation provided by config rules overrides IDL provided. A number of + * constructs specific to the API platform are supported in documentation + * text. In order to reference a proto element, the following notation can be + * used: + * <pre><code>&#91;fully.qualified.proto.name]&#91;]</code></pre> + * To override the display text used for the link, this can be used: + * <pre><code>&#91;display + * text]&#91;fully.qualified.proto.name]</code></pre> Text can + * be excluded from doc using the following notation: + * <pre><code>&#40;-- internal comment + * --&#41;</code></pre> A few directives are available in + * documentation. Note that directives must appear on a single line to be + * properly identified. The `include` directive includes a markdown file from + * an external source: <pre><code>&#40;== include path/to/file + * ==&#41;</code></pre> The `resource_for` directive marks a + * message to be the resource of a collection in REST view. If it is not + * specified, tools attempt to infer the resource from the operations in a + * collection: <pre><code>&#40;== resource_for + * v1.shelves.books ==&#41;</code></pre> The directive + * `suppress_warning` does not directly affect documentation and is documented + * together with service config validation. + */ + interface Schema$Documentation { + /** + * The URL to the root of documentation. + */ + documentationRootUrl?: string; + /** + * Declares a single overview page. For example: + * <pre><code>documentation: summary: ... overview: + * &#40;== include overview.md ==&#41; </code></pre> + * This is a shortcut for the following declaration (using pages style): + * <pre><code>documentation: summary: ... pages: - name: + * Overview content: &#40;== include overview.md ==&#41; + * </code></pre> Note: you cannot specify both `overview` field + * and `pages` field. + */ + overview?: string; + /** + * The top level pages for the documentation set. + */ + pages?: Schema$Page[]; + /** + * A list of documentation rules that apply to individual API elements. + * **NOTE:** All service configuration rules follow "last one + * wins" order. + */ + rules?: Schema$DocumentationRule[]; + /** + * A short summary of what the service does. Can only be provided by plain + * text. + */ + summary?: string; + } + /** + * A documentation rule provides information about individual API elements. + */ + interface Schema$DocumentationRule { + /** + * Deprecation description of the selected element(s). It can be provided if + * an element is marked as `deprecated`. + */ + deprecationDescription?: string; + /** + * Description of the selected API(s). + */ + description?: string; + /** + * The selector is a comma-separated list of patterns. Each pattern is a + * qualified name of the element which may end in "*", indicating + * a wildcard. Wildcards are only allowed at the end and for a whole + * component of the qualified name, i.e. "foo.*" is ok, but not + * "foo.b*" or "foo.*.bar". To specify a default for all + * applicable elements, the whole pattern "*" is used. + */ + selector?: string; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * Provides error messages for the failing services. + */ + interface Schema$EnableFailure { + /** + * An error message describing why the service could not be enabled. + */ + errorMessage?: string; + /** + * The service id of a service that could not be enabled. + */ + serviceId?: string; + } + /** + * Request message for the `EnableService` method. + */ + interface Schema$EnableServiceRequest { + } + /** + * Response message for the `EnableService` method. This response message is + * assigned to the `response` field of the returned Operation when that + * operation is done. + */ + interface Schema$EnableServiceResponse { + /** + * The new state of the service after enabling. + */ + service?: Schema$GoogleApiServiceusageV1Service; + } + /** + * `Endpoint` describes a network endpoint that serves a set of APIs. A + * service may expose any number of endpoints, and all endpoints share the + * same service configuration, such as quota configuration and monitoring + * configuration. Example service configuration: name: + * library-example.googleapis.com endpoints: # Below entry makes + * 'google.example.library.v1.Library' # API be served from + * endpoint address library-example.googleapis.com. # It also allows + * HTTP OPTIONS calls to be passed to the backend, for # it to decide + * whether the subsequent cross-origin request is # allowed to proceed. + * - name: library-example.googleapis.com allow_cors: true + */ + interface Schema$Endpoint { + /** + * DEPRECATED: This field is no longer supported. Instead of using aliases, + * please specify multiple google.api.Endpoint for each of the intended + * aliases. Additional names that this endpoint will be hosted on. + */ + aliases?: string[]; + /** + * Allowing + * [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka + * cross-domain traffic, would allow the backends served from this endpoint + * to receive and respond to HTTP OPTIONS requests. The response will be + * used by the browser to determine whether the subsequent cross-origin + * request is allowed to proceed. + */ + allowCors?: boolean; + /** + * The list of features enabled on this endpoint. + */ + features?: string[]; + /** + * The canonical name of this endpoint. + */ + name?: string; + /** + * The specification of an Internet routable address of API frontend that + * will handle requests to this [API + * Endpoint](https://cloud.google.com/apis/design/glossary). It should be + * either a valid IPv4 address or a fully-qualified domain name. For + * example, "8.8.8.8" or "myservice.appspot.com". + */ + target?: string; + } + /** + * Enum type definition. + */ + interface Schema$Enum { + /** + * Enum value definitions. + */ + enumvalue?: Schema$EnumValue[]; + /** + * Enum type name. + */ + name?: string; + /** + * Protocol buffer options. + */ + options?: Schema$Option[]; + /** + * The source context. + */ + sourceContext?: Schema$SourceContext; + /** + * The source syntax. + */ + syntax?: string; + } + /** + * Enum value definition. + */ + interface Schema$EnumValue { + /** + * Enum value name. + */ + name?: string; + /** + * Enum value number. + */ + number?: number; + /** + * Protocol buffer options. + */ + options?: Schema$Option[]; + } + /** + * Experimental service configuration. These configuration options can only be + * used by whitelisted users. + */ + interface Schema$Experimental { + /** + * Authorization configuration. + */ + authorization?: Schema$AuthorizationConfig; + } + /** + * A single field of a message type. + */ + interface Schema$Field { + /** + * The field cardinality. + */ + cardinality?: string; + /** + * The string value of the default value of this field. Proto2 syntax only. + */ + defaultValue?: string; + /** + * The field JSON name. + */ + jsonName?: string; + /** + * The field type. + */ + kind?: string; + /** + * The field name. + */ + name?: string; + /** + * The field number. + */ + number?: number; + /** + * The index of the field type in `Type.oneofs`, for message or enumeration + * types. The first type has index 1; zero means the type is not in the + * list. + */ + oneofIndex?: number; + /** + * The protocol buffer options. + */ + options?: Schema$Option[]; + /** + * Whether to use alternative packed wire representation. + */ + packed?: boolean; + /** + * The field type URL, without the scheme, for message or enumeration types. + * Example: `"type.googleapis.com/google.protobuf.Timestamp"`. + */ + typeUrl?: string; + } + /** + * `Service` is the root object of Google service configuration schema. It + * describes basic information about a service, such as the name and the + * title, and delegates other aspects to sub-sections. Each sub-section is + * either a proto message or a repeated proto message that configures a + * specific aspect, such as auth. See each proto message definition for + * details. Example: type: google.api.Service config_version: 3 + * name: calendar.googleapis.com title: Google Calendar API apis: - + * name: google.calendar.v3.Calendar authentication: providers: - + * id: google_calendar_auth jwks_uri: + * https://www.googleapis.com/oauth2/v1/certs issuer: + * https://securetoken.google.com rules: - selector: "*" + * requirements: provider_id: google_calendar_auth + */ + interface Schema$GoogleApiService { + /** + * A list of API interfaces exported by this service. Only the `name` field + * of the google.protobuf.Api needs to be provided by the configuration + * author, as the remaining fields will be derived from the IDL during the + * normalization process. It is an error to specify an API interface here + * which cannot be resolved against the associated IDL files. + */ + apis?: Schema$Api[]; + /** + * Auth configuration. + */ + authentication?: Schema$Authentication; + /** + * API backend configuration. + */ + backend?: Schema$Backend; + /** + * Billing configuration. + */ + billing?: Schema$Billing; + /** + * The semantic version of the service configuration. The config version + * affects the interpretation of the service configuration. For example, + * certain features are enabled by default for certain config versions. The + * latest config version is `3`. + */ + configVersion?: number; + /** + * Context configuration. + */ + context?: Schema$Context; + /** + * Configuration for the service control plane. + */ + control?: Schema$Control; + /** + * Custom error configuration. + */ + customError?: Schema$CustomError; + /** + * Additional API documentation. + */ + documentation?: Schema$Documentation; + /** + * Configuration for network endpoints. If this is empty, then an endpoint + * with the same name as the service is automatically generated to service + * all defined APIs. + */ + endpoints?: Schema$Endpoint[]; + /** + * A list of all enum types included in this API service. Enums referenced + * directly or indirectly by the `apis` are automatically included. Enums + * which are not referenced but shall be included should be listed here by + * name. Example: enums: - name: google.someapi.v1.SomeEnum + */ + enums?: Schema$Enum[]; + /** + * Experimental configuration. + */ + experimental?: Schema$Experimental; + /** + * HTTP configuration. + */ + http?: Schema$Http; + /** + * A unique ID for a specific instance of this message, typically assigned + * by the client for tracking purpose. If empty, the server may choose to + * generate one instead. Must be no longer than 60 characters. + */ + id?: string; + /** + * Logging configuration. + */ + logging?: Schema$Logging; + /** + * Defines the logs used by this service. + */ + logs?: Schema$LogDescriptor[]; + /** + * Defines the metrics used by this service. + */ + metrics?: Schema$MetricDescriptor[]; + /** + * Defines the monitored resources used by this service. This is required by + * the Service.monitoring and Service.logging configurations. + */ + monitoredResources?: Schema$MonitoredResourceDescriptor[]; + /** + * Monitoring configuration. + */ + monitoring?: Schema$Monitoring; + /** + * The DNS address at which this service is available, e.g. + * `calendar.googleapis.com`. + */ + name?: string; + /** + * The Google project that owns this service. + */ + producerProjectId?: string; + /** + * Quota configuration. + */ + quota?: Schema$Quota; + /** + * Output only. The source information for this configuration if available. + */ + sourceInfo?: Schema$SourceInfo; + /** + * System parameter configuration. + */ + systemParameters?: Schema$SystemParameters; + /** + * A list of all proto message types included in this API service. It serves + * similar purpose as [google.api.Service.types], except that these types + * are not needed by user-defined APIs. Therefore, they will not show up in + * the generated discovery doc. This field should only be used to define + * system APIs in ESF. + */ + systemTypes?: Schema$Type[]; + /** + * The product title for this service. + */ + title?: string; + /** + * A list of all proto message types included in this API service. Types + * referenced directly or indirectly by the `apis` are automatically + * included. Messages which are not referenced but shall be included, such + * as types used by the `google.protobuf.Any` type, should be listed here by + * name. Example: types: - name: google.protobuf.Int32 + */ + types?: Schema$Type[]; + /** + * Configuration controlling usage of this service. + */ + usage?: Schema$Usage; + } + /** + * The operation metadata returned for the batchend services operation. + */ + interface Schema$GoogleApiServiceusageV1OperationMetadata { + /** + * The full name of the resources that this operation is directly associated + * with. + */ + resourceNames?: string[]; + } + /** + * A service that is available for use by the consumer. + */ + interface Schema$GoogleApiServiceusageV1Service { + /** + * The service configuration of the available service. Some fields may be + * filtered out of the configuration in responses to the `ListServices` + * method. These fields are present only in responses to the `GetService` + * method. + */ + config?: Schema$GoogleApiServiceusageV1ServiceConfig; + /** + * The resource name of the consumer and service. A valid name would be: - + * projects/123/services/serviceusage.googleapis.com + */ + name?: string; + /** + * The resource name of the consumer. A valid name would be: - projects/123 + */ + parent?: string; + /** + * Whether or not the service has been enabled for use by the consumer. + */ + state?: string; + } + /** + * The configuration of the service. + */ + interface Schema$GoogleApiServiceusageV1ServiceConfig { + /** + * A list of API interfaces exported by this service. Contains only the + * names, versions, and method names of the interfaces. + */ + apis?: Schema$Api[]; + /** + * Auth configuration. Contains only the OAuth rules. + */ + authentication?: Schema$Authentication; + /** + * Additional API documentation. Contains only the summary and the + * documentation URL. + */ + documentation?: Schema$Documentation; + /** + * Configuration for network endpoints. Contains only the names and aliases + * of the endpoints. + */ + endpoints?: Schema$Endpoint[]; + /** + * The DNS address at which this service is available. An example DNS + * address would be: `calendar.googleapis.com`. + */ + name?: string; + /** + * Quota configuration. + */ + quota?: Schema$Quota; + /** + * The product title for this service. + */ + title?: string; + /** + * Configuration controlling usage of this service. + */ + usage?: Schema$Usage; + } + /** + * Defines the HTTP configuration for an API service. It contains a list of + * HttpRule, each specifying the mapping of an RPC method to one or more HTTP + * REST API methods. + */ + interface Schema$Http { + /** + * When set to true, URL path parmeters will be fully URI-decoded except in + * cases of single segment matches in reserved expansion, where + * "%2F" will be left encoded. The default behavior is to not + * decode RFC 6570 reserved characters in multi segment matches. + */ + fullyDecodeReservedExpansion?: boolean; + /** + * A list of HTTP configuration rules that apply to individual API methods. + * **NOTE:** All service configuration rules follow "last one + * wins" order. + */ + rules?: Schema$HttpRule[]; + } + /** + * # gRPC Transcoding gRPC Transcoding is a feature for mapping between a + * gRPC method and one or more HTTP REST endpoints. It allows developers to + * build a single API service that supports both gRPC APIs and REST APIs. Many + * systems, including [Google APIs](https://github.com/googleapis/googleapis), + * [Cloud Endpoints](https://cloud.google.com/endpoints), [gRPC + * Gateway](https://github.com/grpc-ecosystem/grpc-gateway), and + * [Envoy](https://github.com/envoyproxy/envoy) proxy support this feature and + * use it for large scale production services. `HttpRule` defines the schema + * of the gRPC/REST mapping. The mapping specifies how different portions of + * the gRPC request message are mapped to the URL path, URL query parameters, + * and HTTP request body. It also controls how the gRPC response message is + * mapped to the HTTP response body. `HttpRule` is typically specified as an + * `google.api.http` annotation on the gRPC method. Each mapping specifies a + * URL path template and an HTTP method. The path template may refer to one or + * more fields in the gRPC request message, as long as each field is a + * non-repeated field with a primitive (non-message) type. The path template + * controls how fields of the request message are mapped to the URL path. + * Example: service Messaging { rpc GetMessage(GetMessageRequest) + * returns (Message) { option (google.api.http) = { get: + * "/v1/{name=messages/*"}" }; } } message + * GetMessageRequest { string name = 1; // Mapped to URL path. } + * message Message { string text = 1; // The resource content. } + * This enables an HTTP REST to gRPC mapping as below: HTTP | gRPC + * -----|----- `GET /v1/messages/123456` | `GetMessage(name: + * "messages/123456")` Any fields in the request message which are + * not bound by the path template automatically become HTTP query parameters + * if there is no HTTP request body. For example: service Messaging { rpc + * GetMessage(GetMessageRequest) returns (Message) { option + * (google.api.http) = { get:"/v1/messages/{message_id}" + * }; } } message GetMessageRequest { message SubMessage { + * string subfield = 1; } string message_id = 1; // Mapped to URL + * path. int64 revision = 2; // Mapped to URL query parameter + * `revision`. SubMessage sub = 3; // Mapped to URL query parameter + * `sub.subfield`. } This enables a HTTP JSON to RPC mapping as below: + * HTTP | gRPC -----|----- `GET + * /v1/messages/123456?revision=2&sub.subfield=foo` | + * `GetMessage(message_id: "123456" revision: 2 sub: + * SubMessage(subfield: "foo"))` Note that fields which are mapped + * to URL query parameters must have a primitive type or a repeated primitive + * type or a non-repeated message type. In the case of a repeated type, the + * parameter can be repeated in the URL as `...?param=A&param=B`. In the + * case of a message type, each field of the message is mapped to a separate + * parameter, such as `...?foo.a=A&foo.b=B&foo.c=C`. For HTTP methods + * that allow a request body, the `body` field specifies the mapping. Consider + * a REST update method on the message resource collection: service + * Messaging { rpc UpdateMessage(UpdateMessageRequest) returns (Message) + * { option (google.api.http) = { patch: + * "/v1/messages/{message_id}" body: "message" + * }; } } message UpdateMessageRequest { string message_id + * = 1; // mapped to the URL Message message = 2; // mapped to the + * body } The following HTTP JSON to RPC mapping is enabled, where the + * representation of the JSON in the request body is determined by protos JSON + * encoding: HTTP | gRPC -----|----- `PATCH /v1/messages/123456 { + * "text": "Hi!" }` | `UpdateMessage(message_id: + * "123456" message { text: "Hi!" })` The special name + * `*` can be used in the body mapping to define that every field not bound by + * the path template should be mapped to the request body. This enables the + * following alternative definition of the update method: service + * Messaging { rpc UpdateMessage(Message) returns (Message) { option + * (google.api.http) = { patch: + * "/v1/messages/{message_id}" body: "*" }; } } + * message Message { string message_id = 1; string text = 2; } + * The following HTTP JSON to RPC mapping is enabled: HTTP | gRPC -----|----- + * `PATCH /v1/messages/123456 { "text": "Hi!" }` | + * `UpdateMessage(message_id: "123456" text: "Hi!")` Note + * that when using `*` in the body mapping, it is not possible to have HTTP + * parameters, as all fields not bound by the path end in the body. This makes + * this option more rarely used in practice when defining REST APIs. The + * common usage of `*` is in custom methods which don't use the URL at all + * for transferring data. It is possible to define multiple HTTP methods for + * one RPC by using the `additional_bindings` option. Example: service + * Messaging { rpc GetMessage(GetMessageRequest) returns (Message) { + * option (google.api.http) = { get: + * "/v1/messages/{message_id}" additional_bindings { get: + * "/v1/users/{user_id}/messages/{message_id}" } }; } } + * message GetMessageRequest { string message_id = 1; string + * user_id = 2; } This enables the following two alternative HTTP JSON to + * RPC mappings: HTTP | gRPC -----|----- `GET /v1/messages/123456` | + * `GetMessage(message_id: "123456")` `GET + * /v1/users/me/messages/123456` | `GetMessage(user_id: "me" + * message_id: "123456")` ## Rules for HTTP mapping 1. Leaf + * request fields (recursive expansion nested messages in the request message) + * are classified into three categories: - Fields referred by the path + * template. They are passed via the URL path. - Fields referred by the + * HttpRule.body. They are passed via the HTTP request body. - All + * other fields are passed via the URL query parameters, and the parameter + * name is the field path in the request message. A repeated field can be + * represented as multiple query parameters under the same name. 2. If + * HttpRule.body is "*", there is no URL query parameter, all fields + * are passed via URL path and HTTP request body. 3. If HttpRule.body is + * omitted, there is no HTTP request body, all fields are passed via URL + * path and URL query parameters. ### Path template syntax Template = + * "/" Segments [ Verb ] ; Segments = Segment { "/" + * Segment } ; Segment = "*" | "**" | LITERAL | + * Variable ; Variable = "{" FieldPath [ "=" Segments + * ] "}" ; FieldPath = IDENT { "." IDENT } ; Verb + * = ":" LITERAL ; The syntax `*` matches a single URL path + * segment. The syntax `**` matches zero or more URL path segments, which must + * be the last part of the URL path except the `Verb`. The syntax `Variable` + * matches part of the URL path as specified by its template. A variable + * template must not contain other variables. If a variable matches a single + * path segment, its template may be omitted, e.g. `{var}` is equivalent to + * `{var=*}`. The syntax `LITERAL` matches literal text in the URL path. If + * the `LITERAL` contains any reserved character, such characters should be + * percent-encoded before the matching. If a variable contains exactly one + * path segment, such as `"{var}"` or `"{var=*}"`, when + * such a variable is expanded into a URL path on the client side, all + * characters except `[-_.~0-9a-zA-Z]` are percent-encoded. The server side + * does the reverse decoding. Such variables show up in the [Discovery + * Document](https://developers.google.com/discovery/v1/reference/apis) as + * `{var}`. If a variable contains multiple path segments, such as + * `"{var=foo/*}"` or `"{var=**}"`, when such a variable + * is expanded into a URL path on the client side, all characters except + * `[-_.~/0-9a-zA-Z]` are percent-encoded. The server side does the reverse + * decoding, except "%2F" and "%2f" are left unchanged. + * Such variables show up in the [Discovery + * Document](https://developers.google.com/discovery/v1/reference/apis) as + * `{+var}`. ## Using gRPC API Service Configuration gRPC API Service + * Configuration (service config) is a configuration language for configuring + * a gRPC service to become a user-facing product. The service config is + * simply the YAML representation of the `google.api.Service` proto message. + * As an alternative to annotating your proto file, you can configure gRPC + * transcoding in your service config YAML files. You do this by specifying a + * `HttpRule` that maps the gRPC method to a REST endpoint, achieving the same + * effect as the proto annotation. This can be particularly useful if you have + * a proto that is reused in multiple services. Note that any transcoding + * specified in the service config will override any matching transcoding + * configuration in the proto. Example: http: rules: # + * Selects a gRPC method and applies HttpRule to it. - selector: + * example.v1.Messaging.GetMessage get: + * /v1/messages/{message_id}/{sub.subfield} ## Special notes When gRPC + * Transcoding is used to map a gRPC to JSON REST endpoints, the proto to JSON + * conversion must follow the [proto3 + * specification](https://developers.google.com/protocol-buffers/docs/proto3#json). + * While the single segment variable follows the semantics of [RFC + * 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 Simple String + * Expansion, the multi segment variable **does not** follow RFC 6570 + * Section 3.2.3 Reserved Expansion. The reason is that the Reserved Expansion + * does not expand special characters like `?` and `#`, which would lead to + * invalid URLs. As the result, gRPC Transcoding uses a custom encoding for + * multi segment variables. The path variables **must not** refer to any + * repeated or mapped field, because client libraries are not capable of + * handling such variable expansion. The path variables **must not** capture + * the leading "/" character. The reason is that the most common use + * case "{var}" does not capture the leading "/" + * character. For consistency, all path variables must share the same + * behavior. Repeated message fields must not be mapped to URL query + * parameters, because no client library can support such complicated mapping. + * If an API needs to use a JSON array for request or response body, it can + * map the request or response body to a repeated field. However, some gRPC + * Transcoding implementations may not support this feature. + */ + interface Schema$HttpRule { + /** + * Additional HTTP bindings for the selector. Nested bindings must not + * contain an `additional_bindings` field themselves (that is, the nesting + * may only be one level deep). + */ + additionalBindings?: Schema$HttpRule[]; + /** + * The name of the request field whose value is mapped to the HTTP request + * body, or `*` for mapping all request fields not captured by the path + * pattern to the HTTP body, or omitted for not having any HTTP request + * body. NOTE: the referred field must be present at the top-level of the + * request message type. + */ + body?: string; + /** + * The custom pattern is used for specifying an HTTP method that is not + * included in the `pattern` field, such as HEAD, or "*" to leave + * the HTTP method unspecified for this rule. The wild-card rule is useful + * for services that provide content to Web (HTML) clients. + */ + custom?: Schema$CustomHttpPattern; + /** + * Maps to HTTP DELETE. Used for deleting a resource. + */ + delete?: string; + /** + * Maps to HTTP GET. Used for listing and getting information about + * resources. + */ + get?: string; + /** + * Maps to HTTP PATCH. Used for updating a resource. + */ + patch?: string; + /** + * Maps to HTTP POST. Used for creating a resource or performing an action. + */ + post?: string; + /** + * Maps to HTTP PUT. Used for replacing a resource. + */ + put?: string; + /** + * Optional. The name of the response field whose value is mapped to the + * HTTP response body. When omitted, the entire response message will be + * used as the HTTP response body. NOTE: The referred field must be present + * at the top-level of the response message type. + */ + responseBody?: string; + /** + * Selects a method to which this rule applies. Refer to selector for + * syntax details. + */ + selector?: string; + } + /** + * A description of a label. + */ + interface Schema$LabelDescriptor { + /** + * A human-readable description for the label. + */ + description?: string; + /** + * The label key. + */ + key?: string; + /** + * The type of data that can be assigned to the label. + */ + valueType?: string; + } + /** + * The response message for Operations.ListOperations. + */ + interface Schema$ListOperationsResponse { + /** + * The standard List next-page token. + */ + nextPageToken?: string; + /** + * A list of operations that matches the specified filter in the request. + */ + operations?: Schema$Operation[]; + } + /** + * Response message for the `ListServices` method. + */ + interface Schema$ListServicesResponse { + /** + * Token that can be passed to `ListServices` to resume a paginated query. + */ + nextPageToken?: string; + /** + * The available services for the requested project. + */ + services?: Schema$GoogleApiServiceusageV1Service[]; + } + /** + * A description of a log type. Example in YAML format: - name: + * library.googleapis.com/activity_history description: The history of + * borrowing and returning library items. display_name: Activity labels: + * - key: /customer_id description: Identifier of a library customer + */ + interface Schema$LogDescriptor { + /** + * A human-readable description of this log. This information appears in the + * documentation and can contain details. + */ + description?: string; + /** + * The human-readable name for this log. This information appears on the + * user interface and should be concise. + */ + displayName?: string; + /** + * The set of labels that are available to describe a specific log entry. + * Runtime requests that contain labels not specified here are considered + * invalid. + */ + labels?: Schema$LabelDescriptor[]; + /** + * The name of the log. It must be less than 512 characters long and can + * include the following characters: upper- and lower-case alphanumeric + * characters [A-Za-z0-9], and punctuation characters including slash, + * underscore, hyphen, period [/_-.]. + */ + name?: string; + } + /** + * Logging configuration of the service. The following example shows how to + * configure logs to be sent to the producer and consumer projects. In the + * example, the `activity_history` log is sent to both the producer and + * consumer projects, whereas the `purchase_history` log is only sent to the + * producer project. monitored_resources: - type: + * library.googleapis.com/branch labels: - key: /city description: + * The city where the library branch is located in. - key: /name + * description: The name of the branch. logs: - name: activity_history + * labels: - key: /customer_id - name: purchase_history logging: + * producer_destinations: - monitored_resource: + * library.googleapis.com/branch logs: - activity_history - + * purchase_history consumer_destinations: - monitored_resource: + * library.googleapis.com/branch logs: - activity_history + */ + interface Schema$Logging { + /** + * Logging configurations for sending logs to the consumer project. There + * can be multiple consumer destinations, each one must have a different + * monitored resource type. A log can be used in at most one consumer + * destination. + */ + consumerDestinations?: Schema$LoggingDestination[]; + /** + * Logging configurations for sending logs to the producer project. There + * can be multiple producer destinations, each one must have a different + * monitored resource type. A log can be used in at most one producer + * destination. + */ + producerDestinations?: Schema$LoggingDestination[]; + } + /** + * Configuration of a specific logging destination (the producer project or + * the consumer project). + */ + interface Schema$LoggingDestination { + /** + * Names of the logs to be sent to this destination. Each name must be + * defined in the Service.logs section. If the log name is not a domain + * scoped name, it will be automatically prefixed with the service name + * followed by "/". + */ + logs?: string[]; + /** + * The monitored resource type. The type must be defined in the + * Service.monitored_resources section. + */ + monitoredResource?: string; + } + /** + * Method represents a method of an API interface. + */ + interface Schema$Method { + /** + * The simple name of this method. + */ + name?: string; + /** + * Any metadata attached to the method. + */ + options?: Schema$Option[]; + /** + * If true, the request is streamed. + */ + requestStreaming?: boolean; + /** + * A URL of the input message type. + */ + requestTypeUrl?: string; + /** + * If true, the response is streamed. + */ + responseStreaming?: boolean; + /** + * The URL of the output message type. + */ + responseTypeUrl?: string; + /** + * The source syntax of this method. + */ + syntax?: string; + } + /** + * Defines a metric type and its schema. Once a metric descriptor is created, + * deleting or altering it stops data collection and makes the metric + * type's existing data unusable. + */ + interface Schema$MetricDescriptor { + /** + * A detailed description of the metric, which can be used in documentation. + */ + description?: string; + /** + * A concise name for the metric, which can be displayed in user interfaces. + * Use sentence case without an ending period, for example "Request + * count". This field is optional but it is recommended to be set for + * any metrics associated with user-visible concepts, such as Quota. + */ + displayName?: string; + /** + * The set of labels that can be used to describe a specific instance of + * this metric type. For example, the + * `appengine.googleapis.com/http/server/response_latencies` metric type has + * a label for the HTTP response code, `response_code`, so you can look at + * latencies for successful responses or just for responses that failed. + */ + labels?: Schema$LabelDescriptor[]; + /** + * Optional. Metadata which can be used to guide usage of the metric. + */ + metadata?: Schema$MetricDescriptorMetadata; + /** + * Whether the metric records instantaneous values, changes to a value, etc. + * Some combinations of `metric_kind` and `value_type` might not be + * supported. + */ + metricKind?: string; + /** + * The resource name of the metric descriptor. + */ + name?: string; + /** + * The metric type, including its DNS name prefix. The type is not + * URL-encoded. All user-defined metric types have the DNS name + * `custom.googleapis.com` or `external.googleapis.com`. Metric types + * should use a natural hierarchical grouping. For example: + * "custom.googleapis.com/invoice/paid/amount" + * "external.googleapis.com/prometheus/up" + * "appengine.googleapis.com/http/server/response_latencies" + */ + type?: string; + /** + * The unit in which the metric value is reported. It is only applicable if + * the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The supported + * units are a subset of [The Unified Code for Units of + * Measure](http://unitsofmeasure.org/ucum.html) standard: **Basic units + * (UNIT)** * `bit` bit * `By` byte * `s` second * `min` minute + * * `h` hour * `d` day **Prefixes (PREFIX)** * `k` kilo + * (10**3) * `M` mega (10**6) * `G` giga (10**9) * `T` tera + * (10**12) * `P` peta (10**15) * `E` exa (10**18) * `Z` + * zetta (10**21) * `Y` yotta (10**24) * `m` milli (10**-3) * + * `u` micro (10**-6) * `n` nano (10**-9) * `p` pico + * (10**-12) * `f` femto (10**-15) * `a` atto (10**-18) * `z` + * zepto (10**-21) * `y` yocto (10**-24) * `Ki` kibi (2**10) * + * `Mi` mebi (2**20) * `Gi` gibi (2**30) * `Ti` tebi (2**40) + * **Grammar** The grammar also includes these connectors: * `/` division + * (as an infix operator, e.g. `1/s`). * `.` multiplication (as an infix + * operator, e.g. `GBy.d`) The grammar for a unit is as follows: Expression + * = Component { "." Component } { "/" Component } ; + * Component = ( [ PREFIX ] UNIT | "%" ) [ Annotation ] | + * Annotation | "1" ; Annotation + * = "{" NAME "}" ; Notes: * `Annotation` is just a + * comment if it follows a `UNIT` and is equivalent to `1` if it is used + * alone. For examples, `{requests}/s == 1/s`, `By{transmitted}/s == + * By/s`. * `NAME` is a sequence of non-blank printable ASCII characters not + * containing '{' or '}'. * `1` represents dimensionless + * value 1, such as in `1/s`. * `%` represents dimensionless value 1/100, + * and annotates values giving a percentage. + */ + unit?: string; + /** + * Whether the measurement is an integer, a floating-point number, etc. Some + * combinations of `metric_kind` and `value_type` might not be supported. + */ + valueType?: string; + } + /** + * Additional annotations that can be used to guide the usage of a metric. + */ + interface Schema$MetricDescriptorMetadata { + /** + * The delay of data points caused by ingestion. Data points older than this + * age are guaranteed to be ingested and available to be read, excluding + * data loss due to errors. + */ + ingestDelay?: string; + /** + * The launch stage of the metric definition. + */ + launchStage?: string; + /** + * The sampling period of metric data points. For metrics which are written + * periodically, consecutive data points are stored at this time interval, + * excluding data loss due to errors. Metrics with a higher granularity have + * a smaller sampling period. + */ + samplePeriod?: string; + } + /** + * Bind API methods to metrics. Binding a method to a metric causes that + * metric's configured quota behaviors to apply to the method call. + */ + interface Schema$MetricRule { + /** + * Metrics to update when the selected methods are called, and the + * associated cost applied to each metric. The key of the map is the metric + * name, and the values are the amount increased for the metric against + * which the quota limits are defined. The value must not be negative. + */ + metricCosts?: any; + /** + * Selects the methods to which this rule applies. Refer to selector for + * syntax details. + */ + selector?: string; + } + /** + * Declares an API Interface to be included in this interface. The including + * interface must redeclare all the methods from the included interface, but + * documentation and options are inherited as follows: - If after comment and + * whitespace stripping, the documentation string of the redeclared method + * is empty, it will be inherited from the original method. - Each + * annotation belonging to the service config (http, visibility) which is + * not set in the redeclared method will be inherited. - If an http + * annotation is inherited, the path pattern will be modified as follows. + * Any version prefix will be replaced by the version of the including + * interface plus the root path if specified. Example of a simple mixin: + * package google.acl.v1; service AccessControl { // Get the + * underlying ACL object. rpc GetAcl(GetAclRequest) returns (Acl) { + * option (google.api.http).get = "/v1/{resource=**}:getAcl"; } } + * package google.storage.v2; service Storage { // rpc + * GetAcl(GetAclRequest) returns (Acl); // Get a data record. rpc + * GetData(GetDataRequest) returns (Data) { option + * (google.api.http).get = "/v2/{resource=**}"; } } + * Example of a mixin configuration: apis: - name: + * google.storage.v2.Storage mixins: - name: + * google.acl.v1.AccessControl The mixin construct implies that all methods + * in `AccessControl` are also declared with same name and request/response + * types in `Storage`. A documentation generator or annotation processor will + * see the effective `Storage.GetAcl` method after inherting documentation and + * annotations as follows: service Storage { // Get the underlying + * ACL object. rpc GetAcl(GetAclRequest) returns (Acl) { option + * (google.api.http).get = "/v2/{resource=**}:getAcl"; } ... + * } Note how the version in the path pattern changed from `v1` to `v2`. If + * the `root` field in the mixin is specified, it should be a relative path + * under which inherited HTTP paths are placed. Example: apis: - + * name: google.storage.v2.Storage mixins: - name: + * google.acl.v1.AccessControl root: acls This implies the following + * inherited HTTP annotation: service Storage { // Get the + * underlying ACL object. rpc GetAcl(GetAclRequest) returns (Acl) { + * option (google.api.http).get = "/v2/acls/{resource=**}:getAcl"; + * } ... } + */ + interface Schema$Mixin { + /** + * The fully qualified name of the interface which is included. + */ + name?: string; + /** + * If non-empty specifies a path under which inherited HTTP paths are + * rooted. + */ + root?: string; + } + /** + * An object that describes the schema of a MonitoredResource object using a + * type name and a set of labels. For example, the monitored resource + * descriptor for Google Compute Engine VM instances has a type of + * `"gce_instance"` and specifies the use of the labels + * `"instance_id"` and `"zone"` to identify particular VM + * instances. Different APIs can support different monitored resource types. + * APIs generally provide a `list` method that returns the monitored resource + * descriptors used by the API. + */ + interface Schema$MonitoredResourceDescriptor { + /** + * Optional. A detailed description of the monitored resource type that + * might be used in documentation. + */ + description?: string; + /** + * Optional. A concise name for the monitored resource type that might be + * displayed in user interfaces. It should be a Title Cased Noun Phrase, + * without any article or other determiners. For example, `"Google + * Cloud SQL Database"`. + */ + displayName?: string; + /** + * Required. A set of labels used to describe instances of this monitored + * resource type. For example, an individual Google Cloud SQL database is + * identified by values for the labels `"database_id"` and + * `"zone"`. + */ + labels?: Schema$LabelDescriptor[]; + /** + * Optional. The resource name of the monitored resource descriptor: + * `"projects/{project_id}/monitoredResourceDescriptors/{type}"` + * where {type} is the value of the `type` field in this object and + * {project_id} is a project ID that provides API-specific context for + * accessing the type. APIs that do not use project information can use the + * resource name format `"monitoredResourceDescriptors/{type}"`. + */ + name?: string; + /** + * Required. The monitored resource type. For example, the type + * `"cloudsql_database"` represents databases in Google Cloud SQL. + * The maximum length of this value is 256 characters. + */ + type?: string; + } + /** + * Monitoring configuration of the service. The example below shows how to + * configure monitored resources and metrics for monitoring. In the example, a + * monitored resource and two metrics are defined. The + * `library.googleapis.com/book/returned_count` metric is sent to both + * producer and consumer projects, whereas the + * `library.googleapis.com/book/overdue_count` metric is only sent to the + * consumer project. monitored_resources: - type: + * library.googleapis.com/branch labels: - key: /city description: + * The city where the library branch is located in. - key: /name + * description: The name of the branch. metrics: - name: + * library.googleapis.com/book/returned_count metric_kind: DELTA + * value_type: INT64 labels: - key: /customer_id - name: + * library.googleapis.com/book/overdue_count metric_kind: GAUGE + * value_type: INT64 labels: - key: /customer_id monitoring: + * producer_destinations: - monitored_resource: + * library.googleapis.com/branch metrics: - + * library.googleapis.com/book/returned_count consumer_destinations: - + * monitored_resource: library.googleapis.com/branch metrics: - + * library.googleapis.com/book/returned_count - + * library.googleapis.com/book/overdue_count + */ + interface Schema$Monitoring { + /** + * Monitoring configurations for sending metrics to the consumer project. + * There can be multiple consumer destinations, each one must have a + * different monitored resource type. A metric can be used in at most one + * consumer destination. + */ + consumerDestinations?: Schema$MonitoringDestination[]; + /** + * Monitoring configurations for sending metrics to the producer project. + * There can be multiple producer destinations, each one must have a + * different monitored resource type. A metric can be used in at most one + * producer destination. + */ + producerDestinations?: Schema$MonitoringDestination[]; + } + /** + * Configuration of a specific monitoring destination (the producer project or + * the consumer project). + */ + interface Schema$MonitoringDestination { + /** + * Names of the metrics to report to this monitoring destination. Each name + * must be defined in Service.metrics section. + */ + metrics?: string[]; + /** + * The monitored resource type. The type must be defined in + * Service.monitored_resources section. + */ + monitoredResource?: string; + } + /** + * OAuth scopes are a way to define data and permissions on data. For example, + * there are scopes defined for "Read-only access to Google + * Calendar" and "Access to Cloud Platform". Users can consent + * to a scope for an application, giving it permission to access that data on + * their behalf. OAuth scope specifications should be fairly coarse grained; + * a user will need to see and understand the text description of what your + * scope means. In most cases: use one or at most two OAuth scopes for an + * entire family of products. If your product has multiple APIs, you should + * probably be sharing the OAuth scope across all of those APIs. When you + * need finer grained OAuth consent screens: talk with your product management + * about how developers will use them in practice. Please note that even + * though each of the canonical scopes is enough for a request to be accepted + * and passed to the backend, a request can still fail due to the backend + * requiring additional scopes or permissions. + */ + interface Schema$OAuthRequirements { + /** + * The list of publicly documented OAuth scopes that are allowed access. An + * OAuth token containing any of these scopes will be accepted. Example: + * canonical_scopes: https://www.googleapis.com/auth/calendar, + * https://www.googleapis.com/auth/calendar.read + */ + canonicalScopes?: string; + } + /** + * This resource represents a long-running operation that is the result of a + * network API call. + */ + interface Schema$Operation { + /** + * If the value is `false`, it means the operation is still in progress. If + * `true`, the operation is completed, and either `error` or `response` is + * available. + */ + done?: boolean; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * Service-specific metadata associated with the operation. It typically + * contains progress information and common metadata such as create time. + * Some services might not provide such metadata. Any method that returns a + * long-running operation should document the metadata type, if any. + */ + metadata?: any; + /** + * The server-assigned name, which is only unique within the same service + * that originally returns it. If you use the default HTTP mapping, the + * `name` should have the format of `operations/some/unique/name`. + */ + name?: string; + /** + * The normal response of the operation in case of success. If the original + * method returns no data on success, such as `Delete`, the response is + * `google.protobuf.Empty`. If the original method is standard + * `Get`/`Create`/`Update`, the response should be the resource. For other + * methods, the response should have the type `XxxResponse`, where `Xxx` is + * the original method name. For example, if the original method name is + * `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: any; + } + /** + * The operation metadata returned for the batchend services operation. + */ + interface Schema$OperationMetadata { + /** + * The full name of the resources that this operation is directly associated + * with. + */ + resourceNames?: string[]; + } + /** + * A protocol buffer option, which can be attached to a message, field, + * enumeration, etc. + */ + interface Schema$Option { + /** + * The option's name. For protobuf built-in options (options defined in + * descriptor.proto), this is the short name. For example, + * `"map_entry"`. For custom options, it should be the + * fully-qualified name. For example, `"google.api.http"`. + */ + name?: string; + /** + * The option's value packed in an Any message. If the value is a + * primitive, the corresponding wrapper type defined in + * google/protobuf/wrappers.proto should be used. If the value is an enum, + * it should be stored as an int32 value using the + * google.protobuf.Int32Value type. + */ + value?: any; + } + /** + * Represents a documentation page. A page can contain subpages to represent + * nested documentation set structure. + */ + interface Schema$Page { + /** + * The Markdown content of the page. You can use <code>&#40;== + * include {path} ==&#41;</code> to include content from a + * Markdown file. + */ + content?: string; + /** + * The name of the page. It will be used as an identity of the page to + * generate URI of the page, text of the link to this page in navigation, + * etc. The full page name (start from the root page name to this page + * concatenated with `.`) can be used as reference to the page in your + * documentation. For example: <pre><code>pages: - name: + * Tutorial content: &#40;== include tutorial.md ==&#41; subpages: + * - name: Java content: &#40;== include tutorial_java.md + * ==&#41; </code></pre> You can reference `Java` page using + * Markdown reference link syntax: `Java`. + */ + name?: string; + /** + * Subpages of this page. The order of subpages specified here will be + * honored in the generated docset. + */ + subpages?: Schema$Page[]; + } + /** + * Quota configuration helps to achieve fairness and budgeting in service + * usage. The quota configuration works this way: - The service configuration + * defines a set of metrics. - For API calls, the quota.metric_rules maps + * methods to metrics with corresponding costs. - The quota.limits defines + * limits on the metrics, which will be used for quota checks at runtime. An + * example quota configuration in yaml format: quota: limits: - + * name: apiWriteQpsPerProject metric: + * library.googleapis.com/write_calls unit: "1/min/{project}" + * # rate limit for consumer projects values: STANDARD: 10000 + * # The metric rules bind all methods to the read_calls metric, # except + * for the UpdateBook and DeleteBook methods. These two methods # are + * mapped to the write_calls metric, with the UpdateBook method # + * consuming at twice rate as the DeleteBook method. metric_rules: - + * selector: "*" metric_costs: + * library.googleapis.com/read_calls: 1 - selector: + * google.example.library.v1.LibraryService.UpdateBook metric_costs: + * library.googleapis.com/write_calls: 2 - selector: + * google.example.library.v1.LibraryService.DeleteBook metric_costs: + * library.googleapis.com/write_calls: 1 Corresponding Metric definition: + * metrics: - name: library.googleapis.com/read_calls display_name: Read + * requests metric_kind: DELTA value_type: INT64 - name: + * library.googleapis.com/write_calls display_name: Write requests + * metric_kind: DELTA value_type: INT64 + */ + interface Schema$Quota { + /** + * List of `QuotaLimit` definitions for the service. + */ + limits?: Schema$QuotaLimit[]; + /** + * List of `MetricRule` definitions, each one mapping a selected method to + * one or more metrics. + */ + metricRules?: Schema$MetricRule[]; + } + /** + * `QuotaLimit` defines a specific limit that applies over a specified + * duration for a limit type. There can be at most one limit for a duration + * and limit type combination defined within a `QuotaGroup`. + */ + interface Schema$QuotaLimit { + /** + * Default number of tokens that can be consumed during the specified + * duration. This is the number of tokens assigned when a client application + * developer activates the service for his/her project. Specifying a value + * of 0 will block all requests. This can be used if you are provisioning + * quota to selected consumers and blocking others. Similarly, a value of -1 + * will indicate an unlimited quota. No other negative values are allowed. + * Used by group-based quotas only. + */ + defaultLimit?: string; + /** + * Optional. User-visible, extended description for this quota limit. Should + * be used only when more context is needed to understand this limit than + * provided by the limit's display name (see: `display_name`). + */ + description?: string; + /** + * User-visible display name for this limit. Optional. If not set, the UI + * will provide a default display name based on the quota configuration. + * This field can be used to override the default display name generated + * from the configuration. + */ + displayName?: string; + /** + * Duration of this limit in textual notation. Example: "100s", + * "24h", "1d". For duration longer than a day, only + * multiple of days is supported. We support only "100s" and + * "1d" for now. Additional support will be added in the future. + * "0" indicates indefinite duration. Used by group-based quotas + * only. + */ + duration?: string; + /** + * Free tier value displayed in the Developers Console for this limit. The + * free tier is the number of tokens that will be subtracted from the billed + * amount when billing is enabled. This field can only be set on a limit + * with duration "1d", in a billable group; it is invalid on any + * other limit. If this field is not set, it defaults to 0, indicating that + * there is no free tier for this service. Used by group-based quotas only. + */ + freeTier?: string; + /** + * Maximum number of tokens that can be consumed during the specified + * duration. Client application developers can override the default limit up + * to this maximum. If specified, this value cannot be set to a value less + * than the default limit. If not specified, it is set to the default limit. + * To allow clients to apply overrides with no upper bound, set this to -1, + * indicating unlimited maximum quota. Used by group-based quotas only. + */ + maxLimit?: string; + /** + * The name of the metric this quota limit applies to. The quota limits with + * the same metric will be checked together during runtime. The metric must + * be defined within the service config. + */ + metric?: string; + /** + * Name of the quota limit. The name must be provided, and it must be + * unique within the service. The name can only include alphanumeric + * characters as well as '-'. The maximum length of the limit name + * is 64 characters. + */ + name?: string; + /** + * Specify the unit of the quota limit. It uses the same syntax as + * Metric.unit. The supported unit kinds are determined by the quota backend + * system. Here are some examples: * "1/min/{project}" for quota + * per minute per project. Note: the order of unit components is + * insignificant. The "1" at the beginning is required to follow + * the metric unit syntax. + */ + unit?: string; + /** + * Tiered limit values. You must specify this as a key:value pair, with an + * integer value that is the maximum number of requests allowed for the + * specified unit. Currently only STANDARD is supported. + */ + values?: any; + } + /** + * `SourceContext` represents information about the source of a protobuf + * element, like the file in which it is defined. + */ + interface Schema$SourceContext { + /** + * The path-qualified name of the .proto file that contained the associated + * protobuf element. For example: + * `"google/protobuf/source_context.proto"`. + */ + fileName?: string; + } + /** + * Source information used to create a Service Config + */ + interface Schema$SourceInfo { + /** + * All files used during config generation. + */ + sourceFiles?: any[]; + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + /** + * Define a parameter's name and location. The parameter may be passed as + * either an HTTP header or a URL query parameter, and if both are passed the + * behavior is implementation-dependent. + */ + interface Schema$SystemParameter { + /** + * Define the HTTP header name to use for the parameter. It is case + * insensitive. + */ + httpHeader?: string; + /** + * Define the name of the parameter, such as "api_key" . It is + * case sensitive. + */ + name?: string; + /** + * Define the URL query parameter name to use for the parameter. It is case + * sensitive. + */ + urlQueryParameter?: string; + } + /** + * Define a system parameter rule mapping system parameter definitions to + * methods. + */ + interface Schema$SystemParameterRule { + /** + * Define parameters. Multiple names may be defined for a parameter. For a + * given method call, only one of them should be used. If multiple names are + * used the behavior is implementation-dependent. If none of the specified + * names are present the behavior is parameter-dependent. + */ + parameters?: Schema$SystemParameter[]; + /** + * Selects the methods to which this rule applies. Use '*' to + * indicate all methods in all APIs. Refer to selector for syntax details. + */ + selector?: string; + } + /** + * ### System parameter configuration A system parameter is a special kind of + * parameter defined by the API system, not by an individual API. It is + * typically mapped to an HTTP header and/or a URL query parameter. This + * configuration specifies which methods change the names of the system + * parameters. + */ + interface Schema$SystemParameters { + /** + * Define system parameters. The parameters defined here will override the + * default parameters implemented by the system. If this field is missing + * from the service config, default system parameters will be used. Default + * system parameters and names is implementation-dependent. Example: define + * api key for all methods system_parameters rules: - + * selector: "*" parameters: - name: api_key + * url_query_parameter: api_key Example: define 2 api key names for a + * specific method. system_parameters rules: - selector: + * "/ListShelves" parameters: - name: + * api_key http_header: Api-Key1 - name: api_key + * http_header: Api-Key2 **NOTE:** All service configuration rules follow + * "last one wins" order. + */ + rules?: Schema$SystemParameterRule[]; + } + /** + * A protocol buffer message type. + */ + interface Schema$Type { + /** + * The list of fields. + */ + fields?: Schema$Field[]; + /** + * The fully qualified message name. + */ + name?: string; + /** + * The list of types appearing in `oneof` definitions in this type. + */ + oneofs?: string[]; + /** + * The protocol buffer options. + */ + options?: Schema$Option[]; + /** + * The source context. + */ + sourceContext?: Schema$SourceContext; + /** + * The source syntax. + */ + syntax?: string; + } + /** + * Configuration controlling usage of a service. + */ + interface Schema$Usage { + /** + * The full resource name of a channel used for sending notifications to the + * service producer. Google Service Management currently only supports + * [Google Cloud Pub/Sub](https://cloud.google.com/pubsub) as a notification + * channel. To use Google Cloud Pub/Sub as the channel, this must be the + * name of a Cloud Pub/Sub topic that uses the Cloud Pub/Sub topic name + * format documented in https://cloud.google.com/pubsub/docs/overview. + */ + producerNotificationChannel?: string; + /** + * Requirements that must be satisfied before a consumer project can use the + * service. Each requirement is of the form + * <service.name>/<requirement-id>; for example + * 'serviceusage.googleapis.com/billing-enabled'. + */ + requirements?: string[]; + /** + * A list of usage rules that apply to individual API methods. **NOTE:** + * All service configuration rules follow "last one wins" order. + */ + rules?: Schema$UsageRule[]; + } + /** + * Usage configuration rules for the service. NOTE: Under development. Use + * this rule to configure unregistered calls for the service. Unregistered + * calls are calls that do not contain consumer project identity. (Example: + * calls that do not contain an API key). By default, API methods do not allow + * unregistered calls, and each method call must be identified by a consumer + * project identity. Use this rule to allow/disallow unregistered calls. + * Example of an API that wants to allow unregistered calls for entire + * service. usage: rules: - selector: "*" + * allow_unregistered_calls: true Example of a method that wants to allow + * unregistered calls. usage: rules: - selector: + * "google.example.library.v1.LibraryService.CreateBook" + * allow_unregistered_calls: true + */ + interface Schema$UsageRule { + /** + * If true, the selected method allows unregistered calls, e.g. calls that + * don't identify any user or application. + */ + allowUnregisteredCalls?: boolean; + /** + * Selects the methods to which this rule applies. Use '*' to + * indicate all methods in all APIs. Refer to selector for syntax details. + */ + selector?: string; + /** + * If true, the selected method should skip service control and the control + * plane features, such as quota and billing, will not be available. This + * flag is used by Google Cloud Endpoints to bypass checks for internal + * methods, such as service health check methods. + */ + skipServiceControl?: boolean; + } + class Resource$Operations { + root: Serviceusage; + constructor(root: Serviceusage); + getRoot(): Serviceusage; + /** + * serviceusage.operations.cancel + * @desc Starts asynchronous cancellation on a long-running operation. The + * server makes a best effort to cancel the operation, but success is not + * guaranteed. If the server doesn't support this method, it returns + * `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation + * or other methods to check whether the cancellation succeeded or whether + * the operation completed despite cancellation. On successful cancellation, + * the operation is not deleted; instead, it becomes an operation with an + * Operation.error value with a google.rpc.Status.code of 1, corresponding + * to `Code.CANCELLED`. + * @alias serviceusage.operations.cancel + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource to be cancelled. + * @param {().CancelOperationRequest} 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 + */ + cancel(params?: Params$Resource$Operations$Cancel, options?: MethodOptions): AxiosPromise; + cancel(params: Params$Resource$Operations$Cancel, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + cancel(params: Params$Resource$Operations$Cancel, callback: BodyResponseCallback): void; + cancel(callback: BodyResponseCallback): void; + /** + * serviceusage.operations.delete + * @desc Deletes a long-running operation. This method indicates that the + * client is no longer interested in the operation result. It does not + * cancel the operation. If the server doesn't support this method, it + * returns `google.rpc.Code.UNIMPLEMENTED`. + * @alias serviceusage.operations.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource to be deleted. + * @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?: Params$Resource$Operations$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Operations$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Operations$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * serviceusage.operations.get + * @desc Gets the latest state of a long-running operation. Clients can use + * this method to poll the operation result at intervals as recommended by + * the API service. + * @alias serviceusage.operations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource. + * @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?: Params$Resource$Operations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Operations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Operations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * serviceusage.operations.list + * @desc Lists operations that match the specified filter in the request. If + * the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: + * the `name` binding allows API services to override the binding to use + * different resource name schemes, such as `users/x/operations`. To + * override the binding, API services can add a binding such as + * `"/v1/{name=users/x}/operations"` to their service configuration. For + * backwards compatibility, the default name includes the operations + * collection id, however overriding users must ensure the name binding is + * the parent resource, without the operations collection id. + * @alias serviceusage.operations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter The standard list filter. + * @param {string=} params.name The name of the operation's parent resource. + * @param {integer=} params.pageSize The standard list page size. + * @param {string=} params.pageToken The standard list page token. + * @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?: Params$Resource$Operations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Operations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Operations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Operations$Cancel { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource to be cancelled. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CancelOperationRequest; + } + interface Params$Resource$Operations$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource to be deleted. + */ + name?: string; + } + interface Params$Resource$Operations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource. + */ + name?: string; + } + interface Params$Resource$Operations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The standard list filter. + */ + filter?: string; + /** + * The name of the operation's parent resource. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } + class Resource$Services { + root: Serviceusage; + constructor(root: Serviceusage); + getRoot(): Serviceusage; + /** + * serviceusage.services.batchEnable + * @desc Enable multiple services on a project. The operation is atomic: if + * enabling any service fails, then the entire batch fails, and no state + * changes occur. Operation + * @alias serviceusage.services.batchEnable + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Parent to enable services on. An example name would be: `projects/123` where `123` is the project number (not project ID). The `BatchEnableServices` method currently only supports projects. + * @param {().BatchEnableServicesRequest} 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 + */ + batchEnable(params?: Params$Resource$Services$Batchenable, options?: MethodOptions): AxiosPromise; + batchEnable(params: Params$Resource$Services$Batchenable, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + batchEnable(params: Params$Resource$Services$Batchenable, callback: BodyResponseCallback): void; + batchEnable(callback: BodyResponseCallback): void; + /** + * serviceusage.services.disable + * @desc Disable a service so that it can no longer be used with a project. + * This prevents unintended usage that may cause unexpected billing charges + * or security leaks. It is not valid to call the disable method on a + * service that is not currently enabled. Callers will receive a + * `FAILED_PRECONDITION` status if the target service is not currently + * enabled. Operation + * @alias serviceusage.services.disable + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Name of the consumer and service to disable the service on. The enable and disable methods currently only support projects. An example name would be: `projects/123/services/serviceusage.googleapis.com` where `123` is the project number (not project ID). + * @param {().DisableServiceRequest} 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 + */ + disable(params?: Params$Resource$Services$Disable, options?: MethodOptions): AxiosPromise; + disable(params: Params$Resource$Services$Disable, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + disable(params: Params$Resource$Services$Disable, callback: BodyResponseCallback): void; + disable(callback: BodyResponseCallback): void; + /** + * serviceusage.services.enable + * @desc Enable a service so that it can be used with a project. + * Operation + * @alias serviceusage.services.enable + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Name of the consumer and service to enable the service on. The `EnableService` and `DisableService` methods currently only support projects. Enabling a service requires that the service is public or is shared with the user enabling the service. An example name would be: `projects/123/services/serviceusage.googleapis.com` where `123` is the project number (not project ID). + * @param {().EnableServiceRequest} 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 + */ + enable(params?: Params$Resource$Services$Enable, options?: MethodOptions): AxiosPromise; + enable(params: Params$Resource$Services$Enable, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + enable(params: Params$Resource$Services$Enable, callback: BodyResponseCallback): void; + enable(callback: BodyResponseCallback): void; + /** + * serviceusage.services.get + * @desc Returns the service configuration and enabled state for a given + * service. + * @alias serviceusage.services.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Name of the consumer and service to get the `ConsumerState` for. An example name would be: `projects/123/services/serviceusage.googleapis.com` where `123` is the project number (not project ID). + * @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?: Params$Resource$Services$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Services$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Services$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * serviceusage.services.list + * @desc List all services available to the specified project, and the + * current state of those services with respect to the project. The list + * includes all public services, all services for which the calling user has + * the `servicemanagement.services.bind` permission, and all services that + * have already been enabled on the project. The list can be filtered to + * only include services in a specific state, for example to only include + * services enabled on the project. + * @alias serviceusage.services.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter Only list services that conform to the given filter. The allowed filter strings are `state:ENABLED` and `state:DISABLED`. + * @param {integer=} params.pageSize Requested size of the next page of data. Requested page size cannot exceed 200. If not set, the default page size is 50. + * @param {string=} params.pageToken Token identifying which result to start with, which is returned by a previous list call. + * @param {string} params.parent Parent to search for services on. An example name would be: `projects/123` where `123` is the project number (not project ID). + * @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?: Params$Resource$Services$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Services$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Services$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Services$Batchenable { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Parent to enable services on. An example name would be: `projects/123` + * where `123` is the project number (not project ID). The + * `BatchEnableServices` method currently only supports projects. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BatchEnableServicesRequest; + } + interface Params$Resource$Services$Disable { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the consumer and service to disable the service on. The enable + * and disable methods currently only support projects. An example name + * would be: `projects/123/services/serviceusage.googleapis.com` where `123` + * is the project number (not project ID). + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DisableServiceRequest; + } + interface Params$Resource$Services$Enable { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the consumer and service to enable the service on. The + * `EnableService` and `DisableService` methods currently only support + * projects. Enabling a service requires that the service is public or is + * shared with the user enabling the service. An example name would be: + * `projects/123/services/serviceusage.googleapis.com` where `123` is the + * project number (not project ID). + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$EnableServiceRequest; + } + interface Params$Resource$Services$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the consumer and service to get the `ConsumerState` for. An + * example name would be: + * `projects/123/services/serviceusage.googleapis.com` where `123` is the + * project number (not project ID). + */ + name?: string; + } + interface Params$Resource$Services$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Only list services that conform to the given filter. The allowed filter + * strings are `state:ENABLED` and `state:DISABLED`. + */ + filter?: string; + /** + * Requested size of the next page of data. Requested page size cannot + * exceed 200. If not set, the default page size is 50. + */ + pageSize?: number; + /** + * Token identifying which result to start with, which is returned by a + * previous list call. + */ + pageToken?: string; + /** + * Parent to search for services on. An example name would be: + * `projects/123` where `123` is the project number (not project ID). + */ + parent?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/serviceusage/v1.js b/express-server/node_modules/googleapis/build/src/apis/serviceusage/v1.js new file mode 100644 index 00000000..53fbe9c9 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/serviceusage/v1.js @@ -0,0 +1,353 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var serviceusage_v1; +(function (serviceusage_v1) { + /** + * Service Usage API + * + * Enables services that service consumers want to use on Google Cloud + * Platform, lists the available or enabled services, or disables services + * that service consumers no longer use. + * + * @example + * const {google} = require('googleapis'); + * const serviceusage = google.serviceusage('v1'); + * + * @namespace serviceusage + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Serviceusage + */ + class Serviceusage { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.operations = new Resource$Operations(this); + this.services = new Resource$Services(this); + } + getRoot() { + return this.root; + } + } + serviceusage_v1.Serviceusage = Serviceusage; + class Resource$Operations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + cancel(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://serviceusage.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:cancel') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://serviceusage.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://serviceusage.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://serviceusage.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/operations').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + serviceusage_v1.Resource$Operations = Resource$Operations; + class Resource$Services { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + batchEnable(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://serviceusage.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/services:batchEnable') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + disable(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://serviceusage.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:disable') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + enable(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://serviceusage.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:enable') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://serviceusage.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://serviceusage.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/services') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + serviceusage_v1.Resource$Services = Resource$Services; +})(serviceusage_v1 = exports.serviceusage_v1 || (exports.serviceusage_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/serviceusage/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/serviceusage/v1.js.map new file mode 100644 index 00000000..eb4de908 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/serviceusage/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/serviceusage/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/serviceusage/v1beta1.d.ts b/express-server/node_modules/googleapis/build/src/apis/serviceusage/v1beta1.d.ts new file mode 100644 index 00000000..0ebb86d4 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/serviceusage/v1beta1.d.ts @@ -0,0 +1,2451 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace serviceusage_v1beta1 { + interface Options extends GlobalOptions { + version: 'v1beta1'; + } + /** + * Service Usage API + * + * Enables services that service consumers want to use on Google Cloud + * Platform, lists the available or enabled services, or disables services + * that service consumers no longer use. + * + * @example + * const {google} = require('googleapis'); + * const serviceusage = google.serviceusage('v1beta1'); + * + * @namespace serviceusage + * @type {Function} + * @version v1beta1 + * @variation v1beta1 + * @param {object=} options Options for Serviceusage + */ + class Serviceusage { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + operations: Resource$Operations; + services: Resource$Services; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Api is a light-weight descriptor for an API Interface. Interfaces are also + * described as "protocol buffer services" in some contexts, such as + * by the "service" keyword in a .proto file, but they are different + * from API Services, which represent a concrete implementation of an + * interface as opposed to simply a description of methods and bindings. They + * are also sometimes simply referred to as "APIs" in other + * contexts, such as the name of this message itself. See + * https://cloud.google.com/apis/design/glossary for detailed terminology. + */ + interface Schema$Api { + /** + * The methods of this interface, in unspecified order. + */ + methods?: Schema$Method[]; + /** + * Included interfaces. See Mixin. + */ + mixins?: Schema$Mixin[]; + /** + * The fully qualified name of this interface, including package name + * followed by the interface's simple name. + */ + name?: string; + /** + * Any metadata attached to the interface. + */ + options?: Schema$Option[]; + /** + * Source context for the protocol buffer service represented by this + * message. + */ + sourceContext?: Schema$SourceContext; + /** + * The source syntax of the service. + */ + syntax?: string; + /** + * A version string for this interface. If specified, must have the form + * `major-version.minor-version`, as in `1.10`. If the minor version is + * omitted, it defaults to zero. If the entire version field is empty, the + * major version is derived from the package name, as outlined below. If the + * field is not empty, the version in the package name will be verified to + * be consistent with what is provided here. The versioning schema uses + * [semantic versioning](http://semver.org) where the major version number + * indicates a breaking change and the minor version an additive, + * non-breaking change. Both version numbers are signals to users what to + * expect from different versions, and should be carefully chosen based on + * the product plan. The major version is also reflected in the package + * name of the interface, which must end in `v<major-version>`, as in + * `google.feature.v1`. For major versions 0 and 1, the suffix can be + * omitted. Zero major versions must only be used for experimental, non-GA + * interfaces. + */ + version?: string; + } + /** + * `Authentication` defines the authentication configuration for an API. + * Example for an API targeted for external use: name: + * calendar.googleapis.com authentication: providers: - id: + * google_calendar_auth jwks_uri: + * https://www.googleapis.com/oauth2/v1/certs issuer: + * https://securetoken.google.com rules: - selector: "*" + * requirements: provider_id: google_calendar_auth + */ + interface Schema$Authentication { + /** + * Defines a set of authentication providers that a service supports. + */ + providers?: Schema$AuthProvider[]; + /** + * A list of authentication rules that apply to individual API methods. + * **NOTE:** All service configuration rules follow "last one + * wins" order. + */ + rules?: Schema$AuthenticationRule[]; + } + /** + * Authentication rules for the service. By default, if a method has any + * authentication requirements, every request must include a valid credential + * matching one of the requirements. It's an error to include more than + * one kind of credential in a single request. If a method doesn't have + * any auth requirements, request credentials will be ignored. + */ + interface Schema$AuthenticationRule { + /** + * If true, the service accepts API keys without any other credential. + */ + allowWithoutCredential?: boolean; + /** + * The requirements for OAuth credentials. + */ + oauth?: Schema$OAuthRequirements; + /** + * Requirements for additional authentication providers. + */ + requirements?: Schema$AuthRequirement[]; + /** + * Selects the methods to which this rule applies. Refer to selector for + * syntax details. + */ + selector?: string; + } + /** + * Configuration of authorization. This section determines the authorization + * provider, if unspecified, then no authorization check will be done. + * Example: experimental: authorization: provider: + * firebaserules.googleapis.com + */ + interface Schema$AuthorizationConfig { + /** + * The name of the authorization provider, such as + * firebaserules.googleapis.com. + */ + provider?: string; + } + /** + * Configuration for an anthentication provider, including support for [JSON + * Web Token + * (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32). + */ + interface Schema$AuthProvider { + /** + * The list of JWT + * [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3). + * that are allowed to access. A JWT containing any of these audiences will + * be accepted. When this setting is absent, only JWTs with audience + * "https://Service_name/API_name" will be accepted. For example, + * if no audiences are in the setting, LibraryService API will only accept + * JWTs with the following audience + * "https://library-example.googleapis.com/google.example.library.v1.LibraryService". + * Example: audiences: bookstore_android.apps.googleusercontent.com, + * bookstore_web.apps.googleusercontent.com + */ + audiences?: string; + /** + * Redirect URL if JWT token is required but no present or is expired. + * Implement authorizationUrl of securityDefinitions in OpenAPI spec. + */ + authorizationUrl?: string; + /** + * The unique identifier of the auth provider. It will be referred to by + * `AuthRequirement.provider_id`. Example: "bookstore_auth". + */ + id?: string; + /** + * Identifies the principal that issued the JWT. See + * https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.1 + * Usually a URL or an email address. Example: + * https://securetoken.google.com Example: + * 1234567-compute@developer.gserviceaccount.com + */ + issuer?: string; + /** + * URL of the provider's public key set to validate signature of the + * JWT. See [OpenID + * Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata). + * Optional if the key set document: - can be retrieved from [OpenID + * Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html of + * the issuer. - can be inferred from the email domain of the issuer (e.g. + * a Google service account). Example: + * https://www.googleapis.com/oauth2/v1/certs + */ + jwksUri?: string; + } + /** + * User-defined authentication requirements, including support for [JSON Web + * Token + * (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32). + */ + interface Schema$AuthRequirement { + /** + * NOTE: This will be deprecated soon, once AuthProvider.audiences is + * implemented and accepted in all the runtime components. The list of JWT + * [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3). + * that are allowed to access. A JWT containing any of these audiences will + * be accepted. When this setting is absent, only JWTs with audience + * "https://Service_name/API_name" will be accepted. For example, + * if no audiences are in the setting, LibraryService API will only accept + * JWTs with the following audience + * "https://library-example.googleapis.com/google.example.library.v1.LibraryService". + * Example: audiences: bookstore_android.apps.googleusercontent.com, + * bookstore_web.apps.googleusercontent.com + */ + audiences?: string; + /** + * id from authentication provider. Example: provider_id: + * bookstore_auth + */ + providerId?: string; + } + /** + * `Backend` defines the backend configuration for a service. + */ + interface Schema$Backend { + /** + * A list of API backend rules that apply to individual API methods. + * **NOTE:** All service configuration rules follow "last one + * wins" order. + */ + rules?: Schema$BackendRule[]; + } + /** + * A backend rule provides configuration for an individual API element. + */ + interface Schema$BackendRule { + /** + * The address of the API backend. + */ + address?: string; + /** + * The number of seconds to wait for a response from a request. The default + * deadline for gRPC is infinite (no deadline) and HTTP requests is 5 + * seconds. + */ + deadline?: number; + /** + * Minimum deadline in seconds needed for this method. Calls having deadline + * value lower than this will be rejected. + */ + minDeadline?: number; + /** + * Selects the methods to which this rule applies. Refer to selector for + * syntax details. + */ + selector?: string; + } + /** + * Request message for the `BatchEnableServices` method. + */ + interface Schema$BatchEnableServicesRequest { + /** + * The identifiers of the services to enable on the project. A valid + * identifier would be: serviceusage.googleapis.com Enabling services + * requires that each service is public or is shared with the user enabling + * the service. Two or more services must be specified. To enable a single + * service, use the `EnableService` method instead. A single request can + * enable a maximum of 20 services at a time. If more than 20 services are + * specified, the request will fail, and no state changes will occur. + */ + serviceIds?: string[]; + } + /** + * Response message for the `BatchEnableServices` method. This response + * message is assigned to the `response` field of the returned Operation when + * that operation is done. + */ + interface Schema$BatchEnableServicesResponse { + /** + * If allow_partial_success is true, and one or more services could not be + * enabled, this field contains the details about each failure. + */ + failures?: Schema$EnableFailure[]; + /** + * The new state of the services after enabling. + */ + services?: Schema$GoogleApiServiceusageV1Service[]; + } + /** + * Billing related configuration of the service. The following example shows + * how to configure monitored resources and metrics for billing: + * monitored_resources: - type: library.googleapis.com/branch labels: - + * key: /city description: The city where the library branch is + * located in. - key: /name description: The name of the branch. + * metrics: - name: library.googleapis.com/book/borrowed_count + * metric_kind: DELTA value_type: INT64 billing: + * consumer_destinations: - monitored_resource: + * library.googleapis.com/branch metrics: - + * library.googleapis.com/book/borrowed_count + */ + interface Schema$Billing { + /** + * Billing configurations for sending metrics to the consumer project. There + * can be multiple consumer destinations per service, each one must have a + * different monitored resource type. A metric can be used in at most one + * consumer destination. + */ + consumerDestinations?: Schema$BillingDestination[]; + } + /** + * Configuration of a specific billing destination (Currently only support + * bill against consumer project). + */ + interface Schema$BillingDestination { + /** + * Names of the metrics to report to this billing destination. Each name + * must be defined in Service.metrics section. + */ + metrics?: string[]; + /** + * The monitored resource type. The type must be defined in + * Service.monitored_resources section. + */ + monitoredResource?: string; + } + /** + * `Context` defines which contexts an API requests. Example: context: + * rules: - selector: "*" requested: - + * google.rpc.context.ProjectContext - + * google.rpc.context.OriginContext The above specifies that all methods in + * the API request `google.rpc.context.ProjectContext` and + * `google.rpc.context.OriginContext`. Available context types are defined in + * package `google.rpc.context`. This also provides mechanism to whitelist + * any protobuf message extension that can be sent in grpc metadata using + * “x-goog-ext-<extension_id>-bin” and + * “x-goog-ext-<extension_id>-jspb” format. For example, list any + * service specific protobuf types that can appear in grpc metadata as follows + * in your yaml file: Example: context: rules: - selector: + * "google.example.library.v1.LibraryService.CreateBook" + * allowed_request_extensions: - google.foo.v1.NewExtension + * allowed_response_extensions: - google.foo.v1.NewExtension You can + * also specify extension ID instead of fully qualified extension name here. + */ + interface Schema$Context { + /** + * A list of RPC context rules that apply to individual API methods. + * **NOTE:** All service configuration rules follow "last one + * wins" order. + */ + rules?: Schema$ContextRule[]; + } + /** + * A context rule provides information about the context for an individual API + * element. + */ + interface Schema$ContextRule { + /** + * A list of full type names or extension IDs of extensions allowed in grpc + * side channel from client to backend. + */ + allowedRequestExtensions?: string[]; + /** + * A list of full type names or extension IDs of extensions allowed in grpc + * side channel from backend to client. + */ + allowedResponseExtensions?: string[]; + /** + * A list of full type names of provided contexts. + */ + provided?: string[]; + /** + * A list of full type names of requested contexts. + */ + requested?: string[]; + /** + * Selects the methods to which this rule applies. Refer to selector for + * syntax details. + */ + selector?: string; + } + /** + * Selects and configures the service controller used by the service. The + * service controller handles features like abuse, quota, billing, logging, + * monitoring, etc. + */ + interface Schema$Control { + /** + * The service control environment to use. If empty, no control plane + * feature (like quota and billing) will be enabled. + */ + environment?: string; + } + /** + * Customize service error responses. For example, list any service specific + * protobuf types that can appear in error detail lists of error responses. + * Example: custom_error: types: - google.foo.v1.CustomError + * - google.foo.v1.AnotherError + */ + interface Schema$CustomError { + /** + * The list of custom error rules that apply to individual API messages. + * **NOTE:** All service configuration rules follow "last one + * wins" order. + */ + rules?: Schema$CustomErrorRule[]; + /** + * The list of custom error detail types, e.g. + * 'google.foo.v1.CustomError'. + */ + types?: string[]; + } + /** + * A custom error rule. + */ + interface Schema$CustomErrorRule { + /** + * Mark this message as possible payload in error response. Otherwise, + * objects of this type will be filtered when they appear in error payload. + */ + isErrorType?: boolean; + /** + * Selects messages to which this rule applies. Refer to selector for + * syntax details. + */ + selector?: string; + } + /** + * A custom pattern is used for defining custom HTTP verb. + */ + interface Schema$CustomHttpPattern { + /** + * The name of this custom HTTP verb. + */ + kind?: string; + /** + * The path matched by this custom verb. + */ + path?: string; + } + /** + * Request message for the `DisableService` method. + */ + interface Schema$DisableServiceRequest { + } + /** + * Response message for the `DisableService` method. This response message is + * assigned to the `response` field of the returned Operation when that + * operation is done. + */ + interface Schema$DisableServiceResponse { + /** + * The new state of the service after disabling. + */ + service?: Schema$GoogleApiServiceusageV1Service; + } + /** + * `Documentation` provides the information for describing a service. Example: + * <pre><code>documentation: summary: > The Google + * Calendar API gives access to most calendar features. pages: - name: + * Overview content: &#40;== include google/foo/overview.md + * ==&#41; - name: Tutorial content: &#40;== include + * google/foo/tutorial.md ==&#41; subpages; - name: Java content: + * &#40;== include google/foo/tutorial_java.md ==&#41; rules: - + * selector: google.calendar.Calendar.Get description: > ... - + * selector: google.calendar.Calendar.Put description: > ... + * </code></pre> Documentation is provided in markdown syntax. In + * addition to standard markdown features, definition lists, tables and fenced + * code blocks are supported. Section headers can be provided and are + * interpreted relative to the section nesting of the context where a + * documentation fragment is embedded. Documentation from the IDL is merged + * with documentation defined via the config at normalization time, where + * documentation provided by config rules overrides IDL provided. A number of + * constructs specific to the API platform are supported in documentation + * text. In order to reference a proto element, the following notation can be + * used: + * <pre><code>&#91;fully.qualified.proto.name]&#91;]</code></pre> + * To override the display text used for the link, this can be used: + * <pre><code>&#91;display + * text]&#91;fully.qualified.proto.name]</code></pre> Text can + * be excluded from doc using the following notation: + * <pre><code>&#40;-- internal comment + * --&#41;</code></pre> A few directives are available in + * documentation. Note that directives must appear on a single line to be + * properly identified. The `include` directive includes a markdown file from + * an external source: <pre><code>&#40;== include path/to/file + * ==&#41;</code></pre> The `resource_for` directive marks a + * message to be the resource of a collection in REST view. If it is not + * specified, tools attempt to infer the resource from the operations in a + * collection: <pre><code>&#40;== resource_for + * v1.shelves.books ==&#41;</code></pre> The directive + * `suppress_warning` does not directly affect documentation and is documented + * together with service config validation. + */ + interface Schema$Documentation { + /** + * The URL to the root of documentation. + */ + documentationRootUrl?: string; + /** + * Declares a single overview page. For example: + * <pre><code>documentation: summary: ... overview: + * &#40;== include overview.md ==&#41; </code></pre> + * This is a shortcut for the following declaration (using pages style): + * <pre><code>documentation: summary: ... pages: - name: + * Overview content: &#40;== include overview.md ==&#41; + * </code></pre> Note: you cannot specify both `overview` field + * and `pages` field. + */ + overview?: string; + /** + * The top level pages for the documentation set. + */ + pages?: Schema$Page[]; + /** + * A list of documentation rules that apply to individual API elements. + * **NOTE:** All service configuration rules follow "last one + * wins" order. + */ + rules?: Schema$DocumentationRule[]; + /** + * A short summary of what the service does. Can only be provided by plain + * text. + */ + summary?: string; + } + /** + * A documentation rule provides information about individual API elements. + */ + interface Schema$DocumentationRule { + /** + * Deprecation description of the selected element(s). It can be provided if + * an element is marked as `deprecated`. + */ + deprecationDescription?: string; + /** + * Description of the selected API(s). + */ + description?: string; + /** + * The selector is a comma-separated list of patterns. Each pattern is a + * qualified name of the element which may end in "*", indicating + * a wildcard. Wildcards are only allowed at the end and for a whole + * component of the qualified name, i.e. "foo.*" is ok, but not + * "foo.b*" or "foo.*.bar". To specify a default for all + * applicable elements, the whole pattern "*" is used. + */ + selector?: string; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * Provides error messages for the failing services. + */ + interface Schema$EnableFailure { + /** + * An error message describing why the service could not be enabled. + */ + errorMessage?: string; + /** + * The service id of a service that could not be enabled. + */ + serviceId?: string; + } + /** + * Request message for the `EnableService` method. + */ + interface Schema$EnableServiceRequest { + } + /** + * Response message for the `EnableService` method. This response message is + * assigned to the `response` field of the returned Operation when that + * operation is done. + */ + interface Schema$EnableServiceResponse { + /** + * The new state of the service after enabling. + */ + service?: Schema$GoogleApiServiceusageV1Service; + } + /** + * `Endpoint` describes a network endpoint that serves a set of APIs. A + * service may expose any number of endpoints, and all endpoints share the + * same service configuration, such as quota configuration and monitoring + * configuration. Example service configuration: name: + * library-example.googleapis.com endpoints: # Below entry makes + * 'google.example.library.v1.Library' # API be served from + * endpoint address library-example.googleapis.com. # It also allows + * HTTP OPTIONS calls to be passed to the backend, for # it to decide + * whether the subsequent cross-origin request is # allowed to proceed. + * - name: library-example.googleapis.com allow_cors: true + */ + interface Schema$Endpoint { + /** + * DEPRECATED: This field is no longer supported. Instead of using aliases, + * please specify multiple google.api.Endpoint for each of the intended + * aliases. Additional names that this endpoint will be hosted on. + */ + aliases?: string[]; + /** + * Allowing + * [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka + * cross-domain traffic, would allow the backends served from this endpoint + * to receive and respond to HTTP OPTIONS requests. The response will be + * used by the browser to determine whether the subsequent cross-origin + * request is allowed to proceed. + */ + allowCors?: boolean; + /** + * The list of features enabled on this endpoint. + */ + features?: string[]; + /** + * The canonical name of this endpoint. + */ + name?: string; + /** + * The specification of an Internet routable address of API frontend that + * will handle requests to this [API + * Endpoint](https://cloud.google.com/apis/design/glossary). It should be + * either a valid IPv4 address or a fully-qualified domain name. For + * example, "8.8.8.8" or "myservice.appspot.com". + */ + target?: string; + } + /** + * Enum type definition. + */ + interface Schema$Enum { + /** + * Enum value definitions. + */ + enumvalue?: Schema$EnumValue[]; + /** + * Enum type name. + */ + name?: string; + /** + * Protocol buffer options. + */ + options?: Schema$Option[]; + /** + * The source context. + */ + sourceContext?: Schema$SourceContext; + /** + * The source syntax. + */ + syntax?: string; + } + /** + * Enum value definition. + */ + interface Schema$EnumValue { + /** + * Enum value name. + */ + name?: string; + /** + * Enum value number. + */ + number?: number; + /** + * Protocol buffer options. + */ + options?: Schema$Option[]; + } + /** + * Experimental service configuration. These configuration options can only be + * used by whitelisted users. + */ + interface Schema$Experimental { + /** + * Authorization configuration. + */ + authorization?: Schema$AuthorizationConfig; + } + /** + * A single field of a message type. + */ + interface Schema$Field { + /** + * The field cardinality. + */ + cardinality?: string; + /** + * The string value of the default value of this field. Proto2 syntax only. + */ + defaultValue?: string; + /** + * The field JSON name. + */ + jsonName?: string; + /** + * The field type. + */ + kind?: string; + /** + * The field name. + */ + name?: string; + /** + * The field number. + */ + number?: number; + /** + * The index of the field type in `Type.oneofs`, for message or enumeration + * types. The first type has index 1; zero means the type is not in the + * list. + */ + oneofIndex?: number; + /** + * The protocol buffer options. + */ + options?: Schema$Option[]; + /** + * Whether to use alternative packed wire representation. + */ + packed?: boolean; + /** + * The field type URL, without the scheme, for message or enumeration types. + * Example: `"type.googleapis.com/google.protobuf.Timestamp"`. + */ + typeUrl?: string; + } + /** + * `Service` is the root object of Google service configuration schema. It + * describes basic information about a service, such as the name and the + * title, and delegates other aspects to sub-sections. Each sub-section is + * either a proto message or a repeated proto message that configures a + * specific aspect, such as auth. See each proto message definition for + * details. Example: type: google.api.Service config_version: 3 + * name: calendar.googleapis.com title: Google Calendar API apis: - + * name: google.calendar.v3.Calendar authentication: providers: - + * id: google_calendar_auth jwks_uri: + * https://www.googleapis.com/oauth2/v1/certs issuer: + * https://securetoken.google.com rules: - selector: "*" + * requirements: provider_id: google_calendar_auth + */ + interface Schema$GoogleApiService { + /** + * A list of API interfaces exported by this service. Only the `name` field + * of the google.protobuf.Api needs to be provided by the configuration + * author, as the remaining fields will be derived from the IDL during the + * normalization process. It is an error to specify an API interface here + * which cannot be resolved against the associated IDL files. + */ + apis?: Schema$Api[]; + /** + * Auth configuration. + */ + authentication?: Schema$Authentication; + /** + * API backend configuration. + */ + backend?: Schema$Backend; + /** + * Billing configuration. + */ + billing?: Schema$Billing; + /** + * The semantic version of the service configuration. The config version + * affects the interpretation of the service configuration. For example, + * certain features are enabled by default for certain config versions. The + * latest config version is `3`. + */ + configVersion?: number; + /** + * Context configuration. + */ + context?: Schema$Context; + /** + * Configuration for the service control plane. + */ + control?: Schema$Control; + /** + * Custom error configuration. + */ + customError?: Schema$CustomError; + /** + * Additional API documentation. + */ + documentation?: Schema$Documentation; + /** + * Configuration for network endpoints. If this is empty, then an endpoint + * with the same name as the service is automatically generated to service + * all defined APIs. + */ + endpoints?: Schema$Endpoint[]; + /** + * A list of all enum types included in this API service. Enums referenced + * directly or indirectly by the `apis` are automatically included. Enums + * which are not referenced but shall be included should be listed here by + * name. Example: enums: - name: google.someapi.v1.SomeEnum + */ + enums?: Schema$Enum[]; + /** + * Experimental configuration. + */ + experimental?: Schema$Experimental; + /** + * HTTP configuration. + */ + http?: Schema$Http; + /** + * A unique ID for a specific instance of this message, typically assigned + * by the client for tracking purpose. If empty, the server may choose to + * generate one instead. Must be no longer than 60 characters. + */ + id?: string; + /** + * Logging configuration. + */ + logging?: Schema$Logging; + /** + * Defines the logs used by this service. + */ + logs?: Schema$LogDescriptor[]; + /** + * Defines the metrics used by this service. + */ + metrics?: Schema$MetricDescriptor[]; + /** + * Defines the monitored resources used by this service. This is required by + * the Service.monitoring and Service.logging configurations. + */ + monitoredResources?: Schema$MonitoredResourceDescriptor[]; + /** + * Monitoring configuration. + */ + monitoring?: Schema$Monitoring; + /** + * The DNS address at which this service is available, e.g. + * `calendar.googleapis.com`. + */ + name?: string; + /** + * The Google project that owns this service. + */ + producerProjectId?: string; + /** + * Quota configuration. + */ + quota?: Schema$Quota; + /** + * Output only. The source information for this configuration if available. + */ + sourceInfo?: Schema$SourceInfo; + /** + * System parameter configuration. + */ + systemParameters?: Schema$SystemParameters; + /** + * A list of all proto message types included in this API service. It serves + * similar purpose as [google.api.Service.types], except that these types + * are not needed by user-defined APIs. Therefore, they will not show up in + * the generated discovery doc. This field should only be used to define + * system APIs in ESF. + */ + systemTypes?: Schema$Type[]; + /** + * The product title for this service. + */ + title?: string; + /** + * A list of all proto message types included in this API service. Types + * referenced directly or indirectly by the `apis` are automatically + * included. Messages which are not referenced but shall be included, such + * as types used by the `google.protobuf.Any` type, should be listed here by + * name. Example: types: - name: google.protobuf.Int32 + */ + types?: Schema$Type[]; + /** + * Configuration controlling usage of this service. + */ + usage?: Schema$Usage; + } + /** + * The operation metadata returned for the batchend services operation. + */ + interface Schema$GoogleApiServiceusageV1OperationMetadata { + /** + * The full name of the resources that this operation is directly associated + * with. + */ + resourceNames?: string[]; + } + /** + * A service that is available for use by the consumer. + */ + interface Schema$GoogleApiServiceusageV1Service { + /** + * The service configuration of the available service. Some fields may be + * filtered out of the configuration in responses to the `ListServices` + * method. These fields are present only in responses to the `GetService` + * method. + */ + config?: Schema$GoogleApiServiceusageV1ServiceConfig; + /** + * The resource name of the consumer and service. A valid name would be: - + * projects/123/services/serviceusage.googleapis.com + */ + name?: string; + /** + * The resource name of the consumer. A valid name would be: - projects/123 + */ + parent?: string; + /** + * Whether or not the service has been enabled for use by the consumer. + */ + state?: string; + } + /** + * The configuration of the service. + */ + interface Schema$GoogleApiServiceusageV1ServiceConfig { + /** + * A list of API interfaces exported by this service. Contains only the + * names, versions, and method names of the interfaces. + */ + apis?: Schema$Api[]; + /** + * Auth configuration. Contains only the OAuth rules. + */ + authentication?: Schema$Authentication; + /** + * Additional API documentation. Contains only the summary and the + * documentation URL. + */ + documentation?: Schema$Documentation; + /** + * Configuration for network endpoints. Contains only the names and aliases + * of the endpoints. + */ + endpoints?: Schema$Endpoint[]; + /** + * The DNS address at which this service is available. An example DNS + * address would be: `calendar.googleapis.com`. + */ + name?: string; + /** + * Quota configuration. + */ + quota?: Schema$Quota; + /** + * The product title for this service. + */ + title?: string; + /** + * Configuration controlling usage of this service. + */ + usage?: Schema$Usage; + } + /** + * Defines the HTTP configuration for an API service. It contains a list of + * HttpRule, each specifying the mapping of an RPC method to one or more HTTP + * REST API methods. + */ + interface Schema$Http { + /** + * When set to true, URL path parmeters will be fully URI-decoded except in + * cases of single segment matches in reserved expansion, where + * "%2F" will be left encoded. The default behavior is to not + * decode RFC 6570 reserved characters in multi segment matches. + */ + fullyDecodeReservedExpansion?: boolean; + /** + * A list of HTTP configuration rules that apply to individual API methods. + * **NOTE:** All service configuration rules follow "last one + * wins" order. + */ + rules?: Schema$HttpRule[]; + } + /** + * # gRPC Transcoding gRPC Transcoding is a feature for mapping between a + * gRPC method and one or more HTTP REST endpoints. It allows developers to + * build a single API service that supports both gRPC APIs and REST APIs. Many + * systems, including [Google APIs](https://github.com/googleapis/googleapis), + * [Cloud Endpoints](https://cloud.google.com/endpoints), [gRPC + * Gateway](https://github.com/grpc-ecosystem/grpc-gateway), and + * [Envoy](https://github.com/envoyproxy/envoy) proxy support this feature and + * use it for large scale production services. `HttpRule` defines the schema + * of the gRPC/REST mapping. The mapping specifies how different portions of + * the gRPC request message are mapped to the URL path, URL query parameters, + * and HTTP request body. It also controls how the gRPC response message is + * mapped to the HTTP response body. `HttpRule` is typically specified as an + * `google.api.http` annotation on the gRPC method. Each mapping specifies a + * URL path template and an HTTP method. The path template may refer to one or + * more fields in the gRPC request message, as long as each field is a + * non-repeated field with a primitive (non-message) type. The path template + * controls how fields of the request message are mapped to the URL path. + * Example: service Messaging { rpc GetMessage(GetMessageRequest) + * returns (Message) { option (google.api.http) = { get: + * "/v1/{name=messages/*"}" }; } } message + * GetMessageRequest { string name = 1; // Mapped to URL path. } + * message Message { string text = 1; // The resource content. } + * This enables an HTTP REST to gRPC mapping as below: HTTP | gRPC + * -----|----- `GET /v1/messages/123456` | `GetMessage(name: + * "messages/123456")` Any fields in the request message which are + * not bound by the path template automatically become HTTP query parameters + * if there is no HTTP request body. For example: service Messaging { rpc + * GetMessage(GetMessageRequest) returns (Message) { option + * (google.api.http) = { get:"/v1/messages/{message_id}" + * }; } } message GetMessageRequest { message SubMessage { + * string subfield = 1; } string message_id = 1; // Mapped to URL + * path. int64 revision = 2; // Mapped to URL query parameter + * `revision`. SubMessage sub = 3; // Mapped to URL query parameter + * `sub.subfield`. } This enables a HTTP JSON to RPC mapping as below: + * HTTP | gRPC -----|----- `GET + * /v1/messages/123456?revision=2&sub.subfield=foo` | + * `GetMessage(message_id: "123456" revision: 2 sub: + * SubMessage(subfield: "foo"))` Note that fields which are mapped + * to URL query parameters must have a primitive type or a repeated primitive + * type or a non-repeated message type. In the case of a repeated type, the + * parameter can be repeated in the URL as `...?param=A&param=B`. In the + * case of a message type, each field of the message is mapped to a separate + * parameter, such as `...?foo.a=A&foo.b=B&foo.c=C`. For HTTP methods + * that allow a request body, the `body` field specifies the mapping. Consider + * a REST update method on the message resource collection: service + * Messaging { rpc UpdateMessage(UpdateMessageRequest) returns (Message) + * { option (google.api.http) = { patch: + * "/v1/messages/{message_id}" body: "message" + * }; } } message UpdateMessageRequest { string message_id + * = 1; // mapped to the URL Message message = 2; // mapped to the + * body } The following HTTP JSON to RPC mapping is enabled, where the + * representation of the JSON in the request body is determined by protos JSON + * encoding: HTTP | gRPC -----|----- `PATCH /v1/messages/123456 { + * "text": "Hi!" }` | `UpdateMessage(message_id: + * "123456" message { text: "Hi!" })` The special name + * `*` can be used in the body mapping to define that every field not bound by + * the path template should be mapped to the request body. This enables the + * following alternative definition of the update method: service + * Messaging { rpc UpdateMessage(Message) returns (Message) { option + * (google.api.http) = { patch: + * "/v1/messages/{message_id}" body: "*" }; } } + * message Message { string message_id = 1; string text = 2; } + * The following HTTP JSON to RPC mapping is enabled: HTTP | gRPC -----|----- + * `PATCH /v1/messages/123456 { "text": "Hi!" }` | + * `UpdateMessage(message_id: "123456" text: "Hi!")` Note + * that when using `*` in the body mapping, it is not possible to have HTTP + * parameters, as all fields not bound by the path end in the body. This makes + * this option more rarely used in practice when defining REST APIs. The + * common usage of `*` is in custom methods which don't use the URL at all + * for transferring data. It is possible to define multiple HTTP methods for + * one RPC by using the `additional_bindings` option. Example: service + * Messaging { rpc GetMessage(GetMessageRequest) returns (Message) { + * option (google.api.http) = { get: + * "/v1/messages/{message_id}" additional_bindings { get: + * "/v1/users/{user_id}/messages/{message_id}" } }; } } + * message GetMessageRequest { string message_id = 1; string + * user_id = 2; } This enables the following two alternative HTTP JSON to + * RPC mappings: HTTP | gRPC -----|----- `GET /v1/messages/123456` | + * `GetMessage(message_id: "123456")` `GET + * /v1/users/me/messages/123456` | `GetMessage(user_id: "me" + * message_id: "123456")` ## Rules for HTTP mapping 1. Leaf + * request fields (recursive expansion nested messages in the request message) + * are classified into three categories: - Fields referred by the path + * template. They are passed via the URL path. - Fields referred by the + * HttpRule.body. They are passed via the HTTP request body. - All + * other fields are passed via the URL query parameters, and the parameter + * name is the field path in the request message. A repeated field can be + * represented as multiple query parameters under the same name. 2. If + * HttpRule.body is "*", there is no URL query parameter, all fields + * are passed via URL path and HTTP request body. 3. If HttpRule.body is + * omitted, there is no HTTP request body, all fields are passed via URL + * path and URL query parameters. ### Path template syntax Template = + * "/" Segments [ Verb ] ; Segments = Segment { "/" + * Segment } ; Segment = "*" | "**" | LITERAL | + * Variable ; Variable = "{" FieldPath [ "=" Segments + * ] "}" ; FieldPath = IDENT { "." IDENT } ; Verb + * = ":" LITERAL ; The syntax `*` matches a single URL path + * segment. The syntax `**` matches zero or more URL path segments, which must + * be the last part of the URL path except the `Verb`. The syntax `Variable` + * matches part of the URL path as specified by its template. A variable + * template must not contain other variables. If a variable matches a single + * path segment, its template may be omitted, e.g. `{var}` is equivalent to + * `{var=*}`. The syntax `LITERAL` matches literal text in the URL path. If + * the `LITERAL` contains any reserved character, such characters should be + * percent-encoded before the matching. If a variable contains exactly one + * path segment, such as `"{var}"` or `"{var=*}"`, when + * such a variable is expanded into a URL path on the client side, all + * characters except `[-_.~0-9a-zA-Z]` are percent-encoded. The server side + * does the reverse decoding. Such variables show up in the [Discovery + * Document](https://developers.google.com/discovery/v1/reference/apis) as + * `{var}`. If a variable contains multiple path segments, such as + * `"{var=foo/*}"` or `"{var=**}"`, when such a variable + * is expanded into a URL path on the client side, all characters except + * `[-_.~/0-9a-zA-Z]` are percent-encoded. The server side does the reverse + * decoding, except "%2F" and "%2f" are left unchanged. + * Such variables show up in the [Discovery + * Document](https://developers.google.com/discovery/v1/reference/apis) as + * `{+var}`. ## Using gRPC API Service Configuration gRPC API Service + * Configuration (service config) is a configuration language for configuring + * a gRPC service to become a user-facing product. The service config is + * simply the YAML representation of the `google.api.Service` proto message. + * As an alternative to annotating your proto file, you can configure gRPC + * transcoding in your service config YAML files. You do this by specifying a + * `HttpRule` that maps the gRPC method to a REST endpoint, achieving the same + * effect as the proto annotation. This can be particularly useful if you have + * a proto that is reused in multiple services. Note that any transcoding + * specified in the service config will override any matching transcoding + * configuration in the proto. Example: http: rules: # + * Selects a gRPC method and applies HttpRule to it. - selector: + * example.v1.Messaging.GetMessage get: + * /v1/messages/{message_id}/{sub.subfield} ## Special notes When gRPC + * Transcoding is used to map a gRPC to JSON REST endpoints, the proto to JSON + * conversion must follow the [proto3 + * specification](https://developers.google.com/protocol-buffers/docs/proto3#json). + * While the single segment variable follows the semantics of [RFC + * 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 Simple String + * Expansion, the multi segment variable **does not** follow RFC 6570 + * Section 3.2.3 Reserved Expansion. The reason is that the Reserved Expansion + * does not expand special characters like `?` and `#`, which would lead to + * invalid URLs. As the result, gRPC Transcoding uses a custom encoding for + * multi segment variables. The path variables **must not** refer to any + * repeated or mapped field, because client libraries are not capable of + * handling such variable expansion. The path variables **must not** capture + * the leading "/" character. The reason is that the most common use + * case "{var}" does not capture the leading "/" + * character. For consistency, all path variables must share the same + * behavior. Repeated message fields must not be mapped to URL query + * parameters, because no client library can support such complicated mapping. + * If an API needs to use a JSON array for request or response body, it can + * map the request or response body to a repeated field. However, some gRPC + * Transcoding implementations may not support this feature. + */ + interface Schema$HttpRule { + /** + * Additional HTTP bindings for the selector. Nested bindings must not + * contain an `additional_bindings` field themselves (that is, the nesting + * may only be one level deep). + */ + additionalBindings?: Schema$HttpRule[]; + /** + * The name of the request field whose value is mapped to the HTTP request + * body, or `*` for mapping all request fields not captured by the path + * pattern to the HTTP body, or omitted for not having any HTTP request + * body. NOTE: the referred field must be present at the top-level of the + * request message type. + */ + body?: string; + /** + * The custom pattern is used for specifying an HTTP method that is not + * included in the `pattern` field, such as HEAD, or "*" to leave + * the HTTP method unspecified for this rule. The wild-card rule is useful + * for services that provide content to Web (HTML) clients. + */ + custom?: Schema$CustomHttpPattern; + /** + * Maps to HTTP DELETE. Used for deleting a resource. + */ + delete?: string; + /** + * Maps to HTTP GET. Used for listing and getting information about + * resources. + */ + get?: string; + /** + * Maps to HTTP PATCH. Used for updating a resource. + */ + patch?: string; + /** + * Maps to HTTP POST. Used for creating a resource or performing an action. + */ + post?: string; + /** + * Maps to HTTP PUT. Used for replacing a resource. + */ + put?: string; + /** + * Optional. The name of the response field whose value is mapped to the + * HTTP response body. When omitted, the entire response message will be + * used as the HTTP response body. NOTE: The referred field must be present + * at the top-level of the response message type. + */ + responseBody?: string; + /** + * Selects a method to which this rule applies. Refer to selector for + * syntax details. + */ + selector?: string; + } + /** + * A description of a label. + */ + interface Schema$LabelDescriptor { + /** + * A human-readable description for the label. + */ + description?: string; + /** + * The label key. + */ + key?: string; + /** + * The type of data that can be assigned to the label. + */ + valueType?: string; + } + /** + * The response message for Operations.ListOperations. + */ + interface Schema$ListOperationsResponse { + /** + * The standard List next-page token. + */ + nextPageToken?: string; + /** + * A list of operations that matches the specified filter in the request. + */ + operations?: Schema$Operation[]; + } + /** + * Response message for the `ListServices` method. + */ + interface Schema$ListServicesResponse { + /** + * Token that can be passed to `ListServices` to resume a paginated query. + */ + nextPageToken?: string; + /** + * The available services for the requested project. + */ + services?: Schema$Service[]; + } + /** + * A description of a log type. Example in YAML format: - name: + * library.googleapis.com/activity_history description: The history of + * borrowing and returning library items. display_name: Activity labels: + * - key: /customer_id description: Identifier of a library customer + */ + interface Schema$LogDescriptor { + /** + * A human-readable description of this log. This information appears in the + * documentation and can contain details. + */ + description?: string; + /** + * The human-readable name for this log. This information appears on the + * user interface and should be concise. + */ + displayName?: string; + /** + * The set of labels that are available to describe a specific log entry. + * Runtime requests that contain labels not specified here are considered + * invalid. + */ + labels?: Schema$LabelDescriptor[]; + /** + * The name of the log. It must be less than 512 characters long and can + * include the following characters: upper- and lower-case alphanumeric + * characters [A-Za-z0-9], and punctuation characters including slash, + * underscore, hyphen, period [/_-.]. + */ + name?: string; + } + /** + * Logging configuration of the service. The following example shows how to + * configure logs to be sent to the producer and consumer projects. In the + * example, the `activity_history` log is sent to both the producer and + * consumer projects, whereas the `purchase_history` log is only sent to the + * producer project. monitored_resources: - type: + * library.googleapis.com/branch labels: - key: /city description: + * The city where the library branch is located in. - key: /name + * description: The name of the branch. logs: - name: activity_history + * labels: - key: /customer_id - name: purchase_history logging: + * producer_destinations: - monitored_resource: + * library.googleapis.com/branch logs: - activity_history - + * purchase_history consumer_destinations: - monitored_resource: + * library.googleapis.com/branch logs: - activity_history + */ + interface Schema$Logging { + /** + * Logging configurations for sending logs to the consumer project. There + * can be multiple consumer destinations, each one must have a different + * monitored resource type. A log can be used in at most one consumer + * destination. + */ + consumerDestinations?: Schema$LoggingDestination[]; + /** + * Logging configurations for sending logs to the producer project. There + * can be multiple producer destinations, each one must have a different + * monitored resource type. A log can be used in at most one producer + * destination. + */ + producerDestinations?: Schema$LoggingDestination[]; + } + /** + * Configuration of a specific logging destination (the producer project or + * the consumer project). + */ + interface Schema$LoggingDestination { + /** + * Names of the logs to be sent to this destination. Each name must be + * defined in the Service.logs section. If the log name is not a domain + * scoped name, it will be automatically prefixed with the service name + * followed by "/". + */ + logs?: string[]; + /** + * The monitored resource type. The type must be defined in the + * Service.monitored_resources section. + */ + monitoredResource?: string; + } + /** + * Method represents a method of an API interface. + */ + interface Schema$Method { + /** + * The simple name of this method. + */ + name?: string; + /** + * Any metadata attached to the method. + */ + options?: Schema$Option[]; + /** + * If true, the request is streamed. + */ + requestStreaming?: boolean; + /** + * A URL of the input message type. + */ + requestTypeUrl?: string; + /** + * If true, the response is streamed. + */ + responseStreaming?: boolean; + /** + * The URL of the output message type. + */ + responseTypeUrl?: string; + /** + * The source syntax of this method. + */ + syntax?: string; + } + /** + * Defines a metric type and its schema. Once a metric descriptor is created, + * deleting or altering it stops data collection and makes the metric + * type's existing data unusable. + */ + interface Schema$MetricDescriptor { + /** + * A detailed description of the metric, which can be used in documentation. + */ + description?: string; + /** + * A concise name for the metric, which can be displayed in user interfaces. + * Use sentence case without an ending period, for example "Request + * count". This field is optional but it is recommended to be set for + * any metrics associated with user-visible concepts, such as Quota. + */ + displayName?: string; + /** + * The set of labels that can be used to describe a specific instance of + * this metric type. For example, the + * `appengine.googleapis.com/http/server/response_latencies` metric type has + * a label for the HTTP response code, `response_code`, so you can look at + * latencies for successful responses or just for responses that failed. + */ + labels?: Schema$LabelDescriptor[]; + /** + * Optional. Metadata which can be used to guide usage of the metric. + */ + metadata?: Schema$MetricDescriptorMetadata; + /** + * Whether the metric records instantaneous values, changes to a value, etc. + * Some combinations of `metric_kind` and `value_type` might not be + * supported. + */ + metricKind?: string; + /** + * The resource name of the metric descriptor. + */ + name?: string; + /** + * The metric type, including its DNS name prefix. The type is not + * URL-encoded. All user-defined metric types have the DNS name + * `custom.googleapis.com` or `external.googleapis.com`. Metric types + * should use a natural hierarchical grouping. For example: + * "custom.googleapis.com/invoice/paid/amount" + * "external.googleapis.com/prometheus/up" + * "appengine.googleapis.com/http/server/response_latencies" + */ + type?: string; + /** + * The unit in which the metric value is reported. It is only applicable if + * the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The supported + * units are a subset of [The Unified Code for Units of + * Measure](http://unitsofmeasure.org/ucum.html) standard: **Basic units + * (UNIT)** * `bit` bit * `By` byte * `s` second * `min` minute + * * `h` hour * `d` day **Prefixes (PREFIX)** * `k` kilo + * (10**3) * `M` mega (10**6) * `G` giga (10**9) * `T` tera + * (10**12) * `P` peta (10**15) * `E` exa (10**18) * `Z` + * zetta (10**21) * `Y` yotta (10**24) * `m` milli (10**-3) * + * `u` micro (10**-6) * `n` nano (10**-9) * `p` pico + * (10**-12) * `f` femto (10**-15) * `a` atto (10**-18) * `z` + * zepto (10**-21) * `y` yocto (10**-24) * `Ki` kibi (2**10) * + * `Mi` mebi (2**20) * `Gi` gibi (2**30) * `Ti` tebi (2**40) + * **Grammar** The grammar also includes these connectors: * `/` division + * (as an infix operator, e.g. `1/s`). * `.` multiplication (as an infix + * operator, e.g. `GBy.d`) The grammar for a unit is as follows: Expression + * = Component { "." Component } { "/" Component } ; + * Component = ( [ PREFIX ] UNIT | "%" ) [ Annotation ] | + * Annotation | "1" ; Annotation + * = "{" NAME "}" ; Notes: * `Annotation` is just a + * comment if it follows a `UNIT` and is equivalent to `1` if it is used + * alone. For examples, `{requests}/s == 1/s`, `By{transmitted}/s == + * By/s`. * `NAME` is a sequence of non-blank printable ASCII characters not + * containing '{' or '}'. * `1` represents dimensionless + * value 1, such as in `1/s`. * `%` represents dimensionless value 1/100, + * and annotates values giving a percentage. + */ + unit?: string; + /** + * Whether the measurement is an integer, a floating-point number, etc. Some + * combinations of `metric_kind` and `value_type` might not be supported. + */ + valueType?: string; + } + /** + * Additional annotations that can be used to guide the usage of a metric. + */ + interface Schema$MetricDescriptorMetadata { + /** + * The delay of data points caused by ingestion. Data points older than this + * age are guaranteed to be ingested and available to be read, excluding + * data loss due to errors. + */ + ingestDelay?: string; + /** + * The launch stage of the metric definition. + */ + launchStage?: string; + /** + * The sampling period of metric data points. For metrics which are written + * periodically, consecutive data points are stored at this time interval, + * excluding data loss due to errors. Metrics with a higher granularity have + * a smaller sampling period. + */ + samplePeriod?: string; + } + /** + * Bind API methods to metrics. Binding a method to a metric causes that + * metric's configured quota behaviors to apply to the method call. + */ + interface Schema$MetricRule { + /** + * Metrics to update when the selected methods are called, and the + * associated cost applied to each metric. The key of the map is the metric + * name, and the values are the amount increased for the metric against + * which the quota limits are defined. The value must not be negative. + */ + metricCosts?: any; + /** + * Selects the methods to which this rule applies. Refer to selector for + * syntax details. + */ + selector?: string; + } + /** + * Declares an API Interface to be included in this interface. The including + * interface must redeclare all the methods from the included interface, but + * documentation and options are inherited as follows: - If after comment and + * whitespace stripping, the documentation string of the redeclared method + * is empty, it will be inherited from the original method. - Each + * annotation belonging to the service config (http, visibility) which is + * not set in the redeclared method will be inherited. - If an http + * annotation is inherited, the path pattern will be modified as follows. + * Any version prefix will be replaced by the version of the including + * interface plus the root path if specified. Example of a simple mixin: + * package google.acl.v1; service AccessControl { // Get the + * underlying ACL object. rpc GetAcl(GetAclRequest) returns (Acl) { + * option (google.api.http).get = "/v1/{resource=**}:getAcl"; } } + * package google.storage.v2; service Storage { // rpc + * GetAcl(GetAclRequest) returns (Acl); // Get a data record. rpc + * GetData(GetDataRequest) returns (Data) { option + * (google.api.http).get = "/v2/{resource=**}"; } } + * Example of a mixin configuration: apis: - name: + * google.storage.v2.Storage mixins: - name: + * google.acl.v1.AccessControl The mixin construct implies that all methods + * in `AccessControl` are also declared with same name and request/response + * types in `Storage`. A documentation generator or annotation processor will + * see the effective `Storage.GetAcl` method after inherting documentation and + * annotations as follows: service Storage { // Get the underlying + * ACL object. rpc GetAcl(GetAclRequest) returns (Acl) { option + * (google.api.http).get = "/v2/{resource=**}:getAcl"; } ... + * } Note how the version in the path pattern changed from `v1` to `v2`. If + * the `root` field in the mixin is specified, it should be a relative path + * under which inherited HTTP paths are placed. Example: apis: - + * name: google.storage.v2.Storage mixins: - name: + * google.acl.v1.AccessControl root: acls This implies the following + * inherited HTTP annotation: service Storage { // Get the + * underlying ACL object. rpc GetAcl(GetAclRequest) returns (Acl) { + * option (google.api.http).get = "/v2/acls/{resource=**}:getAcl"; + * } ... } + */ + interface Schema$Mixin { + /** + * The fully qualified name of the interface which is included. + */ + name?: string; + /** + * If non-empty specifies a path under which inherited HTTP paths are + * rooted. + */ + root?: string; + } + /** + * An object that describes the schema of a MonitoredResource object using a + * type name and a set of labels. For example, the monitored resource + * descriptor for Google Compute Engine VM instances has a type of + * `"gce_instance"` and specifies the use of the labels + * `"instance_id"` and `"zone"` to identify particular VM + * instances. Different APIs can support different monitored resource types. + * APIs generally provide a `list` method that returns the monitored resource + * descriptors used by the API. + */ + interface Schema$MonitoredResourceDescriptor { + /** + * Optional. A detailed description of the monitored resource type that + * might be used in documentation. + */ + description?: string; + /** + * Optional. A concise name for the monitored resource type that might be + * displayed in user interfaces. It should be a Title Cased Noun Phrase, + * without any article or other determiners. For example, `"Google + * Cloud SQL Database"`. + */ + displayName?: string; + /** + * Required. A set of labels used to describe instances of this monitored + * resource type. For example, an individual Google Cloud SQL database is + * identified by values for the labels `"database_id"` and + * `"zone"`. + */ + labels?: Schema$LabelDescriptor[]; + /** + * Optional. The resource name of the monitored resource descriptor: + * `"projects/{project_id}/monitoredResourceDescriptors/{type}"` + * where {type} is the value of the `type` field in this object and + * {project_id} is a project ID that provides API-specific context for + * accessing the type. APIs that do not use project information can use the + * resource name format `"monitoredResourceDescriptors/{type}"`. + */ + name?: string; + /** + * Required. The monitored resource type. For example, the type + * `"cloudsql_database"` represents databases in Google Cloud SQL. + * The maximum length of this value is 256 characters. + */ + type?: string; + } + /** + * Monitoring configuration of the service. The example below shows how to + * configure monitored resources and metrics for monitoring. In the example, a + * monitored resource and two metrics are defined. The + * `library.googleapis.com/book/returned_count` metric is sent to both + * producer and consumer projects, whereas the + * `library.googleapis.com/book/overdue_count` metric is only sent to the + * consumer project. monitored_resources: - type: + * library.googleapis.com/branch labels: - key: /city description: + * The city where the library branch is located in. - key: /name + * description: The name of the branch. metrics: - name: + * library.googleapis.com/book/returned_count metric_kind: DELTA + * value_type: INT64 labels: - key: /customer_id - name: + * library.googleapis.com/book/overdue_count metric_kind: GAUGE + * value_type: INT64 labels: - key: /customer_id monitoring: + * producer_destinations: - monitored_resource: + * library.googleapis.com/branch metrics: - + * library.googleapis.com/book/returned_count consumer_destinations: - + * monitored_resource: library.googleapis.com/branch metrics: - + * library.googleapis.com/book/returned_count - + * library.googleapis.com/book/overdue_count + */ + interface Schema$Monitoring { + /** + * Monitoring configurations for sending metrics to the consumer project. + * There can be multiple consumer destinations, each one must have a + * different monitored resource type. A metric can be used in at most one + * consumer destination. + */ + consumerDestinations?: Schema$MonitoringDestination[]; + /** + * Monitoring configurations for sending metrics to the producer project. + * There can be multiple producer destinations, each one must have a + * different monitored resource type. A metric can be used in at most one + * producer destination. + */ + producerDestinations?: Schema$MonitoringDestination[]; + } + /** + * Configuration of a specific monitoring destination (the producer project or + * the consumer project). + */ + interface Schema$MonitoringDestination { + /** + * Names of the metrics to report to this monitoring destination. Each name + * must be defined in Service.metrics section. + */ + metrics?: string[]; + /** + * The monitored resource type. The type must be defined in + * Service.monitored_resources section. + */ + monitoredResource?: string; + } + /** + * OAuth scopes are a way to define data and permissions on data. For example, + * there are scopes defined for "Read-only access to Google + * Calendar" and "Access to Cloud Platform". Users can consent + * to a scope for an application, giving it permission to access that data on + * their behalf. OAuth scope specifications should be fairly coarse grained; + * a user will need to see and understand the text description of what your + * scope means. In most cases: use one or at most two OAuth scopes for an + * entire family of products. If your product has multiple APIs, you should + * probably be sharing the OAuth scope across all of those APIs. When you + * need finer grained OAuth consent screens: talk with your product management + * about how developers will use them in practice. Please note that even + * though each of the canonical scopes is enough for a request to be accepted + * and passed to the backend, a request can still fail due to the backend + * requiring additional scopes or permissions. + */ + interface Schema$OAuthRequirements { + /** + * The list of publicly documented OAuth scopes that are allowed access. An + * OAuth token containing any of these scopes will be accepted. Example: + * canonical_scopes: https://www.googleapis.com/auth/calendar, + * https://www.googleapis.com/auth/calendar.read + */ + canonicalScopes?: string; + } + /** + * This resource represents a long-running operation that is the result of a + * network API call. + */ + interface Schema$Operation { + /** + * If the value is `false`, it means the operation is still in progress. If + * `true`, the operation is completed, and either `error` or `response` is + * available. + */ + done?: boolean; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * Service-specific metadata associated with the operation. It typically + * contains progress information and common metadata such as create time. + * Some services might not provide such metadata. Any method that returns a + * long-running operation should document the metadata type, if any. + */ + metadata?: any; + /** + * The server-assigned name, which is only unique within the same service + * that originally returns it. If you use the default HTTP mapping, the + * `name` should have the format of `operations/some/unique/name`. + */ + name?: string; + /** + * The normal response of the operation in case of success. If the original + * method returns no data on success, such as `Delete`, the response is + * `google.protobuf.Empty`. If the original method is standard + * `Get`/`Create`/`Update`, the response should be the resource. For other + * methods, the response should have the type `XxxResponse`, where `Xxx` is + * the original method name. For example, if the original method name is + * `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: any; + } + /** + * The operation metadata returned for the batchend services operation. + */ + interface Schema$OperationMetadata { + /** + * The full name of the resources that this operation is directly associated + * with. + */ + resourceNames?: string[]; + } + /** + * A protocol buffer option, which can be attached to a message, field, + * enumeration, etc. + */ + interface Schema$Option { + /** + * The option's name. For protobuf built-in options (options defined in + * descriptor.proto), this is the short name. For example, + * `"map_entry"`. For custom options, it should be the + * fully-qualified name. For example, `"google.api.http"`. + */ + name?: string; + /** + * The option's value packed in an Any message. If the value is a + * primitive, the corresponding wrapper type defined in + * google/protobuf/wrappers.proto should be used. If the value is an enum, + * it should be stored as an int32 value using the + * google.protobuf.Int32Value type. + */ + value?: any; + } + /** + * Represents a documentation page. A page can contain subpages to represent + * nested documentation set structure. + */ + interface Schema$Page { + /** + * The Markdown content of the page. You can use <code>&#40;== + * include {path} ==&#41;</code> to include content from a + * Markdown file. + */ + content?: string; + /** + * The name of the page. It will be used as an identity of the page to + * generate URI of the page, text of the link to this page in navigation, + * etc. The full page name (start from the root page name to this page + * concatenated with `.`) can be used as reference to the page in your + * documentation. For example: <pre><code>pages: - name: + * Tutorial content: &#40;== include tutorial.md ==&#41; subpages: + * - name: Java content: &#40;== include tutorial_java.md + * ==&#41; </code></pre> You can reference `Java` page using + * Markdown reference link syntax: `Java`. + */ + name?: string; + /** + * Subpages of this page. The order of subpages specified here will be + * honored in the generated docset. + */ + subpages?: Schema$Page[]; + } + /** + * Quota configuration helps to achieve fairness and budgeting in service + * usage. The quota configuration works this way: - The service configuration + * defines a set of metrics. - For API calls, the quota.metric_rules maps + * methods to metrics with corresponding costs. - The quota.limits defines + * limits on the metrics, which will be used for quota checks at runtime. An + * example quota configuration in yaml format: quota: limits: - + * name: apiWriteQpsPerProject metric: + * library.googleapis.com/write_calls unit: "1/min/{project}" + * # rate limit for consumer projects values: STANDARD: 10000 + * # The metric rules bind all methods to the read_calls metric, # except + * for the UpdateBook and DeleteBook methods. These two methods # are + * mapped to the write_calls metric, with the UpdateBook method # + * consuming at twice rate as the DeleteBook method. metric_rules: - + * selector: "*" metric_costs: + * library.googleapis.com/read_calls: 1 - selector: + * google.example.library.v1.LibraryService.UpdateBook metric_costs: + * library.googleapis.com/write_calls: 2 - selector: + * google.example.library.v1.LibraryService.DeleteBook metric_costs: + * library.googleapis.com/write_calls: 1 Corresponding Metric definition: + * metrics: - name: library.googleapis.com/read_calls display_name: Read + * requests metric_kind: DELTA value_type: INT64 - name: + * library.googleapis.com/write_calls display_name: Write requests + * metric_kind: DELTA value_type: INT64 + */ + interface Schema$Quota { + /** + * List of `QuotaLimit` definitions for the service. + */ + limits?: Schema$QuotaLimit[]; + /** + * List of `MetricRule` definitions, each one mapping a selected method to + * one or more metrics. + */ + metricRules?: Schema$MetricRule[]; + } + /** + * `QuotaLimit` defines a specific limit that applies over a specified + * duration for a limit type. There can be at most one limit for a duration + * and limit type combination defined within a `QuotaGroup`. + */ + interface Schema$QuotaLimit { + /** + * Default number of tokens that can be consumed during the specified + * duration. This is the number of tokens assigned when a client application + * developer activates the service for his/her project. Specifying a value + * of 0 will block all requests. This can be used if you are provisioning + * quota to selected consumers and blocking others. Similarly, a value of -1 + * will indicate an unlimited quota. No other negative values are allowed. + * Used by group-based quotas only. + */ + defaultLimit?: string; + /** + * Optional. User-visible, extended description for this quota limit. Should + * be used only when more context is needed to understand this limit than + * provided by the limit's display name (see: `display_name`). + */ + description?: string; + /** + * User-visible display name for this limit. Optional. If not set, the UI + * will provide a default display name based on the quota configuration. + * This field can be used to override the default display name generated + * from the configuration. + */ + displayName?: string; + /** + * Duration of this limit in textual notation. Example: "100s", + * "24h", "1d". For duration longer than a day, only + * multiple of days is supported. We support only "100s" and + * "1d" for now. Additional support will be added in the future. + * "0" indicates indefinite duration. Used by group-based quotas + * only. + */ + duration?: string; + /** + * Free tier value displayed in the Developers Console for this limit. The + * free tier is the number of tokens that will be subtracted from the billed + * amount when billing is enabled. This field can only be set on a limit + * with duration "1d", in a billable group; it is invalid on any + * other limit. If this field is not set, it defaults to 0, indicating that + * there is no free tier for this service. Used by group-based quotas only. + */ + freeTier?: string; + /** + * Maximum number of tokens that can be consumed during the specified + * duration. Client application developers can override the default limit up + * to this maximum. If specified, this value cannot be set to a value less + * than the default limit. If not specified, it is set to the default limit. + * To allow clients to apply overrides with no upper bound, set this to -1, + * indicating unlimited maximum quota. Used by group-based quotas only. + */ + maxLimit?: string; + /** + * The name of the metric this quota limit applies to. The quota limits with + * the same metric will be checked together during runtime. The metric must + * be defined within the service config. + */ + metric?: string; + /** + * Name of the quota limit. The name must be provided, and it must be + * unique within the service. The name can only include alphanumeric + * characters as well as '-'. The maximum length of the limit name + * is 64 characters. + */ + name?: string; + /** + * Specify the unit of the quota limit. It uses the same syntax as + * Metric.unit. The supported unit kinds are determined by the quota backend + * system. Here are some examples: * "1/min/{project}" for quota + * per minute per project. Note: the order of unit components is + * insignificant. The "1" at the beginning is required to follow + * the metric unit syntax. + */ + unit?: string; + /** + * Tiered limit values. You must specify this as a key:value pair, with an + * integer value that is the maximum number of requests allowed for the + * specified unit. Currently only STANDARD is supported. + */ + values?: any; + } + /** + * A service that is available for use by the consumer. + */ + interface Schema$Service { + /** + * The service configuration of the available service. Some fields may be + * filtered out of the configuration in responses to the `ListServices` + * method. These fields are present only in responses to the `GetService` + * method. + */ + config?: Schema$ServiceConfig; + /** + * The resource name of the consumer and service. A valid name would be: - + * projects/123/services/serviceusage.googleapis.com + */ + name?: string; + /** + * The resource name of the consumer. A valid name would be: - projects/123 + */ + parent?: string; + /** + * Whether or not the service has been enabled for use by the consumer. + */ + state?: string; + } + /** + * The configuration of the service. + */ + interface Schema$ServiceConfig { + /** + * A list of API interfaces exported by this service. Contains only the + * names, versions, and method names of the interfaces. + */ + apis?: Schema$Api[]; + /** + * Auth configuration. Contains only the OAuth rules. + */ + authentication?: Schema$Authentication; + /** + * Additional API documentation. Contains only the summary and the + * documentation URL. + */ + documentation?: Schema$Documentation; + /** + * Configuration for network endpoints. Contains only the names and aliases + * of the endpoints. + */ + endpoints?: Schema$Endpoint[]; + /** + * The DNS address at which this service is available. An example DNS + * address would be: `calendar.googleapis.com`. + */ + name?: string; + /** + * Quota configuration. + */ + quota?: Schema$Quota; + /** + * The product title for this service. + */ + title?: string; + /** + * Configuration controlling usage of this service. + */ + usage?: Schema$Usage; + } + /** + * `SourceContext` represents information about the source of a protobuf + * element, like the file in which it is defined. + */ + interface Schema$SourceContext { + /** + * The path-qualified name of the .proto file that contained the associated + * protobuf element. For example: + * `"google/protobuf/source_context.proto"`. + */ + fileName?: string; + } + /** + * Source information used to create a Service Config + */ + interface Schema$SourceInfo { + /** + * All files used during config generation. + */ + sourceFiles?: any[]; + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + /** + * Define a parameter's name and location. The parameter may be passed as + * either an HTTP header or a URL query parameter, and if both are passed the + * behavior is implementation-dependent. + */ + interface Schema$SystemParameter { + /** + * Define the HTTP header name to use for the parameter. It is case + * insensitive. + */ + httpHeader?: string; + /** + * Define the name of the parameter, such as "api_key" . It is + * case sensitive. + */ + name?: string; + /** + * Define the URL query parameter name to use for the parameter. It is case + * sensitive. + */ + urlQueryParameter?: string; + } + /** + * Define a system parameter rule mapping system parameter definitions to + * methods. + */ + interface Schema$SystemParameterRule { + /** + * Define parameters. Multiple names may be defined for a parameter. For a + * given method call, only one of them should be used. If multiple names are + * used the behavior is implementation-dependent. If none of the specified + * names are present the behavior is parameter-dependent. + */ + parameters?: Schema$SystemParameter[]; + /** + * Selects the methods to which this rule applies. Use '*' to + * indicate all methods in all APIs. Refer to selector for syntax details. + */ + selector?: string; + } + /** + * ### System parameter configuration A system parameter is a special kind of + * parameter defined by the API system, not by an individual API. It is + * typically mapped to an HTTP header and/or a URL query parameter. This + * configuration specifies which methods change the names of the system + * parameters. + */ + interface Schema$SystemParameters { + /** + * Define system parameters. The parameters defined here will override the + * default parameters implemented by the system. If this field is missing + * from the service config, default system parameters will be used. Default + * system parameters and names is implementation-dependent. Example: define + * api key for all methods system_parameters rules: - + * selector: "*" parameters: - name: api_key + * url_query_parameter: api_key Example: define 2 api key names for a + * specific method. system_parameters rules: - selector: + * "/ListShelves" parameters: - name: + * api_key http_header: Api-Key1 - name: api_key + * http_header: Api-Key2 **NOTE:** All service configuration rules follow + * "last one wins" order. + */ + rules?: Schema$SystemParameterRule[]; + } + /** + * A protocol buffer message type. + */ + interface Schema$Type { + /** + * The list of fields. + */ + fields?: Schema$Field[]; + /** + * The fully qualified message name. + */ + name?: string; + /** + * The list of types appearing in `oneof` definitions in this type. + */ + oneofs?: string[]; + /** + * The protocol buffer options. + */ + options?: Schema$Option[]; + /** + * The source context. + */ + sourceContext?: Schema$SourceContext; + /** + * The source syntax. + */ + syntax?: string; + } + /** + * Configuration controlling usage of a service. + */ + interface Schema$Usage { + /** + * The full resource name of a channel used for sending notifications to the + * service producer. Google Service Management currently only supports + * [Google Cloud Pub/Sub](https://cloud.google.com/pubsub) as a notification + * channel. To use Google Cloud Pub/Sub as the channel, this must be the + * name of a Cloud Pub/Sub topic that uses the Cloud Pub/Sub topic name + * format documented in https://cloud.google.com/pubsub/docs/overview. + */ + producerNotificationChannel?: string; + /** + * Requirements that must be satisfied before a consumer project can use the + * service. Each requirement is of the form + * <service.name>/<requirement-id>; for example + * 'serviceusage.googleapis.com/billing-enabled'. + */ + requirements?: string[]; + /** + * A list of usage rules that apply to individual API methods. **NOTE:** + * All service configuration rules follow "last one wins" order. + */ + rules?: Schema$UsageRule[]; + } + /** + * Usage configuration rules for the service. NOTE: Under development. Use + * this rule to configure unregistered calls for the service. Unregistered + * calls are calls that do not contain consumer project identity. (Example: + * calls that do not contain an API key). By default, API methods do not allow + * unregistered calls, and each method call must be identified by a consumer + * project identity. Use this rule to allow/disallow unregistered calls. + * Example of an API that wants to allow unregistered calls for entire + * service. usage: rules: - selector: "*" + * allow_unregistered_calls: true Example of a method that wants to allow + * unregistered calls. usage: rules: - selector: + * "google.example.library.v1.LibraryService.CreateBook" + * allow_unregistered_calls: true + */ + interface Schema$UsageRule { + /** + * If true, the selected method allows unregistered calls, e.g. calls that + * don't identify any user or application. + */ + allowUnregisteredCalls?: boolean; + /** + * Selects the methods to which this rule applies. Use '*' to + * indicate all methods in all APIs. Refer to selector for syntax details. + */ + selector?: string; + /** + * If true, the selected method should skip service control and the control + * plane features, such as quota and billing, will not be available. This + * flag is used by Google Cloud Endpoints to bypass checks for internal + * methods, such as service health check methods. + */ + skipServiceControl?: boolean; + } + class Resource$Operations { + root: Serviceusage; + constructor(root: Serviceusage); + getRoot(): Serviceusage; + /** + * serviceusage.operations.get + * @desc Gets the latest state of a long-running operation. Clients can use + * this method to poll the operation result at intervals as recommended by + * the API service. + * @alias serviceusage.operations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource. + * @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?: Params$Resource$Operations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Operations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Operations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * serviceusage.operations.list + * @desc Lists operations that match the specified filter in the request. If + * the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: + * the `name` binding allows API services to override the binding to use + * different resource name schemes, such as `users/x/operations`. To + * override the binding, API services can add a binding such as + * `"/v1/{name=users/x}/operations"` to their service configuration. For + * backwards compatibility, the default name includes the operations + * collection id, however overriding users must ensure the name binding is + * the parent resource, without the operations collection id. + * @alias serviceusage.operations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter The standard list filter. + * @param {string=} params.name The name of the operation's parent resource. + * @param {integer=} params.pageSize The standard list page size. + * @param {string=} params.pageToken The standard list page token. + * @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?: Params$Resource$Operations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Operations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Operations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Operations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource. + */ + name?: string; + } + interface Params$Resource$Operations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The standard list filter. + */ + filter?: string; + /** + * The name of the operation's parent resource. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } + class Resource$Services { + root: Serviceusage; + constructor(root: Serviceusage); + getRoot(): Serviceusage; + /** + * serviceusage.services.batchEnable + * @desc Enable multiple services on a project. The operation is atomic: if + * enabling any service fails, then the entire batch fails, and no state + * changes occur. Operation + * @alias serviceusage.services.batchEnable + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Parent to enable services on. An example name would be: `projects/123` where `123` is the project number (not project ID). The `BatchEnableServices` method currently only supports projects. + * @param {().BatchEnableServicesRequest} 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 + */ + batchEnable(params?: Params$Resource$Services$Batchenable, options?: MethodOptions): AxiosPromise; + batchEnable(params: Params$Resource$Services$Batchenable, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + batchEnable(params: Params$Resource$Services$Batchenable, callback: BodyResponseCallback): void; + batchEnable(callback: BodyResponseCallback): void; + /** + * serviceusage.services.disable + * @desc Disable a service so that it can no longer be used with a project. + * This prevents unintended usage that may cause unexpected billing charges + * or security leaks. It is not valid to call the disable method on a + * service that is not currently enabled. Callers will receive a + * `FAILED_PRECONDITION` status if the target service is not currently + * enabled. Operation + * @alias serviceusage.services.disable + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Name of the consumer and service to disable the service on. The enable and disable methods currently only support projects. An example name would be: `projects/123/services/serviceusage.googleapis.com` where `123` is the project number (not project ID). + * @param {().DisableServiceRequest} 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 + */ + disable(params?: Params$Resource$Services$Disable, options?: MethodOptions): AxiosPromise; + disable(params: Params$Resource$Services$Disable, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + disable(params: Params$Resource$Services$Disable, callback: BodyResponseCallback): void; + disable(callback: BodyResponseCallback): void; + /** + * serviceusage.services.enable + * @desc Enable a service so that it can be used with a project. + * Operation + * @alias serviceusage.services.enable + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Name of the consumer and service to enable the service on. The `EnableService` and `DisableService` methods currently only support projects. Enabling a service requires that the service is public or is shared with the user enabling the service. An example name would be: `projects/123/services/serviceusage.googleapis.com` where `123` is the project number (not project ID). + * @param {().EnableServiceRequest} 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 + */ + enable(params?: Params$Resource$Services$Enable, options?: MethodOptions): AxiosPromise; + enable(params: Params$Resource$Services$Enable, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + enable(params: Params$Resource$Services$Enable, callback: BodyResponseCallback): void; + enable(callback: BodyResponseCallback): void; + /** + * serviceusage.services.get + * @desc Returns the service configuration and enabled state for a given + * service. + * @alias serviceusage.services.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Name of the consumer and service to get the `ConsumerState` for. An example name would be: `projects/123/services/serviceusage.googleapis.com` where `123` is the project number (not project ID). + * @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?: Params$Resource$Services$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Services$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Services$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * serviceusage.services.list + * @desc List all services available to the specified project, and the + * current state of those services with respect to the project. The list + * includes all public services, all services for which the calling user has + * the `servicemanagement.services.bind` permission, and all services that + * have already been enabled on the project. The list can be filtered to + * only include services in a specific state, for example to only include + * services enabled on the project. + * @alias serviceusage.services.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter Only list services that conform to the given filter. The allowed filter strings are `state:ENABLED` and `state:DISABLED`. + * @param {integer=} params.pageSize Requested size of the next page of data. Requested page size cannot exceed 200. If not set, the default page size is 50. + * @param {string=} params.pageToken Token identifying which result to start with, which is returned by a previous list call. + * @param {string} params.parent Parent to search for services on. An example name would be: `projects/123` where `123` is the project number (not project ID). + * @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?: Params$Resource$Services$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Services$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Services$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Services$Batchenable { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Parent to enable services on. An example name would be: `projects/123` + * where `123` is the project number (not project ID). The + * `BatchEnableServices` method currently only supports projects. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BatchEnableServicesRequest; + } + interface Params$Resource$Services$Disable { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the consumer and service to disable the service on. The enable + * and disable methods currently only support projects. An example name + * would be: `projects/123/services/serviceusage.googleapis.com` where `123` + * is the project number (not project ID). + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DisableServiceRequest; + } + interface Params$Resource$Services$Enable { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the consumer and service to enable the service on. The + * `EnableService` and `DisableService` methods currently only support + * projects. Enabling a service requires that the service is public or is + * shared with the user enabling the service. An example name would be: + * `projects/123/services/serviceusage.googleapis.com` where `123` is the + * project number (not project ID). + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$EnableServiceRequest; + } + interface Params$Resource$Services$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the consumer and service to get the `ConsumerState` for. An + * example name would be: + * `projects/123/services/serviceusage.googleapis.com` where `123` is the + * project number (not project ID). + */ + name?: string; + } + interface Params$Resource$Services$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Only list services that conform to the given filter. The allowed filter + * strings are `state:ENABLED` and `state:DISABLED`. + */ + filter?: string; + /** + * Requested size of the next page of data. Requested page size cannot + * exceed 200. If not set, the default page size is 50. + */ + pageSize?: number; + /** + * Token identifying which result to start with, which is returned by a + * previous list call. + */ + pageToken?: string; + /** + * Parent to search for services on. An example name would be: + * `projects/123` where `123` is the project number (not project ID). + */ + parent?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/serviceusage/v1beta1.js b/express-server/node_modules/googleapis/build/src/apis/serviceusage/v1beta1.js new file mode 100644 index 00000000..c8ef25d4 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/serviceusage/v1beta1.js @@ -0,0 +1,293 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var serviceusage_v1beta1; +(function (serviceusage_v1beta1) { + /** + * Service Usage API + * + * Enables services that service consumers want to use on Google Cloud + * Platform, lists the available or enabled services, or disables services + * that service consumers no longer use. + * + * @example + * const {google} = require('googleapis'); + * const serviceusage = google.serviceusage('v1beta1'); + * + * @namespace serviceusage + * @type {Function} + * @version v1beta1 + * @variation v1beta1 + * @param {object=} options Options for Serviceusage + */ + class Serviceusage { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.operations = new Resource$Operations(this); + this.services = new Resource$Services(this); + } + getRoot() { + return this.root; + } + } + serviceusage_v1beta1.Serviceusage = Serviceusage; + class Resource$Operations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://serviceusage.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://serviceusage.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/operations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + serviceusage_v1beta1.Resource$Operations = Resource$Operations; + class Resource$Services { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + batchEnable(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://serviceusage.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+parent}/services:batchEnable') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + disable(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://serviceusage.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}:disable') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + enable(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://serviceusage.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}:enable') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://serviceusage.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://serviceusage.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/{+parent}/services') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + serviceusage_v1beta1.Resource$Services = Resource$Services; +})(serviceusage_v1beta1 = exports.serviceusage_v1beta1 || (exports.serviceusage_v1beta1 = {})); +//# sourceMappingURL=v1beta1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/serviceusage/v1beta1.js.map b/express-server/node_modules/googleapis/build/src/apis/serviceusage/v1beta1.js.map new file mode 100644 index 00000000..dae3e831 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/serviceusage/v1beta1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1beta1.js","sourceRoot":"","sources":["../../../../src/apis/serviceusage/v1beta1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/serviceuser/README.md b/express-server/node_modules/googleapis/build/src/apis/serviceuser/README.md new file mode 100644 index 00000000..27914985 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/serviceuser/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/serviceuser + +> Enables services that service consumers want to use on Google Cloud Platform, lists the available or enabled services, or disables services that service consumers no longer use. + +## Installation + +```sh +$ npm install @google/serviceuser +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/serviceuser/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/serviceuser/index.d.ts new file mode 100644 index 00000000..631acafa --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/serviceuser/index.d.ts @@ -0,0 +1,6 @@ +import { serviceuser_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof serviceuser_v1.Serviceuser; +}; +export declare function serviceuser(version: 'v1'): serviceuser_v1.Serviceuser; +export declare function serviceuser(options: serviceuser_v1.Options): serviceuser_v1.Serviceuser; diff --git a/express-server/node_modules/googleapis/build/src/apis/serviceuser/index.js b/express-server/node_modules/googleapis/build/src/apis/serviceuser/index.js new file mode 100644 index 00000000..fd316f23 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/serviceuser/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.serviceuser_v1.Serviceuser, +}; +function serviceuser(versionOrOptions) { + return googleapis_common_1.getAPI('serviceuser', versionOrOptions, exports.VERSIONS, this); +} +exports.serviceuser = serviceuser; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/serviceuser/index.js.map b/express-server/node_modules/googleapis/build/src/apis/serviceuser/index.js.map new file mode 100644 index 00000000..28f5695a --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/serviceuser/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/serviceuser/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAoC;AAEvB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,mBAAc,CAAC,WAAW;CACjC,CAAC;AAKF,SAAgB,WAAW,CACG,gBAA6C;IACzE,OAAO,0BAAM,CAAI,aAAa,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACpE,CAAC;AAHD,kCAGC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/serviceuser/package.json b/express-server/node_modules/googleapis/build/src/apis/serviceuser/package.json new file mode 100644 index 00000000..d89246b1 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/serviceuser/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/serviceuser", + "version": "0.1.0", + "description": "serviceuser", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/serviceuser/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/serviceuser/v1.d.ts new file mode 100644 index 00000000..90d18865 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/serviceuser/v1.d.ts @@ -0,0 +1,2157 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace serviceuser_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Service User API + * + * Enables services that service consumers want to use on Google Cloud + * Platform, lists the available or enabled services, or disables services + * that service consumers no longer use. + * + * @example + * const {google} = require('googleapis'); + * const serviceuser = google.serviceuser('v1'); + * + * @namespace serviceuser + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Serviceuser + */ + class Serviceuser { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + projects: Resource$Projects; + services: Resource$Services; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Api is a light-weight descriptor for an API Interface. Interfaces are also + * described as "protocol buffer services" in some contexts, such as + * by the "service" keyword in a .proto file, but they are different + * from API Services, which represent a concrete implementation of an + * interface as opposed to simply a description of methods and bindings. They + * are also sometimes simply referred to as "APIs" in other + * contexts, such as the name of this message itself. See + * https://cloud.google.com/apis/design/glossary for detailed terminology. + */ + interface Schema$Api { + /** + * The methods of this interface, in unspecified order. + */ + methods?: Schema$Method[]; + /** + * Included interfaces. See Mixin. + */ + mixins?: Schema$Mixin[]; + /** + * The fully qualified name of this interface, including package name + * followed by the interface's simple name. + */ + name?: string; + /** + * Any metadata attached to the interface. + */ + options?: Schema$Option[]; + /** + * Source context for the protocol buffer service represented by this + * message. + */ + sourceContext?: Schema$SourceContext; + /** + * The source syntax of the service. + */ + syntax?: string; + /** + * A version string for this interface. If specified, must have the form + * `major-version.minor-version`, as in `1.10`. If the minor version is + * omitted, it defaults to zero. If the entire version field is empty, the + * major version is derived from the package name, as outlined below. If the + * field is not empty, the version in the package name will be verified to + * be consistent with what is provided here. The versioning schema uses + * [semantic versioning](http://semver.org) where the major version number + * indicates a breaking change and the minor version an additive, + * non-breaking change. Both version numbers are signals to users what to + * expect from different versions, and should be carefully chosen based on + * the product plan. The major version is also reflected in the package + * name of the interface, which must end in `v<major-version>`, as in + * `google.feature.v1`. For major versions 0 and 1, the suffix can be + * omitted. Zero major versions must only be used for experimental, non-GA + * interfaces. + */ + version?: string; + } + /** + * `Authentication` defines the authentication configuration for an API. + * Example for an API targeted for external use: name: + * calendar.googleapis.com authentication: providers: - id: + * google_calendar_auth jwks_uri: + * https://www.googleapis.com/oauth2/v1/certs issuer: + * https://securetoken.google.com rules: - selector: "*" + * requirements: provider_id: google_calendar_auth + */ + interface Schema$Authentication { + /** + * Defines a set of authentication providers that a service supports. + */ + providers?: Schema$AuthProvider[]; + /** + * A list of authentication rules that apply to individual API methods. + * **NOTE:** All service configuration rules follow "last one + * wins" order. + */ + rules?: Schema$AuthenticationRule[]; + } + /** + * Authentication rules for the service. By default, if a method has any + * authentication requirements, every request must include a valid credential + * matching one of the requirements. It's an error to include more than + * one kind of credential in a single request. If a method doesn't have + * any auth requirements, request credentials will be ignored. + */ + interface Schema$AuthenticationRule { + /** + * If true, the service accepts API keys without any other credential. + */ + allowWithoutCredential?: boolean; + /** + * The requirements for OAuth credentials. + */ + oauth?: Schema$OAuthRequirements; + /** + * Requirements for additional authentication providers. + */ + requirements?: Schema$AuthRequirement[]; + /** + * Selects the methods to which this rule applies. Refer to selector for + * syntax details. + */ + selector?: string; + } + /** + * Configuration of authorization. This section determines the authorization + * provider, if unspecified, then no authorization check will be done. + * Example: experimental: authorization: provider: + * firebaserules.googleapis.com + */ + interface Schema$AuthorizationConfig { + /** + * The name of the authorization provider, such as + * firebaserules.googleapis.com. + */ + provider?: string; + } + /** + * Configuration for an anthentication provider, including support for [JSON + * Web Token + * (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32). + */ + interface Schema$AuthProvider { + /** + * The list of JWT + * [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3). + * that are allowed to access. A JWT containing any of these audiences will + * be accepted. When this setting is absent, only JWTs with audience + * "https://Service_name/API_name" will be accepted. For example, + * if no audiences are in the setting, LibraryService API will only accept + * JWTs with the following audience + * "https://library-example.googleapis.com/google.example.library.v1.LibraryService". + * Example: audiences: bookstore_android.apps.googleusercontent.com, + * bookstore_web.apps.googleusercontent.com + */ + audiences?: string; + /** + * Redirect URL if JWT token is required but no present or is expired. + * Implement authorizationUrl of securityDefinitions in OpenAPI spec. + */ + authorizationUrl?: string; + /** + * The unique identifier of the auth provider. It will be referred to by + * `AuthRequirement.provider_id`. Example: "bookstore_auth". + */ + id?: string; + /** + * Identifies the principal that issued the JWT. See + * https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.1 + * Usually a URL or an email address. Example: + * https://securetoken.google.com Example: + * 1234567-compute@developer.gserviceaccount.com + */ + issuer?: string; + /** + * URL of the provider's public key set to validate signature of the + * JWT. See [OpenID + * Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata). + * Optional if the key set document: - can be retrieved from [OpenID + * Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html of + * the issuer. - can be inferred from the email domain of the issuer (e.g. + * a Google service account). Example: + * https://www.googleapis.com/oauth2/v1/certs + */ + jwksUri?: string; + } + /** + * User-defined authentication requirements, including support for [JSON Web + * Token + * (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32). + */ + interface Schema$AuthRequirement { + /** + * NOTE: This will be deprecated soon, once AuthProvider.audiences is + * implemented and accepted in all the runtime components. The list of JWT + * [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3). + * that are allowed to access. A JWT containing any of these audiences will + * be accepted. When this setting is absent, only JWTs with audience + * "https://Service_name/API_name" will be accepted. For example, + * if no audiences are in the setting, LibraryService API will only accept + * JWTs with the following audience + * "https://library-example.googleapis.com/google.example.library.v1.LibraryService". + * Example: audiences: bookstore_android.apps.googleusercontent.com, + * bookstore_web.apps.googleusercontent.com + */ + audiences?: string; + /** + * id from authentication provider. Example: provider_id: + * bookstore_auth + */ + providerId?: string; + } + /** + * `Backend` defines the backend configuration for a service. + */ + interface Schema$Backend { + /** + * A list of API backend rules that apply to individual API methods. + * **NOTE:** All service configuration rules follow "last one + * wins" order. + */ + rules?: Schema$BackendRule[]; + } + /** + * A backend rule provides configuration for an individual API element. + */ + interface Schema$BackendRule { + /** + * The address of the API backend. + */ + address?: string; + /** + * The number of seconds to wait for a response from a request. The default + * deadline for gRPC is infinite (no deadline) and HTTP requests is 5 + * seconds. + */ + deadline?: number; + /** + * Minimum deadline in seconds needed for this method. Calls having deadline + * value lower than this will be rejected. + */ + minDeadline?: number; + /** + * Selects the methods to which this rule applies. Refer to selector for + * syntax details. + */ + selector?: string; + } + /** + * Billing related configuration of the service. The following example shows + * how to configure monitored resources and metrics for billing: + * monitored_resources: - type: library.googleapis.com/branch labels: - + * key: /city description: The city where the library branch is + * located in. - key: /name description: The name of the branch. + * metrics: - name: library.googleapis.com/book/borrowed_count + * metric_kind: DELTA value_type: INT64 billing: + * consumer_destinations: - monitored_resource: + * library.googleapis.com/branch metrics: - + * library.googleapis.com/book/borrowed_count + */ + interface Schema$Billing { + /** + * Billing configurations for sending metrics to the consumer project. There + * can be multiple consumer destinations per service, each one must have a + * different monitored resource type. A metric can be used in at most one + * consumer destination. + */ + consumerDestinations?: Schema$BillingDestination[]; + } + /** + * Configuration of a specific billing destination (Currently only support + * bill against consumer project). + */ + interface Schema$BillingDestination { + /** + * Names of the metrics to report to this billing destination. Each name + * must be defined in Service.metrics section. + */ + metrics?: string[]; + /** + * The monitored resource type. The type must be defined in + * Service.monitored_resources section. + */ + monitoredResource?: string; + } + /** + * `Context` defines which contexts an API requests. Example: context: + * rules: - selector: "*" requested: - + * google.rpc.context.ProjectContext - + * google.rpc.context.OriginContext The above specifies that all methods in + * the API request `google.rpc.context.ProjectContext` and + * `google.rpc.context.OriginContext`. Available context types are defined in + * package `google.rpc.context`. This also provides mechanism to whitelist + * any protobuf message extension that can be sent in grpc metadata using + * “x-goog-ext-<extension_id>-bin” and + * “x-goog-ext-<extension_id>-jspb” format. For example, list any + * service specific protobuf types that can appear in grpc metadata as follows + * in your yaml file: Example: context: rules: - selector: + * "google.example.library.v1.LibraryService.CreateBook" + * allowed_request_extensions: - google.foo.v1.NewExtension + * allowed_response_extensions: - google.foo.v1.NewExtension You can + * also specify extension ID instead of fully qualified extension name here. + */ + interface Schema$Context { + /** + * A list of RPC context rules that apply to individual API methods. + * **NOTE:** All service configuration rules follow "last one + * wins" order. + */ + rules?: Schema$ContextRule[]; + } + /** + * A context rule provides information about the context for an individual API + * element. + */ + interface Schema$ContextRule { + /** + * A list of full type names or extension IDs of extensions allowed in grpc + * side channel from client to backend. + */ + allowedRequestExtensions?: string[]; + /** + * A list of full type names or extension IDs of extensions allowed in grpc + * side channel from backend to client. + */ + allowedResponseExtensions?: string[]; + /** + * A list of full type names of provided contexts. + */ + provided?: string[]; + /** + * A list of full type names of requested contexts. + */ + requested?: string[]; + /** + * Selects the methods to which this rule applies. Refer to selector for + * syntax details. + */ + selector?: string; + } + /** + * Selects and configures the service controller used by the service. The + * service controller handles features like abuse, quota, billing, logging, + * monitoring, etc. + */ + interface Schema$Control { + /** + * The service control environment to use. If empty, no control plane + * feature (like quota and billing) will be enabled. + */ + environment?: string; + } + /** + * Customize service error responses. For example, list any service specific + * protobuf types that can appear in error detail lists of error responses. + * Example: custom_error: types: - google.foo.v1.CustomError + * - google.foo.v1.AnotherError + */ + interface Schema$CustomError { + /** + * The list of custom error rules that apply to individual API messages. + * **NOTE:** All service configuration rules follow "last one + * wins" order. + */ + rules?: Schema$CustomErrorRule[]; + /** + * The list of custom error detail types, e.g. + * 'google.foo.v1.CustomError'. + */ + types?: string[]; + } + /** + * A custom error rule. + */ + interface Schema$CustomErrorRule { + /** + * Mark this message as possible payload in error response. Otherwise, + * objects of this type will be filtered when they appear in error payload. + */ + isErrorType?: boolean; + /** + * Selects messages to which this rule applies. Refer to selector for + * syntax details. + */ + selector?: string; + } + /** + * A custom pattern is used for defining custom HTTP verb. + */ + interface Schema$CustomHttpPattern { + /** + * The name of this custom HTTP verb. + */ + kind?: string; + /** + * The path matched by this custom verb. + */ + path?: string; + } + /** + * Request message for DisableService method. + */ + interface Schema$DisableServiceRequest { + } + /** + * `Documentation` provides the information for describing a service. Example: + * <pre><code>documentation: summary: > The Google + * Calendar API gives access to most calendar features. pages: - name: + * Overview content: &#40;== include google/foo/overview.md + * ==&#41; - name: Tutorial content: &#40;== include + * google/foo/tutorial.md ==&#41; subpages; - name: Java content: + * &#40;== include google/foo/tutorial_java.md ==&#41; rules: - + * selector: google.calendar.Calendar.Get description: > ... - + * selector: google.calendar.Calendar.Put description: > ... + * </code></pre> Documentation is provided in markdown syntax. In + * addition to standard markdown features, definition lists, tables and fenced + * code blocks are supported. Section headers can be provided and are + * interpreted relative to the section nesting of the context where a + * documentation fragment is embedded. Documentation from the IDL is merged + * with documentation defined via the config at normalization time, where + * documentation provided by config rules overrides IDL provided. A number of + * constructs specific to the API platform are supported in documentation + * text. In order to reference a proto element, the following notation can be + * used: + * <pre><code>&#91;fully.qualified.proto.name]&#91;]</code></pre> + * To override the display text used for the link, this can be used: + * <pre><code>&#91;display + * text]&#91;fully.qualified.proto.name]</code></pre> Text can + * be excluded from doc using the following notation: + * <pre><code>&#40;-- internal comment + * --&#41;</code></pre> A few directives are available in + * documentation. Note that directives must appear on a single line to be + * properly identified. The `include` directive includes a markdown file from + * an external source: <pre><code>&#40;== include path/to/file + * ==&#41;</code></pre> The `resource_for` directive marks a + * message to be the resource of a collection in REST view. If it is not + * specified, tools attempt to infer the resource from the operations in a + * collection: <pre><code>&#40;== resource_for + * v1.shelves.books ==&#41;</code></pre> The directive + * `suppress_warning` does not directly affect documentation and is documented + * together with service config validation. + */ + interface Schema$Documentation { + /** + * The URL to the root of documentation. + */ + documentationRootUrl?: string; + /** + * Declares a single overview page. For example: + * <pre><code>documentation: summary: ... overview: + * &#40;== include overview.md ==&#41; </code></pre> + * This is a shortcut for the following declaration (using pages style): + * <pre><code>documentation: summary: ... pages: - name: + * Overview content: &#40;== include overview.md ==&#41; + * </code></pre> Note: you cannot specify both `overview` field + * and `pages` field. + */ + overview?: string; + /** + * The top level pages for the documentation set. + */ + pages?: Schema$Page[]; + /** + * A list of documentation rules that apply to individual API elements. + * **NOTE:** All service configuration rules follow "last one + * wins" order. + */ + rules?: Schema$DocumentationRule[]; + /** + * A short summary of what the service does. Can only be provided by plain + * text. + */ + summary?: string; + } + /** + * A documentation rule provides information about individual API elements. + */ + interface Schema$DocumentationRule { + /** + * Deprecation description of the selected element(s). It can be provided if + * an element is marked as `deprecated`. + */ + deprecationDescription?: string; + /** + * Description of the selected API(s). + */ + description?: string; + /** + * The selector is a comma-separated list of patterns. Each pattern is a + * qualified name of the element which may end in "*", indicating + * a wildcard. Wildcards are only allowed at the end and for a whole + * component of the qualified name, i.e. "foo.*" is ok, but not + * "foo.b*" or "foo.*.bar". To specify a default for all + * applicable elements, the whole pattern "*" is used. + */ + selector?: string; + } + /** + * Request message for EnableService method. + */ + interface Schema$EnableServiceRequest { + } + /** + * `Endpoint` describes a network endpoint that serves a set of APIs. A + * service may expose any number of endpoints, and all endpoints share the + * same service configuration, such as quota configuration and monitoring + * configuration. Example service configuration: name: + * library-example.googleapis.com endpoints: # Below entry makes + * 'google.example.library.v1.Library' # API be served from + * endpoint address library-example.googleapis.com. # It also allows + * HTTP OPTIONS calls to be passed to the backend, for # it to decide + * whether the subsequent cross-origin request is # allowed to proceed. + * - name: library-example.googleapis.com allow_cors: true + */ + interface Schema$Endpoint { + /** + * DEPRECATED: This field is no longer supported. Instead of using aliases, + * please specify multiple google.api.Endpoint for each of the intended + * aliases. Additional names that this endpoint will be hosted on. + */ + aliases?: string[]; + /** + * Allowing + * [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka + * cross-domain traffic, would allow the backends served from this endpoint + * to receive and respond to HTTP OPTIONS requests. The response will be + * used by the browser to determine whether the subsequent cross-origin + * request is allowed to proceed. + */ + allowCors?: boolean; + /** + * The list of features enabled on this endpoint. + */ + features?: string[]; + /** + * The canonical name of this endpoint. + */ + name?: string; + /** + * The specification of an Internet routable address of API frontend that + * will handle requests to this [API + * Endpoint](https://cloud.google.com/apis/design/glossary). It should be + * either a valid IPv4 address or a fully-qualified domain name. For + * example, "8.8.8.8" or "myservice.appspot.com". + */ + target?: string; + } + /** + * Enum type definition. + */ + interface Schema$Enum { + /** + * Enum value definitions. + */ + enumvalue?: Schema$EnumValue[]; + /** + * Enum type name. + */ + name?: string; + /** + * Protocol buffer options. + */ + options?: Schema$Option[]; + /** + * The source context. + */ + sourceContext?: Schema$SourceContext; + /** + * The source syntax. + */ + syntax?: string; + } + /** + * Enum value definition. + */ + interface Schema$EnumValue { + /** + * Enum value name. + */ + name?: string; + /** + * Enum value number. + */ + number?: number; + /** + * Protocol buffer options. + */ + options?: Schema$Option[]; + } + /** + * Experimental service configuration. These configuration options can only be + * used by whitelisted users. + */ + interface Schema$Experimental { + /** + * Authorization configuration. + */ + authorization?: Schema$AuthorizationConfig; + } + /** + * A single field of a message type. + */ + interface Schema$Field { + /** + * The field cardinality. + */ + cardinality?: string; + /** + * The string value of the default value of this field. Proto2 syntax only. + */ + defaultValue?: string; + /** + * The field JSON name. + */ + jsonName?: string; + /** + * The field type. + */ + kind?: string; + /** + * The field name. + */ + name?: string; + /** + * The field number. + */ + number?: number; + /** + * The index of the field type in `Type.oneofs`, for message or enumeration + * types. The first type has index 1; zero means the type is not in the + * list. + */ + oneofIndex?: number; + /** + * The protocol buffer options. + */ + options?: Schema$Option[]; + /** + * Whether to use alternative packed wire representation. + */ + packed?: boolean; + /** + * The field type URL, without the scheme, for message or enumeration types. + * Example: `"type.googleapis.com/google.protobuf.Timestamp"`. + */ + typeUrl?: string; + } + /** + * Defines the HTTP configuration for an API service. It contains a list of + * HttpRule, each specifying the mapping of an RPC method to one or more HTTP + * REST API methods. + */ + interface Schema$Http { + /** + * When set to true, URL path parmeters will be fully URI-decoded except in + * cases of single segment matches in reserved expansion, where + * "%2F" will be left encoded. The default behavior is to not + * decode RFC 6570 reserved characters in multi segment matches. + */ + fullyDecodeReservedExpansion?: boolean; + /** + * A list of HTTP configuration rules that apply to individual API methods. + * **NOTE:** All service configuration rules follow "last one + * wins" order. + */ + rules?: Schema$HttpRule[]; + } + /** + * # gRPC Transcoding gRPC Transcoding is a feature for mapping between a + * gRPC method and one or more HTTP REST endpoints. It allows developers to + * build a single API service that supports both gRPC APIs and REST APIs. Many + * systems, including [Google APIs](https://github.com/googleapis/googleapis), + * [Cloud Endpoints](https://cloud.google.com/endpoints), [gRPC + * Gateway](https://github.com/grpc-ecosystem/grpc-gateway), and + * [Envoy](https://github.com/envoyproxy/envoy) proxy support this feature and + * use it for large scale production services. `HttpRule` defines the schema + * of the gRPC/REST mapping. The mapping specifies how different portions of + * the gRPC request message are mapped to the URL path, URL query parameters, + * and HTTP request body. It also controls how the gRPC response message is + * mapped to the HTTP response body. `HttpRule` is typically specified as an + * `google.api.http` annotation on the gRPC method. Each mapping specifies a + * URL path template and an HTTP method. The path template may refer to one or + * more fields in the gRPC request message, as long as each field is a + * non-repeated field with a primitive (non-message) type. The path template + * controls how fields of the request message are mapped to the URL path. + * Example: service Messaging { rpc GetMessage(GetMessageRequest) + * returns (Message) { option (google.api.http) = { get: + * "/v1/{name=messages/*"}" }; } } message + * GetMessageRequest { string name = 1; // Mapped to URL path. } + * message Message { string text = 1; // The resource content. } + * This enables an HTTP REST to gRPC mapping as below: HTTP | gRPC + * -----|----- `GET /v1/messages/123456` | `GetMessage(name: + * "messages/123456")` Any fields in the request message which are + * not bound by the path template automatically become HTTP query parameters + * if there is no HTTP request body. For example: service Messaging { rpc + * GetMessage(GetMessageRequest) returns (Message) { option + * (google.api.http) = { get:"/v1/messages/{message_id}" + * }; } } message GetMessageRequest { message SubMessage { + * string subfield = 1; } string message_id = 1; // Mapped to URL + * path. int64 revision = 2; // Mapped to URL query parameter + * `revision`. SubMessage sub = 3; // Mapped to URL query parameter + * `sub.subfield`. } This enables a HTTP JSON to RPC mapping as below: + * HTTP | gRPC -----|----- `GET + * /v1/messages/123456?revision=2&sub.subfield=foo` | + * `GetMessage(message_id: "123456" revision: 2 sub: + * SubMessage(subfield: "foo"))` Note that fields which are mapped + * to URL query parameters must have a primitive type or a repeated primitive + * type or a non-repeated message type. In the case of a repeated type, the + * parameter can be repeated in the URL as `...?param=A&param=B`. In the + * case of a message type, each field of the message is mapped to a separate + * parameter, such as `...?foo.a=A&foo.b=B&foo.c=C`. For HTTP methods + * that allow a request body, the `body` field specifies the mapping. Consider + * a REST update method on the message resource collection: service + * Messaging { rpc UpdateMessage(UpdateMessageRequest) returns (Message) + * { option (google.api.http) = { patch: + * "/v1/messages/{message_id}" body: "message" + * }; } } message UpdateMessageRequest { string message_id + * = 1; // mapped to the URL Message message = 2; // mapped to the + * body } The following HTTP JSON to RPC mapping is enabled, where the + * representation of the JSON in the request body is determined by protos JSON + * encoding: HTTP | gRPC -----|----- `PATCH /v1/messages/123456 { + * "text": "Hi!" }` | `UpdateMessage(message_id: + * "123456" message { text: "Hi!" })` The special name + * `*` can be used in the body mapping to define that every field not bound by + * the path template should be mapped to the request body. This enables the + * following alternative definition of the update method: service + * Messaging { rpc UpdateMessage(Message) returns (Message) { option + * (google.api.http) = { patch: + * "/v1/messages/{message_id}" body: "*" }; } } + * message Message { string message_id = 1; string text = 2; } + * The following HTTP JSON to RPC mapping is enabled: HTTP | gRPC -----|----- + * `PATCH /v1/messages/123456 { "text": "Hi!" }` | + * `UpdateMessage(message_id: "123456" text: "Hi!")` Note + * that when using `*` in the body mapping, it is not possible to have HTTP + * parameters, as all fields not bound by the path end in the body. This makes + * this option more rarely used in practice when defining REST APIs. The + * common usage of `*` is in custom methods which don't use the URL at all + * for transferring data. It is possible to define multiple HTTP methods for + * one RPC by using the `additional_bindings` option. Example: service + * Messaging { rpc GetMessage(GetMessageRequest) returns (Message) { + * option (google.api.http) = { get: + * "/v1/messages/{message_id}" additional_bindings { get: + * "/v1/users/{user_id}/messages/{message_id}" } }; } } + * message GetMessageRequest { string message_id = 1; string + * user_id = 2; } This enables the following two alternative HTTP JSON to + * RPC mappings: HTTP | gRPC -----|----- `GET /v1/messages/123456` | + * `GetMessage(message_id: "123456")` `GET + * /v1/users/me/messages/123456` | `GetMessage(user_id: "me" + * message_id: "123456")` ## Rules for HTTP mapping 1. Leaf + * request fields (recursive expansion nested messages in the request message) + * are classified into three categories: - Fields referred by the path + * template. They are passed via the URL path. - Fields referred by the + * HttpRule.body. They are passed via the HTTP request body. - All + * other fields are passed via the URL query parameters, and the parameter + * name is the field path in the request message. A repeated field can be + * represented as multiple query parameters under the same name. 2. If + * HttpRule.body is "*", there is no URL query parameter, all fields + * are passed via URL path and HTTP request body. 3. If HttpRule.body is + * omitted, there is no HTTP request body, all fields are passed via URL + * path and URL query parameters. ### Path template syntax Template = + * "/" Segments [ Verb ] ; Segments = Segment { "/" + * Segment } ; Segment = "*" | "**" | LITERAL | + * Variable ; Variable = "{" FieldPath [ "=" Segments + * ] "}" ; FieldPath = IDENT { "." IDENT } ; Verb + * = ":" LITERAL ; The syntax `*` matches a single URL path + * segment. The syntax `**` matches zero or more URL path segments, which must + * be the last part of the URL path except the `Verb`. The syntax `Variable` + * matches part of the URL path as specified by its template. A variable + * template must not contain other variables. If a variable matches a single + * path segment, its template may be omitted, e.g. `{var}` is equivalent to + * `{var=*}`. The syntax `LITERAL` matches literal text in the URL path. If + * the `LITERAL` contains any reserved character, such characters should be + * percent-encoded before the matching. If a variable contains exactly one + * path segment, such as `"{var}"` or `"{var=*}"`, when + * such a variable is expanded into a URL path on the client side, all + * characters except `[-_.~0-9a-zA-Z]` are percent-encoded. The server side + * does the reverse decoding. Such variables show up in the [Discovery + * Document](https://developers.google.com/discovery/v1/reference/apis) as + * `{var}`. If a variable contains multiple path segments, such as + * `"{var=foo/*}"` or `"{var=**}"`, when such a variable + * is expanded into a URL path on the client side, all characters except + * `[-_.~/0-9a-zA-Z]` are percent-encoded. The server side does the reverse + * decoding, except "%2F" and "%2f" are left unchanged. + * Such variables show up in the [Discovery + * Document](https://developers.google.com/discovery/v1/reference/apis) as + * `{+var}`. ## Using gRPC API Service Configuration gRPC API Service + * Configuration (service config) is a configuration language for configuring + * a gRPC service to become a user-facing product. The service config is + * simply the YAML representation of the `google.api.Service` proto message. + * As an alternative to annotating your proto file, you can configure gRPC + * transcoding in your service config YAML files. You do this by specifying a + * `HttpRule` that maps the gRPC method to a REST endpoint, achieving the same + * effect as the proto annotation. This can be particularly useful if you have + * a proto that is reused in multiple services. Note that any transcoding + * specified in the service config will override any matching transcoding + * configuration in the proto. Example: http: rules: # + * Selects a gRPC method and applies HttpRule to it. - selector: + * example.v1.Messaging.GetMessage get: + * /v1/messages/{message_id}/{sub.subfield} ## Special notes When gRPC + * Transcoding is used to map a gRPC to JSON REST endpoints, the proto to JSON + * conversion must follow the [proto3 + * specification](https://developers.google.com/protocol-buffers/docs/proto3#json). + * While the single segment variable follows the semantics of [RFC + * 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 Simple String + * Expansion, the multi segment variable **does not** follow RFC 6570 + * Section 3.2.3 Reserved Expansion. The reason is that the Reserved Expansion + * does not expand special characters like `?` and `#`, which would lead to + * invalid URLs. As the result, gRPC Transcoding uses a custom encoding for + * multi segment variables. The path variables **must not** refer to any + * repeated or mapped field, because client libraries are not capable of + * handling such variable expansion. The path variables **must not** capture + * the leading "/" character. The reason is that the most common use + * case "{var}" does not capture the leading "/" + * character. For consistency, all path variables must share the same + * behavior. Repeated message fields must not be mapped to URL query + * parameters, because no client library can support such complicated mapping. + * If an API needs to use a JSON array for request or response body, it can + * map the request or response body to a repeated field. However, some gRPC + * Transcoding implementations may not support this feature. + */ + interface Schema$HttpRule { + /** + * Additional HTTP bindings for the selector. Nested bindings must not + * contain an `additional_bindings` field themselves (that is, the nesting + * may only be one level deep). + */ + additionalBindings?: Schema$HttpRule[]; + /** + * The name of the request field whose value is mapped to the HTTP request + * body, or `*` for mapping all request fields not captured by the path + * pattern to the HTTP body, or omitted for not having any HTTP request + * body. NOTE: the referred field must be present at the top-level of the + * request message type. + */ + body?: string; + /** + * The custom pattern is used for specifying an HTTP method that is not + * included in the `pattern` field, such as HEAD, or "*" to leave + * the HTTP method unspecified for this rule. The wild-card rule is useful + * for services that provide content to Web (HTML) clients. + */ + custom?: Schema$CustomHttpPattern; + /** + * Maps to HTTP DELETE. Used for deleting a resource. + */ + delete?: string; + /** + * Maps to HTTP GET. Used for listing and getting information about + * resources. + */ + get?: string; + /** + * Maps to HTTP PATCH. Used for updating a resource. + */ + patch?: string; + /** + * Maps to HTTP POST. Used for creating a resource or performing an action. + */ + post?: string; + /** + * Maps to HTTP PUT. Used for replacing a resource. + */ + put?: string; + /** + * Optional. The name of the response field whose value is mapped to the + * HTTP response body. When omitted, the entire response message will be + * used as the HTTP response body. NOTE: The referred field must be present + * at the top-level of the response message type. + */ + responseBody?: string; + /** + * Selects a method to which this rule applies. Refer to selector for + * syntax details. + */ + selector?: string; + } + /** + * A description of a label. + */ + interface Schema$LabelDescriptor { + /** + * A human-readable description for the label. + */ + description?: string; + /** + * The label key. + */ + key?: string; + /** + * The type of data that can be assigned to the label. + */ + valueType?: string; + } + /** + * Response message for `ListEnabledServices` method. + */ + interface Schema$ListEnabledServicesResponse { + /** + * Token that can be passed to `ListEnabledServices` to resume a paginated + * query. + */ + nextPageToken?: string; + /** + * Services enabled for the specified parent. + */ + services?: Schema$PublishedService[]; + } + /** + * A description of a log type. Example in YAML format: - name: + * library.googleapis.com/activity_history description: The history of + * borrowing and returning library items. display_name: Activity labels: + * - key: /customer_id description: Identifier of a library customer + */ + interface Schema$LogDescriptor { + /** + * A human-readable description of this log. This information appears in the + * documentation and can contain details. + */ + description?: string; + /** + * The human-readable name for this log. This information appears on the + * user interface and should be concise. + */ + displayName?: string; + /** + * The set of labels that are available to describe a specific log entry. + * Runtime requests that contain labels not specified here are considered + * invalid. + */ + labels?: Schema$LabelDescriptor[]; + /** + * The name of the log. It must be less than 512 characters long and can + * include the following characters: upper- and lower-case alphanumeric + * characters [A-Za-z0-9], and punctuation characters including slash, + * underscore, hyphen, period [/_-.]. + */ + name?: string; + } + /** + * Logging configuration of the service. The following example shows how to + * configure logs to be sent to the producer and consumer projects. In the + * example, the `activity_history` log is sent to both the producer and + * consumer projects, whereas the `purchase_history` log is only sent to the + * producer project. monitored_resources: - type: + * library.googleapis.com/branch labels: - key: /city description: + * The city where the library branch is located in. - key: /name + * description: The name of the branch. logs: - name: activity_history + * labels: - key: /customer_id - name: purchase_history logging: + * producer_destinations: - monitored_resource: + * library.googleapis.com/branch logs: - activity_history - + * purchase_history consumer_destinations: - monitored_resource: + * library.googleapis.com/branch logs: - activity_history + */ + interface Schema$Logging { + /** + * Logging configurations for sending logs to the consumer project. There + * can be multiple consumer destinations, each one must have a different + * monitored resource type. A log can be used in at most one consumer + * destination. + */ + consumerDestinations?: Schema$LoggingDestination[]; + /** + * Logging configurations for sending logs to the producer project. There + * can be multiple producer destinations, each one must have a different + * monitored resource type. A log can be used in at most one producer + * destination. + */ + producerDestinations?: Schema$LoggingDestination[]; + } + /** + * Configuration of a specific logging destination (the producer project or + * the consumer project). + */ + interface Schema$LoggingDestination { + /** + * Names of the logs to be sent to this destination. Each name must be + * defined in the Service.logs section. If the log name is not a domain + * scoped name, it will be automatically prefixed with the service name + * followed by "/". + */ + logs?: string[]; + /** + * The monitored resource type. The type must be defined in the + * Service.monitored_resources section. + */ + monitoredResource?: string; + } + /** + * Method represents a method of an API interface. + */ + interface Schema$Method { + /** + * The simple name of this method. + */ + name?: string; + /** + * Any metadata attached to the method. + */ + options?: Schema$Option[]; + /** + * If true, the request is streamed. + */ + requestStreaming?: boolean; + /** + * A URL of the input message type. + */ + requestTypeUrl?: string; + /** + * If true, the response is streamed. + */ + responseStreaming?: boolean; + /** + * The URL of the output message type. + */ + responseTypeUrl?: string; + /** + * The source syntax of this method. + */ + syntax?: string; + } + /** + * Defines a metric type and its schema. Once a metric descriptor is created, + * deleting or altering it stops data collection and makes the metric + * type's existing data unusable. + */ + interface Schema$MetricDescriptor { + /** + * A detailed description of the metric, which can be used in documentation. + */ + description?: string; + /** + * A concise name for the metric, which can be displayed in user interfaces. + * Use sentence case without an ending period, for example "Request + * count". This field is optional but it is recommended to be set for + * any metrics associated with user-visible concepts, such as Quota. + */ + displayName?: string; + /** + * The set of labels that can be used to describe a specific instance of + * this metric type. For example, the + * `appengine.googleapis.com/http/server/response_latencies` metric type has + * a label for the HTTP response code, `response_code`, so you can look at + * latencies for successful responses or just for responses that failed. + */ + labels?: Schema$LabelDescriptor[]; + /** + * Optional. Metadata which can be used to guide usage of the metric. + */ + metadata?: Schema$MetricDescriptorMetadata; + /** + * Whether the metric records instantaneous values, changes to a value, etc. + * Some combinations of `metric_kind` and `value_type` might not be + * supported. + */ + metricKind?: string; + /** + * The resource name of the metric descriptor. + */ + name?: string; + /** + * The metric type, including its DNS name prefix. The type is not + * URL-encoded. All user-defined metric types have the DNS name + * `custom.googleapis.com` or `external.googleapis.com`. Metric types + * should use a natural hierarchical grouping. For example: + * "custom.googleapis.com/invoice/paid/amount" + * "external.googleapis.com/prometheus/up" + * "appengine.googleapis.com/http/server/response_latencies" + */ + type?: string; + /** + * The unit in which the metric value is reported. It is only applicable if + * the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The supported + * units are a subset of [The Unified Code for Units of + * Measure](http://unitsofmeasure.org/ucum.html) standard: **Basic units + * (UNIT)** * `bit` bit * `By` byte * `s` second * `min` minute + * * `h` hour * `d` day **Prefixes (PREFIX)** * `k` kilo + * (10**3) * `M` mega (10**6) * `G` giga (10**9) * `T` tera + * (10**12) * `P` peta (10**15) * `E` exa (10**18) * `Z` + * zetta (10**21) * `Y` yotta (10**24) * `m` milli (10**-3) * + * `u` micro (10**-6) * `n` nano (10**-9) * `p` pico + * (10**-12) * `f` femto (10**-15) * `a` atto (10**-18) * `z` + * zepto (10**-21) * `y` yocto (10**-24) * `Ki` kibi (2**10) * + * `Mi` mebi (2**20) * `Gi` gibi (2**30) * `Ti` tebi (2**40) + * **Grammar** The grammar also includes these connectors: * `/` division + * (as an infix operator, e.g. `1/s`). * `.` multiplication (as an infix + * operator, e.g. `GBy.d`) The grammar for a unit is as follows: Expression + * = Component { "." Component } { "/" Component } ; + * Component = ( [ PREFIX ] UNIT | "%" ) [ Annotation ] | + * Annotation | "1" ; Annotation + * = "{" NAME "}" ; Notes: * `Annotation` is just a + * comment if it follows a `UNIT` and is equivalent to `1` if it is used + * alone. For examples, `{requests}/s == 1/s`, `By{transmitted}/s == + * By/s`. * `NAME` is a sequence of non-blank printable ASCII characters not + * containing '{' or '}'. * `1` represents dimensionless + * value 1, such as in `1/s`. * `%` represents dimensionless value 1/100, + * and annotates values giving a percentage. + */ + unit?: string; + /** + * Whether the measurement is an integer, a floating-point number, etc. Some + * combinations of `metric_kind` and `value_type` might not be supported. + */ + valueType?: string; + } + /** + * Additional annotations that can be used to guide the usage of a metric. + */ + interface Schema$MetricDescriptorMetadata { + /** + * The delay of data points caused by ingestion. Data points older than this + * age are guaranteed to be ingested and available to be read, excluding + * data loss due to errors. + */ + ingestDelay?: string; + /** + * The launch stage of the metric definition. + */ + launchStage?: string; + /** + * The sampling period of metric data points. For metrics which are written + * periodically, consecutive data points are stored at this time interval, + * excluding data loss due to errors. Metrics with a higher granularity have + * a smaller sampling period. + */ + samplePeriod?: string; + } + /** + * Bind API methods to metrics. Binding a method to a metric causes that + * metric's configured quota behaviors to apply to the method call. + */ + interface Schema$MetricRule { + /** + * Metrics to update when the selected methods are called, and the + * associated cost applied to each metric. The key of the map is the metric + * name, and the values are the amount increased for the metric against + * which the quota limits are defined. The value must not be negative. + */ + metricCosts?: any; + /** + * Selects the methods to which this rule applies. Refer to selector for + * syntax details. + */ + selector?: string; + } + /** + * Declares an API Interface to be included in this interface. The including + * interface must redeclare all the methods from the included interface, but + * documentation and options are inherited as follows: - If after comment and + * whitespace stripping, the documentation string of the redeclared method + * is empty, it will be inherited from the original method. - Each + * annotation belonging to the service config (http, visibility) which is + * not set in the redeclared method will be inherited. - If an http + * annotation is inherited, the path pattern will be modified as follows. + * Any version prefix will be replaced by the version of the including + * interface plus the root path if specified. Example of a simple mixin: + * package google.acl.v1; service AccessControl { // Get the + * underlying ACL object. rpc GetAcl(GetAclRequest) returns (Acl) { + * option (google.api.http).get = "/v1/{resource=**}:getAcl"; } } + * package google.storage.v2; service Storage { // rpc + * GetAcl(GetAclRequest) returns (Acl); // Get a data record. rpc + * GetData(GetDataRequest) returns (Data) { option + * (google.api.http).get = "/v2/{resource=**}"; } } + * Example of a mixin configuration: apis: - name: + * google.storage.v2.Storage mixins: - name: + * google.acl.v1.AccessControl The mixin construct implies that all methods + * in `AccessControl` are also declared with same name and request/response + * types in `Storage`. A documentation generator or annotation processor will + * see the effective `Storage.GetAcl` method after inherting documentation and + * annotations as follows: service Storage { // Get the underlying + * ACL object. rpc GetAcl(GetAclRequest) returns (Acl) { option + * (google.api.http).get = "/v2/{resource=**}:getAcl"; } ... + * } Note how the version in the path pattern changed from `v1` to `v2`. If + * the `root` field in the mixin is specified, it should be a relative path + * under which inherited HTTP paths are placed. Example: apis: - + * name: google.storage.v2.Storage mixins: - name: + * google.acl.v1.AccessControl root: acls This implies the following + * inherited HTTP annotation: service Storage { // Get the + * underlying ACL object. rpc GetAcl(GetAclRequest) returns (Acl) { + * option (google.api.http).get = "/v2/acls/{resource=**}:getAcl"; + * } ... } + */ + interface Schema$Mixin { + /** + * The fully qualified name of the interface which is included. + */ + name?: string; + /** + * If non-empty specifies a path under which inherited HTTP paths are + * rooted. + */ + root?: string; + } + /** + * An object that describes the schema of a MonitoredResource object using a + * type name and a set of labels. For example, the monitored resource + * descriptor for Google Compute Engine VM instances has a type of + * `"gce_instance"` and specifies the use of the labels + * `"instance_id"` and `"zone"` to identify particular VM + * instances. Different APIs can support different monitored resource types. + * APIs generally provide a `list` method that returns the monitored resource + * descriptors used by the API. + */ + interface Schema$MonitoredResourceDescriptor { + /** + * Optional. A detailed description of the monitored resource type that + * might be used in documentation. + */ + description?: string; + /** + * Optional. A concise name for the monitored resource type that might be + * displayed in user interfaces. It should be a Title Cased Noun Phrase, + * without any article or other determiners. For example, `"Google + * Cloud SQL Database"`. + */ + displayName?: string; + /** + * Required. A set of labels used to describe instances of this monitored + * resource type. For example, an individual Google Cloud SQL database is + * identified by values for the labels `"database_id"` and + * `"zone"`. + */ + labels?: Schema$LabelDescriptor[]; + /** + * Optional. The resource name of the monitored resource descriptor: + * `"projects/{project_id}/monitoredResourceDescriptors/{type}"` + * where {type} is the value of the `type` field in this object and + * {project_id} is a project ID that provides API-specific context for + * accessing the type. APIs that do not use project information can use the + * resource name format `"monitoredResourceDescriptors/{type}"`. + */ + name?: string; + /** + * Required. The monitored resource type. For example, the type + * `"cloudsql_database"` represents databases in Google Cloud SQL. + * The maximum length of this value is 256 characters. + */ + type?: string; + } + /** + * Monitoring configuration of the service. The example below shows how to + * configure monitored resources and metrics for monitoring. In the example, a + * monitored resource and two metrics are defined. The + * `library.googleapis.com/book/returned_count` metric is sent to both + * producer and consumer projects, whereas the + * `library.googleapis.com/book/overdue_count` metric is only sent to the + * consumer project. monitored_resources: - type: + * library.googleapis.com/branch labels: - key: /city description: + * The city where the library branch is located in. - key: /name + * description: The name of the branch. metrics: - name: + * library.googleapis.com/book/returned_count metric_kind: DELTA + * value_type: INT64 labels: - key: /customer_id - name: + * library.googleapis.com/book/overdue_count metric_kind: GAUGE + * value_type: INT64 labels: - key: /customer_id monitoring: + * producer_destinations: - monitored_resource: + * library.googleapis.com/branch metrics: - + * library.googleapis.com/book/returned_count consumer_destinations: - + * monitored_resource: library.googleapis.com/branch metrics: - + * library.googleapis.com/book/returned_count - + * library.googleapis.com/book/overdue_count + */ + interface Schema$Monitoring { + /** + * Monitoring configurations for sending metrics to the consumer project. + * There can be multiple consumer destinations, each one must have a + * different monitored resource type. A metric can be used in at most one + * consumer destination. + */ + consumerDestinations?: Schema$MonitoringDestination[]; + /** + * Monitoring configurations for sending metrics to the producer project. + * There can be multiple producer destinations, each one must have a + * different monitored resource type. A metric can be used in at most one + * producer destination. + */ + producerDestinations?: Schema$MonitoringDestination[]; + } + /** + * Configuration of a specific monitoring destination (the producer project or + * the consumer project). + */ + interface Schema$MonitoringDestination { + /** + * Names of the metrics to report to this monitoring destination. Each name + * must be defined in Service.metrics section. + */ + metrics?: string[]; + /** + * The monitored resource type. The type must be defined in + * Service.monitored_resources section. + */ + monitoredResource?: string; + } + /** + * OAuth scopes are a way to define data and permissions on data. For example, + * there are scopes defined for "Read-only access to Google + * Calendar" and "Access to Cloud Platform". Users can consent + * to a scope for an application, giving it permission to access that data on + * their behalf. OAuth scope specifications should be fairly coarse grained; + * a user will need to see and understand the text description of what your + * scope means. In most cases: use one or at most two OAuth scopes for an + * entire family of products. If your product has multiple APIs, you should + * probably be sharing the OAuth scope across all of those APIs. When you + * need finer grained OAuth consent screens: talk with your product management + * about how developers will use them in practice. Please note that even + * though each of the canonical scopes is enough for a request to be accepted + * and passed to the backend, a request can still fail due to the backend + * requiring additional scopes or permissions. + */ + interface Schema$OAuthRequirements { + /** + * The list of publicly documented OAuth scopes that are allowed access. An + * OAuth token containing any of these scopes will be accepted. Example: + * canonical_scopes: https://www.googleapis.com/auth/calendar, + * https://www.googleapis.com/auth/calendar.read + */ + canonicalScopes?: string; + } + /** + * This resource represents a long-running operation that is the result of a + * network API call. + */ + interface Schema$Operation { + /** + * If the value is `false`, it means the operation is still in progress. If + * `true`, the operation is completed, and either `error` or `response` is + * available. + */ + done?: boolean; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * Service-specific metadata associated with the operation. It typically + * contains progress information and common metadata such as create time. + * Some services might not provide such metadata. Any method that returns a + * long-running operation should document the metadata type, if any. + */ + metadata?: any; + /** + * The server-assigned name, which is only unique within the same service + * that originally returns it. If you use the default HTTP mapping, the + * `name` should have the format of `operations/some/unique/name`. + */ + name?: string; + /** + * The normal response of the operation in case of success. If the original + * method returns no data on success, such as `Delete`, the response is + * `google.protobuf.Empty`. If the original method is standard + * `Get`/`Create`/`Update`, the response should be the resource. For other + * methods, the response should have the type `XxxResponse`, where `Xxx` is + * the original method name. For example, if the original method name is + * `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: any; + } + /** + * The metadata associated with a long running operation resource. + */ + interface Schema$OperationMetadata { + /** + * Percentage of completion of this operation, ranging from 0 to 100. + */ + progressPercentage?: number; + /** + * The full name of the resources that this operation is directly associated + * with. + */ + resourceNames?: string[]; + /** + * The start time of the operation. + */ + startTime?: string; + /** + * Detailed status information for each step. The order is undetermined. + */ + steps?: Schema$Step[]; + } + /** + * A protocol buffer option, which can be attached to a message, field, + * enumeration, etc. + */ + interface Schema$Option { + /** + * The option's name. For protobuf built-in options (options defined in + * descriptor.proto), this is the short name. For example, + * `"map_entry"`. For custom options, it should be the + * fully-qualified name. For example, `"google.api.http"`. + */ + name?: string; + /** + * The option's value packed in an Any message. If the value is a + * primitive, the corresponding wrapper type defined in + * google/protobuf/wrappers.proto should be used. If the value is an enum, + * it should be stored as an int32 value using the + * google.protobuf.Int32Value type. + */ + value?: any; + } + /** + * Represents a documentation page. A page can contain subpages to represent + * nested documentation set structure. + */ + interface Schema$Page { + /** + * The Markdown content of the page. You can use <code>&#40;== + * include {path} ==&#41;</code> to include content from a + * Markdown file. + */ + content?: string; + /** + * The name of the page. It will be used as an identity of the page to + * generate URI of the page, text of the link to this page in navigation, + * etc. The full page name (start from the root page name to this page + * concatenated with `.`) can be used as reference to the page in your + * documentation. For example: <pre><code>pages: - name: + * Tutorial content: &#40;== include tutorial.md ==&#41; subpages: + * - name: Java content: &#40;== include tutorial_java.md + * ==&#41; </code></pre> You can reference `Java` page using + * Markdown reference link syntax: `Java`. + */ + name?: string; + /** + * Subpages of this page. The order of subpages specified here will be + * honored in the generated docset. + */ + subpages?: Schema$Page[]; + } + /** + * The published version of a Service that is managed by Google Service + * Management. + */ + interface Schema$PublishedService { + /** + * The resource name of the service. A valid name would be: - + * services/serviceuser.googleapis.com + */ + name?: string; + /** + * The service's published configuration. + */ + service?: Schema$Service; + } + /** + * Quota configuration helps to achieve fairness and budgeting in service + * usage. The quota configuration works this way: - The service configuration + * defines a set of metrics. - For API calls, the quota.metric_rules maps + * methods to metrics with corresponding costs. - The quota.limits defines + * limits on the metrics, which will be used for quota checks at runtime. An + * example quota configuration in yaml format: quota: limits: - + * name: apiWriteQpsPerProject metric: + * library.googleapis.com/write_calls unit: "1/min/{project}" + * # rate limit for consumer projects values: STANDARD: 10000 + * # The metric rules bind all methods to the read_calls metric, # except + * for the UpdateBook and DeleteBook methods. These two methods # are + * mapped to the write_calls metric, with the UpdateBook method # + * consuming at twice rate as the DeleteBook method. metric_rules: - + * selector: "*" metric_costs: + * library.googleapis.com/read_calls: 1 - selector: + * google.example.library.v1.LibraryService.UpdateBook metric_costs: + * library.googleapis.com/write_calls: 2 - selector: + * google.example.library.v1.LibraryService.DeleteBook metric_costs: + * library.googleapis.com/write_calls: 1 Corresponding Metric definition: + * metrics: - name: library.googleapis.com/read_calls display_name: Read + * requests metric_kind: DELTA value_type: INT64 - name: + * library.googleapis.com/write_calls display_name: Write requests + * metric_kind: DELTA value_type: INT64 + */ + interface Schema$Quota { + /** + * List of `QuotaLimit` definitions for the service. + */ + limits?: Schema$QuotaLimit[]; + /** + * List of `MetricRule` definitions, each one mapping a selected method to + * one or more metrics. + */ + metricRules?: Schema$MetricRule[]; + } + /** + * `QuotaLimit` defines a specific limit that applies over a specified + * duration for a limit type. There can be at most one limit for a duration + * and limit type combination defined within a `QuotaGroup`. + */ + interface Schema$QuotaLimit { + /** + * Default number of tokens that can be consumed during the specified + * duration. This is the number of tokens assigned when a client application + * developer activates the service for his/her project. Specifying a value + * of 0 will block all requests. This can be used if you are provisioning + * quota to selected consumers and blocking others. Similarly, a value of -1 + * will indicate an unlimited quota. No other negative values are allowed. + * Used by group-based quotas only. + */ + defaultLimit?: string; + /** + * Optional. User-visible, extended description for this quota limit. Should + * be used only when more context is needed to understand this limit than + * provided by the limit's display name (see: `display_name`). + */ + description?: string; + /** + * User-visible display name for this limit. Optional. If not set, the UI + * will provide a default display name based on the quota configuration. + * This field can be used to override the default display name generated + * from the configuration. + */ + displayName?: string; + /** + * Duration of this limit in textual notation. Example: "100s", + * "24h", "1d". For duration longer than a day, only + * multiple of days is supported. We support only "100s" and + * "1d" for now. Additional support will be added in the future. + * "0" indicates indefinite duration. Used by group-based quotas + * only. + */ + duration?: string; + /** + * Free tier value displayed in the Developers Console for this limit. The + * free tier is the number of tokens that will be subtracted from the billed + * amount when billing is enabled. This field can only be set on a limit + * with duration "1d", in a billable group; it is invalid on any + * other limit. If this field is not set, it defaults to 0, indicating that + * there is no free tier for this service. Used by group-based quotas only. + */ + freeTier?: string; + /** + * Maximum number of tokens that can be consumed during the specified + * duration. Client application developers can override the default limit up + * to this maximum. If specified, this value cannot be set to a value less + * than the default limit. If not specified, it is set to the default limit. + * To allow clients to apply overrides with no upper bound, set this to -1, + * indicating unlimited maximum quota. Used by group-based quotas only. + */ + maxLimit?: string; + /** + * The name of the metric this quota limit applies to. The quota limits with + * the same metric will be checked together during runtime. The metric must + * be defined within the service config. + */ + metric?: string; + /** + * Name of the quota limit. The name must be provided, and it must be + * unique within the service. The name can only include alphanumeric + * characters as well as '-'. The maximum length of the limit name + * is 64 characters. + */ + name?: string; + /** + * Specify the unit of the quota limit. It uses the same syntax as + * Metric.unit. The supported unit kinds are determined by the quota backend + * system. Here are some examples: * "1/min/{project}" for quota + * per minute per project. Note: the order of unit components is + * insignificant. The "1" at the beginning is required to follow + * the metric unit syntax. + */ + unit?: string; + /** + * Tiered limit values. You must specify this as a key:value pair, with an + * integer value that is the maximum number of requests allowed for the + * specified unit. Currently only STANDARD is supported. + */ + values?: any; + } + /** + * Response message for SearchServices method. + */ + interface Schema$SearchServicesResponse { + /** + * Token that can be passed to `ListAvailableServices` to resume a paginated + * query. + */ + nextPageToken?: string; + /** + * Services available publicly or available to the authenticated caller. + */ + services?: Schema$PublishedService[]; + } + /** + * `Service` is the root object of Google service configuration schema. It + * describes basic information about a service, such as the name and the + * title, and delegates other aspects to sub-sections. Each sub-section is + * either a proto message or a repeated proto message that configures a + * specific aspect, such as auth. See each proto message definition for + * details. Example: type: google.api.Service config_version: 3 + * name: calendar.googleapis.com title: Google Calendar API apis: - + * name: google.calendar.v3.Calendar authentication: providers: - + * id: google_calendar_auth jwks_uri: + * https://www.googleapis.com/oauth2/v1/certs issuer: + * https://securetoken.google.com rules: - selector: "*" + * requirements: provider_id: google_calendar_auth + */ + interface Schema$Service { + /** + * A list of API interfaces exported by this service. Only the `name` field + * of the google.protobuf.Api needs to be provided by the configuration + * author, as the remaining fields will be derived from the IDL during the + * normalization process. It is an error to specify an API interface here + * which cannot be resolved against the associated IDL files. + */ + apis?: Schema$Api[]; + /** + * Auth configuration. + */ + authentication?: Schema$Authentication; + /** + * API backend configuration. + */ + backend?: Schema$Backend; + /** + * Billing configuration. + */ + billing?: Schema$Billing; + /** + * The semantic version of the service configuration. The config version + * affects the interpretation of the service configuration. For example, + * certain features are enabled by default for certain config versions. The + * latest config version is `3`. + */ + configVersion?: number; + /** + * Context configuration. + */ + context?: Schema$Context; + /** + * Configuration for the service control plane. + */ + control?: Schema$Control; + /** + * Custom error configuration. + */ + customError?: Schema$CustomError; + /** + * Additional API documentation. + */ + documentation?: Schema$Documentation; + /** + * Configuration for network endpoints. If this is empty, then an endpoint + * with the same name as the service is automatically generated to service + * all defined APIs. + */ + endpoints?: Schema$Endpoint[]; + /** + * A list of all enum types included in this API service. Enums referenced + * directly or indirectly by the `apis` are automatically included. Enums + * which are not referenced but shall be included should be listed here by + * name. Example: enums: - name: google.someapi.v1.SomeEnum + */ + enums?: Schema$Enum[]; + /** + * Experimental configuration. + */ + experimental?: Schema$Experimental; + /** + * HTTP configuration. + */ + http?: Schema$Http; + /** + * A unique ID for a specific instance of this message, typically assigned + * by the client for tracking purpose. If empty, the server may choose to + * generate one instead. Must be no longer than 60 characters. + */ + id?: string; + /** + * Logging configuration. + */ + logging?: Schema$Logging; + /** + * Defines the logs used by this service. + */ + logs?: Schema$LogDescriptor[]; + /** + * Defines the metrics used by this service. + */ + metrics?: Schema$MetricDescriptor[]; + /** + * Defines the monitored resources used by this service. This is required by + * the Service.monitoring and Service.logging configurations. + */ + monitoredResources?: Schema$MonitoredResourceDescriptor[]; + /** + * Monitoring configuration. + */ + monitoring?: Schema$Monitoring; + /** + * The DNS address at which this service is available, e.g. + * `calendar.googleapis.com`. + */ + name?: string; + /** + * The Google project that owns this service. + */ + producerProjectId?: string; + /** + * Quota configuration. + */ + quota?: Schema$Quota; + /** + * Output only. The source information for this configuration if available. + */ + sourceInfo?: Schema$SourceInfo; + /** + * System parameter configuration. + */ + systemParameters?: Schema$SystemParameters; + /** + * A list of all proto message types included in this API service. It serves + * similar purpose as [google.api.Service.types], except that these types + * are not needed by user-defined APIs. Therefore, they will not show up in + * the generated discovery doc. This field should only be used to define + * system APIs in ESF. + */ + systemTypes?: Schema$Type[]; + /** + * The product title for this service. + */ + title?: string; + /** + * A list of all proto message types included in this API service. Types + * referenced directly or indirectly by the `apis` are automatically + * included. Messages which are not referenced but shall be included, such + * as types used by the `google.protobuf.Any` type, should be listed here by + * name. Example: types: - name: google.protobuf.Int32 + */ + types?: Schema$Type[]; + /** + * Configuration controlling usage of this service. + */ + usage?: Schema$Usage; + } + /** + * `SourceContext` represents information about the source of a protobuf + * element, like the file in which it is defined. + */ + interface Schema$SourceContext { + /** + * The path-qualified name of the .proto file that contained the associated + * protobuf element. For example: + * `"google/protobuf/source_context.proto"`. + */ + fileName?: string; + } + /** + * Source information used to create a Service Config + */ + interface Schema$SourceInfo { + /** + * All files used during config generation. + */ + sourceFiles?: any[]; + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + /** + * Represents the status of one operation step. + */ + interface Schema$Step { + /** + * The short description of the step. + */ + description?: string; + /** + * The status code. + */ + status?: string; + } + /** + * Define a parameter's name and location. The parameter may be passed as + * either an HTTP header or a URL query parameter, and if both are passed the + * behavior is implementation-dependent. + */ + interface Schema$SystemParameter { + /** + * Define the HTTP header name to use for the parameter. It is case + * insensitive. + */ + httpHeader?: string; + /** + * Define the name of the parameter, such as "api_key" . It is + * case sensitive. + */ + name?: string; + /** + * Define the URL query parameter name to use for the parameter. It is case + * sensitive. + */ + urlQueryParameter?: string; + } + /** + * Define a system parameter rule mapping system parameter definitions to + * methods. + */ + interface Schema$SystemParameterRule { + /** + * Define parameters. Multiple names may be defined for a parameter. For a + * given method call, only one of them should be used. If multiple names are + * used the behavior is implementation-dependent. If none of the specified + * names are present the behavior is parameter-dependent. + */ + parameters?: Schema$SystemParameter[]; + /** + * Selects the methods to which this rule applies. Use '*' to + * indicate all methods in all APIs. Refer to selector for syntax details. + */ + selector?: string; + } + /** + * ### System parameter configuration A system parameter is a special kind of + * parameter defined by the API system, not by an individual API. It is + * typically mapped to an HTTP header and/or a URL query parameter. This + * configuration specifies which methods change the names of the system + * parameters. + */ + interface Schema$SystemParameters { + /** + * Define system parameters. The parameters defined here will override the + * default parameters implemented by the system. If this field is missing + * from the service config, default system parameters will be used. Default + * system parameters and names is implementation-dependent. Example: define + * api key for all methods system_parameters rules: - + * selector: "*" parameters: - name: api_key + * url_query_parameter: api_key Example: define 2 api key names for a + * specific method. system_parameters rules: - selector: + * "/ListShelves" parameters: - name: + * api_key http_header: Api-Key1 - name: api_key + * http_header: Api-Key2 **NOTE:** All service configuration rules follow + * "last one wins" order. + */ + rules?: Schema$SystemParameterRule[]; + } + /** + * A protocol buffer message type. + */ + interface Schema$Type { + /** + * The list of fields. + */ + fields?: Schema$Field[]; + /** + * The fully qualified message name. + */ + name?: string; + /** + * The list of types appearing in `oneof` definitions in this type. + */ + oneofs?: string[]; + /** + * The protocol buffer options. + */ + options?: Schema$Option[]; + /** + * The source context. + */ + sourceContext?: Schema$SourceContext; + /** + * The source syntax. + */ + syntax?: string; + } + /** + * Configuration controlling usage of a service. + */ + interface Schema$Usage { + /** + * The full resource name of a channel used for sending notifications to the + * service producer. Google Service Management currently only supports + * [Google Cloud Pub/Sub](https://cloud.google.com/pubsub) as a notification + * channel. To use Google Cloud Pub/Sub as the channel, this must be the + * name of a Cloud Pub/Sub topic that uses the Cloud Pub/Sub topic name + * format documented in https://cloud.google.com/pubsub/docs/overview. + */ + producerNotificationChannel?: string; + /** + * Requirements that must be satisfied before a consumer project can use the + * service. Each requirement is of the form + * <service.name>/<requirement-id>; for example + * 'serviceusage.googleapis.com/billing-enabled'. + */ + requirements?: string[]; + /** + * A list of usage rules that apply to individual API methods. **NOTE:** + * All service configuration rules follow "last one wins" order. + */ + rules?: Schema$UsageRule[]; + } + /** + * Usage configuration rules for the service. NOTE: Under development. Use + * this rule to configure unregistered calls for the service. Unregistered + * calls are calls that do not contain consumer project identity. (Example: + * calls that do not contain an API key). By default, API methods do not allow + * unregistered calls, and each method call must be identified by a consumer + * project identity. Use this rule to allow/disallow unregistered calls. + * Example of an API that wants to allow unregistered calls for entire + * service. usage: rules: - selector: "*" + * allow_unregistered_calls: true Example of a method that wants to allow + * unregistered calls. usage: rules: - selector: + * "google.example.library.v1.LibraryService.CreateBook" + * allow_unregistered_calls: true + */ + interface Schema$UsageRule { + /** + * If true, the selected method allows unregistered calls, e.g. calls that + * don't identify any user or application. + */ + allowUnregisteredCalls?: boolean; + /** + * Selects the methods to which this rule applies. Use '*' to + * indicate all methods in all APIs. Refer to selector for syntax details. + */ + selector?: string; + /** + * If true, the selected method should skip service control and the control + * plane features, such as quota and billing, will not be available. This + * flag is used by Google Cloud Endpoints to bypass checks for internal + * methods, such as service health check methods. + */ + skipServiceControl?: boolean; + } + class Resource$Projects { + root: Serviceuser; + services: Resource$Projects$Services; + constructor(root: Serviceuser); + getRoot(): Serviceuser; + } + class Resource$Projects$Services { + root: Serviceuser; + constructor(root: Serviceuser); + getRoot(): Serviceuser; + /** + * serviceuser.projects.services.disable + * @desc Disable a service so it can no longer be used with a project. This + * prevents unintended usage that may cause unexpected billing charges or + * security leaks. Operation + * @alias serviceuser.projects.services.disable + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Name of the consumer and the service to disable for that consumer. The Service User implementation accepts the following forms for consumer: - "project:" A valid path would be: - projects/my-project/services/servicemanagement.googleapis.com + * @param {().DisableServiceRequest} 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 + */ + disable(params?: Params$Resource$Projects$Services$Disable, options?: MethodOptions): AxiosPromise; + disable(params: Params$Resource$Projects$Services$Disable, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + disable(params: Params$Resource$Projects$Services$Disable, callback: BodyResponseCallback): void; + disable(callback: BodyResponseCallback): void; + /** + * serviceuser.projects.services.enable + * @desc Enable a service so it can be used with a project. See [Cloud Auth + * Guide](https://cloud.google.com/docs/authentication) for more + * information. Operation + * @alias serviceuser.projects.services.enable + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Name of the consumer and the service to enable for that consumer. A valid path would be: - projects/my-project/services/servicemanagement.googleapis.com + * @param {().EnableServiceRequest} 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 + */ + enable(params?: Params$Resource$Projects$Services$Enable, options?: MethodOptions): AxiosPromise; + enable(params: Params$Resource$Projects$Services$Enable, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + enable(params: Params$Resource$Projects$Services$Enable, callback: BodyResponseCallback): void; + enable(callback: BodyResponseCallback): void; + /** + * serviceuser.projects.services.list + * @desc List enabled services for the specified consumer. + * @alias serviceuser.projects.services.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Requested size of the next page of data. + * @param {string=} params.pageToken Token identifying which result to start with; returned by a previous list call. + * @param {string} params.parent List enabled services for the specified parent. An example valid parent would be: - projects/my-project + * @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?: Params$Resource$Projects$Services$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Services$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Services$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Services$Disable { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the consumer and the service to disable for that consumer. The + * Service User implementation accepts the following forms for consumer: - + * "project:" A valid path would be: - + * projects/my-project/services/servicemanagement.googleapis.com + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DisableServiceRequest; + } + interface Params$Resource$Projects$Services$Enable { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the consumer and the service to enable for that consumer. A + * valid path would be: - + * projects/my-project/services/servicemanagement.googleapis.com + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$EnableServiceRequest; + } + interface Params$Resource$Projects$Services$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Requested size of the next page of data. + */ + pageSize?: number; + /** + * Token identifying which result to start with; returned by a previous list + * call. + */ + pageToken?: string; + /** + * List enabled services for the specified parent. An example valid parent + * would be: - projects/my-project + */ + parent?: string; + } + class Resource$Services { + root: Serviceuser; + constructor(root: Serviceuser); + getRoot(): Serviceuser; + /** + * serviceuser.services.search + * @desc Search available services. When no filter is specified, returns + * all accessible services. For authenticated users, also returns all + * services the calling user has "servicemanagement.services.bind" + * permission for. + * @alias serviceuser.services.search + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Requested size of the next page of data. + * @param {string=} params.pageToken Token identifying which result to start with; returned by a previous list call. + * @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 + */ + search(params?: Params$Resource$Services$Search, options?: MethodOptions): AxiosPromise; + search(params: Params$Resource$Services$Search, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + search(params: Params$Resource$Services$Search, callback: BodyResponseCallback): void; + search(callback: BodyResponseCallback): void; + } + interface Params$Resource$Services$Search { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Requested size of the next page of data. + */ + pageSize?: number; + /** + * Token identifying which result to start with; returned by a previous list + * call. + */ + pageToken?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/serviceuser/v1.js b/express-server/node_modules/googleapis/build/src/apis/serviceuser/v1.js new file mode 100644 index 00000000..1e8f4ff0 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/serviceuser/v1.js @@ -0,0 +1,213 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var serviceuser_v1; +(function (serviceuser_v1) { + /** + * Service User API + * + * Enables services that service consumers want to use on Google Cloud + * Platform, lists the available or enabled services, or disables services + * that service consumers no longer use. + * + * @example + * const {google} = require('googleapis'); + * const serviceuser = google.serviceuser('v1'); + * + * @namespace serviceuser + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Serviceuser + */ + class Serviceuser { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.projects = new Resource$Projects(this); + this.services = new Resource$Services(this); + } + getRoot() { + return this.root; + } + } + serviceuser_v1.Serviceuser = Serviceuser; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.services = new Resource$Projects$Services(root); + } + getRoot() { + return this.root; + } + } + serviceuser_v1.Resource$Projects = Resource$Projects; + class Resource$Projects$Services { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + disable(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://serviceuser.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:disable') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + enable(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://serviceuser.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:enable') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://serviceuser.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/services') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + serviceuser_v1.Resource$Projects$Services = Resource$Projects$Services; + class Resource$Services { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + search(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://serviceuser.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/services:search') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + serviceuser_v1.Resource$Services = Resource$Services; +})(serviceuser_v1 = exports.serviceuser_v1 || (exports.serviceuser_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/serviceuser/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/serviceuser/v1.js.map new file mode 100644 index 00000000..8061c056 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/serviceuser/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/serviceuser/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/sheets/README.md b/express-server/node_modules/googleapis/build/src/apis/sheets/README.md new file mode 100644 index 00000000..26a4457a --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/sheets/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/sheets + +> Reads and writes Google Sheets. + +## Installation + +```sh +$ npm install @google/sheets +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/sheets/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/sheets/index.d.ts new file mode 100644 index 00000000..fd75b8b7 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/sheets/index.d.ts @@ -0,0 +1,6 @@ +import { sheets_v4 } from './v4'; +export declare const VERSIONS: { + 'v4': typeof sheets_v4.Sheets; +}; +export declare function sheets(version: 'v4'): sheets_v4.Sheets; +export declare function sheets(options: sheets_v4.Options): sheets_v4.Sheets; diff --git a/express-server/node_modules/googleapis/build/src/apis/sheets/index.js b/express-server/node_modules/googleapis/build/src/apis/sheets/index.js new file mode 100644 index 00000000..49d4d3e6 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/sheets/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v4_1 = require("./v4"); +exports.VERSIONS = { + 'v4': v4_1.sheets_v4.Sheets, +}; +function sheets(versionOrOptions) { + return googleapis_common_1.getAPI('sheets', versionOrOptions, exports.VERSIONS, this); +} +exports.sheets = sheets; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/sheets/index.js.map b/express-server/node_modules/googleapis/build/src/apis/sheets/index.js.map new file mode 100644 index 00000000..50dc2306 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/sheets/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/sheets/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAA+B;AAElB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,cAAS,CAAC,MAAM;CACvB,CAAC;AAIF,SAAgB,MAAM,CACQ,gBAAwC;IACpE,OAAO,0BAAM,CAAI,QAAQ,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAC/D,CAAC;AAHD,wBAGC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/sheets/package.json b/express-server/node_modules/googleapis/build/src/apis/sheets/package.json new file mode 100644 index 00000000..8910de20 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/sheets/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/sheets", + "version": "0.1.0", + "description": "sheets", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/sheets/v4.d.ts b/express-server/node_modules/googleapis/build/src/apis/sheets/v4.d.ts new file mode 100644 index 00000000..becd004a --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/sheets/v4.d.ts @@ -0,0 +1,6115 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace sheets_v4 { + interface Options extends GlobalOptions { + version: 'v4'; + } + /** + * Google Sheets API + * + * Reads and writes Google Sheets. + * + * @example + * const {google} = require('googleapis'); + * const sheets = google.sheets('v4'); + * + * @namespace sheets + * @type {Function} + * @version v4 + * @variation v4 + * @param {object=} options Options for Sheets + */ + class Sheets { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + spreadsheets: Resource$Spreadsheets; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Adds a new banded range to the spreadsheet. + */ + interface Schema$AddBandingRequest { + /** + * The banded range to add. The bandedRangeId field is optional; if one is + * not set, an id will be randomly generated. (It is an error to specify the + * ID of a range that already exists.) + */ + bandedRange?: Schema$BandedRange; + } + /** + * The result of adding a banded range. + */ + interface Schema$AddBandingResponse { + /** + * The banded range that was added. + */ + bandedRange?: Schema$BandedRange; + } + /** + * Adds a chart to a sheet in the spreadsheet. + */ + interface Schema$AddChartRequest { + /** + * The chart that should be added to the spreadsheet, including the position + * where it should be placed. The chartId field is optional; if one is not + * set, an id will be randomly generated. (It is an error to specify the ID + * of a chart that already exists.) + */ + chart?: Schema$EmbeddedChart; + } + /** + * The result of adding a chart to a spreadsheet. + */ + interface Schema$AddChartResponse { + /** + * The newly added chart. + */ + chart?: Schema$EmbeddedChart; + } + /** + * Adds a new conditional format rule at the given index. All subsequent + * rules' indexes are incremented. + */ + interface Schema$AddConditionalFormatRuleRequest { + /** + * The zero-based index where the rule should be inserted. + */ + index?: number; + /** + * The rule to add. + */ + rule?: Schema$ConditionalFormatRule; + } + /** + * Creates a group over the specified range. If the requested range is a + * superset of the range of an existing group G, then the depth of G is + * incremented and this new group G' has the depth of that group. For + * example, a group [C:D, depth 1] + [B:E] results in groups [B:E, depth 1] + * and [C:D, depth 2]. If the requested range is a subset of the range of an + * existing group G, then the depth of the new group G' becomes one + * greater than the depth of G. For example, a group [B:E, depth 1] + [C:D] + * results in groups [B:E, depth 1] and [C:D, depth 2]. If the requested range + * starts before and ends within, or starts within and ends after, the range + * of an existing group G, then the range of the existing group G becomes the + * union of the ranges, and the new group G' has depth one greater than + * the depth of G and range as the intersection of the ranges. For example, a + * group [B:D, depth 1] + [C:E] results in groups [B:E, depth 1] and [C:D, + * depth 2]. + */ + interface Schema$AddDimensionGroupRequest { + /** + * The range over which to create a group. + */ + range?: Schema$DimensionRange; + } + /** + * The result of adding a group. + */ + interface Schema$AddDimensionGroupResponse { + /** + * All groups of a dimension after adding a group to that dimension. + */ + dimensionGroups?: Schema$DimensionGroup[]; + } + /** + * Adds a filter view. + */ + interface Schema$AddFilterViewRequest { + /** + * The filter to add. The filterViewId field is optional; if one is not set, + * an id will be randomly generated. (It is an error to specify the ID of a + * filter that already exists.) + */ + filter?: Schema$FilterView; + } + /** + * The result of adding a filter view. + */ + interface Schema$AddFilterViewResponse { + /** + * The newly added filter view. + */ + filter?: Schema$FilterView; + } + /** + * Adds a named range to the spreadsheet. + */ + interface Schema$AddNamedRangeRequest { + /** + * The named range to add. The namedRangeId field is optional; if one is not + * set, an id will be randomly generated. (It is an error to specify the ID + * of a range that already exists.) + */ + namedRange?: Schema$NamedRange; + } + /** + * The result of adding a named range. + */ + interface Schema$AddNamedRangeResponse { + /** + * The named range to add. + */ + namedRange?: Schema$NamedRange; + } + /** + * Adds a new protected range. + */ + interface Schema$AddProtectedRangeRequest { + /** + * The protected range to be added. The protectedRangeId field is optional; + * if one is not set, an id will be randomly generated. (It is an error to + * specify the ID of a range that already exists.) + */ + protectedRange?: Schema$ProtectedRange; + } + /** + * The result of adding a new protected range. + */ + interface Schema$AddProtectedRangeResponse { + /** + * The newly added protected range. + */ + protectedRange?: Schema$ProtectedRange; + } + /** + * Adds a new sheet. When a sheet is added at a given index, all subsequent + * sheets' indexes are incremented. To add an object sheet, use + * AddChartRequest instead and specify EmbeddedObjectPosition.sheetId or + * EmbeddedObjectPosition.newSheet. + */ + interface Schema$AddSheetRequest { + /** + * The properties the new sheet should have. All properties are optional. + * The sheetId field is optional; if one is not set, an id will be randomly + * generated. (It is an error to specify the ID of a sheet that already + * exists.) + */ + properties?: Schema$SheetProperties; + } + /** + * The result of adding a sheet. + */ + interface Schema$AddSheetResponse { + /** + * The properties of the newly added sheet. + */ + properties?: Schema$SheetProperties; + } + /** + * Adds new cells after the last row with data in a sheet, inserting new rows + * into the sheet if necessary. + */ + interface Schema$AppendCellsRequest { + /** + * The fields of CellData that should be updated. At least one field must be + * specified. The root is the CellData; 'row.values.' should not be + * specified. A single `"*"` can be used as short-hand for listing + * every field. + */ + fields?: string; + /** + * The data to append. + */ + rows?: Schema$RowData[]; + /** + * The sheet ID to append the data to. + */ + sheetId?: number; + } + /** + * Appends rows or columns to the end of a sheet. + */ + interface Schema$AppendDimensionRequest { + /** + * Whether rows or columns should be appended. + */ + dimension?: string; + /** + * The number of rows or columns to append. + */ + length?: number; + /** + * The sheet to append rows or columns to. + */ + sheetId?: number; + } + /** + * The response when updating a range of values in a spreadsheet. + */ + interface Schema$AppendValuesResponse { + /** + * The spreadsheet the updates were applied to. + */ + spreadsheetId?: string; + /** + * The range (in A1 notation) of the table that values are being appended to + * (before the values were appended). Empty if no table was found. + */ + tableRange?: string; + /** + * Information about the updates that were applied. + */ + updates?: Schema$UpdateValuesResponse; + } + /** + * Fills in more data based on existing data. + */ + interface Schema$AutoFillRequest { + /** + * The range to autofill. This will examine the range and detect the + * location that has data and automatically fill that data in to the rest of + * the range. + */ + range?: Schema$GridRange; + /** + * The source and destination areas to autofill. This explicitly lists the + * source of the autofill and where to extend that data. + */ + sourceAndDestination?: Schema$SourceAndDestination; + /** + * True if we should generate data with the "alternate" series. + * This differs based on the type and amount of source data. + */ + useAlternateSeries?: boolean; + } + /** + * Automatically resizes one or more dimensions based on the contents of the + * cells in that dimension. + */ + interface Schema$AutoResizeDimensionsRequest { + /** + * The dimensions to automatically resize. + */ + dimensions?: Schema$DimensionRange; + } + /** + * A banded (alternating colors) range in a sheet. + */ + interface Schema$BandedRange { + /** + * The id of the banded range. + */ + bandedRangeId?: number; + /** + * Properties for column bands. These properties are applied on a column- + * by-column basis throughout all the columns in the range. At least one of + * row_properties or column_properties must be specified. + */ + columnProperties?: Schema$BandingProperties; + /** + * The range over which these properties are applied. + */ + range?: Schema$GridRange; + /** + * Properties for row bands. These properties are applied on a row-by-row + * basis throughout all the rows in the range. At least one of + * row_properties or column_properties must be specified. + */ + rowProperties?: Schema$BandingProperties; + } + /** + * Properties referring a single dimension (either row or column). If both + * BandedRange.row_properties and BandedRange.column_properties are set, the + * fill colors are applied to cells according to the following rules: * + * header_color and footer_color take priority over band colors. * + * first_band_color takes priority over second_band_color. * row_properties + * takes priority over column_properties. For example, the first row color + * takes priority over the first column color, but the first column color + * takes priority over the second row color. Similarly, the row header takes + * priority over the column header in the top left cell, but the column header + * takes priority over the first row color if the row header is not set. + */ + interface Schema$BandingProperties { + /** + * The first color that is alternating. (Required) + */ + firstBandColor?: Schema$Color; + /** + * The color of the last row or column. If this field is not set, the last + * row or column will be filled with either first_band_color or + * second_band_color, depending on the color of the previous row or column. + */ + footerColor?: Schema$Color; + /** + * The color of the first row or column. If this field is set, the first row + * or column will be filled with this color and the colors will alternate + * between first_band_color and second_band_color starting from the second + * row or column. Otherwise, the first row or column will be filled with + * first_band_color and the colors will proceed to alternate as they + * normally would. + */ + headerColor?: Schema$Color; + /** + * The second color that is alternating. (Required) + */ + secondBandColor?: Schema$Color; + } + /** + * An axis of the chart. A chart may not have more than one axis per axis + * position. + */ + interface Schema$BasicChartAxis { + /** + * The format of the title. Only valid if the axis is not associated with + * the domain. + */ + format?: Schema$TextFormat; + /** + * The position of this axis. + */ + position?: string; + /** + * The title of this axis. If set, this overrides any title inferred from + * headers of the data. + */ + title?: string; + /** + * The axis title text position. + */ + titleTextPosition?: Schema$TextPosition; + } + /** + * The domain of a chart. For example, if charting stock prices over time, + * this would be the date. + */ + interface Schema$BasicChartDomain { + /** + * The data of the domain. For example, if charting stock prices over time, + * this is the data representing the dates. + */ + domain?: Schema$ChartData; + /** + * True to reverse the order of the domain values (horizontal axis). + */ + reversed?: boolean; + } + /** + * A single series of data in a chart. For example, if charting stock prices + * over time, multiple series may exist, one for the "Open Price", + * "High Price", "Low Price" and "Close Price". + */ + interface Schema$BasicChartSeries { + /** + * The color for elements (i.e. bars, lines, points) associated with this + * series. If empty, a default color is used. + */ + color?: Schema$Color; + /** + * The line style of this series. Valid only if the chartType is AREA, LINE, + * or SCATTER. COMBO charts are also supported if the series chart type is + * AREA or LINE. + */ + lineStyle?: Schema$LineStyle; + /** + * The data being visualized in this chart series. + */ + series?: Schema$ChartData; + /** + * The minor axis that will specify the range of values for this series. For + * example, if charting stocks over time, the "Volume" series may + * want to be pinned to the right with the prices pinned to the left, + * because the scale of trading volume is different than the scale of + * prices. It is an error to specify an axis that isn't a valid minor + * axis for the chart's type. + */ + targetAxis?: string; + /** + * The type of this series. Valid only if the chartType is COMBO. Different + * types will change the way the series is visualized. Only LINE, AREA, and + * COLUMN are supported. + */ + type?: string; + } + /** + * The specification for a basic chart. See BasicChartType for the list of + * charts this supports. + */ + interface Schema$BasicChartSpec { + /** + * The axis on the chart. + */ + axis?: Schema$BasicChartAxis[]; + /** + * The type of the chart. + */ + chartType?: string; + /** + * The behavior of tooltips and data highlighting when hovering on data and + * chart area. + */ + compareMode?: string; + /** + * The domain of data this is charting. Only a single domain is supported. + */ + domains?: Schema$BasicChartDomain[]; + /** + * The number of rows or columns in the data that are "headers". + * If not set, Google Sheets will guess how many rows are headers based on + * the data. (Note that BasicChartAxis.title may override the axis title + * inferred from the header values.) + */ + headerCount?: number; + /** + * If some values in a series are missing, gaps may appear in the chart + * (e.g, segments of lines in a line chart will be missing). To eliminate + * these gaps set this to true. Applies to Line, Area, and Combo charts. + */ + interpolateNulls?: boolean; + /** + * The position of the chart legend. + */ + legendPosition?: string; + /** + * Gets whether all lines should be rendered smooth or straight by default. + * Applies to Line charts. + */ + lineSmoothing?: boolean; + /** + * The data this chart is visualizing. + */ + series?: Schema$BasicChartSeries[]; + /** + * The stacked type for charts that support vertical stacking. Applies to + * Area, Bar, Column, Combo, and Stepped Area charts. + */ + stackedType?: string; + /** + * True to make the chart 3D. Applies to Bar and Column charts. + */ + threeDimensional?: boolean; + } + /** + * The default filter associated with a sheet. + */ + interface Schema$BasicFilter { + /** + * The criteria for showing/hiding values per column. The map's key is + * the column index, and the value is the criteria for that column. + */ + criteria?: any; + /** + * The range the filter covers. + */ + range?: Schema$GridRange; + /** + * The sort order per column. Later specifications are used when values are + * equal in the earlier specifications. + */ + sortSpecs?: Schema$SortSpec[]; + } + /** + * The request for clearing more than one range selected by a DataFilter in a + * spreadsheet. + */ + interface Schema$BatchClearValuesByDataFilterRequest { + /** + * The DataFilters used to determine which ranges to clear. + */ + dataFilters?: Schema$DataFilter[]; + } + /** + * The response when clearing a range of values selected with DataFilters in a + * spreadsheet. + */ + interface Schema$BatchClearValuesByDataFilterResponse { + /** + * The ranges that were cleared, in A1 notation. (If the requests were for + * an unbounded range or a ranger larger than the bounds of the sheet, this + * will be the actual ranges that were cleared, bounded to the sheet's + * limits.) + */ + clearedRanges?: string[]; + /** + * The spreadsheet the updates were applied to. + */ + spreadsheetId?: string; + } + /** + * The request for clearing more than one range of values in a spreadsheet. + */ + interface Schema$BatchClearValuesRequest { + /** + * The ranges to clear, in A1 notation. + */ + ranges?: string[]; + } + /** + * The response when clearing a range of values in a spreadsheet. + */ + interface Schema$BatchClearValuesResponse { + /** + * The ranges that were cleared, in A1 notation. (If the requests were for + * an unbounded range or a ranger larger than the bounds of the sheet, this + * will be the actual ranges that were cleared, bounded to the sheet's + * limits.) + */ + clearedRanges?: string[]; + /** + * The spreadsheet the updates were applied to. + */ + spreadsheetId?: string; + } + /** + * The request for retrieving a range of values in a spreadsheet selected by a + * set of DataFilters. + */ + interface Schema$BatchGetValuesByDataFilterRequest { + /** + * The data filters used to match the ranges of values to retrieve. Ranges + * that match any of the specified data filters will be included in the + * response. + */ + dataFilters?: Schema$DataFilter[]; + /** + * How dates, times, and durations should be represented in the output. This + * is ignored if value_render_option is FORMATTED_VALUE. The default + * dateTime render option is [DateTimeRenderOption.SERIAL_NUMBER]. + */ + dateTimeRenderOption?: string; + /** + * The major dimension that results should use. For example, if the + * spreadsheet data is: `A1=1,B1=2,A2=3,B2=4`, then a request that selects + * that range and sets `majorDimension=ROWS` will return `[[1,2],[3,4]]`, + * whereas a request that sets `majorDimension=COLUMNS` will return + * `[[1,3],[2,4]]`. + */ + majorDimension?: string; + /** + * How values should be represented in the output. The default render option + * is ValueRenderOption.FORMATTED_VALUE. + */ + valueRenderOption?: string; + } + /** + * The response when retrieving more than one range of values in a spreadsheet + * selected by DataFilters. + */ + interface Schema$BatchGetValuesByDataFilterResponse { + /** + * The ID of the spreadsheet the data was retrieved from. + */ + spreadsheetId?: string; + /** + * The requested values with the list of data filters that matched them. + */ + valueRanges?: Schema$MatchedValueRange[]; + } + /** + * The response when retrieving more than one range of values in a + * spreadsheet. + */ + interface Schema$BatchGetValuesResponse { + /** + * The ID of the spreadsheet the data was retrieved from. + */ + spreadsheetId?: string; + /** + * The requested values. The order of the ValueRanges is the same as the + * order of the requested ranges. + */ + valueRanges?: Schema$ValueRange[]; + } + /** + * The request for updating any aspect of a spreadsheet. + */ + interface Schema$BatchUpdateSpreadsheetRequest { + /** + * Determines if the update response should include the spreadsheet + * resource. + */ + includeSpreadsheetInResponse?: boolean; + /** + * A list of updates to apply to the spreadsheet. Requests will be applied + * in the order they are specified. If any request is not valid, no requests + * will be applied. + */ + requests?: Schema$Request[]; + /** + * True if grid data should be returned. Meaningful only if if + * include_spreadsheet_in_response is 'true'. This parameter is + * ignored if a field mask was set in the request. + */ + responseIncludeGridData?: boolean; + /** + * Limits the ranges included in the response spreadsheet. Meaningful only + * if include_spreadsheet_response is 'true'. + */ + responseRanges?: string[]; + } + /** + * The reply for batch updating a spreadsheet. + */ + interface Schema$BatchUpdateSpreadsheetResponse { + /** + * The reply of the updates. This maps 1:1 with the updates, although + * replies to some requests may be empty. + */ + replies?: Schema$Response[]; + /** + * The spreadsheet the updates were applied to. + */ + spreadsheetId?: string; + /** + * The spreadsheet after updates were applied. This is only set if + * [BatchUpdateSpreadsheetRequest.include_spreadsheet_in_response] is + * `true`. + */ + updatedSpreadsheet?: Schema$Spreadsheet; + } + /** + * The request for updating more than one range of values in a spreadsheet. + */ + interface Schema$BatchUpdateValuesByDataFilterRequest { + /** + * The new values to apply to the spreadsheet. If more than one range is + * matched by the specified DataFilter the specified values will be applied + * to all of those ranges. + */ + data?: Schema$DataFilterValueRange[]; + /** + * Determines if the update response should include the values of the cells + * that were updated. By default, responses do not include the updated + * values. The `updatedData` field within each of the + * BatchUpdateValuesResponse.responses will contain the updated values. If + * the range to write was larger than than the range actually written, the + * response will include all values in the requested range (excluding + * trailing empty rows and columns). + */ + includeValuesInResponse?: boolean; + /** + * Determines how dates, times, and durations in the response should be + * rendered. This is ignored if response_value_render_option is + * FORMATTED_VALUE. The default dateTime render option is + * DateTimeRenderOption.SERIAL_NUMBER. + */ + responseDateTimeRenderOption?: string; + /** + * Determines how values in the response should be rendered. The default + * render option is ValueRenderOption.FORMATTED_VALUE. + */ + responseValueRenderOption?: string; + /** + * How the input data should be interpreted. + */ + valueInputOption?: string; + } + /** + * The response when updating a range of values in a spreadsheet. + */ + interface Schema$BatchUpdateValuesByDataFilterResponse { + /** + * The response for each range updated. + */ + responses?: Schema$UpdateValuesByDataFilterResponse[]; + /** + * The spreadsheet the updates were applied to. + */ + spreadsheetId?: string; + /** + * The total number of cells updated. + */ + totalUpdatedCells?: number; + /** + * The total number of columns where at least one cell in the column was + * updated. + */ + totalUpdatedColumns?: number; + /** + * The total number of rows where at least one cell in the row was updated. + */ + totalUpdatedRows?: number; + /** + * The total number of sheets where at least one cell in the sheet was + * updated. + */ + totalUpdatedSheets?: number; + } + /** + * The request for updating more than one range of values in a spreadsheet. + */ + interface Schema$BatchUpdateValuesRequest { + /** + * The new values to apply to the spreadsheet. + */ + data?: Schema$ValueRange[]; + /** + * Determines if the update response should include the values of the cells + * that were updated. By default, responses do not include the updated + * values. The `updatedData` field within each of the + * BatchUpdateValuesResponse.responses will contain the updated values. If + * the range to write was larger than than the range actually written, the + * response will include all values in the requested range (excluding + * trailing empty rows and columns). + */ + includeValuesInResponse?: boolean; + /** + * Determines how dates, times, and durations in the response should be + * rendered. This is ignored if response_value_render_option is + * FORMATTED_VALUE. The default dateTime render option is + * DateTimeRenderOption.SERIAL_NUMBER. + */ + responseDateTimeRenderOption?: string; + /** + * Determines how values in the response should be rendered. The default + * render option is ValueRenderOption.FORMATTED_VALUE. + */ + responseValueRenderOption?: string; + /** + * How the input data should be interpreted. + */ + valueInputOption?: string; + } + /** + * The response when updating a range of values in a spreadsheet. + */ + interface Schema$BatchUpdateValuesResponse { + /** + * One UpdateValuesResponse per requested range, in the same order as the + * requests appeared. + */ + responses?: Schema$UpdateValuesResponse[]; + /** + * The spreadsheet the updates were applied to. + */ + spreadsheetId?: string; + /** + * The total number of cells updated. + */ + totalUpdatedCells?: number; + /** + * The total number of columns where at least one cell in the column was + * updated. + */ + totalUpdatedColumns?: number; + /** + * The total number of rows where at least one cell in the row was updated. + */ + totalUpdatedRows?: number; + /** + * The total number of sheets where at least one cell in the sheet was + * updated. + */ + totalUpdatedSheets?: number; + } + /** + * A condition that can evaluate to true or false. BooleanConditions are used + * by conditional formatting, data validation, and the criteria in filters. + */ + interface Schema$BooleanCondition { + /** + * The type of condition. + */ + type?: string; + /** + * The values of the condition. The number of supported values depends on + * the condition type. Some support zero values, others one or two values, + * and ConditionType.ONE_OF_LIST supports an arbitrary number of values. + */ + values?: Schema$ConditionValue[]; + } + /** + * A rule that may or may not match, depending on the condition. + */ + interface Schema$BooleanRule { + /** + * The condition of the rule. If the condition evaluates to true, the format + * is applied. + */ + condition?: Schema$BooleanCondition; + /** + * The format to apply. Conditional formatting can only apply a subset of + * formatting: bold, italic, strikethrough, foreground color & + * background color. + */ + format?: Schema$CellFormat; + } + /** + * A border along a cell. + */ + interface Schema$Border { + /** + * The color of the border. + */ + color?: Schema$Color; + /** + * The style of the border. + */ + style?: string; + /** + * The width of the border, in pixels. Deprecated; the width is determined + * by the "style" field. + */ + width?: number; + } + /** + * The borders of the cell. + */ + interface Schema$Borders { + /** + * The bottom border of the cell. + */ + bottom?: Schema$Border; + /** + * The left border of the cell. + */ + left?: Schema$Border; + /** + * The right border of the cell. + */ + right?: Schema$Border; + /** + * The top border of the cell. + */ + top?: Schema$Border; + } + /** + * A <a + * href="/chart/interactive/docs/gallery/bubblechart">bubble + * chart</a>. + */ + interface Schema$BubbleChartSpec { + /** + * The bubble border color. + */ + bubbleBorderColor?: Schema$Color; + /** + * The data containing the bubble labels. These do not need to be unique. + */ + bubbleLabels?: Schema$ChartData; + /** + * The max radius size of the bubbles, in pixels. If specified, the field + * must be a positive value. + */ + bubbleMaxRadiusSize?: number; + /** + * The minimum radius size of the bubbles, in pixels. If specific, the field + * must be a positive value. + */ + bubbleMinRadiusSize?: number; + /** + * The opacity of the bubbles between 0 and 1.0. 0 is fully transparent and + * 1 is fully opaque. + */ + bubbleOpacity?: number; + /** + * The data contianing the bubble sizes. Bubble sizes are used to draw the + * bubbles at different sizes relative to each other. If specified, + * group_ids must also be specified. This field is optional. + */ + bubbleSizes?: Schema$ChartData; + /** + * The format of the text inside the bubbles. Underline and Strikethrough + * are not supported. + */ + bubbleTextStyle?: Schema$TextFormat; + /** + * The data containing the bubble x-values. These values locate the bubbles + * in the chart horizontally. + */ + domain?: Schema$ChartData; + /** + * The data containing the bubble group IDs. All bubbles with the same group + * ID are drawn in the same color. If bubble_sizes is specified then this + * field must also be specified but may contain blank values. This field is + * optional. + */ + groupIds?: Schema$ChartData; + /** + * Where the legend of the chart should be drawn. + */ + legendPosition?: string; + /** + * The data contianing the bubble y-values. These values locate the bubbles + * in the chart vertically. + */ + series?: Schema$ChartData; + } + /** + * A <a + * href="/chart/interactive/docs/gallery/candlestickchart">candlestick + * chart</a>. + */ + interface Schema$CandlestickChartSpec { + /** + * The Candlestick chart data. Only one CandlestickData is supported. + */ + data?: Schema$CandlestickData[]; + /** + * The domain data (horizontal axis) for the candlestick chart. String data + * will be treated as discrete labels, other data will be treated as + * continuous values. + */ + domain?: Schema$CandlestickDomain; + } + /** + * The Candlestick chart data, each containing the low, open, close, and high + * values for a series. + */ + interface Schema$CandlestickData { + /** + * The range data (vertical axis) for the close/final value for each candle. + * This is the top of the candle body. If greater than the open value the + * candle will be filled. Otherwise the candle will be hollow. + */ + closeSeries?: Schema$CandlestickSeries; + /** + * The range data (vertical axis) for the high/maximum value for each + * candle. This is the top of the candle's center line. + */ + highSeries?: Schema$CandlestickSeries; + /** + * The range data (vertical axis) for the low/minimum value for each candle. + * This is the bottom of the candle's center line. + */ + lowSeries?: Schema$CandlestickSeries; + /** + * The range data (vertical axis) for the open/initial value for each + * candle. This is the bottom of the candle body. If less than the close + * value the candle will be filled. Otherwise the candle will be hollow. + */ + openSeries?: Schema$CandlestickSeries; + } + /** + * The domain of a CandlestickChart. + */ + interface Schema$CandlestickDomain { + /** + * The data of the CandlestickDomain. + */ + data?: Schema$ChartData; + /** + * True to reverse the order of the domain values (horizontal axis). + */ + reversed?: boolean; + } + /** + * The series of a CandlestickData. + */ + interface Schema$CandlestickSeries { + /** + * The data of the CandlestickSeries. + */ + data?: Schema$ChartData; + } + /** + * Data about a specific cell. + */ + interface Schema$CellData { + /** + * A data validation rule on the cell, if any. When writing, the new data + * validation rule will overwrite any prior rule. + */ + dataValidation?: Schema$DataValidationRule; + /** + * The effective format being used by the cell. This includes the results of + * applying any conditional formatting and, if the cell contains a formula, + * the computed number format. If the effective format is the default + * format, effective format will not be written. This field is read-only. + */ + effectiveFormat?: Schema$CellFormat; + /** + * The effective value of the cell. For cells with formulas, this is the + * calculated value. For cells with literals, this is the same as the + * user_entered_value. This field is read-only. + */ + effectiveValue?: Schema$ExtendedValue; + /** + * The formatted value of the cell. This is the value as it's shown to + * the user. This field is read-only. + */ + formattedValue?: string; + /** + * A hyperlink this cell points to, if any. This field is read-only. (To + * set it, use a `=HYPERLINK` formula in the userEnteredValue.formulaValue + * field.) + */ + hyperlink?: string; + /** + * Any note on the cell. + */ + note?: string; + /** + * A pivot table anchored at this cell. The size of pivot table itself is + * computed dynamically based on its data, grouping, filters, values, etc. + * Only the top-left cell of the pivot table contains the pivot table + * definition. The other cells will contain the calculated values of the + * results of the pivot in their effective_value fields. + */ + pivotTable?: Schema$PivotTable; + /** + * Runs of rich text applied to subsections of the cell. Runs are only + * valid on user entered strings, not formulas, bools, or numbers. Runs + * start at specific indexes in the text and continue until the next run. + * Properties of a run will continue unless explicitly changed in a + * subsequent run (and properties of the first run will continue the + * properties of the cell unless explicitly changed). When writing, the new + * runs will overwrite any prior runs. When writing a new + * user_entered_value, previous runs are erased. + */ + textFormatRuns?: Schema$TextFormatRun[]; + /** + * The format the user entered for the cell. When writing, the new format + * will be merged with the existing format. + */ + userEnteredFormat?: Schema$CellFormat; + /** + * The value the user entered in the cell. e.g, `1234`, `'Hello'`, + * or `=NOW()` Note: Dates, Times and DateTimes are represented as doubles + * in serial number format. + */ + userEnteredValue?: Schema$ExtendedValue; + } + /** + * The format of a cell. + */ + interface Schema$CellFormat { + /** + * The background color of the cell. + */ + backgroundColor?: Schema$Color; + /** + * The borders of the cell. + */ + borders?: Schema$Borders; + /** + * The horizontal alignment of the value in the cell. + */ + horizontalAlignment?: string; + /** + * How a hyperlink, if it exists, should be displayed in the cell. + */ + hyperlinkDisplayType?: string; + /** + * A format describing how number values should be represented to the user. + */ + numberFormat?: Schema$NumberFormat; + /** + * The padding of the cell. + */ + padding?: Schema$Padding; + /** + * The direction of the text in the cell. + */ + textDirection?: string; + /** + * The format of the text in the cell (unless overridden by a format run). + */ + textFormat?: Schema$TextFormat; + /** + * The rotation applied to text in a cell + */ + textRotation?: Schema$TextRotation; + /** + * The vertical alignment of the value in the cell. + */ + verticalAlignment?: string; + /** + * The wrap strategy for the value in the cell. + */ + wrapStrategy?: string; + } + /** + * The data included in a domain or series. + */ + interface Schema$ChartData { + /** + * The source ranges of the data. + */ + sourceRange?: Schema$ChartSourceRange; + } + /** + * Source ranges for a chart. + */ + interface Schema$ChartSourceRange { + /** + * The ranges of data for a series or domain. Exactly one dimension must + * have a length of 1, and all sources in the list must have the same + * dimension with length 1. The domain (if it exists) & all series must + * have the same number of source ranges. If using more than one source + * range, then the source range at a given offset must be in order and + * contiguous across the domain and series. For example, these are valid + * configurations: domain sources: A1:A5 series1 sources: B1:B5 + * series2 sources: D6:D10 domain sources: A1:A5, C10:C12 series1 + * sources: B1:B5, D10:D12 series2 sources: C1:C5, E10:E12 + */ + sources?: Schema$GridRange[]; + } + /** + * The specifications of a chart. + */ + interface Schema$ChartSpec { + /** + * The alternative text that describes the chart. This is often used for + * accessibility. + */ + altText?: string; + /** + * The background color of the entire chart. Not applicable to Org charts. + */ + backgroundColor?: Schema$Color; + /** + * A basic chart specification, can be one of many kinds of charts. See + * BasicChartType for the list of all charts this supports. + */ + basicChart?: Schema$BasicChartSpec; + /** + * A bubble chart specification. + */ + bubbleChart?: Schema$BubbleChartSpec; + /** + * A candlestick chart specification. + */ + candlestickChart?: Schema$CandlestickChartSpec; + /** + * The name of the font to use by default for all chart text (e.g. title, + * axis labels, legend). If a font is specified for a specific part of the + * chart it will override this font name. + */ + fontName?: string; + /** + * Determines how the charts will use hidden rows or columns. + */ + hiddenDimensionStrategy?: string; + /** + * A histogram chart specification. + */ + histogramChart?: Schema$HistogramChartSpec; + /** + * True to make a chart fill the entire space in which it's rendered + * with minimum padding. False to use the default padding. (Not applicable + * to Geo and Org charts.) + */ + maximized?: boolean; + /** + * An org chart specification. + */ + orgChart?: Schema$OrgChartSpec; + /** + * A pie chart specification. + */ + pieChart?: Schema$PieChartSpec; + /** + * The subtitle of the chart. + */ + subtitle?: string; + /** + * The subtitle text format. Strikethrough and underline are not supported. + */ + subtitleTextFormat?: Schema$TextFormat; + /** + * The subtitle text position. This field is optional. + */ + subtitleTextPosition?: Schema$TextPosition; + /** + * The title of the chart. + */ + title?: string; + /** + * The title text format. Strikethrough and underline are not supported. + */ + titleTextFormat?: Schema$TextFormat; + /** + * The title text position. This field is optional. + */ + titleTextPosition?: Schema$TextPosition; + /** + * A treemap chart specification. + */ + treemapChart?: Schema$TreemapChartSpec; + /** + * A waterfall chart specification. + */ + waterfallChart?: Schema$WaterfallChartSpec; + } + /** + * Clears the basic filter, if any exists on the sheet. + */ + interface Schema$ClearBasicFilterRequest { + /** + * The sheet ID on which the basic filter should be cleared. + */ + sheetId?: number; + } + /** + * The request for clearing a range of values in a spreadsheet. + */ + interface Schema$ClearValuesRequest { + } + /** + * The response when clearing a range of values in a spreadsheet. + */ + interface Schema$ClearValuesResponse { + /** + * The range (in A1 notation) that was cleared. (If the request was for an + * unbounded range or a ranger larger than the bounds of the sheet, this + * will be the actual range that was cleared, bounded to the sheet's + * limits.) + */ + clearedRange?: string; + /** + * The spreadsheet the updates were applied to. + */ + spreadsheetId?: string; + } + /** + * Represents a color in the RGBA color space. This representation is designed + * for simplicity of conversion to/from color representations in various + * languages over compactness; for example, the fields of this representation + * can be trivially provided to the constructor of "java.awt.Color" + * in Java; it can also be trivially provided to UIColor's + * "+colorWithRed:green:blue:alpha" method in iOS; and, with just a + * little work, it can be easily formatted into a CSS "rgba()" + * string in JavaScript, as well. Here are some examples: Example (Java): + * import com.google.type.Color; // ... public static + * java.awt.Color fromProto(Color protocolor) { float alpha = + * protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; + * return new java.awt.Color( protocolor.getRed(), + * protocolor.getGreen(), protocolor.getBlue(), alpha); + * } public static Color toProto(java.awt.Color color) { float + * red = (float) color.getRed(); float green = (float) + * color.getGreen(); float blue = (float) color.getBlue(); float + * denominator = 255.0; Color.Builder resultBuilder = Color + * .newBuilder() .setRed(red / denominator) .setGreen(green / + * denominator) .setBlue(blue / denominator); int alpha + * = color.getAlpha(); if (alpha != 255) { result.setAlpha( + * FloatValue .newBuilder() .setValue(((float) alpha) / + * denominator) .build()); } return + * resultBuilder.build(); } // ... Example (iOS / Obj-C): // + * ... static UIColor* fromProto(Color* protocolor) { float red = + * [protocolor red]; float green = [protocolor green]; float + * blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor + * alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { + * alpha = [alpha_wrapper value]; } return [UIColor + * colorWithRed:red green:green blue:blue alpha:alpha]; } static + * Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; + * if (![color getRed:&red green:&green blue:&blue + * alpha:&alpha]) { return nil; } Color* + * result = [[Color alloc] init]; [result setRed:red]; [result + * setGreen:green]; [result setBlue:blue]; if (alpha <= + * 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } + * [result autorelease]; return result; } // ... Example + * (JavaScript): // ... var protoToCssColor = function(rgb_color) { + * var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green + * || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = + * Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); + * var blue = Math.floor(blueFrac * 255); if (!('alpha' in + * rgb_color)) { return rgbToCssColor_(red, green, blue); } + * var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, + * green, blue].join(','); return ['rgba(', rgbParams, + * ',', alphaFrac, ')'].join(''); }; var + * rgbToCssColor_ = function(red, green, blue) { var rgbNumber = new + * Number((red << 16) | (green << 8) | blue); var hexString + * = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; + * var resultBuilder = ['#']; for (var i = 0; i < + * missingZeros; i++) { resultBuilder.push('0'); } + * resultBuilder.push(hexString); return resultBuilder.join(''); + * }; // ... + */ + interface Schema$Color { + /** + * The fraction of this color that should be applied to the pixel. That is, + * the final pixel color is defined by the equation: pixel color = alpha + * * (this color) + (1.0 - alpha) * (background color) This means that a + * value of 1.0 corresponds to a solid color, whereas a value of 0.0 + * corresponds to a completely transparent color. This uses a wrapper + * message rather than a simple float scalar so that it is possible to + * distinguish between a default value and the value being unset. If + * omitted, this color object is to be rendered as a solid color (as if the + * alpha value had been explicitly given with a value of 1.0). + */ + alpha?: number; + /** + * The amount of blue in the color as a value in the interval [0, 1]. + */ + blue?: number; + /** + * The amount of green in the color as a value in the interval [0, 1]. + */ + green?: number; + /** + * The amount of red in the color as a value in the interval [0, 1]. + */ + red?: number; + } + /** + * A rule describing a conditional format. + */ + interface Schema$ConditionalFormatRule { + /** + * The formatting is either "on" or "off" according to + * the rule. + */ + booleanRule?: Schema$BooleanRule; + /** + * The formatting will vary based on the gradients in the rule. + */ + gradientRule?: Schema$GradientRule; + /** + * The ranges that are formatted if the condition is true. All the ranges + * must be on the same grid. + */ + ranges?: Schema$GridRange[]; + } + /** + * The value of the condition. + */ + interface Schema$ConditionValue { + /** + * A relative date (based on the current date). Valid only if the type is + * DATE_BEFORE, DATE_AFTER, DATE_ON_OR_BEFORE or DATE_ON_OR_AFTER. Relative + * dates are not supported in data validation. They are supported only in + * conditional formatting and conditional filters. + */ + relativeDate?: string; + /** + * A value the condition is based on. The value is parsed as if the user + * typed into a cell. Formulas are supported (and must begin with an `=` or + * a '+'). + */ + userEnteredValue?: string; + } + /** + * Copies data from the source to the destination. + */ + interface Schema$CopyPasteRequest { + /** + * The location to paste to. If the range covers a span that's a + * multiple of the source's height or width, then the data will be + * repeated to fill in the destination range. If the range is smaller than + * the source range, the entire source data will still be copied (beyond the + * end of the destination range). + */ + destination?: Schema$GridRange; + /** + * How that data should be oriented when pasting. + */ + pasteOrientation?: string; + /** + * What kind of data to paste. + */ + pasteType?: string; + /** + * The source range to copy. + */ + source?: Schema$GridRange; + } + /** + * The request to copy a sheet across spreadsheets. + */ + interface Schema$CopySheetToAnotherSpreadsheetRequest { + /** + * The ID of the spreadsheet to copy the sheet to. + */ + destinationSpreadsheetId?: string; + } + /** + * A request to create developer metadata. + */ + interface Schema$CreateDeveloperMetadataRequest { + /** + * The developer metadata to create. + */ + developerMetadata?: Schema$DeveloperMetadata; + } + /** + * The response from creating developer metadata. + */ + interface Schema$CreateDeveloperMetadataResponse { + /** + * The developer metadata that was created. + */ + developerMetadata?: Schema$DeveloperMetadata; + } + /** + * Moves data from the source to the destination. + */ + interface Schema$CutPasteRequest { + /** + * The top-left coordinate where the data should be pasted. + */ + destination?: Schema$GridCoordinate; + /** + * What kind of data to paste. All the source data will be cut, regardless + * of what is pasted. + */ + pasteType?: string; + /** + * The source data to cut. + */ + source?: Schema$GridRange; + } + /** + * Filter that describes what data should be selected or returned from a + * request. + */ + interface Schema$DataFilter { + /** + * Selects data that matches the specified A1 range. + */ + a1Range?: string; + /** + * Selects data associated with the developer metadata matching the criteria + * described by this DeveloperMetadataLookup. + */ + developerMetadataLookup?: Schema$DeveloperMetadataLookup; + /** + * Selects data that matches the range described by the GridRange. + */ + gridRange?: Schema$GridRange; + } + /** + * A range of values whose location is specified by a DataFilter. + */ + interface Schema$DataFilterValueRange { + /** + * The data filter describing the location of the values in the spreadsheet. + */ + dataFilter?: Schema$DataFilter; + /** + * The major dimension of the values. + */ + majorDimension?: string; + /** + * The data to be written. If the provided values exceed any of the ranges + * matched by the data filter then the request will fail. If the provided + * values are less than the matched ranges only the specified values will be + * written, existing values in the matched ranges will remain unaffected. + */ + values?: any[][]; + } + /** + * A data validation rule. + */ + interface Schema$DataValidationRule { + /** + * The condition that data in the cell must match. + */ + condition?: Schema$BooleanCondition; + /** + * A message to show the user when adding data to the cell. + */ + inputMessage?: string; + /** + * True if the UI should be customized based on the kind of condition. If + * true, "List" conditions will show a dropdown. + */ + showCustomUi?: boolean; + /** + * True if invalid data should be rejected. + */ + strict?: boolean; + } + /** + * Allows you to organize the date-time values in a source data column into + * buckets based on selected parts of their date or time values. For example, + * consider a pivot table showing sales transactions by date: + * +----------+--------------+ | Date | SUM of Sales | + * +----------+--------------+ | 1/1/2017 | $621.14 | | 2/3/2017 + * | $708.84 | | 5/8/2017 | $326.84 | ... + * +----------+--------------+ Applying a date-time group rule with a + * DateTimeRuleType of YEAR_MONTH results in the following pivot table. + * +--------------+--------------+ | Grouped Date | SUM of Sales | + * +--------------+--------------+ | 2017-Jan | $53,731.78 | | + * 2017-Feb | $83,475.32 | | 2017-Mar | $94,385.05 | ... + * +--------------+--------------+ + */ + interface Schema$DateTimeRule { + /** + * The type of date-time grouping to apply. + */ + type?: string; + } + /** + * Removes the banded range with the given ID from the spreadsheet. + */ + interface Schema$DeleteBandingRequest { + /** + * The ID of the banded range to delete. + */ + bandedRangeId?: number; + } + /** + * Deletes a conditional format rule at the given index. All subsequent + * rules' indexes are decremented. + */ + interface Schema$DeleteConditionalFormatRuleRequest { + /** + * The zero-based index of the rule to be deleted. + */ + index?: number; + /** + * The sheet the rule is being deleted from. + */ + sheetId?: number; + } + /** + * The result of deleting a conditional format rule. + */ + interface Schema$DeleteConditionalFormatRuleResponse { + /** + * The rule that was deleted. + */ + rule?: Schema$ConditionalFormatRule; + } + /** + * A request to delete developer metadata. + */ + interface Schema$DeleteDeveloperMetadataRequest { + /** + * The data filter describing the criteria used to select which developer + * metadata entry to delete. + */ + dataFilter?: Schema$DataFilter; + } + /** + * The response from deleting developer metadata. + */ + interface Schema$DeleteDeveloperMetadataResponse { + /** + * The metadata that was deleted. + */ + deletedDeveloperMetadata?: Schema$DeveloperMetadata[]; + } + /** + * Deletes a group over the specified range by decrementing the depth of the + * dimensions in the range. For example, assume the sheet has a depth-1 group + * over B:E and a depth-2 group over C:D. Deleting a group over D:E leaves the + * sheet with a depth-1 group over B:D and a depth-2 group over C:C. + */ + interface Schema$DeleteDimensionGroupRequest { + /** + * The range of the group to be deleted. + */ + range?: Schema$DimensionRange; + } + /** + * The result of deleting a group. + */ + interface Schema$DeleteDimensionGroupResponse { + /** + * All groups of a dimension after deleting a group from that dimension. + */ + dimensionGroups?: Schema$DimensionGroup[]; + } + /** + * Deletes the dimensions from the sheet. + */ + interface Schema$DeleteDimensionRequest { + /** + * The dimensions to delete from the sheet. + */ + range?: Schema$DimensionRange; + } + /** + * Deletes the embedded object with the given ID. + */ + interface Schema$DeleteEmbeddedObjectRequest { + /** + * The ID of the embedded object to delete. + */ + objectId?: number; + } + /** + * Deletes a particular filter view. + */ + interface Schema$DeleteFilterViewRequest { + /** + * The ID of the filter to delete. + */ + filterId?: number; + } + /** + * Removes the named range with the given ID from the spreadsheet. + */ + interface Schema$DeleteNamedRangeRequest { + /** + * The ID of the named range to delete. + */ + namedRangeId?: string; + } + /** + * Deletes the protected range with the given ID. + */ + interface Schema$DeleteProtectedRangeRequest { + /** + * The ID of the protected range to delete. + */ + protectedRangeId?: number; + } + /** + * Deletes a range of cells, shifting other cells into the deleted area. + */ + interface Schema$DeleteRangeRequest { + /** + * The range of cells to delete. + */ + range?: Schema$GridRange; + /** + * The dimension from which deleted cells will be replaced with. If ROWS, + * existing cells will be shifted upward to replace the deleted cells. If + * COLUMNS, existing cells will be shifted left to replace the deleted + * cells. + */ + shiftDimension?: string; + } + /** + * Deletes the requested sheet. + */ + interface Schema$DeleteSheetRequest { + /** + * The ID of the sheet to delete. + */ + sheetId?: number; + } + /** + * Developer metadata associated with a location or object in a spreadsheet. + * Developer metadata may be used to associate arbitrary data with various + * parts of a spreadsheet and will remain associated at those locations as + * they move around and the spreadsheet is edited. For example, if developer + * metadata is associated with row 5 and another row is then subsequently + * inserted above row 5, that original metadata will still be associated with + * the row it was first associated with (what is now row 6). If the associated + * object is deleted its metadata is deleted too. + */ + interface Schema$DeveloperMetadata { + /** + * The location where the metadata is associated. + */ + location?: Schema$DeveloperMetadataLocation; + /** + * The spreadsheet-scoped unique ID that identifies the metadata. IDs may be + * specified when metadata is created, otherwise one will be randomly + * generated and assigned. Must be positive. + */ + metadataId?: number; + /** + * The metadata key. There may be multiple metadata in a spreadsheet with + * the same key. Developer metadata must always have a key specified. + */ + metadataKey?: string; + /** + * Data associated with the metadata's key. + */ + metadataValue?: string; + /** + * The metadata visibility. Developer metadata must always have a + * visibility specified. + */ + visibility?: string; + } + /** + * A location where metadata may be associated in a spreadsheet. + */ + interface Schema$DeveloperMetadataLocation { + /** + * Represents the row or column when metadata is associated with a + * dimension. The specified DimensionRange must represent a single row or + * column; it cannot be unbounded or span multiple rows or columns. + */ + dimensionRange?: Schema$DimensionRange; + /** + * The type of location this object represents. This field is read-only. + */ + locationType?: string; + /** + * The ID of the sheet when metadata is associated with an entire sheet. + */ + sheetId?: number; + /** + * True when metadata is associated with an entire spreadsheet. + */ + spreadsheet?: boolean; + } + /** + * Selects DeveloperMetadata that matches all of the specified fields. For + * example, if only a metadata ID is specified this considers the + * DeveloperMetadata with that particular unique ID. If a metadata key is + * specified, this considers all developer metadata with that key. If a key, + * visibility, and location type are all specified, this considers all + * developer metadata with that key and visibility that are associated with a + * location of that type. In general, this selects all DeveloperMetadata that + * matches the intersection of all the specified fields; any field or + * combination of fields may be specified. + */ + interface Schema$DeveloperMetadataLookup { + /** + * Determines how this lookup matches the location. If this field is + * specified as EXACT, only developer metadata associated on the exact + * location specified is matched. If this field is specified to + * INTERSECTING, developer metadata associated on intersecting locations is + * also matched. If left unspecified, this field assumes a default value of + * INTERSECTING. If this field is specified, a metadataLocation must also be + * specified. + */ + locationMatchingStrategy?: string; + /** + * Limits the selected developer metadata to those entries which are + * associated with locations of the specified type. For example, when this + * field is specified as ROW this lookup only considers developer metadata + * associated on rows. If the field is left unspecified, all location types + * are considered. This field cannot be specified as SPREADSHEET when the + * locationMatchingStrategy is specified as INTERSECTING or when the + * metadataLocation is specified as a non-spreadsheet location: spreadsheet + * metadata cannot intersect any other developer metadata location. This + * field also must be left unspecified when the locationMatchingStrategy is + * specified as EXACT. + */ + locationType?: string; + /** + * Limits the selected developer metadata to that which has a matching + * DeveloperMetadata.metadata_id. + */ + metadataId?: number; + /** + * Limits the selected developer metadata to that which has a matching + * DeveloperMetadata.metadata_key. + */ + metadataKey?: string; + /** + * Limits the selected developer metadata to those entries associated with + * the specified location. This field either matches exact locations or all + * intersecting locations according the specified locationMatchingStrategy. + */ + metadataLocation?: Schema$DeveloperMetadataLocation; + /** + * Limits the selected developer metadata to that which has a matching + * DeveloperMetadata.metadata_value. + */ + metadataValue?: string; + /** + * Limits the selected developer metadata to that which has a matching + * DeveloperMetadata.visibility. If left unspecified, all developer + * metadata visibile to the requesting project is considered. + */ + visibility?: string; + } + /** + * A group over an interval of rows or columns on a sheet, which can contain + * or be contained within other groups. A group can be collapsed or expanded + * as a unit on the sheet. + */ + interface Schema$DimensionGroup { + /** + * This field is true if this group is collapsed. A collapsed group remains + * collapsed if an overlapping group at a shallower depth is expanded. A + * true value does not imply that all dimensions within the group are + * hidden, since a dimension's visibility can change independently from + * this group property. However, when this property is updated, all + * dimensions within it are set to hidden if this field is true, or set to + * visible if this field is false. + */ + collapsed?: boolean; + /** + * The depth of the group, representing how many groups have a range that + * wholly contains the range of this group. + */ + depth?: number; + /** + * The range over which this group exists. + */ + range?: Schema$DimensionRange; + } + /** + * Properties about a dimension. + */ + interface Schema$DimensionProperties { + /** + * The developer metadata associated with a single row or column. + */ + developerMetadata?: Schema$DeveloperMetadata[]; + /** + * True if this dimension is being filtered. This field is read-only. + */ + hiddenByFilter?: boolean; + /** + * True if this dimension is explicitly hidden. + */ + hiddenByUser?: boolean; + /** + * The height (if a row) or width (if a column) of the dimension in pixels. + */ + pixelSize?: number; + } + /** + * A range along a single dimension on a sheet. All indexes are zero-based. + * Indexes are half open: the start index is inclusive and the end index is + * exclusive. Missing indexes indicate the range is unbounded on that side. + */ + interface Schema$DimensionRange { + /** + * The dimension of the span. + */ + dimension?: string; + /** + * The end (exclusive) of the span, or not set if unbounded. + */ + endIndex?: number; + /** + * The sheet this span is on. + */ + sheetId?: number; + /** + * The start (inclusive) of the span, or not set if unbounded. + */ + startIndex?: number; + } + /** + * Duplicates a particular filter view. + */ + interface Schema$DuplicateFilterViewRequest { + /** + * The ID of the filter being duplicated. + */ + filterId?: number; + } + /** + * The result of a filter view being duplicated. + */ + interface Schema$DuplicateFilterViewResponse { + /** + * The newly created filter. + */ + filter?: Schema$FilterView; + } + /** + * Duplicates the contents of a sheet. + */ + interface Schema$DuplicateSheetRequest { + /** + * The zero-based index where the new sheet should be inserted. The index of + * all sheets after this are incremented. + */ + insertSheetIndex?: number; + /** + * If set, the ID of the new sheet. If not set, an ID is chosen. If set, the + * ID must not conflict with any existing sheet ID. If set, it must be + * non-negative. + */ + newSheetId?: number; + /** + * The name of the new sheet. If empty, a new name is chosen for you. + */ + newSheetName?: string; + /** + * The sheet to duplicate. + */ + sourceSheetId?: number; + } + /** + * The result of duplicating a sheet. + */ + interface Schema$DuplicateSheetResponse { + /** + * The properties of the duplicate sheet. + */ + properties?: Schema$SheetProperties; + } + /** + * The editors of a protected range. + */ + interface Schema$Editors { + /** + * True if anyone in the document's domain has edit access to the + * protected range. Domain protection is only supported on documents within + * a domain. + */ + domainUsersCanEdit?: boolean; + /** + * The email addresses of groups with edit access to the protected range. + */ + groups?: string[]; + /** + * The email addresses of users with edit access to the protected range. + */ + users?: string[]; + } + /** + * A chart embedded in a sheet. + */ + interface Schema$EmbeddedChart { + /** + * The ID of the chart. + */ + chartId?: number; + /** + * The position of the chart. + */ + position?: Schema$EmbeddedObjectPosition; + /** + * The specification of the chart. + */ + spec?: Schema$ChartSpec; + } + /** + * The position of an embedded object such as a chart. + */ + interface Schema$EmbeddedObjectPosition { + /** + * If true, the embedded object is put on a new sheet whose ID is chosen for + * you. Used only when writing. + */ + newSheet?: boolean; + /** + * The position at which the object is overlaid on top of a grid. + */ + overlayPosition?: Schema$OverlayPosition; + /** + * The sheet this is on. Set only if the embedded object is on its own + * sheet. Must be non-negative. + */ + sheetId?: number; + } + /** + * An error in a cell. + */ + interface Schema$ErrorValue { + /** + * A message with more information about the error (in the spreadsheet's + * locale). + */ + message?: string; + /** + * The type of error. + */ + type?: string; + } + /** + * The kinds of value that a cell in a spreadsheet can have. + */ + interface Schema$ExtendedValue { + /** + * Represents a boolean value. + */ + boolValue?: boolean; + /** + * Represents an error. This field is read-only. + */ + errorValue?: Schema$ErrorValue; + /** + * Represents a formula. + */ + formulaValue?: string; + /** + * Represents a double value. Note: Dates, Times and DateTimes are + * represented as doubles in "serial number" format. + */ + numberValue?: number; + /** + * Represents a string value. Leading single quotes are not included. For + * example, if the user typed `'123` into the UI, this would be + * represented as a `stringValue` of `"123"`. + */ + stringValue?: string; + } + /** + * Criteria for showing/hiding rows in a filter or filter view. + */ + interface Schema$FilterCriteria { + /** + * A condition that must be true for values to be shown. (This does not + * override hiddenValues -- if a value is listed there, it will still be + * hidden.) + */ + condition?: Schema$BooleanCondition; + /** + * Values that should be hidden. + */ + hiddenValues?: string[]; + } + /** + * A filter view. + */ + interface Schema$FilterView { + /** + * The criteria for showing/hiding values per column. The map's key is + * the column index, and the value is the criteria for that column. + */ + criteria?: any; + /** + * The ID of the filter view. + */ + filterViewId?: number; + /** + * The named range this filter view is backed by, if any. When writing, + * only one of range or named_range_id may be set. + */ + namedRangeId?: string; + /** + * The range this filter view covers. When writing, only one of range or + * named_range_id may be set. + */ + range?: Schema$GridRange; + /** + * The sort order per column. Later specifications are used when values are + * equal in the earlier specifications. + */ + sortSpecs?: Schema$SortSpec[]; + /** + * The name of the filter view. + */ + title?: string; + } + /** + * Finds and replaces data in cells over a range, sheet, or all sheets. + */ + interface Schema$FindReplaceRequest { + /** + * True to find/replace over all sheets. + */ + allSheets?: boolean; + /** + * The value to search. + */ + find?: string; + /** + * True if the search should include cells with formulas. False to skip + * cells with formulas. + */ + includeFormulas?: boolean; + /** + * True if the search is case sensitive. + */ + matchCase?: boolean; + /** + * True if the find value should match the entire cell. + */ + matchEntireCell?: boolean; + /** + * The range to find/replace over. + */ + range?: Schema$GridRange; + /** + * The value to use as the replacement. + */ + replacement?: string; + /** + * True if the find value is a regex. The regular expression and replacement + * should follow Java regex rules at + * https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html. + * The replacement string is allowed to refer to capturing groups. For + * example, if one cell has the contents `"Google Sheets"` and + * another has `"Google Docs"`, then searching for `"o.* + * (.*)"` with a replacement of `"$1 Rocks"` would change the + * contents of the cells to `"GSheets Rocks"` and `"GDocs + * Rocks"` respectively. + */ + searchByRegex?: boolean; + /** + * The sheet to find/replace over. + */ + sheetId?: number; + } + /** + * The result of the find/replace. + */ + interface Schema$FindReplaceResponse { + /** + * The number of formula cells changed. + */ + formulasChanged?: number; + /** + * The number of occurrences (possibly multiple within a cell) changed. For + * example, if replacing `"e"` with `"o"` in + * `"Google Sheets"`, this would be `"3"` because + * `"Google Sheets"` -> `"Googlo Shoots"`. + */ + occurrencesChanged?: number; + /** + * The number of rows changed. + */ + rowsChanged?: number; + /** + * The number of sheets changed. + */ + sheetsChanged?: number; + /** + * The number of non-formula cells changed. + */ + valuesChanged?: number; + } + /** + * The request for retrieving a Spreadsheet. + */ + interface Schema$GetSpreadsheetByDataFilterRequest { + /** + * The DataFilters used to select which ranges to retrieve from the + * spreadsheet. + */ + dataFilters?: Schema$DataFilter[]; + /** + * True if grid data should be returned. This parameter is ignored if a + * field mask was set in the request. + */ + includeGridData?: boolean; + } + /** + * A rule that applies a gradient color scale format, based on the + * interpolation points listed. The format of a cell will vary based on its + * contents as compared to the values of the interpolation points. + */ + interface Schema$GradientRule { + /** + * The final interpolation point. + */ + maxpoint?: Schema$InterpolationPoint; + /** + * An optional midway interpolation point. + */ + midpoint?: Schema$InterpolationPoint; + /** + * The starting interpolation point. + */ + minpoint?: Schema$InterpolationPoint; + } + /** + * A coordinate in a sheet. All indexes are zero-based. + */ + interface Schema$GridCoordinate { + /** + * The column index of the coordinate. + */ + columnIndex?: number; + /** + * The row index of the coordinate. + */ + rowIndex?: number; + /** + * The sheet this coordinate is on. + */ + sheetId?: number; + } + /** + * Data in the grid, as well as metadata about the dimensions. + */ + interface Schema$GridData { + /** + * Metadata about the requested columns in the grid, starting with the + * column in start_column. + */ + columnMetadata?: Schema$DimensionProperties[]; + /** + * The data in the grid, one entry per row, starting with the row in + * startRow. The values in RowData will correspond to columns starting at + * start_column. + */ + rowData?: Schema$RowData[]; + /** + * Metadata about the requested rows in the grid, starting with the row in + * start_row. + */ + rowMetadata?: Schema$DimensionProperties[]; + /** + * The first column this GridData refers to, zero-based. + */ + startColumn?: number; + /** + * The first row this GridData refers to, zero-based. + */ + startRow?: number; + } + /** + * Properties of a grid. + */ + interface Schema$GridProperties { + /** + * The number of columns in the grid. + */ + columnCount?: number; + /** + * True if the column grouping control toggle is shown after the group. + */ + columnGroupControlAfter?: boolean; + /** + * The number of columns that are frozen in the grid. + */ + frozenColumnCount?: number; + /** + * The number of rows that are frozen in the grid. + */ + frozenRowCount?: number; + /** + * True if the grid isn't showing gridlines in the UI. + */ + hideGridlines?: boolean; + /** + * The number of rows in the grid. + */ + rowCount?: number; + /** + * True if the row grouping control toggle is shown after the group. + */ + rowGroupControlAfter?: boolean; + } + /** + * A range on a sheet. All indexes are zero-based. Indexes are half open, e.g + * the start index is inclusive and the end index is exclusive -- + * [start_index, end_index). Missing indexes indicate the range is unbounded + * on that side. For example, if `"Sheet1"` is sheet ID 0, then: + * `Sheet1!A1:A1 == sheet_id: 0, start_row_index: 0, + * end_row_index: 1, start_column_index: 0, + * end_column_index: 1` `Sheet1!A3:B4 == sheet_id: 0, start_row_index: 2, + * end_row_index: 4, start_column_index: 0, + * end_column_index: 2` `Sheet1!A:B == sheet_id: 0, start_column_index: 0, + * end_column_index: 2` `Sheet1!A5:B == sheet_id: 0, start_row_index: 4, + * start_column_index: 0, end_column_index: 2` `Sheet1 == sheet_id:0` The + * start index must always be less than or equal to the end index. If the + * start index equals the end index, then the range is empty. Empty ranges are + * typically not meaningful and are usually rendered in the UI as `#REF!`. + */ + interface Schema$GridRange { + /** + * The end column (exclusive) of the range, or not set if unbounded. + */ + endColumnIndex?: number; + /** + * The end row (exclusive) of the range, or not set if unbounded. + */ + endRowIndex?: number; + /** + * The sheet this range is on. + */ + sheetId?: number; + /** + * The start column (inclusive) of the range, or not set if unbounded. + */ + startColumnIndex?: number; + /** + * The start row (inclusive) of the range, or not set if unbounded. + */ + startRowIndex?: number; + } + /** + * A <a + * href="/chart/interactive/docs/gallery/histogram">histogram + * chart</a>. A histogram chart groups data items into bins, displaying + * each bin as a column of stacked items. Histograms are used to display the + * distribution of a dataset. Each column of items represents a range into + * which those items fall. The number of bins can be chosen automatically or + * specified explicitly. + */ + interface Schema$HistogramChartSpec { + /** + * By default the bucket size (the range of values stacked in a single + * column) is chosen automatically, but it may be overridden here. E.g., A + * bucket size of 1.5 results in buckets from 0 - 1.5, 1.5 - 3.0, etc. + * Cannot be negative. This field is optional. + */ + bucketSize?: number; + /** + * The position of the chart legend. + */ + legendPosition?: string; + /** + * The outlier percentile is used to ensure that outliers do not adversely + * affect the calculation of bucket sizes. For example, setting an outlier + * percentile of 0.05 indicates that the top and bottom 5% of values when + * calculating buckets. The values are still included in the chart, they + * will be added to the first or last buckets instead of their own buckets. + * Must be between 0.0 and 0.5. + */ + outlierPercentile?: number; + /** + * The series for a histogram may be either a single series of values to be + * bucketed or multiple series, each of the same length, containing the name + * of the series followed by the values to be bucketed for that series. + */ + series?: Schema$HistogramSeries[]; + /** + * Whether horizontal divider lines should be displayed between items in + * each column. + */ + showItemDividers?: boolean; + } + /** + * Allows you to organize the numeric values in a source data column into + * buckets of a constant size. All values from HistogramRule.start to + * HistogramRule.end are placed into groups of size HistogramRule.interval. In + * addition, all values below HistogramRule.start are placed in one group, and + * all values above HistogramRule.end are placed in another. Only + * HistogramRule.interval is required, though if HistogramRule.start and + * HistogramRule.end are both provided, HistogramRule.start must be less than + * HistogramRule.end. For example, a pivot table showing average purchase + * amount by age that has 50+ rows: +-----+-------------------+ | Age + * | AVERAGE of Amount | +-----+-------------------+ | 16 | $27.13 | + * | 17 | $5.24 | | 18 | $20.15 | ... + * +-----+-------------------+ could be turned into a pivot table that looks + * like the one below by applying a histogram group rule with a + * HistogramRule.start of 25, an HistogramRule.interval of 20, and an + * HistogramRule.end of 65. +-------------+-------------------+ | + * Grouped Age | AVERAGE of Amount | +-------------+-------------------+ + * | < 25 | $19.34 | | 25-45 | $31.43 | | + * 45-65 | $35.87 | | > 65 | $27.55 + * | +-------------+-------------------+ | Grand Total | $29.12 | + * +-------------+-------------------+ + */ + interface Schema$HistogramRule { + /** + * The maximum value at which items are placed into buckets of constant + * size. Values above end are lumped into a single bucket. This field is + * optional. + */ + end?: number; + /** + * The size of the buckets that are created. Must be positive. + */ + interval?: number; + /** + * The minimum value at which items are placed into buckets of constant + * size. Values below start are lumped into a single bucket. This field is + * optional. + */ + start?: number; + } + /** + * A histogram series containing the series color and data. + */ + interface Schema$HistogramSeries { + /** + * The color of the column representing this series in each bucket. This + * field is optional. + */ + barColor?: Schema$Color; + /** + * The data for this histogram series. + */ + data?: Schema$ChartData; + } + /** + * Inserts rows or columns in a sheet at a particular index. + */ + interface Schema$InsertDimensionRequest { + /** + * Whether dimension properties should be extended from the dimensions + * before or after the newly inserted dimensions. True to inherit from the + * dimensions before (in which case the start index must be greater than 0), + * and false to inherit from the dimensions after. For example, if row + * index 0 has red background and row index 1 has a green background, then + * inserting 2 rows at index 1 can inherit either the green or red + * background. If `inheritFromBefore` is true, the two new rows will be red + * (because the row before the insertion point was red), whereas if + * `inheritFromBefore` is false, the two new rows will be green (because the + * row after the insertion point was green). + */ + inheritFromBefore?: boolean; + /** + * The dimensions to insert. Both the start and end indexes must be + * bounded. + */ + range?: Schema$DimensionRange; + } + /** + * Inserts cells into a range, shifting the existing cells over or down. + */ + interface Schema$InsertRangeRequest { + /** + * The range to insert new cells into. + */ + range?: Schema$GridRange; + /** + * The dimension which will be shifted when inserting cells. If ROWS, + * existing cells will be shifted down. If COLUMNS, existing cells will be + * shifted right. + */ + shiftDimension?: string; + } + /** + * A single interpolation point on a gradient conditional format. These pin + * the gradient color scale according to the color, type and value chosen. + */ + interface Schema$InterpolationPoint { + /** + * The color this interpolation point should use. + */ + color?: Schema$Color; + /** + * How the value should be interpreted. + */ + type?: string; + /** + * The value this interpolation point uses. May be a formula. Unused if + * type is MIN or MAX. + */ + value?: string; + } + /** + * Settings to control how circular dependencies are resolved with iterative + * calculation. + */ + interface Schema$IterativeCalculationSettings { + /** + * When iterative calculation is enabled and successive results differ by + * less than this threshold value, the calculation rounds stop. + */ + convergenceThreshold?: number; + /** + * When iterative calculation is enabled, the maximum number of calculation + * rounds to perform. + */ + maxIterations?: number; + } + /** + * Properties that describe the style of a line. + */ + interface Schema$LineStyle { + /** + * The dash type of the line. + */ + type?: string; + /** + * The thickness of the line, in px. + */ + width?: number; + } + /** + * Allows you to manually organize the values in a source data column into + * buckets with names of your choosing. For example, a pivot table that + * aggregates population by state: +-------+-------------------+ | + * State | SUM of Population | +-------+-------------------+ | AK | + * 0.7 | | AL | 4.8 | | AR | 2.9 | + * ... +-------+-------------------+ could be turned into a pivot table + * that aggregates population by time zone by providing a list of groups (for + * example, groupName = 'Central', items = ['AL', + * 'AR', 'IA', ...]) to a manual group rule. Note that a + * similar effect could be achieved by adding a time zone column to the source + * data and adjusting the pivot table. +-----------+-------------------+ + * | Time Zone | SUM of Population | +-----------+-------------------+ | + * Central | 106.3 | | Eastern | 151.9 | | + * Mountain | 17.4 | ... +-----------+-------------------+ + */ + interface Schema$ManualRule { + /** + * The list of group names and the corresponding items from the source data + * that map to each group name. + */ + groups?: Schema$ManualRuleGroup[]; + } + /** + * A group name and a list of items from the source data that should be placed + * in the group with this name. + */ + interface Schema$ManualRuleGroup { + /** + * The group name, which must be a string. Each group in a given ManualRule + * must have a unique group name. + */ + groupName?: Schema$ExtendedValue; + /** + * The items in the source data that should be placed into this group. Each + * item may be a string, number, or boolean. Items may appear in at most one + * group within a given ManualRule. Items that do not appear in any group + * will appear on their own. + */ + items?: Schema$ExtendedValue[]; + } + /** + * A developer metadata entry and the data filters specified in the original + * request that matched it. + */ + interface Schema$MatchedDeveloperMetadata { + /** + * All filters matching the returned developer metadata. + */ + dataFilters?: Schema$DataFilter[]; + /** + * The developer metadata matching the specified filters. + */ + developerMetadata?: Schema$DeveloperMetadata; + } + /** + * A value range that was matched by one or more data filers. + */ + interface Schema$MatchedValueRange { + /** + * The DataFilters from the request that matched the range of values. + */ + dataFilters?: Schema$DataFilter[]; + /** + * The values matched by the DataFilter. + */ + valueRange?: Schema$ValueRange; + } + /** + * Merges all cells in the range. + */ + interface Schema$MergeCellsRequest { + /** + * How the cells should be merged. + */ + mergeType?: string; + /** + * The range of cells to merge. + */ + range?: Schema$GridRange; + } + /** + * Moves one or more rows or columns. + */ + interface Schema$MoveDimensionRequest { + /** + * The zero-based start index of where to move the source data to, based on + * the coordinates *before* the source data is removed from the grid. + * Existing data will be shifted down or right (depending on the dimension) + * to make room for the moved dimensions. The source dimensions are removed + * from the grid, so the the data may end up in a different index than + * specified. For example, given `A1..A5` of `0, 1, 2, 3, 4` and wanting to + * move `"1"` and `"2"` to between `"3"` and + * `"4"`, the source would be `ROWS [1..3)`,and the destination + * index would be `"4"` (the zero-based index of row 5). The end + * result would be `A1..A5` of `0, 3, 1, 2, 4`. + */ + destinationIndex?: number; + /** + * The source dimensions to move. + */ + source?: Schema$DimensionRange; + } + /** + * A named range. + */ + interface Schema$NamedRange { + /** + * The name of the named range. + */ + name?: string; + /** + * The ID of the named range. + */ + namedRangeId?: string; + /** + * The range this represents. + */ + range?: Schema$GridRange; + } + /** + * The number format of a cell. + */ + interface Schema$NumberFormat { + /** + * Pattern string used for formatting. If not set, a default pattern based + * on the user's locale will be used if necessary for the given type. + * See the [Date and Number Formats guide](/sheets/api/guides/formats) for + * more information about the supported patterns. + */ + pattern?: string; + /** + * The type of the number format. When writing, this field must be set. + */ + type?: string; + } + /** + * An <a href="/chart/interactive/docs/gallery/orgchart">org + * chart</a>. Org charts require a unique set of labels in labels and + * may optionally include parent_labels and tooltips. parent_labels contain, + * for each node, the label identifying the parent node. tooltips contain, + * for each node, an optional tooltip. For example, to describe an OrgChart + * with Alice as the CEO, Bob as the President (reporting to Alice) and Cathy + * as VP of Sales (also reporting to Alice), have labels contain + * "Alice", "Bob", "Cathy", parent_labels + * contain "", "Alice", "Alice" and tooltips + * contain "CEO", "President", "VP Sales". + */ + interface Schema$OrgChartSpec { + /** + * The data containing the labels for all the nodes in the chart. Labels + * must be unique. + */ + labels?: Schema$ChartData; + /** + * The color of the org chart nodes. + */ + nodeColor?: Schema$Color; + /** + * The size of the org chart nodes. + */ + nodeSize?: string; + /** + * The data containing the label of the parent for the corresponding node. A + * blank value indicates that the node has no parent and is a top-level + * node. This field is optional. + */ + parentLabels?: Schema$ChartData; + /** + * The color of the selected org chart nodes. + */ + selectedNodeColor?: Schema$Color; + /** + * The data containing the tooltip for the corresponding node. A blank + * value results in no tooltip being displayed for the node. This field is + * optional. + */ + tooltips?: Schema$ChartData; + } + /** + * The location an object is overlaid on top of a grid. + */ + interface Schema$OverlayPosition { + /** + * The cell the object is anchored to. + */ + anchorCell?: Schema$GridCoordinate; + /** + * The height of the object, in pixels. Defaults to 371. + */ + heightPixels?: number; + /** + * The horizontal offset, in pixels, that the object is offset from the + * anchor cell. + */ + offsetXPixels?: number; + /** + * The vertical offset, in pixels, that the object is offset from the anchor + * cell. + */ + offsetYPixels?: number; + /** + * The width of the object, in pixels. Defaults to 600. + */ + widthPixels?: number; + } + /** + * The amount of padding around the cell, in pixels. When updating padding, + * every field must be specified. + */ + interface Schema$Padding { + /** + * The bottom padding of the cell. + */ + bottom?: number; + /** + * The left padding of the cell. + */ + left?: number; + /** + * The right padding of the cell. + */ + right?: number; + /** + * The top padding of the cell. + */ + top?: number; + } + /** + * Inserts data into the spreadsheet starting at the specified coordinate. + */ + interface Schema$PasteDataRequest { + /** + * The coordinate at which the data should start being inserted. + */ + coordinate?: Schema$GridCoordinate; + /** + * The data to insert. + */ + data?: string; + /** + * The delimiter in the data. + */ + delimiter?: string; + /** + * True if the data is HTML. + */ + html?: boolean; + /** + * How the data should be pasted. + */ + type?: string; + } + /** + * A <a href="/chart/interactive/docs/gallery/piechart">pie + * chart</a>. + */ + interface Schema$PieChartSpec { + /** + * The data that covers the domain of the pie chart. + */ + domain?: Schema$ChartData; + /** + * Where the legend of the pie chart should be drawn. + */ + legendPosition?: string; + /** + * The size of the hole in the pie chart. + */ + pieHole?: number; + /** + * The data that covers the one and only series of the pie chart. + */ + series?: Schema$ChartData; + /** + * True if the pie is three dimensional. + */ + threeDimensional?: boolean; + } + /** + * Criteria for showing/hiding rows in a pivot table. + */ + interface Schema$PivotFilterCriteria { + /** + * Values that should be included. Values not listed here are excluded. + */ + visibleValues?: string[]; + } + /** + * A single grouping (either row or column) in a pivot table. + */ + interface Schema$PivotGroup { + /** + * The group rule to apply to this row/column group. + */ + groupRule?: Schema$PivotGroupRule; + /** + * The labels to use for the row/column groups which can be customized. For + * example, in the following pivot table, the row label is `Region` (which + * could be renamed to `State`) and the column label is `Product` (which + * could be renamed `Item`). Pivot tables created before December 2017 do + * not have header labels. If you'd like to add header labels to an + * existing pivot table, please delete the existing pivot table and then + * create a new pivot table with same parameters. + * +--------------+---------+-------+ | SUM of Units | Product | | + * | Region | Pen | Paper | +--------------+---------+-------+ + * | New York | 345 | 98 | | Oregon | 234 | 123 | + * | Tennessee | 531 | 415 | +--------------+---------+-------+ + * | Grand Total | 1110 | 636 | +--------------+---------+-------+ + */ + label?: string; + /** + * True if the headings in this pivot group should be repeated. This is only + * valid for row groupings and is ignored by columns. By default, we + * minimize repitition of headings by not showing higher level headings + * where they are the same. For example, even though the third row below + * corresponds to "Q1 Mar", "Q1" is not shown because it + * is redundant with previous rows. Setting repeat_headings to true would + * cause "Q1" to be repeated for "Feb" and + * "Mar". +--------------+ | Q1 | Jan | | | Feb | + * | | Mar | +--------+-----+ | Q1 Total | + * +--------------+ + */ + repeatHeadings?: boolean; + /** + * True if the pivot table should include the totals for this grouping. + */ + showTotals?: boolean; + /** + * The order the values in this group should be sorted. + */ + sortOrder?: string; + /** + * The column offset of the source range that this grouping is based on. For + * example, if the source was `C10:E15`, a `sourceColumnOffset` of `0` means + * this group refers to column `C`, whereas the offset `1` would refer to + * column `D`. + */ + sourceColumnOffset?: number; + /** + * The bucket of the opposite pivot group to sort by. If not specified, + * sorting is alphabetical by this group's values. + */ + valueBucket?: Schema$PivotGroupSortValueBucket; + /** + * Metadata about values in the grouping. + */ + valueMetadata?: Schema$PivotGroupValueMetadata[]; + } + /** + * An optional setting on a PivotGroup that defines buckets for the values in + * the source data column rather than breaking out each individual value. Only + * one PivotGroup with a group rule may be added for each column in the source + * data, though on any given column you may add both a PivotGroup that has a + * rule and a PivotGroup that does not. + */ + interface Schema$PivotGroupRule { + /** + * A DateTimeRule. + */ + dateTimeRule?: Schema$DateTimeRule; + /** + * A HistogramRule. + */ + histogramRule?: Schema$HistogramRule; + /** + * A ManualRule. + */ + manualRule?: Schema$ManualRule; + } + /** + * Information about which values in a pivot group should be used for sorting. + */ + interface Schema$PivotGroupSortValueBucket { + /** + * Determines the bucket from which values are chosen to sort. For example, + * in a pivot table with one row group & two column groups, the row + * group can list up to two values. The first value corresponds to a value + * within the first column group, and the second value corresponds to a + * value in the second column group. If no values are listed, this would + * indicate that the row should be sorted according to the "Grand + * Total" over the column groups. If a single value is listed, this + * would correspond to using the "Total" of that bucket. + */ + buckets?: Schema$ExtendedValue[]; + /** + * The offset in the PivotTable.values list which the values in this + * grouping should be sorted by. + */ + valuesIndex?: number; + } + /** + * Metadata about a value in a pivot grouping. + */ + interface Schema$PivotGroupValueMetadata { + /** + * True if the data corresponding to the value is collapsed. + */ + collapsed?: boolean; + /** + * The calculated value the metadata corresponds to. (Note that formulaValue + * is not valid, because the values will be calculated.) + */ + value?: Schema$ExtendedValue; + } + /** + * A pivot table. + */ + interface Schema$PivotTable { + /** + * Each column grouping in the pivot table. + */ + columns?: Schema$PivotGroup[]; + /** + * An optional mapping of filters per source column offset. The filters are + * applied before aggregating data into the pivot table. The map's key + * is the column offset of the source range that you want to filter, and the + * value is the criteria for that column. For example, if the source was + * `C10:E15`, a key of `0` will have the filter for column `C`, whereas the + * key `1` is for column `D`. + */ + criteria?: any; + /** + * Each row grouping in the pivot table. + */ + rows?: Schema$PivotGroup[]; + /** + * The range the pivot table is reading data from. + */ + source?: Schema$GridRange; + /** + * Whether values should be listed horizontally (as columns) or vertically + * (as rows). + */ + valueLayout?: string; + /** + * A list of values to include in the pivot table. + */ + values?: Schema$PivotValue[]; + } + /** + * The definition of how a value in a pivot table should be calculated. + */ + interface Schema$PivotValue { + /** + * If specified, indicates that pivot values should be displayed as the + * result of a calculation with another pivot value. For example, if + * calculated_display_type is specified as PERCENT_OF_GRAND_TOTAL, all the + * pivot values are displayed as the percentage of the grand total. In the + * Sheets UI, this is referred to as "Show As" in the value + * section of a pivot table. + */ + calculatedDisplayType?: string; + /** + * A custom formula to calculate the value. The formula must start with an + * `=` character. + */ + formula?: string; + /** + * A name to use for the value. + */ + name?: string; + /** + * The column offset of the source range that this value reads from. For + * example, if the source was `C10:E15`, a `sourceColumnOffset` of `0` means + * this value refers to column `C`, whereas the offset `1` would refer to + * column `D`. + */ + sourceColumnOffset?: number; + /** + * A function to summarize the value. If formula is set, the only supported + * values are SUM and CUSTOM. If sourceColumnOffset is set, then `CUSTOM` is + * not supported. + */ + summarizeFunction?: string; + } + /** + * A protected range. + */ + interface Schema$ProtectedRange { + /** + * The description of this protected range. + */ + description?: string; + /** + * The users and groups with edit access to the protected range. This field + * is only visible to users with edit access to the protected range and the + * document. Editors are not supported with warning_only protection. + */ + editors?: Schema$Editors; + /** + * The named range this protected range is backed by, if any. When writing, + * only one of range or named_range_id may be set. + */ + namedRangeId?: string; + /** + * The ID of the protected range. This field is read-only. + */ + protectedRangeId?: number; + /** + * The range that is being protected. The range may be fully unbounded, in + * which case this is considered a protected sheet. When writing, only one + * of range or named_range_id may be set. + */ + range?: Schema$GridRange; + /** + * True if the user who requested this protected range can edit the + * protected area. This field is read-only. + */ + requestingUserCanEdit?: boolean; + /** + * The list of unprotected ranges within a protected sheet. Unprotected + * ranges are only supported on protected sheets. + */ + unprotectedRanges?: Schema$GridRange[]; + /** + * True if this protected range will show a warning when editing. + * Warning-based protection means that every user can edit data in the + * protected range, except editing will prompt a warning asking the user to + * confirm the edit. When writing: if this field is true, then editors is + * ignored. Additionally, if this field is changed from true to false and + * the `editors` field is not set (nor included in the field mask), then the + * editors will be set to all the editors in the document. + */ + warningOnly?: boolean; + } + /** + * Randomizes the order of the rows in a range. + */ + interface Schema$RandomizeRangeRequest { + /** + * The range to randomize. + */ + range?: Schema$GridRange; + } + /** + * Updates all cells in the range to the values in the given Cell object. Only + * the fields listed in the fields field are updated; others are unchanged. If + * writing a cell with a formula, the formula's ranges will automatically + * increment for each field in the range. For example, if writing a cell with + * formula `=A1` into range B2:C4, B2 would be `=A1`, B3 would be `=A2`, B4 + * would be `=A3`, C2 would be `=B1`, C3 would be `=B2`, C4 would be `=B3`. To + * keep the formula's ranges static, use the `$` indicator. For example, + * use the formula `=$A$1` to prevent both the row and the column from + * incrementing. + */ + interface Schema$RepeatCellRequest { + /** + * The data to write. + */ + cell?: Schema$CellData; + /** + * The fields that should be updated. At least one field must be specified. + * The root `cell` is implied and should not be specified. A single + * `"*"` can be used as short-hand for listing every field. + */ + fields?: string; + /** + * The range to repeat the cell in. + */ + range?: Schema$GridRange; + } + /** + * A single kind of update to apply to a spreadsheet. + */ + interface Schema$Request { + /** + * Adds a new banded range + */ + addBanding?: Schema$AddBandingRequest; + /** + * Adds a chart. + */ + addChart?: Schema$AddChartRequest; + /** + * Adds a new conditional format rule. + */ + addConditionalFormatRule?: Schema$AddConditionalFormatRuleRequest; + /** + * Creates a group over the specified range. + */ + addDimensionGroup?: Schema$AddDimensionGroupRequest; + /** + * Adds a filter view. + */ + addFilterView?: Schema$AddFilterViewRequest; + /** + * Adds a named range. + */ + addNamedRange?: Schema$AddNamedRangeRequest; + /** + * Adds a protected range. + */ + addProtectedRange?: Schema$AddProtectedRangeRequest; + /** + * Adds a sheet. + */ + addSheet?: Schema$AddSheetRequest; + /** + * Appends cells after the last row with data in a sheet. + */ + appendCells?: Schema$AppendCellsRequest; + /** + * Appends dimensions to the end of a sheet. + */ + appendDimension?: Schema$AppendDimensionRequest; + /** + * Automatically fills in more data based on existing data. + */ + autoFill?: Schema$AutoFillRequest; + /** + * Automatically resizes one or more dimensions based on the contents of the + * cells in that dimension. + */ + autoResizeDimensions?: Schema$AutoResizeDimensionsRequest; + /** + * Clears the basic filter on a sheet. + */ + clearBasicFilter?: Schema$ClearBasicFilterRequest; + /** + * Copies data from one area and pastes it to another. + */ + copyPaste?: Schema$CopyPasteRequest; + /** + * Creates new developer metadata + */ + createDeveloperMetadata?: Schema$CreateDeveloperMetadataRequest; + /** + * Cuts data from one area and pastes it to another. + */ + cutPaste?: Schema$CutPasteRequest; + /** + * Removes a banded range + */ + deleteBanding?: Schema$DeleteBandingRequest; + /** + * Deletes an existing conditional format rule. + */ + deleteConditionalFormatRule?: Schema$DeleteConditionalFormatRuleRequest; + /** + * Deletes developer metadata + */ + deleteDeveloperMetadata?: Schema$DeleteDeveloperMetadataRequest; + /** + * Deletes rows or columns in a sheet. + */ + deleteDimension?: Schema$DeleteDimensionRequest; + /** + * Deletes a group over the specified range. + */ + deleteDimensionGroup?: Schema$DeleteDimensionGroupRequest; + /** + * Deletes an embedded object (e.g, chart, image) in a sheet. + */ + deleteEmbeddedObject?: Schema$DeleteEmbeddedObjectRequest; + /** + * Deletes a filter view from a sheet. + */ + deleteFilterView?: Schema$DeleteFilterViewRequest; + /** + * Deletes a named range. + */ + deleteNamedRange?: Schema$DeleteNamedRangeRequest; + /** + * Deletes a protected range. + */ + deleteProtectedRange?: Schema$DeleteProtectedRangeRequest; + /** + * Deletes a range of cells from a sheet, shifting the remaining cells. + */ + deleteRange?: Schema$DeleteRangeRequest; + /** + * Deletes a sheet. + */ + deleteSheet?: Schema$DeleteSheetRequest; + /** + * Duplicates a filter view. + */ + duplicateFilterView?: Schema$DuplicateFilterViewRequest; + /** + * Duplicates a sheet. + */ + duplicateSheet?: Schema$DuplicateSheetRequest; + /** + * Finds and replaces occurrences of some text with other text. + */ + findReplace?: Schema$FindReplaceRequest; + /** + * Inserts new rows or columns in a sheet. + */ + insertDimension?: Schema$InsertDimensionRequest; + /** + * Inserts new cells in a sheet, shifting the existing cells. + */ + insertRange?: Schema$InsertRangeRequest; + /** + * Merges cells together. + */ + mergeCells?: Schema$MergeCellsRequest; + /** + * Moves rows or columns to another location in a sheet. + */ + moveDimension?: Schema$MoveDimensionRequest; + /** + * Pastes data (HTML or delimited) into a sheet. + */ + pasteData?: Schema$PasteDataRequest; + /** + * Randomizes the order of the rows in a range. + */ + randomizeRange?: Schema$RandomizeRangeRequest; + /** + * Repeats a single cell across a range. + */ + repeatCell?: Schema$RepeatCellRequest; + /** + * Sets the basic filter on a sheet. + */ + setBasicFilter?: Schema$SetBasicFilterRequest; + /** + * Sets data validation for one or more cells. + */ + setDataValidation?: Schema$SetDataValidationRequest; + /** + * Sorts data in a range. + */ + sortRange?: Schema$SortRangeRequest; + /** + * Converts a column of text into many columns of text. + */ + textToColumns?: Schema$TextToColumnsRequest; + /** + * Unmerges merged cells. + */ + unmergeCells?: Schema$UnmergeCellsRequest; + /** + * Updates a banded range + */ + updateBanding?: Schema$UpdateBandingRequest; + /** + * Updates the borders in a range of cells. + */ + updateBorders?: Schema$UpdateBordersRequest; + /** + * Updates many cells at once. + */ + updateCells?: Schema$UpdateCellsRequest; + /** + * Updates a chart's specifications. + */ + updateChartSpec?: Schema$UpdateChartSpecRequest; + /** + * Updates an existing conditional format rule. + */ + updateConditionalFormatRule?: Schema$UpdateConditionalFormatRuleRequest; + /** + * Updates an existing developer metadata entry + */ + updateDeveloperMetadata?: Schema$UpdateDeveloperMetadataRequest; + /** + * Updates the state of the specified group. + */ + updateDimensionGroup?: Schema$UpdateDimensionGroupRequest; + /** + * Updates dimensions' properties. + */ + updateDimensionProperties?: Schema$UpdateDimensionPropertiesRequest; + /** + * Updates an embedded object's (e.g. chart, image) position. + */ + updateEmbeddedObjectPosition?: Schema$UpdateEmbeddedObjectPositionRequest; + /** + * Updates the properties of a filter view. + */ + updateFilterView?: Schema$UpdateFilterViewRequest; + /** + * Updates a named range. + */ + updateNamedRange?: Schema$UpdateNamedRangeRequest; + /** + * Updates a protected range. + */ + updateProtectedRange?: Schema$UpdateProtectedRangeRequest; + /** + * Updates a sheet's properties. + */ + updateSheetProperties?: Schema$UpdateSheetPropertiesRequest; + /** + * Updates the spreadsheet's properties. + */ + updateSpreadsheetProperties?: Schema$UpdateSpreadsheetPropertiesRequest; + } + /** + * A single response from an update. + */ + interface Schema$Response { + /** + * A reply from adding a banded range. + */ + addBanding?: Schema$AddBandingResponse; + /** + * A reply from adding a chart. + */ + addChart?: Schema$AddChartResponse; + /** + * A reply from adding a dimension group. + */ + addDimensionGroup?: Schema$AddDimensionGroupResponse; + /** + * A reply from adding a filter view. + */ + addFilterView?: Schema$AddFilterViewResponse; + /** + * A reply from adding a named range. + */ + addNamedRange?: Schema$AddNamedRangeResponse; + /** + * A reply from adding a protected range. + */ + addProtectedRange?: Schema$AddProtectedRangeResponse; + /** + * A reply from adding a sheet. + */ + addSheet?: Schema$AddSheetResponse; + /** + * A reply from creating a developer metadata entry. + */ + createDeveloperMetadata?: Schema$CreateDeveloperMetadataResponse; + /** + * A reply from deleting a conditional format rule. + */ + deleteConditionalFormatRule?: Schema$DeleteConditionalFormatRuleResponse; + /** + * A reply from deleting a developer metadata entry. + */ + deleteDeveloperMetadata?: Schema$DeleteDeveloperMetadataResponse; + /** + * A reply from deleting a dimension group. + */ + deleteDimensionGroup?: Schema$DeleteDimensionGroupResponse; + /** + * A reply from duplicating a filter view. + */ + duplicateFilterView?: Schema$DuplicateFilterViewResponse; + /** + * A reply from duplicating a sheet. + */ + duplicateSheet?: Schema$DuplicateSheetResponse; + /** + * A reply from doing a find/replace. + */ + findReplace?: Schema$FindReplaceResponse; + /** + * A reply from updating a conditional format rule. + */ + updateConditionalFormatRule?: Schema$UpdateConditionalFormatRuleResponse; + /** + * A reply from updating a developer metadata entry. + */ + updateDeveloperMetadata?: Schema$UpdateDeveloperMetadataResponse; + /** + * A reply from updating an embedded object's position. + */ + updateEmbeddedObjectPosition?: Schema$UpdateEmbeddedObjectPositionResponse; + } + /** + * Data about each cell in a row. + */ + interface Schema$RowData { + /** + * The values in the row, one per column. + */ + values?: Schema$CellData[]; + } + /** + * A request to retrieve all developer metadata matching the set of specified + * criteria. + */ + interface Schema$SearchDeveloperMetadataRequest { + /** + * The data filters describing the criteria used to determine which + * DeveloperMetadata entries to return. DeveloperMetadata matching any of + * the specified filters will be included in the response. + */ + dataFilters?: Schema$DataFilter[]; + } + /** + * A reply to a developer metadata search request. + */ + interface Schema$SearchDeveloperMetadataResponse { + /** + * The metadata matching the criteria of the search request. + */ + matchedDeveloperMetadata?: Schema$MatchedDeveloperMetadata[]; + } + /** + * Sets the basic filter associated with a sheet. + */ + interface Schema$SetBasicFilterRequest { + /** + * The filter to set. + */ + filter?: Schema$BasicFilter; + } + /** + * Sets a data validation rule to every cell in the range. To clear validation + * in a range, call this with no rule specified. + */ + interface Schema$SetDataValidationRequest { + /** + * The range the data validation rule should apply to. + */ + range?: Schema$GridRange; + /** + * The data validation rule to set on each cell in the range, or empty to + * clear the data validation in the range. + */ + rule?: Schema$DataValidationRule; + } + /** + * A sheet in a spreadsheet. + */ + interface Schema$Sheet { + /** + * The banded (alternating colors) ranges on this sheet. + */ + bandedRanges?: Schema$BandedRange[]; + /** + * The filter on this sheet, if any. + */ + basicFilter?: Schema$BasicFilter; + /** + * The specifications of every chart on this sheet. + */ + charts?: Schema$EmbeddedChart[]; + /** + * All column groups on this sheet, ordered by increasing range start index, + * then by group depth. + */ + columnGroups?: Schema$DimensionGroup[]; + /** + * The conditional format rules in this sheet. + */ + conditionalFormats?: Schema$ConditionalFormatRule[]; + /** + * Data in the grid, if this is a grid sheet. The number of GridData objects + * returned is dependent on the number of ranges requested on this sheet. + * For example, if this is representing `Sheet1`, and the spreadsheet was + * requested with ranges `Sheet1!A1:C10` and `Sheet1!D15:E20`, then the + * first GridData will have a startRow/startColumn of `0`, while the second + * one will have `startRow 14` (zero-based row 15), and `startColumn 3` + * (zero-based column D). + */ + data?: Schema$GridData[]; + /** + * The developer metadata associated with a sheet. + */ + developerMetadata?: Schema$DeveloperMetadata[]; + /** + * The filter views in this sheet. + */ + filterViews?: Schema$FilterView[]; + /** + * The ranges that are merged together. + */ + merges?: Schema$GridRange[]; + /** + * The properties of the sheet. + */ + properties?: Schema$SheetProperties; + /** + * The protected ranges in this sheet. + */ + protectedRanges?: Schema$ProtectedRange[]; + /** + * All row groups on this sheet, ordered by increasing range start index, + * then by group depth. + */ + rowGroups?: Schema$DimensionGroup[]; + } + /** + * Properties of a sheet. + */ + interface Schema$SheetProperties { + /** + * Additional properties of the sheet if this sheet is a grid. (If the sheet + * is an object sheet, containing a chart or image, then this field will be + * absent.) When writing it is an error to set any grid properties on + * non-grid sheets. + */ + gridProperties?: Schema$GridProperties; + /** + * True if the sheet is hidden in the UI, false if it's visible. + */ + hidden?: boolean; + /** + * The index of the sheet within the spreadsheet. When adding or updating + * sheet properties, if this field is excluded then the sheet is added or + * moved to the end of the sheet list. When updating sheet indices or + * inserting sheets, movement is considered in "before the move" + * indexes. For example, if there were 3 sheets (S1, S2, S3) in order to + * move S1 ahead of S2 the index would have to be set to 2. A sheet index + * update request is ignored if the requested index is identical to the + * sheets current index or if the requested new index is equal to the + * current sheet index + 1. + */ + index?: number; + /** + * True if the sheet is an RTL sheet instead of an LTR sheet. + */ + rightToLeft?: boolean; + /** + * The ID of the sheet. Must be non-negative. This field cannot be changed + * once set. + */ + sheetId?: number; + /** + * The type of sheet. Defaults to GRID. This field cannot be changed once + * set. + */ + sheetType?: string; + /** + * The color of the tab in the UI. + */ + tabColor?: Schema$Color; + /** + * The name of the sheet. + */ + title?: string; + } + /** + * Sorts data in rows based on a sort order per column. + */ + interface Schema$SortRangeRequest { + /** + * The range to sort. + */ + range?: Schema$GridRange; + /** + * The sort order per column. Later specifications are used when values are + * equal in the earlier specifications. + */ + sortSpecs?: Schema$SortSpec[]; + } + /** + * A sort order associated with a specific column or row. + */ + interface Schema$SortSpec { + /** + * The dimension the sort should be applied to. + */ + dimensionIndex?: number; + /** + * The order data should be sorted. + */ + sortOrder?: string; + } + /** + * A combination of a source range and how to extend that source. + */ + interface Schema$SourceAndDestination { + /** + * The dimension that data should be filled into. + */ + dimension?: string; + /** + * The number of rows or columns that data should be filled into. Positive + * numbers expand beyond the last row or last column of the source. Negative + * numbers expand before the first row or first column of the source. + */ + fillLength?: number; + /** + * The location of the data to use as the source of the autofill. + */ + source?: Schema$GridRange; + } + /** + * Resource that represents a spreadsheet. + */ + interface Schema$Spreadsheet { + /** + * The developer metadata associated with a spreadsheet. + */ + developerMetadata?: Schema$DeveloperMetadata[]; + /** + * The named ranges defined in a spreadsheet. + */ + namedRanges?: Schema$NamedRange[]; + /** + * Overall properties of a spreadsheet. + */ + properties?: Schema$SpreadsheetProperties; + /** + * The sheets that are part of a spreadsheet. + */ + sheets?: Schema$Sheet[]; + /** + * The ID of the spreadsheet. This field is read-only. + */ + spreadsheetId?: string; + /** + * The url of the spreadsheet. This field is read-only. + */ + spreadsheetUrl?: string; + } + /** + * Properties of a spreadsheet. + */ + interface Schema$SpreadsheetProperties { + /** + * The amount of time to wait before volatile functions are recalculated. + */ + autoRecalc?: string; + /** + * The default format of all cells in the spreadsheet. + * CellData.effectiveFormat will not be set if the cell's format is + * equal to this default format. This field is read-only. + */ + defaultFormat?: Schema$CellFormat; + /** + * Determines whether and how circular references are resolved with + * iterative calculation. Absence of this field means that circular + * references will result in calculation errors. + */ + iterativeCalculationSettings?: Schema$IterativeCalculationSettings; + /** + * The locale of the spreadsheet in one of the following formats: * an ISO + * 639-1 language code such as `en` * an ISO 639-2 language code such as + * `fil`, if no 639-1 code exists * a combination of the ISO language code + * and country code, such as `en_US` Note: when updating this field, not + * all locales/languages are supported. + */ + locale?: string; + /** + * The time zone of the spreadsheet, in CLDR format such as + * `America/New_York`. If the time zone isn't recognized, this may be a + * custom time zone such as `GMT-07:00`. + */ + timeZone?: string; + /** + * The title of the spreadsheet. + */ + title?: string; + } + /** + * The format of a run of text in a cell. Absent values indicate that the + * field isn't specified. + */ + interface Schema$TextFormat { + /** + * True if the text is bold. + */ + bold?: boolean; + /** + * The font family. + */ + fontFamily?: string; + /** + * The size of the font. + */ + fontSize?: number; + /** + * The foreground color of the text. + */ + foregroundColor?: Schema$Color; + /** + * True if the text is italicized. + */ + italic?: boolean; + /** + * True if the text has a strikethrough. + */ + strikethrough?: boolean; + /** + * True if the text is underlined. + */ + underline?: boolean; + } + /** + * A run of a text format. The format of this run continues until the start + * index of the next run. When updating, all fields must be set. + */ + interface Schema$TextFormatRun { + /** + * The format of this run. Absent values inherit the cell's format. + */ + format?: Schema$TextFormat; + /** + * The character index where this run starts. + */ + startIndex?: number; + } + /** + * Position settings for text. + */ + interface Schema$TextPosition { + /** + * Horizontal alignment setting for the piece of text. + */ + horizontalAlignment?: string; + } + /** + * The rotation applied to text in a cell. + */ + interface Schema$TextRotation { + /** + * The angle between the standard orientation and the desired orientation. + * Measured in degrees. Valid values are between -90 and 90. Positive angles + * are angled upwards, negative are angled downwards. Note: For LTR text + * direction positive angles are in the counterclockwise direction, whereas + * for RTL they are in the clockwise direction + */ + angle?: number; + /** + * If true, text reads top to bottom, but the orientation of individual + * characters is unchanged. For example: | V | | e | | r | | t + * | | i | | c | | a | | l | + */ + vertical?: boolean; + } + /** + * Splits a column of text into multiple columns, based on a delimiter in each + * cell. + */ + interface Schema$TextToColumnsRequest { + /** + * The delimiter to use. Used only if delimiterType is CUSTOM. + */ + delimiter?: string; + /** + * The delimiter type to use. + */ + delimiterType?: string; + /** + * The source data range. This must span exactly one column. + */ + source?: Schema$GridRange; + } + /** + * A color scale for a treemap chart. + */ + interface Schema$TreemapChartColorScale { + /** + * The background color for cells with a color value greater than or equal + * to maxValue. Defaults to #109618 if not specified. + */ + maxValueColor?: Schema$Color; + /** + * The background color for cells with a color value at the midpoint between + * minValue and maxValue. Defaults to #efe6dc if not specified. + */ + midValueColor?: Schema$Color; + /** + * The background color for cells with a color value less than or equal to + * minValue. Defaults to #dc3912 if not specified. + */ + minValueColor?: Schema$Color; + /** + * The background color for cells that have no color data associated with + * them. Defaults to #000000 if not specified. + */ + noDataColor?: Schema$Color; + } + /** + * A <a href="/chart/interactive/docs/gallery/treemap">Treemap + * chart</a>. + */ + interface Schema$TreemapChartSpec { + /** + * The data that determines the background color of each treemap data cell. + * This field is optional. If not specified, size_data is used to determine + * background colors. If specified, the data is expected to be numeric. + * color_scale will determine how the values in this data map to data cell + * background colors. + */ + colorData?: Schema$ChartData; + /** + * The color scale for data cells in the treemap chart. Data cells are + * assigned colors based on their color values. These color values come from + * color_data, or from size_data if color_data is not specified. Cells with + * color values less than or equal to min_value will have minValueColor as + * their background color. Cells with color values greater than or equal to + * max_value will have maxValueColor as their background color. Cells with + * color values between min_value and max_value will have background colors + * on a gradient between minValueColor and maxValueColor, the midpoint of + * the gradient being midValueColor. Cells with missing or non-numeric color + * values will have noDataColor as their background color. + */ + colorScale?: Schema$TreemapChartColorScale; + /** + * The background color for header cells. + */ + headerColor?: Schema$Color; + /** + * True to hide tooltips. + */ + hideTooltips?: boolean; + /** + * The number of additional data levels beyond the labeled levels to be + * shown on the treemap chart. These levels are not interactive and are + * shown without their labels. Defaults to 0 if not specified. + */ + hintedLevels?: number; + /** + * The data that contains the treemap cell labels. + */ + labels?: Schema$ChartData; + /** + * The number of data levels to show on the treemap chart. These levels are + * interactive and are shown with their labels. Defaults to 2 if not + * specified. + */ + levels?: number; + /** + * The maximum possible data value. Cells with values greater than this will + * have the same color as cells with this value. If not specified, defaults + * to the actual maximum value from color_data, or the maximum value from + * size_data if color_data is not specified. + */ + maxValue?: number; + /** + * The minimum possible data value. Cells with values less than this will + * have the same color as cells with this value. If not specified, defaults + * to the actual minimum value from color_data, or the minimum value from + * size_data if color_data is not specified. + */ + minValue?: number; + /** + * The data the contains the treemap cells' parent labels. + */ + parentLabels?: Schema$ChartData; + /** + * The data that determines the size of each treemap data cell. This data is + * expected to be numeric. The cells corresponding to non-numeric or missing + * data will not be rendered. If color_data is not specified, this data is + * used to determine data cell background colors as well. + */ + sizeData?: Schema$ChartData; + /** + * The text format for all labels on the chart. + */ + textFormat?: Schema$TextFormat; + } + /** + * Unmerges cells in the given range. + */ + interface Schema$UnmergeCellsRequest { + /** + * The range within which all cells should be unmerged. If the range spans + * multiple merges, all will be unmerged. The range must not partially span + * any merge. + */ + range?: Schema$GridRange; + } + /** + * Updates properties of the supplied banded range. + */ + interface Schema$UpdateBandingRequest { + /** + * The banded range to update with the new properties. + */ + bandedRange?: Schema$BandedRange; + /** + * The fields that should be updated. At least one field must be specified. + * The root `bandedRange` is implied and should not be specified. A single + * `"*"` can be used as short-hand for listing every field. + */ + fields?: string; + } + /** + * Updates the borders of a range. If a field is not set in the request, that + * means the border remains as-is. For example, with two subsequent + * UpdateBordersRequest: 1. range: A1:A5 `{ top: RED, bottom: WHITE }` 2. + * range: A1:A5 `{ left: BLUE }` That would result in A1:A5 having a borders + * of `{ top: RED, bottom: WHITE, left: BLUE }`. If you want to clear a + * border, explicitly set the style to NONE. + */ + interface Schema$UpdateBordersRequest { + /** + * The border to put at the bottom of the range. + */ + bottom?: Schema$Border; + /** + * The horizontal border to put within the range. + */ + innerHorizontal?: Schema$Border; + /** + * The vertical border to put within the range. + */ + innerVertical?: Schema$Border; + /** + * The border to put at the left of the range. + */ + left?: Schema$Border; + /** + * The range whose borders should be updated. + */ + range?: Schema$GridRange; + /** + * The border to put at the right of the range. + */ + right?: Schema$Border; + /** + * The border to put at the top of the range. + */ + top?: Schema$Border; + } + /** + * Updates all cells in a range with new data. + */ + interface Schema$UpdateCellsRequest { + /** + * The fields of CellData that should be updated. At least one field must be + * specified. The root is the CellData; 'row.values.' should not be + * specified. A single `"*"` can be used as short-hand for listing + * every field. + */ + fields?: string; + /** + * The range to write data to. If the data in rows does not cover the + * entire requested range, the fields matching those set in fields will be + * cleared. + */ + range?: Schema$GridRange; + /** + * The data to write. + */ + rows?: Schema$RowData[]; + /** + * The coordinate to start writing data at. Any number of rows and columns + * (including a different number of columns per row) may be written. + */ + start?: Schema$GridCoordinate; + } + /** + * Updates a chart's specifications. (This does not move or resize a + * chart. To move or resize a chart, use UpdateEmbeddedObjectPositionRequest.) + */ + interface Schema$UpdateChartSpecRequest { + /** + * The ID of the chart to update. + */ + chartId?: number; + /** + * The specification to apply to the chart. + */ + spec?: Schema$ChartSpec; + } + /** + * Updates a conditional format rule at the given index, or moves a + * conditional format rule to another index. + */ + interface Schema$UpdateConditionalFormatRuleRequest { + /** + * The zero-based index of the rule that should be replaced or moved. + */ + index?: number; + /** + * The zero-based new index the rule should end up at. + */ + newIndex?: number; + /** + * The rule that should replace the rule at the given index. + */ + rule?: Schema$ConditionalFormatRule; + /** + * The sheet of the rule to move. Required if new_index is set, unused + * otherwise. + */ + sheetId?: number; + } + /** + * The result of updating a conditional format rule. + */ + interface Schema$UpdateConditionalFormatRuleResponse { + /** + * The index of the new rule. + */ + newIndex?: number; + /** + * The new rule that replaced the old rule (if replacing), or the rule that + * was moved (if moved) + */ + newRule?: Schema$ConditionalFormatRule; + /** + * The old index of the rule. Not set if a rule was replaced (because it is + * the same as new_index). + */ + oldIndex?: number; + /** + * The old (deleted) rule. Not set if a rule was moved (because it is the + * same as new_rule). + */ + oldRule?: Schema$ConditionalFormatRule; + } + /** + * A request to update properties of developer metadata. Updates the + * properties of the developer metadata selected by the filters to the values + * provided in the DeveloperMetadata resource. Callers must specify the + * properties they wish to update in the fields parameter, as well as specify + * at least one DataFilter matching the metadata they wish to update. + */ + interface Schema$UpdateDeveloperMetadataRequest { + /** + * The filters matching the developer metadata entries to update. + */ + dataFilters?: Schema$DataFilter[]; + /** + * The value that all metadata matched by the data filters will be updated + * to. + */ + developerMetadata?: Schema$DeveloperMetadata; + /** + * The fields that should be updated. At least one field must be specified. + * The root `developerMetadata` is implied and should not be specified. A + * single `"*"` can be used as short-hand for listing every field. + */ + fields?: string; + } + /** + * The response from updating developer metadata. + */ + interface Schema$UpdateDeveloperMetadataResponse { + /** + * The updated developer metadata. + */ + developerMetadata?: Schema$DeveloperMetadata[]; + } + /** + * Updates the state of the specified group. + */ + interface Schema$UpdateDimensionGroupRequest { + /** + * The group whose state should be updated. The range and depth of the group + * should specify a valid group on the sheet, and all other fields updated. + */ + dimensionGroup?: Schema$DimensionGroup; + /** + * The fields that should be updated. At least one field must be specified. + * The root `dimensionGroup` is implied and should not be specified. A + * single `"*"` can be used as short-hand for listing every field. + */ + fields?: string; + } + /** + * Updates properties of dimensions within the specified range. + */ + interface Schema$UpdateDimensionPropertiesRequest { + /** + * The fields that should be updated. At least one field must be specified. + * The root `properties` is implied and should not be specified. A single + * `"*"` can be used as short-hand for listing every field. + */ + fields?: string; + /** + * Properties to update. + */ + properties?: Schema$DimensionProperties; + /** + * The rows or columns to update. + */ + range?: Schema$DimensionRange; + } + /** + * Update an embedded object's position (such as a moving or resizing a + * chart or image). + */ + interface Schema$UpdateEmbeddedObjectPositionRequest { + /** + * The fields of OverlayPosition that should be updated when setting a new + * position. Used only if newPosition.overlayPosition is set, in which case + * at least one field must be specified. The root + * `newPosition.overlayPosition` is implied and should not be specified. A + * single `"*"` can be used as short-hand for listing every field. + */ + fields?: string; + /** + * An explicit position to move the embedded object to. If + * newPosition.sheetId is set, a new sheet with that ID will be created. If + * newPosition.newSheet is set to true, a new sheet will be created with an + * ID that will be chosen for you. + */ + newPosition?: Schema$EmbeddedObjectPosition; + /** + * The ID of the object to moved. + */ + objectId?: number; + } + /** + * The result of updating an embedded object's position. + */ + interface Schema$UpdateEmbeddedObjectPositionResponse { + /** + * The new position of the embedded object. + */ + position?: Schema$EmbeddedObjectPosition; + } + /** + * Updates properties of the filter view. + */ + interface Schema$UpdateFilterViewRequest { + /** + * The fields that should be updated. At least one field must be specified. + * The root `filter` is implied and should not be specified. A single + * `"*"` can be used as short-hand for listing every field. + */ + fields?: string; + /** + * The new properties of the filter view. + */ + filter?: Schema$FilterView; + } + /** + * Updates properties of the named range with the specified namedRangeId. + */ + interface Schema$UpdateNamedRangeRequest { + /** + * The fields that should be updated. At least one field must be specified. + * The root `namedRange` is implied and should not be specified. A single + * `"*"` can be used as short-hand for listing every field. + */ + fields?: string; + /** + * The named range to update with the new properties. + */ + namedRange?: Schema$NamedRange; + } + /** + * Updates an existing protected range with the specified protectedRangeId. + */ + interface Schema$UpdateProtectedRangeRequest { + /** + * The fields that should be updated. At least one field must be specified. + * The root `protectedRange` is implied and should not be specified. A + * single `"*"` can be used as short-hand for listing every field. + */ + fields?: string; + /** + * The protected range to update with the new properties. + */ + protectedRange?: Schema$ProtectedRange; + } + /** + * Updates properties of the sheet with the specified sheetId. + */ + interface Schema$UpdateSheetPropertiesRequest { + /** + * The fields that should be updated. At least one field must be specified. + * The root `properties` is implied and should not be specified. A single + * `"*"` can be used as short-hand for listing every field. + */ + fields?: string; + /** + * The properties to update. + */ + properties?: Schema$SheetProperties; + } + /** + * Updates properties of a spreadsheet. + */ + interface Schema$UpdateSpreadsheetPropertiesRequest { + /** + * The fields that should be updated. At least one field must be specified. + * The root 'properties' is implied and should not be specified. A + * single `"*"` can be used as short-hand for listing every field. + */ + fields?: string; + /** + * The properties to update. + */ + properties?: Schema$SpreadsheetProperties; + } + /** + * The response when updating a range of values by a data filter in a + * spreadsheet. + */ + interface Schema$UpdateValuesByDataFilterResponse { + /** + * The data filter that selected the range that was updated. + */ + dataFilter?: Schema$DataFilter; + /** + * The number of cells updated. + */ + updatedCells?: number; + /** + * The number of columns where at least one cell in the column was updated. + */ + updatedColumns?: number; + /** + * The values of the cells in the range matched by the dataFilter after all + * updates were applied. This is only included if the request's + * `includeValuesInResponse` field was `true`. + */ + updatedData?: Schema$ValueRange; + /** + * The range (in A1 notation) that updates were applied to. + */ + updatedRange?: string; + /** + * The number of rows where at least one cell in the row was updated. + */ + updatedRows?: number; + } + /** + * The response when updating a range of values in a spreadsheet. + */ + interface Schema$UpdateValuesResponse { + /** + * The spreadsheet the updates were applied to. + */ + spreadsheetId?: string; + /** + * The number of cells updated. + */ + updatedCells?: number; + /** + * The number of columns where at least one cell in the column was updated. + */ + updatedColumns?: number; + /** + * The values of the cells after updates were applied. This is only included + * if the request's `includeValuesInResponse` field was `true`. + */ + updatedData?: Schema$ValueRange; + /** + * The range (in A1 notation) that updates were applied to. + */ + updatedRange?: string; + /** + * The number of rows where at least one cell in the row was updated. + */ + updatedRows?: number; + } + /** + * Data within a range of the spreadsheet. + */ + interface Schema$ValueRange { + /** + * The major dimension of the values. For output, if the spreadsheet data + * is: `A1=1,B1=2,A2=3,B2=4`, then requesting + * `range=A1:B2,majorDimension=ROWS` will return `[[1,2],[3,4]]`, whereas + * requesting `range=A1:B2,majorDimension=COLUMNS` will return + * `[[1,3],[2,4]]`. For input, with `range=A1:B2,majorDimension=ROWS` then + * `[[1,2],[3,4]]` will set `A1=1,B1=2,A2=3,B2=4`. With + * `range=A1:B2,majorDimension=COLUMNS` then `[[1,2],[3,4]]` will set + * `A1=1,B1=3,A2=2,B2=4`. When writing, if this field is not set, it + * defaults to ROWS. + */ + majorDimension?: string; + /** + * The range the values cover, in A1 notation. For output, this range + * indicates the entire requested range, even though the values will exclude + * trailing rows and columns. When appending values, this field represents + * the range to search for a table, after which values will be appended. + */ + range?: string; + /** + * The data that was read or to be written. This is an array of arrays, the + * outer array representing all the data and each inner array representing a + * major dimension. Each item in the inner array corresponds with one cell. + * For output, empty trailing rows and columns will not be included. For + * input, supported value types are: bool, string, and double. Null values + * will be skipped. To set a cell to an empty value, set the string value to + * an empty string. + */ + values?: any[][]; + } + /** + * Styles for a waterfall chart column. + */ + interface Schema$WaterfallChartColumnStyle { + /** + * The color of the column. + */ + color?: Schema$Color; + /** + * The label of the column's legend. + */ + label?: string; + } + /** + * A custom subtotal column for a waterfall chart series. + */ + interface Schema$WaterfallChartCustomSubtotal { + /** + * True if the data point at subtotal_index is the subtotal. If false, the + * subtotal will be computed and appear after the data point. + */ + dataIsSubtotal?: boolean; + /** + * A label for the subtotal column. + */ + label?: string; + /** + * The 0-based index of a data point within the series. If data_is_subtotal + * is true, the data point at this index is the subtotal. Otherwise, the + * subtotal appears after the data point with this index. A series can have + * multiple subtotals at arbitrary indices, but subtotals do not affect the + * indices of the data points. For example, if a series has three data + * points, their indices will always be 0, 1, and 2, regardless of how many + * subtotals exist on the series or what data points they are associated + * with. + */ + subtotalIndex?: number; + } + /** + * The domain of a waterfall chart. + */ + interface Schema$WaterfallChartDomain { + /** + * The data of the WaterfallChartDomain. + */ + data?: Schema$ChartData; + /** + * True to reverse the order of the domain values (horizontal axis). + */ + reversed?: boolean; + } + /** + * A single series of data for a waterfall chart. + */ + interface Schema$WaterfallChartSeries { + /** + * Custom subtotal columns appearing in this series. The order in which + * subtotals are defined is not significant. Only one subtotal may be + * defined for each data point. + */ + customSubtotals?: Schema$WaterfallChartCustomSubtotal[]; + /** + * The data being visualized in this series. + */ + data?: Schema$ChartData; + /** + * True to hide the subtotal column from the end of the series. By default, + * a subtotal column will appear at the end of each series. Setting this + * field to true will hide that subtotal column for this series. + */ + hideTrailingSubtotal?: boolean; + /** + * Styles for all columns in this series with negative values. + */ + negativeColumnsStyle?: Schema$WaterfallChartColumnStyle; + /** + * Styles for all columns in this series with positive values. + */ + positiveColumnsStyle?: Schema$WaterfallChartColumnStyle; + /** + * Styles for all subtotal columns in this series. + */ + subtotalColumnsStyle?: Schema$WaterfallChartColumnStyle; + } + /** + * A waterfall chart. + */ + interface Schema$WaterfallChartSpec { + /** + * The line style for the connector lines. + */ + connectorLineStyle?: Schema$LineStyle; + /** + * The domain data (horizontal axis) for the waterfall chart. + */ + domain?: Schema$WaterfallChartDomain; + /** + * True to interpret the first value as a total. + */ + firstValueIsTotal?: boolean; + /** + * True to hide connector lines between columns. + */ + hideConnectorLines?: boolean; + /** + * The data this waterfall chart is visualizing. + */ + series?: Schema$WaterfallChartSeries[]; + /** + * The stacked type. + */ + stackedType?: string; + } + class Resource$Spreadsheets { + root: Sheets; + developerMetadata: Resource$Spreadsheets$Developermetadata; + sheets: Resource$Spreadsheets$Sheets; + values: Resource$Spreadsheets$Values; + constructor(root: Sheets); + getRoot(): Sheets; + /** + * sheets.spreadsheets.batchUpdate + * @desc Applies one or more updates to the spreadsheet. Each request is + * validated before being applied. If any request is not valid then the + * entire request will fail and nothing will be applied. Some requests have + * replies to give you some information about how they are applied. The + * replies will mirror the requests. For example, if you applied 4 updates + * and the 3rd one had a reply, then the response will have 2 empty replies, + * the actual reply, and another empty reply, in that order. Due to the + * collaborative nature of spreadsheets, it is not guaranteed that the + * spreadsheet will reflect exactly your changes after this completes, + * however it is guaranteed that the updates in the request will be applied + * together atomically. Your changes may be altered with respect to + * collaborator changes. If there are no collaborators, the spreadsheet + * should reflect your changes. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Sheets API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/sheets + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var sheets = google.sheets('v4'); + * + * authorize(function(authClient) { + * var request = { + * // The spreadsheet to apply the updates to. + * spreadsheetId: 'my-spreadsheet-id', // TODO: Update placeholder + * value. + * + * resource: { + * // A list of updates to apply to the spreadsheet. + * // Requests will be applied in the order they are specified. + * // If any request is not valid, no requests will be applied. + * requests: [], // TODO: Update placeholder value. + * + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * sheets.spreadsheets.batchUpdate(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/sheets/quickstart/nodejs#step_3_set_up_the_sample + * // + * // Authorize using one of the following scopes: + * // 'https://www.googleapis.com/auth/drive' + * // 'https://www.googleapis.com/auth/drive.file' + * // 'https://www.googleapis.com/auth/spreadsheets' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias sheets.spreadsheets.batchUpdate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.spreadsheetId The spreadsheet to apply the updates to. + * @param {().BatchUpdateSpreadsheetRequest} 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 + */ + batchUpdate(params?: Params$Resource$Spreadsheets$Batchupdate, options?: MethodOptions): AxiosPromise; + batchUpdate(params: Params$Resource$Spreadsheets$Batchupdate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + batchUpdate(params: Params$Resource$Spreadsheets$Batchupdate, callback: BodyResponseCallback): void; + batchUpdate(callback: BodyResponseCallback): void; + /** + * sheets.spreadsheets.create + * @desc Creates a spreadsheet, returning the newly created spreadsheet. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Sheets API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/sheets + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var sheets = google.sheets('v4'); + * + * authorize(function(authClient) { + * var request = { + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * sheets.spreadsheets.create(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/sheets/quickstart/nodejs#step_3_set_up_the_sample + * // + * // Authorize using one of the following scopes: + * // 'https://www.googleapis.com/auth/drive' + * // 'https://www.googleapis.com/auth/drive.file' + * // 'https://www.googleapis.com/auth/spreadsheets' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias sheets.spreadsheets.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().Spreadsheet} 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 + */ + create(params?: Params$Resource$Spreadsheets$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Spreadsheets$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Spreadsheets$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * sheets.spreadsheets.get + * @desc Returns the spreadsheet at the given ID. The caller must specify + * the spreadsheet ID. By default, data within grids will not be returned. + * You can include grid data one of two ways: * Specify a field mask + * listing your desired fields using the `fields` URL parameter in HTTP * + * Set the includeGridData URL parameter to true. If a field mask is set, + * the `includeGridData` parameter is ignored For large spreadsheets, it is + * recommended to retrieve only the specific fields of the spreadsheet that + * you want. To retrieve only subsets of the spreadsheet, use the ranges + * URL parameter. Multiple ranges can be specified. Limiting the range will + * return only the portions of the spreadsheet that intersect the requested + * ranges. Ranges are specified using A1 notation. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Sheets API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/sheets + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var sheets = google.sheets('v4'); + * + * authorize(function(authClient) { + * var request = { + * // The spreadsheet to request. + * spreadsheetId: 'my-spreadsheet-id', // TODO: Update placeholder + * value. + * + * // The ranges to retrieve from the spreadsheet. + * ranges: [], // TODO: Update placeholder value. + * + * // True if grid data should be returned. + * // This parameter is ignored if a field mask was set in the request. + * includeGridData: false, // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * sheets.spreadsheets.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/sheets/quickstart/nodejs#step_3_set_up_the_sample + * // + * // Authorize using one of the following scopes: + * // 'https://www.googleapis.com/auth/drive' + * // 'https://www.googleapis.com/auth/drive.file' + * // 'https://www.googleapis.com/auth/drive.readonly' + * // 'https://www.googleapis.com/auth/spreadsheets' + * // 'https://www.googleapis.com/auth/spreadsheets.readonly' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias sheets.spreadsheets.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.includeGridData True if grid data should be returned. This parameter is ignored if a field mask was set in the request. + * @param {string=} params.ranges The ranges to retrieve from the spreadsheet. + * @param {string} params.spreadsheetId The spreadsheet to request. + * @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?: Params$Resource$Spreadsheets$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Spreadsheets$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Spreadsheets$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * sheets.spreadsheets.getByDataFilter + * @desc Returns the spreadsheet at the given ID. The caller must specify + * the spreadsheet ID. This method differs from GetSpreadsheet in that it + * allows selecting which subsets of spreadsheet data to return by + * specifying a dataFilters parameter. Multiple DataFilters can be + * specified. Specifying one or more data filters will return the portions + * of the spreadsheet that intersect ranges matched by any of the filters. + * By default, data within grids will not be returned. You can include grid + * data one of two ways: * Specify a field mask listing your desired fields + * using the `fields` URL parameter in HTTP * Set the includeGridData + * parameter to true. If a field mask is set, the `includeGridData` + * parameter is ignored For large spreadsheets, it is recommended to + * retrieve only the specific fields of the spreadsheet that you want. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Sheets API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/sheets + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var sheets = google.sheets('v4'); + * + * authorize(function(authClient) { + * var request = { + * // The spreadsheet to request. + * spreadsheetId: 'my-spreadsheet-id', // TODO: Update placeholder + * value. + * + * resource: { + * // The DataFilters used to select which ranges to retrieve from + * // the spreadsheet. + * dataFilters: [], // TODO: Update placeholder value. + * + * // True if grid data should be returned. + * // This parameter is ignored if a field mask was set in the + * request. includeGridData: false, // TODO: Update placeholder value. + * + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * sheets.spreadsheets.getByDataFilter(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/sheets/quickstart/nodejs#step_3_set_up_the_sample + * // + * // Authorize using one of the following scopes: + * // 'https://www.googleapis.com/auth/drive' + * // 'https://www.googleapis.com/auth/drive.file' + * // 'https://www.googleapis.com/auth/spreadsheets' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias sheets.spreadsheets.getByDataFilter + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.spreadsheetId The spreadsheet to request. + * @param {().GetSpreadsheetByDataFilterRequest} 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 + */ + getByDataFilter(params?: Params$Resource$Spreadsheets$Getbydatafilter, options?: MethodOptions): AxiosPromise; + getByDataFilter(params: Params$Resource$Spreadsheets$Getbydatafilter, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getByDataFilter(params: Params$Resource$Spreadsheets$Getbydatafilter, callback: BodyResponseCallback): void; + getByDataFilter(callback: BodyResponseCallback): void; + } + interface Params$Resource$Spreadsheets$Batchupdate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The spreadsheet to apply the updates to. + */ + spreadsheetId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BatchUpdateSpreadsheetRequest; + } + interface Params$Resource$Spreadsheets$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$Spreadsheet; + } + interface Params$Resource$Spreadsheets$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * True if grid data should be returned. This parameter is ignored if a + * field mask was set in the request. + */ + includeGridData?: boolean; + /** + * The ranges to retrieve from the spreadsheet. + */ + ranges?: string; + /** + * The spreadsheet to request. + */ + spreadsheetId?: string; + } + interface Params$Resource$Spreadsheets$Getbydatafilter { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The spreadsheet to request. + */ + spreadsheetId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GetSpreadsheetByDataFilterRequest; + } + class Resource$Spreadsheets$Developermetadata { + root: Sheets; + constructor(root: Sheets); + getRoot(): Sheets; + /** + * sheets.spreadsheets.developerMetadata.get + * @desc Returns the developer metadata with the specified ID. The caller + * must specify the spreadsheet ID and the developer metadata's unique + * metadataId. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Sheets API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/sheets + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var sheets = google.sheets('v4'); + * + * authorize(function(authClient) { + * var request = { + * // The ID of the spreadsheet to retrieve metadata from. + * spreadsheetId: 'my-spreadsheet-id', // TODO: Update placeholder + * value. + * + * // The ID of the developer metadata to retrieve. + * metadataId: 0, // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * sheets.spreadsheets.developerMetadata.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/sheets/quickstart/nodejs#step_3_set_up_the_sample + * // + * // Authorize using one of the following scopes: + * // 'https://www.googleapis.com/auth/drive' + * // 'https://www.googleapis.com/auth/drive.file' + * // 'https://www.googleapis.com/auth/spreadsheets' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias sheets.spreadsheets.developerMetadata.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.metadataId The ID of the developer metadata to retrieve. + * @param {string} params.spreadsheetId The ID of the spreadsheet to retrieve metadata from. + * @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?: Params$Resource$Spreadsheets$Developermetadata$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Spreadsheets$Developermetadata$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Spreadsheets$Developermetadata$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * sheets.spreadsheets.developerMetadata.search + * @desc Returns all developer metadata matching the specified DataFilter. + * If the provided DataFilter represents a DeveloperMetadataLookup object, + * this will return all DeveloperMetadata entries selected by it. If the + * DataFilter represents a location in a spreadsheet, this will return all + * developer metadata associated with locations intersecting that region. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Sheets API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/sheets + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var sheets = google.sheets('v4'); + * + * authorize(function(authClient) { + * var request = { + * // The ID of the spreadsheet to retrieve metadata from. + * spreadsheetId: 'my-spreadsheet-id', // TODO: Update placeholder + * value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * sheets.spreadsheets.developerMetadata.search(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/sheets/quickstart/nodejs#step_3_set_up_the_sample + * // + * // Authorize using one of the following scopes: + * // 'https://www.googleapis.com/auth/drive' + * // 'https://www.googleapis.com/auth/drive.file' + * // 'https://www.googleapis.com/auth/spreadsheets' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias sheets.spreadsheets.developerMetadata.search + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.spreadsheetId The ID of the spreadsheet to retrieve metadata from. + * @param {().SearchDeveloperMetadataRequest} 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 + */ + search(params?: Params$Resource$Spreadsheets$Developermetadata$Search, options?: MethodOptions): AxiosPromise; + search(params: Params$Resource$Spreadsheets$Developermetadata$Search, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + search(params: Params$Resource$Spreadsheets$Developermetadata$Search, callback: BodyResponseCallback): void; + search(callback: BodyResponseCallback): void; + } + interface Params$Resource$Spreadsheets$Developermetadata$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the developer metadata to retrieve. + */ + metadataId?: number; + /** + * The ID of the spreadsheet to retrieve metadata from. + */ + spreadsheetId?: string; + } + interface Params$Resource$Spreadsheets$Developermetadata$Search { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the spreadsheet to retrieve metadata from. + */ + spreadsheetId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SearchDeveloperMetadataRequest; + } + class Resource$Spreadsheets$Sheets { + root: Sheets; + constructor(root: Sheets); + getRoot(): Sheets; + /** + * sheets.spreadsheets.sheets.copyTo + * @desc Copies a single sheet from a spreadsheet to another spreadsheet. + * Returns the properties of the newly created sheet. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Sheets API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/sheets + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var sheets = google.sheets('v4'); + * + * authorize(function(authClient) { + * var request = { + * // The ID of the spreadsheet containing the sheet to copy. + * spreadsheetId: 'my-spreadsheet-id', // TODO: Update placeholder + * value. + * + * // The ID of the sheet to copy. + * sheetId: 0, // TODO: Update placeholder value. + * + * resource: { + * // The ID of the spreadsheet to copy the sheet to. + * destinationSpreadsheetId: '', // TODO: Update placeholder value. + * + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * sheets.spreadsheets.sheets.copyTo(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/sheets/quickstart/nodejs#step_3_set_up_the_sample + * // + * // Authorize using one of the following scopes: + * // 'https://www.googleapis.com/auth/drive' + * // 'https://www.googleapis.com/auth/drive.file' + * // 'https://www.googleapis.com/auth/spreadsheets' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias sheets.spreadsheets.sheets.copyTo + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.sheetId The ID of the sheet to copy. + * @param {string} params.spreadsheetId The ID of the spreadsheet containing the sheet to copy. + * @param {().CopySheetToAnotherSpreadsheetRequest} 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 + */ + copyTo(params?: Params$Resource$Spreadsheets$Sheets$Copyto, options?: MethodOptions): AxiosPromise; + copyTo(params: Params$Resource$Spreadsheets$Sheets$Copyto, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + copyTo(params: Params$Resource$Spreadsheets$Sheets$Copyto, callback: BodyResponseCallback): void; + copyTo(callback: BodyResponseCallback): void; + } + interface Params$Resource$Spreadsheets$Sheets$Copyto { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the sheet to copy. + */ + sheetId?: number; + /** + * The ID of the spreadsheet containing the sheet to copy. + */ + spreadsheetId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CopySheetToAnotherSpreadsheetRequest; + } + class Resource$Spreadsheets$Values { + root: Sheets; + constructor(root: Sheets); + getRoot(): Sheets; + /** + * sheets.spreadsheets.values.append + * @desc Appends values to a spreadsheet. The input range is used to search + * for existing data and find a "table" within that range. Values will be + * appended to the next row of the table, starting with the first column of + * the table. See the [guide](/sheets/api/guides/values#appending_values) + * and [sample code](/sheets/api/samples/writing#append_values) for specific + * details of how tables are detected and data is appended. The caller must + * specify the spreadsheet ID, range, and a valueInputOption. The + * `valueInputOption` only controls how the input data will be added to the + * sheet (column-wise or row-wise), it does not influence what cell the data + * starts being written to. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Sheets API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/sheets + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var sheets = google.sheets('v4'); + * + * authorize(function(authClient) { + * var request = { + * // The ID of the spreadsheet to update. + * spreadsheetId: 'my-spreadsheet-id', // TODO: Update placeholder + * value. + * + * // The A1 notation of a range to search for a logical table of data. + * // Values will be appended after the last row of the table. + * range: 'my-range', // TODO: Update placeholder value. + * + * // How the input data should be interpreted. + * valueInputOption: '', // TODO: Update placeholder value. + * + * // How the input data should be inserted. + * insertDataOption: '', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * sheets.spreadsheets.values.append(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/sheets/quickstart/nodejs#step_3_set_up_the_sample + * // + * // Authorize using one of the following scopes: + * // 'https://www.googleapis.com/auth/drive' + * // 'https://www.googleapis.com/auth/drive.file' + * // 'https://www.googleapis.com/auth/spreadsheets' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias sheets.spreadsheets.values.append + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.includeValuesInResponse Determines if the update response should include the values of the cells that were appended. By default, responses do not include the updated values. + * @param {string=} params.insertDataOption How the input data should be inserted. + * @param {string} params.range The A1 notation of a range to search for a logical table of data. Values will be appended after the last row of the table. + * @param {string=} params.responseDateTimeRenderOption Determines how dates, times, and durations in the response should be rendered. This is ignored if response_value_render_option is FORMATTED_VALUE. The default dateTime render option is [DateTimeRenderOption.SERIAL_NUMBER]. + * @param {string=} params.responseValueRenderOption Determines how values in the response should be rendered. The default render option is ValueRenderOption.FORMATTED_VALUE. + * @param {string} params.spreadsheetId The ID of the spreadsheet to update. + * @param {string=} params.valueInputOption How the input data should be interpreted. + * @param {().ValueRange} 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 + */ + append(params?: Params$Resource$Spreadsheets$Values$Append, options?: MethodOptions): AxiosPromise; + append(params: Params$Resource$Spreadsheets$Values$Append, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + append(params: Params$Resource$Spreadsheets$Values$Append, callback: BodyResponseCallback): void; + append(callback: BodyResponseCallback): void; + /** + * sheets.spreadsheets.values.batchClear + * @desc Clears one or more ranges of values from a spreadsheet. The caller + * must specify the spreadsheet ID and one or more ranges. Only values are + * cleared -- all other properties of the cell (such as formatting, data + * validation, etc..) are kept. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Sheets API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/sheets + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var sheets = google.sheets('v4'); + * + * authorize(function(authClient) { + * var request = { + * // The ID of the spreadsheet to update. + * spreadsheetId: 'my-spreadsheet-id', // TODO: Update placeholder + * value. + * + * resource: { + * // The ranges to clear, in A1 notation. + * ranges: [], // TODO: Update placeholder value. + * + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * sheets.spreadsheets.values.batchClear(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/sheets/quickstart/nodejs#step_3_set_up_the_sample + * // + * // Authorize using one of the following scopes: + * // 'https://www.googleapis.com/auth/drive' + * // 'https://www.googleapis.com/auth/drive.file' + * // 'https://www.googleapis.com/auth/spreadsheets' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias sheets.spreadsheets.values.batchClear + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.spreadsheetId The ID of the spreadsheet to update. + * @param {().BatchClearValuesRequest} 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 + */ + batchClear(params?: Params$Resource$Spreadsheets$Values$Batchclear, options?: MethodOptions): AxiosPromise; + batchClear(params: Params$Resource$Spreadsheets$Values$Batchclear, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + batchClear(params: Params$Resource$Spreadsheets$Values$Batchclear, callback: BodyResponseCallback): void; + batchClear(callback: BodyResponseCallback): void; + /** + * sheets.spreadsheets.values.batchClearByDataFilter + * @desc Clears one or more ranges of values from a spreadsheet. The caller + * must specify the spreadsheet ID and one or more DataFilters. Ranges + * matching any of the specified data filters will be cleared. Only values + * are cleared -- all other properties of the cell (such as formatting, data + * validation, etc..) are kept. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Sheets API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/sheets + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var sheets = google.sheets('v4'); + * + * authorize(function(authClient) { + * var request = { + * // The ID of the spreadsheet to update. + * spreadsheetId: 'my-spreadsheet-id', // TODO: Update placeholder + * value. + * + * resource: { + * // The DataFilters used to determine which ranges to clear. + * dataFilters: [], // TODO: Update placeholder value. + * + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * sheets.spreadsheets.values.batchClearByDataFilter(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/sheets/quickstart/nodejs#step_3_set_up_the_sample + * // + * // Authorize using one of the following scopes: + * // 'https://www.googleapis.com/auth/drive' + * // 'https://www.googleapis.com/auth/drive.file' + * // 'https://www.googleapis.com/auth/spreadsheets' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias sheets.spreadsheets.values.batchClearByDataFilter + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.spreadsheetId The ID of the spreadsheet to update. + * @param {().BatchClearValuesByDataFilterRequest} 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 + */ + batchClearByDataFilter(params?: Params$Resource$Spreadsheets$Values$Batchclearbydatafilter, options?: MethodOptions): AxiosPromise; + batchClearByDataFilter(params: Params$Resource$Spreadsheets$Values$Batchclearbydatafilter, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + batchClearByDataFilter(params: Params$Resource$Spreadsheets$Values$Batchclearbydatafilter, callback: BodyResponseCallback): void; + batchClearByDataFilter(callback: BodyResponseCallback): void; + /** + * sheets.spreadsheets.values.batchGet + * @desc Returns one or more ranges of values from a spreadsheet. The caller + * must specify the spreadsheet ID and one or more ranges. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Sheets API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/sheets + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var sheets = google.sheets('v4'); + * + * authorize(function(authClient) { + * var request = { + * // The ID of the spreadsheet to retrieve data from. + * spreadsheetId: 'my-spreadsheet-id', // TODO: Update placeholder + * value. + * + * // The A1 notation of the values to retrieve. + * ranges: [], // TODO: Update placeholder value. + * + * // How values should be represented in the output. + * // The default render option is ValueRenderOption.FORMATTED_VALUE. + * valueRenderOption: '', // TODO: Update placeholder value. + * + * // How dates, times, and durations should be represented in the + * output. + * // This is ignored if value_render_option is + * // FORMATTED_VALUE. + * // The default dateTime render option is + * [DateTimeRenderOption.SERIAL_NUMBER]. dateTimeRenderOption: '', // TODO: + * Update placeholder value. + * + * auth: authClient, + * }; + * + * sheets.spreadsheets.values.batchGet(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/sheets/quickstart/nodejs#step_3_set_up_the_sample + * // + * // Authorize using one of the following scopes: + * // 'https://www.googleapis.com/auth/drive' + * // 'https://www.googleapis.com/auth/drive.file' + * // 'https://www.googleapis.com/auth/drive.readonly' + * // 'https://www.googleapis.com/auth/spreadsheets' + * // 'https://www.googleapis.com/auth/spreadsheets.readonly' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias sheets.spreadsheets.values.batchGet + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.dateTimeRenderOption How dates, times, and durations should be represented in the output. This is ignored if value_render_option is FORMATTED_VALUE. The default dateTime render option is [DateTimeRenderOption.SERIAL_NUMBER]. + * @param {string=} params.majorDimension The major dimension that results should use. For example, if the spreadsheet data is: `A1=1,B1=2,A2=3,B2=4`, then requesting `range=A1:B2,majorDimension=ROWS` will return `[[1,2],[3,4]]`, whereas requesting `range=A1:B2,majorDimension=COLUMNS` will return `[[1,3],[2,4]]`. + * @param {string=} params.ranges The A1 notation of the values to retrieve. + * @param {string} params.spreadsheetId The ID of the spreadsheet to retrieve data from. + * @param {string=} params.valueRenderOption How values should be represented in the output. The default render option is ValueRenderOption.FORMATTED_VALUE. + * @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 + */ + batchGet(params?: Params$Resource$Spreadsheets$Values$Batchget, options?: MethodOptions): AxiosPromise; + batchGet(params: Params$Resource$Spreadsheets$Values$Batchget, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + batchGet(params: Params$Resource$Spreadsheets$Values$Batchget, callback: BodyResponseCallback): void; + batchGet(callback: BodyResponseCallback): void; + /** + * sheets.spreadsheets.values.batchGetByDataFilter + * @desc Returns one or more ranges of values that match the specified data + * filters. The caller must specify the spreadsheet ID and one or more + * DataFilters. Ranges that match any of the data filters in the request + * will be returned. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Sheets API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/sheets + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var sheets = google.sheets('v4'); + * + * authorize(function(authClient) { + * var request = { + * // The ID of the spreadsheet to retrieve data from. + * spreadsheetId: 'my-spreadsheet-id', // TODO: Update placeholder + * value. + * + * resource: { + * // How values should be represented in the output. + * // The default render option is ValueRenderOption.FORMATTED_VALUE. + * valueRenderOption: '', // TODO: Update placeholder value. + * + * // The data filters used to match the ranges of values to retrieve. + * Ranges + * // that match any of the specified data filters will be included in + * the + * // response. + * dataFilters: [], // TODO: Update placeholder value. + * + * // How dates, times, and durations should be represented in the + * output. + * // This is ignored if value_render_option is + * // FORMATTED_VALUE. + * // The default dateTime render option is + * [DateTimeRenderOption.SERIAL_NUMBER]. dateTimeRenderOption: '', // TODO: + * Update placeholder value. + * + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * sheets.spreadsheets.values.batchGetByDataFilter(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/sheets/quickstart/nodejs#step_3_set_up_the_sample + * // + * // Authorize using one of the following scopes: + * // 'https://www.googleapis.com/auth/drive' + * // 'https://www.googleapis.com/auth/drive.file' + * // 'https://www.googleapis.com/auth/spreadsheets' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias sheets.spreadsheets.values.batchGetByDataFilter + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.spreadsheetId The ID of the spreadsheet to retrieve data from. + * @param {().BatchGetValuesByDataFilterRequest} 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 + */ + batchGetByDataFilter(params?: Params$Resource$Spreadsheets$Values$Batchgetbydatafilter, options?: MethodOptions): AxiosPromise; + batchGetByDataFilter(params: Params$Resource$Spreadsheets$Values$Batchgetbydatafilter, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + batchGetByDataFilter(params: Params$Resource$Spreadsheets$Values$Batchgetbydatafilter, callback: BodyResponseCallback): void; + batchGetByDataFilter(callback: BodyResponseCallback): void; + /** + * sheets.spreadsheets.values.batchUpdate + * @desc Sets values in one or more ranges of a spreadsheet. The caller must + * specify the spreadsheet ID, a valueInputOption, and one or more + * ValueRanges. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Sheets API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/sheets + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var sheets = google.sheets('v4'); + * + * authorize(function(authClient) { + * var request = { + * // The ID of the spreadsheet to update. + * spreadsheetId: 'my-spreadsheet-id', // TODO: Update placeholder + * value. + * + * resource: { + * // How the input data should be interpreted. + * valueInputOption: '', // TODO: Update placeholder value. + * + * // The new values to apply to the spreadsheet. + * data: [], // TODO: Update placeholder value. + * + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * sheets.spreadsheets.values.batchUpdate(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/sheets/quickstart/nodejs#step_3_set_up_the_sample + * // + * // Authorize using one of the following scopes: + * // 'https://www.googleapis.com/auth/drive' + * // 'https://www.googleapis.com/auth/drive.file' + * // 'https://www.googleapis.com/auth/spreadsheets' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias sheets.spreadsheets.values.batchUpdate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.spreadsheetId The ID of the spreadsheet to update. + * @param {().BatchUpdateValuesRequest} 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 + */ + batchUpdate(params?: Params$Resource$Spreadsheets$Values$Batchupdate, options?: MethodOptions): AxiosPromise; + batchUpdate(params: Params$Resource$Spreadsheets$Values$Batchupdate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + batchUpdate(params: Params$Resource$Spreadsheets$Values$Batchupdate, callback: BodyResponseCallback): void; + batchUpdate(callback: BodyResponseCallback): void; + /** + * sheets.spreadsheets.values.batchUpdateByDataFilter + * @desc Sets values in one or more ranges of a spreadsheet. The caller must + * specify the spreadsheet ID, a valueInputOption, and one or more + * DataFilterValueRanges. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Sheets API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/sheets + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var sheets = google.sheets('v4'); + * + * authorize(function(authClient) { + * var request = { + * // The ID of the spreadsheet to update. + * spreadsheetId: 'my-spreadsheet-id', // TODO: Update placeholder + * value. + * + * resource: { + * // How the input data should be interpreted. + * valueInputOption: '', // TODO: Update placeholder value. + * + * // The new values to apply to the spreadsheet. If more than one + * range is + * // matched by the specified DataFilter the specified values will be + * // applied to all of those ranges. + * data: [], // TODO: Update placeholder value. + * + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * sheets.spreadsheets.values.batchUpdateByDataFilter(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/sheets/quickstart/nodejs#step_3_set_up_the_sample + * // + * // Authorize using one of the following scopes: + * // 'https://www.googleapis.com/auth/drive' + * // 'https://www.googleapis.com/auth/drive.file' + * // 'https://www.googleapis.com/auth/spreadsheets' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias sheets.spreadsheets.values.batchUpdateByDataFilter + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.spreadsheetId The ID of the spreadsheet to update. + * @param {().BatchUpdateValuesByDataFilterRequest} 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 + */ + batchUpdateByDataFilter(params?: Params$Resource$Spreadsheets$Values$Batchupdatebydatafilter, options?: MethodOptions): AxiosPromise; + batchUpdateByDataFilter(params: Params$Resource$Spreadsheets$Values$Batchupdatebydatafilter, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + batchUpdateByDataFilter(params: Params$Resource$Spreadsheets$Values$Batchupdatebydatafilter, callback: BodyResponseCallback): void; + batchUpdateByDataFilter(callback: BodyResponseCallback): void; + /** + * sheets.spreadsheets.values.clear + * @desc Clears values from a spreadsheet. The caller must specify the + * spreadsheet ID and range. Only values are cleared -- all other properties + * of the cell (such as formatting, data validation, etc..) are kept. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Sheets API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/sheets + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var sheets = google.sheets('v4'); + * + * authorize(function(authClient) { + * var request = { + * // The ID of the spreadsheet to update. + * spreadsheetId: 'my-spreadsheet-id', // TODO: Update placeholder + * value. + * + * // The A1 notation of the values to clear. + * range: 'my-range', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * sheets.spreadsheets.values.clear(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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/sheets/quickstart/nodejs#step_3_set_up_the_sample + * // + * // Authorize using one of the following scopes: + * // 'https://www.googleapis.com/auth/drive' + * // 'https://www.googleapis.com/auth/drive.file' + * // 'https://www.googleapis.com/auth/spreadsheets' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias sheets.spreadsheets.values.clear + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.range The A1 notation of the values to clear. + * @param {string} params.spreadsheetId The ID of the spreadsheet to update. + * @param {().ClearValuesRequest} 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 + */ + clear(params?: Params$Resource$Spreadsheets$Values$Clear, options?: MethodOptions): AxiosPromise; + clear(params: Params$Resource$Spreadsheets$Values$Clear, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + clear(params: Params$Resource$Spreadsheets$Values$Clear, callback: BodyResponseCallback): void; + clear(callback: BodyResponseCallback): void; + /** + * sheets.spreadsheets.values.get + * @desc Returns a range of values from a spreadsheet. The caller must + * specify the spreadsheet ID and a range. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Sheets API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/sheets + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var sheets = google.sheets('v4'); + * + * authorize(function(authClient) { + * var request = { + * // The ID of the spreadsheet to retrieve data from. + * spreadsheetId: 'my-spreadsheet-id', // TODO: Update placeholder + * value. + * + * // The A1 notation of the values to retrieve. + * range: 'my-range', // TODO: Update placeholder value. + * + * // How values should be represented in the output. + * // The default render option is ValueRenderOption.FORMATTED_VALUE. + * valueRenderOption: '', // TODO: Update placeholder value. + * + * // How dates, times, and durations should be represented in the + * output. + * // This is ignored if value_render_option is + * // FORMATTED_VALUE. + * // The default dateTime render option is + * [DateTimeRenderOption.SERIAL_NUMBER]. dateTimeRenderOption: '', // TODO: + * Update placeholder value. + * + * auth: authClient, + * }; + * + * sheets.spreadsheets.values.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/sheets/quickstart/nodejs#step_3_set_up_the_sample + * // + * // Authorize using one of the following scopes: + * // 'https://www.googleapis.com/auth/drive' + * // 'https://www.googleapis.com/auth/drive.file' + * // 'https://www.googleapis.com/auth/drive.readonly' + * // 'https://www.googleapis.com/auth/spreadsheets' + * // 'https://www.googleapis.com/auth/spreadsheets.readonly' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias sheets.spreadsheets.values.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.dateTimeRenderOption How dates, times, and durations should be represented in the output. This is ignored if value_render_option is FORMATTED_VALUE. The default dateTime render option is [DateTimeRenderOption.SERIAL_NUMBER]. + * @param {string=} params.majorDimension The major dimension that results should use. For example, if the spreadsheet data is: `A1=1,B1=2,A2=3,B2=4`, then requesting `range=A1:B2,majorDimension=ROWS` will return `[[1,2],[3,4]]`, whereas requesting `range=A1:B2,majorDimension=COLUMNS` will return `[[1,3],[2,4]]`. + * @param {string} params.range The A1 notation of the values to retrieve. + * @param {string} params.spreadsheetId The ID of the spreadsheet to retrieve data from. + * @param {string=} params.valueRenderOption How values should be represented in the output. The default render option is ValueRenderOption.FORMATTED_VALUE. + * @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?: Params$Resource$Spreadsheets$Values$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Spreadsheets$Values$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Spreadsheets$Values$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * sheets.spreadsheets.values.update + * @desc Sets values in a range of a spreadsheet. The caller must specify + * the spreadsheet ID, range, and a valueInputOption. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Sheets API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/sheets + * // 2. Install the Node.js client library by running + * // `npm install googleapis --save` + * + * var google = require('googleapis'); + * var sheets = google.sheets('v4'); + * + * authorize(function(authClient) { + * var request = { + * // The ID of the spreadsheet to update. + * spreadsheetId: 'my-spreadsheet-id', // TODO: Update placeholder + * value. + * + * // The A1 notation of the values to update. + * range: 'my-range', // TODO: Update placeholder value. + * + * // How the input data should be interpreted. + * valueInputOption: '', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * sheets.spreadsheets.values.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) { + * // TODO: Change placeholder below to generate authentication + * credentials. See + * // + * https://developers.google.com/sheets/quickstart/nodejs#step_3_set_up_the_sample + * // + * // Authorize using one of the following scopes: + * // 'https://www.googleapis.com/auth/drive' + * // 'https://www.googleapis.com/auth/drive.file' + * // 'https://www.googleapis.com/auth/spreadsheets' + * var authClient = null; + * + * if (authClient == null) { + * console.log('authentication failed'); + * return; + * } + * callback(authClient); + * } + * @alias sheets.spreadsheets.values.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.includeValuesInResponse Determines if the update response should include the values of the cells that were updated. By default, responses do not include the updated values. If the range to write was larger than than the range actually written, the response will include all values in the requested range (excluding trailing empty rows and columns). + * @param {string} params.range The A1 notation of the values to update. + * @param {string=} params.responseDateTimeRenderOption Determines how dates, times, and durations in the response should be rendered. This is ignored if response_value_render_option is FORMATTED_VALUE. The default dateTime render option is DateTimeRenderOption.SERIAL_NUMBER. + * @param {string=} params.responseValueRenderOption Determines how values in the response should be rendered. The default render option is ValueRenderOption.FORMATTED_VALUE. + * @param {string} params.spreadsheetId The ID of the spreadsheet to update. + * @param {string=} params.valueInputOption How the input data should be interpreted. + * @param {().ValueRange} 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?: Params$Resource$Spreadsheets$Values$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Spreadsheets$Values$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Spreadsheets$Values$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Spreadsheets$Values$Append { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Determines if the update response should include the values of the cells + * that were appended. By default, responses do not include the updated + * values. + */ + includeValuesInResponse?: boolean; + /** + * How the input data should be inserted. + */ + insertDataOption?: string; + /** + * The A1 notation of a range to search for a logical table of data. Values + * will be appended after the last row of the table. + */ + range?: string; + /** + * Determines how dates, times, and durations in the response should be + * rendered. This is ignored if response_value_render_option is + * FORMATTED_VALUE. The default dateTime render option is + * [DateTimeRenderOption.SERIAL_NUMBER]. + */ + responseDateTimeRenderOption?: string; + /** + * Determines how values in the response should be rendered. The default + * render option is ValueRenderOption.FORMATTED_VALUE. + */ + responseValueRenderOption?: string; + /** + * The ID of the spreadsheet to update. + */ + spreadsheetId?: string; + /** + * How the input data should be interpreted. + */ + valueInputOption?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ValueRange; + } + interface Params$Resource$Spreadsheets$Values$Batchclear { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the spreadsheet to update. + */ + spreadsheetId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BatchClearValuesRequest; + } + interface Params$Resource$Spreadsheets$Values$Batchclearbydatafilter { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the spreadsheet to update. + */ + spreadsheetId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BatchClearValuesByDataFilterRequest; + } + interface Params$Resource$Spreadsheets$Values$Batchget { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * How dates, times, and durations should be represented in the output. This + * is ignored if value_render_option is FORMATTED_VALUE. The default + * dateTime render option is [DateTimeRenderOption.SERIAL_NUMBER]. + */ + dateTimeRenderOption?: string; + /** + * The major dimension that results should use. For example, if the + * spreadsheet data is: `A1=1,B1=2,A2=3,B2=4`, then requesting + * `range=A1:B2,majorDimension=ROWS` will return `[[1,2],[3,4]]`, whereas + * requesting `range=A1:B2,majorDimension=COLUMNS` will return + * `[[1,3],[2,4]]`. + */ + majorDimension?: string; + /** + * The A1 notation of the values to retrieve. + */ + ranges?: string; + /** + * The ID of the spreadsheet to retrieve data from. + */ + spreadsheetId?: string; + /** + * How values should be represented in the output. The default render option + * is ValueRenderOption.FORMATTED_VALUE. + */ + valueRenderOption?: string; + } + interface Params$Resource$Spreadsheets$Values$Batchgetbydatafilter { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the spreadsheet to retrieve data from. + */ + spreadsheetId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BatchGetValuesByDataFilterRequest; + } + interface Params$Resource$Spreadsheets$Values$Batchupdate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the spreadsheet to update. + */ + spreadsheetId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BatchUpdateValuesRequest; + } + interface Params$Resource$Spreadsheets$Values$Batchupdatebydatafilter { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the spreadsheet to update. + */ + spreadsheetId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BatchUpdateValuesByDataFilterRequest; + } + interface Params$Resource$Spreadsheets$Values$Clear { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The A1 notation of the values to clear. + */ + range?: string; + /** + * The ID of the spreadsheet to update. + */ + spreadsheetId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ClearValuesRequest; + } + interface Params$Resource$Spreadsheets$Values$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * How dates, times, and durations should be represented in the output. This + * is ignored if value_render_option is FORMATTED_VALUE. The default + * dateTime render option is [DateTimeRenderOption.SERIAL_NUMBER]. + */ + dateTimeRenderOption?: string; + /** + * The major dimension that results should use. For example, if the + * spreadsheet data is: `A1=1,B1=2,A2=3,B2=4`, then requesting + * `range=A1:B2,majorDimension=ROWS` will return `[[1,2],[3,4]]`, whereas + * requesting `range=A1:B2,majorDimension=COLUMNS` will return + * `[[1,3],[2,4]]`. + */ + majorDimension?: string; + /** + * The A1 notation of the values to retrieve. + */ + range?: string; + /** + * The ID of the spreadsheet to retrieve data from. + */ + spreadsheetId?: string; + /** + * How values should be represented in the output. The default render option + * is ValueRenderOption.FORMATTED_VALUE. + */ + valueRenderOption?: string; + } + interface Params$Resource$Spreadsheets$Values$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Determines if the update response should include the values of the cells + * that were updated. By default, responses do not include the updated + * values. If the range to write was larger than than the range actually + * written, the response will include all values in the requested range + * (excluding trailing empty rows and columns). + */ + includeValuesInResponse?: boolean; + /** + * The A1 notation of the values to update. + */ + range?: string; + /** + * Determines how dates, times, and durations in the response should be + * rendered. This is ignored if response_value_render_option is + * FORMATTED_VALUE. The default dateTime render option is + * DateTimeRenderOption.SERIAL_NUMBER. + */ + responseDateTimeRenderOption?: string; + /** + * Determines how values in the response should be rendered. The default + * render option is ValueRenderOption.FORMATTED_VALUE. + */ + responseValueRenderOption?: string; + /** + * The ID of the spreadsheet to update. + */ + spreadsheetId?: string; + /** + * How the input data should be interpreted. + */ + valueInputOption?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ValueRange; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/sheets/v4.js b/express-server/node_modules/googleapis/build/src/apis/sheets/v4.js new file mode 100644 index 00000000..938dd5ba --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/sheets/v4.js @@ -0,0 +1,635 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var sheets_v4; +(function (sheets_v4) { + /** + * Google Sheets API + * + * Reads and writes Google Sheets. + * + * @example + * const {google} = require('googleapis'); + * const sheets = google.sheets('v4'); + * + * @namespace sheets + * @type {Function} + * @version v4 + * @variation v4 + * @param {object=} options Options for Sheets + */ + class Sheets { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.spreadsheets = new Resource$Spreadsheets(this); + } + getRoot() { + return this.root; + } + } + sheets_v4.Sheets = Sheets; + class Resource$Spreadsheets { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.developerMetadata = + new Resource$Spreadsheets$Developermetadata(root); + this.sheets = new Resource$Spreadsheets$Sheets(root); + this.values = new Resource$Spreadsheets$Values(root); + } + getRoot() { + return this.root; + } + batchUpdate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://sheets.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v4/spreadsheets/{spreadsheetId}:batchUpdate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['spreadsheetId'], + pathParams: ['spreadsheetId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://sheets.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v4/spreadsheets').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://sheets.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v4/spreadsheets/{spreadsheetId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['spreadsheetId'], + pathParams: ['spreadsheetId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getByDataFilter(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://sheets.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v4/spreadsheets/{spreadsheetId}:getByDataFilter') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['spreadsheetId'], + pathParams: ['spreadsheetId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + sheets_v4.Resource$Spreadsheets = Resource$Spreadsheets; + class Resource$Spreadsheets$Developermetadata { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://sheets.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v4/spreadsheets/{spreadsheetId}/developerMetadata/{metadataId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['spreadsheetId', 'metadataId'], + pathParams: ['metadataId', 'spreadsheetId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + search(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://sheets.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v4/spreadsheets/{spreadsheetId}/developerMetadata:search') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['spreadsheetId'], + pathParams: ['spreadsheetId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + sheets_v4.Resource$Spreadsheets$Developermetadata = Resource$Spreadsheets$Developermetadata; + class Resource$Spreadsheets$Sheets { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + copyTo(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://sheets.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v4/spreadsheets/{spreadsheetId}/sheets/{sheetId}:copyTo') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['spreadsheetId', 'sheetId'], + pathParams: ['sheetId', 'spreadsheetId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + sheets_v4.Resource$Spreadsheets$Sheets = Resource$Spreadsheets$Sheets; + class Resource$Spreadsheets$Values { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + append(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://sheets.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v4/spreadsheets/{spreadsheetId}/values/{range}:append') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['spreadsheetId', 'range'], + pathParams: ['range', 'spreadsheetId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + batchClear(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://sheets.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v4/spreadsheets/{spreadsheetId}/values:batchClear') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['spreadsheetId'], + pathParams: ['spreadsheetId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + batchClearByDataFilter(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://sheets.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v4/spreadsheets/{spreadsheetId}/values:batchClearByDataFilter') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['spreadsheetId'], + pathParams: ['spreadsheetId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + batchGet(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://sheets.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v4/spreadsheets/{spreadsheetId}/values:batchGet') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['spreadsheetId'], + pathParams: ['spreadsheetId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + batchGetByDataFilter(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://sheets.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v4/spreadsheets/{spreadsheetId}/values:batchGetByDataFilter') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['spreadsheetId'], + pathParams: ['spreadsheetId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + batchUpdate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://sheets.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v4/spreadsheets/{spreadsheetId}/values:batchUpdate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['spreadsheetId'], + pathParams: ['spreadsheetId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + batchUpdateByDataFilter(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://sheets.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v4/spreadsheets/{spreadsheetId}/values:batchUpdateByDataFilter') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['spreadsheetId'], + pathParams: ['spreadsheetId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + clear(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://sheets.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v4/spreadsheets/{spreadsheetId}/values/{range}:clear') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['spreadsheetId', 'range'], + pathParams: ['range', 'spreadsheetId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://sheets.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v4/spreadsheets/{spreadsheetId}/values/{range}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['spreadsheetId', 'range'], + pathParams: ['range', 'spreadsheetId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://sheets.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v4/spreadsheets/{spreadsheetId}/values/{range}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['spreadsheetId', 'range'], + pathParams: ['range', 'spreadsheetId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + sheets_v4.Resource$Spreadsheets$Values = Resource$Spreadsheets$Values; +})(sheets_v4 = exports.sheets_v4 || (exports.sheets_v4 = {})); +//# sourceMappingURL=v4.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/sheets/v4.js.map b/express-server/node_modules/googleapis/build/src/apis/sheets/v4.js.map new file mode 100644 index 00000000..1d4dc2b2 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/sheets/v4.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v4.js","sourceRoot":"","sources":["../../../../src/apis/sheets/v4.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/siteVerification/README.md b/express-server/node_modules/googleapis/build/src/apis/siteVerification/README.md new file mode 100644 index 00000000..c56684e3 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/siteVerification/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/siteVerification + +> Verifies ownership of websites or domains with Google. + +## Installation + +```sh +$ npm install @google/siteVerification +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/siteVerification/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/siteVerification/index.d.ts new file mode 100644 index 00000000..a471c4e7 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/siteVerification/index.d.ts @@ -0,0 +1,6 @@ +import { siteVerification_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof siteVerification_v1.Siteverification; +}; +export declare function siteVerification(version: 'v1'): siteVerification_v1.Siteverification; +export declare function siteVerification(options: siteVerification_v1.Options): siteVerification_v1.Siteverification; diff --git a/express-server/node_modules/googleapis/build/src/apis/siteVerification/index.js b/express-server/node_modules/googleapis/build/src/apis/siteVerification/index.js new file mode 100644 index 00000000..ae9ffa6a --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/siteVerification/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.siteVerification_v1.Siteverification, +}; +function siteVerification(versionOrOptions) { + return googleapis_common_1.getAPI('siteVerification', versionOrOptions, exports.VERSIONS, this); +} +exports.siteVerification = siteVerification; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/siteVerification/index.js.map b/express-server/node_modules/googleapis/build/src/apis/siteVerification/index.js.map new file mode 100644 index 00000000..350b0e3d --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/siteVerification/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/siteVerification/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAyC;AAE5B,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,wBAAmB,CAAC,gBAAgB;CAC3C,CAAC;AAMF,SAAgB,gBAAgB,CAE5B,gBAAkD;IACpD,OAAO,0BAAM,CAAI,kBAAkB,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACzE,CAAC;AAJD,4CAIC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/siteVerification/package.json b/express-server/node_modules/googleapis/build/src/apis/siteVerification/package.json new file mode 100644 index 00000000..98fd5943 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/siteVerification/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/siteVerification", + "version": "0.1.0", + "description": "siteVerification", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/siteVerification/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/siteVerification/v1.d.ts new file mode 100644 index 00000000..a3e5ab97 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/siteVerification/v1.d.ts @@ -0,0 +1,293 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace siteVerification_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Google Site Verification API + * + * Verifies ownership of websites or domains with Google. + * + * @example + * const {google} = require('googleapis'); + * const siteVerification = google.siteVerification('v1'); + * + * @namespace siteVerification + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Siteverification + */ + class Siteverification { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + webResource: Resource$Webresource; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + interface Schema$SiteVerificationWebResourceGettokenRequest { + /** + * The site for which a verification token will be generated. + */ + site?: any; + /** + * The verification method that will be used to verify this site. For sites, + * 'FILE' or 'META' methods may be used. For domains, only + * 'DNS' may be used. + */ + verificationMethod?: string; + } + interface Schema$SiteVerificationWebResourceGettokenResponse { + /** + * The verification method to use in conjunction with this token. For FILE, + * the token should be placed in the top-level directory of the site, stored + * inside a file of the same name. For META, the token should be placed in + * the HEAD tag of the default page that is loaded for the site. For DNS, + * the token should be placed in a TXT record of the domain. + */ + method?: string; + /** + * The verification token. The token must be placed appropriately in order + * for verification to succeed. + */ + token?: string; + } + interface Schema$SiteVerificationWebResourceListResponse { + /** + * The list of sites that are owned by the authenticated user. + */ + items?: Schema$SiteVerificationWebResourceResource[]; + } + interface Schema$SiteVerificationWebResourceResource { + /** + * The string used to identify this site. This value should be used in the + * "id" portion of the REST URL for the Get, Update, and Delete + * operations. + */ + id?: string; + /** + * The email addresses of all verified owners. + */ + owners?: string[]; + /** + * The address and type of a site that is verified or will be verified. + */ + site?: any; + } + class Resource$Webresource { + root: Siteverification; + constructor(root: Siteverification); + getRoot(): Siteverification; + /** + * siteVerification.webResource.delete + * @desc Relinquish ownership of a website or domain. + * @alias siteVerification.webResource.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The id of a verified site or domain. + * @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?: Params$Resource$Webresource$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Webresource$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Webresource$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * siteVerification.webResource.get + * @desc Get the most current data for a website or domain. + * @alias siteVerification.webResource.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The id of a verified site or domain. + * @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?: Params$Resource$Webresource$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Webresource$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Webresource$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * siteVerification.webResource.getToken + * @desc Get a verification token for placing on a website or domain. + * @alias siteVerification.webResource.getToken + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().SiteVerificationWebResourceGettokenRequest} 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 + */ + getToken(params?: Params$Resource$Webresource$Gettoken, options?: MethodOptions): AxiosPromise; + getToken(params: Params$Resource$Webresource$Gettoken, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getToken(params: Params$Resource$Webresource$Gettoken, callback: BodyResponseCallback): void; + getToken(callback: BodyResponseCallback): void; + /** + * siteVerification.webResource.insert + * @desc Attempt verification of a website or domain. + * @alias siteVerification.webResource.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.verificationMethod The method to use for verifying a site or domain. + * @param {().SiteVerificationWebResourceResource} 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?: Params$Resource$Webresource$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Webresource$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Webresource$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * siteVerification.webResource.list + * @desc Get the list of your verified websites and domains. + * @alias siteVerification.webResource.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @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?: Params$Resource$Webresource$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Webresource$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Webresource$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * siteVerification.webResource.patch + * @desc Modify the list of owners for your website or domain. This method + * supports patch semantics. + * @alias siteVerification.webResource.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The id of a verified site or domain. + * @param {().SiteVerificationWebResourceResource} 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 + */ + patch(params?: Params$Resource$Webresource$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Webresource$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Webresource$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * siteVerification.webResource.update + * @desc Modify the list of owners for your website or domain. + * @alias siteVerification.webResource.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The id of a verified site or domain. + * @param {().SiteVerificationWebResourceResource} 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?: Params$Resource$Webresource$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Webresource$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Webresource$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Webresource$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The id of a verified site or domain. + */ + id?: string; + } + interface Params$Resource$Webresource$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The id of a verified site or domain. + */ + id?: string; + } + interface Params$Resource$Webresource$Gettoken { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$SiteVerificationWebResourceGettokenRequest; + } + interface Params$Resource$Webresource$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The method to use for verifying a site or domain. + */ + verificationMethod?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SiteVerificationWebResourceResource; + } + interface Params$Resource$Webresource$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } + interface Params$Resource$Webresource$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The id of a verified site or domain. + */ + id?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SiteVerificationWebResourceResource; + } + interface Params$Resource$Webresource$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The id of a verified site or domain. + */ + id?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SiteVerificationWebResourceResource; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/siteVerification/v1.js b/express-server/node_modules/googleapis/build/src/apis/siteVerification/v1.js new file mode 100644 index 00000000..a10a4980 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/siteVerification/v1.js @@ -0,0 +1,282 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var siteVerification_v1; +(function (siteVerification_v1) { + /** + * Google Site Verification API + * + * Verifies ownership of websites or domains with Google. + * + * @example + * const {google} = require('googleapis'); + * const siteVerification = google.siteVerification('v1'); + * + * @namespace siteVerification + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Siteverification + */ + class Siteverification { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.webResource = new Resource$Webresource(this); + } + getRoot() { + return this.root; + } + } + siteVerification_v1.Siteverification = Siteverification; + class Resource$Webresource { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/siteVerification/v1/webResource/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['id'], + pathParams: ['id'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/siteVerification/v1/webResource/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['id'], + pathParams: ['id'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getToken(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/siteVerification/v1/token') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/siteVerification/v1/webResource') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['verificationMethod'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/siteVerification/v1/webResource') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/siteVerification/v1/webResource/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['id'], + pathParams: ['id'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/siteVerification/v1/webResource/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['id'], + pathParams: ['id'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + siteVerification_v1.Resource$Webresource = Resource$Webresource; +})(siteVerification_v1 = exports.siteVerification_v1 || (exports.siteVerification_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/siteVerification/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/siteVerification/v1.js.map new file mode 100644 index 00000000..ea940e03 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/siteVerification/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/siteVerification/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/slides/README.md b/express-server/node_modules/googleapis/build/src/apis/slides/README.md new file mode 100644 index 00000000..70a20df6 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/slides/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/slides + +> An API for creating and editing Google Slides presentations. + +## Installation + +```sh +$ npm install @google/slides +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/slides/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/slides/index.d.ts new file mode 100644 index 00000000..e4f69176 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/slides/index.d.ts @@ -0,0 +1,6 @@ +import { slides_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof slides_v1.Slides; +}; +export declare function slides(version: 'v1'): slides_v1.Slides; +export declare function slides(options: slides_v1.Options): slides_v1.Slides; diff --git a/express-server/node_modules/googleapis/build/src/apis/slides/index.js b/express-server/node_modules/googleapis/build/src/apis/slides/index.js new file mode 100644 index 00000000..07821e87 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/slides/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.slides_v1.Slides, +}; +function slides(versionOrOptions) { + return googleapis_common_1.getAPI('slides', versionOrOptions, exports.VERSIONS, this); +} +exports.slides = slides; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/slides/index.js.map b/express-server/node_modules/googleapis/build/src/apis/slides/index.js.map new file mode 100644 index 00000000..7ffa6b03 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/slides/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/slides/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAA+B;AAElB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,cAAS,CAAC,MAAM;CACvB,CAAC;AAIF,SAAgB,MAAM,CACQ,gBAAwC;IACpE,OAAO,0BAAM,CAAI,QAAQ,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAC/D,CAAC;AAHD,wBAGC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/slides/package.json b/express-server/node_modules/googleapis/build/src/apis/slides/package.json new file mode 100644 index 00000000..7cf0dcc0 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/slides/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/slides", + "version": "0.1.0", + "description": "slides", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/slides/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/slides/v1.d.ts new file mode 100644 index 00000000..1b478fe7 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/slides/v1.d.ts @@ -0,0 +1,3306 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace slides_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Google Slides API + * + * An API for creating and editing Google Slides presentations. + * + * @example + * const {google} = require('googleapis'); + * const slides = google.slides('v1'); + * + * @namespace slides + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Slides + */ + class Slides { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + presentations: Resource$Presentations; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * AffineTransform uses a 3x3 matrix with an implied last row of [ 0 0 1 ] to + * transform source coordinates (x,y) into destination coordinates (x', + * y') according to: x' x = shear_y scale_y translate_y + * 1 [ 1 ] After transformation, x' = scale_x * x + shear_x * y + + * translate_x; y' = scale_y * y + shear_y * x + translate_y; This + * message is therefore composed of these six matrix elements. + */ + interface Schema$AffineTransform { + /** + * The X coordinate scaling element. + */ + scaleX?: number; + /** + * The Y coordinate scaling element. + */ + scaleY?: number; + /** + * The X coordinate shearing element. + */ + shearX?: number; + /** + * The Y coordinate shearing element. + */ + shearY?: number; + /** + * The X coordinate translation element. + */ + translateX?: number; + /** + * The Y coordinate translation element. + */ + translateY?: number; + /** + * The units for translate elements. + */ + unit?: string; + } + /** + * A TextElement kind that represents auto text. + */ + interface Schema$AutoText { + /** + * The rendered content of this auto text, if available. + */ + content?: string; + /** + * The styling applied to this auto text. + */ + style?: Schema$TextStyle; + /** + * The type of this auto text. + */ + type?: string; + } + /** + * Request message for PresentationsService.BatchUpdatePresentation. + */ + interface Schema$BatchUpdatePresentationRequest { + /** + * A list of updates to apply to the presentation. + */ + requests?: Schema$Request[]; + /** + * Provides control over how write requests are executed. + */ + writeControl?: Schema$WriteControl; + } + /** + * Response message from a batch update. + */ + interface Schema$BatchUpdatePresentationResponse { + /** + * The presentation the updates were applied to. + */ + presentationId?: string; + /** + * The reply of the updates. This maps 1:1 with the updates, although + * replies to some requests may be empty. + */ + replies?: Schema$Response[]; + /** + * The updated write control after applying the request. + */ + writeControl?: Schema$WriteControl; + } + /** + * Describes the bullet of a paragraph. + */ + interface Schema$Bullet { + /** + * The paragraph specific text style applied to this bullet. + */ + bulletStyle?: Schema$TextStyle; + /** + * The rendered bullet glyph for this paragraph. + */ + glyph?: string; + /** + * The ID of the list this paragraph belongs to. + */ + listId?: string; + /** + * The nesting level of this paragraph in the list. + */ + nestingLevel?: number; + } + /** + * The palette of predefined colors for a page. + */ + interface Schema$ColorScheme { + /** + * The ThemeColorType and corresponding concrete color pairs. + */ + colors?: Schema$ThemeColorPair[]; + } + /** + * A color and position in a gradient band. + */ + interface Schema$ColorStop { + /** + * The alpha value of this color in the gradient band. Defaults to 1.0, + * fully opaque. + */ + alpha?: number; + /** + * The color of the gradient stop. + */ + color?: Schema$OpaqueColor; + /** + * The relative position of the color stop in the gradient band measured in + * percentage. The value should be in the interval [0.0, 1.0]. + */ + position?: number; + } + /** + * Creates an image. + */ + interface Schema$CreateImageRequest { + /** + * The element properties for the image. When the aspect ratio of the + * provided size does not match the image aspect ratio, the image is scaled + * and centered with respect to the size in order to maintain aspect ratio. + * The provided transform is applied after this operation. The + * PageElementProperties.size property is optional. If you don't specify + * the size, the default size of the image is used. The + * PageElementProperties.transform property is optional. If you don't + * specify a transform, the image will be placed at the top left corner of + * the page. + */ + elementProperties?: Schema$PageElementProperties; + /** + * A user-supplied object ID. If you specify an ID, it must be unique among + * all pages and page elements in the presentation. The ID must start with + * an alphanumeric character or an underscore (matches regex + * `[a-zA-Z0-9_]`); remaining characters may include those as well as a + * hyphen or colon (matches regex `[a-zA-Z0-9_-:]`). The length of the ID + * must not be less than 5 or greater than 50. If you don't specify an + * ID, a unique one is generated. + */ + objectId?: string; + /** + * The image URL. The image is fetched once at insertion time and a copy is + * stored for display inside the presentation. Images must be less than 50MB + * in size, cannot exceed 25 megapixels, and must be in one of PNG, JPEG, or + * GIF format. The provided URL can be at most 2 kB in length. The URL + * itself is saved with the image, and exposed via the Image.source_url + * field. + */ + url?: string; + } + /** + * The result of creating an image. + */ + interface Schema$CreateImageResponse { + /** + * The object ID of the created image. + */ + objectId?: string; + } + /** + * Creates a line. + */ + interface Schema$CreateLineRequest { + /** + * The element properties for the line. + */ + elementProperties?: Schema$PageElementProperties; + /** + * The category of line to be created. + */ + lineCategory?: string; + /** + * A user-supplied object ID. If you specify an ID, it must be unique among + * all pages and page elements in the presentation. The ID must start with + * an alphanumeric character or an underscore (matches regex + * `[a-zA-Z0-9_]`); remaining characters may include those as well as a + * hyphen or colon (matches regex `[a-zA-Z0-9_-:]`). The length of the ID + * must not be less than 5 or greater than 50. If you don't specify an + * ID, a unique one is generated. + */ + objectId?: string; + } + /** + * The result of creating a line. + */ + interface Schema$CreateLineResponse { + /** + * The object ID of the created line. + */ + objectId?: string; + } + /** + * Creates bullets for all of the paragraphs that overlap with the given text + * index range. The nesting level of each paragraph will be determined by + * counting leading tabs in front of each paragraph. To avoid excess space + * between the bullet and the corresponding paragraph, these leading tabs are + * removed by this request. This may change the indices of parts of the text. + * If the paragraph immediately before paragraphs being updated is in a list + * with a matching preset, the paragraphs being updated are added to that + * preceding list. + */ + interface Schema$CreateParagraphBulletsRequest { + /** + * The kinds of bullet glyphs to be used. Defaults to the + * `BULLET_DISC_CIRCLE_SQUARE` preset. + */ + bulletPreset?: string; + /** + * The optional table cell location if the text to be modified is in a table + * cell. If present, the object_id must refer to a table. + */ + cellLocation?: Schema$TableCellLocation; + /** + * The object ID of the shape or table containing the text to add bullets + * to. + */ + objectId?: string; + /** + * The range of text to apply the bullet presets to, based on TextElement + * indexes. + */ + textRange?: Schema$Range; + } + /** + * Creates a new shape. + */ + interface Schema$CreateShapeRequest { + /** + * The element properties for the shape. + */ + elementProperties?: Schema$PageElementProperties; + /** + * A user-supplied object ID. If you specify an ID, it must be unique among + * all pages and page elements in the presentation. The ID must start with + * an alphanumeric character or an underscore (matches regex + * `[a-zA-Z0-9_]`); remaining characters may include those as well as a + * hyphen or colon (matches regex `[a-zA-Z0-9_-:]`). The length of the ID + * must not be less than 5 or greater than 50. If empty, a unique identifier + * will be generated. + */ + objectId?: string; + /** + * The shape type. + */ + shapeType?: string; + } + /** + * The result of creating a shape. + */ + interface Schema$CreateShapeResponse { + /** + * The object ID of the created shape. + */ + objectId?: string; + } + /** + * Creates an embedded Google Sheets chart. NOTE: Chart creation requires at + * least one of the spreadsheets.readonly, spreadsheets, drive.readonly, + * drive.file, or drive OAuth scopes. + */ + interface Schema$CreateSheetsChartRequest { + /** + * The ID of the specific chart in the Google Sheets spreadsheet. + */ + chartId?: number; + /** + * The element properties for the chart. When the aspect ratio of the + * provided size does not match the chart aspect ratio, the chart is scaled + * and centered with respect to the size in order to maintain aspect ratio. + * The provided transform is applied after this operation. + */ + elementProperties?: Schema$PageElementProperties; + /** + * The mode with which the chart is linked to the source spreadsheet. When + * not specified, the chart will be an image that is not linked. + */ + linkingMode?: string; + /** + * A user-supplied object ID. If specified, the ID must be unique among all + * pages and page elements in the presentation. The ID should start with a + * word character [a-zA-Z0-9_] and then followed by any number of the + * following characters [a-zA-Z0-9_-:]. The length of the ID should not be + * less than 5 or greater than 50. If empty, a unique identifier will be + * generated. + */ + objectId?: string; + /** + * The ID of the Google Sheets spreadsheet that contains the chart. + */ + spreadsheetId?: string; + } + /** + * The result of creating an embedded Google Sheets chart. + */ + interface Schema$CreateSheetsChartResponse { + /** + * The object ID of the created chart. + */ + objectId?: string; + } + /** + * Creates a new slide. + */ + interface Schema$CreateSlideRequest { + /** + * The optional zero-based index indicating where to insert the slides. If + * you don't specify an index, the new slide is created at the end. + */ + insertionIndex?: number; + /** + * A user-supplied object ID. If you specify an ID, it must be unique among + * all pages and page elements in the presentation. The ID must start with + * an alphanumeric character or an underscore (matches regex + * `[a-zA-Z0-9_]`); remaining characters may include those as well as a + * hyphen or colon (matches regex `[a-zA-Z0-9_-:]`). The length of the ID + * must not be less than 5 or greater than 50. If you don't specify an + * ID, a unique one is generated. + */ + objectId?: string; + /** + * An optional list of object ID mappings from the placeholder(s) on the + * layout to the placeholder(s) that will be created on the new slide from + * that specified layout. Can only be used when `slide_layout_reference` is + * specified. + */ + placeholderIdMappings?: Schema$LayoutPlaceholderIdMapping[]; + /** + * Layout reference of the slide to be inserted, based on the *current + * master*, which is one of the following: - The master of the previous + * slide index. - The master of the first slide, if the insertion_index is + * zero. - The first master in the presentation, if there are no slides. If + * the LayoutReference is not found in the current master, a 400 bad request + * error is returned. If you don't specify a layout reference, then the + * new slide will use the predefined layout `BLANK`. + */ + slideLayoutReference?: Schema$LayoutReference; + } + /** + * The result of creating a slide. + */ + interface Schema$CreateSlideResponse { + /** + * The object ID of the created slide. + */ + objectId?: string; + } + /** + * Creates a new table. + */ + interface Schema$CreateTableRequest { + /** + * Number of columns in the table. + */ + columns?: number; + /** + * The element properties for the table. The table will be created at the + * provided size, subject to a minimum size. If no size is provided, the + * table will be automatically sized. Table transforms must have a scale of + * 1 and no shear components. If no transform is provided, the table will be + * centered on the page. + */ + elementProperties?: Schema$PageElementProperties; + /** + * A user-supplied object ID. If you specify an ID, it must be unique among + * all pages and page elements in the presentation. The ID must start with + * an alphanumeric character or an underscore (matches regex + * `[a-zA-Z0-9_]`); remaining characters may include those as well as a + * hyphen or colon (matches regex `[a-zA-Z0-9_-:]`). The length of the ID + * must not be less than 5 or greater than 50. If you don't specify an + * ID, a unique one is generated. + */ + objectId?: string; + /** + * Number of rows in the table. + */ + rows?: number; + } + /** + * The result of creating a table. + */ + interface Schema$CreateTableResponse { + /** + * The object ID of the created table. + */ + objectId?: string; + } + /** + * Creates a video. NOTE: Creating a video from Google Drive requires that + * the requesting app have at least one of the drive, drive.readonly, or + * drive.file OAuth scopes. + */ + interface Schema$CreateVideoRequest { + /** + * The element properties for the video. The PageElementProperties.size + * property is optional. If you don't specify a size, a default size is + * chosen by the server. The PageElementProperties.transform property is + * optional. The transform must not have shear components. If you don't + * specify a transform, the video will be placed at the top left corner of + * the page. + */ + elementProperties?: Schema$PageElementProperties; + /** + * The video source's unique identifier for this video. e.g. For + * YouTube video https://www.youtube.com/watch?v=7U3axjORYZ0, the ID is + * 7U3axjORYZ0. For a Google Drive video + * https://drive.google.com/file/d/1xCgQLFTJi5_Xl8DgW_lcUYq5e-q6Hi5Q the ID + * is 1xCgQLFTJi5_Xl8DgW_lcUYq5e-q6Hi5Q. + */ + id?: string; + /** + * A user-supplied object ID. If you specify an ID, it must be unique among + * all pages and page elements in the presentation. The ID must start with + * an alphanumeric character or an underscore (matches regex + * `[a-zA-Z0-9_]`); remaining characters may include those as well as a + * hyphen or colon (matches regex `[a-zA-Z0-9_-:]`). The length of the ID + * must not be less than 5 or greater than 50. If you don't specify an + * ID, a unique one is generated. + */ + objectId?: string; + /** + * The video source. + */ + source?: string; + } + /** + * The result of creating a video. + */ + interface Schema$CreateVideoResponse { + /** + * The object ID of the created video. + */ + objectId?: string; + } + /** + * The crop properties of an object enclosed in a container. For example, an + * Image. The crop properties is represented by the offsets of four edges + * which define a crop rectangle. The offsets are measured in percentage from + * the corresponding edges of the object's original bounding rectangle + * towards inside, relative to the object's original dimensions. - If the + * offset is in the interval (0, 1), the corresponding edge of crop rectangle + * is positioned inside of the object's original bounding rectangle. - If + * the offset is negative or greater than 1, the corresponding edge of crop + * rectangle is positioned outside of the object's original bounding + * rectangle. - If the left edge of the crop rectangle is on the right side of + * its right edge, the object will be flipped horizontally. - If the top edge + * of the crop rectangle is below its bottom edge, the object will be flipped + * vertically. - If all offsets and rotation angle is 0, the object is not + * cropped. After cropping, the content in the crop rectangle will be + * stretched to fit its container. + */ + interface Schema$CropProperties { + /** + * The rotation angle of the crop window around its center, in radians. + * Rotation angle is applied after the offset. + */ + angle?: number; + /** + * The offset specifies the bottom edge of the crop rectangle that is + * located above the original bounding rectangle bottom edge, relative to + * the object's original height. + */ + bottomOffset?: number; + /** + * The offset specifies the left edge of the crop rectangle that is located + * to the right of the original bounding rectangle left edge, relative to + * the object's original width. + */ + leftOffset?: number; + /** + * The offset specifies the right edge of the crop rectangle that is located + * to the left of the original bounding rectangle right edge, relative to + * the object's original width. + */ + rightOffset?: number; + /** + * The offset specifies the top edge of the crop rectangle that is located + * below the original bounding rectangle top edge, relative to the + * object's original height. + */ + topOffset?: number; + } + /** + * Deletes an object, either pages or page elements, from the presentation. + */ + interface Schema$DeleteObjectRequest { + /** + * The object ID of the page or page element to delete. If after a delete + * operation a group contains only 1 or no page elements, the group is also + * deleted. If a placeholder is deleted on a layout, any empty inheriting + * shapes are also deleted. + */ + objectId?: string; + } + /** + * Deletes bullets from all of the paragraphs that overlap with the given text + * index range. The nesting level of each paragraph will be visually + * preserved by adding indent to the start of the corresponding paragraph. + */ + interface Schema$DeleteParagraphBulletsRequest { + /** + * The optional table cell location if the text to be modified is in a table + * cell. If present, the object_id must refer to a table. + */ + cellLocation?: Schema$TableCellLocation; + /** + * The object ID of the shape or table containing the text to delete bullets + * from. + */ + objectId?: string; + /** + * The range of text to delete bullets from, based on TextElement indexes. + */ + textRange?: Schema$Range; + } + /** + * Deletes a column from a table. + */ + interface Schema$DeleteTableColumnRequest { + /** + * The reference table cell location from which a column will be deleted. + * The column this cell spans will be deleted. If this is a merged cell, + * multiple columns will be deleted. If no columns remain in the table after + * this deletion, the whole table is deleted. + */ + cellLocation?: Schema$TableCellLocation; + /** + * The table to delete columns from. + */ + tableObjectId?: string; + } + /** + * Deletes a row from a table. + */ + interface Schema$DeleteTableRowRequest { + /** + * The reference table cell location from which a row will be deleted. The + * row this cell spans will be deleted. If this is a merged cell, multiple + * rows will be deleted. If no rows remain in the table after this deletion, + * the whole table is deleted. + */ + cellLocation?: Schema$TableCellLocation; + /** + * The table to delete rows from. + */ + tableObjectId?: string; + } + /** + * Deletes text from a shape or a table cell. + */ + interface Schema$DeleteTextRequest { + /** + * The optional table cell location if the text is to be deleted from a + * table cell. If present, the object_id must refer to a table. + */ + cellLocation?: Schema$TableCellLocation; + /** + * The object ID of the shape or table from which the text will be deleted. + */ + objectId?: string; + /** + * The range of text to delete, based on TextElement indexes. There is + * always an implicit newline character at the end of a shape's or table + * cell's text that cannot be deleted. `Range.Type.ALL` will use the + * correct bounds, but care must be taken when specifying explicit bounds + * for range types `FROM_START_INDEX` and `FIXED_RANGE`. For example, if the + * text is "ABC", followed by an implicit newline, then the + * maximum value is 2 for `text_range.start_index` and 3 for + * `text_range.end_index`. Deleting text that crosses a paragraph boundary + * may result in changes to paragraph styles and lists as the two paragraphs + * are merged. Ranges that include only one code unit of a surrogate pair + * are expanded to include both code units. + */ + textRange?: Schema$Range; + } + /** + * A magnitude in a single direction in the specified units. + */ + interface Schema$Dimension { + /** + * The magnitude. + */ + magnitude?: number; + /** + * The units for magnitude. + */ + unit?: string; + } + /** + * Duplicates a slide or page element. When duplicating a slide, the + * duplicate slide will be created immediately following the specified slide. + * When duplicating a page element, the duplicate will be placed on the same + * page at the same position as the original. + */ + interface Schema$DuplicateObjectRequest { + /** + * The ID of the object to duplicate. + */ + objectId?: string; + /** + * The object being duplicated may contain other objects, for example when + * duplicating a slide or a group page element. This map defines how the IDs + * of duplicated objects are generated: the keys are the IDs of the original + * objects and its values are the IDs that will be assigned to the + * corresponding duplicate object. The ID of the source object's + * duplicate may be specified in this map as well, using the same value of + * the `object_id` field as a key and the newly desired ID as the value. All + * keys must correspond to existing IDs in the presentation. All values must + * be unique in the presentation and must start with an alphanumeric + * character or an underscore (matches regex `[a-zA-Z0-9_]`); remaining + * characters may include those as well as a hyphen or colon (matches regex + * `[a-zA-Z0-9_-:]`). The length of the new ID must not be less than 5 or + * greater than 50. If any IDs of source objects are omitted from the map, + * a new random ID will be assigned. If the map is empty or unset, all + * duplicate objects will receive a new random ID. + */ + objectIds?: any; + } + /** + * The response of duplicating an object. + */ + interface Schema$DuplicateObjectResponse { + /** + * The ID of the new duplicate object. + */ + objectId?: string; + } + /** + * A PageElement kind representing a joined collection of PageElements. + */ + interface Schema$Group { + /** + * The collection of elements in the group. The minimum size of a group + * is 2. + */ + children?: Schema$PageElement[]; + } + /** + * Groups objects to create an object group. For example, groups PageElements + * to create a Group on the same page as all the children. + */ + interface Schema$GroupObjectsRequest { + /** + * The object IDs of the objects to group. Only page elements can be + * grouped. There should be at least two page elements on the same page that + * are not already in another group. Some page elements, such as videos, + * tables and placeholder shapes cannot be grouped. + */ + childrenObjectIds?: string[]; + /** + * A user-supplied object ID for the group to be created. If you specify an + * ID, it must be unique among all pages and page elements in the + * presentation. The ID must start with an alphanumeric character or an + * underscore (matches regex `[a-zA-Z0-9_]`); remaining characters may + * include those as well as a hyphen or colon (matches regex + * `[a-zA-Z0-9_-:]`). The length of the ID must not be less than 5 or + * greater than 50. If you don't specify an ID, a unique one is + * generated. + */ + groupObjectId?: string; + } + /** + * The result of grouping objects. + */ + interface Schema$GroupObjectsResponse { + /** + * The object ID of the created group. + */ + objectId?: string; + } + /** + * A PageElement kind representing an image. + */ + interface Schema$Image { + /** + * An URL to an image with a default lifetime of 30 minutes. This URL is + * tagged with the account of the requester. Anyone with the URL effectively + * accesses the image as the original requester. Access to the image may be + * lost if the presentation's sharing settings change. + */ + contentUrl?: string; + /** + * The properties of the image. + */ + imageProperties?: Schema$ImageProperties; + /** + * The source URL is the URL used to insert the image. The source URL can be + * empty. + */ + sourceUrl?: string; + } + /** + * The properties of the Image. + */ + interface Schema$ImageProperties { + /** + * The brightness effect of the image. The value should be in the interval + * [-1.0, 1.0], where 0 means no effect. This property is read-only. + */ + brightness?: number; + /** + * The contrast effect of the image. The value should be in the interval + * [-1.0, 1.0], where 0 means no effect. This property is read-only. + */ + contrast?: number; + /** + * The crop properties of the image. If not set, the image is not cropped. + * This property is read-only. + */ + cropProperties?: Schema$CropProperties; + /** + * The hyperlink destination of the image. If unset, there is no link. + */ + link?: Schema$Link; + /** + * The outline of the image. If not set, the image has no outline. + */ + outline?: Schema$Outline; + /** + * The recolor effect of the image. If not set, the image is not recolored. + * This property is read-only. + */ + recolor?: Schema$Recolor; + /** + * The shadow of the image. If not set, the image has no shadow. This + * property is read-only. + */ + shadow?: Schema$Shadow; + /** + * The transparency effect of the image. The value should be in the interval + * [0.0, 1.0], where 0 means no effect and 1 means completely transparent. + * This property is read-only. + */ + transparency?: number; + } + /** + * Inserts columns into a table. Other columns in the table will be resized + * to fit the new column. + */ + interface Schema$InsertTableColumnsRequest { + /** + * The reference table cell location from which columns will be inserted. A + * new column will be inserted to the left (or right) of the column where + * the reference cell is. If the reference cell is a merged cell, a new + * column will be inserted to the left (or right) of the merged cell. + */ + cellLocation?: Schema$TableCellLocation; + /** + * Whether to insert new columns to the right of the reference cell + * location. - `True`: insert to the right. - `False`: insert to the left. + */ + insertRight?: boolean; + /** + * The number of columns to be inserted. Maximum 20 per request. + */ + number?: number; + /** + * The table to insert columns into. + */ + tableObjectId?: string; + } + /** + * Inserts rows into a table. + */ + interface Schema$InsertTableRowsRequest { + /** + * The reference table cell location from which rows will be inserted. A + * new row will be inserted above (or below) the row where the reference + * cell is. If the reference cell is a merged cell, a new row will be + * inserted above (or below) the merged cell. + */ + cellLocation?: Schema$TableCellLocation; + /** + * Whether to insert new rows below the reference cell location. - `True`: + * insert below the cell. - `False`: insert above the cell. + */ + insertBelow?: boolean; + /** + * The number of rows to be inserted. Maximum 20 per request. + */ + number?: number; + /** + * The table to insert rows into. + */ + tableObjectId?: string; + } + /** + * Inserts text into a shape or a table cell. + */ + interface Schema$InsertTextRequest { + /** + * The optional table cell location if the text is to be inserted into a + * table cell. If present, the object_id must refer to a table. + */ + cellLocation?: Schema$TableCellLocation; + /** + * The index where the text will be inserted, in Unicode code units, based + * on TextElement indexes. The index is zero-based and is computed from the + * start of the string. The index may be adjusted to prevent insertions + * inside Unicode grapheme clusters. In these cases, the text will be + * inserted immediately after the grapheme cluster. + */ + insertionIndex?: number; + /** + * The object ID of the shape or table where the text will be inserted. + */ + objectId?: string; + /** + * The text to be inserted. Inserting a newline character will implicitly + * create a new ParagraphMarker at that index. The paragraph style of the + * new paragraph will be copied from the paragraph at the current insertion + * index, including lists and bullets. Text styles for inserted text will + * be determined automatically, generally preserving the styling of + * neighboring text. In most cases, the text will be added to the TextRun + * that exists at the insertion index. Some control characters + * (U+0000-U+0008, U+000C-U+001F) and characters from the Unicode Basic + * Multilingual Plane Private Use Area (U+E000-U+F8FF) will be stripped out + * of the inserted text. + */ + text?: string; + } + /** + * The user-specified ID mapping for a placeholder that will be created on a + * slide from a specified layout. + */ + interface Schema$LayoutPlaceholderIdMapping { + /** + * The placeholder on a layout that will be applied to a slide. Only type + * and index are needed. For example, a predefined `TITLE_AND_BODY` layout + * may usually have a TITLE placeholder with index 0 and a BODY placeholder + * with index 0. + */ + layoutPlaceholder?: Schema$Placeholder; + /** + * The object ID of the placeholder on a layout that will be applied to a + * slide. + */ + layoutPlaceholderObjectId?: string; + /** + * A user-supplied object ID for the placeholder identified above that to be + * created onto a slide. If you specify an ID, it must be unique among all + * pages and page elements in the presentation. The ID must start with an + * alphanumeric character or an underscore (matches regex `[a-zA-Z0-9_]`); + * remaining characters may include those as well as a hyphen or colon + * (matches regex `[a-zA-Z0-9_-:]`). The length of the ID must not be less + * than 5 or greater than 50. If you don't specify an ID, a unique one + * is generated. + */ + objectId?: string; + } + /** + * The properties of Page are only relevant for pages with page_type LAYOUT. + */ + interface Schema$LayoutProperties { + /** + * The human-readable name of the layout. + */ + displayName?: string; + /** + * The object ID of the master that this layout is based on. + */ + masterObjectId?: string; + /** + * The name of the layout. + */ + name?: string; + } + /** + * Slide layout reference. This may reference either: - A predefined layout - + * One of the layouts in the presentation. + */ + interface Schema$LayoutReference { + /** + * Layout ID: the object ID of one of the layouts in the presentation. + */ + layoutId?: string; + /** + * Predefined layout. + */ + predefinedLayout?: string; + } + /** + * A PageElement kind representing a non-connector line, straight connector, + * curved connector, or bent connector. + */ + interface Schema$Line { + /** + * The properties of the line. + */ + lineProperties?: Schema$LineProperties; + /** + * The type of the line. + */ + lineType?: string; + } + /** + * The fill of the line. + */ + interface Schema$LineFill { + /** + * Solid color fill. + */ + solidFill?: Schema$SolidFill; + } + /** + * The properties of the Line. When unset, these fields default to values + * that match the appearance of new lines created in the Slides editor. + */ + interface Schema$LineProperties { + /** + * The dash style of the line. + */ + dashStyle?: string; + /** + * The style of the arrow at the end of the line. + */ + endArrow?: string; + /** + * The fill of the line. The default line fill matches the defaults for new + * lines created in the Slides editor. + */ + lineFill?: Schema$LineFill; + /** + * The hyperlink destination of the line. If unset, there is no link. + */ + link?: Schema$Link; + /** + * The style of the arrow at the beginning of the line. + */ + startArrow?: string; + /** + * The thickness of the line. + */ + weight?: Schema$Dimension; + } + /** + * A hypertext link. + */ + interface Schema$Link { + /** + * If set, indicates this is a link to the specific page in this + * presentation with this ID. A page with this ID may not exist. + */ + pageObjectId?: string; + /** + * If set, indicates this is a link to a slide in this presentation, + * addressed by its position. + */ + relativeLink?: string; + /** + * If set, indicates this is a link to the slide at this zero-based index in + * the presentation. There may not be a slide at this index. + */ + slideIndex?: number; + /** + * If set, indicates this is a link to the external web page at this URL. + */ + url?: string; + } + /** + * A List describes the look and feel of bullets belonging to paragraphs + * associated with a list. A paragraph that is part of a list has an implicit + * reference to that list's ID. + */ + interface Schema$List { + /** + * The ID of the list. + */ + listId?: string; + /** + * A map of nesting levels to the properties of bullets at the associated + * level. A list has at most nine levels of nesting, so the possible values + * for the keys of this map are 0 through 8, inclusive. + */ + nestingLevel?: any; + } + /** + * The properties of Page that are only relevant for pages with page_type + * MASTER. + */ + interface Schema$MasterProperties { + /** + * The human-readable name of the master. + */ + displayName?: string; + } + /** + * Merges cells in a Table. + */ + interface Schema$MergeTableCellsRequest { + /** + * The object ID of the table. + */ + objectId?: string; + /** + * The table range specifying which cells of the table to merge. Any text + * in the cells being merged will be concatenated and stored in the + * upper-left ("head") cell of the range. If the range is + * non-rectangular (which can occur in some cases where the range covers + * cells that are already merged), a 400 bad request error is returned. + */ + tableRange?: Schema$TableRange; + } + /** + * Contains properties describing the look and feel of a list bullet at a + * given level of nesting. + */ + interface Schema$NestingLevel { + /** + * The style of a bullet at this level of nesting. + */ + bulletStyle?: Schema$TextStyle; + } + /** + * The properties of Page that are only relevant for pages with page_type + * NOTES. + */ + interface Schema$NotesProperties { + /** + * The object ID of the shape on this notes page that contains the speaker + * notes for the corresponding slide. The actual shape may not always exist + * on the notes page. Inserting text using this object ID will automatically + * create the shape. In this case, the actual shape may have different + * object ID. The `GetPresentation` or `GetPage` action will always return + * the latest object ID. + */ + speakerNotesObjectId?: string; + } + /** + * A themeable solid color value. + */ + interface Schema$OpaqueColor { + /** + * An opaque RGB color. + */ + rgbColor?: Schema$RgbColor; + /** + * An opaque theme color. + */ + themeColor?: string; + } + /** + * A color that can either be fully opaque or fully transparent. + */ + interface Schema$OptionalColor { + /** + * If set, this will be used as an opaque color. If unset, this represents a + * transparent color. + */ + opaqueColor?: Schema$OpaqueColor; + } + /** + * The outline of a PageElement. If these fields are unset, they may be + * inherited from a parent placeholder if it exists. If there is no parent, + * the fields will default to the value used for new page elements created in + * the Slides editor, which may depend on the page element kind. + */ + interface Schema$Outline { + /** + * The dash style of the outline. + */ + dashStyle?: string; + /** + * The fill of the outline. + */ + outlineFill?: Schema$OutlineFill; + /** + * The outline property state. Updating the outline on a page element will + * implicitly update this field to `RENDERED`, unless another value is + * specified in the same request. To have no outline on a page element, set + * this field to `NOT_RENDERED`. In this case, any other outline fields set + * in the same request will be ignored. + */ + propertyState?: string; + /** + * The thickness of the outline. + */ + weight?: Schema$Dimension; + } + /** + * The fill of the outline. + */ + interface Schema$OutlineFill { + /** + * Solid color fill. + */ + solidFill?: Schema$SolidFill; + } + /** + * A page in a presentation. + */ + interface Schema$Page { + /** + * Layout specific properties. Only set if page_type = LAYOUT. + */ + layoutProperties?: Schema$LayoutProperties; + /** + * Master specific properties. Only set if page_type = MASTER. + */ + masterProperties?: Schema$MasterProperties; + /** + * Notes specific properties. Only set if page_type = NOTES. + */ + notesProperties?: Schema$NotesProperties; + /** + * The object ID for this page. Object IDs used by Page and PageElement + * share the same namespace. + */ + objectId?: string; + /** + * The page elements rendered on the page. + */ + pageElements?: Schema$PageElement[]; + /** + * The properties of the page. + */ + pageProperties?: Schema$PageProperties; + /** + * The type of the page. + */ + pageType?: string; + /** + * The revision ID of the presentation containing this page. Can be used in + * update requests to assert that the presentation revision hasn't + * changed since the last read operation. Only populated if the user has + * edit access to the presentation. The format of the revision ID may + * change over time, so it should be treated opaquely. A returned revision + * ID is only guaranteed to be valid for 24 hours after it has been returned + * and cannot be shared across users. If the revision ID is unchanged + * between calls, then the presentation has not changed. Conversely, a + * changed ID (for the same presentation and user) usually means the + * presentation has been updated; however, a changed ID can also be due to + * internal factors such as ID format changes. + */ + revisionId?: string; + /** + * Slide specific properties. Only set if page_type = SLIDE. + */ + slideProperties?: Schema$SlideProperties; + } + /** + * The page background fill. + */ + interface Schema$PageBackgroundFill { + /** + * The background fill property state. Updating the fill on a page will + * implicitly update this field to `RENDERED`, unless another value is + * specified in the same request. To have no fill on a page, set this field + * to `NOT_RENDERED`. In this case, any other fill fields set in the same + * request will be ignored. + */ + propertyState?: string; + /** + * Solid color fill. + */ + solidFill?: Schema$SolidFill; + /** + * Stretched picture fill. + */ + stretchedPictureFill?: Schema$StretchedPictureFill; + } + /** + * A visual element rendered on a page. + */ + interface Schema$PageElement { + /** + * The description of the page element. Combined with title to display alt + * text. + */ + description?: string; + /** + * A collection of page elements joined as a single unit. + */ + elementGroup?: Schema$Group; + /** + * An image page element. + */ + image?: Schema$Image; + /** + * A line page element. + */ + line?: Schema$Line; + /** + * The object ID for this page element. Object IDs used by + * google.apps.slides.v1.Page and google.apps.slides.v1.PageElement share + * the same namespace. + */ + objectId?: string; + /** + * A generic shape. + */ + shape?: Schema$Shape; + /** + * A linked chart embedded from Google Sheets. Unlinked charts are + * represented as images. + */ + sheetsChart?: Schema$SheetsChart; + /** + * The size of the page element. + */ + size?: Schema$Size; + /** + * A table page element. + */ + table?: Schema$Table; + /** + * The title of the page element. Combined with description to display alt + * text. + */ + title?: string; + /** + * The transform of the page element. The visual appearance of the page + * element is determined by its absolute transform. To compute the absolute + * transform, preconcatenate a page element's transform with the + * transforms of all of its parent groups. If the page element is not in a + * group, its absolute transform is the same as the value in this field. The + * initial transform for the newly created Group is always the identity + * transform. + */ + transform?: Schema$AffineTransform; + /** + * A video page element. + */ + video?: Schema$Video; + /** + * A word art page element. + */ + wordArt?: Schema$WordArt; + } + /** + * Common properties for a page element. Note: When you initially create a + * PageElement, the API may modify the values of both `size` and `transform`, + * but the visual size will be unchanged. + */ + interface Schema$PageElementProperties { + /** + * The object ID of the page where the element is located. + */ + pageObjectId?: string; + /** + * The size of the element. + */ + size?: Schema$Size; + /** + * The transform for the element. + */ + transform?: Schema$AffineTransform; + } + /** + * The properties of the Page. The page will inherit properties from the + * parent page. Depending on the page type the hierarchy is defined in either + * SlideProperties or LayoutProperties. + */ + interface Schema$PageProperties { + /** + * The color scheme of the page. If unset, the color scheme is inherited + * from a parent page. If the page has no parent, the color scheme uses a + * default Slides color scheme. This field is read-only. + */ + colorScheme?: Schema$ColorScheme; + /** + * The background fill of the page. If unset, the background fill is + * inherited from a parent page if it exists. If the page has no parent, + * then the background fill defaults to the corresponding fill in the Slides + * editor. + */ + pageBackgroundFill?: Schema$PageBackgroundFill; + } + /** + * A TextElement kind that represents the beginning of a new paragraph. + */ + interface Schema$ParagraphMarker { + /** + * The bullet for this paragraph. If not present, the paragraph does not + * belong to a list. + */ + bullet?: Schema$Bullet; + /** + * The paragraph's style + */ + style?: Schema$ParagraphStyle; + } + /** + * Styles that apply to a whole paragraph. If this text is contained in a + * shape with a parent placeholder, then these paragraph styles may be + * inherited from the parent. Which paragraph styles are inherited depend on + * the nesting level of lists: * A paragraph not in a list will inherit its + * paragraph style from the paragraph at the 0 nesting level of the list + * inside the parent placeholder. * A paragraph in a list will inherit its + * paragraph style from the paragraph at its corresponding nesting level of + * the list inside the parent placeholder. Inherited paragraph styles are + * represented as unset fields in this message. + */ + interface Schema$ParagraphStyle { + /** + * The text alignment for this paragraph. + */ + alignment?: string; + /** + * The text direction of this paragraph. If unset, the value defaults to + * LEFT_TO_RIGHT since text direction is not inherited. + */ + direction?: string; + /** + * The amount indentation for the paragraph on the side that corresponds to + * the end of the text, based on the current text direction. If unset, the + * value is inherited from the parent. + */ + indentEnd?: Schema$Dimension; + /** + * The amount of indentation for the start of the first line of the + * paragraph. If unset, the value is inherited from the parent. + */ + indentFirstLine?: Schema$Dimension; + /** + * The amount indentation for the paragraph on the side that corresponds to + * the start of the text, based on the current text direction. If unset, the + * value is inherited from the parent. + */ + indentStart?: Schema$Dimension; + /** + * The amount of space between lines, as a percentage of normal, where + * normal is represented as 100.0. If unset, the value is inherited from the + * parent. + */ + lineSpacing?: number; + /** + * The amount of extra space above the paragraph. If unset, the value is + * inherited from the parent. + */ + spaceAbove?: Schema$Dimension; + /** + * The amount of extra space below the paragraph. If unset, the value is + * inherited from the parent. + */ + spaceBelow?: Schema$Dimension; + /** + * The spacing mode for the paragraph. + */ + spacingMode?: string; + } + /** + * The placeholder information that uniquely identifies a placeholder shape. + */ + interface Schema$Placeholder { + /** + * The index of the placeholder. If the same placeholder types are present + * in the same page, they would have different index values. + */ + index?: number; + /** + * The object ID of this shape's parent placeholder. If unset, the + * parent placeholder shape does not exist, so the shape does not inherit + * properties from any other shape. + */ + parentObjectId?: string; + /** + * The type of the placeholder. + */ + type?: string; + } + /** + * A Google Slides presentation. + */ + interface Schema$Presentation { + /** + * The layouts in the presentation. A layout is a template that determines + * how content is arranged and styled on the slides that inherit from that + * layout. + */ + layouts?: Schema$Page[]; + /** + * The locale of the presentation, as an IETF BCP 47 language tag. + */ + locale?: string; + /** + * The slide masters in the presentation. A slide master contains all common + * page elements and the common properties for a set of layouts. They serve + * three purposes: - Placeholder shapes on a master contain the default + * text styles and shape properties of all placeholder shapes on pages + * that use that master. - The master page properties define the common page + * properties inherited by its layouts. - Any other shapes on the master + * slide will appear on all slides using that master, regardless of their + * layout. + */ + masters?: Schema$Page[]; + /** + * The notes master in the presentation. It serves three purposes: - + * Placeholder shapes on a notes master contain the default text styles and + * shape properties of all placeholder shapes on notes pages. Specifically, + * a `SLIDE_IMAGE` placeholder shape contains the slide thumbnail, and a + * `BODY` placeholder shape contains the speaker notes. - The notes master + * page properties define the common page properties inherited by all + * notes pages. - Any other shapes on the notes master will appear on all + * notes pages. The notes master is read-only. + */ + notesMaster?: Schema$Page; + /** + * The size of pages in the presentation. + */ + pageSize?: Schema$Size; + /** + * The ID of the presentation. + */ + presentationId?: string; + /** + * The revision ID of the presentation. Can be used in update requests to + * assert that the presentation revision hasn't changed since the last + * read operation. Only populated if the user has edit access to the + * presentation. The format of the revision ID may change over time, so it + * should be treated opaquely. A returned revision ID is only guaranteed to + * be valid for 24 hours after it has been returned and cannot be shared + * across users. If the revision ID is unchanged between calls, then the + * presentation has not changed. Conversely, a changed ID (for the same + * presentation and user) usually means the presentation has been updated; + * however, a changed ID can also be due to internal factors such as ID + * format changes. + */ + revisionId?: string; + /** + * The slides in the presentation. A slide inherits properties from a slide + * layout. + */ + slides?: Schema$Page[]; + /** + * The title of the presentation. + */ + title?: string; + } + /** + * Specifies a contiguous range of an indexed collection, such as characters + * in text. + */ + interface Schema$Range { + /** + * The optional zero-based index of the end of the collection. Required for + * `FIXED_RANGE` ranges. + */ + endIndex?: number; + /** + * The optional zero-based index of the beginning of the collection. + * Required for `FIXED_RANGE` and `FROM_START_INDEX` ranges. + */ + startIndex?: number; + /** + * The type of range. + */ + type?: string; + } + /** + * A recolor effect applied on an image. + */ + interface Schema$Recolor { + /** + * The name of the recolor effect. The name is determined from the + * `recolor_stops` by matching the gradient against the colors in the + * page's current color scheme. This property is read-only. + */ + name?: string; + /** + * The recolor effect is represented by a gradient, which is a list of color + * stops. The colors in the gradient will replace the corresponding colors + * at the same position in the color palette and apply to the image. This + * property is read-only. + */ + recolorStops?: Schema$ColorStop[]; + } + /** + * Refreshes an embedded Google Sheets chart by replacing it with the latest + * version of the chart from Google Sheets. NOTE: Refreshing charts requires + * at least one of the spreadsheets.readonly, spreadsheets, drive.readonly, or + * drive OAuth scopes. + */ + interface Schema$RefreshSheetsChartRequest { + /** + * The object ID of the chart to refresh. + */ + objectId?: string; + } + /** + * Replaces all shapes that match the given criteria with the provided image. + * The images replacing the shapes are rectangular after being inserted into + * the presentation and do not take on the forms of the shapes. + */ + interface Schema$ReplaceAllShapesWithImageRequest { + /** + * If set, this request will replace all of the shapes that contain the + * given text. + */ + containsText?: Schema$SubstringMatchCriteria; + /** + * The image replace method. If you specify both a `replace_method` and an + * `image_replace_method`, the `image_replace_method` takes precedence. If + * you do not specify a value for `image_replace_method`, but specify a + * value for `replace_method`, then the specified `replace_method` value is + * used. If you do not specify either, then CENTER_INSIDE is used. + */ + imageReplaceMethod?: string; + /** + * The image URL. The image is fetched once at insertion time and a copy is + * stored for display inside the presentation. Images must be less than 50MB + * in size, cannot exceed 25 megapixels, and must be in one of PNG, JPEG, or + * GIF format. The provided URL can be at most 2 kB in length. The URL + * itself is saved with the image, and exposed via the Image.source_url + * field. + */ + imageUrl?: string; + /** + * If non-empty, limits the matches to page elements only on the given + * pages. Returns a 400 bad request error if given the page object ID of a + * notes page or a notes master, or if a page with that object ID + * doesn't exist in the presentation. + */ + pageObjectIds?: string[]; + /** + * The replace method. Deprecated: use `image_replace_method` instead. If + * you specify both a `replace_method` and an `image_replace_method`, the + * `image_replace_method` takes precedence. + */ + replaceMethod?: string; + } + /** + * The result of replacing shapes with an image. + */ + interface Schema$ReplaceAllShapesWithImageResponse { + /** + * The number of shapes replaced with images. + */ + occurrencesChanged?: number; + } + /** + * Replaces all shapes that match the given criteria with the provided Google + * Sheets chart. The chart will be scaled and centered to fit within the + * bounds of the original shape. NOTE: Replacing shapes with a chart requires + * at least one of the spreadsheets.readonly, spreadsheets, drive.readonly, or + * drive OAuth scopes. + */ + interface Schema$ReplaceAllShapesWithSheetsChartRequest { + /** + * The ID of the specific chart in the Google Sheets spreadsheet. + */ + chartId?: number; + /** + * The criteria that the shapes must match in order to be replaced. The + * request will replace all of the shapes that contain the given text. + */ + containsText?: Schema$SubstringMatchCriteria; + /** + * The mode with which the chart is linked to the source spreadsheet. When + * not specified, the chart will be an image that is not linked. + */ + linkingMode?: string; + /** + * If non-empty, limits the matches to page elements only on the given + * pages. Returns a 400 bad request error if given the page object ID of a + * notes page or a notes master, or if a page with that object ID + * doesn't exist in the presentation. + */ + pageObjectIds?: string[]; + /** + * The ID of the Google Sheets spreadsheet that contains the chart. + */ + spreadsheetId?: string; + } + /** + * The result of replacing shapes with a Google Sheets chart. + */ + interface Schema$ReplaceAllShapesWithSheetsChartResponse { + /** + * The number of shapes replaced with charts. + */ + occurrencesChanged?: number; + } + /** + * Replaces all instances of text matching a criteria with replace text. + */ + interface Schema$ReplaceAllTextRequest { + /** + * Finds text in a shape matching this substring. + */ + containsText?: Schema$SubstringMatchCriteria; + /** + * If non-empty, limits the matches to page elements only on the given + * pages. Returns a 400 bad request error if given the page object ID of a + * notes master, or if a page with that object ID doesn't exist in the + * presentation. + */ + pageObjectIds?: string[]; + /** + * The text that will replace the matched text. + */ + replaceText?: string; + } + /** + * The result of replacing text. + */ + interface Schema$ReplaceAllTextResponse { + /** + * The number of occurrences changed by replacing all text. + */ + occurrencesChanged?: number; + } + /** + * Replaces an existing image with a new image. Replacing an image removes + * some image effects from the existing image. + */ + interface Schema$ReplaceImageRequest { + /** + * The ID of the existing image that will be replaced. + */ + imageObjectId?: string; + /** + * The replacement method. + */ + imageReplaceMethod?: string; + /** + * The URL of the new image. The image is fetched once at insertion time + * and a copy is stored for display inside the presentation. Images must be + * less than 50MB in size, cannot exceed 25 megapixels, and must be in one + * of PNG, JPEG, or GIF format. The provided URL can be at most 2 kB in + * length. The URL itself is saved with the image, and exposed via the + * Image.source_url field. + */ + url?: string; + } + /** + * A single kind of update to apply to a presentation. + */ + interface Schema$Request { + /** + * Creates an image. + */ + createImage?: Schema$CreateImageRequest; + /** + * Creates a line. + */ + createLine?: Schema$CreateLineRequest; + /** + * Creates bullets for paragraphs. + */ + createParagraphBullets?: Schema$CreateParagraphBulletsRequest; + /** + * Creates a new shape. + */ + createShape?: Schema$CreateShapeRequest; + /** + * Creates an embedded Google Sheets chart. + */ + createSheetsChart?: Schema$CreateSheetsChartRequest; + /** + * Creates a new slide. + */ + createSlide?: Schema$CreateSlideRequest; + /** + * Creates a new table. + */ + createTable?: Schema$CreateTableRequest; + /** + * Creates a video. + */ + createVideo?: Schema$CreateVideoRequest; + /** + * Deletes a page or page element from the presentation. + */ + deleteObject?: Schema$DeleteObjectRequest; + /** + * Deletes bullets from paragraphs. + */ + deleteParagraphBullets?: Schema$DeleteParagraphBulletsRequest; + /** + * Deletes a column from a table. + */ + deleteTableColumn?: Schema$DeleteTableColumnRequest; + /** + * Deletes a row from a table. + */ + deleteTableRow?: Schema$DeleteTableRowRequest; + /** + * Deletes text from a shape or a table cell. + */ + deleteText?: Schema$DeleteTextRequest; + /** + * Duplicates a slide or page element. + */ + duplicateObject?: Schema$DuplicateObjectRequest; + /** + * Groups objects, such as page elements. + */ + groupObjects?: Schema$GroupObjectsRequest; + /** + * Inserts columns into a table. + */ + insertTableColumns?: Schema$InsertTableColumnsRequest; + /** + * Inserts rows into a table. + */ + insertTableRows?: Schema$InsertTableRowsRequest; + /** + * Inserts text into a shape or table cell. + */ + insertText?: Schema$InsertTextRequest; + /** + * Merges cells in a Table. + */ + mergeTableCells?: Schema$MergeTableCellsRequest; + /** + * Refreshes a Google Sheets chart. + */ + refreshSheetsChart?: Schema$RefreshSheetsChartRequest; + /** + * Replaces all shapes matching some criteria with an image. + */ + replaceAllShapesWithImage?: Schema$ReplaceAllShapesWithImageRequest; + /** + * Replaces all shapes matching some criteria with a Google Sheets chart. + */ + replaceAllShapesWithSheetsChart?: Schema$ReplaceAllShapesWithSheetsChartRequest; + /** + * Replaces all instances of specified text. + */ + replaceAllText?: Schema$ReplaceAllTextRequest; + /** + * Replaces an existing image with a new image. + */ + replaceImage?: Schema$ReplaceImageRequest; + /** + * Ungroups objects, such as groups. + */ + ungroupObjects?: Schema$UngroupObjectsRequest; + /** + * Unmerges cells in a Table. + */ + unmergeTableCells?: Schema$UnmergeTableCellsRequest; + /** + * Updates the properties of an Image. + */ + updateImageProperties?: Schema$UpdateImagePropertiesRequest; + /** + * Updates the properties of a Line. + */ + updateLineProperties?: Schema$UpdateLinePropertiesRequest; + /** + * Updates the alt text title and/or description of a page element. + */ + updatePageElementAltText?: Schema$UpdatePageElementAltTextRequest; + /** + * Updates the transform of a page element. + */ + updatePageElementTransform?: Schema$UpdatePageElementTransformRequest; + /** + * Updates the properties of a Page. + */ + updatePageProperties?: Schema$UpdatePagePropertiesRequest; + /** + * Updates the styling of paragraphs within a Shape or Table. + */ + updateParagraphStyle?: Schema$UpdateParagraphStyleRequest; + /** + * Updates the properties of a Shape. + */ + updateShapeProperties?: Schema$UpdateShapePropertiesRequest; + /** + * Updates the position of a set of slides in the presentation. + */ + updateSlidesPosition?: Schema$UpdateSlidesPositionRequest; + /** + * Updates the properties of the table borders in a Table. + */ + updateTableBorderProperties?: Schema$UpdateTableBorderPropertiesRequest; + /** + * Updates the properties of a TableCell. + */ + updateTableCellProperties?: Schema$UpdateTableCellPropertiesRequest; + /** + * Updates the properties of a Table column. + */ + updateTableColumnProperties?: Schema$UpdateTableColumnPropertiesRequest; + /** + * Updates the properties of a Table row. + */ + updateTableRowProperties?: Schema$UpdateTableRowPropertiesRequest; + /** + * Updates the styling of text within a Shape or Table. + */ + updateTextStyle?: Schema$UpdateTextStyleRequest; + /** + * Updates the properties of a Video. + */ + updateVideoProperties?: Schema$UpdateVideoPropertiesRequest; + } + /** + * A single response from an update. + */ + interface Schema$Response { + /** + * The result of creating an image. + */ + createImage?: Schema$CreateImageResponse; + /** + * The result of creating a line. + */ + createLine?: Schema$CreateLineResponse; + /** + * The result of creating a shape. + */ + createShape?: Schema$CreateShapeResponse; + /** + * The result of creating a Google Sheets chart. + */ + createSheetsChart?: Schema$CreateSheetsChartResponse; + /** + * The result of creating a slide. + */ + createSlide?: Schema$CreateSlideResponse; + /** + * The result of creating a table. + */ + createTable?: Schema$CreateTableResponse; + /** + * The result of creating a video. + */ + createVideo?: Schema$CreateVideoResponse; + /** + * The result of duplicating an object. + */ + duplicateObject?: Schema$DuplicateObjectResponse; + /** + * The result of grouping objects. + */ + groupObjects?: Schema$GroupObjectsResponse; + /** + * The result of replacing all shapes matching some criteria with an image. + */ + replaceAllShapesWithImage?: Schema$ReplaceAllShapesWithImageResponse; + /** + * The result of replacing all shapes matching some criteria with a Google + * Sheets chart. + */ + replaceAllShapesWithSheetsChart?: Schema$ReplaceAllShapesWithSheetsChartResponse; + /** + * The result of replacing text. + */ + replaceAllText?: Schema$ReplaceAllTextResponse; + } + /** + * An RGB color. + */ + interface Schema$RgbColor { + /** + * The blue component of the color, from 0.0 to 1.0. + */ + blue?: number; + /** + * The green component of the color, from 0.0 to 1.0. + */ + green?: number; + /** + * The red component of the color, from 0.0 to 1.0. + */ + red?: number; + } + /** + * The shadow properties of a page element. If these fields are unset, they + * may be inherited from a parent placeholder if it exists. If there is no + * parent, the fields will default to the value used for new page elements + * created in the Slides editor, which may depend on the page element kind. + */ + interface Schema$Shadow { + /** + * The alignment point of the shadow, that sets the origin for translate, + * scale and skew of the shadow. + */ + alignment?: string; + /** + * The alpha of the shadow's color, from 0.0 to 1.0. + */ + alpha?: number; + /** + * The radius of the shadow blur. The larger the radius, the more diffuse + * the shadow becomes. + */ + blurRadius?: Schema$Dimension; + /** + * The shadow color value. + */ + color?: Schema$OpaqueColor; + /** + * The shadow property state. Updating the shadow on a page element will + * implicitly update this field to `RENDERED`, unless another value is + * specified in the same request. To have no shadow on a page element, set + * this field to `NOT_RENDERED`. In this case, any other shadow fields set + * in the same request will be ignored. + */ + propertyState?: string; + /** + * Whether the shadow should rotate with the shape. + */ + rotateWithShape?: boolean; + /** + * Transform that encodes the translate, scale, and skew of the shadow, + * relative to the alignment position. + */ + transform?: Schema$AffineTransform; + /** + * The type of the shadow. + */ + type?: string; + } + /** + * A PageElement kind representing a generic shape that does not have a more + * specific classification. + */ + interface Schema$Shape { + /** + * Placeholders are shapes that are inherit from corresponding placeholders + * on layouts and masters. If set, the shape is a placeholder shape and any + * inherited properties can be resolved by looking at the parent placeholder + * identified by the Placeholder.parent_object_id field. + */ + placeholder?: Schema$Placeholder; + /** + * The properties of the shape. + */ + shapeProperties?: Schema$ShapeProperties; + /** + * The type of the shape. + */ + shapeType?: string; + /** + * The text content of the shape. + */ + text?: Schema$TextContent; + } + /** + * The shape background fill. + */ + interface Schema$ShapeBackgroundFill { + /** + * The background fill property state. Updating the fill on a shape will + * implicitly update this field to `RENDERED`, unless another value is + * specified in the same request. To have no fill on a shape, set this field + * to `NOT_RENDERED`. In this case, any other fill fields set in the same + * request will be ignored. + */ + propertyState?: string; + /** + * Solid color fill. + */ + solidFill?: Schema$SolidFill; + } + /** + * The properties of a Shape. If the shape is a placeholder shape as + * determined by the placeholder field, then these properties may be inherited + * from a parent placeholder shape. Determining the rendered value of the + * property depends on the corresponding property_state field value. + */ + interface Schema$ShapeProperties { + /** + * The alignment of the content in the shape. If unspecified, the alignment + * is inherited from a parent placeholder if it exists. If the shape has no + * parent, the default alignment matches the alignment for new shapes + * created in the Slides editor. + */ + contentAlignment?: string; + /** + * The hyperlink destination of the shape. If unset, there is no link. Links + * are not inherited from parent placeholders. + */ + link?: Schema$Link; + /** + * The outline of the shape. If unset, the outline is inherited from a + * parent placeholder if it exists. If the shape has no parent, then the + * default outline depends on the shape type, matching the defaults for new + * shapes created in the Slides editor. + */ + outline?: Schema$Outline; + /** + * The shadow properties of the shape. If unset, the shadow is inherited + * from a parent placeholder if it exists. If the shape has no parent, then + * the default shadow matches the defaults for new shapes created in the + * Slides editor. This property is read-only. + */ + shadow?: Schema$Shadow; + /** + * The background fill of the shape. If unset, the background fill is + * inherited from a parent placeholder if it exists. If the shape has no + * parent, then the default background fill depends on the shape type, + * matching the defaults for new shapes created in the Slides editor. + */ + shapeBackgroundFill?: Schema$ShapeBackgroundFill; + } + /** + * A PageElement kind representing a linked chart embedded from Google Sheets. + */ + interface Schema$SheetsChart { + /** + * The ID of the specific chart in the Google Sheets spreadsheet that is + * embedded. + */ + chartId?: number; + /** + * The URL of an image of the embedded chart, with a default lifetime of 30 + * minutes. This URL is tagged with the account of the requester. Anyone + * with the URL effectively accesses the image as the original requester. + * Access to the image may be lost if the presentation's sharing + * settings change. + */ + contentUrl?: string; + /** + * The properties of the Sheets chart. + */ + sheetsChartProperties?: Schema$SheetsChartProperties; + /** + * The ID of the Google Sheets spreadsheet that contains the source chart. + */ + spreadsheetId?: string; + } + /** + * The properties of the SheetsChart. + */ + interface Schema$SheetsChartProperties { + /** + * The properties of the embedded chart image. + */ + chartImageProperties?: Schema$ImageProperties; + } + /** + * A width and height. + */ + interface Schema$Size { + /** + * The height of the object. + */ + height?: Schema$Dimension; + /** + * The width of the object. + */ + width?: Schema$Dimension; + } + /** + * The properties of Page that are only relevant for pages with page_type + * SLIDE. + */ + interface Schema$SlideProperties { + /** + * The object ID of the layout that this slide is based on. This property is + * read-only. + */ + layoutObjectId?: string; + /** + * The object ID of the master that this slide is based on. This property is + * read-only. + */ + masterObjectId?: string; + /** + * The notes page that this slide is associated with. It defines the visual + * appearance of a notes page when printing or exporting slides with speaker + * notes. A notes page inherits properties from the notes master. The + * placeholder shape with type BODY on the notes page contains the speaker + * notes for this slide. The ID of this shape is identified by the + * speakerNotesObjectId field. The notes page is read-only except for the + * text content and styles of the speaker notes shape. This property is + * read-only. + */ + notesPage?: Schema$Page; + } + /** + * A solid color fill. The page or page element is filled entirely with the + * specified color value. If any field is unset, its value may be inherited + * from a parent placeholder if it exists. + */ + interface Schema$SolidFill { + /** + * The fraction of this `color` that should be applied to the pixel. That + * is, the final pixel color is defined by the equation: pixel color = + * alpha * (color) + (1.0 - alpha) * (background color) This means that a + * value of 1.0 corresponds to a solid color, whereas a value of 0.0 + * corresponds to a completely transparent color. + */ + alpha?: number; + /** + * The color value of the solid fill. + */ + color?: Schema$OpaqueColor; + } + /** + * The stretched picture fill. The page or page element is filled entirely + * with the specified picture. The picture is stretched to fit its container. + */ + interface Schema$StretchedPictureFill { + /** + * Reading the content_url: An URL to a picture with a default lifetime of + * 30 minutes. This URL is tagged with the account of the requester. Anyone + * with the URL effectively accesses the picture as the original requester. + * Access to the picture may be lost if the presentation's sharing + * settings change. Writing the content_url: The picture is fetched once + * at insertion time and a copy is stored for display inside the + * presentation. Pictures must be less than 50MB in size, cannot exceed 25 + * megapixels, and must be in one of PNG, JPEG, or GIF format. The provided + * URL can be at most 2 kB in length. + */ + contentUrl?: string; + /** + * The original size of the picture fill. This field is read-only. + */ + size?: Schema$Size; + } + /** + * A criteria that matches a specific string of text in a shape or table. + */ + interface Schema$SubstringMatchCriteria { + /** + * Indicates whether the search should respect case: - `True`: the search + * is case sensitive. - `False`: the search is case insensitive. + */ + matchCase?: boolean; + /** + * The text to search for in the shape or table. + */ + text?: string; + } + /** + * A PageElement kind representing a table. + */ + interface Schema$Table { + /** + * Number of columns in the table. + */ + columns?: number; + /** + * Properties of horizontal cell borders. A table's horizontal cell + * borders are represented as a grid. The grid has one more row than the + * number of rows in the table and the same number of columns as the table. + * For example, if the table is 3 x 3, its horizontal borders will be + * represented as a grid with 4 rows and 3 columns. + */ + horizontalBorderRows?: Schema$TableBorderRow[]; + /** + * Number of rows in the table. + */ + rows?: number; + /** + * Properties of each column. + */ + tableColumns?: Schema$TableColumnProperties[]; + /** + * Properties and contents of each row. Cells that span multiple rows are + * contained in only one of these rows and have a row_span greater than 1. + */ + tableRows?: Schema$TableRow[]; + /** + * Properties of vertical cell borders. A table's vertical cell borders + * are represented as a grid. The grid has the same number of rows as the + * table and one more column than the number of columns in the table. For + * example, if the table is 3 x 3, its vertical borders will be represented + * as a grid with 3 rows and 4 columns. + */ + verticalBorderRows?: Schema$TableBorderRow[]; + } + /** + * The properties of each border cell. + */ + interface Schema$TableBorderCell { + /** + * The location of the border within the border table. + */ + location?: Schema$TableCellLocation; + /** + * The border properties. + */ + tableBorderProperties?: Schema$TableBorderProperties; + } + /** + * The fill of the border. + */ + interface Schema$TableBorderFill { + /** + * Solid fill. + */ + solidFill?: Schema$SolidFill; + } + /** + * The border styling properties of the TableBorderCell. + */ + interface Schema$TableBorderProperties { + /** + * The dash style of the border. + */ + dashStyle?: string; + /** + * The fill of the table border. + */ + tableBorderFill?: Schema$TableBorderFill; + /** + * The thickness of the border. + */ + weight?: Schema$Dimension; + } + /** + * Contents of each border row in a table. + */ + interface Schema$TableBorderRow { + /** + * Properties of each border cell. When a border's adjacent table cells + * are merged, it is not included in the response. + */ + tableBorderCells?: Schema$TableBorderCell[]; + } + /** + * Properties and contents of each table cell. + */ + interface Schema$TableCell { + /** + * Column span of the cell. + */ + columnSpan?: number; + /** + * The location of the cell within the table. + */ + location?: Schema$TableCellLocation; + /** + * Row span of the cell. + */ + rowSpan?: number; + /** + * The properties of the table cell. + */ + tableCellProperties?: Schema$TableCellProperties; + /** + * The text content of the cell. + */ + text?: Schema$TextContent; + } + /** + * The table cell background fill. + */ + interface Schema$TableCellBackgroundFill { + /** + * The background fill property state. Updating the fill on a table cell + * will implicitly update this field to `RENDERED`, unless another value is + * specified in the same request. To have no fill on a table cell, set this + * field to `NOT_RENDERED`. In this case, any other fill fields set in the + * same request will be ignored. + */ + propertyState?: string; + /** + * Solid color fill. + */ + solidFill?: Schema$SolidFill; + } + /** + * A location of a single table cell within a table. + */ + interface Schema$TableCellLocation { + /** + * The 0-based column index. + */ + columnIndex?: number; + /** + * The 0-based row index. + */ + rowIndex?: number; + } + /** + * The properties of the TableCell. + */ + interface Schema$TableCellProperties { + /** + * The alignment of the content in the table cell. The default alignment + * matches the alignment for newly created table cells in the Slides editor. + */ + contentAlignment?: string; + /** + * The background fill of the table cell. The default fill matches the fill + * for newly created table cells in the Slides editor. + */ + tableCellBackgroundFill?: Schema$TableCellBackgroundFill; + } + /** + * Properties of each column in a table. + */ + interface Schema$TableColumnProperties { + /** + * Width of a column. + */ + columnWidth?: Schema$Dimension; + } + /** + * A table range represents a reference to a subset of a table. It's + * important to note that the cells specified by a table range do not + * necessarily form a rectangle. For example, let's say we have a 3 x 3 + * table where all the cells of the last row are merged together. The table + * looks like this: [ ] A table range with + * location = (0, 0), row span = 3 and column span = 2 specifies the following + * cells: x x [ x ] + */ + interface Schema$TableRange { + /** + * The column span of the table range. + */ + columnSpan?: number; + /** + * The starting location of the table range. + */ + location?: Schema$TableCellLocation; + /** + * The row span of the table range. + */ + rowSpan?: number; + } + /** + * Properties and contents of each row in a table. + */ + interface Schema$TableRow { + /** + * Height of a row. + */ + rowHeight?: Schema$Dimension; + /** + * Properties and contents of each cell. Cells that span multiple columns + * are represented only once with a column_span greater than 1. As a result, + * the length of this collection does not always match the number of columns + * of the entire table. + */ + tableCells?: Schema$TableCell[]; + /** + * Properties of the row. + */ + tableRowProperties?: Schema$TableRowProperties; + } + /** + * Properties of each row in a table. + */ + interface Schema$TableRowProperties { + /** + * Minimum height of the row. The row will be rendered in the Slides editor + * at a height equal to or greater than this value in order to show all the + * text in the row's cell(s). + */ + minRowHeight?: Schema$Dimension; + } + /** + * The general text content. The text must reside in a compatible shape (e.g. + * text box or rectangle) or a table cell in a page. + */ + interface Schema$TextContent { + /** + * The bulleted lists contained in this text, keyed by list ID. + */ + lists?: any; + /** + * The text contents broken down into its component parts, including styling + * information. This property is read-only. + */ + textElements?: Schema$TextElement[]; + } + /** + * A TextElement describes the content of a range of indices in the text + * content of a Shape or TableCell. + */ + interface Schema$TextElement { + /** + * A TextElement representing a spot in the text that is dynamically + * replaced with content that can change over time. + */ + autoText?: Schema$AutoText; + /** + * The zero-based end index of this text element, exclusive, in Unicode code + * units. + */ + endIndex?: number; + /** + * A marker representing the beginning of a new paragraph. The + * `start_index` and `end_index` of this TextElement represent the range of + * the paragraph. Other TextElements with an index range contained inside + * this paragraph's range are considered to be part of this paragraph. + * The range of indices of two separate paragraphs will never overlap. + */ + paragraphMarker?: Schema$ParagraphMarker; + /** + * The zero-based start index of this text element, in Unicode code units. + */ + startIndex?: number; + /** + * A TextElement representing a run of text where all of the characters in + * the run have the same TextStyle. The `start_index` and `end_index` of + * TextRuns will always be fully contained in the index range of a single + * `paragraph_marker` TextElement. In other words, a TextRun will never span + * multiple paragraphs. + */ + textRun?: Schema$TextRun; + } + /** + * A TextElement kind that represents a run of text that all has the same + * styling. + */ + interface Schema$TextRun { + /** + * The text of this run. + */ + content?: string; + /** + * The styling applied to this run. + */ + style?: Schema$TextStyle; + } + /** + * Represents the styling that can be applied to a TextRun. If this text is + * contained in a shape with a parent placeholder, then these text styles may + * be inherited from the parent. Which text styles are inherited depend on the + * nesting level of lists: * A text run in a paragraph that is not in a list + * will inherit its text style from the the newline character in the + * paragraph at the 0 nesting level of the list inside the parent + * placeholder. * A text run in a paragraph that is in a list will inherit its + * text style from the newline character in the paragraph at its + * corresponding nesting level of the list inside the parent placeholder. + * Inherited text styles are represented as unset fields in this message. If + * text is contained in a shape without a parent placeholder, unsetting these + * fields will revert the style to a value matching the defaults in the Slides + * editor. + */ + interface Schema$TextStyle { + /** + * The background color of the text. If set, the color is either opaque or + * transparent, depending on if the `opaque_color` field in it is set. + */ + backgroundColor?: Schema$OptionalColor; + /** + * The text's vertical offset from its normal position. Text with + * `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically rendered + * in a smaller font size, computed based on the `font_size` field. The + * `font_size` itself is not affected by changes in this field. + */ + baselineOffset?: string; + /** + * Whether or not the text is rendered as bold. + */ + bold?: boolean; + /** + * The font family of the text. The font family can be any font from the + * Font menu in Slides or from [Google Fonts] (https://fonts.google.com/). + * If the font name is unrecognized, the text is rendered in `Arial`. Some + * fonts can affect the weight of the text. If an update request specifies + * values for both `font_family` and `bold`, the explicitly-set `bold` value + * is used. + */ + fontFamily?: string; + /** + * The size of the text's font. When read, the `font_size` will + * specified in points. + */ + fontSize?: Schema$Dimension; + /** + * The color of the text itself. If set, the color is either opaque or + * transparent, depending on if the `opaque_color` field in it is set. + */ + foregroundColor?: Schema$OptionalColor; + /** + * Whether or not the text is italicized. + */ + italic?: boolean; + /** + * The hyperlink destination of the text. If unset, there is no link. Links + * are not inherited from parent text. Changing the link in an update + * request causes some other changes to the text style of the range: * When + * setting a link, the text foreground color will be set to + * ThemeColorType.HYPERLINK and the text will be underlined. If these + * fields are modified in the same request, those values will be used + * instead of the link defaults. * Setting a link on a text range that + * overlaps with an existing link will also update the existing link to + * point to the new URL. * Links are not settable on newline characters. As + * a result, setting a link on a text range that crosses a paragraph + * boundary, such as `"ABCx/123"`, will separate the newline + * character(s) into their own text runs. The link will be applied + * separately to the runs before and after the newline. * Removing a link + * will update the text style of the range to match the style of the + * preceding text (or the default text styles if the preceding text is + * another link) unless different styles are being set in the same request. + */ + link?: Schema$Link; + /** + * Whether or not the text is in small capital letters. + */ + smallCaps?: boolean; + /** + * Whether or not the text is struck through. + */ + strikethrough?: boolean; + /** + * Whether or not the text is underlined. + */ + underline?: boolean; + /** + * The font family and rendered weight of the text. This field is an + * extension of `font_family` meant to support explicit font weights without + * breaking backwards compatibility. As such, when reading the style of a + * range of text, the value of `weighted_font_family#font_family` will + * always be equal to that of `font_family`. However, when writing, if both + * fields are included in the field mask (either explicitly or through the + * wildcard `"*"`), their values are reconciled as follows: * If + * `font_family` is set and `weighted_font_family` is not, the value of + * `font_family` is applied with weight `400` ("normal"). * If + * both fields are set, the value of `font_family` must match that of + * `weighted_font_family#font_family`. If so, the font family and weight of + * `weighted_font_family` is applied. Otherwise, a 400 bad request error is + * returned. * If `weighted_font_family` is set and `font_family` is not, + * the font family and weight of `weighted_font_family` is applied. * If + * neither field is set, the font family and weight of the text inherit from + * the parent. Note that these properties cannot inherit separately from + * each other. If an update request specifies values for both + * `weighted_font_family` and `bold`, the `weighted_font_family` is applied + * first, then `bold`. If `weighted_font_family#weight` is not set, it + * defaults to `400`. If `weighted_font_family` is set, then + * `weighted_font_family#font_family` must also be set with a non-empty + * value. Otherwise, a 400 bad request error is returned. + */ + weightedFontFamily?: Schema$WeightedFontFamily; + } + /** + * A pair mapping a theme color type to the concrete color it represents. + */ + interface Schema$ThemeColorPair { + /** + * The concrete color corresponding to the theme color type above. + */ + color?: Schema$RgbColor; + /** + * The type of the theme color. + */ + type?: string; + } + /** + * The thumbnail of a page. + */ + interface Schema$Thumbnail { + /** + * The content URL of the thumbnail image. The URL to the image has a + * default lifetime of 30 minutes. This URL is tagged with the account of + * the requester. Anyone with the URL effectively accesses the image as the + * original requester. Access to the image may be lost if the + * presentation's sharing settings change. The mime type of the + * thumbnail image is the same as specified in the + * `GetPageThumbnailRequest`. + */ + contentUrl?: string; + /** + * The positive height in pixels of the thumbnail image. + */ + height?: number; + /** + * The positive width in pixels of the thumbnail image. + */ + width?: number; + } + /** + * Ungroups objects, such as groups. + */ + interface Schema$UngroupObjectsRequest { + /** + * The object IDs of the objects to ungroup. Only groups that are not + * inside other groups can be ungrouped. All the groups should be on the + * same page. The group itself is deleted. The visual sizes and positions of + * all the children are preserved. + */ + objectIds?: string[]; + } + /** + * Unmerges cells in a Table. + */ + interface Schema$UnmergeTableCellsRequest { + /** + * The object ID of the table. + */ + objectId?: string; + /** + * The table range specifying which cells of the table to unmerge. All + * merged cells in this range will be unmerged, and cells that are already + * unmerged will not be affected. If the range has no merged cells, the + * request will do nothing. If there is text in any of the merged cells, the + * text will remain in the upper-left ("head") cell of the + * resulting block of unmerged cells. + */ + tableRange?: Schema$TableRange; + } + /** + * Update the properties of an Image. + */ + interface Schema$UpdateImagePropertiesRequest { + /** + * The fields that should be updated. At least one field must be specified. + * The root `imageProperties` is implied and should not be specified. A + * single `"*"` can be used as short-hand for listing every field. + * For example to update the image outline color, set `fields` to + * `"outline.outlineFill.solidFill.color"`. To reset a property + * to its default value, include its field name in the field mask but leave + * the field itself unset. + */ + fields?: string; + /** + * The image properties to update. + */ + imageProperties?: Schema$ImageProperties; + /** + * The object ID of the image the updates are applied to. + */ + objectId?: string; + } + /** + * Updates the properties of a Line. + */ + interface Schema$UpdateLinePropertiesRequest { + /** + * The fields that should be updated. At least one field must be specified. + * The root `lineProperties` is implied and should not be specified. A + * single `"*"` can be used as short-hand for listing every field. + * For example to update the line solid fill color, set `fields` to + * `"lineFill.solidFill.color"`. To reset a property to its + * default value, include its field name in the field mask but leave the + * field itself unset. + */ + fields?: string; + /** + * The line properties to update. + */ + lineProperties?: Schema$LineProperties; + /** + * The object ID of the line the update is applied to. + */ + objectId?: string; + } + /** + * Updates the alt text title and/or description of a page element. + */ + interface Schema$UpdatePageElementAltTextRequest { + /** + * The updated alt text description of the page element. If unset the + * existing value will be maintained. The description is exposed to screen + * readers and other accessibility interfaces. Only use human readable + * values related to the content of the page element. + */ + description?: string; + /** + * The object ID of the page element the updates are applied to. + */ + objectId?: string; + /** + * The updated alt text title of the page element. If unset the existing + * value will be maintained. The title is exposed to screen readers and + * other accessibility interfaces. Only use human readable values related to + * the content of the page element. + */ + title?: string; + } + /** + * Updates the transform of a page element. Updating the transform of a group + * will change the absolute transform of the page elements in that group, + * which can change their visual appearance. See the documentation for + * PageElement.transform for more details. + */ + interface Schema$UpdatePageElementTransformRequest { + /** + * The apply mode of the transform update. + */ + applyMode?: string; + /** + * The object ID of the page element to update. + */ + objectId?: string; + /** + * The input transform matrix used to update the page element. + */ + transform?: Schema$AffineTransform; + } + /** + * Updates the properties of a Page. + */ + interface Schema$UpdatePagePropertiesRequest { + /** + * The fields that should be updated. At least one field must be specified. + * The root `pageProperties` is implied and should not be specified. A + * single `"*"` can be used as short-hand for listing every field. + * For example to update the page background solid fill color, set `fields` + * to `"pageBackgroundFill.solidFill.color"`. To reset a property + * to its default value, include its field name in the field mask but leave + * the field itself unset. + */ + fields?: string; + /** + * The object ID of the page the update is applied to. + */ + objectId?: string; + /** + * The page properties to update. + */ + pageProperties?: Schema$PageProperties; + } + /** + * Updates the styling for all of the paragraphs within a Shape or Table that + * overlap with the given text index range. + */ + interface Schema$UpdateParagraphStyleRequest { + /** + * The location of the cell in the table containing the paragraph(s) to + * style. If `object_id` refers to a table, `cell_location` must have a + * value. Otherwise, it must not. + */ + cellLocation?: Schema$TableCellLocation; + /** + * The fields that should be updated. At least one field must be specified. + * The root `style` is implied and should not be specified. A single + * `"*"` can be used as short-hand for listing every field. For + * example, to update the paragraph alignment, set `fields` to + * `"alignment"`. To reset a property to its default value, + * include its field name in the field mask but leave the field itself + * unset. + */ + fields?: string; + /** + * The object ID of the shape or table with the text to be styled. + */ + objectId?: string; + /** + * The paragraph's style. + */ + style?: Schema$ParagraphStyle; + /** + * The range of text containing the paragraph(s) to style. + */ + textRange?: Schema$Range; + } + /** + * Update the properties of a Shape. + */ + interface Schema$UpdateShapePropertiesRequest { + /** + * The fields that should be updated. At least one field must be specified. + * The root `shapeProperties` is implied and should not be specified. A + * single `"*"` can be used as short-hand for listing every field. + * For example to update the shape background solid fill color, set `fields` + * to `"shapeBackgroundFill.solidFill.color"`. To reset a + * property to its default value, include its field name in the field mask + * but leave the field itself unset. + */ + fields?: string; + /** + * The object ID of the shape the updates are applied to. + */ + objectId?: string; + /** + * The shape properties to update. + */ + shapeProperties?: Schema$ShapeProperties; + } + /** + * Updates the position of slides in the presentation. + */ + interface Schema$UpdateSlidesPositionRequest { + /** + * The index where the slides should be inserted, based on the slide + * arrangement before the move takes place. Must be between zero and the + * number of slides in the presentation, inclusive. + */ + insertionIndex?: number; + /** + * The IDs of the slides in the presentation that should be moved. The + * slides in this list must be in existing presentation order, without + * duplicates. + */ + slideObjectIds?: string[]; + } + /** + * Updates the properties of the table borders in a Table. + */ + interface Schema$UpdateTableBorderPropertiesRequest { + /** + * The border position in the table range the updates should apply to. If a + * border position is not specified, the updates will apply to all borders + * in the table range. + */ + borderPosition?: string; + /** + * The fields that should be updated. At least one field must be specified. + * The root `tableBorderProperties` is implied and should not be specified. + * A single `"*"` can be used as short-hand for listing every + * field. For example to update the table border solid fill color, set + * `fields` to `"tableBorderFill.solidFill.color"`. To reset a + * property to its default value, include its field name in the field mask + * but leave the field itself unset. + */ + fields?: string; + /** + * The object ID of the table. + */ + objectId?: string; + /** + * The table border properties to update. + */ + tableBorderProperties?: Schema$TableBorderProperties; + /** + * The table range representing the subset of the table to which the updates + * are applied. If a table range is not specified, the updates will apply to + * the entire table. + */ + tableRange?: Schema$TableRange; + } + /** + * Update the properties of a TableCell. + */ + interface Schema$UpdateTableCellPropertiesRequest { + /** + * The fields that should be updated. At least one field must be specified. + * The root `tableCellProperties` is implied and should not be specified. A + * single `"*"` can be used as short-hand for listing every field. + * For example to update the table cell background solid fill color, set + * `fields` to `"tableCellBackgroundFill.solidFill.color"`. To + * reset a property to its default value, include its field name in the + * field mask but leave the field itself unset. + */ + fields?: string; + /** + * The object ID of the table. + */ + objectId?: string; + /** + * The table cell properties to update. + */ + tableCellProperties?: Schema$TableCellProperties; + /** + * The table range representing the subset of the table to which the updates + * are applied. If a table range is not specified, the updates will apply to + * the entire table. + */ + tableRange?: Schema$TableRange; + } + /** + * Updates the properties of a Table column. + */ + interface Schema$UpdateTableColumnPropertiesRequest { + /** + * The list of zero-based indices specifying which columns to update. If no + * indices are provided, all columns in the table will be updated. + */ + columnIndices?: number[]; + /** + * The fields that should be updated. At least one field must be specified. + * The root `tableColumnProperties` is implied and should not be specified. + * A single `"*"` can be used as short-hand for listing every + * field. For example to update the column width, set `fields` to + * `"column_width"`. If '"column_width"' is + * included in the field mask but the property is left unset, the column + * width will default to 406,400 EMU (32 points). + */ + fields?: string; + /** + * The object ID of the table. + */ + objectId?: string; + /** + * The table column properties to update. If the value of + * `table_column_properties#column_width` in the request is less than + * 406,400 EMU (32 points), a 400 bad request error is returned. + */ + tableColumnProperties?: Schema$TableColumnProperties; + } + /** + * Updates the properties of a Table row. + */ + interface Schema$UpdateTableRowPropertiesRequest { + /** + * The fields that should be updated. At least one field must be specified. + * The root `tableRowProperties` is implied and should not be specified. A + * single `"*"` can be used as short-hand for listing every field. + * For example to update the minimum row height, set `fields` to + * `"min_row_height"`. If '"min_row_height"' is + * included in the field mask but the property is left unset, the minimum + * row height will default to 0. + */ + fields?: string; + /** + * The object ID of the table. + */ + objectId?: string; + /** + * The list of zero-based indices specifying which rows to update. If no + * indices are provided, all rows in the table will be updated. + */ + rowIndices?: number[]; + /** + * The table row properties to update. + */ + tableRowProperties?: Schema$TableRowProperties; + } + /** + * Update the styling of text in a Shape or Table. + */ + interface Schema$UpdateTextStyleRequest { + /** + * The location of the cell in the table containing the text to style. If + * `object_id` refers to a table, `cell_location` must have a value. + * Otherwise, it must not. + */ + cellLocation?: Schema$TableCellLocation; + /** + * The fields that should be updated. At least one field must be specified. + * The root `style` is implied and should not be specified. A single + * `"*"` can be used as short-hand for listing every field. For + * example, to update the text style to bold, set `fields` to + * `"bold"`. To reset a property to its default value, include + * its field name in the field mask but leave the field itself unset. + */ + fields?: string; + /** + * The object ID of the shape or table with the text to be styled. + */ + objectId?: string; + /** + * The style(s) to set on the text. If the value for a particular style + * matches that of the parent, that style will be set to inherit. Certain + * text style changes may cause other changes meant to mirror the behavior + * of the Slides editor. See the documentation of TextStyle for more + * information. + */ + style?: Schema$TextStyle; + /** + * The range of text to style. The range may be extended to include + * adjacent newlines. If the range fully contains a paragraph belonging to + * a list, the paragraph's bullet is also updated with the matching text + * style. + */ + textRange?: Schema$Range; + } + /** + * Update the properties of a Video. + */ + interface Schema$UpdateVideoPropertiesRequest { + /** + * The fields that should be updated. At least one field must be specified. + * The root `videoProperties` is implied and should not be specified. A + * single `"*"` can be used as short-hand for listing every field. + * For example to update the video outline color, set `fields` to + * `"outline.outlineFill.solidFill.color"`. To reset a property + * to its default value, include its field name in the field mask but leave + * the field itself unset. + */ + fields?: string; + /** + * The object ID of the video the updates are applied to. + */ + objectId?: string; + /** + * The video properties to update. + */ + videoProperties?: Schema$VideoProperties; + } + /** + * A PageElement kind representing a video. + */ + interface Schema$Video { + /** + * The video source's unique identifier for this video. + */ + id?: string; + /** + * The video source. + */ + source?: string; + /** + * An URL to a video. The URL is valid as long as the source video exists + * and sharing settings do not change. + */ + url?: string; + /** + * The properties of the video. + */ + videoProperties?: Schema$VideoProperties; + } + /** + * The properties of the Video. + */ + interface Schema$VideoProperties { + /** + * Whether to enable video autoplay when the page is displayed in present + * mode. Defaults to false. + */ + autoPlay?: boolean; + /** + * The time at which to end playback, measured in seconds from the beginning + * of the video. If set, the end time should be after the start time. If not + * set or if you set this to a value that exceeds the video's length, + * the video will be played until its end. + */ + end?: number; + /** + * Whether to mute the audio during video playback. Defaults to false. + */ + mute?: boolean; + /** + * The outline of the video. The default outline matches the defaults for + * new videos created in the Slides editor. + */ + outline?: Schema$Outline; + /** + * The time at which to start playback, measured in seconds from the + * beginning of the video. If set, the start time should be before the end + * time. If you set this to a value that exceeds the video's length in + * seconds, the video will be played from the last second. If not set, the + * video will be played from the beginning. + */ + start?: number; + } + /** + * Represents a font family and weight used to style a TextRun. + */ + interface Schema$WeightedFontFamily { + /** + * The font family of the text. The font family can be any font from the + * Font menu in Slides or from [Google Fonts] (https://fonts.google.com/). + * If the font name is unrecognized, the text is rendered in `Arial`. + */ + fontFamily?: string; + /** + * The rendered weight of the text. This field can have any value that is a + * multiple of `100` between `100` and `900`, inclusive. This range + * corresponds to the numerical values described in the CSS 2.1 + * Specification, + * [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness), + * with non-numerical values disallowed. Weights greater than or equal to + * `700` are considered bold, and weights less than `700`are not bold. The + * default value is `400` ("normal"). + */ + weight?: number; + } + /** + * A PageElement kind representing word art. + */ + interface Schema$WordArt { + /** + * The text rendered as word art. + */ + renderedText?: string; + } + /** + * Provides control over how write requests are executed. + */ + interface Schema$WriteControl { + /** + * The revision ID of the presentation required for the write request. If + * specified and the `required_revision_id` doesn't exactly match the + * presentation's current `revision_id`, the request will not be + * processed and will return a 400 bad request error. + */ + requiredRevisionId?: string; + } + class Resource$Presentations { + root: Slides; + pages: Resource$Presentations$Pages; + constructor(root: Slides); + getRoot(): Slides; + /** + * slides.presentations.batchUpdate + * @desc Applies one or more updates to the presentation. Each request is + * validated before being applied. If any request is not valid, then the + * entire request will fail and nothing will be applied. Some requests have + * replies to give you some information about how they are applied. Other + * requests do not need to return information; these each return an empty + * reply. The order of replies matches that of the requests. For example, + * suppose you call batchUpdate with four updates, and only the third one + * returns information. The response would have two empty replies: the reply + * to the third request, and another empty reply, in that order. Because + * other users may be editing the presentation, the presentation might not + * exactly reflect your changes: your changes may be altered with respect to + * collaborator changes. If there are no collaborators, the presentation + * should reflect your changes. In any case, the updates in your request are + * guaranteed to be applied together atomically. + * @alias slides.presentations.batchUpdate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.presentationId The presentation to apply the updates to. + * @param {().BatchUpdatePresentationRequest} 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 + */ + batchUpdate(params?: Params$Resource$Presentations$Batchupdate, options?: MethodOptions): AxiosPromise; + batchUpdate(params: Params$Resource$Presentations$Batchupdate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + batchUpdate(params: Params$Resource$Presentations$Batchupdate, callback: BodyResponseCallback): void; + batchUpdate(callback: BodyResponseCallback): void; + /** + * slides.presentations.create + * @desc Creates a new presentation using the title given in the request. If + * a presentationId is provided, uses it as the ID of the new presentation. + * Otherwise, a new presentationId is generated. Returns the created + * presentation. + * @alias slides.presentations.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().Presentation} 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 + */ + create(params?: Params$Resource$Presentations$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Presentations$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Presentations$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * slides.presentations.get + * @desc Gets the latest version of the specified presentation. + * @alias slides.presentations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.presentationId The ID of the presentation to retrieve. + * @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?: Params$Resource$Presentations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Presentations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Presentations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Presentations$Batchupdate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The presentation to apply the updates to. + */ + presentationId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BatchUpdatePresentationRequest; + } + interface Params$Resource$Presentations$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$Presentation; + } + interface Params$Resource$Presentations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the presentation to retrieve. + */ + presentationId?: string; + } + class Resource$Presentations$Pages { + root: Slides; + constructor(root: Slides); + getRoot(): Slides; + /** + * slides.presentations.pages.get + * @desc Gets the latest version of the specified page in the presentation. + * @alias slides.presentations.pages.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.pageObjectId The object ID of the page to retrieve. + * @param {string} params.presentationId The ID of the presentation to retrieve. + * @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?: Params$Resource$Presentations$Pages$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Presentations$Pages$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Presentations$Pages$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * slides.presentations.pages.getThumbnail + * @desc Generates a thumbnail of the latest version of the specified page + * in the presentation and returns a URL to the thumbnail image. This + * request counts as an [expensive read request](/slides/limits) for quota + * purposes. + * @alias slides.presentations.pages.getThumbnail + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.pageObjectId The object ID of the page whose thumbnail to retrieve. + * @param {string} params.presentationId The ID of the presentation to retrieve. + * @param {string=} params.thumbnailProperties.mimeType The optional mime type of the thumbnail image. If you don't specify the mime type, the default mime type will be PNG. + * @param {string=} params.thumbnailProperties.thumbnailSize The optional thumbnail image size. If you don't specify the size, the server chooses a default size of the image. + * @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 + */ + getThumbnail(params?: Params$Resource$Presentations$Pages$Getthumbnail, options?: MethodOptions): AxiosPromise; + getThumbnail(params: Params$Resource$Presentations$Pages$Getthumbnail, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getThumbnail(params: Params$Resource$Presentations$Pages$Getthumbnail, callback: BodyResponseCallback): void; + getThumbnail(callback: BodyResponseCallback): void; + } + interface Params$Resource$Presentations$Pages$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The object ID of the page to retrieve. + */ + pageObjectId?: string; + /** + * The ID of the presentation to retrieve. + */ + presentationId?: string; + } + interface Params$Resource$Presentations$Pages$Getthumbnail { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The object ID of the page whose thumbnail to retrieve. + */ + pageObjectId?: string; + /** + * The ID of the presentation to retrieve. + */ + presentationId?: string; + /** + * The optional mime type of the thumbnail image. If you don't specify the + * mime type, the default mime type will be PNG. + */ + 'thumbnailProperties.mimeType'?: string; + /** + * The optional thumbnail image size. If you don't specify the size, the + * server chooses a default size of the image. + */ + 'thumbnailProperties.thumbnailSize'?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/slides/v1.js b/express-server/node_modules/googleapis/build/src/apis/slides/v1.js new file mode 100644 index 00000000..d18c6cac --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/slides/v1.js @@ -0,0 +1,232 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var slides_v1; +(function (slides_v1) { + /** + * Google Slides API + * + * An API for creating and editing Google Slides presentations. + * + * @example + * const {google} = require('googleapis'); + * const slides = google.slides('v1'); + * + * @namespace slides + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Slides + */ + class Slides { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.presentations = new Resource$Presentations(this); + } + getRoot() { + return this.root; + } + } + slides_v1.Slides = Slides; + class Resource$Presentations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.pages = new Resource$Presentations$Pages(root); + } + getRoot() { + return this.root; + } + batchUpdate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://slides.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/presentations/{presentationId}:batchUpdate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['presentationId'], + pathParams: ['presentationId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://slides.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/presentations').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://slides.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/presentations/{+presentationId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['presentationId'], + pathParams: ['presentationId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + slides_v1.Resource$Presentations = Resource$Presentations; + class Resource$Presentations$Pages { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://slides.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/presentations/{presentationId}/pages/{pageObjectId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['presentationId', 'pageObjectId'], + pathParams: ['pageObjectId', 'presentationId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getThumbnail(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://slides.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/presentations/{presentationId}/pages/{pageObjectId}/thumbnail') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['presentationId', 'pageObjectId'], + pathParams: ['pageObjectId', 'presentationId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + slides_v1.Resource$Presentations$Pages = Resource$Presentations$Pages; +})(slides_v1 = exports.slides_v1 || (exports.slides_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/slides/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/slides/v1.js.map new file mode 100644 index 00000000..cf4d7ef2 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/slides/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/slides/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/sourcerepo/README.md b/express-server/node_modules/googleapis/build/src/apis/sourcerepo/README.md new file mode 100644 index 00000000..0b212980 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/sourcerepo/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/sourcerepo + +> Access source code repositories hosted by Google. + +## Installation + +```sh +$ npm install @google/sourcerepo +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/sourcerepo/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/sourcerepo/index.d.ts new file mode 100644 index 00000000..4bbab942 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/sourcerepo/index.d.ts @@ -0,0 +1,6 @@ +import { sourcerepo_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof sourcerepo_v1.Sourcerepo; +}; +export declare function sourcerepo(version: 'v1'): sourcerepo_v1.Sourcerepo; +export declare function sourcerepo(options: sourcerepo_v1.Options): sourcerepo_v1.Sourcerepo; diff --git a/express-server/node_modules/googleapis/build/src/apis/sourcerepo/index.js b/express-server/node_modules/googleapis/build/src/apis/sourcerepo/index.js new file mode 100644 index 00000000..c126b5e4 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/sourcerepo/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.sourcerepo_v1.Sourcerepo, +}; +function sourcerepo(versionOrOptions) { + return googleapis_common_1.getAPI('sourcerepo', versionOrOptions, exports.VERSIONS, this); +} +exports.sourcerepo = sourcerepo; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/sourcerepo/index.js.map b/express-server/node_modules/googleapis/build/src/apis/sourcerepo/index.js.map new file mode 100644 index 00000000..c21db912 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/sourcerepo/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/sourcerepo/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAmC;AAEtB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,kBAAa,CAAC,UAAU;CAC/B,CAAC;AAKF,SAAgB,UAAU,CACI,gBAA4C;IACxE,OAAO,0BAAM,CAAI,YAAY,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACnE,CAAC;AAHD,gCAGC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/sourcerepo/package.json b/express-server/node_modules/googleapis/build/src/apis/sourcerepo/package.json new file mode 100644 index 00000000..ddcc04cd --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/sourcerepo/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/sourcerepo", + "version": "0.1.0", + "description": "sourcerepo", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/sourcerepo/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/sourcerepo/v1.d.ts new file mode 100644 index 00000000..92fa40f8 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/sourcerepo/v1.d.ts @@ -0,0 +1,727 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace sourcerepo_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Cloud Source Repositories API + * + * Access source code repositories hosted by Google. + * + * @example + * const {google} = require('googleapis'); + * const sourcerepo = google.sourcerepo('v1'); + * + * @namespace sourcerepo + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Sourcerepo + */ + class Sourcerepo { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + projects: Resource$Projects; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Specifies the audit configuration for a service. The configuration + * determines which permission types are logged, and what identities, if any, + * are exempted from logging. An AuditConfig must have one or more + * AuditLogConfigs. If there are AuditConfigs for both `allServices` and a + * specific service, the union of the two AuditConfigs is used for that + * service: the log_types specified in each AuditConfig are enabled, and the + * exempted_members in each AuditLogConfig are exempted. Example Policy with + * multiple AuditConfigs: { "audit_configs": [ { + * "service": "allServices" "audit_log_configs": + * [ { "log_type": "DATA_READ", + * "exempted_members": [ "user:foo@gmail.com" ] }, { + * "log_type": "DATA_WRITE", }, { + * "log_type": "ADMIN_READ", } ] }, + * { "service": "fooservice.googleapis.com" + * "audit_log_configs": [ { "log_type": + * "DATA_READ", }, { "log_type": + * "DATA_WRITE", "exempted_members": [ + * "user:bar@gmail.com" ] } ] } + * ] } For fooservice, this policy enables DATA_READ, DATA_WRITE and + * ADMIN_READ logging. It also exempts foo@gmail.com from DATA_READ logging, + * and bar@gmail.com from DATA_WRITE logging. + */ + interface Schema$AuditConfig { + /** + * The configuration for logging of each type of permission. + */ + auditLogConfigs?: Schema$AuditLogConfig[]; + /** + * Specifies a service that will be enabled for audit logging. For example, + * `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a + * special value that covers all services. + */ + service?: string; + } + /** + * Provides the configuration for logging a type of permissions. Example: { + * "audit_log_configs": [ { "log_type": + * "DATA_READ", "exempted_members": [ + * "user:foo@gmail.com" ] }, { + * "log_type": "DATA_WRITE", } ] } This + * enables 'DATA_READ' and 'DATA_WRITE' logging, while + * exempting foo@gmail.com from DATA_READ logging. + */ + interface Schema$AuditLogConfig { + /** + * Specifies the identities that do not cause logging for this type of + * permission. Follows the same format of Binding.members. + */ + exemptedMembers?: string[]; + /** + * The log type that this config enables. + */ + logType?: string; + } + /** + * Associates `members` with a `role`. + */ + interface Schema$Binding { + /** + * Unimplemented. The condition that is associated with this binding. NOTE: + * an unsatisfied condition will not allow user access via current binding. + * Different bindings, including their conditions, are examined + * independently. + */ + condition?: Schema$Expr; + /** + * Specifies the identities requesting access for a Cloud Platform resource. + * `members` can have the following values: * `allUsers`: A special + * identifier that represents anyone who is on the internet; with or + * without a Google account. * `allAuthenticatedUsers`: A special + * identifier that represents anyone who is authenticated with a Google + * account or a service account. * `user:{emailid}`: An email address that + * represents a specific Google account. For example, `alice@gmail.com` . + * * `serviceAccount:{emailid}`: An email address that represents a service + * account. For example, `my-other-app@appspot.gserviceaccount.com`. * + * `group:{emailid}`: An email address that represents a Google group. For + * example, `admins@example.com`. * `domain:{domain}`: A Google Apps + * domain name that represents all the users of that domain. For example, + * `google.com` or `example.com`. + */ + members?: string[]; + /** + * Role that is assigned to `members`. For example, `roles/viewer`, + * `roles/editor`, or `roles/owner`. + */ + role?: string; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * Represents an expression text. Example: title: "User account + * presence" description: "Determines whether the request has a + * user account" expression: "size(request.user) > 0" + */ + interface Schema$Expr { + /** + * An optional description of the expression. This is a longer text which + * describes the expression, e.g. when hovered over it in a UI. + */ + description?: string; + /** + * Textual representation of an expression in Common Expression Language + * syntax. The application context of the containing message determines + * which well-known feature set of CEL is supported. + */ + expression?: string; + /** + * An optional string indicating the location of the expression for error + * reporting, e.g. a file name and a position in the file. + */ + location?: string; + /** + * An optional title for the expression, i.e. a short string describing its + * purpose. This can be used e.g. in UIs which allow to enter the + * expression. + */ + title?: string; + } + /** + * Response for ListRepos. The size is not set in the returned repositories. + */ + interface Schema$ListReposResponse { + /** + * If non-empty, additional repositories exist within the project. These can + * be retrieved by including this value in the next ListReposRequest's + * page_token field. + */ + nextPageToken?: string; + /** + * The listed repos. + */ + repos?: Schema$Repo[]; + } + /** + * Configuration to automatically mirror a repository from another hosting + * service, for example GitHub or Bitbucket. + */ + interface Schema$MirrorConfig { + /** + * ID of the SSH deploy key at the other hosting service. Removing this key + * from the other service would deauthorize Google Cloud Source Repositories + * from mirroring. + */ + deployKeyId?: string; + /** + * URL of the main repository at the other hosting service. + */ + url?: string; + /** + * ID of the webhook listening to updates to trigger mirroring. Removing + * this webhook from the other hosting service will stop Google Cloud Source + * Repositories from receiving notifications, and thereby disabling + * mirroring. + */ + webhookId?: string; + } + /** + * Defines an Identity and Access Management (IAM) policy. It is used to + * specify access control policies for Cloud Platform resources. A `Policy` + * consists of a list of `bindings`. A `binding` binds a list of `members` to + * a `role`, where the members can be user accounts, Google groups, Google + * domains, and service accounts. A `role` is a named list of permissions + * defined by IAM. **JSON Example** { "bindings": [ { + * "role": "roles/owner", "members": [ + * "user:mike@example.com", "group:admins@example.com", + * "domain:google.com", + * "serviceAccount:my-other-app@appspot.gserviceaccount.com" ] }, { + * "role": "roles/viewer", "members": + * ["user:sean@example.com"] } ] } **YAML + * Example** bindings: - members: - user:mike@example.com - + * group:admins@example.com - domain:google.com - + * serviceAccount:my-other-app@appspot.gserviceaccount.com role: + * roles/owner - members: - user:sean@example.com role: + * roles/viewer For a description of IAM and its features, see the [IAM + * developer's guide](https://cloud.google.com/iam/docs). + */ + interface Schema$Policy { + /** + * Specifies cloud audit logging configuration for this policy. + */ + auditConfigs?: Schema$AuditConfig[]; + /** + * Associates a list of `members` to a `role`. `bindings` with no members + * will result in an error. + */ + bindings?: Schema$Binding[]; + /** + * `etag` is used for optimistic concurrency control as a way to help + * prevent simultaneous updates of a policy from overwriting each other. It + * is strongly suggested that systems make use of the `etag` in the + * read-modify-write cycle to perform policy updates in order to avoid race + * conditions: An `etag` is returned in the response to `getIamPolicy`, and + * systems are expected to put that etag in the request to `setIamPolicy` to + * ensure that their change will be applied to the same version of the + * policy. If no `etag` is provided in the call to `setIamPolicy`, then the + * existing policy is overwritten blindly. + */ + etag?: string; + /** + * Deprecated. + */ + version?: number; + } + /** + * Cloud Source Repositories configuration of a project. + */ + interface Schema$ProjectConfig { + /** + * Reject a Git push that contains a private key. + */ + enablePrivateKeyCheck?: boolean; + /** + * The name of the project. Values are of the form + * `projects/<project>`. + */ + name?: string; + /** + * How this project publishes a change in the repositories through Cloud + * Pub/Sub. Keyed by the topic names. + */ + pubsubConfigs?: any; + } + /** + * Configuration to publish a Cloud Pub/Sub message. + */ + interface Schema$PubsubConfig { + /** + * The format of the Cloud Pub/Sub messages. + */ + messageFormat?: string; + /** + * Email address of the service account used for publishing Cloud Pub/Sub + * messages. This service account needs to be in the same project as the + * PubsubConfig. When added, the caller needs to have + * iam.serviceAccounts.actAs permission on this service account. If + * unspecified, it defaults to the compute engine default service account. + */ + serviceAccountEmail?: string; + /** + * A topic of Cloud Pub/Sub. Values are of the form + * `projects/<project>/topics/<topic>`. The project needs to be + * the same project as this config is in. + */ + topic?: string; + } + /** + * A repository (or repo) is a Git repository storing versioned source + * content. + */ + interface Schema$Repo { + /** + * How this repository mirrors a repository managed by another service. + * Read-only field. + */ + mirrorConfig?: Schema$MirrorConfig; + /** + * Resource name of the repository, of the form + * `projects/<project>/repos/<repo>`. The repo name may contain + * slashes. eg, `projects/myproject/repos/name/with/slash` + */ + name?: string; + /** + * How this repository publishes a change in the repository through Cloud + * Pub/Sub. Keyed by the topic names. + */ + pubsubConfigs?: any; + /** + * The disk usage of the repo, in bytes. Read-only field. Size is only + * returned by GetRepo. + */ + size?: string; + /** + * URL to clone the repository from Google Cloud Source Repositories. + * Read-only field. + */ + url?: string; + } + /** + * Request message for `SetIamPolicy` method. + */ + interface Schema$SetIamPolicyRequest { + /** + * REQUIRED: The complete policy to be applied to the `resource`. The size + * of the policy is limited to a few 10s of KB. An empty policy is a valid + * policy but certain Cloud Platform services (such as Projects) might + * reject them. + */ + policy?: Schema$Policy; + /** + * OPTIONAL: A FieldMask specifying which fields of the policy to modify. + * Only the fields in the mask will be modified. If no mask is provided, the + * following default mask is used: paths: "bindings, etag" This + * field is only used by Cloud IAM. + */ + updateMask?: string; + } + /** + * Request message for `TestIamPermissions` method. + */ + interface Schema$TestIamPermissionsRequest { + /** + * The set of permissions to check for the `resource`. Permissions with + * wildcards (such as '*' or 'storage.*') are not allowed. + * For more information see [IAM + * Overview](https://cloud.google.com/iam/docs/overview#permissions). + */ + permissions?: string[]; + } + /** + * Response message for `TestIamPermissions` method. + */ + interface Schema$TestIamPermissionsResponse { + /** + * A subset of `TestPermissionsRequest.permissions` that the caller is + * allowed. + */ + permissions?: string[]; + } + /** + * Request for UpdateProjectConfig. + */ + interface Schema$UpdateProjectConfigRequest { + /** + * The new configuration for the project. + */ + projectConfig?: Schema$ProjectConfig; + /** + * A FieldMask specifying which fields of the project_config to modify. Only + * the fields in the mask will be modified. If no mask is provided, this + * request is no-op. + */ + updateMask?: string; + } + /** + * Request for UpdateRepo. + */ + interface Schema$UpdateRepoRequest { + /** + * The new configuration for the repository. + */ + repo?: Schema$Repo; + /** + * A FieldMask specifying which fields of the repo to modify. Only the + * fields in the mask will be modified. If no mask is provided, this request + * is no-op. + */ + updateMask?: string; + } + class Resource$Projects { + root: Sourcerepo; + repos: Resource$Projects$Repos; + constructor(root: Sourcerepo); + getRoot(): Sourcerepo; + /** + * sourcerepo.projects.getConfig + * @desc Returns the Cloud Source Repositories configuration of the project. + * @alias sourcerepo.projects.getConfig + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the requested project. Values are of the form `projects/`. + * @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 + */ + getConfig(params?: Params$Resource$Projects$Getconfig, options?: MethodOptions): AxiosPromise; + getConfig(params: Params$Resource$Projects$Getconfig, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getConfig(params: Params$Resource$Projects$Getconfig, callback: BodyResponseCallback): void; + getConfig(callback: BodyResponseCallback): void; + /** + * sourcerepo.projects.updateConfig + * @desc Updates the Cloud Source Repositories configuration of the project. + * @alias sourcerepo.projects.updateConfig + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the requested project. Values are of the form `projects/`. + * @param {().UpdateProjectConfigRequest} 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 + */ + updateConfig(params?: Params$Resource$Projects$Updateconfig, options?: MethodOptions): AxiosPromise; + updateConfig(params: Params$Resource$Projects$Updateconfig, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + updateConfig(params: Params$Resource$Projects$Updateconfig, callback: BodyResponseCallback): void; + updateConfig(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Getconfig { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the requested project. Values are of the form + * `projects/`. + */ + name?: string; + } + interface Params$Resource$Projects$Updateconfig { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the requested project. Values are of the form + * `projects/`. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UpdateProjectConfigRequest; + } + class Resource$Projects$Repos { + root: Sourcerepo; + constructor(root: Sourcerepo); + getRoot(): Sourcerepo; + /** + * sourcerepo.projects.repos.create + * @desc Creates a repo in the given project with the given name. If the + * named repository already exists, `CreateRepo` returns `ALREADY_EXISTS`. + * @alias sourcerepo.projects.repos.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent The project in which to create the repo. Values are of the form `projects/`. + * @param {().Repo} 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 + */ + create(params?: Params$Resource$Projects$Repos$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Repos$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Repos$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * sourcerepo.projects.repos.delete + * @desc Deletes a repo. + * @alias sourcerepo.projects.repos.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the repo to delete. Values are of the form `projects//repos/`. + * @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?: Params$Resource$Projects$Repos$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Repos$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Repos$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * sourcerepo.projects.repos.get + * @desc Returns information about a repo. + * @alias sourcerepo.projects.repos.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the requested repository. Values are of the form `projects//repos/`. + * @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?: Params$Resource$Projects$Repos$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Repos$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Repos$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * sourcerepo.projects.repos.getIamPolicy + * @desc Gets the access control policy for a resource. Returns an empty + * policy if the resource exists and does not have a policy set. + * @alias sourcerepo.projects.repos.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. + * @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 + */ + getIamPolicy(params?: Params$Resource$Projects$Repos$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Projects$Repos$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Projects$Repos$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * sourcerepo.projects.repos.list + * @desc Returns all repos belonging to a project. The sizes of the repos + * are not set by ListRepos. To get the size of a repo, use GetRepo. + * @alias sourcerepo.projects.repos.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The project ID whose repos should be listed. Values are of the form `projects/`. + * @param {integer=} params.pageSize Maximum number of repositories to return; between 1 and 500. If not set or zero, defaults to 100 at the server. + * @param {string=} params.pageToken Resume listing repositories where a prior ListReposResponse left off. This is an opaque token that must be obtained from a recent, prior ListReposResponse's next_page_token field. + * @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?: Params$Resource$Projects$Repos$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Repos$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Repos$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * sourcerepo.projects.repos.patch + * @desc Updates information about a repo. + * @alias sourcerepo.projects.repos.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the requested repository. Values are of the form `projects//repos/`. + * @param {().UpdateRepoRequest} 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 + */ + patch(params?: Params$Resource$Projects$Repos$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Repos$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Repos$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * sourcerepo.projects.repos.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @alias sourcerepo.projects.repos.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. + * @param {().SetIamPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Projects$Repos$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Projects$Repos$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Projects$Repos$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * sourcerepo.projects.repos.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. If + * the resource does not exist, this will return an empty set of + * permissions, not a NOT_FOUND error. + * @alias sourcerepo.projects.repos.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. + * @param {().TestIamPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Projects$Repos$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Projects$Repos$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Projects$Repos$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Repos$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The project in which to create the repo. Values are of the form + * `projects/`. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Repo; + } + interface Params$Resource$Projects$Repos$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the repo to delete. Values are of the form + * `projects//repos/`. + */ + name?: string; + } + interface Params$Resource$Projects$Repos$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the requested repository. Values are of the form + * `projects//repos/`. + */ + name?: string; + } + interface Params$Resource$Projects$Repos$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being requested. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + } + interface Params$Resource$Projects$Repos$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The project ID whose repos should be listed. Values are of the form + * `projects/`. + */ + name?: string; + /** + * Maximum number of repositories to return; between 1 and 500. If not set + * or zero, defaults to 100 at the server. + */ + pageSize?: number; + /** + * Resume listing repositories where a prior ListReposResponse left off. + * This is an opaque token that must be obtained from a recent, prior + * ListReposResponse's next_page_token field. + */ + pageToken?: string; + } + interface Params$Resource$Projects$Repos$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the requested repository. Values are of the form + * `projects//repos/`. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UpdateRepoRequest; + } + interface Params$Resource$Projects$Repos$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy is being specified. See the + * operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetIamPolicyRequest; + } + interface Params$Resource$Projects$Repos$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestIamPermissionsRequest; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/sourcerepo/v1.js b/express-server/node_modules/googleapis/build/src/apis/sourcerepo/v1.js new file mode 100644 index 00000000..c7d65a44 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/sourcerepo/v1.js @@ -0,0 +1,382 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var sourcerepo_v1; +(function (sourcerepo_v1) { + /** + * Cloud Source Repositories API + * + * Access source code repositories hosted by Google. + * + * @example + * const {google} = require('googleapis'); + * const sourcerepo = google.sourcerepo('v1'); + * + * @namespace sourcerepo + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Sourcerepo + */ + class Sourcerepo { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.projects = new Resource$Projects(this); + } + getRoot() { + return this.root; + } + } + sourcerepo_v1.Sourcerepo = Sourcerepo; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.repos = new Resource$Projects$Repos(root); + } + getRoot() { + return this.root; + } + getConfig(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://sourcerepo.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}/config') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + updateConfig(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://sourcerepo.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}/config') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + sourcerepo_v1.Resource$Projects = Resource$Projects; + class Resource$Projects$Repos { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://sourcerepo.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/repos') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://sourcerepo.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://sourcerepo.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://sourcerepo.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://sourcerepo.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}/repos').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://sourcerepo.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://sourcerepo.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://sourcerepo.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + sourcerepo_v1.Resource$Projects$Repos = Resource$Projects$Repos; +})(sourcerepo_v1 = exports.sourcerepo_v1 || (exports.sourcerepo_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/sourcerepo/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/sourcerepo/v1.js.map new file mode 100644 index 00000000..406bfb06 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/sourcerepo/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/sourcerepo/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/spanner/README.md b/express-server/node_modules/googleapis/build/src/apis/spanner/README.md new file mode 100644 index 00000000..0a59a549 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/spanner/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/spanner + +> Cloud Spanner is a managed, mission-critical, globally consistent and scalable relational database service. + +## Installation + +```sh +$ npm install @google/spanner +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/spanner/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/spanner/index.d.ts new file mode 100644 index 00000000..2b836e9d --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/spanner/index.d.ts @@ -0,0 +1,6 @@ +import { spanner_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof spanner_v1.Spanner; +}; +export declare function spanner(version: 'v1'): spanner_v1.Spanner; +export declare function spanner(options: spanner_v1.Options): spanner_v1.Spanner; diff --git a/express-server/node_modules/googleapis/build/src/apis/spanner/index.js b/express-server/node_modules/googleapis/build/src/apis/spanner/index.js new file mode 100644 index 00000000..1beadb11 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/spanner/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.spanner_v1.Spanner, +}; +function spanner(versionOrOptions) { + return googleapis_common_1.getAPI('spanner', versionOrOptions, exports.VERSIONS, this); +} +exports.spanner = spanner; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/spanner/index.js.map b/express-server/node_modules/googleapis/build/src/apis/spanner/index.js.map new file mode 100644 index 00000000..1edd704f --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/spanner/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/spanner/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAgC;AAEnB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,eAAU,CAAC,OAAO;CACzB,CAAC;AAIF,SAAgB,OAAO,CACO,gBAAyC;IACrE,OAAO,0BAAM,CAAI,SAAS,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAChE,CAAC;AAHD,0BAGC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/spanner/package.json b/express-server/node_modules/googleapis/build/src/apis/spanner/package.json new file mode 100644 index 00000000..bd195ec8 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/spanner/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/spanner", + "version": "0.1.0", + "description": "spanner", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/spanner/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/spanner/v1.d.ts new file mode 100644 index 00000000..a2003039 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/spanner/v1.d.ts @@ -0,0 +1,3154 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace spanner_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Cloud Spanner API + * + * Cloud Spanner is a managed, mission-critical, globally consistent and + * scalable relational database service. + * + * @example + * const {google} = require('googleapis'); + * const spanner = google.spanner('v1'); + * + * @namespace spanner + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Spanner + */ + class Spanner { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + projects: Resource$Projects; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * The request for BeginTransaction. + */ + interface Schema$BeginTransactionRequest { + /** + * Required. Options for the new transaction. + */ + options?: Schema$TransactionOptions; + } + /** + * Associates `members` with a `role`. + */ + interface Schema$Binding { + /** + * Unimplemented. The condition that is associated with this binding. NOTE: + * an unsatisfied condition will not allow user access via current binding. + * Different bindings, including their conditions, are examined + * independently. + */ + condition?: Schema$Expr; + /** + * Specifies the identities requesting access for a Cloud Platform resource. + * `members` can have the following values: * `allUsers`: A special + * identifier that represents anyone who is on the internet; with or + * without a Google account. * `allAuthenticatedUsers`: A special + * identifier that represents anyone who is authenticated with a Google + * account or a service account. * `user:{emailid}`: An email address that + * represents a specific Google account. For example, `alice@gmail.com` . + * * `serviceAccount:{emailid}`: An email address that represents a service + * account. For example, `my-other-app@appspot.gserviceaccount.com`. * + * `group:{emailid}`: An email address that represents a Google group. For + * example, `admins@example.com`. * `domain:{domain}`: A Google Apps + * domain name that represents all the users of that domain. For example, + * `google.com` or `example.com`. + */ + members?: string[]; + /** + * Role that is assigned to `members`. For example, `roles/viewer`, + * `roles/editor`, or `roles/owner`. + */ + role?: string; + } + /** + * Metadata associated with a parent-child relationship appearing in a + * PlanNode. + */ + interface Schema$ChildLink { + /** + * The node to which the link points. + */ + childIndex?: number; + /** + * The type of the link. For example, in Hash Joins this could be used to + * distinguish between the build child and the probe child, or in the case + * of the child being an output variable, to represent the tag associated + * with the output variable. + */ + type?: string; + /** + * Only present if the child node is SCALAR and corresponds to an output + * variable of the parent node. The field carries the name of the output + * variable. For example, a `TableScan` operator that reads rows from a + * table will have child links to the `SCALAR` nodes representing the output + * variables created for each column that is read by the operator. The + * corresponding `variable` fields will be set to the variable names + * assigned to the columns. + */ + variable?: string; + } + /** + * The request for Commit. + */ + interface Schema$CommitRequest { + /** + * The mutations to be executed when this transaction commits. All mutations + * are applied atomically, in the order they appear in this list. + */ + mutations?: Schema$Mutation[]; + /** + * Execute mutations in a temporary transaction. Note that unlike commit of + * a previously-started transaction, commit with a temporary transaction is + * non-idempotent. That is, if the `CommitRequest` is sent to Cloud Spanner + * more than once (for instance, due to retries in the application, or in + * the transport library), it is possible that the mutations are executed + * more than once. If this is undesirable, use BeginTransaction and Commit + * instead. + */ + singleUseTransaction?: Schema$TransactionOptions; + /** + * Commit a previously-started transaction. + */ + transactionId?: string; + } + /** + * The response for Commit. + */ + interface Schema$CommitResponse { + /** + * The Cloud Spanner timestamp at which the transaction committed. + */ + commitTimestamp?: string; + } + /** + * Metadata type for the operation returned by CreateDatabase. + */ + interface Schema$CreateDatabaseMetadata { + /** + * The database being created. + */ + database?: string; + } + /** + * The request for CreateDatabase. + */ + interface Schema$CreateDatabaseRequest { + /** + * Required. A `CREATE DATABASE` statement, which specifies the ID of the + * new database. The database ID must conform to the regular expression + * `a-z*[a-z0-9]` and be between 2 and 30 characters in length. If the + * database ID is a reserved word or if it contains a hyphen, the database + * ID must be enclosed in backticks (`` ` ``). + */ + createStatement?: string; + /** + * An optional list of DDL statements to run inside the newly created + * database. Statements can create tables, indexes, etc. These statements + * execute atomically with the creation of the database: if there is an + * error in any statement, the database is not created. + */ + extraStatements?: string[]; + } + /** + * Metadata type for the operation returned by CreateInstance. + */ + interface Schema$CreateInstanceMetadata { + /** + * The time at which this operation was cancelled. If set, this operation is + * in the process of undoing itself (which is guaranteed to succeed) and + * cannot be cancelled again. + */ + cancelTime?: string; + /** + * The time at which this operation failed or was completed successfully. + */ + endTime?: string; + /** + * The instance being created. + */ + instance?: Schema$Instance; + /** + * The time at which the CreateInstance request was received. + */ + startTime?: string; + } + /** + * The request for CreateInstance. + */ + interface Schema$CreateInstanceRequest { + /** + * Required. The instance to create. The name may be omitted, but if + * specified must be `<parent>/instances/<instance_id>`. + */ + instance?: Schema$Instance; + /** + * Required. The ID of the instance to create. Valid identifiers are of the + * form `a-z*[a-z0-9]` and must be between 6 and 30 characters in length. + */ + instanceId?: string; + } + /** + * The request for CreateSession. + */ + interface Schema$CreateSessionRequest { + /** + * The session to create. + */ + session?: Schema$Session; + } + /** + * A Cloud Spanner database. + */ + interface Schema$Database { + /** + * Required. The name of the database. Values are of the form + * `projects/<project>/instances/<instance>/databases/<database>`, + * where `<database>` is as specified in the `CREATE DATABASE` + * statement. This name can be passed to other API methods to identify the + * database. + */ + name?: string; + /** + * Output only. The current database state. + */ + state?: string; + } + /** + * Arguments to delete operations. + */ + interface Schema$Delete { + /** + * Required. The primary keys of the rows within table to delete. Delete is + * idempotent. The transaction will succeed even if some or all rows do not + * exist. + */ + keySet?: Schema$KeySet; + /** + * Required. The table whose rows will be deleted. + */ + table?: string; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * The request for ExecuteSql and ExecuteStreamingSql. + */ + interface Schema$ExecuteSqlRequest { + /** + * The SQL string can contain parameter placeholders. A parameter + * placeholder consists of `'@'` followed by the parameter name. + * Parameter names consist of any combination of letters, numbers, and + * underscores. Parameters can appear anywhere that a literal value is + * expected. The same parameter name can be used more than once, for + * example: `"WHERE id > @msg_id AND id < @msg_id + 100"` + * It is an error to execute an SQL statement with unbound parameters. + * Parameter values are specified using `params`, which is a JSON object + * whose keys are parameter names, and whose values are the corresponding + * parameter values. + */ + params?: any; + /** + * It is not always possible for Cloud Spanner to infer the right SQL type + * from a JSON value. For example, values of type `BYTES` and values of + * type `STRING` both appear in params as JSON strings. In these cases, + * `param_types` can be used to specify the exact SQL type for some or all + * of the SQL statement parameters. See the definition of Type for more + * information about SQL types. + */ + paramTypes?: any; + /** + * If present, results will be restricted to the specified partition + * previously created using PartitionQuery(). There must be an exact match + * for the values of fields common to this message and the + * PartitionQueryRequest message used to create this partition_token. + */ + partitionToken?: string; + /** + * Used to control the amount of debugging information returned in + * ResultSetStats. If partition_token is set, query_mode can only be set to + * QueryMode.NORMAL. + */ + queryMode?: string; + /** + * If this request is resuming a previously interrupted SQL statement + * execution, `resume_token` should be copied from the last PartialResultSet + * yielded before the interruption. Doing this enables the new SQL statement + * execution to resume where the last one left off. The rest of the request + * parameters must exactly match the request that yielded this token. + */ + resumeToken?: string; + /** + * Required. The SQL string. + */ + sql?: string; + /** + * The transaction to use. If none is provided, the default is a temporary + * read-only transaction with strong concurrency. + */ + transaction?: Schema$TransactionSelector; + } + /** + * Represents an expression text. Example: title: "User account + * presence" description: "Determines whether the request has a + * user account" expression: "size(request.user) > 0" + */ + interface Schema$Expr { + /** + * An optional description of the expression. This is a longer text which + * describes the expression, e.g. when hovered over it in a UI. + */ + description?: string; + /** + * Textual representation of an expression in Common Expression Language + * syntax. The application context of the containing message determines + * which well-known feature set of CEL is supported. + */ + expression?: string; + /** + * An optional string indicating the location of the expression for error + * reporting, e.g. a file name and a position in the file. + */ + location?: string; + /** + * An optional title for the expression, i.e. a short string describing its + * purpose. This can be used e.g. in UIs which allow to enter the + * expression. + */ + title?: string; + } + /** + * Message representing a single field of a struct. + */ + interface Schema$Field { + /** + * The name of the field. For reads, this is the column name. For SQL + * queries, it is the column alias (e.g., `"Word"` in the query + * `"SELECT 'hello' AS Word"`), or the column name (e.g., + * `"ColName"` in the query `"SELECT ColName FROM + * Table"`). Some columns might have an empty name (e.g., !"SELECT + * UPPER(ColName)"`). Note that a query result can contain multiple + * fields with the same name. + */ + name?: string; + /** + * The type of the field. + */ + type?: Schema$Type; + } + /** + * The response for GetDatabaseDdl. + */ + interface Schema$GetDatabaseDdlResponse { + /** + * A list of formatted DDL statements defining the schema of the database + * specified in the request. + */ + statements?: string[]; + } + /** + * Request message for `GetIamPolicy` method. + */ + interface Schema$GetIamPolicyRequest { + } + /** + * An isolated set of Cloud Spanner resources on which databases can be + * hosted. + */ + interface Schema$Instance { + /** + * Required. The name of the instance's configuration. Values are of the + * form `projects/<project>/instanceConfigs/<configuration>`. + * See also InstanceConfig and ListInstanceConfigs. + */ + config?: string; + /** + * Required. The descriptive name for this instance as it appears in UIs. + * Must be unique per project and between 4 and 30 characters in length. + */ + displayName?: string; + /** + * Cloud Labels are a flexible and lightweight mechanism for organizing + * cloud resources into groups that reflect a customer's organizational + * needs and deployment strategies. Cloud Labels can be used to filter + * collections of resources. They can be used to control how resource + * metrics are aggregated. And they can be used as arguments to policy + * management rules (e.g. route, firewall, load balancing, etc.). * Label + * keys must be between 1 and 63 characters long and must conform to the + * following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`. * Label + * values must be between 0 and 63 characters long and must conform to + * the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`. * No more than + * 64 labels can be associated with a given resource. See + * https://goo.gl/xmQnxf for more information on and examples of labels. If + * you plan to use labels in your own code, please note that additional + * characters may be allowed in the future. And so you are advised to use an + * internal label representation, such as JSON, which doesn't rely upon + * specific characters being disallowed. For example, representing labels + * as the string: name + "_" + value would prove problematic if + * we were to allow "_" in a future release. + */ + labels?: any; + /** + * Required. A unique identifier for the instance, which cannot be changed + * after the instance is created. Values are of the form + * `projects/<project>/instances/a-z*[a-z0-9]`. The final segment of + * the name must be between 6 and 30 characters in length. + */ + name?: string; + /** + * Required. The number of nodes allocated to this instance. This may be + * zero in API responses for instances that are not yet in state `READY`. + * See [the + * documentation](https://cloud.google.com/spanner/docs/instances#node_count) + * for more information about nodes. + */ + nodeCount?: number; + /** + * Output only. The current instance state. For CreateInstance, the state + * must be either omitted or set to `CREATING`. For UpdateInstance, the + * state must be either omitted or set to `READY`. + */ + state?: string; + } + /** + * A possible configuration for a Cloud Spanner instance. Configurations + * define the geographic placement of nodes and their replication. + */ + interface Schema$InstanceConfig { + /** + * The name of this instance configuration as it appears in UIs. + */ + displayName?: string; + /** + * A unique identifier for the instance configuration. Values are of the + * form `projects/<project>/instanceConfigs/a-z*` + */ + name?: string; + } + /** + * KeyRange represents a range of rows in a table or index. A range has a + * start key and an end key. These keys can be open or closed, indicating if + * the range includes rows with that key. Keys are represented by lists, + * where the ith value in the list corresponds to the ith component of the + * table or index primary key. Individual values are encoded as described + * here. For example, consider the following table definition: CREATE + * TABLE UserEvents ( UserName STRING(MAX), EventDate STRING(10) + * ) PRIMARY KEY(UserName, EventDate); The following keys name rows in this + * table: "Bob", "2014-09-23" Since the `UserEvents` + * table's `PRIMARY KEY` clause names two columns, each `UserEvents` key + * has two elements; the first is the `UserName`, and the second is the + * `EventDate`. Key ranges with multiple components are interpreted + * lexicographically by component using the table or index key's declared + * sort order. For example, the following range returns all events for user + * `"Bob"` that occurred in the year 2015: "start_closed": + * ["Bob", "2015-01-01"] "end_closed": + * ["Bob", "2015-12-31"] Start and end keys can omit + * trailing key components. This affects the inclusion and exclusion of rows + * that exactly match the provided key components: if the key is closed, then + * rows that exactly match the provided components are included; if the key is + * open, then rows that exactly match are not included. For example, the + * following range includes all events for `"Bob"` that occurred + * during and after the year 2000: "start_closed": + * ["Bob", "2000-01-01"] "end_closed": + * ["Bob"] The next example retrieves all events for + * `"Bob"`: "start_closed": ["Bob"] + * "end_closed": ["Bob"] To retrieve events before the + * year 2000: "start_closed": ["Bob"] + * "end_open": ["Bob", "2000-01-01"] The + * following range includes all rows in the table: "start_closed": + * [] "end_closed": [] This range returns all users whose + * `UserName` begins with any character from A to C: "start_closed": + * ["A"] "end_open": ["D"] This range + * returns all users whose `UserName` begins with B: "start_closed": + * ["B"] "end_open": ["C"] Key ranges honor + * column sort order. For example, suppose a table is defined as follows: + * CREATE TABLE DescendingSortedTable { Key INT64, ... ) + * PRIMARY KEY(Key DESC); The following range retrieves all rows with key + * values between 1 and 100 inclusive: "start_closed": + * ["100"] "end_closed": ["1"] Note that + * 100 is passed as the start, and 1 is passed as the end, because `Key` is a + * descending column in the schema. + */ + interface Schema$KeyRange { + /** + * If the end is closed, then the range includes all rows whose first + * `len(end_closed)` key columns exactly match `end_closed`. + */ + endClosed?: any[]; + /** + * If the end is open, then the range excludes rows whose first + * `len(end_open)` key columns exactly match `end_open`. + */ + endOpen?: any[]; + /** + * If the start is closed, then the range includes all rows whose first + * `len(start_closed)` key columns exactly match `start_closed`. + */ + startClosed?: any[]; + /** + * If the start is open, then the range excludes rows whose first + * `len(start_open)` key columns exactly match `start_open`. + */ + startOpen?: any[]; + } + /** + * `KeySet` defines a collection of Cloud Spanner keys and/or key ranges. All + * the keys are expected to be in the same table or index. The keys need not + * be sorted in any particular way. If the same key is specified multiple + * times in the set (for example if two ranges, two keys, or a key and a range + * overlap), Cloud Spanner behaves as if the key were only specified once. + */ + interface Schema$KeySet { + /** + * For convenience `all` can be set to `true` to indicate that this `KeySet` + * matches all keys in the table or index. Note that any keys specified in + * `keys` or `ranges` are only yielded once. + */ + all?: boolean; + /** + * A list of specific keys. Entries in `keys` should have exactly as many + * elements as there are columns in the primary or index key with which this + * `KeySet` is used. Individual key values are encoded as described here. + */ + keys?: any[][]; + /** + * A list of key ranges. See KeyRange for more information about key range + * specifications. + */ + ranges?: Schema$KeyRange[]; + } + /** + * The response for ListDatabases. + */ + interface Schema$ListDatabasesResponse { + /** + * Databases that matched the request. + */ + databases?: Schema$Database[]; + /** + * `next_page_token` can be sent in a subsequent ListDatabases call to fetch + * more of the matching databases. + */ + nextPageToken?: string; + } + /** + * The response for ListInstanceConfigs. + */ + interface Schema$ListInstanceConfigsResponse { + /** + * The list of requested instance configurations. + */ + instanceConfigs?: Schema$InstanceConfig[]; + /** + * `next_page_token` can be sent in a subsequent ListInstanceConfigs call to + * fetch more of the matching instance configurations. + */ + nextPageToken?: string; + } + /** + * The response for ListInstances. + */ + interface Schema$ListInstancesResponse { + /** + * The list of requested instances. + */ + instances?: Schema$Instance[]; + /** + * `next_page_token` can be sent in a subsequent ListInstances call to fetch + * more of the matching instances. + */ + nextPageToken?: string; + } + /** + * The response message for Operations.ListOperations. + */ + interface Schema$ListOperationsResponse { + /** + * The standard List next-page token. + */ + nextPageToken?: string; + /** + * A list of operations that matches the specified filter in the request. + */ + operations?: Schema$Operation[]; + } + /** + * The response for ListSessions. + */ + interface Schema$ListSessionsResponse { + /** + * `next_page_token` can be sent in a subsequent ListSessions call to fetch + * more of the matching sessions. + */ + nextPageToken?: string; + /** + * The list of requested sessions. + */ + sessions?: Schema$Session[]; + } + /** + * A modification to one or more Cloud Spanner rows. Mutations can be applied + * to a Cloud Spanner database by sending them in a Commit call. + */ + interface Schema$Mutation { + /** + * Delete rows from a table. Succeeds whether or not the named rows were + * present. + */ + delete?: Schema$Delete; + /** + * Insert new rows in a table. If any of the rows already exist, the write + * or transaction fails with error `ALREADY_EXISTS`. + */ + insert?: Schema$Write; + /** + * Like insert, except that if the row already exists, then its column + * values are overwritten with the ones provided. Any column values not + * explicitly written are preserved. + */ + insertOrUpdate?: Schema$Write; + /** + * Like insert, except that if the row already exists, it is deleted, and + * the column values provided are inserted instead. Unlike insert_or_update, + * this means any values not explicitly written become `NULL`. + */ + replace?: Schema$Write; + /** + * Update existing rows in a table. If any of the rows does not already + * exist, the transaction fails with error `NOT_FOUND`. + */ + update?: Schema$Write; + } + /** + * This resource represents a long-running operation that is the result of a + * network API call. + */ + interface Schema$Operation { + /** + * If the value is `false`, it means the operation is still in progress. If + * `true`, the operation is completed, and either `error` or `response` is + * available. + */ + done?: boolean; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * Service-specific metadata associated with the operation. It typically + * contains progress information and common metadata such as create time. + * Some services might not provide such metadata. Any method that returns a + * long-running operation should document the metadata type, if any. + */ + metadata?: any; + /** + * The server-assigned name, which is only unique within the same service + * that originally returns it. If you use the default HTTP mapping, the + * `name` should have the format of `operations/some/unique/name`. + */ + name?: string; + /** + * The normal response of the operation in case of success. If the original + * method returns no data on success, such as `Delete`, the response is + * `google.protobuf.Empty`. If the original method is standard + * `Get`/`Create`/`Update`, the response should be the resource. For other + * methods, the response should have the type `XxxResponse`, where `Xxx` is + * the original method name. For example, if the original method name is + * `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: any; + } + /** + * Partial results from a streaming read or SQL query. Streaming reads and SQL + * queries better tolerate large result sets, large rows, and large values, + * but are a little trickier to consume. + */ + interface Schema$PartialResultSet { + /** + * If true, then the final value in values is chunked, and must be combined + * with more values from subsequent `PartialResultSet`s to obtain a complete + * field value. + */ + chunkedValue?: boolean; + /** + * Metadata about the result set, such as row type information. Only present + * in the first response. + */ + metadata?: Schema$ResultSetMetadata; + /** + * Streaming calls might be interrupted for a variety of reasons, such as + * TCP connection loss. If this occurs, the stream of results can be resumed + * by re-sending the original request and including `resume_token`. Note + * that executing any other transaction in the same session invalidates the + * token. + */ + resumeToken?: string; + /** + * Query plan and execution statistics for the statement that produced this + * streaming result set. These can be requested by setting + * ExecuteSqlRequest.query_mode and are sent only once with the last + * response in the stream. + */ + stats?: Schema$ResultSetStats; + /** + * A streamed result set consists of a stream of values, which might be + * split into many `PartialResultSet` messages to accommodate large rows + * and/or large values. Every N complete values defines a row, where N is + * equal to the number of entries in metadata.row_type.fields. Most values + * are encoded based on type as described here. It is possible that the + * last value in values is "chunked", meaning that the rest of the + * value is sent in subsequent `PartialResultSet`(s). This is denoted by the + * chunked_value field. Two or more chunked values can be merged to form a + * complete value as follows: * `bool/number/null`: cannot be chunked * + * `string`: concatenate the strings * `list`: concatenate the lists. If + * the last element in a list is a `string`, `list`, or `object`, merge + * it with the first element in the next list by applying these rules + * recursively. * `object`: concatenate the (field name, field value) + * pairs. If a field name is duplicated, then apply these rules + * recursively to merge the field values. Some examples of merging: # + * Strings are concatenated. "foo", "bar" => + * "foobar" # Lists of non-strings are concatenated. [2, + * 3], [4] => [2, 3, 4] # Lists are concatenated, but the last and + * first elements are merged # because they are strings. ["a", + * "b"], ["c", "d"] => ["a", + * "bc", "d"] # Lists are concatenated, but the + * last and first elements are merged # because they are lists. + * Recursively, the last and first elements # of the inner lists are + * merged because they are strings. ["a", ["b", + * "c"]], [["d"], "e"] => ["a", + * ["b", "cd"], "e"] # Non-overlapping + * object fields are combined. {"a": "1"}, + * {"b": "2"} => {"a": "1", + * "b": 2"} # Overlapping object fields are merged. + * {"a": "1"}, {"a": "2"} => + * {"a": "12"} # Examples of merging objects + * containing lists of strings. {"a": ["1"]}, + * {"a": ["2"]} => {"a": ["12"]} + * For a more complete example, suppose a streaming SQL query is yielding a + * result set whose rows contain a single string field. The following + * `PartialResultSet`s might be yielded: { "metadata": + * { ... } "values": ["Hello", "W"] + * "chunked_value": true "resume_token": + * "Af65..." } { "values": + * ["orl"] "chunked_value": true + * "resume_token": "Bqp2..." } { + * "values": ["d"] "resume_token": + * "Zx1B..." } This sequence of `PartialResultSet`s encodes + * two rows, one containing the field value `"Hello"`, and a + * second containing the field value `"World" = "W" + + * "orl" + "d"`. + */ + values?: any[]; + } + /** + * Information returned for each partition returned in a PartitionResponse. + */ + interface Schema$Partition { + /** + * This token can be passed to Read, StreamingRead, ExecuteSql, or + * ExecuteStreamingSql requests to restrict the results to those identified + * by this partition token. + */ + partitionToken?: string; + } + /** + * Options for a PartitionQueryRequest and PartitionReadRequest. + */ + interface Schema$PartitionOptions { + /** + * **Note:** This hint is currently ignored by PartitionQuery and + * PartitionRead requests. The desired maximum number of partitions to + * return. For example, this may be set to the number of workers available. + * The default for this option is currently 10,000. The maximum value is + * currently 200,000. This is only a hint. The actual number of partitions + * returned may be smaller or larger than this maximum count request. + */ + maxPartitions?: string; + /** + * **Note:** This hint is currently ignored by PartitionQuery and + * PartitionRead requests. The desired data size for each partition + * generated. The default for this option is currently 1 GiB. This is only + * a hint. The actual size of each partition may be smaller or larger than + * this size request. + */ + partitionSizeBytes?: string; + } + /** + * The request for PartitionQuery + */ + interface Schema$PartitionQueryRequest { + /** + * The SQL query string can contain parameter placeholders. A parameter + * placeholder consists of `'@'` followed by the parameter name. + * Parameter names consist of any combination of letters, numbers, and + * underscores. Parameters can appear anywhere that a literal value is + * expected. The same parameter name can be used more than once, for + * example: `"WHERE id > @msg_id AND id < @msg_id + 100"` + * It is an error to execute an SQL query with unbound parameters. Parameter + * values are specified using `params`, which is a JSON object whose keys + * are parameter names, and whose values are the corresponding parameter + * values. + */ + params?: any; + /** + * It is not always possible for Cloud Spanner to infer the right SQL type + * from a JSON value. For example, values of type `BYTES` and values of + * type `STRING` both appear in params as JSON strings. In these cases, + * `param_types` can be used to specify the exact SQL type for some or all + * of the SQL query parameters. See the definition of Type for more + * information about SQL types. + */ + paramTypes?: any; + /** + * Additional options that affect how many partitions are created. + */ + partitionOptions?: Schema$PartitionOptions; + /** + * The query request to generate partitions for. The request will fail if + * the query is not root partitionable. The query plan of a root + * partitionable query has a single distributed union operator. A + * distributed union operator conceptually divides one or more tables into + * multiple splits, remotely evaluates a subquery independently on each + * split, and then unions all results. + */ + sql?: string; + /** + * Read only snapshot transactions are supported, read/write and single use + * transactions are not. + */ + transaction?: Schema$TransactionSelector; + } + /** + * The request for PartitionRead + */ + interface Schema$PartitionReadRequest { + /** + * The columns of table to be returned for each row matching this request. + */ + columns?: string[]; + /** + * If non-empty, the name of an index on table. This index is used instead + * of the table primary key when interpreting key_set and sorting result + * rows. See key_set for further information. + */ + index?: string; + /** + * Required. `key_set` identifies the rows to be yielded. `key_set` names + * the primary keys of the rows in table to be yielded, unless index is + * present. If index is present, then key_set instead names index keys in + * index. It is not an error for the `key_set` to name rows that do not + * exist in the database. Read yields nothing for nonexistent rows. + */ + keySet?: Schema$KeySet; + /** + * Additional options that affect how many partitions are created. + */ + partitionOptions?: Schema$PartitionOptions; + /** + * Required. The name of the table in the database to be read. + */ + table?: string; + /** + * Read only snapshot transactions are supported, read/write and single use + * transactions are not. + */ + transaction?: Schema$TransactionSelector; + } + /** + * The response for PartitionQuery or PartitionRead + */ + interface Schema$PartitionResponse { + /** + * Partitions created by this request. + */ + partitions?: Schema$Partition[]; + /** + * Transaction created by this request. + */ + transaction?: Schema$Transaction; + } + /** + * Node information for nodes appearing in a QueryPlan.plan_nodes. + */ + interface Schema$PlanNode { + /** + * List of child node `index`es and their relationship to this parent. + */ + childLinks?: Schema$ChildLink[]; + /** + * The display name for the node. + */ + displayName?: string; + /** + * The execution statistics associated with the node, contained in a group + * of key-value pairs. Only present if the plan was returned as a result of + * a profile query. For example, number of executions, number of rows/time + * per execution etc. + */ + executionStats?: any; + /** + * The `PlanNode`'s index in node list. + */ + index?: number; + /** + * Used to determine the type of node. May be needed for visualizing + * different kinds of nodes differently. For example, If the node is a + * SCALAR node, it will have a condensed representation which can be used to + * directly embed a description of the node in its parent. + */ + kind?: string; + /** + * Attributes relevant to the node contained in a group of key-value pairs. + * For example, a Parameter Reference node could have the following + * information in its metadata: { "parameter_reference": + * "param1", "parameter_type": "array" } + */ + metadata?: any; + /** + * Condensed representation for SCALAR nodes. + */ + shortRepresentation?: Schema$ShortRepresentation; + } + /** + * Defines an Identity and Access Management (IAM) policy. It is used to + * specify access control policies for Cloud Platform resources. A `Policy` + * consists of a list of `bindings`. A `binding` binds a list of `members` to + * a `role`, where the members can be user accounts, Google groups, Google + * domains, and service accounts. A `role` is a named list of permissions + * defined by IAM. **JSON Example** { "bindings": [ { + * "role": "roles/owner", "members": [ + * "user:mike@example.com", "group:admins@example.com", + * "domain:google.com", + * "serviceAccount:my-other-app@appspot.gserviceaccount.com" ] }, { + * "role": "roles/viewer", "members": + * ["user:sean@example.com"] } ] } **YAML + * Example** bindings: - members: - user:mike@example.com - + * group:admins@example.com - domain:google.com - + * serviceAccount:my-other-app@appspot.gserviceaccount.com role: + * roles/owner - members: - user:sean@example.com role: + * roles/viewer For a description of IAM and its features, see the [IAM + * developer's guide](https://cloud.google.com/iam/docs). + */ + interface Schema$Policy { + /** + * Associates a list of `members` to a `role`. `bindings` with no members + * will result in an error. + */ + bindings?: Schema$Binding[]; + /** + * `etag` is used for optimistic concurrency control as a way to help + * prevent simultaneous updates of a policy from overwriting each other. It + * is strongly suggested that systems make use of the `etag` in the + * read-modify-write cycle to perform policy updates in order to avoid race + * conditions: An `etag` is returned in the response to `getIamPolicy`, and + * systems are expected to put that etag in the request to `setIamPolicy` to + * ensure that their change will be applied to the same version of the + * policy. If no `etag` is provided in the call to `setIamPolicy`, then the + * existing policy is overwritten blindly. + */ + etag?: string; + /** + * Deprecated. + */ + version?: number; + } + /** + * Contains an ordered list of nodes appearing in the query plan. + */ + interface Schema$QueryPlan { + /** + * The nodes in the query plan. Plan nodes are returned in pre-order + * starting with the plan root. Each PlanNode's `id` corresponds to its + * index in `plan_nodes`. + */ + planNodes?: Schema$PlanNode[]; + } + /** + * Message type to initiate a read-only transaction. + */ + interface Schema$ReadOnly { + /** + * Executes all reads at a timestamp that is `exact_staleness` old. The + * timestamp is chosen soon after the read is started. Guarantees that all + * writes that have committed more than the specified number of seconds ago + * are visible. Because Cloud Spanner chooses the exact timestamp, this mode + * works even if the client's local clock is substantially skewed from + * Cloud Spanner commit timestamps. Useful for reading at nearby replicas + * without the distributed timestamp negotiation overhead of + * `max_staleness`. + */ + exactStaleness?: string; + /** + * Read data at a timestamp >= `NOW - max_staleness` seconds. Guarantees + * that all writes that have committed more than the specified number of + * seconds ago are visible. Because Cloud Spanner chooses the exact + * timestamp, this mode works even if the client's local clock is + * substantially skewed from Cloud Spanner commit timestamps. Useful for + * reading the freshest data available at a nearby replica, while bounding + * the possible staleness if the local replica has fallen behind. Note that + * this option can only be used in single-use transactions. + */ + maxStaleness?: string; + /** + * Executes all reads at a timestamp >= `min_read_timestamp`. This is + * useful for requesting fresher data than some previous read, or data that + * is fresh enough to observe the effects of some previously committed + * transaction whose timestamp is known. Note that this option can only be + * used in single-use transactions. A timestamp in RFC3339 UTC + * \"Zulu\" format, accurate to nanoseconds. Example: + * `"2014-10-02T15:01:23.045123456Z"`. + */ + minReadTimestamp?: string; + /** + * Executes all reads at the given timestamp. Unlike other modes, reads at a + * specific timestamp are repeatable; the same read at the same timestamp + * always returns the same data. If the timestamp is in the future, the read + * will block until the specified timestamp, modulo the read's deadline. + * Useful for large scale consistent reads such as mapreduces, or for + * coordinating many reads against a consistent snapshot of the data. A + * timestamp in RFC3339 UTC \"Zulu\" format, accurate to + * nanoseconds. Example: `"2014-10-02T15:01:23.045123456Z"`. + */ + readTimestamp?: string; + /** + * If true, the Cloud Spanner-selected read timestamp is included in the + * Transaction message that describes the transaction. + */ + returnReadTimestamp?: boolean; + /** + * Read at a timestamp where all previously committed transactions are + * visible. + */ + strong?: boolean; + } + /** + * The request for Read and StreamingRead. + */ + interface Schema$ReadRequest { + /** + * The columns of table to be returned for each row matching this request. + */ + columns?: string[]; + /** + * If non-empty, the name of an index on table. This index is used instead + * of the table primary key when interpreting key_set and sorting result + * rows. See key_set for further information. + */ + index?: string; + /** + * Required. `key_set` identifies the rows to be yielded. `key_set` names + * the primary keys of the rows in table to be yielded, unless index is + * present. If index is present, then key_set instead names index keys in + * index. If the partition_token field is empty, rows are yielded in table + * primary key order (if index is empty) or index key order (if index is + * non-empty). If the partition_token field is not empty, rows will be + * yielded in an unspecified order. It is not an error for the `key_set` to + * name rows that do not exist in the database. Read yields nothing for + * nonexistent rows. + */ + keySet?: Schema$KeySet; + /** + * If greater than zero, only the first `limit` rows are yielded. If `limit` + * is zero, the default is no limit. A limit cannot be specified if + * `partition_token` is set. + */ + limit?: string; + /** + * If present, results will be restricted to the specified partition + * previously created using PartitionRead(). There must be an exact match + * for the values of fields common to this message and the + * PartitionReadRequest message used to create this partition_token. + */ + partitionToken?: string; + /** + * If this request is resuming a previously interrupted read, `resume_token` + * should be copied from the last PartialResultSet yielded before the + * interruption. Doing this enables the new read to resume where the last + * read left off. The rest of the request parameters must exactly match the + * request that yielded this token. + */ + resumeToken?: string; + /** + * Required. The name of the table in the database to be read. + */ + table?: string; + /** + * The transaction to use. If none is provided, the default is a temporary + * read-only transaction with strong concurrency. + */ + transaction?: Schema$TransactionSelector; + } + /** + * Message type to initiate a read-write transaction. Currently this + * transaction type has no options. + */ + interface Schema$ReadWrite { + } + /** + * Results from Read or ExecuteSql. + */ + interface Schema$ResultSet { + /** + * Metadata about the result set, such as row type information. + */ + metadata?: Schema$ResultSetMetadata; + /** + * Each element in `rows` is a row whose format is defined by + * metadata.row_type. The ith element in each row matches the ith field in + * metadata.row_type. Elements are encoded based on type as described here. + */ + rows?: any[][]; + /** + * Query plan and execution statistics for the SQL statement that produced + * this result set. These can be requested by setting + * ExecuteSqlRequest.query_mode. + */ + stats?: Schema$ResultSetStats; + } + /** + * Metadata about a ResultSet or PartialResultSet. + */ + interface Schema$ResultSetMetadata { + /** + * Indicates the field names and types for the rows in the result set. For + * example, a SQL query like `"SELECT UserId, UserName FROM + * Users"` could return a `row_type` value like: "fields": [ + * { "name": "UserId", "type": { + * "code": "INT64" } }, { "name": + * "UserName", "type": { "code": + * "STRING" } }, ] + */ + rowType?: Schema$StructType; + /** + * If the read or SQL query began a transaction as a side-effect, the + * information about the new transaction is yielded here. + */ + transaction?: Schema$Transaction; + } + /** + * Additional statistics about a ResultSet or PartialResultSet. + */ + interface Schema$ResultSetStats { + /** + * QueryPlan for the query associated with this result. + */ + queryPlan?: Schema$QueryPlan; + /** + * Aggregated statistics from the execution of the query. Only present when + * the query is profiled. For example, a query could return the statistics + * as follows: { "rows_returned": "3", + * "elapsed_time": "1.22 secs", "cpu_time": + * "1.19 secs" } + */ + queryStats?: any; + } + /** + * The request for Rollback. + */ + interface Schema$RollbackRequest { + /** + * Required. The transaction to roll back. + */ + transactionId?: string; + } + /** + * A session in the Cloud Spanner API. + */ + interface Schema$Session { + /** + * Output only. The approximate timestamp when the session is last used. It + * is typically earlier than the actual last use time. + */ + approximateLastUseTime?: string; + /** + * Output only. The timestamp when the session is created. + */ + createTime?: string; + /** + * The labels for the session. * Label keys must be between 1 and 63 + * characters long and must conform to the following regular expression: + * `[a-z]([-a-z0-9]*[a-z0-9])?`. * Label values must be between 0 and 63 + * characters long and must conform to the regular expression + * `([a-z]([-a-z0-9]*[a-z0-9])?)?`. * No more than 64 labels can be + * associated with a given session. See https://goo.gl/xmQnxf for more + * information on and examples of labels. + */ + labels?: any; + /** + * The name of the session. This is always system-assigned; values provided + * when creating a session are ignored. + */ + name?: string; + } + /** + * Request message for `SetIamPolicy` method. + */ + interface Schema$SetIamPolicyRequest { + /** + * REQUIRED: The complete policy to be applied to the `resource`. The size + * of the policy is limited to a few 10s of KB. An empty policy is a valid + * policy but certain Cloud Platform services (such as Projects) might + * reject them. + */ + policy?: Schema$Policy; + } + /** + * Condensed representation of a node and its subtree. Only present for + * `SCALAR` PlanNode(s). + */ + interface Schema$ShortRepresentation { + /** + * A string representation of the expression subtree rooted at this node. + */ + description?: string; + /** + * A mapping of (subquery variable name) -> (subquery node id) for cases + * where the `description` string of this node references a `SCALAR` + * subquery contained in the expression subtree rooted at this node. The + * referenced `SCALAR` subquery may not necessarily be a direct child of + * this node. + */ + subqueries?: any; + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + /** + * `StructType` defines the fields of a STRUCT type. + */ + interface Schema$StructType { + /** + * The list of fields that make up this struct. Order is significant, + * because values of this struct type are represented as lists, where the + * order of field values matches the order of fields in the StructType. In + * turn, the order of fields matches the order of columns in a read request, + * or the order of fields in the `SELECT` clause of a query. + */ + fields?: Schema$Field[]; + } + /** + * Request message for `TestIamPermissions` method. + */ + interface Schema$TestIamPermissionsRequest { + /** + * REQUIRED: The set of permissions to check for 'resource'. + * Permissions with wildcards (such as '*', 'spanner.*', + * 'spanner.instances.*') are not allowed. + */ + permissions?: string[]; + } + /** + * Response message for `TestIamPermissions` method. + */ + interface Schema$TestIamPermissionsResponse { + /** + * A subset of `TestPermissionsRequest.permissions` that the caller is + * allowed. + */ + permissions?: string[]; + } + /** + * A transaction. + */ + interface Schema$Transaction { + /** + * `id` may be used to identify the transaction in subsequent Read, + * ExecuteSql, Commit, or Rollback calls. Single-use read-only transactions + * do not have IDs, because single-use transactions do not support multiple + * requests. + */ + id?: string; + /** + * For snapshot read-only transactions, the read timestamp chosen for the + * transaction. Not returned by default: see + * TransactionOptions.ReadOnly.return_read_timestamp. A timestamp in + * RFC3339 UTC \"Zulu\" format, accurate to nanoseconds. Example: + * `"2014-10-02T15:01:23.045123456Z"`. + */ + readTimestamp?: string; + } + /** + * # Transactions Each session can have at most one active transaction at a + * time. After the active transaction is completed, the session can + * immediately be re-used for the next transaction. It is not necessary to + * create a new session for each transaction. # Transaction Modes Cloud + * Spanner supports two transaction modes: 1. Locking read-write. This type + * of transaction is the only way to write data into Cloud Spanner. These + * transactions rely on pessimistic locking and, if necessary, two-phase + * commit. Locking read-write transactions may abort, requiring the + * application to retry. 2. Snapshot read-only. This transaction type + * provides guaranteed consistency across several reads, but does not + * allow writes. Snapshot read-only transactions can be configured to + * read at timestamps in the past. Snapshot read-only transactions do not + * need to be committed. For transactions that only read, snapshot read-only + * transactions provide simpler semantics and are almost always faster. In + * particular, read-only transactions do not take locks, so they do not + * conflict with read-write transactions. As a consequence of not taking + * locks, they also do not abort, so retry loops are not needed. Transactions + * may only read/write data in a single database. They may, however, + * read/write data in different tables within that database. ## Locking + * Read-Write Transactions Locking transactions may be used to atomically + * read-modify-write data anywhere in a database. This type of transaction is + * externally consistent. Clients should attempt to minimize the amount of + * time a transaction is active. Faster transactions commit with higher + * probability and cause less contention. Cloud Spanner attempts to keep read + * locks active as long as the transaction continues to do reads, and the + * transaction has not been terminated by Commit or Rollback. Long periods of + * inactivity at the client may cause Cloud Spanner to release a + * transaction's locks and abort it. Reads performed within a transaction + * acquire locks on the data being read. Writes can only be done at commit + * time, after all reads have been completed. Conceptually, a read-write + * transaction consists of zero or more reads or SQL queries followed by + * Commit. At any time before Commit, the client can send a Rollback request + * to abort the transaction. ### Semantics Cloud Spanner can commit the + * transaction if all read locks it acquired are still valid at commit time, + * and it is able to acquire write locks for all writes. Cloud Spanner can + * abort the transaction for any reason. If a commit attempt returns + * `ABORTED`, Cloud Spanner guarantees that the transaction has not modified + * any user data in Cloud Spanner. Unless the transaction commits, Cloud + * Spanner makes no guarantees about how long the transaction's locks were + * held for. It is an error to use Cloud Spanner locks for any sort of mutual + * exclusion other than between Cloud Spanner transactions themselves. ### + * Retrying Aborted Transactions When a transaction aborts, the application + * can choose to retry the whole transaction again. To maximize the chances of + * successfully committing the retry, the client should execute the retry in + * the same session as the original attempt. The original session's lock + * priority increases with each consecutive abort, meaning that each attempt + * has a slightly better chance of success than the previous. Under some + * circumstances (e.g., many transactions attempting to modify the same + * row(s)), a transaction can abort many times in a short period before + * successfully committing. Thus, it is not a good idea to cap the number of + * retries a transaction can attempt; instead, it is better to limit the total + * amount of wall time spent retrying. ### Idle Transactions A transaction + * is considered idle if it has no outstanding reads or SQL queries and has + * not started a read or SQL query within the last 10 seconds. Idle + * transactions can be aborted by Cloud Spanner so that they don't hold on + * to locks indefinitely. In that case, the commit will fail with error + * `ABORTED`. If this behavior is undesirable, periodically executing a + * simple SQL query in the transaction (e.g., `SELECT 1`) prevents the + * transaction from becoming idle. ## Snapshot Read-Only Transactions + * Snapshot read-only transactions provides a simpler method than locking + * read-write transactions for doing several consistent reads. However, this + * type of transaction does not support writes. Snapshot transactions do not + * take locks. Instead, they work by choosing a Cloud Spanner timestamp, then + * executing all reads at that timestamp. Since they do not acquire locks, + * they do not block concurrent read-write transactions. Unlike locking + * read-write transactions, snapshot read-only transactions never abort. They + * can fail if the chosen read timestamp is garbage collected; however, the + * default garbage collection policy is generous enough that most applications + * do not need to worry about this in practice. Snapshot read-only + * transactions do not need to call Commit or Rollback (and in fact are not + * permitted to do so). To execute a snapshot transaction, the client + * specifies a timestamp bound, which tells Cloud Spanner how to choose a read + * timestamp. The types of timestamp bound are: - Strong (the default). - + * Bounded staleness. - Exact staleness. If the Cloud Spanner database to + * be read is geographically distributed, stale read-only transactions can + * execute more quickly than strong or read-write transaction, because they + * are able to execute far from the leader replica. Each type of timestamp + * bound is discussed in detail below. ### Strong Strong reads are + * guaranteed to see the effects of all transactions that have committed + * before the start of the read. Furthermore, all rows yielded by a single + * read are consistent with each other -- if any part of the read observes a + * transaction, all parts of the read see the transaction. Strong reads are + * not repeatable: two consecutive strong read-only transactions might return + * inconsistent results if there are concurrent writes. If consistency across + * reads is required, the reads should be executed within a transaction or at + * an exact read timestamp. See TransactionOptions.ReadOnly.strong. ### + * Exact Staleness These timestamp bounds execute reads at a user-specified + * timestamp. Reads at a timestamp are guaranteed to see a consistent prefix + * of the global transaction history: they observe modifications done by all + * transactions with a commit timestamp <= the read timestamp, and observe + * none of the modifications done by transactions with a larger commit + * timestamp. They will block until all conflicting transactions that may be + * assigned commit timestamps <= the read timestamp have finished. The + * timestamp can either be expressed as an absolute Cloud Spanner commit + * timestamp or a staleness relative to the current time. These modes do not + * require a "negotiation phase" to pick a timestamp. As a result, + * they execute slightly faster than the equivalent boundedly stale + * concurrency modes. On the other hand, boundedly stale reads usually return + * fresher results. See TransactionOptions.ReadOnly.read_timestamp and + * TransactionOptions.ReadOnly.exact_staleness. ### Bounded Staleness Bounded + * staleness modes allow Cloud Spanner to pick the read timestamp, subject to + * a user-provided staleness bound. Cloud Spanner chooses the newest timestamp + * within the staleness bound that allows execution of the reads at the + * closest available replica without blocking. All rows yielded are + * consistent with each other -- if any part of the read observes a + * transaction, all parts of the read see the transaction. Boundedly stale + * reads are not repeatable: two stale reads, even if they use the same + * staleness bound, can execute at different timestamps and thus return + * inconsistent results. Boundedly stale reads execute in two phases: the + * first phase negotiates a timestamp among all replicas needed to serve the + * read. In the second phase, reads are executed at the negotiated timestamp. + * As a result of the two phase execution, bounded staleness reads are usually + * a little slower than comparable exact staleness reads. However, they are + * typically able to return fresher results, and are more likely to execute at + * the closest replica. Because the timestamp negotiation requires up-front + * knowledge of which rows will be read, it can only be used with single-use + * read-only transactions. See TransactionOptions.ReadOnly.max_staleness and + * TransactionOptions.ReadOnly.min_read_timestamp. ### Old Read Timestamps + * and Garbage Collection Cloud Spanner continuously garbage collects deleted + * and overwritten data in the background to reclaim storage space. This + * process is known as "version GC". By default, version GC reclaims + * versions after they are one hour old. Because of this, Cloud Spanner cannot + * perform reads at read timestamps more than one hour in the past. This + * restriction also applies to in-progress reads and/or SQL queries whose + * timestamp become too old while executing. Reads and SQL queries with + * too-old read timestamps fail with the error `FAILED_PRECONDITION`. ## + */ + interface Schema$TransactionOptions { + /** + * Transaction will not write. Authorization to begin a read-only + * transaction requires `spanner.databases.beginReadOnlyTransaction` + * permission on the `session` resource. + */ + readOnly?: Schema$ReadOnly; + /** + * Transaction may write. Authorization to begin a read-write transaction + * requires `spanner.databases.beginOrRollbackReadWriteTransaction` + * permission on the `session` resource. + */ + readWrite?: Schema$ReadWrite; + } + /** + * This message is used to select the transaction in which a Read or + * ExecuteSql call runs. See TransactionOptions for more information about + * transactions. + */ + interface Schema$TransactionSelector { + /** + * Begin a new transaction and execute this read or SQL query in it. The + * transaction ID of the new transaction is returned in + * ResultSetMetadata.transaction, which is a Transaction. + */ + begin?: Schema$TransactionOptions; + /** + * Execute the read or SQL query in a previously-started transaction. + */ + id?: string; + /** + * Execute the read or SQL query in a temporary transaction. This is the + * most efficient way to execute a transaction that consists of a single SQL + * query. + */ + singleUse?: Schema$TransactionOptions; + } + /** + * `Type` indicates the type of a Cloud Spanner value, as might be stored in a + * table cell or returned from an SQL query. + */ + interface Schema$Type { + /** + * If code == ARRAY, then `array_element_type` is the type of the array + * elements. + */ + arrayElementType?: Schema$Type; + /** + * Required. The TypeCode for this type. + */ + code?: string; + /** + * If code == STRUCT, then `struct_type` provides type information for the + * struct's fields. + */ + structType?: Schema$StructType; + } + /** + * Metadata type for the operation returned by UpdateDatabaseDdl. + */ + interface Schema$UpdateDatabaseDdlMetadata { + /** + * Reports the commit timestamps of all statements that have succeeded so + * far, where `commit_timestamps[i]` is the commit timestamp for the + * statement `statements[i]`. + */ + commitTimestamps?: string[]; + /** + * The database being modified. + */ + database?: string; + /** + * For an update this list contains all the statements. For an individual + * statement, this list contains only that statement. + */ + statements?: string[]; + } + /** + * Enqueues the given DDL statements to be applied, in order but not + * necessarily all at once, to the database schema at some point (or points) + * in the future. The server checks that the statements are executable + * (syntactically valid, name tables that exist, etc.) before enqueueing them, + * but they may still fail upon later execution (e.g., if a statement from + * another batch of statements is applied first and it conflicts in some way, + * or if there is some data-related problem like a `NULL` value in a column to + * which `NOT NULL` would be added). If a statement fails, all subsequent + * statements in the batch are automatically cancelled. Each batch of + * statements is assigned a name which can be used with the Operations API to + * monitor progress. See the operation_id field for more details. + */ + interface Schema$UpdateDatabaseDdlRequest { + /** + * If empty, the new update request is assigned an automatically-generated + * operation ID. Otherwise, `operation_id` is used to construct the name of + * the resulting Operation. Specifying an explicit operation ID simplifies + * determining whether the statements were executed in the event that the + * UpdateDatabaseDdl call is replayed, or the return value is otherwise + * lost: the database and `operation_id` fields can be combined to form the + * name of the resulting longrunning.Operation: + * `<database>/operations/<operation_id>`. `operation_id` + * should be unique within the database, and must be a valid identifier: + * `a-z*`. Note that automatically-generated operation IDs always begin with + * an underscore. If the named operation already exists, UpdateDatabaseDdl + * returns `ALREADY_EXISTS`. + */ + operationId?: string; + /** + * DDL statements to be applied to the database. + */ + statements?: string[]; + } + /** + * Metadata type for the operation returned by UpdateInstance. + */ + interface Schema$UpdateInstanceMetadata { + /** + * The time at which this operation was cancelled. If set, this operation is + * in the process of undoing itself (which is guaranteed to succeed) and + * cannot be cancelled again. + */ + cancelTime?: string; + /** + * The time at which this operation failed or was completed successfully. + */ + endTime?: string; + /** + * The desired end state of the update. + */ + instance?: Schema$Instance; + /** + * The time at which UpdateInstance request was received. + */ + startTime?: string; + } + /** + * The request for UpdateInstance. + */ + interface Schema$UpdateInstanceRequest { + /** + * Required. A mask specifying which fields in + * [][google.spanner.admin.instance.v1.UpdateInstanceRequest.instance] + * should be updated. The field mask must always be specified; this prevents + * any future fields in [][google.spanner.admin.instance.v1.Instance] from + * being erased accidentally by clients that do not know about them. + */ + fieldMask?: string; + /** + * Required. The instance to update, which must always include the instance + * name. Otherwise, only fields mentioned in + * [][google.spanner.admin.instance.v1.UpdateInstanceRequest.field_mask] + * need be included. + */ + instance?: Schema$Instance; + } + /** + * Arguments to insert, update, insert_or_update, and replace operations. + */ + interface Schema$Write { + /** + * The names of the columns in table to be written. The list of columns + * must contain enough columns to allow Cloud Spanner to derive values for + * all primary key columns in the row(s) to be modified. + */ + columns?: string[]; + /** + * Required. The table whose rows will be written. + */ + table?: string; + /** + * The values to be written. `values` can contain more than one list of + * values. If it does, then multiple rows are written, one for each entry in + * `values`. Each list in `values` must have exactly as many entries as + * there are entries in columns above. Sending multiple lists is equivalent + * to sending multiple `Mutation`s, each containing one `values` entry and + * repeating table and columns. Individual values in each list are encoded + * as described here. + */ + values?: any[][]; + } + class Resource$Projects { + root: Spanner; + instanceConfigs: Resource$Projects$Instanceconfigs; + instances: Resource$Projects$Instances; + constructor(root: Spanner); + getRoot(): Spanner; + } + class Resource$Projects$Instanceconfigs { + root: Spanner; + constructor(root: Spanner); + getRoot(): Spanner; + /** + * spanner.projects.instanceConfigs.get + * @desc Gets information about a particular instance configuration. + * @alias spanner.projects.instanceConfigs.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The name of the requested instance configuration. Values are of the form `projects//instanceConfigs/`. + * @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?: Params$Resource$Projects$Instanceconfigs$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Instanceconfigs$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Instanceconfigs$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * spanner.projects.instanceConfigs.list + * @desc Lists the supported instance configurations for a given project. + * @alias spanner.projects.instanceConfigs.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Number of instance configurations to be returned in the response. If 0 or less, defaults to the server's maximum allowed page size. + * @param {string=} params.pageToken If non-empty, `page_token` should contain a next_page_token from a previous ListInstanceConfigsResponse. + * @param {string} params.parent Required. The name of the project for which a list of supported instance configurations is requested. Values are of the form `projects/`. + * @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?: Params$Resource$Projects$Instanceconfigs$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Instanceconfigs$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Instanceconfigs$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Instanceconfigs$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the requested instance configuration. Values are of + * the form `projects//instanceConfigs/`. + */ + name?: string; + } + interface Params$Resource$Projects$Instanceconfigs$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Number of instance configurations to be returned in the response. If 0 or + * less, defaults to the server's maximum allowed page size. + */ + pageSize?: number; + /** + * If non-empty, `page_token` should contain a next_page_token from a + * previous ListInstanceConfigsResponse. + */ + pageToken?: string; + /** + * Required. The name of the project for which a list of supported instance + * configurations is requested. Values are of the form `projects/`. + */ + parent?: string; + } + class Resource$Projects$Instances { + root: Spanner; + databases: Resource$Projects$Instances$Databases; + operations: Resource$Projects$Instances$Operations; + constructor(root: Spanner); + getRoot(): Spanner; + /** + * spanner.projects.instances.create + * @desc Creates an instance and begins preparing it to begin serving. The + * returned long-running operation can be used to track the progress of + * preparing the new instance. The instance name is assigned by the caller. + * If the named instance already exists, `CreateInstance` returns + * `ALREADY_EXISTS`. Immediately upon completion of this request: * The + * instance is readable via the API, with all requested attributes but + * no allocated resources. Its state is `CREATING`. Until completion of the + * returned operation: * Cancelling the operation renders the instance + * immediately unreadable via the API. * The instance can be deleted. + * * All other attempts to modify the instance are rejected. Upon + * completion of the returned operation: * Billing for all + * successfully-allocated resources begins (some types may have lower + * than the requested levels). * Databases can be created in the instance. + * * The instance's allocated resource levels are readable via the API. * + * The instance's state becomes `READY`. The returned long-running + * operation will have a name of the format + * `/operations/` and can be used to track + * creation of the instance. The metadata field type is + * CreateInstanceMetadata. The response field type is Instance, if + * successful. + * @alias spanner.projects.instances.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The name of the project in which to create the instance. Values are of the form `projects/`. + * @param {().CreateInstanceRequest} 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 + */ + create(params?: Params$Resource$Projects$Instances$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Instances$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Instances$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * spanner.projects.instances.delete + * @desc Deletes an instance. Immediately upon completion of the request: + * * Billing ceases for all of the instance's reserved resources. Soon + * afterward: * The instance and *all of its databases* immediately and + * irrevocably disappear from the API. All data in the databases is + * permanently deleted. + * @alias spanner.projects.instances.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The name of the instance to be deleted. Values are of the form `projects//instances/` + * @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?: Params$Resource$Projects$Instances$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Instances$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Instances$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * spanner.projects.instances.get + * @desc Gets information about a particular instance. + * @alias spanner.projects.instances.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The name of the requested instance. Values are of the form `projects//instances/`. + * @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?: Params$Resource$Projects$Instances$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Instances$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Instances$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * spanner.projects.instances.getIamPolicy + * @desc Gets the access control policy for an instance resource. Returns an + * empty policy if an instance exists but does not have a policy set. + * Authorization requires `spanner.instances.getIamPolicy` on resource. + * @alias spanner.projects.instances.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The Cloud Spanner resource for which the policy is being retrieved. The format is `projects//instances/` for instance resources and `projects//instances//databases/` for database resources. + * @param {().GetIamPolicyRequest} 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 + */ + getIamPolicy(params?: Params$Resource$Projects$Instances$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Projects$Instances$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Projects$Instances$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * spanner.projects.instances.list + * @desc Lists all instances in the given project. + * @alias spanner.projects.instances.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter An expression for filtering the results of the request. Filter rules are case insensitive. The fields eligible for filtering are: * `name` * `display_name` * `labels.key` where key is the name of a label Some examples of using filters are: * `name:*` --> The instance has a name. * `name:Howl` --> The instance's name contains the string "howl". * `name:HOWL` --> Equivalent to above. * `NAME:howl` --> Equivalent to above. * `labels.env:*` --> The instance has the label "env". * `labels.env:dev` --> The instance has the label "env" and the value of the label contains the string "dev". * `name:howl labels.env:dev` --> The instance's name contains "howl" and it has the label "env" with its value containing "dev". + * @param {integer=} params.pageSize Number of instances to be returned in the response. If 0 or less, defaults to the server's maximum allowed page size. + * @param {string=} params.pageToken If non-empty, `page_token` should contain a next_page_token from a previous ListInstancesResponse. + * @param {string} params.parent Required. The name of the project for which a list of instances is requested. Values are of the form `projects/`. + * @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?: Params$Resource$Projects$Instances$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Instances$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Instances$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * spanner.projects.instances.patch + * @desc Updates an instance, and begins allocating or releasing resources + * as requested. The returned long-running operation can be used to track + * the progress of updating the instance. If the named instance does not + * exist, returns `NOT_FOUND`. Immediately upon completion of this request: + * * For resource types for which a decrease in the instance's allocation + * has been requested, billing is based on the newly-requested level. Until + * completion of the returned operation: * Cancelling the operation sets + * its metadata's cancel_time, and begins restoring resources to + * their pre-request values. The operation is guaranteed to succeed at + * undoing all resource changes, after which point it terminates with a + * `CANCELLED` status. * All other attempts to modify the instance are + * rejected. * Reading the instance via the API continues to give the + * pre-request resource levels. Upon completion of the returned + * operation: * Billing begins for all successfully-allocated resources + * (some types may have lower than the requested levels). * All + * newly-reserved resources are available for serving the instance's tables. + * * The instance's new resource levels are readable via the API. The + * returned long-running operation will have a name of the format + * `/operations/` and can be used to track the + * instance modification. The metadata field type is + * UpdateInstanceMetadata. The response field type is Instance, if + * successful. Authorization requires `spanner.instances.update` permission + * on resource name. + * @alias spanner.projects.instances.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. A unique identifier for the instance, which cannot be changed after the instance is created. Values are of the form `projects//instances/a-z*[a-z0-9]`. The final segment of the name must be between 6 and 30 characters in length. + * @param {().UpdateInstanceRequest} 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 + */ + patch(params?: Params$Resource$Projects$Instances$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Instances$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Instances$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * spanner.projects.instances.setIamPolicy + * @desc Sets the access control policy on an instance resource. Replaces + * any existing policy. Authorization requires + * `spanner.instances.setIamPolicy` on resource. + * @alias spanner.projects.instances.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The Cloud Spanner resource for which the policy is being set. The format is `projects//instances/` for instance resources and `projects//instances//databases/` for databases resources. + * @param {().SetIamPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Projects$Instances$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Projects$Instances$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Projects$Instances$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * spanner.projects.instances.testIamPermissions + * @desc Returns permissions that the caller has on the specified instance + * resource. Attempting this RPC on a non-existent Cloud Spanner instance + * resource will result in a NOT_FOUND error if the user has + * `spanner.instances.list` permission on the containing Google Cloud + * Project. Otherwise returns an empty set of permissions. + * @alias spanner.projects.instances.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The Cloud Spanner resource for which permissions are being tested. The format is `projects//instances/` for instance resources and `projects//instances//databases/` for database resources. + * @param {().TestIamPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Projects$Instances$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Projects$Instances$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Projects$Instances$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Instances$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the project in which to create the instance. Values + * are of the form `projects/`. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreateInstanceRequest; + } + interface Params$Resource$Projects$Instances$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the instance to be deleted. Values are of the form + * `projects//instances/` + */ + name?: string; + } + interface Params$Resource$Projects$Instances$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the requested instance. Values are of the form + * `projects//instances/`. + */ + name?: string; + } + interface Params$Resource$Projects$Instances$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The Cloud Spanner resource for which the policy is being + * retrieved. The format is `projects//instances/` + * for instance resources and `projects//instances//databases/` for database resources. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GetIamPolicyRequest; + } + interface Params$Resource$Projects$Instances$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * An expression for filtering the results of the request. Filter rules are + * case insensitive. The fields eligible for filtering are: * `name` * + * `display_name` * `labels.key` where key is the name of a label Some + * examples of using filters are: * `name:*` --> The instance has a name. + * * `name:Howl` --> The instance's name contains the string "howl". * + * `name:HOWL` --> Equivalent to above. * `NAME:howl` --> Equivalent to + * above. * `labels.env:*` --> The instance has the label "env". * + * `labels.env:dev` --> The instance has the label "env" and the value of + * the label contains the string "dev". * `name:howl labels.env:dev` --> + * The instance's name contains "howl" and it has the label "env" with its + * value containing "dev". + */ + filter?: string; + /** + * Number of instances to be returned in the response. If 0 or less, + * defaults to the server's maximum allowed page size. + */ + pageSize?: number; + /** + * If non-empty, `page_token` should contain a next_page_token from a + * previous ListInstancesResponse. + */ + pageToken?: string; + /** + * Required. The name of the project for which a list of instances is + * requested. Values are of the form `projects/`. + */ + parent?: string; + } + interface Params$Resource$Projects$Instances$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. A unique identifier for the instance, which cannot be changed + * after the instance is created. Values are of the form + * `projects//instances/a-z*[a-z0-9]`. The final segment of the + * name must be between 6 and 30 characters in length. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UpdateInstanceRequest; + } + interface Params$Resource$Projects$Instances$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The Cloud Spanner resource for which the policy is being set. + * The format is `projects//instances/` for + * instance resources and `projects//instances//databases/` for databases resources. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetIamPolicyRequest; + } + interface Params$Resource$Projects$Instances$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The Cloud Spanner resource for which permissions are being + * tested. The format is `projects//instances/` for + * instance resources and `projects//instances//databases/` for database resources. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestIamPermissionsRequest; + } + class Resource$Projects$Instances$Databases { + root: Spanner; + operations: Resource$Projects$Instances$Databases$Operations; + sessions: Resource$Projects$Instances$Databases$Sessions; + constructor(root: Spanner); + getRoot(): Spanner; + /** + * spanner.projects.instances.databases.create + * @desc Creates a new Cloud Spanner database and starts to prepare it for + * serving. The returned long-running operation will have a name of the + * format `/operations/` and can be used to + * track preparation of the database. The metadata field type is + * CreateDatabaseMetadata. The response field type is Database, if + * successful. + * @alias spanner.projects.instances.databases.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The name of the instance that will serve the new database. Values are of the form `projects//instances/`. + * @param {().CreateDatabaseRequest} 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 + */ + create(params?: Params$Resource$Projects$Instances$Databases$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Instances$Databases$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Instances$Databases$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * spanner.projects.instances.databases.dropDatabase + * @desc Drops (aka deletes) a Cloud Spanner database. + * @alias spanner.projects.instances.databases.dropDatabase + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.database Required. The database to be dropped. + * @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 + */ + dropDatabase(params?: Params$Resource$Projects$Instances$Databases$Dropdatabase, options?: MethodOptions): AxiosPromise; + dropDatabase(params: Params$Resource$Projects$Instances$Databases$Dropdatabase, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + dropDatabase(params: Params$Resource$Projects$Instances$Databases$Dropdatabase, callback: BodyResponseCallback): void; + dropDatabase(callback: BodyResponseCallback): void; + /** + * spanner.projects.instances.databases.get + * @desc Gets the state of a Cloud Spanner database. + * @alias spanner.projects.instances.databases.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The name of the requested database. Values are of the form `projects//instances//databases/`. + * @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?: Params$Resource$Projects$Instances$Databases$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Instances$Databases$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Instances$Databases$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * spanner.projects.instances.databases.getDdl + * @desc Returns the schema of a Cloud Spanner database as a list of + * formatted DDL statements. This method does not show pending schema + * updates, those may be queried using the Operations API. + * @alias spanner.projects.instances.databases.getDdl + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.database Required. The database whose schema we wish to get. + * @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 + */ + getDdl(params?: Params$Resource$Projects$Instances$Databases$Getddl, options?: MethodOptions): AxiosPromise; + getDdl(params: Params$Resource$Projects$Instances$Databases$Getddl, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getDdl(params: Params$Resource$Projects$Instances$Databases$Getddl, callback: BodyResponseCallback): void; + getDdl(callback: BodyResponseCallback): void; + /** + * spanner.projects.instances.databases.getIamPolicy + * @desc Gets the access control policy for a database resource. Returns an + * empty policy if a database exists but does not have a policy set. + * Authorization requires `spanner.databases.getIamPolicy` permission on + * resource. + * @alias spanner.projects.instances.databases.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The Cloud Spanner resource for which the policy is being retrieved. The format is `projects//instances/` for instance resources and `projects//instances//databases/` for database resources. + * @param {().GetIamPolicyRequest} 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 + */ + getIamPolicy(params?: Params$Resource$Projects$Instances$Databases$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Projects$Instances$Databases$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Projects$Instances$Databases$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * spanner.projects.instances.databases.list + * @desc Lists Cloud Spanner databases. + * @alias spanner.projects.instances.databases.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize Number of databases to be returned in the response. If 0 or less, defaults to the server's maximum allowed page size. + * @param {string=} params.pageToken If non-empty, `page_token` should contain a next_page_token from a previous ListDatabasesResponse. + * @param {string} params.parent Required. The instance whose databases should be listed. Values are of the form `projects//instances/`. + * @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?: Params$Resource$Projects$Instances$Databases$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Instances$Databases$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Instances$Databases$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * spanner.projects.instances.databases.setIamPolicy + * @desc Sets the access control policy on a database resource. Replaces any + * existing policy. Authorization requires `spanner.databases.setIamPolicy` + * permission on resource. + * @alias spanner.projects.instances.databases.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The Cloud Spanner resource for which the policy is being set. The format is `projects//instances/` for instance resources and `projects//instances//databases/` for databases resources. + * @param {().SetIamPolicyRequest} 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 + */ + setIamPolicy(params?: Params$Resource$Projects$Instances$Databases$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Projects$Instances$Databases$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Projects$Instances$Databases$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * spanner.projects.instances.databases.testIamPermissions + * @desc Returns permissions that the caller has on the specified database + * resource. Attempting this RPC on a non-existent Cloud Spanner database + * will result in a NOT_FOUND error if the user has `spanner.databases.list` + * permission on the containing Cloud Spanner instance. Otherwise returns an + * empty set of permissions. + * @alias spanner.projects.instances.databases.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resource_ REQUIRED: The Cloud Spanner resource for which permissions are being tested. The format is `projects//instances/` for instance resources and `projects//instances//databases/` for database resources. + * @param {().TestIamPermissionsRequest} 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 + */ + testIamPermissions(params?: Params$Resource$Projects$Instances$Databases$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Projects$Instances$Databases$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Projects$Instances$Databases$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + /** + * spanner.projects.instances.databases.updateDdl + * @desc Updates the schema of a Cloud Spanner database by + * creating/altering/dropping tables, columns, indexes, etc. The returned + * long-running operation will have a name of the format + * `/operations/` and can be used to track + * execution of the schema change(s). The metadata field type is + * UpdateDatabaseDdlMetadata. The operation has no response. + * @alias spanner.projects.instances.databases.updateDdl + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.database Required. The database to update. + * @param {().UpdateDatabaseDdlRequest} 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 + */ + updateDdl(params?: Params$Resource$Projects$Instances$Databases$Updateddl, options?: MethodOptions): AxiosPromise; + updateDdl(params: Params$Resource$Projects$Instances$Databases$Updateddl, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + updateDdl(params: Params$Resource$Projects$Instances$Databases$Updateddl, callback: BodyResponseCallback): void; + updateDdl(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Instances$Databases$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the instance that will serve the new database. + * Values are of the form `projects//instances/`. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreateDatabaseRequest; + } + interface Params$Resource$Projects$Instances$Databases$Dropdatabase { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The database to be dropped. + */ + database?: string; + } + interface Params$Resource$Projects$Instances$Databases$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the requested database. Values are of the form + * `projects//instances//databases/`. + */ + name?: string; + } + interface Params$Resource$Projects$Instances$Databases$Getddl { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The database whose schema we wish to get. + */ + database?: string; + } + interface Params$Resource$Projects$Instances$Databases$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The Cloud Spanner resource for which the policy is being + * retrieved. The format is `projects//instances/` + * for instance resources and `projects//instances//databases/` for database resources. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GetIamPolicyRequest; + } + interface Params$Resource$Projects$Instances$Databases$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Number of databases to be returned in the response. If 0 or less, + * defaults to the server's maximum allowed page size. + */ + pageSize?: number; + /** + * If non-empty, `page_token` should contain a next_page_token from a + * previous ListDatabasesResponse. + */ + pageToken?: string; + /** + * Required. The instance whose databases should be listed. Values are of + * the form `projects//instances/`. + */ + parent?: string; + } + interface Params$Resource$Projects$Instances$Databases$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The Cloud Spanner resource for which the policy is being set. + * The format is `projects//instances/` for + * instance resources and `projects//instances//databases/` for databases resources. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SetIamPolicyRequest; + } + interface Params$Resource$Projects$Instances$Databases$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * REQUIRED: The Cloud Spanner resource for which permissions are being + * tested. The format is `projects//instances/` for + * instance resources and `projects//instances//databases/` for database resources. + */ + resource?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestIamPermissionsRequest; + } + interface Params$Resource$Projects$Instances$Databases$Updateddl { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The database to update. + */ + database?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UpdateDatabaseDdlRequest; + } + class Resource$Projects$Instances$Databases$Operations { + root: Spanner; + constructor(root: Spanner); + getRoot(): Spanner; + /** + * spanner.projects.instances.databases.operations.cancel + * @desc Starts asynchronous cancellation on a long-running operation. The + * server makes a best effort to cancel the operation, but success is not + * guaranteed. If the server doesn't support this method, it returns + * `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation + * or other methods to check whether the cancellation succeeded or whether + * the operation completed despite cancellation. On successful cancellation, + * the operation is not deleted; instead, it becomes an operation with an + * Operation.error value with a google.rpc.Status.code of 1, corresponding + * to `Code.CANCELLED`. + * @alias spanner.projects.instances.databases.operations.cancel + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource to be cancelled. + * @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 + */ + cancel(params?: Params$Resource$Projects$Instances$Databases$Operations$Cancel, options?: MethodOptions): AxiosPromise; + cancel(params: Params$Resource$Projects$Instances$Databases$Operations$Cancel, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + cancel(params: Params$Resource$Projects$Instances$Databases$Operations$Cancel, callback: BodyResponseCallback): void; + cancel(callback: BodyResponseCallback): void; + /** + * spanner.projects.instances.databases.operations.delete + * @desc Deletes a long-running operation. This method indicates that the + * client is no longer interested in the operation result. It does not + * cancel the operation. If the server doesn't support this method, it + * returns `google.rpc.Code.UNIMPLEMENTED`. + * @alias spanner.projects.instances.databases.operations.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource to be deleted. + * @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?: Params$Resource$Projects$Instances$Databases$Operations$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Instances$Databases$Operations$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Instances$Databases$Operations$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * spanner.projects.instances.databases.operations.get + * @desc Gets the latest state of a long-running operation. Clients can use + * this method to poll the operation result at intervals as recommended by + * the API service. + * @alias spanner.projects.instances.databases.operations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource. + * @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?: Params$Resource$Projects$Instances$Databases$Operations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Instances$Databases$Operations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Instances$Databases$Operations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * spanner.projects.instances.databases.operations.list + * @desc Lists operations that match the specified filter in the request. If + * the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: + * the `name` binding allows API services to override the binding to use + * different resource name schemes, such as `users/x/operations`. To + * override the binding, API services can add a binding such as + * `"/v1/{name=users/x}/operations"` to their service configuration. For + * backwards compatibility, the default name includes the operations + * collection id, however overriding users must ensure the name binding is + * the parent resource, without the operations collection id. + * @alias spanner.projects.instances.databases.operations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter The standard list filter. + * @param {string} params.name The name of the operation's parent resource. + * @param {integer=} params.pageSize The standard list page size. + * @param {string=} params.pageToken The standard list page token. + * @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?: Params$Resource$Projects$Instances$Databases$Operations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Instances$Databases$Operations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Instances$Databases$Operations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Instances$Databases$Operations$Cancel { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource to be cancelled. + */ + name?: string; + } + interface Params$Resource$Projects$Instances$Databases$Operations$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource to be deleted. + */ + name?: string; + } + interface Params$Resource$Projects$Instances$Databases$Operations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource. + */ + name?: string; + } + interface Params$Resource$Projects$Instances$Databases$Operations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The standard list filter. + */ + filter?: string; + /** + * The name of the operation's parent resource. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } + class Resource$Projects$Instances$Databases$Sessions { + root: Spanner; + constructor(root: Spanner); + getRoot(): Spanner; + /** + * spanner.projects.instances.databases.sessions.beginTransaction + * @desc Begins a new transaction. This step can often be skipped: Read, + * ExecuteSql and Commit can begin a new transaction as a side-effect. + * @alias spanner.projects.instances.databases.sessions.beginTransaction + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.session Required. The session in which the transaction runs. + * @param {().BeginTransactionRequest} 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 + */ + beginTransaction(params?: Params$Resource$Projects$Instances$Databases$Sessions$Begintransaction, options?: MethodOptions): AxiosPromise; + beginTransaction(params: Params$Resource$Projects$Instances$Databases$Sessions$Begintransaction, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + beginTransaction(params: Params$Resource$Projects$Instances$Databases$Sessions$Begintransaction, callback: BodyResponseCallback): void; + beginTransaction(callback: BodyResponseCallback): void; + /** + * spanner.projects.instances.databases.sessions.commit + * @desc Commits a transaction. The request includes the mutations to be + * applied to rows in the database. `Commit` might return an `ABORTED` + * error. This can occur at any time; commonly, the cause is conflicts with + * concurrent transactions. However, it can also happen for a variety of + * other reasons. If `Commit` returns `ABORTED`, the caller should + * re-attempt the transaction from the beginning, re-using the same session. + * @alias spanner.projects.instances.databases.sessions.commit + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.session Required. The session in which the transaction to be committed is running. + * @param {().CommitRequest} 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 + */ + commit(params?: Params$Resource$Projects$Instances$Databases$Sessions$Commit, options?: MethodOptions): AxiosPromise; + commit(params: Params$Resource$Projects$Instances$Databases$Sessions$Commit, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + commit(params: Params$Resource$Projects$Instances$Databases$Sessions$Commit, callback: BodyResponseCallback): void; + commit(callback: BodyResponseCallback): void; + /** + * spanner.projects.instances.databases.sessions.create + * @desc Creates a new session. A session can be used to perform + * transactions that read and/or modify data in a Cloud Spanner database. + * Sessions are meant to be reused for many consecutive transactions. + * Sessions can only execute one transaction at a time. To execute multiple + * concurrent read-write/write-only transactions, create multiple sessions. + * Note that standalone reads and queries use a transaction internally, and + * count toward the one transaction limit. Cloud Spanner limits the number + * of sessions that can exist at any given time; thus, it is a good idea to + * delete idle and/or unneeded sessions. Aside from explicit deletes, Cloud + * Spanner can delete sessions for which no operations are sent for more + * than an hour. If a session is deleted, requests to it return `NOT_FOUND`. + * Idle sessions can be kept alive by sending a trivial SQL query + * periodically, e.g., `"SELECT 1"`. + * @alias spanner.projects.instances.databases.sessions.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.database Required. The database in which the new session is created. + * @param {().CreateSessionRequest} 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 + */ + create(params?: Params$Resource$Projects$Instances$Databases$Sessions$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Instances$Databases$Sessions$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Instances$Databases$Sessions$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * spanner.projects.instances.databases.sessions.delete + * @desc Ends a session, releasing server resources associated with it. + * @alias spanner.projects.instances.databases.sessions.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The name of the session to delete. + * @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?: Params$Resource$Projects$Instances$Databases$Sessions$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Instances$Databases$Sessions$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Instances$Databases$Sessions$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * spanner.projects.instances.databases.sessions.executeSql + * @desc Executes an SQL statement, returning all results in a single reply. + * This method cannot be used to return a result set larger than 10 MiB; if + * the query yields more data than that, the query fails with a + * `FAILED_PRECONDITION` error. Operations inside read-write transactions + * might return `ABORTED`. If this occurs, the application should restart + * the transaction from the beginning. See Transaction for more details. + * Larger result sets can be fetched in streaming fashion by calling + * ExecuteStreamingSql instead. + * @alias spanner.projects.instances.databases.sessions.executeSql + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.session Required. The session in which the SQL query should be performed. + * @param {().ExecuteSqlRequest} 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 + */ + executeSql(params?: Params$Resource$Projects$Instances$Databases$Sessions$Executesql, options?: MethodOptions): AxiosPromise; + executeSql(params: Params$Resource$Projects$Instances$Databases$Sessions$Executesql, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + executeSql(params: Params$Resource$Projects$Instances$Databases$Sessions$Executesql, callback: BodyResponseCallback): void; + executeSql(callback: BodyResponseCallback): void; + /** + * spanner.projects.instances.databases.sessions.executeStreamingSql + * @desc Like ExecuteSql, except returns the result set as a stream. Unlike + * ExecuteSql, there is no limit on the size of the returned result set. + * However, no individual row in the result set can exceed 100 MiB, and no + * column value can exceed 10 MiB. + * @alias spanner.projects.instances.databases.sessions.executeStreamingSql + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.session Required. The session in which the SQL query should be performed. + * @param {().ExecuteSqlRequest} 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 + */ + executeStreamingSql(params?: Params$Resource$Projects$Instances$Databases$Sessions$Executestreamingsql, options?: MethodOptions): AxiosPromise; + executeStreamingSql(params: Params$Resource$Projects$Instances$Databases$Sessions$Executestreamingsql, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + executeStreamingSql(params: Params$Resource$Projects$Instances$Databases$Sessions$Executestreamingsql, callback: BodyResponseCallback): void; + executeStreamingSql(callback: BodyResponseCallback): void; + /** + * spanner.projects.instances.databases.sessions.get + * @desc Gets a session. Returns `NOT_FOUND` if the session does not exist. + * This is mainly useful for determining whether a session is still alive. + * @alias spanner.projects.instances.databases.sessions.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The name of the session to retrieve. + * @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?: Params$Resource$Projects$Instances$Databases$Sessions$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Instances$Databases$Sessions$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Instances$Databases$Sessions$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * spanner.projects.instances.databases.sessions.list + * @desc Lists all sessions in a given database. + * @alias spanner.projects.instances.databases.sessions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.database Required. The database in which to list sessions. + * @param {string=} params.filter An expression for filtering the results of the request. Filter rules are case insensitive. The fields eligible for filtering are: * `labels.key` where key is the name of a label Some examples of using filters are: * `labels.env:*` --> The session has the label "env". * `labels.env:dev` --> The session has the label "env" and the value of the label contains the string "dev". + * @param {integer=} params.pageSize Number of sessions to be returned in the response. If 0 or less, defaults to the server's maximum allowed page size. + * @param {string=} params.pageToken If non-empty, `page_token` should contain a next_page_token from a previous ListSessionsResponse. + * @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?: Params$Resource$Projects$Instances$Databases$Sessions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Instances$Databases$Sessions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Instances$Databases$Sessions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * spanner.projects.instances.databases.sessions.partitionQuery + * @desc Creates a set of partition tokens that can be used to execute a + * query operation in parallel. Each of the returned partition tokens can + * be used by ExecuteStreamingSql to specify a subset of the query result to + * read. The same session and read-only transaction must be used by the + * PartitionQueryRequest used to create the partition tokens and the + * ExecuteSqlRequests that use the partition tokens. Partition tokens + * become invalid when the session used to create them is deleted, is idle + * for too long, begins a new transaction, or becomes too old. When any of + * these happen, it is not possible to resume the query, and the whole + * operation must be restarted from the beginning. + * @alias spanner.projects.instances.databases.sessions.partitionQuery + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.session Required. The session used to create the partitions. + * @param {().PartitionQueryRequest} 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 + */ + partitionQuery(params?: Params$Resource$Projects$Instances$Databases$Sessions$Partitionquery, options?: MethodOptions): AxiosPromise; + partitionQuery(params: Params$Resource$Projects$Instances$Databases$Sessions$Partitionquery, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + partitionQuery(params: Params$Resource$Projects$Instances$Databases$Sessions$Partitionquery, callback: BodyResponseCallback): void; + partitionQuery(callback: BodyResponseCallback): void; + /** + * spanner.projects.instances.databases.sessions.partitionRead + * @desc Creates a set of partition tokens that can be used to execute a + * read operation in parallel. Each of the returned partition tokens can be + * used by StreamingRead to specify a subset of the read result to read. The + * same session and read-only transaction must be used by the + * PartitionReadRequest used to create the partition tokens and the + * ReadRequests that use the partition tokens. There are no ordering + * guarantees on rows returned among the returned partition tokens, or even + * within each individual StreamingRead call issued with a partition_token. + * Partition tokens become invalid when the session used to create them is + * deleted, is idle for too long, begins a new transaction, or becomes too + * old. When any of these happen, it is not possible to resume the read, + * and the whole operation must be restarted from the beginning. + * @alias spanner.projects.instances.databases.sessions.partitionRead + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.session Required. The session used to create the partitions. + * @param {().PartitionReadRequest} 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 + */ + partitionRead(params?: Params$Resource$Projects$Instances$Databases$Sessions$Partitionread, options?: MethodOptions): AxiosPromise; + partitionRead(params: Params$Resource$Projects$Instances$Databases$Sessions$Partitionread, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + partitionRead(params: Params$Resource$Projects$Instances$Databases$Sessions$Partitionread, callback: BodyResponseCallback): void; + partitionRead(callback: BodyResponseCallback): void; + /** + * spanner.projects.instances.databases.sessions.read + * @desc Reads rows from the database using key lookups and scans, as a + * simple key/value style alternative to ExecuteSql. This method cannot be + * used to return a result set larger than 10 MiB; if the read matches more + * data than that, the read fails with a `FAILED_PRECONDITION` error. Reads + * inside read-write transactions might return `ABORTED`. If this occurs, + * the application should restart the transaction from the beginning. See + * Transaction for more details. Larger result sets can be yielded in + * streaming fashion by calling StreamingRead instead. + * @alias spanner.projects.instances.databases.sessions.read + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.session Required. The session in which the read should be performed. + * @param {().ReadRequest} 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 + */ + read(params?: Params$Resource$Projects$Instances$Databases$Sessions$Read, options?: MethodOptions): AxiosPromise; + read(params: Params$Resource$Projects$Instances$Databases$Sessions$Read, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + read(params: Params$Resource$Projects$Instances$Databases$Sessions$Read, callback: BodyResponseCallback): void; + read(callback: BodyResponseCallback): void; + /** + * spanner.projects.instances.databases.sessions.rollback + * @desc Rolls back a transaction, releasing any locks it holds. It is a + * good idea to call this for any transaction that includes one or more Read + * or ExecuteSql requests and ultimately decides not to commit. `Rollback` + * returns `OK` if it successfully aborts the transaction, the transaction + * was already aborted, or the transaction is not found. `Rollback` never + * returns `ABORTED`. + * @alias spanner.projects.instances.databases.sessions.rollback + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.session Required. The session in which the transaction to roll back is running. + * @param {().RollbackRequest} 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 + */ + rollback(params?: Params$Resource$Projects$Instances$Databases$Sessions$Rollback, options?: MethodOptions): AxiosPromise; + rollback(params: Params$Resource$Projects$Instances$Databases$Sessions$Rollback, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + rollback(params: Params$Resource$Projects$Instances$Databases$Sessions$Rollback, callback: BodyResponseCallback): void; + rollback(callback: BodyResponseCallback): void; + /** + * spanner.projects.instances.databases.sessions.streamingRead + * @desc Like Read, except returns the result set as a stream. Unlike Read, + * there is no limit on the size of the returned result set. However, no + * individual row in the result set can exceed 100 MiB, and no column value + * can exceed 10 MiB. + * @alias spanner.projects.instances.databases.sessions.streamingRead + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.session Required. The session in which the read should be performed. + * @param {().ReadRequest} 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 + */ + streamingRead(params?: Params$Resource$Projects$Instances$Databases$Sessions$Streamingread, options?: MethodOptions): AxiosPromise; + streamingRead(params: Params$Resource$Projects$Instances$Databases$Sessions$Streamingread, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + streamingRead(params: Params$Resource$Projects$Instances$Databases$Sessions$Streamingread, callback: BodyResponseCallback): void; + streamingRead(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Instances$Databases$Sessions$Begintransaction { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The session in which the transaction runs. + */ + session?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BeginTransactionRequest; + } + interface Params$Resource$Projects$Instances$Databases$Sessions$Commit { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The session in which the transaction to be committed is + * running. + */ + session?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CommitRequest; + } + interface Params$Resource$Projects$Instances$Databases$Sessions$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The database in which the new session is created. + */ + database?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreateSessionRequest; + } + interface Params$Resource$Projects$Instances$Databases$Sessions$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the session to delete. + */ + name?: string; + } + interface Params$Resource$Projects$Instances$Databases$Sessions$Executesql { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The session in which the SQL query should be performed. + */ + session?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ExecuteSqlRequest; + } + interface Params$Resource$Projects$Instances$Databases$Sessions$Executestreamingsql { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The session in which the SQL query should be performed. + */ + session?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ExecuteSqlRequest; + } + interface Params$Resource$Projects$Instances$Databases$Sessions$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The name of the session to retrieve. + */ + name?: string; + } + interface Params$Resource$Projects$Instances$Databases$Sessions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The database in which to list sessions. + */ + database?: string; + /** + * An expression for filtering the results of the request. Filter rules are + * case insensitive. The fields eligible for filtering are: * + * `labels.key` where key is the name of a label Some examples of using + * filters are: * `labels.env:*` --> The session has the label "env". * + * `labels.env:dev` --> The session has the label "env" and the value of the + * label contains the string "dev". + */ + filter?: string; + /** + * Number of sessions to be returned in the response. If 0 or less, defaults + * to the server's maximum allowed page size. + */ + pageSize?: number; + /** + * If non-empty, `page_token` should contain a next_page_token from a + * previous ListSessionsResponse. + */ + pageToken?: string; + } + interface Params$Resource$Projects$Instances$Databases$Sessions$Partitionquery { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The session used to create the partitions. + */ + session?: string; + /** + * Request body metadata + */ + requestBody?: Schema$PartitionQueryRequest; + } + interface Params$Resource$Projects$Instances$Databases$Sessions$Partitionread { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The session used to create the partitions. + */ + session?: string; + /** + * Request body metadata + */ + requestBody?: Schema$PartitionReadRequest; + } + interface Params$Resource$Projects$Instances$Databases$Sessions$Read { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The session in which the read should be performed. + */ + session?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ReadRequest; + } + interface Params$Resource$Projects$Instances$Databases$Sessions$Rollback { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The session in which the transaction to roll back is running. + */ + session?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RollbackRequest; + } + interface Params$Resource$Projects$Instances$Databases$Sessions$Streamingread { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The session in which the read should be performed. + */ + session?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ReadRequest; + } + class Resource$Projects$Instances$Operations { + root: Spanner; + constructor(root: Spanner); + getRoot(): Spanner; + /** + * spanner.projects.instances.operations.cancel + * @desc Starts asynchronous cancellation on a long-running operation. The + * server makes a best effort to cancel the operation, but success is not + * guaranteed. If the server doesn't support this method, it returns + * `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation + * or other methods to check whether the cancellation succeeded or whether + * the operation completed despite cancellation. On successful cancellation, + * the operation is not deleted; instead, it becomes an operation with an + * Operation.error value with a google.rpc.Status.code of 1, corresponding + * to `Code.CANCELLED`. + * @alias spanner.projects.instances.operations.cancel + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource to be cancelled. + * @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 + */ + cancel(params?: Params$Resource$Projects$Instances$Operations$Cancel, options?: MethodOptions): AxiosPromise; + cancel(params: Params$Resource$Projects$Instances$Operations$Cancel, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + cancel(params: Params$Resource$Projects$Instances$Operations$Cancel, callback: BodyResponseCallback): void; + cancel(callback: BodyResponseCallback): void; + /** + * spanner.projects.instances.operations.delete + * @desc Deletes a long-running operation. This method indicates that the + * client is no longer interested in the operation result. It does not + * cancel the operation. If the server doesn't support this method, it + * returns `google.rpc.Code.UNIMPLEMENTED`. + * @alias spanner.projects.instances.operations.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource to be deleted. + * @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?: Params$Resource$Projects$Instances$Operations$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Instances$Operations$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Instances$Operations$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * spanner.projects.instances.operations.get + * @desc Gets the latest state of a long-running operation. Clients can use + * this method to poll the operation result at intervals as recommended by + * the API service. + * @alias spanner.projects.instances.operations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource. + * @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?: Params$Resource$Projects$Instances$Operations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Instances$Operations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Instances$Operations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * spanner.projects.instances.operations.list + * @desc Lists operations that match the specified filter in the request. If + * the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: + * the `name` binding allows API services to override the binding to use + * different resource name schemes, such as `users/x/operations`. To + * override the binding, API services can add a binding such as + * `"/v1/{name=users/x}/operations"` to their service configuration. For + * backwards compatibility, the default name includes the operations + * collection id, however overriding users must ensure the name binding is + * the parent resource, without the operations collection id. + * @alias spanner.projects.instances.operations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter The standard list filter. + * @param {string} params.name The name of the operation's parent resource. + * @param {integer=} params.pageSize The standard list page size. + * @param {string=} params.pageToken The standard list page token. + * @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?: Params$Resource$Projects$Instances$Operations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Instances$Operations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Instances$Operations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Instances$Operations$Cancel { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource to be cancelled. + */ + name?: string; + } + interface Params$Resource$Projects$Instances$Operations$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource to be deleted. + */ + name?: string; + } + interface Params$Resource$Projects$Instances$Operations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource. + */ + name?: string; + } + interface Params$Resource$Projects$Instances$Operations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The standard list filter. + */ + filter?: string; + /** + * The name of the operation's parent resource. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/spanner/v1.js b/express-server/node_modules/googleapis/build/src/apis/spanner/v1.js new file mode 100644 index 00000000..0fa967e5 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/spanner/v1.js @@ -0,0 +1,1359 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var spanner_v1; +(function (spanner_v1) { + /** + * Cloud Spanner API + * + * Cloud Spanner is a managed, mission-critical, globally consistent and + * scalable relational database service. + * + * @example + * const {google} = require('googleapis'); + * const spanner = google.spanner('v1'); + * + * @namespace spanner + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Spanner + */ + class Spanner { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.projects = new Resource$Projects(this); + } + getRoot() { + return this.root; + } + } + spanner_v1.Spanner = Spanner; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.instanceConfigs = new Resource$Projects$Instanceconfigs(root); + this.instances = new Resource$Projects$Instances(root); + } + getRoot() { + return this.root; + } + } + spanner_v1.Resource$Projects = Resource$Projects; + class Resource$Projects$Instanceconfigs { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://spanner.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://spanner.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/instanceConfigs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + spanner_v1.Resource$Projects$Instanceconfigs = Resource$Projects$Instanceconfigs; + class Resource$Projects$Instances { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.databases = new Resource$Projects$Instances$Databases(root); + this.operations = new Resource$Projects$Instances$Operations(root); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://spanner.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/instances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://spanner.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://spanner.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://spanner.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://spanner.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/instances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://spanner.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://spanner.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://spanner.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + spanner_v1.Resource$Projects$Instances = Resource$Projects$Instances; + class Resource$Projects$Instances$Databases { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.operations = + new Resource$Projects$Instances$Databases$Operations(root); + this.sessions = new Resource$Projects$Instances$Databases$Sessions(root); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://spanner.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/databases') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + dropDatabase(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://spanner.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+database}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['database'], + pathParams: ['database'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://spanner.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getDdl(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://spanner.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+database}/ddl') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['database'], + pathParams: ['database'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://spanner.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://spanner.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/databases') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://spanner.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://spanner.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+resource}:testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + updateDdl(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://spanner.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+database}/ddl') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['database'], + pathParams: ['database'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + spanner_v1.Resource$Projects$Instances$Databases = Resource$Projects$Instances$Databases; + class Resource$Projects$Instances$Databases$Operations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + cancel(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://spanner.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:cancel') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://spanner.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://spanner.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://spanner.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + spanner_v1.Resource$Projects$Instances$Databases$Operations = Resource$Projects$Instances$Databases$Operations; + class Resource$Projects$Instances$Databases$Sessions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + beginTransaction(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://spanner.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+session}:beginTransaction') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['session'], + pathParams: ['session'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + commit(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://spanner.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+session}:commit') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['session'], + pathParams: ['session'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://spanner.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+database}/sessions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['database'], + pathParams: ['database'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://spanner.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + executeSql(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://spanner.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+session}:executeSql') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['session'], + pathParams: ['session'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + executeStreamingSql(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://spanner.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+session}:executeStreamingSql') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['session'], + pathParams: ['session'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://spanner.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://spanner.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+database}/sessions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['database'], + pathParams: ['database'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + partitionQuery(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://spanner.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+session}:partitionQuery') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['session'], + pathParams: ['session'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + partitionRead(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://spanner.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+session}:partitionRead') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['session'], + pathParams: ['session'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + read(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://spanner.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+session}:read') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['session'], + pathParams: ['session'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + rollback(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://spanner.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+session}:rollback') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['session'], + pathParams: ['session'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + streamingRead(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://spanner.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+session}:streamingRead') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['session'], + pathParams: ['session'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + spanner_v1.Resource$Projects$Instances$Databases$Sessions = Resource$Projects$Instances$Databases$Sessions; + class Resource$Projects$Instances$Operations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + cancel(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://spanner.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:cancel') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://spanner.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://spanner.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://spanner.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + spanner_v1.Resource$Projects$Instances$Operations = Resource$Projects$Instances$Operations; +})(spanner_v1 = exports.spanner_v1 || (exports.spanner_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/spanner/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/spanner/v1.js.map new file mode 100644 index 00000000..ecff8c01 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/spanner/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/spanner/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/speech/README.md b/express-server/node_modules/googleapis/build/src/apis/speech/README.md new file mode 100644 index 00000000..92da9268 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/speech/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/speech + +> Converts audio to text by applying powerful neural network models. + +## Installation + +```sh +$ npm install @google/speech +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/speech/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/speech/index.d.ts new file mode 100644 index 00000000..89b958d0 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/speech/index.d.ts @@ -0,0 +1,10 @@ +import { speech_v1 } from './v1'; +import { speech_v1beta1 } from './v1beta1'; +export declare const VERSIONS: { + 'v1': typeof speech_v1.Speech; + 'v1beta1': typeof speech_v1beta1.Speech; +}; +export declare function speech(version: 'v1'): speech_v1.Speech; +export declare function speech(options: speech_v1.Options): speech_v1.Speech; +export declare function speech(version: 'v1beta1'): speech_v1beta1.Speech; +export declare function speech(options: speech_v1beta1.Options): speech_v1beta1.Speech; diff --git a/express-server/node_modules/googleapis/build/src/apis/speech/index.js b/express-server/node_modules/googleapis/build/src/apis/speech/index.js new file mode 100644 index 00000000..28276966 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/speech/index.js @@ -0,0 +1,27 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +const v1beta1_1 = require("./v1beta1"); +exports.VERSIONS = { + 'v1': v1_1.speech_v1.Speech, + 'v1beta1': v1beta1_1.speech_v1beta1.Speech, +}; +function speech(versionOrOptions) { + return googleapis_common_1.getAPI('speech', versionOrOptions, exports.VERSIONS, this); +} +exports.speech = speech; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/speech/index.js.map b/express-server/node_modules/googleapis/build/src/apis/speech/index.js.map new file mode 100644 index 00000000..4158479f --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/speech/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/speech/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAA+B;AAC/B,uCAAyC;AAE5B,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,cAAS,CAAC,MAAM;IACtB,SAAS,EAAE,wBAAc,CAAC,MAAM;CACjC,CAAC;AAMF,SAAgB,MAAM,CAElB,gBAAyE;IAC3E,OAAO,0BAAM,CAAI,QAAQ,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAC/D,CAAC;AAJD,wBAIC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/speech/package.json b/express-server/node_modules/googleapis/build/src/apis/speech/package.json new file mode 100644 index 00000000..e7ae2a03 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/speech/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/speech", + "version": "0.1.0", + "description": "speech", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/speech/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/speech/v1.d.ts new file mode 100644 index 00000000..cb18ff50 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/speech/v1.d.ts @@ -0,0 +1,552 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace speech_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Cloud Speech API + * + * Converts audio to text by applying powerful neural network models. + * + * @example + * const {google} = require('googleapis'); + * const speech = google.speech('v1'); + * + * @namespace speech + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Speech + */ + class Speech { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + operations: Resource$Operations; + speech: Resource$Speech; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * The response message for Operations.ListOperations. + */ + interface Schema$ListOperationsResponse { + /** + * The standard List next-page token. + */ + nextPageToken?: string; + /** + * A list of operations that matches the specified filter in the request. + */ + operations?: Schema$Operation[]; + } + /** + * The top-level message sent by the client for the `LongRunningRecognize` + * method. + */ + interface Schema$LongRunningRecognizeRequest { + /** + * *Required* The audio data to be recognized. + */ + audio?: Schema$RecognitionAudio; + /** + * *Required* Provides information to the recognizer that specifies how to + * process the request. + */ + config?: Schema$RecognitionConfig; + } + /** + * This resource represents a long-running operation that is the result of a + * network API call. + */ + interface Schema$Operation { + /** + * If the value is `false`, it means the operation is still in progress. If + * `true`, the operation is completed, and either `error` or `response` is + * available. + */ + done?: boolean; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * Service-specific metadata associated with the operation. It typically + * contains progress information and common metadata such as create time. + * Some services might not provide such metadata. Any method that returns a + * long-running operation should document the metadata type, if any. + */ + metadata?: any; + /** + * The server-assigned name, which is only unique within the same service + * that originally returns it. If you use the default HTTP mapping, the + * `name` should have the format of `operations/some/unique/name`. + */ + name?: string; + /** + * The normal response of the operation in case of success. If the original + * method returns no data on success, such as `Delete`, the response is + * `google.protobuf.Empty`. If the original method is standard + * `Get`/`Create`/`Update`, the response should be the resource. For other + * methods, the response should have the type `XxxResponse`, where `Xxx` is + * the original method name. For example, if the original method name is + * `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: any; + } + /** + * Contains audio data in the encoding specified in the `RecognitionConfig`. + * Either `content` or `uri` must be supplied. Supplying both or neither + * returns google.rpc.Code.INVALID_ARGUMENT. See [content + * limits](/speech-to-text/quotas#content). + */ + interface Schema$RecognitionAudio { + /** + * The audio data bytes encoded as specified in `RecognitionConfig`. Note: + * as with all bytes fields, protobuffers use a pure binary representation, + * whereas JSON representations use base64. + */ + content?: string; + /** + * URI that points to a file that contains audio data bytes as specified in + * `RecognitionConfig`. The file must not be compressed (for example, gzip). + * Currently, only Google Cloud Storage URIs are supported, which must be + * specified in the following format: `gs://bucket_name/object_name` (other + * URI formats return google.rpc.Code.INVALID_ARGUMENT). For more + * information, see [Request + * URIs](https://cloud.google.com/storage/docs/reference-uris). + */ + uri?: string; + } + /** + * Provides information to the recognizer that specifies how to process the + * request. + */ + interface Schema$RecognitionConfig { + /** + * *Optional* If 'true', adds punctuation to recognition result + * hypotheses. This feature is only available in select languages. Setting + * this for requests in other languages has no effect at all. The default + * 'false' value does not add punctuation to result hypotheses. + * Note: This is currently offered as an experimental service, complimentary + * to all users. In the future this may be exclusively available as a + * premium feature. + */ + enableAutomaticPunctuation?: boolean; + /** + * *Optional* If `true`, the top result includes a list of words and the + * start and end time offsets (timestamps) for those words. If `false`, no + * word-level time offset information is returned. The default is `false`. + */ + enableWordTimeOffsets?: boolean; + /** + * Encoding of audio data sent in all `RecognitionAudio` messages. This + * field is optional for `FLAC` and `WAV` audio files and required for all + * other audio formats. For details, see AudioEncoding. + */ + encoding?: string; + /** + * *Required* The language of the supplied audio as a + * [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. + * Example: "en-US". See [Language + * Support](/speech-to-text/docs/languages) for a list of the currently + * supported language codes. + */ + languageCode?: string; + /** + * *Optional* Maximum number of recognition hypotheses to be returned. + * Specifically, the maximum number of `SpeechRecognitionAlternative` + * messages within each `SpeechRecognitionResult`. The server may return + * fewer than `max_alternatives`. Valid values are `0`-`30`. A value of `0` + * or `1` will return a maximum of one. If omitted, will return a maximum of + * one. + */ + maxAlternatives?: number; + /** + * *Optional* Which model to select for the given request. Select the model + * best suited to your domain to get best results. If a model is not + * explicitly specified, then we auto-select a model based on the parameters + * in the RecognitionConfig. <table> <tr> + * <td><b>Model</b></td> + * <td><b>Description</b></td> </tr> + * <tr> + * <td><code>command_and_search</code></td> + * <td>Best for short queries such as voice commands or voice + * search.</td> </tr> <tr> + * <td><code>phone_call</code></td> <td>Best + * for audio that originated from a phone call (typically recorded at an + * 8khz sampling rate).</td> </tr> <tr> + * <td><code>video</code></td> <td>Best + * for audio that originated from from video or includes multiple speakers. + * Ideally the audio is recorded at a 16khz or greater sampling + * rate. This is a premium model that costs more than the standard + * rate.</td> </tr> <tr> + * <td><code>default</code></td> <td>Best + * for audio that is not one of the specific audio models. For + * example, long-form audio. Ideally the audio is high-fidelity, recorded at + * a 16khz or greater sampling rate.</td> </tr> </table> + */ + model?: string; + /** + * *Optional* If set to `true`, the server will attempt to filter out + * profanities, replacing all but the initial character in each filtered + * word with asterisks, e.g. "f***". If set to `false` or omitted, + * profanities won't be filtered out. + */ + profanityFilter?: boolean; + /** + * Sample rate in Hertz of the audio data sent in all `RecognitionAudio` + * messages. Valid values are: 8000-48000. 16000 is optimal. For best + * results, set the sampling rate of the audio source to 16000 Hz. If + * that's not possible, use the native sample rate of the audio source + * (instead of re-sampling). This field is optional for `FLAC` and `WAV` + * audio files and required for all other audio formats. For details, see + * AudioEncoding. + */ + sampleRateHertz?: number; + /** + * *Optional* array of SpeechContext. A means to provide context to assist + * the speech recognition. For more information, see [Phrase + * Hints](/speech-to-text/docs/basics#phrase-hints). + */ + speechContexts?: Schema$SpeechContext[]; + /** + * *Optional* Set to true to use an enhanced model for speech recognition. + * If `use_enhanced` is set to true and the `model` field is not set, then + * an appropriate enhanced model is chosen if: 1. project is eligible for + * requesting enhanced models 2. an enhanced model exists for the audio If + * `use_enhanced` is true and an enhanced version of the specified model + * does not exist, then the speech is recognized using the standard version + * of the specified model. Enhanced speech models require that you opt-in + * to data logging using instructions in the + * [documentation](/speech-to-text/docs/enable-data-logging). If you set + * `use_enhanced` to true and you have not enabled audio logging, then you + * will receive an error. + */ + useEnhanced?: boolean; + } + /** + * The top-level message sent by the client for the `Recognize` method. + */ + interface Schema$RecognizeRequest { + /** + * *Required* The audio data to be recognized. + */ + audio?: Schema$RecognitionAudio; + /** + * *Required* Provides information to the recognizer that specifies how to + * process the request. + */ + config?: Schema$RecognitionConfig; + } + /** + * The only message returned to the client by the `Recognize` method. It + * contains the result as zero or more sequential `SpeechRecognitionResult` + * messages. + */ + interface Schema$RecognizeResponse { + /** + * Output only. Sequential list of transcription results corresponding to + * sequential portions of audio. + */ + results?: Schema$SpeechRecognitionResult[]; + } + /** + * Provides "hints" to the speech recognizer to favor specific words + * and phrases in the results. + */ + interface Schema$SpeechContext { + /** + * *Optional* A list of strings containing words and phrases + * "hints" so that the speech recognition is more likely to + * recognize them. This can be used to improve the accuracy for specific + * words and phrases, for example, if specific commands are typically spoken + * by the user. This can also be used to add additional words to the + * vocabulary of the recognizer. See [usage + * limits](/speech-to-text/quotas#content). + */ + phrases?: string[]; + } + /** + * Alternative hypotheses (a.k.a. n-best list). + */ + interface Schema$SpeechRecognitionAlternative { + /** + * Output only. The confidence estimate between 0.0 and 1.0. A higher number + * indicates an estimated greater likelihood that the recognized words are + * correct. This field is set only for the top alternative of a + * non-streaming result or, of a streaming result where `is_final=true`. + * This field is not guaranteed to be accurate and users should not rely on + * it to be always provided. The default of 0.0 is a sentinel value + * indicating `confidence` was not set. + */ + confidence?: number; + /** + * Output only. Transcript text representing the words that the user spoke. + */ + transcript?: string; + /** + * Output only. A list of word-specific information for each recognized + * word. Note: When `enable_speaker_diarization` is true, you will see all + * the words from the beginning of the audio. + */ + words?: Schema$WordInfo[]; + } + /** + * A speech recognition result corresponding to a portion of the audio. + */ + interface Schema$SpeechRecognitionResult { + /** + * Output only. May contain one or more recognition hypotheses (up to the + * maximum specified in `max_alternatives`). These alternatives are ordered + * in terms of accuracy, with the top (first) alternative being the most + * probable, as ranked by the recognizer. + */ + alternatives?: Schema$SpeechRecognitionAlternative[]; + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + /** + * Word-specific information for recognized words. + */ + interface Schema$WordInfo { + /** + * Output only. Time offset relative to the beginning of the audio, and + * corresponding to the end of the spoken word. This field is only set if + * `enable_word_time_offsets=true` and only in the top hypothesis. This is + * an experimental feature and the accuracy of the time offset can vary. + */ + endTime?: string; + /** + * Output only. A distinct integer value is assigned for every speaker + * within the audio. This field specifies which one of those speakers was + * detected to have spoken this word. Value ranges from '1' to + * diarization_speaker_count. speaker_tag is set if + * enable_speaker_diarization = 'true' and only in the top + * alternative. + */ + speakerTag?: number; + /** + * Output only. Time offset relative to the beginning of the audio, and + * corresponding to the start of the spoken word. This field is only set if + * `enable_word_time_offsets=true` and only in the top hypothesis. This is + * an experimental feature and the accuracy of the time offset can vary. + */ + startTime?: string; + /** + * Output only. The word corresponding to this set of information. + */ + word?: string; + } + class Resource$Operations { + root: Speech; + constructor(root: Speech); + getRoot(): Speech; + /** + * speech.operations.get + * @desc Gets the latest state of a long-running operation. Clients can use + * this method to poll the operation result at intervals as recommended by + * the API service. + * @alias speech.operations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource. + * @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?: Params$Resource$Operations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Operations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Operations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * speech.operations.list + * @desc Lists operations that match the specified filter in the request. If + * the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: + * the `name` binding allows API services to override the binding to use + * different resource name schemes, such as `users/x/operations`. To + * override the binding, API services can add a binding such as + * `"/v1/{name=users/x}/operations"` to their service configuration. For + * backwards compatibility, the default name includes the operations + * collection id, however overriding users must ensure the name binding is + * the parent resource, without the operations collection id. + * @alias speech.operations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter The standard list filter. + * @param {string=} params.name The name of the operation's parent resource. + * @param {integer=} params.pageSize The standard list page size. + * @param {string=} params.pageToken The standard list page token. + * @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?: Params$Resource$Operations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Operations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Operations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Operations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource. + */ + name?: string; + } + interface Params$Resource$Operations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The standard list filter. + */ + filter?: string; + /** + * The name of the operation's parent resource. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } + class Resource$Speech { + root: Speech; + constructor(root: Speech); + getRoot(): Speech; + /** + * speech.speech.longrunningrecognize + * @desc Performs asynchronous speech recognition: receive results via the + * google.longrunning.Operations interface. Returns either an + * `Operation.error` or an `Operation.response` which contains a + * `LongRunningRecognizeResponse` message. + * @alias speech.speech.longrunningrecognize + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().LongRunningRecognizeRequest} 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 + */ + longrunningrecognize(params?: Params$Resource$Speech$Longrunningrecognize, options?: MethodOptions): AxiosPromise; + longrunningrecognize(params: Params$Resource$Speech$Longrunningrecognize, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + longrunningrecognize(params: Params$Resource$Speech$Longrunningrecognize, callback: BodyResponseCallback): void; + longrunningrecognize(callback: BodyResponseCallback): void; + /** + * speech.speech.recognize + * @desc Performs synchronous speech recognition: receive results after all + * audio has been sent and processed. + * @alias speech.speech.recognize + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().RecognizeRequest} 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 + */ + recognize(params?: Params$Resource$Speech$Recognize, options?: MethodOptions): AxiosPromise; + recognize(params: Params$Resource$Speech$Recognize, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + recognize(params: Params$Resource$Speech$Recognize, callback: BodyResponseCallback): void; + recognize(callback: BodyResponseCallback): void; + } + interface Params$Resource$Speech$Longrunningrecognize { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$LongRunningRecognizeRequest; + } + interface Params$Resource$Speech$Recognize { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$RecognizeRequest; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/speech/v1.js b/express-server/node_modules/googleapis/build/src/apis/speech/v1.js new file mode 100644 index 00000000..ca306a9c --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/speech/v1.js @@ -0,0 +1,199 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var speech_v1; +(function (speech_v1) { + /** + * Cloud Speech API + * + * Converts audio to text by applying powerful neural network models. + * + * @example + * const {google} = require('googleapis'); + * const speech = google.speech('v1'); + * + * @namespace speech + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Speech + */ + class Speech { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.operations = new Resource$Operations(this); + this.speech = new Resource$Speech(this); + } + getRoot() { + return this.root; + } + } + speech_v1.Speech = Speech; + class Resource$Operations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://speech.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/operations/{+name}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://speech.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/operations').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + speech_v1.Resource$Operations = Resource$Operations; + class Resource$Speech { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + longrunningrecognize(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://speech.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/speech:longrunningrecognize') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + recognize(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://speech.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/speech:recognize') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + speech_v1.Resource$Speech = Resource$Speech; +})(speech_v1 = exports.speech_v1 || (exports.speech_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/speech/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/speech/v1.js.map new file mode 100644 index 00000000..5e3b903b --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/speech/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/speech/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/speech/v1beta1.d.ts b/express-server/node_modules/googleapis/build/src/apis/speech/v1beta1.d.ts new file mode 100644 index 00000000..d77b7ae0 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/speech/v1beta1.d.ts @@ -0,0 +1,451 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace speech_v1beta1 { + interface Options extends GlobalOptions { + version: 'v1beta1'; + } + /** + * Cloud Speech API + * + * Converts audio to text by applying powerful neural network models. + * + * @example + * const {google} = require('googleapis'); + * const speech = google.speech('v1beta1'); + * + * @namespace speech + * @type {Function} + * @version v1beta1 + * @variation v1beta1 + * @param {object=} options Options for Speech + */ + class Speech { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + operations: Resource$Operations; + speech: Resource$Speech; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * The top-level message sent by the client for the `AsyncRecognize` method. + */ + interface Schema$AsyncRecognizeRequest { + /** + * *Required* The audio data to be recognized. + */ + audio?: Schema$RecognitionAudio; + /** + * *Required* Provides information to the recognizer that specifies how to + * process the request. + */ + config?: Schema$RecognitionConfig; + } + /** + * The response message for Operations.ListOperations. + */ + interface Schema$ListOperationsResponse { + /** + * The standard List next-page token. + */ + nextPageToken?: string; + /** + * A list of operations that matches the specified filter in the request. + */ + operations?: Schema$Operation[]; + } + /** + * This resource represents a long-running operation that is the result of a + * network API call. + */ + interface Schema$Operation { + /** + * If the value is `false`, it means the operation is still in progress. If + * `true`, the operation is completed, and either `error` or `response` is + * available. + */ + done?: boolean; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * Service-specific metadata associated with the operation. It typically + * contains progress information and common metadata such as create time. + * Some services might not provide such metadata. Any method that returns a + * long-running operation should document the metadata type, if any. + */ + metadata?: any; + /** + * The server-assigned name, which is only unique within the same service + * that originally returns it. If you use the default HTTP mapping, the + * `name` should have the format of `operations/some/unique/name`. + */ + name?: string; + /** + * The normal response of the operation in case of success. If the original + * method returns no data on success, such as `Delete`, the response is + * `google.protobuf.Empty`. If the original method is standard + * `Get`/`Create`/`Update`, the response should be the resource. For other + * methods, the response should have the type `XxxResponse`, where `Xxx` is + * the original method name. For example, if the original method name is + * `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: any; + } + /** + * Contains audio data in the encoding specified in the `RecognitionConfig`. + * Either `content` or `uri` must be supplied. Supplying both or neither + * returns google.rpc.Code.INVALID_ARGUMENT. See [audio + * limits](https://cloud.google.com/speech/limits#content). + */ + interface Schema$RecognitionAudio { + /** + * The audio data bytes encoded as specified in `RecognitionConfig`. Note: + * as with all bytes fields, protobuffers use a pure binary representation, + * whereas JSON representations use base64. + */ + content?: string; + /** + * URI that points to a file that contains audio data bytes as specified in + * `RecognitionConfig`. Currently, only Google Cloud Storage URIs are + * supported, which must be specified in the following format: + * `gs://bucket_name/object_name` (other URI formats return + * google.rpc.Code.INVALID_ARGUMENT). For more information, see [Request + * URIs](https://cloud.google.com/storage/docs/reference-uris). + */ + uri?: string; + } + /** + * Provides information to the recognizer that specifies how to process the + * request. + */ + interface Schema$RecognitionConfig { + /** + * *Required* Encoding of audio data sent in all `RecognitionAudio` + * messages. + */ + encoding?: string; + /** + * *Optional* The language of the supplied audio as a BCP-47 language tag. + * Example: "en-GB" https://www.rfc-editor.org/rfc/bcp/bcp47.txt + * If omitted, defaults to "en-US". See [Language + * Support](https://cloud.google.com/speech/docs/languages) for a list of + * the currently supported language codes. + */ + languageCode?: string; + /** + * *Optional* Maximum number of recognition hypotheses to be returned. + * Specifically, the maximum number of `SpeechRecognitionAlternative` + * messages within each `SpeechRecognitionResult`. The server may return + * fewer than `max_alternatives`. Valid values are `0`-`30`. A value of `0` + * or `1` will return a maximum of one. If omitted, will return a maximum of + * one. + */ + maxAlternatives?: number; + /** + * *Optional* If set to `true`, the server will attempt to filter out + * profanities, replacing all but the initial character in each filtered + * word with asterisks, e.g. "f***". If set to `false` or omitted, + * profanities won't be filtered out. + */ + profanityFilter?: boolean; + /** + * *Required* Sample rate in Hertz of the audio data sent in all + * `RecognitionAudio` messages. Valid values are: 8000-48000. 16000 is + * optimal. For best results, set the sampling rate of the audio source to + * 16000 Hz. If that's not possible, use the native sample rate of the + * audio source (instead of re-sampling). + */ + sampleRate?: number; + /** + * *Optional* A means to provide context to assist the speech recognition. + */ + speechContext?: Schema$SpeechContext; + } + /** + * Provides "hints" to the speech recognizer to favor specific words + * and phrases in the results. + */ + interface Schema$SpeechContext { + /** + * *Optional* A list of strings containing words and phrases + * "hints" so that the speech recognition is more likely to + * recognize them. This can be used to improve the accuracy for specific + * words and phrases, for example, if specific commands are typically spoken + * by the user. This can also be used to add additional words to the + * vocabulary of the recognizer. See [usage + * limits](https://cloud.google.com/speech/limits#content). + */ + phrases?: string[]; + } + /** + * Alternative hypotheses (a.k.a. n-best list). + */ + interface Schema$SpeechRecognitionAlternative { + /** + * *Output-only* The confidence estimate between 0.0 and 1.0. A higher + * number indicates an estimated greater likelihood that the recognized + * words are correct. This field is typically provided only for the top + * hypothesis, and only for `is_final=true` results. Clients should not rely + * on the `confidence` field as it is not guaranteed to be accurate, or even + * set, in any of the results. The default of 0.0 is a sentinel value + * indicating `confidence` was not set. + */ + confidence?: number; + /** + * *Output-only* Transcript text representing the words that the user spoke. + */ + transcript?: string; + } + /** + * A speech recognition result corresponding to a portion of the audio. + */ + interface Schema$SpeechRecognitionResult { + /** + * *Output-only* May contain one or more recognition hypotheses (up to the + * maximum specified in `max_alternatives`). + */ + alternatives?: Schema$SpeechRecognitionAlternative[]; + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + /** + * The top-level message sent by the client for the `SyncRecognize` method. + */ + interface Schema$SyncRecognizeRequest { + /** + * *Required* The audio data to be recognized. + */ + audio?: Schema$RecognitionAudio; + /** + * *Required* Provides information to the recognizer that specifies how to + * process the request. + */ + config?: Schema$RecognitionConfig; + } + /** + * The only message returned to the client by `SyncRecognize`. method. It + * contains the result as zero or more sequential `SpeechRecognitionResult` + * messages. + */ + interface Schema$SyncRecognizeResponse { + /** + * *Output-only* Sequential list of transcription results corresponding to + * sequential portions of audio. + */ + results?: Schema$SpeechRecognitionResult[]; + } + class Resource$Operations { + root: Speech; + constructor(root: Speech); + getRoot(): Speech; + /** + * speech.operations.get + * @desc Gets the latest state of a long-running operation. Clients can use + * this method to poll the operation result at intervals as recommended by + * the API service. + * @alias speech.operations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource. + * @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?: Params$Resource$Operations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Operations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Operations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * speech.operations.list + * @desc Lists operations that match the specified filter in the request. If + * the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: + * the `name` binding allows API services to override the binding to use + * different resource name schemes, such as `users/x/operations`. To + * override the binding, API services can add a binding such as + * `"/v1/{name=users/x}/operations"` to their service configuration. For + * backwards compatibility, the default name includes the operations + * collection id, however overriding users must ensure the name binding is + * the parent resource, without the operations collection id. + * @alias speech.operations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter The standard list filter. + * @param {string=} params.name The name of the operation's parent resource. + * @param {integer=} params.pageSize The standard list page size. + * @param {string=} params.pageToken The standard list page token. + * @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?: Params$Resource$Operations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Operations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Operations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Operations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource. + */ + name?: string; + } + interface Params$Resource$Operations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The standard list filter. + */ + filter?: string; + /** + * The name of the operation's parent resource. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } + class Resource$Speech { + root: Speech; + constructor(root: Speech); + getRoot(): Speech; + /** + * speech.speech.asyncrecognize + * @desc Performs asynchronous speech recognition: receive results via the + * [google.longrunning.Operations] + * (/speech/reference/rest/v1beta1/operations#Operation) interface. Returns + * either an `Operation.error` or an `Operation.response` which contains an + * `AsyncRecognizeResponse` message. + * @alias speech.speech.asyncrecognize + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().AsyncRecognizeRequest} 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 + */ + asyncrecognize(params?: Params$Resource$Speech$Asyncrecognize, options?: MethodOptions): AxiosPromise; + asyncrecognize(params: Params$Resource$Speech$Asyncrecognize, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + asyncrecognize(params: Params$Resource$Speech$Asyncrecognize, callback: BodyResponseCallback): void; + asyncrecognize(callback: BodyResponseCallback): void; + /** + * speech.speech.syncrecognize + * @desc Performs synchronous speech recognition: receive results after all + * audio has been sent and processed. + * @alias speech.speech.syncrecognize + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().SyncRecognizeRequest} 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 + */ + syncrecognize(params?: Params$Resource$Speech$Syncrecognize, options?: MethodOptions): AxiosPromise; + syncrecognize(params: Params$Resource$Speech$Syncrecognize, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + syncrecognize(params: Params$Resource$Speech$Syncrecognize, callback: BodyResponseCallback): void; + syncrecognize(callback: BodyResponseCallback): void; + } + interface Params$Resource$Speech$Asyncrecognize { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$AsyncRecognizeRequest; + } + interface Params$Resource$Speech$Syncrecognize { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$SyncRecognizeRequest; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/speech/v1beta1.js b/express-server/node_modules/googleapis/build/src/apis/speech/v1beta1.js new file mode 100644 index 00000000..cebdae82 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/speech/v1beta1.js @@ -0,0 +1,200 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var speech_v1beta1; +(function (speech_v1beta1) { + /** + * Cloud Speech API + * + * Converts audio to text by applying powerful neural network models. + * + * @example + * const {google} = require('googleapis'); + * const speech = google.speech('v1beta1'); + * + * @namespace speech + * @type {Function} + * @version v1beta1 + * @variation v1beta1 + * @param {object=} options Options for Speech + */ + class Speech { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.operations = new Resource$Operations(this); + this.speech = new Resource$Speech(this); + } + getRoot() { + return this.root; + } + } + speech_v1beta1.Speech = Speech; + class Resource$Operations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://speech.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/operations/{+name}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://speech.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/operations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + speech_v1beta1.Resource$Operations = Resource$Operations; + class Resource$Speech { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + asyncrecognize(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://speech.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/speech:asyncrecognize') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + syncrecognize(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://speech.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/speech:syncrecognize') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + speech_v1beta1.Resource$Speech = Resource$Speech; +})(speech_v1beta1 = exports.speech_v1beta1 || (exports.speech_v1beta1 = {})); +//# sourceMappingURL=v1beta1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/speech/v1beta1.js.map b/express-server/node_modules/googleapis/build/src/apis/speech/v1beta1.js.map new file mode 100644 index 00000000..32b4f7ed --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/speech/v1beta1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1beta1.js","sourceRoot":"","sources":["../../../../src/apis/speech/v1beta1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/sqladmin/README.md b/express-server/node_modules/googleapis/build/src/apis/sqladmin/README.md new file mode 100644 index 00000000..d2793acf --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/sqladmin/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/sqladmin + +> Creates and manages Cloud SQL instances, which provide fully managed MySQL or PostgreSQL databases. + +## Installation + +```sh +$ npm install @google/sqladmin +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/sqladmin/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/sqladmin/index.d.ts new file mode 100644 index 00000000..98417cb9 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/sqladmin/index.d.ts @@ -0,0 +1,6 @@ +import { sqladmin_v1beta4 } from './v1beta4'; +export declare const VERSIONS: { + 'v1beta4': typeof sqladmin_v1beta4.Sqladmin; +}; +export declare function sqladmin(version: 'v1beta4'): sqladmin_v1beta4.Sqladmin; +export declare function sqladmin(options: sqladmin_v1beta4.Options): sqladmin_v1beta4.Sqladmin; diff --git a/express-server/node_modules/googleapis/build/src/apis/sqladmin/index.js b/express-server/node_modules/googleapis/build/src/apis/sqladmin/index.js new file mode 100644 index 00000000..1ca2cc0c --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/sqladmin/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1beta4_1 = require("./v1beta4"); +exports.VERSIONS = { + 'v1beta4': v1beta4_1.sqladmin_v1beta4.Sqladmin, +}; +function sqladmin(versionOrOptions) { + return googleapis_common_1.getAPI('sqladmin', versionOrOptions, exports.VERSIONS, this); +} +exports.sqladmin = sqladmin; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/sqladmin/index.js.map b/express-server/node_modules/googleapis/build/src/apis/sqladmin/index.js.map new file mode 100644 index 00000000..c43cf85c --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/sqladmin/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/sqladmin/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,uCAA2C;AAE9B,QAAA,QAAQ,GAAG;IACtB,SAAS,EAAE,0BAAgB,CAAC,QAAQ;CACrC,CAAC;AAKF,SAAgB,QAAQ,CAEpB,gBAAoD;IACtD,OAAO,0BAAM,CAAI,UAAU,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACjE,CAAC;AAJD,4BAIC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/sqladmin/package.json b/express-server/node_modules/googleapis/build/src/apis/sqladmin/package.json new file mode 100644 index 00000000..438e705e --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/sqladmin/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/sqladmin", + "version": "0.1.0", + "description": "sqladmin", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/sqladmin/v1beta4.d.ts b/express-server/node_modules/googleapis/build/src/apis/sqladmin/v1beta4.d.ts new file mode 100644 index 00000000..46a0cd83 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/sqladmin/v1beta4.d.ts @@ -0,0 +1,3073 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace sqladmin_v1beta4 { + interface Options extends GlobalOptions { + version: 'v1beta4'; + } + /** + * Cloud SQL Admin API + * + * Creates and manages Cloud SQL instances, which provide fully managed MySQL + * or PostgreSQL databases. + * + * @example + * const {google} = require('googleapis'); + * const sqladmin = google.sqladmin('v1beta4'); + * + * @namespace sqladmin + * @type {Function} + * @version v1beta4 + * @variation v1beta4 + * @param {object=} options Options for Sqladmin + */ + class Sqladmin { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + backupRuns: Resource$Backupruns; + databases: Resource$Databases; + flags: Resource$Flags; + instances: Resource$Instances; + operations: Resource$Operations; + sslCerts: Resource$Sslcerts; + tiers: Resource$Tiers; + users: Resource$Users; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * An entry for an Access Control list. + */ + interface Schema$AclEntry { + /** + * The time when this access control entry expires in RFC 3339 format, for + * example 2012-11-15T16:19:00.094Z. + */ + expirationTime?: string; + /** + * This is always sql#aclEntry. + */ + kind?: string; + /** + * An optional label to identify this entry. + */ + name?: string; + /** + * The whitelisted value for the access control list. + */ + value?: string; + } + /** + * Database instance backup configuration. + */ + interface Schema$BackupConfiguration { + /** + * Whether binary log is enabled. If backup configuration is disabled, + * binary log must be disabled as well. + */ + binaryLogEnabled?: boolean; + /** + * Whether this configuration is enabled. + */ + enabled?: boolean; + /** + * This is always sql#backupConfiguration. + */ + kind?: string; + /** + * Reserved for future use. + */ + replicationLogArchivingEnabled?: boolean; + /** + * Start time for the daily backup configuration in UTC timezone in the 24 + * hour format - HH:MM. + */ + startTime?: string; + } + /** + * A BackupRun resource. + */ + interface Schema$BackupRun { + /** + * The description of this run, only applicable to on-demand backups. + */ + description?: string; + /** + * The time the backup operation completed in UTC timezone in RFC 3339 + * format, for example 2012-11-15T16:19:00.094Z. + */ + endTime?: string; + /** + * The time the run was enqueued in UTC timezone in RFC 3339 format, for + * example 2012-11-15T16:19:00.094Z. + */ + enqueuedTime?: string; + /** + * Information about why the backup operation failed. This is only present + * if the run has the FAILED status. + */ + error?: Schema$OperationError; + /** + * The identifier for this backup run. Unique only for a specific Cloud SQL + * instance. + */ + id?: string; + /** + * Name of the database instance. + */ + instance?: string; + /** + * This is always sql#backupRun. + */ + kind?: string; + /** + * The URI of this resource. + */ + selfLink?: string; + /** + * The time the backup operation actually started in UTC timezone in RFC + * 3339 format, for example 2012-11-15T16:19:00.094Z. + */ + startTime?: string; + /** + * The status of this run. + */ + status?: string; + /** + * The type of this run; can be either "AUTOMATED" or + * "ON_DEMAND". + */ + type?: string; + /** + * The start time of the backup window during which this the backup was + * attempted in RFC 3339 format, for example 2012-11-15T16:19:00.094Z. + */ + windowStartTime?: string; + } + /** + * Backup run list results. + */ + interface Schema$BackupRunsListResponse { + /** + * A list of backup runs in reverse chronological order of the enqueued + * time. + */ + items?: Schema$BackupRun[]; + /** + * This is always sql#backupRunsList. + */ + kind?: string; + /** + * The continuation token, used to page through large result sets. Provide + * this value in a subsequent request to return the next page of results. + */ + nextPageToken?: string; + } + /** + * Binary log coordinates. + */ + interface Schema$BinLogCoordinates { + /** + * Name of the binary log file for a Cloud SQL instance. + */ + binLogFileName?: string; + /** + * Position (offset) within the binary log file. + */ + binLogPosition?: string; + /** + * This is always sql#binLogCoordinates. + */ + kind?: string; + } + /** + * Database instance clone context. + */ + interface Schema$CloneContext { + /** + * Binary log coordinates, if specified, identify the position up to which + * the source instance should be cloned. If not specified, the source + * instance is cloned up to the most recent binary log coordinates. + */ + binLogCoordinates?: Schema$BinLogCoordinates; + /** + * Name of the Cloud SQL instance to be created as a clone. + */ + destinationInstanceName?: string; + /** + * This is always sql#cloneContext. + */ + kind?: string; + /** + * Reserved for future use. + */ + pitrTimestampMs?: string; + } + /** + * Represents a SQL database on the Cloud SQL instance. + */ + interface Schema$Database { + /** + * The MySQL charset value. + */ + charset?: string; + /** + * The MySQL collation value. + */ + collation?: string; + /** + * This field is deprecated and will be removed from a future version of the + * API. + */ + etag?: string; + /** + * The name of the Cloud SQL instance. This does not include the project ID. + */ + instance?: string; + /** + * This is always sql#database. + */ + kind?: string; + /** + * The name of the database in the Cloud SQL instance. This does not include + * the project ID or instance name. + */ + name?: string; + /** + * The project ID of the project containing the Cloud SQL database. The + * Google apps domain is prefixed if applicable. + */ + project?: string; + /** + * The URI of this resource. + */ + selfLink?: string; + } + /** + * Database flags for Cloud SQL instances. + */ + interface Schema$DatabaseFlags { + /** + * The name of the flag. These flags are passed at instance startup, so + * include both server options and system variables for MySQL. Flags should + * be specified with underscores, not hyphens. For more information, see + * Configuring Database Flags in the Cloud SQL documentation. + */ + name?: string; + /** + * The value of the flag. Booleans should be set to on for true and off for + * false. This field must be omitted if the flag doesn't take a value. + */ + value?: string; + } + /** + * A Cloud SQL instance resource. + */ + interface Schema$DatabaseInstance { + /** + * FIRST_GEN: First Generation instance. MySQL only. SECOND_GEN: Second + * Generation instance or PostgreSQL instance. EXTERNAL: A database server + * that is not managed by Google. This property is read-only; use the tier + * property in the settings object to determine the database type and Second + * or First Generation. + */ + backendType?: string; + /** + * Connection name of the Cloud SQL instance used in connection strings. + */ + connectionName?: string; + /** + * The current disk usage of the instance in bytes. This property has been + * deprecated. Users should use the + * "cloudsql.googleapis.com/database/disk/bytes_used" metric in + * Cloud Monitoring API instead. Please see this announcement for details. + */ + currentDiskSize?: string; + /** + * The database engine type and version. The databaseVersion field can not + * be changed after instance creation. MySQL Second Generation instances: + * MYSQL_5_7 (default) or MYSQL_5_6. PostgreSQL instances: POSTGRES_9_6 + * MySQL First Generation instances: MYSQL_5_6 (default) or MYSQL_5_5 + */ + databaseVersion?: string; + /** + * This field is deprecated and will be removed from a future version of the + * API. Use the settings.settingsVersion field instead. + */ + etag?: string; + /** + * The name and status of the failover replica. This property is applicable + * only to Second Generation instances. + */ + failoverReplica?: any; + /** + * The Compute Engine zone that the instance is currently serving from. This + * value could be different from the zone that was specified when the + * instance was created if the instance has failed over to its secondary + * zone. + */ + gceZone?: string; + /** + * The instance type. This can be one of the following. CLOUD_SQL_INSTANCE: + * A Cloud SQL instance that is not replicating from a master. + * ON_PREMISES_INSTANCE: An instance running on the customer's premises. + * READ_REPLICA_INSTANCE: A Cloud SQL instance configured as a read-replica. + */ + instanceType?: string; + /** + * The assigned IP addresses for the instance. + */ + ipAddresses?: Schema$IpMapping[]; + /** + * The IPv6 address assigned to the instance. This property is applicable + * only to First Generation instances. + */ + ipv6Address?: string; + /** + * This is always sql#instance. + */ + kind?: string; + /** + * The name of the instance which will act as master in the replication + * setup. + */ + masterInstanceName?: string; + /** + * The maximum disk size of the instance in bytes. + */ + maxDiskSize?: string; + /** + * Name of the Cloud SQL instance. This does not include the project ID. + */ + name?: string; + /** + * Configuration specific to on-premises instances. + */ + onPremisesConfiguration?: Schema$OnPremisesConfiguration; + /** + * The project ID of the project containing the Cloud SQL instance. The + * Google apps domain is prefixed if applicable. + */ + project?: string; + /** + * The geographical region. Can be us-central (FIRST_GEN instances only), + * us-central1 (SECOND_GEN instances only), asia-east1 or europe-west1. + * Defaults to us-central or us-central1 depending on the instance type + * (First Generation or Second Generation). The region can not be changed + * after instance creation. + */ + region?: string; + /** + * Configuration specific to failover replicas and read replicas. + */ + replicaConfiguration?: Schema$ReplicaConfiguration; + /** + * The replicas of the instance. + */ + replicaNames?: string[]; + /** + * The URI of this resource. + */ + selfLink?: string; + /** + * SSL configuration. + */ + serverCaCert?: Schema$SslCert; + /** + * The service account email address assigned to the instance. This property + * is applicable only to Second Generation instances. + */ + serviceAccountEmailAddress?: string; + /** + * The user settings. + */ + settings?: Schema$Settings; + /** + * The current serving state of the Cloud SQL instance. This can be one of + * the following. RUNNABLE: The instance is running, or is ready to run when + * accessed. SUSPENDED: The instance is not available, for example due to + * problems with billing. PENDING_CREATE: The instance is being created. + * MAINTENANCE: The instance is down for maintenance. FAILED: The instance + * creation failed. UNKNOWN_STATE: The state of the instance is unknown. + */ + state?: string; + /** + * If the instance state is SUSPENDED, the reason for the suspension. + */ + suspensionReason?: string[]; + } + /** + * Database list response. + */ + interface Schema$DatabasesListResponse { + /** + * List of database resources in the instance. + */ + items?: Schema$Database[]; + /** + * This is always sql#databasesList. + */ + kind?: string; + } + /** + * Read-replica configuration for connecting to the on-premises master. + */ + interface Schema$DemoteMasterConfiguration { + /** + * This is always sql#demoteMasterConfiguration. + */ + kind?: string; + /** + * MySQL specific configuration when replicating from a MySQL on-premises + * master. Replication configuration information such as the username, + * password, certificates, and keys are not stored in the instance metadata. + * The configuration information is used only to set up the replication + * connection and is stored by MySQL in a file named master.info in the data + * directory. + */ + mysqlReplicaConfiguration?: Schema$DemoteMasterMySqlReplicaConfiguration; + } + /** + * Database instance demote master context. + */ + interface Schema$DemoteMasterContext { + /** + * This is always sql#demoteMasterContext. + */ + kind?: string; + /** + * The name of the instance which will act as on-premises master in the + * replication setup. + */ + masterInstanceName?: string; + /** + * Configuration specific to read-replicas replicating from the on-premises + * master. + */ + replicaConfiguration?: Schema$DemoteMasterConfiguration; + /** + * Verify GTID consistency for demote operation. Default value: True. Second + * Generation instances only. Setting this flag to false enables you to + * bypass GTID consistency check between on-premises master and Cloud SQL + * instance during the demotion operation but also exposes you to the risk + * of future replication failures. Change the value only if you know the + * reason for the GTID divergence and are confident that doing so will not + * cause any replication issues. + */ + verifyGtidConsistency?: boolean; + } + /** + * Read-replica configuration specific to MySQL databases. + */ + interface Schema$DemoteMasterMySqlReplicaConfiguration { + /** + * PEM representation of the trusted CA's x509 certificate. + */ + caCertificate?: string; + /** + * PEM representation of the slave's x509 certificate. + */ + clientCertificate?: string; + /** + * PEM representation of the slave's private key. The corresponsing + * public key is encoded in the client's certificate. The format of the + * slave's private key can be either PKCS #1 or PKCS #8. + */ + clientKey?: string; + /** + * This is always sql#demoteMasterMysqlReplicaConfiguration. + */ + kind?: string; + /** + * The password for the replication connection. + */ + password?: string; + /** + * The username for the replication connection. + */ + username?: string; + } + /** + * Database instance export context. + */ + interface Schema$ExportContext { + /** + * Options for exporting data as CSV. Exporting in CSV format using the + * Cloud SQL Admin API is not supported for PostgreSQL instances. + */ + csvExportOptions?: any; + /** + * Databases to be exported. MySQL instances: If fileType is SQL and no + * database is specified, all databases are exported, except for the mysql + * system database. If fileType is CSV, you can specify one database, either + * by using this property or by using the csvExportOptions.selectQuery + * property, which takes precedence over this property. PostgreSQL + * instances: If fileType is SQL, you must specify one database to be + * exported. A fileType of CSV is not supported for PostgreSQL instances. + */ + databases?: string[]; + /** + * The file type for the specified uri. SQL: The file contains SQL + * statements. CSV: The file contains CSV data. CSV is not supported for + * PostgreSQL instances. + */ + fileType?: string; + /** + * This is always sql#exportContext. + */ + kind?: string; + /** + * Options for exporting data as SQL statements. + */ + sqlExportOptions?: any; + /** + * The path to the file in Google Cloud Storage where the export will be + * stored. The URI is in the form gs://bucketName/fileName. If the file + * already exists, the requests succeeds, but the operation fails. If + * fileType is SQL and the filename ends with .gz, the contents are + * compressed. + */ + uri?: string; + } + /** + * Database instance failover context. + */ + interface Schema$FailoverContext { + /** + * This is always sql#failoverContext. + */ + kind?: string; + /** + * The current settings version of this instance. Request will be rejected + * if this version doesn't match the current settings version. + */ + settingsVersion?: string; + } + /** + * A flag resource. + */ + interface Schema$Flag { + /** + * For STRING flags, a list of strings that the value can be set to. + */ + allowedStringValues?: string[]; + /** + * The database version this flag applies to. Can be MYSQL_5_5, MYSQL_5_6, + * or MYSQL_5_7. MYSQL_5_7 is applicable only to Second Generation + * instances. + */ + appliesTo?: string[]; + /** + * This is always sql#flag. + */ + kind?: string; + /** + * For INTEGER flags, the maximum allowed value. + */ + maxValue?: string; + /** + * For INTEGER flags, the minimum allowed value. + */ + minValue?: string; + /** + * This is the name of the flag. Flag names always use underscores, not + * hyphens, e.g. max_allowed_packet + */ + name?: string; + /** + * Indicates whether changing this flag will trigger a database restart. + * Only applicable to Second Generation instances. + */ + requiresRestart?: boolean; + /** + * The type of the flag. Flags are typed to being BOOLEAN, STRING, INTEGER + * or NONE. NONE is used for flags which do not take a value, such as + * skip_grant_tables. + */ + type?: string; + } + /** + * Flags list response. + */ + interface Schema$FlagsListResponse { + /** + * List of flags. + */ + items?: Schema$Flag[]; + /** + * This is always sql#flagsList. + */ + kind?: string; + } + /** + * Database instance import context. + */ + interface Schema$ImportContext { + /** + * Options for importing data as CSV. Importing CSV data using the Cloud SQL + * Admin API is not supported for PostgreSQL instances. + */ + csvImportOptions?: any; + /** + * The target database for the import. If fileType is SQL, this field is + * required only if the import file does not specify a database, and is + * overridden by any database specification in the import file. If fileType + * is CSV, one database must be specified. + */ + database?: string; + /** + * The file type for the specified uri. SQL: The file contains SQL + * statements. CSV: The file contains CSV data. Importing CSV data using the + * Cloud SQL Admin API is not supported for PostgreSQL instances. + */ + fileType?: string; + /** + * The PostgreSQL user for this import operation. Defaults to + * cloudsqlsuperuser. PostgreSQL instances only. + */ + importUser?: string; + /** + * This is always sql#importContext. + */ + kind?: string; + /** + * Path to the import file in Cloud Storage, in the form + * gs://bucketName/fileName. Compressed gzip files (.gz) are supported when + * fileType is SQL. The instance must have write permissions to the bucket + * and read access to the file. + */ + uri?: string; + } + /** + * Database instance clone request. + */ + interface Schema$InstancesCloneRequest { + /** + * Contains details about the clone operation. + */ + cloneContext?: Schema$CloneContext; + } + /** + * Database demote master request. + */ + interface Schema$InstancesDemoteMasterRequest { + /** + * Contains details about the demoteMaster operation. + */ + demoteMasterContext?: Schema$DemoteMasterContext; + } + /** + * Database instance export request. + */ + interface Schema$InstancesExportRequest { + /** + * Contains details about the export operation. + */ + exportContext?: Schema$ExportContext; + } + /** + * Instance failover request. + */ + interface Schema$InstancesFailoverRequest { + /** + * Failover Context. + */ + failoverContext?: Schema$FailoverContext; + } + /** + * Database instance import request. + */ + interface Schema$InstancesImportRequest { + /** + * Contains details about the import operation. + */ + importContext?: Schema$ImportContext; + } + /** + * Database instances list response. + */ + interface Schema$InstancesListResponse { + /** + * List of database instance resources. + */ + items?: Schema$DatabaseInstance[]; + /** + * This is always sql#instancesList. + */ + kind?: string; + /** + * The continuation token, used to page through large result sets. Provide + * this value in a subsequent request to return the next page of results. + */ + nextPageToken?: string; + } + /** + * Instances ListServerCas response. + */ + interface Schema$InstancesListServerCasResponse { + activeVersion?: string; + /** + * List of server CA certificates for the instance. + */ + certs?: Schema$SslCert[]; + /** + * This is always sql#instancesListServerCas. + */ + kind?: string; + } + /** + * Database instance restore backup request. + */ + interface Schema$InstancesRestoreBackupRequest { + /** + * Parameters required to perform the restore backup operation. + */ + restoreBackupContext?: Schema$RestoreBackupContext; + } + /** + * Rotate Server CA request. + */ + interface Schema$InstancesRotateServerCaRequest { + /** + * Contains details about the rotate server CA operation. + */ + rotateServerCaContext?: Schema$RotateServerCaContext; + } + /** + * Instance truncate log request. + */ + interface Schema$InstancesTruncateLogRequest { + /** + * Contains details about the truncate log operation. + */ + truncateLogContext?: Schema$TruncateLogContext; + } + /** + * IP Management configuration. + */ + interface Schema$IpConfiguration { + /** + * The list of external networks that are allowed to connect to the instance + * using the IP. In CIDR notation, also known as 'slash' notation + * (e.g. 192.168.100.0/24). + */ + authorizedNetworks?: Schema$AclEntry[]; + /** + * Whether the instance should be assigned an IP address or not. + */ + ipv4Enabled?: boolean; + /** + * Reserved for future use. + */ + privateNetwork?: string; + /** + * Whether SSL connections over IP should be enforced or not. + */ + requireSsl?: boolean; + } + /** + * Database instance IP Mapping. + */ + interface Schema$IpMapping { + /** + * The IP address assigned. + */ + ipAddress?: string; + /** + * The due time for this IP to be retired in RFC 3339 format, for example + * 2012-11-15T16:19:00.094Z. This field is only available when the IP is + * scheduled to be retired. + */ + timeToRetire?: string; + /** + * The type of this IP address. A PRIMARY address is an address that can + * accept incoming connections. An OUTGOING address is the source address of + * connections originating from the instance, if supported. + */ + type?: string; + } + /** + * Preferred location. This specifies where a Cloud SQL instance should + * preferably be located, either in a specific Compute Engine zone, or + * co-located with an App Engine application. Note that if the preferred + * location is not available, the instance will be located as close as + * possible within the region. Only one location may be specified. + */ + interface Schema$LocationPreference { + /** + * The AppEngine application to follow, it must be in the same region as the + * Cloud SQL instance. + */ + followGaeApplication?: string; + /** + * This is always sql#locationPreference. + */ + kind?: string; + /** + * The preferred Compute Engine zone (e.g. us-central1-a, us-central1-b, + * etc.). + */ + zone?: string; + } + /** + * Maintenance window. This specifies when a v2 Cloud SQL instance should + * preferably be restarted for system maintenance puruposes. + */ + interface Schema$MaintenanceWindow { + /** + * day of week (1-7), starting on Monday. + */ + day?: number; + /** + * hour of day - 0 to 23. + */ + hour?: number; + /** + * This is always sql#maintenanceWindow. + */ + kind?: string; + /** + * Maintenance timing setting: canary (Earlier) or stable (Later). Learn + * more. + */ + updateTrack?: string; + } + /** + * Read-replica configuration specific to MySQL databases. + */ + interface Schema$MySqlReplicaConfiguration { + /** + * PEM representation of the trusted CA's x509 certificate. + */ + caCertificate?: string; + /** + * PEM representation of the slave's x509 certificate. + */ + clientCertificate?: string; + /** + * PEM representation of the slave's private key. The corresponsing + * public key is encoded in the client's certificate. + */ + clientKey?: string; + /** + * Seconds to wait between connect retries. MySQL's default is 60 + * seconds. + */ + connectRetryInterval?: number; + /** + * Path to a SQL dump file in Google Cloud Storage from which the slave + * instance is to be created. The URI is in the form + * gs://bucketName/fileName. Compressed gzip files (.gz) are also supported. + * Dumps should have the binlog co-ordinates from which replication should + * begin. This can be accomplished by setting --master-data to 1 when using + * mysqldump. + */ + dumpFilePath?: string; + /** + * This is always sql#mysqlReplicaConfiguration. + */ + kind?: string; + /** + * Interval in milliseconds between replication heartbeats. + */ + masterHeartbeatPeriod?: string; + /** + * The password for the replication connection. + */ + password?: string; + /** + * A list of permissible ciphers to use for SSL encryption. + */ + sslCipher?: string; + /** + * The username for the replication connection. + */ + username?: string; + /** + * Whether or not to check the master's Common Name value in the + * certificate that it sends during the SSL handshake. + */ + verifyServerCertificate?: boolean; + } + /** + * On-premises instance configuration. + */ + interface Schema$OnPremisesConfiguration { + /** + * The host and port of the on-premises instance in host:port format + */ + hostPort?: string; + /** + * This is always sql#onPremisesConfiguration. + */ + kind?: string; + } + /** + * An Operation resource. For successful operations that return an Operation + * resource, only the fields relevant to the operation are populated in the + * resource. + */ + interface Schema$Operation { + /** + * The time this operation finished in UTC timezone in RFC 3339 format, for + * example 2012-11-15T16:19:00.094Z. + */ + endTime?: string; + /** + * If errors occurred during processing of this operation, this field will + * be populated. + */ + error?: Schema$OperationErrors; + /** + * The context for export operation, if applicable. + */ + exportContext?: Schema$ExportContext; + /** + * The context for import operation, if applicable. + */ + importContext?: Schema$ImportContext; + /** + * The time this operation was enqueued in UTC timezone in RFC 3339 format, + * for example 2012-11-15T16:19:00.094Z. + */ + insertTime?: string; + /** + * This is always sql#operation. + */ + kind?: string; + /** + * An identifier that uniquely identifies the operation. You can use this + * identifier to retrieve the Operations resource that has information about + * the operation. + */ + name?: string; + /** + * The type of the operation. Valid values are CREATE, DELETE, UPDATE, + * RESTART, IMPORT, EXPORT, BACKUP_VOLUME, RESTORE_VOLUME, CREATE_USER, + * DELETE_USER, CREATE_DATABASE, DELETE_DATABASE . + */ + operationType?: string; + /** + * The URI of this resource. + */ + selfLink?: string; + /** + * The time this operation actually started in UTC timezone in RFC 3339 + * format, for example 2012-11-15T16:19:00.094Z. + */ + startTime?: string; + /** + * The status of an operation. Valid values are PENDING, RUNNING, DONE, + * UNKNOWN. + */ + status?: string; + /** + * Name of the database instance related to this operation. + */ + targetId?: string; + targetLink?: string; + /** + * The project ID of the target instance related to this operation. + */ + targetProject?: string; + /** + * The email address of the user who initiated this operation. + */ + user?: string; + } + /** + * Database instance operation error. + */ + interface Schema$OperationError { + /** + * Identifies the specific error that occurred. + */ + code?: string; + /** + * This is always sql#operationError. + */ + kind?: string; + /** + * Additional information about the error encountered. + */ + message?: string; + } + /** + * Database instance operation errors list wrapper. + */ + interface Schema$OperationErrors { + /** + * The list of errors encountered while processing this operation. + */ + errors?: Schema$OperationError[]; + /** + * This is always sql#operationErrors. + */ + kind?: string; + } + /** + * Database instance list operations response. + */ + interface Schema$OperationsListResponse { + /** + * List of operation resources. + */ + items?: Schema$Operation[]; + /** + * This is always sql#operationsList. + */ + kind?: string; + /** + * The continuation token, used to page through large result sets. Provide + * this value in a subsequent request to return the next page of results. + */ + nextPageToken?: string; + } + /** + * Read-replica configuration for connecting to the master. + */ + interface Schema$ReplicaConfiguration { + /** + * Specifies if the replica is the failover target. If the field is set to + * true the replica will be designated as a failover replica. In case the + * master instance fails, the replica instance will be promoted as the new + * master instance. Only one replica can be specified as failover target, + * and the replica has to be in different zone with the master instance. + */ + failoverTarget?: boolean; + /** + * This is always sql#replicaConfiguration. + */ + kind?: string; + /** + * MySQL specific configuration when replicating from a MySQL on-premises + * master. Replication configuration information such as the username, + * password, certificates, and keys are not stored in the instance metadata. + * The configuration information is used only to set up the replication + * connection and is stored by MySQL in a file named master.info in the data + * directory. + */ + mysqlReplicaConfiguration?: Schema$MySqlReplicaConfiguration; + } + /** + * Database instance restore from backup context. + */ + interface Schema$RestoreBackupContext { + /** + * The ID of the backup run to restore from. + */ + backupRunId?: string; + /** + * The ID of the instance that the backup was taken from. + */ + instanceId?: string; + /** + * This is always sql#restoreBackupContext. + */ + kind?: string; + } + /** + * Instance rotate server CA context. + */ + interface Schema$RotateServerCaContext { + /** + * This is always sql#rotateServerCaContext. + */ + kind?: string; + /** + * The fingerprint of the next version to be rotated to. If left + * unspecified, will be rotated to the most recently added server CA + * version. + */ + nextVersion?: string; + } + /** + * Database instance settings. + */ + interface Schema$Settings { + /** + * The activation policy specifies when the instance is activated; it is + * applicable only when the instance state is RUNNABLE. Valid values: + * ALWAYS: The instance is on, and remains so even in the absence of + * connection requests. NEVER: The instance is off; it is not activated, + * even if a connection request arrives. ON_DEMAND: First Generation + * instances only. The instance responds to incoming requests, and turns + * itself off when not in use. Instances with PER_USE pricing turn off after + * 15 minutes of inactivity. Instances with PER_PACKAGE pricing turn off + * after 12 hours of inactivity. + */ + activationPolicy?: string; + /** + * The App Engine app IDs that can access this instance. First Generation + * instances only. + */ + authorizedGaeApplications?: string[]; + /** + * Availability type (PostgreSQL instances only). Potential values: ZONAL: + * The instance serves data from only one zone. Outages in that zone affect + * data accessibility. REGIONAL: The instance can serve data from more than + * one zone in a region (it is highly available). For more information, see + * Overview of the High Availability Configuration. + */ + availabilityType?: string; + /** + * The daily backup configuration for the instance. + */ + backupConfiguration?: Schema$BackupConfiguration; + /** + * Configuration specific to read replica instances. Indicates whether + * database flags for crash-safe replication are enabled. This property is + * only applicable to First Generation instances. + */ + crashSafeReplicationEnabled?: boolean; + /** + * The database flags passed to the instance at startup. + */ + databaseFlags?: Schema$DatabaseFlags[]; + /** + * Configuration specific to read replica instances. Indicates whether + * replication is enabled or not. + */ + databaseReplicationEnabled?: boolean; + /** + * The size of data disk, in GB. The data disk size minimum is 10GB. Not + * used for First Generation instances. + */ + dataDiskSizeGb?: string; + /** + * The type of data disk: PD_SSD (default) or PD_HDD. Not used for First + * Generation instances. + */ + dataDiskType?: string; + /** + * The settings for IP Management. This allows to enable or disable the + * instance IP and manage which external networks can connect to the + * instance. The IPv4 address cannot be disabled for Second Generation + * instances. + */ + ipConfiguration?: Schema$IpConfiguration; + /** + * This is always sql#settings. + */ + kind?: string; + /** + * The location preference settings. This allows the instance to be located + * as near as possible to either an App Engine app or Compute Engine zone + * for better performance. App Engine co-location is only applicable to + * First Generation instances. + */ + locationPreference?: Schema$LocationPreference; + /** + * The maintenance window for this instance. This specifies when the + * instance can be restarted for maintenance purposes. Not used for First + * Generation instances. + */ + maintenanceWindow?: Schema$MaintenanceWindow; + /** + * The pricing plan for this instance. This can be either PER_USE or + * PACKAGE. Only PER_USE is supported for Second Generation instances. + */ + pricingPlan?: string; + /** + * The type of replication this instance uses. This can be either + * ASYNCHRONOUS or SYNCHRONOUS. This property is only applicable to First + * Generation instances. + */ + replicationType?: string; + /** + * The version of instance settings. This is a required field for update + * method to make sure concurrent updates are handled properly. During + * update, use the most recent settingsVersion value for this instance and + * do not try to update this value. + */ + settingsVersion?: string; + /** + * Configuration to increase storage size automatically. The default value + * is true. Not used for First Generation instances. + */ + storageAutoResize?: boolean; + /** + * The maximum size to which storage capacity can be automatically + * increased. The default value is 0, which specifies that there is no + * limit. Not used for First Generation instances. + */ + storageAutoResizeLimit?: string; + /** + * The tier (or machine type) for this instance, for example + * db-n1-standard-1 (MySQL instances) or db-custom-1-3840 (PostgreSQL + * instances). For MySQL instances, this property determines whether the + * instance is First or Second Generation. For more information, see + * Instance Settings. + */ + tier?: string; + /** + * User-provided labels, represented as a dictionary where each label is a + * single key value pair. + */ + userLabels?: any; + } + /** + * SslCerts Resource + */ + interface Schema$SslCert { + /** + * PEM representation. + */ + cert?: string; + /** + * Serial number, as extracted from the certificate. + */ + certSerialNumber?: string; + /** + * User supplied name. Constrained to [a-zA-Z.-_ ]+. + */ + commonName?: string; + /** + * The time when the certificate was created in RFC 3339 format, for example + * 2012-11-15T16:19:00.094Z + */ + createTime?: string; + /** + * The time when the certificate expires in RFC 3339 format, for example + * 2012-11-15T16:19:00.094Z. + */ + expirationTime?: string; + /** + * Name of the database instance. + */ + instance?: string; + /** + * This is always sql#sslCert. + */ + kind?: string; + /** + * The URI of this resource. + */ + selfLink?: string; + /** + * Sha1 Fingerprint. + */ + sha1Fingerprint?: string; + } + /** + * SslCertDetail. + */ + interface Schema$SslCertDetail { + /** + * The public information about the cert. + */ + certInfo?: Schema$SslCert; + /** + * The private key for the client cert, in pem format. Keep private in order + * to protect your security. + */ + certPrivateKey?: string; + } + /** + * SslCerts create ephemeral certificate request. + */ + interface Schema$SslCertsCreateEphemeralRequest { + /** + * PEM encoded public key to include in the signed certificate. + */ + public_key?: string; + } + /** + * SslCerts insert request. + */ + interface Schema$SslCertsInsertRequest { + /** + * User supplied name. Must be a distinct name from the other certificates + * for this instance. + */ + commonName?: string; + } + /** + * SslCert insert response. + */ + interface Schema$SslCertsInsertResponse { + /** + * The new client certificate and private key. For First Generation + * instances, the new certificate does not take effect until the instance is + * restarted. + */ + clientCert?: Schema$SslCertDetail; + /** + * This is always sql#sslCertsInsert. + */ + kind?: string; + /** + * The operation to track the ssl certs insert request. + */ + operation?: Schema$Operation; + /** + * The server Certificate Authority's certificate. If this is missing + * you can force a new one to be generated by calling resetSslConfig method + * on instances resource. + */ + serverCaCert?: Schema$SslCert; + } + /** + * SslCerts list response. + */ + interface Schema$SslCertsListResponse { + /** + * List of client certificates for the instance. + */ + items?: Schema$SslCert[]; + /** + * This is always sql#sslCertsList. + */ + kind?: string; + } + /** + * A Google Cloud SQL service tier resource. + */ + interface Schema$Tier { + /** + * The maximum disk size of this tier in bytes. + */ + DiskQuota?: string; + /** + * This is always sql#tier. + */ + kind?: string; + /** + * The maximum RAM usage of this tier in bytes. + */ + RAM?: string; + /** + * The applicable regions for this tier. + */ + region?: string[]; + /** + * An identifier for the machine type, for example, db-n1-standard-1. For + * related information, see Pricing. + */ + tier?: string; + } + /** + * Tiers list response. + */ + interface Schema$TiersListResponse { + /** + * List of tiers. + */ + items?: Schema$Tier[]; + /** + * This is always sql#tiersList. + */ + kind?: string; + } + /** + * Database Instance truncate log context. + */ + interface Schema$TruncateLogContext { + /** + * This is always sql#truncateLogContext. + */ + kind?: string; + /** + * The type of log to truncate. Valid values are MYSQL_GENERAL_TABLE and + * MYSQL_SLOW_TABLE. + */ + logType?: string; + } + /** + * A Cloud SQL user resource. + */ + interface Schema$User { + /** + * This field is deprecated and will be removed from a future version of the + * API. + */ + etag?: string; + /** + * The host name from which the user can connect. For insert operations, + * host defaults to an empty string. For update operations, host is + * specified as part of the request URL. The host name cannot be updated + * after insertion. + */ + host?: string; + /** + * The name of the Cloud SQL instance. This does not include the project ID. + * Can be omitted for update since it is already specified on the URL. + */ + instance?: string; + /** + * This is always sql#user. + */ + kind?: string; + /** + * The name of the user in the Cloud SQL instance. Can be omitted for update + * since it is already specified in the URL. + */ + name?: string; + /** + * The password for the user. + */ + password?: string; + /** + * The project ID of the project containing the Cloud SQL database. The + * Google apps domain is prefixed if applicable. Can be omitted for update + * since it is already specified on the URL. + */ + project?: string; + } + /** + * User list response. + */ + interface Schema$UsersListResponse { + /** + * List of user resources in the instance. + */ + items?: Schema$User[]; + /** + * This is always sql#usersList. + */ + kind?: string; + /** + * An identifier that uniquely identifies the operation. You can use this + * identifier to retrieve the Operations resource that has information about + * the operation. + */ + nextPageToken?: string; + } + class Resource$Backupruns { + root: Sqladmin; + constructor(root: Sqladmin); + getRoot(): Sqladmin; + /** + * sql.backupRuns.delete + * @desc Deletes the backup taken by a backup run. + * @alias sql.backupRuns.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The ID of the Backup Run to delete. To find a Backup Run ID, use the list method. + * @param {string} params.instance Cloud SQL instance ID. This does not include the project ID. + * @param {string} params.project Project ID of the project that contains the instance. + * @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?: Params$Resource$Backupruns$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Backupruns$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Backupruns$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * sql.backupRuns.get + * @desc Retrieves a resource containing information about a backup run. + * @alias sql.backupRuns.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The ID of this Backup Run. + * @param {string} params.instance Cloud SQL instance ID. This does not include the project ID. + * @param {string} params.project Project ID of the project that contains the instance. + * @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?: Params$Resource$Backupruns$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Backupruns$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Backupruns$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * sql.backupRuns.insert + * @desc Creates a new backup run on demand. This method is applicable only + * to Second Generation instances. + * @alias sql.backupRuns.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Cloud SQL instance ID. This does not include the project ID. + * @param {string} params.project Project ID of the project that contains the instance. + * @param {().BackupRun} 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?: Params$Resource$Backupruns$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Backupruns$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Backupruns$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * sql.backupRuns.list + * @desc Lists all backup runs associated with a given instance and + * configuration in the reverse chronological order of the backup initiation + * time. + * @alias sql.backupRuns.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Cloud SQL instance ID. This does not include the project ID. + * @param {integer=} params.maxResults Maximum number of backup runs per response. + * @param {string=} params.pageToken A previously-returned page token representing part of the larger set of results to view. + * @param {string} params.project Project ID of the project that contains the instance. + * @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?: Params$Resource$Backupruns$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Backupruns$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Backupruns$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Backupruns$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the Backup Run to delete. To find a Backup Run ID, use the list + * method. + */ + id?: string; + /** + * Cloud SQL instance ID. This does not include the project ID. + */ + instance?: string; + /** + * Project ID of the project that contains the instance. + */ + project?: string; + } + interface Params$Resource$Backupruns$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of this Backup Run. + */ + id?: string; + /** + * Cloud SQL instance ID. This does not include the project ID. + */ + instance?: string; + /** + * Project ID of the project that contains the instance. + */ + project?: string; + } + interface Params$Resource$Backupruns$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Cloud SQL instance ID. This does not include the project ID. + */ + instance?: string; + /** + * Project ID of the project that contains the instance. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BackupRun; + } + interface Params$Resource$Backupruns$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Cloud SQL instance ID. This does not include the project ID. + */ + instance?: string; + /** + * Maximum number of backup runs per response. + */ + maxResults?: number; + /** + * A previously-returned page token representing part of the larger set of + * results to view. + */ + pageToken?: string; + /** + * Project ID of the project that contains the instance. + */ + project?: string; + } + class Resource$Databases { + root: Sqladmin; + constructor(root: Sqladmin); + getRoot(): Sqladmin; + /** + * sql.databases.delete + * @desc Deletes a database from a Cloud SQL instance. + * @alias sql.databases.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.database Name of the database to be deleted in the instance. + * @param {string} params.instance Database instance ID. This does not include the project ID. + * @param {string} params.project Project ID of the project that contains the instance. + * @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?: Params$Resource$Databases$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Databases$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Databases$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * sql.databases.get + * @desc Retrieves a resource containing information about a database inside + * a Cloud SQL instance. + * @alias sql.databases.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.database Name of the database in the instance. + * @param {string} params.instance Database instance ID. This does not include the project ID. + * @param {string} params.project Project ID of the project that contains the instance. + * @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?: Params$Resource$Databases$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Databases$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Databases$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * sql.databases.insert + * @desc Inserts a resource containing information about a database inside a + * Cloud SQL instance. + * @alias sql.databases.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Database instance ID. This does not include the project ID. + * @param {string} params.project Project ID of the project that contains the instance. + * @param {().Database} 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?: Params$Resource$Databases$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Databases$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Databases$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * sql.databases.list + * @desc Lists databases in the specified Cloud SQL instance. + * @alias sql.databases.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Cloud SQL instance ID. This does not include the project ID. + * @param {string} params.project Project ID of the project that contains the instance. + * @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?: Params$Resource$Databases$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Databases$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Databases$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * sql.databases.patch + * @desc Updates a resource containing information about a database inside a + * Cloud SQL instance. This method supports patch semantics. + * @alias sql.databases.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.database Name of the database to be updated in the instance. + * @param {string} params.instance Database instance ID. This does not include the project ID. + * @param {string} params.project Project ID of the project that contains the instance. + * @param {().Database} 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 + */ + patch(params?: Params$Resource$Databases$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Databases$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Databases$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * sql.databases.update + * @desc Updates a resource containing information about a database inside a + * Cloud SQL instance. + * @alias sql.databases.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.database Name of the database to be updated in the instance. + * @param {string} params.instance Database instance ID. This does not include the project ID. + * @param {string} params.project Project ID of the project that contains the instance. + * @param {().Database} 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?: Params$Resource$Databases$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Databases$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Databases$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Databases$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the database to be deleted in the instance. + */ + database?: string; + /** + * Database instance ID. This does not include the project ID. + */ + instance?: string; + /** + * Project ID of the project that contains the instance. + */ + project?: string; + } + interface Params$Resource$Databases$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the database in the instance. + */ + database?: string; + /** + * Database instance ID. This does not include the project ID. + */ + instance?: string; + /** + * Project ID of the project that contains the instance. + */ + project?: string; + } + interface Params$Resource$Databases$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Database instance ID. This does not include the project ID. + */ + instance?: string; + /** + * Project ID of the project that contains the instance. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Database; + } + interface Params$Resource$Databases$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Cloud SQL instance ID. This does not include the project ID. + */ + instance?: string; + /** + * Project ID of the project that contains the instance. + */ + project?: string; + } + interface Params$Resource$Databases$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the database to be updated in the instance. + */ + database?: string; + /** + * Database instance ID. This does not include the project ID. + */ + instance?: string; + /** + * Project ID of the project that contains the instance. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Database; + } + interface Params$Resource$Databases$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the database to be updated in the instance. + */ + database?: string; + /** + * Database instance ID. This does not include the project ID. + */ + instance?: string; + /** + * Project ID of the project that contains the instance. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Database; + } + class Resource$Flags { + root: Sqladmin; + constructor(root: Sqladmin); + getRoot(): Sqladmin; + /** + * sql.flags.list + * @desc List all available database flags for Cloud SQL instances. + * @alias sql.flags.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {string=} params.databaseVersion Database type and version you want to retrieve flags for. By default, this method returns flags for all database types and versions. + * @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?: Params$Resource$Flags$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Flags$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Flags$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Flags$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Database type and version you want to retrieve flags for. By default, + * this method returns flags for all database types and versions. + */ + databaseVersion?: string; + } + class Resource$Instances { + root: Sqladmin; + constructor(root: Sqladmin); + getRoot(): Sqladmin; + /** + * sql.instances.addServerCa + * @desc Add a new trusted Certificate Authority (CA) version for the + * specified instance. Required to prepare for a certificate rotation. If a + * CA version was previously added but never used in a certificate rotation, + * this operation replaces that version. There cannot be more than one CA + * version waiting to be rotated in. + * @alias sql.instances.addServerCa + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Cloud SQL instance ID. This does not include the project ID. + * @param {string} params.project Project ID of the project that contains the instance. + * @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 + */ + addServerCa(params?: Params$Resource$Instances$Addserverca, options?: MethodOptions): AxiosPromise; + addServerCa(params: Params$Resource$Instances$Addserverca, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + addServerCa(params: Params$Resource$Instances$Addserverca, callback: BodyResponseCallback): void; + addServerCa(callback: BodyResponseCallback): void; + /** + * sql.instances.clone + * @desc Creates a Cloud SQL instance as a clone of the source instance. + * @alias sql.instances.clone + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance The ID of the Cloud SQL instance to be cloned (source). This does not include the project ID. + * @param {string} params.project Project ID of the source as well as the clone Cloud SQL instance. + * @param {().InstancesCloneRequest} 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 + */ + clone(params?: Params$Resource$Instances$Clone, options?: MethodOptions): AxiosPromise; + clone(params: Params$Resource$Instances$Clone, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + clone(params: Params$Resource$Instances$Clone, callback: BodyResponseCallback): void; + clone(callback: BodyResponseCallback): void; + /** + * sql.instances.delete + * @desc Deletes a Cloud SQL instance. + * @alias sql.instances.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Cloud SQL instance ID. This does not include the project ID. + * @param {string} params.project Project ID of the project that contains the instance to be deleted. + * @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?: Params$Resource$Instances$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Instances$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Instances$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * sql.instances.demoteMaster + * @desc Demotes the stand-alone instance to be a Cloud SQL read replica for + * an external database server. + * @alias sql.instances.demoteMaster + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Cloud SQL instance name. + * @param {string} params.project ID of the project that contains the instance. + * @param {().InstancesDemoteMasterRequest} 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 + */ + demoteMaster(params?: Params$Resource$Instances$Demotemaster, options?: MethodOptions): AxiosPromise; + demoteMaster(params: Params$Resource$Instances$Demotemaster, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + demoteMaster(params: Params$Resource$Instances$Demotemaster, callback: BodyResponseCallback): void; + demoteMaster(callback: BodyResponseCallback): void; + /** + * sql.instances.export + * @desc Exports data from a Cloud SQL instance to a Cloud Storage bucket as + * a SQL dump or CSV file. + * @alias sql.instances.export + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Cloud SQL instance ID. This does not include the project ID. + * @param {string} params.project Project ID of the project that contains the instance to be exported. + * @param {().InstancesExportRequest} 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 + */ + export(params?: Params$Resource$Instances$Export, options?: MethodOptions): AxiosPromise; + export(params: Params$Resource$Instances$Export, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + export(params: Params$Resource$Instances$Export, callback: BodyResponseCallback): void; + export(callback: BodyResponseCallback): void; + /** + * sql.instances.failover + * @desc Failover the instance to its failover replica instance. + * @alias sql.instances.failover + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Cloud SQL instance ID. This does not include the project ID. + * @param {string} params.project ID of the project that contains the read replica. + * @param {().InstancesFailoverRequest} 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 + */ + failover(params?: Params$Resource$Instances$Failover, options?: MethodOptions): AxiosPromise; + failover(params: Params$Resource$Instances$Failover, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + failover(params: Params$Resource$Instances$Failover, callback: BodyResponseCallback): void; + failover(callback: BodyResponseCallback): void; + /** + * sql.instances.get + * @desc Retrieves a resource containing information about a Cloud SQL + * instance. + * @alias sql.instances.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Database instance ID. This does not include the project ID. + * @param {string} params.project Project ID of the project that contains the instance. + * @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?: Params$Resource$Instances$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Instances$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Instances$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * sql.instances.import + * @desc Imports data into a Cloud SQL instance from a SQL dump or CSV file in + * Cloud Storage. + * @alias sql.instances.import + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Cloud SQL instance ID. This does not include the project ID. + * @param {string} params.project Project ID of the project that contains the instance. + * @param {().InstancesImportRequest} 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 + */ + import(params?: Params$Resource$Instances$Import, options?: MethodOptions): AxiosPromise; + import(params: Params$Resource$Instances$Import, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + import(params: Params$Resource$Instances$Import, callback: BodyResponseCallback): void; + import(callback: BodyResponseCallback): void; + /** + * sql.instances.insert + * @desc Creates a new Cloud SQL instance. + * @alias sql.instances.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID of the project to which the newly created Cloud SQL instances should belong. + * @param {().DatabaseInstance} 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?: Params$Resource$Instances$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Instances$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Instances$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * sql.instances.list + * @desc Lists instances under a given project in the alphabetical order of + * the instance name. + * @alias sql.instances.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter An expression for filtering the results of the request, such as by name or label. + * @param {integer=} params.maxResults The maximum number of results to return per response. + * @param {string=} params.pageToken A previously-returned page token representing part of the larger set of results to view. + * @param {string} params.project Project ID of the project for which to list Cloud SQL instances. + * @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?: Params$Resource$Instances$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Instances$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Instances$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * sql.instances.listServerCas + * @desc Lists all of the trusted Certificate Authorities (CAs) for the + * specified instance. There can be up to three CAs listed: the CA that was + * used to sign the certificate that is currently in use, a CA that has been + * added but not yet used to sign a certificate, and a CA used to sign a + * certificate that has previously rotated out. + * @alias sql.instances.listServerCas + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Cloud SQL instance ID. This does not include the project ID. + * @param {string} params.project Project ID of the project that contains the instance. + * @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 + */ + listServerCas(params?: Params$Resource$Instances$Listservercas, options?: MethodOptions): AxiosPromise; + listServerCas(params: Params$Resource$Instances$Listservercas, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + listServerCas(params: Params$Resource$Instances$Listservercas, callback: BodyResponseCallback): void; + listServerCas(callback: BodyResponseCallback): void; + /** + * sql.instances.patch + * @desc Updates settings of a Cloud SQL instance. Caution: This is not a + * partial update, so you must include values for all the settings that you + * want to retain. For partial updates, use patch.. This method supports + * patch semantics. + * @alias sql.instances.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Cloud SQL instance ID. This does not include the project ID. + * @param {string} params.project Project ID of the project that contains the instance. + * @param {().DatabaseInstance} 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 + */ + patch(params?: Params$Resource$Instances$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Instances$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Instances$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * sql.instances.promoteReplica + * @desc Promotes the read replica instance to be a stand-alone Cloud SQL + * instance. + * @alias sql.instances.promoteReplica + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Cloud SQL read replica instance name. + * @param {string} params.project ID of the project that contains the read replica. + * @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 + */ + promoteReplica(params?: Params$Resource$Instances$Promotereplica, options?: MethodOptions): AxiosPromise; + promoteReplica(params: Params$Resource$Instances$Promotereplica, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + promoteReplica(params: Params$Resource$Instances$Promotereplica, callback: BodyResponseCallback): void; + promoteReplica(callback: BodyResponseCallback): void; + /** + * sql.instances.resetSslConfig + * @desc Deletes all client certificates and generates a new server SSL + * certificate for the instance. + * @alias sql.instances.resetSslConfig + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Cloud SQL instance ID. This does not include the project ID. + * @param {string} params.project Project ID of the project that contains the instance. + * @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 + */ + resetSslConfig(params?: Params$Resource$Instances$Resetsslconfig, options?: MethodOptions): AxiosPromise; + resetSslConfig(params: Params$Resource$Instances$Resetsslconfig, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + resetSslConfig(params: Params$Resource$Instances$Resetsslconfig, callback: BodyResponseCallback): void; + resetSslConfig(callback: BodyResponseCallback): void; + /** + * sql.instances.restart + * @desc Restarts a Cloud SQL instance. + * @alias sql.instances.restart + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Cloud SQL instance ID. This does not include the project ID. + * @param {string} params.project Project ID of the project that contains the instance to be restarted. + * @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 + */ + restart(params?: Params$Resource$Instances$Restart, options?: MethodOptions): AxiosPromise; + restart(params: Params$Resource$Instances$Restart, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + restart(params: Params$Resource$Instances$Restart, callback: BodyResponseCallback): void; + restart(callback: BodyResponseCallback): void; + /** + * sql.instances.restoreBackup + * @desc Restores a backup of a Cloud SQL instance. + * @alias sql.instances.restoreBackup + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Cloud SQL instance ID. This does not include the project ID. + * @param {string} params.project Project ID of the project that contains the instance. + * @param {().InstancesRestoreBackupRequest} 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 + */ + restoreBackup(params?: Params$Resource$Instances$Restorebackup, options?: MethodOptions): AxiosPromise; + restoreBackup(params: Params$Resource$Instances$Restorebackup, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + restoreBackup(params: Params$Resource$Instances$Restorebackup, callback: BodyResponseCallback): void; + restoreBackup(callback: BodyResponseCallback): void; + /** + * sql.instances.rotateServerCa + * @desc Rotates the server certificate to one signed by the Certificate + * Authority (CA) version previously added with the addServerCA method. + * @alias sql.instances.rotateServerCa + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Cloud SQL instance ID. This does not include the project ID. + * @param {string} params.project Project ID of the project that contains the instance. + * @param {().InstancesRotateServerCaRequest} 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 + */ + rotateServerCa(params?: Params$Resource$Instances$Rotateserverca, options?: MethodOptions): AxiosPromise; + rotateServerCa(params: Params$Resource$Instances$Rotateserverca, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + rotateServerCa(params: Params$Resource$Instances$Rotateserverca, callback: BodyResponseCallback): void; + rotateServerCa(callback: BodyResponseCallback): void; + /** + * sql.instances.startReplica + * @desc Starts the replication in the read replica instance. + * @alias sql.instances.startReplica + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Cloud SQL read replica instance name. + * @param {string} params.project ID of the project that contains the read replica. + * @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 + */ + startReplica(params?: Params$Resource$Instances$Startreplica, options?: MethodOptions): AxiosPromise; + startReplica(params: Params$Resource$Instances$Startreplica, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + startReplica(params: Params$Resource$Instances$Startreplica, callback: BodyResponseCallback): void; + startReplica(callback: BodyResponseCallback): void; + /** + * sql.instances.stopReplica + * @desc Stops the replication in the read replica instance. + * @alias sql.instances.stopReplica + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Cloud SQL read replica instance name. + * @param {string} params.project ID of the project that contains the read replica. + * @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 + */ + stopReplica(params?: Params$Resource$Instances$Stopreplica, options?: MethodOptions): AxiosPromise; + stopReplica(params: Params$Resource$Instances$Stopreplica, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + stopReplica(params: Params$Resource$Instances$Stopreplica, callback: BodyResponseCallback): void; + stopReplica(callback: BodyResponseCallback): void; + /** + * sql.instances.truncateLog + * @desc Truncate MySQL general and slow query log tables + * @alias sql.instances.truncateLog + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Cloud SQL instance ID. This does not include the project ID. + * @param {string} params.project Project ID of the Cloud SQL project. + * @param {().InstancesTruncateLogRequest} 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 + */ + truncateLog(params?: Params$Resource$Instances$Truncatelog, options?: MethodOptions): AxiosPromise; + truncateLog(params: Params$Resource$Instances$Truncatelog, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + truncateLog(params: Params$Resource$Instances$Truncatelog, callback: BodyResponseCallback): void; + truncateLog(callback: BodyResponseCallback): void; + /** + * sql.instances.update + * @desc Updates settings of a Cloud SQL instance. Caution: This is not a + * partial update, so you must include values for all the settings that you + * want to retain. For partial updates, use patch. + * @alias sql.instances.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Cloud SQL instance ID. This does not include the project ID. + * @param {string} params.project Project ID of the project that contains the instance. + * @param {().DatabaseInstance} 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?: Params$Resource$Instances$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Instances$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Instances$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Instances$Addserverca { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Cloud SQL instance ID. This does not include the project ID. + */ + instance?: string; + /** + * Project ID of the project that contains the instance. + */ + project?: string; + } + interface Params$Resource$Instances$Clone { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the Cloud SQL instance to be cloned (source). This does not + * include the project ID. + */ + instance?: string; + /** + * Project ID of the source as well as the clone Cloud SQL instance. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstancesCloneRequest; + } + interface Params$Resource$Instances$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Cloud SQL instance ID. This does not include the project ID. + */ + instance?: string; + /** + * Project ID of the project that contains the instance to be deleted. + */ + project?: string; + } + interface Params$Resource$Instances$Demotemaster { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Cloud SQL instance name. + */ + instance?: string; + /** + * ID of the project that contains the instance. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstancesDemoteMasterRequest; + } + interface Params$Resource$Instances$Export { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Cloud SQL instance ID. This does not include the project ID. + */ + instance?: string; + /** + * Project ID of the project that contains the instance to be exported. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstancesExportRequest; + } + interface Params$Resource$Instances$Failover { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Cloud SQL instance ID. This does not include the project ID. + */ + instance?: string; + /** + * ID of the project that contains the read replica. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstancesFailoverRequest; + } + interface Params$Resource$Instances$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Database instance ID. This does not include the project ID. + */ + instance?: string; + /** + * Project ID of the project that contains the instance. + */ + project?: string; + } + interface Params$Resource$Instances$Import { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Cloud SQL instance ID. This does not include the project ID. + */ + instance?: string; + /** + * Project ID of the project that contains the instance. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstancesImportRequest; + } + interface Params$Resource$Instances$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID of the project to which the newly created Cloud SQL instances + * should belong. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DatabaseInstance; + } + interface Params$Resource$Instances$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * An expression for filtering the results of the request, such as by name + * or label. + */ + filter?: string; + /** + * The maximum number of results to return per response. + */ + maxResults?: number; + /** + * A previously-returned page token representing part of the larger set of + * results to view. + */ + pageToken?: string; + /** + * Project ID of the project for which to list Cloud SQL instances. + */ + project?: string; + } + interface Params$Resource$Instances$Listservercas { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Cloud SQL instance ID. This does not include the project ID. + */ + instance?: string; + /** + * Project ID of the project that contains the instance. + */ + project?: string; + } + interface Params$Resource$Instances$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Cloud SQL instance ID. This does not include the project ID. + */ + instance?: string; + /** + * Project ID of the project that contains the instance. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DatabaseInstance; + } + interface Params$Resource$Instances$Promotereplica { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Cloud SQL read replica instance name. + */ + instance?: string; + /** + * ID of the project that contains the read replica. + */ + project?: string; + } + interface Params$Resource$Instances$Resetsslconfig { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Cloud SQL instance ID. This does not include the project ID. + */ + instance?: string; + /** + * Project ID of the project that contains the instance. + */ + project?: string; + } + interface Params$Resource$Instances$Restart { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Cloud SQL instance ID. This does not include the project ID. + */ + instance?: string; + /** + * Project ID of the project that contains the instance to be restarted. + */ + project?: string; + } + interface Params$Resource$Instances$Restorebackup { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Cloud SQL instance ID. This does not include the project ID. + */ + instance?: string; + /** + * Project ID of the project that contains the instance. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstancesRestoreBackupRequest; + } + interface Params$Resource$Instances$Rotateserverca { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Cloud SQL instance ID. This does not include the project ID. + */ + instance?: string; + /** + * Project ID of the project that contains the instance. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstancesRotateServerCaRequest; + } + interface Params$Resource$Instances$Startreplica { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Cloud SQL read replica instance name. + */ + instance?: string; + /** + * ID of the project that contains the read replica. + */ + project?: string; + } + interface Params$Resource$Instances$Stopreplica { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Cloud SQL read replica instance name. + */ + instance?: string; + /** + * ID of the project that contains the read replica. + */ + project?: string; + } + interface Params$Resource$Instances$Truncatelog { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Cloud SQL instance ID. This does not include the project ID. + */ + instance?: string; + /** + * Project ID of the Cloud SQL project. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InstancesTruncateLogRequest; + } + interface Params$Resource$Instances$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Cloud SQL instance ID. This does not include the project ID. + */ + instance?: string; + /** + * Project ID of the project that contains the instance. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$DatabaseInstance; + } + class Resource$Operations { + root: Sqladmin; + constructor(root: Sqladmin); + getRoot(): Sqladmin; + /** + * sql.operations.get + * @desc Retrieves an instance operation that has been performed on an + * instance. + * @alias sql.operations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.operation Instance operation ID. + * @param {string} params.project Project ID of the project that contains the instance. + * @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?: Params$Resource$Operations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Operations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Operations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * sql.operations.list + * @desc Lists all instance operations that have been performed on the given + * Cloud SQL instance in the reverse chronological order of the start time. + * @alias sql.operations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Cloud SQL instance ID. This does not include the project ID. + * @param {integer=} params.maxResults Maximum number of operations per response. + * @param {string=} params.pageToken A previously-returned page token representing part of the larger set of results to view. + * @param {string} params.project Project ID of the project that contains the instance. + * @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?: Params$Resource$Operations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Operations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Operations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Operations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Instance operation ID. + */ + operation?: string; + /** + * Project ID of the project that contains the instance. + */ + project?: string; + } + interface Params$Resource$Operations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Cloud SQL instance ID. This does not include the project ID. + */ + instance?: string; + /** + * Maximum number of operations per response. + */ + maxResults?: number; + /** + * A previously-returned page token representing part of the larger set of + * results to view. + */ + pageToken?: string; + /** + * Project ID of the project that contains the instance. + */ + project?: string; + } + class Resource$Sslcerts { + root: Sqladmin; + constructor(root: Sqladmin); + getRoot(): Sqladmin; + /** + * sql.sslCerts.createEphemeral + * @desc Generates a short-lived X509 certificate containing the provided + * public key and signed by a private key specific to the target instance. + * Users may use the certificate to authenticate as themselves when + * connecting to the database. + * @alias sql.sslCerts.createEphemeral + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Cloud SQL instance ID. This does not include the project ID. + * @param {string} params.project Project ID of the Cloud SQL project. + * @param {().SslCertsCreateEphemeralRequest} 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 + */ + createEphemeral(params?: Params$Resource$Sslcerts$Createephemeral, options?: MethodOptions): AxiosPromise; + createEphemeral(params: Params$Resource$Sslcerts$Createephemeral, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + createEphemeral(params: Params$Resource$Sslcerts$Createephemeral, callback: BodyResponseCallback): void; + createEphemeral(callback: BodyResponseCallback): void; + /** + * sql.sslCerts.delete + * @desc Deletes the SSL certificate. For First Generation instances, the + * certificate remains valid until the instance is restarted. + * @alias sql.sslCerts.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Cloud SQL instance ID. This does not include the project ID. + * @param {string} params.project Project ID of the project that contains the instance. + * @param {string} params.sha1Fingerprint Sha1 FingerPrint. + * @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?: Params$Resource$Sslcerts$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Sslcerts$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Sslcerts$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * sql.sslCerts.get + * @desc Retrieves a particular SSL certificate. Does not include the + * private key (required for usage). The private key must be saved from the + * response to initial creation. + * @alias sql.sslCerts.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Cloud SQL instance ID. This does not include the project ID. + * @param {string} params.project Project ID of the project that contains the instance. + * @param {string} params.sha1Fingerprint Sha1 FingerPrint. + * @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?: Params$Resource$Sslcerts$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Sslcerts$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Sslcerts$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * sql.sslCerts.insert + * @desc Creates an SSL certificate and returns it along with the private + * key and server certificate authority. The new certificate will not be + * usable until the instance is restarted. + * @alias sql.sslCerts.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Cloud SQL instance ID. This does not include the project ID. + * @param {string} params.project Project ID of the project that contains the instance. + * @param {().SslCertsInsertRequest} 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?: Params$Resource$Sslcerts$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Sslcerts$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Sslcerts$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * sql.sslCerts.list + * @desc Lists all of the current SSL certificates for the instance. + * @alias sql.sslCerts.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Cloud SQL instance ID. This does not include the project ID. + * @param {string} params.project Project ID of the project that contains the instance. + * @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?: Params$Resource$Sslcerts$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Sslcerts$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Sslcerts$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Sslcerts$Createephemeral { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Cloud SQL instance ID. This does not include the project ID. + */ + instance?: string; + /** + * Project ID of the Cloud SQL project. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SslCertsCreateEphemeralRequest; + } + interface Params$Resource$Sslcerts$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Cloud SQL instance ID. This does not include the project ID. + */ + instance?: string; + /** + * Project ID of the project that contains the instance. + */ + project?: string; + /** + * Sha1 FingerPrint. + */ + sha1Fingerprint?: string; + } + interface Params$Resource$Sslcerts$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Cloud SQL instance ID. This does not include the project ID. + */ + instance?: string; + /** + * Project ID of the project that contains the instance. + */ + project?: string; + /** + * Sha1 FingerPrint. + */ + sha1Fingerprint?: string; + } + interface Params$Resource$Sslcerts$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Cloud SQL instance ID. This does not include the project ID. + */ + instance?: string; + /** + * Project ID of the project that contains the instance. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SslCertsInsertRequest; + } + interface Params$Resource$Sslcerts$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Cloud SQL instance ID. This does not include the project ID. + */ + instance?: string; + /** + * Project ID of the project that contains the instance. + */ + project?: string; + } + class Resource$Tiers { + root: Sqladmin; + constructor(root: Sqladmin); + getRoot(): Sqladmin; + /** + * sql.tiers.list + * @desc Lists all available machine types (tiers) for Cloud SQL, for + * example, db-n1-standard-1. For related information, see Pricing. + * @alias sql.tiers.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID of the project for which to list tiers. + * @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?: Params$Resource$Tiers$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Tiers$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Tiers$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Tiers$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID of the project for which to list tiers. + */ + project?: string; + } + class Resource$Users { + root: Sqladmin; + constructor(root: Sqladmin); + getRoot(): Sqladmin; + /** + * sql.users.delete + * @desc Deletes a user from a Cloud SQL instance. + * @alias sql.users.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.host Host of the user in the instance. + * @param {string} params.instance Database instance ID. This does not include the project ID. + * @param {string} params.name Name of the user in the instance. + * @param {string} params.project Project ID of the project that contains the instance. + * @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?: Params$Resource$Users$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Users$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Users$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * sql.users.insert + * @desc Creates a new user in a Cloud SQL instance. + * @alias sql.users.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Database instance ID. This does not include the project ID. + * @param {string} params.project Project ID of the project that contains the instance. + * @param {().User} 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?: Params$Resource$Users$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Users$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Users$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * sql.users.list + * @desc Lists users in the specified Cloud SQL instance. + * @alias sql.users.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Database instance ID. This does not include the project ID. + * @param {string} params.project Project ID of the project that contains the instance. + * @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?: Params$Resource$Users$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Users$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Users$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * sql.users.update + * @desc Updates an existing user in a Cloud SQL instance. + * @alias sql.users.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.host Host of the user in the instance. + * @param {string} params.instance Database instance ID. This does not include the project ID. + * @param {string} params.name Name of the user in the instance. + * @param {string} params.project Project ID of the project that contains the instance. + * @param {().User} 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?: Params$Resource$Users$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Users$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Users$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Users$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Host of the user in the instance. + */ + host?: string; + /** + * Database instance ID. This does not include the project ID. + */ + instance?: string; + /** + * Name of the user in the instance. + */ + name?: string; + /** + * Project ID of the project that contains the instance. + */ + project?: string; + } + interface Params$Resource$Users$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Database instance ID. This does not include the project ID. + */ + instance?: string; + /** + * Project ID of the project that contains the instance. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$User; + } + interface Params$Resource$Users$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Database instance ID. This does not include the project ID. + */ + instance?: string; + /** + * Project ID of the project that contains the instance. + */ + project?: string; + } + interface Params$Resource$Users$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Host of the user in the instance. + */ + host?: string; + /** + * Database instance ID. This does not include the project ID. + */ + instance?: string; + /** + * Name of the user in the instance. + */ + name?: string; + /** + * Project ID of the project that contains the instance. + */ + project?: string; + /** + * Request body metadata + */ + requestBody?: Schema$User; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/sqladmin/v1beta4.js b/express-server/node_modules/googleapis/build/src/apis/sqladmin/v1beta4.js new file mode 100644 index 00000000..3d22571a --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/sqladmin/v1beta4.js @@ -0,0 +1,1535 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var sqladmin_v1beta4; +(function (sqladmin_v1beta4) { + /** + * Cloud SQL Admin API + * + * Creates and manages Cloud SQL instances, which provide fully managed MySQL + * or PostgreSQL databases. + * + * @example + * const {google} = require('googleapis'); + * const sqladmin = google.sqladmin('v1beta4'); + * + * @namespace sqladmin + * @type {Function} + * @version v1beta4 + * @variation v1beta4 + * @param {object=} options Options for Sqladmin + */ + class Sqladmin { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.backupRuns = new Resource$Backupruns(this); + this.databases = new Resource$Databases(this); + this.flags = new Resource$Flags(this); + this.instances = new Resource$Instances(this); + this.operations = new Resource$Operations(this); + this.sslCerts = new Resource$Sslcerts(this); + this.tiers = new Resource$Tiers(this); + this.users = new Resource$Users(this); + } + getRoot() { + return this.root; + } + } + sqladmin_v1beta4.Sqladmin = Sqladmin; + class Resource$Backupruns { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/sql/v1beta4/projects/{project}/instances/{instance}/backupRuns/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'instance', 'id'], + pathParams: ['id', 'instance', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/sql/v1beta4/projects/{project}/instances/{instance}/backupRuns/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'instance', 'id'], + pathParams: ['id', 'instance', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/sql/v1beta4/projects/{project}/instances/{instance}/backupRuns') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'instance'], + pathParams: ['instance', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/sql/v1beta4/projects/{project}/instances/{instance}/backupRuns') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'instance'], + pathParams: ['instance', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + sqladmin_v1beta4.Resource$Backupruns = Resource$Backupruns; + class Resource$Databases { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/sql/v1beta4/projects/{project}/instances/{instance}/databases/{database}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'instance', 'database'], + pathParams: ['database', 'instance', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/sql/v1beta4/projects/{project}/instances/{instance}/databases/{database}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'instance', 'database'], + pathParams: ['database', 'instance', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/sql/v1beta4/projects/{project}/instances/{instance}/databases') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'instance'], + pathParams: ['instance', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/sql/v1beta4/projects/{project}/instances/{instance}/databases') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'instance'], + pathParams: ['instance', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/sql/v1beta4/projects/{project}/instances/{instance}/databases/{database}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'instance', 'database'], + pathParams: ['database', 'instance', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/sql/v1beta4/projects/{project}/instances/{instance}/databases/{database}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['project', 'instance', 'database'], + pathParams: ['database', 'instance', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + sqladmin_v1beta4.Resource$Databases = Resource$Databases; + class Resource$Flags { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/sql/v1beta4/flags') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + sqladmin_v1beta4.Resource$Flags = Resource$Flags; + class Resource$Instances { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + addServerCa(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/sql/v1beta4/projects/{project}/instances/{instance}/addServerCa') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'instance'], + pathParams: ['instance', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + clone(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/sql/v1beta4/projects/{project}/instances/{instance}/clone') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'instance'], + pathParams: ['instance', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/sql/v1beta4/projects/{project}/instances/{instance}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'instance'], + pathParams: ['instance', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + demoteMaster(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/sql/v1beta4/projects/{project}/instances/{instance}/demoteMaster') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'instance'], + pathParams: ['instance', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + export(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/sql/v1beta4/projects/{project}/instances/{instance}/export') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'instance'], + pathParams: ['instance', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + failover(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/sql/v1beta4/projects/{project}/instances/{instance}/failover') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'instance'], + pathParams: ['instance', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/sql/v1beta4/projects/{project}/instances/{instance}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'instance'], + pathParams: ['instance', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + import(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { options: Object.assign({ url: (rootUrl + '/sql/v1beta4/projects/{project}/instances/{instance}/import').replace(/([^:]\/)\/+/g, '$1'), method: 'POST' }, options), params, requiredParams: ['project', 'instance'], pathParams: ['instance', 'project'], context: this.getRoot() }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/sql/v1beta4/projects/{project}/instances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/sql/v1beta4/projects/{project}/instances') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + listServerCas(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/sql/v1beta4/projects/{project}/instances/{instance}/listServerCas') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'instance'], + pathParams: ['instance', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/sql/v1beta4/projects/{project}/instances/{instance}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['project', 'instance'], + pathParams: ['instance', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + promoteReplica(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/sql/v1beta4/projects/{project}/instances/{instance}/promoteReplica') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'instance'], + pathParams: ['instance', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + resetSslConfig(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/sql/v1beta4/projects/{project}/instances/{instance}/resetSslConfig') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'instance'], + pathParams: ['instance', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + restart(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/sql/v1beta4/projects/{project}/instances/{instance}/restart') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'instance'], + pathParams: ['instance', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + restoreBackup(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/sql/v1beta4/projects/{project}/instances/{instance}/restoreBackup') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'instance'], + pathParams: ['instance', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + rotateServerCa(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/sql/v1beta4/projects/{project}/instances/{instance}/rotateServerCa') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'instance'], + pathParams: ['instance', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + startReplica(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/sql/v1beta4/projects/{project}/instances/{instance}/startReplica') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'instance'], + pathParams: ['instance', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + stopReplica(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/sql/v1beta4/projects/{project}/instances/{instance}/stopReplica') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'instance'], + pathParams: ['instance', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + truncateLog(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/sql/v1beta4/projects/{project}/instances/{instance}/truncateLog') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'instance'], + pathParams: ['instance', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/sql/v1beta4/projects/{project}/instances/{instance}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['project', 'instance'], + pathParams: ['instance', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + sqladmin_v1beta4.Resource$Instances = Resource$Instances; + class Resource$Operations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/sql/v1beta4/projects/{project}/operations/{operation}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'operation'], + pathParams: ['operation', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/sql/v1beta4/projects/{project}/operations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'instance'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + sqladmin_v1beta4.Resource$Operations = Resource$Operations; + class Resource$Sslcerts { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + createEphemeral(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/sql/v1beta4/projects/{project}/instances/{instance}/createEphemeral') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'instance'], + pathParams: ['instance', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/sql/v1beta4/projects/{project}/instances/{instance}/sslCerts/{sha1Fingerprint}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'instance', 'sha1Fingerprint'], + pathParams: ['instance', 'project', 'sha1Fingerprint'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/sql/v1beta4/projects/{project}/instances/{instance}/sslCerts/{sha1Fingerprint}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'instance', 'sha1Fingerprint'], + pathParams: ['instance', 'project', 'sha1Fingerprint'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/sql/v1beta4/projects/{project}/instances/{instance}/sslCerts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'instance'], + pathParams: ['instance', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/sql/v1beta4/projects/{project}/instances/{instance}/sslCerts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'instance'], + pathParams: ['instance', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + sqladmin_v1beta4.Resource$Sslcerts = Resource$Sslcerts; + class Resource$Tiers { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/sql/v1beta4/projects/{project}/tiers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + sqladmin_v1beta4.Resource$Tiers = Resource$Tiers; + class Resource$Users { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/sql/v1beta4/projects/{project}/instances/{instance}/users') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['project', 'instance', 'host', 'name'], + pathParams: ['instance', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/sql/v1beta4/projects/{project}/instances/{instance}/users') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project', 'instance'], + pathParams: ['instance', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/sql/v1beta4/projects/{project}/instances/{instance}/users') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project', 'instance'], + pathParams: ['instance', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/sql/v1beta4/projects/{project}/instances/{instance}/users') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['project', 'instance', 'name'], + pathParams: ['instance', 'project'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + sqladmin_v1beta4.Resource$Users = Resource$Users; +})(sqladmin_v1beta4 = exports.sqladmin_v1beta4 || (exports.sqladmin_v1beta4 = {})); +//# sourceMappingURL=v1beta4.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/sqladmin/v1beta4.js.map b/express-server/node_modules/googleapis/build/src/apis/sqladmin/v1beta4.js.map new file mode 100644 index 00000000..f128e62e --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/sqladmin/v1beta4.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1beta4.js","sourceRoot":"","sources":["../../../../src/apis/sqladmin/v1beta4.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/storage/README.md b/express-server/node_modules/googleapis/build/src/apis/storage/README.md new file mode 100644 index 00000000..20b97753 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/storage/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/storage + +> Stores and retrieves potentially large, immutable data objects. + +## Installation + +```sh +$ npm install @google/storage +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/storage/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/storage/index.d.ts new file mode 100644 index 00000000..daeb32d1 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/storage/index.d.ts @@ -0,0 +1,14 @@ +import { storage_v1 } from './v1'; +import { storage_v1beta1 } from './v1beta1'; +import { storage_v1beta2 } from './v1beta2'; +export declare const VERSIONS: { + 'v1': typeof storage_v1.Storage; + 'v1beta1': typeof storage_v1beta1.Storage; + 'v1beta2': typeof storage_v1beta2.Storage; +}; +export declare function storage(version: 'v1'): storage_v1.Storage; +export declare function storage(options: storage_v1.Options): storage_v1.Storage; +export declare function storage(version: 'v1beta1'): storage_v1beta1.Storage; +export declare function storage(options: storage_v1beta1.Options): storage_v1beta1.Storage; +export declare function storage(version: 'v1beta2'): storage_v1beta2.Storage; +export declare function storage(options: storage_v1beta2.Options): storage_v1beta2.Storage; diff --git a/express-server/node_modules/googleapis/build/src/apis/storage/index.js b/express-server/node_modules/googleapis/build/src/apis/storage/index.js new file mode 100644 index 00000000..933aa862 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/storage/index.js @@ -0,0 +1,29 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +const v1beta1_1 = require("./v1beta1"); +const v1beta2_1 = require("./v1beta2"); +exports.VERSIONS = { + 'v1': v1_1.storage_v1.Storage, + 'v1beta1': v1beta1_1.storage_v1beta1.Storage, + 'v1beta2': v1beta2_1.storage_v1beta2.Storage, +}; +function storage(versionOrOptions) { + return googleapis_common_1.getAPI('storage', versionOrOptions, exports.VERSIONS, this); +} +exports.storage = storage; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/storage/index.js.map b/express-server/node_modules/googleapis/build/src/apis/storage/index.js.map new file mode 100644 index 00000000..c56a49e2 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/storage/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/storage/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAgC;AAChC,uCAA0C;AAC1C,uCAA0C;AAE7B,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,eAAU,CAAC,OAAO;IACxB,SAAS,EAAE,yBAAe,CAAC,OAAO;IAClC,SAAS,EAAE,yBAAe,CAAC,OAAO;CACnC,CAAC;AAUF,SAAgB,OAAO,CAGnB,gBACyD;IAC3D,OAAO,0BAAM,CAAI,SAAS,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAChE,CAAC;AAND,0BAMC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/storage/package.json b/express-server/node_modules/googleapis/build/src/apis/storage/package.json new file mode 100644 index 00000000..0edfd553 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/storage/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/storage", + "version": "0.1.0", + "description": "storage", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/storage/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/storage/v1.d.ts new file mode 100644 index 00000000..65c7fefc --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/storage/v1.d.ts @@ -0,0 +1,6114 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace storage_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Cloud Storage JSON API + * + * Stores and retrieves potentially large, immutable data objects. + * + * @example + * const {google} = require('googleapis'); + * const storage = google.storage('v1'); + * + * @namespace storage + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Storage + */ + class Storage { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + bucketAccessControls: Resource$Bucketaccesscontrols; + buckets: Resource$Buckets; + channels: Resource$Channels; + defaultObjectAccessControls: Resource$Defaultobjectaccesscontrols; + notifications: Resource$Notifications; + objectAccessControls: Resource$Objectaccesscontrols; + objects: Resource$Objects; + projects: Resource$Projects; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * A bucket. + */ + interface Schema$Bucket { + /** + * Access controls on the bucket. + */ + acl?: Schema$BucketAccessControl[]; + /** + * The bucket's billing configuration. + */ + billing?: any; + /** + * The bucket's Cross-Origin Resource Sharing (CORS) configuration. + */ + cors?: any[]; + /** + * The default value for event-based hold on newly created objects in this + * bucket. Event-based hold is a way to retain objects indefinitely until an + * event occurs, signified by the hold's release. After being released, + * such objects will be subject to bucket-level retention (if any). One + * sample use case of this flag is for banks to hold loan documents for at + * least 3 years after loan is paid in full. Here, bucket-level retention is + * 3 years and the event is loan being paid in full. In this example, these + * objects will be held intact for any number of years until the event has + * occurred (event-based hold on the object is released) and then 3 more + * years after that. That means retention duration of the objects begins + * from the moment event-based hold transitioned from true to false. Objects + * under event-based hold cannot be deleted, overwritten or archived until + * the hold is removed. + */ + defaultEventBasedHold?: boolean; + /** + * Default access controls to apply to new objects when no ACL is provided. + */ + defaultObjectAcl?: Schema$ObjectAccessControl[]; + /** + * Encryption configuration for a bucket. + */ + encryption?: any; + /** + * HTTP 1.1 Entity tag for the bucket. + */ + etag?: string; + /** + * The ID of the bucket. For buckets, the id and name properties are the + * same. + */ + id?: string; + /** + * The kind of item this is. For buckets, this is always storage#bucket. + */ + kind?: string; + /** + * User-provided labels, in key/value pairs. + */ + labels?: any; + /** + * The bucket's lifecycle configuration. See lifecycle management for + * more information. + */ + lifecycle?: any; + /** + * The location of the bucket. Object data for objects in the bucket resides + * in physical storage within this region. Defaults to US. See the + * developer's guide for the authoritative list. + */ + location?: string; + /** + * The bucket's logging configuration, which defines the destination + * bucket and optional name prefix for the current bucket's logs. + */ + logging?: any; + /** + * The metadata generation of this bucket. + */ + metageneration?: string; + /** + * The name of the bucket. + */ + name?: string; + /** + * The owner of the bucket. This is always the project team's owner + * group. + */ + owner?: any; + /** + * The project number of the project the bucket belongs to. + */ + projectNumber?: string; + /** + * The bucket's retention policy. The retention policy enforces a + * minimum retention time for all objects contained in the bucket, based on + * their creation time. Any attempt to overwrite or delete objects younger + * than the retention period will result in a PERMISSION_DENIED error. An + * unlocked retention policy can be modified or removed from the bucket via + * a storage.buckets.update operation. A locked retention policy cannot be + * removed or shortened in duration for the lifetime of the bucket. + * Attempting to remove or decrease period of a locked retention policy will + * result in a PERMISSION_DENIED error. + */ + retentionPolicy?: any; + /** + * The URI of this bucket. + */ + selfLink?: string; + /** + * The bucket's default storage class, used whenever no storageClass is + * specified for a newly-created object. This defines how objects in the + * bucket are stored and determines the SLA and the cost of storage. Values + * include MULTI_REGIONAL, REGIONAL, STANDARD, NEARLINE, COLDLINE, and + * DURABLE_REDUCED_AVAILABILITY. If this value is not specified when the + * bucket is created, it will default to STANDARD. For more information, see + * storage classes. + */ + storageClass?: string; + /** + * The creation time of the bucket in RFC 3339 format. + */ + timeCreated?: string; + /** + * The modification time of the bucket in RFC 3339 format. + */ + updated?: string; + /** + * The bucket's versioning configuration. + */ + versioning?: any; + /** + * The bucket's website configuration, controlling how the service + * behaves when accessing bucket contents as a web site. See the Static + * Website Examples for more information. + */ + website?: any; + } + /** + * An access-control entry. + */ + interface Schema$BucketAccessControl { + /** + * The name of the bucket. + */ + bucket?: string; + /** + * The domain associated with the entity, if any. + */ + domain?: string; + /** + * The email address associated with the entity, if any. + */ + email?: string; + /** + * The entity holding the permission, in one of the following forms: - + * user-userId - user-email - group-groupId - group-email - + * domain-domain - project-team-projectId - allUsers - + * allAuthenticatedUsers Examples: - The user liz@example.com would be + * user-liz@example.com. - The group example@googlegroups.com would be + * group-example@googlegroups.com. - To refer to all members of the Google + * Apps for Business domain example.com, the entity would be + * domain-example.com. + */ + entity?: string; + /** + * The ID for the entity, if any. + */ + entityId?: string; + /** + * HTTP 1.1 Entity tag for the access-control entry. + */ + etag?: string; + /** + * The ID of the access-control entry. + */ + id?: string; + /** + * The kind of item this is. For bucket access control entries, this is + * always storage#bucketAccessControl. + */ + kind?: string; + /** + * The project team associated with the entity, if any. + */ + projectTeam?: any; + /** + * The access permission for the entity. + */ + role?: string; + /** + * The link to this access-control entry. + */ + selfLink?: string; + } + /** + * An access-control list. + */ + interface Schema$BucketAccessControls { + /** + * The list of items. + */ + items?: Schema$BucketAccessControl[]; + /** + * The kind of item this is. For lists of bucket access control entries, + * this is always storage#bucketAccessControls. + */ + kind?: string; + } + /** + * A list of buckets. + */ + interface Schema$Buckets { + /** + * The list of items. + */ + items?: Schema$Bucket[]; + /** + * The kind of item this is. For lists of buckets, this is always + * storage#buckets. + */ + kind?: string; + /** + * The continuation token, used to page through large result sets. Provide + * this value in a subsequent request to return the next page of results. + */ + nextPageToken?: string; + } + /** + * An notification channel used to watch for resource changes. + */ + interface Schema$Channel { + /** + * The address where notifications are delivered for this channel. + */ + address?: string; + /** + * Date and time of notification channel expiration, expressed as a Unix + * timestamp, in milliseconds. Optional. + */ + expiration?: string; + /** + * A UUID or similar unique string that identifies this channel. + */ + id?: string; + /** + * Identifies this as a notification channel used to watch for changes to a + * resource. Value: the fixed string "api#channel". + */ + kind?: string; + /** + * Additional parameters controlling delivery channel behavior. Optional. + */ + params?: any; + /** + * A Boolean value to indicate whether payload is wanted. Optional. + */ + payload?: boolean; + /** + * An opaque ID that identifies the resource being watched on this channel. + * Stable across different API versions. + */ + resourceId?: string; + /** + * A version-specific identifier for the watched resource. + */ + resourceUri?: string; + /** + * An arbitrary string delivered to the target address with each + * notification delivered over this channel. Optional. + */ + token?: string; + /** + * The type of delivery mechanism used for this channel. + */ + type?: string; + } + /** + * A Compose request. + */ + interface Schema$ComposeRequest { + /** + * Properties of the resulting object. + */ + destination?: Schema$Object; + /** + * The kind of item this is. + */ + kind?: string; + /** + * The list of source objects that will be concatenated into a single + * object. + */ + sourceObjects?: any[]; + } + /** + * A subscription to receive Google PubSub notifications. + */ + interface Schema$Notification { + /** + * An optional list of additional attributes to attach to each Cloud PubSub + * message published for this notification subscription. + */ + custom_attributes?: any; + /** + * HTTP 1.1 Entity tag for this subscription notification. + */ + etag?: string; + /** + * If present, only send notifications about listed event types. If empty, + * sent notifications for all event types. + */ + event_types?: string[]; + /** + * The ID of the notification. + */ + id?: string; + /** + * The kind of item this is. For notifications, this is always + * storage#notification. + */ + kind?: string; + /** + * If present, only apply this notification configuration to object names + * that begin with this prefix. + */ + object_name_prefix?: string; + /** + * The desired content of the Payload. + */ + payload_format?: string; + /** + * The canonical URL of this notification. + */ + selfLink?: string; + /** + * The Cloud PubSub topic to which this subscription publishes. Formatted + * as: + * '//pubsub.googleapis.com/projects/{project-identifier}/topics/{my-topic}' + */ + topic?: string; + } + /** + * A list of notification subscriptions. + */ + interface Schema$Notifications { + /** + * The list of items. + */ + items?: Schema$Notification[]; + /** + * The kind of item this is. For lists of notifications, this is always + * storage#notifications. + */ + kind?: string; + } + /** + * An object. + */ + interface Schema$Object { + /** + * Access controls on the object. + */ + acl?: Schema$ObjectAccessControl[]; + /** + * The name of the bucket containing this object. + */ + bucket?: string; + /** + * Cache-Control directive for the object data. If omitted, and the object + * is accessible to all anonymous users, the default will be public, + * max-age=3600. + */ + cacheControl?: string; + /** + * Number of underlying components that make up this object. Components are + * accumulated by compose operations. + */ + componentCount?: number; + /** + * Content-Disposition of the object data. + */ + contentDisposition?: string; + /** + * Content-Encoding of the object data. + */ + contentEncoding?: string; + /** + * Content-Language of the object data. + */ + contentLanguage?: string; + /** + * Content-Type of the object data. If an object is stored without a + * Content-Type, it is served as application/octet-stream. + */ + contentType?: string; + /** + * CRC32c checksum, as described in RFC 4960, Appendix B; encoded using + * base64 in big-endian byte order. For more information about using the + * CRC32c checksum, see Hashes and ETags: Best Practices. + */ + crc32c?: string; + /** + * Metadata of customer-supplied encryption key, if the object is encrypted + * by such a key. + */ + customerEncryption?: any; + /** + * HTTP 1.1 Entity tag for the object. + */ + etag?: string; + /** + * Whether an object is under event-based hold. Event-based hold is a way to + * retain objects until an event occurs, which is signified by the + * hold's release (i.e. this value is set to false). After being + * released (set to false), such objects will be subject to bucket-level + * retention (if any). One sample use case of this flag is for banks to hold + * loan documents for at least 3 years after loan is paid in full. Here, + * bucket-level retention is 3 years and the event is the loan being paid in + * full. In this example, these objects will be held intact for any number + * of years until the event has occurred (event-based hold on the object is + * released) and then 3 more years after that. That means retention duration + * of the objects begins from the moment event-based hold transitioned from + * true to false. + */ + eventBasedHold?: boolean; + /** + * The content generation of this object. Used for object versioning. + */ + generation?: string; + /** + * The ID of the object, including the bucket name, object name, and + * generation number. + */ + id?: string; + /** + * The kind of item this is. For objects, this is always storage#object. + */ + kind?: string; + /** + * Cloud KMS Key used to encrypt this object, if the object is encrypted by + * such a key. + */ + kmsKeyName?: string; + /** + * MD5 hash of the data; encoded using base64. For more information about + * using the MD5 hash, see Hashes and ETags: Best Practices. + */ + md5Hash?: string; + /** + * Media download link. + */ + mediaLink?: string; + /** + * User-provided metadata, in key/value pairs. + */ + metadata?: any; + /** + * The version of the metadata for this object at this generation. Used for + * preconditions and for detecting changes in metadata. A metageneration + * number is only meaningful in the context of a particular generation of a + * particular object. + */ + metageneration?: string; + /** + * The name of the object. Required if not specified by URL parameter. + */ + name?: string; + /** + * The owner of the object. This will always be the uploader of the object. + */ + owner?: any; + /** + * A server-determined value that specifies the earliest time that the + * object's retention period expires. This value is in RFC 3339 format. + * Note 1: This field is not provided for objects with an active event-based + * hold, since retention expiration is unknown until the hold is removed. + * Note 2: This value can be provided even when temporary hold is set (so + * that the user can reason about policy without having to first unset the + * temporary hold). + */ + retentionExpirationTime?: string; + /** + * The link to this object. + */ + selfLink?: string; + /** + * Content-Length of the data in bytes. + */ + size?: string; + /** + * Storage class of the object. + */ + storageClass?: string; + /** + * Whether an object is under temporary hold. While this flag is set to + * true, the object is protected against deletion and overwrites. A common + * use case of this flag is regulatory investigations where objects need to + * be retained while the investigation is ongoing. Note that unlike + * event-based hold, temporary hold does not impact retention expiration + * time of an object. + */ + temporaryHold?: boolean; + /** + * The creation time of the object in RFC 3339 format. + */ + timeCreated?: string; + /** + * The deletion time of the object in RFC 3339 format. Will be returned if + * and only if this version of the object has been deleted. + */ + timeDeleted?: string; + /** + * The time at which the object's storage class was last changed. When + * the object is initially created, it will be set to timeCreated. + */ + timeStorageClassUpdated?: string; + /** + * The modification time of the object metadata in RFC 3339 format. + */ + updated?: string; + } + /** + * An access-control entry. + */ + interface Schema$ObjectAccessControl { + /** + * The name of the bucket. + */ + bucket?: string; + /** + * The domain associated with the entity, if any. + */ + domain?: string; + /** + * The email address associated with the entity, if any. + */ + email?: string; + /** + * The entity holding the permission, in one of the following forms: - + * user-userId - user-email - group-groupId - group-email - + * domain-domain - project-team-projectId - allUsers - + * allAuthenticatedUsers Examples: - The user liz@example.com would be + * user-liz@example.com. - The group example@googlegroups.com would be + * group-example@googlegroups.com. - To refer to all members of the Google + * Apps for Business domain example.com, the entity would be + * domain-example.com. + */ + entity?: string; + /** + * The ID for the entity, if any. + */ + entityId?: string; + /** + * HTTP 1.1 Entity tag for the access-control entry. + */ + etag?: string; + /** + * The content generation of the object, if applied to an object. + */ + generation?: string; + /** + * The ID of the access-control entry. + */ + id?: string; + /** + * The kind of item this is. For object access control entries, this is + * always storage#objectAccessControl. + */ + kind?: string; + /** + * The name of the object, if applied to an object. + */ + object?: string; + /** + * The project team associated with the entity, if any. + */ + projectTeam?: any; + /** + * The access permission for the entity. + */ + role?: string; + /** + * The link to this access-control entry. + */ + selfLink?: string; + } + /** + * An access-control list. + */ + interface Schema$ObjectAccessControls { + /** + * The list of items. + */ + items?: Schema$ObjectAccessControl[]; + /** + * The kind of item this is. For lists of object access control entries, + * this is always storage#objectAccessControls. + */ + kind?: string; + } + /** + * A list of objects. + */ + interface Schema$Objects { + /** + * The list of items. + */ + items?: Schema$Object[]; + /** + * The kind of item this is. For lists of objects, this is always + * storage#objects. + */ + kind?: string; + /** + * The continuation token, used to page through large result sets. Provide + * this value in a subsequent request to return the next page of results. + */ + nextPageToken?: string; + /** + * The list of prefixes of objects matching-but-not-listed up to and + * including the requested delimiter. + */ + prefixes?: string[]; + } + /** + * A bucket/object IAM policy. + */ + interface Schema$Policy { + /** + * An association between a role, which comes with a set of permissions, and + * members who may assume that role. + */ + bindings?: any[]; + /** + * HTTP 1.1 Entity tag for the policy. + */ + etag?: string; + /** + * The kind of item this is. For policies, this is always storage#policy. + * This field is ignored on input. + */ + kind?: string; + /** + * The ID of the resource to which this policy belongs. Will be of the form + * projects/_/buckets/bucket for buckets, and + * projects/_/buckets/bucket/objects/object for objects. A specific + * generation may be specified by appending #generationNumber to the end of + * the object name, e.g. projects/_/buckets/my-bucket/objects/data.txt#17. + * The current generation can be denoted with #0. This field is ignored on + * input. + */ + resourceId?: string; + } + /** + * A rewrite response. + */ + interface Schema$RewriteResponse { + /** + * true if the copy is finished; otherwise, false if the copy is in + * progress. This property is always present in the response. + */ + done?: boolean; + /** + * The kind of item this is. + */ + kind?: string; + /** + * The total size of the object being copied in bytes. This property is + * always present in the response. + */ + objectSize?: string; + /** + * A resource containing the metadata for the copied-to object. This + * property is present in the response only when copying completes. + */ + resource?: Schema$Object; + /** + * A token to use in subsequent requests to continue copying data. This + * token is present in the response only when there is more data to copy. + */ + rewriteToken?: string; + /** + * The total bytes written so far, which can be used to provide a waiting + * user with a progress indicator. This property is always present in the + * response. + */ + totalBytesRewritten?: string; + } + /** + * A subscription to receive Google PubSub notifications. + */ + interface Schema$ServiceAccount { + /** + * The ID of the notification. + */ + email_address?: string; + /** + * The kind of item this is. For notifications, this is always + * storage#notification. + */ + kind?: string; + } + /** + * A storage.(buckets|objects).testIamPermissions response. + */ + interface Schema$TestIamPermissionsResponse { + /** + * The kind of item this is. + */ + kind?: string; + /** + * The permissions held by the caller. Permissions are always of the format + * storage.resource.capability, where resource is one of buckets or objects. + * The supported permissions are as follows: - storage.buckets.delete — + * Delete bucket. - storage.buckets.get — Read bucket metadata. - + * storage.buckets.getIamPolicy — Read bucket IAM policy. - + * storage.buckets.create — Create bucket. - storage.buckets.list — List + * buckets. - storage.buckets.setIamPolicy — Update bucket IAM policy. - + * storage.buckets.update — Update bucket metadata. - + * storage.objects.delete — Delete object. - storage.objects.get — Read + * object data and metadata. - storage.objects.getIamPolicy — Read object + * IAM policy. - storage.objects.create — Create object. - + * storage.objects.list — List objects. - storage.objects.setIamPolicy — + * Update object IAM policy. - storage.objects.update — Update object + * metadata. + */ + permissions?: string[]; + } + class Resource$Bucketaccesscontrols { + root: Storage; + constructor(root: Storage); + getRoot(): Storage; + /** + * storage.bucketAccessControls.delete + * @desc Permanently deletes the ACL entry for the specified entity on the + * specified bucket. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Storage JSON API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storage + * // 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 storage = google.storage('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Name of a bucket. + * bucket: 'my-bucket', // TODO: Update placeholder value. + * + * // The entity holding the permission. Can be user-userId, + * user-emailAddress, group-groupId, + * // group-emailAddress, allUsers, or allAuthenticatedUsers. + * entity: 'my-entity', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * storage.bucketAccessControls.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 storage.bucketAccessControls.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string} params.entity The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + * @param {string=} params.userProject The project to be billed for this request. Required for Requester Pays buckets. + * @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?: Params$Resource$Bucketaccesscontrols$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Bucketaccesscontrols$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Bucketaccesscontrols$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * storage.bucketAccessControls.get + * @desc Returns the ACL entry for the specified entity on the specified + * bucket. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Storage JSON API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storage + * // 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 storage = google.storage('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Name of a bucket. + * bucket: 'my-bucket', // TODO: Update placeholder value. + * + * // The entity holding the permission. Can be user-userId, + * user-emailAddress, group-groupId, + * // group-emailAddress, allUsers, or allAuthenticatedUsers. + * entity: 'my-entity', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * storage.bucketAccessControls.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 storage.bucketAccessControls.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string} params.entity The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + * @param {string=} params.userProject The project to be billed for this request. Required for Requester Pays buckets. + * @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?: Params$Resource$Bucketaccesscontrols$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Bucketaccesscontrols$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Bucketaccesscontrols$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * storage.bucketAccessControls.insert + * @desc Creates a new ACL entry on the specified bucket. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Storage JSON API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storage + * // 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 storage = google.storage('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Name of a bucket. + * bucket: 'my-bucket', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * storage.bucketAccessControls.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 storage.bucketAccessControls.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string=} params.userProject The project to be billed for this request. Required for Requester Pays buckets. + * @param {().BucketAccessControl} 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?: Params$Resource$Bucketaccesscontrols$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Bucketaccesscontrols$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Bucketaccesscontrols$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * storage.bucketAccessControls.list + * @desc Retrieves ACL entries on the specified bucket. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Storage JSON API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storage + * // 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 storage = google.storage('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Name of a bucket. + * bucket: 'my-bucket', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * storage.bucketAccessControls.list(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 storage.bucketAccessControls.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string=} params.userProject The project to be billed for this request. Required for Requester Pays buckets. + * @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?: Params$Resource$Bucketaccesscontrols$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Bucketaccesscontrols$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Bucketaccesscontrols$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * storage.bucketAccessControls.patch + * @desc Patches an ACL entry on the specified bucket. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Storage JSON API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storage + * // 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 storage = google.storage('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Name of a bucket. + * bucket: 'my-bucket', // TODO: Update placeholder value. + * + * // The entity holding the permission. Can be user-userId, + * user-emailAddress, group-groupId, + * // group-emailAddress, allUsers, or allAuthenticatedUsers. + * entity: 'my-entity', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * storage.bucketAccessControls.patch(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 storage.bucketAccessControls.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string} params.entity The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + * @param {string=} params.userProject The project to be billed for this request. Required for Requester Pays buckets. + * @param {().BucketAccessControl} 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 + */ + patch(params?: Params$Resource$Bucketaccesscontrols$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Bucketaccesscontrols$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Bucketaccesscontrols$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * storage.bucketAccessControls.update + * @desc Updates an ACL entry on the specified bucket. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Storage JSON API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storage + * // 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 storage = google.storage('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Name of a bucket. + * bucket: 'my-bucket', // TODO: Update placeholder value. + * + * // The entity holding the permission. Can be user-userId, + * user-emailAddress, group-groupId, + * // group-emailAddress, allUsers, or allAuthenticatedUsers. + * entity: 'my-entity', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * storage.bucketAccessControls.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 storage.bucketAccessControls.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string} params.entity The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + * @param {string=} params.userProject The project to be billed for this request. Required for Requester Pays buckets. + * @param {().BucketAccessControl} 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?: Params$Resource$Bucketaccesscontrols$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Bucketaccesscontrols$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Bucketaccesscontrols$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Bucketaccesscontrols$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * The entity holding the permission. Can be user-userId, user-emailAddress, + * group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + */ + entity?: string; + /** + * The project to be billed for this request. Required for Requester Pays + * buckets. + */ + userProject?: string; + } + interface Params$Resource$Bucketaccesscontrols$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * The entity holding the permission. Can be user-userId, user-emailAddress, + * group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + */ + entity?: string; + /** + * The project to be billed for this request. Required for Requester Pays + * buckets. + */ + userProject?: string; + } + interface Params$Resource$Bucketaccesscontrols$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * The project to be billed for this request. Required for Requester Pays + * buckets. + */ + userProject?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BucketAccessControl; + } + interface Params$Resource$Bucketaccesscontrols$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * The project to be billed for this request. Required for Requester Pays + * buckets. + */ + userProject?: string; + } + interface Params$Resource$Bucketaccesscontrols$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * The entity holding the permission. Can be user-userId, user-emailAddress, + * group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + */ + entity?: string; + /** + * The project to be billed for this request. Required for Requester Pays + * buckets. + */ + userProject?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BucketAccessControl; + } + interface Params$Resource$Bucketaccesscontrols$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * The entity holding the permission. Can be user-userId, user-emailAddress, + * group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + */ + entity?: string; + /** + * The project to be billed for this request. Required for Requester Pays + * buckets. + */ + userProject?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BucketAccessControl; + } + class Resource$Buckets { + root: Storage; + constructor(root: Storage); + getRoot(): Storage; + /** + * storage.buckets.delete + * @desc Permanently deletes an empty bucket. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Storage JSON API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storage + * // 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 storage = google.storage('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Name of a bucket. + * bucket: 'my-bucket', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * storage.buckets.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 storage.buckets.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string=} params.ifMetagenerationMatch If set, only deletes the bucket if its metageneration matches this value. + * @param {string=} params.ifMetagenerationNotMatch If set, only deletes the bucket if its metageneration does not match this value. + * @param {string=} params.userProject The project to be billed for this request. Required for Requester Pays buckets. + * @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?: Params$Resource$Buckets$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Buckets$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Buckets$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * storage.buckets.get + * @desc Returns metadata for the specified bucket. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Storage JSON API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storage + * // 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 storage = google.storage('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Name of a bucket. + * bucket: 'my-bucket', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * storage.buckets.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 storage.buckets.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string=} params.ifMetagenerationMatch Makes the return of the bucket metadata conditional on whether the bucket's current metageneration matches the given value. + * @param {string=} params.ifMetagenerationNotMatch Makes the return of the bucket metadata conditional on whether the bucket's current metageneration does not match the given value. + * @param {string=} params.projection Set of properties to return. Defaults to noAcl. + * @param {string=} params.userProject The project to be billed for this request. Required for Requester Pays buckets. + * @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?: Params$Resource$Buckets$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Buckets$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Buckets$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * storage.buckets.getIamPolicy + * @desc Returns an IAM policy for the specified bucket. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Storage JSON API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storage + * // 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 storage = google.storage('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Name of a bucket. + * bucket: 'my-bucket', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * storage.buckets.getIamPolicy(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 storage.buckets.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string=} params.userProject The project to be billed for this request. Required for Requester Pays buckets. + * @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 + */ + getIamPolicy(params?: Params$Resource$Buckets$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Buckets$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Buckets$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * storage.buckets.insert + * @desc Creates a new bucket. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Storage JSON API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storage + * // 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 storage = google.storage('v1'); + * + * authorize(function(authClient) { + * var request = { + * // A valid API project identifier. + * project: '', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * storage.buckets.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 storage.buckets.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.predefinedAcl Apply a predefined set of access controls to this bucket. + * @param {string=} params.predefinedDefaultObjectAcl Apply a predefined set of default object access controls to this bucket. + * @param {string} params.project A valid API project identifier. + * @param {string=} params.projection Set of properties to return. Defaults to noAcl, unless the bucket resource specifies acl or defaultObjectAcl properties, when it defaults to full. + * @param {string=} params.userProject The project to be billed for this request. + * @param {().Bucket} 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?: Params$Resource$Buckets$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Buckets$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Buckets$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * storage.buckets.list + * @desc Retrieves a list of buckets for a given project. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Storage JSON API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storage + * // 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 storage = google.storage('v1'); + * + * authorize(function(authClient) { + * var request = { + * // A valid API project identifier. + * 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; + * storage.buckets.list(request, handlePage); + * } + * }; + * + * storage.buckets.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 storage.buckets.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.maxResults Maximum number of buckets to return in a single response. The service will use this parameter or 1,000 items, whichever is smaller. + * @param {string=} params.pageToken A previously-returned page token representing part of the larger set of results to view. + * @param {string=} params.prefix Filter results to buckets whose names begin with this prefix. + * @param {string} params.project A valid API project identifier. + * @param {string=} params.projection Set of properties to return. Defaults to noAcl. + * @param {string=} params.userProject The project to be billed for this request. + * @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?: Params$Resource$Buckets$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Buckets$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Buckets$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * storage.buckets.lockRetentionPolicy + * @desc Locks retention policy on a bucket. + * @alias storage.buckets.lockRetentionPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string} params.ifMetagenerationMatch Makes the operation conditional on whether bucket's current metageneration matches the given value. + * @param {string=} params.userProject The project to be billed for this request. Required for Requester Pays buckets. + * @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 + */ + lockRetentionPolicy(params?: Params$Resource$Buckets$Lockretentionpolicy, options?: MethodOptions): AxiosPromise; + lockRetentionPolicy(params: Params$Resource$Buckets$Lockretentionpolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + lockRetentionPolicy(params: Params$Resource$Buckets$Lockretentionpolicy, callback: BodyResponseCallback): void; + lockRetentionPolicy(callback: BodyResponseCallback): void; + /** + * storage.buckets.patch + * @desc Updates a bucket. Changes to the bucket will be readable + * immediately after writing, but configuration changes may take time to + * propagate. This method supports patch semantics. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Storage JSON API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storage + * // 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 storage = google.storage('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Name of a bucket. + * bucket: 'my-bucket', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * storage.buckets.patch(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 storage.buckets.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string=} params.ifMetagenerationMatch Makes the return of the bucket metadata conditional on whether the bucket's current metageneration matches the given value. + * @param {string=} params.ifMetagenerationNotMatch Makes the return of the bucket metadata conditional on whether the bucket's current metageneration does not match the given value. + * @param {string=} params.predefinedAcl Apply a predefined set of access controls to this bucket. + * @param {string=} params.predefinedDefaultObjectAcl Apply a predefined set of default object access controls to this bucket. + * @param {string=} params.projection Set of properties to return. Defaults to full. + * @param {string=} params.userProject The project to be billed for this request. Required for Requester Pays buckets. + * @param {().Bucket} 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 + */ + patch(params?: Params$Resource$Buckets$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Buckets$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Buckets$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * storage.buckets.setIamPolicy + * @desc Updates an IAM policy for the specified bucket. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Storage JSON API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storage + * // 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 storage = google.storage('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Name of a bucket. + * bucket: 'my-bucket', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * storage.buckets.setIamPolicy(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 storage.buckets.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string=} params.userProject The project to be billed for this request. Required for Requester Pays buckets. + * @param {().Policy} 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 + */ + setIamPolicy(params?: Params$Resource$Buckets$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Buckets$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Buckets$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * storage.buckets.testIamPermissions + * @desc Tests a set of permissions on the given bucket to see which, if + * any, are held by the caller. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Storage JSON API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storage + * // 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 storage = google.storage('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Name of a bucket. + * bucket: 'my-bucket', // TODO: Update placeholder value. + * + * // Permissions to test. + * permissions: [], // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * storage.buckets.testIamPermissions(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 storage.buckets.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string} params.permissions Permissions to test. + * @param {string=} params.userProject The project to be billed for this request. Required for Requester Pays buckets. + * @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 + */ + testIamPermissions(params?: Params$Resource$Buckets$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Buckets$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Buckets$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + /** + * storage.buckets.update + * @desc Updates a bucket. Changes to the bucket will be readable + * immediately after writing, but configuration changes may take time to + * propagate. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Storage JSON API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storage + * // 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 storage = google.storage('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Name of a bucket. + * bucket: 'my-bucket', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * storage.buckets.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 storage.buckets.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string=} params.ifMetagenerationMatch Makes the return of the bucket metadata conditional on whether the bucket's current metageneration matches the given value. + * @param {string=} params.ifMetagenerationNotMatch Makes the return of the bucket metadata conditional on whether the bucket's current metageneration does not match the given value. + * @param {string=} params.predefinedAcl Apply a predefined set of access controls to this bucket. + * @param {string=} params.predefinedDefaultObjectAcl Apply a predefined set of default object access controls to this bucket. + * @param {string=} params.projection Set of properties to return. Defaults to full. + * @param {string=} params.userProject The project to be billed for this request. Required for Requester Pays buckets. + * @param {().Bucket} 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?: Params$Resource$Buckets$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Buckets$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Buckets$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Buckets$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * If set, only deletes the bucket if its metageneration matches this value. + */ + ifMetagenerationMatch?: string; + /** + * If set, only deletes the bucket if its metageneration does not match this + * value. + */ + ifMetagenerationNotMatch?: string; + /** + * The project to be billed for this request. Required for Requester Pays + * buckets. + */ + userProject?: string; + } + interface Params$Resource$Buckets$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * Makes the return of the bucket metadata conditional on whether the + * bucket's current metageneration matches the given value. + */ + ifMetagenerationMatch?: string; + /** + * Makes the return of the bucket metadata conditional on whether the + * bucket's current metageneration does not match the given value. + */ + ifMetagenerationNotMatch?: string; + /** + * Set of properties to return. Defaults to noAcl. + */ + projection?: string; + /** + * The project to be billed for this request. Required for Requester Pays + * buckets. + */ + userProject?: string; + } + interface Params$Resource$Buckets$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * The project to be billed for this request. Required for Requester Pays + * buckets. + */ + userProject?: string; + } + interface Params$Resource$Buckets$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Apply a predefined set of access controls to this bucket. + */ + predefinedAcl?: string; + /** + * Apply a predefined set of default object access controls to this bucket. + */ + predefinedDefaultObjectAcl?: string; + /** + * A valid API project identifier. + */ + project?: string; + /** + * Set of properties to return. Defaults to noAcl, unless the bucket + * resource specifies acl or defaultObjectAcl properties, when it defaults + * to full. + */ + projection?: string; + /** + * The project to be billed for this request. + */ + userProject?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Bucket; + } + interface Params$Resource$Buckets$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Maximum number of buckets to return in a single response. The service + * will use this parameter or 1,000 items, whichever is smaller. + */ + maxResults?: number; + /** + * A previously-returned page token representing part of the larger set of + * results to view. + */ + pageToken?: string; + /** + * Filter results to buckets whose names begin with this prefix. + */ + prefix?: string; + /** + * A valid API project identifier. + */ + project?: string; + /** + * Set of properties to return. Defaults to noAcl. + */ + projection?: string; + /** + * The project to be billed for this request. + */ + userProject?: string; + } + interface Params$Resource$Buckets$Lockretentionpolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * Makes the operation conditional on whether bucket's current + * metageneration matches the given value. + */ + ifMetagenerationMatch?: string; + /** + * The project to be billed for this request. Required for Requester Pays + * buckets. + */ + userProject?: string; + } + interface Params$Resource$Buckets$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * Makes the return of the bucket metadata conditional on whether the + * bucket's current metageneration matches the given value. + */ + ifMetagenerationMatch?: string; + /** + * Makes the return of the bucket metadata conditional on whether the + * bucket's current metageneration does not match the given value. + */ + ifMetagenerationNotMatch?: string; + /** + * Apply a predefined set of access controls to this bucket. + */ + predefinedAcl?: string; + /** + * Apply a predefined set of default object access controls to this bucket. + */ + predefinedDefaultObjectAcl?: string; + /** + * Set of properties to return. Defaults to full. + */ + projection?: string; + /** + * The project to be billed for this request. Required for Requester Pays + * buckets. + */ + userProject?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Bucket; + } + interface Params$Resource$Buckets$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * The project to be billed for this request. Required for Requester Pays + * buckets. + */ + userProject?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Policy; + } + interface Params$Resource$Buckets$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * Permissions to test. + */ + permissions?: string; + /** + * The project to be billed for this request. Required for Requester Pays + * buckets. + */ + userProject?: string; + } + interface Params$Resource$Buckets$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * Makes the return of the bucket metadata conditional on whether the + * bucket's current metageneration matches the given value. + */ + ifMetagenerationMatch?: string; + /** + * Makes the return of the bucket metadata conditional on whether the + * bucket's current metageneration does not match the given value. + */ + ifMetagenerationNotMatch?: string; + /** + * Apply a predefined set of access controls to this bucket. + */ + predefinedAcl?: string; + /** + * Apply a predefined set of default object access controls to this bucket. + */ + predefinedDefaultObjectAcl?: string; + /** + * Set of properties to return. Defaults to full. + */ + projection?: string; + /** + * The project to be billed for this request. Required for Requester Pays + * buckets. + */ + userProject?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Bucket; + } + class Resource$Channels { + root: Storage; + constructor(root: Storage); + getRoot(): Storage; + /** + * storage.channels.stop + * @desc Stop watching resources through this channel + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Storage JSON API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storage + * // 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 storage = google.storage('v1'); + * + * authorize(function(authClient) { + * var request = { + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * storage.channels.stop(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 storage.channels.stop + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().Channel} 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 + */ + stop(params?: Params$Resource$Channels$Stop, options?: MethodOptions): AxiosPromise; + stop(params: Params$Resource$Channels$Stop, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + stop(params: Params$Resource$Channels$Stop, callback: BodyResponseCallback): void; + stop(callback: BodyResponseCallback): void; + } + interface Params$Resource$Channels$Stop { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$Channel; + } + class Resource$Defaultobjectaccesscontrols { + root: Storage; + constructor(root: Storage); + getRoot(): Storage; + /** + * storage.defaultObjectAccessControls.delete + * @desc Permanently deletes the default object ACL entry for the specified + * entity on the specified bucket. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Storage JSON API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storage + * // 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 storage = google.storage('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Name of a bucket. + * bucket: 'my-bucket', // TODO: Update placeholder value. + * + * // The entity holding the permission. Can be user-userId, + * user-emailAddress, group-groupId, + * // group-emailAddress, allUsers, or allAuthenticatedUsers. + * entity: 'my-entity', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * storage.defaultObjectAccessControls.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 storage.defaultObjectAccessControls.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string} params.entity The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + * @param {string=} params.userProject The project to be billed for this request. Required for Requester Pays buckets. + * @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?: Params$Resource$Defaultobjectaccesscontrols$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Defaultobjectaccesscontrols$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Defaultobjectaccesscontrols$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * storage.defaultObjectAccessControls.get + * @desc Returns the default object ACL entry for the specified entity on + * the specified bucket. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Storage JSON API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storage + * // 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 storage = google.storage('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Name of a bucket. + * bucket: 'my-bucket', // TODO: Update placeholder value. + * + * // The entity holding the permission. Can be user-userId, + * user-emailAddress, group-groupId, + * // group-emailAddress, allUsers, or allAuthenticatedUsers. + * entity: 'my-entity', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * storage.defaultObjectAccessControls.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 storage.defaultObjectAccessControls.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string} params.entity The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + * @param {string=} params.userProject The project to be billed for this request. Required for Requester Pays buckets. + * @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?: Params$Resource$Defaultobjectaccesscontrols$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Defaultobjectaccesscontrols$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Defaultobjectaccesscontrols$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * storage.defaultObjectAccessControls.insert + * @desc Creates a new default object ACL entry on the specified bucket. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Storage JSON API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storage + * // 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 storage = google.storage('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Name of a bucket. + * bucket: 'my-bucket', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * storage.defaultObjectAccessControls.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 storage.defaultObjectAccessControls.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string=} params.userProject The project to be billed for this request. Required for Requester Pays buckets. + * @param {().ObjectAccessControl} 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?: Params$Resource$Defaultobjectaccesscontrols$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Defaultobjectaccesscontrols$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Defaultobjectaccesscontrols$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * storage.defaultObjectAccessControls.list + * @desc Retrieves default object ACL entries on the specified bucket. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Storage JSON API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storage + * // 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 storage = google.storage('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Name of a bucket. + * bucket: 'my-bucket', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * storage.defaultObjectAccessControls.list(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 storage.defaultObjectAccessControls.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string=} params.ifMetagenerationMatch If present, only return default ACL listing if the bucket's current metageneration matches this value. + * @param {string=} params.ifMetagenerationNotMatch If present, only return default ACL listing if the bucket's current metageneration does not match the given value. + * @param {string=} params.userProject The project to be billed for this request. Required for Requester Pays buckets. + * @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?: Params$Resource$Defaultobjectaccesscontrols$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Defaultobjectaccesscontrols$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Defaultobjectaccesscontrols$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * storage.defaultObjectAccessControls.patch + * @desc Patches a default object ACL entry on the specified bucket. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Storage JSON API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storage + * // 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 storage = google.storage('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Name of a bucket. + * bucket: 'my-bucket', // TODO: Update placeholder value. + * + * // The entity holding the permission. Can be user-userId, + * user-emailAddress, group-groupId, + * // group-emailAddress, allUsers, or allAuthenticatedUsers. + * entity: 'my-entity', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * storage.defaultObjectAccessControls.patch(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 storage.defaultObjectAccessControls.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string} params.entity The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + * @param {string=} params.userProject The project to be billed for this request. Required for Requester Pays buckets. + * @param {().ObjectAccessControl} 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 + */ + patch(params?: Params$Resource$Defaultobjectaccesscontrols$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Defaultobjectaccesscontrols$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Defaultobjectaccesscontrols$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * storage.defaultObjectAccessControls.update + * @desc Updates a default object ACL entry on the specified bucket. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Storage JSON API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storage + * // 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 storage = google.storage('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Name of a bucket. + * bucket: 'my-bucket', // TODO: Update placeholder value. + * + * // The entity holding the permission. Can be user-userId, + * user-emailAddress, group-groupId, + * // group-emailAddress, allUsers, or allAuthenticatedUsers. + * entity: 'my-entity', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * storage.defaultObjectAccessControls.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 storage.defaultObjectAccessControls.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string} params.entity The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + * @param {string=} params.userProject The project to be billed for this request. Required for Requester Pays buckets. + * @param {().ObjectAccessControl} 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?: Params$Resource$Defaultobjectaccesscontrols$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Defaultobjectaccesscontrols$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Defaultobjectaccesscontrols$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Defaultobjectaccesscontrols$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * The entity holding the permission. Can be user-userId, user-emailAddress, + * group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + */ + entity?: string; + /** + * The project to be billed for this request. Required for Requester Pays + * buckets. + */ + userProject?: string; + } + interface Params$Resource$Defaultobjectaccesscontrols$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * The entity holding the permission. Can be user-userId, user-emailAddress, + * group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + */ + entity?: string; + /** + * The project to be billed for this request. Required for Requester Pays + * buckets. + */ + userProject?: string; + } + interface Params$Resource$Defaultobjectaccesscontrols$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * The project to be billed for this request. Required for Requester Pays + * buckets. + */ + userProject?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ObjectAccessControl; + } + interface Params$Resource$Defaultobjectaccesscontrols$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * If present, only return default ACL listing if the bucket's current + * metageneration matches this value. + */ + ifMetagenerationMatch?: string; + /** + * If present, only return default ACL listing if the bucket's current + * metageneration does not match the given value. + */ + ifMetagenerationNotMatch?: string; + /** + * The project to be billed for this request. Required for Requester Pays + * buckets. + */ + userProject?: string; + } + interface Params$Resource$Defaultobjectaccesscontrols$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * The entity holding the permission. Can be user-userId, user-emailAddress, + * group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + */ + entity?: string; + /** + * The project to be billed for this request. Required for Requester Pays + * buckets. + */ + userProject?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ObjectAccessControl; + } + interface Params$Resource$Defaultobjectaccesscontrols$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * The entity holding the permission. Can be user-userId, user-emailAddress, + * group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + */ + entity?: string; + /** + * The project to be billed for this request. Required for Requester Pays + * buckets. + */ + userProject?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ObjectAccessControl; + } + class Resource$Notifications { + root: Storage; + constructor(root: Storage); + getRoot(): Storage; + /** + * storage.notifications.delete + * @desc Permanently deletes a notification subscription. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Storage JSON API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storage + * // 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 storage = google.storage('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The parent bucket of the notification. + * bucket: 'my-bucket', // TODO: Update placeholder value. + * + * // ID of the notification to delete. + * notification: 'my-notification', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * storage.notifications.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 storage.notifications.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket The parent bucket of the notification. + * @param {string} params.notification ID of the notification to delete. + * @param {string=} params.userProject The project to be billed for this request. Required for Requester Pays buckets. + * @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?: Params$Resource$Notifications$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Notifications$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Notifications$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * storage.notifications.get + * @desc View a notification configuration. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Storage JSON API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storage + * // 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 storage = google.storage('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The parent bucket of the notification. + * bucket: 'my-bucket', // TODO: Update placeholder value. + * + * // Notification ID + * notification: 'my-notification', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * storage.notifications.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 storage.notifications.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket The parent bucket of the notification. + * @param {string} params.notification Notification ID + * @param {string=} params.userProject The project to be billed for this request. Required for Requester Pays buckets. + * @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?: Params$Resource$Notifications$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Notifications$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Notifications$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * storage.notifications.insert + * @desc Creates a notification subscription for a given bucket. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Storage JSON API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storage + * // 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 storage = google.storage('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The parent bucket of the notification. + * bucket: 'my-bucket', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * storage.notifications.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 storage.notifications.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket The parent bucket of the notification. + * @param {string=} params.userProject The project to be billed for this request. Required for Requester Pays buckets. + * @param {().Notification} 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?: Params$Resource$Notifications$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Notifications$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Notifications$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * storage.notifications.list + * @desc Retrieves a list of notification subscriptions for a given bucket. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Storage JSON API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storage + * // 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 storage = google.storage('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Name of a Google Cloud Storage bucket. + * bucket: 'my-bucket', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * storage.notifications.list(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 storage.notifications.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a Google Cloud Storage bucket. + * @param {string=} params.userProject The project to be billed for this request. Required for Requester Pays buckets. + * @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?: Params$Resource$Notifications$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Notifications$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Notifications$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Notifications$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The parent bucket of the notification. + */ + bucket?: string; + /** + * ID of the notification to delete. + */ + notification?: string; + /** + * The project to be billed for this request. Required for Requester Pays + * buckets. + */ + userProject?: string; + } + interface Params$Resource$Notifications$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The parent bucket of the notification. + */ + bucket?: string; + /** + * Notification ID + */ + notification?: string; + /** + * The project to be billed for this request. Required for Requester Pays + * buckets. + */ + userProject?: string; + } + interface Params$Resource$Notifications$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The parent bucket of the notification. + */ + bucket?: string; + /** + * The project to be billed for this request. Required for Requester Pays + * buckets. + */ + userProject?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Notification; + } + interface Params$Resource$Notifications$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a Google Cloud Storage bucket. + */ + bucket?: string; + /** + * The project to be billed for this request. Required for Requester Pays + * buckets. + */ + userProject?: string; + } + class Resource$Objectaccesscontrols { + root: Storage; + constructor(root: Storage); + getRoot(): Storage; + /** + * storage.objectAccessControls.delete + * @desc Permanently deletes the ACL entry for the specified entity on the + * specified object. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Storage JSON API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storage + * // 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 storage = google.storage('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Name of a bucket. + * bucket: 'my-bucket', // TODO: Update placeholder value. + * + * // Name of the object. For information about how to URL encode object + * names to be path safe, see + * // Encoding URI Path Parts. + * object: 'my-object', // TODO: Update placeholder value. + * + * // The entity holding the permission. Can be user-userId, + * user-emailAddress, group-groupId, + * // group-emailAddress, allUsers, or allAuthenticatedUsers. + * entity: 'my-entity', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * storage.objectAccessControls.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 storage.objectAccessControls.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string} params.entity The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + * @param {string=} params.generation If present, selects a specific revision of this object (as opposed to the latest version, the default). + * @param {string} params.object Name of the object. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts. + * @param {string=} params.userProject The project to be billed for this request. Required for Requester Pays buckets. + * @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?: Params$Resource$Objectaccesscontrols$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Objectaccesscontrols$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Objectaccesscontrols$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * storage.objectAccessControls.get + * @desc Returns the ACL entry for the specified entity on the specified + * object. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Storage JSON API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storage + * // 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 storage = google.storage('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Name of a bucket. + * bucket: 'my-bucket', // TODO: Update placeholder value. + * + * // Name of the object. For information about how to URL encode object + * names to be path safe, see + * // Encoding URI Path Parts. + * object: 'my-object', // TODO: Update placeholder value. + * + * // The entity holding the permission. Can be user-userId, + * user-emailAddress, group-groupId, + * // group-emailAddress, allUsers, or allAuthenticatedUsers. + * entity: 'my-entity', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * storage.objectAccessControls.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 storage.objectAccessControls.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string} params.entity The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + * @param {string=} params.generation If present, selects a specific revision of this object (as opposed to the latest version, the default). + * @param {string} params.object Name of the object. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts. + * @param {string=} params.userProject The project to be billed for this request. Required for Requester Pays buckets. + * @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?: Params$Resource$Objectaccesscontrols$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Objectaccesscontrols$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Objectaccesscontrols$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * storage.objectAccessControls.insert + * @desc Creates a new ACL entry on the specified object. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Storage JSON API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storage + * // 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 storage = google.storage('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Name of a bucket. + * bucket: 'my-bucket', // TODO: Update placeholder value. + * + * // Name of the object. For information about how to URL encode object + * names to be path safe, see + * // Encoding URI Path Parts. + * object: 'my-object', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * storage.objectAccessControls.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 storage.objectAccessControls.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string=} params.generation If present, selects a specific revision of this object (as opposed to the latest version, the default). + * @param {string} params.object Name of the object. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts. + * @param {string=} params.userProject The project to be billed for this request. Required for Requester Pays buckets. + * @param {().ObjectAccessControl} 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?: Params$Resource$Objectaccesscontrols$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Objectaccesscontrols$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Objectaccesscontrols$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * storage.objectAccessControls.list + * @desc Retrieves ACL entries on the specified object. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Storage JSON API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storage + * // 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 storage = google.storage('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Name of a bucket. + * bucket: 'my-bucket', // TODO: Update placeholder value. + * + * // Name of the object. For information about how to URL encode object + * names to be path safe, see + * // Encoding URI Path Parts. + * object: 'my-object', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * storage.objectAccessControls.list(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 storage.objectAccessControls.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string=} params.generation If present, selects a specific revision of this object (as opposed to the latest version, the default). + * @param {string} params.object Name of the object. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts. + * @param {string=} params.userProject The project to be billed for this request. Required for Requester Pays buckets. + * @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?: Params$Resource$Objectaccesscontrols$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Objectaccesscontrols$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Objectaccesscontrols$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * storage.objectAccessControls.patch + * @desc Patches an ACL entry on the specified object. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Storage JSON API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storage + * // 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 storage = google.storage('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Name of a bucket. + * bucket: 'my-bucket', // TODO: Update placeholder value. + * + * // Name of the object. For information about how to URL encode object + * names to be path safe, see + * // Encoding URI Path Parts. + * object: 'my-object', // TODO: Update placeholder value. + * + * // The entity holding the permission. Can be user-userId, + * user-emailAddress, group-groupId, + * // group-emailAddress, allUsers, or allAuthenticatedUsers. + * entity: 'my-entity', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * storage.objectAccessControls.patch(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 storage.objectAccessControls.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string} params.entity The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + * @param {string=} params.generation If present, selects a specific revision of this object (as opposed to the latest version, the default). + * @param {string} params.object Name of the object. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts. + * @param {string=} params.userProject The project to be billed for this request. Required for Requester Pays buckets. + * @param {().ObjectAccessControl} 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 + */ + patch(params?: Params$Resource$Objectaccesscontrols$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Objectaccesscontrols$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Objectaccesscontrols$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * storage.objectAccessControls.update + * @desc Updates an ACL entry on the specified object. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Storage JSON API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storage + * // 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 storage = google.storage('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Name of a bucket. + * bucket: 'my-bucket', // TODO: Update placeholder value. + * + * // Name of the object. For information about how to URL encode object + * names to be path safe, see + * // Encoding URI Path Parts. + * object: 'my-object', // TODO: Update placeholder value. + * + * // The entity holding the permission. Can be user-userId, + * user-emailAddress, group-groupId, + * // group-emailAddress, allUsers, or allAuthenticatedUsers. + * entity: 'my-entity', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * storage.objectAccessControls.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 storage.objectAccessControls.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string} params.entity The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + * @param {string=} params.generation If present, selects a specific revision of this object (as opposed to the latest version, the default). + * @param {string} params.object Name of the object. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts. + * @param {string=} params.userProject The project to be billed for this request. Required for Requester Pays buckets. + * @param {().ObjectAccessControl} 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?: Params$Resource$Objectaccesscontrols$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Objectaccesscontrols$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Objectaccesscontrols$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Objectaccesscontrols$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * The entity holding the permission. Can be user-userId, user-emailAddress, + * group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + */ + entity?: string; + /** + * If present, selects a specific revision of this object (as opposed to the + * latest version, the default). + */ + generation?: string; + /** + * Name of the object. For information about how to URL encode object names + * to be path safe, see Encoding URI Path Parts. + */ + object?: string; + /** + * The project to be billed for this request. Required for Requester Pays + * buckets. + */ + userProject?: string; + } + interface Params$Resource$Objectaccesscontrols$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * The entity holding the permission. Can be user-userId, user-emailAddress, + * group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + */ + entity?: string; + /** + * If present, selects a specific revision of this object (as opposed to the + * latest version, the default). + */ + generation?: string; + /** + * Name of the object. For information about how to URL encode object names + * to be path safe, see Encoding URI Path Parts. + */ + object?: string; + /** + * The project to be billed for this request. Required for Requester Pays + * buckets. + */ + userProject?: string; + } + interface Params$Resource$Objectaccesscontrols$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * If present, selects a specific revision of this object (as opposed to the + * latest version, the default). + */ + generation?: string; + /** + * Name of the object. For information about how to URL encode object names + * to be path safe, see Encoding URI Path Parts. + */ + object?: string; + /** + * The project to be billed for this request. Required for Requester Pays + * buckets. + */ + userProject?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ObjectAccessControl; + } + interface Params$Resource$Objectaccesscontrols$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * If present, selects a specific revision of this object (as opposed to the + * latest version, the default). + */ + generation?: string; + /** + * Name of the object. For information about how to URL encode object names + * to be path safe, see Encoding URI Path Parts. + */ + object?: string; + /** + * The project to be billed for this request. Required for Requester Pays + * buckets. + */ + userProject?: string; + } + interface Params$Resource$Objectaccesscontrols$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * The entity holding the permission. Can be user-userId, user-emailAddress, + * group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + */ + entity?: string; + /** + * If present, selects a specific revision of this object (as opposed to the + * latest version, the default). + */ + generation?: string; + /** + * Name of the object. For information about how to URL encode object names + * to be path safe, see Encoding URI Path Parts. + */ + object?: string; + /** + * The project to be billed for this request. Required for Requester Pays + * buckets. + */ + userProject?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ObjectAccessControl; + } + interface Params$Resource$Objectaccesscontrols$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * The entity holding the permission. Can be user-userId, user-emailAddress, + * group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + */ + entity?: string; + /** + * If present, selects a specific revision of this object (as opposed to the + * latest version, the default). + */ + generation?: string; + /** + * Name of the object. For information about how to URL encode object names + * to be path safe, see Encoding URI Path Parts. + */ + object?: string; + /** + * The project to be billed for this request. Required for Requester Pays + * buckets. + */ + userProject?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ObjectAccessControl; + } + class Resource$Objects { + root: Storage; + constructor(root: Storage); + getRoot(): Storage; + /** + * storage.objects.compose + * @desc Concatenates a list of existing objects into a new object in the + * same bucket. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Storage JSON API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storage + * // 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 storage = google.storage('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Name of the bucket in which to store the new object. + * destinationBucket: 'my-destination-bucket', // TODO: Update + * placeholder value. + * + * // Name of the new object. For information about how to URL encode + * object names to be path safe, see + * // Encoding URI Path Parts. + * destinationObject: 'my-destination-object', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * storage.objects.compose(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 storage.objects.compose + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.destinationBucket Name of the bucket containing the source objects. The destination object is stored in this bucket. + * @param {string} params.destinationObject Name of the new object. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts. + * @param {string=} params.destinationPredefinedAcl Apply a predefined set of access controls to the destination object. + * @param {string=} params.ifGenerationMatch Makes the operation conditional on whether the object's current generation matches the given value. Setting to 0 makes the operation succeed only if there are no live versions of the object. + * @param {string=} params.ifMetagenerationMatch Makes the operation conditional on whether the object's current metageneration matches the given value. + * @param {string=} params.kmsKeyName Resource name of the Cloud KMS key, of the form projects/my-project/locations/global/keyRings/my-kr/cryptoKeys/my-key, that will be used to encrypt the object. Overrides the object metadata's kms_key_name value, if any. + * @param {string=} params.userProject The project to be billed for this request. Required for Requester Pays buckets. + * @param {().ComposeRequest} 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 + */ + compose(params?: Params$Resource$Objects$Compose, options?: MethodOptions): AxiosPromise; + compose(params: Params$Resource$Objects$Compose, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + compose(params: Params$Resource$Objects$Compose, callback: BodyResponseCallback): void; + compose(callback: BodyResponseCallback): void; + /** + * storage.objects.copy + * @desc Copies a source object to a destination object. Optionally + * overrides metadata. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Storage JSON API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storage + * // 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 storage = google.storage('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Name of the bucket in which to find the source object. + * sourceBucket: 'my-source-bucket', // TODO: Update placeholder value. + * + * // Name of the source object. For information about how to URL encode + * object names to be path safe, + * // see Encoding URI Path Parts. + * sourceObject: 'my-source-object', // TODO: Update placeholder value. + * + * // Name of the bucket in which to store the new object. Overrides the + * provided object metadata's + * // bucket value, if any.For information about how to URL encode + * object names to be path safe, see + * // Encoding URI Path Parts. + * destinationBucket: 'my-destination-bucket', // TODO: Update + * placeholder value. + * + * // Name of the new object. Required when the object metadata is not + * otherwise provided. Overrides the + * // object metadata's name value, if any. + * destinationObject: 'my-destination-object', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * storage.objects.copy(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 storage.objects.copy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.destinationBucket Name of the bucket in which to store the new object. Overrides the provided object metadata's bucket value, if any.For information about how to URL encode object names to be path safe, see Encoding URI Path Parts. + * @param {string} params.destinationObject Name of the new object. Required when the object metadata is not otherwise provided. Overrides the object metadata's name value, if any. + * @param {string=} params.destinationPredefinedAcl Apply a predefined set of access controls to the destination object. + * @param {string=} params.ifGenerationMatch Makes the operation conditional on whether the destination object's current generation matches the given value. Setting to 0 makes the operation succeed only if there are no live versions of the object. + * @param {string=} params.ifGenerationNotMatch Makes the operation conditional on whether the destination object's current generation does not match the given value. If no live object exists, the precondition fails. Setting to 0 makes the operation succeed only if there is a live version of the object. + * @param {string=} params.ifMetagenerationMatch Makes the operation conditional on whether the destination object's current metageneration matches the given value. + * @param {string=} params.ifMetagenerationNotMatch Makes the operation conditional on whether the destination object's current metageneration does not match the given value. + * @param {string=} params.ifSourceGenerationMatch Makes the operation conditional on whether the source object's current generation matches the given value. + * @param {string=} params.ifSourceGenerationNotMatch Makes the operation conditional on whether the source object's current generation does not match the given value. + * @param {string=} params.ifSourceMetagenerationMatch Makes the operation conditional on whether the source object's current metageneration matches the given value. + * @param {string=} params.ifSourceMetagenerationNotMatch Makes the operation conditional on whether the source object's current metageneration does not match the given value. + * @param {string=} params.projection Set of properties to return. Defaults to noAcl, unless the object resource specifies the acl property, when it defaults to full. + * @param {string} params.sourceBucket Name of the bucket in which to find the source object. + * @param {string=} params.sourceGeneration If present, selects a specific revision of the source object (as opposed to the latest version, the default). + * @param {string} params.sourceObject Name of the source object. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts. + * @param {string=} params.userProject The project to be billed for this request. Required for Requester Pays buckets. + * @param {().Object} 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 + */ + copy(params?: Params$Resource$Objects$Copy, options?: MethodOptions): AxiosPromise; + copy(params: Params$Resource$Objects$Copy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + copy(params: Params$Resource$Objects$Copy, callback: BodyResponseCallback): void; + copy(callback: BodyResponseCallback): void; + /** + * storage.objects.delete + * @desc Deletes an object and its metadata. Deletions are permanent if + * versioning is not enabled for the bucket, or if the generation parameter + * is used. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Storage JSON API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storage + * // 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 storage = google.storage('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Name of the bucket in which the object resides. + * bucket: 'my-bucket', // TODO: Update placeholder value. + * + * // Name of the object. For information about how to URL encode object + * names to be path safe, see + * // Encoding URI Path Parts. + * object: 'my-object', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * storage.objects.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 storage.objects.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of the bucket in which the object resides. + * @param {string=} params.generation If present, permanently deletes a specific revision of this object (as opposed to the latest version, the default). + * @param {string=} params.ifGenerationMatch Makes the operation conditional on whether the object's current generation matches the given value. Setting to 0 makes the operation succeed only if there are no live versions of the object. + * @param {string=} params.ifGenerationNotMatch Makes the operation conditional on whether the object's current generation does not match the given value. If no live object exists, the precondition fails. Setting to 0 makes the operation succeed only if there is a live version of the object. + * @param {string=} params.ifMetagenerationMatch Makes the operation conditional on whether the object's current metageneration matches the given value. + * @param {string=} params.ifMetagenerationNotMatch Makes the operation conditional on whether the object's current metageneration does not match the given value. + * @param {string} params.object Name of the object. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts. + * @param {string=} params.userProject The project to be billed for this request. Required for Requester Pays buckets. + * @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?: Params$Resource$Objects$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Objects$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Objects$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * storage.objects.get + * @desc Retrieves an object or its metadata. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Storage JSON API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storage + * // 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 storage = google.storage('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Name of the bucket in which the object resides. + * bucket: 'my-bucket', // TODO: Update placeholder value. + * + * // Name of the object. For information about how to URL encode object + * names to be path safe, see + * // Encoding URI Path Parts. + * object: 'my-object', // TODO: Update placeholder value. + * + * // TODO: To download media content, use: + * // + * // alt: 'media', + * + * auth: authClient, + * }; + * + * storage.objects.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 storage.objects.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of the bucket in which the object resides. + * @param {string=} params.generation If present, selects a specific revision of this object (as opposed to the latest version, the default). + * @param {string=} params.ifGenerationMatch Makes the operation conditional on whether the object's current generation matches the given value. Setting to 0 makes the operation succeed only if there are no live versions of the object. + * @param {string=} params.ifGenerationNotMatch Makes the operation conditional on whether the object's current generation does not match the given value. If no live object exists, the precondition fails. Setting to 0 makes the operation succeed only if there is a live version of the object. + * @param {string=} params.ifMetagenerationMatch Makes the operation conditional on whether the object's current metageneration matches the given value. + * @param {string=} params.ifMetagenerationNotMatch Makes the operation conditional on whether the object's current metageneration does not match the given value. + * @param {string} params.object Name of the object. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts. + * @param {string=} params.projection Set of properties to return. Defaults to noAcl. + * @param {string=} params.userProject The project to be billed for this request. Required for Requester Pays buckets. + * @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?: Params$Resource$Objects$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Objects$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Objects$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * storage.objects.getIamPolicy + * @desc Returns an IAM policy for the specified object. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Storage JSON API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storage + * // 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 storage = google.storage('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Name of the bucket in which the object resides. + * bucket: 'my-bucket', // TODO: Update placeholder value. + * + * // Name of the object. For information about how to URL encode object + * names to be path safe, see + * // Encoding URI Path Parts. + * object: 'my-object', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * storage.objects.getIamPolicy(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 storage.objects.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of the bucket in which the object resides. + * @param {string=} params.generation If present, selects a specific revision of this object (as opposed to the latest version, the default). + * @param {string} params.object Name of the object. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts. + * @param {string=} params.userProject The project to be billed for this request. Required for Requester Pays buckets. + * @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 + */ + getIamPolicy(params?: Params$Resource$Objects$Getiampolicy, options?: MethodOptions): AxiosPromise; + getIamPolicy(params: Params$Resource$Objects$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getIamPolicy(params: Params$Resource$Objects$Getiampolicy, callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + /** + * storage.objects.insert + * @desc Stores a new object and metadata. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Storage JSON API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storage + * // 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 storage = google.storage('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Name of the bucket in which to store the new object. Overrides the + * provided object metadata's + * // bucket value, if any. + * bucket: 'my-bucket', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * media: { + * // TODO: Add desired media content for upload. See + * // https://github.com/google/google-api-nodejs-client#media-uploads + * mimeType: '', // See + * https://www.w3.org/Protocols/rfc1341/4_Content-Type.html body: '', + * }, + * + * auth: authClient, + * }; + * + * storage.objects.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 storage.objects.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of the bucket in which to store the new object. Overrides the provided object metadata's bucket value, if any. + * @param {string=} params.contentEncoding If set, sets the contentEncoding property of the final object to this value. Setting this parameter is equivalent to setting the contentEncoding metadata property. This can be useful when uploading an object with uploadType=media to indicate the encoding of the content being uploaded. + * @param {string=} params.ifGenerationMatch Makes the operation conditional on whether the object's current generation matches the given value. Setting to 0 makes the operation succeed only if there are no live versions of the object. + * @param {string=} params.ifGenerationNotMatch Makes the operation conditional on whether the object's current generation does not match the given value. If no live object exists, the precondition fails. Setting to 0 makes the operation succeed only if there is a live version of the object. + * @param {string=} params.ifMetagenerationMatch Makes the operation conditional on whether the object's current metageneration matches the given value. + * @param {string=} params.ifMetagenerationNotMatch Makes the operation conditional on whether the object's current metageneration does not match the given value. + * @param {string=} params.kmsKeyName Resource name of the Cloud KMS key, of the form projects/my-project/locations/global/keyRings/my-kr/cryptoKeys/my-key, that will be used to encrypt the object. Overrides the object metadata's kms_key_name value, if any. + * @param {string=} params.name Name of the object. Required when the object metadata is not otherwise provided. Overrides the object metadata's name value, if any. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts. + * @param {string=} params.predefinedAcl Apply a predefined set of access controls to this object. + * @param {string=} params.projection Set of properties to return. Defaults to noAcl, unless the object resource specifies the acl property, when it defaults to full. + * @param {string=} params.userProject The project to be billed for this request. Required for Requester Pays buckets. + * @param {object} params.resource Media resource metadata + * @param {object} params.media Media object + * @param {string} params.media.mimeType Media mime-type + * @param {string|object} params.media.body Media body contents + * @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?: Params$Resource$Objects$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Objects$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Objects$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * storage.objects.list + * @desc Retrieves a list of objects matching the criteria. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Storage JSON API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storage + * // 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 storage = google.storage('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Name of the bucket in which to look for objects. + * bucket: 'my-bucket', // 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; + * storage.objects.list(request, handlePage); + * } + * }; + * + * storage.objects.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 storage.objects.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of the bucket in which to look for objects. + * @param {string=} params.delimiter Returns results in a directory-like mode. items will contain only objects whose names, aside from the prefix, do not contain delimiter. Objects whose names, aside from the prefix, contain delimiter will have their name, truncated after the delimiter, returned in prefixes. Duplicate prefixes are omitted. + * @param {boolean=} params.includeTrailingDelimiter If true, objects that end in exactly one instance of delimiter will have their metadata included in items in addition to prefixes. + * @param {integer=} params.maxResults Maximum number of items plus prefixes to return in a single page of responses. As duplicate prefixes are omitted, fewer total results may be returned than requested. The service will use this parameter or 1,000 items, whichever is smaller. + * @param {string=} params.pageToken A previously-returned page token representing part of the larger set of results to view. + * @param {string=} params.prefix Filter results to objects whose names begin with this prefix. + * @param {string=} params.projection Set of properties to return. Defaults to noAcl. + * @param {string=} params.userProject The project to be billed for this request. Required for Requester Pays buckets. + * @param {boolean=} params.versions If true, lists all versions of an object as distinct results. The default is false. For more information, see Object Versioning. + * @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?: Params$Resource$Objects$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Objects$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Objects$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * storage.objects.patch + * @desc Patches an object's metadata. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Storage JSON API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storage + * // 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 storage = google.storage('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Name of the bucket in which the object resides. + * bucket: 'my-bucket', // TODO: Update placeholder value. + * + * // Name of the object. For information about how to URL encode object + * names to be path safe, see + * // Encoding URI Path Parts. + * object: 'my-object', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * storage.objects.patch(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 storage.objects.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of the bucket in which the object resides. + * @param {string=} params.generation If present, selects a specific revision of this object (as opposed to the latest version, the default). + * @param {string=} params.ifGenerationMatch Makes the operation conditional on whether the object's current generation matches the given value. Setting to 0 makes the operation succeed only if there are no live versions of the object. + * @param {string=} params.ifGenerationNotMatch Makes the operation conditional on whether the object's current generation does not match the given value. If no live object exists, the precondition fails. Setting to 0 makes the operation succeed only if there is a live version of the object. + * @param {string=} params.ifMetagenerationMatch Makes the operation conditional on whether the object's current metageneration matches the given value. + * @param {string=} params.ifMetagenerationNotMatch Makes the operation conditional on whether the object's current metageneration does not match the given value. + * @param {string} params.object Name of the object. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts. + * @param {string=} params.predefinedAcl Apply a predefined set of access controls to this object. + * @param {string=} params.projection Set of properties to return. Defaults to full. + * @param {string=} params.userProject The project to be billed for this request, for Requester Pays buckets. + * @param {().Object} 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 + */ + patch(params?: Params$Resource$Objects$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Objects$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Objects$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * storage.objects.rewrite + * @desc Rewrites a source object to a destination object. Optionally + * overrides metadata. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Storage JSON API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storage + * // 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 storage = google.storage('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Name of the bucket in which to find the source object. + * sourceBucket: 'my-source-bucket', // TODO: Update placeholder value. + * + * // Name of the source object. For information about how to URL encode + * object names to be path safe, + * // see Encoding URI Path Parts. + * sourceObject: 'my-source-object', // TODO: Update placeholder value. + * + * // Name of the bucket in which to store the new object. Overrides the + * provided object metadata's + * // bucket value, if any. + * destinationBucket: 'my-destination-bucket', // TODO: Update + * placeholder value. + * + * // Name of the new object. Required when the object metadata is not + * otherwise provided. Overrides the + * // object metadata's name value, if any. For information about how to + * URL encode object names to be + * // path safe, see Encoding URI Path Parts. + * destinationObject: 'my-destination-object', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * storage.objects.rewrite(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 storage.objects.rewrite + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.destinationBucket Name of the bucket in which to store the new object. Overrides the provided object metadata's bucket value, if any. + * @param {string=} params.destinationKmsKeyName Resource name of the Cloud KMS key, of the form projects/my-project/locations/global/keyRings/my-kr/cryptoKeys/my-key, that will be used to encrypt the object. Overrides the object metadata's kms_key_name value, if any. + * @param {string} params.destinationObject Name of the new object. Required when the object metadata is not otherwise provided. Overrides the object metadata's name value, if any. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts. + * @param {string=} params.destinationPredefinedAcl Apply a predefined set of access controls to the destination object. + * @param {string=} params.ifGenerationMatch Makes the operation conditional on whether the object's current generation matches the given value. Setting to 0 makes the operation succeed only if there are no live versions of the object. + * @param {string=} params.ifGenerationNotMatch Makes the operation conditional on whether the object's current generation does not match the given value. If no live object exists, the precondition fails. Setting to 0 makes the operation succeed only if there is a live version of the object. + * @param {string=} params.ifMetagenerationMatch Makes the operation conditional on whether the destination object's current metageneration matches the given value. + * @param {string=} params.ifMetagenerationNotMatch Makes the operation conditional on whether the destination object's current metageneration does not match the given value. + * @param {string=} params.ifSourceGenerationMatch Makes the operation conditional on whether the source object's current generation matches the given value. + * @param {string=} params.ifSourceGenerationNotMatch Makes the operation conditional on whether the source object's current generation does not match the given value. + * @param {string=} params.ifSourceMetagenerationMatch Makes the operation conditional on whether the source object's current metageneration matches the given value. + * @param {string=} params.ifSourceMetagenerationNotMatch Makes the operation conditional on whether the source object's current metageneration does not match the given value. + * @param {string=} params.maxBytesRewrittenPerCall The maximum number of bytes that will be rewritten per rewrite request. Most callers shouldn't need to specify this parameter - it is primarily in place to support testing. If specified the value must be an integral multiple of 1 MiB (1048576). Also, this only applies to requests where the source and destination span locations and/or storage classes. Finally, this value must not change across rewrite calls else you'll get an error that the rewriteToken is invalid. + * @param {string=} params.projection Set of properties to return. Defaults to noAcl, unless the object resource specifies the acl property, when it defaults to full. + * @param {string=} params.rewriteToken Include this field (from the previous rewrite response) on each rewrite request after the first one, until the rewrite response 'done' flag is true. Calls that provide a rewriteToken can omit all other request fields, but if included those fields must match the values provided in the first rewrite request. + * @param {string} params.sourceBucket Name of the bucket in which to find the source object. + * @param {string=} params.sourceGeneration If present, selects a specific revision of the source object (as opposed to the latest version, the default). + * @param {string} params.sourceObject Name of the source object. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts. + * @param {string=} params.userProject The project to be billed for this request. Required for Requester Pays buckets. + * @param {().Object} 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 + */ + rewrite(params?: Params$Resource$Objects$Rewrite, options?: MethodOptions): AxiosPromise; + rewrite(params: Params$Resource$Objects$Rewrite, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + rewrite(params: Params$Resource$Objects$Rewrite, callback: BodyResponseCallback): void; + rewrite(callback: BodyResponseCallback): void; + /** + * storage.objects.setIamPolicy + * @desc Updates an IAM policy for the specified object. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Storage JSON API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storage + * // 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 storage = google.storage('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Name of the bucket in which the object resides. + * bucket: 'my-bucket', // TODO: Update placeholder value. + * + * // Name of the object. For information about how to URL encode object + * names to be path safe, see + * // Encoding URI Path Parts. + * object: 'my-object', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * storage.objects.setIamPolicy(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 storage.objects.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of the bucket in which the object resides. + * @param {string=} params.generation If present, selects a specific revision of this object (as opposed to the latest version, the default). + * @param {string} params.object Name of the object. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts. + * @param {string=} params.userProject The project to be billed for this request. Required for Requester Pays buckets. + * @param {().Policy} 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 + */ + setIamPolicy(params?: Params$Resource$Objects$Setiampolicy, options?: MethodOptions): AxiosPromise; + setIamPolicy(params: Params$Resource$Objects$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setIamPolicy(params: Params$Resource$Objects$Setiampolicy, callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + /** + * storage.objects.testIamPermissions + * @desc Tests a set of permissions on the given object to see which, if + * any, are held by the caller. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Storage JSON API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storage + * // 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 storage = google.storage('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Name of the bucket in which the object resides. + * bucket: 'my-bucket', // TODO: Update placeholder value. + * + * // Name of the object. For information about how to URL encode object + * names to be path safe, see + * // Encoding URI Path Parts. + * object: 'my-object', // TODO: Update placeholder value. + * + * // Permissions to test. + * permissions: [], // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * storage.objects.testIamPermissions(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 storage.objects.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of the bucket in which the object resides. + * @param {string=} params.generation If present, selects a specific revision of this object (as opposed to the latest version, the default). + * @param {string} params.object Name of the object. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts. + * @param {string} params.permissions Permissions to test. + * @param {string=} params.userProject The project to be billed for this request. Required for Requester Pays buckets. + * @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 + */ + testIamPermissions(params?: Params$Resource$Objects$Testiampermissions, options?: MethodOptions): AxiosPromise; + testIamPermissions(params: Params$Resource$Objects$Testiampermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + testIamPermissions(params: Params$Resource$Objects$Testiampermissions, callback: BodyResponseCallback): void; + testIamPermissions(callback: BodyResponseCallback): void; + /** + * storage.objects.update + * @desc Updates an object's metadata. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Storage JSON API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storage + * // 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 storage = google.storage('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Name of the bucket in which the object resides. + * bucket: 'my-bucket', // TODO: Update placeholder value. + * + * // Name of the object. For information about how to URL encode object + * names to be path safe, see + * // Encoding URI Path Parts. + * object: 'my-object', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. All existing + * properties + * // will be replaced. + * }, + * + * auth: authClient, + * }; + * + * storage.objects.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 storage.objects.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of the bucket in which the object resides. + * @param {string=} params.generation If present, selects a specific revision of this object (as opposed to the latest version, the default). + * @param {string=} params.ifGenerationMatch Makes the operation conditional on whether the object's current generation matches the given value. Setting to 0 makes the operation succeed only if there are no live versions of the object. + * @param {string=} params.ifGenerationNotMatch Makes the operation conditional on whether the object's current generation does not match the given value. If no live object exists, the precondition fails. Setting to 0 makes the operation succeed only if there is a live version of the object. + * @param {string=} params.ifMetagenerationMatch Makes the operation conditional on whether the object's current metageneration matches the given value. + * @param {string=} params.ifMetagenerationNotMatch Makes the operation conditional on whether the object's current metageneration does not match the given value. + * @param {string} params.object Name of the object. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts. + * @param {string=} params.predefinedAcl Apply a predefined set of access controls to this object. + * @param {string=} params.projection Set of properties to return. Defaults to full. + * @param {string=} params.userProject The project to be billed for this request. Required for Requester Pays buckets. + * @param {().Object} 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?: Params$Resource$Objects$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Objects$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Objects$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + /** + * storage.objects.watchAll + * @desc Watch for changes on all objects in a bucket. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Storage JSON API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storage + * // 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 storage = google.storage('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Name of the bucket in which to look for objects. + * bucket: 'my-bucket', // TODO: Update placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * storage.objects.watchAll(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 storage.objects.watchAll + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of the bucket in which to look for objects. + * @param {string=} params.delimiter Returns results in a directory-like mode. items will contain only objects whose names, aside from the prefix, do not contain delimiter. Objects whose names, aside from the prefix, contain delimiter will have their name, truncated after the delimiter, returned in prefixes. Duplicate prefixes are omitted. + * @param {boolean=} params.includeTrailingDelimiter If true, objects that end in exactly one instance of delimiter will have their metadata included in items in addition to prefixes. + * @param {integer=} params.maxResults Maximum number of items plus prefixes to return in a single page of responses. As duplicate prefixes are omitted, fewer total results may be returned than requested. The service will use this parameter or 1,000 items, whichever is smaller. + * @param {string=} params.pageToken A previously-returned page token representing part of the larger set of results to view. + * @param {string=} params.prefix Filter results to objects whose names begin with this prefix. + * @param {string=} params.projection Set of properties to return. Defaults to noAcl. + * @param {string=} params.userProject The project to be billed for this request. Required for Requester Pays buckets. + * @param {boolean=} params.versions If true, lists all versions of an object as distinct results. The default is false. For more information, see Object Versioning. + * @param {().Channel} 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 + */ + watchAll(params?: Params$Resource$Objects$Watchall, options?: MethodOptions): AxiosPromise; + watchAll(params: Params$Resource$Objects$Watchall, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + watchAll(params: Params$Resource$Objects$Watchall, callback: BodyResponseCallback): void; + watchAll(callback: BodyResponseCallback): void; + } + interface Params$Resource$Objects$Compose { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the bucket containing the source objects. The destination object + * is stored in this bucket. + */ + destinationBucket?: string; + /** + * Name of the new object. For information about how to URL encode object + * names to be path safe, see Encoding URI Path Parts. + */ + destinationObject?: string; + /** + * Apply a predefined set of access controls to the destination object. + */ + destinationPredefinedAcl?: string; + /** + * Makes the operation conditional on whether the object's current + * generation matches the given value. Setting to 0 makes the operation + * succeed only if there are no live versions of the object. + */ + ifGenerationMatch?: string; + /** + * Makes the operation conditional on whether the object's current + * metageneration matches the given value. + */ + ifMetagenerationMatch?: string; + /** + * Resource name of the Cloud KMS key, of the form + * projects/my-project/locations/global/keyRings/my-kr/cryptoKeys/my-key, + * that will be used to encrypt the object. Overrides the object metadata's + * kms_key_name value, if any. + */ + kmsKeyName?: string; + /** + * The project to be billed for this request. Required for Requester Pays + * buckets. + */ + userProject?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ComposeRequest; + } + interface Params$Resource$Objects$Copy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the bucket in which to store the new object. Overrides the + * provided object metadata's bucket value, if any.For information about how + * to URL encode object names to be path safe, see Encoding URI Path Parts. + */ + destinationBucket?: string; + /** + * Name of the new object. Required when the object metadata is not + * otherwise provided. Overrides the object metadata's name value, if any. + */ + destinationObject?: string; + /** + * Apply a predefined set of access controls to the destination object. + */ + destinationPredefinedAcl?: string; + /** + * Makes the operation conditional on whether the destination object's + * current generation matches the given value. Setting to 0 makes the + * operation succeed only if there are no live versions of the object. + */ + ifGenerationMatch?: string; + /** + * Makes the operation conditional on whether the destination object's + * current generation does not match the given value. If no live object + * exists, the precondition fails. Setting to 0 makes the operation succeed + * only if there is a live version of the object. + */ + ifGenerationNotMatch?: string; + /** + * Makes the operation conditional on whether the destination object's + * current metageneration matches the given value. + */ + ifMetagenerationMatch?: string; + /** + * Makes the operation conditional on whether the destination object's + * current metageneration does not match the given value. + */ + ifMetagenerationNotMatch?: string; + /** + * Makes the operation conditional on whether the source object's current + * generation matches the given value. + */ + ifSourceGenerationMatch?: string; + /** + * Makes the operation conditional on whether the source object's current + * generation does not match the given value. + */ + ifSourceGenerationNotMatch?: string; + /** + * Makes the operation conditional on whether the source object's current + * metageneration matches the given value. + */ + ifSourceMetagenerationMatch?: string; + /** + * Makes the operation conditional on whether the source object's current + * metageneration does not match the given value. + */ + ifSourceMetagenerationNotMatch?: string; + /** + * Set of properties to return. Defaults to noAcl, unless the object + * resource specifies the acl property, when it defaults to full. + */ + projection?: string; + /** + * Name of the bucket in which to find the source object. + */ + sourceBucket?: string; + /** + * If present, selects a specific revision of the source object (as opposed + * to the latest version, the default). + */ + sourceGeneration?: string; + /** + * Name of the source object. For information about how to URL encode object + * names to be path safe, see Encoding URI Path Parts. + */ + sourceObject?: string; + /** + * The project to be billed for this request. Required for Requester Pays + * buckets. + */ + userProject?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Object; + } + interface Params$Resource$Objects$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the bucket in which the object resides. + */ + bucket?: string; + /** + * If present, permanently deletes a specific revision of this object (as + * opposed to the latest version, the default). + */ + generation?: string; + /** + * Makes the operation conditional on whether the object's current + * generation matches the given value. Setting to 0 makes the operation + * succeed only if there are no live versions of the object. + */ + ifGenerationMatch?: string; + /** + * Makes the operation conditional on whether the object's current + * generation does not match the given value. If no live object exists, the + * precondition fails. Setting to 0 makes the operation succeed only if + * there is a live version of the object. + */ + ifGenerationNotMatch?: string; + /** + * Makes the operation conditional on whether the object's current + * metageneration matches the given value. + */ + ifMetagenerationMatch?: string; + /** + * Makes the operation conditional on whether the object's current + * metageneration does not match the given value. + */ + ifMetagenerationNotMatch?: string; + /** + * Name of the object. For information about how to URL encode object names + * to be path safe, see Encoding URI Path Parts. + */ + object?: string; + /** + * The project to be billed for this request. Required for Requester Pays + * buckets. + */ + userProject?: string; + } + interface Params$Resource$Objects$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the bucket in which the object resides. + */ + bucket?: string; + /** + * If present, selects a specific revision of this object (as opposed to the + * latest version, the default). + */ + generation?: string; + /** + * Makes the operation conditional on whether the object's current + * generation matches the given value. Setting to 0 makes the operation + * succeed only if there are no live versions of the object. + */ + ifGenerationMatch?: string; + /** + * Makes the operation conditional on whether the object's current + * generation does not match the given value. If no live object exists, the + * precondition fails. Setting to 0 makes the operation succeed only if + * there is a live version of the object. + */ + ifGenerationNotMatch?: string; + /** + * Makes the operation conditional on whether the object's current + * metageneration matches the given value. + */ + ifMetagenerationMatch?: string; + /** + * Makes the operation conditional on whether the object's current + * metageneration does not match the given value. + */ + ifMetagenerationNotMatch?: string; + /** + * Name of the object. For information about how to URL encode object names + * to be path safe, see Encoding URI Path Parts. + */ + object?: string; + /** + * Set of properties to return. Defaults to noAcl. + */ + projection?: string; + /** + * The project to be billed for this request. Required for Requester Pays + * buckets. + */ + userProject?: string; + } + interface Params$Resource$Objects$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the bucket in which the object resides. + */ + bucket?: string; + /** + * If present, selects a specific revision of this object (as opposed to the + * latest version, the default). + */ + generation?: string; + /** + * Name of the object. For information about how to URL encode object names + * to be path safe, see Encoding URI Path Parts. + */ + object?: string; + /** + * The project to be billed for this request. Required for Requester Pays + * buckets. + */ + userProject?: string; + } + interface Params$Resource$Objects$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the bucket in which to store the new object. Overrides the + * provided object metadata's bucket value, if any. + */ + bucket?: string; + /** + * If set, sets the contentEncoding property of the final object to this + * value. Setting this parameter is equivalent to setting the + * contentEncoding metadata property. This can be useful when uploading an + * object with uploadType=media to indicate the encoding of the content + * being uploaded. + */ + contentEncoding?: string; + /** + * Makes the operation conditional on whether the object's current + * generation matches the given value. Setting to 0 makes the operation + * succeed only if there are no live versions of the object. + */ + ifGenerationMatch?: string; + /** + * Makes the operation conditional on whether the object's current + * generation does not match the given value. If no live object exists, the + * precondition fails. Setting to 0 makes the operation succeed only if + * there is a live version of the object. + */ + ifGenerationNotMatch?: string; + /** + * Makes the operation conditional on whether the object's current + * metageneration matches the given value. + */ + ifMetagenerationMatch?: string; + /** + * Makes the operation conditional on whether the object's current + * metageneration does not match the given value. + */ + ifMetagenerationNotMatch?: string; + /** + * Resource name of the Cloud KMS key, of the form + * projects/my-project/locations/global/keyRings/my-kr/cryptoKeys/my-key, + * that will be used to encrypt the object. Overrides the object metadata's + * kms_key_name value, if any. + */ + kmsKeyName?: string; + /** + * Name of the object. Required when the object metadata is not otherwise + * provided. Overrides the object metadata's name value, if any. For + * information about how to URL encode object names to be path safe, see + * Encoding URI Path Parts. + */ + name?: string; + /** + * Apply a predefined set of access controls to this object. + */ + predefinedAcl?: string; + /** + * Set of properties to return. Defaults to noAcl, unless the object + * resource specifies the acl property, when it defaults to full. + */ + projection?: string; + /** + * The project to be billed for this request. Required for Requester Pays + * buckets. + */ + userProject?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Object; + /** + * Media metadata + */ + media?: { + /** + * Media mime-type + */ + mediaType?: string; + /** + * Media body contents + */ + body?: any; + }; + } + interface Params$Resource$Objects$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the bucket in which to look for objects. + */ + bucket?: string; + /** + * Returns results in a directory-like mode. items will contain only objects + * whose names, aside from the prefix, do not contain delimiter. Objects + * whose names, aside from the prefix, contain delimiter will have their + * name, truncated after the delimiter, returned in prefixes. Duplicate + * prefixes are omitted. + */ + delimiter?: string; + /** + * If true, objects that end in exactly one instance of delimiter will have + * their metadata included in items in addition to prefixes. + */ + includeTrailingDelimiter?: boolean; + /** + * Maximum number of items plus prefixes to return in a single page of + * responses. As duplicate prefixes are omitted, fewer total results may be + * returned than requested. The service will use this parameter or 1,000 + * items, whichever is smaller. + */ + maxResults?: number; + /** + * A previously-returned page token representing part of the larger set of + * results to view. + */ + pageToken?: string; + /** + * Filter results to objects whose names begin with this prefix. + */ + prefix?: string; + /** + * Set of properties to return. Defaults to noAcl. + */ + projection?: string; + /** + * The project to be billed for this request. Required for Requester Pays + * buckets. + */ + userProject?: string; + /** + * If true, lists all versions of an object as distinct results. The default + * is false. For more information, see Object Versioning. + */ + versions?: boolean; + } + interface Params$Resource$Objects$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the bucket in which the object resides. + */ + bucket?: string; + /** + * If present, selects a specific revision of this object (as opposed to the + * latest version, the default). + */ + generation?: string; + /** + * Makes the operation conditional on whether the object's current + * generation matches the given value. Setting to 0 makes the operation + * succeed only if there are no live versions of the object. + */ + ifGenerationMatch?: string; + /** + * Makes the operation conditional on whether the object's current + * generation does not match the given value. If no live object exists, the + * precondition fails. Setting to 0 makes the operation succeed only if + * there is a live version of the object. + */ + ifGenerationNotMatch?: string; + /** + * Makes the operation conditional on whether the object's current + * metageneration matches the given value. + */ + ifMetagenerationMatch?: string; + /** + * Makes the operation conditional on whether the object's current + * metageneration does not match the given value. + */ + ifMetagenerationNotMatch?: string; + /** + * Name of the object. For information about how to URL encode object names + * to be path safe, see Encoding URI Path Parts. + */ + object?: string; + /** + * Apply a predefined set of access controls to this object. + */ + predefinedAcl?: string; + /** + * Set of properties to return. Defaults to full. + */ + projection?: string; + /** + * The project to be billed for this request, for Requester Pays buckets. + */ + userProject?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Object; + } + interface Params$Resource$Objects$Rewrite { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the bucket in which to store the new object. Overrides the + * provided object metadata's bucket value, if any. + */ + destinationBucket?: string; + /** + * Resource name of the Cloud KMS key, of the form + * projects/my-project/locations/global/keyRings/my-kr/cryptoKeys/my-key, + * that will be used to encrypt the object. Overrides the object metadata's + * kms_key_name value, if any. + */ + destinationKmsKeyName?: string; + /** + * Name of the new object. Required when the object metadata is not + * otherwise provided. Overrides the object metadata's name value, if any. + * For information about how to URL encode object names to be path safe, see + * Encoding URI Path Parts. + */ + destinationObject?: string; + /** + * Apply a predefined set of access controls to the destination object. + */ + destinationPredefinedAcl?: string; + /** + * Makes the operation conditional on whether the object's current + * generation matches the given value. Setting to 0 makes the operation + * succeed only if there are no live versions of the object. + */ + ifGenerationMatch?: string; + /** + * Makes the operation conditional on whether the object's current + * generation does not match the given value. If no live object exists, the + * precondition fails. Setting to 0 makes the operation succeed only if + * there is a live version of the object. + */ + ifGenerationNotMatch?: string; + /** + * Makes the operation conditional on whether the destination object's + * current metageneration matches the given value. + */ + ifMetagenerationMatch?: string; + /** + * Makes the operation conditional on whether the destination object's + * current metageneration does not match the given value. + */ + ifMetagenerationNotMatch?: string; + /** + * Makes the operation conditional on whether the source object's current + * generation matches the given value. + */ + ifSourceGenerationMatch?: string; + /** + * Makes the operation conditional on whether the source object's current + * generation does not match the given value. + */ + ifSourceGenerationNotMatch?: string; + /** + * Makes the operation conditional on whether the source object's current + * metageneration matches the given value. + */ + ifSourceMetagenerationMatch?: string; + /** + * Makes the operation conditional on whether the source object's current + * metageneration does not match the given value. + */ + ifSourceMetagenerationNotMatch?: string; + /** + * The maximum number of bytes that will be rewritten per rewrite request. + * Most callers shouldn't need to specify this parameter - it is primarily + * in place to support testing. If specified the value must be an integral + * multiple of 1 MiB (1048576). Also, this only applies to requests where + * the source and destination span locations and/or storage classes. + * Finally, this value must not change across rewrite calls else you'll get + * an error that the rewriteToken is invalid. + */ + maxBytesRewrittenPerCall?: string; + /** + * Set of properties to return. Defaults to noAcl, unless the object + * resource specifies the acl property, when it defaults to full. + */ + projection?: string; + /** + * Include this field (from the previous rewrite response) on each rewrite + * request after the first one, until the rewrite response 'done' flag is + * true. Calls that provide a rewriteToken can omit all other request + * fields, but if included those fields must match the values provided in + * the first rewrite request. + */ + rewriteToken?: string; + /** + * Name of the bucket in which to find the source object. + */ + sourceBucket?: string; + /** + * If present, selects a specific revision of the source object (as opposed + * to the latest version, the default). + */ + sourceGeneration?: string; + /** + * Name of the source object. For information about how to URL encode object + * names to be path safe, see Encoding URI Path Parts. + */ + sourceObject?: string; + /** + * The project to be billed for this request. Required for Requester Pays + * buckets. + */ + userProject?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Object; + } + interface Params$Resource$Objects$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the bucket in which the object resides. + */ + bucket?: string; + /** + * If present, selects a specific revision of this object (as opposed to the + * latest version, the default). + */ + generation?: string; + /** + * Name of the object. For information about how to URL encode object names + * to be path safe, see Encoding URI Path Parts. + */ + object?: string; + /** + * The project to be billed for this request. Required for Requester Pays + * buckets. + */ + userProject?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Policy; + } + interface Params$Resource$Objects$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the bucket in which the object resides. + */ + bucket?: string; + /** + * If present, selects a specific revision of this object (as opposed to the + * latest version, the default). + */ + generation?: string; + /** + * Name of the object. For information about how to URL encode object names + * to be path safe, see Encoding URI Path Parts. + */ + object?: string; + /** + * Permissions to test. + */ + permissions?: string; + /** + * The project to be billed for this request. Required for Requester Pays + * buckets. + */ + userProject?: string; + } + interface Params$Resource$Objects$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the bucket in which the object resides. + */ + bucket?: string; + /** + * If present, selects a specific revision of this object (as opposed to the + * latest version, the default). + */ + generation?: string; + /** + * Makes the operation conditional on whether the object's current + * generation matches the given value. Setting to 0 makes the operation + * succeed only if there are no live versions of the object. + */ + ifGenerationMatch?: string; + /** + * Makes the operation conditional on whether the object's current + * generation does not match the given value. If no live object exists, the + * precondition fails. Setting to 0 makes the operation succeed only if + * there is a live version of the object. + */ + ifGenerationNotMatch?: string; + /** + * Makes the operation conditional on whether the object's current + * metageneration matches the given value. + */ + ifMetagenerationMatch?: string; + /** + * Makes the operation conditional on whether the object's current + * metageneration does not match the given value. + */ + ifMetagenerationNotMatch?: string; + /** + * Name of the object. For information about how to URL encode object names + * to be path safe, see Encoding URI Path Parts. + */ + object?: string; + /** + * Apply a predefined set of access controls to this object. + */ + predefinedAcl?: string; + /** + * Set of properties to return. Defaults to full. + */ + projection?: string; + /** + * The project to be billed for this request. Required for Requester Pays + * buckets. + */ + userProject?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Object; + } + interface Params$Resource$Objects$Watchall { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the bucket in which to look for objects. + */ + bucket?: string; + /** + * Returns results in a directory-like mode. items will contain only objects + * whose names, aside from the prefix, do not contain delimiter. Objects + * whose names, aside from the prefix, contain delimiter will have their + * name, truncated after the delimiter, returned in prefixes. Duplicate + * prefixes are omitted. + */ + delimiter?: string; + /** + * If true, objects that end in exactly one instance of delimiter will have + * their metadata included in items in addition to prefixes. + */ + includeTrailingDelimiter?: boolean; + /** + * Maximum number of items plus prefixes to return in a single page of + * responses. As duplicate prefixes are omitted, fewer total results may be + * returned than requested. The service will use this parameter or 1,000 + * items, whichever is smaller. + */ + maxResults?: number; + /** + * A previously-returned page token representing part of the larger set of + * results to view. + */ + pageToken?: string; + /** + * Filter results to objects whose names begin with this prefix. + */ + prefix?: string; + /** + * Set of properties to return. Defaults to noAcl. + */ + projection?: string; + /** + * The project to be billed for this request. Required for Requester Pays + * buckets. + */ + userProject?: string; + /** + * If true, lists all versions of an object as distinct results. The default + * is false. For more information, see Object Versioning. + */ + versions?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$Channel; + } + class Resource$Projects { + root: Storage; + serviceAccount: Resource$Projects$Serviceaccount; + constructor(root: Storage); + getRoot(): Storage; + } + class Resource$Projects$Serviceaccount { + root: Storage; + constructor(root: Storage); + getRoot(): Storage; + /** + * storage.projects.serviceAccount.get + * @desc Get the email address of this project's Google Cloud Storage + * service account. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Cloud Storage JSON API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storage + * // 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 storage = google.storage('v1'); + * + * authorize(function(authClient) { + * var request = { + * // Project ID + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * storage.projects.serviceAccount.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 storage.projects.serviceAccount.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId Project ID + * @param {string=} params.userProject The project to be billed for this request. + * @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?: Params$Resource$Projects$Serviceaccount$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Serviceaccount$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Serviceaccount$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Serviceaccount$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Project ID + */ + projectId?: string; + /** + * The project to be billed for this request. + */ + userProject?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/storage/v1.js b/express-server/node_modules/googleapis/build/src/apis/storage/v1.js new file mode 100644 index 00000000..bf497157 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/storage/v1.js @@ -0,0 +1,1629 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var storage_v1; +(function (storage_v1) { + /** + * Cloud Storage JSON API + * + * Stores and retrieves potentially large, immutable data objects. + * + * @example + * const {google} = require('googleapis'); + * const storage = google.storage('v1'); + * + * @namespace storage + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Storage + */ + class Storage { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.bucketAccessControls = new Resource$Bucketaccesscontrols(this); + this.buckets = new Resource$Buckets(this); + this.channels = new Resource$Channels(this); + this.defaultObjectAccessControls = + new Resource$Defaultobjectaccesscontrols(this); + this.notifications = new Resource$Notifications(this); + this.objectAccessControls = new Resource$Objectaccesscontrols(this); + this.objects = new Resource$Objects(this); + this.projects = new Resource$Projects(this); + } + getRoot() { + return this.root; + } + } + storage_v1.Storage = Storage; + class Resource$Bucketaccesscontrols { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1/b/{bucket}/acl/{entity}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['bucket', 'entity'], + pathParams: ['bucket', 'entity'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1/b/{bucket}/acl/{entity}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['bucket', 'entity'], + pathParams: ['bucket', 'entity'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1/b/{bucket}/acl') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['bucket'], + pathParams: ['bucket'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1/b/{bucket}/acl') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['bucket'], + pathParams: ['bucket'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1/b/{bucket}/acl/{entity}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['bucket', 'entity'], + pathParams: ['bucket', 'entity'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1/b/{bucket}/acl/{entity}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['bucket', 'entity'], + pathParams: ['bucket', 'entity'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + storage_v1.Resource$Bucketaccesscontrols = Resource$Bucketaccesscontrols; + class Resource$Buckets { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1/b/{bucket}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['bucket'], + pathParams: ['bucket'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1/b/{bucket}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['bucket'], + pathParams: ['bucket'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1/b/{bucket}/iam') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['bucket'], + pathParams: ['bucket'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1/b').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1/b').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + lockRetentionPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1/b/{bucket}/lockRetentionPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['bucket', 'ifMetagenerationMatch'], + pathParams: ['bucket'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1/b/{bucket}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['bucket'], + pathParams: ['bucket'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1/b/{bucket}/iam') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['bucket'], + pathParams: ['bucket'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1/b/{bucket}/iam/testPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['bucket', 'permissions'], + pathParams: ['bucket'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1/b/{bucket}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['bucket'], + pathParams: ['bucket'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + storage_v1.Resource$Buckets = Resource$Buckets; + class Resource$Channels { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + stop(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1/channels/stop') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + storage_v1.Resource$Channels = Resource$Channels; + class Resource$Defaultobjectaccesscontrols { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1/b/{bucket}/defaultObjectAcl/{entity}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['bucket', 'entity'], + pathParams: ['bucket', 'entity'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1/b/{bucket}/defaultObjectAcl/{entity}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['bucket', 'entity'], + pathParams: ['bucket', 'entity'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1/b/{bucket}/defaultObjectAcl') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['bucket'], + pathParams: ['bucket'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1/b/{bucket}/defaultObjectAcl') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['bucket'], + pathParams: ['bucket'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1/b/{bucket}/defaultObjectAcl/{entity}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['bucket', 'entity'], + pathParams: ['bucket', 'entity'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1/b/{bucket}/defaultObjectAcl/{entity}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['bucket', 'entity'], + pathParams: ['bucket', 'entity'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + storage_v1.Resource$Defaultobjectaccesscontrols = Resource$Defaultobjectaccesscontrols; + class Resource$Notifications { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/storage/v1/b/{bucket}/notificationConfigs/{notification}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['bucket', 'notification'], + pathParams: ['bucket', 'notification'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/storage/v1/b/{bucket}/notificationConfigs/{notification}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['bucket', 'notification'], + pathParams: ['bucket', 'notification'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1/b/{bucket}/notificationConfigs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['bucket'], + pathParams: ['bucket'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1/b/{bucket}/notificationConfigs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['bucket'], + pathParams: ['bucket'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + storage_v1.Resource$Notifications = Resource$Notifications; + class Resource$Objectaccesscontrols { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1/b/{bucket}/o/{object}/acl/{entity}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['bucket', 'object', 'entity'], + pathParams: ['bucket', 'entity', 'object'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1/b/{bucket}/o/{object}/acl/{entity}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['bucket', 'object', 'entity'], + pathParams: ['bucket', 'entity', 'object'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1/b/{bucket}/o/{object}/acl') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['bucket', 'object'], + pathParams: ['bucket', 'object'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1/b/{bucket}/o/{object}/acl') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['bucket', 'object'], + pathParams: ['bucket', 'object'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1/b/{bucket}/o/{object}/acl/{entity}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['bucket', 'object', 'entity'], + pathParams: ['bucket', 'entity', 'object'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1/b/{bucket}/o/{object}/acl/{entity}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['bucket', 'object', 'entity'], + pathParams: ['bucket', 'entity', 'object'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + storage_v1.Resource$Objectaccesscontrols = Resource$Objectaccesscontrols; + class Resource$Objects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + compose(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/storage/v1/b/{destinationBucket}/o/{destinationObject}/compose') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['destinationBucket', 'destinationObject'], + pathParams: ['destinationBucket', 'destinationObject'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + copy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/storage/v1/b/{sourceBucket}/o/{sourceObject}/copyTo/b/{destinationBucket}/o/{destinationObject}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [ + 'sourceBucket', 'sourceObject', 'destinationBucket', + 'destinationObject' + ], + pathParams: [ + 'destinationBucket', 'destinationObject', 'sourceBucket', + 'sourceObject' + ], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1/b/{bucket}/o/{object}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['bucket', 'object'], + pathParams: ['bucket', 'object'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1/b/{bucket}/o/{object}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['bucket', 'object'], + pathParams: ['bucket', 'object'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1/b/{bucket}/o/{object}/iam') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['bucket', 'object'], + pathParams: ['bucket', 'object'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1/b/{bucket}/o') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + mediaUrl: (rootUrl + '/upload/storage/v1/b/{bucket}/o') + .replace(/([^:]\/)\/+/g, '$1'), + requiredParams: ['bucket'], + pathParams: ['bucket'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1/b/{bucket}/o') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['bucket'], + pathParams: ['bucket'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1/b/{bucket}/o/{object}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['bucket', 'object'], + pathParams: ['bucket', 'object'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + rewrite(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/storage/v1/b/{sourceBucket}/o/{sourceObject}/rewriteTo/b/{destinationBucket}/o/{destinationObject}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [ + 'sourceBucket', 'sourceObject', 'destinationBucket', + 'destinationObject' + ], + pathParams: [ + 'destinationBucket', 'destinationObject', 'sourceBucket', + 'sourceObject' + ], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setIamPolicy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1/b/{bucket}/o/{object}/iam') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['bucket', 'object'], + pathParams: ['bucket', 'object'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + testIamPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/storage/v1/b/{bucket}/o/{object}/iam/testPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['bucket', 'object', 'permissions'], + pathParams: ['bucket', 'object'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1/b/{bucket}/o/{object}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['bucket', 'object'], + pathParams: ['bucket', 'object'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + watchAll(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1/b/{bucket}/o/watch') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['bucket'], + pathParams: ['bucket'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + storage_v1.Resource$Objects = Resource$Objects; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.serviceAccount = new Resource$Projects$Serviceaccount(root); + } + getRoot() { + return this.root; + } + } + storage_v1.Resource$Projects = Resource$Projects; + class Resource$Projects$Serviceaccount { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1/projects/{projectId}/serviceAccount') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId'], + pathParams: ['projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + storage_v1.Resource$Projects$Serviceaccount = Resource$Projects$Serviceaccount; +})(storage_v1 = exports.storage_v1 || (exports.storage_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/storage/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/storage/v1.js.map new file mode 100644 index 00000000..2eeb4e81 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/storage/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/storage/v1.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAIH,yDAA2H;AAE3H,yBAAyB;AACzB,6BAA6B;AAC7B,gCAAgC;AAChC,+BAA+B;AAC/B,+BAA+B;AAE/B,IAAiB,UAAU,CAw6Q1B;AAx6QD,WAAiB,UAAU;IAKzB;;;;;;;;;;;;;;OAcG;IACH,MAAa,OAAO;QAclB,YAAY,OAAsB,EAAE,MAA2B;YAX/D,SAAI,GAAG,IAAI,CAAC;YAYV,IAAI,CAAC,QAAQ,GAAG,OAAO,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAExB,IAAI,CAAC,oBAAoB,GAAG,IAAI,6BAA6B,CAAC,IAAI,CAAC,CAAC;YACpE,IAAI,CAAC,OAAO,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,CAAC,2BAA2B;gBAC5B,IAAI,oCAAoC,CAAC,IAAI,CAAC,CAAC;YACnD,IAAI,CAAC,aAAa,GAAG,IAAI,sBAAsB,CAAC,IAAI,CAAC,CAAC;YACtD,IAAI,CAAC,oBAAoB,GAAG,IAAI,6BAA6B,CAAC,IAAI,CAAC,CAAC;YACpE,IAAI,CAAC,OAAO,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;KACF;IAjCY,kBAAO,UAiCnB,CAAA;IA0tBD,MAAa,6BAA6B;QAExC,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAoFD,MAAM,CACF,gBAC0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACW,CAAC;YAChD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiD,CAAC;gBAC3D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,qCAAqC,CAAC;yBAC5C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBACpC,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBAChC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;QAoFD,GAAG,CAAC,gBACgD,EAChD,iBACgD,EAChD,QAA2D;YAE7D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA6C,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8C,CAAC;gBACxD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,qCAAqC,CAAC;yBAC5C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBACpC,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBAChC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA6B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACpE;iBAAM;gBACL,OAAO,oCAAgB,CAA6B,UAAU,CAAC,CAAC;aACjE;QACH,CAAC;QAqFD,MAAM,CACF,gBACgD,EAChD,iBACgD,EAChD,QAA2D;YAE7D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACW,CAAC;YAChD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiD,CAAC;gBAC3D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,4BAA4B,CAAC;yBACnC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA6B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACpE;iBAAM;gBACL,OAAO,oCAAgB,CAA6B,UAAU,CAAC,CAAC;aACjE;QACH,CAAC;QAiFD,IAAI,CACA,gBACiD,EACjD,iBACiD,EACjD,QAA4D;YAE9D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA8C,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA+C,CAAC;gBACzD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,4BAA4B,CAAC;yBACnC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA8B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrE;iBAAM;gBACL,OAAO,oCAAgB,CAA8B,UAAU,CAAC,CAAC;aAClE;QACH,CAAC;QA6FD,KAAK,CACD,gBACgD,EAChD,iBACgD,EAChD,QAA2D;YAE7D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACU,CAAC;YAC/C,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgD,CAAC;gBAC1D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,qCAAqC,CAAC;yBAC5C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBACpC,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBAChC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA6B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACpE;iBAAM;gBACL,OAAO,oCAAgB,CAA6B,UAAU,CAAC,CAAC;aACjE;QACH,CAAC;QA6FD,MAAM,CACF,gBACgD,EAChD,iBACgD,EAChD,QAA2D;YAE7D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACW,CAAC;YAChD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiD,CAAC;gBAC3D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,qCAAqC,CAAC;yBAC5C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBACpC,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBAChC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA6B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACpE;iBAAM;gBACL,OAAO,oCAAgB,CAA6B,UAAU,CAAC,CAAC;aACjE;QACH,CAAC;KACF;IArwBY,wCAA6B,gCAqwBzC,CAAA;IAuID,MAAa,gBAAgB;QAE3B,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA8ED,MAAM,CACF,gBAC0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoC,CAAC;gBAC9C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,wBAAwB,CAAC;yBAC/B,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;QAgFD,GAAG,CAAC,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAgC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiC,CAAC;gBAC3C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,wBAAwB,CAAC;yBAC/B,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;QAgFD,YAAY,CACR,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAyC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0C,CAAC;gBACpD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,4BAA4B,CAAC;yBACnC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;QAuFD,MAAM,CACF,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoC,CAAC;gBAC9C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,eAAe,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBAC9D,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;QAgGD,IAAI,CACA,gBACoC,EACpC,iBAAsE,EACtE,QAA+C;YAEjD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAiC,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkC,CAAC;gBAC5C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,eAAe,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBAC9D,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxD;iBAAM;gBACL,OAAO,oCAAgB,CAAiB,UAAU,CAAC,CAAC;aACrD;QACH,CAAC;QA4BD,mBAAmB,CACf,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACW,CAAC;YAChD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiD,CAAC;gBAC3D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,4CAA4C,CAAC;yBACnD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,uBAAuB,CAAC;gBACnD,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;QA6FD,KAAK,CACD,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAkC,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmC,CAAC;gBAC7C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,wBAAwB,CAAC;yBAC/B,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;QAuFD,YAAY,CACR,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAyC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0C,CAAC;gBACpD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,4BAA4B,CAAC;yBACnC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;QA2FD,kBAAkB,CACd,gBACuD,EACvD,iBACuD,EACvD,QAAkE;YAEpE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACU,CAAC;YAC/C,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgD,CAAC;gBAC1D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,4CAA4C,CAAC;yBACnD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC;gBACzC,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CAAoC,UAAU,CAAC,CAAC;aACxE;QACH,CAAC;QA6FD,MAAM,CACF,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoC,CAAC;gBAC9C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,wBAAwB,CAAC;yBAC/B,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;KACF;IA/rCY,2BAAgB,mBA+rC5B,CAAA;IAkSD,MAAa,iBAAiB;QAE5B,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA4ED,IAAI,CACA,gBAC0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAkC,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmC,CAAC;gBAC7C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,2BAA2B,CAAC;yBAClC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,EAAE;gBAClB,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;KACF;IA5HY,4BAAiB,oBA4H7B,CAAA;IAgBD,MAAa,oCAAoC;QAE/C,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAoFD,MAAM,CACF,gBAC0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACkB,CAAC;YACvD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwD,CAAC;gBAClE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO,GAAG,kDAAkD,CAAC;yBACzD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBACpC,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBAChC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;QAkFD,GAAG,CAAC,gBACgD,EAChD,iBACgD,EAChD,QAA2D;YAE7D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACe,CAAC;YACpD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqD,CAAC;gBAC/D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO,GAAG,kDAAkD,CAAC;yBACzD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBACpC,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBAChC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA6B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACpE;iBAAM;gBACL,OAAO,oCAAgB,CAA6B,UAAU,CAAC,CAAC;aACjE;QACH,CAAC;QAmFD,MAAM,CACF,gBACgD,EAChD,iBACgD,EAChD,QAA2D;YAE7D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACkB,CAAC;YACvD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwD,CAAC;gBAClE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,yCAAyC,CAAC;yBAChD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA6B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACpE;iBAAM;gBACL,OAAO,oCAAgB,CAA6B,UAAU,CAAC,CAAC;aACjE;QACH,CAAC;QAiFD,IAAI,CACA,gBACiD,EACjD,iBACiD,EACjD,QAA4D;YAE9D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACgB,CAAC;YACrD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsD,CAAC;gBAChE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,yCAAyC,CAAC;yBAChD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA8B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrE;iBAAM;gBACL,OAAO,oCAAgB,CAA8B,UAAU,CAAC,CAAC;aAClE;QACH,CAAC;QA2FD,KAAK,CACD,gBACgD,EAChD,iBACgD,EAChD,QAA2D;YAE7D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACiB,CAAC;YACtD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAuD,CAAC;gBACjE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO,GAAG,kDAAkD,CAAC;yBACzD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBACpC,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBAChC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA6B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACpE;iBAAM;gBACL,OAAO,oCAAgB,CAA6B,UAAU,CAAC,CAAC;aACjE;QACH,CAAC;QA2FD,MAAM,CACF,gBACgD,EAChD,iBACgD,EAChD,QAA2D;YAE7D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACkB,CAAC;YACvD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwD,CAAC;gBAClE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO,GAAG,kDAAkD,CAAC;yBACzD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBACpC,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBAChC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA6B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACpE;iBAAM;gBACL,OAAO,oCAAgB,CAA6B,UAAU,CAAC,CAAC;aACjE;QACH,CAAC;KACF;IAjwBY,+CAAoC,uCAiwBhD,CAAA;IAiJD,MAAa,sBAAsB;QAEjC,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAiFD,MAAM,CACF,gBAC0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAyC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0C,CAAC;gBACpD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,2DAA2D,CAAC;yBACxD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,cAAc,CAAC;gBAC1C,UAAU,EAAE,CAAC,QAAQ,EAAE,cAAc,CAAC;gBACtC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;QAiFD,GAAG,CAAC,gBACyC,EACzC,iBACyC,EACzC,QAAoD;YAEtD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAsC,CAAC;YAClE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAuC,CAAC;gBACjD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,2DAA2D,CAAC;yBACxD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,cAAc,CAAC;gBAC1C,UAAU,EAAE,CAAC,QAAQ,EAAE,cAAc,CAAC;gBACtC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAsB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC7D;iBAAM;gBACL,OAAO,oCAAgB,CAAsB,UAAU,CAAC,CAAC;aAC1D;QACH,CAAC;QAqFD,MAAM,CACF,gBACyC,EACzC,iBACyC,EACzC,QAAoD;YAEtD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAyC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0C,CAAC;gBACpD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,4CAA4C,CAAC;yBACnD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAsB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC7D;iBAAM;gBACL,OAAO,oCAAgB,CAAsB,UAAU,CAAC,CAAC;aAC1D;QACH,CAAC;QA+ED,IAAI,CACA,gBAC0C,EAC1C,iBAC0C,EAC1C,QAAqD;YAEvD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAuC,CAAC;YACnE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwC,CAAC;gBAClD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,4CAA4C,CAAC;yBACnD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAuB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9D;iBAAM;gBACL,OAAO,oCAAgB,CAAuB,UAAU,CAAC,CAAC;aAC3D;QACH,CAAC;KACF;IAnfY,iCAAsB,yBAmflC,CAAA;IAiFD,MAAa,6BAA6B;QAExC,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA2FD,MAAM,CACF,gBAC0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACW,CAAC;YAChD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiD,CAAC;gBAC3D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,gDAAgD,CAAC;yBACvD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;gBAC9C,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;gBAC1C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;QA2FD,GAAG,CAAC,gBACgD,EAChD,iBACgD,EAChD,QAA2D;YAE7D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA6C,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8C,CAAC;gBACxD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,gDAAgD,CAAC;yBACvD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;gBAC9C,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;gBAC1C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA6B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACpE;iBAAM;gBACL,OAAO,oCAAgB,CAA6B,UAAU,CAAC,CAAC;aACjE;QACH,CAAC;QA4FD,MAAM,CACF,gBACgD,EAChD,iBACgD,EAChD,QAA2D;YAE7D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACW,CAAC;YAChD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiD,CAAC;gBAC3D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,uCAAuC,CAAC;yBAC9C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBACpC,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBAChC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA6B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACpE;iBAAM;gBACL,OAAO,oCAAgB,CAA6B,UAAU,CAAC,CAAC;aACjE;QACH,CAAC;QAwFD,IAAI,CACA,gBACiD,EACjD,iBACiD,EACjD,QAA4D;YAE9D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA8C,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA+C,CAAC;gBACzD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,uCAAuC,CAAC;yBAC9C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBACpC,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBAChC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA8B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrE;iBAAM;gBACL,OAAO,oCAAgB,CAA8B,UAAU,CAAC,CAAC;aAClE;QACH,CAAC;QAoGD,KAAK,CACD,gBACgD,EAChD,iBACgD,EAChD,QAA2D;YAE7D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACU,CAAC;YAC/C,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgD,CAAC;gBAC1D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,gDAAgD,CAAC;yBACvD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;gBAC9C,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;gBAC1C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA6B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACpE;iBAAM;gBACL,OAAO,oCAAgB,CAA6B,UAAU,CAAC,CAAC;aACjE;QACH,CAAC;QAoGD,MAAM,CACF,gBACgD,EAChD,iBACgD,EAChD,QAA2D;YAE7D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACW,CAAC;YAChD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiD,CAAC;gBAC3D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,gDAAgD,CAAC;yBACvD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;gBAC9C,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;gBAC1C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA6B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACpE;iBAAM;gBACL,OAAO,oCAAgB,CAA6B,UAAU,CAAC,CAAC;aACjE;QACH,CAAC;KACF;IA/yBY,wCAA6B,gCA+yBzC,CAAA;IAmMD,MAAa,gBAAgB;QAE3B,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAiGD,OAAO,CACH,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAoC,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqC,CAAC;gBAC/C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,iEAAiE,CAAC;yBAC9D,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;gBAC1D,UAAU,EAAE,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;gBACtD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;QAsHD,IAAI,CACA,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAiC,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkC,CAAC;gBAC5C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,kGAAkG,CAAC;yBAC/F,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE;oBACd,cAAc,EAAE,cAAc,EAAE,mBAAmB;oBACnD,mBAAmB;iBACpB;gBACD,UAAU,EAAE;oBACV,mBAAmB,EAAE,mBAAmB,EAAE,cAAc;oBACxD,cAAc;iBACf;gBACD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;QAyFD,MAAM,CACF,gBAC0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoC,CAAC;gBAC9C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,mCAAmC,CAAC;yBAC1C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBACpC,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBAChC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;QA6FD,GAAG,CAAC,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAgC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiC,CAAC;gBAC3C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,mCAAmC,CAAC;yBAC1C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBACpC,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBAChC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;QAuFD,YAAY,CACR,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAyC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0C,CAAC;gBACpD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,uCAAuC,CAAC;yBAC9C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBACpC,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBAChC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;QAyGD,MAAM,CACF,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoC,CAAC;gBAC9C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,0BAA0B,CAAC;yBACjC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,QAAQ,EAAE,CAAC,OAAO,GAAG,iCAAiC,CAAC;qBACxC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;gBAC5C,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;QAmGD,IAAI,CACA,gBACoC,EACpC,iBAAsE,EACtE,QAA+C;YAEjD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAiC,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkC,CAAC;gBAC5C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,0BAA0B,CAAC;yBACjC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxD;iBAAM;gBACL,OAAO,oCAAgB,CAAiB,UAAU,CAAC,CAAC;aACrD;QACH,CAAC;QAmGD,KAAK,CACD,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAkC,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmC,CAAC;gBAC7C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,mCAAmC,CAAC;yBAC1C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBACpC,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBAChC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;QAyHD,OAAO,CACH,gBAC4C,EAC5C,iBAC4C,EAC5C,QAAuD;YAEzD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAoC,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqC,CAAC;gBAC/C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,qGAAqG,CAAC;yBAClG,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE;oBACd,cAAc,EAAE,cAAc,EAAE,mBAAmB;oBACnD,mBAAmB;iBACpB;gBACD,UAAU,EAAE;oBACV,mBAAmB,EAAE,mBAAmB,EAAE,cAAc;oBACxD,cAAc;iBACf;gBACD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAyB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAChE;iBAAM;gBACL,OAAO,oCAAgB,CAAyB,UAAU,CAAC,CAAC;aAC7D;QACH,CAAC;QA8FD,YAAY,CACR,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAyC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0C,CAAC;gBACpD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,uCAAuC,CAAC;yBAC9C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBACpC,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBAChC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;QAkGD,kBAAkB,CACd,gBACuD,EACvD,iBACuD,EACvD,QAAkE;YAEpE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACU,CAAC;YAC/C,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgD,CAAC;gBAC1D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,uDAAuD,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,CAAC;gBACnD,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBAChC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CAAoC,UAAU,CAAC,CAAC;aACxE;QACH,CAAC;QAmGD,MAAM,CACF,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoC,CAAC;gBAC9C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,mCAAmC,CAAC;yBAC1C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBACpC,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBAChC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;QA4FD,QAAQ,CACJ,gBACoC,EACpC,iBAAsE,EACtE,QAA+C;YAEjD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAqC,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsC,CAAC;gBAChD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,gCAAgC,CAAC;yBACvC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxD;iBAAM;gBACL,OAAO,oCAAgB,CAAiB,UAAU,CAAC,CAAC;aACrD;QACH,CAAC;KACF;IAzyDY,2BAAgB,mBAyyD5B,CAAA;IA+wBD,MAAa,iBAAiB;QAG5B,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC,cAAc,GAAG,IAAI,gCAAgC,CAAC,IAAI,CAAC,CAAC;QACnE,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;KACF;IAZY,4BAAiB,oBAY7B,CAAA;IAGD,MAAa,gCAAgC;QAE3C,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA8ED,GAAG,CAAC,gBAC2C,EAC3C,iBAC2C,EAC3C,QAAsD;YAExD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACW,CAAC;YAChD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiD,CAAC;gBAC3D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,iDAAiD,CAAC;yBACxD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAwB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC/D;iBAAM;gBACL,OAAO,oCAAgB,CAAwB,UAAU,CAAC,CAAC;aAC5D;QACH,CAAC;KACF;IAhIY,2CAAgC,mCAgI5C,CAAA;AAiBH,CAAC,EAx6QgB,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAw6Q1B"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/storage/v1beta1.d.ts b/express-server/node_modules/googleapis/build/src/apis/storage/v1beta1.d.ts new file mode 100644 index 00000000..c9722c63 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/storage/v1beta1.d.ts @@ -0,0 +1,1242 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace storage_v1beta1 { + interface Options extends GlobalOptions { + version: 'v1beta1'; + } + /** + * Cloud Storage JSON API + * + * Lets you store and retrieve potentially-large, immutable data objects. + * + * @example + * const {google} = require('googleapis'); + * const storage = google.storage('v1beta1'); + * + * @namespace storage + * @type {Function} + * @version v1beta1 + * @variation v1beta1 + * @param {object=} options Options for Storage + */ + class Storage { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + bucketAccessControls: Resource$Bucketaccesscontrols; + buckets: Resource$Buckets; + objectAccessControls: Resource$Objectaccesscontrols; + objects: Resource$Objects; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * A bucket. + */ + interface Schema$Bucket { + /** + * Access controls on the bucket. + */ + acl?: Schema$BucketAccessControl[]; + /** + * Default access controls to apply to new objects when no ACL is provided. + */ + defaultObjectAcl?: Schema$ObjectAccessControl[]; + /** + * The name of the bucket. + */ + id?: string; + /** + * The kind of item this is. For buckets, this is always storage#bucket. + */ + kind?: string; + /** + * The location of the bucket. Object data for objects in the bucket resides + * in physical storage in this location. Can be US or EU. Defaults to US. + */ + location?: string; + /** + * The owner of the bucket. This will always be the project team's owner + * group. + */ + owner?: any; + /** + * The project the bucket belongs to. + */ + projectId?: string; + /** + * The URI of this bucket. + */ + selfLink?: string; + /** + * Creation time of the bucket in RFC 3339 format. + */ + timeCreated?: string; + /** + * The bucket's website configuration. + */ + website?: any; + } + /** + * An access-control entry. + */ + interface Schema$BucketAccessControl { + /** + * The name of the bucket. + */ + bucket?: string; + /** + * The domain associated with the entity, if any. + */ + domain?: string; + /** + * The email address associated with the entity, if any. + */ + email?: string; + /** + * The entity holding the permission, in one of the following forms: - + * user-userId - user-email - group-groupId - group-email - + * domain-domain - allUsers - allAuthenticatedUsers Examples: - The user + * liz@example.com would be user-liz@example.com. - The group + * example@googlegroups.com would be group-example@googlegroups.com. - To + * refer to all members of the Google Apps for Business domain example.com, + * the entity would be domain-example.com. + */ + entity?: string; + /** + * The ID for the entity, if any. + */ + entityId?: string; + /** + * The ID of the access-control entry. + */ + id?: string; + /** + * The kind of item this is. For bucket access control entries, this is + * always storage#bucketAccessControl. + */ + kind?: string; + /** + * The access permission for the entity. Can be READER, WRITER, or OWNER. + */ + role?: string; + /** + * The link to this access-control entry. + */ + selfLink?: string; + } + /** + * An access-control list. + */ + interface Schema$BucketAccessControls { + /** + * The list of items. + */ + items?: Schema$BucketAccessControl[]; + /** + * The kind of item this is. For lists of bucket access control entries, + * this is always storage#bucketAccessControls. + */ + kind?: string; + } + /** + * A list of buckets. + */ + interface Schema$Buckets { + /** + * The list of items. + */ + items?: Schema$Bucket[]; + /** + * The kind of item this is. For lists of buckets, this is always + * storage#buckets. + */ + kind?: string; + /** + * The continuation token, used to page through large result sets. Provide + * this value in a subsequent request to return the next page of results. + */ + nextPageToken?: string; + } + /** + * An object. + */ + interface Schema$Object { + /** + * Access controls on the object. + */ + acl?: Schema$ObjectAccessControl[]; + /** + * The bucket containing this object. + */ + bucket?: string; + /** + * Cache-Control directive for the object data. + */ + cacheControl?: string; + /** + * Content-Disposition of the object data. + */ + contentDisposition?: string; + /** + * Content-Encoding of the object data. + */ + contentEncoding?: string; + /** + * Content-Language of the object data. + */ + contentLanguage?: string; + /** + * The ID of the object. + */ + id?: string; + /** + * The kind of item this is. For objects, this is always storage#object. + */ + kind?: string; + /** + * Object media data. Provided on your behalf when uploading raw media or + * multipart/related with an auxiliary media part. + */ + media?: any; + /** + * User-provided metadata, in key/value pairs. + */ + metadata?: any; + /** + * The name of this object. Required if not specified by URL parameter. + */ + name?: string; + /** + * The owner of the object. This will always be the uploader of the object. + */ + owner?: any; + /** + * The link to this object. + */ + selfLink?: string; + } + /** + * An access-control entry. + */ + interface Schema$ObjectAccessControl { + /** + * The name of the bucket. + */ + bucket?: string; + /** + * The domain associated with the entity, if any. + */ + domain?: string; + /** + * The email address associated with the entity, if any. + */ + email?: string; + /** + * The entity holding the permission, in one of the following forms: - + * user-userId - user-email - group-groupId - group-email - + * domain-domain - allUsers - allAuthenticatedUsers Examples: - The user + * liz@example.com would be user-liz@example.com. - The group + * example@googlegroups.com would be group-example@googlegroups.com. - To + * refer to all members of the Google Apps for Business domain example.com, + * the entity would be domain-example.com. + */ + entity?: string; + /** + * The ID for the entity, if any. + */ + entityId?: string; + /** + * The ID of the access-control entry. + */ + id?: string; + /** + * The kind of item this is. For object access control entries, this is + * always storage#objectAccessControl. + */ + kind?: string; + /** + * The name of the object. + */ + object?: string; + /** + * The access permission for the entity. Can be READER or OWNER. + */ + role?: string; + /** + * The link to this access-control entry. + */ + selfLink?: string; + } + /** + * An access-control list. + */ + interface Schema$ObjectAccessControls { + /** + * The list of items. + */ + items?: Schema$ObjectAccessControl[]; + /** + * The kind of item this is. For lists of object access control entries, + * this is always storage#objectAccessControls. + */ + kind?: string; + } + /** + * A list of objects. + */ + interface Schema$Objects { + /** + * The list of items. + */ + items?: Schema$Object[]; + /** + * The kind of item this is. For lists of objects, this is always + * storage#objects. + */ + kind?: string; + /** + * The continuation token, used to page through large result sets. Provide + * this value in a subsequent request to return the next page of results. + */ + nextPageToken?: string; + /** + * The list of prefixes of objects matching-but-not-listed up to and + * including the requested delimiter. + */ + prefixes?: string[]; + } + class Resource$Bucketaccesscontrols { + root: Storage; + constructor(root: Storage); + getRoot(): Storage; + /** + * storage.bucketAccessControls.delete + * @desc Deletes the ACL entry for the specified entity on the specified + * bucket. + * @alias storage.bucketAccessControls.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string} params.entity The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + * @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?: Params$Resource$Bucketaccesscontrols$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Bucketaccesscontrols$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Bucketaccesscontrols$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * storage.bucketAccessControls.get + * @desc Returns the ACL entry for the specified entity on the specified + * bucket. + * @alias storage.bucketAccessControls.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string} params.entity The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + * @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?: Params$Resource$Bucketaccesscontrols$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Bucketaccesscontrols$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Bucketaccesscontrols$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * storage.bucketAccessControls.insert + * @desc Creates a new ACL entry on the specified bucket. + * @alias storage.bucketAccessControls.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {().BucketAccessControl} 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?: Params$Resource$Bucketaccesscontrols$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Bucketaccesscontrols$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Bucketaccesscontrols$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * storage.bucketAccessControls.list + * @desc Retrieves ACL entries on the specified bucket. + * @alias storage.bucketAccessControls.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @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?: Params$Resource$Bucketaccesscontrols$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Bucketaccesscontrols$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Bucketaccesscontrols$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * storage.bucketAccessControls.patch + * @desc Updates an ACL entry on the specified bucket. This method supports + * patch semantics. + * @alias storage.bucketAccessControls.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string} params.entity The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + * @param {().BucketAccessControl} 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 + */ + patch(params?: Params$Resource$Bucketaccesscontrols$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Bucketaccesscontrols$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Bucketaccesscontrols$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * storage.bucketAccessControls.update + * @desc Updates an ACL entry on the specified bucket. + * @alias storage.bucketAccessControls.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string} params.entity The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + * @param {().BucketAccessControl} 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?: Params$Resource$Bucketaccesscontrols$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Bucketaccesscontrols$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Bucketaccesscontrols$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Bucketaccesscontrols$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * The entity holding the permission. Can be user-userId, user-emailAddress, + * group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + */ + entity?: string; + } + interface Params$Resource$Bucketaccesscontrols$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * The entity holding the permission. Can be user-userId, user-emailAddress, + * group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + */ + entity?: string; + } + interface Params$Resource$Bucketaccesscontrols$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BucketAccessControl; + } + interface Params$Resource$Bucketaccesscontrols$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + } + interface Params$Resource$Bucketaccesscontrols$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * The entity holding the permission. Can be user-userId, user-emailAddress, + * group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + */ + entity?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BucketAccessControl; + } + interface Params$Resource$Bucketaccesscontrols$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * The entity holding the permission. Can be user-userId, user-emailAddress, + * group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + */ + entity?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BucketAccessControl; + } + class Resource$Buckets { + root: Storage; + constructor(root: Storage); + getRoot(): Storage; + /** + * storage.buckets.delete + * @desc Deletes an empty bucket. + * @alias storage.buckets.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @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?: Params$Resource$Buckets$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Buckets$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Buckets$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * storage.buckets.get + * @desc Returns metadata for the specified bucket. + * @alias storage.buckets.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string=} params.projection Set of properties to return. Defaults to no_acl. + * @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?: Params$Resource$Buckets$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Buckets$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Buckets$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * storage.buckets.insert + * @desc Creates a new bucket. + * @alias storage.buckets.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.projection Set of properties to return. Defaults to no_acl, unless the bucket resource specifies acl or defaultObjectAcl properties, when it defaults to full. + * @param {().Bucket} 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?: Params$Resource$Buckets$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Buckets$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Buckets$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * storage.buckets.list + * @desc Retrieves a list of buckets for a given project. + * @alias storage.buckets.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.max-results Maximum number of buckets to return. + * @param {string=} params.pageToken A previously-returned page token representing part of the larger set of results to view. + * @param {string} params.projectId A valid API project identifier. + * @param {string=} params.projection Set of properties to return. Defaults to no_acl. + * @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?: Params$Resource$Buckets$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Buckets$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Buckets$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * storage.buckets.patch + * @desc Updates a bucket. This method supports patch semantics. + * @alias storage.buckets.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string=} params.projection Set of properties to return. Defaults to full. + * @param {().Bucket} 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 + */ + patch(params?: Params$Resource$Buckets$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Buckets$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Buckets$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * storage.buckets.update + * @desc Updates a bucket. + * @alias storage.buckets.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string=} params.projection Set of properties to return. Defaults to full. + * @param {().Bucket} 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?: Params$Resource$Buckets$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Buckets$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Buckets$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Buckets$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + } + interface Params$Resource$Buckets$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * Set of properties to return. Defaults to no_acl. + */ + projection?: string; + } + interface Params$Resource$Buckets$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Set of properties to return. Defaults to no_acl, unless the bucket + * resource specifies acl or defaultObjectAcl properties, when it defaults + * to full. + */ + projection?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Bucket; + } + interface Params$Resource$Buckets$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Maximum number of buckets to return. + */ + 'max-results'?: number; + /** + * A previously-returned page token representing part of the larger set of + * results to view. + */ + pageToken?: string; + /** + * A valid API project identifier. + */ + projectId?: string; + /** + * Set of properties to return. Defaults to no_acl. + */ + projection?: string; + } + interface Params$Resource$Buckets$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * Set of properties to return. Defaults to full. + */ + projection?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Bucket; + } + interface Params$Resource$Buckets$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * Set of properties to return. Defaults to full. + */ + projection?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Bucket; + } + class Resource$Objectaccesscontrols { + root: Storage; + constructor(root: Storage); + getRoot(): Storage; + /** + * storage.objectAccessControls.delete + * @desc Deletes the ACL entry for the specified entity on the specified + * object. + * @alias storage.objectAccessControls.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string} params.entity The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + * @param {string} params.object Name of the object. + * @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?: Params$Resource$Objectaccesscontrols$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Objectaccesscontrols$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Objectaccesscontrols$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * storage.objectAccessControls.get + * @desc Returns the ACL entry for the specified entity on the specified + * object. + * @alias storage.objectAccessControls.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string} params.entity The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + * @param {string} params.object Name of the object. + * @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?: Params$Resource$Objectaccesscontrols$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Objectaccesscontrols$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Objectaccesscontrols$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * storage.objectAccessControls.insert + * @desc Creates a new ACL entry on the specified object. + * @alias storage.objectAccessControls.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string} params.object Name of the object. + * @param {().ObjectAccessControl} 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?: Params$Resource$Objectaccesscontrols$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Objectaccesscontrols$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Objectaccesscontrols$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * storage.objectAccessControls.list + * @desc Retrieves ACL entries on the specified object. + * @alias storage.objectAccessControls.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string} params.object Name of the object. + * @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?: Params$Resource$Objectaccesscontrols$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Objectaccesscontrols$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Objectaccesscontrols$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * storage.objectAccessControls.patch + * @desc Updates an ACL entry on the specified object. This method supports + * patch semantics. + * @alias storage.objectAccessControls.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string} params.entity The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + * @param {string} params.object Name of the object. + * @param {().ObjectAccessControl} 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 + */ + patch(params?: Params$Resource$Objectaccesscontrols$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Objectaccesscontrols$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Objectaccesscontrols$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * storage.objectAccessControls.update + * @desc Updates an ACL entry on the specified object. + * @alias storage.objectAccessControls.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string} params.entity The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + * @param {string} params.object Name of the object. + * @param {().ObjectAccessControl} 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?: Params$Resource$Objectaccesscontrols$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Objectaccesscontrols$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Objectaccesscontrols$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Objectaccesscontrols$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * The entity holding the permission. Can be user-userId, user-emailAddress, + * group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + */ + entity?: string; + /** + * Name of the object. + */ + object?: string; + } + interface Params$Resource$Objectaccesscontrols$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * The entity holding the permission. Can be user-userId, user-emailAddress, + * group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + */ + entity?: string; + /** + * Name of the object. + */ + object?: string; + } + interface Params$Resource$Objectaccesscontrols$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * Name of the object. + */ + object?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ObjectAccessControl; + } + interface Params$Resource$Objectaccesscontrols$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * Name of the object. + */ + object?: string; + } + interface Params$Resource$Objectaccesscontrols$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * The entity holding the permission. Can be user-userId, user-emailAddress, + * group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + */ + entity?: string; + /** + * Name of the object. + */ + object?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ObjectAccessControl; + } + interface Params$Resource$Objectaccesscontrols$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * The entity holding the permission. Can be user-userId, user-emailAddress, + * group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + */ + entity?: string; + /** + * Name of the object. + */ + object?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ObjectAccessControl; + } + class Resource$Objects { + root: Storage; + constructor(root: Storage); + getRoot(): Storage; + /** + * storage.objects.delete + * @desc Deletes data blobs and associated metadata. + * @alias storage.objects.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of the bucket in which the object resides. + * @param {string} params.object Name of the object. + * @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?: Params$Resource$Objects$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Objects$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Objects$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * storage.objects.get + * @desc Retrieves objects or their associated metadata. + * @alias storage.objects.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of the bucket in which the object resides. + * @param {string} params.object Name of the object. + * @param {string=} params.projection Set of properties to return. Defaults to no_acl. + * @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?: Params$Resource$Objects$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Objects$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Objects$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * storage.objects.insert + * @desc Stores new data blobs and associated metadata. + * @alias storage.objects.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of the bucket in which to store the new object. Overrides the provided object metadata's bucket value, if any. + * @param {string=} params.name Name of the object. Required when the object metadata is not otherwise provided. Overrides the object metadata's name value, if any. + * @param {string=} params.projection Set of properties to return. Defaults to no_acl, unless the object resource specifies the acl property, when it defaults to full. + * @param {object} params.resource Media resource metadata + * @param {object} params.media Media object + * @param {string} params.media.mimeType Media mime-type + * @param {string|object} params.media.body Media body contents + * @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?: Params$Resource$Objects$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Objects$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Objects$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * storage.objects.list + * @desc Retrieves a list of objects matching the criteria. + * @alias storage.objects.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of the bucket in which to look for objects. + * @param {string=} params.delimiter Returns results in a directory-like mode. items will contain only objects whose names, aside from the prefix, do not contain delimiter. Objects whose names, aside from the prefix, contain delimiter will have their name, truncated after the delimiter, returned in prefixes. Duplicate prefixes are omitted. + * @param {integer=} params.max-results Maximum number of items plus prefixes to return. As duplicate prefixes are omitted, fewer total results may be returned than requested. + * @param {string=} params.pageToken A previously-returned page token representing part of the larger set of results to view. + * @param {string=} params.prefix Filter results to objects whose names begin with this prefix. + * @param {string=} params.projection Set of properties to return. Defaults to no_acl. + * @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?: Params$Resource$Objects$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Objects$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Objects$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * storage.objects.patch + * @desc Updates a data blob's associated metadata. This method supports + * patch semantics. + * @alias storage.objects.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of the bucket in which the object resides. + * @param {string} params.object Name of the object. + * @param {string=} params.projection Set of properties to return. Defaults to full. + * @param {().Object} 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 + */ + patch(params?: Params$Resource$Objects$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Objects$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Objects$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * storage.objects.update + * @desc Updates a data blob's associated metadata. + * @alias storage.objects.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of the bucket in which the object resides. + * @param {string} params.object Name of the object. + * @param {string=} params.projection Set of properties to return. Defaults to full. + * @param {().Object} 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?: Params$Resource$Objects$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Objects$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Objects$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Objects$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the bucket in which the object resides. + */ + bucket?: string; + /** + * Name of the object. + */ + object?: string; + } + interface Params$Resource$Objects$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the bucket in which the object resides. + */ + bucket?: string; + /** + * Name of the object. + */ + object?: string; + /** + * Set of properties to return. Defaults to no_acl. + */ + projection?: string; + } + interface Params$Resource$Objects$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the bucket in which to store the new object. Overrides the + * provided object metadata's bucket value, if any. + */ + bucket?: string; + /** + * Name of the object. Required when the object metadata is not otherwise + * provided. Overrides the object metadata's name value, if any. + */ + name?: string; + /** + * Set of properties to return. Defaults to no_acl, unless the object + * resource specifies the acl property, when it defaults to full. + */ + projection?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Object; + /** + * Media metadata + */ + media?: { + /** + * Media mime-type + */ + mediaType?: string; + /** + * Media body contents + */ + body?: any; + }; + } + interface Params$Resource$Objects$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the bucket in which to look for objects. + */ + bucket?: string; + /** + * Returns results in a directory-like mode. items will contain only objects + * whose names, aside from the prefix, do not contain delimiter. Objects + * whose names, aside from the prefix, contain delimiter will have their + * name, truncated after the delimiter, returned in prefixes. Duplicate + * prefixes are omitted. + */ + delimiter?: string; + /** + * Maximum number of items plus prefixes to return. As duplicate prefixes + * are omitted, fewer total results may be returned than requested. + */ + 'max-results'?: number; + /** + * A previously-returned page token representing part of the larger set of + * results to view. + */ + pageToken?: string; + /** + * Filter results to objects whose names begin with this prefix. + */ + prefix?: string; + /** + * Set of properties to return. Defaults to no_acl. + */ + projection?: string; + } + interface Params$Resource$Objects$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the bucket in which the object resides. + */ + bucket?: string; + /** + * Name of the object. + */ + object?: string; + /** + * Set of properties to return. Defaults to full. + */ + projection?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Object; + } + interface Params$Resource$Objects$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the bucket in which the object resides. + */ + bucket?: string; + /** + * Name of the object. + */ + object?: string; + /** + * Set of properties to return. Defaults to full. + */ + projection?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Object; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/storage/v1beta1.js b/express-server/node_modules/googleapis/build/src/apis/storage/v1beta1.js new file mode 100644 index 00000000..03a65f54 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/storage/v1beta1.js @@ -0,0 +1,848 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var storage_v1beta1; +(function (storage_v1beta1) { + /** + * Cloud Storage JSON API + * + * Lets you store and retrieve potentially-large, immutable data objects. + * + * @example + * const {google} = require('googleapis'); + * const storage = google.storage('v1beta1'); + * + * @namespace storage + * @type {Function} + * @version v1beta1 + * @variation v1beta1 + * @param {object=} options Options for Storage + */ + class Storage { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.bucketAccessControls = new Resource$Bucketaccesscontrols(this); + this.buckets = new Resource$Buckets(this); + this.objectAccessControls = new Resource$Objectaccesscontrols(this); + this.objects = new Resource$Objects(this); + } + getRoot() { + return this.root; + } + } + storage_v1beta1.Storage = Storage; + class Resource$Bucketaccesscontrols { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1beta1/b/{bucket}/acl/{entity}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['bucket', 'entity'], + pathParams: ['bucket', 'entity'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1beta1/b/{bucket}/acl/{entity}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['bucket', 'entity'], + pathParams: ['bucket', 'entity'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1beta1/b/{bucket}/acl') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['bucket'], + pathParams: ['bucket'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1beta1/b/{bucket}/acl') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['bucket'], + pathParams: ['bucket'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1beta1/b/{bucket}/acl/{entity}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['bucket', 'entity'], + pathParams: ['bucket', 'entity'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1beta1/b/{bucket}/acl/{entity}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['bucket', 'entity'], + pathParams: ['bucket', 'entity'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + storage_v1beta1.Resource$Bucketaccesscontrols = Resource$Bucketaccesscontrols; + class Resource$Buckets { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1beta1/b/{bucket}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['bucket'], + pathParams: ['bucket'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1beta1/b/{bucket}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['bucket'], + pathParams: ['bucket'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1beta1/b') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1beta1/b') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1beta1/b/{bucket}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['bucket'], + pathParams: ['bucket'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1beta1/b/{bucket}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['bucket'], + pathParams: ['bucket'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + storage_v1beta1.Resource$Buckets = Resource$Buckets; + class Resource$Objectaccesscontrols { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/storage/v1beta1/b/{bucket}/o/{object}/acl/{entity}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['bucket', 'object', 'entity'], + pathParams: ['bucket', 'entity', 'object'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/storage/v1beta1/b/{bucket}/o/{object}/acl/{entity}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['bucket', 'object', 'entity'], + pathParams: ['bucket', 'entity', 'object'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1beta1/b/{bucket}/o/{object}/acl') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['bucket', 'object'], + pathParams: ['bucket', 'object'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1beta1/b/{bucket}/o/{object}/acl') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['bucket', 'object'], + pathParams: ['bucket', 'object'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/storage/v1beta1/b/{bucket}/o/{object}/acl/{entity}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['bucket', 'object', 'entity'], + pathParams: ['bucket', 'entity', 'object'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/storage/v1beta1/b/{bucket}/o/{object}/acl/{entity}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['bucket', 'object', 'entity'], + pathParams: ['bucket', 'entity', 'object'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + storage_v1beta1.Resource$Objectaccesscontrols = Resource$Objectaccesscontrols; + class Resource$Objects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1beta1/b/{bucket}/o/{object}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['bucket', 'object'], + pathParams: ['bucket', 'object'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1beta1/b/{bucket}/o/{object}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['bucket', 'object'], + pathParams: ['bucket', 'object'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1beta1/b/{bucket}/o') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + mediaUrl: (rootUrl + '/upload/storage/v1beta1/b/{bucket}/o') + .replace(/([^:]\/)\/+/g, '$1'), + requiredParams: ['bucket'], + pathParams: ['bucket'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1beta1/b/{bucket}/o') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['bucket'], + pathParams: ['bucket'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1beta1/b/{bucket}/o/{object}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['bucket', 'object'], + pathParams: ['bucket', 'object'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1beta1/b/{bucket}/o/{object}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['bucket', 'object'], + pathParams: ['bucket', 'object'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + storage_v1beta1.Resource$Objects = Resource$Objects; +})(storage_v1beta1 = exports.storage_v1beta1 || (exports.storage_v1beta1 = {})); +//# sourceMappingURL=v1beta1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/storage/v1beta1.js.map b/express-server/node_modules/googleapis/build/src/apis/storage/v1beta1.js.map new file mode 100644 index 00000000..b7060a6a --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/storage/v1beta1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1beta1.js","sourceRoot":"","sources":["../../../../src/apis/storage/v1beta1.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAIH,yDAA2H;AAE3H,yBAAyB;AACzB,6BAA6B;AAC7B,gCAAgC;AAChC,+BAA+B;AAC/B,+BAA+B;AAE/B,IAAiB,eAAe,CAy7E/B;AAz7ED,WAAiB,eAAe;IAK9B;;;;;;;;;;;;;;OAcG;IACH,MAAa,OAAO;QAUlB,YAAY,OAAsB,EAAE,MAA2B;YAP/D,SAAI,GAAG,IAAI,CAAC;YAQV,IAAI,CAAC,QAAQ,GAAG,OAAO,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAExB,IAAI,CAAC,oBAAoB,GAAG,IAAI,6BAA6B,CAAC,IAAI,CAAC,CAAC;YACpE,IAAI,CAAC,OAAO,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,CAAC,oBAAoB,GAAG,IAAI,6BAA6B,CAAC,IAAI,CAAC,CAAC;YACpE,IAAI,CAAC,OAAO,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;KACF;IAxBY,uBAAO,UAwBnB,CAAA;IAwRD,MAAa,6BAA6B;QAExC,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA4BD,MAAM,CACF,gBAC0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACW,CAAC;YAChD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiD,CAAC;gBAC3D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,0CAA0C,CAAC;yBACjD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBACpC,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBAChC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;QAyBD,GAAG,CAAC,gBACgD,EAChD,iBACgD,EAChD,QAA2D;YAE7D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA6C,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8C,CAAC;gBACxD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,0CAA0C,CAAC;yBACjD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBACpC,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBAChC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA6B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACpE;iBAAM;gBACL,OAAO,oCAAgB,CAA6B,UAAU,CAAC,CAAC;aACjE;QACH,CAAC;QA2BD,MAAM,CACF,gBACgD,EAChD,iBACgD,EAChD,QAA2D;YAE7D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACW,CAAC;YAChD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiD,CAAC;gBAC3D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,iCAAiC,CAAC;yBACxC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA6B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACpE;iBAAM;gBACL,OAAO,oCAAgB,CAA6B,UAAU,CAAC,CAAC;aACjE;QACH,CAAC;QA2BD,IAAI,CACA,gBACiD,EACjD,iBACiD,EACjD,QAA4D;YAE9D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA8C,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA+C,CAAC;gBACzD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,iCAAiC,CAAC;yBACxC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA8B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrE;iBAAM;gBACL,OAAO,oCAAgB,CAA8B,UAAU,CAAC,CAAC;aAClE;QACH,CAAC;QA6BD,KAAK,CACD,gBACgD,EAChD,iBACgD,EAChD,QAA2D;YAE7D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACU,CAAC;YAC/C,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgD,CAAC;gBAC1D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,0CAA0C,CAAC;yBACjD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBACpC,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBAChC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA6B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACpE;iBAAM;gBACL,OAAO,oCAAgB,CAA6B,UAAU,CAAC,CAAC;aACjE;QACH,CAAC;QA4BD,MAAM,CACF,gBACgD,EAChD,iBACgD,EAChD,QAA2D;YAE7D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACW,CAAC;YAChD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiD,CAAC;gBAC3D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,0CAA0C,CAAC;yBACjD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBACpC,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBAChC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA6B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACpE;iBAAM;gBACL,OAAO,oCAAgB,CAA6B,UAAU,CAAC,CAAC;aACjE;QACH,CAAC;KACF;IAjaY,6CAA6B,gCAiazC,CAAA;IAyGD,MAAa,gBAAgB;QAE3B,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAyBD,MAAM,CACF,gBAC0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoC,CAAC;gBAC9C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,6BAA6B,CAAC;yBACpC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;QAwBD,GAAG,CAAC,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAgC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiC,CAAC;gBAC3C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,6BAA6B,CAAC;yBACpC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;QA0BD,MAAM,CACF,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoC,CAAC;gBAC9C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,oBAAoB,CAAC;yBAC3B,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,EAAE;gBAClB,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;QA4BD,IAAI,CACA,gBACoC,EACpC,iBAAsE,EACtE,QAA+C;YAEjD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAiC,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkC,CAAC;gBAC5C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,oBAAoB,CAAC;yBAC3B,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxD;iBAAM;gBACL,OAAO,oCAAgB,CAAiB,UAAU,CAAC,CAAC;aACrD;QACH,CAAC;QA2BD,KAAK,CACD,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAkC,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmC,CAAC;gBAC7C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,6BAA6B,CAAC;yBACpC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;QA2BD,MAAM,CACF,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoC,CAAC;gBAC9C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,6BAA6B,CAAC;yBACpC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;KACF;IA/YY,gCAAgB,mBA+Y5B,CAAA;IAgHD,MAAa,6BAA6B;QAExC,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA6BD,MAAM,CACF,gBAC0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACW,CAAC;YAChD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiD,CAAC;gBAC3D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,qDAAqD,CAAC;yBAClD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;gBAC9C,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;gBAC1C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;QA0BD,GAAG,CAAC,gBACgD,EAChD,iBACgD,EAChD,QAA2D;YAE7D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA6C,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA8C,CAAC;gBACxD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,qDAAqD,CAAC;yBAClD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;gBAC9C,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;gBAC1C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA6B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACpE;iBAAM;gBACL,OAAO,oCAAgB,CAA6B,UAAU,CAAC,CAAC;aACjE;QACH,CAAC;QA4BD,MAAM,CACF,gBACgD,EAChD,iBACgD,EAChD,QAA2D;YAE7D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACW,CAAC;YAChD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiD,CAAC;gBAC3D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,4CAA4C,CAAC;yBACnD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBACpC,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBAChC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA6B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACpE;iBAAM;gBACL,OAAO,oCAAgB,CAA6B,UAAU,CAAC,CAAC;aACjE;QACH,CAAC;QA4BD,IAAI,CACA,gBACiD,EACjD,iBACiD,EACjD,QAA4D;YAE9D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA8C,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA+C,CAAC;gBACzD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,4CAA4C,CAAC;yBACnD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBACpC,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBAChC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA8B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrE;iBAAM;gBACL,OAAO,oCAAgB,CAA8B,UAAU,CAAC,CAAC;aAClE;QACH,CAAC;QA8BD,KAAK,CACD,gBACgD,EAChD,iBACgD,EAChD,QAA2D;YAE7D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACU,CAAC;YAC/C,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAgD,CAAC;gBAC1D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,qDAAqD,CAAC;yBAClD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;gBAC9C,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;gBAC1C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA6B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACpE;iBAAM;gBACL,OAAO,oCAAgB,CAA6B,UAAU,CAAC,CAAC;aACjE;QACH,CAAC;QA6BD,MAAM,CACF,gBACgD,EAChD,iBACgD,EAChD,QAA2D;YAE7D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACW,CAAC;YAChD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiD,CAAC;gBAC3D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,qDAAqD,CAAC;yBAClD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;gBAC9C,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;gBAC1C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA6B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACpE;iBAAM;gBACL,OAAO,oCAAgB,CAA6B,UAAU,CAAC,CAAC;aACjE;QACH,CAAC;KACF;IA3aY,6CAA6B,gCA2azC,CAAA;IAiID,MAAa,gBAAgB;QAE3B,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA0BD,MAAM,CACF,gBAC0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoC,CAAC;gBAC9C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,wCAAwC,CAAC;yBAC/C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBACpC,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBAChC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;QAyBD,GAAG,CAAC,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAgC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiC,CAAC;gBAC3C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,wCAAwC,CAAC;yBAC/C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBACpC,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBAChC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;QA+BD,MAAM,CACF,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoC,CAAC;gBAC9C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,+BAA+B,CAAC;yBACtC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,QAAQ,EAAE,CAAC,OAAO,GAAG,sCAAsC,CAAC;qBAC7C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;gBAC5C,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;QA8BD,IAAI,CACA,gBACoC,EACpC,iBAAsE,EACtE,QAA+C;YAEjD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAiC,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkC,CAAC;gBAC5C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,+BAA+B,CAAC;yBACtC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxD;iBAAM;gBACL,OAAO,oCAAgB,CAAiB,UAAU,CAAC,CAAC;aACrD;QACH,CAAC;QA6BD,KAAK,CACD,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAkC,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmC,CAAC;gBAC7C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,wCAAwC,CAAC;yBAC/C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,OAAO;iBAChB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBACpC,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBAChC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;QA4BD,MAAM,CACF,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoC,CAAC;gBAC9C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,wCAAwC,CAAC;yBAC/C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBACpC,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBAChC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;KACF;IA7ZY,gCAAgB,mBA6Z5B,CAAA;AAmKH,CAAC,EAz7EgB,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAy7E/B"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/storage/v1beta2.d.ts b/express-server/node_modules/googleapis/build/src/apis/storage/v1beta2.d.ts new file mode 100644 index 00000000..36fc0bce --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/storage/v1beta2.d.ts @@ -0,0 +1,2117 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace storage_v1beta2 { + interface Options extends GlobalOptions { + version: 'v1beta2'; + } + /** + * Cloud Storage JSON API + * + * Lets you store and retrieve potentially-large, immutable data objects. + * + * @example + * const {google} = require('googleapis'); + * const storage = google.storage('v1beta2'); + * + * @namespace storage + * @type {Function} + * @version v1beta2 + * @variation v1beta2 + * @param {object=} options Options for Storage + */ + class Storage { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + bucketAccessControls: Resource$Bucketaccesscontrols; + buckets: Resource$Buckets; + channels: Resource$Channels; + defaultObjectAccessControls: Resource$Defaultobjectaccesscontrols; + objectAccessControls: Resource$Objectaccesscontrols; + objects: Resource$Objects; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * A bucket. + */ + interface Schema$Bucket { + /** + * Access controls on the bucket. + */ + acl?: Schema$BucketAccessControl[]; + /** + * The bucket's Cross-Origin Resource Sharing (CORS) configuration. + */ + cors?: any[]; + /** + * Default access controls to apply to new objects when no ACL is provided. + */ + defaultObjectAcl?: Schema$ObjectAccessControl[]; + /** + * HTTP 1.1 Entity tag for the bucket. + */ + etag?: string; + /** + * The ID of the bucket. + */ + id?: string; + /** + * The kind of item this is. For buckets, this is always storage#bucket. + */ + kind?: string; + /** + * The bucket's lifecycle configuration. See object lifecycle management + * for more information. + */ + lifecycle?: any; + /** + * The location of the bucket. Object data for objects in the bucket resides + * in physical storage within this region. Typical values are US and EU. + * Defaults to US. See the developer's guide for the authoritative list. + */ + location?: string; + /** + * The bucket's logging configuration, which defines the destination + * bucket and optional name prefix for the current bucket's logs. + */ + logging?: any; + /** + * The metadata generation of this bucket. + */ + metageneration?: string; + /** + * The name of the bucket. + */ + name?: string; + /** + * The owner of the bucket. This is always the project team's owner + * group. + */ + owner?: any; + /** + * The URI of this bucket. + */ + selfLink?: string; + /** + * The bucket's storage class. This defines how objects in the bucket + * are stored and determines the SLA and the cost of storage. Typical values + * are STANDARD and DURABLE_REDUCED_AVAILABILITY. Defaults to STANDARD. See + * the developer's guide for the authoritative list. + */ + storageClass?: string; + /** + * Creation time of the bucket in RFC 3339 format. + */ + timeCreated?: string; + /** + * The bucket's versioning configuration. + */ + versioning?: any; + /** + * The bucket's website configuration. + */ + website?: any; + } + /** + * An access-control entry. + */ + interface Schema$BucketAccessControl { + /** + * The name of the bucket. + */ + bucket?: string; + /** + * The domain associated with the entity, if any. + */ + domain?: string; + /** + * The email address associated with the entity, if any. + */ + email?: string; + /** + * The entity holding the permission, in one of the following forms: - + * user-userId - user-email - group-groupId - group-email - + * domain-domain - allUsers - allAuthenticatedUsers Examples: - The user + * liz@example.com would be user-liz@example.com. - The group + * example@googlegroups.com would be group-example@googlegroups.com. - To + * refer to all members of the Google Apps for Business domain example.com, + * the entity would be domain-example.com. + */ + entity?: string; + /** + * The ID for the entity, if any. + */ + entityId?: string; + /** + * HTTP 1.1 Entity tag for the access-control entry. + */ + etag?: string; + /** + * The ID of the access-control entry. + */ + id?: string; + /** + * The kind of item this is. For bucket access control entries, this is + * always storage#bucketAccessControl. + */ + kind?: string; + /** + * The access permission for the entity. Can be READER, WRITER, or OWNER. + */ + role?: string; + /** + * The link to this access-control entry. + */ + selfLink?: string; + } + /** + * An access-control list. + */ + interface Schema$BucketAccessControls { + /** + * The list of items. + */ + items?: Schema$BucketAccessControl[]; + /** + * The kind of item this is. For lists of bucket access control entries, + * this is always storage#bucketAccessControls. + */ + kind?: string; + } + /** + * A list of buckets. + */ + interface Schema$Buckets { + /** + * The list of items. + */ + items?: Schema$Bucket[]; + /** + * The kind of item this is. For lists of buckets, this is always + * storage#buckets. + */ + kind?: string; + /** + * The continuation token, used to page through large result sets. Provide + * this value in a subsequent request to return the next page of results. + */ + nextPageToken?: string; + } + /** + * An notification channel used to watch for resource changes. + */ + interface Schema$Channel { + /** + * The address where notifications are delivered for this channel. + */ + address?: string; + /** + * Date and time of notification channel expiration, expressed as a Unix + * timestamp, in milliseconds. Optional. + */ + expiration?: string; + /** + * A UUID or similar unique string that identifies this channel. + */ + id?: string; + /** + * Identifies this as a notification channel used to watch for changes to a + * resource. Value: the fixed string "api#channel". + */ + kind?: string; + /** + * Additional parameters controlling delivery channel behavior. Optional. + */ + params?: any; + /** + * A Boolean value to indicate whether payload is wanted. Optional. + */ + payload?: boolean; + /** + * An opaque ID that identifies the resource being watched on this channel. + * Stable across different API versions. + */ + resourceId?: string; + /** + * A version-specific identifier for the watched resource. + */ + resourceUri?: string; + /** + * An arbitrary string delivered to the target address with each + * notification delivered over this channel. Optional. + */ + token?: string; + /** + * The type of delivery mechanism used for this channel. + */ + type?: string; + } + /** + * A Compose request. + */ + interface Schema$ComposeRequest { + /** + * Properties of the resulting object + */ + destination?: Schema$Object; + /** + * The kind of item this is. + */ + kind?: string; + /** + * The list of source objects that will be concatenated into a single + * object. + */ + sourceObjects?: any[]; + } + /** + * An object. + */ + interface Schema$Object { + /** + * Access controls on the object. + */ + acl?: Schema$ObjectAccessControl[]; + /** + * The bucket containing this object. + */ + bucket?: string; + /** + * Cache-Control directive for the object data. + */ + cacheControl?: string; + /** + * Number of underlying components that make up this object. Components are + * accumulated by compose operations and are limited to a count of 32. + */ + componentCount?: number; + /** + * Content-Disposition of the object data. + */ + contentDisposition?: string; + /** + * Content-Encoding of the object data. + */ + contentEncoding?: string; + /** + * Content-Language of the object data. + */ + contentLanguage?: string; + /** + * Content-Type of the object data. + */ + contentType?: string; + /** + * CRC32c checksum, as described in RFC 4960, Appendix B; encoded using + * base64. + */ + crc32c?: string; + /** + * HTTP 1.1 Entity tag for the object. + */ + etag?: string; + /** + * The content generation of this object. Used for object versioning. + */ + generation?: string; + /** + * The ID of the object. + */ + id?: string; + /** + * The kind of item this is. For objects, this is always storage#object. + */ + kind?: string; + /** + * MD5 hash of the data; encoded using base64. + */ + md5Hash?: string; + /** + * Media download link. + */ + mediaLink?: string; + /** + * User-provided metadata, in key/value pairs. + */ + metadata?: any; + /** + * The generation of the metadata for this object at this generation. Used + * for metadata versioning. Has no meaning outside of the context of this + * generation. + */ + metageneration?: string; + /** + * The name of this object. Required if not specified by URL parameter. + */ + name?: string; + /** + * The owner of the object. This will always be the uploader of the object. + */ + owner?: any; + /** + * The link to this object. + */ + selfLink?: string; + /** + * Content-Length of the data in bytes. + */ + size?: string; + /** + * Storage class of the object. + */ + storageClass?: string; + /** + * Deletion time of the object in RFC 3339 format. Will be returned if and + * only if this version of the object has been deleted. + */ + timeDeleted?: string; + /** + * Modification time of the object metadata in RFC 3339 format. + */ + updated?: string; + } + /** + * An access-control entry. + */ + interface Schema$ObjectAccessControl { + /** + * The name of the bucket. + */ + bucket?: string; + /** + * The domain associated with the entity, if any. + */ + domain?: string; + /** + * The email address associated with the entity, if any. + */ + email?: string; + /** + * The entity holding the permission, in one of the following forms: - + * user-userId - user-email - group-groupId - group-email - + * domain-domain - allUsers - allAuthenticatedUsers Examples: - The user + * liz@example.com would be user-liz@example.com. - The group + * example@googlegroups.com would be group-example@googlegroups.com. - To + * refer to all members of the Google Apps for Business domain example.com, + * the entity would be domain-example.com. + */ + entity?: string; + /** + * The ID for the entity, if any. + */ + entityId?: string; + /** + * HTTP 1.1 Entity tag for the access-control entry. + */ + etag?: string; + /** + * The content generation of the object. + */ + generation?: string; + /** + * The ID of the access-control entry. + */ + id?: string; + /** + * The kind of item this is. For object access control entries, this is + * always storage#objectAccessControl. + */ + kind?: string; + /** + * The name of the object. + */ + object?: string; + /** + * The access permission for the entity. Can be READER or OWNER. + */ + role?: string; + /** + * The link to this access-control entry. + */ + selfLink?: string; + } + /** + * An access-control list. + */ + interface Schema$ObjectAccessControls { + /** + * The list of items. + */ + items?: any[]; + /** + * The kind of item this is. For lists of object access control entries, + * this is always storage#objectAccessControls. + */ + kind?: string; + } + /** + * A list of objects. + */ + interface Schema$Objects { + /** + * The list of items. + */ + items?: Schema$Object[]; + /** + * The kind of item this is. For lists of objects, this is always + * storage#objects. + */ + kind?: string; + /** + * The continuation token, used to page through large result sets. Provide + * this value in a subsequent request to return the next page of results. + */ + nextPageToken?: string; + /** + * The list of prefixes of objects matching-but-not-listed up to and + * including the requested delimiter. + */ + prefixes?: string[]; + } + class Resource$Bucketaccesscontrols { + root: Storage; + constructor(root: Storage); + getRoot(): Storage; + /** + * storage.bucketAccessControls.delete + * @desc Permanently deletes the ACL entry for the specified entity on the + * specified bucket. + * @alias storage.bucketAccessControls.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string} params.entity The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + * @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?: Params$Resource$Bucketaccesscontrols$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Bucketaccesscontrols$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Bucketaccesscontrols$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * storage.bucketAccessControls.get + * @desc Returns the ACL entry for the specified entity on the specified + * bucket. + * @alias storage.bucketAccessControls.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string} params.entity The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + * @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?: Params$Resource$Bucketaccesscontrols$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Bucketaccesscontrols$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Bucketaccesscontrols$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * storage.bucketAccessControls.insert + * @desc Creates a new ACL entry on the specified bucket. + * @alias storage.bucketAccessControls.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {().BucketAccessControl} 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?: Params$Resource$Bucketaccesscontrols$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Bucketaccesscontrols$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Bucketaccesscontrols$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * storage.bucketAccessControls.list + * @desc Retrieves ACL entries on the specified bucket. + * @alias storage.bucketAccessControls.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @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?: Params$Resource$Bucketaccesscontrols$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Bucketaccesscontrols$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Bucketaccesscontrols$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * storage.bucketAccessControls.patch + * @desc Updates an ACL entry on the specified bucket. This method supports + * patch semantics. + * @alias storage.bucketAccessControls.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string} params.entity The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + * @param {().BucketAccessControl} 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 + */ + patch(params?: Params$Resource$Bucketaccesscontrols$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Bucketaccesscontrols$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Bucketaccesscontrols$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * storage.bucketAccessControls.update + * @desc Updates an ACL entry on the specified bucket. + * @alias storage.bucketAccessControls.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string} params.entity The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + * @param {().BucketAccessControl} 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?: Params$Resource$Bucketaccesscontrols$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Bucketaccesscontrols$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Bucketaccesscontrols$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Bucketaccesscontrols$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * The entity holding the permission. Can be user-userId, user-emailAddress, + * group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + */ + entity?: string; + } + interface Params$Resource$Bucketaccesscontrols$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * The entity holding the permission. Can be user-userId, user-emailAddress, + * group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + */ + entity?: string; + } + interface Params$Resource$Bucketaccesscontrols$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BucketAccessControl; + } + interface Params$Resource$Bucketaccesscontrols$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + } + interface Params$Resource$Bucketaccesscontrols$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * The entity holding the permission. Can be user-userId, user-emailAddress, + * group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + */ + entity?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BucketAccessControl; + } + interface Params$Resource$Bucketaccesscontrols$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * The entity holding the permission. Can be user-userId, user-emailAddress, + * group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + */ + entity?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BucketAccessControl; + } + class Resource$Buckets { + root: Storage; + constructor(root: Storage); + getRoot(): Storage; + /** + * storage.buckets.delete + * @desc Permanently deletes an empty bucket. + * @alias storage.buckets.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string=} params.ifMetagenerationMatch Makes the return of the bucket metadata conditional on whether the bucket's current metageneration matches the given value. + * @param {string=} params.ifMetagenerationNotMatch Makes the return of the bucket metadata conditional on whether the bucket's current metageneration does not match the given value. + * @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?: Params$Resource$Buckets$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Buckets$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Buckets$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * storage.buckets.get + * @desc Returns metadata for the specified bucket. + * @alias storage.buckets.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string=} params.ifMetagenerationMatch Makes the return of the bucket metadata conditional on whether the bucket's current metageneration matches the given value. + * @param {string=} params.ifMetagenerationNotMatch Makes the return of the bucket metadata conditional on whether the bucket's current metageneration does not match the given value. + * @param {string=} params.projection Set of properties to return. Defaults to noAcl. + * @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?: Params$Resource$Buckets$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Buckets$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Buckets$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * storage.buckets.insert + * @desc Creates a new bucket. + * @alias storage.buckets.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project A valid API project identifier. + * @param {string=} params.projection Set of properties to return. Defaults to noAcl, unless the bucket resource specifies acl or defaultObjectAcl properties, when it defaults to full. + * @param {().Bucket} 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?: Params$Resource$Buckets$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Buckets$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Buckets$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * storage.buckets.list + * @desc Retrieves a list of buckets for a given project. + * @alias storage.buckets.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.maxResults Maximum number of buckets to return. + * @param {string=} params.pageToken A previously-returned page token representing part of the larger set of results to view. + * @param {string} params.project A valid API project identifier. + * @param {string=} params.projection Set of properties to return. Defaults to noAcl. + * @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?: Params$Resource$Buckets$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Buckets$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Buckets$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * storage.buckets.patch + * @desc Updates a bucket. This method supports patch semantics. + * @alias storage.buckets.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string=} params.ifMetagenerationMatch Makes the return of the bucket metadata conditional on whether the bucket's current metageneration matches the given value. + * @param {string=} params.ifMetagenerationNotMatch Makes the return of the bucket metadata conditional on whether the bucket's current metageneration does not match the given value. + * @param {string=} params.projection Set of properties to return. Defaults to full. + * @param {().Bucket} 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 + */ + patch(params?: Params$Resource$Buckets$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Buckets$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Buckets$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * storage.buckets.update + * @desc Updates a bucket. + * @alias storage.buckets.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string=} params.ifMetagenerationMatch Makes the return of the bucket metadata conditional on whether the bucket's current metageneration matches the given value. + * @param {string=} params.ifMetagenerationNotMatch Makes the return of the bucket metadata conditional on whether the bucket's current metageneration does not match the given value. + * @param {string=} params.projection Set of properties to return. Defaults to full. + * @param {().Bucket} 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?: Params$Resource$Buckets$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Buckets$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Buckets$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Buckets$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * Makes the return of the bucket metadata conditional on whether the + * bucket's current metageneration matches the given value. + */ + ifMetagenerationMatch?: string; + /** + * Makes the return of the bucket metadata conditional on whether the + * bucket's current metageneration does not match the given value. + */ + ifMetagenerationNotMatch?: string; + } + interface Params$Resource$Buckets$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * Makes the return of the bucket metadata conditional on whether the + * bucket's current metageneration matches the given value. + */ + ifMetagenerationMatch?: string; + /** + * Makes the return of the bucket metadata conditional on whether the + * bucket's current metageneration does not match the given value. + */ + ifMetagenerationNotMatch?: string; + /** + * Set of properties to return. Defaults to noAcl. + */ + projection?: string; + } + interface Params$Resource$Buckets$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A valid API project identifier. + */ + project?: string; + /** + * Set of properties to return. Defaults to noAcl, unless the bucket + * resource specifies acl or defaultObjectAcl properties, when it defaults + * to full. + */ + projection?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Bucket; + } + interface Params$Resource$Buckets$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Maximum number of buckets to return. + */ + maxResults?: number; + /** + * A previously-returned page token representing part of the larger set of + * results to view. + */ + pageToken?: string; + /** + * A valid API project identifier. + */ + project?: string; + /** + * Set of properties to return. Defaults to noAcl. + */ + projection?: string; + } + interface Params$Resource$Buckets$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * Makes the return of the bucket metadata conditional on whether the + * bucket's current metageneration matches the given value. + */ + ifMetagenerationMatch?: string; + /** + * Makes the return of the bucket metadata conditional on whether the + * bucket's current metageneration does not match the given value. + */ + ifMetagenerationNotMatch?: string; + /** + * Set of properties to return. Defaults to full. + */ + projection?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Bucket; + } + interface Params$Resource$Buckets$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * Makes the return of the bucket metadata conditional on whether the + * bucket's current metageneration matches the given value. + */ + ifMetagenerationMatch?: string; + /** + * Makes the return of the bucket metadata conditional on whether the + * bucket's current metageneration does not match the given value. + */ + ifMetagenerationNotMatch?: string; + /** + * Set of properties to return. Defaults to full. + */ + projection?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Bucket; + } + class Resource$Channels { + root: Storage; + constructor(root: Storage); + getRoot(): Storage; + /** + * storage.channels.stop + * @desc Stop watching resources through this channel + * @alias storage.channels.stop + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().Channel} 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 + */ + stop(params?: Params$Resource$Channels$Stop, options?: MethodOptions): AxiosPromise; + stop(params: Params$Resource$Channels$Stop, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + stop(params: Params$Resource$Channels$Stop, callback: BodyResponseCallback): void; + stop(callback: BodyResponseCallback): void; + } + interface Params$Resource$Channels$Stop { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$Channel; + } + class Resource$Defaultobjectaccesscontrols { + root: Storage; + constructor(root: Storage); + getRoot(): Storage; + /** + * storage.defaultObjectAccessControls.delete + * @desc Permanently deletes the default object ACL entry for the specified + * entity on the specified bucket. + * @alias storage.defaultObjectAccessControls.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string} params.entity The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + * @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?: Params$Resource$Defaultobjectaccesscontrols$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Defaultobjectaccesscontrols$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Defaultobjectaccesscontrols$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * storage.defaultObjectAccessControls.get + * @desc Returns the default object ACL entry for the specified entity on + * the specified bucket. + * @alias storage.defaultObjectAccessControls.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string} params.entity The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + * @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?: Params$Resource$Defaultobjectaccesscontrols$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Defaultobjectaccesscontrols$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Defaultobjectaccesscontrols$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * storage.defaultObjectAccessControls.insert + * @desc Creates a new default object ACL entry on the specified bucket. + * @alias storage.defaultObjectAccessControls.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {().ObjectAccessControl} 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?: Params$Resource$Defaultobjectaccesscontrols$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Defaultobjectaccesscontrols$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Defaultobjectaccesscontrols$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * storage.defaultObjectAccessControls.list + * @desc Retrieves default object ACL entries on the specified bucket. + * @alias storage.defaultObjectAccessControls.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string=} params.ifMetagenerationMatch If present, only return default ACL listing if the bucket's current metageneration matches this value. + * @param {string=} params.ifMetagenerationNotMatch If present, only return default ACL listing if the bucket's current metageneration does not match the given value. + * @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?: Params$Resource$Defaultobjectaccesscontrols$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Defaultobjectaccesscontrols$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Defaultobjectaccesscontrols$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * storage.defaultObjectAccessControls.patch + * @desc Updates a default object ACL entry on the specified bucket. This + * method supports patch semantics. + * @alias storage.defaultObjectAccessControls.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string} params.entity The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + * @param {().ObjectAccessControl} 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 + */ + patch(params?: Params$Resource$Defaultobjectaccesscontrols$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Defaultobjectaccesscontrols$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Defaultobjectaccesscontrols$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * storage.defaultObjectAccessControls.update + * @desc Updates a default object ACL entry on the specified bucket. + * @alias storage.defaultObjectAccessControls.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string} params.entity The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + * @param {().ObjectAccessControl} 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?: Params$Resource$Defaultobjectaccesscontrols$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Defaultobjectaccesscontrols$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Defaultobjectaccesscontrols$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Defaultobjectaccesscontrols$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * The entity holding the permission. Can be user-userId, user-emailAddress, + * group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + */ + entity?: string; + } + interface Params$Resource$Defaultobjectaccesscontrols$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * The entity holding the permission. Can be user-userId, user-emailAddress, + * group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + */ + entity?: string; + } + interface Params$Resource$Defaultobjectaccesscontrols$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ObjectAccessControl; + } + interface Params$Resource$Defaultobjectaccesscontrols$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * If present, only return default ACL listing if the bucket's current + * metageneration matches this value. + */ + ifMetagenerationMatch?: string; + /** + * If present, only return default ACL listing if the bucket's current + * metageneration does not match the given value. + */ + ifMetagenerationNotMatch?: string; + } + interface Params$Resource$Defaultobjectaccesscontrols$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * The entity holding the permission. Can be user-userId, user-emailAddress, + * group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + */ + entity?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ObjectAccessControl; + } + interface Params$Resource$Defaultobjectaccesscontrols$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * The entity holding the permission. Can be user-userId, user-emailAddress, + * group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + */ + entity?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ObjectAccessControl; + } + class Resource$Objectaccesscontrols { + root: Storage; + constructor(root: Storage); + getRoot(): Storage; + /** + * storage.objectAccessControls.delete + * @desc Permanently deletes the ACL entry for the specified entity on the + * specified object. + * @alias storage.objectAccessControls.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string} params.entity The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + * @param {string=} params.generation If present, selects a specific revision of this object (as opposed to the latest version, the default). + * @param {string} params.object Name of the object. + * @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?: Params$Resource$Objectaccesscontrols$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Objectaccesscontrols$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Objectaccesscontrols$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * storage.objectAccessControls.get + * @desc Returns the ACL entry for the specified entity on the specified + * object. + * @alias storage.objectAccessControls.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string} params.entity The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + * @param {string=} params.generation If present, selects a specific revision of this object (as opposed to the latest version, the default). + * @param {string} params.object Name of the object. + * @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?: Params$Resource$Objectaccesscontrols$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Objectaccesscontrols$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Objectaccesscontrols$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * storage.objectAccessControls.insert + * @desc Creates a new ACL entry on the specified object. + * @alias storage.objectAccessControls.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string=} params.generation If present, selects a specific revision of this object (as opposed to the latest version, the default). + * @param {string} params.object Name of the object. + * @param {().ObjectAccessControl} 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?: Params$Resource$Objectaccesscontrols$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Objectaccesscontrols$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Objectaccesscontrols$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * storage.objectAccessControls.list + * @desc Retrieves ACL entries on the specified object. + * @alias storage.objectAccessControls.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string=} params.generation If present, selects a specific revision of this object (as opposed to the latest version, the default). + * @param {string} params.object Name of the object. + * @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?: Params$Resource$Objectaccesscontrols$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Objectaccesscontrols$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Objectaccesscontrols$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * storage.objectAccessControls.patch + * @desc Updates an ACL entry on the specified object. This method supports + * patch semantics. + * @alias storage.objectAccessControls.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string} params.entity The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + * @param {string=} params.generation If present, selects a specific revision of this object (as opposed to the latest version, the default). + * @param {string} params.object Name of the object. + * @param {().ObjectAccessControl} 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 + */ + patch(params?: Params$Resource$Objectaccesscontrols$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Objectaccesscontrols$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Objectaccesscontrols$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * storage.objectAccessControls.update + * @desc Updates an ACL entry on the specified object. + * @alias storage.objectAccessControls.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of a bucket. + * @param {string} params.entity The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + * @param {string=} params.generation If present, selects a specific revision of this object (as opposed to the latest version, the default). + * @param {string} params.object Name of the object. + * @param {().ObjectAccessControl} 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?: Params$Resource$Objectaccesscontrols$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Objectaccesscontrols$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Objectaccesscontrols$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Objectaccesscontrols$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * The entity holding the permission. Can be user-userId, user-emailAddress, + * group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + */ + entity?: string; + /** + * If present, selects a specific revision of this object (as opposed to the + * latest version, the default). + */ + generation?: string; + /** + * Name of the object. + */ + object?: string; + } + interface Params$Resource$Objectaccesscontrols$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * The entity holding the permission. Can be user-userId, user-emailAddress, + * group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + */ + entity?: string; + /** + * If present, selects a specific revision of this object (as opposed to the + * latest version, the default). + */ + generation?: string; + /** + * Name of the object. + */ + object?: string; + } + interface Params$Resource$Objectaccesscontrols$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * If present, selects a specific revision of this object (as opposed to the + * latest version, the default). + */ + generation?: string; + /** + * Name of the object. + */ + object?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ObjectAccessControl; + } + interface Params$Resource$Objectaccesscontrols$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * If present, selects a specific revision of this object (as opposed to the + * latest version, the default). + */ + generation?: string; + /** + * Name of the object. + */ + object?: string; + } + interface Params$Resource$Objectaccesscontrols$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * The entity holding the permission. Can be user-userId, user-emailAddress, + * group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + */ + entity?: string; + /** + * If present, selects a specific revision of this object (as opposed to the + * latest version, the default). + */ + generation?: string; + /** + * Name of the object. + */ + object?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ObjectAccessControl; + } + interface Params$Resource$Objectaccesscontrols$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of a bucket. + */ + bucket?: string; + /** + * The entity holding the permission. Can be user-userId, user-emailAddress, + * group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. + */ + entity?: string; + /** + * If present, selects a specific revision of this object (as opposed to the + * latest version, the default). + */ + generation?: string; + /** + * Name of the object. + */ + object?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ObjectAccessControl; + } + class Resource$Objects { + root: Storage; + constructor(root: Storage); + getRoot(): Storage; + /** + * storage.objects.compose + * @desc Concatenates a list of existing objects into a new object in the + * same bucket. + * @alias storage.objects.compose + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.destinationBucket Name of the bucket containing the source objects. The destination object is stored in this bucket. + * @param {string} params.destinationObject Name of the new object. + * @param {string=} params.ifGenerationMatch Makes the operation conditional on whether the object's current generation matches the given value. + * @param {string=} params.ifMetagenerationMatch Makes the operation conditional on whether the object's current metageneration matches the given value. + * @param {().ComposeRequest} 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 + */ + compose(params?: Params$Resource$Objects$Compose, options?: MethodOptions): AxiosPromise; + compose(params: Params$Resource$Objects$Compose, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + compose(params: Params$Resource$Objects$Compose, callback: BodyResponseCallback): void; + compose(callback: BodyResponseCallback): void; + /** + * storage.objects.copy + * @desc Copies an object to a destination in the same location. Optionally + * overrides metadata. + * @alias storage.objects.copy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.destinationBucket Name of the bucket in which to store the new object. Overrides the provided object metadata's bucket value, if any. + * @param {string} params.destinationObject Name of the new object. Required when the object metadata is not otherwise provided. Overrides the object metadata's name value, if any. + * @param {string=} params.ifGenerationMatch Makes the operation conditional on whether the destination object's current generation matches the given value. + * @param {string=} params.ifGenerationNotMatch Makes the operation conditional on whether the destination object's current generation does not match the given value. + * @param {string=} params.ifMetagenerationMatch Makes the operation conditional on whether the destination object's current metageneration matches the given value. + * @param {string=} params.ifMetagenerationNotMatch Makes the operation conditional on whether the destination object's current metageneration does not match the given value. + * @param {string=} params.ifSourceGenerationMatch Makes the operation conditional on whether the source object's generation matches the given value. + * @param {string=} params.ifSourceGenerationNotMatch Makes the operation conditional on whether the source object's generation does not match the given value. + * @param {string=} params.ifSourceMetagenerationMatch Makes the operation conditional on whether the source object's current metageneration matches the given value. + * @param {string=} params.ifSourceMetagenerationNotMatch Makes the operation conditional on whether the source object's current metageneration does not match the given value. + * @param {string=} params.projection Set of properties to return. Defaults to noAcl, unless the object resource specifies the acl property, when it defaults to full. + * @param {string} params.sourceBucket Name of the bucket in which to find the source object. + * @param {string=} params.sourceGeneration If present, selects a specific revision of the source object (as opposed to the latest version, the default). + * @param {string} params.sourceObject Name of the source object. + * @param {().Object} 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 + */ + copy(params?: Params$Resource$Objects$Copy, options?: MethodOptions): AxiosPromise; + copy(params: Params$Resource$Objects$Copy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + copy(params: Params$Resource$Objects$Copy, callback: BodyResponseCallback): void; + copy(callback: BodyResponseCallback): void; + /** + * storage.objects.delete + * @desc Deletes data blobs and associated metadata. Deletions are permanent + * if versioning is not enabled for the bucket, or if the generation + * parameter is used. + * @alias storage.objects.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of the bucket in which the object resides. + * @param {string=} params.generation If present, permanently deletes a specific revision of this object (as opposed to the latest version, the default). + * @param {string=} params.ifGenerationMatch Makes the operation conditional on whether the object's current generation matches the given value. + * @param {string=} params.ifGenerationNotMatch Makes the operation conditional on whether the object's current generation does not match the given value. + * @param {string=} params.ifMetagenerationMatch Makes the operation conditional on whether the object's current metageneration matches the given value. + * @param {string=} params.ifMetagenerationNotMatch Makes the operation conditional on whether the object's current metageneration does not match the given value. + * @param {string} params.object Name of the object. + * @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?: Params$Resource$Objects$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Objects$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Objects$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * storage.objects.get + * @desc Retrieves objects or their associated metadata. + * @alias storage.objects.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of the bucket in which the object resides. + * @param {string=} params.generation If present, selects a specific revision of this object (as opposed to the latest version, the default). + * @param {string=} params.ifGenerationMatch Makes the operation conditional on whether the object's generation matches the given value. + * @param {string=} params.ifGenerationNotMatch Makes the operation conditional on whether the object's generation does not match the given value. + * @param {string=} params.ifMetagenerationMatch Makes the operation conditional on whether the object's current metageneration matches the given value. + * @param {string=} params.ifMetagenerationNotMatch Makes the operation conditional on whether the object's current metageneration does not match the given value. + * @param {string} params.object Name of the object. + * @param {string=} params.projection Set of properties to return. Defaults to noAcl. + * @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?: Params$Resource$Objects$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Objects$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Objects$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * storage.objects.insert + * @desc Stores new data blobs and associated metadata. + * @alias storage.objects.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of the bucket in which to store the new object. Overrides the provided object metadata's bucket value, if any. + * @param {string=} params.ifGenerationMatch Makes the operation conditional on whether the object's current generation matches the given value. + * @param {string=} params.ifGenerationNotMatch Makes the operation conditional on whether the object's current generation does not match the given value. + * @param {string=} params.ifMetagenerationMatch Makes the operation conditional on whether the object's current metageneration matches the given value. + * @param {string=} params.ifMetagenerationNotMatch Makes the operation conditional on whether the object's current metageneration does not match the given value. + * @param {string=} params.name Name of the object. Required when the object metadata is not otherwise provided. Overrides the object metadata's name value, if any. + * @param {string=} params.projection Set of properties to return. Defaults to noAcl, unless the object resource specifies the acl property, when it defaults to full. + * @param {object} params.resource Media resource metadata + * @param {object} params.media Media object + * @param {string} params.media.mimeType Media mime-type + * @param {string|object} params.media.body Media body contents + * @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?: Params$Resource$Objects$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Objects$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Objects$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * storage.objects.list + * @desc Retrieves a list of objects matching the criteria. + * @alias storage.objects.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of the bucket in which to look for objects. + * @param {string=} params.delimiter Returns results in a directory-like mode. items will contain only objects whose names, aside from the prefix, do not contain delimiter. Objects whose names, aside from the prefix, contain delimiter will have their name, truncated after the delimiter, returned in prefixes. Duplicate prefixes are omitted. + * @param {integer=} params.maxResults Maximum number of items plus prefixes to return. As duplicate prefixes are omitted, fewer total results may be returned than requested. + * @param {string=} params.pageToken A previously-returned page token representing part of the larger set of results to view. + * @param {string=} params.prefix Filter results to objects whose names begin with this prefix. + * @param {string=} params.projection Set of properties to return. Defaults to noAcl. + * @param {boolean=} params.versions If true, lists all versions of a file as distinct results. + * @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?: Params$Resource$Objects$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Objects$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Objects$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * storage.objects.patch + * @desc Updates a data blob's associated metadata. This method supports + * patch semantics. + * @alias storage.objects.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of the bucket in which the object resides. + * @param {string=} params.generation If present, selects a specific revision of this object (as opposed to the latest version, the default). + * @param {string=} params.ifGenerationMatch Makes the operation conditional on whether the object's current generation matches the given value. + * @param {string=} params.ifGenerationNotMatch Makes the operation conditional on whether the object's current generation does not match the given value. + * @param {string=} params.ifMetagenerationMatch Makes the operation conditional on whether the object's current metageneration matches the given value. + * @param {string=} params.ifMetagenerationNotMatch Makes the operation conditional on whether the object's current metageneration does not match the given value. + * @param {string} params.object Name of the object. + * @param {string=} params.projection Set of properties to return. Defaults to full. + * @param {().Object} 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 + */ + patch(params?: Params$Resource$Objects$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Objects$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Objects$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * storage.objects.update + * @desc Updates a data blob's associated metadata. + * @alias storage.objects.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of the bucket in which the object resides. + * @param {string=} params.generation If present, selects a specific revision of this object (as opposed to the latest version, the default). + * @param {string=} params.ifGenerationMatch Makes the operation conditional on whether the object's current generation matches the given value. + * @param {string=} params.ifGenerationNotMatch Makes the operation conditional on whether the object's current generation does not match the given value. + * @param {string=} params.ifMetagenerationMatch Makes the operation conditional on whether the object's current metageneration matches the given value. + * @param {string=} params.ifMetagenerationNotMatch Makes the operation conditional on whether the object's current metageneration does not match the given value. + * @param {string} params.object Name of the object. + * @param {string=} params.projection Set of properties to return. Defaults to full. + * @param {().Object} 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?: Params$Resource$Objects$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Objects$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Objects$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + /** + * storage.objects.watchAll + * @desc Watch for changes on all objects in a bucket. + * @alias storage.objects.watchAll + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.bucket Name of the bucket in which to look for objects. + * @param {string=} params.delimiter Returns results in a directory-like mode. items will contain only objects whose names, aside from the prefix, do not contain delimiter. Objects whose names, aside from the prefix, contain delimiter will have their name, truncated after the delimiter, returned in prefixes. Duplicate prefixes are omitted. + * @param {integer=} params.maxResults Maximum number of items plus prefixes to return. As duplicate prefixes are omitted, fewer total results may be returned than requested. + * @param {string=} params.pageToken A previously-returned page token representing part of the larger set of results to view. + * @param {string=} params.prefix Filter results to objects whose names begin with this prefix. + * @param {string=} params.projection Set of properties to return. Defaults to noAcl. + * @param {boolean=} params.versions If true, lists all versions of a file as distinct results. + * @param {().Channel} 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 + */ + watchAll(params?: Params$Resource$Objects$Watchall, options?: MethodOptions): AxiosPromise; + watchAll(params: Params$Resource$Objects$Watchall, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + watchAll(params: Params$Resource$Objects$Watchall, callback: BodyResponseCallback): void; + watchAll(callback: BodyResponseCallback): void; + } + interface Params$Resource$Objects$Compose { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the bucket containing the source objects. The destination object + * is stored in this bucket. + */ + destinationBucket?: string; + /** + * Name of the new object. + */ + destinationObject?: string; + /** + * Makes the operation conditional on whether the object's current + * generation matches the given value. + */ + ifGenerationMatch?: string; + /** + * Makes the operation conditional on whether the object's current + * metageneration matches the given value. + */ + ifMetagenerationMatch?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ComposeRequest; + } + interface Params$Resource$Objects$Copy { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the bucket in which to store the new object. Overrides the + * provided object metadata's bucket value, if any. + */ + destinationBucket?: string; + /** + * Name of the new object. Required when the object metadata is not + * otherwise provided. Overrides the object metadata's name value, if any. + */ + destinationObject?: string; + /** + * Makes the operation conditional on whether the destination object's + * current generation matches the given value. + */ + ifGenerationMatch?: string; + /** + * Makes the operation conditional on whether the destination object's + * current generation does not match the given value. + */ + ifGenerationNotMatch?: string; + /** + * Makes the operation conditional on whether the destination object's + * current metageneration matches the given value. + */ + ifMetagenerationMatch?: string; + /** + * Makes the operation conditional on whether the destination object's + * current metageneration does not match the given value. + */ + ifMetagenerationNotMatch?: string; + /** + * Makes the operation conditional on whether the source object's generation + * matches the given value. + */ + ifSourceGenerationMatch?: string; + /** + * Makes the operation conditional on whether the source object's generation + * does not match the given value. + */ + ifSourceGenerationNotMatch?: string; + /** + * Makes the operation conditional on whether the source object's current + * metageneration matches the given value. + */ + ifSourceMetagenerationMatch?: string; + /** + * Makes the operation conditional on whether the source object's current + * metageneration does not match the given value. + */ + ifSourceMetagenerationNotMatch?: string; + /** + * Set of properties to return. Defaults to noAcl, unless the object + * resource specifies the acl property, when it defaults to full. + */ + projection?: string; + /** + * Name of the bucket in which to find the source object. + */ + sourceBucket?: string; + /** + * If present, selects a specific revision of the source object (as opposed + * to the latest version, the default). + */ + sourceGeneration?: string; + /** + * Name of the source object. + */ + sourceObject?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Object; + } + interface Params$Resource$Objects$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the bucket in which the object resides. + */ + bucket?: string; + /** + * If present, permanently deletes a specific revision of this object (as + * opposed to the latest version, the default). + */ + generation?: string; + /** + * Makes the operation conditional on whether the object's current + * generation matches the given value. + */ + ifGenerationMatch?: string; + /** + * Makes the operation conditional on whether the object's current + * generation does not match the given value. + */ + ifGenerationNotMatch?: string; + /** + * Makes the operation conditional on whether the object's current + * metageneration matches the given value. + */ + ifMetagenerationMatch?: string; + /** + * Makes the operation conditional on whether the object's current + * metageneration does not match the given value. + */ + ifMetagenerationNotMatch?: string; + /** + * Name of the object. + */ + object?: string; + } + interface Params$Resource$Objects$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the bucket in which the object resides. + */ + bucket?: string; + /** + * If present, selects a specific revision of this object (as opposed to the + * latest version, the default). + */ + generation?: string; + /** + * Makes the operation conditional on whether the object's generation + * matches the given value. + */ + ifGenerationMatch?: string; + /** + * Makes the operation conditional on whether the object's generation does + * not match the given value. + */ + ifGenerationNotMatch?: string; + /** + * Makes the operation conditional on whether the object's current + * metageneration matches the given value. + */ + ifMetagenerationMatch?: string; + /** + * Makes the operation conditional on whether the object's current + * metageneration does not match the given value. + */ + ifMetagenerationNotMatch?: string; + /** + * Name of the object. + */ + object?: string; + /** + * Set of properties to return. Defaults to noAcl. + */ + projection?: string; + } + interface Params$Resource$Objects$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the bucket in which to store the new object. Overrides the + * provided object metadata's bucket value, if any. + */ + bucket?: string; + /** + * Makes the operation conditional on whether the object's current + * generation matches the given value. + */ + ifGenerationMatch?: string; + /** + * Makes the operation conditional on whether the object's current + * generation does not match the given value. + */ + ifGenerationNotMatch?: string; + /** + * Makes the operation conditional on whether the object's current + * metageneration matches the given value. + */ + ifMetagenerationMatch?: string; + /** + * Makes the operation conditional on whether the object's current + * metageneration does not match the given value. + */ + ifMetagenerationNotMatch?: string; + /** + * Name of the object. Required when the object metadata is not otherwise + * provided. Overrides the object metadata's name value, if any. + */ + name?: string; + /** + * Set of properties to return. Defaults to noAcl, unless the object + * resource specifies the acl property, when it defaults to full. + */ + projection?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Object; + /** + * Media metadata + */ + media?: { + /** + * Media mime-type + */ + mediaType?: string; + /** + * Media body contents + */ + body?: any; + }; + } + interface Params$Resource$Objects$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the bucket in which to look for objects. + */ + bucket?: string; + /** + * Returns results in a directory-like mode. items will contain only objects + * whose names, aside from the prefix, do not contain delimiter. Objects + * whose names, aside from the prefix, contain delimiter will have their + * name, truncated after the delimiter, returned in prefixes. Duplicate + * prefixes are omitted. + */ + delimiter?: string; + /** + * Maximum number of items plus prefixes to return. As duplicate prefixes + * are omitted, fewer total results may be returned than requested. + */ + maxResults?: number; + /** + * A previously-returned page token representing part of the larger set of + * results to view. + */ + pageToken?: string; + /** + * Filter results to objects whose names begin with this prefix. + */ + prefix?: string; + /** + * Set of properties to return. Defaults to noAcl. + */ + projection?: string; + /** + * If true, lists all versions of a file as distinct results. + */ + versions?: boolean; + } + interface Params$Resource$Objects$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the bucket in which the object resides. + */ + bucket?: string; + /** + * If present, selects a specific revision of this object (as opposed to the + * latest version, the default). + */ + generation?: string; + /** + * Makes the operation conditional on whether the object's current + * generation matches the given value. + */ + ifGenerationMatch?: string; + /** + * Makes the operation conditional on whether the object's current + * generation does not match the given value. + */ + ifGenerationNotMatch?: string; + /** + * Makes the operation conditional on whether the object's current + * metageneration matches the given value. + */ + ifMetagenerationMatch?: string; + /** + * Makes the operation conditional on whether the object's current + * metageneration does not match the given value. + */ + ifMetagenerationNotMatch?: string; + /** + * Name of the object. + */ + object?: string; + /** + * Set of properties to return. Defaults to full. + */ + projection?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Object; + } + interface Params$Resource$Objects$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the bucket in which the object resides. + */ + bucket?: string; + /** + * If present, selects a specific revision of this object (as opposed to the + * latest version, the default). + */ + generation?: string; + /** + * Makes the operation conditional on whether the object's current + * generation matches the given value. + */ + ifGenerationMatch?: string; + /** + * Makes the operation conditional on whether the object's current + * generation does not match the given value. + */ + ifGenerationNotMatch?: string; + /** + * Makes the operation conditional on whether the object's current + * metageneration matches the given value. + */ + ifMetagenerationMatch?: string; + /** + * Makes the operation conditional on whether the object's current + * metageneration does not match the given value. + */ + ifMetagenerationNotMatch?: string; + /** + * Name of the object. + */ + object?: string; + /** + * Set of properties to return. Defaults to full. + */ + projection?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Object; + } + interface Params$Resource$Objects$Watchall { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the bucket in which to look for objects. + */ + bucket?: string; + /** + * Returns results in a directory-like mode. items will contain only objects + * whose names, aside from the prefix, do not contain delimiter. Objects + * whose names, aside from the prefix, contain delimiter will have their + * name, truncated after the delimiter, returned in prefixes. Duplicate + * prefixes are omitted. + */ + delimiter?: string; + /** + * Maximum number of items plus prefixes to return. As duplicate prefixes + * are omitted, fewer total results may be returned than requested. + */ + maxResults?: number; + /** + * A previously-returned page token representing part of the larger set of + * results to view. + */ + pageToken?: string; + /** + * Filter results to objects whose names begin with this prefix. + */ + prefix?: string; + /** + * Set of properties to return. Defaults to noAcl. + */ + projection?: string; + /** + * If true, lists all versions of a file as distinct results. + */ + versions?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$Channel; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/storage/v1beta2.js b/express-server/node_modules/googleapis/build/src/apis/storage/v1beta2.js new file mode 100644 index 00000000..395058a7 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/storage/v1beta2.js @@ -0,0 +1,1193 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var storage_v1beta2; +(function (storage_v1beta2) { + /** + * Cloud Storage JSON API + * + * Lets you store and retrieve potentially-large, immutable data objects. + * + * @example + * const {google} = require('googleapis'); + * const storage = google.storage('v1beta2'); + * + * @namespace storage + * @type {Function} + * @version v1beta2 + * @variation v1beta2 + * @param {object=} options Options for Storage + */ + class Storage { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.bucketAccessControls = new Resource$Bucketaccesscontrols(this); + this.buckets = new Resource$Buckets(this); + this.channels = new Resource$Channels(this); + this.defaultObjectAccessControls = + new Resource$Defaultobjectaccesscontrols(this); + this.objectAccessControls = new Resource$Objectaccesscontrols(this); + this.objects = new Resource$Objects(this); + } + getRoot() { + return this.root; + } + } + storage_v1beta2.Storage = Storage; + class Resource$Bucketaccesscontrols { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1beta2/b/{bucket}/acl/{entity}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['bucket', 'entity'], + pathParams: ['bucket', 'entity'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1beta2/b/{bucket}/acl/{entity}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['bucket', 'entity'], + pathParams: ['bucket', 'entity'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1beta2/b/{bucket}/acl') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['bucket'], + pathParams: ['bucket'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1beta2/b/{bucket}/acl') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['bucket'], + pathParams: ['bucket'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1beta2/b/{bucket}/acl/{entity}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['bucket', 'entity'], + pathParams: ['bucket', 'entity'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1beta2/b/{bucket}/acl/{entity}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['bucket', 'entity'], + pathParams: ['bucket', 'entity'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + storage_v1beta2.Resource$Bucketaccesscontrols = Resource$Bucketaccesscontrols; + class Resource$Buckets { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1beta2/b/{bucket}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['bucket'], + pathParams: ['bucket'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1beta2/b/{bucket}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['bucket'], + pathParams: ['bucket'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1beta2/b') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['project'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1beta2/b') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['project'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1beta2/b/{bucket}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['bucket'], + pathParams: ['bucket'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1beta2/b/{bucket}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['bucket'], + pathParams: ['bucket'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + storage_v1beta2.Resource$Buckets = Resource$Buckets; + class Resource$Channels { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + stop(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1beta2/channels/stop') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + storage_v1beta2.Resource$Channels = Resource$Channels; + class Resource$Defaultobjectaccesscontrols { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/storage/v1beta2/b/{bucket}/defaultObjectAcl/{entity}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['bucket', 'entity'], + pathParams: ['bucket', 'entity'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/storage/v1beta2/b/{bucket}/defaultObjectAcl/{entity}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['bucket', 'entity'], + pathParams: ['bucket', 'entity'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1beta2/b/{bucket}/defaultObjectAcl') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['bucket'], + pathParams: ['bucket'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1beta2/b/{bucket}/defaultObjectAcl') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['bucket'], + pathParams: ['bucket'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/storage/v1beta2/b/{bucket}/defaultObjectAcl/{entity}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['bucket', 'entity'], + pathParams: ['bucket', 'entity'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/storage/v1beta2/b/{bucket}/defaultObjectAcl/{entity}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['bucket', 'entity'], + pathParams: ['bucket', 'entity'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + storage_v1beta2.Resource$Defaultobjectaccesscontrols = Resource$Defaultobjectaccesscontrols; + class Resource$Objectaccesscontrols { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/storage/v1beta2/b/{bucket}/o/{object}/acl/{entity}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['bucket', 'object', 'entity'], + pathParams: ['bucket', 'entity', 'object'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/storage/v1beta2/b/{bucket}/o/{object}/acl/{entity}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['bucket', 'object', 'entity'], + pathParams: ['bucket', 'entity', 'object'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1beta2/b/{bucket}/o/{object}/acl') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['bucket', 'object'], + pathParams: ['bucket', 'object'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1beta2/b/{bucket}/o/{object}/acl') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['bucket', 'object'], + pathParams: ['bucket', 'object'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/storage/v1beta2/b/{bucket}/o/{object}/acl/{entity}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['bucket', 'object', 'entity'], + pathParams: ['bucket', 'entity', 'object'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/storage/v1beta2/b/{bucket}/o/{object}/acl/{entity}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['bucket', 'object', 'entity'], + pathParams: ['bucket', 'entity', 'object'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + storage_v1beta2.Resource$Objectaccesscontrols = Resource$Objectaccesscontrols; + class Resource$Objects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + compose(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/storage/v1beta2/b/{destinationBucket}/o/{destinationObject}/compose') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['destinationBucket', 'destinationObject'], + pathParams: ['destinationBucket', 'destinationObject'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + copy(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/storage/v1beta2/b/{sourceBucket}/o/{sourceObject}/copyTo/b/{destinationBucket}/o/{destinationObject}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [ + 'sourceBucket', 'sourceObject', 'destinationBucket', + 'destinationObject' + ], + pathParams: [ + 'destinationBucket', 'destinationObject', 'sourceBucket', + 'sourceObject' + ], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1beta2/b/{bucket}/o/{object}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['bucket', 'object'], + pathParams: ['bucket', 'object'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1beta2/b/{bucket}/o/{object}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['bucket', 'object'], + pathParams: ['bucket', 'object'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1beta2/b/{bucket}/o') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + mediaUrl: (rootUrl + '/upload/storage/v1beta2/b/{bucket}/o') + .replace(/([^:]\/)\/+/g, '$1'), + requiredParams: ['bucket'], + pathParams: ['bucket'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1beta2/b/{bucket}/o') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['bucket'], + pathParams: ['bucket'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1beta2/b/{bucket}/o/{object}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['bucket', 'object'], + pathParams: ['bucket', 'object'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1beta2/b/{bucket}/o/{object}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['bucket', 'object'], + pathParams: ['bucket', 'object'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + watchAll(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/storage/v1beta2/b/{bucket}/o/watch') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['bucket'], + pathParams: ['bucket'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + storage_v1beta2.Resource$Objects = Resource$Objects; +})(storage_v1beta2 = exports.storage_v1beta2 || (exports.storage_v1beta2 = {})); +//# sourceMappingURL=v1beta2.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/storage/v1beta2.js.map b/express-server/node_modules/googleapis/build/src/apis/storage/v1beta2.js.map new file mode 100644 index 00000000..6dec5e94 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/storage/v1beta2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1beta2.js","sourceRoot":"","sources":["../../../../src/apis/storage/v1beta2.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/storagetransfer/README.md b/express-server/node_modules/googleapis/build/src/apis/storagetransfer/README.md new file mode 100644 index 00000000..45dec52c --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/storagetransfer/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/storagetransfer + +> Transfers data from external data sources to a Google Cloud Storage bucket or between Google Cloud Storage buckets. + +## Installation + +```sh +$ npm install @google/storagetransfer +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/storagetransfer/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/storagetransfer/index.d.ts new file mode 100644 index 00000000..92a1a1fd --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/storagetransfer/index.d.ts @@ -0,0 +1,6 @@ +import { storagetransfer_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof storagetransfer_v1.Storagetransfer; +}; +export declare function storagetransfer(version: 'v1'): storagetransfer_v1.Storagetransfer; +export declare function storagetransfer(options: storagetransfer_v1.Options): storagetransfer_v1.Storagetransfer; diff --git a/express-server/node_modules/googleapis/build/src/apis/storagetransfer/index.js b/express-server/node_modules/googleapis/build/src/apis/storagetransfer/index.js new file mode 100644 index 00000000..5bfb372d --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/storagetransfer/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.storagetransfer_v1.Storagetransfer, +}; +function storagetransfer(versionOrOptions) { + return googleapis_common_1.getAPI('storagetransfer', versionOrOptions, exports.VERSIONS, this); +} +exports.storagetransfer = storagetransfer; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/storagetransfer/index.js.map b/express-server/node_modules/googleapis/build/src/apis/storagetransfer/index.js.map new file mode 100644 index 00000000..79a6fb43 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/storagetransfer/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/storagetransfer/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAwC;AAE3B,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,uBAAkB,CAAC,eAAe;CACzC,CAAC;AAMF,SAAgB,eAAe,CAE3B,gBAAiD;IACnD,OAAO,0BAAM,CAAI,iBAAiB,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACxE,CAAC;AAJD,0CAIC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/storagetransfer/package.json b/express-server/node_modules/googleapis/build/src/apis/storagetransfer/package.json new file mode 100644 index 00000000..647c42b0 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/storagetransfer/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/storagetransfer", + "version": "0.1.0", + "description": "storagetransfer", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/storagetransfer/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/storagetransfer/v1.d.ts new file mode 100644 index 00000000..ad68f071 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/storagetransfer/v1.d.ts @@ -0,0 +1,1692 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace storagetransfer_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Storage Transfer API + * + * Transfers data from external data sources to a Google Cloud Storage bucket + * or between Google Cloud Storage buckets. + * + * @example + * const {google} = require('googleapis'); + * const storagetransfer = google.storagetransfer('v1'); + * + * @namespace storagetransfer + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Storagetransfer + */ + class Storagetransfer { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + googleServiceAccounts: Resource$Googleserviceaccounts; + transferJobs: Resource$Transferjobs; + transferOperations: Resource$Transferoperations; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * AWS access key (see [AWS Security + * Credentials](http://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html)). + */ + interface Schema$AwsAccessKey { + /** + * AWS access key ID. Required. + */ + accessKeyId?: string; + /** + * AWS secret access key. This field is not returned in RPC responses. + * Required. + */ + secretAccessKey?: string; + } + /** + * An AwsS3Data resource can be a data source, but not a data sink. In an + * AwsS3Data resource, an object's name is the S3 object's key name. + */ + interface Schema$AwsS3Data { + /** + * AWS access key used to sign the API requests to the AWS S3 bucket. + * Permissions on the bucket must be granted to the access ID of the AWS + * access key. Required. + */ + awsAccessKey?: Schema$AwsAccessKey; + /** + * S3 Bucket name (see [Creating a + * bucket](http://docs.aws.amazon.com/AmazonS3/latest/dev/create-bucket-get-location-example.html)). + * Required. + */ + bucketName?: string; + } + /** + * Represents a whole or partial calendar date, e.g. a birthday. The time of + * day and time zone are either specified elsewhere or are not significant. + * The date is relative to the Proleptic Gregorian Calendar. This can + * represent: * A full date, with non-zero year, month and day values * A + * month and day value, with a zero year, e.g. an anniversary * A year on its + * own, with zero month and day values * A year and month value, with a zero + * day, e.g. a credit card expiration date Related types are + * google.type.TimeOfDay and `google.protobuf.Timestamp`. + */ + interface Schema$Date { + /** + * Day of month. Must be from 1 to 31 and valid for the year and month, or 0 + * if specifying a year by itself or a year and month where the day is not + * significant. + */ + day?: number; + /** + * Month of year. Must be from 1 to 12, or 0 if specifying a year without a + * month and day. + */ + month?: number; + /** + * Year of date. Must be from 1 to 9999, or 0 if specifying a date without a + * year. + */ + year?: number; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * An entry describing an error that has occurred. + */ + interface Schema$ErrorLogEntry { + /** + * A list of messages that carry the error details. + */ + errorDetails?: string[]; + /** + * A URL that refers to the target (a data source, a data sink, or an + * object) with which the error is associated. Required. + */ + url?: string; + } + /** + * A summary of errors by error code, plus a count and sample error log + * entries. + */ + interface Schema$ErrorSummary { + /** + * Required. + */ + errorCode?: string; + /** + * Count of this type of error. Required. + */ + errorCount?: string; + /** + * Error samples. + */ + errorLogEntries?: Schema$ErrorLogEntry[]; + } + /** + * In a GcsData resource, an object's name is the Google Cloud Storage + * object's name and its `lastModificationTime` refers to the object's + * updated time, which changes when the content or the metadata of the object + * is updated. + */ + interface Schema$GcsData { + /** + * Google Cloud Storage bucket name (see [Bucket Name + * Requirements](https://cloud.google.com/storage/docs/naming#requirements)). + * Required. + */ + bucketName?: string; + } + /** + * Google service account + */ + interface Schema$GoogleServiceAccount { + /** + * Required. + */ + accountEmail?: string; + } + /** + * An HttpData resource specifies a list of objects on the web to be + * transferred over HTTP. The information of the objects to be transferred is + * contained in a file referenced by a URL. The first line in the file must be + * "TsvHttpData-1.0", which specifies the format of the file. + * Subsequent lines specify the information of the list of objects, one object + * per list entry. Each entry has the following tab-delimited fields: * HTTP + * URL - The location of the object. * Length - The size of the object in + * bytes. * MD5 - The base64-encoded MD5 hash of the object. For an example + * of a valid TSV file, see [Transferring data from + * URLs](https://cloud.google.com/storage/transfer/create-url-list). When + * transferring data based on a URL list, keep the following in mind: * When + * an object located at `http(s)://hostname:port/<URL-path>` is + * transferred to a data sink, the name of the object at the data sink is + * `<hostname>/<URL-path>`. * If the specified size of an object + * does not match the actual size of the object fetched, the object will not + * be transferred. * If the specified MD5 does not match the MD5 computed + * from the transferred bytes, the object transfer will fail. For more + * information, see [Generating MD5 + * hashes](https://cloud.google.com/storage/transfer/#md5) * Ensure that each + * URL you specify is publicly accessible. For example, in Google Cloud + * Storage you can [share an object publicly] + * (https://cloud.google.com/storage/docs/cloud-console#_sharingdata) and get + * a link to it. * Storage Transfer Service obeys `robots.txt` rules and + * requires the source HTTP server to support `Range` requests and to return a + * `Content-Length` header in each response. * + * [ObjectConditions](#ObjectConditions) have no effect when filtering objects + * to transfer. + */ + interface Schema$HttpData { + /** + * The URL that points to the file that stores the object list entries. This + * file must allow public access. Currently, only URLs with HTTP and HTTPS + * schemes are supported. Required. + */ + listUrl?: string; + } + /** + * The response message for Operations.ListOperations. + */ + interface Schema$ListOperationsResponse { + /** + * The standard List next-page token. + */ + nextPageToken?: string; + /** + * A list of operations that matches the specified filter in the request. + */ + operations?: Schema$Operation[]; + } + /** + * Response from ListTransferJobs. + */ + interface Schema$ListTransferJobsResponse { + /** + * The list next page token. + */ + nextPageToken?: string; + /** + * A list of transfer jobs. + */ + transferJobs?: Schema$TransferJob[]; + } + /** + * Conditions that determine which objects will be transferred. + */ + interface Schema$ObjectConditions { + /** + * `excludePrefixes` must follow the requirements described for + * `includePrefixes`. The max size of `excludePrefixes` is 1000. + */ + excludePrefixes?: string[]; + /** + * If `includePrefixes` is specified, objects that satisfy the object + * conditions must have names that start with one of the `includePrefixes` + * and that do not start with any of the `excludePrefixes`. If + * `includePrefixes` is not specified, all objects except those that have + * names starting with one of the `excludePrefixes` must satisfy the object + * conditions. Requirements: * Each include-prefix and exclude-prefix + * can contain any sequence of Unicode characters, of max length 1024 + * bytes when UTF8-encoded, and must not contain Carriage Return or Line + * Feed characters. Wildcard matching and regular expression matching + * are not supported. * Each include-prefix and exclude-prefix must omit + * the leading slash. For example, to include the `requests.gz` object + * in a transfer from `s3://my-aws-bucket/logs/y=2015/requests.gz`, + * specify the include prefix as `logs/y=2015/requests.gz`. * None of + * the include-prefix or the exclude-prefix values can be empty, if + * specified. * Each include-prefix must include a distinct portion of + * the object namespace, i.e., no include-prefix may be a prefix of + * another include-prefix. * Each exclude-prefix must exclude a + * distinct portion of the object namespace, i.e., no exclude-prefix may + * be a prefix of another exclude-prefix. * If `includePrefixes` is + * specified, then each exclude-prefix must start with the value of a + * path explicitly included by `includePrefixes`. The max size of + * `includePrefixes` is 1000. + */ + includePrefixes?: string[]; + /** + * `maxTimeElapsedSinceLastModification` is the complement to + * `minTimeElapsedSinceLastModification`. + */ + maxTimeElapsedSinceLastModification?: string; + /** + * If unspecified, `minTimeElapsedSinceLastModification` takes a zero value + * and `maxTimeElapsedSinceLastModification` takes the maximum possible + * value of Duration. Objects that satisfy the object conditions must either + * have a `lastModificationTime` greater or equal to `NOW` - + * `maxTimeElapsedSinceLastModification` and less than `NOW` - + * `minTimeElapsedSinceLastModification`, or not have a + * `lastModificationTime`. + */ + minTimeElapsedSinceLastModification?: string; + } + /** + * This resource represents a long-running operation that is the result of a + * network API call. + */ + interface Schema$Operation { + /** + * If the value is `false`, it means the operation is still in progress. If + * `true`, the operation is completed, and either `error` or `response` is + * available. + */ + done?: boolean; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * Represents the transfer operation object. + */ + metadata?: any; + /** + * The server-assigned name, which is only unique within the same service + * that originally returns it. If you use the default HTTP mapping, the + * `name` should have the format of `transferOperations/some/unique/name`. + */ + name?: string; + /** + * The normal response of the operation in case of success. If the original + * method returns no data on success, such as `Delete`, the response is + * `google.protobuf.Empty`. If the original method is standard + * `Get`/`Create`/`Update`, the response should be the resource. For other + * methods, the response should have the type `XxxResponse`, where `Xxx` is + * the original method name. For example, if the original method name is + * `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: any; + } + /** + * Request passed to PauseTransferOperation. + */ + interface Schema$PauseTransferOperationRequest { + } + /** + * Request passed to ResumeTransferOperation. + */ + interface Schema$ResumeTransferOperationRequest { + } + /** + * Transfers can be scheduled to recur or to run just once. + */ + interface Schema$Schedule { + /** + * The last day the recurring transfer will be run. If `scheduleEndDate` is + * the same as `scheduleStartDate`, the transfer will be executed only once. + */ + scheduleEndDate?: Schema$Date; + /** + * The first day the recurring transfer is scheduled to run. If + * `scheduleStartDate` is in the past, the transfer will run for the first + * time on the following day. Required. + */ + scheduleStartDate?: Schema$Date; + /** + * The time in UTC at which the transfer will be scheduled to start in a + * day. Transfers may start later than this time. If not specified, + * recurring and one-time transfers that are scheduled to run today will run + * immediately; recurring transfers that are scheduled to run on a future + * date will start at approximately midnight UTC on that date. Note that + * when configuring a transfer with the Cloud Platform Console, the + * transfer's start time in a day is specified in your local timezone. + */ + startTimeOfDay?: Schema$TimeOfDay; + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + /** + * Represents a time of day. The date and time zone are either not significant + * or are specified elsewhere. An API may choose to allow leap seconds. + * Related types are google.type.Date and `google.protobuf.Timestamp`. + */ + interface Schema$TimeOfDay { + /** + * Hours of day in 24 hour format. Should be from 0 to 23. An API may choose + * to allow the value "24:00:00" for scenarios like business + * closing time. + */ + hours?: number; + /** + * Minutes of hour of day. Must be from 0 to 59. + */ + minutes?: number; + /** + * Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + */ + nanos?: number; + /** + * Seconds of minutes of the time. Must normally be from 0 to 59. An API may + * allow the value 60 if it allows leap-seconds. + */ + seconds?: number; + } + /** + * A collection of counters that report the progress of a transfer operation. + */ + interface Schema$TransferCounters { + /** + * Bytes that are copied to the data sink. + */ + bytesCopiedToSink?: string; + /** + * Bytes that are deleted from the data sink. + */ + bytesDeletedFromSink?: string; + /** + * Bytes that are deleted from the data source. + */ + bytesDeletedFromSource?: string; + /** + * Bytes that failed to be deleted from the data sink. + */ + bytesFailedToDeleteFromSink?: string; + /** + * Bytes found in the data source that are scheduled to be transferred, + * excluding any that are filtered based on object conditions or skipped due + * to sync. + */ + bytesFoundFromSource?: string; + /** + * Bytes found only in the data sink that are scheduled to be deleted. + */ + bytesFoundOnlyFromSink?: string; + /** + * Bytes in the data source that failed to be transferred or that failed to + * be deleted after being transferred. + */ + bytesFromSourceFailed?: string; + /** + * Bytes in the data source that are not transferred because they already + * exist in the data sink. + */ + bytesFromSourceSkippedBySync?: string; + /** + * Objects that are copied to the data sink. + */ + objectsCopiedToSink?: string; + /** + * Objects that are deleted from the data sink. + */ + objectsDeletedFromSink?: string; + /** + * Objects that are deleted from the data source. + */ + objectsDeletedFromSource?: string; + /** + * Objects that failed to be deleted from the data sink. + */ + objectsFailedToDeleteFromSink?: string; + /** + * Objects found in the data source that are scheduled to be transferred, + * excluding any that are filtered based on object conditions or skipped due + * to sync. + */ + objectsFoundFromSource?: string; + /** + * Objects found only in the data sink that are scheduled to be deleted. + */ + objectsFoundOnlyFromSink?: string; + /** + * Objects in the data source that failed to be transferred or that failed + * to be deleted after being transferred. + */ + objectsFromSourceFailed?: string; + /** + * Objects in the data source that are not transferred because they already + * exist in the data sink. + */ + objectsFromSourceSkippedBySync?: string; + } + /** + * This resource represents the configuration of a transfer job that runs + * periodically. + */ + interface Schema$TransferJob { + /** + * This field cannot be changed by user requests. + */ + creationTime?: string; + /** + * This field cannot be changed by user requests. + */ + deletionTime?: string; + /** + * A description provided by the user for the job. Its max length is 1024 + * bytes when Unicode-encoded. + */ + description?: string; + /** + * This field cannot be changed by user requests. + */ + lastModificationTime?: string; + /** + * A globally unique name assigned by Storage Transfer Service when the job + * is created. This field should be left empty in requests to create a new + * transfer job; otherwise, the requests result in an `INVALID_ARGUMENT` + * error. + */ + name?: string; + /** + * The ID of the Google Cloud Platform Console project that owns the job. + */ + projectId?: string; + /** + * Schedule specification. + */ + schedule?: Schema$Schedule; + /** + * Status of the job. This value MUST be specified for + * `CreateTransferJobRequests`. NOTE: The effect of the new job status + * takes place during a subsequent job run. For example, if you change the + * job status from `ENABLED` to `DISABLED`, and an operation spawned by the + * transfer is running, the status change would not affect the current + * operation. + */ + status?: string; + /** + * Transfer specification. + */ + transferSpec?: Schema$TransferSpec; + } + /** + * A description of the execution of a transfer. + */ + interface Schema$TransferOperation { + /** + * Information about the progress of the transfer operation. + */ + counters?: Schema$TransferCounters; + /** + * End time of this transfer execution. + */ + endTime?: string; + /** + * Summarizes errors encountered with sample error log entries. + */ + errorBreakdowns?: Schema$ErrorSummary[]; + /** + * A globally unique ID assigned by the system. + */ + name?: string; + /** + * The ID of the Google Cloud Platform Console project that owns the + * operation. Required. + */ + projectId?: string; + /** + * Start time of this transfer execution. + */ + startTime?: string; + /** + * Status of the transfer operation. + */ + status?: string; + /** + * The name of the transfer job that triggers this transfer operation. + */ + transferJobName?: string; + /** + * Transfer specification. Required. + */ + transferSpec?: Schema$TransferSpec; + } + /** + * TransferOptions uses three boolean parameters to define the actions to be + * performed on objects in a transfer. + */ + interface Schema$TransferOptions { + /** + * Whether objects should be deleted from the source after they are + * transferred to the sink. Note that this option and + * `deleteObjectsUniqueInSink` are mutually exclusive. + */ + deleteObjectsFromSourceAfterTransfer?: boolean; + /** + * Whether objects that exist only in the sink should be deleted. Note that + * this option and `deleteObjectsFromSourceAfterTransfer` are mutually + * exclusive. + */ + deleteObjectsUniqueInSink?: boolean; + /** + * Whether overwriting objects that already exist in the sink is allowed. + */ + overwriteObjectsAlreadyExistingInSink?: boolean; + } + /** + * Configuration for running a transfer. + */ + interface Schema$TransferSpec { + /** + * An AWS S3 data source. + */ + awsS3DataSource?: Schema$AwsS3Data; + /** + * A Google Cloud Storage data sink. + */ + gcsDataSink?: Schema$GcsData; + /** + * A Google Cloud Storage data source. + */ + gcsDataSource?: Schema$GcsData; + /** + * An HTTP URL data source. + */ + httpDataSource?: Schema$HttpData; + /** + * Only objects that satisfy these object conditions are included in the set + * of data source and data sink objects. Object conditions based on + * objects' `lastModificationTime` do not exclude objects in a data + * sink. + */ + objectConditions?: Schema$ObjectConditions; + /** + * If the option `deleteObjectsUniqueInSink` is `true`, object conditions + * based on objects' `lastModificationTime` are ignored and do not + * exclude objects in a data source or a data sink. + */ + transferOptions?: Schema$TransferOptions; + } + /** + * Request passed to UpdateTransferJob. + */ + interface Schema$UpdateTransferJobRequest { + /** + * The ID of the Google Cloud Platform Console project that owns the job. + * Required. + */ + projectId?: string; + /** + * The job to update. `transferJob` is expected to specify only three + * fields: `description`, `transferSpec`, and `status`. An + * UpdateTransferJobRequest that specifies other fields will be rejected + * with an error `INVALID_ARGUMENT`. Required. + */ + transferJob?: Schema$TransferJob; + /** + * The field mask of the fields in `transferJob` that are to be updated in + * this request. Fields in `transferJob` that can be updated are: + * `description`, `transferSpec`, and `status`. To update the + * `transferSpec` of the job, a complete transfer specification has to be + * provided. An incomplete specification which misses any required fields + * will be rejected with the error `INVALID_ARGUMENT`. + */ + updateTransferJobFieldMask?: string; + } + class Resource$Googleserviceaccounts { + root: Storagetransfer; + constructor(root: Storagetransfer); + getRoot(): Storagetransfer; + /** + * storagetransfer.googleServiceAccounts.get + * @desc Returns the Google service account that is used by Storage Transfer + * Service to access buckets in the project where transfers run or in other + * projects. Each Google service account is associated with one Google Cloud + * Platform Console project. Users should add this service account to the + * Google Cloud Storage bucket ACLs to grant access to Storage Transfer + * Service. This service account is created and owned by Storage Transfer + * Service and can only be used by Storage Transfer Service. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Storage Transfer API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storagetransfer + * // 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 storagetransfer = google.storagetransfer('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The ID of the Google Cloud Platform Console project that the + * Google service + * // account is associated with. + * // Required. + * projectId: 'my-project-id', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * storagetransfer.googleServiceAccounts.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 storagetransfer.googleServiceAccounts.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId The ID of the Google Cloud Platform Console project that the Google service account is associated with. Required. + * @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?: Params$Resource$Googleserviceaccounts$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Googleserviceaccounts$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Googleserviceaccounts$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Googleserviceaccounts$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the Google Cloud Platform Console project that the Google + * service account is associated with. Required. + */ + projectId?: string; + } + class Resource$Transferjobs { + root: Storagetransfer; + constructor(root: Storagetransfer); + getRoot(): Storagetransfer; + /** + * storagetransfer.transferJobs.create + * @desc Creates a transfer job that runs periodically. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Storage Transfer API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storagetransfer + * // 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 storagetransfer = google.storagetransfer('v1'); + * + * authorize(function(authClient) { + * var request = { + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * storagetransfer.transferJobs.create(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 storagetransfer.transferJobs.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().TransferJob} 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 + */ + create(params?: Params$Resource$Transferjobs$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Transferjobs$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Transferjobs$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * storagetransfer.transferJobs.get + * @desc Gets a transfer job. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Storage Transfer API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storagetransfer + * // 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 storagetransfer = google.storagetransfer('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The job to get. + * // Required. + * jobName: 'transferJobs/my-transfer-job', // TODO: Update placeholder + * value. + * + * auth: authClient, + * }; + * + * storagetransfer.transferJobs.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 storagetransfer.transferJobs.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.jobName The job to get. Required. + * @param {string=} params.projectId The ID of the Google Cloud Platform Console project that owns the job. Required. + * @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?: Params$Resource$Transferjobs$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Transferjobs$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Transferjobs$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * storagetransfer.transferJobs.list + * @desc Lists transfer jobs. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Storage Transfer API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storagetransfer + * // 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 storagetransfer = google.storagetransfer('v1'); + * + * authorize(function(authClient) { + * var request = { + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var transferJobsPage = response['transferJobs']; + * if (!transferJobsPage) { + * return; + * } + * for (var i = 0; i < transferJobsPage.length; i++) { + * // TODO: Change code below to process each resource in + * `transferJobsPage`: console.log(JSON.stringify(transferJobsPage[i], null, + * 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * storagetransfer.transferJobs.list(request, handlePage); + * } + * }; + * + * storagetransfer.transferJobs.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 storagetransfer.transferJobs.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A list of query parameters specified as JSON text in the form of {"project_id":"my_project_id", "job_names":["jobid1","jobid2",...], "job_statuses":["status1","status2",...]}. Since `job_names` and `job_statuses` support multiple values, their values must be specified with array notation. `project_id` is required. `job_names` and `job_statuses` are optional. The valid values for `job_statuses` are case-insensitive: `ENABLED`, `DISABLED`, and `DELETED`. + * @param {integer=} params.pageSize The list page size. The max allowed value is 256. + * @param {string=} params.pageToken The list page token. + * @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?: Params$Resource$Transferjobs$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Transferjobs$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Transferjobs$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * storagetransfer.transferJobs.patch + * @desc Updates a transfer job. Updating a job's transfer spec does not + * affect transfer operations that are running already. Updating the + * scheduling of a job is not allowed. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Storage Transfer API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storagetransfer + * // 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 storagetransfer = google.storagetransfer('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The name of job to update. + * // Required. + * jobName: 'transferJobs/my-transfer-job', // TODO: Update placeholder + * value. + * + * resource: { + * // TODO: Add desired properties to the request body. Only these + * properties + * // will be changed. + * }, + * + * auth: authClient, + * }; + * + * storagetransfer.transferJobs.patch(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 storagetransfer.transferJobs.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.jobName The name of job to update. Required. + * @param {().UpdateTransferJobRequest} 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 + */ + patch(params?: Params$Resource$Transferjobs$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Transferjobs$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Transferjobs$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Transferjobs$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$TransferJob; + } + interface Params$Resource$Transferjobs$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The job to get. Required. + */ + jobName?: string; + /** + * The ID of the Google Cloud Platform Console project that owns the job. + * Required. + */ + projectId?: string; + } + interface Params$Resource$Transferjobs$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A list of query parameters specified as JSON text in the form of + * {"project_id":"my_project_id", "job_names":["jobid1","jobid2",...], + * "job_statuses":["status1","status2",...]}. Since `job_names` and + * `job_statuses` support multiple values, their values must be specified + * with array notation. `project_id` is required. `job_names` and + * `job_statuses` are optional. The valid values for `job_statuses` are + * case-insensitive: `ENABLED`, `DISABLED`, and `DELETED`. + */ + filter?: string; + /** + * The list page size. The max allowed value is 256. + */ + pageSize?: number; + /** + * The list page token. + */ + pageToken?: string; + } + interface Params$Resource$Transferjobs$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of job to update. Required. + */ + jobName?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UpdateTransferJobRequest; + } + class Resource$Transferoperations { + root: Storagetransfer; + constructor(root: Storagetransfer); + getRoot(): Storagetransfer; + /** + * storagetransfer.transferOperations.cancel + * @desc Cancels a transfer. Use the get method to check whether the + * cancellation succeeded or whether the operation completed despite + * cancellation. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Storage Transfer API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storagetransfer + * // 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 storagetransfer = google.storagetransfer('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The name of the operation resource to be cancelled. + * name: 'transferOperations/my-transfer-operation', // TODO: Update + * placeholder value. + * + * auth: authClient, + * }; + * + * storagetransfer.transferOperations.cancel(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 storagetransfer.transferOperations.cancel + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource to be cancelled. + * @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 + */ + cancel(params?: Params$Resource$Transferoperations$Cancel, options?: MethodOptions): AxiosPromise; + cancel(params: Params$Resource$Transferoperations$Cancel, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + cancel(params: Params$Resource$Transferoperations$Cancel, callback: BodyResponseCallback): void; + cancel(callback: BodyResponseCallback): void; + /** + * storagetransfer.transferOperations.delete + * @desc This method is not supported and the server returns + * `UNIMPLEMENTED`. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Storage Transfer API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storagetransfer + * // 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 storagetransfer = google.storagetransfer('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The name of the operation resource to be deleted. + * name: 'transferOperations/my-transfer-operation', // TODO: Update + * placeholder value. + * + * auth: authClient, + * }; + * + * storagetransfer.transferOperations.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 storagetransfer.transferOperations.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource to be deleted. + * @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?: Params$Resource$Transferoperations$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Transferoperations$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Transferoperations$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * storagetransfer.transferOperations.get + * @desc Gets the latest state of a long-running operation. Clients can use + * this method to poll the operation result at intervals as recommended by + * the API service. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Storage Transfer API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storagetransfer + * // 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 storagetransfer = google.storagetransfer('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The name of the operation resource. + * name: 'transferOperations/my-transfer-operation', // TODO: Update + * placeholder value. + * + * auth: authClient, + * }; + * + * storagetransfer.transferOperations.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 storagetransfer.transferOperations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource. + * @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?: Params$Resource$Transferoperations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Transferoperations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Transferoperations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * storagetransfer.transferOperations.list + * @desc Lists operations that match the specified filter in the request. If + * the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: + * the `name` binding allows API services to override the binding to use + * different resource name schemes, such as `users/x/operations`. To + * override the binding, API services can add a binding such as + * `"/v1/{name=users/x}/operations"` to their service configuration. For + * backwards compatibility, the default name includes the operations + * collection id, however overriding users must ensure the name binding is + * the parent resource, without the operations collection id. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Storage Transfer API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storagetransfer + * // 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 storagetransfer = google.storagetransfer('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The value `transferOperations`. + * name: 'transferOperations', // TODO: Update placeholder value. + * + * auth: authClient, + * }; + * + * var handlePage = function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * + * var operationsPage = response['operations']; + * if (!operationsPage) { + * return; + * } + * for (var i = 0; i < operationsPage.length; i++) { + * // TODO: Change code below to process each resource in + * `operationsPage`: console.log(JSON.stringify(operationsPage[i], null, + * 2)); + * } + * + * if (response.nextPageToken) { + * request.pageToken = response.nextPageToken; + * storagetransfer.transferOperations.list(request, handlePage); + * } + * }; + * + * storagetransfer.transferOperations.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 storagetransfer.transferOperations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A list of query parameters specified as JSON text in the form of {\"project_id\" : \"my_project_id\", \"job_names\" : [\"jobid1\", \"jobid2\",...], \"operation_names\" : [\"opid1\", \"opid2\",...], \"transfer_statuses\":[\"status1\", \"status2\",...]}. Since `job_names`, `operation_names`, and `transfer_statuses` support multiple values, they must be specified with array notation. `job_names`, `operation_names`, and `transfer_statuses` are optional. + * @param {string} params.name The value `transferOperations`. + * @param {integer=} params.pageSize The list page size. The max allowed value is 256. + * @param {string=} params.pageToken The list page token. + * @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?: Params$Resource$Transferoperations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Transferoperations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Transferoperations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * storagetransfer.transferOperations.pause + * @desc Pauses a transfer operation. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Storage Transfer API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storagetransfer + * // 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 storagetransfer = google.storagetransfer('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The name of the transfer operation. + * // Required. + * name: 'transferOperations/my-transfer-operation', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * storagetransfer.transferOperations.pause(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 storagetransfer.transferOperations.pause + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the transfer operation. Required. + * @param {().PauseTransferOperationRequest} 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 + */ + pause(params?: Params$Resource$Transferoperations$Pause, options?: MethodOptions): AxiosPromise; + pause(params: Params$Resource$Transferoperations$Pause, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + pause(params: Params$Resource$Transferoperations$Pause, callback: BodyResponseCallback): void; + pause(callback: BodyResponseCallback): void; + /** + * storagetransfer.transferOperations.resume + * @desc Resumes a transfer operation that is paused. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Storage Transfer API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/storagetransfer + * // 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 storagetransfer = google.storagetransfer('v1'); + * + * authorize(function(authClient) { + * var request = { + * // The name of the transfer operation. + * // Required. + * name: 'transferOperations/my-transfer-operation', // TODO: Update + * placeholder value. + * + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * storagetransfer.transferOperations.resume(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 storagetransfer.transferOperations.resume + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the transfer operation. Required. + * @param {().ResumeTransferOperationRequest} 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 + */ + resume(params?: Params$Resource$Transferoperations$Resume, options?: MethodOptions): AxiosPromise; + resume(params: Params$Resource$Transferoperations$Resume, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + resume(params: Params$Resource$Transferoperations$Resume, callback: BodyResponseCallback): void; + resume(callback: BodyResponseCallback): void; + } + interface Params$Resource$Transferoperations$Cancel { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource to be cancelled. + */ + name?: string; + } + interface Params$Resource$Transferoperations$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource to be deleted. + */ + name?: string; + } + interface Params$Resource$Transferoperations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource. + */ + name?: string; + } + interface Params$Resource$Transferoperations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A list of query parameters specified as JSON text in the form of + * {\"project_id\" : \"my_project_id\", \"job_names\" : [\"jobid1\", + * \"jobid2\",...], \"operation_names\" : [\"opid1\", \"opid2\",...], + * \"transfer_statuses\":[\"status1\", \"status2\",...]}. Since `job_names`, + * `operation_names`, and `transfer_statuses` support multiple values, they + * must be specified with array notation. `job_names`, `operation_names`, + * and `transfer_statuses` are optional. + */ + filter?: string; + /** + * The value `transferOperations`. + */ + name?: string; + /** + * The list page size. The max allowed value is 256. + */ + pageSize?: number; + /** + * The list page token. + */ + pageToken?: string; + } + interface Params$Resource$Transferoperations$Pause { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the transfer operation. Required. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$PauseTransferOperationRequest; + } + interface Params$Resource$Transferoperations$Resume { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the transfer operation. Required. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ResumeTransferOperationRequest; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/storagetransfer/v1.js b/express-server/node_modules/googleapis/build/src/apis/storagetransfer/v1.js new file mode 100644 index 00000000..7e561277 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/storagetransfer/v1.js @@ -0,0 +1,421 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var storagetransfer_v1; +(function (storagetransfer_v1) { + /** + * Storage Transfer API + * + * Transfers data from external data sources to a Google Cloud Storage bucket + * or between Google Cloud Storage buckets. + * + * @example + * const {google} = require('googleapis'); + * const storagetransfer = google.storagetransfer('v1'); + * + * @namespace storagetransfer + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Storagetransfer + */ + class Storagetransfer { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.googleServiceAccounts = new Resource$Googleserviceaccounts(this); + this.transferJobs = new Resource$Transferjobs(this); + this.transferOperations = new Resource$Transferoperations(this); + } + getRoot() { + return this.root; + } + } + storagetransfer_v1.Storagetransfer = Storagetransfer; + class Resource$Googleserviceaccounts { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://storagetransfer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/googleServiceAccounts/{projectId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId'], + pathParams: ['projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + storagetransfer_v1.Resource$Googleserviceaccounts = Resource$Googleserviceaccounts; + class Resource$Transferjobs { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://storagetransfer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/transferJobs').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://storagetransfer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+jobName}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['jobName'], + pathParams: ['jobName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://storagetransfer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/transferJobs').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://storagetransfer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+jobName}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['jobName'], + pathParams: ['jobName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + storagetransfer_v1.Resource$Transferjobs = Resource$Transferjobs; + class Resource$Transferoperations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + cancel(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://storagetransfer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:cancel') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://storagetransfer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://storagetransfer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://storagetransfer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + pause(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://storagetransfer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:pause').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + resume(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://storagetransfer.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:resume') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + storagetransfer_v1.Resource$Transferoperations = Resource$Transferoperations; +})(storagetransfer_v1 = exports.storagetransfer_v1 || (exports.storagetransfer_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/storagetransfer/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/storagetransfer/v1.js.map new file mode 100644 index 00000000..43610ceb --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/storagetransfer/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/storagetransfer/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/streetviewpublish/README.md b/express-server/node_modules/googleapis/build/src/apis/streetviewpublish/README.md new file mode 100644 index 00000000..cbab5ed9 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/streetviewpublish/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/streetviewpublish + +> Publishes 360 photos to Google Maps, along with position, orientation, and connectivity metadata. Apps can offer an interface for positioning, connecting, and uploading user-generated Street View images. + +## Installation + +```sh +$ npm install @google/streetviewpublish +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/streetviewpublish/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/streetviewpublish/index.d.ts new file mode 100644 index 00000000..91b92d31 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/streetviewpublish/index.d.ts @@ -0,0 +1,6 @@ +import { streetviewpublish_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof streetviewpublish_v1.Streetviewpublish; +}; +export declare function streetviewpublish(version: 'v1'): streetviewpublish_v1.Streetviewpublish; +export declare function streetviewpublish(options: streetviewpublish_v1.Options): streetviewpublish_v1.Streetviewpublish; diff --git a/express-server/node_modules/googleapis/build/src/apis/streetviewpublish/index.js b/express-server/node_modules/googleapis/build/src/apis/streetviewpublish/index.js new file mode 100644 index 00000000..171ec184 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/streetviewpublish/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.streetviewpublish_v1.Streetviewpublish, +}; +function streetviewpublish(versionOrOptions) { + return googleapis_common_1.getAPI('streetviewpublish', versionOrOptions, exports.VERSIONS, this); +} +exports.streetviewpublish = streetviewpublish; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/streetviewpublish/index.js.map b/express-server/node_modules/googleapis/build/src/apis/streetviewpublish/index.js.map new file mode 100644 index 00000000..0e499966 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/streetviewpublish/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/streetviewpublish/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAA0C;AAE7B,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,yBAAoB,CAAC,iBAAiB;CAC7C,CAAC;AAMF,SAAgB,iBAAiB,CAE7B,gBAAmD;IACrD,OAAO,0BAAM,CAAI,mBAAmB,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAC1E,CAAC;AAJD,8CAIC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/streetviewpublish/package.json b/express-server/node_modules/googleapis/build/src/apis/streetviewpublish/package.json new file mode 100644 index 00000000..e82d3563 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/streetviewpublish/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/streetviewpublish", + "version": "0.1.0", + "description": "streetviewpublish", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/streetviewpublish/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/streetviewpublish/v1.d.ts new file mode 100644 index 00000000..a7ea2c75 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/streetviewpublish/v1.d.ts @@ -0,0 +1,793 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace streetviewpublish_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Street View Publish API + * + * Publishes 360 photos to Google Maps, along with position, orientation, and + * connectivity metadata. Apps can offer an interface for positioning, + * connecting, and uploading user-generated Street View images. + * + * @example + * const {google} = require('googleapis'); + * const streetviewpublish = google.streetviewpublish('v1'); + * + * @namespace streetviewpublish + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Streetviewpublish + */ + class Streetviewpublish { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + photo: Resource$Photo; + photos: Resource$Photos; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Request to delete multiple Photos. + */ + interface Schema$BatchDeletePhotosRequest { + /** + * Required. IDs of the Photos. For HTTP GET requests, the URL query + * parameter should be + * `photoIds=<id1>&photoIds=<id2>&...`. + */ + photoIds?: string[]; + } + /** + * Response to batch delete of one or more Photos. + */ + interface Schema$BatchDeletePhotosResponse { + /** + * The status for the operation to delete a single Photo in the batch + * request. + */ + status?: Schema$Status[]; + } + /** + * Response to batch get of Photos. + */ + interface Schema$BatchGetPhotosResponse { + /** + * List of results for each individual Photo requested, in the same order as + * the requests in BatchGetPhotos. + */ + results?: Schema$PhotoResponse[]; + } + /** + * Request to update the metadata of photos. Updating the pixels of photos is + * not supported. + */ + interface Schema$BatchUpdatePhotosRequest { + /** + * Required. List of UpdatePhotoRequests. + */ + updatePhotoRequests?: Schema$UpdatePhotoRequest[]; + } + /** + * Response to batch update of metadata of one or more Photos. + */ + interface Schema$BatchUpdatePhotosResponse { + /** + * List of results for each individual Photo updated, in the same order as + * the request. + */ + results?: Schema$PhotoResponse[]; + } + /** + * A connection is the link from a source photo to a destination photo. + */ + interface Schema$Connection { + /** + * Required. The destination of the connection from the containing photo to + * another photo. + */ + target?: Schema$PhotoId; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * An object representing a latitude/longitude pair. This is expressed as a + * pair of doubles representing degrees latitude and degrees longitude. Unless + * specified otherwise, this must conform to the <a + * href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84 + * standard</a>. Values must be within normalized ranges. + */ + interface Schema$LatLng { + /** + * The latitude in degrees. It must be in the range [-90.0, +90.0]. + */ + latitude?: number; + /** + * The longitude in degrees. It must be in the range [-180.0, +180.0]. + */ + longitude?: number; + } + /** + * Level information containing level number and its corresponding name. + */ + interface Schema$Level { + /** + * Required. A name assigned to this Level, restricted to 3 characters. + * Consider how the elevator buttons would be labeled for this level if + * there was an elevator. + */ + name?: string; + /** + * Floor number, used for ordering. 0 indicates the ground level, 1 + * indicates the first level above ground level, -1 indicates the first + * level under ground level. Non-integer values are OK. + */ + number?: number; + } + /** + * Response to list all photos that belong to a user. + */ + interface Schema$ListPhotosResponse { + /** + * Token to retrieve the next page of results, or empty if there are no more + * results in the list. + */ + nextPageToken?: string; + /** + * List of photos. The maximum number of items returned is based on the + * pageSize field in the request. + */ + photos?: Schema$Photo[]; + } + /** + * This resource represents a long-running operation that is the result of a + * network API call. + */ + interface Schema$Operation { + /** + * If the value is `false`, it means the operation is still in progress. If + * `true`, the operation is completed, and either `error` or `response` is + * available. + */ + done?: boolean; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * Service-specific metadata associated with the operation. It typically + * contains progress information and common metadata such as create time. + * Some services might not provide such metadata. Any method that returns a + * long-running operation should document the metadata type, if any. + */ + metadata?: any; + /** + * The server-assigned name, which is only unique within the same service + * that originally returns it. If you use the default HTTP mapping, the + * `name` should have the format of `operations/some/unique/name`. + */ + name?: string; + /** + * The normal response of the operation in case of success. If the original + * method returns no data on success, such as `Delete`, the response is + * `google.protobuf.Empty`. If the original method is standard + * `Get`/`Create`/`Update`, the response should be the resource. For other + * methods, the response should have the type `XxxResponse`, where `Xxx` is + * the original method name. For example, if the original method name is + * `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: any; + } + /** + * Photo is used to store 360 photos along with photo metadata. + */ + interface Schema$Photo { + /** + * Absolute time when the photo was captured. When the photo has no exif + * timestamp, this is used to set a timestamp in the photo metadata. + */ + captureTime?: string; + /** + * Connections to other photos. A connection represents the link from this + * photo to another photo. + */ + connections?: Schema$Connection[]; + /** + * Output only. The download URL for the photo bytes. This field is set only + * when GetPhotoRequest.view is set to PhotoView.INCLUDE_DOWNLOAD_URL. + */ + downloadUrl?: string; + /** + * Required when updating a photo. Output only when creating a photo. + * Identifier for the photo, which is unique among all photos in Google. + */ + photoId?: Schema$PhotoId; + /** + * Places where this photo belongs. + */ + places?: Schema$Place[]; + /** + * Pose of the photo. + */ + pose?: Schema$Pose; + /** + * Output only. The share link for the photo. + */ + shareLink?: string; + /** + * Output only. The thumbnail URL for showing a preview of the given photo. + */ + thumbnailUrl?: string; + /** + * Required when creating a photo. Input only. The resource URL where the + * photo bytes are uploaded to. + */ + uploadReference?: Schema$UploadRef; + /** + * Output only. View count of the photo. + */ + viewCount?: string; + } + /** + * Identifier for a Photo. + */ + interface Schema$PhotoId { + /** + * Required. A unique identifier for a photo. + */ + id?: string; + } + /** + * Response payload for a single Photo in batch operations including + * BatchGetPhotos and BatchUpdatePhotos. + */ + interface Schema$PhotoResponse { + /** + * The Photo resource, if the request was successful. + */ + photo?: Schema$Photo; + /** + * The status for the operation to get or update a single photo in the batch + * request. + */ + status?: Schema$Status; + } + /** + * Place metadata for an entity. + */ + interface Schema$Place { + /** + * Place identifier, as described in + * https://developers.google.com/places/place-id. + */ + placeId?: string; + } + /** + * Raw pose measurement for an entity. + */ + interface Schema$Pose { + /** + * The estimated horizontal accuracy of this pose in meters with 68% (one + * standard deviation) confidence. For more information, see: + * https://developer.android.com/reference/android/location/Location#getAccuracy() + */ + accuracyMeters?: number; + /** + * Altitude of the pose in meters above WGS84 ellipsoid. NaN indicates an + * unmeasured quantity. + */ + altitude?: number; + /** + * Compass heading, measured at the center of the photo in degrees clockwise + * from North. Value must be >=0 and <360. NaN indicates an unmeasured + * quantity. + */ + heading?: number; + /** + * Latitude and longitude pair of the pose, as explained here: + * https://cloud.google.com/datastore/docs/reference/rest/Shared.Types/LatLng + * When creating a Photo, if the latitude and longitude pair are not + * provided here, the geolocation from the exif header will be used. If the + * latitude and longitude pair is not provided and cannot be found in the + * exif header, the create photo process will fail. + */ + latLngPair?: Schema$LatLng; + /** + * Level (the floor in a building) used to configure vertical navigation. + */ + level?: Schema$Level; + /** + * Pitch, measured at the center of the photo in degrees. Value must be + * >=-90 and <= 90. A value of -90 means looking directly down, and a + * value of 90 means looking directly up. NaN indicates an unmeasured + * quantity. + */ + pitch?: number; + /** + * Roll, measured in degrees. Value must be >= 0 and <360. A value of + * 0 means level with the horizon. NaN indicates an unmeasured quantity. + */ + roll?: number; + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + /** + * Request to update the metadata of a Photo. Updating the pixels of a photo + * is not supported. + */ + interface Schema$UpdatePhotoRequest { + /** + * Required. Photo object containing the new metadata. + */ + photo?: Schema$Photo; + /** + * Mask that identifies fields on the photo metadata to update. If not + * present, the old Photo metadata will be entirely replaced with the new + * Photo metadata in this request. The update fails if invalid fields are + * specified. Multiple fields can be specified in a comma-delimited list. + * The following fields are valid: * `pose.heading` * `pose.latLngPair` * + * `pose.pitch` * `pose.roll` * `pose.level` * `pose.altitude` * + * `connections` * `places` <aside + * class="note"><b>Note:</b> Repeated fields in + * updateMask mean the entire set of repeated values will be replaced with + * the new contents. For example, if updateMask contains `connections` and + * `UpdatePhotoRequest.photo.connections` is empty, all connections will be + * removed.</aside> + */ + updateMask?: string; + } + /** + * Upload reference for media files. + */ + interface Schema$UploadRef { + /** + * Required. An upload reference should be unique for each user. It follows + * the form: + * "https://streetviewpublish.googleapis.com/media/user/{account_id}/photo/{upload_reference}" + */ + uploadUrl?: string; + } + class Resource$Photo { + root: Streetviewpublish; + constructor(root: Streetviewpublish); + getRoot(): Streetviewpublish; + /** + * streetviewpublish.photo.create + * @desc After the client finishes uploading the photo with the returned + * UploadRef, CreatePhoto publishes the uploaded Photo to Street View on + * Google Maps. Currently, the only way to set heading, pitch, and roll in + * CreatePhoto is through the [Photo Sphere XMP + * metadata](https://developers.google.com/streetview/spherical-metadata) in + * the photo bytes. The `pose.heading`, `pose.pitch`, `pose.roll`, + * `pose.altitude`, and `pose.level` fields in Pose are ignored for + * CreatePhoto. This method returns the following error codes: * + * google.rpc.Code.INVALID_ARGUMENT if the request is malformed or if the + * uploaded photo is not a 360 photo. * google.rpc.Code.NOT_FOUND if the + * upload reference does not exist. * google.rpc.Code.RESOURCE_EXHAUSTED if + * the account has reached the storage limit. + * @alias streetviewpublish.photo.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().Photo} 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 + */ + create(params?: Params$Resource$Photo$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Photo$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Photo$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * streetviewpublish.photo.delete + * @desc Deletes a Photo and its metadata. This method returns the + * following error codes: * google.rpc.Code.PERMISSION_DENIED if the + * requesting user did not create the requested photo. * + * google.rpc.Code.NOT_FOUND if the photo ID does not exist. + * @alias streetviewpublish.photo.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.photoId Required. ID of the Photo. + * @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?: Params$Resource$Photo$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Photo$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Photo$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * streetviewpublish.photo.get + * @desc Gets the metadata of the specified Photo. This method returns the + * following error codes: * google.rpc.Code.PERMISSION_DENIED if the + * requesting user did not create the requested Photo. * + * google.rpc.Code.NOT_FOUND if the requested Photo does not exist. * + * google.rpc.Code.UNAVAILABLE if the requested Photo is still being + * indexed. + * @alias streetviewpublish.photo.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.photoId Required. ID of the Photo. + * @param {string=} params.view Specifies if a download URL for the photo bytes should be returned in the Photo response. + * @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?: Params$Resource$Photo$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Photo$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Photo$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * streetviewpublish.photo.startUpload + * @desc Creates an upload session to start uploading photo bytes. The + * upload URL of the returned UploadRef is used to upload the bytes for the + * Photo. In addition to the photo requirements shown in + * https://support.google.com/maps/answer/7012050?hl=en&ref_topic=6275604, + * the photo must also meet the following requirements: * Photo Sphere XMP + * metadata must be included in the photo medadata. See + * https://developers.google.com/streetview/spherical-metadata for the + * required fields. * The pixel size of the photo must meet the size + * requirements listed in + * https://support.google.com/maps/answer/7012050?hl=en&ref_topic=6275604, + * and the photo must be a full 360 horizontally. After the upload is + * complete, the UploadRef is used with CreatePhoto to create the Photo + * object entry. + * @alias streetviewpublish.photo.startUpload + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().Empty} 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 + */ + startUpload(params?: Params$Resource$Photo$Startupload, options?: MethodOptions): AxiosPromise; + startUpload(params: Params$Resource$Photo$Startupload, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + startUpload(params: Params$Resource$Photo$Startupload, callback: BodyResponseCallback): void; + startUpload(callback: BodyResponseCallback): void; + /** + * streetviewpublish.photo.update + * @desc Updates the metadata of a Photo, such as pose, place association, + * connections, etc. Changing the pixels of a photo is not supported. Only + * the fields specified in the updateMask field are used. If `updateMask` is + * not present, the update applies to all fields. This method + * returns the following error codes: * google.rpc.Code.PERMISSION_DENIED + * if the requesting user did not create the requested photo. * + * google.rpc.Code.INVALID_ARGUMENT if the request is malformed. * + * google.rpc.Code.NOT_FOUND if the requested photo does not exist. * + * google.rpc.Code.UNAVAILABLE if the requested Photo is still being + * indexed. + * @alias streetviewpublish.photo.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id Required. A unique identifier for a photo. + * @param {string=} params.updateMask Mask that identifies fields on the photo metadata to update. If not present, the old Photo metadata will be entirely replaced with the new Photo metadata in this request. The update fails if invalid fields are specified. Multiple fields can be specified in a comma-delimited list. The following fields are valid: * `pose.heading` * `pose.latLngPair` * `pose.pitch` * `pose.roll` * `pose.level` * `pose.altitude` * `connections` * `places` + * @param {().Photo} 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?: Params$Resource$Photo$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Photo$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Photo$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Photo$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$Photo; + } + interface Params$Resource$Photo$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. ID of the Photo. + */ + photoId?: string; + } + interface Params$Resource$Photo$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. ID of the Photo. + */ + photoId?: string; + /** + * Specifies if a download URL for the photo bytes should be returned in the + * Photo response. + */ + view?: string; + } + interface Params$Resource$Photo$Startupload { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$Empty; + } + interface Params$Resource$Photo$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. A unique identifier for a photo. + */ + id?: string; + /** + * Mask that identifies fields on the photo metadata to update. If not + * present, the old Photo metadata will be entirely replaced with the new + * Photo metadata in this request. The update fails if invalid fields are + * specified. Multiple fields can be specified in a comma-delimited list. + * The following fields are valid: * `pose.heading` * `pose.latLngPair` * + * `pose.pitch` * `pose.roll` * `pose.level` * `pose.altitude` * + * `connections` * `places` + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Photo; + } + class Resource$Photos { + root: Streetviewpublish; + constructor(root: Streetviewpublish); + getRoot(): Streetviewpublish; + /** + * streetviewpublish.photos.batchDelete + * @desc Deletes a list of Photos and their metadata. Note that if + * BatchDeletePhotos fails, either critical fields are missing or there was + * an authentication error. Even if BatchDeletePhotos succeeds, there may + * have been failures for single photos in the batch. These failures will be + * specified in each PhotoResponse.status in + * BatchDeletePhotosResponse.results. See DeletePhoto for specific failures + * that can occur per photo. + * @alias streetviewpublish.photos.batchDelete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().BatchDeletePhotosRequest} 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 + */ + batchDelete(params?: Params$Resource$Photos$Batchdelete, options?: MethodOptions): AxiosPromise; + batchDelete(params: Params$Resource$Photos$Batchdelete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + batchDelete(params: Params$Resource$Photos$Batchdelete, callback: BodyResponseCallback): void; + batchDelete(callback: BodyResponseCallback): void; + /** + * streetviewpublish.photos.batchGet + * @desc Gets the metadata of the specified Photo batch. Note that if + * BatchGetPhotos fails, either critical fields are missing or there was an + * authentication error. Even if BatchGetPhotos succeeds, there may have + * been failures for single photos in the batch. These failures will be + * specified in each PhotoResponse.status in BatchGetPhotosResponse.results. + * See GetPhoto for specific failures that can occur per photo. + * @alias streetviewpublish.photos.batchGet + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.photoIds Required. IDs of the Photos. For HTTP GET requests, the URL query parameter should be `photoIds=&photoIds=&...`. + * @param {string=} params.view Specifies if a download URL for the photo bytes should be returned in the Photo response. + * @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 + */ + batchGet(params?: Params$Resource$Photos$Batchget, options?: MethodOptions): AxiosPromise; + batchGet(params: Params$Resource$Photos$Batchget, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + batchGet(params: Params$Resource$Photos$Batchget, callback: BodyResponseCallback): void; + batchGet(callback: BodyResponseCallback): void; + /** + * streetviewpublish.photos.batchUpdate + * @desc Updates the metadata of Photos, such as pose, place association, + * connections, etc. Changing the pixels of photos is not supported. Note + * that if BatchUpdatePhotos fails, either critical fields are missing or + * there was an authentication error. Even if BatchUpdatePhotos succeeds, + * there may have been failures for single photos in the batch. These + * failures will be specified in each PhotoResponse.status in + * BatchUpdatePhotosResponse.results. See UpdatePhoto for specific failures + * that can occur per photo. Only the fields specified in updateMask field + * are used. If `updateMask` is not present, the update applies to all + * fields. + * @alias streetviewpublish.photos.batchUpdate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().BatchUpdatePhotosRequest} 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 + */ + batchUpdate(params?: Params$Resource$Photos$Batchupdate, options?: MethodOptions): AxiosPromise; + batchUpdate(params: Params$Resource$Photos$Batchupdate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + batchUpdate(params: Params$Resource$Photos$Batchupdate, callback: BodyResponseCallback): void; + batchUpdate(callback: BodyResponseCallback): void; + /** + * streetviewpublish.photos.list + * @desc Lists all the Photos that belong to the user. + * @alias streetviewpublish.photos.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter The filter expression. For example: `placeId=ChIJj61dQgK6j4AR4GeTYWZsKWw`. The only filter supported at the moment is `placeId`. + * @param {integer=} params.pageSize The maximum number of photos to return. `pageSize` must be non-negative. If `pageSize` is zero or is not provided, the default page size of 100 will be used. The number of photos returned in the response may be less than `pageSize` if the number of photos that belong to the user is less than `pageSize`. + * @param {string=} params.pageToken The nextPageToken value returned from a previous ListPhotos request, if any. + * @param {string=} params.view Specifies if a download URL for the photos bytes should be returned in the Photos response. + * @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?: Params$Resource$Photos$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Photos$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Photos$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Photos$Batchdelete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$BatchDeletePhotosRequest; + } + interface Params$Resource$Photos$Batchget { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. IDs of the Photos. For HTTP GET requests, the URL query + * parameter should be `photoIds=&photoIds=&...`. + */ + photoIds?: string; + /** + * Specifies if a download URL for the photo bytes should be returned in the + * Photo response. + */ + view?: string; + } + interface Params$Resource$Photos$Batchupdate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$BatchUpdatePhotosRequest; + } + interface Params$Resource$Photos$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The filter expression. For example: + * `placeId=ChIJj61dQgK6j4AR4GeTYWZsKWw`. The only filter supported at the + * moment is `placeId`. + */ + filter?: string; + /** + * The maximum number of photos to return. `pageSize` must be non-negative. + * If `pageSize` is zero or is not provided, the default page size of 100 + * will be used. The number of photos returned in the response may be less + * than `pageSize` if the number of photos that belong to the user is less + * than `pageSize`. + */ + pageSize?: number; + /** + * The nextPageToken value returned from a previous ListPhotos request, if + * any. + */ + pageToken?: string; + /** + * Specifies if a download URL for the photos bytes should be returned in + * the Photos response. + */ + view?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/streetviewpublish/v1.js b/express-server/node_modules/googleapis/build/src/apis/streetviewpublish/v1.js new file mode 100644 index 00000000..91b2b362 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/streetviewpublish/v1.js @@ -0,0 +1,354 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var streetviewpublish_v1; +(function (streetviewpublish_v1) { + /** + * Street View Publish API + * + * Publishes 360 photos to Google Maps, along with position, orientation, and + * connectivity metadata. Apps can offer an interface for positioning, + * connecting, and uploading user-generated Street View images. + * + * @example + * const {google} = require('googleapis'); + * const streetviewpublish = google.streetviewpublish('v1'); + * + * @namespace streetviewpublish + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Streetviewpublish + */ + class Streetviewpublish { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.photo = new Resource$Photo(this); + this.photos = new Resource$Photos(this); + } + getRoot() { + return this.root; + } + } + streetviewpublish_v1.Streetviewpublish = Streetviewpublish; + class Resource$Photo { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://streetviewpublish.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/photo').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://streetviewpublish.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/photo/{photoId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['photoId'], + pathParams: ['photoId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://streetviewpublish.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/photo/{photoId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['photoId'], + pathParams: ['photoId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + startUpload(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://streetviewpublish.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/photo:startUpload') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://streetviewpublish.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/photo/{id}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['id'], + pathParams: ['id'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + streetviewpublish_v1.Resource$Photo = Resource$Photo; + class Resource$Photos { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + batchDelete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://streetviewpublish.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/photos:batchDelete') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + batchGet(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://streetviewpublish.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/photos:batchGet') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + batchUpdate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://streetviewpublish.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/photos:batchUpdate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://streetviewpublish.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/photos').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + streetviewpublish_v1.Resource$Photos = Resource$Photos; +})(streetviewpublish_v1 = exports.streetviewpublish_v1 || (exports.streetviewpublish_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/streetviewpublish/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/streetviewpublish/v1.js.map new file mode 100644 index 00000000..d092721f --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/streetviewpublish/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/streetviewpublish/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/surveys/README.md b/express-server/node_modules/googleapis/build/src/apis/surveys/README.md new file mode 100644 index 00000000..818820f3 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/surveys/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/surveys + +> Creates and conducts surveys, lists the surveys that an authenticated user owns, and retrieves survey results and information about specified surveys. + +## Installation + +```sh +$ npm install @google/surveys +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/surveys/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/surveys/index.d.ts new file mode 100644 index 00000000..7cb4a070 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/surveys/index.d.ts @@ -0,0 +1,6 @@ +import { surveys_v2 } from './v2'; +export declare const VERSIONS: { + 'v2': typeof surveys_v2.Surveys; +}; +export declare function surveys(version: 'v2'): surveys_v2.Surveys; +export declare function surveys(options: surveys_v2.Options): surveys_v2.Surveys; diff --git a/express-server/node_modules/googleapis/build/src/apis/surveys/index.js b/express-server/node_modules/googleapis/build/src/apis/surveys/index.js new file mode 100644 index 00000000..714bcca8 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/surveys/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v2_1 = require("./v2"); +exports.VERSIONS = { + 'v2': v2_1.surveys_v2.Surveys, +}; +function surveys(versionOrOptions) { + return googleapis_common_1.getAPI('surveys', versionOrOptions, exports.VERSIONS, this); +} +exports.surveys = surveys; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/surveys/index.js.map b/express-server/node_modules/googleapis/build/src/apis/surveys/index.js.map new file mode 100644 index 00000000..3fcec1d8 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/surveys/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/surveys/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAgC;AAEnB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,eAAU,CAAC,OAAO;CACzB,CAAC;AAIF,SAAgB,OAAO,CACO,gBAAyC;IACrE,OAAO,0BAAM,CAAI,SAAS,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAChE,CAAC;AAHD,0BAGC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/surveys/package.json b/express-server/node_modules/googleapis/build/src/apis/surveys/package.json new file mode 100644 index 00000000..0ebbb7cf --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/surveys/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/surveys", + "version": "0.1.0", + "description": "surveys", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/surveys/v2.d.ts b/express-server/node_modules/googleapis/build/src/apis/surveys/v2.d.ts new file mode 100644 index 00000000..b1676ecf --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/surveys/v2.d.ts @@ -0,0 +1,627 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace surveys_v2 { + interface Options extends GlobalOptions { + version: 'v2'; + } + /** + * Surveys API + * + * Creates and conducts surveys, lists the surveys that an authenticated user + * owns, and retrieves survey results and information about specified surveys. + * + * @example + * const {google} = require('googleapis'); + * const surveys = google.surveys('v2'); + * + * @namespace surveys + * @type {Function} + * @version v2 + * @variation v2 + * @param {object=} options Options for Surveys + */ + class Surveys { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + results: Resource$Results; + surveys: Resource$Surveys; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + interface Schema$FieldMask { + fields?: Schema$FieldMask[]; + id?: number; + } + interface Schema$PageInfo { + resultPerPage?: number; + startIndex?: number; + totalResults?: number; + } + interface Schema$ResultsGetRequest { + resultMask?: Schema$ResultsMask; + } + interface Schema$ResultsMask { + fields?: Schema$FieldMask[]; + projection?: string; + } + /** + * Representation of an individual survey object. + */ + interface Schema$Survey { + /** + * Targeting-criteria message containing demographic information + */ + audience?: Schema$SurveyAudience; + /** + * Cost to run the survey and collect the necessary number of responses. + */ + cost?: Schema$SurveyCost; + /** + * Additional information to store on behalf of the API consumer and + * associate with this question. This binary blob is treated as opaque. This + * field is limited to 64K bytes. + */ + customerData?: string; + /** + * Text description of the survey. + */ + description?: string; + /** + * List of email addresses for survey owners. Must contain at least the + * address of the user making the API call. + */ + owners?: string[]; + /** + * List of questions defining the survey. + */ + questions?: Schema$SurveyQuestion[]; + /** + * Reason for the survey being rejected. Only present if the survey state is + * rejected. + */ + rejectionReason?: Schema$SurveyRejection; + /** + * State that the survey is in. + */ + state?: string; + /** + * Unique survey ID, that is viewable in the URL of the Survey Creator UI + */ + surveyUrlId?: string; + /** + * Optional name that will be given to the survey. + */ + title?: string; + /** + * Number of responses desired for the survey. + */ + wantedResponseCount?: number; + } + /** + * Specifications for the target audience of a survey run through the API. + */ + interface Schema$SurveyAudience { + /** + * Optional list of age buckets to target. Supported age buckets are: + * ['18-24', '25-34', '35-44', '45-54', + * '55-64', '65+'] + */ + ages?: string[]; + /** + * Required country code that surveys should be targeted to. Accepts + * standard ISO 3166-1 2 character language codes. For instance, + * 'US' for the United States, and 'GB' for the United + * Kingdom. + */ + country?: string; + /** + * Country subdivision (states/provinces/etc) that surveys should be + * targeted to. For all countries except GB, ISO-3166-2 subdivision code is + * required (eg. 'US-OH' for Ohio, United States). For GB, NUTS 1 + * statistical region codes for the United Kingdom is required (eg. + * 'UK-UKC' for North East England). + */ + countrySubdivision?: string; + /** + * Optional gender to target. + */ + gender?: string; + /** + * Language code that surveys should be targeted to. For instance, + * 'en-US'. Surveys may target bilingual users by specifying a list + * of language codes (for example, 'de' and 'en-US'). In + * that case, all languages will be used for targeting users but the survey + * content (which is displayed) must match the first language listed. + * Accepts standard BCP47 language codes. See specification. + */ + languages?: string[]; + /** + * Online population source where the respondents are sampled from. + */ + populationSource?: string; + } + /** + * Message defining the cost to run a given survey through API. + */ + interface Schema$SurveyCost { + /** + * Cost per survey response in nano units of the given currency. To get the + * total cost for a survey, multiply this value by wanted_response_count. + */ + costPerResponseNanos?: string; + /** + * Currency code that the cost is given in. + */ + currencyCode?: string; + /** + * *Deprecated* Threshold to start a survey automatically if the quoted + * price is at most this value. When a survey has a Screener (threshold) + * question, it must go through an incidence pricing test to determine the + * final cost per response. Typically you will have to make a followup call + * to start the survey giving the final computed cost per response. If the + * survey has no threshold_answers, setting this property will return an + * error. By specifying this property, you indicate the max price per + * response you are willing to pay in advance of the incidence test. If the + * price turns out to be lower than the specified value, the survey will + * begin immediately and you will be charged at the rate determined by the + * incidence pricing test. If the price turns out to be greater than the + * specified value the survey will not be started and you will instead be + * notified what price was determined by the incidence test. At that point, + * you must raise the value of this property to be greater than or equal to + * that cost before attempting to start the survey again. This will + * immediately start the survey as long the incidence test was run within + * the last 21 days. This will no longer be available after June 2018. + */ + maxCostPerResponseNanos?: string; + /** + * Cost of survey in nano units of the given currency. DEPRECATED in favor + * of cost_per_response_nanos + */ + nanos?: string; + } + /** + * Message defining the question specifications. + */ + interface Schema$SurveyQuestion { + /** + * The randomization option for multiple choice and multi-select questions. + * If not specified, this option defaults to randomize. + */ + answerOrder?: string; + /** + * Required list of answer options for a question. + */ + answers?: string[]; + /** + * Option to allow open-ended text box for Single Answer and Multiple Answer + * question types. This can be used with SINGLE_ANSWER, + * SINGLE_ANSWER_WITH_IMAGE, MULTIPLE_ANSWERS, and + * MULTIPLE_ANSWERS_WITH_IMAGE question types. + */ + hasOther?: boolean; + /** + * For rating questions, the text for the higher end of the scale, such as + * 'Best'. For numeric questions, a string representing a + * floating-point that is the maximum allowed number for a response. + */ + highValueLabel?: string; + images?: Schema$SurveyQuestionImage[]; + /** + * Currently only support pinning an answer option to the last position. + */ + lastAnswerPositionPinned?: boolean; + /** + * For rating questions, the text for the lower end of the scale, such as + * 'Worst'. For numeric questions, a string representing a + * floating-point that is the minimum allowed number for a response. + */ + lowValueLabel?: string; + /** + * Option to force the user to pick one of the open text suggestions. This + * requires that suggestions are provided for this question. + */ + mustPickSuggestion?: boolean; + /** + * Number of stars to use for ratings questions. + */ + numStars?: string; + /** + * Placeholder text for an open text question. + */ + openTextPlaceholder?: string; + /** + * A list of suggested answers for open text question auto-complete. This is + * only valid if single_line_response is true. + */ + openTextSuggestions?: string[]; + /** + * Required question text shown to the respondent. + */ + question?: string; + /** + * Used by the Rating Scale with Text question type. This text goes along + * with the question field that is presented to the respondent, and is the + * actual text that the respondent is asked to rate. + */ + sentimentText?: string; + /** + * Option to allow multiple line open text responses instead of a single + * line response. Note that we don't show auto-complete suggestions with + * multiple line responses. + */ + singleLineResponse?: boolean; + /** + * The threshold/screener answer options, which will screen a user into the + * rest of the survey. These will be a subset of the answer option strings. + */ + thresholdAnswers?: string[]; + /** + * Required field defining the question type. For details about configuring + * different type of questions, consult the question configuration guide. + */ + type?: string; + /** + * Optional unit of measurement for display (for example: hours, people, + * miles). + */ + unitOfMeasurementLabel?: string; + /** + * The YouTube video ID to be show in video questions. + */ + videoId?: string; + } + /** + * Container object for image data and alt_text. + */ + interface Schema$SurveyQuestionImage { + /** + * The alt text property used in image tags is required for all images. + */ + altText?: string; + /** + * Inline jpeg, gif, tiff, bmp, or png image raw bytes for an image question + * types. + */ + data?: string; + /** + * The read-only URL for the hosted images. + */ + url?: string; + } + /** + * Message representing why the survey was rejected from review, if it was. + */ + interface Schema$SurveyRejection { + /** + * A human-readable explanation of what was wrong with the survey. + */ + explanation?: string; + /** + * Which category of rejection this was. See the Google Surveys Help Center + * for additional details on each category. + */ + type?: string; + } + /** + * Reference to the current results for a given survey. + */ + interface Schema$SurveyResults { + /** + * Human readable string describing the status of the request. + */ + status?: string; + /** + * External survey ID as viewable by survey owners in the editor view. + */ + surveyUrlId?: string; + } + interface Schema$SurveysDeleteResponse { + /** + * Unique request ID used for logging and debugging. Please include in any + * error reporting or troubleshooting requests. + */ + requestId?: string; + } + interface Schema$SurveysListResponse { + pageInfo?: Schema$PageInfo; + /** + * Unique request ID used for logging and debugging. Please include in any + * error reporting or troubleshooting requests. + */ + requestId?: string; + /** + * An individual survey resource. + */ + resources?: Schema$Survey[]; + tokenPagination?: Schema$TokenPagination; + } + interface Schema$SurveysStartRequest { + /** + * *Deprecated* Threshold to start a survey automatically if the quoted + * prices is less than or equal to this value. See Survey.Cost for more + * details. This will no longer be available after June 2018. + */ + maxCostPerResponseNanos?: string; + } + interface Schema$SurveysStartResponse { + /** + * Unique request ID used for logging and debugging. Please include in any + * error reporting or troubleshooting requests. + */ + requestId?: string; + } + interface Schema$SurveysStopResponse { + /** + * Unique request ID used for logging and debugging. Please include in any + * error reporting or troubleshooting requests. + */ + requestId?: string; + } + interface Schema$TokenPagination { + nextPageToken?: string; + previousPageToken?: string; + } + class Resource$Results { + root: Surveys; + constructor(root: Surveys); + getRoot(): Surveys; + /** + * surveys.results.get + * @desc Retrieves any survey results that have been produced so far. + * Results are formatted as an Excel file. You must add "?alt=media" to the + * URL as an argument to get results. + * @alias surveys.results.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.surveyUrlId External URL ID for the survey. + * @param {().ResultsGetRequest} 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 + */ + get(params?: Params$Resource$Results$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Results$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Results$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Results$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * External URL ID for the survey. + */ + surveyUrlId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ResultsGetRequest; + } + class Resource$Surveys { + root: Surveys; + constructor(root: Surveys); + getRoot(): Surveys; + /** + * surveys.surveys.delete + * @desc Removes a survey from view in all user GET requests. + * @alias surveys.surveys.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.surveyUrlId External URL ID for the survey. + * @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?: Params$Resource$Surveys$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Surveys$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Surveys$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * surveys.surveys.get + * @desc Retrieves information about the specified survey. + * @alias surveys.surveys.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.surveyUrlId External URL ID for the survey. + * @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?: Params$Resource$Surveys$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Surveys$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Surveys$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * surveys.surveys.insert + * @desc Creates a survey. + * @alias surveys.surveys.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().Survey} 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?: Params$Resource$Surveys$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Surveys$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Surveys$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * surveys.surveys.list + * @desc Lists the surveys owned by the authenticated user. + * @alias surveys.surveys.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {integer=} params.maxResults + * @param {integer=} params.startIndex + * @param {string=} params.token + * @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?: Params$Resource$Surveys$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Surveys$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Surveys$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * surveys.surveys.start + * @desc Begins running a survey. + * @alias surveys.surveys.start + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resourceId + * @param {().SurveysStartRequest} 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 + */ + start(params?: Params$Resource$Surveys$Start, options?: MethodOptions): AxiosPromise; + start(params: Params$Resource$Surveys$Start, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + start(params: Params$Resource$Surveys$Start, callback: BodyResponseCallback): void; + start(callback: BodyResponseCallback): void; + /** + * surveys.surveys.stop + * @desc Stops a running survey. + * @alias surveys.surveys.stop + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resourceId + * @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 + */ + stop(params?: Params$Resource$Surveys$Stop, options?: MethodOptions): AxiosPromise; + stop(params: Params$Resource$Surveys$Stop, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + stop(params: Params$Resource$Surveys$Stop, callback: BodyResponseCallback): void; + stop(callback: BodyResponseCallback): void; + /** + * surveys.surveys.update + * @desc Updates a survey. Currently the only property that can be updated + * is the owners property. + * @alias surveys.surveys.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.surveyUrlId External URL ID for the survey. + * @param {().Survey} 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?: Params$Resource$Surveys$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Surveys$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Surveys$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Surveys$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * External URL ID for the survey. + */ + surveyUrlId?: string; + } + interface Params$Resource$Surveys$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * External URL ID for the survey. + */ + surveyUrlId?: string; + } + interface Params$Resource$Surveys$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$Survey; + } + interface Params$Resource$Surveys$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * + */ + maxResults?: number; + /** + * + */ + startIndex?: number; + /** + * + */ + token?: string; + } + interface Params$Resource$Surveys$Start { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * + */ + resourceId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SurveysStartRequest; + } + interface Params$Resource$Surveys$Stop { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * + */ + resourceId?: string; + } + interface Params$Resource$Surveys$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * External URL ID for the survey. + */ + surveyUrlId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Survey; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/surveys/v2.js b/express-server/node_modules/googleapis/build/src/apis/surveys/v2.js new file mode 100644 index 00000000..34416d09 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/surveys/v2.js @@ -0,0 +1,325 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var surveys_v2; +(function (surveys_v2) { + /** + * Surveys API + * + * Creates and conducts surveys, lists the surveys that an authenticated user + * owns, and retrieves survey results and information about specified surveys. + * + * @example + * const {google} = require('googleapis'); + * const surveys = google.surveys('v2'); + * + * @namespace surveys + * @type {Function} + * @version v2 + * @variation v2 + * @param {object=} options Options for Surveys + */ + class Surveys { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.results = new Resource$Results(this); + this.surveys = new Resource$Surveys(this); + } + getRoot() { + return this.root; + } + } + surveys_v2.Surveys = Surveys; + class Resource$Results { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/surveys/v2/surveys/{surveyUrlId}/results') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['surveyUrlId'], + pathParams: ['surveyUrlId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + surveys_v2.Resource$Results = Resource$Results; + class Resource$Surveys { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/surveys/v2/surveys/{surveyUrlId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['surveyUrlId'], + pathParams: ['surveyUrlId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/surveys/v2/surveys/{surveyUrlId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['surveyUrlId'], + pathParams: ['surveyUrlId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/surveys/v2/surveys') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/surveys/v2/surveys') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + start(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/surveys/v2/surveys/{resourceId}/start') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resourceId'], + pathParams: ['resourceId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + stop(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/surveys/v2/surveys/{resourceId}/stop') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['resourceId'], + pathParams: ['resourceId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/surveys/v2/surveys/{surveyUrlId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['surveyUrlId'], + pathParams: ['surveyUrlId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + surveys_v2.Resource$Surveys = Resource$Surveys; +})(surveys_v2 = exports.surveys_v2 || (exports.surveys_v2 = {})); +//# sourceMappingURL=v2.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/surveys/v2.js.map b/express-server/node_modules/googleapis/build/src/apis/surveys/v2.js.map new file mode 100644 index 00000000..091bf066 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/surveys/v2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v2.js","sourceRoot":"","sources":["../../../../src/apis/surveys/v2.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAIH,yDAA2H;AAE3H,yBAAyB;AACzB,6BAA6B;AAC7B,gCAAgC;AAChC,+BAA+B;AAC/B,+BAA+B;AAE/B,IAAiB,UAAU,CA6gC1B;AA7gCD,WAAiB,UAAU;IAKzB;;;;;;;;;;;;;;;OAeG;IACH,MAAa,OAAO;QAQlB,YAAY,OAAsB,EAAE,MAA2B;YAL/D,SAAI,GAAG,IAAI,CAAC;YAMV,IAAI,CAAC,QAAQ,GAAG,OAAO,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAExB,IAAI,CAAC,OAAO,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,CAAC,OAAO,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;KACF;IApBY,kBAAO,UAoBnB,CAAA;IAiVD,MAAa,gBAAgB;QAE3B,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA0BD,GAAG,CAAC,gBAC0C,EAC1C,iBAC0C,EAC1C,QAAqD;YAEvD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAgC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiC,CAAC;gBAC3C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,2CAA2C,CAAC;yBAClD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,aAAa,CAAC;gBAC/B,UAAU,EAAE,CAAC,aAAa,CAAC;gBAC3B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAuB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9D;iBAAM;gBACL,OAAO,oCAAgB,CAAuB,UAAU,CAAC,CAAC;aAC3D;QACH,CAAC;KACF;IA3EY,2BAAgB,mBA2E5B,CAAA;IAoBD,MAAa,gBAAgB;QAE3B,YAAY,IAAa;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA0BD,MAAM,CACF,gBACkD,EAClD,iBACkD,EAClD,QAA6D;YAE/D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoC,CAAC;gBAC9C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,mCAAmC,CAAC;yBAC1C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,aAAa,CAAC;gBAC/B,UAAU,EAAE,CAAC,aAAa,CAAC;gBAC3B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA+B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtE;iBAAM;gBACL,OAAO,oCAAgB,CAA+B,UAAU,CAAC,CAAC;aACnE;QACH,CAAC;QAuBD,GAAG,CAAC,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAgC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiC,CAAC;gBAC3C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,mCAAmC,CAAC;yBAC1C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,aAAa,CAAC;gBAC/B,UAAU,EAAE,CAAC,aAAa,CAAC;gBAC3B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;QAyBD,MAAM,CACF,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoC,CAAC;gBAC9C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,qBAAqB,CAAC;yBAC5B,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,EAAE;gBAClB,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;QA2BD,IAAI,CACA,gBACgD,EAChD,iBACgD,EAChD,QAA2D;YAE7D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAiC,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkC,CAAC;gBAC5C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,qBAAqB,CAAC;yBAC5B,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,EAAE;gBAClB,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA6B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACpE;iBAAM;gBACL,OAAO,oCAAgB,CAA6B,UAAU,CAAC,CAAC;aACjE;QACH,CAAC;QA2BD,KAAK,CACD,gBACiD,EACjD,iBACiD,EACjD,QAA4D;YAE9D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAkC,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmC,CAAC;gBAC7C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,wCAAwC,CAAC;yBAC/C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,YAAY,CAAC;gBAC9B,UAAU,EAAE,CAAC,YAAY,CAAC;gBAC1B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA8B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrE;iBAAM;gBACL,OAAO,oCAAgB,CAA8B,UAAU,CAAC,CAAC;aAClE;QACH,CAAC;QAyBD,IAAI,CACA,gBACgD,EAChD,iBACgD,EAChD,QAA2D;YAE7D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAiC,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkC,CAAC;gBAC5C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,uCAAuC,CAAC;yBAC9C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,YAAY,CAAC;gBAC9B,UAAU,EAAE,CAAC,YAAY,CAAC;gBAC1B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA6B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACpE;iBAAM;gBACL,OAAO,oCAAgB,CAA6B,UAAU,CAAC,CAAC;aACjE;QACH,CAAC;QA2BD,MAAM,CACF,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoC,CAAC;gBAC9C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,mCAAmC,CAAC;yBAC1C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,aAAa,CAAC;gBAC/B,UAAU,EAAE,CAAC,aAAa,CAAC;gBAC3B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;KACF;IAldY,2BAAgB,mBAkd5B,CAAA;AAkGH,CAAC,EA7gCgB,UAAU,GAAV,kBAAU,KAAV,kBAAU,QA6gC1B"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/tagmanager/README.md b/express-server/node_modules/googleapis/build/src/apis/tagmanager/README.md new file mode 100644 index 00000000..af9a87cb --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/tagmanager/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/tagmanager + +> Accesses Tag Manager accounts and containers. + +## Installation + +```sh +$ npm install @google/tagmanager +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/tagmanager/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/tagmanager/index.d.ts new file mode 100644 index 00000000..c0e219f2 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/tagmanager/index.d.ts @@ -0,0 +1,10 @@ +import { tagmanager_v1 } from './v1'; +import { tagmanager_v2 } from './v2'; +export declare const VERSIONS: { + 'v1': typeof tagmanager_v1.Tagmanager; + 'v2': typeof tagmanager_v2.Tagmanager; +}; +export declare function tagmanager(version: 'v1'): tagmanager_v1.Tagmanager; +export declare function tagmanager(options: tagmanager_v1.Options): tagmanager_v1.Tagmanager; +export declare function tagmanager(version: 'v2'): tagmanager_v2.Tagmanager; +export declare function tagmanager(options: tagmanager_v2.Options): tagmanager_v2.Tagmanager; diff --git a/express-server/node_modules/googleapis/build/src/apis/tagmanager/index.js b/express-server/node_modules/googleapis/build/src/apis/tagmanager/index.js new file mode 100644 index 00000000..747399c2 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/tagmanager/index.js @@ -0,0 +1,27 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +const v2_1 = require("./v2"); +exports.VERSIONS = { + 'v1': v1_1.tagmanager_v1.Tagmanager, + 'v2': v2_1.tagmanager_v2.Tagmanager, +}; +function tagmanager(versionOrOptions) { + return googleapis_common_1.getAPI('tagmanager', versionOrOptions, exports.VERSIONS, this); +} +exports.tagmanager = tagmanager; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/tagmanager/index.js.map b/express-server/node_modules/googleapis/build/src/apis/tagmanager/index.js.map new file mode 100644 index 00000000..5ed94425 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/tagmanager/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/tagmanager/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAmC;AACnC,6BAAmC;AAEtB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,kBAAa,CAAC,UAAU;IAC9B,IAAI,EAAE,kBAAa,CAAC,UAAU;CAC/B,CAAC;AAQF,SACA,UAAU,CAEN,gBAAuE;IACzE,OAAO,0BAAM,CAAI,YAAY,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACnE,CAAC;AALD,gCAKC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/tagmanager/package.json b/express-server/node_modules/googleapis/build/src/apis/tagmanager/package.json new file mode 100644 index 00000000..ec9973c7 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/tagmanager/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/tagmanager", + "version": "0.1.0", + "description": "tagmanager", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/tagmanager/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/tagmanager/v1.d.ts new file mode 100644 index 00000000..ec63f50f --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/tagmanager/v1.d.ts @@ -0,0 +1,2888 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace tagmanager_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Tag Manager API + * + * Accesses Tag Manager accounts and containers. + * + * @example + * const {google} = require('googleapis'); + * const tagmanager = google.tagmanager('v1'); + * + * @namespace tagmanager + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Tagmanager + */ + class Tagmanager { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + accounts: Resource$Accounts; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Represents a Google Tag Manager Account. + */ + interface Schema$Account { + /** + * The Account ID uniquely identifies the GTM Account. + */ + accountId?: string; + /** + * The fingerprint of the GTM Account as computed at storage time. This + * value is recomputed whenever the account is modified. + */ + fingerprint?: string; + /** + * Account display name. + */ + name?: string; + /** + * Whether the account shares data anonymously with Google and others. + */ + shareData?: boolean; + } + /** + * Defines the Google Tag Manager Account access permissions. + */ + interface Schema$AccountAccess { + /** + * List of Account permissions. Valid account permissions are read and + * manage. + */ + permission?: string[]; + } + /** + * Represents a predicate. + */ + interface Schema$Condition { + /** + * A list of named parameters (key/value), depending on the condition's + * type. Notes: - For binary operators, include parameters named arg0 and + * arg1 for specifying the left and right operands, respectively. - At this + * time, the left operand (arg0) must be a reference to a variable. - For + * case-insensitive Regex matching, include a boolean parameter named + * ignore_case that is set to true. If not specified or set to any other + * value, the matching will be case sensitive. - To negate an operator, + * include a boolean parameter named negate boolean parameter that is set to + * true. + */ + parameter?: Schema$Parameter[]; + /** + * The type of operator for this condition. + */ + type?: string; + } + /** + * Represents a Google Tag Manager Container. + */ + interface Schema$Container { + /** + * GTM Account ID. + */ + accountId?: string; + /** + * The Container ID uniquely identifies the GTM Container. + */ + containerId?: string; + /** + * Optional list of domain names associated with the Container. + */ + domainName?: string[]; + /** + * List of enabled built-in variables. Valid values include: pageUrl, + * pageHostname, pagePath, referrer, event, clickElement, clickClasses, + * clickId, clickTarget, clickUrl, clickText, formElement, formClasses, + * formId, formTarget, formUrl, formText, errorMessage, errorUrl, errorLine, + * newHistoryFragment, oldHistoryFragment, newHistoryState, oldHistoryState, + * historySource, containerVersion, debugMode, randomNumber, containerId. + */ + enabledBuiltInVariable?: string[]; + /** + * The fingerprint of the GTM Container as computed at storage time. This + * value is recomputed whenever the account is modified. + */ + fingerprint?: string; + /** + * Container display name. + */ + name?: string; + /** + * Container Notes. + */ + notes?: string; + /** + * Container Public ID. + */ + publicId?: string; + /** + * Container Country ID. + */ + timeZoneCountryId?: string; + /** + * Container Time Zone ID. + */ + timeZoneId?: string; + /** + * List of Usage Contexts for the Container. Valid values include: web, + * android, ios. + */ + usageContext?: string[]; + } + /** + * Defines the Google Tag Manager Container access permissions. + */ + interface Schema$ContainerAccess { + /** + * GTM Container ID. + */ + containerId?: string; + /** + * List of Container permissions. Valid container permissions are: read, + * edit, delete, publish. + */ + permission?: string[]; + } + /** + * Represents a Google Tag Manager Container Version. + */ + interface Schema$ContainerVersion { + /** + * GTM Account ID. + */ + accountId?: string; + /** + * The container that this version was taken from. + */ + container?: Schema$Container; + /** + * GTM Container ID. + */ + containerId?: string; + /** + * The Container Version ID uniquely identifies the GTM Container Version. + */ + containerVersionId?: string; + /** + * A value of true indicates this container version has been deleted. + */ + deleted?: boolean; + /** + * The fingerprint of the GTM Container Version as computed at storage time. + * This value is recomputed whenever the container version is modified. + */ + fingerprint?: string; + /** + * The folders in the container that this version was taken from. + */ + folder?: Schema$Folder[]; + /** + * The macros in the container that this version was taken from. + */ + macro?: Schema$Macro[]; + /** + * Container version display name. + */ + name?: string; + /** + * User notes on how to apply this container version in the container. + */ + notes?: string; + /** + * The rules in the container that this version was taken from. + */ + rule?: Schema$Rule[]; + /** + * The tags in the container that this version was taken from. + */ + tag?: Schema$Tag[]; + /** + * The triggers in the container that this version was taken from. + */ + trigger?: Schema$Trigger[]; + /** + * The variables in the container that this version was taken from. + */ + variable?: Schema$Variable[]; + } + /** + * Represents a Google Tag Manager Container Version Header. + */ + interface Schema$ContainerVersionHeader { + /** + * GTM Account ID. + */ + accountId?: string; + /** + * GTM Container ID. + */ + containerId?: string; + /** + * The Container Version ID uniquely identifies the GTM Container Version. + */ + containerVersionId?: string; + /** + * A value of true indicates this container version has been deleted. + */ + deleted?: boolean; + /** + * Container version display name. + */ + name?: string; + /** + * Number of macros in the container version. + */ + numMacros?: string; + /** + * Number of rules in the container version. + */ + numRules?: string; + /** + * Number of tags in the container version. + */ + numTags?: string; + /** + * Number of triggers in the container version. + */ + numTriggers?: string; + /** + * Number of variables in the container version. + */ + numVariables?: string; + } + /** + * Options for new container versions. + */ + interface Schema$CreateContainerVersionRequestVersionOptions { + /** + * The name of the container version to be created. + */ + name?: string; + /** + * The notes of the container version to be created. + */ + notes?: string; + /** + * The creation of this version may be for quick preview and shouldn't + * be saved. + */ + quickPreview?: boolean; + } + /** + * Create container versions response. + */ + interface Schema$CreateContainerVersionResponse { + /** + * Compiler errors or not. + */ + compilerError?: boolean; + /** + * The container version created. + */ + containerVersion?: Schema$ContainerVersion; + } + /** + * Represents a Google Tag Manager Environment. Note that a user can create, + * delete and update environments of type USER, but can only update the + * enable_debug and url fields of environments of other types. + */ + interface Schema$Environment { + /** + * GTM Account ID. + */ + accountId?: string; + /** + * The environment authorization code. + */ + authorizationCode?: string; + /** + * The last update time-stamp for the authorization code. + */ + authorizationTimestampMs?: string; + /** + * GTM Container ID. + */ + containerId?: string; + containerVersionId?: string; + /** + * The environment description. Can be set or changed only on USER type + * environments. + */ + description?: string; + /** + * Whether or not to enable debug by default on for the environment. + */ + enableDebug?: boolean; + /** + * GTM Environment ID uniquely identifies the GTM Environment. + */ + environmentId?: string; + /** + * The fingerprint of the GTM environment as computed at storage time. This + * value is recomputed whenever the environment is modified. + */ + fingerprint?: string; + /** + * The environment display name. Can be set or changed only on USER type + * environments. + */ + name?: string; + /** + * The type of this environment. + */ + type?: string; + /** + * Default preview page url for the environment. + */ + url?: string; + } + /** + * Represents a Google Tag Manager Folder. + */ + interface Schema$Folder { + /** + * GTM Account ID. + */ + accountId?: string; + /** + * GTM Container ID. + */ + containerId?: string; + /** + * The fingerprint of the GTM Folder as computed at storage time. This value + * is recomputed whenever the folder is modified. + */ + fingerprint?: string; + /** + * The Folder ID uniquely identifies the GTM Folder. + */ + folderId?: string; + /** + * Folder display name. + */ + name?: string; + } + /** + * Represents a Google Tag Manager Folder's contents. + */ + interface Schema$FolderEntities { + /** + * The list of tags inside the folder. + */ + tag?: Schema$Tag[]; + /** + * The list of triggers inside the folder. + */ + trigger?: Schema$Trigger[]; + /** + * The list of variables inside the folder. + */ + variable?: Schema$Variable[]; + } + /** + * List Accounts Response. + */ + interface Schema$ListAccountsResponse { + /** + * List of GTM Accounts that a user has access to. + */ + accounts?: Schema$Account[]; + } + /** + * List AccountUsers Response. + */ + interface Schema$ListAccountUsersResponse { + /** + * All GTM AccountUsers of a GTM Account. + */ + userAccess?: Schema$UserAccess[]; + } + /** + * List Containers Response. + */ + interface Schema$ListContainersResponse { + /** + * All Containers of a GTM Account. + */ + containers?: Schema$Container[]; + } + /** + * List container versions response. + */ + interface Schema$ListContainerVersionsResponse { + /** + * All versions of a GTM Container. + */ + containerVersion?: Schema$ContainerVersion[]; + /** + * All container version headers of a GTM Container. + */ + containerVersionHeader?: Schema$ContainerVersionHeader[]; + } + /** + * List Environments Response. + */ + interface Schema$ListEnvironmentsResponse { + /** + * All Environments of a GTM Container. + */ + environments?: Schema$Environment[]; + } + /** + * List Folders Response. + */ + interface Schema$ListFoldersResponse { + /** + * All GTM Folders of a GTM Container. + */ + folders?: Schema$Folder[]; + } + /** + * List Tags Response. + */ + interface Schema$ListTagsResponse { + /** + * All GTM Tags of a GTM Container. + */ + tags?: Schema$Tag[]; + } + /** + * List triggers response. + */ + interface Schema$ListTriggersResponse { + /** + * All GTM Triggers of a GTM Container. + */ + triggers?: Schema$Trigger[]; + } + /** + * List Variables Response. + */ + interface Schema$ListVariablesResponse { + /** + * All GTM Variables of a GTM Container. + */ + variables?: Schema$Variable[]; + } + /** + * Represents a Google Tag Manager Macro. + */ + interface Schema$Macro { + /** + * GTM Account ID. + */ + accountId?: string; + /** + * GTM Container ID. + */ + containerId?: string; + /** + * For mobile containers only: A list of rule IDs for disabling conditional + * macros; the macro is enabled if one of the enabling rules is true while + * all the disabling rules are false. Treated as an unordered set. + */ + disablingRuleId?: string[]; + /** + * For mobile containers only: A list of rule IDs for enabling conditional + * macros; the macro is enabled if one of the enabling rules is true while + * all the disabling rules are false. Treated as an unordered set. + */ + enablingRuleId?: string[]; + /** + * The fingerprint of the GTM Macro as computed at storage time. This value + * is recomputed whenever the macro is modified. + */ + fingerprint?: string; + /** + * The Macro ID uniquely identifies the GTM Macro. + */ + macroId?: string; + /** + * Macro display name. + */ + name?: string; + /** + * User notes on how to apply this macro in the container. + */ + notes?: string; + /** + * The macro's parameters. + */ + parameter?: Schema$Parameter[]; + /** + * Parent folder id. + */ + parentFolderId?: string; + /** + * The end timestamp in milliseconds to schedule a macro. + */ + scheduleEndMs?: string; + /** + * The start timestamp in milliseconds to schedule a macro. + */ + scheduleStartMs?: string; + /** + * GTM Macro Type. + */ + type?: string; + } + /** + * Represents a Google Tag Manager Parameter. + */ + interface Schema$Parameter { + /** + * The named key that uniquely identifies a parameter. Required for + * top-level parameters, as well as map values. Ignored for list values. + */ + key?: string; + /** + * This list parameter's parameters (keys will be ignored). + */ + list?: Schema$Parameter[]; + /** + * This map parameter's parameters (must have keys; keys must be + * unique). + */ + map?: Schema$Parameter[]; + /** + * The parameter type. Valid values are: - boolean: The value represents a + * boolean, represented as 'true' or 'false' - integer: The + * value represents a 64-bit signed integer value, in base 10 - list: A + * list of parameters should be specified - map: A map of parameters should + * be specified - template: The value represents any text; this can include + * variable references (even variable references that might return + * non-string types) + */ + type?: string; + /** + * A parameter's value (may contain variable references such as + * "{{myVariable}}") as appropriate to the specified type. + */ + value?: string; + } + /** + * Publish container version response. + */ + interface Schema$PublishContainerVersionResponse { + /** + * Compiler errors or not. + */ + compilerError?: boolean; + /** + * The container version created. + */ + containerVersion?: Schema$ContainerVersion; + } + /** + * Represents a Google Tag Manager Rule. + */ + interface Schema$Rule { + /** + * GTM Account ID. + */ + accountId?: string; + /** + * The list of conditions that make up this rule (implicit AND between + * them). + */ + condition?: Schema$Condition[]; + /** + * GTM Container ID. + */ + containerId?: string; + /** + * The fingerprint of the GTM Rule as computed at storage time. This value + * is recomputed whenever the rule is modified. + */ + fingerprint?: string; + /** + * Rule display name. + */ + name?: string; + /** + * User notes on how to apply this rule in the container. + */ + notes?: string; + /** + * The Rule ID uniquely identifies the GTM Rule. + */ + ruleId?: string; + } + interface Schema$SetupTag { + /** + * If true, fire the main tag if and only if the setup tag fires + * successfully. If false, fire the main tag regardless of setup tag firing + * status. + */ + stopOnSetupFailure?: boolean; + /** + * The name of the setup tag. + */ + tagName?: string; + } + /** + * Represents a Google Tag Manager Tag. + */ + interface Schema$Tag { + /** + * GTM Account ID. + */ + accountId?: string; + /** + * Blocking rule IDs. If any of the listed rules evaluate to true, the tag + * will not fire. + */ + blockingRuleId?: string[]; + /** + * Blocking trigger IDs. If any of the listed triggers evaluate to true, the + * tag will not fire. + */ + blockingTriggerId?: string[]; + /** + * GTM Container ID. + */ + containerId?: string; + /** + * The fingerprint of the GTM Tag as computed at storage time. This value is + * recomputed whenever the tag is modified. + */ + fingerprint?: string; + /** + * Firing rule IDs. A tag will fire when any of the listed rules are true + * and all of its blockingRuleIds (if any specified) are false. + */ + firingRuleId?: string[]; + /** + * Firing trigger IDs. A tag will fire when any of the listed triggers are + * true and all of its blockingTriggerIds (if any specified) are false. + */ + firingTriggerId?: string[]; + /** + * If set to true, this tag will only fire in the live environment (e.g. not + * in preview or debug mode). + */ + liveOnly?: boolean; + /** + * Tag display name. + */ + name?: string; + /** + * User notes on how to apply this tag in the container. + */ + notes?: string; + /** + * The tag's parameters. + */ + parameter?: Schema$Parameter[]; + /** + * Parent folder id. + */ + parentFolderId?: string; + /** + * True if the tag is paused. + */ + paused?: boolean; + /** + * User defined numeric priority of the tag. Tags are fired asynchronously + * in order of priority. Tags with higher numeric value fire first. A + * tag's priority can be a positive or negative value. The default value + * is 0. + */ + priority?: Schema$Parameter; + /** + * The end timestamp in milliseconds to schedule a tag. + */ + scheduleEndMs?: string; + /** + * The start timestamp in milliseconds to schedule a tag. + */ + scheduleStartMs?: string; + /** + * The list of setup tags. Currently we only allow one. + */ + setupTag?: Schema$SetupTag[]; + /** + * Option to fire this tag. + */ + tagFiringOption?: string; + /** + * The Tag ID uniquely identifies the GTM Tag. + */ + tagId?: string; + /** + * The list of teardown tags. Currently we only allow one. + */ + teardownTag?: Schema$TeardownTag[]; + /** + * GTM Tag Type. + */ + type?: string; + } + interface Schema$TeardownTag { + /** + * If true, fire the teardown tag if and only if the main tag fires + * successfully. If false, fire the teardown tag regardless of main tag + * firing status. + */ + stopTeardownOnFailure?: boolean; + /** + * The name of the teardown tag. + */ + tagName?: string; + } + /** + * Represents a Google Tag Manager Trigger + */ + interface Schema$Trigger { + /** + * GTM Account ID. + */ + accountId?: string; + /** + * Used in the case of auto event tracking. + */ + autoEventFilter?: Schema$Condition[]; + /** + * Whether or not we should only fire tags if the form submit or link click + * event is not cancelled by some other event handler (e.g. because of + * validation). Only valid for Form Submission and Link Click triggers. + */ + checkValidation?: Schema$Parameter; + /** + * GTM Container ID. + */ + containerId?: string; + /** + * A visibility trigger minimum continuous visible time (in milliseconds). + * Only valid for AMP Visibility trigger. + */ + continuousTimeMinMilliseconds?: Schema$Parameter; + /** + * Used in the case of custom event, which is fired iff all Conditions are + * true. + */ + customEventFilter?: Schema$Condition[]; + /** + * Name of the GTM event that is fired. Only valid for Timer triggers. + */ + eventName?: Schema$Parameter; + /** + * The trigger will only fire iff all Conditions are true. + */ + filter?: Schema$Condition[]; + /** + * The fingerprint of the GTM Trigger as computed at storage time. This + * value is recomputed whenever the trigger is modified. + */ + fingerprint?: string; + /** + * List of integer percentage values for scroll triggers. The trigger will + * fire when each percentage is reached when the view is scrolled + * horizontally. Only valid for AMP scroll triggers. + */ + horizontalScrollPercentageList?: Schema$Parameter; + /** + * Time between triggering recurring Timer Events (in milliseconds). Only + * valid for Timer triggers. + */ + interval?: Schema$Parameter; + /** + * Time between Timer Events to fire (in seconds). Only valid for AMP Timer + * trigger. + */ + intervalSeconds?: Schema$Parameter; + /** + * Limit of the number of GTM events this Timer Trigger will fire. If no + * limit is set, we will continue to fire GTM events until the user leaves + * the page. Only valid for Timer triggers. + */ + limit?: Schema$Parameter; + /** + * Max time to fire Timer Events (in seconds). Only valid for AMP Timer + * trigger. + */ + maxTimerLengthSeconds?: Schema$Parameter; + /** + * Trigger display name. + */ + name?: string; + /** + * Additional parameters. + */ + parameter?: Schema$Parameter[]; + /** + * Parent folder id. + */ + parentFolderId?: string; + /** + * A click trigger CSS selector (i.e. "a", "button" + * etc.). Only valid for AMP Click trigger. + */ + selector?: Schema$Parameter; + /** + * A visibility trigger minimum total visible time (in milliseconds). Only + * valid for AMP Visibility trigger. + */ + totalTimeMinMilliseconds?: Schema$Parameter; + /** + * The Trigger ID uniquely identifies the GTM Trigger. + */ + triggerId?: string; + /** + * Defines the data layer event that causes this trigger. + */ + type?: string; + /** + * Globally unique id of the trigger that auto-generates this (a Form + * Submit, Link Click or Timer listener) if any. Used to make incompatible + * auto-events work together with trigger filtering based on trigger ids. + * This value is populated during output generation since the tags implied + * by triggers don't exist until then. Only valid for Form Submit, Link + * Click and Timer triggers. + */ + uniqueTriggerId?: Schema$Parameter; + /** + * List of integer percentage values for scroll triggers. The trigger will + * fire when each percentage is reached when the view is scrolled + * vertically. Only valid for AMP scroll triggers. + */ + verticalScrollPercentageList?: Schema$Parameter; + /** + * A visibility trigger CSS selector (i.e. "#id"). Only valid for + * AMP Visibility trigger. + */ + visibilitySelector?: Schema$Parameter; + /** + * A visibility trigger maximum percent visibility. Only valid for AMP + * Visibility trigger. + */ + visiblePercentageMax?: Schema$Parameter; + /** + * A visibility trigger minimum percent visibility. Only valid for AMP + * Visibility trigger. + */ + visiblePercentageMin?: Schema$Parameter; + /** + * Whether or not we should delay the form submissions or link opening until + * all of the tags have fired (by preventing the default action and later + * simulating the default action). Only valid for Form Submission and Link + * Click triggers. + */ + waitForTags?: Schema$Parameter; + /** + * How long to wait (in milliseconds) for tags to fire when + * 'waits_for_tags' above evaluates to true. Only valid for Form + * Submission and Link Click triggers. + */ + waitForTagsTimeout?: Schema$Parameter; + } + /** + * Represents a user's permissions to an account and its container. + */ + interface Schema$UserAccess { + /** + * GTM Account access permissions. + */ + accountAccess?: Schema$AccountAccess; + /** + * GTM Account ID. + */ + accountId?: string; + /** + * GTM Container access permissions. + */ + containerAccess?: Schema$ContainerAccess[]; + /** + * User's email address. + */ + emailAddress?: string; + /** + * Account Permission ID. + */ + permissionId?: string; + } + /** + * Represents a Google Tag Manager Variable. + */ + interface Schema$Variable { + /** + * GTM Account ID. + */ + accountId?: string; + /** + * GTM Container ID. + */ + containerId?: string; + /** + * For mobile containers only: A list of trigger IDs for disabling + * conditional variables; the variable is enabled if one of the enabling + * trigger is true while all the disabling trigger are false. Treated as an + * unordered set. + */ + disablingTriggerId?: string[]; + /** + * For mobile containers only: A list of trigger IDs for enabling + * conditional variables; the variable is enabled if one of the enabling + * triggers is true while all the disabling triggers are false. Treated as + * an unordered set. + */ + enablingTriggerId?: string[]; + /** + * The fingerprint of the GTM Variable as computed at storage time. This + * value is recomputed whenever the variable is modified. + */ + fingerprint?: string; + /** + * Variable display name. + */ + name?: string; + /** + * User notes on how to apply this variable in the container. + */ + notes?: string; + /** + * The variable's parameters. + */ + parameter?: Schema$Parameter[]; + /** + * Parent folder id. + */ + parentFolderId?: string; + /** + * The end timestamp in milliseconds to schedule a variable. + */ + scheduleEndMs?: string; + /** + * The start timestamp in milliseconds to schedule a variable. + */ + scheduleStartMs?: string; + /** + * GTM Variable Type. + */ + type?: string; + /** + * The Variable ID uniquely identifies the GTM Variable. + */ + variableId?: string; + } + class Resource$Accounts { + root: Tagmanager; + containers: Resource$Accounts$Containers; + permissions: Resource$Accounts$Permissions; + constructor(root: Tagmanager); + getRoot(): Tagmanager; + /** + * tagmanager.accounts.get + * @desc Gets a GTM Account. + * @alias tagmanager.accounts.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The GTM Account ID. + * @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?: Params$Resource$Accounts$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accounts$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accounts$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.list + * @desc Lists all GTM Accounts that a user has access to. + * @alias tagmanager.accounts.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @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?: Params$Resource$Accounts$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accounts$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accounts$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.update + * @desc Updates a GTM Account. + * @alias tagmanager.accounts.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The GTM Account ID. + * @param {string=} params.fingerprint When provided, this fingerprint must match the fingerprint of the account in storage. + * @param {().Account} 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?: Params$Resource$Accounts$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Accounts$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Accounts$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The GTM Account ID. + */ + accountId?: string; + } + interface Params$Resource$Accounts$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } + interface Params$Resource$Accounts$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The GTM Account ID. + */ + accountId?: string; + /** + * When provided, this fingerprint must match the fingerprint of the account + * in storage. + */ + fingerprint?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Account; + } + class Resource$Accounts$Containers { + root: Tagmanager; + environments: Resource$Accounts$Containers$Environments; + folders: Resource$Accounts$Containers$Folders; + move_folders: Resource$Accounts$Containers$Move_folders; + reauthorize_environments: Resource$Accounts$Containers$Reauthorize_environments; + tags: Resource$Accounts$Containers$Tags; + triggers: Resource$Accounts$Containers$Triggers; + variables: Resource$Accounts$Containers$Variables; + versions: Resource$Accounts$Containers$Versions; + constructor(root: Tagmanager); + getRoot(): Tagmanager; + /** + * tagmanager.accounts.containers.create + * @desc Creates a Container. + * @alias tagmanager.accounts.containers.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The GTM Account ID. + * @param {().Container} 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 + */ + create(params?: Params$Resource$Accounts$Containers$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Accounts$Containers$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Accounts$Containers$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.delete + * @desc Deletes a Container. + * @alias tagmanager.accounts.containers.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The GTM Account ID. + * @param {string} params.containerId The GTM Container ID. + * @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?: Params$Resource$Accounts$Containers$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Accounts$Containers$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Accounts$Containers$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.get + * @desc Gets a Container. + * @alias tagmanager.accounts.containers.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The GTM Account ID. + * @param {string} params.containerId The GTM Container ID. + * @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?: Params$Resource$Accounts$Containers$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accounts$Containers$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accounts$Containers$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.list + * @desc Lists all Containers that belongs to a GTM Account. + * @alias tagmanager.accounts.containers.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The GTM Account ID. + * @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?: Params$Resource$Accounts$Containers$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accounts$Containers$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accounts$Containers$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.update + * @desc Updates a Container. + * @alias tagmanager.accounts.containers.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The GTM Account ID. + * @param {string} params.containerId The GTM Container ID. + * @param {string=} params.fingerprint When provided, this fingerprint must match the fingerprint of the container in storage. + * @param {().Container} 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?: Params$Resource$Accounts$Containers$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Accounts$Containers$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Accounts$Containers$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Containers$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The GTM Account ID. + */ + accountId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Container; + } + interface Params$Resource$Accounts$Containers$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The GTM Account ID. + */ + accountId?: string; + /** + * The GTM Container ID. + */ + containerId?: string; + } + interface Params$Resource$Accounts$Containers$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The GTM Account ID. + */ + accountId?: string; + /** + * The GTM Container ID. + */ + containerId?: string; + } + interface Params$Resource$Accounts$Containers$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The GTM Account ID. + */ + accountId?: string; + } + interface Params$Resource$Accounts$Containers$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The GTM Account ID. + */ + accountId?: string; + /** + * The GTM Container ID. + */ + containerId?: string; + /** + * When provided, this fingerprint must match the fingerprint of the + * container in storage. + */ + fingerprint?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Container; + } + class Resource$Accounts$Containers$Environments { + root: Tagmanager; + constructor(root: Tagmanager); + getRoot(): Tagmanager; + /** + * tagmanager.accounts.containers.environments.create + * @desc Creates a GTM Environment. + * @alias tagmanager.accounts.containers.environments.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The GTM Account ID. + * @param {string} params.containerId The GTM Container ID. + * @param {().Environment} 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 + */ + create(params?: Params$Resource$Accounts$Containers$Environments$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Accounts$Containers$Environments$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Accounts$Containers$Environments$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.environments.delete + * @desc Deletes a GTM Environment. + * @alias tagmanager.accounts.containers.environments.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The GTM Account ID. + * @param {string} params.containerId The GTM Container ID. + * @param {string} params.environmentId The GTM Environment ID. + * @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?: Params$Resource$Accounts$Containers$Environments$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Accounts$Containers$Environments$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Accounts$Containers$Environments$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.environments.get + * @desc Gets a GTM Environment. + * @alias tagmanager.accounts.containers.environments.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The GTM Account ID. + * @param {string} params.containerId The GTM Container ID. + * @param {string} params.environmentId The GTM Environment ID. + * @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?: Params$Resource$Accounts$Containers$Environments$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accounts$Containers$Environments$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accounts$Containers$Environments$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.environments.list + * @desc Lists all GTM Environments of a GTM Container. + * @alias tagmanager.accounts.containers.environments.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The GTM Account ID. + * @param {string} params.containerId The GTM Container ID. + * @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?: Params$Resource$Accounts$Containers$Environments$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accounts$Containers$Environments$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accounts$Containers$Environments$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.environments.patch + * @desc Updates a GTM Environment. This method supports patch semantics. + * @alias tagmanager.accounts.containers.environments.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The GTM Account ID. + * @param {string} params.containerId The GTM Container ID. + * @param {string} params.environmentId The GTM Environment ID. + * @param {string=} params.fingerprint When provided, this fingerprint must match the fingerprint of the environment in storage. + * @param {().Environment} 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 + */ + patch(params?: Params$Resource$Accounts$Containers$Environments$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Accounts$Containers$Environments$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Accounts$Containers$Environments$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.environments.update + * @desc Updates a GTM Environment. + * @alias tagmanager.accounts.containers.environments.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The GTM Account ID. + * @param {string} params.containerId The GTM Container ID. + * @param {string} params.environmentId The GTM Environment ID. + * @param {string=} params.fingerprint When provided, this fingerprint must match the fingerprint of the environment in storage. + * @param {().Environment} 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?: Params$Resource$Accounts$Containers$Environments$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Accounts$Containers$Environments$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Accounts$Containers$Environments$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Containers$Environments$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The GTM Account ID. + */ + accountId?: string; + /** + * The GTM Container ID. + */ + containerId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Environment; + } + interface Params$Resource$Accounts$Containers$Environments$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The GTM Account ID. + */ + accountId?: string; + /** + * The GTM Container ID. + */ + containerId?: string; + /** + * The GTM Environment ID. + */ + environmentId?: string; + } + interface Params$Resource$Accounts$Containers$Environments$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The GTM Account ID. + */ + accountId?: string; + /** + * The GTM Container ID. + */ + containerId?: string; + /** + * The GTM Environment ID. + */ + environmentId?: string; + } + interface Params$Resource$Accounts$Containers$Environments$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The GTM Account ID. + */ + accountId?: string; + /** + * The GTM Container ID. + */ + containerId?: string; + } + interface Params$Resource$Accounts$Containers$Environments$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The GTM Account ID. + */ + accountId?: string; + /** + * The GTM Container ID. + */ + containerId?: string; + /** + * The GTM Environment ID. + */ + environmentId?: string; + /** + * When provided, this fingerprint must match the fingerprint of the + * environment in storage. + */ + fingerprint?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Environment; + } + interface Params$Resource$Accounts$Containers$Environments$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The GTM Account ID. + */ + accountId?: string; + /** + * The GTM Container ID. + */ + containerId?: string; + /** + * The GTM Environment ID. + */ + environmentId?: string; + /** + * When provided, this fingerprint must match the fingerprint of the + * environment in storage. + */ + fingerprint?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Environment; + } + class Resource$Accounts$Containers$Folders { + root: Tagmanager; + entities: Resource$Accounts$Containers$Folders$Entities; + constructor(root: Tagmanager); + getRoot(): Tagmanager; + /** + * tagmanager.accounts.containers.folders.create + * @desc Creates a GTM Folder. + * @alias tagmanager.accounts.containers.folders.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The GTM Account ID. + * @param {string} params.containerId The GTM Container ID. + * @param {().Folder} 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 + */ + create(params?: Params$Resource$Accounts$Containers$Folders$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Accounts$Containers$Folders$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Accounts$Containers$Folders$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.folders.delete + * @desc Deletes a GTM Folder. + * @alias tagmanager.accounts.containers.folders.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The GTM Account ID. + * @param {string} params.containerId The GTM Container ID. + * @param {string} params.folderId The GTM Folder ID. + * @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?: Params$Resource$Accounts$Containers$Folders$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Accounts$Containers$Folders$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Accounts$Containers$Folders$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.folders.get + * @desc Gets a GTM Folder. + * @alias tagmanager.accounts.containers.folders.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The GTM Account ID. + * @param {string} params.containerId The GTM Container ID. + * @param {string} params.folderId The GTM Folder ID. + * @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?: Params$Resource$Accounts$Containers$Folders$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accounts$Containers$Folders$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accounts$Containers$Folders$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.folders.list + * @desc Lists all GTM Folders of a Container. + * @alias tagmanager.accounts.containers.folders.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The GTM Account ID. + * @param {string} params.containerId The GTM Container ID. + * @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?: Params$Resource$Accounts$Containers$Folders$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accounts$Containers$Folders$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accounts$Containers$Folders$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.folders.update + * @desc Updates a GTM Folder. + * @alias tagmanager.accounts.containers.folders.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The GTM Account ID. + * @param {string} params.containerId The GTM Container ID. + * @param {string=} params.fingerprint When provided, this fingerprint must match the fingerprint of the folder in storage. + * @param {string} params.folderId The GTM Folder ID. + * @param {().Folder} 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?: Params$Resource$Accounts$Containers$Folders$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Accounts$Containers$Folders$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Accounts$Containers$Folders$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Containers$Folders$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The GTM Account ID. + */ + accountId?: string; + /** + * The GTM Container ID. + */ + containerId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Folder; + } + interface Params$Resource$Accounts$Containers$Folders$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The GTM Account ID. + */ + accountId?: string; + /** + * The GTM Container ID. + */ + containerId?: string; + /** + * The GTM Folder ID. + */ + folderId?: string; + } + interface Params$Resource$Accounts$Containers$Folders$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The GTM Account ID. + */ + accountId?: string; + /** + * The GTM Container ID. + */ + containerId?: string; + /** + * The GTM Folder ID. + */ + folderId?: string; + } + interface Params$Resource$Accounts$Containers$Folders$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The GTM Account ID. + */ + accountId?: string; + /** + * The GTM Container ID. + */ + containerId?: string; + } + interface Params$Resource$Accounts$Containers$Folders$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The GTM Account ID. + */ + accountId?: string; + /** + * The GTM Container ID. + */ + containerId?: string; + /** + * When provided, this fingerprint must match the fingerprint of the folder + * in storage. + */ + fingerprint?: string; + /** + * The GTM Folder ID. + */ + folderId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Folder; + } + class Resource$Accounts$Containers$Folders$Entities { + root: Tagmanager; + constructor(root: Tagmanager); + getRoot(): Tagmanager; + /** + * tagmanager.accounts.containers.folders.entities.list + * @desc List all entities in a GTM Folder. + * @alias tagmanager.accounts.containers.folders.entities.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The GTM Account ID. + * @param {string} params.containerId The GTM Container ID. + * @param {string} params.folderId The GTM Folder ID. + * @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?: Params$Resource$Accounts$Containers$Folders$Entities$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accounts$Containers$Folders$Entities$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accounts$Containers$Folders$Entities$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Containers$Folders$Entities$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The GTM Account ID. + */ + accountId?: string; + /** + * The GTM Container ID. + */ + containerId?: string; + /** + * The GTM Folder ID. + */ + folderId?: string; + } + class Resource$Accounts$Containers$Move_folders { + root: Tagmanager; + constructor(root: Tagmanager); + getRoot(): Tagmanager; + /** + * tagmanager.accounts.containers.move_folders.update + * @desc Moves entities to a GTM Folder. + * @alias tagmanager.accounts.containers.move_folders.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The GTM Account ID. + * @param {string} params.containerId The GTM Container ID. + * @param {string} params.folderId The GTM Folder ID. + * @param {string=} params.tagId The tags to be moved to the folder. + * @param {string=} params.triggerId The triggers to be moved to the folder. + * @param {string=} params.variableId The variables to be moved to the folder. + * @param {().Folder} 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?: Params$Resource$Accounts$Containers$Move_folders$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Accounts$Containers$Move_folders$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Accounts$Containers$Move_folders$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Containers$Move_folders$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The GTM Account ID. + */ + accountId?: string; + /** + * The GTM Container ID. + */ + containerId?: string; + /** + * The GTM Folder ID. + */ + folderId?: string; + /** + * The tags to be moved to the folder. + */ + tagId?: string; + /** + * The triggers to be moved to the folder. + */ + triggerId?: string; + /** + * The variables to be moved to the folder. + */ + variableId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Folder; + } + class Resource$Accounts$Containers$Reauthorize_environments { + root: Tagmanager; + constructor(root: Tagmanager); + getRoot(): Tagmanager; + /** + * tagmanager.accounts.containers.reauthorize_environments.update + * @desc Re-generates the authorization code for a GTM Environment. + * @alias tagmanager.accounts.containers.reauthorize_environments.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The GTM Account ID. + * @param {string} params.containerId The GTM Container ID. + * @param {string} params.environmentId The GTM Environment ID. + * @param {().Environment} 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?: Params$Resource$Accounts$Containers$Reauthorize_environments$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Accounts$Containers$Reauthorize_environments$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Accounts$Containers$Reauthorize_environments$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Containers$Reauthorize_environments$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The GTM Account ID. + */ + accountId?: string; + /** + * The GTM Container ID. + */ + containerId?: string; + /** + * The GTM Environment ID. + */ + environmentId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Environment; + } + class Resource$Accounts$Containers$Tags { + root: Tagmanager; + constructor(root: Tagmanager); + getRoot(): Tagmanager; + /** + * tagmanager.accounts.containers.tags.create + * @desc Creates a GTM Tag. + * @alias tagmanager.accounts.containers.tags.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The GTM Account ID. + * @param {string} params.containerId The GTM Container ID. + * @param {().Tag} 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 + */ + create(params?: Params$Resource$Accounts$Containers$Tags$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Accounts$Containers$Tags$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Accounts$Containers$Tags$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.tags.delete + * @desc Deletes a GTM Tag. + * @alias tagmanager.accounts.containers.tags.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The GTM Account ID. + * @param {string} params.containerId The GTM Container ID. + * @param {string} params.tagId The GTM Tag ID. + * @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?: Params$Resource$Accounts$Containers$Tags$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Accounts$Containers$Tags$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Accounts$Containers$Tags$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.tags.get + * @desc Gets a GTM Tag. + * @alias tagmanager.accounts.containers.tags.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The GTM Account ID. + * @param {string} params.containerId The GTM Container ID. + * @param {string} params.tagId The GTM Tag ID. + * @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?: Params$Resource$Accounts$Containers$Tags$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accounts$Containers$Tags$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accounts$Containers$Tags$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.tags.list + * @desc Lists all GTM Tags of a Container. + * @alias tagmanager.accounts.containers.tags.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The GTM Account ID. + * @param {string} params.containerId The GTM Container ID. + * @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?: Params$Resource$Accounts$Containers$Tags$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accounts$Containers$Tags$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accounts$Containers$Tags$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.tags.update + * @desc Updates a GTM Tag. + * @alias tagmanager.accounts.containers.tags.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The GTM Account ID. + * @param {string} params.containerId The GTM Container ID. + * @param {string=} params.fingerprint When provided, this fingerprint must match the fingerprint of the tag in storage. + * @param {string} params.tagId The GTM Tag ID. + * @param {().Tag} 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?: Params$Resource$Accounts$Containers$Tags$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Accounts$Containers$Tags$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Accounts$Containers$Tags$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Containers$Tags$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The GTM Account ID. + */ + accountId?: string; + /** + * The GTM Container ID. + */ + containerId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Tag; + } + interface Params$Resource$Accounts$Containers$Tags$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The GTM Account ID. + */ + accountId?: string; + /** + * The GTM Container ID. + */ + containerId?: string; + /** + * The GTM Tag ID. + */ + tagId?: string; + } + interface Params$Resource$Accounts$Containers$Tags$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The GTM Account ID. + */ + accountId?: string; + /** + * The GTM Container ID. + */ + containerId?: string; + /** + * The GTM Tag ID. + */ + tagId?: string; + } + interface Params$Resource$Accounts$Containers$Tags$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The GTM Account ID. + */ + accountId?: string; + /** + * The GTM Container ID. + */ + containerId?: string; + } + interface Params$Resource$Accounts$Containers$Tags$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The GTM Account ID. + */ + accountId?: string; + /** + * The GTM Container ID. + */ + containerId?: string; + /** + * When provided, this fingerprint must match the fingerprint of the tag in + * storage. + */ + fingerprint?: string; + /** + * The GTM Tag ID. + */ + tagId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Tag; + } + class Resource$Accounts$Containers$Triggers { + root: Tagmanager; + constructor(root: Tagmanager); + getRoot(): Tagmanager; + /** + * tagmanager.accounts.containers.triggers.create + * @desc Creates a GTM Trigger. + * @alias tagmanager.accounts.containers.triggers.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The GTM Account ID. + * @param {string} params.containerId The GTM Container ID. + * @param {().Trigger} 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 + */ + create(params?: Params$Resource$Accounts$Containers$Triggers$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Accounts$Containers$Triggers$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Accounts$Containers$Triggers$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.triggers.delete + * @desc Deletes a GTM Trigger. + * @alias tagmanager.accounts.containers.triggers.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The GTM Account ID. + * @param {string} params.containerId The GTM Container ID. + * @param {string} params.triggerId The GTM Trigger ID. + * @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?: Params$Resource$Accounts$Containers$Triggers$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Accounts$Containers$Triggers$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Accounts$Containers$Triggers$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.triggers.get + * @desc Gets a GTM Trigger. + * @alias tagmanager.accounts.containers.triggers.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The GTM Account ID. + * @param {string} params.containerId The GTM Container ID. + * @param {string} params.triggerId The GTM Trigger ID. + * @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?: Params$Resource$Accounts$Containers$Triggers$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accounts$Containers$Triggers$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accounts$Containers$Triggers$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.triggers.list + * @desc Lists all GTM Triggers of a Container. + * @alias tagmanager.accounts.containers.triggers.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The GTM Account ID. + * @param {string} params.containerId The GTM Container ID. + * @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?: Params$Resource$Accounts$Containers$Triggers$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accounts$Containers$Triggers$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accounts$Containers$Triggers$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.triggers.update + * @desc Updates a GTM Trigger. + * @alias tagmanager.accounts.containers.triggers.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The GTM Account ID. + * @param {string} params.containerId The GTM Container ID. + * @param {string=} params.fingerprint When provided, this fingerprint must match the fingerprint of the trigger in storage. + * @param {string} params.triggerId The GTM Trigger ID. + * @param {().Trigger} 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?: Params$Resource$Accounts$Containers$Triggers$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Accounts$Containers$Triggers$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Accounts$Containers$Triggers$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Containers$Triggers$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The GTM Account ID. + */ + accountId?: string; + /** + * The GTM Container ID. + */ + containerId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Trigger; + } + interface Params$Resource$Accounts$Containers$Triggers$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The GTM Account ID. + */ + accountId?: string; + /** + * The GTM Container ID. + */ + containerId?: string; + /** + * The GTM Trigger ID. + */ + triggerId?: string; + } + interface Params$Resource$Accounts$Containers$Triggers$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The GTM Account ID. + */ + accountId?: string; + /** + * The GTM Container ID. + */ + containerId?: string; + /** + * The GTM Trigger ID. + */ + triggerId?: string; + } + interface Params$Resource$Accounts$Containers$Triggers$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The GTM Account ID. + */ + accountId?: string; + /** + * The GTM Container ID. + */ + containerId?: string; + } + interface Params$Resource$Accounts$Containers$Triggers$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The GTM Account ID. + */ + accountId?: string; + /** + * The GTM Container ID. + */ + containerId?: string; + /** + * When provided, this fingerprint must match the fingerprint of the trigger + * in storage. + */ + fingerprint?: string; + /** + * The GTM Trigger ID. + */ + triggerId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Trigger; + } + class Resource$Accounts$Containers$Variables { + root: Tagmanager; + constructor(root: Tagmanager); + getRoot(): Tagmanager; + /** + * tagmanager.accounts.containers.variables.create + * @desc Creates a GTM Variable. + * @alias tagmanager.accounts.containers.variables.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The GTM Account ID. + * @param {string} params.containerId The GTM Container ID. + * @param {().Variable} 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 + */ + create(params?: Params$Resource$Accounts$Containers$Variables$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Accounts$Containers$Variables$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Accounts$Containers$Variables$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.variables.delete + * @desc Deletes a GTM Variable. + * @alias tagmanager.accounts.containers.variables.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The GTM Account ID. + * @param {string} params.containerId The GTM Container ID. + * @param {string} params.variableId The GTM Variable ID. + * @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?: Params$Resource$Accounts$Containers$Variables$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Accounts$Containers$Variables$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Accounts$Containers$Variables$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.variables.get + * @desc Gets a GTM Variable. + * @alias tagmanager.accounts.containers.variables.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The GTM Account ID. + * @param {string} params.containerId The GTM Container ID. + * @param {string} params.variableId The GTM Variable ID. + * @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?: Params$Resource$Accounts$Containers$Variables$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accounts$Containers$Variables$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accounts$Containers$Variables$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.variables.list + * @desc Lists all GTM Variables of a Container. + * @alias tagmanager.accounts.containers.variables.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The GTM Account ID. + * @param {string} params.containerId The GTM Container ID. + * @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?: Params$Resource$Accounts$Containers$Variables$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accounts$Containers$Variables$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accounts$Containers$Variables$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.variables.update + * @desc Updates a GTM Variable. + * @alias tagmanager.accounts.containers.variables.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The GTM Account ID. + * @param {string} params.containerId The GTM Container ID. + * @param {string=} params.fingerprint When provided, this fingerprint must match the fingerprint of the variable in storage. + * @param {string} params.variableId The GTM Variable ID. + * @param {().Variable} 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?: Params$Resource$Accounts$Containers$Variables$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Accounts$Containers$Variables$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Accounts$Containers$Variables$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Containers$Variables$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The GTM Account ID. + */ + accountId?: string; + /** + * The GTM Container ID. + */ + containerId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Variable; + } + interface Params$Resource$Accounts$Containers$Variables$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The GTM Account ID. + */ + accountId?: string; + /** + * The GTM Container ID. + */ + containerId?: string; + /** + * The GTM Variable ID. + */ + variableId?: string; + } + interface Params$Resource$Accounts$Containers$Variables$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The GTM Account ID. + */ + accountId?: string; + /** + * The GTM Container ID. + */ + containerId?: string; + /** + * The GTM Variable ID. + */ + variableId?: string; + } + interface Params$Resource$Accounts$Containers$Variables$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The GTM Account ID. + */ + accountId?: string; + /** + * The GTM Container ID. + */ + containerId?: string; + } + interface Params$Resource$Accounts$Containers$Variables$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The GTM Account ID. + */ + accountId?: string; + /** + * The GTM Container ID. + */ + containerId?: string; + /** + * When provided, this fingerprint must match the fingerprint of the + * variable in storage. + */ + fingerprint?: string; + /** + * The GTM Variable ID. + */ + variableId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Variable; + } + class Resource$Accounts$Containers$Versions { + root: Tagmanager; + constructor(root: Tagmanager); + getRoot(): Tagmanager; + /** + * tagmanager.accounts.containers.versions.create + * @desc Creates a Container Version. + * @alias tagmanager.accounts.containers.versions.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The GTM Account ID. + * @param {string} params.containerId The GTM Container ID. + * @param {().CreateContainerVersionRequestVersionOptions} 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 + */ + create(params?: Params$Resource$Accounts$Containers$Versions$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Accounts$Containers$Versions$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Accounts$Containers$Versions$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.versions.delete + * @desc Deletes a Container Version. + * @alias tagmanager.accounts.containers.versions.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The GTM Account ID. + * @param {string} params.containerId The GTM Container ID. + * @param {string} params.containerVersionId The GTM Container Version ID. + * @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?: Params$Resource$Accounts$Containers$Versions$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Accounts$Containers$Versions$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Accounts$Containers$Versions$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.versions.get + * @desc Gets a Container Version. + * @alias tagmanager.accounts.containers.versions.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The GTM Account ID. + * @param {string} params.containerId The GTM Container ID. + * @param {string} params.containerVersionId The GTM Container Version ID. Specify published to retrieve the currently published version. + * @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?: Params$Resource$Accounts$Containers$Versions$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accounts$Containers$Versions$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accounts$Containers$Versions$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.versions.list + * @desc Lists all Container Versions of a GTM Container. + * @alias tagmanager.accounts.containers.versions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The GTM Account ID. + * @param {string} params.containerId The GTM Container ID. + * @param {boolean=} params.headers Retrieve headers only when true. + * @param {boolean=} params.includeDeleted Also retrieve deleted (archived) versions when true. + * @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?: Params$Resource$Accounts$Containers$Versions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accounts$Containers$Versions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accounts$Containers$Versions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.versions.publish + * @desc Publishes a Container Version. + * @alias tagmanager.accounts.containers.versions.publish + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The GTM Account ID. + * @param {string} params.containerId The GTM Container ID. + * @param {string} params.containerVersionId The GTM Container Version ID. + * @param {string=} params.fingerprint When provided, this fingerprint must match the fingerprint of the container version in storage. + * @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 + */ + publish(params?: Params$Resource$Accounts$Containers$Versions$Publish, options?: MethodOptions): AxiosPromise; + publish(params: Params$Resource$Accounts$Containers$Versions$Publish, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + publish(params: Params$Resource$Accounts$Containers$Versions$Publish, callback: BodyResponseCallback): void; + publish(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.versions.restore + * @desc Restores a Container Version. This will overwrite the container's + * current configuration (including its variables, triggers and tags). The + * operation will not have any effect on the version that is being served + * (i.e. the published version). + * @alias tagmanager.accounts.containers.versions.restore + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The GTM Account ID. + * @param {string} params.containerId The GTM Container ID. + * @param {string} params.containerVersionId The GTM Container Version ID. + * @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 + */ + restore(params?: Params$Resource$Accounts$Containers$Versions$Restore, options?: MethodOptions): AxiosPromise; + restore(params: Params$Resource$Accounts$Containers$Versions$Restore, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + restore(params: Params$Resource$Accounts$Containers$Versions$Restore, callback: BodyResponseCallback): void; + restore(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.versions.undelete + * @desc Undeletes a Container Version. + * @alias tagmanager.accounts.containers.versions.undelete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The GTM Account ID. + * @param {string} params.containerId The GTM Container ID. + * @param {string} params.containerVersionId The GTM Container Version ID. + * @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 + */ + undelete(params?: Params$Resource$Accounts$Containers$Versions$Undelete, options?: MethodOptions): AxiosPromise; + undelete(params: Params$Resource$Accounts$Containers$Versions$Undelete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + undelete(params: Params$Resource$Accounts$Containers$Versions$Undelete, callback: BodyResponseCallback): void; + undelete(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.versions.update + * @desc Updates a Container Version. + * @alias tagmanager.accounts.containers.versions.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The GTM Account ID. + * @param {string} params.containerId The GTM Container ID. + * @param {string} params.containerVersionId The GTM Container Version ID. + * @param {string=} params.fingerprint When provided, this fingerprint must match the fingerprint of the container version in storage. + * @param {().ContainerVersion} 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?: Params$Resource$Accounts$Containers$Versions$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Accounts$Containers$Versions$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Accounts$Containers$Versions$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Containers$Versions$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The GTM Account ID. + */ + accountId?: string; + /** + * The GTM Container ID. + */ + containerId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreateContainerVersionRequestVersionOptions; + } + interface Params$Resource$Accounts$Containers$Versions$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The GTM Account ID. + */ + accountId?: string; + /** + * The GTM Container ID. + */ + containerId?: string; + /** + * The GTM Container Version ID. + */ + containerVersionId?: string; + } + interface Params$Resource$Accounts$Containers$Versions$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The GTM Account ID. + */ + accountId?: string; + /** + * The GTM Container ID. + */ + containerId?: string; + /** + * The GTM Container Version ID. Specify published to retrieve the currently + * published version. + */ + containerVersionId?: string; + } + interface Params$Resource$Accounts$Containers$Versions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The GTM Account ID. + */ + accountId?: string; + /** + * The GTM Container ID. + */ + containerId?: string; + /** + * Retrieve headers only when true. + */ + headers?: boolean; + /** + * Also retrieve deleted (archived) versions when true. + */ + includeDeleted?: boolean; + } + interface Params$Resource$Accounts$Containers$Versions$Publish { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The GTM Account ID. + */ + accountId?: string; + /** + * The GTM Container ID. + */ + containerId?: string; + /** + * The GTM Container Version ID. + */ + containerVersionId?: string; + /** + * When provided, this fingerprint must match the fingerprint of the + * container version in storage. + */ + fingerprint?: string; + } + interface Params$Resource$Accounts$Containers$Versions$Restore { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The GTM Account ID. + */ + accountId?: string; + /** + * The GTM Container ID. + */ + containerId?: string; + /** + * The GTM Container Version ID. + */ + containerVersionId?: string; + } + interface Params$Resource$Accounts$Containers$Versions$Undelete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The GTM Account ID. + */ + accountId?: string; + /** + * The GTM Container ID. + */ + containerId?: string; + /** + * The GTM Container Version ID. + */ + containerVersionId?: string; + } + interface Params$Resource$Accounts$Containers$Versions$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The GTM Account ID. + */ + accountId?: string; + /** + * The GTM Container ID. + */ + containerId?: string; + /** + * The GTM Container Version ID. + */ + containerVersionId?: string; + /** + * When provided, this fingerprint must match the fingerprint of the + * container version in storage. + */ + fingerprint?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ContainerVersion; + } + class Resource$Accounts$Permissions { + root: Tagmanager; + constructor(root: Tagmanager); + getRoot(): Tagmanager; + /** + * tagmanager.accounts.permissions.create + * @desc Creates a user's Account & Container Permissions. + * @alias tagmanager.accounts.permissions.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The GTM Account ID. + * @param {().UserAccess} 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 + */ + create(params?: Params$Resource$Accounts$Permissions$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Accounts$Permissions$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Accounts$Permissions$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.permissions.delete + * @desc Removes a user from the account, revoking access to it and all of + * its containers. + * @alias tagmanager.accounts.permissions.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The GTM Account ID. + * @param {string} params.permissionId The GTM User ID. + * @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?: Params$Resource$Accounts$Permissions$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Accounts$Permissions$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Accounts$Permissions$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.permissions.get + * @desc Gets a user's Account & Container Permissions. + * @alias tagmanager.accounts.permissions.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The GTM Account ID. + * @param {string} params.permissionId The GTM User ID. + * @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?: Params$Resource$Accounts$Permissions$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accounts$Permissions$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accounts$Permissions$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.permissions.list + * @desc List all users that have access to the account along with Account + * and Container Permissions granted to each of them. + * @alias tagmanager.accounts.permissions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The GTM Account ID. @required tagmanager.accounts.permissions.list + * @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?: Params$Resource$Accounts$Permissions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accounts$Permissions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accounts$Permissions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.permissions.update + * @desc Updates a user's Account & Container Permissions. + * @alias tagmanager.accounts.permissions.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The GTM Account ID. + * @param {string} params.permissionId The GTM User ID. + * @param {().UserAccess} 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?: Params$Resource$Accounts$Permissions$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Accounts$Permissions$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Accounts$Permissions$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Permissions$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The GTM Account ID. + */ + accountId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UserAccess; + } + interface Params$Resource$Accounts$Permissions$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The GTM Account ID. + */ + accountId?: string; + /** + * The GTM User ID. + */ + permissionId?: string; + } + interface Params$Resource$Accounts$Permissions$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The GTM Account ID. + */ + accountId?: string; + /** + * The GTM User ID. + */ + permissionId?: string; + } + interface Params$Resource$Accounts$Permissions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The GTM Account ID. @required tagmanager.accounts.permissions.list + */ + accountId?: string; + } + interface Params$Resource$Accounts$Permissions$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The GTM Account ID. + */ + accountId?: string; + /** + * The GTM User ID. + */ + permissionId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UserAccess; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/tagmanager/v1.js b/express-server/node_modules/googleapis/build/src/apis/tagmanager/v1.js new file mode 100644 index 00000000..5c1a5bba --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/tagmanager/v1.js @@ -0,0 +1,1780 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var tagmanager_v1; +(function (tagmanager_v1) { + /** + * Tag Manager API + * + * Accesses Tag Manager accounts and containers. + * + * @example + * const {google} = require('googleapis'); + * const tagmanager = google.tagmanager('v1'); + * + * @namespace tagmanager + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Tagmanager + */ + class Tagmanager { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.accounts = new Resource$Accounts(this); + } + getRoot() { + return this.root; + } + } + tagmanager_v1.Tagmanager = Tagmanager; + class Resource$Accounts { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.containers = new Resource$Accounts$Containers(root); + this.permissions = new Resource$Accounts$Permissions(root); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v1/accounts/{accountId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId'], + pathParams: ['accountId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v1/accounts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v1/accounts/{accountId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['accountId'], + pathParams: ['accountId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + tagmanager_v1.Resource$Accounts = Resource$Accounts; + class Resource$Accounts$Containers { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.environments = new Resource$Accounts$Containers$Environments(root); + this.folders = new Resource$Accounts$Containers$Folders(root); + this.move_folders = new Resource$Accounts$Containers$Move_folders(root); + this.reauthorize_environments = + new Resource$Accounts$Containers$Reauthorize_environments(root); + this.tags = new Resource$Accounts$Containers$Tags(root); + this.triggers = new Resource$Accounts$Containers$Triggers(root); + this.variables = new Resource$Accounts$Containers$Variables(root); + this.versions = new Resource$Accounts$Containers$Versions(root); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v1/accounts/{accountId}/containers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['accountId'], + pathParams: ['accountId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/tagmanager/v1/accounts/{accountId}/containers/{containerId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['accountId', 'containerId'], + pathParams: ['accountId', 'containerId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/tagmanager/v1/accounts/{accountId}/containers/{containerId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'containerId'], + pathParams: ['accountId', 'containerId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v1/accounts/{accountId}/containers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId'], + pathParams: ['accountId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/tagmanager/v1/accounts/{accountId}/containers/{containerId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['accountId', 'containerId'], + pathParams: ['accountId', 'containerId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + tagmanager_v1.Resource$Accounts$Containers = Resource$Accounts$Containers; + class Resource$Accounts$Containers$Environments { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/tagmanager/v1/accounts/{accountId}/containers/{containerId}/environments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['accountId', 'containerId'], + pathParams: ['accountId', 'containerId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/tagmanager/v1/accounts/{accountId}/containers/{containerId}/environments/{environmentId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['accountId', 'containerId', 'environmentId'], + pathParams: ['accountId', 'containerId', 'environmentId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/tagmanager/v1/accounts/{accountId}/containers/{containerId}/environments/{environmentId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'containerId', 'environmentId'], + pathParams: ['accountId', 'containerId', 'environmentId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/tagmanager/v1/accounts/{accountId}/containers/{containerId}/environments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'containerId'], + pathParams: ['accountId', 'containerId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/tagmanager/v1/accounts/{accountId}/containers/{containerId}/environments/{environmentId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['accountId', 'containerId', 'environmentId'], + pathParams: ['accountId', 'containerId', 'environmentId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/tagmanager/v1/accounts/{accountId}/containers/{containerId}/environments/{environmentId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['accountId', 'containerId', 'environmentId'], + pathParams: ['accountId', 'containerId', 'environmentId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + tagmanager_v1.Resource$Accounts$Containers$Environments = Resource$Accounts$Containers$Environments; + class Resource$Accounts$Containers$Folders { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.entities = new Resource$Accounts$Containers$Folders$Entities(root); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['accountId', 'containerId'], + pathParams: ['accountId', 'containerId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders/{folderId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['accountId', 'containerId', 'folderId'], + pathParams: ['accountId', 'containerId', 'folderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders/{folderId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'containerId', 'folderId'], + pathParams: ['accountId', 'containerId', 'folderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'containerId'], + pathParams: ['accountId', 'containerId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders/{folderId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['accountId', 'containerId', 'folderId'], + pathParams: ['accountId', 'containerId', 'folderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + tagmanager_v1.Resource$Accounts$Containers$Folders = Resource$Accounts$Containers$Folders; + class Resource$Accounts$Containers$Folders$Entities { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders/{folderId}/entities') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'containerId', 'folderId'], + pathParams: ['accountId', 'containerId', 'folderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + tagmanager_v1.Resource$Accounts$Containers$Folders$Entities = Resource$Accounts$Containers$Folders$Entities; + class Resource$Accounts$Containers$Move_folders { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/tagmanager/v1/accounts/{accountId}/containers/{containerId}/move_folders/{folderId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['accountId', 'containerId', 'folderId'], + pathParams: ['accountId', 'containerId', 'folderId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + tagmanager_v1.Resource$Accounts$Containers$Move_folders = Resource$Accounts$Containers$Move_folders; + class Resource$Accounts$Containers$Reauthorize_environments { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/tagmanager/v1/accounts/{accountId}/containers/{containerId}/reauthorize_environments/{environmentId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['accountId', 'containerId', 'environmentId'], + pathParams: ['accountId', 'containerId', 'environmentId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + tagmanager_v1.Resource$Accounts$Containers$Reauthorize_environments = Resource$Accounts$Containers$Reauthorize_environments; + class Resource$Accounts$Containers$Tags { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/tagmanager/v1/accounts/{accountId}/containers/{containerId}/tags') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['accountId', 'containerId'], + pathParams: ['accountId', 'containerId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/tagmanager/v1/accounts/{accountId}/containers/{containerId}/tags/{tagId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['accountId', 'containerId', 'tagId'], + pathParams: ['accountId', 'containerId', 'tagId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/tagmanager/v1/accounts/{accountId}/containers/{containerId}/tags/{tagId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'containerId', 'tagId'], + pathParams: ['accountId', 'containerId', 'tagId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/tagmanager/v1/accounts/{accountId}/containers/{containerId}/tags') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'containerId'], + pathParams: ['accountId', 'containerId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/tagmanager/v1/accounts/{accountId}/containers/{containerId}/tags/{tagId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['accountId', 'containerId', 'tagId'], + pathParams: ['accountId', 'containerId', 'tagId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + tagmanager_v1.Resource$Accounts$Containers$Tags = Resource$Accounts$Containers$Tags; + class Resource$Accounts$Containers$Triggers { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/tagmanager/v1/accounts/{accountId}/containers/{containerId}/triggers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['accountId', 'containerId'], + pathParams: ['accountId', 'containerId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/tagmanager/v1/accounts/{accountId}/containers/{containerId}/triggers/{triggerId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['accountId', 'containerId', 'triggerId'], + pathParams: ['accountId', 'containerId', 'triggerId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/tagmanager/v1/accounts/{accountId}/containers/{containerId}/triggers/{triggerId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'containerId', 'triggerId'], + pathParams: ['accountId', 'containerId', 'triggerId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/tagmanager/v1/accounts/{accountId}/containers/{containerId}/triggers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'containerId'], + pathParams: ['accountId', 'containerId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/tagmanager/v1/accounts/{accountId}/containers/{containerId}/triggers/{triggerId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['accountId', 'containerId', 'triggerId'], + pathParams: ['accountId', 'containerId', 'triggerId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + tagmanager_v1.Resource$Accounts$Containers$Triggers = Resource$Accounts$Containers$Triggers; + class Resource$Accounts$Containers$Variables { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/tagmanager/v1/accounts/{accountId}/containers/{containerId}/variables') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['accountId', 'containerId'], + pathParams: ['accountId', 'containerId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/tagmanager/v1/accounts/{accountId}/containers/{containerId}/variables/{variableId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['accountId', 'containerId', 'variableId'], + pathParams: ['accountId', 'containerId', 'variableId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/tagmanager/v1/accounts/{accountId}/containers/{containerId}/variables/{variableId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'containerId', 'variableId'], + pathParams: ['accountId', 'containerId', 'variableId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/tagmanager/v1/accounts/{accountId}/containers/{containerId}/variables') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'containerId'], + pathParams: ['accountId', 'containerId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/tagmanager/v1/accounts/{accountId}/containers/{containerId}/variables/{variableId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['accountId', 'containerId', 'variableId'], + pathParams: ['accountId', 'containerId', 'variableId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + tagmanager_v1.Resource$Accounts$Containers$Variables = Resource$Accounts$Containers$Variables; + class Resource$Accounts$Containers$Versions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['accountId', 'containerId'], + pathParams: ['accountId', 'containerId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['accountId', 'containerId', 'containerVersionId'], + pathParams: ['accountId', 'containerId', 'containerVersionId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'containerId', 'containerVersionId'], + pathParams: ['accountId', 'containerId', 'containerVersionId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'containerId'], + pathParams: ['accountId', 'containerId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + publish(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}/publish') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['accountId', 'containerId', 'containerVersionId'], + pathParams: ['accountId', 'containerId', 'containerVersionId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + restore(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}/restore') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['accountId', 'containerId', 'containerVersionId'], + pathParams: ['accountId', 'containerId', 'containerVersionId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + undelete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}/undelete') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['accountId', 'containerId', 'containerVersionId'], + pathParams: ['accountId', 'containerId', 'containerVersionId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['accountId', 'containerId', 'containerVersionId'], + pathParams: ['accountId', 'containerId', 'containerVersionId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + tagmanager_v1.Resource$Accounts$Containers$Versions = Resource$Accounts$Containers$Versions; + class Resource$Accounts$Permissions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v1/accounts/{accountId}/permissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['accountId'], + pathParams: ['accountId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/tagmanager/v1/accounts/{accountId}/permissions/{permissionId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['accountId', 'permissionId'], + pathParams: ['accountId', 'permissionId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/tagmanager/v1/accounts/{accountId}/permissions/{permissionId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId', 'permissionId'], + pathParams: ['accountId', 'permissionId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v1/accounts/{accountId}/permissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['accountId'], + pathParams: ['accountId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/tagmanager/v1/accounts/{accountId}/permissions/{permissionId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['accountId', 'permissionId'], + pathParams: ['accountId', 'permissionId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + tagmanager_v1.Resource$Accounts$Permissions = Resource$Accounts$Permissions; +})(tagmanager_v1 = exports.tagmanager_v1 || (exports.tagmanager_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/tagmanager/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/tagmanager/v1.js.map new file mode 100644 index 00000000..7f134525 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/tagmanager/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/tagmanager/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/tagmanager/v2.d.ts b/express-server/node_modules/googleapis/build/src/apis/tagmanager/v2.d.ts new file mode 100644 index 00000000..b2e6ddb3 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/tagmanager/v2.d.ts @@ -0,0 +1,3947 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace tagmanager_v2 { + interface Options extends GlobalOptions { + version: 'v2'; + } + /** + * Tag Manager API + * + * Accesses Tag Manager accounts and containers. + * + * @example + * const {google} = require('googleapis'); + * const tagmanager = google.tagmanager('v2'); + * + * @namespace tagmanager + * @type {Function} + * @version v2 + * @variation v2 + * @param {object=} options Options for Tagmanager + */ + class Tagmanager { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + accounts: Resource$Accounts; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Represents a Google Tag Manager Account. + */ + interface Schema$Account { + /** + * The Account ID uniquely identifies the GTM Account. + */ + accountId?: string; + /** + * The fingerprint of the GTM Account as computed at storage time. This + * value is recomputed whenever the account is modified. + */ + fingerprint?: string; + /** + * Account display name. + */ + name?: string; + /** + * GTM Account's API relative path. + */ + path?: string; + /** + * Whether the account shares data anonymously with Google and others. This + * flag enables benchmarking by sharing your data in an anonymous form. + * Google will remove all identifiable information about your website, + * combine the data with hundreds of other anonymous sites and report + * aggregate trends in the benchmarking service. + */ + shareData?: boolean; + /** + * Auto generated link to the tag manager UI + */ + tagManagerUrl?: string; + } + /** + * Defines the Google Tag Manager Account access permissions. + */ + interface Schema$AccountAccess { + /** + * Whether the user has no access, user access, or admin access to an + * account. + */ + permission?: string; + } + /** + * Built-in variables are a special category of variables that are pre-created + * and non-customizable. They provide common functionality like accessing + * propeties of the gtm data layer, monitoring clicks, or accessing elements + * of a page URL. + */ + interface Schema$BuiltInVariable { + /** + * GTM Account ID. + */ + accountId?: string; + /** + * GTM Container ID. + */ + containerId?: string; + /** + * Name of the built-in variable to be used to refer to the built-in + * variable. + */ + name?: string; + /** + * GTM BuiltInVariable's API relative path. + */ + path?: string; + /** + * Type of built-in variable. + */ + type?: string; + /** + * GTM Workspace ID. + */ + workspaceId?: string; + } + /** + * Represents a predicate. + */ + interface Schema$Condition { + /** + * A list of named parameters (key/value), depending on the condition's + * type. Notes: - For binary operators, include parameters named arg0 and + * arg1 for specifying the left and right operands, respectively. - At this + * time, the left operand (arg0) must be a reference to a variable. - For + * case-insensitive Regex matching, include a boolean parameter named + * ignore_case that is set to true. If not specified or set to any other + * value, the matching will be case sensitive. - To negate an operator, + * include a boolean parameter named negate boolean parameter that is set to + * true. + */ + parameter?: Schema$Parameter[]; + /** + * The type of operator for this condition. + */ + type?: string; + } + /** + * Represents a Google Tag Manager Container, which specifies the platform + * tags will run on, manages workspaces, and retains container versions. + */ + interface Schema$Container { + /** + * GTM Account ID. + */ + accountId?: string; + /** + * The Container ID uniquely identifies the GTM Container. + */ + containerId?: string; + /** + * List of domain names associated with the Container. + */ + domainName?: string[]; + /** + * The fingerprint of the GTM Container as computed at storage time. This + * value is recomputed whenever the account is modified. + */ + fingerprint?: string; + /** + * Container display name. + */ + name?: string; + /** + * Container Notes. + */ + notes?: string; + /** + * GTM Container's API relative path. + */ + path?: string; + /** + * Container Public ID. + */ + publicId?: string; + /** + * Auto generated link to the tag manager UI + */ + tagManagerUrl?: string; + /** + * List of Usage Contexts for the Container. Valid values include: web, + * android, or ios. + */ + usageContext?: string[]; + } + /** + * Defines the Google Tag Manager Container access permissions. + */ + interface Schema$ContainerAccess { + /** + * GTM Container ID. + */ + containerId?: string; + /** + * List of Container permissions. + */ + permission?: string; + } + /** + * Represents a Google Tag Manager Container Version. + */ + interface Schema$ContainerVersion { + /** + * GTM Account ID. + */ + accountId?: string; + /** + * The built-in variables in the container that this version was taken from. + */ + builtInVariable?: Schema$BuiltInVariable[]; + /** + * The container that this version was taken from. + */ + container?: Schema$Container; + /** + * GTM Container ID. + */ + containerId?: string; + /** + * The Container Version ID uniquely identifies the GTM Container Version. + */ + containerVersionId?: string; + /** + * A value of true indicates this container version has been deleted. + */ + deleted?: boolean; + /** + * Container version description. + */ + description?: string; + /** + * The fingerprint of the GTM Container Version as computed at storage time. + * This value is recomputed whenever the container version is modified. + */ + fingerprint?: string; + /** + * The folders in the container that this version was taken from. + */ + folder?: Schema$Folder[]; + /** + * Container version display name. + */ + name?: string; + /** + * GTM ContainerVersions's API relative path. + */ + path?: string; + /** + * The tags in the container that this version was taken from. + */ + tag?: Schema$Tag[]; + /** + * Auto generated link to the tag manager UI + */ + tagManagerUrl?: string; + /** + * The triggers in the container that this version was taken from. + */ + trigger?: Schema$Trigger[]; + /** + * The variables in the container that this version was taken from. + */ + variable?: Schema$Variable[]; + /** + * The zones in the container that this version was taken from. + */ + zone?: Schema$Zone[]; + } + /** + * Represents a Google Tag Manager Container Version Header. + */ + interface Schema$ContainerVersionHeader { + /** + * GTM Account ID. + */ + accountId?: string; + /** + * GTM Container ID. + */ + containerId?: string; + /** + * The Container Version ID uniquely identifies the GTM Container Version. + */ + containerVersionId?: string; + /** + * A value of true indicates this container version has been deleted. + */ + deleted?: boolean; + /** + * Container version display name. + */ + name?: string; + /** + * Number of macros in the container version. + */ + numMacros?: string; + /** + * Number of rules in the container version. + */ + numRules?: string; + /** + * Number of tags in the container version. + */ + numTags?: string; + /** + * Number of triggers in the container version. + */ + numTriggers?: string; + /** + * Number of variables in the container version. + */ + numVariables?: string; + /** + * Number of zones in the container version. + */ + numZones?: string; + /** + * GTM Container Versions's API relative path. + */ + path?: string; + } + interface Schema$CreateBuiltInVariableResponse { + /** + * List of created built-in variables. + */ + builtInVariable?: Schema$BuiltInVariable[]; + } + /** + * Options for new container versions. + */ + interface Schema$CreateContainerVersionRequestVersionOptions { + /** + * The name of the container version to be created. + */ + name?: string; + /** + * The notes of the container version to be created. + */ + notes?: string; + } + /** + * Create container versions response. + */ + interface Schema$CreateContainerVersionResponse { + /** + * Compiler errors or not. + */ + compilerError?: boolean; + /** + * The container version created. + */ + containerVersion?: Schema$ContainerVersion; + /** + * Auto generated workspace path created as a result of version creation. + * This field should only be populated if the created version was not a + * quick preview. + */ + newWorkspacePath?: string; + /** + * Whether version creation failed when syncing the workspace to the latest + * container version. + */ + syncStatus?: Schema$SyncStatus; + } + /** + * Creates a workspace proposal to start a review of a workspace. + */ + interface Schema$CreateWorkspaceProposalRequest { + /** + * If present, an initial comment to associate with the workspace proposal. + */ + initialComment?: Schema$WorkspaceProposalHistoryComment; + /** + * List of users to review the workspace proposal. + */ + reviewers?: Schema$WorkspaceProposalUser[]; + } + /** + * A workspace entity that may represent a tag, trigger, variable, or folder + * in addition to its status in the workspace. + */ + interface Schema$Entity { + /** + * Represents how the entity has been changed in the workspace. + */ + changeStatus?: string; + /** + * The Folder being represented by the entity. + */ + folder?: Schema$Folder; + /** + * The tag being represented by the entity. + */ + tag?: Schema$Tag; + /** + * The trigger being represented by the entity. + */ + trigger?: Schema$Trigger; + /** + * The variable being represented by the entity. + */ + variable?: Schema$Variable; + } + /** + * Represents a Google Tag Manager Environment. Note that a user can create, + * delete and update environments of type USER, but can only update the + * enable_debug and url fields of environments of other types. + */ + interface Schema$Environment { + /** + * GTM Account ID. + */ + accountId?: string; + /** + * The environment authorization code. + */ + authorizationCode?: string; + /** + * The last update time-stamp for the authorization code. + */ + authorizationTimestamp?: Schema$Timestamp; + /** + * GTM Container ID. + */ + containerId?: string; + /** + * Represents a link to a container version. + */ + containerVersionId?: string; + /** + * The environment description. Can be set or changed only on USER type + * environments. + */ + description?: string; + /** + * Whether or not to enable debug by default for the environment. + */ + enableDebug?: boolean; + /** + * GTM Environment ID uniquely identifies the GTM Environment. + */ + environmentId?: string; + /** + * The fingerprint of the GTM environment as computed at storage time. This + * value is recomputed whenever the environment is modified. + */ + fingerprint?: string; + /** + * The environment display name. Can be set or changed only on USER type + * environments. + */ + name?: string; + /** + * GTM Environment's API relative path. + */ + path?: string; + /** + * Auto generated link to the tag manager UI + */ + tagManagerUrl?: string; + /** + * The type of this environment. + */ + type?: string; + /** + * Default preview page url for the environment. + */ + url?: string; + /** + * Represents a link to a quick preview of a workspace. + */ + workspaceId?: string; + } + /** + * Represents a Google Tag Manager Folder. + */ + interface Schema$Folder { + /** + * GTM Account ID. + */ + accountId?: string; + /** + * GTM Container ID. + */ + containerId?: string; + /** + * The fingerprint of the GTM Folder as computed at storage time. This value + * is recomputed whenever the folder is modified. + */ + fingerprint?: string; + /** + * The Folder ID uniquely identifies the GTM Folder. + */ + folderId?: string; + /** + * Folder display name. + */ + name?: string; + /** + * User notes on how to apply this folder in the container. + */ + notes?: string; + /** + * GTM Folder's API relative path. + */ + path?: string; + /** + * Auto generated link to the tag manager UI + */ + tagManagerUrl?: string; + /** + * GTM Workspace ID. + */ + workspaceId?: string; + } + /** + * Represents a Google Tag Manager Folder's contents. + */ + interface Schema$FolderEntities { + /** + * Continuation token for fetching the next page of results. + */ + nextPageToken?: string; + /** + * The list of tags inside the folder. + */ + tag?: Schema$Tag[]; + /** + * The list of triggers inside the folder. + */ + trigger?: Schema$Trigger[]; + /** + * The list of variables inside the folder. + */ + variable?: Schema$Variable[]; + } + /** + * The changes that have occurred in the workspace since the base container + * version. + */ + interface Schema$GetWorkspaceStatusResponse { + /** + * The merge conflict after sync. + */ + mergeConflict?: Schema$MergeConflict[]; + /** + * Entities that have been changed in the workspace. + */ + workspaceChange?: Schema$Entity[]; + } + /** + * List Accounts Response. + */ + interface Schema$ListAccountsResponse { + /** + * List of GTM Accounts that a user has access to. + */ + account?: Schema$Account[]; + /** + * Continuation token for fetching the next page of results. + */ + nextPageToken?: string; + } + /** + * List Containers Response. + */ + interface Schema$ListContainersResponse { + /** + * All Containers of a GTM Account. + */ + container?: Schema$Container[]; + /** + * Continuation token for fetching the next page of results. + */ + nextPageToken?: string; + } + /** + * List container versions response. + */ + interface Schema$ListContainerVersionsResponse { + /** + * All container version headers of a GTM Container. + */ + containerVersionHeader?: Schema$ContainerVersionHeader[]; + /** + * Continuation token for fetching the next page of results. + */ + nextPageToken?: string; + } + /** + * A list of enabled built-in variables. + */ + interface Schema$ListEnabledBuiltInVariablesResponse { + /** + * All GTM BuiltInVariables of a GTM container. + */ + builtInVariable?: Schema$BuiltInVariable[]; + /** + * Continuation token for fetching the next page of results. + */ + nextPageToken?: string; + } + /** + * List Environments Response. + */ + interface Schema$ListEnvironmentsResponse { + /** + * All Environments of a GTM Container. + */ + environment?: Schema$Environment[]; + /** + * Continuation token for fetching the next page of results. + */ + nextPageToken?: string; + } + /** + * List Folders Response. + */ + interface Schema$ListFoldersResponse { + /** + * All GTM Folders of a GTM Container. + */ + folder?: Schema$Folder[]; + /** + * Continuation token for fetching the next page of results. + */ + nextPageToken?: string; + } + /** + * List Tags Response. + */ + interface Schema$ListTagsResponse { + /** + * Continuation token for fetching the next page of results. + */ + nextPageToken?: string; + /** + * All GTM Tags of a GTM Container. + */ + tag?: Schema$Tag[]; + } + /** + * List triggers response. + */ + interface Schema$ListTriggersResponse { + /** + * Continuation token for fetching the next page of results. + */ + nextPageToken?: string; + /** + * All GTM Triggers of a GTM Container. + */ + trigger?: Schema$Trigger[]; + } + /** + * List user permissions response. + */ + interface Schema$ListUserPermissionsResponse { + /** + * Continuation token for fetching the next page of results. + */ + nextPageToken?: string; + /** + * All GTM UserPermissions of a GTM Account. + */ + userPermission?: Schema$UserPermission[]; + } + /** + * List Variables Response. + */ + interface Schema$ListVariablesResponse { + /** + * Continuation token for fetching the next page of results. + */ + nextPageToken?: string; + /** + * All GTM Variables of a GTM Container. + */ + variable?: Schema$Variable[]; + } + /** + * A list of workspaces in a container. + */ + interface Schema$ListWorkspacesResponse { + /** + * Continuation token for fetching the next page of results. + */ + nextPageToken?: string; + /** + * All Workspaces of a GTM Container. + */ + workspace?: Schema$Workspace[]; + } + /** + * Represents a merge conflict. + */ + interface Schema$MergeConflict { + /** + * The base version entity (since the latest sync operation) that has + * conflicting changes compared to the workspace. If this field is missing, + * it means the workspace entity is deleted from the base version. + */ + entityInBaseVersion?: Schema$Entity; + /** + * The workspace entity that has conflicting changes compared to the base + * version. If an entity is deleted in a workspace, it will still appear + * with a deleted change status. + */ + entityInWorkspace?: Schema$Entity; + } + /** + * Represents a Google Tag Manager Parameter. + */ + interface Schema$Parameter { + /** + * The named key that uniquely identifies a parameter. Required for + * top-level parameters, as well as map values. Ignored for list values. + */ + key?: string; + /** + * This list parameter's parameters (keys will be ignored). + */ + list?: Schema$Parameter[]; + /** + * This map parameter's parameters (must have keys; keys must be + * unique). + */ + map?: Schema$Parameter[]; + /** + * The parameter type. Valid values are: - boolean: The value represents a + * boolean, represented as 'true' or 'false' - integer: The + * value represents a 64-bit signed integer value, in base 10 - list: A + * list of parameters should be specified - map: A map of parameters should + * be specified - template: The value represents any text; this can include + * variable references (even variable references that might return + * non-string types) + */ + type?: string; + /** + * A parameter's value (may contain variable references such as + * "{{myVariable}}") as appropriate to the specified type. + */ + value?: string; + } + /** + * Publish container version response. + */ + interface Schema$PublishContainerVersionResponse { + /** + * Compiler errors or not. + */ + compilerError?: boolean; + /** + * The container version created. + */ + containerVersion?: Schema$ContainerVersion; + } + /** + * Response to quick previewing a workspace. + */ + interface Schema$QuickPreviewResponse { + /** + * Were there compiler errors or not. + */ + compilerError?: boolean; + /** + * The quick previewed container version. + */ + containerVersion?: Schema$ContainerVersion; + /** + * Whether quick previewing failed when syncing the workspace to the latest + * container version. + */ + syncStatus?: Schema$SyncStatus; + } + /** + * The result of reverting a built-in variable in a workspace. + */ + interface Schema$RevertBuiltInVariableResponse { + /** + * Whether the built-in variable is enabled after reversion. + */ + enabled?: boolean; + } + /** + * The result of reverting folder changes in a workspace. + */ + interface Schema$RevertFolderResponse { + /** + * Folder as it appears in the latest container version since the last + * workspace synchronization operation. If no folder is present, that means + * the folder was deleted in the latest container version. + */ + folder?: Schema$Folder; + } + /** + * The result of reverting a tag in a workspace. + */ + interface Schema$RevertTagResponse { + /** + * Tag as it appears in the latest container version since the last + * workspace synchronization operation. If no tag is present, that means the + * tag was deleted in the latest container version. + */ + tag?: Schema$Tag; + } + /** + * The result of reverting a trigger in a workspace. + */ + interface Schema$RevertTriggerResponse { + /** + * Trigger as it appears in the latest container version since the last + * workspace synchronization operation. If no trigger is present, that means + * the trigger was deleted in the latest container version. + */ + trigger?: Schema$Trigger; + } + /** + * The result of reverting a variable in a workspace. + */ + interface Schema$RevertVariableResponse { + /** + * Variable as it appears in the latest container version since the last + * workspace synchronization operation. If no variable is present, that + * means the variable was deleted in the latest container version. + */ + variable?: Schema$Variable; + } + /** + * Represents a reference to atag that fires before another tag in order to + * set up dependencies. + */ + interface Schema$SetupTag { + /** + * If true, fire the main tag if and only if the setup tag fires + * successfully. If false, fire the main tag regardless of setup tag firing + * status. + */ + stopOnSetupFailure?: boolean; + /** + * The name of the setup tag. + */ + tagName?: string; + } + /** + * The status of a workspace after synchronization. + */ + interface Schema$SyncStatus { + /** + * Synchornization operation detected a merge conflict. + */ + mergeConflict?: boolean; + /** + * An error occurred during the synchronization operation. + */ + syncError?: boolean; + } + /** + * A response after synchronizing the workspace to the latest container + * version. + */ + interface Schema$SyncWorkspaceResponse { + /** + * The merge conflict after sync. If this field is not empty, the sync is + * still treated as successful. But a version cannot be created until all + * conflicts are resolved. + */ + mergeConflict?: Schema$MergeConflict[]; + /** + * Indicates whether synchronization caused a merge conflict or sync error. + */ + syncStatus?: Schema$SyncStatus; + } + /** + * Represents a Google Tag Manager Tag. + */ + interface Schema$Tag { + /** + * GTM Account ID. + */ + accountId?: string; + /** + * Blocking rule IDs. If any of the listed rules evaluate to true, the tag + * will not fire. + */ + blockingRuleId?: string[]; + /** + * Blocking trigger IDs. If any of the listed triggers evaluate to true, the + * tag will not fire. + */ + blockingTriggerId?: string[]; + /** + * GTM Container ID. + */ + containerId?: string; + /** + * The fingerprint of the GTM Tag as computed at storage time. This value is + * recomputed whenever the tag is modified. + */ + fingerprint?: string; + /** + * Firing rule IDs. A tag will fire when any of the listed rules are true + * and all of its blockingRuleIds (if any specified) are false. + */ + firingRuleId?: string[]; + /** + * Firing trigger IDs. A tag will fire when any of the listed triggers are + * true and all of its blockingTriggerIds (if any specified) are false. + */ + firingTriggerId?: string[]; + /** + * If set to true, this tag will only fire in the live environment (e.g. not + * in preview or debug mode). + */ + liveOnly?: boolean; + /** + * Tag display name. + */ + name?: string; + /** + * User notes on how to apply this tag in the container. + */ + notes?: string; + /** + * The tag's parameters. + */ + parameter?: Schema$Parameter[]; + /** + * Parent folder id. + */ + parentFolderId?: string; + /** + * GTM Tag's API relative path. + */ + path?: string; + /** + * Indicates whether the tag is paused, which prevents the tag from firing. + */ + paused?: boolean; + /** + * User defined numeric priority of the tag. Tags are fired asynchronously + * in order of priority. Tags with higher numeric value fire first. A + * tag's priority can be a positive or negative value. The default value + * is 0. + */ + priority?: Schema$Parameter; + /** + * The end timestamp in milliseconds to schedule a tag. + */ + scheduleEndMs?: string; + /** + * The start timestamp in milliseconds to schedule a tag. + */ + scheduleStartMs?: string; + /** + * The list of setup tags. Currently we only allow one. + */ + setupTag?: Schema$SetupTag[]; + /** + * Option to fire this tag. + */ + tagFiringOption?: string; + /** + * The Tag ID uniquely identifies the GTM Tag. + */ + tagId?: string; + /** + * Auto generated link to the tag manager UI + */ + tagManagerUrl?: string; + /** + * The list of teardown tags. Currently we only allow one. + */ + teardownTag?: Schema$TeardownTag[]; + /** + * GTM Tag Type. + */ + type?: string; + /** + * GTM Workspace ID. + */ + workspaceId?: string; + } + /** + * Represents a tag that fires after another tag in order to tear down + * dependencies. + */ + interface Schema$TeardownTag { + /** + * If true, fire the teardown tag if and only if the main tag fires + * successfully. If false, fire the teardown tag regardless of main tag + * firing status. + */ + stopTeardownOnFailure?: boolean; + /** + * The name of the teardown tag. + */ + tagName?: string; + } + /** + * A Timestamp represents a point in time independent of any time zone or + * calendar, represented as seconds and fractions of seconds at nanosecond + * resolution in UTC Epoch time. It is encoded using the Proleptic Gregorian + * Calendar which extends the Gregorian calendar backwards to year one. It is + * encoded assuming all minutes are 60 seconds long, i.e. leap seconds are + * "smeared" so that no leap second table is needed for + * interpretation. Range is from 0001-01-01T00:00:00Z to + * 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure + * that we can convert to and from RFC 3339 date strings. See + * [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). + * # Examples Example 1: Compute Timestamp from POSIX `time()`. Timestamp + * timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0); + * Example 2: Compute Timestamp from POSIX `gettimeofday()`. struct timeval + * tv; gettimeofday(&tv, NULL); Timestamp timestamp; + * timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.tv_usec * 1000); + * Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`. + * FILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks = + * (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; // A Windows + * tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is + * 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp + * timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - + * 11644473600LL)); timestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); + * Example 4: Compute Timestamp from Java `System.currentTimeMillis()`. long + * millis = System.currentTimeMillis(); Timestamp timestamp = + * Timestamp.newBuilder().setSeconds(millis / 1000) .setNanos((int) ((millis % + * 1000) * 1000000)).build(); Example 5: Compute Timestamp from current + * time in Python. timestamp = Timestamp() timestamp.GetCurrentTime() # JSON + * Mapping In JSON format, the Timestamp type is encoded as a string in the + * [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the + * format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" + * where {year} is always expressed using four digits while {month}, {day}, + * {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional + * seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), + * are optional. The "Z" suffix indicates the timezone + * ("UTC"); the timezone is required, though only UTC (as indicated + * by "Z") is presently supported. For example, + * "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past 01:30 UTC on + * January 15, 2017. In JavaScript, one can convert a Date object to this + * format using the standard + * [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString] + * method. In Python, a standard `datetime.datetime` object can be converted + * to this format using + * [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) + * with the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in + * Java, one can use the Joda Time's [`ISODateTimeFormat.dateTime()`]( + * http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()) + * to obtain a formatter capable of generating timestamps in this format. + */ + interface Schema$Timestamp { + /** + * Non-negative fractions of a second at nanosecond resolution. Negative + * second values with fractions must still have non-negative nanos values + * that count forward in time. Must be from 0 to 999,999,999 inclusive. + */ + nanos?: number; + /** + * Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. + * Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive. + */ + seconds?: string; + } + /** + * Represents a Google Tag Manager Trigger + */ + interface Schema$Trigger { + /** + * GTM Account ID. + */ + accountId?: string; + /** + * Used in the case of auto event tracking. + */ + autoEventFilter?: Schema$Condition[]; + /** + * Whether or not we should only fire tags if the form submit or link click + * event is not cancelled by some other event handler (e.g. because of + * validation). Only valid for Form Submission and Link Click triggers. + */ + checkValidation?: Schema$Parameter; + /** + * GTM Container ID. + */ + containerId?: string; + /** + * A visibility trigger minimum continuous visible time (in milliseconds). + * Only valid for AMP Visibility trigger. + */ + continuousTimeMinMilliseconds?: Schema$Parameter; + /** + * Used in the case of custom event, which is fired iff all Conditions are + * true. + */ + customEventFilter?: Schema$Condition[]; + /** + * Name of the GTM event that is fired. Only valid for Timer triggers. + */ + eventName?: Schema$Parameter; + /** + * The trigger will only fire iff all Conditions are true. + */ + filter?: Schema$Condition[]; + /** + * The fingerprint of the GTM Trigger as computed at storage time. This + * value is recomputed whenever the trigger is modified. + */ + fingerprint?: string; + /** + * List of integer percentage values for scroll triggers. The trigger will + * fire when each percentage is reached when the view is scrolled + * horizontally. Only valid for AMP scroll triggers. + */ + horizontalScrollPercentageList?: Schema$Parameter; + /** + * Time between triggering recurring Timer Events (in milliseconds). Only + * valid for Timer triggers. + */ + interval?: Schema$Parameter; + /** + * Time between Timer Events to fire (in seconds). Only valid for AMP Timer + * trigger. + */ + intervalSeconds?: Schema$Parameter; + /** + * Limit of the number of GTM events this Timer Trigger will fire. If no + * limit is set, we will continue to fire GTM events until the user leaves + * the page. Only valid for Timer triggers. + */ + limit?: Schema$Parameter; + /** + * Max time to fire Timer Events (in seconds). Only valid for AMP Timer + * trigger. + */ + maxTimerLengthSeconds?: Schema$Parameter; + /** + * Trigger display name. + */ + name?: string; + /** + * User notes on how to apply this trigger in the container. + */ + notes?: string; + /** + * Additional parameters. + */ + parameter?: Schema$Parameter[]; + /** + * Parent folder id. + */ + parentFolderId?: string; + /** + * GTM Trigger's API relative path. + */ + path?: string; + /** + * A click trigger CSS selector (i.e. "a", "button" + * etc.). Only valid for AMP Click trigger. + */ + selector?: Schema$Parameter; + /** + * Auto generated link to the tag manager UI + */ + tagManagerUrl?: string; + /** + * A visibility trigger minimum total visible time (in milliseconds). Only + * valid for AMP Visibility trigger. + */ + totalTimeMinMilliseconds?: Schema$Parameter; + /** + * The Trigger ID uniquely identifies the GTM Trigger. + */ + triggerId?: string; + /** + * Defines the data layer event that causes this trigger. + */ + type?: string; + /** + * Globally unique id of the trigger that auto-generates this (a Form + * Submit, Link Click or Timer listener) if any. Used to make incompatible + * auto-events work together with trigger filtering based on trigger ids. + * This value is populated during output generation since the tags implied + * by triggers don't exist until then. Only valid for Form Submit, Link + * Click and Timer triggers. + */ + uniqueTriggerId?: Schema$Parameter; + /** + * List of integer percentage values for scroll triggers. The trigger will + * fire when each percentage is reached when the view is scrolled + * vertically. Only valid for AMP scroll triggers. + */ + verticalScrollPercentageList?: Schema$Parameter; + /** + * A visibility trigger CSS selector (i.e. "#id"). Only valid for + * AMP Visibility trigger. + */ + visibilitySelector?: Schema$Parameter; + /** + * A visibility trigger maximum percent visibility. Only valid for AMP + * Visibility trigger. + */ + visiblePercentageMax?: Schema$Parameter; + /** + * A visibility trigger minimum percent visibility. Only valid for AMP + * Visibility trigger. + */ + visiblePercentageMin?: Schema$Parameter; + /** + * Whether or not we should delay the form submissions or link opening until + * all of the tags have fired (by preventing the default action and later + * simulating the default action). Only valid for Form Submission and Link + * Click triggers. + */ + waitForTags?: Schema$Parameter; + /** + * How long to wait (in milliseconds) for tags to fire when + * 'waits_for_tags' above evaluates to true. Only valid for Form + * Submission and Link Click triggers. + */ + waitForTagsTimeout?: Schema$Parameter; + /** + * GTM Workspace ID. + */ + workspaceId?: string; + } + /** + * Updates a workspace proposal with patch-like semantics. + */ + interface Schema$UpdateWorkspaceProposalRequest { + /** + * When provided, this fingerprint must match the fingerprint of the + * proposal in storage. + */ + fingerprint?: string; + /** + * If present, a new comment is added to the workspace proposal history. + */ + newComment?: Schema$WorkspaceProposalHistoryComment; + /** + * If present, the list of reviewers of the workspace proposal is updated. + */ + reviewers?: Schema$WorkspaceProposalUser[]; + /** + * If present, the status of the workspace proposal is updated. + */ + status?: string; + } + /** + * Represents a user's permissions to an account and its container. + */ + interface Schema$UserPermission { + /** + * GTM Account access permissions. + */ + accountAccess?: Schema$AccountAccess; + /** + * The Account ID uniquely identifies the GTM Account. + */ + accountId?: string; + /** + * GTM Container access permissions. + */ + containerAccess?: Schema$ContainerAccess[]; + /** + * User's email address. + */ + emailAddress?: string; + /** + * GTM UserPermission's API relative path. + */ + path?: string; + } + /** + * Represents a Google Tag Manager Variable. + */ + interface Schema$Variable { + /** + * GTM Account ID. + */ + accountId?: string; + /** + * GTM Container ID. + */ + containerId?: string; + /** + * For mobile containers only: A list of trigger IDs for disabling + * conditional variables; the variable is enabled if one of the enabling + * trigger is true while all the disabling trigger are false. Treated as an + * unordered set. + */ + disablingTriggerId?: string[]; + /** + * For mobile containers only: A list of trigger IDs for enabling + * conditional variables; the variable is enabled if one of the enabling + * triggers is true while all the disabling triggers are false. Treated as + * an unordered set. + */ + enablingTriggerId?: string[]; + /** + * The fingerprint of the GTM Variable as computed at storage time. This + * value is recomputed whenever the variable is modified. + */ + fingerprint?: string; + /** + * Variable display name. + */ + name?: string; + /** + * User notes on how to apply this variable in the container. + */ + notes?: string; + /** + * The variable's parameters. + */ + parameter?: Schema$Parameter[]; + /** + * Parent folder id. + */ + parentFolderId?: string; + /** + * GTM Variable's API relative path. + */ + path?: string; + /** + * The end timestamp in milliseconds to schedule a variable. + */ + scheduleEndMs?: string; + /** + * The start timestamp in milliseconds to schedule a variable. + */ + scheduleStartMs?: string; + /** + * Auto generated link to the tag manager UI + */ + tagManagerUrl?: string; + /** + * GTM Variable Type. + */ + type?: string; + /** + * The Variable ID uniquely identifies the GTM Variable. + */ + variableId?: string; + /** + * GTM Workspace ID. + */ + workspaceId?: string; + } + /** + * Represents a Google Tag Manager Container Workspace. + */ + interface Schema$Workspace { + /** + * GTM Account ID. + */ + accountId?: string; + /** + * GTM Container ID. + */ + containerId?: string; + /** + * Workspace description. + */ + description?: string; + /** + * The fingerprint of the GTM Workspace as computed at storage time. This + * value is recomputed whenever the workspace is modified. + */ + fingerprint?: string; + /** + * Workspace display name. + */ + name?: string; + /** + * GTM Workspace's API relative path. + */ + path?: string; + /** + * Auto generated link to the tag manager UI + */ + tagManagerUrl?: string; + /** + * The Workspace ID uniquely identifies the GTM Workspace. + */ + workspaceId?: string; + } + /** + * A workspace proposal represents an ongoing review of workspace changes in + * an effort to gain approval for container version creation. + */ + interface Schema$WorkspaceProposal { + /** + * List of authors for the workspace proposal. + */ + authors?: Schema$WorkspaceProposalUser[]; + /** + * The fingerprint of the GTM workspace proposal as computed at storage + * time. This value is recomputed whenever the proposal is modified. + */ + fingerprint?: string; + /** + * Records the history of comments and status changes. + */ + history?: Schema$WorkspaceProposalHistory[]; + /** + * GTM workspace proposal's relative path. + */ + path?: string; + /** + * Lists of reviewers for the workspace proposal. + */ + reviewers?: Schema$WorkspaceProposalUser[]; + /** + * The status of the workspace proposal as it goes through review. + */ + status?: string; + } + /** + * A history event that represents a comment or status change in the proposal. + */ + interface Schema$WorkspaceProposalHistory { + /** + * A user or reviewer comment. + */ + comment?: Schema$WorkspaceProposalHistoryComment; + /** + * The party responsible for the change in history. + */ + createdBy?: Schema$WorkspaceProposalUser; + /** + * When this history event was added to the workspace proposal. + */ + createdTimestamp?: Schema$Timestamp; + /** + * A change in the proposal's status. + */ + statusChange?: Schema$WorkspaceProposalHistoryStatusChange; + /** + * The history type distinguishing between comments and status changes. + */ + type?: string; + } + /** + * A comment from the reviewer or author. + */ + interface Schema$WorkspaceProposalHistoryComment { + /** + * The contents of the reviewer or author comment. + */ + content?: string; + } + /** + * A change in the proposal's status. + */ + interface Schema$WorkspaceProposalHistoryStatusChange { + /** + * The new proposal status after that status change. + */ + newStatus?: string; + /** + * The old proposal status before the status change. + */ + oldStatus?: string; + } + /** + * Represents an external user or internal Google Tag Manager system. + */ + interface Schema$WorkspaceProposalUser { + /** + * Gaia id associated with a user, absent for the Google Tag Manager system. + */ + gaiaId?: string; + /** + * User type distinguishes between a user and the Google Tag Manager system. + */ + type?: string; + } + /** + * Represents a Google Tag Manager Zone's contents. + */ + interface Schema$Zone { + /** + * GTM Account ID. + */ + accountId?: string; + /** + * This Zone's boundary. + */ + boundary?: Schema$ZoneBoundary; + /** + * Containers that are children of this Zone. + */ + childContainer?: Schema$ZoneChildContainer[]; + /** + * GTM Container ID. + */ + containerId?: string; + /** + * The fingerprint of the GTM Zone as computed at storage time. This value + * is recomputed whenever the zone is modified. + */ + fingerprint?: string; + /** + * Zone display name. + */ + name?: string; + /** + * User notes on how to apply this zone in the container. + */ + notes?: string; + /** + * GTM Zone's API relative path. + */ + path?: string; + /** + * Auto generated link to the tag manager UI + */ + tagManagerUrl?: string; + /** + * This Zone's type restrictions. + */ + typeRestriction?: Schema$ZoneTypeRestriction; + /** + * GTM Workspace ID. + */ + workspaceId?: string; + /** + * The Zone ID uniquely identifies the GTM Zone. + */ + zoneId?: string; + } + /** + * Represents a Zone's boundaries. + */ + interface Schema$ZoneBoundary { + /** + * The conditions that, when conjoined, make up the boundary. + */ + condition?: Schema$Condition[]; + /** + * Custom evaluation trigger IDs. A zone will evaluate its boundary + * conditions when any of the listed triggers are true. + */ + customEvaluationTriggerId?: string[]; + } + /** + * Represents a child container of a Zone. + */ + interface Schema$ZoneChildContainer { + /** + * The zone's nickname for the child container. + */ + nickname?: string; + /** + * The child container's public id. + */ + publicId?: string; + } + /** + * Represents a Zone's type restrictions. + */ + interface Schema$ZoneTypeRestriction { + /** + * True if type restrictions have been enabled for this Zone. + */ + enable?: boolean; + /** + * List of type public ids that have been whitelisted for use in this Zone. + */ + whitelistedTypeId?: string[]; + } + class Resource$Accounts { + root: Tagmanager; + containers: Resource$Accounts$Containers; + user_permissions: Resource$Accounts$User_permissions; + constructor(root: Tagmanager); + getRoot(): Tagmanager; + /** + * tagmanager.accounts.get + * @desc Gets a GTM Account. + * @alias tagmanager.accounts.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.path GTM Accounts's API relative path. Example: accounts/{account_id} + * @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?: Params$Resource$Accounts$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accounts$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accounts$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.list + * @desc Lists all GTM Accounts that a user has access to. + * @alias tagmanager.accounts.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {string=} params.pageToken Continuation token for fetching the next page of results. + * @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?: Params$Resource$Accounts$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accounts$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accounts$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.update + * @desc Updates a GTM Account. + * @alias tagmanager.accounts.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.fingerprint When provided, this fingerprint must match the fingerprint of the account in storage. + * @param {string} params.path GTM Accounts's API relative path. Example: accounts/{account_id} + * @param {().Account} 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?: Params$Resource$Accounts$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Accounts$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Accounts$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * GTM Accounts's API relative path. Example: accounts/{account_id} + */ + path?: string; + } + interface Params$Resource$Accounts$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Continuation token for fetching the next page of results. + */ + pageToken?: string; + } + interface Params$Resource$Accounts$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * When provided, this fingerprint must match the fingerprint of the account + * in storage. + */ + fingerprint?: string; + /** + * GTM Accounts's API relative path. Example: accounts/{account_id} + */ + path?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Account; + } + class Resource$Accounts$Containers { + root: Tagmanager; + environments: Resource$Accounts$Containers$Environments; + versions: Resource$Accounts$Containers$Versions; + version_headers: Resource$Accounts$Containers$Version_headers; + workspaces: Resource$Accounts$Containers$Workspaces; + constructor(root: Tagmanager); + getRoot(): Tagmanager; + /** + * tagmanager.accounts.containers.create + * @desc Creates a Container. + * @alias tagmanager.accounts.containers.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent GTM Account's API relative path. Example: accounts/{account_id}. + * @param {().Container} 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 + */ + create(params?: Params$Resource$Accounts$Containers$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Accounts$Containers$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Accounts$Containers$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.delete + * @desc Deletes a Container. + * @alias tagmanager.accounts.containers.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.path GTM Container's API relative path. Example: accounts/{account_id}/containers/{container_id} + * @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?: Params$Resource$Accounts$Containers$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Accounts$Containers$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Accounts$Containers$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.get + * @desc Gets a Container. + * @alias tagmanager.accounts.containers.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.path GTM Container's API relative path. Example: accounts/{account_id}/containers/{container_id} + * @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?: Params$Resource$Accounts$Containers$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accounts$Containers$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accounts$Containers$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.list + * @desc Lists all Containers that belongs to a GTM Account. + * @alias tagmanager.accounts.containers.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.pageToken Continuation token for fetching the next page of results. + * @param {string} params.parent GTM Accounts's API relative path. Example: accounts/{account_id}. + * @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?: Params$Resource$Accounts$Containers$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accounts$Containers$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accounts$Containers$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.update + * @desc Updates a Container. + * @alias tagmanager.accounts.containers.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.fingerprint When provided, this fingerprint must match the fingerprint of the container in storage. + * @param {string} params.path GTM Container's API relative path. Example: accounts/{account_id}/containers/{container_id} + * @param {().Container} 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?: Params$Resource$Accounts$Containers$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Accounts$Containers$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Accounts$Containers$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Containers$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * GTM Account's API relative path. Example: accounts/{account_id}. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Container; + } + interface Params$Resource$Accounts$Containers$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * GTM Container's API relative path. Example: + * accounts/{account_id}/containers/{container_id} + */ + path?: string; + } + interface Params$Resource$Accounts$Containers$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * GTM Container's API relative path. Example: + * accounts/{account_id}/containers/{container_id} + */ + path?: string; + } + interface Params$Resource$Accounts$Containers$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Continuation token for fetching the next page of results. + */ + pageToken?: string; + /** + * GTM Accounts's API relative path. Example: accounts/{account_id}. + */ + parent?: string; + } + interface Params$Resource$Accounts$Containers$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * When provided, this fingerprint must match the fingerprint of the + * container in storage. + */ + fingerprint?: string; + /** + * GTM Container's API relative path. Example: + * accounts/{account_id}/containers/{container_id} + */ + path?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Container; + } + class Resource$Accounts$Containers$Environments { + root: Tagmanager; + constructor(root: Tagmanager); + getRoot(): Tagmanager; + /** + * tagmanager.accounts.containers.environments.create + * @desc Creates a GTM Environment. + * @alias tagmanager.accounts.containers.environments.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent GTM Container's API relative path. Example: accounts/{account_id}/containers/{container_id} + * @param {().Environment} 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 + */ + create(params?: Params$Resource$Accounts$Containers$Environments$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Accounts$Containers$Environments$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Accounts$Containers$Environments$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.environments.delete + * @desc Deletes a GTM Environment. + * @alias tagmanager.accounts.containers.environments.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.path GTM Environment's API relative path. Example: accounts/{account_id}/containers/{container_id}/environments/{environment_id} + * @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?: Params$Resource$Accounts$Containers$Environments$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Accounts$Containers$Environments$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Accounts$Containers$Environments$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.environments.get + * @desc Gets a GTM Environment. + * @alias tagmanager.accounts.containers.environments.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.path GTM Environment's API relative path. Example: accounts/{account_id}/containers/{container_id}/environments/{environment_id} + * @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?: Params$Resource$Accounts$Containers$Environments$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accounts$Containers$Environments$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accounts$Containers$Environments$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.environments.list + * @desc Lists all GTM Environments of a GTM Container. + * @alias tagmanager.accounts.containers.environments.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.pageToken Continuation token for fetching the next page of results. + * @param {string} params.parent GTM Container's API relative path. Example: accounts/{account_id}/containers/{container_id} + * @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?: Params$Resource$Accounts$Containers$Environments$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accounts$Containers$Environments$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accounts$Containers$Environments$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.environments.patch + * @desc Updates a GTM Environment. This method supports patch semantics. + * @alias tagmanager.accounts.containers.environments.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.fingerprint When provided, this fingerprint must match the fingerprint of the environment in storage. + * @param {string} params.path GTM Environment's API relative path. Example: accounts/{account_id}/containers/{container_id}/environments/{environment_id} + * @param {().Environment} 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 + */ + patch(params?: Params$Resource$Accounts$Containers$Environments$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Accounts$Containers$Environments$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Accounts$Containers$Environments$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.environments.reauthorize + * @desc Re-generates the authorization code for a GTM Environment. + * @alias tagmanager.accounts.containers.environments.reauthorize + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.path GTM Environment's API relative path. Example: accounts/{account_id}/containers/{container_id}/environments/{environment_id} + * @param {().Environment} 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 + */ + reauthorize(params?: Params$Resource$Accounts$Containers$Environments$Reauthorize, options?: MethodOptions): AxiosPromise; + reauthorize(params: Params$Resource$Accounts$Containers$Environments$Reauthorize, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + reauthorize(params: Params$Resource$Accounts$Containers$Environments$Reauthorize, callback: BodyResponseCallback): void; + reauthorize(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.environments.update + * @desc Updates a GTM Environment. + * @alias tagmanager.accounts.containers.environments.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.fingerprint When provided, this fingerprint must match the fingerprint of the environment in storage. + * @param {string} params.path GTM Environment's API relative path. Example: accounts/{account_id}/containers/{container_id}/environments/{environment_id} + * @param {().Environment} 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?: Params$Resource$Accounts$Containers$Environments$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Accounts$Containers$Environments$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Accounts$Containers$Environments$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Containers$Environments$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * GTM Container's API relative path. Example: + * accounts/{account_id}/containers/{container_id} + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Environment; + } + interface Params$Resource$Accounts$Containers$Environments$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * GTM Environment's API relative path. Example: + * accounts/{account_id}/containers/{container_id}/environments/{environment_id} + */ + path?: string; + } + interface Params$Resource$Accounts$Containers$Environments$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * GTM Environment's API relative path. Example: + * accounts/{account_id}/containers/{container_id}/environments/{environment_id} + */ + path?: string; + } + interface Params$Resource$Accounts$Containers$Environments$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Continuation token for fetching the next page of results. + */ + pageToken?: string; + /** + * GTM Container's API relative path. Example: + * accounts/{account_id}/containers/{container_id} + */ + parent?: string; + } + interface Params$Resource$Accounts$Containers$Environments$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * When provided, this fingerprint must match the fingerprint of the + * environment in storage. + */ + fingerprint?: string; + /** + * GTM Environment's API relative path. Example: + * accounts/{account_id}/containers/{container_id}/environments/{environment_id} + */ + path?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Environment; + } + interface Params$Resource$Accounts$Containers$Environments$Reauthorize { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * GTM Environment's API relative path. Example: + * accounts/{account_id}/containers/{container_id}/environments/{environment_id} + */ + path?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Environment; + } + interface Params$Resource$Accounts$Containers$Environments$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * When provided, this fingerprint must match the fingerprint of the + * environment in storage. + */ + fingerprint?: string; + /** + * GTM Environment's API relative path. Example: + * accounts/{account_id}/containers/{container_id}/environments/{environment_id} + */ + path?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Environment; + } + class Resource$Accounts$Containers$Versions { + root: Tagmanager; + constructor(root: Tagmanager); + getRoot(): Tagmanager; + /** + * tagmanager.accounts.containers.versions.delete + * @desc Deletes a Container Version. + * @alias tagmanager.accounts.containers.versions.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.path GTM ContainerVersion's API relative path. Example: accounts/{account_id}/containers/{container_id}/versions/{version_id} + * @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?: Params$Resource$Accounts$Containers$Versions$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Accounts$Containers$Versions$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Accounts$Containers$Versions$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.versions.get + * @desc Gets a Container Version. + * @alias tagmanager.accounts.containers.versions.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.containerVersionId The GTM ContainerVersion ID. Specify published to retrieve the currently published version. + * @param {string} params.path GTM ContainerVersion's API relative path. Example: accounts/{account_id}/containers/{container_id}/versions/{version_id} + * @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?: Params$Resource$Accounts$Containers$Versions$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accounts$Containers$Versions$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accounts$Containers$Versions$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.versions.live + * @desc Gets the live (i.e. published) container version + * @alias tagmanager.accounts.containers.versions.live + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent GTM Container's API relative path. Example: accounts/{account_id}/containers/{container_id} + * @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 + */ + live(params?: Params$Resource$Accounts$Containers$Versions$Live, options?: MethodOptions): AxiosPromise; + live(params: Params$Resource$Accounts$Containers$Versions$Live, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + live(params: Params$Resource$Accounts$Containers$Versions$Live, callback: BodyResponseCallback): void; + live(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.versions.publish + * @desc Publishes a Container Version. + * @alias tagmanager.accounts.containers.versions.publish + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.fingerprint When provided, this fingerprint must match the fingerprint of the container version in storage. + * @param {string} params.path GTM ContainerVersion's API relative path. Example: accounts/{account_id}/containers/{container_id}/versions/{version_id} + * @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 + */ + publish(params?: Params$Resource$Accounts$Containers$Versions$Publish, options?: MethodOptions): AxiosPromise; + publish(params: Params$Resource$Accounts$Containers$Versions$Publish, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + publish(params: Params$Resource$Accounts$Containers$Versions$Publish, callback: BodyResponseCallback): void; + publish(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.versions.set_latest + * @desc Sets the latest version used for synchronization of workspaces when + * detecting conflicts and errors. + * @alias tagmanager.accounts.containers.versions.set_latest + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.path GTM ContainerVersion's API relative path. Example: accounts/{account_id}/containers/{container_id}/versions/{version_id} + * @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 + */ + set_latest(params?: Params$Resource$Accounts$Containers$Versions$Set_latest, options?: MethodOptions): AxiosPromise; + set_latest(params: Params$Resource$Accounts$Containers$Versions$Set_latest, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + set_latest(params: Params$Resource$Accounts$Containers$Versions$Set_latest, callback: BodyResponseCallback): void; + set_latest(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.versions.undelete + * @desc Undeletes a Container Version. + * @alias tagmanager.accounts.containers.versions.undelete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.path GTM ContainerVersion's API relative path. Example: accounts/{account_id}/containers/{container_id}/versions/{version_id} + * @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 + */ + undelete(params?: Params$Resource$Accounts$Containers$Versions$Undelete, options?: MethodOptions): AxiosPromise; + undelete(params: Params$Resource$Accounts$Containers$Versions$Undelete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + undelete(params: Params$Resource$Accounts$Containers$Versions$Undelete, callback: BodyResponseCallback): void; + undelete(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.versions.update + * @desc Updates a Container Version. + * @alias tagmanager.accounts.containers.versions.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.fingerprint When provided, this fingerprint must match the fingerprint of the container version in storage. + * @param {string} params.path GTM ContainerVersion's API relative path. Example: accounts/{account_id}/containers/{container_id}/versions/{version_id} + * @param {().ContainerVersion} 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?: Params$Resource$Accounts$Containers$Versions$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Accounts$Containers$Versions$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Accounts$Containers$Versions$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Containers$Versions$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * GTM ContainerVersion's API relative path. Example: + * accounts/{account_id}/containers/{container_id}/versions/{version_id} + */ + path?: string; + } + interface Params$Resource$Accounts$Containers$Versions$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The GTM ContainerVersion ID. Specify published to retrieve the currently + * published version. + */ + containerVersionId?: string; + /** + * GTM ContainerVersion's API relative path. Example: + * accounts/{account_id}/containers/{container_id}/versions/{version_id} + */ + path?: string; + } + interface Params$Resource$Accounts$Containers$Versions$Live { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * GTM Container's API relative path. Example: + * accounts/{account_id}/containers/{container_id} + */ + parent?: string; + } + interface Params$Resource$Accounts$Containers$Versions$Publish { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * When provided, this fingerprint must match the fingerprint of the + * container version in storage. + */ + fingerprint?: string; + /** + * GTM ContainerVersion's API relative path. Example: + * accounts/{account_id}/containers/{container_id}/versions/{version_id} + */ + path?: string; + } + interface Params$Resource$Accounts$Containers$Versions$Set_latest { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * GTM ContainerVersion's API relative path. Example: + * accounts/{account_id}/containers/{container_id}/versions/{version_id} + */ + path?: string; + } + interface Params$Resource$Accounts$Containers$Versions$Undelete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * GTM ContainerVersion's API relative path. Example: + * accounts/{account_id}/containers/{container_id}/versions/{version_id} + */ + path?: string; + } + interface Params$Resource$Accounts$Containers$Versions$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * When provided, this fingerprint must match the fingerprint of the + * container version in storage. + */ + fingerprint?: string; + /** + * GTM ContainerVersion's API relative path. Example: + * accounts/{account_id}/containers/{container_id}/versions/{version_id} + */ + path?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ContainerVersion; + } + class Resource$Accounts$Containers$Version_headers { + root: Tagmanager; + constructor(root: Tagmanager); + getRoot(): Tagmanager; + /** + * tagmanager.accounts.containers.version_headers.latest + * @desc Gets the latest container version header + * @alias tagmanager.accounts.containers.version_headers.latest + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent GTM Container's API relative path. Example: accounts/{account_id}/containers/{container_id} + * @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 + */ + latest(params?: Params$Resource$Accounts$Containers$Version_headers$Latest, options?: MethodOptions): AxiosPromise; + latest(params: Params$Resource$Accounts$Containers$Version_headers$Latest, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + latest(params: Params$Resource$Accounts$Containers$Version_headers$Latest, callback: BodyResponseCallback): void; + latest(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.version_headers.list + * @desc Lists all Container Versions of a GTM Container. + * @alias tagmanager.accounts.containers.version_headers.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.includeDeleted Also retrieve deleted (archived) versions when true. + * @param {string=} params.pageToken Continuation token for fetching the next page of results. + * @param {string} params.parent GTM Container's API relative path. Example: accounts/{account_id}/containers/{container_id} + * @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?: Params$Resource$Accounts$Containers$Version_headers$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accounts$Containers$Version_headers$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accounts$Containers$Version_headers$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Containers$Version_headers$Latest { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * GTM Container's API relative path. Example: + * accounts/{account_id}/containers/{container_id} + */ + parent?: string; + } + interface Params$Resource$Accounts$Containers$Version_headers$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Also retrieve deleted (archived) versions when true. + */ + includeDeleted?: boolean; + /** + * Continuation token for fetching the next page of results. + */ + pageToken?: string; + /** + * GTM Container's API relative path. Example: + * accounts/{account_id}/containers/{container_id} + */ + parent?: string; + } + class Resource$Accounts$Containers$Workspaces { + root: Tagmanager; + built_in_variables: Resource$Accounts$Containers$Workspaces$Built_in_variables; + folders: Resource$Accounts$Containers$Workspaces$Folders; + proposal: Resource$Accounts$Containers$Workspaces$Proposal; + tags: Resource$Accounts$Containers$Workspaces$Tags; + triggers: Resource$Accounts$Containers$Workspaces$Triggers; + variables: Resource$Accounts$Containers$Workspaces$Variables; + constructor(root: Tagmanager); + getRoot(): Tagmanager; + /** + * tagmanager.accounts.containers.workspaces.create + * @desc Creates a Workspace. + * @alias tagmanager.accounts.containers.workspaces.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent GTM parent Container's API relative path. Example: accounts/{account_id}/containers/{container_id} + * @param {().Workspace} 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 + */ + create(params?: Params$Resource$Accounts$Containers$Workspaces$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Accounts$Containers$Workspaces$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Accounts$Containers$Workspaces$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.workspaces.create_version + * @desc Creates a Container Version from the entities present in the + * workspace, deletes the workspace, and sets the base container version to + * the newly created version. + * @alias tagmanager.accounts.containers.workspaces.create_version + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.path GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id} + * @param {().CreateContainerVersionRequestVersionOptions} 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 + */ + create_version(params?: Params$Resource$Accounts$Containers$Workspaces$Create_version, options?: MethodOptions): AxiosPromise; + create_version(params: Params$Resource$Accounts$Containers$Workspaces$Create_version, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create_version(params: Params$Resource$Accounts$Containers$Workspaces$Create_version, callback: BodyResponseCallback): void; + create_version(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.workspaces.delete + * @desc Deletes a Workspace. + * @alias tagmanager.accounts.containers.workspaces.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.path GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id} + * @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?: Params$Resource$Accounts$Containers$Workspaces$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Accounts$Containers$Workspaces$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Accounts$Containers$Workspaces$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.workspaces.get + * @desc Gets a Workspace. + * @alias tagmanager.accounts.containers.workspaces.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.path GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id} + * @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?: Params$Resource$Accounts$Containers$Workspaces$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accounts$Containers$Workspaces$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accounts$Containers$Workspaces$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.workspaces.getProposal + * @desc Gets a GTM Workspace Proposal. + * @alias tagmanager.accounts.containers.workspaces.getProposal + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.path GTM workspace proposal's relative path: Example: accounts/{aid}/containers/{cid}/workspace/{wid}/workspace_proposal + * @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 + */ + getProposal(params?: Params$Resource$Accounts$Containers$Workspaces$Getproposal, options?: MethodOptions): AxiosPromise; + getProposal(params: Params$Resource$Accounts$Containers$Workspaces$Getproposal, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getProposal(params: Params$Resource$Accounts$Containers$Workspaces$Getproposal, callback: BodyResponseCallback): void; + getProposal(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.workspaces.getStatus + * @desc Finds conflicting and modified entities in the workspace. + * @alias tagmanager.accounts.containers.workspaces.getStatus + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.path GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id} + * @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 + */ + getStatus(params?: Params$Resource$Accounts$Containers$Workspaces$Getstatus, options?: MethodOptions): AxiosPromise; + getStatus(params: Params$Resource$Accounts$Containers$Workspaces$Getstatus, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getStatus(params: Params$Resource$Accounts$Containers$Workspaces$Getstatus, callback: BodyResponseCallback): void; + getStatus(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.workspaces.list + * @desc Lists all Workspaces that belong to a GTM Container. + * @alias tagmanager.accounts.containers.workspaces.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.pageToken Continuation token for fetching the next page of results. + * @param {string} params.parent GTM parent Container's API relative path. Example: accounts/{account_id}/containers/{container_id} + * @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?: Params$Resource$Accounts$Containers$Workspaces$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accounts$Containers$Workspaces$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accounts$Containers$Workspaces$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.workspaces.quick_preview + * @desc Quick previews a workspace by creating a fake container version + * from all entities in the provided workspace. + * @alias tagmanager.accounts.containers.workspaces.quick_preview + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.path GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id} + * @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 + */ + quick_preview(params?: Params$Resource$Accounts$Containers$Workspaces$Quick_preview, options?: MethodOptions): AxiosPromise; + quick_preview(params: Params$Resource$Accounts$Containers$Workspaces$Quick_preview, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + quick_preview(params: Params$Resource$Accounts$Containers$Workspaces$Quick_preview, callback: BodyResponseCallback): void; + quick_preview(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.workspaces.resolve_conflict + * @desc Resolves a merge conflict for a workspace entity by updating it to + * the resolved entity passed in the request. + * @alias tagmanager.accounts.containers.workspaces.resolve_conflict + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.fingerprint When provided, this fingerprint must match the fingerprint of the entity_in_workspace in the merge conflict. + * @param {string} params.path GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id} + * @param {().Entity} 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 + */ + resolve_conflict(params?: Params$Resource$Accounts$Containers$Workspaces$Resolve_conflict, options?: MethodOptions): AxiosPromise; + resolve_conflict(params: Params$Resource$Accounts$Containers$Workspaces$Resolve_conflict, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + resolve_conflict(params: Params$Resource$Accounts$Containers$Workspaces$Resolve_conflict, callback: BodyResponseCallback): void; + resolve_conflict(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.workspaces.sync + * @desc Syncs a workspace to the latest container version by updating all + * unmodified workspace entities and displaying conflicts for modified + * entities. + * @alias tagmanager.accounts.containers.workspaces.sync + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.path GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id} + * @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 + */ + sync(params?: Params$Resource$Accounts$Containers$Workspaces$Sync, options?: MethodOptions): AxiosPromise; + sync(params: Params$Resource$Accounts$Containers$Workspaces$Sync, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + sync(params: Params$Resource$Accounts$Containers$Workspaces$Sync, callback: BodyResponseCallback): void; + sync(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.workspaces.update + * @desc Updates a Workspace. + * @alias tagmanager.accounts.containers.workspaces.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.fingerprint When provided, this fingerprint must match the fingerprint of the workspace in storage. + * @param {string} params.path GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id} + * @param {().Workspace} 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?: Params$Resource$Accounts$Containers$Workspaces$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Accounts$Containers$Workspaces$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Accounts$Containers$Workspaces$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.workspaces.updateProposal + * @desc Updates a GTM Workspace Proposal. + * @alias tagmanager.accounts.containers.workspaces.updateProposal + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.path GTM workspace proposal's relative path: Example: accounts/{aid}/containers/{cid}/workspace/{wid}/workspace_proposal + * @param {().UpdateWorkspaceProposalRequest} 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 + */ + updateProposal(params?: Params$Resource$Accounts$Containers$Workspaces$Updateproposal, options?: MethodOptions): AxiosPromise; + updateProposal(params: Params$Resource$Accounts$Containers$Workspaces$Updateproposal, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + updateProposal(params: Params$Resource$Accounts$Containers$Workspaces$Updateproposal, callback: BodyResponseCallback): void; + updateProposal(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Containers$Workspaces$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * GTM parent Container's API relative path. Example: + * accounts/{account_id}/containers/{container_id} + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Workspace; + } + interface Params$Resource$Accounts$Containers$Workspaces$Create_version { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * GTM Workspace's API relative path. Example: + * accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id} + */ + path?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreateContainerVersionRequestVersionOptions; + } + interface Params$Resource$Accounts$Containers$Workspaces$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * GTM Workspace's API relative path. Example: + * accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id} + */ + path?: string; + } + interface Params$Resource$Accounts$Containers$Workspaces$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * GTM Workspace's API relative path. Example: + * accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id} + */ + path?: string; + } + interface Params$Resource$Accounts$Containers$Workspaces$Getproposal { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * GTM workspace proposal's relative path: Example: + * accounts/{aid}/containers/{cid}/workspace/{wid}/workspace_proposal + */ + path?: string; + } + interface Params$Resource$Accounts$Containers$Workspaces$Getstatus { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * GTM Workspace's API relative path. Example: + * accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id} + */ + path?: string; + } + interface Params$Resource$Accounts$Containers$Workspaces$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Continuation token for fetching the next page of results. + */ + pageToken?: string; + /** + * GTM parent Container's API relative path. Example: + * accounts/{account_id}/containers/{container_id} + */ + parent?: string; + } + interface Params$Resource$Accounts$Containers$Workspaces$Quick_preview { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * GTM Workspace's API relative path. Example: + * accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id} + */ + path?: string; + } + interface Params$Resource$Accounts$Containers$Workspaces$Resolve_conflict { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * When provided, this fingerprint must match the fingerprint of the + * entity_in_workspace in the merge conflict. + */ + fingerprint?: string; + /** + * GTM Workspace's API relative path. Example: + * accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id} + */ + path?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Entity; + } + interface Params$Resource$Accounts$Containers$Workspaces$Sync { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * GTM Workspace's API relative path. Example: + * accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id} + */ + path?: string; + } + interface Params$Resource$Accounts$Containers$Workspaces$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * When provided, this fingerprint must match the fingerprint of the + * workspace in storage. + */ + fingerprint?: string; + /** + * GTM Workspace's API relative path. Example: + * accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id} + */ + path?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Workspace; + } + interface Params$Resource$Accounts$Containers$Workspaces$Updateproposal { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * GTM workspace proposal's relative path: Example: + * accounts/{aid}/containers/{cid}/workspace/{wid}/workspace_proposal + */ + path?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UpdateWorkspaceProposalRequest; + } + class Resource$Accounts$Containers$Workspaces$Built_in_variables { + root: Tagmanager; + constructor(root: Tagmanager); + getRoot(): Tagmanager; + /** + * tagmanager.accounts.containers.workspaces.built_in_variables.create + * @desc Creates one or more GTM Built-In Variables. + * @alias + * tagmanager.accounts.containers.workspaces.built_in_variables.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id} + * @param {string=} params.type The types of built-in variables to enable. + * @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 + */ + create(params?: Params$Resource$Accounts$Containers$Workspaces$Built_in_variables$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Accounts$Containers$Workspaces$Built_in_variables$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Accounts$Containers$Workspaces$Built_in_variables$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.workspaces.built_in_variables.delete + * @desc Deletes one or more GTM Built-In Variables. + * @alias + * tagmanager.accounts.containers.workspaces.built_in_variables.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.path GTM BuiltInVariable's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/built_in_variables + * @param {string=} params.type The types of built-in variables to delete. + * @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?: Params$Resource$Accounts$Containers$Workspaces$Built_in_variables$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Accounts$Containers$Workspaces$Built_in_variables$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Accounts$Containers$Workspaces$Built_in_variables$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.workspaces.built_in_variables.list + * @desc Lists all the enabled Built-In Variables of a GTM Container. + * @alias tagmanager.accounts.containers.workspaces.built_in_variables.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.pageToken Continuation token for fetching the next page of results. + * @param {string} params.parent GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id} + * @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?: Params$Resource$Accounts$Containers$Workspaces$Built_in_variables$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accounts$Containers$Workspaces$Built_in_variables$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accounts$Containers$Workspaces$Built_in_variables$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.workspaces.built_in_variables.revert + * @desc Reverts changes to a GTM Built-In Variables in a GTM Workspace. + * @alias + * tagmanager.accounts.containers.workspaces.built_in_variables.revert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.path GTM BuiltInVariable's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/built_in_variables + * @param {string=} params.type The type of built-in variable to revert. + * @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 + */ + revert(params?: Params$Resource$Accounts$Containers$Workspaces$Built_in_variables$Revert, options?: MethodOptions): AxiosPromise; + revert(params: Params$Resource$Accounts$Containers$Workspaces$Built_in_variables$Revert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + revert(params: Params$Resource$Accounts$Containers$Workspaces$Built_in_variables$Revert, callback: BodyResponseCallback): void; + revert(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Containers$Workspaces$Built_in_variables$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * GTM Workspace's API relative path. Example: + * accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id} + */ + parent?: string; + /** + * The types of built-in variables to enable. + */ + type?: string; + } + interface Params$Resource$Accounts$Containers$Workspaces$Built_in_variables$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * GTM BuiltInVariable's API relative path. Example: + * accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/built_in_variables + */ + path?: string; + /** + * The types of built-in variables to delete. + */ + type?: string; + } + interface Params$Resource$Accounts$Containers$Workspaces$Built_in_variables$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Continuation token for fetching the next page of results. + */ + pageToken?: string; + /** + * GTM Workspace's API relative path. Example: + * accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id} + */ + parent?: string; + } + interface Params$Resource$Accounts$Containers$Workspaces$Built_in_variables$Revert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * GTM BuiltInVariable's API relative path. Example: + * accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/built_in_variables + */ + path?: string; + /** + * The type of built-in variable to revert. + */ + type?: string; + } + class Resource$Accounts$Containers$Workspaces$Folders { + root: Tagmanager; + constructor(root: Tagmanager); + getRoot(): Tagmanager; + /** + * tagmanager.accounts.containers.workspaces.folders.create + * @desc Creates a GTM Folder. + * @alias tagmanager.accounts.containers.workspaces.folders.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id} + * @param {().Folder} 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 + */ + create(params?: Params$Resource$Accounts$Containers$Workspaces$Folders$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Accounts$Containers$Workspaces$Folders$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Accounts$Containers$Workspaces$Folders$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.workspaces.folders.delete + * @desc Deletes a GTM Folder. + * @alias tagmanager.accounts.containers.workspaces.folders.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.path GTM Folder's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/folders/{folder_id} + * @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?: Params$Resource$Accounts$Containers$Workspaces$Folders$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Accounts$Containers$Workspaces$Folders$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Accounts$Containers$Workspaces$Folders$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.workspaces.folders.entities + * @desc List all entities in a GTM Folder. + * @alias tagmanager.accounts.containers.workspaces.folders.entities + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.pageToken Continuation token for fetching the next page of results. + * @param {string} params.path GTM Folder's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/folders/{folder_id} + * @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 + */ + entities(params?: Params$Resource$Accounts$Containers$Workspaces$Folders$Entities, options?: MethodOptions): AxiosPromise; + entities(params: Params$Resource$Accounts$Containers$Workspaces$Folders$Entities, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + entities(params: Params$Resource$Accounts$Containers$Workspaces$Folders$Entities, callback: BodyResponseCallback): void; + entities(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.workspaces.folders.get + * @desc Gets a GTM Folder. + * @alias tagmanager.accounts.containers.workspaces.folders.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.path GTM Folder's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/folders/{folder_id} + * @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?: Params$Resource$Accounts$Containers$Workspaces$Folders$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accounts$Containers$Workspaces$Folders$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accounts$Containers$Workspaces$Folders$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.workspaces.folders.list + * @desc Lists all GTM Folders of a Container. + * @alias tagmanager.accounts.containers.workspaces.folders.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.pageToken Continuation token for fetching the next page of results. + * @param {string} params.parent GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id} + * @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?: Params$Resource$Accounts$Containers$Workspaces$Folders$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accounts$Containers$Workspaces$Folders$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accounts$Containers$Workspaces$Folders$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.workspaces.folders.move_entities_to_folder + * @desc Moves entities to a GTM Folder. + * @alias + * tagmanager.accounts.containers.workspaces.folders.move_entities_to_folder + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.path GTM Folder's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/folders/{folder_id} + * @param {string=} params.tagId The tags to be moved to the folder. + * @param {string=} params.triggerId The triggers to be moved to the folder. + * @param {string=} params.variableId The variables to be moved to the folder. + * @param {().Folder} 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 + */ + move_entities_to_folder(params?: Params$Resource$Accounts$Containers$Workspaces$Folders$Move_entities_to_folder, options?: MethodOptions): AxiosPromise; + move_entities_to_folder(params: Params$Resource$Accounts$Containers$Workspaces$Folders$Move_entities_to_folder, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + move_entities_to_folder(params: Params$Resource$Accounts$Containers$Workspaces$Folders$Move_entities_to_folder, callback: BodyResponseCallback): void; + move_entities_to_folder(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.workspaces.folders.revert + * @desc Reverts changes to a GTM Folder in a GTM Workspace. + * @alias tagmanager.accounts.containers.workspaces.folders.revert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.fingerprint When provided, this fingerprint must match the fingerprint of the tag in storage. + * @param {string} params.path GTM Folder's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/folders/{folder_id} + * @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 + */ + revert(params?: Params$Resource$Accounts$Containers$Workspaces$Folders$Revert, options?: MethodOptions): AxiosPromise; + revert(params: Params$Resource$Accounts$Containers$Workspaces$Folders$Revert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + revert(params: Params$Resource$Accounts$Containers$Workspaces$Folders$Revert, callback: BodyResponseCallback): void; + revert(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.workspaces.folders.update + * @desc Updates a GTM Folder. + * @alias tagmanager.accounts.containers.workspaces.folders.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.fingerprint When provided, this fingerprint must match the fingerprint of the folder in storage. + * @param {string} params.path GTM Folder's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/folders/{folder_id} + * @param {().Folder} 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?: Params$Resource$Accounts$Containers$Workspaces$Folders$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Accounts$Containers$Workspaces$Folders$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Accounts$Containers$Workspaces$Folders$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Containers$Workspaces$Folders$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * GTM Workspace's API relative path. Example: + * accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id} + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Folder; + } + interface Params$Resource$Accounts$Containers$Workspaces$Folders$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * GTM Folder's API relative path. Example: + * accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/folders/{folder_id} + */ + path?: string; + } + interface Params$Resource$Accounts$Containers$Workspaces$Folders$Entities { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Continuation token for fetching the next page of results. + */ + pageToken?: string; + /** + * GTM Folder's API relative path. Example: + * accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/folders/{folder_id} + */ + path?: string; + } + interface Params$Resource$Accounts$Containers$Workspaces$Folders$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * GTM Folder's API relative path. Example: + * accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/folders/{folder_id} + */ + path?: string; + } + interface Params$Resource$Accounts$Containers$Workspaces$Folders$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Continuation token for fetching the next page of results. + */ + pageToken?: string; + /** + * GTM Workspace's API relative path. Example: + * accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id} + */ + parent?: string; + } + interface Params$Resource$Accounts$Containers$Workspaces$Folders$Move_entities_to_folder { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * GTM Folder's API relative path. Example: + * accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/folders/{folder_id} + */ + path?: string; + /** + * The tags to be moved to the folder. + */ + tagId?: string; + /** + * The triggers to be moved to the folder. + */ + triggerId?: string; + /** + * The variables to be moved to the folder. + */ + variableId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Folder; + } + interface Params$Resource$Accounts$Containers$Workspaces$Folders$Revert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * When provided, this fingerprint must match the fingerprint of the tag in + * storage. + */ + fingerprint?: string; + /** + * GTM Folder's API relative path. Example: + * accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/folders/{folder_id} + */ + path?: string; + } + interface Params$Resource$Accounts$Containers$Workspaces$Folders$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * When provided, this fingerprint must match the fingerprint of the folder + * in storage. + */ + fingerprint?: string; + /** + * GTM Folder's API relative path. Example: + * accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/folders/{folder_id} + */ + path?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Folder; + } + class Resource$Accounts$Containers$Workspaces$Proposal { + root: Tagmanager; + constructor(root: Tagmanager); + getRoot(): Tagmanager; + /** + * tagmanager.accounts.containers.workspaces.proposal.create + * @desc Creates a GTM Workspace Proposal. + * @alias tagmanager.accounts.containers.workspaces.proposal.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent GTM Workspace's API relative path. Example: accounts/{aid}/containers/{cid}/workspace/{wid} + * @param {().CreateWorkspaceProposalRequest} 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 + */ + create(params?: Params$Resource$Accounts$Containers$Workspaces$Proposal$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Accounts$Containers$Workspaces$Proposal$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Accounts$Containers$Workspaces$Proposal$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.workspaces.proposal.delete + * @desc Deletes a GTM Workspace Proposal. + * @alias tagmanager.accounts.containers.workspaces.proposal.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.path GTM workspace proposal's relative path: Example: accounts/{aid}/containers/{cid}/workspace/{wid}/workspace_proposal + * @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?: Params$Resource$Accounts$Containers$Workspaces$Proposal$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Accounts$Containers$Workspaces$Proposal$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Accounts$Containers$Workspaces$Proposal$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Containers$Workspaces$Proposal$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * GTM Workspace's API relative path. Example: + * accounts/{aid}/containers/{cid}/workspace/{wid} + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CreateWorkspaceProposalRequest; + } + interface Params$Resource$Accounts$Containers$Workspaces$Proposal$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * GTM workspace proposal's relative path: Example: + * accounts/{aid}/containers/{cid}/workspace/{wid}/workspace_proposal + */ + path?: string; + } + class Resource$Accounts$Containers$Workspaces$Tags { + root: Tagmanager; + constructor(root: Tagmanager); + getRoot(): Tagmanager; + /** + * tagmanager.accounts.containers.workspaces.tags.create + * @desc Creates a GTM Tag. + * @alias tagmanager.accounts.containers.workspaces.tags.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id} + * @param {().Tag} 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 + */ + create(params?: Params$Resource$Accounts$Containers$Workspaces$Tags$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Accounts$Containers$Workspaces$Tags$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Accounts$Containers$Workspaces$Tags$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.workspaces.tags.delete + * @desc Deletes a GTM Tag. + * @alias tagmanager.accounts.containers.workspaces.tags.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.path GTM Tag's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/tags/{tag_id} + * @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?: Params$Resource$Accounts$Containers$Workspaces$Tags$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Accounts$Containers$Workspaces$Tags$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Accounts$Containers$Workspaces$Tags$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.workspaces.tags.get + * @desc Gets a GTM Tag. + * @alias tagmanager.accounts.containers.workspaces.tags.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.path GTM Tag's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/tags/{tag_id} + * @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?: Params$Resource$Accounts$Containers$Workspaces$Tags$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accounts$Containers$Workspaces$Tags$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accounts$Containers$Workspaces$Tags$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.workspaces.tags.list + * @desc Lists all GTM Tags of a Container. + * @alias tagmanager.accounts.containers.workspaces.tags.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.pageToken Continuation token for fetching the next page of results. + * @param {string} params.parent GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id} + * @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?: Params$Resource$Accounts$Containers$Workspaces$Tags$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accounts$Containers$Workspaces$Tags$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accounts$Containers$Workspaces$Tags$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.workspaces.tags.revert + * @desc Reverts changes to a GTM Tag in a GTM Workspace. + * @alias tagmanager.accounts.containers.workspaces.tags.revert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.fingerprint When provided, this fingerprint must match the fingerprint of thetag in storage. + * @param {string} params.path GTM Tag's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/tags/{tag_id} + * @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 + */ + revert(params?: Params$Resource$Accounts$Containers$Workspaces$Tags$Revert, options?: MethodOptions): AxiosPromise; + revert(params: Params$Resource$Accounts$Containers$Workspaces$Tags$Revert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + revert(params: Params$Resource$Accounts$Containers$Workspaces$Tags$Revert, callback: BodyResponseCallback): void; + revert(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.workspaces.tags.update + * @desc Updates a GTM Tag. + * @alias tagmanager.accounts.containers.workspaces.tags.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.fingerprint When provided, this fingerprint must match the fingerprint of the tag in storage. + * @param {string} params.path GTM Tag's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/tags/{tag_id} + * @param {().Tag} 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?: Params$Resource$Accounts$Containers$Workspaces$Tags$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Accounts$Containers$Workspaces$Tags$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Accounts$Containers$Workspaces$Tags$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Containers$Workspaces$Tags$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * GTM Workspace's API relative path. Example: + * accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id} + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Tag; + } + interface Params$Resource$Accounts$Containers$Workspaces$Tags$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * GTM Tag's API relative path. Example: + * accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/tags/{tag_id} + */ + path?: string; + } + interface Params$Resource$Accounts$Containers$Workspaces$Tags$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * GTM Tag's API relative path. Example: + * accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/tags/{tag_id} + */ + path?: string; + } + interface Params$Resource$Accounts$Containers$Workspaces$Tags$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Continuation token for fetching the next page of results. + */ + pageToken?: string; + /** + * GTM Workspace's API relative path. Example: + * accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id} + */ + parent?: string; + } + interface Params$Resource$Accounts$Containers$Workspaces$Tags$Revert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * When provided, this fingerprint must match the fingerprint of thetag in + * storage. + */ + fingerprint?: string; + /** + * GTM Tag's API relative path. Example: + * accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/tags/{tag_id} + */ + path?: string; + } + interface Params$Resource$Accounts$Containers$Workspaces$Tags$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * When provided, this fingerprint must match the fingerprint of the tag in + * storage. + */ + fingerprint?: string; + /** + * GTM Tag's API relative path. Example: + * accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/tags/{tag_id} + */ + path?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Tag; + } + class Resource$Accounts$Containers$Workspaces$Triggers { + root: Tagmanager; + constructor(root: Tagmanager); + getRoot(): Tagmanager; + /** + * tagmanager.accounts.containers.workspaces.triggers.create + * @desc Creates a GTM Trigger. + * @alias tagmanager.accounts.containers.workspaces.triggers.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent GTM Workspaces's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id} + * @param {().Trigger} 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 + */ + create(params?: Params$Resource$Accounts$Containers$Workspaces$Triggers$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Accounts$Containers$Workspaces$Triggers$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Accounts$Containers$Workspaces$Triggers$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.workspaces.triggers.delete + * @desc Deletes a GTM Trigger. + * @alias tagmanager.accounts.containers.workspaces.triggers.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.path GTM Trigger's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/triggers/{trigger_id} + * @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?: Params$Resource$Accounts$Containers$Workspaces$Triggers$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Accounts$Containers$Workspaces$Triggers$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Accounts$Containers$Workspaces$Triggers$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.workspaces.triggers.get + * @desc Gets a GTM Trigger. + * @alias tagmanager.accounts.containers.workspaces.triggers.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.path GTM Trigger's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/triggers/{trigger_id} + * @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?: Params$Resource$Accounts$Containers$Workspaces$Triggers$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accounts$Containers$Workspaces$Triggers$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accounts$Containers$Workspaces$Triggers$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.workspaces.triggers.list + * @desc Lists all GTM Triggers of a Container. + * @alias tagmanager.accounts.containers.workspaces.triggers.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.pageToken Continuation token for fetching the next page of results. + * @param {string} params.parent GTM Workspaces's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id} + * @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?: Params$Resource$Accounts$Containers$Workspaces$Triggers$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accounts$Containers$Workspaces$Triggers$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accounts$Containers$Workspaces$Triggers$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.workspaces.triggers.revert + * @desc Reverts changes to a GTM Trigger in a GTM Workspace. + * @alias tagmanager.accounts.containers.workspaces.triggers.revert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.fingerprint When provided, this fingerprint must match the fingerprint of the trigger in storage. + * @param {string} params.path GTM Trigger's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/triggers/{trigger_id} + * @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 + */ + revert(params?: Params$Resource$Accounts$Containers$Workspaces$Triggers$Revert, options?: MethodOptions): AxiosPromise; + revert(params: Params$Resource$Accounts$Containers$Workspaces$Triggers$Revert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + revert(params: Params$Resource$Accounts$Containers$Workspaces$Triggers$Revert, callback: BodyResponseCallback): void; + revert(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.workspaces.triggers.update + * @desc Updates a GTM Trigger. + * @alias tagmanager.accounts.containers.workspaces.triggers.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.fingerprint When provided, this fingerprint must match the fingerprint of the trigger in storage. + * @param {string} params.path GTM Trigger's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/triggers/{trigger_id} + * @param {().Trigger} 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?: Params$Resource$Accounts$Containers$Workspaces$Triggers$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Accounts$Containers$Workspaces$Triggers$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Accounts$Containers$Workspaces$Triggers$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Containers$Workspaces$Triggers$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * GTM Workspaces's API relative path. Example: + * accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id} + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Trigger; + } + interface Params$Resource$Accounts$Containers$Workspaces$Triggers$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * GTM Trigger's API relative path. Example: + * accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/triggers/{trigger_id} + */ + path?: string; + } + interface Params$Resource$Accounts$Containers$Workspaces$Triggers$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * GTM Trigger's API relative path. Example: + * accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/triggers/{trigger_id} + */ + path?: string; + } + interface Params$Resource$Accounts$Containers$Workspaces$Triggers$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Continuation token for fetching the next page of results. + */ + pageToken?: string; + /** + * GTM Workspaces's API relative path. Example: + * accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id} + */ + parent?: string; + } + interface Params$Resource$Accounts$Containers$Workspaces$Triggers$Revert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * When provided, this fingerprint must match the fingerprint of the trigger + * in storage. + */ + fingerprint?: string; + /** + * GTM Trigger's API relative path. Example: + * accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/triggers/{trigger_id} + */ + path?: string; + } + interface Params$Resource$Accounts$Containers$Workspaces$Triggers$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * When provided, this fingerprint must match the fingerprint of the trigger + * in storage. + */ + fingerprint?: string; + /** + * GTM Trigger's API relative path. Example: + * accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/triggers/{trigger_id} + */ + path?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Trigger; + } + class Resource$Accounts$Containers$Workspaces$Variables { + root: Tagmanager; + constructor(root: Tagmanager); + getRoot(): Tagmanager; + /** + * tagmanager.accounts.containers.workspaces.variables.create + * @desc Creates a GTM Variable. + * @alias tagmanager.accounts.containers.workspaces.variables.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id} + * @param {().Variable} 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 + */ + create(params?: Params$Resource$Accounts$Containers$Workspaces$Variables$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Accounts$Containers$Workspaces$Variables$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Accounts$Containers$Workspaces$Variables$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.workspaces.variables.delete + * @desc Deletes a GTM Variable. + * @alias tagmanager.accounts.containers.workspaces.variables.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.path GTM Variable's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/variables/{variable_id} + * @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?: Params$Resource$Accounts$Containers$Workspaces$Variables$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Accounts$Containers$Workspaces$Variables$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Accounts$Containers$Workspaces$Variables$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.workspaces.variables.get + * @desc Gets a GTM Variable. + * @alias tagmanager.accounts.containers.workspaces.variables.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.path GTM Variable's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/variables/{variable_id} + * @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?: Params$Resource$Accounts$Containers$Workspaces$Variables$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accounts$Containers$Workspaces$Variables$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accounts$Containers$Workspaces$Variables$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.workspaces.variables.list + * @desc Lists all GTM Variables of a Container. + * @alias tagmanager.accounts.containers.workspaces.variables.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.pageToken Continuation token for fetching the next page of results. + * @param {string} params.parent GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id} + * @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?: Params$Resource$Accounts$Containers$Workspaces$Variables$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accounts$Containers$Workspaces$Variables$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accounts$Containers$Workspaces$Variables$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.workspaces.variables.revert + * @desc Reverts changes to a GTM Variable in a GTM Workspace. + * @alias tagmanager.accounts.containers.workspaces.variables.revert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.fingerprint When provided, this fingerprint must match the fingerprint of the variable in storage. + * @param {string} params.path GTM Variable's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/variables/{variable_id} + * @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 + */ + revert(params?: Params$Resource$Accounts$Containers$Workspaces$Variables$Revert, options?: MethodOptions): AxiosPromise; + revert(params: Params$Resource$Accounts$Containers$Workspaces$Variables$Revert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + revert(params: Params$Resource$Accounts$Containers$Workspaces$Variables$Revert, callback: BodyResponseCallback): void; + revert(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.containers.workspaces.variables.update + * @desc Updates a GTM Variable. + * @alias tagmanager.accounts.containers.workspaces.variables.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.fingerprint When provided, this fingerprint must match the fingerprint of the variable in storage. + * @param {string} params.path GTM Variable's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/variables/{variable_id} + * @param {().Variable} 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?: Params$Resource$Accounts$Containers$Workspaces$Variables$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Accounts$Containers$Workspaces$Variables$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Accounts$Containers$Workspaces$Variables$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$Containers$Workspaces$Variables$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * GTM Workspace's API relative path. Example: + * accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id} + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Variable; + } + interface Params$Resource$Accounts$Containers$Workspaces$Variables$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * GTM Variable's API relative path. Example: + * accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/variables/{variable_id} + */ + path?: string; + } + interface Params$Resource$Accounts$Containers$Workspaces$Variables$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * GTM Variable's API relative path. Example: + * accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/variables/{variable_id} + */ + path?: string; + } + interface Params$Resource$Accounts$Containers$Workspaces$Variables$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Continuation token for fetching the next page of results. + */ + pageToken?: string; + /** + * GTM Workspace's API relative path. Example: + * accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id} + */ + parent?: string; + } + interface Params$Resource$Accounts$Containers$Workspaces$Variables$Revert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * When provided, this fingerprint must match the fingerprint of the + * variable in storage. + */ + fingerprint?: string; + /** + * GTM Variable's API relative path. Example: + * accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/variables/{variable_id} + */ + path?: string; + } + interface Params$Resource$Accounts$Containers$Workspaces$Variables$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * When provided, this fingerprint must match the fingerprint of the + * variable in storage. + */ + fingerprint?: string; + /** + * GTM Variable's API relative path. Example: + * accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/variables/{variable_id} + */ + path?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Variable; + } + class Resource$Accounts$User_permissions { + root: Tagmanager; + constructor(root: Tagmanager); + getRoot(): Tagmanager; + /** + * tagmanager.accounts.user_permissions.create + * @desc Creates a user's Account & Container access. + * @alias tagmanager.accounts.user_permissions.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent GTM Account's API relative path. Example: accounts/{account_id} + * @param {().UserPermission} 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 + */ + create(params?: Params$Resource$Accounts$User_permissions$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Accounts$User_permissions$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Accounts$User_permissions$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.user_permissions.delete + * @desc Removes a user from the account, revoking access to it and all of + * its containers. + * @alias tagmanager.accounts.user_permissions.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.path GTM UserPermission's API relative path. Example: accounts/{account_id}/user_permissions/{user_permission_id} + * @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?: Params$Resource$Accounts$User_permissions$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Accounts$User_permissions$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Accounts$User_permissions$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.user_permissions.get + * @desc Gets a user's Account & Container access. + * @alias tagmanager.accounts.user_permissions.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.path GTM UserPermission's API relative path. Example: accounts/{account_id}/user_permissions/{user_permission_id} + * @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?: Params$Resource$Accounts$User_permissions$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Accounts$User_permissions$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Accounts$User_permissions$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.user_permissions.list + * @desc List all users that have access to the account along with Account + * and Container user access granted to each of them. + * @alias tagmanager.accounts.user_permissions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.pageToken Continuation token for fetching the next page of results. + * @param {string} params.parent GTM Accounts's API relative path. Example: accounts/{account_id} + * @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?: Params$Resource$Accounts$User_permissions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Accounts$User_permissions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Accounts$User_permissions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * tagmanager.accounts.user_permissions.update + * @desc Updates a user's Account & Container access. + * @alias tagmanager.accounts.user_permissions.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.path GTM UserPermission's API relative path. Example: accounts/{account_id}/user_permissions/{user_permission_id} + * @param {().UserPermission} 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?: Params$Resource$Accounts$User_permissions$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Accounts$User_permissions$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Accounts$User_permissions$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Accounts$User_permissions$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * GTM Account's API relative path. Example: accounts/{account_id} + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UserPermission; + } + interface Params$Resource$Accounts$User_permissions$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * GTM UserPermission's API relative path. Example: + * accounts/{account_id}/user_permissions/{user_permission_id} + */ + path?: string; + } + interface Params$Resource$Accounts$User_permissions$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * GTM UserPermission's API relative path. Example: + * accounts/{account_id}/user_permissions/{user_permission_id} + */ + path?: string; + } + interface Params$Resource$Accounts$User_permissions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Continuation token for fetching the next page of results. + */ + pageToken?: string; + /** + * GTM Accounts's API relative path. Example: accounts/{account_id} + */ + parent?: string; + } + interface Params$Resource$Accounts$User_permissions$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * GTM UserPermission's API relative path. Example: + * accounts/{account_id}/user_permissions/{user_permission_id} + */ + path?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UserPermission; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/tagmanager/v2.js b/express-server/node_modules/googleapis/build/src/apis/tagmanager/v2.js new file mode 100644 index 00000000..1615e0a9 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/tagmanager/v2.js @@ -0,0 +1,2465 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var tagmanager_v2; +(function (tagmanager_v2) { + /** + * Tag Manager API + * + * Accesses Tag Manager accounts and containers. + * + * @example + * const {google} = require('googleapis'); + * const tagmanager = google.tagmanager('v2'); + * + * @namespace tagmanager + * @type {Function} + * @version v2 + * @variation v2 + * @param {object=} options Options for Tagmanager + */ + class Tagmanager { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.accounts = new Resource$Accounts(this); + } + getRoot() { + return this.root; + } + } + tagmanager_v2.Tagmanager = Tagmanager; + class Resource$Accounts { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.containers = new Resource$Accounts$Containers(root); + this.user_permissions = new Resource$Accounts$User_permissions(root); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+path}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['path'], + pathParams: ['path'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/accounts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+path}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['path'], + pathParams: ['path'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + tagmanager_v2.Resource$Accounts = Resource$Accounts; + class Resource$Accounts$Containers { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.environments = new Resource$Accounts$Containers$Environments(root); + this.versions = new Resource$Accounts$Containers$Versions(root); + this.version_headers = + new Resource$Accounts$Containers$Version_headers(root); + this.workspaces = new Resource$Accounts$Containers$Workspaces(root); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+parent}/containers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+path}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['path'], + pathParams: ['path'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+path}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['path'], + pathParams: ['path'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+parent}/containers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+path}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['path'], + pathParams: ['path'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + tagmanager_v2.Resource$Accounts$Containers = Resource$Accounts$Containers; + class Resource$Accounts$Containers$Environments { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+parent}/environments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+path}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['path'], + pathParams: ['path'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+path}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['path'], + pathParams: ['path'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+parent}/environments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+path}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['path'], + pathParams: ['path'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + reauthorize(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+path}:reauthorize') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['path'], + pathParams: ['path'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+path}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['path'], + pathParams: ['path'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + tagmanager_v2.Resource$Accounts$Containers$Environments = Resource$Accounts$Containers$Environments; + class Resource$Accounts$Containers$Versions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+path}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['path'], + pathParams: ['path'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+path}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['path'], + pathParams: ['path'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + live(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+parent}/versions:live') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + publish(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+path}:publish') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['path'], + pathParams: ['path'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + set_latest(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+path}:set_latest') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['path'], + pathParams: ['path'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + undelete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+path}:undelete') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['path'], + pathParams: ['path'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+path}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['path'], + pathParams: ['path'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + tagmanager_v2.Resource$Accounts$Containers$Versions = Resource$Accounts$Containers$Versions; + class Resource$Accounts$Containers$Version_headers { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + latest(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+parent}/version_headers:latest') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+parent}/version_headers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + tagmanager_v2.Resource$Accounts$Containers$Version_headers = Resource$Accounts$Containers$Version_headers; + class Resource$Accounts$Containers$Workspaces { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.built_in_variables = + new Resource$Accounts$Containers$Workspaces$Built_in_variables(root); + this.folders = new Resource$Accounts$Containers$Workspaces$Folders(root); + this.proposal = + new Resource$Accounts$Containers$Workspaces$Proposal(root); + this.tags = new Resource$Accounts$Containers$Workspaces$Tags(root); + this.triggers = + new Resource$Accounts$Containers$Workspaces$Triggers(root); + this.variables = + new Resource$Accounts$Containers$Workspaces$Variables(root); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+parent}/workspaces') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + create_version(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+path}:create_version') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['path'], + pathParams: ['path'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+path}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['path'], + pathParams: ['path'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+path}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['path'], + pathParams: ['path'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getProposal(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+path}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['path'], + pathParams: ['path'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getStatus(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+path}/status') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['path'], + pathParams: ['path'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+parent}/workspaces') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + quick_preview(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+path}:quick_preview') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['path'], + pathParams: ['path'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + resolve_conflict(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+path}:resolve_conflict') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['path'], + pathParams: ['path'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + sync(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+path}:sync') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['path'], + pathParams: ['path'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+path}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['path'], + pathParams: ['path'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + updateProposal(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+path}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['path'], + pathParams: ['path'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + tagmanager_v2.Resource$Accounts$Containers$Workspaces = Resource$Accounts$Containers$Workspaces; + class Resource$Accounts$Containers$Workspaces$Built_in_variables { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+parent}/built_in_variables') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+path}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['path'], + pathParams: ['path'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+parent}/built_in_variables') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + revert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+path}/built_in_variables:revert') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['path'], + pathParams: ['path'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + tagmanager_v2.Resource$Accounts$Containers$Workspaces$Built_in_variables = Resource$Accounts$Containers$Workspaces$Built_in_variables; + class Resource$Accounts$Containers$Workspaces$Folders { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+parent}/folders') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+path}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['path'], + pathParams: ['path'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + entities(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+path}:entities') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['path'], + pathParams: ['path'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+path}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['path'], + pathParams: ['path'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+parent}/folders') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + move_entities_to_folder(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+path}:move_entities_to_folder') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['path'], + pathParams: ['path'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + revert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+path}:revert') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['path'], + pathParams: ['path'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+path}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['path'], + pathParams: ['path'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + tagmanager_v2.Resource$Accounts$Containers$Workspaces$Folders = Resource$Accounts$Containers$Workspaces$Folders; + class Resource$Accounts$Containers$Workspaces$Proposal { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+parent}/proposal') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+path}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['path'], + pathParams: ['path'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + tagmanager_v2.Resource$Accounts$Containers$Workspaces$Proposal = Resource$Accounts$Containers$Workspaces$Proposal; + class Resource$Accounts$Containers$Workspaces$Tags { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+parent}/tags') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+path}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['path'], + pathParams: ['path'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+path}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['path'], + pathParams: ['path'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+parent}/tags') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + revert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+path}:revert') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['path'], + pathParams: ['path'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+path}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['path'], + pathParams: ['path'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + tagmanager_v2.Resource$Accounts$Containers$Workspaces$Tags = Resource$Accounts$Containers$Workspaces$Tags; + class Resource$Accounts$Containers$Workspaces$Triggers { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+parent}/triggers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+path}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['path'], + pathParams: ['path'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+path}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['path'], + pathParams: ['path'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+parent}/triggers') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + revert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+path}:revert') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['path'], + pathParams: ['path'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+path}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['path'], + pathParams: ['path'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + tagmanager_v2.Resource$Accounts$Containers$Workspaces$Triggers = Resource$Accounts$Containers$Workspaces$Triggers; + class Resource$Accounts$Containers$Workspaces$Variables { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+parent}/variables') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+path}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['path'], + pathParams: ['path'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+path}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['path'], + pathParams: ['path'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+parent}/variables') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + revert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+path}:revert') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['path'], + pathParams: ['path'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+path}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['path'], + pathParams: ['path'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + tagmanager_v2.Resource$Accounts$Containers$Workspaces$Variables = Resource$Accounts$Containers$Workspaces$Variables; + class Resource$Accounts$User_permissions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+parent}/user_permissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+path}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['path'], + pathParams: ['path'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+path}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['path'], + pathParams: ['path'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+parent}/user_permissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tagmanager/v2/{+path}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['path'], + pathParams: ['path'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + tagmanager_v2.Resource$Accounts$User_permissions = Resource$Accounts$User_permissions; +})(tagmanager_v2 = exports.tagmanager_v2 || (exports.tagmanager_v2 = {})); +//# sourceMappingURL=v2.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/tagmanager/v2.js.map b/express-server/node_modules/googleapis/build/src/apis/tagmanager/v2.js.map new file mode 100644 index 00000000..087a2b26 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/tagmanager/v2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v2.js","sourceRoot":"","sources":["../../../../src/apis/tagmanager/v2.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/tasks/README.md b/express-server/node_modules/googleapis/build/src/apis/tasks/README.md new file mode 100644 index 00000000..adee6761 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/tasks/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/tasks + +> Lets you manage your tasks and task lists. + +## Installation + +```sh +$ npm install @google/tasks +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/tasks/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/tasks/index.d.ts new file mode 100644 index 00000000..d0754a22 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/tasks/index.d.ts @@ -0,0 +1,6 @@ +import { tasks_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof tasks_v1.Tasks; +}; +export declare function tasks(version: 'v1'): tasks_v1.Tasks; +export declare function tasks(options: tasks_v1.Options): tasks_v1.Tasks; diff --git a/express-server/node_modules/googleapis/build/src/apis/tasks/index.js b/express-server/node_modules/googleapis/build/src/apis/tasks/index.js new file mode 100644 index 00000000..831fe5c3 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/tasks/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.tasks_v1.Tasks, +}; +function tasks(versionOrOptions) { + return googleapis_common_1.getAPI('tasks', versionOrOptions, exports.VERSIONS, this); +} +exports.tasks = tasks; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/tasks/index.js.map b/express-server/node_modules/googleapis/build/src/apis/tasks/index.js.map new file mode 100644 index 00000000..6866f8a2 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/tasks/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/tasks/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAA8B;AAEjB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,aAAQ,CAAC,KAAK;CACrB,CAAC;AAIF,SAAgB,KAAK,CACS,gBAAuC;IACnE,OAAO,0BAAM,CAAI,OAAO,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAC9D,CAAC;AAHD,sBAGC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/tasks/package.json b/express-server/node_modules/googleapis/build/src/apis/tasks/package.json new file mode 100644 index 00000000..c541c5de --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/tasks/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/tasks", + "version": "0.1.0", + "description": "tasks", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/tasks/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/tasks/v1.d.ts new file mode 100644 index 00000000..a8ae40bc --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/tasks/v1.d.ts @@ -0,0 +1,704 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace tasks_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Tasks API + * + * Lets you manage your tasks and task lists. + * + * @example + * const {google} = require('googleapis'); + * const tasks = google.tasks('v1'); + * + * @namespace tasks + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Tasks + */ + class Tasks { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + tasklists: Resource$Tasklists; + tasks: Resource$Tasks; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + interface Schema$Task { + /** + * Completion date of the task (as a RFC 3339 timestamp). This field is + * omitted if the task has not been completed. + */ + completed?: string; + /** + * Flag indicating whether the task has been deleted. The default if False. + */ + deleted?: boolean; + /** + * Due date of the task (as a RFC 3339 timestamp). Optional. + */ + due?: string; + /** + * ETag of the resource. + */ + etag?: string; + /** + * Flag indicating whether the task is hidden. This is the case if the task + * had been marked completed when the task list was last cleared. The + * default is False. This field is read-only. + */ + hidden?: boolean; + /** + * Task identifier. + */ + id?: string; + /** + * Type of the resource. This is always "tasks#task". + */ + kind?: string; + /** + * Collection of links. This collection is read-only. + */ + links?: any[]; + /** + * Notes describing the task. Optional. + */ + notes?: string; + /** + * Parent task identifier. This field is omitted if it is a top-level task. + * This field is read-only. Use the "move" method to move the task + * under a different parent or to the top level. + */ + parent?: string; + /** + * String indicating the position of the task among its sibling tasks under + * the same parent task or at the top level. If this string is greater than + * another task's corresponding position string according to + * lexicographical ordering, the task is positioned after the other task + * under the same parent task (or at the top level). This field is + * read-only. Use the "move" method to move the task to another + * position. + */ + position?: string; + /** + * URL pointing to this task. Used to retrieve, update, or delete this task. + */ + selfLink?: string; + /** + * Status of the task. This is either "needsAction" or + * "completed". + */ + status?: string; + /** + * Title of the task. + */ + title?: string; + /** + * Last modification time of the task (as a RFC 3339 timestamp). + */ + updated?: string; + } + interface Schema$TaskList { + /** + * ETag of the resource. + */ + etag?: string; + /** + * Task list identifier. + */ + id?: string; + /** + * Type of the resource. This is always "tasks#taskList". + */ + kind?: string; + /** + * URL pointing to this task list. Used to retrieve, update, or delete this + * task list. + */ + selfLink?: string; + /** + * Title of the task list. + */ + title?: string; + /** + * Last modification time of the task list (as a RFC 3339 timestamp). + */ + updated?: string; + } + interface Schema$TaskLists { + /** + * ETag of the resource. + */ + etag?: string; + /** + * Collection of task lists. + */ + items?: Schema$TaskList[]; + /** + * Type of the resource. This is always "tasks#taskLists". + */ + kind?: string; + /** + * Token that can be used to request the next page of this result. + */ + nextPageToken?: string; + } + interface Schema$Tasks { + /** + * ETag of the resource. + */ + etag?: string; + /** + * Collection of tasks. + */ + items?: Schema$Task[]; + /** + * Type of the resource. This is always "tasks#tasks". + */ + kind?: string; + /** + * Token used to access the next page of this result. + */ + nextPageToken?: string; + } + class Resource$Tasklists { + root: Tasks; + constructor(root: Tasks); + getRoot(): Tasks; + /** + * tasks.tasklists.delete + * @desc Deletes the authenticated user's specified task list. + * @alias tasks.tasklists.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.tasklist Task list identifier. + * @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?: Params$Resource$Tasklists$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Tasklists$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Tasklists$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * tasks.tasklists.get + * @desc Returns the authenticated user's specified task list. + * @alias tasks.tasklists.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.tasklist Task list identifier. + * @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?: Params$Resource$Tasklists$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Tasklists$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Tasklists$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * tasks.tasklists.insert + * @desc Creates a new task list and adds it to the authenticated user's + * task lists. + * @alias tasks.tasklists.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().TaskList} 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?: Params$Resource$Tasklists$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Tasklists$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Tasklists$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * tasks.tasklists.list + * @desc Returns all the authenticated user's task lists. + * @alias tasks.tasklists.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {string=} params.maxResults Maximum number of task lists returned on one page. Optional. The default is 100. + * @param {string=} params.pageToken Token specifying the result page to return. Optional. + * @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?: Params$Resource$Tasklists$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Tasklists$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Tasklists$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * tasks.tasklists.patch + * @desc Updates the authenticated user's specified task list. This method + * supports patch semantics. + * @alias tasks.tasklists.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.tasklist Task list identifier. + * @param {().TaskList} 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 + */ + patch(params?: Params$Resource$Tasklists$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Tasklists$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Tasklists$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * tasks.tasklists.update + * @desc Updates the authenticated user's specified task list. + * @alias tasks.tasklists.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.tasklist Task list identifier. + * @param {().TaskList} 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?: Params$Resource$Tasklists$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Tasklists$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Tasklists$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Tasklists$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Task list identifier. + */ + tasklist?: string; + } + interface Params$Resource$Tasklists$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Task list identifier. + */ + tasklist?: string; + } + interface Params$Resource$Tasklists$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$TaskList; + } + interface Params$Resource$Tasklists$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Maximum number of task lists returned on one page. Optional. The default + * is 100. + */ + maxResults?: string; + /** + * Token specifying the result page to return. Optional. + */ + pageToken?: string; + } + interface Params$Resource$Tasklists$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Task list identifier. + */ + tasklist?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TaskList; + } + interface Params$Resource$Tasklists$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Task list identifier. + */ + tasklist?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TaskList; + } + class Resource$Tasks { + root: Tasks; + constructor(root: Tasks); + getRoot(): Tasks; + /** + * tasks.tasks.clear + * @desc Clears all completed tasks from the specified task list. The + * affected tasks will be marked as 'hidden' and no longer be returned by + * default when retrieving all tasks for a task list. + * @alias tasks.tasks.clear + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.tasklist Task list identifier. + * @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 + */ + clear(params?: Params$Resource$Tasks$Clear, options?: MethodOptions): AxiosPromise; + clear(params: Params$Resource$Tasks$Clear, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + clear(params: Params$Resource$Tasks$Clear, callback: BodyResponseCallback): void; + clear(callback: BodyResponseCallback): void; + /** + * tasks.tasks.delete + * @desc Deletes the specified task from the task list. + * @alias tasks.tasks.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.task Task identifier. + * @param {string} params.tasklist Task list identifier. + * @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?: Params$Resource$Tasks$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Tasks$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Tasks$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * tasks.tasks.get + * @desc Returns the specified task. + * @alias tasks.tasks.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.task Task identifier. + * @param {string} params.tasklist Task list identifier. + * @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?: Params$Resource$Tasks$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Tasks$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Tasks$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * tasks.tasks.insert + * @desc Creates a new task on the specified task list. + * @alias tasks.tasks.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.parent Parent task identifier. If the task is created at the top level, this parameter is omitted. Optional. + * @param {string=} params.previous Previous sibling task identifier. If the task is created at the first position among its siblings, this parameter is omitted. Optional. + * @param {string} params.tasklist Task list identifier. + * @param {().Task} 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?: Params$Resource$Tasks$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Tasks$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Tasks$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * tasks.tasks.list + * @desc Returns all tasks in the specified task list. + * @alias tasks.tasks.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.completedMax Upper bound for a task's completion date (as a RFC 3339 timestamp) to filter by. Optional. The default is not to filter by completion date. + * @param {string=} params.completedMin Lower bound for a task's completion date (as a RFC 3339 timestamp) to filter by. Optional. The default is not to filter by completion date. + * @param {string=} params.dueMax Upper bound for a task's due date (as a RFC 3339 timestamp) to filter by. Optional. The default is not to filter by due date. + * @param {string=} params.dueMin Lower bound for a task's due date (as a RFC 3339 timestamp) to filter by. Optional. The default is not to filter by due date. + * @param {string=} params.maxResults Maximum number of task lists returned on one page. Optional. The default is 100. + * @param {string=} params.pageToken Token specifying the result page to return. Optional. + * @param {boolean=} params.showCompleted Flag indicating whether completed tasks are returned in the result. Optional. The default is True. + * @param {boolean=} params.showDeleted Flag indicating whether deleted tasks are returned in the result. Optional. The default is False. + * @param {boolean=} params.showHidden Flag indicating whether hidden tasks are returned in the result. Optional. The default is False. + * @param {string} params.tasklist Task list identifier. + * @param {string=} params.updatedMin Lower bound for a task's last modification time (as a RFC 3339 timestamp) to filter by. Optional. The default is not to filter by last modification time. + * @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?: Params$Resource$Tasks$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Tasks$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Tasks$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * tasks.tasks.move + * @desc Moves the specified task to another position in the task list. This + * can include putting it as a child task under a new parent and/or move it + * to a different position among its sibling tasks. + * @alias tasks.tasks.move + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.parent New parent task identifier. If the task is moved to the top level, this parameter is omitted. Optional. + * @param {string=} params.previous New previous sibling task identifier. If the task is moved to the first position among its siblings, this parameter is omitted. Optional. + * @param {string} params.task Task identifier. + * @param {string} params.tasklist Task list identifier. + * @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 + */ + move(params?: Params$Resource$Tasks$Move, options?: MethodOptions): AxiosPromise; + move(params: Params$Resource$Tasks$Move, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + move(params: Params$Resource$Tasks$Move, callback: BodyResponseCallback): void; + move(callback: BodyResponseCallback): void; + /** + * tasks.tasks.patch + * @desc Updates the specified task. This method supports patch semantics. + * @alias tasks.tasks.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.task Task identifier. + * @param {string} params.tasklist Task list identifier. + * @param {().Task} 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 + */ + patch(params?: Params$Resource$Tasks$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Tasks$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Tasks$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * tasks.tasks.update + * @desc Updates the specified task. + * @alias tasks.tasks.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.task Task identifier. + * @param {string} params.tasklist Task list identifier. + * @param {().Task} 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?: Params$Resource$Tasks$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Tasks$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Tasks$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Tasks$Clear { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Task list identifier. + */ + tasklist?: string; + } + interface Params$Resource$Tasks$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Task identifier. + */ + task?: string; + /** + * Task list identifier. + */ + tasklist?: string; + } + interface Params$Resource$Tasks$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Task identifier. + */ + task?: string; + /** + * Task list identifier. + */ + tasklist?: string; + } + interface Params$Resource$Tasks$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Parent task identifier. If the task is created at the top level, this + * parameter is omitted. Optional. + */ + parent?: string; + /** + * Previous sibling task identifier. If the task is created at the first + * position among its siblings, this parameter is omitted. Optional. + */ + previous?: string; + /** + * Task list identifier. + */ + tasklist?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Task; + } + interface Params$Resource$Tasks$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Upper bound for a task's completion date (as a RFC 3339 timestamp) to + * filter by. Optional. The default is not to filter by completion date. + */ + completedMax?: string; + /** + * Lower bound for a task's completion date (as a RFC 3339 timestamp) to + * filter by. Optional. The default is not to filter by completion date. + */ + completedMin?: string; + /** + * Upper bound for a task's due date (as a RFC 3339 timestamp) to filter by. + * Optional. The default is not to filter by due date. + */ + dueMax?: string; + /** + * Lower bound for a task's due date (as a RFC 3339 timestamp) to filter by. + * Optional. The default is not to filter by due date. + */ + dueMin?: string; + /** + * Maximum number of task lists returned on one page. Optional. The default + * is 100. + */ + maxResults?: string; + /** + * Token specifying the result page to return. Optional. + */ + pageToken?: string; + /** + * Flag indicating whether completed tasks are returned in the result. + * Optional. The default is True. + */ + showCompleted?: boolean; + /** + * Flag indicating whether deleted tasks are returned in the result. + * Optional. The default is False. + */ + showDeleted?: boolean; + /** + * Flag indicating whether hidden tasks are returned in the result. + * Optional. The default is False. + */ + showHidden?: boolean; + /** + * Task list identifier. + */ + tasklist?: string; + /** + * Lower bound for a task's last modification time (as a RFC 3339 timestamp) + * to filter by. Optional. The default is not to filter by last modification + * time. + */ + updatedMin?: string; + } + interface Params$Resource$Tasks$Move { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * New parent task identifier. If the task is moved to the top level, this + * parameter is omitted. Optional. + */ + parent?: string; + /** + * New previous sibling task identifier. If the task is moved to the first + * position among its siblings, this parameter is omitted. Optional. + */ + previous?: string; + /** + * Task identifier. + */ + task?: string; + /** + * Task list identifier. + */ + tasklist?: string; + } + interface Params$Resource$Tasks$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Task identifier. + */ + task?: string; + /** + * Task list identifier. + */ + tasklist?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Task; + } + interface Params$Resource$Tasks$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Task identifier. + */ + task?: string; + /** + * Task list identifier. + */ + tasklist?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Task; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/tasks/v1.js b/express-server/node_modules/googleapis/build/src/apis/tasks/v1.js new file mode 100644 index 00000000..77bfffc9 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/tasks/v1.js @@ -0,0 +1,510 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var tasks_v1; +(function (tasks_v1) { + /** + * Tasks API + * + * Lets you manage your tasks and task lists. + * + * @example + * const {google} = require('googleapis'); + * const tasks = google.tasks('v1'); + * + * @namespace tasks + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Tasks + */ + class Tasks { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.tasklists = new Resource$Tasklists(this); + this.tasks = new Resource$Tasks(this); + } + getRoot() { + return this.root; + } + } + tasks_v1.Tasks = Tasks; + class Resource$Tasklists { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tasks/v1/users/@me/lists/{tasklist}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['tasklist'], + pathParams: ['tasklist'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tasks/v1/users/@me/lists/{tasklist}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['tasklist'], + pathParams: ['tasklist'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tasks/v1/users/@me/lists') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tasks/v1/users/@me/lists') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tasks/v1/users/@me/lists/{tasklist}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['tasklist'], + pathParams: ['tasklist'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tasks/v1/users/@me/lists/{tasklist}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['tasklist'], + pathParams: ['tasklist'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + tasks_v1.Resource$Tasklists = Resource$Tasklists; + class Resource$Tasks { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + clear(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tasks/v1/lists/{tasklist}/clear') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['tasklist'], + pathParams: ['tasklist'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tasks/v1/lists/{tasklist}/tasks/{task}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['tasklist', 'task'], + pathParams: ['task', 'tasklist'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tasks/v1/lists/{tasklist}/tasks/{task}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['tasklist', 'task'], + pathParams: ['task', 'tasklist'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tasks/v1/lists/{tasklist}/tasks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['tasklist'], + pathParams: ['tasklist'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tasks/v1/lists/{tasklist}/tasks') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['tasklist'], + pathParams: ['tasklist'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + move(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tasks/v1/lists/{tasklist}/tasks/{task}/move') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['tasklist', 'task'], + pathParams: ['task', 'tasklist'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tasks/v1/lists/{tasklist}/tasks/{task}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['tasklist', 'task'], + pathParams: ['task', 'tasklist'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/tasks/v1/lists/{tasklist}/tasks/{task}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['tasklist', 'task'], + pathParams: ['task', 'tasklist'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + tasks_v1.Resource$Tasks = Resource$Tasks; +})(tasks_v1 = exports.tasks_v1 || (exports.tasks_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/tasks/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/tasks/v1.js.map new file mode 100644 index 00000000..d7eacc16 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/tasks/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/tasks/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/testing/README.md b/express-server/node_modules/googleapis/build/src/apis/testing/README.md new file mode 100644 index 00000000..b6416baf --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/testing/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/testing + +> Allows developers to run automated tests for their mobile applications on Google infrastructure. + +## Installation + +```sh +$ npm install @google/testing +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/testing/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/testing/index.d.ts new file mode 100644 index 00000000..69257a89 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/testing/index.d.ts @@ -0,0 +1,6 @@ +import { testing_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof testing_v1.Testing; +}; +export declare function testing(version: 'v1'): testing_v1.Testing; +export declare function testing(options: testing_v1.Options): testing_v1.Testing; diff --git a/express-server/node_modules/googleapis/build/src/apis/testing/index.js b/express-server/node_modules/googleapis/build/src/apis/testing/index.js new file mode 100644 index 00000000..5054bf18 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/testing/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.testing_v1.Testing, +}; +function testing(versionOrOptions) { + return googleapis_common_1.getAPI('testing', versionOrOptions, exports.VERSIONS, this); +} +exports.testing = testing; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/testing/index.js.map b/express-server/node_modules/googleapis/build/src/apis/testing/index.js.map new file mode 100644 index 00000000..2dc1329d --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/testing/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/testing/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAgC;AAEnB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,eAAU,CAAC,OAAO;CACzB,CAAC;AAIF,SAAgB,OAAO,CACO,gBAAyC;IACrE,OAAO,0BAAM,CAAI,SAAS,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAChE,CAAC;AAHD,0BAGC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/testing/package.json b/express-server/node_modules/googleapis/build/src/apis/testing/package.json new file mode 100644 index 00000000..423760dd --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/testing/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/testing", + "version": "0.1.0", + "description": "testing", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/testing/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/testing/v1.d.ts new file mode 100644 index 00000000..c1b2d61e --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/testing/v1.d.ts @@ -0,0 +1,1479 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace testing_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Cloud Testing API + * + * Allows developers to run automated tests for their mobile applications on + * Google infrastructure. + * + * @example + * const {google} = require('googleapis'); + * const testing = google.testing('v1'); + * + * @namespace testing + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Testing + */ + class Testing { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + applicationDetailService: Resource$Applicationdetailservice; + projects: Resource$Projects; + testEnvironmentCatalog: Resource$Testenvironmentcatalog; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Identifies an account and how to log into it + */ + interface Schema$Account { + /** + * An automatic google login account + */ + googleAuto?: Schema$GoogleAuto; + } + /** + * A single Android device. + */ + interface Schema$AndroidDevice { + /** + * The id of the Android device to be used. Use the + * EnvironmentDiscoveryService to get supported options. Required + */ + androidModelId?: string; + /** + * The id of the Android OS version to be used. Use the + * EnvironmentDiscoveryService to get supported options. Required + */ + androidVersionId?: string; + /** + * The locale the test device used for testing. Use the + * EnvironmentDiscoveryService to get supported options. Required + */ + locale?: string; + /** + * How the device is oriented during the test. Use the + * EnvironmentDiscoveryService to get supported options. Required + */ + orientation?: string; + } + /** + * The currently supported Android devices. + */ + interface Schema$AndroidDeviceCatalog { + /** + * The set of supported Android device models. @OutputOnly + */ + models?: Schema$AndroidModel[]; + /** + * The set of supported runtime configurations. @OutputOnly + */ + runtimeConfiguration?: Schema$AndroidRuntimeConfiguration; + /** + * The set of supported Android OS versions. @OutputOnly + */ + versions?: Schema$AndroidVersion[]; + } + /** + * A list of Android device configurations in which the test is to be + * executed. + */ + interface Schema$AndroidDeviceList { + /** + * A list of Android devices Required + */ + androidDevices?: Schema$AndroidDevice[]; + } + /** + * A test of an Android application that can control an Android component + * independently of its normal lifecycle. Android instrumentation tests run an + * application APK and test APK inside the same process on a virtual or + * physical AndroidDevice. They also specify a test runner class, such as + * com.google.GoogleTestRunner, which can vary on the specific instrumentation + * framework chosen. See + * <http://developer.android.com/tools/testing/testing_android.html> for + * more information on types of Android tests. + */ + interface Schema$AndroidInstrumentationTest { + /** + * The APK for the application under test. + */ + appApk?: Schema$FileReference; + /** + * The java package for the application under test. Optional, default is + * determined by examining the application's manifest. + */ + appPackageId?: string; + /** + * The option of whether running each test within its own invocation of + * instrumentation with Android Test Orchestrator or not. ** Orchestrator is + * only compatible with AndroidJUnitRunner version 1.0 or higher! ** + * Orchestrator offers the following benefits: - No shared state - Crashes + * are isolated - Logs are scoped per test See + * <https://developer.android.com/training/testing/junit-runner.html#using-android-test-orchestrator> + * for more information about Android Test Orchestrator. Optional. If not + * set, the test will be run without the orchestrator. + */ + orchestratorOption?: string; + /** + * The APK containing the test code to be executed. Required + */ + testApk?: Schema$FileReference; + /** + * The java package for the test to be executed. Optional, default is + * determined by examining the application's manifest. + */ + testPackageId?: string; + /** + * The InstrumentationTestRunner class. Optional, default is determined by + * examining the application's manifest. + */ + testRunnerClass?: string; + /** + * Each target must be fully qualified with the package name or class name, + * in one of these formats: - "package package_name" - + * "class package_name.class_name" - "class + * package_name.class_name#method_name" Optional, if empty, all + * targets in the module will be run. + */ + testTargets?: string[]; + } + /** + * A set of Android device configuration permutations is defined by the the + * cross-product of the given axes. Internally, the given AndroidMatrix will + * be expanded into a set of AndroidDevices. Only supported permutations will + * be instantiated. Invalid permutations (e.g., incompatible models/versions) + * are ignored. + */ + interface Schema$AndroidMatrix { + /** + * The ids of the set of Android device to be used. Use the + * EnvironmentDiscoveryService to get supported options. Required + */ + androidModelIds?: string[]; + /** + * The ids of the set of Android OS version to be used. Use the + * EnvironmentDiscoveryService to get supported options. Required + */ + androidVersionIds?: string[]; + /** + * The set of locales the test device will enable for testing. Use the + * EnvironmentDiscoveryService to get supported options. Required + */ + locales?: string[]; + /** + * The set of orientations to test with. Use the EnvironmentDiscoveryService + * to get supported options. Required + */ + orientations?: string[]; + } + /** + * A description of an Android device tests may be run on. + */ + interface Schema$AndroidModel { + /** + * The company that this device is branded with. Example: + * "Google", "Samsung" @OutputOnly + */ + brand?: string; + /** + * The name of the industrial design. This corresponds to + * android.os.Build.DEVICE @OutputOnly + */ + codename?: string; + /** + * Whether this device is virtual or physical. @OutputOnly + */ + form?: string; + /** + * Whether this device is a phone, tablet, wearable, etc. @OutputOnly + */ + formFactor?: string; + /** + * The unique opaque id for this model. Use this for invoking the + * TestExecutionService. @OutputOnly + */ + id?: string; + /** + * The manufacturer of this device. @OutputOnly + */ + manufacturer?: string; + /** + * The human-readable marketing name for this device model. Examples: + * "Nexus 5", "Galaxy S5" @OutputOnly + */ + name?: string; + /** + * Screen density in DPI. This corresponds to ro.sf.lcd_density @OutputOnly + */ + screenDensity?: number; + /** + * Screen size in the horizontal (X) dimension measured in pixels. + * @OutputOnly + */ + screenX?: number; + /** + * Screen size in the vertical (Y) dimension measured in pixels. @OutputOnly + */ + screenY?: number; + /** + * The list of supported ABIs for this device. This corresponds to either + * android.os.Build.SUPPORTED_ABIS (for API level 21 and above) or + * android.os.Build.CPU_ABI/CPU_ABI2. The most preferred ABI is the first + * element in the list. Elements are optionally prefixed by + * "version_id:" (where version_id is the id of an + * AndroidVersion), denoting an ABI that is supported only on a particular + * version. @OutputOnly + */ + supportedAbis?: string[]; + /** + * The set of Android versions this device supports. @OutputOnly + */ + supportedVersionIds?: string[]; + /** + * Tags for this dimension. Examples: "default", + * "preview", "deprecated" + */ + tags?: string[]; + /** + * True if and only if tests with this model DO NOT have video output. See + * also TestSpecification.disable_video_recording @OutputOnly + */ + videoRecordingNotSupported?: boolean; + } + /** + * A test of an android application that explores the application on a virtual + * or physical Android Device, finding culprits and crashes as it goes. + */ + interface Schema$AndroidRoboTest { + /** + * The APK for the application under test. + */ + appApk?: Schema$FileReference; + /** + * The initial activity that should be used to start the app. Optional + */ + appInitialActivity?: string; + /** + * The java package for the application under test. Optional, default is + * determined by examining the application's manifest. + */ + appPackageId?: string; + /** + * The max depth of the traversal stack Robo can explore. Needs to be at + * least 2 to make Robo explore the app beyond the first activity. Default + * is 50. Optional + */ + maxDepth?: number; + /** + * The max number of steps Robo can execute. Default is no limit. Optional + */ + maxSteps?: number; + /** + * A set of directives Robo should apply during the crawl. This allows users + * to customize the crawl. For example, the username and password for a test + * account can be provided. Optional + */ + roboDirectives?: Schema$RoboDirective[]; + /** + * A JSON file with a sequence of actions Robo should perform as a prologue + * for the crawl. Optional + */ + roboScript?: Schema$FileReference; + /** + * The intents used to launch the app for the crawl. If none are provided, + * then the main launcher activity is launched. If some are provided, then + * only those provided are launched (the main launcher activity must be + * provided explicitly). + */ + startingIntents?: Schema$RoboStartingIntent[]; + } + /** + * Android configuration that can be selected at the time a test is run. + */ + interface Schema$AndroidRuntimeConfiguration { + /** + * The set of available locales. @OutputOnly + */ + locales?: Schema$Locale[]; + /** + * The set of available orientations. @OutputOnly + */ + orientations?: Schema$Orientation[]; + } + /** + * A test of an Android Application with a Test Loop. The intent + * <intent-name> will be implicitly added, since Games is the only user + * of this api, for the time being. + */ + interface Schema$AndroidTestLoop { + /** + * The APK for the application under test. + */ + appApk?: Schema$FileReference; + /** + * The java package for the application under test. Optional, default is + * determined by examining the application's manifest. + */ + appPackageId?: string; + /** + * The list of scenario labels that should be run during the test. The + * scenario labels should map to labels defined in the application's + * manifest. For example, player_experience and + * com.google.test.loops.player_experience add all of the loops labeled in + * the manifest with the com.google.test.loops.player_experience name to the + * execution. Optional. Scenarios can also be specified in the scenarios + * field. + */ + scenarioLabels?: string[]; + /** + * The list of scenarios that should be run during the test. Optional, + * default is all test loops, derived from the application's manifest. + */ + scenarios?: number[]; + } + /** + * A version of the Android OS + */ + interface Schema$AndroidVersion { + /** + * The API level for this Android version. Examples: 18, 19 @OutputOnly + */ + apiLevel?: number; + /** + * The code name for this Android version. Examples: "JellyBean", + * "KitKat" @OutputOnly + */ + codeName?: string; + /** + * Market share for this version. @OutputOnly + */ + distribution?: Schema$Distribution; + /** + * An opaque id for this Android version. Use this id to invoke the + * TestExecutionService. @OutputOnly + */ + id?: string; + /** + * The date this Android version became available in the market. @OutputOnly + */ + releaseDate?: Schema$Date; + /** + * Tags for this dimension. Examples: "default", + * "preview", "deprecated" + */ + tags?: string[]; + /** + * A string representing this version of the Android OS. Examples: + * "4.3", "4.4" @OutputOnly + */ + versionString?: string; + } + /** + * An Android package file to install. + */ + interface Schema$Apk { + /** + * The path to an APK to be installed on the device before the test begins. + * Optional + */ + location?: Schema$FileReference; + /** + * The java package for the APK to be installed. Optional, value is + * determined by examining the application's manifest. + */ + packageName?: string; + } + /** + * Android application details based on application manifest and apk archive + * contents + */ + interface Schema$ApkDetail { + apkManifest?: Schema$ApkManifest; + } + /** + * An Android app manifest. See + * http://developer.android.com/guide/topics/manifest/manifest-intro.html + */ + interface Schema$ApkManifest { + /** + * User-readable name for the application. + */ + applicationLabel?: string; + intentFilters?: Schema$IntentFilter[]; + /** + * Maximum API level on which the application is designed to run. + */ + maxSdkVersion?: number; + /** + * Minimum API level required for the application to run. + */ + minSdkVersion?: number; + /** + * Full Java-style package name for this application, e.g. + * "com.example.foo". + */ + packageName?: string; + } + /** + * Response containing the current state of the specified test matrix. + */ + interface Schema$CancelTestMatrixResponse { + /** + * The current rolled-up state of the test matrix. If this state is already + * final, then the cancelation request will have no effect. + */ + testState?: string; + } + /** + * Information about the client which invoked the test. + */ + interface Schema$ClientInfo { + /** + * The list of detailed information about client. + */ + clientInfoDetails?: Schema$ClientInfoDetail[]; + /** + * Client name, such as gcloud. Required + */ + name?: string; + } + /** + * Key-value pair of detailed information about the client which invoked the + * test. For example {'Version', '1.0'}, {'Release + * Track', 'BETA'} + */ + interface Schema$ClientInfoDetail { + /** + * The key of detailed client information. Required + */ + key?: string; + /** + * The value of detailed client information. Required + */ + value?: string; + } + /** + * Represents a whole or partial calendar date, e.g. a birthday. The time of + * day and time zone are either specified elsewhere or are not significant. + * The date is relative to the Proleptic Gregorian Calendar. This can + * represent: * A full date, with non-zero year, month and day values * A + * month and day value, with a zero year, e.g. an anniversary * A year on its + * own, with zero month and day values * A year and month value, with a zero + * day, e.g. a credit card expiration date Related types are + * google.type.TimeOfDay and `google.protobuf.Timestamp`. + */ + interface Schema$Date { + /** + * Day of month. Must be from 1 to 31 and valid for the year and month, or 0 + * if specifying a year by itself or a year and month where the day is not + * significant. + */ + day?: number; + /** + * Month of year. Must be from 1 to 12, or 0 if specifying a year without a + * month and day. + */ + month?: number; + /** + * Year of date. Must be from 1 to 9999, or 0 if specifying a date without a + * year. + */ + year?: number; + } + /** + * A single device file description. + */ + interface Schema$DeviceFile { + /** + * A reference to an opaque binary blob file + */ + obbFile?: Schema$ObbFile; + /** + * A reference to a regular file + */ + regularFile?: Schema$RegularFile; + } + /** + * Data about the relative number of devices running a given configuration of + * the Android platform. + */ + interface Schema$Distribution { + /** + * The estimated fraction (0-1) of the total market with this configuration. + * @OutputOnly + */ + marketShare?: number; + /** + * The time this distribution was measured. @OutputOnly + */ + measurementTime?: string; + } + /** + * The environment in which the test is run. + */ + interface Schema$Environment { + /** + * An Android device which must be used with an Android test. + */ + androidDevice?: Schema$AndroidDevice; + /** + * An iOS device which must be used with an iOS test. + */ + iosDevice?: Schema$IosDevice; + } + /** + * The matrix of environments in which the test is to be executed. + */ + interface Schema$EnvironmentMatrix { + /** + * A list of Android devices; the test will be run only on the specified + * devices. + */ + androidDeviceList?: Schema$AndroidDeviceList; + /** + * A matrix of Android devices. + */ + androidMatrix?: Schema$AndroidMatrix; + /** + * A list of iOS devices. + */ + iosDeviceList?: Schema$IosDeviceList; + } + /** + * A key-value pair passed as an environment variable to the test + */ + interface Schema$EnvironmentVariable { + /** + * Key for the environment variable + */ + key?: string; + /** + * Value for the environment variable + */ + value?: string; + } + /** + * A reference to a file, used for user inputs. + */ + interface Schema$FileReference { + /** + * A path to a file in Google Cloud Storage. Example: + * gs://build-app-1414623860166/app-debug-unaligned.apk + */ + gcsPath?: string; + } + /** + * Response containing the details of the specified Android application APK. + */ + interface Schema$GetApkDetailsResponse { + /** + * Details of the Android APK. + */ + apkDetail?: Schema$ApkDetail; + } + /** + * Enables automatic Google account login. If set, the service will + * automatically generate a Google test account and add it to the device, + * before executing the test. Note that test accounts might be reused. Many + * applications show their full set of functionalities when an account is + * present on the device. Logging into the device with these generated + * accounts allows testing more functionalities. + */ + interface Schema$GoogleAuto { + } + /** + * A storage location within Google cloud storage (GCS). + */ + interface Schema$GoogleCloudStorage { + /** + * The path to a directory in GCS that will eventually contain the results + * for this test. The requesting user must have write access on the bucket + * in the supplied path. Required + */ + gcsPath?: string; + } + /** + * The <intent-filter> section of an <activity> tag. + * https://developer.android.com/guide/topics/manifest/intent-filter-element.html + */ + interface Schema$IntentFilter { + /** + * The android:name value of the <action> tag + */ + actionNames?: string[]; + /** + * The android:name value of the <category> tag + */ + categoryNames?: string[]; + /** + * The android:mimeType value of the <data> tag + */ + mimeType?: string; + } + /** + * A single iOS device. + */ + interface Schema$IosDevice { + /** + * Required. The id of the iOS device to be used. Use the + * EnvironmentDiscoveryService to get supported options. + */ + iosModelId?: string; + /** + * Required. The id of the iOS major software version to be used. Use the + * EnvironmentDiscoveryService to get supported options. + */ + iosVersionId?: string; + /** + * Required. The locale the test device used for testing. Use the + * EnvironmentDiscoveryService to get supported options. + */ + locale?: string; + /** + * Required. How the device is oriented during the test. Use the + * EnvironmentDiscoveryService to get supported options. + */ + orientation?: string; + } + /** + * The currently supported iOS devices. + */ + interface Schema$IosDeviceCatalog { + /** + * Output only. The set of supported iOS device models. + */ + models?: Schema$IosModel[]; + /** + * Output only. The set of supported runtime configurations. + */ + runtimeConfiguration?: Schema$IosRuntimeConfiguration; + /** + * Output only. The set of supported iOS software versions. + */ + versions?: Schema$IosVersion[]; + } + /** + * A list of iOS device configurations in which the test is to be executed. + */ + interface Schema$IosDeviceList { + /** + * Required. A list of iOS devices + */ + iosDevices?: Schema$IosDevice[]; + } + /** + * A description of an iOS device tests may be run on. + */ + interface Schema$IosModel { + /** + * Output only. Device capabilities. Copied from + * https://developer.apple.com/library/archive/documentation/DeviceInformation/Reference/iOSDeviceCompatibility/DeviceCompatibilityMatrix/DeviceCompatibilityMatrix.html + */ + deviceCapabilities?: string[]; + /** + * Whether this device is a phone, tablet, wearable, etc. @OutputOnly + */ + formFactor?: string; + /** + * Output only. The unique opaque id for this model. Use this for invoking + * the TestExecutionService. + */ + id?: string; + /** + * Output only. The human-readable name for this device model. Examples: + * "iPhone 4s", "iPad Mini 2" + */ + name?: string; + /** + * Output only. The set of iOS major software versions this device supports. + */ + supportedVersionIds?: string[]; + /** + * Output only. Tags for this dimension. Examples: "default", + * "preview", "deprecated" + */ + tags?: string[]; + } + /** + * iOS configuration that can be selected at the time a test is run. + */ + interface Schema$IosRuntimeConfiguration { + /** + * Output only. The set of available locales. + */ + locales?: Schema$Locale[]; + /** + * Output only. The set of available orientations. + */ + orientations?: Schema$Orientation[]; + } + /** + * A description of how to set up an iOS device prior to a test. + */ + interface Schema$IosTestSetup { + /** + * Optional. The network traffic profile used for running the test. + * Available network profiles can be queried by using the + * NETWORK_CONFIGURATION environment type when calling + * TestEnvironmentDiscoveryService.GetTestEnvironmentCatalog. + */ + networkProfile?: string; + } + /** + * An iOS version + */ + interface Schema$IosVersion { + /** + * Output only. An opaque id for this iOS version. Use this id to invoke the + * TestExecutionService. + */ + id?: string; + /** + * Output only. An integer representing the major iOS version. Examples: + * "8", "9" + */ + majorVersion?: number; + /** + * Output only. An integer representing the minor iOS version. Examples: + * "1", "2" + */ + minorVersion?: number; + /** + * Output only. Tags for this dimension. Examples: "default", + * "preview", "deprecated" + */ + tags?: string[]; + } + /** + * A test of an iOS application that uses the XCTest framework. Xcode supports + * the option to "build for testing", which generates an .xctestrun + * file that contains a test specification (arguments, test methods, etc). + * This test type accepts a zip file containing the .xctestrun file and the + * corresponding contents of the Build/Products directory that contains all + * the binaries needed to run the tests. + */ + interface Schema$IosXcTest { + /** + * Required. The .zip containing the .xctestrun file and the contents of the + * DerivedData/Build/Products directory. The .xctestrun file in this zip is + * ignored if the xctestrun field is specified. + */ + testsZip?: Schema$FileReference; + /** + * Optional. An .xctestrun file that will override the .xctestrun file in + * the tests zip. Because the .xctestrun file contains environment variables + * along with test methods to run and/or ignore, this can be useful for + * sharding tests. Default is taken from the tests zip. + */ + xctestrun?: Schema$FileReference; + } + /** + * Specifies an intent that starts the main launcher activity. + */ + interface Schema$LauncherActivityIntent { + } + /** + * A location/region designation for language. + */ + interface Schema$Locale { + /** + * The id for this locale. Example: "en_US" @OutputOnly + */ + id?: string; + /** + * A human-friendly name for this language/locale. Example: + * "English" @OutputOnly + */ + name?: string; + /** + * A human-friendly string representing the region for this locale. Example: + * "United States" Not present for every locale. @OutputOnly + */ + region?: string; + /** + * Tags for this dimension. Examples: "default" + */ + tags?: string[]; + } + interface Schema$NetworkConfiguration { + /** + * The emulation rule applying to the download traffic + */ + downRule?: Schema$TrafficRule; + /** + * The unique opaque id for this network traffic configuration @OutputOnly + */ + id?: string; + /** + * The emulation rule applying to the upload traffic + */ + upRule?: Schema$TrafficRule; + } + interface Schema$NetworkConfigurationCatalog { + configurations?: Schema$NetworkConfiguration[]; + } + /** + * An opaque binary blob file to install on the device before the test starts + */ + interface Schema$ObbFile { + /** + * Opaque Binary Blob (OBB) file(s) to install on the device Required + */ + obb?: Schema$FileReference; + /** + * OBB file name which must conform to the format as specified by Android + * e.g. [main|patch].0300110.com.example.android.obb which will be installed + * into <shared-storage>/Android/obb/<package-name>/ on the + * device Required + */ + obbFileName?: string; + } + /** + * Screen orientation of the device. + */ + interface Schema$Orientation { + /** + * The id for this orientation. Example: "portrait" @OutputOnly + */ + id?: string; + /** + * A human-friendly name for this orientation. Example: "portrait" + * @OutputOnly + */ + name?: string; + /** + * Tags for this dimension. Examples: "default" + */ + tags?: string[]; + } + /** + * The currently provided software environment on the devices under test. + */ + interface Schema$ProvidedSoftwareCatalog { + /** + * A string representing the current version of Android Test Orchestrator + * that is provided by TestExecutionService. Example: "1.0.2 beta" + */ + orchestratorVersion?: string; + } + /** + * A file or directory to install on the device before the test starts + */ + interface Schema$RegularFile { + /** + * Required + */ + content?: Schema$FileReference; + /** + * Where to put the content on the device. Must be an absolute, whitelisted + * path. If the file exists, it will be replaced. The following device-side + * directories and any of their subdirectories are whitelisted: + * <p>${EXTERNAL_STORAGE}, or /sdcard</p> + * <p>${ANDROID_DATA}/local/tmp, or /data/local/tmp</p> + * <p>Specifying a path outside of these directory trees is invalid. + * <p> The paths /sdcard and /data will be made available and treated + * as implicit path substitutions. E.g. if /sdcard on a particular device + * does not map to external storage, the system will replace it with the + * external storage path prefix for that device and copy the file there. + * <p> It is strongly advised to use the <a href= + * "http://developer.android.com/reference/android/os/Environment.html"> + * Environment API</a> in app and test code to access files on the + * device in a portable way. Required + */ + devicePath?: string; + } + /** + * Locations where the results of running the test are stored. + */ + interface Schema$ResultStorage { + /** + * Required. + */ + googleCloudStorage?: Schema$GoogleCloudStorage; + /** + * The tool results execution that results are written to. @OutputOnly + */ + toolResultsExecution?: Schema$ToolResultsExecution; + /** + * The tool results history that contains the tool results execution that + * results are written to. Optional, if not provided the service will + * choose an appropriate value. + */ + toolResultsHistory?: Schema$ToolResultsHistory; + } + /** + * Directs Robo to interact with a specific UI element if it is encountered + * during the crawl. Currently, Robo can perform text entry or element click. + */ + interface Schema$RoboDirective { + /** + * The type of action that Robo should perform on the specified element. + * Required. + */ + actionType?: string; + /** + * The text that Robo is directed to set. If left empty, the directive will + * be treated as a CLICK on the element matching the resource_name. Optional + */ + inputText?: string; + /** + * The android resource name of the target UI element For example, in + * Java: R.string.foo in xml: @string/foo Only the “foo” part is needed. + * Reference doc: + * https://developer.android.com/guide/topics/resources/accessing-resources.html + * Required + */ + resourceName?: string; + } + /** + * Message for specifying the start activities to crawl + */ + interface Schema$RoboStartingIntent { + launcherActivity?: Schema$LauncherActivityIntent; + startActivity?: Schema$StartActivityIntent; + } + /** + * A starting intent specified by an action, uri, and categories. + */ + interface Schema$StartActivityIntent { + /** + * Action name. Required for START_ACTIVITY. + */ + action?: string; + /** + * Intent categories to set on the intent. Optional. + */ + categories?: string[]; + /** + * URI for the action. Optional. + */ + uri?: string; + } + /** + * Additional details about the progress of the running test. + */ + interface Schema$TestDetails { + /** + * If the TestState is ERROR, then this string will contain human-readable + * details about the error. @OutputOnly + */ + errorMessage?: string; + /** + * Human-readable, detailed descriptions of the test's progress. For + * example: "Provisioning a device", "Starting Test". + * During the course of execution new data may be appended to the end of + * progress_messages. @OutputOnly + */ + progressMessages?: string[]; + /** + * Indicates that video will not be recorded for this execution either + * because the user chose to disable it or the device does not support it. + * See AndroidModel.video_recording_not_supported @OutputOnly + */ + videoRecordingDisabled?: boolean; + } + /** + * A description of a test environment. + */ + interface Schema$TestEnvironmentCatalog { + /** + * Android devices suitable for running Android Instrumentation Tests. + */ + androidDeviceCatalog?: Schema$AndroidDeviceCatalog; + /** + * Supported iOS devices + */ + iosDeviceCatalog?: Schema$IosDeviceCatalog; + /** + * Supported network configurations + */ + networkConfigurationCatalog?: Schema$NetworkConfigurationCatalog; + /** + * The software test environment provided by TestExecutionService. + */ + softwareCatalog?: Schema$ProvidedSoftwareCatalog; + } + /** + * Specifies a single test to be executed in a single environment. + */ + interface Schema$TestExecution { + /** + * How the host machine(s) are configured. @OutputOnly + */ + environment?: Schema$Environment; + /** + * Unique id set by the backend. @OutputOnly + */ + id?: string; + /** + * Id of the containing TestMatrix. @OutputOnly + */ + matrixId?: string; + /** + * The cloud project that owns the test execution. @OutputOnly + */ + projectId?: string; + /** + * Indicates the current progress of the test execution (e.g., FINISHED). + * @OutputOnly + */ + state?: string; + /** + * Additional details about the running test. @OutputOnly + */ + testDetails?: Schema$TestDetails; + /** + * How to run the test. @OutputOnly + */ + testSpecification?: Schema$TestSpecification; + /** + * The time this test execution was initially created. @OutputOnly + */ + timestamp?: string; + /** + * Where the results for this execution are written. @OutputOnly + */ + toolResultsStep?: Schema$ToolResultsStep; + } + /** + * A group of one or more TestExecutions, built by taking a product of values + * over a pre-defined set of axes. + */ + interface Schema$TestMatrix { + /** + * Information about the client which invoked the test. Optional + */ + clientInfo?: Schema$ClientInfo; + /** + * How the host machine(s) are configured. Required + */ + environmentMatrix?: Schema$EnvironmentMatrix; + /** + * Describes why the matrix is considered invalid. Only useful for matrices + * in the INVALID state. @OutputOnly + */ + invalidMatrixDetails?: string; + /** + * The cloud project that owns the test matrix. @OutputOnly + */ + projectId?: string; + /** + * Where the results for the matrix are written. Required + */ + resultStorage?: Schema$ResultStorage; + /** + * Indicates the current progress of the test matrix (e.g., FINISHED) + * @OutputOnly + */ + state?: string; + /** + * The list of test executions that the service creates for this matrix. + * @OutputOnly + */ + testExecutions?: Schema$TestExecution[]; + /** + * Unique id set by the service. @OutputOnly + */ + testMatrixId?: string; + /** + * How to run the test. Required + */ + testSpecification?: Schema$TestSpecification; + /** + * The time this test matrix was initially created. @OutputOnly + */ + timestamp?: string; + } + /** + * A description of how to set up the Android device prior to running the + * test. + */ + interface Schema$TestSetup { + /** + * The device will be logged in on this account for the duration of the + * test. Optional + */ + account?: Schema$Account; + /** + * APKs to install in addition to those being directly tested. Currently + * capped at 100. Optional + */ + additionalApks?: Schema$Apk[]; + /** + * List of directories on the device to upload to GCS at the end of the + * test; they must be absolute paths under /sdcard or /data/local/tmp. Path + * names are restricted to characters a-z A-Z 0-9 _ - . + and / Note: The + * paths /sdcard and /data will be made available and treated as implicit + * path substitutions. E.g. if /sdcard on a particular device does not map + * to external storage, the system will replace it with the external storage + * path prefix for that device. Optional + */ + directoriesToPull?: string[]; + /** + * Environment variables to set for the test (only applicable for + * instrumentation tests). + */ + environmentVariables?: Schema$EnvironmentVariable[]; + /** + * List of files to push to the device before starting the test. Optional + */ + filesToPush?: Schema$DeviceFile[]; + /** + * Optional. The network traffic profile used for running the test. + * Available network profiles can be queried by using the + * NETWORK_CONFIGURATION environment type when calling + * TestEnvironmentDiscoveryService.GetTestEnvironmentCatalog. + */ + networkProfile?: string; + } + /** + * A description of how to run the test. + */ + interface Schema$TestSpecification { + /** + * An Android instrumentation test. + */ + androidInstrumentationTest?: Schema$AndroidInstrumentationTest; + /** + * An Android robo test. + */ + androidRoboTest?: Schema$AndroidRoboTest; + /** + * An Android Application with a Test Loop + */ + androidTestLoop?: Schema$AndroidTestLoop; + /** + * Enables automatic Google account login. If set, the service will + * automatically generate a Google test account and add it to the device, + * before executing the test. Note that test accounts might be reused. Many + * applications show their full set of functionalities when an account is + * present on the device. Logging into the device with these generated + * accounts allows testing more functionalities. Default is false. Optional + */ + autoGoogleLogin?: boolean; + /** + * Disables performance metrics recording; may reduce test latency. + */ + disablePerformanceMetrics?: boolean; + /** + * Disables video recording; may reduce test latency. + */ + disableVideoRecording?: boolean; + /** + * Optional. Test setup requirements for iOS. + */ + iosTestSetup?: Schema$IosTestSetup; + /** + * An iOS XCTest, via an .xctestrun file + */ + iosXcTest?: Schema$IosXcTest; + /** + * Test setup requirements for Android e.g. files to install, bootstrap + * scripts. Optional + */ + testSetup?: Schema$TestSetup; + /** + * Max time a test execution is allowed to run before it is automatically + * cancelled. Optional, default is 5 min. + */ + testTimeout?: string; + } + /** + * Represents a tool results execution resource. This has the results of a + * TestMatrix. + */ + interface Schema$ToolResultsExecution { + /** + * A tool results execution ID. @OutputOnly + */ + executionId?: string; + /** + * A tool results history ID. @OutputOnly + */ + historyId?: string; + /** + * The cloud project that owns the tool results execution. @OutputOnly + */ + projectId?: string; + } + /** + * Represents a tool results history resource. + */ + interface Schema$ToolResultsHistory { + /** + * A tool results history ID. Required + */ + historyId?: string; + /** + * The cloud project that owns the tool results history. Required + */ + projectId?: string; + } + /** + * Represents a tool results step resource. This has the results of a + * TestExecution. + */ + interface Schema$ToolResultsStep { + /** + * A tool results execution ID. @OutputOnly + */ + executionId?: string; + /** + * A tool results history ID. @OutputOnly + */ + historyId?: string; + /** + * The cloud project that owns the tool results step. @OutputOnly + */ + projectId?: string; + /** + * A tool results step ID. @OutputOnly + */ + stepId?: string; + } + /** + * Network emulation parameters + */ + interface Schema$TrafficRule { + /** + * Bandwidth in kbits/second + */ + bandwidth?: number; + /** + * Burst size in kbits + */ + burst?: number; + /** + * Packet delay, must be >= 0 + */ + delay?: string; + /** + * Packet duplication ratio (0.0 - 1.0) + */ + packetDuplicationRatio?: number; + /** + * Packet loss ratio (0.0 - 1.0) + */ + packetLossRatio?: number; + } + class Resource$Applicationdetailservice { + root: Testing; + constructor(root: Testing); + getRoot(): Testing; + /** + * testing.applicationDetailService.getApkDetails + * @desc Request the details of an Android application APK. + * @alias testing.applicationDetailService.getApkDetails + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().FileReference} 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 + */ + getApkDetails(params?: Params$Resource$Applicationdetailservice$Getapkdetails, options?: MethodOptions): AxiosPromise; + getApkDetails(params: Params$Resource$Applicationdetailservice$Getapkdetails, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getApkDetails(params: Params$Resource$Applicationdetailservice$Getapkdetails, callback: BodyResponseCallback): void; + getApkDetails(callback: BodyResponseCallback): void; + } + interface Params$Resource$Applicationdetailservice$Getapkdetails { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$FileReference; + } + class Resource$Projects { + root: Testing; + testMatrices: Resource$Projects$Testmatrices; + constructor(root: Testing); + getRoot(): Testing; + } + class Resource$Projects$Testmatrices { + root: Testing; + constructor(root: Testing); + getRoot(): Testing; + /** + * testing.projects.testMatrices.cancel + * @desc Cancels unfinished test executions in a test matrix. This call + * returns immediately and cancellation proceeds asychronously. If the + * matrix is already final, this operation will have no effect. May return + * any of the following canonical error codes: - PERMISSION_DENIED - if the + * user is not authorized to read project - INVALID_ARGUMENT - if the + * request is malformed - NOT_FOUND - if the Test Matrix does not exist + * @alias testing.projects.testMatrices.cancel + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId Cloud project that owns the test. + * @param {string} params.testMatrixId Test matrix that will be canceled. + * @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 + */ + cancel(params?: Params$Resource$Projects$Testmatrices$Cancel, options?: MethodOptions): AxiosPromise; + cancel(params: Params$Resource$Projects$Testmatrices$Cancel, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + cancel(params: Params$Resource$Projects$Testmatrices$Cancel, callback: BodyResponseCallback): void; + cancel(callback: BodyResponseCallback): void; + /** + * testing.projects.testMatrices.create + * @desc Request to run a matrix of tests according to the given + * specifications. Unsupported environments will be returned in the state + * UNSUPPORTED. Matrices are limited to at most 200 supported executions. + * May return any of the following canonical error codes: - + * PERMISSION_DENIED - if the user is not authorized to write to project - + * INVALID_ARGUMENT - if the request is malformed or if the matrix expands + * to more than 200 supported executions + * @alias testing.projects.testMatrices.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId The GCE project under which this job will run. + * @param {string=} params.requestId A string id used to detect duplicated requests. Ids are automatically scoped to a project, so users should ensure the ID is unique per-project. A UUID is recommended. Optional, but strongly recommended. + * @param {().TestMatrix} 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 + */ + create(params?: Params$Resource$Projects$Testmatrices$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Testmatrices$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Testmatrices$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * testing.projects.testMatrices.get + * @desc Check the status of a test matrix. May return any of the following + * canonical error codes: - PERMISSION_DENIED - if the user is not + * authorized to read project - INVALID_ARGUMENT - if the request is + * malformed - NOT_FOUND - if the Test Matrix does not exist + * @alias testing.projects.testMatrices.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId Cloud project that owns the test matrix. + * @param {string} params.testMatrixId Unique test matrix id which was assigned by the service. + * @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?: Params$Resource$Projects$Testmatrices$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Testmatrices$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Testmatrices$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Testmatrices$Cancel { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Cloud project that owns the test. + */ + projectId?: string; + /** + * Test matrix that will be canceled. + */ + testMatrixId?: string; + } + interface Params$Resource$Projects$Testmatrices$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The GCE project under which this job will run. + */ + projectId?: string; + /** + * A string id used to detect duplicated requests. Ids are automatically + * scoped to a project, so users should ensure the ID is unique per-project. + * A UUID is recommended. Optional, but strongly recommended. + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$TestMatrix; + } + interface Params$Resource$Projects$Testmatrices$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Cloud project that owns the test matrix. + */ + projectId?: string; + /** + * Unique test matrix id which was assigned by the service. + */ + testMatrixId?: string; + } + class Resource$Testenvironmentcatalog { + root: Testing; + constructor(root: Testing); + getRoot(): Testing; + /** + * testing.testEnvironmentCatalog.get + * @desc Get the catalog of supported test environments. May return any of + * the following canonical error codes: - INVALID_ARGUMENT - if the request + * is malformed - NOT_FOUND - if the environment type does not exist - + * INTERNAL - if an internal error occurred + * @alias testing.testEnvironmentCatalog.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.environmentType The type of environment that should be listed. Required + * @param {string=} params.projectId For authorization, the cloud project requesting the TestEnvironmentCatalog. Optional + * @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?: Params$Resource$Testenvironmentcatalog$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Testenvironmentcatalog$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Testenvironmentcatalog$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Testenvironmentcatalog$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The type of environment that should be listed. Required + */ + environmentType?: string; + /** + * For authorization, the cloud project requesting the + * TestEnvironmentCatalog. Optional + */ + projectId?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/testing/v1.js b/express-server/node_modules/googleapis/build/src/apis/testing/v1.js new file mode 100644 index 00000000..bf0d264f --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/testing/v1.js @@ -0,0 +1,257 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var testing_v1; +(function (testing_v1) { + /** + * Cloud Testing API + * + * Allows developers to run automated tests for their mobile applications on + * Google infrastructure. + * + * @example + * const {google} = require('googleapis'); + * const testing = google.testing('v1'); + * + * @namespace testing + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Testing + */ + class Testing { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.applicationDetailService = + new Resource$Applicationdetailservice(this); + this.projects = new Resource$Projects(this); + this.testEnvironmentCatalog = new Resource$Testenvironmentcatalog(this); + } + getRoot() { + return this.root; + } + } + testing_v1.Testing = Testing; + class Resource$Applicationdetailservice { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + getApkDetails(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://testing.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/applicationDetailService/getApkDetails') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + testing_v1.Resource$Applicationdetailservice = Resource$Applicationdetailservice; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.testMatrices = new Resource$Projects$Testmatrices(root); + } + getRoot() { + return this.root; + } + } + testing_v1.Resource$Projects = Resource$Projects; + class Resource$Projects$Testmatrices { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + cancel(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://testing.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/projects/{projectId}/testMatrices/{testMatrixId}:cancel') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'testMatrixId'], + pathParams: ['projectId', 'testMatrixId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://testing.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/projects/{projectId}/testMatrices') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId'], + pathParams: ['projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://testing.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/projects/{projectId}/testMatrices/{testMatrixId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId', 'testMatrixId'], + pathParams: ['projectId', 'testMatrixId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + testing_v1.Resource$Projects$Testmatrices = Resource$Projects$Testmatrices; + class Resource$Testenvironmentcatalog { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://testing.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/testEnvironmentCatalog/{environmentType}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['environmentType'], + pathParams: ['environmentType'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + testing_v1.Resource$Testenvironmentcatalog = Resource$Testenvironmentcatalog; +})(testing_v1 = exports.testing_v1 || (exports.testing_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/testing/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/testing/v1.js.map new file mode 100644 index 00000000..97f5cd8a --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/testing/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/testing/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/texttospeech/README.md b/express-server/node_modules/googleapis/build/src/apis/texttospeech/README.md new file mode 100644 index 00000000..a13393fc --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/texttospeech/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/texttospeech + +> Synthesizes natural-sounding speech by applying powerful neural network models. + +## Installation + +```sh +$ npm install @google/texttospeech +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/texttospeech/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/texttospeech/index.d.ts new file mode 100644 index 00000000..e1be947f --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/texttospeech/index.d.ts @@ -0,0 +1,10 @@ +import { texttospeech_v1 } from './v1'; +import { texttospeech_v1beta1 } from './v1beta1'; +export declare const VERSIONS: { + 'v1': typeof texttospeech_v1.Texttospeech; + 'v1beta1': typeof texttospeech_v1beta1.Texttospeech; +}; +export declare function texttospeech(version: 'v1'): texttospeech_v1.Texttospeech; +export declare function texttospeech(options: texttospeech_v1.Options): texttospeech_v1.Texttospeech; +export declare function texttospeech(version: 'v1beta1'): texttospeech_v1beta1.Texttospeech; +export declare function texttospeech(options: texttospeech_v1beta1.Options): texttospeech_v1beta1.Texttospeech; diff --git a/express-server/node_modules/googleapis/build/src/apis/texttospeech/index.js b/express-server/node_modules/googleapis/build/src/apis/texttospeech/index.js new file mode 100644 index 00000000..6fa309ff --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/texttospeech/index.js @@ -0,0 +1,27 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +const v1beta1_1 = require("./v1beta1"); +exports.VERSIONS = { + 'v1': v1_1.texttospeech_v1.Texttospeech, + 'v1beta1': v1beta1_1.texttospeech_v1beta1.Texttospeech, +}; +function texttospeech(versionOrOptions) { + return googleapis_common_1.getAPI('texttospeech', versionOrOptions, exports.VERSIONS, this); +} +exports.texttospeech = texttospeech; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/texttospeech/index.js.map b/express-server/node_modules/googleapis/build/src/apis/texttospeech/index.js.map new file mode 100644 index 00000000..aeb8127d --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/texttospeech/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/texttospeech/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAqC;AACrC,uCAA+C;AAElC,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,oBAAe,CAAC,YAAY;IAClC,SAAS,EAAE,8BAAoB,CAAC,YAAY;CAC7C,CAAC;AASF,SAAgB,YAAY,CAGxB,gBAC8D;IAChE,OAAO,0BAAM,CAAI,cAAc,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACrE,CAAC;AAND,oCAMC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/texttospeech/package.json b/express-server/node_modules/googleapis/build/src/apis/texttospeech/package.json new file mode 100644 index 00000000..ede34bc1 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/texttospeech/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/texttospeech", + "version": "0.1.0", + "description": "texttospeech", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/texttospeech/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/texttospeech/v1.d.ts new file mode 100644 index 00000000..e47b7988 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/texttospeech/v1.d.ts @@ -0,0 +1,274 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace texttospeech_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Cloud Text-to-Speech API + * + * Synthesizes natural-sounding speech by applying powerful neural network + * models. + * + * @example + * const {google} = require('googleapis'); + * const texttospeech = google.texttospeech('v1'); + * + * @namespace texttospeech + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Texttospeech + */ + class Texttospeech { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + text: Resource$Text; + voices: Resource$Voices; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Description of audio data to be synthesized. + */ + interface Schema$AudioConfig { + /** + * Required. The format of the requested audio byte stream. + */ + audioEncoding?: string; + /** + * Optional speaking pitch, in the range [-20.0, 20.0]. 20 means increase 20 + * semitones from the original pitch. -20 means decrease 20 semitones from + * the original pitch. + */ + pitch?: number; + /** + * The synthesis sample rate (in hertz) for this audio. Optional. If this + * is different from the voice's natural sample rate, then the + * synthesizer will honor this request by converting to the desired sample + * rate (which might result in worse audio quality), unless the specified + * sample rate is not supported for the encoding chosen, in which case it + * will fail the request and return google.rpc.Code.INVALID_ARGUMENT. + */ + sampleRateHertz?: number; + /** + * Optional speaking rate/speed, in the range [0.25, 4.0]. 1.0 is the normal + * native speed supported by the specific voice. 2.0 is twice as fast, and + * 0.5 is half as fast. If unset(0.0), defaults to the native 1.0 speed. Any + * other values < 0.25 or > 4.0 will return an error. + */ + speakingRate?: number; + /** + * Optional volume gain (in dB) of the normal native volume supported by the + * specific voice, in the range [-96.0, 16.0]. If unset, or set to a value + * of 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 + * (dB) will play at approximately half the amplitude of the normal native + * signal amplitude. A value of +6.0 (dB) will play at approximately twice + * the amplitude of the normal native signal amplitude. Strongly recommend + * not to exceed +10 (dB) as there's usually no effective increase in + * loudness for any value greater than that. + */ + volumeGainDb?: number; + } + /** + * The message returned to the client by the `ListVoices` method. + */ + interface Schema$ListVoicesResponse { + /** + * The list of voices. + */ + voices?: Schema$Voice[]; + } + /** + * Contains text input to be synthesized. Either `text` or `ssml` must be + * supplied. Supplying both or neither returns + * google.rpc.Code.INVALID_ARGUMENT. The input size is limited to 5000 + * characters. + */ + interface Schema$SynthesisInput { + /** + * The SSML document to be synthesized. The SSML document must be valid and + * well-formed. Otherwise the RPC will fail and return + * google.rpc.Code.INVALID_ARGUMENT. For more information, see + * [SSML](/speech/text-to-speech/docs/ssml). + */ + ssml?: string; + /** + * The raw text to be synthesized. + */ + text?: string; + } + /** + * The top-level message sent by the client for the `SynthesizeSpeech` method. + */ + interface Schema$SynthesizeSpeechRequest { + /** + * Required. The configuration of the synthesized audio. + */ + audioConfig?: Schema$AudioConfig; + /** + * Required. The Synthesizer requires either plain text or SSML as input. + */ + input?: Schema$SynthesisInput; + /** + * Required. The desired voice of the synthesized audio. + */ + voice?: Schema$VoiceSelectionParams; + } + /** + * The message returned to the client by the `SynthesizeSpeech` method. + */ + interface Schema$SynthesizeSpeechResponse { + /** + * The audio data bytes encoded as specified in the request, including the + * header (For LINEAR16 audio, we include the WAV header). Note: as with all + * bytes fields, protobuffers use a pure binary representation, whereas JSON + * representations use base64. + */ + audioContent?: string; + } + /** + * Description of a voice supported by the TTS service. + */ + interface Schema$Voice { + /** + * The languages that this voice supports, expressed as + * [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tags + * (e.g. "en-US", "es-419", "cmn-tw"). + */ + languageCodes?: string[]; + /** + * The name of this voice. Each distinct voice has a unique name. + */ + name?: string; + /** + * The natural sample rate (in hertz) for this voice. + */ + naturalSampleRateHertz?: number; + /** + * The gender of this voice. + */ + ssmlGender?: string; + } + /** + * Description of which voice to use for a synthesis request. + */ + interface Schema$VoiceSelectionParams { + /** + * The language (and optionally also the region) of the voice expressed as a + * [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag, e.g. + * "en-US". Required. This should not include a script tag (e.g. + * use "cmn-cn" rather than "cmn-Hant-cn"), because the + * script will be inferred from the input provided in the SynthesisInput. + * The TTS service will use this parameter to help choose an appropriate + * voice. Note that the TTS service may choose a voice with a slightly + * different language code than the one selected; it may substitute a + * different region (e.g. using en-US rather than en-CA if there isn't a + * Canadian voice available), or even a different language, e.g. using + * "nb" (Norwegian Bokmal) instead of "no" + * (Norwegian)". + */ + languageCode?: string; + /** + * The name of the voice. Optional; if not set, the service will choose a + * voice based on the other parameters such as language_code and gender. + */ + name?: string; + /** + * The preferred gender of the voice. Optional; if not set, the service will + * choose a voice based on the other parameters such as language_code and + * name. Note that this is only a preference, not requirement; if a voice of + * the appropriate gender is not available, the synthesizer should + * substitute a voice with a different gender rather than failing the + * request. + */ + ssmlGender?: string; + } + class Resource$Text { + root: Texttospeech; + constructor(root: Texttospeech); + getRoot(): Texttospeech; + /** + * texttospeech.text.synthesize + * @desc Synthesizes speech synchronously: receive results after all text + * input has been processed. + * @alias texttospeech.text.synthesize + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().SynthesizeSpeechRequest} 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 + */ + synthesize(params?: Params$Resource$Text$Synthesize, options?: MethodOptions): AxiosPromise; + synthesize(params: Params$Resource$Text$Synthesize, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + synthesize(params: Params$Resource$Text$Synthesize, callback: BodyResponseCallback): void; + synthesize(callback: BodyResponseCallback): void; + } + interface Params$Resource$Text$Synthesize { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$SynthesizeSpeechRequest; + } + class Resource$Voices { + root: Texttospeech; + constructor(root: Texttospeech); + getRoot(): Texttospeech; + /** + * texttospeech.voices.list + * @desc Returns a list of Voice supported for synthesis. + * @alias texttospeech.voices.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.languageCode Optional (but recommended) [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. If specified, the ListVoices call will only return voices that can be used to synthesize this language_code. E.g. when specifying "en-NZ", you will get supported "en-*" voices; when specifying "no", you will get supported "no-*" (Norwegian) and "nb-*" (Norwegian Bokmal) voices; specifying "zh" will also get supported "cmn-*" voices; specifying "zh-hk" will also get supported "yue-*" voices. + * @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?: Params$Resource$Voices$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Voices$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Voices$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Voices$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional (but recommended) + * [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. If + * specified, the ListVoices call will only return voices that can be used + * to synthesize this language_code. E.g. when specifying "en-NZ", you will + * get supported "en-*" voices; when specifying "no", you will get supported + * "no-*" (Norwegian) and "nb-*" (Norwegian Bokmal) voices; specifying "zh" + * will also get supported "cmn-*" voices; specifying "zh-hk" will also get + * supported "yue-*" voices. + */ + languageCode?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/texttospeech/v1.js b/express-server/node_modules/googleapis/build/src/apis/texttospeech/v1.js new file mode 100644 index 00000000..ec509cbc --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/texttospeech/v1.js @@ -0,0 +1,138 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var texttospeech_v1; +(function (texttospeech_v1) { + /** + * Cloud Text-to-Speech API + * + * Synthesizes natural-sounding speech by applying powerful neural network + * models. + * + * @example + * const {google} = require('googleapis'); + * const texttospeech = google.texttospeech('v1'); + * + * @namespace texttospeech + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Texttospeech + */ + class Texttospeech { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.text = new Resource$Text(this); + this.voices = new Resource$Voices(this); + } + getRoot() { + return this.root; + } + } + texttospeech_v1.Texttospeech = Texttospeech; + class Resource$Text { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + synthesize(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://texttospeech.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/text:synthesize') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + texttospeech_v1.Resource$Text = Resource$Text; + class Resource$Voices { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://texttospeech.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/voices').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + texttospeech_v1.Resource$Voices = Resource$Voices; +})(texttospeech_v1 = exports.texttospeech_v1 || (exports.texttospeech_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/texttospeech/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/texttospeech/v1.js.map new file mode 100644 index 00000000..fad6154d --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/texttospeech/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/texttospeech/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/texttospeech/v1beta1.d.ts b/express-server/node_modules/googleapis/build/src/apis/texttospeech/v1beta1.d.ts new file mode 100644 index 00000000..27ba8e9b --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/texttospeech/v1beta1.d.ts @@ -0,0 +1,280 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace texttospeech_v1beta1 { + interface Options extends GlobalOptions { + version: 'v1beta1'; + } + /** + * Cloud Text-to-Speech API + * + * Synthesizes natural-sounding speech by applying powerful neural network + * models. + * + * @example + * const {google} = require('googleapis'); + * const texttospeech = google.texttospeech('v1beta1'); + * + * @namespace texttospeech + * @type {Function} + * @version v1beta1 + * @variation v1beta1 + * @param {object=} options Options for Texttospeech + */ + class Texttospeech { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + text: Resource$Text; + voices: Resource$Voices; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Description of audio data to be synthesized. + */ + interface Schema$AudioConfig { + /** + * Required. The format of the requested audio byte stream. + */ + audioEncoding?: string; + /** + * An identifier which selects 'audio effects' profiles that are + * applied on (post synthesized) text to speech. Effects are applied on top + * of each other in the order they are given. + */ + effectsProfileId?: string[]; + /** + * Optional speaking pitch, in the range [-20.0, 20.0]. 20 means increase 20 + * semitones from the original pitch. -20 means decrease 20 semitones from + * the original pitch. + */ + pitch?: number; + /** + * The synthesis sample rate (in hertz) for this audio. Optional. If this + * is different from the voice's natural sample rate, then the + * synthesizer will honor this request by converting to the desired sample + * rate (which might result in worse audio quality), unless the specified + * sample rate is not supported for the encoding chosen, in which case it + * will fail the request and return google.rpc.Code.INVALID_ARGUMENT. + */ + sampleRateHertz?: number; + /** + * Optional speaking rate/speed, in the range [0.25, 4.0]. 1.0 is the normal + * native speed supported by the specific voice. 2.0 is twice as fast, and + * 0.5 is half as fast. If unset(0.0), defaults to the native 1.0 speed. Any + * other values < 0.25 or > 4.0 will return an error. + */ + speakingRate?: number; + /** + * Optional volume gain (in dB) of the normal native volume supported by the + * specific voice, in the range [-96.0, 16.0]. If unset, or set to a value + * of 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 + * (dB) will play at approximately half the amplitude of the normal native + * signal amplitude. A value of +6.0 (dB) will play at approximately twice + * the amplitude of the normal native signal amplitude. Strongly recommend + * not to exceed +10 (dB) as there's usually no effective increase in + * loudness for any value greater than that. + */ + volumeGainDb?: number; + } + /** + * The message returned to the client by the `ListVoices` method. + */ + interface Schema$ListVoicesResponse { + /** + * The list of voices. + */ + voices?: Schema$Voice[]; + } + /** + * Contains text input to be synthesized. Either `text` or `ssml` must be + * supplied. Supplying both or neither returns + * google.rpc.Code.INVALID_ARGUMENT. The input size is limited to 5000 + * characters. + */ + interface Schema$SynthesisInput { + /** + * The SSML document to be synthesized. The SSML document must be valid and + * well-formed. Otherwise the RPC will fail and return + * google.rpc.Code.INVALID_ARGUMENT. For more information, see + * [SSML](/speech/text-to-speech/docs/ssml). + */ + ssml?: string; + /** + * The raw text to be synthesized. + */ + text?: string; + } + /** + * The top-level message sent by the client for the `SynthesizeSpeech` method. + */ + interface Schema$SynthesizeSpeechRequest { + /** + * Required. The configuration of the synthesized audio. + */ + audioConfig?: Schema$AudioConfig; + /** + * Required. The Synthesizer requires either plain text or SSML as input. + */ + input?: Schema$SynthesisInput; + /** + * Required. The desired voice of the synthesized audio. + */ + voice?: Schema$VoiceSelectionParams; + } + /** + * The message returned to the client by the `SynthesizeSpeech` method. + */ + interface Schema$SynthesizeSpeechResponse { + /** + * The audio data bytes encoded as specified in the request, including the + * header (For LINEAR16 audio, we include the WAV header). Note: as with all + * bytes fields, protobuffers use a pure binary representation, whereas JSON + * representations use base64. + */ + audioContent?: string; + } + /** + * Description of a voice supported by the TTS service. + */ + interface Schema$Voice { + /** + * The languages that this voice supports, expressed as + * [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tags + * (e.g. "en-US", "es-419", "cmn-tw"). + */ + languageCodes?: string[]; + /** + * The name of this voice. Each distinct voice has a unique name. + */ + name?: string; + /** + * The natural sample rate (in hertz) for this voice. + */ + naturalSampleRateHertz?: number; + /** + * The gender of this voice. + */ + ssmlGender?: string; + } + /** + * Description of which voice to use for a synthesis request. + */ + interface Schema$VoiceSelectionParams { + /** + * The language (and optionally also the region) of the voice expressed as a + * [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag, e.g. + * "en-US". Required. This should not include a script tag (e.g. + * use "cmn-cn" rather than "cmn-Hant-cn"), because the + * script will be inferred from the input provided in the SynthesisInput. + * The TTS service will use this parameter to help choose an appropriate + * voice. Note that the TTS service may choose a voice with a slightly + * different language code than the one selected; it may substitute a + * different region (e.g. using en-US rather than en-CA if there isn't a + * Canadian voice available), or even a different language, e.g. using + * "nb" (Norwegian Bokmal) instead of "no" + * (Norwegian)". + */ + languageCode?: string; + /** + * The name of the voice. Optional; if not set, the service will choose a + * voice based on the other parameters such as language_code and gender. + */ + name?: string; + /** + * The preferred gender of the voice. Optional; if not set, the service will + * choose a voice based on the other parameters such as language_code and + * name. Note that this is only a preference, not requirement; if a voice of + * the appropriate gender is not available, the synthesizer should + * substitute a voice with a different gender rather than failing the + * request. + */ + ssmlGender?: string; + } + class Resource$Text { + root: Texttospeech; + constructor(root: Texttospeech); + getRoot(): Texttospeech; + /** + * texttospeech.text.synthesize + * @desc Synthesizes speech synchronously: receive results after all text + * input has been processed. + * @alias texttospeech.text.synthesize + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().SynthesizeSpeechRequest} 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 + */ + synthesize(params?: Params$Resource$Text$Synthesize, options?: MethodOptions): AxiosPromise; + synthesize(params: Params$Resource$Text$Synthesize, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + synthesize(params: Params$Resource$Text$Synthesize, callback: BodyResponseCallback): void; + synthesize(callback: BodyResponseCallback): void; + } + interface Params$Resource$Text$Synthesize { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$SynthesizeSpeechRequest; + } + class Resource$Voices { + root: Texttospeech; + constructor(root: Texttospeech); + getRoot(): Texttospeech; + /** + * texttospeech.voices.list + * @desc Returns a list of Voice supported for synthesis. + * @alias texttospeech.voices.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.languageCode Optional (but recommended) [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. If specified, the ListVoices call will only return voices that can be used to synthesize this language_code. E.g. when specifying "en-NZ", you will get supported "en-*" voices; when specifying "no", you will get supported "no-*" (Norwegian) and "nb-*" (Norwegian Bokmal) voices; specifying "zh" will also get supported "cmn-*" voices; specifying "zh-hk" will also get supported "yue-*" voices. + * @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?: Params$Resource$Voices$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Voices$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Voices$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Voices$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Optional (but recommended) + * [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. If + * specified, the ListVoices call will only return voices that can be used + * to synthesize this language_code. E.g. when specifying "en-NZ", you will + * get supported "en-*" voices; when specifying "no", you will get supported + * "no-*" (Norwegian) and "nb-*" (Norwegian Bokmal) voices; specifying "zh" + * will also get supported "cmn-*" voices; specifying "zh-hk" will also get + * supported "yue-*" voices. + */ + languageCode?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/texttospeech/v1beta1.js b/express-server/node_modules/googleapis/build/src/apis/texttospeech/v1beta1.js new file mode 100644 index 00000000..bbf1e0f7 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/texttospeech/v1beta1.js @@ -0,0 +1,138 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var texttospeech_v1beta1; +(function (texttospeech_v1beta1) { + /** + * Cloud Text-to-Speech API + * + * Synthesizes natural-sounding speech by applying powerful neural network + * models. + * + * @example + * const {google} = require('googleapis'); + * const texttospeech = google.texttospeech('v1beta1'); + * + * @namespace texttospeech + * @type {Function} + * @version v1beta1 + * @variation v1beta1 + * @param {object=} options Options for Texttospeech + */ + class Texttospeech { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.text = new Resource$Text(this); + this.voices = new Resource$Voices(this); + } + getRoot() { + return this.root; + } + } + texttospeech_v1beta1.Texttospeech = Texttospeech; + class Resource$Text { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + synthesize(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://texttospeech.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/text:synthesize') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + texttospeech_v1beta1.Resource$Text = Resource$Text; + class Resource$Voices { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://texttospeech.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta1/voices').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + texttospeech_v1beta1.Resource$Voices = Resource$Voices; +})(texttospeech_v1beta1 = exports.texttospeech_v1beta1 || (exports.texttospeech_v1beta1 = {})); +//# sourceMappingURL=v1beta1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/texttospeech/v1beta1.js.map b/express-server/node_modules/googleapis/build/src/apis/texttospeech/v1beta1.js.map new file mode 100644 index 00000000..427180ba --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/texttospeech/v1beta1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1beta1.js","sourceRoot":"","sources":["../../../../src/apis/texttospeech/v1beta1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/toolresults/README.md b/express-server/node_modules/googleapis/build/src/apis/toolresults/README.md new file mode 100644 index 00000000..127ee35f --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/toolresults/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/toolresults + +> Reads and publishes results from Firebase Test Lab. + +## Installation + +```sh +$ npm install @google/toolresults +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/toolresults/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/toolresults/index.d.ts new file mode 100644 index 00000000..774ae979 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/toolresults/index.d.ts @@ -0,0 +1,6 @@ +import { toolresults_v1beta3 } from './v1beta3'; +export declare const VERSIONS: { + 'v1beta3': typeof toolresults_v1beta3.Toolresults; +}; +export declare function toolresults(version: 'v1beta3'): toolresults_v1beta3.Toolresults; +export declare function toolresults(options: toolresults_v1beta3.Options): toolresults_v1beta3.Toolresults; diff --git a/express-server/node_modules/googleapis/build/src/apis/toolresults/index.js b/express-server/node_modules/googleapis/build/src/apis/toolresults/index.js new file mode 100644 index 00000000..8c0225ac --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/toolresults/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1beta3_1 = require("./v1beta3"); +exports.VERSIONS = { + 'v1beta3': v1beta3_1.toolresults_v1beta3.Toolresults, +}; +function toolresults(versionOrOptions) { + return googleapis_common_1.getAPI('toolresults', versionOrOptions, exports.VERSIONS, this); +} +exports.toolresults = toolresults; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/toolresults/index.js.map b/express-server/node_modules/googleapis/build/src/apis/toolresults/index.js.map new file mode 100644 index 00000000..a8378321 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/toolresults/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/toolresults/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,uCAA8C;AAEjC,QAAA,QAAQ,GAAG;IACtB,SAAS,EAAE,6BAAmB,CAAC,WAAW;CAC3C,CAAC;AAMF,SAAgB,WAAW,CAEvB,gBAAuD;IACzD,OAAO,0BAAM,CAAI,aAAa,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACpE,CAAC;AAJD,kCAIC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/toolresults/package.json b/express-server/node_modules/googleapis/build/src/apis/toolresults/package.json new file mode 100644 index 00000000..982393d3 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/toolresults/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/toolresults", + "version": "0.1.0", + "description": "toolresults", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/toolresults/v1beta3.d.ts b/express-server/node_modules/googleapis/build/src/apis/toolresults/v1beta3.d.ts new file mode 100644 index 00000000..ef56d901 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/toolresults/v1beta3.d.ts @@ -0,0 +1,2551 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace toolresults_v1beta3 { + interface Options extends GlobalOptions { + version: 'v1beta3'; + } + /** + * Cloud Tool Results API + * + * Reads and publishes results from Firebase Test Lab. + * + * @example + * const {google} = require('googleapis'); + * const toolresults = google.toolresults('v1beta3'); + * + * @namespace toolresults + * @type {Function} + * @version v1beta3 + * @variation v1beta3 + * @param {object=} options Options for Toolresults + */ + class Toolresults { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + projects: Resource$Projects; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Android app information. + */ + interface Schema$AndroidAppInfo { + /** + * The name of the app. Optional + */ + name?: string; + /** + * The package name of the app. Required. + */ + packageName?: string; + /** + * The internal version code of the app. Optional. + */ + versionCode?: string; + /** + * The version name of the app. Optional. + */ + versionName?: string; + } + /** + * A test of an Android application that can control an Android component + * independently of its normal lifecycle. See for more information on types + * of Android tests. + */ + interface Schema$AndroidInstrumentationTest { + /** + * The java package for the test to be executed. Required + */ + testPackageId?: string; + /** + * The InstrumentationTestRunner class. Required + */ + testRunnerClass?: string; + /** + * Each target must be fully qualified with the package name or class name, + * in one of these formats: - "package package_name" - "class + * package_name.class_name" - "class + * package_name.class_name#method_name" If empty, all targets in the + * module will be run. + */ + testTargets?: string[]; + /** + * The flag indicates whether Android Test Orchestrator will be used to run + * test or not. + */ + useOrchestrator?: boolean; + } + /** + * A test of an android application that explores the application on a virtual + * or physical Android device, finding culprits and crashes as it goes. + */ + interface Schema$AndroidRoboTest { + /** + * The initial activity that should be used to start the app. Optional + */ + appInitialActivity?: string; + /** + * The java package for the bootstrap. Optional + */ + bootstrapPackageId?: string; + /** + * The runner class for the bootstrap. Optional + */ + bootstrapRunnerClass?: string; + /** + * The max depth of the traversal stack Robo can explore. Optional + */ + maxDepth?: number; + /** + * The max number of steps/actions Robo can execute. Default is no limit + * (0). Optional + */ + maxSteps?: number; + } + /** + * An Android mobile test specification. + */ + interface Schema$AndroidTest { + /** + * Information about the application under test. + */ + androidAppInfo?: Schema$AndroidAppInfo; + /** + * An Android instrumentation test. + */ + androidInstrumentationTest?: Schema$AndroidInstrumentationTest; + /** + * An Android robo test. + */ + androidRoboTest?: Schema$AndroidRoboTest; + /** + * Max time a test is allowed to run before it is automatically cancelled. + */ + testTimeout?: Schema$Duration; + } + /** + * `Any` contains an arbitrary serialized protocol buffer message along with a + * URL that describes the type of the serialized message. Protobuf library + * provides support to pack/unpack Any values in the form of utility functions + * or additional generated methods of the Any type. Example 1: Pack and + * unpack a message in C++. Foo foo = ...; Any any; any.PackFrom(foo); ... if + * (any.UnpackTo(&foo)) { ... } Example 2: Pack and unpack a message in + * Java. Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { + * foo = any.unpack(Foo.class); } Example 3: Pack and unpack a message in + * Python. foo = Foo(...) any = Any() any.Pack(foo) ... if + * any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ... Example 4: Pack and unpack a + * message in Go foo := &pb.Foo{...} any, err := ptypes.MarshalAny(foo) + * ... foo := &pb.Foo{} if err := ptypes.UnmarshalAny(any, foo); err != + * nil { ... } The pack methods provided by protobuf library will by default + * use 'type.googleapis.com/full.type.name' as the type URL and the + * unpack methods only use the fully qualified type name after the last + * '/' in the type URL, for example "foo.bar.com/x/y.z" will + * yield type name "y.z". JSON ==== The JSON representation of an + * `Any` value uses the regular representation of the deserialized, embedded + * message, with an additional field `@type` which contains the type URL. + * Example: package google.profile; message Person { string first_name = 1; + * string last_name = 2; } { "@type": + * "type.googleapis.com/google.profile.Person", + * "firstName": , "lastName": } If the embedded message + * type is well-known and has a custom JSON representation, that + * representation will be embedded adding a field `value` which holds the + * custom JSON in addition to the `@type` field. Example (for message + * [google.protobuf.Duration][]): { "@type": + * "type.googleapis.com/google.protobuf.Duration", + * "value": "1.212s" } + */ + interface Schema$Any { + /** + * A URL/resource name that uniquely identifies the type of the serialized + * protocol buffer message. This string must contain at least one + * "/" character. The last segment of the URL's path must + * represent the fully qualified name of the type (as in + * `path/google.protobuf.Duration`). The name should be in a canonical form + * (e.g., leading "." is not accepted). In practice, teams + * usually precompile into the binary all types that they expect it to use + * in the context of Any. However, for URLs which use the scheme `http`, + * `https`, or no scheme, one can optionally set up a type server that maps + * type URLs to message definitions as follows: * If no scheme is provided, + * `https` is assumed. * An HTTP GET on the URL must yield a + * [google.protobuf.Type][] value in binary format, or produce an error. * + * Applications are allowed to cache lookup results based on the URL, or + * have them precompiled into a binary to avoid any lookup. Therefore, + * binary compatibility needs to be preserved on changes to types. (Use + * versioned type names to manage breaking changes.) Note: this + * functionality is not currently available in the official protobuf + * release, and it is not used for type URLs beginning with + * type.googleapis.com. Schemes other than `http`, `https` (or the empty + * scheme) might be used with implementation specific semantics. + */ + typeUrl?: string; + /** + * Must be a valid serialized protocol buffer of the above specified type. + */ + value?: string; + } + interface Schema$AppStartTime { + /** + * Optional. The time from app start to reaching the developer-reported + * "fully drawn" time. This is only stored if the app includes a + * call to Activity.reportFullyDrawn(). See + * https://developer.android.com/topic/performance/launch-time.html#time-full + */ + fullyDrawnTime?: Schema$Duration; + /** + * The time from app start to the first displayed activity being drawn, as + * reported in Logcat. See + * https://developer.android.com/topic/performance/launch-time.html#time-initial + */ + initialDisplayTime?: Schema$Duration; + } + /** + * Encapsulates the metadata for basic sample series represented by a line + * chart + */ + interface Schema$BasicPerfSampleSeries { + perfMetricType?: string; + perfUnit?: string; + sampleSeriesLabel?: string; + } + /** + * The request must provide up to a maximum of 5000 samples to be created; a + * larger sample size will cause an INVALID_ARGUMENT error + */ + interface Schema$BatchCreatePerfSamplesRequest { + /** + * The set of PerfSamples to create should not include existing timestamps + */ + perfSamples?: Schema$PerfSample[]; + } + interface Schema$BatchCreatePerfSamplesResponse { + perfSamples?: Schema$PerfSample[]; + } + interface Schema$CPUInfo { + /** + * description of the device processor ie '1.8 GHz hexa core 64-bit + * ARMv8-A' + */ + cpuProcessor?: string; + /** + * the CPU clock speed in GHz + */ + cpuSpeedInGhz?: number; + /** + * the number of CPU cores + */ + numberOfCores?: number; + } + /** + * A Duration represents a signed, fixed-length span of time represented as a + * count of seconds and fractions of seconds at nanosecond resolution. It is + * independent of any calendar and concepts like "day" or + * "month". It is related to Timestamp in that the difference + * between two Timestamp values is a Duration and it can be added or + * subtracted from a Timestamp. Range is approximately +-10,000 years. # + * Examples Example 1: Compute Duration from two Timestamps in pseudo code. + * Timestamp start = ...; Timestamp end = ...; Duration duration = ...; + * duration.seconds = end.seconds - start.seconds; duration.nanos = end.nanos + * - start.nanos; if (duration.seconds 0) { duration.seconds += 1; + * duration.nanos -= 1000000000; } else if (durations.seconds > 0 + * && duration.nanos < 0) { duration.seconds -= 1; duration.nanos + * += 1000000000; } Example 2: Compute Timestamp from Timestamp + Duration in + * pseudo code. Timestamp start = ...; Duration duration = ...; Timestamp end + * = ...; end.seconds = start.seconds + duration.seconds; end.nanos = + * start.nanos + duration.nanos; if (end.nanos = 1000000000) { end.seconds += + * 1; end.nanos -= 1000000000; } Example 3: Compute Duration from + * datetime.timedelta in Python. td = datetime.timedelta(days=3, minutes=10) + * duration = Duration() duration.FromTimedelta(td) # JSON Mapping In JSON + * format, the Duration type is encoded as a string rather than an object, + * where the string ends in the suffix "s" (indicating seconds) and + * is preceded by the number of seconds, with nanoseconds expressed as + * fractional seconds. For example, 3 seconds with 0 nanoseconds should be + * encoded in JSON format as "3s", while 3 seconds and 1 nanosecond + * should be expressed in JSON format as "3.000000001s", and 3 + * seconds and 1 microsecond should be expressed in JSON format as + * "3.000001s". + */ + interface Schema$Duration { + /** + * Signed fractions of a second at nanosecond resolution of the span of + * time. Durations less than one second are represented with a 0 `seconds` + * field and a positive or negative `nanos` field. For durations of one + * second or more, a non-zero value for the `nanos` field must be of the + * same sign as the `seconds` field. Must be from -999,999,999 to + * +999,999,999 inclusive. + */ + nanos?: number; + /** + * Signed seconds of the span of time. Must be from -315,576,000,000 to + * +315,576,000,000 inclusive. Note: these bounds are computed from: 60 + * sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years + */ + seconds?: string; + } + /** + * An Execution represents a collection of Steps. For instance, it could + * represent: - a mobile test executed across a range of device configurations + * - a jenkins job with a build step followed by a test step The maximum size + * of an execution message is 1 MiB. An Execution can be updated until its + * state is set to COMPLETE at which point it becomes immutable. + */ + interface Schema$Execution { + /** + * The time when the Execution status transitioned to COMPLETE. This value + * will be set automatically when state transitions to COMPLETE. - In + * response: set if the execution state is COMPLETE. - In create/update + * request: never set + */ + completionTime?: Schema$Timestamp; + /** + * The time when the Execution was created. This value will be set + * automatically when CreateExecution is called. - In response: always set + * - In create/update request: never set + */ + creationTime?: Schema$Timestamp; + /** + * A unique identifier within a History for this Execution. Returns + * INVALID_ARGUMENT if this field is set or overwritten by the caller. - In + * response always set - In create/update request: never set + */ + executionId?: string; + /** + * Classify the result, for example into SUCCESS or FAILURE - In response: + * present if set by create/update request - In create/update request: + * optional + */ + outcome?: Schema$Outcome; + /** + * Lightweight information about execution request. - In response: present + * if set by create - In create: optional - In update: optional + */ + specification?: Schema$Specification; + /** + * The initial state is IN_PROGRESS. The only legal state transitions is + * from IN_PROGRESS to COMPLETE. A PRECONDITION_FAILED will be returned if + * an invalid transition is requested. The state can only be set to + * COMPLETE once. A FAILED_PRECONDITION will be returned if the state is set + * to COMPLETE multiple times. If the state is set to COMPLETE, all the + * in-progress steps within the execution will be set as COMPLETE. If the + * outcome of the step is not set, the outcome will be set to INCONCLUSIVE. + * - In response always set - In create/update request: optional + */ + state?: string; + /** + * TestExecution Matrix ID that the TestExecutionService uses. - In + * response: present if set by create - In create: optional - In update: + * never set + */ + testExecutionMatrixId?: string; + } + interface Schema$FailureDetail { + /** + * If the failure was severe because the system (app) under test crashed. + */ + crashed?: boolean; + /** + * If an app is not installed and thus no test can be run with the app. This + * might be caused by trying to run a test on an unsupported platform. + */ + notInstalled?: boolean; + /** + * If a native process (including any other than the app) crashed. + */ + otherNativeCrash?: boolean; + /** + * If the test overran some time limit, and that is why it failed. + */ + timedOut?: boolean; + /** + * If the robo was unable to crawl the app; perhaps because the app did not + * start. + */ + unableToCrawl?: boolean; + } + /** + * A reference to a file. + */ + interface Schema$FileReference { + /** + * The URI of a file stored in Google Cloud Storage. For example: + * http://storage.googleapis.com/mybucket/path/to/test.xml or in gsutil + * format: gs://mybucket/path/to/test.xml with version-specific info, + * gs://mybucket/path/to/test.xml#1360383693690000 An INVALID_ARGUMENT + * error will be returned if the URI format is not supported. - In + * response: always set - In create/update request: always set + */ + fileUri?: string; + } + /** + * Graphics statistics for the App. The information is collected from 'adb + * shell dumpsys graphicsstats'. For more info see: + * https://developer.android.com/training/testing/performance.html Statistics + * will only be present for API 23+. + */ + interface Schema$GraphicsStats { + /** + * Histogram of frame render times. There should be 154 buckets ranging from + * [5ms, 6ms) to [4950ms, infinity) + */ + buckets?: Schema$GraphicsStatsBucket[]; + /** + * Total "high input latency" events. + */ + highInputLatencyCount?: string; + /** + * Total frames with slow render time. Should be <= total_frames. + */ + jankyFrames?: string; + /** + * Total "missed vsync" events. + */ + missedVsyncCount?: string; + /** + * 50th percentile frame render time in milliseconds. + */ + p50Millis?: string; + /** + * 90th percentile frame render time in milliseconds. + */ + p90Millis?: string; + /** + * 95th percentile frame render time in milliseconds. + */ + p95Millis?: string; + /** + * 99th percentile frame render time in milliseconds. + */ + p99Millis?: string; + /** + * Total "slow bitmap upload" events. + */ + slowBitmapUploadCount?: string; + /** + * Total "slow draw" events. + */ + slowDrawCount?: string; + /** + * Total "slow UI thread" events. + */ + slowUiThreadCount?: string; + /** + * Total frames rendered by package. + */ + totalFrames?: string; + } + interface Schema$GraphicsStatsBucket { + /** + * Number of frames in the bucket. + */ + frameCount?: string; + /** + * Lower bound of render time in milliseconds. + */ + renderMillis?: string; + } + /** + * A History represents a sorted list of Executions ordered by the + * start_timestamp_millis field (descending). It can be used to group all the + * Executions of a continuous build. Note that the ordering only operates on + * one-dimension. If a repository has multiple branches, it means that + * multiple histories will need to be used in order to order Executions per + * branch. + */ + interface Schema$History { + /** + * A short human-readable (plain text) name to display in the UI. Maximum of + * 100 characters. - In response: present if set during create. - In create + * request: optional + */ + displayName?: string; + /** + * A unique identifier within a project for this History. Returns + * INVALID_ARGUMENT if this field is set or overwritten by the caller. - In + * response always set - In create request: never set + */ + historyId?: string; + /** + * A name to uniquely identify a history within a project. Maximum of 200 + * characters. - In response always set - In create request: always set + */ + name?: string; + } + /** + * An image, with a link to the main image and a thumbnail. + */ + interface Schema$Image { + /** + * An error explaining why the thumbnail could not be rendered. + */ + error?: Schema$Status; + /** + * A reference to the full-size, original image. This is the same as the + * tool_outputs entry for the image under its Step. Always set. + */ + sourceImage?: Schema$ToolOutputReference; + /** + * The step to which the image is attached. Always set. + */ + stepId?: string; + /** + * The thumbnail. + */ + thumbnail?: Schema$Thumbnail; + } + interface Schema$InconclusiveDetail { + /** + * If the end user aborted the test execution before a pass or fail could be + * determined. For example, the user pressed ctrl-c which sent a kill signal + * to the test runner while the test was running. + */ + abortedByUser?: boolean; + /** + * If the test runner could not determine success or failure because the + * test depends on a component other than the system under test which + * failed. For example, a mobile test requires provisioning a device where + * the test executes, and that provisioning can fail. + */ + infrastructureFailure?: boolean; + } + interface Schema$ListExecutionsResponse { + /** + * Executions. Always set. + */ + executions?: Schema$Execution[]; + /** + * A continuation token to resume the query at the next item. Will only be + * set if there are more Executions to fetch. + */ + nextPageToken?: string; + } + /** + * Response message for HistoryService.List + */ + interface Schema$ListHistoriesResponse { + /** + * Histories. + */ + histories?: Schema$History[]; + /** + * A continuation token to resume the query at the next item. Will only be + * set if there are more histories to fetch. Tokens are valid for up to one + * hour from the time of the first list request. For instance, if you make a + * list request at 1PM and use the token from this first request 10 minutes + * later, the token from this second response will only be valid for 50 + * minutes. + */ + nextPageToken?: string; + } + interface Schema$ListPerfSampleSeriesResponse { + /** + * The resulting PerfSampleSeries sorted by id + */ + perfSampleSeries?: Schema$PerfSampleSeries[]; + } + interface Schema$ListPerfSamplesResponse { + /** + * Optional, returned if result size exceeds the page size specified in the + * request (or the default page size, 500, if unspecified). It indicates the + * last sample timestamp to be used as page_token in subsequent request + */ + nextPageToken?: string; + perfSamples?: Schema$PerfSample[]; + } + interface Schema$ListScreenshotClustersResponse { + /** + * The set of clusters associated with an execution Always set + */ + clusters?: Schema$ScreenshotCluster[]; + } + /** + * Response message for StepService.List. + */ + interface Schema$ListStepsResponse { + /** + * A continuation token to resume the query at the next item. If set, + * indicates that there are more steps to read, by calling list again with + * this value in the page_token field. + */ + nextPageToken?: string; + /** + * Steps. + */ + steps?: Schema$Step[]; + } + /** + * A response containing the thumbnails in a step. + */ + interface Schema$ListStepThumbnailsResponse { + /** + * A continuation token to resume the query at the next item. If set, + * indicates that there are more thumbnails to read, by calling list again + * with this value in the page_token field. + */ + nextPageToken?: string; + /** + * A list of image data. Images are returned in a deterministic order; they + * are ordered by these factors, in order of importance: * First, by their + * associated test case. Images without a test case are considered greater + * than images with one. * Second, by their creation time. Images without a + * creation time are greater than images with one. * Third, by the order in + * which they were added to the step (by calls to CreateStep or UpdateStep). + */ + thumbnails?: Schema$Image[]; + } + interface Schema$MemoryInfo { + /** + * Maximum memory that can be allocated to the process in KiB + */ + memoryCapInKibibyte?: string; + /** + * Total memory available on the device in KiB + */ + memoryTotalInKibibyte?: string; + } + /** + * Interprets a result so that humans and machines can act on it. + */ + interface Schema$Outcome { + /** + * More information about a FAILURE outcome. Returns INVALID_ARGUMENT if + * this field is set but the summary is not FAILURE. Optional + */ + failureDetail?: Schema$FailureDetail; + /** + * More information about an INCONCLUSIVE outcome. Returns INVALID_ARGUMENT + * if this field is set but the summary is not INCONCLUSIVE. Optional + */ + inconclusiveDetail?: Schema$InconclusiveDetail; + /** + * More information about a SKIPPED outcome. Returns INVALID_ARGUMENT if + * this field is set but the summary is not SKIPPED. Optional + */ + skippedDetail?: Schema$SkippedDetail; + /** + * More information about a SUCCESS outcome. Returns INVALID_ARGUMENT if + * this field is set but the summary is not SUCCESS. Optional + */ + successDetail?: Schema$SuccessDetail; + /** + * The simplest way to interpret a result. Required + */ + summary?: string; + } + /** + * Encapsulates performance environment info + */ + interface Schema$PerfEnvironment { + /** + * CPU related environment info + */ + cpuInfo?: Schema$CPUInfo; + /** + * Memory related environment info + */ + memoryInfo?: Schema$MemoryInfo; + } + /** + * A summary of perf metrics collected and performance environment info + */ + interface Schema$PerfMetricsSummary { + appStartTime?: Schema$AppStartTime; + /** + * A tool results execution ID. + */ + executionId?: string; + /** + * Graphics statistics for the entire run. Statistics are reset at the + * beginning of the run and collected at the end of the run. + */ + graphicsStats?: Schema$GraphicsStats; + /** + * A tool results history ID. + */ + historyId?: string; + /** + * Describes the environment in which the performance metrics were collected + */ + perfEnvironment?: Schema$PerfEnvironment; + /** + * Set of resource collected + */ + perfMetrics?: string[]; + /** + * The cloud project + */ + projectId?: string; + /** + * A tool results step ID. + */ + stepId?: string; + } + /** + * Resource representing a single performance measure or data point + */ + interface Schema$PerfSample { + /** + * Timestamp of collection + */ + sampleTime?: Schema$Timestamp; + /** + * Value observed + */ + value?: number; + } + /** + * Resource representing a collection of performance samples (or data points) + */ + interface Schema$PerfSampleSeries { + /** + * Basic series represented by a line chart + */ + basicPerfSampleSeries?: Schema$BasicPerfSampleSeries; + /** + * A tool results execution ID. + */ + executionId?: string; + /** + * A tool results history ID. + */ + historyId?: string; + /** + * The cloud project + */ + projectId?: string; + /** + * A sample series id + */ + sampleSeriesId?: string; + /** + * A tool results step ID. + */ + stepId?: string; + } + /** + * Per-project settings for the Tool Results service. + */ + interface Schema$ProjectSettings { + /** + * The name of the Google Cloud Storage bucket to which results are written. + * By default, this is unset. In update request: optional In response: + * optional + */ + defaultBucket?: string; + /** + * The name of the project's settings. Always of the form: + * projects/{project-id}/settings In update request: never set In response: + * always set + */ + name?: string; + } + /** + * Request message for StepService.PublishXunitXmlFiles. + */ + interface Schema$PublishXunitXmlFilesRequest { + /** + * URI of the Xunit XML files to publish. The maximum size of the file this + * reference is pointing to is 50MB. Required. + */ + xunitXmlFiles?: Schema$FileReference[]; + } + interface Schema$Screen { + /** + * File reference of the png file. Required. + */ + fileReference?: string; + /** + * Locale of the device that the screenshot was taken on. Required. + */ + locale?: string; + /** + * Model of the device that the screenshot was taken on. Required. + */ + model?: string; + /** + * OS version of the device that the screenshot was taken on. Required. + */ + version?: string; + } + interface Schema$ScreenshotCluster { + /** + * A string that describes the activity of every screen in the cluster. + */ + activity?: string; + /** + * A unique identifier for the cluster. + */ + clusterId?: string; + /** + * A singular screen that represents the cluster as a whole. This screen + * will act as the "cover" of the entire cluster. When users look + * at the clusters, only the key screen from each cluster will be shown. + * Which screen is the key screen is determined by the ClusteringAlgorithm + */ + keyScreen?: Schema$Screen; + /** + * Full list of screens. + */ + screens?: Schema$Screen[]; + } + interface Schema$SkippedDetail { + /** + * If the App doesn't support the specific API level. + */ + incompatibleAppVersion?: boolean; + /** + * If the App doesn't run on the specific architecture, for example, + * x86. + */ + incompatibleArchitecture?: boolean; + /** + * If the requested OS version doesn't run on the specific device model. + */ + incompatibleDevice?: boolean; + } + /** + * The details about how to run the execution. + */ + interface Schema$Specification { + /** + * An Android mobile test execution specification. + */ + androidTest?: Schema$AndroidTest; + } + /** + * A stacktrace. + */ + interface Schema$StackTrace { + /** + * The stack trace message. Required + */ + exception?: string; + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of [google.rpc.Code][], but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside batch + * response, one for each error sub-response. - Asynchronous operations. If + * an API call embeds asynchronous operation results in its response, the + * status of those operations should be represented directly using the + * `Status` message. - Logging. If some API errors are stored in logs, the + * message `Status` could be used directly after any stripping needed for + * security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of [google.rpc.Code][]. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set of + * message types for APIs to use. + */ + details?: Schema$Any[]; + /** + * 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. + */ + message?: string; + } + /** + * A Step represents a single operation performed as part of Execution. A step + * can be used to represent the execution of a tool ( for example a test + * runner execution or an execution of a compiler). Steps can overlap (for + * instance two steps might have the same start time if some operations are + * done in parallel). Here is an example, let's consider that we have a + * continuous build is executing a test runner for each iteration. The + * workflow would look like: - user creates a Execution with id 1 - user + * creates an TestExecutionStep with id 100 for Execution 1 - user update + * TestExecutionStep with id 100 to add a raw xml log + the service parses the + * xml logs and returns a TestExecutionStep with updated TestResult(s). - user + * update the status of TestExecutionStep with id 100 to COMPLETE A Step can + * be updated until its state is set to COMPLETE at which points it becomes + * immutable. + */ + interface Schema$Step { + /** + * The time when the step status was set to complete. This value will be + * set automatically when state transitions to COMPLETE. - In response: set + * if the execution state is COMPLETE. - In create/update request: never set + */ + completionTime?: Schema$Timestamp; + /** + * The time when the step was created. - In response: always set - In + * create/update request: never set + */ + creationTime?: Schema$Timestamp; + /** + * A description of this tool For example: mvn clean package -D + * skipTests=true - In response: present if set by create/update request - + * In create/update request: optional + */ + description?: string; + /** + * How much the device resource is used to perform the test. This is the + * device usage used for billing purpose, which is different from the + * run_duration, for example, infrastructure failure won't be charged + * for device usage. PRECONDITION_FAILED will be returned if one attempts + * to set a device_usage on a step which already has this field set. - In + * response: present if previously set. - In create request: optional - In + * update request: optional + */ + deviceUsageDuration?: Schema$Duration; + /** + * If the execution containing this step has any dimension_definition set, + * then this field allows the child to specify the values of the dimensions. + * The keys must exactly match the dimension_definition of the execution. + * For example, if the execution has `dimension_definition = + * ['attempt', 'device']` then a step must define values for + * those dimensions, eg. `dimension_value = ['attempt': '1', + * 'device': 'Nexus 6']` If a step does not participate in + * one dimension of the matrix, the value for that dimension should be empty + * string. For example, if one of the tests is executed by a runner which + * does not support retries, the step could have `dimension_value = + * ['attempt': '', 'device': 'Nexus 6']` If + * the step does not participate in any dimensions of the matrix, it may + * leave dimension_value unset. A PRECONDITION_FAILED will be returned if + * any of the keys do not exist in the dimension_definition of the + * execution. A PRECONDITION_FAILED will be returned if another step in + * this execution already has the same name and dimension_value, but differs + * on other data fields, for example, step field is different. A + * PRECONDITION_FAILED will be returned if dimension_value is set, and there + * is a dimension_definition in the execution which is not specified as one + * of the keys. - In response: present if set by create - In create + * request: optional - In update request: never set + */ + dimensionValue?: Schema$StepDimensionValueEntry[]; + /** + * Whether any of the outputs of this step are images whose thumbnails can + * be fetched with ListThumbnails. - In response: always set - In + * create/update request: never set + */ + hasImages?: boolean; + /** + * Arbitrary user-supplied key/value pairs that are associated with the + * step. Users are responsible for managing the key namespace such that + * keys don't accidentally collide. An INVALID_ARGUMENT will be + * returned if the number of labels exceeds 100 or if the length of any of + * the keys or values exceeds 100 characters. - In response: always set - + * In create request: optional - In update request: optional; any new + * key/value pair will be added to the map, and any new value for an + * existing key will update that key's value + */ + labels?: Schema$StepLabelsEntry[]; + /** + * A short human-readable name to display in the UI. Maximum of 100 + * characters. For example: Clean build A PRECONDITION_FAILED will be + * returned upon creating a new step if it shares its name and + * dimension_value with an existing step. If two steps represent a similar + * action, but have different dimension values, they should share the same + * name. For instance, if the same set of tests is run on two different + * platforms, the two steps should have the same name. - In response: + * always set - In create request: always set - In update request: never set + */ + name?: string; + /** + * Classification of the result, for example into SUCCESS or FAILURE - In + * response: present if set by create/update request - In create/update + * request: optional + */ + outcome?: Schema$Outcome; + /** + * How long it took for this step to run. If unset, this is set to the + * difference between creation_time and completion_time when the step is set + * to the COMPLETE state. In some cases, it is appropriate to set this value + * separately: For instance, if a step is created, but the operation it + * represents is queued for a few minutes before it executes, it would be + * appropriate not to include the time spent queued in its run_duration. + * PRECONDITION_FAILED will be returned if one attempts to set a + * run_duration on a step which already has this field set. - In response: + * present if previously set; always present on COMPLETE step - In create + * request: optional - In update request: optional + */ + runDuration?: Schema$Duration; + /** + * The initial state is IN_PROGRESS. The only legal state transitions are * + * IN_PROGRESS -> COMPLETE A PRECONDITION_FAILED will be returned if an + * invalid transition is requested. It is valid to create Step with a state + * set to COMPLETE. The state can only be set to COMPLETE once. A + * PRECONDITION_FAILED will be returned if the state is set to COMPLETE + * multiple times. - In response: always set - In create/update request: + * optional + */ + state?: string; + /** + * A unique identifier within a Execution for this Step. Returns + * INVALID_ARGUMENT if this field is set or overwritten by the caller. - In + * response: always set - In create/update request: never set + */ + stepId?: string; + /** + * An execution of a test runner. + */ + testExecutionStep?: Schema$TestExecutionStep; + /** + * An execution of a tool (used for steps we don't explicitly support). + */ + toolExecutionStep?: Schema$ToolExecutionStep; + } + interface Schema$StepDimensionValueEntry { + key?: string; + value?: string; + } + interface Schema$StepLabelsEntry { + key?: string; + value?: string; + } + interface Schema$SuccessDetail { + /** + * If a native process other than the app crashed. + */ + otherNativeCrash?: boolean; + } + /** + * A reference to a test case. Test case references are canonically ordered + * lexicographically by these three factors: * First, by test_suite_name. * + * Second, by class_name. * Third, by name. + */ + interface Schema$TestCaseReference { + /** + * The name of the class. + */ + className?: string; + /** + * The name of the test case. Required. + */ + name?: string; + /** + * The name of the test suite to which this test case belongs. + */ + testSuiteName?: string; + } + /** + * A step that represents running tests. It accepts ant-junit xml files which + * will be parsed into structured test results by the service. Xml file paths + * are updated in order to append more files, however they can't be + * deleted. Users can also add test results manually by using the test_result + * field. + */ + interface Schema$TestExecutionStep { + /** + * Issues observed during the test execution. For example, if the mobile + * app under test crashed during the test, the error message and the stack + * trace content can be recorded here to assist debugging. - In response: + * present if set by create or update - In create/update request: optional + */ + testIssues?: Schema$TestIssue[]; + /** + * List of test suite overview contents. This could be parsed from xUnit XML + * log by server, or uploaded directly by user. This references should only + * be called when test suites are fully parsed or uploaded. The maximum + * allowed number of test suite overviews per step is 1000. - In response: + * always set - In create request: optional - In update request: never (use + * publishXunitXmlFiles custom method instead) + */ + testSuiteOverviews?: Schema$TestSuiteOverview[]; + /** + * The timing break down of the test execution. - In response: present if + * set by create or update - In create/update request: optional + */ + testTiming?: Schema$TestTiming; + /** + * Represents the execution of the test runner. The exit code of this tool + * will be used to determine if the test passed. - In response: always set + * - In create/update request: optional + */ + toolExecution?: Schema$ToolExecution; + } + /** + * An issue detected occurring during a test execution. + */ + interface Schema$TestIssue { + /** + * Category of issue. Required. + */ + category?: string; + /** + * A brief human-readable message describing the issue. Required. + */ + errorMessage?: string; + /** + * Severity of issue. Required. + */ + severity?: string; + /** + * Deprecated in favor of stack trace fields inside specific warnings. + */ + stackTrace?: Schema$StackTrace; + /** + * Type of issue. Required. + */ + type?: string; + /** + * Warning message with additional details of the issue. Should always be a + * message from com.google.devtools.toolresults.v1.warnings + */ + warning?: Schema$Any; + } + /** + * A summary of a test suite result either parsed from XML or uploaded + * directly by a user. Note: the API related comments are for StepService + * only. This message is also being used in ExecutionService in a read only + * mode for the corresponding step. + */ + interface Schema$TestSuiteOverview { + /** + * Number of test cases in error, typically set by the service by parsing + * the xml_source. - In create/response: always set - In update request: + * never + */ + errorCount?: number; + /** + * Number of failed test cases, typically set by the service by parsing the + * xml_source. May also be set by the user. - In create/response: always + * set - In update request: never + */ + failureCount?: number; + /** + * The name of the test suite. - In create/response: always set - In update + * request: never + */ + name?: string; + /** + * Number of test cases not run, typically set by the service by parsing the + * xml_source. - In create/response: always set - In update request: never + */ + skippedCount?: number; + /** + * Number of test cases, typically set by the service by parsing the + * xml_source. - In create/response: always set - In update request: never + */ + totalCount?: number; + /** + * If this test suite was parsed from XML, this is the URI where the + * original XML file is stored. Note: Multiple test suites can share the + * same xml_source Returns INVALID_ARGUMENT if the uri format is not + * supported. - In create/response: optional - In update request: never + */ + xmlSource?: Schema$FileReference; + } + /** + * Testing timing break down to know phases. + */ + interface Schema$TestTiming { + /** + * How long it took to run the test process. - In response: present if + * previously set. - In create/update request: optional + */ + testProcessDuration?: Schema$Duration; + } + /** + * A single thumbnail, with its size and format. + */ + interface Schema$Thumbnail { + /** + * The thumbnail's content type, i.e. "image/png". Always + * set. + */ + contentType?: string; + /** + * The thumbnail file itself. That is, the bytes here are precisely the + * bytes that make up the thumbnail file; they can be served as an image + * as-is (with the appropriate content type.) Always set. + */ + data?: string; + /** + * The height of the thumbnail, in pixels. Always set. + */ + heightPx?: number; + /** + * The width of the thumbnail, in pixels. Always set. + */ + widthPx?: number; + } + /** + * A Timestamp represents a point in time independent of any time zone or + * calendar, represented as seconds and fractions of seconds at nanosecond + * resolution in UTC Epoch time. It is encoded using the Proleptic Gregorian + * Calendar which extends the Gregorian calendar backwards to year one. It is + * encoded assuming all minutes are 60 seconds long, i.e. leap seconds are + * "smeared" so that no leap second table is needed for + * interpretation. Range is from 0001-01-01T00:00:00Z to + * 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure + * that we can convert to and from RFC 3339 date strings. See + * [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). + * # Examples Example 1: Compute Timestamp from POSIX `time()`. Timestamp + * timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0); + * Example 2: Compute Timestamp from POSIX `gettimeofday()`. struct timeval + * tv; gettimeofday(&tv, NULL); Timestamp timestamp; + * timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.tv_usec * 1000); + * Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`. + * FILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks = + * (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; // A Windows + * tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is + * 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp + * timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - + * 11644473600LL)); timestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); + * Example 4: Compute Timestamp from Java `System.currentTimeMillis()`. long + * millis = System.currentTimeMillis(); Timestamp timestamp = + * Timestamp.newBuilder().setSeconds(millis / 1000) .setNanos((int) ((millis % + * 1000) * 1000000)).build(); Example 5: Compute Timestamp from current + * time in Python. timestamp = Timestamp() timestamp.GetCurrentTime() # JSON + * Mapping In JSON format, the Timestamp type is encoded as a string in the + * [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the + * format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" + * where {year} is always expressed using four digits while {month}, {day}, + * {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional + * seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), + * are optional. The "Z" suffix indicates the timezone + * ("UTC"); the timezone is required. A proto3 JSON serializer + * should always use UTC (as indicated by "Z") when printing the + * Timestamp type and a proto3 JSON parser should be able to accept both UTC + * and other timezones (as indicated by an offset). For example, + * "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past 01:30 UTC on + * January 15, 2017. In JavaScript, one can convert a Date object to this + * format using the standard + * [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) + * method. In Python, a standard `datetime.datetime` object can be converted + * to this format using + * [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) + * with the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in + * Java, one can use the Joda Time's [`ISODateTimeFormat.dateTime()`]( + * http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D + * ) to obtain a formatter capable of generating timestamps in this format. + */ + interface Schema$Timestamp { + /** + * Non-negative fractions of a second at nanosecond resolution. Negative + * second values with fractions must still have non-negative nanos values + * that count forward in time. Must be from 0 to 999,999,999 inclusive. + */ + nanos?: number; + /** + * Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. + * Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive. + */ + seconds?: string; + } + /** + * An execution of an arbitrary tool. It could be a test runner or a tool + * copying artifacts or deploying code. + */ + interface Schema$ToolExecution { + /** + * The full tokenized command line including the program name (equivalent to + * argv in a C program). - In response: present if set by create request - + * In create request: optional - In update request: never set + */ + commandLineArguments?: string[]; + /** + * Tool execution exit code. This field will be set once the tool has + * exited. - In response: present if set by create/update request - In + * create request: optional - In update request: optional, a + * FAILED_PRECONDITION error will be returned if an exit_code is already + * set. + */ + exitCode?: Schema$ToolExitCode; + /** + * References to any plain text logs output the tool execution. This field + * can be set before the tool has exited in order to be able to have access + * to a live view of the logs while the tool is running. The maximum + * allowed number of tool logs per step is 1000. - In response: present if + * set by create/update request - In create request: optional - In update + * request: optional, any value provided will be appended to the existing + * list + */ + toolLogs?: Schema$FileReference[]; + /** + * References to opaque files of any format output by the tool execution. + * The maximum allowed number of tool outputs per step is 1000. - In + * response: present if set by create/update request - In create request: + * optional - In update request: optional, any value provided will be + * appended to the existing list + */ + toolOutputs?: Schema$ToolOutputReference[]; + } + /** + * Generic tool step to be used for binaries we do not explicitly support. For + * example: running cp to copy artifacts from one location to another. + */ + interface Schema$ToolExecutionStep { + /** + * A Tool execution. - In response: present if set by create/update request + * - In create/update request: optional + */ + toolExecution?: Schema$ToolExecution; + } + /** + * Exit code from a tool execution. + */ + interface Schema$ToolExitCode { + /** + * Tool execution exit code. A value of 0 means that the execution was + * successful. - In response: always set - In create/update request: always + * set + */ + number?: number; + } + /** + * A reference to a ToolExecution output file. + */ + interface Schema$ToolOutputReference { + /** + * The creation time of the file. - In response: present if set by + * create/update request - In create/update request: optional + */ + creationTime?: Schema$Timestamp; + /** + * A FileReference to an output file. - In response: always set - In + * create/update request: always set + */ + output?: Schema$FileReference; + /** + * The test case to which this output file belongs. - In response: present + * if set by create/update request - In create/update request: optional + */ + testCase?: Schema$TestCaseReference; + } + class Resource$Projects { + root: Toolresults; + histories: Resource$Projects$Histories; + constructor(root: Toolresults); + getRoot(): Toolresults; + /** + * toolresults.projects.getSettings + * @desc Gets the Tool Results settings for a project. May return any of + * the following canonical error codes: - PERMISSION_DENIED - if the user + * is not authorized to read from project + * @alias toolresults.projects.getSettings + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId A Project id. Required. + * @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 + */ + getSettings(params?: Params$Resource$Projects$Getsettings, options?: MethodOptions): AxiosPromise; + getSettings(params: Params$Resource$Projects$Getsettings, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getSettings(params: Params$Resource$Projects$Getsettings, callback: BodyResponseCallback): void; + getSettings(callback: BodyResponseCallback): void; + /** + * toolresults.projects.initializeSettings + * @desc Creates resources for settings which have not yet been set. + * Currently, this creates a single resource: a Google Cloud Storage bucket, + * to be used as the default bucket for this project. The bucket is created + * in an FTL-own storage project. Except for in rare cases, calling this + * method in parallel from multiple clients will only create a single + * bucket. In order to avoid unnecessary storage charges, the bucket is + * configured to automatically delete objects older than 90 days. The + * bucket is created with the following permissions: - Owner access for + * owners of central storage project (FTL-owned) - Writer access for + * owners/editors of customer project - Reader access for viewers of + * customer project The default ACL on objects created in the bucket is: - + * Owner access for owners of central storage project - Reader access for + * owners/editors/viewers of customer project See Google Cloud Storage + * documentation for more details. If there is already a default bucket set + * and the project can access the bucket, this call does nothing. However, + * if the project doesn't have the permission to access the bucket or the + * bucket is deleted, a new bucket will be created. May return any + * canonical error codes, including the following: - PERMISSION_DENIED - if + * the user is not authorized to write to project - Any error code raised by + * Google Cloud Storage + * @alias toolresults.projects.initializeSettings + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId A Project id. Required. + * @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 + */ + initializeSettings(params?: Params$Resource$Projects$Initializesettings, options?: MethodOptions): AxiosPromise; + initializeSettings(params: Params$Resource$Projects$Initializesettings, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + initializeSettings(params: Params$Resource$Projects$Initializesettings, callback: BodyResponseCallback): void; + initializeSettings(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Getsettings { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A Project id. Required. + */ + projectId?: string; + } + interface Params$Resource$Projects$Initializesettings { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A Project id. Required. + */ + projectId?: string; + } + class Resource$Projects$Histories { + root: Toolresults; + executions: Resource$Projects$Histories$Executions; + constructor(root: Toolresults); + getRoot(): Toolresults; + /** + * toolresults.projects.histories.create + * @desc Creates a History. The returned History will have the id set. May + * return any of the following canonical error codes: - PERMISSION_DENIED - + * if the user is not authorized to write to project - INVALID_ARGUMENT - if + * the request is malformed - NOT_FOUND - if the containing project does not + * exist + * @alias toolresults.projects.histories.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.projectId A Project id. Required. + * @param {string=} params.requestId A unique request ID for server to detect duplicated requests. For example, a UUID. Optional, but strongly recommended. + * @param {().History} 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 + */ + create(params?: Params$Resource$Projects$Histories$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Histories$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Histories$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * toolresults.projects.histories.get + * @desc Gets a History. May return any of the following canonical error + * codes: - PERMISSION_DENIED - if the user is not authorized to read + * project - INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if + * the History does not exist + * @alias toolresults.projects.histories.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.historyId A History id. Required. + * @param {string} params.projectId A Project id. Required. + * @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?: Params$Resource$Projects$Histories$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Histories$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Histories$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * toolresults.projects.histories.list + * @desc Lists Histories for a given Project. The histories are sorted by + * modification time in descending order. The history_id key will be used to + * order the history with the same modification time. May return any of the + * following canonical error codes: - PERMISSION_DENIED - if the user is + * not authorized to read project - INVALID_ARGUMENT - if the request is + * malformed - NOT_FOUND - if the History does not exist + * @alias toolresults.projects.histories.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filterByName If set, only return histories with the given name. Optional. + * @param {integer=} params.pageSize The maximum number of Histories to fetch. Default value: 20. The server will use this default if the field is not set or has a value of 0. Any value greater than 100 will be treated as 100. Optional. + * @param {string=} params.pageToken A continuation token to resume the query at the next item. Optional. + * @param {string} params.projectId A Project id. Required. + * @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?: Params$Resource$Projects$Histories$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Histories$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Histories$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Histories$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A Project id. Required. + */ + projectId?: string; + /** + * A unique request ID for server to detect duplicated requests. For + * example, a UUID. Optional, but strongly recommended. + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$History; + } + interface Params$Resource$Projects$Histories$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A History id. Required. + */ + historyId?: string; + /** + * A Project id. Required. + */ + projectId?: string; + } + interface Params$Resource$Projects$Histories$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * If set, only return histories with the given name. Optional. + */ + filterByName?: string; + /** + * The maximum number of Histories to fetch. Default value: 20. The server + * will use this default if the field is not set or has a value of 0. Any + * value greater than 100 will be treated as 100. Optional. + */ + pageSize?: number; + /** + * A continuation token to resume the query at the next item. Optional. + */ + pageToken?: string; + /** + * A Project id. Required. + */ + projectId?: string; + } + class Resource$Projects$Histories$Executions { + root: Toolresults; + clusters: Resource$Projects$Histories$Executions$Clusters; + steps: Resource$Projects$Histories$Executions$Steps; + constructor(root: Toolresults); + getRoot(): Toolresults; + /** + * toolresults.projects.histories.executions.create + * @desc Creates an Execution. The returned Execution will have the id set. + * May return any of the following canonical error codes: - + * PERMISSION_DENIED - if the user is not authorized to write to project - + * INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the + * containing History does not exist + * @alias toolresults.projects.histories.executions.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.historyId A History id. Required. + * @param {string} params.projectId A Project id. Required. + * @param {string=} params.requestId A unique request ID for server to detect duplicated requests. For example, a UUID. Optional, but strongly recommended. + * @param {().Execution} 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 + */ + create(params?: Params$Resource$Projects$Histories$Executions$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Histories$Executions$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Histories$Executions$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * toolresults.projects.histories.executions.get + * @desc Gets an Execution. May return any of the following canonical error + * codes: - PERMISSION_DENIED - if the user is not authorized to write to + * project - INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if + * the Execution does not exist + * @alias toolresults.projects.histories.executions.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.executionId An Execution id. Required. + * @param {string} params.historyId A History id. Required. + * @param {string} params.projectId A Project id. Required. + * @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?: Params$Resource$Projects$Histories$Executions$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Histories$Executions$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Histories$Executions$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * toolresults.projects.histories.executions.list + * @desc Lists Histories for a given Project. The executions are sorted by + * creation_time in descending order. The execution_id key will be used to + * order the executions with the same creation_time. May return any of the + * following canonical error codes: - PERMISSION_DENIED - if the user is + * not authorized to read project - INVALID_ARGUMENT - if the request is + * malformed - NOT_FOUND - if the containing History does not exist + * @alias toolresults.projects.histories.executions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.historyId A History id. Required. + * @param {integer=} params.pageSize The maximum number of Executions to fetch. Default value: 25. The server will use this default if the field is not set or has a value of 0. Optional. + * @param {string=} params.pageToken A continuation token to resume the query at the next item. Optional. + * @param {string} params.projectId A Project id. Required. + * @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?: Params$Resource$Projects$Histories$Executions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Histories$Executions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Histories$Executions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * toolresults.projects.histories.executions.patch + * @desc Updates an existing Execution with the supplied partial entity. May + * return any of the following canonical error codes: - PERMISSION_DENIED - + * if the user is not authorized to write to project - INVALID_ARGUMENT - if + * the request is malformed - FAILED_PRECONDITION - if the requested state + * transition is illegal - NOT_FOUND - if the containing History does not + * exist + * @alias toolresults.projects.histories.executions.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.executionId Required. + * @param {string} params.historyId Required. + * @param {string} params.projectId A Project id. Required. + * @param {string=} params.requestId A unique request ID for server to detect duplicated requests. For example, a UUID. Optional, but strongly recommended. + * @param {().Execution} 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 + */ + patch(params?: Params$Resource$Projects$Histories$Executions$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Histories$Executions$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Histories$Executions$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Histories$Executions$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A History id. Required. + */ + historyId?: string; + /** + * A Project id. Required. + */ + projectId?: string; + /** + * A unique request ID for server to detect duplicated requests. For + * example, a UUID. Optional, but strongly recommended. + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Execution; + } + interface Params$Resource$Projects$Histories$Executions$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * An Execution id. Required. + */ + executionId?: string; + /** + * A History id. Required. + */ + historyId?: string; + /** + * A Project id. Required. + */ + projectId?: string; + } + interface Params$Resource$Projects$Histories$Executions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A History id. Required. + */ + historyId?: string; + /** + * The maximum number of Executions to fetch. Default value: 25. The server + * will use this default if the field is not set or has a value of 0. + * Optional. + */ + pageSize?: number; + /** + * A continuation token to resume the query at the next item. Optional. + */ + pageToken?: string; + /** + * A Project id. Required. + */ + projectId?: string; + } + interface Params$Resource$Projects$Histories$Executions$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. + */ + executionId?: string; + /** + * Required. + */ + historyId?: string; + /** + * A Project id. Required. + */ + projectId?: string; + /** + * A unique request ID for server to detect duplicated requests. For + * example, a UUID. Optional, but strongly recommended. + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Execution; + } + class Resource$Projects$Histories$Executions$Clusters { + root: Toolresults; + constructor(root: Toolresults); + getRoot(): Toolresults; + /** + * toolresults.projects.histories.executions.clusters.get + * @desc Retrieves a single screenshot cluster by its ID + * @alias toolresults.projects.histories.executions.clusters.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.clusterId A Cluster id Required. + * @param {string} params.executionId An Execution id. Required. + * @param {string} params.historyId A History id. Required. + * @param {string} params.projectId A Project id. Required. + * @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?: Params$Resource$Projects$Histories$Executions$Clusters$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Histories$Executions$Clusters$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Histories$Executions$Clusters$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * toolresults.projects.histories.executions.clusters.list + * @desc Lists Screenshot Clusters Returns the list of screenshot clusters + * corresponding to an execution. Screenshot clusters are created after the + * execution is finished. Clusters are created from a set of screenshots. + * Between any two screenshots, a matching score is calculated based off + * their metadata that determines how similar they are. Screenshots are + * placed in the cluster that has screens which have the highest matching + * scores. + * @alias toolresults.projects.histories.executions.clusters.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.executionId An Execution id. Required. + * @param {string} params.historyId A History id. Required. + * @param {string} params.projectId A Project id. Required. + * @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?: Params$Resource$Projects$Histories$Executions$Clusters$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Histories$Executions$Clusters$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Histories$Executions$Clusters$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Histories$Executions$Clusters$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A Cluster id Required. + */ + clusterId?: string; + /** + * An Execution id. Required. + */ + executionId?: string; + /** + * A History id. Required. + */ + historyId?: string; + /** + * A Project id. Required. + */ + projectId?: string; + } + interface Params$Resource$Projects$Histories$Executions$Clusters$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * An Execution id. Required. + */ + executionId?: string; + /** + * A History id. Required. + */ + historyId?: string; + /** + * A Project id. Required. + */ + projectId?: string; + } + class Resource$Projects$Histories$Executions$Steps { + root: Toolresults; + perfMetricsSummary: Resource$Projects$Histories$Executions$Steps$Perfmetricssummary; + perfSampleSeries: Resource$Projects$Histories$Executions$Steps$Perfsampleseries; + thumbnails: Resource$Projects$Histories$Executions$Steps$Thumbnails; + constructor(root: Toolresults); + getRoot(): Toolresults; + /** + * toolresults.projects.histories.executions.steps.create + * @desc Creates a Step. The returned Step will have the id set. May + * return any of the following canonical error codes: - PERMISSION_DENIED - + * if the user is not authorized to write to project - INVALID_ARGUMENT - if + * the request is malformed - FAILED_PRECONDITION - if the step is too large + * (more than 10Mib) - NOT_FOUND - if the containing Execution does not + * exist + * @alias toolresults.projects.histories.executions.steps.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.executionId A Execution id. Required. + * @param {string} params.historyId A History id. Required. + * @param {string} params.projectId A Project id. Required. + * @param {string=} params.requestId A unique request ID for server to detect duplicated requests. For example, a UUID. Optional, but strongly recommended. + * @param {().Step} 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 + */ + create(params?: Params$Resource$Projects$Histories$Executions$Steps$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Histories$Executions$Steps$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Histories$Executions$Steps$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * toolresults.projects.histories.executions.steps.get + * @desc Gets a Step. May return any of the following canonical error + * codes: - PERMISSION_DENIED - if the user is not authorized to read + * project - INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if + * the Step does not exist + * @alias toolresults.projects.histories.executions.steps.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.executionId A Execution id. Required. + * @param {string} params.historyId A History id. Required. + * @param {string} params.projectId A Project id. Required. + * @param {string} params.stepId A Step id. Required. + * @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?: Params$Resource$Projects$Histories$Executions$Steps$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Histories$Executions$Steps$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Histories$Executions$Steps$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * toolresults.projects.histories.executions.steps.getPerfMetricsSummary + * @desc Retrieves a PerfMetricsSummary. May return any of the following + * error code(s): - NOT_FOUND - The specified PerfMetricsSummary does not + * exist + * @alias + * toolresults.projects.histories.executions.steps.getPerfMetricsSummary + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.executionId A tool results execution ID. + * @param {string} params.historyId A tool results history ID. + * @param {string} params.projectId The cloud project + * @param {string} params.stepId A tool results step ID. + * @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 + */ + getPerfMetricsSummary(params?: Params$Resource$Projects$Histories$Executions$Steps$Getperfmetricssummary, options?: MethodOptions): AxiosPromise; + getPerfMetricsSummary(params: Params$Resource$Projects$Histories$Executions$Steps$Getperfmetricssummary, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getPerfMetricsSummary(params: Params$Resource$Projects$Histories$Executions$Steps$Getperfmetricssummary, callback: BodyResponseCallback): void; + getPerfMetricsSummary(callback: BodyResponseCallback): void; + /** + * toolresults.projects.histories.executions.steps.list + * @desc Lists Steps for a given Execution. The steps are sorted by + * creation_time in descending order. The step_id key will be used to order + * the steps with the same creation_time. May return any of the following + * canonical error codes: - PERMISSION_DENIED - if the user is not + * authorized to read project - INVALID_ARGUMENT - if the request is + * malformed - FAILED_PRECONDITION - if an argument in the request happens + * to be invalid; e.g. if an attempt is made to list the children of a + * nonexistent Step - NOT_FOUND - if the containing Execution does not exist + * @alias toolresults.projects.histories.executions.steps.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.executionId A Execution id. Required. + * @param {string} params.historyId A History id. Required. + * @param {integer=} params.pageSize The maximum number of Steps to fetch. Default value: 25. The server will use this default if the field is not set or has a value of 0. Optional. + * @param {string=} params.pageToken A continuation token to resume the query at the next item. Optional. + * @param {string} params.projectId A Project id. Required. + * @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?: Params$Resource$Projects$Histories$Executions$Steps$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Histories$Executions$Steps$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Histories$Executions$Steps$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * toolresults.projects.histories.executions.steps.patch + * @desc Updates an existing Step with the supplied partial entity. May + * return any of the following canonical error codes: - PERMISSION_DENIED - + * if the user is not authorized to write project - INVALID_ARGUMENT - if + * the request is malformed - FAILED_PRECONDITION - if the requested state + * transition is illegal (e.g try to upload a duplicate xml file), if the + * updated step is too large (more than 10Mib) - NOT_FOUND - if the + * containing Execution does not exist + * @alias toolresults.projects.histories.executions.steps.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.executionId A Execution id. Required. + * @param {string} params.historyId A History id. Required. + * @param {string} params.projectId A Project id. Required. + * @param {string=} params.requestId A unique request ID for server to detect duplicated requests. For example, a UUID. Optional, but strongly recommended. + * @param {string} params.stepId A Step id. Required. + * @param {().Step} 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 + */ + patch(params?: Params$Resource$Projects$Histories$Executions$Steps$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Histories$Executions$Steps$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Histories$Executions$Steps$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * toolresults.projects.histories.executions.steps.publishXunitXmlFiles + * @desc Publish xml files to an existing Step. May return any of the + * following canonical error codes: - PERMISSION_DENIED - if the user is + * not authorized to write project - INVALID_ARGUMENT - if the request is + * malformed - FAILED_PRECONDITION - if the requested state transition is + * illegal, e.g try to upload a duplicate xml file or a file too large. - + * NOT_FOUND - if the containing Execution does not exist + * @alias + * toolresults.projects.histories.executions.steps.publishXunitXmlFiles + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.executionId A Execution id. Required. + * @param {string} params.historyId A History id. Required. + * @param {string} params.projectId A Project id. Required. + * @param {string} params.stepId A Step id. Note: This step must include a TestExecutionStep. Required. + * @param {().PublishXunitXmlFilesRequest} 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 + */ + publishXunitXmlFiles(params?: Params$Resource$Projects$Histories$Executions$Steps$Publishxunitxmlfiles, options?: MethodOptions): AxiosPromise; + publishXunitXmlFiles(params: Params$Resource$Projects$Histories$Executions$Steps$Publishxunitxmlfiles, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + publishXunitXmlFiles(params: Params$Resource$Projects$Histories$Executions$Steps$Publishxunitxmlfiles, callback: BodyResponseCallback): void; + publishXunitXmlFiles(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Histories$Executions$Steps$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A Execution id. Required. + */ + executionId?: string; + /** + * A History id. Required. + */ + historyId?: string; + /** + * A Project id. Required. + */ + projectId?: string; + /** + * A unique request ID for server to detect duplicated requests. For + * example, a UUID. Optional, but strongly recommended. + */ + requestId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Step; + } + interface Params$Resource$Projects$Histories$Executions$Steps$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A Execution id. Required. + */ + executionId?: string; + /** + * A History id. Required. + */ + historyId?: string; + /** + * A Project id. Required. + */ + projectId?: string; + /** + * A Step id. Required. + */ + stepId?: string; + } + interface Params$Resource$Projects$Histories$Executions$Steps$Getperfmetricssummary { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A tool results execution ID. + */ + executionId?: string; + /** + * A tool results history ID. + */ + historyId?: string; + /** + * The cloud project + */ + projectId?: string; + /** + * A tool results step ID. + */ + stepId?: string; + } + interface Params$Resource$Projects$Histories$Executions$Steps$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A Execution id. Required. + */ + executionId?: string; + /** + * A History id. Required. + */ + historyId?: string; + /** + * The maximum number of Steps to fetch. Default value: 25. The server will + * use this default if the field is not set or has a value of 0. Optional. + */ + pageSize?: number; + /** + * A continuation token to resume the query at the next item. Optional. + */ + pageToken?: string; + /** + * A Project id. Required. + */ + projectId?: string; + } + interface Params$Resource$Projects$Histories$Executions$Steps$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A Execution id. Required. + */ + executionId?: string; + /** + * A History id. Required. + */ + historyId?: string; + /** + * A Project id. Required. + */ + projectId?: string; + /** + * A unique request ID for server to detect duplicated requests. For + * example, a UUID. Optional, but strongly recommended. + */ + requestId?: string; + /** + * A Step id. Required. + */ + stepId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Step; + } + interface Params$Resource$Projects$Histories$Executions$Steps$Publishxunitxmlfiles { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A Execution id. Required. + */ + executionId?: string; + /** + * A History id. Required. + */ + historyId?: string; + /** + * A Project id. Required. + */ + projectId?: string; + /** + * A Step id. Note: This step must include a TestExecutionStep. Required. + */ + stepId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$PublishXunitXmlFilesRequest; + } + class Resource$Projects$Histories$Executions$Steps$Perfmetricssummary { + root: Toolresults; + constructor(root: Toolresults); + getRoot(): Toolresults; + /** + * toolresults.projects.histories.executions.steps.perfMetricsSummary.create + * @desc Creates a PerfMetricsSummary resource. Returns the existing one if + * it has already been created. May return any of the following error + * code(s): - NOT_FOUND - The containing Step does not exist + * @alias + * toolresults.projects.histories.executions.steps.perfMetricsSummary.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.executionId A tool results execution ID. + * @param {string} params.historyId A tool results history ID. + * @param {string} params.projectId The cloud project + * @param {string} params.stepId A tool results step ID. + * @param {().PerfMetricsSummary} 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 + */ + create(params?: Params$Resource$Projects$Histories$Executions$Steps$Perfmetricssummary$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Histories$Executions$Steps$Perfmetricssummary$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Histories$Executions$Steps$Perfmetricssummary$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Histories$Executions$Steps$Perfmetricssummary$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A tool results execution ID. + */ + executionId?: string; + /** + * A tool results history ID. + */ + historyId?: string; + /** + * The cloud project + */ + projectId?: string; + /** + * A tool results step ID. + */ + stepId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$PerfMetricsSummary; + } + class Resource$Projects$Histories$Executions$Steps$Perfsampleseries { + root: Toolresults; + samples: Resource$Projects$Histories$Executions$Steps$Perfsampleseries$Samples; + constructor(root: Toolresults); + getRoot(): Toolresults; + /** + * toolresults.projects.histories.executions.steps.perfSampleSeries.create + * @desc Creates a PerfSampleSeries. May return any of the following error + * code(s): - ALREADY_EXISTS - PerfMetricSummary already exists for the + * given Step - NOT_FOUND - The containing Step does not exist + * @alias + * toolresults.projects.histories.executions.steps.perfSampleSeries.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.executionId A tool results execution ID. + * @param {string} params.historyId A tool results history ID. + * @param {string} params.projectId The cloud project + * @param {string} params.stepId A tool results step ID. + * @param {().PerfSampleSeries} 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 + */ + create(params?: Params$Resource$Projects$Histories$Executions$Steps$Perfsampleseries$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Histories$Executions$Steps$Perfsampleseries$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Histories$Executions$Steps$Perfsampleseries$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * toolresults.projects.histories.executions.steps.perfSampleSeries.get + * @desc Gets a PerfSampleSeries. May return any of the following error + * code(s): - NOT_FOUND - The specified PerfSampleSeries does not exist + * @alias + * toolresults.projects.histories.executions.steps.perfSampleSeries.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.executionId A tool results execution ID. + * @param {string} params.historyId A tool results history ID. + * @param {string} params.projectId The cloud project + * @param {string} params.sampleSeriesId A sample series id + * @param {string} params.stepId A tool results step ID. + * @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?: Params$Resource$Projects$Histories$Executions$Steps$Perfsampleseries$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Histories$Executions$Steps$Perfsampleseries$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Histories$Executions$Steps$Perfsampleseries$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * toolresults.projects.histories.executions.steps.perfSampleSeries.list + * @desc Lists PerfSampleSeries for a given Step. The request provides an + * optional filter which specifies one or more PerfMetricsType to include in + * the result; if none returns all. The resulting PerfSampleSeries are + * sorted by ids. May return any of the following canonical error codes: - + * NOT_FOUND - The containing Step does not exist + * @alias + * toolresults.projects.histories.executions.steps.perfSampleSeries.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.executionId A tool results execution ID. + * @param {string=} params.filter Specify one or more PerfMetricType values such as CPU to filter the result + * @param {string} params.historyId A tool results history ID. + * @param {string} params.projectId The cloud project + * @param {string} params.stepId A tool results step ID. + * @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?: Params$Resource$Projects$Histories$Executions$Steps$Perfsampleseries$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Histories$Executions$Steps$Perfsampleseries$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Histories$Executions$Steps$Perfsampleseries$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Histories$Executions$Steps$Perfsampleseries$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A tool results execution ID. + */ + executionId?: string; + /** + * A tool results history ID. + */ + historyId?: string; + /** + * The cloud project + */ + projectId?: string; + /** + * A tool results step ID. + */ + stepId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$PerfSampleSeries; + } + interface Params$Resource$Projects$Histories$Executions$Steps$Perfsampleseries$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A tool results execution ID. + */ + executionId?: string; + /** + * A tool results history ID. + */ + historyId?: string; + /** + * The cloud project + */ + projectId?: string; + /** + * A sample series id + */ + sampleSeriesId?: string; + /** + * A tool results step ID. + */ + stepId?: string; + } + interface Params$Resource$Projects$Histories$Executions$Steps$Perfsampleseries$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A tool results execution ID. + */ + executionId?: string; + /** + * Specify one or more PerfMetricType values such as CPU to filter the + * result + */ + filter?: string; + /** + * A tool results history ID. + */ + historyId?: string; + /** + * The cloud project + */ + projectId?: string; + /** + * A tool results step ID. + */ + stepId?: string; + } + class Resource$Projects$Histories$Executions$Steps$Perfsampleseries$Samples { + root: Toolresults; + constructor(root: Toolresults); + getRoot(): Toolresults; + /** + * toolresults.projects.histories.executions.steps.perfSampleSeries.samples.batchCreate + * @desc Creates a batch of PerfSamples - a client can submit multiple + * batches of Perf Samples through repeated calls to this method in order to + * split up a large request payload - duplicates and existing timestamp + * entries will be ignored. - the batch operation may partially succeed - + * the set of elements successfully inserted is returned in the response + * (omits items which already existed in the database). May return any of + * the following canonical error codes: - NOT_FOUND - The containing + * PerfSampleSeries does not exist + * @alias + * toolresults.projects.histories.executions.steps.perfSampleSeries.samples.batchCreate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.executionId A tool results execution ID. + * @param {string} params.historyId A tool results history ID. + * @param {string} params.projectId The cloud project + * @param {string} params.sampleSeriesId A sample series id + * @param {string} params.stepId A tool results step ID. + * @param {().BatchCreatePerfSamplesRequest} 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 + */ + batchCreate(params?: Params$Resource$Projects$Histories$Executions$Steps$Perfsampleseries$Samples$Batchcreate, options?: MethodOptions): AxiosPromise; + batchCreate(params: Params$Resource$Projects$Histories$Executions$Steps$Perfsampleseries$Samples$Batchcreate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + batchCreate(params: Params$Resource$Projects$Histories$Executions$Steps$Perfsampleseries$Samples$Batchcreate, callback: BodyResponseCallback): void; + batchCreate(callback: BodyResponseCallback): void; + /** + * toolresults.projects.histories.executions.steps.perfSampleSeries.samples.list + * @desc Lists the Performance Samples of a given Sample Series - The list + * results are sorted by timestamps ascending - The default page size is 500 + * samples; and maximum size allowed 5000 - The response token indicates the + * last returned PerfSample timestamp - When the results size exceeds the + * page size, submit a subsequent request including the page token to return + * the rest of the samples up to the page limit May return any of the + * following canonical error codes: - OUT_OF_RANGE - The specified request + * page_token is out of valid range - NOT_FOUND - The containing + * PerfSampleSeries does not exist + * @alias + * toolresults.projects.histories.executions.steps.perfSampleSeries.samples.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.executionId A tool results execution ID. + * @param {string} params.historyId A tool results history ID. + * @param {integer=} params.pageSize The default page size is 500 samples, and the maximum size is 5000. If the page_size is greater than 5000, the effective page size will be 5000 + * @param {string=} params.pageToken Optional, the next_page_token returned in the previous response + * @param {string} params.projectId The cloud project + * @param {string} params.sampleSeriesId A sample series id + * @param {string} params.stepId A tool results step ID. + * @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?: Params$Resource$Projects$Histories$Executions$Steps$Perfsampleseries$Samples$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Histories$Executions$Steps$Perfsampleseries$Samples$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Histories$Executions$Steps$Perfsampleseries$Samples$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Histories$Executions$Steps$Perfsampleseries$Samples$Batchcreate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A tool results execution ID. + */ + executionId?: string; + /** + * A tool results history ID. + */ + historyId?: string; + /** + * The cloud project + */ + projectId?: string; + /** + * A sample series id + */ + sampleSeriesId?: string; + /** + * A tool results step ID. + */ + stepId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$BatchCreatePerfSamplesRequest; + } + interface Params$Resource$Projects$Histories$Executions$Steps$Perfsampleseries$Samples$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A tool results execution ID. + */ + executionId?: string; + /** + * A tool results history ID. + */ + historyId?: string; + /** + * The default page size is 500 samples, and the maximum size is 5000. If + * the page_size is greater than 5000, the effective page size will be 5000 + */ + pageSize?: number; + /** + * Optional, the next_page_token returned in the previous response + */ + pageToken?: string; + /** + * The cloud project + */ + projectId?: string; + /** + * A sample series id + */ + sampleSeriesId?: string; + /** + * A tool results step ID. + */ + stepId?: string; + } + class Resource$Projects$Histories$Executions$Steps$Thumbnails { + root: Toolresults; + constructor(root: Toolresults); + getRoot(): Toolresults; + /** + * toolresults.projects.histories.executions.steps.thumbnails.list + * @desc Lists thumbnails of images attached to a step. May return any of + * the following canonical error codes: - PERMISSION_DENIED - if the user is + * not authorized to read from the project, or from any of the images - + * INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the step + * does not exist, or if any of the images do not exist + * @alias toolresults.projects.histories.executions.steps.thumbnails.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.executionId An Execution id. Required. + * @param {string} params.historyId A History id. Required. + * @param {integer=} params.pageSize The maximum number of thumbnails to fetch. Default value: 50. The server will use this default if the field is not set or has a value of 0. Optional. + * @param {string=} params.pageToken A continuation token to resume the query at the next item. Optional. + * @param {string} params.projectId A Project id. Required. + * @param {string} params.stepId A Step id. Required. + * @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?: Params$Resource$Projects$Histories$Executions$Steps$Thumbnails$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Histories$Executions$Steps$Thumbnails$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Histories$Executions$Steps$Thumbnails$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Histories$Executions$Steps$Thumbnails$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * An Execution id. Required. + */ + executionId?: string; + /** + * A History id. Required. + */ + historyId?: string; + /** + * The maximum number of thumbnails to fetch. Default value: 50. The server + * will use this default if the field is not set or has a value of 0. + * Optional. + */ + pageSize?: number; + /** + * A continuation token to resume the query at the next item. Optional. + */ + pageToken?: string; + /** + * A Project id. Required. + */ + projectId?: string; + /** + * A Step id. Required. + */ + stepId?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/toolresults/v1beta3.js b/express-server/node_modules/googleapis/build/src/apis/toolresults/v1beta3.js new file mode 100644 index 00000000..4f7e24e9 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/toolresults/v1beta3.js @@ -0,0 +1,937 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var toolresults_v1beta3; +(function (toolresults_v1beta3) { + /** + * Cloud Tool Results API + * + * Reads and publishes results from Firebase Test Lab. + * + * @example + * const {google} = require('googleapis'); + * const toolresults = google.toolresults('v1beta3'); + * + * @namespace toolresults + * @type {Function} + * @version v1beta3 + * @variation v1beta3 + * @param {object=} options Options for Toolresults + */ + class Toolresults { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.projects = new Resource$Projects(this); + } + getRoot() { + return this.root; + } + } + toolresults_v1beta3.Toolresults = Toolresults; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.histories = new Resource$Projects$Histories(root); + } + getRoot() { + return this.root; + } + getSettings(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/toolresults/v1beta3/projects/{projectId}/settings') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId'], + pathParams: ['projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + initializeSettings(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/toolresults/v1beta3/projects/{projectId}:initializeSettings') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId'], + pathParams: ['projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + toolresults_v1beta3.Resource$Projects = Resource$Projects; + class Resource$Projects$Histories { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.executions = new Resource$Projects$Histories$Executions(root); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/toolresults/v1beta3/projects/{projectId}/histories') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId'], + pathParams: ['projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/toolresults/v1beta3/projects/{projectId}/histories/{historyId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId', 'historyId'], + pathParams: ['historyId', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/toolresults/v1beta3/projects/{projectId}/histories') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId'], + pathParams: ['projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + toolresults_v1beta3.Resource$Projects$Histories = Resource$Projects$Histories; + class Resource$Projects$Histories$Executions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.clusters = new Resource$Projects$Histories$Executions$Clusters(root); + this.steps = new Resource$Projects$Histories$Executions$Steps(root); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'historyId'], + pathParams: ['historyId', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId', 'historyId', 'executionId'], + pathParams: ['executionId', 'historyId', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId', 'historyId'], + pathParams: ['historyId', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['projectId', 'historyId', 'executionId'], + pathParams: ['executionId', 'historyId', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + toolresults_v1beta3.Resource$Projects$Histories$Executions = Resource$Projects$Histories$Executions; + class Resource$Projects$Histories$Executions$Clusters { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/clusters/{clusterId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId', 'historyId', 'executionId', 'clusterId'], + pathParams: ['clusterId', 'executionId', 'historyId', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/clusters') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId', 'historyId', 'executionId'], + pathParams: ['executionId', 'historyId', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + toolresults_v1beta3.Resource$Projects$Histories$Executions$Clusters = Resource$Projects$Histories$Executions$Clusters; + class Resource$Projects$Histories$Executions$Steps { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.perfMetricsSummary = + new Resource$Projects$Histories$Executions$Steps$Perfmetricssummary(root); + this.perfSampleSeries = + new Resource$Projects$Histories$Executions$Steps$Perfsampleseries(root); + this.thumbnails = + new Resource$Projects$Histories$Executions$Steps$Thumbnails(root); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'historyId', 'executionId'], + pathParams: ['executionId', 'historyId', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId', 'historyId', 'executionId', 'stepId'], + pathParams: ['executionId', 'historyId', 'projectId', 'stepId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getPerfMetricsSummary(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfMetricsSummary') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId', 'historyId', 'executionId', 'stepId'], + pathParams: ['executionId', 'historyId', 'projectId', 'stepId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId', 'historyId', 'executionId'], + pathParams: ['executionId', 'historyId', 'projectId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['projectId', 'historyId', 'executionId', 'stepId'], + pathParams: ['executionId', 'historyId', 'projectId', 'stepId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + publishXunitXmlFiles(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}:publishXunitXmlFiles') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'historyId', 'executionId', 'stepId'], + pathParams: ['executionId', 'historyId', 'projectId', 'stepId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + toolresults_v1beta3.Resource$Projects$Histories$Executions$Steps = Resource$Projects$Histories$Executions$Steps; + class Resource$Projects$Histories$Executions$Steps$Perfmetricssummary { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfMetricsSummary') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'historyId', 'executionId', 'stepId'], + pathParams: ['executionId', 'historyId', 'projectId', 'stepId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + toolresults_v1beta3.Resource$Projects$Histories$Executions$Steps$Perfmetricssummary = Resource$Projects$Histories$Executions$Steps$Perfmetricssummary; + class Resource$Projects$Histories$Executions$Steps$Perfsampleseries { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.samples = + new Resource$Projects$Histories$Executions$Steps$Perfsampleseries$Samples(root); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfSampleSeries') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['projectId', 'historyId', 'executionId', 'stepId'], + pathParams: ['executionId', 'historyId', 'projectId', 'stepId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfSampleSeries/{sampleSeriesId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [ + 'projectId', 'historyId', 'executionId', 'stepId', 'sampleSeriesId' + ], + pathParams: [ + 'executionId', 'historyId', 'projectId', 'sampleSeriesId', 'stepId' + ], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfSampleSeries') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId', 'historyId', 'executionId', 'stepId'], + pathParams: ['executionId', 'historyId', 'projectId', 'stepId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + toolresults_v1beta3.Resource$Projects$Histories$Executions$Steps$Perfsampleseries = Resource$Projects$Histories$Executions$Steps$Perfsampleseries; + class Resource$Projects$Histories$Executions$Steps$Perfsampleseries$Samples { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + batchCreate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfSampleSeries/{sampleSeriesId}/samples:batchCreate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [ + 'projectId', 'historyId', 'executionId', 'stepId', 'sampleSeriesId' + ], + pathParams: [ + 'executionId', 'historyId', 'projectId', 'sampleSeriesId', 'stepId' + ], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfSampleSeries/{sampleSeriesId}/samples') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [ + 'projectId', 'historyId', 'executionId', 'stepId', 'sampleSeriesId' + ], + pathParams: [ + 'executionId', 'historyId', 'projectId', 'sampleSeriesId', 'stepId' + ], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + toolresults_v1beta3.Resource$Projects$Histories$Executions$Steps$Perfsampleseries$Samples = Resource$Projects$Histories$Executions$Steps$Perfsampleseries$Samples; + class Resource$Projects$Histories$Executions$Steps$Thumbnails { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/thumbnails') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['projectId', 'historyId', 'executionId', 'stepId'], + pathParams: ['executionId', 'historyId', 'projectId', 'stepId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + toolresults_v1beta3.Resource$Projects$Histories$Executions$Steps$Thumbnails = Resource$Projects$Histories$Executions$Steps$Thumbnails; +})(toolresults_v1beta3 = exports.toolresults_v1beta3 || (exports.toolresults_v1beta3 = {})); +//# sourceMappingURL=v1beta3.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/toolresults/v1beta3.js.map b/express-server/node_modules/googleapis/build/src/apis/toolresults/v1beta3.js.map new file mode 100644 index 00000000..565ad1a8 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/toolresults/v1beta3.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1beta3.js","sourceRoot":"","sources":["../../../../src/apis/toolresults/v1beta3.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/tpu/README.md b/express-server/node_modules/googleapis/build/src/apis/tpu/README.md new file mode 100644 index 00000000..46cd18e3 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/tpu/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/tpu + +> TPU API provides customers with access to Google TPU technology. + +## Installation + +```sh +$ npm install @google/tpu +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/tpu/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/tpu/index.d.ts new file mode 100644 index 00000000..8abab6d9 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/tpu/index.d.ts @@ -0,0 +1,10 @@ +import { tpu_v1 } from './v1'; +import { tpu_v1alpha1 } from './v1alpha1'; +export declare const VERSIONS: { + 'v1': typeof tpu_v1.Tpu; + 'v1alpha1': typeof tpu_v1alpha1.Tpu; +}; +export declare function tpu(version: 'v1'): tpu_v1.Tpu; +export declare function tpu(options: tpu_v1.Options): tpu_v1.Tpu; +export declare function tpu(version: 'v1alpha1'): tpu_v1alpha1.Tpu; +export declare function tpu(options: tpu_v1alpha1.Options): tpu_v1alpha1.Tpu; diff --git a/express-server/node_modules/googleapis/build/src/apis/tpu/index.js b/express-server/node_modules/googleapis/build/src/apis/tpu/index.js new file mode 100644 index 00000000..0a301acf --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/tpu/index.js @@ -0,0 +1,27 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +const v1alpha1_1 = require("./v1alpha1"); +exports.VERSIONS = { + 'v1': v1_1.tpu_v1.Tpu, + 'v1alpha1': v1alpha1_1.tpu_v1alpha1.Tpu, +}; +function tpu(versionOrOptions) { + return googleapis_common_1.getAPI('tpu', versionOrOptions, exports.VERSIONS, this); +} +exports.tpu = tpu; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/tpu/index.js.map b/express-server/node_modules/googleapis/build/src/apis/tpu/index.js.map new file mode 100644 index 00000000..5961991b --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/tpu/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/tpu/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAA4B;AAC5B,yCAAwC;AAE3B,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,WAAM,CAAC,GAAG;IAChB,UAAU,EAAE,uBAAY,CAAC,GAAG;CAC7B,CAAC;AAMF,SAAgB,GAAG,CAEf,gBAAqE;IACvE,OAAO,0BAAM,CAAI,KAAK,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAC5D,CAAC;AAJD,kBAIC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/tpu/package.json b/express-server/node_modules/googleapis/build/src/apis/tpu/package.json new file mode 100644 index 00000000..b303d521 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/tpu/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/tpu", + "version": "0.1.0", + "description": "tpu", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/tpu/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/tpu/v1.d.ts new file mode 100644 index 00000000..f45231f5 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/tpu/v1.d.ts @@ -0,0 +1,1026 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace tpu_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Cloud TPU API + * + * TPU API provides customers with access to Google TPU technology. + * + * @example + * const {google} = require('googleapis'); + * const tpu = google.tpu('v1'); + * + * @namespace tpu + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Tpu + */ + class Tpu { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + projects: Resource$Projects; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * A accelerator type that a Node can be configured with. + */ + interface Schema$AcceleratorType { + /** + * The resource name. + */ + name?: string; + /** + * the accelerator type. + */ + type?: string; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * Response for ListAcceleratorTypes. + */ + interface Schema$ListAcceleratorTypesResponse { + /** + * The listed nodes. + */ + acceleratorTypes?: Schema$AcceleratorType[]; + /** + * The next page token or empty if none. + */ + nextPageToken?: string; + } + /** + * The response message for Locations.ListLocations. + */ + interface Schema$ListLocationsResponse { + /** + * A list of locations that matches the specified filter in the request. + */ + locations?: Schema$Location[]; + /** + * The standard List next-page token. + */ + nextPageToken?: string; + } + /** + * Response for ListNodes. + */ + interface Schema$ListNodesResponse { + /** + * The next page token or empty if none. + */ + nextPageToken?: string; + /** + * The listed nodes. + */ + nodes?: Schema$Node[]; + } + /** + * The response message for Operations.ListOperations. + */ + interface Schema$ListOperationsResponse { + /** + * The standard List next-page token. + */ + nextPageToken?: string; + /** + * A list of operations that matches the specified filter in the request. + */ + operations?: Schema$Operation[]; + } + /** + * Response for ListTensorFlowVersions. + */ + interface Schema$ListTensorFlowVersionsResponse { + /** + * The next page token or empty if none. + */ + nextPageToken?: string; + /** + * The listed nodes. + */ + tensorflowVersions?: Schema$TensorFlowVersion[]; + } + /** + * A resource that represents Google Cloud Platform location. + */ + interface Schema$Location { + /** + * The friendly name for this location, typically a nearby city name. For + * example, "Tokyo". + */ + displayName?: string; + /** + * Cross-service attributes for the location. For example + * {"cloud.googleapis.com/region": "us-east1"} + */ + labels?: any; + /** + * The canonical id for this location. For example: `"us-east1"`. + */ + locationId?: string; + /** + * Service-specific metadata. For example the available capacity at the + * given location. + */ + metadata?: any; + /** + * Resource name for the location, which may vary between implementations. + * For example: `"projects/example-project/locations/us-east1"` + */ + name?: string; + } + /** + * A network endpoint over which a TPU worker can be reached. + */ + interface Schema$NetworkEndpoint { + /** + * The IP address of this network endpoint. + */ + ipAddress?: string; + /** + * The port of this network endpoint. + */ + port?: number; + } + /** + * A TPU instance. + */ + interface Schema$Node { + /** + * The type of hardware accelerators associated with this node. Required. + */ + acceleratorType?: string; + /** + * The CIDR block that the TPU node will use when selecting an IP address. + * This CIDR block must be a /29 block; the Compute Engine networks API + * forbids a smaller block, and using a larger block would be wasteful (a + * node can only consume one IP address). Errors will occur if the CIDR + * block has already been used for a currently existing TPU node, the CIDR + * block conflicts with any subnetworks in the user's provided network, + * or the provided network is peered with another network that is using that + * CIDR block. Required. + */ + cidrBlock?: string; + /** + * Output only. The time when the node was created. + */ + createTime?: string; + /** + * The user-supplied description of the TPU. Maximum of 512 characters. + */ + description?: string; + /** + * The health status of the TPU node. + */ + health?: string; + /** + * Output only. If this field is populated, it contains a description of why + * the TPU Node is unhealthy. + */ + healthDescription?: string; + /** + * Output only. DEPRECATED! Use network_endpoints instead. The network + * address for the TPU Node as visible to Compute Engine instances. + */ + ipAddress?: string; + /** + * Resource labels to represent user-provided metadata. + */ + labels?: any; + /** + * Output only. The immutable name of the TPU + */ + name?: string; + /** + * The name of a network they wish to peer the TPU node to. It must be a + * preexisting Compute Engine network inside of the project on which this + * API has been activated. If none is provided, "default" will be + * used. + */ + network?: string; + /** + * Output only. The network endpoints where TPU workers can be accessed and + * sent work. It is recommended that Tensorflow clients of the node reach + * out to the 0th entry in this map first. + */ + networkEndpoints?: Schema$NetworkEndpoint[]; + /** + * Output only. DEPRECATED! Use network_endpoints instead. The network port + * for the TPU Node as visible to Compute Engine instances. + */ + port?: string; + schedulingConfig?: Schema$SchedulingConfig; + /** + * Output only. The service account used to run the tensor flow services + * within the node. To share resources, including Google Cloud Storage data, + * with the Tensorflow job running in the Node, this account must have + * permissions to that data. + */ + serviceAccount?: string; + /** + * Output only. The current state for the TPU Node. + */ + state?: string; + /** + * The version of Tensorflow running in the Node. Required. + */ + tensorflowVersion?: string; + } + /** + * This resource represents a long-running operation that is the result of a + * network API call. + */ + interface Schema$Operation { + /** + * If the value is `false`, it means the operation is still in progress. If + * `true`, the operation is completed, and either `error` or `response` is + * available. + */ + done?: boolean; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * Service-specific metadata associated with the operation. It typically + * contains progress information and common metadata such as create time. + * Some services might not provide such metadata. Any method that returns a + * long-running operation should document the metadata type, if any. + */ + metadata?: any; + /** + * The server-assigned name, which is only unique within the same service + * that originally returns it. If you use the default HTTP mapping, the + * `name` should have the format of `operations/some/unique/name`. + */ + name?: string; + /** + * The normal response of the operation in case of success. If the original + * method returns no data on success, such as `Delete`, the response is + * `google.protobuf.Empty`. If the original method is standard + * `Get`/`Create`/`Update`, the response should be the resource. For other + * methods, the response should have the type `XxxResponse`, where `Xxx` is + * the original method name. For example, if the original method name is + * `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: any; + } + /** + * Represents the metadata of the long-running operation. + */ + interface Schema$OperationMetadata { + /** + * [Output only] API version used to start the operation. + */ + apiVersion?: string; + /** + * [Output only] Identifies whether the user has requested cancellation of + * the operation. Operations that have successfully been cancelled have + * Operation.error value with a google.rpc.Status.code of 1, corresponding + * to `Code.CANCELLED`. + */ + cancelRequested?: boolean; + /** + * [Output only] The time the operation was created. + */ + createTime?: string; + /** + * [Output only] The time the operation finished running. + */ + endTime?: string; + /** + * [Output only] Human-readable status of the operation, if any. + */ + statusDetail?: string; + /** + * [Output only] Server-defined resource path for the target of the + * operation. + */ + target?: string; + /** + * [Output only] Name of the verb executed by the operation. + */ + verb?: string; + } + /** + * Request for ReimageNode. + */ + interface Schema$ReimageNodeRequest { + /** + * The version for reimage to create. + */ + tensorflowVersion?: string; + } + interface Schema$SchedulingConfig { + preemptible?: boolean; + } + /** + * Request for StartNode. + */ + interface Schema$StartNodeRequest { + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + /** + * Request for StopNode. + */ + interface Schema$StopNodeRequest { + } + /** + * A tensorflow version that a Node can be configured with. + */ + interface Schema$TensorFlowVersion { + /** + * The resource name. + */ + name?: string; + /** + * the tensorflow version. + */ + version?: string; + } + class Resource$Projects { + root: Tpu; + locations: Resource$Projects$Locations; + constructor(root: Tpu); + getRoot(): Tpu; + } + class Resource$Projects$Locations { + root: Tpu; + acceleratorTypes: Resource$Projects$Locations$Acceleratortypes; + nodes: Resource$Projects$Locations$Nodes; + operations: Resource$Projects$Locations$Operations; + tensorflowVersions: Resource$Projects$Locations$Tensorflowversions; + constructor(root: Tpu); + getRoot(): Tpu; + /** + * tpu.projects.locations.get + * @desc Gets information about a location. + * @alias tpu.projects.locations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Resource name for the location. + * @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?: Params$Resource$Projects$Locations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Locations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Locations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * tpu.projects.locations.list + * @desc Lists information about the supported locations for this service. + * @alias tpu.projects.locations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter The standard list filter. + * @param {string} params.name The resource that owns the locations collection, if applicable. + * @param {integer=} params.pageSize The standard list page size. + * @param {string=} params.pageToken The standard list page token. + * @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?: Params$Resource$Projects$Locations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Resource name for the location. + */ + name?: string; + } + interface Params$Resource$Projects$Locations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The standard list filter. + */ + filter?: string; + /** + * The resource that owns the locations collection, if applicable. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } + class Resource$Projects$Locations$Acceleratortypes { + root: Tpu; + constructor(root: Tpu); + getRoot(): Tpu; + /** + * tpu.projects.locations.acceleratorTypes.get + * @desc Gets AcceleratorType. + * @alias tpu.projects.locations.acceleratorTypes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name. + * @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?: Params$Resource$Projects$Locations$Acceleratortypes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Locations$Acceleratortypes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Locations$Acceleratortypes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * tpu.projects.locations.acceleratorTypes.list + * @desc Lists accelerator types supported by this API. + * @alias tpu.projects.locations.acceleratorTypes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter List filter. + * @param {string=} params.orderBy Sort results. + * @param {integer=} params.pageSize The maximum number of items to return. + * @param {string=} params.pageToken The next_page_token value returned from a previous List request, if any. + * @param {string} params.parent The parent resource name. + * @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?: Params$Resource$Projects$Locations$Acceleratortypes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$Acceleratortypes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$Acceleratortypes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Acceleratortypes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name. + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Acceleratortypes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * List filter. + */ + filter?: string; + /** + * Sort results. + */ + orderBy?: string; + /** + * The maximum number of items to return. + */ + pageSize?: number; + /** + * The next_page_token value returned from a previous List request, if any. + */ + pageToken?: string; + /** + * The parent resource name. + */ + parent?: string; + } + class Resource$Projects$Locations$Nodes { + root: Tpu; + constructor(root: Tpu); + getRoot(): Tpu; + /** + * tpu.projects.locations.nodes.create + * @desc Creates a node. + * @alias tpu.projects.locations.nodes.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.nodeId The unqualified resource name. + * @param {string} params.parent The parent resource name. + * @param {().Node} 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 + */ + create(params?: Params$Resource$Projects$Locations$Nodes$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Locations$Nodes$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Locations$Nodes$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * tpu.projects.locations.nodes.delete + * @desc Deletes a node. + * @alias tpu.projects.locations.nodes.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name. + * @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?: Params$Resource$Projects$Locations$Nodes$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Locations$Nodes$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Locations$Nodes$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * tpu.projects.locations.nodes.get + * @desc Gets the details of a node. + * @alias tpu.projects.locations.nodes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name. + * @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?: Params$Resource$Projects$Locations$Nodes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Locations$Nodes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Locations$Nodes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * tpu.projects.locations.nodes.list + * @desc Lists nodes. + * @alias tpu.projects.locations.nodes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize The maximum number of items to return. + * @param {string=} params.pageToken The next_page_token value returned from a previous List request, if any. + * @param {string} params.parent The parent resource name. + * @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?: Params$Resource$Projects$Locations$Nodes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$Nodes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$Nodes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * tpu.projects.locations.nodes.reimage + * @desc Reimages a node's OS. + * @alias tpu.projects.locations.nodes.reimage + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name. + * @param {().ReimageNodeRequest} 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 + */ + reimage(params?: Params$Resource$Projects$Locations$Nodes$Reimage, options?: MethodOptions): AxiosPromise; + reimage(params: Params$Resource$Projects$Locations$Nodes$Reimage, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + reimage(params: Params$Resource$Projects$Locations$Nodes$Reimage, callback: BodyResponseCallback): void; + reimage(callback: BodyResponseCallback): void; + /** + * tpu.projects.locations.nodes.start + * @desc Starts a node. + * @alias tpu.projects.locations.nodes.start + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name. + * @param {().StartNodeRequest} 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 + */ + start(params?: Params$Resource$Projects$Locations$Nodes$Start, options?: MethodOptions): AxiosPromise; + start(params: Params$Resource$Projects$Locations$Nodes$Start, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + start(params: Params$Resource$Projects$Locations$Nodes$Start, callback: BodyResponseCallback): void; + start(callback: BodyResponseCallback): void; + /** + * tpu.projects.locations.nodes.stop + * @desc Stops a node. + * @alias tpu.projects.locations.nodes.stop + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name. + * @param {().StopNodeRequest} 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 + */ + stop(params?: Params$Resource$Projects$Locations$Nodes$Stop, options?: MethodOptions): AxiosPromise; + stop(params: Params$Resource$Projects$Locations$Nodes$Stop, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + stop(params: Params$Resource$Projects$Locations$Nodes$Stop, callback: BodyResponseCallback): void; + stop(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Nodes$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The unqualified resource name. + */ + nodeId?: string; + /** + * The parent resource name. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Node; + } + interface Params$Resource$Projects$Locations$Nodes$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name. + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Nodes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name. + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Nodes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The maximum number of items to return. + */ + pageSize?: number; + /** + * The next_page_token value returned from a previous List request, if any. + */ + pageToken?: string; + /** + * The parent resource name. + */ + parent?: string; + } + interface Params$Resource$Projects$Locations$Nodes$Reimage { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ReimageNodeRequest; + } + interface Params$Resource$Projects$Locations$Nodes$Start { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$StartNodeRequest; + } + interface Params$Resource$Projects$Locations$Nodes$Stop { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$StopNodeRequest; + } + class Resource$Projects$Locations$Operations { + root: Tpu; + constructor(root: Tpu); + getRoot(): Tpu; + /** + * tpu.projects.locations.operations.cancel + * @desc Starts asynchronous cancellation on a long-running operation. The + * server makes a best effort to cancel the operation, but success is not + * guaranteed. If the server doesn't support this method, it returns + * `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation + * or other methods to check whether the cancellation succeeded or whether + * the operation completed despite cancellation. On successful cancellation, + * the operation is not deleted; instead, it becomes an operation with an + * Operation.error value with a google.rpc.Status.code of 1, corresponding + * to `Code.CANCELLED`. + * @alias tpu.projects.locations.operations.cancel + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource to be cancelled. + * @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 + */ + cancel(params?: Params$Resource$Projects$Locations$Operations$Cancel, options?: MethodOptions): AxiosPromise; + cancel(params: Params$Resource$Projects$Locations$Operations$Cancel, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + cancel(params: Params$Resource$Projects$Locations$Operations$Cancel, callback: BodyResponseCallback): void; + cancel(callback: BodyResponseCallback): void; + /** + * tpu.projects.locations.operations.delete + * @desc Deletes a long-running operation. This method indicates that the + * client is no longer interested in the operation result. It does not + * cancel the operation. If the server doesn't support this method, it + * returns `google.rpc.Code.UNIMPLEMENTED`. + * @alias tpu.projects.locations.operations.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource to be deleted. + * @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?: Params$Resource$Projects$Locations$Operations$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Locations$Operations$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Locations$Operations$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * tpu.projects.locations.operations.get + * @desc Gets the latest state of a long-running operation. Clients can use + * this method to poll the operation result at intervals as recommended by + * the API service. + * @alias tpu.projects.locations.operations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource. + * @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?: Params$Resource$Projects$Locations$Operations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Locations$Operations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Locations$Operations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * tpu.projects.locations.operations.list + * @desc Lists operations that match the specified filter in the request. If + * the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: + * the `name` binding allows API services to override the binding to use + * different resource name schemes, such as `users/x/operations`. To + * override the binding, API services can add a binding such as + * `"/v1/{name=users/x}/operations"` to their service configuration. For + * backwards compatibility, the default name includes the operations + * collection id, however overriding users must ensure the name binding is + * the parent resource, without the operations collection id. + * @alias tpu.projects.locations.operations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter The standard list filter. + * @param {string} params.name The name of the operation's parent resource. + * @param {integer=} params.pageSize The standard list page size. + * @param {string=} params.pageToken The standard list page token. + * @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?: Params$Resource$Projects$Locations$Operations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$Operations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$Operations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Operations$Cancel { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource to be cancelled. + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Operations$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource to be deleted. + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Operations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource. + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Operations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The standard list filter. + */ + filter?: string; + /** + * The name of the operation's parent resource. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } + class Resource$Projects$Locations$Tensorflowversions { + root: Tpu; + constructor(root: Tpu); + getRoot(): Tpu; + /** + * tpu.projects.locations.tensorflowVersions.get + * @desc Gets TensorFlow Version. + * @alias tpu.projects.locations.tensorflowVersions.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name. + * @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?: Params$Resource$Projects$Locations$Tensorflowversions$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Locations$Tensorflowversions$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Locations$Tensorflowversions$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * tpu.projects.locations.tensorflowVersions.list + * @desc List TensorFlow versions supported by this API. + * @alias tpu.projects.locations.tensorflowVersions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter List filter. + * @param {string=} params.orderBy Sort results. + * @param {integer=} params.pageSize The maximum number of items to return. + * @param {string=} params.pageToken The next_page_token value returned from a previous List request, if any. + * @param {string} params.parent The parent resource name. + * @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?: Params$Resource$Projects$Locations$Tensorflowversions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$Tensorflowversions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$Tensorflowversions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Tensorflowversions$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name. + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Tensorflowversions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * List filter. + */ + filter?: string; + /** + * Sort results. + */ + orderBy?: string; + /** + * The maximum number of items to return. + */ + pageSize?: number; + /** + * The next_page_token value returned from a previous List request, if any. + */ + pageToken?: string; + /** + * The parent resource name. + */ + parent?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/tpu/v1.js b/express-server/node_modules/googleapis/build/src/apis/tpu/v1.js new file mode 100644 index 00000000..48df7c27 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/tpu/v1.js @@ -0,0 +1,640 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var tpu_v1; +(function (tpu_v1) { + /** + * Cloud TPU API + * + * TPU API provides customers with access to Google TPU technology. + * + * @example + * const {google} = require('googleapis'); + * const tpu = google.tpu('v1'); + * + * @namespace tpu + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Tpu + */ + class Tpu { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.projects = new Resource$Projects(this); + } + getRoot() { + return this.root; + } + } + tpu_v1.Tpu = Tpu; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.locations = new Resource$Projects$Locations(root); + } + getRoot() { + return this.root; + } + } + tpu_v1.Resource$Projects = Resource$Projects; + class Resource$Projects$Locations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.acceleratorTypes = + new Resource$Projects$Locations$Acceleratortypes(root); + this.nodes = new Resource$Projects$Locations$Nodes(root); + this.operations = new Resource$Projects$Locations$Operations(root); + this.tensorflowVersions = + new Resource$Projects$Locations$Tensorflowversions(root); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://tpu.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://tpu.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}/locations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + tpu_v1.Resource$Projects$Locations = Resource$Projects$Locations; + class Resource$Projects$Locations$Acceleratortypes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://tpu.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://tpu.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/acceleratorTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + tpu_v1.Resource$Projects$Locations$Acceleratortypes = Resource$Projects$Locations$Acceleratortypes; + class Resource$Projects$Locations$Nodes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://tpu.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/nodes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://tpu.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://tpu.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://tpu.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/nodes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + reimage(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://tpu.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:reimage') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + start(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://tpu.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:start').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + stop(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://tpu.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:stop').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + tpu_v1.Resource$Projects$Locations$Nodes = Resource$Projects$Locations$Nodes; + class Resource$Projects$Locations$Operations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + cancel(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://tpu.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:cancel') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://tpu.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://tpu.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://tpu.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}/operations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + tpu_v1.Resource$Projects$Locations$Operations = Resource$Projects$Locations$Operations; + class Resource$Projects$Locations$Tensorflowversions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://tpu.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://tpu.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+parent}/tensorflowVersions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + tpu_v1.Resource$Projects$Locations$Tensorflowversions = Resource$Projects$Locations$Tensorflowversions; +})(tpu_v1 = exports.tpu_v1 || (exports.tpu_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/tpu/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/tpu/v1.js.map new file mode 100644 index 00000000..0d1accb3 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/tpu/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/tpu/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/tpu/v1alpha1.d.ts b/express-server/node_modules/googleapis/build/src/apis/tpu/v1alpha1.d.ts new file mode 100644 index 00000000..ade5e29d --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/tpu/v1alpha1.d.ts @@ -0,0 +1,1026 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace tpu_v1alpha1 { + interface Options extends GlobalOptions { + version: 'v1alpha1'; + } + /** + * Cloud TPU API + * + * TPU API provides customers with access to Google TPU technology. + * + * @example + * const {google} = require('googleapis'); + * const tpu = google.tpu('v1alpha1'); + * + * @namespace tpu + * @type {Function} + * @version v1alpha1 + * @variation v1alpha1 + * @param {object=} options Options for Tpu + */ + class Tpu { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + projects: Resource$Projects; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * A accelerator type that a Node can be configured with. + */ + interface Schema$AcceleratorType { + /** + * The resource name. + */ + name?: string; + /** + * the accelerator type. + */ + type?: string; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * Response for ListAcceleratorTypes. + */ + interface Schema$ListAcceleratorTypesResponse { + /** + * The listed nodes. + */ + acceleratorTypes?: Schema$AcceleratorType[]; + /** + * The next page token or empty if none. + */ + nextPageToken?: string; + } + /** + * The response message for Locations.ListLocations. + */ + interface Schema$ListLocationsResponse { + /** + * A list of locations that matches the specified filter in the request. + */ + locations?: Schema$Location[]; + /** + * The standard List next-page token. + */ + nextPageToken?: string; + } + /** + * Response for ListNodes. + */ + interface Schema$ListNodesResponse { + /** + * The next page token or empty if none. + */ + nextPageToken?: string; + /** + * The listed nodes. + */ + nodes?: Schema$Node[]; + } + /** + * The response message for Operations.ListOperations. + */ + interface Schema$ListOperationsResponse { + /** + * The standard List next-page token. + */ + nextPageToken?: string; + /** + * A list of operations that matches the specified filter in the request. + */ + operations?: Schema$Operation[]; + } + /** + * Response for ListTensorFlowVersions. + */ + interface Schema$ListTensorFlowVersionsResponse { + /** + * The next page token or empty if none. + */ + nextPageToken?: string; + /** + * The listed nodes. + */ + tensorflowVersions?: Schema$TensorFlowVersion[]; + } + /** + * A resource that represents Google Cloud Platform location. + */ + interface Schema$Location { + /** + * The friendly name for this location, typically a nearby city name. For + * example, "Tokyo". + */ + displayName?: string; + /** + * Cross-service attributes for the location. For example + * {"cloud.googleapis.com/region": "us-east1"} + */ + labels?: any; + /** + * The canonical id for this location. For example: `"us-east1"`. + */ + locationId?: string; + /** + * Service-specific metadata. For example the available capacity at the + * given location. + */ + metadata?: any; + /** + * Resource name for the location, which may vary between implementations. + * For example: `"projects/example-project/locations/us-east1"` + */ + name?: string; + } + /** + * A network endpoint over which a TPU worker can be reached. + */ + interface Schema$NetworkEndpoint { + /** + * The IP address of this network endpoint. + */ + ipAddress?: string; + /** + * The port of this network endpoint. + */ + port?: number; + } + /** + * A TPU instance. + */ + interface Schema$Node { + /** + * The type of hardware accelerators associated with this node. Required. + */ + acceleratorType?: string; + /** + * The CIDR block that the TPU node will use when selecting an IP address. + * This CIDR block must be a /29 block; the Compute Engine networks API + * forbids a smaller block, and using a larger block would be wasteful (a + * node can only consume one IP address). Errors will occur if the CIDR + * block has already been used for a currently existing TPU node, the CIDR + * block conflicts with any subnetworks in the user's provided network, + * or the provided network is peered with another network that is using that + * CIDR block. Required. + */ + cidrBlock?: string; + /** + * Output only. The time when the node was created. + */ + createTime?: string; + /** + * The user-supplied description of the TPU. Maximum of 512 characters. + */ + description?: string; + /** + * The health status of the TPU node. + */ + health?: string; + /** + * Output only. If this field is populated, it contains a description of why + * the TPU Node is unhealthy. + */ + healthDescription?: string; + /** + * Output only. DEPRECATED! Use network_endpoints instead. The network + * address for the TPU Node as visible to Compute Engine instances. + */ + ipAddress?: string; + /** + * Resource labels to represent user-provided metadata. + */ + labels?: any; + /** + * Output only. The immutable name of the TPU + */ + name?: string; + /** + * The name of a network they wish to peer the TPU node to. It must be a + * preexisting Compute Engine network inside of the project on which this + * API has been activated. If none is provided, "default" will be + * used. + */ + network?: string; + /** + * Output only. The network endpoints where TPU workers can be accessed and + * sent work. It is recommended that Tensorflow clients of the node reach + * out to the 0th entry in this map first. + */ + networkEndpoints?: Schema$NetworkEndpoint[]; + /** + * Output only. DEPRECATED! Use network_endpoints instead. The network port + * for the TPU Node as visible to Compute Engine instances. + */ + port?: string; + schedulingConfig?: Schema$SchedulingConfig; + /** + * Output only. The service account used to run the tensor flow services + * within the node. To share resources, including Google Cloud Storage data, + * with the Tensorflow job running in the Node, this account must have + * permissions to that data. + */ + serviceAccount?: string; + /** + * Output only. The current state for the TPU Node. + */ + state?: string; + /** + * The version of Tensorflow running in the Node. Required. + */ + tensorflowVersion?: string; + } + /** + * This resource represents a long-running operation that is the result of a + * network API call. + */ + interface Schema$Operation { + /** + * If the value is `false`, it means the operation is still in progress. If + * `true`, the operation is completed, and either `error` or `response` is + * available. + */ + done?: boolean; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * Service-specific metadata associated with the operation. It typically + * contains progress information and common metadata such as create time. + * Some services might not provide such metadata. Any method that returns a + * long-running operation should document the metadata type, if any. + */ + metadata?: any; + /** + * The server-assigned name, which is only unique within the same service + * that originally returns it. If you use the default HTTP mapping, the + * `name` should have the format of `operations/some/unique/name`. + */ + name?: string; + /** + * The normal response of the operation in case of success. If the original + * method returns no data on success, such as `Delete`, the response is + * `google.protobuf.Empty`. If the original method is standard + * `Get`/`Create`/`Update`, the response should be the resource. For other + * methods, the response should have the type `XxxResponse`, where `Xxx` is + * the original method name. For example, if the original method name is + * `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: any; + } + /** + * Represents the metadata of the long-running operation. + */ + interface Schema$OperationMetadata { + /** + * [Output only] API version used to start the operation. + */ + apiVersion?: string; + /** + * [Output only] Identifies whether the user has requested cancellation of + * the operation. Operations that have successfully been cancelled have + * Operation.error value with a google.rpc.Status.code of 1, corresponding + * to `Code.CANCELLED`. + */ + cancelRequested?: boolean; + /** + * [Output only] The time the operation was created. + */ + createTime?: string; + /** + * [Output only] The time the operation finished running. + */ + endTime?: string; + /** + * [Output only] Human-readable status of the operation, if any. + */ + statusDetail?: string; + /** + * [Output only] Server-defined resource path for the target of the + * operation. + */ + target?: string; + /** + * [Output only] Name of the verb executed by the operation. + */ + verb?: string; + } + /** + * Request for ReimageNode. + */ + interface Schema$ReimageNodeRequest { + /** + * The version for reimage to create. + */ + tensorflowVersion?: string; + } + interface Schema$SchedulingConfig { + preemptible?: boolean; + } + /** + * Request for StartNode. + */ + interface Schema$StartNodeRequest { + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + /** + * Request for StopNode. + */ + interface Schema$StopNodeRequest { + } + /** + * A tensorflow version that a Node can be configured with. + */ + interface Schema$TensorFlowVersion { + /** + * The resource name. + */ + name?: string; + /** + * the tensorflow version. + */ + version?: string; + } + class Resource$Projects { + root: Tpu; + locations: Resource$Projects$Locations; + constructor(root: Tpu); + getRoot(): Tpu; + } + class Resource$Projects$Locations { + root: Tpu; + acceleratorTypes: Resource$Projects$Locations$Acceleratortypes; + nodes: Resource$Projects$Locations$Nodes; + operations: Resource$Projects$Locations$Operations; + tensorflowVersions: Resource$Projects$Locations$Tensorflowversions; + constructor(root: Tpu); + getRoot(): Tpu; + /** + * tpu.projects.locations.get + * @desc Gets information about a location. + * @alias tpu.projects.locations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Resource name for the location. + * @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?: Params$Resource$Projects$Locations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Locations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Locations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * tpu.projects.locations.list + * @desc Lists information about the supported locations for this service. + * @alias tpu.projects.locations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter The standard list filter. + * @param {string} params.name The resource that owns the locations collection, if applicable. + * @param {integer=} params.pageSize The standard list page size. + * @param {string=} params.pageToken The standard list page token. + * @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?: Params$Resource$Projects$Locations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Resource name for the location. + */ + name?: string; + } + interface Params$Resource$Projects$Locations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The standard list filter. + */ + filter?: string; + /** + * The resource that owns the locations collection, if applicable. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } + class Resource$Projects$Locations$Acceleratortypes { + root: Tpu; + constructor(root: Tpu); + getRoot(): Tpu; + /** + * tpu.projects.locations.acceleratorTypes.get + * @desc Gets AcceleratorType. + * @alias tpu.projects.locations.acceleratorTypes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name. + * @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?: Params$Resource$Projects$Locations$Acceleratortypes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Locations$Acceleratortypes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Locations$Acceleratortypes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * tpu.projects.locations.acceleratorTypes.list + * @desc Lists accelerator types supported by this API. + * @alias tpu.projects.locations.acceleratorTypes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter List filter. + * @param {string=} params.orderBy Sort results. + * @param {integer=} params.pageSize The maximum number of items to return. + * @param {string=} params.pageToken The next_page_token value returned from a previous List request, if any. + * @param {string} params.parent The parent resource name. + * @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?: Params$Resource$Projects$Locations$Acceleratortypes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$Acceleratortypes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$Acceleratortypes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Acceleratortypes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name. + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Acceleratortypes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * List filter. + */ + filter?: string; + /** + * Sort results. + */ + orderBy?: string; + /** + * The maximum number of items to return. + */ + pageSize?: number; + /** + * The next_page_token value returned from a previous List request, if any. + */ + pageToken?: string; + /** + * The parent resource name. + */ + parent?: string; + } + class Resource$Projects$Locations$Nodes { + root: Tpu; + constructor(root: Tpu); + getRoot(): Tpu; + /** + * tpu.projects.locations.nodes.create + * @desc Creates a node. + * @alias tpu.projects.locations.nodes.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.nodeId The unqualified resource name. + * @param {string} params.parent The parent resource name. + * @param {().Node} 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 + */ + create(params?: Params$Resource$Projects$Locations$Nodes$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Locations$Nodes$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Locations$Nodes$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * tpu.projects.locations.nodes.delete + * @desc Deletes a node. + * @alias tpu.projects.locations.nodes.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name. + * @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?: Params$Resource$Projects$Locations$Nodes$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Locations$Nodes$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Locations$Nodes$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * tpu.projects.locations.nodes.get + * @desc Gets the details of a node. + * @alias tpu.projects.locations.nodes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name. + * @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?: Params$Resource$Projects$Locations$Nodes$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Locations$Nodes$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Locations$Nodes$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * tpu.projects.locations.nodes.list + * @desc Lists nodes. + * @alias tpu.projects.locations.nodes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize The maximum number of items to return. + * @param {string=} params.pageToken The next_page_token value returned from a previous List request, if any. + * @param {string} params.parent The parent resource name. + * @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?: Params$Resource$Projects$Locations$Nodes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$Nodes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$Nodes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * tpu.projects.locations.nodes.reimage + * @desc Reimages a node's OS. + * @alias tpu.projects.locations.nodes.reimage + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name. + * @param {().ReimageNodeRequest} 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 + */ + reimage(params?: Params$Resource$Projects$Locations$Nodes$Reimage, options?: MethodOptions): AxiosPromise; + reimage(params: Params$Resource$Projects$Locations$Nodes$Reimage, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + reimage(params: Params$Resource$Projects$Locations$Nodes$Reimage, callback: BodyResponseCallback): void; + reimage(callback: BodyResponseCallback): void; + /** + * tpu.projects.locations.nodes.start + * @desc Starts a node. + * @alias tpu.projects.locations.nodes.start + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name. + * @param {().StartNodeRequest} 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 + */ + start(params?: Params$Resource$Projects$Locations$Nodes$Start, options?: MethodOptions): AxiosPromise; + start(params: Params$Resource$Projects$Locations$Nodes$Start, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + start(params: Params$Resource$Projects$Locations$Nodes$Start, callback: BodyResponseCallback): void; + start(callback: BodyResponseCallback): void; + /** + * tpu.projects.locations.nodes.stop + * @desc Stops a node. + * @alias tpu.projects.locations.nodes.stop + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name. + * @param {().StopNodeRequest} 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 + */ + stop(params?: Params$Resource$Projects$Locations$Nodes$Stop, options?: MethodOptions): AxiosPromise; + stop(params: Params$Resource$Projects$Locations$Nodes$Stop, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + stop(params: Params$Resource$Projects$Locations$Nodes$Stop, callback: BodyResponseCallback): void; + stop(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Nodes$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The unqualified resource name. + */ + nodeId?: string; + /** + * The parent resource name. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Node; + } + interface Params$Resource$Projects$Locations$Nodes$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name. + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Nodes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name. + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Nodes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The maximum number of items to return. + */ + pageSize?: number; + /** + * The next_page_token value returned from a previous List request, if any. + */ + pageToken?: string; + /** + * The parent resource name. + */ + parent?: string; + } + interface Params$Resource$Projects$Locations$Nodes$Reimage { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ReimageNodeRequest; + } + interface Params$Resource$Projects$Locations$Nodes$Start { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$StartNodeRequest; + } + interface Params$Resource$Projects$Locations$Nodes$Stop { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$StopNodeRequest; + } + class Resource$Projects$Locations$Operations { + root: Tpu; + constructor(root: Tpu); + getRoot(): Tpu; + /** + * tpu.projects.locations.operations.cancel + * @desc Starts asynchronous cancellation on a long-running operation. The + * server makes a best effort to cancel the operation, but success is not + * guaranteed. If the server doesn't support this method, it returns + * `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation + * or other methods to check whether the cancellation succeeded or whether + * the operation completed despite cancellation. On successful cancellation, + * the operation is not deleted; instead, it becomes an operation with an + * Operation.error value with a google.rpc.Status.code of 1, corresponding + * to `Code.CANCELLED`. + * @alias tpu.projects.locations.operations.cancel + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource to be cancelled. + * @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 + */ + cancel(params?: Params$Resource$Projects$Locations$Operations$Cancel, options?: MethodOptions): AxiosPromise; + cancel(params: Params$Resource$Projects$Locations$Operations$Cancel, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + cancel(params: Params$Resource$Projects$Locations$Operations$Cancel, callback: BodyResponseCallback): void; + cancel(callback: BodyResponseCallback): void; + /** + * tpu.projects.locations.operations.delete + * @desc Deletes a long-running operation. This method indicates that the + * client is no longer interested in the operation result. It does not + * cancel the operation. If the server doesn't support this method, it + * returns `google.rpc.Code.UNIMPLEMENTED`. + * @alias tpu.projects.locations.operations.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource to be deleted. + * @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?: Params$Resource$Projects$Locations$Operations$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Locations$Operations$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Locations$Operations$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * tpu.projects.locations.operations.get + * @desc Gets the latest state of a long-running operation. Clients can use + * this method to poll the operation result at intervals as recommended by + * the API service. + * @alias tpu.projects.locations.operations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource. + * @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?: Params$Resource$Projects$Locations$Operations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Locations$Operations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Locations$Operations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * tpu.projects.locations.operations.list + * @desc Lists operations that match the specified filter in the request. If + * the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: + * the `name` binding allows API services to override the binding to use + * different resource name schemes, such as `users/x/operations`. To + * override the binding, API services can add a binding such as + * `"/v1/{name=users/x}/operations"` to their service configuration. For + * backwards compatibility, the default name includes the operations + * collection id, however overriding users must ensure the name binding is + * the parent resource, without the operations collection id. + * @alias tpu.projects.locations.operations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter The standard list filter. + * @param {string} params.name The name of the operation's parent resource. + * @param {integer=} params.pageSize The standard list page size. + * @param {string=} params.pageToken The standard list page token. + * @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?: Params$Resource$Projects$Locations$Operations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$Operations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$Operations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Operations$Cancel { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource to be cancelled. + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Operations$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource to be deleted. + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Operations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource. + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Operations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The standard list filter. + */ + filter?: string; + /** + * The name of the operation's parent resource. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } + class Resource$Projects$Locations$Tensorflowversions { + root: Tpu; + constructor(root: Tpu); + getRoot(): Tpu; + /** + * tpu.projects.locations.tensorflowVersions.get + * @desc Gets TensorFlow Version. + * @alias tpu.projects.locations.tensorflowVersions.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name. + * @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?: Params$Resource$Projects$Locations$Tensorflowversions$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Locations$Tensorflowversions$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Locations$Tensorflowversions$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * tpu.projects.locations.tensorflowVersions.list + * @desc Lists TensorFlow versions supported by this API. + * @alias tpu.projects.locations.tensorflowVersions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter List filter. + * @param {string=} params.orderBy Sort results. + * @param {integer=} params.pageSize The maximum number of items to return. + * @param {string=} params.pageToken The next_page_token value returned from a previous List request, if any. + * @param {string} params.parent The parent resource name. + * @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?: Params$Resource$Projects$Locations$Tensorflowversions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Locations$Tensorflowversions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Locations$Tensorflowversions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Locations$Tensorflowversions$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name. + */ + name?: string; + } + interface Params$Resource$Projects$Locations$Tensorflowversions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * List filter. + */ + filter?: string; + /** + * Sort results. + */ + orderBy?: string; + /** + * The maximum number of items to return. + */ + pageSize?: number; + /** + * The next_page_token value returned from a previous List request, if any. + */ + pageToken?: string; + /** + * The parent resource name. + */ + parent?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/tpu/v1alpha1.js b/express-server/node_modules/googleapis/build/src/apis/tpu/v1alpha1.js new file mode 100644 index 00000000..6fbc3642 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/tpu/v1alpha1.js @@ -0,0 +1,642 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var tpu_v1alpha1; +(function (tpu_v1alpha1) { + /** + * Cloud TPU API + * + * TPU API provides customers with access to Google TPU technology. + * + * @example + * const {google} = require('googleapis'); + * const tpu = google.tpu('v1alpha1'); + * + * @namespace tpu + * @type {Function} + * @version v1alpha1 + * @variation v1alpha1 + * @param {object=} options Options for Tpu + */ + class Tpu { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.projects = new Resource$Projects(this); + } + getRoot() { + return this.root; + } + } + tpu_v1alpha1.Tpu = Tpu; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.locations = new Resource$Projects$Locations(root); + } + getRoot() { + return this.root; + } + } + tpu_v1alpha1.Resource$Projects = Resource$Projects; + class Resource$Projects$Locations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.acceleratorTypes = + new Resource$Projects$Locations$Acceleratortypes(root); + this.nodes = new Resource$Projects$Locations$Nodes(root); + this.operations = new Resource$Projects$Locations$Operations(root); + this.tensorflowVersions = + new Resource$Projects$Locations$Tensorflowversions(root); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://tpu.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://tpu.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha1/{+name}/locations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + tpu_v1alpha1.Resource$Projects$Locations = Resource$Projects$Locations; + class Resource$Projects$Locations$Acceleratortypes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://tpu.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://tpu.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha1/{+parent}/acceleratorTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + tpu_v1alpha1.Resource$Projects$Locations$Acceleratortypes = Resource$Projects$Locations$Acceleratortypes; + class Resource$Projects$Locations$Nodes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://tpu.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha1/{+parent}/nodes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://tpu.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://tpu.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://tpu.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha1/{+parent}/nodes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + reimage(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://tpu.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha1/{+name}:reimage') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + start(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://tpu.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha1/{+name}:start') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + stop(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://tpu.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha1/{+name}:stop') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + tpu_v1alpha1.Resource$Projects$Locations$Nodes = Resource$Projects$Locations$Nodes; + class Resource$Projects$Locations$Operations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + cancel(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://tpu.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha1/{+name}:cancel') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://tpu.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://tpu.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://tpu.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha1/{+name}/operations') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + tpu_v1alpha1.Resource$Projects$Locations$Operations = Resource$Projects$Locations$Operations; + class Resource$Projects$Locations$Tensorflowversions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://tpu.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://tpu.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha1/{+parent}/tensorflowVersions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + tpu_v1alpha1.Resource$Projects$Locations$Tensorflowversions = Resource$Projects$Locations$Tensorflowversions; +})(tpu_v1alpha1 = exports.tpu_v1alpha1 || (exports.tpu_v1alpha1 = {})); +//# sourceMappingURL=v1alpha1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/tpu/v1alpha1.js.map b/express-server/node_modules/googleapis/build/src/apis/tpu/v1alpha1.js.map new file mode 100644 index 00000000..fc556703 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/tpu/v1alpha1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1alpha1.js","sourceRoot":"","sources":["../../../../src/apis/tpu/v1alpha1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/translate/README.md b/express-server/node_modules/googleapis/build/src/apis/translate/README.md new file mode 100644 index 00000000..5d708cc3 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/translate/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/translate + +> The Google Cloud Translation API lets websites and programs integrate with Google Translate programmatically. + +## Installation + +```sh +$ npm install @google/translate +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/translate/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/translate/index.d.ts new file mode 100644 index 00000000..627b7c6b --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/translate/index.d.ts @@ -0,0 +1,6 @@ +import { translate_v2 } from './v2'; +export declare const VERSIONS: { + 'v2': typeof translate_v2.Translate; +}; +export declare function translate(version: 'v2'): translate_v2.Translate; +export declare function translate(options: translate_v2.Options): translate_v2.Translate; diff --git a/express-server/node_modules/googleapis/build/src/apis/translate/index.js b/express-server/node_modules/googleapis/build/src/apis/translate/index.js new file mode 100644 index 00000000..e6f5bf0f --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/translate/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v2_1 = require("./v2"); +exports.VERSIONS = { + 'v2': v2_1.translate_v2.Translate, +}; +function translate(versionOrOptions) { + return googleapis_common_1.getAPI('translate', versionOrOptions, exports.VERSIONS, this); +} +exports.translate = translate; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/translate/index.js.map b/express-server/node_modules/googleapis/build/src/apis/translate/index.js.map new file mode 100644 index 00000000..f240b0ce --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/translate/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/translate/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAkC;AAErB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,iBAAY,CAAC,SAAS;CAC7B,CAAC;AAKF,SAAgB,SAAS,CACK,gBAA2C;IACvE,OAAO,0BAAM,CAAI,WAAW,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAClE,CAAC;AAHD,8BAGC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/translate/package.json b/express-server/node_modules/googleapis/build/src/apis/translate/package.json new file mode 100644 index 00000000..3a20cd3e --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/translate/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/translate", + "version": "0.1.0", + "description": "translate", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/translate/v2.d.ts b/express-server/node_modules/googleapis/build/src/apis/translate/v2.d.ts new file mode 100644 index 00000000..24bbdf08 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/translate/v2.d.ts @@ -0,0 +1,350 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace translate_v2 { + interface Options extends GlobalOptions { + version: 'v2'; + } + /** + * Google Cloud Translation API + * + * The Google Cloud Translation API lets websites and programs integrate with + * Google Translate programmatically. + * + * @example + * const {google} = require('googleapis'); + * const translate = google.translate('v2'); + * + * @namespace translate + * @type {Function} + * @version v2 + * @variation v2 + * @param {object=} options Options for Translate + */ + class Translate { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + detections: Resource$Detections; + languages: Resource$Languages; + translations: Resource$Translations; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + interface Schema$DetectionsListResponse { + /** + * A detections contains detection results of several text + */ + detections?: Schema$DetectionsResource[]; + } + /** + * An array of languages which we detect for the given text The most likely + * language list first. + */ + interface Schema$DetectionsResource { + } + /** + * The request message for language detection. + */ + interface Schema$DetectLanguageRequest { + /** + * The input text upon which to perform language detection. Repeat this + * parameter to perform language detection on multiple text inputs. + */ + q?: string[]; + } + /** + * The request message for discovering supported languages. + */ + interface Schema$GetSupportedLanguagesRequest { + /** + * The language to use to return localized, human readable names of + * supported languages. + */ + target?: string; + } + interface Schema$LanguagesListResponse { + /** + * List of source/target languages supported by the translation API. If + * target parameter is unspecified, the list is sorted by the ASCII code + * point order of the language code. If target parameter is specified, the + * list is sorted by the collation order of the language name in the target + * language. + */ + languages?: Schema$LanguagesResource[]; + } + interface Schema$LanguagesResource { + /** + * Supported language code, generally consisting of its ISO 639-1 + * identifier. (E.g. 'en', 'ja'). In certain cases, BCP-47 + * codes including language + region identifiers are returned (e.g. + * 'zh-TW' and 'zh-CH') + */ + language?: string; + /** + * Human readable name of the language localized to the target language. + */ + name?: string; + } + /** + * The main translation request message for the Cloud Translation API. + */ + interface Schema$TranslateTextRequest { + /** + * The format of the source text, in either HTML (default) or plain-text. A + * value of "html" indicates HTML and a value of "text" + * indicates plain-text. + */ + format?: string; + /** + * The `model` type requested for this translation. Valid values are listed + * in public documentation. + */ + model?: string; + /** + * The input text to translate. Repeat this parameter to perform translation + * operations on multiple text inputs. + */ + q?: string[]; + /** + * The language of the source text, set to one of the language codes listed + * in Language Support. If the source language is not specified, the API + * will attempt to identify the source language automatically and return it + * within the response. + */ + source?: string; + /** + * The language to use for translation of the input text, set to one of the + * language codes listed in Language Support. + */ + target?: string; + } + /** + * The main language translation response message. + */ + interface Schema$TranslationsListResponse { + /** + * Translations contains list of translation results of given text + */ + translations?: Schema$TranslationsResource[]; + } + interface Schema$TranslationsResource { + /** + * The source language of the initial request, detected automatically, if no + * source language was passed within the initial request. If the source + * language was passed, auto-detection of the language will not occur and + * this field will be empty. + */ + detectedSourceLanguage?: string; + /** + * The `model` type used for this translation. Valid values are listed in + * public documentation. Can be different from requested `model`. Present + * only if specific model type was explicitly requested. + */ + model?: string; + /** + * Text translated into the target language. + */ + translatedText?: string; + } + class Resource$Detections { + root: Translate; + constructor(root: Translate); + getRoot(): Translate; + /** + * language.detections.detect + * @desc Detects the language of text within a request. + * @alias language.detections.detect + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().DetectLanguageRequest} 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 + */ + detect(params?: Params$Resource$Detections$Detect, options?: MethodOptions): AxiosPromise; + detect(params: Params$Resource$Detections$Detect, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + detect(params: Params$Resource$Detections$Detect, callback: BodyResponseCallback): void; + detect(callback: BodyResponseCallback): void; + /** + * language.detections.list + * @desc Detects the language of text within a request. + * @alias language.detections.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.q The input text upon which to perform language detection. Repeat this parameter to perform language detection on multiple text inputs. + * @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?: Params$Resource$Detections$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Detections$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Detections$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Detections$Detect { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$DetectLanguageRequest; + } + interface Params$Resource$Detections$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The input text upon which to perform language detection. Repeat this + * parameter to perform language detection on multiple text inputs. + */ + q?: string; + } + class Resource$Languages { + root: Translate; + constructor(root: Translate); + getRoot(): Translate; + /** + * language.languages.list + * @desc Returns a list of supported languages for translation. + * @alias language.languages.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {string=} params.model The model type for which supported languages should be returned. + * @param {string=} params.target The language to use to return localized, human readable names of supported languages. + * @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?: Params$Resource$Languages$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Languages$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Languages$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Languages$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The model type for which supported languages should be returned. + */ + model?: string; + /** + * The language to use to return localized, human readable names of + * supported languages. + */ + target?: string; + } + class Resource$Translations { + root: Translate; + constructor(root: Translate); + getRoot(): Translate; + /** + * language.translations.list + * @desc Translates input text, returning translated text. + * @alias language.translations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.cid The customization id for translate + * @param {string=} params.format The format of the source text, in either HTML (default) or plain-text. A value of "html" indicates HTML and a value of "text" indicates plain-text. + * @param {string=} params.model The `model` type requested for this translation. Valid values are listed in public documentation. + * @param {string} params.q The input text to translate. Repeat this parameter to perform translation operations on multiple text inputs. + * @param {string=} params.source The language of the source text, set to one of the language codes listed in Language Support. If the source language is not specified, the API will attempt to identify the source language automatically and return it within the response. + * @param {string} params.target The language to use for translation of the input text, set to one of the language codes listed in Language Support. + * @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?: Params$Resource$Translations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Translations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Translations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * language.translations.translate + * @desc Translates input text, returning translated text. + * @alias language.translations.translate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().TranslateTextRequest} 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 + */ + translate(params?: Params$Resource$Translations$Translate, options?: MethodOptions): AxiosPromise; + translate(params: Params$Resource$Translations$Translate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + translate(params: Params$Resource$Translations$Translate, callback: BodyResponseCallback): void; + translate(callback: BodyResponseCallback): void; + } + interface Params$Resource$Translations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The customization id for translate + */ + cid?: string; + /** + * The format of the source text, in either HTML (default) or plain-text. A + * value of "html" indicates HTML and a value of "text" indicates + * plain-text. + */ + format?: string; + /** + * The `model` type requested for this translation. Valid values are listed + * in public documentation. + */ + model?: string; + /** + * The input text to translate. Repeat this parameter to perform translation + * operations on multiple text inputs. + */ + q?: string; + /** + * The language of the source text, set to one of the language codes listed + * in Language Support. If the source language is not specified, the API + * will attempt to identify the source language automatically and return it + * within the response. + */ + source?: string; + /** + * The language to use for translation of the input text, set to one of the + * language codes listed in Language Support. + */ + target?: string; + } + interface Params$Resource$Translations$Translate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$TranslateTextRequest; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/translate/v2.js b/express-server/node_modules/googleapis/build/src/apis/translate/v2.js new file mode 100644 index 00000000..987eaffa --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/translate/v2.js @@ -0,0 +1,243 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var translate_v2; +(function (translate_v2) { + /** + * Google Cloud Translation API + * + * The Google Cloud Translation API lets websites and programs integrate with + * Google Translate programmatically. + * + * @example + * const {google} = require('googleapis'); + * const translate = google.translate('v2'); + * + * @namespace translate + * @type {Function} + * @version v2 + * @variation v2 + * @param {object=} options Options for Translate + */ + class Translate { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.detections = new Resource$Detections(this); + this.languages = new Resource$Languages(this); + this.translations = new Resource$Translations(this); + } + getRoot() { + return this.root; + } + } + translate_v2.Translate = Translate; + class Resource$Detections { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + detect(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://translation.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/language/translate/v2/detect') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://translation.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/language/translate/v2/detect') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['q'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + translate_v2.Resource$Detections = Resource$Detections; + class Resource$Languages { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://translation.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/language/translate/v2/languages') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + translate_v2.Resource$Languages = Resource$Languages; + class Resource$Translations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://translation.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/language/translate/v2') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['q', 'target'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + translate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://translation.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/language/translate/v2') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + translate_v2.Resource$Translations = Resource$Translations; +})(translate_v2 = exports.translate_v2 || (exports.translate_v2 = {})); +//# sourceMappingURL=v2.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/translate/v2.js.map b/express-server/node_modules/googleapis/build/src/apis/translate/v2.js.map new file mode 100644 index 00000000..78ffb140 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/translate/v2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v2.js","sourceRoot":"","sources":["../../../../src/apis/translate/v2.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/urlshortener/README.md b/express-server/node_modules/googleapis/build/src/apis/urlshortener/README.md new file mode 100644 index 00000000..886c2857 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/urlshortener/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/urlshortener + +> Lets you create, inspect, and manage goo.gl short URLs + +## Installation + +```sh +$ npm install @google/urlshortener +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/urlshortener/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/urlshortener/index.d.ts new file mode 100644 index 00000000..51e89c94 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/urlshortener/index.d.ts @@ -0,0 +1,6 @@ +import { urlshortener_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof urlshortener_v1.Urlshortener; +}; +export declare function urlshortener(version: 'v1'): urlshortener_v1.Urlshortener; +export declare function urlshortener(options: urlshortener_v1.Options): urlshortener_v1.Urlshortener; diff --git a/express-server/node_modules/googleapis/build/src/apis/urlshortener/index.js b/express-server/node_modules/googleapis/build/src/apis/urlshortener/index.js new file mode 100644 index 00000000..416a14b9 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/urlshortener/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.urlshortener_v1.Urlshortener, +}; +function urlshortener(versionOrOptions) { + return googleapis_common_1.getAPI('urlshortener', versionOrOptions, exports.VERSIONS, this); +} +exports.urlshortener = urlshortener; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/urlshortener/index.js.map b/express-server/node_modules/googleapis/build/src/apis/urlshortener/index.js.map new file mode 100644 index 00000000..fd9efd20 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/urlshortener/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/urlshortener/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAqC;AAExB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,oBAAe,CAAC,YAAY;CACnC,CAAC;AAKF,SAAgB,YAAY,CACE,gBAA8C;IAC1E,OAAO,0BAAM,CAAI,cAAc,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACrE,CAAC;AAHD,oCAGC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/urlshortener/package.json b/express-server/node_modules/googleapis/build/src/apis/urlshortener/package.json new file mode 100644 index 00000000..7fe08353 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/urlshortener/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/urlshortener", + "version": "0.1.0", + "description": "urlshortener", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/urlshortener/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/urlshortener/v1.d.ts new file mode 100644 index 00000000..bb34d992 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/urlshortener/v1.d.ts @@ -0,0 +1,262 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace urlshortener_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * URL Shortener API + * + * Lets you create, inspect, and manage goo.gl short URLs + * + * @example + * const {google} = require('googleapis'); + * const urlshortener = google.urlshortener('v1'); + * + * @namespace urlshortener + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Urlshortener + */ + class Urlshortener { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + url: Resource$Url; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + interface Schema$AnalyticsSnapshot { + /** + * Top browsers, e.g. "Chrome"; sorted by (descending) click + * counts. Only present if this data is available. + */ + browsers?: Schema$StringCount[]; + /** + * Top countries (expressed as country codes), e.g. "US" or + * "DE"; sorted by (descending) click counts. Only present if this + * data is available. + */ + countries?: Schema$StringCount[]; + /** + * Number of clicks on all goo.gl short URLs pointing to this long URL. + */ + longUrlClicks?: string; + /** + * Top platforms or OSes, e.g. "Windows"; sorted by (descending) + * click counts. Only present if this data is available. + */ + platforms?: Schema$StringCount[]; + /** + * Top referring hosts, e.g. "www.google.com"; sorted by + * (descending) click counts. Only present if this data is available. + */ + referrers?: Schema$StringCount[]; + /** + * Number of clicks on this short URL. + */ + shortUrlClicks?: string; + } + interface Schema$AnalyticsSummary { + /** + * Click analytics over all time. + */ + allTime?: Schema$AnalyticsSnapshot; + /** + * Click analytics over the last day. + */ + day?: Schema$AnalyticsSnapshot; + /** + * Click analytics over the last month. + */ + month?: Schema$AnalyticsSnapshot; + /** + * Click analytics over the last two hours. + */ + twoHours?: Schema$AnalyticsSnapshot; + /** + * Click analytics over the last week. + */ + week?: Schema$AnalyticsSnapshot; + } + interface Schema$StringCount { + /** + * Number of clicks for this top entry, e.g. for this particular country or + * browser. + */ + count?: string; + /** + * Label assigned to this top entry, e.g. "US" or + * "Chrome". + */ + id?: string; + } + interface Schema$Url { + /** + * A summary of the click analytics for the short and long URL. Might not be + * present if not requested or currently unavailable. + */ + analytics?: Schema$AnalyticsSummary; + /** + * Time the short URL was created; ISO 8601 representation using the + * yyyy-MM-dd'T'HH:mm:ss.SSSZZ format, e.g. + * "2010-10-14T19:01:24.944+00:00". + */ + created?: string; + /** + * Short URL, e.g. "http://goo.gl/l6MS". + */ + id?: string; + /** + * The fixed string "urlshortener#url". + */ + kind?: string; + /** + * Long URL, e.g. "http://www.google.com/". Might not be present + * if the status is "REMOVED". + */ + longUrl?: string; + /** + * Status of the target URL. Possible values: "OK", + * "MALWARE", "PHISHING", or "REMOVED". A URL + * might be marked "REMOVED" if it was flagged as spam, for + * example. + */ + status?: string; + } + interface Schema$UrlHistory { + /** + * A list of URL resources. + */ + items?: Schema$Url[]; + /** + * Number of items returned with each full "page" of results. Note + * that the last page could have fewer items than the + * "itemsPerPage" value. + */ + itemsPerPage?: number; + /** + * The fixed string "urlshortener#urlHistory". + */ + kind?: string; + /** + * A token to provide to get the next page of results. + */ + nextPageToken?: string; + /** + * Total number of short URLs associated with this user (may be + * approximate). + */ + totalItems?: number; + } + class Resource$Url { + root: Urlshortener; + constructor(root: Urlshortener); + getRoot(): Urlshortener; + /** + * urlshortener.url.get + * @desc Expands a short URL or gets creation time and analytics. + * @alias urlshortener.url.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.projection Additional information to return. + * @param {string} params.shortUrl The short URL, including the protocol. + * @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?: Params$Resource$Url$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Url$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Url$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * urlshortener.url.insert + * @desc Creates a new short URL. + * @alias urlshortener.url.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().Url} 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?: Params$Resource$Url$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Url$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Url$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * urlshortener.url.list + * @desc Retrieves a list of URLs shortened by a user. + * @alias urlshortener.url.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {string=} params.projection Additional information to return. + * @param {string=} params.start-token Token for requesting successive pages of results. + * @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?: Params$Resource$Url$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Url$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Url$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Url$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Additional information to return. + */ + projection?: string; + /** + * The short URL, including the protocol. + */ + shortUrl?: string; + } + interface Params$Resource$Url$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$Url; + } + interface Params$Resource$Url$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Additional information to return. + */ + projection?: string; + /** + * Token for requesting successive pages of results. + */ + 'start-token'?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/urlshortener/v1.js b/express-server/node_modules/googleapis/build/src/apis/urlshortener/v1.js new file mode 100644 index 00000000..0e6b6aad --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/urlshortener/v1.js @@ -0,0 +1,158 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var urlshortener_v1; +(function (urlshortener_v1) { + /** + * URL Shortener API + * + * Lets you create, inspect, and manage goo.gl short URLs + * + * @example + * const {google} = require('googleapis'); + * const urlshortener = google.urlshortener('v1'); + * + * @namespace urlshortener + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Urlshortener + */ + class Urlshortener { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.url = new Resource$Url(this); + } + getRoot() { + return this.root; + } + } + urlshortener_v1.Urlshortener = Urlshortener; + class Resource$Url { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/urlshortener/v1/url') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['shortUrl'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/urlshortener/v1/url') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/urlshortener/v1/url/history') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + urlshortener_v1.Resource$Url = Resource$Url; +})(urlshortener_v1 = exports.urlshortener_v1 || (exports.urlshortener_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/urlshortener/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/urlshortener/v1.js.map new file mode 100644 index 00000000..e5eeaaa4 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/urlshortener/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/urlshortener/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/vault/README.md b/express-server/node_modules/googleapis/build/src/apis/vault/README.md new file mode 100644 index 00000000..77b1c889 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/vault/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/vault + +> Archiving and eDiscovery for G Suite. + +## Installation + +```sh +$ npm install @google/vault +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/vault/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/vault/index.d.ts new file mode 100644 index 00000000..25e41a85 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/vault/index.d.ts @@ -0,0 +1,6 @@ +import { vault_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof vault_v1.Vault; +}; +export declare function vault(version: 'v1'): vault_v1.Vault; +export declare function vault(options: vault_v1.Options): vault_v1.Vault; diff --git a/express-server/node_modules/googleapis/build/src/apis/vault/index.js b/express-server/node_modules/googleapis/build/src/apis/vault/index.js new file mode 100644 index 00000000..ee88736c --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/vault/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.vault_v1.Vault, +}; +function vault(versionOrOptions) { + return googleapis_common_1.getAPI('vault', versionOrOptions, exports.VERSIONS, this); +} +exports.vault = vault; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/vault/index.js.map b/express-server/node_modules/googleapis/build/src/apis/vault/index.js.map new file mode 100644 index 00000000..5f8ec390 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/vault/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/vault/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAA8B;AAEjB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,aAAQ,CAAC,KAAK;CACrB,CAAC;AAIF,SAAgB,KAAK,CACS,gBAAuC;IACnE,OAAO,0BAAM,CAAI,OAAO,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAC9D,CAAC;AAHD,sBAGC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/vault/package.json b/express-server/node_modules/googleapis/build/src/apis/vault/package.json new file mode 100644 index 00000000..3d48af59 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/vault/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/vault", + "version": "0.1.0", + "description": "vault", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/vault/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/vault/v1.d.ts new file mode 100644 index 00000000..ceacf4d3 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/vault/v1.d.ts @@ -0,0 +1,1613 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace vault_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * G Suite Vault API + * + * Archiving and eDiscovery for G Suite. + * + * @example + * const {google} = require('googleapis'); + * const vault = google.vault('v1'); + * + * @namespace vault + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Vault + */ + class Vault { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + matters: Resource$Matters; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Accounts to search + */ + interface Schema$AccountInfo { + /** + * A set of accounts to search. + */ + emails?: string[]; + } + /** + * A status detailing the status of each account creation, and the + * HeldAccount, if successful. + */ + interface Schema$AddHeldAccountResult { + /** + * If present, this account was successfully created. + */ + account?: Schema$HeldAccount; + /** + * This represents the success status. If failed, check message. + */ + status?: Schema$Status; + } + /** + * Add a list of accounts to a hold. + */ + interface Schema$AddHeldAccountsRequest { + /** + * Account ids to identify which accounts to add. Only account_ids or only + * emails should be specified, but not both. + */ + accountIds?: string[]; + /** + * Emails to identify which accounts to add. Only emails or only account_ids + * should be specified, but not both. + */ + emails?: string[]; + } + /** + * Response for batch create held accounts. + */ + interface Schema$AddHeldAccountsResponse { + /** + * The list of responses, in the same order as the batch request. + */ + responses?: Schema$AddHeldAccountResult[]; + } + /** + * Add an account with the permission specified. The role cannot be owner. If + * an account already has a role in the matter, it will be overwritten. + */ + interface Schema$AddMatterPermissionsRequest { + /** + * Only relevant if send_emails is true. True to CC requestor in the email + * message. False to not CC requestor. + */ + ccMe?: boolean; + /** + * The MatterPermission to add. + */ + matterPermission?: Schema$MatterPermission; + /** + * True to send notification email to the added account. False to not send + * notification email. + */ + sendEmails?: boolean; + } + /** + * Close a matter by ID. + */ + interface Schema$CloseMatterRequest { + } + /** + * Response to a CloseMatterRequest. + */ + interface Schema$CloseMatterResponse { + /** + * The updated matter, with state CLOSED. + */ + matter?: Schema$Matter; + } + /** + * An export file on cloud storage + */ + interface Schema$CloudStorageFile { + /** + * The cloud storage bucket name of this export file. Can be used in cloud + * storage JSON/XML API. + */ + bucketName?: string; + /** + * The md5 hash of the file. + */ + md5Hash?: string; + /** + * The cloud storage object name of this export file. Can be used in cloud + * storage JSON/XML API. + */ + objectName?: string; + /** + * The size of the export file. + */ + size?: string; + } + /** + * Export sink for cloud storage files. + */ + interface Schema$CloudStorageSink { + /** + * Output only. The exported files on cloud storage. + */ + files?: Schema$CloudStorageFile[]; + } + /** + * Corpus specific queries. + */ + interface Schema$CorpusQuery { + /** + * Details pertaining to Drive holds. If set, corpus must be Drive. + */ + driveQuery?: Schema$HeldDriveQuery; + /** + * Details pertaining to Groups holds. If set, corpus must be Groups. + */ + groupsQuery?: Schema$HeldGroupsQuery; + /** + * Details pertaining to Hangouts Chat holds. If set, corpus must be + * Hangouts Chat. + */ + hangoutsChatQuery?: Schema$HeldHangoutsChatQuery; + /** + * Details pertaining to mail holds. If set, corpus must be mail. + */ + mailQuery?: Schema$HeldMailQuery; + } + /** + * The options for Drive export. + */ + interface Schema$DriveExportOptions { + /** + * Set to true to include access level information for users with <a + * href="https://support.google.com/vault/answer/6099459#metadata">indirect + * access</a> to files. + */ + includeAccessInfo?: boolean; + } + /** + * Drive search advanced options + */ + interface Schema$DriveOptions { + /** + * Set to true to include Team Drive. + */ + includeTeamDrives?: boolean; + /** + * Search the versions of the Drive file as of the reference date. These + * timestamps are in GMT and rounded down to the given date. + */ + versionDate?: string; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * An export + */ + interface Schema$Export { + /** + * Output only. Export sink for cloud storage files. + */ + cloudStorageSink?: Schema$CloudStorageSink; + /** + * Output only. The time when the export was created. + */ + createTime?: string; + /** + * Advanced options of the export. + */ + exportOptions?: Schema$ExportOptions; + /** + * Output only. The generated export ID. + */ + id?: string; + /** + * Output only. The matter ID. + */ + matterId?: string; + /** + * The export name. + */ + name?: string; + /** + * The search query being exported. + */ + query?: Schema$Query; + /** + * Output only. The requester of the export. + */ + requester?: Schema$UserInfo; + /** + * Output only. Export statistics. + */ + stats?: Schema$ExportStats; + /** + * Output only. The export status. + */ + status?: string; + } + /** + * Export advanced options + */ + interface Schema$ExportOptions { + /** + * Option available for Drive export. + */ + driveOptions?: Schema$DriveExportOptions; + /** + * Option available for groups export. + */ + groupsOptions?: Schema$GroupsExportOptions; + /** + * Option available for hangouts chat export. + */ + hangoutsChatOptions?: Schema$HangoutsChatExportOptions; + /** + * Option available for mail export. + */ + mailOptions?: Schema$MailExportOptions; + } + /** + * Stats of an export. + */ + interface Schema$ExportStats { + /** + * The number of documents already processed by the export. + */ + exportedArtifactCount?: string; + /** + * The size of export in bytes. + */ + sizeInBytes?: string; + /** + * The number of documents to be exported. + */ + totalArtifactCount?: string; + } + /** + * The options for groups export. + */ + interface Schema$GroupsExportOptions { + /** + * The export format for groups export. + */ + exportFormat?: string; + } + /** + * The options for hangouts chat export. + */ + interface Schema$HangoutsChatExportOptions { + /** + * The export format for hangouts chat export. + */ + exportFormat?: string; + } + /** + * Accounts to search + */ + interface Schema$HangoutsChatInfo { + /** + * A set of rooms to search. + */ + roomId?: string[]; + } + /** + * Hangouts chat search advanced options + */ + interface Schema$HangoutsChatOptions { + /** + * Set to true to include rooms. + */ + includeRooms?: boolean; + } + /** + * An account being held in a particular hold. This structure is immutable. + * This can be either a single user or a google group, depending on the + * corpus. + */ + interface Schema$HeldAccount { + /** + * The account's ID as provided by the <a + * href="https://developers.google.com/admin-sdk/">Admin + * SDK</a>. + */ + accountId?: string; + /** + * When the account was put on hold. + */ + holdTime?: string; + } + /** + * Query options for Drive holds. + */ + interface Schema$HeldDriveQuery { + /** + * If true, include files in Team Drives in the hold. + */ + includeTeamDriveFiles?: boolean; + } + /** + * Query options for group holds. + */ + interface Schema$HeldGroupsQuery { + /** + * The end time range for the search query. These timestamps are in GMT and + * rounded down to the start of the given date. + */ + endTime?: string; + /** + * The start time range for the search query. These timestamps are in GMT + * and rounded down to the start of the given date. + */ + startTime?: string; + /** + * The search terms for the hold. + */ + terms?: string; + } + /** + * Query options for hangouts chat holds. + */ + interface Schema$HeldHangoutsChatQuery { + /** + * If true, include rooms the user has participated in. + */ + includeRooms?: boolean; + } + /** + * Query options for mail holds. + */ + interface Schema$HeldMailQuery { + /** + * The end time range for the search query. These timestamps are in GMT and + * rounded down to the start of the given date. + */ + endTime?: string; + /** + * The start time range for the search query. These timestamps are in GMT + * and rounded down to the start of the given date. + */ + startTime?: string; + /** + * The search terms for the hold. + */ + terms?: string; + } + /** + * A organizational unit being held in a particular hold. This structure is + * immutable. + */ + interface Schema$HeldOrgUnit { + /** + * When the org unit was put on hold. This property is immutable. + */ + holdTime?: string; + /** + * The org unit's immutable ID as provided by the Admin SDK. + */ + orgUnitId?: string; + } + /** + * Represents a hold within Vault. A hold restricts purging of artifacts based + * on the combination of the query and accounts restrictions. A hold can be + * configured to either apply to an explicitly configured set of accounts, or + * can be applied to all members of an organizational unit. + */ + interface Schema$Hold { + /** + * If set, the hold applies to the enumerated accounts and org_unit must be + * empty. + */ + accounts?: Schema$HeldAccount[]; + /** + * The corpus to be searched. + */ + corpus?: string; + /** + * The unique immutable ID of the hold. Assigned during creation. + */ + holdId?: string; + /** + * The name of the hold. + */ + name?: string; + /** + * If set, the hold applies to all members of the organizational unit and + * accounts must be empty. This property is mutable. For groups holds, set + * the accounts field. + */ + orgUnit?: Schema$HeldOrgUnit; + /** + * The corpus-specific query. If set, the corpusQuery must match corpus + * type. + */ + query?: Schema$CorpusQuery; + /** + * The last time this hold was modified. + */ + updateTime?: string; + } + /** + * The holds for a matter. + */ + interface Schema$ListExportsResponse { + /** + * The list of exports. + */ + exports?: Schema$Export[]; + /** + * Page token to retrieve the next page of results in the list. + */ + nextPageToken?: string; + } + /** + * Returns a list of held accounts for a hold. + */ + interface Schema$ListHeldAccountsResponse { + /** + * The held accounts on a hold. + */ + accounts?: Schema$HeldAccount[]; + } + /** + * The holds for a matter. + */ + interface Schema$ListHoldsResponse { + /** + * The list of holds. + */ + holds?: Schema$Hold[]; + /** + * Page token to retrieve the next page of results in the list. If this is + * empty, then there are no more holds to list. + */ + nextPageToken?: string; + } + /** + * Provides the list of matters. + */ + interface Schema$ListMattersResponse { + /** + * List of matters. + */ + matters?: Schema$Matter[]; + /** + * Page token to retrieve the next page of results in the list. + */ + nextPageToken?: string; + } + /** + * The options for mail export. + */ + interface Schema$MailExportOptions { + /** + * The export file format. + */ + exportFormat?: string; + } + /** + * Mail search advanced options + */ + interface Schema$MailOptions { + /** + * Set to true to exclude drafts. + */ + excludeDrafts?: boolean; + } + /** + * Represents a matter. + */ + interface Schema$Matter { + /** + * The description of the matter. + */ + description?: string; + /** + * The matter ID which is generated by the server. Should be blank when + * creating a new matter. + */ + matterId?: string; + /** + * List of users and access to the matter. Currently there is no programmer + * defined limit on the number of permissions a matter can have. + */ + matterPermissions?: Schema$MatterPermission[]; + /** + * The name of the matter. + */ + name?: string; + /** + * The state of the matter. + */ + state?: string; + } + /** + * Currently each matter only has one owner, and all others are collaborators. + * When an account is purged, its corresponding MatterPermission resources + * cease to exist. + */ + interface Schema$MatterPermission { + /** + * The account id, as provided by <a + * href="https://developers.google.com/admin-sdk/">Admin + * SDK</a>. + */ + accountId?: string; + /** + * The user's role in this matter. + */ + role?: string; + } + /** + * Org Unit to search + */ + interface Schema$OrgUnitInfo { + /** + * Org unit to search, as provided by the <a + * href="https://developers.google.com/admin-sdk/directory/">Admin + * SDK Directory API</a>. + */ + orgUnitId?: string; + } + /** + * A query definition relevant for search & export. + */ + interface Schema$Query { + /** + * When 'ACCOUNT' is chosen as search method, account_info needs to + * be specified. + */ + accountInfo?: Schema$AccountInfo; + /** + * The corpus to search. + */ + corpus?: string; + /** + * The data source to search from. + */ + dataScope?: string; + /** + * For Drive search, specify more options in this field. + */ + driveOptions?: Schema$DriveOptions; + /** + * The end time range for the search query. These timestamps are in GMT and + * rounded down to the start of the given date. + */ + endTime?: string; + /** + * When 'ROOM' is chosen as search method, hangout_chats_info needs + * to be specified. (read-only) + */ + hangoutsChatInfo?: Schema$HangoutsChatInfo; + /** + * For hangouts chat search, specify more options in this field. (read-only) + */ + hangoutsChatOptions?: Schema$HangoutsChatOptions; + /** + * For mail search, specify more options in this field. + */ + mailOptions?: Schema$MailOptions; + /** + * When 'ORG_UNIT' is chosen as as search method, org_unit_info + * needs to be specified. + */ + orgUnitInfo?: Schema$OrgUnitInfo; + /** + * The search method to use. + */ + searchMethod?: string; + /** + * The start time range for the search query. These timestamps are in GMT + * and rounded down to the start of the given date. + */ + startTime?: string; + /** + * When 'TEAM_DRIVE' is chosen as search method, team_drive_info + * needs to be specified. + */ + teamDriveInfo?: Schema$TeamDriveInfo; + /** + * The corpus-specific <a + * href="https://support.google.com/vault/answer/2474474">search + * operators</a> used to generate search results. + */ + terms?: string; + /** + * The time zone name. It should be an IANA TZ name, such as + * "America/Los_Angeles". For more information, see <a + * href="https://en.wikipedia.org/wiki/List_of_tz_database_time_zones">Time + * Zone</a>. + */ + timeZone?: string; + } + /** + * Remove a list of accounts from a hold. + */ + interface Schema$RemoveHeldAccountsRequest { + /** + * Account ids to identify HeldAccounts to remove. + */ + accountIds?: string[]; + } + /** + * Response for batch delete held accounts. + */ + interface Schema$RemoveHeldAccountsResponse { + /** + * A list of statuses for deleted accounts. Results have the same order as + * the request. + */ + statuses?: Schema$Status[]; + } + /** + * Remove an account as a matter collaborator. + */ + interface Schema$RemoveMatterPermissionsRequest { + /** + * The account ID. + */ + accountId?: string; + } + /** + * Reopen a matter by ID. + */ + interface Schema$ReopenMatterRequest { + } + /** + * Response to a ReopenMatterRequest. + */ + interface Schema$ReopenMatterResponse { + /** + * The updated matter, with state OPEN. + */ + matter?: Schema$Matter; + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + /** + * Team Drives to search + */ + interface Schema$TeamDriveInfo { + /** + * List of Team Drive ids, as provided by <a + * href="https://developers.google.com/drive">Drive + * API</a>. + */ + teamDriveIds?: string[]; + } + /** + * Undelete a matter by ID. + */ + interface Schema$UndeleteMatterRequest { + } + /** + * User's information. + */ + interface Schema$UserInfo { + /** + * The displayed name of the user. + */ + displayName?: string; + /** + * The email address of the user. + */ + email?: string; + } + class Resource$Matters { + root: Vault; + exports: Resource$Matters$Exports; + holds: Resource$Matters$Holds; + constructor(root: Vault); + getRoot(): Vault; + /** + * vault.matters.addPermissions + * @desc Adds an account as a matter collaborator. + * @alias vault.matters.addPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.matterId The matter ID. + * @param {().AddMatterPermissionsRequest} 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 + */ + addPermissions(params?: Params$Resource$Matters$Addpermissions, options?: MethodOptions): AxiosPromise; + addPermissions(params: Params$Resource$Matters$Addpermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + addPermissions(params: Params$Resource$Matters$Addpermissions, callback: BodyResponseCallback): void; + addPermissions(callback: BodyResponseCallback): void; + /** + * vault.matters.close + * @desc Closes the specified matter. Returns matter with updated state. + * @alias vault.matters.close + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.matterId The matter ID. + * @param {().CloseMatterRequest} 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 + */ + close(params?: Params$Resource$Matters$Close, options?: MethodOptions): AxiosPromise; + close(params: Params$Resource$Matters$Close, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + close(params: Params$Resource$Matters$Close, callback: BodyResponseCallback): void; + close(callback: BodyResponseCallback): void; + /** + * vault.matters.create + * @desc Creates a new matter with the given name and description. The + * initial state is open, and the owner is the method caller. Returns the + * created matter with default view. + * @alias vault.matters.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().Matter} 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 + */ + create(params?: Params$Resource$Matters$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Matters$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Matters$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * vault.matters.delete + * @desc Deletes the specified matter. Returns matter with updated state. + * @alias vault.matters.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.matterId The matter ID + * @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?: Params$Resource$Matters$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Matters$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Matters$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * vault.matters.get + * @desc Gets the specified matter. + * @alias vault.matters.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.matterId The matter ID. + * @param {string=} params.view Specifies which parts of the Matter to return in the response. + * @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?: Params$Resource$Matters$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Matters$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Matters$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * vault.matters.list + * @desc Lists matters the user has access to. + * @alias vault.matters.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize The number of matters to return in the response. Default and maximum are 100. + * @param {string=} params.pageToken The pagination token as returned in the response. + * @param {string=} params.state If set, list only matters with that specific state. The default is listing matters of all states. + * @param {string=} params.view Specifies which parts of the matter to return in response. + * @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?: Params$Resource$Matters$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Matters$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Matters$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * vault.matters.removePermissions + * @desc Removes an account as a matter collaborator. + * @alias vault.matters.removePermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.matterId The matter ID. + * @param {().RemoveMatterPermissionsRequest} 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 + */ + removePermissions(params?: Params$Resource$Matters$Removepermissions, options?: MethodOptions): AxiosPromise; + removePermissions(params: Params$Resource$Matters$Removepermissions, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + removePermissions(params: Params$Resource$Matters$Removepermissions, callback: BodyResponseCallback): void; + removePermissions(callback: BodyResponseCallback): void; + /** + * vault.matters.reopen + * @desc Reopens the specified matter. Returns matter with updated state. + * @alias vault.matters.reopen + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.matterId The matter ID. + * @param {().ReopenMatterRequest} 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 + */ + reopen(params?: Params$Resource$Matters$Reopen, options?: MethodOptions): AxiosPromise; + reopen(params: Params$Resource$Matters$Reopen, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + reopen(params: Params$Resource$Matters$Reopen, callback: BodyResponseCallback): void; + reopen(callback: BodyResponseCallback): void; + /** + * vault.matters.undelete + * @desc Undeletes the specified matter. Returns matter with updated state. + * @alias vault.matters.undelete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.matterId The matter ID. + * @param {().UndeleteMatterRequest} 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 + */ + undelete(params?: Params$Resource$Matters$Undelete, options?: MethodOptions): AxiosPromise; + undelete(params: Params$Resource$Matters$Undelete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + undelete(params: Params$Resource$Matters$Undelete, callback: BodyResponseCallback): void; + undelete(callback: BodyResponseCallback): void; + /** + * vault.matters.update + * @desc Updates the specified matter. This updates only the name and + * description of the matter, identified by matter id. Changes to any other + * fields are ignored. Returns the default view of the matter. + * @alias vault.matters.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.matterId The matter ID. + * @param {().Matter} 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?: Params$Resource$Matters$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Matters$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Matters$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Matters$Addpermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The matter ID. + */ + matterId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AddMatterPermissionsRequest; + } + interface Params$Resource$Matters$Close { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The matter ID. + */ + matterId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CloseMatterRequest; + } + interface Params$Resource$Matters$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$Matter; + } + interface Params$Resource$Matters$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The matter ID + */ + matterId?: string; + } + interface Params$Resource$Matters$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The matter ID. + */ + matterId?: string; + /** + * Specifies which parts of the Matter to return in the response. + */ + view?: string; + } + interface Params$Resource$Matters$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The number of matters to return in the response. Default and maximum are + * 100. + */ + pageSize?: number; + /** + * The pagination token as returned in the response. + */ + pageToken?: string; + /** + * If set, list only matters with that specific state. The default is + * listing matters of all states. + */ + state?: string; + /** + * Specifies which parts of the matter to return in response. + */ + view?: string; + } + interface Params$Resource$Matters$Removepermissions { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The matter ID. + */ + matterId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RemoveMatterPermissionsRequest; + } + interface Params$Resource$Matters$Reopen { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The matter ID. + */ + matterId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ReopenMatterRequest; + } + interface Params$Resource$Matters$Undelete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The matter ID. + */ + matterId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$UndeleteMatterRequest; + } + interface Params$Resource$Matters$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The matter ID. + */ + matterId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Matter; + } + class Resource$Matters$Exports { + root: Vault; + constructor(root: Vault); + getRoot(): Vault; + /** + * vault.matters.exports.create + * @desc Creates an Export. + * @alias vault.matters.exports.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.matterId The matter ID. + * @param {().Export} 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 + */ + create(params?: Params$Resource$Matters$Exports$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Matters$Exports$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Matters$Exports$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * vault.matters.exports.delete + * @desc Deletes an Export. + * @alias vault.matters.exports.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.exportId The export ID. + * @param {string} params.matterId The matter ID. + * @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?: Params$Resource$Matters$Exports$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Matters$Exports$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Matters$Exports$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * vault.matters.exports.get + * @desc Gets an Export. + * @alias vault.matters.exports.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.exportId The export ID. + * @param {string} params.matterId The matter ID. + * @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?: Params$Resource$Matters$Exports$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Matters$Exports$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Matters$Exports$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * vault.matters.exports.list + * @desc Lists Exports. + * @alias vault.matters.exports.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.matterId The matter ID. + * @param {integer=} params.pageSize The number of exports to return in the response. + * @param {string=} params.pageToken The pagination token as returned in the response. + * @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?: Params$Resource$Matters$Exports$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Matters$Exports$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Matters$Exports$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Matters$Exports$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The matter ID. + */ + matterId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Export; + } + interface Params$Resource$Matters$Exports$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The export ID. + */ + exportId?: string; + /** + * The matter ID. + */ + matterId?: string; + } + interface Params$Resource$Matters$Exports$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The export ID. + */ + exportId?: string; + /** + * The matter ID. + */ + matterId?: string; + } + interface Params$Resource$Matters$Exports$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The matter ID. + */ + matterId?: string; + /** + * The number of exports to return in the response. + */ + pageSize?: number; + /** + * The pagination token as returned in the response. + */ + pageToken?: string; + } + class Resource$Matters$Holds { + root: Vault; + accounts: Resource$Matters$Holds$Accounts; + constructor(root: Vault); + getRoot(): Vault; + /** + * vault.matters.holds.addHeldAccounts + * @desc Adds HeldAccounts to a hold. Returns a list of accounts that have + * been successfully added. Accounts can only be added to an existing + * account-based hold. + * @alias vault.matters.holds.addHeldAccounts + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.holdId The hold ID. + * @param {string} params.matterId The matter ID. + * @param {().AddHeldAccountsRequest} 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 + */ + addHeldAccounts(params?: Params$Resource$Matters$Holds$Addheldaccounts, options?: MethodOptions): AxiosPromise; + addHeldAccounts(params: Params$Resource$Matters$Holds$Addheldaccounts, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + addHeldAccounts(params: Params$Resource$Matters$Holds$Addheldaccounts, callback: BodyResponseCallback): void; + addHeldAccounts(callback: BodyResponseCallback): void; + /** + * vault.matters.holds.create + * @desc Creates a hold in the given matter. + * @alias vault.matters.holds.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.matterId The matter ID. + * @param {().Hold} 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 + */ + create(params?: Params$Resource$Matters$Holds$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Matters$Holds$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Matters$Holds$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * vault.matters.holds.delete + * @desc Removes a hold by ID. This will release any HeldAccounts on this + * Hold. + * @alias vault.matters.holds.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.holdId The hold ID. + * @param {string} params.matterId The matter ID. + * @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?: Params$Resource$Matters$Holds$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Matters$Holds$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Matters$Holds$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * vault.matters.holds.get + * @desc Gets a hold by ID. + * @alias vault.matters.holds.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.holdId The hold ID. + * @param {string} params.matterId The matter ID. + * @param {string=} params.view Specifies which parts of the Hold to return. + * @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?: Params$Resource$Matters$Holds$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Matters$Holds$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Matters$Holds$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * vault.matters.holds.list + * @desc Lists holds within a matter. An empty page token in + * ListHoldsResponse denotes no more holds to list. + * @alias vault.matters.holds.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.matterId The matter ID. + * @param {integer=} params.pageSize The number of holds to return in the response, between 0 and 100 inclusive. Leaving this empty, or as 0, is the same as page_size = 100. + * @param {string=} params.pageToken The pagination token as returned in the response. An empty token means start from the beginning. + * @param {string=} params.view Specifies which parts of the Hold to return. + * @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?: Params$Resource$Matters$Holds$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Matters$Holds$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Matters$Holds$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * vault.matters.holds.removeHeldAccounts + * @desc Removes HeldAccounts from a hold. Returns a list of statuses in the + * same order as the request. If this request leaves the hold with no held + * accounts, the hold will not apply to any accounts. + * @alias vault.matters.holds.removeHeldAccounts + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.holdId The hold ID. + * @param {string} params.matterId The matter ID. + * @param {().RemoveHeldAccountsRequest} 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 + */ + removeHeldAccounts(params?: Params$Resource$Matters$Holds$Removeheldaccounts, options?: MethodOptions): AxiosPromise; + removeHeldAccounts(params: Params$Resource$Matters$Holds$Removeheldaccounts, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + removeHeldAccounts(params: Params$Resource$Matters$Holds$Removeheldaccounts, callback: BodyResponseCallback): void; + removeHeldAccounts(callback: BodyResponseCallback): void; + /** + * vault.matters.holds.update + * @desc Updates the OU and/or query parameters of a hold. You cannot add + * accounts to a hold that covers an OU, nor can you add OUs to a hold that + * covers individual accounts. Accounts listed in the hold will be ignored. + * @alias vault.matters.holds.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.holdId The ID of the hold. + * @param {string} params.matterId The matter ID. + * @param {().Hold} 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?: Params$Resource$Matters$Holds$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Matters$Holds$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Matters$Holds$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Matters$Holds$Addheldaccounts { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The hold ID. + */ + holdId?: string; + /** + * The matter ID. + */ + matterId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$AddHeldAccountsRequest; + } + interface Params$Resource$Matters$Holds$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The matter ID. + */ + matterId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Hold; + } + interface Params$Resource$Matters$Holds$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The hold ID. + */ + holdId?: string; + /** + * The matter ID. + */ + matterId?: string; + } + interface Params$Resource$Matters$Holds$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The hold ID. + */ + holdId?: string; + /** + * The matter ID. + */ + matterId?: string; + /** + * Specifies which parts of the Hold to return. + */ + view?: string; + } + interface Params$Resource$Matters$Holds$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The matter ID. + */ + matterId?: string; + /** + * The number of holds to return in the response, between 0 and 100 + * inclusive. Leaving this empty, or as 0, is the same as page_size = 100. + */ + pageSize?: number; + /** + * The pagination token as returned in the response. An empty token means + * start from the beginning. + */ + pageToken?: string; + /** + * Specifies which parts of the Hold to return. + */ + view?: string; + } + interface Params$Resource$Matters$Holds$Removeheldaccounts { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The hold ID. + */ + holdId?: string; + /** + * The matter ID. + */ + matterId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$RemoveHeldAccountsRequest; + } + interface Params$Resource$Matters$Holds$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the hold. + */ + holdId?: string; + /** + * The matter ID. + */ + matterId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Hold; + } + class Resource$Matters$Holds$Accounts { + root: Vault; + constructor(root: Vault); + getRoot(): Vault; + /** + * vault.matters.holds.accounts.create + * @desc Adds a HeldAccount to a hold. Accounts can only be added to a hold + * that has no held_org_unit set. Attempting to add an account to an + * OU-based hold will result in an error. + * @alias vault.matters.holds.accounts.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.holdId The hold ID. + * @param {string} params.matterId The matter ID. + * @param {().HeldAccount} 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 + */ + create(params?: Params$Resource$Matters$Holds$Accounts$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Matters$Holds$Accounts$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Matters$Holds$Accounts$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * vault.matters.holds.accounts.delete + * @desc Removes a HeldAccount from a hold. If this request leaves the hold + * with no held accounts, the hold will not apply to any accounts. + * @alias vault.matters.holds.accounts.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.accountId The ID of the account to remove from the hold. + * @param {string} params.holdId The hold ID. + * @param {string} params.matterId The matter ID. + * @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?: Params$Resource$Matters$Holds$Accounts$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Matters$Holds$Accounts$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Matters$Holds$Accounts$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * vault.matters.holds.accounts.list + * @desc Lists HeldAccounts for a hold. This will only list individually + * specified held accounts. If the hold is on an OU, then use Admin SDK to + * enumerate its members. + * @alias vault.matters.holds.accounts.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.holdId The hold ID. + * @param {string} params.matterId The matter ID. + * @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?: Params$Resource$Matters$Holds$Accounts$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Matters$Holds$Accounts$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Matters$Holds$Accounts$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Matters$Holds$Accounts$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The hold ID. + */ + holdId?: string; + /** + * The matter ID. + */ + matterId?: string; + /** + * Request body metadata + */ + requestBody?: Schema$HeldAccount; + } + interface Params$Resource$Matters$Holds$Accounts$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the account to remove from the hold. + */ + accountId?: string; + /** + * The hold ID. + */ + holdId?: string; + /** + * The matter ID. + */ + matterId?: string; + } + interface Params$Resource$Matters$Holds$Accounts$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The hold ID. + */ + holdId?: string; + /** + * The matter ID. + */ + matterId?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/vault/v1.js b/express-server/node_modules/googleapis/build/src/apis/vault/v1.js new file mode 100644 index 00000000..953a7f16 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/vault/v1.js @@ -0,0 +1,843 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var vault_v1; +(function (vault_v1) { + /** + * G Suite Vault API + * + * Archiving and eDiscovery for G Suite. + * + * @example + * const {google} = require('googleapis'); + * const vault = google.vault('v1'); + * + * @namespace vault + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Vault + */ + class Vault { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.matters = new Resource$Matters(this); + } + getRoot() { + return this.root; + } + } + vault_v1.Vault = Vault; + class Resource$Matters { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.exports = new Resource$Matters$Exports(root); + this.holds = new Resource$Matters$Holds(root); + } + getRoot() { + return this.root; + } + addPermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://vault.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/matters/{matterId}:addPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['matterId'], + pathParams: ['matterId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + close(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://vault.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/matters/{matterId}:close') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['matterId'], + pathParams: ['matterId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://vault.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/matters').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://vault.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/matters/{matterId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['matterId'], + pathParams: ['matterId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://vault.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/matters/{matterId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['matterId'], + pathParams: ['matterId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://vault.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/matters').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + removePermissions(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://vault.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/matters/{matterId}:removePermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['matterId'], + pathParams: ['matterId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + reopen(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://vault.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/matters/{matterId}:reopen') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['matterId'], + pathParams: ['matterId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + undelete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://vault.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/matters/{matterId}:undelete') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['matterId'], + pathParams: ['matterId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://vault.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/matters/{matterId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['matterId'], + pathParams: ['matterId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + vault_v1.Resource$Matters = Resource$Matters; + class Resource$Matters$Exports { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://vault.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/matters/{matterId}/exports') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['matterId'], + pathParams: ['matterId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://vault.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/matters/{matterId}/exports/{exportId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['matterId', 'exportId'], + pathParams: ['exportId', 'matterId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://vault.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/matters/{matterId}/exports/{exportId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['matterId', 'exportId'], + pathParams: ['exportId', 'matterId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://vault.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/matters/{matterId}/exports') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['matterId'], + pathParams: ['matterId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + vault_v1.Resource$Matters$Exports = Resource$Matters$Exports; + class Resource$Matters$Holds { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.accounts = new Resource$Matters$Holds$Accounts(root); + } + getRoot() { + return this.root; + } + addHeldAccounts(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://vault.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/matters/{matterId}/holds/{holdId}:addHeldAccounts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['matterId', 'holdId'], + pathParams: ['holdId', 'matterId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://vault.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/matters/{matterId}/holds') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['matterId'], + pathParams: ['matterId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://vault.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/matters/{matterId}/holds/{holdId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['matterId', 'holdId'], + pathParams: ['holdId', 'matterId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://vault.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/matters/{matterId}/holds/{holdId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['matterId', 'holdId'], + pathParams: ['holdId', 'matterId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://vault.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/matters/{matterId}/holds') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['matterId'], + pathParams: ['matterId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + removeHeldAccounts(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://vault.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/matters/{matterId}/holds/{holdId}:removeHeldAccounts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['matterId', 'holdId'], + pathParams: ['holdId', 'matterId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://vault.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/matters/{matterId}/holds/{holdId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['matterId', 'holdId'], + pathParams: ['holdId', 'matterId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + vault_v1.Resource$Matters$Holds = Resource$Matters$Holds; + class Resource$Matters$Holds$Accounts { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://vault.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/matters/{matterId}/holds/{holdId}/accounts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['matterId', 'holdId'], + pathParams: ['holdId', 'matterId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://vault.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/v1/matters/{matterId}/holds/{holdId}/accounts/{accountId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['matterId', 'holdId', 'accountId'], + pathParams: ['accountId', 'holdId', 'matterId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://vault.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/matters/{matterId}/holds/{holdId}/accounts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['matterId', 'holdId'], + pathParams: ['holdId', 'matterId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + vault_v1.Resource$Matters$Holds$Accounts = Resource$Matters$Holds$Accounts; +})(vault_v1 = exports.vault_v1 || (exports.vault_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/vault/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/vault/v1.js.map new file mode 100644 index 00000000..64dacfe1 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/vault/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/vault/v1.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAIH,yDAA2H;AAE3H,yBAAyB;AACzB,6BAA6B;AAC7B,gCAAgC;AAChC,+BAA+B;AAC/B,+BAA+B;AAE/B,IAAiB,QAAQ,CA0zFxB;AA1zFD,WAAiB,QAAQ;IAKvB;;;;;;;;;;;;;;OAcG;IACH,MAAa,KAAK;QAOhB,YAAY,OAAsB,EAAE,MAA2B;YAJ/D,SAAI,GAAG,IAAI,CAAC;YAKV,IAAI,CAAC,QAAQ,GAAG,OAAO,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAExB,IAAI,CAAC,OAAO,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;KACF;IAlBY,cAAK,QAkBjB,CAAA;IA6tBD,MAAa,gBAAgB;QAI3B,YAAY,IAAW;YACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC,OAAO,GAAG,IAAI,wBAAwB,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,CAAC,KAAK,GAAG,IAAI,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAChD,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA4BD,cAAc,CACV,gBAC6C,EAC7C,iBAC6C,EAC7C,QAAwD;YAE1D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA2C,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4C,CAAC;gBACtD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,+BAA+B,CAAC;YACnE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,uCAAuC,CAAC;yBAC9C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,UAAU,CAAC;gBAC5B,UAAU,EAAE,CAAC,UAAU,CAAC;gBACxB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA0B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACjE;iBAAM;gBACL,OAAO,oCAAgB,CAA0B,UAAU,CAAC,CAAC;aAC9D;QACH,CAAC;QA0BD,KAAK,CACD,gBACgD,EAChD,iBACgD,EAChD,QAA2D;YAE7D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAkC,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmC,CAAC;gBAC7C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,+BAA+B,CAAC;YACnE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,8BAA8B,CAAC;yBACrC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,UAAU,CAAC;gBAC5B,UAAU,EAAE,CAAC,UAAU,CAAC;gBACxB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA6B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACpE;iBAAM;gBACL,OAAO,oCAAgB,CAA6B,UAAU,CAAC,CAAC;aACjE;QACH,CAAC;QA2BD,MAAM,CACF,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoC,CAAC;gBAC9C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,+BAA+B,CAAC;YACnE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,aAAa,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBAC5D,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,EAAE;gBAClB,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;QAyBD,MAAM,CACF,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoC,CAAC;gBAC9C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,+BAA+B,CAAC;YACnE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,wBAAwB,CAAC;yBAC/B,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,UAAU,CAAC;gBAC5B,UAAU,EAAE,CAAC,UAAU,CAAC;gBACxB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;QAwBD,GAAG,CAAC,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAgC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiC,CAAC;gBAC3C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,+BAA+B,CAAC;YACnE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,wBAAwB,CAAC;yBAC/B,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,UAAU,CAAC;gBAC5B,UAAU,EAAE,CAAC,UAAU,CAAC;gBACxB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;QA4BD,IAAI,CACA,gBACgD,EAChD,iBACgD,EAChD,QAA2D;YAE7D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAiC,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAkC,CAAC;gBAC5C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,+BAA+B,CAAC;YACnE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,aAAa,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBAC5D,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,EAAE;gBAClB,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA6B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACpE;iBAAM;gBACL,OAAO,oCAAgB,CAA6B,UAAU,CAAC,CAAC;aACjE;QACH,CAAC;QA2BD,iBAAiB,CACb,gBACkC,EAClC,iBAAoE,EACpE,QAA6C;YAE/C,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA8C,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA+C,CAAC;gBACzD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,+BAA+B,CAAC;YACnE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,0CAA0C,CAAC;yBACjD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,UAAU,CAAC;gBAC5B,UAAU,EAAE,CAAC,UAAU,CAAC;gBACxB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAe,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtD;iBAAM;gBACL,OAAO,oCAAgB,CAAe,UAAU,CAAC,CAAC;aACnD;QACH,CAAC;QA2BD,MAAM,CACF,gBACiD,EACjD,iBACiD,EACjD,QAA4D;YAE9D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoC,CAAC;gBAC9C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,+BAA+B,CAAC;YACnE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,+BAA+B,CAAC;yBACtC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,UAAU,CAAC;gBAC5B,UAAU,EAAE,CAAC,UAAU,CAAC;gBACxB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA8B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrE;iBAAM;gBACL,OAAO,oCAAgB,CAA8B,UAAU,CAAC,CAAC;aAClE;QACH,CAAC;QA2BD,QAAQ,CACJ,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAqC,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsC,CAAC;gBAChD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,+BAA+B,CAAC;YACnE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,iCAAiC,CAAC;yBACxC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,UAAU,CAAC;gBAC5B,UAAU,EAAE,CAAC,UAAU,CAAC;gBACxB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;QA4BD,MAAM,CACF,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAmC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAoC,CAAC;gBAC9C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,+BAA+B,CAAC;YACnE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,wBAAwB,CAAC;yBAC/B,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,UAAU,CAAC;gBAC5B,UAAU,EAAE,CAAC,UAAU,CAAC;gBACxB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;KACF;IAlqBY,yBAAgB,mBAkqB5B,CAAA;IAkKD,MAAa,wBAAwB;QAEnC,YAAY,IAAW;YACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA2BD,MAAM,CACF,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA2C,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4C,CAAC;gBACtD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,+BAA+B,CAAC;YACnE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,gCAAgC,CAAC;yBACvC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,UAAU,CAAC;gBAC5B,UAAU,EAAE,CAAC,UAAU,CAAC;gBACxB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;QA2BD,MAAM,CACF,gBACkC,EAClC,iBAAoE,EACpE,QAA6C;YAE/C,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAA2C,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA4C,CAAC;gBACtD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,+BAA+B,CAAC;YACnE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,2CAA2C,CAAC;yBAClD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;gBACxC,UAAU,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;gBACpC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAe,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtD;iBAAM;gBACL,OAAO,oCAAgB,CAAe,UAAU,CAAC,CAAC;aACnD;QACH,CAAC;QAwBD,GAAG,CAAC,gBACmC,EACnC,iBAAqE,EACrE,QAA8C;YAEhD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAwC,CAAC;YACpE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAyC,CAAC;gBACnD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,+BAA+B,CAAC;YACnE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,2CAA2C,CAAC;yBAClD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;gBACxC,UAAU,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;gBACpC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAgB,UAAU,EAAE,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,oCAAgB,CAAgB,UAAU,CAAC,CAAC;aACpD;QACH,CAAC;QA4BD,IAAI,CACA,gBACgD,EAChD,iBACgD,EAChD,QAA2D;YAE7D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAyC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0C,CAAC;gBACpD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,+BAA+B,CAAC;YACnE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,gCAAgC,CAAC;yBACvC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,UAAU,CAAC;gBAC5B,UAAU,EAAE,CAAC,UAAU,CAAC;gBACxB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA6B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACpE;iBAAM;gBACL,OAAO,oCAAgB,CAA6B,UAAU,CAAC,CAAC;aACjE;QACH,CAAC;KACF;IApRY,iCAAwB,2BAoRpC,CAAA;IAqED,MAAa,sBAAsB;QAGjC,YAAY,IAAW;YACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,+BAA+B,CAAC,IAAI,CAAC,CAAC;QAC5D,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAgCD,eAAe,CACX,gBACoD,EACpD,iBACoD,EACpD,QAA+D;YAEjE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACa,CAAC;YAClD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmD,CAAC;gBAC7D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,+BAA+B,CAAC;YACnE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,uDAAuD,CAAC;yBACpD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC;gBACtC,UAAU,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC;gBAClC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAiC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACxE;iBAAM;gBACL,OAAO,oCAAgB,CAAiC,UAAU,CAAC,CAAC;aACrE;QACH,CAAC;QA2BD,MAAM,CACF,gBACiC,EACjC,iBAAmE,EACnE,QAA4C;YAE9C,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAyC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0C,CAAC;gBACpD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,+BAA+B,CAAC;YACnE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,8BAA8B,CAAC;yBACrC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,UAAU,CAAC;gBAC5B,UAAU,EAAE,CAAC,UAAU,CAAC;gBACxB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAc,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrD;iBAAM;gBACL,OAAO,oCAAgB,CAAc,UAAU,CAAC,CAAC;aAClD;QACH,CAAC;QA4BD,MAAM,CACF,gBACkC,EAClC,iBAAoE,EACpE,QAA6C;YAE/C,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAyC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0C,CAAC;gBACpD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,+BAA+B,CAAC;YACnE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,uCAAuC,CAAC;yBAC9C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC;gBACtC,UAAU,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC;gBAClC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAe,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtD;iBAAM;gBACL,OAAO,oCAAgB,CAAe,UAAU,CAAC,CAAC;aACnD;QACH,CAAC;QAyBD,GAAG,CAAC,gBACiC,EACjC,iBAAmE,EACnE,QAA4C;YAE9C,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAsC,CAAC;YAClE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAuC,CAAC;gBACjD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,+BAA+B,CAAC;YACnE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,uCAAuC,CAAC;yBAC9C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC;gBACtC,UAAU,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC;gBAClC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAc,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrD;iBAAM;gBACL,OAAO,oCAAgB,CAAc,UAAU,CAAC,CAAC;aAClD;QACH,CAAC;QA6BD,IAAI,CACA,gBAC8C,EAC9C,iBAC8C,EAC9C,QAAyD;YAE3D,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAuC,CAAC;YACnE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAwC,CAAC;gBAClD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,+BAA+B,CAAC;YACnE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,8BAA8B,CAAC;yBACrC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,UAAU,CAAC;gBAC5B,UAAU,EAAE,CAAC,UAAU,CAAC;gBACxB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA2B,UAAU,EAAE,QAAQ,CAAC,CAAC;aAClE;iBAAM;gBACL,OAAO,oCAAgB,CAA2B,UAAU,CAAC,CAAC;aAC/D;QACH,CAAC;QAoCD,kBAAkB,CACd,gBACuD,EACvD,iBACuD,EACvD,QAAkE;YAEpE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACgB,CAAC;YACrD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAsD,CAAC;gBAChE,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,+BAA+B,CAAC;YACnE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO;wBACP,0DAA0D,CAAC;yBACvD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC;gBACtC,UAAU,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC;gBAClC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CAAoC,UAAU,CAAC,CAAC;aACxE;QACH,CAAC;QA8BD,MAAM,CACF,gBACiC,EACjC,iBAAmE,EACnE,QAA4C;YAE9C,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAyC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAA0C,CAAC;gBACpD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,+BAA+B,CAAC;YACnE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,uCAAuC,CAAC;yBAC9C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC;gBACtC,UAAU,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC;gBAClC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAc,UAAU,EAAE,QAAQ,CAAC,CAAC;aACrD;iBAAM;gBACL,OAAO,oCAAgB,CAAc,UAAU,CAAC,CAAC;aAClD;QACH,CAAC;KACF;IAxfY,+BAAsB,yBAwflC,CAAA;IA0ID,MAAa,+BAA+B;QAE1C,YAAY,IAAW;YACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA8BD,MAAM,CACF,gBACwC,EACxC,iBACwC,EACxC,QAAmD;YAErD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACa,CAAC;YAClD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmD,CAAC;gBAC7D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,+BAA+B,CAAC;YACnE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,gDAAgD,CAAC;yBACvD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC;gBACtC,UAAU,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC;gBAClC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAqB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC5D;iBAAM;gBACL,OAAO,oCAAgB,CAAqB,UAAU,CAAC,CAAC;aACzD;QACH,CAAC;QA6BD,MAAM,CACF,gBACkC,EAClC,iBAAoE,EACpE,QAA6C;YAE/C,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACa,CAAC;YAClD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmD,CAAC;gBAC7D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,+BAA+B,CAAC;YACnE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EACC,CAAC,OAAO;wBACP,4DAA4D,CAAC;yBACzD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACtC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,WAAW,CAAC;gBACnD,UAAU,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,CAAC;gBAC/C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAe,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtD;iBAAM;gBACL,OAAO,oCAAgB,CAAe,UAAU,CAAC,CAAC;aACnD;QACH,CAAC;QA+BD,IAAI,CACA,gBACqD,EACrD,iBACqD,EACrD,QAAgE;YAElE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CACW,CAAC;YAChD,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiD,CAAC;gBAC3D,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,+BAA+B,CAAC;YACnE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,gDAAgD,CAAC;yBACvD,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC;gBACtC,UAAU,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC;gBAClC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAkC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzE;iBAAM;gBACL,OAAO,oCAAgB,CAAkC,UAAU,CAAC,CAAC;aACtE;QACH,CAAC;KACF;IAhOY,wCAA+B,kCAgO3C,CAAA;AAwDH,CAAC,EA1zFgB,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QA0zFxB"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/videointelligence/README.md b/express-server/node_modules/googleapis/build/src/apis/videointelligence/README.md new file mode 100644 index 00000000..f36737e9 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/videointelligence/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/videointelligence + +> Cloud Video Intelligence API. + +## Installation + +```sh +$ npm install @google/videointelligence +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/videointelligence/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/videointelligence/index.d.ts new file mode 100644 index 00000000..aef2b469 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/videointelligence/index.d.ts @@ -0,0 +1,14 @@ +import { videointelligence_v1 } from './v1'; +import { videointelligence_v1beta2 } from './v1beta2'; +import { videointelligence_v1p1beta1 } from './v1p1beta1'; +export declare const VERSIONS: { + 'v1': typeof videointelligence_v1.Videointelligence; + 'v1beta2': typeof videointelligence_v1beta2.Videointelligence; + 'v1p1beta1': typeof videointelligence_v1p1beta1.Videointelligence; +}; +export declare function videointelligence(version: 'v1'): videointelligence_v1.Videointelligence; +export declare function videointelligence(options: videointelligence_v1.Options): videointelligence_v1.Videointelligence; +export declare function videointelligence(version: 'v1beta2'): videointelligence_v1beta2.Videointelligence; +export declare function videointelligence(options: videointelligence_v1beta2.Options): videointelligence_v1beta2.Videointelligence; +export declare function videointelligence(version: 'v1p1beta1'): videointelligence_v1p1beta1.Videointelligence; +export declare function videointelligence(options: videointelligence_v1p1beta1.Options): videointelligence_v1p1beta1.Videointelligence; diff --git a/express-server/node_modules/googleapis/build/src/apis/videointelligence/index.js b/express-server/node_modules/googleapis/build/src/apis/videointelligence/index.js new file mode 100644 index 00000000..af6a82b5 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/videointelligence/index.js @@ -0,0 +1,29 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +const v1beta2_1 = require("./v1beta2"); +const v1p1beta1_1 = require("./v1p1beta1"); +exports.VERSIONS = { + 'v1': v1_1.videointelligence_v1.Videointelligence, + 'v1beta2': v1beta2_1.videointelligence_v1beta2.Videointelligence, + 'v1p1beta1': v1p1beta1_1.videointelligence_v1p1beta1.Videointelligence, +}; +function videointelligence(versionOrOptions) { + return googleapis_common_1.getAPI('videointelligence', versionOrOptions, exports.VERSIONS, this); +} +exports.videointelligence = videointelligence; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/videointelligence/index.js.map b/express-server/node_modules/googleapis/build/src/apis/videointelligence/index.js.map new file mode 100644 index 00000000..f8b5c4b0 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/videointelligence/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/videointelligence/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAA0C;AAC1C,uCAAoD;AACpD,2CAAwD;AAE3C,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,yBAAoB,CAAC,iBAAiB;IAC5C,SAAS,EAAE,mCAAyB,CAAC,iBAAiB;IACtD,WAAW,EAAE,uCAA2B,CAAC,iBAAiB;CAC3D,CAAC;AAcF,SAAgB,iBAAiB,CAK7B,gBAGmC;IACrC,OAAO,0BAAM,CAAI,mBAAmB,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAC1E,CAAC;AAVD,8CAUC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/videointelligence/package.json b/express-server/node_modules/googleapis/build/src/apis/videointelligence/package.json new file mode 100644 index 00000000..72b553dc --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/videointelligence/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/videointelligence", + "version": "0.1.0", + "description": "videointelligence", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/videointelligence/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/videointelligence/v1.d.ts new file mode 100644 index 00000000..7760769c --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/videointelligence/v1.d.ts @@ -0,0 +1,1101 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace videointelligence_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Cloud Video Intelligence API + * + * Cloud Video Intelligence API. + * + * @example + * const {google} = require('googleapis'); + * const videointelligence = google.videointelligence('v1'); + * + * @namespace videointelligence + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Videointelligence + */ + class Videointelligence { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + operations: Resource$Operations; + videos: Resource$Videos; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Video annotation progress. Included in the `metadata` field of the + * `Operation` returned by the `GetOperation` call of the + * `google::longrunning::Operations` service. + */ + interface Schema$GoogleCloudVideointelligenceV1beta2_AnnotateVideoProgress { + /** + * Progress metadata for all videos specified in `AnnotateVideoRequest`. + */ + annotationProgress?: Schema$GoogleCloudVideointelligenceV1beta2_VideoAnnotationProgress[]; + } + /** + * Video annotation response. Included in the `response` field of the + * `Operation` returned by the `GetOperation` call of the + * `google::longrunning::Operations` service. + */ + interface Schema$GoogleCloudVideointelligenceV1beta2_AnnotateVideoResponse { + /** + * Annotation results for all videos specified in `AnnotateVideoRequest`. + */ + annotationResults?: Schema$GoogleCloudVideointelligenceV1beta2_VideoAnnotationResults[]; + } + /** + * Detected entity from video analysis. + */ + interface Schema$GoogleCloudVideointelligenceV1beta2_Entity { + /** + * Textual description, e.g. `Fixed-gear bicycle`. + */ + description?: string; + /** + * Opaque entity ID. Some IDs may be available in [Google Knowledge Graph + * Search API](https://developers.google.com/knowledge-graph/). + */ + entityId?: string; + /** + * Language code for `description` in BCP-47 format. + */ + languageCode?: string; + } + /** + * Explicit content annotation (based on per-frame visual signals only). If no + * explicit content has been detected in a frame, no annotations are present + * for that frame. + */ + interface Schema$GoogleCloudVideointelligenceV1beta2_ExplicitContentAnnotation { + /** + * All video frames where explicit content was detected. + */ + frames?: Schema$GoogleCloudVideointelligenceV1beta2_ExplicitContentFrame[]; + } + /** + * Video frame level annotation results for explicit content. + */ + interface Schema$GoogleCloudVideointelligenceV1beta2_ExplicitContentFrame { + /** + * Likelihood of the pornography content.. + */ + pornographyLikelihood?: string; + /** + * Time-offset, relative to the beginning of the video, corresponding to the + * video frame for this location. + */ + timeOffset?: string; + } + /** + * Label annotation. + */ + interface Schema$GoogleCloudVideointelligenceV1beta2_LabelAnnotation { + /** + * Common categories for the detected entity. E.g. when the label is + * `Terrier` the category is likely `dog`. And in some cases there might be + * more than one categories e.g. `Terrier` could also be a `pet`. + */ + categoryEntities?: Schema$GoogleCloudVideointelligenceV1beta2_Entity[]; + /** + * Detected entity. + */ + entity?: Schema$GoogleCloudVideointelligenceV1beta2_Entity; + /** + * All video frames where a label was detected. + */ + frames?: Schema$GoogleCloudVideointelligenceV1beta2_LabelFrame[]; + /** + * All video segments where a label was detected. + */ + segments?: Schema$GoogleCloudVideointelligenceV1beta2_LabelSegment[]; + } + /** + * Video frame level annotation results for label detection. + */ + interface Schema$GoogleCloudVideointelligenceV1beta2_LabelFrame { + /** + * Confidence that the label is accurate. Range: [0, 1]. + */ + confidence?: number; + /** + * Time-offset, relative to the beginning of the video, corresponding to the + * video frame for this location. + */ + timeOffset?: string; + } + /** + * Video segment level annotation results for label detection. + */ + interface Schema$GoogleCloudVideointelligenceV1beta2_LabelSegment { + /** + * Confidence that the label is accurate. Range: [0, 1]. + */ + confidence?: number; + /** + * Video segment where a label was detected. + */ + segment?: Schema$GoogleCloudVideointelligenceV1beta2_VideoSegment; + } + /** + * Annotation progress for a single video. + */ + interface Schema$GoogleCloudVideointelligenceV1beta2_VideoAnnotationProgress { + /** + * Video file location in [Google Cloud + * Storage](https://cloud.google.com/storage/). + */ + inputUri?: string; + /** + * Approximate percentage processed thus far. Guaranteed to be 100 when + * fully processed. + */ + progressPercent?: number; + /** + * Time when the request was received. + */ + startTime?: string; + /** + * Time of the most recent update. + */ + updateTime?: string; + } + /** + * Annotation results for a single video. + */ + interface Schema$GoogleCloudVideointelligenceV1beta2_VideoAnnotationResults { + /** + * If set, indicates an error. Note that for a single `AnnotateVideoRequest` + * some videos may succeed and some may fail. + */ + error?: Schema$GoogleRpc_Status; + /** + * Explicit content annotation. + */ + explicitAnnotation?: Schema$GoogleCloudVideointelligenceV1beta2_ExplicitContentAnnotation; + /** + * Label annotations on frame level. There is exactly one element for each + * unique label. + */ + frameLabelAnnotations?: Schema$GoogleCloudVideointelligenceV1beta2_LabelAnnotation[]; + /** + * Video file location in [Google Cloud + * Storage](https://cloud.google.com/storage/). + */ + inputUri?: string; + /** + * Label annotations on video level or user specified segment level. There + * is exactly one element for each unique label. + */ + segmentLabelAnnotations?: Schema$GoogleCloudVideointelligenceV1beta2_LabelAnnotation[]; + /** + * Shot annotations. Each shot is represented as a video segment. + */ + shotAnnotations?: Schema$GoogleCloudVideointelligenceV1beta2_VideoSegment[]; + /** + * Label annotations on shot level. There is exactly one element for each + * unique label. + */ + shotLabelAnnotations?: Schema$GoogleCloudVideointelligenceV1beta2_LabelAnnotation[]; + } + /** + * Video segment. + */ + interface Schema$GoogleCloudVideointelligenceV1beta2_VideoSegment { + /** + * Time-offset, relative to the beginning of the video, corresponding to the + * end of the segment (inclusive). + */ + endTimeOffset?: string; + /** + * Time-offset, relative to the beginning of the video, corresponding to the + * start of the segment (inclusive). + */ + startTimeOffset?: string; + } + /** + * Video annotation progress. Included in the `metadata` field of the + * `Operation` returned by the `GetOperation` call of the + * `google::longrunning::Operations` service. + */ + interface Schema$GoogleCloudVideointelligenceV1p1beta1_AnnotateVideoProgress { + /** + * Progress metadata for all videos specified in `AnnotateVideoRequest`. + */ + annotationProgress?: Schema$GoogleCloudVideointelligenceV1p1beta1_VideoAnnotationProgress[]; + } + /** + * Video annotation response. Included in the `response` field of the + * `Operation` returned by the `GetOperation` call of the + * `google::longrunning::Operations` service. + */ + interface Schema$GoogleCloudVideointelligenceV1p1beta1_AnnotateVideoResponse { + /** + * Annotation results for all videos specified in `AnnotateVideoRequest`. + */ + annotationResults?: Schema$GoogleCloudVideointelligenceV1p1beta1_VideoAnnotationResults[]; + } + /** + * Detected entity from video analysis. + */ + interface Schema$GoogleCloudVideointelligenceV1p1beta1_Entity { + /** + * Textual description, e.g. `Fixed-gear bicycle`. + */ + description?: string; + /** + * Opaque entity ID. Some IDs may be available in [Google Knowledge Graph + * Search API](https://developers.google.com/knowledge-graph/). + */ + entityId?: string; + /** + * Language code for `description` in BCP-47 format. + */ + languageCode?: string; + } + /** + * Explicit content annotation (based on per-frame visual signals only). If no + * explicit content has been detected in a frame, no annotations are present + * for that frame. + */ + interface Schema$GoogleCloudVideointelligenceV1p1beta1_ExplicitContentAnnotation { + /** + * All video frames where explicit content was detected. + */ + frames?: Schema$GoogleCloudVideointelligenceV1p1beta1_ExplicitContentFrame[]; + } + /** + * Video frame level annotation results for explicit content. + */ + interface Schema$GoogleCloudVideointelligenceV1p1beta1_ExplicitContentFrame { + /** + * Likelihood of the pornography content.. + */ + pornographyLikelihood?: string; + /** + * Time-offset, relative to the beginning of the video, corresponding to the + * video frame for this location. + */ + timeOffset?: string; + } + /** + * Label annotation. + */ + interface Schema$GoogleCloudVideointelligenceV1p1beta1_LabelAnnotation { + /** + * Common categories for the detected entity. E.g. when the label is + * `Terrier` the category is likely `dog`. And in some cases there might be + * more than one categories e.g. `Terrier` could also be a `pet`. + */ + categoryEntities?: Schema$GoogleCloudVideointelligenceV1p1beta1_Entity[]; + /** + * Detected entity. + */ + entity?: Schema$GoogleCloudVideointelligenceV1p1beta1_Entity; + /** + * All video frames where a label was detected. + */ + frames?: Schema$GoogleCloudVideointelligenceV1p1beta1_LabelFrame[]; + /** + * All video segments where a label was detected. + */ + segments?: Schema$GoogleCloudVideointelligenceV1p1beta1_LabelSegment[]; + } + /** + * Video frame level annotation results for label detection. + */ + interface Schema$GoogleCloudVideointelligenceV1p1beta1_LabelFrame { + /** + * Confidence that the label is accurate. Range: [0, 1]. + */ + confidence?: number; + /** + * Time-offset, relative to the beginning of the video, corresponding to the + * video frame for this location. + */ + timeOffset?: string; + } + /** + * Video segment level annotation results for label detection. + */ + interface Schema$GoogleCloudVideointelligenceV1p1beta1_LabelSegment { + /** + * Confidence that the label is accurate. Range: [0, 1]. + */ + confidence?: number; + /** + * Video segment where a label was detected. + */ + segment?: Schema$GoogleCloudVideointelligenceV1p1beta1_VideoSegment; + } + /** + * Alternative hypotheses (a.k.a. n-best list). + */ + interface Schema$GoogleCloudVideointelligenceV1p1beta1_SpeechRecognitionAlternative { + /** + * The confidence estimate between 0.0 and 1.0. A higher number indicates an + * estimated greater likelihood that the recognized words are correct. This + * field is typically provided only for the top hypothesis, and only for + * `is_final=true` results. Clients should not rely on the `confidence` + * field as it is not guaranteed to be accurate or consistent. The default + * of 0.0 is a sentinel value indicating `confidence` was not set. + */ + confidence?: number; + /** + * Transcript text representing the words that the user spoke. + */ + transcript?: string; + /** + * A list of word-specific information for each recognized word. + */ + words?: Schema$GoogleCloudVideointelligenceV1p1beta1_WordInfo[]; + } + /** + * A speech recognition result corresponding to a portion of the audio. + */ + interface Schema$GoogleCloudVideointelligenceV1p1beta1_SpeechTranscription { + /** + * May contain one or more recognition hypotheses (up to the maximum + * specified in `max_alternatives`). These alternatives are ordered in + * terms of accuracy, with the top (first) alternative being the most + * probable, as ranked by the recognizer. + */ + alternatives?: Schema$GoogleCloudVideointelligenceV1p1beta1_SpeechRecognitionAlternative[]; + } + /** + * Annotation progress for a single video. + */ + interface Schema$GoogleCloudVideointelligenceV1p1beta1_VideoAnnotationProgress { + /** + * Video file location in [Google Cloud + * Storage](https://cloud.google.com/storage/). + */ + inputUri?: string; + /** + * Approximate percentage processed thus far. Guaranteed to be 100 when + * fully processed. + */ + progressPercent?: number; + /** + * Time when the request was received. + */ + startTime?: string; + /** + * Time of the most recent update. + */ + updateTime?: string; + } + /** + * Annotation results for a single video. + */ + interface Schema$GoogleCloudVideointelligenceV1p1beta1_VideoAnnotationResults { + /** + * If set, indicates an error. Note that for a single `AnnotateVideoRequest` + * some videos may succeed and some may fail. + */ + error?: Schema$GoogleRpc_Status; + /** + * Explicit content annotation. + */ + explicitAnnotation?: Schema$GoogleCloudVideointelligenceV1p1beta1_ExplicitContentAnnotation; + /** + * Label annotations on frame level. There is exactly one element for each + * unique label. + */ + frameLabelAnnotations?: Schema$GoogleCloudVideointelligenceV1p1beta1_LabelAnnotation[]; + /** + * Video file location in [Google Cloud + * Storage](https://cloud.google.com/storage/). + */ + inputUri?: string; + /** + * Label annotations on video level or user specified segment level. There + * is exactly one element for each unique label. + */ + segmentLabelAnnotations?: Schema$GoogleCloudVideointelligenceV1p1beta1_LabelAnnotation[]; + /** + * Shot annotations. Each shot is represented as a video segment. + */ + shotAnnotations?: Schema$GoogleCloudVideointelligenceV1p1beta1_VideoSegment[]; + /** + * Label annotations on shot level. There is exactly one element for each + * unique label. + */ + shotLabelAnnotations?: Schema$GoogleCloudVideointelligenceV1p1beta1_LabelAnnotation[]; + /** + * Speech transcription. + */ + speechTranscriptions?: Schema$GoogleCloudVideointelligenceV1p1beta1_SpeechTranscription[]; + } + /** + * Video segment. + */ + interface Schema$GoogleCloudVideointelligenceV1p1beta1_VideoSegment { + /** + * Time-offset, relative to the beginning of the video, corresponding to the + * end of the segment (inclusive). + */ + endTimeOffset?: string; + /** + * Time-offset, relative to the beginning of the video, corresponding to the + * start of the segment (inclusive). + */ + startTimeOffset?: string; + } + /** + * Word-specific information for recognized words. Word information is only + * included in the response when certain request parameters are set, such as + * `enable_word_time_offsets`. + */ + interface Schema$GoogleCloudVideointelligenceV1p1beta1_WordInfo { + /** + * Time offset relative to the beginning of the audio, and corresponding to + * the end of the spoken word. This field is only set if + * `enable_word_time_offsets=true` and only in the top hypothesis. This is + * an experimental feature and the accuracy of the time offset can vary. + */ + endTime?: string; + /** + * Time offset relative to the beginning of the audio, and corresponding to + * the start of the spoken word. This field is only set if + * `enable_word_time_offsets=true` and only in the top hypothesis. This is + * an experimental feature and the accuracy of the time offset can vary. + */ + startTime?: string; + /** + * The word corresponding to this set of information. + */ + word?: string; + } + /** + * Video annotation progress. Included in the `metadata` field of the + * `Operation` returned by the `GetOperation` call of the + * `google::longrunning::Operations` service. + */ + interface Schema$GoogleCloudVideointelligenceV1_AnnotateVideoProgress { + /** + * Progress metadata for all videos specified in `AnnotateVideoRequest`. + */ + annotationProgress?: Schema$GoogleCloudVideointelligenceV1_VideoAnnotationProgress[]; + } + /** + * Video annotation request. + */ + interface Schema$GoogleCloudVideointelligenceV1_AnnotateVideoRequest { + /** + * Requested video annotation features. + */ + features?: string[]; + /** + * The video data bytes. If unset, the input video(s) should be specified + * via `input_uri`. If set, `input_uri` should be unset. + */ + inputContent?: string; + /** + * Input video location. Currently, only [Google Cloud + * Storage](https://cloud.google.com/storage/) URIs are supported, which + * must be specified in the following format: `gs://bucket-id/object-id` + * (other URI formats return google.rpc.Code.INVALID_ARGUMENT). For more + * information, see [Request URIs](/storage/docs/reference-uris). A video + * URI may include wildcards in `object-id`, and thus identify multiple + * videos. Supported wildcards: '*' to match 0 or more characters; + * '?' to match 1 character. If unset, the input video should be + * embedded in the request as `input_content`. If set, `input_content` + * should be unset. + */ + inputUri?: string; + /** + * Optional cloud region where annotation should take place. Supported cloud + * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no + * region is specified, a region will be determined based on video file + * location. + */ + locationId?: string; + /** + * Optional location where the output (in JSON format) should be stored. + * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) + * URIs are supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * google.rpc.Code.INVALID_ARGUMENT). For more information, see [Request + * URIs](/storage/docs/reference-uris). + */ + outputUri?: string; + /** + * Additional video context and/or feature-specific parameters. + */ + videoContext?: Schema$GoogleCloudVideointelligenceV1_VideoContext; + } + /** + * Video annotation response. Included in the `response` field of the + * `Operation` returned by the `GetOperation` call of the + * `google::longrunning::Operations` service. + */ + interface Schema$GoogleCloudVideointelligenceV1_AnnotateVideoResponse { + /** + * Annotation results for all videos specified in `AnnotateVideoRequest`. + */ + annotationResults?: Schema$GoogleCloudVideointelligenceV1_VideoAnnotationResults[]; + } + /** + * Detected entity from video analysis. + */ + interface Schema$GoogleCloudVideointelligenceV1_Entity { + /** + * Textual description, e.g. `Fixed-gear bicycle`. + */ + description?: string; + /** + * Opaque entity ID. Some IDs may be available in [Google Knowledge Graph + * Search API](https://developers.google.com/knowledge-graph/). + */ + entityId?: string; + /** + * Language code for `description` in BCP-47 format. + */ + languageCode?: string; + } + /** + * Explicit content annotation (based on per-frame visual signals only). If no + * explicit content has been detected in a frame, no annotations are present + * for that frame. + */ + interface Schema$GoogleCloudVideointelligenceV1_ExplicitContentAnnotation { + /** + * All video frames where explicit content was detected. + */ + frames?: Schema$GoogleCloudVideointelligenceV1_ExplicitContentFrame[]; + } + /** + * Config for EXPLICIT_CONTENT_DETECTION. + */ + interface Schema$GoogleCloudVideointelligenceV1_ExplicitContentDetectionConfig { + /** + * Model to use for explicit content detection. Supported values: + * "builtin/stable" (the default if unset) and + * "builtin/latest". + */ + model?: string; + } + /** + * Video frame level annotation results for explicit content. + */ + interface Schema$GoogleCloudVideointelligenceV1_ExplicitContentFrame { + /** + * Likelihood of the pornography content.. + */ + pornographyLikelihood?: string; + /** + * Time-offset, relative to the beginning of the video, corresponding to the + * video frame for this location. + */ + timeOffset?: string; + } + /** + * Label annotation. + */ + interface Schema$GoogleCloudVideointelligenceV1_LabelAnnotation { + /** + * Common categories for the detected entity. E.g. when the label is + * `Terrier` the category is likely `dog`. And in some cases there might be + * more than one categories e.g. `Terrier` could also be a `pet`. + */ + categoryEntities?: Schema$GoogleCloudVideointelligenceV1_Entity[]; + /** + * Detected entity. + */ + entity?: Schema$GoogleCloudVideointelligenceV1_Entity; + /** + * All video frames where a label was detected. + */ + frames?: Schema$GoogleCloudVideointelligenceV1_LabelFrame[]; + /** + * All video segments where a label was detected. + */ + segments?: Schema$GoogleCloudVideointelligenceV1_LabelSegment[]; + } + /** + * Config for LABEL_DETECTION. + */ + interface Schema$GoogleCloudVideointelligenceV1_LabelDetectionConfig { + /** + * What labels should be detected with LABEL_DETECTION, in addition to + * video-level labels or segment-level labels. If unspecified, defaults to + * `SHOT_MODE`. + */ + labelDetectionMode?: string; + /** + * Model to use for label detection. Supported values: + * "builtin/stable" (the default if unset) and + * "builtin/latest". + */ + model?: string; + /** + * Whether the video has been shot from a stationary (i.e. non-moving) + * camera. When set to true, might improve detection accuracy for moving + * objects. Should be used with `SHOT_AND_FRAME_MODE` enabled. + */ + stationaryCamera?: boolean; + } + /** + * Video frame level annotation results for label detection. + */ + interface Schema$GoogleCloudVideointelligenceV1_LabelFrame { + /** + * Confidence that the label is accurate. Range: [0, 1]. + */ + confidence?: number; + /** + * Time-offset, relative to the beginning of the video, corresponding to the + * video frame for this location. + */ + timeOffset?: string; + } + /** + * Video segment level annotation results for label detection. + */ + interface Schema$GoogleCloudVideointelligenceV1_LabelSegment { + /** + * Confidence that the label is accurate. Range: [0, 1]. + */ + confidence?: number; + /** + * Video segment where a label was detected. + */ + segment?: Schema$GoogleCloudVideointelligenceV1_VideoSegment; + } + /** + * Config for SHOT_CHANGE_DETECTION. + */ + interface Schema$GoogleCloudVideointelligenceV1_ShotChangeDetectionConfig { + /** + * Model to use for shot change detection. Supported values: + * "builtin/stable" (the default if unset) and + * "builtin/latest". + */ + model?: string; + } + /** + * Annotation progress for a single video. + */ + interface Schema$GoogleCloudVideointelligenceV1_VideoAnnotationProgress { + /** + * Video file location in [Google Cloud + * Storage](https://cloud.google.com/storage/). + */ + inputUri?: string; + /** + * Approximate percentage processed thus far. Guaranteed to be 100 when + * fully processed. + */ + progressPercent?: number; + /** + * Time when the request was received. + */ + startTime?: string; + /** + * Time of the most recent update. + */ + updateTime?: string; + } + /** + * Annotation results for a single video. + */ + interface Schema$GoogleCloudVideointelligenceV1_VideoAnnotationResults { + /** + * If set, indicates an error. Note that for a single `AnnotateVideoRequest` + * some videos may succeed and some may fail. + */ + error?: Schema$GoogleRpc_Status; + /** + * Explicit content annotation. + */ + explicitAnnotation?: Schema$GoogleCloudVideointelligenceV1_ExplicitContentAnnotation; + /** + * Label annotations on frame level. There is exactly one element for each + * unique label. + */ + frameLabelAnnotations?: Schema$GoogleCloudVideointelligenceV1_LabelAnnotation[]; + /** + * Video file location in [Google Cloud + * Storage](https://cloud.google.com/storage/). + */ + inputUri?: string; + /** + * Label annotations on video level or user specified segment level. There + * is exactly one element for each unique label. + */ + segmentLabelAnnotations?: Schema$GoogleCloudVideointelligenceV1_LabelAnnotation[]; + /** + * Shot annotations. Each shot is represented as a video segment. + */ + shotAnnotations?: Schema$GoogleCloudVideointelligenceV1_VideoSegment[]; + /** + * Label annotations on shot level. There is exactly one element for each + * unique label. + */ + shotLabelAnnotations?: Schema$GoogleCloudVideointelligenceV1_LabelAnnotation[]; + } + /** + * Video context and/or feature-specific parameters. + */ + interface Schema$GoogleCloudVideointelligenceV1_VideoContext { + /** + * Config for EXPLICIT_CONTENT_DETECTION. + */ + explicitContentDetectionConfig?: Schema$GoogleCloudVideointelligenceV1_ExplicitContentDetectionConfig; + /** + * Config for LABEL_DETECTION. + */ + labelDetectionConfig?: Schema$GoogleCloudVideointelligenceV1_LabelDetectionConfig; + /** + * Video segments to annotate. The segments may overlap and are not required + * to be contiguous or span the whole video. If unspecified, each video is + * treated as a single segment. + */ + segments?: Schema$GoogleCloudVideointelligenceV1_VideoSegment[]; + /** + * Config for SHOT_CHANGE_DETECTION. + */ + shotChangeDetectionConfig?: Schema$GoogleCloudVideointelligenceV1_ShotChangeDetectionConfig; + } + /** + * Video segment. + */ + interface Schema$GoogleCloudVideointelligenceV1_VideoSegment { + /** + * Time-offset, relative to the beginning of the video, corresponding to the + * end of the segment (inclusive). + */ + endTimeOffset?: string; + /** + * Time-offset, relative to the beginning of the video, corresponding to the + * start of the segment (inclusive). + */ + startTimeOffset?: string; + } + /** + * The request message for Operations.CancelOperation. + */ + interface Schema$GoogleLongrunning_CancelOperationRequest { + } + /** + * The response message for Operations.ListOperations. + */ + interface Schema$GoogleLongrunning_ListOperationsResponse { + /** + * The standard List next-page token. + */ + nextPageToken?: string; + /** + * A list of operations that matches the specified filter in the request. + */ + operations?: Schema$GoogleLongrunning_Operation[]; + } + /** + * This resource represents a long-running operation that is the result of a + * network API call. + */ + interface Schema$GoogleLongrunning_Operation { + /** + * If the value is `false`, it means the operation is still in progress. If + * `true`, the operation is completed, and either `error` or `response` is + * available. + */ + done?: boolean; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$GoogleRpc_Status; + /** + * Service-specific metadata associated with the operation. It typically + * contains progress information and common metadata such as create time. + * Some services might not provide such metadata. Any method that returns a + * long-running operation should document the metadata type, if any. + */ + metadata?: any; + /** + * The server-assigned name, which is only unique within the same service + * that originally returns it. If you use the default HTTP mapping, the + * `name` should have the format of `operations/some/unique/name`. + */ + name?: string; + /** + * The normal response of the operation in case of success. If the original + * method returns no data on success, such as `Delete`, the response is + * `google.protobuf.Empty`. If the original method is standard + * `Get`/`Create`/`Update`, the response should be the resource. For other + * methods, the response should have the type `XxxResponse`, where `Xxx` is + * the original method name. For example, if the original method name is + * `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: any; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$GoogleProtobuf_Empty { + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$GoogleRpc_Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + class Resource$Operations { + root: Videointelligence; + constructor(root: Videointelligence); + getRoot(): Videointelligence; + /** + * videointelligence.operations.cancel + * @desc Starts asynchronous cancellation on a long-running operation. The + * server makes a best effort to cancel the operation, but success is not + * guaranteed. If the server doesn't support this method, it returns + * `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation + * or other methods to check whether the cancellation succeeded or whether + * the operation completed despite cancellation. On successful cancellation, + * the operation is not deleted; instead, it becomes an operation with an + * Operation.error value with a google.rpc.Status.code of 1, corresponding + * to `Code.CANCELLED`. + * @alias videointelligence.operations.cancel + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource to be cancelled. + * @param {().GoogleLongrunning_CancelOperationRequest} 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 + */ + cancel(params?: Params$Resource$Operations$Cancel, options?: MethodOptions): AxiosPromise; + cancel(params: Params$Resource$Operations$Cancel, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + cancel(params: Params$Resource$Operations$Cancel, callback: BodyResponseCallback): void; + cancel(callback: BodyResponseCallback): void; + /** + * videointelligence.operations.delete + * @desc Deletes a long-running operation. This method indicates that the + * client is no longer interested in the operation result. It does not + * cancel the operation. If the server doesn't support this method, it + * returns `google.rpc.Code.UNIMPLEMENTED`. + * @alias videointelligence.operations.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource to be deleted. + * @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?: Params$Resource$Operations$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Operations$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Operations$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * videointelligence.operations.get + * @desc Gets the latest state of a long-running operation. Clients can use + * this method to poll the operation result at intervals as recommended by + * the API service. + * @alias videointelligence.operations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource. + * @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?: Params$Resource$Operations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Operations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Operations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * videointelligence.operations.list + * @desc Lists operations that match the specified filter in the request. If + * the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: + * the `name` binding allows API services to override the binding to use + * different resource name schemes, such as `users/x/operations`. To + * override the binding, API services can add a binding such as + * `"/v1/{name=users/x}/operations"` to their service configuration. For + * backwards compatibility, the default name includes the operations + * collection id, however overriding users must ensure the name binding is + * the parent resource, without the operations collection id. + * @alias videointelligence.operations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter The standard list filter. + * @param {string=} params.name The name of the operation's parent resource. + * @param {integer=} params.pageSize The standard list page size. + * @param {string=} params.pageToken The standard list page token. + * @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?: Params$Resource$Operations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Operations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Operations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Operations$Cancel { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource to be cancelled. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleLongrunning_CancelOperationRequest; + } + interface Params$Resource$Operations$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource to be deleted. + */ + name?: string; + } + interface Params$Resource$Operations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource. + */ + name?: string; + } + interface Params$Resource$Operations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The standard list filter. + */ + filter?: string; + /** + * The name of the operation's parent resource. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } + class Resource$Videos { + root: Videointelligence; + constructor(root: Videointelligence); + getRoot(): Videointelligence; + /** + * videointelligence.videos.annotate + * @desc Performs asynchronous video annotation. Progress and results can be + * retrieved through the `google.longrunning.Operations` interface. + * `Operation.metadata` contains `AnnotateVideoProgress` (progress). + * `Operation.response` contains `AnnotateVideoResponse` (results). + * @alias videointelligence.videos.annotate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().GoogleCloudVideointelligenceV1_AnnotateVideoRequest} 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 + */ + annotate(params?: Params$Resource$Videos$Annotate, options?: MethodOptions): AxiosPromise; + annotate(params: Params$Resource$Videos$Annotate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + annotate(params: Params$Resource$Videos$Annotate, callback: BodyResponseCallback): void; + annotate(callback: BodyResponseCallback): void; + } + interface Params$Resource$Videos$Annotate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudVideointelligenceV1_AnnotateVideoRequest; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/videointelligence/v1.js b/express-server/node_modules/googleapis/build/src/apis/videointelligence/v1.js new file mode 100644 index 00000000..7a6ce031 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/videointelligence/v1.js @@ -0,0 +1,230 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var videointelligence_v1; +(function (videointelligence_v1) { + /** + * Cloud Video Intelligence API + * + * Cloud Video Intelligence API. + * + * @example + * const {google} = require('googleapis'); + * const videointelligence = google.videointelligence('v1'); + * + * @namespace videointelligence + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Videointelligence + */ + class Videointelligence { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.operations = new Resource$Operations(this); + this.videos = new Resource$Videos(this); + } + getRoot() { + return this.root; + } + } + videointelligence_v1.Videointelligence = Videointelligence; + class Resource$Operations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + cancel(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://videointelligence.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/operations/{+name}:cancel') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://videointelligence.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/operations/{+name}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://videointelligence.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/operations/{+name}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://videointelligence.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/operations').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + videointelligence_v1.Resource$Operations = Resource$Operations; + class Resource$Videos { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + annotate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://videointelligence.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/videos:annotate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + videointelligence_v1.Resource$Videos = Resource$Videos; +})(videointelligence_v1 = exports.videointelligence_v1 || (exports.videointelligence_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/videointelligence/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/videointelligence/v1.js.map new file mode 100644 index 00000000..8d98bf0e --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/videointelligence/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/videointelligence/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/videointelligence/v1beta2.d.ts b/express-server/node_modules/googleapis/build/src/apis/videointelligence/v1beta2.d.ts new file mode 100644 index 00000000..b4daf362 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/videointelligence/v1beta2.d.ts @@ -0,0 +1,923 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace videointelligence_v1beta2 { + interface Options extends GlobalOptions { + version: 'v1beta2'; + } + /** + * Cloud Video Intelligence API + * + * Cloud Video Intelligence API. + * + * @example + * const {google} = require('googleapis'); + * const videointelligence = google.videointelligence('v1beta2'); + * + * @namespace videointelligence + * @type {Function} + * @version v1beta2 + * @variation v1beta2 + * @param {object=} options Options for Videointelligence + */ + class Videointelligence { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + videos: Resource$Videos; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Video annotation progress. Included in the `metadata` field of the + * `Operation` returned by the `GetOperation` call of the + * `google::longrunning::Operations` service. + */ + interface Schema$GoogleCloudVideointelligenceV1beta2_AnnotateVideoProgress { + /** + * Progress metadata for all videos specified in `AnnotateVideoRequest`. + */ + annotationProgress?: Schema$GoogleCloudVideointelligenceV1beta2_VideoAnnotationProgress[]; + } + /** + * Video annotation request. + */ + interface Schema$GoogleCloudVideointelligenceV1beta2_AnnotateVideoRequest { + /** + * Requested video annotation features. + */ + features?: string[]; + /** + * The video data bytes. If unset, the input video(s) should be specified + * via `input_uri`. If set, `input_uri` should be unset. + */ + inputContent?: string; + /** + * Input video location. Currently, only [Google Cloud + * Storage](https://cloud.google.com/storage/) URIs are supported, which + * must be specified in the following format: `gs://bucket-id/object-id` + * (other URI formats return google.rpc.Code.INVALID_ARGUMENT). For more + * information, see [Request URIs](/storage/docs/reference-uris). A video + * URI may include wildcards in `object-id`, and thus identify multiple + * videos. Supported wildcards: '*' to match 0 or more characters; + * '?' to match 1 character. If unset, the input video should be + * embedded in the request as `input_content`. If set, `input_content` + * should be unset. + */ + inputUri?: string; + /** + * Optional cloud region where annotation should take place. Supported cloud + * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no + * region is specified, a region will be determined based on video file + * location. + */ + locationId?: string; + /** + * Optional location where the output (in JSON format) should be stored. + * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) + * URIs are supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * google.rpc.Code.INVALID_ARGUMENT). For more information, see [Request + * URIs](/storage/docs/reference-uris). + */ + outputUri?: string; + /** + * Additional video context and/or feature-specific parameters. + */ + videoContext?: Schema$GoogleCloudVideointelligenceV1beta2_VideoContext; + } + /** + * Video annotation response. Included in the `response` field of the + * `Operation` returned by the `GetOperation` call of the + * `google::longrunning::Operations` service. + */ + interface Schema$GoogleCloudVideointelligenceV1beta2_AnnotateVideoResponse { + /** + * Annotation results for all videos specified in `AnnotateVideoRequest`. + */ + annotationResults?: Schema$GoogleCloudVideointelligenceV1beta2_VideoAnnotationResults[]; + } + /** + * Detected entity from video analysis. + */ + interface Schema$GoogleCloudVideointelligenceV1beta2_Entity { + /** + * Textual description, e.g. `Fixed-gear bicycle`. + */ + description?: string; + /** + * Opaque entity ID. Some IDs may be available in [Google Knowledge Graph + * Search API](https://developers.google.com/knowledge-graph/). + */ + entityId?: string; + /** + * Language code for `description` in BCP-47 format. + */ + languageCode?: string; + } + /** + * Explicit content annotation (based on per-frame visual signals only). If no + * explicit content has been detected in a frame, no annotations are present + * for that frame. + */ + interface Schema$GoogleCloudVideointelligenceV1beta2_ExplicitContentAnnotation { + /** + * All video frames where explicit content was detected. + */ + frames?: Schema$GoogleCloudVideointelligenceV1beta2_ExplicitContentFrame[]; + } + /** + * Config for EXPLICIT_CONTENT_DETECTION. + */ + interface Schema$GoogleCloudVideointelligenceV1beta2_ExplicitContentDetectionConfig { + /** + * Model to use for explicit content detection. Supported values: + * "builtin/stable" (the default if unset) and + * "builtin/latest". + */ + model?: string; + } + /** + * Video frame level annotation results for explicit content. + */ + interface Schema$GoogleCloudVideointelligenceV1beta2_ExplicitContentFrame { + /** + * Likelihood of the pornography content.. + */ + pornographyLikelihood?: string; + /** + * Time-offset, relative to the beginning of the video, corresponding to the + * video frame for this location. + */ + timeOffset?: string; + } + /** + * Label annotation. + */ + interface Schema$GoogleCloudVideointelligenceV1beta2_LabelAnnotation { + /** + * Common categories for the detected entity. E.g. when the label is + * `Terrier` the category is likely `dog`. And in some cases there might be + * more than one categories e.g. `Terrier` could also be a `pet`. + */ + categoryEntities?: Schema$GoogleCloudVideointelligenceV1beta2_Entity[]; + /** + * Detected entity. + */ + entity?: Schema$GoogleCloudVideointelligenceV1beta2_Entity; + /** + * All video frames where a label was detected. + */ + frames?: Schema$GoogleCloudVideointelligenceV1beta2_LabelFrame[]; + /** + * All video segments where a label was detected. + */ + segments?: Schema$GoogleCloudVideointelligenceV1beta2_LabelSegment[]; + } + /** + * Config for LABEL_DETECTION. + */ + interface Schema$GoogleCloudVideointelligenceV1beta2_LabelDetectionConfig { + /** + * What labels should be detected with LABEL_DETECTION, in addition to + * video-level labels or segment-level labels. If unspecified, defaults to + * `SHOT_MODE`. + */ + labelDetectionMode?: string; + /** + * Model to use for label detection. Supported values: + * "builtin/stable" (the default if unset) and + * "builtin/latest". + */ + model?: string; + /** + * Whether the video has been shot from a stationary (i.e. non-moving) + * camera. When set to true, might improve detection accuracy for moving + * objects. Should be used with `SHOT_AND_FRAME_MODE` enabled. + */ + stationaryCamera?: boolean; + } + /** + * Video frame level annotation results for label detection. + */ + interface Schema$GoogleCloudVideointelligenceV1beta2_LabelFrame { + /** + * Confidence that the label is accurate. Range: [0, 1]. + */ + confidence?: number; + /** + * Time-offset, relative to the beginning of the video, corresponding to the + * video frame for this location. + */ + timeOffset?: string; + } + /** + * Video segment level annotation results for label detection. + */ + interface Schema$GoogleCloudVideointelligenceV1beta2_LabelSegment { + /** + * Confidence that the label is accurate. Range: [0, 1]. + */ + confidence?: number; + /** + * Video segment where a label was detected. + */ + segment?: Schema$GoogleCloudVideointelligenceV1beta2_VideoSegment; + } + /** + * Config for SHOT_CHANGE_DETECTION. + */ + interface Schema$GoogleCloudVideointelligenceV1beta2_ShotChangeDetectionConfig { + /** + * Model to use for shot change detection. Supported values: + * "builtin/stable" (the default if unset) and + * "builtin/latest". + */ + model?: string; + } + /** + * Annotation progress for a single video. + */ + interface Schema$GoogleCloudVideointelligenceV1beta2_VideoAnnotationProgress { + /** + * Video file location in [Google Cloud + * Storage](https://cloud.google.com/storage/). + */ + inputUri?: string; + /** + * Approximate percentage processed thus far. Guaranteed to be 100 when + * fully processed. + */ + progressPercent?: number; + /** + * Time when the request was received. + */ + startTime?: string; + /** + * Time of the most recent update. + */ + updateTime?: string; + } + /** + * Annotation results for a single video. + */ + interface Schema$GoogleCloudVideointelligenceV1beta2_VideoAnnotationResults { + /** + * If set, indicates an error. Note that for a single `AnnotateVideoRequest` + * some videos may succeed and some may fail. + */ + error?: Schema$GoogleRpc_Status; + /** + * Explicit content annotation. + */ + explicitAnnotation?: Schema$GoogleCloudVideointelligenceV1beta2_ExplicitContentAnnotation; + /** + * Label annotations on frame level. There is exactly one element for each + * unique label. + */ + frameLabelAnnotations?: Schema$GoogleCloudVideointelligenceV1beta2_LabelAnnotation[]; + /** + * Video file location in [Google Cloud + * Storage](https://cloud.google.com/storage/). + */ + inputUri?: string; + /** + * Label annotations on video level or user specified segment level. There + * is exactly one element for each unique label. + */ + segmentLabelAnnotations?: Schema$GoogleCloudVideointelligenceV1beta2_LabelAnnotation[]; + /** + * Shot annotations. Each shot is represented as a video segment. + */ + shotAnnotations?: Schema$GoogleCloudVideointelligenceV1beta2_VideoSegment[]; + /** + * Label annotations on shot level. There is exactly one element for each + * unique label. + */ + shotLabelAnnotations?: Schema$GoogleCloudVideointelligenceV1beta2_LabelAnnotation[]; + } + /** + * Video context and/or feature-specific parameters. + */ + interface Schema$GoogleCloudVideointelligenceV1beta2_VideoContext { + /** + * Config for EXPLICIT_CONTENT_DETECTION. + */ + explicitContentDetectionConfig?: Schema$GoogleCloudVideointelligenceV1beta2_ExplicitContentDetectionConfig; + /** + * Config for LABEL_DETECTION. + */ + labelDetectionConfig?: Schema$GoogleCloudVideointelligenceV1beta2_LabelDetectionConfig; + /** + * Video segments to annotate. The segments may overlap and are not required + * to be contiguous or span the whole video. If unspecified, each video is + * treated as a single segment. + */ + segments?: Schema$GoogleCloudVideointelligenceV1beta2_VideoSegment[]; + /** + * Config for SHOT_CHANGE_DETECTION. + */ + shotChangeDetectionConfig?: Schema$GoogleCloudVideointelligenceV1beta2_ShotChangeDetectionConfig; + } + /** + * Video segment. + */ + interface Schema$GoogleCloudVideointelligenceV1beta2_VideoSegment { + /** + * Time-offset, relative to the beginning of the video, corresponding to the + * end of the segment (inclusive). + */ + endTimeOffset?: string; + /** + * Time-offset, relative to the beginning of the video, corresponding to the + * start of the segment (inclusive). + */ + startTimeOffset?: string; + } + /** + * Video annotation progress. Included in the `metadata` field of the + * `Operation` returned by the `GetOperation` call of the + * `google::longrunning::Operations` service. + */ + interface Schema$GoogleCloudVideointelligenceV1p1beta1_AnnotateVideoProgress { + /** + * Progress metadata for all videos specified in `AnnotateVideoRequest`. + */ + annotationProgress?: Schema$GoogleCloudVideointelligenceV1p1beta1_VideoAnnotationProgress[]; + } + /** + * Video annotation response. Included in the `response` field of the + * `Operation` returned by the `GetOperation` call of the + * `google::longrunning::Operations` service. + */ + interface Schema$GoogleCloudVideointelligenceV1p1beta1_AnnotateVideoResponse { + /** + * Annotation results for all videos specified in `AnnotateVideoRequest`. + */ + annotationResults?: Schema$GoogleCloudVideointelligenceV1p1beta1_VideoAnnotationResults[]; + } + /** + * Detected entity from video analysis. + */ + interface Schema$GoogleCloudVideointelligenceV1p1beta1_Entity { + /** + * Textual description, e.g. `Fixed-gear bicycle`. + */ + description?: string; + /** + * Opaque entity ID. Some IDs may be available in [Google Knowledge Graph + * Search API](https://developers.google.com/knowledge-graph/). + */ + entityId?: string; + /** + * Language code for `description` in BCP-47 format. + */ + languageCode?: string; + } + /** + * Explicit content annotation (based on per-frame visual signals only). If no + * explicit content has been detected in a frame, no annotations are present + * for that frame. + */ + interface Schema$GoogleCloudVideointelligenceV1p1beta1_ExplicitContentAnnotation { + /** + * All video frames where explicit content was detected. + */ + frames?: Schema$GoogleCloudVideointelligenceV1p1beta1_ExplicitContentFrame[]; + } + /** + * Video frame level annotation results for explicit content. + */ + interface Schema$GoogleCloudVideointelligenceV1p1beta1_ExplicitContentFrame { + /** + * Likelihood of the pornography content.. + */ + pornographyLikelihood?: string; + /** + * Time-offset, relative to the beginning of the video, corresponding to the + * video frame for this location. + */ + timeOffset?: string; + } + /** + * Label annotation. + */ + interface Schema$GoogleCloudVideointelligenceV1p1beta1_LabelAnnotation { + /** + * Common categories for the detected entity. E.g. when the label is + * `Terrier` the category is likely `dog`. And in some cases there might be + * more than one categories e.g. `Terrier` could also be a `pet`. + */ + categoryEntities?: Schema$GoogleCloudVideointelligenceV1p1beta1_Entity[]; + /** + * Detected entity. + */ + entity?: Schema$GoogleCloudVideointelligenceV1p1beta1_Entity; + /** + * All video frames where a label was detected. + */ + frames?: Schema$GoogleCloudVideointelligenceV1p1beta1_LabelFrame[]; + /** + * All video segments where a label was detected. + */ + segments?: Schema$GoogleCloudVideointelligenceV1p1beta1_LabelSegment[]; + } + /** + * Video frame level annotation results for label detection. + */ + interface Schema$GoogleCloudVideointelligenceV1p1beta1_LabelFrame { + /** + * Confidence that the label is accurate. Range: [0, 1]. + */ + confidence?: number; + /** + * Time-offset, relative to the beginning of the video, corresponding to the + * video frame for this location. + */ + timeOffset?: string; + } + /** + * Video segment level annotation results for label detection. + */ + interface Schema$GoogleCloudVideointelligenceV1p1beta1_LabelSegment { + /** + * Confidence that the label is accurate. Range: [0, 1]. + */ + confidence?: number; + /** + * Video segment where a label was detected. + */ + segment?: Schema$GoogleCloudVideointelligenceV1p1beta1_VideoSegment; + } + /** + * Alternative hypotheses (a.k.a. n-best list). + */ + interface Schema$GoogleCloudVideointelligenceV1p1beta1_SpeechRecognitionAlternative { + /** + * The confidence estimate between 0.0 and 1.0. A higher number indicates an + * estimated greater likelihood that the recognized words are correct. This + * field is typically provided only for the top hypothesis, and only for + * `is_final=true` results. Clients should not rely on the `confidence` + * field as it is not guaranteed to be accurate or consistent. The default + * of 0.0 is a sentinel value indicating `confidence` was not set. + */ + confidence?: number; + /** + * Transcript text representing the words that the user spoke. + */ + transcript?: string; + /** + * A list of word-specific information for each recognized word. + */ + words?: Schema$GoogleCloudVideointelligenceV1p1beta1_WordInfo[]; + } + /** + * A speech recognition result corresponding to a portion of the audio. + */ + interface Schema$GoogleCloudVideointelligenceV1p1beta1_SpeechTranscription { + /** + * May contain one or more recognition hypotheses (up to the maximum + * specified in `max_alternatives`). These alternatives are ordered in + * terms of accuracy, with the top (first) alternative being the most + * probable, as ranked by the recognizer. + */ + alternatives?: Schema$GoogleCloudVideointelligenceV1p1beta1_SpeechRecognitionAlternative[]; + } + /** + * Annotation progress for a single video. + */ + interface Schema$GoogleCloudVideointelligenceV1p1beta1_VideoAnnotationProgress { + /** + * Video file location in [Google Cloud + * Storage](https://cloud.google.com/storage/). + */ + inputUri?: string; + /** + * Approximate percentage processed thus far. Guaranteed to be 100 when + * fully processed. + */ + progressPercent?: number; + /** + * Time when the request was received. + */ + startTime?: string; + /** + * Time of the most recent update. + */ + updateTime?: string; + } + /** + * Annotation results for a single video. + */ + interface Schema$GoogleCloudVideointelligenceV1p1beta1_VideoAnnotationResults { + /** + * If set, indicates an error. Note that for a single `AnnotateVideoRequest` + * some videos may succeed and some may fail. + */ + error?: Schema$GoogleRpc_Status; + /** + * Explicit content annotation. + */ + explicitAnnotation?: Schema$GoogleCloudVideointelligenceV1p1beta1_ExplicitContentAnnotation; + /** + * Label annotations on frame level. There is exactly one element for each + * unique label. + */ + frameLabelAnnotations?: Schema$GoogleCloudVideointelligenceV1p1beta1_LabelAnnotation[]; + /** + * Video file location in [Google Cloud + * Storage](https://cloud.google.com/storage/). + */ + inputUri?: string; + /** + * Label annotations on video level or user specified segment level. There + * is exactly one element for each unique label. + */ + segmentLabelAnnotations?: Schema$GoogleCloudVideointelligenceV1p1beta1_LabelAnnotation[]; + /** + * Shot annotations. Each shot is represented as a video segment. + */ + shotAnnotations?: Schema$GoogleCloudVideointelligenceV1p1beta1_VideoSegment[]; + /** + * Label annotations on shot level. There is exactly one element for each + * unique label. + */ + shotLabelAnnotations?: Schema$GoogleCloudVideointelligenceV1p1beta1_LabelAnnotation[]; + /** + * Speech transcription. + */ + speechTranscriptions?: Schema$GoogleCloudVideointelligenceV1p1beta1_SpeechTranscription[]; + } + /** + * Video segment. + */ + interface Schema$GoogleCloudVideointelligenceV1p1beta1_VideoSegment { + /** + * Time-offset, relative to the beginning of the video, corresponding to the + * end of the segment (inclusive). + */ + endTimeOffset?: string; + /** + * Time-offset, relative to the beginning of the video, corresponding to the + * start of the segment (inclusive). + */ + startTimeOffset?: string; + } + /** + * Word-specific information for recognized words. Word information is only + * included in the response when certain request parameters are set, such as + * `enable_word_time_offsets`. + */ + interface Schema$GoogleCloudVideointelligenceV1p1beta1_WordInfo { + /** + * Time offset relative to the beginning of the audio, and corresponding to + * the end of the spoken word. This field is only set if + * `enable_word_time_offsets=true` and only in the top hypothesis. This is + * an experimental feature and the accuracy of the time offset can vary. + */ + endTime?: string; + /** + * Time offset relative to the beginning of the audio, and corresponding to + * the start of the spoken word. This field is only set if + * `enable_word_time_offsets=true` and only in the top hypothesis. This is + * an experimental feature and the accuracy of the time offset can vary. + */ + startTime?: string; + /** + * The word corresponding to this set of information. + */ + word?: string; + } + /** + * Video annotation progress. Included in the `metadata` field of the + * `Operation` returned by the `GetOperation` call of the + * `google::longrunning::Operations` service. + */ + interface Schema$GoogleCloudVideointelligenceV1_AnnotateVideoProgress { + /** + * Progress metadata for all videos specified in `AnnotateVideoRequest`. + */ + annotationProgress?: Schema$GoogleCloudVideointelligenceV1_VideoAnnotationProgress[]; + } + /** + * Video annotation response. Included in the `response` field of the + * `Operation` returned by the `GetOperation` call of the + * `google::longrunning::Operations` service. + */ + interface Schema$GoogleCloudVideointelligenceV1_AnnotateVideoResponse { + /** + * Annotation results for all videos specified in `AnnotateVideoRequest`. + */ + annotationResults?: Schema$GoogleCloudVideointelligenceV1_VideoAnnotationResults[]; + } + /** + * Detected entity from video analysis. + */ + interface Schema$GoogleCloudVideointelligenceV1_Entity { + /** + * Textual description, e.g. `Fixed-gear bicycle`. + */ + description?: string; + /** + * Opaque entity ID. Some IDs may be available in [Google Knowledge Graph + * Search API](https://developers.google.com/knowledge-graph/). + */ + entityId?: string; + /** + * Language code for `description` in BCP-47 format. + */ + languageCode?: string; + } + /** + * Explicit content annotation (based on per-frame visual signals only). If no + * explicit content has been detected in a frame, no annotations are present + * for that frame. + */ + interface Schema$GoogleCloudVideointelligenceV1_ExplicitContentAnnotation { + /** + * All video frames where explicit content was detected. + */ + frames?: Schema$GoogleCloudVideointelligenceV1_ExplicitContentFrame[]; + } + /** + * Video frame level annotation results for explicit content. + */ + interface Schema$GoogleCloudVideointelligenceV1_ExplicitContentFrame { + /** + * Likelihood of the pornography content.. + */ + pornographyLikelihood?: string; + /** + * Time-offset, relative to the beginning of the video, corresponding to the + * video frame for this location. + */ + timeOffset?: string; + } + /** + * Label annotation. + */ + interface Schema$GoogleCloudVideointelligenceV1_LabelAnnotation { + /** + * Common categories for the detected entity. E.g. when the label is + * `Terrier` the category is likely `dog`. And in some cases there might be + * more than one categories e.g. `Terrier` could also be a `pet`. + */ + categoryEntities?: Schema$GoogleCloudVideointelligenceV1_Entity[]; + /** + * Detected entity. + */ + entity?: Schema$GoogleCloudVideointelligenceV1_Entity; + /** + * All video frames where a label was detected. + */ + frames?: Schema$GoogleCloudVideointelligenceV1_LabelFrame[]; + /** + * All video segments where a label was detected. + */ + segments?: Schema$GoogleCloudVideointelligenceV1_LabelSegment[]; + } + /** + * Video frame level annotation results for label detection. + */ + interface Schema$GoogleCloudVideointelligenceV1_LabelFrame { + /** + * Confidence that the label is accurate. Range: [0, 1]. + */ + confidence?: number; + /** + * Time-offset, relative to the beginning of the video, corresponding to the + * video frame for this location. + */ + timeOffset?: string; + } + /** + * Video segment level annotation results for label detection. + */ + interface Schema$GoogleCloudVideointelligenceV1_LabelSegment { + /** + * Confidence that the label is accurate. Range: [0, 1]. + */ + confidence?: number; + /** + * Video segment where a label was detected. + */ + segment?: Schema$GoogleCloudVideointelligenceV1_VideoSegment; + } + /** + * Annotation progress for a single video. + */ + interface Schema$GoogleCloudVideointelligenceV1_VideoAnnotationProgress { + /** + * Video file location in [Google Cloud + * Storage](https://cloud.google.com/storage/). + */ + inputUri?: string; + /** + * Approximate percentage processed thus far. Guaranteed to be 100 when + * fully processed. + */ + progressPercent?: number; + /** + * Time when the request was received. + */ + startTime?: string; + /** + * Time of the most recent update. + */ + updateTime?: string; + } + /** + * Annotation results for a single video. + */ + interface Schema$GoogleCloudVideointelligenceV1_VideoAnnotationResults { + /** + * If set, indicates an error. Note that for a single `AnnotateVideoRequest` + * some videos may succeed and some may fail. + */ + error?: Schema$GoogleRpc_Status; + /** + * Explicit content annotation. + */ + explicitAnnotation?: Schema$GoogleCloudVideointelligenceV1_ExplicitContentAnnotation; + /** + * Label annotations on frame level. There is exactly one element for each + * unique label. + */ + frameLabelAnnotations?: Schema$GoogleCloudVideointelligenceV1_LabelAnnotation[]; + /** + * Video file location in [Google Cloud + * Storage](https://cloud.google.com/storage/). + */ + inputUri?: string; + /** + * Label annotations on video level or user specified segment level. There + * is exactly one element for each unique label. + */ + segmentLabelAnnotations?: Schema$GoogleCloudVideointelligenceV1_LabelAnnotation[]; + /** + * Shot annotations. Each shot is represented as a video segment. + */ + shotAnnotations?: Schema$GoogleCloudVideointelligenceV1_VideoSegment[]; + /** + * Label annotations on shot level. There is exactly one element for each + * unique label. + */ + shotLabelAnnotations?: Schema$GoogleCloudVideointelligenceV1_LabelAnnotation[]; + } + /** + * Video segment. + */ + interface Schema$GoogleCloudVideointelligenceV1_VideoSegment { + /** + * Time-offset, relative to the beginning of the video, corresponding to the + * end of the segment (inclusive). + */ + endTimeOffset?: string; + /** + * Time-offset, relative to the beginning of the video, corresponding to the + * start of the segment (inclusive). + */ + startTimeOffset?: string; + } + /** + * This resource represents a long-running operation that is the result of a + * network API call. + */ + interface Schema$GoogleLongrunning_Operation { + /** + * If the value is `false`, it means the operation is still in progress. If + * `true`, the operation is completed, and either `error` or `response` is + * available. + */ + done?: boolean; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$GoogleRpc_Status; + /** + * Service-specific metadata associated with the operation. It typically + * contains progress information and common metadata such as create time. + * Some services might not provide such metadata. Any method that returns a + * long-running operation should document the metadata type, if any. + */ + metadata?: any; + /** + * The server-assigned name, which is only unique within the same service + * that originally returns it. If you use the default HTTP mapping, the + * `name` should have the format of `operations/some/unique/name`. + */ + name?: string; + /** + * The normal response of the operation in case of success. If the original + * method returns no data on success, such as `Delete`, the response is + * `google.protobuf.Empty`. If the original method is standard + * `Get`/`Create`/`Update`, the response should be the resource. For other + * methods, the response should have the type `XxxResponse`, where `Xxx` is + * the original method name. For example, if the original method name is + * `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: any; + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$GoogleRpc_Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + class Resource$Videos { + root: Videointelligence; + constructor(root: Videointelligence); + getRoot(): Videointelligence; + /** + * videointelligence.videos.annotate + * @desc Performs asynchronous video annotation. Progress and results can be + * retrieved through the `google.longrunning.Operations` interface. + * `Operation.metadata` contains `AnnotateVideoProgress` (progress). + * `Operation.response` contains `AnnotateVideoResponse` (results). + * @alias videointelligence.videos.annotate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().GoogleCloudVideointelligenceV1beta2_AnnotateVideoRequest} 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 + */ + annotate(params?: Params$Resource$Videos$Annotate, options?: MethodOptions): AxiosPromise; + annotate(params: Params$Resource$Videos$Annotate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + annotate(params: Params$Resource$Videos$Annotate, callback: BodyResponseCallback): void; + annotate(callback: BodyResponseCallback): void; + } + interface Params$Resource$Videos$Annotate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudVideointelligenceV1beta2_AnnotateVideoRequest; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/videointelligence/v1beta2.js b/express-server/node_modules/googleapis/build/src/apis/videointelligence/v1beta2.js new file mode 100644 index 00000000..4bc9bf77 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/videointelligence/v1beta2.js @@ -0,0 +1,96 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var videointelligence_v1beta2; +(function (videointelligence_v1beta2) { + /** + * Cloud Video Intelligence API + * + * Cloud Video Intelligence API. + * + * @example + * const {google} = require('googleapis'); + * const videointelligence = google.videointelligence('v1beta2'); + * + * @namespace videointelligence + * @type {Function} + * @version v1beta2 + * @variation v1beta2 + * @param {object=} options Options for Videointelligence + */ + class Videointelligence { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.videos = new Resource$Videos(this); + } + getRoot() { + return this.root; + } + } + videointelligence_v1beta2.Videointelligence = Videointelligence; + class Resource$Videos { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + annotate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://videointelligence.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1beta2/videos:annotate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + videointelligence_v1beta2.Resource$Videos = Resource$Videos; +})(videointelligence_v1beta2 = exports.videointelligence_v1beta2 || (exports.videointelligence_v1beta2 = {})); +//# sourceMappingURL=v1beta2.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/videointelligence/v1beta2.js.map b/express-server/node_modules/googleapis/build/src/apis/videointelligence/v1beta2.js.map new file mode 100644 index 00000000..78e5c9b4 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/videointelligence/v1beta2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1beta2.js","sourceRoot":"","sources":["../../../../src/apis/videointelligence/v1beta2.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAIH,yDAA2H;AAE3H,yBAAyB;AACzB,6BAA6B;AAC7B,gCAAgC;AAChC,+BAA+B;AAC/B,+BAA+B;AAE/B,IAAiB,yBAAyB,CAk/BzC;AAl/BD,WAAiB,yBAAyB;IAKxC;;;;;;;;;;;;;;OAcG;IACH,MAAa,iBAAiB;QAO5B,YAAY,OAAsB,EAAE,MAA2B;YAJ/D,SAAI,GAAG,IAAI,CAAC;YAKV,IAAI,CAAC,QAAQ,GAAG,OAAO,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAExB,IAAI,CAAC,MAAM,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;KACF;IAlBY,2CAAiB,oBAkB7B,CAAA;IAw2BD,MAAa,eAAe;QAE1B,YAAY,IAAuB;YACjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAiCD,QAAQ,CACJ,gBACwD,EACxD,iBACwD,EACxD,QAAmE;YAErE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAoC,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqC,CAAC;gBAC/C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,2CAA2C,CAAC;YACnE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,0BAA0B,CAAC;yBACjC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,EAAE;gBAClB,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CAAqC,UAAU,CAAC,CAAC;aACzE;QACH,CAAC;KACF;IArFY,yCAAe,kBAqF3B,CAAA;AAeH,CAAC,EAl/BgB,yBAAyB,GAAzB,iCAAyB,KAAzB,iCAAyB,QAk/BzC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/videointelligence/v1p1beta1.d.ts b/express-server/node_modules/googleapis/build/src/apis/videointelligence/v1p1beta1.d.ts new file mode 100644 index 00000000..2d834cf6 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/videointelligence/v1p1beta1.d.ts @@ -0,0 +1,991 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace videointelligence_v1p1beta1 { + interface Options extends GlobalOptions { + version: 'v1p1beta1'; + } + /** + * Cloud Video Intelligence API + * + * Cloud Video Intelligence API. + * + * @example + * const {google} = require('googleapis'); + * const videointelligence = google.videointelligence('v1p1beta1'); + * + * @namespace videointelligence + * @type {Function} + * @version v1p1beta1 + * @variation v1p1beta1 + * @param {object=} options Options for Videointelligence + */ + class Videointelligence { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + videos: Resource$Videos; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Video annotation progress. Included in the `metadata` field of the + * `Operation` returned by the `GetOperation` call of the + * `google::longrunning::Operations` service. + */ + interface Schema$GoogleCloudVideointelligenceV1beta2_AnnotateVideoProgress { + /** + * Progress metadata for all videos specified in `AnnotateVideoRequest`. + */ + annotationProgress?: Schema$GoogleCloudVideointelligenceV1beta2_VideoAnnotationProgress[]; + } + /** + * Video annotation response. Included in the `response` field of the + * `Operation` returned by the `GetOperation` call of the + * `google::longrunning::Operations` service. + */ + interface Schema$GoogleCloudVideointelligenceV1beta2_AnnotateVideoResponse { + /** + * Annotation results for all videos specified in `AnnotateVideoRequest`. + */ + annotationResults?: Schema$GoogleCloudVideointelligenceV1beta2_VideoAnnotationResults[]; + } + /** + * Detected entity from video analysis. + */ + interface Schema$GoogleCloudVideointelligenceV1beta2_Entity { + /** + * Textual description, e.g. `Fixed-gear bicycle`. + */ + description?: string; + /** + * Opaque entity ID. Some IDs may be available in [Google Knowledge Graph + * Search API](https://developers.google.com/knowledge-graph/). + */ + entityId?: string; + /** + * Language code for `description` in BCP-47 format. + */ + languageCode?: string; + } + /** + * Explicit content annotation (based on per-frame visual signals only). If no + * explicit content has been detected in a frame, no annotations are present + * for that frame. + */ + interface Schema$GoogleCloudVideointelligenceV1beta2_ExplicitContentAnnotation { + /** + * All video frames where explicit content was detected. + */ + frames?: Schema$GoogleCloudVideointelligenceV1beta2_ExplicitContentFrame[]; + } + /** + * Video frame level annotation results for explicit content. + */ + interface Schema$GoogleCloudVideointelligenceV1beta2_ExplicitContentFrame { + /** + * Likelihood of the pornography content.. + */ + pornographyLikelihood?: string; + /** + * Time-offset, relative to the beginning of the video, corresponding to the + * video frame for this location. + */ + timeOffset?: string; + } + /** + * Label annotation. + */ + interface Schema$GoogleCloudVideointelligenceV1beta2_LabelAnnotation { + /** + * Common categories for the detected entity. E.g. when the label is + * `Terrier` the category is likely `dog`. And in some cases there might be + * more than one categories e.g. `Terrier` could also be a `pet`. + */ + categoryEntities?: Schema$GoogleCloudVideointelligenceV1beta2_Entity[]; + /** + * Detected entity. + */ + entity?: Schema$GoogleCloudVideointelligenceV1beta2_Entity; + /** + * All video frames where a label was detected. + */ + frames?: Schema$GoogleCloudVideointelligenceV1beta2_LabelFrame[]; + /** + * All video segments where a label was detected. + */ + segments?: Schema$GoogleCloudVideointelligenceV1beta2_LabelSegment[]; + } + /** + * Video frame level annotation results for label detection. + */ + interface Schema$GoogleCloudVideointelligenceV1beta2_LabelFrame { + /** + * Confidence that the label is accurate. Range: [0, 1]. + */ + confidence?: number; + /** + * Time-offset, relative to the beginning of the video, corresponding to the + * video frame for this location. + */ + timeOffset?: string; + } + /** + * Video segment level annotation results for label detection. + */ + interface Schema$GoogleCloudVideointelligenceV1beta2_LabelSegment { + /** + * Confidence that the label is accurate. Range: [0, 1]. + */ + confidence?: number; + /** + * Video segment where a label was detected. + */ + segment?: Schema$GoogleCloudVideointelligenceV1beta2_VideoSegment; + } + /** + * Annotation progress for a single video. + */ + interface Schema$GoogleCloudVideointelligenceV1beta2_VideoAnnotationProgress { + /** + * Video file location in [Google Cloud + * Storage](https://cloud.google.com/storage/). + */ + inputUri?: string; + /** + * Approximate percentage processed thus far. Guaranteed to be 100 when + * fully processed. + */ + progressPercent?: number; + /** + * Time when the request was received. + */ + startTime?: string; + /** + * Time of the most recent update. + */ + updateTime?: string; + } + /** + * Annotation results for a single video. + */ + interface Schema$GoogleCloudVideointelligenceV1beta2_VideoAnnotationResults { + /** + * If set, indicates an error. Note that for a single `AnnotateVideoRequest` + * some videos may succeed and some may fail. + */ + error?: Schema$GoogleRpc_Status; + /** + * Explicit content annotation. + */ + explicitAnnotation?: Schema$GoogleCloudVideointelligenceV1beta2_ExplicitContentAnnotation; + /** + * Label annotations on frame level. There is exactly one element for each + * unique label. + */ + frameLabelAnnotations?: Schema$GoogleCloudVideointelligenceV1beta2_LabelAnnotation[]; + /** + * Video file location in [Google Cloud + * Storage](https://cloud.google.com/storage/). + */ + inputUri?: string; + /** + * Label annotations on video level or user specified segment level. There + * is exactly one element for each unique label. + */ + segmentLabelAnnotations?: Schema$GoogleCloudVideointelligenceV1beta2_LabelAnnotation[]; + /** + * Shot annotations. Each shot is represented as a video segment. + */ + shotAnnotations?: Schema$GoogleCloudVideointelligenceV1beta2_VideoSegment[]; + /** + * Label annotations on shot level. There is exactly one element for each + * unique label. + */ + shotLabelAnnotations?: Schema$GoogleCloudVideointelligenceV1beta2_LabelAnnotation[]; + } + /** + * Video segment. + */ + interface Schema$GoogleCloudVideointelligenceV1beta2_VideoSegment { + /** + * Time-offset, relative to the beginning of the video, corresponding to the + * end of the segment (inclusive). + */ + endTimeOffset?: string; + /** + * Time-offset, relative to the beginning of the video, corresponding to the + * start of the segment (inclusive). + */ + startTimeOffset?: string; + } + /** + * Video annotation progress. Included in the `metadata` field of the + * `Operation` returned by the `GetOperation` call of the + * `google::longrunning::Operations` service. + */ + interface Schema$GoogleCloudVideointelligenceV1p1beta1_AnnotateVideoProgress { + /** + * Progress metadata for all videos specified in `AnnotateVideoRequest`. + */ + annotationProgress?: Schema$GoogleCloudVideointelligenceV1p1beta1_VideoAnnotationProgress[]; + } + /** + * Video annotation request. + */ + interface Schema$GoogleCloudVideointelligenceV1p1beta1_AnnotateVideoRequest { + /** + * Requested video annotation features. + */ + features?: string[]; + /** + * The video data bytes. If unset, the input video(s) should be specified + * via `input_uri`. If set, `input_uri` should be unset. + */ + inputContent?: string; + /** + * Input video location. Currently, only [Google Cloud + * Storage](https://cloud.google.com/storage/) URIs are supported, which + * must be specified in the following format: `gs://bucket-id/object-id` + * (other URI formats return google.rpc.Code.INVALID_ARGUMENT). For more + * information, see [Request URIs](/storage/docs/reference-uris). A video + * URI may include wildcards in `object-id`, and thus identify multiple + * videos. Supported wildcards: '*' to match 0 or more characters; + * '?' to match 1 character. If unset, the input video should be + * embedded in the request as `input_content`. If set, `input_content` + * should be unset. + */ + inputUri?: string; + /** + * Optional cloud region where annotation should take place. Supported cloud + * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no + * region is specified, a region will be determined based on video file + * location. + */ + locationId?: string; + /** + * Optional location where the output (in JSON format) should be stored. + * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) + * URIs are supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * google.rpc.Code.INVALID_ARGUMENT). For more information, see [Request + * URIs](/storage/docs/reference-uris). + */ + outputUri?: string; + /** + * Additional video context and/or feature-specific parameters. + */ + videoContext?: Schema$GoogleCloudVideointelligenceV1p1beta1_VideoContext; + } + /** + * Video annotation response. Included in the `response` field of the + * `Operation` returned by the `GetOperation` call of the + * `google::longrunning::Operations` service. + */ + interface Schema$GoogleCloudVideointelligenceV1p1beta1_AnnotateVideoResponse { + /** + * Annotation results for all videos specified in `AnnotateVideoRequest`. + */ + annotationResults?: Schema$GoogleCloudVideointelligenceV1p1beta1_VideoAnnotationResults[]; + } + /** + * Detected entity from video analysis. + */ + interface Schema$GoogleCloudVideointelligenceV1p1beta1_Entity { + /** + * Textual description, e.g. `Fixed-gear bicycle`. + */ + description?: string; + /** + * Opaque entity ID. Some IDs may be available in [Google Knowledge Graph + * Search API](https://developers.google.com/knowledge-graph/). + */ + entityId?: string; + /** + * Language code for `description` in BCP-47 format. + */ + languageCode?: string; + } + /** + * Explicit content annotation (based on per-frame visual signals only). If no + * explicit content has been detected in a frame, no annotations are present + * for that frame. + */ + interface Schema$GoogleCloudVideointelligenceV1p1beta1_ExplicitContentAnnotation { + /** + * All video frames where explicit content was detected. + */ + frames?: Schema$GoogleCloudVideointelligenceV1p1beta1_ExplicitContentFrame[]; + } + /** + * Config for EXPLICIT_CONTENT_DETECTION. + */ + interface Schema$GoogleCloudVideointelligenceV1p1beta1_ExplicitContentDetectionConfig { + /** + * Model to use for explicit content detection. Supported values: + * "builtin/stable" (the default if unset) and + * "builtin/latest". + */ + model?: string; + } + /** + * Video frame level annotation results for explicit content. + */ + interface Schema$GoogleCloudVideointelligenceV1p1beta1_ExplicitContentFrame { + /** + * Likelihood of the pornography content.. + */ + pornographyLikelihood?: string; + /** + * Time-offset, relative to the beginning of the video, corresponding to the + * video frame for this location. + */ + timeOffset?: string; + } + /** + * Label annotation. + */ + interface Schema$GoogleCloudVideointelligenceV1p1beta1_LabelAnnotation { + /** + * Common categories for the detected entity. E.g. when the label is + * `Terrier` the category is likely `dog`. And in some cases there might be + * more than one categories e.g. `Terrier` could also be a `pet`. + */ + categoryEntities?: Schema$GoogleCloudVideointelligenceV1p1beta1_Entity[]; + /** + * Detected entity. + */ + entity?: Schema$GoogleCloudVideointelligenceV1p1beta1_Entity; + /** + * All video frames where a label was detected. + */ + frames?: Schema$GoogleCloudVideointelligenceV1p1beta1_LabelFrame[]; + /** + * All video segments where a label was detected. + */ + segments?: Schema$GoogleCloudVideointelligenceV1p1beta1_LabelSegment[]; + } + /** + * Config for LABEL_DETECTION. + */ + interface Schema$GoogleCloudVideointelligenceV1p1beta1_LabelDetectionConfig { + /** + * What labels should be detected with LABEL_DETECTION, in addition to + * video-level labels or segment-level labels. If unspecified, defaults to + * `SHOT_MODE`. + */ + labelDetectionMode?: string; + /** + * Model to use for label detection. Supported values: + * "builtin/stable" (the default if unset) and + * "builtin/latest". + */ + model?: string; + /** + * Whether the video has been shot from a stationary (i.e. non-moving) + * camera. When set to true, might improve detection accuracy for moving + * objects. Should be used with `SHOT_AND_FRAME_MODE` enabled. + */ + stationaryCamera?: boolean; + } + /** + * Video frame level annotation results for label detection. + */ + interface Schema$GoogleCloudVideointelligenceV1p1beta1_LabelFrame { + /** + * Confidence that the label is accurate. Range: [0, 1]. + */ + confidence?: number; + /** + * Time-offset, relative to the beginning of the video, corresponding to the + * video frame for this location. + */ + timeOffset?: string; + } + /** + * Video segment level annotation results for label detection. + */ + interface Schema$GoogleCloudVideointelligenceV1p1beta1_LabelSegment { + /** + * Confidence that the label is accurate. Range: [0, 1]. + */ + confidence?: number; + /** + * Video segment where a label was detected. + */ + segment?: Schema$GoogleCloudVideointelligenceV1p1beta1_VideoSegment; + } + /** + * Config for SHOT_CHANGE_DETECTION. + */ + interface Schema$GoogleCloudVideointelligenceV1p1beta1_ShotChangeDetectionConfig { + /** + * Model to use for shot change detection. Supported values: + * "builtin/stable" (the default if unset) and + * "builtin/latest". + */ + model?: string; + } + /** + * Provides "hints" to the speech recognizer to favor specific words + * and phrases in the results. + */ + interface Schema$GoogleCloudVideointelligenceV1p1beta1_SpeechContext { + /** + * *Optional* A list of strings containing words and phrases + * "hints" so that the speech recognition is more likely to + * recognize them. This can be used to improve the accuracy for specific + * words and phrases, for example, if specific commands are typically spoken + * by the user. This can also be used to add additional words to the + * vocabulary of the recognizer. See [usage + * limits](https://cloud.google.com/speech/limits#content). + */ + phrases?: string[]; + } + /** + * Alternative hypotheses (a.k.a. n-best list). + */ + interface Schema$GoogleCloudVideointelligenceV1p1beta1_SpeechRecognitionAlternative { + /** + * The confidence estimate between 0.0 and 1.0. A higher number indicates an + * estimated greater likelihood that the recognized words are correct. This + * field is typically provided only for the top hypothesis, and only for + * `is_final=true` results. Clients should not rely on the `confidence` + * field as it is not guaranteed to be accurate or consistent. The default + * of 0.0 is a sentinel value indicating `confidence` was not set. + */ + confidence?: number; + /** + * Transcript text representing the words that the user spoke. + */ + transcript?: string; + /** + * A list of word-specific information for each recognized word. + */ + words?: Schema$GoogleCloudVideointelligenceV1p1beta1_WordInfo[]; + } + /** + * A speech recognition result corresponding to a portion of the audio. + */ + interface Schema$GoogleCloudVideointelligenceV1p1beta1_SpeechTranscription { + /** + * May contain one or more recognition hypotheses (up to the maximum + * specified in `max_alternatives`). These alternatives are ordered in + * terms of accuracy, with the top (first) alternative being the most + * probable, as ranked by the recognizer. + */ + alternatives?: Schema$GoogleCloudVideointelligenceV1p1beta1_SpeechRecognitionAlternative[]; + } + /** + * Config for SPEECH_TRANSCRIPTION. + */ + interface Schema$GoogleCloudVideointelligenceV1p1beta1_SpeechTranscriptionConfig { + /** + * *Optional* For file formats, such as MXF or MKV, supporting multiple + * audio tracks, specify up to two tracks. Default: track 0. + */ + audioTracks?: number[]; + /** + * *Optional* If 'true', adds punctuation to recognition result + * hypotheses. This feature is only available in select languages. Setting + * this for requests in other languages has no effect at all. The default + * 'false' value does not add punctuation to result hypotheses. + * NOTE: "This is currently offered as an experimental service, + * complimentary to all users. In the future this may be exclusively + * available as a premium feature." + */ + enableAutomaticPunctuation?: boolean; + /** + * *Optional* If set to `true`, the server will attempt to filter out + * profanities, replacing all but the initial character in each filtered + * word with asterisks, e.g. "f***". If set to `false` or omitted, + * profanities won't be filtered out. + */ + filterProfanity?: boolean; + /** + * *Required* The language of the supplied audio as a + * [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. + * Example: "en-US". See [Language + * Support](https://cloud.google.com/speech/docs/languages) for a list of + * the currently supported language codes. + */ + languageCode?: string; + /** + * *Optional* Maximum number of recognition hypotheses to be returned. + * Specifically, the maximum number of `SpeechRecognitionAlternative` + * messages within each `SpeechRecognitionResult`. The server may return + * fewer than `max_alternatives`. Valid values are `0`-`30`. A value of `0` + * or `1` will return a maximum of one. If omitted, will return a maximum of + * one. + */ + maxAlternatives?: number; + /** + * *Optional* A means to provide context to assist the speech recognition. + */ + speechContexts?: Schema$GoogleCloudVideointelligenceV1p1beta1_SpeechContext[]; + } + /** + * Annotation progress for a single video. + */ + interface Schema$GoogleCloudVideointelligenceV1p1beta1_VideoAnnotationProgress { + /** + * Video file location in [Google Cloud + * Storage](https://cloud.google.com/storage/). + */ + inputUri?: string; + /** + * Approximate percentage processed thus far. Guaranteed to be 100 when + * fully processed. + */ + progressPercent?: number; + /** + * Time when the request was received. + */ + startTime?: string; + /** + * Time of the most recent update. + */ + updateTime?: string; + } + /** + * Annotation results for a single video. + */ + interface Schema$GoogleCloudVideointelligenceV1p1beta1_VideoAnnotationResults { + /** + * If set, indicates an error. Note that for a single `AnnotateVideoRequest` + * some videos may succeed and some may fail. + */ + error?: Schema$GoogleRpc_Status; + /** + * Explicit content annotation. + */ + explicitAnnotation?: Schema$GoogleCloudVideointelligenceV1p1beta1_ExplicitContentAnnotation; + /** + * Label annotations on frame level. There is exactly one element for each + * unique label. + */ + frameLabelAnnotations?: Schema$GoogleCloudVideointelligenceV1p1beta1_LabelAnnotation[]; + /** + * Video file location in [Google Cloud + * Storage](https://cloud.google.com/storage/). + */ + inputUri?: string; + /** + * Label annotations on video level or user specified segment level. There + * is exactly one element for each unique label. + */ + segmentLabelAnnotations?: Schema$GoogleCloudVideointelligenceV1p1beta1_LabelAnnotation[]; + /** + * Shot annotations. Each shot is represented as a video segment. + */ + shotAnnotations?: Schema$GoogleCloudVideointelligenceV1p1beta1_VideoSegment[]; + /** + * Label annotations on shot level. There is exactly one element for each + * unique label. + */ + shotLabelAnnotations?: Schema$GoogleCloudVideointelligenceV1p1beta1_LabelAnnotation[]; + /** + * Speech transcription. + */ + speechTranscriptions?: Schema$GoogleCloudVideointelligenceV1p1beta1_SpeechTranscription[]; + } + /** + * Video context and/or feature-specific parameters. + */ + interface Schema$GoogleCloudVideointelligenceV1p1beta1_VideoContext { + /** + * Config for EXPLICIT_CONTENT_DETECTION. + */ + explicitContentDetectionConfig?: Schema$GoogleCloudVideointelligenceV1p1beta1_ExplicitContentDetectionConfig; + /** + * Config for LABEL_DETECTION. + */ + labelDetectionConfig?: Schema$GoogleCloudVideointelligenceV1p1beta1_LabelDetectionConfig; + /** + * Video segments to annotate. The segments may overlap and are not required + * to be contiguous or span the whole video. If unspecified, each video is + * treated as a single segment. + */ + segments?: Schema$GoogleCloudVideointelligenceV1p1beta1_VideoSegment[]; + /** + * Config for SHOT_CHANGE_DETECTION. + */ + shotChangeDetectionConfig?: Schema$GoogleCloudVideointelligenceV1p1beta1_ShotChangeDetectionConfig; + /** + * Config for SPEECH_TRANSCRIPTION. + */ + speechTranscriptionConfig?: Schema$GoogleCloudVideointelligenceV1p1beta1_SpeechTranscriptionConfig; + } + /** + * Video segment. + */ + interface Schema$GoogleCloudVideointelligenceV1p1beta1_VideoSegment { + /** + * Time-offset, relative to the beginning of the video, corresponding to the + * end of the segment (inclusive). + */ + endTimeOffset?: string; + /** + * Time-offset, relative to the beginning of the video, corresponding to the + * start of the segment (inclusive). + */ + startTimeOffset?: string; + } + /** + * Word-specific information for recognized words. Word information is only + * included in the response when certain request parameters are set, such as + * `enable_word_time_offsets`. + */ + interface Schema$GoogleCloudVideointelligenceV1p1beta1_WordInfo { + /** + * Time offset relative to the beginning of the audio, and corresponding to + * the end of the spoken word. This field is only set if + * `enable_word_time_offsets=true` and only in the top hypothesis. This is + * an experimental feature and the accuracy of the time offset can vary. + */ + endTime?: string; + /** + * Time offset relative to the beginning of the audio, and corresponding to + * the start of the spoken word. This field is only set if + * `enable_word_time_offsets=true` and only in the top hypothesis. This is + * an experimental feature and the accuracy of the time offset can vary. + */ + startTime?: string; + /** + * The word corresponding to this set of information. + */ + word?: string; + } + /** + * Video annotation progress. Included in the `metadata` field of the + * `Operation` returned by the `GetOperation` call of the + * `google::longrunning::Operations` service. + */ + interface Schema$GoogleCloudVideointelligenceV1_AnnotateVideoProgress { + /** + * Progress metadata for all videos specified in `AnnotateVideoRequest`. + */ + annotationProgress?: Schema$GoogleCloudVideointelligenceV1_VideoAnnotationProgress[]; + } + /** + * Video annotation response. Included in the `response` field of the + * `Operation` returned by the `GetOperation` call of the + * `google::longrunning::Operations` service. + */ + interface Schema$GoogleCloudVideointelligenceV1_AnnotateVideoResponse { + /** + * Annotation results for all videos specified in `AnnotateVideoRequest`. + */ + annotationResults?: Schema$GoogleCloudVideointelligenceV1_VideoAnnotationResults[]; + } + /** + * Detected entity from video analysis. + */ + interface Schema$GoogleCloudVideointelligenceV1_Entity { + /** + * Textual description, e.g. `Fixed-gear bicycle`. + */ + description?: string; + /** + * Opaque entity ID. Some IDs may be available in [Google Knowledge Graph + * Search API](https://developers.google.com/knowledge-graph/). + */ + entityId?: string; + /** + * Language code for `description` in BCP-47 format. + */ + languageCode?: string; + } + /** + * Explicit content annotation (based on per-frame visual signals only). If no + * explicit content has been detected in a frame, no annotations are present + * for that frame. + */ + interface Schema$GoogleCloudVideointelligenceV1_ExplicitContentAnnotation { + /** + * All video frames where explicit content was detected. + */ + frames?: Schema$GoogleCloudVideointelligenceV1_ExplicitContentFrame[]; + } + /** + * Video frame level annotation results for explicit content. + */ + interface Schema$GoogleCloudVideointelligenceV1_ExplicitContentFrame { + /** + * Likelihood of the pornography content.. + */ + pornographyLikelihood?: string; + /** + * Time-offset, relative to the beginning of the video, corresponding to the + * video frame for this location. + */ + timeOffset?: string; + } + /** + * Label annotation. + */ + interface Schema$GoogleCloudVideointelligenceV1_LabelAnnotation { + /** + * Common categories for the detected entity. E.g. when the label is + * `Terrier` the category is likely `dog`. And in some cases there might be + * more than one categories e.g. `Terrier` could also be a `pet`. + */ + categoryEntities?: Schema$GoogleCloudVideointelligenceV1_Entity[]; + /** + * Detected entity. + */ + entity?: Schema$GoogleCloudVideointelligenceV1_Entity; + /** + * All video frames where a label was detected. + */ + frames?: Schema$GoogleCloudVideointelligenceV1_LabelFrame[]; + /** + * All video segments where a label was detected. + */ + segments?: Schema$GoogleCloudVideointelligenceV1_LabelSegment[]; + } + /** + * Video frame level annotation results for label detection. + */ + interface Schema$GoogleCloudVideointelligenceV1_LabelFrame { + /** + * Confidence that the label is accurate. Range: [0, 1]. + */ + confidence?: number; + /** + * Time-offset, relative to the beginning of the video, corresponding to the + * video frame for this location. + */ + timeOffset?: string; + } + /** + * Video segment level annotation results for label detection. + */ + interface Schema$GoogleCloudVideointelligenceV1_LabelSegment { + /** + * Confidence that the label is accurate. Range: [0, 1]. + */ + confidence?: number; + /** + * Video segment where a label was detected. + */ + segment?: Schema$GoogleCloudVideointelligenceV1_VideoSegment; + } + /** + * Annotation progress for a single video. + */ + interface Schema$GoogleCloudVideointelligenceV1_VideoAnnotationProgress { + /** + * Video file location in [Google Cloud + * Storage](https://cloud.google.com/storage/). + */ + inputUri?: string; + /** + * Approximate percentage processed thus far. Guaranteed to be 100 when + * fully processed. + */ + progressPercent?: number; + /** + * Time when the request was received. + */ + startTime?: string; + /** + * Time of the most recent update. + */ + updateTime?: string; + } + /** + * Annotation results for a single video. + */ + interface Schema$GoogleCloudVideointelligenceV1_VideoAnnotationResults { + /** + * If set, indicates an error. Note that for a single `AnnotateVideoRequest` + * some videos may succeed and some may fail. + */ + error?: Schema$GoogleRpc_Status; + /** + * Explicit content annotation. + */ + explicitAnnotation?: Schema$GoogleCloudVideointelligenceV1_ExplicitContentAnnotation; + /** + * Label annotations on frame level. There is exactly one element for each + * unique label. + */ + frameLabelAnnotations?: Schema$GoogleCloudVideointelligenceV1_LabelAnnotation[]; + /** + * Video file location in [Google Cloud + * Storage](https://cloud.google.com/storage/). + */ + inputUri?: string; + /** + * Label annotations on video level or user specified segment level. There + * is exactly one element for each unique label. + */ + segmentLabelAnnotations?: Schema$GoogleCloudVideointelligenceV1_LabelAnnotation[]; + /** + * Shot annotations. Each shot is represented as a video segment. + */ + shotAnnotations?: Schema$GoogleCloudVideointelligenceV1_VideoSegment[]; + /** + * Label annotations on shot level. There is exactly one element for each + * unique label. + */ + shotLabelAnnotations?: Schema$GoogleCloudVideointelligenceV1_LabelAnnotation[]; + } + /** + * Video segment. + */ + interface Schema$GoogleCloudVideointelligenceV1_VideoSegment { + /** + * Time-offset, relative to the beginning of the video, corresponding to the + * end of the segment (inclusive). + */ + endTimeOffset?: string; + /** + * Time-offset, relative to the beginning of the video, corresponding to the + * start of the segment (inclusive). + */ + startTimeOffset?: string; + } + /** + * This resource represents a long-running operation that is the result of a + * network API call. + */ + interface Schema$GoogleLongrunning_Operation { + /** + * If the value is `false`, it means the operation is still in progress. If + * `true`, the operation is completed, and either `error` or `response` is + * available. + */ + done?: boolean; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$GoogleRpc_Status; + /** + * Service-specific metadata associated with the operation. It typically + * contains progress information and common metadata such as create time. + * Some services might not provide such metadata. Any method that returns a + * long-running operation should document the metadata type, if any. + */ + metadata?: any; + /** + * The server-assigned name, which is only unique within the same service + * that originally returns it. If you use the default HTTP mapping, the + * `name` should have the format of `operations/some/unique/name`. + */ + name?: string; + /** + * The normal response of the operation in case of success. If the original + * method returns no data on success, such as `Delete`, the response is + * `google.protobuf.Empty`. If the original method is standard + * `Get`/`Create`/`Update`, the response should be the resource. For other + * methods, the response should have the type `XxxResponse`, where `Xxx` is + * the original method name. For example, if the original method name is + * `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: any; + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$GoogleRpc_Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + class Resource$Videos { + root: Videointelligence; + constructor(root: Videointelligence); + getRoot(): Videointelligence; + /** + * videointelligence.videos.annotate + * @desc Performs asynchronous video annotation. Progress and results can be + * retrieved through the `google.longrunning.Operations` interface. + * `Operation.metadata` contains `AnnotateVideoProgress` (progress). + * `Operation.response` contains `AnnotateVideoResponse` (results). + * @alias videointelligence.videos.annotate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().GoogleCloudVideointelligenceV1p1beta1_AnnotateVideoRequest} 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 + */ + annotate(params?: Params$Resource$Videos$Annotate, options?: MethodOptions): AxiosPromise; + annotate(params: Params$Resource$Videos$Annotate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + annotate(params: Params$Resource$Videos$Annotate, callback: BodyResponseCallback): void; + annotate(callback: BodyResponseCallback): void; + } + interface Params$Resource$Videos$Annotate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudVideointelligenceV1p1beta1_AnnotateVideoRequest; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/videointelligence/v1p1beta1.js b/express-server/node_modules/googleapis/build/src/apis/videointelligence/v1p1beta1.js new file mode 100644 index 00000000..df7e7747 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/videointelligence/v1p1beta1.js @@ -0,0 +1,96 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var videointelligence_v1p1beta1; +(function (videointelligence_v1p1beta1) { + /** + * Cloud Video Intelligence API + * + * Cloud Video Intelligence API. + * + * @example + * const {google} = require('googleapis'); + * const videointelligence = google.videointelligence('v1p1beta1'); + * + * @namespace videointelligence + * @type {Function} + * @version v1p1beta1 + * @variation v1p1beta1 + * @param {object=} options Options for Videointelligence + */ + class Videointelligence { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.videos = new Resource$Videos(this); + } + getRoot() { + return this.root; + } + } + videointelligence_v1p1beta1.Videointelligence = Videointelligence; + class Resource$Videos { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + annotate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://videointelligence.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1p1beta1/videos:annotate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + videointelligence_v1p1beta1.Resource$Videos = Resource$Videos; +})(videointelligence_v1p1beta1 = exports.videointelligence_v1p1beta1 || (exports.videointelligence_v1p1beta1 = {})); +//# sourceMappingURL=v1p1beta1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/videointelligence/v1p1beta1.js.map b/express-server/node_modules/googleapis/build/src/apis/videointelligence/v1p1beta1.js.map new file mode 100644 index 00000000..5d9e6b5c --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/videointelligence/v1p1beta1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1p1beta1.js","sourceRoot":"","sources":["../../../../src/apis/videointelligence/v1p1beta1.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAIH,yDAA2H;AAE3H,yBAAyB;AACzB,6BAA6B;AAC7B,gCAAgC;AAChC,+BAA+B;AAC/B,+BAA+B;AAE/B,IAAiB,2BAA2B,CAwjC3C;AAxjCD,WAAiB,2BAA2B;IAK1C;;;;;;;;;;;;;;OAcG;IACH,MAAa,iBAAiB;QAO5B,YAAY,OAAsB,EAAE,MAA2B;YAJ/D,SAAI,GAAG,IAAI,CAAC;YAKV,IAAI,CAAC,QAAQ,GAAG,OAAO,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAExB,IAAI,CAAC,MAAM,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;KACF;IAlBY,6CAAiB,oBAkB7B,CAAA;IA86BD,MAAa,eAAe;QAE1B,YAAY,IAAuB;YACjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAiCD,QAAQ,CACJ,gBACwD,EACxD,iBACwD,EACxD,QAAmE;YAErE,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAoC,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqC,CAAC;gBAC/C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GACT,OAAO,CAAC,OAAO,IAAI,2CAA2C,CAAC;YACnE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,4BAA4B,CAAC;yBACnC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,EAAE;gBAClB,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CACZ,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,oCAAgB,CAAqC,UAAU,CAAC,CAAC;aACzE;QACH,CAAC;KACF;IArFY,2CAAe,kBAqF3B,CAAA;AAeH,CAAC,EAxjCgB,2BAA2B,GAA3B,mCAA2B,KAA3B,mCAA2B,QAwjC3C"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/vision/README.md b/express-server/node_modules/googleapis/build/src/apis/vision/README.md new file mode 100644 index 00000000..de3ea1e1 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/vision/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/vision + +> Integrates Google Vision features, including image labeling, face, logo, and landmark detection, optical character recognition (OCR), and detection of explicit content, into applications. + +## Installation + +```sh +$ npm install @google/vision +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/vision/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/vision/index.d.ts new file mode 100644 index 00000000..8335a7b9 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/vision/index.d.ts @@ -0,0 +1,14 @@ +import { vision_v1 } from './v1'; +import { vision_v1p1beta1 } from './v1p1beta1'; +import { vision_v1p2beta1 } from './v1p2beta1'; +export declare const VERSIONS: { + 'v1': typeof vision_v1.Vision; + 'v1p1beta1': typeof vision_v1p1beta1.Vision; + 'v1p2beta1': typeof vision_v1p2beta1.Vision; +}; +export declare function vision(version: 'v1'): vision_v1.Vision; +export declare function vision(options: vision_v1.Options): vision_v1.Vision; +export declare function vision(version: 'v1p1beta1'): vision_v1p1beta1.Vision; +export declare function vision(options: vision_v1p1beta1.Options): vision_v1p1beta1.Vision; +export declare function vision(version: 'v1p2beta1'): vision_v1p2beta1.Vision; +export declare function vision(options: vision_v1p2beta1.Options): vision_v1p2beta1.Vision; diff --git a/express-server/node_modules/googleapis/build/src/apis/vision/index.js b/express-server/node_modules/googleapis/build/src/apis/vision/index.js new file mode 100644 index 00000000..8566e06d --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/vision/index.js @@ -0,0 +1,29 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +const v1p1beta1_1 = require("./v1p1beta1"); +const v1p2beta1_1 = require("./v1p2beta1"); +exports.VERSIONS = { + 'v1': v1_1.vision_v1.Vision, + 'v1p1beta1': v1p1beta1_1.vision_v1p1beta1.Vision, + 'v1p2beta1': v1p2beta1_1.vision_v1p2beta1.Vision, +}; +function vision(versionOrOptions) { + return googleapis_common_1.getAPI('vision', versionOrOptions, exports.VERSIONS, this); +} +exports.vision = vision; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/vision/index.js.map b/express-server/node_modules/googleapis/build/src/apis/vision/index.js.map new file mode 100644 index 00000000..37541208 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/vision/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/vision/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAA+B;AAC/B,2CAA6C;AAC7C,2CAA6C;AAEhC,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,cAAS,CAAC,MAAM;IACtB,WAAW,EAAE,4BAAgB,CAAC,MAAM;IACpC,WAAW,EAAE,4BAAgB,CAAC,MAAM;CACrC,CAAC;AAUF,SAAgB,MAAM,CAGlB,gBAC6D;IAC/D,OAAO,0BAAM,CAAI,QAAQ,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAC/D,CAAC;AAND,wBAMC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/vision/package.json b/express-server/node_modules/googleapis/build/src/apis/vision/package.json new file mode 100644 index 00000000..5a8b8a64 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/vision/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/vision", + "version": "0.1.0", + "description": "vision", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/vision/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/vision/v1.d.ts new file mode 100644 index 00000000..d1db4b4e --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/vision/v1.d.ts @@ -0,0 +1,4361 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace vision_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Cloud Vision API + * + * Integrates Google Vision features, including image labeling, face, logo, + * and landmark detection, optical character recognition (OCR), and detection + * of explicit content, into applications. + * + * @example + * const {google} = require('googleapis'); + * const vision = google.vision('v1'); + * + * @namespace vision + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Vision + */ + class Vision { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + files: Resource$Files; + images: Resource$Images; + locations: Resource$Locations; + operations: Resource$Operations; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Response to a single file annotation request. A file may contain one or + * more images, which individually have their own responses. + */ + interface Schema$AnnotateFileResponse { + /** + * Information about the file for which this response is generated. + */ + inputConfig?: Schema$InputConfig; + /** + * Individual responses to images found within the file. + */ + responses?: Schema$AnnotateImageResponse[]; + } + /** + * Request for performing Google Cloud Vision API tasks over a user-provided + * image, with user-requested features. + */ + interface Schema$AnnotateImageRequest { + /** + * Requested features. + */ + features?: Schema$Feature[]; + /** + * The image to be processed. + */ + image?: Schema$Image; + /** + * Additional context that may accompany the image. + */ + imageContext?: Schema$ImageContext; + } + /** + * Response to an image annotation request. + */ + interface Schema$AnnotateImageResponse { + /** + * If present, contextual information is needed to understand where this + * image comes from. + */ + context?: Schema$ImageAnnotationContext; + /** + * If present, crop hints have completed successfully. + */ + cropHintsAnnotation?: Schema$CropHintsAnnotation; + /** + * If set, represents the error message for the operation. Note that + * filled-in image annotations are guaranteed to be correct, even when + * `error` is set. + */ + error?: Schema$Status; + /** + * If present, face detection has completed successfully. + */ + faceAnnotations?: Schema$FaceAnnotation[]; + /** + * If present, text (OCR) detection or document (OCR) text detection has + * completed successfully. This annotation provides the structural hierarchy + * for the OCR detected text. + */ + fullTextAnnotation?: Schema$TextAnnotation; + /** + * If present, image properties were extracted successfully. + */ + imagePropertiesAnnotation?: Schema$ImageProperties; + /** + * If present, label detection has completed successfully. + */ + labelAnnotations?: Schema$EntityAnnotation[]; + /** + * If present, landmark detection has completed successfully. + */ + landmarkAnnotations?: Schema$EntityAnnotation[]; + /** + * If present, localized object detection has completed successfully. This + * will be sorted descending by confidence score. + */ + localizedObjectAnnotations?: Schema$LocalizedObjectAnnotation[]; + /** + * If present, logo detection has completed successfully. + */ + logoAnnotations?: Schema$EntityAnnotation[]; + /** + * If present, safe-search annotation has completed successfully. + */ + safeSearchAnnotation?: Schema$SafeSearchAnnotation; + /** + * If present, text (OCR) detection has completed successfully. + */ + textAnnotations?: Schema$EntityAnnotation[]; + /** + * If present, web detection has completed successfully. + */ + webDetection?: Schema$WebDetection; + } + /** + * An offline file annotation request. + */ + interface Schema$AsyncAnnotateFileRequest { + /** + * Required. Requested features. + */ + features?: Schema$Feature[]; + /** + * Additional context that may accompany the image(s) in the file. + */ + imageContext?: Schema$ImageContext; + /** + * Required. Information about the input file. + */ + inputConfig?: Schema$InputConfig; + /** + * Required. The desired output location and metadata (e.g. format). + */ + outputConfig?: Schema$OutputConfig; + } + /** + * The response for a single offline file annotation request. + */ + interface Schema$AsyncAnnotateFileResponse { + /** + * The output location and metadata from AsyncAnnotateFileRequest. + */ + outputConfig?: Schema$OutputConfig; + } + /** + * Multiple async file annotation requests are batched into a single service + * call. + */ + interface Schema$AsyncBatchAnnotateFilesRequest { + /** + * Individual async file annotation requests for this batch. + */ + requests?: Schema$AsyncAnnotateFileRequest[]; + } + /** + * Response to an async batch file annotation request. + */ + interface Schema$AsyncBatchAnnotateFilesResponse { + /** + * The list of file annotation responses, one for each request in + * AsyncBatchAnnotateFilesRequest. + */ + responses?: Schema$AsyncAnnotateFileResponse[]; + } + /** + * Multiple image annotation requests are batched into a single service call. + */ + interface Schema$BatchAnnotateImagesRequest { + /** + * Individual image annotation requests for this batch. + */ + requests?: Schema$AnnotateImageRequest[]; + } + /** + * Response to a batch image annotation request. + */ + interface Schema$BatchAnnotateImagesResponse { + /** + * Individual responses to image annotation requests within the batch. + */ + responses?: Schema$AnnotateImageResponse[]; + } + /** + * Logical element on the page. + */ + interface Schema$Block { + /** + * Detected block type (text, image etc) for this block. + */ + blockType?: string; + /** + * The bounding box for the block. The vertices are in the order of + * top-left, top-right, bottom-right, bottom-left. When a rotation of the + * bounding box is detected the rotation is represented as around the + * top-left corner as defined when the text is read in the 'natural' + * orientation. For example: * when the text is horizontal it might look + * like: 0----1 | | 3----2 * when it's + * rotated 180 degrees around the top-left corner it becomes: 2----3 | | + * 1----0 and the vertice order will still be (0, 1, 2, 3). + */ + boundingBox?: Schema$BoundingPoly; + /** + * Confidence of the OCR results on the block. Range [0, 1]. + */ + confidence?: number; + /** + * List of paragraphs in this block (if this blocks is of type text). + */ + paragraphs?: Schema$Paragraph[]; + /** + * Additional information detected for the block. + */ + property?: Schema$TextProperty; + } + /** + * A bounding polygon for the detected image annotation. + */ + interface Schema$BoundingPoly { + /** + * The bounding polygon normalized vertices. + */ + normalizedVertices?: Schema$NormalizedVertex[]; + /** + * The bounding polygon vertices. + */ + vertices?: Schema$Vertex[]; + } + /** + * The request message for Operations.CancelOperation. + */ + interface Schema$CancelOperationRequest { + } + /** + * Represents a color in the RGBA color space. This representation is designed + * for simplicity of conversion to/from color representations in various + * languages over compactness; for example, the fields of this representation + * can be trivially provided to the constructor of "java.awt.Color" + * in Java; it can also be trivially provided to UIColor's + * "+colorWithRed:green:blue:alpha" method in iOS; and, with just a + * little work, it can be easily formatted into a CSS "rgba()" + * string in JavaScript, as well. Here are some examples: Example (Java): + * import com.google.type.Color; // ... public static + * java.awt.Color fromProto(Color protocolor) { float alpha = + * protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; + * return new java.awt.Color( protocolor.getRed(), + * protocolor.getGreen(), protocolor.getBlue(), alpha); + * } public static Color toProto(java.awt.Color color) { float + * red = (float) color.getRed(); float green = (float) + * color.getGreen(); float blue = (float) color.getBlue(); float + * denominator = 255.0; Color.Builder resultBuilder = Color + * .newBuilder() .setRed(red / denominator) .setGreen(green / + * denominator) .setBlue(blue / denominator); int alpha + * = color.getAlpha(); if (alpha != 255) { result.setAlpha( + * FloatValue .newBuilder() .setValue(((float) alpha) / + * denominator) .build()); } return + * resultBuilder.build(); } // ... Example (iOS / Obj-C): // + * ... static UIColor* fromProto(Color* protocolor) { float red = + * [protocolor red]; float green = [protocolor green]; float + * blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor + * alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { + * alpha = [alpha_wrapper value]; } return [UIColor + * colorWithRed:red green:green blue:blue alpha:alpha]; } static + * Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; + * if (![color getRed:&red green:&green blue:&blue + * alpha:&alpha]) { return nil; } Color* + * result = [[Color alloc] init]; [result setRed:red]; [result + * setGreen:green]; [result setBlue:blue]; if (alpha <= + * 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } + * [result autorelease]; return result; } // ... Example + * (JavaScript): // ... var protoToCssColor = function(rgb_color) { + * var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green + * || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = + * Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); + * var blue = Math.floor(blueFrac * 255); if (!('alpha' in + * rgb_color)) { return rgbToCssColor_(red, green, blue); } + * var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, + * green, blue].join(','); return ['rgba(', rgbParams, + * ',', alphaFrac, ')'].join(''); }; var + * rgbToCssColor_ = function(red, green, blue) { var rgbNumber = new + * Number((red << 16) | (green << 8) | blue); var hexString + * = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; + * var resultBuilder = ['#']; for (var i = 0; i < + * missingZeros; i++) { resultBuilder.push('0'); } + * resultBuilder.push(hexString); return resultBuilder.join(''); + * }; // ... + */ + interface Schema$Color { + /** + * The fraction of this color that should be applied to the pixel. That is, + * the final pixel color is defined by the equation: pixel color = alpha + * * (this color) + (1.0 - alpha) * (background color) This means that a + * value of 1.0 corresponds to a solid color, whereas a value of 0.0 + * corresponds to a completely transparent color. This uses a wrapper + * message rather than a simple float scalar so that it is possible to + * distinguish between a default value and the value being unset. If + * omitted, this color object is to be rendered as a solid color (as if the + * alpha value had been explicitly given with a value of 1.0). + */ + alpha?: number; + /** + * The amount of blue in the color as a value in the interval [0, 1]. + */ + blue?: number; + /** + * The amount of green in the color as a value in the interval [0, 1]. + */ + green?: number; + /** + * The amount of red in the color as a value in the interval [0, 1]. + */ + red?: number; + } + /** + * Color information consists of RGB channels, score, and the fraction of the + * image that the color occupies in the image. + */ + interface Schema$ColorInfo { + /** + * RGB components of the color. + */ + color?: Schema$Color; + /** + * The fraction of pixels the color occupies in the image. Value in range + * [0, 1]. + */ + pixelFraction?: number; + /** + * Image-specific score for this color. Value in range [0, 1]. + */ + score?: number; + } + /** + * Single crop hint that is used to generate a new crop when serving an image. + */ + interface Schema$CropHint { + /** + * The bounding polygon for the crop region. The coordinates of the bounding + * box are in the original image's scale, as returned in `ImageParams`. + */ + boundingPoly?: Schema$BoundingPoly; + /** + * Confidence of this being a salient region. Range [0, 1]. + */ + confidence?: number; + /** + * Fraction of importance of this salient region with respect to the + * original image. + */ + importanceFraction?: number; + } + /** + * Set of crop hints that are used to generate new crops when serving images. + */ + interface Schema$CropHintsAnnotation { + /** + * Crop hint results. + */ + cropHints?: Schema$CropHint[]; + } + /** + * Parameters for crop hints annotation request. + */ + interface Schema$CropHintsParams { + /** + * Aspect ratios in floats, representing the ratio of the width to the + * height of the image. For example, if the desired aspect ratio is 4/3, the + * corresponding float value should be 1.33333. If not specified, the best + * possible crop is returned. The number of provided aspect ratios is + * limited to a maximum of 16; any aspect ratios provided after the 16th are + * ignored. + */ + aspectRatios?: number[]; + } + /** + * Detected start or end of a structural component. + */ + interface Schema$DetectedBreak { + /** + * True if break prepends the element. + */ + isPrefix?: boolean; + /** + * Detected break type. + */ + type?: string; + } + /** + * Detected language for a structural component. + */ + interface Schema$DetectedLanguage { + /** + * Confidence of detected language. Range [0, 1]. + */ + confidence?: number; + /** + * The BCP-47 language code, such as "en-US" or + * "sr-Latn". For more information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + */ + languageCode?: string; + } + /** + * Set of dominant colors and their corresponding scores. + */ + interface Schema$DominantColorsAnnotation { + /** + * RGB color values with their score and pixel fraction. + */ + colors?: Schema$ColorInfo[]; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * Set of detected entity features. + */ + interface Schema$EntityAnnotation { + /** + * Image region to which this entity belongs. Not produced for + * `LABEL_DETECTION` features. + */ + boundingPoly?: Schema$BoundingPoly; + /** + * **Deprecated. Use `score` instead.** The accuracy of the entity detection + * in an image. For example, for an image in which the "Eiffel + * Tower" entity is detected, this field represents the confidence that + * there is a tower in the query image. Range [0, 1]. + */ + confidence?: number; + /** + * Entity textual description, expressed in its `locale` language. + */ + description?: string; + /** + * The language code for the locale in which the entity textual + * `description` is expressed. + */ + locale?: string; + /** + * The location information for the detected entity. Multiple `LocationInfo` + * elements can be present because one location may indicate the location of + * the scene in the image, and another location may indicate the location of + * the place where the image was taken. Location information is usually + * present for landmarks. + */ + locations?: Schema$LocationInfo[]; + /** + * Opaque entity ID. Some IDs may be available in [Google Knowledge Graph + * Search API](https://developers.google.com/knowledge-graph/). + */ + mid?: string; + /** + * Some entities may have optional user-supplied `Property` (name/value) + * fields, such a score or string that qualifies the entity. + */ + properties?: Schema$Property[]; + /** + * Overall score of the result. Range [0, 1]. + */ + score?: number; + /** + * The relevancy of the ICA (Image Content Annotation) label to the image. + * For example, the relevancy of "tower" is likely higher to an + * image containing the detected "Eiffel Tower" than to an image + * containing a detected distant towering building, even though the + * confidence that there is a tower in each image may be the same. Range [0, + * 1]. + */ + topicality?: number; + } + /** + * A face annotation object contains the results of face detection. + */ + interface Schema$FaceAnnotation { + /** + * Anger likelihood. + */ + angerLikelihood?: string; + /** + * Blurred likelihood. + */ + blurredLikelihood?: string; + /** + * The bounding polygon around the face. The coordinates of the bounding box + * are in the original image's scale, as returned in `ImageParams`. The + * bounding box is computed to "frame" the face in accordance with + * human expectations. It is based on the landmarker results. Note that one + * or more x and/or y coordinates may not be generated in the `BoundingPoly` + * (the polygon will be unbounded) if only a partial face appears in the + * image to be annotated. + */ + boundingPoly?: Schema$BoundingPoly; + /** + * Detection confidence. Range [0, 1]. + */ + detectionConfidence?: number; + /** + * The `fd_bounding_poly` bounding polygon is tighter than the + * `boundingPoly`, and encloses only the skin part of the face. Typically, + * it is used to eliminate the face from any image analysis that detects the + * "amount of skin" visible in an image. It is not based on the + * landmarker results, only on the initial face detection, hence the + * <code>fd</code> (face detection) prefix. + */ + fdBoundingPoly?: Schema$BoundingPoly; + /** + * Headwear likelihood. + */ + headwearLikelihood?: string; + /** + * Joy likelihood. + */ + joyLikelihood?: string; + /** + * Face landmarking confidence. Range [0, 1]. + */ + landmarkingConfidence?: number; + /** + * Detected face landmarks. + */ + landmarks?: Schema$Landmark[]; + /** + * Yaw angle, which indicates the leftward/rightward angle that the face is + * pointing relative to the vertical plane perpendicular to the image. Range + * [-180,180]. + */ + panAngle?: number; + /** + * Roll angle, which indicates the amount of clockwise/anti-clockwise + * rotation of the face relative to the image vertical about the axis + * perpendicular to the face. Range [-180,180]. + */ + rollAngle?: number; + /** + * Sorrow likelihood. + */ + sorrowLikelihood?: string; + /** + * Surprise likelihood. + */ + surpriseLikelihood?: string; + /** + * Pitch angle, which indicates the upwards/downwards angle that the face is + * pointing relative to the image's horizontal plane. Range [-180,180]. + */ + tiltAngle?: number; + /** + * Under-exposed likelihood. + */ + underExposedLikelihood?: string; + } + /** + * The type of Google Cloud Vision API detection to perform, and the maximum + * number of results to return for that type. Multiple `Feature` objects can + * be specified in the `features` list. + */ + interface Schema$Feature { + /** + * Maximum number of results of this type. Does not apply to + * `TEXT_DETECTION`, `DOCUMENT_TEXT_DETECTION`, or `CROP_HINTS`. + */ + maxResults?: number; + /** + * Model to use for the feature. Supported values: + * "builtin/stable" (the default if unset) and + * "builtin/latest". + */ + model?: string; + /** + * The feature type. + */ + type?: string; + } + /** + * The Google Cloud Storage location where the output will be written to. + */ + interface Schema$GcsDestination { + /** + * Google Cloud Storage URI where the results will be stored. Results will + * be in JSON format and preceded by its corresponding input URI. This field + * can either represent a single file, or a prefix for multiple outputs. + * Prefixes must end in a `/`. Examples: * File: + * gs://bucket-name/filename.json * Prefix: gs://bucket-name/prefix/here/ + * * File: gs://bucket-name/prefix/here If multiple outputs, each + * response is still AnnotateFileResponse, each of which contains some + * subset of the full list of AnnotateImageResponse. Multiple outputs can + * happen if, for example, the output JSON is too large and overflows into + * multiple sharded files. + */ + uri?: string; + } + /** + * The Google Cloud Storage location where the input will be read from. + */ + interface Schema$GcsSource { + /** + * Google Cloud Storage URI for the input file. This must only be a Google + * Cloud Storage object. Wildcards are not currently supported. + */ + uri?: string; + } + /** + * Response to a single file annotation request. A file may contain one or + * more images, which individually have their own responses. + */ + interface Schema$GoogleCloudVisionV1p1beta1AnnotateFileResponse { + /** + * Information about the file for which this response is generated. + */ + inputConfig?: Schema$GoogleCloudVisionV1p1beta1InputConfig; + /** + * Individual responses to images found within the file. + */ + responses?: Schema$GoogleCloudVisionV1p1beta1AnnotateImageResponse[]; + } + /** + * Response to an image annotation request. + */ + interface Schema$GoogleCloudVisionV1p1beta1AnnotateImageResponse { + /** + * If present, contextual information is needed to understand where this + * image comes from. + */ + context?: Schema$GoogleCloudVisionV1p1beta1ImageAnnotationContext; + /** + * If present, crop hints have completed successfully. + */ + cropHintsAnnotation?: Schema$GoogleCloudVisionV1p1beta1CropHintsAnnotation; + /** + * If set, represents the error message for the operation. Note that + * filled-in image annotations are guaranteed to be correct, even when + * `error` is set. + */ + error?: Schema$Status; + /** + * If present, face detection has completed successfully. + */ + faceAnnotations?: Schema$GoogleCloudVisionV1p1beta1FaceAnnotation[]; + /** + * If present, text (OCR) detection or document (OCR) text detection has + * completed successfully. This annotation provides the structural hierarchy + * for the OCR detected text. + */ + fullTextAnnotation?: Schema$GoogleCloudVisionV1p1beta1TextAnnotation; + /** + * If present, image properties were extracted successfully. + */ + imagePropertiesAnnotation?: Schema$GoogleCloudVisionV1p1beta1ImageProperties; + /** + * If present, label detection has completed successfully. + */ + labelAnnotations?: Schema$GoogleCloudVisionV1p1beta1EntityAnnotation[]; + /** + * If present, landmark detection has completed successfully. + */ + landmarkAnnotations?: Schema$GoogleCloudVisionV1p1beta1EntityAnnotation[]; + /** + * If present, localized object detection has completed successfully. This + * will be sorted descending by confidence score. + */ + localizedObjectAnnotations?: Schema$GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation[]; + /** + * If present, logo detection has completed successfully. + */ + logoAnnotations?: Schema$GoogleCloudVisionV1p1beta1EntityAnnotation[]; + /** + * If present, safe-search annotation has completed successfully. + */ + safeSearchAnnotation?: Schema$GoogleCloudVisionV1p1beta1SafeSearchAnnotation; + /** + * If present, text (OCR) detection has completed successfully. + */ + textAnnotations?: Schema$GoogleCloudVisionV1p1beta1EntityAnnotation[]; + /** + * If present, web detection has completed successfully. + */ + webDetection?: Schema$GoogleCloudVisionV1p1beta1WebDetection; + } + /** + * The response for a single offline file annotation request. + */ + interface Schema$GoogleCloudVisionV1p1beta1AsyncAnnotateFileResponse { + /** + * The output location and metadata from AsyncAnnotateFileRequest. + */ + outputConfig?: Schema$GoogleCloudVisionV1p1beta1OutputConfig; + } + /** + * Response to an async batch file annotation request. + */ + interface Schema$GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesResponse { + /** + * The list of file annotation responses, one for each request in + * AsyncBatchAnnotateFilesRequest. + */ + responses?: Schema$GoogleCloudVisionV1p1beta1AsyncAnnotateFileResponse[]; + } + /** + * Logical element on the page. + */ + interface Schema$GoogleCloudVisionV1p1beta1Block { + /** + * Detected block type (text, image etc) for this block. + */ + blockType?: string; + /** + * The bounding box for the block. The vertices are in the order of + * top-left, top-right, bottom-right, bottom-left. When a rotation of the + * bounding box is detected the rotation is represented as around the + * top-left corner as defined when the text is read in the 'natural' + * orientation. For example: * when the text is horizontal it might look + * like: 0----1 | | 3----2 * when it's + * rotated 180 degrees around the top-left corner it becomes: 2----3 | | + * 1----0 and the vertice order will still be (0, 1, 2, 3). + */ + boundingBox?: Schema$GoogleCloudVisionV1p1beta1BoundingPoly; + /** + * Confidence of the OCR results on the block. Range [0, 1]. + */ + confidence?: number; + /** + * List of paragraphs in this block (if this blocks is of type text). + */ + paragraphs?: Schema$GoogleCloudVisionV1p1beta1Paragraph[]; + /** + * Additional information detected for the block. + */ + property?: Schema$GoogleCloudVisionV1p1beta1TextAnnotationTextProperty; + } + /** + * A bounding polygon for the detected image annotation. + */ + interface Schema$GoogleCloudVisionV1p1beta1BoundingPoly { + /** + * The bounding polygon vertices. + */ + vertices?: Schema$GoogleCloudVisionV1p1beta1Vertex[]; + } + /** + * Color information consists of RGB channels, score, and the fraction of the + * image that the color occupies in the image. + */ + interface Schema$GoogleCloudVisionV1p1beta1ColorInfo { + /** + * RGB components of the color. + */ + color?: Schema$Color; + /** + * The fraction of pixels the color occupies in the image. Value in range + * [0, 1]. + */ + pixelFraction?: number; + /** + * Image-specific score for this color. Value in range [0, 1]. + */ + score?: number; + } + /** + * Single crop hint that is used to generate a new crop when serving an image. + */ + interface Schema$GoogleCloudVisionV1p1beta1CropHint { + /** + * The bounding polygon for the crop region. The coordinates of the bounding + * box are in the original image's scale, as returned in `ImageParams`. + */ + boundingPoly?: Schema$GoogleCloudVisionV1p1beta1BoundingPoly; + /** + * Confidence of this being a salient region. Range [0, 1]. + */ + confidence?: number; + /** + * Fraction of importance of this salient region with respect to the + * original image. + */ + importanceFraction?: number; + } + /** + * Set of crop hints that are used to generate new crops when serving images. + */ + interface Schema$GoogleCloudVisionV1p1beta1CropHintsAnnotation { + /** + * Crop hint results. + */ + cropHints?: Schema$GoogleCloudVisionV1p1beta1CropHint[]; + } + /** + * Set of dominant colors and their corresponding scores. + */ + interface Schema$GoogleCloudVisionV1p1beta1DominantColorsAnnotation { + /** + * RGB color values with their score and pixel fraction. + */ + colors?: Schema$GoogleCloudVisionV1p1beta1ColorInfo[]; + } + /** + * Set of detected entity features. + */ + interface Schema$GoogleCloudVisionV1p1beta1EntityAnnotation { + /** + * Image region to which this entity belongs. Not produced for + * `LABEL_DETECTION` features. + */ + boundingPoly?: Schema$GoogleCloudVisionV1p1beta1BoundingPoly; + /** + * **Deprecated. Use `score` instead.** The accuracy of the entity detection + * in an image. For example, for an image in which the "Eiffel + * Tower" entity is detected, this field represents the confidence that + * there is a tower in the query image. Range [0, 1]. + */ + confidence?: number; + /** + * Entity textual description, expressed in its `locale` language. + */ + description?: string; + /** + * The language code for the locale in which the entity textual + * `description` is expressed. + */ + locale?: string; + /** + * The location information for the detected entity. Multiple `LocationInfo` + * elements can be present because one location may indicate the location of + * the scene in the image, and another location may indicate the location of + * the place where the image was taken. Location information is usually + * present for landmarks. + */ + locations?: Schema$GoogleCloudVisionV1p1beta1LocationInfo[]; + /** + * Opaque entity ID. Some IDs may be available in [Google Knowledge Graph + * Search API](https://developers.google.com/knowledge-graph/). + */ + mid?: string; + /** + * Some entities may have optional user-supplied `Property` (name/value) + * fields, such a score or string that qualifies the entity. + */ + properties?: Schema$GoogleCloudVisionV1p1beta1Property[]; + /** + * Overall score of the result. Range [0, 1]. + */ + score?: number; + /** + * The relevancy of the ICA (Image Content Annotation) label to the image. + * For example, the relevancy of "tower" is likely higher to an + * image containing the detected "Eiffel Tower" than to an image + * containing a detected distant towering building, even though the + * confidence that there is a tower in each image may be the same. Range [0, + * 1]. + */ + topicality?: number; + } + /** + * A face annotation object contains the results of face detection. + */ + interface Schema$GoogleCloudVisionV1p1beta1FaceAnnotation { + /** + * Anger likelihood. + */ + angerLikelihood?: string; + /** + * Blurred likelihood. + */ + blurredLikelihood?: string; + /** + * The bounding polygon around the face. The coordinates of the bounding box + * are in the original image's scale, as returned in `ImageParams`. The + * bounding box is computed to "frame" the face in accordance with + * human expectations. It is based on the landmarker results. Note that one + * or more x and/or y coordinates may not be generated in the `BoundingPoly` + * (the polygon will be unbounded) if only a partial face appears in the + * image to be annotated. + */ + boundingPoly?: Schema$GoogleCloudVisionV1p1beta1BoundingPoly; + /** + * Detection confidence. Range [0, 1]. + */ + detectionConfidence?: number; + /** + * The `fd_bounding_poly` bounding polygon is tighter than the + * `boundingPoly`, and encloses only the skin part of the face. Typically, + * it is used to eliminate the face from any image analysis that detects the + * "amount of skin" visible in an image. It is not based on the + * landmarker results, only on the initial face detection, hence the + * <code>fd</code> (face detection) prefix. + */ + fdBoundingPoly?: Schema$GoogleCloudVisionV1p1beta1BoundingPoly; + /** + * Headwear likelihood. + */ + headwearLikelihood?: string; + /** + * Joy likelihood. + */ + joyLikelihood?: string; + /** + * Face landmarking confidence. Range [0, 1]. + */ + landmarkingConfidence?: number; + /** + * Detected face landmarks. + */ + landmarks?: Schema$GoogleCloudVisionV1p1beta1FaceAnnotationLandmark[]; + /** + * Yaw angle, which indicates the leftward/rightward angle that the face is + * pointing relative to the vertical plane perpendicular to the image. Range + * [-180,180]. + */ + panAngle?: number; + /** + * Roll angle, which indicates the amount of clockwise/anti-clockwise + * rotation of the face relative to the image vertical about the axis + * perpendicular to the face. Range [-180,180]. + */ + rollAngle?: number; + /** + * Sorrow likelihood. + */ + sorrowLikelihood?: string; + /** + * Surprise likelihood. + */ + surpriseLikelihood?: string; + /** + * Pitch angle, which indicates the upwards/downwards angle that the face is + * pointing relative to the image's horizontal plane. Range [-180,180]. + */ + tiltAngle?: number; + /** + * Under-exposed likelihood. + */ + underExposedLikelihood?: string; + } + /** + * A face-specific landmark (for example, a face feature). + */ + interface Schema$GoogleCloudVisionV1p1beta1FaceAnnotationLandmark { + /** + * Face landmark position. + */ + position?: Schema$GoogleCloudVisionV1p1beta1Position; + /** + * Face landmark type. + */ + type?: string; + } + /** + * The Google Cloud Storage location where the output will be written to. + */ + interface Schema$GoogleCloudVisionV1p1beta1GcsDestination { + /** + * Google Cloud Storage URI where the results will be stored. Results will + * be in JSON format and preceded by its corresponding input URI. This field + * can either represent a single file, or a prefix for multiple outputs. + * Prefixes must end in a `/`. Examples: * File: + * gs://bucket-name/filename.json * Prefix: gs://bucket-name/prefix/here/ + * * File: gs://bucket-name/prefix/here If multiple outputs, each + * response is still AnnotateFileResponse, each of which contains some + * subset of the full list of AnnotateImageResponse. Multiple outputs can + * happen if, for example, the output JSON is too large and overflows into + * multiple sharded files. + */ + uri?: string; + } + /** + * The Google Cloud Storage location where the input will be read from. + */ + interface Schema$GoogleCloudVisionV1p1beta1GcsSource { + /** + * Google Cloud Storage URI for the input file. This must only be a Google + * Cloud Storage object. Wildcards are not currently supported. + */ + uri?: string; + } + /** + * If an image was produced from a file (e.g. a PDF), this message gives + * information about the source of that image. + */ + interface Schema$GoogleCloudVisionV1p1beta1ImageAnnotationContext { + /** + * If the file was a PDF or TIFF, this field gives the page number within + * the file used to produce the image. + */ + pageNumber?: number; + /** + * The URI of the file used to produce the image. + */ + uri?: string; + } + /** + * Stores image properties, such as dominant colors. + */ + interface Schema$GoogleCloudVisionV1p1beta1ImageProperties { + /** + * If present, dominant colors completed successfully. + */ + dominantColors?: Schema$GoogleCloudVisionV1p1beta1DominantColorsAnnotation; + } + /** + * The desired input location and metadata. + */ + interface Schema$GoogleCloudVisionV1p1beta1InputConfig { + /** + * The Google Cloud Storage location to read the input from. + */ + gcsSource?: Schema$GoogleCloudVisionV1p1beta1GcsSource; + /** + * The type of the file. Currently only "application/pdf" and + * "image/tiff" are supported. Wildcards are not supported. + */ + mimeType?: string; + } + /** + * Set of detected objects with bounding boxes. + */ + interface Schema$GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation { + /** + * Image region to which this object belongs. This must be populated. + */ + boundingPoly?: Schema$GoogleCloudVisionV1p1beta1BoundingPoly; + /** + * The BCP-47 language code, such as "en-US" or + * "sr-Latn". For more information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + */ + languageCode?: string; + /** + * Object ID that should align with EntityAnnotation mid. + */ + mid?: string; + /** + * Object name, expressed in its `language_code` language. + */ + name?: string; + /** + * Score of the result. Range [0, 1]. + */ + score?: number; + } + /** + * Detected entity location information. + */ + interface Schema$GoogleCloudVisionV1p1beta1LocationInfo { + /** + * lat/long location coordinates. + */ + latLng?: Schema$LatLng; + } + /** + * Contains metadata for the BatchAnnotateImages operation. + */ + interface Schema$GoogleCloudVisionV1p1beta1OperationMetadata { + /** + * The time when the batch request was received. + */ + createTime?: string; + /** + * Current state of the batch operation. + */ + state?: string; + /** + * The time when the operation result was last updated. + */ + updateTime?: string; + } + /** + * The desired output location and metadata. + */ + interface Schema$GoogleCloudVisionV1p1beta1OutputConfig { + /** + * The max number of response protos to put into each output JSON file on + * Google Cloud Storage. The valid range is [1, 100]. If not specified, the + * default value is 20. For example, for one pdf file with 100 pages, 100 + * response protos will be generated. If `batch_size` = 20, then 5 json + * files each containing 20 response protos will be written under the prefix + * `gcs_destination`.`uri`. Currently, batch_size only applies to + * GcsDestination, with potential future support for other output + * configurations. + */ + batchSize?: number; + /** + * The Google Cloud Storage location to write the output(s) to. + */ + gcsDestination?: Schema$GoogleCloudVisionV1p1beta1GcsDestination; + } + /** + * Detected page from OCR. + */ + interface Schema$GoogleCloudVisionV1p1beta1Page { + /** + * List of blocks of text, images etc on this page. + */ + blocks?: Schema$GoogleCloudVisionV1p1beta1Block[]; + /** + * Confidence of the OCR results on the page. Range [0, 1]. + */ + confidence?: number; + /** + * Page height. For PDFs the unit is points. For images (including TIFFs) + * the unit is pixels. + */ + height?: number; + /** + * Additional information detected on the page. + */ + property?: Schema$GoogleCloudVisionV1p1beta1TextAnnotationTextProperty; + /** + * Page width. For PDFs the unit is points. For images (including TIFFs) the + * unit is pixels. + */ + width?: number; + } + /** + * Structural unit of text representing a number of words in certain order. + */ + interface Schema$GoogleCloudVisionV1p1beta1Paragraph { + /** + * The bounding box for the paragraph. The vertices are in the order of + * top-left, top-right, bottom-right, bottom-left. When a rotation of the + * bounding box is detected the rotation is represented as around the + * top-left corner as defined when the text is read in the 'natural' + * orientation. For example: * when the text is horizontal it might look + * like: 0----1 | | 3----2 * when it's rotated 180 + * degrees around the top-left corner it becomes: 2----3 | | + * 1----0 and the vertice order will still be (0, 1, 2, 3). + */ + boundingBox?: Schema$GoogleCloudVisionV1p1beta1BoundingPoly; + /** + * Confidence of the OCR results for the paragraph. Range [0, 1]. + */ + confidence?: number; + /** + * Additional information detected for the paragraph. + */ + property?: Schema$GoogleCloudVisionV1p1beta1TextAnnotationTextProperty; + /** + * List of words in this paragraph. + */ + words?: Schema$GoogleCloudVisionV1p1beta1Word[]; + } + /** + * A 3D position in the image, used primarily for Face detection landmarks. A + * valid Position must have both x and y coordinates. The position coordinates + * are in the same scale as the original image. + */ + interface Schema$GoogleCloudVisionV1p1beta1Position { + /** + * X coordinate. + */ + x?: number; + /** + * Y coordinate. + */ + y?: number; + /** + * Z coordinate (or depth). + */ + z?: number; + } + /** + * A `Property` consists of a user-supplied name/value pair. + */ + interface Schema$GoogleCloudVisionV1p1beta1Property { + /** + * Name of the property. + */ + name?: string; + /** + * Value of numeric properties. + */ + uint64Value?: string; + /** + * Value of the property. + */ + value?: string; + } + /** + * Set of features pertaining to the image, computed by computer vision + * methods over safe-search verticals (for example, adult, spoof, medical, + * violence). + */ + interface Schema$GoogleCloudVisionV1p1beta1SafeSearchAnnotation { + /** + * Represents the adult content likelihood for the image. Adult content may + * contain elements such as nudity, pornographic images or cartoons, or + * sexual activities. + */ + adult?: string; + /** + * Likelihood that this is a medical image. + */ + medical?: string; + /** + * Likelihood that the request image contains racy content. Racy content may + * include (but is not limited to) skimpy or sheer clothing, strategically + * covered nudity, lewd or provocative poses, or close-ups of sensitive body + * areas. + */ + racy?: string; + /** + * Spoof likelihood. The likelihood that an modification was made to the + * image's canonical version to make it appear funny or offensive. + */ + spoof?: string; + /** + * Likelihood that this image contains violent content. + */ + violence?: string; + } + /** + * A single symbol representation. + */ + interface Schema$GoogleCloudVisionV1p1beta1Symbol { + /** + * The bounding box for the symbol. The vertices are in the order of + * top-left, top-right, bottom-right, bottom-left. When a rotation of the + * bounding box is detected the rotation is represented as around the + * top-left corner as defined when the text is read in the 'natural' + * orientation. For example: * when the text is horizontal it might look + * like: 0----1 | | 3----2 * when it's rotated 180 + * degrees around the top-left corner it becomes: 2----3 | | + * 1----0 and the vertice order will still be (0, 1, 2, 3). + */ + boundingBox?: Schema$GoogleCloudVisionV1p1beta1BoundingPoly; + /** + * Confidence of the OCR results for the symbol. Range [0, 1]. + */ + confidence?: number; + /** + * Additional information detected for the symbol. + */ + property?: Schema$GoogleCloudVisionV1p1beta1TextAnnotationTextProperty; + /** + * The actual UTF-8 representation of the symbol. + */ + text?: string; + } + /** + * TextAnnotation contains a structured representation of OCR extracted text. + * The hierarchy of an OCR extracted text structure is like this: + * TextAnnotation -> Page -> Block -> Paragraph -> Word -> + * Symbol Each structural component, starting from Page, may further have + * their own properties. Properties describe detected languages, breaks etc.. + * Please refer to the TextAnnotation.TextProperty message definition below + * for more detail. + */ + interface Schema$GoogleCloudVisionV1p1beta1TextAnnotation { + /** + * List of pages detected by OCR. + */ + pages?: Schema$GoogleCloudVisionV1p1beta1Page[]; + /** + * UTF-8 text detected on the pages. + */ + text?: string; + } + /** + * Detected start or end of a structural component. + */ + interface Schema$GoogleCloudVisionV1p1beta1TextAnnotationDetectedBreak { + /** + * True if break prepends the element. + */ + isPrefix?: boolean; + /** + * Detected break type. + */ + type?: string; + } + /** + * Detected language for a structural component. + */ + interface Schema$GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage { + /** + * Confidence of detected language. Range [0, 1]. + */ + confidence?: number; + /** + * The BCP-47 language code, such as "en-US" or + * "sr-Latn". For more information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + */ + languageCode?: string; + } + /** + * Additional information detected on the structural component. + */ + interface Schema$GoogleCloudVisionV1p1beta1TextAnnotationTextProperty { + /** + * Detected start or end of a text segment. + */ + detectedBreak?: Schema$GoogleCloudVisionV1p1beta1TextAnnotationDetectedBreak; + /** + * A list of detected languages together with confidence. + */ + detectedLanguages?: Schema$GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage[]; + } + /** + * A vertex represents a 2D point in the image. NOTE: the vertex coordinates + * are in the same scale as the original image. + */ + interface Schema$GoogleCloudVisionV1p1beta1Vertex { + /** + * X coordinate. + */ + x?: number; + /** + * Y coordinate. + */ + y?: number; + } + /** + * Relevant information for the image from the Internet. + */ + interface Schema$GoogleCloudVisionV1p1beta1WebDetection { + /** + * The service's best guess as to the topic of the request image. + * Inferred from similar images on the open web. + */ + bestGuessLabels?: Schema$GoogleCloudVisionV1p1beta1WebDetectionWebLabel[]; + /** + * Fully matching images from the Internet. Can include resized copies of + * the query image. + */ + fullMatchingImages?: Schema$GoogleCloudVisionV1p1beta1WebDetectionWebImage[]; + /** + * Web pages containing the matching images from the Internet. + */ + pagesWithMatchingImages?: Schema$GoogleCloudVisionV1p1beta1WebDetectionWebPage[]; + /** + * Partial matching images from the Internet. Those images are similar + * enough to share some key-point features. For example an original image + * will likely have partial matching for its crops. + */ + partialMatchingImages?: Schema$GoogleCloudVisionV1p1beta1WebDetectionWebImage[]; + /** + * The visually similar image results. + */ + visuallySimilarImages?: Schema$GoogleCloudVisionV1p1beta1WebDetectionWebImage[]; + /** + * Deduced entities from similar images on the Internet. + */ + webEntities?: Schema$GoogleCloudVisionV1p1beta1WebDetectionWebEntity[]; + } + /** + * Entity deduced from similar images on the Internet. + */ + interface Schema$GoogleCloudVisionV1p1beta1WebDetectionWebEntity { + /** + * Canonical description of the entity, in English. + */ + description?: string; + /** + * Opaque entity ID. + */ + entityId?: string; + /** + * Overall relevancy score for the entity. Not normalized and not comparable + * across different image queries. + */ + score?: number; + } + /** + * Metadata for online images. + */ + interface Schema$GoogleCloudVisionV1p1beta1WebDetectionWebImage { + /** + * (Deprecated) Overall relevancy score for the image. + */ + score?: number; + /** + * The result image URL. + */ + url?: string; + } + /** + * Label to provide extra metadata for the web detection. + */ + interface Schema$GoogleCloudVisionV1p1beta1WebDetectionWebLabel { + /** + * Label for extra metadata. + */ + label?: string; + /** + * The BCP-47 language code for `label`, such as "en-US" or + * "sr-Latn". For more information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + */ + languageCode?: string; + } + /** + * Metadata for web pages. + */ + interface Schema$GoogleCloudVisionV1p1beta1WebDetectionWebPage { + /** + * Fully matching images on the page. Can include resized copies of the + * query image. + */ + fullMatchingImages?: Schema$GoogleCloudVisionV1p1beta1WebDetectionWebImage[]; + /** + * Title for the web page, may contain HTML markups. + */ + pageTitle?: string; + /** + * Partial matching images on the page. Those images are similar enough to + * share some key-point features. For example an original image will likely + * have partial matching for its crops. + */ + partialMatchingImages?: Schema$GoogleCloudVisionV1p1beta1WebDetectionWebImage[]; + /** + * (Deprecated) Overall relevancy score for the web page. + */ + score?: number; + /** + * The result web page URL. + */ + url?: string; + } + /** + * A word representation. + */ + interface Schema$GoogleCloudVisionV1p1beta1Word { + /** + * The bounding box for the word. The vertices are in the order of top-left, + * top-right, bottom-right, bottom-left. When a rotation of the bounding box + * is detected the rotation is represented as around the top-left corner as + * defined when the text is read in the 'natural' orientation. For + * example: * when the text is horizontal it might look like: 0----1 + * | | 3----2 * when it's rotated 180 degrees around the + * top-left corner it becomes: 2----3 | | 1----0 and the + * vertice order will still be (0, 1, 2, 3). + */ + boundingBox?: Schema$GoogleCloudVisionV1p1beta1BoundingPoly; + /** + * Confidence of the OCR results for the word. Range [0, 1]. + */ + confidence?: number; + /** + * Additional information detected for the word. + */ + property?: Schema$GoogleCloudVisionV1p1beta1TextAnnotationTextProperty; + /** + * List of symbols in the word. The order of the symbols follows the natural + * reading order. + */ + symbols?: Schema$GoogleCloudVisionV1p1beta1Symbol[]; + } + /** + * Response to a single file annotation request. A file may contain one or + * more images, which individually have their own responses. + */ + interface Schema$GoogleCloudVisionV1p2beta1AnnotateFileResponse { + /** + * Information about the file for which this response is generated. + */ + inputConfig?: Schema$GoogleCloudVisionV1p2beta1InputConfig; + /** + * Individual responses to images found within the file. + */ + responses?: Schema$GoogleCloudVisionV1p2beta1AnnotateImageResponse[]; + } + /** + * Response to an image annotation request. + */ + interface Schema$GoogleCloudVisionV1p2beta1AnnotateImageResponse { + /** + * If present, contextual information is needed to understand where this + * image comes from. + */ + context?: Schema$GoogleCloudVisionV1p2beta1ImageAnnotationContext; + /** + * If present, crop hints have completed successfully. + */ + cropHintsAnnotation?: Schema$GoogleCloudVisionV1p2beta1CropHintsAnnotation; + /** + * If set, represents the error message for the operation. Note that + * filled-in image annotations are guaranteed to be correct, even when + * `error` is set. + */ + error?: Schema$Status; + /** + * If present, face detection has completed successfully. + */ + faceAnnotations?: Schema$GoogleCloudVisionV1p2beta1FaceAnnotation[]; + /** + * If present, text (OCR) detection or document (OCR) text detection has + * completed successfully. This annotation provides the structural hierarchy + * for the OCR detected text. + */ + fullTextAnnotation?: Schema$GoogleCloudVisionV1p2beta1TextAnnotation; + /** + * If present, image properties were extracted successfully. + */ + imagePropertiesAnnotation?: Schema$GoogleCloudVisionV1p2beta1ImageProperties; + /** + * If present, label detection has completed successfully. + */ + labelAnnotations?: Schema$GoogleCloudVisionV1p2beta1EntityAnnotation[]; + /** + * If present, landmark detection has completed successfully. + */ + landmarkAnnotations?: Schema$GoogleCloudVisionV1p2beta1EntityAnnotation[]; + /** + * If present, localized object detection has completed successfully. This + * will be sorted descending by confidence score. + */ + localizedObjectAnnotations?: Schema$GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation[]; + /** + * If present, logo detection has completed successfully. + */ + logoAnnotations?: Schema$GoogleCloudVisionV1p2beta1EntityAnnotation[]; + /** + * If present, safe-search annotation has completed successfully. + */ + safeSearchAnnotation?: Schema$GoogleCloudVisionV1p2beta1SafeSearchAnnotation; + /** + * If present, text (OCR) detection has completed successfully. + */ + textAnnotations?: Schema$GoogleCloudVisionV1p2beta1EntityAnnotation[]; + /** + * If present, web detection has completed successfully. + */ + webDetection?: Schema$GoogleCloudVisionV1p2beta1WebDetection; + } + /** + * The response for a single offline file annotation request. + */ + interface Schema$GoogleCloudVisionV1p2beta1AsyncAnnotateFileResponse { + /** + * The output location and metadata from AsyncAnnotateFileRequest. + */ + outputConfig?: Schema$GoogleCloudVisionV1p2beta1OutputConfig; + } + /** + * Response to an async batch file annotation request. + */ + interface Schema$GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesResponse { + /** + * The list of file annotation responses, one for each request in + * AsyncBatchAnnotateFilesRequest. + */ + responses?: Schema$GoogleCloudVisionV1p2beta1AsyncAnnotateFileResponse[]; + } + /** + * Logical element on the page. + */ + interface Schema$GoogleCloudVisionV1p2beta1Block { + /** + * Detected block type (text, image etc) for this block. + */ + blockType?: string; + /** + * The bounding box for the block. The vertices are in the order of + * top-left, top-right, bottom-right, bottom-left. When a rotation of the + * bounding box is detected the rotation is represented as around the + * top-left corner as defined when the text is read in the 'natural' + * orientation. For example: * when the text is horizontal it might look + * like: 0----1 | | 3----2 * when it's + * rotated 180 degrees around the top-left corner it becomes: 2----3 | | + * 1----0 and the vertice order will still be (0, 1, 2, 3). + */ + boundingBox?: Schema$GoogleCloudVisionV1p2beta1BoundingPoly; + /** + * Confidence of the OCR results on the block. Range [0, 1]. + */ + confidence?: number; + /** + * List of paragraphs in this block (if this blocks is of type text). + */ + paragraphs?: Schema$GoogleCloudVisionV1p2beta1Paragraph[]; + /** + * Additional information detected for the block. + */ + property?: Schema$GoogleCloudVisionV1p2beta1TextAnnotationTextProperty; + } + /** + * A bounding polygon for the detected image annotation. + */ + interface Schema$GoogleCloudVisionV1p2beta1BoundingPoly { + /** + * The bounding polygon normalized vertices. + */ + normalizedVertices?: Schema$GoogleCloudVisionV1p2beta1NormalizedVertex[]; + /** + * The bounding polygon vertices. + */ + vertices?: Schema$GoogleCloudVisionV1p2beta1Vertex[]; + } + /** + * Color information consists of RGB channels, score, and the fraction of the + * image that the color occupies in the image. + */ + interface Schema$GoogleCloudVisionV1p2beta1ColorInfo { + /** + * RGB components of the color. + */ + color?: Schema$Color; + /** + * The fraction of pixels the color occupies in the image. Value in range + * [0, 1]. + */ + pixelFraction?: number; + /** + * Image-specific score for this color. Value in range [0, 1]. + */ + score?: number; + } + /** + * Single crop hint that is used to generate a new crop when serving an image. + */ + interface Schema$GoogleCloudVisionV1p2beta1CropHint { + /** + * The bounding polygon for the crop region. The coordinates of the bounding + * box are in the original image's scale, as returned in `ImageParams`. + */ + boundingPoly?: Schema$GoogleCloudVisionV1p2beta1BoundingPoly; + /** + * Confidence of this being a salient region. Range [0, 1]. + */ + confidence?: number; + /** + * Fraction of importance of this salient region with respect to the + * original image. + */ + importanceFraction?: number; + } + /** + * Set of crop hints that are used to generate new crops when serving images. + */ + interface Schema$GoogleCloudVisionV1p2beta1CropHintsAnnotation { + /** + * Crop hint results. + */ + cropHints?: Schema$GoogleCloudVisionV1p2beta1CropHint[]; + } + /** + * Set of dominant colors and their corresponding scores. + */ + interface Schema$GoogleCloudVisionV1p2beta1DominantColorsAnnotation { + /** + * RGB color values with their score and pixel fraction. + */ + colors?: Schema$GoogleCloudVisionV1p2beta1ColorInfo[]; + } + /** + * Set of detected entity features. + */ + interface Schema$GoogleCloudVisionV1p2beta1EntityAnnotation { + /** + * Image region to which this entity belongs. Not produced for + * `LABEL_DETECTION` features. + */ + boundingPoly?: Schema$GoogleCloudVisionV1p2beta1BoundingPoly; + /** + * **Deprecated. Use `score` instead.** The accuracy of the entity detection + * in an image. For example, for an image in which the "Eiffel + * Tower" entity is detected, this field represents the confidence that + * there is a tower in the query image. Range [0, 1]. + */ + confidence?: number; + /** + * Entity textual description, expressed in its `locale` language. + */ + description?: string; + /** + * The language code for the locale in which the entity textual + * `description` is expressed. + */ + locale?: string; + /** + * The location information for the detected entity. Multiple `LocationInfo` + * elements can be present because one location may indicate the location of + * the scene in the image, and another location may indicate the location of + * the place where the image was taken. Location information is usually + * present for landmarks. + */ + locations?: Schema$GoogleCloudVisionV1p2beta1LocationInfo[]; + /** + * Opaque entity ID. Some IDs may be available in [Google Knowledge Graph + * Search API](https://developers.google.com/knowledge-graph/). + */ + mid?: string; + /** + * Some entities may have optional user-supplied `Property` (name/value) + * fields, such a score or string that qualifies the entity. + */ + properties?: Schema$GoogleCloudVisionV1p2beta1Property[]; + /** + * Overall score of the result. Range [0, 1]. + */ + score?: number; + /** + * The relevancy of the ICA (Image Content Annotation) label to the image. + * For example, the relevancy of "tower" is likely higher to an + * image containing the detected "Eiffel Tower" than to an image + * containing a detected distant towering building, even though the + * confidence that there is a tower in each image may be the same. Range [0, + * 1]. + */ + topicality?: number; + } + /** + * A face annotation object contains the results of face detection. + */ + interface Schema$GoogleCloudVisionV1p2beta1FaceAnnotation { + /** + * Anger likelihood. + */ + angerLikelihood?: string; + /** + * Blurred likelihood. + */ + blurredLikelihood?: string; + /** + * The bounding polygon around the face. The coordinates of the bounding box + * are in the original image's scale, as returned in `ImageParams`. The + * bounding box is computed to "frame" the face in accordance with + * human expectations. It is based on the landmarker results. Note that one + * or more x and/or y coordinates may not be generated in the `BoundingPoly` + * (the polygon will be unbounded) if only a partial face appears in the + * image to be annotated. + */ + boundingPoly?: Schema$GoogleCloudVisionV1p2beta1BoundingPoly; + /** + * Detection confidence. Range [0, 1]. + */ + detectionConfidence?: number; + /** + * The `fd_bounding_poly` bounding polygon is tighter than the + * `boundingPoly`, and encloses only the skin part of the face. Typically, + * it is used to eliminate the face from any image analysis that detects the + * "amount of skin" visible in an image. It is not based on the + * landmarker results, only on the initial face detection, hence the + * <code>fd</code> (face detection) prefix. + */ + fdBoundingPoly?: Schema$GoogleCloudVisionV1p2beta1BoundingPoly; + /** + * Headwear likelihood. + */ + headwearLikelihood?: string; + /** + * Joy likelihood. + */ + joyLikelihood?: string; + /** + * Face landmarking confidence. Range [0, 1]. + */ + landmarkingConfidence?: number; + /** + * Detected face landmarks. + */ + landmarks?: Schema$GoogleCloudVisionV1p2beta1FaceAnnotationLandmark[]; + /** + * Yaw angle, which indicates the leftward/rightward angle that the face is + * pointing relative to the vertical plane perpendicular to the image. Range + * [-180,180]. + */ + panAngle?: number; + /** + * Roll angle, which indicates the amount of clockwise/anti-clockwise + * rotation of the face relative to the image vertical about the axis + * perpendicular to the face. Range [-180,180]. + */ + rollAngle?: number; + /** + * Sorrow likelihood. + */ + sorrowLikelihood?: string; + /** + * Surprise likelihood. + */ + surpriseLikelihood?: string; + /** + * Pitch angle, which indicates the upwards/downwards angle that the face is + * pointing relative to the image's horizontal plane. Range [-180,180]. + */ + tiltAngle?: number; + /** + * Under-exposed likelihood. + */ + underExposedLikelihood?: string; + } + /** + * A face-specific landmark (for example, a face feature). + */ + interface Schema$GoogleCloudVisionV1p2beta1FaceAnnotationLandmark { + /** + * Face landmark position. + */ + position?: Schema$GoogleCloudVisionV1p2beta1Position; + /** + * Face landmark type. + */ + type?: string; + } + /** + * The Google Cloud Storage location where the output will be written to. + */ + interface Schema$GoogleCloudVisionV1p2beta1GcsDestination { + /** + * Google Cloud Storage URI where the results will be stored. Results will + * be in JSON format and preceded by its corresponding input URI. This field + * can either represent a single file, or a prefix for multiple outputs. + * Prefixes must end in a `/`. Examples: * File: + * gs://bucket-name/filename.json * Prefix: gs://bucket-name/prefix/here/ + * * File: gs://bucket-name/prefix/here If multiple outputs, each + * response is still AnnotateFileResponse, each of which contains some + * subset of the full list of AnnotateImageResponse. Multiple outputs can + * happen if, for example, the output JSON is too large and overflows into + * multiple sharded files. + */ + uri?: string; + } + /** + * The Google Cloud Storage location where the input will be read from. + */ + interface Schema$GoogleCloudVisionV1p2beta1GcsSource { + /** + * Google Cloud Storage URI for the input file. This must only be a Google + * Cloud Storage object. Wildcards are not currently supported. + */ + uri?: string; + } + /** + * If an image was produced from a file (e.g. a PDF), this message gives + * information about the source of that image. + */ + interface Schema$GoogleCloudVisionV1p2beta1ImageAnnotationContext { + /** + * If the file was a PDF or TIFF, this field gives the page number within + * the file used to produce the image. + */ + pageNumber?: number; + /** + * The URI of the file used to produce the image. + */ + uri?: string; + } + /** + * Stores image properties, such as dominant colors. + */ + interface Schema$GoogleCloudVisionV1p2beta1ImageProperties { + /** + * If present, dominant colors completed successfully. + */ + dominantColors?: Schema$GoogleCloudVisionV1p2beta1DominantColorsAnnotation; + } + /** + * The desired input location and metadata. + */ + interface Schema$GoogleCloudVisionV1p2beta1InputConfig { + /** + * The Google Cloud Storage location to read the input from. + */ + gcsSource?: Schema$GoogleCloudVisionV1p2beta1GcsSource; + /** + * The type of the file. Currently only "application/pdf" and + * "image/tiff" are supported. Wildcards are not supported. + */ + mimeType?: string; + } + /** + * Set of detected objects with bounding boxes. + */ + interface Schema$GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation { + /** + * Image region to which this object belongs. This must be populated. + */ + boundingPoly?: Schema$GoogleCloudVisionV1p2beta1BoundingPoly; + /** + * The BCP-47 language code, such as "en-US" or + * "sr-Latn". For more information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + */ + languageCode?: string; + /** + * Object ID that should align with EntityAnnotation mid. + */ + mid?: string; + /** + * Object name, expressed in its `language_code` language. + */ + name?: string; + /** + * Score of the result. Range [0, 1]. + */ + score?: number; + } + /** + * Detected entity location information. + */ + interface Schema$GoogleCloudVisionV1p2beta1LocationInfo { + /** + * lat/long location coordinates. + */ + latLng?: Schema$LatLng; + } + /** + * A vertex represents a 2D point in the image. NOTE: the normalized vertex + * coordinates are relative to the original image and range from 0 to 1. + */ + interface Schema$GoogleCloudVisionV1p2beta1NormalizedVertex { + /** + * X coordinate. + */ + x?: number; + /** + * Y coordinate. + */ + y?: number; + } + /** + * Contains metadata for the BatchAnnotateImages operation. + */ + interface Schema$GoogleCloudVisionV1p2beta1OperationMetadata { + /** + * The time when the batch request was received. + */ + createTime?: string; + /** + * Current state of the batch operation. + */ + state?: string; + /** + * The time when the operation result was last updated. + */ + updateTime?: string; + } + /** + * The desired output location and metadata. + */ + interface Schema$GoogleCloudVisionV1p2beta1OutputConfig { + /** + * The max number of response protos to put into each output JSON file on + * Google Cloud Storage. The valid range is [1, 100]. If not specified, the + * default value is 20. For example, for one pdf file with 100 pages, 100 + * response protos will be generated. If `batch_size` = 20, then 5 json + * files each containing 20 response protos will be written under the prefix + * `gcs_destination`.`uri`. Currently, batch_size only applies to + * GcsDestination, with potential future support for other output + * configurations. + */ + batchSize?: number; + /** + * The Google Cloud Storage location to write the output(s) to. + */ + gcsDestination?: Schema$GoogleCloudVisionV1p2beta1GcsDestination; + } + /** + * Detected page from OCR. + */ + interface Schema$GoogleCloudVisionV1p2beta1Page { + /** + * List of blocks of text, images etc on this page. + */ + blocks?: Schema$GoogleCloudVisionV1p2beta1Block[]; + /** + * Confidence of the OCR results on the page. Range [0, 1]. + */ + confidence?: number; + /** + * Page height. For PDFs the unit is points. For images (including TIFFs) + * the unit is pixels. + */ + height?: number; + /** + * Additional information detected on the page. + */ + property?: Schema$GoogleCloudVisionV1p2beta1TextAnnotationTextProperty; + /** + * Page width. For PDFs the unit is points. For images (including TIFFs) the + * unit is pixels. + */ + width?: number; + } + /** + * Structural unit of text representing a number of words in certain order. + */ + interface Schema$GoogleCloudVisionV1p2beta1Paragraph { + /** + * The bounding box for the paragraph. The vertices are in the order of + * top-left, top-right, bottom-right, bottom-left. When a rotation of the + * bounding box is detected the rotation is represented as around the + * top-left corner as defined when the text is read in the 'natural' + * orientation. For example: * when the text is horizontal it might look + * like: 0----1 | | 3----2 * when it's rotated 180 + * degrees around the top-left corner it becomes: 2----3 | | + * 1----0 and the vertice order will still be (0, 1, 2, 3). + */ + boundingBox?: Schema$GoogleCloudVisionV1p2beta1BoundingPoly; + /** + * Confidence of the OCR results for the paragraph. Range [0, 1]. + */ + confidence?: number; + /** + * Additional information detected for the paragraph. + */ + property?: Schema$GoogleCloudVisionV1p2beta1TextAnnotationTextProperty; + /** + * List of words in this paragraph. + */ + words?: Schema$GoogleCloudVisionV1p2beta1Word[]; + } + /** + * A 3D position in the image, used primarily for Face detection landmarks. A + * valid Position must have both x and y coordinates. The position coordinates + * are in the same scale as the original image. + */ + interface Schema$GoogleCloudVisionV1p2beta1Position { + /** + * X coordinate. + */ + x?: number; + /** + * Y coordinate. + */ + y?: number; + /** + * Z coordinate (or depth). + */ + z?: number; + } + /** + * A `Property` consists of a user-supplied name/value pair. + */ + interface Schema$GoogleCloudVisionV1p2beta1Property { + /** + * Name of the property. + */ + name?: string; + /** + * Value of numeric properties. + */ + uint64Value?: string; + /** + * Value of the property. + */ + value?: string; + } + /** + * Set of features pertaining to the image, computed by computer vision + * methods over safe-search verticals (for example, adult, spoof, medical, + * violence). + */ + interface Schema$GoogleCloudVisionV1p2beta1SafeSearchAnnotation { + /** + * Represents the adult content likelihood for the image. Adult content may + * contain elements such as nudity, pornographic images or cartoons, or + * sexual activities. + */ + adult?: string; + /** + * Likelihood that this is a medical image. + */ + medical?: string; + /** + * Likelihood that the request image contains racy content. Racy content may + * include (but is not limited to) skimpy or sheer clothing, strategically + * covered nudity, lewd or provocative poses, or close-ups of sensitive body + * areas. + */ + racy?: string; + /** + * Spoof likelihood. The likelihood that an modification was made to the + * image's canonical version to make it appear funny or offensive. + */ + spoof?: string; + /** + * Likelihood that this image contains violent content. + */ + violence?: string; + } + /** + * A single symbol representation. + */ + interface Schema$GoogleCloudVisionV1p2beta1Symbol { + /** + * The bounding box for the symbol. The vertices are in the order of + * top-left, top-right, bottom-right, bottom-left. When a rotation of the + * bounding box is detected the rotation is represented as around the + * top-left corner as defined when the text is read in the 'natural' + * orientation. For example: * when the text is horizontal it might look + * like: 0----1 | | 3----2 * when it's rotated 180 + * degrees around the top-left corner it becomes: 2----3 | | + * 1----0 and the vertice order will still be (0, 1, 2, 3). + */ + boundingBox?: Schema$GoogleCloudVisionV1p2beta1BoundingPoly; + /** + * Confidence of the OCR results for the symbol. Range [0, 1]. + */ + confidence?: number; + /** + * Additional information detected for the symbol. + */ + property?: Schema$GoogleCloudVisionV1p2beta1TextAnnotationTextProperty; + /** + * The actual UTF-8 representation of the symbol. + */ + text?: string; + } + /** + * TextAnnotation contains a structured representation of OCR extracted text. + * The hierarchy of an OCR extracted text structure is like this: + * TextAnnotation -> Page -> Block -> Paragraph -> Word -> + * Symbol Each structural component, starting from Page, may further have + * their own properties. Properties describe detected languages, breaks etc.. + * Please refer to the TextAnnotation.TextProperty message definition below + * for more detail. + */ + interface Schema$GoogleCloudVisionV1p2beta1TextAnnotation { + /** + * List of pages detected by OCR. + */ + pages?: Schema$GoogleCloudVisionV1p2beta1Page[]; + /** + * UTF-8 text detected on the pages. + */ + text?: string; + } + /** + * Detected start or end of a structural component. + */ + interface Schema$GoogleCloudVisionV1p2beta1TextAnnotationDetectedBreak { + /** + * True if break prepends the element. + */ + isPrefix?: boolean; + /** + * Detected break type. + */ + type?: string; + } + /** + * Detected language for a structural component. + */ + interface Schema$GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage { + /** + * Confidence of detected language. Range [0, 1]. + */ + confidence?: number; + /** + * The BCP-47 language code, such as "en-US" or + * "sr-Latn". For more information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + */ + languageCode?: string; + } + /** + * Additional information detected on the structural component. + */ + interface Schema$GoogleCloudVisionV1p2beta1TextAnnotationTextProperty { + /** + * Detected start or end of a text segment. + */ + detectedBreak?: Schema$GoogleCloudVisionV1p2beta1TextAnnotationDetectedBreak; + /** + * A list of detected languages together with confidence. + */ + detectedLanguages?: Schema$GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage[]; + } + /** + * A vertex represents a 2D point in the image. NOTE: the vertex coordinates + * are in the same scale as the original image. + */ + interface Schema$GoogleCloudVisionV1p2beta1Vertex { + /** + * X coordinate. + */ + x?: number; + /** + * Y coordinate. + */ + y?: number; + } + /** + * Relevant information for the image from the Internet. + */ + interface Schema$GoogleCloudVisionV1p2beta1WebDetection { + /** + * The service's best guess as to the topic of the request image. + * Inferred from similar images on the open web. + */ + bestGuessLabels?: Schema$GoogleCloudVisionV1p2beta1WebDetectionWebLabel[]; + /** + * Fully matching images from the Internet. Can include resized copies of + * the query image. + */ + fullMatchingImages?: Schema$GoogleCloudVisionV1p2beta1WebDetectionWebImage[]; + /** + * Web pages containing the matching images from the Internet. + */ + pagesWithMatchingImages?: Schema$GoogleCloudVisionV1p2beta1WebDetectionWebPage[]; + /** + * Partial matching images from the Internet. Those images are similar + * enough to share some key-point features. For example an original image + * will likely have partial matching for its crops. + */ + partialMatchingImages?: Schema$GoogleCloudVisionV1p2beta1WebDetectionWebImage[]; + /** + * The visually similar image results. + */ + visuallySimilarImages?: Schema$GoogleCloudVisionV1p2beta1WebDetectionWebImage[]; + /** + * Deduced entities from similar images on the Internet. + */ + webEntities?: Schema$GoogleCloudVisionV1p2beta1WebDetectionWebEntity[]; + } + /** + * Entity deduced from similar images on the Internet. + */ + interface Schema$GoogleCloudVisionV1p2beta1WebDetectionWebEntity { + /** + * Canonical description of the entity, in English. + */ + description?: string; + /** + * Opaque entity ID. + */ + entityId?: string; + /** + * Overall relevancy score for the entity. Not normalized and not comparable + * across different image queries. + */ + score?: number; + } + /** + * Metadata for online images. + */ + interface Schema$GoogleCloudVisionV1p2beta1WebDetectionWebImage { + /** + * (Deprecated) Overall relevancy score for the image. + */ + score?: number; + /** + * The result image URL. + */ + url?: string; + } + /** + * Label to provide extra metadata for the web detection. + */ + interface Schema$GoogleCloudVisionV1p2beta1WebDetectionWebLabel { + /** + * Label for extra metadata. + */ + label?: string; + /** + * The BCP-47 language code for `label`, such as "en-US" or + * "sr-Latn". For more information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + */ + languageCode?: string; + } + /** + * Metadata for web pages. + */ + interface Schema$GoogleCloudVisionV1p2beta1WebDetectionWebPage { + /** + * Fully matching images on the page. Can include resized copies of the + * query image. + */ + fullMatchingImages?: Schema$GoogleCloudVisionV1p2beta1WebDetectionWebImage[]; + /** + * Title for the web page, may contain HTML markups. + */ + pageTitle?: string; + /** + * Partial matching images on the page. Those images are similar enough to + * share some key-point features. For example an original image will likely + * have partial matching for its crops. + */ + partialMatchingImages?: Schema$GoogleCloudVisionV1p2beta1WebDetectionWebImage[]; + /** + * (Deprecated) Overall relevancy score for the web page. + */ + score?: number; + /** + * The result web page URL. + */ + url?: string; + } + /** + * A word representation. + */ + interface Schema$GoogleCloudVisionV1p2beta1Word { + /** + * The bounding box for the word. The vertices are in the order of top-left, + * top-right, bottom-right, bottom-left. When a rotation of the bounding box + * is detected the rotation is represented as around the top-left corner as + * defined when the text is read in the 'natural' orientation. For + * example: * when the text is horizontal it might look like: 0----1 + * | | 3----2 * when it's rotated 180 degrees around the + * top-left corner it becomes: 2----3 | | 1----0 and the + * vertice order will still be (0, 1, 2, 3). + */ + boundingBox?: Schema$GoogleCloudVisionV1p2beta1BoundingPoly; + /** + * Confidence of the OCR results for the word. Range [0, 1]. + */ + confidence?: number; + /** + * Additional information detected for the word. + */ + property?: Schema$GoogleCloudVisionV1p2beta1TextAnnotationTextProperty; + /** + * List of symbols in the word. The order of the symbols follows the natural + * reading order. + */ + symbols?: Schema$GoogleCloudVisionV1p2beta1Symbol[]; + } + /** + * Response to a single file annotation request. A file may contain one or + * more images, which individually have their own responses. + */ + interface Schema$GoogleCloudVisionV1p3beta1AnnotateFileResponse { + /** + * Information about the file for which this response is generated. + */ + inputConfig?: Schema$GoogleCloudVisionV1p3beta1InputConfig; + /** + * Individual responses to images found within the file. + */ + responses?: Schema$GoogleCloudVisionV1p3beta1AnnotateImageResponse[]; + } + /** + * Response to an image annotation request. + */ + interface Schema$GoogleCloudVisionV1p3beta1AnnotateImageResponse { + /** + * If present, contextual information is needed to understand where this + * image comes from. + */ + context?: Schema$GoogleCloudVisionV1p3beta1ImageAnnotationContext; + /** + * If present, crop hints have completed successfully. + */ + cropHintsAnnotation?: Schema$GoogleCloudVisionV1p3beta1CropHintsAnnotation; + /** + * If set, represents the error message for the operation. Note that + * filled-in image annotations are guaranteed to be correct, even when + * `error` is set. + */ + error?: Schema$Status; + /** + * If present, face detection has completed successfully. + */ + faceAnnotations?: Schema$GoogleCloudVisionV1p3beta1FaceAnnotation[]; + /** + * If present, text (OCR) detection or document (OCR) text detection has + * completed successfully. This annotation provides the structural hierarchy + * for the OCR detected text. + */ + fullTextAnnotation?: Schema$GoogleCloudVisionV1p3beta1TextAnnotation; + /** + * If present, image properties were extracted successfully. + */ + imagePropertiesAnnotation?: Schema$GoogleCloudVisionV1p3beta1ImageProperties; + /** + * If present, label detection has completed successfully. + */ + labelAnnotations?: Schema$GoogleCloudVisionV1p3beta1EntityAnnotation[]; + /** + * If present, landmark detection has completed successfully. + */ + landmarkAnnotations?: Schema$GoogleCloudVisionV1p3beta1EntityAnnotation[]; + /** + * If present, localized object detection has completed successfully. This + * will be sorted descending by confidence score. + */ + localizedObjectAnnotations?: Schema$GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation[]; + /** + * If present, logo detection has completed successfully. + */ + logoAnnotations?: Schema$GoogleCloudVisionV1p3beta1EntityAnnotation[]; + /** + * If present, product search has completed successfully. + */ + productSearchResults?: Schema$GoogleCloudVisionV1p3beta1ProductSearchResults; + /** + * If present, safe-search annotation has completed successfully. + */ + safeSearchAnnotation?: Schema$GoogleCloudVisionV1p3beta1SafeSearchAnnotation; + /** + * If present, text (OCR) detection has completed successfully. + */ + textAnnotations?: Schema$GoogleCloudVisionV1p3beta1EntityAnnotation[]; + /** + * If present, web detection has completed successfully. + */ + webDetection?: Schema$GoogleCloudVisionV1p3beta1WebDetection; + } + /** + * The response for a single offline file annotation request. + */ + interface Schema$GoogleCloudVisionV1p3beta1AsyncAnnotateFileResponse { + /** + * The output location and metadata from AsyncAnnotateFileRequest. + */ + outputConfig?: Schema$GoogleCloudVisionV1p3beta1OutputConfig; + } + /** + * Response to an async batch file annotation request. + */ + interface Schema$GoogleCloudVisionV1p3beta1AsyncBatchAnnotateFilesResponse { + /** + * The list of file annotation responses, one for each request in + * AsyncBatchAnnotateFilesRequest. + */ + responses?: Schema$GoogleCloudVisionV1p3beta1AsyncAnnotateFileResponse[]; + } + /** + * Metadata for the batch operations such as the current state. This is + * included in the `metadata` field of the `Operation` returned by the + * `GetOperation` call of the `google::longrunning::Operations` service. + */ + interface Schema$GoogleCloudVisionV1p3beta1BatchOperationMetadata { + /** + * The time when the batch request is finished and + * google.longrunning.Operation.done is set to true. + */ + endTime?: string; + /** + * The current state of the batch operation. + */ + state?: string; + /** + * The time when the batch request was submitted to the server. + */ + submitTime?: string; + } + /** + * Logical element on the page. + */ + interface Schema$GoogleCloudVisionV1p3beta1Block { + /** + * Detected block type (text, image etc) for this block. + */ + blockType?: string; + /** + * The bounding box for the block. The vertices are in the order of + * top-left, top-right, bottom-right, bottom-left. When a rotation of the + * bounding box is detected the rotation is represented as around the + * top-left corner as defined when the text is read in the 'natural' + * orientation. For example: * when the text is horizontal it might look + * like: 0----1 | | 3----2 * when it's + * rotated 180 degrees around the top-left corner it becomes: 2----3 | | + * 1----0 and the vertice order will still be (0, 1, 2, 3). + */ + boundingBox?: Schema$GoogleCloudVisionV1p3beta1BoundingPoly; + /** + * Confidence of the OCR results on the block. Range [0, 1]. + */ + confidence?: number; + /** + * List of paragraphs in this block (if this blocks is of type text). + */ + paragraphs?: Schema$GoogleCloudVisionV1p3beta1Paragraph[]; + /** + * Additional information detected for the block. + */ + property?: Schema$GoogleCloudVisionV1p3beta1TextAnnotationTextProperty; + } + /** + * A bounding polygon for the detected image annotation. + */ + interface Schema$GoogleCloudVisionV1p3beta1BoundingPoly { + /** + * The bounding polygon normalized vertices. + */ + normalizedVertices?: Schema$GoogleCloudVisionV1p3beta1NormalizedVertex[]; + /** + * The bounding polygon vertices. + */ + vertices?: Schema$GoogleCloudVisionV1p3beta1Vertex[]; + } + /** + * Color information consists of RGB channels, score, and the fraction of the + * image that the color occupies in the image. + */ + interface Schema$GoogleCloudVisionV1p3beta1ColorInfo { + /** + * RGB components of the color. + */ + color?: Schema$Color; + /** + * The fraction of pixels the color occupies in the image. Value in range + * [0, 1]. + */ + pixelFraction?: number; + /** + * Image-specific score for this color. Value in range [0, 1]. + */ + score?: number; + } + /** + * Single crop hint that is used to generate a new crop when serving an image. + */ + interface Schema$GoogleCloudVisionV1p3beta1CropHint { + /** + * The bounding polygon for the crop region. The coordinates of the bounding + * box are in the original image's scale, as returned in `ImageParams`. + */ + boundingPoly?: Schema$GoogleCloudVisionV1p3beta1BoundingPoly; + /** + * Confidence of this being a salient region. Range [0, 1]. + */ + confidence?: number; + /** + * Fraction of importance of this salient region with respect to the + * original image. + */ + importanceFraction?: number; + } + /** + * Set of crop hints that are used to generate new crops when serving images. + */ + interface Schema$GoogleCloudVisionV1p3beta1CropHintsAnnotation { + /** + * Crop hint results. + */ + cropHints?: Schema$GoogleCloudVisionV1p3beta1CropHint[]; + } + /** + * Set of dominant colors and their corresponding scores. + */ + interface Schema$GoogleCloudVisionV1p3beta1DominantColorsAnnotation { + /** + * RGB color values with their score and pixel fraction. + */ + colors?: Schema$GoogleCloudVisionV1p3beta1ColorInfo[]; + } + /** + * Set of detected entity features. + */ + interface Schema$GoogleCloudVisionV1p3beta1EntityAnnotation { + /** + * Image region to which this entity belongs. Not produced for + * `LABEL_DETECTION` features. + */ + boundingPoly?: Schema$GoogleCloudVisionV1p3beta1BoundingPoly; + /** + * **Deprecated. Use `score` instead.** The accuracy of the entity detection + * in an image. For example, for an image in which the "Eiffel + * Tower" entity is detected, this field represents the confidence that + * there is a tower in the query image. Range [0, 1]. + */ + confidence?: number; + /** + * Entity textual description, expressed in its `locale` language. + */ + description?: string; + /** + * The language code for the locale in which the entity textual + * `description` is expressed. + */ + locale?: string; + /** + * The location information for the detected entity. Multiple `LocationInfo` + * elements can be present because one location may indicate the location of + * the scene in the image, and another location may indicate the location of + * the place where the image was taken. Location information is usually + * present for landmarks. + */ + locations?: Schema$GoogleCloudVisionV1p3beta1LocationInfo[]; + /** + * Opaque entity ID. Some IDs may be available in [Google Knowledge Graph + * Search API](https://developers.google.com/knowledge-graph/). + */ + mid?: string; + /** + * Some entities may have optional user-supplied `Property` (name/value) + * fields, such a score or string that qualifies the entity. + */ + properties?: Schema$GoogleCloudVisionV1p3beta1Property[]; + /** + * Overall score of the result. Range [0, 1]. + */ + score?: number; + /** + * The relevancy of the ICA (Image Content Annotation) label to the image. + * For example, the relevancy of "tower" is likely higher to an + * image containing the detected "Eiffel Tower" than to an image + * containing a detected distant towering building, even though the + * confidence that there is a tower in each image may be the same. Range [0, + * 1]. + */ + topicality?: number; + } + /** + * A face annotation object contains the results of face detection. + */ + interface Schema$GoogleCloudVisionV1p3beta1FaceAnnotation { + /** + * Anger likelihood. + */ + angerLikelihood?: string; + /** + * Blurred likelihood. + */ + blurredLikelihood?: string; + /** + * The bounding polygon around the face. The coordinates of the bounding box + * are in the original image's scale, as returned in `ImageParams`. The + * bounding box is computed to "frame" the face in accordance with + * human expectations. It is based on the landmarker results. Note that one + * or more x and/or y coordinates may not be generated in the `BoundingPoly` + * (the polygon will be unbounded) if only a partial face appears in the + * image to be annotated. + */ + boundingPoly?: Schema$GoogleCloudVisionV1p3beta1BoundingPoly; + /** + * Detection confidence. Range [0, 1]. + */ + detectionConfidence?: number; + /** + * The `fd_bounding_poly` bounding polygon is tighter than the + * `boundingPoly`, and encloses only the skin part of the face. Typically, + * it is used to eliminate the face from any image analysis that detects the + * "amount of skin" visible in an image. It is not based on the + * landmarker results, only on the initial face detection, hence the + * <code>fd</code> (face detection) prefix. + */ + fdBoundingPoly?: Schema$GoogleCloudVisionV1p3beta1BoundingPoly; + /** + * Headwear likelihood. + */ + headwearLikelihood?: string; + /** + * Joy likelihood. + */ + joyLikelihood?: string; + /** + * Face landmarking confidence. Range [0, 1]. + */ + landmarkingConfidence?: number; + /** + * Detected face landmarks. + */ + landmarks?: Schema$GoogleCloudVisionV1p3beta1FaceAnnotationLandmark[]; + /** + * Yaw angle, which indicates the leftward/rightward angle that the face is + * pointing relative to the vertical plane perpendicular to the image. Range + * [-180,180]. + */ + panAngle?: number; + /** + * Roll angle, which indicates the amount of clockwise/anti-clockwise + * rotation of the face relative to the image vertical about the axis + * perpendicular to the face. Range [-180,180]. + */ + rollAngle?: number; + /** + * Sorrow likelihood. + */ + sorrowLikelihood?: string; + /** + * Surprise likelihood. + */ + surpriseLikelihood?: string; + /** + * Pitch angle, which indicates the upwards/downwards angle that the face is + * pointing relative to the image's horizontal plane. Range [-180,180]. + */ + tiltAngle?: number; + /** + * Under-exposed likelihood. + */ + underExposedLikelihood?: string; + } + /** + * A face-specific landmark (for example, a face feature). + */ + interface Schema$GoogleCloudVisionV1p3beta1FaceAnnotationLandmark { + /** + * Face landmark position. + */ + position?: Schema$GoogleCloudVisionV1p3beta1Position; + /** + * Face landmark type. + */ + type?: string; + } + /** + * The Google Cloud Storage location where the output will be written to. + */ + interface Schema$GoogleCloudVisionV1p3beta1GcsDestination { + /** + * Google Cloud Storage URI where the results will be stored. Results will + * be in JSON format and preceded by its corresponding input URI. This field + * can either represent a single file, or a prefix for multiple outputs. + * Prefixes must end in a `/`. Examples: * File: + * gs://bucket-name/filename.json * Prefix: gs://bucket-name/prefix/here/ + * * File: gs://bucket-name/prefix/here If multiple outputs, each + * response is still AnnotateFileResponse, each of which contains some + * subset of the full list of AnnotateImageResponse. Multiple outputs can + * happen if, for example, the output JSON is too large and overflows into + * multiple sharded files. + */ + uri?: string; + } + /** + * The Google Cloud Storage location where the input will be read from. + */ + interface Schema$GoogleCloudVisionV1p3beta1GcsSource { + /** + * Google Cloud Storage URI for the input file. This must only be a Google + * Cloud Storage object. Wildcards are not currently supported. + */ + uri?: string; + } + /** + * If an image was produced from a file (e.g. a PDF), this message gives + * information about the source of that image. + */ + interface Schema$GoogleCloudVisionV1p3beta1ImageAnnotationContext { + /** + * If the file was a PDF or TIFF, this field gives the page number within + * the file used to produce the image. + */ + pageNumber?: number; + /** + * The URI of the file used to produce the image. + */ + uri?: string; + } + /** + * Stores image properties, such as dominant colors. + */ + interface Schema$GoogleCloudVisionV1p3beta1ImageProperties { + /** + * If present, dominant colors completed successfully. + */ + dominantColors?: Schema$GoogleCloudVisionV1p3beta1DominantColorsAnnotation; + } + /** + * Response message for the `ImportProductSets` method. This message is + * returned by the google.longrunning.Operations.GetOperation method in the + * returned google.longrunning.Operation.response field. + */ + interface Schema$GoogleCloudVisionV1p3beta1ImportProductSetsResponse { + /** + * The list of reference_images that are imported successfully. + */ + referenceImages?: Schema$GoogleCloudVisionV1p3beta1ReferenceImage[]; + /** + * The rpc status for each ImportProductSet request, including both + * successes and errors. The number of statuses here matches the number of + * lines in the csv file, and statuses[i] stores the success or failure + * status of processing the i-th line of the csv, starting from line 0. + */ + statuses?: Schema$Status[]; + } + /** + * The desired input location and metadata. + */ + interface Schema$GoogleCloudVisionV1p3beta1InputConfig { + /** + * The Google Cloud Storage location to read the input from. + */ + gcsSource?: Schema$GoogleCloudVisionV1p3beta1GcsSource; + /** + * The type of the file. Currently only "application/pdf" and + * "image/tiff" are supported. Wildcards are not supported. + */ + mimeType?: string; + } + /** + * Set of detected objects with bounding boxes. + */ + interface Schema$GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation { + /** + * Image region to which this object belongs. This must be populated. + */ + boundingPoly?: Schema$GoogleCloudVisionV1p3beta1BoundingPoly; + /** + * The BCP-47 language code, such as "en-US" or + * "sr-Latn". For more information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + */ + languageCode?: string; + /** + * Object ID that should align with EntityAnnotation mid. + */ + mid?: string; + /** + * Object name, expressed in its `language_code` language. + */ + name?: string; + /** + * Score of the result. Range [0, 1]. + */ + score?: number; + } + /** + * Detected entity location information. + */ + interface Schema$GoogleCloudVisionV1p3beta1LocationInfo { + /** + * lat/long location coordinates. + */ + latLng?: Schema$LatLng; + } + /** + * A vertex represents a 2D point in the image. NOTE: the normalized vertex + * coordinates are relative to the original image and range from 0 to 1. + */ + interface Schema$GoogleCloudVisionV1p3beta1NormalizedVertex { + /** + * X coordinate. + */ + x?: number; + /** + * Y coordinate. + */ + y?: number; + } + /** + * Contains metadata for the BatchAnnotateImages operation. + */ + interface Schema$GoogleCloudVisionV1p3beta1OperationMetadata { + /** + * The time when the batch request was received. + */ + createTime?: string; + /** + * Current state of the batch operation. + */ + state?: string; + /** + * The time when the operation result was last updated. + */ + updateTime?: string; + } + /** + * The desired output location and metadata. + */ + interface Schema$GoogleCloudVisionV1p3beta1OutputConfig { + /** + * The max number of response protos to put into each output JSON file on + * Google Cloud Storage. The valid range is [1, 100]. If not specified, the + * default value is 20. For example, for one pdf file with 100 pages, 100 + * response protos will be generated. If `batch_size` = 20, then 5 json + * files each containing 20 response protos will be written under the prefix + * `gcs_destination`.`uri`. Currently, batch_size only applies to + * GcsDestination, with potential future support for other output + * configurations. + */ + batchSize?: number; + /** + * The Google Cloud Storage location to write the output(s) to. + */ + gcsDestination?: Schema$GoogleCloudVisionV1p3beta1GcsDestination; + } + /** + * Detected page from OCR. + */ + interface Schema$GoogleCloudVisionV1p3beta1Page { + /** + * List of blocks of text, images etc on this page. + */ + blocks?: Schema$GoogleCloudVisionV1p3beta1Block[]; + /** + * Confidence of the OCR results on the page. Range [0, 1]. + */ + confidence?: number; + /** + * Page height. For PDFs the unit is points. For images (including TIFFs) + * the unit is pixels. + */ + height?: number; + /** + * Additional information detected on the page. + */ + property?: Schema$GoogleCloudVisionV1p3beta1TextAnnotationTextProperty; + /** + * Page width. For PDFs the unit is points. For images (including TIFFs) the + * unit is pixels. + */ + width?: number; + } + /** + * Structural unit of text representing a number of words in certain order. + */ + interface Schema$GoogleCloudVisionV1p3beta1Paragraph { + /** + * The bounding box for the paragraph. The vertices are in the order of + * top-left, top-right, bottom-right, bottom-left. When a rotation of the + * bounding box is detected the rotation is represented as around the + * top-left corner as defined when the text is read in the 'natural' + * orientation. For example: * when the text is horizontal it might look + * like: 0----1 | | 3----2 * when it's rotated 180 + * degrees around the top-left corner it becomes: 2----3 | | + * 1----0 and the vertice order will still be (0, 1, 2, 3). + */ + boundingBox?: Schema$GoogleCloudVisionV1p3beta1BoundingPoly; + /** + * Confidence of the OCR results for the paragraph. Range [0, 1]. + */ + confidence?: number; + /** + * Additional information detected for the paragraph. + */ + property?: Schema$GoogleCloudVisionV1p3beta1TextAnnotationTextProperty; + /** + * List of words in this paragraph. + */ + words?: Schema$GoogleCloudVisionV1p3beta1Word[]; + } + /** + * A 3D position in the image, used primarily for Face detection landmarks. A + * valid Position must have both x and y coordinates. The position coordinates + * are in the same scale as the original image. + */ + interface Schema$GoogleCloudVisionV1p3beta1Position { + /** + * X coordinate. + */ + x?: number; + /** + * Y coordinate. + */ + y?: number; + /** + * Z coordinate (or depth). + */ + z?: number; + } + /** + * A Product contains ReferenceImages. + */ + interface Schema$GoogleCloudVisionV1p3beta1Product { + /** + * User-provided metadata to be stored with this product. Must be at most + * 4096 characters long. + */ + description?: string; + /** + * The user-provided name for this Product. Must not be empty. Must be at + * most 4096 characters long. + */ + displayName?: string; + /** + * The resource name of the product. Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. This field + * is ignored when creating a product. + */ + name?: string; + /** + * The category for the product identified by the reference image. This + * should be either "homegoods" or "apparel". This + * field is immutable. + */ + productCategory?: string; + /** + * Key-value pairs that can be attached to a product. At query time, + * constraints can be specified based on the product_labels. Note that + * integer values can be provided as strings, e.g. "1199". Only + * strings with integer values can match a range-based restriction which is + * to be supported soon. Multiple values can be assigned to the same key. + * One product may have up to 100 product_labels. + */ + productLabels?: Schema$GoogleCloudVisionV1p3beta1ProductKeyValue[]; + } + /** + * A product label represented as a key-value pair. + */ + interface Schema$GoogleCloudVisionV1p3beta1ProductKeyValue { + /** + * The key of the label attached to the product. Cannot be empty and cannot + * exceed 128 bytes. + */ + key?: string; + /** + * The value of the label attached to the product. Cannot be empty and + * cannot exceed 128 bytes. + */ + value?: string; + } + /** + * Results for a product search request. + */ + interface Schema$GoogleCloudVisionV1p3beta1ProductSearchResults { + /** + * Timestamp of the index which provided these results. Changes made after + * this time are not reflected in the current results. + */ + indexTime?: string; + /** + * List of results, one for each product match. + */ + results?: Schema$GoogleCloudVisionV1p3beta1ProductSearchResultsResult[]; + } + /** + * Information about a product. + */ + interface Schema$GoogleCloudVisionV1p3beta1ProductSearchResultsResult { + /** + * The resource name of the image from the product that is the closest match + * to the query. + */ + image?: string; + /** + * The Product. + */ + product?: Schema$GoogleCloudVisionV1p3beta1Product; + /** + * A confidence level on the match, ranging from 0 (no confidence) to 1 + * (full confidence). + */ + score?: number; + } + /** + * A `Property` consists of a user-supplied name/value pair. + */ + interface Schema$GoogleCloudVisionV1p3beta1Property { + /** + * Name of the property. + */ + name?: string; + /** + * Value of numeric properties. + */ + uint64Value?: string; + /** + * Value of the property. + */ + value?: string; + } + /** + * A `ReferenceImage` represents a product image and its associated metadata, + * such as bounding boxes. + */ + interface Schema$GoogleCloudVisionV1p3beta1ReferenceImage { + /** + * Bounding polygons around the areas of interest in the reference image. + * Optional. If this field is empty, the system will try to detect regions + * of interest. At most 10 bounding polygons will be used. The provided + * shape is converted into a non-rotated rectangle. Once converted, the + * small edge of the rectangle must be greater than or equal to 300 pixels. + * The aspect ratio must be 1:4 or less (i.e. 1:3 is ok; 1:5 is not). + */ + boundingPolys?: Schema$GoogleCloudVisionV1p3beta1BoundingPoly[]; + /** + * The resource name of the reference image. Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`. + * This field is ignored when creating a reference image. + */ + name?: string; + /** + * The Google Cloud Storage URI of the reference image. The URI must start + * with `gs://`. Required. + */ + uri?: string; + } + /** + * Set of features pertaining to the image, computed by computer vision + * methods over safe-search verticals (for example, adult, spoof, medical, + * violence). + */ + interface Schema$GoogleCloudVisionV1p3beta1SafeSearchAnnotation { + /** + * Represents the adult content likelihood for the image. Adult content may + * contain elements such as nudity, pornographic images or cartoons, or + * sexual activities. + */ + adult?: string; + /** + * Likelihood that this is a medical image. + */ + medical?: string; + /** + * Likelihood that the request image contains racy content. Racy content may + * include (but is not limited to) skimpy or sheer clothing, strategically + * covered nudity, lewd or provocative poses, or close-ups of sensitive body + * areas. + */ + racy?: string; + /** + * Spoof likelihood. The likelihood that an modification was made to the + * image's canonical version to make it appear funny or offensive. + */ + spoof?: string; + /** + * Likelihood that this image contains violent content. + */ + violence?: string; + } + /** + * A single symbol representation. + */ + interface Schema$GoogleCloudVisionV1p3beta1Symbol { + /** + * The bounding box for the symbol. The vertices are in the order of + * top-left, top-right, bottom-right, bottom-left. When a rotation of the + * bounding box is detected the rotation is represented as around the + * top-left corner as defined when the text is read in the 'natural' + * orientation. For example: * when the text is horizontal it might look + * like: 0----1 | | 3----2 * when it's rotated 180 + * degrees around the top-left corner it becomes: 2----3 | | + * 1----0 and the vertice order will still be (0, 1, 2, 3). + */ + boundingBox?: Schema$GoogleCloudVisionV1p3beta1BoundingPoly; + /** + * Confidence of the OCR results for the symbol. Range [0, 1]. + */ + confidence?: number; + /** + * Additional information detected for the symbol. + */ + property?: Schema$GoogleCloudVisionV1p3beta1TextAnnotationTextProperty; + /** + * The actual UTF-8 representation of the symbol. + */ + text?: string; + } + /** + * TextAnnotation contains a structured representation of OCR extracted text. + * The hierarchy of an OCR extracted text structure is like this: + * TextAnnotation -> Page -> Block -> Paragraph -> Word -> + * Symbol Each structural component, starting from Page, may further have + * their own properties. Properties describe detected languages, breaks etc.. + * Please refer to the TextAnnotation.TextProperty message definition below + * for more detail. + */ + interface Schema$GoogleCloudVisionV1p3beta1TextAnnotation { + /** + * List of pages detected by OCR. + */ + pages?: Schema$GoogleCloudVisionV1p3beta1Page[]; + /** + * UTF-8 text detected on the pages. + */ + text?: string; + } + /** + * Detected start or end of a structural component. + */ + interface Schema$GoogleCloudVisionV1p3beta1TextAnnotationDetectedBreak { + /** + * True if break prepends the element. + */ + isPrefix?: boolean; + /** + * Detected break type. + */ + type?: string; + } + /** + * Detected language for a structural component. + */ + interface Schema$GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage { + /** + * Confidence of detected language. Range [0, 1]. + */ + confidence?: number; + /** + * The BCP-47 language code, such as "en-US" or + * "sr-Latn". For more information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + */ + languageCode?: string; + } + /** + * Additional information detected on the structural component. + */ + interface Schema$GoogleCloudVisionV1p3beta1TextAnnotationTextProperty { + /** + * Detected start or end of a text segment. + */ + detectedBreak?: Schema$GoogleCloudVisionV1p3beta1TextAnnotationDetectedBreak; + /** + * A list of detected languages together with confidence. + */ + detectedLanguages?: Schema$GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage[]; + } + /** + * A vertex represents a 2D point in the image. NOTE: the vertex coordinates + * are in the same scale as the original image. + */ + interface Schema$GoogleCloudVisionV1p3beta1Vertex { + /** + * X coordinate. + */ + x?: number; + /** + * Y coordinate. + */ + y?: number; + } + /** + * Relevant information for the image from the Internet. + */ + interface Schema$GoogleCloudVisionV1p3beta1WebDetection { + /** + * The service's best guess as to the topic of the request image. + * Inferred from similar images on the open web. + */ + bestGuessLabels?: Schema$GoogleCloudVisionV1p3beta1WebDetectionWebLabel[]; + /** + * Fully matching images from the Internet. Can include resized copies of + * the query image. + */ + fullMatchingImages?: Schema$GoogleCloudVisionV1p3beta1WebDetectionWebImage[]; + /** + * Web pages containing the matching images from the Internet. + */ + pagesWithMatchingImages?: Schema$GoogleCloudVisionV1p3beta1WebDetectionWebPage[]; + /** + * Partial matching images from the Internet. Those images are similar + * enough to share some key-point features. For example an original image + * will likely have partial matching for its crops. + */ + partialMatchingImages?: Schema$GoogleCloudVisionV1p3beta1WebDetectionWebImage[]; + /** + * The visually similar image results. + */ + visuallySimilarImages?: Schema$GoogleCloudVisionV1p3beta1WebDetectionWebImage[]; + /** + * Deduced entities from similar images on the Internet. + */ + webEntities?: Schema$GoogleCloudVisionV1p3beta1WebDetectionWebEntity[]; + } + /** + * Entity deduced from similar images on the Internet. + */ + interface Schema$GoogleCloudVisionV1p3beta1WebDetectionWebEntity { + /** + * Canonical description of the entity, in English. + */ + description?: string; + /** + * Opaque entity ID. + */ + entityId?: string; + /** + * Overall relevancy score for the entity. Not normalized and not comparable + * across different image queries. + */ + score?: number; + } + /** + * Metadata for online images. + */ + interface Schema$GoogleCloudVisionV1p3beta1WebDetectionWebImage { + /** + * (Deprecated) Overall relevancy score for the image. + */ + score?: number; + /** + * The result image URL. + */ + url?: string; + } + /** + * Label to provide extra metadata for the web detection. + */ + interface Schema$GoogleCloudVisionV1p3beta1WebDetectionWebLabel { + /** + * Label for extra metadata. + */ + label?: string; + /** + * The BCP-47 language code for `label`, such as "en-US" or + * "sr-Latn". For more information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + */ + languageCode?: string; + } + /** + * Metadata for web pages. + */ + interface Schema$GoogleCloudVisionV1p3beta1WebDetectionWebPage { + /** + * Fully matching images on the page. Can include resized copies of the + * query image. + */ + fullMatchingImages?: Schema$GoogleCloudVisionV1p3beta1WebDetectionWebImage[]; + /** + * Title for the web page, may contain HTML markups. + */ + pageTitle?: string; + /** + * Partial matching images on the page. Those images are similar enough to + * share some key-point features. For example an original image will likely + * have partial matching for its crops. + */ + partialMatchingImages?: Schema$GoogleCloudVisionV1p3beta1WebDetectionWebImage[]; + /** + * (Deprecated) Overall relevancy score for the web page. + */ + score?: number; + /** + * The result web page URL. + */ + url?: string; + } + /** + * A word representation. + */ + interface Schema$GoogleCloudVisionV1p3beta1Word { + /** + * The bounding box for the word. The vertices are in the order of top-left, + * top-right, bottom-right, bottom-left. When a rotation of the bounding box + * is detected the rotation is represented as around the top-left corner as + * defined when the text is read in the 'natural' orientation. For + * example: * when the text is horizontal it might look like: 0----1 + * | | 3----2 * when it's rotated 180 degrees around the + * top-left corner it becomes: 2----3 | | 1----0 and the + * vertice order will still be (0, 1, 2, 3). + */ + boundingBox?: Schema$GoogleCloudVisionV1p3beta1BoundingPoly; + /** + * Confidence of the OCR results for the word. Range [0, 1]. + */ + confidence?: number; + /** + * Additional information detected for the word. + */ + property?: Schema$GoogleCloudVisionV1p3beta1TextAnnotationTextProperty; + /** + * List of symbols in the word. The order of the symbols follows the natural + * reading order. + */ + symbols?: Schema$GoogleCloudVisionV1p3beta1Symbol[]; + } + /** + * Client image to perform Google Cloud Vision API tasks over. + */ + interface Schema$Image { + /** + * Image content, represented as a stream of bytes. Note: As with all + * `bytes` fields, protobuffers use a pure binary representation, whereas + * JSON representations use base64. + */ + content?: string; + /** + * Google Cloud Storage image location, or publicly-accessible image URL. If + * both `content` and `source` are provided for an image, `content` takes + * precedence and is used to perform the image annotation request. + */ + source?: Schema$ImageSource; + } + /** + * If an image was produced from a file (e.g. a PDF), this message gives + * information about the source of that image. + */ + interface Schema$ImageAnnotationContext { + /** + * If the file was a PDF or TIFF, this field gives the page number within + * the file used to produce the image. + */ + pageNumber?: number; + /** + * The URI of the file used to produce the image. + */ + uri?: string; + } + /** + * Image context and/or feature-specific parameters. + */ + interface Schema$ImageContext { + /** + * Parameters for crop hints annotation request. + */ + cropHintsParams?: Schema$CropHintsParams; + /** + * List of languages to use for TEXT_DETECTION. In most cases, an empty + * value yields the best results since it enables automatic language + * detection. For languages based on the Latin alphabet, setting + * `language_hints` is not needed. In rare cases, when the language of the + * text in the image is known, setting a hint will help get better results + * (although it will be a significant hindrance if the hint is wrong). Text + * detection returns an error if one or more of the specified languages is + * not one of the [supported languages](/vision/docs/languages). + */ + languageHints?: string[]; + /** + * Not used. + */ + latLongRect?: Schema$LatLongRect; + /** + * Parameters for web detection. + */ + webDetectionParams?: Schema$WebDetectionParams; + } + /** + * Stores image properties, such as dominant colors. + */ + interface Schema$ImageProperties { + /** + * If present, dominant colors completed successfully. + */ + dominantColors?: Schema$DominantColorsAnnotation; + } + /** + * External image source (Google Cloud Storage or web URL image location). + */ + interface Schema$ImageSource { + /** + * **Use `image_uri` instead.** The Google Cloud Storage URI of the form + * `gs://bucket_name/object_name`. Object versioning is not supported. See + * [Google Cloud Storage Request + * URIs](https://cloud.google.com/storage/docs/reference-uris) for more + * info. + */ + gcsImageUri?: string; + /** + * The URI of the source image. Can be either: 1. A Google Cloud Storage + * URI of the form `gs://bucket_name/object_name`. Object versioning is + * not supported. See [Google Cloud Storage Request + * URIs](https://cloud.google.com/storage/docs/reference-uris) for more + * info. 2. A publicly-accessible image HTTP/HTTPS URL. When fetching + * images from HTTP/HTTPS URLs, Google cannot guarantee that the request + * will be completed. Your request may fail if the specified host denies + * the request (e.g. due to request throttling or DOS prevention), or if + * Google throttles requests to the site for abuse prevention. You should + * not depend on externally-hosted images for production applications. + * When both `gcs_image_uri` and `image_uri` are specified, `image_uri` + * takes precedence. + */ + imageUri?: string; + } + /** + * The desired input location and metadata. + */ + interface Schema$InputConfig { + /** + * The Google Cloud Storage location to read the input from. + */ + gcsSource?: Schema$GcsSource; + /** + * The type of the file. Currently only "application/pdf" and + * "image/tiff" are supported. Wildcards are not supported. + */ + mimeType?: string; + } + /** + * A face-specific landmark (for example, a face feature). + */ + interface Schema$Landmark { + /** + * Face landmark position. + */ + position?: Schema$Position; + /** + * Face landmark type. + */ + type?: string; + } + /** + * An object representing a latitude/longitude pair. This is expressed as a + * pair of doubles representing degrees latitude and degrees longitude. Unless + * specified otherwise, this must conform to the <a + * href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84 + * standard</a>. Values must be within normalized ranges. + */ + interface Schema$LatLng { + /** + * The latitude in degrees. It must be in the range [-90.0, +90.0]. + */ + latitude?: number; + /** + * The longitude in degrees. It must be in the range [-180.0, +180.0]. + */ + longitude?: number; + } + /** + * Rectangle determined by min and max `LatLng` pairs. + */ + interface Schema$LatLongRect { + /** + * Max lat/long pair. + */ + maxLatLng?: Schema$LatLng; + /** + * Min lat/long pair. + */ + minLatLng?: Schema$LatLng; + } + /** + * The response message for Operations.ListOperations. + */ + interface Schema$ListOperationsResponse { + /** + * The standard List next-page token. + */ + nextPageToken?: string; + /** + * A list of operations that matches the specified filter in the request. + */ + operations?: Schema$Operation[]; + } + /** + * Set of detected objects with bounding boxes. + */ + interface Schema$LocalizedObjectAnnotation { + /** + * Image region to which this object belongs. This must be populated. + */ + boundingPoly?: Schema$BoundingPoly; + /** + * The BCP-47 language code, such as "en-US" or + * "sr-Latn". For more information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + */ + languageCode?: string; + /** + * Object ID that should align with EntityAnnotation mid. + */ + mid?: string; + /** + * Object name, expressed in its `language_code` language. + */ + name?: string; + /** + * Score of the result. Range [0, 1]. + */ + score?: number; + } + /** + * Detected entity location information. + */ + interface Schema$LocationInfo { + /** + * lat/long location coordinates. + */ + latLng?: Schema$LatLng; + } + /** + * A vertex represents a 2D point in the image. NOTE: the normalized vertex + * coordinates are relative to the original image and range from 0 to 1. + */ + interface Schema$NormalizedVertex { + /** + * X coordinate. + */ + x?: number; + /** + * Y coordinate. + */ + y?: number; + } + /** + * This resource represents a long-running operation that is the result of a + * network API call. + */ + interface Schema$Operation { + /** + * If the value is `false`, it means the operation is still in progress. If + * `true`, the operation is completed, and either `error` or `response` is + * available. + */ + done?: boolean; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * Service-specific metadata associated with the operation. It typically + * contains progress information and common metadata such as create time. + * Some services might not provide such metadata. Any method that returns a + * long-running operation should document the metadata type, if any. + */ + metadata?: any; + /** + * The server-assigned name, which is only unique within the same service + * that originally returns it. If you use the default HTTP mapping, the + * `name` should have the format of `operations/some/unique/name`. + */ + name?: string; + /** + * The normal response of the operation in case of success. If the original + * method returns no data on success, such as `Delete`, the response is + * `google.protobuf.Empty`. If the original method is standard + * `Get`/`Create`/`Update`, the response should be the resource. For other + * methods, the response should have the type `XxxResponse`, where `Xxx` is + * the original method name. For example, if the original method name is + * `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: any; + } + /** + * Contains metadata for the BatchAnnotateImages operation. + */ + interface Schema$OperationMetadata { + /** + * The time when the batch request was received. + */ + createTime?: string; + /** + * Current state of the batch operation. + */ + state?: string; + /** + * The time when the operation result was last updated. + */ + updateTime?: string; + } + /** + * The desired output location and metadata. + */ + interface Schema$OutputConfig { + /** + * The max number of response protos to put into each output JSON file on + * Google Cloud Storage. The valid range is [1, 100]. If not specified, the + * default value is 20. For example, for one pdf file with 100 pages, 100 + * response protos will be generated. If `batch_size` = 20, then 5 json + * files each containing 20 response protos will be written under the prefix + * `gcs_destination`.`uri`. Currently, batch_size only applies to + * GcsDestination, with potential future support for other output + * configurations. + */ + batchSize?: number; + /** + * The Google Cloud Storage location to write the output(s) to. + */ + gcsDestination?: Schema$GcsDestination; + } + /** + * Detected page from OCR. + */ + interface Schema$Page { + /** + * List of blocks of text, images etc on this page. + */ + blocks?: Schema$Block[]; + /** + * Confidence of the OCR results on the page. Range [0, 1]. + */ + confidence?: number; + /** + * Page height. For PDFs the unit is points. For images (including TIFFs) + * the unit is pixels. + */ + height?: number; + /** + * Additional information detected on the page. + */ + property?: Schema$TextProperty; + /** + * Page width. For PDFs the unit is points. For images (including TIFFs) the + * unit is pixels. + */ + width?: number; + } + /** + * Structural unit of text representing a number of words in certain order. + */ + interface Schema$Paragraph { + /** + * The bounding box for the paragraph. The vertices are in the order of + * top-left, top-right, bottom-right, bottom-left. When a rotation of the + * bounding box is detected the rotation is represented as around the + * top-left corner as defined when the text is read in the 'natural' + * orientation. For example: * when the text is horizontal it might look + * like: 0----1 | | 3----2 * when it's rotated 180 + * degrees around the top-left corner it becomes: 2----3 | | + * 1----0 and the vertice order will still be (0, 1, 2, 3). + */ + boundingBox?: Schema$BoundingPoly; + /** + * Confidence of the OCR results for the paragraph. Range [0, 1]. + */ + confidence?: number; + /** + * Additional information detected for the paragraph. + */ + property?: Schema$TextProperty; + /** + * List of words in this paragraph. + */ + words?: Schema$Word[]; + } + /** + * A 3D position in the image, used primarily for Face detection landmarks. A + * valid Position must have both x and y coordinates. The position coordinates + * are in the same scale as the original image. + */ + interface Schema$Position { + /** + * X coordinate. + */ + x?: number; + /** + * Y coordinate. + */ + y?: number; + /** + * Z coordinate (or depth). + */ + z?: number; + } + /** + * A `Property` consists of a user-supplied name/value pair. + */ + interface Schema$Property { + /** + * Name of the property. + */ + name?: string; + /** + * Value of numeric properties. + */ + uint64Value?: string; + /** + * Value of the property. + */ + value?: string; + } + /** + * Set of features pertaining to the image, computed by computer vision + * methods over safe-search verticals (for example, adult, spoof, medical, + * violence). + */ + interface Schema$SafeSearchAnnotation { + /** + * Represents the adult content likelihood for the image. Adult content may + * contain elements such as nudity, pornographic images or cartoons, or + * sexual activities. + */ + adult?: string; + /** + * Likelihood that this is a medical image. + */ + medical?: string; + /** + * Likelihood that the request image contains racy content. Racy content may + * include (but is not limited to) skimpy or sheer clothing, strategically + * covered nudity, lewd or provocative poses, or close-ups of sensitive body + * areas. + */ + racy?: string; + /** + * Spoof likelihood. The likelihood that an modification was made to the + * image's canonical version to make it appear funny or offensive. + */ + spoof?: string; + /** + * Likelihood that this image contains violent content. + */ + violence?: string; + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + /** + * A single symbol representation. + */ + interface Schema$Symbol { + /** + * The bounding box for the symbol. The vertices are in the order of + * top-left, top-right, bottom-right, bottom-left. When a rotation of the + * bounding box is detected the rotation is represented as around the + * top-left corner as defined when the text is read in the 'natural' + * orientation. For example: * when the text is horizontal it might look + * like: 0----1 | | 3----2 * when it's rotated 180 + * degrees around the top-left corner it becomes: 2----3 | | + * 1----0 and the vertice order will still be (0, 1, 2, 3). + */ + boundingBox?: Schema$BoundingPoly; + /** + * Confidence of the OCR results for the symbol. Range [0, 1]. + */ + confidence?: number; + /** + * Additional information detected for the symbol. + */ + property?: Schema$TextProperty; + /** + * The actual UTF-8 representation of the symbol. + */ + text?: string; + } + /** + * TextAnnotation contains a structured representation of OCR extracted text. + * The hierarchy of an OCR extracted text structure is like this: + * TextAnnotation -> Page -> Block -> Paragraph -> Word -> + * Symbol Each structural component, starting from Page, may further have + * their own properties. Properties describe detected languages, breaks etc.. + * Please refer to the TextAnnotation.TextProperty message definition below + * for more detail. + */ + interface Schema$TextAnnotation { + /** + * List of pages detected by OCR. + */ + pages?: Schema$Page[]; + /** + * UTF-8 text detected on the pages. + */ + text?: string; + } + /** + * Additional information detected on the structural component. + */ + interface Schema$TextProperty { + /** + * Detected start or end of a text segment. + */ + detectedBreak?: Schema$DetectedBreak; + /** + * A list of detected languages together with confidence. + */ + detectedLanguages?: Schema$DetectedLanguage[]; + } + /** + * A vertex represents a 2D point in the image. NOTE: the vertex coordinates + * are in the same scale as the original image. + */ + interface Schema$Vertex { + /** + * X coordinate. + */ + x?: number; + /** + * Y coordinate. + */ + y?: number; + } + /** + * Relevant information for the image from the Internet. + */ + interface Schema$WebDetection { + /** + * The service's best guess as to the topic of the request image. + * Inferred from similar images on the open web. + */ + bestGuessLabels?: Schema$WebLabel[]; + /** + * Fully matching images from the Internet. Can include resized copies of + * the query image. + */ + fullMatchingImages?: Schema$WebImage[]; + /** + * Web pages containing the matching images from the Internet. + */ + pagesWithMatchingImages?: Schema$WebPage[]; + /** + * Partial matching images from the Internet. Those images are similar + * enough to share some key-point features. For example an original image + * will likely have partial matching for its crops. + */ + partialMatchingImages?: Schema$WebImage[]; + /** + * The visually similar image results. + */ + visuallySimilarImages?: Schema$WebImage[]; + /** + * Deduced entities from similar images on the Internet. + */ + webEntities?: Schema$WebEntity[]; + } + /** + * Parameters for web detection request. + */ + interface Schema$WebDetectionParams { + /** + * Whether to include results derived from the geo information in the image. + */ + includeGeoResults?: boolean; + } + /** + * Entity deduced from similar images on the Internet. + */ + interface Schema$WebEntity { + /** + * Canonical description of the entity, in English. + */ + description?: string; + /** + * Opaque entity ID. + */ + entityId?: string; + /** + * Overall relevancy score for the entity. Not normalized and not comparable + * across different image queries. + */ + score?: number; + } + /** + * Metadata for online images. + */ + interface Schema$WebImage { + /** + * (Deprecated) Overall relevancy score for the image. + */ + score?: number; + /** + * The result image URL. + */ + url?: string; + } + /** + * Label to provide extra metadata for the web detection. + */ + interface Schema$WebLabel { + /** + * Label for extra metadata. + */ + label?: string; + /** + * The BCP-47 language code for `label`, such as "en-US" or + * "sr-Latn". For more information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + */ + languageCode?: string; + } + /** + * Metadata for web pages. + */ + interface Schema$WebPage { + /** + * Fully matching images on the page. Can include resized copies of the + * query image. + */ + fullMatchingImages?: Schema$WebImage[]; + /** + * Title for the web page, may contain HTML markups. + */ + pageTitle?: string; + /** + * Partial matching images on the page. Those images are similar enough to + * share some key-point features. For example an original image will likely + * have partial matching for its crops. + */ + partialMatchingImages?: Schema$WebImage[]; + /** + * (Deprecated) Overall relevancy score for the web page. + */ + score?: number; + /** + * The result web page URL. + */ + url?: string; + } + /** + * A word representation. + */ + interface Schema$Word { + /** + * The bounding box for the word. The vertices are in the order of top-left, + * top-right, bottom-right, bottom-left. When a rotation of the bounding box + * is detected the rotation is represented as around the top-left corner as + * defined when the text is read in the 'natural' orientation. For + * example: * when the text is horizontal it might look like: 0----1 + * | | 3----2 * when it's rotated 180 degrees around the + * top-left corner it becomes: 2----3 | | 1----0 and the + * vertice order will still be (0, 1, 2, 3). + */ + boundingBox?: Schema$BoundingPoly; + /** + * Confidence of the OCR results for the word. Range [0, 1]. + */ + confidence?: number; + /** + * Additional information detected for the word. + */ + property?: Schema$TextProperty; + /** + * List of symbols in the word. The order of the symbols follows the natural + * reading order. + */ + symbols?: Schema$Symbol[]; + } + class Resource$Files { + root: Vision; + constructor(root: Vision); + getRoot(): Vision; + /** + * vision.files.asyncBatchAnnotate + * @desc Run asynchronous image detection and annotation for a list of + * generic files, such as PDF files, which may contain multiple pages and + * multiple images per page. Progress and results can be retrieved through + * the `google.longrunning.Operations` interface. `Operation.metadata` + * contains `OperationMetadata` (metadata). `Operation.response` contains + * `AsyncBatchAnnotateFilesResponse` (results). + * @alias vision.files.asyncBatchAnnotate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().AsyncBatchAnnotateFilesRequest} 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 + */ + asyncBatchAnnotate(params?: Params$Resource$Files$Asyncbatchannotate, options?: MethodOptions): AxiosPromise; + asyncBatchAnnotate(params: Params$Resource$Files$Asyncbatchannotate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + asyncBatchAnnotate(params: Params$Resource$Files$Asyncbatchannotate, callback: BodyResponseCallback): void; + asyncBatchAnnotate(callback: BodyResponseCallback): void; + } + interface Params$Resource$Files$Asyncbatchannotate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$AsyncBatchAnnotateFilesRequest; + } + class Resource$Images { + root: Vision; + constructor(root: Vision); + getRoot(): Vision; + /** + * vision.images.annotate + * @desc Run image detection and annotation for a batch of images. + * @example + * * // BEFORE RUNNING: + * // --------------- + * // 1. If not already done, enable the Google Cloud Vision API + * // and check the quota for your project at + * // https://console.developers.google.com/apis/api/vision + * // 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 vision = google.vision('v1'); + * + * authorize(function(authClient) { + * var request = { + * resource: { + * // TODO: Add desired properties to the request body. + * }, + * + * auth: authClient, + * }; + * + * vision.images.annotate(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 vision.images.annotate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().BatchAnnotateImagesRequest} 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 + */ + annotate(params?: Params$Resource$Images$Annotate, options?: MethodOptions): AxiosPromise; + annotate(params: Params$Resource$Images$Annotate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + annotate(params: Params$Resource$Images$Annotate, callback: BodyResponseCallback): void; + annotate(callback: BodyResponseCallback): void; + } + interface Params$Resource$Images$Annotate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$BatchAnnotateImagesRequest; + } + class Resource$Locations { + root: Vision; + operations: Resource$Locations$Operations; + constructor(root: Vision); + getRoot(): Vision; + } + class Resource$Locations$Operations { + root: Vision; + constructor(root: Vision); + getRoot(): Vision; + /** + * vision.locations.operations.get + * @desc Gets the latest state of a long-running operation. Clients can use + * this method to poll the operation result at intervals as recommended by + * the API service. + * @alias vision.locations.operations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource. + * @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?: Params$Resource$Locations$Operations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Locations$Operations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Locations$Operations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + } + interface Params$Resource$Locations$Operations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource. + */ + name?: string; + } + class Resource$Operations { + root: Vision; + constructor(root: Vision); + getRoot(): Vision; + /** + * vision.operations.cancel + * @desc Starts asynchronous cancellation on a long-running operation. The + * server makes a best effort to cancel the operation, but success is not + * guaranteed. If the server doesn't support this method, it returns + * `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation + * or other methods to check whether the cancellation succeeded or whether + * the operation completed despite cancellation. On successful cancellation, + * the operation is not deleted; instead, it becomes an operation with an + * Operation.error value with a google.rpc.Status.code of 1, corresponding + * to `Code.CANCELLED`. + * @alias vision.operations.cancel + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource to be cancelled. + * @param {().CancelOperationRequest} 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 + */ + cancel(params?: Params$Resource$Operations$Cancel, options?: MethodOptions): AxiosPromise; + cancel(params: Params$Resource$Operations$Cancel, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + cancel(params: Params$Resource$Operations$Cancel, callback: BodyResponseCallback): void; + cancel(callback: BodyResponseCallback): void; + /** + * vision.operations.delete + * @desc Deletes a long-running operation. This method indicates that the + * client is no longer interested in the operation result. It does not + * cancel the operation. If the server doesn't support this method, it + * returns `google.rpc.Code.UNIMPLEMENTED`. + * @alias vision.operations.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource to be deleted. + * @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?: Params$Resource$Operations$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Operations$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Operations$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * vision.operations.get + * @desc Gets the latest state of a long-running operation. Clients can use + * this method to poll the operation result at intervals as recommended by + * the API service. + * @alias vision.operations.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The name of the operation resource. + * @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?: Params$Resource$Operations$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Operations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Operations$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * vision.operations.list + * @desc Lists operations that match the specified filter in the request. If + * the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: + * the `name` binding allows API services to override the binding to use + * different resource name schemes, such as `users/x/operations`. To + * override the binding, API services can add a binding such as + * `"/v1/{name=users/x}/operations"` to their service configuration. For + * backwards compatibility, the default name includes the operations + * collection id, however overriding users must ensure the name binding is + * the parent resource, without the operations collection id. + * @alias vision.operations.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter The standard list filter. + * @param {string} params.name The name of the operation's parent resource. + * @param {integer=} params.pageSize The standard list page size. + * @param {string=} params.pageToken The standard list page token. + * @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?: Params$Resource$Operations$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Operations$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Operations$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Operations$Cancel { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource to be cancelled. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CancelOperationRequest; + } + interface Params$Resource$Operations$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource to be deleted. + */ + name?: string; + } + interface Params$Resource$Operations$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The name of the operation resource. + */ + name?: string; + } + interface Params$Resource$Operations$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The standard list filter. + */ + filter?: string; + /** + * The name of the operation's parent resource. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/vision/v1.js b/express-server/node_modules/googleapis/build/src/apis/vision/v1.js new file mode 100644 index 00000000..0e45c9b3 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/vision/v1.js @@ -0,0 +1,324 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var vision_v1; +(function (vision_v1) { + /** + * Cloud Vision API + * + * Integrates Google Vision features, including image labeling, face, logo, + * and landmark detection, optical character recognition (OCR), and detection + * of explicit content, into applications. + * + * @example + * const {google} = require('googleapis'); + * const vision = google.vision('v1'); + * + * @namespace vision + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Vision + */ + class Vision { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.files = new Resource$Files(this); + this.images = new Resource$Images(this); + this.locations = new Resource$Locations(this); + this.operations = new Resource$Operations(this); + } + getRoot() { + return this.root; + } + } + vision_v1.Vision = Vision; + class Resource$Files { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + asyncBatchAnnotate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://vision.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/files:asyncBatchAnnotate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + vision_v1.Resource$Files = Resource$Files; + class Resource$Images { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + annotate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://vision.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/images:annotate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + vision_v1.Resource$Images = Resource$Images; + class Resource$Locations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.operations = new Resource$Locations$Operations(root); + } + getRoot() { + return this.root; + } + } + vision_v1.Resource$Locations = Resource$Locations; + class Resource$Locations$Operations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://vision.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + vision_v1.Resource$Locations$Operations = Resource$Locations$Operations; + class Resource$Operations { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + cancel(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://vision.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}:cancel') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://vision.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://vision.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://vision.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + vision_v1.Resource$Operations = Resource$Operations; +})(vision_v1 = exports.vision_v1 || (exports.vision_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/vision/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/vision/v1.js.map new file mode 100644 index 00000000..a9d54c9c --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/vision/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/vision/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/vision/v1p1beta1.d.ts b/express-server/node_modules/googleapis/build/src/apis/vision/v1p1beta1.d.ts new file mode 100644 index 00000000..3ac2aea8 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/vision/v1p1beta1.d.ts @@ -0,0 +1,4089 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace vision_v1p1beta1 { + interface Options extends GlobalOptions { + version: 'v1p1beta1'; + } + /** + * Cloud Vision API + * + * Integrates Google Vision features, including image labeling, face, logo, + * and landmark detection, optical character recognition (OCR), and detection + * of explicit content, into applications. + * + * @example + * const {google} = require('googleapis'); + * const vision = google.vision('v1p1beta1'); + * + * @namespace vision + * @type {Function} + * @version v1p1beta1 + * @variation v1p1beta1 + * @param {object=} options Options for Vision + */ + class Vision { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + files: Resource$Files; + images: Resource$Images; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Response to a single file annotation request. A file may contain one or + * more images, which individually have their own responses. + */ + interface Schema$AnnotateFileResponse { + /** + * Information about the file for which this response is generated. + */ + inputConfig?: Schema$InputConfig; + /** + * Individual responses to images found within the file. + */ + responses?: Schema$AnnotateImageResponse[]; + } + /** + * Response to an image annotation request. + */ + interface Schema$AnnotateImageResponse { + /** + * If present, contextual information is needed to understand where this + * image comes from. + */ + context?: Schema$ImageAnnotationContext; + /** + * If present, crop hints have completed successfully. + */ + cropHintsAnnotation?: Schema$CropHintsAnnotation; + /** + * If set, represents the error message for the operation. Note that + * filled-in image annotations are guaranteed to be correct, even when + * `error` is set. + */ + error?: Schema$Status; + /** + * If present, face detection has completed successfully. + */ + faceAnnotations?: Schema$FaceAnnotation[]; + /** + * If present, text (OCR) detection or document (OCR) text detection has + * completed successfully. This annotation provides the structural hierarchy + * for the OCR detected text. + */ + fullTextAnnotation?: Schema$TextAnnotation; + /** + * If present, image properties were extracted successfully. + */ + imagePropertiesAnnotation?: Schema$ImageProperties; + /** + * If present, label detection has completed successfully. + */ + labelAnnotations?: Schema$EntityAnnotation[]; + /** + * If present, landmark detection has completed successfully. + */ + landmarkAnnotations?: Schema$EntityAnnotation[]; + /** + * If present, localized object detection has completed successfully. This + * will be sorted descending by confidence score. + */ + localizedObjectAnnotations?: Schema$LocalizedObjectAnnotation[]; + /** + * If present, logo detection has completed successfully. + */ + logoAnnotations?: Schema$EntityAnnotation[]; + /** + * If present, safe-search annotation has completed successfully. + */ + safeSearchAnnotation?: Schema$SafeSearchAnnotation; + /** + * If present, text (OCR) detection has completed successfully. + */ + textAnnotations?: Schema$EntityAnnotation[]; + /** + * If present, web detection has completed successfully. + */ + webDetection?: Schema$WebDetection; + } + /** + * The response for a single offline file annotation request. + */ + interface Schema$AsyncAnnotateFileResponse { + /** + * The output location and metadata from AsyncAnnotateFileRequest. + */ + outputConfig?: Schema$OutputConfig; + } + /** + * Response to an async batch file annotation request. + */ + interface Schema$AsyncBatchAnnotateFilesResponse { + /** + * The list of file annotation responses, one for each request in + * AsyncBatchAnnotateFilesRequest. + */ + responses?: Schema$AsyncAnnotateFileResponse[]; + } + /** + * Logical element on the page. + */ + interface Schema$Block { + /** + * Detected block type (text, image etc) for this block. + */ + blockType?: string; + /** + * The bounding box for the block. The vertices are in the order of + * top-left, top-right, bottom-right, bottom-left. When a rotation of the + * bounding box is detected the rotation is represented as around the + * top-left corner as defined when the text is read in the 'natural' + * orientation. For example: * when the text is horizontal it might look + * like: 0----1 | | 3----2 * when it's + * rotated 180 degrees around the top-left corner it becomes: 2----3 | | + * 1----0 and the vertice order will still be (0, 1, 2, 3). + */ + boundingBox?: Schema$BoundingPoly; + /** + * Confidence of the OCR results on the block. Range [0, 1]. + */ + confidence?: number; + /** + * List of paragraphs in this block (if this blocks is of type text). + */ + paragraphs?: Schema$Paragraph[]; + /** + * Additional information detected for the block. + */ + property?: Schema$TextProperty; + } + /** + * A bounding polygon for the detected image annotation. + */ + interface Schema$BoundingPoly { + /** + * The bounding polygon normalized vertices. + */ + normalizedVertices?: Schema$NormalizedVertex[]; + /** + * The bounding polygon vertices. + */ + vertices?: Schema$Vertex[]; + } + /** + * Represents a color in the RGBA color space. This representation is designed + * for simplicity of conversion to/from color representations in various + * languages over compactness; for example, the fields of this representation + * can be trivially provided to the constructor of "java.awt.Color" + * in Java; it can also be trivially provided to UIColor's + * "+colorWithRed:green:blue:alpha" method in iOS; and, with just a + * little work, it can be easily formatted into a CSS "rgba()" + * string in JavaScript, as well. Here are some examples: Example (Java): + * import com.google.type.Color; // ... public static + * java.awt.Color fromProto(Color protocolor) { float alpha = + * protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; + * return new java.awt.Color( protocolor.getRed(), + * protocolor.getGreen(), protocolor.getBlue(), alpha); + * } public static Color toProto(java.awt.Color color) { float + * red = (float) color.getRed(); float green = (float) + * color.getGreen(); float blue = (float) color.getBlue(); float + * denominator = 255.0; Color.Builder resultBuilder = Color + * .newBuilder() .setRed(red / denominator) .setGreen(green / + * denominator) .setBlue(blue / denominator); int alpha + * = color.getAlpha(); if (alpha != 255) { result.setAlpha( + * FloatValue .newBuilder() .setValue(((float) alpha) / + * denominator) .build()); } return + * resultBuilder.build(); } // ... Example (iOS / Obj-C): // + * ... static UIColor* fromProto(Color* protocolor) { float red = + * [protocolor red]; float green = [protocolor green]; float + * blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor + * alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { + * alpha = [alpha_wrapper value]; } return [UIColor + * colorWithRed:red green:green blue:blue alpha:alpha]; } static + * Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; + * if (![color getRed:&red green:&green blue:&blue + * alpha:&alpha]) { return nil; } Color* + * result = [[Color alloc] init]; [result setRed:red]; [result + * setGreen:green]; [result setBlue:blue]; if (alpha <= + * 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } + * [result autorelease]; return result; } // ... Example + * (JavaScript): // ... var protoToCssColor = function(rgb_color) { + * var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green + * || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = + * Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); + * var blue = Math.floor(blueFrac * 255); if (!('alpha' in + * rgb_color)) { return rgbToCssColor_(red, green, blue); } + * var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, + * green, blue].join(','); return ['rgba(', rgbParams, + * ',', alphaFrac, ')'].join(''); }; var + * rgbToCssColor_ = function(red, green, blue) { var rgbNumber = new + * Number((red << 16) | (green << 8) | blue); var hexString + * = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; + * var resultBuilder = ['#']; for (var i = 0; i < + * missingZeros; i++) { resultBuilder.push('0'); } + * resultBuilder.push(hexString); return resultBuilder.join(''); + * }; // ... + */ + interface Schema$Color { + /** + * The fraction of this color that should be applied to the pixel. That is, + * the final pixel color is defined by the equation: pixel color = alpha + * * (this color) + (1.0 - alpha) * (background color) This means that a + * value of 1.0 corresponds to a solid color, whereas a value of 0.0 + * corresponds to a completely transparent color. This uses a wrapper + * message rather than a simple float scalar so that it is possible to + * distinguish between a default value and the value being unset. If + * omitted, this color object is to be rendered as a solid color (as if the + * alpha value had been explicitly given with a value of 1.0). + */ + alpha?: number; + /** + * The amount of blue in the color as a value in the interval [0, 1]. + */ + blue?: number; + /** + * The amount of green in the color as a value in the interval [0, 1]. + */ + green?: number; + /** + * The amount of red in the color as a value in the interval [0, 1]. + */ + red?: number; + } + /** + * Color information consists of RGB channels, score, and the fraction of the + * image that the color occupies in the image. + */ + interface Schema$ColorInfo { + /** + * RGB components of the color. + */ + color?: Schema$Color; + /** + * The fraction of pixels the color occupies in the image. Value in range + * [0, 1]. + */ + pixelFraction?: number; + /** + * Image-specific score for this color. Value in range [0, 1]. + */ + score?: number; + } + /** + * Single crop hint that is used to generate a new crop when serving an image. + */ + interface Schema$CropHint { + /** + * The bounding polygon for the crop region. The coordinates of the bounding + * box are in the original image's scale, as returned in `ImageParams`. + */ + boundingPoly?: Schema$BoundingPoly; + /** + * Confidence of this being a salient region. Range [0, 1]. + */ + confidence?: number; + /** + * Fraction of importance of this salient region with respect to the + * original image. + */ + importanceFraction?: number; + } + /** + * Set of crop hints that are used to generate new crops when serving images. + */ + interface Schema$CropHintsAnnotation { + /** + * Crop hint results. + */ + cropHints?: Schema$CropHint[]; + } + /** + * Detected start or end of a structural component. + */ + interface Schema$DetectedBreak { + /** + * True if break prepends the element. + */ + isPrefix?: boolean; + /** + * Detected break type. + */ + type?: string; + } + /** + * Detected language for a structural component. + */ + interface Schema$DetectedLanguage { + /** + * Confidence of detected language. Range [0, 1]. + */ + confidence?: number; + /** + * The BCP-47 language code, such as "en-US" or + * "sr-Latn". For more information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + */ + languageCode?: string; + } + /** + * Set of dominant colors and their corresponding scores. + */ + interface Schema$DominantColorsAnnotation { + /** + * RGB color values with their score and pixel fraction. + */ + colors?: Schema$ColorInfo[]; + } + /** + * Set of detected entity features. + */ + interface Schema$EntityAnnotation { + /** + * Image region to which this entity belongs. Not produced for + * `LABEL_DETECTION` features. + */ + boundingPoly?: Schema$BoundingPoly; + /** + * **Deprecated. Use `score` instead.** The accuracy of the entity detection + * in an image. For example, for an image in which the "Eiffel + * Tower" entity is detected, this field represents the confidence that + * there is a tower in the query image. Range [0, 1]. + */ + confidence?: number; + /** + * Entity textual description, expressed in its `locale` language. + */ + description?: string; + /** + * The language code for the locale in which the entity textual + * `description` is expressed. + */ + locale?: string; + /** + * The location information for the detected entity. Multiple `LocationInfo` + * elements can be present because one location may indicate the location of + * the scene in the image, and another location may indicate the location of + * the place where the image was taken. Location information is usually + * present for landmarks. + */ + locations?: Schema$LocationInfo[]; + /** + * Opaque entity ID. Some IDs may be available in [Google Knowledge Graph + * Search API](https://developers.google.com/knowledge-graph/). + */ + mid?: string; + /** + * Some entities may have optional user-supplied `Property` (name/value) + * fields, such a score or string that qualifies the entity. + */ + properties?: Schema$Property[]; + /** + * Overall score of the result. Range [0, 1]. + */ + score?: number; + /** + * The relevancy of the ICA (Image Content Annotation) label to the image. + * For example, the relevancy of "tower" is likely higher to an + * image containing the detected "Eiffel Tower" than to an image + * containing a detected distant towering building, even though the + * confidence that there is a tower in each image may be the same. Range [0, + * 1]. + */ + topicality?: number; + } + /** + * A face annotation object contains the results of face detection. + */ + interface Schema$FaceAnnotation { + /** + * Anger likelihood. + */ + angerLikelihood?: string; + /** + * Blurred likelihood. + */ + blurredLikelihood?: string; + /** + * The bounding polygon around the face. The coordinates of the bounding box + * are in the original image's scale, as returned in `ImageParams`. The + * bounding box is computed to "frame" the face in accordance with + * human expectations. It is based on the landmarker results. Note that one + * or more x and/or y coordinates may not be generated in the `BoundingPoly` + * (the polygon will be unbounded) if only a partial face appears in the + * image to be annotated. + */ + boundingPoly?: Schema$BoundingPoly; + /** + * Detection confidence. Range [0, 1]. + */ + detectionConfidence?: number; + /** + * The `fd_bounding_poly` bounding polygon is tighter than the + * `boundingPoly`, and encloses only the skin part of the face. Typically, + * it is used to eliminate the face from any image analysis that detects the + * "amount of skin" visible in an image. It is not based on the + * landmarker results, only on the initial face detection, hence the + * <code>fd</code> (face detection) prefix. + */ + fdBoundingPoly?: Schema$BoundingPoly; + /** + * Headwear likelihood. + */ + headwearLikelihood?: string; + /** + * Joy likelihood. + */ + joyLikelihood?: string; + /** + * Face landmarking confidence. Range [0, 1]. + */ + landmarkingConfidence?: number; + /** + * Detected face landmarks. + */ + landmarks?: Schema$Landmark[]; + /** + * Yaw angle, which indicates the leftward/rightward angle that the face is + * pointing relative to the vertical plane perpendicular to the image. Range + * [-180,180]. + */ + panAngle?: number; + /** + * Roll angle, which indicates the amount of clockwise/anti-clockwise + * rotation of the face relative to the image vertical about the axis + * perpendicular to the face. Range [-180,180]. + */ + rollAngle?: number; + /** + * Sorrow likelihood. + */ + sorrowLikelihood?: string; + /** + * Surprise likelihood. + */ + surpriseLikelihood?: string; + /** + * Pitch angle, which indicates the upwards/downwards angle that the face is + * pointing relative to the image's horizontal plane. Range [-180,180]. + */ + tiltAngle?: number; + /** + * Under-exposed likelihood. + */ + underExposedLikelihood?: string; + } + /** + * The Google Cloud Storage location where the output will be written to. + */ + interface Schema$GcsDestination { + /** + * Google Cloud Storage URI where the results will be stored. Results will + * be in JSON format and preceded by its corresponding input URI. This field + * can either represent a single file, or a prefix for multiple outputs. + * Prefixes must end in a `/`. Examples: * File: + * gs://bucket-name/filename.json * Prefix: gs://bucket-name/prefix/here/ + * * File: gs://bucket-name/prefix/here If multiple outputs, each + * response is still AnnotateFileResponse, each of which contains some + * subset of the full list of AnnotateImageResponse. Multiple outputs can + * happen if, for example, the output JSON is too large and overflows into + * multiple sharded files. + */ + uri?: string; + } + /** + * The Google Cloud Storage location where the input will be read from. + */ + interface Schema$GcsSource { + /** + * Google Cloud Storage URI for the input file. This must only be a Google + * Cloud Storage object. Wildcards are not currently supported. + */ + uri?: string; + } + /** + * Response to a single file annotation request. A file may contain one or + * more images, which individually have their own responses. + */ + interface Schema$GoogleCloudVisionV1p1beta1AnnotateFileResponse { + /** + * Information about the file for which this response is generated. + */ + inputConfig?: Schema$GoogleCloudVisionV1p1beta1InputConfig; + /** + * Individual responses to images found within the file. + */ + responses?: Schema$GoogleCloudVisionV1p1beta1AnnotateImageResponse[]; + } + /** + * Request for performing Google Cloud Vision API tasks over a user-provided + * image, with user-requested features. + */ + interface Schema$GoogleCloudVisionV1p1beta1AnnotateImageRequest { + /** + * Requested features. + */ + features?: Schema$GoogleCloudVisionV1p1beta1Feature[]; + /** + * The image to be processed. + */ + image?: Schema$GoogleCloudVisionV1p1beta1Image; + /** + * Additional context that may accompany the image. + */ + imageContext?: Schema$GoogleCloudVisionV1p1beta1ImageContext; + } + /** + * Response to an image annotation request. + */ + interface Schema$GoogleCloudVisionV1p1beta1AnnotateImageResponse { + /** + * If present, contextual information is needed to understand where this + * image comes from. + */ + context?: Schema$GoogleCloudVisionV1p1beta1ImageAnnotationContext; + /** + * If present, crop hints have completed successfully. + */ + cropHintsAnnotation?: Schema$GoogleCloudVisionV1p1beta1CropHintsAnnotation; + /** + * If set, represents the error message for the operation. Note that + * filled-in image annotations are guaranteed to be correct, even when + * `error` is set. + */ + error?: Schema$Status; + /** + * If present, face detection has completed successfully. + */ + faceAnnotations?: Schema$GoogleCloudVisionV1p1beta1FaceAnnotation[]; + /** + * If present, text (OCR) detection or document (OCR) text detection has + * completed successfully. This annotation provides the structural hierarchy + * for the OCR detected text. + */ + fullTextAnnotation?: Schema$GoogleCloudVisionV1p1beta1TextAnnotation; + /** + * If present, image properties were extracted successfully. + */ + imagePropertiesAnnotation?: Schema$GoogleCloudVisionV1p1beta1ImageProperties; + /** + * If present, label detection has completed successfully. + */ + labelAnnotations?: Schema$GoogleCloudVisionV1p1beta1EntityAnnotation[]; + /** + * If present, landmark detection has completed successfully. + */ + landmarkAnnotations?: Schema$GoogleCloudVisionV1p1beta1EntityAnnotation[]; + /** + * If present, localized object detection has completed successfully. This + * will be sorted descending by confidence score. + */ + localizedObjectAnnotations?: Schema$GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation[]; + /** + * If present, logo detection has completed successfully. + */ + logoAnnotations?: Schema$GoogleCloudVisionV1p1beta1EntityAnnotation[]; + /** + * If present, safe-search annotation has completed successfully. + */ + safeSearchAnnotation?: Schema$GoogleCloudVisionV1p1beta1SafeSearchAnnotation; + /** + * If present, text (OCR) detection has completed successfully. + */ + textAnnotations?: Schema$GoogleCloudVisionV1p1beta1EntityAnnotation[]; + /** + * If present, web detection has completed successfully. + */ + webDetection?: Schema$GoogleCloudVisionV1p1beta1WebDetection; + } + /** + * An offline file annotation request. + */ + interface Schema$GoogleCloudVisionV1p1beta1AsyncAnnotateFileRequest { + /** + * Required. Requested features. + */ + features?: Schema$GoogleCloudVisionV1p1beta1Feature[]; + /** + * Additional context that may accompany the image(s) in the file. + */ + imageContext?: Schema$GoogleCloudVisionV1p1beta1ImageContext; + /** + * Required. Information about the input file. + */ + inputConfig?: Schema$GoogleCloudVisionV1p1beta1InputConfig; + /** + * Required. The desired output location and metadata (e.g. format). + */ + outputConfig?: Schema$GoogleCloudVisionV1p1beta1OutputConfig; + } + /** + * The response for a single offline file annotation request. + */ + interface Schema$GoogleCloudVisionV1p1beta1AsyncAnnotateFileResponse { + /** + * The output location and metadata from AsyncAnnotateFileRequest. + */ + outputConfig?: Schema$GoogleCloudVisionV1p1beta1OutputConfig; + } + /** + * Multiple async file annotation requests are batched into a single service + * call. + */ + interface Schema$GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesRequest { + /** + * Individual async file annotation requests for this batch. + */ + requests?: Schema$GoogleCloudVisionV1p1beta1AsyncAnnotateFileRequest[]; + } + /** + * Response to an async batch file annotation request. + */ + interface Schema$GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesResponse { + /** + * The list of file annotation responses, one for each request in + * AsyncBatchAnnotateFilesRequest. + */ + responses?: Schema$GoogleCloudVisionV1p1beta1AsyncAnnotateFileResponse[]; + } + /** + * Multiple image annotation requests are batched into a single service call. + */ + interface Schema$GoogleCloudVisionV1p1beta1BatchAnnotateImagesRequest { + /** + * Individual image annotation requests for this batch. + */ + requests?: Schema$GoogleCloudVisionV1p1beta1AnnotateImageRequest[]; + } + /** + * Response to a batch image annotation request. + */ + interface Schema$GoogleCloudVisionV1p1beta1BatchAnnotateImagesResponse { + /** + * Individual responses to image annotation requests within the batch. + */ + responses?: Schema$GoogleCloudVisionV1p1beta1AnnotateImageResponse[]; + } + /** + * Logical element on the page. + */ + interface Schema$GoogleCloudVisionV1p1beta1Block { + /** + * Detected block type (text, image etc) for this block. + */ + blockType?: string; + /** + * The bounding box for the block. The vertices are in the order of + * top-left, top-right, bottom-right, bottom-left. When a rotation of the + * bounding box is detected the rotation is represented as around the + * top-left corner as defined when the text is read in the 'natural' + * orientation. For example: * when the text is horizontal it might look + * like: 0----1 | | 3----2 * when it's + * rotated 180 degrees around the top-left corner it becomes: 2----3 | | + * 1----0 and the vertice order will still be (0, 1, 2, 3). + */ + boundingBox?: Schema$GoogleCloudVisionV1p1beta1BoundingPoly; + /** + * Confidence of the OCR results on the block. Range [0, 1]. + */ + confidence?: number; + /** + * List of paragraphs in this block (if this blocks is of type text). + */ + paragraphs?: Schema$GoogleCloudVisionV1p1beta1Paragraph[]; + /** + * Additional information detected for the block. + */ + property?: Schema$GoogleCloudVisionV1p1beta1TextAnnotationTextProperty; + } + /** + * A bounding polygon for the detected image annotation. + */ + interface Schema$GoogleCloudVisionV1p1beta1BoundingPoly { + /** + * The bounding polygon vertices. + */ + vertices?: Schema$GoogleCloudVisionV1p1beta1Vertex[]; + } + /** + * Color information consists of RGB channels, score, and the fraction of the + * image that the color occupies in the image. + */ + interface Schema$GoogleCloudVisionV1p1beta1ColorInfo { + /** + * RGB components of the color. + */ + color?: Schema$Color; + /** + * The fraction of pixels the color occupies in the image. Value in range + * [0, 1]. + */ + pixelFraction?: number; + /** + * Image-specific score for this color. Value in range [0, 1]. + */ + score?: number; + } + /** + * Single crop hint that is used to generate a new crop when serving an image. + */ + interface Schema$GoogleCloudVisionV1p1beta1CropHint { + /** + * The bounding polygon for the crop region. The coordinates of the bounding + * box are in the original image's scale, as returned in `ImageParams`. + */ + boundingPoly?: Schema$GoogleCloudVisionV1p1beta1BoundingPoly; + /** + * Confidence of this being a salient region. Range [0, 1]. + */ + confidence?: number; + /** + * Fraction of importance of this salient region with respect to the + * original image. + */ + importanceFraction?: number; + } + /** + * Set of crop hints that are used to generate new crops when serving images. + */ + interface Schema$GoogleCloudVisionV1p1beta1CropHintsAnnotation { + /** + * Crop hint results. + */ + cropHints?: Schema$GoogleCloudVisionV1p1beta1CropHint[]; + } + /** + * Parameters for crop hints annotation request. + */ + interface Schema$GoogleCloudVisionV1p1beta1CropHintsParams { + /** + * Aspect ratios in floats, representing the ratio of the width to the + * height of the image. For example, if the desired aspect ratio is 4/3, the + * corresponding float value should be 1.33333. If not specified, the best + * possible crop is returned. The number of provided aspect ratios is + * limited to a maximum of 16; any aspect ratios provided after the 16th are + * ignored. + */ + aspectRatios?: number[]; + } + /** + * Set of dominant colors and their corresponding scores. + */ + interface Schema$GoogleCloudVisionV1p1beta1DominantColorsAnnotation { + /** + * RGB color values with their score and pixel fraction. + */ + colors?: Schema$GoogleCloudVisionV1p1beta1ColorInfo[]; + } + /** + * Set of detected entity features. + */ + interface Schema$GoogleCloudVisionV1p1beta1EntityAnnotation { + /** + * Image region to which this entity belongs. Not produced for + * `LABEL_DETECTION` features. + */ + boundingPoly?: Schema$GoogleCloudVisionV1p1beta1BoundingPoly; + /** + * **Deprecated. Use `score` instead.** The accuracy of the entity detection + * in an image. For example, for an image in which the "Eiffel + * Tower" entity is detected, this field represents the confidence that + * there is a tower in the query image. Range [0, 1]. + */ + confidence?: number; + /** + * Entity textual description, expressed in its `locale` language. + */ + description?: string; + /** + * The language code for the locale in which the entity textual + * `description` is expressed. + */ + locale?: string; + /** + * The location information for the detected entity. Multiple `LocationInfo` + * elements can be present because one location may indicate the location of + * the scene in the image, and another location may indicate the location of + * the place where the image was taken. Location information is usually + * present for landmarks. + */ + locations?: Schema$GoogleCloudVisionV1p1beta1LocationInfo[]; + /** + * Opaque entity ID. Some IDs may be available in [Google Knowledge Graph + * Search API](https://developers.google.com/knowledge-graph/). + */ + mid?: string; + /** + * Some entities may have optional user-supplied `Property` (name/value) + * fields, such a score or string that qualifies the entity. + */ + properties?: Schema$GoogleCloudVisionV1p1beta1Property[]; + /** + * Overall score of the result. Range [0, 1]. + */ + score?: number; + /** + * The relevancy of the ICA (Image Content Annotation) label to the image. + * For example, the relevancy of "tower" is likely higher to an + * image containing the detected "Eiffel Tower" than to an image + * containing a detected distant towering building, even though the + * confidence that there is a tower in each image may be the same. Range [0, + * 1]. + */ + topicality?: number; + } + /** + * A face annotation object contains the results of face detection. + */ + interface Schema$GoogleCloudVisionV1p1beta1FaceAnnotation { + /** + * Anger likelihood. + */ + angerLikelihood?: string; + /** + * Blurred likelihood. + */ + blurredLikelihood?: string; + /** + * The bounding polygon around the face. The coordinates of the bounding box + * are in the original image's scale, as returned in `ImageParams`. The + * bounding box is computed to "frame" the face in accordance with + * human expectations. It is based on the landmarker results. Note that one + * or more x and/or y coordinates may not be generated in the `BoundingPoly` + * (the polygon will be unbounded) if only a partial face appears in the + * image to be annotated. + */ + boundingPoly?: Schema$GoogleCloudVisionV1p1beta1BoundingPoly; + /** + * Detection confidence. Range [0, 1]. + */ + detectionConfidence?: number; + /** + * The `fd_bounding_poly` bounding polygon is tighter than the + * `boundingPoly`, and encloses only the skin part of the face. Typically, + * it is used to eliminate the face from any image analysis that detects the + * "amount of skin" visible in an image. It is not based on the + * landmarker results, only on the initial face detection, hence the + * <code>fd</code> (face detection) prefix. + */ + fdBoundingPoly?: Schema$GoogleCloudVisionV1p1beta1BoundingPoly; + /** + * Headwear likelihood. + */ + headwearLikelihood?: string; + /** + * Joy likelihood. + */ + joyLikelihood?: string; + /** + * Face landmarking confidence. Range [0, 1]. + */ + landmarkingConfidence?: number; + /** + * Detected face landmarks. + */ + landmarks?: Schema$GoogleCloudVisionV1p1beta1FaceAnnotationLandmark[]; + /** + * Yaw angle, which indicates the leftward/rightward angle that the face is + * pointing relative to the vertical plane perpendicular to the image. Range + * [-180,180]. + */ + panAngle?: number; + /** + * Roll angle, which indicates the amount of clockwise/anti-clockwise + * rotation of the face relative to the image vertical about the axis + * perpendicular to the face. Range [-180,180]. + */ + rollAngle?: number; + /** + * Sorrow likelihood. + */ + sorrowLikelihood?: string; + /** + * Surprise likelihood. + */ + surpriseLikelihood?: string; + /** + * Pitch angle, which indicates the upwards/downwards angle that the face is + * pointing relative to the image's horizontal plane. Range [-180,180]. + */ + tiltAngle?: number; + /** + * Under-exposed likelihood. + */ + underExposedLikelihood?: string; + } + /** + * A face-specific landmark (for example, a face feature). + */ + interface Schema$GoogleCloudVisionV1p1beta1FaceAnnotationLandmark { + /** + * Face landmark position. + */ + position?: Schema$GoogleCloudVisionV1p1beta1Position; + /** + * Face landmark type. + */ + type?: string; + } + /** + * The type of Google Cloud Vision API detection to perform, and the maximum + * number of results to return for that type. Multiple `Feature` objects can + * be specified in the `features` list. + */ + interface Schema$GoogleCloudVisionV1p1beta1Feature { + /** + * Maximum number of results of this type. Does not apply to + * `TEXT_DETECTION`, `DOCUMENT_TEXT_DETECTION`, or `CROP_HINTS`. + */ + maxResults?: number; + /** + * Model to use for the feature. Supported values: + * "builtin/stable" (the default if unset) and + * "builtin/latest". + */ + model?: string; + /** + * The feature type. + */ + type?: string; + } + /** + * The Google Cloud Storage location where the output will be written to. + */ + interface Schema$GoogleCloudVisionV1p1beta1GcsDestination { + /** + * Google Cloud Storage URI where the results will be stored. Results will + * be in JSON format and preceded by its corresponding input URI. This field + * can either represent a single file, or a prefix for multiple outputs. + * Prefixes must end in a `/`. Examples: * File: + * gs://bucket-name/filename.json * Prefix: gs://bucket-name/prefix/here/ + * * File: gs://bucket-name/prefix/here If multiple outputs, each + * response is still AnnotateFileResponse, each of which contains some + * subset of the full list of AnnotateImageResponse. Multiple outputs can + * happen if, for example, the output JSON is too large and overflows into + * multiple sharded files. + */ + uri?: string; + } + /** + * The Google Cloud Storage location where the input will be read from. + */ + interface Schema$GoogleCloudVisionV1p1beta1GcsSource { + /** + * Google Cloud Storage URI for the input file. This must only be a Google + * Cloud Storage object. Wildcards are not currently supported. + */ + uri?: string; + } + /** + * Client image to perform Google Cloud Vision API tasks over. + */ + interface Schema$GoogleCloudVisionV1p1beta1Image { + /** + * Image content, represented as a stream of bytes. Note: As with all + * `bytes` fields, protobuffers use a pure binary representation, whereas + * JSON representations use base64. + */ + content?: string; + /** + * Google Cloud Storage image location, or publicly-accessible image URL. If + * both `content` and `source` are provided for an image, `content` takes + * precedence and is used to perform the image annotation request. + */ + source?: Schema$GoogleCloudVisionV1p1beta1ImageSource; + } + /** + * If an image was produced from a file (e.g. a PDF), this message gives + * information about the source of that image. + */ + interface Schema$GoogleCloudVisionV1p1beta1ImageAnnotationContext { + /** + * If the file was a PDF or TIFF, this field gives the page number within + * the file used to produce the image. + */ + pageNumber?: number; + /** + * The URI of the file used to produce the image. + */ + uri?: string; + } + /** + * Image context and/or feature-specific parameters. + */ + interface Schema$GoogleCloudVisionV1p1beta1ImageContext { + /** + * Parameters for crop hints annotation request. + */ + cropHintsParams?: Schema$GoogleCloudVisionV1p1beta1CropHintsParams; + /** + * List of languages to use for TEXT_DETECTION. In most cases, an empty + * value yields the best results since it enables automatic language + * detection. For languages based on the Latin alphabet, setting + * `language_hints` is not needed. In rare cases, when the language of the + * text in the image is known, setting a hint will help get better results + * (although it will be a significant hindrance if the hint is wrong). Text + * detection returns an error if one or more of the specified languages is + * not one of the [supported languages](/vision/docs/languages). + */ + languageHints?: string[]; + /** + * Not used. + */ + latLongRect?: Schema$GoogleCloudVisionV1p1beta1LatLongRect; + /** + * Parameters for web detection. + */ + webDetectionParams?: Schema$GoogleCloudVisionV1p1beta1WebDetectionParams; + } + /** + * Stores image properties, such as dominant colors. + */ + interface Schema$GoogleCloudVisionV1p1beta1ImageProperties { + /** + * If present, dominant colors completed successfully. + */ + dominantColors?: Schema$GoogleCloudVisionV1p1beta1DominantColorsAnnotation; + } + /** + * External image source (Google Cloud Storage or web URL image location). + */ + interface Schema$GoogleCloudVisionV1p1beta1ImageSource { + /** + * **Use `image_uri` instead.** The Google Cloud Storage URI of the form + * `gs://bucket_name/object_name`. Object versioning is not supported. See + * [Google Cloud Storage Request + * URIs](https://cloud.google.com/storage/docs/reference-uris) for more + * info. + */ + gcsImageUri?: string; + /** + * The URI of the source image. Can be either: 1. A Google Cloud Storage + * URI of the form `gs://bucket_name/object_name`. Object versioning is + * not supported. See [Google Cloud Storage Request + * URIs](https://cloud.google.com/storage/docs/reference-uris) for more + * info. 2. A publicly-accessible image HTTP/HTTPS URL. When fetching + * images from HTTP/HTTPS URLs, Google cannot guarantee that the request + * will be completed. Your request may fail if the specified host denies + * the request (e.g. due to request throttling or DOS prevention), or if + * Google throttles requests to the site for abuse prevention. You should + * not depend on externally-hosted images for production applications. + * When both `gcs_image_uri` and `image_uri` are specified, `image_uri` + * takes precedence. + */ + imageUri?: string; + } + /** + * The desired input location and metadata. + */ + interface Schema$GoogleCloudVisionV1p1beta1InputConfig { + /** + * The Google Cloud Storage location to read the input from. + */ + gcsSource?: Schema$GoogleCloudVisionV1p1beta1GcsSource; + /** + * The type of the file. Currently only "application/pdf" and + * "image/tiff" are supported. Wildcards are not supported. + */ + mimeType?: string; + } + /** + * Rectangle determined by min and max `LatLng` pairs. + */ + interface Schema$GoogleCloudVisionV1p1beta1LatLongRect { + /** + * Max lat/long pair. + */ + maxLatLng?: Schema$LatLng; + /** + * Min lat/long pair. + */ + minLatLng?: Schema$LatLng; + } + /** + * Set of detected objects with bounding boxes. + */ + interface Schema$GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation { + /** + * Image region to which this object belongs. This must be populated. + */ + boundingPoly?: Schema$GoogleCloudVisionV1p1beta1BoundingPoly; + /** + * The BCP-47 language code, such as "en-US" or + * "sr-Latn". For more information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + */ + languageCode?: string; + /** + * Object ID that should align with EntityAnnotation mid. + */ + mid?: string; + /** + * Object name, expressed in its `language_code` language. + */ + name?: string; + /** + * Score of the result. Range [0, 1]. + */ + score?: number; + } + /** + * Detected entity location information. + */ + interface Schema$GoogleCloudVisionV1p1beta1LocationInfo { + /** + * lat/long location coordinates. + */ + latLng?: Schema$LatLng; + } + /** + * Contains metadata for the BatchAnnotateImages operation. + */ + interface Schema$GoogleCloudVisionV1p1beta1OperationMetadata { + /** + * The time when the batch request was received. + */ + createTime?: string; + /** + * Current state of the batch operation. + */ + state?: string; + /** + * The time when the operation result was last updated. + */ + updateTime?: string; + } + /** + * The desired output location and metadata. + */ + interface Schema$GoogleCloudVisionV1p1beta1OutputConfig { + /** + * The max number of response protos to put into each output JSON file on + * Google Cloud Storage. The valid range is [1, 100]. If not specified, the + * default value is 20. For example, for one pdf file with 100 pages, 100 + * response protos will be generated. If `batch_size` = 20, then 5 json + * files each containing 20 response protos will be written under the prefix + * `gcs_destination`.`uri`. Currently, batch_size only applies to + * GcsDestination, with potential future support for other output + * configurations. + */ + batchSize?: number; + /** + * The Google Cloud Storage location to write the output(s) to. + */ + gcsDestination?: Schema$GoogleCloudVisionV1p1beta1GcsDestination; + } + /** + * Detected page from OCR. + */ + interface Schema$GoogleCloudVisionV1p1beta1Page { + /** + * List of blocks of text, images etc on this page. + */ + blocks?: Schema$GoogleCloudVisionV1p1beta1Block[]; + /** + * Confidence of the OCR results on the page. Range [0, 1]. + */ + confidence?: number; + /** + * Page height. For PDFs the unit is points. For images (including TIFFs) + * the unit is pixels. + */ + height?: number; + /** + * Additional information detected on the page. + */ + property?: Schema$GoogleCloudVisionV1p1beta1TextAnnotationTextProperty; + /** + * Page width. For PDFs the unit is points. For images (including TIFFs) the + * unit is pixels. + */ + width?: number; + } + /** + * Structural unit of text representing a number of words in certain order. + */ + interface Schema$GoogleCloudVisionV1p1beta1Paragraph { + /** + * The bounding box for the paragraph. The vertices are in the order of + * top-left, top-right, bottom-right, bottom-left. When a rotation of the + * bounding box is detected the rotation is represented as around the + * top-left corner as defined when the text is read in the 'natural' + * orientation. For example: * when the text is horizontal it might look + * like: 0----1 | | 3----2 * when it's rotated 180 + * degrees around the top-left corner it becomes: 2----3 | | + * 1----0 and the vertice order will still be (0, 1, 2, 3). + */ + boundingBox?: Schema$GoogleCloudVisionV1p1beta1BoundingPoly; + /** + * Confidence of the OCR results for the paragraph. Range [0, 1]. + */ + confidence?: number; + /** + * Additional information detected for the paragraph. + */ + property?: Schema$GoogleCloudVisionV1p1beta1TextAnnotationTextProperty; + /** + * List of words in this paragraph. + */ + words?: Schema$GoogleCloudVisionV1p1beta1Word[]; + } + /** + * A 3D position in the image, used primarily for Face detection landmarks. A + * valid Position must have both x and y coordinates. The position coordinates + * are in the same scale as the original image. + */ + interface Schema$GoogleCloudVisionV1p1beta1Position { + /** + * X coordinate. + */ + x?: number; + /** + * Y coordinate. + */ + y?: number; + /** + * Z coordinate (or depth). + */ + z?: number; + } + /** + * A `Property` consists of a user-supplied name/value pair. + */ + interface Schema$GoogleCloudVisionV1p1beta1Property { + /** + * Name of the property. + */ + name?: string; + /** + * Value of numeric properties. + */ + uint64Value?: string; + /** + * Value of the property. + */ + value?: string; + } + /** + * Set of features pertaining to the image, computed by computer vision + * methods over safe-search verticals (for example, adult, spoof, medical, + * violence). + */ + interface Schema$GoogleCloudVisionV1p1beta1SafeSearchAnnotation { + /** + * Represents the adult content likelihood for the image. Adult content may + * contain elements such as nudity, pornographic images or cartoons, or + * sexual activities. + */ + adult?: string; + /** + * Likelihood that this is a medical image. + */ + medical?: string; + /** + * Likelihood that the request image contains racy content. Racy content may + * include (but is not limited to) skimpy or sheer clothing, strategically + * covered nudity, lewd or provocative poses, or close-ups of sensitive body + * areas. + */ + racy?: string; + /** + * Spoof likelihood. The likelihood that an modification was made to the + * image's canonical version to make it appear funny or offensive. + */ + spoof?: string; + /** + * Likelihood that this image contains violent content. + */ + violence?: string; + } + /** + * A single symbol representation. + */ + interface Schema$GoogleCloudVisionV1p1beta1Symbol { + /** + * The bounding box for the symbol. The vertices are in the order of + * top-left, top-right, bottom-right, bottom-left. When a rotation of the + * bounding box is detected the rotation is represented as around the + * top-left corner as defined when the text is read in the 'natural' + * orientation. For example: * when the text is horizontal it might look + * like: 0----1 | | 3----2 * when it's rotated 180 + * degrees around the top-left corner it becomes: 2----3 | | + * 1----0 and the vertice order will still be (0, 1, 2, 3). + */ + boundingBox?: Schema$GoogleCloudVisionV1p1beta1BoundingPoly; + /** + * Confidence of the OCR results for the symbol. Range [0, 1]. + */ + confidence?: number; + /** + * Additional information detected for the symbol. + */ + property?: Schema$GoogleCloudVisionV1p1beta1TextAnnotationTextProperty; + /** + * The actual UTF-8 representation of the symbol. + */ + text?: string; + } + /** + * TextAnnotation contains a structured representation of OCR extracted text. + * The hierarchy of an OCR extracted text structure is like this: + * TextAnnotation -> Page -> Block -> Paragraph -> Word -> + * Symbol Each structural component, starting from Page, may further have + * their own properties. Properties describe detected languages, breaks etc.. + * Please refer to the TextAnnotation.TextProperty message definition below + * for more detail. + */ + interface Schema$GoogleCloudVisionV1p1beta1TextAnnotation { + /** + * List of pages detected by OCR. + */ + pages?: Schema$GoogleCloudVisionV1p1beta1Page[]; + /** + * UTF-8 text detected on the pages. + */ + text?: string; + } + /** + * Detected start or end of a structural component. + */ + interface Schema$GoogleCloudVisionV1p1beta1TextAnnotationDetectedBreak { + /** + * True if break prepends the element. + */ + isPrefix?: boolean; + /** + * Detected break type. + */ + type?: string; + } + /** + * Detected language for a structural component. + */ + interface Schema$GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage { + /** + * Confidence of detected language. Range [0, 1]. + */ + confidence?: number; + /** + * The BCP-47 language code, such as "en-US" or + * "sr-Latn". For more information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + */ + languageCode?: string; + } + /** + * Additional information detected on the structural component. + */ + interface Schema$GoogleCloudVisionV1p1beta1TextAnnotationTextProperty { + /** + * Detected start or end of a text segment. + */ + detectedBreak?: Schema$GoogleCloudVisionV1p1beta1TextAnnotationDetectedBreak; + /** + * A list of detected languages together with confidence. + */ + detectedLanguages?: Schema$GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage[]; + } + /** + * A vertex represents a 2D point in the image. NOTE: the vertex coordinates + * are in the same scale as the original image. + */ + interface Schema$GoogleCloudVisionV1p1beta1Vertex { + /** + * X coordinate. + */ + x?: number; + /** + * Y coordinate. + */ + y?: number; + } + /** + * Relevant information for the image from the Internet. + */ + interface Schema$GoogleCloudVisionV1p1beta1WebDetection { + /** + * The service's best guess as to the topic of the request image. + * Inferred from similar images on the open web. + */ + bestGuessLabels?: Schema$GoogleCloudVisionV1p1beta1WebDetectionWebLabel[]; + /** + * Fully matching images from the Internet. Can include resized copies of + * the query image. + */ + fullMatchingImages?: Schema$GoogleCloudVisionV1p1beta1WebDetectionWebImage[]; + /** + * Web pages containing the matching images from the Internet. + */ + pagesWithMatchingImages?: Schema$GoogleCloudVisionV1p1beta1WebDetectionWebPage[]; + /** + * Partial matching images from the Internet. Those images are similar + * enough to share some key-point features. For example an original image + * will likely have partial matching for its crops. + */ + partialMatchingImages?: Schema$GoogleCloudVisionV1p1beta1WebDetectionWebImage[]; + /** + * The visually similar image results. + */ + visuallySimilarImages?: Schema$GoogleCloudVisionV1p1beta1WebDetectionWebImage[]; + /** + * Deduced entities from similar images on the Internet. + */ + webEntities?: Schema$GoogleCloudVisionV1p1beta1WebDetectionWebEntity[]; + } + /** + * Parameters for web detection request. + */ + interface Schema$GoogleCloudVisionV1p1beta1WebDetectionParams { + /** + * Whether to include results derived from the geo information in the image. + */ + includeGeoResults?: boolean; + } + /** + * Entity deduced from similar images on the Internet. + */ + interface Schema$GoogleCloudVisionV1p1beta1WebDetectionWebEntity { + /** + * Canonical description of the entity, in English. + */ + description?: string; + /** + * Opaque entity ID. + */ + entityId?: string; + /** + * Overall relevancy score for the entity. Not normalized and not comparable + * across different image queries. + */ + score?: number; + } + /** + * Metadata for online images. + */ + interface Schema$GoogleCloudVisionV1p1beta1WebDetectionWebImage { + /** + * (Deprecated) Overall relevancy score for the image. + */ + score?: number; + /** + * The result image URL. + */ + url?: string; + } + /** + * Label to provide extra metadata for the web detection. + */ + interface Schema$GoogleCloudVisionV1p1beta1WebDetectionWebLabel { + /** + * Label for extra metadata. + */ + label?: string; + /** + * The BCP-47 language code for `label`, such as "en-US" or + * "sr-Latn". For more information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + */ + languageCode?: string; + } + /** + * Metadata for web pages. + */ + interface Schema$GoogleCloudVisionV1p1beta1WebDetectionWebPage { + /** + * Fully matching images on the page. Can include resized copies of the + * query image. + */ + fullMatchingImages?: Schema$GoogleCloudVisionV1p1beta1WebDetectionWebImage[]; + /** + * Title for the web page, may contain HTML markups. + */ + pageTitle?: string; + /** + * Partial matching images on the page. Those images are similar enough to + * share some key-point features. For example an original image will likely + * have partial matching for its crops. + */ + partialMatchingImages?: Schema$GoogleCloudVisionV1p1beta1WebDetectionWebImage[]; + /** + * (Deprecated) Overall relevancy score for the web page. + */ + score?: number; + /** + * The result web page URL. + */ + url?: string; + } + /** + * A word representation. + */ + interface Schema$GoogleCloudVisionV1p1beta1Word { + /** + * The bounding box for the word. The vertices are in the order of top-left, + * top-right, bottom-right, bottom-left. When a rotation of the bounding box + * is detected the rotation is represented as around the top-left corner as + * defined when the text is read in the 'natural' orientation. For + * example: * when the text is horizontal it might look like: 0----1 + * | | 3----2 * when it's rotated 180 degrees around the + * top-left corner it becomes: 2----3 | | 1----0 and the + * vertice order will still be (0, 1, 2, 3). + */ + boundingBox?: Schema$GoogleCloudVisionV1p1beta1BoundingPoly; + /** + * Confidence of the OCR results for the word. Range [0, 1]. + */ + confidence?: number; + /** + * Additional information detected for the word. + */ + property?: Schema$GoogleCloudVisionV1p1beta1TextAnnotationTextProperty; + /** + * List of symbols in the word. The order of the symbols follows the natural + * reading order. + */ + symbols?: Schema$GoogleCloudVisionV1p1beta1Symbol[]; + } + /** + * Response to a single file annotation request. A file may contain one or + * more images, which individually have their own responses. + */ + interface Schema$GoogleCloudVisionV1p2beta1AnnotateFileResponse { + /** + * Information about the file for which this response is generated. + */ + inputConfig?: Schema$GoogleCloudVisionV1p2beta1InputConfig; + /** + * Individual responses to images found within the file. + */ + responses?: Schema$GoogleCloudVisionV1p2beta1AnnotateImageResponse[]; + } + /** + * Response to an image annotation request. + */ + interface Schema$GoogleCloudVisionV1p2beta1AnnotateImageResponse { + /** + * If present, contextual information is needed to understand where this + * image comes from. + */ + context?: Schema$GoogleCloudVisionV1p2beta1ImageAnnotationContext; + /** + * If present, crop hints have completed successfully. + */ + cropHintsAnnotation?: Schema$GoogleCloudVisionV1p2beta1CropHintsAnnotation; + /** + * If set, represents the error message for the operation. Note that + * filled-in image annotations are guaranteed to be correct, even when + * `error` is set. + */ + error?: Schema$Status; + /** + * If present, face detection has completed successfully. + */ + faceAnnotations?: Schema$GoogleCloudVisionV1p2beta1FaceAnnotation[]; + /** + * If present, text (OCR) detection or document (OCR) text detection has + * completed successfully. This annotation provides the structural hierarchy + * for the OCR detected text. + */ + fullTextAnnotation?: Schema$GoogleCloudVisionV1p2beta1TextAnnotation; + /** + * If present, image properties were extracted successfully. + */ + imagePropertiesAnnotation?: Schema$GoogleCloudVisionV1p2beta1ImageProperties; + /** + * If present, label detection has completed successfully. + */ + labelAnnotations?: Schema$GoogleCloudVisionV1p2beta1EntityAnnotation[]; + /** + * If present, landmark detection has completed successfully. + */ + landmarkAnnotations?: Schema$GoogleCloudVisionV1p2beta1EntityAnnotation[]; + /** + * If present, localized object detection has completed successfully. This + * will be sorted descending by confidence score. + */ + localizedObjectAnnotations?: Schema$GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation[]; + /** + * If present, logo detection has completed successfully. + */ + logoAnnotations?: Schema$GoogleCloudVisionV1p2beta1EntityAnnotation[]; + /** + * If present, safe-search annotation has completed successfully. + */ + safeSearchAnnotation?: Schema$GoogleCloudVisionV1p2beta1SafeSearchAnnotation; + /** + * If present, text (OCR) detection has completed successfully. + */ + textAnnotations?: Schema$GoogleCloudVisionV1p2beta1EntityAnnotation[]; + /** + * If present, web detection has completed successfully. + */ + webDetection?: Schema$GoogleCloudVisionV1p2beta1WebDetection; + } + /** + * The response for a single offline file annotation request. + */ + interface Schema$GoogleCloudVisionV1p2beta1AsyncAnnotateFileResponse { + /** + * The output location and metadata from AsyncAnnotateFileRequest. + */ + outputConfig?: Schema$GoogleCloudVisionV1p2beta1OutputConfig; + } + /** + * Response to an async batch file annotation request. + */ + interface Schema$GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesResponse { + /** + * The list of file annotation responses, one for each request in + * AsyncBatchAnnotateFilesRequest. + */ + responses?: Schema$GoogleCloudVisionV1p2beta1AsyncAnnotateFileResponse[]; + } + /** + * Logical element on the page. + */ + interface Schema$GoogleCloudVisionV1p2beta1Block { + /** + * Detected block type (text, image etc) for this block. + */ + blockType?: string; + /** + * The bounding box for the block. The vertices are in the order of + * top-left, top-right, bottom-right, bottom-left. When a rotation of the + * bounding box is detected the rotation is represented as around the + * top-left corner as defined when the text is read in the 'natural' + * orientation. For example: * when the text is horizontal it might look + * like: 0----1 | | 3----2 * when it's + * rotated 180 degrees around the top-left corner it becomes: 2----3 | | + * 1----0 and the vertice order will still be (0, 1, 2, 3). + */ + boundingBox?: Schema$GoogleCloudVisionV1p2beta1BoundingPoly; + /** + * Confidence of the OCR results on the block. Range [0, 1]. + */ + confidence?: number; + /** + * List of paragraphs in this block (if this blocks is of type text). + */ + paragraphs?: Schema$GoogleCloudVisionV1p2beta1Paragraph[]; + /** + * Additional information detected for the block. + */ + property?: Schema$GoogleCloudVisionV1p2beta1TextAnnotationTextProperty; + } + /** + * A bounding polygon for the detected image annotation. + */ + interface Schema$GoogleCloudVisionV1p2beta1BoundingPoly { + /** + * The bounding polygon normalized vertices. + */ + normalizedVertices?: Schema$GoogleCloudVisionV1p2beta1NormalizedVertex[]; + /** + * The bounding polygon vertices. + */ + vertices?: Schema$GoogleCloudVisionV1p2beta1Vertex[]; + } + /** + * Color information consists of RGB channels, score, and the fraction of the + * image that the color occupies in the image. + */ + interface Schema$GoogleCloudVisionV1p2beta1ColorInfo { + /** + * RGB components of the color. + */ + color?: Schema$Color; + /** + * The fraction of pixels the color occupies in the image. Value in range + * [0, 1]. + */ + pixelFraction?: number; + /** + * Image-specific score for this color. Value in range [0, 1]. + */ + score?: number; + } + /** + * Single crop hint that is used to generate a new crop when serving an image. + */ + interface Schema$GoogleCloudVisionV1p2beta1CropHint { + /** + * The bounding polygon for the crop region. The coordinates of the bounding + * box are in the original image's scale, as returned in `ImageParams`. + */ + boundingPoly?: Schema$GoogleCloudVisionV1p2beta1BoundingPoly; + /** + * Confidence of this being a salient region. Range [0, 1]. + */ + confidence?: number; + /** + * Fraction of importance of this salient region with respect to the + * original image. + */ + importanceFraction?: number; + } + /** + * Set of crop hints that are used to generate new crops when serving images. + */ + interface Schema$GoogleCloudVisionV1p2beta1CropHintsAnnotation { + /** + * Crop hint results. + */ + cropHints?: Schema$GoogleCloudVisionV1p2beta1CropHint[]; + } + /** + * Set of dominant colors and their corresponding scores. + */ + interface Schema$GoogleCloudVisionV1p2beta1DominantColorsAnnotation { + /** + * RGB color values with their score and pixel fraction. + */ + colors?: Schema$GoogleCloudVisionV1p2beta1ColorInfo[]; + } + /** + * Set of detected entity features. + */ + interface Schema$GoogleCloudVisionV1p2beta1EntityAnnotation { + /** + * Image region to which this entity belongs. Not produced for + * `LABEL_DETECTION` features. + */ + boundingPoly?: Schema$GoogleCloudVisionV1p2beta1BoundingPoly; + /** + * **Deprecated. Use `score` instead.** The accuracy of the entity detection + * in an image. For example, for an image in which the "Eiffel + * Tower" entity is detected, this field represents the confidence that + * there is a tower in the query image. Range [0, 1]. + */ + confidence?: number; + /** + * Entity textual description, expressed in its `locale` language. + */ + description?: string; + /** + * The language code for the locale in which the entity textual + * `description` is expressed. + */ + locale?: string; + /** + * The location information for the detected entity. Multiple `LocationInfo` + * elements can be present because one location may indicate the location of + * the scene in the image, and another location may indicate the location of + * the place where the image was taken. Location information is usually + * present for landmarks. + */ + locations?: Schema$GoogleCloudVisionV1p2beta1LocationInfo[]; + /** + * Opaque entity ID. Some IDs may be available in [Google Knowledge Graph + * Search API](https://developers.google.com/knowledge-graph/). + */ + mid?: string; + /** + * Some entities may have optional user-supplied `Property` (name/value) + * fields, such a score or string that qualifies the entity. + */ + properties?: Schema$GoogleCloudVisionV1p2beta1Property[]; + /** + * Overall score of the result. Range [0, 1]. + */ + score?: number; + /** + * The relevancy of the ICA (Image Content Annotation) label to the image. + * For example, the relevancy of "tower" is likely higher to an + * image containing the detected "Eiffel Tower" than to an image + * containing a detected distant towering building, even though the + * confidence that there is a tower in each image may be the same. Range [0, + * 1]. + */ + topicality?: number; + } + /** + * A face annotation object contains the results of face detection. + */ + interface Schema$GoogleCloudVisionV1p2beta1FaceAnnotation { + /** + * Anger likelihood. + */ + angerLikelihood?: string; + /** + * Blurred likelihood. + */ + blurredLikelihood?: string; + /** + * The bounding polygon around the face. The coordinates of the bounding box + * are in the original image's scale, as returned in `ImageParams`. The + * bounding box is computed to "frame" the face in accordance with + * human expectations. It is based on the landmarker results. Note that one + * or more x and/or y coordinates may not be generated in the `BoundingPoly` + * (the polygon will be unbounded) if only a partial face appears in the + * image to be annotated. + */ + boundingPoly?: Schema$GoogleCloudVisionV1p2beta1BoundingPoly; + /** + * Detection confidence. Range [0, 1]. + */ + detectionConfidence?: number; + /** + * The `fd_bounding_poly` bounding polygon is tighter than the + * `boundingPoly`, and encloses only the skin part of the face. Typically, + * it is used to eliminate the face from any image analysis that detects the + * "amount of skin" visible in an image. It is not based on the + * landmarker results, only on the initial face detection, hence the + * <code>fd</code> (face detection) prefix. + */ + fdBoundingPoly?: Schema$GoogleCloudVisionV1p2beta1BoundingPoly; + /** + * Headwear likelihood. + */ + headwearLikelihood?: string; + /** + * Joy likelihood. + */ + joyLikelihood?: string; + /** + * Face landmarking confidence. Range [0, 1]. + */ + landmarkingConfidence?: number; + /** + * Detected face landmarks. + */ + landmarks?: Schema$GoogleCloudVisionV1p2beta1FaceAnnotationLandmark[]; + /** + * Yaw angle, which indicates the leftward/rightward angle that the face is + * pointing relative to the vertical plane perpendicular to the image. Range + * [-180,180]. + */ + panAngle?: number; + /** + * Roll angle, which indicates the amount of clockwise/anti-clockwise + * rotation of the face relative to the image vertical about the axis + * perpendicular to the face. Range [-180,180]. + */ + rollAngle?: number; + /** + * Sorrow likelihood. + */ + sorrowLikelihood?: string; + /** + * Surprise likelihood. + */ + surpriseLikelihood?: string; + /** + * Pitch angle, which indicates the upwards/downwards angle that the face is + * pointing relative to the image's horizontal plane. Range [-180,180]. + */ + tiltAngle?: number; + /** + * Under-exposed likelihood. + */ + underExposedLikelihood?: string; + } + /** + * A face-specific landmark (for example, a face feature). + */ + interface Schema$GoogleCloudVisionV1p2beta1FaceAnnotationLandmark { + /** + * Face landmark position. + */ + position?: Schema$GoogleCloudVisionV1p2beta1Position; + /** + * Face landmark type. + */ + type?: string; + } + /** + * The Google Cloud Storage location where the output will be written to. + */ + interface Schema$GoogleCloudVisionV1p2beta1GcsDestination { + /** + * Google Cloud Storage URI where the results will be stored. Results will + * be in JSON format and preceded by its corresponding input URI. This field + * can either represent a single file, or a prefix for multiple outputs. + * Prefixes must end in a `/`. Examples: * File: + * gs://bucket-name/filename.json * Prefix: gs://bucket-name/prefix/here/ + * * File: gs://bucket-name/prefix/here If multiple outputs, each + * response is still AnnotateFileResponse, each of which contains some + * subset of the full list of AnnotateImageResponse. Multiple outputs can + * happen if, for example, the output JSON is too large and overflows into + * multiple sharded files. + */ + uri?: string; + } + /** + * The Google Cloud Storage location where the input will be read from. + */ + interface Schema$GoogleCloudVisionV1p2beta1GcsSource { + /** + * Google Cloud Storage URI for the input file. This must only be a Google + * Cloud Storage object. Wildcards are not currently supported. + */ + uri?: string; + } + /** + * If an image was produced from a file (e.g. a PDF), this message gives + * information about the source of that image. + */ + interface Schema$GoogleCloudVisionV1p2beta1ImageAnnotationContext { + /** + * If the file was a PDF or TIFF, this field gives the page number within + * the file used to produce the image. + */ + pageNumber?: number; + /** + * The URI of the file used to produce the image. + */ + uri?: string; + } + /** + * Stores image properties, such as dominant colors. + */ + interface Schema$GoogleCloudVisionV1p2beta1ImageProperties { + /** + * If present, dominant colors completed successfully. + */ + dominantColors?: Schema$GoogleCloudVisionV1p2beta1DominantColorsAnnotation; + } + /** + * The desired input location and metadata. + */ + interface Schema$GoogleCloudVisionV1p2beta1InputConfig { + /** + * The Google Cloud Storage location to read the input from. + */ + gcsSource?: Schema$GoogleCloudVisionV1p2beta1GcsSource; + /** + * The type of the file. Currently only "application/pdf" and + * "image/tiff" are supported. Wildcards are not supported. + */ + mimeType?: string; + } + /** + * Set of detected objects with bounding boxes. + */ + interface Schema$GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation { + /** + * Image region to which this object belongs. This must be populated. + */ + boundingPoly?: Schema$GoogleCloudVisionV1p2beta1BoundingPoly; + /** + * The BCP-47 language code, such as "en-US" or + * "sr-Latn". For more information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + */ + languageCode?: string; + /** + * Object ID that should align with EntityAnnotation mid. + */ + mid?: string; + /** + * Object name, expressed in its `language_code` language. + */ + name?: string; + /** + * Score of the result. Range [0, 1]. + */ + score?: number; + } + /** + * Detected entity location information. + */ + interface Schema$GoogleCloudVisionV1p2beta1LocationInfo { + /** + * lat/long location coordinates. + */ + latLng?: Schema$LatLng; + } + /** + * A vertex represents a 2D point in the image. NOTE: the normalized vertex + * coordinates are relative to the original image and range from 0 to 1. + */ + interface Schema$GoogleCloudVisionV1p2beta1NormalizedVertex { + /** + * X coordinate. + */ + x?: number; + /** + * Y coordinate. + */ + y?: number; + } + /** + * Contains metadata for the BatchAnnotateImages operation. + */ + interface Schema$GoogleCloudVisionV1p2beta1OperationMetadata { + /** + * The time when the batch request was received. + */ + createTime?: string; + /** + * Current state of the batch operation. + */ + state?: string; + /** + * The time when the operation result was last updated. + */ + updateTime?: string; + } + /** + * The desired output location and metadata. + */ + interface Schema$GoogleCloudVisionV1p2beta1OutputConfig { + /** + * The max number of response protos to put into each output JSON file on + * Google Cloud Storage. The valid range is [1, 100]. If not specified, the + * default value is 20. For example, for one pdf file with 100 pages, 100 + * response protos will be generated. If `batch_size` = 20, then 5 json + * files each containing 20 response protos will be written under the prefix + * `gcs_destination`.`uri`. Currently, batch_size only applies to + * GcsDestination, with potential future support for other output + * configurations. + */ + batchSize?: number; + /** + * The Google Cloud Storage location to write the output(s) to. + */ + gcsDestination?: Schema$GoogleCloudVisionV1p2beta1GcsDestination; + } + /** + * Detected page from OCR. + */ + interface Schema$GoogleCloudVisionV1p2beta1Page { + /** + * List of blocks of text, images etc on this page. + */ + blocks?: Schema$GoogleCloudVisionV1p2beta1Block[]; + /** + * Confidence of the OCR results on the page. Range [0, 1]. + */ + confidence?: number; + /** + * Page height. For PDFs the unit is points. For images (including TIFFs) + * the unit is pixels. + */ + height?: number; + /** + * Additional information detected on the page. + */ + property?: Schema$GoogleCloudVisionV1p2beta1TextAnnotationTextProperty; + /** + * Page width. For PDFs the unit is points. For images (including TIFFs) the + * unit is pixels. + */ + width?: number; + } + /** + * Structural unit of text representing a number of words in certain order. + */ + interface Schema$GoogleCloudVisionV1p2beta1Paragraph { + /** + * The bounding box for the paragraph. The vertices are in the order of + * top-left, top-right, bottom-right, bottom-left. When a rotation of the + * bounding box is detected the rotation is represented as around the + * top-left corner as defined when the text is read in the 'natural' + * orientation. For example: * when the text is horizontal it might look + * like: 0----1 | | 3----2 * when it's rotated 180 + * degrees around the top-left corner it becomes: 2----3 | | + * 1----0 and the vertice order will still be (0, 1, 2, 3). + */ + boundingBox?: Schema$GoogleCloudVisionV1p2beta1BoundingPoly; + /** + * Confidence of the OCR results for the paragraph. Range [0, 1]. + */ + confidence?: number; + /** + * Additional information detected for the paragraph. + */ + property?: Schema$GoogleCloudVisionV1p2beta1TextAnnotationTextProperty; + /** + * List of words in this paragraph. + */ + words?: Schema$GoogleCloudVisionV1p2beta1Word[]; + } + /** + * A 3D position in the image, used primarily for Face detection landmarks. A + * valid Position must have both x and y coordinates. The position coordinates + * are in the same scale as the original image. + */ + interface Schema$GoogleCloudVisionV1p2beta1Position { + /** + * X coordinate. + */ + x?: number; + /** + * Y coordinate. + */ + y?: number; + /** + * Z coordinate (or depth). + */ + z?: number; + } + /** + * A `Property` consists of a user-supplied name/value pair. + */ + interface Schema$GoogleCloudVisionV1p2beta1Property { + /** + * Name of the property. + */ + name?: string; + /** + * Value of numeric properties. + */ + uint64Value?: string; + /** + * Value of the property. + */ + value?: string; + } + /** + * Set of features pertaining to the image, computed by computer vision + * methods over safe-search verticals (for example, adult, spoof, medical, + * violence). + */ + interface Schema$GoogleCloudVisionV1p2beta1SafeSearchAnnotation { + /** + * Represents the adult content likelihood for the image. Adult content may + * contain elements such as nudity, pornographic images or cartoons, or + * sexual activities. + */ + adult?: string; + /** + * Likelihood that this is a medical image. + */ + medical?: string; + /** + * Likelihood that the request image contains racy content. Racy content may + * include (but is not limited to) skimpy or sheer clothing, strategically + * covered nudity, lewd or provocative poses, or close-ups of sensitive body + * areas. + */ + racy?: string; + /** + * Spoof likelihood. The likelihood that an modification was made to the + * image's canonical version to make it appear funny or offensive. + */ + spoof?: string; + /** + * Likelihood that this image contains violent content. + */ + violence?: string; + } + /** + * A single symbol representation. + */ + interface Schema$GoogleCloudVisionV1p2beta1Symbol { + /** + * The bounding box for the symbol. The vertices are in the order of + * top-left, top-right, bottom-right, bottom-left. When a rotation of the + * bounding box is detected the rotation is represented as around the + * top-left corner as defined when the text is read in the 'natural' + * orientation. For example: * when the text is horizontal it might look + * like: 0----1 | | 3----2 * when it's rotated 180 + * degrees around the top-left corner it becomes: 2----3 | | + * 1----0 and the vertice order will still be (0, 1, 2, 3). + */ + boundingBox?: Schema$GoogleCloudVisionV1p2beta1BoundingPoly; + /** + * Confidence of the OCR results for the symbol. Range [0, 1]. + */ + confidence?: number; + /** + * Additional information detected for the symbol. + */ + property?: Schema$GoogleCloudVisionV1p2beta1TextAnnotationTextProperty; + /** + * The actual UTF-8 representation of the symbol. + */ + text?: string; + } + /** + * TextAnnotation contains a structured representation of OCR extracted text. + * The hierarchy of an OCR extracted text structure is like this: + * TextAnnotation -> Page -> Block -> Paragraph -> Word -> + * Symbol Each structural component, starting from Page, may further have + * their own properties. Properties describe detected languages, breaks etc.. + * Please refer to the TextAnnotation.TextProperty message definition below + * for more detail. + */ + interface Schema$GoogleCloudVisionV1p2beta1TextAnnotation { + /** + * List of pages detected by OCR. + */ + pages?: Schema$GoogleCloudVisionV1p2beta1Page[]; + /** + * UTF-8 text detected on the pages. + */ + text?: string; + } + /** + * Detected start or end of a structural component. + */ + interface Schema$GoogleCloudVisionV1p2beta1TextAnnotationDetectedBreak { + /** + * True if break prepends the element. + */ + isPrefix?: boolean; + /** + * Detected break type. + */ + type?: string; + } + /** + * Detected language for a structural component. + */ + interface Schema$GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage { + /** + * Confidence of detected language. Range [0, 1]. + */ + confidence?: number; + /** + * The BCP-47 language code, such as "en-US" or + * "sr-Latn". For more information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + */ + languageCode?: string; + } + /** + * Additional information detected on the structural component. + */ + interface Schema$GoogleCloudVisionV1p2beta1TextAnnotationTextProperty { + /** + * Detected start or end of a text segment. + */ + detectedBreak?: Schema$GoogleCloudVisionV1p2beta1TextAnnotationDetectedBreak; + /** + * A list of detected languages together with confidence. + */ + detectedLanguages?: Schema$GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage[]; + } + /** + * A vertex represents a 2D point in the image. NOTE: the vertex coordinates + * are in the same scale as the original image. + */ + interface Schema$GoogleCloudVisionV1p2beta1Vertex { + /** + * X coordinate. + */ + x?: number; + /** + * Y coordinate. + */ + y?: number; + } + /** + * Relevant information for the image from the Internet. + */ + interface Schema$GoogleCloudVisionV1p2beta1WebDetection { + /** + * The service's best guess as to the topic of the request image. + * Inferred from similar images on the open web. + */ + bestGuessLabels?: Schema$GoogleCloudVisionV1p2beta1WebDetectionWebLabel[]; + /** + * Fully matching images from the Internet. Can include resized copies of + * the query image. + */ + fullMatchingImages?: Schema$GoogleCloudVisionV1p2beta1WebDetectionWebImage[]; + /** + * Web pages containing the matching images from the Internet. + */ + pagesWithMatchingImages?: Schema$GoogleCloudVisionV1p2beta1WebDetectionWebPage[]; + /** + * Partial matching images from the Internet. Those images are similar + * enough to share some key-point features. For example an original image + * will likely have partial matching for its crops. + */ + partialMatchingImages?: Schema$GoogleCloudVisionV1p2beta1WebDetectionWebImage[]; + /** + * The visually similar image results. + */ + visuallySimilarImages?: Schema$GoogleCloudVisionV1p2beta1WebDetectionWebImage[]; + /** + * Deduced entities from similar images on the Internet. + */ + webEntities?: Schema$GoogleCloudVisionV1p2beta1WebDetectionWebEntity[]; + } + /** + * Entity deduced from similar images on the Internet. + */ + interface Schema$GoogleCloudVisionV1p2beta1WebDetectionWebEntity { + /** + * Canonical description of the entity, in English. + */ + description?: string; + /** + * Opaque entity ID. + */ + entityId?: string; + /** + * Overall relevancy score for the entity. Not normalized and not comparable + * across different image queries. + */ + score?: number; + } + /** + * Metadata for online images. + */ + interface Schema$GoogleCloudVisionV1p2beta1WebDetectionWebImage { + /** + * (Deprecated) Overall relevancy score for the image. + */ + score?: number; + /** + * The result image URL. + */ + url?: string; + } + /** + * Label to provide extra metadata for the web detection. + */ + interface Schema$GoogleCloudVisionV1p2beta1WebDetectionWebLabel { + /** + * Label for extra metadata. + */ + label?: string; + /** + * The BCP-47 language code for `label`, such as "en-US" or + * "sr-Latn". For more information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + */ + languageCode?: string; + } + /** + * Metadata for web pages. + */ + interface Schema$GoogleCloudVisionV1p2beta1WebDetectionWebPage { + /** + * Fully matching images on the page. Can include resized copies of the + * query image. + */ + fullMatchingImages?: Schema$GoogleCloudVisionV1p2beta1WebDetectionWebImage[]; + /** + * Title for the web page, may contain HTML markups. + */ + pageTitle?: string; + /** + * Partial matching images on the page. Those images are similar enough to + * share some key-point features. For example an original image will likely + * have partial matching for its crops. + */ + partialMatchingImages?: Schema$GoogleCloudVisionV1p2beta1WebDetectionWebImage[]; + /** + * (Deprecated) Overall relevancy score for the web page. + */ + score?: number; + /** + * The result web page URL. + */ + url?: string; + } + /** + * A word representation. + */ + interface Schema$GoogleCloudVisionV1p2beta1Word { + /** + * The bounding box for the word. The vertices are in the order of top-left, + * top-right, bottom-right, bottom-left. When a rotation of the bounding box + * is detected the rotation is represented as around the top-left corner as + * defined when the text is read in the 'natural' orientation. For + * example: * when the text is horizontal it might look like: 0----1 + * | | 3----2 * when it's rotated 180 degrees around the + * top-left corner it becomes: 2----3 | | 1----0 and the + * vertice order will still be (0, 1, 2, 3). + */ + boundingBox?: Schema$GoogleCloudVisionV1p2beta1BoundingPoly; + /** + * Confidence of the OCR results for the word. Range [0, 1]. + */ + confidence?: number; + /** + * Additional information detected for the word. + */ + property?: Schema$GoogleCloudVisionV1p2beta1TextAnnotationTextProperty; + /** + * List of symbols in the word. The order of the symbols follows the natural + * reading order. + */ + symbols?: Schema$GoogleCloudVisionV1p2beta1Symbol[]; + } + /** + * Response to a single file annotation request. A file may contain one or + * more images, which individually have their own responses. + */ + interface Schema$GoogleCloudVisionV1p3beta1AnnotateFileResponse { + /** + * Information about the file for which this response is generated. + */ + inputConfig?: Schema$GoogleCloudVisionV1p3beta1InputConfig; + /** + * Individual responses to images found within the file. + */ + responses?: Schema$GoogleCloudVisionV1p3beta1AnnotateImageResponse[]; + } + /** + * Response to an image annotation request. + */ + interface Schema$GoogleCloudVisionV1p3beta1AnnotateImageResponse { + /** + * If present, contextual information is needed to understand where this + * image comes from. + */ + context?: Schema$GoogleCloudVisionV1p3beta1ImageAnnotationContext; + /** + * If present, crop hints have completed successfully. + */ + cropHintsAnnotation?: Schema$GoogleCloudVisionV1p3beta1CropHintsAnnotation; + /** + * If set, represents the error message for the operation. Note that + * filled-in image annotations are guaranteed to be correct, even when + * `error` is set. + */ + error?: Schema$Status; + /** + * If present, face detection has completed successfully. + */ + faceAnnotations?: Schema$GoogleCloudVisionV1p3beta1FaceAnnotation[]; + /** + * If present, text (OCR) detection or document (OCR) text detection has + * completed successfully. This annotation provides the structural hierarchy + * for the OCR detected text. + */ + fullTextAnnotation?: Schema$GoogleCloudVisionV1p3beta1TextAnnotation; + /** + * If present, image properties were extracted successfully. + */ + imagePropertiesAnnotation?: Schema$GoogleCloudVisionV1p3beta1ImageProperties; + /** + * If present, label detection has completed successfully. + */ + labelAnnotations?: Schema$GoogleCloudVisionV1p3beta1EntityAnnotation[]; + /** + * If present, landmark detection has completed successfully. + */ + landmarkAnnotations?: Schema$GoogleCloudVisionV1p3beta1EntityAnnotation[]; + /** + * If present, localized object detection has completed successfully. This + * will be sorted descending by confidence score. + */ + localizedObjectAnnotations?: Schema$GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation[]; + /** + * If present, logo detection has completed successfully. + */ + logoAnnotations?: Schema$GoogleCloudVisionV1p3beta1EntityAnnotation[]; + /** + * If present, product search has completed successfully. + */ + productSearchResults?: Schema$GoogleCloudVisionV1p3beta1ProductSearchResults; + /** + * If present, safe-search annotation has completed successfully. + */ + safeSearchAnnotation?: Schema$GoogleCloudVisionV1p3beta1SafeSearchAnnotation; + /** + * If present, text (OCR) detection has completed successfully. + */ + textAnnotations?: Schema$GoogleCloudVisionV1p3beta1EntityAnnotation[]; + /** + * If present, web detection has completed successfully. + */ + webDetection?: Schema$GoogleCloudVisionV1p3beta1WebDetection; + } + /** + * The response for a single offline file annotation request. + */ + interface Schema$GoogleCloudVisionV1p3beta1AsyncAnnotateFileResponse { + /** + * The output location and metadata from AsyncAnnotateFileRequest. + */ + outputConfig?: Schema$GoogleCloudVisionV1p3beta1OutputConfig; + } + /** + * Response to an async batch file annotation request. + */ + interface Schema$GoogleCloudVisionV1p3beta1AsyncBatchAnnotateFilesResponse { + /** + * The list of file annotation responses, one for each request in + * AsyncBatchAnnotateFilesRequest. + */ + responses?: Schema$GoogleCloudVisionV1p3beta1AsyncAnnotateFileResponse[]; + } + /** + * Metadata for the batch operations such as the current state. This is + * included in the `metadata` field of the `Operation` returned by the + * `GetOperation` call of the `google::longrunning::Operations` service. + */ + interface Schema$GoogleCloudVisionV1p3beta1BatchOperationMetadata { + /** + * The time when the batch request is finished and + * google.longrunning.Operation.done is set to true. + */ + endTime?: string; + /** + * The current state of the batch operation. + */ + state?: string; + /** + * The time when the batch request was submitted to the server. + */ + submitTime?: string; + } + /** + * Logical element on the page. + */ + interface Schema$GoogleCloudVisionV1p3beta1Block { + /** + * Detected block type (text, image etc) for this block. + */ + blockType?: string; + /** + * The bounding box for the block. The vertices are in the order of + * top-left, top-right, bottom-right, bottom-left. When a rotation of the + * bounding box is detected the rotation is represented as around the + * top-left corner as defined when the text is read in the 'natural' + * orientation. For example: * when the text is horizontal it might look + * like: 0----1 | | 3----2 * when it's + * rotated 180 degrees around the top-left corner it becomes: 2----3 | | + * 1----0 and the vertice order will still be (0, 1, 2, 3). + */ + boundingBox?: Schema$GoogleCloudVisionV1p3beta1BoundingPoly; + /** + * Confidence of the OCR results on the block. Range [0, 1]. + */ + confidence?: number; + /** + * List of paragraphs in this block (if this blocks is of type text). + */ + paragraphs?: Schema$GoogleCloudVisionV1p3beta1Paragraph[]; + /** + * Additional information detected for the block. + */ + property?: Schema$GoogleCloudVisionV1p3beta1TextAnnotationTextProperty; + } + /** + * A bounding polygon for the detected image annotation. + */ + interface Schema$GoogleCloudVisionV1p3beta1BoundingPoly { + /** + * The bounding polygon normalized vertices. + */ + normalizedVertices?: Schema$GoogleCloudVisionV1p3beta1NormalizedVertex[]; + /** + * The bounding polygon vertices. + */ + vertices?: Schema$GoogleCloudVisionV1p3beta1Vertex[]; + } + /** + * Color information consists of RGB channels, score, and the fraction of the + * image that the color occupies in the image. + */ + interface Schema$GoogleCloudVisionV1p3beta1ColorInfo { + /** + * RGB components of the color. + */ + color?: Schema$Color; + /** + * The fraction of pixels the color occupies in the image. Value in range + * [0, 1]. + */ + pixelFraction?: number; + /** + * Image-specific score for this color. Value in range [0, 1]. + */ + score?: number; + } + /** + * Single crop hint that is used to generate a new crop when serving an image. + */ + interface Schema$GoogleCloudVisionV1p3beta1CropHint { + /** + * The bounding polygon for the crop region. The coordinates of the bounding + * box are in the original image's scale, as returned in `ImageParams`. + */ + boundingPoly?: Schema$GoogleCloudVisionV1p3beta1BoundingPoly; + /** + * Confidence of this being a salient region. Range [0, 1]. + */ + confidence?: number; + /** + * Fraction of importance of this salient region with respect to the + * original image. + */ + importanceFraction?: number; + } + /** + * Set of crop hints that are used to generate new crops when serving images. + */ + interface Schema$GoogleCloudVisionV1p3beta1CropHintsAnnotation { + /** + * Crop hint results. + */ + cropHints?: Schema$GoogleCloudVisionV1p3beta1CropHint[]; + } + /** + * Set of dominant colors and their corresponding scores. + */ + interface Schema$GoogleCloudVisionV1p3beta1DominantColorsAnnotation { + /** + * RGB color values with their score and pixel fraction. + */ + colors?: Schema$GoogleCloudVisionV1p3beta1ColorInfo[]; + } + /** + * Set of detected entity features. + */ + interface Schema$GoogleCloudVisionV1p3beta1EntityAnnotation { + /** + * Image region to which this entity belongs. Not produced for + * `LABEL_DETECTION` features. + */ + boundingPoly?: Schema$GoogleCloudVisionV1p3beta1BoundingPoly; + /** + * **Deprecated. Use `score` instead.** The accuracy of the entity detection + * in an image. For example, for an image in which the "Eiffel + * Tower" entity is detected, this field represents the confidence that + * there is a tower in the query image. Range [0, 1]. + */ + confidence?: number; + /** + * Entity textual description, expressed in its `locale` language. + */ + description?: string; + /** + * The language code for the locale in which the entity textual + * `description` is expressed. + */ + locale?: string; + /** + * The location information for the detected entity. Multiple `LocationInfo` + * elements can be present because one location may indicate the location of + * the scene in the image, and another location may indicate the location of + * the place where the image was taken. Location information is usually + * present for landmarks. + */ + locations?: Schema$GoogleCloudVisionV1p3beta1LocationInfo[]; + /** + * Opaque entity ID. Some IDs may be available in [Google Knowledge Graph + * Search API](https://developers.google.com/knowledge-graph/). + */ + mid?: string; + /** + * Some entities may have optional user-supplied `Property` (name/value) + * fields, such a score or string that qualifies the entity. + */ + properties?: Schema$GoogleCloudVisionV1p3beta1Property[]; + /** + * Overall score of the result. Range [0, 1]. + */ + score?: number; + /** + * The relevancy of the ICA (Image Content Annotation) label to the image. + * For example, the relevancy of "tower" is likely higher to an + * image containing the detected "Eiffel Tower" than to an image + * containing a detected distant towering building, even though the + * confidence that there is a tower in each image may be the same. Range [0, + * 1]. + */ + topicality?: number; + } + /** + * A face annotation object contains the results of face detection. + */ + interface Schema$GoogleCloudVisionV1p3beta1FaceAnnotation { + /** + * Anger likelihood. + */ + angerLikelihood?: string; + /** + * Blurred likelihood. + */ + blurredLikelihood?: string; + /** + * The bounding polygon around the face. The coordinates of the bounding box + * are in the original image's scale, as returned in `ImageParams`. The + * bounding box is computed to "frame" the face in accordance with + * human expectations. It is based on the landmarker results. Note that one + * or more x and/or y coordinates may not be generated in the `BoundingPoly` + * (the polygon will be unbounded) if only a partial face appears in the + * image to be annotated. + */ + boundingPoly?: Schema$GoogleCloudVisionV1p3beta1BoundingPoly; + /** + * Detection confidence. Range [0, 1]. + */ + detectionConfidence?: number; + /** + * The `fd_bounding_poly` bounding polygon is tighter than the + * `boundingPoly`, and encloses only the skin part of the face. Typically, + * it is used to eliminate the face from any image analysis that detects the + * "amount of skin" visible in an image. It is not based on the + * landmarker results, only on the initial face detection, hence the + * <code>fd</code> (face detection) prefix. + */ + fdBoundingPoly?: Schema$GoogleCloudVisionV1p3beta1BoundingPoly; + /** + * Headwear likelihood. + */ + headwearLikelihood?: string; + /** + * Joy likelihood. + */ + joyLikelihood?: string; + /** + * Face landmarking confidence. Range [0, 1]. + */ + landmarkingConfidence?: number; + /** + * Detected face landmarks. + */ + landmarks?: Schema$GoogleCloudVisionV1p3beta1FaceAnnotationLandmark[]; + /** + * Yaw angle, which indicates the leftward/rightward angle that the face is + * pointing relative to the vertical plane perpendicular to the image. Range + * [-180,180]. + */ + panAngle?: number; + /** + * Roll angle, which indicates the amount of clockwise/anti-clockwise + * rotation of the face relative to the image vertical about the axis + * perpendicular to the face. Range [-180,180]. + */ + rollAngle?: number; + /** + * Sorrow likelihood. + */ + sorrowLikelihood?: string; + /** + * Surprise likelihood. + */ + surpriseLikelihood?: string; + /** + * Pitch angle, which indicates the upwards/downwards angle that the face is + * pointing relative to the image's horizontal plane. Range [-180,180]. + */ + tiltAngle?: number; + /** + * Under-exposed likelihood. + */ + underExposedLikelihood?: string; + } + /** + * A face-specific landmark (for example, a face feature). + */ + interface Schema$GoogleCloudVisionV1p3beta1FaceAnnotationLandmark { + /** + * Face landmark position. + */ + position?: Schema$GoogleCloudVisionV1p3beta1Position; + /** + * Face landmark type. + */ + type?: string; + } + /** + * The Google Cloud Storage location where the output will be written to. + */ + interface Schema$GoogleCloudVisionV1p3beta1GcsDestination { + /** + * Google Cloud Storage URI where the results will be stored. Results will + * be in JSON format and preceded by its corresponding input URI. This field + * can either represent a single file, or a prefix for multiple outputs. + * Prefixes must end in a `/`. Examples: * File: + * gs://bucket-name/filename.json * Prefix: gs://bucket-name/prefix/here/ + * * File: gs://bucket-name/prefix/here If multiple outputs, each + * response is still AnnotateFileResponse, each of which contains some + * subset of the full list of AnnotateImageResponse. Multiple outputs can + * happen if, for example, the output JSON is too large and overflows into + * multiple sharded files. + */ + uri?: string; + } + /** + * The Google Cloud Storage location where the input will be read from. + */ + interface Schema$GoogleCloudVisionV1p3beta1GcsSource { + /** + * Google Cloud Storage URI for the input file. This must only be a Google + * Cloud Storage object. Wildcards are not currently supported. + */ + uri?: string; + } + /** + * If an image was produced from a file (e.g. a PDF), this message gives + * information about the source of that image. + */ + interface Schema$GoogleCloudVisionV1p3beta1ImageAnnotationContext { + /** + * If the file was a PDF or TIFF, this field gives the page number within + * the file used to produce the image. + */ + pageNumber?: number; + /** + * The URI of the file used to produce the image. + */ + uri?: string; + } + /** + * Stores image properties, such as dominant colors. + */ + interface Schema$GoogleCloudVisionV1p3beta1ImageProperties { + /** + * If present, dominant colors completed successfully. + */ + dominantColors?: Schema$GoogleCloudVisionV1p3beta1DominantColorsAnnotation; + } + /** + * Response message for the `ImportProductSets` method. This message is + * returned by the google.longrunning.Operations.GetOperation method in the + * returned google.longrunning.Operation.response field. + */ + interface Schema$GoogleCloudVisionV1p3beta1ImportProductSetsResponse { + /** + * The list of reference_images that are imported successfully. + */ + referenceImages?: Schema$GoogleCloudVisionV1p3beta1ReferenceImage[]; + /** + * The rpc status for each ImportProductSet request, including both + * successes and errors. The number of statuses here matches the number of + * lines in the csv file, and statuses[i] stores the success or failure + * status of processing the i-th line of the csv, starting from line 0. + */ + statuses?: Schema$Status[]; + } + /** + * The desired input location and metadata. + */ + interface Schema$GoogleCloudVisionV1p3beta1InputConfig { + /** + * The Google Cloud Storage location to read the input from. + */ + gcsSource?: Schema$GoogleCloudVisionV1p3beta1GcsSource; + /** + * The type of the file. Currently only "application/pdf" and + * "image/tiff" are supported. Wildcards are not supported. + */ + mimeType?: string; + } + /** + * Set of detected objects with bounding boxes. + */ + interface Schema$GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation { + /** + * Image region to which this object belongs. This must be populated. + */ + boundingPoly?: Schema$GoogleCloudVisionV1p3beta1BoundingPoly; + /** + * The BCP-47 language code, such as "en-US" or + * "sr-Latn". For more information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + */ + languageCode?: string; + /** + * Object ID that should align with EntityAnnotation mid. + */ + mid?: string; + /** + * Object name, expressed in its `language_code` language. + */ + name?: string; + /** + * Score of the result. Range [0, 1]. + */ + score?: number; + } + /** + * Detected entity location information. + */ + interface Schema$GoogleCloudVisionV1p3beta1LocationInfo { + /** + * lat/long location coordinates. + */ + latLng?: Schema$LatLng; + } + /** + * A vertex represents a 2D point in the image. NOTE: the normalized vertex + * coordinates are relative to the original image and range from 0 to 1. + */ + interface Schema$GoogleCloudVisionV1p3beta1NormalizedVertex { + /** + * X coordinate. + */ + x?: number; + /** + * Y coordinate. + */ + y?: number; + } + /** + * Contains metadata for the BatchAnnotateImages operation. + */ + interface Schema$GoogleCloudVisionV1p3beta1OperationMetadata { + /** + * The time when the batch request was received. + */ + createTime?: string; + /** + * Current state of the batch operation. + */ + state?: string; + /** + * The time when the operation result was last updated. + */ + updateTime?: string; + } + /** + * The desired output location and metadata. + */ + interface Schema$GoogleCloudVisionV1p3beta1OutputConfig { + /** + * The max number of response protos to put into each output JSON file on + * Google Cloud Storage. The valid range is [1, 100]. If not specified, the + * default value is 20. For example, for one pdf file with 100 pages, 100 + * response protos will be generated. If `batch_size` = 20, then 5 json + * files each containing 20 response protos will be written under the prefix + * `gcs_destination`.`uri`. Currently, batch_size only applies to + * GcsDestination, with potential future support for other output + * configurations. + */ + batchSize?: number; + /** + * The Google Cloud Storage location to write the output(s) to. + */ + gcsDestination?: Schema$GoogleCloudVisionV1p3beta1GcsDestination; + } + /** + * Detected page from OCR. + */ + interface Schema$GoogleCloudVisionV1p3beta1Page { + /** + * List of blocks of text, images etc on this page. + */ + blocks?: Schema$GoogleCloudVisionV1p3beta1Block[]; + /** + * Confidence of the OCR results on the page. Range [0, 1]. + */ + confidence?: number; + /** + * Page height. For PDFs the unit is points. For images (including TIFFs) + * the unit is pixels. + */ + height?: number; + /** + * Additional information detected on the page. + */ + property?: Schema$GoogleCloudVisionV1p3beta1TextAnnotationTextProperty; + /** + * Page width. For PDFs the unit is points. For images (including TIFFs) the + * unit is pixels. + */ + width?: number; + } + /** + * Structural unit of text representing a number of words in certain order. + */ + interface Schema$GoogleCloudVisionV1p3beta1Paragraph { + /** + * The bounding box for the paragraph. The vertices are in the order of + * top-left, top-right, bottom-right, bottom-left. When a rotation of the + * bounding box is detected the rotation is represented as around the + * top-left corner as defined when the text is read in the 'natural' + * orientation. For example: * when the text is horizontal it might look + * like: 0----1 | | 3----2 * when it's rotated 180 + * degrees around the top-left corner it becomes: 2----3 | | + * 1----0 and the vertice order will still be (0, 1, 2, 3). + */ + boundingBox?: Schema$GoogleCloudVisionV1p3beta1BoundingPoly; + /** + * Confidence of the OCR results for the paragraph. Range [0, 1]. + */ + confidence?: number; + /** + * Additional information detected for the paragraph. + */ + property?: Schema$GoogleCloudVisionV1p3beta1TextAnnotationTextProperty; + /** + * List of words in this paragraph. + */ + words?: Schema$GoogleCloudVisionV1p3beta1Word[]; + } + /** + * A 3D position in the image, used primarily for Face detection landmarks. A + * valid Position must have both x and y coordinates. The position coordinates + * are in the same scale as the original image. + */ + interface Schema$GoogleCloudVisionV1p3beta1Position { + /** + * X coordinate. + */ + x?: number; + /** + * Y coordinate. + */ + y?: number; + /** + * Z coordinate (or depth). + */ + z?: number; + } + /** + * A Product contains ReferenceImages. + */ + interface Schema$GoogleCloudVisionV1p3beta1Product { + /** + * User-provided metadata to be stored with this product. Must be at most + * 4096 characters long. + */ + description?: string; + /** + * The user-provided name for this Product. Must not be empty. Must be at + * most 4096 characters long. + */ + displayName?: string; + /** + * The resource name of the product. Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. This field + * is ignored when creating a product. + */ + name?: string; + /** + * The category for the product identified by the reference image. This + * should be either "homegoods" or "apparel". This + * field is immutable. + */ + productCategory?: string; + /** + * Key-value pairs that can be attached to a product. At query time, + * constraints can be specified based on the product_labels. Note that + * integer values can be provided as strings, e.g. "1199". Only + * strings with integer values can match a range-based restriction which is + * to be supported soon. Multiple values can be assigned to the same key. + * One product may have up to 100 product_labels. + */ + productLabels?: Schema$GoogleCloudVisionV1p3beta1ProductKeyValue[]; + } + /** + * A product label represented as a key-value pair. + */ + interface Schema$GoogleCloudVisionV1p3beta1ProductKeyValue { + /** + * The key of the label attached to the product. Cannot be empty and cannot + * exceed 128 bytes. + */ + key?: string; + /** + * The value of the label attached to the product. Cannot be empty and + * cannot exceed 128 bytes. + */ + value?: string; + } + /** + * Results for a product search request. + */ + interface Schema$GoogleCloudVisionV1p3beta1ProductSearchResults { + /** + * Timestamp of the index which provided these results. Changes made after + * this time are not reflected in the current results. + */ + indexTime?: string; + /** + * List of results, one for each product match. + */ + results?: Schema$GoogleCloudVisionV1p3beta1ProductSearchResultsResult[]; + } + /** + * Information about a product. + */ + interface Schema$GoogleCloudVisionV1p3beta1ProductSearchResultsResult { + /** + * The resource name of the image from the product that is the closest match + * to the query. + */ + image?: string; + /** + * The Product. + */ + product?: Schema$GoogleCloudVisionV1p3beta1Product; + /** + * A confidence level on the match, ranging from 0 (no confidence) to 1 + * (full confidence). + */ + score?: number; + } + /** + * A `Property` consists of a user-supplied name/value pair. + */ + interface Schema$GoogleCloudVisionV1p3beta1Property { + /** + * Name of the property. + */ + name?: string; + /** + * Value of numeric properties. + */ + uint64Value?: string; + /** + * Value of the property. + */ + value?: string; + } + /** + * A `ReferenceImage` represents a product image and its associated metadata, + * such as bounding boxes. + */ + interface Schema$GoogleCloudVisionV1p3beta1ReferenceImage { + /** + * Bounding polygons around the areas of interest in the reference image. + * Optional. If this field is empty, the system will try to detect regions + * of interest. At most 10 bounding polygons will be used. The provided + * shape is converted into a non-rotated rectangle. Once converted, the + * small edge of the rectangle must be greater than or equal to 300 pixels. + * The aspect ratio must be 1:4 or less (i.e. 1:3 is ok; 1:5 is not). + */ + boundingPolys?: Schema$GoogleCloudVisionV1p3beta1BoundingPoly[]; + /** + * The resource name of the reference image. Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`. + * This field is ignored when creating a reference image. + */ + name?: string; + /** + * The Google Cloud Storage URI of the reference image. The URI must start + * with `gs://`. Required. + */ + uri?: string; + } + /** + * Set of features pertaining to the image, computed by computer vision + * methods over safe-search verticals (for example, adult, spoof, medical, + * violence). + */ + interface Schema$GoogleCloudVisionV1p3beta1SafeSearchAnnotation { + /** + * Represents the adult content likelihood for the image. Adult content may + * contain elements such as nudity, pornographic images or cartoons, or + * sexual activities. + */ + adult?: string; + /** + * Likelihood that this is a medical image. + */ + medical?: string; + /** + * Likelihood that the request image contains racy content. Racy content may + * include (but is not limited to) skimpy or sheer clothing, strategically + * covered nudity, lewd or provocative poses, or close-ups of sensitive body + * areas. + */ + racy?: string; + /** + * Spoof likelihood. The likelihood that an modification was made to the + * image's canonical version to make it appear funny or offensive. + */ + spoof?: string; + /** + * Likelihood that this image contains violent content. + */ + violence?: string; + } + /** + * A single symbol representation. + */ + interface Schema$GoogleCloudVisionV1p3beta1Symbol { + /** + * The bounding box for the symbol. The vertices are in the order of + * top-left, top-right, bottom-right, bottom-left. When a rotation of the + * bounding box is detected the rotation is represented as around the + * top-left corner as defined when the text is read in the 'natural' + * orientation. For example: * when the text is horizontal it might look + * like: 0----1 | | 3----2 * when it's rotated 180 + * degrees around the top-left corner it becomes: 2----3 | | + * 1----0 and the vertice order will still be (0, 1, 2, 3). + */ + boundingBox?: Schema$GoogleCloudVisionV1p3beta1BoundingPoly; + /** + * Confidence of the OCR results for the symbol. Range [0, 1]. + */ + confidence?: number; + /** + * Additional information detected for the symbol. + */ + property?: Schema$GoogleCloudVisionV1p3beta1TextAnnotationTextProperty; + /** + * The actual UTF-8 representation of the symbol. + */ + text?: string; + } + /** + * TextAnnotation contains a structured representation of OCR extracted text. + * The hierarchy of an OCR extracted text structure is like this: + * TextAnnotation -> Page -> Block -> Paragraph -> Word -> + * Symbol Each structural component, starting from Page, may further have + * their own properties. Properties describe detected languages, breaks etc.. + * Please refer to the TextAnnotation.TextProperty message definition below + * for more detail. + */ + interface Schema$GoogleCloudVisionV1p3beta1TextAnnotation { + /** + * List of pages detected by OCR. + */ + pages?: Schema$GoogleCloudVisionV1p3beta1Page[]; + /** + * UTF-8 text detected on the pages. + */ + text?: string; + } + /** + * Detected start or end of a structural component. + */ + interface Schema$GoogleCloudVisionV1p3beta1TextAnnotationDetectedBreak { + /** + * True if break prepends the element. + */ + isPrefix?: boolean; + /** + * Detected break type. + */ + type?: string; + } + /** + * Detected language for a structural component. + */ + interface Schema$GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage { + /** + * Confidence of detected language. Range [0, 1]. + */ + confidence?: number; + /** + * The BCP-47 language code, such as "en-US" or + * "sr-Latn". For more information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + */ + languageCode?: string; + } + /** + * Additional information detected on the structural component. + */ + interface Schema$GoogleCloudVisionV1p3beta1TextAnnotationTextProperty { + /** + * Detected start or end of a text segment. + */ + detectedBreak?: Schema$GoogleCloudVisionV1p3beta1TextAnnotationDetectedBreak; + /** + * A list of detected languages together with confidence. + */ + detectedLanguages?: Schema$GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage[]; + } + /** + * A vertex represents a 2D point in the image. NOTE: the vertex coordinates + * are in the same scale as the original image. + */ + interface Schema$GoogleCloudVisionV1p3beta1Vertex { + /** + * X coordinate. + */ + x?: number; + /** + * Y coordinate. + */ + y?: number; + } + /** + * Relevant information for the image from the Internet. + */ + interface Schema$GoogleCloudVisionV1p3beta1WebDetection { + /** + * The service's best guess as to the topic of the request image. + * Inferred from similar images on the open web. + */ + bestGuessLabels?: Schema$GoogleCloudVisionV1p3beta1WebDetectionWebLabel[]; + /** + * Fully matching images from the Internet. Can include resized copies of + * the query image. + */ + fullMatchingImages?: Schema$GoogleCloudVisionV1p3beta1WebDetectionWebImage[]; + /** + * Web pages containing the matching images from the Internet. + */ + pagesWithMatchingImages?: Schema$GoogleCloudVisionV1p3beta1WebDetectionWebPage[]; + /** + * Partial matching images from the Internet. Those images are similar + * enough to share some key-point features. For example an original image + * will likely have partial matching for its crops. + */ + partialMatchingImages?: Schema$GoogleCloudVisionV1p3beta1WebDetectionWebImage[]; + /** + * The visually similar image results. + */ + visuallySimilarImages?: Schema$GoogleCloudVisionV1p3beta1WebDetectionWebImage[]; + /** + * Deduced entities from similar images on the Internet. + */ + webEntities?: Schema$GoogleCloudVisionV1p3beta1WebDetectionWebEntity[]; + } + /** + * Entity deduced from similar images on the Internet. + */ + interface Schema$GoogleCloudVisionV1p3beta1WebDetectionWebEntity { + /** + * Canonical description of the entity, in English. + */ + description?: string; + /** + * Opaque entity ID. + */ + entityId?: string; + /** + * Overall relevancy score for the entity. Not normalized and not comparable + * across different image queries. + */ + score?: number; + } + /** + * Metadata for online images. + */ + interface Schema$GoogleCloudVisionV1p3beta1WebDetectionWebImage { + /** + * (Deprecated) Overall relevancy score for the image. + */ + score?: number; + /** + * The result image URL. + */ + url?: string; + } + /** + * Label to provide extra metadata for the web detection. + */ + interface Schema$GoogleCloudVisionV1p3beta1WebDetectionWebLabel { + /** + * Label for extra metadata. + */ + label?: string; + /** + * The BCP-47 language code for `label`, such as "en-US" or + * "sr-Latn". For more information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + */ + languageCode?: string; + } + /** + * Metadata for web pages. + */ + interface Schema$GoogleCloudVisionV1p3beta1WebDetectionWebPage { + /** + * Fully matching images on the page. Can include resized copies of the + * query image. + */ + fullMatchingImages?: Schema$GoogleCloudVisionV1p3beta1WebDetectionWebImage[]; + /** + * Title for the web page, may contain HTML markups. + */ + pageTitle?: string; + /** + * Partial matching images on the page. Those images are similar enough to + * share some key-point features. For example an original image will likely + * have partial matching for its crops. + */ + partialMatchingImages?: Schema$GoogleCloudVisionV1p3beta1WebDetectionWebImage[]; + /** + * (Deprecated) Overall relevancy score for the web page. + */ + score?: number; + /** + * The result web page URL. + */ + url?: string; + } + /** + * A word representation. + */ + interface Schema$GoogleCloudVisionV1p3beta1Word { + /** + * The bounding box for the word. The vertices are in the order of top-left, + * top-right, bottom-right, bottom-left. When a rotation of the bounding box + * is detected the rotation is represented as around the top-left corner as + * defined when the text is read in the 'natural' orientation. For + * example: * when the text is horizontal it might look like: 0----1 + * | | 3----2 * when it's rotated 180 degrees around the + * top-left corner it becomes: 2----3 | | 1----0 and the + * vertice order will still be (0, 1, 2, 3). + */ + boundingBox?: Schema$GoogleCloudVisionV1p3beta1BoundingPoly; + /** + * Confidence of the OCR results for the word. Range [0, 1]. + */ + confidence?: number; + /** + * Additional information detected for the word. + */ + property?: Schema$GoogleCloudVisionV1p3beta1TextAnnotationTextProperty; + /** + * List of symbols in the word. The order of the symbols follows the natural + * reading order. + */ + symbols?: Schema$GoogleCloudVisionV1p3beta1Symbol[]; + } + /** + * If an image was produced from a file (e.g. a PDF), this message gives + * information about the source of that image. + */ + interface Schema$ImageAnnotationContext { + /** + * If the file was a PDF or TIFF, this field gives the page number within + * the file used to produce the image. + */ + pageNumber?: number; + /** + * The URI of the file used to produce the image. + */ + uri?: string; + } + /** + * Stores image properties, such as dominant colors. + */ + interface Schema$ImageProperties { + /** + * If present, dominant colors completed successfully. + */ + dominantColors?: Schema$DominantColorsAnnotation; + } + /** + * The desired input location and metadata. + */ + interface Schema$InputConfig { + /** + * The Google Cloud Storage location to read the input from. + */ + gcsSource?: Schema$GcsSource; + /** + * The type of the file. Currently only "application/pdf" and + * "image/tiff" are supported. Wildcards are not supported. + */ + mimeType?: string; + } + /** + * A face-specific landmark (for example, a face feature). + */ + interface Schema$Landmark { + /** + * Face landmark position. + */ + position?: Schema$Position; + /** + * Face landmark type. + */ + type?: string; + } + /** + * An object representing a latitude/longitude pair. This is expressed as a + * pair of doubles representing degrees latitude and degrees longitude. Unless + * specified otherwise, this must conform to the <a + * href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84 + * standard</a>. Values must be within normalized ranges. + */ + interface Schema$LatLng { + /** + * The latitude in degrees. It must be in the range [-90.0, +90.0]. + */ + latitude?: number; + /** + * The longitude in degrees. It must be in the range [-180.0, +180.0]. + */ + longitude?: number; + } + /** + * Set of detected objects with bounding boxes. + */ + interface Schema$LocalizedObjectAnnotation { + /** + * Image region to which this object belongs. This must be populated. + */ + boundingPoly?: Schema$BoundingPoly; + /** + * The BCP-47 language code, such as "en-US" or + * "sr-Latn". For more information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + */ + languageCode?: string; + /** + * Object ID that should align with EntityAnnotation mid. + */ + mid?: string; + /** + * Object name, expressed in its `language_code` language. + */ + name?: string; + /** + * Score of the result. Range [0, 1]. + */ + score?: number; + } + /** + * Detected entity location information. + */ + interface Schema$LocationInfo { + /** + * lat/long location coordinates. + */ + latLng?: Schema$LatLng; + } + /** + * A vertex represents a 2D point in the image. NOTE: the normalized vertex + * coordinates are relative to the original image and range from 0 to 1. + */ + interface Schema$NormalizedVertex { + /** + * X coordinate. + */ + x?: number; + /** + * Y coordinate. + */ + y?: number; + } + /** + * This resource represents a long-running operation that is the result of a + * network API call. + */ + interface Schema$Operation { + /** + * If the value is `false`, it means the operation is still in progress. If + * `true`, the operation is completed, and either `error` or `response` is + * available. + */ + done?: boolean; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * Service-specific metadata associated with the operation. It typically + * contains progress information and common metadata such as create time. + * Some services might not provide such metadata. Any method that returns a + * long-running operation should document the metadata type, if any. + */ + metadata?: any; + /** + * The server-assigned name, which is only unique within the same service + * that originally returns it. If you use the default HTTP mapping, the + * `name` should have the format of `operations/some/unique/name`. + */ + name?: string; + /** + * The normal response of the operation in case of success. If the original + * method returns no data on success, such as `Delete`, the response is + * `google.protobuf.Empty`. If the original method is standard + * `Get`/`Create`/`Update`, the response should be the resource. For other + * methods, the response should have the type `XxxResponse`, where `Xxx` is + * the original method name. For example, if the original method name is + * `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: any; + } + /** + * Contains metadata for the BatchAnnotateImages operation. + */ + interface Schema$OperationMetadata { + /** + * The time when the batch request was received. + */ + createTime?: string; + /** + * Current state of the batch operation. + */ + state?: string; + /** + * The time when the operation result was last updated. + */ + updateTime?: string; + } + /** + * The desired output location and metadata. + */ + interface Schema$OutputConfig { + /** + * The max number of response protos to put into each output JSON file on + * Google Cloud Storage. The valid range is [1, 100]. If not specified, the + * default value is 20. For example, for one pdf file with 100 pages, 100 + * response protos will be generated. If `batch_size` = 20, then 5 json + * files each containing 20 response protos will be written under the prefix + * `gcs_destination`.`uri`. Currently, batch_size only applies to + * GcsDestination, with potential future support for other output + * configurations. + */ + batchSize?: number; + /** + * The Google Cloud Storage location to write the output(s) to. + */ + gcsDestination?: Schema$GcsDestination; + } + /** + * Detected page from OCR. + */ + interface Schema$Page { + /** + * List of blocks of text, images etc on this page. + */ + blocks?: Schema$Block[]; + /** + * Confidence of the OCR results on the page. Range [0, 1]. + */ + confidence?: number; + /** + * Page height. For PDFs the unit is points. For images (including TIFFs) + * the unit is pixels. + */ + height?: number; + /** + * Additional information detected on the page. + */ + property?: Schema$TextProperty; + /** + * Page width. For PDFs the unit is points. For images (including TIFFs) the + * unit is pixels. + */ + width?: number; + } + /** + * Structural unit of text representing a number of words in certain order. + */ + interface Schema$Paragraph { + /** + * The bounding box for the paragraph. The vertices are in the order of + * top-left, top-right, bottom-right, bottom-left. When a rotation of the + * bounding box is detected the rotation is represented as around the + * top-left corner as defined when the text is read in the 'natural' + * orientation. For example: * when the text is horizontal it might look + * like: 0----1 | | 3----2 * when it's rotated 180 + * degrees around the top-left corner it becomes: 2----3 | | + * 1----0 and the vertice order will still be (0, 1, 2, 3). + */ + boundingBox?: Schema$BoundingPoly; + /** + * Confidence of the OCR results for the paragraph. Range [0, 1]. + */ + confidence?: number; + /** + * Additional information detected for the paragraph. + */ + property?: Schema$TextProperty; + /** + * List of words in this paragraph. + */ + words?: Schema$Word[]; + } + /** + * A 3D position in the image, used primarily for Face detection landmarks. A + * valid Position must have both x and y coordinates. The position coordinates + * are in the same scale as the original image. + */ + interface Schema$Position { + /** + * X coordinate. + */ + x?: number; + /** + * Y coordinate. + */ + y?: number; + /** + * Z coordinate (or depth). + */ + z?: number; + } + /** + * A `Property` consists of a user-supplied name/value pair. + */ + interface Schema$Property { + /** + * Name of the property. + */ + name?: string; + /** + * Value of numeric properties. + */ + uint64Value?: string; + /** + * Value of the property. + */ + value?: string; + } + /** + * Set of features pertaining to the image, computed by computer vision + * methods over safe-search verticals (for example, adult, spoof, medical, + * violence). + */ + interface Schema$SafeSearchAnnotation { + /** + * Represents the adult content likelihood for the image. Adult content may + * contain elements such as nudity, pornographic images or cartoons, or + * sexual activities. + */ + adult?: string; + /** + * Likelihood that this is a medical image. + */ + medical?: string; + /** + * Likelihood that the request image contains racy content. Racy content may + * include (but is not limited to) skimpy or sheer clothing, strategically + * covered nudity, lewd or provocative poses, or close-ups of sensitive body + * areas. + */ + racy?: string; + /** + * Spoof likelihood. The likelihood that an modification was made to the + * image's canonical version to make it appear funny or offensive. + */ + spoof?: string; + /** + * Likelihood that this image contains violent content. + */ + violence?: string; + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + /** + * A single symbol representation. + */ + interface Schema$Symbol { + /** + * The bounding box for the symbol. The vertices are in the order of + * top-left, top-right, bottom-right, bottom-left. When a rotation of the + * bounding box is detected the rotation is represented as around the + * top-left corner as defined when the text is read in the 'natural' + * orientation. For example: * when the text is horizontal it might look + * like: 0----1 | | 3----2 * when it's rotated 180 + * degrees around the top-left corner it becomes: 2----3 | | + * 1----0 and the vertice order will still be (0, 1, 2, 3). + */ + boundingBox?: Schema$BoundingPoly; + /** + * Confidence of the OCR results for the symbol. Range [0, 1]. + */ + confidence?: number; + /** + * Additional information detected for the symbol. + */ + property?: Schema$TextProperty; + /** + * The actual UTF-8 representation of the symbol. + */ + text?: string; + } + /** + * TextAnnotation contains a structured representation of OCR extracted text. + * The hierarchy of an OCR extracted text structure is like this: + * TextAnnotation -> Page -> Block -> Paragraph -> Word -> + * Symbol Each structural component, starting from Page, may further have + * their own properties. Properties describe detected languages, breaks etc.. + * Please refer to the TextAnnotation.TextProperty message definition below + * for more detail. + */ + interface Schema$TextAnnotation { + /** + * List of pages detected by OCR. + */ + pages?: Schema$Page[]; + /** + * UTF-8 text detected on the pages. + */ + text?: string; + } + /** + * Additional information detected on the structural component. + */ + interface Schema$TextProperty { + /** + * Detected start or end of a text segment. + */ + detectedBreak?: Schema$DetectedBreak; + /** + * A list of detected languages together with confidence. + */ + detectedLanguages?: Schema$DetectedLanguage[]; + } + /** + * A vertex represents a 2D point in the image. NOTE: the vertex coordinates + * are in the same scale as the original image. + */ + interface Schema$Vertex { + /** + * X coordinate. + */ + x?: number; + /** + * Y coordinate. + */ + y?: number; + } + /** + * Relevant information for the image from the Internet. + */ + interface Schema$WebDetection { + /** + * The service's best guess as to the topic of the request image. + * Inferred from similar images on the open web. + */ + bestGuessLabels?: Schema$WebLabel[]; + /** + * Fully matching images from the Internet. Can include resized copies of + * the query image. + */ + fullMatchingImages?: Schema$WebImage[]; + /** + * Web pages containing the matching images from the Internet. + */ + pagesWithMatchingImages?: Schema$WebPage[]; + /** + * Partial matching images from the Internet. Those images are similar + * enough to share some key-point features. For example an original image + * will likely have partial matching for its crops. + */ + partialMatchingImages?: Schema$WebImage[]; + /** + * The visually similar image results. + */ + visuallySimilarImages?: Schema$WebImage[]; + /** + * Deduced entities from similar images on the Internet. + */ + webEntities?: Schema$WebEntity[]; + } + /** + * Entity deduced from similar images on the Internet. + */ + interface Schema$WebEntity { + /** + * Canonical description of the entity, in English. + */ + description?: string; + /** + * Opaque entity ID. + */ + entityId?: string; + /** + * Overall relevancy score for the entity. Not normalized and not comparable + * across different image queries. + */ + score?: number; + } + /** + * Metadata for online images. + */ + interface Schema$WebImage { + /** + * (Deprecated) Overall relevancy score for the image. + */ + score?: number; + /** + * The result image URL. + */ + url?: string; + } + /** + * Label to provide extra metadata for the web detection. + */ + interface Schema$WebLabel { + /** + * Label for extra metadata. + */ + label?: string; + /** + * The BCP-47 language code for `label`, such as "en-US" or + * "sr-Latn". For more information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + */ + languageCode?: string; + } + /** + * Metadata for web pages. + */ + interface Schema$WebPage { + /** + * Fully matching images on the page. Can include resized copies of the + * query image. + */ + fullMatchingImages?: Schema$WebImage[]; + /** + * Title for the web page, may contain HTML markups. + */ + pageTitle?: string; + /** + * Partial matching images on the page. Those images are similar enough to + * share some key-point features. For example an original image will likely + * have partial matching for its crops. + */ + partialMatchingImages?: Schema$WebImage[]; + /** + * (Deprecated) Overall relevancy score for the web page. + */ + score?: number; + /** + * The result web page URL. + */ + url?: string; + } + /** + * A word representation. + */ + interface Schema$Word { + /** + * The bounding box for the word. The vertices are in the order of top-left, + * top-right, bottom-right, bottom-left. When a rotation of the bounding box + * is detected the rotation is represented as around the top-left corner as + * defined when the text is read in the 'natural' orientation. For + * example: * when the text is horizontal it might look like: 0----1 + * | | 3----2 * when it's rotated 180 degrees around the + * top-left corner it becomes: 2----3 | | 1----0 and the + * vertice order will still be (0, 1, 2, 3). + */ + boundingBox?: Schema$BoundingPoly; + /** + * Confidence of the OCR results for the word. Range [0, 1]. + */ + confidence?: number; + /** + * Additional information detected for the word. + */ + property?: Schema$TextProperty; + /** + * List of symbols in the word. The order of the symbols follows the natural + * reading order. + */ + symbols?: Schema$Symbol[]; + } + class Resource$Files { + root: Vision; + constructor(root: Vision); + getRoot(): Vision; + /** + * vision.files.asyncBatchAnnotate + * @desc Run asynchronous image detection and annotation for a list of + * generic files, such as PDF files, which may contain multiple pages and + * multiple images per page. Progress and results can be retrieved through + * the `google.longrunning.Operations` interface. `Operation.metadata` + * contains `OperationMetadata` (metadata). `Operation.response` contains + * `AsyncBatchAnnotateFilesResponse` (results). + * @alias vision.files.asyncBatchAnnotate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesRequest} 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 + */ + asyncBatchAnnotate(params?: Params$Resource$Files$Asyncbatchannotate, options?: MethodOptions): AxiosPromise; + asyncBatchAnnotate(params: Params$Resource$Files$Asyncbatchannotate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + asyncBatchAnnotate(params: Params$Resource$Files$Asyncbatchannotate, callback: BodyResponseCallback): void; + asyncBatchAnnotate(callback: BodyResponseCallback): void; + } + interface Params$Resource$Files$Asyncbatchannotate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesRequest; + } + class Resource$Images { + root: Vision; + constructor(root: Vision); + getRoot(): Vision; + /** + * vision.images.annotate + * @desc Run image detection and annotation for a batch of images. + * @alias vision.images.annotate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().GoogleCloudVisionV1p1beta1BatchAnnotateImagesRequest} 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 + */ + annotate(params?: Params$Resource$Images$Annotate, options?: MethodOptions): AxiosPromise; + annotate(params: Params$Resource$Images$Annotate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + annotate(params: Params$Resource$Images$Annotate, callback: BodyResponseCallback): void; + annotate(callback: BodyResponseCallback): void; + } + interface Params$Resource$Images$Annotate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudVisionV1p1beta1BatchAnnotateImagesRequest; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/vision/v1p1beta1.js b/express-server/node_modules/googleapis/build/src/apis/vision/v1p1beta1.js new file mode 100644 index 00000000..0b4fe553 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/vision/v1p1beta1.js @@ -0,0 +1,140 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var vision_v1p1beta1; +(function (vision_v1p1beta1) { + /** + * Cloud Vision API + * + * Integrates Google Vision features, including image labeling, face, logo, + * and landmark detection, optical character recognition (OCR), and detection + * of explicit content, into applications. + * + * @example + * const {google} = require('googleapis'); + * const vision = google.vision('v1p1beta1'); + * + * @namespace vision + * @type {Function} + * @version v1p1beta1 + * @variation v1p1beta1 + * @param {object=} options Options for Vision + */ + class Vision { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.files = new Resource$Files(this); + this.images = new Resource$Images(this); + } + getRoot() { + return this.root; + } + } + vision_v1p1beta1.Vision = Vision; + class Resource$Files { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + asyncBatchAnnotate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://vision.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1p1beta1/files:asyncBatchAnnotate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + vision_v1p1beta1.Resource$Files = Resource$Files; + class Resource$Images { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + annotate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://vision.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1p1beta1/images:annotate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + vision_v1p1beta1.Resource$Images = Resource$Images; +})(vision_v1p1beta1 = exports.vision_v1p1beta1 || (exports.vision_v1p1beta1 = {})); +//# sourceMappingURL=v1p1beta1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/vision/v1p1beta1.js.map b/express-server/node_modules/googleapis/build/src/apis/vision/v1p1beta1.js.map new file mode 100644 index 00000000..98bb14dc --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/vision/v1p1beta1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1p1beta1.js","sourceRoot":"","sources":["../../../../src/apis/vision/v1p1beta1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/vision/v1p2beta1.d.ts b/express-server/node_modules/googleapis/build/src/apis/vision/v1p2beta1.d.ts new file mode 100644 index 00000000..e6ec7ec0 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/vision/v1p2beta1.d.ts @@ -0,0 +1,4089 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace vision_v1p2beta1 { + interface Options extends GlobalOptions { + version: 'v1p2beta1'; + } + /** + * Cloud Vision API + * + * Integrates Google Vision features, including image labeling, face, logo, + * and landmark detection, optical character recognition (OCR), and detection + * of explicit content, into applications. + * + * @example + * const {google} = require('googleapis'); + * const vision = google.vision('v1p2beta1'); + * + * @namespace vision + * @type {Function} + * @version v1p2beta1 + * @variation v1p2beta1 + * @param {object=} options Options for Vision + */ + class Vision { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + files: Resource$Files; + images: Resource$Images; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Response to a single file annotation request. A file may contain one or + * more images, which individually have their own responses. + */ + interface Schema$AnnotateFileResponse { + /** + * Information about the file for which this response is generated. + */ + inputConfig?: Schema$InputConfig; + /** + * Individual responses to images found within the file. + */ + responses?: Schema$AnnotateImageResponse[]; + } + /** + * Response to an image annotation request. + */ + interface Schema$AnnotateImageResponse { + /** + * If present, contextual information is needed to understand where this + * image comes from. + */ + context?: Schema$ImageAnnotationContext; + /** + * If present, crop hints have completed successfully. + */ + cropHintsAnnotation?: Schema$CropHintsAnnotation; + /** + * If set, represents the error message for the operation. Note that + * filled-in image annotations are guaranteed to be correct, even when + * `error` is set. + */ + error?: Schema$Status; + /** + * If present, face detection has completed successfully. + */ + faceAnnotations?: Schema$FaceAnnotation[]; + /** + * If present, text (OCR) detection or document (OCR) text detection has + * completed successfully. This annotation provides the structural hierarchy + * for the OCR detected text. + */ + fullTextAnnotation?: Schema$TextAnnotation; + /** + * If present, image properties were extracted successfully. + */ + imagePropertiesAnnotation?: Schema$ImageProperties; + /** + * If present, label detection has completed successfully. + */ + labelAnnotations?: Schema$EntityAnnotation[]; + /** + * If present, landmark detection has completed successfully. + */ + landmarkAnnotations?: Schema$EntityAnnotation[]; + /** + * If present, localized object detection has completed successfully. This + * will be sorted descending by confidence score. + */ + localizedObjectAnnotations?: Schema$LocalizedObjectAnnotation[]; + /** + * If present, logo detection has completed successfully. + */ + logoAnnotations?: Schema$EntityAnnotation[]; + /** + * If present, safe-search annotation has completed successfully. + */ + safeSearchAnnotation?: Schema$SafeSearchAnnotation; + /** + * If present, text (OCR) detection has completed successfully. + */ + textAnnotations?: Schema$EntityAnnotation[]; + /** + * If present, web detection has completed successfully. + */ + webDetection?: Schema$WebDetection; + } + /** + * The response for a single offline file annotation request. + */ + interface Schema$AsyncAnnotateFileResponse { + /** + * The output location and metadata from AsyncAnnotateFileRequest. + */ + outputConfig?: Schema$OutputConfig; + } + /** + * Response to an async batch file annotation request. + */ + interface Schema$AsyncBatchAnnotateFilesResponse { + /** + * The list of file annotation responses, one for each request in + * AsyncBatchAnnotateFilesRequest. + */ + responses?: Schema$AsyncAnnotateFileResponse[]; + } + /** + * Logical element on the page. + */ + interface Schema$Block { + /** + * Detected block type (text, image etc) for this block. + */ + blockType?: string; + /** + * The bounding box for the block. The vertices are in the order of + * top-left, top-right, bottom-right, bottom-left. When a rotation of the + * bounding box is detected the rotation is represented as around the + * top-left corner as defined when the text is read in the 'natural' + * orientation. For example: * when the text is horizontal it might look + * like: 0----1 | | 3----2 * when it's + * rotated 180 degrees around the top-left corner it becomes: 2----3 | | + * 1----0 and the vertice order will still be (0, 1, 2, 3). + */ + boundingBox?: Schema$BoundingPoly; + /** + * Confidence of the OCR results on the block. Range [0, 1]. + */ + confidence?: number; + /** + * List of paragraphs in this block (if this blocks is of type text). + */ + paragraphs?: Schema$Paragraph[]; + /** + * Additional information detected for the block. + */ + property?: Schema$TextProperty; + } + /** + * A bounding polygon for the detected image annotation. + */ + interface Schema$BoundingPoly { + /** + * The bounding polygon normalized vertices. + */ + normalizedVertices?: Schema$NormalizedVertex[]; + /** + * The bounding polygon vertices. + */ + vertices?: Schema$Vertex[]; + } + /** + * Represents a color in the RGBA color space. This representation is designed + * for simplicity of conversion to/from color representations in various + * languages over compactness; for example, the fields of this representation + * can be trivially provided to the constructor of "java.awt.Color" + * in Java; it can also be trivially provided to UIColor's + * "+colorWithRed:green:blue:alpha" method in iOS; and, with just a + * little work, it can be easily formatted into a CSS "rgba()" + * string in JavaScript, as well. Here are some examples: Example (Java): + * import com.google.type.Color; // ... public static + * java.awt.Color fromProto(Color protocolor) { float alpha = + * protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; + * return new java.awt.Color( protocolor.getRed(), + * protocolor.getGreen(), protocolor.getBlue(), alpha); + * } public static Color toProto(java.awt.Color color) { float + * red = (float) color.getRed(); float green = (float) + * color.getGreen(); float blue = (float) color.getBlue(); float + * denominator = 255.0; Color.Builder resultBuilder = Color + * .newBuilder() .setRed(red / denominator) .setGreen(green / + * denominator) .setBlue(blue / denominator); int alpha + * = color.getAlpha(); if (alpha != 255) { result.setAlpha( + * FloatValue .newBuilder() .setValue(((float) alpha) / + * denominator) .build()); } return + * resultBuilder.build(); } // ... Example (iOS / Obj-C): // + * ... static UIColor* fromProto(Color* protocolor) { float red = + * [protocolor red]; float green = [protocolor green]; float + * blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor + * alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { + * alpha = [alpha_wrapper value]; } return [UIColor + * colorWithRed:red green:green blue:blue alpha:alpha]; } static + * Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; + * if (![color getRed:&red green:&green blue:&blue + * alpha:&alpha]) { return nil; } Color* + * result = [[Color alloc] init]; [result setRed:red]; [result + * setGreen:green]; [result setBlue:blue]; if (alpha <= + * 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } + * [result autorelease]; return result; } // ... Example + * (JavaScript): // ... var protoToCssColor = function(rgb_color) { + * var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green + * || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = + * Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); + * var blue = Math.floor(blueFrac * 255); if (!('alpha' in + * rgb_color)) { return rgbToCssColor_(red, green, blue); } + * var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, + * green, blue].join(','); return ['rgba(', rgbParams, + * ',', alphaFrac, ')'].join(''); }; var + * rgbToCssColor_ = function(red, green, blue) { var rgbNumber = new + * Number((red << 16) | (green << 8) | blue); var hexString + * = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; + * var resultBuilder = ['#']; for (var i = 0; i < + * missingZeros; i++) { resultBuilder.push('0'); } + * resultBuilder.push(hexString); return resultBuilder.join(''); + * }; // ... + */ + interface Schema$Color { + /** + * The fraction of this color that should be applied to the pixel. That is, + * the final pixel color is defined by the equation: pixel color = alpha + * * (this color) + (1.0 - alpha) * (background color) This means that a + * value of 1.0 corresponds to a solid color, whereas a value of 0.0 + * corresponds to a completely transparent color. This uses a wrapper + * message rather than a simple float scalar so that it is possible to + * distinguish between a default value and the value being unset. If + * omitted, this color object is to be rendered as a solid color (as if the + * alpha value had been explicitly given with a value of 1.0). + */ + alpha?: number; + /** + * The amount of blue in the color as a value in the interval [0, 1]. + */ + blue?: number; + /** + * The amount of green in the color as a value in the interval [0, 1]. + */ + green?: number; + /** + * The amount of red in the color as a value in the interval [0, 1]. + */ + red?: number; + } + /** + * Color information consists of RGB channels, score, and the fraction of the + * image that the color occupies in the image. + */ + interface Schema$ColorInfo { + /** + * RGB components of the color. + */ + color?: Schema$Color; + /** + * The fraction of pixels the color occupies in the image. Value in range + * [0, 1]. + */ + pixelFraction?: number; + /** + * Image-specific score for this color. Value in range [0, 1]. + */ + score?: number; + } + /** + * Single crop hint that is used to generate a new crop when serving an image. + */ + interface Schema$CropHint { + /** + * The bounding polygon for the crop region. The coordinates of the bounding + * box are in the original image's scale, as returned in `ImageParams`. + */ + boundingPoly?: Schema$BoundingPoly; + /** + * Confidence of this being a salient region. Range [0, 1]. + */ + confidence?: number; + /** + * Fraction of importance of this salient region with respect to the + * original image. + */ + importanceFraction?: number; + } + /** + * Set of crop hints that are used to generate new crops when serving images. + */ + interface Schema$CropHintsAnnotation { + /** + * Crop hint results. + */ + cropHints?: Schema$CropHint[]; + } + /** + * Detected start or end of a structural component. + */ + interface Schema$DetectedBreak { + /** + * True if break prepends the element. + */ + isPrefix?: boolean; + /** + * Detected break type. + */ + type?: string; + } + /** + * Detected language for a structural component. + */ + interface Schema$DetectedLanguage { + /** + * Confidence of detected language. Range [0, 1]. + */ + confidence?: number; + /** + * The BCP-47 language code, such as "en-US" or + * "sr-Latn". For more information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + */ + languageCode?: string; + } + /** + * Set of dominant colors and their corresponding scores. + */ + interface Schema$DominantColorsAnnotation { + /** + * RGB color values with their score and pixel fraction. + */ + colors?: Schema$ColorInfo[]; + } + /** + * Set of detected entity features. + */ + interface Schema$EntityAnnotation { + /** + * Image region to which this entity belongs. Not produced for + * `LABEL_DETECTION` features. + */ + boundingPoly?: Schema$BoundingPoly; + /** + * **Deprecated. Use `score` instead.** The accuracy of the entity detection + * in an image. For example, for an image in which the "Eiffel + * Tower" entity is detected, this field represents the confidence that + * there is a tower in the query image. Range [0, 1]. + */ + confidence?: number; + /** + * Entity textual description, expressed in its `locale` language. + */ + description?: string; + /** + * The language code for the locale in which the entity textual + * `description` is expressed. + */ + locale?: string; + /** + * The location information for the detected entity. Multiple `LocationInfo` + * elements can be present because one location may indicate the location of + * the scene in the image, and another location may indicate the location of + * the place where the image was taken. Location information is usually + * present for landmarks. + */ + locations?: Schema$LocationInfo[]; + /** + * Opaque entity ID. Some IDs may be available in [Google Knowledge Graph + * Search API](https://developers.google.com/knowledge-graph/). + */ + mid?: string; + /** + * Some entities may have optional user-supplied `Property` (name/value) + * fields, such a score or string that qualifies the entity. + */ + properties?: Schema$Property[]; + /** + * Overall score of the result. Range [0, 1]. + */ + score?: number; + /** + * The relevancy of the ICA (Image Content Annotation) label to the image. + * For example, the relevancy of "tower" is likely higher to an + * image containing the detected "Eiffel Tower" than to an image + * containing a detected distant towering building, even though the + * confidence that there is a tower in each image may be the same. Range [0, + * 1]. + */ + topicality?: number; + } + /** + * A face annotation object contains the results of face detection. + */ + interface Schema$FaceAnnotation { + /** + * Anger likelihood. + */ + angerLikelihood?: string; + /** + * Blurred likelihood. + */ + blurredLikelihood?: string; + /** + * The bounding polygon around the face. The coordinates of the bounding box + * are in the original image's scale, as returned in `ImageParams`. The + * bounding box is computed to "frame" the face in accordance with + * human expectations. It is based on the landmarker results. Note that one + * or more x and/or y coordinates may not be generated in the `BoundingPoly` + * (the polygon will be unbounded) if only a partial face appears in the + * image to be annotated. + */ + boundingPoly?: Schema$BoundingPoly; + /** + * Detection confidence. Range [0, 1]. + */ + detectionConfidence?: number; + /** + * The `fd_bounding_poly` bounding polygon is tighter than the + * `boundingPoly`, and encloses only the skin part of the face. Typically, + * it is used to eliminate the face from any image analysis that detects the + * "amount of skin" visible in an image. It is not based on the + * landmarker results, only on the initial face detection, hence the + * <code>fd</code> (face detection) prefix. + */ + fdBoundingPoly?: Schema$BoundingPoly; + /** + * Headwear likelihood. + */ + headwearLikelihood?: string; + /** + * Joy likelihood. + */ + joyLikelihood?: string; + /** + * Face landmarking confidence. Range [0, 1]. + */ + landmarkingConfidence?: number; + /** + * Detected face landmarks. + */ + landmarks?: Schema$Landmark[]; + /** + * Yaw angle, which indicates the leftward/rightward angle that the face is + * pointing relative to the vertical plane perpendicular to the image. Range + * [-180,180]. + */ + panAngle?: number; + /** + * Roll angle, which indicates the amount of clockwise/anti-clockwise + * rotation of the face relative to the image vertical about the axis + * perpendicular to the face. Range [-180,180]. + */ + rollAngle?: number; + /** + * Sorrow likelihood. + */ + sorrowLikelihood?: string; + /** + * Surprise likelihood. + */ + surpriseLikelihood?: string; + /** + * Pitch angle, which indicates the upwards/downwards angle that the face is + * pointing relative to the image's horizontal plane. Range [-180,180]. + */ + tiltAngle?: number; + /** + * Under-exposed likelihood. + */ + underExposedLikelihood?: string; + } + /** + * The Google Cloud Storage location where the output will be written to. + */ + interface Schema$GcsDestination { + /** + * Google Cloud Storage URI where the results will be stored. Results will + * be in JSON format and preceded by its corresponding input URI. This field + * can either represent a single file, or a prefix for multiple outputs. + * Prefixes must end in a `/`. Examples: * File: + * gs://bucket-name/filename.json * Prefix: gs://bucket-name/prefix/here/ + * * File: gs://bucket-name/prefix/here If multiple outputs, each + * response is still AnnotateFileResponse, each of which contains some + * subset of the full list of AnnotateImageResponse. Multiple outputs can + * happen if, for example, the output JSON is too large and overflows into + * multiple sharded files. + */ + uri?: string; + } + /** + * The Google Cloud Storage location where the input will be read from. + */ + interface Schema$GcsSource { + /** + * Google Cloud Storage URI for the input file. This must only be a Google + * Cloud Storage object. Wildcards are not currently supported. + */ + uri?: string; + } + /** + * Response to a single file annotation request. A file may contain one or + * more images, which individually have their own responses. + */ + interface Schema$GoogleCloudVisionV1p1beta1AnnotateFileResponse { + /** + * Information about the file for which this response is generated. + */ + inputConfig?: Schema$GoogleCloudVisionV1p1beta1InputConfig; + /** + * Individual responses to images found within the file. + */ + responses?: Schema$GoogleCloudVisionV1p1beta1AnnotateImageResponse[]; + } + /** + * Response to an image annotation request. + */ + interface Schema$GoogleCloudVisionV1p1beta1AnnotateImageResponse { + /** + * If present, contextual information is needed to understand where this + * image comes from. + */ + context?: Schema$GoogleCloudVisionV1p1beta1ImageAnnotationContext; + /** + * If present, crop hints have completed successfully. + */ + cropHintsAnnotation?: Schema$GoogleCloudVisionV1p1beta1CropHintsAnnotation; + /** + * If set, represents the error message for the operation. Note that + * filled-in image annotations are guaranteed to be correct, even when + * `error` is set. + */ + error?: Schema$Status; + /** + * If present, face detection has completed successfully. + */ + faceAnnotations?: Schema$GoogleCloudVisionV1p1beta1FaceAnnotation[]; + /** + * If present, text (OCR) detection or document (OCR) text detection has + * completed successfully. This annotation provides the structural hierarchy + * for the OCR detected text. + */ + fullTextAnnotation?: Schema$GoogleCloudVisionV1p1beta1TextAnnotation; + /** + * If present, image properties were extracted successfully. + */ + imagePropertiesAnnotation?: Schema$GoogleCloudVisionV1p1beta1ImageProperties; + /** + * If present, label detection has completed successfully. + */ + labelAnnotations?: Schema$GoogleCloudVisionV1p1beta1EntityAnnotation[]; + /** + * If present, landmark detection has completed successfully. + */ + landmarkAnnotations?: Schema$GoogleCloudVisionV1p1beta1EntityAnnotation[]; + /** + * If present, localized object detection has completed successfully. This + * will be sorted descending by confidence score. + */ + localizedObjectAnnotations?: Schema$GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation[]; + /** + * If present, logo detection has completed successfully. + */ + logoAnnotations?: Schema$GoogleCloudVisionV1p1beta1EntityAnnotation[]; + /** + * If present, safe-search annotation has completed successfully. + */ + safeSearchAnnotation?: Schema$GoogleCloudVisionV1p1beta1SafeSearchAnnotation; + /** + * If present, text (OCR) detection has completed successfully. + */ + textAnnotations?: Schema$GoogleCloudVisionV1p1beta1EntityAnnotation[]; + /** + * If present, web detection has completed successfully. + */ + webDetection?: Schema$GoogleCloudVisionV1p1beta1WebDetection; + } + /** + * The response for a single offline file annotation request. + */ + interface Schema$GoogleCloudVisionV1p1beta1AsyncAnnotateFileResponse { + /** + * The output location and metadata from AsyncAnnotateFileRequest. + */ + outputConfig?: Schema$GoogleCloudVisionV1p1beta1OutputConfig; + } + /** + * Response to an async batch file annotation request. + */ + interface Schema$GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesResponse { + /** + * The list of file annotation responses, one for each request in + * AsyncBatchAnnotateFilesRequest. + */ + responses?: Schema$GoogleCloudVisionV1p1beta1AsyncAnnotateFileResponse[]; + } + /** + * Logical element on the page. + */ + interface Schema$GoogleCloudVisionV1p1beta1Block { + /** + * Detected block type (text, image etc) for this block. + */ + blockType?: string; + /** + * The bounding box for the block. The vertices are in the order of + * top-left, top-right, bottom-right, bottom-left. When a rotation of the + * bounding box is detected the rotation is represented as around the + * top-left corner as defined when the text is read in the 'natural' + * orientation. For example: * when the text is horizontal it might look + * like: 0----1 | | 3----2 * when it's + * rotated 180 degrees around the top-left corner it becomes: 2----3 | | + * 1----0 and the vertice order will still be (0, 1, 2, 3). + */ + boundingBox?: Schema$GoogleCloudVisionV1p1beta1BoundingPoly; + /** + * Confidence of the OCR results on the block. Range [0, 1]. + */ + confidence?: number; + /** + * List of paragraphs in this block (if this blocks is of type text). + */ + paragraphs?: Schema$GoogleCloudVisionV1p1beta1Paragraph[]; + /** + * Additional information detected for the block. + */ + property?: Schema$GoogleCloudVisionV1p1beta1TextAnnotationTextProperty; + } + /** + * A bounding polygon for the detected image annotation. + */ + interface Schema$GoogleCloudVisionV1p1beta1BoundingPoly { + /** + * The bounding polygon vertices. + */ + vertices?: Schema$GoogleCloudVisionV1p1beta1Vertex[]; + } + /** + * Color information consists of RGB channels, score, and the fraction of the + * image that the color occupies in the image. + */ + interface Schema$GoogleCloudVisionV1p1beta1ColorInfo { + /** + * RGB components of the color. + */ + color?: Schema$Color; + /** + * The fraction of pixels the color occupies in the image. Value in range + * [0, 1]. + */ + pixelFraction?: number; + /** + * Image-specific score for this color. Value in range [0, 1]. + */ + score?: number; + } + /** + * Single crop hint that is used to generate a new crop when serving an image. + */ + interface Schema$GoogleCloudVisionV1p1beta1CropHint { + /** + * The bounding polygon for the crop region. The coordinates of the bounding + * box are in the original image's scale, as returned in `ImageParams`. + */ + boundingPoly?: Schema$GoogleCloudVisionV1p1beta1BoundingPoly; + /** + * Confidence of this being a salient region. Range [0, 1]. + */ + confidence?: number; + /** + * Fraction of importance of this salient region with respect to the + * original image. + */ + importanceFraction?: number; + } + /** + * Set of crop hints that are used to generate new crops when serving images. + */ + interface Schema$GoogleCloudVisionV1p1beta1CropHintsAnnotation { + /** + * Crop hint results. + */ + cropHints?: Schema$GoogleCloudVisionV1p1beta1CropHint[]; + } + /** + * Set of dominant colors and their corresponding scores. + */ + interface Schema$GoogleCloudVisionV1p1beta1DominantColorsAnnotation { + /** + * RGB color values with their score and pixel fraction. + */ + colors?: Schema$GoogleCloudVisionV1p1beta1ColorInfo[]; + } + /** + * Set of detected entity features. + */ + interface Schema$GoogleCloudVisionV1p1beta1EntityAnnotation { + /** + * Image region to which this entity belongs. Not produced for + * `LABEL_DETECTION` features. + */ + boundingPoly?: Schema$GoogleCloudVisionV1p1beta1BoundingPoly; + /** + * **Deprecated. Use `score` instead.** The accuracy of the entity detection + * in an image. For example, for an image in which the "Eiffel + * Tower" entity is detected, this field represents the confidence that + * there is a tower in the query image. Range [0, 1]. + */ + confidence?: number; + /** + * Entity textual description, expressed in its `locale` language. + */ + description?: string; + /** + * The language code for the locale in which the entity textual + * `description` is expressed. + */ + locale?: string; + /** + * The location information for the detected entity. Multiple `LocationInfo` + * elements can be present because one location may indicate the location of + * the scene in the image, and another location may indicate the location of + * the place where the image was taken. Location information is usually + * present for landmarks. + */ + locations?: Schema$GoogleCloudVisionV1p1beta1LocationInfo[]; + /** + * Opaque entity ID. Some IDs may be available in [Google Knowledge Graph + * Search API](https://developers.google.com/knowledge-graph/). + */ + mid?: string; + /** + * Some entities may have optional user-supplied `Property` (name/value) + * fields, such a score or string that qualifies the entity. + */ + properties?: Schema$GoogleCloudVisionV1p1beta1Property[]; + /** + * Overall score of the result. Range [0, 1]. + */ + score?: number; + /** + * The relevancy of the ICA (Image Content Annotation) label to the image. + * For example, the relevancy of "tower" is likely higher to an + * image containing the detected "Eiffel Tower" than to an image + * containing a detected distant towering building, even though the + * confidence that there is a tower in each image may be the same. Range [0, + * 1]. + */ + topicality?: number; + } + /** + * A face annotation object contains the results of face detection. + */ + interface Schema$GoogleCloudVisionV1p1beta1FaceAnnotation { + /** + * Anger likelihood. + */ + angerLikelihood?: string; + /** + * Blurred likelihood. + */ + blurredLikelihood?: string; + /** + * The bounding polygon around the face. The coordinates of the bounding box + * are in the original image's scale, as returned in `ImageParams`. The + * bounding box is computed to "frame" the face in accordance with + * human expectations. It is based on the landmarker results. Note that one + * or more x and/or y coordinates may not be generated in the `BoundingPoly` + * (the polygon will be unbounded) if only a partial face appears in the + * image to be annotated. + */ + boundingPoly?: Schema$GoogleCloudVisionV1p1beta1BoundingPoly; + /** + * Detection confidence. Range [0, 1]. + */ + detectionConfidence?: number; + /** + * The `fd_bounding_poly` bounding polygon is tighter than the + * `boundingPoly`, and encloses only the skin part of the face. Typically, + * it is used to eliminate the face from any image analysis that detects the + * "amount of skin" visible in an image. It is not based on the + * landmarker results, only on the initial face detection, hence the + * <code>fd</code> (face detection) prefix. + */ + fdBoundingPoly?: Schema$GoogleCloudVisionV1p1beta1BoundingPoly; + /** + * Headwear likelihood. + */ + headwearLikelihood?: string; + /** + * Joy likelihood. + */ + joyLikelihood?: string; + /** + * Face landmarking confidence. Range [0, 1]. + */ + landmarkingConfidence?: number; + /** + * Detected face landmarks. + */ + landmarks?: Schema$GoogleCloudVisionV1p1beta1FaceAnnotationLandmark[]; + /** + * Yaw angle, which indicates the leftward/rightward angle that the face is + * pointing relative to the vertical plane perpendicular to the image. Range + * [-180,180]. + */ + panAngle?: number; + /** + * Roll angle, which indicates the amount of clockwise/anti-clockwise + * rotation of the face relative to the image vertical about the axis + * perpendicular to the face. Range [-180,180]. + */ + rollAngle?: number; + /** + * Sorrow likelihood. + */ + sorrowLikelihood?: string; + /** + * Surprise likelihood. + */ + surpriseLikelihood?: string; + /** + * Pitch angle, which indicates the upwards/downwards angle that the face is + * pointing relative to the image's horizontal plane. Range [-180,180]. + */ + tiltAngle?: number; + /** + * Under-exposed likelihood. + */ + underExposedLikelihood?: string; + } + /** + * A face-specific landmark (for example, a face feature). + */ + interface Schema$GoogleCloudVisionV1p1beta1FaceAnnotationLandmark { + /** + * Face landmark position. + */ + position?: Schema$GoogleCloudVisionV1p1beta1Position; + /** + * Face landmark type. + */ + type?: string; + } + /** + * The Google Cloud Storage location where the output will be written to. + */ + interface Schema$GoogleCloudVisionV1p1beta1GcsDestination { + /** + * Google Cloud Storage URI where the results will be stored. Results will + * be in JSON format and preceded by its corresponding input URI. This field + * can either represent a single file, or a prefix for multiple outputs. + * Prefixes must end in a `/`. Examples: * File: + * gs://bucket-name/filename.json * Prefix: gs://bucket-name/prefix/here/ + * * File: gs://bucket-name/prefix/here If multiple outputs, each + * response is still AnnotateFileResponse, each of which contains some + * subset of the full list of AnnotateImageResponse. Multiple outputs can + * happen if, for example, the output JSON is too large and overflows into + * multiple sharded files. + */ + uri?: string; + } + /** + * The Google Cloud Storage location where the input will be read from. + */ + interface Schema$GoogleCloudVisionV1p1beta1GcsSource { + /** + * Google Cloud Storage URI for the input file. This must only be a Google + * Cloud Storage object. Wildcards are not currently supported. + */ + uri?: string; + } + /** + * If an image was produced from a file (e.g. a PDF), this message gives + * information about the source of that image. + */ + interface Schema$GoogleCloudVisionV1p1beta1ImageAnnotationContext { + /** + * If the file was a PDF or TIFF, this field gives the page number within + * the file used to produce the image. + */ + pageNumber?: number; + /** + * The URI of the file used to produce the image. + */ + uri?: string; + } + /** + * Stores image properties, such as dominant colors. + */ + interface Schema$GoogleCloudVisionV1p1beta1ImageProperties { + /** + * If present, dominant colors completed successfully. + */ + dominantColors?: Schema$GoogleCloudVisionV1p1beta1DominantColorsAnnotation; + } + /** + * The desired input location and metadata. + */ + interface Schema$GoogleCloudVisionV1p1beta1InputConfig { + /** + * The Google Cloud Storage location to read the input from. + */ + gcsSource?: Schema$GoogleCloudVisionV1p1beta1GcsSource; + /** + * The type of the file. Currently only "application/pdf" and + * "image/tiff" are supported. Wildcards are not supported. + */ + mimeType?: string; + } + /** + * Set of detected objects with bounding boxes. + */ + interface Schema$GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation { + /** + * Image region to which this object belongs. This must be populated. + */ + boundingPoly?: Schema$GoogleCloudVisionV1p1beta1BoundingPoly; + /** + * The BCP-47 language code, such as "en-US" or + * "sr-Latn". For more information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + */ + languageCode?: string; + /** + * Object ID that should align with EntityAnnotation mid. + */ + mid?: string; + /** + * Object name, expressed in its `language_code` language. + */ + name?: string; + /** + * Score of the result. Range [0, 1]. + */ + score?: number; + } + /** + * Detected entity location information. + */ + interface Schema$GoogleCloudVisionV1p1beta1LocationInfo { + /** + * lat/long location coordinates. + */ + latLng?: Schema$LatLng; + } + /** + * Contains metadata for the BatchAnnotateImages operation. + */ + interface Schema$GoogleCloudVisionV1p1beta1OperationMetadata { + /** + * The time when the batch request was received. + */ + createTime?: string; + /** + * Current state of the batch operation. + */ + state?: string; + /** + * The time when the operation result was last updated. + */ + updateTime?: string; + } + /** + * The desired output location and metadata. + */ + interface Schema$GoogleCloudVisionV1p1beta1OutputConfig { + /** + * The max number of response protos to put into each output JSON file on + * Google Cloud Storage. The valid range is [1, 100]. If not specified, the + * default value is 20. For example, for one pdf file with 100 pages, 100 + * response protos will be generated. If `batch_size` = 20, then 5 json + * files each containing 20 response protos will be written under the prefix + * `gcs_destination`.`uri`. Currently, batch_size only applies to + * GcsDestination, with potential future support for other output + * configurations. + */ + batchSize?: number; + /** + * The Google Cloud Storage location to write the output(s) to. + */ + gcsDestination?: Schema$GoogleCloudVisionV1p1beta1GcsDestination; + } + /** + * Detected page from OCR. + */ + interface Schema$GoogleCloudVisionV1p1beta1Page { + /** + * List of blocks of text, images etc on this page. + */ + blocks?: Schema$GoogleCloudVisionV1p1beta1Block[]; + /** + * Confidence of the OCR results on the page. Range [0, 1]. + */ + confidence?: number; + /** + * Page height. For PDFs the unit is points. For images (including TIFFs) + * the unit is pixels. + */ + height?: number; + /** + * Additional information detected on the page. + */ + property?: Schema$GoogleCloudVisionV1p1beta1TextAnnotationTextProperty; + /** + * Page width. For PDFs the unit is points. For images (including TIFFs) the + * unit is pixels. + */ + width?: number; + } + /** + * Structural unit of text representing a number of words in certain order. + */ + interface Schema$GoogleCloudVisionV1p1beta1Paragraph { + /** + * The bounding box for the paragraph. The vertices are in the order of + * top-left, top-right, bottom-right, bottom-left. When a rotation of the + * bounding box is detected the rotation is represented as around the + * top-left corner as defined when the text is read in the 'natural' + * orientation. For example: * when the text is horizontal it might look + * like: 0----1 | | 3----2 * when it's rotated 180 + * degrees around the top-left corner it becomes: 2----3 | | + * 1----0 and the vertice order will still be (0, 1, 2, 3). + */ + boundingBox?: Schema$GoogleCloudVisionV1p1beta1BoundingPoly; + /** + * Confidence of the OCR results for the paragraph. Range [0, 1]. + */ + confidence?: number; + /** + * Additional information detected for the paragraph. + */ + property?: Schema$GoogleCloudVisionV1p1beta1TextAnnotationTextProperty; + /** + * List of words in this paragraph. + */ + words?: Schema$GoogleCloudVisionV1p1beta1Word[]; + } + /** + * A 3D position in the image, used primarily for Face detection landmarks. A + * valid Position must have both x and y coordinates. The position coordinates + * are in the same scale as the original image. + */ + interface Schema$GoogleCloudVisionV1p1beta1Position { + /** + * X coordinate. + */ + x?: number; + /** + * Y coordinate. + */ + y?: number; + /** + * Z coordinate (or depth). + */ + z?: number; + } + /** + * A `Property` consists of a user-supplied name/value pair. + */ + interface Schema$GoogleCloudVisionV1p1beta1Property { + /** + * Name of the property. + */ + name?: string; + /** + * Value of numeric properties. + */ + uint64Value?: string; + /** + * Value of the property. + */ + value?: string; + } + /** + * Set of features pertaining to the image, computed by computer vision + * methods over safe-search verticals (for example, adult, spoof, medical, + * violence). + */ + interface Schema$GoogleCloudVisionV1p1beta1SafeSearchAnnotation { + /** + * Represents the adult content likelihood for the image. Adult content may + * contain elements such as nudity, pornographic images or cartoons, or + * sexual activities. + */ + adult?: string; + /** + * Likelihood that this is a medical image. + */ + medical?: string; + /** + * Likelihood that the request image contains racy content. Racy content may + * include (but is not limited to) skimpy or sheer clothing, strategically + * covered nudity, lewd or provocative poses, or close-ups of sensitive body + * areas. + */ + racy?: string; + /** + * Spoof likelihood. The likelihood that an modification was made to the + * image's canonical version to make it appear funny or offensive. + */ + spoof?: string; + /** + * Likelihood that this image contains violent content. + */ + violence?: string; + } + /** + * A single symbol representation. + */ + interface Schema$GoogleCloudVisionV1p1beta1Symbol { + /** + * The bounding box for the symbol. The vertices are in the order of + * top-left, top-right, bottom-right, bottom-left. When a rotation of the + * bounding box is detected the rotation is represented as around the + * top-left corner as defined when the text is read in the 'natural' + * orientation. For example: * when the text is horizontal it might look + * like: 0----1 | | 3----2 * when it's rotated 180 + * degrees around the top-left corner it becomes: 2----3 | | + * 1----0 and the vertice order will still be (0, 1, 2, 3). + */ + boundingBox?: Schema$GoogleCloudVisionV1p1beta1BoundingPoly; + /** + * Confidence of the OCR results for the symbol. Range [0, 1]. + */ + confidence?: number; + /** + * Additional information detected for the symbol. + */ + property?: Schema$GoogleCloudVisionV1p1beta1TextAnnotationTextProperty; + /** + * The actual UTF-8 representation of the symbol. + */ + text?: string; + } + /** + * TextAnnotation contains a structured representation of OCR extracted text. + * The hierarchy of an OCR extracted text structure is like this: + * TextAnnotation -> Page -> Block -> Paragraph -> Word -> + * Symbol Each structural component, starting from Page, may further have + * their own properties. Properties describe detected languages, breaks etc.. + * Please refer to the TextAnnotation.TextProperty message definition below + * for more detail. + */ + interface Schema$GoogleCloudVisionV1p1beta1TextAnnotation { + /** + * List of pages detected by OCR. + */ + pages?: Schema$GoogleCloudVisionV1p1beta1Page[]; + /** + * UTF-8 text detected on the pages. + */ + text?: string; + } + /** + * Detected start or end of a structural component. + */ + interface Schema$GoogleCloudVisionV1p1beta1TextAnnotationDetectedBreak { + /** + * True if break prepends the element. + */ + isPrefix?: boolean; + /** + * Detected break type. + */ + type?: string; + } + /** + * Detected language for a structural component. + */ + interface Schema$GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage { + /** + * Confidence of detected language. Range [0, 1]. + */ + confidence?: number; + /** + * The BCP-47 language code, such as "en-US" or + * "sr-Latn". For more information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + */ + languageCode?: string; + } + /** + * Additional information detected on the structural component. + */ + interface Schema$GoogleCloudVisionV1p1beta1TextAnnotationTextProperty { + /** + * Detected start or end of a text segment. + */ + detectedBreak?: Schema$GoogleCloudVisionV1p1beta1TextAnnotationDetectedBreak; + /** + * A list of detected languages together with confidence. + */ + detectedLanguages?: Schema$GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage[]; + } + /** + * A vertex represents a 2D point in the image. NOTE: the vertex coordinates + * are in the same scale as the original image. + */ + interface Schema$GoogleCloudVisionV1p1beta1Vertex { + /** + * X coordinate. + */ + x?: number; + /** + * Y coordinate. + */ + y?: number; + } + /** + * Relevant information for the image from the Internet. + */ + interface Schema$GoogleCloudVisionV1p1beta1WebDetection { + /** + * The service's best guess as to the topic of the request image. + * Inferred from similar images on the open web. + */ + bestGuessLabels?: Schema$GoogleCloudVisionV1p1beta1WebDetectionWebLabel[]; + /** + * Fully matching images from the Internet. Can include resized copies of + * the query image. + */ + fullMatchingImages?: Schema$GoogleCloudVisionV1p1beta1WebDetectionWebImage[]; + /** + * Web pages containing the matching images from the Internet. + */ + pagesWithMatchingImages?: Schema$GoogleCloudVisionV1p1beta1WebDetectionWebPage[]; + /** + * Partial matching images from the Internet. Those images are similar + * enough to share some key-point features. For example an original image + * will likely have partial matching for its crops. + */ + partialMatchingImages?: Schema$GoogleCloudVisionV1p1beta1WebDetectionWebImage[]; + /** + * The visually similar image results. + */ + visuallySimilarImages?: Schema$GoogleCloudVisionV1p1beta1WebDetectionWebImage[]; + /** + * Deduced entities from similar images on the Internet. + */ + webEntities?: Schema$GoogleCloudVisionV1p1beta1WebDetectionWebEntity[]; + } + /** + * Entity deduced from similar images on the Internet. + */ + interface Schema$GoogleCloudVisionV1p1beta1WebDetectionWebEntity { + /** + * Canonical description of the entity, in English. + */ + description?: string; + /** + * Opaque entity ID. + */ + entityId?: string; + /** + * Overall relevancy score for the entity. Not normalized and not comparable + * across different image queries. + */ + score?: number; + } + /** + * Metadata for online images. + */ + interface Schema$GoogleCloudVisionV1p1beta1WebDetectionWebImage { + /** + * (Deprecated) Overall relevancy score for the image. + */ + score?: number; + /** + * The result image URL. + */ + url?: string; + } + /** + * Label to provide extra metadata for the web detection. + */ + interface Schema$GoogleCloudVisionV1p1beta1WebDetectionWebLabel { + /** + * Label for extra metadata. + */ + label?: string; + /** + * The BCP-47 language code for `label`, such as "en-US" or + * "sr-Latn". For more information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + */ + languageCode?: string; + } + /** + * Metadata for web pages. + */ + interface Schema$GoogleCloudVisionV1p1beta1WebDetectionWebPage { + /** + * Fully matching images on the page. Can include resized copies of the + * query image. + */ + fullMatchingImages?: Schema$GoogleCloudVisionV1p1beta1WebDetectionWebImage[]; + /** + * Title for the web page, may contain HTML markups. + */ + pageTitle?: string; + /** + * Partial matching images on the page. Those images are similar enough to + * share some key-point features. For example an original image will likely + * have partial matching for its crops. + */ + partialMatchingImages?: Schema$GoogleCloudVisionV1p1beta1WebDetectionWebImage[]; + /** + * (Deprecated) Overall relevancy score for the web page. + */ + score?: number; + /** + * The result web page URL. + */ + url?: string; + } + /** + * A word representation. + */ + interface Schema$GoogleCloudVisionV1p1beta1Word { + /** + * The bounding box for the word. The vertices are in the order of top-left, + * top-right, bottom-right, bottom-left. When a rotation of the bounding box + * is detected the rotation is represented as around the top-left corner as + * defined when the text is read in the 'natural' orientation. For + * example: * when the text is horizontal it might look like: 0----1 + * | | 3----2 * when it's rotated 180 degrees around the + * top-left corner it becomes: 2----3 | | 1----0 and the + * vertice order will still be (0, 1, 2, 3). + */ + boundingBox?: Schema$GoogleCloudVisionV1p1beta1BoundingPoly; + /** + * Confidence of the OCR results for the word. Range [0, 1]. + */ + confidence?: number; + /** + * Additional information detected for the word. + */ + property?: Schema$GoogleCloudVisionV1p1beta1TextAnnotationTextProperty; + /** + * List of symbols in the word. The order of the symbols follows the natural + * reading order. + */ + symbols?: Schema$GoogleCloudVisionV1p1beta1Symbol[]; + } + /** + * Response to a single file annotation request. A file may contain one or + * more images, which individually have their own responses. + */ + interface Schema$GoogleCloudVisionV1p2beta1AnnotateFileResponse { + /** + * Information about the file for which this response is generated. + */ + inputConfig?: Schema$GoogleCloudVisionV1p2beta1InputConfig; + /** + * Individual responses to images found within the file. + */ + responses?: Schema$GoogleCloudVisionV1p2beta1AnnotateImageResponse[]; + } + /** + * Request for performing Google Cloud Vision API tasks over a user-provided + * image, with user-requested features. + */ + interface Schema$GoogleCloudVisionV1p2beta1AnnotateImageRequest { + /** + * Requested features. + */ + features?: Schema$GoogleCloudVisionV1p2beta1Feature[]; + /** + * The image to be processed. + */ + image?: Schema$GoogleCloudVisionV1p2beta1Image; + /** + * Additional context that may accompany the image. + */ + imageContext?: Schema$GoogleCloudVisionV1p2beta1ImageContext; + } + /** + * Response to an image annotation request. + */ + interface Schema$GoogleCloudVisionV1p2beta1AnnotateImageResponse { + /** + * If present, contextual information is needed to understand where this + * image comes from. + */ + context?: Schema$GoogleCloudVisionV1p2beta1ImageAnnotationContext; + /** + * If present, crop hints have completed successfully. + */ + cropHintsAnnotation?: Schema$GoogleCloudVisionV1p2beta1CropHintsAnnotation; + /** + * If set, represents the error message for the operation. Note that + * filled-in image annotations are guaranteed to be correct, even when + * `error` is set. + */ + error?: Schema$Status; + /** + * If present, face detection has completed successfully. + */ + faceAnnotations?: Schema$GoogleCloudVisionV1p2beta1FaceAnnotation[]; + /** + * If present, text (OCR) detection or document (OCR) text detection has + * completed successfully. This annotation provides the structural hierarchy + * for the OCR detected text. + */ + fullTextAnnotation?: Schema$GoogleCloudVisionV1p2beta1TextAnnotation; + /** + * If present, image properties were extracted successfully. + */ + imagePropertiesAnnotation?: Schema$GoogleCloudVisionV1p2beta1ImageProperties; + /** + * If present, label detection has completed successfully. + */ + labelAnnotations?: Schema$GoogleCloudVisionV1p2beta1EntityAnnotation[]; + /** + * If present, landmark detection has completed successfully. + */ + landmarkAnnotations?: Schema$GoogleCloudVisionV1p2beta1EntityAnnotation[]; + /** + * If present, localized object detection has completed successfully. This + * will be sorted descending by confidence score. + */ + localizedObjectAnnotations?: Schema$GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation[]; + /** + * If present, logo detection has completed successfully. + */ + logoAnnotations?: Schema$GoogleCloudVisionV1p2beta1EntityAnnotation[]; + /** + * If present, safe-search annotation has completed successfully. + */ + safeSearchAnnotation?: Schema$GoogleCloudVisionV1p2beta1SafeSearchAnnotation; + /** + * If present, text (OCR) detection has completed successfully. + */ + textAnnotations?: Schema$GoogleCloudVisionV1p2beta1EntityAnnotation[]; + /** + * If present, web detection has completed successfully. + */ + webDetection?: Schema$GoogleCloudVisionV1p2beta1WebDetection; + } + /** + * An offline file annotation request. + */ + interface Schema$GoogleCloudVisionV1p2beta1AsyncAnnotateFileRequest { + /** + * Required. Requested features. + */ + features?: Schema$GoogleCloudVisionV1p2beta1Feature[]; + /** + * Additional context that may accompany the image(s) in the file. + */ + imageContext?: Schema$GoogleCloudVisionV1p2beta1ImageContext; + /** + * Required. Information about the input file. + */ + inputConfig?: Schema$GoogleCloudVisionV1p2beta1InputConfig; + /** + * Required. The desired output location and metadata (e.g. format). + */ + outputConfig?: Schema$GoogleCloudVisionV1p2beta1OutputConfig; + } + /** + * The response for a single offline file annotation request. + */ + interface Schema$GoogleCloudVisionV1p2beta1AsyncAnnotateFileResponse { + /** + * The output location and metadata from AsyncAnnotateFileRequest. + */ + outputConfig?: Schema$GoogleCloudVisionV1p2beta1OutputConfig; + } + /** + * Multiple async file annotation requests are batched into a single service + * call. + */ + interface Schema$GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesRequest { + /** + * Individual async file annotation requests for this batch. + */ + requests?: Schema$GoogleCloudVisionV1p2beta1AsyncAnnotateFileRequest[]; + } + /** + * Response to an async batch file annotation request. + */ + interface Schema$GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesResponse { + /** + * The list of file annotation responses, one for each request in + * AsyncBatchAnnotateFilesRequest. + */ + responses?: Schema$GoogleCloudVisionV1p2beta1AsyncAnnotateFileResponse[]; + } + /** + * Multiple image annotation requests are batched into a single service call. + */ + interface Schema$GoogleCloudVisionV1p2beta1BatchAnnotateImagesRequest { + /** + * Individual image annotation requests for this batch. + */ + requests?: Schema$GoogleCloudVisionV1p2beta1AnnotateImageRequest[]; + } + /** + * Response to a batch image annotation request. + */ + interface Schema$GoogleCloudVisionV1p2beta1BatchAnnotateImagesResponse { + /** + * Individual responses to image annotation requests within the batch. + */ + responses?: Schema$GoogleCloudVisionV1p2beta1AnnotateImageResponse[]; + } + /** + * Logical element on the page. + */ + interface Schema$GoogleCloudVisionV1p2beta1Block { + /** + * Detected block type (text, image etc) for this block. + */ + blockType?: string; + /** + * The bounding box for the block. The vertices are in the order of + * top-left, top-right, bottom-right, bottom-left. When a rotation of the + * bounding box is detected the rotation is represented as around the + * top-left corner as defined when the text is read in the 'natural' + * orientation. For example: * when the text is horizontal it might look + * like: 0----1 | | 3----2 * when it's + * rotated 180 degrees around the top-left corner it becomes: 2----3 | | + * 1----0 and the vertice order will still be (0, 1, 2, 3). + */ + boundingBox?: Schema$GoogleCloudVisionV1p2beta1BoundingPoly; + /** + * Confidence of the OCR results on the block. Range [0, 1]. + */ + confidence?: number; + /** + * List of paragraphs in this block (if this blocks is of type text). + */ + paragraphs?: Schema$GoogleCloudVisionV1p2beta1Paragraph[]; + /** + * Additional information detected for the block. + */ + property?: Schema$GoogleCloudVisionV1p2beta1TextAnnotationTextProperty; + } + /** + * A bounding polygon for the detected image annotation. + */ + interface Schema$GoogleCloudVisionV1p2beta1BoundingPoly { + /** + * The bounding polygon normalized vertices. + */ + normalizedVertices?: Schema$GoogleCloudVisionV1p2beta1NormalizedVertex[]; + /** + * The bounding polygon vertices. + */ + vertices?: Schema$GoogleCloudVisionV1p2beta1Vertex[]; + } + /** + * Color information consists of RGB channels, score, and the fraction of the + * image that the color occupies in the image. + */ + interface Schema$GoogleCloudVisionV1p2beta1ColorInfo { + /** + * RGB components of the color. + */ + color?: Schema$Color; + /** + * The fraction of pixels the color occupies in the image. Value in range + * [0, 1]. + */ + pixelFraction?: number; + /** + * Image-specific score for this color. Value in range [0, 1]. + */ + score?: number; + } + /** + * Single crop hint that is used to generate a new crop when serving an image. + */ + interface Schema$GoogleCloudVisionV1p2beta1CropHint { + /** + * The bounding polygon for the crop region. The coordinates of the bounding + * box are in the original image's scale, as returned in `ImageParams`. + */ + boundingPoly?: Schema$GoogleCloudVisionV1p2beta1BoundingPoly; + /** + * Confidence of this being a salient region. Range [0, 1]. + */ + confidence?: number; + /** + * Fraction of importance of this salient region with respect to the + * original image. + */ + importanceFraction?: number; + } + /** + * Set of crop hints that are used to generate new crops when serving images. + */ + interface Schema$GoogleCloudVisionV1p2beta1CropHintsAnnotation { + /** + * Crop hint results. + */ + cropHints?: Schema$GoogleCloudVisionV1p2beta1CropHint[]; + } + /** + * Parameters for crop hints annotation request. + */ + interface Schema$GoogleCloudVisionV1p2beta1CropHintsParams { + /** + * Aspect ratios in floats, representing the ratio of the width to the + * height of the image. For example, if the desired aspect ratio is 4/3, the + * corresponding float value should be 1.33333. If not specified, the best + * possible crop is returned. The number of provided aspect ratios is + * limited to a maximum of 16; any aspect ratios provided after the 16th are + * ignored. + */ + aspectRatios?: number[]; + } + /** + * Set of dominant colors and their corresponding scores. + */ + interface Schema$GoogleCloudVisionV1p2beta1DominantColorsAnnotation { + /** + * RGB color values with their score and pixel fraction. + */ + colors?: Schema$GoogleCloudVisionV1p2beta1ColorInfo[]; + } + /** + * Set of detected entity features. + */ + interface Schema$GoogleCloudVisionV1p2beta1EntityAnnotation { + /** + * Image region to which this entity belongs. Not produced for + * `LABEL_DETECTION` features. + */ + boundingPoly?: Schema$GoogleCloudVisionV1p2beta1BoundingPoly; + /** + * **Deprecated. Use `score` instead.** The accuracy of the entity detection + * in an image. For example, for an image in which the "Eiffel + * Tower" entity is detected, this field represents the confidence that + * there is a tower in the query image. Range [0, 1]. + */ + confidence?: number; + /** + * Entity textual description, expressed in its `locale` language. + */ + description?: string; + /** + * The language code for the locale in which the entity textual + * `description` is expressed. + */ + locale?: string; + /** + * The location information for the detected entity. Multiple `LocationInfo` + * elements can be present because one location may indicate the location of + * the scene in the image, and another location may indicate the location of + * the place where the image was taken. Location information is usually + * present for landmarks. + */ + locations?: Schema$GoogleCloudVisionV1p2beta1LocationInfo[]; + /** + * Opaque entity ID. Some IDs may be available in [Google Knowledge Graph + * Search API](https://developers.google.com/knowledge-graph/). + */ + mid?: string; + /** + * Some entities may have optional user-supplied `Property` (name/value) + * fields, such a score or string that qualifies the entity. + */ + properties?: Schema$GoogleCloudVisionV1p2beta1Property[]; + /** + * Overall score of the result. Range [0, 1]. + */ + score?: number; + /** + * The relevancy of the ICA (Image Content Annotation) label to the image. + * For example, the relevancy of "tower" is likely higher to an + * image containing the detected "Eiffel Tower" than to an image + * containing a detected distant towering building, even though the + * confidence that there is a tower in each image may be the same. Range [0, + * 1]. + */ + topicality?: number; + } + /** + * A face annotation object contains the results of face detection. + */ + interface Schema$GoogleCloudVisionV1p2beta1FaceAnnotation { + /** + * Anger likelihood. + */ + angerLikelihood?: string; + /** + * Blurred likelihood. + */ + blurredLikelihood?: string; + /** + * The bounding polygon around the face. The coordinates of the bounding box + * are in the original image's scale, as returned in `ImageParams`. The + * bounding box is computed to "frame" the face in accordance with + * human expectations. It is based on the landmarker results. Note that one + * or more x and/or y coordinates may not be generated in the `BoundingPoly` + * (the polygon will be unbounded) if only a partial face appears in the + * image to be annotated. + */ + boundingPoly?: Schema$GoogleCloudVisionV1p2beta1BoundingPoly; + /** + * Detection confidence. Range [0, 1]. + */ + detectionConfidence?: number; + /** + * The `fd_bounding_poly` bounding polygon is tighter than the + * `boundingPoly`, and encloses only the skin part of the face. Typically, + * it is used to eliminate the face from any image analysis that detects the + * "amount of skin" visible in an image. It is not based on the + * landmarker results, only on the initial face detection, hence the + * <code>fd</code> (face detection) prefix. + */ + fdBoundingPoly?: Schema$GoogleCloudVisionV1p2beta1BoundingPoly; + /** + * Headwear likelihood. + */ + headwearLikelihood?: string; + /** + * Joy likelihood. + */ + joyLikelihood?: string; + /** + * Face landmarking confidence. Range [0, 1]. + */ + landmarkingConfidence?: number; + /** + * Detected face landmarks. + */ + landmarks?: Schema$GoogleCloudVisionV1p2beta1FaceAnnotationLandmark[]; + /** + * Yaw angle, which indicates the leftward/rightward angle that the face is + * pointing relative to the vertical plane perpendicular to the image. Range + * [-180,180]. + */ + panAngle?: number; + /** + * Roll angle, which indicates the amount of clockwise/anti-clockwise + * rotation of the face relative to the image vertical about the axis + * perpendicular to the face. Range [-180,180]. + */ + rollAngle?: number; + /** + * Sorrow likelihood. + */ + sorrowLikelihood?: string; + /** + * Surprise likelihood. + */ + surpriseLikelihood?: string; + /** + * Pitch angle, which indicates the upwards/downwards angle that the face is + * pointing relative to the image's horizontal plane. Range [-180,180]. + */ + tiltAngle?: number; + /** + * Under-exposed likelihood. + */ + underExposedLikelihood?: string; + } + /** + * A face-specific landmark (for example, a face feature). + */ + interface Schema$GoogleCloudVisionV1p2beta1FaceAnnotationLandmark { + /** + * Face landmark position. + */ + position?: Schema$GoogleCloudVisionV1p2beta1Position; + /** + * Face landmark type. + */ + type?: string; + } + /** + * The type of Google Cloud Vision API detection to perform, and the maximum + * number of results to return for that type. Multiple `Feature` objects can + * be specified in the `features` list. + */ + interface Schema$GoogleCloudVisionV1p2beta1Feature { + /** + * Maximum number of results of this type. Does not apply to + * `TEXT_DETECTION`, `DOCUMENT_TEXT_DETECTION`, or `CROP_HINTS`. + */ + maxResults?: number; + /** + * Model to use for the feature. Supported values: + * "builtin/stable" (the default if unset) and + * "builtin/latest". + */ + model?: string; + /** + * The feature type. + */ + type?: string; + } + /** + * The Google Cloud Storage location where the output will be written to. + */ + interface Schema$GoogleCloudVisionV1p2beta1GcsDestination { + /** + * Google Cloud Storage URI where the results will be stored. Results will + * be in JSON format and preceded by its corresponding input URI. This field + * can either represent a single file, or a prefix for multiple outputs. + * Prefixes must end in a `/`. Examples: * File: + * gs://bucket-name/filename.json * Prefix: gs://bucket-name/prefix/here/ + * * File: gs://bucket-name/prefix/here If multiple outputs, each + * response is still AnnotateFileResponse, each of which contains some + * subset of the full list of AnnotateImageResponse. Multiple outputs can + * happen if, for example, the output JSON is too large and overflows into + * multiple sharded files. + */ + uri?: string; + } + /** + * The Google Cloud Storage location where the input will be read from. + */ + interface Schema$GoogleCloudVisionV1p2beta1GcsSource { + /** + * Google Cloud Storage URI for the input file. This must only be a Google + * Cloud Storage object. Wildcards are not currently supported. + */ + uri?: string; + } + /** + * Client image to perform Google Cloud Vision API tasks over. + */ + interface Schema$GoogleCloudVisionV1p2beta1Image { + /** + * Image content, represented as a stream of bytes. Note: As with all + * `bytes` fields, protobuffers use a pure binary representation, whereas + * JSON representations use base64. + */ + content?: string; + /** + * Google Cloud Storage image location, or publicly-accessible image URL. If + * both `content` and `source` are provided for an image, `content` takes + * precedence and is used to perform the image annotation request. + */ + source?: Schema$GoogleCloudVisionV1p2beta1ImageSource; + } + /** + * If an image was produced from a file (e.g. a PDF), this message gives + * information about the source of that image. + */ + interface Schema$GoogleCloudVisionV1p2beta1ImageAnnotationContext { + /** + * If the file was a PDF or TIFF, this field gives the page number within + * the file used to produce the image. + */ + pageNumber?: number; + /** + * The URI of the file used to produce the image. + */ + uri?: string; + } + /** + * Image context and/or feature-specific parameters. + */ + interface Schema$GoogleCloudVisionV1p2beta1ImageContext { + /** + * Parameters for crop hints annotation request. + */ + cropHintsParams?: Schema$GoogleCloudVisionV1p2beta1CropHintsParams; + /** + * List of languages to use for TEXT_DETECTION. In most cases, an empty + * value yields the best results since it enables automatic language + * detection. For languages based on the Latin alphabet, setting + * `language_hints` is not needed. In rare cases, when the language of the + * text in the image is known, setting a hint will help get better results + * (although it will be a significant hindrance if the hint is wrong). Text + * detection returns an error if one or more of the specified languages is + * not one of the [supported languages](/vision/docs/languages). + */ + languageHints?: string[]; + /** + * Not used. + */ + latLongRect?: Schema$GoogleCloudVisionV1p2beta1LatLongRect; + /** + * Parameters for web detection. + */ + webDetectionParams?: Schema$GoogleCloudVisionV1p2beta1WebDetectionParams; + } + /** + * Stores image properties, such as dominant colors. + */ + interface Schema$GoogleCloudVisionV1p2beta1ImageProperties { + /** + * If present, dominant colors completed successfully. + */ + dominantColors?: Schema$GoogleCloudVisionV1p2beta1DominantColorsAnnotation; + } + /** + * External image source (Google Cloud Storage or web URL image location). + */ + interface Schema$GoogleCloudVisionV1p2beta1ImageSource { + /** + * **Use `image_uri` instead.** The Google Cloud Storage URI of the form + * `gs://bucket_name/object_name`. Object versioning is not supported. See + * [Google Cloud Storage Request + * URIs](https://cloud.google.com/storage/docs/reference-uris) for more + * info. + */ + gcsImageUri?: string; + /** + * The URI of the source image. Can be either: 1. A Google Cloud Storage + * URI of the form `gs://bucket_name/object_name`. Object versioning is + * not supported. See [Google Cloud Storage Request + * URIs](https://cloud.google.com/storage/docs/reference-uris) for more + * info. 2. A publicly-accessible image HTTP/HTTPS URL. When fetching + * images from HTTP/HTTPS URLs, Google cannot guarantee that the request + * will be completed. Your request may fail if the specified host denies + * the request (e.g. due to request throttling or DOS prevention), or if + * Google throttles requests to the site for abuse prevention. You should + * not depend on externally-hosted images for production applications. + * When both `gcs_image_uri` and `image_uri` are specified, `image_uri` + * takes precedence. + */ + imageUri?: string; + } + /** + * The desired input location and metadata. + */ + interface Schema$GoogleCloudVisionV1p2beta1InputConfig { + /** + * The Google Cloud Storage location to read the input from. + */ + gcsSource?: Schema$GoogleCloudVisionV1p2beta1GcsSource; + /** + * The type of the file. Currently only "application/pdf" and + * "image/tiff" are supported. Wildcards are not supported. + */ + mimeType?: string; + } + /** + * Rectangle determined by min and max `LatLng` pairs. + */ + interface Schema$GoogleCloudVisionV1p2beta1LatLongRect { + /** + * Max lat/long pair. + */ + maxLatLng?: Schema$LatLng; + /** + * Min lat/long pair. + */ + minLatLng?: Schema$LatLng; + } + /** + * Set of detected objects with bounding boxes. + */ + interface Schema$GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation { + /** + * Image region to which this object belongs. This must be populated. + */ + boundingPoly?: Schema$GoogleCloudVisionV1p2beta1BoundingPoly; + /** + * The BCP-47 language code, such as "en-US" or + * "sr-Latn". For more information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + */ + languageCode?: string; + /** + * Object ID that should align with EntityAnnotation mid. + */ + mid?: string; + /** + * Object name, expressed in its `language_code` language. + */ + name?: string; + /** + * Score of the result. Range [0, 1]. + */ + score?: number; + } + /** + * Detected entity location information. + */ + interface Schema$GoogleCloudVisionV1p2beta1LocationInfo { + /** + * lat/long location coordinates. + */ + latLng?: Schema$LatLng; + } + /** + * A vertex represents a 2D point in the image. NOTE: the normalized vertex + * coordinates are relative to the original image and range from 0 to 1. + */ + interface Schema$GoogleCloudVisionV1p2beta1NormalizedVertex { + /** + * X coordinate. + */ + x?: number; + /** + * Y coordinate. + */ + y?: number; + } + /** + * Contains metadata for the BatchAnnotateImages operation. + */ + interface Schema$GoogleCloudVisionV1p2beta1OperationMetadata { + /** + * The time when the batch request was received. + */ + createTime?: string; + /** + * Current state of the batch operation. + */ + state?: string; + /** + * The time when the operation result was last updated. + */ + updateTime?: string; + } + /** + * The desired output location and metadata. + */ + interface Schema$GoogleCloudVisionV1p2beta1OutputConfig { + /** + * The max number of response protos to put into each output JSON file on + * Google Cloud Storage. The valid range is [1, 100]. If not specified, the + * default value is 20. For example, for one pdf file with 100 pages, 100 + * response protos will be generated. If `batch_size` = 20, then 5 json + * files each containing 20 response protos will be written under the prefix + * `gcs_destination`.`uri`. Currently, batch_size only applies to + * GcsDestination, with potential future support for other output + * configurations. + */ + batchSize?: number; + /** + * The Google Cloud Storage location to write the output(s) to. + */ + gcsDestination?: Schema$GoogleCloudVisionV1p2beta1GcsDestination; + } + /** + * Detected page from OCR. + */ + interface Schema$GoogleCloudVisionV1p2beta1Page { + /** + * List of blocks of text, images etc on this page. + */ + blocks?: Schema$GoogleCloudVisionV1p2beta1Block[]; + /** + * Confidence of the OCR results on the page. Range [0, 1]. + */ + confidence?: number; + /** + * Page height. For PDFs the unit is points. For images (including TIFFs) + * the unit is pixels. + */ + height?: number; + /** + * Additional information detected on the page. + */ + property?: Schema$GoogleCloudVisionV1p2beta1TextAnnotationTextProperty; + /** + * Page width. For PDFs the unit is points. For images (including TIFFs) the + * unit is pixels. + */ + width?: number; + } + /** + * Structural unit of text representing a number of words in certain order. + */ + interface Schema$GoogleCloudVisionV1p2beta1Paragraph { + /** + * The bounding box for the paragraph. The vertices are in the order of + * top-left, top-right, bottom-right, bottom-left. When a rotation of the + * bounding box is detected the rotation is represented as around the + * top-left corner as defined when the text is read in the 'natural' + * orientation. For example: * when the text is horizontal it might look + * like: 0----1 | | 3----2 * when it's rotated 180 + * degrees around the top-left corner it becomes: 2----3 | | + * 1----0 and the vertice order will still be (0, 1, 2, 3). + */ + boundingBox?: Schema$GoogleCloudVisionV1p2beta1BoundingPoly; + /** + * Confidence of the OCR results for the paragraph. Range [0, 1]. + */ + confidence?: number; + /** + * Additional information detected for the paragraph. + */ + property?: Schema$GoogleCloudVisionV1p2beta1TextAnnotationTextProperty; + /** + * List of words in this paragraph. + */ + words?: Schema$GoogleCloudVisionV1p2beta1Word[]; + } + /** + * A 3D position in the image, used primarily for Face detection landmarks. A + * valid Position must have both x and y coordinates. The position coordinates + * are in the same scale as the original image. + */ + interface Schema$GoogleCloudVisionV1p2beta1Position { + /** + * X coordinate. + */ + x?: number; + /** + * Y coordinate. + */ + y?: number; + /** + * Z coordinate (or depth). + */ + z?: number; + } + /** + * A `Property` consists of a user-supplied name/value pair. + */ + interface Schema$GoogleCloudVisionV1p2beta1Property { + /** + * Name of the property. + */ + name?: string; + /** + * Value of numeric properties. + */ + uint64Value?: string; + /** + * Value of the property. + */ + value?: string; + } + /** + * Set of features pertaining to the image, computed by computer vision + * methods over safe-search verticals (for example, adult, spoof, medical, + * violence). + */ + interface Schema$GoogleCloudVisionV1p2beta1SafeSearchAnnotation { + /** + * Represents the adult content likelihood for the image. Adult content may + * contain elements such as nudity, pornographic images or cartoons, or + * sexual activities. + */ + adult?: string; + /** + * Likelihood that this is a medical image. + */ + medical?: string; + /** + * Likelihood that the request image contains racy content. Racy content may + * include (but is not limited to) skimpy or sheer clothing, strategically + * covered nudity, lewd or provocative poses, or close-ups of sensitive body + * areas. + */ + racy?: string; + /** + * Spoof likelihood. The likelihood that an modification was made to the + * image's canonical version to make it appear funny or offensive. + */ + spoof?: string; + /** + * Likelihood that this image contains violent content. + */ + violence?: string; + } + /** + * A single symbol representation. + */ + interface Schema$GoogleCloudVisionV1p2beta1Symbol { + /** + * The bounding box for the symbol. The vertices are in the order of + * top-left, top-right, bottom-right, bottom-left. When a rotation of the + * bounding box is detected the rotation is represented as around the + * top-left corner as defined when the text is read in the 'natural' + * orientation. For example: * when the text is horizontal it might look + * like: 0----1 | | 3----2 * when it's rotated 180 + * degrees around the top-left corner it becomes: 2----3 | | + * 1----0 and the vertice order will still be (0, 1, 2, 3). + */ + boundingBox?: Schema$GoogleCloudVisionV1p2beta1BoundingPoly; + /** + * Confidence of the OCR results for the symbol. Range [0, 1]. + */ + confidence?: number; + /** + * Additional information detected for the symbol. + */ + property?: Schema$GoogleCloudVisionV1p2beta1TextAnnotationTextProperty; + /** + * The actual UTF-8 representation of the symbol. + */ + text?: string; + } + /** + * TextAnnotation contains a structured representation of OCR extracted text. + * The hierarchy of an OCR extracted text structure is like this: + * TextAnnotation -> Page -> Block -> Paragraph -> Word -> + * Symbol Each structural component, starting from Page, may further have + * their own properties. Properties describe detected languages, breaks etc.. + * Please refer to the TextAnnotation.TextProperty message definition below + * for more detail. + */ + interface Schema$GoogleCloudVisionV1p2beta1TextAnnotation { + /** + * List of pages detected by OCR. + */ + pages?: Schema$GoogleCloudVisionV1p2beta1Page[]; + /** + * UTF-8 text detected on the pages. + */ + text?: string; + } + /** + * Detected start or end of a structural component. + */ + interface Schema$GoogleCloudVisionV1p2beta1TextAnnotationDetectedBreak { + /** + * True if break prepends the element. + */ + isPrefix?: boolean; + /** + * Detected break type. + */ + type?: string; + } + /** + * Detected language for a structural component. + */ + interface Schema$GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage { + /** + * Confidence of detected language. Range [0, 1]. + */ + confidence?: number; + /** + * The BCP-47 language code, such as "en-US" or + * "sr-Latn". For more information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + */ + languageCode?: string; + } + /** + * Additional information detected on the structural component. + */ + interface Schema$GoogleCloudVisionV1p2beta1TextAnnotationTextProperty { + /** + * Detected start or end of a text segment. + */ + detectedBreak?: Schema$GoogleCloudVisionV1p2beta1TextAnnotationDetectedBreak; + /** + * A list of detected languages together with confidence. + */ + detectedLanguages?: Schema$GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage[]; + } + /** + * A vertex represents a 2D point in the image. NOTE: the vertex coordinates + * are in the same scale as the original image. + */ + interface Schema$GoogleCloudVisionV1p2beta1Vertex { + /** + * X coordinate. + */ + x?: number; + /** + * Y coordinate. + */ + y?: number; + } + /** + * Relevant information for the image from the Internet. + */ + interface Schema$GoogleCloudVisionV1p2beta1WebDetection { + /** + * The service's best guess as to the topic of the request image. + * Inferred from similar images on the open web. + */ + bestGuessLabels?: Schema$GoogleCloudVisionV1p2beta1WebDetectionWebLabel[]; + /** + * Fully matching images from the Internet. Can include resized copies of + * the query image. + */ + fullMatchingImages?: Schema$GoogleCloudVisionV1p2beta1WebDetectionWebImage[]; + /** + * Web pages containing the matching images from the Internet. + */ + pagesWithMatchingImages?: Schema$GoogleCloudVisionV1p2beta1WebDetectionWebPage[]; + /** + * Partial matching images from the Internet. Those images are similar + * enough to share some key-point features. For example an original image + * will likely have partial matching for its crops. + */ + partialMatchingImages?: Schema$GoogleCloudVisionV1p2beta1WebDetectionWebImage[]; + /** + * The visually similar image results. + */ + visuallySimilarImages?: Schema$GoogleCloudVisionV1p2beta1WebDetectionWebImage[]; + /** + * Deduced entities from similar images on the Internet. + */ + webEntities?: Schema$GoogleCloudVisionV1p2beta1WebDetectionWebEntity[]; + } + /** + * Parameters for web detection request. + */ + interface Schema$GoogleCloudVisionV1p2beta1WebDetectionParams { + /** + * Whether to include results derived from the geo information in the image. + */ + includeGeoResults?: boolean; + } + /** + * Entity deduced from similar images on the Internet. + */ + interface Schema$GoogleCloudVisionV1p2beta1WebDetectionWebEntity { + /** + * Canonical description of the entity, in English. + */ + description?: string; + /** + * Opaque entity ID. + */ + entityId?: string; + /** + * Overall relevancy score for the entity. Not normalized and not comparable + * across different image queries. + */ + score?: number; + } + /** + * Metadata for online images. + */ + interface Schema$GoogleCloudVisionV1p2beta1WebDetectionWebImage { + /** + * (Deprecated) Overall relevancy score for the image. + */ + score?: number; + /** + * The result image URL. + */ + url?: string; + } + /** + * Label to provide extra metadata for the web detection. + */ + interface Schema$GoogleCloudVisionV1p2beta1WebDetectionWebLabel { + /** + * Label for extra metadata. + */ + label?: string; + /** + * The BCP-47 language code for `label`, such as "en-US" or + * "sr-Latn". For more information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + */ + languageCode?: string; + } + /** + * Metadata for web pages. + */ + interface Schema$GoogleCloudVisionV1p2beta1WebDetectionWebPage { + /** + * Fully matching images on the page. Can include resized copies of the + * query image. + */ + fullMatchingImages?: Schema$GoogleCloudVisionV1p2beta1WebDetectionWebImage[]; + /** + * Title for the web page, may contain HTML markups. + */ + pageTitle?: string; + /** + * Partial matching images on the page. Those images are similar enough to + * share some key-point features. For example an original image will likely + * have partial matching for its crops. + */ + partialMatchingImages?: Schema$GoogleCloudVisionV1p2beta1WebDetectionWebImage[]; + /** + * (Deprecated) Overall relevancy score for the web page. + */ + score?: number; + /** + * The result web page URL. + */ + url?: string; + } + /** + * A word representation. + */ + interface Schema$GoogleCloudVisionV1p2beta1Word { + /** + * The bounding box for the word. The vertices are in the order of top-left, + * top-right, bottom-right, bottom-left. When a rotation of the bounding box + * is detected the rotation is represented as around the top-left corner as + * defined when the text is read in the 'natural' orientation. For + * example: * when the text is horizontal it might look like: 0----1 + * | | 3----2 * when it's rotated 180 degrees around the + * top-left corner it becomes: 2----3 | | 1----0 and the + * vertice order will still be (0, 1, 2, 3). + */ + boundingBox?: Schema$GoogleCloudVisionV1p2beta1BoundingPoly; + /** + * Confidence of the OCR results for the word. Range [0, 1]. + */ + confidence?: number; + /** + * Additional information detected for the word. + */ + property?: Schema$GoogleCloudVisionV1p2beta1TextAnnotationTextProperty; + /** + * List of symbols in the word. The order of the symbols follows the natural + * reading order. + */ + symbols?: Schema$GoogleCloudVisionV1p2beta1Symbol[]; + } + /** + * Response to a single file annotation request. A file may contain one or + * more images, which individually have their own responses. + */ + interface Schema$GoogleCloudVisionV1p3beta1AnnotateFileResponse { + /** + * Information about the file for which this response is generated. + */ + inputConfig?: Schema$GoogleCloudVisionV1p3beta1InputConfig; + /** + * Individual responses to images found within the file. + */ + responses?: Schema$GoogleCloudVisionV1p3beta1AnnotateImageResponse[]; + } + /** + * Response to an image annotation request. + */ + interface Schema$GoogleCloudVisionV1p3beta1AnnotateImageResponse { + /** + * If present, contextual information is needed to understand where this + * image comes from. + */ + context?: Schema$GoogleCloudVisionV1p3beta1ImageAnnotationContext; + /** + * If present, crop hints have completed successfully. + */ + cropHintsAnnotation?: Schema$GoogleCloudVisionV1p3beta1CropHintsAnnotation; + /** + * If set, represents the error message for the operation. Note that + * filled-in image annotations are guaranteed to be correct, even when + * `error` is set. + */ + error?: Schema$Status; + /** + * If present, face detection has completed successfully. + */ + faceAnnotations?: Schema$GoogleCloudVisionV1p3beta1FaceAnnotation[]; + /** + * If present, text (OCR) detection or document (OCR) text detection has + * completed successfully. This annotation provides the structural hierarchy + * for the OCR detected text. + */ + fullTextAnnotation?: Schema$GoogleCloudVisionV1p3beta1TextAnnotation; + /** + * If present, image properties were extracted successfully. + */ + imagePropertiesAnnotation?: Schema$GoogleCloudVisionV1p3beta1ImageProperties; + /** + * If present, label detection has completed successfully. + */ + labelAnnotations?: Schema$GoogleCloudVisionV1p3beta1EntityAnnotation[]; + /** + * If present, landmark detection has completed successfully. + */ + landmarkAnnotations?: Schema$GoogleCloudVisionV1p3beta1EntityAnnotation[]; + /** + * If present, localized object detection has completed successfully. This + * will be sorted descending by confidence score. + */ + localizedObjectAnnotations?: Schema$GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation[]; + /** + * If present, logo detection has completed successfully. + */ + logoAnnotations?: Schema$GoogleCloudVisionV1p3beta1EntityAnnotation[]; + /** + * If present, product search has completed successfully. + */ + productSearchResults?: Schema$GoogleCloudVisionV1p3beta1ProductSearchResults; + /** + * If present, safe-search annotation has completed successfully. + */ + safeSearchAnnotation?: Schema$GoogleCloudVisionV1p3beta1SafeSearchAnnotation; + /** + * If present, text (OCR) detection has completed successfully. + */ + textAnnotations?: Schema$GoogleCloudVisionV1p3beta1EntityAnnotation[]; + /** + * If present, web detection has completed successfully. + */ + webDetection?: Schema$GoogleCloudVisionV1p3beta1WebDetection; + } + /** + * The response for a single offline file annotation request. + */ + interface Schema$GoogleCloudVisionV1p3beta1AsyncAnnotateFileResponse { + /** + * The output location and metadata from AsyncAnnotateFileRequest. + */ + outputConfig?: Schema$GoogleCloudVisionV1p3beta1OutputConfig; + } + /** + * Response to an async batch file annotation request. + */ + interface Schema$GoogleCloudVisionV1p3beta1AsyncBatchAnnotateFilesResponse { + /** + * The list of file annotation responses, one for each request in + * AsyncBatchAnnotateFilesRequest. + */ + responses?: Schema$GoogleCloudVisionV1p3beta1AsyncAnnotateFileResponse[]; + } + /** + * Metadata for the batch operations such as the current state. This is + * included in the `metadata` field of the `Operation` returned by the + * `GetOperation` call of the `google::longrunning::Operations` service. + */ + interface Schema$GoogleCloudVisionV1p3beta1BatchOperationMetadata { + /** + * The time when the batch request is finished and + * google.longrunning.Operation.done is set to true. + */ + endTime?: string; + /** + * The current state of the batch operation. + */ + state?: string; + /** + * The time when the batch request was submitted to the server. + */ + submitTime?: string; + } + /** + * Logical element on the page. + */ + interface Schema$GoogleCloudVisionV1p3beta1Block { + /** + * Detected block type (text, image etc) for this block. + */ + blockType?: string; + /** + * The bounding box for the block. The vertices are in the order of + * top-left, top-right, bottom-right, bottom-left. When a rotation of the + * bounding box is detected the rotation is represented as around the + * top-left corner as defined when the text is read in the 'natural' + * orientation. For example: * when the text is horizontal it might look + * like: 0----1 | | 3----2 * when it's + * rotated 180 degrees around the top-left corner it becomes: 2----3 | | + * 1----0 and the vertice order will still be (0, 1, 2, 3). + */ + boundingBox?: Schema$GoogleCloudVisionV1p3beta1BoundingPoly; + /** + * Confidence of the OCR results on the block. Range [0, 1]. + */ + confidence?: number; + /** + * List of paragraphs in this block (if this blocks is of type text). + */ + paragraphs?: Schema$GoogleCloudVisionV1p3beta1Paragraph[]; + /** + * Additional information detected for the block. + */ + property?: Schema$GoogleCloudVisionV1p3beta1TextAnnotationTextProperty; + } + /** + * A bounding polygon for the detected image annotation. + */ + interface Schema$GoogleCloudVisionV1p3beta1BoundingPoly { + /** + * The bounding polygon normalized vertices. + */ + normalizedVertices?: Schema$GoogleCloudVisionV1p3beta1NormalizedVertex[]; + /** + * The bounding polygon vertices. + */ + vertices?: Schema$GoogleCloudVisionV1p3beta1Vertex[]; + } + /** + * Color information consists of RGB channels, score, and the fraction of the + * image that the color occupies in the image. + */ + interface Schema$GoogleCloudVisionV1p3beta1ColorInfo { + /** + * RGB components of the color. + */ + color?: Schema$Color; + /** + * The fraction of pixels the color occupies in the image. Value in range + * [0, 1]. + */ + pixelFraction?: number; + /** + * Image-specific score for this color. Value in range [0, 1]. + */ + score?: number; + } + /** + * Single crop hint that is used to generate a new crop when serving an image. + */ + interface Schema$GoogleCloudVisionV1p3beta1CropHint { + /** + * The bounding polygon for the crop region. The coordinates of the bounding + * box are in the original image's scale, as returned in `ImageParams`. + */ + boundingPoly?: Schema$GoogleCloudVisionV1p3beta1BoundingPoly; + /** + * Confidence of this being a salient region. Range [0, 1]. + */ + confidence?: number; + /** + * Fraction of importance of this salient region with respect to the + * original image. + */ + importanceFraction?: number; + } + /** + * Set of crop hints that are used to generate new crops when serving images. + */ + interface Schema$GoogleCloudVisionV1p3beta1CropHintsAnnotation { + /** + * Crop hint results. + */ + cropHints?: Schema$GoogleCloudVisionV1p3beta1CropHint[]; + } + /** + * Set of dominant colors and their corresponding scores. + */ + interface Schema$GoogleCloudVisionV1p3beta1DominantColorsAnnotation { + /** + * RGB color values with their score and pixel fraction. + */ + colors?: Schema$GoogleCloudVisionV1p3beta1ColorInfo[]; + } + /** + * Set of detected entity features. + */ + interface Schema$GoogleCloudVisionV1p3beta1EntityAnnotation { + /** + * Image region to which this entity belongs. Not produced for + * `LABEL_DETECTION` features. + */ + boundingPoly?: Schema$GoogleCloudVisionV1p3beta1BoundingPoly; + /** + * **Deprecated. Use `score` instead.** The accuracy of the entity detection + * in an image. For example, for an image in which the "Eiffel + * Tower" entity is detected, this field represents the confidence that + * there is a tower in the query image. Range [0, 1]. + */ + confidence?: number; + /** + * Entity textual description, expressed in its `locale` language. + */ + description?: string; + /** + * The language code for the locale in which the entity textual + * `description` is expressed. + */ + locale?: string; + /** + * The location information for the detected entity. Multiple `LocationInfo` + * elements can be present because one location may indicate the location of + * the scene in the image, and another location may indicate the location of + * the place where the image was taken. Location information is usually + * present for landmarks. + */ + locations?: Schema$GoogleCloudVisionV1p3beta1LocationInfo[]; + /** + * Opaque entity ID. Some IDs may be available in [Google Knowledge Graph + * Search API](https://developers.google.com/knowledge-graph/). + */ + mid?: string; + /** + * Some entities may have optional user-supplied `Property` (name/value) + * fields, such a score or string that qualifies the entity. + */ + properties?: Schema$GoogleCloudVisionV1p3beta1Property[]; + /** + * Overall score of the result. Range [0, 1]. + */ + score?: number; + /** + * The relevancy of the ICA (Image Content Annotation) label to the image. + * For example, the relevancy of "tower" is likely higher to an + * image containing the detected "Eiffel Tower" than to an image + * containing a detected distant towering building, even though the + * confidence that there is a tower in each image may be the same. Range [0, + * 1]. + */ + topicality?: number; + } + /** + * A face annotation object contains the results of face detection. + */ + interface Schema$GoogleCloudVisionV1p3beta1FaceAnnotation { + /** + * Anger likelihood. + */ + angerLikelihood?: string; + /** + * Blurred likelihood. + */ + blurredLikelihood?: string; + /** + * The bounding polygon around the face. The coordinates of the bounding box + * are in the original image's scale, as returned in `ImageParams`. The + * bounding box is computed to "frame" the face in accordance with + * human expectations. It is based on the landmarker results. Note that one + * or more x and/or y coordinates may not be generated in the `BoundingPoly` + * (the polygon will be unbounded) if only a partial face appears in the + * image to be annotated. + */ + boundingPoly?: Schema$GoogleCloudVisionV1p3beta1BoundingPoly; + /** + * Detection confidence. Range [0, 1]. + */ + detectionConfidence?: number; + /** + * The `fd_bounding_poly` bounding polygon is tighter than the + * `boundingPoly`, and encloses only the skin part of the face. Typically, + * it is used to eliminate the face from any image analysis that detects the + * "amount of skin" visible in an image. It is not based on the + * landmarker results, only on the initial face detection, hence the + * <code>fd</code> (face detection) prefix. + */ + fdBoundingPoly?: Schema$GoogleCloudVisionV1p3beta1BoundingPoly; + /** + * Headwear likelihood. + */ + headwearLikelihood?: string; + /** + * Joy likelihood. + */ + joyLikelihood?: string; + /** + * Face landmarking confidence. Range [0, 1]. + */ + landmarkingConfidence?: number; + /** + * Detected face landmarks. + */ + landmarks?: Schema$GoogleCloudVisionV1p3beta1FaceAnnotationLandmark[]; + /** + * Yaw angle, which indicates the leftward/rightward angle that the face is + * pointing relative to the vertical plane perpendicular to the image. Range + * [-180,180]. + */ + panAngle?: number; + /** + * Roll angle, which indicates the amount of clockwise/anti-clockwise + * rotation of the face relative to the image vertical about the axis + * perpendicular to the face. Range [-180,180]. + */ + rollAngle?: number; + /** + * Sorrow likelihood. + */ + sorrowLikelihood?: string; + /** + * Surprise likelihood. + */ + surpriseLikelihood?: string; + /** + * Pitch angle, which indicates the upwards/downwards angle that the face is + * pointing relative to the image's horizontal plane. Range [-180,180]. + */ + tiltAngle?: number; + /** + * Under-exposed likelihood. + */ + underExposedLikelihood?: string; + } + /** + * A face-specific landmark (for example, a face feature). + */ + interface Schema$GoogleCloudVisionV1p3beta1FaceAnnotationLandmark { + /** + * Face landmark position. + */ + position?: Schema$GoogleCloudVisionV1p3beta1Position; + /** + * Face landmark type. + */ + type?: string; + } + /** + * The Google Cloud Storage location where the output will be written to. + */ + interface Schema$GoogleCloudVisionV1p3beta1GcsDestination { + /** + * Google Cloud Storage URI where the results will be stored. Results will + * be in JSON format and preceded by its corresponding input URI. This field + * can either represent a single file, or a prefix for multiple outputs. + * Prefixes must end in a `/`. Examples: * File: + * gs://bucket-name/filename.json * Prefix: gs://bucket-name/prefix/here/ + * * File: gs://bucket-name/prefix/here If multiple outputs, each + * response is still AnnotateFileResponse, each of which contains some + * subset of the full list of AnnotateImageResponse. Multiple outputs can + * happen if, for example, the output JSON is too large and overflows into + * multiple sharded files. + */ + uri?: string; + } + /** + * The Google Cloud Storage location where the input will be read from. + */ + interface Schema$GoogleCloudVisionV1p3beta1GcsSource { + /** + * Google Cloud Storage URI for the input file. This must only be a Google + * Cloud Storage object. Wildcards are not currently supported. + */ + uri?: string; + } + /** + * If an image was produced from a file (e.g. a PDF), this message gives + * information about the source of that image. + */ + interface Schema$GoogleCloudVisionV1p3beta1ImageAnnotationContext { + /** + * If the file was a PDF or TIFF, this field gives the page number within + * the file used to produce the image. + */ + pageNumber?: number; + /** + * The URI of the file used to produce the image. + */ + uri?: string; + } + /** + * Stores image properties, such as dominant colors. + */ + interface Schema$GoogleCloudVisionV1p3beta1ImageProperties { + /** + * If present, dominant colors completed successfully. + */ + dominantColors?: Schema$GoogleCloudVisionV1p3beta1DominantColorsAnnotation; + } + /** + * Response message for the `ImportProductSets` method. This message is + * returned by the google.longrunning.Operations.GetOperation method in the + * returned google.longrunning.Operation.response field. + */ + interface Schema$GoogleCloudVisionV1p3beta1ImportProductSetsResponse { + /** + * The list of reference_images that are imported successfully. + */ + referenceImages?: Schema$GoogleCloudVisionV1p3beta1ReferenceImage[]; + /** + * The rpc status for each ImportProductSet request, including both + * successes and errors. The number of statuses here matches the number of + * lines in the csv file, and statuses[i] stores the success or failure + * status of processing the i-th line of the csv, starting from line 0. + */ + statuses?: Schema$Status[]; + } + /** + * The desired input location and metadata. + */ + interface Schema$GoogleCloudVisionV1p3beta1InputConfig { + /** + * The Google Cloud Storage location to read the input from. + */ + gcsSource?: Schema$GoogleCloudVisionV1p3beta1GcsSource; + /** + * The type of the file. Currently only "application/pdf" and + * "image/tiff" are supported. Wildcards are not supported. + */ + mimeType?: string; + } + /** + * Set of detected objects with bounding boxes. + */ + interface Schema$GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation { + /** + * Image region to which this object belongs. This must be populated. + */ + boundingPoly?: Schema$GoogleCloudVisionV1p3beta1BoundingPoly; + /** + * The BCP-47 language code, such as "en-US" or + * "sr-Latn". For more information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + */ + languageCode?: string; + /** + * Object ID that should align with EntityAnnotation mid. + */ + mid?: string; + /** + * Object name, expressed in its `language_code` language. + */ + name?: string; + /** + * Score of the result. Range [0, 1]. + */ + score?: number; + } + /** + * Detected entity location information. + */ + interface Schema$GoogleCloudVisionV1p3beta1LocationInfo { + /** + * lat/long location coordinates. + */ + latLng?: Schema$LatLng; + } + /** + * A vertex represents a 2D point in the image. NOTE: the normalized vertex + * coordinates are relative to the original image and range from 0 to 1. + */ + interface Schema$GoogleCloudVisionV1p3beta1NormalizedVertex { + /** + * X coordinate. + */ + x?: number; + /** + * Y coordinate. + */ + y?: number; + } + /** + * Contains metadata for the BatchAnnotateImages operation. + */ + interface Schema$GoogleCloudVisionV1p3beta1OperationMetadata { + /** + * The time when the batch request was received. + */ + createTime?: string; + /** + * Current state of the batch operation. + */ + state?: string; + /** + * The time when the operation result was last updated. + */ + updateTime?: string; + } + /** + * The desired output location and metadata. + */ + interface Schema$GoogleCloudVisionV1p3beta1OutputConfig { + /** + * The max number of response protos to put into each output JSON file on + * Google Cloud Storage. The valid range is [1, 100]. If not specified, the + * default value is 20. For example, for one pdf file with 100 pages, 100 + * response protos will be generated. If `batch_size` = 20, then 5 json + * files each containing 20 response protos will be written under the prefix + * `gcs_destination`.`uri`. Currently, batch_size only applies to + * GcsDestination, with potential future support for other output + * configurations. + */ + batchSize?: number; + /** + * The Google Cloud Storage location to write the output(s) to. + */ + gcsDestination?: Schema$GoogleCloudVisionV1p3beta1GcsDestination; + } + /** + * Detected page from OCR. + */ + interface Schema$GoogleCloudVisionV1p3beta1Page { + /** + * List of blocks of text, images etc on this page. + */ + blocks?: Schema$GoogleCloudVisionV1p3beta1Block[]; + /** + * Confidence of the OCR results on the page. Range [0, 1]. + */ + confidence?: number; + /** + * Page height. For PDFs the unit is points. For images (including TIFFs) + * the unit is pixels. + */ + height?: number; + /** + * Additional information detected on the page. + */ + property?: Schema$GoogleCloudVisionV1p3beta1TextAnnotationTextProperty; + /** + * Page width. For PDFs the unit is points. For images (including TIFFs) the + * unit is pixels. + */ + width?: number; + } + /** + * Structural unit of text representing a number of words in certain order. + */ + interface Schema$GoogleCloudVisionV1p3beta1Paragraph { + /** + * The bounding box for the paragraph. The vertices are in the order of + * top-left, top-right, bottom-right, bottom-left. When a rotation of the + * bounding box is detected the rotation is represented as around the + * top-left corner as defined when the text is read in the 'natural' + * orientation. For example: * when the text is horizontal it might look + * like: 0----1 | | 3----2 * when it's rotated 180 + * degrees around the top-left corner it becomes: 2----3 | | + * 1----0 and the vertice order will still be (0, 1, 2, 3). + */ + boundingBox?: Schema$GoogleCloudVisionV1p3beta1BoundingPoly; + /** + * Confidence of the OCR results for the paragraph. Range [0, 1]. + */ + confidence?: number; + /** + * Additional information detected for the paragraph. + */ + property?: Schema$GoogleCloudVisionV1p3beta1TextAnnotationTextProperty; + /** + * List of words in this paragraph. + */ + words?: Schema$GoogleCloudVisionV1p3beta1Word[]; + } + /** + * A 3D position in the image, used primarily for Face detection landmarks. A + * valid Position must have both x and y coordinates. The position coordinates + * are in the same scale as the original image. + */ + interface Schema$GoogleCloudVisionV1p3beta1Position { + /** + * X coordinate. + */ + x?: number; + /** + * Y coordinate. + */ + y?: number; + /** + * Z coordinate (or depth). + */ + z?: number; + } + /** + * A Product contains ReferenceImages. + */ + interface Schema$GoogleCloudVisionV1p3beta1Product { + /** + * User-provided metadata to be stored with this product. Must be at most + * 4096 characters long. + */ + description?: string; + /** + * The user-provided name for this Product. Must not be empty. Must be at + * most 4096 characters long. + */ + displayName?: string; + /** + * The resource name of the product. Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. This field + * is ignored when creating a product. + */ + name?: string; + /** + * The category for the product identified by the reference image. This + * should be either "homegoods" or "apparel". This + * field is immutable. + */ + productCategory?: string; + /** + * Key-value pairs that can be attached to a product. At query time, + * constraints can be specified based on the product_labels. Note that + * integer values can be provided as strings, e.g. "1199". Only + * strings with integer values can match a range-based restriction which is + * to be supported soon. Multiple values can be assigned to the same key. + * One product may have up to 100 product_labels. + */ + productLabels?: Schema$GoogleCloudVisionV1p3beta1ProductKeyValue[]; + } + /** + * A product label represented as a key-value pair. + */ + interface Schema$GoogleCloudVisionV1p3beta1ProductKeyValue { + /** + * The key of the label attached to the product. Cannot be empty and cannot + * exceed 128 bytes. + */ + key?: string; + /** + * The value of the label attached to the product. Cannot be empty and + * cannot exceed 128 bytes. + */ + value?: string; + } + /** + * Results for a product search request. + */ + interface Schema$GoogleCloudVisionV1p3beta1ProductSearchResults { + /** + * Timestamp of the index which provided these results. Changes made after + * this time are not reflected in the current results. + */ + indexTime?: string; + /** + * List of results, one for each product match. + */ + results?: Schema$GoogleCloudVisionV1p3beta1ProductSearchResultsResult[]; + } + /** + * Information about a product. + */ + interface Schema$GoogleCloudVisionV1p3beta1ProductSearchResultsResult { + /** + * The resource name of the image from the product that is the closest match + * to the query. + */ + image?: string; + /** + * The Product. + */ + product?: Schema$GoogleCloudVisionV1p3beta1Product; + /** + * A confidence level on the match, ranging from 0 (no confidence) to 1 + * (full confidence). + */ + score?: number; + } + /** + * A `Property` consists of a user-supplied name/value pair. + */ + interface Schema$GoogleCloudVisionV1p3beta1Property { + /** + * Name of the property. + */ + name?: string; + /** + * Value of numeric properties. + */ + uint64Value?: string; + /** + * Value of the property. + */ + value?: string; + } + /** + * A `ReferenceImage` represents a product image and its associated metadata, + * such as bounding boxes. + */ + interface Schema$GoogleCloudVisionV1p3beta1ReferenceImage { + /** + * Bounding polygons around the areas of interest in the reference image. + * Optional. If this field is empty, the system will try to detect regions + * of interest. At most 10 bounding polygons will be used. The provided + * shape is converted into a non-rotated rectangle. Once converted, the + * small edge of the rectangle must be greater than or equal to 300 pixels. + * The aspect ratio must be 1:4 or less (i.e. 1:3 is ok; 1:5 is not). + */ + boundingPolys?: Schema$GoogleCloudVisionV1p3beta1BoundingPoly[]; + /** + * The resource name of the reference image. Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`. + * This field is ignored when creating a reference image. + */ + name?: string; + /** + * The Google Cloud Storage URI of the reference image. The URI must start + * with `gs://`. Required. + */ + uri?: string; + } + /** + * Set of features pertaining to the image, computed by computer vision + * methods over safe-search verticals (for example, adult, spoof, medical, + * violence). + */ + interface Schema$GoogleCloudVisionV1p3beta1SafeSearchAnnotation { + /** + * Represents the adult content likelihood for the image. Adult content may + * contain elements such as nudity, pornographic images or cartoons, or + * sexual activities. + */ + adult?: string; + /** + * Likelihood that this is a medical image. + */ + medical?: string; + /** + * Likelihood that the request image contains racy content. Racy content may + * include (but is not limited to) skimpy or sheer clothing, strategically + * covered nudity, lewd or provocative poses, or close-ups of sensitive body + * areas. + */ + racy?: string; + /** + * Spoof likelihood. The likelihood that an modification was made to the + * image's canonical version to make it appear funny or offensive. + */ + spoof?: string; + /** + * Likelihood that this image contains violent content. + */ + violence?: string; + } + /** + * A single symbol representation. + */ + interface Schema$GoogleCloudVisionV1p3beta1Symbol { + /** + * The bounding box for the symbol. The vertices are in the order of + * top-left, top-right, bottom-right, bottom-left. When a rotation of the + * bounding box is detected the rotation is represented as around the + * top-left corner as defined when the text is read in the 'natural' + * orientation. For example: * when the text is horizontal it might look + * like: 0----1 | | 3----2 * when it's rotated 180 + * degrees around the top-left corner it becomes: 2----3 | | + * 1----0 and the vertice order will still be (0, 1, 2, 3). + */ + boundingBox?: Schema$GoogleCloudVisionV1p3beta1BoundingPoly; + /** + * Confidence of the OCR results for the symbol. Range [0, 1]. + */ + confidence?: number; + /** + * Additional information detected for the symbol. + */ + property?: Schema$GoogleCloudVisionV1p3beta1TextAnnotationTextProperty; + /** + * The actual UTF-8 representation of the symbol. + */ + text?: string; + } + /** + * TextAnnotation contains a structured representation of OCR extracted text. + * The hierarchy of an OCR extracted text structure is like this: + * TextAnnotation -> Page -> Block -> Paragraph -> Word -> + * Symbol Each structural component, starting from Page, may further have + * their own properties. Properties describe detected languages, breaks etc.. + * Please refer to the TextAnnotation.TextProperty message definition below + * for more detail. + */ + interface Schema$GoogleCloudVisionV1p3beta1TextAnnotation { + /** + * List of pages detected by OCR. + */ + pages?: Schema$GoogleCloudVisionV1p3beta1Page[]; + /** + * UTF-8 text detected on the pages. + */ + text?: string; + } + /** + * Detected start or end of a structural component. + */ + interface Schema$GoogleCloudVisionV1p3beta1TextAnnotationDetectedBreak { + /** + * True if break prepends the element. + */ + isPrefix?: boolean; + /** + * Detected break type. + */ + type?: string; + } + /** + * Detected language for a structural component. + */ + interface Schema$GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage { + /** + * Confidence of detected language. Range [0, 1]. + */ + confidence?: number; + /** + * The BCP-47 language code, such as "en-US" or + * "sr-Latn". For more information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + */ + languageCode?: string; + } + /** + * Additional information detected on the structural component. + */ + interface Schema$GoogleCloudVisionV1p3beta1TextAnnotationTextProperty { + /** + * Detected start or end of a text segment. + */ + detectedBreak?: Schema$GoogleCloudVisionV1p3beta1TextAnnotationDetectedBreak; + /** + * A list of detected languages together with confidence. + */ + detectedLanguages?: Schema$GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage[]; + } + /** + * A vertex represents a 2D point in the image. NOTE: the vertex coordinates + * are in the same scale as the original image. + */ + interface Schema$GoogleCloudVisionV1p3beta1Vertex { + /** + * X coordinate. + */ + x?: number; + /** + * Y coordinate. + */ + y?: number; + } + /** + * Relevant information for the image from the Internet. + */ + interface Schema$GoogleCloudVisionV1p3beta1WebDetection { + /** + * The service's best guess as to the topic of the request image. + * Inferred from similar images on the open web. + */ + bestGuessLabels?: Schema$GoogleCloudVisionV1p3beta1WebDetectionWebLabel[]; + /** + * Fully matching images from the Internet. Can include resized copies of + * the query image. + */ + fullMatchingImages?: Schema$GoogleCloudVisionV1p3beta1WebDetectionWebImage[]; + /** + * Web pages containing the matching images from the Internet. + */ + pagesWithMatchingImages?: Schema$GoogleCloudVisionV1p3beta1WebDetectionWebPage[]; + /** + * Partial matching images from the Internet. Those images are similar + * enough to share some key-point features. For example an original image + * will likely have partial matching for its crops. + */ + partialMatchingImages?: Schema$GoogleCloudVisionV1p3beta1WebDetectionWebImage[]; + /** + * The visually similar image results. + */ + visuallySimilarImages?: Schema$GoogleCloudVisionV1p3beta1WebDetectionWebImage[]; + /** + * Deduced entities from similar images on the Internet. + */ + webEntities?: Schema$GoogleCloudVisionV1p3beta1WebDetectionWebEntity[]; + } + /** + * Entity deduced from similar images on the Internet. + */ + interface Schema$GoogleCloudVisionV1p3beta1WebDetectionWebEntity { + /** + * Canonical description of the entity, in English. + */ + description?: string; + /** + * Opaque entity ID. + */ + entityId?: string; + /** + * Overall relevancy score for the entity. Not normalized and not comparable + * across different image queries. + */ + score?: number; + } + /** + * Metadata for online images. + */ + interface Schema$GoogleCloudVisionV1p3beta1WebDetectionWebImage { + /** + * (Deprecated) Overall relevancy score for the image. + */ + score?: number; + /** + * The result image URL. + */ + url?: string; + } + /** + * Label to provide extra metadata for the web detection. + */ + interface Schema$GoogleCloudVisionV1p3beta1WebDetectionWebLabel { + /** + * Label for extra metadata. + */ + label?: string; + /** + * The BCP-47 language code for `label`, such as "en-US" or + * "sr-Latn". For more information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + */ + languageCode?: string; + } + /** + * Metadata for web pages. + */ + interface Schema$GoogleCloudVisionV1p3beta1WebDetectionWebPage { + /** + * Fully matching images on the page. Can include resized copies of the + * query image. + */ + fullMatchingImages?: Schema$GoogleCloudVisionV1p3beta1WebDetectionWebImage[]; + /** + * Title for the web page, may contain HTML markups. + */ + pageTitle?: string; + /** + * Partial matching images on the page. Those images are similar enough to + * share some key-point features. For example an original image will likely + * have partial matching for its crops. + */ + partialMatchingImages?: Schema$GoogleCloudVisionV1p3beta1WebDetectionWebImage[]; + /** + * (Deprecated) Overall relevancy score for the web page. + */ + score?: number; + /** + * The result web page URL. + */ + url?: string; + } + /** + * A word representation. + */ + interface Schema$GoogleCloudVisionV1p3beta1Word { + /** + * The bounding box for the word. The vertices are in the order of top-left, + * top-right, bottom-right, bottom-left. When a rotation of the bounding box + * is detected the rotation is represented as around the top-left corner as + * defined when the text is read in the 'natural' orientation. For + * example: * when the text is horizontal it might look like: 0----1 + * | | 3----2 * when it's rotated 180 degrees around the + * top-left corner it becomes: 2----3 | | 1----0 and the + * vertice order will still be (0, 1, 2, 3). + */ + boundingBox?: Schema$GoogleCloudVisionV1p3beta1BoundingPoly; + /** + * Confidence of the OCR results for the word. Range [0, 1]. + */ + confidence?: number; + /** + * Additional information detected for the word. + */ + property?: Schema$GoogleCloudVisionV1p3beta1TextAnnotationTextProperty; + /** + * List of symbols in the word. The order of the symbols follows the natural + * reading order. + */ + symbols?: Schema$GoogleCloudVisionV1p3beta1Symbol[]; + } + /** + * If an image was produced from a file (e.g. a PDF), this message gives + * information about the source of that image. + */ + interface Schema$ImageAnnotationContext { + /** + * If the file was a PDF or TIFF, this field gives the page number within + * the file used to produce the image. + */ + pageNumber?: number; + /** + * The URI of the file used to produce the image. + */ + uri?: string; + } + /** + * Stores image properties, such as dominant colors. + */ + interface Schema$ImageProperties { + /** + * If present, dominant colors completed successfully. + */ + dominantColors?: Schema$DominantColorsAnnotation; + } + /** + * The desired input location and metadata. + */ + interface Schema$InputConfig { + /** + * The Google Cloud Storage location to read the input from. + */ + gcsSource?: Schema$GcsSource; + /** + * The type of the file. Currently only "application/pdf" and + * "image/tiff" are supported. Wildcards are not supported. + */ + mimeType?: string; + } + /** + * A face-specific landmark (for example, a face feature). + */ + interface Schema$Landmark { + /** + * Face landmark position. + */ + position?: Schema$Position; + /** + * Face landmark type. + */ + type?: string; + } + /** + * An object representing a latitude/longitude pair. This is expressed as a + * pair of doubles representing degrees latitude and degrees longitude. Unless + * specified otherwise, this must conform to the <a + * href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84 + * standard</a>. Values must be within normalized ranges. + */ + interface Schema$LatLng { + /** + * The latitude in degrees. It must be in the range [-90.0, +90.0]. + */ + latitude?: number; + /** + * The longitude in degrees. It must be in the range [-180.0, +180.0]. + */ + longitude?: number; + } + /** + * Set of detected objects with bounding boxes. + */ + interface Schema$LocalizedObjectAnnotation { + /** + * Image region to which this object belongs. This must be populated. + */ + boundingPoly?: Schema$BoundingPoly; + /** + * The BCP-47 language code, such as "en-US" or + * "sr-Latn". For more information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + */ + languageCode?: string; + /** + * Object ID that should align with EntityAnnotation mid. + */ + mid?: string; + /** + * Object name, expressed in its `language_code` language. + */ + name?: string; + /** + * Score of the result. Range [0, 1]. + */ + score?: number; + } + /** + * Detected entity location information. + */ + interface Schema$LocationInfo { + /** + * lat/long location coordinates. + */ + latLng?: Schema$LatLng; + } + /** + * A vertex represents a 2D point in the image. NOTE: the normalized vertex + * coordinates are relative to the original image and range from 0 to 1. + */ + interface Schema$NormalizedVertex { + /** + * X coordinate. + */ + x?: number; + /** + * Y coordinate. + */ + y?: number; + } + /** + * This resource represents a long-running operation that is the result of a + * network API call. + */ + interface Schema$Operation { + /** + * If the value is `false`, it means the operation is still in progress. If + * `true`, the operation is completed, and either `error` or `response` is + * available. + */ + done?: boolean; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * Service-specific metadata associated with the operation. It typically + * contains progress information and common metadata such as create time. + * Some services might not provide such metadata. Any method that returns a + * long-running operation should document the metadata type, if any. + */ + metadata?: any; + /** + * The server-assigned name, which is only unique within the same service + * that originally returns it. If you use the default HTTP mapping, the + * `name` should have the format of `operations/some/unique/name`. + */ + name?: string; + /** + * The normal response of the operation in case of success. If the original + * method returns no data on success, such as `Delete`, the response is + * `google.protobuf.Empty`. If the original method is standard + * `Get`/`Create`/`Update`, the response should be the resource. For other + * methods, the response should have the type `XxxResponse`, where `Xxx` is + * the original method name. For example, if the original method name is + * `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: any; + } + /** + * Contains metadata for the BatchAnnotateImages operation. + */ + interface Schema$OperationMetadata { + /** + * The time when the batch request was received. + */ + createTime?: string; + /** + * Current state of the batch operation. + */ + state?: string; + /** + * The time when the operation result was last updated. + */ + updateTime?: string; + } + /** + * The desired output location and metadata. + */ + interface Schema$OutputConfig { + /** + * The max number of response protos to put into each output JSON file on + * Google Cloud Storage. The valid range is [1, 100]. If not specified, the + * default value is 20. For example, for one pdf file with 100 pages, 100 + * response protos will be generated. If `batch_size` = 20, then 5 json + * files each containing 20 response protos will be written under the prefix + * `gcs_destination`.`uri`. Currently, batch_size only applies to + * GcsDestination, with potential future support for other output + * configurations. + */ + batchSize?: number; + /** + * The Google Cloud Storage location to write the output(s) to. + */ + gcsDestination?: Schema$GcsDestination; + } + /** + * Detected page from OCR. + */ + interface Schema$Page { + /** + * List of blocks of text, images etc on this page. + */ + blocks?: Schema$Block[]; + /** + * Confidence of the OCR results on the page. Range [0, 1]. + */ + confidence?: number; + /** + * Page height. For PDFs the unit is points. For images (including TIFFs) + * the unit is pixels. + */ + height?: number; + /** + * Additional information detected on the page. + */ + property?: Schema$TextProperty; + /** + * Page width. For PDFs the unit is points. For images (including TIFFs) the + * unit is pixels. + */ + width?: number; + } + /** + * Structural unit of text representing a number of words in certain order. + */ + interface Schema$Paragraph { + /** + * The bounding box for the paragraph. The vertices are in the order of + * top-left, top-right, bottom-right, bottom-left. When a rotation of the + * bounding box is detected the rotation is represented as around the + * top-left corner as defined when the text is read in the 'natural' + * orientation. For example: * when the text is horizontal it might look + * like: 0----1 | | 3----2 * when it's rotated 180 + * degrees around the top-left corner it becomes: 2----3 | | + * 1----0 and the vertice order will still be (0, 1, 2, 3). + */ + boundingBox?: Schema$BoundingPoly; + /** + * Confidence of the OCR results for the paragraph. Range [0, 1]. + */ + confidence?: number; + /** + * Additional information detected for the paragraph. + */ + property?: Schema$TextProperty; + /** + * List of words in this paragraph. + */ + words?: Schema$Word[]; + } + /** + * A 3D position in the image, used primarily for Face detection landmarks. A + * valid Position must have both x and y coordinates. The position coordinates + * are in the same scale as the original image. + */ + interface Schema$Position { + /** + * X coordinate. + */ + x?: number; + /** + * Y coordinate. + */ + y?: number; + /** + * Z coordinate (or depth). + */ + z?: number; + } + /** + * A `Property` consists of a user-supplied name/value pair. + */ + interface Schema$Property { + /** + * Name of the property. + */ + name?: string; + /** + * Value of numeric properties. + */ + uint64Value?: string; + /** + * Value of the property. + */ + value?: string; + } + /** + * Set of features pertaining to the image, computed by computer vision + * methods over safe-search verticals (for example, adult, spoof, medical, + * violence). + */ + interface Schema$SafeSearchAnnotation { + /** + * Represents the adult content likelihood for the image. Adult content may + * contain elements such as nudity, pornographic images or cartoons, or + * sexual activities. + */ + adult?: string; + /** + * Likelihood that this is a medical image. + */ + medical?: string; + /** + * Likelihood that the request image contains racy content. Racy content may + * include (but is not limited to) skimpy or sheer clothing, strategically + * covered nudity, lewd or provocative poses, or close-ups of sensitive body + * areas. + */ + racy?: string; + /** + * Spoof likelihood. The likelihood that an modification was made to the + * image's canonical version to make it appear funny or offensive. + */ + spoof?: string; + /** + * Likelihood that this image contains violent content. + */ + violence?: string; + } + /** + * 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). The error model is designed to be: + * - Simple to use and understand for most users - Flexible enough to meet + * unexpected needs # Overview The `Status` message contains three pieces of + * data: error code, error message, and error details. The error code should + * be an enum value of google.rpc.Code, but it may accept additional error + * codes if needed. The error message should be a developer-facing English + * message that helps developers *understand* and *resolve* the error. If a + * localized user-facing error message is needed, put the localized message in + * the error details or localize it in the client. The optional error details + * may contain arbitrary information about the error. There is a predefined + * set of error detail types in the package `google.rpc` that can be used for + * common error conditions. # Language mapping The `Status` message is the + * logical representation of the error model, but it is not necessarily the + * actual wire format. When the `Status` message is exposed in different + * client libraries and different wire protocols, it can be mapped + * differently. For example, it will likely be mapped to some exceptions in + * Java, but more likely mapped to some error codes in C. # Other uses The + * error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a consistent + * developer experience across different environments. Example uses of this + * error model include: - Partial errors. If a service needs to return + * partial errors to the client, it may embed the `Status` in the normal + * response to indicate the partial errors. - Workflow errors. A typical + * workflow has multiple steps. Each step may have a `Status` message for + * error reporting. - Batch operations. If a client uses batch request and + * batch response, the `Status` message should be used directly inside + * batch response, one for each error sub-response. - Asynchronous + * operations. If an API call embeds asynchronous operation results in its + * response, the status of those operations should be represented directly + * using the `Status` message. - Logging. If some API errors are stored in + * logs, the message `Status` could be used directly after any stripping + * needed for security/privacy reasons. + */ + interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number; + /** + * A list of messages that carry the error details. There is a common set + * of message types for APIs to use. + */ + details?: any[]; + /** + * 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. + */ + message?: string; + } + /** + * A single symbol representation. + */ + interface Schema$Symbol { + /** + * The bounding box for the symbol. The vertices are in the order of + * top-left, top-right, bottom-right, bottom-left. When a rotation of the + * bounding box is detected the rotation is represented as around the + * top-left corner as defined when the text is read in the 'natural' + * orientation. For example: * when the text is horizontal it might look + * like: 0----1 | | 3----2 * when it's rotated 180 + * degrees around the top-left corner it becomes: 2----3 | | + * 1----0 and the vertice order will still be (0, 1, 2, 3). + */ + boundingBox?: Schema$BoundingPoly; + /** + * Confidence of the OCR results for the symbol. Range [0, 1]. + */ + confidence?: number; + /** + * Additional information detected for the symbol. + */ + property?: Schema$TextProperty; + /** + * The actual UTF-8 representation of the symbol. + */ + text?: string; + } + /** + * TextAnnotation contains a structured representation of OCR extracted text. + * The hierarchy of an OCR extracted text structure is like this: + * TextAnnotation -> Page -> Block -> Paragraph -> Word -> + * Symbol Each structural component, starting from Page, may further have + * their own properties. Properties describe detected languages, breaks etc.. + * Please refer to the TextAnnotation.TextProperty message definition below + * for more detail. + */ + interface Schema$TextAnnotation { + /** + * List of pages detected by OCR. + */ + pages?: Schema$Page[]; + /** + * UTF-8 text detected on the pages. + */ + text?: string; + } + /** + * Additional information detected on the structural component. + */ + interface Schema$TextProperty { + /** + * Detected start or end of a text segment. + */ + detectedBreak?: Schema$DetectedBreak; + /** + * A list of detected languages together with confidence. + */ + detectedLanguages?: Schema$DetectedLanguage[]; + } + /** + * A vertex represents a 2D point in the image. NOTE: the vertex coordinates + * are in the same scale as the original image. + */ + interface Schema$Vertex { + /** + * X coordinate. + */ + x?: number; + /** + * Y coordinate. + */ + y?: number; + } + /** + * Relevant information for the image from the Internet. + */ + interface Schema$WebDetection { + /** + * The service's best guess as to the topic of the request image. + * Inferred from similar images on the open web. + */ + bestGuessLabels?: Schema$WebLabel[]; + /** + * Fully matching images from the Internet. Can include resized copies of + * the query image. + */ + fullMatchingImages?: Schema$WebImage[]; + /** + * Web pages containing the matching images from the Internet. + */ + pagesWithMatchingImages?: Schema$WebPage[]; + /** + * Partial matching images from the Internet. Those images are similar + * enough to share some key-point features. For example an original image + * will likely have partial matching for its crops. + */ + partialMatchingImages?: Schema$WebImage[]; + /** + * The visually similar image results. + */ + visuallySimilarImages?: Schema$WebImage[]; + /** + * Deduced entities from similar images on the Internet. + */ + webEntities?: Schema$WebEntity[]; + } + /** + * Entity deduced from similar images on the Internet. + */ + interface Schema$WebEntity { + /** + * Canonical description of the entity, in English. + */ + description?: string; + /** + * Opaque entity ID. + */ + entityId?: string; + /** + * Overall relevancy score for the entity. Not normalized and not comparable + * across different image queries. + */ + score?: number; + } + /** + * Metadata for online images. + */ + interface Schema$WebImage { + /** + * (Deprecated) Overall relevancy score for the image. + */ + score?: number; + /** + * The result image URL. + */ + url?: string; + } + /** + * Label to provide extra metadata for the web detection. + */ + interface Schema$WebLabel { + /** + * Label for extra metadata. + */ + label?: string; + /** + * The BCP-47 language code for `label`, such as "en-US" or + * "sr-Latn". For more information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + */ + languageCode?: string; + } + /** + * Metadata for web pages. + */ + interface Schema$WebPage { + /** + * Fully matching images on the page. Can include resized copies of the + * query image. + */ + fullMatchingImages?: Schema$WebImage[]; + /** + * Title for the web page, may contain HTML markups. + */ + pageTitle?: string; + /** + * Partial matching images on the page. Those images are similar enough to + * share some key-point features. For example an original image will likely + * have partial matching for its crops. + */ + partialMatchingImages?: Schema$WebImage[]; + /** + * (Deprecated) Overall relevancy score for the web page. + */ + score?: number; + /** + * The result web page URL. + */ + url?: string; + } + /** + * A word representation. + */ + interface Schema$Word { + /** + * The bounding box for the word. The vertices are in the order of top-left, + * top-right, bottom-right, bottom-left. When a rotation of the bounding box + * is detected the rotation is represented as around the top-left corner as + * defined when the text is read in the 'natural' orientation. For + * example: * when the text is horizontal it might look like: 0----1 + * | | 3----2 * when it's rotated 180 degrees around the + * top-left corner it becomes: 2----3 | | 1----0 and the + * vertice order will still be (0, 1, 2, 3). + */ + boundingBox?: Schema$BoundingPoly; + /** + * Confidence of the OCR results for the word. Range [0, 1]. + */ + confidence?: number; + /** + * Additional information detected for the word. + */ + property?: Schema$TextProperty; + /** + * List of symbols in the word. The order of the symbols follows the natural + * reading order. + */ + symbols?: Schema$Symbol[]; + } + class Resource$Files { + root: Vision; + constructor(root: Vision); + getRoot(): Vision; + /** + * vision.files.asyncBatchAnnotate + * @desc Run asynchronous image detection and annotation for a list of + * generic files, such as PDF files, which may contain multiple pages and + * multiple images per page. Progress and results can be retrieved through + * the `google.longrunning.Operations` interface. `Operation.metadata` + * contains `OperationMetadata` (metadata). `Operation.response` contains + * `AsyncBatchAnnotateFilesResponse` (results). + * @alias vision.files.asyncBatchAnnotate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesRequest} 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 + */ + asyncBatchAnnotate(params?: Params$Resource$Files$Asyncbatchannotate, options?: MethodOptions): AxiosPromise; + asyncBatchAnnotate(params: Params$Resource$Files$Asyncbatchannotate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + asyncBatchAnnotate(params: Params$Resource$Files$Asyncbatchannotate, callback: BodyResponseCallback): void; + asyncBatchAnnotate(callback: BodyResponseCallback): void; + } + interface Params$Resource$Files$Asyncbatchannotate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesRequest; + } + class Resource$Images { + root: Vision; + constructor(root: Vision); + getRoot(): Vision; + /** + * vision.images.annotate + * @desc Run image detection and annotation for a batch of images. + * @alias vision.images.annotate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {().GoogleCloudVisionV1p2beta1BatchAnnotateImagesRequest} 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 + */ + annotate(params?: Params$Resource$Images$Annotate, options?: MethodOptions): AxiosPromise; + annotate(params: Params$Resource$Images$Annotate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + annotate(params: Params$Resource$Images$Annotate, callback: BodyResponseCallback): void; + annotate(callback: BodyResponseCallback): void; + } + interface Params$Resource$Images$Annotate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudVisionV1p2beta1BatchAnnotateImagesRequest; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/vision/v1p2beta1.js b/express-server/node_modules/googleapis/build/src/apis/vision/v1p2beta1.js new file mode 100644 index 00000000..9300d7b7 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/vision/v1p2beta1.js @@ -0,0 +1,140 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var vision_v1p2beta1; +(function (vision_v1p2beta1) { + /** + * Cloud Vision API + * + * Integrates Google Vision features, including image labeling, face, logo, + * and landmark detection, optical character recognition (OCR), and detection + * of explicit content, into applications. + * + * @example + * const {google} = require('googleapis'); + * const vision = google.vision('v1p2beta1'); + * + * @namespace vision + * @type {Function} + * @version v1p2beta1 + * @variation v1p2beta1 + * @param {object=} options Options for Vision + */ + class Vision { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.files = new Resource$Files(this); + this.images = new Resource$Images(this); + } + getRoot() { + return this.root; + } + } + vision_v1p2beta1.Vision = Vision; + class Resource$Files { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + asyncBatchAnnotate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://vision.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1p2beta1/files:asyncBatchAnnotate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + vision_v1p2beta1.Resource$Files = Resource$Files; + class Resource$Images { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + annotate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://vision.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1p2beta1/images:annotate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + vision_v1p2beta1.Resource$Images = Resource$Images; +})(vision_v1p2beta1 = exports.vision_v1p2beta1 || (exports.vision_v1p2beta1 = {})); +//# sourceMappingURL=v1p2beta1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/vision/v1p2beta1.js.map b/express-server/node_modules/googleapis/build/src/apis/vision/v1p2beta1.js.map new file mode 100644 index 00000000..5f664cf2 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/vision/v1p2beta1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1p2beta1.js","sourceRoot":"","sources":["../../../../src/apis/vision/v1p2beta1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/webfonts/README.md b/express-server/node_modules/googleapis/build/src/apis/webfonts/README.md new file mode 100644 index 00000000..e86d38cf --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/webfonts/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/webfonts + +> Accesses the metadata for all families served by Google Fonts, providing a list of families currently available (including available styles and a list of supported script subsets). + +## Installation + +```sh +$ npm install @google/webfonts +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/webfonts/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/webfonts/index.d.ts new file mode 100644 index 00000000..033ef2d0 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/webfonts/index.d.ts @@ -0,0 +1,6 @@ +import { webfonts_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof webfonts_v1.Webfonts; +}; +export declare function webfonts(version: 'v1'): webfonts_v1.Webfonts; +export declare function webfonts(options: webfonts_v1.Options): webfonts_v1.Webfonts; diff --git a/express-server/node_modules/googleapis/build/src/apis/webfonts/index.js b/express-server/node_modules/googleapis/build/src/apis/webfonts/index.js new file mode 100644 index 00000000..6830175b --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/webfonts/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.webfonts_v1.Webfonts, +}; +function webfonts(versionOrOptions) { + return googleapis_common_1.getAPI('webfonts', versionOrOptions, exports.VERSIONS, this); +} +exports.webfonts = webfonts; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/webfonts/index.js.map b/express-server/node_modules/googleapis/build/src/apis/webfonts/index.js.map new file mode 100644 index 00000000..2d3cb1c0 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/webfonts/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/webfonts/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAiC;AAEpB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,gBAAW,CAAC,QAAQ;CAC3B,CAAC;AAIF,SAAgB,QAAQ,CACM,gBAA0C;IACtE,OAAO,0BAAM,CAAI,UAAU,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACjE,CAAC;AAHD,4BAGC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/webfonts/package.json b/express-server/node_modules/googleapis/build/src/apis/webfonts/package.json new file mode 100644 index 00000000..e689627b --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/webfonts/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/webfonts", + "version": "0.1.0", + "description": "webfonts", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/webfonts/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/webfonts/v1.d.ts new file mode 100644 index 00000000..d41734ae --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/webfonts/v1.d.ts @@ -0,0 +1,126 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace webfonts_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * Google Fonts Developer API + * + * Accesses the metadata for all families served by Google Fonts, providing a + * list of families currently available (including available styles and a list + * of supported script subsets). + * + * @example + * const {google} = require('googleapis'); + * const webfonts = google.webfonts('v1'); + * + * @namespace webfonts + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Webfonts + */ + class Webfonts { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + webfonts: Resource$Webfonts; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + interface Schema$Webfont { + /** + * The category of the font. + */ + category?: string; + /** + * The name of the font. + */ + family?: string; + /** + * The font files (with all supported scripts) for each one of the available + * variants, as a key : value map. + */ + files?: any; + /** + * This kind represents a webfont object in the webfonts service. + */ + kind?: string; + /** + * The date (format "yyyy-MM-dd") the font was modified for the + * last time. + */ + lastModified?: string; + /** + * The scripts supported by the font. + */ + subsets?: string[]; + /** + * The available variants for the font. + */ + variants?: string[]; + /** + * The font version. + */ + version?: string; + } + interface Schema$WebfontList { + /** + * The list of fonts currently served by the Google Fonts API. + */ + items?: Schema$Webfont[]; + /** + * This kind represents a list of webfont objects in the webfonts service. + */ + kind?: string; + } + class Resource$Webfonts { + root: Webfonts; + constructor(root: Webfonts); + getRoot(): Webfonts; + /** + * webfonts.webfonts.list + * @desc Retrieves the list of fonts currently served by the Google Fonts + * Developer API + * @alias webfonts.webfonts.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {string=} params.sort Enables sorting of the list + * @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?: Params$Resource$Webfonts$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Webfonts$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Webfonts$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Webfonts$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Enables sorting of the list + */ + sort?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/webfonts/v1.js b/express-server/node_modules/googleapis/build/src/apis/webfonts/v1.js new file mode 100644 index 00000000..94b054b0 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/webfonts/v1.js @@ -0,0 +1,98 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var webfonts_v1; +(function (webfonts_v1) { + /** + * Google Fonts Developer API + * + * Accesses the metadata for all families served by Google Fonts, providing a + * list of families currently available (including available styles and a list + * of supported script subsets). + * + * @example + * const {google} = require('googleapis'); + * const webfonts = google.webfonts('v1'); + * + * @namespace webfonts + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Webfonts + */ + class Webfonts { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.webfonts = new Resource$Webfonts(this); + } + getRoot() { + return this.root; + } + } + webfonts_v1.Webfonts = Webfonts; + class Resource$Webfonts { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/webfonts/v1/webfonts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + webfonts_v1.Resource$Webfonts = Resource$Webfonts; +})(webfonts_v1 = exports.webfonts_v1 || (exports.webfonts_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/webfonts/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/webfonts/v1.js.map new file mode 100644 index 00000000..2cc58d67 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/webfonts/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/webfonts/v1.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAIH,yDAA2H;AAE3H,yBAAyB;AACzB,6BAA6B;AAC7B,gCAAgC;AAChC,+BAA+B;AAC/B,+BAA+B;AAE/B,IAAiB,WAAW,CAmL3B;AAnLD,WAAiB,WAAW;IAK1B;;;;;;;;;;;;;;;;OAgBG;IACH,MAAa,QAAQ;QAOnB,YAAY,OAAsB,EAAE,MAA2B;YAJ/D,SAAI,GAAG,IAAI,CAAC;YAKV,IAAI,CAAC,QAAQ,GAAG,OAAO,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAExB,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;KACF;IAlBY,oBAAQ,WAkBpB,CAAA;IAkDD,MAAa,iBAAiB;QAE5B,YAAY,IAAc;YACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA0BD,IAAI,CACA,gBACwC,EACxC,iBACwC,EACxC,QAAmD;YAErD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAkC,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmC,CAAC;gBAC7C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,uBAAuB,CAAC;yBAC9B,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,EAAE;gBAClB,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAqB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC5D;iBAAM;gBACL,OAAO,oCAAgB,CAAqB,UAAU,CAAC,CAAC;aACzD;QACH,CAAC;KACF;IA5EY,6BAAiB,oBA4E7B,CAAA;AAaH,CAAC,EAnLgB,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAmL3B"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/webmasters/README.md b/express-server/node_modules/googleapis/build/src/apis/webmasters/README.md new file mode 100644 index 00000000..65b7c41f --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/webmasters/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/webmasters + +> View Google Search Console data for your verified sites. + +## Installation + +```sh +$ npm install @google/webmasters +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/webmasters/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/webmasters/index.d.ts new file mode 100644 index 00000000..9b1ded46 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/webmasters/index.d.ts @@ -0,0 +1,6 @@ +import { webmasters_v3 } from './v3'; +export declare const VERSIONS: { + 'v3': typeof webmasters_v3.Webmasters; +}; +export declare function webmasters(version: 'v3'): webmasters_v3.Webmasters; +export declare function webmasters(options: webmasters_v3.Options): webmasters_v3.Webmasters; diff --git a/express-server/node_modules/googleapis/build/src/apis/webmasters/index.js b/express-server/node_modules/googleapis/build/src/apis/webmasters/index.js new file mode 100644 index 00000000..ce331054 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/webmasters/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v3_1 = require("./v3"); +exports.VERSIONS = { + 'v3': v3_1.webmasters_v3.Webmasters, +}; +function webmasters(versionOrOptions) { + return googleapis_common_1.getAPI('webmasters', versionOrOptions, exports.VERSIONS, this); +} +exports.webmasters = webmasters; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/webmasters/index.js.map b/express-server/node_modules/googleapis/build/src/apis/webmasters/index.js.map new file mode 100644 index 00000000..24b75c89 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/webmasters/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/webmasters/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAmC;AAEtB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,kBAAa,CAAC,UAAU;CAC/B,CAAC;AAKF,SAAgB,UAAU,CACI,gBAA4C;IACxE,OAAO,0BAAM,CAAI,YAAY,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACnE,CAAC;AAHD,gCAGC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/webmasters/package.json b/express-server/node_modules/googleapis/build/src/apis/webmasters/package.json new file mode 100644 index 00000000..a7b0a77f --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/webmasters/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/webmasters", + "version": "0.1.0", + "description": "webmasters", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/webmasters/v3.d.ts b/express-server/node_modules/googleapis/build/src/apis/webmasters/v3.d.ts new file mode 100644 index 00000000..f5741388 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/webmasters/v3.d.ts @@ -0,0 +1,789 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace webmasters_v3 { + interface Options extends GlobalOptions { + version: 'v3'; + } + /** + * Search Console API + * + * View Google Search Console data for your verified sites. + * + * @example + * const {google} = require('googleapis'); + * const webmasters = google.webmasters('v3'); + * + * @namespace webmasters + * @type {Function} + * @version v3 + * @variation v3 + * @param {object=} options Options for Webmasters + */ + class Webmasters { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + searchanalytics: Resource$Searchanalytics; + sitemaps: Resource$Sitemaps; + sites: Resource$Sites; + urlcrawlerrorscounts: Resource$Urlcrawlerrorscounts; + urlcrawlerrorssamples: Resource$Urlcrawlerrorssamples; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + interface Schema$ApiDataRow { + clicks?: number; + ctr?: number; + impressions?: number; + keys?: string[]; + position?: number; + } + interface Schema$ApiDimensionFilter { + dimension?: string; + expression?: string; + operator?: string; + } + interface Schema$ApiDimensionFilterGroup { + filters?: Schema$ApiDimensionFilter[]; + groupType?: string; + } + interface Schema$SearchAnalyticsQueryRequest { + /** + * [Optional; Default is "auto"] How data is aggregated. If + * aggregated by property, all data for the same property is aggregated; if + * aggregated by page, all data is aggregated by canonical URI. If you + * filter or group by page, choose AUTO; otherwise you can aggregate either + * by property or by page, depending on how you want your data calculated; + * see the help documentation to learn how data is calculated differently + * by site versus by page. Note: If you group or filter by page, you cannot + * aggregate by property. If you specify any value other than AUTO, the + * aggregation type in the result will match the requested type, or if you + * request an invalid type, you will get an error. The API will never change + * your aggregation type if the requested type is invalid. + */ + aggregationType?: string; + /** + * [Optional] Zero or more filters to apply to the dimension grouping + * values; for example, 'query contains "buy"' to see only + * data where the query string contains the substring "buy" (not + * case-sensitive). You can filter by a dimension without grouping by it. + */ + dimensionFilterGroups?: Schema$ApiDimensionFilterGroup[]; + /** + * [Optional] Zero or more dimensions to group results by. Dimensions are + * the group-by values in the Search Analytics page. Dimensions are combined + * to create a unique row key for each row. Results are grouped in the order + * that you supply these dimensions. + */ + dimensions?: string[]; + /** + * [Required] End date of the requested date range, in YYYY-MM-DD format, in + * PST (UTC - 8:00). Must be greater than or equal to the start date. This + * value is included in the range. + */ + endDate?: string; + /** + * [Optional; Default is 1000] The maximum number of rows to return. Must be + * a number from 1 to 5,000 (inclusive). + */ + rowLimit?: number; + /** + * [Optional; Default is "web"] The search type to filter for. + */ + searchType?: string; + /** + * [Required] Start date of the requested date range, in YYYY-MM-DD format, + * in PST time (UTC - 8:00). Must be less than or equal to the end date. + * This value is included in the range. + */ + startDate?: string; + /** + * [Optional; Default is 0] Zero-based index of the first row in the + * response. Must be a non-negative number. + */ + startRow?: number; + } + /** + * A list of rows, one per result, grouped by key. Metrics in each row are + * aggregated for all data grouped by that key either by page or property, as + * specified by the aggregation type parameter. + */ + interface Schema$SearchAnalyticsQueryResponse { + /** + * How the results were aggregated. + */ + responseAggregationType?: string; + /** + * A list of rows grouped by the key values in the order given in the query. + */ + rows?: Schema$ApiDataRow[]; + } + /** + * List of sitemaps. + */ + interface Schema$SitemapsListResponse { + /** + * Contains detailed information about a specific URL submitted as a + * sitemap. + */ + sitemap?: Schema$WmxSitemap[]; + } + /** + * List of sites with access level information. + */ + interface Schema$SitesListResponse { + /** + * Contains permission level information about a Search Console site. For + * more information, see Permissions in Search Console. + */ + siteEntry?: Schema$WmxSite[]; + } + /** + * An entry in a URL crawl errors time series. + */ + interface Schema$UrlCrawlErrorCount { + /** + * The error count at the given timestamp. + */ + count?: string; + /** + * The date and time when the crawl attempt took place, in RFC 3339 format. + */ + timestamp?: string; + } + /** + * Number of errors per day for a specific error type (defined by platform and + * category). + */ + interface Schema$UrlCrawlErrorCountsPerType { + /** + * The crawl error type. + */ + category?: string; + /** + * The error count entries time series. + */ + entries?: Schema$UrlCrawlErrorCount[]; + /** + * The general type of Googlebot that made the request (see list of + * Googlebot user-agents for the user-agents used). + */ + platform?: string; + } + /** + * A time series of the number of URL crawl errors per error category and + * platform. + */ + interface Schema$UrlCrawlErrorsCountsQueryResponse { + /** + * The time series of the number of URL crawl errors per error category and + * platform. + */ + countPerTypes?: Schema$UrlCrawlErrorCountsPerType[]; + } + /** + * Contains information about specific crawl errors. + */ + interface Schema$UrlCrawlErrorsSample { + /** + * The time the error was first detected, in RFC 3339 format. + */ + first_detected?: string; + /** + * The time when the URL was last crawled, in RFC 3339 format. + */ + last_crawled?: string; + /** + * The URL of an error, relative to the site. + */ + pageUrl?: string; + /** + * The HTTP response code, if any. + */ + responseCode?: number; + /** + * Additional details about the URL, set only when calling get(). + */ + urlDetails?: Schema$UrlSampleDetails; + } + /** + * List of crawl error samples. + */ + interface Schema$UrlCrawlErrorsSamplesListResponse { + /** + * Information about the sample URL and its crawl error. + */ + urlCrawlErrorSample?: Schema$UrlCrawlErrorsSample[]; + } + /** + * Additional details about the URL, set only when calling get(). + */ + interface Schema$UrlSampleDetails { + /** + * List of sitemaps pointing at this URL. + */ + containingSitemaps?: string[]; + /** + * A sample set of URLs linking to this URL. + */ + linkedFromUrls?: string[]; + } + /** + * Contains permission level information about a Search Console site. For more + * information, see Permissions in Search Console. + */ + interface Schema$WmxSite { + /** + * The user's permission level for the site. + */ + permissionLevel?: string; + /** + * The URL of the site. + */ + siteUrl?: string; + } + /** + * Contains detailed information about a specific URL submitted as a sitemap. + */ + interface Schema$WmxSitemap { + /** + * The various content types in the sitemap. + */ + contents?: Schema$WmxSitemapContent[]; + /** + * Number of errors in the sitemap. These are issues with the sitemap itself + * that need to be fixed before it can be processed correctly. + */ + errors?: string; + /** + * If true, the sitemap has not been processed. + */ + isPending?: boolean; + /** + * If true, the sitemap is a collection of sitemaps. + */ + isSitemapsIndex?: boolean; + /** + * Date & time in which this sitemap was last downloaded. Date format is + * in RFC 3339 format (yyyy-mm-dd). + */ + lastDownloaded?: string; + /** + * Date & time in which this sitemap was submitted. Date format is in + * RFC 3339 format (yyyy-mm-dd). + */ + lastSubmitted?: string; + /** + * The url of the sitemap. + */ + path?: string; + /** + * The type of the sitemap. For example: rssFeed. + */ + type?: string; + /** + * Number of warnings for the sitemap. These are generally non-critical + * issues with URLs in the sitemaps. + */ + warnings?: string; + } + /** + * Information about the various content types in the sitemap. + */ + interface Schema$WmxSitemapContent { + /** + * The number of URLs from the sitemap that were indexed (of the content + * type). + */ + indexed?: string; + /** + * The number of URLs in the sitemap (of the content type). + */ + submitted?: string; + /** + * The specific type of content in this sitemap. For example: web. + */ + type?: string; + } + class Resource$Searchanalytics { + root: Webmasters; + constructor(root: Webmasters); + getRoot(): Webmasters; + /** + * webmasters.searchanalytics.query + * @desc Query your data with filters and parameters that you define. + * Returns zero or more rows grouped by the row keys that you define. You + * must define a date range of one or more days. When date is one of the + * group by values, any days without data are omitted from the result list. + * If you need to know which days have data, issue a broad date range query + * grouped by date for any metric, and see which day rows are returned. + * @alias webmasters.searchanalytics.query + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.siteUrl The site's URL, including protocol. For example: http://www.example.com/ + * @param {().SearchAnalyticsQueryRequest} 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 + */ + query(params?: Params$Resource$Searchanalytics$Query, options?: MethodOptions): AxiosPromise; + query(params: Params$Resource$Searchanalytics$Query, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + query(params: Params$Resource$Searchanalytics$Query, callback: BodyResponseCallback): void; + query(callback: BodyResponseCallback): void; + } + interface Params$Resource$Searchanalytics$Query { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The site's URL, including protocol. For example: http://www.example.com/ + */ + siteUrl?: string; + /** + * Request body metadata + */ + requestBody?: Schema$SearchAnalyticsQueryRequest; + } + class Resource$Sitemaps { + root: Webmasters; + constructor(root: Webmasters); + getRoot(): Webmasters; + /** + * webmasters.sitemaps.delete + * @desc Deletes a sitemap from this site. + * @alias webmasters.sitemaps.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.feedpath The URL of the actual sitemap. For example: http://www.example.com/sitemap.xml + * @param {string} params.siteUrl The site's URL, including protocol. For example: http://www.example.com/ + * @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?: Params$Resource$Sitemaps$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Sitemaps$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Sitemaps$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * webmasters.sitemaps.get + * @desc Retrieves information about a specific sitemap. + * @alias webmasters.sitemaps.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.feedpath The URL of the actual sitemap. For example: http://www.example.com/sitemap.xml + * @param {string} params.siteUrl The site's URL, including protocol. For example: http://www.example.com/ + * @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?: Params$Resource$Sitemaps$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Sitemaps$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Sitemaps$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * webmasters.sitemaps.list + * @desc Lists the sitemaps-entries submitted for this site, or included in + * the sitemap index file (if sitemapIndex is specified in the request). + * @alias webmasters.sitemaps.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.sitemapIndex A URL of a site's sitemap index. For example: http://www.example.com/sitemapindex.xml + * @param {string} params.siteUrl The site's URL, including protocol. For example: http://www.example.com/ + * @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?: Params$Resource$Sitemaps$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Sitemaps$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Sitemaps$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * webmasters.sitemaps.submit + * @desc Submits a sitemap for a site. + * @alias webmasters.sitemaps.submit + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.feedpath The URL of the sitemap to add. For example: http://www.example.com/sitemap.xml + * @param {string} params.siteUrl The site's URL, including protocol. For example: http://www.example.com/ + * @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 + */ + submit(params?: Params$Resource$Sitemaps$Submit, options?: MethodOptions): AxiosPromise; + submit(params: Params$Resource$Sitemaps$Submit, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + submit(params: Params$Resource$Sitemaps$Submit, callback: BodyResponseCallback): void; + submit(callback: BodyResponseCallback): void; + } + interface Params$Resource$Sitemaps$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The URL of the actual sitemap. For example: + * http://www.example.com/sitemap.xml + */ + feedpath?: string; + /** + * The site's URL, including protocol. For example: http://www.example.com/ + */ + siteUrl?: string; + } + interface Params$Resource$Sitemaps$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The URL of the actual sitemap. For example: + * http://www.example.com/sitemap.xml + */ + feedpath?: string; + /** + * The site's URL, including protocol. For example: http://www.example.com/ + */ + siteUrl?: string; + } + interface Params$Resource$Sitemaps$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * A URL of a site's sitemap index. For example: + * http://www.example.com/sitemapindex.xml + */ + sitemapIndex?: string; + /** + * The site's URL, including protocol. For example: http://www.example.com/ + */ + siteUrl?: string; + } + interface Params$Resource$Sitemaps$Submit { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The URL of the sitemap to add. For example: + * http://www.example.com/sitemap.xml + */ + feedpath?: string; + /** + * The site's URL, including protocol. For example: http://www.example.com/ + */ + siteUrl?: string; + } + class Resource$Sites { + root: Webmasters; + constructor(root: Webmasters); + getRoot(): Webmasters; + /** + * webmasters.sites.add + * @desc Adds a site to the set of the user's sites in Search Console. + * @alias webmasters.sites.add + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.siteUrl The URL of the site to add. + * @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 + */ + add(params?: Params$Resource$Sites$Add, options?: MethodOptions): AxiosPromise; + add(params: Params$Resource$Sites$Add, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + add(params: Params$Resource$Sites$Add, callback: BodyResponseCallback): void; + add(callback: BodyResponseCallback): void; + /** + * webmasters.sites.delete + * @desc Removes a site from the set of the user's Search Console sites. + * @alias webmasters.sites.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.siteUrl The URI of the property as defined in Search Console. Examples: http://www.example.com/ or android-app://com.example/ Note: for property-sets, use the URI that starts with sc-set: which is used in Search Console URLs. + * @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?: Params$Resource$Sites$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Sites$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Sites$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * webmasters.sites.get + * @desc Retrieves information about specific site. + * @alias webmasters.sites.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.siteUrl The URI of the property as defined in Search Console. Examples: http://www.example.com/ or android-app://com.example/ Note: for property-sets, use the URI that starts with sc-set: which is used in Search Console URLs. + * @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?: Params$Resource$Sites$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Sites$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Sites$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * webmasters.sites.list + * @desc Lists the user's Search Console sites. + * @alias webmasters.sites.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @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?: Params$Resource$Sites$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Sites$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Sites$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Sites$Add { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The URL of the site to add. + */ + siteUrl?: string; + } + interface Params$Resource$Sites$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The URI of the property as defined in Search Console. Examples: + * http://www.example.com/ or android-app://com.example/ Note: for + * property-sets, use the URI that starts with sc-set: which is used in + * Search Console URLs. + */ + siteUrl?: string; + } + interface Params$Resource$Sites$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The URI of the property as defined in Search Console. Examples: + * http://www.example.com/ or android-app://com.example/ Note: for + * property-sets, use the URI that starts with sc-set: which is used in + * Search Console URLs. + */ + siteUrl?: string; + } + interface Params$Resource$Sites$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + } + class Resource$Urlcrawlerrorscounts { + root: Webmasters; + constructor(root: Webmasters); + getRoot(): Webmasters; + /** + * webmasters.urlcrawlerrorscounts.query + * @desc Retrieves a time series of the number of URL crawl errors per error + * category and platform. + * @alias webmasters.urlcrawlerrorscounts.query + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.category The crawl error category. For example: serverError. If not specified, returns results for all categories. + * @param {boolean=} params.latestCountsOnly If true, returns only the latest crawl error counts. + * @param {string=} params.platform The user agent type (platform) that made the request. For example: web. If not specified, returns results for all platforms. + * @param {string} params.siteUrl The site's URL, including protocol. For example: http://www.example.com/ + * @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 + */ + query(params?: Params$Resource$Urlcrawlerrorscounts$Query, options?: MethodOptions): AxiosPromise; + query(params: Params$Resource$Urlcrawlerrorscounts$Query, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + query(params: Params$Resource$Urlcrawlerrorscounts$Query, callback: BodyResponseCallback): void; + query(callback: BodyResponseCallback): void; + } + interface Params$Resource$Urlcrawlerrorscounts$Query { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The crawl error category. For example: serverError. If not specified, + * returns results for all categories. + */ + category?: string; + /** + * If true, returns only the latest crawl error counts. + */ + latestCountsOnly?: boolean; + /** + * The user agent type (platform) that made the request. For example: web. + * If not specified, returns results for all platforms. + */ + platform?: string; + /** + * The site's URL, including protocol. For example: http://www.example.com/ + */ + siteUrl?: string; + } + class Resource$Urlcrawlerrorssamples { + root: Webmasters; + constructor(root: Webmasters); + getRoot(): Webmasters; + /** + * webmasters.urlcrawlerrorssamples.get + * @desc Retrieves details about crawl errors for a site's sample URL. + * @alias webmasters.urlcrawlerrorssamples.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.category The crawl error category. For example: authPermissions + * @param {string} params.platform The user agent type (platform) that made the request. For example: web + * @param {string} params.siteUrl The site's URL, including protocol. For example: http://www.example.com/ + * @param {string} params.url The relative path (without the site) of the sample URL. It must be one of the URLs returned by list(). For example, for the URL https://www.example.com/pagename on the site https://www.example.com/, the url value is pagename + * @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?: Params$Resource$Urlcrawlerrorssamples$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Urlcrawlerrorssamples$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Urlcrawlerrorssamples$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * webmasters.urlcrawlerrorssamples.list + * @desc Lists a site's sample URLs for the specified crawl error category + * and platform. + * @alias webmasters.urlcrawlerrorssamples.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.category The crawl error category. For example: authPermissions + * @param {string} params.platform The user agent type (platform) that made the request. For example: web + * @param {string} params.siteUrl The site's URL, including protocol. For example: http://www.example.com/ + * @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?: Params$Resource$Urlcrawlerrorssamples$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Urlcrawlerrorssamples$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Urlcrawlerrorssamples$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * webmasters.urlcrawlerrorssamples.markAsFixed + * @desc Marks the provided site's sample URL as fixed, and removes it from + * the samples list. + * @alias webmasters.urlcrawlerrorssamples.markAsFixed + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.category The crawl error category. For example: authPermissions + * @param {string} params.platform The user agent type (platform) that made the request. For example: web + * @param {string} params.siteUrl The site's URL, including protocol. For example: http://www.example.com/ + * @param {string} params.url The relative path (without the site) of the sample URL. It must be one of the URLs returned by list(). For example, for the URL https://www.example.com/pagename on the site https://www.example.com/, the url value is pagename + * @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 + */ + markAsFixed(params?: Params$Resource$Urlcrawlerrorssamples$Markasfixed, options?: MethodOptions): AxiosPromise; + markAsFixed(params: Params$Resource$Urlcrawlerrorssamples$Markasfixed, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + markAsFixed(params: Params$Resource$Urlcrawlerrorssamples$Markasfixed, callback: BodyResponseCallback): void; + markAsFixed(callback: BodyResponseCallback): void; + } + interface Params$Resource$Urlcrawlerrorssamples$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The crawl error category. For example: authPermissions + */ + category?: string; + /** + * The user agent type (platform) that made the request. For example: web + */ + platform?: string; + /** + * The site's URL, including protocol. For example: http://www.example.com/ + */ + siteUrl?: string; + /** + * The relative path (without the site) of the sample URL. It must be one of + * the URLs returned by list(). For example, for the URL + * https://www.example.com/pagename on the site https://www.example.com/, + * the url value is pagename + */ + url?: string; + } + interface Params$Resource$Urlcrawlerrorssamples$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The crawl error category. For example: authPermissions + */ + category?: string; + /** + * The user agent type (platform) that made the request. For example: web + */ + platform?: string; + /** + * The site's URL, including protocol. For example: http://www.example.com/ + */ + siteUrl?: string; + } + interface Params$Resource$Urlcrawlerrorssamples$Markasfixed { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The crawl error category. For example: authPermissions + */ + category?: string; + /** + * The user agent type (platform) that made the request. For example: web + */ + platform?: string; + /** + * The site's URL, including protocol. For example: http://www.example.com/ + */ + siteUrl?: string; + /** + * The relative path (without the site) of the sample URL. It must be one of + * the URLs returned by list(). For example, for the URL + * https://www.example.com/pagename on the site https://www.example.com/, + * the url value is pagename + */ + url?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/webmasters/v3.js b/express-server/node_modules/googleapis/build/src/apis/webmasters/v3.js new file mode 100644 index 00000000..76ed529a --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/webmasters/v3.js @@ -0,0 +1,520 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var webmasters_v3; +(function (webmasters_v3) { + /** + * Search Console API + * + * View Google Search Console data for your verified sites. + * + * @example + * const {google} = require('googleapis'); + * const webmasters = google.webmasters('v3'); + * + * @namespace webmasters + * @type {Function} + * @version v3 + * @variation v3 + * @param {object=} options Options for Webmasters + */ + class Webmasters { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.searchanalytics = new Resource$Searchanalytics(this); + this.sitemaps = new Resource$Sitemaps(this); + this.sites = new Resource$Sites(this); + this.urlcrawlerrorscounts = new Resource$Urlcrawlerrorscounts(this); + this.urlcrawlerrorssamples = new Resource$Urlcrawlerrorssamples(this); + } + getRoot() { + return this.root; + } + } + webmasters_v3.Webmasters = Webmasters; + class Resource$Searchanalytics { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + query(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/webmasters/v3/sites/{siteUrl}/searchAnalytics/query') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['siteUrl'], + pathParams: ['siteUrl'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + webmasters_v3.Resource$Searchanalytics = Resource$Searchanalytics; + class Resource$Sitemaps { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/webmasters/v3/sites/{siteUrl}/sitemaps/{feedpath}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['siteUrl', 'feedpath'], + pathParams: ['feedpath', 'siteUrl'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/webmasters/v3/sites/{siteUrl}/sitemaps/{feedpath}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['siteUrl', 'feedpath'], + pathParams: ['feedpath', 'siteUrl'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/webmasters/v3/sites/{siteUrl}/sitemaps') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['siteUrl'], + pathParams: ['siteUrl'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + submit(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/webmasters/v3/sites/{siteUrl}/sitemaps/{feedpath}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['siteUrl', 'feedpath'], + pathParams: ['feedpath', 'siteUrl'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + webmasters_v3.Resource$Sitemaps = Resource$Sitemaps; + class Resource$Sites { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + add(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/webmasters/v3/sites/{siteUrl}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['siteUrl'], + pathParams: ['siteUrl'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/webmasters/v3/sites/{siteUrl}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['siteUrl'], + pathParams: ['siteUrl'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/webmasters/v3/sites/{siteUrl}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['siteUrl'], + pathParams: ['siteUrl'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/webmasters/v3/sites') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + webmasters_v3.Resource$Sites = Resource$Sites; + class Resource$Urlcrawlerrorscounts { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + query(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/webmasters/v3/sites/{siteUrl}/urlCrawlErrorsCounts/query') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['siteUrl'], + pathParams: ['siteUrl'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + webmasters_v3.Resource$Urlcrawlerrorscounts = Resource$Urlcrawlerrorscounts; + class Resource$Urlcrawlerrorssamples { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/webmasters/v3/sites/{siteUrl}/urlCrawlErrorsSamples/{url}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['siteUrl', 'url', 'category', 'platform'], + pathParams: ['siteUrl', 'url'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/webmasters/v3/sites/{siteUrl}/urlCrawlErrorsSamples') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['siteUrl', 'category', 'platform'], + pathParams: ['siteUrl'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + markAsFixed(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + + '/webmasters/v3/sites/{siteUrl}/urlCrawlErrorsSamples/{url}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['siteUrl', 'url', 'category', 'platform'], + pathParams: ['siteUrl', 'url'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + webmasters_v3.Resource$Urlcrawlerrorssamples = Resource$Urlcrawlerrorssamples; +})(webmasters_v3 = exports.webmasters_v3 || (exports.webmasters_v3 = {})); +//# sourceMappingURL=v3.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/webmasters/v3.js.map b/express-server/node_modules/googleapis/build/src/apis/webmasters/v3.js.map new file mode 100644 index 00000000..ac674275 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/webmasters/v3.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v3.js","sourceRoot":"","sources":["../../../../src/apis/webmasters/v3.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/websecurityscanner/README.md b/express-server/node_modules/googleapis/build/src/apis/websecurityscanner/README.md new file mode 100644 index 00000000..28e9502a --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/websecurityscanner/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/websecurityscanner + +> Web Security Scanner API (under development). + +## Installation + +```sh +$ npm install @google/websecurityscanner +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/websecurityscanner/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/websecurityscanner/index.d.ts new file mode 100644 index 00000000..b362751d --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/websecurityscanner/index.d.ts @@ -0,0 +1,6 @@ +import { websecurityscanner_v1alpha } from './v1alpha'; +export declare const VERSIONS: { + 'v1alpha': typeof websecurityscanner_v1alpha.Websecurityscanner; +}; +export declare function websecurityscanner(version: 'v1alpha'): websecurityscanner_v1alpha.Websecurityscanner; +export declare function websecurityscanner(options: websecurityscanner_v1alpha.Options): websecurityscanner_v1alpha.Websecurityscanner; diff --git a/express-server/node_modules/googleapis/build/src/apis/websecurityscanner/index.js b/express-server/node_modules/googleapis/build/src/apis/websecurityscanner/index.js new file mode 100644 index 00000000..c517ee5b --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/websecurityscanner/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1alpha_1 = require("./v1alpha"); +exports.VERSIONS = { + 'v1alpha': v1alpha_1.websecurityscanner_v1alpha.Websecurityscanner, +}; +function websecurityscanner(versionOrOptions) { + return googleapis_common_1.getAPI('websecurityscanner', versionOrOptions, exports.VERSIONS, this); +} +exports.websecurityscanner = websecurityscanner; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/websecurityscanner/index.js.map b/express-server/node_modules/googleapis/build/src/apis/websecurityscanner/index.js.map new file mode 100644 index 00000000..2b49a2b5 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/websecurityscanner/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/websecurityscanner/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,uCAAqD;AAExC,QAAA,QAAQ,GAAG;IACtB,SAAS,EAAE,oCAA0B,CAAC,kBAAkB;CACzD,CAAC;AAMF,SACA,kBAAkB,CAEd,gBAA8D;IAChE,OAAO,0BAAM,CAAI,oBAAoB,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAC3E,CAAC;AALD,gDAKC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/websecurityscanner/package.json b/express-server/node_modules/googleapis/build/src/apis/websecurityscanner/package.json new file mode 100644 index 00000000..7e2903b1 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/websecurityscanner/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/websecurityscanner", + "version": "0.1.0", + "description": "websecurityscanner", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/websecurityscanner/v1alpha.d.ts b/express-server/node_modules/googleapis/build/src/apis/websecurityscanner/v1alpha.d.ts new file mode 100644 index 00000000..131780ec --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/websecurityscanner/v1alpha.d.ts @@ -0,0 +1,973 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace websecurityscanner_v1alpha { + interface Options extends GlobalOptions { + version: 'v1alpha'; + } + /** + * Web Security Scanner API + * + * Web Security Scanner API (under development). + * + * @example + * const {google} = require('googleapis'); + * const websecurityscanner = google.websecurityscanner('v1alpha'); + * + * @namespace websecurityscanner + * @type {Function} + * @version v1alpha + * @variation v1alpha + * @param {object=} options Options for Websecurityscanner + */ + class Websecurityscanner { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + projects: Resource$Projects; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Scan authentication configuration. + */ + interface Schema$Authentication { + /** + * Authentication using a custom account. + */ + customAccount?: Schema$CustomAccount; + /** + * Authentication using a Google account. + */ + googleAccount?: Schema$GoogleAccount; + } + /** + * A CrawledUrl resource represents a URL that was crawled during a ScanRun. + * Web Security Scanner Service crawls the web applications, following all + * links within the scope of sites, to find the URLs to test against. + */ + interface Schema$CrawledUrl { + /** + * Output only. The body of the request that was used to visit the URL. + */ + body?: string; + /** + * Output only. The http method of the request that was used to visit the + * URL, in uppercase. + */ + httpMethod?: string; + /** + * Output only. The URL that was crawled. + */ + url?: string; + } + /** + * Describes authentication configuration that uses a custom account. + */ + interface Schema$CustomAccount { + /** + * Required. The login form URL of the website. + */ + loginUrl?: string; + /** + * Input only. Required. The password of the custom account. The credential + * is stored encrypted and not returned in any response nor included in + * audit logs. + */ + password?: string; + /** + * Required. The user name of the custom account. + */ + username?: string; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * A Finding resource represents a vulnerability instance identified during a + * ScanRun. + */ + interface Schema$Finding { + /** + * Output only. The body of the request that triggered the vulnerability. + */ + body?: string; + /** + * Output only. The description of the vulnerability. + */ + description?: string; + /** + * Output only. The URL where the browser lands when the vulnerability is + * detected. + */ + finalUrl?: string; + /** + * Output only. The type of the Finding. + */ + findingType?: string; + /** + * Output only. If the vulnerability was originated from nested IFrame, the + * immediate parent IFrame is reported. + */ + frameUrl?: string; + /** + * Output only. The URL produced by the server-side fuzzer and used in the + * request that triggered the vulnerability. + */ + fuzzedUrl?: string; + /** + * Output only. The http method of the request that triggered the + * vulnerability, in uppercase. + */ + httpMethod?: string; + /** + * Output only. The resource name of the Finding. The name follows the + * format of + * 'projects/{projectId}/scanConfigs/{scanConfigId}/scanruns/{scanRunId}/findings/{findingId}'. + * The finding IDs are generated by the system. + */ + name?: string; + /** + * Output only. An addon containing information about outdated libraries. + */ + outdatedLibrary?: Schema$OutdatedLibrary; + /** + * Output only. The URL containing human-readable payload that user can + * leverage to reproduce the vulnerability. + */ + reproductionUrl?: string; + /** + * Output only. The tracking ID uniquely identifies a vulnerability instance + * across multiple ScanRuns. + */ + trackingId?: string; + /** + * Output only. An addon containing detailed information regarding any + * resource causing the vulnerability such as JavaScript sources, image, + * audio files, etc. + */ + violatingResource?: Schema$ViolatingResource; + /** + * Output only. An addon containing information about vulnerable or missing + * HTTP headers. + */ + vulnerableHeaders?: Schema$VulnerableHeaders; + /** + * Output only. An addon containing information about request parameters + * which were found to be vulnerable. + */ + vulnerableParameters?: Schema$VulnerableParameters; + /** + * Output only. An addon containing information reported for an XSS, if any. + */ + xss?: Schema$Xss; + } + /** + * A FindingTypeStats resource represents stats regarding a specific + * FindingType of Findings under a given ScanRun. + */ + interface Schema$FindingTypeStats { + /** + * Output only. The count of findings belonging to this finding type. + */ + findingCount?: number; + /** + * Output only. The finding type associated with the stats. + */ + findingType?: string; + } + /** + * Describes authentication configuration that uses a Google account. + */ + interface Schema$GoogleAccount { + /** + * Input only. Required. The password of the Google account. The credential + * is stored encrypted and not returned in any response nor included in + * audit logs. + */ + password?: string; + /** + * Required. The user name of the Google account. + */ + username?: string; + } + /** + * Describes a HTTP Header. + */ + interface Schema$Header { + /** + * Header name. + */ + name?: string; + /** + * Header value. + */ + value?: string; + } + /** + * Response for the `ListCrawledUrls` method. + */ + interface Schema$ListCrawledUrlsResponse { + /** + * The list of CrawledUrls returned. + */ + crawledUrls?: Schema$CrawledUrl[]; + /** + * Token to retrieve the next page of results, or empty if there are no more + * results in the list. + */ + nextPageToken?: string; + } + /** + * Response for the `ListFindings` method. + */ + interface Schema$ListFindingsResponse { + /** + * The list of Findings returned. + */ + findings?: Schema$Finding[]; + /** + * Token to retrieve the next page of results, or empty if there are no more + * results in the list. + */ + nextPageToken?: string; + } + /** + * Response for the `ListFindingTypeStats` method. + */ + interface Schema$ListFindingTypeStatsResponse { + /** + * The list of FindingTypeStats returned. + */ + findingTypeStats?: Schema$FindingTypeStats[]; + } + /** + * Response for the `ListScanConfigs` method. + */ + interface Schema$ListScanConfigsResponse { + /** + * Token to retrieve the next page of results, or empty if there are no more + * results in the list. + */ + nextPageToken?: string; + /** + * The list of ScanConfigs returned. + */ + scanConfigs?: Schema$ScanConfig[]; + } + /** + * Response for the `ListScanRuns` method. + */ + interface Schema$ListScanRunsResponse { + /** + * Token to retrieve the next page of results, or empty if there are no more + * results in the list. + */ + nextPageToken?: string; + /** + * The list of ScanRuns returned. + */ + scanRuns?: Schema$ScanRun[]; + } + /** + * Information reported for an outdated library. + */ + interface Schema$OutdatedLibrary { + /** + * URLs to learn more information about the vulnerabilities in the library. + */ + learnMoreUrls?: string[]; + /** + * The name of the outdated library. + */ + libraryName?: string; + /** + * The version number. + */ + version?: string; + } + /** + * A ScanConfig resource contains the configurations to launch a scan. + */ + interface Schema$ScanConfig { + /** + * The authentication configuration. If specified, service will use the + * authentication configuration during scanning. + */ + authentication?: Schema$Authentication; + /** + * The blacklist URL patterns as described in + * https://cloud.google.com/security-scanner/docs/excluded-urls + */ + blacklistPatterns?: string[]; + /** + * Required. The user provided display name of the ScanConfig. + */ + displayName?: string; + /** + * The maximum QPS during scanning. A valid value ranges from 5 to 20 + * inclusively. If the field is unspecified or its value is set 0, server + * will default to 15. Other values outside of [5, 20] range will be + * rejected with INVALID_ARGUMENT error. + */ + maxQps?: number; + /** + * The resource name of the ScanConfig. The name follows the format of + * 'projects/{projectId}/scanConfigs/{scanConfigId}'. The ScanConfig + * IDs are generated by the system. + */ + name?: string; + /** + * The schedule of the ScanConfig. + */ + schedule?: Schema$Schedule; + /** + * Required. The starting URLs from which the scanner finds site pages. + */ + startingUrls?: string[]; + /** + * Set of Cloud Platforms targeted by the scan. If empty, APP_ENGINE will be + * used as a default. + */ + targetPlatforms?: string[]; + /** + * The user agent used during scanning. + */ + userAgent?: string; + } + /** + * A ScanRun is a output-only resource representing an actual run of the scan. + */ + interface Schema$ScanRun { + /** + * Output only. The time at which the ScanRun reached termination state - + * that the ScanRun is either finished or stopped by user. + */ + endTime?: string; + /** + * Output only. The execution state of the ScanRun. + */ + executionState?: string; + /** + * Output only. Whether the scan run has found any vulnerabilities. + */ + hasVulnerabilities?: boolean; + /** + * Output only. The resource name of the ScanRun. The name follows the + * format of + * 'projects/{projectId}/scanConfigs/{scanConfigId}/scanRuns/{scanRunId}'. + * The ScanRun IDs are generated by the system. + */ + name?: string; + /** + * Output only. The percentage of total completion ranging from 0 to 100. If + * the scan is in queue, the value is 0. If the scan is running, the value + * ranges from 0 to 100. If the scan is finished, the value is 100. + */ + progressPercent?: number; + /** + * Output only. The result state of the ScanRun. This field is only + * available after the execution state reaches "FINISHED". + */ + resultState?: string; + /** + * Output only. The time at which the ScanRun started. + */ + startTime?: string; + /** + * Output only. The number of URLs crawled during this ScanRun. If the scan + * is in progress, the value represents the number of URLs crawled up to + * now. + */ + urlsCrawledCount?: string; + /** + * Output only. The number of URLs tested during this ScanRun. If the scan + * is in progress, the value represents the number of URLs tested up to now. + * The number of URLs tested is usually larger than the number URLS crawled + * because typically a crawled URL is tested with multiple test payloads. + */ + urlsTestedCount?: string; + } + /** + * Scan schedule configuration. + */ + interface Schema$Schedule { + /** + * Required. The duration of time between executions in days. + */ + intervalDurationDays?: number; + /** + * A timestamp indicates when the next run will be scheduled. The value is + * refreshed by the server after each run. If unspecified, it will default + * to current server time, which means the scan will be scheduled to start + * immediately. + */ + scheduleTime?: string; + } + /** + * Request for the `StartScanRun` method. + */ + interface Schema$StartScanRunRequest { + } + /** + * Request for the `StopScanRun` method. + */ + interface Schema$StopScanRunRequest { + } + /** + * Information regarding any resource causing the vulnerability such as + * JavaScript sources, image, audio files, etc. + */ + interface Schema$ViolatingResource { + /** + * The MIME type of this resource. + */ + contentType?: string; + /** + * URL of this violating resource. + */ + resourceUrl?: string; + } + /** + * Information about vulnerable or missing HTTP Headers. + */ + interface Schema$VulnerableHeaders { + /** + * List of vulnerable headers. + */ + headers?: Schema$Header[]; + /** + * List of missing headers. + */ + missingHeaders?: Schema$Header[]; + } + /** + * Information about vulnerable request parameters. + */ + interface Schema$VulnerableParameters { + /** + * The vulnerable parameter names. + */ + parameterNames?: string[]; + } + /** + * Information reported for an XSS. + */ + interface Schema$Xss { + /** + * An error message generated by a javascript breakage. + */ + errorMessage?: string; + /** + * Stack traces leading to the point where the XSS occurred. + */ + stackTraces?: string[]; + } + class Resource$Projects { + root: Websecurityscanner; + scanConfigs: Resource$Projects$Scanconfigs; + constructor(root: Websecurityscanner); + getRoot(): Websecurityscanner; + } + class Resource$Projects$Scanconfigs { + root: Websecurityscanner; + scanRuns: Resource$Projects$Scanconfigs$Scanruns; + constructor(root: Websecurityscanner); + getRoot(): Websecurityscanner; + /** + * websecurityscanner.projects.scanConfigs.create + * @desc Creates a new ScanConfig. + * @alias websecurityscanner.projects.scanConfigs.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The parent resource name where the scan is created, which should be a project resource name in the format 'projects/{projectId}'. + * @param {().ScanConfig} 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 + */ + create(params?: Params$Resource$Projects$Scanconfigs$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Projects$Scanconfigs$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Projects$Scanconfigs$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * websecurityscanner.projects.scanConfigs.delete + * @desc Deletes an existing ScanConfig and its child resources. + * @alias websecurityscanner.projects.scanConfigs.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The resource name of the ScanConfig to be deleted. The name follows the format of 'projects/{projectId}/scanConfigs/{scanConfigId}'. + * @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?: Params$Resource$Projects$Scanconfigs$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Projects$Scanconfigs$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Projects$Scanconfigs$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * websecurityscanner.projects.scanConfigs.get + * @desc Gets a ScanConfig. + * @alias websecurityscanner.projects.scanConfigs.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The resource name of the ScanConfig to be returned. The name follows the format of 'projects/{projectId}/scanConfigs/{scanConfigId}'. + * @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?: Params$Resource$Projects$Scanconfigs$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Scanconfigs$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Scanconfigs$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * websecurityscanner.projects.scanConfigs.list + * @desc Lists ScanConfigs under a given project. + * @alias websecurityscanner.projects.scanConfigs.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize The maximum number of ScanConfigs to return, can be limited by server. If not specified or not positive, the implementation will select a reasonable value. + * @param {string=} params.pageToken A token identifying a page of results to be returned. This should be a `next_page_token` value returned from a previous List request. If unspecified, the first page of results is returned. + * @param {string} params.parent Required. The parent resource name, which should be a project resource name in the format 'projects/{projectId}'. + * @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?: Params$Resource$Projects$Scanconfigs$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Scanconfigs$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Scanconfigs$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * websecurityscanner.projects.scanConfigs.patch + * @desc Updates a ScanConfig. This method support partial update of a + * ScanConfig. + * @alias websecurityscanner.projects.scanConfigs.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name The resource name of the ScanConfig. The name follows the format of 'projects/{projectId}/scanConfigs/{scanConfigId}'. The ScanConfig IDs are generated by the system. + * @param {string=} params.updateMask Required. The update mask applies to the resource. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask + * @param {().ScanConfig} 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 + */ + patch(params?: Params$Resource$Projects$Scanconfigs$Patch, options?: MethodOptions): AxiosPromise; + patch(params: Params$Resource$Projects$Scanconfigs$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + patch(params: Params$Resource$Projects$Scanconfigs$Patch, callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + /** + * websecurityscanner.projects.scanConfigs.start + * @desc Start a ScanRun according to the given ScanConfig. + * @alias websecurityscanner.projects.scanConfigs.start + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The resource name of the ScanConfig to be used. The name follows the format of 'projects/{projectId}/scanConfigs/{scanConfigId}'. + * @param {().StartScanRunRequest} 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 + */ + start(params?: Params$Resource$Projects$Scanconfigs$Start, options?: MethodOptions): AxiosPromise; + start(params: Params$Resource$Projects$Scanconfigs$Start, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + start(params: Params$Resource$Projects$Scanconfigs$Start, callback: BodyResponseCallback): void; + start(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Scanconfigs$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The parent resource name where the scan is created, which + * should be a project resource name in the format 'projects/{projectId}'. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ScanConfig; + } + interface Params$Resource$Projects$Scanconfigs$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of the ScanConfig to be deleted. The name + * follows the format of 'projects/{projectId}/scanConfigs/{scanConfigId}'. + */ + name?: string; + } + interface Params$Resource$Projects$Scanconfigs$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of the ScanConfig to be returned. The name + * follows the format of 'projects/{projectId}/scanConfigs/{scanConfigId}'. + */ + name?: string; + } + interface Params$Resource$Projects$Scanconfigs$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The maximum number of ScanConfigs to return, can be limited by server. If + * not specified or not positive, the implementation will select a + * reasonable value. + */ + pageSize?: number; + /** + * A token identifying a page of results to be returned. This should be a + * `next_page_token` value returned from a previous List request. If + * unspecified, the first page of results is returned. + */ + pageToken?: string; + /** + * Required. The parent resource name, which should be a project resource + * name in the format 'projects/{projectId}'. + */ + parent?: string; + } + interface Params$Resource$Projects$Scanconfigs$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The resource name of the ScanConfig. The name follows the format of + * 'projects/{projectId}/scanConfigs/{scanConfigId}'. The ScanConfig IDs are + * generated by the system. + */ + name?: string; + /** + * Required. The update mask applies to the resource. For the `FieldMask` + * definition, see + * https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask + */ + updateMask?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ScanConfig; + } + interface Params$Resource$Projects$Scanconfigs$Start { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of the ScanConfig to be used. The name + * follows the format of 'projects/{projectId}/scanConfigs/{scanConfigId}'. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$StartScanRunRequest; + } + class Resource$Projects$Scanconfigs$Scanruns { + root: Websecurityscanner; + crawledUrls: Resource$Projects$Scanconfigs$Scanruns$Crawledurls; + findings: Resource$Projects$Scanconfigs$Scanruns$Findings; + findingTypeStats: Resource$Projects$Scanconfigs$Scanruns$Findingtypestats; + constructor(root: Websecurityscanner); + getRoot(): Websecurityscanner; + /** + * websecurityscanner.projects.scanConfigs.scanRuns.get + * @desc Gets a ScanRun. + * @alias websecurityscanner.projects.scanConfigs.scanRuns.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The resource name of the ScanRun to be returned. The name follows the format of 'projects/{projectId}/scanConfigs/{scanConfigId}/scanRuns/{scanRunId}'. + * @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?: Params$Resource$Projects$Scanconfigs$Scanruns$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Scanconfigs$Scanruns$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Scanconfigs$Scanruns$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * websecurityscanner.projects.scanConfigs.scanRuns.list + * @desc Lists ScanRuns under a given ScanConfig, in descending order of + * ScanRun stop time. + * @alias websecurityscanner.projects.scanConfigs.scanRuns.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize The maximum number of ScanRuns to return, can be limited by server. If not specified or not positive, the implementation will select a reasonable value. + * @param {string=} params.pageToken A token identifying a page of results to be returned. This should be a `next_page_token` value returned from a previous List request. If unspecified, the first page of results is returned. + * @param {string} params.parent Required. The parent resource name, which should be a scan resource name in the format 'projects/{projectId}/scanConfigs/{scanConfigId}'. + * @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?: Params$Resource$Projects$Scanconfigs$Scanruns$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Scanconfigs$Scanruns$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Scanconfigs$Scanruns$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * websecurityscanner.projects.scanConfigs.scanRuns.stop + * @desc Stops a ScanRun. The stopped ScanRun is returned. + * @alias websecurityscanner.projects.scanConfigs.scanRuns.stop + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The resource name of the ScanRun to be stopped. The name follows the format of 'projects/{projectId}/scanConfigs/{scanConfigId}/scanRuns/{scanRunId}'. + * @param {().StopScanRunRequest} 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 + */ + stop(params?: Params$Resource$Projects$Scanconfigs$Scanruns$Stop, options?: MethodOptions): AxiosPromise; + stop(params: Params$Resource$Projects$Scanconfigs$Scanruns$Stop, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + stop(params: Params$Resource$Projects$Scanconfigs$Scanruns$Stop, callback: BodyResponseCallback): void; + stop(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Scanconfigs$Scanruns$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of the ScanRun to be returned. The name + * follows the format of + * 'projects/{projectId}/scanConfigs/{scanConfigId}/scanRuns/{scanRunId}'. + */ + name?: string; + } + interface Params$Resource$Projects$Scanconfigs$Scanruns$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The maximum number of ScanRuns to return, can be limited by server. If + * not specified or not positive, the implementation will select a + * reasonable value. + */ + pageSize?: number; + /** + * A token identifying a page of results to be returned. This should be a + * `next_page_token` value returned from a previous List request. If + * unspecified, the first page of results is returned. + */ + pageToken?: string; + /** + * Required. The parent resource name, which should be a scan resource name + * in the format 'projects/{projectId}/scanConfigs/{scanConfigId}'. + */ + parent?: string; + } + interface Params$Resource$Projects$Scanconfigs$Scanruns$Stop { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of the ScanRun to be stopped. The name + * follows the format of + * 'projects/{projectId}/scanConfigs/{scanConfigId}/scanRuns/{scanRunId}'. + */ + name?: string; + /** + * Request body metadata + */ + requestBody?: Schema$StopScanRunRequest; + } + class Resource$Projects$Scanconfigs$Scanruns$Crawledurls { + root: Websecurityscanner; + constructor(root: Websecurityscanner); + getRoot(): Websecurityscanner; + /** + * websecurityscanner.projects.scanConfigs.scanRuns.crawledUrls.list + * @desc List CrawledUrls under a given ScanRun. + * @alias websecurityscanner.projects.scanConfigs.scanRuns.crawledUrls.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer=} params.pageSize The maximum number of CrawledUrls to return, can be limited by server. If not specified or not positive, the implementation will select a reasonable value. + * @param {string=} params.pageToken A token identifying a page of results to be returned. This should be a `next_page_token` value returned from a previous List request. If unspecified, the first page of results is returned. + * @param {string} params.parent Required. The parent resource name, which should be a scan run resource name in the format 'projects/{projectId}/scanConfigs/{scanConfigId}/scanRuns/{scanRunId}'. + * @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?: Params$Resource$Projects$Scanconfigs$Scanruns$Crawledurls$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Scanconfigs$Scanruns$Crawledurls$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Scanconfigs$Scanruns$Crawledurls$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Scanconfigs$Scanruns$Crawledurls$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The maximum number of CrawledUrls to return, can be limited by server. If + * not specified or not positive, the implementation will select a + * reasonable value. + */ + pageSize?: number; + /** + * A token identifying a page of results to be returned. This should be a + * `next_page_token` value returned from a previous List request. If + * unspecified, the first page of results is returned. + */ + pageToken?: string; + /** + * Required. The parent resource name, which should be a scan run resource + * name in the format + * 'projects/{projectId}/scanConfigs/{scanConfigId}/scanRuns/{scanRunId}'. + */ + parent?: string; + } + class Resource$Projects$Scanconfigs$Scanruns$Findings { + root: Websecurityscanner; + constructor(root: Websecurityscanner); + getRoot(): Websecurityscanner; + /** + * websecurityscanner.projects.scanConfigs.scanRuns.findings.get + * @desc Gets a Finding. + * @alias websecurityscanner.projects.scanConfigs.scanRuns.findings.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.name Required. The resource name of the Finding to be returned. The name follows the format of 'projects/{projectId}/scanConfigs/{scanConfigId}/scanRuns/{scanRunId}/findings/{findingId}'. + * @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?: Params$Resource$Projects$Scanconfigs$Scanruns$Findings$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Projects$Scanconfigs$Scanruns$Findings$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Projects$Scanconfigs$Scanruns$Findings$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * websecurityscanner.projects.scanConfigs.scanRuns.findings.list + * @desc List Findings under a given ScanRun. + * @alias websecurityscanner.projects.scanConfigs.scanRuns.findings.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter The filter expression. The expression must be in the format: . Supported field: 'finding_type'. Supported operator: '='. + * @param {integer=} params.pageSize The maximum number of Findings to return, can be limited by server. If not specified or not positive, the implementation will select a reasonable value. + * @param {string=} params.pageToken A token identifying a page of results to be returned. This should be a `next_page_token` value returned from a previous List request. If unspecified, the first page of results is returned. + * @param {string} params.parent Required. The parent resource name, which should be a scan run resource name in the format 'projects/{projectId}/scanConfigs/{scanConfigId}/scanRuns/{scanRunId}'. + * @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?: Params$Resource$Projects$Scanconfigs$Scanruns$Findings$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Scanconfigs$Scanruns$Findings$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Scanconfigs$Scanruns$Findings$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Scanconfigs$Scanruns$Findings$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The resource name of the Finding to be returned. The name + * follows the format of + * 'projects/{projectId}/scanConfigs/{scanConfigId}/scanRuns/{scanRunId}/findings/{findingId}'. + */ + name?: string; + } + interface Params$Resource$Projects$Scanconfigs$Scanruns$Findings$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The filter expression. The expression must be in the format: + * . Supported field: 'finding_type'. Supported operator: + * '='. + */ + filter?: string; + /** + * The maximum number of Findings to return, can be limited by server. If + * not specified or not positive, the implementation will select a + * reasonable value. + */ + pageSize?: number; + /** + * A token identifying a page of results to be returned. This should be a + * `next_page_token` value returned from a previous List request. If + * unspecified, the first page of results is returned. + */ + pageToken?: string; + /** + * Required. The parent resource name, which should be a scan run resource + * name in the format + * 'projects/{projectId}/scanConfigs/{scanConfigId}/scanRuns/{scanRunId}'. + */ + parent?: string; + } + class Resource$Projects$Scanconfigs$Scanruns$Findingtypestats { + root: Websecurityscanner; + constructor(root: Websecurityscanner); + getRoot(): Websecurityscanner; + /** + * websecurityscanner.projects.scanConfigs.scanRuns.findingTypeStats.list + * @desc List all FindingTypeStats under a given ScanRun. + * @alias + * websecurityscanner.projects.scanConfigs.scanRuns.findingTypeStats.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.parent Required. The parent resource name, which should be a scan run resource name in the format 'projects/{projectId}/scanConfigs/{scanConfigId}/scanRuns/{scanRunId}'. + * @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?: Params$Resource$Projects$Scanconfigs$Scanruns$Findingtypestats$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Projects$Scanconfigs$Scanruns$Findingtypestats$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Projects$Scanconfigs$Scanruns$Findingtypestats$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Projects$Scanconfigs$Scanruns$Findingtypestats$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Required. The parent resource name, which should be a scan run resource + * name in the format + * 'projects/{projectId}/scanConfigs/{scanConfigId}/scanRuns/{scanRunId}'. + */ + parent?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/websecurityscanner/v1alpha.js b/express-server/node_modules/googleapis/build/src/apis/websecurityscanner/v1alpha.js new file mode 100644 index 00000000..95df10d9 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/websecurityscanner/v1alpha.js @@ -0,0 +1,520 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var websecurityscanner_v1alpha; +(function (websecurityscanner_v1alpha) { + /** + * Web Security Scanner API + * + * Web Security Scanner API (under development). + * + * @example + * const {google} = require('googleapis'); + * const websecurityscanner = google.websecurityscanner('v1alpha'); + * + * @namespace websecurityscanner + * @type {Function} + * @version v1alpha + * @variation v1alpha + * @param {object=} options Options for Websecurityscanner + */ + class Websecurityscanner { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.projects = new Resource$Projects(this); + } + getRoot() { + return this.root; + } + } + websecurityscanner_v1alpha.Websecurityscanner = Websecurityscanner; + class Resource$Projects { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.scanConfigs = new Resource$Projects$Scanconfigs(root); + } + getRoot() { + return this.root; + } + } + websecurityscanner_v1alpha.Resource$Projects = Resource$Projects; + class Resource$Projects$Scanconfigs { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.scanRuns = new Resource$Projects$Scanconfigs$Scanruns(root); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://websecurityscanner.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha/{+parent}/scanConfigs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://websecurityscanner.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://websecurityscanner.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://websecurityscanner.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha/{+parent}/scanConfigs') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + patch(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://websecurityscanner.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + start(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://websecurityscanner.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha/{+name}:start') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + websecurityscanner_v1alpha.Resource$Projects$Scanconfigs = Resource$Projects$Scanconfigs; + class Resource$Projects$Scanconfigs$Scanruns { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.crawledUrls = + new Resource$Projects$Scanconfigs$Scanruns$Crawledurls(root); + this.findings = new Resource$Projects$Scanconfigs$Scanruns$Findings(root); + this.findingTypeStats = + new Resource$Projects$Scanconfigs$Scanruns$Findingtypestats(root); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://websecurityscanner.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://websecurityscanner.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha/{+parent}/scanRuns') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + stop(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://websecurityscanner.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha/{+name}:stop') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + websecurityscanner_v1alpha.Resource$Projects$Scanconfigs$Scanruns = Resource$Projects$Scanconfigs$Scanruns; + class Resource$Projects$Scanconfigs$Scanruns$Crawledurls { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://websecurityscanner.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha/{+parent}/crawledUrls') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + websecurityscanner_v1alpha.Resource$Projects$Scanconfigs$Scanruns$Crawledurls = Resource$Projects$Scanconfigs$Scanruns$Crawledurls; + class Resource$Projects$Scanconfigs$Scanruns$Findings { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://websecurityscanner.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://websecurityscanner.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha/{+parent}/findings') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + websecurityscanner_v1alpha.Resource$Projects$Scanconfigs$Scanruns$Findings = Resource$Projects$Scanconfigs$Scanruns$Findings; + class Resource$Projects$Scanconfigs$Scanruns$Findingtypestats { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://websecurityscanner.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1alpha/{+parent}/findingTypeStats') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + websecurityscanner_v1alpha.Resource$Projects$Scanconfigs$Scanruns$Findingtypestats = Resource$Projects$Scanconfigs$Scanruns$Findingtypestats; +})(websecurityscanner_v1alpha = exports.websecurityscanner_v1alpha || (exports.websecurityscanner_v1alpha = {})); +//# sourceMappingURL=v1alpha.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/websecurityscanner/v1alpha.js.map b/express-server/node_modules/googleapis/build/src/apis/websecurityscanner/v1alpha.js.map new file mode 100644 index 00000000..d621d73a --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/websecurityscanner/v1alpha.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1alpha.js","sourceRoot":"","sources":["../../../../src/apis/websecurityscanner/v1alpha.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/youtube/README.md b/express-server/node_modules/googleapis/build/src/apis/youtube/README.md new file mode 100644 index 00000000..9a871297 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/youtube/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/youtube + +> Supports core YouTube features, such as uploading videos, creating and managing playlists, searching for content, and much more. + +## Installation + +```sh +$ npm install @google/youtube +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/youtube/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/youtube/index.d.ts new file mode 100644 index 00000000..30a7101a --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/youtube/index.d.ts @@ -0,0 +1,6 @@ +import { youtube_v3 } from './v3'; +export declare const VERSIONS: { + 'v3': typeof youtube_v3.Youtube; +}; +export declare function youtube(version: 'v3'): youtube_v3.Youtube; +export declare function youtube(options: youtube_v3.Options): youtube_v3.Youtube; diff --git a/express-server/node_modules/googleapis/build/src/apis/youtube/index.js b/express-server/node_modules/googleapis/build/src/apis/youtube/index.js new file mode 100644 index 00000000..2672a4c6 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/youtube/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v3_1 = require("./v3"); +exports.VERSIONS = { + 'v3': v3_1.youtube_v3.Youtube, +}; +function youtube(versionOrOptions) { + return googleapis_common_1.getAPI('youtube', versionOrOptions, exports.VERSIONS, this); +} +exports.youtube = youtube; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/youtube/index.js.map b/express-server/node_modules/googleapis/build/src/apis/youtube/index.js.map new file mode 100644 index 00000000..b7f1c2e1 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/youtube/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/youtube/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAgC;AAEnB,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,eAAU,CAAC,OAAO;CACzB,CAAC;AAIF,SAAgB,OAAO,CACO,gBAAyC;IACrE,OAAO,0BAAM,CAAI,SAAS,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AAChE,CAAC;AAHD,0BAGC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/youtube/package.json b/express-server/node_modules/googleapis/build/src/apis/youtube/package.json new file mode 100644 index 00000000..23c86d5e --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/youtube/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/youtube", + "version": "0.1.0", + "description": "youtube", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/youtube/v3.d.ts b/express-server/node_modules/googleapis/build/src/apis/youtube/v3.d.ts new file mode 100644 index 00000000..e11ba182 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/youtube/v3.d.ts @@ -0,0 +1,9404 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace youtube_v3 { + interface Options extends GlobalOptions { + version: 'v3'; + } + /** + * YouTube Data API + * + * Supports core YouTube features, such as uploading videos, creating and + * managing playlists, searching for content, and much more. + * + * @example + * const {google} = require('googleapis'); + * const youtube = google.youtube('v3'); + * + * @namespace youtube + * @type {Function} + * @version v3 + * @variation v3 + * @param {object=} options Options for Youtube + */ + class Youtube { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + activities: Resource$Activities; + captions: Resource$Captions; + channelBanners: Resource$Channelbanners; + channels: Resource$Channels; + channelSections: Resource$Channelsections; + comments: Resource$Comments; + commentThreads: Resource$Commentthreads; + guideCategories: Resource$Guidecategories; + i18nLanguages: Resource$I18nlanguages; + i18nRegions: Resource$I18nregions; + liveBroadcasts: Resource$Livebroadcasts; + liveChatBans: Resource$Livechatbans; + liveChatMessages: Resource$Livechatmessages; + liveChatModerators: Resource$Livechatmoderators; + liveStreams: Resource$Livestreams; + playlistItems: Resource$Playlistitems; + playlists: Resource$Playlists; + search: Resource$Search; + sponsors: Resource$Sponsors; + subscriptions: Resource$Subscriptions; + superChatEvents: Resource$Superchatevents; + thumbnails: Resource$Thumbnails; + videoAbuseReportReasons: Resource$Videoabusereportreasons; + videoCategories: Resource$Videocategories; + videos: Resource$Videos; + watermarks: Resource$Watermarks; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Rights management policy for YouTube resources. + */ + interface Schema$AccessPolicy { + /** + * The value of allowed indicates whether the access to the policy is + * allowed or denied by default. + */ + allowed?: boolean; + /** + * A list of region codes that identify countries where the default policy + * do not apply. + */ + exception?: string[]; + } + /** + * An activity resource contains information about an action that a particular + * channel, or user, has taken on YouTube.The actions reported in activity + * feeds include rating a video, sharing a video, marking a video as a + * favorite, commenting on a video, uploading a video, and so forth. Each + * activity resource identifies the type of action, the channel associated + * with the action, and the resource(s) associated with the action, such as + * the video that was rated or uploaded. + */ + interface Schema$Activity { + /** + * The contentDetails object contains information about the content + * associated with the activity. For example, if the snippet.type value is + * videoRated, then the contentDetails object's content identifies the + * rated video. + */ + contentDetails?: Schema$ActivityContentDetails; + /** + * Etag of this resource. + */ + etag?: string; + /** + * The ID that YouTube uses to uniquely identify the activity. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "youtube#activity". + */ + kind?: string; + /** + * The snippet object contains basic details about the activity, including + * the activity's type and group ID. + */ + snippet?: Schema$ActivitySnippet; + } + /** + * Details about the content of an activity: the video that was shared, the + * channel that was subscribed to, etc. + */ + interface Schema$ActivityContentDetails { + /** + * The bulletin object contains details about a channel bulletin post. This + * object is only present if the snippet.type is bulletin. + */ + bulletin?: Schema$ActivityContentDetailsBulletin; + /** + * The channelItem object contains details about a resource which was added + * to a channel. This property is only present if the snippet.type is + * channelItem. + */ + channelItem?: Schema$ActivityContentDetailsChannelItem; + /** + * The comment object contains information about a resource that received a + * comment. This property is only present if the snippet.type is comment. + */ + comment?: Schema$ActivityContentDetailsComment; + /** + * The favorite object contains information about a video that was marked as + * a favorite video. This property is only present if the snippet.type is + * favorite. + */ + favorite?: Schema$ActivityContentDetailsFavorite; + /** + * The like object contains information about a resource that received a + * positive (like) rating. This property is only present if the snippet.type + * is like. + */ + like?: Schema$ActivityContentDetailsLike; + /** + * The playlistItem object contains information about a new playlist item. + * This property is only present if the snippet.type is playlistItem. + */ + playlistItem?: Schema$ActivityContentDetailsPlaylistItem; + /** + * The promotedItem object contains details about a resource which is being + * promoted. This property is only present if the snippet.type is + * promotedItem. + */ + promotedItem?: Schema$ActivityContentDetailsPromotedItem; + /** + * The recommendation object contains information about a recommended + * resource. This property is only present if the snippet.type is + * recommendation. + */ + recommendation?: Schema$ActivityContentDetailsRecommendation; + /** + * The social object contains details about a social network post. This + * property is only present if the snippet.type is social. + */ + social?: Schema$ActivityContentDetailsSocial; + /** + * The subscription object contains information about a channel that a user + * subscribed to. This property is only present if the snippet.type is + * subscription. + */ + subscription?: Schema$ActivityContentDetailsSubscription; + /** + * The upload object contains information about the uploaded video. This + * property is only present if the snippet.type is upload. + */ + upload?: Schema$ActivityContentDetailsUpload; + } + /** + * Details about a channel bulletin post. + */ + interface Schema$ActivityContentDetailsBulletin { + /** + * The resourceId object contains information that identifies the resource + * associated with a bulletin post. + */ + resourceId?: Schema$ResourceId; + } + /** + * Details about a resource which was added to a channel. + */ + interface Schema$ActivityContentDetailsChannelItem { + /** + * The resourceId object contains information that identifies the resource + * that was added to the channel. + */ + resourceId?: Schema$ResourceId; + } + /** + * Information about a resource that received a comment. + */ + interface Schema$ActivityContentDetailsComment { + /** + * The resourceId object contains information that identifies the resource + * associated with the comment. + */ + resourceId?: Schema$ResourceId; + } + /** + * Information about a video that was marked as a favorite video. + */ + interface Schema$ActivityContentDetailsFavorite { + /** + * The resourceId object contains information that identifies the resource + * that was marked as a favorite. + */ + resourceId?: Schema$ResourceId; + } + /** + * Information about a resource that received a positive (like) rating. + */ + interface Schema$ActivityContentDetailsLike { + /** + * The resourceId object contains information that identifies the rated + * resource. + */ + resourceId?: Schema$ResourceId; + } + /** + * Information about a new playlist item. + */ + interface Schema$ActivityContentDetailsPlaylistItem { + /** + * The value that YouTube uses to uniquely identify the playlist. + */ + playlistId?: string; + /** + * ID of the item within the playlist. + */ + playlistItemId?: string; + /** + * The resourceId object contains information about the resource that was + * added to the playlist. + */ + resourceId?: Schema$ResourceId; + } + /** + * Details about a resource which is being promoted. + */ + interface Schema$ActivityContentDetailsPromotedItem { + /** + * The URL the client should fetch to request a promoted item. + */ + adTag?: string; + /** + * The URL the client should ping to indicate that the user clicked through + * on this promoted item. + */ + clickTrackingUrl?: string; + /** + * The URL the client should ping to indicate that the user was shown this + * promoted item. + */ + creativeViewUrl?: string; + /** + * The type of call-to-action, a message to the user indicating action that + * can be taken. + */ + ctaType?: string; + /** + * The custom call-to-action button text. If specified, it will override the + * default button text for the cta_type. + */ + customCtaButtonText?: string; + /** + * The text description to accompany the promoted item. + */ + descriptionText?: string; + /** + * The URL the client should direct the user to, if the user chooses to + * visit the advertiser's website. + */ + destinationUrl?: string; + /** + * The list of forecasting URLs. The client should ping all of these URLs + * when a promoted item is not available, to indicate that a promoted item + * could have been shown. + */ + forecastingUrl?: string[]; + /** + * The list of impression URLs. The client should ping all of these URLs to + * indicate that the user was shown this promoted item. + */ + impressionUrl?: string[]; + /** + * The ID that YouTube uses to uniquely identify the promoted video. + */ + videoId?: string; + } + /** + * Information that identifies the recommended resource. + */ + interface Schema$ActivityContentDetailsRecommendation { + /** + * The reason that the resource is recommended to the user. + */ + reason?: string; + /** + * The resourceId object contains information that identifies the + * recommended resource. + */ + resourceId?: Schema$ResourceId; + /** + * The seedResourceId object contains information about the resource that + * caused the recommendation. + */ + seedResourceId?: Schema$ResourceId; + } + /** + * Details about a social network post. + */ + interface Schema$ActivityContentDetailsSocial { + /** + * The author of the social network post. + */ + author?: string; + /** + * An image of the post's author. + */ + imageUrl?: string; + /** + * The URL of the social network post. + */ + referenceUrl?: string; + /** + * The resourceId object encapsulates information that identifies the + * resource associated with a social network post. + */ + resourceId?: Schema$ResourceId; + /** + * The name of the social network. + */ + type?: string; + } + /** + * Information about a channel that a user subscribed to. + */ + interface Schema$ActivityContentDetailsSubscription { + /** + * The resourceId object contains information that identifies the resource + * that the user subscribed to. + */ + resourceId?: Schema$ResourceId; + } + /** + * Information about the uploaded video. + */ + interface Schema$ActivityContentDetailsUpload { + /** + * The ID that YouTube uses to uniquely identify the uploaded video. + */ + videoId?: string; + } + interface Schema$ActivityListResponse { + /** + * Etag of this resource. + */ + etag?: string; + /** + * Serialized EventId of the request which produced this response. + */ + eventId?: string; + /** + * A list of activities, or events, that match the request criteria. + */ + items?: Schema$Activity[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "youtube#activityListResponse". + */ + kind?: string; + /** + * The token that can be used as the value of the pageToken parameter to + * retrieve the next page in the result set. + */ + nextPageToken?: string; + pageInfo?: Schema$PageInfo; + /** + * The token that can be used as the value of the pageToken parameter to + * retrieve the previous page in the result set. + */ + prevPageToken?: string; + tokenPagination?: Schema$TokenPagination; + /** + * The visitorId identifies the visitor. + */ + visitorId?: string; + } + /** + * Basic details about an activity, including title, description, thumbnails, + * activity type and group. + */ + interface Schema$ActivitySnippet { + /** + * The ID that YouTube uses to uniquely identify the channel associated with + * the activity. + */ + channelId?: string; + /** + * Channel title for the channel responsible for this activity + */ + channelTitle?: string; + /** + * The description of the resource primarily associated with the activity. + */ + description?: string; + /** + * The group ID associated with the activity. A group ID identifies user + * events that are associated with the same user and resource. For example, + * if a user rates a video and marks the same video as a favorite, the + * entries for those events would have the same group ID in the user's + * activity feed. In your user interface, you can avoid repetition by + * grouping events with the same groupId value. + */ + groupId?: string; + /** + * The date and time that the video was uploaded. The value is specified in + * ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. + */ + publishedAt?: string; + /** + * A map of thumbnail images associated with the resource that is primarily + * associated with the activity. For each object in the map, the key is the + * name of the thumbnail image, and the value is an object that contains + * other information about the thumbnail. + */ + thumbnails?: Schema$ThumbnailDetails; + /** + * The title of the resource primarily associated with the activity. + */ + title?: string; + /** + * The type of activity that the resource describes. + */ + type?: string; + } + /** + * A caption resource represents a YouTube caption track. A caption track is + * associated with exactly one YouTube video. + */ + interface Schema$Caption { + /** + * Etag of this resource. + */ + etag?: string; + /** + * The ID that YouTube uses to uniquely identify the caption track. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "youtube#caption". + */ + kind?: string; + /** + * The snippet object contains basic details about the caption. + */ + snippet?: Schema$CaptionSnippet; + } + interface Schema$CaptionListResponse { + /** + * Etag of this resource. + */ + etag?: string; + /** + * Serialized EventId of the request which produced this response. + */ + eventId?: string; + /** + * A list of captions that match the request criteria. + */ + items?: Schema$Caption[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "youtube#captionListResponse". + */ + kind?: string; + /** + * The visitorId identifies the visitor. + */ + visitorId?: string; + } + /** + * Basic details about a caption track, such as its language and name. + */ + interface Schema$CaptionSnippet { + /** + * The type of audio track associated with the caption track. + */ + audioTrackType?: string; + /** + * The reason that YouTube failed to process the caption track. This + * property is only present if the state property's value is failed. + */ + failureReason?: string; + /** + * Indicates whether YouTube synchronized the caption track to the audio + * track in the video. The value will be true if a sync was explicitly + * requested when the caption track was uploaded. For example, when calling + * the captions.insert or captions.update methods, you can set the sync + * parameter to true to instruct YouTube to sync the uploaded track to the + * video. If the value is false, YouTube uses the time codes in the uploaded + * caption track to determine when to display captions. + */ + isAutoSynced?: boolean; + /** + * Indicates whether the track contains closed captions for the deaf and + * hard of hearing. The default value is false. + */ + isCC?: boolean; + /** + * Indicates whether the caption track is a draft. If the value is true, + * then the track is not publicly visible. The default value is false. + */ + isDraft?: boolean; + /** + * Indicates whether caption track is formatted for "easy reader," + * meaning it is at a third-grade level for language learners. The default + * value is false. + */ + isEasyReader?: boolean; + /** + * Indicates whether the caption track uses large text for the + * vision-impaired. The default value is false. + */ + isLarge?: boolean; + /** + * The language of the caption track. The property value is a BCP-47 + * language tag. + */ + language?: string; + /** + * The date and time when the caption track was last updated. The value is + * specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. + */ + lastUpdated?: string; + /** + * The name of the caption track. The name is intended to be visible to the + * user as an option during playback. + */ + name?: string; + /** + * The caption track's status. + */ + status?: string; + /** + * The caption track's type. + */ + trackKind?: string; + /** + * The ID that YouTube uses to uniquely identify the video associated with + * the caption track. + */ + videoId?: string; + } + /** + * Brief description of the live stream cdn settings. + */ + interface Schema$CdnSettings { + /** + * The format of the video stream that you are sending to Youtube. + */ + format?: string; + /** + * The frame rate of the inbound video data. + */ + frameRate?: string; + /** + * The ingestionInfo object contains information that YouTube provides that + * you need to transmit your RTMP or HTTP stream to YouTube. + */ + ingestionInfo?: Schema$IngestionInfo; + /** + * The method or protocol used to transmit the video stream. + */ + ingestionType?: string; + /** + * The resolution of the inbound video data. + */ + resolution?: string; + } + /** + * A channel resource contains information about a YouTube channel. + */ + interface Schema$Channel { + /** + * The auditionDetails object encapsulates channel data that is relevant for + * YouTube Partners during the audition process. + */ + auditDetails?: Schema$ChannelAuditDetails; + /** + * The brandingSettings object encapsulates information about the branding + * of the channel. + */ + brandingSettings?: Schema$ChannelBrandingSettings; + /** + * The contentDetails object encapsulates information about the + * channel's content. + */ + contentDetails?: Schema$ChannelContentDetails; + /** + * The contentOwnerDetails object encapsulates channel data that is relevant + * for YouTube Partners linked with the channel. + */ + contentOwnerDetails?: Schema$ChannelContentOwnerDetails; + /** + * The conversionPings object encapsulates information about conversion + * pings that need to be respected by the channel. + */ + conversionPings?: Schema$ChannelConversionPings; + /** + * Etag of this resource. + */ + etag?: string; + /** + * The ID that YouTube uses to uniquely identify the channel. + */ + id?: string; + /** + * The invideoPromotion object encapsulates information about promotion + * campaign associated with the channel. + */ + invideoPromotion?: Schema$InvideoPromotion; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "youtube#channel". + */ + kind?: string; + /** + * Localizations for different languages + */ + localizations?: any; + /** + * The snippet object contains basic details about the channel, such as its + * title, description, and thumbnail images. + */ + snippet?: Schema$ChannelSnippet; + /** + * The statistics object encapsulates statistics for the channel. + */ + statistics?: Schema$ChannelStatistics; + /** + * The status object encapsulates information about the privacy status of + * the channel. + */ + status?: Schema$ChannelStatus; + /** + * The topicDetails object encapsulates information about Freebase topics + * associated with the channel. + */ + topicDetails?: Schema$ChannelTopicDetails; + } + /** + * The auditDetails object encapsulates channel data that is relevant for + * YouTube Partners during the audit process. + */ + interface Schema$ChannelAuditDetails { + /** + * Whether or not the channel respects the community guidelines. + */ + communityGuidelinesGoodStanding?: boolean; + /** + * Whether or not the channel has any unresolved claims. + */ + contentIdClaimsGoodStanding?: boolean; + /** + * Whether or not the channel has any copyright strikes. + */ + copyrightStrikesGoodStanding?: boolean; + /** + * Describes the general state of the channel. This field will always show + * if there are any issues whatsoever with the channel. Currently this field + * represents the result of the logical and operation over the community + * guidelines good standing, the copyright strikes good standing and the + * content ID claims good standing, but this may change in the future. + */ + overallGoodStanding?: boolean; + } + /** + * A channel banner returned as the response to a channel_banner.insert call. + */ + interface Schema$ChannelBannerResource { + /** + * Etag of this resource. + */ + etag?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "youtube#channelBannerResource". + */ + kind?: string; + /** + * The URL of this banner image. + */ + url?: string; + } + /** + * Branding properties of a YouTube channel. + */ + interface Schema$ChannelBrandingSettings { + /** + * Branding properties for the channel view. + */ + channel?: Schema$ChannelSettings; + /** + * Additional experimental branding properties. + */ + hints?: Schema$PropertyValue[]; + /** + * Branding properties for branding images. + */ + image?: Schema$ImageSettings; + /** + * Branding properties for the watch page. + */ + watch?: Schema$WatchSettings; + } + /** + * Details about the content of a channel. + */ + interface Schema$ChannelContentDetails { + relatedPlaylists?: any; + } + /** + * The contentOwnerDetails object encapsulates channel data that is relevant + * for YouTube Partners linked with the channel. + */ + interface Schema$ChannelContentOwnerDetails { + /** + * The ID of the content owner linked to the channel. + */ + contentOwner?: string; + /** + * The date and time of when the channel was linked to the content owner. + * The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. + */ + timeLinked?: string; + } + /** + * Pings that the app shall fire (authenticated by biscotti cookie). Each ping + * has a context, in which the app must fire the ping, and a url identifying + * the ping. + */ + interface Schema$ChannelConversionPing { + /** + * Defines the context of the ping. + */ + context?: string; + /** + * The url (without the schema) that the player shall send the ping to. + * It's at caller's descretion to decide which schema to use (http + * vs https) Example of a returned url: + * //googleads.g.doubleclick.net/pagead/ + * viewthroughconversion/962985656/?data=path%3DtHe_path%3Btype%3D + * cview%3Butuid%3DGISQtTNGYqaYl4sKxoVvKA&labe=default The caller must + * append biscotti authentication (ms param in case of mobile, for example) + * to this ping. + */ + conversionUrl?: string; + } + /** + * The conversionPings object encapsulates information about conversion pings + * that need to be respected by the channel. + */ + interface Schema$ChannelConversionPings { + /** + * Pings that the app shall fire (authenticated by biscotti cookie). Each + * ping has a context, in which the app must fire the ping, and a url + * identifying the ping. + */ + pings?: Schema$ChannelConversionPing[]; + } + interface Schema$ChannelListResponse { + /** + * Etag of this resource. + */ + etag?: string; + /** + * Serialized EventId of the request which produced this response. + */ + eventId?: string; + /** + * A list of channels that match the request criteria. + */ + items?: Schema$Channel[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "youtube#channelListResponse". + */ + kind?: string; + /** + * The token that can be used as the value of the pageToken parameter to + * retrieve the next page in the result set. + */ + nextPageToken?: string; + pageInfo?: Schema$PageInfo; + /** + * The token that can be used as the value of the pageToken parameter to + * retrieve the previous page in the result set. + */ + prevPageToken?: string; + tokenPagination?: Schema$TokenPagination; + /** + * The visitorId identifies the visitor. + */ + visitorId?: string; + } + /** + * Channel localization setting + */ + interface Schema$ChannelLocalization { + /** + * The localized strings for channel's description. + */ + description?: string; + /** + * The localized strings for channel's title. + */ + title?: string; + } + interface Schema$ChannelProfileDetails { + /** + * The YouTube channel ID. + */ + channelId?: string; + /** + * The channel's URL. + */ + channelUrl?: string; + /** + * The channel's display name. + */ + displayName?: string; + /** + * The channels's avatar URL. + */ + profileImageUrl?: string; + } + interface Schema$ChannelSection { + /** + * The contentDetails object contains details about the channel section + * content, such as a list of playlists or channels featured in the section. + */ + contentDetails?: Schema$ChannelSectionContentDetails; + /** + * Etag of this resource. + */ + etag?: string; + /** + * The ID that YouTube uses to uniquely identify the channel section. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "youtube#channelSection". + */ + kind?: string; + /** + * Localizations for different languages + */ + localizations?: any; + /** + * The snippet object contains basic details about the channel section, such + * as its type, style and title. + */ + snippet?: Schema$ChannelSectionSnippet; + /** + * The targeting object contains basic targeting settings about the channel + * section. + */ + targeting?: Schema$ChannelSectionTargeting; + } + /** + * Details about a channelsection, including playlists and channels. + */ + interface Schema$ChannelSectionContentDetails { + /** + * The channel ids for type multiple_channels. + */ + channels?: string[]; + /** + * The playlist ids for type single_playlist and multiple_playlists. For + * singlePlaylist, only one playlistId is allowed. + */ + playlists?: string[]; + } + interface Schema$ChannelSectionListResponse { + /** + * Etag of this resource. + */ + etag?: string; + /** + * Serialized EventId of the request which produced this response. + */ + eventId?: string; + /** + * A list of ChannelSections that match the request criteria. + */ + items?: Schema$ChannelSection[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "youtube#channelSectionListResponse". + */ + kind?: string; + /** + * The visitorId identifies the visitor. + */ + visitorId?: string; + } + /** + * ChannelSection localization setting + */ + interface Schema$ChannelSectionLocalization { + /** + * The localized strings for channel section's title. + */ + title?: string; + } + /** + * Basic details about a channel section, including title, style and position. + */ + interface Schema$ChannelSectionSnippet { + /** + * The ID that YouTube uses to uniquely identify the channel that published + * the channel section. + */ + channelId?: string; + /** + * The language of the channel section's default title and description. + */ + defaultLanguage?: string; + /** + * Localized title, read-only. + */ + localized?: Schema$ChannelSectionLocalization; + /** + * The position of the channel section in the channel. + */ + position?: number; + /** + * The style of the channel section. + */ + style?: string; + /** + * The channel section's title for multiple_playlists and + * multiple_channels. + */ + title?: string; + /** + * The type of the channel section. + */ + type?: string; + } + /** + * ChannelSection targeting setting. + */ + interface Schema$ChannelSectionTargeting { + /** + * The country the channel section is targeting. + */ + countries?: string[]; + /** + * The language the channel section is targeting. + */ + languages?: string[]; + /** + * The region the channel section is targeting. + */ + regions?: string[]; + } + /** + * Branding properties for the channel view. + */ + interface Schema$ChannelSettings { + /** + * The country of the channel. + */ + country?: string; + defaultLanguage?: string; + /** + * Which content tab users should see when viewing the channel. + */ + defaultTab?: string; + /** + * Specifies the channel description. + */ + description?: string; + /** + * Title for the featured channels tab. + */ + featuredChannelsTitle?: string; + /** + * The list of featured channels. + */ + featuredChannelsUrls?: string[]; + /** + * Lists keywords associated with the channel, comma-separated. + */ + keywords?: string; + /** + * Whether user-submitted comments left on the channel page need to be + * approved by the channel owner to be publicly visible. + */ + moderateComments?: boolean; + /** + * A prominent color that can be rendered on this channel page. + */ + profileColor?: string; + /** + * Whether the tab to browse the videos should be displayed. + */ + showBrowseView?: boolean; + /** + * Whether related channels should be proposed. + */ + showRelatedChannels?: boolean; + /** + * Specifies the channel title. + */ + title?: string; + /** + * The ID for a Google Analytics account to track and measure traffic to the + * channels. + */ + trackingAnalyticsAccountId?: string; + /** + * The trailer of the channel, for users that are not subscribers. + */ + unsubscribedTrailer?: string; + } + /** + * Basic details about a channel, including title, description and thumbnails. + */ + interface Schema$ChannelSnippet { + /** + * The country of the channel. + */ + country?: string; + /** + * The custom url of the channel. + */ + customUrl?: string; + /** + * The language of the channel's default title and description. + */ + defaultLanguage?: string; + /** + * The description of the channel. + */ + description?: string; + /** + * Localized title and description, read-only. + */ + localized?: Schema$ChannelLocalization; + /** + * The date and time that the channel was created. The value is specified in + * ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. + */ + publishedAt?: string; + /** + * A map of thumbnail images associated with the channel. For each object in + * the map, the key is the name of the thumbnail image, and the value is an + * object that contains other information about the thumbnail. + */ + thumbnails?: Schema$ThumbnailDetails; + /** + * The channel's title. + */ + title?: string; + } + /** + * Statistics about a channel: number of subscribers, number of videos in the + * channel, etc. + */ + interface Schema$ChannelStatistics { + /** + * The number of comments for the channel. + */ + commentCount?: string; + /** + * Whether or not the number of subscribers is shown for this user. + */ + hiddenSubscriberCount?: boolean; + /** + * The number of subscribers that the channel has. + */ + subscriberCount?: string; + /** + * The number of videos uploaded to the channel. + */ + videoCount?: string; + /** + * The number of times the channel has been viewed. + */ + viewCount?: string; + } + /** + * JSON template for the status part of a channel. + */ + interface Schema$ChannelStatus { + /** + * If true, then the user is linked to either a YouTube username or G+ + * account. Otherwise, the user doesn't have a public YouTube identity. + */ + isLinked?: boolean; + /** + * The long uploads status of this channel. See + */ + longUploadsStatus?: string; + /** + * Privacy status of the channel. + */ + privacyStatus?: string; + } + /** + * Freebase topic information related to the channel. + */ + interface Schema$ChannelTopicDetails { + /** + * A list of Wikipedia URLs that describe the channel's content. + */ + topicCategories?: string[]; + /** + * A list of Freebase topic IDs associated with the channel. You can + * retrieve information about each topic using the Freebase Topic API. + */ + topicIds?: string[]; + } + /** + * A comment represents a single YouTube comment. + */ + interface Schema$Comment { + /** + * Etag of this resource. + */ + etag?: string; + /** + * The ID that YouTube uses to uniquely identify the comment. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "youtube#comment". + */ + kind?: string; + /** + * The snippet object contains basic details about the comment. + */ + snippet?: Schema$CommentSnippet; + } + interface Schema$CommentListResponse { + /** + * Etag of this resource. + */ + etag?: string; + /** + * Serialized EventId of the request which produced this response. + */ + eventId?: string; + /** + * A list of comments that match the request criteria. + */ + items?: Schema$Comment[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "youtube#commentListResponse". + */ + kind?: string; + /** + * The token that can be used as the value of the pageToken parameter to + * retrieve the next page in the result set. + */ + nextPageToken?: string; + pageInfo?: Schema$PageInfo; + tokenPagination?: Schema$TokenPagination; + /** + * The visitorId identifies the visitor. + */ + visitorId?: string; + } + /** + * Basic details about a comment, such as its author and text. + */ + interface Schema$CommentSnippet { + /** + * The id of the author's YouTube channel, if any. + */ + authorChannelId?: any; + /** + * Link to the author's YouTube channel, if any. + */ + authorChannelUrl?: string; + /** + * The name of the user who posted the comment. + */ + authorDisplayName?: string; + /** + * The URL for the avatar of the user who posted the comment. + */ + authorProfileImageUrl?: string; + /** + * Whether the current viewer can rate this comment. + */ + canRate?: boolean; + /** + * The id of the corresponding YouTube channel. In case of a channel comment + * this is the channel the comment refers to. In case of a video comment + * it's the video's channel. + */ + channelId?: string; + /** + * The total number of likes this comment has received. + */ + likeCount?: number; + /** + * The comment's moderation status. Will not be set if the comments were + * requested through the id filter. + */ + moderationStatus?: string; + /** + * The unique id of the parent comment, only set for replies. + */ + parentId?: string; + /** + * The date and time when the comment was orignally published. The value is + * specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. + */ + publishedAt?: string; + /** + * The comment's text. The format is either plain text or HTML dependent + * on what has been requested. Even the plain text representation may differ + * from the text originally posted in that it may replace video links with + * video titles etc. + */ + textDisplay?: string; + /** + * The comment's original raw text as initially posted or last updated. + * The original text will only be returned if it is accessible to the + * viewer, which is only guaranteed if the viewer is the comment's + * author. + */ + textOriginal?: string; + /** + * The date and time when was last updated . The value is specified in ISO + * 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. + */ + updatedAt?: string; + /** + * The ID of the video the comment refers to, if any. + */ + videoId?: string; + /** + * The rating the viewer has given to this comment. For the time being this + * will never return RATE_TYPE_DISLIKE and instead return RATE_TYPE_NONE. + * This may change in the future. + */ + viewerRating?: string; + } + /** + * A comment thread represents information that applies to a top level comment + * and all its replies. It can also include the top level comment itself and + * some of the replies. + */ + interface Schema$CommentThread { + /** + * Etag of this resource. + */ + etag?: string; + /** + * The ID that YouTube uses to uniquely identify the comment thread. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "youtube#commentThread". + */ + kind?: string; + /** + * The replies object contains a limited number of replies (if any) to the + * top level comment found in the snippet. + */ + replies?: Schema$CommentThreadReplies; + /** + * The snippet object contains basic details about the comment thread and + * also the top level comment. + */ + snippet?: Schema$CommentThreadSnippet; + } + interface Schema$CommentThreadListResponse { + /** + * Etag of this resource. + */ + etag?: string; + /** + * Serialized EventId of the request which produced this response. + */ + eventId?: string; + /** + * A list of comment threads that match the request criteria. + */ + items?: Schema$CommentThread[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "youtube#commentThreadListResponse". + */ + kind?: string; + /** + * The token that can be used as the value of the pageToken parameter to + * retrieve the next page in the result set. + */ + nextPageToken?: string; + pageInfo?: Schema$PageInfo; + tokenPagination?: Schema$TokenPagination; + /** + * The visitorId identifies the visitor. + */ + visitorId?: string; + } + /** + * Comments written in (direct or indirect) reply to the top level comment. + */ + interface Schema$CommentThreadReplies { + /** + * A limited number of replies. Unless the number of replies returned equals + * total_reply_count in the snippet the returned replies are only a subset + * of the total number of replies. + */ + comments?: Schema$Comment[]; + } + /** + * Basic details about a comment thread. + */ + interface Schema$CommentThreadSnippet { + /** + * Whether the current viewer of the thread can reply to it. This is viewer + * specific - other viewers may see a different value for this field. + */ + canReply?: boolean; + /** + * The YouTube channel the comments in the thread refer to or the channel + * with the video the comments refer to. If video_id isn't set the + * comments refer to the channel itself. + */ + channelId?: string; + /** + * Whether the thread (and therefore all its comments) is visible to all + * YouTube users. + */ + isPublic?: boolean; + /** + * The top level comment of this thread. + */ + topLevelComment?: Schema$Comment; + /** + * The total number of replies (not including the top level comment). + */ + totalReplyCount?: number; + /** + * The ID of the video the comments refer to, if any. No video_id implies a + * channel discussion comment. + */ + videoId?: string; + } + /** + * Ratings schemes. The country-specific ratings are mostly for movies and + * shows. NEXT_ID: 71 + */ + interface Schema$ContentRating { + /** + * The video's Australian Classification Board (ACB) or Australian + * Communications and Media Authority (ACMA) rating. ACMA ratings are used + * to classify children's television programming. + */ + acbRating?: string; + /** + * The video's rating from Italy's Autorità per le Garanzie nelle + * Comunicazioni (AGCOM). + */ + agcomRating?: string; + /** + * The video's Anatel (Asociación Nacional de Televisión) rating for + * Chilean television. + */ + anatelRating?: string; + /** + * The video's British Board of Film Classification (BBFC) rating. + */ + bbfcRating?: string; + /** + * The video's rating from Thailand's Board of Film and Video + * Censors. + */ + bfvcRating?: string; + /** + * The video's rating from the Austrian Board of Media Classification + * (Bundesministerium für Unterricht, Kunst und Kultur). + */ + bmukkRating?: string; + /** + * The video's rating from the Canadian Radio-Television and + * Telecommunications Commission (CRTC) for Canadian French-language + * broadcasts. For more information, see the Canadian Broadcast Standards + * Council website. + */ + catvfrRating?: string; + /** + * Rating system for Canadian TV - Canadian TV Classification System The + * video's rating from the Canadian Radio-Television and + * Telecommunications Commission (CRTC) for Canadian English-language + * broadcasts. For more information, see the Canadian Broadcast Standards + * Council website. + */ + catvRating?: string; + /** + * The video's Central Board of Film Certification (CBFC - India) + * rating. + */ + cbfcRating?: string; + /** + * The video's Consejo de Calificación Cinematográfica (Chile) rating. + */ + cccRating?: string; + /** + * The video's rating from Portugal's Comissão de Classificação de + * Espect´culos. + */ + cceRating?: string; + /** + * The video's rating in Switzerland. + */ + chfilmRating?: string; + /** + * The video's Canadian Home Video Rating System (CHVRS) rating. + */ + chvrsRating?: string; + /** + * The video's rating from the Commission de Contrôle des Films + * (Belgium). + */ + cicfRating?: string; + /** + * The video's rating from Romania's CONSILIUL NATIONAL AL + * AUDIOVIZUALULUI (CNA). + */ + cnaRating?: string; + /** + * Rating system in France - Commission de classification cinematographique + */ + cncRating?: string; + /** + * The video's rating from France's Conseil supérieur de + * l?audiovisuel, which rates broadcast content. + */ + csaRating?: string; + /** + * The video's rating from Luxembourg's Commission de surveillance + * de la classification des films (CSCF). + */ + cscfRating?: string; + /** + * The video's rating in the Czech Republic. + */ + czfilmRating?: string; + /** + * The video's Departamento de Justiça, Classificação, Qualificação e + * Títulos (DJCQT - Brazil) rating. + */ + djctqRating?: string; + /** + * Reasons that explain why the video received its DJCQT (Brazil) rating. + */ + djctqRatingReasons?: string[]; + /** + * Rating system in Turkey - Evaluation and Classification Board of the + * Ministry of Culture and Tourism + */ + ecbmctRating?: string; + /** + * The video's rating in Estonia. + */ + eefilmRating?: string; + /** + * The video's rating in Egypt. + */ + egfilmRating?: string; + /** + * The video's Eirin (映倫) rating. Eirin is the Japanese rating system. + */ + eirinRating?: string; + /** + * The video's rating from Malaysia's Film Censorship Board. + */ + fcbmRating?: string; + /** + * The video's rating from Hong Kong's Office for Film, Newspaper + * and Article Administration. + */ + fcoRating?: string; + /** + * This property has been deprecated. Use the + * contentDetails.contentRating.cncRating instead. + */ + fmocRating?: string; + /** + * The video's rating from South Africa's Film and Publication + * Board. + */ + fpbRating?: string; + /** + * Reasons that explain why the video received its FPB (South Africa) + * rating. + */ + fpbRatingReasons?: string[]; + /** + * The video's Freiwillige Selbstkontrolle der Filmwirtschaft (FSK - + * Germany) rating. + */ + fskRating?: string; + /** + * The video's rating in Greece. + */ + grfilmRating?: string; + /** + * The video's Instituto de la Cinematografía y de las Artes + * Audiovisuales (ICAA - Spain) rating. + */ + icaaRating?: string; + /** + * The video's Irish Film Classification Office (IFCO - Ireland) rating. + * See the IFCO website for more information. + */ + ifcoRating?: string; + /** + * The video's rating in Israel. + */ + ilfilmRating?: string; + /** + * The video's INCAA (Instituto Nacional de Cine y Artes Audiovisuales - + * Argentina) rating. + */ + incaaRating?: string; + /** + * The video's rating from the Kenya Film Classification Board. + */ + kfcbRating?: string; + /** + * voor de Classificatie van Audiovisuele Media (Netherlands). + */ + kijkwijzerRating?: string; + /** + * The video's Korea Media Rating Board (영상물등급위원회) rating. The + * KMRB rates videos in South Korea. + */ + kmrbRating?: string; + /** + * The video's rating from Indonesia's Lembaga Sensor Film. + */ + lsfRating?: string; + /** + * The video's rating from Malta's Film Age-Classification Board. + */ + mccaaRating?: string; + /** + * The video's rating from the Danish Film Institute's (Det Danske + * Filminstitut) Media Council for Children and Young People. + */ + mccypRating?: string; + /** + * The video's rating system for Vietnam - MCST + */ + mcstRating?: string; + /** + * The video's rating from Singapore's Media Development Authority + * (MDA) and, specifically, it's Board of Film Censors (BFC). + */ + mdaRating?: string; + /** + * The video's rating from Medietilsynet, the Norwegian Media Authority. + */ + medietilsynetRating?: string; + /** + * The video's rating from Finland's Kansallinen Audiovisuaalinen + * Instituutti (National Audiovisual Institute). + */ + mekuRating?: string; + /** + * The rating system for MENA countries, a clone of MPAA. It is needed to + */ + menaMpaaRating?: string; + /** + * The video's rating from the Ministero dei Beni e delle Attività + * Culturali e del Turismo (Italy). + */ + mibacRating?: string; + /** + * The video's Ministerio de Cultura (Colombia) rating. + */ + mocRating?: string; + /** + * The video's rating from Taiwan's Ministry of Culture (文化部). + */ + moctwRating?: string; + /** + * The video's Motion Picture Association of America (MPAA) rating. + */ + mpaaRating?: string; + /** + * The rating system for trailer, DVD, and Ad in the US. See + * http://movielabs.com/md/ratings/v2.3/html/US_MPAAT_Ratings.html. + */ + mpaatRating?: string; + /** + * The video's rating from the Movie and Television Review and + * Classification Board (Philippines). + */ + mtrcbRating?: string; + /** + * The video's rating in Poland. + */ + nbcplRating?: string; + /** + * The video's rating from the Maldives National Bureau of + * Classification. + */ + nbcRating?: string; + /** + * The video's rating from the Bulgarian National Film Center. + */ + nfrcRating?: string; + /** + * The video's rating from Nigeria's National Film and Video Censors + * Board. + */ + nfvcbRating?: string; + /** + * The video's rating from the Nacionãlais Kino centrs (National Film + * Centre of Latvia). + */ + nkclvRating?: string; + /** + * The video's Office of Film and Literature Classification (OFLC - New + * Zealand) rating. + */ + oflcRating?: string; + /** + * The video's rating in Peru. + */ + pefilmRating?: string; + /** + * The video's rating from the Hungarian Nemzeti Filmiroda, the Rating + * Committee of the National Office of Film. + */ + rcnofRating?: string; + /** + * The video's rating in Venezuela. + */ + resorteviolenciaRating?: string; + /** + * The video's General Directorate of Radio, Television and + * Cinematography (Mexico) rating. + */ + rtcRating?: string; + /** + * The video's rating from Ireland's Raidió Teilifís Éireann. + */ + rteRating?: string; + /** + * The video's National Film Registry of the Russian Federation (MKRF - + * Russia) rating. + */ + russiaRating?: string; + /** + * The video's rating in Slovakia. + */ + skfilmRating?: string; + /** + * The video's rating in Iceland. + */ + smaisRating?: string; + /** + * The video's rating from Statens medieråd (Sweden's National Media + * Council). + */ + smsaRating?: string; + /** + * The video's TV Parental Guidelines (TVPG) rating. + */ + tvpgRating?: string; + /** + * A rating that YouTube uses to identify age-restricted content. + */ + ytRating?: string; + } + /** + * Geographical coordinates of a point, in WGS84. + */ + interface Schema$GeoPoint { + /** + * Altitude above the reference ellipsoid, in meters. + */ + altitude?: number; + /** + * Latitude in degrees. + */ + latitude?: number; + /** + * Longitude in degrees. + */ + longitude?: number; + } + /** + * A guideCategory resource identifies a category that YouTube algorithmically + * assigns based on a channel's content or other indicators, such as the + * channel's popularity. The list is similar to video categories, with the + * difference being that a video's uploader can assign a video category + * but only YouTube can assign a channel category. + */ + interface Schema$GuideCategory { + /** + * Etag of this resource. + */ + etag?: string; + /** + * The ID that YouTube uses to uniquely identify the guide category. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "youtube#guideCategory". + */ + kind?: string; + /** + * The snippet object contains basic details about the category, such as its + * title. + */ + snippet?: Schema$GuideCategorySnippet; + } + interface Schema$GuideCategoryListResponse { + /** + * Etag of this resource. + */ + etag?: string; + /** + * Serialized EventId of the request which produced this response. + */ + eventId?: string; + /** + * A list of categories that can be associated with YouTube channels. In + * this map, the category ID is the map key, and its value is the + * corresponding guideCategory resource. + */ + items?: Schema$GuideCategory[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "youtube#guideCategoryListResponse". + */ + kind?: string; + /** + * The token that can be used as the value of the pageToken parameter to + * retrieve the next page in the result set. + */ + nextPageToken?: string; + pageInfo?: Schema$PageInfo; + /** + * The token that can be used as the value of the pageToken parameter to + * retrieve the previous page in the result set. + */ + prevPageToken?: string; + tokenPagination?: Schema$TokenPagination; + /** + * The visitorId identifies the visitor. + */ + visitorId?: string; + } + /** + * Basic details about a guide category. + */ + interface Schema$GuideCategorySnippet { + channelId?: string; + /** + * Description of the guide category. + */ + title?: string; + } + /** + * An i18nLanguage resource identifies a UI language currently supported by + * YouTube. + */ + interface Schema$I18nLanguage { + /** + * Etag of this resource. + */ + etag?: string; + /** + * The ID that YouTube uses to uniquely identify the i18n language. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "youtube#i18nLanguage". + */ + kind?: string; + /** + * The snippet object contains basic details about the i18n language, such + * as language code and human-readable name. + */ + snippet?: Schema$I18nLanguageSnippet; + } + interface Schema$I18nLanguageListResponse { + /** + * Etag of this resource. + */ + etag?: string; + /** + * Serialized EventId of the request which produced this response. + */ + eventId?: string; + /** + * A list of supported i18n languages. In this map, the i18n language ID is + * the map key, and its value is the corresponding i18nLanguage resource. + */ + items?: Schema$I18nLanguage[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "youtube#i18nLanguageListResponse". + */ + kind?: string; + /** + * The visitorId identifies the visitor. + */ + visitorId?: string; + } + /** + * Basic details about an i18n language, such as language code and + * human-readable name. + */ + interface Schema$I18nLanguageSnippet { + /** + * A short BCP-47 code that uniquely identifies a language. + */ + hl?: string; + /** + * The human-readable name of the language in the language itself. + */ + name?: string; + } + /** + * A i18nRegion resource identifies a region where YouTube is available. + */ + interface Schema$I18nRegion { + /** + * Etag of this resource. + */ + etag?: string; + /** + * The ID that YouTube uses to uniquely identify the i18n region. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "youtube#i18nRegion". + */ + kind?: string; + /** + * The snippet object contains basic details about the i18n region, such as + * region code and human-readable name. + */ + snippet?: Schema$I18nRegionSnippet; + } + interface Schema$I18nRegionListResponse { + /** + * Etag of this resource. + */ + etag?: string; + /** + * Serialized EventId of the request which produced this response. + */ + eventId?: string; + /** + * A list of regions where YouTube is available. In this map, the i18n + * region ID is the map key, and its value is the corresponding i18nRegion + * resource. + */ + items?: Schema$I18nRegion[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "youtube#i18nRegionListResponse". + */ + kind?: string; + /** + * The visitorId identifies the visitor. + */ + visitorId?: string; + } + /** + * Basic details about an i18n region, such as region code and human-readable + * name. + */ + interface Schema$I18nRegionSnippet { + /** + * The region code as a 2-letter ISO country code. + */ + gl?: string; + /** + * The human-readable name of the region. + */ + name?: string; + } + /** + * Branding properties for images associated with the channel. + */ + interface Schema$ImageSettings { + /** + * The URL for the background image shown on the video watch page. The image + * should be 1200px by 615px, with a maximum file size of 128k. + */ + backgroundImageUrl?: Schema$LocalizedProperty; + /** + * This is used only in update requests; if it's set, we use this URL to + * generate all of the above banner URLs. + */ + bannerExternalUrl?: string; + /** + * Banner image. Desktop size (1060x175). + */ + bannerImageUrl?: string; + /** + * Banner image. Mobile size high resolution (1440x395). + */ + bannerMobileExtraHdImageUrl?: string; + /** + * Banner image. Mobile size high resolution (1280x360). + */ + bannerMobileHdImageUrl?: string; + /** + * Banner image. Mobile size (640x175). + */ + bannerMobileImageUrl?: string; + /** + * Banner image. Mobile size low resolution (320x88). + */ + bannerMobileLowImageUrl?: string; + /** + * Banner image. Mobile size medium/high resolution (960x263). + */ + bannerMobileMediumHdImageUrl?: string; + /** + * Banner image. Tablet size extra high resolution (2560x424). + */ + bannerTabletExtraHdImageUrl?: string; + /** + * Banner image. Tablet size high resolution (2276x377). + */ + bannerTabletHdImageUrl?: string; + /** + * Banner image. Tablet size (1707x283). + */ + bannerTabletImageUrl?: string; + /** + * Banner image. Tablet size low resolution (1138x188). + */ + bannerTabletLowImageUrl?: string; + /** + * Banner image. TV size high resolution (1920x1080). + */ + bannerTvHighImageUrl?: string; + /** + * Banner image. TV size extra high resolution (2120x1192). + */ + bannerTvImageUrl?: string; + /** + * Banner image. TV size low resolution (854x480). + */ + bannerTvLowImageUrl?: string; + /** + * Banner image. TV size medium resolution (1280x720). + */ + bannerTvMediumImageUrl?: string; + /** + * The image map script for the large banner image. + */ + largeBrandedBannerImageImapScript?: Schema$LocalizedProperty; + /** + * The URL for the 854px by 70px image that appears below the video player + * in the expanded video view of the video watch page. + */ + largeBrandedBannerImageUrl?: Schema$LocalizedProperty; + /** + * The image map script for the small banner image. + */ + smallBrandedBannerImageImapScript?: Schema$LocalizedProperty; + /** + * The URL for the 640px by 70px banner image that appears below the video + * player in the default view of the video watch page. + */ + smallBrandedBannerImageUrl?: Schema$LocalizedProperty; + /** + * The URL for a 1px by 1px tracking pixel that can be used to collect + * statistics for views of the channel or video pages. + */ + trackingImageUrl?: string; + /** + * The URL for the image that appears above the top-left corner of the video + * player. This is a 25-pixel-high image with a flexible width that cannot + * exceed 170 pixels. + */ + watchIconImageUrl?: string; + } + /** + * Describes information necessary for ingesting an RTMP or an HTTP stream. + */ + interface Schema$IngestionInfo { + /** + * The backup ingestion URL that you should use to stream video to YouTube. + * You have the option of simultaneously streaming the content that you are + * sending to the ingestionAddress to this URL. + */ + backupIngestionAddress?: string; + /** + * The primary ingestion URL that you should use to stream video to YouTube. + * You must stream video to this URL. Depending on which application or + * tool you use to encode your video stream, you may need to enter the + * stream URL and stream name separately or you may need to concatenate them + * in the following format: STREAM_URL/STREAM_NAME + */ + ingestionAddress?: string; + /** + * The HTTP or RTMP stream name that YouTube assigns to the video stream. + */ + streamName?: string; + } + interface Schema$InvideoBranding { + imageBytes?: string; + imageUrl?: string; + position?: Schema$InvideoPosition; + targetChannelId?: string; + timing?: Schema$InvideoTiming; + } + /** + * Describes the spatial position of a visual widget inside a video. It is a + * union of various position types, out of which only will be set one. + */ + interface Schema$InvideoPosition { + /** + * Describes in which corner of the video the visual widget will appear. + */ + cornerPosition?: string; + /** + * Defines the position type. + */ + type?: string; + } + /** + * Describes an invideo promotion campaign consisting of multiple promoted + * items. A campaign belongs to a single channel_id. + */ + interface Schema$InvideoPromotion { + /** + * The default temporal position within the video where the promoted item + * will be displayed. Can be overriden by more specific timing in the item. + */ + defaultTiming?: Schema$InvideoTiming; + /** + * List of promoted items in decreasing priority. + */ + items?: Schema$PromotedItem[]; + /** + * The spatial position within the video where the promoted item will be + * displayed. + */ + position?: Schema$InvideoPosition; + /** + * Indicates whether the channel's promotional campaign uses "smart + * timing." This feature attempts to show promotions at a point in the + * video when they are more likely to be clicked and less likely to disrupt + * the viewing experience. This feature also picks up a single promotion to + * show on each video. + */ + useSmartTiming?: boolean; + } + /** + * Describes a temporal position of a visual widget inside a video. + */ + interface Schema$InvideoTiming { + /** + * Defines the duration in milliseconds for which the promotion should be + * displayed. If missing, the client should use the default. + */ + durationMs?: string; + /** + * Defines the time at which the promotion will appear. Depending on the + * value of type the value of the offsetMs field will represent a time + * offset from the start or from the end of the video, expressed in + * milliseconds. + */ + offsetMs?: string; + /** + * Describes a timing type. If the value is offsetFromStart, then the + * offsetMs field represents an offset from the start of the video. If the + * value is offsetFromEnd, then the offsetMs field represents an offset from + * the end of the video. + */ + type?: string; + } + interface Schema$LanguageTag { + value?: string; + } + /** + * A liveBroadcast resource represents an event that will be streamed, via + * live video, on YouTube. + */ + interface Schema$LiveBroadcast { + /** + * The contentDetails object contains information about the event's + * video content, such as whether the content can be shown in an embedded + * video player or if it will be archived and therefore available for + * viewing after the event has concluded. + */ + contentDetails?: Schema$LiveBroadcastContentDetails; + /** + * Etag of this resource. + */ + etag?: string; + /** + * The ID that YouTube assigns to uniquely identify the broadcast. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "youtube#liveBroadcast". + */ + kind?: string; + /** + * The snippet object contains basic details about the event, including its + * title, description, start time, and end time. + */ + snippet?: Schema$LiveBroadcastSnippet; + /** + * The statistics object contains info about the event's current stats. + * These include concurrent viewers and total chat count. Statistics can + * change (in either direction) during the lifetime of an event. Statistics + * are only returned while the event is live. + */ + statistics?: Schema$LiveBroadcastStatistics; + /** + * The status object contains information about the event's status. + */ + status?: Schema$LiveBroadcastStatus; + } + /** + * Detailed settings of a broadcast. + */ + interface Schema$LiveBroadcastContentDetails { + /** + * This value uniquely identifies the live stream bound to the broadcast. + */ + boundStreamId?: string; + /** + * The date and time that the live stream referenced by boundStreamId was + * last updated. + */ + boundStreamLastUpdateTimeMs?: string; + closedCaptionsType?: string; + /** + * This setting indicates whether auto start is enabled for this broadcast. + */ + enableAutoStart?: boolean; + /** + * This setting indicates whether HTTP POST closed captioning is enabled for + * this broadcast. The ingestion URL of the closed captions is returned + * through the liveStreams API. This is mutually exclusive with using the + * closed_captions_type property, and is equivalent to setting + * closed_captions_type to CLOSED_CAPTIONS_HTTP_POST. + */ + enableClosedCaptions?: boolean; + /** + * This setting indicates whether YouTube should enable content encryption + * for the broadcast. + */ + enableContentEncryption?: boolean; + /** + * This setting determines whether viewers can access DVR controls while + * watching the video. DVR controls enable the viewer to control the video + * playback experience by pausing, rewinding, or fast forwarding content. + * The default value for this property is true. Important: You must set + * the value to true and also set the enableArchive property's value to + * true if you want to make playback available immediately after the + * broadcast ends. + */ + enableDvr?: boolean; + /** + * This setting indicates whether the broadcast video can be played in an + * embedded player. If you choose to archive the video (using the + * enableArchive property), this setting will also apply to the archived + * video. + */ + enableEmbed?: boolean; + /** + * Indicates whether this broadcast has low latency enabled. + */ + enableLowLatency?: boolean; + /** + * If both this and enable_low_latency are set, they must match. + * LATENCY_NORMAL should match enable_low_latency=false LATENCY_LOW should + * match enable_low_latency=true LATENCY_ULTRA_LOW should have + * enable_low_latency omitted. + */ + latencyPreference?: string; + mesh?: string; + /** + * The monitorStream object contains information about the monitor stream, + * which the broadcaster can use to review the event content before the + * broadcast stream is shown publicly. + */ + monitorStream?: Schema$MonitorStreamInfo; + /** + * The projection format of this broadcast. This defaults to rectangular. + */ + projection?: string; + /** + * Automatically start recording after the event goes live. The default + * value for this property is true. Important: You must also set the + * enableDvr property's value to true if you want the playback to be + * available immediately after the broadcast ends. If you set this + * property's value to true but do not also set the enableDvr property + * to true, there may be a delay of around one day before the archived video + * will be available for playback. + */ + recordFromStart?: boolean; + /** + * This setting indicates whether the broadcast should automatically begin + * with an in-stream slate when you update the broadcast's status to + * live. After updating the status, you then need to send a + * liveCuepoints.insert request that sets the cuepoint's eventState to + * end to remove the in-stream slate and make your broadcast stream visible + * to viewers. + */ + startWithSlate?: boolean; + stereoLayout?: string; + } + interface Schema$LiveBroadcastListResponse { + /** + * Etag of this resource. + */ + etag?: string; + /** + * Serialized EventId of the request which produced this response. + */ + eventId?: string; + /** + * A list of broadcasts that match the request criteria. + */ + items?: Schema$LiveBroadcast[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "youtube#liveBroadcastListResponse". + */ + kind?: string; + /** + * The token that can be used as the value of the pageToken parameter to + * retrieve the next page in the result set. + */ + nextPageToken?: string; + pageInfo?: Schema$PageInfo; + /** + * The token that can be used as the value of the pageToken parameter to + * retrieve the previous page in the result set. + */ + prevPageToken?: string; + tokenPagination?: Schema$TokenPagination; + /** + * The visitorId identifies the visitor. + */ + visitorId?: string; + } + interface Schema$LiveBroadcastSnippet { + /** + * The date and time that the broadcast actually ended. This information is + * only available once the broadcast's state is complete. The value is + * specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. + */ + actualEndTime?: string; + /** + * The date and time that the broadcast actually started. This information + * is only available once the broadcast's state is live. The value is + * specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. + */ + actualStartTime?: string; + /** + * The ID that YouTube uses to uniquely identify the channel that is + * publishing the broadcast. + */ + channelId?: string; + /** + * The broadcast's description. As with the title, you can set this + * field by modifying the broadcast resource or by setting the description + * field of the corresponding video resource. + */ + description?: string; + isDefaultBroadcast?: boolean; + /** + * The id of the live chat for this broadcast. + */ + liveChatId?: string; + /** + * The date and time that the broadcast was added to YouTube's live + * broadcast schedule. The value is specified in ISO 8601 + * (YYYY-MM-DDThh:mm:ss.sZ) format. + */ + publishedAt?: string; + /** + * The date and time that the broadcast is scheduled to end. The value is + * specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. + */ + scheduledEndTime?: string; + /** + * The date and time that the broadcast is scheduled to start. The value is + * specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. + */ + scheduledStartTime?: string; + /** + * A map of thumbnail images associated with the broadcast. For each nested + * object in this object, the key is the name of the thumbnail image, and + * the value is an object that contains other information about the + * thumbnail. + */ + thumbnails?: Schema$ThumbnailDetails; + /** + * The broadcast's title. Note that the broadcast represents exactly one + * YouTube video. You can set this field by modifying the broadcast resource + * or by setting the title field of the corresponding video resource. + */ + title?: string; + } + /** + * Statistics about the live broadcast. These represent a snapshot of the + * values at the time of the request. Statistics are only returned for live + * broadcasts. + */ + interface Schema$LiveBroadcastStatistics { + /** + * The number of viewers currently watching the broadcast. The property and + * its value will be present if the broadcast has current viewers and the + * broadcast owner has not hidden the viewcount for the video. Note that + * YouTube stops tracking the number of concurrent viewers for a broadcast + * when the broadcast ends. So, this property would not identify the number + * of viewers watching an archived video of a live broadcast that already + * ended. + */ + concurrentViewers?: string; + /** + * The total number of live chat messages currently on the broadcast. The + * property and its value will be present if the broadcast is public, has + * the live chat feature enabled, and has at least one message. Note that + * this field will not be filled after the broadcast ends. So this property + * would not identify the number of chat messages for an archived video of a + * completed live broadcast. + */ + totalChatCount?: string; + } + interface Schema$LiveBroadcastStatus { + /** + * The broadcast's status. The status can be updated using the API's + * liveBroadcasts.transition method. + */ + lifeCycleStatus?: string; + /** + * Priority of the live broadcast event (internal state). + */ + liveBroadcastPriority?: string; + /** + * The broadcast's privacy status. Note that the broadcast represents + * exactly one YouTube video, so the privacy settings are identical to those + * supported for videos. In addition, you can set this field by modifying + * the broadcast resource or by setting the privacyStatus field of the + * corresponding video resource. + */ + privacyStatus?: string; + /** + * The broadcast's recording status. + */ + recordingStatus?: string; + } + /** + * A liveChatBan resource represents a ban for a YouTube live chat. + */ + interface Schema$LiveChatBan { + /** + * Etag of this resource. + */ + etag?: string; + /** + * The ID that YouTube assigns to uniquely identify the ban. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "youtube#liveChatBan". + */ + kind?: string; + /** + * The snippet object contains basic details about the ban. + */ + snippet?: Schema$LiveChatBanSnippet; + } + interface Schema$LiveChatBanSnippet { + /** + * The duration of a ban, only filled if the ban has type TEMPORARY. + */ + banDurationSeconds?: string; + bannedUserDetails?: Schema$ChannelProfileDetails; + /** + * The chat this ban is pertinent to. + */ + liveChatId?: string; + /** + * The type of ban. + */ + type?: string; + } + interface Schema$LiveChatFanFundingEventDetails { + /** + * A rendered string that displays the fund amount and currency to the user. + */ + amountDisplayString?: string; + /** + * The amount of the fund. + */ + amountMicros?: string; + /** + * The currency in which the fund was made. + */ + currency?: string; + /** + * The comment added by the user to this fan funding event. + */ + userComment?: string; + } + /** + * A liveChatMessage resource represents a chat message in a YouTube Live + * Chat. + */ + interface Schema$LiveChatMessage { + /** + * The authorDetails object contains basic details about the user that + * posted this message. + */ + authorDetails?: Schema$LiveChatMessageAuthorDetails; + /** + * Etag of this resource. + */ + etag?: string; + /** + * The ID that YouTube assigns to uniquely identify the message. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "youtube#liveChatMessage". + */ + kind?: string; + /** + * The snippet object contains basic details about the message. + */ + snippet?: Schema$LiveChatMessageSnippet; + } + interface Schema$LiveChatMessageAuthorDetails { + /** + * The YouTube channel ID. + */ + channelId?: string; + /** + * The channel's URL. + */ + channelUrl?: string; + /** + * The channel's display name. + */ + displayName?: string; + /** + * Whether the author is a moderator of the live chat. + */ + isChatModerator?: boolean; + /** + * Whether the author is the owner of the live chat. + */ + isChatOwner?: boolean; + /** + * Whether the author is a sponsor of the live chat. + */ + isChatSponsor?: boolean; + /** + * Whether the author's identity has been verified by YouTube. + */ + isVerified?: boolean; + /** + * The channels's avatar URL. + */ + profileImageUrl?: string; + } + interface Schema$LiveChatMessageDeletedDetails { + deletedMessageId?: string; + } + interface Schema$LiveChatMessageListResponse { + /** + * Etag of this resource. + */ + etag?: string; + /** + * Serialized EventId of the request which produced this response. + */ + eventId?: string; + /** + * A list of live chat messages. + */ + items?: Schema$LiveChatMessage[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "youtube#liveChatMessageListResponse". + */ + kind?: string; + /** + * The token that can be used as the value of the pageToken parameter to + * retrieve the next page in the result set. + */ + nextPageToken?: string; + /** + * The date and time when the underlying stream went offline. The value is + * specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. + */ + offlineAt?: string; + pageInfo?: Schema$PageInfo; + /** + * The amount of time the client should wait before polling again. + */ + pollingIntervalMillis?: number; + tokenPagination?: Schema$TokenPagination; + /** + * The visitorId identifies the visitor. + */ + visitorId?: string; + } + interface Schema$LiveChatMessageRetractedDetails { + retractedMessageId?: string; + } + interface Schema$LiveChatMessageSnippet { + /** + * The ID of the user that authored this message, this field is not always + * filled. textMessageEvent - the user that wrote the message + * fanFundingEvent - the user that funded the broadcast newSponsorEvent - + * the user that just became a sponsor messageDeletedEvent - the moderator + * that took the action messageRetractedEvent - the author that retracted + * their message userBannedEvent - the moderator that took the action + * superChatEvent - the user that made the purchase + */ + authorChannelId?: string; + /** + * Contains a string that can be displayed to the user. If this field is not + * present the message is silent, at the moment only messages of type + * TOMBSTONE and CHAT_ENDED_EVENT are silent. + */ + displayMessage?: string; + /** + * Details about the funding event, this is only set if the type is + * 'fanFundingEvent'. + */ + fanFundingEventDetails?: Schema$LiveChatFanFundingEventDetails; + /** + * Whether the message has display content that should be displayed to + * users. + */ + hasDisplayContent?: boolean; + liveChatId?: string; + messageDeletedDetails?: Schema$LiveChatMessageDeletedDetails; + messageRetractedDetails?: Schema$LiveChatMessageRetractedDetails; + pollClosedDetails?: Schema$LiveChatPollClosedDetails; + pollEditedDetails?: Schema$LiveChatPollEditedDetails; + pollOpenedDetails?: Schema$LiveChatPollOpenedDetails; + pollVotedDetails?: Schema$LiveChatPollVotedDetails; + /** + * The date and time when the message was orignally published. The value is + * specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. + */ + publishedAt?: string; + /** + * Details about the Super Chat event, this is only set if the type is + * 'superChatEvent'. + */ + superChatDetails?: Schema$LiveChatSuperChatDetails; + /** + * Details about the text message, this is only set if the type is + * 'textMessageEvent'. + */ + textMessageDetails?: Schema$LiveChatTextMessageDetails; + /** + * The type of message, this will always be present, it determines the + * contents of the message as well as which fields will be present. + */ + type?: string; + userBannedDetails?: Schema$LiveChatUserBannedMessageDetails; + } + /** + * A liveChatModerator resource represents a moderator for a YouTube live + * chat. A chat moderator has the ability to ban/unban users from a chat, + * remove message, etc. + */ + interface Schema$LiveChatModerator { + /** + * Etag of this resource. + */ + etag?: string; + /** + * The ID that YouTube assigns to uniquely identify the moderator. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "youtube#liveChatModerator". + */ + kind?: string; + /** + * The snippet object contains basic details about the moderator. + */ + snippet?: Schema$LiveChatModeratorSnippet; + } + interface Schema$LiveChatModeratorListResponse { + /** + * Etag of this resource. + */ + etag?: string; + /** + * Serialized EventId of the request which produced this response. + */ + eventId?: string; + /** + * A list of moderators that match the request criteria. + */ + items?: Schema$LiveChatModerator[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "youtube#liveChatModeratorListResponse". + */ + kind?: string; + /** + * The token that can be used as the value of the pageToken parameter to + * retrieve the next page in the result set. + */ + nextPageToken?: string; + pageInfo?: Schema$PageInfo; + /** + * The token that can be used as the value of the pageToken parameter to + * retrieve the previous page in the result set. + */ + prevPageToken?: string; + tokenPagination?: Schema$TokenPagination; + /** + * The visitorId identifies the visitor. + */ + visitorId?: string; + } + interface Schema$LiveChatModeratorSnippet { + /** + * The ID of the live chat this moderator can act on. + */ + liveChatId?: string; + /** + * Details about the moderator. + */ + moderatorDetails?: Schema$ChannelProfileDetails; + } + interface Schema$LiveChatPollClosedDetails { + /** + * The id of the poll that was closed. + */ + pollId?: string; + } + interface Schema$LiveChatPollEditedDetails { + id?: string; + items?: Schema$LiveChatPollItem[]; + prompt?: string; + } + interface Schema$LiveChatPollItem { + /** + * Plain text description of the item. + */ + description?: string; + itemId?: string; + } + interface Schema$LiveChatPollOpenedDetails { + id?: string; + items?: Schema$LiveChatPollItem[]; + prompt?: string; + } + interface Schema$LiveChatPollVotedDetails { + /** + * The poll item the user chose. + */ + itemId?: string; + /** + * The poll the user voted on. + */ + pollId?: string; + } + interface Schema$LiveChatSuperChatDetails { + /** + * A rendered string that displays the fund amount and currency to the user. + */ + amountDisplayString?: string; + /** + * The amount purchased by the user, in micros (1,750,000 micros = 1.75). + */ + amountMicros?: string; + /** + * The currency in which the purchase was made. + */ + currency?: string; + /** + * The tier in which the amount belongs to. Lower amounts belong to lower + * tiers. Starts at 1. + */ + tier?: number; + /** + * The comment added by the user to this Super Chat event. + */ + userComment?: string; + } + interface Schema$LiveChatTextMessageDetails { + /** + * The user's message. + */ + messageText?: string; + } + interface Schema$LiveChatUserBannedMessageDetails { + /** + * The duration of the ban. This property is only present if the banType is + * temporary. + */ + banDurationSeconds?: string; + /** + * The details of the user that was banned. + */ + bannedUserDetails?: Schema$ChannelProfileDetails; + /** + * The type of ban. + */ + banType?: string; + } + /** + * A live stream describes a live ingestion point. + */ + interface Schema$LiveStream { + /** + * The cdn object defines the live stream's content delivery network + * (CDN) settings. These settings provide details about the manner in which + * you stream your content to YouTube. + */ + cdn?: Schema$CdnSettings; + /** + * The content_details object contains information about the stream, + * including the closed captions ingestion URL. + */ + contentDetails?: Schema$LiveStreamContentDetails; + /** + * Etag of this resource. + */ + etag?: string; + /** + * The ID that YouTube assigns to uniquely identify the stream. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "youtube#liveStream". + */ + kind?: string; + /** + * The snippet object contains basic details about the stream, including its + * channel, title, and description. + */ + snippet?: Schema$LiveStreamSnippet; + /** + * The status object contains information about live stream's status. + */ + status?: Schema$LiveStreamStatus; + } + interface Schema$LiveStreamConfigurationIssue { + /** + * The long-form description of the issue and how to resolve it. + */ + description?: string; + /** + * The short-form reason for this issue. + */ + reason?: string; + /** + * How severe this issue is to the stream. + */ + severity?: string; + /** + * The kind of error happening. + */ + type?: string; + } + /** + * Detailed settings of a stream. + */ + interface Schema$LiveStreamContentDetails { + /** + * The ingestion URL where the closed captions of this stream are sent. + */ + closedCaptionsIngestionUrl?: string; + /** + * Indicates whether the stream is reusable, which means that it can be + * bound to multiple broadcasts. It is common for broadcasters to reuse the + * same stream for many different broadcasts if those broadcasts occur at + * different times. If you set this value to false, then the stream will + * not be reusable, which means that it can only be bound to one broadcast. + * Non-reusable streams differ from reusable streams in the following ways: + * - A non-reusable stream can only be bound to one broadcast. - A + * non-reusable stream might be deleted by an automated process after the + * broadcast ends. - The liveStreams.list method does not list + * non-reusable streams if you call the method and set the mine parameter to + * true. The only way to use that method to retrieve the resource for a + * non-reusable stream is to use the id parameter to identify the stream. + */ + isReusable?: boolean; + } + interface Schema$LiveStreamHealthStatus { + /** + * The configurations issues on this stream + */ + configurationIssues?: Schema$LiveStreamConfigurationIssue[]; + /** + * The last time this status was updated (in seconds) + */ + lastUpdateTimeSeconds?: string; + /** + * The status code of this stream + */ + status?: string; + } + interface Schema$LiveStreamListResponse { + /** + * Etag of this resource. + */ + etag?: string; + /** + * Serialized EventId of the request which produced this response. + */ + eventId?: string; + /** + * A list of live streams that match the request criteria. + */ + items?: Schema$LiveStream[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "youtube#liveStreamListResponse". + */ + kind?: string; + /** + * The token that can be used as the value of the pageToken parameter to + * retrieve the next page in the result set. + */ + nextPageToken?: string; + pageInfo?: Schema$PageInfo; + /** + * The token that can be used as the value of the pageToken parameter to + * retrieve the previous page in the result set. + */ + prevPageToken?: string; + tokenPagination?: Schema$TokenPagination; + /** + * The visitorId identifies the visitor. + */ + visitorId?: string; + } + interface Schema$LiveStreamSnippet { + /** + * The ID that YouTube uses to uniquely identify the channel that is + * transmitting the stream. + */ + channelId?: string; + /** + * The stream's description. The value cannot be longer than 10000 + * characters. + */ + description?: string; + isDefaultStream?: boolean; + /** + * The date and time that the stream was created. The value is specified in + * ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. + */ + publishedAt?: string; + /** + * The stream's title. The value must be between 1 and 128 characters + * long. + */ + title?: string; + } + /** + * Brief description of the live stream status. + */ + interface Schema$LiveStreamStatus { + /** + * The health status of the stream. + */ + healthStatus?: Schema$LiveStreamHealthStatus; + streamStatus?: string; + } + interface Schema$LocalizedProperty { + default?: string; + /** + * The language of the default property. + */ + defaultLanguage?: Schema$LanguageTag; + localized?: Schema$LocalizedString[]; + } + interface Schema$LocalizedString { + language?: string; + value?: string; + } + /** + * Settings and Info of the monitor stream + */ + interface Schema$MonitorStreamInfo { + /** + * If you have set the enableMonitorStream property to true, then this + * property determines the length of the live broadcast delay. + */ + broadcastStreamDelayMs?: number; + /** + * HTML code that embeds a player that plays the monitor stream. + */ + embedHtml?: string; + /** + * This value determines whether the monitor stream is enabled for the + * broadcast. If the monitor stream is enabled, then YouTube will broadcast + * the event content on a special stream intended only for the + * broadcaster's consumption. The broadcaster can use the stream to + * review the event content and also to identify the optimal times to insert + * cuepoints. You need to set this value to true if you intend to have a + * broadcast delay for your event. Note: This property cannot be updated + * once the broadcast is in the testing or live state. + */ + enableMonitorStream?: boolean; + } + /** + * Nonprofit information. + */ + interface Schema$Nonprofit { + /** + * Id of the nonprofit. + */ + nonprofitId?: Schema$NonprofitId; + /** + * Legal name of the nonprofit. + */ + nonprofitLegalName?: string; + } + interface Schema$NonprofitId { + value?: string; + } + /** + * Paging details for lists of resources, including total number of items + * available and number of resources returned in a single page. + */ + interface Schema$PageInfo { + /** + * The number of results included in the API response. + */ + resultsPerPage?: number; + /** + * The total number of results in the result set. + */ + totalResults?: number; + } + /** + * A playlist resource represents a YouTube playlist. A playlist is a + * collection of videos that can be viewed sequentially and shared with other + * users. A playlist can contain up to 200 videos, and YouTube does not limit + * the number of playlists that each user creates. By default, playlists are + * publicly visible to other users, but playlists can be public or private. + * YouTube also uses playlists to identify special collections of videos for a + * channel, such as: - uploaded videos - favorite videos - positively + * rated (liked) videos - watch history - watch later To be more specific, + * these lists are associated with a channel, which is a collection of a + * person, group, or company's videos, playlists, and other YouTube + * information. You can retrieve the playlist IDs for each of these lists from + * the channel resource for a given channel. You can then use the + * playlistItems.list method to retrieve any of those lists. You can also add + * or remove items from those lists by calling the playlistItems.insert and + * playlistItems.delete methods. + */ + interface Schema$Playlist { + /** + * The contentDetails object contains information like video count. + */ + contentDetails?: Schema$PlaylistContentDetails; + /** + * Etag of this resource. + */ + etag?: string; + /** + * The ID that YouTube uses to uniquely identify the playlist. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "youtube#playlist". + */ + kind?: string; + /** + * Localizations for different languages + */ + localizations?: any; + /** + * The player object contains information that you would use to play the + * playlist in an embedded player. + */ + player?: Schema$PlaylistPlayer; + /** + * The snippet object contains basic details about the playlist, such as its + * title and description. + */ + snippet?: Schema$PlaylistSnippet; + /** + * The status object contains status information for the playlist. + */ + status?: Schema$PlaylistStatus; + } + interface Schema$PlaylistContentDetails { + /** + * The number of videos in the playlist. + */ + itemCount?: number; + } + /** + * A playlistItem resource identifies another resource, such as a video, that + * is included in a playlist. In addition, the playlistItem resource contains + * details about the included resource that pertain specifically to how that + * resource is used in that playlist. YouTube uses playlists to identify + * special collections of videos for a channel, such as: - uploaded videos + * - favorite videos - positively rated (liked) videos - watch history - + * watch later To be more specific, these lists are associated with a + * channel, which is a collection of a person, group, or company's videos, + * playlists, and other YouTube information. You can retrieve the playlist + * IDs for each of these lists from the channel resource for a given + * channel. You can then use the playlistItems.list method to retrieve any + * of those lists. You can also add or remove items from those lists by + * calling the playlistItems.insert and playlistItems.delete methods. For + * example, if a user gives a positive rating to a video, you would insert + * that video into the liked videos playlist for that user's channel. + */ + interface Schema$PlaylistItem { + /** + * The contentDetails object is included in the resource if the included + * item is a YouTube video. The object contains additional information about + * the video. + */ + contentDetails?: Schema$PlaylistItemContentDetails; + /** + * Etag of this resource. + */ + etag?: string; + /** + * The ID that YouTube uses to uniquely identify the playlist item. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "youtube#playlistItem". + */ + kind?: string; + /** + * The snippet object contains basic details about the playlist item, such + * as its title and position in the playlist. + */ + snippet?: Schema$PlaylistItemSnippet; + /** + * The status object contains information about the playlist item's + * privacy status. + */ + status?: Schema$PlaylistItemStatus; + } + interface Schema$PlaylistItemContentDetails { + /** + * The time, measured in seconds from the start of the video, when the video + * should stop playing. (The playlist owner can specify the times when the + * video should start and stop playing when the video is played in the + * context of the playlist.) By default, assume that the video.endTime is + * the end of the video. + */ + endAt?: string; + /** + * A user-generated note for this item. + */ + note?: string; + /** + * The time, measured in seconds from the start of the video, when the video + * should start playing. (The playlist owner can specify the times when the + * video should start and stop playing when the video is played in the + * context of the playlist.) The default value is 0. + */ + startAt?: string; + /** + * The ID that YouTube uses to uniquely identify a video. To retrieve the + * video resource, set the id query parameter to this value in your API + * request. + */ + videoId?: string; + /** + * The date and time that the video was published to YouTube. The value is + * specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. + */ + videoPublishedAt?: string; + } + interface Schema$PlaylistItemListResponse { + /** + * Etag of this resource. + */ + etag?: string; + /** + * Serialized EventId of the request which produced this response. + */ + eventId?: string; + /** + * A list of playlist items that match the request criteria. + */ + items?: Schema$PlaylistItem[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "youtube#playlistItemListResponse". + */ + kind?: string; + /** + * The token that can be used as the value of the pageToken parameter to + * retrieve the next page in the result set. + */ + nextPageToken?: string; + pageInfo?: Schema$PageInfo; + /** + * The token that can be used as the value of the pageToken parameter to + * retrieve the previous page in the result set. + */ + prevPageToken?: string; + tokenPagination?: Schema$TokenPagination; + /** + * The visitorId identifies the visitor. + */ + visitorId?: string; + } + /** + * Basic details about a playlist, including title, description and + * thumbnails. + */ + interface Schema$PlaylistItemSnippet { + /** + * The ID that YouTube uses to uniquely identify the user that added the + * item to the playlist. + */ + channelId?: string; + /** + * Channel title for the channel that the playlist item belongs to. + */ + channelTitle?: string; + /** + * The item's description. + */ + description?: string; + /** + * The ID that YouTube uses to uniquely identify the playlist that the + * playlist item is in. + */ + playlistId?: string; + /** + * The order in which the item appears in the playlist. The value uses a + * zero-based index, so the first item has a position of 0, the second item + * has a position of 1, and so forth. + */ + position?: number; + /** + * The date and time that the item was added to the playlist. The value is + * specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. + */ + publishedAt?: string; + /** + * The id object contains information that can be used to uniquely identify + * the resource that is included in the playlist as the playlist item. + */ + resourceId?: Schema$ResourceId; + /** + * A map of thumbnail images associated with the playlist item. For each + * object in the map, the key is the name of the thumbnail image, and the + * value is an object that contains other information about the thumbnail. + */ + thumbnails?: Schema$ThumbnailDetails; + /** + * The item's title. + */ + title?: string; + } + /** + * Information about the playlist item's privacy status. + */ + interface Schema$PlaylistItemStatus { + /** + * This resource's privacy status. + */ + privacyStatus?: string; + } + interface Schema$PlaylistListResponse { + /** + * Etag of this resource. + */ + etag?: string; + /** + * Serialized EventId of the request which produced this response. + */ + eventId?: string; + /** + * A list of playlists that match the request criteria. + */ + items?: Schema$Playlist[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "youtube#playlistListResponse". + */ + kind?: string; + /** + * The token that can be used as the value of the pageToken parameter to + * retrieve the next page in the result set. + */ + nextPageToken?: string; + pageInfo?: Schema$PageInfo; + /** + * The token that can be used as the value of the pageToken parameter to + * retrieve the previous page in the result set. + */ + prevPageToken?: string; + tokenPagination?: Schema$TokenPagination; + /** + * The visitorId identifies the visitor. + */ + visitorId?: string; + } + /** + * Playlist localization setting + */ + interface Schema$PlaylistLocalization { + /** + * The localized strings for playlist's description. + */ + description?: string; + /** + * The localized strings for playlist's title. + */ + title?: string; + } + interface Schema$PlaylistPlayer { + /** + * An <iframe> tag that embeds a player that will play the playlist. + */ + embedHtml?: string; + } + /** + * Basic details about a playlist, including title, description and + * thumbnails. + */ + interface Schema$PlaylistSnippet { + /** + * The ID that YouTube uses to uniquely identify the channel that published + * the playlist. + */ + channelId?: string; + /** + * The channel title of the channel that the video belongs to. + */ + channelTitle?: string; + /** + * The language of the playlist's default title and description. + */ + defaultLanguage?: string; + /** + * The playlist's description. + */ + description?: string; + /** + * Localized title and description, read-only. + */ + localized?: Schema$PlaylistLocalization; + /** + * The date and time that the playlist was created. The value is specified + * in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. + */ + publishedAt?: string; + /** + * Keyword tags associated with the playlist. + */ + tags?: string[]; + /** + * A map of thumbnail images associated with the playlist. For each object + * in the map, the key is the name of the thumbnail image, and the value is + * an object that contains other information about the thumbnail. + */ + thumbnails?: Schema$ThumbnailDetails; + /** + * The playlist's title. + */ + title?: string; + } + interface Schema$PlaylistStatus { + /** + * The playlist's privacy status. + */ + privacyStatus?: string; + } + /** + * Describes a single promoted item. + */ + interface Schema$PromotedItem { + /** + * A custom message to display for this promotion. This field is currently + * ignored unless the promoted item is a website. + */ + customMessage?: string; + /** + * Identifies the promoted item. + */ + id?: Schema$PromotedItemId; + /** + * If true, the content owner's name will be used when displaying the + * promotion. This field can only be set when the update is made on behalf + * of the content owner. + */ + promotedByContentOwner?: boolean; + /** + * The temporal position within the video where the promoted item will be + * displayed. If present, it overrides the default timing. + */ + timing?: Schema$InvideoTiming; + } + /** + * Describes a single promoted item id. It is a union of various possible + * types. + */ + interface Schema$PromotedItemId { + /** + * If type is recentUpload, this field identifies the channel from which to + * take the recent upload. If missing, the channel is assumed to be the same + * channel for which the invideoPromotion is set. + */ + recentlyUploadedBy?: string; + /** + * Describes the type of the promoted item. + */ + type?: string; + /** + * If the promoted item represents a video, this field represents the unique + * YouTube ID identifying it. This field will be present only if type has + * the value video. + */ + videoId?: string; + /** + * If the promoted item represents a website, this field represents the url + * pointing to the website. This field will be present only if type has the + * value website. + */ + websiteUrl?: string; + } + /** + * A pair Property / Value. + */ + interface Schema$PropertyValue { + /** + * A property. + */ + property?: string; + /** + * The property's value. + */ + value?: string; + } + /** + * A resource id is a generic reference that points to another YouTube + * resource. + */ + interface Schema$ResourceId { + /** + * The ID that YouTube uses to uniquely identify the referred resource, if + * that resource is a channel. This property is only present if the + * resourceId.kind value is youtube#channel. + */ + channelId?: string; + /** + * The type of the API resource. + */ + kind?: string; + /** + * The ID that YouTube uses to uniquely identify the referred resource, if + * that resource is a playlist. This property is only present if the + * resourceId.kind value is youtube#playlist. + */ + playlistId?: string; + /** + * The ID that YouTube uses to uniquely identify the referred resource, if + * that resource is a video. This property is only present if the + * resourceId.kind value is youtube#video. + */ + videoId?: string; + } + interface Schema$SearchListResponse { + /** + * Etag of this resource. + */ + etag?: string; + /** + * Serialized EventId of the request which produced this response. + */ + eventId?: string; + /** + * A list of results that match the search criteria. + */ + items?: Schema$SearchResult[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "youtube#searchListResponse". + */ + kind?: string; + /** + * The token that can be used as the value of the pageToken parameter to + * retrieve the next page in the result set. + */ + nextPageToken?: string; + pageInfo?: Schema$PageInfo; + /** + * The token that can be used as the value of the pageToken parameter to + * retrieve the previous page in the result set. + */ + prevPageToken?: string; + regionCode?: string; + tokenPagination?: Schema$TokenPagination; + /** + * The visitorId identifies the visitor. + */ + visitorId?: string; + } + /** + * A search result contains information about a YouTube video, channel, or + * playlist that matches the search parameters specified in an API request. + * While a search result points to a uniquely identifiable resource, like a + * video, it does not have its own persistent data. + */ + interface Schema$SearchResult { + /** + * Etag of this resource. + */ + etag?: string; + /** + * The id object contains information that can be used to uniquely identify + * the resource that matches the search request. + */ + id?: Schema$ResourceId; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "youtube#searchResult". + */ + kind?: string; + /** + * The snippet object contains basic details about a search result, such as + * its title or description. For example, if the search result is a video, + * then the title will be the video's title and the description will be + * the video's description. + */ + snippet?: Schema$SearchResultSnippet; + } + /** + * Basic details about a search result, including title, description and + * thumbnails of the item referenced by the search result. + */ + interface Schema$SearchResultSnippet { + /** + * The value that YouTube uses to uniquely identify the channel that + * published the resource that the search result identifies. + */ + channelId?: string; + /** + * The title of the channel that published the resource that the search + * result identifies. + */ + channelTitle?: string; + /** + * A description of the search result. + */ + description?: string; + /** + * It indicates if the resource (video or channel) has upcoming/active live + * broadcast content. Or it's "none" if there is not any + * upcoming/active live broadcasts. + */ + liveBroadcastContent?: string; + /** + * The creation date and time of the resource that the search result + * identifies. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) + * format. + */ + publishedAt?: string; + /** + * A map of thumbnail images associated with the search result. For each + * object in the map, the key is the name of the thumbnail image, and the + * value is an object that contains other information about the thumbnail. + */ + thumbnails?: Schema$ThumbnailDetails; + /** + * The title of the search result. + */ + title?: string; + } + /** + * A sponsor resource represents a sponsor for a YouTube channel. A sponsor + * provides recurring monetary support to a creator and receives special + * benefits. + */ + interface Schema$Sponsor { + /** + * Etag of this resource. + */ + etag?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "youtube#sponsor". + */ + kind?: string; + /** + * The snippet object contains basic details about the sponsor. + */ + snippet?: Schema$SponsorSnippet; + } + interface Schema$SponsorListResponse { + /** + * Etag of this resource. + */ + etag?: string; + /** + * Serialized EventId of the request which produced this response. + */ + eventId?: string; + /** + * A list of sponsors that match the request criteria. + */ + items?: Schema$Sponsor[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "youtube#sponsorListResponse". + */ + kind?: string; + /** + * The token that can be used as the value of the pageToken parameter to + * retrieve the next page in the result set. + */ + nextPageToken?: string; + pageInfo?: Schema$PageInfo; + tokenPagination?: Schema$TokenPagination; + /** + * The visitorId identifies the visitor. + */ + visitorId?: string; + } + interface Schema$SponsorSnippet { + /** + * The id of the channel being sponsored. + */ + channelId?: string; + /** + * The cumulative time a user has been a sponsor in months. + */ + cumulativeDurationMonths?: number; + /** + * Details about the sponsor. + */ + sponsorDetails?: Schema$ChannelProfileDetails; + /** + * The date and time when the user became a sponsor. The value is specified + * in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. + */ + sponsorSince?: string; + } + /** + * A subscription resource contains information about a YouTube user + * subscription. A subscription notifies a user when new videos are added to a + * channel or when another user takes one of several actions on YouTube, such + * as uploading a video, rating a video, or commenting on a video. + */ + interface Schema$Subscription { + /** + * The contentDetails object contains basic statistics about the + * subscription. + */ + contentDetails?: Schema$SubscriptionContentDetails; + /** + * Etag of this resource. + */ + etag?: string; + /** + * The ID that YouTube uses to uniquely identify the subscription. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "youtube#subscription". + */ + kind?: string; + /** + * The snippet object contains basic details about the subscription, + * including its title and the channel that the user subscribed to. + */ + snippet?: Schema$SubscriptionSnippet; + /** + * The subscriberSnippet object contains basic details about the sbuscriber. + */ + subscriberSnippet?: Schema$SubscriptionSubscriberSnippet; + } + /** + * Details about the content to witch a subscription refers. + */ + interface Schema$SubscriptionContentDetails { + /** + * The type of activity this subscription is for (only uploads, everything). + */ + activityType?: string; + /** + * The number of new items in the subscription since its content was last + * read. + */ + newItemCount?: number; + /** + * The approximate number of items that the subscription points to. + */ + totalItemCount?: number; + } + interface Schema$SubscriptionListResponse { + /** + * Etag of this resource. + */ + etag?: string; + /** + * Serialized EventId of the request which produced this response. + */ + eventId?: string; + /** + * A list of subscriptions that match the request criteria. + */ + items?: Schema$Subscription[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "youtube#subscriptionListResponse". + */ + kind?: string; + /** + * The token that can be used as the value of the pageToken parameter to + * retrieve the next page in the result set. + */ + nextPageToken?: string; + pageInfo?: Schema$PageInfo; + /** + * The token that can be used as the value of the pageToken parameter to + * retrieve the previous page in the result set. + */ + prevPageToken?: string; + tokenPagination?: Schema$TokenPagination; + /** + * The visitorId identifies the visitor. + */ + visitorId?: string; + } + /** + * Basic details about a subscription, including title, description and + * thumbnails of the subscribed item. + */ + interface Schema$SubscriptionSnippet { + /** + * The ID that YouTube uses to uniquely identify the subscriber's + * channel. + */ + channelId?: string; + /** + * Channel title for the channel that the subscription belongs to. + */ + channelTitle?: string; + /** + * The subscription's details. + */ + description?: string; + /** + * The date and time that the subscription was created. The value is + * specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. + */ + publishedAt?: string; + /** + * The id object contains information about the channel that the user + * subscribed to. + */ + resourceId?: Schema$ResourceId; + /** + * A map of thumbnail images associated with the video. For each object in + * the map, the key is the name of the thumbnail image, and the value is an + * object that contains other information about the thumbnail. + */ + thumbnails?: Schema$ThumbnailDetails; + /** + * The subscription's title. + */ + title?: string; + } + /** + * Basic details about a subscription's subscriber including title, + * description, channel ID and thumbnails. + */ + interface Schema$SubscriptionSubscriberSnippet { + /** + * The channel ID of the subscriber. + */ + channelId?: string; + /** + * The description of the subscriber. + */ + description?: string; + /** + * Thumbnails for this subscriber. + */ + thumbnails?: Schema$ThumbnailDetails; + /** + * The title of the subscriber. + */ + title?: string; + } + /** + * A superChatEvent resource represents a Super Chat purchase on a YouTube + * channel. + */ + interface Schema$SuperChatEvent { + /** + * Etag of this resource. + */ + etag?: string; + /** + * The ID that YouTube assigns to uniquely identify the Super Chat event. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "youtube#superChatEvent". + */ + kind?: string; + /** + * The snippet object contains basic details about the Super Chat event. + */ + snippet?: Schema$SuperChatEventSnippet; + } + interface Schema$SuperChatEventListResponse { + /** + * Etag of this resource. + */ + etag?: string; + /** + * Serialized EventId of the request which produced this response. + */ + eventId?: string; + /** + * A list of Super Chat purchases that match the request criteria. + */ + items?: Schema$SuperChatEvent[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "youtube#superChatEventListResponse". + */ + kind?: string; + /** + * The token that can be used as the value of the pageToken parameter to + * retrieve the next page in the result set. + */ + nextPageToken?: string; + pageInfo?: Schema$PageInfo; + tokenPagination?: Schema$TokenPagination; + /** + * The visitorId identifies the visitor. + */ + visitorId?: string; + } + interface Schema$SuperChatEventSnippet { + /** + * The purchase amount, in micros of the purchase currency. e.g., 1 is + * represented as 1000000. + */ + amountMicros?: string; + /** + * Channel id where the event occurred. + */ + channelId?: string; + /** + * The text contents of the comment left by the user. + */ + commentText?: string; + /** + * The date and time when the event occurred. The value is specified in ISO + * 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. + */ + createdAt?: string; + /** + * The currency in which the purchase was made. ISO 4217. + */ + currency?: string; + /** + * A rendered string that displays the purchase amount and currency (e.g., + * "$1.00"). The string is rendered for the given language. + */ + displayString?: string; + /** + * True if this event is a Super Chat for Good purchase. + */ + isSuperChatForGood?: boolean; + /** + * The tier for the paid message, which is based on the amount of money + * spent to purchase the message. + */ + messageType?: number; + /** + * If this event is a Super Chat for Good purchase, this field will contain + * information about the charity the purchase is donated to. + */ + nonprofit?: Schema$Nonprofit; + /** + * Details about the supporter. + */ + supporterDetails?: Schema$ChannelProfileDetails; + } + /** + * A thumbnail is an image representing a YouTube resource. + */ + interface Schema$Thumbnail { + /** + * (Optional) Height of the thumbnail image. + */ + height?: number; + /** + * The thumbnail image's URL. + */ + url?: string; + /** + * (Optional) Width of the thumbnail image. + */ + width?: number; + } + /** + * Internal representation of thumbnails for a YouTube resource. + */ + interface Schema$ThumbnailDetails { + /** + * The default image for this resource. + */ + default?: Schema$Thumbnail; + /** + * The high quality image for this resource. + */ + high?: Schema$Thumbnail; + /** + * The maximum resolution quality image for this resource. + */ + maxres?: Schema$Thumbnail; + /** + * The medium quality image for this resource. + */ + medium?: Schema$Thumbnail; + /** + * The standard quality image for this resource. + */ + standard?: Schema$Thumbnail; + } + interface Schema$ThumbnailSetResponse { + /** + * Etag of this resource. + */ + etag?: string; + /** + * Serialized EventId of the request which produced this response. + */ + eventId?: string; + /** + * A list of thumbnails. + */ + items?: Schema$ThumbnailDetails[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "youtube#thumbnailSetResponse". + */ + kind?: string; + /** + * The visitorId identifies the visitor. + */ + visitorId?: string; + } + /** + * Stub token pagination template to suppress results. + */ + interface Schema$TokenPagination { + } + /** + * A video resource represents a YouTube video. + */ + interface Schema$Video { + /** + * Age restriction details related to a video. This data can only be + * retrieved by the video owner. + */ + ageGating?: Schema$VideoAgeGating; + /** + * The contentDetails object contains information about the video content, + * including the length of the video and its aspect ratio. + */ + contentDetails?: Schema$VideoContentDetails; + /** + * Etag of this resource. + */ + etag?: string; + /** + * The fileDetails object encapsulates information about the video file that + * was uploaded to YouTube, including the file's resolution, duration, + * audio and video codecs, stream bitrates, and more. This data can only be + * retrieved by the video owner. + */ + fileDetails?: Schema$VideoFileDetails; + /** + * The ID that YouTube uses to uniquely identify the video. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "youtube#video". + */ + kind?: string; + /** + * The liveStreamingDetails object contains metadata about a live video + * broadcast. The object will only be present in a video resource if the + * video is an upcoming, live, or completed live broadcast. + */ + liveStreamingDetails?: Schema$VideoLiveStreamingDetails; + /** + * List with all localizations. + */ + localizations?: any; + /** + * The monetizationDetails object encapsulates information about the + * monetization status of the video. + */ + monetizationDetails?: Schema$VideoMonetizationDetails; + /** + * The player object contains information that you would use to play the + * video in an embedded player. + */ + player?: Schema$VideoPlayer; + /** + * The processingDetails object encapsulates information about YouTube's + * progress in processing the uploaded video file. The properties in the + * object identify the current processing status and an estimate of the time + * remaining until YouTube finishes processing the video. This part also + * indicates whether different types of data or content, such as file + * details or thumbnail images, are available for the video. The + * processingProgress object is designed to be polled so that the video + * uploaded can track the progress that YouTube has made in processing the + * uploaded video file. This data can only be retrieved by the video owner. + */ + processingDetails?: Schema$VideoProcessingDetails; + /** + * The projectDetails object contains information about the project specific + * video metadata. + */ + projectDetails?: Schema$VideoProjectDetails; + /** + * The recordingDetails object encapsulates information about the location, + * date and address where the video was recorded. + */ + recordingDetails?: Schema$VideoRecordingDetails; + /** + * The snippet object contains basic details about the video, such as its + * title, description, and category. + */ + snippet?: Schema$VideoSnippet; + /** + * The statistics object contains statistics about the video. + */ + statistics?: Schema$VideoStatistics; + /** + * The status object contains information about the video's uploading, + * processing, and privacy statuses. + */ + status?: Schema$VideoStatus; + /** + * The suggestions object encapsulates suggestions that identify + * opportunities to improve the video quality or the metadata for the + * uploaded video. This data can only be retrieved by the video owner. + */ + suggestions?: Schema$VideoSuggestions; + /** + * The topicDetails object encapsulates information about Freebase topics + * associated with the video. + */ + topicDetails?: Schema$VideoTopicDetails; + } + interface Schema$VideoAbuseReport { + /** + * Additional comments regarding the abuse report. + */ + comments?: string; + /** + * The language that the content was viewed in. + */ + language?: string; + /** + * The high-level, or primary, reason that the content is abusive. The value + * is an abuse report reason ID. + */ + reasonId?: string; + /** + * The specific, or secondary, reason that this content is abusive (if + * available). The value is an abuse report reason ID that is a valid + * secondary reason for the primary reason. + */ + secondaryReasonId?: string; + /** + * The ID that YouTube uses to uniquely identify the video. + */ + videoId?: string; + } + /** + * A videoAbuseReportReason resource identifies a reason that a video could be + * reported as abusive. Video abuse report reasons are used with + * video.ReportAbuse. + */ + interface Schema$VideoAbuseReportReason { + /** + * Etag of this resource. + */ + etag?: string; + /** + * The ID of this abuse report reason. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "youtube#videoAbuseReportReason". + */ + kind?: string; + /** + * The snippet object contains basic details about the abuse report reason. + */ + snippet?: Schema$VideoAbuseReportReasonSnippet; + } + interface Schema$VideoAbuseReportReasonListResponse { + /** + * Etag of this resource. + */ + etag?: string; + /** + * Serialized EventId of the request which produced this response. + */ + eventId?: string; + /** + * A list of valid abuse reasons that are used with video.ReportAbuse. + */ + items?: Schema$VideoAbuseReportReason[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "youtube#videoAbuseReportReasonListResponse". + */ + kind?: string; + /** + * The visitorId identifies the visitor. + */ + visitorId?: string; + } + /** + * Basic details about a video category, such as its localized title. + */ + interface Schema$VideoAbuseReportReasonSnippet { + /** + * The localized label belonging to this abuse report reason. + */ + label?: string; + /** + * The secondary reasons associated with this reason, if any are available. + * (There might be 0 or more.) + */ + secondaryReasons?: Schema$VideoAbuseReportSecondaryReason[]; + } + interface Schema$VideoAbuseReportSecondaryReason { + /** + * The ID of this abuse report secondary reason. + */ + id?: string; + /** + * The localized label for this abuse report secondary reason. + */ + label?: string; + } + interface Schema$VideoAgeGating { + /** + * Indicates whether or not the video has alcoholic beverage content. Only + * users of legal purchasing age in a particular country, as identified by + * ICAP, can view the content. + */ + alcoholContent?: boolean; + /** + * Age-restricted trailers. For redband trailers and adult-rated + * video-games. Only users aged 18+ can view the content. The the field is + * true the content is restricted to viewers aged 18+. Otherwise The field + * won't be present. + */ + restricted?: boolean; + /** + * Video game rating, if any. + */ + videoGameRating?: string; + } + /** + * A videoCategory resource identifies a category that has been or could be + * associated with uploaded videos. + */ + interface Schema$VideoCategory { + /** + * Etag of this resource. + */ + etag?: string; + /** + * The ID that YouTube uses to uniquely identify the video category. + */ + id?: string; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "youtube#videoCategory". + */ + kind?: string; + /** + * The snippet object contains basic details about the video category, + * including its title. + */ + snippet?: Schema$VideoCategorySnippet; + } + interface Schema$VideoCategoryListResponse { + /** + * Etag of this resource. + */ + etag?: string; + /** + * Serialized EventId of the request which produced this response. + */ + eventId?: string; + /** + * A list of video categories that can be associated with YouTube videos. In + * this map, the video category ID is the map key, and its value is the + * corresponding videoCategory resource. + */ + items?: Schema$VideoCategory[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "youtube#videoCategoryListResponse". + */ + kind?: string; + /** + * The token that can be used as the value of the pageToken parameter to + * retrieve the next page in the result set. + */ + nextPageToken?: string; + pageInfo?: Schema$PageInfo; + /** + * The token that can be used as the value of the pageToken parameter to + * retrieve the previous page in the result set. + */ + prevPageToken?: string; + tokenPagination?: Schema$TokenPagination; + /** + * The visitorId identifies the visitor. + */ + visitorId?: string; + } + /** + * Basic details about a video category, such as its localized title. + */ + interface Schema$VideoCategorySnippet { + assignable?: boolean; + /** + * The YouTube channel that created the video category. + */ + channelId?: string; + /** + * The video category's title. + */ + title?: string; + } + /** + * Details about the content of a YouTube Video. + */ + interface Schema$VideoContentDetails { + /** + * The value of captions indicates whether the video has captions or not. + */ + caption?: string; + /** + * Specifies the ratings that the video received under various rating + * schemes. + */ + contentRating?: Schema$ContentRating; + /** + * The countryRestriction object contains information about the countries + * where a video is (or is not) viewable. + */ + countryRestriction?: Schema$AccessPolicy; + /** + * The value of definition indicates whether the video is available in high + * definition or only in standard definition. + */ + definition?: string; + /** + * The value of dimension indicates whether the video is available in 3D or + * in 2D. + */ + dimension?: string; + /** + * The length of the video. The tag value is an ISO 8601 duration in the + * format PT#M#S, in which the letters PT indicate that the value specifies + * a period of time, and the letters M and S refer to length in minutes and + * seconds, respectively. The # characters preceding the M and S letters are + * both integers that specify the number of minutes (or seconds) of the + * video. For example, a value of PT15M51S indicates that the video is 15 + * minutes and 51 seconds long. + */ + duration?: string; + /** + * Indicates whether the video uploader has provided a custom thumbnail + * image for the video. This property is only visible to the video uploader. + */ + hasCustomThumbnail?: boolean; + /** + * The value of is_license_content indicates whether the video is licensed + * content. + */ + licensedContent?: boolean; + /** + * Specifies the projection format of the video. + */ + projection?: string; + /** + * The regionRestriction object contains information about the countries + * where a video is (or is not) viewable. The object will contain either the + * contentDetails.regionRestriction.allowed property or the + * contentDetails.regionRestriction.blocked property. + */ + regionRestriction?: Schema$VideoContentDetailsRegionRestriction; + } + /** + * DEPRECATED Region restriction of the video. + */ + interface Schema$VideoContentDetailsRegionRestriction { + /** + * A list of region codes that identify countries where the video is + * viewable. If this property is present and a country is not listed in its + * value, then the video is blocked from appearing in that country. If this + * property is present and contains an empty list, the video is blocked in + * all countries. + */ + allowed?: string[]; + /** + * A list of region codes that identify countries where the video is + * blocked. If this property is present and a country is not listed in its + * value, then the video is viewable in that country. If this property is + * present and contains an empty list, the video is viewable in all + * countries. + */ + blocked?: string[]; + } + /** + * Describes original video file properties, including technical details about + * audio and video streams, but also metadata information like content length, + * digitization time, or geotagging information. + */ + interface Schema$VideoFileDetails { + /** + * A list of audio streams contained in the uploaded video file. Each item + * in the list contains detailed metadata about an audio stream. + */ + audioStreams?: Schema$VideoFileDetailsAudioStream[]; + /** + * The uploaded video file's combined (video and audio) bitrate in bits + * per second. + */ + bitrateBps?: string; + /** + * The uploaded video file's container format. + */ + container?: string; + /** + * The date and time when the uploaded video file was created. The value is + * specified in ISO 8601 format. Currently, the following ISO 8601 formats + * are supported: - Date only: YYYY-MM-DD - Naive time: + * YYYY-MM-DDTHH:MM:SS - Time with timezone: YYYY-MM-DDTHH:MM:SS+HH:MM + */ + creationTime?: string; + /** + * The length of the uploaded video in milliseconds. + */ + durationMs?: string; + /** + * The uploaded file's name. This field is present whether a video file + * or another type of file was uploaded. + */ + fileName?: string; + /** + * The uploaded file's size in bytes. This field is present whether a + * video file or another type of file was uploaded. + */ + fileSize?: string; + /** + * The uploaded file's type as detected by YouTube's video + * processing engine. Currently, YouTube only processes video files, but + * this field is present whether a video file or another type of file was + * uploaded. + */ + fileType?: string; + /** + * A list of video streams contained in the uploaded video file. Each item + * in the list contains detailed metadata about a video stream. + */ + videoStreams?: Schema$VideoFileDetailsVideoStream[]; + } + /** + * Information about an audio stream. + */ + interface Schema$VideoFileDetailsAudioStream { + /** + * The audio stream's bitrate, in bits per second. + */ + bitrateBps?: string; + /** + * The number of audio channels that the stream contains. + */ + channelCount?: number; + /** + * The audio codec that the stream uses. + */ + codec?: string; + /** + * A value that uniquely identifies a video vendor. Typically, the value is + * a four-letter vendor code. + */ + vendor?: string; + } + /** + * Information about a video stream. + */ + interface Schema$VideoFileDetailsVideoStream { + /** + * The video content's display aspect ratio, which specifies the aspect + * ratio in which the video should be displayed. + */ + aspectRatio?: number; + /** + * The video stream's bitrate, in bits per second. + */ + bitrateBps?: string; + /** + * The video codec that the stream uses. + */ + codec?: string; + /** + * The video stream's frame rate, in frames per second. + */ + frameRateFps?: number; + /** + * The encoded video content's height in pixels. + */ + heightPixels?: number; + /** + * The amount that YouTube needs to rotate the original source content to + * properly display the video. + */ + rotation?: string; + /** + * A value that uniquely identifies a video vendor. Typically, the value is + * a four-letter vendor code. + */ + vendor?: string; + /** + * The encoded video content's width in pixels. You can calculate the + * video's encoding aspect ratio as width_pixels / height_pixels. + */ + widthPixels?: number; + } + interface Schema$VideoGetRatingResponse { + /** + * Etag of this resource. + */ + etag?: string; + /** + * Serialized EventId of the request which produced this response. + */ + eventId?: string; + /** + * A list of ratings that match the request criteria. + */ + items?: Schema$VideoRating[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "youtube#videoGetRatingResponse". + */ + kind?: string; + /** + * The visitorId identifies the visitor. + */ + visitorId?: string; + } + interface Schema$VideoListResponse { + /** + * Etag of this resource. + */ + etag?: string; + /** + * Serialized EventId of the request which produced this response. + */ + eventId?: string; + /** + * A list of videos that match the request criteria. + */ + items?: Schema$Video[]; + /** + * Identifies what kind of resource this is. Value: the fixed string + * "youtube#videoListResponse". + */ + kind?: string; + /** + * The token that can be used as the value of the pageToken parameter to + * retrieve the next page in the result set. + */ + nextPageToken?: string; + pageInfo?: Schema$PageInfo; + /** + * The token that can be used as the value of the pageToken parameter to + * retrieve the previous page in the result set. + */ + prevPageToken?: string; + tokenPagination?: Schema$TokenPagination; + /** + * The visitorId identifies the visitor. + */ + visitorId?: string; + } + /** + * Details about the live streaming metadata. + */ + interface Schema$VideoLiveStreamingDetails { + /** + * The ID of the currently active live chat attached to this video. This + * field is filled only if the video is a currently live broadcast that has + * live chat. Once the broadcast transitions to complete this field will be + * removed and the live chat closed down. For persistent broadcasts that + * live chat id will no longer be tied to this video but rather to the new + * video being displayed at the persistent page. + */ + activeLiveChatId?: string; + /** + * The time that the broadcast actually ended. The value is specified in ISO + * 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. This value will not be available + * until the broadcast is over. + */ + actualEndTime?: string; + /** + * The time that the broadcast actually started. The value is specified in + * ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. This value will not be + * available until the broadcast begins. + */ + actualStartTime?: string; + /** + * The number of viewers currently watching the broadcast. The property and + * its value will be present if the broadcast has current viewers and the + * broadcast owner has not hidden the viewcount for the video. Note that + * YouTube stops tracking the number of concurrent viewers for a broadcast + * when the broadcast ends. So, this property would not identify the number + * of viewers watching an archived video of a live broadcast that already + * ended. + */ + concurrentViewers?: string; + /** + * The time that the broadcast is scheduled to end. The value is specified + * in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. If the value is empty or the + * property is not present, then the broadcast is scheduled to continue + * indefinitely. + */ + scheduledEndTime?: string; + /** + * The time that the broadcast is scheduled to begin. The value is specified + * in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. + */ + scheduledStartTime?: string; + } + /** + * Localized versions of certain video properties (e.g. title). + */ + interface Schema$VideoLocalization { + /** + * Localized version of the video's description. + */ + description?: string; + /** + * Localized version of the video's title. + */ + title?: string; + } + /** + * Details about monetization of a YouTube Video. + */ + interface Schema$VideoMonetizationDetails { + /** + * The value of access indicates whether the video can be monetized or not. + */ + access?: Schema$AccessPolicy; + } + /** + * Player to be used for a video playback. + */ + interface Schema$VideoPlayer { + embedHeight?: string; + /** + * An <iframe> tag that embeds a player that will play the video. + */ + embedHtml?: string; + /** + * The embed width + */ + embedWidth?: string; + } + /** + * Describes processing status and progress and availability of some other + * Video resource parts. + */ + interface Schema$VideoProcessingDetails { + /** + * This value indicates whether video editing suggestions, which might + * improve video quality or the playback experience, are available for the + * video. You can retrieve these suggestions by requesting the suggestions + * part in your videos.list() request. + */ + editorSuggestionsAvailability?: string; + /** + * This value indicates whether file details are available for the uploaded + * video. You can retrieve a video's file details by requesting the + * fileDetails part in your videos.list() request. + */ + fileDetailsAvailability?: string; + /** + * The reason that YouTube failed to process the video. This property will + * only have a value if the processingStatus property's value is failed. + */ + processingFailureReason?: string; + /** + * This value indicates whether the video processing engine has generated + * suggestions that might improve YouTube's ability to process the the + * video, warnings that explain video processing problems, or errors that + * cause video processing problems. You can retrieve these suggestions by + * requesting the suggestions part in your videos.list() request. + */ + processingIssuesAvailability?: string; + /** + * The processingProgress object contains information about the progress + * YouTube has made in processing the video. The values are really only + * relevant if the video's processing status is processing. + */ + processingProgress?: Schema$VideoProcessingDetailsProcessingProgress; + /** + * The video's processing status. This value indicates whether YouTube + * was able to process the video or if the video is still being processed. + */ + processingStatus?: string; + /** + * This value indicates whether keyword (tag) suggestions are available for + * the video. Tags can be added to a video's metadata to make it easier + * for other users to find the video. You can retrieve these suggestions by + * requesting the suggestions part in your videos.list() request. + */ + tagSuggestionsAvailability?: string; + /** + * This value indicates whether thumbnail images have been generated for the + * video. + */ + thumbnailsAvailability?: string; + } + /** + * Video processing progress and completion time estimate. + */ + interface Schema$VideoProcessingDetailsProcessingProgress { + /** + * The number of parts of the video that YouTube has already processed. You + * can estimate the percentage of the video that YouTube has already + * processed by calculating: 100 * parts_processed / parts_total Note that + * since the estimated number of parts could increase without a + * corresponding increase in the number of parts that have already been + * processed, it is possible that the calculated progress could periodically + * decrease while YouTube processes a video. + */ + partsProcessed?: string; + /** + * An estimate of the total number of parts that need to be processed for + * the video. The number may be updated with more precise estimates while + * YouTube processes the video. + */ + partsTotal?: string; + /** + * An estimate of the amount of time, in millseconds, that YouTube needs to + * finish processing the video. + */ + timeLeftMs?: string; + } + /** + * Project specific details about the content of a YouTube Video. + */ + interface Schema$VideoProjectDetails { + /** + * A list of project tags associated with the video during the upload. + */ + tags?: string[]; + } + interface Schema$VideoRating { + rating?: string; + videoId?: string; + } + /** + * Recording information associated with the video. + */ + interface Schema$VideoRecordingDetails { + /** + * The geolocation information associated with the video. + */ + location?: Schema$GeoPoint; + /** + * The text description of the location where the video was recorded. + */ + locationDescription?: string; + /** + * The date and time when the video was recorded. The value is specified in + * ISO 8601 (YYYY-MM-DDThh:mm:ss.sssZ) format. + */ + recordingDate?: string; + } + /** + * Basic details about a video, including title, description, uploader, + * thumbnails and category. + */ + interface Schema$VideoSnippet { + /** + * The YouTube video category associated with the video. + */ + categoryId?: string; + /** + * The ID that YouTube uses to uniquely identify the channel that the video + * was uploaded to. + */ + channelId?: string; + /** + * Channel title for the channel that the video belongs to. + */ + channelTitle?: string; + /** + * The default_audio_language property specifies the language spoken in the + * video's default audio track. + */ + defaultAudioLanguage?: string; + /** + * The language of the videos's default snippet. + */ + defaultLanguage?: string; + /** + * The video's description. + */ + description?: string; + /** + * Indicates if the video is an upcoming/active live broadcast. Or it's + * "none" if the video is not an upcoming/active live broadcast. + */ + liveBroadcastContent?: string; + /** + * Localized snippet selected with the hl parameter. If no such localization + * exists, this field is populated with the default snippet. (Read-only) + */ + localized?: Schema$VideoLocalization; + /** + * The date and time that the video was uploaded. The value is specified in + * ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. + */ + publishedAt?: string; + /** + * A list of keyword tags associated with the video. Tags may contain + * spaces. + */ + tags?: string[]; + /** + * A map of thumbnail images associated with the video. For each object in + * the map, the key is the name of the thumbnail image, and the value is an + * object that contains other information about the thumbnail. + */ + thumbnails?: Schema$ThumbnailDetails; + /** + * The video's title. + */ + title?: string; + } + /** + * Statistics about the video, such as the number of times the video was + * viewed or liked. + */ + interface Schema$VideoStatistics { + /** + * The number of comments for the video. + */ + commentCount?: string; + /** + * The number of users who have indicated that they disliked the video by + * giving it a negative rating. + */ + dislikeCount?: string; + /** + * The number of users who currently have the video marked as a favorite + * video. + */ + favoriteCount?: string; + /** + * The number of users who have indicated that they liked the video by + * giving it a positive rating. + */ + likeCount?: string; + /** + * The number of times the video has been viewed. + */ + viewCount?: string; + } + /** + * Basic details about a video category, such as its localized title. + */ + interface Schema$VideoStatus { + /** + * This value indicates if the video can be embedded on another website. + */ + embeddable?: boolean; + /** + * This value explains why a video failed to upload. This property is only + * present if the uploadStatus property indicates that the upload failed. + */ + failureReason?: string; + /** + * The video's license. + */ + license?: string; + /** + * The video's privacy status. + */ + privacyStatus?: string; + /** + * This value indicates if the extended video statistics on the watch page + * can be viewed by everyone. Note that the view count, likes, etc will + * still be visible if this is disabled. + */ + publicStatsViewable?: boolean; + /** + * The date and time when the video is scheduled to publish. It can be set + * only if the privacy status of the video is private. The value is + * specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. + */ + publishAt?: string; + /** + * This value explains why YouTube rejected an uploaded video. This property + * is only present if the uploadStatus property indicates that the upload + * was rejected. + */ + rejectionReason?: string; + /** + * The status of the uploaded video. + */ + uploadStatus?: string; + } + /** + * Specifies suggestions on how to improve video content, including encoding + * hints, tag suggestions, and editor suggestions. + */ + interface Schema$VideoSuggestions { + /** + * A list of video editing operations that might improve the video quality + * or playback experience of the uploaded video. + */ + editorSuggestions?: string[]; + /** + * A list of errors that will prevent YouTube from successfully processing + * the uploaded video video. These errors indicate that, regardless of the + * video's current processing status, eventually, that status will + * almost certainly be failed. + */ + processingErrors?: string[]; + /** + * A list of suggestions that may improve YouTube's ability to process + * the video. + */ + processingHints?: string[]; + /** + * A list of reasons why YouTube may have difficulty transcoding the + * uploaded video or that might result in an erroneous transcoding. These + * warnings are generated before YouTube actually processes the uploaded + * video file. In addition, they identify issues that are unlikely to cause + * the video processing to fail but that might cause problems such as sync + * issues, video artifacts, or a missing audio track. + */ + processingWarnings?: string[]; + /** + * A list of keyword tags that could be added to the video's metadata to + * increase the likelihood that users will locate your video when searching + * or browsing on YouTube. + */ + tagSuggestions?: Schema$VideoSuggestionsTagSuggestion[]; + } + /** + * A single tag suggestion with it's relevance information. + */ + interface Schema$VideoSuggestionsTagSuggestion { + /** + * A set of video categories for which the tag is relevant. You can use this + * information to display appropriate tag suggestions based on the video + * category that the video uploader associates with the video. By default, + * tag suggestions are relevant for all categories if there are no restricts + * defined for the keyword. + */ + categoryRestricts?: string[]; + /** + * The keyword tag suggested for the video. + */ + tag?: string; + } + /** + * Freebase topic information related to the video. + */ + interface Schema$VideoTopicDetails { + /** + * Similar to topic_id, except that these topics are merely relevant to the + * video. These are topics that may be mentioned in, or appear in the video. + * You can retrieve information about each topic using Freebase Topic API. + */ + relevantTopicIds?: string[]; + /** + * A list of Wikipedia URLs that provide a high-level description of the + * video's content. + */ + topicCategories?: string[]; + /** + * A list of Freebase topic IDs that are centrally associated with the + * video. These are topics that are centrally featured in the video, and it + * can be said that the video is mainly about each of these. You can + * retrieve information about each topic using the Freebase Topic API. + */ + topicIds?: string[]; + } + /** + * Branding properties for the watch. All deprecated. + */ + interface Schema$WatchSettings { + /** + * The text color for the video watch page's branded area. + */ + backgroundColor?: string; + /** + * An ID that uniquely identifies a playlist that displays next to the video + * player. + */ + featuredPlaylistId?: string; + /** + * The background color for the video watch page's branded area. + */ + textColor?: string; + } + class Resource$Activities { + root: Youtube; + constructor(root: Youtube); + getRoot(): Youtube; + /** + * youtube.activities.insert + * @desc Posts a bulletin for a specific channel. (The user submitting the + * request must be authorized to act on the channel's behalf.) Note: Even + * though an activity resource can contain information about actions like a + * user rating a video or marking a video as a favorite, you need to use + * other API methods to generate those activity resources. For example, you + * would use the API's videos.rate() method to rate a video and the + * playlistItems.insert() method to mark a video as a favorite. + * @alias youtube.activities.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.part The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include. + * @param {().Activity} 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?: Params$Resource$Activities$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Activities$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Activities$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * youtube.activities.list + * @desc Returns a list of channel activity events that match the request + * criteria. For example, you can retrieve events associated with a + * particular channel, events associated with the user's subscriptions and + * Google+ friends, or the YouTube home page feed, which is customized for + * each user. + * @alias youtube.activities.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.channelId The channelId parameter specifies a unique YouTube channel ID. The API will then return a list of that channel's activities. + * @param {boolean=} params.home Set this parameter's value to true to retrieve the activity feed that displays on the YouTube home page for the currently authenticated user. + * @param {integer=} params.maxResults The maxResults parameter specifies the maximum number of items that should be returned in the result set. + * @param {boolean=} params.mine Set this parameter's value to true to retrieve a feed of the authenticated user's activities. + * @param {string=} params.pageToken The pageToken parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved. + * @param {string} params.part The part parameter specifies a comma-separated list of one or more activity resource properties that the API response will include. If the parameter identifies a property that contains child properties, the child properties will be included in the response. For example, in an activity resource, the snippet property contains other properties that identify the type of activity, a display title for the activity, and so forth. If you set part=snippet, the API response will also contain all of those nested properties. + * @param {string=} params.publishedAfter The publishedAfter parameter specifies the earliest date and time that an activity could have occurred for that activity to be included in the API response. If the parameter value specifies a day, but not a time, then any activities that occurred that day will be included in the result set. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. + * @param {string=} params.publishedBefore The publishedBefore parameter specifies the date and time before which an activity must have occurred for that activity to be included in the API response. If the parameter value specifies a day, but not a time, then any activities that occurred that day will be excluded from the result set. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. + * @param {string=} params.regionCode The regionCode parameter instructs the API to return results for the specified country. The parameter value is an ISO 3166-1 alpha-2 country code. YouTube uses this value when the authorized user's previous activity on YouTube does not provide enough information to generate the activity feed. + * @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?: Params$Resource$Activities$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Activities$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Activities$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Activities$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The part parameter serves two purposes in this operation. It identifies + * the properties that the write operation will set as well as the + * properties that the API response will include. + */ + part?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Activity; + } + interface Params$Resource$Activities$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The channelId parameter specifies a unique YouTube channel ID. The API + * will then return a list of that channel's activities. + */ + channelId?: string; + /** + * Set this parameter's value to true to retrieve the activity feed that + * displays on the YouTube home page for the currently authenticated user. + */ + home?: boolean; + /** + * The maxResults parameter specifies the maximum number of items that + * should be returned in the result set. + */ + maxResults?: number; + /** + * Set this parameter's value to true to retrieve a feed of the + * authenticated user's activities. + */ + mine?: boolean; + /** + * The pageToken parameter identifies a specific page in the result set that + * should be returned. In an API response, the nextPageToken and + * prevPageToken properties identify other pages that could be retrieved. + */ + pageToken?: string; + /** + * The part parameter specifies a comma-separated list of one or more + * activity resource properties that the API response will include. If the + * parameter identifies a property that contains child properties, the child + * properties will be included in the response. For example, in an activity + * resource, the snippet property contains other properties that identify + * the type of activity, a display title for the activity, and so forth. If + * you set part=snippet, the API response will also contain all of those + * nested properties. + */ + part?: string; + /** + * The publishedAfter parameter specifies the earliest date and time that an + * activity could have occurred for that activity to be included in the API + * response. If the parameter value specifies a day, but not a time, then + * any activities that occurred that day will be included in the result set. + * The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. + */ + publishedAfter?: string; + /** + * The publishedBefore parameter specifies the date and time before which an + * activity must have occurred for that activity to be included in the API + * response. If the parameter value specifies a day, but not a time, then + * any activities that occurred that day will be excluded from the result + * set. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. + */ + publishedBefore?: string; + /** + * The regionCode parameter instructs the API to return results for the + * specified country. The parameter value is an ISO 3166-1 alpha-2 country + * code. YouTube uses this value when the authorized user's previous + * activity on YouTube does not provide enough information to generate the + * activity feed. + */ + regionCode?: string; + } + class Resource$Captions { + root: Youtube; + constructor(root: Youtube); + getRoot(): Youtube; + /** + * youtube.captions.delete + * @desc Deletes a specified caption track. + * @alias youtube.captions.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The id parameter identifies the caption track that is being deleted. The value is a caption track ID as identified by the id property in a caption resource. + * @param {string=} params.onBehalfOf ID of the Google+ Page for the channel that the request is be on behalf of + * @param {string=} params.onBehalfOfContentOwner Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The actual CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * @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?: Params$Resource$Captions$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Captions$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Captions$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * youtube.captions.download + * @desc Downloads a caption track. The caption track is returned in its + * original format unless the request specifies a value for the tfmt + * parameter and in its original language unless the request specifies a + * value for the tlang parameter. + * @alias youtube.captions.download + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The id parameter identifies the caption track that is being retrieved. The value is a caption track ID as identified by the id property in a caption resource. + * @param {string=} params.onBehalfOf ID of the Google+ Page for the channel that the request is be on behalf of + * @param {string=} params.onBehalfOfContentOwner Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The actual CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * @param {string=} params.tfmt The tfmt parameter specifies that the caption track should be returned in a specific format. If the parameter is not included in the request, the track is returned in its original format. + * @param {string=} params.tlang The tlang parameter specifies that the API response should return a translation of the specified caption track. The parameter value is an ISO 639-1 two-letter language code that identifies the desired caption language. The translation is generated by using machine translation, such as Google Translate. + * @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 + */ + download(params?: Params$Resource$Captions$Download, options?: MethodOptions): AxiosPromise; + download(params: Params$Resource$Captions$Download, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + download(params: Params$Resource$Captions$Download, callback: BodyResponseCallback): void; + download(callback: BodyResponseCallback): void; + /** + * youtube.captions.insert + * @desc Uploads a caption track. + * @alias youtube.captions.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.onBehalfOf ID of the Google+ Page for the channel that the request is be on behalf of + * @param {string=} params.onBehalfOfContentOwner Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The actual CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * @param {string} params.part The part parameter specifies the caption resource parts that the API response will include. Set the parameter value to snippet. + * @param {boolean=} params.sync The sync parameter indicates whether YouTube should automatically synchronize the caption file with the audio track of the video. If you set the value to true, YouTube will disregard any time codes that are in the uploaded caption file and generate new time codes for the captions. You should set the sync parameter to true if you are uploading a transcript, which has no time codes, or if you suspect the time codes in your file are incorrect and want YouTube to try to fix them. + * @param {object} params.resource Media resource metadata + * @param {object} params.media Media object + * @param {string} params.media.mimeType Media mime-type + * @param {string|object} params.media.body Media body contents + * @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?: Params$Resource$Captions$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Captions$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Captions$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * youtube.captions.list + * @desc Returns a list of caption tracks that are associated with a + * specified video. Note that the API response does not contain the actual + * captions and that the captions.download method provides the ability to + * retrieve a caption track. + * @alias youtube.captions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.id The id parameter specifies a comma-separated list of IDs that identify the caption resources that should be retrieved. Each ID must identify a caption track associated with the specified video. + * @param {string=} params.onBehalfOf ID of the Google+ Page for the channel that the request is on behalf of. + * @param {string=} params.onBehalfOfContentOwner Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The actual CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * @param {string} params.part The part parameter specifies a comma-separated list of one or more caption resource parts that the API response will include. The part names that you can include in the parameter value are id and snippet. + * @param {string} params.videoId The videoId parameter specifies the YouTube video ID of the video for which the API should return caption tracks. + * @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?: Params$Resource$Captions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Captions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Captions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * youtube.captions.update + * @desc Updates a caption track. When updating a caption track, you can + * change the track's draft status, upload a new caption file for the track, + * or both. + * @alias youtube.captions.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.onBehalfOf ID of the Google+ Page for the channel that the request is be on behalf of + * @param {string=} params.onBehalfOfContentOwner Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The actual CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * @param {string} params.part The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include. Set the property value to snippet if you are updating the track's draft status. Otherwise, set the property value to id. + * @param {boolean=} params.sync Note: The API server only processes the parameter value if the request contains an updated caption file. The sync parameter indicates whether YouTube should automatically synchronize the caption file with the audio track of the video. If you set the value to true, YouTube will automatically synchronize the caption track with the audio track. + * @param {object} params.resource Media resource metadata + * @param {object} params.media Media object + * @param {string} params.media.mimeType Media mime-type + * @param {string|object} params.media.body Media body contents + * @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?: Params$Resource$Captions$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Captions$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Captions$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Captions$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The id parameter identifies the caption track that is being deleted. The + * value is a caption track ID as identified by the id property in a caption + * resource. + */ + id?: string; + /** + * ID of the Google+ Page for the channel that the request is be on behalf + * of + */ + onBehalfOf?: string; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. The onBehalfOfContentOwner parameter indicates that the + * request's authorization credentials identify a YouTube CMS user who is + * acting on behalf of the content owner specified in the parameter value. + * This parameter is intended for YouTube content partners that own and + * manage many different YouTube channels. It allows content owners to + * authenticate once and get access to all their video and channel data, + * without having to provide authentication credentials for each individual + * channel. The actual CMS account that the user authenticates with must be + * linked to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + } + interface Params$Resource$Captions$Download { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The id parameter identifies the caption track that is being retrieved. + * The value is a caption track ID as identified by the id property in a + * caption resource. + */ + id?: string; + /** + * ID of the Google+ Page for the channel that the request is be on behalf + * of + */ + onBehalfOf?: string; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. The onBehalfOfContentOwner parameter indicates that the + * request's authorization credentials identify a YouTube CMS user who is + * acting on behalf of the content owner specified in the parameter value. + * This parameter is intended for YouTube content partners that own and + * manage many different YouTube channels. It allows content owners to + * authenticate once and get access to all their video and channel data, + * without having to provide authentication credentials for each individual + * channel. The actual CMS account that the user authenticates with must be + * linked to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + /** + * The tfmt parameter specifies that the caption track should be returned in + * a specific format. If the parameter is not included in the request, the + * track is returned in its original format. + */ + tfmt?: string; + /** + * The tlang parameter specifies that the API response should return a + * translation of the specified caption track. The parameter value is an ISO + * 639-1 two-letter language code that identifies the desired caption + * language. The translation is generated by using machine translation, such + * as Google Translate. + */ + tlang?: string; + } + interface Params$Resource$Captions$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ID of the Google+ Page for the channel that the request is be on behalf + * of + */ + onBehalfOf?: string; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. The onBehalfOfContentOwner parameter indicates that the + * request's authorization credentials identify a YouTube CMS user who is + * acting on behalf of the content owner specified in the parameter value. + * This parameter is intended for YouTube content partners that own and + * manage many different YouTube channels. It allows content owners to + * authenticate once and get access to all their video and channel data, + * without having to provide authentication credentials for each individual + * channel. The actual CMS account that the user authenticates with must be + * linked to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + /** + * The part parameter specifies the caption resource parts that the API + * response will include. Set the parameter value to snippet. + */ + part?: string; + /** + * The sync parameter indicates whether YouTube should automatically + * synchronize the caption file with the audio track of the video. If you + * set the value to true, YouTube will disregard any time codes that are in + * the uploaded caption file and generate new time codes for the captions. + * You should set the sync parameter to true if you are uploading a + * transcript, which has no time codes, or if you suspect the time codes in + * your file are incorrect and want YouTube to try to fix them. + */ + sync?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$Caption; + /** + * Media metadata + */ + media?: { + /** + * Media mime-type + */ + mediaType?: string; + /** + * Media body contents + */ + body?: any; + }; + } + interface Params$Resource$Captions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The id parameter specifies a comma-separated list of IDs that identify + * the caption resources that should be retrieved. Each ID must identify a + * caption track associated with the specified video. + */ + id?: string; + /** + * ID of the Google+ Page for the channel that the request is on behalf of. + */ + onBehalfOf?: string; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. The onBehalfOfContentOwner parameter indicates that the + * request's authorization credentials identify a YouTube CMS user who is + * acting on behalf of the content owner specified in the parameter value. + * This parameter is intended for YouTube content partners that own and + * manage many different YouTube channels. It allows content owners to + * authenticate once and get access to all their video and channel data, + * without having to provide authentication credentials for each individual + * channel. The actual CMS account that the user authenticates with must be + * linked to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + /** + * The part parameter specifies a comma-separated list of one or more + * caption resource parts that the API response will include. The part names + * that you can include in the parameter value are id and snippet. + */ + part?: string; + /** + * The videoId parameter specifies the YouTube video ID of the video for + * which the API should return caption tracks. + */ + videoId?: string; + } + interface Params$Resource$Captions$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * ID of the Google+ Page for the channel that the request is be on behalf + * of + */ + onBehalfOf?: string; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. The onBehalfOfContentOwner parameter indicates that the + * request's authorization credentials identify a YouTube CMS user who is + * acting on behalf of the content owner specified in the parameter value. + * This parameter is intended for YouTube content partners that own and + * manage many different YouTube channels. It allows content owners to + * authenticate once and get access to all their video and channel data, + * without having to provide authentication credentials for each individual + * channel. The actual CMS account that the user authenticates with must be + * linked to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + /** + * The part parameter serves two purposes in this operation. It identifies + * the properties that the write operation will set as well as the + * properties that the API response will include. Set the property value to + * snippet if you are updating the track's draft status. Otherwise, set the + * property value to id. + */ + part?: string; + /** + * Note: The API server only processes the parameter value if the request + * contains an updated caption file. The sync parameter indicates whether + * YouTube should automatically synchronize the caption file with the audio + * track of the video. If you set the value to true, YouTube will + * automatically synchronize the caption track with the audio track. + */ + sync?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$Caption; + /** + * Media metadata + */ + media?: { + /** + * Media mime-type + */ + mediaType?: string; + /** + * Media body contents + */ + body?: any; + }; + } + class Resource$Channelbanners { + root: Youtube; + constructor(root: Youtube); + getRoot(): Youtube; + /** + * youtube.channelBanners.insert + * @desc Uploads a channel banner image to YouTube. This method represents + * the first two steps in a three-step process to update the banner image + * for a channel: - Call the channelBanners.insert method to upload the + * binary image data to YouTube. The image must have a 16:9 aspect ratio and + * be at least 2120x1192 pixels. - Extract the url property's value from the + * response that the API returns for step 1. - Call the channels.update + * method to update the channel's branding settings. Set the + * brandingSettings.image.bannerExternalUrl property's value to the URL + * obtained in step 2. + * @alias youtube.channelBanners.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.channelId The channelId parameter identifies the YouTube channel to which the banner is uploaded. The channelId parameter was introduced as a required parameter in May 2017. As this was a backward-incompatible change, channelBanners.insert requests that do not specify this parameter will not return an error until six months have passed from the time that the parameter was introduced. Please see the API Terms of Service for the official policy regarding backward incompatible changes and the API revision history for the exact date that the parameter was introduced. + * @param {string=} params.onBehalfOfContentOwner Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * @param {object} params.resource Media resource metadata + * @param {object} params.media Media object + * @param {string} params.media.mimeType Media mime-type + * @param {string|object} params.media.body Media body contents + * @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?: Params$Resource$Channelbanners$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Channelbanners$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Channelbanners$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + } + interface Params$Resource$Channelbanners$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The channelId parameter identifies the YouTube channel to which the + * banner is uploaded. The channelId parameter was introduced as a required + * parameter in May 2017. As this was a backward-incompatible change, + * channelBanners.insert requests that do not specify this parameter will + * not return an error until six months have passed from the time that the + * parameter was introduced. Please see the API Terms of Service for the + * official policy regarding backward incompatible changes and the API + * revision history for the exact date that the parameter was introduced. + */ + channelId?: string; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. The onBehalfOfContentOwner parameter indicates that the + * request's authorization credentials identify a YouTube CMS user who is + * acting on behalf of the content owner specified in the parameter value. + * This parameter is intended for YouTube content partners that own and + * manage many different YouTube channels. It allows content owners to + * authenticate once and get access to all their video and channel data, + * without having to provide authentication credentials for each individual + * channel. The CMS account that the user authenticates with must be linked + * to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ChannelBannerResource; + /** + * Media metadata + */ + media?: { + /** + * Media mime-type + */ + mediaType?: string; + /** + * Media body contents + */ + body?: any; + }; + } + class Resource$Channels { + root: Youtube; + constructor(root: Youtube); + getRoot(): Youtube; + /** + * youtube.channels.list + * @desc Returns a collection of zero or more channel resources that match + * the request criteria. + * @alias youtube.channels.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.categoryId The categoryId parameter specifies a YouTube guide category, thereby requesting YouTube channels associated with that category. + * @param {string=} params.forUsername The forUsername parameter specifies a YouTube username, thereby requesting the channel associated with that username. + * @param {string=} params.hl The hl parameter should be used for filter out the properties that are not in the given language. Used for the brandingSettings part. + * @param {string=} params.id The id parameter specifies a comma-separated list of the YouTube channel ID(s) for the resource(s) that are being retrieved. In a channel resource, the id property specifies the channel's YouTube channel ID. + * @param {boolean=} params.managedByMe Note: This parameter is intended exclusively for YouTube content partners. Set this parameter's value to true to instruct the API to only return channels managed by the content owner that the onBehalfOfContentOwner parameter specifies. The user must be authenticated as a CMS account linked to the specified content owner and onBehalfOfContentOwner must be provided. + * @param {integer=} params.maxResults The maxResults parameter specifies the maximum number of items that should be returned in the result set. + * @param {boolean=} params.mine Set this parameter's value to true to instruct the API to only return channels owned by the authenticated user. + * @param {boolean=} params.mySubscribers Use the subscriptions.list method and its mySubscribers parameter to retrieve a list of subscribers to the authenticated user's channel. + * @param {string=} params.onBehalfOfContentOwner Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * @param {string=} params.pageToken The pageToken parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved. + * @param {string} params.part The part parameter specifies a comma-separated list of one or more channel resource properties that the API response will include. If the parameter identifies a property that contains child properties, the child properties will be included in the response. For example, in a channel resource, the contentDetails property contains other properties, such as the uploads properties. As such, if you set part=contentDetails, the API response will also contain all of those nested properties. + * @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?: Params$Resource$Channels$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Channels$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Channels$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * youtube.channels.update + * @desc Updates a channel's metadata. Note that this method currently only + * supports updates to the channel resource's brandingSettings and + * invideoPromotion objects and their child properties. + * @alias youtube.channels.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.onBehalfOfContentOwner The onBehalfOfContentOwner parameter indicates that the authenticated user is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The actual CMS account that the user authenticates with needs to be linked to the specified YouTube content owner. + * @param {string} params.part The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include. The API currently only allows the parameter value to be set to either brandingSettings or invideoPromotion. (You cannot update both of those parts with a single request.) Note that this method overrides the existing values for all of the mutable properties that are contained in any parts that the parameter value specifies. + * @param {().Channel} 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?: Params$Resource$Channels$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Channels$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Channels$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Channels$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The categoryId parameter specifies a YouTube guide category, thereby + * requesting YouTube channels associated with that category. + */ + categoryId?: string; + /** + * The forUsername parameter specifies a YouTube username, thereby + * requesting the channel associated with that username. + */ + forUsername?: string; + /** + * The hl parameter should be used for filter out the properties that are + * not in the given language. Used for the brandingSettings part. + */ + hl?: string; + /** + * The id parameter specifies a comma-separated list of the YouTube channel + * ID(s) for the resource(s) that are being retrieved. In a channel + * resource, the id property specifies the channel's YouTube channel ID. + */ + id?: string; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. Set this parameter's value to true to instruct the API to only + * return channels managed by the content owner that the + * onBehalfOfContentOwner parameter specifies. The user must be + * authenticated as a CMS account linked to the specified content owner and + * onBehalfOfContentOwner must be provided. + */ + managedByMe?: boolean; + /** + * The maxResults parameter specifies the maximum number of items that + * should be returned in the result set. + */ + maxResults?: number; + /** + * Set this parameter's value to true to instruct the API to only return + * channels owned by the authenticated user. + */ + mine?: boolean; + /** + * Use the subscriptions.list method and its mySubscribers parameter to + * retrieve a list of subscribers to the authenticated user's channel. + */ + mySubscribers?: boolean; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. The onBehalfOfContentOwner parameter indicates that the + * request's authorization credentials identify a YouTube CMS user who is + * acting on behalf of the content owner specified in the parameter value. + * This parameter is intended for YouTube content partners that own and + * manage many different YouTube channels. It allows content owners to + * authenticate once and get access to all their video and channel data, + * without having to provide authentication credentials for each individual + * channel. The CMS account that the user authenticates with must be linked + * to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + /** + * The pageToken parameter identifies a specific page in the result set that + * should be returned. In an API response, the nextPageToken and + * prevPageToken properties identify other pages that could be retrieved. + */ + pageToken?: string; + /** + * The part parameter specifies a comma-separated list of one or more + * channel resource properties that the API response will include. If the + * parameter identifies a property that contains child properties, the child + * properties will be included in the response. For example, in a channel + * resource, the contentDetails property contains other properties, such as + * the uploads properties. As such, if you set part=contentDetails, the API + * response will also contain all of those nested properties. + */ + part?: string; + } + interface Params$Resource$Channels$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The onBehalfOfContentOwner parameter indicates that the authenticated + * user is acting on behalf of the content owner specified in the parameter + * value. This parameter is intended for YouTube content partners that own + * and manage many different YouTube channels. It allows content owners to + * authenticate once and get access to all their video and channel data, + * without having to provide authentication credentials for each individual + * channel. The actual CMS account that the user authenticates with needs to + * be linked to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + /** + * The part parameter serves two purposes in this operation. It identifies + * the properties that the write operation will set as well as the + * properties that the API response will include. The API currently only + * allows the parameter value to be set to either brandingSettings or + * invideoPromotion. (You cannot update both of those parts with a single + * request.) Note that this method overrides the existing values for all of + * the mutable properties that are contained in any parts that the parameter + * value specifies. + */ + part?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Channel; + } + class Resource$Channelsections { + root: Youtube; + constructor(root: Youtube); + getRoot(): Youtube; + /** + * youtube.channelSections.delete + * @desc Deletes a channelSection. + * @alias youtube.channelSections.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The id parameter specifies the YouTube channelSection ID for the resource that is being deleted. In a channelSection resource, the id property specifies the YouTube channelSection ID. + * @param {string=} params.onBehalfOfContentOwner Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * @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?: Params$Resource$Channelsections$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Channelsections$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Channelsections$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * youtube.channelSections.insert + * @desc Adds a channelSection for the authenticated user's channel. + * @alias youtube.channelSections.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.onBehalfOfContentOwner Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * @param {string=} params.onBehalfOfContentOwnerChannel This parameter can only be used in a properly authorized request. Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel. + * @param {string} params.part The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include. The part names that you can include in the parameter value are snippet and contentDetails. + * @param {().ChannelSection} 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?: Params$Resource$Channelsections$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Channelsections$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Channelsections$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * youtube.channelSections.list + * @desc Returns channelSection resources that match the API request + * criteria. + * @alias youtube.channelSections.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.channelId The channelId parameter specifies a YouTube channel ID. The API will only return that channel's channelSections. + * @param {string=} params.hl The hl parameter indicates that the snippet.localized property values in the returned channelSection resources should be in the specified language if localized values for that language are available. For example, if the API request specifies hl=de, the snippet.localized properties in the API response will contain German titles if German titles are available. Channel owners can provide localized channel section titles using either the channelSections.insert or channelSections.update method. + * @param {string=} params.id The id parameter specifies a comma-separated list of the YouTube channelSection ID(s) for the resource(s) that are being retrieved. In a channelSection resource, the id property specifies the YouTube channelSection ID. + * @param {boolean=} params.mine Set this parameter's value to true to retrieve a feed of the authenticated user's channelSections. + * @param {string=} params.onBehalfOfContentOwner Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * @param {string} params.part The part parameter specifies a comma-separated list of one or more channelSection resource properties that the API response will include. The part names that you can include in the parameter value are id, snippet, and contentDetails. If the parameter identifies a property that contains child properties, the child properties will be included in the response. For example, in a channelSection resource, the snippet property contains other properties, such as a display title for the channelSection. If you set part=snippet, the API response will also contain all of those nested properties. + * @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?: Params$Resource$Channelsections$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Channelsections$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Channelsections$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * youtube.channelSections.update + * @desc Update a channelSection. + * @alias youtube.channelSections.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.onBehalfOfContentOwner Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * @param {string} params.part The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include. The part names that you can include in the parameter value are snippet and contentDetails. + * @param {().ChannelSection} 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?: Params$Resource$Channelsections$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Channelsections$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Channelsections$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Channelsections$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The id parameter specifies the YouTube channelSection ID for the resource + * that is being deleted. In a channelSection resource, the id property + * specifies the YouTube channelSection ID. + */ + id?: string; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. The onBehalfOfContentOwner parameter indicates that the + * request's authorization credentials identify a YouTube CMS user who is + * acting on behalf of the content owner specified in the parameter value. + * This parameter is intended for YouTube content partners that own and + * manage many different YouTube channels. It allows content owners to + * authenticate once and get access to all their video and channel data, + * without having to provide authentication credentials for each individual + * channel. The CMS account that the user authenticates with must be linked + * to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + } + interface Params$Resource$Channelsections$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. The onBehalfOfContentOwner parameter indicates that the + * request's authorization credentials identify a YouTube CMS user who is + * acting on behalf of the content owner specified in the parameter value. + * This parameter is intended for YouTube content partners that own and + * manage many different YouTube channels. It allows content owners to + * authenticate once and get access to all their video and channel data, + * without having to provide authentication credentials for each individual + * channel. The CMS account that the user authenticates with must be linked + * to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + /** + * This parameter can only be used in a properly authorized request. Note: + * This parameter is intended exclusively for YouTube content partners. The + * onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID + * of the channel to which a video is being added. This parameter is + * required when a request specifies a value for the onBehalfOfContentOwner + * parameter, and it can only be used in conjunction with that parameter. In + * addition, the request must be authorized using a CMS account that is + * linked to the content owner that the onBehalfOfContentOwner parameter + * specifies. Finally, the channel that the onBehalfOfContentOwnerChannel + * parameter value specifies must be linked to the content owner that the + * onBehalfOfContentOwner parameter specifies. This parameter is intended + * for YouTube content partners that own and manage many different YouTube + * channels. It allows content owners to authenticate once and perform + * actions on behalf of the channel specified in the parameter value, + * without having to provide authentication credentials for each separate + * channel. + */ + onBehalfOfContentOwnerChannel?: string; + /** + * The part parameter serves two purposes in this operation. It identifies + * the properties that the write operation will set as well as the + * properties that the API response will include. The part names that you + * can include in the parameter value are snippet and contentDetails. + */ + part?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ChannelSection; + } + interface Params$Resource$Channelsections$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The channelId parameter specifies a YouTube channel ID. The API will only + * return that channel's channelSections. + */ + channelId?: string; + /** + * The hl parameter indicates that the snippet.localized property values in + * the returned channelSection resources should be in the specified language + * if localized values for that language are available. For example, if the + * API request specifies hl=de, the snippet.localized properties in the API + * response will contain German titles if German titles are available. + * Channel owners can provide localized channel section titles using either + * the channelSections.insert or channelSections.update method. + */ + hl?: string; + /** + * The id parameter specifies a comma-separated list of the YouTube + * channelSection ID(s) for the resource(s) that are being retrieved. In a + * channelSection resource, the id property specifies the YouTube + * channelSection ID. + */ + id?: string; + /** + * Set this parameter's value to true to retrieve a feed of the + * authenticated user's channelSections. + */ + mine?: boolean; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. The onBehalfOfContentOwner parameter indicates that the + * request's authorization credentials identify a YouTube CMS user who is + * acting on behalf of the content owner specified in the parameter value. + * This parameter is intended for YouTube content partners that own and + * manage many different YouTube channels. It allows content owners to + * authenticate once and get access to all their video and channel data, + * without having to provide authentication credentials for each individual + * channel. The CMS account that the user authenticates with must be linked + * to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + /** + * The part parameter specifies a comma-separated list of one or more + * channelSection resource properties that the API response will include. + * The part names that you can include in the parameter value are id, + * snippet, and contentDetails. If the parameter identifies a property that + * contains child properties, the child properties will be included in the + * response. For example, in a channelSection resource, the snippet property + * contains other properties, such as a display title for the + * channelSection. If you set part=snippet, the API response will also + * contain all of those nested properties. + */ + part?: string; + } + interface Params$Resource$Channelsections$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. The onBehalfOfContentOwner parameter indicates that the + * request's authorization credentials identify a YouTube CMS user who is + * acting on behalf of the content owner specified in the parameter value. + * This parameter is intended for YouTube content partners that own and + * manage many different YouTube channels. It allows content owners to + * authenticate once and get access to all their video and channel data, + * without having to provide authentication credentials for each individual + * channel. The CMS account that the user authenticates with must be linked + * to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + /** + * The part parameter serves two purposes in this operation. It identifies + * the properties that the write operation will set as well as the + * properties that the API response will include. The part names that you + * can include in the parameter value are snippet and contentDetails. + */ + part?: string; + /** + * Request body metadata + */ + requestBody?: Schema$ChannelSection; + } + class Resource$Comments { + root: Youtube; + constructor(root: Youtube); + getRoot(): Youtube; + /** + * youtube.comments.delete + * @desc Deletes a comment. + * @alias youtube.comments.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The id parameter specifies the comment ID for the resource that is being deleted. + * @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?: Params$Resource$Comments$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Comments$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Comments$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * youtube.comments.insert + * @desc Creates a reply to an existing comment. Note: To create a top-level + * comment, use the commentThreads.insert method. + * @alias youtube.comments.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.part The part parameter identifies the properties that the API response will include. Set the parameter value to snippet. The snippet part has a quota cost of 2 units. + * @param {().Comment} 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?: Params$Resource$Comments$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Comments$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Comments$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * youtube.comments.list + * @desc Returns a list of comments that match the API request parameters. + * @alias youtube.comments.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.id The id parameter specifies a comma-separated list of comment IDs for the resources that are being retrieved. In a comment resource, the id property specifies the comment's ID. + * @param {integer=} params.maxResults The maxResults parameter specifies the maximum number of items that should be returned in the result set. Note: This parameter is not supported for use in conjunction with the id parameter. + * @param {string=} params.pageToken The pageToken parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken property identifies the next page of the result that can be retrieved. Note: This parameter is not supported for use in conjunction with the id parameter. + * @param {string=} params.parentId The parentId parameter specifies the ID of the comment for which replies should be retrieved. Note: YouTube currently supports replies only for top-level comments. However, replies to replies may be supported in the future. + * @param {string} params.part The part parameter specifies a comma-separated list of one or more comment resource properties that the API response will include. + * @param {string=} params.textFormat This parameter indicates whether the API should return comments formatted as HTML or as plain text. + * @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?: Params$Resource$Comments$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Comments$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Comments$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * youtube.comments.markAsSpam + * @desc Expresses the caller's opinion that one or more comments should be + * flagged as spam. + * @alias youtube.comments.markAsSpam + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The id parameter specifies a comma-separated list of IDs of comments that the caller believes should be classified as spam. + * @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 + */ + markAsSpam(params?: Params$Resource$Comments$Markasspam, options?: MethodOptions): AxiosPromise; + markAsSpam(params: Params$Resource$Comments$Markasspam, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + markAsSpam(params: Params$Resource$Comments$Markasspam, callback: BodyResponseCallback): void; + markAsSpam(callback: BodyResponseCallback): void; + /** + * youtube.comments.setModerationStatus + * @desc Sets the moderation status of one or more comments. The API request + * must be authorized by the owner of the channel or video associated with + * the comments. + * @alias youtube.comments.setModerationStatus + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.banAuthor The banAuthor parameter lets you indicate that you want to automatically reject any additional comments written by the comment's author. Set the parameter value to true to ban the author. Note: This parameter is only valid if the moderationStatus parameter is also set to rejected. + * @param {string} params.id The id parameter specifies a comma-separated list of IDs that identify the comments for which you are updating the moderation status. + * @param {string} params.moderationStatus Identifies the new moderation status of the specified comments. + * @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 + */ + setModerationStatus(params?: Params$Resource$Comments$Setmoderationstatus, options?: MethodOptions): AxiosPromise; + setModerationStatus(params: Params$Resource$Comments$Setmoderationstatus, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + setModerationStatus(params: Params$Resource$Comments$Setmoderationstatus, callback: BodyResponseCallback): void; + setModerationStatus(callback: BodyResponseCallback): void; + /** + * youtube.comments.update + * @desc Modifies a comment. + * @alias youtube.comments.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.part The part parameter identifies the properties that the API response will include. You must at least include the snippet part in the parameter value since that part contains all of the properties that the API request can update. + * @param {().Comment} 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?: Params$Resource$Comments$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Comments$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Comments$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Comments$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The id parameter specifies the comment ID for the resource that is being + * deleted. + */ + id?: string; + } + interface Params$Resource$Comments$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The part parameter identifies the properties that the API response will + * include. Set the parameter value to snippet. The snippet part has a quota + * cost of 2 units. + */ + part?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Comment; + } + interface Params$Resource$Comments$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The id parameter specifies a comma-separated list of comment IDs for the + * resources that are being retrieved. In a comment resource, the id + * property specifies the comment's ID. + */ + id?: string; + /** + * The maxResults parameter specifies the maximum number of items that + * should be returned in the result set. Note: This parameter is not + * supported for use in conjunction with the id parameter. + */ + maxResults?: number; + /** + * The pageToken parameter identifies a specific page in the result set that + * should be returned. In an API response, the nextPageToken property + * identifies the next page of the result that can be retrieved. Note: This + * parameter is not supported for use in conjunction with the id parameter. + */ + pageToken?: string; + /** + * The parentId parameter specifies the ID of the comment for which replies + * should be retrieved. Note: YouTube currently supports replies only for + * top-level comments. However, replies to replies may be supported in the + * future. + */ + parentId?: string; + /** + * The part parameter specifies a comma-separated list of one or more + * comment resource properties that the API response will include. + */ + part?: string; + /** + * This parameter indicates whether the API should return comments formatted + * as HTML or as plain text. + */ + textFormat?: string; + } + interface Params$Resource$Comments$Markasspam { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The id parameter specifies a comma-separated list of IDs of comments that + * the caller believes should be classified as spam. + */ + id?: string; + } + interface Params$Resource$Comments$Setmoderationstatus { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The banAuthor parameter lets you indicate that you want to automatically + * reject any additional comments written by the comment's author. Set the + * parameter value to true to ban the author. Note: This parameter is only + * valid if the moderationStatus parameter is also set to rejected. + */ + banAuthor?: boolean; + /** + * The id parameter specifies a comma-separated list of IDs that identify + * the comments for which you are updating the moderation status. + */ + id?: string; + /** + * Identifies the new moderation status of the specified comments. + */ + moderationStatus?: string; + } + interface Params$Resource$Comments$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The part parameter identifies the properties that the API response will + * include. You must at least include the snippet part in the parameter + * value since that part contains all of the properties that the API request + * can update. + */ + part?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Comment; + } + class Resource$Commentthreads { + root: Youtube; + constructor(root: Youtube); + getRoot(): Youtube; + /** + * youtube.commentThreads.insert + * @desc Creates a new top-level comment. To add a reply to an existing + * comment, use the comments.insert method instead. + * @alias youtube.commentThreads.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.part The part parameter identifies the properties that the API response will include. Set the parameter value to snippet. The snippet part has a quota cost of 2 units. + * @param {().CommentThread} 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?: Params$Resource$Commentthreads$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Commentthreads$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Commentthreads$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * youtube.commentThreads.list + * @desc Returns a list of comment threads that match the API request + * parameters. + * @alias youtube.commentThreads.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.allThreadsRelatedToChannelId The allThreadsRelatedToChannelId parameter instructs the API to return all comment threads associated with the specified channel. The response can include comments about the channel or about the channel's videos. + * @param {string=} params.channelId The channelId parameter instructs the API to return comment threads containing comments about the specified channel. (The response will not include comments left on videos that the channel uploaded.) + * @param {string=} params.id The id parameter specifies a comma-separated list of comment thread IDs for the resources that should be retrieved. + * @param {integer=} params.maxResults The maxResults parameter specifies the maximum number of items that should be returned in the result set. Note: This parameter is not supported for use in conjunction with the id parameter. + * @param {string=} params.moderationStatus Set this parameter to limit the returned comment threads to a particular moderation state. Note: This parameter is not supported for use in conjunction with the id parameter. + * @param {string=} params.order The order parameter specifies the order in which the API response should list comment threads. Valid values are: - time - Comment threads are ordered by time. This is the default behavior. - relevance - Comment threads are ordered by relevance.Note: This parameter is not supported for use in conjunction with the id parameter. + * @param {string=} params.pageToken The pageToken parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken property identifies the next page of the result that can be retrieved. Note: This parameter is not supported for use in conjunction with the id parameter. + * @param {string} params.part The part parameter specifies a comma-separated list of one or more commentThread resource properties that the API response will include. + * @param {string=} params.searchTerms The searchTerms parameter instructs the API to limit the API response to only contain comments that contain the specified search terms. Note: This parameter is not supported for use in conjunction with the id parameter. + * @param {string=} params.textFormat Set this parameter's value to html or plainText to instruct the API to return the comments left by users in html formatted or in plain text. + * @param {string=} params.videoId The videoId parameter instructs the API to return comment threads associated with the specified video ID. + * @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?: Params$Resource$Commentthreads$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Commentthreads$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Commentthreads$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * youtube.commentThreads.update + * @desc Modifies the top-level comment in a comment thread. + * @alias youtube.commentThreads.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.part The part parameter specifies a comma-separated list of commentThread resource properties that the API response will include. You must at least include the snippet part in the parameter value since that part contains all of the properties that the API request can update. + * @param {().CommentThread} 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?: Params$Resource$Commentthreads$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Commentthreads$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Commentthreads$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Commentthreads$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The part parameter identifies the properties that the API response will + * include. Set the parameter value to snippet. The snippet part has a quota + * cost of 2 units. + */ + part?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CommentThread; + } + interface Params$Resource$Commentthreads$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The allThreadsRelatedToChannelId parameter instructs the API to return + * all comment threads associated with the specified channel. The response + * can include comments about the channel or about the channel's videos. + */ + allThreadsRelatedToChannelId?: string; + /** + * The channelId parameter instructs the API to return comment threads + * containing comments about the specified channel. (The response will not + * include comments left on videos that the channel uploaded.) + */ + channelId?: string; + /** + * The id parameter specifies a comma-separated list of comment thread IDs + * for the resources that should be retrieved. + */ + id?: string; + /** + * The maxResults parameter specifies the maximum number of items that + * should be returned in the result set. Note: This parameter is not + * supported for use in conjunction with the id parameter. + */ + maxResults?: number; + /** + * Set this parameter to limit the returned comment threads to a particular + * moderation state. Note: This parameter is not supported for use in + * conjunction with the id parameter. + */ + moderationStatus?: string; + /** + * The order parameter specifies the order in which the API response should + * list comment threads. Valid values are: - time - Comment threads are + * ordered by time. This is the default behavior. - relevance - Comment + * threads are ordered by relevance.Note: This parameter is not supported + * for use in conjunction with the id parameter. + */ + order?: string; + /** + * The pageToken parameter identifies a specific page in the result set that + * should be returned. In an API response, the nextPageToken property + * identifies the next page of the result that can be retrieved. Note: This + * parameter is not supported for use in conjunction with the id parameter. + */ + pageToken?: string; + /** + * The part parameter specifies a comma-separated list of one or more + * commentThread resource properties that the API response will include. + */ + part?: string; + /** + * The searchTerms parameter instructs the API to limit the API response to + * only contain comments that contain the specified search terms. Note: + * This parameter is not supported for use in conjunction with the id + * parameter. + */ + searchTerms?: string; + /** + * Set this parameter's value to html or plainText to instruct the API to + * return the comments left by users in html formatted or in plain text. + */ + textFormat?: string; + /** + * The videoId parameter instructs the API to return comment threads + * associated with the specified video ID. + */ + videoId?: string; + } + interface Params$Resource$Commentthreads$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The part parameter specifies a comma-separated list of commentThread + * resource properties that the API response will include. You must at least + * include the snippet part in the parameter value since that part contains + * all of the properties that the API request can update. + */ + part?: string; + /** + * Request body metadata + */ + requestBody?: Schema$CommentThread; + } + class Resource$Guidecategories { + root: Youtube; + constructor(root: Youtube); + getRoot(): Youtube; + /** + * youtube.guideCategories.list + * @desc Returns a list of categories that can be associated with YouTube + * channels. + * @alias youtube.guideCategories.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.hl The hl parameter specifies the language that will be used for text values in the API response. + * @param {string=} params.id The id parameter specifies a comma-separated list of the YouTube channel category ID(s) for the resource(s) that are being retrieved. In a guideCategory resource, the id property specifies the YouTube channel category ID. + * @param {string} params.part The part parameter specifies the guideCategory resource properties that the API response will include. Set the parameter value to snippet. + * @param {string=} params.regionCode The regionCode parameter instructs the API to return the list of guide categories available in the specified country. The parameter value is an ISO 3166-1 alpha-2 country code. + * @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?: Params$Resource$Guidecategories$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Guidecategories$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Guidecategories$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Guidecategories$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The hl parameter specifies the language that will be used for text values + * in the API response. + */ + hl?: string; + /** + * The id parameter specifies a comma-separated list of the YouTube channel + * category ID(s) for the resource(s) that are being retrieved. In a + * guideCategory resource, the id property specifies the YouTube channel + * category ID. + */ + id?: string; + /** + * The part parameter specifies the guideCategory resource properties that + * the API response will include. Set the parameter value to snippet. + */ + part?: string; + /** + * The regionCode parameter instructs the API to return the list of guide + * categories available in the specified country. The parameter value is an + * ISO 3166-1 alpha-2 country code. + */ + regionCode?: string; + } + class Resource$I18nlanguages { + root: Youtube; + constructor(root: Youtube); + getRoot(): Youtube; + /** + * youtube.i18nLanguages.list + * @desc Returns a list of application languages that the YouTube website + * supports. + * @alias youtube.i18nLanguages.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.hl The hl parameter specifies the language that should be used for text values in the API response. + * @param {string} params.part The part parameter specifies the i18nLanguage resource properties that the API response will include. Set the parameter value to snippet. + * @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?: Params$Resource$I18nlanguages$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$I18nlanguages$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$I18nlanguages$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$I18nlanguages$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The hl parameter specifies the language that should be used for text + * values in the API response. + */ + hl?: string; + /** + * The part parameter specifies the i18nLanguage resource properties that + * the API response will include. Set the parameter value to snippet. + */ + part?: string; + } + class Resource$I18nregions { + root: Youtube; + constructor(root: Youtube); + getRoot(): Youtube; + /** + * youtube.i18nRegions.list + * @desc Returns a list of content regions that the YouTube website + * supports. + * @alias youtube.i18nRegions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.hl The hl parameter specifies the language that should be used for text values in the API response. + * @param {string} params.part The part parameter specifies the i18nRegion resource properties that the API response will include. Set the parameter value to snippet. + * @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?: Params$Resource$I18nregions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$I18nregions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$I18nregions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$I18nregions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The hl parameter specifies the language that should be used for text + * values in the API response. + */ + hl?: string; + /** + * The part parameter specifies the i18nRegion resource properties that the + * API response will include. Set the parameter value to snippet. + */ + part?: string; + } + class Resource$Livebroadcasts { + root: Youtube; + constructor(root: Youtube); + getRoot(): Youtube; + /** + * youtube.liveBroadcasts.bind + * @desc Binds a YouTube broadcast to a stream or removes an existing + * binding between a broadcast and a stream. A broadcast can only be bound + * to one video stream, though a video stream may be bound to more than one + * broadcast. + * @alias youtube.liveBroadcasts.bind + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The id parameter specifies the unique ID of the broadcast that is being bound to a video stream. + * @param {string=} params.onBehalfOfContentOwner Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * @param {string=} params.onBehalfOfContentOwnerChannel This parameter can only be used in a properly authorized request. Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel. + * @param {string} params.part The part parameter specifies a comma-separated list of one or more liveBroadcast resource properties that the API response will include. The part names that you can include in the parameter value are id, snippet, contentDetails, and status. + * @param {string=} params.streamId The streamId parameter specifies the unique ID of the video stream that is being bound to a broadcast. If this parameter is omitted, the API will remove any existing binding between the broadcast and a video stream. + * @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 + */ + bind(params?: Params$Resource$Livebroadcasts$Bind, options?: MethodOptions): AxiosPromise; + bind(params: Params$Resource$Livebroadcasts$Bind, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + bind(params: Params$Resource$Livebroadcasts$Bind, callback: BodyResponseCallback): void; + bind(callback: BodyResponseCallback): void; + /** + * youtube.liveBroadcasts.control + * @desc Controls the settings for a slate that can be displayed in the + * broadcast stream. + * @alias youtube.liveBroadcasts.control + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.displaySlate The displaySlate parameter specifies whether the slate is being enabled or disabled. + * @param {string} params.id The id parameter specifies the YouTube live broadcast ID that uniquely identifies the broadcast in which the slate is being updated. + * @param {string=} params.offsetTimeMs The offsetTimeMs parameter specifies a positive time offset when the specified slate change will occur. The value is measured in milliseconds from the beginning of the broadcast's monitor stream, which is the time that the testing phase for the broadcast began. Even though it is specified in milliseconds, the value is actually an approximation, and YouTube completes the requested action as closely as possible to that time. If you do not specify a value for this parameter, then YouTube performs the action as soon as possible. See the Getting started guide for more details. Important: You should only specify a value for this parameter if your broadcast stream is delayed. + * @param {string=} params.onBehalfOfContentOwner Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * @param {string=} params.onBehalfOfContentOwnerChannel This parameter can only be used in a properly authorized request. Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel. + * @param {string} params.part The part parameter specifies a comma-separated list of one or more liveBroadcast resource properties that the API response will include. The part names that you can include in the parameter value are id, snippet, contentDetails, and status. + * @param {string=} params.walltime The walltime parameter specifies the wall clock time at which the specified slate change will occur. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sssZ) format. + * @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 + */ + control(params?: Params$Resource$Livebroadcasts$Control, options?: MethodOptions): AxiosPromise; + control(params: Params$Resource$Livebroadcasts$Control, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + control(params: Params$Resource$Livebroadcasts$Control, callback: BodyResponseCallback): void; + control(callback: BodyResponseCallback): void; + /** + * youtube.liveBroadcasts.delete + * @desc Deletes a broadcast. + * @alias youtube.liveBroadcasts.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The id parameter specifies the YouTube live broadcast ID for the resource that is being deleted. + * @param {string=} params.onBehalfOfContentOwner Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * @param {string=} params.onBehalfOfContentOwnerChannel This parameter can only be used in a properly authorized request. Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel. + * @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?: Params$Resource$Livebroadcasts$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Livebroadcasts$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Livebroadcasts$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * youtube.liveBroadcasts.insert + * @desc Creates a broadcast. + * @alias youtube.liveBroadcasts.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.onBehalfOfContentOwner Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * @param {string=} params.onBehalfOfContentOwnerChannel This parameter can only be used in a properly authorized request. Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel. + * @param {string} params.part The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include. The part properties that you can include in the parameter value are id, snippet, contentDetails, and status. + * @param {().LiveBroadcast} 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?: Params$Resource$Livebroadcasts$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Livebroadcasts$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Livebroadcasts$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * youtube.liveBroadcasts.list + * @desc Returns a list of YouTube broadcasts that match the API request + * parameters. + * @alias youtube.liveBroadcasts.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.broadcastStatus The broadcastStatus parameter filters the API response to only include broadcasts with the specified status. + * @param {string=} params.broadcastType The broadcastType parameter filters the API response to only include broadcasts with the specified type. This is only compatible with the mine filter for now. + * @param {string=} params.id The id parameter specifies a comma-separated list of YouTube broadcast IDs that identify the broadcasts being retrieved. In a liveBroadcast resource, the id property specifies the broadcast's ID. + * @param {integer=} params.maxResults The maxResults parameter specifies the maximum number of items that should be returned in the result set. + * @param {boolean=} params.mine The mine parameter can be used to instruct the API to only return broadcasts owned by the authenticated user. Set the parameter value to true to only retrieve your own broadcasts. + * @param {string=} params.onBehalfOfContentOwner Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * @param {string=} params.onBehalfOfContentOwnerChannel This parameter can only be used in a properly authorized request. Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel. + * @param {string=} params.pageToken The pageToken parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved. + * @param {string} params.part The part parameter specifies a comma-separated list of one or more liveBroadcast resource properties that the API response will include. The part names that you can include in the parameter value are id, snippet, contentDetails, and status. + * @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?: Params$Resource$Livebroadcasts$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Livebroadcasts$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Livebroadcasts$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * youtube.liveBroadcasts.transition + * @desc Changes the status of a YouTube live broadcast and initiates any + * processes associated with the new status. For example, when you + * transition a broadcast's status to testing, YouTube starts to transmit + * video to that broadcast's monitor stream. Before calling this method, you + * should confirm that the value of the status.streamStatus property for the + * stream bound to your broadcast is active. + * @alias youtube.liveBroadcasts.transition + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.broadcastStatus The broadcastStatus parameter identifies the state to which the broadcast is changing. Note that to transition a broadcast to either the testing or live state, the status.streamStatus must be active for the stream that the broadcast is bound to. + * @param {string} params.id The id parameter specifies the unique ID of the broadcast that is transitioning to another status. + * @param {string=} params.onBehalfOfContentOwner Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * @param {string=} params.onBehalfOfContentOwnerChannel This parameter can only be used in a properly authorized request. Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel. + * @param {string} params.part The part parameter specifies a comma-separated list of one or more liveBroadcast resource properties that the API response will include. The part names that you can include in the parameter value are id, snippet, contentDetails, and status. + * @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 + */ + transition(params?: Params$Resource$Livebroadcasts$Transition, options?: MethodOptions): AxiosPromise; + transition(params: Params$Resource$Livebroadcasts$Transition, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + transition(params: Params$Resource$Livebroadcasts$Transition, callback: BodyResponseCallback): void; + transition(callback: BodyResponseCallback): void; + /** + * youtube.liveBroadcasts.update + * @desc Updates a broadcast. For example, you could modify the broadcast + * settings defined in the liveBroadcast resource's contentDetails object. + * @alias youtube.liveBroadcasts.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.onBehalfOfContentOwner Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * @param {string=} params.onBehalfOfContentOwnerChannel This parameter can only be used in a properly authorized request. Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel. + * @param {string} params.part The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include. The part properties that you can include in the parameter value are id, snippet, contentDetails, and status. Note that this method will override the existing values for all of the mutable properties that are contained in any parts that the parameter value specifies. For example, a broadcast's privacy status is defined in the status part. As such, if your request is updating a private or unlisted broadcast, and the request's part parameter value includes the status part, the broadcast's privacy setting will be updated to whatever value the request body specifies. If the request body does not specify a value, the existing privacy setting will be removed and the broadcast will revert to the default privacy setting. + * @param {().LiveBroadcast} 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?: Params$Resource$Livebroadcasts$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Livebroadcasts$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Livebroadcasts$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Livebroadcasts$Bind { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The id parameter specifies the unique ID of the broadcast that is being + * bound to a video stream. + */ + id?: string; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. The onBehalfOfContentOwner parameter indicates that the + * request's authorization credentials identify a YouTube CMS user who is + * acting on behalf of the content owner specified in the parameter value. + * This parameter is intended for YouTube content partners that own and + * manage many different YouTube channels. It allows content owners to + * authenticate once and get access to all their video and channel data, + * without having to provide authentication credentials for each individual + * channel. The CMS account that the user authenticates with must be linked + * to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + /** + * This parameter can only be used in a properly authorized request. Note: + * This parameter is intended exclusively for YouTube content partners. The + * onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID + * of the channel to which a video is being added. This parameter is + * required when a request specifies a value for the onBehalfOfContentOwner + * parameter, and it can only be used in conjunction with that parameter. In + * addition, the request must be authorized using a CMS account that is + * linked to the content owner that the onBehalfOfContentOwner parameter + * specifies. Finally, the channel that the onBehalfOfContentOwnerChannel + * parameter value specifies must be linked to the content owner that the + * onBehalfOfContentOwner parameter specifies. This parameter is intended + * for YouTube content partners that own and manage many different YouTube + * channels. It allows content owners to authenticate once and perform + * actions on behalf of the channel specified in the parameter value, + * without having to provide authentication credentials for each separate + * channel. + */ + onBehalfOfContentOwnerChannel?: string; + /** + * The part parameter specifies a comma-separated list of one or more + * liveBroadcast resource properties that the API response will include. The + * part names that you can include in the parameter value are id, snippet, + * contentDetails, and status. + */ + part?: string; + /** + * The streamId parameter specifies the unique ID of the video stream that + * is being bound to a broadcast. If this parameter is omitted, the API will + * remove any existing binding between the broadcast and a video stream. + */ + streamId?: string; + } + interface Params$Resource$Livebroadcasts$Control { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The displaySlate parameter specifies whether the slate is being enabled + * or disabled. + */ + displaySlate?: boolean; + /** + * The id parameter specifies the YouTube live broadcast ID that uniquely + * identifies the broadcast in which the slate is being updated. + */ + id?: string; + /** + * The offsetTimeMs parameter specifies a positive time offset when the + * specified slate change will occur. The value is measured in milliseconds + * from the beginning of the broadcast's monitor stream, which is the time + * that the testing phase for the broadcast began. Even though it is + * specified in milliseconds, the value is actually an approximation, and + * YouTube completes the requested action as closely as possible to that + * time. If you do not specify a value for this parameter, then YouTube + * performs the action as soon as possible. See the Getting started guide + * for more details. Important: You should only specify a value for this + * parameter if your broadcast stream is delayed. + */ + offsetTimeMs?: string; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. The onBehalfOfContentOwner parameter indicates that the + * request's authorization credentials identify a YouTube CMS user who is + * acting on behalf of the content owner specified in the parameter value. + * This parameter is intended for YouTube content partners that own and + * manage many different YouTube channels. It allows content owners to + * authenticate once and get access to all their video and channel data, + * without having to provide authentication credentials for each individual + * channel. The CMS account that the user authenticates with must be linked + * to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + /** + * This parameter can only be used in a properly authorized request. Note: + * This parameter is intended exclusively for YouTube content partners. The + * onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID + * of the channel to which a video is being added. This parameter is + * required when a request specifies a value for the onBehalfOfContentOwner + * parameter, and it can only be used in conjunction with that parameter. In + * addition, the request must be authorized using a CMS account that is + * linked to the content owner that the onBehalfOfContentOwner parameter + * specifies. Finally, the channel that the onBehalfOfContentOwnerChannel + * parameter value specifies must be linked to the content owner that the + * onBehalfOfContentOwner parameter specifies. This parameter is intended + * for YouTube content partners that own and manage many different YouTube + * channels. It allows content owners to authenticate once and perform + * actions on behalf of the channel specified in the parameter value, + * without having to provide authentication credentials for each separate + * channel. + */ + onBehalfOfContentOwnerChannel?: string; + /** + * The part parameter specifies a comma-separated list of one or more + * liveBroadcast resource properties that the API response will include. The + * part names that you can include in the parameter value are id, snippet, + * contentDetails, and status. + */ + part?: string; + /** + * The walltime parameter specifies the wall clock time at which the + * specified slate change will occur. The value is specified in ISO 8601 + * (YYYY-MM-DDThh:mm:ss.sssZ) format. + */ + walltime?: string; + } + interface Params$Resource$Livebroadcasts$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The id parameter specifies the YouTube live broadcast ID for the resource + * that is being deleted. + */ + id?: string; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. The onBehalfOfContentOwner parameter indicates that the + * request's authorization credentials identify a YouTube CMS user who is + * acting on behalf of the content owner specified in the parameter value. + * This parameter is intended for YouTube content partners that own and + * manage many different YouTube channels. It allows content owners to + * authenticate once and get access to all their video and channel data, + * without having to provide authentication credentials for each individual + * channel. The CMS account that the user authenticates with must be linked + * to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + /** + * This parameter can only be used in a properly authorized request. Note: + * This parameter is intended exclusively for YouTube content partners. The + * onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID + * of the channel to which a video is being added. This parameter is + * required when a request specifies a value for the onBehalfOfContentOwner + * parameter, and it can only be used in conjunction with that parameter. In + * addition, the request must be authorized using a CMS account that is + * linked to the content owner that the onBehalfOfContentOwner parameter + * specifies. Finally, the channel that the onBehalfOfContentOwnerChannel + * parameter value specifies must be linked to the content owner that the + * onBehalfOfContentOwner parameter specifies. This parameter is intended + * for YouTube content partners that own and manage many different YouTube + * channels. It allows content owners to authenticate once and perform + * actions on behalf of the channel specified in the parameter value, + * without having to provide authentication credentials for each separate + * channel. + */ + onBehalfOfContentOwnerChannel?: string; + } + interface Params$Resource$Livebroadcasts$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. The onBehalfOfContentOwner parameter indicates that the + * request's authorization credentials identify a YouTube CMS user who is + * acting on behalf of the content owner specified in the parameter value. + * This parameter is intended for YouTube content partners that own and + * manage many different YouTube channels. It allows content owners to + * authenticate once and get access to all their video and channel data, + * without having to provide authentication credentials for each individual + * channel. The CMS account that the user authenticates with must be linked + * to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + /** + * This parameter can only be used in a properly authorized request. Note: + * This parameter is intended exclusively for YouTube content partners. The + * onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID + * of the channel to which a video is being added. This parameter is + * required when a request specifies a value for the onBehalfOfContentOwner + * parameter, and it can only be used in conjunction with that parameter. In + * addition, the request must be authorized using a CMS account that is + * linked to the content owner that the onBehalfOfContentOwner parameter + * specifies. Finally, the channel that the onBehalfOfContentOwnerChannel + * parameter value specifies must be linked to the content owner that the + * onBehalfOfContentOwner parameter specifies. This parameter is intended + * for YouTube content partners that own and manage many different YouTube + * channels. It allows content owners to authenticate once and perform + * actions on behalf of the channel specified in the parameter value, + * without having to provide authentication credentials for each separate + * channel. + */ + onBehalfOfContentOwnerChannel?: string; + /** + * The part parameter serves two purposes in this operation. It identifies + * the properties that the write operation will set as well as the + * properties that the API response will include. The part properties that + * you can include in the parameter value are id, snippet, contentDetails, + * and status. + */ + part?: string; + /** + * Request body metadata + */ + requestBody?: Schema$LiveBroadcast; + } + interface Params$Resource$Livebroadcasts$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The broadcastStatus parameter filters the API response to only include + * broadcasts with the specified status. + */ + broadcastStatus?: string; + /** + * The broadcastType parameter filters the API response to only include + * broadcasts with the specified type. This is only compatible with the mine + * filter for now. + */ + broadcastType?: string; + /** + * The id parameter specifies a comma-separated list of YouTube broadcast + * IDs that identify the broadcasts being retrieved. In a liveBroadcast + * resource, the id property specifies the broadcast's ID. + */ + id?: string; + /** + * The maxResults parameter specifies the maximum number of items that + * should be returned in the result set. + */ + maxResults?: number; + /** + * The mine parameter can be used to instruct the API to only return + * broadcasts owned by the authenticated user. Set the parameter value to + * true to only retrieve your own broadcasts. + */ + mine?: boolean; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. The onBehalfOfContentOwner parameter indicates that the + * request's authorization credentials identify a YouTube CMS user who is + * acting on behalf of the content owner specified in the parameter value. + * This parameter is intended for YouTube content partners that own and + * manage many different YouTube channels. It allows content owners to + * authenticate once and get access to all their video and channel data, + * without having to provide authentication credentials for each individual + * channel. The CMS account that the user authenticates with must be linked + * to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + /** + * This parameter can only be used in a properly authorized request. Note: + * This parameter is intended exclusively for YouTube content partners. The + * onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID + * of the channel to which a video is being added. This parameter is + * required when a request specifies a value for the onBehalfOfContentOwner + * parameter, and it can only be used in conjunction with that parameter. In + * addition, the request must be authorized using a CMS account that is + * linked to the content owner that the onBehalfOfContentOwner parameter + * specifies. Finally, the channel that the onBehalfOfContentOwnerChannel + * parameter value specifies must be linked to the content owner that the + * onBehalfOfContentOwner parameter specifies. This parameter is intended + * for YouTube content partners that own and manage many different YouTube + * channels. It allows content owners to authenticate once and perform + * actions on behalf of the channel specified in the parameter value, + * without having to provide authentication credentials for each separate + * channel. + */ + onBehalfOfContentOwnerChannel?: string; + /** + * The pageToken parameter identifies a specific page in the result set that + * should be returned. In an API response, the nextPageToken and + * prevPageToken properties identify other pages that could be retrieved. + */ + pageToken?: string; + /** + * The part parameter specifies a comma-separated list of one or more + * liveBroadcast resource properties that the API response will include. The + * part names that you can include in the parameter value are id, snippet, + * contentDetails, and status. + */ + part?: string; + } + interface Params$Resource$Livebroadcasts$Transition { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The broadcastStatus parameter identifies the state to which the broadcast + * is changing. Note that to transition a broadcast to either the testing or + * live state, the status.streamStatus must be active for the stream that + * the broadcast is bound to. + */ + broadcastStatus?: string; + /** + * The id parameter specifies the unique ID of the broadcast that is + * transitioning to another status. + */ + id?: string; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. The onBehalfOfContentOwner parameter indicates that the + * request's authorization credentials identify a YouTube CMS user who is + * acting on behalf of the content owner specified in the parameter value. + * This parameter is intended for YouTube content partners that own and + * manage many different YouTube channels. It allows content owners to + * authenticate once and get access to all their video and channel data, + * without having to provide authentication credentials for each individual + * channel. The CMS account that the user authenticates with must be linked + * to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + /** + * This parameter can only be used in a properly authorized request. Note: + * This parameter is intended exclusively for YouTube content partners. The + * onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID + * of the channel to which a video is being added. This parameter is + * required when a request specifies a value for the onBehalfOfContentOwner + * parameter, and it can only be used in conjunction with that parameter. In + * addition, the request must be authorized using a CMS account that is + * linked to the content owner that the onBehalfOfContentOwner parameter + * specifies. Finally, the channel that the onBehalfOfContentOwnerChannel + * parameter value specifies must be linked to the content owner that the + * onBehalfOfContentOwner parameter specifies. This parameter is intended + * for YouTube content partners that own and manage many different YouTube + * channels. It allows content owners to authenticate once and perform + * actions on behalf of the channel specified in the parameter value, + * without having to provide authentication credentials for each separate + * channel. + */ + onBehalfOfContentOwnerChannel?: string; + /** + * The part parameter specifies a comma-separated list of one or more + * liveBroadcast resource properties that the API response will include. The + * part names that you can include in the parameter value are id, snippet, + * contentDetails, and status. + */ + part?: string; + } + interface Params$Resource$Livebroadcasts$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. The onBehalfOfContentOwner parameter indicates that the + * request's authorization credentials identify a YouTube CMS user who is + * acting on behalf of the content owner specified in the parameter value. + * This parameter is intended for YouTube content partners that own and + * manage many different YouTube channels. It allows content owners to + * authenticate once and get access to all their video and channel data, + * without having to provide authentication credentials for each individual + * channel. The CMS account that the user authenticates with must be linked + * to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + /** + * This parameter can only be used in a properly authorized request. Note: + * This parameter is intended exclusively for YouTube content partners. The + * onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID + * of the channel to which a video is being added. This parameter is + * required when a request specifies a value for the onBehalfOfContentOwner + * parameter, and it can only be used in conjunction with that parameter. In + * addition, the request must be authorized using a CMS account that is + * linked to the content owner that the onBehalfOfContentOwner parameter + * specifies. Finally, the channel that the onBehalfOfContentOwnerChannel + * parameter value specifies must be linked to the content owner that the + * onBehalfOfContentOwner parameter specifies. This parameter is intended + * for YouTube content partners that own and manage many different YouTube + * channels. It allows content owners to authenticate once and perform + * actions on behalf of the channel specified in the parameter value, + * without having to provide authentication credentials for each separate + * channel. + */ + onBehalfOfContentOwnerChannel?: string; + /** + * The part parameter serves two purposes in this operation. It identifies + * the properties that the write operation will set as well as the + * properties that the API response will include. The part properties that + * you can include in the parameter value are id, snippet, contentDetails, + * and status. Note that this method will override the existing values for + * all of the mutable properties that are contained in any parts that the + * parameter value specifies. For example, a broadcast's privacy status is + * defined in the status part. As such, if your request is updating a + * private or unlisted broadcast, and the request's part parameter value + * includes the status part, the broadcast's privacy setting will be updated + * to whatever value the request body specifies. If the request body does + * not specify a value, the existing privacy setting will be removed and the + * broadcast will revert to the default privacy setting. + */ + part?: string; + /** + * Request body metadata + */ + requestBody?: Schema$LiveBroadcast; + } + class Resource$Livechatbans { + root: Youtube; + constructor(root: Youtube); + getRoot(): Youtube; + /** + * youtube.liveChatBans.delete + * @desc Removes a chat ban. + * @alias youtube.liveChatBans.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The id parameter identifies the chat ban to remove. The value uniquely identifies both the ban and the chat. + * @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?: Params$Resource$Livechatbans$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Livechatbans$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Livechatbans$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * youtube.liveChatBans.insert + * @desc Adds a new ban to the chat. + * @alias youtube.liveChatBans.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.part The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response returns. Set the parameter value to snippet. + * @param {().LiveChatBan} 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?: Params$Resource$Livechatbans$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Livechatbans$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Livechatbans$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + } + interface Params$Resource$Livechatbans$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The id parameter identifies the chat ban to remove. The value uniquely + * identifies both the ban and the chat. + */ + id?: string; + } + interface Params$Resource$Livechatbans$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The part parameter serves two purposes in this operation. It identifies + * the properties that the write operation will set as well as the + * properties that the API response returns. Set the parameter value to + * snippet. + */ + part?: string; + /** + * Request body metadata + */ + requestBody?: Schema$LiveChatBan; + } + class Resource$Livechatmessages { + root: Youtube; + constructor(root: Youtube); + getRoot(): Youtube; + /** + * youtube.liveChatMessages.delete + * @desc Deletes a chat message. + * @alias youtube.liveChatMessages.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The id parameter specifies the YouTube chat message ID of the resource that is being deleted. + * @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?: Params$Resource$Livechatmessages$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Livechatmessages$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Livechatmessages$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * youtube.liveChatMessages.insert + * @desc Adds a message to a live chat. + * @alias youtube.liveChatMessages.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.part The part parameter serves two purposes. It identifies the properties that the write operation will set as well as the properties that the API response will include. Set the parameter value to snippet. + * @param {().LiveChatMessage} 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?: Params$Resource$Livechatmessages$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Livechatmessages$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Livechatmessages$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * youtube.liveChatMessages.list + * @desc Lists live chat messages for a specific chat. + * @alias youtube.liveChatMessages.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.hl The hl parameter instructs the API to retrieve localized resource metadata for a specific application language that the YouTube website supports. The parameter value must be a language code included in the list returned by the i18nLanguages.list method. If localized resource details are available in that language, the resource's snippet.localized object will contain the localized values. However, if localized details are not available, the snippet.localized object will contain resource details in the resource's default language. + * @param {string} params.liveChatId The liveChatId parameter specifies the ID of the chat whose messages will be returned. + * @param {integer=} params.maxResults The maxResults parameter specifies the maximum number of messages that should be returned in the result set. + * @param {string=} params.pageToken The pageToken parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken property identify other pages that could be retrieved. + * @param {string} params.part The part parameter specifies the liveChatComment resource parts that the API response will include. Supported values are id and snippet. + * @param {integer=} params.profileImageSize The profileImageSize parameter specifies the size of the user profile pictures that should be returned in the result set. Default: 88. + * @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?: Params$Resource$Livechatmessages$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Livechatmessages$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Livechatmessages$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Livechatmessages$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The id parameter specifies the YouTube chat message ID of the resource + * that is being deleted. + */ + id?: string; + } + interface Params$Resource$Livechatmessages$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The part parameter serves two purposes. It identifies the properties that + * the write operation will set as well as the properties that the API + * response will include. Set the parameter value to snippet. + */ + part?: string; + /** + * Request body metadata + */ + requestBody?: Schema$LiveChatMessage; + } + interface Params$Resource$Livechatmessages$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The hl parameter instructs the API to retrieve localized resource + * metadata for a specific application language that the YouTube website + * supports. The parameter value must be a language code included in the + * list returned by the i18nLanguages.list method. If localized resource + * details are available in that language, the resource's snippet.localized + * object will contain the localized values. However, if localized details + * are not available, the snippet.localized object will contain resource + * details in the resource's default language. + */ + hl?: string; + /** + * The liveChatId parameter specifies the ID of the chat whose messages will + * be returned. + */ + liveChatId?: string; + /** + * The maxResults parameter specifies the maximum number of messages that + * should be returned in the result set. + */ + maxResults?: number; + /** + * The pageToken parameter identifies a specific page in the result set that + * should be returned. In an API response, the nextPageToken property + * identify other pages that could be retrieved. + */ + pageToken?: string; + /** + * The part parameter specifies the liveChatComment resource parts that the + * API response will include. Supported values are id and snippet. + */ + part?: string; + /** + * The profileImageSize parameter specifies the size of the user profile + * pictures that should be returned in the result set. Default: 88. + */ + profileImageSize?: number; + } + class Resource$Livechatmoderators { + root: Youtube; + constructor(root: Youtube); + getRoot(): Youtube; + /** + * youtube.liveChatModerators.delete + * @desc Removes a chat moderator. + * @alias youtube.liveChatModerators.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The id parameter identifies the chat moderator to remove. The value uniquely identifies both the moderator and the chat. + * @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?: Params$Resource$Livechatmoderators$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Livechatmoderators$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Livechatmoderators$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * youtube.liveChatModerators.insert + * @desc Adds a new moderator for the chat. + * @alias youtube.liveChatModerators.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.part The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response returns. Set the parameter value to snippet. + * @param {().LiveChatModerator} 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?: Params$Resource$Livechatmoderators$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Livechatmoderators$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Livechatmoderators$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * youtube.liveChatModerators.list + * @desc Lists moderators for a live chat. + * @alias youtube.liveChatModerators.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.liveChatId The liveChatId parameter specifies the YouTube live chat for which the API should return moderators. + * @param {integer=} params.maxResults The maxResults parameter specifies the maximum number of items that should be returned in the result set. + * @param {string=} params.pageToken The pageToken parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved. + * @param {string} params.part The part parameter specifies the liveChatModerator resource parts that the API response will include. Supported values are id and snippet. + * @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?: Params$Resource$Livechatmoderators$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Livechatmoderators$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Livechatmoderators$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Livechatmoderators$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The id parameter identifies the chat moderator to remove. The value + * uniquely identifies both the moderator and the chat. + */ + id?: string; + } + interface Params$Resource$Livechatmoderators$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The part parameter serves two purposes in this operation. It identifies + * the properties that the write operation will set as well as the + * properties that the API response returns. Set the parameter value to + * snippet. + */ + part?: string; + /** + * Request body metadata + */ + requestBody?: Schema$LiveChatModerator; + } + interface Params$Resource$Livechatmoderators$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The liveChatId parameter specifies the YouTube live chat for which the + * API should return moderators. + */ + liveChatId?: string; + /** + * The maxResults parameter specifies the maximum number of items that + * should be returned in the result set. + */ + maxResults?: number; + /** + * The pageToken parameter identifies a specific page in the result set that + * should be returned. In an API response, the nextPageToken and + * prevPageToken properties identify other pages that could be retrieved. + */ + pageToken?: string; + /** + * The part parameter specifies the liveChatModerator resource parts that + * the API response will include. Supported values are id and snippet. + */ + part?: string; + } + class Resource$Livestreams { + root: Youtube; + constructor(root: Youtube); + getRoot(): Youtube; + /** + * youtube.liveStreams.delete + * @desc Deletes a video stream. + * @alias youtube.liveStreams.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The id parameter specifies the YouTube live stream ID for the resource that is being deleted. + * @param {string=} params.onBehalfOfContentOwner Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * @param {string=} params.onBehalfOfContentOwnerChannel This parameter can only be used in a properly authorized request. Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel. + * @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?: Params$Resource$Livestreams$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Livestreams$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Livestreams$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * youtube.liveStreams.insert + * @desc Creates a video stream. The stream enables you to send your video + * to YouTube, which can then broadcast the video to your audience. + * @alias youtube.liveStreams.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.onBehalfOfContentOwner Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * @param {string=} params.onBehalfOfContentOwnerChannel This parameter can only be used in a properly authorized request. Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel. + * @param {string} params.part The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include. The part properties that you can include in the parameter value are id, snippet, cdn, and status. + * @param {().LiveStream} 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?: Params$Resource$Livestreams$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Livestreams$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Livestreams$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * youtube.liveStreams.list + * @desc Returns a list of video streams that match the API request + * parameters. + * @alias youtube.liveStreams.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.id The id parameter specifies a comma-separated list of YouTube stream IDs that identify the streams being retrieved. In a liveStream resource, the id property specifies the stream's ID. + * @param {integer=} params.maxResults The maxResults parameter specifies the maximum number of items that should be returned in the result set. + * @param {boolean=} params.mine The mine parameter can be used to instruct the API to only return streams owned by the authenticated user. Set the parameter value to true to only retrieve your own streams. + * @param {string=} params.onBehalfOfContentOwner Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * @param {string=} params.onBehalfOfContentOwnerChannel This parameter can only be used in a properly authorized request. Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel. + * @param {string=} params.pageToken The pageToken parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved. + * @param {string} params.part The part parameter specifies a comma-separated list of one or more liveStream resource properties that the API response will include. The part names that you can include in the parameter value are id, snippet, cdn, and status. + * @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?: Params$Resource$Livestreams$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Livestreams$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Livestreams$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * youtube.liveStreams.update + * @desc Updates a video stream. If the properties that you want to change + * cannot be updated, then you need to create a new stream with the proper + * settings. + * @alias youtube.liveStreams.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.onBehalfOfContentOwner Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * @param {string=} params.onBehalfOfContentOwnerChannel This parameter can only be used in a properly authorized request. Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel. + * @param {string} params.part The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include. The part properties that you can include in the parameter value are id, snippet, cdn, and status. Note that this method will override the existing values for all of the mutable properties that are contained in any parts that the parameter value specifies. If the request body does not specify a value for a mutable property, the existing value for that property will be removed. + * @param {().LiveStream} 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?: Params$Resource$Livestreams$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Livestreams$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Livestreams$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Livestreams$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The id parameter specifies the YouTube live stream ID for the resource + * that is being deleted. + */ + id?: string; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. The onBehalfOfContentOwner parameter indicates that the + * request's authorization credentials identify a YouTube CMS user who is + * acting on behalf of the content owner specified in the parameter value. + * This parameter is intended for YouTube content partners that own and + * manage many different YouTube channels. It allows content owners to + * authenticate once and get access to all their video and channel data, + * without having to provide authentication credentials for each individual + * channel. The CMS account that the user authenticates with must be linked + * to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + /** + * This parameter can only be used in a properly authorized request. Note: + * This parameter is intended exclusively for YouTube content partners. The + * onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID + * of the channel to which a video is being added. This parameter is + * required when a request specifies a value for the onBehalfOfContentOwner + * parameter, and it can only be used in conjunction with that parameter. In + * addition, the request must be authorized using a CMS account that is + * linked to the content owner that the onBehalfOfContentOwner parameter + * specifies. Finally, the channel that the onBehalfOfContentOwnerChannel + * parameter value specifies must be linked to the content owner that the + * onBehalfOfContentOwner parameter specifies. This parameter is intended + * for YouTube content partners that own and manage many different YouTube + * channels. It allows content owners to authenticate once and perform + * actions on behalf of the channel specified in the parameter value, + * without having to provide authentication credentials for each separate + * channel. + */ + onBehalfOfContentOwnerChannel?: string; + } + interface Params$Resource$Livestreams$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. The onBehalfOfContentOwner parameter indicates that the + * request's authorization credentials identify a YouTube CMS user who is + * acting on behalf of the content owner specified in the parameter value. + * This parameter is intended for YouTube content partners that own and + * manage many different YouTube channels. It allows content owners to + * authenticate once and get access to all their video and channel data, + * without having to provide authentication credentials for each individual + * channel. The CMS account that the user authenticates with must be linked + * to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + /** + * This parameter can only be used in a properly authorized request. Note: + * This parameter is intended exclusively for YouTube content partners. The + * onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID + * of the channel to which a video is being added. This parameter is + * required when a request specifies a value for the onBehalfOfContentOwner + * parameter, and it can only be used in conjunction with that parameter. In + * addition, the request must be authorized using a CMS account that is + * linked to the content owner that the onBehalfOfContentOwner parameter + * specifies. Finally, the channel that the onBehalfOfContentOwnerChannel + * parameter value specifies must be linked to the content owner that the + * onBehalfOfContentOwner parameter specifies. This parameter is intended + * for YouTube content partners that own and manage many different YouTube + * channels. It allows content owners to authenticate once and perform + * actions on behalf of the channel specified in the parameter value, + * without having to provide authentication credentials for each separate + * channel. + */ + onBehalfOfContentOwnerChannel?: string; + /** + * The part parameter serves two purposes in this operation. It identifies + * the properties that the write operation will set as well as the + * properties that the API response will include. The part properties that + * you can include in the parameter value are id, snippet, cdn, and status. + */ + part?: string; + /** + * Request body metadata + */ + requestBody?: Schema$LiveStream; + } + interface Params$Resource$Livestreams$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The id parameter specifies a comma-separated list of YouTube stream IDs + * that identify the streams being retrieved. In a liveStream resource, the + * id property specifies the stream's ID. + */ + id?: string; + /** + * The maxResults parameter specifies the maximum number of items that + * should be returned in the result set. + */ + maxResults?: number; + /** + * The mine parameter can be used to instruct the API to only return streams + * owned by the authenticated user. Set the parameter value to true to only + * retrieve your own streams. + */ + mine?: boolean; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. The onBehalfOfContentOwner parameter indicates that the + * request's authorization credentials identify a YouTube CMS user who is + * acting on behalf of the content owner specified in the parameter value. + * This parameter is intended for YouTube content partners that own and + * manage many different YouTube channels. It allows content owners to + * authenticate once and get access to all their video and channel data, + * without having to provide authentication credentials for each individual + * channel. The CMS account that the user authenticates with must be linked + * to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + /** + * This parameter can only be used in a properly authorized request. Note: + * This parameter is intended exclusively for YouTube content partners. The + * onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID + * of the channel to which a video is being added. This parameter is + * required when a request specifies a value for the onBehalfOfContentOwner + * parameter, and it can only be used in conjunction with that parameter. In + * addition, the request must be authorized using a CMS account that is + * linked to the content owner that the onBehalfOfContentOwner parameter + * specifies. Finally, the channel that the onBehalfOfContentOwnerChannel + * parameter value specifies must be linked to the content owner that the + * onBehalfOfContentOwner parameter specifies. This parameter is intended + * for YouTube content partners that own and manage many different YouTube + * channels. It allows content owners to authenticate once and perform + * actions on behalf of the channel specified in the parameter value, + * without having to provide authentication credentials for each separate + * channel. + */ + onBehalfOfContentOwnerChannel?: string; + /** + * The pageToken parameter identifies a specific page in the result set that + * should be returned. In an API response, the nextPageToken and + * prevPageToken properties identify other pages that could be retrieved. + */ + pageToken?: string; + /** + * The part parameter specifies a comma-separated list of one or more + * liveStream resource properties that the API response will include. The + * part names that you can include in the parameter value are id, snippet, + * cdn, and status. + */ + part?: string; + } + interface Params$Resource$Livestreams$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. The onBehalfOfContentOwner parameter indicates that the + * request's authorization credentials identify a YouTube CMS user who is + * acting on behalf of the content owner specified in the parameter value. + * This parameter is intended for YouTube content partners that own and + * manage many different YouTube channels. It allows content owners to + * authenticate once and get access to all their video and channel data, + * without having to provide authentication credentials for each individual + * channel. The CMS account that the user authenticates with must be linked + * to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + /** + * This parameter can only be used in a properly authorized request. Note: + * This parameter is intended exclusively for YouTube content partners. The + * onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID + * of the channel to which a video is being added. This parameter is + * required when a request specifies a value for the onBehalfOfContentOwner + * parameter, and it can only be used in conjunction with that parameter. In + * addition, the request must be authorized using a CMS account that is + * linked to the content owner that the onBehalfOfContentOwner parameter + * specifies. Finally, the channel that the onBehalfOfContentOwnerChannel + * parameter value specifies must be linked to the content owner that the + * onBehalfOfContentOwner parameter specifies. This parameter is intended + * for YouTube content partners that own and manage many different YouTube + * channels. It allows content owners to authenticate once and perform + * actions on behalf of the channel specified in the parameter value, + * without having to provide authentication credentials for each separate + * channel. + */ + onBehalfOfContentOwnerChannel?: string; + /** + * The part parameter serves two purposes in this operation. It identifies + * the properties that the write operation will set as well as the + * properties that the API response will include. The part properties that + * you can include in the parameter value are id, snippet, cdn, and status. + * Note that this method will override the existing values for all of the + * mutable properties that are contained in any parts that the parameter + * value specifies. If the request body does not specify a value for a + * mutable property, the existing value for that property will be removed. + */ + part?: string; + /** + * Request body metadata + */ + requestBody?: Schema$LiveStream; + } + class Resource$Playlistitems { + root: Youtube; + constructor(root: Youtube); + getRoot(): Youtube; + /** + * youtube.playlistItems.delete + * @desc Deletes a playlist item. + * @alias youtube.playlistItems.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The id parameter specifies the YouTube playlist item ID for the playlist item that is being deleted. In a playlistItem resource, the id property specifies the playlist item's ID. + * @param {string=} params.onBehalfOfContentOwner Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * @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?: Params$Resource$Playlistitems$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Playlistitems$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Playlistitems$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * youtube.playlistItems.insert + * @desc Adds a resource to a playlist. + * @alias youtube.playlistItems.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.onBehalfOfContentOwner Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * @param {string} params.part The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include. + * @param {().PlaylistItem} 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?: Params$Resource$Playlistitems$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Playlistitems$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Playlistitems$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * youtube.playlistItems.list + * @desc Returns a collection of playlist items that match the API request + * parameters. You can retrieve all of the playlist items in a specified + * playlist or retrieve one or more playlist items by their unique IDs. + * @alias youtube.playlistItems.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.id The id parameter specifies a comma-separated list of one or more unique playlist item IDs. + * @param {integer=} params.maxResults The maxResults parameter specifies the maximum number of items that should be returned in the result set. + * @param {string=} params.onBehalfOfContentOwner Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * @param {string=} params.pageToken The pageToken parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved. + * @param {string} params.part The part parameter specifies a comma-separated list of one or more playlistItem resource properties that the API response will include. If the parameter identifies a property that contains child properties, the child properties will be included in the response. For example, in a playlistItem resource, the snippet property contains numerous fields, including the title, description, position, and resourceId properties. As such, if you set part=snippet, the API response will contain all of those properties. + * @param {string=} params.playlistId The playlistId parameter specifies the unique ID of the playlist for which you want to retrieve playlist items. Note that even though this is an optional parameter, every request to retrieve playlist items must specify a value for either the id parameter or the playlistId parameter. + * @param {string=} params.videoId The videoId parameter specifies that the request should return only the playlist items that contain the specified video. + * @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?: Params$Resource$Playlistitems$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Playlistitems$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Playlistitems$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * youtube.playlistItems.update + * @desc Modifies a playlist item. For example, you could update the item's + * position in the playlist. + * @alias youtube.playlistItems.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.onBehalfOfContentOwner Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * @param {string} params.part The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include. Note that this method will override the existing values for all of the mutable properties that are contained in any parts that the parameter value specifies. For example, a playlist item can specify a start time and end time, which identify the times portion of the video that should play when users watch the video in the playlist. If your request is updating a playlist item that sets these values, and the request's part parameter value includes the contentDetails part, the playlist item's start and end times will be updated to whatever value the request body specifies. If the request body does not specify values, the existing start and end times will be removed and replaced with the default settings. + * @param {().PlaylistItem} 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?: Params$Resource$Playlistitems$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Playlistitems$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Playlistitems$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Playlistitems$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The id parameter specifies the YouTube playlist item ID for the playlist + * item that is being deleted. In a playlistItem resource, the id property + * specifies the playlist item's ID. + */ + id?: string; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. The onBehalfOfContentOwner parameter indicates that the + * request's authorization credentials identify a YouTube CMS user who is + * acting on behalf of the content owner specified in the parameter value. + * This parameter is intended for YouTube content partners that own and + * manage many different YouTube channels. It allows content owners to + * authenticate once and get access to all their video and channel data, + * without having to provide authentication credentials for each individual + * channel. The CMS account that the user authenticates with must be linked + * to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + } + interface Params$Resource$Playlistitems$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. The onBehalfOfContentOwner parameter indicates that the + * request's authorization credentials identify a YouTube CMS user who is + * acting on behalf of the content owner specified in the parameter value. + * This parameter is intended for YouTube content partners that own and + * manage many different YouTube channels. It allows content owners to + * authenticate once and get access to all their video and channel data, + * without having to provide authentication credentials for each individual + * channel. The CMS account that the user authenticates with must be linked + * to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + /** + * The part parameter serves two purposes in this operation. It identifies + * the properties that the write operation will set as well as the + * properties that the API response will include. + */ + part?: string; + /** + * Request body metadata + */ + requestBody?: Schema$PlaylistItem; + } + interface Params$Resource$Playlistitems$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The id parameter specifies a comma-separated list of one or more unique + * playlist item IDs. + */ + id?: string; + /** + * The maxResults parameter specifies the maximum number of items that + * should be returned in the result set. + */ + maxResults?: number; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. The onBehalfOfContentOwner parameter indicates that the + * request's authorization credentials identify a YouTube CMS user who is + * acting on behalf of the content owner specified in the parameter value. + * This parameter is intended for YouTube content partners that own and + * manage many different YouTube channels. It allows content owners to + * authenticate once and get access to all their video and channel data, + * without having to provide authentication credentials for each individual + * channel. The CMS account that the user authenticates with must be linked + * to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + /** + * The pageToken parameter identifies a specific page in the result set that + * should be returned. In an API response, the nextPageToken and + * prevPageToken properties identify other pages that could be retrieved. + */ + pageToken?: string; + /** + * The part parameter specifies a comma-separated list of one or more + * playlistItem resource properties that the API response will include. If + * the parameter identifies a property that contains child properties, the + * child properties will be included in the response. For example, in a + * playlistItem resource, the snippet property contains numerous fields, + * including the title, description, position, and resourceId properties. As + * such, if you set part=snippet, the API response will contain all of those + * properties. + */ + part?: string; + /** + * The playlistId parameter specifies the unique ID of the playlist for + * which you want to retrieve playlist items. Note that even though this is + * an optional parameter, every request to retrieve playlist items must + * specify a value for either the id parameter or the playlistId parameter. + */ + playlistId?: string; + /** + * The videoId parameter specifies that the request should return only the + * playlist items that contain the specified video. + */ + videoId?: string; + } + interface Params$Resource$Playlistitems$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. The onBehalfOfContentOwner parameter indicates that the + * request's authorization credentials identify a YouTube CMS user who is + * acting on behalf of the content owner specified in the parameter value. + * This parameter is intended for YouTube content partners that own and + * manage many different YouTube channels. It allows content owners to + * authenticate once and get access to all their video and channel data, + * without having to provide authentication credentials for each individual + * channel. The CMS account that the user authenticates with must be linked + * to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + /** + * The part parameter serves two purposes in this operation. It identifies + * the properties that the write operation will set as well as the + * properties that the API response will include. Note that this method + * will override the existing values for all of the mutable properties that + * are contained in any parts that the parameter value specifies. For + * example, a playlist item can specify a start time and end time, which + * identify the times portion of the video that should play when users watch + * the video in the playlist. If your request is updating a playlist item + * that sets these values, and the request's part parameter value includes + * the contentDetails part, the playlist item's start and end times will be + * updated to whatever value the request body specifies. If the request body + * does not specify values, the existing start and end times will be removed + * and replaced with the default settings. + */ + part?: string; + /** + * Request body metadata + */ + requestBody?: Schema$PlaylistItem; + } + class Resource$Playlists { + root: Youtube; + constructor(root: Youtube); + getRoot(): Youtube; + /** + * youtube.playlists.delete + * @desc Deletes a playlist. + * @alias youtube.playlists.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The id parameter specifies the YouTube playlist ID for the playlist that is being deleted. In a playlist resource, the id property specifies the playlist's ID. + * @param {string=} params.onBehalfOfContentOwner Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * @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?: Params$Resource$Playlists$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Playlists$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Playlists$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * youtube.playlists.insert + * @desc Creates a playlist. + * @alias youtube.playlists.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.onBehalfOfContentOwner Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * @param {string=} params.onBehalfOfContentOwnerChannel This parameter can only be used in a properly authorized request. Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel. + * @param {string} params.part The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include. + * @param {().Playlist} 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?: Params$Resource$Playlists$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Playlists$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Playlists$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * youtube.playlists.list + * @desc Returns a collection of playlists that match the API request + * parameters. For example, you can retrieve all playlists that the + * authenticated user owns, or you can retrieve one or more playlists by + * their unique IDs. + * @alias youtube.playlists.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.channelId This value indicates that the API should only return the specified channel's playlists. + * @param {string=} params.hl The hl parameter should be used for filter out the properties that are not in the given language. Used for the snippet part. + * @param {string=} params.id The id parameter specifies a comma-separated list of the YouTube playlist ID(s) for the resource(s) that are being retrieved. In a playlist resource, the id property specifies the playlist's YouTube playlist ID. + * @param {integer=} params.maxResults The maxResults parameter specifies the maximum number of items that should be returned in the result set. + * @param {boolean=} params.mine Set this parameter's value to true to instruct the API to only return playlists owned by the authenticated user. + * @param {string=} params.onBehalfOfContentOwner Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * @param {string=} params.onBehalfOfContentOwnerChannel This parameter can only be used in a properly authorized request. Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel. + * @param {string=} params.pageToken The pageToken parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved. + * @param {string} params.part The part parameter specifies a comma-separated list of one or more playlist resource properties that the API response will include. If the parameter identifies a property that contains child properties, the child properties will be included in the response. For example, in a playlist resource, the snippet property contains properties like author, title, description, tags, and timeCreated. As such, if you set part=snippet, the API response will contain all of those properties. + * @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?: Params$Resource$Playlists$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Playlists$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Playlists$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * youtube.playlists.update + * @desc Modifies a playlist. For example, you could change a playlist's + * title, description, or privacy status. + * @alias youtube.playlists.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.onBehalfOfContentOwner Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * @param {string} params.part The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include. Note that this method will override the existing values for mutable properties that are contained in any parts that the request body specifies. For example, a playlist's description is contained in the snippet part, which must be included in the request body. If the request does not specify a value for the snippet.description property, the playlist's existing description will be deleted. + * @param {().Playlist} 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?: Params$Resource$Playlists$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Playlists$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Playlists$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Playlists$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The id parameter specifies the YouTube playlist ID for the playlist that + * is being deleted. In a playlist resource, the id property specifies the + * playlist's ID. + */ + id?: string; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. The onBehalfOfContentOwner parameter indicates that the + * request's authorization credentials identify a YouTube CMS user who is + * acting on behalf of the content owner specified in the parameter value. + * This parameter is intended for YouTube content partners that own and + * manage many different YouTube channels. It allows content owners to + * authenticate once and get access to all their video and channel data, + * without having to provide authentication credentials for each individual + * channel. The CMS account that the user authenticates with must be linked + * to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + } + interface Params$Resource$Playlists$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. The onBehalfOfContentOwner parameter indicates that the + * request's authorization credentials identify a YouTube CMS user who is + * acting on behalf of the content owner specified in the parameter value. + * This parameter is intended for YouTube content partners that own and + * manage many different YouTube channels. It allows content owners to + * authenticate once and get access to all their video and channel data, + * without having to provide authentication credentials for each individual + * channel. The CMS account that the user authenticates with must be linked + * to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + /** + * This parameter can only be used in a properly authorized request. Note: + * This parameter is intended exclusively for YouTube content partners. The + * onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID + * of the channel to which a video is being added. This parameter is + * required when a request specifies a value for the onBehalfOfContentOwner + * parameter, and it can only be used in conjunction with that parameter. In + * addition, the request must be authorized using a CMS account that is + * linked to the content owner that the onBehalfOfContentOwner parameter + * specifies. Finally, the channel that the onBehalfOfContentOwnerChannel + * parameter value specifies must be linked to the content owner that the + * onBehalfOfContentOwner parameter specifies. This parameter is intended + * for YouTube content partners that own and manage many different YouTube + * channels. It allows content owners to authenticate once and perform + * actions on behalf of the channel specified in the parameter value, + * without having to provide authentication credentials for each separate + * channel. + */ + onBehalfOfContentOwnerChannel?: string; + /** + * The part parameter serves two purposes in this operation. It identifies + * the properties that the write operation will set as well as the + * properties that the API response will include. + */ + part?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Playlist; + } + interface Params$Resource$Playlists$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * This value indicates that the API should only return the specified + * channel's playlists. + */ + channelId?: string; + /** + * The hl parameter should be used for filter out the properties that are + * not in the given language. Used for the snippet part. + */ + hl?: string; + /** + * The id parameter specifies a comma-separated list of the YouTube playlist + * ID(s) for the resource(s) that are being retrieved. In a playlist + * resource, the id property specifies the playlist's YouTube playlist ID. + */ + id?: string; + /** + * The maxResults parameter specifies the maximum number of items that + * should be returned in the result set. + */ + maxResults?: number; + /** + * Set this parameter's value to true to instruct the API to only return + * playlists owned by the authenticated user. + */ + mine?: boolean; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. The onBehalfOfContentOwner parameter indicates that the + * request's authorization credentials identify a YouTube CMS user who is + * acting on behalf of the content owner specified in the parameter value. + * This parameter is intended for YouTube content partners that own and + * manage many different YouTube channels. It allows content owners to + * authenticate once and get access to all their video and channel data, + * without having to provide authentication credentials for each individual + * channel. The CMS account that the user authenticates with must be linked + * to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + /** + * This parameter can only be used in a properly authorized request. Note: + * This parameter is intended exclusively for YouTube content partners. The + * onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID + * of the channel to which a video is being added. This parameter is + * required when a request specifies a value for the onBehalfOfContentOwner + * parameter, and it can only be used in conjunction with that parameter. In + * addition, the request must be authorized using a CMS account that is + * linked to the content owner that the onBehalfOfContentOwner parameter + * specifies. Finally, the channel that the onBehalfOfContentOwnerChannel + * parameter value specifies must be linked to the content owner that the + * onBehalfOfContentOwner parameter specifies. This parameter is intended + * for YouTube content partners that own and manage many different YouTube + * channels. It allows content owners to authenticate once and perform + * actions on behalf of the channel specified in the parameter value, + * without having to provide authentication credentials for each separate + * channel. + */ + onBehalfOfContentOwnerChannel?: string; + /** + * The pageToken parameter identifies a specific page in the result set that + * should be returned. In an API response, the nextPageToken and + * prevPageToken properties identify other pages that could be retrieved. + */ + pageToken?: string; + /** + * The part parameter specifies a comma-separated list of one or more + * playlist resource properties that the API response will include. If the + * parameter identifies a property that contains child properties, the child + * properties will be included in the response. For example, in a playlist + * resource, the snippet property contains properties like author, title, + * description, tags, and timeCreated. As such, if you set part=snippet, the + * API response will contain all of those properties. + */ + part?: string; + } + interface Params$Resource$Playlists$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. The onBehalfOfContentOwner parameter indicates that the + * request's authorization credentials identify a YouTube CMS user who is + * acting on behalf of the content owner specified in the parameter value. + * This parameter is intended for YouTube content partners that own and + * manage many different YouTube channels. It allows content owners to + * authenticate once and get access to all their video and channel data, + * without having to provide authentication credentials for each individual + * channel. The CMS account that the user authenticates with must be linked + * to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + /** + * The part parameter serves two purposes in this operation. It identifies + * the properties that the write operation will set as well as the + * properties that the API response will include. Note that this method + * will override the existing values for mutable properties that are + * contained in any parts that the request body specifies. For example, a + * playlist's description is contained in the snippet part, which must be + * included in the request body. If the request does not specify a value for + * the snippet.description property, the playlist's existing description + * will be deleted. + */ + part?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Playlist; + } + class Resource$Search { + root: Youtube; + constructor(root: Youtube); + getRoot(): Youtube; + /** + * youtube.search.list + * @desc Returns a collection of search results that match the query + * parameters specified in the API request. By default, a search result set + * identifies matching video, channel, and playlist resources, but you can + * also configure queries to only retrieve a specific type of resource. + * @alias youtube.search.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.channelId The channelId parameter indicates that the API response should only contain resources created by the channel + * @param {string=} params.channelType The channelType parameter lets you restrict a search to a particular type of channel. + * @param {string=} params.eventType The eventType parameter restricts a search to broadcast events. If you specify a value for this parameter, you must also set the type parameter's value to video. + * @param {boolean=} params.forContentOwner Note: This parameter is intended exclusively for YouTube content partners. The forContentOwner parameter restricts the search to only retrieve resources owned by the content owner specified by the onBehalfOfContentOwner parameter. The user must be authenticated using a CMS account linked to the specified content owner and onBehalfOfContentOwner must be provided. + * @param {boolean=} params.forDeveloper The forDeveloper parameter restricts the search to only retrieve videos uploaded via the developer's application or website. The API server uses the request's authorization credentials to identify the developer. Therefore, a developer can restrict results to videos uploaded through the developer's own app or website but not to videos uploaded through other apps or sites. + * @param {boolean=} params.forMine The forMine parameter restricts the search to only retrieve videos owned by the authenticated user. If you set this parameter to true, then the type parameter's value must also be set to video. + * @param {string=} params.location The location parameter, in conjunction with the locationRadius parameter, defines a circular geographic area and also restricts a search to videos that specify, in their metadata, a geographic location that falls within that area. The parameter value is a string that specifies latitude/longitude coordinates e.g. (37.42307,-122.08427). - The location parameter value identifies the point at the center of the area. - The locationRadius parameter specifies the maximum distance that the location associated with a video can be from that point for the video to still be included in the search results.The API returns an error if your request specifies a value for the location parameter but does not also specify a value for the locationRadius parameter. + * @param {string=} params.locationRadius The locationRadius parameter, in conjunction with the location parameter, defines a circular geographic area. The parameter value must be a floating point number followed by a measurement unit. Valid measurement units are m, km, ft, and mi. For example, valid parameter values include 1500m, 5km, 10000ft, and 0.75mi. The API does not support locationRadius parameter values larger than 1000 kilometers. Note: See the definition of the location parameter for more information. + * @param {integer=} params.maxResults The maxResults parameter specifies the maximum number of items that should be returned in the result set. + * @param {string=} params.onBehalfOfContentOwner Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * @param {string=} params.order The order parameter specifies the method that will be used to order resources in the API response. + * @param {string=} params.pageToken The pageToken parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved. + * @param {string} params.part The part parameter specifies a comma-separated list of one or more search resource properties that the API response will include. Set the parameter value to snippet. + * @param {string=} params.publishedAfter The publishedAfter parameter indicates that the API response should only contain resources created after the specified time. The value is an RFC 3339 formatted date-time value (1970-01-01T00:00:00Z). + * @param {string=} params.publishedBefore The publishedBefore parameter indicates that the API response should only contain resources created before the specified time. The value is an RFC 3339 formatted date-time value (1970-01-01T00:00:00Z). + * @param {string=} params.q The q parameter specifies the query term to search for. Your request can also use the Boolean NOT (-) and OR (|) operators to exclude videos or to find videos that are associated with one of several search terms. For example, to search for videos matching either "boating" or "sailing", set the q parameter value to boating|sailing. Similarly, to search for videos matching either "boating" or "sailing" but not "fishing", set the q parameter value to boating|sailing -fishing. Note that the pipe character must be URL-escaped when it is sent in your API request. The URL-escaped value for the pipe character is %7C. + * @param {string=} params.regionCode The regionCode parameter instructs the API to return search results for the specified country. The parameter value is an ISO 3166-1 alpha-2 country code. + * @param {string=} params.relatedToVideoId The relatedToVideoId parameter retrieves a list of videos that are related to the video that the parameter value identifies. The parameter value must be set to a YouTube video ID and, if you are using this parameter, the type parameter must be set to video. + * @param {string=} params.relevanceLanguage The relevanceLanguage parameter instructs the API to return search results that are most relevant to the specified language. The parameter value is typically an ISO 639-1 two-letter language code. However, you should use the values zh-Hans for simplified Chinese and zh-Hant for traditional Chinese. Please note that results in other languages will still be returned if they are highly relevant to the search query term. + * @param {string=} params.safeSearch The safeSearch parameter indicates whether the search results should include restricted content as well as standard content. + * @param {string=} params.topicId The topicId parameter indicates that the API response should only contain resources associated with the specified topic. The value identifies a Freebase topic ID. + * @param {string=} params.type The type parameter restricts a search query to only retrieve a particular type of resource. The value is a comma-separated list of resource types. + * @param {string=} params.videoCaption The videoCaption parameter indicates whether the API should filter video search results based on whether they have captions. If you specify a value for this parameter, you must also set the type parameter's value to video. + * @param {string=} params.videoCategoryId The videoCategoryId parameter filters video search results based on their category. If you specify a value for this parameter, you must also set the type parameter's value to video. + * @param {string=} params.videoDefinition The videoDefinition parameter lets you restrict a search to only include either high definition (HD) or standard definition (SD) videos. HD videos are available for playback in at least 720p, though higher resolutions, like 1080p, might also be available. If you specify a value for this parameter, you must also set the type parameter's value to video. + * @param {string=} params.videoDimension The videoDimension parameter lets you restrict a search to only retrieve 2D or 3D videos. If you specify a value for this parameter, you must also set the type parameter's value to video. + * @param {string=} params.videoDuration The videoDuration parameter filters video search results based on their duration. If you specify a value for this parameter, you must also set the type parameter's value to video. + * @param {string=} params.videoEmbeddable The videoEmbeddable parameter lets you to restrict a search to only videos that can be embedded into a webpage. If you specify a value for this parameter, you must also set the type parameter's value to video. + * @param {string=} params.videoLicense The videoLicense parameter filters search results to only include videos with a particular license. YouTube lets video uploaders choose to attach either the Creative Commons license or the standard YouTube license to each of their videos. If you specify a value for this parameter, you must also set the type parameter's value to video. + * @param {string=} params.videoSyndicated The videoSyndicated parameter lets you to restrict a search to only videos that can be played outside youtube.com. If you specify a value for this parameter, you must also set the type parameter's value to video. + * @param {string=} params.videoType The videoType parameter lets you restrict a search to a particular type of videos. If you specify a value for this parameter, you must also set the type parameter's value to video. + * @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?: Params$Resource$Search$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Search$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Search$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Search$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The channelId parameter indicates that the API response should only + * contain resources created by the channel + */ + channelId?: string; + /** + * The channelType parameter lets you restrict a search to a particular type + * of channel. + */ + channelType?: string; + /** + * The eventType parameter restricts a search to broadcast events. If you + * specify a value for this parameter, you must also set the type + * parameter's value to video. + */ + eventType?: string; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. The forContentOwner parameter restricts the search to only + * retrieve resources owned by the content owner specified by the + * onBehalfOfContentOwner parameter. The user must be authenticated using a + * CMS account linked to the specified content owner and + * onBehalfOfContentOwner must be provided. + */ + forContentOwner?: boolean; + /** + * The forDeveloper parameter restricts the search to only retrieve videos + * uploaded via the developer's application or website. The API server uses + * the request's authorization credentials to identify the developer. + * Therefore, a developer can restrict results to videos uploaded through + * the developer's own app or website but not to videos uploaded through + * other apps or sites. + */ + forDeveloper?: boolean; + /** + * The forMine parameter restricts the search to only retrieve videos owned + * by the authenticated user. If you set this parameter to true, then the + * type parameter's value must also be set to video. + */ + forMine?: boolean; + /** + * The location parameter, in conjunction with the locationRadius parameter, + * defines a circular geographic area and also restricts a search to videos + * that specify, in their metadata, a geographic location that falls within + * that area. The parameter value is a string that specifies + * latitude/longitude coordinates e.g. (37.42307,-122.08427). - The + * location parameter value identifies the point at the center of the area. + * - The locationRadius parameter specifies the maximum distance that the + * location associated with a video can be from that point for the video to + * still be included in the search results.The API returns an error if your + * request specifies a value for the location parameter but does not also + * specify a value for the locationRadius parameter. + */ + location?: string; + /** + * The locationRadius parameter, in conjunction with the location parameter, + * defines a circular geographic area. The parameter value must be a + * floating point number followed by a measurement unit. Valid measurement + * units are m, km, ft, and mi. For example, valid parameter values include + * 1500m, 5km, 10000ft, and 0.75mi. The API does not support locationRadius + * parameter values larger than 1000 kilometers. Note: See the definition + * of the location parameter for more information. + */ + locationRadius?: string; + /** + * The maxResults parameter specifies the maximum number of items that + * should be returned in the result set. + */ + maxResults?: number; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. The onBehalfOfContentOwner parameter indicates that the + * request's authorization credentials identify a YouTube CMS user who is + * acting on behalf of the content owner specified in the parameter value. + * This parameter is intended for YouTube content partners that own and + * manage many different YouTube channels. It allows content owners to + * authenticate once and get access to all their video and channel data, + * without having to provide authentication credentials for each individual + * channel. The CMS account that the user authenticates with must be linked + * to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + /** + * The order parameter specifies the method that will be used to order + * resources in the API response. + */ + order?: string; + /** + * The pageToken parameter identifies a specific page in the result set that + * should be returned. In an API response, the nextPageToken and + * prevPageToken properties identify other pages that could be retrieved. + */ + pageToken?: string; + /** + * The part parameter specifies a comma-separated list of one or more search + * resource properties that the API response will include. Set the parameter + * value to snippet. + */ + part?: string; + /** + * The publishedAfter parameter indicates that the API response should only + * contain resources created after the specified time. The value is an RFC + * 3339 formatted date-time value (1970-01-01T00:00:00Z). + */ + publishedAfter?: string; + /** + * The publishedBefore parameter indicates that the API response should only + * contain resources created before the specified time. The value is an RFC + * 3339 formatted date-time value (1970-01-01T00:00:00Z). + */ + publishedBefore?: string; + /** + * The q parameter specifies the query term to search for. Your request can + * also use the Boolean NOT (-) and OR (|) operators to exclude videos or to + * find videos that are associated with one of several search terms. For + * example, to search for videos matching either "boating" or "sailing", set + * the q parameter value to boating|sailing. Similarly, to search for videos + * matching either "boating" or "sailing" but not "fishing", set the q + * parameter value to boating|sailing -fishing. Note that the pipe character + * must be URL-escaped when it is sent in your API request. The URL-escaped + * value for the pipe character is %7C. + */ + q?: string; + /** + * The regionCode parameter instructs the API to return search results for + * the specified country. The parameter value is an ISO 3166-1 alpha-2 + * country code. + */ + regionCode?: string; + /** + * The relatedToVideoId parameter retrieves a list of videos that are + * related to the video that the parameter value identifies. The parameter + * value must be set to a YouTube video ID and, if you are using this + * parameter, the type parameter must be set to video. + */ + relatedToVideoId?: string; + /** + * The relevanceLanguage parameter instructs the API to return search + * results that are most relevant to the specified language. The parameter + * value is typically an ISO 639-1 two-letter language code. However, you + * should use the values zh-Hans for simplified Chinese and zh-Hant for + * traditional Chinese. Please note that results in other languages will + * still be returned if they are highly relevant to the search query term. + */ + relevanceLanguage?: string; + /** + * The safeSearch parameter indicates whether the search results should + * include restricted content as well as standard content. + */ + safeSearch?: string; + /** + * The topicId parameter indicates that the API response should only contain + * resources associated with the specified topic. The value identifies a + * Freebase topic ID. + */ + topicId?: string; + /** + * The type parameter restricts a search query to only retrieve a particular + * type of resource. The value is a comma-separated list of resource types. + */ + type?: string; + /** + * The videoCaption parameter indicates whether the API should filter video + * search results based on whether they have captions. If you specify a + * value for this parameter, you must also set the type parameter's value to + * video. + */ + videoCaption?: string; + /** + * The videoCategoryId parameter filters video search results based on their + * category. If you specify a value for this parameter, you must also set + * the type parameter's value to video. + */ + videoCategoryId?: string; + /** + * The videoDefinition parameter lets you restrict a search to only include + * either high definition (HD) or standard definition (SD) videos. HD videos + * are available for playback in at least 720p, though higher resolutions, + * like 1080p, might also be available. If you specify a value for this + * parameter, you must also set the type parameter's value to video. + */ + videoDefinition?: string; + /** + * The videoDimension parameter lets you restrict a search to only retrieve + * 2D or 3D videos. If you specify a value for this parameter, you must also + * set the type parameter's value to video. + */ + videoDimension?: string; + /** + * The videoDuration parameter filters video search results based on their + * duration. If you specify a value for this parameter, you must also set + * the type parameter's value to video. + */ + videoDuration?: string; + /** + * The videoEmbeddable parameter lets you to restrict a search to only + * videos that can be embedded into a webpage. If you specify a value for + * this parameter, you must also set the type parameter's value to video. + */ + videoEmbeddable?: string; + /** + * The videoLicense parameter filters search results to only include videos + * with a particular license. YouTube lets video uploaders choose to attach + * either the Creative Commons license or the standard YouTube license to + * each of their videos. If you specify a value for this parameter, you must + * also set the type parameter's value to video. + */ + videoLicense?: string; + /** + * The videoSyndicated parameter lets you to restrict a search to only + * videos that can be played outside youtube.com. If you specify a value for + * this parameter, you must also set the type parameter's value to video. + */ + videoSyndicated?: string; + /** + * The videoType parameter lets you restrict a search to a particular type + * of videos. If you specify a value for this parameter, you must also set + * the type parameter's value to video. + */ + videoType?: string; + } + class Resource$Sponsors { + root: Youtube; + constructor(root: Youtube); + getRoot(): Youtube; + /** + * youtube.sponsors.list + * @desc Lists sponsors for a channel. + * @alias youtube.sponsors.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter The filter parameter specifies which channel sponsors to return. + * @param {integer=} params.maxResults The maxResults parameter specifies the maximum number of items that should be returned in the result set. + * @param {string=} params.pageToken The pageToken parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved. + * @param {string} params.part The part parameter specifies the sponsor resource parts that the API response will include. Supported values are id and snippet. + * @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?: Params$Resource$Sponsors$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Sponsors$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Sponsors$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Sponsors$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The filter parameter specifies which channel sponsors to return. + */ + filter?: string; + /** + * The maxResults parameter specifies the maximum number of items that + * should be returned in the result set. + */ + maxResults?: number; + /** + * The pageToken parameter identifies a specific page in the result set that + * should be returned. In an API response, the nextPageToken and + * prevPageToken properties identify other pages that could be retrieved. + */ + pageToken?: string; + /** + * The part parameter specifies the sponsor resource parts that the API + * response will include. Supported values are id and snippet. + */ + part?: string; + } + class Resource$Subscriptions { + root: Youtube; + constructor(root: Youtube); + getRoot(): Youtube; + /** + * youtube.subscriptions.delete + * @desc Deletes a subscription. + * @alias youtube.subscriptions.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The id parameter specifies the YouTube subscription ID for the resource that is being deleted. In a subscription resource, the id property specifies the YouTube subscription ID. + * @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?: Params$Resource$Subscriptions$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Subscriptions$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Subscriptions$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * youtube.subscriptions.insert + * @desc Adds a subscription for the authenticated user's channel. + * @alias youtube.subscriptions.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.part The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include. + * @param {().Subscription} 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?: Params$Resource$Subscriptions$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Subscriptions$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Subscriptions$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * youtube.subscriptions.list + * @desc Returns subscription resources that match the API request criteria. + * @alias youtube.subscriptions.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.channelId The channelId parameter specifies a YouTube channel ID. The API will only return that channel's subscriptions. + * @param {string=} params.forChannelId The forChannelId parameter specifies a comma-separated list of channel IDs. The API response will then only contain subscriptions matching those channels. + * @param {string=} params.id The id parameter specifies a comma-separated list of the YouTube subscription ID(s) for the resource(s) that are being retrieved. In a subscription resource, the id property specifies the YouTube subscription ID. + * @param {integer=} params.maxResults The maxResults parameter specifies the maximum number of items that should be returned in the result set. + * @param {boolean=} params.mine Set this parameter's value to true to retrieve a feed of the authenticated user's subscriptions. + * @param {boolean=} params.myRecentSubscribers Set this parameter's value to true to retrieve a feed of the subscribers of the authenticated user in reverse chronological order (newest first). + * @param {boolean=} params.mySubscribers Set this parameter's value to true to retrieve a feed of the subscribers of the authenticated user in no particular order. + * @param {string=} params.onBehalfOfContentOwner Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * @param {string=} params.onBehalfOfContentOwnerChannel This parameter can only be used in a properly authorized request. Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel. + * @param {string=} params.order The order parameter specifies the method that will be used to sort resources in the API response. + * @param {string=} params.pageToken The pageToken parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved. + * @param {string} params.part The part parameter specifies a comma-separated list of one or more subscription resource properties that the API response will include. If the parameter identifies a property that contains child properties, the child properties will be included in the response. For example, in a subscription resource, the snippet property contains other properties, such as a display title for the subscription. If you set part=snippet, the API response will also contain all of those nested properties. + * @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?: Params$Resource$Subscriptions$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Subscriptions$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Subscriptions$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Subscriptions$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The id parameter specifies the YouTube subscription ID for the resource + * that is being deleted. In a subscription resource, the id property + * specifies the YouTube subscription ID. + */ + id?: string; + } + interface Params$Resource$Subscriptions$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The part parameter serves two purposes in this operation. It identifies + * the properties that the write operation will set as well as the + * properties that the API response will include. + */ + part?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Subscription; + } + interface Params$Resource$Subscriptions$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The channelId parameter specifies a YouTube channel ID. The API will only + * return that channel's subscriptions. + */ + channelId?: string; + /** + * The forChannelId parameter specifies a comma-separated list of channel + * IDs. The API response will then only contain subscriptions matching those + * channels. + */ + forChannelId?: string; + /** + * The id parameter specifies a comma-separated list of the YouTube + * subscription ID(s) for the resource(s) that are being retrieved. In a + * subscription resource, the id property specifies the YouTube subscription + * ID. + */ + id?: string; + /** + * The maxResults parameter specifies the maximum number of items that + * should be returned in the result set. + */ + maxResults?: number; + /** + * Set this parameter's value to true to retrieve a feed of the + * authenticated user's subscriptions. + */ + mine?: boolean; + /** + * Set this parameter's value to true to retrieve a feed of the subscribers + * of the authenticated user in reverse chronological order (newest first). + */ + myRecentSubscribers?: boolean; + /** + * Set this parameter's value to true to retrieve a feed of the subscribers + * of the authenticated user in no particular order. + */ + mySubscribers?: boolean; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. The onBehalfOfContentOwner parameter indicates that the + * request's authorization credentials identify a YouTube CMS user who is + * acting on behalf of the content owner specified in the parameter value. + * This parameter is intended for YouTube content partners that own and + * manage many different YouTube channels. It allows content owners to + * authenticate once and get access to all their video and channel data, + * without having to provide authentication credentials for each individual + * channel. The CMS account that the user authenticates with must be linked + * to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + /** + * This parameter can only be used in a properly authorized request. Note: + * This parameter is intended exclusively for YouTube content partners. The + * onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID + * of the channel to which a video is being added. This parameter is + * required when a request specifies a value for the onBehalfOfContentOwner + * parameter, and it can only be used in conjunction with that parameter. In + * addition, the request must be authorized using a CMS account that is + * linked to the content owner that the onBehalfOfContentOwner parameter + * specifies. Finally, the channel that the onBehalfOfContentOwnerChannel + * parameter value specifies must be linked to the content owner that the + * onBehalfOfContentOwner parameter specifies. This parameter is intended + * for YouTube content partners that own and manage many different YouTube + * channels. It allows content owners to authenticate once and perform + * actions on behalf of the channel specified in the parameter value, + * without having to provide authentication credentials for each separate + * channel. + */ + onBehalfOfContentOwnerChannel?: string; + /** + * The order parameter specifies the method that will be used to sort + * resources in the API response. + */ + order?: string; + /** + * The pageToken parameter identifies a specific page in the result set that + * should be returned. In an API response, the nextPageToken and + * prevPageToken properties identify other pages that could be retrieved. + */ + pageToken?: string; + /** + * The part parameter specifies a comma-separated list of one or more + * subscription resource properties that the API response will include. If + * the parameter identifies a property that contains child properties, the + * child properties will be included in the response. For example, in a + * subscription resource, the snippet property contains other properties, + * such as a display title for the subscription. If you set part=snippet, + * the API response will also contain all of those nested properties. + */ + part?: string; + } + class Resource$Superchatevents { + root: Youtube; + constructor(root: Youtube); + getRoot(): Youtube; + /** + * youtube.superChatEvents.list + * @desc Lists Super Chat events for a channel. + * @alias youtube.superChatEvents.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.hl The hl parameter instructs the API to retrieve localized resource metadata for a specific application language that the YouTube website supports. The parameter value must be a language code included in the list returned by the i18nLanguages.list method. If localized resource details are available in that language, the resource's snippet.localized object will contain the localized values. However, if localized details are not available, the snippet.localized object will contain resource details in the resource's default language. + * @param {integer=} params.maxResults The maxResults parameter specifies the maximum number of items that should be returned in the result set. + * @param {string=} params.pageToken The pageToken parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved. + * @param {string} params.part The part parameter specifies the superChatEvent resource parts that the API response will include. Supported values are id and snippet. + * @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?: Params$Resource$Superchatevents$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Superchatevents$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Superchatevents$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Superchatevents$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The hl parameter instructs the API to retrieve localized resource + * metadata for a specific application language that the YouTube website + * supports. The parameter value must be a language code included in the + * list returned by the i18nLanguages.list method. If localized resource + * details are available in that language, the resource's snippet.localized + * object will contain the localized values. However, if localized details + * are not available, the snippet.localized object will contain resource + * details in the resource's default language. + */ + hl?: string; + /** + * The maxResults parameter specifies the maximum number of items that + * should be returned in the result set. + */ + maxResults?: number; + /** + * The pageToken parameter identifies a specific page in the result set that + * should be returned. In an API response, the nextPageToken and + * prevPageToken properties identify other pages that could be retrieved. + */ + pageToken?: string; + /** + * The part parameter specifies the superChatEvent resource parts that the + * API response will include. Supported values are id and snippet. + */ + part?: string; + } + class Resource$Thumbnails { + root: Youtube; + constructor(root: Youtube); + getRoot(): Youtube; + /** + * youtube.thumbnails.set + * @desc Uploads a custom video thumbnail to YouTube and sets it for a + * video. + * @alias youtube.thumbnails.set + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.onBehalfOfContentOwner Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The actual CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * @param {string} params.videoId The videoId parameter specifies a YouTube video ID for which the custom video thumbnail is being provided. + * @param {object} params.media Media object + * @param {string} params.media.mimeType Media mime-type + * @param {string|object} params.media.body Media body contents + * @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 + */ + set(params?: Params$Resource$Thumbnails$Set, options?: MethodOptions): AxiosPromise; + set(params: Params$Resource$Thumbnails$Set, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + set(params: Params$Resource$Thumbnails$Set, callback: BodyResponseCallback): void; + set(callback: BodyResponseCallback): void; + } + interface Params$Resource$Thumbnails$Set { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. The onBehalfOfContentOwner parameter indicates that the + * request's authorization credentials identify a YouTube CMS user who is + * acting on behalf of the content owner specified in the parameter value. + * This parameter is intended for YouTube content partners that own and + * manage many different YouTube channels. It allows content owners to + * authenticate once and get access to all their video and channel data, + * without having to provide authentication credentials for each individual + * channel. The actual CMS account that the user authenticates with must be + * linked to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + /** + * The videoId parameter specifies a YouTube video ID for which the custom + * video thumbnail is being provided. + */ + videoId?: string; + /** + * Media metadata + */ + media?: { + /** + * Media mime-type + */ + mediaType?: string; + /** + * Media body contents + */ + body?: any; + }; + } + class Resource$Videoabusereportreasons { + root: Youtube; + constructor(root: Youtube); + getRoot(): Youtube; + /** + * youtube.videoAbuseReportReasons.list + * @desc Returns a list of abuse reasons that can be used for reporting + * abusive videos. + * @alias youtube.videoAbuseReportReasons.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.hl The hl parameter specifies the language that should be used for text values in the API response. + * @param {string} params.part The part parameter specifies the videoCategory resource parts that the API response will include. Supported values are id and snippet. + * @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?: Params$Resource$Videoabusereportreasons$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Videoabusereportreasons$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Videoabusereportreasons$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Videoabusereportreasons$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The hl parameter specifies the language that should be used for text + * values in the API response. + */ + hl?: string; + /** + * The part parameter specifies the videoCategory resource parts that the + * API response will include. Supported values are id and snippet. + */ + part?: string; + } + class Resource$Videocategories { + root: Youtube; + constructor(root: Youtube); + getRoot(): Youtube; + /** + * youtube.videoCategories.list + * @desc Returns a list of categories that can be associated with YouTube + * videos. + * @alias youtube.videoCategories.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.hl The hl parameter specifies the language that should be used for text values in the API response. + * @param {string=} params.id The id parameter specifies a comma-separated list of video category IDs for the resources that you are retrieving. + * @param {string} params.part The part parameter specifies the videoCategory resource properties that the API response will include. Set the parameter value to snippet. + * @param {string=} params.regionCode The regionCode parameter instructs the API to return the list of video categories available in the specified country. The parameter value is an ISO 3166-1 alpha-2 country code. + * @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?: Params$Resource$Videocategories$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Videocategories$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Videocategories$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Videocategories$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The hl parameter specifies the language that should be used for text + * values in the API response. + */ + hl?: string; + /** + * The id parameter specifies a comma-separated list of video category IDs + * for the resources that you are retrieving. + */ + id?: string; + /** + * The part parameter specifies the videoCategory resource properties that + * the API response will include. Set the parameter value to snippet. + */ + part?: string; + /** + * The regionCode parameter instructs the API to return the list of video + * categories available in the specified country. The parameter value is an + * ISO 3166-1 alpha-2 country code. + */ + regionCode?: string; + } + class Resource$Videos { + root: Youtube; + constructor(root: Youtube); + getRoot(): Youtube; + /** + * youtube.videos.delete + * @desc Deletes a YouTube video. + * @alias youtube.videos.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The id parameter specifies the YouTube video ID for the resource that is being deleted. In a video resource, the id property specifies the video's ID. + * @param {string=} params.onBehalfOfContentOwner Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The actual CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * @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?: Params$Resource$Videos$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Videos$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Videos$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * youtube.videos.getRating + * @desc Retrieves the ratings that the authorized user gave to a list of + * specified videos. + * @alias youtube.videos.getRating + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The id parameter specifies a comma-separated list of the YouTube video ID(s) for the resource(s) for which you are retrieving rating data. In a video resource, the id property specifies the video's ID. + * @param {string=} params.onBehalfOfContentOwner Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * @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 + */ + getRating(params?: Params$Resource$Videos$Getrating, options?: MethodOptions): AxiosPromise; + getRating(params: Params$Resource$Videos$Getrating, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + getRating(params: Params$Resource$Videos$Getrating, callback: BodyResponseCallback): void; + getRating(callback: BodyResponseCallback): void; + /** + * youtube.videos.insert + * @desc Uploads a video to YouTube and optionally sets the video's + * metadata. + * @alias youtube.videos.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.autoLevels The autoLevels parameter indicates whether YouTube should automatically enhance the video's lighting and color. + * @param {boolean=} params.notifySubscribers The notifySubscribers parameter indicates whether YouTube should send a notification about the new video to users who subscribe to the video's channel. A parameter value of True indicates that subscribers will be notified of newly uploaded videos. However, a channel owner who is uploading many videos might prefer to set the value to False to avoid sending a notification about each new video to the channel's subscribers. + * @param {string=} params.onBehalfOfContentOwner Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * @param {string=} params.onBehalfOfContentOwnerChannel This parameter can only be used in a properly authorized request. Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel. + * @param {string} params.part The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include. Note that not all parts contain properties that can be set when inserting or updating a video. For example, the statistics object encapsulates statistics that YouTube calculates for a video and does not contain values that you can set or modify. If the parameter value specifies a part that does not contain mutable values, that part will still be included in the API response. + * @param {boolean=} params.stabilize The stabilize parameter indicates whether YouTube should adjust the video to remove shaky camera motions. + * @param {object} params.resource Media resource metadata + * @param {object} params.media Media object + * @param {string} params.media.mimeType Media mime-type + * @param {string|object} params.media.body Media body contents + * @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?: Params$Resource$Videos$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Videos$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Videos$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * youtube.videos.list + * @desc Returns a list of videos that match the API request parameters. + * @alias youtube.videos.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.chart The chart parameter identifies the chart that you want to retrieve. + * @param {string=} params.hl The hl parameter instructs the API to retrieve localized resource metadata for a specific application language that the YouTube website supports. The parameter value must be a language code included in the list returned by the i18nLanguages.list method. If localized resource details are available in that language, the resource's snippet.localized object will contain the localized values. However, if localized details are not available, the snippet.localized object will contain resource details in the resource's default language. + * @param {string=} params.id The id parameter specifies a comma-separated list of the YouTube video ID(s) for the resource(s) that are being retrieved. In a video resource, the id property specifies the video's ID. + * @param {string=} params.locale DEPRECATED + * @param {integer=} params.maxHeight The maxHeight parameter specifies a maximum height of the embedded player. If maxWidth is provided, maxHeight may not be reached in order to not violate the width request. + * @param {integer=} params.maxResults The maxResults parameter specifies the maximum number of items that should be returned in the result set. Note: This parameter is supported for use in conjunction with the myRating and chart parameters, but it is not supported for use in conjunction with the id parameter. + * @param {integer=} params.maxWidth The maxWidth parameter specifies a maximum width of the embedded player. If maxHeight is provided, maxWidth may not be reached in order to not violate the height request. + * @param {string=} params.myRating Set this parameter's value to like or dislike to instruct the API to only return videos liked or disliked by the authenticated user. + * @param {string=} params.onBehalfOfContentOwner Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * @param {string=} params.pageToken The pageToken parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved. Note: This parameter is supported for use in conjunction with the myRating and chart parameters, but it is not supported for use in conjunction with the id parameter. + * @param {string} params.part The part parameter specifies a comma-separated list of one or more video resource properties that the API response will include. If the parameter identifies a property that contains child properties, the child properties will be included in the response. For example, in a video resource, the snippet property contains the channelId, title, description, tags, and categoryId properties. As such, if you set part=snippet, the API response will contain all of those properties. + * @param {string=} params.regionCode The regionCode parameter instructs the API to select a video chart available in the specified region. This parameter can only be used in conjunction with the chart parameter. The parameter value is an ISO 3166-1 alpha-2 country code. + * @param {string=} params.videoCategoryId The videoCategoryId parameter identifies the video category for which the chart should be retrieved. This parameter can only be used in conjunction with the chart parameter. By default, charts are not restricted to a particular category. + * @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?: Params$Resource$Videos$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Videos$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Videos$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * youtube.videos.rate + * @desc Add a like or dislike rating to a video or remove a rating from a + * video. + * @alias youtube.videos.rate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The id parameter specifies the YouTube video ID of the video that is being rated or having its rating removed. + * @param {string} params.rating Specifies the rating to record. + * @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 + */ + rate(params?: Params$Resource$Videos$Rate, options?: MethodOptions): AxiosPromise; + rate(params: Params$Resource$Videos$Rate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + rate(params: Params$Resource$Videos$Rate, callback: BodyResponseCallback): void; + rate(callback: BodyResponseCallback): void; + /** + * youtube.videos.reportAbuse + * @desc Report abuse for a video. + * @alias youtube.videos.reportAbuse + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.onBehalfOfContentOwner Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * @param {().VideoAbuseReport} 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 + */ + reportAbuse(params?: Params$Resource$Videos$Reportabuse, options?: MethodOptions): AxiosPromise; + reportAbuse(params: Params$Resource$Videos$Reportabuse, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + reportAbuse(params: Params$Resource$Videos$Reportabuse, callback: BodyResponseCallback): void; + reportAbuse(callback: BodyResponseCallback): void; + /** + * youtube.videos.update + * @desc Updates a video's metadata. + * @alias youtube.videos.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.onBehalfOfContentOwner Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The actual CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * @param {string} params.part The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include. Note that this method will override the existing values for all of the mutable properties that are contained in any parts that the parameter value specifies. For example, a video's privacy setting is contained in the status part. As such, if your request is updating a private video, and the request's part parameter value includes the status part, the video's privacy setting will be updated to whatever value the request body specifies. If the request body does not specify a value, the existing privacy setting will be removed and the video will revert to the default privacy setting. In addition, not all parts contain properties that can be set when inserting or updating a video. For example, the statistics object encapsulates statistics that YouTube calculates for a video and does not contain values that you can set or modify. If the parameter value specifies a part that does not contain mutable values, that part will still be included in the API response. + * @param {().Video} 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?: Params$Resource$Videos$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Videos$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Videos$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Videos$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The id parameter specifies the YouTube video ID for the resource that is + * being deleted. In a video resource, the id property specifies the video's + * ID. + */ + id?: string; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. The onBehalfOfContentOwner parameter indicates that the + * request's authorization credentials identify a YouTube CMS user who is + * acting on behalf of the content owner specified in the parameter value. + * This parameter is intended for YouTube content partners that own and + * manage many different YouTube channels. It allows content owners to + * authenticate once and get access to all their video and channel data, + * without having to provide authentication credentials for each individual + * channel. The actual CMS account that the user authenticates with must be + * linked to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + } + interface Params$Resource$Videos$Getrating { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The id parameter specifies a comma-separated list of the YouTube video + * ID(s) for the resource(s) for which you are retrieving rating data. In a + * video resource, the id property specifies the video's ID. + */ + id?: string; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. The onBehalfOfContentOwner parameter indicates that the + * request's authorization credentials identify a YouTube CMS user who is + * acting on behalf of the content owner specified in the parameter value. + * This parameter is intended for YouTube content partners that own and + * manage many different YouTube channels. It allows content owners to + * authenticate once and get access to all their video and channel data, + * without having to provide authentication credentials for each individual + * channel. The CMS account that the user authenticates with must be linked + * to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + } + interface Params$Resource$Videos$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The autoLevels parameter indicates whether YouTube should automatically + * enhance the video's lighting and color. + */ + autoLevels?: boolean; + /** + * The notifySubscribers parameter indicates whether YouTube should send a + * notification about the new video to users who subscribe to the video's + * channel. A parameter value of True indicates that subscribers will be + * notified of newly uploaded videos. However, a channel owner who is + * uploading many videos might prefer to set the value to False to avoid + * sending a notification about each new video to the channel's subscribers. + */ + notifySubscribers?: boolean; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. The onBehalfOfContentOwner parameter indicates that the + * request's authorization credentials identify a YouTube CMS user who is + * acting on behalf of the content owner specified in the parameter value. + * This parameter is intended for YouTube content partners that own and + * manage many different YouTube channels. It allows content owners to + * authenticate once and get access to all their video and channel data, + * without having to provide authentication credentials for each individual + * channel. The CMS account that the user authenticates with must be linked + * to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + /** + * This parameter can only be used in a properly authorized request. Note: + * This parameter is intended exclusively for YouTube content partners. The + * onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID + * of the channel to which a video is being added. This parameter is + * required when a request specifies a value for the onBehalfOfContentOwner + * parameter, and it can only be used in conjunction with that parameter. In + * addition, the request must be authorized using a CMS account that is + * linked to the content owner that the onBehalfOfContentOwner parameter + * specifies. Finally, the channel that the onBehalfOfContentOwnerChannel + * parameter value specifies must be linked to the content owner that the + * onBehalfOfContentOwner parameter specifies. This parameter is intended + * for YouTube content partners that own and manage many different YouTube + * channels. It allows content owners to authenticate once and perform + * actions on behalf of the channel specified in the parameter value, + * without having to provide authentication credentials for each separate + * channel. + */ + onBehalfOfContentOwnerChannel?: string; + /** + * The part parameter serves two purposes in this operation. It identifies + * the properties that the write operation will set as well as the + * properties that the API response will include. Note that not all parts + * contain properties that can be set when inserting or updating a video. + * For example, the statistics object encapsulates statistics that YouTube + * calculates for a video and does not contain values that you can set or + * modify. If the parameter value specifies a part that does not contain + * mutable values, that part will still be included in the API response. + */ + part?: string; + /** + * The stabilize parameter indicates whether YouTube should adjust the video + * to remove shaky camera motions. + */ + stabilize?: boolean; + /** + * Request body metadata + */ + requestBody?: Schema$Video; + /** + * Media metadata + */ + media?: { + /** + * Media mime-type + */ + mediaType?: string; + /** + * Media body contents + */ + body?: any; + }; + } + interface Params$Resource$Videos$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The chart parameter identifies the chart that you want to retrieve. + */ + chart?: string; + /** + * The hl parameter instructs the API to retrieve localized resource + * metadata for a specific application language that the YouTube website + * supports. The parameter value must be a language code included in the + * list returned by the i18nLanguages.list method. If localized resource + * details are available in that language, the resource's snippet.localized + * object will contain the localized values. However, if localized details + * are not available, the snippet.localized object will contain resource + * details in the resource's default language. + */ + hl?: string; + /** + * The id parameter specifies a comma-separated list of the YouTube video + * ID(s) for the resource(s) that are being retrieved. In a video resource, + * the id property specifies the video's ID. + */ + id?: string; + /** + * DEPRECATED + */ + locale?: string; + /** + * The maxHeight parameter specifies a maximum height of the embedded + * player. If maxWidth is provided, maxHeight may not be reached in order to + * not violate the width request. + */ + maxHeight?: number; + /** + * The maxResults parameter specifies the maximum number of items that + * should be returned in the result set. Note: This parameter is supported + * for use in conjunction with the myRating and chart parameters, but it is + * not supported for use in conjunction with the id parameter. + */ + maxResults?: number; + /** + * The maxWidth parameter specifies a maximum width of the embedded player. + * If maxHeight is provided, maxWidth may not be reached in order to not + * violate the height request. + */ + maxWidth?: number; + /** + * Set this parameter's value to like or dislike to instruct the API to only + * return videos liked or disliked by the authenticated user. + */ + myRating?: string; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. The onBehalfOfContentOwner parameter indicates that the + * request's authorization credentials identify a YouTube CMS user who is + * acting on behalf of the content owner specified in the parameter value. + * This parameter is intended for YouTube content partners that own and + * manage many different YouTube channels. It allows content owners to + * authenticate once and get access to all their video and channel data, + * without having to provide authentication credentials for each individual + * channel. The CMS account that the user authenticates with must be linked + * to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + /** + * The pageToken parameter identifies a specific page in the result set that + * should be returned. In an API response, the nextPageToken and + * prevPageToken properties identify other pages that could be retrieved. + * Note: This parameter is supported for use in conjunction with the + * myRating and chart parameters, but it is not supported for use in + * conjunction with the id parameter. + */ + pageToken?: string; + /** + * The part parameter specifies a comma-separated list of one or more video + * resource properties that the API response will include. If the parameter + * identifies a property that contains child properties, the child + * properties will be included in the response. For example, in a video + * resource, the snippet property contains the channelId, title, + * description, tags, and categoryId properties. As such, if you set + * part=snippet, the API response will contain all of those properties. + */ + part?: string; + /** + * The regionCode parameter instructs the API to select a video chart + * available in the specified region. This parameter can only be used in + * conjunction with the chart parameter. The parameter value is an ISO + * 3166-1 alpha-2 country code. + */ + regionCode?: string; + /** + * The videoCategoryId parameter identifies the video category for which the + * chart should be retrieved. This parameter can only be used in conjunction + * with the chart parameter. By default, charts are not restricted to a + * particular category. + */ + videoCategoryId?: string; + } + interface Params$Resource$Videos$Rate { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The id parameter specifies the YouTube video ID of the video that is + * being rated or having its rating removed. + */ + id?: string; + /** + * Specifies the rating to record. + */ + rating?: string; + } + interface Params$Resource$Videos$Reportabuse { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. The onBehalfOfContentOwner parameter indicates that the + * request's authorization credentials identify a YouTube CMS user who is + * acting on behalf of the content owner specified in the parameter value. + * This parameter is intended for YouTube content partners that own and + * manage many different YouTube channels. It allows content owners to + * authenticate once and get access to all their video and channel data, + * without having to provide authentication credentials for each individual + * channel. The CMS account that the user authenticates with must be linked + * to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + /** + * Request body metadata + */ + requestBody?: Schema$VideoAbuseReport; + } + interface Params$Resource$Videos$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. The onBehalfOfContentOwner parameter indicates that the + * request's authorization credentials identify a YouTube CMS user who is + * acting on behalf of the content owner specified in the parameter value. + * This parameter is intended for YouTube content partners that own and + * manage many different YouTube channels. It allows content owners to + * authenticate once and get access to all their video and channel data, + * without having to provide authentication credentials for each individual + * channel. The actual CMS account that the user authenticates with must be + * linked to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + /** + * The part parameter serves two purposes in this operation. It identifies + * the properties that the write operation will set as well as the + * properties that the API response will include. Note that this method + * will override the existing values for all of the mutable properties that + * are contained in any parts that the parameter value specifies. For + * example, a video's privacy setting is contained in the status part. As + * such, if your request is updating a private video, and the request's part + * parameter value includes the status part, the video's privacy setting + * will be updated to whatever value the request body specifies. If the + * request body does not specify a value, the existing privacy setting will + * be removed and the video will revert to the default privacy setting. In + * addition, not all parts contain properties that can be set when inserting + * or updating a video. For example, the statistics object encapsulates + * statistics that YouTube calculates for a video and does not contain + * values that you can set or modify. If the parameter value specifies a + * part that does not contain mutable values, that part will still be + * included in the API response. + */ + part?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Video; + } + class Resource$Watermarks { + root: Youtube; + constructor(root: Youtube); + getRoot(): Youtube; + /** + * youtube.watermarks.set + * @desc Uploads a watermark image to YouTube and sets it for a channel. + * @alias youtube.watermarks.set + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.channelId The channelId parameter specifies the YouTube channel ID for which the watermark is being provided. + * @param {string=} params.onBehalfOfContentOwner Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * @param {object} params.resource Media resource metadata + * @param {object} params.media Media object + * @param {string} params.media.mimeType Media mime-type + * @param {string|object} params.media.body Media body contents + * @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 + */ + set(params?: Params$Resource$Watermarks$Set, options?: MethodOptions): AxiosPromise; + set(params: Params$Resource$Watermarks$Set, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + set(params: Params$Resource$Watermarks$Set, callback: BodyResponseCallback): void; + set(callback: BodyResponseCallback): void; + /** + * youtube.watermarks.unset + * @desc Deletes a channel's watermark image. + * @alias youtube.watermarks.unset + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.channelId The channelId parameter specifies the YouTube channel ID for which the watermark is being unset. + * @param {string=} params.onBehalfOfContentOwner Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * @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 + */ + unset(params?: Params$Resource$Watermarks$Unset, options?: MethodOptions): AxiosPromise; + unset(params: Params$Resource$Watermarks$Unset, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + unset(params: Params$Resource$Watermarks$Unset, callback: BodyResponseCallback): void; + unset(callback: BodyResponseCallback): void; + } + interface Params$Resource$Watermarks$Set { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The channelId parameter specifies the YouTube channel ID for which the + * watermark is being provided. + */ + channelId?: string; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. The onBehalfOfContentOwner parameter indicates that the + * request's authorization credentials identify a YouTube CMS user who is + * acting on behalf of the content owner specified in the parameter value. + * This parameter is intended for YouTube content partners that own and + * manage many different YouTube channels. It allows content owners to + * authenticate once and get access to all their video and channel data, + * without having to provide authentication credentials for each individual + * channel. The CMS account that the user authenticates with must be linked + * to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + /** + * Request body metadata + */ + requestBody?: Schema$InvideoBranding; + /** + * Media metadata + */ + media?: { + /** + * Media mime-type + */ + mediaType?: string; + /** + * Media body contents + */ + body?: any; + }; + } + interface Params$Resource$Watermarks$Unset { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The channelId parameter specifies the YouTube channel ID for which the + * watermark is being unset. + */ + channelId?: string; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. The onBehalfOfContentOwner parameter indicates that the + * request's authorization credentials identify a YouTube CMS user who is + * acting on behalf of the content owner specified in the parameter value. + * This parameter is intended for YouTube content partners that own and + * manage many different YouTube channels. It allows content owners to + * authenticate once and get access to all their video and channel data, + * without having to provide authentication credentials for each individual + * channel. The CMS account that the user authenticates with must be linked + * to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/youtube/v3.js b/express-server/node_modules/googleapis/build/src/apis/youtube/v3.js new file mode 100644 index 00000000..79b66abc --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/youtube/v3.js @@ -0,0 +1,2554 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var youtube_v3; +(function (youtube_v3) { + /** + * YouTube Data API + * + * Supports core YouTube features, such as uploading videos, creating and + * managing playlists, searching for content, and much more. + * + * @example + * const {google} = require('googleapis'); + * const youtube = google.youtube('v3'); + * + * @namespace youtube + * @type {Function} + * @version v3 + * @variation v3 + * @param {object=} options Options for Youtube + */ + class Youtube { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.activities = new Resource$Activities(this); + this.captions = new Resource$Captions(this); + this.channelBanners = new Resource$Channelbanners(this); + this.channels = new Resource$Channels(this); + this.channelSections = new Resource$Channelsections(this); + this.comments = new Resource$Comments(this); + this.commentThreads = new Resource$Commentthreads(this); + this.guideCategories = new Resource$Guidecategories(this); + this.i18nLanguages = new Resource$I18nlanguages(this); + this.i18nRegions = new Resource$I18nregions(this); + this.liveBroadcasts = new Resource$Livebroadcasts(this); + this.liveChatBans = new Resource$Livechatbans(this); + this.liveChatMessages = new Resource$Livechatmessages(this); + this.liveChatModerators = new Resource$Livechatmoderators(this); + this.liveStreams = new Resource$Livestreams(this); + this.playlistItems = new Resource$Playlistitems(this); + this.playlists = new Resource$Playlists(this); + this.search = new Resource$Search(this); + this.sponsors = new Resource$Sponsors(this); + this.subscriptions = new Resource$Subscriptions(this); + this.superChatEvents = new Resource$Superchatevents(this); + this.thumbnails = new Resource$Thumbnails(this); + this.videoAbuseReportReasons = new Resource$Videoabusereportreasons(this); + this.videoCategories = new Resource$Videocategories(this); + this.videos = new Resource$Videos(this); + this.watermarks = new Resource$Watermarks(this); + } + getRoot() { + return this.root; + } + } + youtube_v3.Youtube = Youtube; + class Resource$Activities { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/activities') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['part'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/activities') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['part'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + youtube_v3.Resource$Activities = Resource$Activities; + class Resource$Captions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/captions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['id'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + download(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/captions/{id}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['id'], + pathParams: ['id'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/captions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + mediaUrl: (rootUrl + '/upload/youtube/v3/captions') + .replace(/([^:]\/)\/+/g, '$1'), + requiredParams: ['part'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/captions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['part', 'videoId'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/captions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + mediaUrl: (rootUrl + '/upload/youtube/v3/captions') + .replace(/([^:]\/)\/+/g, '$1'), + requiredParams: ['part'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + youtube_v3.Resource$Captions = Resource$Captions; + class Resource$Channelbanners { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/channelBanners/insert') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + mediaUrl: (rootUrl + '/upload/youtube/v3/channelBanners/insert') + .replace(/([^:]\/)\/+/g, '$1'), + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + youtube_v3.Resource$Channelbanners = Resource$Channelbanners; + class Resource$Channels { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/channels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['part'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/channels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['part'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + youtube_v3.Resource$Channels = Resource$Channels; + class Resource$Channelsections { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/channelSections') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['id'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/channelSections') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['part'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/channelSections') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['part'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/channelSections') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['part'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + youtube_v3.Resource$Channelsections = Resource$Channelsections; + class Resource$Comments { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/comments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['id'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/comments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['part'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/comments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['part'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + markAsSpam(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/comments/markAsSpam') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['id'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + setModerationStatus(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/comments/setModerationStatus') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['id', 'moderationStatus'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/comments') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['part'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + youtube_v3.Resource$Comments = Resource$Comments; + class Resource$Commentthreads { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/commentThreads') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['part'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/commentThreads') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['part'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/commentThreads') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['part'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + youtube_v3.Resource$Commentthreads = Resource$Commentthreads; + class Resource$Guidecategories { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/guideCategories') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['part'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + youtube_v3.Resource$Guidecategories = Resource$Guidecategories; + class Resource$I18nlanguages { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/i18nLanguages') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['part'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + youtube_v3.Resource$I18nlanguages = Resource$I18nlanguages; + class Resource$I18nregions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/i18nRegions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['part'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + youtube_v3.Resource$I18nregions = Resource$I18nregions; + class Resource$Livebroadcasts { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + bind(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/liveBroadcasts/bind') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['id', 'part'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + control(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/liveBroadcasts/control') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['id', 'part'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/liveBroadcasts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['id'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/liveBroadcasts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['part'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/liveBroadcasts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['part'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + transition(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/liveBroadcasts/transition') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['broadcastStatus', 'id', 'part'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/liveBroadcasts') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['part'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + youtube_v3.Resource$Livebroadcasts = Resource$Livebroadcasts; + class Resource$Livechatbans { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/liveChat/bans') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['id'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/liveChat/bans') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['part'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + youtube_v3.Resource$Livechatbans = Resource$Livechatbans; + class Resource$Livechatmessages { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/liveChat/messages') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['id'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/liveChat/messages') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['part'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/liveChat/messages') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['liveChatId', 'part'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + youtube_v3.Resource$Livechatmessages = Resource$Livechatmessages; + class Resource$Livechatmoderators { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/liveChat/moderators') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['id'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/liveChat/moderators') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['part'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/liveChat/moderators') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['liveChatId', 'part'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + youtube_v3.Resource$Livechatmoderators = Resource$Livechatmoderators; + class Resource$Livestreams { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/liveStreams') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['id'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/liveStreams') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['part'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/liveStreams') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['part'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/liveStreams') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['part'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + youtube_v3.Resource$Livestreams = Resource$Livestreams; + class Resource$Playlistitems { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/playlistItems') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['id'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/playlistItems') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['part'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/playlistItems') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['part'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/playlistItems') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['part'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + youtube_v3.Resource$Playlistitems = Resource$Playlistitems; + class Resource$Playlists { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/playlists') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['id'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/playlists') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['part'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/playlists') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['part'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/playlists') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['part'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + youtube_v3.Resource$Playlists = Resource$Playlists; + class Resource$Search { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/search') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['part'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + youtube_v3.Resource$Search = Resource$Search; + class Resource$Sponsors { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/sponsors') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['part'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + youtube_v3.Resource$Sponsors = Resource$Sponsors; + class Resource$Subscriptions { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/subscriptions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['id'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/subscriptions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['part'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/subscriptions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['part'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + youtube_v3.Resource$Subscriptions = Resource$Subscriptions; + class Resource$Superchatevents { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/superChatEvents') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['part'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + youtube_v3.Resource$Superchatevents = Resource$Superchatevents; + class Resource$Thumbnails { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + set(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/thumbnails/set') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + mediaUrl: (rootUrl + '/upload/youtube/v3/thumbnails/set') + .replace(/([^:]\/)\/+/g, '$1'), + requiredParams: ['videoId'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + youtube_v3.Resource$Thumbnails = Resource$Thumbnails; + class Resource$Videoabusereportreasons { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/videoAbuseReportReasons') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['part'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + youtube_v3.Resource$Videoabusereportreasons = Resource$Videoabusereportreasons; + class Resource$Videocategories { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/videoCategories') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['part'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + youtube_v3.Resource$Videocategories = Resource$Videocategories; + class Resource$Videos { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/videos') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['id'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + getRating(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/videos/getRating') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['id'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/videos') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + mediaUrl: (rootUrl + '/upload/youtube/v3/videos') + .replace(/([^:]\/)\/+/g, '$1'), + requiredParams: ['part'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/videos') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['part'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + rate(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/videos/rate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['id', 'rating'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + reportAbuse(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/videos/reportAbuse') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/videos') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: ['part'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + youtube_v3.Resource$Videos = Resource$Videos; + class Resource$Watermarks { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + set(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/watermarks/set') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + mediaUrl: (rootUrl + '/upload/youtube/v3/watermarks/set') + .replace(/([^:]\/)\/+/g, '$1'), + requiredParams: ['channelId'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + unset(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/v3/watermarks/unset') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: ['channelId'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + youtube_v3.Resource$Watermarks = Resource$Watermarks; +})(youtube_v3 = exports.youtube_v3 || (exports.youtube_v3 = {})); +//# sourceMappingURL=v3.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/youtube/v3.js.map b/express-server/node_modules/googleapis/build/src/apis/youtube/v3.js.map new file mode 100644 index 00000000..e532c1bf --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/youtube/v3.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v3.js","sourceRoot":"","sources":["../../../../src/apis/youtube/v3.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/youtubeAnalytics/README.md b/express-server/node_modules/googleapis/build/src/apis/youtubeAnalytics/README.md new file mode 100644 index 00000000..184bfe13 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/youtubeAnalytics/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/youtubeAnalytics + +> Retrieves your YouTube Analytics data. + +## Installation + +```sh +$ npm install @google/youtubeAnalytics +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/youtubeAnalytics/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/youtubeAnalytics/index.d.ts new file mode 100644 index 00000000..c2069742 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/youtubeAnalytics/index.d.ts @@ -0,0 +1,14 @@ +import { youtubeAnalytics_v1 } from './v1'; +import { youtubeAnalytics_v1beta1 } from './v1beta1'; +import { youtubeAnalytics_v2 } from './v2'; +export declare const VERSIONS: { + 'v1': typeof youtubeAnalytics_v1.Youtubeanalytics; + 'v1beta1': typeof youtubeAnalytics_v1beta1.Youtubeanalytics; + 'v2': typeof youtubeAnalytics_v2.Youtubeanalytics; +}; +export declare function youtubeAnalytics(version: 'v1'): youtubeAnalytics_v1.Youtubeanalytics; +export declare function youtubeAnalytics(options: youtubeAnalytics_v1.Options): youtubeAnalytics_v1.Youtubeanalytics; +export declare function youtubeAnalytics(version: 'v1beta1'): youtubeAnalytics_v1beta1.Youtubeanalytics; +export declare function youtubeAnalytics(options: youtubeAnalytics_v1beta1.Options): youtubeAnalytics_v1beta1.Youtubeanalytics; +export declare function youtubeAnalytics(version: 'v2'): youtubeAnalytics_v2.Youtubeanalytics; +export declare function youtubeAnalytics(options: youtubeAnalytics_v2.Options): youtubeAnalytics_v2.Youtubeanalytics; diff --git a/express-server/node_modules/googleapis/build/src/apis/youtubeAnalytics/index.js b/express-server/node_modules/googleapis/build/src/apis/youtubeAnalytics/index.js new file mode 100644 index 00000000..aac1c90c --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/youtubeAnalytics/index.js @@ -0,0 +1,29 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +const v1beta1_1 = require("./v1beta1"); +const v2_1 = require("./v2"); +exports.VERSIONS = { + 'v1': v1_1.youtubeAnalytics_v1.Youtubeanalytics, + 'v1beta1': v1beta1_1.youtubeAnalytics_v1beta1.Youtubeanalytics, + 'v2': v2_1.youtubeAnalytics_v2.Youtubeanalytics, +}; +function youtubeAnalytics(versionOrOptions) { + return googleapis_common_1.getAPI('youtubeAnalytics', versionOrOptions, exports.VERSIONS, this); +} +exports.youtubeAnalytics = youtubeAnalytics; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/youtubeAnalytics/index.js.map b/express-server/node_modules/googleapis/build/src/apis/youtubeAnalytics/index.js.map new file mode 100644 index 00000000..d07f69ad --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/youtubeAnalytics/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/youtubeAnalytics/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAyC;AACzC,uCAAmD;AACnD,6BAAyC;AAE5B,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,wBAAmB,CAAC,gBAAgB;IAC1C,SAAS,EAAE,kCAAwB,CAAC,gBAAgB;IACpD,IAAI,EAAE,wBAAmB,CAAC,gBAAgB;CAC3C,CAAC;AAcF,SAAgB,gBAAgB,CAK5B,gBAEiE;IACnE,OAAO,0BAAM,CAAI,kBAAkB,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACzE,CAAC;AATD,4CASC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/youtubeAnalytics/package.json b/express-server/node_modules/googleapis/build/src/apis/youtubeAnalytics/package.json new file mode 100644 index 00000000..11010a75 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/youtubeAnalytics/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/youtubeAnalytics", + "version": "0.1.0", + "description": "youtubeAnalytics", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/youtubeAnalytics/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/youtubeAnalytics/v1.d.ts new file mode 100644 index 00000000..a903fdfe --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/youtubeAnalytics/v1.d.ts @@ -0,0 +1,540 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace youtubeAnalytics_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * YouTube Analytics API + * + * Retrieves your YouTube Analytics data. + * + * @example + * const {google} = require('googleapis'); + * const youtubeAnalytics = google.youtubeAnalytics('v1'); + * + * @namespace youtubeAnalytics + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Youtubeanalytics + */ + class Youtubeanalytics { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + groupItems: Resource$Groupitems; + groups: Resource$Groups; + reports: Resource$Reports; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + interface Schema$Group { + contentDetails?: any; + etag?: string; + id?: string; + kind?: string; + snippet?: any; + } + interface Schema$GroupItem { + etag?: string; + groupId?: string; + id?: string; + kind?: string; + resource?: any; + } + /** + * A paginated list of grouList resources returned in response to a + * youtubeAnalytics.groupApi.list request. + */ + interface Schema$GroupItemListResponse { + etag?: string; + items?: Schema$GroupItem[]; + kind?: string; + } + /** + * A paginated list of grouList resources returned in response to a + * youtubeAnalytics.groupApi.list request. + */ + interface Schema$GroupListResponse { + etag?: string; + items?: Schema$Group[]; + kind?: string; + nextPageToken?: string; + } + /** + * Contains a single result table. The table is returned as an array of rows + * that contain the values for the cells of the table. Depending on the metric + * or dimension, the cell can contain a string (video ID, country code) or a + * number (number of views or number of likes). + */ + interface Schema$ResultTable { + /** + * This value specifies information about the data returned in the rows + * fields. Each item in the columnHeaders list identifies a field returned + * in the rows value, which contains a list of comma-delimited data. The + * columnHeaders list will begin with the dimensions specified in the API + * request, which will be followed by the metrics specified in the API + * request. The order of both dimensions and metrics will match the ordering + * in the API request. For example, if the API request contains the + * parameters dimensions=ageGroup,gender&metrics=viewerPercentage, the + * API response will return columns in this order: + * ageGroup,gender,viewerPercentage. + */ + columnHeaders?: any[]; + /** + * This value specifies the type of data included in the API response. For + * the query method, the kind property value will be + * youtubeAnalytics#resultTable. + */ + kind?: string; + /** + * The list contains all rows of the result table. Each item in the list is + * an array that contains comma-delimited data corresponding to a single row + * of data. The order of the comma-delimited data fields will match the + * order of the columns listed in the columnHeaders field. If no data is + * available for the given query, the rows element will be omitted from the + * response. The response for a query with the day dimension will not + * contain rows for the most recent days. + */ + rows?: any[][]; + } + class Resource$Groupitems { + root: Youtubeanalytics; + constructor(root: Youtubeanalytics); + getRoot(): Youtubeanalytics; + /** + * youtubeAnalytics.groupItems.delete + * @desc Removes an item from a group. + * @alias youtubeAnalytics.groupItems.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The id parameter specifies the YouTube group item ID for the group that is being deleted. + * @param {string=} params.onBehalfOfContentOwner Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * @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?: Params$Resource$Groupitems$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Groupitems$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Groupitems$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * youtubeAnalytics.groupItems.insert + * @desc Creates a group item. + * @alias youtubeAnalytics.groupItems.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.onBehalfOfContentOwner Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * @param {().GroupItem} 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?: Params$Resource$Groupitems$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Groupitems$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Groupitems$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * youtubeAnalytics.groupItems.list + * @desc Returns a collection of group items that match the API request + * parameters. + * @alias youtubeAnalytics.groupItems.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.groupId The id parameter specifies the unique ID of the group for which you want to retrieve group items. + * @param {string=} params.onBehalfOfContentOwner Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * @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?: Params$Resource$Groupitems$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Groupitems$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Groupitems$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Groupitems$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The id parameter specifies the YouTube group item ID for the group that + * is being deleted. + */ + id?: string; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. The onBehalfOfContentOwner parameter indicates that the + * request's authorization credentials identify a YouTube CMS user who is + * acting on behalf of the content owner specified in the parameter value. + * This parameter is intended for YouTube content partners that own and + * manage many different YouTube channels. It allows content owners to + * authenticate once and get access to all their video and channel data, + * without having to provide authentication credentials for each individual + * channel. The CMS account that the user authenticates with must be linked + * to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + } + interface Params$Resource$Groupitems$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. The onBehalfOfContentOwner parameter indicates that the + * request's authorization credentials identify a YouTube CMS user who is + * acting on behalf of the content owner specified in the parameter value. + * This parameter is intended for YouTube content partners that own and + * manage many different YouTube channels. It allows content owners to + * authenticate once and get access to all their video and channel data, + * without having to provide authentication credentials for each individual + * channel. The CMS account that the user authenticates with must be linked + * to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GroupItem; + } + interface Params$Resource$Groupitems$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The id parameter specifies the unique ID of the group for which you want + * to retrieve group items. + */ + groupId?: string; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. The onBehalfOfContentOwner parameter indicates that the + * request's authorization credentials identify a YouTube CMS user who is + * acting on behalf of the content owner specified in the parameter value. + * This parameter is intended for YouTube content partners that own and + * manage many different YouTube channels. It allows content owners to + * authenticate once and get access to all their video and channel data, + * without having to provide authentication credentials for each individual + * channel. The CMS account that the user authenticates with must be linked + * to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + } + class Resource$Groups { + root: Youtubeanalytics; + constructor(root: Youtubeanalytics); + getRoot(): Youtubeanalytics; + /** + * youtubeAnalytics.groups.delete + * @desc Deletes a group. + * @alias youtubeAnalytics.groups.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The id parameter specifies the YouTube group ID for the group that is being deleted. + * @param {string=} params.onBehalfOfContentOwner Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * @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?: Params$Resource$Groups$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Groups$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Groups$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * youtubeAnalytics.groups.insert + * @desc Creates a group. + * @alias youtubeAnalytics.groups.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.onBehalfOfContentOwner Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * @param {().Group} 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?: Params$Resource$Groups$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Groups$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Groups$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * youtubeAnalytics.groups.list + * @desc Returns a collection of groups that match the API request + * parameters. For example, you can retrieve all groups that the + * authenticated user owns, or you can retrieve one or more groups by their + * unique IDs. + * @alias youtubeAnalytics.groups.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {string=} params.id The id parameter specifies a comma-separated list of the YouTube group ID(s) for the resource(s) that are being retrieved. In a group resource, the id property specifies the group's YouTube group ID. + * @param {boolean=} params.mine Set this parameter's value to true to instruct the API to only return groups owned by the authenticated user. + * @param {string=} params.onBehalfOfContentOwner Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * @param {string=} params.pageToken The pageToken parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken property identifies the next page that can be retrieved. + * @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?: Params$Resource$Groups$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Groups$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Groups$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * youtubeAnalytics.groups.update + * @desc Modifies a group. For example, you could change a group's title. + * @alias youtubeAnalytics.groups.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.onBehalfOfContentOwner Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * @param {().Group} 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?: Params$Resource$Groups$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Groups$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Groups$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Groups$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The id parameter specifies the YouTube group ID for the group that is + * being deleted. + */ + id?: string; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. The onBehalfOfContentOwner parameter indicates that the + * request's authorization credentials identify a YouTube CMS user who is + * acting on behalf of the content owner specified in the parameter value. + * This parameter is intended for YouTube content partners that own and + * manage many different YouTube channels. It allows content owners to + * authenticate once and get access to all their video and channel data, + * without having to provide authentication credentials for each individual + * channel. The CMS account that the user authenticates with must be linked + * to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + } + interface Params$Resource$Groups$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. The onBehalfOfContentOwner parameter indicates that the + * request's authorization credentials identify a YouTube CMS user who is + * acting on behalf of the content owner specified in the parameter value. + * This parameter is intended for YouTube content partners that own and + * manage many different YouTube channels. It allows content owners to + * authenticate once and get access to all their video and channel data, + * without having to provide authentication credentials for each individual + * channel. The CMS account that the user authenticates with must be linked + * to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Group; + } + interface Params$Resource$Groups$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The id parameter specifies a comma-separated list of the YouTube group + * ID(s) for the resource(s) that are being retrieved. In a group resource, + * the id property specifies the group's YouTube group ID. + */ + id?: string; + /** + * Set this parameter's value to true to instruct the API to only return + * groups owned by the authenticated user. + */ + mine?: boolean; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. The onBehalfOfContentOwner parameter indicates that the + * request's authorization credentials identify a YouTube CMS user who is + * acting on behalf of the content owner specified in the parameter value. + * This parameter is intended for YouTube content partners that own and + * manage many different YouTube channels. It allows content owners to + * authenticate once and get access to all their video and channel data, + * without having to provide authentication credentials for each individual + * channel. The CMS account that the user authenticates with must be linked + * to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + /** + * The pageToken parameter identifies a specific page in the result set that + * should be returned. In an API response, the nextPageToken property + * identifies the next page that can be retrieved. + */ + pageToken?: string; + } + interface Params$Resource$Groups$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. The onBehalfOfContentOwner parameter indicates that the + * request's authorization credentials identify a YouTube CMS user who is + * acting on behalf of the content owner specified in the parameter value. + * This parameter is intended for YouTube content partners that own and + * manage many different YouTube channels. It allows content owners to + * authenticate once and get access to all their video and channel data, + * without having to provide authentication credentials for each individual + * channel. The CMS account that the user authenticates with must be linked + * to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Group; + } + class Resource$Reports { + root: Youtubeanalytics; + constructor(root: Youtubeanalytics); + getRoot(): Youtubeanalytics; + /** + * youtubeAnalytics.reports.query + * @desc Retrieve your YouTube Analytics reports. + * @alias youtubeAnalytics.reports.query + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.currency The currency to which financial metrics should be converted. The default is US Dollar (USD). If the result contains no financial metrics, this flag will be ignored. Responds with an error if the specified currency is not recognized. + * @param {string=} params.dimensions A comma-separated list of YouTube Analytics dimensions, such as views or ageGroup,gender. See the Available Reports document for a list of the reports that you can retrieve and the dimensions used for those reports. Also see the Dimensions document for definitions of those dimensions. + * @param {string} params.end-date The end date for fetching YouTube Analytics data. The value should be in YYYY-MM-DD format. + * @param {string=} params.filters A list of filters that should be applied when retrieving YouTube Analytics data. The Available Reports document identifies the dimensions that can be used to filter each report, and the Dimensions document defines those dimensions. If a request uses multiple filters, join them together with a semicolon (;), and the returned result table will satisfy both filters. For example, a filters parameter value of video==dMH0bHeiRNg;country==IT restricts the result set to include data for the given video in Italy. + * @param {string} params.ids Identifies the YouTube channel or content owner for which you are retrieving YouTube Analytics data. - To request data for a YouTube user, set the ids parameter value to channel==CHANNEL_ID, where CHANNEL_ID specifies the unique YouTube channel ID. - To request data for a YouTube CMS content owner, set the ids parameter value to contentOwner==OWNER_NAME, where OWNER_NAME is the CMS name of the content owner. + * @param {boolean=} params.include-historical-channel-data If set to true historical data (i.e. channel data from before the linking of the channel to the content owner) will be retrieved. + * @param {integer=} params.max-results The maximum number of rows to include in the response. + * @param {string} params.metrics A comma-separated list of YouTube Analytics metrics, such as views or likes,dislikes. See the Available Reports document for a list of the reports that you can retrieve and the metrics available in each report, and see the Metrics document for definitions of those metrics. + * @param {string=} params.sort A comma-separated list of dimensions or metrics that determine the sort order for YouTube Analytics data. By default the sort order is ascending. The '-' prefix causes descending sort order. + * @param {string} params.start-date The start date for fetching YouTube Analytics data. The value should be in YYYY-MM-DD format. + * @param {integer=} params.start-index An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter (one-based, inclusive). + * @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 + */ + query(params?: Params$Resource$Reports$Query, options?: MethodOptions): AxiosPromise; + query(params: Params$Resource$Reports$Query, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + query(params: Params$Resource$Reports$Query, callback: BodyResponseCallback): void; + query(callback: BodyResponseCallback): void; + } + interface Params$Resource$Reports$Query { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The currency to which financial metrics should be converted. The default + * is US Dollar (USD). If the result contains no financial metrics, this + * flag will be ignored. Responds with an error if the specified currency is + * not recognized. + */ + currency?: string; + /** + * A comma-separated list of YouTube Analytics dimensions, such as views or + * ageGroup,gender. See the Available Reports document for a list of the + * reports that you can retrieve and the dimensions used for those reports. + * Also see the Dimensions document for definitions of those dimensions. + */ + dimensions?: string; + /** + * The end date for fetching YouTube Analytics data. The value should be in + * YYYY-MM-DD format. + */ + 'end-date'?: string; + /** + * A list of filters that should be applied when retrieving YouTube + * Analytics data. The Available Reports document identifies the dimensions + * that can be used to filter each report, and the Dimensions document + * defines those dimensions. If a request uses multiple filters, join them + * together with a semicolon (;), and the returned result table will satisfy + * both filters. For example, a filters parameter value of + * video==dMH0bHeiRNg;country==IT restricts the result set to include data + * for the given video in Italy. + */ + filters?: string; + /** + * Identifies the YouTube channel or content owner for which you are + * retrieving YouTube Analytics data. - To request data for a YouTube user, + * set the ids parameter value to channel==CHANNEL_ID, where CHANNEL_ID + * specifies the unique YouTube channel ID. - To request data for a YouTube + * CMS content owner, set the ids parameter value to + * contentOwner==OWNER_NAME, where OWNER_NAME is the CMS name of the content + * owner. + */ + ids?: string; + /** + * If set to true historical data (i.e. channel data from before the linking + * of the channel to the content owner) will be retrieved. + */ + 'include-historical-channel-data'?: boolean; + /** + * The maximum number of rows to include in the response. + */ + 'max-results'?: number; + /** + * A comma-separated list of YouTube Analytics metrics, such as views or + * likes,dislikes. See the Available Reports document for a list of the + * reports that you can retrieve and the metrics available in each report, + * and see the Metrics document for definitions of those metrics. + */ + metrics?: string; + /** + * A comma-separated list of dimensions or metrics that determine the sort + * order for YouTube Analytics data. By default the sort order is ascending. + * The '-' prefix causes descending sort order. + */ + sort?: string; + /** + * The start date for fetching YouTube Analytics data. The value should be + * in YYYY-MM-DD format. + */ + 'start-date'?: string; + /** + * An index of the first entity to retrieve. Use this parameter as a + * pagination mechanism along with the max-results parameter (one-based, + * inclusive). + */ + 'start-index'?: number; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/youtubeAnalytics/v1.js b/express-server/node_modules/googleapis/build/src/apis/youtubeAnalytics/v1.js new file mode 100644 index 00000000..6cdfcd49 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/youtubeAnalytics/v1.js @@ -0,0 +1,335 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var youtubeAnalytics_v1; +(function (youtubeAnalytics_v1) { + /** + * YouTube Analytics API + * + * Retrieves your YouTube Analytics data. + * + * @example + * const {google} = require('googleapis'); + * const youtubeAnalytics = google.youtubeAnalytics('v1'); + * + * @namespace youtubeAnalytics + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Youtubeanalytics + */ + class Youtubeanalytics { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.groupItems = new Resource$Groupitems(this); + this.groups = new Resource$Groups(this); + this.reports = new Resource$Reports(this); + } + getRoot() { + return this.root; + } + } + youtubeAnalytics_v1.Youtubeanalytics = Youtubeanalytics; + class Resource$Groupitems { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/analytics/v1/groupItems') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['id'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/analytics/v1/groupItems') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/analytics/v1/groupItems') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['groupId'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + youtubeAnalytics_v1.Resource$Groupitems = Resource$Groupitems; + class Resource$Groups { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/analytics/v1/groups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['id'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/analytics/v1/groups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/analytics/v1/groups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/analytics/v1/groups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + youtubeAnalytics_v1.Resource$Groups = Resource$Groups; + class Resource$Reports { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + query(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/analytics/v1/reports') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['ids', 'start-date', 'end-date', 'metrics'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + youtubeAnalytics_v1.Resource$Reports = Resource$Reports; +})(youtubeAnalytics_v1 = exports.youtubeAnalytics_v1 || (exports.youtubeAnalytics_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/youtubeAnalytics/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/youtubeAnalytics/v1.js.map new file mode 100644 index 00000000..8c0cda99 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/youtubeAnalytics/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/youtubeAnalytics/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/youtubeAnalytics/v1beta1.d.ts b/express-server/node_modules/googleapis/build/src/apis/youtubeAnalytics/v1beta1.d.ts new file mode 100644 index 00000000..dc9c7de9 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/youtubeAnalytics/v1beta1.d.ts @@ -0,0 +1,540 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace youtubeAnalytics_v1beta1 { + interface Options extends GlobalOptions { + version: 'v1beta1'; + } + /** + * YouTube Analytics API + * + * Retrieves your YouTube Analytics data. + * + * @example + * const {google} = require('googleapis'); + * const youtubeAnalytics = google.youtubeAnalytics('v1beta1'); + * + * @namespace youtubeAnalytics + * @type {Function} + * @version v1beta1 + * @variation v1beta1 + * @param {object=} options Options for Youtubeanalytics + */ + class Youtubeanalytics { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + groupItems: Resource$Groupitems; + groups: Resource$Groups; + reports: Resource$Reports; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + interface Schema$Group { + contentDetails?: any; + etag?: string; + id?: string; + kind?: string; + snippet?: any; + } + interface Schema$GroupItem { + etag?: string; + groupId?: string; + id?: string; + kind?: string; + resource?: any; + } + /** + * A paginated list of grouList resources returned in response to a + * youtubeAnalytics.groupApi.list request. + */ + interface Schema$GroupItemListResponse { + etag?: string; + items?: Schema$GroupItem[]; + kind?: string; + } + /** + * A paginated list of grouList resources returned in response to a + * youtubeAnalytics.groupApi.list request. + */ + interface Schema$GroupListResponse { + etag?: string; + items?: Schema$Group[]; + kind?: string; + nextPageToken?: string; + } + /** + * Contains a single result table. The table is returned as an array of rows + * that contain the values for the cells of the table. Depending on the metric + * or dimension, the cell can contain a string (video ID, country code) or a + * number (number of views or number of likes). + */ + interface Schema$ResultTable { + /** + * This value specifies information about the data returned in the rows + * fields. Each item in the columnHeaders list identifies a field returned + * in the rows value, which contains a list of comma-delimited data. The + * columnHeaders list will begin with the dimensions specified in the API + * request, which will be followed by the metrics specified in the API + * request. The order of both dimensions and metrics will match the ordering + * in the API request. For example, if the API request contains the + * parameters dimensions=ageGroup,gender&metrics=viewerPercentage, the + * API response will return columns in this order: + * ageGroup,gender,viewerPercentage. + */ + columnHeaders?: any[]; + /** + * This value specifies the type of data included in the API response. For + * the query method, the kind property value will be + * youtubeAnalytics#resultTable. + */ + kind?: string; + /** + * The list contains all rows of the result table. Each item in the list is + * an array that contains comma-delimited data corresponding to a single row + * of data. The order of the comma-delimited data fields will match the + * order of the columns listed in the columnHeaders field. If no data is + * available for the given query, the rows element will be omitted from the + * response. The response for a query with the day dimension will not + * contain rows for the most recent days. + */ + rows?: any[][]; + } + class Resource$Groupitems { + root: Youtubeanalytics; + constructor(root: Youtubeanalytics); + getRoot(): Youtubeanalytics; + /** + * youtubeAnalytics.groupItems.delete + * @desc Removes an item from a group. + * @alias youtubeAnalytics.groupItems.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The id parameter specifies the YouTube group item ID for the group that is being deleted. + * @param {string=} params.onBehalfOfContentOwner Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * @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?: Params$Resource$Groupitems$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Groupitems$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Groupitems$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * youtubeAnalytics.groupItems.insert + * @desc Creates a group item. + * @alias youtubeAnalytics.groupItems.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.onBehalfOfContentOwner Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * @param {().GroupItem} 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?: Params$Resource$Groupitems$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Groupitems$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Groupitems$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * youtubeAnalytics.groupItems.list + * @desc Returns a collection of group items that match the API request + * parameters. + * @alias youtubeAnalytics.groupItems.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.groupId The id parameter specifies the unique ID of the group for which you want to retrieve group items. + * @param {string=} params.onBehalfOfContentOwner Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * @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?: Params$Resource$Groupitems$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Groupitems$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Groupitems$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Groupitems$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The id parameter specifies the YouTube group item ID for the group that + * is being deleted. + */ + id?: string; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. The onBehalfOfContentOwner parameter indicates that the + * request's authorization credentials identify a YouTube CMS user who is + * acting on behalf of the content owner specified in the parameter value. + * This parameter is intended for YouTube content partners that own and + * manage many different YouTube channels. It allows content owners to + * authenticate once and get access to all their video and channel data, + * without having to provide authentication credentials for each individual + * channel. The CMS account that the user authenticates with must be linked + * to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + } + interface Params$Resource$Groupitems$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. The onBehalfOfContentOwner parameter indicates that the + * request's authorization credentials identify a YouTube CMS user who is + * acting on behalf of the content owner specified in the parameter value. + * This parameter is intended for YouTube content partners that own and + * manage many different YouTube channels. It allows content owners to + * authenticate once and get access to all their video and channel data, + * without having to provide authentication credentials for each individual + * channel. The CMS account that the user authenticates with must be linked + * to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GroupItem; + } + interface Params$Resource$Groupitems$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The id parameter specifies the unique ID of the group for which you want + * to retrieve group items. + */ + groupId?: string; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. The onBehalfOfContentOwner parameter indicates that the + * request's authorization credentials identify a YouTube CMS user who is + * acting on behalf of the content owner specified in the parameter value. + * This parameter is intended for YouTube content partners that own and + * manage many different YouTube channels. It allows content owners to + * authenticate once and get access to all their video and channel data, + * without having to provide authentication credentials for each individual + * channel. The CMS account that the user authenticates with must be linked + * to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + } + class Resource$Groups { + root: Youtubeanalytics; + constructor(root: Youtubeanalytics); + getRoot(): Youtubeanalytics; + /** + * youtubeAnalytics.groups.delete + * @desc Deletes a group. + * @alias youtubeAnalytics.groups.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.id The id parameter specifies the YouTube group ID for the group that is being deleted. + * @param {string=} params.onBehalfOfContentOwner Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * @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?: Params$Resource$Groups$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Groups$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Groups$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * youtubeAnalytics.groups.insert + * @desc Creates a group. + * @alias youtubeAnalytics.groups.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.onBehalfOfContentOwner Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * @param {().Group} 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?: Params$Resource$Groups$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Groups$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Groups$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * youtubeAnalytics.groups.list + * @desc Returns a collection of groups that match the API request + * parameters. For example, you can retrieve all groups that the + * authenticated user owns, or you can retrieve one or more groups by their + * unique IDs. + * @alias youtubeAnalytics.groups.list + * @memberOf! () + * + * @param {object=} params Parameters for request + * @param {string=} params.id The id parameter specifies a comma-separated list of the YouTube group ID(s) for the resource(s) that are being retrieved. In a group resource, the id property specifies the group's YouTube group ID. + * @param {boolean=} params.mine Set this parameter's value to true to instruct the API to only return groups owned by the authenticated user. + * @param {string=} params.onBehalfOfContentOwner Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * @param {string=} params.pageToken The pageToken parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken property identifies the next page that can be retrieved. + * @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?: Params$Resource$Groups$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Groups$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Groups$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * youtubeAnalytics.groups.update + * @desc Modifies a group. For example, you could change a group's title. + * @alias youtubeAnalytics.groups.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.onBehalfOfContentOwner Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * @param {().Group} 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?: Params$Resource$Groups$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Groups$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Groups$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Groups$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The id parameter specifies the YouTube group ID for the group that is + * being deleted. + */ + id?: string; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. The onBehalfOfContentOwner parameter indicates that the + * request's authorization credentials identify a YouTube CMS user who is + * acting on behalf of the content owner specified in the parameter value. + * This parameter is intended for YouTube content partners that own and + * manage many different YouTube channels. It allows content owners to + * authenticate once and get access to all their video and channel data, + * without having to provide authentication credentials for each individual + * channel. The CMS account that the user authenticates with must be linked + * to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + } + interface Params$Resource$Groups$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. The onBehalfOfContentOwner parameter indicates that the + * request's authorization credentials identify a YouTube CMS user who is + * acting on behalf of the content owner specified in the parameter value. + * This parameter is intended for YouTube content partners that own and + * manage many different YouTube channels. It allows content owners to + * authenticate once and get access to all their video and channel data, + * without having to provide authentication credentials for each individual + * channel. The CMS account that the user authenticates with must be linked + * to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Group; + } + interface Params$Resource$Groups$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The id parameter specifies a comma-separated list of the YouTube group + * ID(s) for the resource(s) that are being retrieved. In a group resource, + * the id property specifies the group's YouTube group ID. + */ + id?: string; + /** + * Set this parameter's value to true to instruct the API to only return + * groups owned by the authenticated user. + */ + mine?: boolean; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. The onBehalfOfContentOwner parameter indicates that the + * request's authorization credentials identify a YouTube CMS user who is + * acting on behalf of the content owner specified in the parameter value. + * This parameter is intended for YouTube content partners that own and + * manage many different YouTube channels. It allows content owners to + * authenticate once and get access to all their video and channel data, + * without having to provide authentication credentials for each individual + * channel. The CMS account that the user authenticates with must be linked + * to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + /** + * The pageToken parameter identifies a specific page in the result set that + * should be returned. In an API response, the nextPageToken property + * identifies the next page that can be retrieved. + */ + pageToken?: string; + } + interface Params$Resource$Groups$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Note: This parameter is intended exclusively for YouTube content + * partners. The onBehalfOfContentOwner parameter indicates that the + * request's authorization credentials identify a YouTube CMS user who is + * acting on behalf of the content owner specified in the parameter value. + * This parameter is intended for YouTube content partners that own and + * manage many different YouTube channels. It allows content owners to + * authenticate once and get access to all their video and channel data, + * without having to provide authentication credentials for each individual + * channel. The CMS account that the user authenticates with must be linked + * to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Group; + } + class Resource$Reports { + root: Youtubeanalytics; + constructor(root: Youtubeanalytics); + getRoot(): Youtubeanalytics; + /** + * youtubeAnalytics.reports.query + * @desc Retrieve your YouTube Analytics reports. + * @alias youtubeAnalytics.reports.query + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.currency The currency to which financial metrics should be converted. The default is US Dollar (USD). If the result contains no financial metrics, this flag will be ignored. Responds with an error if the specified currency is not recognized. + * @param {string=} params.dimensions A comma-separated list of YouTube Analytics dimensions, such as views or ageGroup,gender. See the Available Reports document for a list of the reports that you can retrieve and the dimensions used for those reports. Also see the Dimensions document for definitions of those dimensions. + * @param {string} params.end-date The end date for fetching YouTube Analytics data. The value should be in YYYY-MM-DD format. + * @param {string=} params.filters A list of filters that should be applied when retrieving YouTube Analytics data. The Available Reports document identifies the dimensions that can be used to filter each report, and the Dimensions document defines those dimensions. If a request uses multiple filters, join them together with a semicolon (;), and the returned result table will satisfy both filters. For example, a filters parameter value of video==dMH0bHeiRNg;country==IT restricts the result set to include data for the given video in Italy. + * @param {string} params.ids Identifies the YouTube channel or content owner for which you are retrieving YouTube Analytics data. - To request data for a YouTube user, set the ids parameter value to channel==CHANNEL_ID, where CHANNEL_ID specifies the unique YouTube channel ID. - To request data for a YouTube CMS content owner, set the ids parameter value to contentOwner==OWNER_NAME, where OWNER_NAME is the CMS name of the content owner. + * @param {boolean=} params.include-historical-channel-data If set to true historical data (i.e. channel data from before the linking of the channel to the content owner) will be retrieved. + * @param {integer=} params.max-results The maximum number of rows to include in the response. + * @param {string} params.metrics A comma-separated list of YouTube Analytics metrics, such as views or likes,dislikes. See the Available Reports document for a list of the reports that you can retrieve and the metrics available in each report, and see the Metrics document for definitions of those metrics. + * @param {string=} params.sort A comma-separated list of dimensions or metrics that determine the sort order for YouTube Analytics data. By default the sort order is ascending. The '-' prefix causes descending sort order. + * @param {string} params.start-date The start date for fetching YouTube Analytics data. The value should be in YYYY-MM-DD format. + * @param {integer=} params.start-index An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter (one-based, inclusive). + * @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 + */ + query(params?: Params$Resource$Reports$Query, options?: MethodOptions): AxiosPromise; + query(params: Params$Resource$Reports$Query, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + query(params: Params$Resource$Reports$Query, callback: BodyResponseCallback): void; + query(callback: BodyResponseCallback): void; + } + interface Params$Resource$Reports$Query { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The currency to which financial metrics should be converted. The default + * is US Dollar (USD). If the result contains no financial metrics, this + * flag will be ignored. Responds with an error if the specified currency is + * not recognized. + */ + currency?: string; + /** + * A comma-separated list of YouTube Analytics dimensions, such as views or + * ageGroup,gender. See the Available Reports document for a list of the + * reports that you can retrieve and the dimensions used for those reports. + * Also see the Dimensions document for definitions of those dimensions. + */ + dimensions?: string; + /** + * The end date for fetching YouTube Analytics data. The value should be in + * YYYY-MM-DD format. + */ + 'end-date'?: string; + /** + * A list of filters that should be applied when retrieving YouTube + * Analytics data. The Available Reports document identifies the dimensions + * that can be used to filter each report, and the Dimensions document + * defines those dimensions. If a request uses multiple filters, join them + * together with a semicolon (;), and the returned result table will satisfy + * both filters. For example, a filters parameter value of + * video==dMH0bHeiRNg;country==IT restricts the result set to include data + * for the given video in Italy. + */ + filters?: string; + /** + * Identifies the YouTube channel or content owner for which you are + * retrieving YouTube Analytics data. - To request data for a YouTube user, + * set the ids parameter value to channel==CHANNEL_ID, where CHANNEL_ID + * specifies the unique YouTube channel ID. - To request data for a YouTube + * CMS content owner, set the ids parameter value to + * contentOwner==OWNER_NAME, where OWNER_NAME is the CMS name of the content + * owner. + */ + ids?: string; + /** + * If set to true historical data (i.e. channel data from before the linking + * of the channel to the content owner) will be retrieved. + */ + 'include-historical-channel-data'?: boolean; + /** + * The maximum number of rows to include in the response. + */ + 'max-results'?: number; + /** + * A comma-separated list of YouTube Analytics metrics, such as views or + * likes,dislikes. See the Available Reports document for a list of the + * reports that you can retrieve and the metrics available in each report, + * and see the Metrics document for definitions of those metrics. + */ + metrics?: string; + /** + * A comma-separated list of dimensions or metrics that determine the sort + * order for YouTube Analytics data. By default the sort order is ascending. + * The '-' prefix causes descending sort order. + */ + sort?: string; + /** + * The start date for fetching YouTube Analytics data. The value should be + * in YYYY-MM-DD format. + */ + 'start-date'?: string; + /** + * An index of the first entity to retrieve. Use this parameter as a + * pagination mechanism along with the max-results parameter (one-based, + * inclusive). + */ + 'start-index'?: number; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/youtubeAnalytics/v1beta1.js b/express-server/node_modules/googleapis/build/src/apis/youtubeAnalytics/v1beta1.js new file mode 100644 index 00000000..3d278785 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/youtubeAnalytics/v1beta1.js @@ -0,0 +1,335 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var youtubeAnalytics_v1beta1; +(function (youtubeAnalytics_v1beta1) { + /** + * YouTube Analytics API + * + * Retrieves your YouTube Analytics data. + * + * @example + * const {google} = require('googleapis'); + * const youtubeAnalytics = google.youtubeAnalytics('v1beta1'); + * + * @namespace youtubeAnalytics + * @type {Function} + * @version v1beta1 + * @variation v1beta1 + * @param {object=} options Options for Youtubeanalytics + */ + class Youtubeanalytics { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.groupItems = new Resource$Groupitems(this); + this.groups = new Resource$Groups(this); + this.reports = new Resource$Reports(this); + } + getRoot() { + return this.root; + } + } + youtubeAnalytics_v1beta1.Youtubeanalytics = Youtubeanalytics; + class Resource$Groupitems { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/analytics/v1beta1/groupItems') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['id'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/analytics/v1beta1/groupItems') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/analytics/v1beta1/groupItems') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['groupId'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + youtubeAnalytics_v1beta1.Resource$Groupitems = Resource$Groupitems; + class Resource$Groups { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/analytics/v1beta1/groups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['id'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/analytics/v1beta1/groups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/analytics/v1beta1/groups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/analytics/v1beta1/groups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + youtubeAnalytics_v1beta1.Resource$Groups = Resource$Groups; + class Resource$Reports { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + query(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/youtube/analytics/v1beta1/reports') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['ids', 'start-date', 'end-date', 'metrics'], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + youtubeAnalytics_v1beta1.Resource$Reports = Resource$Reports; +})(youtubeAnalytics_v1beta1 = exports.youtubeAnalytics_v1beta1 || (exports.youtubeAnalytics_v1beta1 = {})); +//# sourceMappingURL=v1beta1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/youtubeAnalytics/v1beta1.js.map b/express-server/node_modules/googleapis/build/src/apis/youtubeAnalytics/v1beta1.js.map new file mode 100644 index 00000000..9447f0f9 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/youtubeAnalytics/v1beta1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1beta1.js","sourceRoot":"","sources":["../../../../src/apis/youtubeAnalytics/v1beta1.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAIH,yDAA2H;AAE3H,yBAAyB;AACzB,6BAA6B;AAC7B,gCAAgC;AAChC,+BAA+B;AAC/B,+BAA+B;AAE/B,IAAiB,wBAAwB,CAm8BxC;AAn8BD,WAAiB,wBAAwB;IAKvC;;;;;;;;;;;;;;OAcG;IACH,MAAa,gBAAgB;QAS3B,YAAY,OAAsB,EAAE,MAA2B;YAN/D,SAAI,GAAG,IAAI,CAAC;YAOV,IAAI,CAAC,QAAQ,GAAG,OAAO,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAExB,IAAI,CAAC,UAAU,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,CAAC,MAAM,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,CAAC,OAAO,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;KACF;IAtBY,yCAAgB,mBAsB5B,CAAA;IA0ED,MAAa,mBAAmB;QAE9B,YAAY,IAAsB;YAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA0BD,MAAM,CACF,gBAC0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAsC,CAAC;YAClE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAuC,CAAC;gBACjD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,uCAAuC,CAAC;yBAC9C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,IAAI,CAAC;gBACtB,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;QA0BD,MAAM,CACF,gBACsC,EACtC,iBACsC,EACtC,QAAiD;YAEnD,IAAI,MAAM,GACN,CAAC,gBAAgB,IAAI,EAAE,CAAsC,CAAC;YAClE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAuC,CAAC;gBACjD,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,uCAAuC,CAAC;yBAC9C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,EAAE;gBAClB,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAmB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1D;iBAAM;gBACL,OAAO,oCAAgB,CAAmB,UAAU,CAAC,CAAC;aACvD;QACH,CAAC;QA4BD,IAAI,CACA,gBACkD,EAClD,iBACkD,EAClD,QAA6D;YAE/D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAoC,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAqC,CAAC;gBAC/C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,uCAAuC,CAAC;yBAC9C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA+B,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtE;iBAAM;gBACL,OAAO,oCAAgB,CAA+B,UAAU,CAAC,CAAC;aACnE;QACH,CAAC;KACF;IAlNY,4CAAmB,sBAkN/B,CAAA;IA+ED,MAAa,eAAe;QAE1B,YAAY,IAAsB;YAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QA0BD,MAAM,CACF,gBAC0B,EAC1B,iBAA4D,EAC5D,QAAqC;YACvC,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAkC,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmC,CAAC;gBAC7C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,mCAAmC,CAAC;yBAC1C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,QAAQ;iBACjB,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,IAAI,CAAC;gBACtB,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,oCAAgB,CAAO,UAAU,CAAC,CAAC;aAC3C;QACH,CAAC;QA0BD,MAAM,CACF,gBACkC,EAClC,iBAAoE,EACpE,QAA6C;YAE/C,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAkC,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmC,CAAC;gBAC7C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,mCAAmC,CAAC;yBAC1C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM;iBACf,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,EAAE;gBAClB,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAe,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtD;iBAAM;gBACL,OAAO,oCAAgB,CAAe,UAAU,CAAC,CAAC;aACnD;QACH,CAAC;QA+BD,IAAI,CACA,gBAC8C,EAC9C,iBAC8C,EAC9C,QAAyD;YAE3D,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAgC,CAAC;YACrE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAiC,CAAC;gBAC3C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,mCAAmC,CAAC;yBAC1C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,EAAE;gBAClB,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAA2B,UAAU,EAAE,QAAQ,CAAC,CAAC;aAClE;iBAAM;gBACL,OAAO,oCAAgB,CAA2B,UAAU,CAAC,CAAC;aAC/D;QACH,CAAC;QA0BD,MAAM,CACF,gBACkC,EAClC,iBAAoE,EACpE,QAA6C;YAE/C,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAkC,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmC,CAAC;gBAC7C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,mCAAmC,CAAC;yBAC1C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,EAAE;gBAClB,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAe,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtD;iBAAM;gBACL,OAAO,oCAAgB,CAAe,UAAU,CAAC,CAAC;aACnD;QACH,CAAC;KACF;IAnRY,wCAAe,kBAmR3B,CAAA;IAoHD,MAAa,gBAAgB;QAE3B,YAAY,IAAsB;YAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAmCD,KAAK,CACD,gBACwC,EACxC,iBACwC,EACxC,QAAmD;YAErD,IAAI,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAkC,CAAC;YACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAkB,CAAC;YAEzD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;gBAC1C,QAAQ,GAAG,gBAAgB,CAAC;gBAC5B,MAAM,GAAG,EAAmC,CAAC;gBAC7C,OAAO,GAAG,EAAE,CAAC;aACd;YAED,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,QAAQ,GAAG,iBAAiB,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAClB;oBACE,GAAG,EAAE,CAAC,OAAO,GAAG,oCAAoC,CAAC;yBAC3C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;oBACvC,MAAM,EAAE,KAAK;iBACd,EACD,OAAO,CAAC;gBACZ,MAAM;gBACN,cAAc,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,CAAC;gBAC5D,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aACxB,CAAC;YACF,IAAI,QAAQ,EAAE;gBACZ,oCAAgB,CAAqB,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC5D;iBAAM;gBACL,OAAO,oCAAgB,CAAqB,UAAU,CAAC,CAAC;aACzD;QACH,CAAC;KACF;IArFY,yCAAgB,mBAqF5B,CAAA;AAkFH,CAAC,EAn8BgB,wBAAwB,GAAxB,gCAAwB,KAAxB,gCAAwB,QAm8BxC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/youtubeAnalytics/v2.d.ts b/express-server/node_modules/googleapis/build/src/apis/youtubeAnalytics/v2.d.ts new file mode 100644 index 00000000..e3f4a252 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/youtubeAnalytics/v2.d.ts @@ -0,0 +1,775 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace youtubeAnalytics_v2 { + interface Options extends GlobalOptions { + version: 'v2'; + } + /** + * YouTube Analytics API + * + * Retrieves your YouTube Analytics data. + * + * @example + * const {google} = require('googleapis'); + * const youtubeAnalytics = google.youtubeAnalytics('v2'); + * + * @namespace youtubeAnalytics + * @type {Function} + * @version v2 + * @variation v2 + * @param {object=} options Options for Youtubeanalytics + */ + class Youtubeanalytics { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + groupItems: Resource$Groupitems; + groups: Resource$Groups; + reports: Resource$Reports; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * Empty response. + */ + interface Schema$EmptyResponse { + /** + * Apiary error details + */ + errors?: Schema$Errors; + } + /** + * Describes one specific error. + */ + interface Schema$ErrorProto { + /** + * Error arguments, to be used when building user-friendly error messages + * given the error domain and code. Different error codes require different + * arguments. + */ + argument?: string[]; + /** + * Error code in the error domain. This should correspond to a value of the + * enum type whose name is in domain. See the core error domain in + * error_domain.proto. + */ + code?: string; + /** + * Debugging information, which should not be shared externally. + */ + debugInfo?: string; + /** + * Error domain. RoSy services can define their own domain and error codes. + * This should normally be the name of an enum type, such as: + * gdata.CoreErrorDomain + */ + domain?: string; + /** + * A short explanation for the error, which can be shared outside Google. + * Please set domain, code and arguments whenever possible instead of this + * error message so that external APIs can build safe error messages + * themselves. External messages built in a RoSy interface will most likely + * refer to information and concepts that are not available externally and + * should not be exposed. It is safer if external APIs can understand the + * errors and decide what the error message should look like. + */ + externalErrorMessage?: string; + /** + * Location of the error, as specified by the location type. If + * location_type is PATH, this should be a path to a field that's + * relative to the request, using FieldPath notation + * (net/proto2/util/public/field_path.h). Examples: + * authenticated_user.gaia_id resource.address[2].country + */ + location?: string; + locationType?: string; + } + /** + * Request Error information. The presence of an error field signals that the + * operation has failed. + */ + interface Schema$Errors { + /** + * Global error code. Deprecated and ignored. Set custom error codes in + * ErrorProto.domain and ErrorProto.code instead. + */ + code?: string; + /** + * Specific error description and codes + */ + error?: Schema$ErrorProto[]; + /** + * Request identifier generated by the service, which can be used to + * identify the error in the logs + */ + requestId?: string; + } + /** + * A group. + */ + interface Schema$Group { + /** + * The `contentDetails` object contains additional information about the + * group, such as the number and type of items that it contains. + */ + contentDetails?: Schema$GroupContentDetails; + /** + * Apiary error details + */ + errors?: Schema$Errors; + /** + * The Etag of this resource. + */ + etag?: string; + /** + * The ID that YouTube uses to uniquely identify the group. + */ + id?: string; + /** + * Identifies the API resource's type. The value will be + * `youtube#group`. + */ + kind?: string; + /** + * The `snippet` object contains basic information about the group, + * including its creation date and name. + */ + snippet?: Schema$GroupSnippet; + } + /** + * A group's content details. + */ + interface Schema$GroupContentDetails { + /** + * The number of items in the group. + */ + itemCount?: string; + /** + * The type of resources that the group contains. Valid values for this + * property are: * `youtube#channel` * `youtube#playlist` * + * `youtube#video` * `youtubePartner#asset` + */ + itemType?: string; + } + /** + * A group item. + */ + interface Schema$GroupItem { + /** + * Apiary error details + */ + errors?: Schema$Errors; + /** + * The Etag of this resource. + */ + etag?: string; + /** + * The ID that YouTube uses to uniquely identify the group that contains the + * item. + */ + groupId?: string; + /** + * The ID that YouTube uses to uniquely identify the `channel`, `video`, + * `playlist`, or `asset` resource that is included in the group. Note that + * this ID refers specifically to the inclusion of that resource in a + * particular group and is different than the channel ID, video ID, playlist + * ID, or asset ID that uniquely identifies the resource itself. The + * `resource.id` property's value specifies the unique channel, video, + * playlist, or asset ID. + */ + id?: string; + /** + * Identifies the API resource's type. The value will be + * `youtube#groupItem`. + */ + kind?: string; + /** + * The `resource` object contains information that identifies the item being + * added to the group. + */ + resource?: Schema$GroupItemResource; + } + interface Schema$GroupItemResource { + /** + * The channel, video, playlist, or asset ID that YouTube uses to uniquely + * identify the item that is being added to the group. + */ + id?: string; + /** + * Identifies the type of resource being added to the group. Valid values + * for this property are: * `youtube#channel` * `youtube#playlist` * + * `youtube#video` * `youtubePartner#asset` + */ + kind?: string; + } + /** + * A group snippet. + */ + interface Schema$GroupSnippet { + /** + * The date and time that the group was created. The value is specified in + * ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. + */ + publishedAt?: string; + /** + * The group name. The value must be a non-empty string. + */ + title?: string; + } + /** + * Response message for GroupsService.ListGroupItems. + */ + interface Schema$ListGroupItemsResponse { + /** + * Apiary error details + */ + errors?: Schema$Errors; + /** + * The Etag of this resource. + */ + etag?: string; + /** + * A list of groups that match the API request parameters. Each item in the + * list represents a `groupItem` resource. + */ + items?: Schema$GroupItem[]; + /** + * Identifies the API resource's type. The value will be + * `youtube#groupItemListResponse`. + */ + kind?: string; + } + /** + * Response message for GroupsService.ListGroups. + */ + interface Schema$ListGroupsResponse { + /** + * Apiary error details + */ + errors?: Schema$Errors; + /** + * The Etag of this resource. + */ + etag?: string; + /** + * A list of groups that match the API request parameters. Each item in the + * list represents a `group` resource. + */ + items?: Schema$Group[]; + /** + * Identifies the API resource's type. The value will be + * `youtube#groupListResponse`. + */ + kind?: string; + /** + * The token that can be used as the value of the `pageToken` parameter to + * retrieve the next page in the result set. + */ + nextPageToken?: string; + } + /** + * Response message for TargetedQueriesService.Query. + */ + interface Schema$QueryResponse { + /** + * This value specifies information about the data returned in the `rows` + * fields. Each item in the `columnHeaders` list identifies a field returned + * in the `rows` value, which contains a list of comma-delimited data. The + * `columnHeaders` list will begin with the dimensions specified in the API + * request, which will be followed by the metrics specified in the API + * request. The order of both dimensions and metrics will match the ordering + * in the API request. For example, if the API request contains the + * parameters `dimensions=ageGroup,gender&metrics=viewerPercentage`, the + * API response will return columns in this order: `ageGroup`, `gender`, + * `viewerPercentage`. + */ + columnHeaders?: Schema$ResultTableColumnHeader[]; + /** + * When set, indicates that the operation failed. + */ + errors?: Schema$Errors; + /** + * This value specifies the type of data included in the API response. For + * the query method, the kind property value will be + * `youtubeAnalytics#resultTable`. + */ + kind?: string; + /** + * The list contains all rows of the result table. Each item in the list is + * an array that contains comma-delimited data corresponding to a single row + * of data. The order of the comma-delimited data fields will match the + * order of the columns listed in the `columnHeaders` field. If no data is + * available for the given query, the `rows` element will be omitted from + * the response. The response for a query with the `day` dimension will not + * contain rows for the most recent days. + */ + rows?: any[][]; + } + /** + * The description of a column of the result table. + */ + interface Schema$ResultTableColumnHeader { + /** + * The type of the column (`DIMENSION` or `METRIC`). + */ + columnType?: string; + /** + * The type of the data in the column (`STRING`, `INTEGER`, `FLOAT`, etc.). + */ + dataType?: string; + /** + * The name of the dimension or metric. + */ + name?: string; + } + class Resource$Groupitems { + root: Youtubeanalytics; + constructor(root: Youtubeanalytics); + getRoot(): Youtubeanalytics; + /** + * youtubeAnalytics.groupItems.delete + * @desc Removes an item from a group. + * @alias youtubeAnalytics.groupItems.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.id The `id` parameter specifies the YouTube group item ID of the group item that is being deleted. + * @param {string=} params.onBehalfOfContentOwner This parameter can only be used in a properly authorized request. **Note:** This parameter is intended exclusively for YouTube content partners that own and manage many different YouTube channels. The `onBehalfOfContentOwner` parameter indicates that the request's authorization credentials identify a YouTube user who is acting on behalf of the content owner specified in the parameter value. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The account that the user authenticates with must be linked to the specified YouTube content owner. + * @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?: Params$Resource$Groupitems$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Groupitems$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Groupitems$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * youtubeAnalytics.groupItems.insert + * @desc Creates a group item. + * @alias youtubeAnalytics.groupItems.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.onBehalfOfContentOwner This parameter can only be used in a properly authorized request. **Note:** This parameter is intended exclusively for YouTube content partners that own and manage many different YouTube channels. The `onBehalfOfContentOwner` parameter indicates that the request's authorization credentials identify a YouTube user who is acting on behalf of the content owner specified in the parameter value. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The account that the user authenticates with must be linked to the specified YouTube content owner. + * @param {().GroupItem} 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?: Params$Resource$Groupitems$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Groupitems$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Groupitems$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * youtubeAnalytics.groupItems.list + * @desc Returns a collection of group items that match the API request + * parameters. + * @alias youtubeAnalytics.groupItems.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.groupId The `groupId` parameter specifies the unique ID of the group for which you want to retrieve group items. + * @param {string=} params.onBehalfOfContentOwner This parameter can only be used in a properly authorized request. **Note:** This parameter is intended exclusively for YouTube content partners that own and manage many different YouTube channels. The `onBehalfOfContentOwner` parameter indicates that the request's authorization credentials identify a YouTube user who is acting on behalf of the content owner specified in the parameter value. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The account that the user authenticates with must be linked to the specified YouTube content owner. + * @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?: Params$Resource$Groupitems$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Groupitems$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Groupitems$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Groupitems$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The `id` parameter specifies the YouTube group item ID of the group item + * that is being deleted. + */ + id?: string; + /** + * This parameter can only be used in a properly authorized request. + * **Note:** This parameter is intended exclusively for YouTube content + * partners that own and manage many different YouTube channels. The + * `onBehalfOfContentOwner` parameter indicates that the request's + * authorization credentials identify a YouTube user who is acting on behalf + * of the content owner specified in the parameter value. It allows content + * owners to authenticate once and get access to all their video and channel + * data, without having to provide authentication credentials for each + * individual channel. The account that the user authenticates with must be + * linked to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + } + interface Params$Resource$Groupitems$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * This parameter can only be used in a properly authorized request. + * **Note:** This parameter is intended exclusively for YouTube content + * partners that own and manage many different YouTube channels. The + * `onBehalfOfContentOwner` parameter indicates that the request's + * authorization credentials identify a YouTube user who is acting on behalf + * of the content owner specified in the parameter value. It allows content + * owners to authenticate once and get access to all their video and channel + * data, without having to provide authentication credentials for each + * individual channel. The account that the user authenticates with must be + * linked to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GroupItem; + } + interface Params$Resource$Groupitems$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The `groupId` parameter specifies the unique ID of the group for which + * you want to retrieve group items. + */ + groupId?: string; + /** + * This parameter can only be used in a properly authorized request. + * **Note:** This parameter is intended exclusively for YouTube content + * partners that own and manage many different YouTube channels. The + * `onBehalfOfContentOwner` parameter indicates that the request's + * authorization credentials identify a YouTube user who is acting on behalf + * of the content owner specified in the parameter value. It allows content + * owners to authenticate once and get access to all their video and channel + * data, without having to provide authentication credentials for each + * individual channel. The account that the user authenticates with must be + * linked to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + } + class Resource$Groups { + root: Youtubeanalytics; + constructor(root: Youtubeanalytics); + getRoot(): Youtubeanalytics; + /** + * youtubeAnalytics.groups.delete + * @desc Deletes a group. + * @alias youtubeAnalytics.groups.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.id The `id` parameter specifies the YouTube group ID of the group that is being deleted. + * @param {string=} params.onBehalfOfContentOwner This parameter can only be used in a properly authorized request. **Note:** This parameter is intended exclusively for YouTube content partners that own and manage many different YouTube channels. The `onBehalfOfContentOwner` parameter indicates that the request's authorization credentials identify a YouTube user who is acting on behalf of the content owner specified in the parameter value. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The account that the user authenticates with must be linked to the specified YouTube content owner. + * @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?: Params$Resource$Groups$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Groups$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Groups$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * youtubeAnalytics.groups.insert + * @desc Creates a group. + * @alias youtubeAnalytics.groups.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.onBehalfOfContentOwner This parameter can only be used in a properly authorized request. **Note:** This parameter is intended exclusively for YouTube content partners that own and manage many different YouTube channels. The `onBehalfOfContentOwner` parameter indicates that the request's authorization credentials identify a YouTube user who is acting on behalf of the content owner specified in the parameter value. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The account that the user authenticates with must be linked to the specified YouTube content owner. + * @param {().Group} 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?: Params$Resource$Groups$Insert, options?: MethodOptions): AxiosPromise; + insert(params: Params$Resource$Groups$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + insert(params: Params$Resource$Groups$Insert, callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + /** + * youtubeAnalytics.groups.list + * @desc Returns a collection of groups that match the API request + * parameters. For example, you can retrieve all groups that the + * authenticated user owns, or you can retrieve one or more groups by their + * unique IDs. + * @alias youtubeAnalytics.groups.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.id The `id` parameter specifies a comma-separated list of the YouTube group ID(s) for the resource(s) that are being retrieved. Each group must be owned by the authenticated user. In a `group` resource, the `id` property specifies the group's YouTube group ID. Note that if you do not specify a value for the `id` parameter, then you must set the `mine` parameter to `true`. + * @param {boolean=} params.mine This parameter can only be used in a properly authorized request. Set this parameter's value to true to retrieve all groups owned by the authenticated user. + * @param {string=} params.onBehalfOfContentOwner This parameter can only be used in a properly authorized request. **Note:** This parameter is intended exclusively for YouTube content partners that own and manage many different YouTube channels. The `onBehalfOfContentOwner` parameter indicates that the request's authorization credentials identify a YouTube user who is acting on behalf of the content owner specified in the parameter value. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The account that the user authenticates with must be linked to the specified YouTube content owner. + * @param {string=} params.pageToken The `pageToken` parameter identifies a specific page in the result set that should be returned. In an API response, the `nextPageToken` property identifies the next page that can be retrieved. + * @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?: Params$Resource$Groups$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Groups$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Groups$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + /** + * youtubeAnalytics.groups.update + * @desc Modifies a group. For example, you could change a group's title. + * @alias youtubeAnalytics.groups.update + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.onBehalfOfContentOwner This parameter can only be used in a properly authorized request. **Note:** This parameter is intended exclusively for YouTube content partners that own and manage many different YouTube channels. The `onBehalfOfContentOwner` parameter indicates that the request's authorization credentials identify a YouTube user who is acting on behalf of the content owner specified in the parameter value. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The account that the user authenticates with must be linked to the specified YouTube content owner. + * @param {().Group} 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?: Params$Resource$Groups$Update, options?: MethodOptions): AxiosPromise; + update(params: Params$Resource$Groups$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + update(params: Params$Resource$Groups$Update, callback: BodyResponseCallback): void; + update(callback: BodyResponseCallback): void; + } + interface Params$Resource$Groups$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The `id` parameter specifies the YouTube group ID of the group that is + * being deleted. + */ + id?: string; + /** + * This parameter can only be used in a properly authorized request. + * **Note:** This parameter is intended exclusively for YouTube content + * partners that own and manage many different YouTube channels. The + * `onBehalfOfContentOwner` parameter indicates that the request's + * authorization credentials identify a YouTube user who is acting on behalf + * of the content owner specified in the parameter value. It allows content + * owners to authenticate once and get access to all their video and channel + * data, without having to provide authentication credentials for each + * individual channel. The account that the user authenticates with must be + * linked to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + } + interface Params$Resource$Groups$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * This parameter can only be used in a properly authorized request. + * **Note:** This parameter is intended exclusively for YouTube content + * partners that own and manage many different YouTube channels. The + * `onBehalfOfContentOwner` parameter indicates that the request's + * authorization credentials identify a YouTube user who is acting on behalf + * of the content owner specified in the parameter value. It allows content + * owners to authenticate once and get access to all their video and channel + * data, without having to provide authentication credentials for each + * individual channel. The account that the user authenticates with must be + * linked to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Group; + } + interface Params$Resource$Groups$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The `id` parameter specifies a comma-separated list of the YouTube group + * ID(s) for the resource(s) that are being retrieved. Each group must be + * owned by the authenticated user. In a `group` resource, the `id` property + * specifies the group's YouTube group ID. Note that if you do not specify + * a value for the `id` parameter, then you must set the `mine` parameter to + * `true`. + */ + id?: string; + /** + * This parameter can only be used in a properly authorized request. Set + * this parameter's value to true to retrieve all groups owned by the + * authenticated user. + */ + mine?: boolean; + /** + * This parameter can only be used in a properly authorized request. + * **Note:** This parameter is intended exclusively for YouTube content + * partners that own and manage many different YouTube channels. The + * `onBehalfOfContentOwner` parameter indicates that the request's + * authorization credentials identify a YouTube user who is acting on behalf + * of the content owner specified in the parameter value. It allows content + * owners to authenticate once and get access to all their video and channel + * data, without having to provide authentication credentials for each + * individual channel. The account that the user authenticates with must be + * linked to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + /** + * The `pageToken` parameter identifies a specific page in the result set + * that should be returned. In an API response, the `nextPageToken` property + * identifies the next page that can be retrieved. + */ + pageToken?: string; + } + interface Params$Resource$Groups$Update { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * This parameter can only be used in a properly authorized request. + * **Note:** This parameter is intended exclusively for YouTube content + * partners that own and manage many different YouTube channels. The + * `onBehalfOfContentOwner` parameter indicates that the request's + * authorization credentials identify a YouTube user who is acting on behalf + * of the content owner specified in the parameter value. It allows content + * owners to authenticate once and get access to all their video and channel + * data, without having to provide authentication credentials for each + * individual channel. The account that the user authenticates with must be + * linked to the specified YouTube content owner. + */ + onBehalfOfContentOwner?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Group; + } + class Resource$Reports { + root: Youtubeanalytics; + constructor(root: Youtubeanalytics); + getRoot(): Youtubeanalytics; + /** + * youtubeAnalytics.reports.query + * @desc Retrieve your YouTube Analytics reports. + * @alias youtubeAnalytics.reports.query + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.currency The currency to which financial metrics should be converted. The default is US Dollar (USD). If the result contains no financial metrics, this flag will be ignored. Responds with an error if the specified currency is not recognized.", pattern: [A-Z]{3} + * @param {string=} params.dimensions A comma-separated list of YouTube Analytics dimensions, such as `views` or `ageGroup,gender`. See the [Available Reports](/youtube/analytics/v2/available_reports) document for a list of the reports that you can retrieve and the dimensions used for those reports. Also see the [Dimensions](/youtube/analytics/v2/dimsmets/dims) document for definitions of those dimensions." pattern: [0-9a-zA-Z,]+ + * @param {string=} params.endDate The end date for fetching YouTube Analytics data. The value should be in `YYYY-MM-DD` format. required: true, pattern: [0-9]{4}-[0-9]{2}-[0-9]{2} + * @param {string=} params.filters A list of filters that should be applied when retrieving YouTube Analytics data. The [Available Reports](/youtube/analytics/v2/available_reports) document identifies the dimensions that can be used to filter each report, and the [Dimensions](/youtube/analytics/v2/dimsmets/dims) document defines those dimensions. If a request uses multiple filters, join them together with a semicolon (`;`), and the returned result table will satisfy both filters. For example, a filters parameter value of `video==dMH0bHeiRNg;country==IT` restricts the result set to include data for the given video in Italy.", + * @param {string=} params.ids Identifies the YouTube channel or content owner for which you are retrieving YouTube Analytics data. - To request data for a YouTube user, set the `ids` parameter value to `channel==CHANNEL_ID`, where `CHANNEL_ID` specifies the unique YouTube channel ID. - To request data for a YouTube CMS content owner, set the `ids` parameter value to `contentOwner==OWNER_NAME`, where `OWNER_NAME` is the CMS name of the content owner. required: true, pattern: [a-zA-Z]+==[a-zA-Z0-9_+-]+ + * @param {boolean=} params.includeHistoricalChannelData If set to true historical data (i.e. channel data from before the linking of the channel to the content owner) will be retrieved.", + * @param {integer=} params.maxResults The maximum number of rows to include in the response.", minValue: 1 + * @param {string=} params.metrics A comma-separated list of YouTube Analytics metrics, such as `views` or `likes,dislikes`. See the [Available Reports](/youtube/analytics/v2/available_reports) document for a list of the reports that you can retrieve and the metrics available in each report, and see the [Metrics](/youtube/analytics/v2/dimsmets/mets) document for definitions of those metrics. required: true, pattern: [0-9a-zA-Z,]+ + * @param {string=} params.sort A comma-separated list of dimensions or metrics that determine the sort order for YouTube Analytics data. By default the sort order is ascending. The '`-`' prefix causes descending sort order.", pattern: [-0-9a-zA-Z,]+ + * @param {string=} params.startDate The start date for fetching YouTube Analytics data. The value should be in `YYYY-MM-DD` format. required: true, pattern: "[0-9]{4}-[0-9]{2}-[0-9]{2} + * @param {integer=} params.startIndex An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter (one-based, inclusive).", minValue: 1 + * @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 + */ + query(params?: Params$Resource$Reports$Query, options?: MethodOptions): AxiosPromise; + query(params: Params$Resource$Reports$Query, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + query(params: Params$Resource$Reports$Query, callback: BodyResponseCallback): void; + query(callback: BodyResponseCallback): void; + } + interface Params$Resource$Reports$Query { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The currency to which financial metrics should be converted. The default + * is US Dollar (USD). If the result contains no financial metrics, this + * flag will be ignored. Responds with an error if the specified currency is + * not recognized.", pattern: [A-Z]{3} + */ + currency?: string; + /** + * A comma-separated list of YouTube Analytics dimensions, such as `views` + * or `ageGroup,gender`. See the [Available + * Reports](/youtube/analytics/v2/available_reports) document for a list of + * the reports that you can retrieve and the dimensions used for those + * reports. Also see the [Dimensions](/youtube/analytics/v2/dimsmets/dims) + * document for definitions of those dimensions." pattern: [0-9a-zA-Z,]+ + */ + dimensions?: string; + /** + * The end date for fetching YouTube Analytics data. The value should be in + * `YYYY-MM-DD` format. required: true, pattern: [0-9]{4}-[0-9]{2}-[0-9]{2} + */ + endDate?: string; + /** + * A list of filters that should be applied when retrieving YouTube + * Analytics data. The [Available + * Reports](/youtube/analytics/v2/available_reports) document identifies the + * dimensions that can be used to filter each report, and the + * [Dimensions](/youtube/analytics/v2/dimsmets/dims) document defines those + * dimensions. If a request uses multiple filters, join them together with a + * semicolon (`;`), and the returned result table will satisfy both filters. + * For example, a filters parameter value of + * `video==dMH0bHeiRNg;country==IT` restricts the result set to include data + * for the given video in Italy.", + */ + filters?: string; + /** + * Identifies the YouTube channel or content owner for which you are + * retrieving YouTube Analytics data. - To request data for a YouTube user, + * set the `ids` parameter value to `channel==CHANNEL_ID`, where + * `CHANNEL_ID` specifies the unique YouTube channel ID. - To request data + * for a YouTube CMS content owner, set the `ids` parameter value to + * `contentOwner==OWNER_NAME`, where `OWNER_NAME` is the CMS name of the + * content owner. required: true, pattern: [a-zA-Z]+==[a-zA-Z0-9_+-]+ + */ + ids?: string; + /** + * If set to true historical data (i.e. channel data from before the linking + * of the channel to the content owner) will be retrieved.", + */ + includeHistoricalChannelData?: boolean; + /** + * The maximum number of rows to include in the response.", minValue: 1 + */ + maxResults?: number; + /** + * A comma-separated list of YouTube Analytics metrics, such as `views` or + * `likes,dislikes`. See the [Available + * Reports](/youtube/analytics/v2/available_reports) document for a list of + * the reports that you can retrieve and the metrics available in each + * report, and see the [Metrics](/youtube/analytics/v2/dimsmets/mets) + * document for definitions of those metrics. required: true, pattern: + * [0-9a-zA-Z,]+ + */ + metrics?: string; + /** + * A comma-separated list of dimensions or metrics that determine the sort + * order for YouTube Analytics data. By default the sort order is ascending. + * The '`-`' prefix causes descending sort order.", pattern: [-0-9a-zA-Z,]+ + */ + sort?: string; + /** + * The start date for fetching YouTube Analytics data. The value should be + * in `YYYY-MM-DD` format. required: true, pattern: + * "[0-9]{4}-[0-9]{2}-[0-9]{2} + */ + startDate?: string; + /** + * An index of the first entity to retrieve. Use this parameter as a + * pagination mechanism along with the max-results parameter (one-based, + * inclusive).", minValue: 1 + */ + startIndex?: number; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/youtubeAnalytics/v2.js b/express-server/node_modules/googleapis/build/src/apis/youtubeAnalytics/v2.js new file mode 100644 index 00000000..2ad73b24 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/youtubeAnalytics/v2.js @@ -0,0 +1,327 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var youtubeAnalytics_v2; +(function (youtubeAnalytics_v2) { + /** + * YouTube Analytics API + * + * Retrieves your YouTube Analytics data. + * + * @example + * const {google} = require('googleapis'); + * const youtubeAnalytics = google.youtubeAnalytics('v2'); + * + * @namespace youtubeAnalytics + * @type {Function} + * @version v2 + * @variation v2 + * @param {object=} options Options for Youtubeanalytics + */ + class Youtubeanalytics { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.groupItems = new Resource$Groupitems(this); + this.groups = new Resource$Groups(this); + this.reports = new Resource$Reports(this); + } + getRoot() { + return this.root; + } + } + youtubeAnalytics_v2.Youtubeanalytics = Youtubeanalytics; + class Resource$Groupitems { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://youtubeanalytics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/groupItems').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://youtubeanalytics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/groupItems').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://youtubeanalytics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/groupItems').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + youtubeAnalytics_v2.Resource$Groupitems = Resource$Groupitems; + class Resource$Groups { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://youtubeanalytics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/groups').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + insert(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://youtubeanalytics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/groups').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://youtubeanalytics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/groups').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + update(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://youtubeanalytics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/groups').replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + youtubeAnalytics_v2.Resource$Groups = Resource$Groups; + class Resource$Reports { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + query(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://youtubeanalytics.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v2/reports').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + youtubeAnalytics_v2.Resource$Reports = Resource$Reports; +})(youtubeAnalytics_v2 = exports.youtubeAnalytics_v2 || (exports.youtubeAnalytics_v2 = {})); +//# sourceMappingURL=v2.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/youtubeAnalytics/v2.js.map b/express-server/node_modules/googleapis/build/src/apis/youtubeAnalytics/v2.js.map new file mode 100644 index 00000000..2d7db682 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/youtubeAnalytics/v2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v2.js","sourceRoot":"","sources":["../../../../src/apis/youtubeAnalytics/v2.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/youtubereporting/README.md b/express-server/node_modules/googleapis/build/src/apis/youtubereporting/README.md new file mode 100644 index 00000000..829e81fc --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/youtubereporting/README.md @@ -0,0 +1,27 @@ +Google Inc. logo + +# @google/youtubereporting + +> Schedules reporting jobs containing your YouTube Analytics data and downloads the resulting bulk data reports in the form of CSV files. + +## Installation + +```sh +$ npm install @google/youtubereporting +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/google/google-api-nodejs-client). + +## License +This library is licensed under Apache 2.0. Full license text is available in [COPYING](https://github.com/google/google-api-nodejs-client/blob/master/COPYING). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/master/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/google/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/express-server/node_modules/googleapis/build/src/apis/youtubereporting/index.d.ts b/express-server/node_modules/googleapis/build/src/apis/youtubereporting/index.d.ts new file mode 100644 index 00000000..64c29a99 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/youtubereporting/index.d.ts @@ -0,0 +1,6 @@ +import { youtubereporting_v1 } from './v1'; +export declare const VERSIONS: { + 'v1': typeof youtubereporting_v1.Youtubereporting; +}; +export declare function youtubereporting(version: 'v1'): youtubereporting_v1.Youtubereporting; +export declare function youtubereporting(options: youtubereporting_v1.Options): youtubereporting_v1.Youtubereporting; diff --git a/express-server/node_modules/googleapis/build/src/apis/youtubereporting/index.js b/express-server/node_modules/googleapis/build/src/apis/youtubereporting/index.js new file mode 100644 index 00000000..8ff88c73 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/youtubereporting/index.js @@ -0,0 +1,25 @@ +"use strict"; +// Copyright 2018, Google, LLC. +// 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. +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_common_1 = require("googleapis-common"); +const v1_1 = require("./v1"); +exports.VERSIONS = { + 'v1': v1_1.youtubereporting_v1.Youtubereporting, +}; +function youtubereporting(versionOrOptions) { + return googleapis_common_1.getAPI('youtubereporting', versionOrOptions, exports.VERSIONS, this); +} +exports.youtubereporting = youtubereporting; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/youtubereporting/index.js.map b/express-server/node_modules/googleapis/build/src/apis/youtubereporting/index.js.map new file mode 100644 index 00000000..a6e01247 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/youtubereporting/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/apis/youtubereporting/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,kCAAkC;AAElC,yDAA6D;AAC7D,6BAAyC;AAE5B,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,wBAAmB,CAAC,gBAAgB;CAC3C,CAAC;AAMF,SAAgB,gBAAgB,CAE5B,gBAAkD;IACpD,OAAO,0BAAM,CAAI,kBAAkB,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC;AACzE,CAAC;AAJD,4CAIC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/youtubereporting/package.json b/express-server/node_modules/googleapis/build/src/apis/youtubereporting/package.json new file mode 100644 index 00000000..f348fba4 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/youtubereporting/package.json @@ -0,0 +1,24 @@ +{ + "name": "@google/youtubereporting", + "version": "0.1.0", + "description": "youtubereporting", + "main": "index.js", + "types": "index.d.ts", + "keywords": ["google"], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/google/google-api-nodejs-client", + "bugs": { + "url" : "https://github.com/google/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url" : "https://github.com/google/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=6.0.0" + }, + "dependencies": { + "googleapis-common": "^0.2.0" + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/youtubereporting/v1.d.ts b/express-server/node_modules/googleapis/build/src/apis/youtubereporting/v1.d.ts new file mode 100644 index 00000000..10ed6f61 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/youtubereporting/v1.d.ts @@ -0,0 +1,864 @@ +/** + * 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 { Compute, JWT, OAuth2Client, UserRefreshClient } from 'google-auth-library'; +import { BodyResponseCallback, GlobalOptions, GoogleConfigurable, MethodOptions } from 'googleapis-common'; +export declare namespace youtubereporting_v1 { + interface Options extends GlobalOptions { + version: 'v1'; + } + /** + * YouTube Reporting API + * + * Schedules reporting jobs containing your YouTube Analytics data and + * downloads the resulting bulk data reports in the form of CSV files. + * + * @example + * const {google} = require('googleapis'); + * const youtubereporting = google.youtubereporting('v1'); + * + * @namespace youtubereporting + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Youtubereporting + */ + class Youtubereporting { + _options: GlobalOptions; + google?: GoogleConfigurable; + root: this; + jobs: Resource$Jobs; + media: Resource$Media; + reportTypes: Resource$Reporttypes; + constructor(options: GlobalOptions, google?: GoogleConfigurable); + getRoot(): this; + } + /** + * 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); } The JSON + * representation for `Empty` is empty JSON object `{}`. + */ + interface Schema$Empty { + } + /** + * gdata + */ + interface Schema$GdataBlobstore2Info { + /** + * gdata + */ + blobGeneration?: string; + /** + * gdata + */ + blobId?: string; + /** + * gdata + */ + downloadReadHandle?: string; + /** + * gdata + */ + readToken?: string; + /** + * gdata + */ + uploadMetadataContainer?: string; + } + /** + * gdata + */ + interface Schema$GdataCompositeMedia { + /** + * gdata + */ + blobRef?: string; + /** + * gdata + */ + blobstore2Info?: Schema$GdataBlobstore2Info; + /** + * gdata + */ + cosmoBinaryReference?: string; + /** + * gdata + */ + crc32cHash?: number; + /** + * gdata + */ + inline?: string; + /** + * gdata + */ + length?: string; + /** + * gdata + */ + md5Hash?: string; + /** + * gdata + */ + objectId?: Schema$GdataObjectId; + /** + * gdata + */ + path?: string; + /** + * gdata + */ + referenceType?: string; + /** + * gdata + */ + sha1Hash?: string; + } + /** + * gdata + */ + interface Schema$GdataContentTypeInfo { + /** + * gdata + */ + bestGuess?: string; + /** + * gdata + */ + fromBytes?: string; + /** + * gdata + */ + fromFileName?: string; + /** + * gdata + */ + fromHeader?: string; + /** + * gdata + */ + fromUrlPath?: string; + } + /** + * gdata + */ + interface Schema$GdataDiffChecksumsResponse { + /** + * gdata + */ + checksumsLocation?: Schema$GdataCompositeMedia; + /** + * gdata + */ + chunkSizeBytes?: string; + /** + * gdata + */ + objectLocation?: Schema$GdataCompositeMedia; + /** + * gdata + */ + objectSizeBytes?: string; + /** + * gdata + */ + objectVersion?: string; + } + /** + * gdata + */ + interface Schema$GdataDiffDownloadResponse { + /** + * gdata + */ + objectLocation?: Schema$GdataCompositeMedia; + } + /** + * gdata + */ + interface Schema$GdataDiffUploadRequest { + /** + * gdata + */ + checksumsInfo?: Schema$GdataCompositeMedia; + /** + * gdata + */ + objectInfo?: Schema$GdataCompositeMedia; + /** + * gdata + */ + objectVersion?: string; + } + /** + * gdata + */ + interface Schema$GdataDiffUploadResponse { + /** + * gdata + */ + objectVersion?: string; + /** + * gdata + */ + originalObject?: Schema$GdataCompositeMedia; + } + /** + * gdata + */ + interface Schema$GdataDiffVersionResponse { + /** + * gdata + */ + objectSizeBytes?: string; + /** + * gdata + */ + objectVersion?: string; + } + /** + * gdata + */ + interface Schema$GdataDownloadParameters { + /** + * gdata + */ + allowGzipCompression?: boolean; + /** + * gdata + */ + ignoreRange?: boolean; + } + /** + * gdata + */ + interface Schema$GdataMedia { + /** + * gdata + */ + algorithm?: string; + /** + * gdata + */ + bigstoreObjectRef?: string; + /** + * gdata + */ + blobRef?: string; + /** + * gdata + */ + blobstore2Info?: Schema$GdataBlobstore2Info; + /** + * gdata + */ + compositeMedia?: Schema$GdataCompositeMedia[]; + /** + * gdata + */ + contentType?: string; + /** + * gdata + */ + contentTypeInfo?: Schema$GdataContentTypeInfo; + /** + * gdata + */ + cosmoBinaryReference?: string; + /** + * gdata + */ + crc32cHash?: number; + /** + * gdata + */ + diffChecksumsResponse?: Schema$GdataDiffChecksumsResponse; + /** + * gdata + */ + diffDownloadResponse?: Schema$GdataDiffDownloadResponse; + /** + * gdata + */ + diffUploadRequest?: Schema$GdataDiffUploadRequest; + /** + * gdata + */ + diffUploadResponse?: Schema$GdataDiffUploadResponse; + /** + * gdata + */ + diffVersionResponse?: Schema$GdataDiffVersionResponse; + /** + * gdata + */ + downloadParameters?: Schema$GdataDownloadParameters; + /** + * gdata + */ + filename?: string; + /** + * gdata + */ + hash?: string; + /** + * gdata + */ + hashVerified?: boolean; + /** + * gdata + */ + inline?: string; + /** + * gdata + */ + isPotentialRetry?: boolean; + /** + * gdata + */ + length?: string; + /** + * gdata + */ + md5Hash?: string; + /** + * gdata + */ + mediaId?: string; + /** + * gdata + */ + objectId?: Schema$GdataObjectId; + /** + * gdata + */ + path?: string; + /** + * gdata + */ + referenceType?: string; + /** + * gdata + */ + sha1Hash?: string; + /** + * gdata + */ + sha256Hash?: string; + /** + * gdata + */ + timestamp?: string; + /** + * gdata + */ + token?: string; + } + /** + * gdata + */ + interface Schema$GdataObjectId { + /** + * gdata + */ + bucketName?: string; + /** + * gdata + */ + generation?: string; + /** + * gdata + */ + objectName?: string; + } + /** + * A job creating reports of a specific type. + */ + interface Schema$Job { + /** + * The creation date/time of the job. + */ + createTime?: string; + /** + * The date/time when this job will expire/expired. After a job expired, no + * new reports are generated. + */ + expireTime?: string; + /** + * The server-generated ID of the job (max. 40 characters). + */ + id?: string; + /** + * The name of the job (max. 100 characters). + */ + name?: string; + /** + * The type of reports this job creates. Corresponds to the ID of a + * ReportType. + */ + reportTypeId?: string; + /** + * True if this a system-managed job that cannot be modified by the user; + * otherwise false. + */ + systemManaged?: boolean; + } + /** + * Response message for ReportingService.ListJobs. + */ + interface Schema$ListJobsResponse { + /** + * The list of jobs. + */ + jobs?: Schema$Job[]; + /** + * A token to retrieve next page of results. Pass this value in the + * ListJobsRequest.page_token field in the subsequent call to `ListJobs` + * method to retrieve the next page of results. + */ + nextPageToken?: string; + } + /** + * Response message for ReportingService.ListReports. + */ + interface Schema$ListReportsResponse { + /** + * A token to retrieve next page of results. Pass this value in the + * ListReportsRequest.page_token field in the subsequent call to + * `ListReports` method to retrieve the next page of results. + */ + nextPageToken?: string; + /** + * The list of report types. + */ + reports?: Schema$Report[]; + } + /** + * Response message for ReportingService.ListReportTypes. + */ + interface Schema$ListReportTypesResponse { + /** + * A token to retrieve next page of results. Pass this value in the + * ListReportTypesRequest.page_token field in the subsequent call to + * `ListReportTypes` method to retrieve the next page of results. + */ + nextPageToken?: string; + /** + * The list of report types. + */ + reportTypes?: Schema$ReportType[]; + } + /** + * A report's metadata including the URL from which the report itself can + * be downloaded. + */ + interface Schema$Report { + /** + * The date/time when this report was created. + */ + createTime?: string; + /** + * The URL from which the report can be downloaded (max. 1000 characters). + */ + downloadUrl?: string; + /** + * The end of the time period that the report instance covers. The value is + * exclusive. + */ + endTime?: string; + /** + * The server-generated ID of the report. + */ + id?: string; + /** + * The date/time when the job this report belongs to will expire/expired. + */ + jobExpireTime?: string; + /** + * The ID of the job that created this report. + */ + jobId?: string; + /** + * The start of the time period that the report instance covers. The value + * is inclusive. + */ + startTime?: string; + } + /** + * A report type. + */ + interface Schema$ReportType { + /** + * The date/time when this report type was/will be deprecated. + */ + deprecateTime?: string; + /** + * The ID of the report type (max. 100 characters). + */ + id?: string; + /** + * The name of the report type (max. 100 characters). + */ + name?: string; + /** + * True if this a system-managed report type; otherwise false. Reporting + * jobs for system-managed report types are created automatically and can + * thus not be used in the `CreateJob` method. + */ + systemManaged?: boolean; + } + class Resource$Jobs { + root: Youtubereporting; + reports: Resource$Jobs$Reports; + constructor(root: Youtubereporting); + getRoot(): Youtubereporting; + /** + * youtubereporting.jobs.create + * @desc Creates a job and returns it. + * @alias youtubereporting.jobs.create + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.onBehalfOfContentOwner The content owner's external ID on which behalf the user is acting on. If not set, the user is acting for himself (his own channel). + * @param {().Job} 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 + */ + create(params?: Params$Resource$Jobs$Create, options?: MethodOptions): AxiosPromise; + create(params: Params$Resource$Jobs$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + create(params: Params$Resource$Jobs$Create, callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; + /** + * youtubereporting.jobs.delete + * @desc Deletes a job. + * @alias youtubereporting.jobs.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.jobId The ID of the job to delete. + * @param {string=} params.onBehalfOfContentOwner The content owner's external ID on which behalf the user is acting on. If not set, the user is acting for himself (his own channel). + * @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?: Params$Resource$Jobs$Delete, options?: MethodOptions): AxiosPromise; + delete(params: Params$Resource$Jobs$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + delete(params: Params$Resource$Jobs$Delete, callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + /** + * youtubereporting.jobs.get + * @desc Gets a job. + * @alias youtubereporting.jobs.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.jobId The ID of the job to retrieve. + * @param {string=} params.onBehalfOfContentOwner The content owner's external ID on which behalf the user is acting on. If not set, the user is acting for himself (his own channel). + * @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?: Params$Resource$Jobs$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Jobs$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Jobs$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * youtubereporting.jobs.list + * @desc Lists jobs. + * @alias youtubereporting.jobs.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.includeSystemManaged If set to true, also system-managed jobs will be returned; otherwise only user-created jobs will be returned. System-managed jobs can neither be modified nor deleted. + * @param {string=} params.onBehalfOfContentOwner The content owner's external ID on which behalf the user is acting on. If not set, the user is acting for himself (his own channel). + * @param {integer=} params.pageSize Requested page size. Server may return fewer jobs than requested. If unspecified, server will pick an appropriate default. + * @param {string=} params.pageToken A token identifying a page of results the server should return. Typically, this is the value of ListReportTypesResponse.next_page_token returned in response to the previous call to the `ListJobs` method. + * @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?: Params$Resource$Jobs$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Jobs$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Jobs$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Jobs$Create { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The content owner's external ID on which behalf the user is acting on. If + * not set, the user is acting for himself (his own channel). + */ + onBehalfOfContentOwner?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Job; + } + interface Params$Resource$Jobs$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the job to delete. + */ + jobId?: string; + /** + * The content owner's external ID on which behalf the user is acting on. If + * not set, the user is acting for himself (his own channel). + */ + onBehalfOfContentOwner?: string; + } + interface Params$Resource$Jobs$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the job to retrieve. + */ + jobId?: string; + /** + * The content owner's external ID on which behalf the user is acting on. If + * not set, the user is acting for himself (his own channel). + */ + onBehalfOfContentOwner?: string; + } + interface Params$Resource$Jobs$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * If set to true, also system-managed jobs will be returned; otherwise only + * user-created jobs will be returned. System-managed jobs can neither be + * modified nor deleted. + */ + includeSystemManaged?: boolean; + /** + * The content owner's external ID on which behalf the user is acting on. If + * not set, the user is acting for himself (his own channel). + */ + onBehalfOfContentOwner?: string; + /** + * Requested page size. Server may return fewer jobs than requested. If + * unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * A token identifying a page of results the server should return. + * Typically, this is the value of ListReportTypesResponse.next_page_token + * returned in response to the previous call to the `ListJobs` method. + */ + pageToken?: string; + } + class Resource$Jobs$Reports { + root: Youtubereporting; + constructor(root: Youtubereporting); + getRoot(): Youtubereporting; + /** + * youtubereporting.jobs.reports.get + * @desc Gets the metadata of a specific report. + * @alias youtubereporting.jobs.reports.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.jobId The ID of the job. + * @param {string=} params.onBehalfOfContentOwner The content owner's external ID on which behalf the user is acting on. If not set, the user is acting for himself (his own channel). + * @param {string} params.reportId The ID of the report to retrieve. + * @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?: Params$Resource$Jobs$Reports$Get, options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Jobs$Reports$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + get(params: Params$Resource$Jobs$Reports$Get, callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + /** + * youtubereporting.jobs.reports.list + * @desc Lists reports created by a specific job. Returns NOT_FOUND if the + * job does not exist. + * @alias youtubereporting.jobs.reports.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.createdAfter If set, only reports created after the specified date/time are returned. + * @param {string} params.jobId The ID of the job. + * @param {string=} params.onBehalfOfContentOwner The content owner's external ID on which behalf the user is acting on. If not set, the user is acting for himself (his own channel). + * @param {integer=} params.pageSize Requested page size. Server may return fewer report types than requested. If unspecified, server will pick an appropriate default. + * @param {string=} params.pageToken A token identifying a page of results the server should return. Typically, this is the value of ListReportsResponse.next_page_token returned in response to the previous call to the `ListReports` method. + * @param {string=} params.startTimeAtOrAfter If set, only reports whose start time is greater than or equal the specified date/time are returned. + * @param {string=} params.startTimeBefore If set, only reports whose start time is smaller than the specified date/time are returned. + * @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?: Params$Resource$Jobs$Reports$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Jobs$Reports$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Jobs$Reports$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Jobs$Reports$Get { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * The ID of the job. + */ + jobId?: string; + /** + * The content owner's external ID on which behalf the user is acting on. If + * not set, the user is acting for himself (his own channel). + */ + onBehalfOfContentOwner?: string; + /** + * The ID of the report to retrieve. + */ + reportId?: string; + } + interface Params$Resource$Jobs$Reports$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * If set, only reports created after the specified date/time are returned. + */ + createdAfter?: string; + /** + * The ID of the job. + */ + jobId?: string; + /** + * The content owner's external ID on which behalf the user is acting on. If + * not set, the user is acting for himself (his own channel). + */ + onBehalfOfContentOwner?: string; + /** + * Requested page size. Server may return fewer report types than requested. + * If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * A token identifying a page of results the server should return. + * Typically, this is the value of ListReportsResponse.next_page_token + * returned in response to the previous call to the `ListReports` method. + */ + pageToken?: string; + /** + * If set, only reports whose start time is greater than or equal the + * specified date/time are returned. + */ + startTimeAtOrAfter?: string; + /** + * If set, only reports whose start time is smaller than the specified + * date/time are returned. + */ + startTimeBefore?: string; + } + class Resource$Media { + root: Youtubereporting; + constructor(root: Youtubereporting); + getRoot(): Youtubereporting; + /** + * youtubereporting.media.download + * @desc Method for media download. Download is supported on the URI + * `/v1/media/{+name}?alt=media`. + * @alias youtubereporting.media.download + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.resourceName Name of the media that is being downloaded. + * @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 + */ + download(params?: Params$Resource$Media$Download, options?: MethodOptions): AxiosPromise; + download(params: Params$Resource$Media$Download, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + download(params: Params$Resource$Media$Download, callback: BodyResponseCallback): void; + download(callback: BodyResponseCallback): void; + } + interface Params$Resource$Media$Download { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * Name of the media that is being downloaded. + */ + resourceName?: string; + } + class Resource$Reporttypes { + root: Youtubereporting; + constructor(root: Youtubereporting); + getRoot(): Youtubereporting; + /** + * youtubereporting.reportTypes.list + * @desc Lists report types. + * @alias youtubereporting.reportTypes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {boolean=} params.includeSystemManaged If set to true, also system-managed report types will be returned; otherwise only the report types that can be used to create new reporting jobs will be returned. + * @param {string=} params.onBehalfOfContentOwner The content owner's external ID on which behalf the user is acting on. If not set, the user is acting for himself (his own channel). + * @param {integer=} params.pageSize Requested page size. Server may return fewer report types than requested. If unspecified, server will pick an appropriate default. + * @param {string=} params.pageToken A token identifying a page of results the server should return. Typically, this is the value of ListReportTypesResponse.next_page_token returned in response to the previous call to the `ListReportTypes` method. + * @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?: Params$Resource$Reporttypes$List, options?: MethodOptions): AxiosPromise; + list(params: Params$Resource$Reporttypes$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback): void; + list(params: Params$Resource$Reporttypes$List, callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + } + interface Params$Resource$Reporttypes$List { + /** + * Auth client or API Key for the request + */ + auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient; + /** + * If set to true, also system-managed report types will be returned; + * otherwise only the report types that can be used to create new reporting + * jobs will be returned. + */ + includeSystemManaged?: boolean; + /** + * The content owner's external ID on which behalf the user is acting on. If + * not set, the user is acting for himself (his own channel). + */ + onBehalfOfContentOwner?: string; + /** + * Requested page size. Server may return fewer report types than requested. + * If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * A token identifying a page of results the server should return. + * Typically, this is the value of ListReportTypesResponse.next_page_token + * returned in response to the previous call to the `ListReportTypes` + * method. + */ + pageToken?: string; + } +} diff --git a/express-server/node_modules/googleapis/build/src/apis/youtubereporting/v1.js b/express-server/node_modules/googleapis/build/src/apis/youtubereporting/v1.js new file mode 100644 index 00000000..1974109c --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/youtubereporting/v1.js @@ -0,0 +1,342 @@ +"use strict"; +/** + * 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const googleapis_common_1 = require("googleapis-common"); +// tslint:disable: no-any +// tslint:disable: class-name +// tslint:disable: variable-name +// tslint:disable: jsdoc-format +// tslint:disable: no-namespace +var youtubereporting_v1; +(function (youtubereporting_v1) { + /** + * YouTube Reporting API + * + * Schedules reporting jobs containing your YouTube Analytics data and + * downloads the resulting bulk data reports in the form of CSV files. + * + * @example + * const {google} = require('googleapis'); + * const youtubereporting = google.youtubereporting('v1'); + * + * @namespace youtubereporting + * @type {Function} + * @version v1 + * @variation v1 + * @param {object=} options Options for Youtubereporting + */ + class Youtubereporting { + constructor(options, google) { + this.root = this; + this._options = options || {}; + this.google = google; + this.getRoot.bind(this); + this.jobs = new Resource$Jobs(this); + this.media = new Resource$Media(this); + this.reportTypes = new Resource$Reporttypes(this); + } + getRoot() { + return this.root; + } + } + youtubereporting_v1.Youtubereporting = Youtubereporting; + class Resource$Jobs { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + this.reports = new Resource$Jobs$Reports(root); + } + getRoot() { + return this.root; + } + create(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://youtubereporting.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/jobs').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + delete(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://youtubereporting.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/jobs/{jobId}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, options), + params, + requiredParams: ['jobId'], + pathParams: ['jobId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://youtubereporting.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/jobs/{jobId}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['jobId'], + pathParams: ['jobId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://youtubereporting.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/jobs').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + youtubereporting_v1.Resource$Jobs = Resource$Jobs; + class Resource$Jobs$Reports { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + get(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://youtubereporting.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/jobs/{jobId}/reports/{reportId}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['jobId', 'reportId'], + pathParams: ['jobId', 'reportId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://youtubereporting.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/jobs/{jobId}/reports') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['jobId'], + pathParams: ['jobId'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + youtubereporting_v1.Resource$Jobs$Reports = Resource$Jobs$Reports; + class Resource$Media { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + download(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://youtubereporting.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/media/{+resourceName}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: ['resourceName'], + pathParams: ['resourceName'], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + youtubereporting_v1.Resource$Media = Resource$Media; + class Resource$Reporttypes { + constructor(root) { + this.root = root; + this.getRoot.bind(this); + } + getRoot() { + return this.root; + } + list(paramsOrCallback, optionsOrCallback, callback) { + let params = (paramsOrCallback || {}); + let options = (optionsOrCallback || {}); + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {}; + options = {}; + } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + const rootUrl = options.rootUrl || 'https://youtubereporting.googleapis.com/'; + const parameters = { + options: Object.assign({ + url: (rootUrl + '/v1/reportTypes').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, options), + params, + requiredParams: [], + pathParams: [], + context: this.getRoot() + }; + if (callback) { + googleapis_common_1.createAPIRequest(parameters, callback); + } + else { + return googleapis_common_1.createAPIRequest(parameters); + } + } + } + youtubereporting_v1.Resource$Reporttypes = Resource$Reporttypes; +})(youtubereporting_v1 = exports.youtubereporting_v1 || (exports.youtubereporting_v1 = {})); +//# sourceMappingURL=v1.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/apis/youtubereporting/v1.js.map b/express-server/node_modules/googleapis/build/src/apis/youtubereporting/v1.js.map new file mode 100644 index 00000000..98d8515b --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/apis/youtubereporting/v1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../src/apis/youtubereporting/v1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/generator/generate.d.ts b/express-server/node_modules/googleapis/build/src/generator/generate.d.ts new file mode 100644 index 00000000..2aa2f36e --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/generator/generate.d.ts @@ -0,0 +1,16 @@ +/** + * Copyright 2014 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. + */ +export {}; diff --git a/express-server/node_modules/googleapis/build/src/generator/generate.js b/express-server/node_modules/googleapis/build/src/generator/generate.js new file mode 100644 index 00000000..8728c702 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/generator/generate.js @@ -0,0 +1,55 @@ +"use strict"; +/** + * Copyright 2014 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. + */ +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const path = require("path"); +const rimraf = require("rimraf"); +const source_map_support_1 = require("source-map-support"); +const util = require("util"); +const generator_1 = require("./generator"); +// enable source map support +source_map_support_1.install(); +const debug = true; +const args = process.argv.slice(2); +const gen = new generator_1.Generator({ debug, includePrivate: false }); +function main() { + return __awaiter(this, void 0, void 0, function* () { + if (args.length) { + args.forEach((url) => __awaiter(this, void 0, void 0, function* () { + yield gen.generateAPI(url); + console.log('Generated API for ' + url); + })); + } + else { + console.log('Removing old APIs...'); + const apiPath = path.join(__dirname, '../../../src/apis'); + yield util.promisify(rimraf)(apiPath); + console.log('Generating APIs...'); + yield gen.generateAllAPIs(); + console.log('Finished generating APIs!'); + } + }); +} +main().catch(console.error); +//# sourceMappingURL=generate.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/generator/generate.js.map b/express-server/node_modules/googleapis/build/src/generator/generate.js.map new file mode 100644 index 00000000..86b86dd5 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/generator/generate.js.map @@ -0,0 +1 @@ +{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/generator/generate.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;AAEH,6BAA6B;AAC7B,iCAAiC;AACjC,2DAA2C;AAC3C,6BAA6B;AAE7B,2CAAsC;AAEtC,4BAA4B;AAC5B,4BAAO,EAAE,CAAC;AAEV,MAAM,KAAK,GAAG,IAAI,CAAC;AACnB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,GAAG,GAAG,IAAI,qBAAS,CAAC,EAAC,KAAK,EAAE,cAAc,EAAE,KAAK,EAAC,CAAC,CAAC;AAE1D,SAAe,IAAI;;QACjB,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,OAAO,CAAC,CAAM,GAAG,EAAC,EAAE;gBACvB,MAAM,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBAC3B,OAAO,CAAC,GAAG,CAAC,oBAAoB,GAAG,GAAG,CAAC,CAAC;YAC1C,CAAC,CAAA,CAAC,CAAC;SACJ;aAAM;YACL,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;YACpC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;YAC1D,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC;YACtC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YAClC,MAAM,GAAG,CAAC,eAAe,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;SAC1C;IACH,CAAC;CAAA;AACD,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/generator/generator.d.ts b/express-server/node_modules/googleapis/build/src/generator/generator.d.ts new file mode 100644 index 00000000..0f2a81aa --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/generator/generator.d.ts @@ -0,0 +1,64 @@ +import { Schema } from 'googleapis-common'; +export interface GeneratorOptions { + debug?: boolean; + includePrivate?: boolean; +} +export declare class Generator { + private transporter; + private requestQueue; + private env; + /** + * A multi-line string is turned into one line. + * @param str String to process + * @return Single line string processed + */ + private oneLine; + /** + * Clean a string of comment tags. + * @param str String to process + * @return Single line string processed + */ + private cleanComments; + private getPathParams; + private getSafeParamName; + private cleanPropertyName; + private hasResourceParam; + private options; + private state; + /** + * Generator for generating API endpoints + * @param options Options for generation + */ + constructor(options?: GeneratorOptions); + /** + * Add a requests to the rate limited queue. + * @param opts Options to pass to the default transporter + */ + private request; + /** + * Log output of generator. Works just like console.log. + */ + private log; + /** + * Write to the state log, which is used for debugging. + * @param id DiscoveryRestUrl of the endpoint to log + * @param message + */ + private logResult; + /** + * Generate all APIs and write to files. + */ + generateAllAPIs(): Promise; + generateIndex(metadata: Schema[]): Promise; + /** + * Given a discovery doc, parse it and recursively iterate over the various + * embedded links. + */ + private getFragmentsForSchema; + /** + * Generate API file given discovery URL + * @param apiDiscoveryUri URL or filename of discovery doc for API + */ + generateAPI(apiDiscoveryUrl: string): Promise; + private generate; +} diff --git a/express-server/node_modules/googleapis/build/src/generator/generator.js b/express-server/node_modules/googleapis/build/src/generator/generator.js new file mode 100644 index 00000000..0552bfec --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/generator/generator.js @@ -0,0 +1,335 @@ +"use strict"; +// Copyright 2014-2016, Google, Inc. +// 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. +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const fs = require("fs"); +const google_auth_library_1 = require("google-auth-library"); +const minimist = require("minimist"); +const mkdirp = require("mkdirp"); +const nunjucks = require("nunjucks"); +const Q = require("p-queue"); +const path = require("path"); +const url = require("url"); +const util = require("util"); +const argv = minimist(process.argv.slice(2)); +const cliArgs = argv._; +const writeFile = util.promisify(fs.writeFile); +const readDir = util.promisify(fs.readdir); +const DISCOVERY_URL = argv['discovery-url'] ? + argv['discovery-url'] : + (cliArgs.length ? cliArgs[0] : + 'https://www.googleapis.com/discovery/v1/apis/'); +const FRAGMENT_URL = 'https://storage.googleapis.com/apisnippets-staging/public/'; +const srcPath = path.join(__dirname, '../../../src'); +const TEMPLATES_DIR = path.join(srcPath, 'generator/templates'); +const API_TEMPLATE = path.join(TEMPLATES_DIR, 'api-endpoint.njk'); +const INDEX_TEMPLATE = path.join(TEMPLATES_DIR, 'index.njk'); +const RESERVED_PARAMS = ['resource', 'media', 'auth']; +function getType(item) { + switch (item.type) { + case 'integer': + return 'number'; + case 'object': + // TODO: This can be improved with an inline type. + return 'any'; + case 'array': + const innerType = getType(item.items); + return `${innerType}[]`; + default: + return item.type; + } +} +class Generator { + /** + * Generator for generating API endpoints + * @param options Options for generation + */ + constructor(options = {}) { + this.transporter = new google_auth_library_1.DefaultTransporter(); + this.requestQueue = new Q({ concurrency: 50 }); + this.state = new Map(); + this.options = options; + this.env = new nunjucks.Environment(new nunjucks.FileSystemLoader(TEMPLATES_DIR), { trimBlocks: true }); + this.env.addFilter('buildurl', buildurl); + this.env.addFilter('oneLine', this.oneLine); + this.env.addFilter('getType', getType); + this.env.addFilter('cleanPropertyName', this.cleanPropertyName); + this.env.addFilter('cleanComments', this.cleanComments); + this.env.addFilter('getPathParams', this.getPathParams); + this.env.addFilter('getSafeParamName', this.getSafeParamName); + this.env.addFilter('hasResourceParam', this.hasResourceParam); + this.env.addFilter('cleanPaths', (str) => { + return str ? str.replace(/\/\*\//gi, '/x/') + .replace(/\/\*`/gi, '/x') + .replace(/\*\//gi, 'x/') + .replace(/\\n/gi, 'x/') : + ''; + }); + } + /** + * A multi-line string is turned into one line. + * @param str String to process + * @return Single line string processed + */ + oneLine(str) { + return str ? str.replace(/\n/g, ' ') : ''; + } + /** + * Clean a string of comment tags. + * @param str String to process + * @return Single line string processed + */ + cleanComments(str) { + // Convert /* into /x and */ into x/ + return str ? str.replace(/\*\//g, 'x/').replace(/\/\*/g, '/x') : ''; + } + getPathParams(params) { + const pathParams = new Array(); + if (typeof params !== 'object') { + params = {}; + } + Object.keys(params).forEach(key => { + if (params[key].location === 'path') { + pathParams.push(key); + } + }); + return pathParams; + } + getSafeParamName(param) { + if (RESERVED_PARAMS.indexOf(param) !== -1) { + return param + '_'; + } + return param; + } + cleanPropertyName(prop) { + const match = prop.match(/[-@.]/g); + return match ? `'${prop}'` : prop; + } + hasResourceParam(method) { + return method.parameters && method.parameters['resource']; + } + /** + * Add a requests to the rate limited queue. + * @param opts Options to pass to the default transporter + */ + request(opts) { + return this.requestQueue.add(() => { + return this.transporter.request(opts); + }); + } + /** + * Log output of generator. Works just like console.log. + */ + log(...args) { + if (this.options && this.options.debug) { + console.log.apply(this, arguments); + } + } + /** + * Write to the state log, which is used for debugging. + * @param id DiscoveryRestUrl of the endpoint to log + * @param message + */ + logResult(id, message) { + if (!this.state.has(id)) { + this.state.set(id, new Array()); + } + this.state.get(id).push(message); + } + /** + * Generate all APIs and write to files. + */ + generateAllAPIs() { + return __awaiter(this, void 0, void 0, function* () { + const headers = this.options.includePrivate ? {} : { 'X-User-Ip': '0.0.0.0' }; + const res = yield this.request({ url: DISCOVERY_URL, headers }); + const apis = res.data.items; + const queue = new Q({ concurrency: 10 }); + console.log(`Generating ${apis.length} APIs...`); + queue.addAll(apis.map(api => { + return () => __awaiter(this, void 0, void 0, function* () { + this.log('Generating API for %s...', api.id); + this.logResult(api.discoveryRestUrl, 'Attempting first generateAPI call...'); + try { + const results = yield this.generateAPI(api.discoveryRestUrl); + this.logResult(api.discoveryRestUrl, `GenerateAPI call success!`); + } + catch (e) { + this.logResult(api.discoveryRestUrl, `GenerateAPI call failed with error: ${e}, moving on.`); + console.error(`Failed to generate API: ${api.id}`); + console.log(api.id + '\n-----------\n' + + util.inspect(this.state.get(api.discoveryRestUrl), { maxArrayLength: null }) + + '\n'); + } + }); + })); + try { + yield queue.onIdle(); + yield this.generateIndex(apis); + } + catch (e) { + console.log(util.inspect(this.state, { maxArrayLength: null })); + } + }); + } + generateIndex(metadata) { + return __awaiter(this, void 0, void 0, function* () { + const apis = {}; + const apisPath = path.join(srcPath, 'apis'); + const indexPath = path.join(apisPath, 'index.ts'); + const rootIndexPath = path.join(apisPath, '../', 'index.ts'); + // Dynamically discover available APIs + const files = yield readDir(apisPath); + for (const file of files) { + const filePath = path.join(apisPath, file); + if (!(yield util.promisify(fs.stat)(filePath)).isDirectory()) { + continue; + } + apis[file] = {}; + const files = yield readDir(path.join(apisPath, file)); + for (const version of files) { + const parts = path.parse(version); + if (!version.endsWith('.d.ts') && parts.ext === '.ts') { + apis[file][version] = parts.name; + const desc = metadata.filter(x => x.name === file)[0].description; + // generate the index.ts + const apiIdxPath = path.join(apisPath, file, 'index.ts'); + const result = this.env.render('api-index.njk', { name: file, api: apis[file] }); + yield writeFile(apiIdxPath, result); + // generate the package.json + const pkgPath = path.join(apisPath, file, 'package.json'); + const pkgResult = this.env.render('package.json.njk', { name: file, desc }); + yield writeFile(pkgPath, pkgResult); + // generate the README.md + const rdPath = path.join(apisPath, file, 'README.md'); + const rdResult = this.env.render('README.md.njk', { name: file, desc }); + yield writeFile(rdPath, rdResult); + } + } + } + const result = this.env.render('index.njk', { apis }); + yield writeFile(indexPath, result, { encoding: 'utf8' }); + const res2 = this.env.render('root-index.njk', { apis }); + yield writeFile(rootIndexPath, res2, { encoding: 'utf8' }); + }); + } + /** + * Given a discovery doc, parse it and recursively iterate over the various + * embedded links. + */ + getFragmentsForSchema(apiDiscoveryUrl, schema, apiPath, tasks) { + if (schema.methods) { + for (const methodName in schema.methods) { + if (schema.methods.hasOwnProperty(methodName)) { + const methodSchema = schema.methods[methodName]; + methodSchema.sampleUrl = apiPath + '.' + methodName + '.frag.json'; + tasks.push(() => __awaiter(this, void 0, void 0, function* () { + this.logResult(apiDiscoveryUrl, `Making fragment request...`); + this.logResult(apiDiscoveryUrl, methodSchema.sampleUrl); + try { + const res = yield this.request({ url: methodSchema.sampleUrl }); + this.logResult(apiDiscoveryUrl, `Fragment request complete.`); + if (res.data && res.data.codeFragment && + res.data.codeFragment['Node.js']) { + let fragment = res.data.codeFragment['Node.js'].fragment; + fragment = fragment.replace(/\/\*/gi, '/<'); + fragment = fragment.replace(/\*\//gi, '>/'); + fragment = fragment.replace(/`\*/gi, '`<'); + fragment = fragment.replace(/\*`/gi, '>`'); + const lines = fragment.split('\n'); + lines.forEach((line, i) => { + lines[i] = '*' + (line ? ' ' + lines[i] : ''); + }); + fragment = lines.join('\n'); + methodSchema.fragment = fragment; + } + } + catch (err) { + this.logResult(apiDiscoveryUrl, `Fragment request err: ${err}`); + if (!err.message || err.message.indexOf('AccessDenied') === -1) { + throw err; + } + this.logResult(apiDiscoveryUrl, 'Ignoring error.'); + } + })); + } + } + } + if (schema.resources) { + for (const resourceName in schema.resources) { + if (schema.resources.hasOwnProperty(resourceName)) { + this.getFragmentsForSchema(apiDiscoveryUrl, schema.resources[resourceName], apiPath + '.' + resourceName, tasks); + } + } + } + } + /** + * Generate API file given discovery URL + * @param apiDiscoveryUri URL or filename of discovery doc for API + */ + generateAPI(apiDiscoveryUrl) { + return __awaiter(this, void 0, void 0, function* () { + const parts = url.parse(apiDiscoveryUrl); + if (apiDiscoveryUrl && !parts.protocol) { + this.log('Reading from file ' + apiDiscoveryUrl); + const file = yield util.promisify(fs.readFile)(apiDiscoveryUrl, { encoding: 'utf-8' }); + yield this.generate(apiDiscoveryUrl, JSON.parse(file)); + } + else { + this.logResult(apiDiscoveryUrl, `Starting discovery doc request...`); + this.logResult(apiDiscoveryUrl, apiDiscoveryUrl); + const res = yield this.request({ url: apiDiscoveryUrl }); + yield this.generate(apiDiscoveryUrl, res.data); + } + }); + } + generate(apiDiscoveryUrl, schema) { + return __awaiter(this, void 0, void 0, function* () { + this.logResult(apiDiscoveryUrl, `Discovery doc request complete.`); + const tasks = new Array(); + this.getFragmentsForSchema(apiDiscoveryUrl, schema, `${FRAGMENT_URL}${schema.name}/${schema.version}/0/${schema.name}`, tasks); + // e.g. apis/drive/v2.js + const exportFilename = path.join(srcPath, 'apis', schema.name, schema.version + '.ts'); + this.logResult(apiDiscoveryUrl, `Generating templates...`); + this.logResult(apiDiscoveryUrl, `Step 1...`); + yield Promise.all(tasks.map(t => t())); + this.logResult(apiDiscoveryUrl, `Step 2...`); + const contents = this.env.render(API_TEMPLATE, { api: schema }); + yield util.promisify(mkdirp)(path.dirname(exportFilename)); + this.logResult(apiDiscoveryUrl, `Step 3...`); + yield writeFile(exportFilename, contents, { encoding: 'utf8' }); + this.logResult(apiDiscoveryUrl, `Template generation complete.`); + return exportFilename; + }); + } +} +exports.Generator = Generator; +/** + * Build a string used to create a URL from the discovery doc provided URL. + * replace double slashes with single slash (except in https://) + * @private + * @param input URL to build from + * @return Resulting built URL + */ +function buildurl(input) { + return input ? `'${input}'`.replace(/([^:]\/)\/+/g, '$1') : ''; +} +//# sourceMappingURL=generator.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/generator/generator.js.map b/express-server/node_modules/googleapis/build/src/generator/generator.js.map new file mode 100644 index 00000000..a284c026 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/generator/generator.js.map @@ -0,0 +1 @@ +{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../src/generator/generator.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/googleapis.d.ts b/express-server/node_modules/googleapis/build/src/googleapis.d.ts new file mode 100644 index 00000000..083094c7 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/googleapis.d.ts @@ -0,0 +1,77 @@ +import { Compute, GoogleAuth, JWT, OAuth2Client } from 'google-auth-library'; +import { APIEndpoint, Endpoint, GlobalOptions } from 'googleapis-common'; +import * as apis from './apis'; +export declare class AuthPlus extends GoogleAuth { + JWT: typeof JWT; + Compute: typeof Compute; + OAuth2: typeof OAuth2Client; +} +export declare class GoogleApis extends apis.GeneratedAPIs { + private _discovery; + auth: AuthPlus; + _options: GlobalOptions; + [index: string]: APIEndpoint; + /** + * GoogleApis constructor. + * + * @example + * const GoogleApis = require('googleapis').GoogleApis; + * const google = new GoogleApis(); + * + * @class GoogleApis + * @param {Object} [options] Configuration options. + */ + constructor(options?: GlobalOptions); + /** + * Obtain a Map of supported APIs, along with included API versions. + */ + getSupportedAPIs(): { + [index: string]: string[]; + }; + /** + * Set options. + * + * @param {Object} [options] Configuration options. + */ + options(options?: GlobalOptions): void; + /** + * Add APIs endpoints to googleapis object + * E.g. googleapis.drive and googleapis.datastore + * + * @name GoogleApis#addAPIs + * @method + * @param {Object} apis Apis to be added to this GoogleApis instance. + * @private + */ + private addAPIs; + /** + * Dynamically generate an apis object that can provide Endpoint objects for + * the discovered APIs. + * + * @example + * const {google} = require('googleapis'); + * const discoveryUrl = + * 'https://myapp.appspot.com/_ah/api/discovery/v1/apis/'; + * google.discover(discoveryUrl, function (err) { + * const someapi = google.someapi('v1'); + * }); + * + * @name GoogleApis#discover + * @method + * @param url Url to the discovery service for a set of APIs. e.g., + * https://www.googleapis.com/discovery/v1/apis + * @param {Function} callback Callback function. + */ + discover(url: string): Promise; + discover(url: string, callback: (err?: Error) => void): void; + private discoverAsync; + /** + * Dynamically generate an Endpoint object from a discovery doc. + * + * @param path Url or file path to discover doc for a single API. + * @param Options to configure the Endpoint object generated from the + * discovery doc. + * @returns A promise that resolves with the configured endpoint. + */ + discoverAPI(apiPath: string, options?: {}): Promise>; +} diff --git a/express-server/node_modules/googleapis/build/src/googleapis.js b/express-server/node_modules/googleapis/build/src/googleapis.js new file mode 100644 index 00000000..a6ac6ef3 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/googleapis.js @@ -0,0 +1,123 @@ +"use strict"; +// Copyright 2012-2016, Google, Inc. +// 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. +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const google_auth_library_1 = require("google-auth-library"); +const googleapis_common_1 = require("googleapis-common"); +const apis = require("./apis"); +class AuthPlus extends google_auth_library_1.GoogleAuth { + constructor() { + super(...arguments); + // tslint:disable-next-line: variable-name + this.JWT = google_auth_library_1.JWT; + // tslint:disable-next-line: variable-name + this.Compute = google_auth_library_1.Compute; + // tslint:disable-next-line: variable-name + this.OAuth2 = google_auth_library_1.OAuth2Client; + } +} +exports.AuthPlus = AuthPlus; +class GoogleApis extends apis.GeneratedAPIs { + /** + * GoogleApis constructor. + * + * @example + * const GoogleApis = require('googleapis').GoogleApis; + * const google = new GoogleApis(); + * + * @class GoogleApis + * @param {Object} [options] Configuration options. + */ + constructor(options) { + super(); + this._discovery = new googleapis_common_1.Discovery({ debug: false, includePrivate: false }); + this.auth = new AuthPlus(); + this._options = {}; + this.options(options); + } + /** + * Obtain a Map of supported APIs, along with included API versions. + */ + getSupportedAPIs() { + const apiMap = {}; + Object.keys(apis.APIS).forEach(a => { + apiMap[a] = Object.keys(apis.APIS[a]); + }); + return apiMap; + } + /** + * Set options. + * + * @param {Object} [options] Configuration options. + */ + options(options) { + this._options = options || {}; + } + /** + * Add APIs endpoints to googleapis object + * E.g. googleapis.drive and googleapis.datastore + * + * @name GoogleApis#addAPIs + * @method + * @param {Object} apis Apis to be added to this GoogleApis instance. + * @private + */ + addAPIs(apisToAdd) { + for (const apiName in apisToAdd) { + if (apisToAdd.hasOwnProperty(apiName)) { + // tslint:disable-next-line: no-any + this[apiName] = apisToAdd[apiName].bind(this); + } + } + } + discover(url, callback) { + if (callback) { + this.discoverAsync(url).then(() => callback()).catch(callback); + } + else { + return this.discoverAsync(url); + } + } + discoverAsync(url) { + return __awaiter(this, void 0, void 0, function* () { + const allApis = yield this._discovery.discoverAllAPIs(url); + this.addAPIs(allApis); + }); + } + /** + * Dynamically generate an Endpoint object from a discovery doc. + * + * @param path Url or file path to discover doc for a single API. + * @param Options to configure the Endpoint object generated from the + * discovery doc. + * @returns A promise that resolves with the configured endpoint. + */ + discoverAPI(apiPath, options = {}) { + return __awaiter(this, void 0, void 0, function* () { + const endpointCreator = yield this._discovery.discoverAPI(apiPath); + const ep = endpointCreator(options, this); + ep.google = this; // for drive.google.transporter + return Object.freeze(ep); + }); + } +} +exports.GoogleApis = GoogleApis; +//# sourceMappingURL=googleapis.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/googleapis.js.map b/express-server/node_modules/googleapis/build/src/googleapis.js.map new file mode 100644 index 00000000..4fcf16dc --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/googleapis.js.map @@ -0,0 +1 @@ +{"version":3,"file":"googleapis.js","sourceRoot":"","sources":["../../src/googleapis.ts"],"names":[],"mappings":";AAAA,oCAAoC;AACpC,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;;;;;;;;;AAEjC,6DAA2E;AAC3E,yDAAkF;AAElF,+BAA+B;AAE/B,MAAa,QAAS,SAAQ,gCAAU;IAAxC;;QACE,0CAA0C;QAC1C,QAAG,GAAG,yBAAG,CAAC;QACV,0CAA0C;QAC1C,YAAO,GAAG,6BAAO,CAAC;QAClB,0CAA0C;QAC1C,WAAM,GAAG,kCAAY,CAAC;IACxB,CAAC;CAAA;AAPD,4BAOC;AAED,MAAa,UAAW,SAAQ,IAAI,CAAC,aAAa;IAMhD;;;;;;;;;OASG;IACH,YAAY,OAAuB;QACjC,KAAK,EAAE,CAAC;QAhBF,eAAU,GAAG,IAAI,6BAAS,CAAC,EAAC,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAC,CAAC,CAAC;QAC1E,SAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;QACtB,aAAQ,GAAkB,EAAE,CAAC;QAe3B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,MAAM,MAAM,GAAG,EAAiC,CAAC;QACjD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACjC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,OAAuB;QAC7B,IAAI,CAAC,QAAQ,GAAG,OAAO,IAAI,EAAE,CAAC;IAChC,CAAC;IAED;;;;;;;;OAQG;IACK,OAAO,CAAC,SAA6B;QAC3C,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE;YAC/B,IAAI,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;gBACrC,mCAAmC;gBACnC,IAAI,CAAC,OAAO,CAAC,GAAI,SAAiB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACxD;SACF;IACH,CAAC;IAsBD,QAAQ,CAAC,GAAW,EAAE,QAAgC;QACpD,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;SAChE;aAAM;YACL,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;SAChC;IACH,CAAC;IAEa,aAAa,CAAC,GAAW;;YACrC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YAC3D,IAAI,CAAC,OAAO,CAAC,OAA6B,CAAC,CAAC;QAC9C,CAAC;KAAA;IAED;;;;;;;OAOG;IACG,WAAW,CAAC,OAAe,EAAE,UAAc,EAAE;;YAEjD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACnE,MAAM,EAAE,GAAG,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC1C,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,CAAE,+BAA+B;YAClD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC3B,CAAC;KAAA;CACF;AA3GD,gCA2GC"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/index.d.ts b/express-server/node_modules/googleapis/build/src/index.d.ts new file mode 100644 index 00000000..9700bd32 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/index.d.ts @@ -0,0 +1,226 @@ +/** + * Copyright 2017 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. + */ +/*! THIS FILE IS AUTO-GENERATED */ +import { GoogleApis } from './googleapis'; +declare const google: GoogleApis; +export { google, GoogleApis }; +export { abusiveexperiencereport_v1 } from './apis/abusiveexperiencereport/v1'; +export { acceleratedmobilepageurl_v1 } from './apis/acceleratedmobilepageurl/v1'; +export { adexchangebuyer_v1_2 } from './apis/adexchangebuyer/v1.2'; +export { adexchangebuyer_v1_3 } from './apis/adexchangebuyer/v1.3'; +export { adexchangebuyer_v1_4 } from './apis/adexchangebuyer/v1.4'; +export { adexchangebuyer2_v2beta1 } from './apis/adexchangebuyer2/v2beta1'; +export { adexperiencereport_v1 } from './apis/adexperiencereport/v1'; +export { admin_datatransfer_v1 } from './apis/admin/datatransfer_v1'; +export { admin_directory_v1 } from './apis/admin/directory_v1'; +export { admin_reports_v1 } from './apis/admin/reports_v1'; +export { adsense_v1_4 } from './apis/adsense/v1.4'; +export { adsensehost_v4_1 } from './apis/adsensehost/v4.1'; +export { analytics_v2_4 } from './apis/analytics/v2.4'; +export { analytics_v3 } from './apis/analytics/v3'; +export { analyticsreporting_v4 } from './apis/analyticsreporting/v4'; +export { androiddeviceprovisioning_v1 } from './apis/androiddeviceprovisioning/v1'; +export { androidenterprise_v1 } from './apis/androidenterprise/v1'; +export { androidmanagement_v1 } from './apis/androidmanagement/v1'; +export { androidpublisher_v1_1 } from './apis/androidpublisher/v1.1'; +export { androidpublisher_v1 } from './apis/androidpublisher/v1'; +export { androidpublisher_v2 } from './apis/androidpublisher/v2'; +export { androidpublisher_v3 } from './apis/androidpublisher/v3'; +export { appengine_v1 } from './apis/appengine/v1'; +export { appengine_v1alpha } from './apis/appengine/v1alpha'; +export { appengine_v1beta } from './apis/appengine/v1beta'; +export { appengine_v1beta4 } from './apis/appengine/v1beta4'; +export { appengine_v1beta5 } from './apis/appengine/v1beta5'; +export { appsactivity_v1 } from './apis/appsactivity/v1'; +export { appstate_v1 } from './apis/appstate/v1'; +export { bigquery_v2 } from './apis/bigquery/v2'; +export { bigquerydatatransfer_v1 } from './apis/bigquerydatatransfer/v1'; +export { binaryauthorization_v1beta1 } from './apis/binaryauthorization/v1beta1'; +export { blogger_v2 } from './apis/blogger/v2'; +export { blogger_v3 } from './apis/blogger/v3'; +export { books_v1 } from './apis/books/v1'; +export { calendar_v3 } from './apis/calendar/v3'; +export { chat_v1 } from './apis/chat/v1'; +export { civicinfo_v2 } from './apis/civicinfo/v2'; +export { classroom_v1 } from './apis/classroom/v1'; +export { cloudbilling_v1 } from './apis/cloudbilling/v1'; +export { cloudbuild_v1 } from './apis/cloudbuild/v1'; +export { clouddebugger_v2 } from './apis/clouddebugger/v2'; +export { clouderrorreporting_v1beta1 } from './apis/clouderrorreporting/v1beta1'; +export { cloudfunctions_v1 } from './apis/cloudfunctions/v1'; +export { cloudfunctions_v1beta2 } from './apis/cloudfunctions/v1beta2'; +export { cloudiot_v1 } from './apis/cloudiot/v1'; +export { cloudkms_v1 } from './apis/cloudkms/v1'; +export { cloudprofiler_v2 } from './apis/cloudprofiler/v2'; +export { cloudresourcemanager_v1 } from './apis/cloudresourcemanager/v1'; +export { cloudresourcemanager_v1beta1 } from './apis/cloudresourcemanager/v1beta1'; +export { cloudresourcemanager_v2 } from './apis/cloudresourcemanager/v2'; +export { cloudresourcemanager_v2beta1 } from './apis/cloudresourcemanager/v2beta1'; +export { cloudshell_v1 } from './apis/cloudshell/v1'; +export { cloudshell_v1alpha1 } from './apis/cloudshell/v1alpha1'; +export { cloudtasks_v2beta2 } from './apis/cloudtasks/v2beta2'; +export { cloudtasks_v2beta3 } from './apis/cloudtasks/v2beta3'; +export { cloudtrace_v1 } from './apis/cloudtrace/v1'; +export { cloudtrace_v2 } from './apis/cloudtrace/v2'; +export { composer_v1 } from './apis/composer/v1'; +export { composer_v1beta1 } from './apis/composer/v1beta1'; +export { compute_alpha } from './apis/compute/alpha'; +export { compute_beta } from './apis/compute/beta'; +export { compute_v1 } from './apis/compute/v1'; +export { container_v1 } from './apis/container/v1'; +export { container_v1beta1 } from './apis/container/v1beta1'; +export { content_v2 } from './apis/content/v2'; +export { content_v2sandbox } from './apis/content/v2sandbox'; +export { customsearch_v1 } from './apis/customsearch/v1'; +export { dataflow_v1b3 } from './apis/dataflow/v1b3'; +export { dataproc_v1 } from './apis/dataproc/v1'; +export { dataproc_v1beta2 } from './apis/dataproc/v1beta2'; +export { datastore_v1 } from './apis/datastore/v1'; +export { datastore_v1beta1 } from './apis/datastore/v1beta1'; +export { datastore_v1beta3 } from './apis/datastore/v1beta3'; +export { deploymentmanager_alpha } from './apis/deploymentmanager/alpha'; +export { deploymentmanager_v2 } from './apis/deploymentmanager/v2'; +export { deploymentmanager_v2beta } from './apis/deploymentmanager/v2beta'; +export { dfareporting_v2_8 } from './apis/dfareporting/v2.8'; +export { dfareporting_v3_0 } from './apis/dfareporting/v3.0'; +export { dfareporting_v3_1 } from './apis/dfareporting/v3.1'; +export { dfareporting_v3_2 } from './apis/dfareporting/v3.2'; +export { dialogflow_v2 } from './apis/dialogflow/v2'; +export { dialogflow_v2beta1 } from './apis/dialogflow/v2beta1'; +export { digitalassetlinks_v1 } from './apis/digitalassetlinks/v1'; +export { discovery_v1 } from './apis/discovery/v1'; +export { dlp_v2 } from './apis/dlp/v2'; +export { dns_v1 } from './apis/dns/v1'; +export { dns_v1beta2 } from './apis/dns/v1beta2'; +export { dns_v2beta1 } from './apis/dns/v2beta1'; +export { doubleclickbidmanager_v1 } from './apis/doubleclickbidmanager/v1'; +export { doubleclicksearch_v2 } from './apis/doubleclicksearch/v2'; +export { drive_v2 } from './apis/drive/v2'; +export { drive_v3 } from './apis/drive/v3'; +export { file_v1beta1 } from './apis/file/v1beta1'; +export { firebasedynamiclinks_v1 } from './apis/firebasedynamiclinks/v1'; +export { firebaserules_v1 } from './apis/firebaserules/v1'; +export { firestore_v1 } from './apis/firestore/v1'; +export { firestore_v1beta1 } from './apis/firestore/v1beta1'; +export { firestore_v1beta2 } from './apis/firestore/v1beta2'; +export { fitness_v1 } from './apis/fitness/v1'; +export { fusiontables_v1 } from './apis/fusiontables/v1'; +export { fusiontables_v2 } from './apis/fusiontables/v2'; +export { games_v1 } from './apis/games/v1'; +export { gamesConfiguration_v1configuration } from './apis/gamesConfiguration/v1configuration'; +export { gamesManagement_v1management } from './apis/gamesManagement/v1management'; +export { genomics_v1 } from './apis/genomics/v1'; +export { genomics_v1alpha2 } from './apis/genomics/v1alpha2'; +export { genomics_v2alpha1 } from './apis/genomics/v2alpha1'; +export { gmail_v1 } from './apis/gmail/v1'; +export { groupsmigration_v1 } from './apis/groupsmigration/v1'; +export { groupssettings_v1 } from './apis/groupssettings/v1'; +export { iam_v1 } from './apis/iam/v1'; +export { iamcredentials_v1 } from './apis/iamcredentials/v1'; +export { iap_v1beta1 } from './apis/iap/v1beta1'; +export { identitytoolkit_v3 } from './apis/identitytoolkit/v3'; +export { indexing_v3 } from './apis/indexing/v3'; +export { jobs_v2 } from './apis/jobs/v2'; +export { jobs_v3 } from './apis/jobs/v3'; +export { jobs_v3p1beta1 } from './apis/jobs/v3p1beta1'; +export { kgsearch_v1 } from './apis/kgsearch/v1'; +export { language_v1 } from './apis/language/v1'; +export { language_v1beta1 } from './apis/language/v1beta1'; +export { language_v1beta2 } from './apis/language/v1beta2'; +export { licensing_v1 } from './apis/licensing/v1'; +export { logging_v2 } from './apis/logging/v2'; +export { logging_v2beta1 } from './apis/logging/v2beta1'; +export { manufacturers_v1 } from './apis/manufacturers/v1'; +export { mirror_v1 } from './apis/mirror/v1'; +export { ml_v1 } from './apis/ml/v1'; +export { monitoring_v3 } from './apis/monitoring/v3'; +export { oauth2_v1 } from './apis/oauth2/v1'; +export { oauth2_v2 } from './apis/oauth2/v2'; +export { oslogin_v1 } from './apis/oslogin/v1'; +export { oslogin_v1alpha } from './apis/oslogin/v1alpha'; +export { oslogin_v1beta } from './apis/oslogin/v1beta'; +export { pagespeedonline_v1 } from './apis/pagespeedonline/v1'; +export { pagespeedonline_v2 } from './apis/pagespeedonline/v2'; +export { pagespeedonline_v4 } from './apis/pagespeedonline/v4'; +export { partners_v2 } from './apis/partners/v2'; +export { people_v1 } from './apis/people/v1'; +export { playcustomapp_v1 } from './apis/playcustomapp/v1'; +export { plus_v1 } from './apis/plus/v1'; +export { plusDomains_v1 } from './apis/plusDomains/v1'; +export { poly_v1 } from './apis/poly/v1'; +export { proximitybeacon_v1beta1 } from './apis/proximitybeacon/v1beta1'; +export { pubsub_v1 } from './apis/pubsub/v1'; +export { pubsub_v1beta1a } from './apis/pubsub/v1beta1a'; +export { pubsub_v1beta2 } from './apis/pubsub/v1beta2'; +export { redis_v1 } from './apis/redis/v1'; +export { redis_v1beta1 } from './apis/redis/v1beta1'; +export { replicapool_v1beta1 } from './apis/replicapool/v1beta1'; +export { replicapoolupdater_v1beta1 } from './apis/replicapoolupdater/v1beta1'; +export { reseller_v1 } from './apis/reseller/v1'; +export { runtimeconfig_v1 } from './apis/runtimeconfig/v1'; +export { runtimeconfig_v1beta1 } from './apis/runtimeconfig/v1beta1'; +export { safebrowsing_v4 } from './apis/safebrowsing/v4'; +export { script_v1 } from './apis/script/v1'; +export { searchconsole_v1 } from './apis/searchconsole/v1'; +export { servicebroker_v1 } from './apis/servicebroker/v1'; +export { servicebroker_v1alpha1 } from './apis/servicebroker/v1alpha1'; +export { servicebroker_v1beta1 } from './apis/servicebroker/v1beta1'; +export { serviceconsumermanagement_v1 } from './apis/serviceconsumermanagement/v1'; +export { servicecontrol_v1 } from './apis/servicecontrol/v1'; +export { servicemanagement_v1 } from './apis/servicemanagement/v1'; +export { serviceusage_v1 } from './apis/serviceusage/v1'; +export { serviceusage_v1beta1 } from './apis/serviceusage/v1beta1'; +export { serviceuser_v1 } from './apis/serviceuser/v1'; +export { sheets_v4 } from './apis/sheets/v4'; +export { siteVerification_v1 } from './apis/siteVerification/v1'; +export { slides_v1 } from './apis/slides/v1'; +export { sourcerepo_v1 } from './apis/sourcerepo/v1'; +export { spanner_v1 } from './apis/spanner/v1'; +export { speech_v1 } from './apis/speech/v1'; +export { speech_v1beta1 } from './apis/speech/v1beta1'; +export { sqladmin_v1beta4 } from './apis/sqladmin/v1beta4'; +export { storage_v1 } from './apis/storage/v1'; +export { storage_v1beta1 } from './apis/storage/v1beta1'; +export { storage_v1beta2 } from './apis/storage/v1beta2'; +export { storagetransfer_v1 } from './apis/storagetransfer/v1'; +export { streetviewpublish_v1 } from './apis/streetviewpublish/v1'; +export { surveys_v2 } from './apis/surveys/v2'; +export { tagmanager_v1 } from './apis/tagmanager/v1'; +export { tagmanager_v2 } from './apis/tagmanager/v2'; +export { tasks_v1 } from './apis/tasks/v1'; +export { testing_v1 } from './apis/testing/v1'; +export { texttospeech_v1 } from './apis/texttospeech/v1'; +export { texttospeech_v1beta1 } from './apis/texttospeech/v1beta1'; +export { toolresults_v1beta3 } from './apis/toolresults/v1beta3'; +export { tpu_v1 } from './apis/tpu/v1'; +export { tpu_v1alpha1 } from './apis/tpu/v1alpha1'; +export { translate_v2 } from './apis/translate/v2'; +export { urlshortener_v1 } from './apis/urlshortener/v1'; +export { vault_v1 } from './apis/vault/v1'; +export { videointelligence_v1 } from './apis/videointelligence/v1'; +export { videointelligence_v1beta2 } from './apis/videointelligence/v1beta2'; +export { videointelligence_v1p1beta1 } from './apis/videointelligence/v1p1beta1'; +export { vision_v1 } from './apis/vision/v1'; +export { vision_v1p1beta1 } from './apis/vision/v1p1beta1'; +export { vision_v1p2beta1 } from './apis/vision/v1p2beta1'; +export { webfonts_v1 } from './apis/webfonts/v1'; +export { webmasters_v3 } from './apis/webmasters/v3'; +export { websecurityscanner_v1alpha } from './apis/websecurityscanner/v1alpha'; +export { youtube_v3 } from './apis/youtube/v3'; +export { youtubeAnalytics_v1 } from './apis/youtubeAnalytics/v1'; +export { youtubeAnalytics_v1beta1 } from './apis/youtubeAnalytics/v1beta1'; +export { youtubeAnalytics_v2 } from './apis/youtubeAnalytics/v2'; +export { youtubereporting_v1 } from './apis/youtubereporting/v1'; diff --git a/express-server/node_modules/googleapis/build/src/index.js b/express-server/node_modules/googleapis/build/src/index.js new file mode 100644 index 00000000..6e040e3c --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/index.js @@ -0,0 +1,437 @@ +"use strict"; +/** + * Copyright 2017 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. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +/*! THIS FILE IS AUTO-GENERATED */ +const googleapis_1 = require("./googleapis"); +exports.GoogleApis = googleapis_1.GoogleApis; +const google = new googleapis_1.GoogleApis(); +exports.google = google; +var v1_1 = require("./apis/abusiveexperiencereport/v1"); +exports.abusiveexperiencereport_v1 = v1_1.abusiveexperiencereport_v1; +var v1_2 = require("./apis/acceleratedmobilepageurl/v1"); +exports.acceleratedmobilepageurl_v1 = v1_2.acceleratedmobilepageurl_v1; +var v1_2_1 = require("./apis/adexchangebuyer/v1.2"); +exports.adexchangebuyer_v1_2 = v1_2_1.adexchangebuyer_v1_2; +var v1_3_1 = require("./apis/adexchangebuyer/v1.3"); +exports.adexchangebuyer_v1_3 = v1_3_1.adexchangebuyer_v1_3; +var v1_4_1 = require("./apis/adexchangebuyer/v1.4"); +exports.adexchangebuyer_v1_4 = v1_4_1.adexchangebuyer_v1_4; +var v2beta1_1 = require("./apis/adexchangebuyer2/v2beta1"); +exports.adexchangebuyer2_v2beta1 = v2beta1_1.adexchangebuyer2_v2beta1; +var v1_3 = require("./apis/adexperiencereport/v1"); +exports.adexperiencereport_v1 = v1_3.adexperiencereport_v1; +var datatransfer_v1_1 = require("./apis/admin/datatransfer_v1"); +exports.admin_datatransfer_v1 = datatransfer_v1_1.admin_datatransfer_v1; +var directory_v1_1 = require("./apis/admin/directory_v1"); +exports.admin_directory_v1 = directory_v1_1.admin_directory_v1; +var reports_v1_1 = require("./apis/admin/reports_v1"); +exports.admin_reports_v1 = reports_v1_1.admin_reports_v1; +var v1_4_2 = require("./apis/adsense/v1.4"); +exports.adsense_v1_4 = v1_4_2.adsense_v1_4; +var v4_1_1 = require("./apis/adsensehost/v4.1"); +exports.adsensehost_v4_1 = v4_1_1.adsensehost_v4_1; +var v2_4_1 = require("./apis/analytics/v2.4"); +exports.analytics_v2_4 = v2_4_1.analytics_v2_4; +var v3_1 = require("./apis/analytics/v3"); +exports.analytics_v3 = v3_1.analytics_v3; +var v4_1 = require("./apis/analyticsreporting/v4"); +exports.analyticsreporting_v4 = v4_1.analyticsreporting_v4; +var v1_4 = require("./apis/androiddeviceprovisioning/v1"); +exports.androiddeviceprovisioning_v1 = v1_4.androiddeviceprovisioning_v1; +var v1_5 = require("./apis/androidenterprise/v1"); +exports.androidenterprise_v1 = v1_5.androidenterprise_v1; +var v1_6 = require("./apis/androidmanagement/v1"); +exports.androidmanagement_v1 = v1_6.androidmanagement_v1; +var v1_1_1 = require("./apis/androidpublisher/v1.1"); +exports.androidpublisher_v1_1 = v1_1_1.androidpublisher_v1_1; +var v1_7 = require("./apis/androidpublisher/v1"); +exports.androidpublisher_v1 = v1_7.androidpublisher_v1; +var v2_1 = require("./apis/androidpublisher/v2"); +exports.androidpublisher_v2 = v2_1.androidpublisher_v2; +var v3_2 = require("./apis/androidpublisher/v3"); +exports.androidpublisher_v3 = v3_2.androidpublisher_v3; +var v1_8 = require("./apis/appengine/v1"); +exports.appengine_v1 = v1_8.appengine_v1; +var v1alpha_1 = require("./apis/appengine/v1alpha"); +exports.appengine_v1alpha = v1alpha_1.appengine_v1alpha; +var v1beta_1 = require("./apis/appengine/v1beta"); +exports.appengine_v1beta = v1beta_1.appengine_v1beta; +var v1beta4_1 = require("./apis/appengine/v1beta4"); +exports.appengine_v1beta4 = v1beta4_1.appengine_v1beta4; +var v1beta5_1 = require("./apis/appengine/v1beta5"); +exports.appengine_v1beta5 = v1beta5_1.appengine_v1beta5; +var v1_9 = require("./apis/appsactivity/v1"); +exports.appsactivity_v1 = v1_9.appsactivity_v1; +var v1_10 = require("./apis/appstate/v1"); +exports.appstate_v1 = v1_10.appstate_v1; +var v2_2 = require("./apis/bigquery/v2"); +exports.bigquery_v2 = v2_2.bigquery_v2; +var v1_11 = require("./apis/bigquerydatatransfer/v1"); +exports.bigquerydatatransfer_v1 = v1_11.bigquerydatatransfer_v1; +var v1beta1_1 = require("./apis/binaryauthorization/v1beta1"); +exports.binaryauthorization_v1beta1 = v1beta1_1.binaryauthorization_v1beta1; +var v2_3 = require("./apis/blogger/v2"); +exports.blogger_v2 = v2_3.blogger_v2; +var v3_3 = require("./apis/blogger/v3"); +exports.blogger_v3 = v3_3.blogger_v3; +var v1_12 = require("./apis/books/v1"); +exports.books_v1 = v1_12.books_v1; +var v3_4 = require("./apis/calendar/v3"); +exports.calendar_v3 = v3_4.calendar_v3; +var v1_13 = require("./apis/chat/v1"); +exports.chat_v1 = v1_13.chat_v1; +var v2_4 = require("./apis/civicinfo/v2"); +exports.civicinfo_v2 = v2_4.civicinfo_v2; +var v1_14 = require("./apis/classroom/v1"); +exports.classroom_v1 = v1_14.classroom_v1; +var v1_15 = require("./apis/cloudbilling/v1"); +exports.cloudbilling_v1 = v1_15.cloudbilling_v1; +var v1_16 = require("./apis/cloudbuild/v1"); +exports.cloudbuild_v1 = v1_16.cloudbuild_v1; +var v2_5 = require("./apis/clouddebugger/v2"); +exports.clouddebugger_v2 = v2_5.clouddebugger_v2; +var v1beta1_2 = require("./apis/clouderrorreporting/v1beta1"); +exports.clouderrorreporting_v1beta1 = v1beta1_2.clouderrorreporting_v1beta1; +var v1_17 = require("./apis/cloudfunctions/v1"); +exports.cloudfunctions_v1 = v1_17.cloudfunctions_v1; +var v1beta2_1 = require("./apis/cloudfunctions/v1beta2"); +exports.cloudfunctions_v1beta2 = v1beta2_1.cloudfunctions_v1beta2; +var v1_18 = require("./apis/cloudiot/v1"); +exports.cloudiot_v1 = v1_18.cloudiot_v1; +var v1_19 = require("./apis/cloudkms/v1"); +exports.cloudkms_v1 = v1_19.cloudkms_v1; +var v2_6 = require("./apis/cloudprofiler/v2"); +exports.cloudprofiler_v2 = v2_6.cloudprofiler_v2; +var v1_20 = require("./apis/cloudresourcemanager/v1"); +exports.cloudresourcemanager_v1 = v1_20.cloudresourcemanager_v1; +var v1beta1_3 = require("./apis/cloudresourcemanager/v1beta1"); +exports.cloudresourcemanager_v1beta1 = v1beta1_3.cloudresourcemanager_v1beta1; +var v2_7 = require("./apis/cloudresourcemanager/v2"); +exports.cloudresourcemanager_v2 = v2_7.cloudresourcemanager_v2; +var v2beta1_2 = require("./apis/cloudresourcemanager/v2beta1"); +exports.cloudresourcemanager_v2beta1 = v2beta1_2.cloudresourcemanager_v2beta1; +var v1_21 = require("./apis/cloudshell/v1"); +exports.cloudshell_v1 = v1_21.cloudshell_v1; +var v1alpha1_1 = require("./apis/cloudshell/v1alpha1"); +exports.cloudshell_v1alpha1 = v1alpha1_1.cloudshell_v1alpha1; +var v2beta2_1 = require("./apis/cloudtasks/v2beta2"); +exports.cloudtasks_v2beta2 = v2beta2_1.cloudtasks_v2beta2; +var v2beta3_1 = require("./apis/cloudtasks/v2beta3"); +exports.cloudtasks_v2beta3 = v2beta3_1.cloudtasks_v2beta3; +var v1_22 = require("./apis/cloudtrace/v1"); +exports.cloudtrace_v1 = v1_22.cloudtrace_v1; +var v2_8 = require("./apis/cloudtrace/v2"); +exports.cloudtrace_v2 = v2_8.cloudtrace_v2; +var v1_23 = require("./apis/composer/v1"); +exports.composer_v1 = v1_23.composer_v1; +var v1beta1_4 = require("./apis/composer/v1beta1"); +exports.composer_v1beta1 = v1beta1_4.composer_v1beta1; +var alpha_1 = require("./apis/compute/alpha"); +exports.compute_alpha = alpha_1.compute_alpha; +var beta_1 = require("./apis/compute/beta"); +exports.compute_beta = beta_1.compute_beta; +var v1_24 = require("./apis/compute/v1"); +exports.compute_v1 = v1_24.compute_v1; +var v1_25 = require("./apis/container/v1"); +exports.container_v1 = v1_25.container_v1; +var v1beta1_5 = require("./apis/container/v1beta1"); +exports.container_v1beta1 = v1beta1_5.container_v1beta1; +var v2_9 = require("./apis/content/v2"); +exports.content_v2 = v2_9.content_v2; +var v2sandbox_1 = require("./apis/content/v2sandbox"); +exports.content_v2sandbox = v2sandbox_1.content_v2sandbox; +var v1_26 = require("./apis/customsearch/v1"); +exports.customsearch_v1 = v1_26.customsearch_v1; +var v1b3_1 = require("./apis/dataflow/v1b3"); +exports.dataflow_v1b3 = v1b3_1.dataflow_v1b3; +var v1_27 = require("./apis/dataproc/v1"); +exports.dataproc_v1 = v1_27.dataproc_v1; +var v1beta2_2 = require("./apis/dataproc/v1beta2"); +exports.dataproc_v1beta2 = v1beta2_2.dataproc_v1beta2; +var v1_28 = require("./apis/datastore/v1"); +exports.datastore_v1 = v1_28.datastore_v1; +var v1beta1_6 = require("./apis/datastore/v1beta1"); +exports.datastore_v1beta1 = v1beta1_6.datastore_v1beta1; +var v1beta3_1 = require("./apis/datastore/v1beta3"); +exports.datastore_v1beta3 = v1beta3_1.datastore_v1beta3; +var alpha_2 = require("./apis/deploymentmanager/alpha"); +exports.deploymentmanager_alpha = alpha_2.deploymentmanager_alpha; +var v2_10 = require("./apis/deploymentmanager/v2"); +exports.deploymentmanager_v2 = v2_10.deploymentmanager_v2; +var v2beta_1 = require("./apis/deploymentmanager/v2beta"); +exports.deploymentmanager_v2beta = v2beta_1.deploymentmanager_v2beta; +var v2_8_1 = require("./apis/dfareporting/v2.8"); +exports.dfareporting_v2_8 = v2_8_1.dfareporting_v2_8; +var v3_0_1 = require("./apis/dfareporting/v3.0"); +exports.dfareporting_v3_0 = v3_0_1.dfareporting_v3_0; +var v3_1_1 = require("./apis/dfareporting/v3.1"); +exports.dfareporting_v3_1 = v3_1_1.dfareporting_v3_1; +var v3_2_1 = require("./apis/dfareporting/v3.2"); +exports.dfareporting_v3_2 = v3_2_1.dfareporting_v3_2; +var v2_11 = require("./apis/dialogflow/v2"); +exports.dialogflow_v2 = v2_11.dialogflow_v2; +var v2beta1_3 = require("./apis/dialogflow/v2beta1"); +exports.dialogflow_v2beta1 = v2beta1_3.dialogflow_v2beta1; +var v1_29 = require("./apis/digitalassetlinks/v1"); +exports.digitalassetlinks_v1 = v1_29.digitalassetlinks_v1; +var v1_30 = require("./apis/discovery/v1"); +exports.discovery_v1 = v1_30.discovery_v1; +var v2_12 = require("./apis/dlp/v2"); +exports.dlp_v2 = v2_12.dlp_v2; +var v1_31 = require("./apis/dns/v1"); +exports.dns_v1 = v1_31.dns_v1; +var v1beta2_3 = require("./apis/dns/v1beta2"); +exports.dns_v1beta2 = v1beta2_3.dns_v1beta2; +var v2beta1_4 = require("./apis/dns/v2beta1"); +exports.dns_v2beta1 = v2beta1_4.dns_v2beta1; +var v1_32 = require("./apis/doubleclickbidmanager/v1"); +exports.doubleclickbidmanager_v1 = v1_32.doubleclickbidmanager_v1; +var v2_13 = require("./apis/doubleclicksearch/v2"); +exports.doubleclicksearch_v2 = v2_13.doubleclicksearch_v2; +var v2_14 = require("./apis/drive/v2"); +exports.drive_v2 = v2_14.drive_v2; +var v3_5 = require("./apis/drive/v3"); +exports.drive_v3 = v3_5.drive_v3; +var v1beta1_7 = require("./apis/file/v1beta1"); +exports.file_v1beta1 = v1beta1_7.file_v1beta1; +var v1_33 = require("./apis/firebasedynamiclinks/v1"); +exports.firebasedynamiclinks_v1 = v1_33.firebasedynamiclinks_v1; +var v1_34 = require("./apis/firebaserules/v1"); +exports.firebaserules_v1 = v1_34.firebaserules_v1; +var v1_35 = require("./apis/firestore/v1"); +exports.firestore_v1 = v1_35.firestore_v1; +var v1beta1_8 = require("./apis/firestore/v1beta1"); +exports.firestore_v1beta1 = v1beta1_8.firestore_v1beta1; +var v1beta2_4 = require("./apis/firestore/v1beta2"); +exports.firestore_v1beta2 = v1beta2_4.firestore_v1beta2; +var v1_36 = require("./apis/fitness/v1"); +exports.fitness_v1 = v1_36.fitness_v1; +var v1_37 = require("./apis/fusiontables/v1"); +exports.fusiontables_v1 = v1_37.fusiontables_v1; +var v2_15 = require("./apis/fusiontables/v2"); +exports.fusiontables_v2 = v2_15.fusiontables_v2; +var v1_38 = require("./apis/games/v1"); +exports.games_v1 = v1_38.games_v1; +var v1configuration_1 = require("./apis/gamesConfiguration/v1configuration"); +exports.gamesConfiguration_v1configuration = v1configuration_1.gamesConfiguration_v1configuration; +var v1management_1 = require("./apis/gamesManagement/v1management"); +exports.gamesManagement_v1management = v1management_1.gamesManagement_v1management; +var v1_39 = require("./apis/genomics/v1"); +exports.genomics_v1 = v1_39.genomics_v1; +var v1alpha2_1 = require("./apis/genomics/v1alpha2"); +exports.genomics_v1alpha2 = v1alpha2_1.genomics_v1alpha2; +var v2alpha1_1 = require("./apis/genomics/v2alpha1"); +exports.genomics_v2alpha1 = v2alpha1_1.genomics_v2alpha1; +var v1_40 = require("./apis/gmail/v1"); +exports.gmail_v1 = v1_40.gmail_v1; +var v1_41 = require("./apis/groupsmigration/v1"); +exports.groupsmigration_v1 = v1_41.groupsmigration_v1; +var v1_42 = require("./apis/groupssettings/v1"); +exports.groupssettings_v1 = v1_42.groupssettings_v1; +var v1_43 = require("./apis/iam/v1"); +exports.iam_v1 = v1_43.iam_v1; +var v1_44 = require("./apis/iamcredentials/v1"); +exports.iamcredentials_v1 = v1_44.iamcredentials_v1; +var v1beta1_9 = require("./apis/iap/v1beta1"); +exports.iap_v1beta1 = v1beta1_9.iap_v1beta1; +var v3_6 = require("./apis/identitytoolkit/v3"); +exports.identitytoolkit_v3 = v3_6.identitytoolkit_v3; +var v3_7 = require("./apis/indexing/v3"); +exports.indexing_v3 = v3_7.indexing_v3; +var v2_16 = require("./apis/jobs/v2"); +exports.jobs_v2 = v2_16.jobs_v2; +var v3_8 = require("./apis/jobs/v3"); +exports.jobs_v3 = v3_8.jobs_v3; +var v3p1beta1_1 = require("./apis/jobs/v3p1beta1"); +exports.jobs_v3p1beta1 = v3p1beta1_1.jobs_v3p1beta1; +var v1_45 = require("./apis/kgsearch/v1"); +exports.kgsearch_v1 = v1_45.kgsearch_v1; +var v1_46 = require("./apis/language/v1"); +exports.language_v1 = v1_46.language_v1; +var v1beta1_10 = require("./apis/language/v1beta1"); +exports.language_v1beta1 = v1beta1_10.language_v1beta1; +var v1beta2_5 = require("./apis/language/v1beta2"); +exports.language_v1beta2 = v1beta2_5.language_v1beta2; +var v1_47 = require("./apis/licensing/v1"); +exports.licensing_v1 = v1_47.licensing_v1; +var v2_17 = require("./apis/logging/v2"); +exports.logging_v2 = v2_17.logging_v2; +var v2beta1_5 = require("./apis/logging/v2beta1"); +exports.logging_v2beta1 = v2beta1_5.logging_v2beta1; +var v1_48 = require("./apis/manufacturers/v1"); +exports.manufacturers_v1 = v1_48.manufacturers_v1; +var v1_49 = require("./apis/mirror/v1"); +exports.mirror_v1 = v1_49.mirror_v1; +var v1_50 = require("./apis/ml/v1"); +exports.ml_v1 = v1_50.ml_v1; +var v3_9 = require("./apis/monitoring/v3"); +exports.monitoring_v3 = v3_9.monitoring_v3; +var v1_51 = require("./apis/oauth2/v1"); +exports.oauth2_v1 = v1_51.oauth2_v1; +var v2_18 = require("./apis/oauth2/v2"); +exports.oauth2_v2 = v2_18.oauth2_v2; +var v1_52 = require("./apis/oslogin/v1"); +exports.oslogin_v1 = v1_52.oslogin_v1; +var v1alpha_2 = require("./apis/oslogin/v1alpha"); +exports.oslogin_v1alpha = v1alpha_2.oslogin_v1alpha; +var v1beta_2 = require("./apis/oslogin/v1beta"); +exports.oslogin_v1beta = v1beta_2.oslogin_v1beta; +var v1_53 = require("./apis/pagespeedonline/v1"); +exports.pagespeedonline_v1 = v1_53.pagespeedonline_v1; +var v2_19 = require("./apis/pagespeedonline/v2"); +exports.pagespeedonline_v2 = v2_19.pagespeedonline_v2; +var v4_2 = require("./apis/pagespeedonline/v4"); +exports.pagespeedonline_v4 = v4_2.pagespeedonline_v4; +var v2_20 = require("./apis/partners/v2"); +exports.partners_v2 = v2_20.partners_v2; +var v1_54 = require("./apis/people/v1"); +exports.people_v1 = v1_54.people_v1; +var v1_55 = require("./apis/playcustomapp/v1"); +exports.playcustomapp_v1 = v1_55.playcustomapp_v1; +var v1_56 = require("./apis/plus/v1"); +exports.plus_v1 = v1_56.plus_v1; +var v1_57 = require("./apis/plusDomains/v1"); +exports.plusDomains_v1 = v1_57.plusDomains_v1; +var v1_58 = require("./apis/poly/v1"); +exports.poly_v1 = v1_58.poly_v1; +var v1beta1_11 = require("./apis/proximitybeacon/v1beta1"); +exports.proximitybeacon_v1beta1 = v1beta1_11.proximitybeacon_v1beta1; +var v1_59 = require("./apis/pubsub/v1"); +exports.pubsub_v1 = v1_59.pubsub_v1; +var v1beta1a_1 = require("./apis/pubsub/v1beta1a"); +exports.pubsub_v1beta1a = v1beta1a_1.pubsub_v1beta1a; +var v1beta2_6 = require("./apis/pubsub/v1beta2"); +exports.pubsub_v1beta2 = v1beta2_6.pubsub_v1beta2; +var v1_60 = require("./apis/redis/v1"); +exports.redis_v1 = v1_60.redis_v1; +var v1beta1_12 = require("./apis/redis/v1beta1"); +exports.redis_v1beta1 = v1beta1_12.redis_v1beta1; +var v1beta1_13 = require("./apis/replicapool/v1beta1"); +exports.replicapool_v1beta1 = v1beta1_13.replicapool_v1beta1; +var v1beta1_14 = require("./apis/replicapoolupdater/v1beta1"); +exports.replicapoolupdater_v1beta1 = v1beta1_14.replicapoolupdater_v1beta1; +var v1_61 = require("./apis/reseller/v1"); +exports.reseller_v1 = v1_61.reseller_v1; +var v1_62 = require("./apis/runtimeconfig/v1"); +exports.runtimeconfig_v1 = v1_62.runtimeconfig_v1; +var v1beta1_15 = require("./apis/runtimeconfig/v1beta1"); +exports.runtimeconfig_v1beta1 = v1beta1_15.runtimeconfig_v1beta1; +var v4_3 = require("./apis/safebrowsing/v4"); +exports.safebrowsing_v4 = v4_3.safebrowsing_v4; +var v1_63 = require("./apis/script/v1"); +exports.script_v1 = v1_63.script_v1; +var v1_64 = require("./apis/searchconsole/v1"); +exports.searchconsole_v1 = v1_64.searchconsole_v1; +var v1_65 = require("./apis/servicebroker/v1"); +exports.servicebroker_v1 = v1_65.servicebroker_v1; +var v1alpha1_2 = require("./apis/servicebroker/v1alpha1"); +exports.servicebroker_v1alpha1 = v1alpha1_2.servicebroker_v1alpha1; +var v1beta1_16 = require("./apis/servicebroker/v1beta1"); +exports.servicebroker_v1beta1 = v1beta1_16.servicebroker_v1beta1; +var v1_66 = require("./apis/serviceconsumermanagement/v1"); +exports.serviceconsumermanagement_v1 = v1_66.serviceconsumermanagement_v1; +var v1_67 = require("./apis/servicecontrol/v1"); +exports.servicecontrol_v1 = v1_67.servicecontrol_v1; +var v1_68 = require("./apis/servicemanagement/v1"); +exports.servicemanagement_v1 = v1_68.servicemanagement_v1; +var v1_69 = require("./apis/serviceusage/v1"); +exports.serviceusage_v1 = v1_69.serviceusage_v1; +var v1beta1_17 = require("./apis/serviceusage/v1beta1"); +exports.serviceusage_v1beta1 = v1beta1_17.serviceusage_v1beta1; +var v1_70 = require("./apis/serviceuser/v1"); +exports.serviceuser_v1 = v1_70.serviceuser_v1; +var v4_4 = require("./apis/sheets/v4"); +exports.sheets_v4 = v4_4.sheets_v4; +var v1_71 = require("./apis/siteVerification/v1"); +exports.siteVerification_v1 = v1_71.siteVerification_v1; +var v1_72 = require("./apis/slides/v1"); +exports.slides_v1 = v1_72.slides_v1; +var v1_73 = require("./apis/sourcerepo/v1"); +exports.sourcerepo_v1 = v1_73.sourcerepo_v1; +var v1_74 = require("./apis/spanner/v1"); +exports.spanner_v1 = v1_74.spanner_v1; +var v1_75 = require("./apis/speech/v1"); +exports.speech_v1 = v1_75.speech_v1; +var v1beta1_18 = require("./apis/speech/v1beta1"); +exports.speech_v1beta1 = v1beta1_18.speech_v1beta1; +var v1beta4_2 = require("./apis/sqladmin/v1beta4"); +exports.sqladmin_v1beta4 = v1beta4_2.sqladmin_v1beta4; +var v1_76 = require("./apis/storage/v1"); +exports.storage_v1 = v1_76.storage_v1; +var v1beta1_19 = require("./apis/storage/v1beta1"); +exports.storage_v1beta1 = v1beta1_19.storage_v1beta1; +var v1beta2_7 = require("./apis/storage/v1beta2"); +exports.storage_v1beta2 = v1beta2_7.storage_v1beta2; +var v1_77 = require("./apis/storagetransfer/v1"); +exports.storagetransfer_v1 = v1_77.storagetransfer_v1; +var v1_78 = require("./apis/streetviewpublish/v1"); +exports.streetviewpublish_v1 = v1_78.streetviewpublish_v1; +var v2_21 = require("./apis/surveys/v2"); +exports.surveys_v2 = v2_21.surveys_v2; +var v1_79 = require("./apis/tagmanager/v1"); +exports.tagmanager_v1 = v1_79.tagmanager_v1; +var v2_22 = require("./apis/tagmanager/v2"); +exports.tagmanager_v2 = v2_22.tagmanager_v2; +var v1_80 = require("./apis/tasks/v1"); +exports.tasks_v1 = v1_80.tasks_v1; +var v1_81 = require("./apis/testing/v1"); +exports.testing_v1 = v1_81.testing_v1; +var v1_82 = require("./apis/texttospeech/v1"); +exports.texttospeech_v1 = v1_82.texttospeech_v1; +var v1beta1_20 = require("./apis/texttospeech/v1beta1"); +exports.texttospeech_v1beta1 = v1beta1_20.texttospeech_v1beta1; +var v1beta3_2 = require("./apis/toolresults/v1beta3"); +exports.toolresults_v1beta3 = v1beta3_2.toolresults_v1beta3; +var v1_83 = require("./apis/tpu/v1"); +exports.tpu_v1 = v1_83.tpu_v1; +var v1alpha1_3 = require("./apis/tpu/v1alpha1"); +exports.tpu_v1alpha1 = v1alpha1_3.tpu_v1alpha1; +var v2_23 = require("./apis/translate/v2"); +exports.translate_v2 = v2_23.translate_v2; +var v1_84 = require("./apis/urlshortener/v1"); +exports.urlshortener_v1 = v1_84.urlshortener_v1; +var v1_85 = require("./apis/vault/v1"); +exports.vault_v1 = v1_85.vault_v1; +var v1_86 = require("./apis/videointelligence/v1"); +exports.videointelligence_v1 = v1_86.videointelligence_v1; +var v1beta2_8 = require("./apis/videointelligence/v1beta2"); +exports.videointelligence_v1beta2 = v1beta2_8.videointelligence_v1beta2; +var v1p1beta1_1 = require("./apis/videointelligence/v1p1beta1"); +exports.videointelligence_v1p1beta1 = v1p1beta1_1.videointelligence_v1p1beta1; +var v1_87 = require("./apis/vision/v1"); +exports.vision_v1 = v1_87.vision_v1; +var v1p1beta1_2 = require("./apis/vision/v1p1beta1"); +exports.vision_v1p1beta1 = v1p1beta1_2.vision_v1p1beta1; +var v1p2beta1_1 = require("./apis/vision/v1p2beta1"); +exports.vision_v1p2beta1 = v1p2beta1_1.vision_v1p2beta1; +var v1_88 = require("./apis/webfonts/v1"); +exports.webfonts_v1 = v1_88.webfonts_v1; +var v3_10 = require("./apis/webmasters/v3"); +exports.webmasters_v3 = v3_10.webmasters_v3; +var v1alpha_3 = require("./apis/websecurityscanner/v1alpha"); +exports.websecurityscanner_v1alpha = v1alpha_3.websecurityscanner_v1alpha; +var v3_11 = require("./apis/youtube/v3"); +exports.youtube_v3 = v3_11.youtube_v3; +var v1_89 = require("./apis/youtubeAnalytics/v1"); +exports.youtubeAnalytics_v1 = v1_89.youtubeAnalytics_v1; +var v1beta1_21 = require("./apis/youtubeAnalytics/v1beta1"); +exports.youtubeAnalytics_v1beta1 = v1beta1_21.youtubeAnalytics_v1beta1; +var v2_24 = require("./apis/youtubeAnalytics/v2"); +exports.youtubeAnalytics_v2 = v2_24.youtubeAnalytics_v2; +var v1_90 = require("./apis/youtubereporting/v1"); +exports.youtubereporting_v1 = v1_90.youtubereporting_v1; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/googleapis/build/src/index.js.map b/express-server/node_modules/googleapis/build/src/index.js.map new file mode 100644 index 00000000..9e247a02 --- /dev/null +++ b/express-server/node_modules/googleapis/build/src/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAEH,kCAAkC;AAElC,6CAAwC;AAExB,qBAFR,uBAAU,CAEQ;AAD1B,MAAM,MAAM,GAAG,IAAI,uBAAU,EAAE,CAAC;AACxB,wBAAM;AAEd,wDAA6E;AAArE,0CAAA,0BAA0B,CAAA;AAClC,yDAA+E;AAAvE,2CAAA,2BAA2B,CAAA;AACnC,oDAAiE;AAAzD,sCAAA,oBAAoB,CAAA;AAC5B,oDAAiE;AAAzD,sCAAA,oBAAoB,CAAA;AAC5B,oDAAiE;AAAzD,sCAAA,oBAAoB,CAAA;AAC5B,2DAAyE;AAAjE,6CAAA,wBAAwB,CAAA;AAChC,mDAAmE;AAA3D,qCAAA,qBAAqB,CAAA;AAC7B,gEAAmE;AAA3D,kDAAA,qBAAqB,CAAA;AAC7B,0DAA6D;AAArD,4CAAA,kBAAkB,CAAA;AAC1B,sDAAyD;AAAjD,wCAAA,gBAAgB,CAAA;AACxB,4CAAiD;AAAzC,8BAAA,YAAY,CAAA;AACpB,gDAAyD;AAAjD,kCAAA,gBAAgB,CAAA;AACxB,8CAAqD;AAA7C,gCAAA,cAAc,CAAA;AACtB,0CAAiD;AAAzC,4BAAA,YAAY,CAAA;AACpB,mDAAmE;AAA3D,qCAAA,qBAAqB,CAAA;AAC7B,0DAAiF;AAAzE,4CAAA,4BAA4B,CAAA;AACpC,kDAAiE;AAAzD,oCAAA,oBAAoB,CAAA;AAC5B,kDAAiE;AAAzD,oCAAA,oBAAoB,CAAA;AAC5B,qDAAmE;AAA3D,uCAAA,qBAAqB,CAAA;AAC7B,iDAA+D;AAAvD,mCAAA,mBAAmB,CAAA;AAC3B,iDAA+D;AAAvD,mCAAA,mBAAmB,CAAA;AAC3B,iDAA+D;AAAvD,mCAAA,mBAAmB,CAAA;AAC3B,0CAAiD;AAAzC,4BAAA,YAAY,CAAA;AACpB,oDAA2D;AAAnD,sCAAA,iBAAiB,CAAA;AACzB,kDAAyD;AAAjD,oCAAA,gBAAgB,CAAA;AACxB,oDAA2D;AAAnD,sCAAA,iBAAiB,CAAA;AACzB,oDAA2D;AAAnD,sCAAA,iBAAiB,CAAA;AACzB,6CAAuD;AAA/C,+BAAA,eAAe,CAAA;AACvB,0CAA+C;AAAvC,4BAAA,WAAW,CAAA;AACnB,yCAA+C;AAAvC,2BAAA,WAAW,CAAA;AACnB,sDAAuE;AAA/D,wCAAA,uBAAuB,CAAA;AAC/B,8DAA+E;AAAvE,gDAAA,2BAA2B,CAAA;AACnC,wCAA6C;AAArC,0BAAA,UAAU,CAAA;AAClB,wCAA6C;AAArC,0BAAA,UAAU,CAAA;AAClB,uCAAyC;AAAjC,yBAAA,QAAQ,CAAA;AAChB,yCAA+C;AAAvC,2BAAA,WAAW,CAAA;AACnB,sCAAuC;AAA/B,wBAAA,OAAO,CAAA;AACf,0CAAiD;AAAzC,4BAAA,YAAY,CAAA;AACpB,2CAAiD;AAAzC,6BAAA,YAAY,CAAA;AACpB,8CAAuD;AAA/C,gCAAA,eAAe,CAAA;AACvB,4CAAmD;AAA3C,8BAAA,aAAa,CAAA;AACrB,8CAAyD;AAAjD,gCAAA,gBAAgB,CAAA;AACxB,8DAA+E;AAAvE,gDAAA,2BAA2B,CAAA;AACnC,gDAA2D;AAAnD,kCAAA,iBAAiB,CAAA;AACzB,yDAAqE;AAA7D,2CAAA,sBAAsB,CAAA;AAC9B,0CAA+C;AAAvC,4BAAA,WAAW,CAAA;AACnB,0CAA+C;AAAvC,4BAAA,WAAW,CAAA;AACnB,8CAAyD;AAAjD,gCAAA,gBAAgB,CAAA;AACxB,sDAAuE;AAA/D,wCAAA,uBAAuB,CAAA;AAC/B,+DAAiF;AAAzE,iDAAA,4BAA4B,CAAA;AACpC,qDAAuE;AAA/D,uCAAA,uBAAuB,CAAA;AAC/B,+DAAiF;AAAzE,iDAAA,4BAA4B,CAAA;AACpC,4CAAmD;AAA3C,8BAAA,aAAa,CAAA;AACrB,uDAA+D;AAAvD,yCAAA,mBAAmB,CAAA;AAC3B,qDAA6D;AAArD,uCAAA,kBAAkB,CAAA;AAC1B,qDAA6D;AAArD,uCAAA,kBAAkB,CAAA;AAC1B,4CAAmD;AAA3C,8BAAA,aAAa,CAAA;AACrB,2CAAmD;AAA3C,6BAAA,aAAa,CAAA;AACrB,0CAA+C;AAAvC,4BAAA,WAAW,CAAA;AACnB,mDAAyD;AAAjD,qCAAA,gBAAgB,CAAA;AACxB,8CAAmD;AAA3C,gCAAA,aAAa,CAAA;AACrB,4CAAiD;AAAzC,8BAAA,YAAY,CAAA;AACpB,yCAA6C;AAArC,2BAAA,UAAU,CAAA;AAClB,2CAAiD;AAAzC,6BAAA,YAAY,CAAA;AACpB,oDAA2D;AAAnD,sCAAA,iBAAiB,CAAA;AACzB,wCAA6C;AAArC,0BAAA,UAAU,CAAA;AAClB,sDAA2D;AAAnD,wCAAA,iBAAiB,CAAA;AACzB,8CAAuD;AAA/C,gCAAA,eAAe,CAAA;AACvB,6CAAmD;AAA3C,+BAAA,aAAa,CAAA;AACrB,0CAA+C;AAAvC,4BAAA,WAAW,CAAA;AACnB,mDAAyD;AAAjD,qCAAA,gBAAgB,CAAA;AACxB,2CAAiD;AAAzC,6BAAA,YAAY,CAAA;AACpB,oDAA2D;AAAnD,sCAAA,iBAAiB,CAAA;AACzB,oDAA2D;AAAnD,sCAAA,iBAAiB,CAAA;AACzB,wDAAuE;AAA/D,0CAAA,uBAAuB,CAAA;AAC/B,mDAAiE;AAAzD,qCAAA,oBAAoB,CAAA;AAC5B,0DAAyE;AAAjE,4CAAA,wBAAwB,CAAA;AAChC,iDAA2D;AAAnD,mCAAA,iBAAiB,CAAA;AACzB,iDAA2D;AAAnD,mCAAA,iBAAiB,CAAA;AACzB,iDAA2D;AAAnD,mCAAA,iBAAiB,CAAA;AACzB,iDAA2D;AAAnD,mCAAA,iBAAiB,CAAA;AACzB,4CAAmD;AAA3C,8BAAA,aAAa,CAAA;AACrB,qDAA6D;AAArD,uCAAA,kBAAkB,CAAA;AAC1B,mDAAiE;AAAzD,qCAAA,oBAAoB,CAAA;AAC5B,2CAAiD;AAAzC,6BAAA,YAAY,CAAA;AACpB,qCAAqC;AAA7B,uBAAA,MAAM,CAAA;AACd,qCAAqC;AAA7B,uBAAA,MAAM,CAAA;AACd,8CAA+C;AAAvC,gCAAA,WAAW,CAAA;AACnB,8CAA+C;AAAvC,gCAAA,WAAW,CAAA;AACnB,uDAAyE;AAAjE,yCAAA,wBAAwB,CAAA;AAChC,mDAAiE;AAAzD,qCAAA,oBAAoB,CAAA;AAC5B,uCAAyC;AAAjC,yBAAA,QAAQ,CAAA;AAChB,sCAAyC;AAAjC,wBAAA,QAAQ,CAAA;AAChB,+CAAiD;AAAzC,iCAAA,YAAY,CAAA;AACpB,sDAAuE;AAA/D,wCAAA,uBAAuB,CAAA;AAC/B,+CAAyD;AAAjD,iCAAA,gBAAgB,CAAA;AACxB,2CAAiD;AAAzC,6BAAA,YAAY,CAAA;AACpB,oDAA2D;AAAnD,sCAAA,iBAAiB,CAAA;AACzB,oDAA2D;AAAnD,sCAAA,iBAAiB,CAAA;AACzB,yCAA6C;AAArC,2BAAA,UAAU,CAAA;AAClB,8CAAuD;AAA/C,gCAAA,eAAe,CAAA;AACvB,8CAAuD;AAA/C,gCAAA,eAAe,CAAA;AACvB,uCAAyC;AAAjC,yBAAA,QAAQ,CAAA;AAChB,6EAA6F;AAArF,+DAAA,kCAAkC,CAAA;AAC1C,oEAAiF;AAAzE,sDAAA,4BAA4B,CAAA;AACpC,0CAA+C;AAAvC,4BAAA,WAAW,CAAA;AACnB,qDAA2D;AAAnD,uCAAA,iBAAiB,CAAA;AACzB,qDAA2D;AAAnD,uCAAA,iBAAiB,CAAA;AACzB,uCAAyC;AAAjC,yBAAA,QAAQ,CAAA;AAChB,iDAA6D;AAArD,mCAAA,kBAAkB,CAAA;AAC1B,gDAA2D;AAAnD,kCAAA,iBAAiB,CAAA;AACzB,qCAAqC;AAA7B,uBAAA,MAAM,CAAA;AACd,gDAA2D;AAAnD,kCAAA,iBAAiB,CAAA;AACzB,8CAA+C;AAAvC,gCAAA,WAAW,CAAA;AACnB,gDAA6D;AAArD,kCAAA,kBAAkB,CAAA;AAC1B,yCAA+C;AAAvC,2BAAA,WAAW,CAAA;AACnB,sCAAuC;AAA/B,wBAAA,OAAO,CAAA;AACf,qCAAuC;AAA/B,uBAAA,OAAO,CAAA;AACf,mDAAqD;AAA7C,qCAAA,cAAc,CAAA;AACtB,0CAA+C;AAAvC,4BAAA,WAAW,CAAA;AACnB,0CAA+C;AAAvC,4BAAA,WAAW,CAAA;AACnB,oDAAyD;AAAjD,sCAAA,gBAAgB,CAAA;AACxB,mDAAyD;AAAjD,qCAAA,gBAAgB,CAAA;AACxB,2CAAiD;AAAzC,6BAAA,YAAY,CAAA;AACpB,yCAA6C;AAArC,2BAAA,UAAU,CAAA;AAClB,kDAAuD;AAA/C,oCAAA,eAAe,CAAA;AACvB,+CAAyD;AAAjD,iCAAA,gBAAgB,CAAA;AACxB,wCAA2C;AAAnC,0BAAA,SAAS,CAAA;AACjB,oCAAmC;AAA3B,sBAAA,KAAK,CAAA;AACb,2CAAmD;AAA3C,6BAAA,aAAa,CAAA;AACrB,wCAA2C;AAAnC,0BAAA,SAAS,CAAA;AACjB,wCAA2C;AAAnC,0BAAA,SAAS,CAAA;AACjB,yCAA6C;AAArC,2BAAA,UAAU,CAAA;AAClB,kDAAuD;AAA/C,oCAAA,eAAe,CAAA;AACvB,gDAAqD;AAA7C,kCAAA,cAAc,CAAA;AACtB,iDAA6D;AAArD,mCAAA,kBAAkB,CAAA;AAC1B,iDAA6D;AAArD,mCAAA,kBAAkB,CAAA;AAC1B,gDAA6D;AAArD,kCAAA,kBAAkB,CAAA;AAC1B,0CAA+C;AAAvC,4BAAA,WAAW,CAAA;AACnB,wCAA2C;AAAnC,0BAAA,SAAS,CAAA;AACjB,+CAAyD;AAAjD,iCAAA,gBAAgB,CAAA;AACxB,sCAAuC;AAA/B,wBAAA,OAAO,CAAA;AACf,6CAAqD;AAA7C,+BAAA,cAAc,CAAA;AACtB,sCAAuC;AAA/B,wBAAA,OAAO,CAAA;AACf,2DAAuE;AAA/D,6CAAA,uBAAuB,CAAA;AAC/B,wCAA2C;AAAnC,0BAAA,SAAS,CAAA;AACjB,mDAAuD;AAA/C,qCAAA,eAAe,CAAA;AACvB,iDAAqD;AAA7C,mCAAA,cAAc,CAAA;AACtB,uCAAyC;AAAjC,yBAAA,QAAQ,CAAA;AAChB,iDAAmD;AAA3C,mCAAA,aAAa,CAAA;AACrB,uDAA+D;AAAvD,yCAAA,mBAAmB,CAAA;AAC3B,8DAA6E;AAArE,gDAAA,0BAA0B,CAAA;AAClC,0CAA+C;AAAvC,4BAAA,WAAW,CAAA;AACnB,+CAAyD;AAAjD,iCAAA,gBAAgB,CAAA;AACxB,yDAAmE;AAA3D,2CAAA,qBAAqB,CAAA;AAC7B,6CAAuD;AAA/C,+BAAA,eAAe,CAAA;AACvB,wCAA2C;AAAnC,0BAAA,SAAS,CAAA;AACjB,+CAAyD;AAAjD,iCAAA,gBAAgB,CAAA;AACxB,+CAAyD;AAAjD,iCAAA,gBAAgB,CAAA;AACxB,0DAAqE;AAA7D,4CAAA,sBAAsB,CAAA;AAC9B,yDAAmE;AAA3D,2CAAA,qBAAqB,CAAA;AAC7B,2DAAiF;AAAzE,6CAAA,4BAA4B,CAAA;AACpC,gDAA2D;AAAnD,kCAAA,iBAAiB,CAAA;AACzB,mDAAiE;AAAzD,qCAAA,oBAAoB,CAAA;AAC5B,8CAAuD;AAA/C,gCAAA,eAAe,CAAA;AACvB,wDAAiE;AAAzD,0CAAA,oBAAoB,CAAA;AAC5B,6CAAqD;AAA7C,+BAAA,cAAc,CAAA;AACtB,uCAA2C;AAAnC,yBAAA,SAAS,CAAA;AACjB,kDAA+D;AAAvD,oCAAA,mBAAmB,CAAA;AAC3B,wCAA2C;AAAnC,0BAAA,SAAS,CAAA;AACjB,4CAAmD;AAA3C,8BAAA,aAAa,CAAA;AACrB,yCAA6C;AAArC,2BAAA,UAAU,CAAA;AAClB,wCAA2C;AAAnC,0BAAA,SAAS,CAAA;AACjB,kDAAqD;AAA7C,oCAAA,cAAc,CAAA;AACtB,mDAAyD;AAAjD,qCAAA,gBAAgB,CAAA;AACxB,yCAA6C;AAArC,2BAAA,UAAU,CAAA;AAClB,mDAAuD;AAA/C,qCAAA,eAAe,CAAA;AACvB,kDAAuD;AAA/C,oCAAA,eAAe,CAAA;AACvB,iDAA6D;AAArD,mCAAA,kBAAkB,CAAA;AAC1B,mDAAiE;AAAzD,qCAAA,oBAAoB,CAAA;AAC5B,yCAA6C;AAArC,2BAAA,UAAU,CAAA;AAClB,4CAAmD;AAA3C,8BAAA,aAAa,CAAA;AACrB,4CAAmD;AAA3C,8BAAA,aAAa,CAAA;AACrB,uCAAyC;AAAjC,yBAAA,QAAQ,CAAA;AAChB,yCAA6C;AAArC,2BAAA,UAAU,CAAA;AAClB,8CAAuD;AAA/C,gCAAA,eAAe,CAAA;AACvB,wDAAiE;AAAzD,0CAAA,oBAAoB,CAAA;AAC5B,sDAA+D;AAAvD,wCAAA,mBAAmB,CAAA;AAC3B,qCAAqC;AAA7B,uBAAA,MAAM,CAAA;AACd,gDAAiD;AAAzC,kCAAA,YAAY,CAAA;AACpB,2CAAiD;AAAzC,6BAAA,YAAY,CAAA;AACpB,8CAAuD;AAA/C,gCAAA,eAAe,CAAA;AACvB,uCAAyC;AAAjC,yBAAA,QAAQ,CAAA;AAChB,mDAAiE;AAAzD,qCAAA,oBAAoB,CAAA;AAC5B,4DAA2E;AAAnE,8CAAA,yBAAyB,CAAA;AACjC,gEAA+E;AAAvE,kDAAA,2BAA2B,CAAA;AACnC,wCAA2C;AAAnC,0BAAA,SAAS,CAAA;AACjB,qDAAyD;AAAjD,uCAAA,gBAAgB,CAAA;AACxB,qDAAyD;AAAjD,uCAAA,gBAAgB,CAAA;AACxB,0CAA+C;AAAvC,4BAAA,WAAW,CAAA;AACnB,4CAAmD;AAA3C,8BAAA,aAAa,CAAA;AACrB,6DAA6E;AAArE,+CAAA,0BAA0B,CAAA;AAClC,yCAA6C;AAArC,2BAAA,UAAU,CAAA;AAClB,kDAA+D;AAAvD,oCAAA,mBAAmB,CAAA;AAC3B,4DAAyE;AAAjE,8CAAA,wBAAwB,CAAA;AAChC,kDAA+D;AAAvD,oCAAA,mBAAmB,CAAA;AAC3B,kDAA+D;AAAvD,oCAAA,mBAAmB,CAAA"} \ No newline at end of file diff --git a/express-server/node_modules/googleapis/package.json b/express-server/node_modules/googleapis/package.json new file mode 100644 index 00000000..70011776 --- /dev/null +++ b/express-server/node_modules/googleapis/package.json @@ -0,0 +1,166 @@ +{ + "_from": "googleapis@^34.0.0", + "_id": "googleapis@34.0.0", + "_inBundle": false, + "_integrity": "sha512-nGfTSrlQF77HDNOHDy0ii3ET1h8Yap6QXxkfMZsre+7hBg91g4RsgrA50BgrOXpbNlQCBOGXWhUsa267kVeA/Q==", + "_location": "/googleapis", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "googleapis@^34.0.0", + "name": "googleapis", + "escapedName": "googleapis", + "rawSpec": "^34.0.0", + "saveSpec": null, + "fetchSpec": "^34.0.0" + }, + "_requiredBy": [ + "#USER", + "/" + ], + "_resolved": "https://registry.npmjs.org/googleapis/-/googleapis-34.0.0.tgz", + "_shasum": "15323c2334edeff3bae500faeec7e15ea6fb0047", + "_spec": "googleapis@^34.0.0", + "_where": "C:\\Users\\Georg\\GitHub\\SmartShopper\\express-server", + "author": { + "name": "Google Inc." + }, + "bugs": { + "url": "https://github.com/google/google-api-nodejs-client/issues" + }, + "bundleDependencies": false, + "contributors": [ + { + "name": "Burcu Dogan", + "email": "jbd@google.com" + }, + { + "name": "Jason Allor", + "email": "jasonall@google.com" + }, + { + "name": "Jason Dobry", + "email": "jason.dobry@gmail.com" + }, + { + "name": "Ryan Seys", + "email": "ryanseys@google.com" + }, + { + "name": "Tim Emiola", + "email": "tbetbetbe@google.com" + }, + { + "name": "Justin Beckwith", + "email": "beckwith@google.com" + }, + { + "name": "Alexander Fenster", + "email": "fenster@google.com" + } + ], + "dependencies": { + "google-auth-library": "^2.0.0", + "googleapis-common": "^0.3.0" + }, + "deprecated": false, + "description": "Google APIs Client Library for Node.js", + "devDependencies": { + "@types/minimist": "^1.2.0", + "@types/mkdirp": "^0.5.2", + "@types/mocha": "^5.2.0", + "@types/mv": "^2.1.0", + "@types/ncp": "^2.0.1", + "@types/nock": "^9.1.3", + "@types/node": "^10.0.8", + "@types/nunjucks": "^3.0.0", + "@types/p-queue": "^2.3.1", + "@types/pify": "^3.0.2", + "@types/qs": "^6.5.1", + "@types/rimraf": "^2.0.2", + "@types/source-map-support": "^0.4.0", + "@types/tmp": "^0.0.33", + "@types/url-template": "^2.0.28", + "assert-rejects": "^1.0.0", + "axios": "^0.18.0", + "codecov": "^3.0.2", + "copyfiles": "^2.0.0", + "eslint": "^5.6.0", + "eslint-config-prettier": "^3.0.1", + "eslint-plugin-node": "^7.0.1", + "eslint-plugin-prettier": "^2.6.2", + "gts": "^0.8.0", + "hard-rejection": "^1.0.0", + "intelli-espower-loader": "^1.0.1", + "js-green-licenses": "^0.5.0", + "minimist": "^1.2.0", + "mkdirp": "^0.5.1", + "mocha": "^5.1.1", + "mv": "^2.1.1", + "ncp": "^2.0.0", + "nock": "^9.2.5", + "nunjucks": "^3.1.2", + "nyc": "^13.0.0", + "opn": "^5.3.0", + "p-queue": "^3.0.0", + "pify": "^4.0.0", + "prettier": "^1.14.2", + "rimraf": "^2.6.2", + "server-destroy": "^1.0.1", + "source-map-support": "^0.5.5", + "tmp": "^0.0.33", + "typescript": "~3.0.0" + }, + "engines": { + "node": ">=6.0" + }, + "files": [ + "LICENSE", + "README.md", + "build/src", + "package.json" + ], + "homepage": "https://github.com/google/google-api-nodejs-client#readme", + "keywords": [ + "google", + "api", + "google apis", + "client", + "client library" + ], + "license": "Apache-2.0", + "main": "./build/src/index.js", + "name": "googleapis", + "nyc": { + "exclude": [ + "build/src/apis", + "build/test", + "samples" + ] + }, + "repository": { + "type": "git", + "url": "git+https://github.com/google/google-api-nodejs-client.git" + }, + "scripts": { + "build-tools": "tsc -p tsconfig.tools.json", + "clean": "gts clean", + "codecov": "nyc --cache mocha build/test -t 10000 -S -R spec && nyc report --reporter=html", + "compile": "tsc -v && tsc -p . && copyfiles src/apis/**/README.md src/apis/**/package.json build", + "docs": "echo no docs 👻", + "fix": "eslint --fix 'samples/**/*.js' && prettier --write samples/**/*.js && gts fix", + "generate": "node build/src/generator/generate.js", + "lint": "gts check && eslint 'samples/**/*.js'", + "postgenerate": "npm run fix", + "pregenerate": "npm run build-tools", + "prepare": "npm run compile", + "pretest": "npm run compile", + "prettier": "prettier --write samples/**/*.js", + "samples-test": "cd samples && npm link ../ && pwd && npm test", + "system-test": "echo no system tests 👻", + "test": "nyc mocha build/test" + }, + "types": "./build/src/index.d.ts", + "version": "34.0.0" +} diff --git a/express-server/node_modules/gtoken/LICENSE b/express-server/node_modules/gtoken/LICENSE new file mode 100644 index 00000000..061e6a68 --- /dev/null +++ b/express-server/node_modules/gtoken/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 Ryan Seys + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/express-server/node_modules/gtoken/README.md b/express-server/node_modules/gtoken/README.md new file mode 100644 index 00000000..4de779d0 --- /dev/null +++ b/express-server/node_modules/gtoken/README.md @@ -0,0 +1,200 @@ +# node-gtoken + +[![NPM Version][npm-image]][npm-url] +[![CircleCI][circle-image]][circle-url] +[![Dependency Status][david-image]][david-url] +[![devDependency Status][david-dev-image]][david-dev-url] +[![Known Vulnerabilities][snyk-image]][snyk-url] +[![codecov][codecov-image]][codecov-url] +[![Greenkeeper badge][greenkeeper-image]][greenkeeper-url] +[![style badge][gts-image]][gts-url] + +Node.js Google Authentication Service Account Tokens + +## Installation + +``` sh +npm install gtoken +``` + +## Usage + +### Use with a `.pem` or `.p12` key file: + +``` js +const { GoogleToken } = require('gtoken'); +const gtoken = new GoogleToken({ + keyFile: 'path/to/key.pem', // or path to .p12 key file + email: 'my_service_account_email@developer.gserviceaccount.com', + scope: ['https://scope1', 'https://scope2'] // or space-delimited string of scopes +}); + +gtoken.getToken(function(err, token) { + if (err) { + console.log(err); + return; + } + console.log(token); +}); +``` + +You can also use the async/await style API: + +``` js +const token = await gtoken.getToken() +console.log(token); +``` + +Or use promises: + +```js +gtoken.getToken() + .then(token => { + console.log(`Token: ${token}`) + }) + .catch(e => console.error); +``` + +### Use with a service account `.json` key file: + +``` js +const { GoogleToken } = require('gtoken'); +const gtoken = new GoogleToken({ + keyFile: 'path/to/key.json', + scope: ['https://scope1', 'https://scope2'] // or space-delimited string of scopes +}); + +gtoken.getToken(function(err, token) { + if (err) { + console.log(err); + return; + } + console.log(token); +}); +``` + +### Pass the private key as a string directly: + +``` js +const key = '-----BEGIN RSA PRIVATE KEY-----\nXXXXXXXXXXX...'; +const { GoogleToken } = require('gtoken'); +const gtoken = new GoogleToken({ + email: 'my_service_account_email@developer.gserviceaccount.com', + scope: ['https://scope1', 'https://scope2'], // or space-delimited string of scopes + key: key +}); +``` + +## Options + +> Various options that can be set when creating initializing the `gtoken` object. + +- `options.email or options.iss`: The service account email address. +- `options.scope`: An array of scope strings or space-delimited string of scopes. +- `options.sub`: The email address of the user requesting delegated access. +- `options.keyFile`: The filename of `.json` key, `.pem` key or `.p12` key. +- `options.key`: The raw RSA private key value, in place of using `options.keyFile`. + +### .getToken(callback) + +> Returns the cached token or requests a new one and returns it. + +``` js +gtoken.getToken(function(err, token) { + console.log(err || token); + // gtoken.token value is also set +}); +``` + +### .getCredentials('path/to/key.json') + +> Given a keyfile, returns the key and (if available) the client email. + +```js +const creds = await gtoken.getCredentials('path/to/key.json'); +``` + +### Properties + +> Various properties set on the gtoken object after call to `.getToken()`. + +- `gtoken.token`: The access token. +- `gtoken.expiresAt`: The expiry date as milliseconds since 1970/01/01 +- `gtoken.key`: The raw key value. +- `gtoken.rawToken`: Most recent raw token data received from Google. + +### .hasExpired() + +> Returns true if the token has expired, or token does not exist. + +``` js +gtoken.getToken(function(err, token) { + if(token) { + gtoken.hasExpired(); // false + } +}); +``` + +### .revokeToken() + +> Revoke the token if set. + +``` js +gtoken.revokeToken(function(err) { + if (err) { + console.log(err); + return; + } + console.log('Token revoked!'); +}); +``` + +## Downloading your private `.p12` key from Google + +1. Open the [Google Developer Console][gdevconsole]. +2. Open your project and under "APIs & auth", click Credentials. +3. Generate a new `.p12` key and download it into your project. + +## Converting your `.p12` key to a `.pem` key + +You can just specify your `.p12` file (with `.p12` extension) as the `keyFile` and it will automatically be converted to a `.pem` on the fly, however this results in a slight performance hit. If you'd like to convert to a `.pem` for use later, use OpenSSL if you have it installed. + +``` sh +$ openssl pkcs12 -in key.p12 -nodes -nocerts > key.pem +``` + +Don't forget, the passphrase when converting these files is the string `'notasecret'` + +## Changelog + +### 1.2.2 -> 2.0.0 +New features: +- API now supports callback and promise based workflows + +Breaking changes: +- `GoogleToken` is now a class type, and must be instantiated. +- `GoogleToken.expires_at` renamed to `GoogleToken.expiresAt` +- `GoogleToken.raw_token` renamed to `GoogleToken.rawToken` +- `GoogleToken.token_expires` renamed to `GoogleToken.tokenExpires` + +## License + +[MIT](LICENSE) + +[circle-image]: https://circleci.com/gh/google/node-gtoken.svg?style=svg +[circle-url]: https://circleci.com/gh/google/node-gtoken +[codecov-image]: https://codecov.io/gh/google/node-gtoken/branch/master/graph/badge.svg +[codecov-url]: https://codecov.io/gh/google/node-gtoken +[david-image]: https://david-dm.org/google/node-gtoken.svg +[david-url]: https://david-dm.org/google/node-gtoken +[david-dev-image]: https://david-dm.org/google/node-gtoken/dev-status.svg +[david-dev-url]: https://david-dm.org/google/node-gtoken?type=dev +[gdevconsole]: https://console.developers.google.com +[greenkeeper-image]: https://badges.greenkeeper.io/google/node-gtoken.svg +[greenkeeper-url]: https://greenkeeper.io/ +[gts-image]: https://img.shields.io/badge/code%20style-Google%20%E2%98%82%EF%B8%8F-blue.svg +[gts-url]: https://www.npmjs.com/package/gts +[npm-image]: https://img.shields.io/npm/v/gtoken.svg +[npm-url]: https://npmjs.org/package/gtoken +[snyk-image]: https://snyk.io/test/github/google/node-gtoken/badge.svg +[snyk-url]: https://snyk.io/test/github/google/node-gtoken diff --git a/express-server/node_modules/gtoken/build/src/index.d.ts b/express-server/node_modules/gtoken/build/src/index.d.ts new file mode 100644 index 00000000..962b0385 --- /dev/null +++ b/express-server/node_modules/gtoken/build/src/index.d.ts @@ -0,0 +1,77 @@ +export interface Credentials { + privateKey: string; + clientEmail?: string; +} +export interface TokenData { + refresh_token?: string; + expires_in?: number; + access_token?: string; + token_type?: string; + id_token?: string; +} +export interface TokenOptions { + keyFile?: string; + key?: string; + email?: string; + iss?: string; + sub?: string; + scope?: string | string[]; + additionalClaims?: {}; +} +export declare class GoogleToken { + token?: string | null; + expiresAt?: number | null; + key?: string; + keyFile?: string; + iss?: string; + sub?: string; + scope?: string; + rawToken: TokenData | null; + tokenExpires: number | null; + email?: string; + additionalClaims?: {}; + /** + * Create a GoogleToken. + * + * @param options Configuration object. + */ + constructor(options?: TokenOptions); + /** + * Returns whether the token has expired. + * + * @return true if the token has expired, false otherwise. + */ + hasExpired(): boolean; + /** + * Returns a cached token or retrieves a new one from Google. + * + * @param callback The callback function. + */ + getToken(): Promise; + getToken(callback: (err: Error | null, token?: string | null | undefined) => void): void; + /** + * Given a keyFile, extract the key and client email if available + * @param keyFile Path to a json, pem, or p12 file that contains the key. + * @returns an object with privateKey and clientEmail properties + */ + getCredentials(keyFile: string): Promise; + private getTokenAsync(); + private ensureEmail(); + /** + * Revoke the token if one is set. + * + * @param callback The callback function. + */ + revokeToken(): Promise; + revokeToken(callback: (err?: Error) => void): void; + private revokeTokenAsync(); + /** + * Configure the GoogleToken for re-use. + * @param {object} options Configuration object. + */ + private configure(options?); + /** + * Request the token from Google. + */ + private requestToken(); +} diff --git a/express-server/node_modules/gtoken/build/src/index.js b/express-server/node_modules/gtoken/build/src/index.js new file mode 100644 index 00000000..69d66342 --- /dev/null +++ b/express-server/node_modules/gtoken/build/src/index.js @@ -0,0 +1,282 @@ +"use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [0, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +var axios_1 = require("axios"); +var fs = require("fs"); +var jws = require("jws"); +var mime = require("mime"); +var pify = require("pify"); +var querystring = require("querystring"); +var readFile = pify(fs.readFile); +var GOOGLE_TOKEN_URL = 'https://www.googleapis.com/oauth2/v4/token'; +var GOOGLE_REVOKE_TOKEN_URL = 'https://accounts.google.com/o/oauth2/revoke?token='; +var ErrorWithCode = /** @class */ (function (_super) { + __extends(ErrorWithCode, _super); + function ErrorWithCode(message, code) { + var _this = _super.call(this, message) || this; + _this.code = code; + return _this; + } + return ErrorWithCode; +}(Error)); +var getPem; +var GoogleToken = /** @class */ (function () { + /** + * Create a GoogleToken. + * + * @param options Configuration object. + */ + function GoogleToken(options) { + this.token = null; + this.expiresAt = null; + this.rawToken = null; + this.tokenExpires = null; + this.configure(options); + } + /** + * Returns whether the token has expired. + * + * @return true if the token has expired, false otherwise. + */ + GoogleToken.prototype.hasExpired = function () { + var now = (new Date()).getTime(); + if (this.token && this.expiresAt) { + return now >= this.expiresAt; + } + else { + return true; + } + }; + GoogleToken.prototype.getToken = function (callback) { + if (callback) { + this.getTokenAsync() + .then(function (t) { + callback(null, t); + }) + .catch(callback); + return; + } + return this.getTokenAsync(); + }; + /** + * Given a keyFile, extract the key and client email if available + * @param keyFile Path to a json, pem, or p12 file that contains the key. + * @returns an object with privateKey and clientEmail properties + */ + GoogleToken.prototype.getCredentials = function (keyFile) { + return __awaiter(this, void 0, void 0, function () { + var mimeType, _a, key, body, privateKey, clientEmail, privateKey, privateKey; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + mimeType = mime.getType(keyFile); + _a = mimeType; + switch (_a) { + case 'application/json': return [3 /*break*/, 1]; + case 'application/x-x509-ca-cert': return [3 /*break*/, 3]; + case 'application/x-pkcs12': return [3 /*break*/, 5]; + } + return [3 /*break*/, 9]; + case 1: return [4 /*yield*/, readFile(keyFile, 'utf8')]; + case 2: + key = _b.sent(); + body = JSON.parse(key); + privateKey = body.private_key; + clientEmail = body.client_email; + if (!privateKey || !clientEmail) { + throw new ErrorWithCode('private_key and client_email are required.', 'MISSING_CREDENTIALS'); + } + return [2 /*return*/, { privateKey: privateKey, clientEmail: clientEmail }]; + case 3: return [4 /*yield*/, readFile(keyFile, 'utf8')]; + case 4: + privateKey = _b.sent(); + return [2 /*return*/, { privateKey: privateKey }]; + case 5: + if (!!getPem) return [3 /*break*/, 7]; + return [4 /*yield*/, Promise.resolve().then(function () { return require('google-p12-pem'); })]; + case 6: + getPem = (_b.sent()).getPem; + _b.label = 7; + case 7: return [4 /*yield*/, getPem(keyFile)]; + case 8: + privateKey = _b.sent(); + return [2 /*return*/, { privateKey: privateKey }]; + case 9: throw new ErrorWithCode('Unknown certificate type. Type is determined based on file extension. ' + + 'Current supported extensions are *.json, *.pem, and *.p12.', 'UNKNOWN_CERTIFICATE_TYPE'); + } + }); + }); + }; + GoogleToken.prototype.getTokenAsync = function () { + return __awaiter(this, void 0, void 0, function () { + var creds; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (!this.hasExpired()) { + return [2 /*return*/, Promise.resolve(this.token)]; + } + if (!this.key && !this.keyFile) { + throw new Error('No key or keyFile set.'); + } + if (!(!this.key && this.keyFile)) return [3 /*break*/, 2]; + return [4 /*yield*/, this.getCredentials(this.keyFile)]; + case 1: + creds = _a.sent(); + this.key = creds.privateKey; + this.iss = creds.clientEmail || this.iss; + if (!creds.clientEmail) { + this.ensureEmail(); + } + _a.label = 2; + case 2: return [2 /*return*/, this.requestToken()]; + } + }); + }); + }; + GoogleToken.prototype.ensureEmail = function () { + if (!this.iss) { + throw new ErrorWithCode('email is required.', 'MISSING_CREDENTIALS'); + } + }; + GoogleToken.prototype.revokeToken = function (callback) { + if (callback) { + this.revokeTokenAsync().then(function () { return callback(); }).catch(callback); + return; + } + return this.revokeTokenAsync(); + }; + GoogleToken.prototype.revokeTokenAsync = function () { + return __awaiter(this, void 0, void 0, function () { + var _this = this; + return __generator(this, function (_a) { + if (!this.token) { + throw new Error('No token to revoke.'); + } + return [2 /*return*/, axios_1.default.get(GOOGLE_REVOKE_TOKEN_URL + this.token).then(function (r) { + _this.configure({ + email: _this.iss, + sub: _this.sub, + key: _this.key, + keyFile: _this.keyFile, + scope: _this.scope, + additionalClaims: _this.additionalClaims, + }); + })]; + }); + }); + }; + /** + * Configure the GoogleToken for re-use. + * @param {object} options Configuration object. + */ + GoogleToken.prototype.configure = function (options) { + if (options === void 0) { options = {}; } + this.keyFile = options.keyFile; + this.key = options.key; + this.token = this.expiresAt = this.rawToken = null; + this.iss = options.email || options.iss; + this.sub = options.sub; + this.additionalClaims = options.additionalClaims; + if (typeof options.scope === 'object') { + this.scope = options.scope.join(' '); + } + else { + this.scope = options.scope; + } + }; + /** + * Request the token from Google. + */ + GoogleToken.prototype.requestToken = function () { + return __awaiter(this, void 0, void 0, function () { + var _this = this; + var iat, additionalClaims, payload, signedJWT; + return __generator(this, function (_a) { + iat = Math.floor(new Date().getTime() / 1000); + additionalClaims = this.additionalClaims || {}; + payload = Object.assign({ + iss: this.iss, + scope: this.scope, + aud: GOOGLE_TOKEN_URL, + exp: iat + 3600, + iat: iat, + sub: this.sub + }, additionalClaims); + signedJWT = jws.sign({ header: { alg: 'RS256' }, payload: payload, secret: this.key }); + return [2 /*return*/, axios_1.default + .post(GOOGLE_TOKEN_URL, querystring.stringify({ + grant_type: 'urn:ietf:params:oauth:grant-type:jwt-bearer', + assertion: signedJWT + }), { headers: { 'Content-Type': 'application/x-www-form-urlencoded' } }) + .then(function (r) { + _this.rawToken = r.data; + _this.token = r.data.access_token; + _this.expiresAt = + (r.data.expires_in === null || r.data.expires_in === undefined) ? + null : + (iat + r.data.expires_in) * 1000; + return _this.token; + }) + .catch(function (e) { + _this.token = null; + _this.tokenExpires = null; + var body = (e.response && e.response.data) ? e.response.data : {}; + var err = e; + if (body.error) { + var desc = body.error_description ? ": " + body.error_description : ''; + err = new Error("" + body.error + desc); + } + throw err; + })]; + }); + }); + }; + return GoogleToken; +}()); +exports.GoogleToken = GoogleToken; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/gtoken/build/src/index.js.map b/express-server/node_modules/gtoken/build/src/index.js.map new file mode 100644 index 00000000..195e081c --- /dev/null +++ b/express-server/node_modules/gtoken/build/src/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/gtoken/node_modules/.bin/mime b/express-server/node_modules/gtoken/node_modules/.bin/mime new file mode 100644 index 00000000..0dbddf07 --- /dev/null +++ b/express-server/node_modules/gtoken/node_modules/.bin/mime @@ -0,0 +1,15 @@ +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*) basedir=`cygpath -w "$basedir"`;; +esac + +if [ -x "$basedir/node" ]; then + "$basedir/node" "$basedir/../mime/cli.js" "$@" + ret=$? +else + node "$basedir/../mime/cli.js" "$@" + ret=$? +fi +exit $ret diff --git a/express-server/node_modules/gtoken/node_modules/.bin/mime.cmd b/express-server/node_modules/gtoken/node_modules/.bin/mime.cmd new file mode 100644 index 00000000..81695620 --- /dev/null +++ b/express-server/node_modules/gtoken/node_modules/.bin/mime.cmd @@ -0,0 +1,7 @@ +@IF EXIST "%~dp0\node.exe" ( + "%~dp0\node.exe" "%~dp0\..\mime\cli.js" %* +) ELSE ( + @SETLOCAL + @SET PATHEXT=%PATHEXT:;.JS;=;% + node "%~dp0\..\mime\cli.js" %* +) \ No newline at end of file diff --git a/express-server/node_modules/gtoken/node_modules/mime/.eslintrc.json b/express-server/node_modules/gtoken/node_modules/mime/.eslintrc.json new file mode 100644 index 00000000..845527f8 --- /dev/null +++ b/express-server/node_modules/gtoken/node_modules/mime/.eslintrc.json @@ -0,0 +1,51 @@ +{ + "root": true, + "parserOptions": { + "ecmaVersion": 6 + }, + "env": { + "browser": true, + "commonjs": true, + "node": true, + "mocha": true + }, + "extends": ["eslint:recommended"], + "rules": { + "array-bracket-spacing": ["warn", "never"], + "arrow-body-style": ["warn", "as-needed"], + "arrow-parens": ["warn", "as-needed"], + "arrow-spacing": "warn", + "brace-style": ["warn", "1tbs"], + "camelcase": "warn", + "comma-spacing": ["warn", {"after": true}], + "dot-notation": "warn", + "eqeqeq": ["warn", "smart"], + "indent": ["warn", 2, { + "SwitchCase": 1, + "FunctionDeclaration": {"parameters": 1}, + "MemberExpression": 1, + "CallExpression": {"arguments": 1} + }], + "key-spacing": ["warn", {"beforeColon": false, "afterColon": true, "mode": "minimum"}], + "keyword-spacing": "warn", + "no-console": "off", + "no-empty": "off", + "no-multi-spaces": "warn", + "no-redeclare": "off", + "no-restricted-globals": ["warn", "Promise"], + "no-trailing-spaces": "warn", + "no-undef": "error", + "no-unused-vars": ["warn", {"args": "none"}], + "one-var": ["warn", "never"], + "padded-blocks": ["warn", "never"], + "object-curly-spacing": ["warn", "never"], + "quotes": ["warn", "single"], + "react/prop-types": "off", + "react/jsx-no-bind": "off", + "semi": ["warn", "always"], + "space-before-blocks": ["warn", "always"], + "space-before-function-paren": ["warn", "never"], + "space-in-parens": ["warn", "never"], + "strict": ["warn", "global"] + } +} diff --git a/express-server/node_modules/gtoken/node_modules/mime/.github/ISSUE_TEMPLATE.md b/express-server/node_modules/gtoken/node_modules/mime/.github/ISSUE_TEMPLATE.md new file mode 100644 index 00000000..8764effa --- /dev/null +++ b/express-server/node_modules/gtoken/node_modules/mime/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,6 @@ +### If you have an issue with a specific extension or type + +Locate the definition for your extension/type in the [db.json file](https://github.com/jshttp/mime-db/blob/master/db.json) in the `mime-db` project. Does it look right? + + [ ] No. [File a `mime-db` issue](https://github.com/jshttp/mime-db/issues/new). + [ ] Yes: Go ahead and submit your issue/PR here and I'll look into it. diff --git a/express-server/node_modules/gtoken/node_modules/mime/.github/PULL_REQUEST_TEMPLATE.md b/express-server/node_modules/gtoken/node_modules/mime/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 00000000..8764effa --- /dev/null +++ b/express-server/node_modules/gtoken/node_modules/mime/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,6 @@ +### If you have an issue with a specific extension or type + +Locate the definition for your extension/type in the [db.json file](https://github.com/jshttp/mime-db/blob/master/db.json) in the `mime-db` project. Does it look right? + + [ ] No. [File a `mime-db` issue](https://github.com/jshttp/mime-db/issues/new). + [ ] Yes: Go ahead and submit your issue/PR here and I'll look into it. diff --git a/express-server/node_modules/gtoken/node_modules/mime/.travis.yml b/express-server/node_modules/gtoken/node_modules/mime/.travis.yml new file mode 100644 index 00000000..71b650d0 --- /dev/null +++ b/express-server/node_modules/gtoken/node_modules/mime/.travis.yml @@ -0,0 +1,5 @@ +language: node_js +node_js: + - "4" + - "6" + - "8" diff --git a/express-server/node_modules/gtoken/node_modules/mime/CHANGELOG.md b/express-server/node_modules/gtoken/node_modules/mime/CHANGELOG.md new file mode 100644 index 00000000..cee455d4 --- /dev/null +++ b/express-server/node_modules/gtoken/node_modules/mime/CHANGELOG.md @@ -0,0 +1,225 @@ +# Change Log + +All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. + + +## [2.3.1](https://github.com/broofa/node-mime/compare/v2.3.0...v2.3.1) (2018-04-11) + + +### Bug Fixes + +* fix [#198](https://github.com/broofa/node-mime/issues/198) ([25ca180](https://github.com/broofa/node-mime/commit/25ca180)) + + + + +# [2.3.0](https://github.com/broofa/node-mime/compare/v2.2.2...v2.3.0) (2018-04-11) + + +### Bug Fixes + +* fix [#192](https://github.com/broofa/node-mime/issues/192) ([5c35df6](https://github.com/broofa/node-mime/commit/5c35df6)) + + +### Features + +* add travis-ci testing ([d64160f](https://github.com/broofa/node-mime/commit/d64160f)) + + + + +## [2.2.2](https://github.com/broofa/node-mime/compare/v2.2.1...v2.2.2) (2018-03-30) + + +### Bug Fixes + +* update types files to mime-db@1.32.0 ([85aac16](https://github.com/broofa/node-mime/commit/85aac16)) + + + + +## [2.2.1](https://github.com/broofa/node-mime/compare/v2.2.0...v2.2.1) (2018-03-30) + + +### Bug Fixes + +* Retain type->extension mappings for non-default types. Fixes [#180](https://github.com/broofa/node-mime/issues/180) ([b5c83fb](https://github.com/broofa/node-mime/commit/b5c83fb)) + + + + +# [2.2.0](https://github.com/broofa/node-mime/compare/v2.1.0...v2.2.0) (2018-01-04) + + +### Features + +* Retain type->extension mappings for non-default types. Fixes [#180](https://github.com/broofa/node-mime/issues/180) ([10f82ac](https://github.com/broofa/node-mime/commit/10f82ac)) + + + + +# [2.1.0](https://github.com/broofa/node-mime/compare/v2.0.5...v2.1.0) (2017-12-22) + + +### Features + +* Upgrade to mime-db@1.32.0. Fixes [#185](https://github.com/broofa/node-mime/issues/185) ([3f775ba](https://github.com/broofa/node-mime/commit/3f775ba)) + + + + +## [2.0.5](https://github.com/broofa/node-mime/compare/v2.0.1...v2.0.5) (2017-12-22) + + +### Bug Fixes + +* ES5 support (back to node v0.4) ([f14ccb6](https://github.com/broofa/node-mime/commit/f14ccb6)) + + + +# Changelog + +## v2.0.4 (24/11/2017) +- [**closed**] Switch to mime-score module for resolving extension contention issues. [#182](https://github.com/broofa/node-mime/issues/182) +- [**closed**] Update mime-db to 1.31.0 in v1.x branch [#181](https://github.com/broofa/node-mime/issues/181) + +--- + +## v1.5.0 (22/11/2017) +- [**closed**] need ES5 version ready in npm package [#179](https://github.com/broofa/node-mime/issues/179) +- [**closed**] mime-db no trace of iWork - pages / numbers / etc. [#178](https://github.com/broofa/node-mime/issues/178) +- [**closed**] How it works in brownser ? [#176](https://github.com/broofa/node-mime/issues/176) +- [**closed**] Missing `./Mime` [#175](https://github.com/broofa/node-mime/issues/175) +- [**closed**] Vulnerable Regular Expression [#167](https://github.com/broofa/node-mime/issues/167) + +--- + +## v2.0.3 (25/09/2017) +*No changelog for this release.* + +--- + +## v1.4.1 (25/09/2017) +- [**closed**] Issue when bundling with webpack [#172](https://github.com/broofa/node-mime/issues/172) + +--- + +## v2.0.2 (15/09/2017) +- [**V2**] fs.readFileSync is not a function [#165](https://github.com/broofa/node-mime/issues/165) +- [**closed**] The extension for video/quicktime should map to .mov, not .qt [#164](https://github.com/broofa/node-mime/issues/164) +- [**V2**] [v2 Feedback request] Mime class API [#163](https://github.com/broofa/node-mime/issues/163) +- [**V2**] [v2 Feedback request] Resolving conflicts over extensions [#162](https://github.com/broofa/node-mime/issues/162) +- [**V2**] Allow callers to load module with official, full, or no defined types. [#161](https://github.com/broofa/node-mime/issues/161) +- [**V2**] Use "facets" to resolve extension conflicts [#160](https://github.com/broofa/node-mime/issues/160) +- [**V2**] Remove fs and path dependencies [#152](https://github.com/broofa/node-mime/issues/152) +- [**V2**] Default content-type should not be application/octet-stream [#139](https://github.com/broofa/node-mime/issues/139) +- [**V2**] reset mime-types [#124](https://github.com/broofa/node-mime/issues/124) +- [**V2**] Extensionless paths should return null or false [#113](https://github.com/broofa/node-mime/issues/113) + +--- + +## v2.0.1 (14/09/2017) +- [**closed**] Changelog for v2.0 does not mention breaking changes [#171](https://github.com/broofa/node-mime/issues/171) +- [**closed**] MIME breaking with 'class' declaration as it is without 'use strict mode' [#170](https://github.com/broofa/node-mime/issues/170) + +--- + +## v2.0.0 (12/09/2017) +- [**closed**] woff and woff2 [#168](https://github.com/broofa/node-mime/issues/168) + +--- + +## v1.4.0 (28/08/2017) +- [**closed**] support for ac3 voc files [#159](https://github.com/broofa/node-mime/issues/159) +- [**closed**] Help understanding change from application/xml to text/xml [#158](https://github.com/broofa/node-mime/issues/158) +- [**closed**] no longer able to override mimetype [#157](https://github.com/broofa/node-mime/issues/157) +- [**closed**] application/vnd.adobe.photoshop [#147](https://github.com/broofa/node-mime/issues/147) +- [**closed**] Directories should appear as something other than application/octet-stream [#135](https://github.com/broofa/node-mime/issues/135) +- [**closed**] requested features [#131](https://github.com/broofa/node-mime/issues/131) +- [**closed**] Make types.json loading optional? [#129](https://github.com/broofa/node-mime/issues/129) +- [**closed**] Cannot find module './types.json' [#120](https://github.com/broofa/node-mime/issues/120) +- [**V2**] .wav files show up as "audio/x-wav" instead of "audio/x-wave" [#118](https://github.com/broofa/node-mime/issues/118) +- [**closed**] Don't be a pain in the ass for node community [#108](https://github.com/broofa/node-mime/issues/108) +- [**closed**] don't make default_type global [#78](https://github.com/broofa/node-mime/issues/78) +- [**closed**] mime.extension() fails if the content-type is parameterized [#74](https://github.com/broofa/node-mime/issues/74) + +--- + +## v1.3.6 (11/05/2017) +- [**closed**] .md should be text/markdown as of March 2016 [#154](https://github.com/broofa/node-mime/issues/154) +- [**closed**] Error while installing mime [#153](https://github.com/broofa/node-mime/issues/153) +- [**closed**] application/manifest+json [#149](https://github.com/broofa/node-mime/issues/149) +- [**closed**] Dynamic adaptive streaming over HTTP (DASH) file extension typo [#141](https://github.com/broofa/node-mime/issues/141) +- [**closed**] charsets image/png undefined [#140](https://github.com/broofa/node-mime/issues/140) +- [**closed**] Mime-db dependency out of date [#130](https://github.com/broofa/node-mime/issues/130) +- [**closed**] how to support plist? [#126](https://github.com/broofa/node-mime/issues/126) +- [**closed**] how does .types file format look like? [#123](https://github.com/broofa/node-mime/issues/123) +- [**closed**] Feature: support for expanding MIME patterns [#121](https://github.com/broofa/node-mime/issues/121) +- [**closed**] DEBUG_MIME doesn't work [#117](https://github.com/broofa/node-mime/issues/117) + +--- + +## v1.3.4 (06/02/2015) +*No changelog for this release.* + +--- + +## v1.3.3 (06/02/2015) +*No changelog for this release.* + +--- + +## v1.3.1 (05/02/2015) +- [**closed**] Consider adding support for Handlebars .hbs file ending [#111](https://github.com/broofa/node-mime/issues/111) +- [**closed**] Consider adding support for hjson. [#110](https://github.com/broofa/node-mime/issues/110) +- [**closed**] Add mime type for Opus audio files [#94](https://github.com/broofa/node-mime/issues/94) +- [**closed**] Consider making the `Requesting New Types` information more visible [#77](https://github.com/broofa/node-mime/issues/77) + +--- + +## v1.3.0 (05/02/2015) +- [**closed**] Add common name? [#114](https://github.com/broofa/node-mime/issues/114) +- [**closed**] application/x-yaml [#104](https://github.com/broofa/node-mime/issues/104) +- [**closed**] Add mime type for WOFF file format 2.0 [#102](https://github.com/broofa/node-mime/issues/102) +- [**closed**] application/x-msi for .msi [#99](https://github.com/broofa/node-mime/issues/99) +- [**closed**] Add mimetype for gettext translation files [#98](https://github.com/broofa/node-mime/issues/98) +- [**closed**] collaborators [#88](https://github.com/broofa/node-mime/issues/88) +- [**closed**] getting errot in installation of mime module...any1 can help? [#87](https://github.com/broofa/node-mime/issues/87) +- [**closed**] should application/json's charset be utf8? [#86](https://github.com/broofa/node-mime/issues/86) +- [**closed**] Add "license" and "licenses" to package.json [#81](https://github.com/broofa/node-mime/issues/81) +- [**closed**] lookup with extension-less file on Windows returns wrong type [#68](https://github.com/broofa/node-mime/issues/68) + +--- + +## v1.2.11 (15/08/2013) +- [**closed**] Update mime.types [#65](https://github.com/broofa/node-mime/issues/65) +- [**closed**] Publish a new version [#63](https://github.com/broofa/node-mime/issues/63) +- [**closed**] README should state upfront that "application/octet-stream" is default for unknown extension [#55](https://github.com/broofa/node-mime/issues/55) +- [**closed**] Suggested improvement to the charset API [#52](https://github.com/broofa/node-mime/issues/52) + +--- + +## v1.2.10 (25/07/2013) +- [**closed**] Mime type for woff files should be application/font-woff and not application/x-font-woff [#62](https://github.com/broofa/node-mime/issues/62) +- [**closed**] node.types in conflict with mime.types [#51](https://github.com/broofa/node-mime/issues/51) + +--- + +## v1.2.9 (17/01/2013) +- [**closed**] Please update "mime" NPM [#49](https://github.com/broofa/node-mime/issues/49) +- [**closed**] Please add semicolon [#46](https://github.com/broofa/node-mime/issues/46) +- [**closed**] parse full mime types [#43](https://github.com/broofa/node-mime/issues/43) + +--- + +## v1.2.8 (10/01/2013) +- [**closed**] /js directory mime is application/javascript. Is it correct? [#47](https://github.com/broofa/node-mime/issues/47) +- [**closed**] Add mime types for lua code. [#45](https://github.com/broofa/node-mime/issues/45) + +--- + +## v1.2.7 (19/10/2012) +- [**closed**] cannot install 1.2.7 via npm [#41](https://github.com/broofa/node-mime/issues/41) +- [**closed**] Transfer ownership to @broofa [#36](https://github.com/broofa/node-mime/issues/36) +- [**closed**] it's wrong to set charset to UTF-8 for text [#30](https://github.com/broofa/node-mime/issues/30) +- [**closed**] Allow multiple instances of MIME types container [#27](https://github.com/broofa/node-mime/issues/27) diff --git a/express-server/node_modules/gtoken/node_modules/mime/CONTRIBUTING.md b/express-server/node_modules/gtoken/node_modules/mime/CONTRIBUTING.md new file mode 100644 index 00000000..dd5c86a4 --- /dev/null +++ b/express-server/node_modules/gtoken/node_modules/mime/CONTRIBUTING.md @@ -0,0 +1,5 @@ +1. Commit messages should have a [Conventional Commit](https://conventionalcommits.org/) prefix. +2. If you're editing the `types/*` files, just stop. These are auto-generated from [mime-db](https://github.com/jshttp/mime-db). Go talk to those folks. +3. README edits should be made to [src/README_md.js](src/README_md.js). + +Thanks for helping out with this project. You rock! diff --git a/express-server/node_modules/gtoken/node_modules/mime/LICENSE b/express-server/node_modules/gtoken/node_modules/mime/LICENSE new file mode 100644 index 00000000..d3f46f7e --- /dev/null +++ b/express-server/node_modules/gtoken/node_modules/mime/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2010 Benjamin Thomas, Robert Kieffer + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/express-server/node_modules/gtoken/node_modules/mime/Mime.js b/express-server/node_modules/gtoken/node_modules/mime/Mime.js new file mode 100644 index 00000000..7faa677f --- /dev/null +++ b/express-server/node_modules/gtoken/node_modules/mime/Mime.js @@ -0,0 +1,89 @@ +'use strict'; + +/** + * @param typeMap [Object] Map of MIME type -> Array[extensions] + * @param ... + */ +function Mime() { + this._types = Object.create(null); + this._extensions = Object.create(null); + + for (var i = 0; i < arguments.length; i++) { + this.define(arguments[i]); + } +} + +/** + * Define mimetype -> xtension mappings. Each key is a mime-type that maps + * to an array of extensions associated with the type. The first extension is + * used as the default extension for the type. + * + * e.g. mime.define({'audio/ogg', ['oga', 'ogg', 'spx']}); + * + * If a type declares an extension that has already been defined, an error will + * be thrown. To suppress this error and force the extension to be associated + * with the new type, pass `force`=true. Alternatively, you may prefix the + * extension with "*" to map the type to extension, without mapping the + * extension to the type. + * + * e.g. mime.define({'audio/wav', ['wav']}, {'audio/x-wav', ['*wav']}); + * + * + * @param map (Object) type definitions + * @param force (Boolean) if true, force overriding of existing definitions + */ +Mime.prototype.define = function(typeMap, force) { + for (var type in typeMap) { + var extensions = typeMap[type]; + for (var i = 0; i < extensions.length; i++) { + var ext = extensions[i]; + + // '*' prefix = not the preferred type for this extension. So fixup the + // extension, and skip it. + if (ext[0] == '*') { + continue; + } + + if (!force && (ext in this._types)) { + throw new Error( + 'Attempt to change mapping for "' + ext + + '" extension from "' + this._types[ext] + '" to "' + type + + '". Pass `force=true` to allow this, otherwise remove "' + ext + + '" from the list of extensions for "' + type + '".' + ); + } + + this._types[ext] = type; + } + + // Use first extension as default + if (force || !this._extensions[type]) { + var ext = extensions[0]; + this._extensions[type] = (ext[0] != '*') ? ext : ext.substr(1) + } + } +}; + +/** + * Lookup a mime type based on extension + */ +Mime.prototype.getType = function(path) { + path = String(path); + var last = path.replace(/^.*[/\\]/, '').toLowerCase(); + var ext = last.replace(/^.*\./, '').toLowerCase(); + + var hasPath = last.length < path.length; + var hasDot = ext.length < last.length - 1; + + return (hasDot || !hasPath) && this._types[ext] || null; +}; + +/** + * Return file extension associated with a mime type + */ +Mime.prototype.getExtension = function(type) { + type = /^\s*([^;\s]*)/.test(type) && RegExp.$1; + return type && this._extensions[type.toLowerCase()] || null; +}; + +module.exports = Mime; diff --git a/express-server/node_modules/gtoken/node_modules/mime/README.md b/express-server/node_modules/gtoken/node_modules/mime/README.md new file mode 100644 index 00000000..29603d50 --- /dev/null +++ b/express-server/node_modules/gtoken/node_modules/mime/README.md @@ -0,0 +1,188 @@ + +# Mime + +A comprehensive, compact MIME type module. + +## Version 2 Notes + +Version 2 is a breaking change from 1.x as the semver implies. Specifically: + +* `lookup()` renamed to `getType()` +* `extension()` renamed to `getExtension()` +* `charset()` and `load()` methods have been removed + +If you prefer the legacy version of this module please `npm install mime@^1`. Version 1 docs may be found [here](https://github.com/broofa/node-mime/tree/v1.4.0). + +## Install + +### NPM +``` +npm install mime +``` + +### Browser + +It is recommended that you use a bundler such as +[webpack](https://webpack.github.io/) or [browserify](http://browserify.org/) to +package your code. However, browser-ready versions are available via wzrd.in. +E.g. For the full version: + + + + + + +``` + +### unpkg CDN + +To use it via [unpkg](https://unpkg.com/#/) include this in your html: + +```html + +``` + +### Development Requirements + +The core JavaScript has the following requirements to build and test: + +* Building a browser bundle: + * Node.js + * npm +* Testing + * Node.js + * npm + * Chrome, Firefox, Safari (optional) + +Some special networking features can optionally use a Flash component. See the +[Flash README](./flash/README.md) for details. + +### Building for a web browser + +To create single file bundles for use with browsers run the following: + + npm install + npm run build + +This will create single non-minimized and minimized files that can be +included in the browser: + + dist/forge.js + dist/forge.min.js + +A bundle that adds some utilities and networking support is also available: + + dist/forge.all.js + dist/forge.all.min.js + +Include the file via: + +```html + +``` +or +```html + +``` + +The above bundles will synchronously create a global 'forge' object. + +**Note**: These bundles will not include any WebWorker scripts (eg: +`dist/prime.worker.js`), so these will need to be accessible from the browser +if any WebWorkers are used. + +### Building a custom browser bundle + +The build process uses [webpack][] and the [config](./webpack.config.js) file +can be modified to generate a file or files that only contain the parts of +forge you need. + +[Browserify][] override support is also present in `package.json`. + +Testing +------- + +See the [testing README](./tests/README.md) for full details. + +### Prepare to run tests + + npm install + +### Running automated tests with Node.js + +Forge natively runs in a [Node.js][] environment: + + npm test + +### Running automated tests with PhantomJS + +Automated testing is done via [Karma][]. By default it will run the tests in a +headless manner with PhantomJS. + + npm run test-karma + +Is 'mocha' reporter output too verbose? Other reporters are available. Try +'dots', 'progress', or 'tap'. + + npm run test-karma -- --reporters progress + +By default [webpack][] is used. [Browserify][] can also be used. + + BUNDLER=browserify npm run test-karma + +### Running automated tests with one or more browsers + +You can also specify one or more browsers to use. + + npm run test-karma -- --browsers Chrome,Firefox,Safari,PhantomJS + +The reporter option and `BUNDLER` environment variable can also be used. + +### Running manual tests in a browser + +Testing in a browser uses [webpack][] to combine forge and all tests and then +loading the result in a browser. A simple web server is provided that will +output the HTTP or HTTPS URLs to load. It also will start a simple Flash Policy +Server. Unit tests and older legacy tests are provided. Custom ports can be +used by running `node tests/server.js` manually. + +To run the unit tests in a browser a special forge build is required: + + npm run test-build + +To run legacy browser based tests the main forge build is required: + + npm run build + +The tests are run with a custom server that prints out the URLs to use: + + npm run test-server + +### Running other tests + +There are some other random tests and benchmarks available in the tests +directory. + +### Coverage testing + +To perform coverage testing of the unit tests, run the following. The results +will be put in the `coverage/` directory. Note that coverage testing can slow +down some tests considerably. + + npm install + npm run coverage + +Contributing +------------ + +Any contributions (eg: PRs) that are accepted will be brought under the same +license used by the rest of the Forge project. This license allows Forge to +be used under the terms of either the BSD License or the GNU General Public +License (GPL) Version 2. + +See: [LICENSE](https://github.com/digitalbazaar/forge/blob/cbebca3780658703d925b61b2caffb1d263a6c1d/LICENSE) + +If a contribution contains 3rd party source code with its own license, it +may retain it, so long as that license is compatible with the Forge license. + +API +--- + + + +### Options + +If at any time you wish to disable the use of native code, where available, +for particular forge features like its secure random number generator, you +may set the ```forge.options.usePureJavaScript``` flag to ```true```. It is +not recommended that you set this flag as native code is typically more +performant and may have stronger security properties. It may be useful to +set this flag to test certain features that you plan to run in environments +that are different from your testing environment. + +To disable native code when including forge in the browser: + +```js +// run this *after* including the forge script +forge.options.usePureJavaScript = true; +``` + +To disable native code when using Node.js: + +```js +var forge = require('node-forge'); +forge.options.usePureJavaScript = true; +``` + +Transports +---------- + + + +### TLS + +Provides a native javascript client and server-side [TLS][] implementation. + +__Examples__ + +```js +// create TLS client +var client = forge.tls.createConnection({ + server: false, + caStore: /* Array of PEM-formatted certs or a CA store object */, + sessionCache: {}, + // supported cipher suites in order of preference + cipherSuites: [ + forge.tls.CipherSuites.TLS_RSA_WITH_AES_128_CBC_SHA, + forge.tls.CipherSuites.TLS_RSA_WITH_AES_256_CBC_SHA], + virtualHost: 'example.com', + verify: function(connection, verified, depth, certs) { + if(depth === 0) { + var cn = certs[0].subject.getField('CN').value; + if(cn !== 'example.com') { + verified = { + alert: forge.tls.Alert.Description.bad_certificate, + message: 'Certificate common name does not match hostname.' + }; + } + } + return verified; + }, + connected: function(connection) { + console.log('connected'); + // send message to server + connection.prepare(forge.util.encodeUtf8('Hi server!')); + /* NOTE: experimental, start heartbeat retransmission timer + myHeartbeatTimer = setInterval(function() { + connection.prepareHeartbeatRequest(forge.util.createBuffer('1234')); + }, 5*60*1000);*/ + }, + /* provide a client-side cert if you want + getCertificate: function(connection, hint) { + return myClientCertificate; + }, + /* the private key for the client-side cert if provided */ + getPrivateKey: function(connection, cert) { + return myClientPrivateKey; + }, + tlsDataReady: function(connection) { + // TLS data (encrypted) is ready to be sent to the server + sendToServerSomehow(connection.tlsData.getBytes()); + // if you were communicating with the server below, you'd do: + // server.process(connection.tlsData.getBytes()); + }, + dataReady: function(connection) { + // clear data from the server is ready + console.log('the server sent: ' + + forge.util.decodeUtf8(connection.data.getBytes())); + // close connection + connection.close(); + }, + /* NOTE: experimental + heartbeatReceived: function(connection, payload) { + // restart retransmission timer, look at payload + clearInterval(myHeartbeatTimer); + myHeartbeatTimer = setInterval(function() { + connection.prepareHeartbeatRequest(forge.util.createBuffer('1234')); + }, 5*60*1000); + payload.getBytes(); + },*/ + closed: function(connection) { + console.log('disconnected'); + }, + error: function(connection, error) { + console.log('uh oh', error); + } +}); + +// start the handshake process +client.handshake(); + +// when encrypted TLS data is received from the server, process it +client.process(encryptedBytesFromServer); + +// create TLS server +var server = forge.tls.createConnection({ + server: true, + caStore: /* Array of PEM-formatted certs or a CA store object */, + sessionCache: {}, + // supported cipher suites in order of preference + cipherSuites: [ + forge.tls.CipherSuites.TLS_RSA_WITH_AES_128_CBC_SHA, + forge.tls.CipherSuites.TLS_RSA_WITH_AES_256_CBC_SHA], + // require a client-side certificate if you want + verifyClient: true, + verify: function(connection, verified, depth, certs) { + if(depth === 0) { + var cn = certs[0].subject.getField('CN').value; + if(cn !== 'the-client') { + verified = { + alert: forge.tls.Alert.Description.bad_certificate, + message: 'Certificate common name does not match expected client.' + }; + } + } + return verified; + }, + connected: function(connection) { + console.log('connected'); + // send message to client + connection.prepare(forge.util.encodeUtf8('Hi client!')); + /* NOTE: experimental, start heartbeat retransmission timer + myHeartbeatTimer = setInterval(function() { + connection.prepareHeartbeatRequest(forge.util.createBuffer('1234')); + }, 5*60*1000);*/ + }, + getCertificate: function(connection, hint) { + return myServerCertificate; + }, + getPrivateKey: function(connection, cert) { + return myServerPrivateKey; + }, + tlsDataReady: function(connection) { + // TLS data (encrypted) is ready to be sent to the client + sendToClientSomehow(connection.tlsData.getBytes()); + // if you were communicating with the client above you'd do: + // client.process(connection.tlsData.getBytes()); + }, + dataReady: function(connection) { + // clear data from the client is ready + console.log('the client sent: ' + + forge.util.decodeUtf8(connection.data.getBytes())); + // close connection + connection.close(); + }, + /* NOTE: experimental + heartbeatReceived: function(connection, payload) { + // restart retransmission timer, look at payload + clearInterval(myHeartbeatTimer); + myHeartbeatTimer = setInterval(function() { + connection.prepareHeartbeatRequest(forge.util.createBuffer('1234')); + }, 5*60*1000); + payload.getBytes(); + },*/ + closed: function(connection) { + console.log('disconnected'); + }, + error: function(connection, error) { + console.log('uh oh', error); + } +}); + +// when encrypted TLS data is received from the client, process it +server.process(encryptedBytesFromClient); +``` + +Connect to a TLS server using node's net.Socket: + +```js +var socket = new net.Socket(); + +var client = forge.tls.createConnection({ + server: false, + verify: function(connection, verified, depth, certs) { + // skip verification for testing + console.log('[tls] server certificate verified'); + return true; + }, + connected: function(connection) { + console.log('[tls] connected'); + // prepare some data to send (note that the string is interpreted as + // 'binary' encoded, which works for HTTP which only uses ASCII, use + // forge.util.encodeUtf8(str) otherwise + client.prepare('GET / HTTP/1.0\r\n\r\n'); + }, + tlsDataReady: function(connection) { + // encrypted data is ready to be sent to the server + var data = connection.tlsData.getBytes(); + socket.write(data, 'binary'); // encoding should be 'binary' + }, + dataReady: function(connection) { + // clear data from the server is ready + var data = connection.data.getBytes(); + console.log('[tls] data received from the server: ' + data); + }, + closed: function() { + console.log('[tls] disconnected'); + }, + error: function(connection, error) { + console.log('[tls] error', error); + } +}); + +socket.on('connect', function() { + console.log('[socket] connected'); + client.handshake(); +}); +socket.on('data', function(data) { + client.process(data.toString('binary')); // encoding should be 'binary' +}); +socket.on('end', function() { + console.log('[socket] disconnected'); +}); + +// connect to google.com +socket.connect(443, 'google.com'); + +// or connect to gmail's imap server (but don't send the HTTP header above) +//socket.connect(993, 'imap.gmail.com'); +``` + + + +### HTTP + +Provides a native [JavaScript][] mini-implementation of an http client that +uses pooled sockets. + +__Examples__ + +```js +// create an HTTP GET request +var request = forge.http.createRequest({method: 'GET', path: url.path}); + +// send the request somewhere +sendSomehow(request.toString()); + +// receive response +var buffer = forge.util.createBuffer(); +var response = forge.http.createResponse(); +var someAsyncDataHandler = function(bytes) { + if(!response.bodyReceived) { + buffer.putBytes(bytes); + if(!response.headerReceived) { + if(response.readHeader(buffer)) { + console.log('HTTP response header: ' + response.toString()); + } + } + if(response.headerReceived && !response.bodyReceived) { + if(response.readBody(buffer)) { + console.log('HTTP response body: ' + response.body); + } + } + } +}; +``` + + + +### SSH + +Provides some SSH utility functions. + +__Examples__ + +```js +// encodes (and optionally encrypts) a private RSA key as a Putty PPK file +forge.ssh.privateKeyToPutty(privateKey, passphrase, comment); + +// encodes a public RSA key as an OpenSSH file +forge.ssh.publicKeyToOpenSSH(key, comment); + +// encodes a private RSA key as an OpenSSH file +forge.ssh.privateKeyToOpenSSH(privateKey, passphrase); + +// gets the SSH public key fingerprint in a byte buffer +forge.ssh.getPublicKeyFingerprint(key); + +// gets a hex-encoded, colon-delimited SSH public key fingerprint +forge.ssh.getPublicKeyFingerprint(key, {encoding: 'hex', delimiter: ':'}); +``` + + + +### XHR + +Provides an XmlHttpRequest implementation using forge.http as a backend. + +__Examples__ + +```js +// TODO +``` + + + +### Sockets + +Provides an interface to create and use raw sockets provided via Flash. + +__Examples__ + +```js +// TODO +``` + +Ciphers +------- + + + +### CIPHER + +Provides a basic API for block encryption and decryption. There is built-in +support for the ciphers: [AES][], [3DES][], and [DES][], and for the modes +of operation: [ECB][], [CBC][], [CFB][], [OFB][], [CTR][], and [GCM][]. + +These algorithms are currently supported: + +* AES-ECB +* AES-CBC +* AES-CFB +* AES-OFB +* AES-CTR +* AES-GCM +* 3DES-ECB +* 3DES-CBC +* DES-ECB +* DES-CBC + +When using an [AES][] algorithm, the key size will determine whether +AES-128, AES-192, or AES-256 is used (all are supported). When a [DES][] +algorithm is used, the key size will determine whether [3DES][] or regular +[DES][] is used. Use a [3DES][] algorithm to enforce Triple-DES. + +__Examples__ + +```js +// generate a random key and IV +// Note: a key size of 16 bytes will use AES-128, 24 => AES-192, 32 => AES-256 +var key = forge.random.getBytesSync(16); +var iv = forge.random.getBytesSync(16); + +/* alternatively, generate a password-based 16-byte key +var salt = forge.random.getBytesSync(128); +var key = forge.pkcs5.pbkdf2('password', salt, numIterations, 16); +*/ + +// encrypt some bytes using CBC mode +// (other modes include: ECB, CFB, OFB, CTR, and GCM) +// Note: CBC and ECB modes use PKCS#7 padding as default +var cipher = forge.cipher.createCipher('AES-CBC', key); +cipher.start({iv: iv}); +cipher.update(forge.util.createBuffer(someBytes)); +cipher.finish(); +var encrypted = cipher.output; +// outputs encrypted hex +console.log(encrypted.toHex()); + +// decrypt some bytes using CBC mode +// (other modes include: CFB, OFB, CTR, and GCM) +var decipher = forge.cipher.createDecipher('AES-CBC', key); +decipher.start({iv: iv}); +decipher.update(encrypted); +var result = decipher.finish(); // check 'result' for true/false +// outputs decrypted hex +console.log(decipher.output.toHex()); + +// decrypt bytes using CBC mode and streaming +// Performance can suffer for large multi-MB inputs due to buffer +// manipulations. Stream processing in chunks can offer significant +// improvement. CPU intensive update() calls could also be performed with +// setImmediate/setTimeout to avoid blocking the main browser UI thread (not +// shown here). Optimal block size depends on the JavaScript VM and other +// factors. Encryption can use a simple technique for increased performance. +var encryptedBytes = encrypted.bytes(); +var decipher = forge.cipher.createDecipher('AES-CBC', key); +decipher.start({iv: iv}); +var length = encryptedBytes.length; +var chunkSize = 1024 * 64; +var index = 0; +var decrypted = ''; +do { + decrypted += decipher.output.getBytes(); + var buf = forge.util.createBuffer(encryptedBytes.substr(index, chunkSize)); + decipher.update(buf); + index += chunkSize; +} while(index < length); +var result = decipher.finish(); +assert(result); +decrypted += decipher.output.getBytes(); +console.log(forge.util.bytesToHex(decrypted)); + +// encrypt some bytes using GCM mode +var cipher = forge.cipher.createCipher('AES-GCM', key); +cipher.start({ + iv: iv, // should be a 12-byte binary-encoded string or byte buffer + additionalData: 'binary-encoded string', // optional + tagLength: 128 // optional, defaults to 128 bits +}); +cipher.update(forge.util.createBuffer(someBytes)); +cipher.finish(); +var encrypted = cipher.output; +var tag = cipher.mode.tag; +// outputs encrypted hex +console.log(encrypted.toHex()); +// outputs authentication tag +console.log(tag.toHex()); + +// decrypt some bytes using GCM mode +var decipher = forge.cipher.createDecipher('AES-GCM', key); +decipher.start({ + iv: iv, + additionalData: 'binary-encoded string', // optional + tagLength: 128, // optional, defaults to 128 bits + tag: tag // authentication tag from encryption +}); +decipher.update(encrypted); +var pass = decipher.finish(); +// pass is false if there was a failure (eg: authentication tag didn't match) +if(pass) { + // outputs decrypted hex + console.log(decipher.output.toHex()); +} +``` + +Using forge in Node.js to match openssl's "enc" command line tool (**Note**: OpenSSL "enc" uses a non-standard file format with a custom key derivation function and a fixed iteration count of 1, which some consider less secure than alternatives such as [OpenPGP](https://tools.ietf.org/html/rfc4880)/[GnuPG](https://www.gnupg.org/)): + +```js +var forge = require('node-forge'); +var fs = require('fs'); + +// openssl enc -des3 -in input.txt -out input.enc +function encrypt(password) { + var input = fs.readFileSync('input.txt', {encoding: 'binary'}); + + // 3DES key and IV sizes + var keySize = 24; + var ivSize = 8; + + // get derived bytes + // Notes: + // 1. If using an alternative hash (eg: "-md sha1") pass + // "forge.md.sha1.create()" as the final parameter. + // 2. If using "-nosalt", set salt to null. + var salt = forge.random.getBytesSync(8); + // var md = forge.md.sha1.create(); // "-md sha1" + var derivedBytes = forge.pbe.opensslDeriveBytes( + password, salt, keySize + ivSize/*, md*/); + var buffer = forge.util.createBuffer(derivedBytes); + var key = buffer.getBytes(keySize); + var iv = buffer.getBytes(ivSize); + + var cipher = forge.cipher.createCipher('3DES-CBC', key); + cipher.start({iv: iv}); + cipher.update(forge.util.createBuffer(input, 'binary')); + cipher.finish(); + + var output = forge.util.createBuffer(); + + // if using a salt, prepend this to the output: + if(salt !== null) { + output.putBytes('Salted__'); // (add to match openssl tool output) + output.putBytes(salt); + } + output.putBuffer(cipher.output); + + fs.writeFileSync('input.enc', output.getBytes(), {encoding: 'binary'}); +} + +// openssl enc -d -des3 -in input.enc -out input.dec.txt +function decrypt(password) { + var input = fs.readFileSync('input.enc', {encoding: 'binary'}); + + // parse salt from input + input = forge.util.createBuffer(input, 'binary'); + // skip "Salted__" (if known to be present) + input.getBytes('Salted__'.length); + // read 8-byte salt + var salt = input.getBytes(8); + + // Note: if using "-nosalt", skip above parsing and use + // var salt = null; + + // 3DES key and IV sizes + var keySize = 24; + var ivSize = 8; + + var derivedBytes = forge.pbe.opensslDeriveBytes( + password, salt, keySize + ivSize); + var buffer = forge.util.createBuffer(derivedBytes); + var key = buffer.getBytes(keySize); + var iv = buffer.getBytes(ivSize); + + var decipher = forge.cipher.createDecipher('3DES-CBC', key); + decipher.start({iv: iv}); + decipher.update(input); + var result = decipher.finish(); // check 'result' for true/false + + fs.writeFileSync( + 'input.dec.txt', decipher.output.getBytes(), {encoding: 'binary'}); +} +``` + + + +### AES + +Provides [AES][] encryption and decryption in [CBC][], [CFB][], [OFB][], +[CTR][], and [GCM][] modes. See [CIPHER](#cipher) for examples. + + + +### DES + +Provides [3DES][] and [DES][] encryption and decryption in [ECB][] and +[CBC][] modes. See [CIPHER](#cipher) for examples. + + + +### RC2 + +__Examples__ + +```js +// generate a random key and IV +var key = forge.random.getBytesSync(16); +var iv = forge.random.getBytesSync(8); + +// encrypt some bytes +var cipher = forge.rc2.createEncryptionCipher(key); +cipher.start(iv); +cipher.update(forge.util.createBuffer(someBytes)); +cipher.finish(); +var encrypted = cipher.output; +// outputs encrypted hex +console.log(encrypted.toHex()); + +// decrypt some bytes +var cipher = forge.rc2.createDecryptionCipher(key); +cipher.start(iv); +cipher.update(encrypted); +cipher.finish(); +// outputs decrypted hex +console.log(cipher.output.toHex()); +``` + +PKI +--- + +Provides [X.509][] certificate support, ED25519 key generation and +signing/verifying, and RSA public and private key encoding, decoding, +encryption/decryption, and signing/verifying. + + + +### ED25519 + +Special thanks to [TweetNaCl.js][] for providing the bulk of the implementation. + +__Examples__ + +```js +var ed25519 = forge.pki.ed25519; + +// generate a random ED25519 keypair +var keypair = ed25519.generateKeyPair(); +// `keypair.publicKey` is a node.js Buffer or Uint8Array +// `keypair.privateKey` is a node.js Buffer or Uint8Array + +// generate a random ED25519 keypair based on a random 32-byte seed +var seed = forge.random.getBytesSync(32); +var keypair = ed25519.generateKeyPair({seed: seed}); + +// generate a random ED25519 keypair based on a "password" 32-byte seed +var password = 'Mai9ohgh6ahxee0jutheew0pungoozil'; +var seed = new forge.util.ByteBuffer(password, 'utf8'); +var keypair = ed25519.generateKeyPair({seed: seed}); + +// sign a UTF-8 message +var signature = ED25519.sign({ + message: 'test', + // also accepts `binary` if you want to pass a binary string + encoding: 'utf8', + // node.js Buffer, Uint8Array, forge ByteBuffer, binary string + privateKey: privateKey +}); +// `signature` is a node.js Buffer or Uint8Array + +// sign a message passed as a buffer +var signature = ED25519.sign({ + // also accepts a forge ByteBuffer or Uint8Array + message: new Buffer('test', 'utf8'), + privateKey: privateKey +}); + +// sign a message digest (shorter "message" == better performance) +var md = forge.md.sha256.create(); +md.update('test', 'utf8'); +var signature = ED25519.sign({ + md: md, + privateKey: privateKey +}); + +// verify a signature on a UTF-8 message +var verified = ED25519.verify({ + message: 'test', + encoding: 'utf8', + // node.js Buffer, Uint8Array, forge ByteBuffer, or binary string + signature: signature, + // node.js Buffer, Uint8Array, forge ByteBuffer, or binary string + publicKey: publicKey +}); +// `verified` is true/false + +// sign a message passed as a buffer +var verified = ED25519.verify({ + // also accepts a forge ByteBuffer or Uint8Array + message: new Buffer('test', 'utf8'), + // node.js Buffer, Uint8Array, forge ByteBuffer, or binary string + signature: signature, + // node.js Buffer, Uint8Array, forge ByteBuffer, or binary string + publicKey: publicKey +}); + +// verify a signature on a message digest +var md = forge.md.sha256.create(); +md.update('test', 'utf8'); +var verified = ED25519.verify({ + md: md, + // node.js Buffer, Uint8Array, forge ByteBuffer, or binary string + signature: signature, + // node.js Buffer, Uint8Array, forge ByteBuffer, or binary string + publicKey: publicKey +}); +``` + + + +### RSA + +__Examples__ + +```js +var rsa = forge.pki.rsa; + +// generate an RSA key pair synchronously +// *NOT RECOMMENDED* -- can be significantly slower than async and will not +// use native APIs if available. +var keypair = rsa.generateKeyPair({bits: 2048, e: 0x10001}); + +// generate an RSA key pair asynchronously (uses web workers if available) +// use workers: -1 to run a fast core estimator to optimize # of workers +// *RECOMMENDED* - can be significantly faster than sync -- and will use +// native APIs if available. +rsa.generateKeyPair({bits: 2048, workers: 2}, function(err, keypair) { + // keypair.privateKey, keypair.publicKey +}); + +// generate an RSA key pair in steps that attempt to run for a specified period +// of time on the main JS thread +var state = rsa.createKeyPairGenerationState(2048, 0x10001); +var step = function() { + // run for 100 ms + if(!rsa.stepKeyPairGenerationState(state, 100)) { + setTimeout(step, 1); + } + else { + // done, turn off progress indicator, use state.keys + } +}; +// turn on progress indicator, schedule generation to run +setTimeout(step); + +// sign data with a private key and output DigestInfo DER-encoded bytes +// (defaults to RSASSA PKCS#1 v1.5) +var md = forge.md.sha1.create(); +md.update('sign this', 'utf8'); +var signature = privateKey.sign(md); + +// verify data with a public key +// (defaults to RSASSA PKCS#1 v1.5) +var verified = publicKey.verify(md.digest().bytes(), signature); + +// sign data using RSASSA-PSS where PSS uses a SHA-1 hash, a SHA-1 based +// masking function MGF1, and a 20 byte salt +var md = forge.md.sha1.create(); +md.update('sign this', 'utf8'); +var pss = forge.pss.create({ + md: forge.md.sha1.create(), + mgf: forge.mgf.mgf1.create(forge.md.sha1.create()), + saltLength: 20 + // optionally pass 'prng' with a custom PRNG implementation + // optionalls pass 'salt' with a forge.util.ByteBuffer w/custom salt +}); +var signature = privateKey.sign(md, pss); + +// verify RSASSA-PSS signature +var pss = forge.pss.create({ + md: forge.md.sha1.create(), + mgf: forge.mgf.mgf1.create(forge.md.sha1.create()), + saltLength: 20 + // optionally pass 'prng' with a custom PRNG implementation +}); +var md = forge.md.sha1.create(); +md.update('sign this', 'utf8'); +publicKey.verify(md.digest().getBytes(), signature, pss); + +// encrypt data with a public key (defaults to RSAES PKCS#1 v1.5) +var encrypted = publicKey.encrypt(bytes); + +// decrypt data with a private key (defaults to RSAES PKCS#1 v1.5) +var decrypted = privateKey.decrypt(encrypted); + +// encrypt data with a public key using RSAES PKCS#1 v1.5 +var encrypted = publicKey.encrypt(bytes, 'RSAES-PKCS1-V1_5'); + +// decrypt data with a private key using RSAES PKCS#1 v1.5 +var decrypted = privateKey.decrypt(encrypted, 'RSAES-PKCS1-V1_5'); + +// encrypt data with a public key using RSAES-OAEP +var encrypted = publicKey.encrypt(bytes, 'RSA-OAEP'); + +// decrypt data with a private key using RSAES-OAEP +var decrypted = privateKey.decrypt(encrypted, 'RSA-OAEP'); + +// encrypt data with a public key using RSAES-OAEP/SHA-256 +var encrypted = publicKey.encrypt(bytes, 'RSA-OAEP', { + md: forge.md.sha256.create() +}); + +// decrypt data with a private key using RSAES-OAEP/SHA-256 +var decrypted = privateKey.decrypt(encrypted, 'RSA-OAEP', { + md: forge.md.sha256.create() +}); + +// encrypt data with a public key using RSAES-OAEP/SHA-256/MGF1-SHA-1 +// compatible with Java's RSA/ECB/OAEPWithSHA-256AndMGF1Padding +var encrypted = publicKey.encrypt(bytes, 'RSA-OAEP', { + md: forge.md.sha256.create(), + mgf1: { + md: forge.md.sha1.create() + } +}); + +// decrypt data with a private key using RSAES-OAEP/SHA-256/MGF1-SHA-1 +// compatible with Java's RSA/ECB/OAEPWithSHA-256AndMGF1Padding +var decrypted = privateKey.decrypt(encrypted, 'RSA-OAEP', { + md: forge.md.sha256.create(), + mgf1: { + md: forge.md.sha1.create() + } +}); + +``` + + + +### RSA-KEM + +__Examples__ + +```js +// generate an RSA key pair asynchronously (uses web workers if available) +// use workers: -1 to run a fast core estimator to optimize # of workers +forge.rsa.generateKeyPair({bits: 2048, workers: -1}, function(err, keypair) { + // keypair.privateKey, keypair.publicKey +}); + +// generate and encapsulate a 16-byte secret key +var kdf1 = new forge.kem.kdf1(forge.md.sha1.create()); +var kem = forge.kem.rsa.create(kdf1); +var result = kem.encrypt(keypair.publicKey, 16); +// result has 'encapsulation' and 'key' + +// encrypt some bytes +var iv = forge.random.getBytesSync(12); +var someBytes = 'hello world!'; +var cipher = forge.cipher.createCipher('AES-GCM', result.key); +cipher.start({iv: iv}); +cipher.update(forge.util.createBuffer(someBytes)); +cipher.finish(); +var encrypted = cipher.output.getBytes(); +var tag = cipher.mode.tag.getBytes(); + +// send 'encrypted', 'iv', 'tag', and result.encapsulation to recipient + +// decrypt encapsulated 16-byte secret key +var kdf1 = new forge.kem.kdf1(forge.md.sha1.create()); +var kem = forge.kem.rsa.create(kdf1); +var key = kem.decrypt(keypair.privateKey, result.encapsulation, 16); + +// decrypt some bytes +var decipher = forge.cipher.createDecipher('AES-GCM', key); +decipher.start({iv: iv, tag: tag}); +decipher.update(forge.util.createBuffer(encrypted)); +var pass = decipher.finish(); +// pass is false if there was a failure (eg: authentication tag didn't match) +if(pass) { + // outputs 'hello world!' + console.log(decipher.output.getBytes()); +} + +``` + + + +### X.509 + +__Examples__ + +```js +var pki = forge.pki; + +// convert a PEM-formatted public key to a Forge public key +var publicKey = pki.publicKeyFromPem(pem); + +// convert a Forge public key to PEM-format +var pem = pki.publicKeyToPem(publicKey); + +// convert an ASN.1 SubjectPublicKeyInfo to a Forge public key +var publicKey = pki.publicKeyFromAsn1(subjectPublicKeyInfo); + +// convert a Forge public key to an ASN.1 SubjectPublicKeyInfo +var subjectPublicKeyInfo = pki.publicKeyToAsn1(publicKey); + +// gets a SHA-1 RSAPublicKey fingerprint a byte buffer +pki.getPublicKeyFingerprint(key); + +// gets a SHA-1 SubjectPublicKeyInfo fingerprint a byte buffer +pki.getPublicKeyFingerprint(key, {type: 'SubjectPublicKeyInfo'}); + +// gets a hex-encoded, colon-delimited SHA-1 RSAPublicKey public key fingerprint +pki.getPublicKeyFingerprint(key, {encoding: 'hex', delimiter: ':'}); + +// gets a hex-encoded, colon-delimited SHA-1 SubjectPublicKeyInfo public key fingerprint +pki.getPublicKeyFingerprint(key, { + type: 'SubjectPublicKeyInfo', + encoding: 'hex', + delimiter: ':' +}); + +// gets a hex-encoded, colon-delimited MD5 RSAPublicKey public key fingerprint +pki.getPublicKeyFingerprint(key, { + md: forge.md.md5.create(), + encoding: 'hex', + delimiter: ':' +}); + +// creates a CA store +var caStore = pki.createCaStore([/* PEM-encoded cert */, ...]); + +// add a certificate to the CA store +caStore.addCertificate(certObjectOrPemString); + +// gets the issuer (its certificate) for the given certificate +var issuerCert = caStore.getIssuer(subjectCert); + +// verifies a certificate chain against a CA store +pki.verifyCertificateChain(caStore, chain, customVerifyCallback); + +// signs a certificate using the given private key +cert.sign(privateKey); + +// signs a certificate using SHA-256 instead of SHA-1 +cert.sign(privateKey, forge.md.sha256.create()); + +// verifies an issued certificate using the certificates public key +var verified = issuer.verify(issued); + +// generate a keypair and create an X.509v3 certificate +var keys = pki.rsa.generateKeyPair(2048); +var cert = pki.createCertificate(); +cert.publicKey = keys.publicKey; +// alternatively set public key from a csr +//cert.publicKey = csr.publicKey; +// NOTE: serialNumber is the hex encoded value of an ASN.1 INTEGER. +// Conforming CAs should ensure serialNumber is: +// - no more than 20 octets +// - non-negative (prefix a '00' if your value starts with a '1' bit) +cert.serialNumber = '01'; +cert.validity.notBefore = new Date(); +cert.validity.notAfter = new Date(); +cert.validity.notAfter.setFullYear(cert.validity.notBefore.getFullYear() + 1); +var attrs = [{ + name: 'commonName', + value: 'example.org' +}, { + name: 'countryName', + value: 'US' +}, { + shortName: 'ST', + value: 'Virginia' +}, { + name: 'localityName', + value: 'Blacksburg' +}, { + name: 'organizationName', + value: 'Test' +}, { + shortName: 'OU', + value: 'Test' +}]; +cert.setSubject(attrs); +// alternatively set subject from a csr +//cert.setSubject(csr.subject.attributes); +cert.setIssuer(attrs); +cert.setExtensions([{ + name: 'basicConstraints', + cA: true +}, { + name: 'keyUsage', + keyCertSign: true, + digitalSignature: true, + nonRepudiation: true, + keyEncipherment: true, + dataEncipherment: true +}, { + name: 'extKeyUsage', + serverAuth: true, + clientAuth: true, + codeSigning: true, + emailProtection: true, + timeStamping: true +}, { + name: 'nsCertType', + client: true, + server: true, + email: true, + objsign: true, + sslCA: true, + emailCA: true, + objCA: true +}, { + name: 'subjectAltName', + altNames: [{ + type: 6, // URI + value: 'http://example.org/webid#me' + }, { + type: 7, // IP + ip: '127.0.0.1' + }] +}, { + name: 'subjectKeyIdentifier' +}]); +/* alternatively set extensions from a csr +var extensions = csr.getAttribute({name: 'extensionRequest'}).extensions; +// optionally add more extensions +extensions.push.apply(extensions, [{ + name: 'basicConstraints', + cA: true +}, { + name: 'keyUsage', + keyCertSign: true, + digitalSignature: true, + nonRepudiation: true, + keyEncipherment: true, + dataEncipherment: true +}]); +cert.setExtensions(extensions); +*/ +// self-sign certificate +cert.sign(keys.privateKey); + +// convert a Forge certificate to PEM +var pem = pki.certificateToPem(cert); + +// convert a Forge certificate from PEM +var cert = pki.certificateFromPem(pem); + +// convert an ASN.1 X.509x3 object to a Forge certificate +var cert = pki.certificateFromAsn1(obj); + +// convert a Forge certificate to an ASN.1 X.509v3 object +var asn1Cert = pki.certificateToAsn1(cert); +``` + + + +### PKCS#5 + +Provides the password-based key-derivation function from [PKCS#5][]. + +__Examples__ + +```js +// generate a password-based 16-byte key +// note an optional message digest can be passed as the final parameter +var salt = forge.random.getBytesSync(128); +var derivedKey = forge.pkcs5.pbkdf2('password', salt, numIterations, 16); + +// generate key asynchronously +// note an optional message digest can be passed before the callback +forge.pkcs5.pbkdf2('password', salt, numIterations, 16, function(err, derivedKey) { + // do something w/derivedKey +}); +``` + + + +### PKCS#7 + +Provides cryptographically protected messages from [PKCS#7][]. + +__Examples__ + +```js +// convert a message from PEM +var p7 = forge.pkcs7.messageFromPem(pem); +// look at p7.recipients + +// find a recipient by the issuer of a certificate +var recipient = p7.findRecipient(cert); + +// decrypt +p7.decrypt(p7.recipients[0], privateKey); + +// create a p7 enveloped message +var p7 = forge.pkcs7.createEnvelopedData(); + +// add a recipient +var cert = forge.pki.certificateFromPem(certPem); +p7.addRecipient(cert); + +// set content +p7.content = forge.util.createBuffer('Hello'); + +// encrypt +p7.encrypt(); + +// convert message to PEM +var pem = forge.pkcs7.messageToPem(p7); + +// create a degenerate PKCS#7 certificate container +// (CRLs not currently supported, only certificates) +var p7 = forge.pkcs7.createSignedData(); +p7.addCertificate(certOrCertPem1); +p7.addCertificate(certOrCertPem2); +var pem = forge.pkcs7.messageToPem(p7); + +// create PKCS#7 signed data with authenticatedAttributes +// attributes include: PKCS#9 content-type, message-digest, and signing-time +var p7 = forge.pkcs7.createSignedData(); +p7.content = forge.util.createBuffer('Some content to be signed.', 'utf8'); +p7.addCertificate(certOrCertPem); +p7.addSigner({ + key: privateKeyAssociatedWithCert, + certificate: certOrCertPem, + digestAlgorithm: forge.pki.oids.sha256, + authenticatedAttributes: [{ + type: forge.pki.oids.contentType, + value: forge.pki.oids.data + }, { + type: forge.pki.oids.messageDigest + // value will be auto-populated at signing time + }, { + type: forge.pki.oids.signingTime, + // value can also be auto-populated at signing time + value: new Date() + }] +}); +p7.sign(); +var pem = forge.pkcs7.messageToPem(p7); + +// PKCS#7 Sign in detached mode. +// Includes the signature and certificate without the signed data. +p7.sign({detached: true}); + +``` + + + +### PKCS#8 + +__Examples__ + +```js +var pki = forge.pki; + +// convert a PEM-formatted private key to a Forge private key +var privateKey = pki.privateKeyFromPem(pem); + +// convert a Forge private key to PEM-format +var pem = pki.privateKeyToPem(privateKey); + +// convert an ASN.1 PrivateKeyInfo or RSAPrivateKey to a Forge private key +var privateKey = pki.privateKeyFromAsn1(rsaPrivateKey); + +// convert a Forge private key to an ASN.1 RSAPrivateKey +var rsaPrivateKey = pki.privateKeyToAsn1(privateKey); + +// wrap an RSAPrivateKey ASN.1 object in a PKCS#8 ASN.1 PrivateKeyInfo +var privateKeyInfo = pki.wrapRsaPrivateKey(rsaPrivateKey); + +// convert a PKCS#8 ASN.1 PrivateKeyInfo to PEM +var pem = pki.privateKeyInfoToPem(privateKeyInfo); + +// encrypts a PrivateKeyInfo and outputs an EncryptedPrivateKeyInfo +var encryptedPrivateKeyInfo = pki.encryptPrivateKeyInfo( + privateKeyInfo, 'password', { + algorithm: 'aes256', // 'aes128', 'aes192', 'aes256', '3des' + }); + +// decrypts an ASN.1 EncryptedPrivateKeyInfo +var privateKeyInfo = pki.decryptPrivateKeyInfo( + encryptedPrivateKeyInfo, 'password'); + +// converts an EncryptedPrivateKeyInfo to PEM +var pem = pki.encryptedPrivateKeyToPem(encryptedPrivateKeyInfo); + +// converts a PEM-encoded EncryptedPrivateKeyInfo to ASN.1 format +var encryptedPrivateKeyInfo = pki.encryptedPrivateKeyFromPem(pem); + +// wraps and encrypts a Forge private key and outputs it in PEM format +var pem = pki.encryptRsaPrivateKey(privateKey, 'password'); + +// encrypts a Forge private key and outputs it in PEM format using OpenSSL's +// proprietary legacy format + encapsulated PEM headers (DEK-Info) +var pem = pki.encryptRsaPrivateKey(privateKey, 'password', {legacy: true}); + +// decrypts a PEM-formatted, encrypted private key +var privateKey = pki.decryptRsaPrivateKey(pem, 'password'); + +// sets an RSA public key from a private key +var publicKey = pki.setRsaPublicKey(privateKey.n, privateKey.e); +``` + + + +### PKCS#10 + +Provides certification requests or certificate signing requests (CSR) from +[PKCS#10][]. + +__Examples__ + +```js +// generate a key pair +var keys = forge.pki.rsa.generateKeyPair(1024); + +// create a certification request (CSR) +var csr = forge.pki.createCertificationRequest(); +csr.publicKey = keys.publicKey; +csr.setSubject([{ + name: 'commonName', + value: 'example.org' +}, { + name: 'countryName', + value: 'US' +}, { + shortName: 'ST', + value: 'Virginia' +}, { + name: 'localityName', + value: 'Blacksburg' +}, { + name: 'organizationName', + value: 'Test' +}, { + shortName: 'OU', + value: 'Test' +}]); +// set (optional) attributes +csr.setAttributes([{ + name: 'challengePassword', + value: 'password' +}, { + name: 'unstructuredName', + value: 'My Company, Inc.' +}, { + name: 'extensionRequest', + extensions: [{ + name: 'subjectAltName', + altNames: [{ + // 2 is DNS type + type: 2, + value: 'test.domain.com' + }, { + type: 2, + value: 'other.domain.com', + }, { + type: 2, + value: 'www.domain.net' + }] + }] +}]); + +// sign certification request +csr.sign(keys.privateKey); + +// verify certification request +var verified = csr.verify(); + +// convert certification request to PEM-format +var pem = forge.pki.certificationRequestToPem(csr); + +// convert a Forge certification request from PEM-format +var csr = forge.pki.certificationRequestFromPem(pem); + +// get an attribute +csr.getAttribute({name: 'challengePassword'}); + +// get extensions array +csr.getAttribute({name: 'extensionRequest'}).extensions; + +``` + + + +### PKCS#12 + +Provides the cryptographic archive file format from [PKCS#12][]. + +**Note for Chrome/Firefox/iOS/similar users**: If you have trouble importing +a PKCS#12 container, try using the TripleDES algorithm. It can be passed +to `forge.pkcs12.toPkcs12Asn1` using the `{algorithm: '3des'}` option. + +__Examples__ + +```js +// decode p12 from base64 +var p12Der = forge.util.decode64(p12b64); +// get p12 as ASN.1 object +var p12Asn1 = forge.asn1.fromDer(p12Der); +// decrypt p12 using the password 'password' +var p12 = forge.pkcs12.pkcs12FromAsn1(p12Asn1, 'password'); +// decrypt p12 using non-strict parsing mode (resolves some ASN.1 parse errors) +var p12 = forge.pkcs12.pkcs12FromAsn1(p12Asn1, false, 'password'); +// decrypt p12 using literally no password (eg: Mac OS X/apple push) +var p12 = forge.pkcs12.pkcs12FromAsn1(p12Asn1); +// decrypt p12 using an "empty" password (eg: OpenSSL with no password input) +var p12 = forge.pkcs12.pkcs12FromAsn1(p12Asn1, ''); +// p12.safeContents is an array of safe contents, each of +// which contains an array of safeBags + +// get bags by friendlyName +var bags = p12.getBags({friendlyName: 'test'}); +// bags are key'd by attribute type (here "friendlyName") +// and the key values are an array of matching objects +var cert = bags.friendlyName[0]; + +// get bags by localKeyId +var bags = p12.getBags({localKeyId: buffer}); +// bags are key'd by attribute type (here "localKeyId") +// and the key values are an array of matching objects +var cert = bags.localKeyId[0]; + +// get bags by localKeyId (input in hex) +var bags = p12.getBags({localKeyIdHex: '7b59377ff142d0be4565e9ac3d396c01401cd879'}); +// bags are key'd by attribute type (here "localKeyId", *not* "localKeyIdHex") +// and the key values are an array of matching objects +var cert = bags.localKeyId[0]; + +// get bags by type +var bags = p12.getBags({bagType: forge.pki.oids.certBag}); +// bags are key'd by bagType and each bagType key's value +// is an array of matches (in this case, certificate objects) +var cert = bags[forge.pki.oids.certBag][0]; + +// get bags by friendlyName and filter on bag type +var bags = p12.getBags({ + friendlyName: 'test', + bagType: forge.pki.oids.certBag +}); + +// get key bags +var bags = p12.getBags({bagType: forge.pki.oids.keyBag}); +// get key +var bag = bags[forge.pki.oids.keyBag][0]; +var key = bag.key; +// if the key is in a format unrecognized by forge then +// bag.key will be `null`, use bag.asn1 to get the ASN.1 +// representation of the key +if(bag.key === null) { + var keyAsn1 = bag.asn1; + // can now convert back to DER/PEM/etc for export +} + +// generate a p12 using AES (default) +var p12Asn1 = forge.pkcs12.toPkcs12Asn1( + privateKey, certificateChain, 'password'); + +// generate a p12 that can be imported by Chrome/Firefox/iOS +// (requires the use of Triple DES instead of AES) +var p12Asn1 = forge.pkcs12.toPkcs12Asn1( + privateKey, certificateChain, 'password', + {algorithm: '3des'}); + +// base64-encode p12 +var p12Der = forge.asn1.toDer(p12Asn1).getBytes(); +var p12b64 = forge.util.encode64(p12Der); + +// create download link for p12 +var a = document.createElement('a'); +a.download = 'example.p12'; +a.setAttribute('href', 'data:application/x-pkcs12;base64,' + p12b64); +a.appendChild(document.createTextNode('Download')); +``` + + + +### ASN.1 + +Provides [ASN.1][] DER encoding and decoding. + +__Examples__ + +```js +var asn1 = forge.asn1; + +// create a SubjectPublicKeyInfo +var subjectPublicKeyInfo = + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + // AlgorithmIdentifier + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + // algorithm + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, + asn1.oidToDer(pki.oids['rsaEncryption']).getBytes()), + // parameters (null) + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.NULL, false, '') + ]), + // subjectPublicKey + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.BITSTRING, false, [ + // RSAPublicKey + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + // modulus (n) + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, + _bnToBytes(key.n)), + // publicExponent (e) + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, + _bnToBytes(key.e)) + ]) + ]) + ]); + +// serialize an ASN.1 object to DER format +var derBuffer = asn1.toDer(subjectPublicKeyInfo); + +// deserialize to an ASN.1 object from a byte buffer filled with DER data +var object = asn1.fromDer(derBuffer); + +// convert an OID dot-separated string to a byte buffer +var derOidBuffer = asn1.oidToDer('1.2.840.113549.1.1.5'); + +// convert a byte buffer with a DER-encoded OID to a dot-separated string +console.log(asn1.derToOid(derOidBuffer)); +// output: 1.2.840.113549.1.1.5 + +// validates that an ASN.1 object matches a particular ASN.1 structure and +// captures data of interest from that structure for easy access +var publicKeyValidator = { + name: 'SubjectPublicKeyInfo', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SEQUENCE, + constructed: true, + captureAsn1: 'subjectPublicKeyInfo', + value: [{ + name: 'SubjectPublicKeyInfo.AlgorithmIdentifier', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SEQUENCE, + constructed: true, + value: [{ + name: 'AlgorithmIdentifier.algorithm', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.OID, + constructed: false, + capture: 'publicKeyOid' + }] + }, { + // subjectPublicKey + name: 'SubjectPublicKeyInfo.subjectPublicKey', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.BITSTRING, + constructed: false, + value: [{ + // RSAPublicKey + name: 'SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SEQUENCE, + constructed: true, + optional: true, + captureAsn1: 'rsaPublicKey' + }] + }] +}; + +var capture = {}; +var errors = []; +if(!asn1.validate( + publicKeyValidator, subjectPublicKeyInfo, validator, capture, errors)) { + throw 'ASN.1 object is not a SubjectPublicKeyInfo.'; +} +// capture.subjectPublicKeyInfo contains the full ASN.1 object +// capture.rsaPublicKey contains the full ASN.1 object for the RSA public key +// capture.publicKeyOid only contains the value for the OID +var oid = asn1.derToOid(capture.publicKeyOid); +if(oid !== pki.oids['rsaEncryption']) { + throw 'Unsupported OID.'; +} + +// pretty print an ASN.1 object to a string for debugging purposes +asn1.prettyPrint(object); +``` + +Message Digests +---------------- + + + +### SHA1 + +Provides [SHA-1][] message digests. + +__Examples__ + +```js +var md = forge.md.sha1.create(); +md.update('The quick brown fox jumps over the lazy dog'); +console.log(md.digest().toHex()); +// output: 2fd4e1c67a2d28fced849ee1bb76e7391b93eb12 +``` + + + +### SHA256 + +Provides [SHA-256][] message digests. + +__Examples__ + +```js +var md = forge.md.sha256.create(); +md.update('The quick brown fox jumps over the lazy dog'); +console.log(md.digest().toHex()); +// output: d7a8fbb307d7809469ca9abcb0082e4f8d5651e46d3cdb762d02d0bf37c9e592 +``` + + + +### SHA384 + +Provides [SHA-384][] message digests. + +__Examples__ + +```js +var md = forge.md.sha384.create(); +md.update('The quick brown fox jumps over the lazy dog'); +console.log(md.digest().toHex()); +// output: ca737f1014a48f4c0b6dd43cb177b0afd9e5169367544c494011e3317dbf9a509cb1e5dc1e85a941bbee3d7f2afbc9b1 +``` + + + +### SHA512 + +Provides [SHA-512][] message digests. + +__Examples__ + +```js +// SHA-512 +var md = forge.md.sha512.create(); +md.update('The quick brown fox jumps over the lazy dog'); +console.log(md.digest().toHex()); +// output: 07e547d9586f6a73f73fbac0435ed76951218fb7d0c8d788a309d785436bbb642e93a252a954f23912547d1e8a3b5ed6e1bfd7097821233fa0538f3db854fee6 + +// SHA-512/224 +var md = forge.md.sha512.sha224.create(); +md.update('The quick brown fox jumps over the lazy dog'); +console.log(md.digest().toHex()); +// output: 944cd2847fb54558d4775db0485a50003111c8e5daa63fe722c6aa37 + +// SHA-512/256 +var md = forge.md.sha512.sha256.create(); +md.update('The quick brown fox jumps over the lazy dog'); +console.log(md.digest().toHex()); +// output: dd9d67b371519c339ed8dbd25af90e976a1eeefd4ad3d889005e532fc5bef04d +``` + + + +### MD5 + +Provides [MD5][] message digests. + +__Examples__ + +```js +var md = forge.md.md5.create(); +md.update('The quick brown fox jumps over the lazy dog'); +console.log(md.digest().toHex()); +// output: 9e107d9d372bb6826bd81d3542a419d6 +``` + + + +### HMAC + +Provides [HMAC][] w/any supported message digest algorithm. + +__Examples__ + +```js +var hmac = forge.hmac.create(); +hmac.start('sha1', 'Jefe'); +hmac.update('what do ya want for nothing?'); +console.log(hmac.digest().toHex()); +// output: effcdf6ae5eb2fa2d27416d5f184df9c259a7c79 +``` + +Utilities +--------- + + + +### Prime + +Provides an API for generating large, random, probable primes. + +__Examples__ + +```js +// generate a random prime on the main JS thread +var bits = 1024; +forge.prime.generateProbablePrime(bits, function(err, num) { + console.log('random prime', num.toString(16)); +}); + +// generate a random prime using Web Workers (if available, otherwise +// falls back to the main thread) +var bits = 1024; +var options = { + algorithm: { + name: 'PRIMEINC', + workers: -1 // auto-optimize # of workers + } +}; +forge.prime.generateProbablePrime(bits, options, function(err, num) { + console.log('random prime', num.toString(16)); +}); +``` + + + +### PRNG + +Provides a [Fortuna][]-based cryptographically-secure pseudo-random number +generator, to be used with a cryptographic function backend, e.g. [AES][]. An +implementation using [AES][] as a backend is provided. An API for collecting +entropy is given, though if window.crypto.getRandomValues is available, it will +be used automatically. + +__Examples__ + +```js +// get some random bytes synchronously +var bytes = forge.random.getBytesSync(32); +console.log(forge.util.bytesToHex(bytes)); + +// get some random bytes asynchronously +forge.random.getBytes(32, function(err, bytes) { + console.log(forge.util.bytesToHex(bytes)); +}); + +// collect some entropy if you'd like +forge.random.collect(someRandomBytes); +jQuery().mousemove(function(e) { + forge.random.collectInt(e.clientX, 16); + forge.random.collectInt(e.clientY, 16); +}); + +// specify a seed file for use with the synchronous API if you'd like +forge.random.seedFileSync = function(needed) { + // get 'needed' number of random bytes from somewhere + return fetchedRandomBytes; +}; + +// specify a seed file for use with the asynchronous API if you'd like +forge.random.seedFile = function(needed, callback) { + // get the 'needed' number of random bytes from somewhere + callback(null, fetchedRandomBytes); +}); + +// register the main thread to send entropy or a Web Worker to receive +// entropy on demand from the main thread +forge.random.registerWorker(self); + +// generate a new instance of a PRNG with no collected entropy +var myPrng = forge.random.createInstance(); +``` + + + +### Tasks + +Provides queuing and synchronizing tasks in a web application. + +__Examples__ + +```js +// TODO +``` + + + +### Utilities + +Provides utility functions, including byte buffer support, base64, +bytes to/from hex, zlib inflate/deflate, etc. + +__Examples__ + +```js +// encode/decode base64 +var encoded = forge.util.encode64(str); +var str = forge.util.decode64(encoded); + +// encode/decode UTF-8 +var encoded = forge.util.encodeUtf8(str); +var str = forge.util.decodeUtf8(encoded); + +// bytes to/from hex +var bytes = forge.util.hexToBytes(hex); +var hex = forge.util.bytesToHex(bytes); + +// create an empty byte buffer +var buffer = forge.util.createBuffer(); +// create a byte buffer from raw binary bytes +var buffer = forge.util.createBuffer(input, 'raw'); +// create a byte buffer from utf8 bytes +var buffer = forge.util.createBuffer(input, 'utf8'); + +// get the length of the buffer in bytes +buffer.length(); +// put bytes into the buffer +buffer.putBytes(bytes); +// put a 32-bit integer into the buffer +buffer.putInt32(10); +// buffer to hex +buffer.toHex(); +// get a copy of the bytes in the buffer +bytes.bytes(/* count */); +// empty this buffer and get its contents +bytes.getBytes(/* count */); + +// convert a forge buffer into a Node.js Buffer +// make sure you specify the encoding as 'binary' +var forgeBuffer = forge.util.createBuffer(); +var nodeBuffer = new Buffer(forgeBuffer.getBytes(), 'binary'); + +// convert a Node.js Buffer into a forge buffer +// make sure you specify the encoding as 'binary' +var nodeBuffer = new Buffer(); +var forgeBuffer = forge.util.createBuffer(nodeBuffer.toString('binary')); + +// parse a URL +var parsed = forge.util.parseUrl('http://example.com/foo?bar=baz'); +// parsed.scheme, parsed.host, parsed.port, parsed.path, parsed.fullHost +``` + + + +### Logging + +Provides logging to a javascript console using various categories and +levels of verbosity. + +__Examples__ + +```js +// TODO +``` + + + +### Debugging + +Provides storage of debugging information normally inaccessible in +closures for viewing/investigation. + +__Examples__ + +```js +// TODO +``` + + + +### Flash Networking Support + +The [flash README](./flash/README.md) provides details on rebuilding the +optional Flash component used for networking. It also provides details on +Policy Server support. + +Security Considerations +----------------------- + +When using this code please keep the following in mind: + +- Cryptography is hard. Please review and test this code before depending on it + for critical functionality. +- The nature of JavaScript is that execution of this code depends on trusting a + very large set of JavaScript tools and systems. Consider runtime variations, + runtime characteristics, runtime optimization, code optimization, code + minimization, code obfuscation, bundling tools, possible bugs, the Forge code + itself, and so on. +- If using pre-built bundles from [Bower][] or similar be aware someone else + ran the tools to create those files. +- Use a secure transport channel such as [TLS][] to load scripts and consider + using additional security mechanisms such as [Subresource Integrity][] script + attributes. +- Use "native" functionality where possible. This can be critical when dealing + with performance and random number generation. Note that the JavaScript + random number algorithms should perform well if given suitable entropy. +- Understand possible attacks against cryptographic systems. For instance side + channel and timing attacks may be possible due to the difficulty in + implementing constant time algorithms in pure JavaScript. +- Certain features in this library are less susceptible to attacks depending on + usage. This primarily includes features that deal with data format + manipulation or those that are not involved in communication. + +Library Background +------------------ + +* http://digitalbazaar.com/2010/07/20/javascript-tls-1/ +* http://digitalbazaar.com/2010/07/20/javascript-tls-2/ + +Contact +------- + +* Code: https://github.com/digitalbazaar/forge +* Bugs: https://github.com/digitalbazaar/forge/issues +* Email: support@digitalbazaar.com +* IRC: [#forgejs][] on [freenode][] + +Donations +--------- + +Financial support is welcome and helps contribute to futher development: + +* For [PayPal][] please send to paypal@digitalbazaar.com. +* Something else? Please contact support@digitalbazaar.com. + +[#forgejs]: https://webchat.freenode.net/?channels=#forgejs +[0.6.x]: https://github.com/digitalbazaar/forge/tree/0.6.x +[3DES]: http://en.wikipedia.org/wiki/Triple_DES +[AES]: http://en.wikipedia.org/wiki/Advanced_Encryption_Standard +[ASN.1]: http://en.wikipedia.org/wiki/ASN.1 +[Bower]: https://bower.io/ +[Browserify]: http://browserify.org/ +[CBC]: http://en.wikipedia.org/wiki/Block_cipher_mode_of_operation +[CFB]: http://en.wikipedia.org/wiki/Block_cipher_mode_of_operation +[CTR]: http://en.wikipedia.org/wiki/Block_cipher_mode_of_operation +[CommonJS]: https://en.wikipedia.org/wiki/CommonJS +[DES]: http://en.wikipedia.org/wiki/Data_Encryption_Standard +[ECB]: http://en.wikipedia.org/wiki/Block_cipher_mode_of_operation +[Fortuna]: http://en.wikipedia.org/wiki/Fortuna_(PRNG) +[GCM]: http://en.wikipedia.org/wiki/GCM_mode +[HMAC]: http://en.wikipedia.org/wiki/HMAC +[JavaScript]: http://en.wikipedia.org/wiki/JavaScript +[Karma]: https://karma-runner.github.io/ +[MD5]: http://en.wikipedia.org/wiki/MD5 +[Node.js]: http://nodejs.org/ +[OFB]: http://en.wikipedia.org/wiki/Block_cipher_mode_of_operation +[PKCS#10]: http://en.wikipedia.org/wiki/Certificate_signing_request +[PKCS#12]: http://en.wikipedia.org/wiki/PKCS_%E2%99%AF12 +[PKCS#5]: http://en.wikipedia.org/wiki/PKCS +[PKCS#7]: http://en.wikipedia.org/wiki/Cryptographic_Message_Syntax +[PayPal]: https://www.paypal.com/ +[RC2]: http://en.wikipedia.org/wiki/RC2 +[SHA-1]: http://en.wikipedia.org/wiki/SHA-1 +[SHA-256]: http://en.wikipedia.org/wiki/SHA-256 +[SHA-384]: http://en.wikipedia.org/wiki/SHA-384 +[SHA-512]: http://en.wikipedia.org/wiki/SHA-512 +[Subresource Integrity]: https://www.w3.org/TR/SRI/ +[TLS]: http://en.wikipedia.org/wiki/Transport_Layer_Security +[UMD]: https://github.com/umdjs/umd +[X.509]: http://en.wikipedia.org/wiki/X.509 +[freenode]: https://freenode.net/ +[unpkg]: https://unpkg.com/ +[webpack]: https://webpack.github.io/ +[TweetNaCl]: https://github.com/dchest/tweetnacl-js diff --git a/express-server/node_modules/node-forge/dist/forge.all.min.js b/express-server/node_modules/node-forge/dist/forge.all.min.js new file mode 100644 index 00000000..8444da4b --- /dev/null +++ b/express-server/node_modules/node-forge/dist/forge.all.min.js @@ -0,0 +1,2 @@ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.forge=t():e.forge=t()}("undefined"!=typeof self?self:this,function(){return function(e){function t(n){if(r[n])return r[n].exports;var a=r[n]={i:n,l:!1,exports:{}};return e[n].call(a.exports,a,a.exports,t),a.l=!0,a.exports}var r={};return t.m=e,t.c=r,t.d=function(e,r,n){t.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:n})},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=36)}([function(e,t){e.exports={options:{usePureJavaScript:!1}}},function(e,t,r){function n(e){if(8!==e&&16!==e&&24!==e&&32!==e)throw new Error("Only 8, 16, 24, or 32 bits supported: "+e)}function a(e){if(this.data="",this.read=0,"string"==typeof e)this.data=e;else if(c.isArrayBuffer(e)||c.isArrayBufferView(e))if("undefined"!=typeof Buffer&&e instanceof Buffer)this.data=e.toString("binary");else{var t=new Uint8Array(e);try{this.data=String.fromCharCode.apply(null,t)}catch(e){for(var r=0;r15?(n=Date.now(),s(e)):(r.push(e),1===r.length&&i.setAttribute("a",a=!a))}}c.nextTick=c.setImmediate}(),c.isNodejs="undefined"!=typeof process&&process.versions&&process.versions.node,c.isArray=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)},c.isArrayBuffer=function(e){return"undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer},c.isArrayBufferView=function(e){return e&&c.isArrayBuffer(e.buffer)&&void 0!==e.byteLength},c.ByteBuffer=a,c.ByteStringBuffer=a;c.ByteStringBuffer.prototype._optimizeConstructedString=function(e){this._constructedStringLength+=e,this._constructedStringLength>4096&&(this.data.substr(0,1),this._constructedStringLength=0)},c.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read},c.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0},c.ByteStringBuffer.prototype.putByte=function(e){return this.putBytes(String.fromCharCode(e))},c.ByteStringBuffer.prototype.fillWithByte=function(e,t){e=String.fromCharCode(e);for(var r=this.data;t>0;)1&t&&(r+=e),(t>>>=1)>0&&(e+=e);return this.data=r,this._optimizeConstructedString(t),this},c.ByteStringBuffer.prototype.putBytes=function(e){return this.data+=e,this._optimizeConstructedString(e.length),this},c.ByteStringBuffer.prototype.putString=function(e){return this.putBytes(c.encodeUtf8(e))},c.ByteStringBuffer.prototype.putInt16=function(e){return this.putBytes(String.fromCharCode(e>>8&255)+String.fromCharCode(255&e))},c.ByteStringBuffer.prototype.putInt24=function(e){return this.putBytes(String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(255&e))},c.ByteStringBuffer.prototype.putInt32=function(e){return this.putBytes(String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(255&e))},c.ByteStringBuffer.prototype.putInt16Le=function(e){return this.putBytes(String.fromCharCode(255&e)+String.fromCharCode(e>>8&255))},c.ByteStringBuffer.prototype.putInt24Le=function(e){return this.putBytes(String.fromCharCode(255&e)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255))},c.ByteStringBuffer.prototype.putInt32Le=function(e){return this.putBytes(String.fromCharCode(255&e)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>24&255))},c.ByteStringBuffer.prototype.putInt=function(e,t){n(t);var r="";do{t-=8,r+=String.fromCharCode(e>>t&255)}while(t>0);return this.putBytes(r)},c.ByteStringBuffer.prototype.putSignedInt=function(e,t){return e<0&&(e+=2<0);return t},c.ByteStringBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<=r&&(t-=r<<1),t},c.ByteStringBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):0===e?t="":(t=0===this.read?this.data:this.data.slice(this.read),this.clear()),t},c.ByteStringBuffer.prototype.bytes=function(e){return void 0===e?this.data.slice(this.read):this.data.slice(this.read,this.read+e)},c.ByteStringBuffer.prototype.at=function(e){return this.data.charCodeAt(this.read+e)},c.ByteStringBuffer.prototype.setAt=function(e,t){return this.data=this.data.substr(0,this.read+e)+String.fromCharCode(t)+this.data.substr(this.read+e+1),this},c.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)},c.ByteStringBuffer.prototype.copy=function(){var e=c.createBuffer(this.data);return e.read=this.read,e},c.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this},c.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this},c.ByteStringBuffer.prototype.truncate=function(e){var t=Math.max(0,this.length()-e);return this.data=this.data.substr(this.read,t),this.read=0,this},c.ByteStringBuffer.prototype.toHex=function(){for(var e="",t=this.read;t=e)return this;t=Math.max(t||this.growSize,e);var r=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),n=new Uint8Array(this.length()+t);return n.set(r),this.data=new DataView(n.buffer),this},c.DataBuffer.prototype.putByte=function(e){return this.accommodate(1),this.data.setUint8(this.write++,e),this},c.DataBuffer.prototype.fillWithByte=function(e,t){this.accommodate(t);for(var r=0;r>8&65535),this.data.setInt8(this.write,e>>16&255),this.write+=3,this},c.DataBuffer.prototype.putInt32=function(e){return this.accommodate(4),this.data.setInt32(this.write,e),this.write+=4,this},c.DataBuffer.prototype.putInt16Le=function(e){return this.accommodate(2),this.data.setInt16(this.write,e,!0),this.write+=2,this},c.DataBuffer.prototype.putInt24Le=function(e){return this.accommodate(3),this.data.setInt8(this.write,e>>16&255),this.data.setInt16(this.write,e>>8&65535,!0),this.write+=3,this},c.DataBuffer.prototype.putInt32Le=function(e){return this.accommodate(4),this.data.setInt32(this.write,e,!0),this.write+=4,this},c.DataBuffer.prototype.putInt=function(e,t){n(t),this.accommodate(t/8);do{t-=8,this.data.setInt8(this.write++,e>>t&255)}while(t>0);return this},c.DataBuffer.prototype.putSignedInt=function(e,t){return n(t),this.accommodate(t/8),e<0&&(e+=2<0);return t},c.DataBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<=r&&(t-=r<<1),t},c.DataBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):0===e?t="":(t=0===this.read?this.data:this.data.slice(this.read),this.clear()),t},c.DataBuffer.prototype.bytes=function(e){return void 0===e?this.data.slice(this.read):this.data.slice(this.read,this.read+e)},c.DataBuffer.prototype.at=function(e){return this.data.getUint8(this.read+e)},c.DataBuffer.prototype.setAt=function(e,t){return this.data.setUint8(e,t),this},c.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)},c.DataBuffer.prototype.copy=function(){return new c.DataBuffer(this)},c.DataBuffer.prototype.compact=function(){if(this.read>0){var e=new Uint8Array(this.data.buffer,this.read),t=new Uint8Array(e.byteLength);t.set(e),this.data=new DataView(t),this.write-=this.read,this.read=0}return this},c.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this},c.DataBuffer.prototype.truncate=function(e){return this.write=Math.max(0,this.length()-e),this.read=Math.min(this.read,this.write),this},c.DataBuffer.prototype.toHex=function(){for(var e="",t=this.read;t0;)1&t&&(r+=e),(t>>>=1)>0&&(e+=e);return r},c.xorBytes=function(e,t,r){for(var n="",a="",i="",s=0,o=0;r>0;--r,++s)a=e.charCodeAt(s)^t.charCodeAt(s),o>=10&&(n+=i,i="",o=0),i+=String.fromCharCode(a),++o;return n+=i},c.hexToBytes=function(e){var t="",r=0;for(!0&e.length&&(r=1,t+=String.fromCharCode(parseInt(e[0],16)));r>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(255&e)};var u="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",l=[62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,64,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],p="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";c.encode64=function(e,t){for(var r,n,a,i="",s="",o=0;o>2),i+=u.charAt((3&r)<<4|n>>4),isNaN(n)?i+="==":(i+=u.charAt((15&n)<<2|a>>6),i+=isNaN(a)?"=":u.charAt(63&a)),t&&i.length>t&&(s+=i.substr(0,t)+"\r\n",i=i.substr(t));return s+=i},c.decode64=function(e){e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var t,r,n,a,i="",s=0;s>4),64!==n&&(i+=String.fromCharCode((15&r)<<4|n>>2),64!==a&&(i+=String.fromCharCode((3&n)<<6|a)));return i},c.encodeUtf8=function(e){return unescape(encodeURIComponent(e))},c.decodeUtf8=function(e){return decodeURIComponent(escape(e))},c.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:o.encode,decode:o.decode}},c.binary.raw.encode=function(e){return String.fromCharCode.apply(null,e)},c.binary.raw.decode=function(e,t,r){var n=t;n||(n=new Uint8Array(e.length)),r=r||0;for(var a=r,i=0;i>2),i+=u.charAt((3&r)<<4|n>>4),isNaN(n)?i+="==":(i+=u.charAt((15&n)<<2|a>>6),i+=isNaN(a)?"=":u.charAt(63&a)),t&&i.length>t&&(s+=i.substr(0,t)+"\r\n",i=i.substr(t));return s+=i},c.binary.base64.decode=function(e,t,r){var n=t;n||(n=new Uint8Array(3*Math.ceil(e.length/4))),e=e.replace(/[^A-Za-z0-9\+\/\=]/g,""),r=r||0;for(var a,i,s,o,c=0,u=r;c>4,64!==s&&(n[u++]=(15&i)<<4|s>>2,64!==o&&(n[u++]=(3&s)<<6|o));return t?u-r:n.subarray(0,u)},c.binary.base58.encode=function(e,t){return c.binary.baseN.encode(e,p,t)},c.binary.base58.decode=function(e,t){return c.binary.baseN.decode(e,p,t)},c.text={utf8:{},utf16:{}},c.text.utf8.encode=function(e,t,r){e=c.encodeUtf8(e);var n=t;n||(n=new Uint8Array(e.length)),r=r||0;for(var a=r,i=0;i0?(a=r[n].substring(0,s),i=r[n].substring(s+1)):(a=r[n],i=null),a in t||(t[a]=[]),a in Object.prototype||null===i||t[a].push(unescape(i))}return t};return void 0===e?(null===C&&(C="undefined"!=typeof window&&window.location&&window.location.search?r(window.location.search.substring(1)):{}),t=C):t=r(e),t},c.parseFragment=function(e){var t=e,r="",n=e.indexOf("?");n>0&&(t=e.substring(0,n),r=e.substring(n+1));var a=t.split("/");return a.length>0&&""===a[0]&&a.shift(),{pathString:t,queryString:r,path:a,query:""===r?{}:c.getQueryVariables(r)}},c.makeRequest=function(e){var t=c.parseFragment(e),r={path:t.pathString,query:t.queryString,getPath:function(e){return void 0===e?t.path:t.path[e]},getQuery:function(e,r){var n;return void 0===e?n=t.query:(n=t.query[e])&&void 0!==r&&(n=n[r]),n},getQueryLast:function(e,t){var n=r.getQuery(e);return n?n[n.length-1]:t}};return r},c.makeLink=function(e,t,r){e=jQuery.isArray(e)?e.join("/"):e;var n=jQuery.param(t||{});return r=r||"",e+(n.length>0?"?"+n:"")+(r.length>0?"#"+r:"")},c.setPath=function(e,t,r){if("object"==typeof e&&null!==e)for(var n=0,a=t.length;n0&&i.push(r),s=n.lastIndex;var o=t[0][1];switch(o){case"s":case"o":a");break;case"%":i.push("%");break;default:i.push("<%"+o+"?>")}}return i.push(e.substring(s)),i.join("")},c.formatNumber=function(e,t,r,n){var a=e,i=isNaN(t=Math.abs(t))?2:t,s=void 0===r?",":r,o=void 0===n?".":n,c=a<0?"-":"",u=parseInt(a=Math.abs(+a||0).toFixed(i),10)+"",l=u.length>3?u.length%3:0;return c+(l?u.substr(0,l)+o:"")+u.substr(l).replace(/(\d{3})(?=\d)/g,"$1"+o)+(i?s+Math.abs(a-u).toFixed(i).slice(2):"")},c.formatSize=function(e){return e=e>=1073741824?c.formatNumber(e/1073741824,2,".","")+" GiB":e>=1048576?c.formatNumber(e/1048576,2,".","")+" MiB":e>=1024?c.formatNumber(e/1024,0)+" KiB":c.formatNumber(e,0)+" bytes"},c.bytesFromIP=function(e){return-1!==e.indexOf(".")?c.bytesFromIPv4(e):-1!==e.indexOf(":")?c.bytesFromIPv6(e):null},c.bytesFromIPv4=function(e){if(e=e.split("."),4!==e.length)return null;for(var t=c.createBuffer(),r=0;rr[n].end-r[n].start&&(n=r.length-1)):r.push({start:o,end:o})}t.push(i)}if(r.length>0){var u=r[n];u.end-u.start>0&&(t.splice(u.start,u.end-u.start+1,""),0===u.start&&t.unshift(""),7===u.end&&t.push(""))}return t.join(":")},c.estimateCores=function(e,t){function r(e,s,o){if(0===s){var u=Math.floor(e.reduce(function(e,t){return e+t},0)/e.length);return c.cores=Math.max(1,u),URL.revokeObjectURL(i),t(null,c.cores)}n(o,function(t,n){e.push(a(o,n)),r(e,s-1,o)})}function n(e,t){for(var r=[],n=[],a=0;ao.st&&a.sta.st&&o.st0)return c.cores=navigator.hardwareConcurrency,t(null,c.cores);if("undefined"==typeof Worker)return c.cores=1,t(null,c.cores);if("undefined"==typeof Blob)return c.cores=2,t(null,c.cores);var i=URL.createObjectURL(new Blob(["(",function(){self.addEventListener("message",function(e){for(var t=Date.now(),r=t+4;Date.now()t){var n=new Error("Too few bytes to parse DER.");throw n.available=e.length(),n.remaining=t,n.requested=r,n}}function a(e,t,r,i){var c;n(e,t,2);var u=e.getByte();t--;var l=192&u,p=31&u;c=e.length();var f=o(e,t);if(t-=c-e.length(),void 0!==f&&f>t){if(i.strict){var h=new Error("Too few bytes to read ASN.1 value.");throw h.available=e.length(),h.remaining=t,h.requested=f,h}f=t}var d,y,g=32==(32&u);if(g)if(d=[],void 0===f)for(;;){if(n(e,t,2),e.bytes(2)===String.fromCharCode(0,0)){e.getBytes(2),t-=2;break}c=e.length(),d.push(a(e,t,r+1,i)),t-=c-e.length()}else for(;f>0;)c=e.length(),d.push(a(e,f,r+1,i)),t-=c-e.length(),f-=c-e.length();if(void 0===d&&l===s.Class.UNIVERSAL&&p===s.Type.BITSTRING&&(y=e.bytes(f)),void 0===d&&i.decodeBitStrings&&l===s.Class.UNIVERSAL&&p===s.Type.BITSTRING&&f>1){var v=e.read,m=t,C=0;if(p===s.Type.BITSTRING&&(n(e,t,1),C=e.getByte(),t--),0===C)try{c=e.length();var E={verbose:i.verbose,strict:!0,decodeBitStrings:!0},S=a(e,t,r+1,E),T=c-e.length();t-=T,p==s.Type.BITSTRING&&T++;var b=S.tagClass;T!==f||b!==s.Class.UNIVERSAL&&b!==s.Class.CONTEXT_SPECIFIC||(d=[S])}catch(e){}void 0===d&&(e.read=v,t=m)}if(void 0===d){if(void 0===f){if(i.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");f=t}if(p===s.Type.BMPSTRING)for(d="";f>0;f-=2)n(e,t,2),d+=String.fromCharCode(e.getInt16()),t-=2;else d=e.getBytes(f)}var I=void 0===y?null:{bitStringContents:y};return s.create(l,p,g,d,I)}var i=r(0);r(1),r(6);var s=e.exports=i.asn1=i.asn1||{};s.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192},s.Type={NONE:0,BOOLEAN:1,INTEGER:2,BITSTRING:3,OCTETSTRING:4,NULL:5,OID:6,ODESC:7,EXTERNAL:8,REAL:9,ENUMERATED:10,EMBEDDED:11,UTF8:12,ROID:13,SEQUENCE:16,SET:17,PRINTABLESTRING:19,IA5STRING:22,UTCTIME:23,GENERALIZEDTIME:24,BMPSTRING:30},s.create=function(e,t,r,n,a){if(i.util.isArray(n)){for(var o=[],c=0;c1&&(0===e.value.charCodeAt(0)&&0==(128&e.value.charCodeAt(1))||255===e.value.charCodeAt(0)&&128==(128&e.value.charCodeAt(1)))?n.putBytes(e.value.substr(1)):n.putBytes(e.value);if(t.putByte(r),n.length()<=127)t.putByte(127&n.length());else{var c=n.length(),u="";do{u+=String.fromCharCode(255&c),c>>>=8}while(c>0);t.putByte(128|u.length);for(var o=u.length-1;o>=0;--o)t.putByte(u.charCodeAt(o))}return t.putBuffer(n),t},s.oidToDer=function(e){var t=e.split("."),r=i.util.createBuffer();r.putByte(40*parseInt(t[0],10)+parseInt(t[1],10));for(var n,a,s,o,c=2;c>>=7,n||(o|=128),a.push(o),n=!1}while(s>0);for(var u=a.length-1;u>=0;--u)r.putByte(a[u])}return r},s.derToOid=function(e){var t;"string"==typeof e&&(e=i.util.createBuffer(e));var r=e.getByte();t=Math.floor(r/40)+"."+r%40;for(var n=0;e.length()>0;)r=e.getByte(),n<<=7,128&r?n+=127&r:(t+="."+(n+r),n=0);return t},s.utcTimeToDate=function(e){var t=new Date,r=parseInt(e.substr(0,2),10);r=r>=50?1900+r:2e3+r;var n=parseInt(e.substr(2,2),10)-1,a=parseInt(e.substr(4,2),10),i=parseInt(e.substr(6,2),10),s=parseInt(e.substr(8,2),10),o=0;if(e.length>11){var c=e.charAt(10),u=10;"+"!==c&&"-"!==c&&(o=parseInt(e.substr(10,2),10),u+=2)}if(t.setUTCFullYear(r,n,a),t.setUTCHours(i,s,o,0),u&&("+"===(c=e.charAt(u))||"-"===c)){var l=parseInt(e.substr(u+1,2),10),p=parseInt(e.substr(u+4,2),10),f=60*l+p;f*=6e4,"+"===c?t.setTime(+t-f):t.setTime(+t+f)}return t},s.generalizedTimeToDate=function(e){var t=new Date,r=parseInt(e.substr(0,4),10),n=parseInt(e.substr(4,2),10)-1,a=parseInt(e.substr(6,2),10),i=parseInt(e.substr(8,2),10),s=parseInt(e.substr(10,2),10),o=parseInt(e.substr(12,2),10),c=0,u=0,l=!1;"Z"===e.charAt(e.length-1)&&(l=!0);var p=e.length-5,f=e.charAt(p);if("+"===f||"-"===f){u=60*parseInt(e.substr(p+1,2),10)+parseInt(e.substr(p+4,2),10),u*=6e4,"+"===f&&(u*=-1),l=!0}return"."===e.charAt(14)&&(c=1e3*parseFloat(e.substr(14),10)),l?(t.setUTCFullYear(r,n,a),t.setUTCHours(i,s,o,c),t.setTime(+t+u)):(t.setFullYear(r,n,a),t.setHours(i,s,o,c)),t},s.dateToUtcTime=function(e){if("string"==typeof e)return e;var t="",r=[];r.push((""+e.getUTCFullYear()).substr(2)),r.push(""+(e.getUTCMonth()+1)),r.push(""+e.getUTCDate()),r.push(""+e.getUTCHours()),r.push(""+e.getUTCMinutes()),r.push(""+e.getUTCSeconds());for(var n=0;n=-128&&e<128)return t.putSignedInt(e,8);if(e>=-32768&&e<32768)return t.putSignedInt(e,16);if(e>=-8388608&&e<8388608)return t.putSignedInt(e,24);if(e>=-2147483648&&e<2147483648)return t.putSignedInt(e,32);var r=new Error("Integer too large; max is 32-bits.");throw r.integer=e,r},s.derToInteger=function(e){"string"==typeof e&&(e=i.util.createBuffer(e));var t=8*e.length();if(t>32)throw new Error("Integer too large; max is 32-bits.");return e.getSignedInt(t)},s.validate=function(e,t,r,n){var a=!1;if(e.tagClass!==t.tagClass&&void 0!==t.tagClass||e.type!==t.type&&void 0!==t.type)n&&(e.tagClass!==t.tagClass&&n.push("["+t.name+'] Expected tag class "'+t.tagClass+'", got "'+e.tagClass+'"'),e.type!==t.type&&n.push("["+t.name+'] Expected type "'+t.type+'", got "'+e.type+'"'));else if(e.constructed===t.constructed||void 0===t.constructed){if(a=!0,t.value&&i.util.isArray(t.value))for(var o=0,c=0;a&&c0&&(n+="\n");for(var a="",o=0;o1?n+="0x"+i.util.bytesToHex(e.value.slice(1)):n+="(none)",e.value.length>0){var f=e.value.charCodeAt(0);1==f?n+=" (1 unused bit shown)":f>1&&(n+=" ("+f+" unused bits shown)")}}else e.type===s.Type.OCTETSTRING?(c.test(e.value)||(n+="("+e.value+") "),n+="0x"+i.util.bytesToHex(e.value)):e.type===s.Type.UTF8?n+=i.util.decodeUtf8(e.value):e.type===s.Type.PRINTABLESTRING||e.type===s.Type.IA5String?n+=e.value:c.test(e.value)?n+="0x"+i.util.bytesToHex(e.value):0===e.value.length?n+="[null]":n+=e.value}return n}},function(e,t,r){var n=r(0);e.exports=n.md=n.md||{},n.md.algorithms=n.md.algorithms||{}},function(e,t,r){function n(e,t){var r=function(){return new c.aes.Algorithm(e,t)};c.cipher.registerAlgorithm(e,r)}function a(){d=!0,p=[0,1,2,4,8,16,32,64,128,27,54];for(var e=new Array(256),t=0;t<128;++t)e[t]=t<<1,e[t+128]=t+128<<1^283;u=new Array(256),l=new Array(256),f=new Array(4),h=new Array(4);for(var t=0;t<4;++t)f[t]=new Array(256),h[t]=new Array(256);for(var r,n,a,i,s,o,c,y=0,g=0,t=0;t<256;++t){i=g^g<<1^g<<2^g<<3^g<<4,i=i>>8^255&i^99,u[y]=i,l[i]=y,s=e[i],r=e[y],n=e[r],a=e[n],o=s<<24^i<<16^i<<8^i^s,c=(r^n^a)<<24^(y^a)<<16^(y^n^a)<<8^y^r^a;for(var v=0;v<4;++v)f[v][y]=o,h[v][i]=c,o=o<<24|o>>>8,c=c<<24|c>>>8;0===y?y=g=1:(y=r^e[e[e[r^a]]],g^=e[e[g]])}}function i(e,t){for(var r,n=e.slice(0),a=1,i=n.length,s=i+6+1,o=y*s,c=i;c>>16&255]<<24^u[r>>>8&255]<<16^u[255&r]<<8^u[r>>>24]^p[a]<<24,a++):i>6&&c%i==4&&(r=u[r>>>24]<<24^u[r>>>16&255]<<16^u[r>>>8&255]<<8^u[255&r]),n[c]=n[c-i]^r;if(t){var l,f=h[0],d=h[1],g=h[2],v=h[3],m=n.slice(0);o=n.length;for(var c=0,C=o-y;c>>24]]^d[u[l>>>16&255]]^g[u[l>>>8&255]]^v[u[255&l]];n=m}return n}function s(e,t,r,n){var a,i,s,o,c,p=e.length/4-1;n?(a=h[0],i=h[1],s=h[2],o=h[3],c=l):(a=f[0],i=f[1],s=f[2],o=f[3],c=u);var d,y,g,v,m,C,E;d=t[0]^e[0],y=t[n?3:1]^e[1],g=t[2]^e[2],v=t[n?1:3]^e[3];for(var S=3,T=1;T>>24]^i[y>>>16&255]^s[g>>>8&255]^o[255&v]^e[++S],C=a[y>>>24]^i[g>>>16&255]^s[v>>>8&255]^o[255&d]^e[++S],E=a[g>>>24]^i[v>>>16&255]^s[d>>>8&255]^o[255&y]^e[++S],v=a[v>>>24]^i[d>>>16&255]^s[y>>>8&255]^o[255&g]^e[++S],d=m,y=C,g=E;r[0]=c[d>>>24]<<24^c[y>>>16&255]<<16^c[g>>>8&255]<<8^c[255&v]^e[++S],r[n?3:1]=c[y>>>24]<<24^c[g>>>16&255]<<16^c[v>>>8&255]<<8^c[255&d]^e[++S],r[2]=c[g>>>24]<<24^c[v>>>16&255]<<16^c[d>>>8&255]<<8^c[255&y]^e[++S],r[n?1:3]=c[v>>>24]<<24^c[d>>>16&255]<<16^c[y>>>8&255]<<8^c[255&g]^e[++S]}function o(e){e=e||{};var t,r=(e.mode||"CBC").toUpperCase(),n="AES-"+r;t=e.decrypt?c.cipher.createDecipher(n,e.key):c.cipher.createCipher(n,e.key);var a=t.start;return t.start=function(e,r){var n=null;r instanceof c.util.ByteBuffer&&(n=r,r={}),r=r||{},r.output=n,r.iv=e,a.call(t,r)},t}var c=r(0);r(14),r(20),r(1),e.exports=c.aes=c.aes||{},c.aes.startEncrypting=function(e,t,r,n){var a=o({key:e,output:r,decrypt:!1,mode:n});return a.start(t),a},c.aes.createEncryptionCipher=function(e,t){return o({key:e,output:null,decrypt:!1,mode:t})},c.aes.startDecrypting=function(e,t,r,n){var a=o({key:e,output:r,decrypt:!0,mode:n});return a.start(t),a},c.aes.createDecryptionCipher=function(e,t){return o({key:e,output:null,decrypt:!0,mode:t})},c.aes.Algorithm=function(e,t){d||a();var r=this;r.name=e,r.mode=new t({blockSize:16,cipher:{encrypt:function(e,t){return s(r._w,e,t,!1)},decrypt:function(e,t){return s(r._w,e,t,!0)}}}),r._init=!1},c.aes.Algorithm.prototype.initialize=function(e){if(!this._init){var t,r=e.key;if("string"!=typeof r||16!==r.length&&24!==r.length&&32!==r.length){if(c.util.isArray(r)&&(16===r.length||24===r.length||32===r.length)){t=r,r=c.util.createBuffer();for(var n=0;n>>=2;for(var n=0;n65&&-1!==s){var o=t[s];","===o?(++s,t=t.substr(0,s)+"\r\n "+t.substr(s)):t=t.substr(0,s)+"\r\n"+o+t.substr(s+1),i=a-s-1,s=-1,++a}else" "!==t[a]&&"\t"!==t[a]&&","!==t[a]||(s=a);return t}function a(e){return e.replace(/^\s+/,"")}var i=r(0);r(1);var s=e.exports=i.pem=i.pem||{};s.encode=function(e,t){t=t||{};var r,a="-----BEGIN "+e.type+"-----\r\n";if(e.procType&&(r={name:"Proc-Type",values:[String(e.procType.version),e.procType.type]},a+=n(r)),e.contentDomain&&(r={name:"Content-Domain",values:[e.contentDomain]},a+=n(r)),e.dekInfo&&(r={name:"DEK-Info",values:[e.dekInfo.algorithm]},e.dekInfo.parameters&&r.values.push(e.dekInfo.parameters),a+=n(r)),e.headers)for(var s=0;st.blockLength&&(t.start(),t.update(s.bytes()),s=t.digest()),r=n.util.createBuffer(),a=n.util.createBuffer(),u=s.length();for(var c=0;c=64;){for(a=e.h0,i=e.h1,s=e.h2,o=e.h3,c=e.h4,l=0;l<16;++l)n=r.getInt32(),t[l]=n,u=o^i&(s^o),n=(a<<5|a>>>27)+u+c+1518500249+n,c=o,o=s,s=(i<<30|i>>>2)>>>0,i=a,a=n;for(;l<20;++l)n=t[l-3]^t[l-8]^t[l-14]^t[l-16],n=n<<1|n>>>31,t[l]=n,u=o^i&(s^o),n=(a<<5|a>>>27)+u+c+1518500249+n,c=o,o=s,s=(i<<30|i>>>2)>>>0,i=a,a=n;for(;l<32;++l)n=t[l-3]^t[l-8]^t[l-14]^t[l-16],n=n<<1|n>>>31,t[l]=n,u=i^s^o,n=(a<<5|a>>>27)+u+c+1859775393+n,c=o,o=s,s=(i<<30|i>>>2)>>>0,i=a,a=n;for(;l<40;++l)n=t[l-6]^t[l-16]^t[l-28]^t[l-32],n=n<<2|n>>>30,t[l]=n,u=i^s^o,n=(a<<5|a>>>27)+u+c+1859775393+n,c=o,o=s,s=(i<<30|i>>>2)>>>0,i=a,a=n;for(;l<60;++l)n=t[l-6]^t[l-16]^t[l-28]^t[l-32],n=n<<2|n>>>30,t[l]=n,u=i&s|o&(i^s),n=(a<<5|a>>>27)+u+c+2400959708+n,c=o,o=s,s=(i<<30|i>>>2)>>>0,i=a,a=n;for(;l<80;++l)n=t[l-6]^t[l-16]^t[l-28]^t[l-32],n=n<<2|n>>>30,t[l]=n,u=i^s^o,n=(a<<5|a>>>27)+u+c+3395469782+n,c=o,o=s,s=(i<<30|i>>>2)>>>0,i=a,a=n;e.h0=e.h0+a|0,e.h1=e.h1+i|0,e.h2=e.h2+s|0,e.h3=e.h3+o|0,e.h4=e.h4+c|0,p-=64}}var i=r(0);r(4),r(1);var s=e.exports=i.sha1=i.sha1||{};i.md.sha1=i.md.algorithms.sha1=s,s.create=function(){c||n();var e=null,t=i.util.createBuffer(),r=new Array(80),s={algorithm:"sha1",blockLength:64,digestLength:20,messageLength:0,fullMessageLength:null,messageLengthSize:8};return s.start=function(){s.messageLength=0,s.fullMessageLength=s.messageLength64=[];for(var r=s.messageLengthSize/4,n=0;n>>0,c>>>0];for(var u=s.fullMessageLength.length-1;u>=0;--u)s.fullMessageLength[u]+=c[1],c[1]=c[0]+(s.fullMessageLength[u]/4294967296>>>0),s.fullMessageLength[u]=s.fullMessageLength[u]>>>0,c[0]=c[1]/4294967296>>>0;return t.putBytes(n),a(e,r,t),(t.read>2048||0===t.length())&&t.compact(),s},s.digest=function(){var n=i.util.createBuffer();n.putBytes(t.bytes());var c=s.fullMessageLength[s.fullMessageLength.length-1]+s.messageLengthSize,u=c&s.blockLength-1;n.putBytes(o.substr(0,s.blockLength-u));for(var l,p,f=8*s.fullMessageLength[0],h=0;h>>0,f+=p,n.putInt32(f>>>0),f=l>>>0;n.putInt32(f);var d={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4};a(d,r,n);var y=i.util.createBuffer();return y.putInt32(d.h0),y.putInt32(d.h1),y.putInt32(d.h2),y.putInt32(d.h3),y.putInt32(d.h4),y},s};var o=null,c=!1},function(e,t,r){var n=r(0);r(3),r(8),r(15),r(7),r(21),r(2),r(9),r(1);var a=function(e,t,r,a){var i=n.util.createBuffer(),s=e.length>>1,o=s+(1&e.length),c=e.substr(0,o),u=e.substr(s,o),l=n.util.createBuffer(),p=n.hmac.create();r=t+r;var f=Math.ceil(a/16),h=Math.ceil(a/20);p.start("MD5",c);var d=n.util.createBuffer();l.putBytes(r);for(var y=0;y0&&(l.queue(e,l.createAlert(e,{level:l.Alert.Level.warning,description:l.Alert.Description.no_renegotiation})),l.flush(e)),e.process()},l.parseHelloMessage=function(e,t,r){var a=null,i=e.entity===l.ConnectionEnd.client;if(r<38)e.error(e,{message:i?"Invalid ServerHello message. Message too short.":"Invalid ClientHello message. Message too short.",send:!0,alert:{level:l.Alert.Level.fatal,description:l.Alert.Description.illegal_parameter}});else{var s=t.fragment,o=s.length();if(a={version:{major:s.getByte(),minor:s.getByte()},random:n.util.createBuffer(s.getBytes(32)),session_id:c(s,1),extensions:[]},i?(a.cipher_suite=s.getBytes(2),a.compression_method=s.getByte()):(a.cipher_suites=c(s,2),a.compression_methods=c(s,1)),(o=r-(o-s.length()))>0){for(var u=c(s,2);u.length()>0;)a.extensions.push({type:[u.getByte(),u.getByte()],data:c(u,2)});if(!i)for(var p=0;p0;){var d=h.getByte();if(0!==d)break;e.session.extensions.server_name.serverNameList.push(c(h,2).getBytes())}}}if(e.session.version&&(a.version.major!==e.session.version.major||a.version.minor!==e.session.version.minor))return e.error(e,{message:"TLS version change is disallowed during renegotiation.",send:!0,alert:{level:l.Alert.Level.fatal,description:l.Alert.Description.protocol_version}});if(i)e.session.cipherSuite=l.getCipherSuite(a.cipher_suite);else for(var y=n.util.createBuffer(a.cipher_suites.bytes());y.length()>0&&(e.session.cipherSuite=l.getCipherSuite(y.getBytes(2)),null===e.session.cipherSuite););if(null===e.session.cipherSuite)return e.error(e,{message:"No cipher suites in common.",send:!0,alert:{level:l.Alert.Level.fatal,description:l.Alert.Description.handshake_failure},cipherSuite:n.util.bytesToHex(a.cipher_suite)});e.session.compressionMethod=i?a.compression_method:l.CompressionMethod.none}return a},l.createSecurityParameters=function(e,t){var r=e.entity===l.ConnectionEnd.client,n=t.random.bytes(),a=r?e.session.sp.client_random:n,i=r?n:l.createRandom().getBytes();e.session.sp={entity:e.entity,prf_algorithm:l.PRFAlgorithm.tls_prf_sha256,bulk_cipher_algorithm:null,cipher_type:null,enc_key_length:null,block_length:null,fixed_iv_length:null,record_iv_length:null,mac_algorithm:null,mac_length:null,mac_key_length:null,compression_algorithm:e.session.compressionMethod,pre_master_secret:null,master_secret:null,client_random:a,server_random:i}},l.handleServerHello=function(e,t,r){var n=l.parseHelloMessage(e,t,r);if(!e.fail){if(!(n.version.minor<=e.version.minor))return e.error(e,{message:"Incompatible TLS version.",send:!0,alert:{level:l.Alert.Level.fatal,description:l.Alert.Description.protocol_version}});e.version.minor=n.version.minor,e.session.version=e.version;var a=n.session_id.bytes();a.length>0&&a===e.session.id?(e.expect=y,e.session.resuming=!0,e.session.sp.server_random=n.random.bytes()):(e.expect=p,e.session.resuming=!1,l.createSecurityParameters(e,n)),e.session.id=a,e.process()}},l.handleClientHello=function(e,t,r){var a=l.parseHelloMessage(e,t,r);if(!e.fail){var i=a.session_id.bytes(),s=null;if(e.sessionCache&&(s=e.sessionCache.getSession(i),null===s?i="":(s.version.major!==a.version.major||s.version.minor>a.version.minor)&&(s=null,i="")),0===i.length&&(i=n.random.getBytes(32)),e.session.id=i,e.session.clientHelloVersion=a.version,e.session.sp={},s)e.version=e.session.version=s.version,e.session.sp=s.sp;else{for(var o,c=1;c0;)a=c(o.certificate_list,3),i=n.asn1.fromDer(a),a=n.pki.certificateFromAsn1(i,!0),u.push(a)}catch(t){return e.error(e,{message:"Could not parse certificate list.",cause:t,send:!0,alert:{level:l.Alert.Level.fatal,description:l.Alert.Description.bad_certificate}})}var p=e.entity===l.ConnectionEnd.client;!p&&!0!==e.verifyClient||0!==u.length?0===u.length?e.expect=p?f:E:(p?e.session.serverCertificate=u[0]:e.session.clientCertificate=u[0],l.verifyCertificateChain(e,u)&&(e.expect=p?f:E)):e.error(e,{message:p?"No server certificate provided.":"No client certificate provided.",send:!0,alert:{level:l.Alert.Level.fatal,description:l.Alert.Description.illegal_parameter}}),e.process()},l.handleServerKeyExchange=function(e,t,r){if(r>0)return e.error(e,{message:"Invalid key parameters. Only RSA is supported.",send:!0,alert:{level:l.Alert.Level.fatal,description:l.Alert.Description.unsupported_certificate}});e.expect=h,e.process()},l.handleClientKeyExchange=function(e,t,r){if(r<48)return e.error(e,{message:"Invalid key parameters. Only RSA is supported.",send:!0,alert:{level:l.Alert.Level.fatal,description:l.Alert.Description.unsupported_certificate}});var a=t.fragment,i={enc_pre_master_secret:c(a,2).getBytes()},s=null;if(e.getPrivateKey)try{s=e.getPrivateKey(e,e.session.serverCertificate),s=n.pki.privateKeyFromPem(s)}catch(t){e.error(e,{message:"Could not get private key.",cause:t,send:!0,alert:{level:l.Alert.Level.fatal,description:l.Alert.Description.internal_error}})}if(null===s)return e.error(e,{message:"No private key set.",send:!0,alert:{level:l.Alert.Level.fatal,description:l.Alert.Description.internal_error}});try{var o=e.session.sp;o.pre_master_secret=s.decrypt(i.enc_pre_master_secret);var u=e.session.clientHelloVersion;if(u.major!==o.pre_master_secret.charCodeAt(0)||u.minor!==o.pre_master_secret.charCodeAt(1))throw new Error("TLS version rollback attack detected.")}catch(e){o.pre_master_secret=n.random.getBytes(48)}e.expect=T,null!==e.session.clientCertificate&&(e.expect=S),e.process()},l.handleCertificateRequest=function(e,t,r){if(r<3)return e.error(e,{message:"Invalid CertificateRequest. Message too short.",send:!0,alert:{level:l.Alert.Level.fatal,description:l.Alert.Description.illegal_parameter}});var n=t.fragment,a={certificate_types:c(n,1),certificate_authorities:c(n,2)};e.session.certificateRequest=a,e.expect=d,e.process()},l.handleCertificateVerify=function(e,t,r){if(r<2)return e.error(e,{message:"Invalid CertificateVerify. Message too short.",send:!0,alert:{level:l.Alert.Level.fatal,description:l.Alert.Description.illegal_parameter}});var a=t.fragment;a.read-=4;var i=a.bytes();a.read+=4;var s={signature:c(a,2).getBytes()},o=n.util.createBuffer();o.putBuffer(e.session.md5.digest()),o.putBuffer(e.session.sha1.digest()),o=o.getBytes();try{if(!e.session.clientCertificate.publicKey.verify(o,s.signature,"NONE"))throw new Error("CertificateVerify signature does not match.");e.session.md5.update(i),e.session.sha1.update(i)}catch(t){return e.error(e,{message:"Bad signature in CertificateVerify.",send:!0,alert:{level:l.Alert.Level.fatal,description:l.Alert.Description.handshake_failure}})}e.expect=T,e.process()},l.handleServerHelloDone=function(e,t,r){if(r>0)return e.error(e,{message:"Invalid ServerHelloDone message. Invalid length.",send:!0,alert:{level:l.Alert.Level.fatal,description:l.Alert.Description.record_overflow}});if(null===e.serverCertificate){var a={message:"No server certificate provided. Not enough security.",send:!0,alert:{level:l.Alert.Level.fatal,description:l.Alert.Description.insufficient_security}},i=e.verify(e,a.alert.description,0,[]);if(!0!==i)return(i||0===i)&&("object"!=typeof i||n.util.isArray(i)?"number"==typeof i&&(a.alert.description=i):(i.message&&(a.message=i.message),i.alert&&(a.alert.description=i.alert))),e.error(e,a)}null!==e.session.certificateRequest&&(t=l.createRecord(e,{type:l.ContentType.handshake,data:l.createCertificate(e)}),l.queue(e,t)),t=l.createRecord(e,{type:l.ContentType.handshake,data:l.createClientKeyExchange(e)}),l.queue(e,t),e.expect=m;var s=function(e,t){null!==e.session.certificateRequest&&null!==e.session.clientCertificate&&l.queue(e,l.createRecord(e,{type:l.ContentType.handshake,data:l.createCertificateVerify(e,t)})),l.queue(e,l.createRecord(e,{type:l.ContentType.change_cipher_spec,data:l.createChangeCipherSpec()})),e.state.pending=l.createConnectionState(e),e.state.current.write=e.state.pending.write,l.queue(e,l.createRecord(e,{type:l.ContentType.handshake,data:l.createFinished(e)})),e.expect=y,l.flush(e),e.process()};if(null===e.session.certificateRequest||null===e.session.clientCertificate)return s(e,null);l.getClientSignature(e,s)},l.handleChangeCipherSpec=function(e,t){if(1!==t.fragment.getByte())return e.error(e,{message:"Invalid ChangeCipherSpec message received.",send:!0,alert:{level:l.Alert.Level.fatal,description:l.Alert.Description.illegal_parameter}});var r=e.entity===l.ConnectionEnd.client;(e.session.resuming&&r||!e.session.resuming&&!r)&&(e.state.pending=l.createConnectionState(e)),e.state.current.read=e.state.pending.read,(!e.session.resuming&&r||e.session.resuming&&!r)&&(e.state.pending=null),e.expect=r?g:b,e.process()},l.handleFinished=function(e,t,r){var i=t.fragment;i.read-=4;var s=i.bytes();i.read+=4;var o=t.fragment.getBytes();i=n.util.createBuffer(),i.putBuffer(e.session.md5.digest()),i.putBuffer(e.session.sha1.digest());var c=e.entity===l.ConnectionEnd.client,u=c?"server finished":"client finished",p=e.session.sp;if(i=a(p.master_secret,u,i.getBytes(),12),i.getBytes()!==o)return e.error(e,{message:"Invalid verify_data in Finished message.",send:!0,alert:{level:l.Alert.Level.fatal,description:l.Alert.Description.decrypt_error}});e.session.md5.update(s),e.session.sha1.update(s),(e.session.resuming&&c||!e.session.resuming&&!c)&&(l.queue(e,l.createRecord(e,{type:l.ContentType.change_cipher_spec,data:l.createChangeCipherSpec()})),e.state.current.write=e.state.pending.write,e.state.pending=null,l.queue(e,l.createRecord(e,{type:l.ContentType.handshake,data:l.createFinished(e)}))),e.expect=c?v:I,e.handshaking=!1,++e.handshakes,e.peerCertificate=c?e.session.serverCertificate:e.session.clientCertificate,l.flush(e),e.isConnected=!0,e.connected(e),e.process()},l.handleAlert=function(e,t){var r,n=t.fragment,a={level:n.getByte(),description:n.getByte()};switch(a.description){case l.Alert.Description.close_notify:r="Connection closed.";break;case l.Alert.Description.unexpected_message:r="Unexpected message.";break;case l.Alert.Description.bad_record_mac:r="Bad record MAC.";break;case l.Alert.Description.decryption_failed:r="Decryption failed.";break;case l.Alert.Description.record_overflow:r="Record overflow.";break;case l.Alert.Description.decompression_failure:r="Decompression failed.";break;case l.Alert.Description.handshake_failure:r="Handshake failure.";break;case l.Alert.Description.bad_certificate:r="Bad certificate.";break;case l.Alert.Description.unsupported_certificate:r="Unsupported certificate.";break;case l.Alert.Description.certificate_revoked:r="Certificate revoked.";break;case l.Alert.Description.certificate_expired:r="Certificate expired.";break;case l.Alert.Description.certificate_unknown:r="Certificate unknown.";break;case l.Alert.Description.illegal_parameter:r="Illegal parameter.";break;case l.Alert.Description.unknown_ca:r="Unknown certificate authority.";break;case l.Alert.Description.access_denied:r="Access denied.";break;case l.Alert.Description.decode_error:r="Decode error.";break;case l.Alert.Description.decrypt_error:r="Decrypt error.";break;case l.Alert.Description.export_restriction:r="Export restriction.";break;case l.Alert.Description.protocol_version:r="Unsupported protocol version.";break;case l.Alert.Description.insufficient_security:r="Insufficient security.";break;case l.Alert.Description.internal_error:r="Internal error.";break;case l.Alert.Description.user_canceled:r="User canceled.";break;case l.Alert.Description.no_renegotiation:r="Renegotiation not supported.";break;default:r="Unknown error."}if(a.description===l.Alert.Description.close_notify)return e.close();e.error(e,{message:r,send:!1,origin:e.entity===l.ConnectionEnd.client?"server":"client",alert:a}),e.process()},l.handleHandshake=function(e,t){var r=t.fragment,a=r.getByte(),i=r.getInt24();if(i>r.length())return e.fragmented=t,t.fragment=n.util.createBuffer(),r.read-=4,e.process();e.fragmented=null,r.read-=4;var s=r.bytes(i+4);r.read+=4,a in K[e.entity][e.expect]?(e.entity!==l.ConnectionEnd.server||e.open||e.fail||(e.handshaking=!0,e.session={version:null,extensions:{server_name:{serverNameList:[]}},cipherSuite:null,compressionMethod:null,serverCertificate:null,clientCertificate:null,md5:n.md.md5.create(),sha1:n.md.sha1.create()}),a!==l.HandshakeType.hello_request&&a!==l.HandshakeType.certificate_verify&&a!==l.HandshakeType.finished&&(e.session.md5.update(s),e.session.sha1.update(s)),K[e.entity][e.expect][a](e,t,i)):l.handleUnexpected(e,t)},l.handleApplicationData=function(e,t){e.data.putBuffer(t.fragment),e.dataReady(e),e.process()},l.handleHeartbeat=function(e,t){var r=t.fragment,a=r.getByte(),i=r.getInt16(),s=r.getBytes(i);if(a===l.HeartbeatMessageType.heartbeat_request){if(e.handshaking||i>s.length)return e.process();l.queue(e,l.createRecord(e,{type:l.ContentType.heartbeat,data:l.createHeartbeat(l.HeartbeatMessageType.heartbeat_response,s)})),l.flush(e)}else if(a===l.HeartbeatMessageType.heartbeat_response){if(s!==e.expectedHeartbeatPayload)return e.process();e.heartbeatReceived&&e.heartbeatReceived(e,n.util.createBuffer(s))}e.process()};var p=1,f=2,h=3,d=4,y=5,g=6,v=7,m=8,C=1,E=2,S=3,T=4,b=5,I=6,A=l.handleUnexpected,B=l.handleChangeCipherSpec,k=l.handleAlert,w=l.handleHandshake,N=l.handleApplicationData,R=l.handleHeartbeat,_=[];_[l.ConnectionEnd.client]=[[A,k,w,A,R],[A,k,w,A,R],[A,k,w,A,R],[A,k,w,A,R],[A,k,w,A,R],[B,k,A,A,R],[A,k,w,A,R],[A,k,w,N,R],[A,k,w,A,R]],_[l.ConnectionEnd.server]=[[A,k,w,A,R],[A,k,w,A,R],[A,k,w,A,R],[A,k,w,A,R],[B,k,A,A,R],[A,k,w,A,R],[A,k,w,N,R],[A,k,w,A,R]];var L=l.handleHelloRequest,U=l.handleServerHello,D=l.handleCertificate,P=l.handleServerKeyExchange,O=l.handleCertificateRequest,V=l.handleServerHelloDone,x=l.handleFinished,K=[];K[l.ConnectionEnd.client]=[[A,A,U,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A],[L,A,A,A,A,A,A,A,A,A,A,D,P,O,V,A,A,A,A,A,A],[L,A,A,A,A,A,A,A,A,A,A,A,P,O,V,A,A,A,A,A,A],[L,A,A,A,A,A,A,A,A,A,A,A,A,O,V,A,A,A,A,A,A],[L,A,A,A,A,A,A,A,A,A,A,A,A,A,V,A,A,A,A,A,A],[L,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A],[L,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,x],[L,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A],[L,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A]];var M=l.handleClientHello,F=l.handleClientKeyExchange,q=l.handleCertificateVerify;K[l.ConnectionEnd.server]=[[A,M,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A],[A,A,A,A,A,A,A,A,A,A,A,D,A,A,A,A,A,A,A,A,A],[A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,F,A,A,A,A],[A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,q,A,A,A,A,A],[A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A],[A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,x],[A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A],[A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A]],l.generateKeys=function(e,t){var r=a,n=t.client_random+t.server_random;e.session.resuming||(t.master_secret=r(t.pre_master_secret,"master secret",n,48).bytes(),t.pre_master_secret=null),n=t.server_random+t.client_random;var i=2*t.mac_key_length+2*t.enc_key_length,s=e.version.major===l.Versions.TLS_1_0.major&&e.version.minor===l.Versions.TLS_1_0.minor;s&&(i+=2*t.fixed_iv_length);var o=r(t.master_secret,"key expansion",n,i),c={client_write_MAC_key:o.getBytes(t.mac_key_length),server_write_MAC_key:o.getBytes(t.mac_key_length),client_write_key:o.getBytes(t.enc_key_length),server_write_key:o.getBytes(t.enc_key_length)};return s&&(c.client_write_IV=o.getBytes(t.fixed_iv_length),c.server_write_IV=o.getBytes(t.fixed_iv_length)),c},l.createConnectionState=function(e){var t=e.entity===l.ConnectionEnd.client,r=function(){var e={sequenceNumber:[0,0],macKey:null,macLength:0,macFunction:null,cipherState:null,cipherFunction:function(e){return!0},compressionState:null,compressFunction:function(e){return!0},updateSequenceNumber:function(){4294967295===e.sequenceNumber[1]?(e.sequenceNumber[1]=0,++e.sequenceNumber[0]):++e.sequenceNumber[1]}};return e},n={read:r(),write:r()};if(n.read.update=function(e,t){return n.read.cipherFunction(t,n.read)?n.read.compressFunction(e,t,n.read)||e.error(e,{message:"Could not decompress record.",send:!0,alert:{level:l.Alert.Level.fatal,description:l.Alert.Description.decompression_failure}}):e.error(e,{message:"Could not decrypt record or bad MAC.",send:!0,alert:{level:l.Alert.Level.fatal,description:l.Alert.Description.bad_record_mac}}),!e.fail},n.write.update=function(e,t){return n.write.compressFunction(e,t,n.write)?n.write.cipherFunction(t,n.write)||e.error(e,{message:"Could not encrypt record.",send:!1,alert:{level:l.Alert.Level.fatal,description:l.Alert.Description.internal_error}}):e.error(e,{message:"Could not compress record.",send:!1,alert:{level:l.Alert.Level.fatal,description:l.Alert.Description.internal_error}}),!e.fail},e.session){var a=e.session.sp;switch(e.session.cipherSuite.initSecurityParameters(a),a.keys=l.generateKeys(e,a),n.read.macKey=t?a.keys.server_write_MAC_key:a.keys.client_write_MAC_key,n.write.macKey=t?a.keys.client_write_MAC_key:a.keys.server_write_MAC_key,e.session.cipherSuite.initConnectionState(n,e,a),a.compression_algorithm){case l.CompressionMethod.none:break;case l.CompressionMethod.deflate:n.read.compressFunction=o,n.write.compressFunction=s;break;default:throw new Error("Unsupported compression algorithm.")}}return n},l.createRandom=function(){var e=new Date,t=+e+6e4*e.getTimezoneOffset(),r=n.util.createBuffer();return r.putInt32(t),r.putBytes(n.random.getBytes(28)),r},l.createRecord=function(e,t){return t.data?{type:t.type,version:{major:e.version.major,minor:e.version.minor},length:t.data.length(),fragment:t.data}:null},l.createAlert=function(e,t){var r=n.util.createBuffer();return r.putByte(t.level),r.putByte(t.description),l.createRecord(e,{type:l.ContentType.alert,data:r})},l.createClientHello=function(e){e.session.clientHelloVersion={major:e.version.major,minor:e.version.minor};for(var t=n.util.createBuffer(),r=0;r0&&(d+=2);var y=e.session.id,g=y.length+1+2+4+28+2+i+1+o+d,v=n.util.createBuffer();return v.putByte(l.HandshakeType.client_hello),v.putInt24(g),v.putByte(e.version.major),v.putByte(e.version.minor),v.putBytes(e.session.sp.client_random),u(v,1,n.util.createBuffer(y)),u(v,2,t),u(v,1,s),d>0&&u(v,2,c),v},l.createServerHello=function(e){var t=e.session.id,r=t.length+1+2+4+28+2+1,a=n.util.createBuffer();return a.putByte(l.HandshakeType.server_hello),a.putInt24(r),a.putByte(e.version.major),a.putByte(e.version.minor),a.putBytes(e.session.sp.server_random),u(a,1,n.util.createBuffer(t)),a.putByte(e.session.cipherSuite.id[0]),a.putByte(e.session.cipherSuite.id[1]),a.putByte(e.session.compressionMethod),a},l.createCertificate=function(e){var t=e.entity===l.ConnectionEnd.client,r=null;if(e.getCertificate){var a;a=t?e.session.certificateRequest:e.session.extensions.server_name.serverNameList,r=e.getCertificate(e,a)}var i=n.util.createBuffer();if(null!==r)try{n.util.isArray(r)||(r=[r]);for(var s=null,o=0;ol.MaxFragment;)a.push(l.createRecord(e,{type:t.type,data:n.util.createBuffer(i.slice(0,l.MaxFragment))})),i=i.slice(l.MaxFragment);i.length>0&&a.push(l.createRecord(e,{type:t.type,data:n.util.createBuffer(i)}))}for(var s=0;s0&&(a=r.order[0]),null!==a&&a in r.cache){t=r.cache[a],delete r.cache[a];for(var i in r.order)if(r.order[i]===a){r.order.splice(i,1);break}}return t},r.setSession=function(e,t){if(r.order.length===r.capacity){var a=r.order.shift();delete r.cache[a]}var a=n.util.bytesToHex(e);r.order.push(a),r.cache[a]=t}}return r},l.createConnection=function(e){var t=null;t=e.caStore?n.util.isArray(e.caStore)?n.pki.createCaStore(e.caStore):e.caStore:n.pki.createCaStore();var r=e.cipherSuites||null;if(null===r){r=[];for(var a in l.CipherSuites)r.push(l.CipherSuites[a])}var i=e.server?l.ConnectionEnd.server:l.ConnectionEnd.client,s=e.sessionCache?l.createSessionCache(e.sessionCache):null,o={version:{major:l.Version.major,minor:l.Version.minor},entity:i,sessionId:e.sessionId,caStore:t,sessionCache:s,cipherSuites:r,connected:e.connected,virtualHost:e.virtualHost||null,verifyClient:e.verifyClient||!1,verify:e.verify||function(e,t,r,n){return t},getCertificate:e.getCertificate||null,getPrivateKey:e.getPrivateKey||null,getSignature:e.getSignature||null,input:n.util.createBuffer(),tlsData:n.util.createBuffer(),data:n.util.createBuffer(),tlsDataReady:e.tlsDataReady,dataReady:e.dataReady,heartbeatReceived:e.heartbeatReceived,closed:e.closed,error:function(t,r){r.origin=r.origin||(t.entity===l.ConnectionEnd.client?"client":"server"),r.send&&(l.queue(t,l.createAlert(t,r.alert)),l.flush(t));var n=!1!==r.fatal;n&&(t.fail=!0),e.error(t,r),n&&t.close(!1)},deflate:e.deflate||null,inflate:e.inflate||null};o.reset=function(e){o.version={major:l.Version.major,minor:l.Version.minor},o.record=null,o.session=null,o.peerCertificate=null,o.state={pending:null,current:null},o.expect=(o.entity,l.ConnectionEnd.client,0),o.fragmented=null,o.records=[],o.open=!1,o.handshakes=0,o.handshaking=!1,o.isConnected=!1,o.fail=!(e||void 0===e),o.input.clear(),o.tlsData.clear(),o.data.clear(),o.state.current=l.createConnectionState(o)},o.reset();var c=function(e,t){var r=t.type-l.ContentType.change_cipher_spec,n=_[e.entity][e.expect];r in n?n[r](e,t):l.handleUnexpected(e,t)},u=function(e){var t=0,r=e.input,a=r.length();if(a<5)t=5-a;else{e.record={type:r.getByte(),version:{major:r.getByte(),minor:r.getByte()},length:r.getInt16(),fragment:n.util.createBuffer(),ready:!1};var i=e.record.version.major===e.version.major;i&&e.session&&e.session.version&&(i=e.record.version.minor===e.version.minor),i||e.error(e,{message:"Incompatible TLS version.",send:!0,alert:{level:l.Alert.Level.fatal,description:l.Alert.Description.protocol_version}})}return t},p=function(e){var t=0,r=e.input,n=r.length();if(n0&&(o.sessionCache&&(t=o.sessionCache.getSession(e)),null===t&&(e="")),0===e.length&&o.sessionCache&&null!==(t=o.sessionCache.getSession())&&(e=t.id),o.session={id:e,version:null,cipherSuite:null,compressionMethod:null,serverCertificate:null,certificateRequest:null,clientCertificate:null,sp:{},md5:n.md.md5.create(),sha1:n.md.sha1.create()},t&&(o.version=t.version,o.session.sp=t.sp),o.session.sp.client_random=l.createRandom().getBytes(),o.open=!0,l.queue(o,l.createRecord(o,{type:l.ContentType.handshake,data:l.createClientHello(o)})),l.flush(o)}},o.process=function(e){var t=0;return e&&o.input.putBytes(e),o.fail||(null!==o.record&&o.record.ready&&o.record.fragment.isEmpty()&&(o.record=null),null===o.record&&(t=u(o)),o.fail||null===o.record||o.record.ready||(t=p(o)),!o.fail&&null!==o.record&&o.record.ready&&c(o,o.record)),t},o.prepare=function(e){return l.queue(o,l.createRecord(o,{type:l.ContentType.application_data,data:n.util.createBuffer(e)})),l.flush(o)},o.prepareHeartbeatRequest=function(e,t){return e instanceof n.util.ByteBuffer&&(e=e.bytes()),void 0===t&&(t=e.length),o.expectedHeartbeatPayload=e,l.queue(o,l.createRecord(o,{type:l.ContentType.heartbeat,data:l.createHeartbeat(l.HeartbeatMessageType.heartbeat_request,e,t)})),l.flush(o)},o.close=function(e){if(!o.fail&&o.sessionCache&&o.session){var t={id:o.session.id,version:o.session.version,sp:o.session.sp};t.sp.keys=null,o.sessionCache.setSession(t.id,t)}o.open&&(o.open=!1,o.input.clear(),(o.isConnected||o.handshaking)&&(o.isConnected=o.handshaking=!1,l.queue(o,l.createAlert(o,{level:l.Alert.Level.warning,description:l.Alert.Description.close_notify})),l.flush(o)),o.closed(o)),o.reset(e)},o},e.exports=n.tls=n.tls||{};for(var G in l)"function"!=typeof l[G]&&(n.tls[G]=l[G]);n.tls.prf_tls1=a,n.tls.hmac_sha1=i,n.tls.createSessionCache=l.createSessionCache,n.tls.createConnection=l.createConnection},function(e,t,r){function n(e,t){var r=function(){return new o.des.Algorithm(e,t)};o.cipher.registerAlgorithm(e,r)}function a(e){for(var t,r=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],n=[0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697],a=[0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272],i=[0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144],s=[0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256],o=[0,1024,32,1056,0,1024,32,1056,33554432,33555456,33554464,33555488,33554432,33555456,33554464,33555488],c=[0,268435456,524288,268959744,2,268435458,524290,268959746,0,268435456,524288,268959744,2,268435458,524290,268959746],u=[0,65536,2048,67584,536870912,536936448,536872960,536938496,131072,196608,133120,198656,537001984,537067520,537004032,537069568],l=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],p=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],f=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],h=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],d=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],y=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],g=e.length()>8?3:1,v=[],m=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],C=0,E=0;E>>4^T),T^=t,S^=t<<4,t=65535&(T>>>-16^S),S^=t,T^=t<<-16,t=858993459&(S>>>2^T),T^=t,S^=t<<2,t=65535&(T>>>-16^S),S^=t,T^=t<<-16,t=1431655765&(S>>>1^T),T^=t,S^=t<<1,t=16711935&(T>>>8^S),S^=t,T^=t<<8,t=1431655765&(S>>>1^T),T^=t,S^=t<<1,t=S<<8|T>>>20&240,S=T<<24|T<<8&16711680|T>>>8&65280|T>>>24&240,T=t;for(var b=0;b>>26,T=T<<2|T>>>26):(S=S<<1|S>>>27,T=T<<1|T>>>27),S&=-15,T&=-15;var I=r[S>>>28]|n[S>>>24&15]|a[S>>>20&15]|i[S>>>16&15]|s[S>>>12&15]|o[S>>>8&15]|c[S>>>4&15],A=u[T>>>28]|l[T>>>24&15]|p[T>>>20&15]|f[T>>>16&15]|h[T>>>12&15]|d[T>>>8&15]|y[T>>>4&15];t=65535&(A>>>16^I),v[C++]=I^t,v[C++]=A^t<<16}}return v}function i(e,t,r,n){var a,i=32===e.length?3:9;a=3===i?n?[30,-2,-2]:[0,32,2]:n?[94,62,-2,32,64,2,30,-2,-2]:[0,32,2,62,30,-2,64,96,2];var s,o=t[0],g=t[1];s=252645135&(o>>>4^g),g^=s,o^=s<<4,s=65535&(o>>>16^g),g^=s,o^=s<<16,s=858993459&(g>>>2^o),o^=s,g^=s<<2,s=16711935&(g>>>8^o),o^=s,g^=s<<8,s=1431655765&(o>>>1^g),g^=s,o^=s<<1,o=o<<1|o>>>31,g=g<<1|g>>>31;for(var v=0;v>>4|g<<28)^e[E+1];s=o,o=g,g=s^(u[S>>>24&63]|p[S>>>16&63]|h[S>>>8&63]|y[63&S]|c[T>>>24&63]|l[T>>>16&63]|f[T>>>8&63]|d[63&T])}s=o,o=g,g=s}o=o>>>1|o<<31,g=g>>>1|g<<31,s=1431655765&(o>>>1^g),g^=s,o^=s<<1,s=16711935&(g>>>8^o),o^=s,g^=s<<8,s=858993459&(g>>>2^o),o^=s,g^=s<<2,s=65535&(o>>>16^g),g^=s,o^=s<<16,s=252645135&(o>>>4^g),g^=s,o^=s<<4,r[0]=o,r[1]=g}function s(e){e=e||{};var t,r=(e.mode||"CBC").toUpperCase(),n="DES-"+r;t=e.decrypt?o.cipher.createDecipher(n,e.key):o.cipher.createCipher(n,e.key);var a=t.start;return t.start=function(e,r){var n=null;r instanceof o.util.ByteBuffer&&(n=r,r={}),r=r||{},r.output=n,r.iv=e,a.call(t,r)},t}var o=r(0);r(14),r(20),r(1),e.exports=o.des=o.des||{},o.des.startEncrypting=function(e,t,r,n){var a=s({key:e,output:r,decrypt:!1,mode:n||(null===t?"ECB":"CBC")});return a.start(t),a},o.des.createEncryptionCipher=function(e,t){return s({key:e,output:null,decrypt:!1,mode:t})},o.des.startDecrypting=function(e,t,r,n){var a=s({key:e,output:r,decrypt:!0,mode:n||(null===t?"ECB":"CBC")});return a.start(t),a},o.des.createDecryptionCipher=function(e,t){return s({key:e,output:null,decrypt:!0,mode:t})},o.des.Algorithm=function(e,t){var r=this;r.name=e,r.mode=new t({blockSize:8,cipher:{encrypt:function(e,t){return i(r._keys,e,t,!1)},decrypt:function(e,t){return i(r._keys,e,t,!0)}}}),r._init=!1},o.des.Algorithm.prototype.initialize=function(e){if(!this._init){var t=o.util.createBuffer(e.key);if(0===this.name.indexOf("3DES")&&24!==t.length())throw new Error("Invalid Triple-DES key size: "+8*t.length());this._keys=a(t),this._init=!0}},n("DES-ECB",o.cipher.modes.ecb),n("DES-CBC",o.cipher.modes.cbc),n("DES-CFB",o.cipher.modes.cfb),n("DES-OFB",o.cipher.modes.ofb),n("DES-CTR",o.cipher.modes.ctr),n("3DES-ECB",o.cipher.modes.ecb),n("3DES-CBC",o.cipher.modes.cbc),n("3DES-CFB",o.cipher.modes.cfb),n("3DES-OFB",o.cipher.modes.ofb),n("3DES-CTR",o.cipher.modes.ctr);var c=[16843776,0,65536,16843780,16842756,66564,4,65536,1024,16843776,16843780,1024,16778244,16842756,16777216,4,1028,16778240,16778240,66560,66560,16842752,16842752,16778244,65540,16777220,16777220,65540,0,1028,66564,16777216,65536,16843780,4,16842752,16843776,16777216,16777216,1024,16842756,65536,66560,16777220,1024,4,16778244,66564,16843780,65540,16842752,16778244,16777220,1028,66564,16843776,1028,16778240,16778240,0,65540,66560,0,16842756],u=[-2146402272,-2147450880,32768,1081376,1048576,32,-2146435040,-2147450848,-2147483616,-2146402272,-2146402304,-2147483648,-2147450880,1048576,32,-2146435040,1081344,1048608,-2147450848,0,-2147483648,32768,1081376,-2146435072,1048608,-2147483616,0,1081344,32800,-2146402304,-2146435072,32800,0,1081376,-2146435040,1048576,-2147450848,-2146435072,-2146402304,32768,-2146435072,-2147450880,32,-2146402272,1081376,32,32768,-2147483648,32800,-2146402304,1048576,-2147483616,1048608,-2147450848,-2147483616,1048608,1081344,0,-2147450880,32800,-2147483648,-2146435040,-2146402272,1081344],l=[520,134349312,0,134348808,134218240,0,131592,134218240,131080,134217736,134217736,131072,134349320,131080,134348800,520,134217728,8,134349312,512,131584,134348800,134348808,131592,134218248,131584,131072,134218248,8,134349320,512,134217728,134349312,134217728,131080,520,131072,134349312,134218240,0,512,131080,134349320,134218240,134217736,512,0,134348808,134218248,131072,134217728,134349320,8,131592,131584,134217736,134348800,134218248,520,134348800,131592,8,134348808,131584],p=[8396801,8321,8321,128,8396928,8388737,8388609,8193,0,8396800,8396800,8396929,129,0,8388736,8388609,1,8192,8388608,8396801,128,8388608,8193,8320,8388737,1,8320,8388736,8192,8396928,8396929,129,8388736,8388609,8396800,8396929,129,0,0,8396800,8320,8388736,8388737,1,8396801,8321,8321,128,8396929,129,1,8192,8388609,8193,8396928,8388737,8193,8320,8388608,8396801,128,8388608,8192,8396928],f=[256,34078976,34078720,1107296512,524288,256,1073741824,34078720,1074266368,524288,33554688,1074266368,1107296512,1107820544,524544,1073741824,33554432,1074266112,1074266112,0,1073742080,1107820800,1107820800,33554688,1107820544,1073742080,0,1107296256,34078976,33554432,1107296256,524544,524288,1107296512,256,33554432,1073741824,34078720,1107296512,1074266368,33554688,1073741824,1107820544,34078976,1074266368,256,33554432,1107820544,1107820800,524544,1107296256,1107820800,34078720,0,1074266112,1107296256,524544,33554688,1073742080,524288,0,1074266112,34078976,1073742080],h=[536870928,541065216,16384,541081616,541065216,16,541081616,4194304,536887296,4210704,4194304,536870928,4194320,536887296,536870912,16400,0,4194320,536887312,16384,4210688,536887312,16,541065232,541065232,0,4210704,541081600,16400,4210688,541081600,536870912,536887296,16,541065232,4210688,541081616,4194304,16400,536870928,4194304,536887296,536870912,16400,536870928,541081616,4210688,541065216,4210704,541081600,0,541065232,16,16384,541065216,4210704,16384,4194320,536887312,0,541081600,536870912,4194320,536887312],d=[2097152,69206018,67110914,0,2048,67110914,2099202,69208064,69208066,2097152,0,67108866,2,67108864,69206018,2050,67110912,2099202,2097154,67110912,67108866,69206016,69208064,2097154,69206016,2048,2050,69208066,2099200,2,67108864,2099200,67108864,2099200,2097152,67110914,67110914,69206018,69206018,2,2097154,67108864,67110912,2097152,69208064,2050,2099202,69208064,2050,67108866,69208066,69206016,2099200,0,2,69208066,0,2099202,69206016,2048,67108866,67110912,2048,2097154],y=[268439616,4096,262144,268701760,268435456,268439616,64,268435456,262208,268697600,268701760,266240,268701696,266304,4096,64,268697600,268435520,268439552,4160,266240,262208,268697664,268701696,4160,0,0,268697664,268435520,268439552,266304,262144,266304,262144,268701696,4096,64,268697664,4096,266304,268439552,64,268435520,268697600,268697664,268435456,262144,268439616,0,268701760,262208,268435520,268697600,268439552,268439616,0,268701760,266240,266240,4160,4160,262208,268435456,268701696]},function(e,t,r){function n(e,t,r){var n=p.util.createBuffer(),a=Math.ceil(t.n.bitLength()/8);if(e.length>a-11){var i=new Error("Message is too long for PKCS#1 v1.5 padding.");throw i.length=e.length,i.max=a-11,i}n.putByte(0),n.putByte(r);var s,o=a-3-e.length;if(0===r||1===r){s=0===r?0:255;for(var c=0;c0;){for(var u=0,l=p.random.getBytes(o),c=0;c1;){if(255!==i.getByte()){--i.read;break}++c}else if(2===o)for(c=0;i.length()>1;){if(0===i.getByte()){--i.read;break}++c}if(0!==i.getByte()||c!==a-3-i.length())throw new Error("Encryption block is invalid.");return i.getBytes()}function i(e,t,r){function n(){a(e.pBits,function(t,n){return t?r(t):(e.p=n,null!==e.q?i(t,e.q):void a(e.qBits,i))})}function a(e,t){p.prime.generateProbablePrime(e,s,t)}function i(t,s){if(t)return r(t);if(e.q=s,e.p.compareTo(e.q)<0){var o=e.p;e.p=e.q,e.q=o}if(0!==e.p.subtract(f.ONE).gcd(e.e).compareTo(f.ONE))return e.p=null,void n();if(0!==e.q.subtract(f.ONE).gcd(e.e).compareTo(f.ONE))return e.q=null,void a(e.qBits,i);if(e.p1=e.p.subtract(f.ONE),e.q1=e.q.subtract(f.ONE),e.phi=e.p1.multiply(e.q1),0!==e.phi.gcd(e.e).compareTo(f.ONE))return e.p=e.q=null,void n();if(e.n=e.p.multiply(e.q),e.n.bitLength()!==e.bits)return e.q=null,void a(e.qBits,i);var c=e.e.modInverse(e.phi);e.keys={privateKey:d.rsa.setPrivateKey(e.n,e.e,c,e.p,e.q,c.mod(e.p1),c.mod(e.q1),e.q.modInverse(e.p)),publicKey:d.rsa.setPublicKey(e.n,e.e)},r(null,e.keys)}"function"==typeof t&&(r=t,t={}),t=t||{};var s={algorithm:{name:t.algorithm||"PRIMEINC",options:{workers:t.workers||2,workLoad:t.workLoad||100,workerScript:t.workerScript}}};"prng"in t&&(s.prng=t.prng),n()}function s(e){var t=e.toString(16);t[0]>="8"&&(t="00"+t);var r=p.util.hexToBytes(t);return r.length>1&&(0===r.charCodeAt(0)&&0==(128&r.charCodeAt(1))||255===r.charCodeAt(0)&&128==(128&r.charCodeAt(1)))?r.substr(1):r}function o(e){return e<=100?27:e<=150?18:e<=200?15:e<=250?12:e<=300?9:e<=350?8:e<=400?7:e<=500?6:e<=600?5:e<=800?4:e<=1250?3:2}function c(e){return"undefined"!=typeof window&&"object"==typeof window.crypto&&"object"==typeof window.crypto.subtle&&"function"==typeof window.crypto.subtle[e]}function u(e){return"undefined"!=typeof window&&"object"==typeof window.msCrypto&&"object"==typeof window.msCrypto.subtle&&"function"==typeof window.msCrypto.subtle[e]}function l(e){for(var t=p.util.hexToBytes(e.toString(16)),r=new Uint8Array(t.length),n=0;n=0||!n.gcd(t.n).equals(f.ONE));e=e.multiply(n.modPow(t.e,t.n)).mod(t.n);for(var a=e.mod(t.p).modPow(t.dP,t.p),i=e.mod(t.q).modPow(t.dQ,t.q);a.compareTo(i)<0;)a=a.add(t.p);var s=a.subtract(i).multiply(t.qInv).mod(t.p).multiply(t.q).add(i);return s=s.multiply(n.modInverse(t.n)).mod(t.n)};d.rsa.encrypt=function(e,t,r){var a,i=r,s=Math.ceil(t.n.bitLength()/8);!1!==r&&!0!==r?(i=2===r,a=n(e,t,r)):(a=p.util.createBuffer(),a.putBytes(e));for(var o=new f(a.toHex(),16),c=S(o,t,i),u=c.toString(16),l=p.util.createBuffer(),h=s-Math.ceil(u.length/2);h>0;)l.putByte(0),--h;return l.putBytes(p.util.hexToBytes(u)),l.getBytes()},d.rsa.decrypt=function(e,t,r,n){var i=Math.ceil(t.n.bitLength()/8);if(e.length!==i){var s=new Error("Encrypted message length is invalid.");throw s.length=e.length,s.expected=i,s}var o=new f(p.util.createBuffer(e).toHex(),16);if(o.compareTo(t.n)>=0)throw new Error("Encrypted message is invalid.");for(var c=S(o,t,r),u=c.toString(16),l=p.util.createBuffer(),h=i-Math.ceil(u.length/2);h>0;)l.putByte(0),--h;return l.putBytes(p.util.hexToBytes(u)),!1!==n?a(l.getBytes(),t,r):l.getBytes()},d.rsa.createKeyPairGenerationState=function(e,t,r){"string"==typeof e&&(e=parseInt(e,10)),e=e||2048,r=r||{};var n,a=r.prng||p.random,i={nextBytes:function(e){for(var t=a.getBytesSync(e.length),r=0;r>1,pBits:e-(e>>1),pqState:0,num:null,keys:null},n.e.fromInt(n.eInt),n},d.rsa.stepKeyPairGenerationState=function(e,t){"algorithm"in e||(e.algorithm="PRIMEINC");var r=new f(null);r.fromInt(30);for(var n,a=0,i=function(e,t){return e|t},s=+new Date,c=0;null===e.keys&&(t<=0||cu?e.pqState=0:e.num.isProbablePrime(o(e.num.bitLength()))?++e.pqState:e.num.dAddOffset(y[a++%8],0):2===e.pqState?e.pqState=0===e.num.subtract(f.ONE).gcd(e.e).compareTo(f.ONE)?3:0:3===e.pqState&&(e.pqState=0,null===e.p?e.p=e.num:e.q=e.num,null!==e.p&&null!==e.q&&++e.state,e.num=null)}else if(1===e.state)e.p.compareTo(e.q)<0&&(e.num=e.p,e.p=e.q,e.q=e.num),++e.state;else if(2===e.state)e.p1=e.p.subtract(f.ONE),e.q1=e.q.subtract(f.ONE),e.phi=e.p1.multiply(e.q1),++e.state;else if(3===e.state)0===e.phi.gcd(e.e).compareTo(f.ONE)?++e.state:(e.p=null,e.q=null,e.state=0);else if(4===e.state)e.n=e.p.multiply(e.q),e.n.bitLength()===e.bits?++e.state:(e.q=null,e.state=0);else if(5===e.state){var p=e.e.modInverse(e.phi);e.keys={privateKey:d.rsa.setPrivateKey(e.n,e.e,p,e.p,e.q,p.mod(e.p1),p.mod(e.q1),e.q.modInverse(e.p)),publicKey:d.rsa.setPublicKey(e.n,e.e)}}n=+new Date,c+=n-s,s=n}return null!==e.keys},d.rsa.generateKeyPair=function(e,t,r,n){if(1===arguments.length?"object"==typeof e?(r=e,e=void 0):"function"==typeof e&&(n=e,e=void 0):2===arguments.length?"number"==typeof e?"function"==typeof t?(n=t,t=void 0):"number"!=typeof t&&(r=t,t=void 0):(r=e,n=t,e=void 0,t=void 0):3===arguments.length&&("number"==typeof t?"function"==typeof r&&(n=r,r=void 0):(n=r,r=t,t=void 0)),r=r||{},void 0===e&&(e=r.bits||2048),void 0===t&&(t=r.e||65537),!p.options.usePureJavaScript&&n&&e>=256&&e<=16384&&(65537===t||3===t)){if(c("generateKey")&&c("exportKey"))return window.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:l(t),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(e){return window.crypto.subtle.exportKey("pkcs8",e.privateKey)}).then(void 0,function(e){n(e)}).then(function(e){if(e){var t=d.privateKeyFromAsn1(h.fromDer(p.util.createBuffer(e)));n(null,{privateKey:t,publicKey:d.setRsaPublicKey(t.n,t.e)})}});if(u("generateKey")&&u("exportKey")){var a=window.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:l(t),hash:{name:"SHA-256"}},!0,["sign","verify"]);return a.oncomplete=function(e){var t=e.target.result,r=window.msCrypto.subtle.exportKey("pkcs8",t.privateKey);r.oncomplete=function(e){var t=e.target.result,r=d.privateKeyFromAsn1(h.fromDer(p.util.createBuffer(t)));n(null,{privateKey:r,publicKey:d.setRsaPublicKey(r.n,r.e)})},r.onerror=function(e){n(e)}},void(a.onerror=function(e){n(e)})}}var s=d.rsa.createKeyPairGenerationState(e,t,r);if(!n)return d.rsa.stepKeyPairGenerationState(s,0),s.keys;i(s,r,n)},d.setRsaPublicKey=d.rsa.setPublicKey=function(e,t){var r={n:e,e:t};return r.encrypt=function(e,t,a){if("string"==typeof t?t=t.toUpperCase():void 0===t&&(t="RSAES-PKCS1-V1_5"),"RSAES-PKCS1-V1_5"===t)t={encode:function(e,t,r){return n(e,t,2).getBytes()}};else if("RSA-OAEP"===t||"RSAES-OAEP"===t)t={encode:function(e,t){return p.pkcs1.encode_rsa_oaep(t,e,a)}};else if(-1!==["RAW","NONE","NULL",null].indexOf(t))t={encode:function(e){return e}};else if("string"==typeof t)throw new Error('Unsupported encryption scheme: "'+t+'".');var i=t.encode(e,r,!0);return d.rsa.encrypt(i,r,!0)},r.verify=function(e,t,n){"string"==typeof n?n=n.toUpperCase():void 0===n&&(n="RSASSA-PKCS1-V1_5"),"RSASSA-PKCS1-V1_5"===n?n={verify:function(e,t){return t=a(t,r,!0),e===h.fromDer(t).value[1].value}}:"NONE"!==n&&"NULL"!==n&&null!==n||(n={verify:function(e,t){return t=a(t,r,!0),e===t}});var i=d.rsa.decrypt(t,r,!0,!1);return n.verify(e,i,r.n.bitLength())},r},d.setRsaPrivateKey=d.rsa.setPrivateKey=function(e,t,r,n,i,s,o,c){var u={n:e,e:t,d:r,p:n,q:i,dP:s,dQ:o,qInv:c};return u.decrypt=function(e,t,r){"string"==typeof t?t=t.toUpperCase():void 0===t&&(t="RSAES-PKCS1-V1_5");var n=d.rsa.decrypt(e,u,!1,!1);if("RSAES-PKCS1-V1_5"===t)t={decode:a};else if("RSA-OAEP"===t||"RSAES-OAEP"===t)t={decode:function(e,t){return p.pkcs1.decode_rsa_oaep(t,e,r)}};else{if(-1===["RAW","NONE","NULL",null].indexOf(t))throw new Error('Unsupported encryption scheme: "'+t+'".');t={decode:function(e){return e}}}return t.decode(n,u,!1)},u.sign=function(e,t){var r=!1;"string"==typeof t&&(t=t.toUpperCase()),void 0===t||"RSASSA-PKCS1-V1_5"===t?(t={encode:E},r=1):"NONE"!==t&&"NULL"!==t&&null!==t||(t={encode:function(){return e}},r=1);var n=t.encode(e,u.n.bitLength());return d.rsa.encrypt(n,u,r)},u},d.wrapRsaPrivateKey=function(e){return h.create(h.Class.UNIVERSAL,h.Type.SEQUENCE,!0,[h.create(h.Class.UNIVERSAL,h.Type.INTEGER,!1,h.integerToDer(0).getBytes()),h.create(h.Class.UNIVERSAL,h.Type.SEQUENCE,!0,[h.create(h.Class.UNIVERSAL,h.Type.OID,!1,h.oidToDer(d.oids.rsaEncryption).getBytes()),h.create(h.Class.UNIVERSAL,h.Type.NULL,!1,"")]),h.create(h.Class.UNIVERSAL,h.Type.OCTETSTRING,!1,h.toDer(e).getBytes())])},d.privateKeyFromAsn1=function(e){var t={},r=[];if(h.validate(e,g,t,r)&&(e=h.fromDer(p.util.createBuffer(t.privateKey))),t={},r=[],!h.validate(e,v,t,r)){var n=new Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey.");throw n.errors=r,n}var a,i,s,o,c,u,l,y;return a=p.util.createBuffer(t.privateKeyModulus).toHex(),i=p.util.createBuffer(t.privateKeyPublicExponent).toHex(),s=p.util.createBuffer(t.privateKeyPrivateExponent).toHex(),o=p.util.createBuffer(t.privateKeyPrime1).toHex(),c=p.util.createBuffer(t.privateKeyPrime2).toHex(),u=p.util.createBuffer(t.privateKeyExponent1).toHex(),l=p.util.createBuffer(t.privateKeyExponent2).toHex(),y=p.util.createBuffer(t.privateKeyCoefficient).toHex(),d.setRsaPrivateKey(new f(a,16),new f(i,16),new f(s,16),new f(o,16),new f(c,16),new f(u,16),new f(l,16),new f(y,16))},d.privateKeyToAsn1=d.privateKeyToRSAPrivateKey=function(e){return h.create(h.Class.UNIVERSAL,h.Type.SEQUENCE,!0,[h.create(h.Class.UNIVERSAL,h.Type.INTEGER,!1,h.integerToDer(0).getBytes()),h.create(h.Class.UNIVERSAL,h.Type.INTEGER,!1,s(e.n)),h.create(h.Class.UNIVERSAL,h.Type.INTEGER,!1,s(e.e)),h.create(h.Class.UNIVERSAL,h.Type.INTEGER,!1,s(e.d)),h.create(h.Class.UNIVERSAL,h.Type.INTEGER,!1,s(e.p)),h.create(h.Class.UNIVERSAL,h.Type.INTEGER,!1,s(e.q)),h.create(h.Class.UNIVERSAL,h.Type.INTEGER,!1,s(e.dP)),h.create(h.Class.UNIVERSAL,h.Type.INTEGER,!1,s(e.dQ)),h.create(h.Class.UNIVERSAL,h.Type.INTEGER,!1,s(e.qInv))])},d.publicKeyFromAsn1=function(e){var t={},r=[];if(h.validate(e,C,t,r)){var n=h.derToOid(t.publicKeyOid);if(n!==d.oids.rsaEncryption){var a=new Error("Cannot read public key. Unknown OID.");throw a.oid=n,a}e=t.rsaPublicKey}if(r=[],!h.validate(e,m,t,r)){var a=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");throw a.errors=r,a}var i=p.util.createBuffer(t.publicKeyModulus).toHex(),s=p.util.createBuffer(t.publicKeyExponent).toHex();return d.setRsaPublicKey(new f(i,16),new f(s,16))},d.publicKeyToAsn1=d.publicKeyToSubjectPublicKeyInfo=function(e){return h.create(h.Class.UNIVERSAL,h.Type.SEQUENCE,!0,[h.create(h.Class.UNIVERSAL,h.Type.SEQUENCE,!0,[h.create(h.Class.UNIVERSAL,h.Type.OID,!1,h.oidToDer(d.oids.rsaEncryption).getBytes()),h.create(h.Class.UNIVERSAL,h.Type.NULL,!1,"")]),h.create(h.Class.UNIVERSAL,h.Type.BITSTRING,!1,[d.publicKeyToRSAPublicKey(e)])])},d.publicKeyToRSAPublicKey=function(e){return h.create(h.Class.UNIVERSAL,h.Type.SEQUENCE,!0,[h.create(h.Class.UNIVERSAL,h.Type.INTEGER,!1,s(e.n)),h.create(h.Class.UNIVERSAL,h.Type.INTEGER,!1,s(e.e))])}},function(e,t,r){function n(e,t,r){this.data=[],null!=e&&("number"==typeof e?this.fromNumber(e,t,r):null==t&&"string"!=typeof e?this.fromString(e,256):this.fromString(e,t))}function a(){return new n(null)}function i(e,t,r,n,a,i){for(;--i>=0;){var s=t*this.data[e++]+r.data[n]+a;a=Math.floor(s/67108864),r.data[n++]=67108863&s}return a}function s(e,t,r,n,a,i){for(var s=32767&t,o=t>>15;--i>=0;){var c=32767&this.data[e],u=this.data[e++]>>15,l=o*c+u*s;c=s*c+((32767&l)<<15)+r.data[n]+(1073741823&a),a=(c>>>30)+(l>>>15)+o*u+(a>>>30),r.data[n++]=1073741823&c}return a}function o(e,t,r,n,a,i){for(var s=16383&t,o=t>>14;--i>=0;){var c=16383&this.data[e],u=this.data[e++]>>14,l=o*c+u*s;c=s*c+((16383&l)<<14)+r.data[n]+a,a=(c>>28)+(l>>14)+o*u,r.data[n++]=268435455&c}return a}function c(e){return it.charAt(e)}function u(e,t){var r=st[e.charCodeAt(t)];return null==r?-1:r}function l(e){for(var t=this.t-1;t>=0;--t)e.data[t]=this.data[t];e.t=this.t,e.s=this.s}function p(e){this.t=1,this.s=e<0?-1:0,e>0?this.data[0]=e:e<-1?this.data[0]=e+this.DV:this.t=0}function f(e){var t=a();return t.fromInt(e),t}function h(e,t){var r;if(16==t)r=4;else if(8==t)r=3;else if(256==t)r=8;else if(2==t)r=1;else if(32==t)r=5;else{if(4!=t)return void this.fromRadix(e,t);r=2}this.t=0,this.s=0;for(var a=e.length,i=!1,s=0;--a>=0;){var o=8==r?255&e[a]:u(e,a);o<0?"-"==e.charAt(a)&&(i=!0):(i=!1,0==s?this.data[this.t++]=o:s+r>this.DB?(this.data[this.t-1]|=(o&(1<>this.DB-s):this.data[this.t-1]|=o<=this.DB&&(s-=this.DB))}8==r&&0!=(128&e[0])&&(this.s=-1,s>0&&(this.data[this.t-1]|=(1<0&&this.data[this.t-1]==e;)--this.t}function y(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(16==e)t=4;else if(8==e)t=3;else if(2==e)t=1;else if(32==e)t=5;else{if(4!=e)return this.toRadix(e);t=2}var r,n=(1<0)for(o>o)>0&&(a=!0,i=c(r));s>=0;)o>(o+=this.DB-t)):(r=this.data[s]>>(o-=t)&n,o<=0&&(o+=this.DB,--s)),r>0&&(a=!0),a&&(i+=c(r));return a?i:"0"}function g(){var e=a();return n.ZERO.subTo(this,e),e}function v(){return this.s<0?this.negate():this}function m(e){var t=this.s-e.s;if(0!=t)return t;var r=this.t;if(0!=(t=r-e.t))return this.s<0?-t:t;for(;--r>=0;)if(0!=(t=this.data[r]-e.data[r]))return t;return 0}function C(e){var t,r=1;return 0!=(t=e>>>16)&&(e=t,r+=16),0!=(t=e>>8)&&(e=t,r+=8),0!=(t=e>>4)&&(e=t,r+=4),0!=(t=e>>2)&&(e=t,r+=2),0!=(t=e>>1)&&(e=t,r+=1),r}function E(){return this.t<=0?0:this.DB*(this.t-1)+C(this.data[this.t-1]^this.s&this.DM)}function S(e,t){var r;for(r=this.t-1;r>=0;--r)t.data[r+e]=this.data[r];for(r=e-1;r>=0;--r)t.data[r]=0;t.t=this.t+e,t.s=this.s}function T(e,t){for(var r=e;r=0;--r)t.data[r+s+1]=this.data[r]>>a|o,o=(this.data[r]&i)<=0;--r)t.data[r]=0;t.data[s]=o,t.t=this.t+s+1,t.s=this.s,t.clamp()}function I(e,t){t.s=this.s;var r=Math.floor(e/this.DB);if(r>=this.t)return void(t.t=0);var n=e%this.DB,a=this.DB-n,i=(1<>n;for(var s=r+1;s>n;n>0&&(t.data[this.t-r-1]|=(this.s&i)<>=this.DB;if(e.t>=this.DB;n+=this.s}else{for(n+=this.s;r>=this.DB;n-=e.s}t.s=n<0?-1:0,n<-1?t.data[r++]=this.DV+n:n>0&&(t.data[r++]=n),t.t=r,t.clamp()}function B(e,t){var r=this.abs(),a=e.abs(),i=r.t;for(t.t=i+a.t;--i>=0;)t.data[i]=0;for(i=0;i=0;)e.data[r]=0;for(r=0;r=t.DV&&(e.data[r+t.t]-=t.DV,e.data[r+t.t+1]=1)}e.t>0&&(e.data[e.t-1]+=t.am(r,t.data[r],e,2*r,0,1)),e.s=0,e.clamp()}function w(e,t,r){var i=e.abs();if(!(i.t<=0)){var s=this.abs();if(s.t0?(i.lShiftTo(l,o),s.lShiftTo(l,r)):(i.copyTo(o),s.copyTo(r));var p=o.t,f=o.data[p-1];if(0!=f){var h=f*(1<1?o.data[p-2]>>this.F2:0),d=this.FV/h,y=(1<=0&&(r.data[r.t++]=1,r.subTo(E,r)),n.ONE.dlShiftTo(p,E),E.subTo(o,o);o.t=0;){var S=r.data[--v]==f?this.DM:Math.floor(r.data[v]*d+(r.data[v-1]+g)*y);if((r.data[v]+=o.am(0,S,r,m,0,p))0&&r.rShiftTo(l,r),c<0&&n.ZERO.subTo(r,r)}}}function N(e){var t=a();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(n.ZERO)>0&&e.subTo(t,t),t}function R(e){this.m=e}function _(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e}function L(e){return e}function U(e){e.divRemTo(this.m,null,e)}function D(e,t,r){e.multiplyTo(t,r),this.reduce(r)}function P(e,t){e.squareTo(t),this.reduce(t)}function O(){if(this.t<1)return 0;var e=this.data[0];if(0==(1&e))return 0;var t=3&e;return t=t*(2-(15&e)*t)&15,t=t*(2-(255&e)*t)&255,t=t*(2-((65535&e)*t&65535))&65535,t=t*(2-e*t%this.DV)%this.DV,t>0?this.DV-t:-t}function V(e){this.m=e,this.mp=e.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<0&&this.m.subTo(t,t),t}function K(e){var t=a();return e.copyTo(t),this.reduce(t),t}function M(e){for(;e.t<=this.mt2;)e.data[e.t++]=0;for(var t=0;t>15)*this.mpl&this.um)<<15)&e.DM;for(r=t+this.m.t,e.data[r]+=this.m.am(0,n,e,t,0,this.m.t);e.data[r]>=e.DV;)e.data[r]-=e.DV,e.data[++r]++}e.clamp(),e.drShiftTo(this.m.t,e),e.compareTo(this.m)>=0&&e.subTo(this.m,e)}function F(e,t){e.squareTo(t),this.reduce(t)}function q(e,t,r){e.multiplyTo(t,r),this.reduce(r)}function H(){return 0==(this.t>0?1&this.data[0]:this.s)}function j(e,t){if(e>4294967295||e<1)return n.ONE;var r=a(),i=a(),s=t.convert(this),o=C(e)-1;for(s.copyTo(r);--o>=0;)if(t.sqrTo(r,i),(e&1<0)t.mulTo(i,s,r);else{var c=r;r=i,i=c}return t.revert(r)}function G(e,t){var r;return r=e<256||t.isEven()?new R(t):new V(t),this.exp(e,r)}function Q(){var e=a();return this.copyTo(e),e}function z(){if(this.s<0){if(1==this.t)return this.data[0]-this.DV;if(0==this.t)return-1}else{if(1==this.t)return this.data[0];if(0==this.t)return 0}return(this.data[1]&(1<<32-this.DB)-1)<>24}function X(){return 0==this.t?this.s:this.data[0]<<16>>16}function Y(e){return Math.floor(Math.LN2*this.DB/Math.log(e))}function Z(){return this.s<0?-1:this.t<=0||1==this.t&&this.data[0]<=0?0:1}function J(e){if(null==e&&(e=10),0==this.signum()||e<2||e>36)return"0";var t=this.chunkSize(e),r=Math.pow(e,t),n=f(r),i=a(),s=a(),o="";for(this.divRemTo(n,i,s);i.signum()>0;)o=(r+s.intValue()).toString(e).substr(1)+o,i.divRemTo(n,i,s);return s.intValue().toString(e)+o}function $(e,t){this.fromInt(0),null==t&&(t=10);for(var r=this.chunkSize(t),a=Math.pow(t,r),i=!1,s=0,o=0,c=0;c=r&&(this.dMultiply(a),this.dAddOffset(o,0),s=0,o=0))}s>0&&(this.dMultiply(Math.pow(t,s)),this.dAddOffset(o,0)),i&&n.ZERO.subTo(this,this)}function ee(e,t,r){if("number"==typeof t)if(e<2)this.fromInt(1);else for(this.fromNumber(e,r),this.testBit(e-1)||this.bitwiseTo(n.ONE.shiftLeft(e-1),ce,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(t);)this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(n.ONE.shiftLeft(e-1),this);else{var a=new Array,i=7&e;a.length=1+(e>>3),t.nextBytes(a),i>0?a[0]&=(1<0)for(n>n)!=(this.s&this.DM)>>n&&(t[a++]=r|this.s<=0;)n<8?(r=(this.data[e]&(1<>(n+=this.DB-8)):(r=this.data[e]>>(n-=8)&255,n<=0&&(n+=this.DB,--e)),0!=(128&r)&&(r|=-256),0==a&&(128&this.s)!=(128&r)&&++a,(a>0||r!=this.s)&&(t[a++]=r);return t}function re(e){return 0==this.compareTo(e)}function ne(e){return this.compareTo(e)<0?this:e}function ae(e){return this.compareTo(e)>0?this:e}function ie(e,t,r){var n,a,i=Math.min(e.t,this.t);for(n=0;n>=16,t+=16),0==(255&e)&&(e>>=8,t+=8),0==(15&e)&&(e>>=4,t+=4),0==(3&e)&&(e>>=2,t+=2),0==(1&e)&&++t,t}function me(){for(var e=0;e=this.t?0!=this.s:0!=(this.data[t]&1<>=this.DB;if(e.t>=this.DB;n+=this.s}else{for(n+=this.s;r>=this.DB;n+=e.s}t.s=n<0?-1:0,n>0?t.data[r++]=n:n<-1&&(t.data[r++]=this.DV+n),t.t=r,t.clamp()}function ke(e){var t=a();return this.addTo(e,t),t}function we(e){var t=a();return this.subTo(e,t),t}function Ne(e){var t=a();return this.multiplyTo(e,t),t}function Re(e){var t=a();return this.divRemTo(e,t,null),t}function _e(e){var t=a();return this.divRemTo(e,null,t),t}function Le(e){var t=a(),r=a();return this.divRemTo(e,t,r),new Array(t,r)}function Ue(e){this.data[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()}function De(e,t){if(0!=e){for(;this.t<=t;)this.data[this.t++]=0;for(this.data[t]+=e;this.data[t]>=this.DV;)this.data[t]-=this.DV,++t>=this.t&&(this.data[this.t++]=0),++this.data[t]}}function Pe(){}function Oe(e){return e}function Ve(e,t,r){e.multiplyTo(t,r)}function xe(e,t){e.squareTo(t)}function Ke(e){return this.exp(e,new Pe)}function Me(e,t,r){var n=Math.min(this.t+e.t,t);for(r.s=0,r.t=n;n>0;)r.data[--n]=0;var a;for(a=r.t-this.t;n=0;)r.data[n]=0;for(n=Math.max(t-this.t,0);n2*this.m.t)return e.mod(this.m);if(e.compareTo(this.m)<0)return e;var t=a();return e.copyTo(t),this.reduce(t),t}function je(e){return e}function Ge(e){for(e.drShiftTo(this.m.t-1,this.r2),e.t>this.m.t+1&&(e.t=this.m.t+1,e.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);e.compareTo(this.r2)<0;)e.dAddOffset(1,this.m.t+1);for(e.subTo(this.r2,e);e.compareTo(this.m)>=0;)e.subTo(this.m,e)}function Qe(e,t){e.squareTo(t),this.reduce(t)}function ze(e,t,r){e.multiplyTo(t,r),this.reduce(r)}function We(e,t){var r,n,i=e.bitLength(),s=f(1);if(i<=0)return s;r=i<18?1:i<48?3:i<144?4:i<768?5:6,n=i<8?new R(t):t.isEven()?new qe(t):new V(t);var o=new Array,c=3,u=r-1,l=(1<1){var p=a();for(n.sqrTo(o[1],p);c<=l;)o[c]=a(),n.mulTo(p,o[c-2],o[c]),c+=2}var h,d,y=e.t-1,g=!0,v=a();for(i=C(e.data[y])-1;y>=0;){for(i>=u?h=e.data[y]>>i-u&l:(h=(e.data[y]&(1<0&&(h|=e.data[y-1]>>this.DB+i-u)),c=r;0==(1&h);)h>>=1,--c;if((i-=c)<0&&(i+=this.DB,--y),g)o[h].copyTo(s),g=!1;else{for(;c>1;)n.sqrTo(s,v),n.sqrTo(v,s),c-=2;c>0?n.sqrTo(s,v):(d=s,s=v,v=d),n.mulTo(v,o[h],s)}for(;y>=0&&0==(e.data[y]&1<0&&(t.rShiftTo(i,t),r.rShiftTo(i,r));t.signum()>0;)(a=t.getLowestSetBit())>0&&t.rShiftTo(a,t),(a=r.getLowestSetBit())>0&&r.rShiftTo(a,r),t.compareTo(r)>=0?(t.subTo(r,t),t.rShiftTo(1,t)):(r.subTo(t,r),r.rShiftTo(1,r));return i>0&&r.lShiftTo(i,r),r}function Ye(e){if(e<=0)return 0;var t=this.DV%e,r=this.s<0?e-1:0;if(this.t>0)if(0==t)r=this.data[0]%e;else for(var n=this.t-1;n>=0;--n)r=(t*r+this.data[n])%e;return r}function Ze(e){var t=e.isEven();if(this.isEven()&&t||0==e.signum())return n.ZERO;for(var r=e.clone(),a=this.clone(),i=f(1),s=f(0),o=f(0),c=f(1);0!=r.signum();){for(;r.isEven();)r.rShiftTo(1,r),t?(i.isEven()&&s.isEven()||(i.addTo(this,i),s.subTo(e,s)),i.rShiftTo(1,i)):s.isEven()||s.subTo(e,s),s.rShiftTo(1,s);for(;a.isEven();)a.rShiftTo(1,a),t?(o.isEven()&&c.isEven()||(o.addTo(this,o),c.subTo(e,c)),o.rShiftTo(1,o)):c.isEven()||c.subTo(e,c),c.rShiftTo(1,c);r.compareTo(a)>=0?(r.subTo(a,r),t&&i.subTo(o,i),s.subTo(c,s)):(a.subTo(r,a),t&&o.subTo(i,o),c.subTo(s,c))}return 0!=a.compareTo(n.ONE)?n.ZERO:c.compareTo(e)>=0?c.subtract(e):c.signum()<0?(c.addTo(e,c),c.signum()<0?c.add(e):c):c}function Je(e){var t,r=this.abs();if(1==r.t&&r.data[0]<=ot[ot.length-1]){for(t=0;t=0);var c=a.modPow(i,this);if(0!=c.compareTo(n.ONE)&&0!=c.compareTo(t)){for(var u=1;u++=64;){for(a=e.h0,i=e.h1,s=e.h2,o=e.h3,h=0;h<16;++h)t[h]=r.getInt32Le(),p=o^i&(s^o),n=a+p+l[h]+t[h],f=u[h],a=o,o=s,s=i,i+=n<>>32-f;for(;h<32;++h)p=s^o&(i^s),n=a+p+l[h]+t[c[h]],f=u[h],a=o,o=s,s=i,i+=n<>>32-f;for(;h<48;++h)p=i^s^o,n=a+p+l[h]+t[c[h]],f=u[h],a=o,o=s,s=i,i+=n<>>32-f;for(;h<64;++h)p=s^(i|~o),n=a+p+l[h]+t[c[h]],f=u[h],a=o,o=s,s=i,i+=n<>>32-f;e.h0=e.h0+a|0,e.h1=e.h1+i|0,e.h2=e.h2+s|0,e.h3=e.h3+o|0,d-=64}}var i=r(0);r(4),r(1);var s=e.exports=i.md5=i.md5||{};i.md.md5=i.md.algorithms.md5=s,s.create=function(){p||n();var e=null,t=i.util.createBuffer(),r=new Array(16),s={algorithm:"md5",blockLength:64,digestLength:16,messageLength:0,fullMessageLength:null,messageLengthSize:8};return s.start=function(){s.messageLength=0,s.fullMessageLength=s.messageLength64=[];for(var r=s.messageLengthSize/4,n=0;n>>0,c>>>0];for(var u=s.fullMessageLength.length-1;u>=0;--u)s.fullMessageLength[u]+=c[1],c[1]=c[0]+(s.fullMessageLength[u]/4294967296>>>0),s.fullMessageLength[u]=s.fullMessageLength[u]>>>0,c[0]=c[1]/4294967296>>>0;return t.putBytes(n),a(e,r,t),(t.read>2048||0===t.length())&&t.compact(),s},s.digest=function(){var n=i.util.createBuffer();n.putBytes(t.bytes());var c=s.fullMessageLength[s.fullMessageLength.length-1]+s.messageLengthSize,u=c&s.blockLength-1;n.putBytes(o.substr(0,s.blockLength-u));for(var l,p=0,f=s.fullMessageLength.length-1;f>=0;--f)l=8*s.fullMessageLength[f]+p,p=l/4294967296>>>0,n.putInt32Le(l>>>0);var h={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3};a(h,r,n);var d=i.util.createBuffer();return d.putInt32Le(h.h0),d.putInt32Le(h.h1),d.putInt32Le(h.h2),d.putInt32Le(h.h3),d},s};var o=null,c=null,u=null,l=null,p=!1},function(e,t,r){var n=r(0);r(8),r(4),r(1);var a,i=n.pkcs5=n.pkcs5||{};n.util.isNodejs&&!n.options.usePureJavaScript&&(a=r(23)),e.exports=n.pbkdf2=i.pbkdf2=function(e,t,r,i,s,o){function c(){if(C>f)return o(null,m);d.start(null,null),d.update(t),d.update(n.util.int32ToBytes(C)),y=v=d.digest().getBytes(),E=2,u()}function u(){if(E<=r)return d.start(null,null),d.update(v),g=d.digest().getBytes(),y=n.util.xorBytes(y,g,l),v=g,++E,n.util.setImmediate(u);m+=C4||!s||"sha1"===s))return"string"!=typeof s&&(s="sha1"),e=new Buffer(e,"binary"),t=new Buffer(t,"binary"),o?4===a.pbkdf2Sync.length?a.pbkdf2(e,t,r,i,function(e,t){if(e)return o(e);o(null,t.toString("binary"))}):a.pbkdf2(e,t,r,i,s,function(e,t){if(e)return o(e);o(null,t.toString("binary"))}):4===a.pbkdf2Sync.length?a.pbkdf2Sync(e,t,r,i).toString("binary"):a.pbkdf2Sync(e,t,r,i,s).toString("binary");if(void 0!==s&&null!==s||(s="sha1"),"string"==typeof s){if(!(s in n.md.algorithms))throw new Error("Unknown hash algorithm: "+s);s=n.md[s].create()}var l=s.digestLength;if(i>4294967295*l){var p=new Error("Derived key is too long.");if(o)return o(p);throw p}var f=Math.ceil(i/l),h=i-(f-1)*l,d=n.hmac.create();d.start(s,e);var y,g,v,m="";if(!o){for(var C=1;C<=f;++C){d.start(null,null),d.update(t),d.update(n.util.int32ToBytes(C)),y=v=d.digest().getBytes();for(var E=2;E<=r;++E)d.start(null,null),d.update(v),g=d.digest().getBytes(),y=n.util.xorBytes(y,g,l),v=g;m+=C2)throw new Error("Cannot read notBefore/notAfter validity times; more than two times were provided in the certificate.");if(d.length<2)throw new Error("Cannot read notBefore/notAfter validity times; they were not provided as either UTCTime or GeneralizedTime.");if(c.validity.notBefore=d[0],c.validity.notAfter=d[1],c.tbsCertificate=r.tbsCertificate,t){if(c.md=null,c.signatureOid in f){var o=f[c.signatureOid];switch(o){case"sha1WithRSAEncryption":c.md=u.md.sha1.create();break;case"md5WithRSAEncryption":c.md=u.md.md5.create();break;case"sha256WithRSAEncryption":c.md=u.md.sha256.create();break;case"sha384WithRSAEncryption":c.md=u.md.sha384.create();break;case"sha512WithRSAEncryption":c.md=u.md.sha512.create();break;case"RSASSA-PSS":c.md=u.md.sha256.create()}}if(null===c.md){var s=new Error("Could not compute certificate digest. Unknown signature OID.");throw s.signatureOid=c.signatureOid,s}var g=l.toDer(c.tbsCertificate);c.md.update(g.getBytes())}var v=u.md.sha1.create();c.issuer.getField=function(e){return n(c.issuer,e)},c.issuer.addField=function(e){i([e]),c.issuer.attributes.push(e)},c.issuer.attributes=p.RDNAttributesAsArray(r.certIssuer,v),r.certIssuerUniqueId&&(c.issuer.uniqueId=r.certIssuerUniqueId),c.issuer.hash=v.digest().toHex();var m=u.md.sha1.create();return c.subject.getField=function(e){return n(c.subject,e)},c.subject.addField=function(e){i([e]),c.subject.attributes.push(e)},c.subject.attributes=p.RDNAttributesAsArray(r.certSubject,m),r.certSubjectUniqueId&&(c.subject.uniqueId=r.certSubjectUniqueId),c.subject.hash=m.digest().toHex(),r.certExtensions?c.extensions=p.certificateExtensionsFromAsn1(r.certExtensions):c.extensions=[],c.publicKey=p.publicKeyFromAsn1(r.subjectPublicKeyInfo),c},p.certificateExtensionsFromAsn1=function(e){for(var t=[],r=0;r1&&(n=r.value.charCodeAt(1),a=r.value.length>2?r.value.charCodeAt(2):0),t.digitalSignature=128==(128&n),t.nonRepudiation=64==(64&n),t.keyEncipherment=32==(32&n),t.dataEncipherment=16==(16&n),t.keyAgreement=8==(8&n),t.keyCertSign=4==(4&n),t.cRLSign=2==(2&n),t.encipherOnly=1==(1&n),t.decipherOnly=128==(128&a)}else if("basicConstraints"===t.name){var r=l.fromDer(t.value);r.value.length>0&&r.value[0].type===l.Type.BOOLEAN?t.cA=0!==r.value[0].value.charCodeAt(0):t.cA=!1;var i=null;r.value.length>0&&r.value[0].type===l.Type.INTEGER?i=r.value[0].value:r.value.length>1&&(i=r.value[1].value),null!==i&&(t.pathLenConstraint=l.derToInteger(i))}else if("extKeyUsage"===t.name)for(var r=l.fromDer(t.value),s=0;s1&&(n=r.value.charCodeAt(1)),t.client=128==(128&n),t.server=64==(64&n),t.email=32==(32&n),t.objsign=16==(16&n),t.reserved=8==(8&n),t.sslCA=4==(4&n),t.emailCA=2==(2&n),t.objCA=1==(1&n)}else if("subjectAltName"===t.name||"issuerAltName"===t.name){t.altNames=[];for(var c,r=l.fromDer(t.value),p=0;p0&&t.value.push(p.certificateExtensionsToAsn1(e.extensions)),t},p.getCertificationRequestInfo=function(e){return l.create(l.Class.UNIVERSAL,l.Type.SEQUENCE,!0,[l.create(l.Class.UNIVERSAL,l.Type.INTEGER,!1,l.integerToDer(e.version).getBytes()),a(e.subject),p.publicKeyToAsn1(e.publicKey),c(e)])},p.distinguishedNameToAsn1=function(e){return a(e)},p.certificateToAsn1=function(e){var t=e.tbsCertificate||p.getTBSCertificate(e);return l.create(l.Class.UNIVERSAL,l.Type.SEQUENCE,!0,[t,l.create(l.Class.UNIVERSAL,l.Type.SEQUENCE,!0,[l.create(l.Class.UNIVERSAL,l.Type.OID,!1,l.oidToDer(e.signatureOid).getBytes()),o(e.signatureOid,e.signatureParameters)]),l.create(l.Class.UNIVERSAL,l.Type.BITSTRING,!1,String.fromCharCode(0)+e.signature)])},p.certificateExtensionsToAsn1=function(e){var t=l.create(l.Class.CONTEXT_SPECIFIC,3,!0,[]),r=l.create(l.Class.UNIVERSAL,l.Type.SEQUENCE,!0,[]);t.value.push(r);for(var n=0;nc.validity.notAfter)&&(s={message:"Certificate is not valid yet or has expired.",error:p.certificateError.certificate_expired,notBefore:c.validity.notBefore,notAfter:c.validity.notAfter,now:a}),null===s){if(l=t[0]||e.getIssuer(c),null===l&&c.isIssuer(c)&&(f=!0,l=c),l){var h=l;u.util.isArray(h)||(h=[h]);for(var d=!1;!d&&h.length>0;){l=h.shift();try{d=l.verify(c)}catch(e){}}d||(s={message:"Certificate signature is invalid.",error:p.certificateError.bad_certificate})}null!==s||l&&!f||e.hasCertificate(c)||(s={message:"Certificate is not trusted.",error:p.certificateError.unknown_ca})}if(null===s&&l&&!c.isIssuer(l)&&(s={message:"Certificate issuer is invalid.",error:p.certificateError.bad_certificate}),null===s)for(var y={keyUsage:!0,basicConstraints:!0},g=0;null===s&&gm.pathLenConstraint&&(s={message:"Certificate basicConstraints pathLenConstraint violated.",error:p.certificateError.bad_certificate})}}var E=null===s||s.error,S=r?r(E,o,n):E;if(!0!==S)throw!0===E&&(s={message:"The application rejected the certificate.",error:p.certificateError.bad_certificate}),(S||0===S)&&("object"!=typeof S||u.util.isArray(S)?"string"==typeof S&&(s.error=S):(S.message&&(s.message=S.message),S.error&&(s.error=S.error))),s;s=null,i=!1,++o}while(t.length>0);return!0}},function(e,t,r){var n=r(0);r(2),r(1),(e.exports=n.pss=n.pss||{}).create=function(e){3===arguments.length&&(e={md:arguments[0],mgf:arguments[1],saltLength:arguments[2]});var t=e.md,r=e.mgf,a=t.digestLength,i=e.salt||null;"string"==typeof i&&(i=n.util.createBuffer(i));var s;if("saltLength"in e)s=e.saltLength;else{if(null===i)throw new Error("Salt length not specified or specific salt not given.");s=i.length()}if(null!==i&&i.length()!==s)throw new Error("Given salt length does not match length of given salt.");var o=e.prng||n.random,c={};return c.encode=function(e,c){var u,l=c-1,p=Math.ceil(l/8),f=e.digest().getBytes();if(p>8*p-l&255;return(E=String.fromCharCode(E.charCodeAt(0)&~S)+E.substr(1))+y+String.fromCharCode(188)},c.verify=function(e,i,o){var c,u=o-1,l=Math.ceil(u/8);if(i=i.substr(-l),l>8*l-u&255;if(0!=(f.charCodeAt(0)&d))throw new Error("Bits beyond keysize not zero as expected.");var y=r.generate(h,p),g="";for(c=0;c4){var t=e;e=s.util.createBuffer();for(var r=0;r0))return!0;for(var n=0;n0))return!0;for(var n=0;n0)return!1;var r=e.length(),n=e.at(r-1);return!(n>this.blockSize<<2)&&(e.truncate(n),!0)},o.cbc=function(e){e=e||{},this.name="CBC",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)},o.cbc.prototype.start=function(e){if(null===e.iv){if(!this._prev)throw new Error("Invalid IV parameter.");this._iv=this._prev.slice(0)}else{if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=n(e.iv),this._prev=this._iv.slice(0)}},o.cbc.prototype.encrypt=function(e,t,r){if(e.length()0))return!0;for(var n=0;n0))return!0;for(var n=0;n0)return!1;var r=e.length(),n=e.at(r-1);return!(n>this.blockSize<<2)&&(e.truncate(n),!0)},o.cfb=function(e){e=e||{},this.name="CFB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialBlock=new Array(this._ints),this._partialOutput=s.util.createBuffer(),this._partialBytes=0},o.cfb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=n(e.iv),this._inBlock=this._iv.slice(0),this._partialBytes=0},o.cfb.prototype.encrypt=function(e,t,r){var n=e.length();if(0===n)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),0===this._partialBytes&&n>=this.blockSize)for(var a=0;a0&&(i=this.blockSize-i),this._partialOutput.clear();for(var a=0;a0)e.read-=this.blockSize;else for(var a=0;a0&&this._partialOutput.getBytes(this._partialBytes),i>0&&!r)return t.putBytes(this._partialOutput.getBytes(i-this._partialBytes)),this._partialBytes=i,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}},o.cfb.prototype.decrypt=function(e,t,r){var n=e.length();if(0===n)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),0===this._partialBytes&&n>=this.blockSize)for(var a=0;a0&&(i=this.blockSize-i),this._partialOutput.clear();for(var a=0;a0)e.read-=this.blockSize;else for(var a=0;a0&&this._partialOutput.getBytes(this._partialBytes),i>0&&!r)return t.putBytes(this._partialOutput.getBytes(i-this._partialBytes)),this._partialBytes=i,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}},o.ofb=function(e){e=e||{},this.name="OFB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=s.util.createBuffer(),this._partialBytes=0},o.ofb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=n(e.iv),this._inBlock=this._iv.slice(0),this._partialBytes=0},o.ofb.prototype.encrypt=function(e,t,r){var n=e.length();if(0===e.length())return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),0===this._partialBytes&&n>=this.blockSize)for(var a=0;a0&&(i=this.blockSize-i),this._partialOutput.clear();for(var a=0;a0)e.read-=this.blockSize;else for(var a=0;a0&&this._partialOutput.getBytes(this._partialBytes),i>0&&!r)return t.putBytes(this._partialOutput.getBytes(i-this._partialBytes)),this._partialBytes=i,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}},o.ofb.prototype.decrypt=o.ofb.prototype.encrypt,o.ctr=function(e){e=e||{},this.name="CTR",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=s.util.createBuffer(),this._partialBytes=0},o.ctr.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=n(e.iv),this._inBlock=this._iv.slice(0),this._partialBytes=0},o.ctr.prototype.encrypt=function(e,t,r){var n=e.length();if(0===n)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),0===this._partialBytes&&n>=this.blockSize)for(var i=0;i0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i0&&(e.read-=this.blockSize),this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return t.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}a(this._inBlock)},o.ctr.prototype.decrypt=o.ctr.prototype.encrypt,o.gcm=function(e){e=e||{},this.name="GCM",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints),this._partialOutput=s.util.createBuffer(),this._partialBytes=0,this._R=3774873600},o.gcm.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");var t=s.util.createBuffer(e.iv);this._cipherLength=0;var r;if(r="additionalData"in e?s.util.createBuffer(e.additionalData):s.util.createBuffer(),this._tagLength="tagLength"in e?e.tagLength:128,this._tag=null,e.decrypt&&(this._tag=s.util.createBuffer(e.tag).getBytes(),this._tag.length!==this._tagLength/8))throw new Error("Authentication tag does not match tag length.");this._hashBlock=new Array(this._ints),this.tag=null,this._hashSubkey=new Array(this._ints),this.cipher.encrypt([0,0,0,0],this._hashSubkey),this.componentBits=4,this._m=this.generateHashTable(this._hashSubkey,this.componentBits);var n=t.length();if(12===n)this._j0=[t.getInt32(),t.getInt32(),t.getInt32(),1];else{for(this._j0=[0,0,0,0];t.length()>0;)this._j0=this.ghash(this._hashSubkey,this._j0,[t.getInt32(),t.getInt32(),t.getInt32(),t.getInt32()]);this._j0=this.ghash(this._hashSubkey,this._j0,[0,0].concat(i(8*n)))}this._inBlock=this._j0.slice(0),a(this._inBlock),this._partialBytes=0,r=s.util.createBuffer(r),this._aDataLength=i(8*r.length());var o=r.length()%this.blockSize;for(o&&r.fillWithByte(0,this.blockSize-o),this._s=[0,0,0,0];r.length()>0;)this._s=this.ghash(this._hashSubkey,this._s,[r.getInt32(),r.getInt32(),r.getInt32(),r.getInt32()])},o.gcm.prototype.encrypt=function(e,t,r){var n=e.length();if(0===n)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),0===this._partialBytes&&n>=this.blockSize){for(var i=0;i0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return e.read-=this.blockSize,t.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}this._s=this.ghash(this._hashSubkey,this._s,this._outBlock),a(this._inBlock)},o.gcm.prototype.decrypt=function(e,t,r){var n=e.length();if(n0))return!0;this.cipher.encrypt(this._inBlock,this._outBlock),a(this._inBlock),this._hashBlock[0]=e.getInt32(),this._hashBlock[1]=e.getInt32(),this._hashBlock[2]=e.getInt32(),this._hashBlock[3]=e.getInt32(),this._s=this.ghash(this._hashSubkey,this._s,this._hashBlock);for(var i=0;i0;--n)t[n]=e[n]>>>1|(1&e[n-1])<<31;t[0]=e[0]>>>1,r&&(t[0]^=this._R)},o.gcm.prototype.tableMultiply=function(e){for(var t=[0,0,0,0],r=0;r<32;++r){var n=r/8|0,a=e[n]>>>4*(7-r%8)&15,i=this._m[r][a];t[0]^=i[0],t[1]^=i[1],t[2]^=i[2],t[3]^=i[3]}return t},o.gcm.prototype.ghash=function(e,t,r){return t[0]^=r[0],t[1]^=r[1],t[2]^=r[2],t[3]^=r[3],this.tableMultiply(t)},o.gcm.prototype.generateHashTable=function(e,t){for(var r=8/t,n=4*r,a=16*r,i=new Array(a),s=0;s>>1,a=new Array(r);a[n]=e.slice(0);for(var i=n>>>1;i>0;)this.pow(a[2*i],a[i]=[]),i>>=1;for(i=2;i=0;c--)N>>=8,N+=A.at(c)+w.at(c),w.setAt(c,255&N);k.putBuffer(w)}E=k,p.putBuffer(b)}return p.truncate(p.length()-a),p},l.pbe.getCipher=function(e,t,r){switch(e){case l.oids.pkcs5PBES2:return l.pbe.getCipherForPBES2(e,t,r);case l.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case l.oids["pbewithSHAAnd40BitRC2-CBC"]:return l.pbe.getCipherForPKCS12PBE(e,t,r);default:var n=new Error("Cannot read encrypted PBE data block. Unsupported OID.");throw n.oid=e,n.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],n}},l.pbe.getCipherForPBES2=function(e,t,r){var n={},i=[];if(!u.validate(t,h,n,i)){var s=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw s.errors=i,s}if((e=u.derToOid(n.kdfOid))!==l.oids.pkcs5PBKDF2){var s=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw s.oid=e,s.supportedOids=["pkcs5PBKDF2"],s}if((e=u.derToOid(n.encOid))!==l.oids["aes128-CBC"]&&e!==l.oids["aes192-CBC"]&&e!==l.oids["aes256-CBC"]&&e!==l.oids["des-EDE3-CBC"]&&e!==l.oids.desCBC){var s=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw s.oid=e,s.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],s}var c=n.kdfSalt,p=o.util.createBuffer(n.kdfIterationCount);p=p.getInt(p.length()<<3);var f,d;switch(l.oids[e]){case"aes128-CBC":f=16,d=o.aes.createDecryptionCipher;break;case"aes192-CBC":f=24,d=o.aes.createDecryptionCipher;break;case"aes256-CBC":f=32,d=o.aes.createDecryptionCipher;break;case"des-EDE3-CBC":f=24,d=o.des.createDecryptionCipher;break;case"desCBC":f=8,d=o.des.createDecryptionCipher}var y=a(n.prfOid),g=o.pkcs5.pbkdf2(r,c,p,f,y),v=n.encIv,m=d(g);return m.start(v),m},l.pbe.getCipherForPKCS12PBE=function(e,t,r){var n={},i=[];if(!u.validate(t,d,n,i)){var s=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw s.errors=i,s}var c=o.util.createBuffer(n.salt),p=o.util.createBuffer(n.iterations);p=p.getInt(p.length()<<3);var f,h,y;switch(e){case l.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:f=24,h=8,y=o.des.startDecrypting;break;case l.oids["pbewithSHAAnd40BitRC2-CBC"]:f=5,h=8,y=function(e,t){var r=o.rc2.createDecryptionCipher(e,40);return r.start(t,null),r};break;default:var s=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw s.oid=e,s}var g=a(n.prfOid),v=l.pbe.generatePkcs12Key(r,c,1,p,f,g);return g.start(),y(v,l.pbe.generatePkcs12Key(r,c,2,p,h,g))},l.pbe.opensslDeriveBytes=function(e,t,r,a){if(void 0===a||null===a){if(!("md5"in o.md))throw new Error('"md5" hash algorithm unavailable.');a=o.md.md5.create()}null===t&&(t="");for(var i=[n(a,e+t)],s=16,c=1;s=64;){for(l=0;l<16;++l)t[l]=r.getInt32();for(;l<64;++l)n=t[l-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,a=t[l-15],a=(a>>>7|a<<25)^(a>>>18|a<<14)^a>>>3,t[l]=n+t[l-7]+a+t[l-16]|0;for(p=e.h0,f=e.h1,h=e.h2,d=e.h3,y=e.h4,g=e.h5,v=e.h6,m=e.h7,l=0;l<64;++l)s=(y>>>6|y<<26)^(y>>>11|y<<21)^(y>>>25|y<<7),o=v^y&(g^v),i=(p>>>2|p<<30)^(p>>>13|p<<19)^(p>>>22|p<<10),c=p&f|h&(p^f),n=m+s+o+u[l]+t[l],a=i+c,m=v,v=g,g=y,y=d+n>>>0,d=h,h=f,f=p,p=n+a>>>0;e.h0=e.h0+p|0,e.h1=e.h1+f|0,e.h2=e.h2+h|0,e.h3=e.h3+d|0,e.h4=e.h4+y|0,e.h5=e.h5+g|0,e.h6=e.h6+v|0,e.h7=e.h7+m|0,C-=64}}var i=r(0);r(4),r(1);var s=e.exports=i.sha256=i.sha256||{};i.md.sha256=i.md.algorithms.sha256=s,s.create=function(){c||n();var e=null,t=i.util.createBuffer(),r=new Array(64),s={algorithm:"sha256",blockLength:64,digestLength:32,messageLength:0,fullMessageLength:null,messageLengthSize:8};return s.start=function(){s.messageLength=0,s.fullMessageLength=s.messageLength64=[];for(var r=s.messageLengthSize/4,n=0;n>>0,c>>>0];for(var u=s.fullMessageLength.length-1;u>=0;--u)s.fullMessageLength[u]+=c[1],c[1]=c[0]+(s.fullMessageLength[u]/4294967296>>>0),s.fullMessageLength[u]=s.fullMessageLength[u]>>>0,c[0]=c[1]/4294967296>>>0;return t.putBytes(n),a(e,r,t),(t.read>2048||0===t.length())&&t.compact(),s},s.digest=function(){var n=i.util.createBuffer();n.putBytes(t.bytes());var c=s.fullMessageLength[s.fullMessageLength.length-1]+s.messageLengthSize,u=c&s.blockLength-1;n.putBytes(o.substr(0,s.blockLength-u));for(var l,p,f=8*s.fullMessageLength[0],h=0;h>>0,f+=p,n.putInt32(f>>>0),f=l>>>0;n.putInt32(f);var d={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4,h5:e.h5,h6:e.h6,h7:e.h7};a(d,r,n);var y=i.util.createBuffer();return y.putInt32(d.h0),y.putInt32(d.h1),y.putInt32(d.h2),y.putInt32(d.h3),y.putInt32(d.h4),y.putInt32(d.h5),y.putInt32(d.h6),y.putInt32(d.h7),y},s};var o=null,c=!1,u=null},function(e,t,r){var n=r(0);r(1);var a=null;!n.util.isNodejs||n.options.usePureJavaScript||process.versions["node-webkit"]||(a=r(23)),(e.exports=n.prng=n.prng||{}).create=function(e){function t(e){if(o.pools[0].messageLength>=32)return i(),e();var t=32-o.pools[0].messageLength<<5;o.seedFile(t,function(t,r){if(t)return e(t);o.collect(r),i(),e()})}function r(){if(o.pools[0].messageLength>=32)return i();var e=32-o.pools[0].messageLength<<5;o.collect(o.seedFileSync(e)),i()}function i(){o.reseeds=4294967295===o.reseeds?0:o.reseeds+1;var e=o.plugin.md.create();e.update(o.keyBytes);for(var t=1,r=0;r<32;++r)o.reseeds%t==0&&(e.update(o.pools[r].digest().getBytes()),o.pools[r].start()),t<<=1;o.keyBytes=e.digest().getBytes(),e.start(),e.update(o.keyBytes);var n=e.digest().getBytes();o.key=o.plugin.formatKey(o.keyBytes),o.seed=o.plugin.formatSeed(n),o.generated=0}function s(e){var t=null;if("undefined"!=typeof window){var r=window.crypto||window.msCrypto;r&&r.getRandomValues&&(t=function(e){return r.getRandomValues(e)})}var a=n.util.createBuffer();if(t)for(;a.length()>16),u+=(32767&c)<<16,u+=c>>15,u=(2147483647&u)+(u>>31),p=4294967295&u;for(var o=0;o<3;++o)l=p>>>(o<<3),l^=Math.floor(256*Math.random()),a.putByte(String.fromCharCode(255&l))}return a.getBytes(e)}for(var o={plugin:e,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},c=e.md,u=new Array(32),l=0;l<32;++l)u[l]=c.create();return o.pools=u,o.pool=0,o.generate=function(e,r){function a(p){if(p)return r(p);if(l.length()>=e)return r(null,l.getBytes(e));if(o.generated>1048575&&(o.key=null),null===o.key)return n.util.nextTick(function(){t(a)});var f=i(o.key,o.seed);o.generated+=f.length,l.putBytes(f),o.key=c(i(o.key,s(o.seed))),o.seed=u(i(o.key,o.seed)),n.util.setImmediate(a)}if(!r)return o.generateSync(e);var i=o.plugin.cipher,s=o.plugin.increment,c=o.plugin.formatKey,u=o.plugin.formatSeed,l=n.util.createBuffer();o.key=null,a()},o.generateSync=function(e){var t=o.plugin.cipher,a=o.plugin.increment,i=o.plugin.formatKey,s=o.plugin.formatSeed;o.key=null;for(var c=n.util.createBuffer();c.length()1048575&&(o.key=null),null===o.key&&r();var u=t(o.key,o.seed);o.generated+=u.length,c.putBytes(u),o.key=i(t(o.key,a(o.seed))),o.seed=s(t(o.key,o.seed))}return c.getBytes(e)},a?(o.seedFile=function(e,t){a.randomBytes(e,function(e,r){if(e)return t(e);t(null,r.toString())})},o.seedFileSync=function(e){return a.randomBytes(e).toString()}):(o.seedFile=function(e,t){try{t(null,s(e))}catch(e){t(e)}},o.seedFileSync=s),o.collect=function(e){for(var t=e.length,r=0;r>n&255);o.collect(r)},o.registerWorker=function(e){if(e===self)o.seedFile=function(e,t){function r(e){var n=e.data;n.forge&&n.forge.prng&&(self.removeEventListener("message",r),t(n.forge.prng.err,n.forge.prng.bytes))}self.addEventListener("message",r),self.postMessage({forge:{prng:{needed:e}}})};else{var t=function(t){var r=t.data;r.forge&&r.forge.prng&&o.seedFile(r.forge.prng.needed,function(t,r){e.postMessage({forge:{prng:{err:t,bytes:r}}})})};e.addEventListener("message",t)}},o}},function(e,t,r){var n=r(0);r(1);var a=[217,120,249,196,25,221,181,237,40,233,253,121,74,160,216,157,198,126,55,131,43,118,83,142,98,76,100,136,68,139,251,162,23,154,89,245,135,179,79,19,97,69,109,141,9,129,125,50,189,143,64,235,134,183,123,11,240,149,33,34,92,107,78,130,84,214,101,147,206,96,178,28,115,86,192,20,167,140,241,220,18,117,202,31,59,190,228,209,66,61,212,48,163,60,182,38,111,191,14,218,70,105,7,87,39,242,29,155,188,148,67,3,248,17,199,246,144,239,62,231,6,195,213,47,200,102,30,215,8,232,234,222,128,82,238,247,132,170,114,172,53,77,106,42,150,26,210,113,90,21,73,116,75,159,208,94,4,24,164,236,194,224,65,110,15,81,203,204,36,145,175,80,161,244,112,57,153,124,58,133,35,184,180,122,252,2,54,91,37,85,151,49,45,93,250,152,227,138,146,174,5,223,41,16,103,108,186,201,211,0,230,207,225,158,168,44,99,22,1,63,88,226,137,169,13,56,52,27,171,51,255,176,187,72,12,95,185,177,205,46,197,243,219,71,229,165,156,119,10,166,32,104,254,127,193,173],i=[1,2,3,5],s=function(e,t){return e<>16-t},o=function(e,t){return(65535&e)>>t|e<<16-t&65535};e.exports=n.rc2=n.rc2||{},n.rc2.expandKey=function(e,t){"string"==typeof e&&(e=n.util.createBuffer(e)),t=t||128;var r,i=e,s=e.length(),o=t,c=Math.ceil(o/8),u=255>>(7&o);for(r=s;r<128;r++)i.putByte(a[i.at(r-1)+i.at(r-s)&255]);for(i.setAt(128-c,a[i.at(128-c)&u]),r=127-c;r>=0;r--)i.setAt(r,a[i.at(r+1)^i.at(r+c)]);return i};var c=function(e,t,r){var a,c,u,l,p=!1,f=null,h=null,d=null,y=[];for(e=n.rc2.expandKey(e,t),u=0;u<64;u++)y.push(e.getInt16Le());r?(a=function(e){for(u=0;u<4;u++)e[u]+=y[l]+(e[(u+3)%4]&e[(u+2)%4])+(~e[(u+3)%4]&e[(u+1)%4]),e[u]=s(e[u],i[u]),l++},c=function(e){for(u=0;u<4;u++)e[u]+=y[63&e[(u+3)%4]]}):(a=function(e){for(u=3;u>=0;u--)e[u]=o(e[u],i[u]),e[u]-=y[l]+(e[(u+3)%4]&e[(u+2)%4])+(~e[(u+3)%4]&e[(u+1)%4]),l--},c=function(e){for(u=3;u>=0;u--)e[u]-=y[63&e[(u+3)%4]]});var g=function(e){var t=[];for(u=0;u<4;u++){var n=f.getInt16Le();null!==d&&(r?n^=d.getInt16Le():d.putInt16Le(n)),t.push(65535&n)}l=r?0:63;for(var a=0;a=8;)g([[5,a],[1,c],[6,a],[1,c],[5,a]])},finish:function(e){var t=!0;if(r)if(e)t=e(8,f,!r);else{var n=8===f.length()?8:8-f.length();f.fillWithByte(n,n)}if(t&&(p=!0,v.update()),!r&&(t=0===f.length()))if(e)t=e(8,h,!r);else{var a=h.length(),i=h.at(a-1);i>a?t=!1:h.truncate(i)}return t}}};n.rc2.startEncrypting=function(e,t,r){var a=n.rc2.createEncryptionCipher(e,128);return a.start(t,r),a},n.rc2.createEncryptionCipher=function(e,t){return c(e,t,!0)},n.rc2.startDecrypting=function(e,t,r){var a=n.rc2.createDecryptionCipher(e,128);return a.start(t,r),a},n.rc2.createDecryptionCipher=function(e,t){return c(e,t,!1)}},function(e,t,r){function n(e,t,r){r||(r=a.md.sha1.create());for(var n="",i=Math.ceil(t/r.digestLength),s=0;s>24&255,s>>16&255,s>>8&255,255&s);r.start(),r.update(e+o),n+=r.digest().getBytes()}return n.substring(0,t)}var a=r(0);r(1),r(2),r(9);var i=e.exports=a.pkcs1=a.pkcs1||{};i.encode_rsa_oaep=function(e,t,r){var i,s,o,c;"string"==typeof r?(i=r,s=arguments[3]||void 0,o=arguments[4]||void 0):r&&(i=r.label||void 0,s=r.seed||void 0,o=r.md||void 0,r.mgf1&&r.mgf1.md&&(c=r.mgf1.md)),o?o.start():o=a.md.sha1.create(),c||(c=o);var u=Math.ceil(e.n.bitLength()/8),l=u-2*o.digestLength-2;if(t.length>l){var p=new Error("RSAES-OAEP input message length is too long.");throw p.length=t.length,p.maxLength=l,p}i||(i=""),o.update(i,"raw");for(var f=o.digest(),h="",d=l-t.length,y=0;yt&&(e=s(t,r)),e.isProbablePrime(o))return u(null,e);e.dAddOffset(l[i++%8],0)}while(c<0||+new Date-pe&&(c=s(e,t));var h=c.toString(16);r.target.postMessage({hex:h,workLoad:p}),c.dAddOffset(f,0)}}l=Math.max(1,l);for(var n=[],a=0;a=0&&a.push(o):a.push(o))}return a}function a(e){if(e.composed||e.constructed){for(var t=u.util.createBuffer(),r=0;r0&&(a=l.create(l.Class.UNIVERSAL,l.Type.SET,!0,c));var h=[],d=[];null!==t&&(d=u.util.isArray(t)?t:[t]);for(var y=[],g=0;g0){var E=l.create(l.Class.UNIVERSAL,l.Type.SEQUENCE,!0,y),S=l.create(l.Class.UNIVERSAL,l.Type.SEQUENCE,!0,[l.create(l.Class.UNIVERSAL,l.Type.OID,!1,l.oidToDer(p.oids.data).getBytes()),l.create(l.Class.CONTEXT_SPECIFIC,0,!0,[l.create(l.Class.UNIVERSAL,l.Type.OCTETSTRING,!1,l.toDer(E).getBytes())])]);h.push(S)}var T=null;if(null!==e){var b=p.wrapRsaPrivateKey(p.privateKeyToAsn1(e));T=null===r?l.create(l.Class.UNIVERSAL,l.Type.SEQUENCE,!0,[l.create(l.Class.UNIVERSAL,l.Type.OID,!1,l.oidToDer(p.oids.keyBag).getBytes()),l.create(l.Class.CONTEXT_SPECIFIC,0,!0,[b]),a]):l.create(l.Class.UNIVERSAL,l.Type.SEQUENCE,!0,[l.create(l.Class.UNIVERSAL,l.Type.OID,!1,l.oidToDer(p.oids.pkcs8ShroudedKeyBag).getBytes()),l.create(l.Class.CONTEXT_SPECIFIC,0,!0,[p.encryptPrivateKeyInfo(b,r,n)]),a]);var I=l.create(l.Class.UNIVERSAL,l.Type.SEQUENCE,!0,[T]),A=l.create(l.Class.UNIVERSAL,l.Type.SEQUENCE,!0,[l.create(l.Class.UNIVERSAL,l.Type.OID,!1,l.oidToDer(p.oids.data).getBytes()),l.create(l.Class.CONTEXT_SPECIFIC,0,!0,[l.create(l.Class.UNIVERSAL,l.Type.OCTETSTRING,!1,l.toDer(I).getBytes())])]);h.push(A)}var B,k=l.create(l.Class.UNIVERSAL,l.Type.SEQUENCE,!0,h);if(n.useMac){var o=u.md.sha1.create(),w=new u.util.ByteBuffer(u.random.getBytes(n.saltSize)),N=n.count,e=f.generateKey(r,w,3,N,20),R=u.hmac.create();R.start(o,e),R.update(l.toDer(k).getBytes());var _=R.getMac();B=l.create(l.Class.UNIVERSAL,l.Type.SEQUENCE,!0,[l.create(l.Class.UNIVERSAL,l.Type.SEQUENCE,!0,[l.create(l.Class.UNIVERSAL,l.Type.SEQUENCE,!0,[l.create(l.Class.UNIVERSAL,l.Type.OID,!1,l.oidToDer(p.oids.sha1).getBytes()),l.create(l.Class.UNIVERSAL,l.Type.NULL,!1,"")]),l.create(l.Class.UNIVERSAL,l.Type.OCTETSTRING,!1,_.getBytes())]),l.create(l.Class.UNIVERSAL,l.Type.OCTETSTRING,!1,w.getBytes()),l.create(l.Class.UNIVERSAL,l.Type.INTEGER,!1,l.integerToDer(N).getBytes())])}return l.create(l.Class.UNIVERSAL,l.Type.SEQUENCE,!0,[l.create(l.Class.UNIVERSAL,l.Type.INTEGER,!1,l.integerToDer(3).getBytes()),l.create(l.Class.UNIVERSAL,l.Type.SEQUENCE,!0,[l.create(l.Class.UNIVERSAL,l.Type.OID,!1,l.oidToDer(p.oids.data).getBytes()),l.create(l.Class.CONTEXT_SPECIFIC,0,!0,[l.create(l.Class.UNIVERSAL,l.Type.OCTETSTRING,!1,l.toDer(k).getBytes())])]),B])},f.generateKey=u.pbe.generatePkcs12Key},function(e,t,r){var n=r(0);r(3),r(1);var a=n.asn1,i=e.exports=n.pkcs7asn1=n.pkcs7asn1||{};n.pkcs7=n.pkcs7||{},n.pkcs7.asn1=i;var s={name:"ContentInfo",tagClass:a.Class.UNIVERSAL,type:a.Type.SEQUENCE,constructed:!0,value:[{name:"ContentInfo.ContentType",tagClass:a.Class.UNIVERSAL,type:a.Type.OID,constructed:!1,capture:"contentType"},{name:"ContentInfo.content",tagClass:a.Class.CONTEXT_SPECIFIC,type:0,constructed:!0,optional:!0,captureAsn1:"content"}]};i.contentInfoValidator=s;var o={name:"EncryptedContentInfo",tagClass:a.Class.UNIVERSAL,type:a.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedContentInfo.contentType",tagClass:a.Class.UNIVERSAL,type:a.Type.OID,constructed:!1,capture:"contentType"},{name:"EncryptedContentInfo.contentEncryptionAlgorithm",tagClass:a.Class.UNIVERSAL,type:a.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedContentInfo.contentEncryptionAlgorithm.algorithm",tagClass:a.Class.UNIVERSAL,type:a.Type.OID,constructed:!1,capture:"encAlgorithm"},{name:"EncryptedContentInfo.contentEncryptionAlgorithm.parameter",tagClass:a.Class.UNIVERSAL,captureAsn1:"encParameter"}]},{name:"EncryptedContentInfo.encryptedContent",tagClass:a.Class.CONTEXT_SPECIFIC,type:0,capture:"encryptedContent",captureAsn1:"encryptedContentAsn1"}]};i.envelopedDataValidator={name:"EnvelopedData",tagClass:a.Class.UNIVERSAL,type:a.Type.SEQUENCE,constructed:!0,value:[{name:"EnvelopedData.Version",tagClass:a.Class.UNIVERSAL,type:a.Type.INTEGER,constructed:!1,capture:"version"},{name:"EnvelopedData.RecipientInfos",tagClass:a.Class.UNIVERSAL,type:a.Type.SET,constructed:!0,captureAsn1:"recipientInfos"}].concat(o)},i.encryptedDataValidator={name:"EncryptedData",tagClass:a.Class.UNIVERSAL,type:a.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedData.Version",tagClass:a.Class.UNIVERSAL,type:a.Type.INTEGER,constructed:!1,capture:"version"}].concat(o)};var c={name:"SignerInfo",tagClass:a.Class.UNIVERSAL,type:a.Type.SEQUENCE,constructed:!0,value:[{name:"SignerInfo.version",tagClass:a.Class.UNIVERSAL,type:a.Type.INTEGER,constructed:!1},{name:"SignerInfo.issuerAndSerialNumber",tagClass:a.Class.UNIVERSAL,type:a.Type.SEQUENCE,constructed:!0,value:[{name:"SignerInfo.issuerAndSerialNumber.issuer",tagClass:a.Class.UNIVERSAL,type:a.Type.SEQUENCE,constructed:!0,captureAsn1:"issuer"},{name:"SignerInfo.issuerAndSerialNumber.serialNumber",tagClass:a.Class.UNIVERSAL,type:a.Type.INTEGER,constructed:!1,capture:"serial"}]},{name:"SignerInfo.digestAlgorithm",tagClass:a.Class.UNIVERSAL,type:a.Type.SEQUENCE,constructed:!0,value:[{name:"SignerInfo.digestAlgorithm.algorithm",tagClass:a.Class.UNIVERSAL,type:a.Type.OID,constructed:!1,capture:"digestAlgorithm"},{name:"SignerInfo.digestAlgorithm.parameter",tagClass:a.Class.UNIVERSAL,constructed:!1,captureAsn1:"digestParameter",optional:!0}]},{name:"SignerInfo.authenticatedAttributes",tagClass:a.Class.CONTEXT_SPECIFIC,type:0,constructed:!0,optional:!0,capture:"authenticatedAttributes"},{name:"SignerInfo.digestEncryptionAlgorithm",tagClass:a.Class.UNIVERSAL,type:a.Type.SEQUENCE,constructed:!0,capture:"signatureAlgorithm"},{name:"SignerInfo.encryptedDigest",tagClass:a.Class.UNIVERSAL,type:a.Type.OCTETSTRING,constructed:!1,capture:"signature"},{name:"SignerInfo.unauthenticatedAttributes",tagClass:a.Class.CONTEXT_SPECIFIC,type:1,constructed:!0,optional:!0,capture:"unauthenticatedAttributes"}]};i.signedDataValidator={name:"SignedData",tagClass:a.Class.UNIVERSAL,type:a.Type.SEQUENCE,constructed:!0,value:[{name:"SignedData.Version",tagClass:a.Class.UNIVERSAL,type:a.Type.INTEGER,constructed:!1,capture:"version"},{name:"SignedData.DigestAlgorithms",tagClass:a.Class.UNIVERSAL,type:a.Type.SET,constructed:!0,captureAsn1:"digestAlgorithms"},s,{name:"SignedData.Certificates",tagClass:a.Class.CONTEXT_SPECIFIC,type:0,optional:!0,captureAsn1:"certificates"},{name:"SignedData.CertificateRevocationLists",tagClass:a.Class.CONTEXT_SPECIFIC,type:1,optional:!0,captureAsn1:"crls"},{name:"SignedData.SignerInfos",tagClass:a.Class.UNIVERSAL,type:a.Type.SET,capture:"signerInfos",optional:!0,value:[c]}]},i.recipientInfoValidator={name:"RecipientInfo",tagClass:a.Class.UNIVERSAL,type:a.Type.SEQUENCE,constructed:!0,value:[{name:"RecipientInfo.version",tagClass:a.Class.UNIVERSAL,type:a.Type.INTEGER,constructed:!1,capture:"version"},{name:"RecipientInfo.issuerAndSerial",tagClass:a.Class.UNIVERSAL,type:a.Type.SEQUENCE,constructed:!0,value:[{name:"RecipientInfo.issuerAndSerial.issuer",tagClass:a.Class.UNIVERSAL,type:a.Type.SEQUENCE,constructed:!0,captureAsn1:"issuer"},{name:"RecipientInfo.issuerAndSerial.serialNumber",tagClass:a.Class.UNIVERSAL,type:a.Type.INTEGER,constructed:!1,capture:"serial"}]},{name:"RecipientInfo.keyEncryptionAlgorithm",tagClass:a.Class.UNIVERSAL,type:a.Type.SEQUENCE,constructed:!0,value:[{name:"RecipientInfo.keyEncryptionAlgorithm.algorithm",tagClass:a.Class.UNIVERSAL,type:a.Type.OID,constructed:!1,capture:"encAlgorithm"},{name:"RecipientInfo.keyEncryptionAlgorithm.parameter",tagClass:a.Class.UNIVERSAL,constructed:!1,captureAsn1:"encParameter"}]},{name:"RecipientInfo.encryptedKey",tagClass:a.Class.UNIVERSAL,type:a.Type.OCTETSTRING,constructed:!1,capture:"encKey"}]}},function(e,t,r){var n=r(0);r(1),n.mgf=n.mgf||{},(e.exports=n.mgf.mgf1=n.mgf1=n.mgf1||{}).create=function(e){return{generate:function(t,r){for(var a=new n.util.ByteBuffer,i=Math.ceil(r/e.digestLength),s=0;s=128;){for(L=0;L<16;++L)t[L][0]=r.getInt32()>>>0,t[L][1]=r.getInt32()>>>0;for(;L<80;++L)P=t[L-2],U=P[0],D=P[1],n=((U>>>19|D<<13)^(D>>>29|U<<3)^U>>>6)>>>0,a=((U<<13|D>>>19)^(D<<3|U>>>29)^(U<<26|D>>>6))>>>0,V=t[L-15],U=V[0],D=V[1],i=((U>>>1|D<<31)^(U>>>8|D<<24)^U>>>7)>>>0,s=((U<<31|D>>>1)^(U<<24|D>>>8)^(U<<25|D>>>7))>>>0,O=t[L-7],x=t[L-16],D=a+O[1]+s+x[1],t[L][0]=n+O[0]+i+x[0]+(D/4294967296>>>0)>>>0,t[L][1]=D>>>0;for(g=e[0][0],v=e[0][1],m=e[1][0],C=e[1][1],E=e[2][0],S=e[2][1],T=e[3][0],b=e[3][1],I=e[4][0],A=e[4][1],B=e[5][0],k=e[5][1],w=e[6][0],N=e[6][1],R=e[7][0],_=e[7][1],L=0;L<80;++L)u=((I>>>14|A<<18)^(I>>>18|A<<14)^(A>>>9|I<<23))>>>0,p=((I<<18|A>>>14)^(I<<14|A>>>18)^(A<<23|I>>>9))>>>0,f=(w^I&(B^w))>>>0,h=(N^A&(k^N))>>>0,o=((g>>>28|v<<4)^(v>>>2|g<<30)^(v>>>7|g<<25))>>>0,c=((g<<4|v>>>28)^(v<<30|g>>>2)^(v<<25|g>>>7))>>>0,d=(g&m|E&(g^m))>>>0,y=(v&C|S&(v^C))>>>0,D=_+p+h+l[L][1]+t[L][1],n=R+u+f+l[L][0]+t[L][0]+(D/4294967296>>>0)>>>0,a=D>>>0,D=c+y,i=o+d+(D/4294967296>>>0)>>>0,s=D>>>0,R=w,_=N,w=B,N=k,B=I,k=A,D=b+a,I=T+n+(D/4294967296>>>0)>>>0,A=D>>>0,T=E,b=S,E=m,S=C,m=g,C=v,D=a+s,g=n+i+(D/4294967296>>>0)>>>0,v=D>>>0;D=e[0][1]+v,e[0][0]=e[0][0]+g+(D/4294967296>>>0)>>>0,e[0][1]=D>>>0,D=e[1][1]+C,e[1][0]=e[1][0]+m+(D/4294967296>>>0)>>>0,e[1][1]=D>>>0,D=e[2][1]+S,e[2][0]=e[2][0]+E+(D/4294967296>>>0)>>>0,e[2][1]=D>>>0,D=e[3][1]+b,e[3][0]=e[3][0]+T+(D/4294967296>>>0)>>>0,e[3][1]=D>>>0,D=e[4][1]+A,e[4][0]=e[4][0]+I+(D/4294967296>>>0)>>>0,e[4][1]=D>>>0,D=e[5][1]+k,e[5][0]=e[5][0]+B+(D/4294967296>>>0)>>>0,e[5][1]=D>>>0,D=e[6][1]+N,e[6][0]=e[6][0]+w+(D/4294967296>>>0)>>>0,e[6][1]=D>>>0,D=e[7][1]+_,e[7][0]=e[7][0]+R+(D/4294967296>>>0)>>>0,e[7][1]=D>>>0,K-=128}}var i=r(0);r(4),r(1);var s=e.exports=i.sha512=i.sha512||{};i.md.sha512=i.md.algorithms.sha512=s;var o=i.sha384=i.sha512.sha384=i.sha512.sha384||{};o.create=function(){return s.create("SHA-384")},i.md.sha384=i.md.algorithms.sha384=o,i.sha512.sha256=i.sha512.sha256||{create:function(){return s.create("SHA-512/256")}},i.md["sha512/256"]=i.md.algorithms["sha512/256"]=i.sha512.sha256,i.sha512.sha224=i.sha512.sha224||{create:function(){return s.create("SHA-512/224")}},i.md["sha512/224"]=i.md.algorithms["sha512/224"]=i.sha512.sha224,s.create=function(e){if(u||n(),void 0===e&&(e="SHA-512"),!(e in p))throw new Error("Invalid SHA-512 algorithm: "+e);for(var t=p[e],r=null,s=i.util.createBuffer(),o=new Array(80),l=0;l<80;++l)o[l]=new Array(2);var f=64;switch(e){case"SHA-384":f=48;break;case"SHA-512/256":f=32;break;case"SHA-512/224":f=28}var h={algorithm:e.replace("-","").toLowerCase(),blockLength:128,digestLength:f,messageLength:0,fullMessageLength:null,messageLengthSize:16};return h.start=function(){h.messageLength=0,h.fullMessageLength=h.messageLength128=[];for(var e=h.messageLengthSize/4,n=0;n>>0,n>>>0];for(var c=h.fullMessageLength.length-1;c>=0;--c)h.fullMessageLength[c]+=n[1],n[1]=n[0]+(h.fullMessageLength[c]/4294967296>>>0),h.fullMessageLength[c]=h.fullMessageLength[c]>>>0,n[0]=n[1]/4294967296>>>0;return s.putBytes(e),a(r,o,s),(s.read>2048||0===s.length())&&s.compact(),h},h.digest=function(){var t=i.util.createBuffer();t.putBytes(s.bytes());var n=h.fullMessageLength[h.fullMessageLength.length-1]+h.messageLengthSize,u=n&h.blockLength-1;t.putBytes(c.substr(0,h.blockLength-u));for(var l,p,f=8*h.fullMessageLength[0],d=0;d>>0,f+=p,t.putInt32(f>>>0),f=l>>>0;t.putInt32(f);for(var y=new Array(r.length),d=0;d0;)r=e.requests.shift(),r.request.aborted&&(r=null);null===r?(null!==t.options&&(t.options=null),e.idle.push(t)):(t.retries=1,t.options=r,l(e,t))},f=function(e,t,r){t.options=null,t.connected=function(r){if(null===t.options)p(e,t);else{var n=t.options.request;if(n.connectTime=+new Date-n.connectTime,r.socket=t,t.options.connected(r),n.aborted)t.close();else{var a=n.toString();n.body&&(a+=n.body),n.time=+new Date,t.send(a),n.time=+new Date-n.time,t.options.response.time=+new Date,t.sending=!0}}},t.closed=function(r){if(t.sending)t.sending=!1,t.retries>0?(--t.retries,l(e,t)):t.error({id:t.id,type:"ioError",message:"Connection closed during send. Broken pipe.",bytesAvailable:0});else{var n=t.options.response;n.readBodyUntilClose&&(n.time=+new Date-n.time,n.bodyReceived=!0,t.options.bodyReady({request:t.options.request,response:n,socket:t})),t.options.closed(r),p(e,t)}},t.data=function(r){if(t.sending=!1,t.options.request.aborted)t.close();else{var n=t.options.response,a=t.receive(r.bytesAvailable);null!==a&&(t.buffer.putBytes(a),n.headerReceived||(n.readHeader(t.buffer),n.headerReceived&&t.options.headerReady({request:t.options.request,response:n,socket:t})),n.headerReceived&&!n.bodyReceived&&n.readBody(t.buffer),n.bodyReceived)&&(t.options.bodyReady({request:t.options.request,response:n,socket:t}),-1!=(n.getField("Connection")||"").indexOf("close")||"HTTP/1.0"===n.version&&null===n.getField("Keep-Alive")?t.close():p(e,t))}},t.error=function(e){t.options.error({type:e.type,message:e.message,request:t.options.request,response:t.options.response,socket:t}),t.close()},r?(t=n.tls.wrapSocket({sessionId:null,sessionCache:{},caStore:r.caStore,cipherSuites:r.cipherSuites,socket:t,virtualHost:r.virtualHost,verify:r.verify,getCertificate:r.getCertificate,getPrivateKey:r.getPrivateKey,getSignature:r.getSignature,deflate:r.deflate||null,inflate:r.inflate||null}),t.options=null,t.buffer=n.util.createBuffer(),e.sockets.push(t),r.prime?t.connect({host:e.url.host,port:e.url.port,policyPort:e.policyPort,policyUrl:e.policyUrl}):e.idle.push(t)):(t.buffer=n.util.createBuffer(),e.sockets.push(t),e.idle.push(t))},h=function(e){var t=!1;if(-1!==e.maxAge){var r=m(new Date);e.created+e.maxAge<=r&&(t=!0)}return t},d=function(e,t){var r=[],n=(e.url,e.cookies);for(var a in n){var i=n[a];for(var s in i){var o=i[s];h(o)?r.push(o):0===t.path.indexOf(o.path)&&t.addCookie(o)}}for(var c=0;c100?(t.body=n.util.deflate(t.flashApi,t.body),t.bodyDeflated=!0,t.setField("Content-Encoding","deflate"),t.setField("Content-Length",t.body.length)):null!==t.body&&t.setField("Content-Length",t.body.length);var e=t.method.toUpperCase()+" "+t.path+" "+t.version+"\r\n";for(var r in t.fields)for(var a=t.fields[r],i=0;i=3)){var o=new Error("Invalid http response header.");throw o.details={line:r},o}a.version=n[0],a.code=parseInt(n[1],10),a.message=n.slice(2).join(" ")}else 0===r.length?a.headerReceived=!0:s(r);return a.headerReceived};var o=function(e){for(var n="";null!==n&&e.length()>0;)if(t>0){if(t+2>e.length())break;a.body+=e.getBytes(t),e.getBytes(2),t=0}else if(r)for(n=i(e);null!==n;)n.length>0?(s(n),n=i(e)):(a.bodyReceived=!0,n=null);else null!==(n=i(e))&&(t=parseInt(n.split(";",1)[0],16),r=0===t);return a.bodyReceived};return a.readBody=function(e){var t=a.getField("Content-Length"),r=a.getField("Transfer-Encoding");if(null!==t&&(t=parseInt(t)),null!==t&&t>=0)a.body=a.body||"",a.body+=e.getBytes(t),a.bodyReceived=a.body.length===t;else if(null!==r){if(-1==r.indexOf("chunked")){var i=new Error("Unknown Transfer-Encoding.");throw i.details={transferEncoding:r},i}a.body=a.body||"",o(e)}else null!==t&&t<0||null===t&&null!==a.getField("Content-Type")?(a.body=a.body||"",a.body+=e.getBytes(),a.readBodyUntilClose=!0):(a.body=null,a.bodyReceived=!0);return a.bodyReceived&&(a.time=+new Date-a.time),null!==a.flashApi&&a.bodyReceived&&null!==a.body&&"deflate"===a.getField("Content-Encoding")&&(a.body=n.util.inflate(a.flashApi,a.body)),a.bodyReceived},a.getCookies=function(){var e=[];if("Set-Cookie"in a.fields)for(var t=a.fields["Set-Cookie"],r=+new Date/1e3,n=/\s*([^=]*)=?([^;]*)(;|$)/g,i=0;i0;)i.push(o%n),o=o/n|0}var c="";for(r=0;0===e.at(r)&&r=0;--r)c+=t[i[r]];return c}var n={};e.exports=n;var a={};n.encode=function(e,t,n){if("string"!=typeof t)throw new TypeError('"alphabet" must be a string.');if(void 0!==n&&"number"!=typeof n)throw new TypeError('"maxline" must be a number.');var a="";if(e instanceof Uint8Array){var i=0,s=t.length,o=t.charAt(0),c=[0];for(i=0;i0;)c.push(l%s),l=l/s|0}for(i=0;0===e[i]&&i=0;--i)a+=t[c[i]]}else a=r(e,t);if(n){var p=new RegExp(".{1,"+n+"}","g");a=a.match(p).join("\r\n")}return a},n.decode=function(e,t){if("string"!=typeof e)throw new TypeError('"input" must be a string.');if("string"!=typeof t)throw new TypeError('"alphabet" must be a string.');var r=a[t];if(!r){r=a[t]=[];for(var n=0;n>=8;for(;l>0;)o.push(255&l),l>>=8}for(var p=0;e[p]===s&&p=l.Versions.TLS_1_1.minor&&s.output.putBytes(a),s.update(e.fragment),s.finish(i)&&(e.fragment=s.output,e.length=e.fragment.length(),r=!0),r}function i(e,t,r){if(!r){var n=e-t.length()%e;t.fillWithByte(n-1,n)}return!0}function s(e,t,r){var n=!0;if(r){for(var a=t.length(),i=t.last(),s=a-1-i;s=i?(e.fragment=a.output.getBytes(f-i),o=a.output.getBytes(i)):e.fragment=a.output.getBytes(),e.fragment=u.util.createBuffer(e.fragment),e.length=e.fragment.length();var h=t.macFunction(t.macKey,t.sequenceNumber,e);return t.updateSequenceNumber(),r=c(t.macKey,o,h)&&r}function c(e,t,r){var n=u.hmac.create();return n.start("SHA1",e),n.update(t),t=n.digest().getBytes(),n.start(null,null),n.update(r),r=n.digest().getBytes(),t===r}var u=r(0);r(5),r(10);var l=e.exports=u.tls;l.CipherSuites.TLS_RSA_WITH_AES_128_CBC_SHA={id:[0,47],name:"TLS_RSA_WITH_AES_128_CBC_SHA",initSecurityParameters:function(e){e.bulk_cipher_algorithm=l.BulkCipherAlgorithm.aes,e.cipher_type=l.CipherType.block,e.enc_key_length=16,e.block_length=16,e.fixed_iv_length=16,e.record_iv_length=16,e.mac_algorithm=l.MACAlgorithm.hmac_sha1,e.mac_length=20,e.mac_key_length=20},initConnectionState:n},l.CipherSuites.TLS_RSA_WITH_AES_256_CBC_SHA={id:[0,53],name:"TLS_RSA_WITH_AES_256_CBC_SHA",initSecurityParameters:function(e){e.bulk_cipher_algorithm=l.BulkCipherAlgorithm.aes,e.cipher_type=l.CipherType.block,e.enc_key_length=32,e.block_length=16,e.fixed_iv_length=16,e.record_iv_length=16,e.mac_algorithm=l.MACAlgorithm.hmac_sha1,e.mac_length=20,e.mac_key_length=20},initConnectionState:n};var p=0},function(e,t,r){var n=r(0);r(31),e.exports=n.mgf=n.mgf||{},n.mgf.mgf1=n.mgf1},function(e,t,r){function n(e){var t=e.message;if(t instanceof Uint8Array)return t;var r=e.encoding;if(void 0===t){if(!e.md)throw new TypeError('"options.message" or "options.md" not specified.');t=e.md.digest().getBytes(),r="binary"}if("string"==typeof t&&!r)throw new TypeError('"options.encoding" must be "binary" or "utf8".');if("string"==typeof t){if("undefined"!=typeof Buffer)return new Buffer(t,r);t=new D(t,r)}else if(!(t instanceof D))throw new TypeError('"options.message" must be a node.js Buffer, a Uint8Array, a forge ByteBuffer, or a string with "options.encoding" specifying its encoding.');for(var n=new P(t.length()),a=0;a=32;--n){for(r=0,a=n-32,i=n-12;a>8,t[a]-=256*r;t[a]+=r,t[n]=0}for(r=0,a=0;a<32;++a)t[a]+=r-(t[31]>>4)*H[a],r=t[a]>>8,t[a]&=255;for(a=0;a<32;++a)t[a]-=r*H[a];for(n=0;n<32;++n)t[n+1]+=t[n]>>8,e[n]=255&t[n]}function u(e){for(var t=new Float64Array(64),r=0;r<64;++r)t[r]=e[r],e[r]=0;c(e,t)}function l(e,t){var r=k(),n=k(),a=k(),i=k(),s=k(),o=k(),c=k(),u=k(),l=k();N(r,e[1],e[0]),N(l,t[1],t[0]),_(r,r,l),w(n,e[0],e[1]),w(l,t[0],t[1]),_(n,n,l),_(a,e[3],t[3]),_(a,a,M),_(i,e[2],t[2]),w(i,i,i),N(s,n,r),N(o,i,a),w(c,i,a),w(u,n,r),_(e[0],s,o),_(e[1],u,c),_(e[2],c,o),_(e[3],s,u)}function p(e,t,r){for(var n=0;n<4;++n)B(e[n],t[n],r)}function f(e,t){var r=k(),n=k(),a=k();I(a,t[2]),_(r,t[0],a),_(n,t[1],a),h(e,n),e[31]^=E(r)<<7}function h(e,t){var r,n,a,i=k(),s=k();for(r=0;r<16;++r)s[r]=t[r];for(A(s),A(s),A(s),n=0;n<2;++n){for(i[0]=s[0]-65517,r=1;r<15;++r)i[r]=s[r]-65535-(i[r-1]>>16&1),i[r-1]&=65535;i[15]=s[15]-32767-(i[14]>>16&1),a=i[15]>>16&1,i[14]&=65535,B(s,i,1-a)}for(r=0;r<16;r++)e[2*r]=255&s[r],e[2*r+1]=s[r]>>8}function d(e,t){var r=k(),n=k(),a=k(),i=k(),s=k(),o=k(),c=k();return b(e[2],x),y(e[1],t),R(a,e[1]),_(i,a,K),N(a,a,e[2]),w(i,e[2],i),R(s,i),R(o,s),_(c,o,s),_(r,c,a),_(r,r,i),g(r,r),_(r,r,a),_(r,r,i),_(r,r,i),_(e[0],r,i),R(n,e[0]),_(n,n,i),v(n,a)&&_(e[0],e[0],j),R(n,e[0]),_(n,n,i),v(n,a)?-1:(E(e[0])===t[31]>>7&&N(e[0],V,e[0]),_(e[3],e[0],e[1]),0)}function y(e,t){var r;for(r=0;r<16;++r)e[r]=t[2*r]+(t[2*r+1]<<8);e[15]&=32767}function g(e,t){var r,n=k();for(r=0;r<16;++r)n[r]=t[r];for(r=250;r>=0;--r)R(n,n),1!==r&&_(n,n,t);for(r=0;r<16;++r)e[r]=n[r]}function v(e,t){var r=new P(32),n=new P(32);return h(r,e),h(n,t),m(r,0,n,0)}function m(e,t,r,n){return C(e,t,r,n,32)}function C(e,t,r,n,a){var i,s=0;for(i=0;i>>8)-1}function E(e){var t=new P(32);return h(t,e),1&t[0]}function S(e,t,r){var n,a;for(b(e[0],V),b(e[1],x),b(e[2],x),b(e[3],V),a=255;a>=0;--a)n=r[a/8|0]>>(7&a)&1,p(e,t,n),l(t,e),l(e,e),p(e,t,n)}function T(e,t){var r=[k(),k(),k(),k()];b(r[0],F),b(r[1],q),b(r[2],x),_(r[3],F,q),S(e,r,t)}function b(e,t){var r;for(r=0;r<16;r++)e[r]=0|t[r]}function I(e,t){var r,n=k();for(r=0;r<16;++r)n[r]=t[r];for(r=253;r>=0;--r)R(n,n),2!==r&&4!==r&&_(n,n,t);for(r=0;r<16;++r)e[r]=n[r]}function A(e){var t,r,n=1;for(t=0;t<16;++t)r=e[t]+n+65535,n=Math.floor(r/65536),e[t]=r-65536*n;e[0]+=n-1+37*(n-1)}function B(e,t,r){for(var n,a=~(r-1),i=0;i<16;++i)n=a&(e[i]^t[i]),e[i]^=n,t[i]^=n}function k(e){var t,r=new Float64Array(16);if(e)for(t=0;t=0};var V=k(),x=k([1]),K=k([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),M=k([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),F=k([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),q=k([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),H=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]),j=k([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139])},function(e,t,r){function n(e,t,r,n){e.generate=function(e,i){for(var s=new a.util.ByteBuffer,o=Math.ceil(i/n)+r,c=new a.util.ByteBuffer,u=r;u0&&(s=a.util.fillString(String.fromCharCode(0),c)+s),{encapsulation:t.encrypt(s,"NONE"),key:e.generate(s,n)}},n.decrypt=function(t,r,n){var a=t.decrypt(r,"NONE");return e.generate(a,n)},n},a.kem.kdf1=function(e,t){n(this,e,0,t||e.digestLength)},a.kem.kdf2=function(e,t){n(this,e,1,t||e.digestLength)}},function(e,t,r){e.exports=r(4),r(15),r(9),r(24),r(32)},function(e,t,r){function n(e){var t={},r=[];if(!d.validate(e,y.asn1.recipientInfoValidator,t,r)){var n=new Error("Cannot read PKCS#7 RecipientInfo. ASN.1 object is not an PKCS#7 RecipientInfo.");throw n.errors=r,n}return{version:t.version.charCodeAt(0),issuer:h.pki.RDNAttributesAsArray(t.issuer),serialNumber:h.util.createBuffer(t.serial).toHex(),encryptedContent:{algorithm:d.derToOid(t.encAlgorithm),parameter:t.encParameter.value,content:t.encKey}}}function a(e){return d.create(d.Class.UNIVERSAL,d.Type.SEQUENCE,!0,[d.create(d.Class.UNIVERSAL,d.Type.INTEGER,!1,d.integerToDer(e.version).getBytes()),d.create(d.Class.UNIVERSAL,d.Type.SEQUENCE,!0,[h.pki.distinguishedNameToAsn1({attributes:e.issuer}),d.create(d.Class.UNIVERSAL,d.Type.INTEGER,!1,h.util.hexToBytes(e.serialNumber))]),d.create(d.Class.UNIVERSAL,d.Type.SEQUENCE,!0,[d.create(d.Class.UNIVERSAL,d.Type.OID,!1,d.oidToDer(e.encryptedContent.algorithm).getBytes()),d.create(d.Class.UNIVERSAL,d.Type.NULL,!1,"")]),d.create(d.Class.UNIVERSAL,d.Type.OCTETSTRING,!1,e.encryptedContent.content)])}function i(e){for(var t=[],r=0;r0){for(var r=d.create(d.Class.CONTEXT_SPECIFIC,1,!0,[]),n=0;n=r&&a0&&a.value[0].value.push(d.create(d.Class.CONTEXT_SPECIFIC,0,!0,e)),n.length>0&&a.value[0].value.push(d.create(d.Class.CONTEXT_SPECIFIC,1,!0,n)),a.value[0].value.push(d.create(d.Class.UNIVERSAL,d.Type.SET,!0,r.signerInfos)),d.create(d.Class.UNIVERSAL,d.Type.SEQUENCE,!0,[d.create(d.Class.UNIVERSAL,d.Type.OID,!1,d.oidToDer(r.type).getBytes()),a])},addSigner:function(e){var t=e.issuer,n=e.serialNumber;if(e.certificate){var a=e.certificate;"string"==typeof a&&(a=h.pki.certificateFromPem(a)),t=a.issuer.attributes,n=a.serialNumber}var i=e.key;if(!i)throw new Error("Could not add PKCS#7 signer; no private key specified.");"string"==typeof i&&(i=h.pki.privateKeyFromPem(i));var s=e.digestAlgorithm||h.pki.oids.sha1;switch(s){case h.pki.oids.sha1:case h.pki.oids.sha256:case h.pki.oids.sha384:case h.pki.oids.sha512:case h.pki.oids.md5:break;default:throw new Error("Could not add PKCS#7 signer; unknown message digest algorithm: "+s)}var o=e.authenticatedAttributes||[];if(o.length>0){for(var c=!1,u=!1,l=0;l="8"&&(r="00"+r);var n=s.util.hexToBytes(r);e.putInt32(n.length),e.putBytes(n)}function a(e,t){e.putInt32(t.length),e.putString(t)}function i(){for(var e=s.md.sha1.create(),t=arguments.length,r=0;r0&&(this.state=g[this.state].block)},v.prototype.unblock=function(e){return e=void 0===e?1:e,this.blocks-=e,0===this.blocks&&this.state!==f&&(this.state=u,C(this,0)),this.blocks},v.prototype.sleep=function(e){e=void 0===e?0:e,this.state=g[this.state].sleep;var t=this;this.timeoutId=setTimeout(function(){t.timeoutId=null,t.state=u,C(t,0)},e)},v.prototype.wait=function(e){e.wait(this)},v.prototype.wakeup=function(){this.state===p&&(cancelTimeout(this.timeoutId),this.timeoutId=null,this.state=u,C(this,0))},v.prototype.cancel=function(){this.state=g[this.state].cancel,this.permitsNeeded=0,null!==this.timeoutId&&(cancelTimeout(this.timeoutId),this.timeoutId=null),this.subtasks=[]},v.prototype.fail=function(e){if(this.error=!0,E(this,!0),e)e.error=this.error,e.swapTime=this.swapTime,e.userData=this.userData,C(e,0);else{if(null!==this.parent){for(var t=this.parent;null!==t.parent;)t.error=this.error,t.swapTime=this.swapTime,t.userData=this.userData,t=t.parent;E(t,!0)}this.failureCallback&&this.failureCallback(this)}};var m=function(e){e.error=!1,e.state=g[e.state][y],setTimeout(function(){e.state===u&&(e.swapTime=+new Date,e.run(e),C(e,0))},0)},C=function(e,t){var r=t>30||+new Date-e.swapTime>20,n=function(t){if(t++,e.state===u)if(r&&(e.swapTime=+new Date),e.subtasks.length>0){var n=e.subtasks.shift();n.error=e.error,n.swapTime=e.swapTime,n.userData=e.userData,n.run(n),n.error||C(n,t)}else E(e),e.error||null!==e.parent&&(e.parent.error=e.error,e.parent.swapTime=e.swapTime,e.parent.userData=e.userData,C(e.parent,t))};r?setTimeout(n,0):n(t)},E=function(e,t){e.state=f,delete i[e.id],null===e.parent&&(e.type in o?0===o[e.type].length?n.log.error(a,"[%s][%s] task queue empty [%s]",e.id,e.name,e.type):o[e.type][0]!==e?n.log.error(a,"[%s][%s] task not first in queue [%s]",e.id,e.name,e.type):(o[e.type].shift(),0===o[e.type].length?delete o[e.type]:o[e.type][0].start()):n.log.error(a,"[%s][%s] task queue missing [%s]",e.id,e.name,e.type),t||(e.error&&e.failureCallback?e.failureCallback(e):!e.error&&e.successCallback&&e.successCallback(e)))};e.exports=n.task=n.task||{},n.task.start=function(e){var t=new v({run:e.run,name:e.name||"?"});t.type=e.type,t.successCallback=e.success||null,t.failureCallback=e.failure||null,t.type in o?o[e.type].push(t):(o[t.type]=[t],m(t))},n.task.cancel=function(e){e in o&&(o[e]=[o[e][0]])},n.task.createCondition=function(){var e={tasks:{}};return e.wait=function(t){t.id in e.tasks||(t.block(),e.tasks[t.id]=t)},e.notify=function(){var t=e.tasks;e.tasks={};for(var r in t)t[r].unblock()},e}},function(e,t,r){var n=r(0),a=e.exports=n.form=n.form||{};!function(e){var t=/([^\[]*?)\[(.*?)\]/g,r=function(e){for(var r,n=[];r=t.exec(e);)r[1].length>0&&n.push(r[1]),r.length>=2&&n.push(r[2]);return 0===n.length&&n.push(e),n},n=function(t,n,a,i){for(var s=[],o=0;o0;t[s]=c?[]:{}}t=t[s]}})};a.serialize=function(t,r,a){var i={};return r=r||".",e.each(t.serializeArray(),function(){n(i,this.name.split(r),this.value||"",a)}),i}}(jQuery)},function(e,t,r){var n=r(0);r(10),n.tls.wrapSocket=function(e){var t=e.socket,r={id:t.id,connected:t.connected||function(e){},closed:t.closed||function(e){},data:t.data||function(e){},error:t.error||function(e){}},a=n.tls.createConnection({server:!1,sessionId:e.sessionId||null,caStore:e.caStore||[],sessionCache:e.sessionCache||null,cipherSuites:e.cipherSuites||null,virtualHost:e.virtualHost,verify:e.verify,getCertificate:e.getCertificate,getPrivateKey:e.getPrivateKey,getSignature:e.getSignature,deflate:e.deflate,inflate:e.inflate,connected:function(e){1===e.handshakes&&r.connected({id:t.id,type:"connect",bytesAvailable:e.data.length()})},tlsDataReady:function(e){return t.send(e.tlsData.getBytes())},dataReady:function(e){r.data({id:t.id,type:"socketData",bytesAvailable:e.data.length()})},closed:function(e){t.close()},error:function(e,n){r.error({id:t.id,type:"tlsError",message:n.message,bytesAvailable:0,error:n}),t.close()}});t.connected=function(t){a.handshake(e.sessionId)},t.closed=function(e){a.open&&a.handshaking&&r.error({id:t.id,type:"ioError",message:"Connection closed during handshake.",bytesAvailable:0}),a.close(),r.closed({id:t.id,type:"close",bytesAvailable:0})},t.error=function(e){r.error({id:t.id,type:e.type,message:e.message,bytesAvailable:0}),a.close()};var i=0;return t.data=function(e){if(a.open){if(e.bytesAvailable>=i){var r=Math.max(e.bytesAvailable,i),n=t.receive(r);null!==n&&(i=a.process(n))}}else t.receive(e.bytesAvailable)},r.destroy=function(){t.destroy()},r.setSessionCache=function(e){a.sessionCache=tls.createSessionCache(e)},r.connect=function(e){t.connect(e)},r.close=function(){a.close()},r.isConnected=function(){return a.isConnected&&t.isConnected()},r.send=function(e){return a.prepare(e)},r.receive=function(e){return a.data.getBytes(e)},r.bytesAvailable=function(){return a.data.length()},r}},function(e,t,r){var n=r(0);r(34),r(35);var a=e.exports=n.xhr=n.xhr||{};!function(e){var t="forge.xhr",r=null,i=0,s=null,o=null,c={},u=10,l=n.net,p=n.http;a.init=function(e){n.log.debug(t,"initializing",e),i=e.policyPort||i,s=e.policyUrl||s,u=e.connections||u,r=l.createSocketPool({flashId:e.flashId,policyPort:i,policyUrl:s,msie:e.msie||!1}),o=p.createClient({url:e.url||window.location.protocol+"//"+window.location.host,socketPool:r,policyPort:i,policyUrl:s,connections:e.connections||u,caCerts:e.caCerts,cipherSuites:e.cipherSuites,persistCookies:e.persistCookies||!0,primeTlsSockets:e.primeTlsSockets||!1,verify:e.verify,getCertificate:e.getCertificate,getPrivateKey:e.getPrivateKey,getSignature:e.getSignature}),c[o.url.full]=o,n.log.debug(t,"ready")},a.cleanup=function(){for(var e in c)c[e].destroy();c={},o=null,r.destroy(),r=null},a.setCookie=function(e){if(e.maxAge=e.maxAge||-1,e.domain)for(var t in c){var r=c[t];p.withinCookieDomain(r.url,e)&&r.secure===e.secure&&r.setCookie(e)}else o.setCookie(e)},a.getCookie=function(e,t,r){var a=null;if(r)for(var i in c){var s=c[i];if(p.withinCookieDomain(s.url,r)){var u=s.getCookie(e,t);null!==u&&(null===a?a=u:n.util.isArray(a)?a.push(u):a=[a,u])}}else a=o.getCookie(e,t);return a},a.removeCookie=function(e,t,r){var n=!1;if(r)for(var a in c){var i=c[a];p.withinCookieDomain(i.url,r)&&i.removeCookie(e,t)&&(n=!0)}else n=o.removeCookie(e,t);return n},a.create=function(a){a=e.extend({logWarningOnError:!0,verbose:!1,logError:function(){},logWarning:function(){},logDebug:function(){},logVerbose:function(){},url:null},a||{});var l={client:null,request:null,response:null,asynchronous:!0,sendFlag:!1,errorFlag:!1},f={error:a.logError||n.log.error,warning:a.logWarning||n.log.warning,debug:a.logDebug||n.log.debug,verbose:a.logVerbose||n.log.verbose},h={onreadystatechange:null,readyState:0,responseText:"",responseXML:null,status:0,statusText:""};if(null===a.url)l.client=o;else{var d=p.parseUrl(a.url);if(!d){new Error("Invalid url.").details={url:a.url}}d.full in c?l.client=c[d.full]:(l.client=p.createClient({url:a.url,socketPool:r,policyPort:a.policyPort||i,policyUrl:a.policyUrl||s,connections:a.connections||u,caCerts:a.caCerts,cipherSuites:a.cipherSuites,persistCookies:a.persistCookies||!0,primeTlsSockets:a.primeTlsSockets||!1,verify:a.verify,getCertificate:a.getCertificate,getPrivateKey:a.getPrivateKey,getSignature:a.getSignature}),c[d.full]=l.client)}return h.open=function(e,t,r,n,a){switch(e){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"PATCH":case"POST":case"PUT":break;case"CONNECT":case"TRACE":case"TRACK":throw new Error("CONNECT, TRACE and TRACK methods are disallowed");default:throw new Error("Invalid method: "+e)}l.sendFlag=!1,h.responseText="",h.responseXML=null,h.status=0,h.statusText="",l.request=p.createRequest({method:e,path:t}),h.readyState=1,h.onreadystatechange&&h.onreadystatechange()},h.setRequestHeader=function(e,t){if(1!=h.readyState||l.sendFlag)throw new Error("XHR not open or sending");l.request.setField(e,t)},h.send=function(e){if(1!=h.readyState||l.sendFlag)throw new Error("XHR not open or sending");if(e&&"GET"!==l.request.method&&"HEAD"!==l.request.method)if("undefined"!=typeof XMLSerializer)if(e instanceof Document){var r=new XMLSerializer;l.request.body=r.serializeToString(e)}else l.request.body=e;else void 0!==e.xml?l.request.body=e.xml:l.request.body=e;l.errorFlag=!1,l.sendFlag=!0,h.onreadystatechange&&h.onreadystatechange();var n={};n.request=l.request,n.headerReady=function(e){h.cookies=l.client.cookies,h.readyState=2,h.status=e.response.code,h.statusText=e.response.message,l.response=e.response,h.onreadystatechange&&h.onreadystatechange(),l.response.aborted||(h.readyState=3,h.onreadystatechange&&h.onreadystatechange())},n.bodyReady=function(e){h.readyState=4;var r=e.response.getField("Content-Type");if(r&&(0===r.indexOf("text/xml")||0===r.indexOf("application/xml")||-1!==r.indexOf("+xml")))try{var a=new ActiveXObject("MicrosoftXMLDOM");a.async=!1,a.loadXML(e.response.body),h.responseXML=a}catch(e){var i=new DOMParser;h.responseXML=i.parseFromString(e.body,"text/xml")}var s=0;null!==e.response.body&&(h.responseText=e.response.body,s=e.response.body.length);var o=l.request,c=o.method+" "+o.path+" "+h.status+" "+h.statusText+" "+s+"B "+(e.request.connectTime+e.request.time+e.response.time)+"ms";n.verbose?(h.status>=400&&n.logWarningOnError?f.warning:f.verbose)(t,c,e,e.response.body?"\n"+e.response.body:"\nNo content"):(h.status>=400&&n.logWarningOnError?f.warning:f.debug)(t,c),h.onreadystatechange&&h.onreadystatechange()},n.error=function(e){var r=l.request;f.error(t,r.method+" "+r.path,e),h.responseText="",h.responseXML=null,l.errorFlag=!0,h.status=0,h.statusText="",h.readyState=4,h.onreadystatechange&&h.onreadystatechange()},l.client.send(n)},h.abort=function(){l.request.abort(),h.responseText="",h.responseXML=null,l.errorFlag=!0,h.status=0,h.statusText="",l.request=null,l.response=null,4===h.readyState||0===h.readyState||1===h.readyState&&!l.sendFlag?h.readyState=0:(h.readyState=4,l.sendFlag=!1,h.onreadystatechange&&h.onreadystatechange(),h.readyState=0)},h.getAllResponseHeaders=function(){var t="";if(null!==l.response){var r=l.response.fields;e.each(r,function(r,n){e.each(n,function(e,n){t+=r+": "+n+"\r\n"})})}return t},h.getResponseHeader=function(e){var t=null;return null!==l.response&&e in l.response.fields&&(t=l.response.fields[e],n.util.isArray(t)&&(t=t.join())),t},h}}(jQuery)}])}); +//# sourceMappingURL=forge.all.min.js.map \ No newline at end of file diff --git a/express-server/node_modules/node-forge/dist/forge.all.min.js.map b/express-server/node_modules/node-forge/dist/forge.all.min.js.map new file mode 100644 index 00000000..5d808657 --- /dev/null +++ b/express-server/node_modules/node-forge/dist/forge.all.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"forge.all.min.js","sources":["webpack:///forge.all.min.js"],"mappings":"AAAA","sourceRoot":""} \ No newline at end of file diff --git a/express-server/node_modules/node-forge/dist/forge.min.js b/express-server/node_modules/node-forge/dist/forge.min.js new file mode 100644 index 00000000..51a2d5a2 --- /dev/null +++ b/express-server/node_modules/node-forge/dist/forge.min.js @@ -0,0 +1,2 @@ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.forge=t():e.forge=t()}("undefined"!=typeof self?self:this,function(){return function(e){function t(a){if(r[a])return r[a].exports;var n=r[a]={i:a,l:!1,exports:{}};return e[a].call(n.exports,n,n.exports,t),n.l=!0,n.exports}var r={};return t.m=e,t.c=r,t.d=function(e,r,a){t.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:a})},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=34)}([function(e,t){e.exports={options:{usePureJavaScript:!1}}},function(e,t,r){function a(e){if(8!==e&&16!==e&&24!==e&&32!==e)throw new Error("Only 8, 16, 24, or 32 bits supported: "+e)}function n(e){if(this.data="",this.read=0,"string"==typeof e)this.data=e;else if(c.isArrayBuffer(e)||c.isArrayBufferView(e))if("undefined"!=typeof Buffer&&e instanceof Buffer)this.data=e.toString("binary");else{var t=new Uint8Array(e);try{this.data=String.fromCharCode.apply(null,t)}catch(e){for(var r=0;r15?(a=Date.now(),s(e)):(r.push(e),1===r.length&&i.setAttribute("a",n=!n))}}c.nextTick=c.setImmediate}(),c.isNodejs="undefined"!=typeof process&&process.versions&&process.versions.node,c.isArray=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)},c.isArrayBuffer=function(e){return"undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer},c.isArrayBufferView=function(e){return e&&c.isArrayBuffer(e.buffer)&&void 0!==e.byteLength},c.ByteBuffer=n,c.ByteStringBuffer=n;c.ByteStringBuffer.prototype._optimizeConstructedString=function(e){this._constructedStringLength+=e,this._constructedStringLength>4096&&(this.data.substr(0,1),this._constructedStringLength=0)},c.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read},c.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0},c.ByteStringBuffer.prototype.putByte=function(e){return this.putBytes(String.fromCharCode(e))},c.ByteStringBuffer.prototype.fillWithByte=function(e,t){e=String.fromCharCode(e);for(var r=this.data;t>0;)1&t&&(r+=e),(t>>>=1)>0&&(e+=e);return this.data=r,this._optimizeConstructedString(t),this},c.ByteStringBuffer.prototype.putBytes=function(e){return this.data+=e,this._optimizeConstructedString(e.length),this},c.ByteStringBuffer.prototype.putString=function(e){return this.putBytes(c.encodeUtf8(e))},c.ByteStringBuffer.prototype.putInt16=function(e){return this.putBytes(String.fromCharCode(e>>8&255)+String.fromCharCode(255&e))},c.ByteStringBuffer.prototype.putInt24=function(e){return this.putBytes(String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(255&e))},c.ByteStringBuffer.prototype.putInt32=function(e){return this.putBytes(String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(255&e))},c.ByteStringBuffer.prototype.putInt16Le=function(e){return this.putBytes(String.fromCharCode(255&e)+String.fromCharCode(e>>8&255))},c.ByteStringBuffer.prototype.putInt24Le=function(e){return this.putBytes(String.fromCharCode(255&e)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255))},c.ByteStringBuffer.prototype.putInt32Le=function(e){return this.putBytes(String.fromCharCode(255&e)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>24&255))},c.ByteStringBuffer.prototype.putInt=function(e,t){a(t);var r="";do{t-=8,r+=String.fromCharCode(e>>t&255)}while(t>0);return this.putBytes(r)},c.ByteStringBuffer.prototype.putSignedInt=function(e,t){return e<0&&(e+=2<0);return t},c.ByteStringBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<=r&&(t-=r<<1),t},c.ByteStringBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):0===e?t="":(t=0===this.read?this.data:this.data.slice(this.read),this.clear()),t},c.ByteStringBuffer.prototype.bytes=function(e){return void 0===e?this.data.slice(this.read):this.data.slice(this.read,this.read+e)},c.ByteStringBuffer.prototype.at=function(e){return this.data.charCodeAt(this.read+e)},c.ByteStringBuffer.prototype.setAt=function(e,t){return this.data=this.data.substr(0,this.read+e)+String.fromCharCode(t)+this.data.substr(this.read+e+1),this},c.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)},c.ByteStringBuffer.prototype.copy=function(){var e=c.createBuffer(this.data);return e.read=this.read,e},c.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this},c.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this},c.ByteStringBuffer.prototype.truncate=function(e){var t=Math.max(0,this.length()-e);return this.data=this.data.substr(this.read,t),this.read=0,this},c.ByteStringBuffer.prototype.toHex=function(){for(var e="",t=this.read;t=e)return this;t=Math.max(t||this.growSize,e);var r=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),a=new Uint8Array(this.length()+t);return a.set(r),this.data=new DataView(a.buffer),this},c.DataBuffer.prototype.putByte=function(e){return this.accommodate(1),this.data.setUint8(this.write++,e),this},c.DataBuffer.prototype.fillWithByte=function(e,t){this.accommodate(t);for(var r=0;r>8&65535),this.data.setInt8(this.write,e>>16&255),this.write+=3,this},c.DataBuffer.prototype.putInt32=function(e){return this.accommodate(4),this.data.setInt32(this.write,e),this.write+=4,this},c.DataBuffer.prototype.putInt16Le=function(e){return this.accommodate(2),this.data.setInt16(this.write,e,!0),this.write+=2,this},c.DataBuffer.prototype.putInt24Le=function(e){return this.accommodate(3),this.data.setInt8(this.write,e>>16&255),this.data.setInt16(this.write,e>>8&65535,!0),this.write+=3,this},c.DataBuffer.prototype.putInt32Le=function(e){return this.accommodate(4),this.data.setInt32(this.write,e,!0),this.write+=4,this},c.DataBuffer.prototype.putInt=function(e,t){a(t),this.accommodate(t/8);do{t-=8,this.data.setInt8(this.write++,e>>t&255)}while(t>0);return this},c.DataBuffer.prototype.putSignedInt=function(e,t){return a(t),this.accommodate(t/8),e<0&&(e+=2<0);return t},c.DataBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<=r&&(t-=r<<1),t},c.DataBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):0===e?t="":(t=0===this.read?this.data:this.data.slice(this.read),this.clear()),t},c.DataBuffer.prototype.bytes=function(e){return void 0===e?this.data.slice(this.read):this.data.slice(this.read,this.read+e)},c.DataBuffer.prototype.at=function(e){return this.data.getUint8(this.read+e)},c.DataBuffer.prototype.setAt=function(e,t){return this.data.setUint8(e,t),this},c.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)},c.DataBuffer.prototype.copy=function(){return new c.DataBuffer(this)},c.DataBuffer.prototype.compact=function(){if(this.read>0){var e=new Uint8Array(this.data.buffer,this.read),t=new Uint8Array(e.byteLength);t.set(e),this.data=new DataView(t),this.write-=this.read,this.read=0}return this},c.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this},c.DataBuffer.prototype.truncate=function(e){return this.write=Math.max(0,this.length()-e),this.read=Math.min(this.read,this.write),this},c.DataBuffer.prototype.toHex=function(){for(var e="",t=this.read;t0;)1&t&&(r+=e),(t>>>=1)>0&&(e+=e);return r},c.xorBytes=function(e,t,r){for(var a="",n="",i="",s=0,o=0;r>0;--r,++s)n=e.charCodeAt(s)^t.charCodeAt(s),o>=10&&(a+=i,i="",o=0),i+=String.fromCharCode(n),++o;return a+=i},c.hexToBytes=function(e){var t="",r=0;for(!0&e.length&&(r=1,t+=String.fromCharCode(parseInt(e[0],16)));r>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(255&e)};var u="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",l=[62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,64,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],p="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";c.encode64=function(e,t){for(var r,a,n,i="",s="",o=0;o>2),i+=u.charAt((3&r)<<4|a>>4),isNaN(a)?i+="==":(i+=u.charAt((15&a)<<2|n>>6),i+=isNaN(n)?"=":u.charAt(63&n)),t&&i.length>t&&(s+=i.substr(0,t)+"\r\n",i=i.substr(t));return s+=i},c.decode64=function(e){e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var t,r,a,n,i="",s=0;s>4),64!==a&&(i+=String.fromCharCode((15&r)<<4|a>>2),64!==n&&(i+=String.fromCharCode((3&a)<<6|n)));return i},c.encodeUtf8=function(e){return unescape(encodeURIComponent(e))},c.decodeUtf8=function(e){return decodeURIComponent(escape(e))},c.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:o.encode,decode:o.decode}},c.binary.raw.encode=function(e){return String.fromCharCode.apply(null,e)},c.binary.raw.decode=function(e,t,r){var a=t;a||(a=new Uint8Array(e.length)),r=r||0;for(var n=r,i=0;i>2),i+=u.charAt((3&r)<<4|a>>4),isNaN(a)?i+="==":(i+=u.charAt((15&a)<<2|n>>6),i+=isNaN(n)?"=":u.charAt(63&n)),t&&i.length>t&&(s+=i.substr(0,t)+"\r\n",i=i.substr(t));return s+=i},c.binary.base64.decode=function(e,t,r){var a=t;a||(a=new Uint8Array(3*Math.ceil(e.length/4))),e=e.replace(/[^A-Za-z0-9\+\/\=]/g,""),r=r||0;for(var n,i,s,o,c=0,u=r;c>4,64!==s&&(a[u++]=(15&i)<<4|s>>2,64!==o&&(a[u++]=(3&s)<<6|o));return t?u-r:a.subarray(0,u)},c.binary.base58.encode=function(e,t){return c.binary.baseN.encode(e,p,t)},c.binary.base58.decode=function(e,t){return c.binary.baseN.decode(e,p,t)},c.text={utf8:{},utf16:{}},c.text.utf8.encode=function(e,t,r){e=c.encodeUtf8(e);var a=t;a||(a=new Uint8Array(e.length)),r=r||0;for(var n=r,i=0;i0?(n=r[a].substring(0,s),i=r[a].substring(s+1)):(n=r[a],i=null),n in t||(t[n]=[]),n in Object.prototype||null===i||t[n].push(unescape(i))}return t};return void 0===e?(null===C&&(C="undefined"!=typeof window&&window.location&&window.location.search?r(window.location.search.substring(1)):{}),t=C):t=r(e),t},c.parseFragment=function(e){var t=e,r="",a=e.indexOf("?");a>0&&(t=e.substring(0,a),r=e.substring(a+1));var n=t.split("/");return n.length>0&&""===n[0]&&n.shift(),{pathString:t,queryString:r,path:n,query:""===r?{}:c.getQueryVariables(r)}},c.makeRequest=function(e){var t=c.parseFragment(e),r={path:t.pathString,query:t.queryString,getPath:function(e){return void 0===e?t.path:t.path[e]},getQuery:function(e,r){var a;return void 0===e?a=t.query:(a=t.query[e])&&void 0!==r&&(a=a[r]),a},getQueryLast:function(e,t){var a=r.getQuery(e);return a?a[a.length-1]:t}};return r},c.makeLink=function(e,t,r){e=jQuery.isArray(e)?e.join("/"):e;var a=jQuery.param(t||{});return r=r||"",e+(a.length>0?"?"+a:"")+(r.length>0?"#"+r:"")},c.setPath=function(e,t,r){if("object"==typeof e&&null!==e)for(var a=0,n=t.length;a0&&i.push(r),s=a.lastIndex;var o=t[0][1];switch(o){case"s":case"o":n");break;case"%":i.push("%");break;default:i.push("<%"+o+"?>")}}return i.push(e.substring(s)),i.join("")},c.formatNumber=function(e,t,r,a){var n=e,i=isNaN(t=Math.abs(t))?2:t,s=void 0===r?",":r,o=void 0===a?".":a,c=n<0?"-":"",u=parseInt(n=Math.abs(+n||0).toFixed(i),10)+"",l=u.length>3?u.length%3:0;return c+(l?u.substr(0,l)+o:"")+u.substr(l).replace(/(\d{3})(?=\d)/g,"$1"+o)+(i?s+Math.abs(n-u).toFixed(i).slice(2):"")},c.formatSize=function(e){return e=e>=1073741824?c.formatNumber(e/1073741824,2,".","")+" GiB":e>=1048576?c.formatNumber(e/1048576,2,".","")+" MiB":e>=1024?c.formatNumber(e/1024,0)+" KiB":c.formatNumber(e,0)+" bytes"},c.bytesFromIP=function(e){return-1!==e.indexOf(".")?c.bytesFromIPv4(e):-1!==e.indexOf(":")?c.bytesFromIPv6(e):null},c.bytesFromIPv4=function(e){if(e=e.split("."),4!==e.length)return null;for(var t=c.createBuffer(),r=0;rr[a].end-r[a].start&&(a=r.length-1)):r.push({start:o,end:o})}t.push(i)}if(r.length>0){var u=r[a];u.end-u.start>0&&(t.splice(u.start,u.end-u.start+1,""),0===u.start&&t.unshift(""),7===u.end&&t.push(""))}return t.join(":")},c.estimateCores=function(e,t){function r(e,s,o){if(0===s){var u=Math.floor(e.reduce(function(e,t){return e+t},0)/e.length);return c.cores=Math.max(1,u),URL.revokeObjectURL(i),t(null,c.cores)}a(o,function(t,a){e.push(n(o,a)),r(e,s-1,o)})}function a(e,t){for(var r=[],a=[],n=0;no.st&&n.stn.st&&o.st0)return c.cores=navigator.hardwareConcurrency,t(null,c.cores);if("undefined"==typeof Worker)return c.cores=1,t(null,c.cores);if("undefined"==typeof Blob)return c.cores=2,t(null,c.cores);var i=URL.createObjectURL(new Blob(["(",function(){self.addEventListener("message",function(e){for(var t=Date.now(),r=t+4;Date.now()t){var a=new Error("Too few bytes to parse DER.");throw a.available=e.length(),a.remaining=t,a.requested=r,a}}function n(e,t,r,i){var c;a(e,t,2);var u=e.getByte();t--;var l=192&u,p=31&u;c=e.length();var f=o(e,t);if(t-=c-e.length(),void 0!==f&&f>t){if(i.strict){var h=new Error("Too few bytes to read ASN.1 value.");throw h.available=e.length(),h.remaining=t,h.requested=f,h}f=t}var d,y,g=32==(32&u);if(g)if(d=[],void 0===f)for(;;){if(a(e,t,2),e.bytes(2)===String.fromCharCode(0,0)){e.getBytes(2),t-=2;break}c=e.length(),d.push(n(e,t,r+1,i)),t-=c-e.length()}else for(;f>0;)c=e.length(),d.push(n(e,f,r+1,i)),t-=c-e.length(),f-=c-e.length();if(void 0===d&&l===s.Class.UNIVERSAL&&p===s.Type.BITSTRING&&(y=e.bytes(f)),void 0===d&&i.decodeBitStrings&&l===s.Class.UNIVERSAL&&p===s.Type.BITSTRING&&f>1){var v=e.read,m=t,C=0;if(p===s.Type.BITSTRING&&(a(e,t,1),C=e.getByte(),t--),0===C)try{c=e.length();var E={verbose:i.verbose,strict:!0,decodeBitStrings:!0},S=n(e,t,r+1,E),T=c-e.length();t-=T,p==s.Type.BITSTRING&&T++;var I=S.tagClass;T!==f||I!==s.Class.UNIVERSAL&&I!==s.Class.CONTEXT_SPECIFIC||(d=[S])}catch(e){}void 0===d&&(e.read=v,t=m)}if(void 0===d){if(void 0===f){if(i.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");f=t}if(p===s.Type.BMPSTRING)for(d="";f>0;f-=2)a(e,t,2),d+=String.fromCharCode(e.getInt16()),t-=2;else d=e.getBytes(f)}var b=void 0===y?null:{bitStringContents:y};return s.create(l,p,g,d,b)}var i=r(0);r(1),r(6);var s=e.exports=i.asn1=i.asn1||{};s.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192},s.Type={NONE:0,BOOLEAN:1,INTEGER:2,BITSTRING:3,OCTETSTRING:4,NULL:5,OID:6,ODESC:7,EXTERNAL:8,REAL:9,ENUMERATED:10,EMBEDDED:11,UTF8:12,ROID:13,SEQUENCE:16,SET:17,PRINTABLESTRING:19,IA5STRING:22,UTCTIME:23,GENERALIZEDTIME:24,BMPSTRING:30},s.create=function(e,t,r,a,n){if(i.util.isArray(a)){for(var o=[],c=0;c1&&(0===e.value.charCodeAt(0)&&0==(128&e.value.charCodeAt(1))||255===e.value.charCodeAt(0)&&128==(128&e.value.charCodeAt(1)))?a.putBytes(e.value.substr(1)):a.putBytes(e.value);if(t.putByte(r),a.length()<=127)t.putByte(127&a.length());else{var c=a.length(),u="";do{u+=String.fromCharCode(255&c),c>>>=8}while(c>0);t.putByte(128|u.length);for(var o=u.length-1;o>=0;--o)t.putByte(u.charCodeAt(o))}return t.putBuffer(a),t},s.oidToDer=function(e){var t=e.split("."),r=i.util.createBuffer();r.putByte(40*parseInt(t[0],10)+parseInt(t[1],10));for(var a,n,s,o,c=2;c>>=7,a||(o|=128),n.push(o),a=!1}while(s>0);for(var u=n.length-1;u>=0;--u)r.putByte(n[u])}return r},s.derToOid=function(e){var t;"string"==typeof e&&(e=i.util.createBuffer(e));var r=e.getByte();t=Math.floor(r/40)+"."+r%40;for(var a=0;e.length()>0;)r=e.getByte(),a<<=7,128&r?a+=127&r:(t+="."+(a+r),a=0);return t},s.utcTimeToDate=function(e){var t=new Date,r=parseInt(e.substr(0,2),10);r=r>=50?1900+r:2e3+r;var a=parseInt(e.substr(2,2),10)-1,n=parseInt(e.substr(4,2),10),i=parseInt(e.substr(6,2),10),s=parseInt(e.substr(8,2),10),o=0;if(e.length>11){var c=e.charAt(10),u=10;"+"!==c&&"-"!==c&&(o=parseInt(e.substr(10,2),10),u+=2)}if(t.setUTCFullYear(r,a,n),t.setUTCHours(i,s,o,0),u&&("+"===(c=e.charAt(u))||"-"===c)){var l=parseInt(e.substr(u+1,2),10),p=parseInt(e.substr(u+4,2),10),f=60*l+p;f*=6e4,"+"===c?t.setTime(+t-f):t.setTime(+t+f)}return t},s.generalizedTimeToDate=function(e){var t=new Date,r=parseInt(e.substr(0,4),10),a=parseInt(e.substr(4,2),10)-1,n=parseInt(e.substr(6,2),10),i=parseInt(e.substr(8,2),10),s=parseInt(e.substr(10,2),10),o=parseInt(e.substr(12,2),10),c=0,u=0,l=!1;"Z"===e.charAt(e.length-1)&&(l=!0);var p=e.length-5,f=e.charAt(p);if("+"===f||"-"===f){u=60*parseInt(e.substr(p+1,2),10)+parseInt(e.substr(p+4,2),10),u*=6e4,"+"===f&&(u*=-1),l=!0}return"."===e.charAt(14)&&(c=1e3*parseFloat(e.substr(14),10)),l?(t.setUTCFullYear(r,a,n),t.setUTCHours(i,s,o,c),t.setTime(+t+u)):(t.setFullYear(r,a,n),t.setHours(i,s,o,c)),t},s.dateToUtcTime=function(e){if("string"==typeof e)return e;var t="",r=[];r.push((""+e.getUTCFullYear()).substr(2)),r.push(""+(e.getUTCMonth()+1)),r.push(""+e.getUTCDate()),r.push(""+e.getUTCHours()),r.push(""+e.getUTCMinutes()),r.push(""+e.getUTCSeconds());for(var a=0;a=-128&&e<128)return t.putSignedInt(e,8);if(e>=-32768&&e<32768)return t.putSignedInt(e,16);if(e>=-8388608&&e<8388608)return t.putSignedInt(e,24);if(e>=-2147483648&&e<2147483648)return t.putSignedInt(e,32);var r=new Error("Integer too large; max is 32-bits.");throw r.integer=e,r},s.derToInteger=function(e){"string"==typeof e&&(e=i.util.createBuffer(e));var t=8*e.length();if(t>32)throw new Error("Integer too large; max is 32-bits.");return e.getSignedInt(t)},s.validate=function(e,t,r,a){var n=!1;if(e.tagClass!==t.tagClass&&void 0!==t.tagClass||e.type!==t.type&&void 0!==t.type)a&&(e.tagClass!==t.tagClass&&a.push("["+t.name+'] Expected tag class "'+t.tagClass+'", got "'+e.tagClass+'"'),e.type!==t.type&&a.push("["+t.name+'] Expected type "'+t.type+'", got "'+e.type+'"'));else if(e.constructed===t.constructed||void 0===t.constructed){if(n=!0,t.value&&i.util.isArray(t.value))for(var o=0,c=0;n&&c0&&(a+="\n");for(var n="",o=0;o1?a+="0x"+i.util.bytesToHex(e.value.slice(1)):a+="(none)",e.value.length>0){var f=e.value.charCodeAt(0);1==f?a+=" (1 unused bit shown)":f>1&&(a+=" ("+f+" unused bits shown)")}}else e.type===s.Type.OCTETSTRING?(c.test(e.value)||(a+="("+e.value+") "),a+="0x"+i.util.bytesToHex(e.value)):e.type===s.Type.UTF8?a+=i.util.decodeUtf8(e.value):e.type===s.Type.PRINTABLESTRING||e.type===s.Type.IA5String?a+=e.value:c.test(e.value)?a+="0x"+i.util.bytesToHex(e.value):0===e.value.length?a+="[null]":a+=e.value}return a}},function(e,t,r){var a=r(0);e.exports=a.md=a.md||{},a.md.algorithms=a.md.algorithms||{}},function(e,t,r){function a(e,t){var r=function(){return new c.aes.Algorithm(e,t)};c.cipher.registerAlgorithm(e,r)}function n(){d=!0,p=[0,1,2,4,8,16,32,64,128,27,54];for(var e=new Array(256),t=0;t<128;++t)e[t]=t<<1,e[t+128]=t+128<<1^283;u=new Array(256),l=new Array(256),f=new Array(4),h=new Array(4);for(var t=0;t<4;++t)f[t]=new Array(256),h[t]=new Array(256);for(var r,a,n,i,s,o,c,y=0,g=0,t=0;t<256;++t){i=g^g<<1^g<<2^g<<3^g<<4,i=i>>8^255&i^99,u[y]=i,l[i]=y,s=e[i],r=e[y],a=e[r],n=e[a],o=s<<24^i<<16^i<<8^i^s,c=(r^a^n)<<24^(y^n)<<16^(y^a^n)<<8^y^r^n;for(var v=0;v<4;++v)f[v][y]=o,h[v][i]=c,o=o<<24|o>>>8,c=c<<24|c>>>8;0===y?y=g=1:(y=r^e[e[e[r^n]]],g^=e[e[g]])}}function i(e,t){for(var r,a=e.slice(0),n=1,i=a.length,s=i+6+1,o=y*s,c=i;c>>16&255]<<24^u[r>>>8&255]<<16^u[255&r]<<8^u[r>>>24]^p[n]<<24,n++):i>6&&c%i==4&&(r=u[r>>>24]<<24^u[r>>>16&255]<<16^u[r>>>8&255]<<8^u[255&r]),a[c]=a[c-i]^r;if(t){var l,f=h[0],d=h[1],g=h[2],v=h[3],m=a.slice(0);o=a.length;for(var c=0,C=o-y;c>>24]]^d[u[l>>>16&255]]^g[u[l>>>8&255]]^v[u[255&l]];a=m}return a}function s(e,t,r,a){var n,i,s,o,c,p=e.length/4-1;a?(n=h[0],i=h[1],s=h[2],o=h[3],c=l):(n=f[0],i=f[1],s=f[2],o=f[3],c=u);var d,y,g,v,m,C,E;d=t[0]^e[0],y=t[a?3:1]^e[1],g=t[2]^e[2],v=t[a?1:3]^e[3];for(var S=3,T=1;T>>24]^i[y>>>16&255]^s[g>>>8&255]^o[255&v]^e[++S],C=n[y>>>24]^i[g>>>16&255]^s[v>>>8&255]^o[255&d]^e[++S],E=n[g>>>24]^i[v>>>16&255]^s[d>>>8&255]^o[255&y]^e[++S],v=n[v>>>24]^i[d>>>16&255]^s[y>>>8&255]^o[255&g]^e[++S],d=m,y=C,g=E;r[0]=c[d>>>24]<<24^c[y>>>16&255]<<16^c[g>>>8&255]<<8^c[255&v]^e[++S],r[a?3:1]=c[y>>>24]<<24^c[g>>>16&255]<<16^c[v>>>8&255]<<8^c[255&d]^e[++S],r[2]=c[g>>>24]<<24^c[v>>>16&255]<<16^c[d>>>8&255]<<8^c[255&y]^e[++S],r[a?1:3]=c[v>>>24]<<24^c[d>>>16&255]<<16^c[y>>>8&255]<<8^c[255&g]^e[++S]}function o(e){e=e||{};var t,r=(e.mode||"CBC").toUpperCase(),a="AES-"+r;t=e.decrypt?c.cipher.createDecipher(a,e.key):c.cipher.createCipher(a,e.key);var n=t.start;return t.start=function(e,r){var a=null;r instanceof c.util.ByteBuffer&&(a=r,r={}),r=r||{},r.output=a,r.iv=e,n.call(t,r)},t}var c=r(0);r(13),r(18),r(1),e.exports=c.aes=c.aes||{},c.aes.startEncrypting=function(e,t,r,a){var n=o({key:e,output:r,decrypt:!1,mode:a});return n.start(t),n},c.aes.createEncryptionCipher=function(e,t){return o({key:e,output:null,decrypt:!1,mode:t})},c.aes.startDecrypting=function(e,t,r,a){var n=o({key:e,output:r,decrypt:!0,mode:a});return n.start(t),n},c.aes.createDecryptionCipher=function(e,t){return o({key:e,output:null,decrypt:!0,mode:t})},c.aes.Algorithm=function(e,t){d||n();var r=this;r.name=e,r.mode=new t({blockSize:16,cipher:{encrypt:function(e,t){return s(r._w,e,t,!1)},decrypt:function(e,t){return s(r._w,e,t,!0)}}}),r._init=!1},c.aes.Algorithm.prototype.initialize=function(e){if(!this._init){var t,r=e.key;if("string"!=typeof r||16!==r.length&&24!==r.length&&32!==r.length){if(c.util.isArray(r)&&(16===r.length||24===r.length||32===r.length)){t=r,r=c.util.createBuffer();for(var a=0;a>>=2;for(var a=0;a65&&-1!==s){var o=t[s];","===o?(++s,t=t.substr(0,s)+"\r\n "+t.substr(s)):t=t.substr(0,s)+"\r\n"+o+t.substr(s+1),i=n-s-1,s=-1,++n}else" "!==t[n]&&"\t"!==t[n]&&","!==t[n]||(s=n);return t}function n(e){return e.replace(/^\s+/,"")}var i=r(0);r(1);var s=e.exports=i.pem=i.pem||{};s.encode=function(e,t){t=t||{};var r,n="-----BEGIN "+e.type+"-----\r\n";if(e.procType&&(r={name:"Proc-Type",values:[String(e.procType.version),e.procType.type]},n+=a(r)),e.contentDomain&&(r={name:"Content-Domain",values:[e.contentDomain]},n+=a(r)),e.dekInfo&&(r={name:"DEK-Info",values:[e.dekInfo.algorithm]},e.dekInfo.parameters&&r.values.push(e.dekInfo.parameters),n+=a(r)),e.headers)for(var s=0;st.blockLength&&(t.start(),t.update(s.bytes()),s=t.digest()),r=a.util.createBuffer(),n=a.util.createBuffer(),u=s.length();for(var c=0;c=64;){for(n=e.h0,i=e.h1,s=e.h2,o=e.h3,c=e.h4,l=0;l<16;++l)a=r.getInt32(),t[l]=a,u=o^i&(s^o),a=(n<<5|n>>>27)+u+c+1518500249+a,c=o,o=s,s=(i<<30|i>>>2)>>>0,i=n,n=a;for(;l<20;++l)a=t[l-3]^t[l-8]^t[l-14]^t[l-16],a=a<<1|a>>>31,t[l]=a,u=o^i&(s^o),a=(n<<5|n>>>27)+u+c+1518500249+a,c=o,o=s,s=(i<<30|i>>>2)>>>0,i=n,n=a;for(;l<32;++l)a=t[l-3]^t[l-8]^t[l-14]^t[l-16],a=a<<1|a>>>31,t[l]=a,u=i^s^o,a=(n<<5|n>>>27)+u+c+1859775393+a,c=o,o=s,s=(i<<30|i>>>2)>>>0,i=n,n=a;for(;l<40;++l)a=t[l-6]^t[l-16]^t[l-28]^t[l-32],a=a<<2|a>>>30,t[l]=a,u=i^s^o,a=(n<<5|n>>>27)+u+c+1859775393+a,c=o,o=s,s=(i<<30|i>>>2)>>>0,i=n,n=a;for(;l<60;++l)a=t[l-6]^t[l-16]^t[l-28]^t[l-32],a=a<<2|a>>>30,t[l]=a,u=i&s|o&(i^s),a=(n<<5|n>>>27)+u+c+2400959708+a,c=o,o=s,s=(i<<30|i>>>2)>>>0,i=n,n=a;for(;l<80;++l)a=t[l-6]^t[l-16]^t[l-28]^t[l-32],a=a<<2|a>>>30,t[l]=a,u=i^s^o,a=(n<<5|n>>>27)+u+c+3395469782+a,c=o,o=s,s=(i<<30|i>>>2)>>>0,i=n,n=a;e.h0=e.h0+n|0,e.h1=e.h1+i|0,e.h2=e.h2+s|0,e.h3=e.h3+o|0,e.h4=e.h4+c|0,p-=64}}var i=r(0);r(4),r(1);var s=e.exports=i.sha1=i.sha1||{};i.md.sha1=i.md.algorithms.sha1=s,s.create=function(){c||a();var e=null,t=i.util.createBuffer(),r=new Array(80),s={algorithm:"sha1",blockLength:64,digestLength:20,messageLength:0,fullMessageLength:null,messageLengthSize:8};return s.start=function(){s.messageLength=0,s.fullMessageLength=s.messageLength64=[];for(var r=s.messageLengthSize/4,a=0;a>>0,c>>>0];for(var u=s.fullMessageLength.length-1;u>=0;--u)s.fullMessageLength[u]+=c[1],c[1]=c[0]+(s.fullMessageLength[u]/4294967296>>>0),s.fullMessageLength[u]=s.fullMessageLength[u]>>>0,c[0]=c[1]/4294967296>>>0;return t.putBytes(a),n(e,r,t),(t.read>2048||0===t.length())&&t.compact(),s},s.digest=function(){var a=i.util.createBuffer();a.putBytes(t.bytes());var c=s.fullMessageLength[s.fullMessageLength.length-1]+s.messageLengthSize,u=c&s.blockLength-1;a.putBytes(o.substr(0,s.blockLength-u));for(var l,p,f=8*s.fullMessageLength[0],h=0;h>>0,f+=p,a.putInt32(f>>>0),f=l>>>0;a.putInt32(f);var d={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4};n(d,r,a);var y=i.util.createBuffer();return y.putInt32(d.h0),y.putInt32(d.h1),y.putInt32(d.h2),y.putInt32(d.h3),y.putInt32(d.h4),y},s};var o=null,c=!1},function(e,t,r){function a(e,t){var r=function(){return new o.des.Algorithm(e,t)};o.cipher.registerAlgorithm(e,r)}function n(e){for(var t,r=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],a=[0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697],n=[0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272],i=[0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144],s=[0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256],o=[0,1024,32,1056,0,1024,32,1056,33554432,33555456,33554464,33555488,33554432,33555456,33554464,33555488],c=[0,268435456,524288,268959744,2,268435458,524290,268959746,0,268435456,524288,268959744,2,268435458,524290,268959746],u=[0,65536,2048,67584,536870912,536936448,536872960,536938496,131072,196608,133120,198656,537001984,537067520,537004032,537069568],l=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],p=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],f=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],h=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],d=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],y=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],g=e.length()>8?3:1,v=[],m=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],C=0,E=0;E>>4^T),T^=t,S^=t<<4,t=65535&(T>>>-16^S),S^=t,T^=t<<-16,t=858993459&(S>>>2^T),T^=t,S^=t<<2,t=65535&(T>>>-16^S),S^=t,T^=t<<-16,t=1431655765&(S>>>1^T),T^=t,S^=t<<1,t=16711935&(T>>>8^S),S^=t,T^=t<<8,t=1431655765&(S>>>1^T),T^=t,S^=t<<1,t=S<<8|T>>>20&240,S=T<<24|T<<8&16711680|T>>>8&65280|T>>>24&240,T=t;for(var I=0;I>>26,T=T<<2|T>>>26):(S=S<<1|S>>>27,T=T<<1|T>>>27),S&=-15,T&=-15;var b=r[S>>>28]|a[S>>>24&15]|n[S>>>20&15]|i[S>>>16&15]|s[S>>>12&15]|o[S>>>8&15]|c[S>>>4&15],A=u[T>>>28]|l[T>>>24&15]|p[T>>>20&15]|f[T>>>16&15]|h[T>>>12&15]|d[T>>>8&15]|y[T>>>4&15];t=65535&(A>>>16^b),v[C++]=b^t,v[C++]=A^t<<16}}return v}function i(e,t,r,a){var n,i=32===e.length?3:9;n=3===i?a?[30,-2,-2]:[0,32,2]:a?[94,62,-2,32,64,2,30,-2,-2]:[0,32,2,62,30,-2,64,96,2];var s,o=t[0],g=t[1];s=252645135&(o>>>4^g),g^=s,o^=s<<4,s=65535&(o>>>16^g),g^=s,o^=s<<16,s=858993459&(g>>>2^o),o^=s,g^=s<<2,s=16711935&(g>>>8^o),o^=s,g^=s<<8,s=1431655765&(o>>>1^g),g^=s,o^=s<<1,o=o<<1|o>>>31,g=g<<1|g>>>31;for(var v=0;v>>4|g<<28)^e[E+1];s=o,o=g,g=s^(u[S>>>24&63]|p[S>>>16&63]|h[S>>>8&63]|y[63&S]|c[T>>>24&63]|l[T>>>16&63]|f[T>>>8&63]|d[63&T])}s=o,o=g,g=s}o=o>>>1|o<<31,g=g>>>1|g<<31,s=1431655765&(o>>>1^g),g^=s,o^=s<<1,s=16711935&(g>>>8^o),o^=s,g^=s<<8,s=858993459&(g>>>2^o),o^=s,g^=s<<2,s=65535&(o>>>16^g),g^=s,o^=s<<16,s=252645135&(o>>>4^g),g^=s,o^=s<<4,r[0]=o,r[1]=g}function s(e){e=e||{};var t,r=(e.mode||"CBC").toUpperCase(),a="DES-"+r;t=e.decrypt?o.cipher.createDecipher(a,e.key):o.cipher.createCipher(a,e.key);var n=t.start;return t.start=function(e,r){var a=null;r instanceof o.util.ByteBuffer&&(a=r,r={}),r=r||{},r.output=a,r.iv=e,n.call(t,r)},t}var o=r(0);r(13),r(18),r(1),e.exports=o.des=o.des||{},o.des.startEncrypting=function(e,t,r,a){var n=s({key:e,output:r,decrypt:!1,mode:a||(null===t?"ECB":"CBC")});return n.start(t),n},o.des.createEncryptionCipher=function(e,t){return s({key:e,output:null,decrypt:!1,mode:t})},o.des.startDecrypting=function(e,t,r,a){var n=s({key:e,output:r,decrypt:!0,mode:a||(null===t?"ECB":"CBC")});return n.start(t),n},o.des.createDecryptionCipher=function(e,t){return s({key:e,output:null,decrypt:!0,mode:t})},o.des.Algorithm=function(e,t){var r=this;r.name=e,r.mode=new t({blockSize:8,cipher:{encrypt:function(e,t){return i(r._keys,e,t,!1)},decrypt:function(e,t){return i(r._keys,e,t,!0)}}}),r._init=!1},o.des.Algorithm.prototype.initialize=function(e){if(!this._init){var t=o.util.createBuffer(e.key);if(0===this.name.indexOf("3DES")&&24!==t.length())throw new Error("Invalid Triple-DES key size: "+8*t.length());this._keys=n(t),this._init=!0}},a("DES-ECB",o.cipher.modes.ecb),a("DES-CBC",o.cipher.modes.cbc),a("DES-CFB",o.cipher.modes.cfb),a("DES-OFB",o.cipher.modes.ofb),a("DES-CTR",o.cipher.modes.ctr),a("3DES-ECB",o.cipher.modes.ecb),a("3DES-CBC",o.cipher.modes.cbc),a("3DES-CFB",o.cipher.modes.cfb),a("3DES-OFB",o.cipher.modes.ofb),a("3DES-CTR",o.cipher.modes.ctr);var c=[16843776,0,65536,16843780,16842756,66564,4,65536,1024,16843776,16843780,1024,16778244,16842756,16777216,4,1028,16778240,16778240,66560,66560,16842752,16842752,16778244,65540,16777220,16777220,65540,0,1028,66564,16777216,65536,16843780,4,16842752,16843776,16777216,16777216,1024,16842756,65536,66560,16777220,1024,4,16778244,66564,16843780,65540,16842752,16778244,16777220,1028,66564,16843776,1028,16778240,16778240,0,65540,66560,0,16842756],u=[-2146402272,-2147450880,32768,1081376,1048576,32,-2146435040,-2147450848,-2147483616,-2146402272,-2146402304,-2147483648,-2147450880,1048576,32,-2146435040,1081344,1048608,-2147450848,0,-2147483648,32768,1081376,-2146435072,1048608,-2147483616,0,1081344,32800,-2146402304,-2146435072,32800,0,1081376,-2146435040,1048576,-2147450848,-2146435072,-2146402304,32768,-2146435072,-2147450880,32,-2146402272,1081376,32,32768,-2147483648,32800,-2146402304,1048576,-2147483616,1048608,-2147450848,-2147483616,1048608,1081344,0,-2147450880,32800,-2147483648,-2146435040,-2146402272,1081344],l=[520,134349312,0,134348808,134218240,0,131592,134218240,131080,134217736,134217736,131072,134349320,131080,134348800,520,134217728,8,134349312,512,131584,134348800,134348808,131592,134218248,131584,131072,134218248,8,134349320,512,134217728,134349312,134217728,131080,520,131072,134349312,134218240,0,512,131080,134349320,134218240,134217736,512,0,134348808,134218248,131072,134217728,134349320,8,131592,131584,134217736,134348800,134218248,520,134348800,131592,8,134348808,131584],p=[8396801,8321,8321,128,8396928,8388737,8388609,8193,0,8396800,8396800,8396929,129,0,8388736,8388609,1,8192,8388608,8396801,128,8388608,8193,8320,8388737,1,8320,8388736,8192,8396928,8396929,129,8388736,8388609,8396800,8396929,129,0,0,8396800,8320,8388736,8388737,1,8396801,8321,8321,128,8396929,129,1,8192,8388609,8193,8396928,8388737,8193,8320,8388608,8396801,128,8388608,8192,8396928],f=[256,34078976,34078720,1107296512,524288,256,1073741824,34078720,1074266368,524288,33554688,1074266368,1107296512,1107820544,524544,1073741824,33554432,1074266112,1074266112,0,1073742080,1107820800,1107820800,33554688,1107820544,1073742080,0,1107296256,34078976,33554432,1107296256,524544,524288,1107296512,256,33554432,1073741824,34078720,1107296512,1074266368,33554688,1073741824,1107820544,34078976,1074266368,256,33554432,1107820544,1107820800,524544,1107296256,1107820800,34078720,0,1074266112,1107296256,524544,33554688,1073742080,524288,0,1074266112,34078976,1073742080],h=[536870928,541065216,16384,541081616,541065216,16,541081616,4194304,536887296,4210704,4194304,536870928,4194320,536887296,536870912,16400,0,4194320,536887312,16384,4210688,536887312,16,541065232,541065232,0,4210704,541081600,16400,4210688,541081600,536870912,536887296,16,541065232,4210688,541081616,4194304,16400,536870928,4194304,536887296,536870912,16400,536870928,541081616,4210688,541065216,4210704,541081600,0,541065232,16,16384,541065216,4210704,16384,4194320,536887312,0,541081600,536870912,4194320,536887312],d=[2097152,69206018,67110914,0,2048,67110914,2099202,69208064,69208066,2097152,0,67108866,2,67108864,69206018,2050,67110912,2099202,2097154,67110912,67108866,69206016,69208064,2097154,69206016,2048,2050,69208066,2099200,2,67108864,2099200,67108864,2099200,2097152,67110914,67110914,69206018,69206018,2,2097154,67108864,67110912,2097152,69208064,2050,2099202,69208064,2050,67108866,69208066,69206016,2099200,0,2,69208066,0,2099202,69206016,2048,67108866,67110912,2048,2097154],y=[268439616,4096,262144,268701760,268435456,268439616,64,268435456,262208,268697600,268701760,266240,268701696,266304,4096,64,268697600,268435520,268439552,4160,266240,262208,268697664,268701696,4160,0,0,268697664,268435520,268439552,266304,262144,266304,262144,268701696,4096,64,268697664,4096,266304,268439552,64,268435520,268697600,268697664,268435456,262144,268439616,0,268701760,262208,268435520,268697600,268439552,268439616,0,268701760,266240,266240,4160,4160,262208,268435456,268701696]},function(e,t,r){function a(e,t,r){var a=p.util.createBuffer(),n=Math.ceil(t.n.bitLength()/8);if(e.length>n-11){var i=new Error("Message is too long for PKCS#1 v1.5 padding.");throw i.length=e.length,i.max=n-11,i}a.putByte(0),a.putByte(r);var s,o=n-3-e.length;if(0===r||1===r){s=0===r?0:255;for(var c=0;c0;){for(var u=0,l=p.random.getBytes(o),c=0;c1;){if(255!==i.getByte()){--i.read;break}++c}else if(2===o)for(c=0;i.length()>1;){if(0===i.getByte()){--i.read;break}++c}if(0!==i.getByte()||c!==n-3-i.length())throw new Error("Encryption block is invalid.");return i.getBytes()}function i(e,t,r){function a(){n(e.pBits,function(t,a){return t?r(t):(e.p=a,null!==e.q?i(t,e.q):void n(e.qBits,i))})}function n(e,t){p.prime.generateProbablePrime(e,s,t)}function i(t,s){if(t)return r(t);if(e.q=s,e.p.compareTo(e.q)<0){var o=e.p;e.p=e.q,e.q=o}if(0!==e.p.subtract(f.ONE).gcd(e.e).compareTo(f.ONE))return e.p=null,void a();if(0!==e.q.subtract(f.ONE).gcd(e.e).compareTo(f.ONE))return e.q=null,void n(e.qBits,i);if(e.p1=e.p.subtract(f.ONE),e.q1=e.q.subtract(f.ONE),e.phi=e.p1.multiply(e.q1),0!==e.phi.gcd(e.e).compareTo(f.ONE))return e.p=e.q=null,void a();if(e.n=e.p.multiply(e.q),e.n.bitLength()!==e.bits)return e.q=null,void n(e.qBits,i);var c=e.e.modInverse(e.phi);e.keys={privateKey:d.rsa.setPrivateKey(e.n,e.e,c,e.p,e.q,c.mod(e.p1),c.mod(e.q1),e.q.modInverse(e.p)),publicKey:d.rsa.setPublicKey(e.n,e.e)},r(null,e.keys)}"function"==typeof t&&(r=t,t={}),t=t||{};var s={algorithm:{name:t.algorithm||"PRIMEINC",options:{workers:t.workers||2,workLoad:t.workLoad||100,workerScript:t.workerScript}}};"prng"in t&&(s.prng=t.prng),a()}function s(e){var t=e.toString(16);t[0]>="8"&&(t="00"+t);var r=p.util.hexToBytes(t);return r.length>1&&(0===r.charCodeAt(0)&&0==(128&r.charCodeAt(1))||255===r.charCodeAt(0)&&128==(128&r.charCodeAt(1)))?r.substr(1):r}function o(e){return e<=100?27:e<=150?18:e<=200?15:e<=250?12:e<=300?9:e<=350?8:e<=400?7:e<=500?6:e<=600?5:e<=800?4:e<=1250?3:2}function c(e){return"undefined"!=typeof window&&"object"==typeof window.crypto&&"object"==typeof window.crypto.subtle&&"function"==typeof window.crypto.subtle[e]}function u(e){return"undefined"!=typeof window&&"object"==typeof window.msCrypto&&"object"==typeof window.msCrypto.subtle&&"function"==typeof window.msCrypto.subtle[e]}function l(e){for(var t=p.util.hexToBytes(e.toString(16)),r=new Uint8Array(t.length),a=0;a=0||!a.gcd(t.n).equals(f.ONE));e=e.multiply(a.modPow(t.e,t.n)).mod(t.n);for(var n=e.mod(t.p).modPow(t.dP,t.p),i=e.mod(t.q).modPow(t.dQ,t.q);n.compareTo(i)<0;)n=n.add(t.p);var s=n.subtract(i).multiply(t.qInv).mod(t.p).multiply(t.q).add(i);return s=s.multiply(a.modInverse(t.n)).mod(t.n)};d.rsa.encrypt=function(e,t,r){var n,i=r,s=Math.ceil(t.n.bitLength()/8);!1!==r&&!0!==r?(i=2===r,n=a(e,t,r)):(n=p.util.createBuffer(),n.putBytes(e));for(var o=new f(n.toHex(),16),c=S(o,t,i),u=c.toString(16),l=p.util.createBuffer(),h=s-Math.ceil(u.length/2);h>0;)l.putByte(0),--h;return l.putBytes(p.util.hexToBytes(u)),l.getBytes()},d.rsa.decrypt=function(e,t,r,a){var i=Math.ceil(t.n.bitLength()/8);if(e.length!==i){var s=new Error("Encrypted message length is invalid.");throw s.length=e.length,s.expected=i,s}var o=new f(p.util.createBuffer(e).toHex(),16);if(o.compareTo(t.n)>=0)throw new Error("Encrypted message is invalid.");for(var c=S(o,t,r),u=c.toString(16),l=p.util.createBuffer(),h=i-Math.ceil(u.length/2);h>0;)l.putByte(0),--h;return l.putBytes(p.util.hexToBytes(u)),!1!==a?n(l.getBytes(),t,r):l.getBytes()},d.rsa.createKeyPairGenerationState=function(e,t,r){"string"==typeof e&&(e=parseInt(e,10)),e=e||2048,r=r||{};var a,n=r.prng||p.random,i={nextBytes:function(e){for(var t=n.getBytesSync(e.length),r=0;r>1,pBits:e-(e>>1),pqState:0,num:null,keys:null},a.e.fromInt(a.eInt),a},d.rsa.stepKeyPairGenerationState=function(e,t){"algorithm"in e||(e.algorithm="PRIMEINC");var r=new f(null);r.fromInt(30);for(var a,n=0,i=function(e,t){return e|t},s=+new Date,c=0;null===e.keys&&(t<=0||cu?e.pqState=0:e.num.isProbablePrime(o(e.num.bitLength()))?++e.pqState:e.num.dAddOffset(y[n++%8],0):2===e.pqState?e.pqState=0===e.num.subtract(f.ONE).gcd(e.e).compareTo(f.ONE)?3:0:3===e.pqState&&(e.pqState=0,null===e.p?e.p=e.num:e.q=e.num,null!==e.p&&null!==e.q&&++e.state,e.num=null)}else if(1===e.state)e.p.compareTo(e.q)<0&&(e.num=e.p,e.p=e.q,e.q=e.num),++e.state;else if(2===e.state)e.p1=e.p.subtract(f.ONE),e.q1=e.q.subtract(f.ONE),e.phi=e.p1.multiply(e.q1),++e.state;else if(3===e.state)0===e.phi.gcd(e.e).compareTo(f.ONE)?++e.state:(e.p=null,e.q=null,e.state=0);else if(4===e.state)e.n=e.p.multiply(e.q),e.n.bitLength()===e.bits?++e.state:(e.q=null,e.state=0);else if(5===e.state){var p=e.e.modInverse(e.phi);e.keys={privateKey:d.rsa.setPrivateKey(e.n,e.e,p,e.p,e.q,p.mod(e.p1),p.mod(e.q1),e.q.modInverse(e.p)),publicKey:d.rsa.setPublicKey(e.n,e.e)}}a=+new Date,c+=a-s,s=a}return null!==e.keys},d.rsa.generateKeyPair=function(e,t,r,a){if(1===arguments.length?"object"==typeof e?(r=e,e=void 0):"function"==typeof e&&(a=e,e=void 0):2===arguments.length?"number"==typeof e?"function"==typeof t?(a=t,t=void 0):"number"!=typeof t&&(r=t,t=void 0):(r=e,a=t,e=void 0,t=void 0):3===arguments.length&&("number"==typeof t?"function"==typeof r&&(a=r,r=void 0):(a=r,r=t,t=void 0)),r=r||{},void 0===e&&(e=r.bits||2048),void 0===t&&(t=r.e||65537),!p.options.usePureJavaScript&&a&&e>=256&&e<=16384&&(65537===t||3===t)){if(c("generateKey")&&c("exportKey"))return window.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:l(t),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(e){return window.crypto.subtle.exportKey("pkcs8",e.privateKey)}).then(void 0,function(e){a(e)}).then(function(e){if(e){var t=d.privateKeyFromAsn1(h.fromDer(p.util.createBuffer(e)));a(null,{privateKey:t,publicKey:d.setRsaPublicKey(t.n,t.e)})}});if(u("generateKey")&&u("exportKey")){var n=window.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:l(t),hash:{name:"SHA-256"}},!0,["sign","verify"]);return n.oncomplete=function(e){var t=e.target.result,r=window.msCrypto.subtle.exportKey("pkcs8",t.privateKey);r.oncomplete=function(e){var t=e.target.result,r=d.privateKeyFromAsn1(h.fromDer(p.util.createBuffer(t)));a(null,{privateKey:r,publicKey:d.setRsaPublicKey(r.n,r.e)})},r.onerror=function(e){a(e)}},void(n.onerror=function(e){a(e)})}}var s=d.rsa.createKeyPairGenerationState(e,t,r);if(!a)return d.rsa.stepKeyPairGenerationState(s,0),s.keys;i(s,r,a)},d.setRsaPublicKey=d.rsa.setPublicKey=function(e,t){var r={n:e,e:t};return r.encrypt=function(e,t,n){if("string"==typeof t?t=t.toUpperCase():void 0===t&&(t="RSAES-PKCS1-V1_5"),"RSAES-PKCS1-V1_5"===t)t={encode:function(e,t,r){return a(e,t,2).getBytes()}};else if("RSA-OAEP"===t||"RSAES-OAEP"===t)t={encode:function(e,t){return p.pkcs1.encode_rsa_oaep(t,e,n)}};else if(-1!==["RAW","NONE","NULL",null].indexOf(t))t={encode:function(e){return e}};else if("string"==typeof t)throw new Error('Unsupported encryption scheme: "'+t+'".');var i=t.encode(e,r,!0);return d.rsa.encrypt(i,r,!0)},r.verify=function(e,t,a){"string"==typeof a?a=a.toUpperCase():void 0===a&&(a="RSASSA-PKCS1-V1_5"),"RSASSA-PKCS1-V1_5"===a?a={verify:function(e,t){return t=n(t,r,!0),e===h.fromDer(t).value[1].value}}:"NONE"!==a&&"NULL"!==a&&null!==a||(a={verify:function(e,t){return t=n(t,r,!0),e===t}});var i=d.rsa.decrypt(t,r,!0,!1);return a.verify(e,i,r.n.bitLength())},r},d.setRsaPrivateKey=d.rsa.setPrivateKey=function(e,t,r,a,i,s,o,c){var u={n:e,e:t,d:r,p:a,q:i,dP:s,dQ:o,qInv:c};return u.decrypt=function(e,t,r){"string"==typeof t?t=t.toUpperCase():void 0===t&&(t="RSAES-PKCS1-V1_5");var a=d.rsa.decrypt(e,u,!1,!1);if("RSAES-PKCS1-V1_5"===t)t={decode:n};else if("RSA-OAEP"===t||"RSAES-OAEP"===t)t={decode:function(e,t){return p.pkcs1.decode_rsa_oaep(t,e,r)}};else{if(-1===["RAW","NONE","NULL",null].indexOf(t))throw new Error('Unsupported encryption scheme: "'+t+'".');t={decode:function(e){return e}}}return t.decode(a,u,!1)},u.sign=function(e,t){var r=!1;"string"==typeof t&&(t=t.toUpperCase()),void 0===t||"RSASSA-PKCS1-V1_5"===t?(t={encode:E},r=1):"NONE"!==t&&"NULL"!==t&&null!==t||(t={encode:function(){return e}},r=1);var a=t.encode(e,u.n.bitLength());return d.rsa.encrypt(a,u,r)},u},d.wrapRsaPrivateKey=function(e){return h.create(h.Class.UNIVERSAL,h.Type.SEQUENCE,!0,[h.create(h.Class.UNIVERSAL,h.Type.INTEGER,!1,h.integerToDer(0).getBytes()),h.create(h.Class.UNIVERSAL,h.Type.SEQUENCE,!0,[h.create(h.Class.UNIVERSAL,h.Type.OID,!1,h.oidToDer(d.oids.rsaEncryption).getBytes()),h.create(h.Class.UNIVERSAL,h.Type.NULL,!1,"")]),h.create(h.Class.UNIVERSAL,h.Type.OCTETSTRING,!1,h.toDer(e).getBytes())])},d.privateKeyFromAsn1=function(e){var t={},r=[];if(h.validate(e,g,t,r)&&(e=h.fromDer(p.util.createBuffer(t.privateKey))),t={},r=[],!h.validate(e,v,t,r)){var a=new Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey.");throw a.errors=r,a}var n,i,s,o,c,u,l,y;return n=p.util.createBuffer(t.privateKeyModulus).toHex(),i=p.util.createBuffer(t.privateKeyPublicExponent).toHex(),s=p.util.createBuffer(t.privateKeyPrivateExponent).toHex(),o=p.util.createBuffer(t.privateKeyPrime1).toHex(),c=p.util.createBuffer(t.privateKeyPrime2).toHex(),u=p.util.createBuffer(t.privateKeyExponent1).toHex(),l=p.util.createBuffer(t.privateKeyExponent2).toHex(),y=p.util.createBuffer(t.privateKeyCoefficient).toHex(),d.setRsaPrivateKey(new f(n,16),new f(i,16),new f(s,16),new f(o,16),new f(c,16),new f(u,16),new f(l,16),new f(y,16))},d.privateKeyToAsn1=d.privateKeyToRSAPrivateKey=function(e){return h.create(h.Class.UNIVERSAL,h.Type.SEQUENCE,!0,[h.create(h.Class.UNIVERSAL,h.Type.INTEGER,!1,h.integerToDer(0).getBytes()),h.create(h.Class.UNIVERSAL,h.Type.INTEGER,!1,s(e.n)),h.create(h.Class.UNIVERSAL,h.Type.INTEGER,!1,s(e.e)),h.create(h.Class.UNIVERSAL,h.Type.INTEGER,!1,s(e.d)),h.create(h.Class.UNIVERSAL,h.Type.INTEGER,!1,s(e.p)),h.create(h.Class.UNIVERSAL,h.Type.INTEGER,!1,s(e.q)),h.create(h.Class.UNIVERSAL,h.Type.INTEGER,!1,s(e.dP)),h.create(h.Class.UNIVERSAL,h.Type.INTEGER,!1,s(e.dQ)),h.create(h.Class.UNIVERSAL,h.Type.INTEGER,!1,s(e.qInv))])},d.publicKeyFromAsn1=function(e){var t={},r=[];if(h.validate(e,C,t,r)){var a=h.derToOid(t.publicKeyOid);if(a!==d.oids.rsaEncryption){var n=new Error("Cannot read public key. Unknown OID.");throw n.oid=a,n}e=t.rsaPublicKey}if(r=[],!h.validate(e,m,t,r)){var n=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");throw n.errors=r,n}var i=p.util.createBuffer(t.publicKeyModulus).toHex(),s=p.util.createBuffer(t.publicKeyExponent).toHex();return d.setRsaPublicKey(new f(i,16),new f(s,16))},d.publicKeyToAsn1=d.publicKeyToSubjectPublicKeyInfo=function(e){return h.create(h.Class.UNIVERSAL,h.Type.SEQUENCE,!0,[h.create(h.Class.UNIVERSAL,h.Type.SEQUENCE,!0,[h.create(h.Class.UNIVERSAL,h.Type.OID,!1,h.oidToDer(d.oids.rsaEncryption).getBytes()),h.create(h.Class.UNIVERSAL,h.Type.NULL,!1,"")]),h.create(h.Class.UNIVERSAL,h.Type.BITSTRING,!1,[d.publicKeyToRSAPublicKey(e)])])},d.publicKeyToRSAPublicKey=function(e){return h.create(h.Class.UNIVERSAL,h.Type.SEQUENCE,!0,[h.create(h.Class.UNIVERSAL,h.Type.INTEGER,!1,s(e.n)),h.create(h.Class.UNIVERSAL,h.Type.INTEGER,!1,s(e.e))])}},function(e,t,r){function a(e,t,r){this.data=[],null!=e&&("number"==typeof e?this.fromNumber(e,t,r):null==t&&"string"!=typeof e?this.fromString(e,256):this.fromString(e,t))}function n(){return new a(null)}function i(e,t,r,a,n,i){for(;--i>=0;){var s=t*this.data[e++]+r.data[a]+n;n=Math.floor(s/67108864),r.data[a++]=67108863&s}return n}function s(e,t,r,a,n,i){for(var s=32767&t,o=t>>15;--i>=0;){var c=32767&this.data[e],u=this.data[e++]>>15,l=o*c+u*s;c=s*c+((32767&l)<<15)+r.data[a]+(1073741823&n),n=(c>>>30)+(l>>>15)+o*u+(n>>>30),r.data[a++]=1073741823&c}return n}function o(e,t,r,a,n,i){for(var s=16383&t,o=t>>14;--i>=0;){var c=16383&this.data[e],u=this.data[e++]>>14,l=o*c+u*s;c=s*c+((16383&l)<<14)+r.data[a]+n,n=(c>>28)+(l>>14)+o*u,r.data[a++]=268435455&c}return n}function c(e){return it.charAt(e)}function u(e,t){var r=st[e.charCodeAt(t)];return null==r?-1:r}function l(e){for(var t=this.t-1;t>=0;--t)e.data[t]=this.data[t];e.t=this.t,e.s=this.s}function p(e){this.t=1,this.s=e<0?-1:0,e>0?this.data[0]=e:e<-1?this.data[0]=e+this.DV:this.t=0}function f(e){var t=n();return t.fromInt(e),t}function h(e,t){var r;if(16==t)r=4;else if(8==t)r=3;else if(256==t)r=8;else if(2==t)r=1;else if(32==t)r=5;else{if(4!=t)return void this.fromRadix(e,t);r=2}this.t=0,this.s=0;for(var n=e.length,i=!1,s=0;--n>=0;){var o=8==r?255&e[n]:u(e,n);o<0?"-"==e.charAt(n)&&(i=!0):(i=!1,0==s?this.data[this.t++]=o:s+r>this.DB?(this.data[this.t-1]|=(o&(1<>this.DB-s):this.data[this.t-1]|=o<=this.DB&&(s-=this.DB))}8==r&&0!=(128&e[0])&&(this.s=-1,s>0&&(this.data[this.t-1]|=(1<0&&this.data[this.t-1]==e;)--this.t}function y(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(16==e)t=4;else if(8==e)t=3;else if(2==e)t=1;else if(32==e)t=5;else{if(4!=e)return this.toRadix(e);t=2}var r,a=(1<0)for(o>o)>0&&(n=!0,i=c(r));s>=0;)o>(o+=this.DB-t)):(r=this.data[s]>>(o-=t)&a,o<=0&&(o+=this.DB,--s)),r>0&&(n=!0),n&&(i+=c(r));return n?i:"0"}function g(){var e=n();return a.ZERO.subTo(this,e),e}function v(){return this.s<0?this.negate():this}function m(e){var t=this.s-e.s;if(0!=t)return t;var r=this.t;if(0!=(t=r-e.t))return this.s<0?-t:t;for(;--r>=0;)if(0!=(t=this.data[r]-e.data[r]))return t;return 0}function C(e){var t,r=1;return 0!=(t=e>>>16)&&(e=t,r+=16),0!=(t=e>>8)&&(e=t,r+=8),0!=(t=e>>4)&&(e=t,r+=4),0!=(t=e>>2)&&(e=t,r+=2),0!=(t=e>>1)&&(e=t,r+=1),r}function E(){return this.t<=0?0:this.DB*(this.t-1)+C(this.data[this.t-1]^this.s&this.DM)}function S(e,t){var r;for(r=this.t-1;r>=0;--r)t.data[r+e]=this.data[r];for(r=e-1;r>=0;--r)t.data[r]=0;t.t=this.t+e,t.s=this.s}function T(e,t){for(var r=e;r=0;--r)t.data[r+s+1]=this.data[r]>>n|o,o=(this.data[r]&i)<=0;--r)t.data[r]=0;t.data[s]=o,t.t=this.t+s+1,t.s=this.s,t.clamp()}function b(e,t){t.s=this.s;var r=Math.floor(e/this.DB);if(r>=this.t)return void(t.t=0);var a=e%this.DB,n=this.DB-a,i=(1<>a;for(var s=r+1;s>a;a>0&&(t.data[this.t-r-1]|=(this.s&i)<>=this.DB;if(e.t>=this.DB;a+=this.s}else{for(a+=this.s;r>=this.DB;a-=e.s}t.s=a<0?-1:0,a<-1?t.data[r++]=this.DV+a:a>0&&(t.data[r++]=a),t.t=r,t.clamp()}function B(e,t){var r=this.abs(),n=e.abs(),i=r.t;for(t.t=i+n.t;--i>=0;)t.data[i]=0;for(i=0;i=0;)e.data[r]=0;for(r=0;r=t.DV&&(e.data[r+t.t]-=t.DV,e.data[r+t.t+1]=1)}e.t>0&&(e.data[e.t-1]+=t.am(r,t.data[r],e,2*r,0,1)),e.s=0,e.clamp()}function w(e,t,r){var i=e.abs();if(!(i.t<=0)){var s=this.abs();if(s.t0?(i.lShiftTo(l,o),s.lShiftTo(l,r)):(i.copyTo(o),s.copyTo(r));var p=o.t,f=o.data[p-1];if(0!=f){var h=f*(1<1?o.data[p-2]>>this.F2:0),d=this.FV/h,y=(1<=0&&(r.data[r.t++]=1,r.subTo(E,r)),a.ONE.dlShiftTo(p,E),E.subTo(o,o);o.t=0;){var S=r.data[--v]==f?this.DM:Math.floor(r.data[v]*d+(r.data[v-1]+g)*y);if((r.data[v]+=o.am(0,S,r,m,0,p))0&&r.rShiftTo(l,r),c<0&&a.ZERO.subTo(r,r)}}}function k(e){var t=n();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(a.ZERO)>0&&e.subTo(t,t),t}function R(e){this.m=e}function _(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e}function L(e){return e}function U(e){e.divRemTo(this.m,null,e)}function D(e,t,r){e.multiplyTo(t,r),this.reduce(r)}function P(e,t){e.squareTo(t),this.reduce(t)}function V(){if(this.t<1)return 0;var e=this.data[0];if(0==(1&e))return 0;var t=3&e;return t=t*(2-(15&e)*t)&15,t=t*(2-(255&e)*t)&255,t=t*(2-((65535&e)*t&65535))&65535,t=t*(2-e*t%this.DV)%this.DV,t>0?this.DV-t:-t}function O(e){this.m=e,this.mp=e.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<0&&this.m.subTo(t,t),t}function K(e){var t=n();return e.copyTo(t),this.reduce(t),t}function M(e){for(;e.t<=this.mt2;)e.data[e.t++]=0;for(var t=0;t>15)*this.mpl&this.um)<<15)&e.DM;for(r=t+this.m.t,e.data[r]+=this.m.am(0,a,e,t,0,this.m.t);e.data[r]>=e.DV;)e.data[r]-=e.DV,e.data[++r]++}e.clamp(),e.drShiftTo(this.m.t,e),e.compareTo(this.m)>=0&&e.subTo(this.m,e)}function F(e,t){e.squareTo(t),this.reduce(t)}function q(e,t,r){e.multiplyTo(t,r),this.reduce(r)}function j(){return 0==(this.t>0?1&this.data[0]:this.s)}function H(e,t){if(e>4294967295||e<1)return a.ONE;var r=n(),i=n(),s=t.convert(this),o=C(e)-1;for(s.copyTo(r);--o>=0;)if(t.sqrTo(r,i),(e&1<0)t.mulTo(i,s,r);else{var c=r;r=i,i=c}return t.revert(r)}function G(e,t){var r;return r=e<256||t.isEven()?new R(t):new O(t),this.exp(e,r)}function Q(){var e=n();return this.copyTo(e),e}function z(){if(this.s<0){if(1==this.t)return this.data[0]-this.DV;if(0==this.t)return-1}else{if(1==this.t)return this.data[0];if(0==this.t)return 0}return(this.data[1]&(1<<32-this.DB)-1)<>24}function Y(){return 0==this.t?this.s:this.data[0]<<16>>16}function X(e){return Math.floor(Math.LN2*this.DB/Math.log(e))}function Z(){return this.s<0?-1:this.t<=0||1==this.t&&this.data[0]<=0?0:1}function J(e){if(null==e&&(e=10),0==this.signum()||e<2||e>36)return"0";var t=this.chunkSize(e),r=Math.pow(e,t),a=f(r),i=n(),s=n(),o="";for(this.divRemTo(a,i,s);i.signum()>0;)o=(r+s.intValue()).toString(e).substr(1)+o,i.divRemTo(a,i,s);return s.intValue().toString(e)+o}function $(e,t){this.fromInt(0),null==t&&(t=10);for(var r=this.chunkSize(t),n=Math.pow(t,r),i=!1,s=0,o=0,c=0;c=r&&(this.dMultiply(n),this.dAddOffset(o,0),s=0,o=0))}s>0&&(this.dMultiply(Math.pow(t,s)),this.dAddOffset(o,0)),i&&a.ZERO.subTo(this,this)}function ee(e,t,r){if("number"==typeof t)if(e<2)this.fromInt(1);else for(this.fromNumber(e,r),this.testBit(e-1)||this.bitwiseTo(a.ONE.shiftLeft(e-1),ce,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(t);)this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(a.ONE.shiftLeft(e-1),this);else{var n=new Array,i=7&e;n.length=1+(e>>3),t.nextBytes(n),i>0?n[0]&=(1<0)for(a>a)!=(this.s&this.DM)>>a&&(t[n++]=r|this.s<=0;)a<8?(r=(this.data[e]&(1<>(a+=this.DB-8)):(r=this.data[e]>>(a-=8)&255,a<=0&&(a+=this.DB,--e)),0!=(128&r)&&(r|=-256),0==n&&(128&this.s)!=(128&r)&&++n,(n>0||r!=this.s)&&(t[n++]=r);return t}function re(e){return 0==this.compareTo(e)}function ae(e){return this.compareTo(e)<0?this:e}function ne(e){return this.compareTo(e)>0?this:e}function ie(e,t,r){var a,n,i=Math.min(e.t,this.t);for(a=0;a>=16,t+=16),0==(255&e)&&(e>>=8,t+=8),0==(15&e)&&(e>>=4,t+=4),0==(3&e)&&(e>>=2,t+=2),0==(1&e)&&++t,t}function me(){for(var e=0;e=this.t?0!=this.s:0!=(this.data[t]&1<>=this.DB;if(e.t>=this.DB;a+=this.s}else{for(a+=this.s;r>=this.DB;a+=e.s}t.s=a<0?-1:0,a>0?t.data[r++]=a:a<-1&&(t.data[r++]=this.DV+a),t.t=r,t.clamp()}function Ne(e){var t=n();return this.addTo(e,t),t}function we(e){var t=n();return this.subTo(e,t),t}function ke(e){var t=n();return this.multiplyTo(e,t),t}function Re(e){var t=n();return this.divRemTo(e,t,null),t}function _e(e){var t=n();return this.divRemTo(e,null,t),t}function Le(e){var t=n(),r=n();return this.divRemTo(e,t,r),new Array(t,r)}function Ue(e){this.data[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()}function De(e,t){if(0!=e){for(;this.t<=t;)this.data[this.t++]=0;for(this.data[t]+=e;this.data[t]>=this.DV;)this.data[t]-=this.DV,++t>=this.t&&(this.data[this.t++]=0),++this.data[t]}}function Pe(){}function Ve(e){return e}function Oe(e,t,r){e.multiplyTo(t,r)}function xe(e,t){e.squareTo(t)}function Ke(e){return this.exp(e,new Pe)}function Me(e,t,r){var a=Math.min(this.t+e.t,t);for(r.s=0,r.t=a;a>0;)r.data[--a]=0;var n;for(n=r.t-this.t;a=0;)r.data[a]=0;for(a=Math.max(t-this.t,0);a2*this.m.t)return e.mod(this.m);if(e.compareTo(this.m)<0)return e;var t=n();return e.copyTo(t),this.reduce(t),t}function He(e){return e}function Ge(e){for(e.drShiftTo(this.m.t-1,this.r2),e.t>this.m.t+1&&(e.t=this.m.t+1,e.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);e.compareTo(this.r2)<0;)e.dAddOffset(1,this.m.t+1);for(e.subTo(this.r2,e);e.compareTo(this.m)>=0;)e.subTo(this.m,e)}function Qe(e,t){e.squareTo(t),this.reduce(t)}function ze(e,t,r){e.multiplyTo(t,r),this.reduce(r)}function We(e,t){var r,a,i=e.bitLength(),s=f(1);if(i<=0)return s;r=i<18?1:i<48?3:i<144?4:i<768?5:6,a=i<8?new R(t):t.isEven()?new qe(t):new O(t);var o=new Array,c=3,u=r-1,l=(1<1){var p=n();for(a.sqrTo(o[1],p);c<=l;)o[c]=n(),a.mulTo(p,o[c-2],o[c]),c+=2}var h,d,y=e.t-1,g=!0,v=n();for(i=C(e.data[y])-1;y>=0;){for(i>=u?h=e.data[y]>>i-u&l:(h=(e.data[y]&(1<0&&(h|=e.data[y-1]>>this.DB+i-u)),c=r;0==(1&h);)h>>=1,--c;if((i-=c)<0&&(i+=this.DB,--y),g)o[h].copyTo(s),g=!1;else{for(;c>1;)a.sqrTo(s,v),a.sqrTo(v,s),c-=2;c>0?a.sqrTo(s,v):(d=s,s=v,v=d),a.mulTo(v,o[h],s)}for(;y>=0&&0==(e.data[y]&1<0&&(t.rShiftTo(i,t),r.rShiftTo(i,r));t.signum()>0;)(n=t.getLowestSetBit())>0&&t.rShiftTo(n,t),(n=r.getLowestSetBit())>0&&r.rShiftTo(n,r),t.compareTo(r)>=0?(t.subTo(r,t),t.rShiftTo(1,t)):(r.subTo(t,r),r.rShiftTo(1,r));return i>0&&r.lShiftTo(i,r),r}function Xe(e){if(e<=0)return 0;var t=this.DV%e,r=this.s<0?e-1:0;if(this.t>0)if(0==t)r=this.data[0]%e;else for(var a=this.t-1;a>=0;--a)r=(t*r+this.data[a])%e;return r}function Ze(e){var t=e.isEven();if(this.isEven()&&t||0==e.signum())return a.ZERO;for(var r=e.clone(),n=this.clone(),i=f(1),s=f(0),o=f(0),c=f(1);0!=r.signum();){for(;r.isEven();)r.rShiftTo(1,r),t?(i.isEven()&&s.isEven()||(i.addTo(this,i),s.subTo(e,s)),i.rShiftTo(1,i)):s.isEven()||s.subTo(e,s),s.rShiftTo(1,s);for(;n.isEven();)n.rShiftTo(1,n),t?(o.isEven()&&c.isEven()||(o.addTo(this,o),c.subTo(e,c)),o.rShiftTo(1,o)):c.isEven()||c.subTo(e,c),c.rShiftTo(1,c);r.compareTo(n)>=0?(r.subTo(n,r),t&&i.subTo(o,i),s.subTo(c,s)):(n.subTo(r,n),t&&o.subTo(i,o),c.subTo(s,c))}return 0!=n.compareTo(a.ONE)?a.ZERO:c.compareTo(e)>=0?c.subtract(e):c.signum()<0?(c.addTo(e,c),c.signum()<0?c.add(e):c):c}function Je(e){var t,r=this.abs();if(1==r.t&&r.data[0]<=ot[ot.length-1]){for(t=0;t=0);var c=n.modPow(i,this);if(0!=c.compareTo(a.ONE)&&0!=c.compareTo(t)){for(var u=1;u++=64;){for(n=e.h0,i=e.h1,s=e.h2,o=e.h3,h=0;h<16;++h)t[h]=r.getInt32Le(),p=o^i&(s^o),a=n+p+l[h]+t[h],f=u[h],n=o,o=s,s=i,i+=a<>>32-f;for(;h<32;++h)p=s^o&(i^s),a=n+p+l[h]+t[c[h]],f=u[h],n=o,o=s,s=i,i+=a<>>32-f;for(;h<48;++h)p=i^s^o,a=n+p+l[h]+t[c[h]],f=u[h],n=o,o=s,s=i,i+=a<>>32-f;for(;h<64;++h)p=s^(i|~o),a=n+p+l[h]+t[c[h]],f=u[h],n=o,o=s,s=i,i+=a<>>32-f;e.h0=e.h0+n|0,e.h1=e.h1+i|0,e.h2=e.h2+s|0,e.h3=e.h3+o|0,d-=64}}var i=r(0);r(4),r(1);var s=e.exports=i.md5=i.md5||{};i.md.md5=i.md.algorithms.md5=s,s.create=function(){p||a();var e=null,t=i.util.createBuffer(),r=new Array(16),s={algorithm:"md5",blockLength:64,digestLength:16,messageLength:0,fullMessageLength:null,messageLengthSize:8};return s.start=function(){s.messageLength=0,s.fullMessageLength=s.messageLength64=[];for(var r=s.messageLengthSize/4,a=0;a>>0,c>>>0];for(var u=s.fullMessageLength.length-1;u>=0;--u)s.fullMessageLength[u]+=c[1],c[1]=c[0]+(s.fullMessageLength[u]/4294967296>>>0),s.fullMessageLength[u]=s.fullMessageLength[u]>>>0,c[0]=c[1]/4294967296>>>0;return t.putBytes(a),n(e,r,t),(t.read>2048||0===t.length())&&t.compact(),s},s.digest=function(){var a=i.util.createBuffer();a.putBytes(t.bytes());var c=s.fullMessageLength[s.fullMessageLength.length-1]+s.messageLengthSize,u=c&s.blockLength-1;a.putBytes(o.substr(0,s.blockLength-u));for(var l,p=0,f=s.fullMessageLength.length-1;f>=0;--f)l=8*s.fullMessageLength[f]+p,p=l/4294967296>>>0,a.putInt32Le(l>>>0);var h={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3};n(h,r,a);var d=i.util.createBuffer();return d.putInt32Le(h.h0),d.putInt32Le(h.h1),d.putInt32Le(h.h2),d.putInt32Le(h.h3),d},s};var o=null,c=null,u=null,l=null,p=!1},function(e,t,r){var a=r(0);r(8),r(4),r(1);var n,i=a.pkcs5=a.pkcs5||{};a.util.isNodejs&&!a.options.usePureJavaScript&&(n=r(22)),e.exports=a.pbkdf2=i.pbkdf2=function(e,t,r,i,s,o){function c(){if(C>f)return o(null,m);d.start(null,null),d.update(t),d.update(a.util.int32ToBytes(C)),y=v=d.digest().getBytes(),E=2,u()}function u(){if(E<=r)return d.start(null,null),d.update(v),g=d.digest().getBytes(),y=a.util.xorBytes(y,g,l),v=g,++E,a.util.setImmediate(u);m+=C4||!s||"sha1"===s))return"string"!=typeof s&&(s="sha1"),e=new Buffer(e,"binary"),t=new Buffer(t,"binary"),o?4===n.pbkdf2Sync.length?n.pbkdf2(e,t,r,i,function(e,t){if(e)return o(e);o(null,t.toString("binary"))}):n.pbkdf2(e,t,r,i,s,function(e,t){if(e)return o(e);o(null,t.toString("binary"))}):4===n.pbkdf2Sync.length?n.pbkdf2Sync(e,t,r,i).toString("binary"):n.pbkdf2Sync(e,t,r,i,s).toString("binary");if(void 0!==s&&null!==s||(s="sha1"),"string"==typeof s){if(!(s in a.md.algorithms))throw new Error("Unknown hash algorithm: "+s);s=a.md[s].create()}var l=s.digestLength;if(i>4294967295*l){var p=new Error("Derived key is too long.");if(o)return o(p);throw p}var f=Math.ceil(i/l),h=i-(f-1)*l,d=a.hmac.create();d.start(s,e);var y,g,v,m="";if(!o){for(var C=1;C<=f;++C){d.start(null,null),d.update(t),d.update(a.util.int32ToBytes(C)),y=v=d.digest().getBytes();for(var E=2;E<=r;++E)d.start(null,null),d.update(v),g=d.digest().getBytes(),y=a.util.xorBytes(y,g,l),v=g;m+=C2)throw new Error("Cannot read notBefore/notAfter validity times; more than two times were provided in the certificate.");if(d.length<2)throw new Error("Cannot read notBefore/notAfter validity times; they were not provided as either UTCTime or GeneralizedTime.");if(c.validity.notBefore=d[0],c.validity.notAfter=d[1],c.tbsCertificate=r.tbsCertificate,t){if(c.md=null,c.signatureOid in f){var o=f[c.signatureOid];switch(o){case"sha1WithRSAEncryption":c.md=u.md.sha1.create();break;case"md5WithRSAEncryption":c.md=u.md.md5.create();break;case"sha256WithRSAEncryption":c.md=u.md.sha256.create();break;case"sha384WithRSAEncryption":c.md=u.md.sha384.create();break;case"sha512WithRSAEncryption":c.md=u.md.sha512.create();break;case"RSASSA-PSS":c.md=u.md.sha256.create()}}if(null===c.md){var s=new Error("Could not compute certificate digest. Unknown signature OID.");throw s.signatureOid=c.signatureOid,s}var g=l.toDer(c.tbsCertificate);c.md.update(g.getBytes())}var v=u.md.sha1.create();c.issuer.getField=function(e){return a(c.issuer,e)},c.issuer.addField=function(e){i([e]),c.issuer.attributes.push(e)},c.issuer.attributes=p.RDNAttributesAsArray(r.certIssuer,v),r.certIssuerUniqueId&&(c.issuer.uniqueId=r.certIssuerUniqueId),c.issuer.hash=v.digest().toHex();var m=u.md.sha1.create();return c.subject.getField=function(e){return a(c.subject,e)},c.subject.addField=function(e){i([e]),c.subject.attributes.push(e)},c.subject.attributes=p.RDNAttributesAsArray(r.certSubject,m),r.certSubjectUniqueId&&(c.subject.uniqueId=r.certSubjectUniqueId),c.subject.hash=m.digest().toHex(),r.certExtensions?c.extensions=p.certificateExtensionsFromAsn1(r.certExtensions):c.extensions=[],c.publicKey=p.publicKeyFromAsn1(r.subjectPublicKeyInfo),c},p.certificateExtensionsFromAsn1=function(e){for(var t=[],r=0;r1&&(a=r.value.charCodeAt(1),n=r.value.length>2?r.value.charCodeAt(2):0),t.digitalSignature=128==(128&a),t.nonRepudiation=64==(64&a),t.keyEncipherment=32==(32&a),t.dataEncipherment=16==(16&a),t.keyAgreement=8==(8&a),t.keyCertSign=4==(4&a),t.cRLSign=2==(2&a),t.encipherOnly=1==(1&a),t.decipherOnly=128==(128&n)}else if("basicConstraints"===t.name){var r=l.fromDer(t.value);r.value.length>0&&r.value[0].type===l.Type.BOOLEAN?t.cA=0!==r.value[0].value.charCodeAt(0):t.cA=!1;var i=null;r.value.length>0&&r.value[0].type===l.Type.INTEGER?i=r.value[0].value:r.value.length>1&&(i=r.value[1].value),null!==i&&(t.pathLenConstraint=l.derToInteger(i))}else if("extKeyUsage"===t.name)for(var r=l.fromDer(t.value),s=0;s1&&(a=r.value.charCodeAt(1)),t.client=128==(128&a),t.server=64==(64&a),t.email=32==(32&a),t.objsign=16==(16&a),t.reserved=8==(8&a),t.sslCA=4==(4&a),t.emailCA=2==(2&a),t.objCA=1==(1&a)}else if("subjectAltName"===t.name||"issuerAltName"===t.name){t.altNames=[];for(var c,r=l.fromDer(t.value),p=0;p0&&t.value.push(p.certificateExtensionsToAsn1(e.extensions)),t},p.getCertificationRequestInfo=function(e){return l.create(l.Class.UNIVERSAL,l.Type.SEQUENCE,!0,[l.create(l.Class.UNIVERSAL,l.Type.INTEGER,!1,l.integerToDer(e.version).getBytes()),n(e.subject),p.publicKeyToAsn1(e.publicKey),c(e)])},p.distinguishedNameToAsn1=function(e){return n(e)},p.certificateToAsn1=function(e){var t=e.tbsCertificate||p.getTBSCertificate(e);return l.create(l.Class.UNIVERSAL,l.Type.SEQUENCE,!0,[t,l.create(l.Class.UNIVERSAL,l.Type.SEQUENCE,!0,[l.create(l.Class.UNIVERSAL,l.Type.OID,!1,l.oidToDer(e.signatureOid).getBytes()),o(e.signatureOid,e.signatureParameters)]),l.create(l.Class.UNIVERSAL,l.Type.BITSTRING,!1,String.fromCharCode(0)+e.signature)])},p.certificateExtensionsToAsn1=function(e){var t=l.create(l.Class.CONTEXT_SPECIFIC,3,!0,[]),r=l.create(l.Class.UNIVERSAL,l.Type.SEQUENCE,!0,[]);t.value.push(r);for(var a=0;ac.validity.notAfter)&&(s={message:"Certificate is not valid yet or has expired.",error:p.certificateError.certificate_expired,notBefore:c.validity.notBefore,notAfter:c.validity.notAfter,now:n}),null===s){if(l=t[0]||e.getIssuer(c),null===l&&c.isIssuer(c)&&(f=!0,l=c),l){var h=l;u.util.isArray(h)||(h=[h]);for(var d=!1;!d&&h.length>0;){l=h.shift();try{d=l.verify(c)}catch(e){}}d||(s={message:"Certificate signature is invalid.",error:p.certificateError.bad_certificate})}null!==s||l&&!f||e.hasCertificate(c)||(s={message:"Certificate is not trusted.",error:p.certificateError.unknown_ca})}if(null===s&&l&&!c.isIssuer(l)&&(s={message:"Certificate issuer is invalid.",error:p.certificateError.bad_certificate}),null===s)for(var y={keyUsage:!0,basicConstraints:!0},g=0;null===s&&gm.pathLenConstraint&&(s={message:"Certificate basicConstraints pathLenConstraint violated.",error:p.certificateError.bad_certificate})}}var E=null===s||s.error,S=r?r(E,o,a):E;if(!0!==S)throw!0===E&&(s={message:"The application rejected the certificate.",error:p.certificateError.bad_certificate}),(S||0===S)&&("object"!=typeof S||u.util.isArray(S)?"string"==typeof S&&(s.error=S):(S.message&&(s.message=S.message),S.error&&(s.error=S.error))),s;s=null,i=!1,++o}while(t.length>0);return!0}},function(e,t,r){var a=r(0);r(2),r(1),(e.exports=a.pss=a.pss||{}).create=function(e){3===arguments.length&&(e={md:arguments[0],mgf:arguments[1],saltLength:arguments[2]});var t=e.md,r=e.mgf,n=t.digestLength,i=e.salt||null;"string"==typeof i&&(i=a.util.createBuffer(i));var s;if("saltLength"in e)s=e.saltLength;else{if(null===i)throw new Error("Salt length not specified or specific salt not given.");s=i.length()}if(null!==i&&i.length()!==s)throw new Error("Given salt length does not match length of given salt.");var o=e.prng||a.random,c={};return c.encode=function(e,c){var u,l=c-1,p=Math.ceil(l/8),f=e.digest().getBytes();if(p>8*p-l&255;return(E=String.fromCharCode(E.charCodeAt(0)&~S)+E.substr(1))+y+String.fromCharCode(188)},c.verify=function(e,i,o){var c,u=o-1,l=Math.ceil(u/8);if(i=i.substr(-l),l>8*l-u&255;if(0!=(f.charCodeAt(0)&d))throw new Error("Bits beyond keysize not zero as expected.");var y=r.generate(h,p),g="";for(c=0;c4){var t=e;e=s.util.createBuffer();for(var r=0;r0))return!0;for(var a=0;a0))return!0;for(var a=0;a0)return!1;var r=e.length(),a=e.at(r-1);return!(a>this.blockSize<<2)&&(e.truncate(a),!0)},o.cbc=function(e){e=e||{},this.name="CBC",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)},o.cbc.prototype.start=function(e){if(null===e.iv){if(!this._prev)throw new Error("Invalid IV parameter.");this._iv=this._prev.slice(0)}else{if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=a(e.iv),this._prev=this._iv.slice(0)}},o.cbc.prototype.encrypt=function(e,t,r){if(e.length()0))return!0;for(var a=0;a0))return!0;for(var a=0;a0)return!1;var r=e.length(),a=e.at(r-1);return!(a>this.blockSize<<2)&&(e.truncate(a),!0)},o.cfb=function(e){e=e||{},this.name="CFB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialBlock=new Array(this._ints),this._partialOutput=s.util.createBuffer(),this._partialBytes=0},o.cfb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=a(e.iv),this._inBlock=this._iv.slice(0),this._partialBytes=0},o.cfb.prototype.encrypt=function(e,t,r){var a=e.length();if(0===a)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),0===this._partialBytes&&a>=this.blockSize)for(var n=0;n0&&(i=this.blockSize-i),this._partialOutput.clear();for(var n=0;n0)e.read-=this.blockSize;else for(var n=0;n0&&this._partialOutput.getBytes(this._partialBytes),i>0&&!r)return t.putBytes(this._partialOutput.getBytes(i-this._partialBytes)),this._partialBytes=i,!0;t.putBytes(this._partialOutput.getBytes(a-this._partialBytes)),this._partialBytes=0}},o.cfb.prototype.decrypt=function(e,t,r){var a=e.length();if(0===a)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),0===this._partialBytes&&a>=this.blockSize)for(var n=0;n0&&(i=this.blockSize-i),this._partialOutput.clear();for(var n=0;n0)e.read-=this.blockSize;else for(var n=0;n0&&this._partialOutput.getBytes(this._partialBytes),i>0&&!r)return t.putBytes(this._partialOutput.getBytes(i-this._partialBytes)),this._partialBytes=i,!0;t.putBytes(this._partialOutput.getBytes(a-this._partialBytes)),this._partialBytes=0}},o.ofb=function(e){e=e||{},this.name="OFB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=s.util.createBuffer(),this._partialBytes=0},o.ofb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=a(e.iv),this._inBlock=this._iv.slice(0),this._partialBytes=0},o.ofb.prototype.encrypt=function(e,t,r){var a=e.length();if(0===e.length())return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),0===this._partialBytes&&a>=this.blockSize)for(var n=0;n0&&(i=this.blockSize-i),this._partialOutput.clear();for(var n=0;n0)e.read-=this.blockSize;else for(var n=0;n0&&this._partialOutput.getBytes(this._partialBytes),i>0&&!r)return t.putBytes(this._partialOutput.getBytes(i-this._partialBytes)),this._partialBytes=i,!0;t.putBytes(this._partialOutput.getBytes(a-this._partialBytes)),this._partialBytes=0}},o.ofb.prototype.decrypt=o.ofb.prototype.encrypt,o.ctr=function(e){e=e||{},this.name="CTR",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=s.util.createBuffer(),this._partialBytes=0},o.ctr.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=a(e.iv),this._inBlock=this._iv.slice(0),this._partialBytes=0},o.ctr.prototype.encrypt=function(e,t,r){var a=e.length();if(0===a)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),0===this._partialBytes&&a>=this.blockSize)for(var i=0;i0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i0&&(e.read-=this.blockSize),this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return t.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;t.putBytes(this._partialOutput.getBytes(a-this._partialBytes)),this._partialBytes=0}n(this._inBlock)},o.ctr.prototype.decrypt=o.ctr.prototype.encrypt,o.gcm=function(e){e=e||{},this.name="GCM",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints),this._partialOutput=s.util.createBuffer(),this._partialBytes=0,this._R=3774873600},o.gcm.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");var t=s.util.createBuffer(e.iv);this._cipherLength=0;var r;if(r="additionalData"in e?s.util.createBuffer(e.additionalData):s.util.createBuffer(),this._tagLength="tagLength"in e?e.tagLength:128,this._tag=null,e.decrypt&&(this._tag=s.util.createBuffer(e.tag).getBytes(),this._tag.length!==this._tagLength/8))throw new Error("Authentication tag does not match tag length.");this._hashBlock=new Array(this._ints),this.tag=null,this._hashSubkey=new Array(this._ints),this.cipher.encrypt([0,0,0,0],this._hashSubkey),this.componentBits=4,this._m=this.generateHashTable(this._hashSubkey,this.componentBits);var a=t.length();if(12===a)this._j0=[t.getInt32(),t.getInt32(),t.getInt32(),1];else{for(this._j0=[0,0,0,0];t.length()>0;)this._j0=this.ghash(this._hashSubkey,this._j0,[t.getInt32(),t.getInt32(),t.getInt32(),t.getInt32()]);this._j0=this.ghash(this._hashSubkey,this._j0,[0,0].concat(i(8*a)))}this._inBlock=this._j0.slice(0),n(this._inBlock),this._partialBytes=0,r=s.util.createBuffer(r),this._aDataLength=i(8*r.length());var o=r.length()%this.blockSize;for(o&&r.fillWithByte(0,this.blockSize-o),this._s=[0,0,0,0];r.length()>0;)this._s=this.ghash(this._hashSubkey,this._s,[r.getInt32(),r.getInt32(),r.getInt32(),r.getInt32()])},o.gcm.prototype.encrypt=function(e,t,r){var a=e.length();if(0===a)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),0===this._partialBytes&&a>=this.blockSize){for(var i=0;i0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return e.read-=this.blockSize,t.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;t.putBytes(this._partialOutput.getBytes(a-this._partialBytes)),this._partialBytes=0}this._s=this.ghash(this._hashSubkey,this._s,this._outBlock),n(this._inBlock)},o.gcm.prototype.decrypt=function(e,t,r){var a=e.length();if(a0))return!0;this.cipher.encrypt(this._inBlock,this._outBlock),n(this._inBlock),this._hashBlock[0]=e.getInt32(),this._hashBlock[1]=e.getInt32(),this._hashBlock[2]=e.getInt32(),this._hashBlock[3]=e.getInt32(),this._s=this.ghash(this._hashSubkey,this._s,this._hashBlock);for(var i=0;i0;--a)t[a]=e[a]>>>1|(1&e[a-1])<<31;t[0]=e[0]>>>1,r&&(t[0]^=this._R)},o.gcm.prototype.tableMultiply=function(e){for(var t=[0,0,0,0],r=0;r<32;++r){var a=r/8|0,n=e[a]>>>4*(7-r%8)&15,i=this._m[r][n];t[0]^=i[0],t[1]^=i[1],t[2]^=i[2],t[3]^=i[3]}return t},o.gcm.prototype.ghash=function(e,t,r){return t[0]^=r[0],t[1]^=r[1],t[2]^=r[2],t[3]^=r[3],this.tableMultiply(t)},o.gcm.prototype.generateHashTable=function(e,t){for(var r=8/t,a=4*r,n=16*r,i=new Array(n),s=0;s>>1,n=new Array(r);n[a]=e.slice(0);for(var i=a>>>1;i>0;)this.pow(n[2*i],n[i]=[]),i>>=1;for(i=2;i>1,o=s+(1&e.length),c=e.substr(0,o),u=e.substr(s,o),l=a.util.createBuffer(),p=a.hmac.create();r=t+r;var f=Math.ceil(n/16),h=Math.ceil(n/20);p.start("MD5",c);var d=a.util.createBuffer();l.putBytes(r);for(var y=0;y0&&(l.queue(e,l.createAlert(e,{level:l.Alert.Level.warning,description:l.Alert.Description.no_renegotiation})),l.flush(e)),e.process()},l.parseHelloMessage=function(e,t,r){var n=null,i=e.entity===l.ConnectionEnd.client;if(r<38)e.error(e,{message:i?"Invalid ServerHello message. Message too short.":"Invalid ClientHello message. Message too short.",send:!0,alert:{level:l.Alert.Level.fatal,description:l.Alert.Description.illegal_parameter}});else{var s=t.fragment,o=s.length();if(n={version:{major:s.getByte(),minor:s.getByte()},random:a.util.createBuffer(s.getBytes(32)),session_id:c(s,1),extensions:[]},i?(n.cipher_suite=s.getBytes(2),n.compression_method=s.getByte()):(n.cipher_suites=c(s,2),n.compression_methods=c(s,1)),(o=r-(o-s.length()))>0){for(var u=c(s,2);u.length()>0;)n.extensions.push({type:[u.getByte(),u.getByte()],data:c(u,2)});if(!i)for(var p=0;p0;){var d=h.getByte();if(0!==d)break;e.session.extensions.server_name.serverNameList.push(c(h,2).getBytes())}}}if(e.session.version&&(n.version.major!==e.session.version.major||n.version.minor!==e.session.version.minor))return e.error(e,{message:"TLS version change is disallowed during renegotiation.",send:!0,alert:{level:l.Alert.Level.fatal,description:l.Alert.Description.protocol_version}});if(i)e.session.cipherSuite=l.getCipherSuite(n.cipher_suite);else for(var y=a.util.createBuffer(n.cipher_suites.bytes());y.length()>0&&(e.session.cipherSuite=l.getCipherSuite(y.getBytes(2)),null===e.session.cipherSuite););if(null===e.session.cipherSuite)return e.error(e,{message:"No cipher suites in common.",send:!0,alert:{level:l.Alert.Level.fatal,description:l.Alert.Description.handshake_failure},cipherSuite:a.util.bytesToHex(n.cipher_suite)});e.session.compressionMethod=i?n.compression_method:l.CompressionMethod.none}return n},l.createSecurityParameters=function(e,t){var r=e.entity===l.ConnectionEnd.client,a=t.random.bytes(),n=r?e.session.sp.client_random:a,i=r?a:l.createRandom().getBytes();e.session.sp={entity:e.entity,prf_algorithm:l.PRFAlgorithm.tls_prf_sha256,bulk_cipher_algorithm:null,cipher_type:null,enc_key_length:null,block_length:null,fixed_iv_length:null,record_iv_length:null,mac_algorithm:null,mac_length:null,mac_key_length:null,compression_algorithm:e.session.compressionMethod,pre_master_secret:null,master_secret:null,client_random:n,server_random:i}},l.handleServerHello=function(e,t,r){var a=l.parseHelloMessage(e,t,r);if(!e.fail){if(!(a.version.minor<=e.version.minor))return e.error(e,{message:"Incompatible TLS version.",send:!0,alert:{level:l.Alert.Level.fatal,description:l.Alert.Description.protocol_version}});e.version.minor=a.version.minor,e.session.version=e.version;var n=a.session_id.bytes();n.length>0&&n===e.session.id?(e.expect=y,e.session.resuming=!0,e.session.sp.server_random=a.random.bytes()):(e.expect=p,e.session.resuming=!1,l.createSecurityParameters(e,a)),e.session.id=n,e.process()}},l.handleClientHello=function(e,t,r){var n=l.parseHelloMessage(e,t,r);if(!e.fail){var i=n.session_id.bytes(),s=null;if(e.sessionCache&&(s=e.sessionCache.getSession(i),null===s?i="":(s.version.major!==n.version.major||s.version.minor>n.version.minor)&&(s=null,i="")),0===i.length&&(i=a.random.getBytes(32)),e.session.id=i,e.session.clientHelloVersion=n.version,e.session.sp={},s)e.version=e.session.version=s.version,e.session.sp=s.sp;else{for(var o,c=1;c0;)n=c(o.certificate_list,3),i=a.asn1.fromDer(n),n=a.pki.certificateFromAsn1(i,!0),u.push(n)}catch(t){return e.error(e,{message:"Could not parse certificate list.",cause:t,send:!0,alert:{level:l.Alert.Level.fatal,description:l.Alert.Description.bad_certificate}})}var p=e.entity===l.ConnectionEnd.client;!p&&!0!==e.verifyClient||0!==u.length?0===u.length?e.expect=p?f:E:(p?e.session.serverCertificate=u[0]:e.session.clientCertificate=u[0],l.verifyCertificateChain(e,u)&&(e.expect=p?f:E)):e.error(e,{message:p?"No server certificate provided.":"No client certificate provided.",send:!0,alert:{level:l.Alert.Level.fatal,description:l.Alert.Description.illegal_parameter}}),e.process()},l.handleServerKeyExchange=function(e,t,r){if(r>0)return e.error(e,{message:"Invalid key parameters. Only RSA is supported.",send:!0,alert:{level:l.Alert.Level.fatal,description:l.Alert.Description.unsupported_certificate}});e.expect=h,e.process()},l.handleClientKeyExchange=function(e,t,r){if(r<48)return e.error(e,{message:"Invalid key parameters. Only RSA is supported.",send:!0,alert:{level:l.Alert.Level.fatal,description:l.Alert.Description.unsupported_certificate}});var n=t.fragment,i={enc_pre_master_secret:c(n,2).getBytes()},s=null;if(e.getPrivateKey)try{s=e.getPrivateKey(e,e.session.serverCertificate),s=a.pki.privateKeyFromPem(s)}catch(t){e.error(e,{message:"Could not get private key.",cause:t,send:!0,alert:{level:l.Alert.Level.fatal,description:l.Alert.Description.internal_error}})}if(null===s)return e.error(e,{message:"No private key set.",send:!0,alert:{level:l.Alert.Level.fatal,description:l.Alert.Description.internal_error}});try{var o=e.session.sp;o.pre_master_secret=s.decrypt(i.enc_pre_master_secret);var u=e.session.clientHelloVersion;if(u.major!==o.pre_master_secret.charCodeAt(0)||u.minor!==o.pre_master_secret.charCodeAt(1))throw new Error("TLS version rollback attack detected.")}catch(e){o.pre_master_secret=a.random.getBytes(48)}e.expect=T,null!==e.session.clientCertificate&&(e.expect=S),e.process()},l.handleCertificateRequest=function(e,t,r){if(r<3)return e.error(e,{message:"Invalid CertificateRequest. Message too short.",send:!0,alert:{level:l.Alert.Level.fatal,description:l.Alert.Description.illegal_parameter}});var a=t.fragment,n={certificate_types:c(a,1),certificate_authorities:c(a,2)};e.session.certificateRequest=n,e.expect=d,e.process()},l.handleCertificateVerify=function(e,t,r){if(r<2)return e.error(e,{message:"Invalid CertificateVerify. Message too short.",send:!0,alert:{level:l.Alert.Level.fatal,description:l.Alert.Description.illegal_parameter}});var n=t.fragment;n.read-=4;var i=n.bytes();n.read+=4;var s={signature:c(n,2).getBytes()},o=a.util.createBuffer();o.putBuffer(e.session.md5.digest()),o.putBuffer(e.session.sha1.digest()),o=o.getBytes();try{if(!e.session.clientCertificate.publicKey.verify(o,s.signature,"NONE"))throw new Error("CertificateVerify signature does not match.");e.session.md5.update(i),e.session.sha1.update(i)}catch(t){return e.error(e,{message:"Bad signature in CertificateVerify.",send:!0,alert:{level:l.Alert.Level.fatal,description:l.Alert.Description.handshake_failure}})}e.expect=T,e.process()},l.handleServerHelloDone=function(e,t,r){if(r>0)return e.error(e,{message:"Invalid ServerHelloDone message. Invalid length.",send:!0,alert:{level:l.Alert.Level.fatal,description:l.Alert.Description.record_overflow}});if(null===e.serverCertificate){var n={message:"No server certificate provided. Not enough security.",send:!0,alert:{level:l.Alert.Level.fatal,description:l.Alert.Description.insufficient_security}},i=e.verify(e,n.alert.description,0,[]);if(!0!==i)return(i||0===i)&&("object"!=typeof i||a.util.isArray(i)?"number"==typeof i&&(n.alert.description=i):(i.message&&(n.message=i.message),i.alert&&(n.alert.description=i.alert))),e.error(e,n)}null!==e.session.certificateRequest&&(t=l.createRecord(e,{type:l.ContentType.handshake,data:l.createCertificate(e)}),l.queue(e,t)),t=l.createRecord(e,{type:l.ContentType.handshake,data:l.createClientKeyExchange(e)}),l.queue(e,t),e.expect=m;var s=function(e,t){null!==e.session.certificateRequest&&null!==e.session.clientCertificate&&l.queue(e,l.createRecord(e,{type:l.ContentType.handshake,data:l.createCertificateVerify(e,t)})),l.queue(e,l.createRecord(e,{type:l.ContentType.change_cipher_spec,data:l.createChangeCipherSpec()})),e.state.pending=l.createConnectionState(e),e.state.current.write=e.state.pending.write,l.queue(e,l.createRecord(e,{type:l.ContentType.handshake,data:l.createFinished(e)})),e.expect=y,l.flush(e),e.process()};if(null===e.session.certificateRequest||null===e.session.clientCertificate)return s(e,null);l.getClientSignature(e,s)},l.handleChangeCipherSpec=function(e,t){if(1!==t.fragment.getByte())return e.error(e,{message:"Invalid ChangeCipherSpec message received.",send:!0,alert:{level:l.Alert.Level.fatal,description:l.Alert.Description.illegal_parameter}});var r=e.entity===l.ConnectionEnd.client;(e.session.resuming&&r||!e.session.resuming&&!r)&&(e.state.pending=l.createConnectionState(e)),e.state.current.read=e.state.pending.read,(!e.session.resuming&&r||e.session.resuming&&!r)&&(e.state.pending=null),e.expect=r?g:I,e.process()},l.handleFinished=function(e,t,r){var i=t.fragment;i.read-=4;var s=i.bytes();i.read+=4;var o=t.fragment.getBytes();i=a.util.createBuffer(),i.putBuffer(e.session.md5.digest()),i.putBuffer(e.session.sha1.digest());var c=e.entity===l.ConnectionEnd.client,u=c?"server finished":"client finished",p=e.session.sp;if(i=n(p.master_secret,u,i.getBytes(),12),i.getBytes()!==o)return e.error(e,{message:"Invalid verify_data in Finished message.",send:!0,alert:{level:l.Alert.Level.fatal,description:l.Alert.Description.decrypt_error}});e.session.md5.update(s),e.session.sha1.update(s),(e.session.resuming&&c||!e.session.resuming&&!c)&&(l.queue(e,l.createRecord(e,{type:l.ContentType.change_cipher_spec,data:l.createChangeCipherSpec()})),e.state.current.write=e.state.pending.write,e.state.pending=null,l.queue(e,l.createRecord(e,{type:l.ContentType.handshake,data:l.createFinished(e)}))),e.expect=c?v:b,e.handshaking=!1,++e.handshakes,e.peerCertificate=c?e.session.serverCertificate:e.session.clientCertificate,l.flush(e),e.isConnected=!0,e.connected(e),e.process()},l.handleAlert=function(e,t){var r,a=t.fragment,n={level:a.getByte(),description:a.getByte()};switch(n.description){case l.Alert.Description.close_notify:r="Connection closed.";break;case l.Alert.Description.unexpected_message:r="Unexpected message.";break;case l.Alert.Description.bad_record_mac:r="Bad record MAC.";break;case l.Alert.Description.decryption_failed:r="Decryption failed.";break;case l.Alert.Description.record_overflow:r="Record overflow.";break;case l.Alert.Description.decompression_failure:r="Decompression failed.";break;case l.Alert.Description.handshake_failure:r="Handshake failure.";break;case l.Alert.Description.bad_certificate:r="Bad certificate.";break;case l.Alert.Description.unsupported_certificate:r="Unsupported certificate.";break;case l.Alert.Description.certificate_revoked:r="Certificate revoked.";break;case l.Alert.Description.certificate_expired:r="Certificate expired.";break;case l.Alert.Description.certificate_unknown:r="Certificate unknown.";break;case l.Alert.Description.illegal_parameter:r="Illegal parameter.";break;case l.Alert.Description.unknown_ca:r="Unknown certificate authority.";break;case l.Alert.Description.access_denied:r="Access denied.";break;case l.Alert.Description.decode_error:r="Decode error.";break;case l.Alert.Description.decrypt_error:r="Decrypt error.";break;case l.Alert.Description.export_restriction:r="Export restriction.";break;case l.Alert.Description.protocol_version:r="Unsupported protocol version.";break;case l.Alert.Description.insufficient_security:r="Insufficient security.";break;case l.Alert.Description.internal_error:r="Internal error.";break;case l.Alert.Description.user_canceled:r="User canceled.";break;case l.Alert.Description.no_renegotiation:r="Renegotiation not supported.";break;default:r="Unknown error."}if(n.description===l.Alert.Description.close_notify)return e.close();e.error(e,{message:r,send:!1,origin:e.entity===l.ConnectionEnd.client?"server":"client",alert:n}),e.process()},l.handleHandshake=function(e,t){var r=t.fragment,n=r.getByte(),i=r.getInt24();if(i>r.length())return e.fragmented=t,t.fragment=a.util.createBuffer(),r.read-=4,e.process();e.fragmented=null,r.read-=4;var s=r.bytes(i+4);r.read+=4,n in K[e.entity][e.expect]?(e.entity!==l.ConnectionEnd.server||e.open||e.fail||(e.handshaking=!0,e.session={version:null,extensions:{server_name:{serverNameList:[]}},cipherSuite:null,compressionMethod:null,serverCertificate:null,clientCertificate:null,md5:a.md.md5.create(),sha1:a.md.sha1.create()}),n!==l.HandshakeType.hello_request&&n!==l.HandshakeType.certificate_verify&&n!==l.HandshakeType.finished&&(e.session.md5.update(s),e.session.sha1.update(s)),K[e.entity][e.expect][n](e,t,i)):l.handleUnexpected(e,t)},l.handleApplicationData=function(e,t){e.data.putBuffer(t.fragment),e.dataReady(e),e.process()},l.handleHeartbeat=function(e,t){var r=t.fragment,n=r.getByte(),i=r.getInt16(),s=r.getBytes(i);if(n===l.HeartbeatMessageType.heartbeat_request){if(e.handshaking||i>s.length)return e.process();l.queue(e,l.createRecord(e,{type:l.ContentType.heartbeat,data:l.createHeartbeat(l.HeartbeatMessageType.heartbeat_response,s)})),l.flush(e)}else if(n===l.HeartbeatMessageType.heartbeat_response){if(s!==e.expectedHeartbeatPayload)return e.process();e.heartbeatReceived&&e.heartbeatReceived(e,a.util.createBuffer(s))}e.process()};var p=1,f=2,h=3,d=4,y=5,g=6,v=7,m=8,C=1,E=2,S=3,T=4,I=5,b=6,A=l.handleUnexpected,B=l.handleChangeCipherSpec,N=l.handleAlert,w=l.handleHandshake,k=l.handleApplicationData,R=l.handleHeartbeat,_=[];_[l.ConnectionEnd.client]=[[A,N,w,A,R],[A,N,w,A,R],[A,N,w,A,R],[A,N,w,A,R],[A,N,w,A,R],[B,N,A,A,R],[A,N,w,A,R],[A,N,w,k,R],[A,N,w,A,R]],_[l.ConnectionEnd.server]=[[A,N,w,A,R],[A,N,w,A,R],[A,N,w,A,R],[A,N,w,A,R],[B,N,A,A,R],[A,N,w,A,R],[A,N,w,k,R],[A,N,w,A,R]];var L=l.handleHelloRequest,U=l.handleServerHello,D=l.handleCertificate,P=l.handleServerKeyExchange,V=l.handleCertificateRequest,O=l.handleServerHelloDone,x=l.handleFinished,K=[];K[l.ConnectionEnd.client]=[[A,A,U,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A],[L,A,A,A,A,A,A,A,A,A,A,D,P,V,O,A,A,A,A,A,A],[L,A,A,A,A,A,A,A,A,A,A,A,P,V,O,A,A,A,A,A,A],[L,A,A,A,A,A,A,A,A,A,A,A,A,V,O,A,A,A,A,A,A],[L,A,A,A,A,A,A,A,A,A,A,A,A,A,O,A,A,A,A,A,A],[L,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A],[L,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,x],[L,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A],[L,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A]];var M=l.handleClientHello,F=l.handleClientKeyExchange,q=l.handleCertificateVerify;K[l.ConnectionEnd.server]=[[A,M,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A],[A,A,A,A,A,A,A,A,A,A,A,D,A,A,A,A,A,A,A,A,A],[A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,F,A,A,A,A],[A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,q,A,A,A,A,A],[A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A],[A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,x],[A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A],[A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A]],l.generateKeys=function(e,t){var r=n,a=t.client_random+t.server_random;e.session.resuming||(t.master_secret=r(t.pre_master_secret,"master secret",a,48).bytes(),t.pre_master_secret=null),a=t.server_random+t.client_random;var i=2*t.mac_key_length+2*t.enc_key_length,s=e.version.major===l.Versions.TLS_1_0.major&&e.version.minor===l.Versions.TLS_1_0.minor;s&&(i+=2*t.fixed_iv_length);var o=r(t.master_secret,"key expansion",a,i),c={client_write_MAC_key:o.getBytes(t.mac_key_length),server_write_MAC_key:o.getBytes(t.mac_key_length),client_write_key:o.getBytes(t.enc_key_length),server_write_key:o.getBytes(t.enc_key_length)};return s&&(c.client_write_IV=o.getBytes(t.fixed_iv_length),c.server_write_IV=o.getBytes(t.fixed_iv_length)),c},l.createConnectionState=function(e){var t=e.entity===l.ConnectionEnd.client,r=function(){var e={sequenceNumber:[0,0],macKey:null,macLength:0,macFunction:null,cipherState:null,cipherFunction:function(e){return!0},compressionState:null,compressFunction:function(e){return!0},updateSequenceNumber:function(){4294967295===e.sequenceNumber[1]?(e.sequenceNumber[1]=0,++e.sequenceNumber[0]):++e.sequenceNumber[1]}};return e},a={read:r(),write:r()};if(a.read.update=function(e,t){return a.read.cipherFunction(t,a.read)?a.read.compressFunction(e,t,a.read)||e.error(e,{message:"Could not decompress record.",send:!0,alert:{level:l.Alert.Level.fatal,description:l.Alert.Description.decompression_failure}}):e.error(e,{message:"Could not decrypt record or bad MAC.",send:!0,alert:{level:l.Alert.Level.fatal,description:l.Alert.Description.bad_record_mac}}),!e.fail},a.write.update=function(e,t){return a.write.compressFunction(e,t,a.write)?a.write.cipherFunction(t,a.write)||e.error(e,{message:"Could not encrypt record.",send:!1,alert:{level:l.Alert.Level.fatal,description:l.Alert.Description.internal_error}}):e.error(e,{message:"Could not compress record.",send:!1,alert:{level:l.Alert.Level.fatal,description:l.Alert.Description.internal_error}}),!e.fail},e.session){var n=e.session.sp;switch(e.session.cipherSuite.initSecurityParameters(n),n.keys=l.generateKeys(e,n),a.read.macKey=t?n.keys.server_write_MAC_key:n.keys.client_write_MAC_key,a.write.macKey=t?n.keys.client_write_MAC_key:n.keys.server_write_MAC_key,e.session.cipherSuite.initConnectionState(a,e,n),n.compression_algorithm){case l.CompressionMethod.none:break;case l.CompressionMethod.deflate:a.read.compressFunction=o,a.write.compressFunction=s;break;default:throw new Error("Unsupported compression algorithm.")}}return a},l.createRandom=function(){var e=new Date,t=+e+6e4*e.getTimezoneOffset(),r=a.util.createBuffer();return r.putInt32(t),r.putBytes(a.random.getBytes(28)),r},l.createRecord=function(e,t){return t.data?{type:t.type,version:{major:e.version.major,minor:e.version.minor},length:t.data.length(),fragment:t.data}:null},l.createAlert=function(e,t){var r=a.util.createBuffer();return r.putByte(t.level),r.putByte(t.description),l.createRecord(e,{type:l.ContentType.alert,data:r})},l.createClientHello=function(e){e.session.clientHelloVersion={major:e.version.major,minor:e.version.minor};for(var t=a.util.createBuffer(),r=0;r0&&(d+=2);var y=e.session.id,g=y.length+1+2+4+28+2+i+1+o+d,v=a.util.createBuffer();return v.putByte(l.HandshakeType.client_hello),v.putInt24(g),v.putByte(e.version.major),v.putByte(e.version.minor),v.putBytes(e.session.sp.client_random),u(v,1,a.util.createBuffer(y)),u(v,2,t),u(v,1,s),d>0&&u(v,2,c),v},l.createServerHello=function(e){var t=e.session.id,r=t.length+1+2+4+28+2+1,n=a.util.createBuffer();return n.putByte(l.HandshakeType.server_hello),n.putInt24(r),n.putByte(e.version.major),n.putByte(e.version.minor),n.putBytes(e.session.sp.server_random),u(n,1,a.util.createBuffer(t)),n.putByte(e.session.cipherSuite.id[0]),n.putByte(e.session.cipherSuite.id[1]),n.putByte(e.session.compressionMethod),n},l.createCertificate=function(e){var t=e.entity===l.ConnectionEnd.client,r=null;if(e.getCertificate){var n;n=t?e.session.certificateRequest:e.session.extensions.server_name.serverNameList,r=e.getCertificate(e,n)}var i=a.util.createBuffer();if(null!==r)try{a.util.isArray(r)||(r=[r]);for(var s=null,o=0;ol.MaxFragment;)n.push(l.createRecord(e,{type:t.type,data:a.util.createBuffer(i.slice(0,l.MaxFragment))})),i=i.slice(l.MaxFragment);i.length>0&&n.push(l.createRecord(e,{type:t.type,data:a.util.createBuffer(i)}))}for(var s=0;s0&&(n=r.order[0]),null!==n&&n in r.cache){t=r.cache[n],delete r.cache[n];for(var i in r.order)if(r.order[i]===n){r.order.splice(i,1);break}}return t},r.setSession=function(e,t){if(r.order.length===r.capacity){var n=r.order.shift();delete r.cache[n]}var n=a.util.bytesToHex(e);r.order.push(n),r.cache[n]=t}}return r},l.createConnection=function(e){var t=null;t=e.caStore?a.util.isArray(e.caStore)?a.pki.createCaStore(e.caStore):e.caStore:a.pki.createCaStore();var r=e.cipherSuites||null;if(null===r){r=[];for(var n in l.CipherSuites)r.push(l.CipherSuites[n])}var i=e.server?l.ConnectionEnd.server:l.ConnectionEnd.client,s=e.sessionCache?l.createSessionCache(e.sessionCache):null,o={version:{major:l.Version.major,minor:l.Version.minor},entity:i,sessionId:e.sessionId,caStore:t,sessionCache:s,cipherSuites:r,connected:e.connected,virtualHost:e.virtualHost||null,verifyClient:e.verifyClient||!1,verify:e.verify||function(e,t,r,a){return t},getCertificate:e.getCertificate||null,getPrivateKey:e.getPrivateKey||null,getSignature:e.getSignature||null,input:a.util.createBuffer(),tlsData:a.util.createBuffer(),data:a.util.createBuffer(),tlsDataReady:e.tlsDataReady,dataReady:e.dataReady,heartbeatReceived:e.heartbeatReceived,closed:e.closed,error:function(t,r){r.origin=r.origin||(t.entity===l.ConnectionEnd.client?"client":"server"),r.send&&(l.queue(t,l.createAlert(t,r.alert)),l.flush(t));var a=!1!==r.fatal;a&&(t.fail=!0),e.error(t,r),a&&t.close(!1)},deflate:e.deflate||null,inflate:e.inflate||null};o.reset=function(e){o.version={major:l.Version.major,minor:l.Version.minor},o.record=null,o.session=null,o.peerCertificate=null,o.state={pending:null,current:null},o.expect=(o.entity,l.ConnectionEnd.client,0),o.fragmented=null,o.records=[],o.open=!1,o.handshakes=0,o.handshaking=!1,o.isConnected=!1,o.fail=!(e||void 0===e),o.input.clear(),o.tlsData.clear(),o.data.clear(),o.state.current=l.createConnectionState(o)},o.reset();var c=function(e,t){var r=t.type-l.ContentType.change_cipher_spec,a=_[e.entity][e.expect];r in a?a[r](e,t):l.handleUnexpected(e,t)},u=function(e){var t=0,r=e.input,n=r.length();if(n<5)t=5-n;else{e.record={type:r.getByte(),version:{major:r.getByte(),minor:r.getByte()},length:r.getInt16(),fragment:a.util.createBuffer(),ready:!1};var i=e.record.version.major===e.version.major;i&&e.session&&e.session.version&&(i=e.record.version.minor===e.version.minor),i||e.error(e,{message:"Incompatible TLS version.",send:!0,alert:{level:l.Alert.Level.fatal,description:l.Alert.Description.protocol_version}})}return t},p=function(e){var t=0,r=e.input,a=r.length();if(a0&&(o.sessionCache&&(t=o.sessionCache.getSession(e)),null===t&&(e="")),0===e.length&&o.sessionCache&&null!==(t=o.sessionCache.getSession())&&(e=t.id),o.session={id:e,version:null,cipherSuite:null,compressionMethod:null,serverCertificate:null,certificateRequest:null,clientCertificate:null,sp:{},md5:a.md.md5.create(),sha1:a.md.sha1.create()},t&&(o.version=t.version,o.session.sp=t.sp),o.session.sp.client_random=l.createRandom().getBytes(),o.open=!0,l.queue(o,l.createRecord(o,{type:l.ContentType.handshake,data:l.createClientHello(o)})),l.flush(o)}},o.process=function(e){var t=0;return e&&o.input.putBytes(e),o.fail||(null!==o.record&&o.record.ready&&o.record.fragment.isEmpty()&&(o.record=null),null===o.record&&(t=u(o)),o.fail||null===o.record||o.record.ready||(t=p(o)),!o.fail&&null!==o.record&&o.record.ready&&c(o,o.record)),t},o.prepare=function(e){return l.queue(o,l.createRecord(o,{type:l.ContentType.application_data,data:a.util.createBuffer(e)})),l.flush(o)},o.prepareHeartbeatRequest=function(e,t){return e instanceof a.util.ByteBuffer&&(e=e.bytes()),void 0===t&&(t=e.length),o.expectedHeartbeatPayload=e,l.queue(o,l.createRecord(o,{type:l.ContentType.heartbeat,data:l.createHeartbeat(l.HeartbeatMessageType.heartbeat_request,e,t)})),l.flush(o)},o.close=function(e){if(!o.fail&&o.sessionCache&&o.session){var t={id:o.session.id,version:o.session.version,sp:o.session.sp};t.sp.keys=null,o.sessionCache.setSession(t.id,t)}o.open&&(o.open=!1,o.input.clear(),(o.isConnected||o.handshaking)&&(o.isConnected=o.handshaking=!1,l.queue(o,l.createAlert(o,{level:l.Alert.Level.warning,description:l.Alert.Description.close_notify})),l.flush(o)),o.closed(o)),o.reset(e)},o},e.exports=a.tls=a.tls||{};for(var G in l)"function"!=typeof l[G]&&(a.tls[G]=l[G]);a.tls.prf_tls1=n,a.tls.hmac_sha1=i,a.tls.createSessionCache=l.createSessionCache,a.tls.createConnection=l.createConnection},function(e,t,r){var a=r(0);r(3),r(6),r(21),r(7),r(15),r(28),r(17),r(11),r(1),r(16);var n=a.asn1,i=e.exports=a.pki=a.pki||{};i.pemToDer=function(e){var t=a.pem.decode(e)[0];if(t.procType&&"ENCRYPTED"===t.procType.type)throw new Error("Could not convert PEM to DER; PEM is encrypted.");return a.util.createBuffer(t.body)},i.privateKeyFromPem=function(e){var t=a.pem.decode(e)[0];if("PRIVATE KEY"!==t.type&&"RSA PRIVATE KEY"!==t.type){var r=new Error('Could not convert private key from PEM; PEM header type is not "PRIVATE KEY" or "RSA PRIVATE KEY".');throw r.headerType=t.type,r}if(t.procType&&"ENCRYPTED"===t.procType.type)throw new Error("Could not convert private key from PEM; PEM is encrypted.");var s=n.fromDer(t.body);return i.privateKeyFromAsn1(s)},i.privateKeyToPem=function(e,t){var r={type:"RSA PRIVATE KEY",body:n.toDer(i.privateKeyToAsn1(e)).getBytes()};return a.pem.encode(r,{maxline:t})},i.privateKeyInfoToPem=function(e,t){var r={type:"PRIVATE KEY",body:n.toDer(e).getBytes()};return a.pem.encode(r,{maxline:t})}},function(e,t,r){function a(e,t){return e.start().update(t).digest().getBytes()}function n(e){var t;if(e){if(!(t=l.oids[u.derToOid(e)])){var r=new Error("Unsupported PRF OID.");throw r.oid=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}}else t="hmacWithSHA1";return i(t)}function i(e){var t=o.md;switch(e){case"hmacWithSHA224":t=o.md.sha512;case"hmacWithSHA1":case"hmacWithSHA256":case"hmacWithSHA384":case"hmacWithSHA512":e=e.substr(8).toLowerCase();break;default:var r=new Error("Unsupported PRF algorithm.");throw r.algorithm=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}if(!(t&&e in t))throw new Error("Unknown hash algorithm: "+e);return t[e].create()}function s(e,t,r,a){var n=u.create(u.Class.UNIVERSAL,u.Type.SEQUENCE,!0,[u.create(u.Class.UNIVERSAL,u.Type.OCTETSTRING,!1,e),u.create(u.Class.UNIVERSAL,u.Type.INTEGER,!1,t.getBytes())]);return"hmacWithSHA1"!==a&&n.value.push(u.create(u.Class.UNIVERSAL,u.Type.INTEGER,!1,o.util.hexToBytes(r.toString(16))),u.create(u.Class.UNIVERSAL,u.Type.SEQUENCE,!0,[u.create(u.Class.UNIVERSAL,u.Type.OID,!1,u.oidToDer(l.oids[a]).getBytes()),u.create(u.Class.UNIVERSAL,u.Type.NULL,!1,"")])),n}var o=r(0);if(r(5),r(3),r(10),r(4),r(6),r(15),r(7),r(2),r(25),r(11),r(1),void 0===c)var c=o.jsbn.BigInteger;var u=o.asn1,l=o.pki=o.pki||{};e.exports=l.pbe=o.pbe=o.pbe||{};var p=l.oids,f={name:"EncryptedPrivateKeyInfo",tagClass:u.Class.UNIVERSAL,type:u.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:u.Class.UNIVERSAL,type:u.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:u.Class.UNIVERSAL,type:u.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:u.Class.UNIVERSAL,type:u.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:u.Class.UNIVERSAL,type:u.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},h={name:"PBES2Algorithms",tagClass:u.Class.UNIVERSAL,type:u.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:u.Class.UNIVERSAL,type:u.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:u.Class.UNIVERSAL,type:u.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:u.Class.UNIVERSAL,type:u.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:u.Class.UNIVERSAL,type:u.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:u.Class.UNIVERSAL,type:u.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:u.Class.UNIVERSAL,type:u.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:u.Class.UNIVERSAL,type:u.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:u.Class.UNIVERSAL,type:u.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:u.Class.UNIVERSAL,type:u.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:u.Class.UNIVERSAL,type:u.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:u.Class.UNIVERSAL,type:u.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},d={name:"pkcs-12PbeParams",tagClass:u.Class.UNIVERSAL,type:u.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:u.Class.UNIVERSAL,type:u.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:u.Class.UNIVERSAL,type:u.Type.INTEGER,constructed:!1,capture:"iterations"}]};l.encryptPrivateKeyInfo=function(e,t,r){r=r||{},r.saltSize=r.saltSize||8,r.count=r.count||2048,r.algorithm=r.algorithm||"aes128",r.prfAlgorithm=r.prfAlgorithm||"sha1";var a,n,c,f=o.random.getBytesSync(r.saltSize),h=r.count,d=u.integerToDer(h);if(0===r.algorithm.indexOf("aes")||"des"===r.algorithm){var y,g,v;switch(r.algorithm){case"aes128":a=16,y=16,g=p["aes128-CBC"],v=o.aes.createEncryptionCipher;break;case"aes192":a=24,y=16,g=p["aes192-CBC"],v=o.aes.createEncryptionCipher;break;case"aes256":a=32,y=16,g=p["aes256-CBC"],v=o.aes.createEncryptionCipher;break;case"des":a=8,y=8,g=p.desCBC,v=o.des.createEncryptionCipher;break;default:var m=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw m.algorithm=r.algorithm,m}var C="hmacWith"+r.prfAlgorithm.toUpperCase(),E=i(C),S=o.pkcs5.pbkdf2(t,f,h,a,E),T=o.random.getBytesSync(y),I=v(S);I.start(T),I.update(u.toDer(e)),I.finish(),c=I.output.getBytes();var b=s(f,d,a,C);n=u.create(u.Class.UNIVERSAL,u.Type.SEQUENCE,!0,[u.create(u.Class.UNIVERSAL,u.Type.OID,!1,u.oidToDer(p.pkcs5PBES2).getBytes()),u.create(u.Class.UNIVERSAL,u.Type.SEQUENCE,!0,[u.create(u.Class.UNIVERSAL,u.Type.SEQUENCE,!0,[u.create(u.Class.UNIVERSAL,u.Type.OID,!1,u.oidToDer(p.pkcs5PBKDF2).getBytes()),b]),u.create(u.Class.UNIVERSAL,u.Type.SEQUENCE,!0,[u.create(u.Class.UNIVERSAL,u.Type.OID,!1,u.oidToDer(g).getBytes()),u.create(u.Class.UNIVERSAL,u.Type.OCTETSTRING,!1,T)])])])}else{if("3des"!==r.algorithm){var m=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw m.algorithm=r.algorithm,m}a=24;var A=new o.util.ByteBuffer(f),S=l.pbe.generatePkcs12Key(t,A,1,h,a),T=l.pbe.generatePkcs12Key(t,A,2,h,a),I=o.des.createEncryptionCipher(S);I.start(T),I.update(u.toDer(e)),I.finish(),c=I.output.getBytes(),n=u.create(u.Class.UNIVERSAL,u.Type.SEQUENCE,!0,[u.create(u.Class.UNIVERSAL,u.Type.OID,!1,u.oidToDer(p["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),u.create(u.Class.UNIVERSAL,u.Type.SEQUENCE,!0,[u.create(u.Class.UNIVERSAL,u.Type.OCTETSTRING,!1,f),u.create(u.Class.UNIVERSAL,u.Type.INTEGER,!1,d.getBytes())])])}return u.create(u.Class.UNIVERSAL,u.Type.SEQUENCE,!0,[n,u.create(u.Class.UNIVERSAL,u.Type.OCTETSTRING,!1,c)])},l.decryptPrivateKeyInfo=function(e,t){var r=null,a={},n=[];if(!u.validate(e,f,a,n)){var i=new Error("Cannot read encrypted private key. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw i.errors=n,i}var s=u.derToOid(a.encryptionOid),c=l.pbe.getCipher(s,a.encryptionParams,t),p=o.util.createBuffer(a.encryptedData);return c.update(p),c.finish()&&(r=u.fromDer(c.output)),r},l.encryptedPrivateKeyToPem=function(e,t){var r={type:"ENCRYPTED PRIVATE KEY",body:u.toDer(e).getBytes()};return o.pem.encode(r,{maxline:t})},l.encryptedPrivateKeyFromPem=function(e){var t=o.pem.decode(e)[0];if("ENCRYPTED PRIVATE KEY"!==t.type){var r=new Error('Could not convert encrypted private key from PEM; PEM header type is "ENCRYPTED PRIVATE KEY".');throw r.headerType=t.type,r}if(t.procType&&"ENCRYPTED"===t.procType.type)throw new Error("Could not convert encrypted private key from PEM; PEM is encrypted.");return u.fromDer(t.body)},l.encryptRsaPrivateKey=function(e,t,r){if(r=r||{},!r.legacy){var a=l.wrapRsaPrivateKey(l.privateKeyToAsn1(e));return a=l.encryptPrivateKeyInfo(a,t,r),l.encryptedPrivateKeyToPem(a)}var n,i,s,c;switch(r.algorithm){case"aes128":n="AES-128-CBC",s=16,i=o.random.getBytesSync(16),c=o.aes.createEncryptionCipher;break;case"aes192":n="AES-192-CBC",s=24,i=o.random.getBytesSync(16),c=o.aes.createEncryptionCipher;break;case"aes256":n="AES-256-CBC",s=32,i=o.random.getBytesSync(16),c=o.aes.createEncryptionCipher;break;case"3des":n="DES-EDE3-CBC",s=24,i=o.random.getBytesSync(8),c=o.des.createEncryptionCipher;break;case"des":n="DES-CBC",s=8,i=o.random.getBytesSync(8),c=o.des.createEncryptionCipher;break;default:var p=new Error('Could not encrypt RSA private key; unsupported encryption algorithm "'+r.algorithm+'".');throw p.algorithm=r.algorithm,p}var f=o.pbe.opensslDeriveBytes(t,i.substr(0,8),s),h=c(f);h.start(i),h.update(u.toDer(l.privateKeyToAsn1(e))),h.finish();var d={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:n,parameters:o.util.bytesToHex(i).toUpperCase()},body:h.output.getBytes()};return o.pem.encode(d)},l.decryptRsaPrivateKey=function(e,t){var r=null,a=o.pem.decode(e)[0];if("ENCRYPTED PRIVATE KEY"!==a.type&&"PRIVATE KEY"!==a.type&&"RSA PRIVATE KEY"!==a.type){var n=new Error('Could not convert private key from PEM; PEM header type is not "ENCRYPTED PRIVATE KEY", "PRIVATE KEY", or "RSA PRIVATE KEY".');throw n.headerType=n,n}if(a.procType&&"ENCRYPTED"===a.procType.type){var i,s;switch(a.dekInfo.algorithm){case"DES-CBC":i=8,s=o.des.createDecryptionCipher;break;case"DES-EDE3-CBC":i=24,s=o.des.createDecryptionCipher;break;case"AES-128-CBC":i=16,s=o.aes.createDecryptionCipher;break;case"AES-192-CBC":i=24,s=o.aes.createDecryptionCipher;break;case"AES-256-CBC":i=32,s=o.aes.createDecryptionCipher;break;case"RC2-40-CBC":i=5,s=function(e){return o.rc2.createDecryptionCipher(e,40)};break;case"RC2-64-CBC":i=8,s=function(e){return o.rc2.createDecryptionCipher(e,64)};break;case"RC2-128-CBC":i=16,s=function(e){return o.rc2.createDecryptionCipher(e,128)};break;default:var n=new Error('Could not decrypt private key; unsupported encryption algorithm "'+a.dekInfo.algorithm+'".');throw n.algorithm=a.dekInfo.algorithm,n}var c=o.util.hexToBytes(a.dekInfo.parameters),p=o.pbe.opensslDeriveBytes(t,c.substr(0,8),i),f=s(p);if(f.start(c),f.update(o.util.createBuffer(a.body)),!f.finish())return r;r=f.output.getBytes()}else r=a.body;return r="ENCRYPTED PRIVATE KEY"===a.type?l.decryptPrivateKeyInfo(u.fromDer(r),t):u.fromDer(r),null!==r&&(r=l.privateKeyFromAsn1(r)),r},l.pbe.generatePkcs12Key=function(e,t,r,a,n,i){var s,c;if(void 0===i||null===i){if(!("sha1"in o.md))throw new Error('"sha1" hash algorithm unavailable.');i=o.md.sha1.create()}var u=i.digestLength,l=i.blockLength,p=new o.util.ByteBuffer,f=new o.util.ByteBuffer;if(null!==e&&void 0!==e){for(c=0;c=0;c--)k>>=8,k+=A.at(c)+w.at(c),w.setAt(c,255&k);N.putBuffer(w)}E=N,p.putBuffer(I)}return p.truncate(p.length()-n),p},l.pbe.getCipher=function(e,t,r){switch(e){case l.oids.pkcs5PBES2:return l.pbe.getCipherForPBES2(e,t,r);case l.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case l.oids["pbewithSHAAnd40BitRC2-CBC"]:return l.pbe.getCipherForPKCS12PBE(e,t,r);default:var a=new Error("Cannot read encrypted PBE data block. Unsupported OID.");throw a.oid=e,a.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],a}},l.pbe.getCipherForPBES2=function(e,t,r){var a={},i=[];if(!u.validate(t,h,a,i)){var s=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw s.errors=i,s}if((e=u.derToOid(a.kdfOid))!==l.oids.pkcs5PBKDF2){var s=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw s.oid=e,s.supportedOids=["pkcs5PBKDF2"],s}if((e=u.derToOid(a.encOid))!==l.oids["aes128-CBC"]&&e!==l.oids["aes192-CBC"]&&e!==l.oids["aes256-CBC"]&&e!==l.oids["des-EDE3-CBC"]&&e!==l.oids.desCBC){var s=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw s.oid=e,s.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],s}var c=a.kdfSalt,p=o.util.createBuffer(a.kdfIterationCount);p=p.getInt(p.length()<<3);var f,d;switch(l.oids[e]){case"aes128-CBC":f=16,d=o.aes.createDecryptionCipher;break;case"aes192-CBC":f=24,d=o.aes.createDecryptionCipher;break;case"aes256-CBC":f=32,d=o.aes.createDecryptionCipher;break;case"des-EDE3-CBC":f=24,d=o.des.createDecryptionCipher;break;case"desCBC":f=8,d=o.des.createDecryptionCipher}var y=n(a.prfOid),g=o.pkcs5.pbkdf2(r,c,p,f,y),v=a.encIv,m=d(g);return m.start(v),m},l.pbe.getCipherForPKCS12PBE=function(e,t,r){var a={},i=[];if(!u.validate(t,d,a,i)){var s=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw s.errors=i,s}var c=o.util.createBuffer(a.salt),p=o.util.createBuffer(a.iterations);p=p.getInt(p.length()<<3);var f,h,y;switch(e){case l.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:f=24,h=8,y=o.des.startDecrypting;break;case l.oids["pbewithSHAAnd40BitRC2-CBC"]:f=5,h=8,y=function(e,t){var r=o.rc2.createDecryptionCipher(e,40);return r.start(t,null),r};break;default:var s=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw s.oid=e,s}var g=n(a.prfOid),v=l.pbe.generatePkcs12Key(r,c,1,p,f,g);return g.start(),y(v,l.pbe.generatePkcs12Key(r,c,2,p,h,g))},l.pbe.opensslDeriveBytes=function(e,t,r,n){if(void 0===n||null===n){if(!("md5"in o.md))throw new Error('"md5" hash algorithm unavailable.');n=o.md.md5.create()}null===t&&(t="");for(var i=[a(n,e+t)],s=16,c=1;s=64;){for(l=0;l<16;++l)t[l]=r.getInt32();for(;l<64;++l)a=t[l-2],a=(a>>>17|a<<15)^(a>>>19|a<<13)^a>>>10,n=t[l-15],n=(n>>>7|n<<25)^(n>>>18|n<<14)^n>>>3,t[l]=a+t[l-7]+n+t[l-16]|0;for(p=e.h0,f=e.h1,h=e.h2,d=e.h3,y=e.h4,g=e.h5,v=e.h6,m=e.h7,l=0;l<64;++l)s=(y>>>6|y<<26)^(y>>>11|y<<21)^(y>>>25|y<<7),o=v^y&(g^v),i=(p>>>2|p<<30)^(p>>>13|p<<19)^(p>>>22|p<<10),c=p&f|h&(p^f),a=m+s+o+u[l]+t[l],n=i+c,m=v,v=g,g=y,y=d+a>>>0,d=h,h=f,f=p,p=a+n>>>0;e.h0=e.h0+p|0,e.h1=e.h1+f|0,e.h2=e.h2+h|0,e.h3=e.h3+d|0,e.h4=e.h4+y|0,e.h5=e.h5+g|0,e.h6=e.h6+v|0,e.h7=e.h7+m|0,C-=64}}var i=r(0);r(4),r(1);var s=e.exports=i.sha256=i.sha256||{};i.md.sha256=i.md.algorithms.sha256=s,s.create=function(){c||a();var e=null,t=i.util.createBuffer(),r=new Array(64),s={algorithm:"sha256",blockLength:64,digestLength:32,messageLength:0,fullMessageLength:null,messageLengthSize:8};return s.start=function(){s.messageLength=0,s.fullMessageLength=s.messageLength64=[];for(var r=s.messageLengthSize/4,a=0;a>>0,c>>>0];for(var u=s.fullMessageLength.length-1;u>=0;--u)s.fullMessageLength[u]+=c[1],c[1]=c[0]+(s.fullMessageLength[u]/4294967296>>>0),s.fullMessageLength[u]=s.fullMessageLength[u]>>>0,c[0]=c[1]/4294967296>>>0;return t.putBytes(a),n(e,r,t),(t.read>2048||0===t.length())&&t.compact(),s},s.digest=function(){var a=i.util.createBuffer();a.putBytes(t.bytes());var c=s.fullMessageLength[s.fullMessageLength.length-1]+s.messageLengthSize,u=c&s.blockLength-1;a.putBytes(o.substr(0,s.blockLength-u));for(var l,p,f=8*s.fullMessageLength[0],h=0;h>>0,f+=p,a.putInt32(f>>>0),f=l>>>0;a.putInt32(f);var d={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4,h5:e.h5,h6:e.h6,h7:e.h7};n(d,r,a);var y=i.util.createBuffer();return y.putInt32(d.h0),y.putInt32(d.h1),y.putInt32(d.h2),y.putInt32(d.h3),y.putInt32(d.h4),y.putInt32(d.h5),y.putInt32(d.h6),y.putInt32(d.h7),y},s};var o=null,c=!1,u=null},function(e,t,r){var a=r(0);r(1);var n=null;!a.util.isNodejs||a.options.usePureJavaScript||process.versions["node-webkit"]||(n=r(22)),(e.exports=a.prng=a.prng||{}).create=function(e){function t(e){if(o.pools[0].messageLength>=32)return i(),e();var t=32-o.pools[0].messageLength<<5;o.seedFile(t,function(t,r){if(t)return e(t);o.collect(r),i(),e()})}function r(){if(o.pools[0].messageLength>=32)return i();var e=32-o.pools[0].messageLength<<5;o.collect(o.seedFileSync(e)),i()}function i(){o.reseeds=4294967295===o.reseeds?0:o.reseeds+1;var e=o.plugin.md.create();e.update(o.keyBytes);for(var t=1,r=0;r<32;++r)o.reseeds%t==0&&(e.update(o.pools[r].digest().getBytes()),o.pools[r].start()),t<<=1;o.keyBytes=e.digest().getBytes(),e.start(),e.update(o.keyBytes);var a=e.digest().getBytes();o.key=o.plugin.formatKey(o.keyBytes),o.seed=o.plugin.formatSeed(a),o.generated=0}function s(e){var t=null;if("undefined"!=typeof window){var r=window.crypto||window.msCrypto;r&&r.getRandomValues&&(t=function(e){return r.getRandomValues(e)})}var n=a.util.createBuffer();if(t)for(;n.length()>16),u+=(32767&c)<<16,u+=c>>15,u=(2147483647&u)+(u>>31),p=4294967295&u;for(var o=0;o<3;++o)l=p>>>(o<<3),l^=Math.floor(256*Math.random()),n.putByte(String.fromCharCode(255&l))}return n.getBytes(e)}for(var o={plugin:e,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},c=e.md,u=new Array(32),l=0;l<32;++l)u[l]=c.create();return o.pools=u,o.pool=0,o.generate=function(e,r){function n(p){if(p)return r(p);if(l.length()>=e)return r(null,l.getBytes(e));if(o.generated>1048575&&(o.key=null),null===o.key)return a.util.nextTick(function(){t(n)});var f=i(o.key,o.seed);o.generated+=f.length,l.putBytes(f),o.key=c(i(o.key,s(o.seed))),o.seed=u(i(o.key,o.seed)),a.util.setImmediate(n)}if(!r)return o.generateSync(e);var i=o.plugin.cipher,s=o.plugin.increment,c=o.plugin.formatKey,u=o.plugin.formatSeed,l=a.util.createBuffer();o.key=null,n()},o.generateSync=function(e){var t=o.plugin.cipher,n=o.plugin.increment,i=o.plugin.formatKey,s=o.plugin.formatSeed;o.key=null;for(var c=a.util.createBuffer();c.length()1048575&&(o.key=null),null===o.key&&r();var u=t(o.key,o.seed);o.generated+=u.length,c.putBytes(u),o.key=i(t(o.key,n(o.seed))),o.seed=s(t(o.key,o.seed))}return c.getBytes(e)},n?(o.seedFile=function(e,t){n.randomBytes(e,function(e,r){if(e)return t(e);t(null,r.toString())})},o.seedFileSync=function(e){return n.randomBytes(e).toString()}):(o.seedFile=function(e,t){try{t(null,s(e))}catch(e){t(e)}},o.seedFileSync=s),o.collect=function(e){for(var t=e.length,r=0;r>a&255);o.collect(r)},o.registerWorker=function(e){if(e===self)o.seedFile=function(e,t){function r(e){var a=e.data;a.forge&&a.forge.prng&&(self.removeEventListener("message",r),t(a.forge.prng.err,a.forge.prng.bytes))}self.addEventListener("message",r),self.postMessage({forge:{prng:{needed:e}}})};else{var t=function(t){var r=t.data;r.forge&&r.forge.prng&&o.seedFile(r.forge.prng.needed,function(t,r){e.postMessage({forge:{prng:{err:t,bytes:r}}})})};e.addEventListener("message",t)}},o}},function(e,t,r){var a=r(0);r(1);var n=[217,120,249,196,25,221,181,237,40,233,253,121,74,160,216,157,198,126,55,131,43,118,83,142,98,76,100,136,68,139,251,162,23,154,89,245,135,179,79,19,97,69,109,141,9,129,125,50,189,143,64,235,134,183,123,11,240,149,33,34,92,107,78,130,84,214,101,147,206,96,178,28,115,86,192,20,167,140,241,220,18,117,202,31,59,190,228,209,66,61,212,48,163,60,182,38,111,191,14,218,70,105,7,87,39,242,29,155,188,148,67,3,248,17,199,246,144,239,62,231,6,195,213,47,200,102,30,215,8,232,234,222,128,82,238,247,132,170,114,172,53,77,106,42,150,26,210,113,90,21,73,116,75,159,208,94,4,24,164,236,194,224,65,110,15,81,203,204,36,145,175,80,161,244,112,57,153,124,58,133,35,184,180,122,252,2,54,91,37,85,151,49,45,93,250,152,227,138,146,174,5,223,41,16,103,108,186,201,211,0,230,207,225,158,168,44,99,22,1,63,88,226,137,169,13,56,52,27,171,51,255,176,187,72,12,95,185,177,205,46,197,243,219,71,229,165,156,119,10,166,32,104,254,127,193,173],i=[1,2,3,5],s=function(e,t){return e<>16-t},o=function(e,t){return(65535&e)>>t|e<<16-t&65535};e.exports=a.rc2=a.rc2||{},a.rc2.expandKey=function(e,t){"string"==typeof e&&(e=a.util.createBuffer(e)),t=t||128;var r,i=e,s=e.length(),o=t,c=Math.ceil(o/8),u=255>>(7&o);for(r=s;r<128;r++)i.putByte(n[i.at(r-1)+i.at(r-s)&255]);for(i.setAt(128-c,n[i.at(128-c)&u]),r=127-c;r>=0;r--)i.setAt(r,n[i.at(r+1)^i.at(r+c)]);return i};var c=function(e,t,r){var n,c,u,l,p=!1,f=null,h=null,d=null,y=[];for(e=a.rc2.expandKey(e,t),u=0;u<64;u++)y.push(e.getInt16Le());r?(n=function(e){for(u=0;u<4;u++)e[u]+=y[l]+(e[(u+3)%4]&e[(u+2)%4])+(~e[(u+3)%4]&e[(u+1)%4]),e[u]=s(e[u],i[u]),l++},c=function(e){for(u=0;u<4;u++)e[u]+=y[63&e[(u+3)%4]]}):(n=function(e){for(u=3;u>=0;u--)e[u]=o(e[u],i[u]),e[u]-=y[l]+(e[(u+3)%4]&e[(u+2)%4])+(~e[(u+3)%4]&e[(u+1)%4]),l--},c=function(e){for(u=3;u>=0;u--)e[u]-=y[63&e[(u+3)%4]]});var g=function(e){var t=[];for(u=0;u<4;u++){var a=f.getInt16Le();null!==d&&(r?a^=d.getInt16Le():d.putInt16Le(a)),t.push(65535&a)}l=r?0:63;for(var n=0;n=8;)g([[5,n],[1,c],[6,n],[1,c],[5,n]])},finish:function(e){var t=!0;if(r)if(e)t=e(8,f,!r);else{var a=8===f.length()?8:8-f.length();f.fillWithByte(a,a)}if(t&&(p=!0,v.update()),!r&&(t=0===f.length()))if(e)t=e(8,h,!r);else{var n=h.length(),i=h.at(n-1);i>n?t=!1:h.truncate(i)}return t}}};a.rc2.startEncrypting=function(e,t,r){var n=a.rc2.createEncryptionCipher(e,128);return n.start(t,r),n},a.rc2.createEncryptionCipher=function(e,t){return c(e,t,!0)},a.rc2.startDecrypting=function(e,t,r){var n=a.rc2.createDecryptionCipher(e,128);return n.start(t,r),n},a.rc2.createDecryptionCipher=function(e,t){return c(e,t,!1)}},function(e,t,r){function a(e,t,r){r||(r=n.md.sha1.create());for(var a="",i=Math.ceil(t/r.digestLength),s=0;s>24&255,s>>16&255,s>>8&255,255&s);r.start(),r.update(e+o),a+=r.digest().getBytes()}return a.substring(0,t)}var n=r(0);r(1),r(2),r(9);var i=e.exports=n.pkcs1=n.pkcs1||{};i.encode_rsa_oaep=function(e,t,r){var i,s,o,c;"string"==typeof r?(i=r,s=arguments[3]||void 0,o=arguments[4]||void 0):r&&(i=r.label||void 0,s=r.seed||void 0,o=r.md||void 0,r.mgf1&&r.mgf1.md&&(c=r.mgf1.md)),o?o.start():o=n.md.sha1.create(),c||(c=o);var u=Math.ceil(e.n.bitLength()/8),l=u-2*o.digestLength-2;if(t.length>l){var p=new Error("RSAES-OAEP input message length is too long.");throw p.length=t.length,p.maxLength=l,p}i||(i=""),o.update(i,"raw");for(var f=o.digest(),h="",d=l-t.length,y=0;yt&&(e=s(t,r)),e.isProbablePrime(o))return u(null,e);e.dAddOffset(l[i++%8],0)}while(c<0||+new Date-pe&&(c=s(e,t));var h=c.toString(16);r.target.postMessage({hex:h,workLoad:p}),c.dAddOffset(f,0)}}l=Math.max(1,l);for(var a=[],n=0;n=0&&n.push(o):n.push(o))}return n}function n(e){if(e.composed||e.constructed){for(var t=u.util.createBuffer(),r=0;r0&&(n=l.create(l.Class.UNIVERSAL,l.Type.SET,!0,c));var h=[],d=[];null!==t&&(d=u.util.isArray(t)?t:[t]);for(var y=[],g=0;g0){var E=l.create(l.Class.UNIVERSAL,l.Type.SEQUENCE,!0,y),S=l.create(l.Class.UNIVERSAL,l.Type.SEQUENCE,!0,[l.create(l.Class.UNIVERSAL,l.Type.OID,!1,l.oidToDer(p.oids.data).getBytes()),l.create(l.Class.CONTEXT_SPECIFIC,0,!0,[l.create(l.Class.UNIVERSAL,l.Type.OCTETSTRING,!1,l.toDer(E).getBytes())])]);h.push(S)}var T=null;if(null!==e){var I=p.wrapRsaPrivateKey(p.privateKeyToAsn1(e));T=null===r?l.create(l.Class.UNIVERSAL,l.Type.SEQUENCE,!0,[l.create(l.Class.UNIVERSAL,l.Type.OID,!1,l.oidToDer(p.oids.keyBag).getBytes()),l.create(l.Class.CONTEXT_SPECIFIC,0,!0,[I]),n]):l.create(l.Class.UNIVERSAL,l.Type.SEQUENCE,!0,[l.create(l.Class.UNIVERSAL,l.Type.OID,!1,l.oidToDer(p.oids.pkcs8ShroudedKeyBag).getBytes()),l.create(l.Class.CONTEXT_SPECIFIC,0,!0,[p.encryptPrivateKeyInfo(I,r,a)]),n]);var b=l.create(l.Class.UNIVERSAL,l.Type.SEQUENCE,!0,[T]),A=l.create(l.Class.UNIVERSAL,l.Type.SEQUENCE,!0,[l.create(l.Class.UNIVERSAL,l.Type.OID,!1,l.oidToDer(p.oids.data).getBytes()),l.create(l.Class.CONTEXT_SPECIFIC,0,!0,[l.create(l.Class.UNIVERSAL,l.Type.OCTETSTRING,!1,l.toDer(b).getBytes())])]);h.push(A)}var B,N=l.create(l.Class.UNIVERSAL,l.Type.SEQUENCE,!0,h);if(a.useMac){var o=u.md.sha1.create(),w=new u.util.ByteBuffer(u.random.getBytes(a.saltSize)),k=a.count,e=f.generateKey(r,w,3,k,20),R=u.hmac.create();R.start(o,e),R.update(l.toDer(N).getBytes());var _=R.getMac();B=l.create(l.Class.UNIVERSAL,l.Type.SEQUENCE,!0,[l.create(l.Class.UNIVERSAL,l.Type.SEQUENCE,!0,[l.create(l.Class.UNIVERSAL,l.Type.SEQUENCE,!0,[l.create(l.Class.UNIVERSAL,l.Type.OID,!1,l.oidToDer(p.oids.sha1).getBytes()),l.create(l.Class.UNIVERSAL,l.Type.NULL,!1,"")]),l.create(l.Class.UNIVERSAL,l.Type.OCTETSTRING,!1,_.getBytes())]),l.create(l.Class.UNIVERSAL,l.Type.OCTETSTRING,!1,w.getBytes()),l.create(l.Class.UNIVERSAL,l.Type.INTEGER,!1,l.integerToDer(k).getBytes())])}return l.create(l.Class.UNIVERSAL,l.Type.SEQUENCE,!0,[l.create(l.Class.UNIVERSAL,l.Type.INTEGER,!1,l.integerToDer(3).getBytes()),l.create(l.Class.UNIVERSAL,l.Type.SEQUENCE,!0,[l.create(l.Class.UNIVERSAL,l.Type.OID,!1,l.oidToDer(p.oids.data).getBytes()),l.create(l.Class.CONTEXT_SPECIFIC,0,!0,[l.create(l.Class.UNIVERSAL,l.Type.OCTETSTRING,!1,l.toDer(N).getBytes())])]),B])},f.generateKey=u.pbe.generatePkcs12Key},function(e,t,r){var a=r(0);r(3),r(1);var n=a.asn1,i=e.exports=a.pkcs7asn1=a.pkcs7asn1||{};a.pkcs7=a.pkcs7||{},a.pkcs7.asn1=i;var s={name:"ContentInfo",tagClass:n.Class.UNIVERSAL,type:n.Type.SEQUENCE,constructed:!0,value:[{name:"ContentInfo.ContentType",tagClass:n.Class.UNIVERSAL,type:n.Type.OID,constructed:!1,capture:"contentType"},{name:"ContentInfo.content",tagClass:n.Class.CONTEXT_SPECIFIC,type:0,constructed:!0,optional:!0,captureAsn1:"content"}]};i.contentInfoValidator=s;var o={name:"EncryptedContentInfo",tagClass:n.Class.UNIVERSAL,type:n.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedContentInfo.contentType",tagClass:n.Class.UNIVERSAL,type:n.Type.OID,constructed:!1,capture:"contentType"},{name:"EncryptedContentInfo.contentEncryptionAlgorithm",tagClass:n.Class.UNIVERSAL,type:n.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedContentInfo.contentEncryptionAlgorithm.algorithm",tagClass:n.Class.UNIVERSAL,type:n.Type.OID,constructed:!1,capture:"encAlgorithm"},{name:"EncryptedContentInfo.contentEncryptionAlgorithm.parameter",tagClass:n.Class.UNIVERSAL,captureAsn1:"encParameter"}]},{name:"EncryptedContentInfo.encryptedContent",tagClass:n.Class.CONTEXT_SPECIFIC,type:0,capture:"encryptedContent",captureAsn1:"encryptedContentAsn1"}]};i.envelopedDataValidator={name:"EnvelopedData",tagClass:n.Class.UNIVERSAL,type:n.Type.SEQUENCE,constructed:!0,value:[{name:"EnvelopedData.Version",tagClass:n.Class.UNIVERSAL,type:n.Type.INTEGER,constructed:!1,capture:"version"},{name:"EnvelopedData.RecipientInfos",tagClass:n.Class.UNIVERSAL,type:n.Type.SET,constructed:!0,captureAsn1:"recipientInfos"}].concat(o)},i.encryptedDataValidator={name:"EncryptedData",tagClass:n.Class.UNIVERSAL,type:n.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedData.Version",tagClass:n.Class.UNIVERSAL,type:n.Type.INTEGER,constructed:!1,capture:"version"}].concat(o)};var c={name:"SignerInfo",tagClass:n.Class.UNIVERSAL,type:n.Type.SEQUENCE,constructed:!0,value:[{name:"SignerInfo.version",tagClass:n.Class.UNIVERSAL,type:n.Type.INTEGER,constructed:!1},{name:"SignerInfo.issuerAndSerialNumber",tagClass:n.Class.UNIVERSAL,type:n.Type.SEQUENCE,constructed:!0,value:[{name:"SignerInfo.issuerAndSerialNumber.issuer",tagClass:n.Class.UNIVERSAL,type:n.Type.SEQUENCE,constructed:!0,captureAsn1:"issuer"},{name:"SignerInfo.issuerAndSerialNumber.serialNumber",tagClass:n.Class.UNIVERSAL,type:n.Type.INTEGER,constructed:!1,capture:"serial"}]},{name:"SignerInfo.digestAlgorithm",tagClass:n.Class.UNIVERSAL,type:n.Type.SEQUENCE,constructed:!0,value:[{name:"SignerInfo.digestAlgorithm.algorithm",tagClass:n.Class.UNIVERSAL,type:n.Type.OID,constructed:!1,capture:"digestAlgorithm"},{name:"SignerInfo.digestAlgorithm.parameter",tagClass:n.Class.UNIVERSAL,constructed:!1,captureAsn1:"digestParameter",optional:!0}]},{name:"SignerInfo.authenticatedAttributes",tagClass:n.Class.CONTEXT_SPECIFIC,type:0,constructed:!0,optional:!0,capture:"authenticatedAttributes"},{name:"SignerInfo.digestEncryptionAlgorithm",tagClass:n.Class.UNIVERSAL,type:n.Type.SEQUENCE,constructed:!0,capture:"signatureAlgorithm"},{name:"SignerInfo.encryptedDigest",tagClass:n.Class.UNIVERSAL,type:n.Type.OCTETSTRING,constructed:!1,capture:"signature"},{name:"SignerInfo.unauthenticatedAttributes",tagClass:n.Class.CONTEXT_SPECIFIC,type:1,constructed:!0,optional:!0,capture:"unauthenticatedAttributes"}]};i.signedDataValidator={name:"SignedData",tagClass:n.Class.UNIVERSAL,type:n.Type.SEQUENCE,constructed:!0,value:[{name:"SignedData.Version",tagClass:n.Class.UNIVERSAL,type:n.Type.INTEGER,constructed:!1,capture:"version"},{name:"SignedData.DigestAlgorithms",tagClass:n.Class.UNIVERSAL,type:n.Type.SET,constructed:!0,captureAsn1:"digestAlgorithms"},s,{name:"SignedData.Certificates",tagClass:n.Class.CONTEXT_SPECIFIC,type:0,optional:!0,captureAsn1:"certificates"},{name:"SignedData.CertificateRevocationLists",tagClass:n.Class.CONTEXT_SPECIFIC,type:1,optional:!0,captureAsn1:"crls"},{name:"SignedData.SignerInfos",tagClass:n.Class.UNIVERSAL,type:n.Type.SET,capture:"signerInfos",optional:!0,value:[c]}]},i.recipientInfoValidator={name:"RecipientInfo",tagClass:n.Class.UNIVERSAL,type:n.Type.SEQUENCE,constructed:!0,value:[{name:"RecipientInfo.version",tagClass:n.Class.UNIVERSAL,type:n.Type.INTEGER,constructed:!1,capture:"version"},{name:"RecipientInfo.issuerAndSerial",tagClass:n.Class.UNIVERSAL,type:n.Type.SEQUENCE,constructed:!0,value:[{name:"RecipientInfo.issuerAndSerial.issuer",tagClass:n.Class.UNIVERSAL,type:n.Type.SEQUENCE,constructed:!0,captureAsn1:"issuer"},{name:"RecipientInfo.issuerAndSerial.serialNumber",tagClass:n.Class.UNIVERSAL,type:n.Type.INTEGER,constructed:!1,capture:"serial"}]},{name:"RecipientInfo.keyEncryptionAlgorithm",tagClass:n.Class.UNIVERSAL,type:n.Type.SEQUENCE,constructed:!0,value:[{name:"RecipientInfo.keyEncryptionAlgorithm.algorithm",tagClass:n.Class.UNIVERSAL,type:n.Type.OID,constructed:!1,capture:"encAlgorithm"},{name:"RecipientInfo.keyEncryptionAlgorithm.parameter",tagClass:n.Class.UNIVERSAL,constructed:!1,captureAsn1:"encParameter"}]},{name:"RecipientInfo.encryptedKey",tagClass:n.Class.UNIVERSAL,type:n.Type.OCTETSTRING,constructed:!1,capture:"encKey"}]}},function(e,t,r){var a=r(0);r(1),a.mgf=a.mgf||{},(e.exports=a.mgf.mgf1=a.mgf1=a.mgf1||{}).create=function(e){return{generate:function(t,r){for(var n=new a.util.ByteBuffer,i=Math.ceil(r/e.digestLength),s=0;s=128;){for(L=0;L<16;++L)t[L][0]=r.getInt32()>>>0,t[L][1]=r.getInt32()>>>0;for(;L<80;++L)P=t[L-2],U=P[0],D=P[1],a=((U>>>19|D<<13)^(D>>>29|U<<3)^U>>>6)>>>0,n=((U<<13|D>>>19)^(D<<3|U>>>29)^(U<<26|D>>>6))>>>0,O=t[L-15],U=O[0],D=O[1],i=((U>>>1|D<<31)^(U>>>8|D<<24)^U>>>7)>>>0,s=((U<<31|D>>>1)^(U<<24|D>>>8)^(U<<25|D>>>7))>>>0,V=t[L-7],x=t[L-16],D=n+V[1]+s+x[1],t[L][0]=a+V[0]+i+x[0]+(D/4294967296>>>0)>>>0,t[L][1]=D>>>0;for(g=e[0][0],v=e[0][1],m=e[1][0],C=e[1][1],E=e[2][0],S=e[2][1],T=e[3][0],I=e[3][1],b=e[4][0],A=e[4][1],B=e[5][0],N=e[5][1],w=e[6][0],k=e[6][1],R=e[7][0],_=e[7][1],L=0;L<80;++L)u=((b>>>14|A<<18)^(b>>>18|A<<14)^(A>>>9|b<<23))>>>0,p=((b<<18|A>>>14)^(b<<14|A>>>18)^(A<<23|b>>>9))>>>0,f=(w^b&(B^w))>>>0,h=(k^A&(N^k))>>>0,o=((g>>>28|v<<4)^(v>>>2|g<<30)^(v>>>7|g<<25))>>>0,c=((g<<4|v>>>28)^(v<<30|g>>>2)^(v<<25|g>>>7))>>>0,d=(g&m|E&(g^m))>>>0,y=(v&C|S&(v^C))>>>0,D=_+p+h+l[L][1]+t[L][1],a=R+u+f+l[L][0]+t[L][0]+(D/4294967296>>>0)>>>0,n=D>>>0,D=c+y,i=o+d+(D/4294967296>>>0)>>>0,s=D>>>0,R=w,_=k,w=B,k=N,B=b,N=A,D=I+n,b=T+a+(D/4294967296>>>0)>>>0,A=D>>>0,T=E,I=S,E=m,S=C,m=g,C=v,D=n+s,g=a+i+(D/4294967296>>>0)>>>0,v=D>>>0;D=e[0][1]+v,e[0][0]=e[0][0]+g+(D/4294967296>>>0)>>>0,e[0][1]=D>>>0,D=e[1][1]+C,e[1][0]=e[1][0]+m+(D/4294967296>>>0)>>>0,e[1][1]=D>>>0,D=e[2][1]+S,e[2][0]=e[2][0]+E+(D/4294967296>>>0)>>>0,e[2][1]=D>>>0,D=e[3][1]+I,e[3][0]=e[3][0]+T+(D/4294967296>>>0)>>>0,e[3][1]=D>>>0,D=e[4][1]+A,e[4][0]=e[4][0]+b+(D/4294967296>>>0)>>>0,e[4][1]=D>>>0,D=e[5][1]+N,e[5][0]=e[5][0]+B+(D/4294967296>>>0)>>>0,e[5][1]=D>>>0,D=e[6][1]+k,e[6][0]=e[6][0]+w+(D/4294967296>>>0)>>>0,e[6][1]=D>>>0,D=e[7][1]+_,e[7][0]=e[7][0]+R+(D/4294967296>>>0)>>>0,e[7][1]=D>>>0,K-=128}}var i=r(0);r(4),r(1);var s=e.exports=i.sha512=i.sha512||{};i.md.sha512=i.md.algorithms.sha512=s;var o=i.sha384=i.sha512.sha384=i.sha512.sha384||{};o.create=function(){return s.create("SHA-384")},i.md.sha384=i.md.algorithms.sha384=o,i.sha512.sha256=i.sha512.sha256||{create:function(){return s.create("SHA-512/256")}},i.md["sha512/256"]=i.md.algorithms["sha512/256"]=i.sha512.sha256,i.sha512.sha224=i.sha512.sha224||{create:function(){return s.create("SHA-512/224")}},i.md["sha512/224"]=i.md.algorithms["sha512/224"]=i.sha512.sha224,s.create=function(e){if(u||a(),void 0===e&&(e="SHA-512"),!(e in p))throw new Error("Invalid SHA-512 algorithm: "+e);for(var t=p[e],r=null,s=i.util.createBuffer(),o=new Array(80),l=0;l<80;++l)o[l]=new Array(2);var f=64;switch(e){case"SHA-384":f=48;break;case"SHA-512/256":f=32;break;case"SHA-512/224":f=28}var h={algorithm:e.replace("-","").toLowerCase(),blockLength:128,digestLength:f,messageLength:0,fullMessageLength:null,messageLengthSize:16};return h.start=function(){h.messageLength=0,h.fullMessageLength=h.messageLength128=[];for(var e=h.messageLengthSize/4,a=0;a>>0,a>>>0];for(var c=h.fullMessageLength.length-1;c>=0;--c)h.fullMessageLength[c]+=a[1],a[1]=a[0]+(h.fullMessageLength[c]/4294967296>>>0),h.fullMessageLength[c]=h.fullMessageLength[c]>>>0,a[0]=a[1]/4294967296>>>0;return s.putBytes(e),n(r,o,s),(s.read>2048||0===s.length())&&s.compact(),h},h.digest=function(){var t=i.util.createBuffer();t.putBytes(s.bytes());var a=h.fullMessageLength[h.fullMessageLength.length-1]+h.messageLengthSize,u=a&h.blockLength-1;t.putBytes(c.substr(0,h.blockLength-u));for(var l,p,f=8*h.fullMessageLength[0],d=0;d>>0,f+=p,t.putInt32(f>>>0),f=l>>>0;t.putInt32(f);for(var y=new Array(r.length),d=0;d0;)i.push(o%a),o=o/a|0}var c="";for(r=0;0===e.at(r)&&r=0;--r)c+=t[i[r]];return c}var a={};e.exports=a;var n={};a.encode=function(e,t,a){if("string"!=typeof t)throw new TypeError('"alphabet" must be a string.');if(void 0!==a&&"number"!=typeof a)throw new TypeError('"maxline" must be a number.');var n="";if(e instanceof Uint8Array){var i=0,s=t.length,o=t.charAt(0),c=[0];for(i=0;i0;)c.push(l%s),l=l/s|0}for(i=0;0===e[i]&&i=0;--i)n+=t[c[i]]}else n=r(e,t);if(a){var p=new RegExp(".{1,"+a+"}","g");n=n.match(p).join("\r\n")}return n},a.decode=function(e,t){if("string"!=typeof e)throw new TypeError('"input" must be a string.');if("string"!=typeof t)throw new TypeError('"alphabet" must be a string.');var r=n[t];if(!r){r=n[t]=[];for(var a=0;a>=8;for(;l>0;)o.push(255&l),l>>=8}for(var p=0;e[p]===s&&p=l.Versions.TLS_1_1.minor&&s.output.putBytes(n),s.update(e.fragment),s.finish(i)&&(e.fragment=s.output,e.length=e.fragment.length(),r=!0),r}function i(e,t,r){if(!r){var a=e-t.length()%e;t.fillWithByte(a-1,a)}return!0}function s(e,t,r){var a=!0;if(r){for(var n=t.length(),i=t.last(),s=n-1-i;s=i?(e.fragment=n.output.getBytes(f-i),o=n.output.getBytes(i)):e.fragment=n.output.getBytes(),e.fragment=u.util.createBuffer(e.fragment),e.length=e.fragment.length();var h=t.macFunction(t.macKey,t.sequenceNumber,e);return t.updateSequenceNumber(),r=c(t.macKey,o,h)&&r}function c(e,t,r){var a=u.hmac.create();return a.start("SHA1",e),a.update(t),t=a.digest().getBytes(),a.start(null,null),a.update(r),r=a.digest().getBytes(),t===r}var u=r(0);r(5),r(19);var l=e.exports=u.tls;l.CipherSuites.TLS_RSA_WITH_AES_128_CBC_SHA={id:[0,47],name:"TLS_RSA_WITH_AES_128_CBC_SHA",initSecurityParameters:function(e){e.bulk_cipher_algorithm=l.BulkCipherAlgorithm.aes,e.cipher_type=l.CipherType.block,e.enc_key_length=16,e.block_length=16,e.fixed_iv_length=16,e.record_iv_length=16,e.mac_algorithm=l.MACAlgorithm.hmac_sha1,e.mac_length=20,e.mac_key_length=20},initConnectionState:a},l.CipherSuites.TLS_RSA_WITH_AES_256_CBC_SHA={id:[0,53],name:"TLS_RSA_WITH_AES_256_CBC_SHA",initSecurityParameters:function(e){e.bulk_cipher_algorithm=l.BulkCipherAlgorithm.aes,e.cipher_type=l.CipherType.block,e.enc_key_length=32,e.block_length=16,e.fixed_iv_length=16,e.record_iv_length=16,e.mac_algorithm=l.MACAlgorithm.hmac_sha1,e.mac_length=20,e.mac_key_length=20},initConnectionState:a};var p=0},function(e,t,r){var a=r(0);r(30),e.exports=a.mgf=a.mgf||{},a.mgf.mgf1=a.mgf1},function(e,t,r){function a(e){var t=e.message;if(t instanceof Uint8Array)return t;var r=e.encoding;if(void 0===t){if(!e.md)throw new TypeError('"options.message" or "options.md" not specified.');t=e.md.digest().getBytes(),r="binary"}if("string"==typeof t&&!r)throw new TypeError('"options.encoding" must be "binary" or "utf8".');if("string"==typeof t){if("undefined"!=typeof Buffer)return new Buffer(t,r);t=new D(t,r)}else if(!(t instanceof D))throw new TypeError('"options.message" must be a node.js Buffer, a Uint8Array, a forge ByteBuffer, or a string with "options.encoding" specifying its encoding.');for(var a=new P(t.length()),n=0;n=32;--a){for(r=0,n=a-32,i=a-12;n>8,t[n]-=256*r;t[n]+=r,t[a]=0}for(r=0,n=0;n<32;++n)t[n]+=r-(t[31]>>4)*j[n],r=t[n]>>8,t[n]&=255;for(n=0;n<32;++n)t[n]-=r*j[n];for(a=0;a<32;++a)t[a+1]+=t[a]>>8,e[a]=255&t[a]}function u(e){for(var t=new Float64Array(64),r=0;r<64;++r)t[r]=e[r],e[r]=0;c(e,t)}function l(e,t){var r=N(),a=N(),n=N(),i=N(),s=N(),o=N(),c=N(),u=N(),l=N();k(r,e[1],e[0]),k(l,t[1],t[0]),_(r,r,l),w(a,e[0],e[1]),w(l,t[0],t[1]),_(a,a,l),_(n,e[3],t[3]),_(n,n,M),_(i,e[2],t[2]),w(i,i,i),k(s,a,r),k(o,i,n),w(c,i,n),w(u,a,r),_(e[0],s,o),_(e[1],u,c),_(e[2],c,o),_(e[3],s,u)}function p(e,t,r){for(var a=0;a<4;++a)B(e[a],t[a],r)}function f(e,t){var r=N(),a=N(),n=N();b(n,t[2]),_(r,t[0],n),_(a,t[1],n),h(e,a),e[31]^=E(r)<<7}function h(e,t){var r,a,n,i=N(),s=N();for(r=0;r<16;++r)s[r]=t[r];for(A(s),A(s),A(s),a=0;a<2;++a){for(i[0]=s[0]-65517,r=1;r<15;++r)i[r]=s[r]-65535-(i[r-1]>>16&1),i[r-1]&=65535;i[15]=s[15]-32767-(i[14]>>16&1),n=i[15]>>16&1,i[14]&=65535,B(s,i,1-n)}for(r=0;r<16;r++)e[2*r]=255&s[r],e[2*r+1]=s[r]>>8}function d(e,t){var r=N(),a=N(),n=N(),i=N(),s=N(),o=N(),c=N();return I(e[2],x),y(e[1],t),R(n,e[1]),_(i,n,K),k(n,n,e[2]),w(i,e[2],i),R(s,i),R(o,s),_(c,o,s),_(r,c,n),_(r,r,i),g(r,r),_(r,r,n),_(r,r,i),_(r,r,i),_(e[0],r,i),R(a,e[0]),_(a,a,i),v(a,n)&&_(e[0],e[0],H),R(a,e[0]),_(a,a,i),v(a,n)?-1:(E(e[0])===t[31]>>7&&k(e[0],O,e[0]),_(e[3],e[0],e[1]),0)}function y(e,t){var r;for(r=0;r<16;++r)e[r]=t[2*r]+(t[2*r+1]<<8);e[15]&=32767}function g(e,t){var r,a=N();for(r=0;r<16;++r)a[r]=t[r];for(r=250;r>=0;--r)R(a,a),1!==r&&_(a,a,t);for(r=0;r<16;++r)e[r]=a[r]}function v(e,t){var r=new P(32),a=new P(32);return h(r,e),h(a,t),m(r,0,a,0)}function m(e,t,r,a){return C(e,t,r,a,32)}function C(e,t,r,a,n){var i,s=0;for(i=0;i>>8)-1}function E(e){var t=new P(32);return h(t,e),1&t[0]}function S(e,t,r){var a,n;for(I(e[0],O),I(e[1],x),I(e[2],x),I(e[3],O),n=255;n>=0;--n)a=r[n/8|0]>>(7&n)&1,p(e,t,a),l(t,e),l(e,e),p(e,t,a)}function T(e,t){var r=[N(),N(),N(),N()];I(r[0],F),I(r[1],q),I(r[2],x),_(r[3],F,q),S(e,r,t)}function I(e,t){var r;for(r=0;r<16;r++)e[r]=0|t[r]}function b(e,t){var r,a=N();for(r=0;r<16;++r)a[r]=t[r];for(r=253;r>=0;--r)R(a,a),2!==r&&4!==r&&_(a,a,t);for(r=0;r<16;++r)e[r]=a[r]}function A(e){var t,r,a=1;for(t=0;t<16;++t)r=e[t]+a+65535,a=Math.floor(r/65536),e[t]=r-65536*a;e[0]+=a-1+37*(a-1)}function B(e,t,r){for(var a,n=~(r-1),i=0;i<16;++i)a=n&(e[i]^t[i]),e[i]^=a,t[i]^=a}function N(e){var t,r=new Float64Array(16);if(e)for(t=0;t=0};var O=N(),x=N([1]),K=N([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),M=N([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),F=N([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),q=N([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),j=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]),H=N([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139])},function(e,t,r){function a(e,t,r,a){e.generate=function(e,i){for(var s=new n.util.ByteBuffer,o=Math.ceil(i/a)+r,c=new n.util.ByteBuffer,u=r;u0&&(s=n.util.fillString(String.fromCharCode(0),c)+s),{encapsulation:t.encrypt(s,"NONE"),key:e.generate(s,a)}},a.decrypt=function(t,r,a){var n=t.decrypt(r,"NONE");return e.generate(n,a)},a},n.kem.kdf1=function(e,t){a(this,e,0,t||e.digestLength)},n.kem.kdf2=function(e,t){a(this,e,1,t||e.digestLength)}},function(e,t,r){e.exports=r(4),r(14),r(9),r(23),r(32)},function(e,t,r){function a(e){var t={},r=[];if(!d.validate(e,y.asn1.recipientInfoValidator,t,r)){var a=new Error("Cannot read PKCS#7 RecipientInfo. ASN.1 object is not an PKCS#7 RecipientInfo.");throw a.errors=r,a}return{version:t.version.charCodeAt(0),issuer:h.pki.RDNAttributesAsArray(t.issuer),serialNumber:h.util.createBuffer(t.serial).toHex(),encryptedContent:{algorithm:d.derToOid(t.encAlgorithm),parameter:t.encParameter.value,content:t.encKey}}}function n(e){return d.create(d.Class.UNIVERSAL,d.Type.SEQUENCE,!0,[d.create(d.Class.UNIVERSAL,d.Type.INTEGER,!1,d.integerToDer(e.version).getBytes()),d.create(d.Class.UNIVERSAL,d.Type.SEQUENCE,!0,[h.pki.distinguishedNameToAsn1({attributes:e.issuer}),d.create(d.Class.UNIVERSAL,d.Type.INTEGER,!1,h.util.hexToBytes(e.serialNumber))]),d.create(d.Class.UNIVERSAL,d.Type.SEQUENCE,!0,[d.create(d.Class.UNIVERSAL,d.Type.OID,!1,d.oidToDer(e.encryptedContent.algorithm).getBytes()),d.create(d.Class.UNIVERSAL,d.Type.NULL,!1,"")]),d.create(d.Class.UNIVERSAL,d.Type.OCTETSTRING,!1,e.encryptedContent.content)])}function i(e){for(var t=[],r=0;r0){for(var r=d.create(d.Class.CONTEXT_SPECIFIC,1,!0,[]),a=0;a=r&&n0&&n.value[0].value.push(d.create(d.Class.CONTEXT_SPECIFIC,0,!0,e)),a.length>0&&n.value[0].value.push(d.create(d.Class.CONTEXT_SPECIFIC,1,!0,a)),n.value[0].value.push(d.create(d.Class.UNIVERSAL,d.Type.SET,!0,r.signerInfos)),d.create(d.Class.UNIVERSAL,d.Type.SEQUENCE,!0,[d.create(d.Class.UNIVERSAL,d.Type.OID,!1,d.oidToDer(r.type).getBytes()),n])},addSigner:function(e){var t=e.issuer,a=e.serialNumber;if(e.certificate){var n=e.certificate;"string"==typeof n&&(n=h.pki.certificateFromPem(n)),t=n.issuer.attributes,a=n.serialNumber}var i=e.key;if(!i)throw new Error("Could not add PKCS#7 signer; no private key specified.");"string"==typeof i&&(i=h.pki.privateKeyFromPem(i));var s=e.digestAlgorithm||h.pki.oids.sha1;switch(s){case h.pki.oids.sha1:case h.pki.oids.sha256:case h.pki.oids.sha384:case h.pki.oids.sha512:case h.pki.oids.md5:break;default:throw new Error("Could not add PKCS#7 signer; unknown message digest algorithm: "+s)}var o=e.authenticatedAttributes||[];if(o.length>0){for(var c=!1,u=!1,l=0;l="8"&&(r="00"+r);var a=s.util.hexToBytes(r);e.putInt32(a.length),e.putBytes(a)}function n(e,t){e.putInt32(t.length),e.putString(t)}function i(){for(var e=s.md.sha1.create(),t=arguments.length,r=0;r0&&(this.state=g[this.state].block)},v.prototype.unblock=function(e){return e=void 0===e?1:e,this.blocks-=e,0===this.blocks&&this.state!==f&&(this.state=u,C(this,0)),this.blocks},v.prototype.sleep=function(e){e=void 0===e?0:e,this.state=g[this.state].sleep;var t=this;this.timeoutId=setTimeout(function(){t.timeoutId=null,t.state=u,C(t,0)},e)},v.prototype.wait=function(e){e.wait(this)},v.prototype.wakeup=function(){this.state===p&&(cancelTimeout(this.timeoutId),this.timeoutId=null,this.state=u,C(this,0))},v.prototype.cancel=function(){this.state=g[this.state].cancel,this.permitsNeeded=0,null!==this.timeoutId&&(cancelTimeout(this.timeoutId),this.timeoutId=null),this.subtasks=[]},v.prototype.fail=function(e){if(this.error=!0,E(this,!0),e)e.error=this.error,e.swapTime=this.swapTime,e.userData=this.userData,C(e,0);else{if(null!==this.parent){for(var t=this.parent;null!==t.parent;)t.error=this.error,t.swapTime=this.swapTime,t.userData=this.userData,t=t.parent;E(t,!0)}this.failureCallback&&this.failureCallback(this)}};var m=function(e){e.error=!1,e.state=g[e.state][y],setTimeout(function(){e.state===u&&(e.swapTime=+new Date,e.run(e),C(e,0))},0)},C=function(e,t){var r=t>30||+new Date-e.swapTime>20,a=function(t){if(t++,e.state===u)if(r&&(e.swapTime=+new Date),e.subtasks.length>0){var a=e.subtasks.shift();a.error=e.error,a.swapTime=e.swapTime,a.userData=e.userData,a.run(a),a.error||C(a,t)}else E(e),e.error||null!==e.parent&&(e.parent.error=e.error,e.parent.swapTime=e.swapTime,e.parent.userData=e.userData,C(e.parent,t))};r?setTimeout(a,0):a(t)},E=function(e,t){e.state=f,delete i[e.id],null===e.parent&&(e.type in o?0===o[e.type].length?a.log.error(n,"[%s][%s] task queue empty [%s]",e.id,e.name,e.type):o[e.type][0]!==e?a.log.error(n,"[%s][%s] task not first in queue [%s]",e.id,e.name,e.type):(o[e.type].shift(),0===o[e.type].length?delete o[e.type]:o[e.type][0].start()):a.log.error(n,"[%s][%s] task queue missing [%s]",e.id,e.name,e.type),t||(e.error&&e.failureCallback?e.failureCallback(e):!e.error&&e.successCallback&&e.successCallback(e)))};e.exports=a.task=a.task||{},a.task.start=function(e){var t=new v({run:e.run,name:e.name||"?"});t.type=e.type,t.successCallback=e.success||null,t.failureCallback=e.failure||null,t.type in o?o[e.type].push(t):(o[t.type]=[t],m(t))},a.task.cancel=function(e){e in o&&(o[e]=[o[e][0]])},a.task.createCondition=function(){var e={tasks:{}};return e.wait=function(t){t.id in e.tasks||(t.block(),e.tasks[t.id]=t)},e.notify=function(){var t=e.tasks;e.tasks={};for(var r in t)t[r].unblock()},e}}])}); +//# sourceMappingURL=forge.min.js.map \ No newline at end of file diff --git a/express-server/node_modules/node-forge/dist/forge.min.js.map b/express-server/node_modules/node-forge/dist/forge.min.js.map new file mode 100644 index 00000000..5350010c --- /dev/null +++ b/express-server/node_modules/node-forge/dist/forge.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"forge.min.js","sources":["webpack:///forge.min.js"],"mappings":"AAAA","sourceRoot":""} \ No newline at end of file diff --git a/express-server/node_modules/node-forge/dist/prime.worker.min.js b/express-server/node_modules/node-forge/dist/prime.worker.min.js new file mode 100644 index 00000000..7f91855e --- /dev/null +++ b/express-server/node_modules/node-forge/dist/prime.worker.min.js @@ -0,0 +1,2 @@ +!function(t){function i(o){if(r[o])return r[o].exports;var s=r[o]={i:o,l:!1,exports:{}};return t[o].call(s.exports,s,s.exports,i),s.l=!0,s.exports}var r={};i.m=t,i.c=r,i.d=function(t,r,o){i.o(t,r)||Object.defineProperty(t,r,{configurable:!1,enumerable:!0,get:o})},i.n=function(t){var r=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(r,"a",r),r},i.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},i.p="",i(i.s=1)}([function(t,i){t.exports={options:{usePureJavaScript:!1}}},function(t,i,r){r(2),t.exports=r(0)},function(t,i,r){function o(t){for(var i=new p(t.hex,16),r=0,o=t.workLoad,a=0;a=0);var f=o.modPow(s,t);if(0!==f.compareTo(p.ONE)&&0!==f.compareTo(i)){for(var d=r;--d;){if(f=f.modPowInt(2,t),0===f.compareTo(p.ONE))return!1;if(0===f.compareTo(i))break}if(0===d)return!1}}return!0}function e(){return{nextBytes:function(t){for(var i=0;i=0;){var e=i*this.data[t++]+r.data[o]+s;s=Math.floor(e/67108864),r.data[o++]=67108863&e}return s}function e(t,i,r,o,s,a){for(var e=32767&i,n=i>>15;--a>=0;){var h=32767&this.data[t],u=this.data[t++]>>15,f=n*h+u*e;h=e*h+((32767&f)<<15)+r.data[o]+(1073741823&s),s=(h>>>30)+(f>>>15)+n*u+(s>>>30),r.data[o++]=1073741823&h}return s}function n(t,i,r,o,s,a){for(var e=16383&i,n=i>>14;--a>=0;){var h=16383&this.data[t],u=this.data[t++]>>14,f=n*h+u*e;h=e*h+((16383&f)<<14)+r.data[o]+s,s=(h>>28)+(f>>14)+n*u,r.data[o++]=268435455&h}return s}function h(t){return ai.charAt(t)}function u(t,i){var r=ei[t.charCodeAt(i)];return null==r?-1:r}function f(t){for(var i=this.t-1;i>=0;--i)t.data[i]=this.data[i];t.t=this.t,t.s=this.s}function p(t){this.t=1,this.s=t<0?-1:0,t>0?this.data[0]=t:t<-1?this.data[0]=t+this.DV:this.t=0}function d(t){var i=s();return i.fromInt(t),i}function c(t,i){var r;if(16==i)r=4;else if(8==i)r=3;else if(256==i)r=8;else if(2==i)r=1;else if(32==i)r=5;else{if(4!=i)return void this.fromRadix(t,i);r=2}this.t=0,this.s=0;for(var s=t.length,a=!1,e=0;--s>=0;){var n=8==r?255&t[s]:u(t,s);n<0?"-"==t.charAt(s)&&(a=!0):(a=!1,0==e?this.data[this.t++]=n:e+r>this.DB?(this.data[this.t-1]|=(n&(1<>this.DB-e):this.data[this.t-1]|=n<=this.DB&&(e-=this.DB))}8==r&&0!=(128&t[0])&&(this.s=-1,e>0&&(this.data[this.t-1]|=(1<0&&this.data[this.t-1]==t;)--this.t}function l(t){if(this.s<0)return"-"+this.negate().toString(t);var i;if(16==t)i=4;else if(8==t)i=3;else if(2==t)i=1;else if(32==t)i=5;else{if(4!=t)return this.toRadix(t);i=2}var r,o=(1<0)for(n>n)>0&&(s=!0,a=h(r));e>=0;)n>(n+=this.DB-i)):(r=this.data[e]>>(n-=i)&o,n<=0&&(n+=this.DB,--e)),r>0&&(s=!0),s&&(a+=h(r));return s?a:"0"}function v(){var t=s();return o.ZERO.subTo(this,t),t}function T(){return this.s<0?this.negate():this}function y(t){var i=this.s-t.s;if(0!=i)return i;var r=this.t;if(0!=(i=r-t.t))return this.s<0?-i:i;for(;--r>=0;)if(0!=(i=this.data[r]-t.data[r]))return i;return 0}function b(t){var i,r=1;return 0!=(i=t>>>16)&&(t=i,r+=16),0!=(i=t>>8)&&(t=i,r+=8),0!=(i=t>>4)&&(t=i,r+=4),0!=(i=t>>2)&&(t=i,r+=2),0!=(i=t>>1)&&(t=i,r+=1),r}function D(){return this.t<=0?0:this.DB*(this.t-1)+b(this.data[this.t-1]^this.s&this.DM)}function g(t,i){var r;for(r=this.t-1;r>=0;--r)i.data[r+t]=this.data[r];for(r=t-1;r>=0;--r)i.data[r]=0;i.t=this.t+t,i.s=this.s}function B(t,i){for(var r=t;r=0;--r)i.data[r+e+1]=this.data[r]>>s|n,n=(this.data[r]&a)<=0;--r)i.data[r]=0;i.data[e]=n,i.t=this.t+e+1,i.s=this.s,i.clamp()}function w(t,i){i.s=this.s;var r=Math.floor(t/this.DB);if(r>=this.t)return void(i.t=0);var o=t%this.DB,s=this.DB-o,a=(1<>o;for(var e=r+1;e>o;o>0&&(i.data[this.t-r-1]|=(this.s&a)<>=this.DB;if(t.t>=this.DB;o+=this.s}else{for(o+=this.s;r>=this.DB;o-=t.s}i.s=o<0?-1:0,o<-1?i.data[r++]=this.DV+o:o>0&&(i.data[r++]=o),i.t=r,i.clamp()}function E(t,i){var r=this.abs(),s=t.abs(),a=r.t;for(i.t=a+s.t;--a>=0;)i.data[a]=0;for(a=0;a=0;)t.data[r]=0;for(r=0;r=i.DV&&(t.data[r+i.t]-=i.DV,t.data[r+i.t+1]=1)}t.t>0&&(t.data[t.t-1]+=i.am(r,i.data[r],t,2*r,0,1)),t.s=0,t.clamp()}function R(t,i,r){var a=t.abs();if(!(a.t<=0)){var e=this.abs();if(e.t0?(a.lShiftTo(f,n),e.lShiftTo(f,r)):(a.copyTo(n),e.copyTo(r));var p=n.t,d=n.data[p-1];if(0!=d){var c=d*(1<1?n.data[p-2]>>this.F2:0),m=this.FV/c,l=(1<=0&&(r.data[r.t++]=1,r.subTo(D,r)),o.ONE.dlShiftTo(p,D),D.subTo(n,n);n.t=0;){var g=r.data[--T]==d?this.DM:Math.floor(r.data[T]*m+(r.data[T-1]+v)*l);if((r.data[T]+=n.am(0,g,r,y,0,p))0&&r.rShiftTo(f,r),h<0&&o.ZERO.subTo(r,r)}}}function x(t){var i=s();return this.abs().divRemTo(t,null,i),this.s<0&&i.compareTo(o.ZERO)>0&&t.subTo(i,i),i}function N(t){this.m=t}function A(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t}function L(t){return t}function V(t){t.divRemTo(this.m,null,t)}function q(t,i,r){t.multiplyTo(i,r),this.reduce(r)}function I(t,i){t.squareTo(i),this.reduce(i)}function P(){if(this.t<1)return 0;var t=this.data[0];if(0==(1&t))return 0;var i=3&t;return i=i*(2-(15&t)*i)&15,i=i*(2-(255&t)*i)&255,i=i*(2-((65535&t)*i&65535))&65535,i=i*(2-t*i%this.DV)%this.DV,i>0?this.DV-i:-i}function Z(t){this.m=t,this.mp=t.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<0&&this.m.subTo(i,i),i}function j(t){var i=s();return t.copyTo(i),this.reduce(i),i}function k(t){for(;t.t<=this.mt2;)t.data[t.t++]=0;for(var i=0;i>15)*this.mpl&this.um)<<15)&t.DM;for(r=i+this.m.t,t.data[r]+=this.m.am(0,o,t,i,0,this.m.t);t.data[r]>=t.DV;)t.data[r]-=t.DV,t.data[++r]++}t.clamp(),t.drShiftTo(this.m.t,t),t.compareTo(this.m)>=0&&t.subTo(this.m,t)}function C(t,i){t.squareTo(i),this.reduce(i)}function z(t,i,r){t.multiplyTo(i,r),this.reduce(r)}function U(){return 0==(this.t>0?1&this.data[0]:this.s)}function _(t,i){if(t>4294967295||t<1)return o.ONE;var r=s(),a=s(),e=i.convert(this),n=b(t)-1;for(e.copyTo(r);--n>=0;)if(i.sqrTo(r,a),(t&1<0)i.mulTo(a,e,r);else{var h=r;r=a,a=h}return i.revert(r)}function J(t,i){var r;return r=t<256||i.isEven()?new N(i):new Z(i),this.exp(t,r)}function G(){var t=s();return this.copyTo(t),t}function H(){if(this.s<0){if(1==this.t)return this.data[0]-this.DV;if(0==this.t)return-1}else{if(1==this.t)return this.data[0];if(0==this.t)return 0}return(this.data[1]&(1<<32-this.DB)-1)<>24}function Q(){return 0==this.t?this.s:this.data[0]<<16>>16}function W(t){return Math.floor(Math.LN2*this.DB/Math.log(t))}function X(){return this.s<0?-1:this.t<=0||1==this.t&&this.data[0]<=0?0:1}function Y(t){if(null==t&&(t=10),0==this.signum()||t<2||t>36)return"0";var i=this.chunkSize(t),r=Math.pow(t,i),o=d(r),a=s(),e=s(),n="";for(this.divRemTo(o,a,e);a.signum()>0;)n=(r+e.intValue()).toString(t).substr(1)+n,a.divRemTo(o,a,e);return e.intValue().toString(t)+n}function $(t,i){this.fromInt(0),null==i&&(i=10);for(var r=this.chunkSize(i),s=Math.pow(i,r),a=!1,e=0,n=0,h=0;h=r&&(this.dMultiply(s),this.dAddOffset(n,0),e=0,n=0))}e>0&&(this.dMultiply(Math.pow(i,e)),this.dAddOffset(n,0)),a&&o.ZERO.subTo(this,this)}function tt(t,i,r){if("number"==typeof i)if(t<2)this.fromInt(1);else for(this.fromNumber(t,r),this.testBit(t-1)||this.bitwiseTo(o.ONE.shiftLeft(t-1),ht,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(i);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(o.ONE.shiftLeft(t-1),this);else{var s=new Array,a=7&t;s.length=1+(t>>3),i.nextBytes(s),a>0?s[0]&=(1<0)for(o>o)!=(this.s&this.DM)>>o&&(i[s++]=r|this.s<=0;)o<8?(r=(this.data[t]&(1<>(o+=this.DB-8)):(r=this.data[t]>>(o-=8)&255,o<=0&&(o+=this.DB,--t)),0!=(128&r)&&(r|=-256),0==s&&(128&this.s)!=(128&r)&&++s,(s>0||r!=this.s)&&(i[s++]=r);return i}function rt(t){return 0==this.compareTo(t)}function ot(t){return this.compareTo(t)<0?this:t}function st(t){return this.compareTo(t)>0?this:t}function at(t,i,r){var o,s,a=Math.min(t.t,this.t);for(o=0;o>=16,i+=16),0==(255&t)&&(t>>=8,i+=8),0==(15&t)&&(t>>=4,i+=4),0==(3&t)&&(t>>=2,i+=2),0==(1&t)&&++i,i}function yt(){for(var t=0;t=this.t?0!=this.s:0!=(this.data[i]&1<>=this.DB;if(t.t>=this.DB;o+=this.s}else{for(o+=this.s;r>=this.DB;o+=t.s}i.s=o<0?-1:0,o>0?i.data[r++]=o:o<-1&&(i.data[r++]=this.DV+o),i.t=r,i.clamp()}function Ot(t){var i=s();return this.addTo(t,i),i}function Rt(t){var i=s();return this.subTo(t,i),i}function xt(t){var i=s();return this.multiplyTo(t,i),i}function Nt(t){var i=s();return this.divRemTo(t,i,null),i}function At(t){var i=s();return this.divRemTo(t,null,i),i}function Lt(t){var i=s(),r=s();return this.divRemTo(t,i,r),new Array(i,r)}function Vt(t){this.data[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()}function qt(t,i){if(0!=t){for(;this.t<=i;)this.data[this.t++]=0;for(this.data[i]+=t;this.data[i]>=this.DV;)this.data[i]-=this.DV,++i>=this.t&&(this.data[this.t++]=0),++this.data[i]}}function It(){}function Pt(t){return t}function Zt(t,i,r){t.multiplyTo(i,r)}function Ft(t,i){t.squareTo(i)}function jt(t){return this.exp(t,new It)}function kt(t,i,r){var o=Math.min(this.t+t.t,i);for(r.s=0,r.t=o;o>0;)r.data[--o]=0;var s;for(s=r.t-this.t;o=0;)r.data[o]=0;for(o=Math.max(i-this.t,0);o2*this.m.t)return t.mod(this.m);if(t.compareTo(this.m)<0)return t;var i=s();return t.copyTo(i),this.reduce(i),i}function _t(t){return t}function Jt(t){for(t.drShiftTo(this.m.t-1,this.r2),t.t>this.m.t+1&&(t.t=this.m.t+1,t.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);t.compareTo(this.r2)<0;)t.dAddOffset(1,this.m.t+1);for(t.subTo(this.r2,t);t.compareTo(this.m)>=0;)t.subTo(this.m,t)}function Gt(t,i){t.squareTo(i),this.reduce(i)}function Ht(t,i,r){t.multiplyTo(i,r),this.reduce(r)}function Kt(t,i){var r,o,a=t.bitLength(),e=d(1);if(a<=0)return e;r=a<18?1:a<48?3:a<144?4:a<768?5:6,o=a<8?new N(i):i.isEven()?new zt(i):new Z(i);var n=new Array,h=3,u=r-1,f=(1<1){var p=s();for(o.sqrTo(n[1],p);h<=f;)n[h]=s(),o.mulTo(p,n[h-2],n[h]),h+=2}var c,m,l=t.t-1,v=!0,T=s();for(a=b(t.data[l])-1;l>=0;){for(a>=u?c=t.data[l]>>a-u&f:(c=(t.data[l]&(1<0&&(c|=t.data[l-1]>>this.DB+a-u)),h=r;0==(1&c);)c>>=1,--h;if((a-=h)<0&&(a+=this.DB,--l),v)n[c].copyTo(e),v=!1;else{for(;h>1;)o.sqrTo(e,T),o.sqrTo(T,e),h-=2;h>0?o.sqrTo(e,T):(m=e,e=T,T=m),o.mulTo(T,n[c],e)}for(;l>=0&&0==(t.data[l]&1<0&&(i.rShiftTo(a,i),r.rShiftTo(a,r));i.signum()>0;)(s=i.getLowestSetBit())>0&&i.rShiftTo(s,i),(s=r.getLowestSetBit())>0&&r.rShiftTo(s,r),i.compareTo(r)>=0?(i.subTo(r,i),i.rShiftTo(1,i)):(r.subTo(i,r),r.rShiftTo(1,r));return a>0&&r.lShiftTo(a,r),r}function Wt(t){if(t<=0)return 0;var i=this.DV%t,r=this.s<0?t-1:0;if(this.t>0)if(0==i)r=this.data[0]%t;else for(var o=this.t-1;o>=0;--o)r=(i*r+this.data[o])%t;return r}function Xt(t){var i=t.isEven();if(this.isEven()&&i||0==t.signum())return o.ZERO;for(var r=t.clone(),s=this.clone(),a=d(1),e=d(0),n=d(0),h=d(1);0!=r.signum();){for(;r.isEven();)r.rShiftTo(1,r),i?(a.isEven()&&e.isEven()||(a.addTo(this,a),e.subTo(t,e)),a.rShiftTo(1,a)):e.isEven()||e.subTo(t,e),e.rShiftTo(1,e);for(;s.isEven();)s.rShiftTo(1,s),i?(n.isEven()&&h.isEven()||(n.addTo(this,n),h.subTo(t,h)),n.rShiftTo(1,n)):h.isEven()||h.subTo(t,h),h.rShiftTo(1,h);r.compareTo(s)>=0?(r.subTo(s,r),i&&a.subTo(n,a),e.subTo(h,e)):(s.subTo(r,s),i&&n.subTo(a,n),h.subTo(e,h))}return 0!=s.compareTo(o.ONE)?o.ZERO:h.compareTo(t)>=0?h.subtract(t):h.signum()<0?(h.addTo(t,h),h.signum()<0?h.add(t):h):h}function Yt(t){var i,r=this.abs();if(1==r.t&&r.data[0]<=ni[ni.length-1]){for(i=0;i=0);var h=s.modPow(a,this);if(0!=h.compareTo(o.ONE)&&0!=h.compareTo(i)){for(var u=1;u++', key); + * cipher.start({iv: iv}); + * + * Creates an AES cipher object to encrypt data using the given symmetric key. + * The output will be stored in the 'output' member of the returned cipher. + * + * The key and iv may be given as a string of bytes, an array of bytes, + * a byte buffer, or an array of 32-bit words. + * + * @param key the symmetric key to use. + * @param iv the initialization vector to use. + * @param output the buffer to write to, null to create one. + * @param mode the cipher mode to use (default: 'CBC'). + * + * @return the cipher. + */ +forge.aes.startEncrypting = function(key, iv, output, mode) { + var cipher = _createCipher({ + key: key, + output: output, + decrypt: false, + mode: mode + }); + cipher.start(iv); + return cipher; +}; + +/** + * Deprecated. Instead, use: + * + * var cipher = forge.cipher.createCipher('AES-', key); + * + * Creates an AES cipher object to encrypt data using the given symmetric key. + * + * The key may be given as a string of bytes, an array of bytes, a + * byte buffer, or an array of 32-bit words. + * + * @param key the symmetric key to use. + * @param mode the cipher mode to use (default: 'CBC'). + * + * @return the cipher. + */ +forge.aes.createEncryptionCipher = function(key, mode) { + return _createCipher({ + key: key, + output: null, + decrypt: false, + mode: mode + }); +}; + +/** + * Deprecated. Instead, use: + * + * var decipher = forge.cipher.createDecipher('AES-', key); + * decipher.start({iv: iv}); + * + * Creates an AES cipher object to decrypt data using the given symmetric key. + * The output will be stored in the 'output' member of the returned cipher. + * + * The key and iv may be given as a string of bytes, an array of bytes, + * a byte buffer, or an array of 32-bit words. + * + * @param key the symmetric key to use. + * @param iv the initialization vector to use. + * @param output the buffer to write to, null to create one. + * @param mode the cipher mode to use (default: 'CBC'). + * + * @return the cipher. + */ +forge.aes.startDecrypting = function(key, iv, output, mode) { + var cipher = _createCipher({ + key: key, + output: output, + decrypt: true, + mode: mode + }); + cipher.start(iv); + return cipher; +}; + +/** + * Deprecated. Instead, use: + * + * var decipher = forge.cipher.createDecipher('AES-', key); + * + * Creates an AES cipher object to decrypt data using the given symmetric key. + * + * The key may be given as a string of bytes, an array of bytes, a + * byte buffer, or an array of 32-bit words. + * + * @param key the symmetric key to use. + * @param mode the cipher mode to use (default: 'CBC'). + * + * @return the cipher. + */ +forge.aes.createDecryptionCipher = function(key, mode) { + return _createCipher({ + key: key, + output: null, + decrypt: true, + mode: mode + }); +}; + +/** + * Creates a new AES cipher algorithm object. + * + * @param name the name of the algorithm. + * @param mode the mode factory function. + * + * @return the AES algorithm object. + */ +forge.aes.Algorithm = function(name, mode) { + if(!init) { + initialize(); + } + var self = this; + self.name = name; + self.mode = new mode({ + blockSize: 16, + cipher: { + encrypt: function(inBlock, outBlock) { + return _updateBlock(self._w, inBlock, outBlock, false); + }, + decrypt: function(inBlock, outBlock) { + return _updateBlock(self._w, inBlock, outBlock, true); + } + } + }); + self._init = false; +}; + +/** + * Initializes this AES algorithm by expanding its key. + * + * @param options the options to use. + * key the key to use with this algorithm. + * decrypt true if the algorithm should be initialized for decryption, + * false for encryption. + */ +forge.aes.Algorithm.prototype.initialize = function(options) { + if(this._init) { + return; + } + + var key = options.key; + var tmp; + + /* Note: The key may be a string of bytes, an array of bytes, a byte + buffer, or an array of 32-bit integers. If the key is in bytes, then + it must be 16, 24, or 32 bytes in length. If it is in 32-bit + integers, it must be 4, 6, or 8 integers long. */ + + if(typeof key === 'string' && + (key.length === 16 || key.length === 24 || key.length === 32)) { + // convert key string into byte buffer + key = forge.util.createBuffer(key); + } else if(forge.util.isArray(key) && + (key.length === 16 || key.length === 24 || key.length === 32)) { + // convert key integer array into byte buffer + tmp = key; + key = forge.util.createBuffer(); + for(var i = 0; i < tmp.length; ++i) { + key.putByte(tmp[i]); + } + } + + // convert key byte buffer into 32-bit integer array + if(!forge.util.isArray(key)) { + tmp = key; + key = []; + + // key lengths of 16, 24, 32 bytes allowed + var len = tmp.length(); + if(len === 16 || len === 24 || len === 32) { + len = len >>> 2; + for(var i = 0; i < len; ++i) { + key.push(tmp.getInt32()); + } + } + } + + // key must be an array of 32-bit integers by now + if(!forge.util.isArray(key) || + !(key.length === 4 || key.length === 6 || key.length === 8)) { + throw new Error('Invalid key parameter.'); + } + + // encryption operation is always used for these modes + var mode = this.mode.name; + var encryptOp = (['CFB', 'OFB', 'CTR', 'GCM'].indexOf(mode) !== -1); + + // do key expansion + this._w = _expandKey(key, options.decrypt && !encryptOp); + this._init = true; +}; + +/** + * Expands a key. Typically only used for testing. + * + * @param key the symmetric key to expand, as an array of 32-bit words. + * @param decrypt true to expand for decryption, false for encryption. + * + * @return the expanded key. + */ +forge.aes._expandKey = function(key, decrypt) { + if(!init) { + initialize(); + } + return _expandKey(key, decrypt); +}; + +/** + * Updates a single block. Typically only used for testing. + * + * @param w the expanded key to use. + * @param input an array of block-size 32-bit words. + * @param output an array of block-size 32-bit words. + * @param decrypt true to decrypt, false to encrypt. + */ +forge.aes._updateBlock = _updateBlock; + +/** Register AES algorithms **/ + +registerAlgorithm('AES-ECB', forge.cipher.modes.ecb); +registerAlgorithm('AES-CBC', forge.cipher.modes.cbc); +registerAlgorithm('AES-CFB', forge.cipher.modes.cfb); +registerAlgorithm('AES-OFB', forge.cipher.modes.ofb); +registerAlgorithm('AES-CTR', forge.cipher.modes.ctr); +registerAlgorithm('AES-GCM', forge.cipher.modes.gcm); + +function registerAlgorithm(name, mode) { + var factory = function() { + return new forge.aes.Algorithm(name, mode); + }; + forge.cipher.registerAlgorithm(name, factory); +} + +/** AES implementation **/ + +var init = false; // not yet initialized +var Nb = 4; // number of words comprising the state (AES = 4) +var sbox; // non-linear substitution table used in key expansion +var isbox; // inversion of sbox +var rcon; // round constant word array +var mix; // mix-columns table +var imix; // inverse mix-columns table + +/** + * Performs initialization, ie: precomputes tables to optimize for speed. + * + * One way to understand how AES works is to imagine that 'addition' and + * 'multiplication' are interfaces that require certain mathematical + * properties to hold true (ie: they are associative) but they might have + * different implementations and produce different kinds of results ... + * provided that their mathematical properties remain true. AES defines + * its own methods of addition and multiplication but keeps some important + * properties the same, ie: associativity and distributivity. The + * explanation below tries to shed some light on how AES defines addition + * and multiplication of bytes and 32-bit words in order to perform its + * encryption and decryption algorithms. + * + * The basics: + * + * The AES algorithm views bytes as binary representations of polynomials + * that have either 1 or 0 as the coefficients. It defines the addition + * or subtraction of two bytes as the XOR operation. It also defines the + * multiplication of two bytes as a finite field referred to as GF(2^8) + * (Note: 'GF' means "Galois Field" which is a field that contains a finite + * number of elements so GF(2^8) has 256 elements). + * + * This means that any two bytes can be represented as binary polynomials; + * when they multiplied together and modularly reduced by an irreducible + * polynomial of the 8th degree, the results are the field GF(2^8). The + * specific irreducible polynomial that AES uses in hexadecimal is 0x11b. + * This multiplication is associative with 0x01 as the identity: + * + * (b * 0x01 = GF(b, 0x01) = b). + * + * The operation GF(b, 0x02) can be performed at the byte level by left + * shifting b once and then XOR'ing it (to perform the modular reduction) + * with 0x11b if b is >= 128. Repeated application of the multiplication + * of 0x02 can be used to implement the multiplication of any two bytes. + * + * For instance, multiplying 0x57 and 0x13, denoted as GF(0x57, 0x13), can + * be performed by factoring 0x13 into 0x01, 0x02, and 0x10. Then these + * factors can each be multiplied by 0x57 and then added together. To do + * the multiplication, values for 0x57 multiplied by each of these 3 factors + * can be precomputed and stored in a table. To add them, the values from + * the table are XOR'd together. + * + * AES also defines addition and multiplication of words, that is 4-byte + * numbers represented as polynomials of 3 degrees where the coefficients + * are the values of the bytes. + * + * The word [a0, a1, a2, a3] is a polynomial a3x^3 + a2x^2 + a1x + a0. + * + * Addition is performed by XOR'ing like powers of x. Multiplication + * is performed in two steps, the first is an algebriac expansion as + * you would do normally (where addition is XOR). But the result is + * a polynomial larger than 3 degrees and thus it cannot fit in a word. So + * next the result is modularly reduced by an AES-specific polynomial of + * degree 4 which will always produce a polynomial of less than 4 degrees + * such that it will fit in a word. In AES, this polynomial is x^4 + 1. + * + * The modular product of two polynomials 'a' and 'b' is thus: + * + * d(x) = d3x^3 + d2x^2 + d1x + d0 + * with + * d0 = GF(a0, b0) ^ GF(a3, b1) ^ GF(a2, b2) ^ GF(a1, b3) + * d1 = GF(a1, b0) ^ GF(a0, b1) ^ GF(a3, b2) ^ GF(a2, b3) + * d2 = GF(a2, b0) ^ GF(a1, b1) ^ GF(a0, b2) ^ GF(a3, b3) + * d3 = GF(a3, b0) ^ GF(a2, b1) ^ GF(a1, b2) ^ GF(a0, b3) + * + * As a matrix: + * + * [d0] = [a0 a3 a2 a1][b0] + * [d1] [a1 a0 a3 a2][b1] + * [d2] [a2 a1 a0 a3][b2] + * [d3] [a3 a2 a1 a0][b3] + * + * Special polynomials defined by AES (0x02 == {02}): + * a(x) = {03}x^3 + {01}x^2 + {01}x + {02} + * a^-1(x) = {0b}x^3 + {0d}x^2 + {09}x + {0e}. + * + * These polynomials are used in the MixColumns() and InverseMixColumns() + * operations, respectively, to cause each element in the state to affect + * the output (referred to as diffusing). + * + * RotWord() uses: a0 = a1 = a2 = {00} and a3 = {01}, which is the + * polynomial x3. + * + * The ShiftRows() method modifies the last 3 rows in the state (where + * the state is 4 words with 4 bytes per word) by shifting bytes cyclically. + * The 1st byte in the second row is moved to the end of the row. The 1st + * and 2nd bytes in the third row are moved to the end of the row. The 1st, + * 2nd, and 3rd bytes are moved in the fourth row. + * + * More details on how AES arithmetic works: + * + * In the polynomial representation of binary numbers, XOR performs addition + * and subtraction and multiplication in GF(2^8) denoted as GF(a, b) + * corresponds with the multiplication of polynomials modulo an irreducible + * polynomial of degree 8. In other words, for AES, GF(a, b) will multiply + * polynomial 'a' with polynomial 'b' and then do a modular reduction by + * an AES-specific irreducible polynomial of degree 8. + * + * A polynomial is irreducible if its only divisors are one and itself. For + * the AES algorithm, this irreducible polynomial is: + * + * m(x) = x^8 + x^4 + x^3 + x + 1, + * + * or {01}{1b} in hexadecimal notation, where each coefficient is a bit: + * 100011011 = 283 = 0x11b. + * + * For example, GF(0x57, 0x83) = 0xc1 because + * + * 0x57 = 87 = 01010111 = x^6 + x^4 + x^2 + x + 1 + * 0x85 = 131 = 10000101 = x^7 + x + 1 + * + * (x^6 + x^4 + x^2 + x + 1) * (x^7 + x + 1) + * = x^13 + x^11 + x^9 + x^8 + x^7 + + * x^7 + x^5 + x^3 + x^2 + x + + * x^6 + x^4 + x^2 + x + 1 + * = x^13 + x^11 + x^9 + x^8 + x^6 + x^5 + x^4 + x^3 + 1 = y + * y modulo (x^8 + x^4 + x^3 + x + 1) + * = x^7 + x^6 + 1. + * + * The modular reduction by m(x) guarantees the result will be a binary + * polynomial of less than degree 8, so that it can fit in a byte. + * + * The operation to multiply a binary polynomial b with x (the polynomial + * x in binary representation is 00000010) is: + * + * b_7x^8 + b_6x^7 + b_5x^6 + b_4x^5 + b_3x^4 + b_2x^3 + b_1x^2 + b_0x^1 + * + * To get GF(b, x) we must reduce that by m(x). If b_7 is 0 (that is the + * most significant bit is 0 in b) then the result is already reduced. If + * it is 1, then we can reduce it by subtracting m(x) via an XOR. + * + * It follows that multiplication by x (00000010 or 0x02) can be implemented + * by performing a left shift followed by a conditional bitwise XOR with + * 0x1b. This operation on bytes is denoted by xtime(). Multiplication by + * higher powers of x can be implemented by repeated application of xtime(). + * + * By adding intermediate results, multiplication by any constant can be + * implemented. For instance: + * + * GF(0x57, 0x13) = 0xfe because: + * + * xtime(b) = (b & 128) ? (b << 1 ^ 0x11b) : (b << 1) + * + * Note: We XOR with 0x11b instead of 0x1b because in javascript our + * datatype for b can be larger than 1 byte, so a left shift will not + * automatically eliminate bits that overflow a byte ... by XOR'ing the + * overflow bit with 1 (the extra one from 0x11b) we zero it out. + * + * GF(0x57, 0x02) = xtime(0x57) = 0xae + * GF(0x57, 0x04) = xtime(0xae) = 0x47 + * GF(0x57, 0x08) = xtime(0x47) = 0x8e + * GF(0x57, 0x10) = xtime(0x8e) = 0x07 + * + * GF(0x57, 0x13) = GF(0x57, (0x01 ^ 0x02 ^ 0x10)) + * + * And by the distributive property (since XOR is addition and GF() is + * multiplication): + * + * = GF(0x57, 0x01) ^ GF(0x57, 0x02) ^ GF(0x57, 0x10) + * = 0x57 ^ 0xae ^ 0x07 + * = 0xfe. + */ +function initialize() { + init = true; + + /* Populate the Rcon table. These are the values given by + [x^(i-1),{00},{00},{00}] where x^(i-1) are powers of x (and x = 0x02) + in the field of GF(2^8), where i starts at 1. + + rcon[0] = [0x00, 0x00, 0x00, 0x00] + rcon[1] = [0x01, 0x00, 0x00, 0x00] 2^(1-1) = 2^0 = 1 + rcon[2] = [0x02, 0x00, 0x00, 0x00] 2^(2-1) = 2^1 = 2 + ... + rcon[9] = [0x1B, 0x00, 0x00, 0x00] 2^(9-1) = 2^8 = 0x1B + rcon[10] = [0x36, 0x00, 0x00, 0x00] 2^(10-1) = 2^9 = 0x36 + + We only store the first byte because it is the only one used. + */ + rcon = [0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1B, 0x36]; + + // compute xtime table which maps i onto GF(i, 0x02) + var xtime = new Array(256); + for(var i = 0; i < 128; ++i) { + xtime[i] = i << 1; + xtime[i + 128] = (i + 128) << 1 ^ 0x11B; + } + + // compute all other tables + sbox = new Array(256); + isbox = new Array(256); + mix = new Array(4); + imix = new Array(4); + for(var i = 0; i < 4; ++i) { + mix[i] = new Array(256); + imix[i] = new Array(256); + } + var e = 0, ei = 0, e2, e4, e8, sx, sx2, me, ime; + for(var i = 0; i < 256; ++i) { + /* We need to generate the SubBytes() sbox and isbox tables so that + we can perform byte substitutions. This requires us to traverse + all of the elements in GF, find their multiplicative inverses, + and apply to each the following affine transformation: + + bi' = bi ^ b(i + 4) mod 8 ^ b(i + 5) mod 8 ^ b(i + 6) mod 8 ^ + b(i + 7) mod 8 ^ ci + for 0 <= i < 8, where bi is the ith bit of the byte, and ci is the + ith bit of a byte c with the value {63} or {01100011}. + + It is possible to traverse every possible value in a Galois field + using what is referred to as a 'generator'. There are many + generators (128 out of 256): 3,5,6,9,11,82 to name a few. To fully + traverse GF we iterate 255 times, multiplying by our generator + each time. + + On each iteration we can determine the multiplicative inverse for + the current element. + + Suppose there is an element in GF 'e'. For a given generator 'g', + e = g^x. The multiplicative inverse of e is g^(255 - x). It turns + out that if use the inverse of a generator as another generator + it will produce all of the corresponding multiplicative inverses + at the same time. For this reason, we choose 5 as our inverse + generator because it only requires 2 multiplies and 1 add and its + inverse, 82, requires relatively few operations as well. + + In order to apply the affine transformation, the multiplicative + inverse 'ei' of 'e' can be repeatedly XOR'd (4 times) with a + bit-cycling of 'ei'. To do this 'ei' is first stored in 's' and + 'x'. Then 's' is left shifted and the high bit of 's' is made the + low bit. The resulting value is stored in 's'. Then 'x' is XOR'd + with 's' and stored in 'x'. On each subsequent iteration the same + operation is performed. When 4 iterations are complete, 'x' is + XOR'd with 'c' (0x63) and the transformed value is stored in 'x'. + For example: + + s = 01000001 + x = 01000001 + + iteration 1: s = 10000010, x ^= s + iteration 2: s = 00000101, x ^= s + iteration 3: s = 00001010, x ^= s + iteration 4: s = 00010100, x ^= s + x ^= 0x63 + + This can be done with a loop where s = (s << 1) | (s >> 7). However, + it can also be done by using a single 16-bit (in this case 32-bit) + number 'sx'. Since XOR is an associative operation, we can set 'sx' + to 'ei' and then XOR it with 'sx' left-shifted 1,2,3, and 4 times. + The most significant bits will flow into the high 8 bit positions + and be correctly XOR'd with one another. All that remains will be + to cycle the high 8 bits by XOR'ing them all with the lower 8 bits + afterwards. + + At the same time we're populating sbox and isbox we can precompute + the multiplication we'll need to do to do MixColumns() later. + */ + + // apply affine transformation + sx = ei ^ (ei << 1) ^ (ei << 2) ^ (ei << 3) ^ (ei << 4); + sx = (sx >> 8) ^ (sx & 255) ^ 0x63; + + // update tables + sbox[e] = sx; + isbox[sx] = e; + + /* Mixing columns is done using matrix multiplication. The columns + that are to be mixed are each a single word in the current state. + The state has Nb columns (4 columns). Therefore each column is a + 4 byte word. So to mix the columns in a single column 'c' where + its rows are r0, r1, r2, and r3, we use the following matrix + multiplication: + + [2 3 1 1]*[r0,c]=[r'0,c] + [1 2 3 1] [r1,c] [r'1,c] + [1 1 2 3] [r2,c] [r'2,c] + [3 1 1 2] [r3,c] [r'3,c] + + r0, r1, r2, and r3 are each 1 byte of one of the words in the + state (a column). To do matrix multiplication for each mixed + column c' we multiply the corresponding row from the left matrix + with the corresponding column from the right matrix. In total, we + get 4 equations: + + r0,c' = 2*r0,c + 3*r1,c + 1*r2,c + 1*r3,c + r1,c' = 1*r0,c + 2*r1,c + 3*r2,c + 1*r3,c + r2,c' = 1*r0,c + 1*r1,c + 2*r2,c + 3*r3,c + r3,c' = 3*r0,c + 1*r1,c + 1*r2,c + 2*r3,c + + As usual, the multiplication is as previously defined and the + addition is XOR. In order to optimize mixing columns we can store + the multiplication results in tables. If you think of the whole + column as a word (it might help to visualize by mentally rotating + the equations above by counterclockwise 90 degrees) then you can + see that it would be useful to map the multiplications performed on + each byte (r0, r1, r2, r3) onto a word as well. For instance, we + could map 2*r0,1*r0,1*r0,3*r0 onto a word by storing 2*r0 in the + highest 8 bits and 3*r0 in the lowest 8 bits (with the other two + respectively in the middle). This means that a table can be + constructed that uses r0 as an index to the word. We can do the + same with r1, r2, and r3, creating a total of 4 tables. + + To construct a full c', we can just look up each byte of c in + their respective tables and XOR the results together. + + Also, to build each table we only have to calculate the word + for 2,1,1,3 for every byte ... which we can do on each iteration + of this loop since we will iterate over every byte. After we have + calculated 2,1,1,3 we can get the results for the other tables + by cycling the byte at the end to the beginning. For instance + we can take the result of table 2,1,1,3 and produce table 3,2,1,1 + by moving the right most byte to the left most position just like + how you can imagine the 3 moved out of 2,1,1,3 and to the front + to produce 3,2,1,1. + + There is another optimization in that the same multiples of + the current element we need in order to advance our generator + to the next iteration can be reused in performing the 2,1,1,3 + calculation. We also calculate the inverse mix column tables, + with e,9,d,b being the inverse of 2,1,1,3. + + When we're done, and we need to actually mix columns, the first + byte of each state word should be put through mix[0] (2,1,1,3), + the second through mix[1] (3,2,1,1) and so forth. Then they should + be XOR'd together to produce the fully mixed column. + */ + + // calculate mix and imix table values + sx2 = xtime[sx]; + e2 = xtime[e]; + e4 = xtime[e2]; + e8 = xtime[e4]; + me = + (sx2 << 24) ^ // 2 + (sx << 16) ^ // 1 + (sx << 8) ^ // 1 + (sx ^ sx2); // 3 + ime = + (e2 ^ e4 ^ e8) << 24 ^ // E (14) + (e ^ e8) << 16 ^ // 9 + (e ^ e4 ^ e8) << 8 ^ // D (13) + (e ^ e2 ^ e8); // B (11) + // produce each of the mix tables by rotating the 2,1,1,3 value + for(var n = 0; n < 4; ++n) { + mix[n][e] = me; + imix[n][sx] = ime; + // cycle the right most byte to the left most position + // ie: 2,1,1,3 becomes 3,2,1,1 + me = me << 24 | me >>> 8; + ime = ime << 24 | ime >>> 8; + } + + // get next element and inverse + if(e === 0) { + // 1 is the inverse of 1 + e = ei = 1; + } else { + // e = 2e + 2*2*2*(10e)) = multiply e by 82 (chosen generator) + // ei = ei + 2*2*ei = multiply ei by 5 (inverse generator) + e = e2 ^ xtime[xtime[xtime[e2 ^ e8]]]; + ei ^= xtime[xtime[ei]]; + } + } +} + +/** + * Generates a key schedule using the AES key expansion algorithm. + * + * The AES algorithm takes the Cipher Key, K, and performs a Key Expansion + * routine to generate a key schedule. The Key Expansion generates a total + * of Nb*(Nr + 1) words: the algorithm requires an initial set of Nb words, + * and each of the Nr rounds requires Nb words of key data. The resulting + * key schedule consists of a linear array of 4-byte words, denoted [wi ], + * with i in the range 0 ≤ i < Nb(Nr + 1). + * + * KeyExpansion(byte key[4*Nk], word w[Nb*(Nr+1)], Nk) + * AES-128 (Nb=4, Nk=4, Nr=10) + * AES-192 (Nb=4, Nk=6, Nr=12) + * AES-256 (Nb=4, Nk=8, Nr=14) + * Note: Nr=Nk+6. + * + * Nb is the number of columns (32-bit words) comprising the State (or + * number of bytes in a block). For AES, Nb=4. + * + * @param key the key to schedule (as an array of 32-bit words). + * @param decrypt true to modify the key schedule to decrypt, false not to. + * + * @return the generated key schedule. + */ +function _expandKey(key, decrypt) { + // copy the key's words to initialize the key schedule + var w = key.slice(0); + + /* RotWord() will rotate a word, moving the first byte to the last + byte's position (shifting the other bytes left). + + We will be getting the value of Rcon at i / Nk. 'i' will iterate + from Nk to (Nb * Nr+1). Nk = 4 (4 byte key), Nb = 4 (4 words in + a block), Nr = Nk + 6 (10). Therefore 'i' will iterate from + 4 to 44 (exclusive). Each time we iterate 4 times, i / Nk will + increase by 1. We use a counter iNk to keep track of this. + */ + + // go through the rounds expanding the key + var temp, iNk = 1; + var Nk = w.length; + var Nr1 = Nk + 6 + 1; + var end = Nb * Nr1; + for(var i = Nk; i < end; ++i) { + temp = w[i - 1]; + if(i % Nk === 0) { + // temp = SubWord(RotWord(temp)) ^ Rcon[i / Nk] + temp = + sbox[temp >>> 16 & 255] << 24 ^ + sbox[temp >>> 8 & 255] << 16 ^ + sbox[temp & 255] << 8 ^ + sbox[temp >>> 24] ^ (rcon[iNk] << 24); + iNk++; + } else if(Nk > 6 && (i % Nk === 4)) { + // temp = SubWord(temp) + temp = + sbox[temp >>> 24] << 24 ^ + sbox[temp >>> 16 & 255] << 16 ^ + sbox[temp >>> 8 & 255] << 8 ^ + sbox[temp & 255]; + } + w[i] = w[i - Nk] ^ temp; + } + + /* When we are updating a cipher block we always use the code path for + encryption whether we are decrypting or not (to shorten code and + simplify the generation of look up tables). However, because there + are differences in the decryption algorithm, other than just swapping + in different look up tables, we must transform our key schedule to + account for these changes: + + 1. The decryption algorithm gets its key rounds in reverse order. + 2. The decryption algorithm adds the round key before mixing columns + instead of afterwards. + + We don't need to modify our key schedule to handle the first case, + we can just traverse the key schedule in reverse order when decrypting. + + The second case requires a little work. + + The tables we built for performing rounds will take an input and then + perform SubBytes() and MixColumns() or, for the decrypt version, + InvSubBytes() and InvMixColumns(). But the decrypt algorithm requires + us to AddRoundKey() before InvMixColumns(). This means we'll need to + apply some transformations to the round key to inverse-mix its columns + so they'll be correct for moving AddRoundKey() to after the state has + had its columns inverse-mixed. + + To inverse-mix the columns of the state when we're decrypting we use a + lookup table that will apply InvSubBytes() and InvMixColumns() at the + same time. However, the round key's bytes are not inverse-substituted + in the decryption algorithm. To get around this problem, we can first + substitute the bytes in the round key so that when we apply the + transformation via the InvSubBytes()+InvMixColumns() table, it will + undo our substitution leaving us with the original value that we + want -- and then inverse-mix that value. + + This change will correctly alter our key schedule so that we can XOR + each round key with our already transformed decryption state. This + allows us to use the same code path as the encryption algorithm. + + We make one more change to the decryption key. Since the decryption + algorithm runs in reverse from the encryption algorithm, we reverse + the order of the round keys to avoid having to iterate over the key + schedule backwards when running the encryption algorithm later in + decryption mode. In addition to reversing the order of the round keys, + we also swap each round key's 2nd and 4th rows. See the comments + section where rounds are performed for more details about why this is + done. These changes are done inline with the other substitution + described above. + */ + if(decrypt) { + var tmp; + var m0 = imix[0]; + var m1 = imix[1]; + var m2 = imix[2]; + var m3 = imix[3]; + var wnew = w.slice(0); + end = w.length; + for(var i = 0, wi = end - Nb; i < end; i += Nb, wi -= Nb) { + // do not sub the first or last round key (round keys are Nb + // words) as no column mixing is performed before they are added, + // but do change the key order + if(i === 0 || i === (end - Nb)) { + wnew[i] = w[wi]; + wnew[i + 1] = w[wi + 3]; + wnew[i + 2] = w[wi + 2]; + wnew[i + 3] = w[wi + 1]; + } else { + // substitute each round key byte because the inverse-mix + // table will inverse-substitute it (effectively cancel the + // substitution because round key bytes aren't sub'd in + // decryption mode) and swap indexes 3 and 1 + for(var n = 0; n < Nb; ++n) { + tmp = w[wi + n]; + wnew[i + (3&-n)] = + m0[sbox[tmp >>> 24]] ^ + m1[sbox[tmp >>> 16 & 255]] ^ + m2[sbox[tmp >>> 8 & 255]] ^ + m3[sbox[tmp & 255]]; + } + } + } + w = wnew; + } + + return w; +} + +/** + * Updates a single block (16 bytes) using AES. The update will either + * encrypt or decrypt the block. + * + * @param w the key schedule. + * @param input the input block (an array of 32-bit words). + * @param output the updated output block. + * @param decrypt true to decrypt the block, false to encrypt it. + */ +function _updateBlock(w, input, output, decrypt) { + /* + Cipher(byte in[4*Nb], byte out[4*Nb], word w[Nb*(Nr+1)]) + begin + byte state[4,Nb] + state = in + AddRoundKey(state, w[0, Nb-1]) + for round = 1 step 1 to Nr–1 + SubBytes(state) + ShiftRows(state) + MixColumns(state) + AddRoundKey(state, w[round*Nb, (round+1)*Nb-1]) + end for + SubBytes(state) + ShiftRows(state) + AddRoundKey(state, w[Nr*Nb, (Nr+1)*Nb-1]) + out = state + end + + InvCipher(byte in[4*Nb], byte out[4*Nb], word w[Nb*(Nr+1)]) + begin + byte state[4,Nb] + state = in + AddRoundKey(state, w[Nr*Nb, (Nr+1)*Nb-1]) + for round = Nr-1 step -1 downto 1 + InvShiftRows(state) + InvSubBytes(state) + AddRoundKey(state, w[round*Nb, (round+1)*Nb-1]) + InvMixColumns(state) + end for + InvShiftRows(state) + InvSubBytes(state) + AddRoundKey(state, w[0, Nb-1]) + out = state + end + */ + + // Encrypt: AddRoundKey(state, w[0, Nb-1]) + // Decrypt: AddRoundKey(state, w[Nr*Nb, (Nr+1)*Nb-1]) + var Nr = w.length / 4 - 1; + var m0, m1, m2, m3, sub; + if(decrypt) { + m0 = imix[0]; + m1 = imix[1]; + m2 = imix[2]; + m3 = imix[3]; + sub = isbox; + } else { + m0 = mix[0]; + m1 = mix[1]; + m2 = mix[2]; + m3 = mix[3]; + sub = sbox; + } + var a, b, c, d, a2, b2, c2; + a = input[0] ^ w[0]; + b = input[decrypt ? 3 : 1] ^ w[1]; + c = input[2] ^ w[2]; + d = input[decrypt ? 1 : 3] ^ w[3]; + var i = 3; + + /* In order to share code we follow the encryption algorithm when both + encrypting and decrypting. To account for the changes required in the + decryption algorithm, we use different lookup tables when decrypting + and use a modified key schedule to account for the difference in the + order of transformations applied when performing rounds. We also get + key rounds in reverse order (relative to encryption). */ + for(var round = 1; round < Nr; ++round) { + /* As described above, we'll be using table lookups to perform the + column mixing. Each column is stored as a word in the state (the + array 'input' has one column as a word at each index). In order to + mix a column, we perform these transformations on each row in c, + which is 1 byte in each word. The new column for c0 is c'0: + + m0 m1 m2 m3 + r0,c'0 = 2*r0,c0 + 3*r1,c0 + 1*r2,c0 + 1*r3,c0 + r1,c'0 = 1*r0,c0 + 2*r1,c0 + 3*r2,c0 + 1*r3,c0 + r2,c'0 = 1*r0,c0 + 1*r1,c0 + 2*r2,c0 + 3*r3,c0 + r3,c'0 = 3*r0,c0 + 1*r1,c0 + 1*r2,c0 + 2*r3,c0 + + So using mix tables where c0 is a word with r0 being its upper + 8 bits and r3 being its lower 8 bits: + + m0[c0 >> 24] will yield this word: [2*r0,1*r0,1*r0,3*r0] + ... + m3[c0 & 255] will yield this word: [1*r3,1*r3,3*r3,2*r3] + + Therefore to mix the columns in each word in the state we + do the following (& 255 omitted for brevity): + c'0,r0 = m0[c0 >> 24] ^ m1[c1 >> 16] ^ m2[c2 >> 8] ^ m3[c3] + c'0,r1 = m0[c0 >> 24] ^ m1[c1 >> 16] ^ m2[c2 >> 8] ^ m3[c3] + c'0,r2 = m0[c0 >> 24] ^ m1[c1 >> 16] ^ m2[c2 >> 8] ^ m3[c3] + c'0,r3 = m0[c0 >> 24] ^ m1[c1 >> 16] ^ m2[c2 >> 8] ^ m3[c3] + + However, before mixing, the algorithm requires us to perform + ShiftRows(). The ShiftRows() transformation cyclically shifts the + last 3 rows of the state over different offsets. The first row + (r = 0) is not shifted. + + s'_r,c = s_r,(c + shift(r, Nb) mod Nb + for 0 < r < 4 and 0 <= c < Nb and + shift(1, 4) = 1 + shift(2, 4) = 2 + shift(3, 4) = 3. + + This causes the first byte in r = 1 to be moved to the end of + the row, the first 2 bytes in r = 2 to be moved to the end of + the row, the first 3 bytes in r = 3 to be moved to the end of + the row: + + r1: [c0 c1 c2 c3] => [c1 c2 c3 c0] + r2: [c0 c1 c2 c3] [c2 c3 c0 c1] + r3: [c0 c1 c2 c3] [c3 c0 c1 c2] + + We can make these substitutions inline with our column mixing to + generate an updated set of equations to produce each word in the + state (note the columns have changed positions): + + c0 c1 c2 c3 => c0 c1 c2 c3 + c0 c1 c2 c3 c1 c2 c3 c0 (cycled 1 byte) + c0 c1 c2 c3 c2 c3 c0 c1 (cycled 2 bytes) + c0 c1 c2 c3 c3 c0 c1 c2 (cycled 3 bytes) + + Therefore: + + c'0 = 2*r0,c0 + 3*r1,c1 + 1*r2,c2 + 1*r3,c3 + c'0 = 1*r0,c0 + 2*r1,c1 + 3*r2,c2 + 1*r3,c3 + c'0 = 1*r0,c0 + 1*r1,c1 + 2*r2,c2 + 3*r3,c3 + c'0 = 3*r0,c0 + 1*r1,c1 + 1*r2,c2 + 2*r3,c3 + + c'1 = 2*r0,c1 + 3*r1,c2 + 1*r2,c3 + 1*r3,c0 + c'1 = 1*r0,c1 + 2*r1,c2 + 3*r2,c3 + 1*r3,c0 + c'1 = 1*r0,c1 + 1*r1,c2 + 2*r2,c3 + 3*r3,c0 + c'1 = 3*r0,c1 + 1*r1,c2 + 1*r2,c3 + 2*r3,c0 + + ... and so forth for c'2 and c'3. The important distinction is + that the columns are cycling, with c0 being used with the m0 + map when calculating c0, but c1 being used with the m0 map when + calculating c1 ... and so forth. + + When performing the inverse we transform the mirror image and + skip the bottom row, instead of the top one, and move upwards: + + c3 c2 c1 c0 => c0 c3 c2 c1 (cycled 3 bytes) *same as encryption + c3 c2 c1 c0 c1 c0 c3 c2 (cycled 2 bytes) + c3 c2 c1 c0 c2 c1 c0 c3 (cycled 1 byte) *same as encryption + c3 c2 c1 c0 c3 c2 c1 c0 + + If you compare the resulting matrices for ShiftRows()+MixColumns() + and for InvShiftRows()+InvMixColumns() the 2nd and 4th columns are + different (in encrypt mode vs. decrypt mode). So in order to use + the same code to handle both encryption and decryption, we will + need to do some mapping. + + If in encryption mode we let a=c0, b=c1, c=c2, d=c3, and r be + a row number in the state, then the resulting matrix in encryption + mode for applying the above transformations would be: + + r1: a b c d + r2: b c d a + r3: c d a b + r4: d a b c + + If we did the same in decryption mode we would get: + + r1: a d c b + r2: b a d c + r3: c b a d + r4: d c b a + + If instead we swap d and b (set b=c3 and d=c1), then we get: + + r1: a b c d + r2: d a b c + r3: c d a b + r4: b c d a + + Now the 1st and 3rd rows are the same as the encryption matrix. All + we need to do then to make the mapping exactly the same is to swap + the 2nd and 4th rows when in decryption mode. To do this without + having to do it on each iteration, we swapped the 2nd and 4th rows + in the decryption key schedule. We also have to do the swap above + when we first pull in the input and when we set the final output. */ + a2 = + m0[a >>> 24] ^ + m1[b >>> 16 & 255] ^ + m2[c >>> 8 & 255] ^ + m3[d & 255] ^ w[++i]; + b2 = + m0[b >>> 24] ^ + m1[c >>> 16 & 255] ^ + m2[d >>> 8 & 255] ^ + m3[a & 255] ^ w[++i]; + c2 = + m0[c >>> 24] ^ + m1[d >>> 16 & 255] ^ + m2[a >>> 8 & 255] ^ + m3[b & 255] ^ w[++i]; + d = + m0[d >>> 24] ^ + m1[a >>> 16 & 255] ^ + m2[b >>> 8 & 255] ^ + m3[c & 255] ^ w[++i]; + a = a2; + b = b2; + c = c2; + } + + /* + Encrypt: + SubBytes(state) + ShiftRows(state) + AddRoundKey(state, w[Nr*Nb, (Nr+1)*Nb-1]) + + Decrypt: + InvShiftRows(state) + InvSubBytes(state) + AddRoundKey(state, w[0, Nb-1]) + */ + // Note: rows are shifted inline + output[0] = + (sub[a >>> 24] << 24) ^ + (sub[b >>> 16 & 255] << 16) ^ + (sub[c >>> 8 & 255] << 8) ^ + (sub[d & 255]) ^ w[++i]; + output[decrypt ? 3 : 1] = + (sub[b >>> 24] << 24) ^ + (sub[c >>> 16 & 255] << 16) ^ + (sub[d >>> 8 & 255] << 8) ^ + (sub[a & 255]) ^ w[++i]; + output[2] = + (sub[c >>> 24] << 24) ^ + (sub[d >>> 16 & 255] << 16) ^ + (sub[a >>> 8 & 255] << 8) ^ + (sub[b & 255]) ^ w[++i]; + output[decrypt ? 1 : 3] = + (sub[d >>> 24] << 24) ^ + (sub[a >>> 16 & 255] << 16) ^ + (sub[b >>> 8 & 255] << 8) ^ + (sub[c & 255]) ^ w[++i]; +} + +/** + * Deprecated. Instead, use: + * + * forge.cipher.createCipher('AES-', key); + * forge.cipher.createDecipher('AES-', key); + * + * Creates a deprecated AES cipher object. This object's mode will default to + * CBC (cipher-block-chaining). + * + * The key and iv may be given as a string of bytes, an array of bytes, a + * byte buffer, or an array of 32-bit words. + * + * @param options the options to use. + * key the symmetric key to use. + * output the buffer to write to. + * decrypt true for decryption, false for encryption. + * mode the cipher mode to use (default: 'CBC'). + * + * @return the cipher. + */ +function _createCipher(options) { + options = options || {}; + var mode = (options.mode || 'CBC').toUpperCase(); + var algorithm = 'AES-' + mode; + + var cipher; + if(options.decrypt) { + cipher = forge.cipher.createDecipher(algorithm, options.key); + } else { + cipher = forge.cipher.createCipher(algorithm, options.key); + } + + // backwards compatible start API + var start = cipher.start; + cipher.start = function(iv, options) { + // backwards compatibility: support second arg as output buffer + var output = null; + if(options instanceof forge.util.ByteBuffer) { + output = options; + options = {}; + } + options = options || {}; + options.output = output; + options.iv = iv; + start.call(cipher, options); + }; + + return cipher; +} diff --git a/express-server/node_modules/node-forge/lib/aesCipherSuites.js b/express-server/node_modules/node-forge/lib/aesCipherSuites.js new file mode 100644 index 00000000..aeb91c1c --- /dev/null +++ b/express-server/node_modules/node-forge/lib/aesCipherSuites.js @@ -0,0 +1,284 @@ +/** + * A Javascript implementation of AES Cipher Suites for TLS. + * + * @author Dave Longley + * + * Copyright (c) 2009-2015 Digital Bazaar, Inc. + * + */ +var forge = require('./forge'); +require('./aes'); +require('./tls'); + +var tls = module.exports = forge.tls; + +/** + * Supported cipher suites. + */ +tls.CipherSuites['TLS_RSA_WITH_AES_128_CBC_SHA'] = { + id: [0x00,0x2f], + name: 'TLS_RSA_WITH_AES_128_CBC_SHA', + initSecurityParameters: function(sp) { + sp.bulk_cipher_algorithm = tls.BulkCipherAlgorithm.aes; + sp.cipher_type = tls.CipherType.block; + sp.enc_key_length = 16; + sp.block_length = 16; + sp.fixed_iv_length = 16; + sp.record_iv_length = 16; + sp.mac_algorithm = tls.MACAlgorithm.hmac_sha1; + sp.mac_length = 20; + sp.mac_key_length = 20; + }, + initConnectionState: initConnectionState +}; +tls.CipherSuites['TLS_RSA_WITH_AES_256_CBC_SHA'] = { + id: [0x00,0x35], + name: 'TLS_RSA_WITH_AES_256_CBC_SHA', + initSecurityParameters: function(sp) { + sp.bulk_cipher_algorithm = tls.BulkCipherAlgorithm.aes; + sp.cipher_type = tls.CipherType.block; + sp.enc_key_length = 32; + sp.block_length = 16; + sp.fixed_iv_length = 16; + sp.record_iv_length = 16; + sp.mac_algorithm = tls.MACAlgorithm.hmac_sha1; + sp.mac_length = 20; + sp.mac_key_length = 20; + }, + initConnectionState: initConnectionState +}; + +function initConnectionState(state, c, sp) { + var client = (c.entity === forge.tls.ConnectionEnd.client); + + // cipher setup + state.read.cipherState = { + init: false, + cipher: forge.cipher.createDecipher('AES-CBC', client ? + sp.keys.server_write_key : sp.keys.client_write_key), + iv: client ? sp.keys.server_write_IV : sp.keys.client_write_IV + }; + state.write.cipherState = { + init: false, + cipher: forge.cipher.createCipher('AES-CBC', client ? + sp.keys.client_write_key : sp.keys.server_write_key), + iv: client ? sp.keys.client_write_IV : sp.keys.server_write_IV + }; + state.read.cipherFunction = decrypt_aes_cbc_sha1; + state.write.cipherFunction = encrypt_aes_cbc_sha1; + + // MAC setup + state.read.macLength = state.write.macLength = sp.mac_length; + state.read.macFunction = state.write.macFunction = tls.hmac_sha1; +} + +/** + * Encrypts the TLSCompressed record into a TLSCipherText record using AES + * in CBC mode. + * + * @param record the TLSCompressed record to encrypt. + * @param s the ConnectionState to use. + * + * @return true on success, false on failure. + */ +function encrypt_aes_cbc_sha1(record, s) { + var rval = false; + + // append MAC to fragment, update sequence number + var mac = s.macFunction(s.macKey, s.sequenceNumber, record); + record.fragment.putBytes(mac); + s.updateSequenceNumber(); + + // TLS 1.1+ use an explicit IV every time to protect against CBC attacks + var iv; + if(record.version.minor === tls.Versions.TLS_1_0.minor) { + // use the pre-generated IV when initializing for TLS 1.0, otherwise use + // the residue from the previous encryption + iv = s.cipherState.init ? null : s.cipherState.iv; + } else { + iv = forge.random.getBytesSync(16); + } + + s.cipherState.init = true; + + // start cipher + var cipher = s.cipherState.cipher; + cipher.start({iv: iv}); + + // TLS 1.1+ write IV into output + if(record.version.minor >= tls.Versions.TLS_1_1.minor) { + cipher.output.putBytes(iv); + } + + // do encryption (default padding is appropriate) + cipher.update(record.fragment); + if(cipher.finish(encrypt_aes_cbc_sha1_padding)) { + // set record fragment to encrypted output + record.fragment = cipher.output; + record.length = record.fragment.length(); + rval = true; + } + + return rval; +} + +/** + * Handles padding for aes_cbc_sha1 in encrypt mode. + * + * @param blockSize the block size. + * @param input the input buffer. + * @param decrypt true in decrypt mode, false in encrypt mode. + * + * @return true on success, false on failure. + */ +function encrypt_aes_cbc_sha1_padding(blockSize, input, decrypt) { + /* The encrypted data length (TLSCiphertext.length) is one more than the sum + of SecurityParameters.block_length, TLSCompressed.length, + SecurityParameters.mac_length, and padding_length. + + The padding may be any length up to 255 bytes long, as long as it results in + the TLSCiphertext.length being an integral multiple of the block length. + Lengths longer than necessary might be desirable to frustrate attacks on a + protocol based on analysis of the lengths of exchanged messages. Each uint8 + in the padding data vector must be filled with the padding length value. + + The padding length should be such that the total size of the + GenericBlockCipher structure is a multiple of the cipher's block length. + Legal values range from zero to 255, inclusive. This length specifies the + length of the padding field exclusive of the padding_length field itself. + + This is slightly different from PKCS#7 because the padding value is 1 + less than the actual number of padding bytes if you include the + padding_length uint8 itself as a padding byte. */ + if(!decrypt) { + // get the number of padding bytes required to reach the blockSize and + // subtract 1 for the padding value (to make room for the padding_length + // uint8) + var padding = blockSize - (input.length() % blockSize); + input.fillWithByte(padding - 1, padding); + } + return true; +} + +/** + * Handles padding for aes_cbc_sha1 in decrypt mode. + * + * @param blockSize the block size. + * @param output the output buffer. + * @param decrypt true in decrypt mode, false in encrypt mode. + * + * @return true on success, false on failure. + */ +function decrypt_aes_cbc_sha1_padding(blockSize, output, decrypt) { + var rval = true; + if(decrypt) { + /* The last byte in the output specifies the number of padding bytes not + including itself. Each of the padding bytes has the same value as that + last byte (known as the padding_length). Here we check all padding + bytes to ensure they have the value of padding_length even if one of + them is bad in order to ward-off timing attacks. */ + var len = output.length(); + var paddingLength = output.last(); + for(var i = len - 1 - paddingLength; i < len - 1; ++i) { + rval = rval && (output.at(i) == paddingLength); + } + if(rval) { + // trim off padding bytes and last padding length byte + output.truncate(paddingLength + 1); + } + } + return rval; +} + +/** + * Decrypts a TLSCipherText record into a TLSCompressed record using + * AES in CBC mode. + * + * @param record the TLSCipherText record to decrypt. + * @param s the ConnectionState to use. + * + * @return true on success, false on failure. + */ +var count = 0; +function decrypt_aes_cbc_sha1(record, s) { + var rval = false; + ++count; + + var iv; + if(record.version.minor === tls.Versions.TLS_1_0.minor) { + // use pre-generated IV when initializing for TLS 1.0, otherwise use the + // residue from the previous decryption + iv = s.cipherState.init ? null : s.cipherState.iv; + } else { + // TLS 1.1+ use an explicit IV every time to protect against CBC attacks + // that is appended to the record fragment + iv = record.fragment.getBytes(16); + } + + s.cipherState.init = true; + + // start cipher + var cipher = s.cipherState.cipher; + cipher.start({iv: iv}); + + // do decryption + cipher.update(record.fragment); + rval = cipher.finish(decrypt_aes_cbc_sha1_padding); + + // even if decryption fails, keep going to minimize timing attacks + + // decrypted data: + // first (len - 20) bytes = application data + // last 20 bytes = MAC + var macLen = s.macLength; + + // create a random MAC to check against should the mac length check fail + // Note: do this regardless of the failure to keep timing consistent + var mac = forge.random.getBytesSync(macLen); + + // get fragment and mac + var len = cipher.output.length(); + if(len >= macLen) { + record.fragment = cipher.output.getBytes(len - macLen); + mac = cipher.output.getBytes(macLen); + } else { + // bad data, but get bytes anyway to try to keep timing consistent + record.fragment = cipher.output.getBytes(); + } + record.fragment = forge.util.createBuffer(record.fragment); + record.length = record.fragment.length(); + + // see if data integrity checks out, update sequence number + var mac2 = s.macFunction(s.macKey, s.sequenceNumber, record); + s.updateSequenceNumber(); + rval = compareMacs(s.macKey, mac, mac2) && rval; + return rval; +} + +/** + * Safely compare two MACs. This function will compare two MACs in a way + * that protects against timing attacks. + * + * TODO: Expose elsewhere as a utility API. + * + * See: https://www.nccgroup.trust/us/about-us/newsroom-and-events/blog/2011/february/double-hmac-verification/ + * + * @param key the MAC key to use. + * @param mac1 as a binary-encoded string of bytes. + * @param mac2 as a binary-encoded string of bytes. + * + * @return true if the MACs are the same, false if not. + */ +function compareMacs(key, mac1, mac2) { + var hmac = forge.hmac.create(); + + hmac.start('SHA1', key); + hmac.update(mac1); + mac1 = hmac.digest().getBytes(); + + hmac.start(null, null); + hmac.update(mac2); + mac2 = hmac.digest().getBytes(); + + return mac1 === mac2; +} diff --git a/express-server/node_modules/node-forge/lib/asn1.js b/express-server/node_modules/node-forge/lib/asn1.js new file mode 100644 index 00000000..af9fe524 --- /dev/null +++ b/express-server/node_modules/node-forge/lib/asn1.js @@ -0,0 +1,1408 @@ +/** + * Javascript implementation of Abstract Syntax Notation Number One. + * + * @author Dave Longley + * + * Copyright (c) 2010-2015 Digital Bazaar, Inc. + * + * An API for storing data using the Abstract Syntax Notation Number One + * format using DER (Distinguished Encoding Rules) encoding. This encoding is + * commonly used to store data for PKI, i.e. X.509 Certificates, and this + * implementation exists for that purpose. + * + * Abstract Syntax Notation Number One (ASN.1) is used to define the abstract + * syntax of information without restricting the way the information is encoded + * for transmission. It provides a standard that allows for open systems + * communication. ASN.1 defines the syntax of information data and a number of + * simple data types as well as a notation for describing them and specifying + * values for them. + * + * The RSA algorithm creates public and private keys that are often stored in + * X.509 or PKCS#X formats -- which use ASN.1 (encoded in DER format). This + * class provides the most basic functionality required to store and load DSA + * keys that are encoded according to ASN.1. + * + * The most common binary encodings for ASN.1 are BER (Basic Encoding Rules) + * and DER (Distinguished Encoding Rules). DER is just a subset of BER that + * has stricter requirements for how data must be encoded. + * + * Each ASN.1 structure has a tag (a byte identifying the ASN.1 structure type) + * and a byte array for the value of this ASN1 structure which may be data or a + * list of ASN.1 structures. + * + * Each ASN.1 structure using BER is (Tag-Length-Value): + * + * | byte 0 | bytes X | bytes Y | + * |--------|---------|---------- + * | tag | length | value | + * + * ASN.1 allows for tags to be of "High-tag-number form" which allows a tag to + * be two or more octets, but that is not supported by this class. A tag is + * only 1 byte. Bits 1-5 give the tag number (ie the data type within a + * particular 'class'), 6 indicates whether or not the ASN.1 value is + * constructed from other ASN.1 values, and bits 7 and 8 give the 'class'. If + * bits 7 and 8 are both zero, the class is UNIVERSAL. If only bit 7 is set, + * then the class is APPLICATION. If only bit 8 is set, then the class is + * CONTEXT_SPECIFIC. If both bits 7 and 8 are set, then the class is PRIVATE. + * The tag numbers for the data types for the class UNIVERSAL are listed below: + * + * UNIVERSAL 0 Reserved for use by the encoding rules + * UNIVERSAL 1 Boolean type + * UNIVERSAL 2 Integer type + * UNIVERSAL 3 Bitstring type + * UNIVERSAL 4 Octetstring type + * UNIVERSAL 5 Null type + * UNIVERSAL 6 Object identifier type + * UNIVERSAL 7 Object descriptor type + * UNIVERSAL 8 External type and Instance-of type + * UNIVERSAL 9 Real type + * UNIVERSAL 10 Enumerated type + * UNIVERSAL 11 Embedded-pdv type + * UNIVERSAL 12 UTF8String type + * UNIVERSAL 13 Relative object identifier type + * UNIVERSAL 14-15 Reserved for future editions + * UNIVERSAL 16 Sequence and Sequence-of types + * UNIVERSAL 17 Set and Set-of types + * UNIVERSAL 18-22, 25-30 Character string types + * UNIVERSAL 23-24 Time types + * + * The length of an ASN.1 structure is specified after the tag identifier. + * There is a definite form and an indefinite form. The indefinite form may + * be used if the encoding is constructed and not all immediately available. + * The indefinite form is encoded using a length byte with only the 8th bit + * set. The end of the constructed object is marked using end-of-contents + * octets (two zero bytes). + * + * The definite form looks like this: + * + * The length may take up 1 or more bytes, it depends on the length of the + * value of the ASN.1 structure. DER encoding requires that if the ASN.1 + * structure has a value that has a length greater than 127, more than 1 byte + * will be used to store its length, otherwise just one byte will be used. + * This is strict. + * + * In the case that the length of the ASN.1 value is less than 127, 1 octet + * (byte) is used to store the "short form" length. The 8th bit has a value of + * 0 indicating the length is "short form" and not "long form" and bits 7-1 + * give the length of the data. (The 8th bit is the left-most, most significant + * bit: also known as big endian or network format). + * + * In the case that the length of the ASN.1 value is greater than 127, 2 to + * 127 octets (bytes) are used to store the "long form" length. The first + * byte's 8th bit is set to 1 to indicate the length is "long form." Bits 7-1 + * give the number of additional octets. All following octets are in base 256 + * with the most significant digit first (typical big-endian binary unsigned + * integer storage). So, for instance, if the length of a value was 257, the + * first byte would be set to: + * + * 10000010 = 130 = 0x82. + * + * This indicates there are 2 octets (base 256) for the length. The second and + * third bytes (the octets just mentioned) would store the length in base 256: + * + * octet 2: 00000001 = 1 * 256^1 = 256 + * octet 3: 00000001 = 1 * 256^0 = 1 + * total = 257 + * + * The algorithm for converting a js integer value of 257 to base-256 is: + * + * var value = 257; + * var bytes = []; + * bytes[0] = (value >>> 8) & 0xFF; // most significant byte first + * bytes[1] = value & 0xFF; // least significant byte last + * + * On the ASN.1 UNIVERSAL Object Identifier (OID) type: + * + * An OID can be written like: "value1.value2.value3...valueN" + * + * The DER encoding rules: + * + * The first byte has the value 40 * value1 + value2. + * The following bytes, if any, encode the remaining values. Each value is + * encoded in base 128, most significant digit first (big endian), with as + * few digits as possible, and the most significant bit of each byte set + * to 1 except the last in each value's encoding. For example: Given the + * OID "1.2.840.113549", its DER encoding is (remember each byte except the + * last one in each encoding is OR'd with 0x80): + * + * byte 1: 40 * 1 + 2 = 42 = 0x2A. + * bytes 2-3: 128 * 6 + 72 = 840 = 6 72 = 6 72 = 0x0648 = 0x8648 + * bytes 4-6: 16384 * 6 + 128 * 119 + 13 = 6 119 13 = 0x06770D = 0x86F70D + * + * The final value is: 0x2A864886F70D. + * The full OID (including ASN.1 tag and length of 6 bytes) is: + * 0x06062A864886F70D + */ +var forge = require('./forge'); +require('./util'); +require('./oids'); + +/* ASN.1 API */ +var asn1 = module.exports = forge.asn1 = forge.asn1 || {}; + +/** + * ASN.1 classes. + */ +asn1.Class = { + UNIVERSAL: 0x00, + APPLICATION: 0x40, + CONTEXT_SPECIFIC: 0x80, + PRIVATE: 0xC0 +}; + +/** + * ASN.1 types. Not all types are supported by this implementation, only + * those necessary to implement a simple PKI are implemented. + */ +asn1.Type = { + NONE: 0, + BOOLEAN: 1, + INTEGER: 2, + BITSTRING: 3, + OCTETSTRING: 4, + NULL: 5, + OID: 6, + ODESC: 7, + EXTERNAL: 8, + REAL: 9, + ENUMERATED: 10, + EMBEDDED: 11, + UTF8: 12, + ROID: 13, + SEQUENCE: 16, + SET: 17, + PRINTABLESTRING: 19, + IA5STRING: 22, + UTCTIME: 23, + GENERALIZEDTIME: 24, + BMPSTRING: 30 +}; + +/** + * Creates a new asn1 object. + * + * @param tagClass the tag class for the object. + * @param type the data type (tag number) for the object. + * @param constructed true if the asn1 object is in constructed form. + * @param value the value for the object, if it is not constructed. + * @param [options] the options to use: + * [bitStringContents] the plain BIT STRING content including padding + * byte. + * + * @return the asn1 object. + */ +asn1.create = function(tagClass, type, constructed, value, options) { + /* An asn1 object has a tagClass, a type, a constructed flag, and a + value. The value's type depends on the constructed flag. If + constructed, it will contain a list of other asn1 objects. If not, + it will contain the ASN.1 value as an array of bytes formatted + according to the ASN.1 data type. */ + + // remove undefined values + if(forge.util.isArray(value)) { + var tmp = []; + for(var i = 0; i < value.length; ++i) { + if(value[i] !== undefined) { + tmp.push(value[i]); + } + } + value = tmp; + } + + var obj = { + tagClass: tagClass, + type: type, + constructed: constructed, + composed: constructed || forge.util.isArray(value), + value: value + }; + if(options && 'bitStringContents' in options) { + // TODO: copy byte buffer if it's a buffer not a string + obj.bitStringContents = options.bitStringContents; + // TODO: add readonly flag to avoid this overhead + // save copy to detect changes + obj.original = asn1.copy(obj); + } + return obj; +}; + +/** + * Copies an asn1 object. + * + * @param obj the asn1 object. + * @param [options] copy options: + * [excludeBitStringContents] true to not copy bitStringContents + * + * @return the a copy of the asn1 object. + */ +asn1.copy = function(obj, options) { + var copy; + + if(forge.util.isArray(obj)) { + copy = []; + for(var i = 0; i < obj.length; ++i) { + copy.push(asn1.copy(obj[i], options)); + } + return copy; + } + + if(typeof obj === 'string') { + // TODO: copy byte buffer if it's a buffer not a string + return obj; + } + + copy = { + tagClass: obj.tagClass, + type: obj.type, + constructed: obj.constructed, + composed: obj.composed, + value: asn1.copy(obj.value, options) + }; + if(options && !options.excludeBitStringContents) { + // TODO: copy byte buffer if it's a buffer not a string + copy.bitStringContents = obj.bitStringContents; + } + return copy; +}; + +/** + * Compares asn1 objects for equality. + * + * Note this function does not run in constant time. + * + * @param obj1 the first asn1 object. + * @param obj2 the second asn1 object. + * @param [options] compare options: + * [includeBitStringContents] true to compare bitStringContents + * + * @return true if the asn1 objects are equal. + */ +asn1.equals = function(obj1, obj2, options) { + if(forge.util.isArray(obj1)) { + if(!forge.util.isArray(obj2)) { + return false; + } + if(obj1.length !== obj2.length) { + return false; + } + for(var i = 0; i < obj1.length; ++i) { + if(!asn1.equals(obj1[i], obj2[i])) { + return false; + } + } + return true; + } + + if(typeof obj1 !== typeof obj2) { + return false; + } + + if(typeof obj1 === 'string') { + return obj1 === obj2; + } + + var equal = obj1.tagClass === obj2.tagClass && + obj1.type === obj2.type && + obj1.constructed === obj2.constructed && + obj1.composed === obj2.composed && + asn1.equals(obj1.value, obj2.value); + if(options && options.includeBitStringContents) { + equal = equal && (obj1.bitStringContents === obj2.bitStringContents); + } + + return equal; +}; + +/** + * Gets the length of a BER-encoded ASN.1 value. + * + * In case the length is not specified, undefined is returned. + * + * @param b the BER-encoded ASN.1 byte buffer, starting with the first + * length byte. + * + * @return the length of the BER-encoded ASN.1 value or undefined. + */ +asn1.getBerValueLength = function(b) { + // TODO: move this function and related DER/BER functions to a der.js + // file; better abstract ASN.1 away from der/ber. + var b2 = b.getByte(); + if(b2 === 0x80) { + return undefined; + } + + // see if the length is "short form" or "long form" (bit 8 set) + var length; + var longForm = b2 & 0x80; + if(!longForm) { + // length is just the first byte + length = b2; + } else { + // the number of bytes the length is specified in bits 7 through 1 + // and each length byte is in big-endian base-256 + length = b.getInt((b2 & 0x7F) << 3); + } + return length; +}; + +/** + * Check if the byte buffer has enough bytes. Throws an Error if not. + * + * @param bytes the byte buffer to parse from. + * @param remaining the bytes remaining in the current parsing state. + * @param n the number of bytes the buffer must have. + */ +function _checkBufferLength(bytes, remaining, n) { + if(n > remaining) { + var error = new Error('Too few bytes to parse DER.'); + error.available = bytes.length(); + error.remaining = remaining; + error.requested = n; + throw error; + } +} + +/** + * Gets the length of a BER-encoded ASN.1 value. + * + * In case the length is not specified, undefined is returned. + * + * @param bytes the byte buffer to parse from. + * @param remaining the bytes remaining in the current parsing state. + * + * @return the length of the BER-encoded ASN.1 value or undefined. + */ +var _getValueLength = function(bytes, remaining) { + // TODO: move this function and related DER/BER functions to a der.js + // file; better abstract ASN.1 away from der/ber. + // fromDer already checked that this byte exists + var b2 = bytes.getByte(); + remaining--; + if(b2 === 0x80) { + return undefined; + } + + // see if the length is "short form" or "long form" (bit 8 set) + var length; + var longForm = b2 & 0x80; + if(!longForm) { + // length is just the first byte + length = b2; + } else { + // the number of bytes the length is specified in bits 7 through 1 + // and each length byte is in big-endian base-256 + var longFormBytes = b2 & 0x7F; + _checkBufferLength(bytes, remaining, longFormBytes); + length = bytes.getInt(longFormBytes << 3); + } + // FIXME: this will only happen for 32 bit getInt with high bit set + if(length < 0) { + throw new Error('Negative length: ' + length); + } + return length; +}; + +/** + * Parses an asn1 object from a byte buffer in DER format. + * + * @param bytes the byte buffer to parse from. + * @param [strict] true to be strict when checking value lengths, false to + * allow truncated values (default: true). + * @param [options] object with options or boolean strict flag + * [strict] true to be strict when checking value lengths, false to + * allow truncated values (default: true). + * [decodeBitStrings] true to attempt to decode the content of + * BIT STRINGs (not OCTET STRINGs) using strict mode. Note that + * without schema support to understand the data context this can + * erroneously decode values that happen to be valid ASN.1. This + * flag will be deprecated or removed as soon as schema support is + * available. (default: true) + * + * @return the parsed asn1 object. + */ +asn1.fromDer = function(bytes, options) { + if(options === undefined) { + options = { + strict: true, + decodeBitStrings: true + }; + } + if(typeof options === 'boolean') { + options = { + strict: options, + decodeBitStrings: true + }; + } + if(!('strict' in options)) { + options.strict = true; + } + if(!('decodeBitStrings' in options)) { + options.decodeBitStrings = true; + } + + // wrap in buffer if needed + if(typeof bytes === 'string') { + bytes = forge.util.createBuffer(bytes); + } + + return _fromDer(bytes, bytes.length(), 0, options); +}; + +/** + * Internal function to parse an asn1 object from a byte buffer in DER format. + * + * @param bytes the byte buffer to parse from. + * @param remaining the number of bytes remaining for this chunk. + * @param depth the current parsing depth. + * @param options object with same options as fromDer(). + * + * @return the parsed asn1 object. + */ +function _fromDer(bytes, remaining, depth, options) { + // temporary storage for consumption calculations + var start; + + // minimum length for ASN.1 DER structure is 2 + _checkBufferLength(bytes, remaining, 2); + + // get the first byte + var b1 = bytes.getByte(); + // consumed one byte + remaining--; + + // get the tag class + var tagClass = (b1 & 0xC0); + + // get the type (bits 1-5) + var type = b1 & 0x1F; + + // get the variable value length and adjust remaining bytes + start = bytes.length(); + var length = _getValueLength(bytes, remaining); + remaining -= start - bytes.length(); + + // ensure there are enough bytes to get the value + if(length !== undefined && length > remaining) { + if(options.strict) { + var error = new Error('Too few bytes to read ASN.1 value.'); + error.available = bytes.length(); + error.remaining = remaining; + error.requested = length; + throw error; + } + // Note: be lenient with truncated values and use remaining state bytes + length = remaining; + } + + // value storage + var value; + // possible BIT STRING contents storage + var bitStringContents; + + // constructed flag is bit 6 (32 = 0x20) of the first byte + var constructed = ((b1 & 0x20) === 0x20); + if(constructed) { + // parse child asn1 objects from the value + value = []; + if(length === undefined) { + // asn1 object of indefinite length, read until end tag + for(;;) { + _checkBufferLength(bytes, remaining, 2); + if(bytes.bytes(2) === String.fromCharCode(0, 0)) { + bytes.getBytes(2); + remaining -= 2; + break; + } + start = bytes.length(); + value.push(_fromDer(bytes, remaining, depth + 1, options)); + remaining -= start - bytes.length(); + } + } else { + // parsing asn1 object of definite length + while(length > 0) { + start = bytes.length(); + value.push(_fromDer(bytes, length, depth + 1, options)); + remaining -= start - bytes.length(); + length -= start - bytes.length(); + } + } + } + + // if a BIT STRING, save the contents including padding + if(value === undefined && tagClass === asn1.Class.UNIVERSAL && + type === asn1.Type.BITSTRING) { + bitStringContents = bytes.bytes(length); + } + + // determine if a non-constructed value should be decoded as a composed + // value that contains other ASN.1 objects. BIT STRINGs (and OCTET STRINGs) + // can be used this way. + if(value === undefined && options.decodeBitStrings && + tagClass === asn1.Class.UNIVERSAL && + // FIXME: OCTET STRINGs not yet supported here + // .. other parts of forge expect to decode OCTET STRINGs manually + (type === asn1.Type.BITSTRING /*|| type === asn1.Type.OCTETSTRING*/) && + length > 1) { + // save read position + var savedRead = bytes.read; + var savedRemaining = remaining; + var unused = 0; + if(type === asn1.Type.BITSTRING) { + /* The first octet gives the number of bits by which the length of the + bit string is less than the next multiple of eight (this is called + the "number of unused bits"). + + The second and following octets give the value of the bit string + converted to an octet string. */ + _checkBufferLength(bytes, remaining, 1); + unused = bytes.getByte(); + remaining--; + } + // if all bits are used, maybe the BIT/OCTET STRING holds ASN.1 objs + if(unused === 0) { + try { + // attempt to parse child asn1 object from the value + // (stored in array to signal composed value) + start = bytes.length(); + var subOptions = { + // enforce strict mode to avoid parsing ASN.1 from plain data + verbose: options.verbose, + strict: true, + decodeBitStrings: true + }; + var composed = _fromDer(bytes, remaining, depth + 1, subOptions); + var used = start - bytes.length(); + remaining -= used; + if(type == asn1.Type.BITSTRING) { + used++; + } + + // if the data all decoded and the class indicates UNIVERSAL or + // CONTEXT_SPECIFIC then assume we've got an encapsulated ASN.1 object + var tc = composed.tagClass; + if(used === length && + (tc === asn1.Class.UNIVERSAL || tc === asn1.Class.CONTEXT_SPECIFIC)) { + value = [composed]; + } + } catch(ex) { + } + } + if(value === undefined) { + // restore read position + bytes.read = savedRead; + remaining = savedRemaining; + } + } + + if(value === undefined) { + // asn1 not constructed or composed, get raw value + // TODO: do DER to OID conversion and vice-versa in .toDer? + + if(length === undefined) { + if(options.strict) { + throw new Error('Non-constructed ASN.1 object of indefinite length.'); + } + // be lenient and use remaining state bytes + length = remaining; + } + + if(type === asn1.Type.BMPSTRING) { + value = ''; + for(; length > 0; length -= 2) { + _checkBufferLength(bytes, remaining, 2); + value += String.fromCharCode(bytes.getInt16()); + remaining -= 2; + } + } else { + value = bytes.getBytes(length); + } + } + + // add BIT STRING contents if available + var asn1Options = bitStringContents === undefined ? null : { + bitStringContents: bitStringContents + }; + + // create and return asn1 object + return asn1.create(tagClass, type, constructed, value, asn1Options); +} + +/** + * Converts the given asn1 object to a buffer of bytes in DER format. + * + * @param asn1 the asn1 object to convert to bytes. + * + * @return the buffer of bytes. + */ +asn1.toDer = function(obj) { + var bytes = forge.util.createBuffer(); + + // build the first byte + var b1 = obj.tagClass | obj.type; + + // for storing the ASN.1 value + var value = forge.util.createBuffer(); + + // use BIT STRING contents if available and data not changed + var useBitStringContents = false; + if('bitStringContents' in obj) { + useBitStringContents = true; + if(obj.original) { + useBitStringContents = asn1.equals(obj, obj.original); + } + } + + if(useBitStringContents) { + value.putBytes(obj.bitStringContents); + } else if(obj.composed) { + // if composed, use each child asn1 object's DER bytes as value + // turn on 6th bit (0x20 = 32) to indicate asn1 is constructed + // from other asn1 objects + if(obj.constructed) { + b1 |= 0x20; + } else { + // type is a bit string, add unused bits of 0x00 + value.putByte(0x00); + } + + // add all of the child DER bytes together + for(var i = 0; i < obj.value.length; ++i) { + if(obj.value[i] !== undefined) { + value.putBuffer(asn1.toDer(obj.value[i])); + } + } + } else { + // use asn1.value directly + if(obj.type === asn1.Type.BMPSTRING) { + for(var i = 0; i < obj.value.length; ++i) { + value.putInt16(obj.value.charCodeAt(i)); + } + } else { + // ensure integer is minimally-encoded + // TODO: should all leading bytes be stripped vs just one? + // .. ex '00 00 01' => '01'? + if(obj.type === asn1.Type.INTEGER && + obj.value.length > 1 && + // leading 0x00 for positive integer + ((obj.value.charCodeAt(0) === 0 && + (obj.value.charCodeAt(1) & 0x80) === 0) || + // leading 0xFF for negative integer + (obj.value.charCodeAt(0) === 0xFF && + (obj.value.charCodeAt(1) & 0x80) === 0x80))) { + value.putBytes(obj.value.substr(1)); + } else { + value.putBytes(obj.value); + } + } + } + + // add tag byte + bytes.putByte(b1); + + // use "short form" encoding + if(value.length() <= 127) { + // one byte describes the length + // bit 8 = 0 and bits 7-1 = length + bytes.putByte(value.length() & 0x7F); + } else { + // use "long form" encoding + // 2 to 127 bytes describe the length + // first byte: bit 8 = 1 and bits 7-1 = # of additional bytes + // other bytes: length in base 256, big-endian + var len = value.length(); + var lenBytes = ''; + do { + lenBytes += String.fromCharCode(len & 0xFF); + len = len >>> 8; + } while(len > 0); + + // set first byte to # bytes used to store the length and turn on + // bit 8 to indicate long-form length is used + bytes.putByte(lenBytes.length | 0x80); + + // concatenate length bytes in reverse since they were generated + // little endian and we need big endian + for(var i = lenBytes.length - 1; i >= 0; --i) { + bytes.putByte(lenBytes.charCodeAt(i)); + } + } + + // concatenate value bytes + bytes.putBuffer(value); + return bytes; +}; + +/** + * Converts an OID dot-separated string to a byte buffer. The byte buffer + * contains only the DER-encoded value, not any tag or length bytes. + * + * @param oid the OID dot-separated string. + * + * @return the byte buffer. + */ +asn1.oidToDer = function(oid) { + // split OID into individual values + var values = oid.split('.'); + var bytes = forge.util.createBuffer(); + + // first byte is 40 * value1 + value2 + bytes.putByte(40 * parseInt(values[0], 10) + parseInt(values[1], 10)); + // other bytes are each value in base 128 with 8th bit set except for + // the last byte for each value + var last, valueBytes, value, b; + for(var i = 2; i < values.length; ++i) { + // produce value bytes in reverse because we don't know how many + // bytes it will take to store the value + last = true; + valueBytes = []; + value = parseInt(values[i], 10); + do { + b = value & 0x7F; + value = value >>> 7; + // if value is not last, then turn on 8th bit + if(!last) { + b |= 0x80; + } + valueBytes.push(b); + last = false; + } while(value > 0); + + // add value bytes in reverse (needs to be in big endian) + for(var n = valueBytes.length - 1; n >= 0; --n) { + bytes.putByte(valueBytes[n]); + } + } + + return bytes; +}; + +/** + * Converts a DER-encoded byte buffer to an OID dot-separated string. The + * byte buffer should contain only the DER-encoded value, not any tag or + * length bytes. + * + * @param bytes the byte buffer. + * + * @return the OID dot-separated string. + */ +asn1.derToOid = function(bytes) { + var oid; + + // wrap in buffer if needed + if(typeof bytes === 'string') { + bytes = forge.util.createBuffer(bytes); + } + + // first byte is 40 * value1 + value2 + var b = bytes.getByte(); + oid = Math.floor(b / 40) + '.' + (b % 40); + + // other bytes are each value in base 128 with 8th bit set except for + // the last byte for each value + var value = 0; + while(bytes.length() > 0) { + b = bytes.getByte(); + value = value << 7; + // not the last byte for the value + if(b & 0x80) { + value += b & 0x7F; + } else { + // last byte + oid += '.' + (value + b); + value = 0; + } + } + + return oid; +}; + +/** + * Converts a UTCTime value to a date. + * + * Note: GeneralizedTime has 4 digits for the year and is used for X.509 + * dates past 2049. Parsing that structure hasn't been implemented yet. + * + * @param utc the UTCTime value to convert. + * + * @return the date. + */ +asn1.utcTimeToDate = function(utc) { + /* The following formats can be used: + + YYMMDDhhmmZ + YYMMDDhhmm+hh'mm' + YYMMDDhhmm-hh'mm' + YYMMDDhhmmssZ + YYMMDDhhmmss+hh'mm' + YYMMDDhhmmss-hh'mm' + + Where: + + YY is the least significant two digits of the year + MM is the month (01 to 12) + DD is the day (01 to 31) + hh is the hour (00 to 23) + mm are the minutes (00 to 59) + ss are the seconds (00 to 59) + Z indicates that local time is GMT, + indicates that local time is + later than GMT, and - indicates that local time is earlier than GMT + hh' is the absolute value of the offset from GMT in hours + mm' is the absolute value of the offset from GMT in minutes */ + var date = new Date(); + + // if YY >= 50 use 19xx, if YY < 50 use 20xx + var year = parseInt(utc.substr(0, 2), 10); + year = (year >= 50) ? 1900 + year : 2000 + year; + var MM = parseInt(utc.substr(2, 2), 10) - 1; // use 0-11 for month + var DD = parseInt(utc.substr(4, 2), 10); + var hh = parseInt(utc.substr(6, 2), 10); + var mm = parseInt(utc.substr(8, 2), 10); + var ss = 0; + + // not just YYMMDDhhmmZ + if(utc.length > 11) { + // get character after minutes + var c = utc.charAt(10); + var end = 10; + + // see if seconds are present + if(c !== '+' && c !== '-') { + // get seconds + ss = parseInt(utc.substr(10, 2), 10); + end += 2; + } + } + + // update date + date.setUTCFullYear(year, MM, DD); + date.setUTCHours(hh, mm, ss, 0); + + if(end) { + // get +/- after end of time + c = utc.charAt(end); + if(c === '+' || c === '-') { + // get hours+minutes offset + var hhoffset = parseInt(utc.substr(end + 1, 2), 10); + var mmoffset = parseInt(utc.substr(end + 4, 2), 10); + + // calculate offset in milliseconds + var offset = hhoffset * 60 + mmoffset; + offset *= 60000; + + // apply offset + if(c === '+') { + date.setTime(+date - offset); + } else { + date.setTime(+date + offset); + } + } + } + + return date; +}; + +/** + * Converts a GeneralizedTime value to a date. + * + * @param gentime the GeneralizedTime value to convert. + * + * @return the date. + */ +asn1.generalizedTimeToDate = function(gentime) { + /* The following formats can be used: + + YYYYMMDDHHMMSS + YYYYMMDDHHMMSS.fff + YYYYMMDDHHMMSSZ + YYYYMMDDHHMMSS.fffZ + YYYYMMDDHHMMSS+hh'mm' + YYYYMMDDHHMMSS.fff+hh'mm' + YYYYMMDDHHMMSS-hh'mm' + YYYYMMDDHHMMSS.fff-hh'mm' + + Where: + + YYYY is the year + MM is the month (01 to 12) + DD is the day (01 to 31) + hh is the hour (00 to 23) + mm are the minutes (00 to 59) + ss are the seconds (00 to 59) + .fff is the second fraction, accurate to three decimal places + Z indicates that local time is GMT, + indicates that local time is + later than GMT, and - indicates that local time is earlier than GMT + hh' is the absolute value of the offset from GMT in hours + mm' is the absolute value of the offset from GMT in minutes */ + var date = new Date(); + + var YYYY = parseInt(gentime.substr(0, 4), 10); + var MM = parseInt(gentime.substr(4, 2), 10) - 1; // use 0-11 for month + var DD = parseInt(gentime.substr(6, 2), 10); + var hh = parseInt(gentime.substr(8, 2), 10); + var mm = parseInt(gentime.substr(10, 2), 10); + var ss = parseInt(gentime.substr(12, 2), 10); + var fff = 0; + var offset = 0; + var isUTC = false; + + if(gentime.charAt(gentime.length - 1) === 'Z') { + isUTC = true; + } + + var end = gentime.length - 5, c = gentime.charAt(end); + if(c === '+' || c === '-') { + // get hours+minutes offset + var hhoffset = parseInt(gentime.substr(end + 1, 2), 10); + var mmoffset = parseInt(gentime.substr(end + 4, 2), 10); + + // calculate offset in milliseconds + offset = hhoffset * 60 + mmoffset; + offset *= 60000; + + // apply offset + if(c === '+') { + offset *= -1; + } + + isUTC = true; + } + + // check for second fraction + if(gentime.charAt(14) === '.') { + fff = parseFloat(gentime.substr(14), 10) * 1000; + } + + if(isUTC) { + date.setUTCFullYear(YYYY, MM, DD); + date.setUTCHours(hh, mm, ss, fff); + + // apply offset + date.setTime(+date + offset); + } else { + date.setFullYear(YYYY, MM, DD); + date.setHours(hh, mm, ss, fff); + } + + return date; +}; + +/** + * Converts a date to a UTCTime value. + * + * Note: GeneralizedTime has 4 digits for the year and is used for X.509 + * dates past 2049. Converting to a GeneralizedTime hasn't been + * implemented yet. + * + * @param date the date to convert. + * + * @return the UTCTime value. + */ +asn1.dateToUtcTime = function(date) { + // TODO: validate; currently assumes proper format + if(typeof date === 'string') { + return date; + } + + var rval = ''; + + // create format YYMMDDhhmmssZ + var format = []; + format.push(('' + date.getUTCFullYear()).substr(2)); + format.push('' + (date.getUTCMonth() + 1)); + format.push('' + date.getUTCDate()); + format.push('' + date.getUTCHours()); + format.push('' + date.getUTCMinutes()); + format.push('' + date.getUTCSeconds()); + + // ensure 2 digits are used for each format entry + for(var i = 0; i < format.length; ++i) { + if(format[i].length < 2) { + rval += '0'; + } + rval += format[i]; + } + rval += 'Z'; + + return rval; +}; + +/** + * Converts a date to a GeneralizedTime value. + * + * @param date the date to convert. + * + * @return the GeneralizedTime value as a string. + */ +asn1.dateToGeneralizedTime = function(date) { + // TODO: validate; currently assumes proper format + if(typeof date === 'string') { + return date; + } + + var rval = ''; + + // create format YYYYMMDDHHMMSSZ + var format = []; + format.push('' + date.getUTCFullYear()); + format.push('' + (date.getUTCMonth() + 1)); + format.push('' + date.getUTCDate()); + format.push('' + date.getUTCHours()); + format.push('' + date.getUTCMinutes()); + format.push('' + date.getUTCSeconds()); + + // ensure 2 digits are used for each format entry + for(var i = 0; i < format.length; ++i) { + if(format[i].length < 2) { + rval += '0'; + } + rval += format[i]; + } + rval += 'Z'; + + return rval; +}; + +/** + * Converts a javascript integer to a DER-encoded byte buffer to be used + * as the value for an INTEGER type. + * + * @param x the integer. + * + * @return the byte buffer. + */ +asn1.integerToDer = function(x) { + var rval = forge.util.createBuffer(); + if(x >= -0x80 && x < 0x80) { + return rval.putSignedInt(x, 8); + } + if(x >= -0x8000 && x < 0x8000) { + return rval.putSignedInt(x, 16); + } + if(x >= -0x800000 && x < 0x800000) { + return rval.putSignedInt(x, 24); + } + if(x >= -0x80000000 && x < 0x80000000) { + return rval.putSignedInt(x, 32); + } + var error = new Error('Integer too large; max is 32-bits.'); + error.integer = x; + throw error; +}; + +/** + * Converts a DER-encoded byte buffer to a javascript integer. This is + * typically used to decode the value of an INTEGER type. + * + * @param bytes the byte buffer. + * + * @return the integer. + */ +asn1.derToInteger = function(bytes) { + // wrap in buffer if needed + if(typeof bytes === 'string') { + bytes = forge.util.createBuffer(bytes); + } + + var n = bytes.length() * 8; + if(n > 32) { + throw new Error('Integer too large; max is 32-bits.'); + } + return bytes.getSignedInt(n); +}; + +/** + * Validates that the given ASN.1 object is at least a super set of the + * given ASN.1 structure. Only tag classes and types are checked. An + * optional map may also be provided to capture ASN.1 values while the + * structure is checked. + * + * To capture an ASN.1 value, set an object in the validator's 'capture' + * parameter to the key to use in the capture map. To capture the full + * ASN.1 object, specify 'captureAsn1'. To capture BIT STRING bytes, including + * the leading unused bits counter byte, specify 'captureBitStringContents'. + * To capture BIT STRING bytes, without the leading unused bits counter byte, + * specify 'captureBitStringValue'. + * + * Objects in the validator may set a field 'optional' to true to indicate + * that it isn't necessary to pass validation. + * + * @param obj the ASN.1 object to validate. + * @param v the ASN.1 structure validator. + * @param capture an optional map to capture values in. + * @param errors an optional array for storing validation errors. + * + * @return true on success, false on failure. + */ +asn1.validate = function(obj, v, capture, errors) { + var rval = false; + + // ensure tag class and type are the same if specified + if((obj.tagClass === v.tagClass || typeof(v.tagClass) === 'undefined') && + (obj.type === v.type || typeof(v.type) === 'undefined')) { + // ensure constructed flag is the same if specified + if(obj.constructed === v.constructed || + typeof(v.constructed) === 'undefined') { + rval = true; + + // handle sub values + if(v.value && forge.util.isArray(v.value)) { + var j = 0; + for(var i = 0; rval && i < v.value.length; ++i) { + rval = v.value[i].optional || false; + if(obj.value[j]) { + rval = asn1.validate(obj.value[j], v.value[i], capture, errors); + if(rval) { + ++j; + } else if(v.value[i].optional) { + rval = true; + } + } + if(!rval && errors) { + errors.push( + '[' + v.name + '] ' + + 'Tag class "' + v.tagClass + '", type "' + + v.type + '" expected value length "' + + v.value.length + '", got "' + + obj.value.length + '"'); + } + } + } + + if(rval && capture) { + if(v.capture) { + capture[v.capture] = obj.value; + } + if(v.captureAsn1) { + capture[v.captureAsn1] = obj; + } + if(v.captureBitStringContents && 'bitStringContents' in obj) { + capture[v.captureBitStringContents] = obj.bitStringContents; + } + if(v.captureBitStringValue && 'bitStringContents' in obj) { + var value; + if(obj.bitStringContents.length < 2) { + capture[v.captureBitStringValue] = ''; + } else { + // FIXME: support unused bits with data shifting + var unused = obj.bitStringContents.charCodeAt(0); + if(unused !== 0) { + throw new Error( + 'captureBitStringValue only supported for zero unused bits'); + } + capture[v.captureBitStringValue] = obj.bitStringContents.slice(1); + } + } + } + } else if(errors) { + errors.push( + '[' + v.name + '] ' + + 'Expected constructed "' + v.constructed + '", got "' + + obj.constructed + '"'); + } + } else if(errors) { + if(obj.tagClass !== v.tagClass) { + errors.push( + '[' + v.name + '] ' + + 'Expected tag class "' + v.tagClass + '", got "' + + obj.tagClass + '"'); + } + if(obj.type !== v.type) { + errors.push( + '[' + v.name + '] ' + + 'Expected type "' + v.type + '", got "' + obj.type + '"'); + } + } + return rval; +}; + +// regex for testing for non-latin characters +var _nonLatinRegex = /[^\\u0000-\\u00ff]/; + +/** + * Pretty prints an ASN.1 object to a string. + * + * @param obj the object to write out. + * @param level the level in the tree. + * @param indentation the indentation to use. + * + * @return the string. + */ +asn1.prettyPrint = function(obj, level, indentation) { + var rval = ''; + + // set default level and indentation + level = level || 0; + indentation = indentation || 2; + + // start new line for deep levels + if(level > 0) { + rval += '\n'; + } + + // create indent + var indent = ''; + for(var i = 0; i < level * indentation; ++i) { + indent += ' '; + } + + // print class:type + rval += indent + 'Tag: '; + switch(obj.tagClass) { + case asn1.Class.UNIVERSAL: + rval += 'Universal:'; + break; + case asn1.Class.APPLICATION: + rval += 'Application:'; + break; + case asn1.Class.CONTEXT_SPECIFIC: + rval += 'Context-Specific:'; + break; + case asn1.Class.PRIVATE: + rval += 'Private:'; + break; + } + + if(obj.tagClass === asn1.Class.UNIVERSAL) { + rval += obj.type; + + // known types + switch(obj.type) { + case asn1.Type.NONE: + rval += ' (None)'; + break; + case asn1.Type.BOOLEAN: + rval += ' (Boolean)'; + break; + case asn1.Type.INTEGER: + rval += ' (Integer)'; + break; + case asn1.Type.BITSTRING: + rval += ' (Bit string)'; + break; + case asn1.Type.OCTETSTRING: + rval += ' (Octet string)'; + break; + case asn1.Type.NULL: + rval += ' (Null)'; + break; + case asn1.Type.OID: + rval += ' (Object Identifier)'; + break; + case asn1.Type.ODESC: + rval += ' (Object Descriptor)'; + break; + case asn1.Type.EXTERNAL: + rval += ' (External or Instance of)'; + break; + case asn1.Type.REAL: + rval += ' (Real)'; + break; + case asn1.Type.ENUMERATED: + rval += ' (Enumerated)'; + break; + case asn1.Type.EMBEDDED: + rval += ' (Embedded PDV)'; + break; + case asn1.Type.UTF8: + rval += ' (UTF8)'; + break; + case asn1.Type.ROID: + rval += ' (Relative Object Identifier)'; + break; + case asn1.Type.SEQUENCE: + rval += ' (Sequence)'; + break; + case asn1.Type.SET: + rval += ' (Set)'; + break; + case asn1.Type.PRINTABLESTRING: + rval += ' (Printable String)'; + break; + case asn1.Type.IA5String: + rval += ' (IA5String (ASCII))'; + break; + case asn1.Type.UTCTIME: + rval += ' (UTC time)'; + break; + case asn1.Type.GENERALIZEDTIME: + rval += ' (Generalized time)'; + break; + case asn1.Type.BMPSTRING: + rval += ' (BMP String)'; + break; + } + } else { + rval += obj.type; + } + + rval += '\n'; + rval += indent + 'Constructed: ' + obj.constructed + '\n'; + + if(obj.composed) { + var subvalues = 0; + var sub = ''; + for(var i = 0; i < obj.value.length; ++i) { + if(obj.value[i] !== undefined) { + subvalues += 1; + sub += asn1.prettyPrint(obj.value[i], level + 1, indentation); + if((i + 1) < obj.value.length) { + sub += ','; + } + } + } + rval += indent + 'Sub values: ' + subvalues + sub; + } else { + rval += indent + 'Value: '; + if(obj.type === asn1.Type.OID) { + var oid = asn1.derToOid(obj.value); + rval += oid; + if(forge.pki && forge.pki.oids) { + if(oid in forge.pki.oids) { + rval += ' (' + forge.pki.oids[oid] + ') '; + } + } + } + if(obj.type === asn1.Type.INTEGER) { + try { + rval += asn1.derToInteger(obj.value); + } catch(ex) { + rval += '0x' + forge.util.bytesToHex(obj.value); + } + } else if(obj.type === asn1.Type.BITSTRING) { + // TODO: shift bits as needed to display without padding + if(obj.value.length > 1) { + // remove unused bits field + rval += '0x' + forge.util.bytesToHex(obj.value.slice(1)); + } else { + rval += '(none)'; + } + // show unused bit count + if(obj.value.length > 0) { + var unused = obj.value.charCodeAt(0); + if(unused == 1) { + rval += ' (1 unused bit shown)'; + } else if(unused > 1) { + rval += ' (' + unused + ' unused bits shown)'; + } + } + } else if(obj.type === asn1.Type.OCTETSTRING) { + if(!_nonLatinRegex.test(obj.value)) { + rval += '(' + obj.value + ') '; + } + rval += '0x' + forge.util.bytesToHex(obj.value); + } else if(obj.type === asn1.Type.UTF8) { + rval += forge.util.decodeUtf8(obj.value); + } else if(obj.type === asn1.Type.PRINTABLESTRING || + obj.type === asn1.Type.IA5String) { + rval += obj.value; + } else if(_nonLatinRegex.test(obj.value)) { + rval += '0x' + forge.util.bytesToHex(obj.value); + } else if(obj.value.length === 0) { + rval += '[null]'; + } else { + rval += obj.value; + } + } + + return rval; +}; diff --git a/express-server/node_modules/node-forge/lib/baseN.js b/express-server/node_modules/node-forge/lib/baseN.js new file mode 100644 index 00000000..824fa36d --- /dev/null +++ b/express-server/node_modules/node-forge/lib/baseN.js @@ -0,0 +1,186 @@ +/** + * Base-N/Base-X encoding/decoding functions. + * + * Original implementation from base-x: + * https://github.com/cryptocoinjs/base-x + * + * Which is MIT licensed: + * + * The MIT License (MIT) + * + * Copyright base-x contributors (c) 2016 + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ +var api = {}; +module.exports = api; + +// baseN alphabet indexes +var _reverseAlphabets = {}; + +/** + * BaseN-encodes a Uint8Array using the given alphabet. + * + * @param input the Uint8Array to encode. + * @param maxline the maximum number of encoded characters per line to use, + * defaults to none. + * + * @return the baseN-encoded output string. + */ +api.encode = function(input, alphabet, maxline) { + if(typeof alphabet !== 'string') { + throw new TypeError('"alphabet" must be a string.'); + } + if(maxline !== undefined && typeof maxline !== 'number') { + throw new TypeError('"maxline" must be a number.'); + } + + var output = ''; + + if(!(input instanceof Uint8Array)) { + // assume forge byte buffer + output = _encodeWithByteBuffer(input, alphabet); + } else { + var i = 0; + var base = alphabet.length; + var first = alphabet.charAt(0); + var digits = [0]; + for(i = 0; i < input.length; ++i) { + for(var j = 0, carry = input[i]; j < digits.length; ++j) { + carry += digits[j] << 8; + digits[j] = carry % base; + carry = (carry / base) | 0; + } + + while(carry > 0) { + digits.push(carry % base); + carry = (carry / base) | 0; + } + } + + // deal with leading zeros + for(i = 0; input[i] === 0 && i < input.length - 1; ++i) { + output += first; + } + // convert digits to a string + for(i = digits.length - 1; i >= 0; --i) { + output += alphabet[digits[i]]; + } + } + + if(maxline) { + var regex = new RegExp('.{1,' + maxline + '}', 'g'); + output = output.match(regex).join('\r\n'); + } + + return output; +}; + +/** + * Decodes a baseN-encoded (using the given alphabet) string to a + * Uint8Array. + * + * @param input the baseN-encoded input string. + * + * @return the Uint8Array. + */ +api.decode = function(input, alphabet) { + if(typeof input !== 'string') { + throw new TypeError('"input" must be a string.'); + } + if(typeof alphabet !== 'string') { + throw new TypeError('"alphabet" must be a string.'); + } + + var table = _reverseAlphabets[alphabet]; + if(!table) { + // compute reverse alphabet + table = _reverseAlphabets[alphabet] = []; + for(var i = 0; i < alphabet.length; ++i) { + table[alphabet.charCodeAt(i)] = i; + } + } + + // remove whitespace characters + input = input.replace(/\s/g, ''); + + var base = alphabet.length; + var first = alphabet.charAt(0); + var bytes = [0]; + for(var i = 0; i < input.length; i++) { + var value = table[input.charCodeAt(i)]; + if(value === undefined) { + return; + } + + for(var j = 0, carry = value; j < bytes.length; ++j) { + carry += bytes[j] * base; + bytes[j] = carry & 0xff; + carry >>= 8; + } + + while(carry > 0) { + bytes.push(carry & 0xff); + carry >>= 8; + } + } + + // deal with leading zeros + for(var k = 0; input[k] === first && k < input.length - 1; ++k) { + bytes.push(0); + } + + if(typeof Buffer !== 'undefined') { + return Buffer.from(bytes.reverse()); + } + + return new Uint8Array(bytes.reverse()); +}; + +function _encodeWithByteBuffer(input, alphabet) { + var i = 0; + var base = alphabet.length; + var first = alphabet.charAt(0); + var digits = [0]; + for(i = 0; i < input.length(); ++i) { + for(var j = 0, carry = input.at(i); j < digits.length; ++j) { + carry += digits[j] << 8; + digits[j] = carry % base; + carry = (carry / base) | 0; + } + + while(carry > 0) { + digits.push(carry % base); + carry = (carry / base) | 0; + } + } + + var output = ''; + + // deal with leading zeros + for(i = 0; input.at(i) === 0 && i < input.length() - 1; ++i) { + output += first; + } + // convert digits to a string + for(i = digits.length - 1; i >= 0; --i) { + output += alphabet[digits[i]]; + } + + return output; +} diff --git a/express-server/node_modules/node-forge/lib/cipher.js b/express-server/node_modules/node-forge/lib/cipher.js new file mode 100644 index 00000000..f2c36e65 --- /dev/null +++ b/express-server/node_modules/node-forge/lib/cipher.js @@ -0,0 +1,230 @@ +/** + * Cipher base API. + * + * @author Dave Longley + * + * Copyright (c) 2010-2014 Digital Bazaar, Inc. + */ +var forge = require('./forge'); +require('./util'); + +module.exports = forge.cipher = forge.cipher || {}; + +// registered algorithms +forge.cipher.algorithms = forge.cipher.algorithms || {}; + +/** + * Creates a cipher object that can be used to encrypt data using the given + * algorithm and key. The algorithm may be provided as a string value for a + * previously registered algorithm or it may be given as a cipher algorithm + * API object. + * + * @param algorithm the algorithm to use, either a string or an algorithm API + * object. + * @param key the key to use, as a binary-encoded string of bytes or a + * byte buffer. + * + * @return the cipher. + */ +forge.cipher.createCipher = function(algorithm, key) { + var api = algorithm; + if(typeof api === 'string') { + api = forge.cipher.getAlgorithm(api); + if(api) { + api = api(); + } + } + if(!api) { + throw new Error('Unsupported algorithm: ' + algorithm); + } + + // assume block cipher + return new forge.cipher.BlockCipher({ + algorithm: api, + key: key, + decrypt: false + }); +}; + +/** + * Creates a decipher object that can be used to decrypt data using the given + * algorithm and key. The algorithm may be provided as a string value for a + * previously registered algorithm or it may be given as a cipher algorithm + * API object. + * + * @param algorithm the algorithm to use, either a string or an algorithm API + * object. + * @param key the key to use, as a binary-encoded string of bytes or a + * byte buffer. + * + * @return the cipher. + */ +forge.cipher.createDecipher = function(algorithm, key) { + var api = algorithm; + if(typeof api === 'string') { + api = forge.cipher.getAlgorithm(api); + if(api) { + api = api(); + } + } + if(!api) { + throw new Error('Unsupported algorithm: ' + algorithm); + } + + // assume block cipher + return new forge.cipher.BlockCipher({ + algorithm: api, + key: key, + decrypt: true + }); +}; + +/** + * Registers an algorithm by name. If the name was already registered, the + * algorithm API object will be overwritten. + * + * @param name the name of the algorithm. + * @param algorithm the algorithm API object. + */ +forge.cipher.registerAlgorithm = function(name, algorithm) { + name = name.toUpperCase(); + forge.cipher.algorithms[name] = algorithm; +}; + +/** + * Gets a registered algorithm by name. + * + * @param name the name of the algorithm. + * + * @return the algorithm, if found, null if not. + */ +forge.cipher.getAlgorithm = function(name) { + name = name.toUpperCase(); + if(name in forge.cipher.algorithms) { + return forge.cipher.algorithms[name]; + } + return null; +}; + +var BlockCipher = forge.cipher.BlockCipher = function(options) { + this.algorithm = options.algorithm; + this.mode = this.algorithm.mode; + this.blockSize = this.mode.blockSize; + this._finish = false; + this._input = null; + this.output = null; + this._op = options.decrypt ? this.mode.decrypt : this.mode.encrypt; + this._decrypt = options.decrypt; + this.algorithm.initialize(options); +}; + +/** + * Starts or restarts the encryption or decryption process, whichever + * was previously configured. + * + * For non-GCM mode, the IV may be a binary-encoded string of bytes, an array + * of bytes, a byte buffer, or an array of 32-bit integers. If the IV is in + * bytes, then it must be Nb (16) bytes in length. If the IV is given in as + * 32-bit integers, then it must be 4 integers long. + * + * Note: an IV is not required or used in ECB mode. + * + * For GCM-mode, the IV must be given as a binary-encoded string of bytes or + * a byte buffer. The number of bytes should be 12 (96 bits) as recommended + * by NIST SP-800-38D but another length may be given. + * + * @param options the options to use: + * iv the initialization vector to use as a binary-encoded string of + * bytes, null to reuse the last ciphered block from a previous + * update() (this "residue" method is for legacy support only). + * additionalData additional authentication data as a binary-encoded + * string of bytes, for 'GCM' mode, (default: none). + * tagLength desired length of authentication tag, in bits, for + * 'GCM' mode (0-128, default: 128). + * tag the authentication tag to check if decrypting, as a + * binary-encoded string of bytes. + * output the output the buffer to write to, null to create one. + */ +BlockCipher.prototype.start = function(options) { + options = options || {}; + var opts = {}; + for(var key in options) { + opts[key] = options[key]; + } + opts.decrypt = this._decrypt; + this._finish = false; + this._input = forge.util.createBuffer(); + this.output = options.output || forge.util.createBuffer(); + this.mode.start(opts); +}; + +/** + * Updates the next block according to the cipher mode. + * + * @param input the buffer to read from. + */ +BlockCipher.prototype.update = function(input) { + if(input) { + // input given, so empty it into the input buffer + this._input.putBuffer(input); + } + + // do cipher operation until it needs more input and not finished + while(!this._op.call(this.mode, this._input, this.output, this._finish) && + !this._finish) {} + + // free consumed memory from input buffer + this._input.compact(); +}; + +/** + * Finishes encrypting or decrypting. + * + * @param pad a padding function to use in CBC mode, null for default, + * signature(blockSize, buffer, decrypt). + * + * @return true if successful, false on error. + */ +BlockCipher.prototype.finish = function(pad) { + // backwards-compatibility w/deprecated padding API + // Note: will overwrite padding functions even after another start() call + if(pad && (this.mode.name === 'ECB' || this.mode.name === 'CBC')) { + this.mode.pad = function(input) { + return pad(this.blockSize, input, false); + }; + this.mode.unpad = function(output) { + return pad(this.blockSize, output, true); + }; + } + + // build options for padding and afterFinish functions + var options = {}; + options.decrypt = this._decrypt; + + // get # of bytes that won't fill a block + options.overflow = this._input.length() % this.blockSize; + + if(!this._decrypt && this.mode.pad) { + if(!this.mode.pad(this._input, options)) { + return false; + } + } + + // do final update + this._finish = true; + this.update(); + + if(this._decrypt && this.mode.unpad) { + if(!this.mode.unpad(this.output, options)) { + return false; + } + } + + if(this.mode.afterFinish) { + if(!this.mode.afterFinish(this.output, options)) { + return false; + } + } + + return true; +}; diff --git a/express-server/node_modules/node-forge/lib/cipherModes.js b/express-server/node_modules/node-forge/lib/cipherModes.js new file mode 100644 index 00000000..b6831e4b --- /dev/null +++ b/express-server/node_modules/node-forge/lib/cipherModes.js @@ -0,0 +1,987 @@ +/** + * Supported cipher modes. + * + * @author Dave Longley + * + * Copyright (c) 2010-2014 Digital Bazaar, Inc. + */ +var forge = require('./forge'); +require('./util'); + +forge.cipher = forge.cipher || {}; + +// supported cipher modes +var modes = module.exports = forge.cipher.modes = forge.cipher.modes || {}; + +/** Electronic codebook (ECB) (Don't use this; it's not secure) **/ + +modes.ecb = function(options) { + options = options || {}; + this.name = 'ECB'; + this.cipher = options.cipher; + this.blockSize = options.blockSize || 16; + this._ints = this.blockSize / 4; + this._inBlock = new Array(this._ints); + this._outBlock = new Array(this._ints); +}; + +modes.ecb.prototype.start = function(options) {}; + +modes.ecb.prototype.encrypt = function(input, output, finish) { + // not enough input to encrypt + if(input.length() < this.blockSize && !(finish && input.length() > 0)) { + return true; + } + + // get next block + for(var i = 0; i < this._ints; ++i) { + this._inBlock[i] = input.getInt32(); + } + + // encrypt block + this.cipher.encrypt(this._inBlock, this._outBlock); + + // write output + for(var i = 0; i < this._ints; ++i) { + output.putInt32(this._outBlock[i]); + } +}; + +modes.ecb.prototype.decrypt = function(input, output, finish) { + // not enough input to decrypt + if(input.length() < this.blockSize && !(finish && input.length() > 0)) { + return true; + } + + // get next block + for(var i = 0; i < this._ints; ++i) { + this._inBlock[i] = input.getInt32(); + } + + // decrypt block + this.cipher.decrypt(this._inBlock, this._outBlock); + + // write output + for(var i = 0; i < this._ints; ++i) { + output.putInt32(this._outBlock[i]); + } +}; + +modes.ecb.prototype.pad = function(input, options) { + // add PKCS#7 padding to block (each pad byte is the + // value of the number of pad bytes) + var padding = (input.length() === this.blockSize ? + this.blockSize : (this.blockSize - input.length())); + input.fillWithByte(padding, padding); + return true; +}; + +modes.ecb.prototype.unpad = function(output, options) { + // check for error: input data not a multiple of blockSize + if(options.overflow > 0) { + return false; + } + + // ensure padding byte count is valid + var len = output.length(); + var count = output.at(len - 1); + if(count > (this.blockSize << 2)) { + return false; + } + + // trim off padding bytes + output.truncate(count); + return true; +}; + +/** Cipher-block Chaining (CBC) **/ + +modes.cbc = function(options) { + options = options || {}; + this.name = 'CBC'; + this.cipher = options.cipher; + this.blockSize = options.blockSize || 16; + this._ints = this.blockSize / 4; + this._inBlock = new Array(this._ints); + this._outBlock = new Array(this._ints); +}; + +modes.cbc.prototype.start = function(options) { + // Note: legacy support for using IV residue (has security flaws) + // if IV is null, reuse block from previous processing + if(options.iv === null) { + // must have a previous block + if(!this._prev) { + throw new Error('Invalid IV parameter.'); + } + this._iv = this._prev.slice(0); + } else if(!('iv' in options)) { + throw new Error('Invalid IV parameter.'); + } else { + // save IV as "previous" block + this._iv = transformIV(options.iv); + this._prev = this._iv.slice(0); + } +}; + +modes.cbc.prototype.encrypt = function(input, output, finish) { + // not enough input to encrypt + if(input.length() < this.blockSize && !(finish && input.length() > 0)) { + return true; + } + + // get next block + // CBC XOR's IV (or previous block) with plaintext + for(var i = 0; i < this._ints; ++i) { + this._inBlock[i] = this._prev[i] ^ input.getInt32(); + } + + // encrypt block + this.cipher.encrypt(this._inBlock, this._outBlock); + + // write output, save previous block + for(var i = 0; i < this._ints; ++i) { + output.putInt32(this._outBlock[i]); + } + this._prev = this._outBlock; +}; + +modes.cbc.prototype.decrypt = function(input, output, finish) { + // not enough input to decrypt + if(input.length() < this.blockSize && !(finish && input.length() > 0)) { + return true; + } + + // get next block + for(var i = 0; i < this._ints; ++i) { + this._inBlock[i] = input.getInt32(); + } + + // decrypt block + this.cipher.decrypt(this._inBlock, this._outBlock); + + // write output, save previous ciphered block + // CBC XOR's IV (or previous block) with ciphertext + for(var i = 0; i < this._ints; ++i) { + output.putInt32(this._prev[i] ^ this._outBlock[i]); + } + this._prev = this._inBlock.slice(0); +}; + +modes.cbc.prototype.pad = function(input, options) { + // add PKCS#7 padding to block (each pad byte is the + // value of the number of pad bytes) + var padding = (input.length() === this.blockSize ? + this.blockSize : (this.blockSize - input.length())); + input.fillWithByte(padding, padding); + return true; +}; + +modes.cbc.prototype.unpad = function(output, options) { + // check for error: input data not a multiple of blockSize + if(options.overflow > 0) { + return false; + } + + // ensure padding byte count is valid + var len = output.length(); + var count = output.at(len - 1); + if(count > (this.blockSize << 2)) { + return false; + } + + // trim off padding bytes + output.truncate(count); + return true; +}; + +/** Cipher feedback (CFB) **/ + +modes.cfb = function(options) { + options = options || {}; + this.name = 'CFB'; + this.cipher = options.cipher; + this.blockSize = options.blockSize || 16; + this._ints = this.blockSize / 4; + this._inBlock = null; + this._outBlock = new Array(this._ints); + this._partialBlock = new Array(this._ints); + this._partialOutput = forge.util.createBuffer(); + this._partialBytes = 0; +}; + +modes.cfb.prototype.start = function(options) { + if(!('iv' in options)) { + throw new Error('Invalid IV parameter.'); + } + // use IV as first input + this._iv = transformIV(options.iv); + this._inBlock = this._iv.slice(0); + this._partialBytes = 0; +}; + +modes.cfb.prototype.encrypt = function(input, output, finish) { + // not enough input to encrypt + var inputLength = input.length(); + if(inputLength === 0) { + return true; + } + + // encrypt block + this.cipher.encrypt(this._inBlock, this._outBlock); + + // handle full block + if(this._partialBytes === 0 && inputLength >= this.blockSize) { + // XOR input with output, write input as output + for(var i = 0; i < this._ints; ++i) { + this._inBlock[i] = input.getInt32() ^ this._outBlock[i]; + output.putInt32(this._inBlock[i]); + } + return; + } + + // handle partial block + var partialBytes = (this.blockSize - inputLength) % this.blockSize; + if(partialBytes > 0) { + partialBytes = this.blockSize - partialBytes; + } + + // XOR input with output, write input as partial output + this._partialOutput.clear(); + for(var i = 0; i < this._ints; ++i) { + this._partialBlock[i] = input.getInt32() ^ this._outBlock[i]; + this._partialOutput.putInt32(this._partialBlock[i]); + } + + if(partialBytes > 0) { + // block still incomplete, restore input buffer + input.read -= this.blockSize; + } else { + // block complete, update input block + for(var i = 0; i < this._ints; ++i) { + this._inBlock[i] = this._partialBlock[i]; + } + } + + // skip any previous partial bytes + if(this._partialBytes > 0) { + this._partialOutput.getBytes(this._partialBytes); + } + + if(partialBytes > 0 && !finish) { + output.putBytes(this._partialOutput.getBytes( + partialBytes - this._partialBytes)); + this._partialBytes = partialBytes; + return true; + } + + output.putBytes(this._partialOutput.getBytes( + inputLength - this._partialBytes)); + this._partialBytes = 0; +}; + +modes.cfb.prototype.decrypt = function(input, output, finish) { + // not enough input to decrypt + var inputLength = input.length(); + if(inputLength === 0) { + return true; + } + + // encrypt block (CFB always uses encryption mode) + this.cipher.encrypt(this._inBlock, this._outBlock); + + // handle full block + if(this._partialBytes === 0 && inputLength >= this.blockSize) { + // XOR input with output, write input as output + for(var i = 0; i < this._ints; ++i) { + this._inBlock[i] = input.getInt32(); + output.putInt32(this._inBlock[i] ^ this._outBlock[i]); + } + return; + } + + // handle partial block + var partialBytes = (this.blockSize - inputLength) % this.blockSize; + if(partialBytes > 0) { + partialBytes = this.blockSize - partialBytes; + } + + // XOR input with output, write input as partial output + this._partialOutput.clear(); + for(var i = 0; i < this._ints; ++i) { + this._partialBlock[i] = input.getInt32(); + this._partialOutput.putInt32(this._partialBlock[i] ^ this._outBlock[i]); + } + + if(partialBytes > 0) { + // block still incomplete, restore input buffer + input.read -= this.blockSize; + } else { + // block complete, update input block + for(var i = 0; i < this._ints; ++i) { + this._inBlock[i] = this._partialBlock[i]; + } + } + + // skip any previous partial bytes + if(this._partialBytes > 0) { + this._partialOutput.getBytes(this._partialBytes); + } + + if(partialBytes > 0 && !finish) { + output.putBytes(this._partialOutput.getBytes( + partialBytes - this._partialBytes)); + this._partialBytes = partialBytes; + return true; + } + + output.putBytes(this._partialOutput.getBytes( + inputLength - this._partialBytes)); + this._partialBytes = 0; +}; + +/** Output feedback (OFB) **/ + +modes.ofb = function(options) { + options = options || {}; + this.name = 'OFB'; + this.cipher = options.cipher; + this.blockSize = options.blockSize || 16; + this._ints = this.blockSize / 4; + this._inBlock = null; + this._outBlock = new Array(this._ints); + this._partialOutput = forge.util.createBuffer(); + this._partialBytes = 0; +}; + +modes.ofb.prototype.start = function(options) { + if(!('iv' in options)) { + throw new Error('Invalid IV parameter.'); + } + // use IV as first input + this._iv = transformIV(options.iv); + this._inBlock = this._iv.slice(0); + this._partialBytes = 0; +}; + +modes.ofb.prototype.encrypt = function(input, output, finish) { + // not enough input to encrypt + var inputLength = input.length(); + if(input.length() === 0) { + return true; + } + + // encrypt block (OFB always uses encryption mode) + this.cipher.encrypt(this._inBlock, this._outBlock); + + // handle full block + if(this._partialBytes === 0 && inputLength >= this.blockSize) { + // XOR input with output and update next input + for(var i = 0; i < this._ints; ++i) { + output.putInt32(input.getInt32() ^ this._outBlock[i]); + this._inBlock[i] = this._outBlock[i]; + } + return; + } + + // handle partial block + var partialBytes = (this.blockSize - inputLength) % this.blockSize; + if(partialBytes > 0) { + partialBytes = this.blockSize - partialBytes; + } + + // XOR input with output + this._partialOutput.clear(); + for(var i = 0; i < this._ints; ++i) { + this._partialOutput.putInt32(input.getInt32() ^ this._outBlock[i]); + } + + if(partialBytes > 0) { + // block still incomplete, restore input buffer + input.read -= this.blockSize; + } else { + // block complete, update input block + for(var i = 0; i < this._ints; ++i) { + this._inBlock[i] = this._outBlock[i]; + } + } + + // skip any previous partial bytes + if(this._partialBytes > 0) { + this._partialOutput.getBytes(this._partialBytes); + } + + if(partialBytes > 0 && !finish) { + output.putBytes(this._partialOutput.getBytes( + partialBytes - this._partialBytes)); + this._partialBytes = partialBytes; + return true; + } + + output.putBytes(this._partialOutput.getBytes( + inputLength - this._partialBytes)); + this._partialBytes = 0; +}; + +modes.ofb.prototype.decrypt = modes.ofb.prototype.encrypt; + +/** Counter (CTR) **/ + +modes.ctr = function(options) { + options = options || {}; + this.name = 'CTR'; + this.cipher = options.cipher; + this.blockSize = options.blockSize || 16; + this._ints = this.blockSize / 4; + this._inBlock = null; + this._outBlock = new Array(this._ints); + this._partialOutput = forge.util.createBuffer(); + this._partialBytes = 0; +}; + +modes.ctr.prototype.start = function(options) { + if(!('iv' in options)) { + throw new Error('Invalid IV parameter.'); + } + // use IV as first input + this._iv = transformIV(options.iv); + this._inBlock = this._iv.slice(0); + this._partialBytes = 0; +}; + +modes.ctr.prototype.encrypt = function(input, output, finish) { + // not enough input to encrypt + var inputLength = input.length(); + if(inputLength === 0) { + return true; + } + + // encrypt block (CTR always uses encryption mode) + this.cipher.encrypt(this._inBlock, this._outBlock); + + // handle full block + if(this._partialBytes === 0 && inputLength >= this.blockSize) { + // XOR input with output + for(var i = 0; i < this._ints; ++i) { + output.putInt32(input.getInt32() ^ this._outBlock[i]); + } + } else { + // handle partial block + var partialBytes = (this.blockSize - inputLength) % this.blockSize; + if(partialBytes > 0) { + partialBytes = this.blockSize - partialBytes; + } + + // XOR input with output + this._partialOutput.clear(); + for(var i = 0; i < this._ints; ++i) { + this._partialOutput.putInt32(input.getInt32() ^ this._outBlock[i]); + } + + if(partialBytes > 0) { + // block still incomplete, restore input buffer + input.read -= this.blockSize; + } + + // skip any previous partial bytes + if(this._partialBytes > 0) { + this._partialOutput.getBytes(this._partialBytes); + } + + if(partialBytes > 0 && !finish) { + output.putBytes(this._partialOutput.getBytes( + partialBytes - this._partialBytes)); + this._partialBytes = partialBytes; + return true; + } + + output.putBytes(this._partialOutput.getBytes( + inputLength - this._partialBytes)); + this._partialBytes = 0; + } + + // block complete, increment counter (input block) + inc32(this._inBlock); +}; + +modes.ctr.prototype.decrypt = modes.ctr.prototype.encrypt; + +/** Galois/Counter Mode (GCM) **/ + +modes.gcm = function(options) { + options = options || {}; + this.name = 'GCM'; + this.cipher = options.cipher; + this.blockSize = options.blockSize || 16; + this._ints = this.blockSize / 4; + this._inBlock = new Array(this._ints); + this._outBlock = new Array(this._ints); + this._partialOutput = forge.util.createBuffer(); + this._partialBytes = 0; + + // R is actually this value concatenated with 120 more zero bits, but + // we only XOR against R so the other zeros have no effect -- we just + // apply this value to the first integer in a block + this._R = 0xE1000000; +}; + +modes.gcm.prototype.start = function(options) { + if(!('iv' in options)) { + throw new Error('Invalid IV parameter.'); + } + // ensure IV is a byte buffer + var iv = forge.util.createBuffer(options.iv); + + // no ciphered data processed yet + this._cipherLength = 0; + + // default additional data is none + var additionalData; + if('additionalData' in options) { + additionalData = forge.util.createBuffer(options.additionalData); + } else { + additionalData = forge.util.createBuffer(); + } + + // default tag length is 128 bits + if('tagLength' in options) { + this._tagLength = options.tagLength; + } else { + this._tagLength = 128; + } + + // if tag is given, ensure tag matches tag length + this._tag = null; + if(options.decrypt) { + // save tag to check later + this._tag = forge.util.createBuffer(options.tag).getBytes(); + if(this._tag.length !== (this._tagLength / 8)) { + throw new Error('Authentication tag does not match tag length.'); + } + } + + // create tmp storage for hash calculation + this._hashBlock = new Array(this._ints); + + // no tag generated yet + this.tag = null; + + // generate hash subkey + // (apply block cipher to "zero" block) + this._hashSubkey = new Array(this._ints); + this.cipher.encrypt([0, 0, 0, 0], this._hashSubkey); + + // generate table M + // use 4-bit tables (32 component decomposition of a 16 byte value) + // 8-bit tables take more space and are known to have security + // vulnerabilities (in native implementations) + this.componentBits = 4; + this._m = this.generateHashTable(this._hashSubkey, this.componentBits); + + // Note: support IV length different from 96 bits? (only supporting + // 96 bits is recommended by NIST SP-800-38D) + // generate J_0 + var ivLength = iv.length(); + if(ivLength === 12) { + // 96-bit IV + this._j0 = [iv.getInt32(), iv.getInt32(), iv.getInt32(), 1]; + } else { + // IV is NOT 96-bits + this._j0 = [0, 0, 0, 0]; + while(iv.length() > 0) { + this._j0 = this.ghash( + this._hashSubkey, this._j0, + [iv.getInt32(), iv.getInt32(), iv.getInt32(), iv.getInt32()]); + } + this._j0 = this.ghash( + this._hashSubkey, this._j0, [0, 0].concat(from64To32(ivLength * 8))); + } + + // generate ICB (initial counter block) + this._inBlock = this._j0.slice(0); + inc32(this._inBlock); + this._partialBytes = 0; + + // consume authentication data + additionalData = forge.util.createBuffer(additionalData); + // save additional data length as a BE 64-bit number + this._aDataLength = from64To32(additionalData.length() * 8); + // pad additional data to 128 bit (16 byte) block size + var overflow = additionalData.length() % this.blockSize; + if(overflow) { + additionalData.fillWithByte(0, this.blockSize - overflow); + } + this._s = [0, 0, 0, 0]; + while(additionalData.length() > 0) { + this._s = this.ghash(this._hashSubkey, this._s, [ + additionalData.getInt32(), + additionalData.getInt32(), + additionalData.getInt32(), + additionalData.getInt32() + ]); + } +}; + +modes.gcm.prototype.encrypt = function(input, output, finish) { + // not enough input to encrypt + var inputLength = input.length(); + if(inputLength === 0) { + return true; + } + + // encrypt block + this.cipher.encrypt(this._inBlock, this._outBlock); + + // handle full block + if(this._partialBytes === 0 && inputLength >= this.blockSize) { + // XOR input with output + for(var i = 0; i < this._ints; ++i) { + output.putInt32(this._outBlock[i] ^= input.getInt32()); + } + this._cipherLength += this.blockSize; + } else { + // handle partial block + var partialBytes = (this.blockSize - inputLength) % this.blockSize; + if(partialBytes > 0) { + partialBytes = this.blockSize - partialBytes; + } + + // XOR input with output + this._partialOutput.clear(); + for(var i = 0; i < this._ints; ++i) { + this._partialOutput.putInt32(input.getInt32() ^ this._outBlock[i]); + } + + if(partialBytes === 0 || finish) { + // handle overflow prior to hashing + if(finish) { + // get block overflow + var overflow = inputLength % this.blockSize; + this._cipherLength += overflow; + // truncate for hash function + this._partialOutput.truncate(this.blockSize - overflow); + } else { + this._cipherLength += this.blockSize; + } + + // get output block for hashing + for(var i = 0; i < this._ints; ++i) { + this._outBlock[i] = this._partialOutput.getInt32(); + } + this._partialOutput.read -= this.blockSize; + } + + // skip any previous partial bytes + if(this._partialBytes > 0) { + this._partialOutput.getBytes(this._partialBytes); + } + + if(partialBytes > 0 && !finish) { + // block still incomplete, restore input buffer, get partial output, + // and return early + input.read -= this.blockSize; + output.putBytes(this._partialOutput.getBytes( + partialBytes - this._partialBytes)); + this._partialBytes = partialBytes; + return true; + } + + output.putBytes(this._partialOutput.getBytes( + inputLength - this._partialBytes)); + this._partialBytes = 0; + } + + // update hash block S + this._s = this.ghash(this._hashSubkey, this._s, this._outBlock); + + // increment counter (input block) + inc32(this._inBlock); +}; + +modes.gcm.prototype.decrypt = function(input, output, finish) { + // not enough input to decrypt + var inputLength = input.length(); + if(inputLength < this.blockSize && !(finish && inputLength > 0)) { + return true; + } + + // encrypt block (GCM always uses encryption mode) + this.cipher.encrypt(this._inBlock, this._outBlock); + + // increment counter (input block) + inc32(this._inBlock); + + // update hash block S + this._hashBlock[0] = input.getInt32(); + this._hashBlock[1] = input.getInt32(); + this._hashBlock[2] = input.getInt32(); + this._hashBlock[3] = input.getInt32(); + this._s = this.ghash(this._hashSubkey, this._s, this._hashBlock); + + // XOR hash input with output + for(var i = 0; i < this._ints; ++i) { + output.putInt32(this._outBlock[i] ^ this._hashBlock[i]); + } + + // increment cipher data length + if(inputLength < this.blockSize) { + this._cipherLength += inputLength % this.blockSize; + } else { + this._cipherLength += this.blockSize; + } +}; + +modes.gcm.prototype.afterFinish = function(output, options) { + var rval = true; + + // handle overflow + if(options.decrypt && options.overflow) { + output.truncate(this.blockSize - options.overflow); + } + + // handle authentication tag + this.tag = forge.util.createBuffer(); + + // concatenate additional data length with cipher length + var lengths = this._aDataLength.concat(from64To32(this._cipherLength * 8)); + + // include lengths in hash + this._s = this.ghash(this._hashSubkey, this._s, lengths); + + // do GCTR(J_0, S) + var tag = []; + this.cipher.encrypt(this._j0, tag); + for(var i = 0; i < this._ints; ++i) { + this.tag.putInt32(this._s[i] ^ tag[i]); + } + + // trim tag to length + this.tag.truncate(this.tag.length() % (this._tagLength / 8)); + + // check authentication tag + if(options.decrypt && this.tag.bytes() !== this._tag) { + rval = false; + } + + return rval; +}; + +/** + * See NIST SP-800-38D 6.3 (Algorithm 1). This function performs Galois + * field multiplication. The field, GF(2^128), is defined by the polynomial: + * + * x^128 + x^7 + x^2 + x + 1 + * + * Which is represented in little-endian binary form as: 11100001 (0xe1). When + * the value of a coefficient is 1, a bit is set. The value R, is the + * concatenation of this value and 120 zero bits, yielding a 128-bit value + * which matches the block size. + * + * This function will multiply two elements (vectors of bytes), X and Y, in + * the field GF(2^128). The result is initialized to zero. For each bit of + * X (out of 128), x_i, if x_i is set, then the result is multiplied (XOR'd) + * by the current value of Y. For each bit, the value of Y will be raised by + * a power of x (multiplied by the polynomial x). This can be achieved by + * shifting Y once to the right. If the current value of Y, prior to being + * multiplied by x, has 0 as its LSB, then it is a 127th degree polynomial. + * Otherwise, we must divide by R after shifting to find the remainder. + * + * @param x the first block to multiply by the second. + * @param y the second block to multiply by the first. + * + * @return the block result of the multiplication. + */ +modes.gcm.prototype.multiply = function(x, y) { + var z_i = [0, 0, 0, 0]; + var v_i = y.slice(0); + + // calculate Z_128 (block has 128 bits) + for(var i = 0; i < 128; ++i) { + // if x_i is 0, Z_{i+1} = Z_i (unchanged) + // else Z_{i+1} = Z_i ^ V_i + // get x_i by finding 32-bit int position, then left shift 1 by remainder + var x_i = x[(i / 32) | 0] & (1 << (31 - i % 32)); + if(x_i) { + z_i[0] ^= v_i[0]; + z_i[1] ^= v_i[1]; + z_i[2] ^= v_i[2]; + z_i[3] ^= v_i[3]; + } + + // if LSB(V_i) is 1, V_i = V_i >> 1 + // else V_i = (V_i >> 1) ^ R + this.pow(v_i, v_i); + } + + return z_i; +}; + +modes.gcm.prototype.pow = function(x, out) { + // if LSB(x) is 1, x = x >>> 1 + // else x = (x >>> 1) ^ R + var lsb = x[3] & 1; + + // always do x >>> 1: + // starting with the rightmost integer, shift each integer to the right + // one bit, pulling in the bit from the integer to the left as its top + // most bit (do this for the last 3 integers) + for(var i = 3; i > 0; --i) { + out[i] = (x[i] >>> 1) | ((x[i - 1] & 1) << 31); + } + // shift the first integer normally + out[0] = x[0] >>> 1; + + // if lsb was not set, then polynomial had a degree of 127 and doesn't + // need to divided; otherwise, XOR with R to find the remainder; we only + // need to XOR the first integer since R technically ends w/120 zero bits + if(lsb) { + out[0] ^= this._R; + } +}; + +modes.gcm.prototype.tableMultiply = function(x) { + // assumes 4-bit tables are used + var z = [0, 0, 0, 0]; + for(var i = 0; i < 32; ++i) { + var idx = (i / 8) | 0; + var x_i = (x[idx] >>> ((7 - (i % 8)) * 4)) & 0xF; + var ah = this._m[i][x_i]; + z[0] ^= ah[0]; + z[1] ^= ah[1]; + z[2] ^= ah[2]; + z[3] ^= ah[3]; + } + return z; +}; + +/** + * A continuing version of the GHASH algorithm that operates on a single + * block. The hash block, last hash value (Ym) and the new block to hash + * are given. + * + * @param h the hash block. + * @param y the previous value for Ym, use [0, 0, 0, 0] for a new hash. + * @param x the block to hash. + * + * @return the hashed value (Ym). + */ +modes.gcm.prototype.ghash = function(h, y, x) { + y[0] ^= x[0]; + y[1] ^= x[1]; + y[2] ^= x[2]; + y[3] ^= x[3]; + return this.tableMultiply(y); + //return this.multiply(y, h); +}; + +/** + * Precomputes a table for multiplying against the hash subkey. This + * mechanism provides a substantial speed increase over multiplication + * performed without a table. The table-based multiplication this table is + * for solves X * H by multiplying each component of X by H and then + * composing the results together using XOR. + * + * This function can be used to generate tables with different bit sizes + * for the components, however, this implementation assumes there are + * 32 components of X (which is a 16 byte vector), therefore each component + * takes 4-bits (so the table is constructed with bits=4). + * + * @param h the hash subkey. + * @param bits the bit size for a component. + */ +modes.gcm.prototype.generateHashTable = function(h, bits) { + // TODO: There are further optimizations that would use only the + // first table M_0 (or some variant) along with a remainder table; + // this can be explored in the future + var multiplier = 8 / bits; + var perInt = 4 * multiplier; + var size = 16 * multiplier; + var m = new Array(size); + for(var i = 0; i < size; ++i) { + var tmp = [0, 0, 0, 0]; + var idx = (i / perInt) | 0; + var shft = ((perInt - 1 - (i % perInt)) * bits); + tmp[idx] = (1 << (bits - 1)) << shft; + m[i] = this.generateSubHashTable(this.multiply(tmp, h), bits); + } + return m; +}; + +/** + * Generates a table for multiplying against the hash subkey for one + * particular component (out of all possible component values). + * + * @param mid the pre-multiplied value for the middle key of the table. + * @param bits the bit size for a component. + */ +modes.gcm.prototype.generateSubHashTable = function(mid, bits) { + // compute the table quickly by minimizing the number of + // POW operations -- they only need to be performed for powers of 2, + // all other entries can be composed from those powers using XOR + var size = 1 << bits; + var half = size >>> 1; + var m = new Array(size); + m[half] = mid.slice(0); + var i = half >>> 1; + while(i > 0) { + // raise m0[2 * i] and store in m0[i] + this.pow(m[2 * i], m[i] = []); + i >>= 1; + } + i = 2; + while(i < half) { + for(var j = 1; j < i; ++j) { + var m_i = m[i]; + var m_j = m[j]; + m[i + j] = [ + m_i[0] ^ m_j[0], + m_i[1] ^ m_j[1], + m_i[2] ^ m_j[2], + m_i[3] ^ m_j[3] + ]; + } + i *= 2; + } + m[0] = [0, 0, 0, 0]; + /* Note: We could avoid storing these by doing composition during multiply + calculate top half using composition by speed is preferred. */ + for(i = half + 1; i < size; ++i) { + var c = m[i ^ half]; + m[i] = [mid[0] ^ c[0], mid[1] ^ c[1], mid[2] ^ c[2], mid[3] ^ c[3]]; + } + return m; +}; + +/** Utility functions */ + +function transformIV(iv) { + if(typeof iv === 'string') { + // convert iv string into byte buffer + iv = forge.util.createBuffer(iv); + } + + if(forge.util.isArray(iv) && iv.length > 4) { + // convert iv byte array into byte buffer + var tmp = iv; + iv = forge.util.createBuffer(); + for(var i = 0; i < tmp.length; ++i) { + iv.putByte(tmp[i]); + } + } + if(!forge.util.isArray(iv)) { + // convert iv byte buffer into 32-bit integer array + iv = [iv.getInt32(), iv.getInt32(), iv.getInt32(), iv.getInt32()]; + } + + return iv; +} + +function inc32(block) { + // increment last 32 bits of block only + block[block.length - 1] = (block[block.length - 1] + 1) & 0xFFFFFFFF; +} + +function from64To32(num) { + // convert 64-bit number to two BE Int32s + return [(num / 0x100000000) | 0, num & 0xFFFFFFFF]; +} diff --git a/express-server/node_modules/node-forge/lib/debug.js b/express-server/node_modules/node-forge/lib/debug.js new file mode 100644 index 00000000..26756350 --- /dev/null +++ b/express-server/node_modules/node-forge/lib/debug.js @@ -0,0 +1,78 @@ +/** + * Debugging support for web applications. + * + * @author David I. Lehn + * + * Copyright 2008-2013 Digital Bazaar, Inc. + */ +var forge = require('./forge'); + +/* DEBUG API */ +module.exports = forge.debug = forge.debug || {}; + +// Private storage for debugging. +// Useful to expose data that is otherwise unviewable behind closures. +// NOTE: remember that this can hold references to data and cause leaks! +// format is "forge._debug.. = data" +// Example: +// (function() { +// var cat = 'forge.test.Test'; // debugging category +// var sState = {...}; // local state +// forge.debug.set(cat, 'sState', sState); +// })(); +forge.debug.storage = {}; + +/** + * Gets debug data. Omit name for all cat data Omit name and cat for + * all data. + * + * @param cat name of debugging category. + * @param name name of data to get (optional). + * @return object with requested debug data or undefined. + */ +forge.debug.get = function(cat, name) { + var rval; + if(typeof(cat) === 'undefined') { + rval = forge.debug.storage; + } else if(cat in forge.debug.storage) { + if(typeof(name) === 'undefined') { + rval = forge.debug.storage[cat]; + } else { + rval = forge.debug.storage[cat][name]; + } + } + return rval; +}; + +/** + * Sets debug data. + * + * @param cat name of debugging category. + * @param name name of data to set. + * @param data data to set. + */ +forge.debug.set = function(cat, name, data) { + if(!(cat in forge.debug.storage)) { + forge.debug.storage[cat] = {}; + } + forge.debug.storage[cat][name] = data; +}; + +/** + * Clears debug data. Omit name for all cat data. Omit name and cat for + * all data. + * + * @param cat name of debugging category. + * @param name name of data to clear or omit to clear entire category. + */ +forge.debug.clear = function(cat, name) { + if(typeof(cat) === 'undefined') { + forge.debug.storage = {}; + } else if(cat in forge.debug.storage) { + if(typeof(name) === 'undefined') { + delete forge.debug.storage[cat]; + } else { + delete forge.debug.storage[cat][name]; + } + } +}; diff --git a/express-server/node_modules/node-forge/lib/des.js b/express-server/node_modules/node-forge/lib/des.js new file mode 100644 index 00000000..6d2f5174 --- /dev/null +++ b/express-server/node_modules/node-forge/lib/des.js @@ -0,0 +1,495 @@ +/** + * DES (Data Encryption Standard) implementation. + * + * This implementation supports DES as well as 3DES-EDE in ECB and CBC mode. + * It is based on the BSD-licensed implementation by Paul Tero: + * + * Paul Tero, July 2001 + * http://www.tero.co.uk/des/ + * + * Optimised for performance with large blocks by Michael Hayworth, November 2001 + * http://www.netdealing.com + * + * THIS SOFTWARE IS PROVIDED "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @author Stefan Siegl + * @author Dave Longley + * + * Copyright (c) 2012 Stefan Siegl + * Copyright (c) 2012-2014 Digital Bazaar, Inc. + */ +var forge = require('./forge'); +require('./cipher'); +require('./cipherModes'); +require('./util'); + +/* DES API */ +module.exports = forge.des = forge.des || {}; + +/** + * Deprecated. Instead, use: + * + * var cipher = forge.cipher.createCipher('DES-', key); + * cipher.start({iv: iv}); + * + * Creates an DES cipher object to encrypt data using the given symmetric key. + * The output will be stored in the 'output' member of the returned cipher. + * + * The key and iv may be given as binary-encoded strings of bytes or + * byte buffers. + * + * @param key the symmetric key to use (64 or 192 bits). + * @param iv the initialization vector to use. + * @param output the buffer to write to, null to create one. + * @param mode the cipher mode to use (default: 'CBC' if IV is + * given, 'ECB' if null). + * + * @return the cipher. + */ +forge.des.startEncrypting = function(key, iv, output, mode) { + var cipher = _createCipher({ + key: key, + output: output, + decrypt: false, + mode: mode || (iv === null ? 'ECB' : 'CBC') + }); + cipher.start(iv); + return cipher; +}; + +/** + * Deprecated. Instead, use: + * + * var cipher = forge.cipher.createCipher('DES-', key); + * + * Creates an DES cipher object to encrypt data using the given symmetric key. + * + * The key may be given as a binary-encoded string of bytes or a byte buffer. + * + * @param key the symmetric key to use (64 or 192 bits). + * @param mode the cipher mode to use (default: 'CBC'). + * + * @return the cipher. + */ +forge.des.createEncryptionCipher = function(key, mode) { + return _createCipher({ + key: key, + output: null, + decrypt: false, + mode: mode + }); +}; + +/** + * Deprecated. Instead, use: + * + * var decipher = forge.cipher.createDecipher('DES-', key); + * decipher.start({iv: iv}); + * + * Creates an DES cipher object to decrypt data using the given symmetric key. + * The output will be stored in the 'output' member of the returned cipher. + * + * The key and iv may be given as binary-encoded strings of bytes or + * byte buffers. + * + * @param key the symmetric key to use (64 or 192 bits). + * @param iv the initialization vector to use. + * @param output the buffer to write to, null to create one. + * @param mode the cipher mode to use (default: 'CBC' if IV is + * given, 'ECB' if null). + * + * @return the cipher. + */ +forge.des.startDecrypting = function(key, iv, output, mode) { + var cipher = _createCipher({ + key: key, + output: output, + decrypt: true, + mode: mode || (iv === null ? 'ECB' : 'CBC') + }); + cipher.start(iv); + return cipher; +}; + +/** + * Deprecated. Instead, use: + * + * var decipher = forge.cipher.createDecipher('DES-', key); + * + * Creates an DES cipher object to decrypt data using the given symmetric key. + * + * The key may be given as a binary-encoded string of bytes or a byte buffer. + * + * @param key the symmetric key to use (64 or 192 bits). + * @param mode the cipher mode to use (default: 'CBC'). + * + * @return the cipher. + */ +forge.des.createDecryptionCipher = function(key, mode) { + return _createCipher({ + key: key, + output: null, + decrypt: true, + mode: mode + }); +}; + +/** + * Creates a new DES cipher algorithm object. + * + * @param name the name of the algorithm. + * @param mode the mode factory function. + * + * @return the DES algorithm object. + */ +forge.des.Algorithm = function(name, mode) { + var self = this; + self.name = name; + self.mode = new mode({ + blockSize: 8, + cipher: { + encrypt: function(inBlock, outBlock) { + return _updateBlock(self._keys, inBlock, outBlock, false); + }, + decrypt: function(inBlock, outBlock) { + return _updateBlock(self._keys, inBlock, outBlock, true); + } + } + }); + self._init = false; +}; + +/** + * Initializes this DES algorithm by expanding its key. + * + * @param options the options to use. + * key the key to use with this algorithm. + * decrypt true if the algorithm should be initialized for decryption, + * false for encryption. + */ +forge.des.Algorithm.prototype.initialize = function(options) { + if(this._init) { + return; + } + + var key = forge.util.createBuffer(options.key); + if(this.name.indexOf('3DES') === 0) { + if(key.length() !== 24) { + throw new Error('Invalid Triple-DES key size: ' + key.length() * 8); + } + } + + // do key expansion to 16 or 48 subkeys (single or triple DES) + this._keys = _createKeys(key); + this._init = true; +}; + +/** Register DES algorithms **/ + +registerAlgorithm('DES-ECB', forge.cipher.modes.ecb); +registerAlgorithm('DES-CBC', forge.cipher.modes.cbc); +registerAlgorithm('DES-CFB', forge.cipher.modes.cfb); +registerAlgorithm('DES-OFB', forge.cipher.modes.ofb); +registerAlgorithm('DES-CTR', forge.cipher.modes.ctr); + +registerAlgorithm('3DES-ECB', forge.cipher.modes.ecb); +registerAlgorithm('3DES-CBC', forge.cipher.modes.cbc); +registerAlgorithm('3DES-CFB', forge.cipher.modes.cfb); +registerAlgorithm('3DES-OFB', forge.cipher.modes.ofb); +registerAlgorithm('3DES-CTR', forge.cipher.modes.ctr); + +function registerAlgorithm(name, mode) { + var factory = function() { + return new forge.des.Algorithm(name, mode); + }; + forge.cipher.registerAlgorithm(name, factory); +} + +/** DES implementation **/ + +var spfunction1 = [0x1010400,0,0x10000,0x1010404,0x1010004,0x10404,0x4,0x10000,0x400,0x1010400,0x1010404,0x400,0x1000404,0x1010004,0x1000000,0x4,0x404,0x1000400,0x1000400,0x10400,0x10400,0x1010000,0x1010000,0x1000404,0x10004,0x1000004,0x1000004,0x10004,0,0x404,0x10404,0x1000000,0x10000,0x1010404,0x4,0x1010000,0x1010400,0x1000000,0x1000000,0x400,0x1010004,0x10000,0x10400,0x1000004,0x400,0x4,0x1000404,0x10404,0x1010404,0x10004,0x1010000,0x1000404,0x1000004,0x404,0x10404,0x1010400,0x404,0x1000400,0x1000400,0,0x10004,0x10400,0,0x1010004]; +var spfunction2 = [-0x7fef7fe0,-0x7fff8000,0x8000,0x108020,0x100000,0x20,-0x7fefffe0,-0x7fff7fe0,-0x7fffffe0,-0x7fef7fe0,-0x7fef8000,-0x80000000,-0x7fff8000,0x100000,0x20,-0x7fefffe0,0x108000,0x100020,-0x7fff7fe0,0,-0x80000000,0x8000,0x108020,-0x7ff00000,0x100020,-0x7fffffe0,0,0x108000,0x8020,-0x7fef8000,-0x7ff00000,0x8020,0,0x108020,-0x7fefffe0,0x100000,-0x7fff7fe0,-0x7ff00000,-0x7fef8000,0x8000,-0x7ff00000,-0x7fff8000,0x20,-0x7fef7fe0,0x108020,0x20,0x8000,-0x80000000,0x8020,-0x7fef8000,0x100000,-0x7fffffe0,0x100020,-0x7fff7fe0,-0x7fffffe0,0x100020,0x108000,0,-0x7fff8000,0x8020,-0x80000000,-0x7fefffe0,-0x7fef7fe0,0x108000]; +var spfunction3 = [0x208,0x8020200,0,0x8020008,0x8000200,0,0x20208,0x8000200,0x20008,0x8000008,0x8000008,0x20000,0x8020208,0x20008,0x8020000,0x208,0x8000000,0x8,0x8020200,0x200,0x20200,0x8020000,0x8020008,0x20208,0x8000208,0x20200,0x20000,0x8000208,0x8,0x8020208,0x200,0x8000000,0x8020200,0x8000000,0x20008,0x208,0x20000,0x8020200,0x8000200,0,0x200,0x20008,0x8020208,0x8000200,0x8000008,0x200,0,0x8020008,0x8000208,0x20000,0x8000000,0x8020208,0x8,0x20208,0x20200,0x8000008,0x8020000,0x8000208,0x208,0x8020000,0x20208,0x8,0x8020008,0x20200]; +var spfunction4 = [0x802001,0x2081,0x2081,0x80,0x802080,0x800081,0x800001,0x2001,0,0x802000,0x802000,0x802081,0x81,0,0x800080,0x800001,0x1,0x2000,0x800000,0x802001,0x80,0x800000,0x2001,0x2080,0x800081,0x1,0x2080,0x800080,0x2000,0x802080,0x802081,0x81,0x800080,0x800001,0x802000,0x802081,0x81,0,0,0x802000,0x2080,0x800080,0x800081,0x1,0x802001,0x2081,0x2081,0x80,0x802081,0x81,0x1,0x2000,0x800001,0x2001,0x802080,0x800081,0x2001,0x2080,0x800000,0x802001,0x80,0x800000,0x2000,0x802080]; +var spfunction5 = [0x100,0x2080100,0x2080000,0x42000100,0x80000,0x100,0x40000000,0x2080000,0x40080100,0x80000,0x2000100,0x40080100,0x42000100,0x42080000,0x80100,0x40000000,0x2000000,0x40080000,0x40080000,0,0x40000100,0x42080100,0x42080100,0x2000100,0x42080000,0x40000100,0,0x42000000,0x2080100,0x2000000,0x42000000,0x80100,0x80000,0x42000100,0x100,0x2000000,0x40000000,0x2080000,0x42000100,0x40080100,0x2000100,0x40000000,0x42080000,0x2080100,0x40080100,0x100,0x2000000,0x42080000,0x42080100,0x80100,0x42000000,0x42080100,0x2080000,0,0x40080000,0x42000000,0x80100,0x2000100,0x40000100,0x80000,0,0x40080000,0x2080100,0x40000100]; +var spfunction6 = [0x20000010,0x20400000,0x4000,0x20404010,0x20400000,0x10,0x20404010,0x400000,0x20004000,0x404010,0x400000,0x20000010,0x400010,0x20004000,0x20000000,0x4010,0,0x400010,0x20004010,0x4000,0x404000,0x20004010,0x10,0x20400010,0x20400010,0,0x404010,0x20404000,0x4010,0x404000,0x20404000,0x20000000,0x20004000,0x10,0x20400010,0x404000,0x20404010,0x400000,0x4010,0x20000010,0x400000,0x20004000,0x20000000,0x4010,0x20000010,0x20404010,0x404000,0x20400000,0x404010,0x20404000,0,0x20400010,0x10,0x4000,0x20400000,0x404010,0x4000,0x400010,0x20004010,0,0x20404000,0x20000000,0x400010,0x20004010]; +var spfunction7 = [0x200000,0x4200002,0x4000802,0,0x800,0x4000802,0x200802,0x4200800,0x4200802,0x200000,0,0x4000002,0x2,0x4000000,0x4200002,0x802,0x4000800,0x200802,0x200002,0x4000800,0x4000002,0x4200000,0x4200800,0x200002,0x4200000,0x800,0x802,0x4200802,0x200800,0x2,0x4000000,0x200800,0x4000000,0x200800,0x200000,0x4000802,0x4000802,0x4200002,0x4200002,0x2,0x200002,0x4000000,0x4000800,0x200000,0x4200800,0x802,0x200802,0x4200800,0x802,0x4000002,0x4200802,0x4200000,0x200800,0,0x2,0x4200802,0,0x200802,0x4200000,0x800,0x4000002,0x4000800,0x800,0x200002]; +var spfunction8 = [0x10001040,0x1000,0x40000,0x10041040,0x10000000,0x10001040,0x40,0x10000000,0x40040,0x10040000,0x10041040,0x41000,0x10041000,0x41040,0x1000,0x40,0x10040000,0x10000040,0x10001000,0x1040,0x41000,0x40040,0x10040040,0x10041000,0x1040,0,0,0x10040040,0x10000040,0x10001000,0x41040,0x40000,0x41040,0x40000,0x10041000,0x1000,0x40,0x10040040,0x1000,0x41040,0x10001000,0x40,0x10000040,0x10040000,0x10040040,0x10000000,0x40000,0x10001040,0,0x10041040,0x40040,0x10000040,0x10040000,0x10001000,0x10001040,0,0x10041040,0x41000,0x41000,0x1040,0x1040,0x40040,0x10000000,0x10041000]; + +/** + * Create necessary sub keys. + * + * @param key the 64-bit or 192-bit key. + * + * @return the expanded keys. + */ +function _createKeys(key) { + var pc2bytes0 = [0,0x4,0x20000000,0x20000004,0x10000,0x10004,0x20010000,0x20010004,0x200,0x204,0x20000200,0x20000204,0x10200,0x10204,0x20010200,0x20010204], + pc2bytes1 = [0,0x1,0x100000,0x100001,0x4000000,0x4000001,0x4100000,0x4100001,0x100,0x101,0x100100,0x100101,0x4000100,0x4000101,0x4100100,0x4100101], + pc2bytes2 = [0,0x8,0x800,0x808,0x1000000,0x1000008,0x1000800,0x1000808,0,0x8,0x800,0x808,0x1000000,0x1000008,0x1000800,0x1000808], + pc2bytes3 = [0,0x200000,0x8000000,0x8200000,0x2000,0x202000,0x8002000,0x8202000,0x20000,0x220000,0x8020000,0x8220000,0x22000,0x222000,0x8022000,0x8222000], + pc2bytes4 = [0,0x40000,0x10,0x40010,0,0x40000,0x10,0x40010,0x1000,0x41000,0x1010,0x41010,0x1000,0x41000,0x1010,0x41010], + pc2bytes5 = [0,0x400,0x20,0x420,0,0x400,0x20,0x420,0x2000000,0x2000400,0x2000020,0x2000420,0x2000000,0x2000400,0x2000020,0x2000420], + pc2bytes6 = [0,0x10000000,0x80000,0x10080000,0x2,0x10000002,0x80002,0x10080002,0,0x10000000,0x80000,0x10080000,0x2,0x10000002,0x80002,0x10080002], + pc2bytes7 = [0,0x10000,0x800,0x10800,0x20000000,0x20010000,0x20000800,0x20010800,0x20000,0x30000,0x20800,0x30800,0x20020000,0x20030000,0x20020800,0x20030800], + pc2bytes8 = [0,0x40000,0,0x40000,0x2,0x40002,0x2,0x40002,0x2000000,0x2040000,0x2000000,0x2040000,0x2000002,0x2040002,0x2000002,0x2040002], + pc2bytes9 = [0,0x10000000,0x8,0x10000008,0,0x10000000,0x8,0x10000008,0x400,0x10000400,0x408,0x10000408,0x400,0x10000400,0x408,0x10000408], + pc2bytes10 = [0,0x20,0,0x20,0x100000,0x100020,0x100000,0x100020,0x2000,0x2020,0x2000,0x2020,0x102000,0x102020,0x102000,0x102020], + pc2bytes11 = [0,0x1000000,0x200,0x1000200,0x200000,0x1200000,0x200200,0x1200200,0x4000000,0x5000000,0x4000200,0x5000200,0x4200000,0x5200000,0x4200200,0x5200200], + pc2bytes12 = [0,0x1000,0x8000000,0x8001000,0x80000,0x81000,0x8080000,0x8081000,0x10,0x1010,0x8000010,0x8001010,0x80010,0x81010,0x8080010,0x8081010], + pc2bytes13 = [0,0x4,0x100,0x104,0,0x4,0x100,0x104,0x1,0x5,0x101,0x105,0x1,0x5,0x101,0x105]; + + // how many iterations (1 for des, 3 for triple des) + // changed by Paul 16/6/2007 to use Triple DES for 9+ byte keys + var iterations = key.length() > 8 ? 3 : 1; + + // stores the return keys + var keys = []; + + // now define the left shifts which need to be done + var shifts = [0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0]; + + var n = 0, tmp; + for(var j = 0; j < iterations; j++) { + var left = key.getInt32(); + var right = key.getInt32(); + + tmp = ((left >>> 4) ^ right) & 0x0f0f0f0f; + right ^= tmp; + left ^= (tmp << 4); + + tmp = ((right >>> -16) ^ left) & 0x0000ffff; + left ^= tmp; + right ^= (tmp << -16); + + tmp = ((left >>> 2) ^ right) & 0x33333333; + right ^= tmp; + left ^= (tmp << 2); + + tmp = ((right >>> -16) ^ left) & 0x0000ffff; + left ^= tmp; + right ^= (tmp << -16); + + tmp = ((left >>> 1) ^ right) & 0x55555555; + right ^= tmp; + left ^= (tmp << 1); + + tmp = ((right >>> 8) ^ left) & 0x00ff00ff; + left ^= tmp; + right ^= (tmp << 8); + + tmp = ((left >>> 1) ^ right) & 0x55555555; + right ^= tmp; + left ^= (tmp << 1); + + // right needs to be shifted and OR'd with last four bits of left + tmp = (left << 8) | ((right >>> 20) & 0x000000f0); + + // left needs to be put upside down + left = ((right << 24) | ((right << 8) & 0xff0000) | + ((right >>> 8) & 0xff00) | ((right >>> 24) & 0xf0)); + right = tmp; + + // now go through and perform these shifts on the left and right keys + for(var i = 0; i < shifts.length; ++i) { + //shift the keys either one or two bits to the left + if(shifts[i]) { + left = (left << 2) | (left >>> 26); + right = (right << 2) | (right >>> 26); + } else { + left = (left << 1) | (left >>> 27); + right = (right << 1) | (right >>> 27); + } + left &= -0xf; + right &= -0xf; + + // now apply PC-2, in such a way that E is easier when encrypting or + // decrypting this conversion will look like PC-2 except only the last 6 + // bits of each byte are used rather than 48 consecutive bits and the + // order of lines will be according to how the S selection functions will + // be applied: S2, S4, S6, S8, S1, S3, S5, S7 + var lefttmp = ( + pc2bytes0[left >>> 28] | pc2bytes1[(left >>> 24) & 0xf] | + pc2bytes2[(left >>> 20) & 0xf] | pc2bytes3[(left >>> 16) & 0xf] | + pc2bytes4[(left >>> 12) & 0xf] | pc2bytes5[(left >>> 8) & 0xf] | + pc2bytes6[(left >>> 4) & 0xf]); + var righttmp = ( + pc2bytes7[right >>> 28] | pc2bytes8[(right >>> 24) & 0xf] | + pc2bytes9[(right >>> 20) & 0xf] | pc2bytes10[(right >>> 16) & 0xf] | + pc2bytes11[(right >>> 12) & 0xf] | pc2bytes12[(right >>> 8) & 0xf] | + pc2bytes13[(right >>> 4) & 0xf]); + tmp = ((righttmp >>> 16) ^ lefttmp) & 0x0000ffff; + keys[n++] = lefttmp ^ tmp; + keys[n++] = righttmp ^ (tmp << 16); + } + } + + return keys; +} + +/** + * Updates a single block (1 byte) using DES. The update will either + * encrypt or decrypt the block. + * + * @param keys the expanded keys. + * @param input the input block (an array of 32-bit words). + * @param output the updated output block. + * @param decrypt true to decrypt the block, false to encrypt it. + */ +function _updateBlock(keys, input, output, decrypt) { + // set up loops for single or triple DES + var iterations = keys.length === 32 ? 3 : 9; + var looping; + if(iterations === 3) { + looping = decrypt ? [30, -2, -2] : [0, 32, 2]; + } else { + looping = (decrypt ? + [94, 62, -2, 32, 64, 2, 30, -2, -2] : + [0, 32, 2, 62, 30, -2, 64, 96, 2]); + } + + var tmp; + + var left = input[0]; + var right = input[1]; + + // first each 64 bit chunk of the message must be permuted according to IP + tmp = ((left >>> 4) ^ right) & 0x0f0f0f0f; + right ^= tmp; + left ^= (tmp << 4); + + tmp = ((left >>> 16) ^ right) & 0x0000ffff; + right ^= tmp; + left ^= (tmp << 16); + + tmp = ((right >>> 2) ^ left) & 0x33333333; + left ^= tmp; + right ^= (tmp << 2); + + tmp = ((right >>> 8) ^ left) & 0x00ff00ff; + left ^= tmp; + right ^= (tmp << 8); + + tmp = ((left >>> 1) ^ right) & 0x55555555; + right ^= tmp; + left ^= (tmp << 1); + + // rotate left 1 bit + left = ((left << 1) | (left >>> 31)); + right = ((right << 1) | (right >>> 31)); + + for(var j = 0; j < iterations; j += 3) { + var endloop = looping[j + 1]; + var loopinc = looping[j + 2]; + + // now go through and perform the encryption or decryption + for(var i = looping[j]; i != endloop; i += loopinc) { + var right1 = right ^ keys[i]; + var right2 = ((right >>> 4) | (right << 28)) ^ keys[i + 1]; + + // passing these bytes through the S selection functions + tmp = left; + left = right; + right = tmp ^ ( + spfunction2[(right1 >>> 24) & 0x3f] | + spfunction4[(right1 >>> 16) & 0x3f] | + spfunction6[(right1 >>> 8) & 0x3f] | + spfunction8[right1 & 0x3f] | + spfunction1[(right2 >>> 24) & 0x3f] | + spfunction3[(right2 >>> 16) & 0x3f] | + spfunction5[(right2 >>> 8) & 0x3f] | + spfunction7[right2 & 0x3f]); + } + // unreverse left and right + tmp = left; + left = right; + right = tmp; + } + + // rotate right 1 bit + left = ((left >>> 1) | (left << 31)); + right = ((right >>> 1) | (right << 31)); + + // now perform IP-1, which is IP in the opposite direction + tmp = ((left >>> 1) ^ right) & 0x55555555; + right ^= tmp; + left ^= (tmp << 1); + + tmp = ((right >>> 8) ^ left) & 0x00ff00ff; + left ^= tmp; + right ^= (tmp << 8); + + tmp = ((right >>> 2) ^ left) & 0x33333333; + left ^= tmp; + right ^= (tmp << 2); + + tmp = ((left >>> 16) ^ right) & 0x0000ffff; + right ^= tmp; + left ^= (tmp << 16); + + tmp = ((left >>> 4) ^ right) & 0x0f0f0f0f; + right ^= tmp; + left ^= (tmp << 4); + + output[0] = left; + output[1] = right; +} + +/** + * Deprecated. Instead, use: + * + * forge.cipher.createCipher('DES-', key); + * forge.cipher.createDecipher('DES-', key); + * + * Creates a deprecated DES cipher object. This object's mode will default to + * CBC (cipher-block-chaining). + * + * The key may be given as a binary-encoded string of bytes or a byte buffer. + * + * @param options the options to use. + * key the symmetric key to use (64 or 192 bits). + * output the buffer to write to. + * decrypt true for decryption, false for encryption. + * mode the cipher mode to use (default: 'CBC'). + * + * @return the cipher. + */ +function _createCipher(options) { + options = options || {}; + var mode = (options.mode || 'CBC').toUpperCase(); + var algorithm = 'DES-' + mode; + + var cipher; + if(options.decrypt) { + cipher = forge.cipher.createDecipher(algorithm, options.key); + } else { + cipher = forge.cipher.createCipher(algorithm, options.key); + } + + // backwards compatible start API + var start = cipher.start; + cipher.start = function(iv, options) { + // backwards compatibility: support second arg as output buffer + var output = null; + if(options instanceof forge.util.ByteBuffer) { + output = options; + options = {}; + } + options = options || {}; + options.output = output; + options.iv = iv; + start.call(cipher, options); + }; + + return cipher; +} diff --git a/express-server/node_modules/node-forge/lib/ed25519.js b/express-server/node_modules/node-forge/lib/ed25519.js new file mode 100644 index 00000000..4054bbff --- /dev/null +++ b/express-server/node_modules/node-forge/lib/ed25519.js @@ -0,0 +1,996 @@ +/** + * JavaScript implementation of Ed25519. + * + * Copyright (c) 2017-2018 Digital Bazaar, Inc. + * + * This implementation is based on the most excellent TweetNaCl which is + * in the public domain. Many thanks to its contributors: + * + * https://github.com/dchest/tweetnacl-js + */ +var forge = require('./forge'); +require('./jsbn'); +require('./random'); +require('./sha512'); +require('./util'); + +if(typeof BigInteger === 'undefined') { + var BigInteger = forge.jsbn.BigInteger; +} + +var ByteBuffer = forge.util.ByteBuffer; +var NativeBuffer = typeof Buffer === 'undefined' ? Uint8Array : Buffer; + +/* + * Ed25519 algorithms, see RFC 8032: + * https://tools.ietf.org/html/rfc8032 + */ +forge.pki = forge.pki || {}; +module.exports = forge.pki.ed25519 = forge.ed25519 = forge.ed25519 || {}; +var ed25519 = forge.ed25519; + +ed25519.constants = {}; +ed25519.constants.PUBLIC_KEY_BYTE_LENGTH = 32; +ed25519.constants.PRIVATE_KEY_BYTE_LENGTH = 64; +ed25519.constants.SEED_BYTE_LENGTH = 32; +ed25519.constants.SIGN_BYTE_LENGTH = 64; +ed25519.constants.HASH_BYTE_LENGTH = 64; + +ed25519.generateKeyPair = function(options) { + options = options || {}; + var seed = options.seed; + if(seed === undefined) { + // generate seed + seed = forge.random.getBytesSync(ed25519.constants.SEED_BYTE_LENGTH); + } else if(typeof seed === 'string') { + if(seed.length !== ed25519.constants.SEED_BYTE_LENGTH) { + throw new TypeError( + '"seed" must be ' + ed25519.constants.SEED_BYTE_LENGTH + + ' bytes in length.'); + } + } else if(!(seed instanceof Uint8Array)) { + throw new TypeError( + '"seed" must be a node.js Buffer, Uint8Array, or a binary string.'); + } + + seed = messageToNativeBuffer({message: seed, encoding: 'binary'}); + + var pk = new NativeBuffer(ed25519.constants.PUBLIC_KEY_BYTE_LENGTH); + var sk = new NativeBuffer(ed25519.constants.PRIVATE_KEY_BYTE_LENGTH); + for(var i = 0; i < 32; ++i) { + sk[i] = seed[i]; + } + crypto_sign_keypair(pk, sk); + return {publicKey: pk, privateKey: sk}; +}; + +ed25519.publicKeyFromPrivateKey = function(options) { + options = options || {}; + var privateKey = messageToNativeBuffer({ + message: options.privateKey, encoding: 'binary' + }); + if(privateKey.length !== ed25519.constants.PRIVATE_KEY_BYTE_LENGTH) { + throw new TypeError( + '"options.privateKey" must have a byte length of ' + + ed25519.constants.PRIVATE_KEY_BYTE_LENGTH); + } + + var pk = new NativeBuffer(ed25519.constants.PUBLIC_KEY_BYTE_LENGTH); + for(var i = 0; i < pk.length; ++i) { + pk[i] = privateKey[32 + i]; + } + return pk; +}; + +ed25519.sign = function(options) { + options = options || {}; + var msg = messageToNativeBuffer(options); + var privateKey = messageToNativeBuffer({ + message: options.privateKey, + encoding: 'binary' + }); + if(privateKey.length !== ed25519.constants.PRIVATE_KEY_BYTE_LENGTH) { + throw new TypeError( + '"options.privateKey" must have a byte length of ' + + ed25519.constants.PRIVATE_KEY_BYTE_LENGTH); + } + + var signedMsg = new NativeBuffer( + ed25519.constants.SIGN_BYTE_LENGTH + msg.length); + crypto_sign(signedMsg, msg, msg.length, privateKey); + + var sig = new NativeBuffer(ed25519.constants.SIGN_BYTE_LENGTH); + for(var i = 0; i < sig.length; ++i) { + sig[i] = signedMsg[i]; + } + return sig; +}; + +ed25519.verify = function(options) { + options = options || {}; + var msg = messageToNativeBuffer(options); + if(options.signature === undefined) { + throw new TypeError( + '"options.signature" must be a node.js Buffer, a Uint8Array, a forge ' + + 'ByteBuffer, or a binary string.'); + } + var sig = messageToNativeBuffer({ + message: options.signature, + encoding: 'binary' + }); + if(sig.length !== ed25519.constants.SIGN_BYTE_LENGTH) { + throw new TypeError( + '"options.signature" must have a byte length of ' + + ed25519.constants.SIGN_BYTE_LENGTH); + } + var publicKey = messageToNativeBuffer({ + message: options.publicKey, + encoding: 'binary' + }); + if(publicKey.length !== ed25519.constants.PUBLIC_KEY_BYTE_LENGTH) { + throw new TypeError( + '"options.publicKey" must have a byte length of ' + + ed25519.constants.PUBLIC_KEY_BYTE_LENGTH); + } + + var sm = new NativeBuffer(ed25519.constants.SIGN_BYTE_LENGTH + msg.length); + var m = new NativeBuffer(ed25519.constants.SIGN_BYTE_LENGTH + msg.length); + var i; + for(i = 0; i < ed25519.constants.SIGN_BYTE_LENGTH; ++i) { + sm[i] = sig[i]; + } + for(i = 0; i < msg.length; ++i) { + sm[i + ed25519.constants.SIGN_BYTE_LENGTH] = msg[i]; + } + return (crypto_sign_open(m, sm, sm.length, publicKey) >= 0); +}; + +function messageToNativeBuffer(options) { + var message = options.message; + if(message instanceof Uint8Array) { + return message; + } + + var encoding = options.encoding; + if(message === undefined) { + if(options.md) { + // TODO: more rigorous validation that `md` is a MessageDigest + message = options.md.digest().getBytes(); + encoding = 'binary'; + } else { + throw new TypeError('"options.message" or "options.md" not specified.'); + } + } + + if(typeof message === 'string' && !encoding) { + throw new TypeError('"options.encoding" must be "binary" or "utf8".'); + } + + if(typeof message === 'string') { + if(typeof Buffer !== 'undefined') { + return new Buffer(message, encoding); + } + message = new ByteBuffer(message, encoding); + } else if(!(message instanceof ByteBuffer)) { + throw new TypeError( + '"options.message" must be a node.js Buffer, a Uint8Array, a forge ' + + 'ByteBuffer, or a string with "options.encoding" specifying its ' + + 'encoding.'); + } + + // convert to native buffer + var buffer = new NativeBuffer(message.length()); + for(var i = 0; i < buffer.length; ++i) { + buffer[i] = message.at(i); + } + return buffer; +} + +var gf0 = gf(); +var gf1 = gf([1]); +var D = gf([ + 0x78a3, 0x1359, 0x4dca, 0x75eb, 0xd8ab, 0x4141, 0x0a4d, 0x0070, + 0xe898, 0x7779, 0x4079, 0x8cc7, 0xfe73, 0x2b6f, 0x6cee, 0x5203]); +var D2 = gf([ + 0xf159, 0x26b2, 0x9b94, 0xebd6, 0xb156, 0x8283, 0x149a, 0x00e0, + 0xd130, 0xeef3, 0x80f2, 0x198e, 0xfce7, 0x56df, 0xd9dc, 0x2406]); +var X = gf([ + 0xd51a, 0x8f25, 0x2d60, 0xc956, 0xa7b2, 0x9525, 0xc760, 0x692c, + 0xdc5c, 0xfdd6, 0xe231, 0xc0a4, 0x53fe, 0xcd6e, 0x36d3, 0x2169]); +var Y = gf([ + 0x6658, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, + 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666]); +var L = new Float64Array([ + 0xed, 0xd3, 0xf5, 0x5c, 0x1a, 0x63, 0x12, 0x58, + 0xd6, 0x9c, 0xf7, 0xa2, 0xde, 0xf9, 0xde, 0x14, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x10]); +var I = gf([ + 0xa0b0, 0x4a0e, 0x1b27, 0xc4ee, 0xe478, 0xad2f, 0x1806, 0x2f43, + 0xd7a7, 0x3dfb, 0x0099, 0x2b4d, 0xdf0b, 0x4fc1, 0x2480, 0x2b83]); + +// TODO: update forge buffer implementation to use `Buffer` or `Uint8Array`, +// whichever is available, to improve performance +function sha512(msg, msgLen) { + // Note: `out` and `msg` are NativeBuffer + var md = forge.md.sha512.create(); + var buffer = new ByteBuffer(msg); + md.update(buffer.getBytes(msgLen), 'binary'); + var hash = md.digest().getBytes(); + if(typeof Buffer !== 'undefined') { + return new Buffer(hash, 'binary'); + } + var out = new NativeBuffer(ed25519.constants.HASH_BYTE_LENGTH); + for(var i = 0; i < 64; ++i) { + out[i] = hash.charCodeAt(i); + } + return out; +} + +function crypto_sign_keypair(pk, sk) { + var p = [gf(), gf(), gf(), gf()]; + var i; + + var d = sha512(sk, 32); + d[0] &= 248; + d[31] &= 127; + d[31] |= 64; + + scalarbase(p, d); + pack(pk, p); + + for(i = 0; i < 32; ++i) { + sk[i + 32] = pk[i]; + } + return 0; +} + +// Note: difference from C - smlen returned, not passed as argument. +function crypto_sign(sm, m, n, sk) { + var i, j, x = new Float64Array(64); + var p = [gf(), gf(), gf(), gf()]; + + var d = sha512(sk, 32); + d[0] &= 248; + d[31] &= 127; + d[31] |= 64; + + var smlen = n + 64; + for(i = 0; i < n; ++i) { + sm[64 + i] = m[i]; + } + for(i = 0; i < 32; ++i) { + sm[32 + i] = d[32 + i]; + } + + var r = sha512(sm.subarray(32), n + 32); + reduce(r); + scalarbase(p, r); + pack(sm, p); + + for(i = 32; i < 64; ++i) { + sm[i] = sk[i]; + } + var h = sha512(sm, n + 64); + reduce(h); + + for(i = 32; i < 64; ++i) { + x[i] = 0; + } + for(i = 0; i < 32; ++i) { + x[i] = r[i]; + } + for(i = 0; i < 32; ++i) { + for(j = 0; j < 32; j++) { + x[i + j] += h[i] * d[j]; + } + } + + modL(sm.subarray(32), x); + return smlen; +} + +function crypto_sign_open(m, sm, n, pk) { + var i, mlen; + var t = new NativeBuffer(32); + var p = [gf(), gf(), gf(), gf()], + q = [gf(), gf(), gf(), gf()]; + + mlen = -1; + if(n < 64) { + return -1; + } + + if(unpackneg(q, pk)) { + return -1; + } + + for(i = 0; i < n; ++i) { + m[i] = sm[i]; + } + for(i = 0; i < 32; ++i) { + m[i + 32] = pk[i]; + } + var h = sha512(m, n); + reduce(h); + scalarmult(p, q, h); + + scalarbase(q, sm.subarray(32)); + add(p, q); + pack(t, p); + + n -= 64; + if(crypto_verify_32(sm, 0, t, 0)) { + for(i = 0; i < n; ++i) { + m[i] = 0; + } + return -1; + } + + for(i = 0; i < n; ++i) { + m[i] = sm[i + 64]; + } + mlen = n; + return mlen; +} + +function modL(r, x) { + var carry, i, j, k; + for(i = 63; i >= 32; --i) { + carry = 0; + for(j = i - 32, k = i - 12; j < k; ++j) { + x[j] += carry - 16 * x[i] * L[j - (i - 32)]; + carry = (x[j] + 128) >> 8; + x[j] -= carry * 256; + } + x[j] += carry; + x[i] = 0; + } + carry = 0; + for(j = 0; j < 32; ++j) { + x[j] += carry - (x[31] >> 4) * L[j]; + carry = x[j] >> 8; + x[j] &= 255; + } + for(j = 0; j < 32; ++j) { + x[j] -= carry * L[j]; + } + for(i = 0; i < 32; ++i) { + x[i + 1] += x[i] >> 8; + r[i] = x[i] & 255; + } +} + +function reduce(r) { + var x = new Float64Array(64); + for(var i = 0; i < 64; ++i) { + x[i] = r[i]; + r[i] = 0; + } + modL(r, x); +} + +function add(p, q) { + var a = gf(), b = gf(), c = gf(), + d = gf(), e = gf(), f = gf(), + g = gf(), h = gf(), t = gf(); + + Z(a, p[1], p[0]); + Z(t, q[1], q[0]); + M(a, a, t); + A(b, p[0], p[1]); + A(t, q[0], q[1]); + M(b, b, t); + M(c, p[3], q[3]); + M(c, c, D2); + M(d, p[2], q[2]); + A(d, d, d); + Z(e, b, a); + Z(f, d, c); + A(g, d, c); + A(h, b, a); + + M(p[0], e, f); + M(p[1], h, g); + M(p[2], g, f); + M(p[3], e, h); +} + +function cswap(p, q, b) { + for(var i = 0; i < 4; ++i) { + sel25519(p[i], q[i], b); + } +} + +function pack(r, p) { + var tx = gf(), ty = gf(), zi = gf(); + inv25519(zi, p[2]); + M(tx, p[0], zi); + M(ty, p[1], zi); + pack25519(r, ty); + r[31] ^= par25519(tx) << 7; +} + +function pack25519(o, n) { + var i, j, b; + var m = gf(), t = gf(); + for(i = 0; i < 16; ++i) { + t[i] = n[i]; + } + car25519(t); + car25519(t); + car25519(t); + for(j = 0; j < 2; ++j) { + m[0] = t[0] - 0xffed; + for(i = 1; i < 15; ++i) { + m[i] = t[i] - 0xffff - ((m[i - 1] >> 16) & 1); + m[i-1] &= 0xffff; + } + m[15] = t[15] - 0x7fff - ((m[14] >> 16) & 1); + b = (m[15] >> 16) & 1; + m[14] &= 0xffff; + sel25519(t, m, 1 - b); + } + for (i = 0; i < 16; i++) { + o[2 * i] = t[i] & 0xff; + o[2 * i + 1] = t[i] >> 8; + } +} + +function unpackneg(r, p) { + var t = gf(), chk = gf(), num = gf(), + den = gf(), den2 = gf(), den4 = gf(), + den6 = gf(); + + set25519(r[2], gf1); + unpack25519(r[1], p); + S(num, r[1]); + M(den, num, D); + Z(num, num, r[2]); + A(den, r[2], den); + + S(den2, den); + S(den4, den2); + M(den6, den4, den2); + M(t, den6, num); + M(t, t, den); + + pow2523(t, t); + M(t, t, num); + M(t, t, den); + M(t, t, den); + M(r[0], t, den); + + S(chk, r[0]); + M(chk, chk, den); + if(neq25519(chk, num)) { + M(r[0], r[0], I); + } + + S(chk, r[0]); + M(chk, chk, den); + if(neq25519(chk, num)) { + return -1; + } + + if(par25519(r[0]) === (p[31] >> 7)) { + Z(r[0], gf0, r[0]); + } + + M(r[3], r[0], r[1]); + return 0; +} + +function unpack25519(o, n) { + var i; + for(i = 0; i < 16; ++i) { + o[i] = n[2 * i] + (n[2 * i + 1] << 8); + } + o[15] &= 0x7fff; +} + +function pow2523(o, i) { + var c = gf(); + var a; + for(a = 0; a < 16; ++a) { + c[a] = i[a]; + } + for(a = 250; a >= 0; --a) { + S(c, c); + if(a !== 1) { + M(c, c, i); + } + } + for(a = 0; a < 16; ++a) { + o[a] = c[a]; + } +} + +function neq25519(a, b) { + var c = new NativeBuffer(32); + var d = new NativeBuffer(32); + pack25519(c, a); + pack25519(d, b); + return crypto_verify_32(c, 0, d, 0); +} + +function crypto_verify_32(x, xi, y, yi) { + return vn(x, xi, y, yi, 32); +} + +function vn(x, xi, y, yi, n) { + var i, d = 0; + for(i = 0; i < n; ++i) { + d |= x[xi + i] ^ y[yi + i]; + } + return (1 & ((d - 1) >>> 8)) - 1; +} + +function par25519(a) { + var d = new NativeBuffer(32); + pack25519(d, a); + return d[0] & 1; +} + +function scalarmult(p, q, s) { + var b, i; + set25519(p[0], gf0); + set25519(p[1], gf1); + set25519(p[2], gf1); + set25519(p[3], gf0); + for(i = 255; i >= 0; --i) { + b = (s[(i / 8)|0] >> (i & 7)) & 1; + cswap(p, q, b); + add(q, p); + add(p, p); + cswap(p, q, b); + } +} + +function scalarbase(p, s) { + var q = [gf(), gf(), gf(), gf()]; + set25519(q[0], X); + set25519(q[1], Y); + set25519(q[2], gf1); + M(q[3], X, Y); + scalarmult(p, q, s); +} + +function set25519(r, a) { + var i; + for(i = 0; i < 16; i++) { + r[i] = a[i] | 0; + } +} + +function inv25519(o, i) { + var c = gf(); + var a; + for(a = 0; a < 16; ++a) { + c[a] = i[a]; + } + for(a = 253; a >= 0; --a) { + S(c, c); + if(a !== 2 && a !== 4) { + M(c, c, i); + } + } + for(a = 0; a < 16; ++a) { + o[a] = c[a]; + } +} + +function car25519(o) { + var i, v, c = 1; + for(i = 0; i < 16; ++i) { + v = o[i] + c + 65535; + c = Math.floor(v / 65536); + o[i] = v - c * 65536; + } + o[0] += c - 1 + 37 * (c - 1); +} + +function sel25519(p, q, b) { + var t, c = ~(b - 1); + for(var i = 0; i < 16; ++i) { + t = c & (p[i] ^ q[i]); + p[i] ^= t; + q[i] ^= t; + } +} + +function gf(init) { + var i, r = new Float64Array(16); + if(init) { + for(i = 0; i < init.length; ++i) { + r[i] = init[i]; + } + } + return r; +} + +function A(o, a, b) { + for(var i = 0; i < 16; ++i) { + o[i] = a[i] + b[i]; + } +} + +function Z(o, a, b) { + for(var i = 0; i < 16; ++i) { + o[i] = a[i] - b[i]; + } +} + +function S(o, a) { + M(o, a, a); +} + +function M(o, a, b) { + var v, c, + t0 = 0, t1 = 0, t2 = 0, t3 = 0, t4 = 0, t5 = 0, t6 = 0, t7 = 0, + t8 = 0, t9 = 0, t10 = 0, t11 = 0, t12 = 0, t13 = 0, t14 = 0, t15 = 0, + t16 = 0, t17 = 0, t18 = 0, t19 = 0, t20 = 0, t21 = 0, t22 = 0, t23 = 0, + t24 = 0, t25 = 0, t26 = 0, t27 = 0, t28 = 0, t29 = 0, t30 = 0, + b0 = b[0], + b1 = b[1], + b2 = b[2], + b3 = b[3], + b4 = b[4], + b5 = b[5], + b6 = b[6], + b7 = b[7], + b8 = b[8], + b9 = b[9], + b10 = b[10], + b11 = b[11], + b12 = b[12], + b13 = b[13], + b14 = b[14], + b15 = b[15]; + + v = a[0]; + t0 += v * b0; + t1 += v * b1; + t2 += v * b2; + t3 += v * b3; + t4 += v * b4; + t5 += v * b5; + t6 += v * b6; + t7 += v * b7; + t8 += v * b8; + t9 += v * b9; + t10 += v * b10; + t11 += v * b11; + t12 += v * b12; + t13 += v * b13; + t14 += v * b14; + t15 += v * b15; + v = a[1]; + t1 += v * b0; + t2 += v * b1; + t3 += v * b2; + t4 += v * b3; + t5 += v * b4; + t6 += v * b5; + t7 += v * b6; + t8 += v * b7; + t9 += v * b8; + t10 += v * b9; + t11 += v * b10; + t12 += v * b11; + t13 += v * b12; + t14 += v * b13; + t15 += v * b14; + t16 += v * b15; + v = a[2]; + t2 += v * b0; + t3 += v * b1; + t4 += v * b2; + t5 += v * b3; + t6 += v * b4; + t7 += v * b5; + t8 += v * b6; + t9 += v * b7; + t10 += v * b8; + t11 += v * b9; + t12 += v * b10; + t13 += v * b11; + t14 += v * b12; + t15 += v * b13; + t16 += v * b14; + t17 += v * b15; + v = a[3]; + t3 += v * b0; + t4 += v * b1; + t5 += v * b2; + t6 += v * b3; + t7 += v * b4; + t8 += v * b5; + t9 += v * b6; + t10 += v * b7; + t11 += v * b8; + t12 += v * b9; + t13 += v * b10; + t14 += v * b11; + t15 += v * b12; + t16 += v * b13; + t17 += v * b14; + t18 += v * b15; + v = a[4]; + t4 += v * b0; + t5 += v * b1; + t6 += v * b2; + t7 += v * b3; + t8 += v * b4; + t9 += v * b5; + t10 += v * b6; + t11 += v * b7; + t12 += v * b8; + t13 += v * b9; + t14 += v * b10; + t15 += v * b11; + t16 += v * b12; + t17 += v * b13; + t18 += v * b14; + t19 += v * b15; + v = a[5]; + t5 += v * b0; + t6 += v * b1; + t7 += v * b2; + t8 += v * b3; + t9 += v * b4; + t10 += v * b5; + t11 += v * b6; + t12 += v * b7; + t13 += v * b8; + t14 += v * b9; + t15 += v * b10; + t16 += v * b11; + t17 += v * b12; + t18 += v * b13; + t19 += v * b14; + t20 += v * b15; + v = a[6]; + t6 += v * b0; + t7 += v * b1; + t8 += v * b2; + t9 += v * b3; + t10 += v * b4; + t11 += v * b5; + t12 += v * b6; + t13 += v * b7; + t14 += v * b8; + t15 += v * b9; + t16 += v * b10; + t17 += v * b11; + t18 += v * b12; + t19 += v * b13; + t20 += v * b14; + t21 += v * b15; + v = a[7]; + t7 += v * b0; + t8 += v * b1; + t9 += v * b2; + t10 += v * b3; + t11 += v * b4; + t12 += v * b5; + t13 += v * b6; + t14 += v * b7; + t15 += v * b8; + t16 += v * b9; + t17 += v * b10; + t18 += v * b11; + t19 += v * b12; + t20 += v * b13; + t21 += v * b14; + t22 += v * b15; + v = a[8]; + t8 += v * b0; + t9 += v * b1; + t10 += v * b2; + t11 += v * b3; + t12 += v * b4; + t13 += v * b5; + t14 += v * b6; + t15 += v * b7; + t16 += v * b8; + t17 += v * b9; + t18 += v * b10; + t19 += v * b11; + t20 += v * b12; + t21 += v * b13; + t22 += v * b14; + t23 += v * b15; + v = a[9]; + t9 += v * b0; + t10 += v * b1; + t11 += v * b2; + t12 += v * b3; + t13 += v * b4; + t14 += v * b5; + t15 += v * b6; + t16 += v * b7; + t17 += v * b8; + t18 += v * b9; + t19 += v * b10; + t20 += v * b11; + t21 += v * b12; + t22 += v * b13; + t23 += v * b14; + t24 += v * b15; + v = a[10]; + t10 += v * b0; + t11 += v * b1; + t12 += v * b2; + t13 += v * b3; + t14 += v * b4; + t15 += v * b5; + t16 += v * b6; + t17 += v * b7; + t18 += v * b8; + t19 += v * b9; + t20 += v * b10; + t21 += v * b11; + t22 += v * b12; + t23 += v * b13; + t24 += v * b14; + t25 += v * b15; + v = a[11]; + t11 += v * b0; + t12 += v * b1; + t13 += v * b2; + t14 += v * b3; + t15 += v * b4; + t16 += v * b5; + t17 += v * b6; + t18 += v * b7; + t19 += v * b8; + t20 += v * b9; + t21 += v * b10; + t22 += v * b11; + t23 += v * b12; + t24 += v * b13; + t25 += v * b14; + t26 += v * b15; + v = a[12]; + t12 += v * b0; + t13 += v * b1; + t14 += v * b2; + t15 += v * b3; + t16 += v * b4; + t17 += v * b5; + t18 += v * b6; + t19 += v * b7; + t20 += v * b8; + t21 += v * b9; + t22 += v * b10; + t23 += v * b11; + t24 += v * b12; + t25 += v * b13; + t26 += v * b14; + t27 += v * b15; + v = a[13]; + t13 += v * b0; + t14 += v * b1; + t15 += v * b2; + t16 += v * b3; + t17 += v * b4; + t18 += v * b5; + t19 += v * b6; + t20 += v * b7; + t21 += v * b8; + t22 += v * b9; + t23 += v * b10; + t24 += v * b11; + t25 += v * b12; + t26 += v * b13; + t27 += v * b14; + t28 += v * b15; + v = a[14]; + t14 += v * b0; + t15 += v * b1; + t16 += v * b2; + t17 += v * b3; + t18 += v * b4; + t19 += v * b5; + t20 += v * b6; + t21 += v * b7; + t22 += v * b8; + t23 += v * b9; + t24 += v * b10; + t25 += v * b11; + t26 += v * b12; + t27 += v * b13; + t28 += v * b14; + t29 += v * b15; + v = a[15]; + t15 += v * b0; + t16 += v * b1; + t17 += v * b2; + t18 += v * b3; + t19 += v * b4; + t20 += v * b5; + t21 += v * b6; + t22 += v * b7; + t23 += v * b8; + t24 += v * b9; + t25 += v * b10; + t26 += v * b11; + t27 += v * b12; + t28 += v * b13; + t29 += v * b14; + t30 += v * b15; + + t0 += 38 * t16; + t1 += 38 * t17; + t2 += 38 * t18; + t3 += 38 * t19; + t4 += 38 * t20; + t5 += 38 * t21; + t6 += 38 * t22; + t7 += 38 * t23; + t8 += 38 * t24; + t9 += 38 * t25; + t10 += 38 * t26; + t11 += 38 * t27; + t12 += 38 * t28; + t13 += 38 * t29; + t14 += 38 * t30; + // t15 left as is + + // first car + c = 1; + v = t0 + c + 65535; c = Math.floor(v / 65536); t0 = v - c * 65536; + v = t1 + c + 65535; c = Math.floor(v / 65536); t1 = v - c * 65536; + v = t2 + c + 65535; c = Math.floor(v / 65536); t2 = v - c * 65536; + v = t3 + c + 65535; c = Math.floor(v / 65536); t3 = v - c * 65536; + v = t4 + c + 65535; c = Math.floor(v / 65536); t4 = v - c * 65536; + v = t5 + c + 65535; c = Math.floor(v / 65536); t5 = v - c * 65536; + v = t6 + c + 65535; c = Math.floor(v / 65536); t6 = v - c * 65536; + v = t7 + c + 65535; c = Math.floor(v / 65536); t7 = v - c * 65536; + v = t8 + c + 65535; c = Math.floor(v / 65536); t8 = v - c * 65536; + v = t9 + c + 65535; c = Math.floor(v / 65536); t9 = v - c * 65536; + v = t10 + c + 65535; c = Math.floor(v / 65536); t10 = v - c * 65536; + v = t11 + c + 65535; c = Math.floor(v / 65536); t11 = v - c * 65536; + v = t12 + c + 65535; c = Math.floor(v / 65536); t12 = v - c * 65536; + v = t13 + c + 65535; c = Math.floor(v / 65536); t13 = v - c * 65536; + v = t14 + c + 65535; c = Math.floor(v / 65536); t14 = v - c * 65536; + v = t15 + c + 65535; c = Math.floor(v / 65536); t15 = v - c * 65536; + t0 += c-1 + 37 * (c-1); + + // second car + c = 1; + v = t0 + c + 65535; c = Math.floor(v / 65536); t0 = v - c * 65536; + v = t1 + c + 65535; c = Math.floor(v / 65536); t1 = v - c * 65536; + v = t2 + c + 65535; c = Math.floor(v / 65536); t2 = v - c * 65536; + v = t3 + c + 65535; c = Math.floor(v / 65536); t3 = v - c * 65536; + v = t4 + c + 65535; c = Math.floor(v / 65536); t4 = v - c * 65536; + v = t5 + c + 65535; c = Math.floor(v / 65536); t5 = v - c * 65536; + v = t6 + c + 65535; c = Math.floor(v / 65536); t6 = v - c * 65536; + v = t7 + c + 65535; c = Math.floor(v / 65536); t7 = v - c * 65536; + v = t8 + c + 65535; c = Math.floor(v / 65536); t8 = v - c * 65536; + v = t9 + c + 65535; c = Math.floor(v / 65536); t9 = v - c * 65536; + v = t10 + c + 65535; c = Math.floor(v / 65536); t10 = v - c * 65536; + v = t11 + c + 65535; c = Math.floor(v / 65536); t11 = v - c * 65536; + v = t12 + c + 65535; c = Math.floor(v / 65536); t12 = v - c * 65536; + v = t13 + c + 65535; c = Math.floor(v / 65536); t13 = v - c * 65536; + v = t14 + c + 65535; c = Math.floor(v / 65536); t14 = v - c * 65536; + v = t15 + c + 65535; c = Math.floor(v / 65536); t15 = v - c * 65536; + t0 += c-1 + 37 * (c-1); + + o[ 0] = t0; + o[ 1] = t1; + o[ 2] = t2; + o[ 3] = t3; + o[ 4] = t4; + o[ 5] = t5; + o[ 6] = t6; + o[ 7] = t7; + o[ 8] = t8; + o[ 9] = t9; + o[10] = t10; + o[11] = t11; + o[12] = t12; + o[13] = t13; + o[14] = t14; + o[15] = t15; +} diff --git a/express-server/node_modules/node-forge/lib/forge.js b/express-server/node_modules/node-forge/lib/forge.js new file mode 100644 index 00000000..2e243a9d --- /dev/null +++ b/express-server/node_modules/node-forge/lib/forge.js @@ -0,0 +1,13 @@ +/** + * Node.js module for Forge. + * + * @author Dave Longley + * + * Copyright 2011-2016 Digital Bazaar, Inc. + */ +module.exports = { + // default options + options: { + usePureJavaScript: false + } +}; diff --git a/express-server/node_modules/node-forge/lib/form.js b/express-server/node_modules/node-forge/lib/form.js new file mode 100644 index 00000000..4d7843a2 --- /dev/null +++ b/express-server/node_modules/node-forge/lib/form.js @@ -0,0 +1,149 @@ +/** + * Functions for manipulating web forms. + * + * @author David I. Lehn + * @author Dave Longley + * @author Mike Johnson + * + * Copyright (c) 2011-2014 Digital Bazaar, Inc. All rights reserved. + */ +var forge = require('./forge'); + +/* Form API */ +var form = module.exports = forge.form = forge.form || {}; + +(function($) { + +/** + * Regex for parsing a single name property (handles array brackets). + */ +var _regex = /([^\[]*?)\[(.*?)\]/g; + +/** + * Parses a single name property into an array with the name and any + * array indices. + * + * @param name the name to parse. + * + * @return the array of the name and its array indices in order. + */ +var _parseName = function(name) { + var rval = []; + + var matches; + while(!!(matches = _regex.exec(name))) { + if(matches[1].length > 0) { + rval.push(matches[1]); + } + if(matches.length >= 2) { + rval.push(matches[2]); + } + } + if(rval.length === 0) { + rval.push(name); + } + + return rval; +}; + +/** + * Adds a field from the given form to the given object. + * + * @param obj the object. + * @param names the field as an array of object property names. + * @param value the value of the field. + * @param dict a dictionary of names to replace. + */ +var _addField = function(obj, names, value, dict) { + // combine array names that fall within square brackets + var tmp = []; + for(var i = 0; i < names.length; ++i) { + // check name for starting square bracket but no ending one + var name = names[i]; + if(name.indexOf('[') !== -1 && name.indexOf(']') === -1 && + i < names.length - 1) { + do { + name += '.' + names[++i]; + } while(i < names.length - 1 && names[i].indexOf(']') === -1); + } + tmp.push(name); + } + names = tmp; + + // split out array indexes + var tmp = []; + $.each(names, function(n, name) { + tmp = tmp.concat(_parseName(name)); + }); + names = tmp; + + // iterate over object property names until value is set + $.each(names, function(n, name) { + // do dictionary name replacement + if(dict && name.length !== 0 && name in dict) { + name = dict[name]; + } + + // blank name indicates appending to an array, set name to + // new last index of array + if(name.length === 0) { + name = obj.length; + } + + // value already exists, append value + if(obj[name]) { + // last name in the field + if(n == names.length - 1) { + // more than one value, so convert into an array + if(!$.isArray(obj[name])) { + obj[name] = [obj[name]]; + } + obj[name].push(value); + } else { + // not last name, go deeper into object + obj = obj[name]; + } + } else if(n == names.length - 1) { + // new value, last name in the field, set value + obj[name] = value; + } else { + // new value, not last name, go deeper + // get next name + var next = names[n + 1]; + + // blank next value indicates array-appending, so create array + if(next.length === 0) { + obj[name] = []; + } else { + // if next name is a number create an array, otherwise a map + var isNum = ((next - 0) == next && next.length > 0); + obj[name] = isNum ? [] : {}; + } + obj = obj[name]; + } + }); +}; + +/** + * Serializes a form to a JSON object. Object properties will be separated + * using the given separator (defaults to '.') and by square brackets. + * + * @param input the jquery form to serialize. + * @param sep the object-property separator (defaults to '.'). + * @param dict a dictionary of names to replace (name=replace). + * + * @return the JSON-serialized form. + */ +form.serialize = function(input, sep, dict) { + var rval = {}; + + // add all fields in the form to the object + sep = sep || '.'; + $.each(input.serializeArray(), function() { + _addField(rval, this.name.split(sep), this.value || '', dict); + }); + + return rval; +}; + +})(jQuery); diff --git a/express-server/node_modules/node-forge/lib/hmac.js b/express-server/node_modules/node-forge/lib/hmac.js new file mode 100644 index 00000000..b155f247 --- /dev/null +++ b/express-server/node_modules/node-forge/lib/hmac.js @@ -0,0 +1,146 @@ +/** + * Hash-based Message Authentication Code implementation. Requires a message + * digest object that can be obtained, for example, from forge.md.sha1 or + * forge.md.md5. + * + * @author Dave Longley + * + * Copyright (c) 2010-2012 Digital Bazaar, Inc. All rights reserved. + */ +var forge = require('./forge'); +require('./md'); +require('./util'); + +/* HMAC API */ +var hmac = module.exports = forge.hmac = forge.hmac || {}; + +/** + * Creates an HMAC object that uses the given message digest object. + * + * @return an HMAC object. + */ +hmac.create = function() { + // the hmac key to use + var _key = null; + + // the message digest to use + var _md = null; + + // the inner padding + var _ipadding = null; + + // the outer padding + var _opadding = null; + + // hmac context + var ctx = {}; + + /** + * Starts or restarts the HMAC with the given key and message digest. + * + * @param md the message digest to use, null to reuse the previous one, + * a string to use builtin 'sha1', 'md5', 'sha256'. + * @param key the key to use as a string, array of bytes, byte buffer, + * or null to reuse the previous key. + */ + ctx.start = function(md, key) { + if(md !== null) { + if(typeof md === 'string') { + // create builtin message digest + md = md.toLowerCase(); + if(md in forge.md.algorithms) { + _md = forge.md.algorithms[md].create(); + } else { + throw new Error('Unknown hash algorithm "' + md + '"'); + } + } else { + // store message digest + _md = md; + } + } + + if(key === null) { + // reuse previous key + key = _key; + } else { + if(typeof key === 'string') { + // convert string into byte buffer + key = forge.util.createBuffer(key); + } else if(forge.util.isArray(key)) { + // convert byte array into byte buffer + var tmp = key; + key = forge.util.createBuffer(); + for(var i = 0; i < tmp.length; ++i) { + key.putByte(tmp[i]); + } + } + + // if key is longer than blocksize, hash it + var keylen = key.length(); + if(keylen > _md.blockLength) { + _md.start(); + _md.update(key.bytes()); + key = _md.digest(); + } + + // mix key into inner and outer padding + // ipadding = [0x36 * blocksize] ^ key + // opadding = [0x5C * blocksize] ^ key + _ipadding = forge.util.createBuffer(); + _opadding = forge.util.createBuffer(); + keylen = key.length(); + for(var i = 0; i < keylen; ++i) { + var tmp = key.at(i); + _ipadding.putByte(0x36 ^ tmp); + _opadding.putByte(0x5C ^ tmp); + } + + // if key is shorter than blocksize, add additional padding + if(keylen < _md.blockLength) { + var tmp = _md.blockLength - keylen; + for(var i = 0; i < tmp; ++i) { + _ipadding.putByte(0x36); + _opadding.putByte(0x5C); + } + } + _key = key; + _ipadding = _ipadding.bytes(); + _opadding = _opadding.bytes(); + } + + // digest is done like so: hash(opadding | hash(ipadding | message)) + + // prepare to do inner hash + // hash(ipadding | message) + _md.start(); + _md.update(_ipadding); + }; + + /** + * Updates the HMAC with the given message bytes. + * + * @param bytes the bytes to update with. + */ + ctx.update = function(bytes) { + _md.update(bytes); + }; + + /** + * Produces the Message Authentication Code (MAC). + * + * @return a byte buffer containing the digest value. + */ + ctx.getMac = function() { + // digest is done like so: hash(opadding | hash(ipadding | message)) + // here we do the outer hashing + var inner = _md.digest().bytes(); + _md.start(); + _md.update(_opadding); + _md.update(inner); + return _md.digest(); + }; + // alias for getMac + ctx.digest = ctx.getMac; + + return ctx; +}; diff --git a/express-server/node_modules/node-forge/lib/http.js b/express-server/node_modules/node-forge/lib/http.js new file mode 100644 index 00000000..1dcb0a65 --- /dev/null +++ b/express-server/node_modules/node-forge/lib/http.js @@ -0,0 +1,1364 @@ +/** + * HTTP client-side implementation that uses forge.net sockets. + * + * @author Dave Longley + * + * Copyright (c) 2010-2014 Digital Bazaar, Inc. All rights reserved. + */ +var forge = require('./forge'); +require('./debug'); +require('./tls'); +require('./util'); + +// define http namespace +var http = module.exports = forge.http = forge.http || {}; + +// logging category +var cat = 'forge.http'; + +// add array of clients to debug storage +if(forge.debug) { + forge.debug.set('forge.http', 'clients', []); +} + +// normalizes an http header field name +var _normalize = function(name) { + return name.toLowerCase().replace(/(^.)|(-.)/g, + function(a) {return a.toUpperCase();}); +}; + +/** + * Gets the local storage ID for the given client. + * + * @param client the client to get the local storage ID for. + * + * @return the local storage ID to use. + */ +var _getStorageId = function(client) { + // TODO: include browser in ID to avoid sharing cookies between + // browsers (if this is undesirable) + // navigator.userAgent + return 'forge.http.' + + client.url.scheme + '.' + + client.url.host + '.' + + client.url.port; +}; + +/** + * Loads persistent cookies from disk for the given client. + * + * @param client the client. + */ +var _loadCookies = function(client) { + if(client.persistCookies) { + try { + var cookies = forge.util.getItem( + client.socketPool.flashApi, + _getStorageId(client), 'cookies'); + client.cookies = cookies || {}; + } catch(ex) { + // no flash storage available, just silently fail + // TODO: i assume we want this logged somewhere or + // should it actually generate an error + //forge.log.error(cat, ex); + } + } +}; + +/** + * Saves persistent cookies on disk for the given client. + * + * @param client the client. + */ +var _saveCookies = function(client) { + if(client.persistCookies) { + try { + forge.util.setItem( + client.socketPool.flashApi, + _getStorageId(client), 'cookies', client.cookies); + } catch(ex) { + // no flash storage available, just silently fail + // TODO: i assume we want this logged somewhere or + // should it actually generate an error + //forge.log.error(cat, ex); + } + } + + // FIXME: remove me + _loadCookies(client); +}; + +/** + * Clears persistent cookies on disk for the given client. + * + * @param client the client. + */ +var _clearCookies = function(client) { + if(client.persistCookies) { + try { + // only thing stored is 'cookies', so clear whole storage + forge.util.clearItems( + client.socketPool.flashApi, + _getStorageId(client)); + } catch(ex) { + // no flash storage available, just silently fail + // TODO: i assume we want this logged somewhere or + // should it actually generate an error + //forge.log.error(cat, ex); + } + } +}; + +/** + * Connects and sends a request. + * + * @param client the http client. + * @param socket the socket to use. + */ +var _doRequest = function(client, socket) { + if(socket.isConnected()) { + // already connected + socket.options.request.connectTime = +new Date(); + socket.connected({ + type: 'connect', + id: socket.id + }); + } else { + // connect + socket.options.request.connectTime = +new Date(); + socket.connect({ + host: client.url.host, + port: client.url.port, + policyPort: client.policyPort, + policyUrl: client.policyUrl + }); + } +}; + +/** + * Handles the next request or marks a socket as idle. + * + * @param client the http client. + * @param socket the socket. + */ +var _handleNextRequest = function(client, socket) { + // clear buffer + socket.buffer.clear(); + + // get pending request + var pending = null; + while(pending === null && client.requests.length > 0) { + pending = client.requests.shift(); + if(pending.request.aborted) { + pending = null; + } + } + + // mark socket idle if no pending requests + if(pending === null) { + if(socket.options !== null) { + socket.options = null; + } + client.idle.push(socket); + } else { + // handle pending request, allow 1 retry + socket.retries = 1; + socket.options = pending; + _doRequest(client, socket); + } +}; + +/** + * Sets up a socket for use with an http client. + * + * @param client the parent http client. + * @param socket the socket to set up. + * @param tlsOptions if the socket must use TLS, the TLS options. + */ +var _initSocket = function(client, socket, tlsOptions) { + // no socket options yet + socket.options = null; + + // set up handlers + socket.connected = function(e) { + // socket primed by caching TLS session, handle next request + if(socket.options === null) { + _handleNextRequest(client, socket); + } else { + // socket in use + var request = socket.options.request; + request.connectTime = +new Date() - request.connectTime; + e.socket = socket; + socket.options.connected(e); + if(request.aborted) { + socket.close(); + } else { + var out = request.toString(); + if(request.body) { + out += request.body; + } + request.time = +new Date(); + socket.send(out); + request.time = +new Date() - request.time; + socket.options.response.time = +new Date(); + socket.sending = true; + } + } + }; + socket.closed = function(e) { + if(socket.sending) { + socket.sending = false; + if(socket.retries > 0) { + --socket.retries; + _doRequest(client, socket); + } else { + // error, closed during send + socket.error({ + id: socket.id, + type: 'ioError', + message: 'Connection closed during send. Broken pipe.', + bytesAvailable: 0 + }); + } + } else { + // handle unspecified content-length transfer + var response = socket.options.response; + if(response.readBodyUntilClose) { + response.time = +new Date() - response.time; + response.bodyReceived = true; + socket.options.bodyReady({ + request: socket.options.request, + response: response, + socket: socket + }); + } + socket.options.closed(e); + _handleNextRequest(client, socket); + } + }; + socket.data = function(e) { + socket.sending = false; + var request = socket.options.request; + if(request.aborted) { + socket.close(); + } else { + // receive all bytes available + var response = socket.options.response; + var bytes = socket.receive(e.bytesAvailable); + if(bytes !== null) { + // receive header and then body + socket.buffer.putBytes(bytes); + if(!response.headerReceived) { + response.readHeader(socket.buffer); + if(response.headerReceived) { + socket.options.headerReady({ + request: socket.options.request, + response: response, + socket: socket + }); + } + } + if(response.headerReceived && !response.bodyReceived) { + response.readBody(socket.buffer); + } + if(response.bodyReceived) { + socket.options.bodyReady({ + request: socket.options.request, + response: response, + socket: socket + }); + // close connection if requested or by default on http/1.0 + var value = response.getField('Connection') || ''; + if(value.indexOf('close') != -1 || + (response.version === 'HTTP/1.0' && + response.getField('Keep-Alive') === null)) { + socket.close(); + } else { + _handleNextRequest(client, socket); + } + } + } + } + }; + socket.error = function(e) { + // do error callback, include request + socket.options.error({ + type: e.type, + message: e.message, + request: socket.options.request, + response: socket.options.response, + socket: socket + }); + socket.close(); + }; + + // wrap socket for TLS + if(tlsOptions) { + socket = forge.tls.wrapSocket({ + sessionId: null, + sessionCache: {}, + caStore: tlsOptions.caStore, + cipherSuites: tlsOptions.cipherSuites, + socket: socket, + virtualHost: tlsOptions.virtualHost, + verify: tlsOptions.verify, + getCertificate: tlsOptions.getCertificate, + getPrivateKey: tlsOptions.getPrivateKey, + getSignature: tlsOptions.getSignature, + deflate: tlsOptions.deflate || null, + inflate: tlsOptions.inflate || null + }); + + socket.options = null; + socket.buffer = forge.util.createBuffer(); + client.sockets.push(socket); + if(tlsOptions.prime) { + // prime socket by connecting and caching TLS session, will do + // next request from there + socket.connect({ + host: client.url.host, + port: client.url.port, + policyPort: client.policyPort, + policyUrl: client.policyUrl + }); + } else { + // do not prime socket, just add as idle + client.idle.push(socket); + } + } else { + // no need to prime non-TLS sockets + socket.buffer = forge.util.createBuffer(); + client.sockets.push(socket); + client.idle.push(socket); + } +}; + +/** + * Checks to see if the given cookie has expired. If the cookie's max-age + * plus its created time is less than the time now, it has expired, unless + * its max-age is set to -1 which indicates it will never expire. + * + * @param cookie the cookie to check. + * + * @return true if it has expired, false if not. + */ +var _hasCookieExpired = function(cookie) { + var rval = false; + + if(cookie.maxAge !== -1) { + var now = _getUtcTime(new Date()); + var expires = cookie.created + cookie.maxAge; + if(expires <= now) { + rval = true; + } + } + + return rval; +}; + +/** + * Adds cookies in the given client to the given request. + * + * @param client the client. + * @param request the request. + */ +var _writeCookies = function(client, request) { + var expired = []; + var url = client.url; + var cookies = client.cookies; + for(var name in cookies) { + // get cookie paths + var paths = cookies[name]; + for(var p in paths) { + var cookie = paths[p]; + if(_hasCookieExpired(cookie)) { + // store for clean up + expired.push(cookie); + } else if(request.path.indexOf(cookie.path) === 0) { + // path or path's ancestor must match cookie.path + request.addCookie(cookie); + } + } + } + + // clean up expired cookies + for(var i = 0; i < expired.length; ++i) { + var cookie = expired[i]; + client.removeCookie(cookie.name, cookie.path); + } +}; + +/** + * Gets cookies from the given response and adds the to the given client. + * + * @param client the client. + * @param response the response. + */ +var _readCookies = function(client, response) { + var cookies = response.getCookies(); + for(var i = 0; i < cookies.length; ++i) { + try { + client.setCookie(cookies[i]); + } catch(ex) { + // ignore failure to add other-domain, etc. cookies + } + } +}; + +/** + * Creates an http client that uses forge.net sockets as a backend and + * forge.tls for security. + * + * @param options: + * url: the url to connect to (scheme://host:port). + * socketPool: the flash socket pool to use. + * policyPort: the flash policy port to use (if other than the + * socket pool default), use 0 for flash default. + * policyUrl: the flash policy file URL to use (if provided will + * be used instead of a policy port). + * connections: number of connections to use to handle requests. + * caCerts: an array of certificates to trust for TLS, certs may + * be PEM-formatted or cert objects produced via forge.pki. + * cipherSuites: an optional array of cipher suites to use, + * see forge.tls.CipherSuites. + * virtualHost: the virtual server name to use in a TLS SNI + * extension, if not provided the url host will be used. + * verify: a custom TLS certificate verify callback to use. + * getCertificate: an optional callback used to get a client-side + * certificate (see forge.tls for details). + * getPrivateKey: an optional callback used to get a client-side + * private key (see forge.tls for details). + * getSignature: an optional callback used to get a client-side + * signature (see forge.tls for details). + * persistCookies: true to use persistent cookies via flash local + * storage, false to only keep cookies in javascript. + * primeTlsSockets: true to immediately connect TLS sockets on + * their creation so that they will cache TLS sessions for reuse. + * + * @return the client. + */ +http.createClient = function(options) { + // create CA store to share with all TLS connections + var caStore = null; + if(options.caCerts) { + caStore = forge.pki.createCaStore(options.caCerts); + } + + // get scheme, host, and port from url + options.url = (options.url || + window.location.protocol + '//' + window.location.host); + var url = http.parseUrl(options.url); + if(!url) { + var error = new Error('Invalid url.'); + error.details = {url: options.url}; + throw error; + } + + // default to 1 connection + options.connections = options.connections || 1; + + // create client + var sp = options.socketPool; + var client = { + // url + url: url, + // socket pool + socketPool: sp, + // the policy port to use + policyPort: options.policyPort, + // policy url to use + policyUrl: options.policyUrl, + // queue of requests to service + requests: [], + // all sockets + sockets: [], + // idle sockets + idle: [], + // whether or not the connections are secure + secure: (url.scheme === 'https'), + // cookie jar (key'd off of name and then path, there is only 1 domain + // and one setting for secure per client so name+path is unique) + cookies: {}, + // default to flash storage of cookies + persistCookies: (typeof(options.persistCookies) === 'undefined') ? + true : options.persistCookies + }; + + // add client to debug storage + if(forge.debug) { + forge.debug.get('forge.http', 'clients').push(client); + } + + // load cookies from disk + _loadCookies(client); + + /** + * A default certificate verify function that checks a certificate common + * name against the client's URL host. + * + * @param c the TLS connection. + * @param verified true if cert is verified, otherwise alert number. + * @param depth the chain depth. + * @param certs the cert chain. + * + * @return true if verified and the common name matches the host, error + * otherwise. + */ + var _defaultCertificateVerify = function(c, verified, depth, certs) { + if(depth === 0 && verified === true) { + // compare common name to url host + var cn = certs[depth].subject.getField('CN'); + if(cn === null || client.url.host !== cn.value) { + verified = { + message: 'Certificate common name does not match url host.' + }; + } + } + return verified; + }; + + // determine if TLS is used + var tlsOptions = null; + if(client.secure) { + tlsOptions = { + caStore: caStore, + cipherSuites: options.cipherSuites || null, + virtualHost: options.virtualHost || url.host, + verify: options.verify || _defaultCertificateVerify, + getCertificate: options.getCertificate || null, + getPrivateKey: options.getPrivateKey || null, + getSignature: options.getSignature || null, + prime: options.primeTlsSockets || false + }; + + // if socket pool uses a flash api, then add deflate support to TLS + if(sp.flashApi !== null) { + tlsOptions.deflate = function(bytes) { + // strip 2 byte zlib header and 4 byte trailer + return forge.util.deflate(sp.flashApi, bytes, true); + }; + tlsOptions.inflate = function(bytes) { + return forge.util.inflate(sp.flashApi, bytes, true); + }; + } + } + + // create and initialize sockets + for(var i = 0; i < options.connections; ++i) { + _initSocket(client, sp.createSocket(), tlsOptions); + } + + /** + * Sends a request. A method 'abort' will be set on the request that + * can be called to attempt to abort the request. + * + * @param options: + * request: the request to send. + * connected: a callback for when the connection is open. + * closed: a callback for when the connection is closed. + * headerReady: a callback for when the response header arrives. + * bodyReady: a callback for when the response body arrives. + * error: a callback for if an error occurs. + */ + client.send = function(options) { + // add host header if not set + if(options.request.getField('Host') === null) { + options.request.setField('Host', client.url.fullHost); + } + + // set default dummy handlers + var opts = {}; + opts.request = options.request; + opts.connected = options.connected || function() {}; + opts.closed = options.close || function() {}; + opts.headerReady = function(e) { + // read cookies + _readCookies(client, e.response); + if(options.headerReady) { + options.headerReady(e); + } + }; + opts.bodyReady = options.bodyReady || function() {}; + opts.error = options.error || function() {}; + + // create response + opts.response = http.createResponse(); + opts.response.time = 0; + opts.response.flashApi = client.socketPool.flashApi; + opts.request.flashApi = client.socketPool.flashApi; + + // create abort function + opts.request.abort = function() { + // set aborted, clear handlers + opts.request.aborted = true; + opts.connected = function() {}; + opts.closed = function() {}; + opts.headerReady = function() {}; + opts.bodyReady = function() {}; + opts.error = function() {}; + }; + + // add cookies to request + _writeCookies(client, opts.request); + + // queue request options if there are no idle sockets + if(client.idle.length === 0) { + client.requests.push(opts); + } else { + // use an idle socket, prefer an idle *connected* socket first + var socket = null; + var len = client.idle.length; + for(var i = 0; socket === null && i < len; ++i) { + socket = client.idle[i]; + if(socket.isConnected()) { + client.idle.splice(i, 1); + } else { + socket = null; + } + } + // no connected socket available, get unconnected socket + if(socket === null) { + socket = client.idle.pop(); + } + socket.options = opts; + _doRequest(client, socket); + } + }; + + /** + * Destroys this client. + */ + client.destroy = function() { + // clear pending requests, close and destroy sockets + client.requests = []; + for(var i = 0; i < client.sockets.length; ++i) { + client.sockets[i].close(); + client.sockets[i].destroy(); + } + client.socketPool = null; + client.sockets = []; + client.idle = []; + }; + + /** + * Sets a cookie for use with all connections made by this client. Any + * cookie with the same name will be replaced. If the cookie's value + * is undefined, null, or the blank string, the cookie will be removed. + * + * If the cookie's domain doesn't match this client's url host or the + * cookie's secure flag doesn't match this client's url scheme, then + * setting the cookie will fail with an exception. + * + * @param cookie the cookie with parameters: + * name: the name of the cookie. + * value: the value of the cookie. + * comment: an optional comment string. + * maxAge: the age of the cookie in seconds relative to created time. + * secure: true if the cookie must be sent over a secure protocol. + * httpOnly: true to restrict access to the cookie from javascript + * (inaffective since the cookies are stored in javascript). + * path: the path for the cookie. + * domain: optional domain the cookie belongs to (must start with dot). + * version: optional version of the cookie. + * created: creation time, in UTC seconds, of the cookie. + */ + client.setCookie = function(cookie) { + var rval; + if(typeof(cookie.name) !== 'undefined') { + if(cookie.value === null || typeof(cookie.value) === 'undefined' || + cookie.value === '') { + // remove cookie + rval = client.removeCookie(cookie.name, cookie.path); + } else { + // set cookie defaults + cookie.comment = cookie.comment || ''; + cookie.maxAge = cookie.maxAge || 0; + cookie.secure = (typeof(cookie.secure) === 'undefined') ? + true : cookie.secure; + cookie.httpOnly = cookie.httpOnly || true; + cookie.path = cookie.path || '/'; + cookie.domain = cookie.domain || null; + cookie.version = cookie.version || null; + cookie.created = _getUtcTime(new Date()); + + // do secure check + if(cookie.secure !== client.secure) { + var error = new Error('Http client url scheme is incompatible ' + + 'with cookie secure flag.'); + error.url = client.url; + error.cookie = cookie; + throw error; + } + // make sure url host is within cookie.domain + if(!http.withinCookieDomain(client.url, cookie)) { + var error = new Error('Http client url scheme is incompatible ' + + 'with cookie secure flag.'); + error.url = client.url; + error.cookie = cookie; + throw error; + } + + // add new cookie + if(!(cookie.name in client.cookies)) { + client.cookies[cookie.name] = {}; + } + client.cookies[cookie.name][cookie.path] = cookie; + rval = true; + + // save cookies + _saveCookies(client); + } + } + + return rval; + }; + + /** + * Gets a cookie by its name. + * + * @param name the name of the cookie to retrieve. + * @param path an optional path for the cookie (if there are multiple + * cookies with the same name but different paths). + * + * @return the cookie or null if not found. + */ + client.getCookie = function(name, path) { + var rval = null; + if(name in client.cookies) { + var paths = client.cookies[name]; + + // get path-specific cookie + if(path) { + if(path in paths) { + rval = paths[path]; + } + } else { + // get first cookie + for(var p in paths) { + rval = paths[p]; + break; + } + } + } + return rval; + }; + + /** + * Removes a cookie. + * + * @param name the name of the cookie to remove. + * @param path an optional path for the cookie (if there are multiple + * cookies with the same name but different paths). + * + * @return true if a cookie was removed, false if not. + */ + client.removeCookie = function(name, path) { + var rval = false; + if(name in client.cookies) { + // delete the specific path + if(path) { + var paths = client.cookies[name]; + if(path in paths) { + rval = true; + delete client.cookies[name][path]; + // clean up entry if empty + var empty = true; + for(var i in client.cookies[name]) { + empty = false; + break; + } + if(empty) { + delete client.cookies[name]; + } + } + } else { + // delete all cookies with the given name + rval = true; + delete client.cookies[name]; + } + } + if(rval) { + // save cookies + _saveCookies(client); + } + return rval; + }; + + /** + * Clears all cookies stored in this client. + */ + client.clearCookies = function() { + client.cookies = {}; + _clearCookies(client); + }; + + if(forge.log) { + forge.log.debug('forge.http', 'created client', options); + } + + return client; +}; + +/** + * Trims the whitespace off of the beginning and end of a string. + * + * @param str the string to trim. + * + * @return the trimmed string. + */ +var _trimString = function(str) { + return str.replace(/^\s*/, '').replace(/\s*$/, ''); +}; + +/** + * Creates an http header object. + * + * @return the http header object. + */ +var _createHeader = function() { + var header = { + fields: {}, + setField: function(name, value) { + // normalize field name, trim value + header.fields[_normalize(name)] = [_trimString('' + value)]; + }, + appendField: function(name, value) { + name = _normalize(name); + if(!(name in header.fields)) { + header.fields[name] = []; + } + header.fields[name].push(_trimString('' + value)); + }, + getField: function(name, index) { + var rval = null; + name = _normalize(name); + if(name in header.fields) { + index = index || 0; + rval = header.fields[name][index]; + } + return rval; + } + }; + return header; +}; + +/** + * Gets the time in utc seconds given a date. + * + * @param d the date to use. + * + * @return the time in utc seconds. + */ +var _getUtcTime = function(d) { + var utc = +d + d.getTimezoneOffset() * 60000; + return Math.floor(+new Date() / 1000); +}; + +/** + * Creates an http request. + * + * @param options: + * version: the version. + * method: the method. + * path: the path. + * body: the body. + * headers: custom header fields to add, + * eg: [{'Content-Length': 0}]. + * + * @return the http request. + */ +http.createRequest = function(options) { + options = options || {}; + var request = _createHeader(); + request.version = options.version || 'HTTP/1.1'; + request.method = options.method || null; + request.path = options.path || null; + request.body = options.body || null; + request.bodyDeflated = false; + request.flashApi = null; + + // add custom headers + var headers = options.headers || []; + if(!forge.util.isArray(headers)) { + headers = [headers]; + } + for(var i = 0; i < headers.length; ++i) { + for(var name in headers[i]) { + request.appendField(name, headers[i][name]); + } + } + + /** + * Adds a cookie to the request 'Cookie' header. + * + * @param cookie a cookie to add. + */ + request.addCookie = function(cookie) { + var value = ''; + var field = request.getField('Cookie'); + if(field !== null) { + // separate cookies by semi-colons + value = field + '; '; + } + + // get current time in utc seconds + var now = _getUtcTime(new Date()); + + // output cookie name and value + value += cookie.name + '=' + cookie.value; + request.setField('Cookie', value); + }; + + /** + * Converts an http request into a string that can be sent as an + * HTTP request. Does not include any data. + * + * @return the string representation of the request. + */ + request.toString = function() { + /* Sample request header: + GET /some/path/?query HTTP/1.1 + Host: www.someurl.com + Connection: close + Accept-Encoding: deflate + Accept: image/gif, text/html + User-Agent: Mozilla 4.0 + */ + + // set default headers + if(request.getField('User-Agent') === null) { + request.setField('User-Agent', 'forge.http 1.0'); + } + if(request.getField('Accept') === null) { + request.setField('Accept', '*/*'); + } + if(request.getField('Connection') === null) { + request.setField('Connection', 'keep-alive'); + request.setField('Keep-Alive', '115'); + } + + // add Accept-Encoding if not specified + if(request.flashApi !== null && + request.getField('Accept-Encoding') === null) { + request.setField('Accept-Encoding', 'deflate'); + } + + // if the body isn't null, deflate it if its larger than 100 bytes + if(request.flashApi !== null && request.body !== null && + request.getField('Content-Encoding') === null && + !request.bodyDeflated && request.body.length > 100) { + // use flash to compress data + request.body = forge.util.deflate(request.flashApi, request.body); + request.bodyDeflated = true; + request.setField('Content-Encoding', 'deflate'); + request.setField('Content-Length', request.body.length); + } else if(request.body !== null) { + // set content length for body + request.setField('Content-Length', request.body.length); + } + + // build start line + var rval = + request.method.toUpperCase() + ' ' + request.path + ' ' + + request.version + '\r\n'; + + // add each header + for(var name in request.fields) { + var fields = request.fields[name]; + for(var i = 0; i < fields.length; ++i) { + rval += name + ': ' + fields[i] + '\r\n'; + } + } + // final terminating CRLF + rval += '\r\n'; + + return rval; + }; + + return request; +}; + +/** + * Creates an empty http response header. + * + * @return the empty http response header. + */ +http.createResponse = function() { + // private vars + var _first = true; + var _chunkSize = 0; + var _chunksFinished = false; + + // create response + var response = _createHeader(); + response.version = null; + response.code = 0; + response.message = null; + response.body = null; + response.headerReceived = false; + response.bodyReceived = false; + response.flashApi = null; + + /** + * Reads a line that ends in CRLF from a byte buffer. + * + * @param b the byte buffer. + * + * @return the line or null if none was found. + */ + var _readCrlf = function(b) { + var line = null; + var i = b.data.indexOf('\r\n', b.read); + if(i != -1) { + // read line, skip CRLF + line = b.getBytes(i - b.read); + b.getBytes(2); + } + return line; + }; + + /** + * Parses a header field and appends it to the response. + * + * @param line the header field line. + */ + var _parseHeader = function(line) { + var tmp = line.indexOf(':'); + var name = line.substring(0, tmp++); + response.appendField( + name, (tmp < line.length) ? line.substring(tmp) : ''); + }; + + /** + * Reads an http response header from a buffer of bytes. + * + * @param b the byte buffer to parse the header from. + * + * @return true if the whole header was read, false if not. + */ + response.readHeader = function(b) { + // read header lines (each ends in CRLF) + var line = ''; + while(!response.headerReceived && line !== null) { + line = _readCrlf(b); + if(line !== null) { + // parse first line + if(_first) { + _first = false; + var tmp = line.split(' '); + if(tmp.length >= 3) { + response.version = tmp[0]; + response.code = parseInt(tmp[1], 10); + response.message = tmp.slice(2).join(' '); + } else { + // invalid header + var error = new Error('Invalid http response header.'); + error.details = {'line': line}; + throw error; + } + } else if(line.length === 0) { + // handle final line, end of header + response.headerReceived = true; + } else { + _parseHeader(line); + } + } + } + + return response.headerReceived; + }; + + /** + * Reads some chunked http response entity-body from the given buffer of + * bytes. + * + * @param b the byte buffer to read from. + * + * @return true if the whole body was read, false if not. + */ + var _readChunkedBody = function(b) { + /* Chunked transfer-encoding sends data in a series of chunks, + followed by a set of 0-N http trailers. + The format is as follows: + + chunk-size (in hex) CRLF + chunk data (with "chunk-size" many bytes) CRLF + ... (N many chunks) + chunk-size (of 0 indicating the last chunk) CRLF + N many http trailers followed by CRLF + blank line + CRLF (terminates the trailers) + + If there are no http trailers, then after the chunk-size of 0, + there is still a single CRLF (indicating the blank line + CRLF + that terminates the trailers). In other words, you always terminate + the trailers with blank line + CRLF, regardless of 0-N trailers. */ + + /* From RFC-2616, section 3.6.1, here is the pseudo-code for + implementing chunked transfer-encoding: + + length := 0 + read chunk-size, chunk-extension (if any) and CRLF + while (chunk-size > 0) { + read chunk-data and CRLF + append chunk-data to entity-body + length := length + chunk-size + read chunk-size and CRLF + } + read entity-header + while (entity-header not empty) { + append entity-header to existing header fields + read entity-header + } + Content-Length := length + Remove "chunked" from Transfer-Encoding + */ + + var line = ''; + while(line !== null && b.length() > 0) { + // if in the process of reading a chunk + if(_chunkSize > 0) { + // if there are not enough bytes to read chunk and its + // trailing CRLF, we must wait for more data to be received + if(_chunkSize + 2 > b.length()) { + break; + } + + // read chunk data, skip CRLF + response.body += b.getBytes(_chunkSize); + b.getBytes(2); + _chunkSize = 0; + } else if(!_chunksFinished) { + // more chunks, read next chunk-size line + line = _readCrlf(b); + if(line !== null) { + // parse chunk-size (ignore any chunk extension) + _chunkSize = parseInt(line.split(';', 1)[0], 16); + _chunksFinished = (_chunkSize === 0); + } + } else { + // chunks finished, read next trailer + line = _readCrlf(b); + while(line !== null) { + if(line.length > 0) { + // parse trailer + _parseHeader(line); + // read next trailer + line = _readCrlf(b); + } else { + // body received + response.bodyReceived = true; + line = null; + } + } + } + } + + return response.bodyReceived; + }; + + /** + * Reads an http response body from a buffer of bytes. + * + * @param b the byte buffer to read from. + * + * @return true if the whole body was read, false if not. + */ + response.readBody = function(b) { + var contentLength = response.getField('Content-Length'); + var transferEncoding = response.getField('Transfer-Encoding'); + if(contentLength !== null) { + contentLength = parseInt(contentLength); + } + + // read specified length + if(contentLength !== null && contentLength >= 0) { + response.body = response.body || ''; + response.body += b.getBytes(contentLength); + response.bodyReceived = (response.body.length === contentLength); + } else if(transferEncoding !== null) { + // read chunked encoding + if(transferEncoding.indexOf('chunked') != -1) { + response.body = response.body || ''; + _readChunkedBody(b); + } else { + var error = new Error('Unknown Transfer-Encoding.'); + error.details = {'transferEncoding': transferEncoding}; + throw error; + } + } else if((contentLength !== null && contentLength < 0) || + (contentLength === null && + response.getField('Content-Type') !== null)) { + // read all data in the buffer + response.body = response.body || ''; + response.body += b.getBytes(); + response.readBodyUntilClose = true; + } else { + // no body + response.body = null; + response.bodyReceived = true; + } + + if(response.bodyReceived) { + response.time = +new Date() - response.time; + } + + if(response.flashApi !== null && + response.bodyReceived && response.body !== null && + response.getField('Content-Encoding') === 'deflate') { + // inflate using flash api + response.body = forge.util.inflate( + response.flashApi, response.body); + } + + return response.bodyReceived; + }; + + /** + * Parses an array of cookies from the 'Set-Cookie' field, if present. + * + * @return the array of cookies. + */ + response.getCookies = function() { + var rval = []; + + // get Set-Cookie field + if('Set-Cookie' in response.fields) { + var field = response.fields['Set-Cookie']; + + // get current local time in seconds + var now = +new Date() / 1000; + + // regex for parsing 'name1=value1; name2=value2; name3' + var regex = /\s*([^=]*)=?([^;]*)(;|$)/g; + + // examples: + // Set-Cookie: cookie1_name=cookie1_value; max-age=0; path=/ + // Set-Cookie: c2=v2; expires=Thu, 21-Aug-2008 23:47:25 GMT; path=/ + for(var i = 0; i < field.length; ++i) { + var fv = field[i]; + var m; + regex.lastIndex = 0; + var first = true; + var cookie = {}; + do { + m = regex.exec(fv); + if(m !== null) { + var name = _trimString(m[1]); + var value = _trimString(m[2]); + + // cookie_name=value + if(first) { + cookie.name = name; + cookie.value = value; + first = false; + } else { + // property_name=value + name = name.toLowerCase(); + switch(name) { + case 'expires': + // replace hyphens w/spaces so date will parse + value = value.replace(/-/g, ' '); + var secs = Date.parse(value) / 1000; + cookie.maxAge = Math.max(0, secs - now); + break; + case 'max-age': + cookie.maxAge = parseInt(value, 10); + break; + case 'secure': + cookie.secure = true; + break; + case 'httponly': + cookie.httpOnly = true; + break; + default: + if(name !== '') { + cookie[name] = value; + } + } + } + } + } while(m !== null && m[0] !== ''); + rval.push(cookie); + } + } + + return rval; + }; + + /** + * Converts an http response into a string that can be sent as an + * HTTP response. Does not include any data. + * + * @return the string representation of the response. + */ + response.toString = function() { + /* Sample response header: + HTTP/1.0 200 OK + Host: www.someurl.com + Connection: close + */ + + // build start line + var rval = + response.version + ' ' + response.code + ' ' + response.message + '\r\n'; + + // add each header + for(var name in response.fields) { + var fields = response.fields[name]; + for(var i = 0; i < fields.length; ++i) { + rval += name + ': ' + fields[i] + '\r\n'; + } + } + // final terminating CRLF + rval += '\r\n'; + + return rval; + }; + + return response; +}; + +/** + * Parses the scheme, host, and port from an http(s) url. + * + * @param str the url string. + * + * @return the parsed url object or null if the url is invalid. + */ +http.parseUrl = forge.util.parseUrl; + +/** + * Returns true if the given url is within the given cookie's domain. + * + * @param url the url to check. + * @param cookie the cookie or cookie domain to check. + */ +http.withinCookieDomain = function(url, cookie) { + var rval = false; + + // cookie may be null, a cookie object, or a domain string + var domain = (cookie === null || typeof cookie === 'string') ? + cookie : cookie.domain; + + // any domain will do + if(domain === null) { + rval = true; + } else if(domain.charAt(0) === '.') { + // ensure domain starts with a '.' + // parse URL as necessary + if(typeof url === 'string') { + url = http.parseUrl(url); + } + + // add '.' to front of URL host to match against domain + var host = '.' + url.host; + + // if the host ends with domain then it falls within it + var idx = host.lastIndexOf(domain); + if(idx !== -1 && (idx + domain.length === host.length)) { + rval = true; + } + } + + return rval; +}; diff --git a/express-server/node_modules/node-forge/lib/index.all.js b/express-server/node_modules/node-forge/lib/index.all.js new file mode 100644 index 00000000..22ba72b6 --- /dev/null +++ b/express-server/node_modules/node-forge/lib/index.all.js @@ -0,0 +1,16 @@ +/** + * Node.js module for Forge with extra utils and networking. + * + * @author Dave Longley + * + * Copyright 2011-2016 Digital Bazaar, Inc. + */ +module.exports = require('./forge'); +// require core forge +require('./index'); +// additional utils and networking support +require('./form'); +require('./socket'); +require('./tlssocket'); +require('./http'); +require('./xhr'); diff --git a/express-server/node_modules/node-forge/lib/index.js b/express-server/node_modules/node-forge/lib/index.js new file mode 100644 index 00000000..ea8c14cf --- /dev/null +++ b/express-server/node_modules/node-forge/lib/index.js @@ -0,0 +1,35 @@ +/** + * Node.js module for Forge. + * + * @author Dave Longley + * + * Copyright 2011-2016 Digital Bazaar, Inc. + */ +module.exports = require('./forge'); +require('./aes'); +require('./aesCipherSuites'); +require('./asn1'); +require('./cipher'); +require('./debug'); +require('./des'); +require('./ed25519'); +require('./hmac'); +require('./kem'); +require('./log'); +require('./md.all'); +require('./mgf1'); +require('./pbkdf2'); +require('./pem'); +require('./pkcs1'); +require('./pkcs12'); +require('./pkcs7'); +require('./pki'); +require('./prime'); +require('./prng'); +require('./pss'); +require('./random'); +require('./rc2'); +require('./ssh'); +require('./task'); +require('./tls'); +require('./util'); diff --git a/express-server/node_modules/node-forge/lib/jsbn.js b/express-server/node_modules/node-forge/lib/jsbn.js new file mode 100644 index 00000000..11f965c5 --- /dev/null +++ b/express-server/node_modules/node-forge/lib/jsbn.js @@ -0,0 +1,1264 @@ +// Copyright (c) 2005 Tom Wu +// All Rights Reserved. +// See "LICENSE" for details. + +// Basic JavaScript BN library - subset useful for RSA encryption. + +/* +Licensing (LICENSE) +------------------- + +This software is covered under the following copyright: +*/ +/* + * Copyright (c) 2003-2005 Tom Wu + * All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, + * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY + * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + * + * IN NO EVENT SHALL TOM WU BE LIABLE FOR ANY SPECIAL, INCIDENTAL, + * INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER + * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF + * THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT + * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * In addition, the following condition applies: + * + * All redistributions must retain an intact copy of this copyright notice + * and disclaimer. + */ +/* +Address all questions regarding this license to: + + Tom Wu + tjw@cs.Stanford.EDU +*/ +var forge = require('./forge'); + +module.exports = forge.jsbn = forge.jsbn || {}; + +// Bits per digit +var dbits; + +// JavaScript engine analysis +var canary = 0xdeadbeefcafe; +var j_lm = ((canary&0xffffff)==0xefcafe); + +// (public) Constructor +function BigInteger(a,b,c) { + this.data = []; + if(a != null) + if("number" == typeof a) this.fromNumber(a,b,c); + else if(b == null && "string" != typeof a) this.fromString(a,256); + else this.fromString(a,b); +} +forge.jsbn.BigInteger = BigInteger; + +// return new, unset BigInteger +function nbi() { return new BigInteger(null); } + +// am: Compute w_j += (x*this_i), propagate carries, +// c is initial carry, returns final carry. +// c < 3*dvalue, x < 2*dvalue, this_i < dvalue +// We need to select the fastest one that works in this environment. + +// am1: use a single mult and divide to get the high bits, +// max digit bits should be 26 because +// max internal value = 2*dvalue^2-2*dvalue (< 2^53) +function am1(i,x,w,j,c,n) { + while(--n >= 0) { + var v = x*this.data[i++]+w.data[j]+c; + c = Math.floor(v/0x4000000); + w.data[j++] = v&0x3ffffff; + } + return c; +} +// am2 avoids a big mult-and-extract completely. +// Max digit bits should be <= 30 because we do bitwise ops +// on values up to 2*hdvalue^2-hdvalue-1 (< 2^31) +function am2(i,x,w,j,c,n) { + var xl = x&0x7fff, xh = x>>15; + while(--n >= 0) { + var l = this.data[i]&0x7fff; + var h = this.data[i++]>>15; + var m = xh*l+h*xl; + l = xl*l+((m&0x7fff)<<15)+w.data[j]+(c&0x3fffffff); + c = (l>>>30)+(m>>>15)+xh*h+(c>>>30); + w.data[j++] = l&0x3fffffff; + } + return c; +} +// Alternately, set max digit bits to 28 since some +// browsers slow down when dealing with 32-bit numbers. +function am3(i,x,w,j,c,n) { + var xl = x&0x3fff, xh = x>>14; + while(--n >= 0) { + var l = this.data[i]&0x3fff; + var h = this.data[i++]>>14; + var m = xh*l+h*xl; + l = xl*l+((m&0x3fff)<<14)+w.data[j]+c; + c = (l>>28)+(m>>14)+xh*h; + w.data[j++] = l&0xfffffff; + } + return c; +} + +// node.js (no browser) +if(typeof(navigator) === 'undefined') +{ + BigInteger.prototype.am = am3; + dbits = 28; +} else if(j_lm && (navigator.appName == "Microsoft Internet Explorer")) { + BigInteger.prototype.am = am2; + dbits = 30; +} else if(j_lm && (navigator.appName != "Netscape")) { + BigInteger.prototype.am = am1; + dbits = 26; +} else { // Mozilla/Netscape seems to prefer am3 + BigInteger.prototype.am = am3; + dbits = 28; +} + +BigInteger.prototype.DB = dbits; +BigInteger.prototype.DM = ((1<= 0; --i) r.data[i] = this.data[i]; + r.t = this.t; + r.s = this.s; +} + +// (protected) set from integer value x, -DV <= x < DV +function bnpFromInt(x) { + this.t = 1; + this.s = (x<0)?-1:0; + if(x > 0) this.data[0] = x; + else if(x < -1) this.data[0] = x+this.DV; + else this.t = 0; +} + +// return bigint initialized to value +function nbv(i) { var r = nbi(); r.fromInt(i); return r; } + +// (protected) set from string and radix +function bnpFromString(s,b) { + var k; + if(b == 16) k = 4; + else if(b == 8) k = 3; + else if(b == 256) k = 8; // byte array + else if(b == 2) k = 1; + else if(b == 32) k = 5; + else if(b == 4) k = 2; + else { this.fromRadix(s,b); return; } + this.t = 0; + this.s = 0; + var i = s.length, mi = false, sh = 0; + while(--i >= 0) { + var x = (k==8)?s[i]&0xff:intAt(s,i); + if(x < 0) { + if(s.charAt(i) == "-") mi = true; + continue; + } + mi = false; + if(sh == 0) + this.data[this.t++] = x; + else if(sh+k > this.DB) { + this.data[this.t-1] |= (x&((1<<(this.DB-sh))-1))<>(this.DB-sh)); + } else + this.data[this.t-1] |= x<= this.DB) sh -= this.DB; + } + if(k == 8 && (s[0]&0x80) != 0) { + this.s = -1; + if(sh > 0) this.data[this.t-1] |= ((1<<(this.DB-sh))-1)< 0 && this.data[this.t-1] == c) --this.t; +} + +// (public) return string representation in given radix +function bnToString(b) { + if(this.s < 0) return "-"+this.negate().toString(b); + var k; + if(b == 16) k = 4; + else if(b == 8) k = 3; + else if(b == 2) k = 1; + else if(b == 32) k = 5; + else if(b == 4) k = 2; + else return this.toRadix(b); + var km = (1< 0) { + if(p < this.DB && (d = this.data[i]>>p) > 0) { m = true; r = int2char(d); } + while(i >= 0) { + if(p < k) { + d = (this.data[i]&((1<>(p+=this.DB-k); + } else { + d = (this.data[i]>>(p-=k))&km; + if(p <= 0) { p += this.DB; --i; } + } + if(d > 0) m = true; + if(m) r += int2char(d); + } + } + return m?r:"0"; +} + +// (public) -this +function bnNegate() { var r = nbi(); BigInteger.ZERO.subTo(this,r); return r; } + +// (public) |this| +function bnAbs() { return (this.s<0)?this.negate():this; } + +// (public) return + if this > a, - if this < a, 0 if equal +function bnCompareTo(a) { + var r = this.s-a.s; + if(r != 0) return r; + var i = this.t; + r = i-a.t; + if(r != 0) return (this.s<0)?-r:r; + while(--i >= 0) if((r=this.data[i]-a.data[i]) != 0) return r; + return 0; +} + +// returns bit length of the integer x +function nbits(x) { + var r = 1, t; + if((t=x>>>16) != 0) { x = t; r += 16; } + if((t=x>>8) != 0) { x = t; r += 8; } + if((t=x>>4) != 0) { x = t; r += 4; } + if((t=x>>2) != 0) { x = t; r += 2; } + if((t=x>>1) != 0) { x = t; r += 1; } + return r; +} + +// (public) return the number of bits in "this" +function bnBitLength() { + if(this.t <= 0) return 0; + return this.DB*(this.t-1)+nbits(this.data[this.t-1]^(this.s&this.DM)); +} + +// (protected) r = this << n*DB +function bnpDLShiftTo(n,r) { + var i; + for(i = this.t-1; i >= 0; --i) r.data[i+n] = this.data[i]; + for(i = n-1; i >= 0; --i) r.data[i] = 0; + r.t = this.t+n; + r.s = this.s; +} + +// (protected) r = this >> n*DB +function bnpDRShiftTo(n,r) { + for(var i = n; i < this.t; ++i) r.data[i-n] = this.data[i]; + r.t = Math.max(this.t-n,0); + r.s = this.s; +} + +// (protected) r = this << n +function bnpLShiftTo(n,r) { + var bs = n%this.DB; + var cbs = this.DB-bs; + var bm = (1<= 0; --i) { + r.data[i+ds+1] = (this.data[i]>>cbs)|c; + c = (this.data[i]&bm)<= 0; --i) r.data[i] = 0; + r.data[ds] = c; + r.t = this.t+ds+1; + r.s = this.s; + r.clamp(); +} + +// (protected) r = this >> n +function bnpRShiftTo(n,r) { + r.s = this.s; + var ds = Math.floor(n/this.DB); + if(ds >= this.t) { r.t = 0; return; } + var bs = n%this.DB; + var cbs = this.DB-bs; + var bm = (1<>bs; + for(var i = ds+1; i < this.t; ++i) { + r.data[i-ds-1] |= (this.data[i]&bm)<>bs; + } + if(bs > 0) r.data[this.t-ds-1] |= (this.s&bm)<>= this.DB; + } + if(a.t < this.t) { + c -= a.s; + while(i < this.t) { + c += this.data[i]; + r.data[i++] = c&this.DM; + c >>= this.DB; + } + c += this.s; + } else { + c += this.s; + while(i < a.t) { + c -= a.data[i]; + r.data[i++] = c&this.DM; + c >>= this.DB; + } + c -= a.s; + } + r.s = (c<0)?-1:0; + if(c < -1) r.data[i++] = this.DV+c; + else if(c > 0) r.data[i++] = c; + r.t = i; + r.clamp(); +} + +// (protected) r = this * a, r != this,a (HAC 14.12) +// "this" should be the larger one if appropriate. +function bnpMultiplyTo(a,r) { + var x = this.abs(), y = a.abs(); + var i = x.t; + r.t = i+y.t; + while(--i >= 0) r.data[i] = 0; + for(i = 0; i < y.t; ++i) r.data[i+x.t] = x.am(0,y.data[i],r,i,0,x.t); + r.s = 0; + r.clamp(); + if(this.s != a.s) BigInteger.ZERO.subTo(r,r); +} + +// (protected) r = this^2, r != this (HAC 14.16) +function bnpSquareTo(r) { + var x = this.abs(); + var i = r.t = 2*x.t; + while(--i >= 0) r.data[i] = 0; + for(i = 0; i < x.t-1; ++i) { + var c = x.am(i,x.data[i],r,2*i,0,1); + if((r.data[i+x.t]+=x.am(i+1,2*x.data[i],r,2*i+1,c,x.t-i-1)) >= x.DV) { + r.data[i+x.t] -= x.DV; + r.data[i+x.t+1] = 1; + } + } + if(r.t > 0) r.data[r.t-1] += x.am(i,x.data[i],r,2*i,0,1); + r.s = 0; + r.clamp(); +} + +// (protected) divide this by m, quotient and remainder to q, r (HAC 14.20) +// r != q, this != m. q or r may be null. +function bnpDivRemTo(m,q,r) { + var pm = m.abs(); + if(pm.t <= 0) return; + var pt = this.abs(); + if(pt.t < pm.t) { + if(q != null) q.fromInt(0); + if(r != null) this.copyTo(r); + return; + } + if(r == null) r = nbi(); + var y = nbi(), ts = this.s, ms = m.s; + var nsh = this.DB-nbits(pm.data[pm.t-1]); // normalize modulus + if(nsh > 0) { pm.lShiftTo(nsh,y); pt.lShiftTo(nsh,r); } else { pm.copyTo(y); pt.copyTo(r); } + var ys = y.t; + var y0 = y.data[ys-1]; + if(y0 == 0) return; + var yt = y0*(1<1)?y.data[ys-2]>>this.F2:0); + var d1 = this.FV/yt, d2 = (1<= 0) { + r.data[r.t++] = 1; + r.subTo(t,r); + } + BigInteger.ONE.dlShiftTo(ys,t); + t.subTo(y,y); // "negative" y so we can replace sub with am later + while(y.t < ys) y.data[y.t++] = 0; + while(--j >= 0) { + // Estimate quotient digit + var qd = (r.data[--i]==y0)?this.DM:Math.floor(r.data[i]*d1+(r.data[i-1]+e)*d2); + if((r.data[i]+=y.am(0,qd,r,j,0,ys)) < qd) { // Try it out + y.dlShiftTo(j,t); + r.subTo(t,r); + while(r.data[i] < --qd) r.subTo(t,r); + } + } + if(q != null) { + r.drShiftTo(ys,q); + if(ts != ms) BigInteger.ZERO.subTo(q,q); + } + r.t = ys; + r.clamp(); + if(nsh > 0) r.rShiftTo(nsh,r); // Denormalize remainder + if(ts < 0) BigInteger.ZERO.subTo(r,r); +} + +// (public) this mod a +function bnMod(a) { + var r = nbi(); + this.abs().divRemTo(a,null,r); + if(this.s < 0 && r.compareTo(BigInteger.ZERO) > 0) a.subTo(r,r); + return r; +} + +// Modular reduction using "classic" algorithm +function Classic(m) { this.m = m; } +function cConvert(x) { + if(x.s < 0 || x.compareTo(this.m) >= 0) return x.mod(this.m); + else return x; +} +function cRevert(x) { return x; } +function cReduce(x) { x.divRemTo(this.m,null,x); } +function cMulTo(x,y,r) { x.multiplyTo(y,r); this.reduce(r); } +function cSqrTo(x,r) { x.squareTo(r); this.reduce(r); } + +Classic.prototype.convert = cConvert; +Classic.prototype.revert = cRevert; +Classic.prototype.reduce = cReduce; +Classic.prototype.mulTo = cMulTo; +Classic.prototype.sqrTo = cSqrTo; + +// (protected) return "-1/this % 2^DB"; useful for Mont. reduction +// justification: +// xy == 1 (mod m) +// xy = 1+km +// xy(2-xy) = (1+km)(1-km) +// x[y(2-xy)] = 1-k^2m^2 +// x[y(2-xy)] == 1 (mod m^2) +// if y is 1/x mod m, then y(2-xy) is 1/x mod m^2 +// should reduce x and y(2-xy) by m^2 at each step to keep size bounded. +// JS multiply "overflows" differently from C/C++, so care is needed here. +function bnpInvDigit() { + if(this.t < 1) return 0; + var x = this.data[0]; + if((x&1) == 0) return 0; + var y = x&3; // y == 1/x mod 2^2 + y = (y*(2-(x&0xf)*y))&0xf; // y == 1/x mod 2^4 + y = (y*(2-(x&0xff)*y))&0xff; // y == 1/x mod 2^8 + y = (y*(2-(((x&0xffff)*y)&0xffff)))&0xffff; // y == 1/x mod 2^16 + // last step - calculate inverse mod DV directly; + // assumes 16 < DB <= 32 and assumes ability to handle 48-bit ints + y = (y*(2-x*y%this.DV))%this.DV; // y == 1/x mod 2^dbits + // we really want the negative inverse, and -DV < y < DV + return (y>0)?this.DV-y:-y; +} + +// Montgomery reduction +function Montgomery(m) { + this.m = m; + this.mp = m.invDigit(); + this.mpl = this.mp&0x7fff; + this.mph = this.mp>>15; + this.um = (1<<(m.DB-15))-1; + this.mt2 = 2*m.t; +} + +// xR mod m +function montConvert(x) { + var r = nbi(); + x.abs().dlShiftTo(this.m.t,r); + r.divRemTo(this.m,null,r); + if(x.s < 0 && r.compareTo(BigInteger.ZERO) > 0) this.m.subTo(r,r); + return r; +} + +// x/R mod m +function montRevert(x) { + var r = nbi(); + x.copyTo(r); + this.reduce(r); + return r; +} + +// x = x/R mod m (HAC 14.32) +function montReduce(x) { + while(x.t <= this.mt2) // pad x so am has enough room later + x.data[x.t++] = 0; + for(var i = 0; i < this.m.t; ++i) { + // faster way of calculating u0 = x.data[i]*mp mod DV + var j = x.data[i]&0x7fff; + var u0 = (j*this.mpl+(((j*this.mph+(x.data[i]>>15)*this.mpl)&this.um)<<15))&x.DM; + // use am to combine the multiply-shift-add into one call + j = i+this.m.t; + x.data[j] += this.m.am(0,u0,x,i,0,this.m.t); + // propagate carry + while(x.data[j] >= x.DV) { x.data[j] -= x.DV; x.data[++j]++; } + } + x.clamp(); + x.drShiftTo(this.m.t,x); + if(x.compareTo(this.m) >= 0) x.subTo(this.m,x); +} + +// r = "x^2/R mod m"; x != r +function montSqrTo(x,r) { x.squareTo(r); this.reduce(r); } + +// r = "xy/R mod m"; x,y != r +function montMulTo(x,y,r) { x.multiplyTo(y,r); this.reduce(r); } + +Montgomery.prototype.convert = montConvert; +Montgomery.prototype.revert = montRevert; +Montgomery.prototype.reduce = montReduce; +Montgomery.prototype.mulTo = montMulTo; +Montgomery.prototype.sqrTo = montSqrTo; + +// (protected) true iff this is even +function bnpIsEven() { return ((this.t>0)?(this.data[0]&1):this.s) == 0; } + +// (protected) this^e, e < 2^32, doing sqr and mul with "r" (HAC 14.79) +function bnpExp(e,z) { + if(e > 0xffffffff || e < 1) return BigInteger.ONE; + var r = nbi(), r2 = nbi(), g = z.convert(this), i = nbits(e)-1; + g.copyTo(r); + while(--i >= 0) { + z.sqrTo(r,r2); + if((e&(1< 0) z.mulTo(r2,g,r); + else { var t = r; r = r2; r2 = t; } + } + return z.revert(r); +} + +// (public) this^e % m, 0 <= e < 2^32 +function bnModPowInt(e,m) { + var z; + if(e < 256 || m.isEven()) z = new Classic(m); else z = new Montgomery(m); + return this.exp(e,z); +} + +// protected +BigInteger.prototype.copyTo = bnpCopyTo; +BigInteger.prototype.fromInt = bnpFromInt; +BigInteger.prototype.fromString = bnpFromString; +BigInteger.prototype.clamp = bnpClamp; +BigInteger.prototype.dlShiftTo = bnpDLShiftTo; +BigInteger.prototype.drShiftTo = bnpDRShiftTo; +BigInteger.prototype.lShiftTo = bnpLShiftTo; +BigInteger.prototype.rShiftTo = bnpRShiftTo; +BigInteger.prototype.subTo = bnpSubTo; +BigInteger.prototype.multiplyTo = bnpMultiplyTo; +BigInteger.prototype.squareTo = bnpSquareTo; +BigInteger.prototype.divRemTo = bnpDivRemTo; +BigInteger.prototype.invDigit = bnpInvDigit; +BigInteger.prototype.isEven = bnpIsEven; +BigInteger.prototype.exp = bnpExp; + +// public +BigInteger.prototype.toString = bnToString; +BigInteger.prototype.negate = bnNegate; +BigInteger.prototype.abs = bnAbs; +BigInteger.prototype.compareTo = bnCompareTo; +BigInteger.prototype.bitLength = bnBitLength; +BigInteger.prototype.mod = bnMod; +BigInteger.prototype.modPowInt = bnModPowInt; + +// "constants" +BigInteger.ZERO = nbv(0); +BigInteger.ONE = nbv(1); + +// jsbn2 lib + +//Copyright (c) 2005-2009 Tom Wu +//All Rights Reserved. +//See "LICENSE" for details (See jsbn.js for LICENSE). + +//Extended JavaScript BN functions, required for RSA private ops. + +//Version 1.1: new BigInteger("0", 10) returns "proper" zero + +//(public) +function bnClone() { var r = nbi(); this.copyTo(r); return r; } + +//(public) return value as integer +function bnIntValue() { +if(this.s < 0) { + if(this.t == 1) return this.data[0]-this.DV; + else if(this.t == 0) return -1; +} else if(this.t == 1) return this.data[0]; +else if(this.t == 0) return 0; +// assumes 16 < DB < 32 +return ((this.data[1]&((1<<(32-this.DB))-1))<>24; } + +//(public) return value as short (assumes DB>=16) +function bnShortValue() { return (this.t==0)?this.s:(this.data[0]<<16)>>16; } + +//(protected) return x s.t. r^x < DV +function bnpChunkSize(r) { return Math.floor(Math.LN2*this.DB/Math.log(r)); } + +//(public) 0 if this == 0, 1 if this > 0 +function bnSigNum() { +if(this.s < 0) return -1; +else if(this.t <= 0 || (this.t == 1 && this.data[0] <= 0)) return 0; +else return 1; +} + +//(protected) convert to radix string +function bnpToRadix(b) { +if(b == null) b = 10; +if(this.signum() == 0 || b < 2 || b > 36) return "0"; +var cs = this.chunkSize(b); +var a = Math.pow(b,cs); +var d = nbv(a), y = nbi(), z = nbi(), r = ""; +this.divRemTo(d,y,z); +while(y.signum() > 0) { + r = (a+z.intValue()).toString(b).substr(1) + r; + y.divRemTo(d,y,z); +} +return z.intValue().toString(b) + r; +} + +//(protected) convert from radix string +function bnpFromRadix(s,b) { +this.fromInt(0); +if(b == null) b = 10; +var cs = this.chunkSize(b); +var d = Math.pow(b,cs), mi = false, j = 0, w = 0; +for(var i = 0; i < s.length; ++i) { + var x = intAt(s,i); + if(x < 0) { + if(s.charAt(i) == "-" && this.signum() == 0) mi = true; + continue; + } + w = b*w+x; + if(++j >= cs) { + this.dMultiply(d); + this.dAddOffset(w,0); + j = 0; + w = 0; + } +} +if(j > 0) { + this.dMultiply(Math.pow(b,j)); + this.dAddOffset(w,0); +} +if(mi) BigInteger.ZERO.subTo(this,this); +} + +//(protected) alternate constructor +function bnpFromNumber(a,b,c) { +if("number" == typeof b) { + // new BigInteger(int,int,RNG) + if(a < 2) this.fromInt(1); + else { + this.fromNumber(a,c); + if(!this.testBit(a-1)) // force MSB set + this.bitwiseTo(BigInteger.ONE.shiftLeft(a-1),op_or,this); + if(this.isEven()) this.dAddOffset(1,0); // force odd + while(!this.isProbablePrime(b)) { + this.dAddOffset(2,0); + if(this.bitLength() > a) this.subTo(BigInteger.ONE.shiftLeft(a-1),this); + } + } +} else { + // new BigInteger(int,RNG) + var x = new Array(), t = a&7; + x.length = (a>>3)+1; + b.nextBytes(x); + if(t > 0) x[0] &= ((1< 0) { + if(p < this.DB && (d = this.data[i]>>p) != (this.s&this.DM)>>p) + r[k++] = d|(this.s<<(this.DB-p)); + while(i >= 0) { + if(p < 8) { + d = (this.data[i]&((1<>(p+=this.DB-8); + } else { + d = (this.data[i]>>(p-=8))&0xff; + if(p <= 0) { p += this.DB; --i; } + } + if((d&0x80) != 0) d |= -256; + if(k == 0 && (this.s&0x80) != (d&0x80)) ++k; + if(k > 0 || d != this.s) r[k++] = d; + } +} +return r; +} + +function bnEquals(a) { return(this.compareTo(a)==0); } +function bnMin(a) { return(this.compareTo(a)<0)?this:a; } +function bnMax(a) { return(this.compareTo(a)>0)?this:a; } + +//(protected) r = this op a (bitwise) +function bnpBitwiseTo(a,op,r) { +var i, f, m = Math.min(a.t,this.t); +for(i = 0; i < m; ++i) r.data[i] = op(this.data[i],a.data[i]); +if(a.t < this.t) { + f = a.s&this.DM; + for(i = m; i < this.t; ++i) r.data[i] = op(this.data[i],f); + r.t = this.t; +} else { + f = this.s&this.DM; + for(i = m; i < a.t; ++i) r.data[i] = op(f,a.data[i]); + r.t = a.t; +} +r.s = op(this.s,a.s); +r.clamp(); +} + +//(public) this & a +function op_and(x,y) { return x&y; } +function bnAnd(a) { var r = nbi(); this.bitwiseTo(a,op_and,r); return r; } + +//(public) this | a +function op_or(x,y) { return x|y; } +function bnOr(a) { var r = nbi(); this.bitwiseTo(a,op_or,r); return r; } + +//(public) this ^ a +function op_xor(x,y) { return x^y; } +function bnXor(a) { var r = nbi(); this.bitwiseTo(a,op_xor,r); return r; } + +//(public) this & ~a +function op_andnot(x,y) { return x&~y; } +function bnAndNot(a) { var r = nbi(); this.bitwiseTo(a,op_andnot,r); return r; } + +//(public) ~this +function bnNot() { +var r = nbi(); +for(var i = 0; i < this.t; ++i) r.data[i] = this.DM&~this.data[i]; +r.t = this.t; +r.s = ~this.s; +return r; +} + +//(public) this << n +function bnShiftLeft(n) { +var r = nbi(); +if(n < 0) this.rShiftTo(-n,r); else this.lShiftTo(n,r); +return r; +} + +//(public) this >> n +function bnShiftRight(n) { +var r = nbi(); +if(n < 0) this.lShiftTo(-n,r); else this.rShiftTo(n,r); +return r; +} + +//return index of lowest 1-bit in x, x < 2^31 +function lbit(x) { +if(x == 0) return -1; +var r = 0; +if((x&0xffff) == 0) { x >>= 16; r += 16; } +if((x&0xff) == 0) { x >>= 8; r += 8; } +if((x&0xf) == 0) { x >>= 4; r += 4; } +if((x&3) == 0) { x >>= 2; r += 2; } +if((x&1) == 0) ++r; +return r; +} + +//(public) returns index of lowest 1-bit (or -1 if none) +function bnGetLowestSetBit() { +for(var i = 0; i < this.t; ++i) + if(this.data[i] != 0) return i*this.DB+lbit(this.data[i]); +if(this.s < 0) return this.t*this.DB; +return -1; +} + +//return number of 1 bits in x +function cbit(x) { +var r = 0; +while(x != 0) { x &= x-1; ++r; } +return r; +} + +//(public) return number of set bits +function bnBitCount() { +var r = 0, x = this.s&this.DM; +for(var i = 0; i < this.t; ++i) r += cbit(this.data[i]^x); +return r; +} + +//(public) true iff nth bit is set +function bnTestBit(n) { +var j = Math.floor(n/this.DB); +if(j >= this.t) return(this.s!=0); +return((this.data[j]&(1<<(n%this.DB)))!=0); +} + +//(protected) this op (1<>= this.DB; +} +if(a.t < this.t) { + c += a.s; + while(i < this.t) { + c += this.data[i]; + r.data[i++] = c&this.DM; + c >>= this.DB; + } + c += this.s; +} else { + c += this.s; + while(i < a.t) { + c += a.data[i]; + r.data[i++] = c&this.DM; + c >>= this.DB; + } + c += a.s; +} +r.s = (c<0)?-1:0; +if(c > 0) r.data[i++] = c; +else if(c < -1) r.data[i++] = this.DV+c; +r.t = i; +r.clamp(); +} + +//(public) this + a +function bnAdd(a) { var r = nbi(); this.addTo(a,r); return r; } + +//(public) this - a +function bnSubtract(a) { var r = nbi(); this.subTo(a,r); return r; } + +//(public) this * a +function bnMultiply(a) { var r = nbi(); this.multiplyTo(a,r); return r; } + +//(public) this / a +function bnDivide(a) { var r = nbi(); this.divRemTo(a,r,null); return r; } + +//(public) this % a +function bnRemainder(a) { var r = nbi(); this.divRemTo(a,null,r); return r; } + +//(public) [this/a,this%a] +function bnDivideAndRemainder(a) { +var q = nbi(), r = nbi(); +this.divRemTo(a,q,r); +return new Array(q,r); +} + +//(protected) this *= n, this >= 0, 1 < n < DV +function bnpDMultiply(n) { +this.data[this.t] = this.am(0,n-1,this,0,0,this.t); +++this.t; +this.clamp(); +} + +//(protected) this += n << w words, this >= 0 +function bnpDAddOffset(n,w) { +if(n == 0) return; +while(this.t <= w) this.data[this.t++] = 0; +this.data[w] += n; +while(this.data[w] >= this.DV) { + this.data[w] -= this.DV; + if(++w >= this.t) this.data[this.t++] = 0; + ++this.data[w]; +} +} + +//A "null" reducer +function NullExp() {} +function nNop(x) { return x; } +function nMulTo(x,y,r) { x.multiplyTo(y,r); } +function nSqrTo(x,r) { x.squareTo(r); } + +NullExp.prototype.convert = nNop; +NullExp.prototype.revert = nNop; +NullExp.prototype.mulTo = nMulTo; +NullExp.prototype.sqrTo = nSqrTo; + +//(public) this^e +function bnPow(e) { return this.exp(e,new NullExp()); } + +//(protected) r = lower n words of "this * a", a.t <= n +//"this" should be the larger one if appropriate. +function bnpMultiplyLowerTo(a,n,r) { +var i = Math.min(this.t+a.t,n); +r.s = 0; // assumes a,this >= 0 +r.t = i; +while(i > 0) r.data[--i] = 0; +var j; +for(j = r.t-this.t; i < j; ++i) r.data[i+this.t] = this.am(0,a.data[i],r,i,0,this.t); +for(j = Math.min(a.t,n); i < j; ++i) this.am(0,a.data[i],r,i,0,n-i); +r.clamp(); +} + +//(protected) r = "this * a" without lower n words, n > 0 +//"this" should be the larger one if appropriate. +function bnpMultiplyUpperTo(a,n,r) { +--n; +var i = r.t = this.t+a.t-n; +r.s = 0; // assumes a,this >= 0 +while(--i >= 0) r.data[i] = 0; +for(i = Math.max(n-this.t,0); i < a.t; ++i) + r.data[this.t+i-n] = this.am(n-i,a.data[i],r,0,0,this.t+i-n); +r.clamp(); +r.drShiftTo(1,r); +} + +//Barrett modular reduction +function Barrett(m) { +// setup Barrett +this.r2 = nbi(); +this.q3 = nbi(); +BigInteger.ONE.dlShiftTo(2*m.t,this.r2); +this.mu = this.r2.divide(m); +this.m = m; +} + +function barrettConvert(x) { +if(x.s < 0 || x.t > 2*this.m.t) return x.mod(this.m); +else if(x.compareTo(this.m) < 0) return x; +else { var r = nbi(); x.copyTo(r); this.reduce(r); return r; } +} + +function barrettRevert(x) { return x; } + +//x = x mod m (HAC 14.42) +function barrettReduce(x) { +x.drShiftTo(this.m.t-1,this.r2); +if(x.t > this.m.t+1) { x.t = this.m.t+1; x.clamp(); } +this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3); +this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2); +while(x.compareTo(this.r2) < 0) x.dAddOffset(1,this.m.t+1); +x.subTo(this.r2,x); +while(x.compareTo(this.m) >= 0) x.subTo(this.m,x); +} + +//r = x^2 mod m; x != r +function barrettSqrTo(x,r) { x.squareTo(r); this.reduce(r); } + +//r = x*y mod m; x,y != r +function barrettMulTo(x,y,r) { x.multiplyTo(y,r); this.reduce(r); } + +Barrett.prototype.convert = barrettConvert; +Barrett.prototype.revert = barrettRevert; +Barrett.prototype.reduce = barrettReduce; +Barrett.prototype.mulTo = barrettMulTo; +Barrett.prototype.sqrTo = barrettSqrTo; + +//(public) this^e % m (HAC 14.85) +function bnModPow(e,m) { +var i = e.bitLength(), k, r = nbv(1), z; +if(i <= 0) return r; +else if(i < 18) k = 1; +else if(i < 48) k = 3; +else if(i < 144) k = 4; +else if(i < 768) k = 5; +else k = 6; +if(i < 8) + z = new Classic(m); +else if(m.isEven()) + z = new Barrett(m); +else + z = new Montgomery(m); + +// precomputation +var g = new Array(), n = 3, k1 = k-1, km = (1< 1) { + var g2 = nbi(); + z.sqrTo(g[1],g2); + while(n <= km) { + g[n] = nbi(); + z.mulTo(g2,g[n-2],g[n]); + n += 2; + } +} + +var j = e.t-1, w, is1 = true, r2 = nbi(), t; +i = nbits(e.data[j])-1; +while(j >= 0) { + if(i >= k1) w = (e.data[j]>>(i-k1))&km; + else { + w = (e.data[j]&((1<<(i+1))-1))<<(k1-i); + if(j > 0) w |= e.data[j-1]>>(this.DB+i-k1); + } + + n = k; + while((w&1) == 0) { w >>= 1; --n; } + if((i -= n) < 0) { i += this.DB; --j; } + if(is1) { // ret == 1, don't bother squaring or multiplying it + g[w].copyTo(r); + is1 = false; + } else { + while(n > 1) { z.sqrTo(r,r2); z.sqrTo(r2,r); n -= 2; } + if(n > 0) z.sqrTo(r,r2); else { t = r; r = r2; r2 = t; } + z.mulTo(r2,g[w],r); + } + + while(j >= 0 && (e.data[j]&(1< 0) { + x.rShiftTo(g,x); + y.rShiftTo(g,y); +} +while(x.signum() > 0) { + if((i = x.getLowestSetBit()) > 0) x.rShiftTo(i,x); + if((i = y.getLowestSetBit()) > 0) y.rShiftTo(i,y); + if(x.compareTo(y) >= 0) { + x.subTo(y,x); + x.rShiftTo(1,x); + } else { + y.subTo(x,y); + y.rShiftTo(1,y); + } +} +if(g > 0) y.lShiftTo(g,y); +return y; +} + +//(protected) this % n, n < 2^26 +function bnpModInt(n) { +if(n <= 0) return 0; +var d = this.DV%n, r = (this.s<0)?n-1:0; +if(this.t > 0) + if(d == 0) r = this.data[0]%n; + else for(var i = this.t-1; i >= 0; --i) r = (d*r+this.data[i])%n; +return r; +} + +//(public) 1/this % m (HAC 14.61) +function bnModInverse(m) { +var ac = m.isEven(); +if((this.isEven() && ac) || m.signum() == 0) return BigInteger.ZERO; +var u = m.clone(), v = this.clone(); +var a = nbv(1), b = nbv(0), c = nbv(0), d = nbv(1); +while(u.signum() != 0) { + while(u.isEven()) { + u.rShiftTo(1,u); + if(ac) { + if(!a.isEven() || !b.isEven()) { a.addTo(this,a); b.subTo(m,b); } + a.rShiftTo(1,a); + } else if(!b.isEven()) b.subTo(m,b); + b.rShiftTo(1,b); + } + while(v.isEven()) { + v.rShiftTo(1,v); + if(ac) { + if(!c.isEven() || !d.isEven()) { c.addTo(this,c); d.subTo(m,d); } + c.rShiftTo(1,c); + } else if(!d.isEven()) d.subTo(m,d); + d.rShiftTo(1,d); + } + if(u.compareTo(v) >= 0) { + u.subTo(v,u); + if(ac) a.subTo(c,a); + b.subTo(d,b); + } else { + v.subTo(u,v); + if(ac) c.subTo(a,c); + d.subTo(b,d); + } +} +if(v.compareTo(BigInteger.ONE) != 0) return BigInteger.ZERO; +if(d.compareTo(m) >= 0) return d.subtract(m); +if(d.signum() < 0) d.addTo(m,d); else return d; +if(d.signum() < 0) return d.add(m); else return d; +} + +var lowprimes = [2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509]; +var lplim = (1<<26)/lowprimes[lowprimes.length-1]; + +//(public) test primality with certainty >= 1-.5^t +function bnIsProbablePrime(t) { +var i, x = this.abs(); +if(x.t == 1 && x.data[0] <= lowprimes[lowprimes.length-1]) { + for(i = 0; i < lowprimes.length; ++i) + if(x.data[0] == lowprimes[i]) return true; + return false; +} +if(x.isEven()) return false; +i = 1; +while(i < lowprimes.length) { + var m = lowprimes[i], j = i+1; + while(j < lowprimes.length && m < lplim) m *= lowprimes[j++]; + m = x.modInt(m); + while(i < j) if(m%lowprimes[i++] == 0) return false; +} +return x.millerRabin(t); +} + +//(protected) true if probably prime (HAC 4.24, Miller-Rabin) +function bnpMillerRabin(t) { +var n1 = this.subtract(BigInteger.ONE); +var k = n1.getLowestSetBit(); +if(k <= 0) return false; +var r = n1.shiftRight(k); +var prng = bnGetPrng(); +var a; +for(var i = 0; i < t; ++i) { + // select witness 'a' at random from between 1 and n1 + do { + a = new BigInteger(this.bitLength(), prng); + } + while(a.compareTo(BigInteger.ONE) <= 0 || a.compareTo(n1) >= 0); + var y = a.modPow(r,this); + if(y.compareTo(BigInteger.ONE) != 0 && y.compareTo(n1) != 0) { + var j = 1; + while(j++ < k && y.compareTo(n1) != 0) { + y = y.modPowInt(2,this); + if(y.compareTo(BigInteger.ONE) == 0) return false; + } + if(y.compareTo(n1) != 0) return false; + } +} +return true; +} + +// get pseudo random number generator +function bnGetPrng() { + // create prng with api that matches BigInteger secure random + return { + // x is an array to fill with bytes + nextBytes: function(x) { + for(var i = 0; i < x.length; ++i) { + x[i] = Math.floor(Math.random() * 0x0100); + } + } + }; +} + +//protected +BigInteger.prototype.chunkSize = bnpChunkSize; +BigInteger.prototype.toRadix = bnpToRadix; +BigInteger.prototype.fromRadix = bnpFromRadix; +BigInteger.prototype.fromNumber = bnpFromNumber; +BigInteger.prototype.bitwiseTo = bnpBitwiseTo; +BigInteger.prototype.changeBit = bnpChangeBit; +BigInteger.prototype.addTo = bnpAddTo; +BigInteger.prototype.dMultiply = bnpDMultiply; +BigInteger.prototype.dAddOffset = bnpDAddOffset; +BigInteger.prototype.multiplyLowerTo = bnpMultiplyLowerTo; +BigInteger.prototype.multiplyUpperTo = bnpMultiplyUpperTo; +BigInteger.prototype.modInt = bnpModInt; +BigInteger.prototype.millerRabin = bnpMillerRabin; + +//public +BigInteger.prototype.clone = bnClone; +BigInteger.prototype.intValue = bnIntValue; +BigInteger.prototype.byteValue = bnByteValue; +BigInteger.prototype.shortValue = bnShortValue; +BigInteger.prototype.signum = bnSigNum; +BigInteger.prototype.toByteArray = bnToByteArray; +BigInteger.prototype.equals = bnEquals; +BigInteger.prototype.min = bnMin; +BigInteger.prototype.max = bnMax; +BigInteger.prototype.and = bnAnd; +BigInteger.prototype.or = bnOr; +BigInteger.prototype.xor = bnXor; +BigInteger.prototype.andNot = bnAndNot; +BigInteger.prototype.not = bnNot; +BigInteger.prototype.shiftLeft = bnShiftLeft; +BigInteger.prototype.shiftRight = bnShiftRight; +BigInteger.prototype.getLowestSetBit = bnGetLowestSetBit; +BigInteger.prototype.bitCount = bnBitCount; +BigInteger.prototype.testBit = bnTestBit; +BigInteger.prototype.setBit = bnSetBit; +BigInteger.prototype.clearBit = bnClearBit; +BigInteger.prototype.flipBit = bnFlipBit; +BigInteger.prototype.add = bnAdd; +BigInteger.prototype.subtract = bnSubtract; +BigInteger.prototype.multiply = bnMultiply; +BigInteger.prototype.divide = bnDivide; +BigInteger.prototype.remainder = bnRemainder; +BigInteger.prototype.divideAndRemainder = bnDivideAndRemainder; +BigInteger.prototype.modPow = bnModPow; +BigInteger.prototype.modInverse = bnModInverse; +BigInteger.prototype.pow = bnPow; +BigInteger.prototype.gcd = bnGCD; +BigInteger.prototype.isProbablePrime = bnIsProbablePrime; + +//BigInteger interfaces not implemented in jsbn: + +//BigInteger(int signum, byte[] magnitude) +//double doubleValue() +//float floatValue() +//int hashCode() +//long longValue() +//static BigInteger valueOf(long val) diff --git a/express-server/node_modules/node-forge/lib/kem.js b/express-server/node_modules/node-forge/lib/kem.js new file mode 100644 index 00000000..f2d8d780 --- /dev/null +++ b/express-server/node_modules/node-forge/lib/kem.js @@ -0,0 +1,168 @@ +/** + * Javascript implementation of RSA-KEM. + * + * @author Lautaro Cozzani Rodriguez + * @author Dave Longley + * + * Copyright (c) 2014 Lautaro Cozzani + * Copyright (c) 2014 Digital Bazaar, Inc. + */ +var forge = require('./forge'); +require('./util'); +require('./random'); +require('./jsbn'); + +module.exports = forge.kem = forge.kem || {}; + +var BigInteger = forge.jsbn.BigInteger; + +/** + * The API for the RSA Key Encapsulation Mechanism (RSA-KEM) from ISO 18033-2. + */ +forge.kem.rsa = {}; + +/** + * Creates an RSA KEM API object for generating a secret asymmetric key. + * + * The symmetric key may be generated via a call to 'encrypt', which will + * produce a ciphertext to be transmitted to the recipient and a key to be + * kept secret. The ciphertext is a parameter to be passed to 'decrypt' which + * will produce the same secret key for the recipient to use to decrypt a + * message that was encrypted with the secret key. + * + * @param kdf the KDF API to use (eg: new forge.kem.kdf1()). + * @param options the options to use. + * [prng] a custom crypto-secure pseudo-random number generator to use, + * that must define "getBytesSync". + */ +forge.kem.rsa.create = function(kdf, options) { + options = options || {}; + var prng = options.prng || forge.random; + + var kem = {}; + + /** + * Generates a secret key and its encapsulation. + * + * @param publicKey the RSA public key to encrypt with. + * @param keyLength the length, in bytes, of the secret key to generate. + * + * @return an object with: + * encapsulation: the ciphertext for generating the secret key, as a + * binary-encoded string of bytes. + * key: the secret key to use for encrypting a message. + */ + kem.encrypt = function(publicKey, keyLength) { + // generate a random r where 1 > r > n + var byteLength = Math.ceil(publicKey.n.bitLength() / 8); + var r; + do { + r = new BigInteger( + forge.util.bytesToHex(prng.getBytesSync(byteLength)), + 16).mod(publicKey.n); + } while(r.equals(BigInteger.ZERO)); + + // prepend r with zeros + r = forge.util.hexToBytes(r.toString(16)); + var zeros = byteLength - r.length; + if(zeros > 0) { + r = forge.util.fillString(String.fromCharCode(0), zeros) + r; + } + + // encrypt the random + var encapsulation = publicKey.encrypt(r, 'NONE'); + + // generate the secret key + var key = kdf.generate(r, keyLength); + + return {encapsulation: encapsulation, key: key}; + }; + + /** + * Decrypts an encapsulated secret key. + * + * @param privateKey the RSA private key to decrypt with. + * @param encapsulation the ciphertext for generating the secret key, as + * a binary-encoded string of bytes. + * @param keyLength the length, in bytes, of the secret key to generate. + * + * @return the secret key as a binary-encoded string of bytes. + */ + kem.decrypt = function(privateKey, encapsulation, keyLength) { + // decrypt the encapsulation and generate the secret key + var r = privateKey.decrypt(encapsulation, 'NONE'); + return kdf.generate(r, keyLength); + }; + + return kem; +}; + +// TODO: add forge.kem.kdf.create('KDF1', {md: ..., ...}) API? + +/** + * Creates a key derivation API object that implements KDF1 per ISO 18033-2. + * + * @param md the hash API to use. + * @param [digestLength] an optional digest length that must be positive and + * less than or equal to md.digestLength. + * + * @return a KDF1 API object. + */ +forge.kem.kdf1 = function(md, digestLength) { + _createKDF(this, md, 0, digestLength || md.digestLength); +}; + +/** + * Creates a key derivation API object that implements KDF2 per ISO 18033-2. + * + * @param md the hash API to use. + * @param [digestLength] an optional digest length that must be positive and + * less than or equal to md.digestLength. + * + * @return a KDF2 API object. + */ +forge.kem.kdf2 = function(md, digestLength) { + _createKDF(this, md, 1, digestLength || md.digestLength); +}; + +/** + * Creates a KDF1 or KDF2 API object. + * + * @param md the hash API to use. + * @param counterStart the starting index for the counter. + * @param digestLength the digest length to use. + * + * @return the KDF API object. + */ +function _createKDF(kdf, md, counterStart, digestLength) { + /** + * Generate a key of the specified length. + * + * @param x the binary-encoded byte string to generate a key from. + * @param length the number of bytes to generate (the size of the key). + * + * @return the key as a binary-encoded string. + */ + kdf.generate = function(x, length) { + var key = new forge.util.ByteBuffer(); + + // run counter from counterStart to ceil(length / Hash.len) + var k = Math.ceil(length / digestLength) + counterStart; + + var c = new forge.util.ByteBuffer(); + for(var i = counterStart; i < k; ++i) { + // I2OSP(i, 4): convert counter to an octet string of 4 octets + c.putInt32(i); + + // digest 'x' and the counter and add the result to the key + md.start(); + md.update(x + c.getBytes()); + var hash = md.digest(); + key.putBytes(hash.getBytes(digestLength)); + } + + // truncate to the correct key length + key.truncate(key.length() - length); + return key.getBytes(); + }; +} diff --git a/express-server/node_modules/node-forge/lib/log.js b/express-server/node_modules/node-forge/lib/log.js new file mode 100644 index 00000000..8d36f4a8 --- /dev/null +++ b/express-server/node_modules/node-forge/lib/log.js @@ -0,0 +1,317 @@ +/** + * Cross-browser support for logging in a web application. + * + * @author David I. Lehn + * + * Copyright (c) 2008-2013 Digital Bazaar, Inc. + */ +var forge = require('./forge'); +require('./util'); + +/* LOG API */ +module.exports = forge.log = forge.log || {}; + +/** + * Application logging system. + * + * Each logger level available as it's own function of the form: + * forge.log.level(category, args...) + * The category is an arbitrary string, and the args are the same as + * Firebug's console.log API. By default the call will be output as: + * 'LEVEL [category] , args[1], ...' + * This enables proper % formatting via the first argument. + * Each category is enabled by default but can be enabled or disabled with + * the setCategoryEnabled() function. + */ +// list of known levels +forge.log.levels = [ + 'none', 'error', 'warning', 'info', 'debug', 'verbose', 'max']; +// info on the levels indexed by name: +// index: level index +// name: uppercased display name +var sLevelInfo = {}; +// list of loggers +var sLoggers = []; +/** + * Standard console logger. If no console support is enabled this will + * remain null. Check before using. + */ +var sConsoleLogger = null; + +// logger flags +/** + * Lock the level at the current value. Used in cases where user config may + * set the level such that only critical messages are seen but more verbose + * messages are needed for debugging or other purposes. + */ +forge.log.LEVEL_LOCKED = (1 << 1); +/** + * Always call log function. By default, the logging system will check the + * message level against logger.level before calling the log function. This + * flag allows the function to do its own check. + */ +forge.log.NO_LEVEL_CHECK = (1 << 2); +/** + * Perform message interpolation with the passed arguments. "%" style + * fields in log messages will be replaced by arguments as needed. Some + * loggers, such as Firebug, may do this automatically. The original log + * message will be available as 'message' and the interpolated version will + * be available as 'fullMessage'. + */ +forge.log.INTERPOLATE = (1 << 3); + +// setup each log level +for(var i = 0; i < forge.log.levels.length; ++i) { + var level = forge.log.levels[i]; + sLevelInfo[level] = { + index: i, + name: level.toUpperCase() + }; +} + +/** + * Message logger. Will dispatch a message to registered loggers as needed. + * + * @param message message object + */ +forge.log.logMessage = function(message) { + var messageLevelIndex = sLevelInfo[message.level].index; + for(var i = 0; i < sLoggers.length; ++i) { + var logger = sLoggers[i]; + if(logger.flags & forge.log.NO_LEVEL_CHECK) { + logger.f(message); + } else { + // get logger level + var loggerLevelIndex = sLevelInfo[logger.level].index; + // check level + if(messageLevelIndex <= loggerLevelIndex) { + // message critical enough, call logger + logger.f(logger, message); + } + } + } +}; + +/** + * Sets the 'standard' key on a message object to: + * "LEVEL [category] " + message + * + * @param message a message log object + */ +forge.log.prepareStandard = function(message) { + if(!('standard' in message)) { + message.standard = + sLevelInfo[message.level].name + + //' ' + +message.timestamp + + ' [' + message.category + '] ' + + message.message; + } +}; + +/** + * Sets the 'full' key on a message object to the original message + * interpolated via % formatting with the message arguments. + * + * @param message a message log object. + */ +forge.log.prepareFull = function(message) { + if(!('full' in message)) { + // copy args and insert message at the front + var args = [message.message]; + args = args.concat([] || message['arguments']); + // format the message + message.full = forge.util.format.apply(this, args); + } +}; + +/** + * Applies both preparseStandard() and prepareFull() to a message object and + * store result in 'standardFull'. + * + * @param message a message log object. + */ +forge.log.prepareStandardFull = function(message) { + if(!('standardFull' in message)) { + // FIXME implement 'standardFull' logging + forge.log.prepareStandard(message); + message.standardFull = message.standard; + } +}; + +// create log level functions +if(true) { + // levels for which we want functions + var levels = ['error', 'warning', 'info', 'debug', 'verbose']; + for(var i = 0; i < levels.length; ++i) { + // wrap in a function to ensure proper level var is passed + (function(level) { + // create function for this level + forge.log[level] = function(category, message/*, args...*/) { + // convert arguments to real array, remove category and message + var args = Array.prototype.slice.call(arguments).slice(2); + // create message object + // Note: interpolation and standard formatting is done lazily + var msg = { + timestamp: new Date(), + level: level, + category: category, + message: message, + 'arguments': args + /*standard*/ + /*full*/ + /*fullMessage*/ + }; + // process this message + forge.log.logMessage(msg); + }; + })(levels[i]); + } +} + +/** + * Creates a new logger with specified custom logging function. + * + * The logging function has a signature of: + * function(logger, message) + * logger: current logger + * message: object: + * level: level id + * category: category + * message: string message + * arguments: Array of extra arguments + * fullMessage: interpolated message and arguments if INTERPOLATE flag set + * + * @param logFunction a logging function which takes a log message object + * as a parameter. + * + * @return a logger object. + */ +forge.log.makeLogger = function(logFunction) { + var logger = { + flags: 0, + f: logFunction + }; + forge.log.setLevel(logger, 'none'); + return logger; +}; + +/** + * Sets the current log level on a logger. + * + * @param logger the target logger. + * @param level the new maximum log level as a string. + * + * @return true if set, false if not. + */ +forge.log.setLevel = function(logger, level) { + var rval = false; + if(logger && !(logger.flags & forge.log.LEVEL_LOCKED)) { + for(var i = 0; i < forge.log.levels.length; ++i) { + var aValidLevel = forge.log.levels[i]; + if(level == aValidLevel) { + // set level + logger.level = level; + rval = true; + break; + } + } + } + + return rval; +}; + +/** + * Locks the log level at its current value. + * + * @param logger the target logger. + * @param lock boolean lock value, default to true. + */ +forge.log.lock = function(logger, lock) { + if(typeof lock === 'undefined' || lock) { + logger.flags |= forge.log.LEVEL_LOCKED; + } else { + logger.flags &= ~forge.log.LEVEL_LOCKED; + } +}; + +/** + * Adds a logger. + * + * @param logger the logger object. + */ +forge.log.addLogger = function(logger) { + sLoggers.push(logger); +}; + +// setup the console logger if possible, else create fake console.log +if(typeof(console) !== 'undefined' && 'log' in console) { + var logger; + if(console.error && console.warn && console.info && console.debug) { + // looks like Firebug-style logging is available + // level handlers map + var levelHandlers = { + error: console.error, + warning: console.warn, + info: console.info, + debug: console.debug, + verbose: console.debug + }; + var f = function(logger, message) { + forge.log.prepareStandard(message); + var handler = levelHandlers[message.level]; + // prepend standard message and concat args + var args = [message.standard]; + args = args.concat(message['arguments'].slice()); + // apply to low-level console function + handler.apply(console, args); + }; + logger = forge.log.makeLogger(f); + } else { + // only appear to have basic console.log + var f = function(logger, message) { + forge.log.prepareStandardFull(message); + console.log(message.standardFull); + }; + logger = forge.log.makeLogger(f); + } + forge.log.setLevel(logger, 'debug'); + forge.log.addLogger(logger); + sConsoleLogger = logger; +} else { + // define fake console.log to avoid potential script errors on + // browsers that do not have console logging + console = { + log: function() {} + }; +} + +/* + * Check for logging control query vars. + * + * console.level= + * Set's the console log level by name. Useful to override defaults and + * allow more verbose logging before a user config is loaded. + * + * console.lock= + * Lock the console log level at whatever level it is set at. This is run + * after console.level is processed. Useful to force a level of verbosity + * that could otherwise be limited by a user config. + */ +if(sConsoleLogger !== null) { + var query = forge.util.getQueryVariables(); + if('console.level' in query) { + // set with last value + forge.log.setLevel( + sConsoleLogger, query['console.level'].slice(-1)[0]); + } + if('console.lock' in query) { + // set with last value + var lock = query['console.lock'].slice(-1)[0]; + if(lock == 'true') { + forge.log.lock(sConsoleLogger); + } + } +} + +// provide public access to console logger +forge.log.consoleLogger = sConsoleLogger; diff --git a/express-server/node_modules/node-forge/lib/md.all.js b/express-server/node_modules/node-forge/lib/md.all.js new file mode 100644 index 00000000..4e0974bd --- /dev/null +++ b/express-server/node_modules/node-forge/lib/md.all.js @@ -0,0 +1,13 @@ +/** + * Node.js module for all known Forge message digests. + * + * @author Dave Longley + * + * Copyright 2011-2017 Digital Bazaar, Inc. + */ +module.exports = require('./md'); + +require('./md5'); +require('./sha1'); +require('./sha256'); +require('./sha512'); diff --git a/express-server/node_modules/node-forge/lib/md.js b/express-server/node_modules/node-forge/lib/md.js new file mode 100644 index 00000000..e4a280c5 --- /dev/null +++ b/express-server/node_modules/node-forge/lib/md.js @@ -0,0 +1,11 @@ +/** + * Node.js module for Forge message digests. + * + * @author Dave Longley + * + * Copyright 2011-2017 Digital Bazaar, Inc. + */ +var forge = require('./forge'); + +module.exports = forge.md = forge.md || {}; +forge.md.algorithms = forge.md.algorithms || {}; diff --git a/express-server/node_modules/node-forge/lib/md5.js b/express-server/node_modules/node-forge/lib/md5.js new file mode 100644 index 00000000..d0ba8f65 --- /dev/null +++ b/express-server/node_modules/node-forge/lib/md5.js @@ -0,0 +1,289 @@ +/** + * Message Digest Algorithm 5 with 128-bit digest (MD5) implementation. + * + * @author Dave Longley + * + * Copyright (c) 2010-2014 Digital Bazaar, Inc. + */ +var forge = require('./forge'); +require('./md'); +require('./util'); + +var md5 = module.exports = forge.md5 = forge.md5 || {}; +forge.md.md5 = forge.md.algorithms.md5 = md5; + +/** + * Creates an MD5 message digest object. + * + * @return a message digest object. + */ +md5.create = function() { + // do initialization as necessary + if(!_initialized) { + _init(); + } + + // MD5 state contains four 32-bit integers + var _state = null; + + // input buffer + var _input = forge.util.createBuffer(); + + // used for word storage + var _w = new Array(16); + + // message digest object + var md = { + algorithm: 'md5', + blockLength: 64, + digestLength: 16, + // 56-bit length of message so far (does not including padding) + messageLength: 0, + // true message length + fullMessageLength: null, + // size of message length in bytes + messageLengthSize: 8 + }; + + /** + * Starts the digest. + * + * @return this digest object. + */ + md.start = function() { + // up to 56-bit message length for convenience + md.messageLength = 0; + + // full message length (set md.messageLength64 for backwards-compatibility) + md.fullMessageLength = md.messageLength64 = []; + var int32s = md.messageLengthSize / 4; + for(var i = 0; i < int32s; ++i) { + md.fullMessageLength.push(0); + } + _input = forge.util.createBuffer(); + _state = { + h0: 0x67452301, + h1: 0xEFCDAB89, + h2: 0x98BADCFE, + h3: 0x10325476 + }; + return md; + }; + // start digest automatically for first time + md.start(); + + /** + * Updates the digest with the given message input. The given input can + * treated as raw input (no encoding will be applied) or an encoding of + * 'utf8' maybe given to encode the input using UTF-8. + * + * @param msg the message input to update with. + * @param encoding the encoding to use (default: 'raw', other: 'utf8'). + * + * @return this digest object. + */ + md.update = function(msg, encoding) { + if(encoding === 'utf8') { + msg = forge.util.encodeUtf8(msg); + } + + // update message length + var len = msg.length; + md.messageLength += len; + len = [(len / 0x100000000) >>> 0, len >>> 0]; + for(var i = md.fullMessageLength.length - 1; i >= 0; --i) { + md.fullMessageLength[i] += len[1]; + len[1] = len[0] + ((md.fullMessageLength[i] / 0x100000000) >>> 0); + md.fullMessageLength[i] = md.fullMessageLength[i] >>> 0; + len[0] = (len[1] / 0x100000000) >>> 0; + } + + // add bytes to input buffer + _input.putBytes(msg); + + // process bytes + _update(_state, _w, _input); + + // compact input buffer every 2K or if empty + if(_input.read > 2048 || _input.length() === 0) { + _input.compact(); + } + + return md; + }; + + /** + * Produces the digest. + * + * @return a byte buffer containing the digest value. + */ + md.digest = function() { + /* Note: Here we copy the remaining bytes in the input buffer and + add the appropriate MD5 padding. Then we do the final update + on a copy of the state so that if the user wants to get + intermediate digests they can do so. */ + + /* Determine the number of bytes that must be added to the message + to ensure its length is congruent to 448 mod 512. In other words, + the data to be digested must be a multiple of 512 bits (or 128 bytes). + This data includes the message, some padding, and the length of the + message. Since the length of the message will be encoded as 8 bytes (64 + bits), that means that the last segment of the data must have 56 bytes + (448 bits) of message and padding. Therefore, the length of the message + plus the padding must be congruent to 448 mod 512 because + 512 - 128 = 448. + + In order to fill up the message length it must be filled with + padding that begins with 1 bit followed by all 0 bits. Padding + must *always* be present, so if the message length is already + congruent to 448 mod 512, then 512 padding bits must be added. */ + + var finalBlock = forge.util.createBuffer(); + finalBlock.putBytes(_input.bytes()); + + // compute remaining size to be digested (include message length size) + var remaining = ( + md.fullMessageLength[md.fullMessageLength.length - 1] + + md.messageLengthSize); + + // add padding for overflow blockSize - overflow + // _padding starts with 1 byte with first bit is set (byte value 128), then + // there may be up to (blockSize - 1) other pad bytes + var overflow = remaining & (md.blockLength - 1); + finalBlock.putBytes(_padding.substr(0, md.blockLength - overflow)); + + // serialize message length in bits in little-endian order; since length + // is stored in bytes we multiply by 8 and add carry + var bits, carry = 0; + for(var i = md.fullMessageLength.length - 1; i >= 0; --i) { + bits = md.fullMessageLength[i] * 8 + carry; + carry = (bits / 0x100000000) >>> 0; + finalBlock.putInt32Le(bits >>> 0); + } + + var s2 = { + h0: _state.h0, + h1: _state.h1, + h2: _state.h2, + h3: _state.h3 + }; + _update(s2, _w, finalBlock); + var rval = forge.util.createBuffer(); + rval.putInt32Le(s2.h0); + rval.putInt32Le(s2.h1); + rval.putInt32Le(s2.h2); + rval.putInt32Le(s2.h3); + return rval; + }; + + return md; +}; + +// padding, constant tables for calculating md5 +var _padding = null; +var _g = null; +var _r = null; +var _k = null; +var _initialized = false; + +/** + * Initializes the constant tables. + */ +function _init() { + // create padding + _padding = String.fromCharCode(128); + _padding += forge.util.fillString(String.fromCharCode(0x00), 64); + + // g values + _g = [ + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 1, 6, 11, 0, 5, 10, 15, 4, 9, 14, 3, 8, 13, 2, 7, 12, + 5, 8, 11, 14, 1, 4, 7, 10, 13, 0, 3, 6, 9, 12, 15, 2, + 0, 7, 14, 5, 12, 3, 10, 1, 8, 15, 6, 13, 4, 11, 2, 9]; + + // rounds table + _r = [ + 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, + 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, + 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, + 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21]; + + // get the result of abs(sin(i + 1)) as a 32-bit integer + _k = new Array(64); + for(var i = 0; i < 64; ++i) { + _k[i] = Math.floor(Math.abs(Math.sin(i + 1)) * 0x100000000); + } + + // now initialized + _initialized = true; +} + +/** + * Updates an MD5 state with the given byte buffer. + * + * @param s the MD5 state to update. + * @param w the array to use to store words. + * @param bytes the byte buffer to update with. + */ +function _update(s, w, bytes) { + // consume 512 bit (64 byte) chunks + var t, a, b, c, d, f, r, i; + var len = bytes.length(); + while(len >= 64) { + // initialize hash value for this chunk + a = s.h0; + b = s.h1; + c = s.h2; + d = s.h3; + + // round 1 + for(i = 0; i < 16; ++i) { + w[i] = bytes.getInt32Le(); + f = d ^ (b & (c ^ d)); + t = (a + f + _k[i] + w[i]); + r = _r[i]; + a = d; + d = c; + c = b; + b += (t << r) | (t >>> (32 - r)); + } + // round 2 + for(; i < 32; ++i) { + f = c ^ (d & (b ^ c)); + t = (a + f + _k[i] + w[_g[i]]); + r = _r[i]; + a = d; + d = c; + c = b; + b += (t << r) | (t >>> (32 - r)); + } + // round 3 + for(; i < 48; ++i) { + f = b ^ c ^ d; + t = (a + f + _k[i] + w[_g[i]]); + r = _r[i]; + a = d; + d = c; + c = b; + b += (t << r) | (t >>> (32 - r)); + } + // round 4 + for(; i < 64; ++i) { + f = c ^ (b | ~d); + t = (a + f + _k[i] + w[_g[i]]); + r = _r[i]; + a = d; + d = c; + c = b; + b += (t << r) | (t >>> (32 - r)); + } + + // update hash state + s.h0 = (s.h0 + a) | 0; + s.h1 = (s.h1 + b) | 0; + s.h2 = (s.h2 + c) | 0; + s.h3 = (s.h3 + d) | 0; + + len -= 64; + } +} diff --git a/express-server/node_modules/node-forge/lib/mgf.js b/express-server/node_modules/node-forge/lib/mgf.js new file mode 100644 index 00000000..0223bc36 --- /dev/null +++ b/express-server/node_modules/node-forge/lib/mgf.js @@ -0,0 +1,12 @@ +/** + * Node.js module for Forge mask generation functions. + * + * @author Stefan Siegl + * + * Copyright 2012 Stefan Siegl + */ +var forge = require('./forge'); +require('./mgf1'); + +module.exports = forge.mgf = forge.mgf || {}; +forge.mgf.mgf1 = forge.mgf1; diff --git a/express-server/node_modules/node-forge/lib/mgf1.js b/express-server/node_modules/node-forge/lib/mgf1.js new file mode 100644 index 00000000..25ed1f7f --- /dev/null +++ b/express-server/node_modules/node-forge/lib/mgf1.js @@ -0,0 +1,57 @@ +/** + * Javascript implementation of mask generation function MGF1. + * + * @author Stefan Siegl + * @author Dave Longley + * + * Copyright (c) 2012 Stefan Siegl + * Copyright (c) 2014 Digital Bazaar, Inc. + */ +var forge = require('./forge'); +require('./util'); + +forge.mgf = forge.mgf || {}; +var mgf1 = module.exports = forge.mgf.mgf1 = forge.mgf1 = forge.mgf1 || {}; + +/** + * Creates a MGF1 mask generation function object. + * + * @param md the message digest API to use (eg: forge.md.sha1.create()). + * + * @return a mask generation function object. + */ +mgf1.create = function(md) { + var mgf = { + /** + * Generate mask of specified length. + * + * @param {String} seed The seed for mask generation. + * @param maskLen Number of bytes to generate. + * @return {String} The generated mask. + */ + generate: function(seed, maskLen) { + /* 2. Let T be the empty octet string. */ + var t = new forge.util.ByteBuffer(); + + /* 3. For counter from 0 to ceil(maskLen / hLen), do the following: */ + var len = Math.ceil(maskLen / md.digestLength); + for(var i = 0; i < len; i++) { + /* a. Convert counter to an octet string C of length 4 octets */ + var c = new forge.util.ByteBuffer(); + c.putInt32(i); + + /* b. Concatenate the hash of the seed mgfSeed and C to the octet + * string T: */ + md.start(); + md.update(seed + c.getBytes()); + t.putBuffer(md.digest()); + } + + /* Output the leading maskLen octets of T as the octet string mask. */ + t.truncate(t.length() - maskLen); + return t.getBytes(); + } + }; + + return mgf; +}; diff --git a/express-server/node_modules/node-forge/lib/oids.js b/express-server/node_modules/node-forge/lib/oids.js new file mode 100644 index 00000000..c908c7c8 --- /dev/null +++ b/express-server/node_modules/node-forge/lib/oids.js @@ -0,0 +1,161 @@ +/** + * Object IDs for ASN.1. + * + * @author Dave Longley + * + * Copyright (c) 2010-2013 Digital Bazaar, Inc. + */ +var forge = require('./forge'); + +forge.pki = forge.pki || {}; +var oids = module.exports = forge.pki.oids = forge.oids = forge.oids || {}; + +// set id to name mapping and name to id mapping +function _IN(id, name) { + oids[id] = name; + oids[name] = id; +} +// set id to name mapping only +function _I_(id, name) { + oids[id] = name; +} + +// algorithm OIDs +_IN('1.2.840.113549.1.1.1', 'rsaEncryption'); +// Note: md2 & md4 not implemented +//_IN('1.2.840.113549.1.1.2', 'md2WithRSAEncryption'); +//_IN('1.2.840.113549.1.1.3', 'md4WithRSAEncryption'); +_IN('1.2.840.113549.1.1.4', 'md5WithRSAEncryption'); +_IN('1.2.840.113549.1.1.5', 'sha1WithRSAEncryption'); +_IN('1.2.840.113549.1.1.7', 'RSAES-OAEP'); +_IN('1.2.840.113549.1.1.8', 'mgf1'); +_IN('1.2.840.113549.1.1.9', 'pSpecified'); +_IN('1.2.840.113549.1.1.10', 'RSASSA-PSS'); +_IN('1.2.840.113549.1.1.11', 'sha256WithRSAEncryption'); +_IN('1.2.840.113549.1.1.12', 'sha384WithRSAEncryption'); +_IN('1.2.840.113549.1.1.13', 'sha512WithRSAEncryption'); + +_IN('1.2.840.10040.4.3', 'dsa-with-sha1'); + +_IN('1.3.14.3.2.7', 'desCBC'); + +_IN('1.3.14.3.2.26', 'sha1'); +_IN('2.16.840.1.101.3.4.2.1', 'sha256'); +_IN('2.16.840.1.101.3.4.2.2', 'sha384'); +_IN('2.16.840.1.101.3.4.2.3', 'sha512'); +_IN('1.2.840.113549.2.5', 'md5'); + +// pkcs#7 content types +_IN('1.2.840.113549.1.7.1', 'data'); +_IN('1.2.840.113549.1.7.2', 'signedData'); +_IN('1.2.840.113549.1.7.3', 'envelopedData'); +_IN('1.2.840.113549.1.7.4', 'signedAndEnvelopedData'); +_IN('1.2.840.113549.1.7.5', 'digestedData'); +_IN('1.2.840.113549.1.7.6', 'encryptedData'); + +// pkcs#9 oids +_IN('1.2.840.113549.1.9.1', 'emailAddress'); +_IN('1.2.840.113549.1.9.2', 'unstructuredName'); +_IN('1.2.840.113549.1.9.3', 'contentType'); +_IN('1.2.840.113549.1.9.4', 'messageDigest'); +_IN('1.2.840.113549.1.9.5', 'signingTime'); +_IN('1.2.840.113549.1.9.6', 'counterSignature'); +_IN('1.2.840.113549.1.9.7', 'challengePassword'); +_IN('1.2.840.113549.1.9.8', 'unstructuredAddress'); +_IN('1.2.840.113549.1.9.14', 'extensionRequest'); + +_IN('1.2.840.113549.1.9.20', 'friendlyName'); +_IN('1.2.840.113549.1.9.21', 'localKeyId'); +_IN('1.2.840.113549.1.9.22.1', 'x509Certificate'); + +// pkcs#12 safe bags +_IN('1.2.840.113549.1.12.10.1.1', 'keyBag'); +_IN('1.2.840.113549.1.12.10.1.2', 'pkcs8ShroudedKeyBag'); +_IN('1.2.840.113549.1.12.10.1.3', 'certBag'); +_IN('1.2.840.113549.1.12.10.1.4', 'crlBag'); +_IN('1.2.840.113549.1.12.10.1.5', 'secretBag'); +_IN('1.2.840.113549.1.12.10.1.6', 'safeContentsBag'); + +// password-based-encryption for pkcs#12 +_IN('1.2.840.113549.1.5.13', 'pkcs5PBES2'); +_IN('1.2.840.113549.1.5.12', 'pkcs5PBKDF2'); + +_IN('1.2.840.113549.1.12.1.1', 'pbeWithSHAAnd128BitRC4'); +_IN('1.2.840.113549.1.12.1.2', 'pbeWithSHAAnd40BitRC4'); +_IN('1.2.840.113549.1.12.1.3', 'pbeWithSHAAnd3-KeyTripleDES-CBC'); +_IN('1.2.840.113549.1.12.1.4', 'pbeWithSHAAnd2-KeyTripleDES-CBC'); +_IN('1.2.840.113549.1.12.1.5', 'pbeWithSHAAnd128BitRC2-CBC'); +_IN('1.2.840.113549.1.12.1.6', 'pbewithSHAAnd40BitRC2-CBC'); + +// hmac OIDs +_IN('1.2.840.113549.2.7', 'hmacWithSHA1'); +_IN('1.2.840.113549.2.8', 'hmacWithSHA224'); +_IN('1.2.840.113549.2.9', 'hmacWithSHA256'); +_IN('1.2.840.113549.2.10', 'hmacWithSHA384'); +_IN('1.2.840.113549.2.11', 'hmacWithSHA512'); + +// symmetric key algorithm oids +_IN('1.2.840.113549.3.7', 'des-EDE3-CBC'); +_IN('2.16.840.1.101.3.4.1.2', 'aes128-CBC'); +_IN('2.16.840.1.101.3.4.1.22', 'aes192-CBC'); +_IN('2.16.840.1.101.3.4.1.42', 'aes256-CBC'); + +// certificate issuer/subject OIDs +_IN('2.5.4.3', 'commonName'); +_IN('2.5.4.5', 'serialName'); +_IN('2.5.4.6', 'countryName'); +_IN('2.5.4.7', 'localityName'); +_IN('2.5.4.8', 'stateOrProvinceName'); +_IN('2.5.4.10', 'organizationName'); +_IN('2.5.4.11', 'organizationalUnitName'); + +// X.509 extension OIDs +_IN('2.16.840.1.113730.1.1', 'nsCertType'); +_I_('2.5.29.1', 'authorityKeyIdentifier'); // deprecated, use .35 +_I_('2.5.29.2', 'keyAttributes'); // obsolete use .37 or .15 +_I_('2.5.29.3', 'certificatePolicies'); // deprecated, use .32 +_I_('2.5.29.4', 'keyUsageRestriction'); // obsolete use .37 or .15 +_I_('2.5.29.5', 'policyMapping'); // deprecated use .33 +_I_('2.5.29.6', 'subtreesConstraint'); // obsolete use .30 +_I_('2.5.29.7', 'subjectAltName'); // deprecated use .17 +_I_('2.5.29.8', 'issuerAltName'); // deprecated use .18 +_I_('2.5.29.9', 'subjectDirectoryAttributes'); +_I_('2.5.29.10', 'basicConstraints'); // deprecated use .19 +_I_('2.5.29.11', 'nameConstraints'); // deprecated use .30 +_I_('2.5.29.12', 'policyConstraints'); // deprecated use .36 +_I_('2.5.29.13', 'basicConstraints'); // deprecated use .19 +_IN('2.5.29.14', 'subjectKeyIdentifier'); +_IN('2.5.29.15', 'keyUsage'); +_I_('2.5.29.16', 'privateKeyUsagePeriod'); +_IN('2.5.29.17', 'subjectAltName'); +_IN('2.5.29.18', 'issuerAltName'); +_IN('2.5.29.19', 'basicConstraints'); +_I_('2.5.29.20', 'cRLNumber'); +_I_('2.5.29.21', 'cRLReason'); +_I_('2.5.29.22', 'expirationDate'); +_I_('2.5.29.23', 'instructionCode'); +_I_('2.5.29.24', 'invalidityDate'); +_I_('2.5.29.25', 'cRLDistributionPoints'); // deprecated use .31 +_I_('2.5.29.26', 'issuingDistributionPoint'); // deprecated use .28 +_I_('2.5.29.27', 'deltaCRLIndicator'); +_I_('2.5.29.28', 'issuingDistributionPoint'); +_I_('2.5.29.29', 'certificateIssuer'); +_I_('2.5.29.30', 'nameConstraints'); +_IN('2.5.29.31', 'cRLDistributionPoints'); +_IN('2.5.29.32', 'certificatePolicies'); +_I_('2.5.29.33', 'policyMappings'); +_I_('2.5.29.34', 'policyConstraints'); // deprecated use .36 +_IN('2.5.29.35', 'authorityKeyIdentifier'); +_I_('2.5.29.36', 'policyConstraints'); +_IN('2.5.29.37', 'extKeyUsage'); +_I_('2.5.29.46', 'freshestCRL'); +_I_('2.5.29.54', 'inhibitAnyPolicy'); + +// extKeyUsage purposes +_IN('1.3.6.1.4.1.11129.2.4.2', 'timestampList'); +_IN('1.3.6.1.5.5.7.1.1', 'authorityInfoAccess'); +_IN('1.3.6.1.5.5.7.3.1', 'serverAuth'); +_IN('1.3.6.1.5.5.7.3.2', 'clientAuth'); +_IN('1.3.6.1.5.5.7.3.3', 'codeSigning'); +_IN('1.3.6.1.5.5.7.3.4', 'emailProtection'); +_IN('1.3.6.1.5.5.7.3.8', 'timeStamping'); diff --git a/express-server/node_modules/node-forge/lib/pbe.js b/express-server/node_modules/node-forge/lib/pbe.js new file mode 100644 index 00000000..cf8456ba --- /dev/null +++ b/express-server/node_modules/node-forge/lib/pbe.js @@ -0,0 +1,1023 @@ +/** + * Password-based encryption functions. + * + * @author Dave Longley + * @author Stefan Siegl + * + * Copyright (c) 2010-2013 Digital Bazaar, Inc. + * Copyright (c) 2012 Stefan Siegl + * + * An EncryptedPrivateKeyInfo: + * + * EncryptedPrivateKeyInfo ::= SEQUENCE { + * encryptionAlgorithm EncryptionAlgorithmIdentifier, + * encryptedData EncryptedData } + * + * EncryptionAlgorithmIdentifier ::= AlgorithmIdentifier + * + * EncryptedData ::= OCTET STRING + */ +var forge = require('./forge'); +require('./aes'); +require('./asn1'); +require('./des'); +require('./md'); +require('./oids'); +require('./pbkdf2'); +require('./pem'); +require('./random'); +require('./rc2'); +require('./rsa'); +require('./util'); + +if(typeof BigInteger === 'undefined') { + var BigInteger = forge.jsbn.BigInteger; +} + +// shortcut for asn.1 API +var asn1 = forge.asn1; + +/* Password-based encryption implementation. */ +var pki = forge.pki = forge.pki || {}; +module.exports = pki.pbe = forge.pbe = forge.pbe || {}; +var oids = pki.oids; + +// validator for an EncryptedPrivateKeyInfo structure +// Note: Currently only works w/algorithm params +var encryptedPrivateKeyValidator = { + name: 'EncryptedPrivateKeyInfo', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SEQUENCE, + constructed: true, + value: [{ + name: 'EncryptedPrivateKeyInfo.encryptionAlgorithm', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SEQUENCE, + constructed: true, + value: [{ + name: 'AlgorithmIdentifier.algorithm', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.OID, + constructed: false, + capture: 'encryptionOid' + }, { + name: 'AlgorithmIdentifier.parameters', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SEQUENCE, + constructed: true, + captureAsn1: 'encryptionParams' + }] + }, { + // encryptedData + name: 'EncryptedPrivateKeyInfo.encryptedData', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.OCTETSTRING, + constructed: false, + capture: 'encryptedData' + }] +}; + +// validator for a PBES2Algorithms structure +// Note: Currently only works w/PBKDF2 + AES encryption schemes +var PBES2AlgorithmsValidator = { + name: 'PBES2Algorithms', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SEQUENCE, + constructed: true, + value: [{ + name: 'PBES2Algorithms.keyDerivationFunc', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SEQUENCE, + constructed: true, + value: [{ + name: 'PBES2Algorithms.keyDerivationFunc.oid', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.OID, + constructed: false, + capture: 'kdfOid' + }, { + name: 'PBES2Algorithms.params', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SEQUENCE, + constructed: true, + value: [{ + name: 'PBES2Algorithms.params.salt', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.OCTETSTRING, + constructed: false, + capture: 'kdfSalt' + }, { + name: 'PBES2Algorithms.params.iterationCount', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.INTEGER, + constructed: false, + capture: 'kdfIterationCount' + }, { + name: 'PBES2Algorithms.params.keyLength', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.INTEGER, + constructed: false, + optional: true, + capture: 'keyLength' + }, { + // prf + name: 'PBES2Algorithms.params.prf', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SEQUENCE, + constructed: true, + optional: true, + value: [{ + name: 'PBES2Algorithms.params.prf.algorithm', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.OID, + constructed: false, + capture: 'prfOid' + }] + }] + }] + }, { + name: 'PBES2Algorithms.encryptionScheme', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SEQUENCE, + constructed: true, + value: [{ + name: 'PBES2Algorithms.encryptionScheme.oid', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.OID, + constructed: false, + capture: 'encOid' + }, { + name: 'PBES2Algorithms.encryptionScheme.iv', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.OCTETSTRING, + constructed: false, + capture: 'encIv' + }] + }] +}; + +var pkcs12PbeParamsValidator = { + name: 'pkcs-12PbeParams', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SEQUENCE, + constructed: true, + value: [{ + name: 'pkcs-12PbeParams.salt', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.OCTETSTRING, + constructed: false, + capture: 'salt' + }, { + name: 'pkcs-12PbeParams.iterations', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.INTEGER, + constructed: false, + capture: 'iterations' + }] +}; + +/** + * Encrypts a ASN.1 PrivateKeyInfo object, producing an EncryptedPrivateKeyInfo. + * + * PBES2Algorithms ALGORITHM-IDENTIFIER ::= + * { {PBES2-params IDENTIFIED BY id-PBES2}, ...} + * + * id-PBES2 OBJECT IDENTIFIER ::= {pkcs-5 13} + * + * PBES2-params ::= SEQUENCE { + * keyDerivationFunc AlgorithmIdentifier {{PBES2-KDFs}}, + * encryptionScheme AlgorithmIdentifier {{PBES2-Encs}} + * } + * + * PBES2-KDFs ALGORITHM-IDENTIFIER ::= + * { {PBKDF2-params IDENTIFIED BY id-PBKDF2}, ... } + * + * PBES2-Encs ALGORITHM-IDENTIFIER ::= { ... } + * + * PBKDF2-params ::= SEQUENCE { + * salt CHOICE { + * specified OCTET STRING, + * otherSource AlgorithmIdentifier {{PBKDF2-SaltSources}} + * }, + * iterationCount INTEGER (1..MAX), + * keyLength INTEGER (1..MAX) OPTIONAL, + * prf AlgorithmIdentifier {{PBKDF2-PRFs}} DEFAULT algid-hmacWithSHA1 + * } + * + * @param obj the ASN.1 PrivateKeyInfo object. + * @param password the password to encrypt with. + * @param options: + * algorithm the encryption algorithm to use + * ('aes128', 'aes192', 'aes256', '3des'), defaults to 'aes128'. + * count the iteration count to use. + * saltSize the salt size to use. + * prfAlgorithm the PRF message digest algorithm to use + * ('sha1', 'sha224', 'sha256', 'sha384', 'sha512') + * + * @return the ASN.1 EncryptedPrivateKeyInfo. + */ +pki.encryptPrivateKeyInfo = function(obj, password, options) { + // set default options + options = options || {}; + options.saltSize = options.saltSize || 8; + options.count = options.count || 2048; + options.algorithm = options.algorithm || 'aes128'; + options.prfAlgorithm = options.prfAlgorithm || 'sha1'; + + // generate PBE params + var salt = forge.random.getBytesSync(options.saltSize); + var count = options.count; + var countBytes = asn1.integerToDer(count); + var dkLen; + var encryptionAlgorithm; + var encryptedData; + if(options.algorithm.indexOf('aes') === 0 || options.algorithm === 'des') { + // do PBES2 + var ivLen, encOid, cipherFn; + switch(options.algorithm) { + case 'aes128': + dkLen = 16; + ivLen = 16; + encOid = oids['aes128-CBC']; + cipherFn = forge.aes.createEncryptionCipher; + break; + case 'aes192': + dkLen = 24; + ivLen = 16; + encOid = oids['aes192-CBC']; + cipherFn = forge.aes.createEncryptionCipher; + break; + case 'aes256': + dkLen = 32; + ivLen = 16; + encOid = oids['aes256-CBC']; + cipherFn = forge.aes.createEncryptionCipher; + break; + case 'des': + dkLen = 8; + ivLen = 8; + encOid = oids['desCBC']; + cipherFn = forge.des.createEncryptionCipher; + break; + default: + var error = new Error('Cannot encrypt private key. Unknown encryption algorithm.'); + error.algorithm = options.algorithm; + throw error; + } + + // get PRF message digest + var prfAlgorithm = 'hmacWith' + options.prfAlgorithm.toUpperCase(); + var md = prfAlgorithmToMessageDigest(prfAlgorithm); + + // encrypt private key using pbe SHA-1 and AES/DES + var dk = forge.pkcs5.pbkdf2(password, salt, count, dkLen, md); + var iv = forge.random.getBytesSync(ivLen); + var cipher = cipherFn(dk); + cipher.start(iv); + cipher.update(asn1.toDer(obj)); + cipher.finish(); + encryptedData = cipher.output.getBytes(); + + // get PBKDF2-params + var params = createPbkdf2Params(salt, countBytes, dkLen, prfAlgorithm); + + encryptionAlgorithm = asn1.create( + asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, + asn1.oidToDer(oids['pkcs5PBES2']).getBytes()), + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + // keyDerivationFunc + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, + asn1.oidToDer(oids['pkcs5PBKDF2']).getBytes()), + // PBKDF2-params + params + ]), + // encryptionScheme + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, + asn1.oidToDer(encOid).getBytes()), + // iv + asn1.create( + asn1.Class.UNIVERSAL, asn1.Type.OCTETSTRING, false, iv) + ]) + ]) + ]); + } else if(options.algorithm === '3des') { + // Do PKCS12 PBE + dkLen = 24; + + var saltBytes = new forge.util.ByteBuffer(salt); + var dk = pki.pbe.generatePkcs12Key(password, saltBytes, 1, count, dkLen); + var iv = pki.pbe.generatePkcs12Key(password, saltBytes, 2, count, dkLen); + var cipher = forge.des.createEncryptionCipher(dk); + cipher.start(iv); + cipher.update(asn1.toDer(obj)); + cipher.finish(); + encryptedData = cipher.output.getBytes(); + + encryptionAlgorithm = asn1.create( + asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, + asn1.oidToDer(oids['pbeWithSHAAnd3-KeyTripleDES-CBC']).getBytes()), + // pkcs-12PbeParams + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + // salt + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OCTETSTRING, false, salt), + // iteration count + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, + countBytes.getBytes()) + ]) + ]); + } else { + var error = new Error('Cannot encrypt private key. Unknown encryption algorithm.'); + error.algorithm = options.algorithm; + throw error; + } + + // EncryptedPrivateKeyInfo + var rval = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + // encryptionAlgorithm + encryptionAlgorithm, + // encryptedData + asn1.create( + asn1.Class.UNIVERSAL, asn1.Type.OCTETSTRING, false, encryptedData) + ]); + return rval; +}; + +/** + * Decrypts a ASN.1 PrivateKeyInfo object. + * + * @param obj the ASN.1 EncryptedPrivateKeyInfo object. + * @param password the password to decrypt with. + * + * @return the ASN.1 PrivateKeyInfo on success, null on failure. + */ +pki.decryptPrivateKeyInfo = function(obj, password) { + var rval = null; + + // get PBE params + var capture = {}; + var errors = []; + if(!asn1.validate(obj, encryptedPrivateKeyValidator, capture, errors)) { + var error = new Error('Cannot read encrypted private key. ' + + 'ASN.1 object is not a supported EncryptedPrivateKeyInfo.'); + error.errors = errors; + throw error; + } + + // get cipher + var oid = asn1.derToOid(capture.encryptionOid); + var cipher = pki.pbe.getCipher(oid, capture.encryptionParams, password); + + // get encrypted data + var encrypted = forge.util.createBuffer(capture.encryptedData); + + cipher.update(encrypted); + if(cipher.finish()) { + rval = asn1.fromDer(cipher.output); + } + + return rval; +}; + +/** + * Converts a EncryptedPrivateKeyInfo to PEM format. + * + * @param epki the EncryptedPrivateKeyInfo. + * @param maxline the maximum characters per line, defaults to 64. + * + * @return the PEM-formatted encrypted private key. + */ +pki.encryptedPrivateKeyToPem = function(epki, maxline) { + // convert to DER, then PEM-encode + var msg = { + type: 'ENCRYPTED PRIVATE KEY', + body: asn1.toDer(epki).getBytes() + }; + return forge.pem.encode(msg, {maxline: maxline}); +}; + +/** + * Converts a PEM-encoded EncryptedPrivateKeyInfo to ASN.1 format. Decryption + * is not performed. + * + * @param pem the EncryptedPrivateKeyInfo in PEM-format. + * + * @return the ASN.1 EncryptedPrivateKeyInfo. + */ +pki.encryptedPrivateKeyFromPem = function(pem) { + var msg = forge.pem.decode(pem)[0]; + + if(msg.type !== 'ENCRYPTED PRIVATE KEY') { + var error = new Error('Could not convert encrypted private key from PEM; ' + + 'PEM header type is "ENCRYPTED PRIVATE KEY".'); + error.headerType = msg.type; + throw error; + } + if(msg.procType && msg.procType.type === 'ENCRYPTED') { + throw new Error('Could not convert encrypted private key from PEM; ' + + 'PEM is encrypted.'); + } + + // convert DER to ASN.1 object + return asn1.fromDer(msg.body); +}; + +/** + * Encrypts an RSA private key. By default, the key will be wrapped in + * a PrivateKeyInfo and encrypted to produce a PKCS#8 EncryptedPrivateKeyInfo. + * This is the standard, preferred way to encrypt a private key. + * + * To produce a non-standard PEM-encrypted private key that uses encapsulated + * headers to indicate the encryption algorithm (old-style non-PKCS#8 OpenSSL + * private key encryption), set the 'legacy' option to true. Note: Using this + * option will cause the iteration count to be forced to 1. + * + * Note: The 'des' algorithm is supported, but it is not considered to be + * secure because it only uses a single 56-bit key. If possible, it is highly + * recommended that a different algorithm be used. + * + * @param rsaKey the RSA key to encrypt. + * @param password the password to use. + * @param options: + * algorithm: the encryption algorithm to use + * ('aes128', 'aes192', 'aes256', '3des', 'des'). + * count: the iteration count to use. + * saltSize: the salt size to use. + * legacy: output an old non-PKCS#8 PEM-encrypted+encapsulated + * headers (DEK-Info) private key. + * + * @return the PEM-encoded ASN.1 EncryptedPrivateKeyInfo. + */ +pki.encryptRsaPrivateKey = function(rsaKey, password, options) { + // standard PKCS#8 + options = options || {}; + if(!options.legacy) { + // encrypt PrivateKeyInfo + var rval = pki.wrapRsaPrivateKey(pki.privateKeyToAsn1(rsaKey)); + rval = pki.encryptPrivateKeyInfo(rval, password, options); + return pki.encryptedPrivateKeyToPem(rval); + } + + // legacy non-PKCS#8 + var algorithm; + var iv; + var dkLen; + var cipherFn; + switch(options.algorithm) { + case 'aes128': + algorithm = 'AES-128-CBC'; + dkLen = 16; + iv = forge.random.getBytesSync(16); + cipherFn = forge.aes.createEncryptionCipher; + break; + case 'aes192': + algorithm = 'AES-192-CBC'; + dkLen = 24; + iv = forge.random.getBytesSync(16); + cipherFn = forge.aes.createEncryptionCipher; + break; + case 'aes256': + algorithm = 'AES-256-CBC'; + dkLen = 32; + iv = forge.random.getBytesSync(16); + cipherFn = forge.aes.createEncryptionCipher; + break; + case '3des': + algorithm = 'DES-EDE3-CBC'; + dkLen = 24; + iv = forge.random.getBytesSync(8); + cipherFn = forge.des.createEncryptionCipher; + break; + case 'des': + algorithm = 'DES-CBC'; + dkLen = 8; + iv = forge.random.getBytesSync(8); + cipherFn = forge.des.createEncryptionCipher; + break; + default: + var error = new Error('Could not encrypt RSA private key; unsupported ' + + 'encryption algorithm "' + options.algorithm + '".'); + error.algorithm = options.algorithm; + throw error; + } + + // encrypt private key using OpenSSL legacy key derivation + var dk = forge.pbe.opensslDeriveBytes(password, iv.substr(0, 8), dkLen); + var cipher = cipherFn(dk); + cipher.start(iv); + cipher.update(asn1.toDer(pki.privateKeyToAsn1(rsaKey))); + cipher.finish(); + + var msg = { + type: 'RSA PRIVATE KEY', + procType: { + version: '4', + type: 'ENCRYPTED' + }, + dekInfo: { + algorithm: algorithm, + parameters: forge.util.bytesToHex(iv).toUpperCase() + }, + body: cipher.output.getBytes() + }; + return forge.pem.encode(msg); +}; + +/** + * Decrypts an RSA private key. + * + * @param pem the PEM-formatted EncryptedPrivateKeyInfo to decrypt. + * @param password the password to use. + * + * @return the RSA key on success, null on failure. + */ +pki.decryptRsaPrivateKey = function(pem, password) { + var rval = null; + + var msg = forge.pem.decode(pem)[0]; + + if(msg.type !== 'ENCRYPTED PRIVATE KEY' && + msg.type !== 'PRIVATE KEY' && + msg.type !== 'RSA PRIVATE KEY') { + var error = new Error('Could not convert private key from PEM; PEM header type ' + + 'is not "ENCRYPTED PRIVATE KEY", "PRIVATE KEY", or "RSA PRIVATE KEY".'); + error.headerType = error; + throw error; + } + + if(msg.procType && msg.procType.type === 'ENCRYPTED') { + var dkLen; + var cipherFn; + switch(msg.dekInfo.algorithm) { + case 'DES-CBC': + dkLen = 8; + cipherFn = forge.des.createDecryptionCipher; + break; + case 'DES-EDE3-CBC': + dkLen = 24; + cipherFn = forge.des.createDecryptionCipher; + break; + case 'AES-128-CBC': + dkLen = 16; + cipherFn = forge.aes.createDecryptionCipher; + break; + case 'AES-192-CBC': + dkLen = 24; + cipherFn = forge.aes.createDecryptionCipher; + break; + case 'AES-256-CBC': + dkLen = 32; + cipherFn = forge.aes.createDecryptionCipher; + break; + case 'RC2-40-CBC': + dkLen = 5; + cipherFn = function(key) { + return forge.rc2.createDecryptionCipher(key, 40); + }; + break; + case 'RC2-64-CBC': + dkLen = 8; + cipherFn = function(key) { + return forge.rc2.createDecryptionCipher(key, 64); + }; + break; + case 'RC2-128-CBC': + dkLen = 16; + cipherFn = function(key) { + return forge.rc2.createDecryptionCipher(key, 128); + }; + break; + default: + var error = new Error('Could not decrypt private key; unsupported ' + + 'encryption algorithm "' + msg.dekInfo.algorithm + '".'); + error.algorithm = msg.dekInfo.algorithm; + throw error; + } + + // use OpenSSL legacy key derivation + var iv = forge.util.hexToBytes(msg.dekInfo.parameters); + var dk = forge.pbe.opensslDeriveBytes(password, iv.substr(0, 8), dkLen); + var cipher = cipherFn(dk); + cipher.start(iv); + cipher.update(forge.util.createBuffer(msg.body)); + if(cipher.finish()) { + rval = cipher.output.getBytes(); + } else { + return rval; + } + } else { + rval = msg.body; + } + + if(msg.type === 'ENCRYPTED PRIVATE KEY') { + rval = pki.decryptPrivateKeyInfo(asn1.fromDer(rval), password); + } else { + // decryption already performed above + rval = asn1.fromDer(rval); + } + + if(rval !== null) { + rval = pki.privateKeyFromAsn1(rval); + } + + return rval; +}; + +/** + * Derives a PKCS#12 key. + * + * @param password the password to derive the key material from, null or + * undefined for none. + * @param salt the salt, as a ByteBuffer, to use. + * @param id the PKCS#12 ID byte (1 = key material, 2 = IV, 3 = MAC). + * @param iter the iteration count. + * @param n the number of bytes to derive from the password. + * @param md the message digest to use, defaults to SHA-1. + * + * @return a ByteBuffer with the bytes derived from the password. + */ +pki.pbe.generatePkcs12Key = function(password, salt, id, iter, n, md) { + var j, l; + + if(typeof md === 'undefined' || md === null) { + if(!('sha1' in forge.md)) { + throw new Error('"sha1" hash algorithm unavailable.'); + } + md = forge.md.sha1.create(); + } + + var u = md.digestLength; + var v = md.blockLength; + var result = new forge.util.ByteBuffer(); + + /* Convert password to Unicode byte buffer + trailing 0-byte. */ + var passBuf = new forge.util.ByteBuffer(); + if(password !== null && password !== undefined) { + for(l = 0; l < password.length; l++) { + passBuf.putInt16(password.charCodeAt(l)); + } + passBuf.putInt16(0); + } + + /* Length of salt and password in BYTES. */ + var p = passBuf.length(); + var s = salt.length(); + + /* 1. Construct a string, D (the "diversifier"), by concatenating + v copies of ID. */ + var D = new forge.util.ByteBuffer(); + D.fillWithByte(id, v); + + /* 2. Concatenate copies of the salt together to create a string S of length + v * ceil(s / v) bytes (the final copy of the salt may be trunacted + to create S). + Note that if the salt is the empty string, then so is S. */ + var Slen = v * Math.ceil(s / v); + var S = new forge.util.ByteBuffer(); + for(l = 0; l < Slen; l++) { + S.putByte(salt.at(l % s)); + } + + /* 3. Concatenate copies of the password together to create a string P of + length v * ceil(p / v) bytes (the final copy of the password may be + truncated to create P). + Note that if the password is the empty string, then so is P. */ + var Plen = v * Math.ceil(p / v); + var P = new forge.util.ByteBuffer(); + for(l = 0; l < Plen; l++) { + P.putByte(passBuf.at(l % p)); + } + + /* 4. Set I=S||P to be the concatenation of S and P. */ + var I = S; + I.putBuffer(P); + + /* 5. Set c=ceil(n / u). */ + var c = Math.ceil(n / u); + + /* 6. For i=1, 2, ..., c, do the following: */ + for(var i = 1; i <= c; i++) { + /* a) Set Ai=H^r(D||I). (l.e. the rth hash of D||I, H(H(H(...H(D||I)))) */ + var buf = new forge.util.ByteBuffer(); + buf.putBytes(D.bytes()); + buf.putBytes(I.bytes()); + for(var round = 0; round < iter; round++) { + md.start(); + md.update(buf.getBytes()); + buf = md.digest(); + } + + /* b) Concatenate copies of Ai to create a string B of length v bytes (the + final copy of Ai may be truncated to create B). */ + var B = new forge.util.ByteBuffer(); + for(l = 0; l < v; l++) { + B.putByte(buf.at(l % u)); + } + + /* c) Treating I as a concatenation I0, I1, ..., Ik-1 of v-byte blocks, + where k=ceil(s / v) + ceil(p / v), modify I by setting + Ij=(Ij+B+1) mod 2v for each j. */ + var k = Math.ceil(s / v) + Math.ceil(p / v); + var Inew = new forge.util.ByteBuffer(); + for(j = 0; j < k; j++) { + var chunk = new forge.util.ByteBuffer(I.getBytes(v)); + var x = 0x1ff; + for(l = B.length() - 1; l >= 0; l--) { + x = x >> 8; + x += B.at(l) + chunk.at(l); + chunk.setAt(l, x & 0xff); + } + Inew.putBuffer(chunk); + } + I = Inew; + + /* Add Ai to A. */ + result.putBuffer(buf); + } + + result.truncate(result.length() - n); + return result; +}; + +/** + * Get new Forge cipher object instance. + * + * @param oid the OID (in string notation). + * @param params the ASN.1 params object. + * @param password the password to decrypt with. + * + * @return new cipher object instance. + */ +pki.pbe.getCipher = function(oid, params, password) { + switch(oid) { + case pki.oids['pkcs5PBES2']: + return pki.pbe.getCipherForPBES2(oid, params, password); + + case pki.oids['pbeWithSHAAnd3-KeyTripleDES-CBC']: + case pki.oids['pbewithSHAAnd40BitRC2-CBC']: + return pki.pbe.getCipherForPKCS12PBE(oid, params, password); + + default: + var error = new Error('Cannot read encrypted PBE data block. Unsupported OID.'); + error.oid = oid; + error.supportedOids = [ + 'pkcs5PBES2', + 'pbeWithSHAAnd3-KeyTripleDES-CBC', + 'pbewithSHAAnd40BitRC2-CBC' + ]; + throw error; + } +}; + +/** + * Get new Forge cipher object instance according to PBES2 params block. + * + * The returned cipher instance is already started using the IV + * from PBES2 parameter block. + * + * @param oid the PKCS#5 PBKDF2 OID (in string notation). + * @param params the ASN.1 PBES2-params object. + * @param password the password to decrypt with. + * + * @return new cipher object instance. + */ +pki.pbe.getCipherForPBES2 = function(oid, params, password) { + // get PBE params + var capture = {}; + var errors = []; + if(!asn1.validate(params, PBES2AlgorithmsValidator, capture, errors)) { + var error = new Error('Cannot read password-based-encryption algorithm ' + + 'parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.'); + error.errors = errors; + throw error; + } + + // check oids + oid = asn1.derToOid(capture.kdfOid); + if(oid !== pki.oids['pkcs5PBKDF2']) { + var error = new Error('Cannot read encrypted private key. ' + + 'Unsupported key derivation function OID.'); + error.oid = oid; + error.supportedOids = ['pkcs5PBKDF2']; + throw error; + } + oid = asn1.derToOid(capture.encOid); + if(oid !== pki.oids['aes128-CBC'] && + oid !== pki.oids['aes192-CBC'] && + oid !== pki.oids['aes256-CBC'] && + oid !== pki.oids['des-EDE3-CBC'] && + oid !== pki.oids['desCBC']) { + var error = new Error('Cannot read encrypted private key. ' + + 'Unsupported encryption scheme OID.'); + error.oid = oid; + error.supportedOids = [ + 'aes128-CBC', 'aes192-CBC', 'aes256-CBC', 'des-EDE3-CBC', 'desCBC']; + throw error; + } + + // set PBE params + var salt = capture.kdfSalt; + var count = forge.util.createBuffer(capture.kdfIterationCount); + count = count.getInt(count.length() << 3); + var dkLen; + var cipherFn; + switch(pki.oids[oid]) { + case 'aes128-CBC': + dkLen = 16; + cipherFn = forge.aes.createDecryptionCipher; + break; + case 'aes192-CBC': + dkLen = 24; + cipherFn = forge.aes.createDecryptionCipher; + break; + case 'aes256-CBC': + dkLen = 32; + cipherFn = forge.aes.createDecryptionCipher; + break; + case 'des-EDE3-CBC': + dkLen = 24; + cipherFn = forge.des.createDecryptionCipher; + break; + case 'desCBC': + dkLen = 8; + cipherFn = forge.des.createDecryptionCipher; + break; + } + + // get PRF message digest + var md = prfOidToMessageDigest(capture.prfOid); + + // decrypt private key using pbe with chosen PRF and AES/DES + var dk = forge.pkcs5.pbkdf2(password, salt, count, dkLen, md); + var iv = capture.encIv; + var cipher = cipherFn(dk); + cipher.start(iv); + + return cipher; +}; + +/** + * Get new Forge cipher object instance for PKCS#12 PBE. + * + * The returned cipher instance is already started using the key & IV + * derived from the provided password and PKCS#12 PBE salt. + * + * @param oid The PKCS#12 PBE OID (in string notation). + * @param params The ASN.1 PKCS#12 PBE-params object. + * @param password The password to decrypt with. + * + * @return the new cipher object instance. + */ +pki.pbe.getCipherForPKCS12PBE = function(oid, params, password) { + // get PBE params + var capture = {}; + var errors = []; + if(!asn1.validate(params, pkcs12PbeParamsValidator, capture, errors)) { + var error = new Error('Cannot read password-based-encryption algorithm ' + + 'parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.'); + error.errors = errors; + throw error; + } + + var salt = forge.util.createBuffer(capture.salt); + var count = forge.util.createBuffer(capture.iterations); + count = count.getInt(count.length() << 3); + + var dkLen, dIvLen, cipherFn; + switch(oid) { + case pki.oids['pbeWithSHAAnd3-KeyTripleDES-CBC']: + dkLen = 24; + dIvLen = 8; + cipherFn = forge.des.startDecrypting; + break; + + case pki.oids['pbewithSHAAnd40BitRC2-CBC']: + dkLen = 5; + dIvLen = 8; + cipherFn = function(key, iv) { + var cipher = forge.rc2.createDecryptionCipher(key, 40); + cipher.start(iv, null); + return cipher; + }; + break; + + default: + var error = new Error('Cannot read PKCS #12 PBE data block. Unsupported OID.'); + error.oid = oid; + throw error; + } + + // get PRF message digest + var md = prfOidToMessageDigest(capture.prfOid); + var key = pki.pbe.generatePkcs12Key(password, salt, 1, count, dkLen, md); + md.start(); + var iv = pki.pbe.generatePkcs12Key(password, salt, 2, count, dIvLen, md); + + return cipherFn(key, iv); +}; + +/** + * OpenSSL's legacy key derivation function. + * + * See: http://www.openssl.org/docs/crypto/EVP_BytesToKey.html + * + * @param password the password to derive the key from. + * @param salt the salt to use, null for none. + * @param dkLen the number of bytes needed for the derived key. + * @param [options] the options to use: + * [md] an optional message digest object to use. + */ +pki.pbe.opensslDeriveBytes = function(password, salt, dkLen, md) { + if(typeof md === 'undefined' || md === null) { + if(!('md5' in forge.md)) { + throw new Error('"md5" hash algorithm unavailable.'); + } + md = forge.md.md5.create(); + } + if(salt === null) { + salt = ''; + } + var digests = [hash(md, password + salt)]; + for(var length = 16, i = 1; length < dkLen; ++i, length += 16) { + digests.push(hash(md, digests[i - 1] + password + salt)); + } + return digests.join('').substr(0, dkLen); +}; + +function hash(md, bytes) { + return md.start().update(bytes).digest().getBytes(); +} + +function prfOidToMessageDigest(prfOid) { + // get PRF algorithm, default to SHA-1 + var prfAlgorithm; + if(!prfOid) { + prfAlgorithm = 'hmacWithSHA1'; + } else { + prfAlgorithm = pki.oids[asn1.derToOid(prfOid)]; + if(!prfAlgorithm) { + var error = new Error('Unsupported PRF OID.'); + error.oid = prfOid; + error.supported = [ + 'hmacWithSHA1', 'hmacWithSHA224', 'hmacWithSHA256', 'hmacWithSHA384', + 'hmacWithSHA512']; + throw error; + } + } + return prfAlgorithmToMessageDigest(prfAlgorithm); +} + +function prfAlgorithmToMessageDigest(prfAlgorithm) { + var factory = forge.md; + switch(prfAlgorithm) { + case 'hmacWithSHA224': + factory = forge.md.sha512; + case 'hmacWithSHA1': + case 'hmacWithSHA256': + case 'hmacWithSHA384': + case 'hmacWithSHA512': + prfAlgorithm = prfAlgorithm.substr(8).toLowerCase(); + break; + default: + var error = new Error('Unsupported PRF algorithm.'); + error.algorithm = prfAlgorithm; + error.supported = [ + 'hmacWithSHA1', 'hmacWithSHA224', 'hmacWithSHA256', 'hmacWithSHA384', + 'hmacWithSHA512']; + throw error; + } + if(!factory || !(prfAlgorithm in factory)) { + throw new Error('Unknown hash algorithm: ' + prfAlgorithm); + } + return factory[prfAlgorithm].create(); +} + +function createPbkdf2Params(salt, countBytes, dkLen, prfAlgorithm) { + var params = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + // salt + asn1.create( + asn1.Class.UNIVERSAL, asn1.Type.OCTETSTRING, false, salt), + // iteration count + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, + countBytes.getBytes()) + ]); + // when PRF algorithm is not SHA-1 default, add key length and PRF algorithm + if(prfAlgorithm !== 'hmacWithSHA1') { + params.value.push( + // key length + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, + forge.util.hexToBytes(dkLen.toString(16))), + // AlgorithmIdentifier + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + // algorithm + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, + asn1.oidToDer(pki.oids[prfAlgorithm]).getBytes()), + // parameters (null) + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.NULL, false, '') + ])); + } + return params; +} diff --git a/express-server/node_modules/node-forge/lib/pbkdf2.js b/express-server/node_modules/node-forge/lib/pbkdf2.js new file mode 100644 index 00000000..ece98850 --- /dev/null +++ b/express-server/node_modules/node-forge/lib/pbkdf2.js @@ -0,0 +1,211 @@ +/** + * Password-Based Key-Derivation Function #2 implementation. + * + * See RFC 2898 for details. + * + * @author Dave Longley + * + * Copyright (c) 2010-2013 Digital Bazaar, Inc. + */ +var forge = require('./forge'); +require('./hmac'); +require('./md'); +require('./util'); + +var pkcs5 = forge.pkcs5 = forge.pkcs5 || {}; + +var crypto; +if(forge.util.isNodejs && !forge.options.usePureJavaScript) { + crypto = require('crypto'); +} + +/** + * Derives a key from a password. + * + * @param p the password as a binary-encoded string of bytes. + * @param s the salt as a binary-encoded string of bytes. + * @param c the iteration count, a positive integer. + * @param dkLen the intended length, in bytes, of the derived key, + * (max: 2^32 - 1) * hash length of the PRF. + * @param [md] the message digest (or algorithm identifier as a string) to use + * in the PRF, defaults to SHA-1. + * @param [callback(err, key)] presence triggers asynchronous version, called + * once the operation completes. + * + * @return the derived key, as a binary-encoded string of bytes, for the + * synchronous version (if no callback is specified). + */ +module.exports = forge.pbkdf2 = pkcs5.pbkdf2 = function( + p, s, c, dkLen, md, callback) { + if(typeof md === 'function') { + callback = md; + md = null; + } + + // use native implementation if possible and not disabled, note that + // some node versions only support SHA-1, others allow digest to be changed + if(forge.util.isNodejs && !forge.options.usePureJavaScript && + crypto.pbkdf2 && (md === null || typeof md !== 'object') && + (crypto.pbkdf2Sync.length > 4 || (!md || md === 'sha1'))) { + if(typeof md !== 'string') { + // default prf to SHA-1 + md = 'sha1'; + } + p = new Buffer(p, 'binary'); + s = new Buffer(s, 'binary'); + if(!callback) { + if(crypto.pbkdf2Sync.length === 4) { + return crypto.pbkdf2Sync(p, s, c, dkLen).toString('binary'); + } + return crypto.pbkdf2Sync(p, s, c, dkLen, md).toString('binary'); + } + if(crypto.pbkdf2Sync.length === 4) { + return crypto.pbkdf2(p, s, c, dkLen, function(err, key) { + if(err) { + return callback(err); + } + callback(null, key.toString('binary')); + }); + } + return crypto.pbkdf2(p, s, c, dkLen, md, function(err, key) { + if(err) { + return callback(err); + } + callback(null, key.toString('binary')); + }); + } + + if(typeof md === 'undefined' || md === null) { + // default prf to SHA-1 + md = 'sha1'; + } + if(typeof md === 'string') { + if(!(md in forge.md.algorithms)) { + throw new Error('Unknown hash algorithm: ' + md); + } + md = forge.md[md].create(); + } + + var hLen = md.digestLength; + + /* 1. If dkLen > (2^32 - 1) * hLen, output "derived key too long" and + stop. */ + if(dkLen > (0xFFFFFFFF * hLen)) { + var err = new Error('Derived key is too long.'); + if(callback) { + return callback(err); + } + throw err; + } + + /* 2. Let len be the number of hLen-octet blocks in the derived key, + rounding up, and let r be the number of octets in the last + block: + + len = CEIL(dkLen / hLen), + r = dkLen - (len - 1) * hLen. */ + var len = Math.ceil(dkLen / hLen); + var r = dkLen - (len - 1) * hLen; + + /* 3. For each block of the derived key apply the function F defined + below to the password P, the salt S, the iteration count c, and + the block index to compute the block: + + T_1 = F(P, S, c, 1), + T_2 = F(P, S, c, 2), + ... + T_len = F(P, S, c, len), + + where the function F is defined as the exclusive-or sum of the + first c iterates of the underlying pseudorandom function PRF + applied to the password P and the concatenation of the salt S + and the block index i: + + F(P, S, c, i) = u_1 XOR u_2 XOR ... XOR u_c + + where + + u_1 = PRF(P, S || INT(i)), + u_2 = PRF(P, u_1), + ... + u_c = PRF(P, u_{c-1}). + + Here, INT(i) is a four-octet encoding of the integer i, most + significant octet first. */ + var prf = forge.hmac.create(); + prf.start(md, p); + var dk = ''; + var xor, u_c, u_c1; + + // sync version + if(!callback) { + for(var i = 1; i <= len; ++i) { + // PRF(P, S || INT(i)) (first iteration) + prf.start(null, null); + prf.update(s); + prf.update(forge.util.int32ToBytes(i)); + xor = u_c1 = prf.digest().getBytes(); + + // PRF(P, u_{c-1}) (other iterations) + for(var j = 2; j <= c; ++j) { + prf.start(null, null); + prf.update(u_c1); + u_c = prf.digest().getBytes(); + // F(p, s, c, i) + xor = forge.util.xorBytes(xor, u_c, hLen); + u_c1 = u_c; + } + + /* 4. Concatenate the blocks and extract the first dkLen octets to + produce a derived key DK: + + DK = T_1 || T_2 || ... || T_len<0..r-1> */ + dk += (i < len) ? xor : xor.substr(0, r); + } + /* 5. Output the derived key DK. */ + return dk; + } + + // async version + var i = 1, j; + function outer() { + if(i > len) { + // done + return callback(null, dk); + } + + // PRF(P, S || INT(i)) (first iteration) + prf.start(null, null); + prf.update(s); + prf.update(forge.util.int32ToBytes(i)); + xor = u_c1 = prf.digest().getBytes(); + + // PRF(P, u_{c-1}) (other iterations) + j = 2; + inner(); + } + + function inner() { + if(j <= c) { + prf.start(null, null); + prf.update(u_c1); + u_c = prf.digest().getBytes(); + // F(p, s, c, i) + xor = forge.util.xorBytes(xor, u_c, hLen); + u_c1 = u_c; + ++j; + return forge.util.setImmediate(inner); + } + + /* 4. Concatenate the blocks and extract the first dkLen octets to + produce a derived key DK: + + DK = T_1 || T_2 || ... || T_len<0..r-1> */ + dk += (i < len) ? xor : xor.substr(0, r); + + ++i; + outer(); + } + + outer(); +}; diff --git a/express-server/node_modules/node-forge/lib/pem.js b/express-server/node_modules/node-forge/lib/pem.js new file mode 100644 index 00000000..aed8bdf9 --- /dev/null +++ b/express-server/node_modules/node-forge/lib/pem.js @@ -0,0 +1,230 @@ +/** + * Javascript implementation of basic PEM (Privacy Enhanced Mail) algorithms. + * + * See: RFC 1421. + * + * @author Dave Longley + * + * Copyright (c) 2013-2014 Digital Bazaar, Inc. + * + * A Forge PEM object has the following fields: + * + * type: identifies the type of message (eg: "RSA PRIVATE KEY"). + * + * procType: identifies the type of processing performed on the message, + * it has two subfields: version and type, eg: 4,ENCRYPTED. + * + * contentDomain: identifies the type of content in the message, typically + * only uses the value: "RFC822". + * + * dekInfo: identifies the message encryption algorithm and mode and includes + * any parameters for the algorithm, it has two subfields: algorithm and + * parameters, eg: DES-CBC,F8143EDE5960C597. + * + * headers: contains all other PEM encapsulated headers -- where order is + * significant (for pairing data like recipient ID + key info). + * + * body: the binary-encoded body. + */ +var forge = require('./forge'); +require('./util'); + +// shortcut for pem API +var pem = module.exports = forge.pem = forge.pem || {}; + +/** + * Encodes (serializes) the given PEM object. + * + * @param msg the PEM message object to encode. + * @param options the options to use: + * maxline the maximum characters per line for the body, (default: 64). + * + * @return the PEM-formatted string. + */ +pem.encode = function(msg, options) { + options = options || {}; + var rval = '-----BEGIN ' + msg.type + '-----\r\n'; + + // encode special headers + var header; + if(msg.procType) { + header = { + name: 'Proc-Type', + values: [String(msg.procType.version), msg.procType.type] + }; + rval += foldHeader(header); + } + if(msg.contentDomain) { + header = {name: 'Content-Domain', values: [msg.contentDomain]}; + rval += foldHeader(header); + } + if(msg.dekInfo) { + header = {name: 'DEK-Info', values: [msg.dekInfo.algorithm]}; + if(msg.dekInfo.parameters) { + header.values.push(msg.dekInfo.parameters); + } + rval += foldHeader(header); + } + + if(msg.headers) { + // encode all other headers + for(var i = 0; i < msg.headers.length; ++i) { + rval += foldHeader(msg.headers[i]); + } + } + + // terminate header + if(msg.procType) { + rval += '\r\n'; + } + + // add body + rval += forge.util.encode64(msg.body, options.maxline || 64) + '\r\n'; + + rval += '-----END ' + msg.type + '-----\r\n'; + return rval; +}; + +/** + * Decodes (deserializes) all PEM messages found in the given string. + * + * @param str the PEM-formatted string to decode. + * + * @return the PEM message objects in an array. + */ +pem.decode = function(str) { + var rval = []; + + // split string into PEM messages (be lenient w/EOF on BEGIN line) + var rMessage = /\s*-----BEGIN ([A-Z0-9- ]+)-----\r?\n?([\x21-\x7e\s]+?(?:\r?\n\r?\n))?([:A-Za-z0-9+\/=\s]+?)-----END \1-----/g; + var rHeader = /([\x21-\x7e]+):\s*([\x21-\x7e\s^:]+)/; + var rCRLF = /\r?\n/; + var match; + while(true) { + match = rMessage.exec(str); + if(!match) { + break; + } + + var msg = { + type: match[1], + procType: null, + contentDomain: null, + dekInfo: null, + headers: [], + body: forge.util.decode64(match[3]) + }; + rval.push(msg); + + // no headers + if(!match[2]) { + continue; + } + + // parse headers + var lines = match[2].split(rCRLF); + var li = 0; + while(match && li < lines.length) { + // get line, trim any rhs whitespace + var line = lines[li].replace(/\s+$/, ''); + + // RFC2822 unfold any following folded lines + for(var nl = li + 1; nl < lines.length; ++nl) { + var next = lines[nl]; + if(!/\s/.test(next[0])) { + break; + } + line += next; + li = nl; + } + + // parse header + match = line.match(rHeader); + if(match) { + var header = {name: match[1], values: []}; + var values = match[2].split(','); + for(var vi = 0; vi < values.length; ++vi) { + header.values.push(ltrim(values[vi])); + } + + // Proc-Type must be the first header + if(!msg.procType) { + if(header.name !== 'Proc-Type') { + throw new Error('Invalid PEM formatted message. The first ' + + 'encapsulated header must be "Proc-Type".'); + } else if(header.values.length !== 2) { + throw new Error('Invalid PEM formatted message. The "Proc-Type" ' + + 'header must have two subfields.'); + } + msg.procType = {version: values[0], type: values[1]}; + } else if(!msg.contentDomain && header.name === 'Content-Domain') { + // special-case Content-Domain + msg.contentDomain = values[0] || ''; + } else if(!msg.dekInfo && header.name === 'DEK-Info') { + // special-case DEK-Info + if(header.values.length === 0) { + throw new Error('Invalid PEM formatted message. The "DEK-Info" ' + + 'header must have at least one subfield.'); + } + msg.dekInfo = {algorithm: values[0], parameters: values[1] || null}; + } else { + msg.headers.push(header); + } + } + + ++li; + } + + if(msg.procType === 'ENCRYPTED' && !msg.dekInfo) { + throw new Error('Invalid PEM formatted message. The "DEK-Info" ' + + 'header must be present if "Proc-Type" is "ENCRYPTED".'); + } + } + + if(rval.length === 0) { + throw new Error('Invalid PEM formatted message.'); + } + + return rval; +}; + +function foldHeader(header) { + var rval = header.name + ': '; + + // ensure values with CRLF are folded + var values = []; + var insertSpace = function(match, $1) { + return ' ' + $1; + }; + for(var i = 0; i < header.values.length; ++i) { + values.push(header.values[i].replace(/^(\S+\r\n)/, insertSpace)); + } + rval += values.join(',') + '\r\n'; + + // do folding + var length = 0; + var candidate = -1; + for(var i = 0; i < rval.length; ++i, ++length) { + if(length > 65 && candidate !== -1) { + var insert = rval[candidate]; + if(insert === ',') { + ++candidate; + rval = rval.substr(0, candidate) + '\r\n ' + rval.substr(candidate); + } else { + rval = rval.substr(0, candidate) + + '\r\n' + insert + rval.substr(candidate + 1); + } + length = (i - candidate - 1); + candidate = -1; + ++i; + } else if(rval[i] === ' ' || rval[i] === '\t' || rval[i] === ',') { + candidate = i; + } + } + + return rval; +} + +function ltrim(str) { + return str.replace(/^\s+/, ''); +} diff --git a/express-server/node_modules/node-forge/lib/pkcs1.js b/express-server/node_modules/node-forge/lib/pkcs1.js new file mode 100644 index 00000000..5fae4a07 --- /dev/null +++ b/express-server/node_modules/node-forge/lib/pkcs1.js @@ -0,0 +1,276 @@ +/** + * Partial implementation of PKCS#1 v2.2: RSA-OEAP + * + * Modified but based on the following MIT and BSD licensed code: + * + * https://github.com/kjur/jsjws/blob/master/rsa.js: + * + * The 'jsjws'(JSON Web Signature JavaScript Library) License + * + * Copyright (c) 2012 Kenji Urushima + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + * + * http://webrsa.cvs.sourceforge.net/viewvc/webrsa/Client/RSAES-OAEP.js?content-type=text%2Fplain: + * + * RSAES-OAEP.js + * $Id: RSAES-OAEP.js,v 1.1.1.1 2003/03/19 15:37:20 ellispritchard Exp $ + * JavaScript Implementation of PKCS #1 v2.1 RSA CRYPTOGRAPHY STANDARD (RSA Laboratories, June 14, 2002) + * Copyright (C) Ellis Pritchard, Guardian Unlimited 2003. + * Contact: ellis@nukinetics.com + * Distributed under the BSD License. + * + * Official documentation: http://www.rsa.com/rsalabs/node.asp?id=2125 + * + * @author Evan Jones (http://evanjones.ca/) + * @author Dave Longley + * + * Copyright (c) 2013-2014 Digital Bazaar, Inc. + */ +var forge = require('./forge'); +require('./util'); +require('./random'); +require('./sha1'); + +// shortcut for PKCS#1 API +var pkcs1 = module.exports = forge.pkcs1 = forge.pkcs1 || {}; + +/** + * Encode the given RSAES-OAEP message (M) using key, with optional label (L) + * and seed. + * + * This method does not perform RSA encryption, it only encodes the message + * using RSAES-OAEP. + * + * @param key the RSA key to use. + * @param message the message to encode. + * @param options the options to use: + * label an optional label to use. + * seed the seed to use. + * md the message digest object to use, undefined for SHA-1. + * mgf1 optional mgf1 parameters: + * md the message digest object to use for MGF1. + * + * @return the encoded message bytes. + */ +pkcs1.encode_rsa_oaep = function(key, message, options) { + // parse arguments + var label; + var seed; + var md; + var mgf1Md; + // legacy args (label, seed, md) + if(typeof options === 'string') { + label = options; + seed = arguments[3] || undefined; + md = arguments[4] || undefined; + } else if(options) { + label = options.label || undefined; + seed = options.seed || undefined; + md = options.md || undefined; + if(options.mgf1 && options.mgf1.md) { + mgf1Md = options.mgf1.md; + } + } + + // default OAEP to SHA-1 message digest + if(!md) { + md = forge.md.sha1.create(); + } else { + md.start(); + } + + // default MGF-1 to same as OAEP + if(!mgf1Md) { + mgf1Md = md; + } + + // compute length in bytes and check output + var keyLength = Math.ceil(key.n.bitLength() / 8); + var maxLength = keyLength - 2 * md.digestLength - 2; + if(message.length > maxLength) { + var error = new Error('RSAES-OAEP input message length is too long.'); + error.length = message.length; + error.maxLength = maxLength; + throw error; + } + + if(!label) { + label = ''; + } + md.update(label, 'raw'); + var lHash = md.digest(); + + var PS = ''; + var PS_length = maxLength - message.length; + for (var i = 0; i < PS_length; i++) { + PS += '\x00'; + } + + var DB = lHash.getBytes() + PS + '\x01' + message; + + if(!seed) { + seed = forge.random.getBytes(md.digestLength); + } else if(seed.length !== md.digestLength) { + var error = new Error('Invalid RSAES-OAEP seed. The seed length must ' + + 'match the digest length.'); + error.seedLength = seed.length; + error.digestLength = md.digestLength; + throw error; + } + + var dbMask = rsa_mgf1(seed, keyLength - md.digestLength - 1, mgf1Md); + var maskedDB = forge.util.xorBytes(DB, dbMask, DB.length); + + var seedMask = rsa_mgf1(maskedDB, md.digestLength, mgf1Md); + var maskedSeed = forge.util.xorBytes(seed, seedMask, seed.length); + + // return encoded message + return '\x00' + maskedSeed + maskedDB; +}; + +/** + * Decode the given RSAES-OAEP encoded message (EM) using key, with optional + * label (L). + * + * This method does not perform RSA decryption, it only decodes the message + * using RSAES-OAEP. + * + * @param key the RSA key to use. + * @param em the encoded message to decode. + * @param options the options to use: + * label an optional label to use. + * md the message digest object to use for OAEP, undefined for SHA-1. + * mgf1 optional mgf1 parameters: + * md the message digest object to use for MGF1. + * + * @return the decoded message bytes. + */ +pkcs1.decode_rsa_oaep = function(key, em, options) { + // parse args + var label; + var md; + var mgf1Md; + // legacy args + if(typeof options === 'string') { + label = options; + md = arguments[3] || undefined; + } else if(options) { + label = options.label || undefined; + md = options.md || undefined; + if(options.mgf1 && options.mgf1.md) { + mgf1Md = options.mgf1.md; + } + } + + // compute length in bytes + var keyLength = Math.ceil(key.n.bitLength() / 8); + + if(em.length !== keyLength) { + var error = new Error('RSAES-OAEP encoded message length is invalid.'); + error.length = em.length; + error.expectedLength = keyLength; + throw error; + } + + // default OAEP to SHA-1 message digest + if(md === undefined) { + md = forge.md.sha1.create(); + } else { + md.start(); + } + + // default MGF-1 to same as OAEP + if(!mgf1Md) { + mgf1Md = md; + } + + if(keyLength < 2 * md.digestLength + 2) { + throw new Error('RSAES-OAEP key is too short for the hash function.'); + } + + if(!label) { + label = ''; + } + md.update(label, 'raw'); + var lHash = md.digest().getBytes(); + + // split the message into its parts + var y = em.charAt(0); + var maskedSeed = em.substring(1, md.digestLength + 1); + var maskedDB = em.substring(1 + md.digestLength); + + var seedMask = rsa_mgf1(maskedDB, md.digestLength, mgf1Md); + var seed = forge.util.xorBytes(maskedSeed, seedMask, maskedSeed.length); + + var dbMask = rsa_mgf1(seed, keyLength - md.digestLength - 1, mgf1Md); + var db = forge.util.xorBytes(maskedDB, dbMask, maskedDB.length); + + var lHashPrime = db.substring(0, md.digestLength); + + // constant time check that all values match what is expected + var error = (y !== '\x00'); + + // constant time check lHash vs lHashPrime + for(var i = 0; i < md.digestLength; ++i) { + error |= (lHash.charAt(i) !== lHashPrime.charAt(i)); + } + + // "constant time" find the 0x1 byte separating the padding (zeros) from the + // message + // TODO: It must be possible to do this in a better/smarter way? + var in_ps = 1; + var index = md.digestLength; + for(var j = md.digestLength; j < db.length; j++) { + var code = db.charCodeAt(j); + + var is_0 = (code & 0x1) ^ 0x1; + + // non-zero if not 0 or 1 in the ps section + var error_mask = in_ps ? 0xfffe : 0x0000; + error |= (code & error_mask); + + // latch in_ps to zero after we find 0x1 + in_ps = in_ps & is_0; + index += in_ps; + } + + if(error || db.charCodeAt(index) !== 0x1) { + throw new Error('Invalid RSAES-OAEP padding.'); + } + + return db.substring(index + 1); +}; + +function rsa_mgf1(seed, maskLength, hash) { + // default to SHA-1 message digest + if(!hash) { + hash = forge.md.sha1.create(); + } + var t = ''; + var count = Math.ceil(maskLength / hash.digestLength); + for(var i = 0; i < count; ++i) { + var c = String.fromCharCode( + (i >> 24) & 0xFF, (i >> 16) & 0xFF, (i >> 8) & 0xFF, i & 0xFF); + hash.start(); + hash.update(seed + c); + t += hash.digest().getBytes(); + } + return t.substring(0, maskLength); +} diff --git a/express-server/node_modules/node-forge/lib/pkcs12.js b/express-server/node_modules/node-forge/lib/pkcs12.js new file mode 100644 index 00000000..19ff2a9e --- /dev/null +++ b/express-server/node_modules/node-forge/lib/pkcs12.js @@ -0,0 +1,1074 @@ +/** + * Javascript implementation of PKCS#12. + * + * @author Dave Longley + * @author Stefan Siegl + * + * Copyright (c) 2010-2014 Digital Bazaar, Inc. + * Copyright (c) 2012 Stefan Siegl + * + * The ASN.1 representation of PKCS#12 is as follows + * (see ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-12/pkcs-12-tc1.pdf for details) + * + * PFX ::= SEQUENCE { + * version INTEGER {v3(3)}(v3,...), + * authSafe ContentInfo, + * macData MacData OPTIONAL + * } + * + * MacData ::= SEQUENCE { + * mac DigestInfo, + * macSalt OCTET STRING, + * iterations INTEGER DEFAULT 1 + * } + * Note: The iterations default is for historical reasons and its use is + * deprecated. A higher value, like 1024, is recommended. + * + * DigestInfo is defined in PKCS#7 as follows: + * + * DigestInfo ::= SEQUENCE { + * digestAlgorithm DigestAlgorithmIdentifier, + * digest Digest + * } + * + * DigestAlgorithmIdentifier ::= AlgorithmIdentifier + * + * The AlgorithmIdentifier contains an Object Identifier (OID) and parameters + * for the algorithm, if any. In the case of SHA1 there is none. + * + * AlgorithmIdentifer ::= SEQUENCE { + * algorithm OBJECT IDENTIFIER, + * parameters ANY DEFINED BY algorithm OPTIONAL + * } + * + * Digest ::= OCTET STRING + * + * + * ContentInfo ::= SEQUENCE { + * contentType ContentType, + * content [0] EXPLICIT ANY DEFINED BY contentType OPTIONAL + * } + * + * ContentType ::= OBJECT IDENTIFIER + * + * AuthenticatedSafe ::= SEQUENCE OF ContentInfo + * -- Data if unencrypted + * -- EncryptedData if password-encrypted + * -- EnvelopedData if public key-encrypted + * + * + * SafeContents ::= SEQUENCE OF SafeBag + * + * SafeBag ::= SEQUENCE { + * bagId BAG-TYPE.&id ({PKCS12BagSet}) + * bagValue [0] EXPLICIT BAG-TYPE.&Type({PKCS12BagSet}{@bagId}), + * bagAttributes SET OF PKCS12Attribute OPTIONAL + * } + * + * PKCS12Attribute ::= SEQUENCE { + * attrId ATTRIBUTE.&id ({PKCS12AttrSet}), + * attrValues SET OF ATTRIBUTE.&Type ({PKCS12AttrSet}{@attrId}) + * } -- This type is compatible with the X.500 type ’Attribute’ + * + * PKCS12AttrSet ATTRIBUTE ::= { + * friendlyName | -- from PKCS #9 + * localKeyId, -- from PKCS #9 + * ... -- Other attributes are allowed + * } + * + * CertBag ::= SEQUENCE { + * certId BAG-TYPE.&id ({CertTypes}), + * certValue [0] EXPLICIT BAG-TYPE.&Type ({CertTypes}{@certId}) + * } + * + * x509Certificate BAG-TYPE ::= {OCTET STRING IDENTIFIED BY {certTypes 1}} + * -- DER-encoded X.509 certificate stored in OCTET STRING + * + * sdsiCertificate BAG-TYPE ::= {IA5String IDENTIFIED BY {certTypes 2}} + * -- Base64-encoded SDSI certificate stored in IA5String + * + * CertTypes BAG-TYPE ::= { + * x509Certificate | + * sdsiCertificate, + * ... -- For future extensions + * } + */ +var forge = require('./forge'); +require('./asn1'); +require('./hmac'); +require('./oids'); +require('./pkcs7asn1'); +require('./pbe'); +require('./random'); +require('./rsa'); +require('./sha1'); +require('./util'); +require('./x509'); + +// shortcut for asn.1 & PKI API +var asn1 = forge.asn1; +var pki = forge.pki; + +// shortcut for PKCS#12 API +var p12 = module.exports = forge.pkcs12 = forge.pkcs12 || {}; + +var contentInfoValidator = { + name: 'ContentInfo', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SEQUENCE, // a ContentInfo + constructed: true, + value: [{ + name: 'ContentInfo.contentType', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.OID, + constructed: false, + capture: 'contentType' + }, { + name: 'ContentInfo.content', + tagClass: asn1.Class.CONTEXT_SPECIFIC, + constructed: true, + captureAsn1: 'content' + }] +}; + +var pfxValidator = { + name: 'PFX', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SEQUENCE, + constructed: true, + value: [{ + name: 'PFX.version', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.INTEGER, + constructed: false, + capture: 'version' + }, + contentInfoValidator, { + name: 'PFX.macData', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SEQUENCE, + constructed: true, + optional: true, + captureAsn1: 'mac', + value: [{ + name: 'PFX.macData.mac', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SEQUENCE, // DigestInfo + constructed: true, + value: [{ + name: 'PFX.macData.mac.digestAlgorithm', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SEQUENCE, // DigestAlgorithmIdentifier + constructed: true, + value: [{ + name: 'PFX.macData.mac.digestAlgorithm.algorithm', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.OID, + constructed: false, + capture: 'macAlgorithm' + }, { + name: 'PFX.macData.mac.digestAlgorithm.parameters', + tagClass: asn1.Class.UNIVERSAL, + captureAsn1: 'macAlgorithmParameters' + }] + }, { + name: 'PFX.macData.mac.digest', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.OCTETSTRING, + constructed: false, + capture: 'macDigest' + }] + }, { + name: 'PFX.macData.macSalt', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.OCTETSTRING, + constructed: false, + capture: 'macSalt' + }, { + name: 'PFX.macData.iterations', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.INTEGER, + constructed: false, + optional: true, + capture: 'macIterations' + }] + }] +}; + +var safeBagValidator = { + name: 'SafeBag', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SEQUENCE, + constructed: true, + value: [{ + name: 'SafeBag.bagId', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.OID, + constructed: false, + capture: 'bagId' + }, { + name: 'SafeBag.bagValue', + tagClass: asn1.Class.CONTEXT_SPECIFIC, + constructed: true, + captureAsn1: 'bagValue' + }, { + name: 'SafeBag.bagAttributes', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SET, + constructed: true, + optional: true, + capture: 'bagAttributes' + }] +}; + +var attributeValidator = { + name: 'Attribute', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SEQUENCE, + constructed: true, + value: [{ + name: 'Attribute.attrId', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.OID, + constructed: false, + capture: 'oid' + }, { + name: 'Attribute.attrValues', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SET, + constructed: true, + capture: 'values' + }] +}; + +var certBagValidator = { + name: 'CertBag', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SEQUENCE, + constructed: true, + value: [{ + name: 'CertBag.certId', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.OID, + constructed: false, + capture: 'certId' + }, { + name: 'CertBag.certValue', + tagClass: asn1.Class.CONTEXT_SPECIFIC, + constructed: true, + /* So far we only support X.509 certificates (which are wrapped in + an OCTET STRING, hence hard code that here). */ + value: [{ + name: 'CertBag.certValue[0]', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Class.OCTETSTRING, + constructed: false, + capture: 'cert' + }] + }] +}; + +/** + * Search SafeContents structure for bags with matching attributes. + * + * The search can optionally be narrowed by a certain bag type. + * + * @param safeContents the SafeContents structure to search in. + * @param attrName the name of the attribute to compare against. + * @param attrValue the attribute value to search for. + * @param [bagType] bag type to narrow search by. + * + * @return an array of matching bags. + */ +function _getBagsByAttribute(safeContents, attrName, attrValue, bagType) { + var result = []; + + for(var i = 0; i < safeContents.length; i++) { + for(var j = 0; j < safeContents[i].safeBags.length; j++) { + var bag = safeContents[i].safeBags[j]; + if(bagType !== undefined && bag.type !== bagType) { + continue; + } + // only filter by bag type, no attribute specified + if(attrName === null) { + result.push(bag); + continue; + } + if(bag.attributes[attrName] !== undefined && + bag.attributes[attrName].indexOf(attrValue) >= 0) { + result.push(bag); + } + } + } + + return result; +} + +/** + * Converts a PKCS#12 PFX in ASN.1 notation into a PFX object. + * + * @param obj The PKCS#12 PFX in ASN.1 notation. + * @param strict true to use strict DER decoding, false not to (default: true). + * @param {String} password Password to decrypt with (optional). + * + * @return PKCS#12 PFX object. + */ +p12.pkcs12FromAsn1 = function(obj, strict, password) { + // handle args + if(typeof strict === 'string') { + password = strict; + strict = true; + } else if(strict === undefined) { + strict = true; + } + + // validate PFX and capture data + var capture = {}; + var errors = []; + if(!asn1.validate(obj, pfxValidator, capture, errors)) { + var error = new Error('Cannot read PKCS#12 PFX. ' + + 'ASN.1 object is not an PKCS#12 PFX.'); + error.errors = error; + throw error; + } + + var pfx = { + version: capture.version.charCodeAt(0), + safeContents: [], + + /** + * Gets bags with matching attributes. + * + * @param filter the attributes to filter by: + * [localKeyId] the localKeyId to search for. + * [localKeyIdHex] the localKeyId in hex to search for. + * [friendlyName] the friendly name to search for. + * [bagType] bag type to narrow each attribute search by. + * + * @return a map of attribute type to an array of matching bags or, if no + * attribute was given but a bag type, the map key will be the + * bag type. + */ + getBags: function(filter) { + var rval = {}; + + var localKeyId; + if('localKeyId' in filter) { + localKeyId = filter.localKeyId; + } else if('localKeyIdHex' in filter) { + localKeyId = forge.util.hexToBytes(filter.localKeyIdHex); + } + + // filter on bagType only + if(localKeyId === undefined && !('friendlyName' in filter) && + 'bagType' in filter) { + rval[filter.bagType] = _getBagsByAttribute( + pfx.safeContents, null, null, filter.bagType); + } + + if(localKeyId !== undefined) { + rval.localKeyId = _getBagsByAttribute( + pfx.safeContents, 'localKeyId', + localKeyId, filter.bagType); + } + if('friendlyName' in filter) { + rval.friendlyName = _getBagsByAttribute( + pfx.safeContents, 'friendlyName', + filter.friendlyName, filter.bagType); + } + + return rval; + }, + + /** + * DEPRECATED: use getBags() instead. + * + * Get bags with matching friendlyName attribute. + * + * @param friendlyName the friendly name to search for. + * @param [bagType] bag type to narrow search by. + * + * @return an array of bags with matching friendlyName attribute. + */ + getBagsByFriendlyName: function(friendlyName, bagType) { + return _getBagsByAttribute( + pfx.safeContents, 'friendlyName', friendlyName, bagType); + }, + + /** + * DEPRECATED: use getBags() instead. + * + * Get bags with matching localKeyId attribute. + * + * @param localKeyId the localKeyId to search for. + * @param [bagType] bag type to narrow search by. + * + * @return an array of bags with matching localKeyId attribute. + */ + getBagsByLocalKeyId: function(localKeyId, bagType) { + return _getBagsByAttribute( + pfx.safeContents, 'localKeyId', localKeyId, bagType); + } + }; + + if(capture.version.charCodeAt(0) !== 3) { + var error = new Error('PKCS#12 PFX of version other than 3 not supported.'); + error.version = capture.version.charCodeAt(0); + throw error; + } + + if(asn1.derToOid(capture.contentType) !== pki.oids.data) { + var error = new Error('Only PKCS#12 PFX in password integrity mode supported.'); + error.oid = asn1.derToOid(capture.contentType); + throw error; + } + + var data = capture.content.value[0]; + if(data.tagClass !== asn1.Class.UNIVERSAL || + data.type !== asn1.Type.OCTETSTRING) { + throw new Error('PKCS#12 authSafe content data is not an OCTET STRING.'); + } + data = _decodePkcs7Data(data); + + // check for MAC + if(capture.mac) { + var md = null; + var macKeyBytes = 0; + var macAlgorithm = asn1.derToOid(capture.macAlgorithm); + switch(macAlgorithm) { + case pki.oids.sha1: + md = forge.md.sha1.create(); + macKeyBytes = 20; + break; + case pki.oids.sha256: + md = forge.md.sha256.create(); + macKeyBytes = 32; + break; + case pki.oids.sha384: + md = forge.md.sha384.create(); + macKeyBytes = 48; + break; + case pki.oids.sha512: + md = forge.md.sha512.create(); + macKeyBytes = 64; + break; + case pki.oids.md5: + md = forge.md.md5.create(); + macKeyBytes = 16; + break; + } + if(md === null) { + throw new Error('PKCS#12 uses unsupported MAC algorithm: ' + macAlgorithm); + } + + // verify MAC (iterations default to 1) + var macSalt = new forge.util.ByteBuffer(capture.macSalt); + var macIterations = (('macIterations' in capture) ? + parseInt(forge.util.bytesToHex(capture.macIterations), 16) : 1); + var macKey = p12.generateKey( + password, macSalt, 3, macIterations, macKeyBytes, md); + var mac = forge.hmac.create(); + mac.start(md, macKey); + mac.update(data.value); + var macValue = mac.getMac(); + if(macValue.getBytes() !== capture.macDigest) { + throw new Error('PKCS#12 MAC could not be verified. Invalid password?'); + } + } + + _decodeAuthenticatedSafe(pfx, data.value, strict, password); + return pfx; +}; + +/** + * Decodes PKCS#7 Data. PKCS#7 (RFC 2315) defines "Data" as an OCTET STRING, + * but it is sometimes an OCTET STRING that is composed/constructed of chunks, + * each its own OCTET STRING. This is BER-encoding vs. DER-encoding. This + * function transforms this corner-case into the usual simple, + * non-composed/constructed OCTET STRING. + * + * This function may be moved to ASN.1 at some point to better deal with + * more BER-encoding issues, should they arise. + * + * @param data the ASN.1 Data object to transform. + */ +function _decodePkcs7Data(data) { + // handle special case of "chunked" data content: an octet string composed + // of other octet strings + if(data.composed || data.constructed) { + var value = forge.util.createBuffer(); + for(var i = 0; i < data.value.length; ++i) { + value.putBytes(data.value[i].value); + } + data.composed = data.constructed = false; + data.value = value.getBytes(); + } + return data; +} + +/** + * Decode PKCS#12 AuthenticatedSafe (BER encoded) into PFX object. + * + * The AuthenticatedSafe is a BER-encoded SEQUENCE OF ContentInfo. + * + * @param pfx The PKCS#12 PFX object to fill. + * @param {String} authSafe BER-encoded AuthenticatedSafe. + * @param strict true to use strict DER decoding, false not to. + * @param {String} password Password to decrypt with (optional). + */ +function _decodeAuthenticatedSafe(pfx, authSafe, strict, password) { + authSafe = asn1.fromDer(authSafe, strict); /* actually it's BER encoded */ + + if(authSafe.tagClass !== asn1.Class.UNIVERSAL || + authSafe.type !== asn1.Type.SEQUENCE || + authSafe.constructed !== true) { + throw new Error('PKCS#12 AuthenticatedSafe expected to be a ' + + 'SEQUENCE OF ContentInfo'); + } + + for(var i = 0; i < authSafe.value.length; i++) { + var contentInfo = authSafe.value[i]; + + // validate contentInfo and capture data + var capture = {}; + var errors = []; + if(!asn1.validate(contentInfo, contentInfoValidator, capture, errors)) { + var error = new Error('Cannot read ContentInfo.'); + error.errors = errors; + throw error; + } + + var obj = { + encrypted: false + }; + var safeContents = null; + var data = capture.content.value[0]; + switch(asn1.derToOid(capture.contentType)) { + case pki.oids.data: + if(data.tagClass !== asn1.Class.UNIVERSAL || + data.type !== asn1.Type.OCTETSTRING) { + throw new Error('PKCS#12 SafeContents Data is not an OCTET STRING.'); + } + safeContents = _decodePkcs7Data(data).value; + break; + case pki.oids.encryptedData: + safeContents = _decryptSafeContents(data, password); + obj.encrypted = true; + break; + default: + var error = new Error('Unsupported PKCS#12 contentType.'); + error.contentType = asn1.derToOid(capture.contentType); + throw error; + } + + obj.safeBags = _decodeSafeContents(safeContents, strict, password); + pfx.safeContents.push(obj); + } +} + +/** + * Decrypt PKCS#7 EncryptedData structure. + * + * @param data ASN.1 encoded EncryptedContentInfo object. + * @param password The user-provided password. + * + * @return The decrypted SafeContents (ASN.1 object). + */ +function _decryptSafeContents(data, password) { + var capture = {}; + var errors = []; + if(!asn1.validate( + data, forge.pkcs7.asn1.encryptedDataValidator, capture, errors)) { + var error = new Error('Cannot read EncryptedContentInfo.'); + error.errors = errors; + throw error; + } + + var oid = asn1.derToOid(capture.contentType); + if(oid !== pki.oids.data) { + var error = new Error( + 'PKCS#12 EncryptedContentInfo ContentType is not Data.'); + error.oid = oid; + throw error; + } + + // get cipher + oid = asn1.derToOid(capture.encAlgorithm); + var cipher = pki.pbe.getCipher(oid, capture.encParameter, password); + + // get encrypted data + var encryptedContentAsn1 = _decodePkcs7Data(capture.encryptedContentAsn1); + var encrypted = forge.util.createBuffer(encryptedContentAsn1.value); + + cipher.update(encrypted); + if(!cipher.finish()) { + throw new Error('Failed to decrypt PKCS#12 SafeContents.'); + } + + return cipher.output.getBytes(); +} + +/** + * Decode PKCS#12 SafeContents (BER-encoded) into array of Bag objects. + * + * The safeContents is a BER-encoded SEQUENCE OF SafeBag. + * + * @param {String} safeContents BER-encoded safeContents. + * @param strict true to use strict DER decoding, false not to. + * @param {String} password Password to decrypt with (optional). + * + * @return {Array} Array of Bag objects. + */ +function _decodeSafeContents(safeContents, strict, password) { + // if strict and no safe contents, return empty safes + if(!strict && safeContents.length === 0) { + return []; + } + + // actually it's BER-encoded + safeContents = asn1.fromDer(safeContents, strict); + + if(safeContents.tagClass !== asn1.Class.UNIVERSAL || + safeContents.type !== asn1.Type.SEQUENCE || + safeContents.constructed !== true) { + throw new Error( + 'PKCS#12 SafeContents expected to be a SEQUENCE OF SafeBag.'); + } + + var res = []; + for(var i = 0; i < safeContents.value.length; i++) { + var safeBag = safeContents.value[i]; + + // validate SafeBag and capture data + var capture = {}; + var errors = []; + if(!asn1.validate(safeBag, safeBagValidator, capture, errors)) { + var error = new Error('Cannot read SafeBag.'); + error.errors = errors; + throw error; + } + + /* Create bag object and push to result array. */ + var bag = { + type: asn1.derToOid(capture.bagId), + attributes: _decodeBagAttributes(capture.bagAttributes) + }; + res.push(bag); + + var validator, decoder; + var bagAsn1 = capture.bagValue.value[0]; + switch(bag.type) { + case pki.oids.pkcs8ShroudedKeyBag: + /* bagAsn1 has a EncryptedPrivateKeyInfo, which we need to decrypt. + Afterwards we can handle it like a keyBag, + which is a PrivateKeyInfo. */ + bagAsn1 = pki.decryptPrivateKeyInfo(bagAsn1, password); + if(bagAsn1 === null) { + throw new Error( + 'Unable to decrypt PKCS#8 ShroudedKeyBag, wrong password?'); + } + + /* fall through */ + case pki.oids.keyBag: + /* A PKCS#12 keyBag is a simple PrivateKeyInfo as understood by our + PKI module, hence we don't have to do validation/capturing here, + just pass what we already got. */ + try { + bag.key = pki.privateKeyFromAsn1(bagAsn1); + } catch(e) { + // ignore unknown key type, pass asn1 value + bag.key = null; + bag.asn1 = bagAsn1; + } + continue; /* Nothing more to do. */ + + case pki.oids.certBag: + /* A PKCS#12 certBag can wrap both X.509 and sdsi certificates. + Therefore put the SafeBag content through another validator to + capture the fields. Afterwards check & store the results. */ + validator = certBagValidator; + decoder = function() { + if(asn1.derToOid(capture.certId) !== pki.oids.x509Certificate) { + var error = new Error( + 'Unsupported certificate type, only X.509 supported.'); + error.oid = asn1.derToOid(capture.certId); + throw error; + } + + // true=produce cert hash + var certAsn1 = asn1.fromDer(capture.cert, strict); + try { + bag.cert = pki.certificateFromAsn1(certAsn1, true); + } catch(e) { + // ignore unknown cert type, pass asn1 value + bag.cert = null; + bag.asn1 = certAsn1; + } + }; + break; + + default: + var error = new Error('Unsupported PKCS#12 SafeBag type.'); + error.oid = bag.type; + throw error; + } + + /* Validate SafeBag value (i.e. CertBag, etc.) and capture data if needed. */ + if(validator !== undefined && + !asn1.validate(bagAsn1, validator, capture, errors)) { + var error = new Error('Cannot read PKCS#12 ' + validator.name); + error.errors = errors; + throw error; + } + + /* Call decoder function from above to store the results. */ + decoder(); + } + + return res; +} + +/** + * Decode PKCS#12 SET OF PKCS12Attribute into JavaScript object. + * + * @param attributes SET OF PKCS12Attribute (ASN.1 object). + * + * @return the decoded attributes. + */ +function _decodeBagAttributes(attributes) { + var decodedAttrs = {}; + + if(attributes !== undefined) { + for(var i = 0; i < attributes.length; ++i) { + var capture = {}; + var errors = []; + if(!asn1.validate(attributes[i], attributeValidator, capture, errors)) { + var error = new Error('Cannot read PKCS#12 BagAttribute.'); + error.errors = errors; + throw error; + } + + var oid = asn1.derToOid(capture.oid); + if(pki.oids[oid] === undefined) { + // unsupported attribute type, ignore. + continue; + } + + decodedAttrs[pki.oids[oid]] = []; + for(var j = 0; j < capture.values.length; ++j) { + decodedAttrs[pki.oids[oid]].push(capture.values[j].value); + } + } + } + + return decodedAttrs; +} + +/** + * Wraps a private key and certificate in a PKCS#12 PFX wrapper. If a + * password is provided then the private key will be encrypted. + * + * An entire certificate chain may also be included. To do this, pass + * an array for the "cert" parameter where the first certificate is + * the one that is paired with the private key and each subsequent one + * verifies the previous one. The certificates may be in PEM format or + * have been already parsed by Forge. + * + * @todo implement password-based-encryption for the whole package + * + * @param key the private key. + * @param cert the certificate (may be an array of certificates in order + * to specify a certificate chain). + * @param password the password to use, null for none. + * @param options: + * algorithm the encryption algorithm to use + * ('aes128', 'aes192', 'aes256', '3des'), defaults to 'aes128'. + * count the iteration count to use. + * saltSize the salt size to use. + * useMac true to include a MAC, false not to, defaults to true. + * localKeyId the local key ID to use, in hex. + * friendlyName the friendly name to use. + * generateLocalKeyId true to generate a random local key ID, + * false not to, defaults to true. + * + * @return the PKCS#12 PFX ASN.1 object. + */ +p12.toPkcs12Asn1 = function(key, cert, password, options) { + // set default options + options = options || {}; + options.saltSize = options.saltSize || 8; + options.count = options.count || 2048; + options.algorithm = options.algorithm || options.encAlgorithm || 'aes128'; + if(!('useMac' in options)) { + options.useMac = true; + } + if(!('localKeyId' in options)) { + options.localKeyId = null; + } + if(!('generateLocalKeyId' in options)) { + options.generateLocalKeyId = true; + } + + var localKeyId = options.localKeyId; + var bagAttrs; + if(localKeyId !== null) { + localKeyId = forge.util.hexToBytes(localKeyId); + } else if(options.generateLocalKeyId) { + // use SHA-1 of paired cert, if available + if(cert) { + var pairedCert = forge.util.isArray(cert) ? cert[0] : cert; + if(typeof pairedCert === 'string') { + pairedCert = pki.certificateFromPem(pairedCert); + } + var sha1 = forge.md.sha1.create(); + sha1.update(asn1.toDer(pki.certificateToAsn1(pairedCert)).getBytes()); + localKeyId = sha1.digest().getBytes(); + } else { + // FIXME: consider using SHA-1 of public key (which can be generated + // from private key components), see: cert.generateSubjectKeyIdentifier + // generate random bytes + localKeyId = forge.random.getBytes(20); + } + } + + var attrs = []; + if(localKeyId !== null) { + attrs.push( + // localKeyID + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + // attrId + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, + asn1.oidToDer(pki.oids.localKeyId).getBytes()), + // attrValues + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SET, true, [ + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OCTETSTRING, false, + localKeyId) + ]) + ])); + } + if('friendlyName' in options) { + attrs.push( + // friendlyName + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + // attrId + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, + asn1.oidToDer(pki.oids.friendlyName).getBytes()), + // attrValues + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SET, true, [ + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.BMPSTRING, false, + options.friendlyName) + ]) + ])); + } + + if(attrs.length > 0) { + bagAttrs = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SET, true, attrs); + } + + // collect contents for AuthenticatedSafe + var contents = []; + + // create safe bag(s) for certificate chain + var chain = []; + if(cert !== null) { + if(forge.util.isArray(cert)) { + chain = cert; + } else { + chain = [cert]; + } + } + + var certSafeBags = []; + for(var i = 0; i < chain.length; ++i) { + // convert cert from PEM as necessary + cert = chain[i]; + if(typeof cert === 'string') { + cert = pki.certificateFromPem(cert); + } + + // SafeBag + var certBagAttrs = (i === 0) ? bagAttrs : undefined; + var certAsn1 = pki.certificateToAsn1(cert); + var certSafeBag = + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + // bagId + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, + asn1.oidToDer(pki.oids.certBag).getBytes()), + // bagValue + asn1.create(asn1.Class.CONTEXT_SPECIFIC, 0, true, [ + // CertBag + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + // certId + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, + asn1.oidToDer(pki.oids.x509Certificate).getBytes()), + // certValue (x509Certificate) + asn1.create(asn1.Class.CONTEXT_SPECIFIC, 0, true, [ + asn1.create( + asn1.Class.UNIVERSAL, asn1.Type.OCTETSTRING, false, + asn1.toDer(certAsn1).getBytes()) + ])])]), + // bagAttributes (OPTIONAL) + certBagAttrs + ]); + certSafeBags.push(certSafeBag); + } + + if(certSafeBags.length > 0) { + // SafeContents + var certSafeContents = asn1.create( + asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, certSafeBags); + + // ContentInfo + var certCI = + // PKCS#7 ContentInfo + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + // contentType + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, + // OID for the content type is 'data' + asn1.oidToDer(pki.oids.data).getBytes()), + // content + asn1.create(asn1.Class.CONTEXT_SPECIFIC, 0, true, [ + asn1.create( + asn1.Class.UNIVERSAL, asn1.Type.OCTETSTRING, false, + asn1.toDer(certSafeContents).getBytes()) + ]) + ]); + contents.push(certCI); + } + + // create safe contents for private key + var keyBag = null; + if(key !== null) { + // SafeBag + var pkAsn1 = pki.wrapRsaPrivateKey(pki.privateKeyToAsn1(key)); + if(password === null) { + // no encryption + keyBag = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + // bagId + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, + asn1.oidToDer(pki.oids.keyBag).getBytes()), + // bagValue + asn1.create(asn1.Class.CONTEXT_SPECIFIC, 0, true, [ + // PrivateKeyInfo + pkAsn1 + ]), + // bagAttributes (OPTIONAL) + bagAttrs + ]); + } else { + // encrypted PrivateKeyInfo + keyBag = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + // bagId + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, + asn1.oidToDer(pki.oids.pkcs8ShroudedKeyBag).getBytes()), + // bagValue + asn1.create(asn1.Class.CONTEXT_SPECIFIC, 0, true, [ + // EncryptedPrivateKeyInfo + pki.encryptPrivateKeyInfo(pkAsn1, password, options) + ]), + // bagAttributes (OPTIONAL) + bagAttrs + ]); + } + + // SafeContents + var keySafeContents = + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [keyBag]); + + // ContentInfo + var keyCI = + // PKCS#7 ContentInfo + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + // contentType + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, + // OID for the content type is 'data' + asn1.oidToDer(pki.oids.data).getBytes()), + // content + asn1.create(asn1.Class.CONTEXT_SPECIFIC, 0, true, [ + asn1.create( + asn1.Class.UNIVERSAL, asn1.Type.OCTETSTRING, false, + asn1.toDer(keySafeContents).getBytes()) + ]) + ]); + contents.push(keyCI); + } + + // create AuthenticatedSafe by stringing together the contents + var safe = asn1.create( + asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, contents); + + var macData; + if(options.useMac) { + // MacData + var sha1 = forge.md.sha1.create(); + var macSalt = new forge.util.ByteBuffer( + forge.random.getBytes(options.saltSize)); + var count = options.count; + // 160-bit key + var key = p12.generateKey(password, macSalt, 3, count, 20); + var mac = forge.hmac.create(); + mac.start(sha1, key); + mac.update(asn1.toDer(safe).getBytes()); + var macValue = mac.getMac(); + macData = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + // mac DigestInfo + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + // digestAlgorithm + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + // algorithm = SHA-1 + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, + asn1.oidToDer(pki.oids.sha1).getBytes()), + // parameters = Null + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.NULL, false, '') + ]), + // digest + asn1.create( + asn1.Class.UNIVERSAL, asn1.Type.OCTETSTRING, + false, macValue.getBytes()) + ]), + // macSalt OCTET STRING + asn1.create( + asn1.Class.UNIVERSAL, asn1.Type.OCTETSTRING, false, macSalt.getBytes()), + // iterations INTEGER (XXX: Only support count < 65536) + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, + asn1.integerToDer(count).getBytes() + ) + ]); + } + + // PFX + return asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + // version (3) + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, + asn1.integerToDer(3).getBytes()), + // PKCS#7 ContentInfo + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + // contentType + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, + // OID for the content type is 'data' + asn1.oidToDer(pki.oids.data).getBytes()), + // content + asn1.create(asn1.Class.CONTEXT_SPECIFIC, 0, true, [ + asn1.create( + asn1.Class.UNIVERSAL, asn1.Type.OCTETSTRING, false, + asn1.toDer(safe).getBytes()) + ]) + ]), + macData + ]); +}; + +/** + * Derives a PKCS#12 key. + * + * @param password the password to derive the key material from, null or + * undefined for none. + * @param salt the salt, as a ByteBuffer, to use. + * @param id the PKCS#12 ID byte (1 = key material, 2 = IV, 3 = MAC). + * @param iter the iteration count. + * @param n the number of bytes to derive from the password. + * @param md the message digest to use, defaults to SHA-1. + * + * @return a ByteBuffer with the bytes derived from the password. + */ +p12.generateKey = forge.pbe.generatePkcs12Key; diff --git a/express-server/node_modules/node-forge/lib/pkcs7.js b/express-server/node_modules/node-forge/lib/pkcs7.js new file mode 100644 index 00000000..bb87de36 --- /dev/null +++ b/express-server/node_modules/node-forge/lib/pkcs7.js @@ -0,0 +1,1257 @@ +/** + * Javascript implementation of PKCS#7 v1.5. + * + * @author Stefan Siegl + * @author Dave Longley + * + * Copyright (c) 2012 Stefan Siegl + * Copyright (c) 2012-2015 Digital Bazaar, Inc. + * + * Currently this implementation only supports ContentType of EnvelopedData, + * EncryptedData, or SignedData at the root level. The top level elements may + * contain only a ContentInfo of ContentType Data, i.e. plain data. Further + * nesting is not (yet) supported. + * + * The Forge validators for PKCS #7's ASN.1 structures are available from + * a separate file pkcs7asn1.js, since those are referenced from other + * PKCS standards like PKCS #12. + */ +var forge = require('./forge'); +require('./aes'); +require('./asn1'); +require('./des'); +require('./oids'); +require('./pem'); +require('./pkcs7asn1'); +require('./random'); +require('./util'); +require('./x509'); + +// shortcut for ASN.1 API +var asn1 = forge.asn1; + +// shortcut for PKCS#7 API +var p7 = module.exports = forge.pkcs7 = forge.pkcs7 || {}; + +/** + * Converts a PKCS#7 message from PEM format. + * + * @param pem the PEM-formatted PKCS#7 message. + * + * @return the PKCS#7 message. + */ +p7.messageFromPem = function(pem) { + var msg = forge.pem.decode(pem)[0]; + + if(msg.type !== 'PKCS7') { + var error = new Error('Could not convert PKCS#7 message from PEM; PEM ' + + 'header type is not "PKCS#7".'); + error.headerType = msg.type; + throw error; + } + if(msg.procType && msg.procType.type === 'ENCRYPTED') { + throw new Error('Could not convert PKCS#7 message from PEM; PEM is encrypted.'); + } + + // convert DER to ASN.1 object + var obj = asn1.fromDer(msg.body); + + return p7.messageFromAsn1(obj); +}; + +/** + * Converts a PKCS#7 message to PEM format. + * + * @param msg The PKCS#7 message object + * @param maxline The maximum characters per line, defaults to 64. + * + * @return The PEM-formatted PKCS#7 message. + */ +p7.messageToPem = function(msg, maxline) { + // convert to ASN.1, then DER, then PEM-encode + var pemObj = { + type: 'PKCS7', + body: asn1.toDer(msg.toAsn1()).getBytes() + }; + return forge.pem.encode(pemObj, {maxline: maxline}); +}; + +/** + * Converts a PKCS#7 message from an ASN.1 object. + * + * @param obj the ASN.1 representation of a ContentInfo. + * + * @return the PKCS#7 message. + */ +p7.messageFromAsn1 = function(obj) { + // validate root level ContentInfo and capture data + var capture = {}; + var errors = []; + if(!asn1.validate(obj, p7.asn1.contentInfoValidator, capture, errors)) { + var error = new Error('Cannot read PKCS#7 message. ' + + 'ASN.1 object is not an PKCS#7 ContentInfo.'); + error.errors = errors; + throw error; + } + + var contentType = asn1.derToOid(capture.contentType); + var msg; + + switch(contentType) { + case forge.pki.oids.envelopedData: + msg = p7.createEnvelopedData(); + break; + + case forge.pki.oids.encryptedData: + msg = p7.createEncryptedData(); + break; + + case forge.pki.oids.signedData: + msg = p7.createSignedData(); + break; + + default: + throw new Error('Cannot read PKCS#7 message. ContentType with OID ' + + contentType + ' is not (yet) supported.'); + } + + msg.fromAsn1(capture.content.value[0]); + return msg; +}; + +p7.createSignedData = function() { + var msg = null; + msg = { + type: forge.pki.oids.signedData, + version: 1, + certificates: [], + crls: [], + // TODO: add json-formatted signer stuff here? + signers: [], + // populated during sign() + digestAlgorithmIdentifiers: [], + contentInfo: null, + signerInfos: [], + + fromAsn1: function(obj) { + // validate SignedData content block and capture data. + _fromAsn1(msg, obj, p7.asn1.signedDataValidator); + msg.certificates = []; + msg.crls = []; + msg.digestAlgorithmIdentifiers = []; + msg.contentInfo = null; + msg.signerInfos = []; + + if(msg.rawCapture.certificates) { + var certs = msg.rawCapture.certificates.value; + for(var i = 0; i < certs.length; ++i) { + msg.certificates.push(forge.pki.certificateFromAsn1(certs[i])); + } + } + + // TODO: parse crls + }, + + toAsn1: function() { + // degenerate case with no content + if(!msg.contentInfo) { + msg.sign(); + } + + var certs = []; + for(var i = 0; i < msg.certificates.length; ++i) { + certs.push(forge.pki.certificateToAsn1(msg.certificates[i])); + } + + var crls = []; + // TODO: implement CRLs + + // [0] SignedData + var signedData = asn1.create(asn1.Class.CONTEXT_SPECIFIC, 0, true, [ + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + // Version + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, + asn1.integerToDer(msg.version).getBytes()), + // DigestAlgorithmIdentifiers + asn1.create( + asn1.Class.UNIVERSAL, asn1.Type.SET, true, + msg.digestAlgorithmIdentifiers), + // ContentInfo + msg.contentInfo + ]) + ]); + if(certs.length > 0) { + // [0] IMPLICIT ExtendedCertificatesAndCertificates OPTIONAL + signedData.value[0].value.push( + asn1.create(asn1.Class.CONTEXT_SPECIFIC, 0, true, certs)); + } + if(crls.length > 0) { + // [1] IMPLICIT CertificateRevocationLists OPTIONAL + signedData.value[0].value.push( + asn1.create(asn1.Class.CONTEXT_SPECIFIC, 1, true, crls)); + } + // SignerInfos + signedData.value[0].value.push( + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SET, true, + msg.signerInfos)); + + // ContentInfo + return asn1.create( + asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + // ContentType + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, + asn1.oidToDer(msg.type).getBytes()), + // [0] SignedData + signedData + ]); + }, + + /** + * Add (another) entity to list of signers. + * + * Note: If authenticatedAttributes are provided, then, per RFC 2315, + * they must include at least two attributes: content type and + * message digest. The message digest attribute value will be + * auto-calculated during signing and will be ignored if provided. + * + * Here's an example of providing these two attributes: + * + * forge.pkcs7.createSignedData(); + * p7.addSigner({ + * issuer: cert.issuer.attributes, + * serialNumber: cert.serialNumber, + * key: privateKey, + * digestAlgorithm: forge.pki.oids.sha1, + * authenticatedAttributes: [{ + * type: forge.pki.oids.contentType, + * value: forge.pki.oids.data + * }, { + * type: forge.pki.oids.messageDigest + * }] + * }); + * + * TODO: Support [subjectKeyIdentifier] as signer's ID. + * + * @param signer the signer information: + * key the signer's private key. + * [certificate] a certificate containing the public key + * associated with the signer's private key; use this option as + * an alternative to specifying signer.issuer and + * signer.serialNumber. + * [issuer] the issuer attributes (eg: cert.issuer.attributes). + * [serialNumber] the signer's certificate's serial number in + * hexadecimal (eg: cert.serialNumber). + * [digestAlgorithm] the message digest OID, as a string, to use + * (eg: forge.pki.oids.sha1). + * [authenticatedAttributes] an optional array of attributes + * to also sign along with the content. + */ + addSigner: function(signer) { + var issuer = signer.issuer; + var serialNumber = signer.serialNumber; + if(signer.certificate) { + var cert = signer.certificate; + if(typeof cert === 'string') { + cert = forge.pki.certificateFromPem(cert); + } + issuer = cert.issuer.attributes; + serialNumber = cert.serialNumber; + } + var key = signer.key; + if(!key) { + throw new Error( + 'Could not add PKCS#7 signer; no private key specified.'); + } + if(typeof key === 'string') { + key = forge.pki.privateKeyFromPem(key); + } + + // ensure OID known for digest algorithm + var digestAlgorithm = signer.digestAlgorithm || forge.pki.oids.sha1; + switch(digestAlgorithm) { + case forge.pki.oids.sha1: + case forge.pki.oids.sha256: + case forge.pki.oids.sha384: + case forge.pki.oids.sha512: + case forge.pki.oids.md5: + break; + default: + throw new Error( + 'Could not add PKCS#7 signer; unknown message digest algorithm: ' + + digestAlgorithm); + } + + // if authenticatedAttributes is present, then the attributes + // must contain at least PKCS #9 content-type and message-digest + var authenticatedAttributes = signer.authenticatedAttributes || []; + if(authenticatedAttributes.length > 0) { + var contentType = false; + var messageDigest = false; + for(var i = 0; i < authenticatedAttributes.length; ++i) { + var attr = authenticatedAttributes[i]; + if(!contentType && attr.type === forge.pki.oids.contentType) { + contentType = true; + if(messageDigest) { + break; + } + continue; + } + if(!messageDigest && attr.type === forge.pki.oids.messageDigest) { + messageDigest = true; + if(contentType) { + break; + } + continue; + } + } + + if(!contentType || !messageDigest) { + throw new Error('Invalid signer.authenticatedAttributes. If ' + + 'signer.authenticatedAttributes is specified, then it must ' + + 'contain at least two attributes, PKCS #9 content-type and ' + + 'PKCS #9 message-digest.'); + } + } + + msg.signers.push({ + key: key, + version: 1, + issuer: issuer, + serialNumber: serialNumber, + digestAlgorithm: digestAlgorithm, + signatureAlgorithm: forge.pki.oids.rsaEncryption, + signature: null, + authenticatedAttributes: authenticatedAttributes, + unauthenticatedAttributes: [] + }); + }, + + /** + * Signs the content. + * @param options Options to apply when signing: + * [detached] boolean. If signing should be done in detached mode. Defaults to false. + */ + sign: function(options) { + options = options || {}; + // auto-generate content info + if(typeof msg.content !== 'object' || msg.contentInfo === null) { + // use Data ContentInfo + msg.contentInfo = asn1.create( + asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + // ContentType + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, + asn1.oidToDer(forge.pki.oids.data).getBytes()) + ]); + + // add actual content, if present + if('content' in msg) { + var content; + if(msg.content instanceof forge.util.ByteBuffer) { + content = msg.content.bytes(); + } else if(typeof msg.content === 'string') { + content = forge.util.encodeUtf8(msg.content); + } + + if (options.detached) { + msg.detachedContent = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OCTETSTRING, false, content); + } else { + msg.contentInfo.value.push( + // [0] EXPLICIT content + asn1.create(asn1.Class.CONTEXT_SPECIFIC, 0, true, [ + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OCTETSTRING, false, + content) + ])); + } + } + } + + // no signers, return early (degenerate case for certificate container) + if(msg.signers.length === 0) { + return; + } + + // generate digest algorithm identifiers + var mds = addDigestAlgorithmIds(); + + // generate signerInfos + addSignerInfos(mds); + }, + + verify: function() { + throw new Error('PKCS#7 signature verification not yet implemented.'); + }, + + /** + * Add a certificate. + * + * @param cert the certificate to add. + */ + addCertificate: function(cert) { + // convert from PEM + if(typeof cert === 'string') { + cert = forge.pki.certificateFromPem(cert); + } + msg.certificates.push(cert); + }, + + /** + * Add a certificate revokation list. + * + * @param crl the certificate revokation list to add. + */ + addCertificateRevokationList: function(crl) { + throw new Error('PKCS#7 CRL support not yet implemented.'); + } + }; + return msg; + + function addDigestAlgorithmIds() { + var mds = {}; + + for(var i = 0; i < msg.signers.length; ++i) { + var signer = msg.signers[i]; + var oid = signer.digestAlgorithm; + if(!(oid in mds)) { + // content digest + mds[oid] = forge.md[forge.pki.oids[oid]].create(); + } + if(signer.authenticatedAttributes.length === 0) { + // no custom attributes to digest; use content message digest + signer.md = mds[oid]; + } else { + // custom attributes to be digested; use own message digest + // TODO: optimize to just copy message digest state if that + // feature is ever supported with message digests + signer.md = forge.md[forge.pki.oids[oid]].create(); + } + } + + // add unique digest algorithm identifiers + msg.digestAlgorithmIdentifiers = []; + for(var oid in mds) { + msg.digestAlgorithmIdentifiers.push( + // AlgorithmIdentifier + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + // algorithm + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, + asn1.oidToDer(oid).getBytes()), + // parameters (null) + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.NULL, false, '') + ])); + } + + return mds; + } + + function addSignerInfos(mds) { + var content; + + if (msg.detachedContent) { + // Signature has been made in detached mode. + content = msg.detachedContent; + } else { + // Note: ContentInfo is a SEQUENCE with 2 values, second value is + // the content field and is optional for a ContentInfo but required here + // since signers are present + // get ContentInfo content + content = msg.contentInfo.value[1]; + // skip [0] EXPLICIT content wrapper + content = content.value[0]; + } + + if(!content) { + throw new Error( + 'Could not sign PKCS#7 message; there is no content to sign.'); + } + + // get ContentInfo content type + var contentType = asn1.derToOid(msg.contentInfo.value[0].value); + + // serialize content + var bytes = asn1.toDer(content); + + // skip identifier and length per RFC 2315 9.3 + // skip identifier (1 byte) + bytes.getByte(); + // read and discard length bytes + asn1.getBerValueLength(bytes); + bytes = bytes.getBytes(); + + // digest content DER value bytes + for(var oid in mds) { + mds[oid].start().update(bytes); + } + + // sign content + var signingTime = new Date(); + for(var i = 0; i < msg.signers.length; ++i) { + var signer = msg.signers[i]; + + if(signer.authenticatedAttributes.length === 0) { + // if ContentInfo content type is not "Data", then + // authenticatedAttributes must be present per RFC 2315 + if(contentType !== forge.pki.oids.data) { + throw new Error( + 'Invalid signer; authenticatedAttributes must be present ' + + 'when the ContentInfo content type is not PKCS#7 Data.'); + } + } else { + // process authenticated attributes + // [0] IMPLICIT + signer.authenticatedAttributesAsn1 = asn1.create( + asn1.Class.CONTEXT_SPECIFIC, 0, true, []); + + // per RFC 2315, attributes are to be digested using a SET container + // not the above [0] IMPLICIT container + var attrsAsn1 = asn1.create( + asn1.Class.UNIVERSAL, asn1.Type.SET, true, []); + + for(var ai = 0; ai < signer.authenticatedAttributes.length; ++ai) { + var attr = signer.authenticatedAttributes[ai]; + if(attr.type === forge.pki.oids.messageDigest) { + // use content message digest as value + attr.value = mds[signer.digestAlgorithm].digest(); + } else if(attr.type === forge.pki.oids.signingTime) { + // auto-populate signing time if not already set + if(!attr.value) { + attr.value = signingTime; + } + } + + // convert to ASN.1 and push onto Attributes SET (for signing) and + // onto authenticatedAttributesAsn1 to complete SignedData ASN.1 + // TODO: optimize away duplication + attrsAsn1.value.push(_attributeToAsn1(attr)); + signer.authenticatedAttributesAsn1.value.push(_attributeToAsn1(attr)); + } + + // DER-serialize and digest SET OF attributes only + bytes = asn1.toDer(attrsAsn1).getBytes(); + signer.md.start().update(bytes); + } + + // sign digest + signer.signature = signer.key.sign(signer.md, 'RSASSA-PKCS1-V1_5'); + } + + // add signer info + msg.signerInfos = _signersToAsn1(msg.signers); + } +}; + +/** + * Creates an empty PKCS#7 message of type EncryptedData. + * + * @return the message. + */ +p7.createEncryptedData = function() { + var msg = null; + msg = { + type: forge.pki.oids.encryptedData, + version: 0, + encryptedContent: { + algorithm: forge.pki.oids['aes256-CBC'] + }, + + /** + * Reads an EncryptedData content block (in ASN.1 format) + * + * @param obj The ASN.1 representation of the EncryptedData content block + */ + fromAsn1: function(obj) { + // Validate EncryptedData content block and capture data. + _fromAsn1(msg, obj, p7.asn1.encryptedDataValidator); + }, + + /** + * Decrypt encrypted content + * + * @param key The (symmetric) key as a byte buffer + */ + decrypt: function(key) { + if(key !== undefined) { + msg.encryptedContent.key = key; + } + _decryptContent(msg); + } + }; + return msg; +}; + +/** + * Creates an empty PKCS#7 message of type EnvelopedData. + * + * @return the message. + */ +p7.createEnvelopedData = function() { + var msg = null; + msg = { + type: forge.pki.oids.envelopedData, + version: 0, + recipients: [], + encryptedContent: { + algorithm: forge.pki.oids['aes256-CBC'] + }, + + /** + * Reads an EnvelopedData content block (in ASN.1 format) + * + * @param obj the ASN.1 representation of the EnvelopedData content block. + */ + fromAsn1: function(obj) { + // validate EnvelopedData content block and capture data + var capture = _fromAsn1(msg, obj, p7.asn1.envelopedDataValidator); + msg.recipients = _recipientsFromAsn1(capture.recipientInfos.value); + }, + + toAsn1: function() { + // ContentInfo + return asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + // ContentType + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, + asn1.oidToDer(msg.type).getBytes()), + // [0] EnvelopedData + asn1.create(asn1.Class.CONTEXT_SPECIFIC, 0, true, [ + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + // Version + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, + asn1.integerToDer(msg.version).getBytes()), + // RecipientInfos + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SET, true, + _recipientsToAsn1(msg.recipients)), + // EncryptedContentInfo + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, + _encryptedContentToAsn1(msg.encryptedContent)) + ]) + ]) + ]); + }, + + /** + * Find recipient by X.509 certificate's issuer. + * + * @param cert the certificate with the issuer to look for. + * + * @return the recipient object. + */ + findRecipient: function(cert) { + var sAttr = cert.issuer.attributes; + + for(var i = 0; i < msg.recipients.length; ++i) { + var r = msg.recipients[i]; + var rAttr = r.issuer; + + if(r.serialNumber !== cert.serialNumber) { + continue; + } + + if(rAttr.length !== sAttr.length) { + continue; + } + + var match = true; + for(var j = 0; j < sAttr.length; ++j) { + if(rAttr[j].type !== sAttr[j].type || + rAttr[j].value !== sAttr[j].value) { + match = false; + break; + } + } + + if(match) { + return r; + } + } + + return null; + }, + + /** + * Decrypt enveloped content + * + * @param recipient The recipient object related to the private key + * @param privKey The (RSA) private key object + */ + decrypt: function(recipient, privKey) { + if(msg.encryptedContent.key === undefined && recipient !== undefined && + privKey !== undefined) { + switch(recipient.encryptedContent.algorithm) { + case forge.pki.oids.rsaEncryption: + case forge.pki.oids.desCBC: + var key = privKey.decrypt(recipient.encryptedContent.content); + msg.encryptedContent.key = forge.util.createBuffer(key); + break; + + default: + throw new Error('Unsupported asymmetric cipher, ' + + 'OID ' + recipient.encryptedContent.algorithm); + } + } + + _decryptContent(msg); + }, + + /** + * Add (another) entity to list of recipients. + * + * @param cert The certificate of the entity to add. + */ + addRecipient: function(cert) { + msg.recipients.push({ + version: 0, + issuer: cert.issuer.attributes, + serialNumber: cert.serialNumber, + encryptedContent: { + // We simply assume rsaEncryption here, since forge.pki only + // supports RSA so far. If the PKI module supports other + // ciphers one day, we need to modify this one as well. + algorithm: forge.pki.oids.rsaEncryption, + key: cert.publicKey + } + }); + }, + + /** + * Encrypt enveloped content. + * + * This function supports two optional arguments, cipher and key, which + * can be used to influence symmetric encryption. Unless cipher is + * provided, the cipher specified in encryptedContent.algorithm is used + * (defaults to AES-256-CBC). If no key is provided, encryptedContent.key + * is (re-)used. If that one's not set, a random key will be generated + * automatically. + * + * @param [key] The key to be used for symmetric encryption. + * @param [cipher] The OID of the symmetric cipher to use. + */ + encrypt: function(key, cipher) { + // Part 1: Symmetric encryption + if(msg.encryptedContent.content === undefined) { + cipher = cipher || msg.encryptedContent.algorithm; + key = key || msg.encryptedContent.key; + + var keyLen, ivLen, ciphFn; + switch(cipher) { + case forge.pki.oids['aes128-CBC']: + keyLen = 16; + ivLen = 16; + ciphFn = forge.aes.createEncryptionCipher; + break; + + case forge.pki.oids['aes192-CBC']: + keyLen = 24; + ivLen = 16; + ciphFn = forge.aes.createEncryptionCipher; + break; + + case forge.pki.oids['aes256-CBC']: + keyLen = 32; + ivLen = 16; + ciphFn = forge.aes.createEncryptionCipher; + break; + + case forge.pki.oids['des-EDE3-CBC']: + keyLen = 24; + ivLen = 8; + ciphFn = forge.des.createEncryptionCipher; + break; + + default: + throw new Error('Unsupported symmetric cipher, OID ' + cipher); + } + + if(key === undefined) { + key = forge.util.createBuffer(forge.random.getBytes(keyLen)); + } else if(key.length() != keyLen) { + throw new Error('Symmetric key has wrong length; ' + + 'got ' + key.length() + ' bytes, expected ' + keyLen + '.'); + } + + // Keep a copy of the key & IV in the object, so the caller can + // use it for whatever reason. + msg.encryptedContent.algorithm = cipher; + msg.encryptedContent.key = key; + msg.encryptedContent.parameter = forge.util.createBuffer( + forge.random.getBytes(ivLen)); + + var ciph = ciphFn(key); + ciph.start(msg.encryptedContent.parameter.copy()); + ciph.update(msg.content); + + // The finish function does PKCS#7 padding by default, therefore + // no action required by us. + if(!ciph.finish()) { + throw new Error('Symmetric encryption failed.'); + } + + msg.encryptedContent.content = ciph.output; + } + + // Part 2: asymmetric encryption for each recipient + for(var i = 0; i < msg.recipients.length; ++i) { + var recipient = msg.recipients[i]; + + // Nothing to do, encryption already done. + if(recipient.encryptedContent.content !== undefined) { + continue; + } + + switch(recipient.encryptedContent.algorithm) { + case forge.pki.oids.rsaEncryption: + recipient.encryptedContent.content = + recipient.encryptedContent.key.encrypt( + msg.encryptedContent.key.data); + break; + + default: + throw new Error('Unsupported asymmetric cipher, OID ' + + recipient.encryptedContent.algorithm); + } + } + } + }; + return msg; +}; + +/** + * Converts a single recipient from an ASN.1 object. + * + * @param obj the ASN.1 RecipientInfo. + * + * @return the recipient object. + */ +function _recipientFromAsn1(obj) { + // validate EnvelopedData content block and capture data + var capture = {}; + var errors = []; + if(!asn1.validate(obj, p7.asn1.recipientInfoValidator, capture, errors)) { + var error = new Error('Cannot read PKCS#7 RecipientInfo. ' + + 'ASN.1 object is not an PKCS#7 RecipientInfo.'); + error.errors = errors; + throw error; + } + + return { + version: capture.version.charCodeAt(0), + issuer: forge.pki.RDNAttributesAsArray(capture.issuer), + serialNumber: forge.util.createBuffer(capture.serial).toHex(), + encryptedContent: { + algorithm: asn1.derToOid(capture.encAlgorithm), + parameter: capture.encParameter.value, + content: capture.encKey + } + }; +} + +/** + * Converts a single recipient object to an ASN.1 object. + * + * @param obj the recipient object. + * + * @return the ASN.1 RecipientInfo. + */ +function _recipientToAsn1(obj) { + return asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + // Version + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, + asn1.integerToDer(obj.version).getBytes()), + // IssuerAndSerialNumber + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + // Name + forge.pki.distinguishedNameToAsn1({attributes: obj.issuer}), + // Serial + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, + forge.util.hexToBytes(obj.serialNumber)) + ]), + // KeyEncryptionAlgorithmIdentifier + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + // Algorithm + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, + asn1.oidToDer(obj.encryptedContent.algorithm).getBytes()), + // Parameter, force NULL, only RSA supported for now. + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.NULL, false, '') + ]), + // EncryptedKey + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OCTETSTRING, false, + obj.encryptedContent.content) + ]); +} + +/** + * Map a set of RecipientInfo ASN.1 objects to recipient objects. + * + * @param infos an array of ASN.1 representations RecipientInfo (i.e. SET OF). + * + * @return an array of recipient objects. + */ +function _recipientsFromAsn1(infos) { + var ret = []; + for(var i = 0; i < infos.length; ++i) { + ret.push(_recipientFromAsn1(infos[i])); + } + return ret; +} + +/** + * Map an array of recipient objects to ASN.1 RecipientInfo objects. + * + * @param recipients an array of recipientInfo objects. + * + * @return an array of ASN.1 RecipientInfos. + */ +function _recipientsToAsn1(recipients) { + var ret = []; + for(var i = 0; i < recipients.length; ++i) { + ret.push(_recipientToAsn1(recipients[i])); + } + return ret; +} + +/** + * Converts a single signer from an ASN.1 object. + * + * @param obj the ASN.1 representation of a SignerInfo. + * + * @return the signer object. + */ +function _signerFromAsn1(obj) { + // validate EnvelopedData content block and capture data + var capture = {}; + var errors = []; + if(!asn1.validate(obj, p7.asn1.signerInfoValidator, capture, errors)) { + var error = new Error('Cannot read PKCS#7 SignerInfo. ' + + 'ASN.1 object is not an PKCS#7 SignerInfo.'); + error.errors = errors; + throw error; + } + + var rval = { + version: capture.version.charCodeAt(0), + issuer: forge.pki.RDNAttributesAsArray(capture.issuer), + serialNumber: forge.util.createBuffer(capture.serial).toHex(), + digestAlgorithm: asn1.derToOid(capture.digestAlgorithm), + signatureAlgorithm: asn1.derToOid(capture.signatureAlgorithm), + signature: capture.signature, + authenticatedAttributes: [], + unauthenticatedAttributes: [] + }; + + // TODO: convert attributes + var authenticatedAttributes = capture.authenticatedAttributes || []; + var unauthenticatedAttributes = capture.unauthenticatedAttributes || []; + + return rval; +} + +/** + * Converts a single signerInfo object to an ASN.1 object. + * + * @param obj the signerInfo object. + * + * @return the ASN.1 representation of a SignerInfo. + */ +function _signerToAsn1(obj) { + // SignerInfo + var rval = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + // version + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, + asn1.integerToDer(obj.version).getBytes()), + // issuerAndSerialNumber + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + // name + forge.pki.distinguishedNameToAsn1({attributes: obj.issuer}), + // serial + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, + forge.util.hexToBytes(obj.serialNumber)) + ]), + // digestAlgorithm + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + // algorithm + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, + asn1.oidToDer(obj.digestAlgorithm).getBytes()), + // parameters (null) + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.NULL, false, '') + ]) + ]); + + // authenticatedAttributes (OPTIONAL) + if(obj.authenticatedAttributesAsn1) { + // add ASN.1 previously generated during signing + rval.value.push(obj.authenticatedAttributesAsn1); + } + + // digestEncryptionAlgorithm + rval.value.push(asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + // algorithm + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, + asn1.oidToDer(obj.signatureAlgorithm).getBytes()), + // parameters (null) + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.NULL, false, '') + ])); + + // encryptedDigest + rval.value.push(asn1.create( + asn1.Class.UNIVERSAL, asn1.Type.OCTETSTRING, false, obj.signature)); + + // unauthenticatedAttributes (OPTIONAL) + if(obj.unauthenticatedAttributes.length > 0) { + // [1] IMPLICIT + var attrsAsn1 = asn1.create(asn1.Class.CONTEXT_SPECIFIC, 1, true, []); + for(var i = 0; i < obj.unauthenticatedAttributes.length; ++i) { + var attr = obj.unauthenticatedAttributes[i]; + attrsAsn1.values.push(_attributeToAsn1(attr)); + } + rval.value.push(attrsAsn1); + } + + return rval; +} + +/** + * Map a set of SignerInfo ASN.1 objects to an array of signer objects. + * + * @param signerInfoAsn1s an array of ASN.1 SignerInfos (i.e. SET OF). + * + * @return an array of signers objects. + */ +function _signersFromAsn1(signerInfoAsn1s) { + var ret = []; + for(var i = 0; i < signerInfoAsn1s.length; ++i) { + ret.push(_signerFromAsn1(signerInfoAsn1s[i])); + } + return ret; +} + +/** + * Map an array of signer objects to ASN.1 objects. + * + * @param signers an array of signer objects. + * + * @return an array of ASN.1 SignerInfos. + */ +function _signersToAsn1(signers) { + var ret = []; + for(var i = 0; i < signers.length; ++i) { + ret.push(_signerToAsn1(signers[i])); + } + return ret; +} + +/** + * Convert an attribute object to an ASN.1 Attribute. + * + * @param attr the attribute object. + * + * @return the ASN.1 Attribute. + */ +function _attributeToAsn1(attr) { + var value; + + // TODO: generalize to support more attributes + if(attr.type === forge.pki.oids.contentType) { + value = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, + asn1.oidToDer(attr.value).getBytes()); + } else if(attr.type === forge.pki.oids.messageDigest) { + value = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OCTETSTRING, false, + attr.value.bytes()); + } else if(attr.type === forge.pki.oids.signingTime) { + /* Note per RFC 2985: Dates between 1 January 1950 and 31 December 2049 + (inclusive) MUST be encoded as UTCTime. Any dates with year values + before 1950 or after 2049 MUST be encoded as GeneralizedTime. [Further,] + UTCTime values MUST be expressed in Greenwich Mean Time (Zulu) and MUST + include seconds (i.e., times are YYMMDDHHMMSSZ), even where the + number of seconds is zero. Midnight (GMT) must be represented as + "YYMMDD000000Z". */ + // TODO: make these module-level constants + var jan_1_1950 = new Date('1950-01-01T00:00:00Z'); + var jan_1_2050 = new Date('2050-01-01T00:00:00Z'); + var date = attr.value; + if(typeof date === 'string') { + // try to parse date + var timestamp = Date.parse(date); + if(!isNaN(timestamp)) { + date = new Date(timestamp); + } else if(date.length === 13) { + // YYMMDDHHMMSSZ (13 chars for UTCTime) + date = asn1.utcTimeToDate(date); + } else { + // assume generalized time + date = asn1.generalizedTimeToDate(date); + } + } + + if(date >= jan_1_1950 && date < jan_1_2050) { + value = asn1.create( + asn1.Class.UNIVERSAL, asn1.Type.UTCTIME, false, + asn1.dateToUtcTime(date)); + } else { + value = asn1.create( + asn1.Class.UNIVERSAL, asn1.Type.GENERALIZEDTIME, false, + asn1.dateToGeneralizedTime(date)); + } + } + + // TODO: expose as common API call + // create a RelativeDistinguishedName set + // each value in the set is an AttributeTypeAndValue first + // containing the type (an OID) and second the value + return asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + // AttributeType + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, + asn1.oidToDer(attr.type).getBytes()), + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SET, true, [ + // AttributeValue + value + ]) + ]); +} + +/** + * Map messages encrypted content to ASN.1 objects. + * + * @param ec The encryptedContent object of the message. + * + * @return ASN.1 representation of the encryptedContent object (SEQUENCE). + */ +function _encryptedContentToAsn1(ec) { + return [ + // ContentType, always Data for the moment + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, + asn1.oidToDer(forge.pki.oids.data).getBytes()), + // ContentEncryptionAlgorithmIdentifier + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + // Algorithm + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, + asn1.oidToDer(ec.algorithm).getBytes()), + // Parameters (IV) + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OCTETSTRING, false, + ec.parameter.getBytes()) + ]), + // [0] EncryptedContent + asn1.create(asn1.Class.CONTEXT_SPECIFIC, 0, true, [ + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OCTETSTRING, false, + ec.content.getBytes()) + ]) + ]; +} + +/** + * Reads the "common part" of an PKCS#7 content block (in ASN.1 format) + * + * This function reads the "common part" of the PKCS#7 content blocks + * EncryptedData and EnvelopedData, i.e. version number and symmetrically + * encrypted content block. + * + * The result of the ASN.1 validate and capture process is returned + * to allow the caller to extract further data, e.g. the list of recipients + * in case of a EnvelopedData object. + * + * @param msg the PKCS#7 object to read the data to. + * @param obj the ASN.1 representation of the content block. + * @param validator the ASN.1 structure validator object to use. + * + * @return the value map captured by validator object. + */ +function _fromAsn1(msg, obj, validator) { + var capture = {}; + var errors = []; + if(!asn1.validate(obj, validator, capture, errors)) { + var error = new Error('Cannot read PKCS#7 message. ' + + 'ASN.1 object is not a supported PKCS#7 message.'); + error.errors = error; + throw error; + } + + // Check contentType, so far we only support (raw) Data. + var contentType = asn1.derToOid(capture.contentType); + if(contentType !== forge.pki.oids.data) { + throw new Error('Unsupported PKCS#7 message. ' + + 'Only wrapped ContentType Data supported.'); + } + + if(capture.encryptedContent) { + var content = ''; + if(forge.util.isArray(capture.encryptedContent)) { + for(var i = 0; i < capture.encryptedContent.length; ++i) { + if(capture.encryptedContent[i].type !== asn1.Type.OCTETSTRING) { + throw new Error('Malformed PKCS#7 message, expecting encrypted ' + + 'content constructed of only OCTET STRING objects.'); + } + content += capture.encryptedContent[i].value; + } + } else { + content = capture.encryptedContent; + } + msg.encryptedContent = { + algorithm: asn1.derToOid(capture.encAlgorithm), + parameter: forge.util.createBuffer(capture.encParameter.value), + content: forge.util.createBuffer(content) + }; + } + + if(capture.content) { + var content = ''; + if(forge.util.isArray(capture.content)) { + for(var i = 0; i < capture.content.length; ++i) { + if(capture.content[i].type !== asn1.Type.OCTETSTRING) { + throw new Error('Malformed PKCS#7 message, expecting ' + + 'content constructed of only OCTET STRING objects.'); + } + content += capture.content[i].value; + } + } else { + content = capture.content; + } + msg.content = forge.util.createBuffer(content); + } + + msg.version = capture.version.charCodeAt(0); + msg.rawCapture = capture; + + return capture; +} + +/** + * Decrypt the symmetrically encrypted content block of the PKCS#7 message. + * + * Decryption is skipped in case the PKCS#7 message object already has a + * (decrypted) content attribute. The algorithm, key and cipher parameters + * (probably the iv) are taken from the encryptedContent attribute of the + * message object. + * + * @param The PKCS#7 message object. + */ +function _decryptContent(msg) { + if(msg.encryptedContent.key === undefined) { + throw new Error('Symmetric key not available.'); + } + + if(msg.content === undefined) { + var ciph; + + switch(msg.encryptedContent.algorithm) { + case forge.pki.oids['aes128-CBC']: + case forge.pki.oids['aes192-CBC']: + case forge.pki.oids['aes256-CBC']: + ciph = forge.aes.createDecryptionCipher(msg.encryptedContent.key); + break; + + case forge.pki.oids['desCBC']: + case forge.pki.oids['des-EDE3-CBC']: + ciph = forge.des.createDecryptionCipher(msg.encryptedContent.key); + break; + + default: + throw new Error('Unsupported symmetric cipher, OID ' + + msg.encryptedContent.algorithm); + } + ciph.start(msg.encryptedContent.parameter); + ciph.update(msg.encryptedContent.content); + + if(!ciph.finish()) { + throw new Error('Symmetric decryption failed.'); + } + + msg.content = ciph.output; + } +} diff --git a/express-server/node_modules/node-forge/lib/pkcs7asn1.js b/express-server/node_modules/node-forge/lib/pkcs7asn1.js new file mode 100644 index 00000000..a2ac01f8 --- /dev/null +++ b/express-server/node_modules/node-forge/lib/pkcs7asn1.js @@ -0,0 +1,409 @@ +/** + * Javascript implementation of ASN.1 validators for PKCS#7 v1.5. + * + * @author Dave Longley + * @author Stefan Siegl + * + * Copyright (c) 2012-2015 Digital Bazaar, Inc. + * Copyright (c) 2012 Stefan Siegl + * + * The ASN.1 representation of PKCS#7 is as follows + * (see RFC #2315 for details, http://www.ietf.org/rfc/rfc2315.txt): + * + * A PKCS#7 message consists of a ContentInfo on root level, which may + * contain any number of further ContentInfo nested into it. + * + * ContentInfo ::= SEQUENCE { + * contentType ContentType, + * content [0] EXPLICIT ANY DEFINED BY contentType OPTIONAL + * } + * + * ContentType ::= OBJECT IDENTIFIER + * + * EnvelopedData ::= SEQUENCE { + * version Version, + * recipientInfos RecipientInfos, + * encryptedContentInfo EncryptedContentInfo + * } + * + * EncryptedData ::= SEQUENCE { + * version Version, + * encryptedContentInfo EncryptedContentInfo + * } + * + * id-signedData OBJECT IDENTIFIER ::= { iso(1) member-body(2) + * us(840) rsadsi(113549) pkcs(1) pkcs7(7) 2 } + * + * SignedData ::= SEQUENCE { + * version INTEGER, + * digestAlgorithms DigestAlgorithmIdentifiers, + * contentInfo ContentInfo, + * certificates [0] IMPLICIT Certificates OPTIONAL, + * crls [1] IMPLICIT CertificateRevocationLists OPTIONAL, + * signerInfos SignerInfos + * } + * + * SignerInfos ::= SET OF SignerInfo + * + * SignerInfo ::= SEQUENCE { + * version Version, + * issuerAndSerialNumber IssuerAndSerialNumber, + * digestAlgorithm DigestAlgorithmIdentifier, + * authenticatedAttributes [0] IMPLICIT Attributes OPTIONAL, + * digestEncryptionAlgorithm DigestEncryptionAlgorithmIdentifier, + * encryptedDigest EncryptedDigest, + * unauthenticatedAttributes [1] IMPLICIT Attributes OPTIONAL + * } + * + * EncryptedDigest ::= OCTET STRING + * + * Attributes ::= SET OF Attribute + * + * Attribute ::= SEQUENCE { + * attrType OBJECT IDENTIFIER, + * attrValues SET OF AttributeValue + * } + * + * AttributeValue ::= ANY + * + * Version ::= INTEGER + * + * RecipientInfos ::= SET OF RecipientInfo + * + * EncryptedContentInfo ::= SEQUENCE { + * contentType ContentType, + * contentEncryptionAlgorithm ContentEncryptionAlgorithmIdentifier, + * encryptedContent [0] IMPLICIT EncryptedContent OPTIONAL + * } + * + * ContentEncryptionAlgorithmIdentifier ::= AlgorithmIdentifier + * + * The AlgorithmIdentifier contains an Object Identifier (OID) and parameters + * for the algorithm, if any. In the case of AES and DES3, there is only one, + * the IV. + * + * AlgorithmIdentifer ::= SEQUENCE { + * algorithm OBJECT IDENTIFIER, + * parameters ANY DEFINED BY algorithm OPTIONAL + * } + * + * EncryptedContent ::= OCTET STRING + * + * RecipientInfo ::= SEQUENCE { + * version Version, + * issuerAndSerialNumber IssuerAndSerialNumber, + * keyEncryptionAlgorithm KeyEncryptionAlgorithmIdentifier, + * encryptedKey EncryptedKey + * } + * + * IssuerAndSerialNumber ::= SEQUENCE { + * issuer Name, + * serialNumber CertificateSerialNumber + * } + * + * CertificateSerialNumber ::= INTEGER + * + * KeyEncryptionAlgorithmIdentifier ::= AlgorithmIdentifier + * + * EncryptedKey ::= OCTET STRING + */ +var forge = require('./forge'); +require('./asn1'); +require('./util'); + +// shortcut for ASN.1 API +var asn1 = forge.asn1; + +// shortcut for PKCS#7 API +var p7v = module.exports = forge.pkcs7asn1 = forge.pkcs7asn1 || {}; +forge.pkcs7 = forge.pkcs7 || {}; +forge.pkcs7.asn1 = p7v; + +var contentInfoValidator = { + name: 'ContentInfo', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SEQUENCE, + constructed: true, + value: [{ + name: 'ContentInfo.ContentType', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.OID, + constructed: false, + capture: 'contentType' + }, { + name: 'ContentInfo.content', + tagClass: asn1.Class.CONTEXT_SPECIFIC, + type: 0, + constructed: true, + optional: true, + captureAsn1: 'content' + }] +}; +p7v.contentInfoValidator = contentInfoValidator; + +var encryptedContentInfoValidator = { + name: 'EncryptedContentInfo', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SEQUENCE, + constructed: true, + value: [{ + name: 'EncryptedContentInfo.contentType', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.OID, + constructed: false, + capture: 'contentType' + }, { + name: 'EncryptedContentInfo.contentEncryptionAlgorithm', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SEQUENCE, + constructed: true, + value: [{ + name: 'EncryptedContentInfo.contentEncryptionAlgorithm.algorithm', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.OID, + constructed: false, + capture: 'encAlgorithm' + }, { + name: 'EncryptedContentInfo.contentEncryptionAlgorithm.parameter', + tagClass: asn1.Class.UNIVERSAL, + captureAsn1: 'encParameter' + }] + }, { + name: 'EncryptedContentInfo.encryptedContent', + tagClass: asn1.Class.CONTEXT_SPECIFIC, + type: 0, + /* The PKCS#7 structure output by OpenSSL somewhat differs from what + * other implementations do generate. + * + * OpenSSL generates a structure like this: + * SEQUENCE { + * ... + * [0] + * 26 DA 67 D2 17 9C 45 3C B1 2A A8 59 2F 29 33 38 + * C3 C3 DF 86 71 74 7A 19 9F 40 D0 29 BE 85 90 45 + * ... + * } + * + * Whereas other implementations (and this PKCS#7 module) generate: + * SEQUENCE { + * ... + * [0] { + * OCTET STRING + * 26 DA 67 D2 17 9C 45 3C B1 2A A8 59 2F 29 33 38 + * C3 C3 DF 86 71 74 7A 19 9F 40 D0 29 BE 85 90 45 + * ... + * } + * } + * + * In order to support both, we just capture the context specific + * field here. The OCTET STRING bit is removed below. + */ + capture: 'encryptedContent', + captureAsn1: 'encryptedContentAsn1' + }] +}; + +p7v.envelopedDataValidator = { + name: 'EnvelopedData', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SEQUENCE, + constructed: true, + value: [{ + name: 'EnvelopedData.Version', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.INTEGER, + constructed: false, + capture: 'version' + }, { + name: 'EnvelopedData.RecipientInfos', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SET, + constructed: true, + captureAsn1: 'recipientInfos' + }].concat(encryptedContentInfoValidator) +}; + +p7v.encryptedDataValidator = { + name: 'EncryptedData', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SEQUENCE, + constructed: true, + value: [{ + name: 'EncryptedData.Version', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.INTEGER, + constructed: false, + capture: 'version' + }].concat(encryptedContentInfoValidator) +}; + +var signerValidator = { + name: 'SignerInfo', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SEQUENCE, + constructed: true, + value: [{ + name: 'SignerInfo.version', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.INTEGER, + constructed: false + }, { + name: 'SignerInfo.issuerAndSerialNumber', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SEQUENCE, + constructed: true, + value: [{ + name: 'SignerInfo.issuerAndSerialNumber.issuer', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SEQUENCE, + constructed: true, + captureAsn1: 'issuer' + }, { + name: 'SignerInfo.issuerAndSerialNumber.serialNumber', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.INTEGER, + constructed: false, + capture: 'serial' + }] + }, { + name: 'SignerInfo.digestAlgorithm', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SEQUENCE, + constructed: true, + value: [{ + name: 'SignerInfo.digestAlgorithm.algorithm', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.OID, + constructed: false, + capture: 'digestAlgorithm' + }, { + name: 'SignerInfo.digestAlgorithm.parameter', + tagClass: asn1.Class.UNIVERSAL, + constructed: false, + captureAsn1: 'digestParameter', + optional: true + }] + }, { + name: 'SignerInfo.authenticatedAttributes', + tagClass: asn1.Class.CONTEXT_SPECIFIC, + type: 0, + constructed: true, + optional: true, + capture: 'authenticatedAttributes' + }, { + name: 'SignerInfo.digestEncryptionAlgorithm', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SEQUENCE, + constructed: true, + capture: 'signatureAlgorithm' + }, { + name: 'SignerInfo.encryptedDigest', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.OCTETSTRING, + constructed: false, + capture: 'signature' + }, { + name: 'SignerInfo.unauthenticatedAttributes', + tagClass: asn1.Class.CONTEXT_SPECIFIC, + type: 1, + constructed: true, + optional: true, + capture: 'unauthenticatedAttributes' + }] +}; + +p7v.signedDataValidator = { + name: 'SignedData', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SEQUENCE, + constructed: true, + value: [{ + name: 'SignedData.Version', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.INTEGER, + constructed: false, + capture: 'version' + }, { + name: 'SignedData.DigestAlgorithms', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SET, + constructed: true, + captureAsn1: 'digestAlgorithms' + }, + contentInfoValidator, + { + name: 'SignedData.Certificates', + tagClass: asn1.Class.CONTEXT_SPECIFIC, + type: 0, + optional: true, + captureAsn1: 'certificates' + }, { + name: 'SignedData.CertificateRevocationLists', + tagClass: asn1.Class.CONTEXT_SPECIFIC, + type: 1, + optional: true, + captureAsn1: 'crls' + }, { + name: 'SignedData.SignerInfos', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SET, + capture: 'signerInfos', + optional: true, + value: [signerValidator] + }] +}; + +p7v.recipientInfoValidator = { + name: 'RecipientInfo', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SEQUENCE, + constructed: true, + value: [{ + name: 'RecipientInfo.version', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.INTEGER, + constructed: false, + capture: 'version' + }, { + name: 'RecipientInfo.issuerAndSerial', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SEQUENCE, + constructed: true, + value: [{ + name: 'RecipientInfo.issuerAndSerial.issuer', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SEQUENCE, + constructed: true, + captureAsn1: 'issuer' + }, { + name: 'RecipientInfo.issuerAndSerial.serialNumber', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.INTEGER, + constructed: false, + capture: 'serial' + }] + }, { + name: 'RecipientInfo.keyEncryptionAlgorithm', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SEQUENCE, + constructed: true, + value: [{ + name: 'RecipientInfo.keyEncryptionAlgorithm.algorithm', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.OID, + constructed: false, + capture: 'encAlgorithm' + }, { + name: 'RecipientInfo.keyEncryptionAlgorithm.parameter', + tagClass: asn1.Class.UNIVERSAL, + constructed: false, + captureAsn1: 'encParameter' + }] + }, { + name: 'RecipientInfo.encryptedKey', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.OCTETSTRING, + constructed: false, + capture: 'encKey' + }] +}; diff --git a/express-server/node_modules/node-forge/lib/pki.js b/express-server/node_modules/node-forge/lib/pki.js new file mode 100644 index 00000000..ee82ff1c --- /dev/null +++ b/express-server/node_modules/node-forge/lib/pki.js @@ -0,0 +1,102 @@ +/** + * Javascript implementation of a basic Public Key Infrastructure, including + * support for RSA public and private keys. + * + * @author Dave Longley + * + * Copyright (c) 2010-2013 Digital Bazaar, Inc. + */ +var forge = require('./forge'); +require('./asn1'); +require('./oids'); +require('./pbe'); +require('./pem'); +require('./pbkdf2'); +require('./pkcs12'); +require('./pss'); +require('./rsa'); +require('./util'); +require('./x509'); + +// shortcut for asn.1 API +var asn1 = forge.asn1; + +/* Public Key Infrastructure (PKI) implementation. */ +var pki = module.exports = forge.pki = forge.pki || {}; + +/** + * NOTE: THIS METHOD IS DEPRECATED. Use pem.decode() instead. + * + * Converts PEM-formatted data to DER. + * + * @param pem the PEM-formatted data. + * + * @return the DER-formatted data. + */ +pki.pemToDer = function(pem) { + var msg = forge.pem.decode(pem)[0]; + if(msg.procType && msg.procType.type === 'ENCRYPTED') { + throw new Error('Could not convert PEM to DER; PEM is encrypted.'); + } + return forge.util.createBuffer(msg.body); +}; + +/** + * Converts an RSA private key from PEM format. + * + * @param pem the PEM-formatted private key. + * + * @return the private key. + */ +pki.privateKeyFromPem = function(pem) { + var msg = forge.pem.decode(pem)[0]; + + if(msg.type !== 'PRIVATE KEY' && msg.type !== 'RSA PRIVATE KEY') { + var error = new Error('Could not convert private key from PEM; PEM ' + + 'header type is not "PRIVATE KEY" or "RSA PRIVATE KEY".'); + error.headerType = msg.type; + throw error; + } + if(msg.procType && msg.procType.type === 'ENCRYPTED') { + throw new Error('Could not convert private key from PEM; PEM is encrypted.'); + } + + // convert DER to ASN.1 object + var obj = asn1.fromDer(msg.body); + + return pki.privateKeyFromAsn1(obj); +}; + +/** + * Converts an RSA private key to PEM format. + * + * @param key the private key. + * @param maxline the maximum characters per line, defaults to 64. + * + * @return the PEM-formatted private key. + */ +pki.privateKeyToPem = function(key, maxline) { + // convert to ASN.1, then DER, then PEM-encode + var msg = { + type: 'RSA PRIVATE KEY', + body: asn1.toDer(pki.privateKeyToAsn1(key)).getBytes() + }; + return forge.pem.encode(msg, {maxline: maxline}); +}; + +/** + * Converts a PrivateKeyInfo to PEM format. + * + * @param pki the PrivateKeyInfo. + * @param maxline the maximum characters per line, defaults to 64. + * + * @return the PEM-formatted private key. + */ +pki.privateKeyInfoToPem = function(pki, maxline) { + // convert to DER, then PEM-encode + var msg = { + type: 'PRIVATE KEY', + body: asn1.toDer(pki).getBytes() + }; + return forge.pem.encode(msg, {maxline: maxline}); +}; diff --git a/express-server/node_modules/node-forge/lib/prime.js b/express-server/node_modules/node-forge/lib/prime.js new file mode 100644 index 00000000..3d51473f --- /dev/null +++ b/express-server/node_modules/node-forge/lib/prime.js @@ -0,0 +1,297 @@ +/** + * Prime number generation API. + * + * @author Dave Longley + * + * Copyright (c) 2014 Digital Bazaar, Inc. + */ +var forge = require('./forge'); +require('./util'); +require('./jsbn'); +require('./random'); + +(function() { + +// forge.prime already defined +if(forge.prime) { + module.exports = forge.prime; + return; +} + +/* PRIME API */ +var prime = module.exports = forge.prime = forge.prime || {}; + +var BigInteger = forge.jsbn.BigInteger; + +// primes are 30k+i for i = 1, 7, 11, 13, 17, 19, 23, 29 +var GCD_30_DELTA = [6, 4, 2, 4, 2, 4, 6, 2]; +var THIRTY = new BigInteger(null); +THIRTY.fromInt(30); +var op_or = function(x, y) {return x|y;}; + +/** + * Generates a random probable prime with the given number of bits. + * + * Alternative algorithms can be specified by name as a string or as an + * object with custom options like so: + * + * { + * name: 'PRIMEINC', + * options: { + * maxBlockTime: , + * millerRabinTests: , + * workerScript: , + * workers: . + * workLoad: the size of the work load, ie: number of possible prime + * numbers for each web worker to check per work assignment, + * (default: 100). + * } + * } + * + * @param bits the number of bits for the prime number. + * @param options the options to use. + * [algorithm] the algorithm to use (default: 'PRIMEINC'). + * [prng] a custom crypto-secure pseudo-random number generator to use, + * that must define "getBytesSync". + * + * @return callback(err, num) called once the operation completes. + */ +prime.generateProbablePrime = function(bits, options, callback) { + if(typeof options === 'function') { + callback = options; + options = {}; + } + options = options || {}; + + // default to PRIMEINC algorithm + var algorithm = options.algorithm || 'PRIMEINC'; + if(typeof algorithm === 'string') { + algorithm = {name: algorithm}; + } + algorithm.options = algorithm.options || {}; + + // create prng with api that matches BigInteger secure random + var prng = options.prng || forge.random; + var rng = { + // x is an array to fill with bytes + nextBytes: function(x) { + var b = prng.getBytesSync(x.length); + for(var i = 0; i < x.length; ++i) { + x[i] = b.charCodeAt(i); + } + } + }; + + if(algorithm.name === 'PRIMEINC') { + return primeincFindPrime(bits, rng, algorithm.options, callback); + } + + throw new Error('Invalid prime generation algorithm: ' + algorithm.name); +}; + +function primeincFindPrime(bits, rng, options, callback) { + if('workers' in options) { + return primeincFindPrimeWithWorkers(bits, rng, options, callback); + } + return primeincFindPrimeWithoutWorkers(bits, rng, options, callback); +} + +function primeincFindPrimeWithoutWorkers(bits, rng, options, callback) { + // initialize random number + var num = generateRandom(bits, rng); + + /* Note: All primes are of the form 30k+i for i < 30 and gcd(30, i)=1. The + number we are given is always aligned at 30k + 1. Each time the number is + determined not to be prime we add to get to the next 'i', eg: if the number + was at 30k + 1 we add 6. */ + var deltaIdx = 0; + + // get required number of MR tests + var mrTests = getMillerRabinTests(num.bitLength()); + if('millerRabinTests' in options) { + mrTests = options.millerRabinTests; + } + + // find prime nearest to 'num' for maxBlockTime ms + // 10 ms gives 5ms of leeway for other calculations before dropping + // below 60fps (1000/60 == 16.67), but in reality, the number will + // likely be higher due to an 'atomic' big int modPow + var maxBlockTime = 10; + if('maxBlockTime' in options) { + maxBlockTime = options.maxBlockTime; + } + + _primeinc(num, bits, rng, deltaIdx, mrTests, maxBlockTime, callback); +} + +function _primeinc(num, bits, rng, deltaIdx, mrTests, maxBlockTime, callback) { + var start = +new Date(); + do { + // overflow, regenerate random number + if(num.bitLength() > bits) { + num = generateRandom(bits, rng); + } + // do primality test + if(num.isProbablePrime(mrTests)) { + return callback(null, num); + } + // get next potential prime + num.dAddOffset(GCD_30_DELTA[deltaIdx++ % 8], 0); + } while(maxBlockTime < 0 || (+new Date() - start < maxBlockTime)); + + // keep trying later + forge.util.setImmediate(function() { + _primeinc(num, bits, rng, deltaIdx, mrTests, maxBlockTime, callback); + }); +} + +// NOTE: This algorithm is indeterminate in nature because workers +// run in parallel looking at different segments of numbers. Even if this +// algorithm is run twice with the same input from a predictable RNG, it +// may produce different outputs. +function primeincFindPrimeWithWorkers(bits, rng, options, callback) { + // web workers unavailable + if(typeof Worker === 'undefined') { + return primeincFindPrimeWithoutWorkers(bits, rng, options, callback); + } + + // initialize random number + var num = generateRandom(bits, rng); + + // use web workers to generate keys + var numWorkers = options.workers; + var workLoad = options.workLoad || 100; + var range = workLoad * 30 / 8; + var workerScript = options.workerScript || 'forge/prime.worker.js'; + if(numWorkers === -1) { + return forge.util.estimateCores(function(err, cores) { + if(err) { + // default to 2 + cores = 2; + } + numWorkers = cores - 1; + generate(); + }); + } + generate(); + + function generate() { + // require at least 1 worker + numWorkers = Math.max(1, numWorkers); + + // TODO: consider optimizing by starting workers outside getPrime() ... + // note that in order to clean up they will have to be made internally + // asynchronous which may actually be slower + + // start workers immediately + var workers = []; + for(var i = 0; i < numWorkers; ++i) { + // FIXME: fix path or use blob URLs + workers[i] = new Worker(workerScript); + } + var running = numWorkers; + + // listen for requests from workers and assign ranges to find prime + for(var i = 0; i < numWorkers; ++i) { + workers[i].addEventListener('message', workerMessage); + } + + /* Note: The distribution of random numbers is unknown. Therefore, each + web worker is continuously allocated a range of numbers to check for a + random number until one is found. + + Every 30 numbers will be checked just 8 times, because prime numbers + have the form: + + 30k+i, for i < 30 and gcd(30, i)=1 (there are 8 values of i for this) + + Therefore, if we want a web worker to run N checks before asking for + a new range of numbers, each range must contain N*30/8 numbers. + + For 100 checks (workLoad), this is a range of 375. */ + + var found = false; + function workerMessage(e) { + // ignore message, prime already found + if(found) { + return; + } + + --running; + var data = e.data; + if(data.found) { + // terminate all workers + for(var i = 0; i < workers.length; ++i) { + workers[i].terminate(); + } + found = true; + return callback(null, new BigInteger(data.prime, 16)); + } + + // overflow, regenerate random number + if(num.bitLength() > bits) { + num = generateRandom(bits, rng); + } + + // assign new range to check + var hex = num.toString(16); + + // start prime search + e.target.postMessage({ + hex: hex, + workLoad: workLoad + }); + + num.dAddOffset(range, 0); + } + } +} + +/** + * Generates a random number using the given number of bits and RNG. + * + * @param bits the number of bits for the number. + * @param rng the random number generator to use. + * + * @return the random number. + */ +function generateRandom(bits, rng) { + var num = new BigInteger(bits, rng); + // force MSB set + var bits1 = bits - 1; + if(!num.testBit(bits1)) { + num.bitwiseTo(BigInteger.ONE.shiftLeft(bits1), op_or, num); + } + // align number on 30k+1 boundary + num.dAddOffset(31 - num.mod(THIRTY).byteValue(), 0); + return num; +} + +/** + * Returns the required number of Miller-Rabin tests to generate a + * prime with an error probability of (1/2)^80. + * + * See Handbook of Applied Cryptography Chapter 4, Table 4.4. + * + * @param bits the bit size. + * + * @return the required number of iterations. + */ +function getMillerRabinTests(bits) { + if(bits <= 100) return 27; + if(bits <= 150) return 18; + if(bits <= 200) return 15; + if(bits <= 250) return 12; + if(bits <= 300) return 9; + if(bits <= 350) return 8; + if(bits <= 400) return 7; + if(bits <= 500) return 6; + if(bits <= 600) return 5; + if(bits <= 800) return 4; + if(bits <= 1250) return 3; + return 2; +} + +})(); diff --git a/express-server/node_modules/node-forge/lib/prime.worker.js b/express-server/node_modules/node-forge/lib/prime.worker.js new file mode 100644 index 00000000..ce1355d9 --- /dev/null +++ b/express-server/node_modules/node-forge/lib/prime.worker.js @@ -0,0 +1,168 @@ +/** + * RSA Key Generation Worker. + * + * @author Dave Longley + * + * Copyright (c) 2013 Digital Bazaar, Inc. + */ +// worker is built using CommonJS syntax to include all code in one worker file +//importScripts('jsbn.js'); +var forge = require('./forge'); +require('./jsbn'); + +// prime constants +var LOW_PRIMES = [2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997]; +var LP_LIMIT = (1 << 26) / LOW_PRIMES[LOW_PRIMES.length - 1]; + +var BigInteger = forge.jsbn.BigInteger; +var BIG_TWO = new BigInteger(null); +BIG_TWO.fromInt(2); + +self.addEventListener('message', function(e) { + var result = findPrime(e.data); + self.postMessage(result); +}); + +// start receiving ranges to check +self.postMessage({found: false}); + +// primes are 30k+i for i = 1, 7, 11, 13, 17, 19, 23, 29 +var GCD_30_DELTA = [6, 4, 2, 4, 2, 4, 6, 2]; + +function findPrime(data) { + // TODO: abstract based on data.algorithm (PRIMEINC vs. others) + + // create BigInteger from given random bytes + var num = new BigInteger(data.hex, 16); + + /* Note: All primes are of the form 30k+i for i < 30 and gcd(30, i)=1. The + number we are given is always aligned at 30k + 1. Each time the number is + determined not to be prime we add to get to the next 'i', eg: if the number + was at 30k + 1 we add 6. */ + var deltaIdx = 0; + + // find nearest prime + var workLoad = data.workLoad; + for(var i = 0; i < workLoad; ++i) { + // do primality test + if(isProbablePrime(num)) { + return {found: true, prime: num.toString(16)}; + } + // get next potential prime + num.dAddOffset(GCD_30_DELTA[deltaIdx++ % 8], 0); + } + + return {found: false}; +} + +function isProbablePrime(n) { + // divide by low primes, ignore even checks, etc (n alread aligned properly) + var i = 1; + while(i < LOW_PRIMES.length) { + var m = LOW_PRIMES[i]; + var j = i + 1; + while(j < LOW_PRIMES.length && m < LP_LIMIT) { + m *= LOW_PRIMES[j++]; + } + m = n.modInt(m); + while(i < j) { + if(m % LOW_PRIMES[i++] === 0) { + return false; + } + } + } + return runMillerRabin(n); +} + +// HAC 4.24, Miller-Rabin +function runMillerRabin(n) { + // n1 = n - 1 + var n1 = n.subtract(BigInteger.ONE); + + // get s and d such that n1 = 2^s * d + var s = n1.getLowestSetBit(); + if(s <= 0) { + return false; + } + var d = n1.shiftRight(s); + + var k = _getMillerRabinTests(n.bitLength()); + var prng = getPrng(); + var a; + for(var i = 0; i < k; ++i) { + // select witness 'a' at random from between 1 and n - 1 + do { + a = new BigInteger(n.bitLength(), prng); + } while(a.compareTo(BigInteger.ONE) <= 0 || a.compareTo(n1) >= 0); + + /* See if 'a' is a composite witness. */ + + // x = a^d mod n + var x = a.modPow(d, n); + + // probably prime + if(x.compareTo(BigInteger.ONE) === 0 || x.compareTo(n1) === 0) { + continue; + } + + var j = s; + while(--j) { + // x = x^2 mod a + x = x.modPowInt(2, n); + + // 'n' is composite because no previous x == -1 mod n + if(x.compareTo(BigInteger.ONE) === 0) { + return false; + } + // x == -1 mod n, so probably prime + if(x.compareTo(n1) === 0) { + break; + } + } + + // 'x' is first_x^(n1/2) and is not +/- 1, so 'n' is not prime + if(j === 0) { + return false; + } + } + + return true; +} + +// get pseudo random number generator +function getPrng() { + // create prng with api that matches BigInteger secure random + return { + // x is an array to fill with bytes + nextBytes: function(x) { + for(var i = 0; i < x.length; ++i) { + x[i] = Math.floor(Math.random() * 0xFF); + } + } + }; +} + +/** + * Returns the required number of Miller-Rabin tests to generate a + * prime with an error probability of (1/2)^80. + * + * See Handbook of Applied Cryptography Chapter 4, Table 4.4. + * + * @param bits the bit size. + * + * @return the required number of iterations. + */ +function _getMillerRabinTests(bits) { + if(bits <= 100) return 27; + if(bits <= 150) return 18; + if(bits <= 200) return 15; + if(bits <= 250) return 12; + if(bits <= 300) return 9; + if(bits <= 350) return 8; + if(bits <= 400) return 7; + if(bits <= 500) return 6; + if(bits <= 600) return 5; + if(bits <= 800) return 4; + if(bits <= 1250) return 3; + return 2; +} diff --git a/express-server/node_modules/node-forge/lib/prng.js b/express-server/node_modules/node-forge/lib/prng.js new file mode 100644 index 00000000..b2eb1d43 --- /dev/null +++ b/express-server/node_modules/node-forge/lib/prng.js @@ -0,0 +1,420 @@ +/** + * A javascript implementation of a cryptographically-secure + * Pseudo Random Number Generator (PRNG). The Fortuna algorithm is followed + * here though the use of SHA-256 is not enforced; when generating an + * a PRNG context, the hashing algorithm and block cipher used for + * the generator are specified via a plugin. + * + * @author Dave Longley + * + * Copyright (c) 2010-2014 Digital Bazaar, Inc. + */ +var forge = require('./forge'); +require('./util'); + +var _crypto = null; +if(forge.util.isNodejs && !forge.options.usePureJavaScript && + !process.versions['node-webkit']) { + _crypto = require('crypto'); +} + +/* PRNG API */ +var prng = module.exports = forge.prng = forge.prng || {}; + +/** + * Creates a new PRNG context. + * + * A PRNG plugin must be passed in that will provide: + * + * 1. A function that initializes the key and seed of a PRNG context. It + * will be given a 16 byte key and a 16 byte seed. Any key expansion + * or transformation of the seed from a byte string into an array of + * integers (or similar) should be performed. + * 2. The cryptographic function used by the generator. It takes a key and + * a seed. + * 3. A seed increment function. It takes the seed and returns seed + 1. + * 4. An api to create a message digest. + * + * For an example, see random.js. + * + * @param plugin the PRNG plugin to use. + */ +prng.create = function(plugin) { + var ctx = { + plugin: plugin, + key: null, + seed: null, + time: null, + // number of reseeds so far + reseeds: 0, + // amount of data generated so far + generated: 0, + // no initial key bytes + keyBytes: '' + }; + + // create 32 entropy pools (each is a message digest) + var md = plugin.md; + var pools = new Array(32); + for(var i = 0; i < 32; ++i) { + pools[i] = md.create(); + } + ctx.pools = pools; + + // entropy pools are written to cyclically, starting at index 0 + ctx.pool = 0; + + /** + * Generates random bytes. The bytes may be generated synchronously or + * asynchronously. Web workers must use the asynchronous interface or + * else the behavior is undefined. + * + * @param count the number of random bytes to generate. + * @param [callback(err, bytes)] called once the operation completes. + * + * @return count random bytes as a string. + */ + ctx.generate = function(count, callback) { + // do synchronously + if(!callback) { + return ctx.generateSync(count); + } + + // simple generator using counter-based CBC + var cipher = ctx.plugin.cipher; + var increment = ctx.plugin.increment; + var formatKey = ctx.plugin.formatKey; + var formatSeed = ctx.plugin.formatSeed; + var b = forge.util.createBuffer(); + + // paranoid deviation from Fortuna: + // reset key for every request to protect previously + // generated random bytes should the key be discovered; + // there is no 100ms based reseeding because of this + // forced reseed for every `generate` call + ctx.key = null; + + generate(); + + function generate(err) { + if(err) { + return callback(err); + } + + // sufficient bytes generated + if(b.length() >= count) { + return callback(null, b.getBytes(count)); + } + + // if amount of data generated is greater than 1 MiB, trigger reseed + if(ctx.generated > 0xfffff) { + ctx.key = null; + } + + if(ctx.key === null) { + // prevent stack overflow + return forge.util.nextTick(function() { + _reseed(generate); + }); + } + + // generate the random bytes + var bytes = cipher(ctx.key, ctx.seed); + ctx.generated += bytes.length; + b.putBytes(bytes); + + // generate bytes for a new key and seed + ctx.key = formatKey(cipher(ctx.key, increment(ctx.seed))); + ctx.seed = formatSeed(cipher(ctx.key, ctx.seed)); + + forge.util.setImmediate(generate); + } + }; + + /** + * Generates random bytes synchronously. + * + * @param count the number of random bytes to generate. + * + * @return count random bytes as a string. + */ + ctx.generateSync = function(count) { + // simple generator using counter-based CBC + var cipher = ctx.plugin.cipher; + var increment = ctx.plugin.increment; + var formatKey = ctx.plugin.formatKey; + var formatSeed = ctx.plugin.formatSeed; + + // paranoid deviation from Fortuna: + // reset key for every request to protect previously + // generated random bytes should the key be discovered; + // there is no 100ms based reseeding because of this + // forced reseed for every `generateSync` call + ctx.key = null; + + var b = forge.util.createBuffer(); + while(b.length() < count) { + // if amount of data generated is greater than 1 MiB, trigger reseed + if(ctx.generated > 0xfffff) { + ctx.key = null; + } + + if(ctx.key === null) { + _reseedSync(); + } + + // generate the random bytes + var bytes = cipher(ctx.key, ctx.seed); + ctx.generated += bytes.length; + b.putBytes(bytes); + + // generate bytes for a new key and seed + ctx.key = formatKey(cipher(ctx.key, increment(ctx.seed))); + ctx.seed = formatSeed(cipher(ctx.key, ctx.seed)); + } + + return b.getBytes(count); + }; + + /** + * Private function that asynchronously reseeds a generator. + * + * @param callback(err) called once the operation completes. + */ + function _reseed(callback) { + if(ctx.pools[0].messageLength >= 32) { + _seed(); + return callback(); + } + // not enough seed data... + var needed = (32 - ctx.pools[0].messageLength) << 5; + ctx.seedFile(needed, function(err, bytes) { + if(err) { + return callback(err); + } + ctx.collect(bytes); + _seed(); + callback(); + }); + } + + /** + * Private function that synchronously reseeds a generator. + */ + function _reseedSync() { + if(ctx.pools[0].messageLength >= 32) { + return _seed(); + } + // not enough seed data... + var needed = (32 - ctx.pools[0].messageLength) << 5; + ctx.collect(ctx.seedFileSync(needed)); + _seed(); + } + + /** + * Private function that seeds a generator once enough bytes are available. + */ + function _seed() { + // update reseed count + ctx.reseeds = (ctx.reseeds === 0xffffffff) ? 0 : ctx.reseeds + 1; + + // goal is to update `key` via: + // key = hash(key + s) + // where 's' is all collected entropy from selected pools, then... + + // create a plugin-based message digest + var md = ctx.plugin.md.create(); + + // consume current key bytes + md.update(ctx.keyBytes); + + // digest the entropy of pools whose index k meet the + // condition 'n mod 2^k == 0' where n is the number of reseeds + var _2powK = 1; + for(var k = 0; k < 32; ++k) { + if(ctx.reseeds % _2powK === 0) { + md.update(ctx.pools[k].digest().getBytes()); + ctx.pools[k].start(); + } + _2powK = _2powK << 1; + } + + // get digest for key bytes + ctx.keyBytes = md.digest().getBytes(); + + // paranoid deviation from Fortuna: + // update `seed` via `seed = hash(key)` + // instead of initializing to zero once and only + // ever incrementing it + md.start(); + md.update(ctx.keyBytes); + var seedBytes = md.digest().getBytes(); + + // update state + ctx.key = ctx.plugin.formatKey(ctx.keyBytes); + ctx.seed = ctx.plugin.formatSeed(seedBytes); + ctx.generated = 0; + } + + /** + * The built-in default seedFile. This seedFile is used when entropy + * is needed immediately. + * + * @param needed the number of bytes that are needed. + * + * @return the random bytes. + */ + function defaultSeedFile(needed) { + // use window.crypto.getRandomValues strong source of entropy if available + var getRandomValues = null; + if(typeof window !== 'undefined') { + var _crypto = window.crypto || window.msCrypto; + if(_crypto && _crypto.getRandomValues) { + getRandomValues = function(arr) { + return _crypto.getRandomValues(arr); + }; + } + } + + var b = forge.util.createBuffer(); + if(getRandomValues) { + while(b.length() < needed) { + // max byte length is 65536 before QuotaExceededError is thrown + // http://www.w3.org/TR/WebCryptoAPI/#RandomSource-method-getRandomValues + var count = Math.max(1, Math.min(needed - b.length(), 65536) / 4); + var entropy = new Uint32Array(Math.floor(count)); + try { + getRandomValues(entropy); + for(var i = 0; i < entropy.length; ++i) { + b.putInt32(entropy[i]); + } + } catch(e) { + /* only ignore QuotaExceededError */ + if(!(typeof QuotaExceededError !== 'undefined' && + e instanceof QuotaExceededError)) { + throw e; + } + } + } + } + + // be sad and add some weak random data + if(b.length() < needed) { + /* Draws from Park-Miller "minimal standard" 31 bit PRNG, + implemented with David G. Carta's optimization: with 32 bit math + and without division (Public Domain). */ + var hi, lo, next; + var seed = Math.floor(Math.random() * 0x010000); + while(b.length() < needed) { + lo = 16807 * (seed & 0xFFFF); + hi = 16807 * (seed >> 16); + lo += (hi & 0x7FFF) << 16; + lo += hi >> 15; + lo = (lo & 0x7FFFFFFF) + (lo >> 31); + seed = lo & 0xFFFFFFFF; + + // consume lower 3 bytes of seed + for(var i = 0; i < 3; ++i) { + // throw in more pseudo random + next = seed >>> (i << 3); + next ^= Math.floor(Math.random() * 0x0100); + b.putByte(String.fromCharCode(next & 0xFF)); + } + } + } + + return b.getBytes(needed); + } + // initialize seed file APIs + if(_crypto) { + // use nodejs async API + ctx.seedFile = function(needed, callback) { + _crypto.randomBytes(needed, function(err, bytes) { + if(err) { + return callback(err); + } + callback(null, bytes.toString()); + }); + }; + // use nodejs sync API + ctx.seedFileSync = function(needed) { + return _crypto.randomBytes(needed).toString(); + }; + } else { + ctx.seedFile = function(needed, callback) { + try { + callback(null, defaultSeedFile(needed)); + } catch(e) { + callback(e); + } + }; + ctx.seedFileSync = defaultSeedFile; + } + + /** + * Adds entropy to a prng ctx's accumulator. + * + * @param bytes the bytes of entropy as a string. + */ + ctx.collect = function(bytes) { + // iterate over pools distributing entropy cyclically + var count = bytes.length; + for(var i = 0; i < count; ++i) { + ctx.pools[ctx.pool].update(bytes.substr(i, 1)); + ctx.pool = (ctx.pool === 31) ? 0 : ctx.pool + 1; + } + }; + + /** + * Collects an integer of n bits. + * + * @param i the integer entropy. + * @param n the number of bits in the integer. + */ + ctx.collectInt = function(i, n) { + var bytes = ''; + for(var x = 0; x < n; x += 8) { + bytes += String.fromCharCode((i >> x) & 0xFF); + } + ctx.collect(bytes); + }; + + /** + * Registers a Web Worker to receive immediate entropy from the main thread. + * This method is required until Web Workers can access the native crypto + * API. This method should be called twice for each created worker, once in + * the main thread, and once in the worker itself. + * + * @param worker the worker to register. + */ + ctx.registerWorker = function(worker) { + // worker receives random bytes + if(worker === self) { + ctx.seedFile = function(needed, callback) { + function listener(e) { + var data = e.data; + if(data.forge && data.forge.prng) { + self.removeEventListener('message', listener); + callback(data.forge.prng.err, data.forge.prng.bytes); + } + } + self.addEventListener('message', listener); + self.postMessage({forge: {prng: {needed: needed}}}); + }; + } else { + // main thread sends random bytes upon request + var listener = function(e) { + var data = e.data; + if(data.forge && data.forge.prng) { + ctx.seedFile(data.forge.prng.needed, function(err, bytes) { + worker.postMessage({forge: {prng: {err: err, bytes: bytes}}}); + }); + } + }; + // TODO: do we need to remove the event listener when the worker dies? + worker.addEventListener('message', listener); + } + }; + + return ctx; +}; diff --git a/express-server/node_modules/node-forge/lib/pss.js b/express-server/node_modules/node-forge/lib/pss.js new file mode 100644 index 00000000..2596693c --- /dev/null +++ b/express-server/node_modules/node-forge/lib/pss.js @@ -0,0 +1,241 @@ +/** + * Javascript implementation of PKCS#1 PSS signature padding. + * + * @author Stefan Siegl + * + * Copyright (c) 2012 Stefan Siegl + */ +var forge = require('./forge'); +require('./random'); +require('./util'); + +// shortcut for PSS API +var pss = module.exports = forge.pss = forge.pss || {}; + +/** + * Creates a PSS signature scheme object. + * + * There are several ways to provide a salt for encoding: + * + * 1. Specify the saltLength only and the built-in PRNG will generate it. + * 2. Specify the saltLength and a custom PRNG with 'getBytesSync' defined that + * will be used. + * 3. Specify the salt itself as a forge.util.ByteBuffer. + * + * @param options the options to use: + * md the message digest object to use, a forge md instance. + * mgf the mask generation function to use, a forge mgf instance. + * [saltLength] the length of the salt in octets. + * [prng] the pseudo-random number generator to use to produce a salt. + * [salt] the salt to use when encoding. + * + * @return a signature scheme object. + */ +pss.create = function(options) { + // backwards compatibility w/legacy args: hash, mgf, sLen + if(arguments.length === 3) { + options = { + md: arguments[0], + mgf: arguments[1], + saltLength: arguments[2] + }; + } + + var hash = options.md; + var mgf = options.mgf; + var hLen = hash.digestLength; + + var salt_ = options.salt || null; + if(typeof salt_ === 'string') { + // assume binary-encoded string + salt_ = forge.util.createBuffer(salt_); + } + + var sLen; + if('saltLength' in options) { + sLen = options.saltLength; + } else if(salt_ !== null) { + sLen = salt_.length(); + } else { + throw new Error('Salt length not specified or specific salt not given.'); + } + + if(salt_ !== null && salt_.length() !== sLen) { + throw new Error('Given salt length does not match length of given salt.'); + } + + var prng = options.prng || forge.random; + + var pssobj = {}; + + /** + * Encodes a PSS signature. + * + * This function implements EMSA-PSS-ENCODE as per RFC 3447, section 9.1.1. + * + * @param md the message digest object with the hash to sign. + * @param modsBits the length of the RSA modulus in bits. + * + * @return the encoded message as a binary-encoded string of length + * ceil((modBits - 1) / 8). + */ + pssobj.encode = function(md, modBits) { + var i; + var emBits = modBits - 1; + var emLen = Math.ceil(emBits / 8); + + /* 2. Let mHash = Hash(M), an octet string of length hLen. */ + var mHash = md.digest().getBytes(); + + /* 3. If emLen < hLen + sLen + 2, output "encoding error" and stop. */ + if(emLen < hLen + sLen + 2) { + throw new Error('Message is too long to encrypt.'); + } + + /* 4. Generate a random octet string salt of length sLen; if sLen = 0, + * then salt is the empty string. */ + var salt; + if(salt_ === null) { + salt = prng.getBytesSync(sLen); + } else { + salt = salt_.bytes(); + } + + /* 5. Let M' = (0x)00 00 00 00 00 00 00 00 || mHash || salt; */ + var m_ = new forge.util.ByteBuffer(); + m_.fillWithByte(0, 8); + m_.putBytes(mHash); + m_.putBytes(salt); + + /* 6. Let H = Hash(M'), an octet string of length hLen. */ + hash.start(); + hash.update(m_.getBytes()); + var h = hash.digest().getBytes(); + + /* 7. Generate an octet string PS consisting of emLen - sLen - hLen - 2 + * zero octets. The length of PS may be 0. */ + var ps = new forge.util.ByteBuffer(); + ps.fillWithByte(0, emLen - sLen - hLen - 2); + + /* 8. Let DB = PS || 0x01 || salt; DB is an octet string of length + * emLen - hLen - 1. */ + ps.putByte(0x01); + ps.putBytes(salt); + var db = ps.getBytes(); + + /* 9. Let dbMask = MGF(H, emLen - hLen - 1). */ + var maskLen = emLen - hLen - 1; + var dbMask = mgf.generate(h, maskLen); + + /* 10. Let maskedDB = DB \xor dbMask. */ + var maskedDB = ''; + for(i = 0; i < maskLen; i++) { + maskedDB += String.fromCharCode(db.charCodeAt(i) ^ dbMask.charCodeAt(i)); + } + + /* 11. Set the leftmost 8emLen - emBits bits of the leftmost octet in + * maskedDB to zero. */ + var mask = (0xFF00 >> (8 * emLen - emBits)) & 0xFF; + maskedDB = String.fromCharCode(maskedDB.charCodeAt(0) & ~mask) + + maskedDB.substr(1); + + /* 12. Let EM = maskedDB || H || 0xbc. + * 13. Output EM. */ + return maskedDB + h + String.fromCharCode(0xbc); + }; + + /** + * Verifies a PSS signature. + * + * This function implements EMSA-PSS-VERIFY as per RFC 3447, section 9.1.2. + * + * @param mHash the message digest hash, as a binary-encoded string, to + * compare against the signature. + * @param em the encoded message, as a binary-encoded string + * (RSA decryption result). + * @param modsBits the length of the RSA modulus in bits. + * + * @return true if the signature was verified, false if not. + */ + pssobj.verify = function(mHash, em, modBits) { + var i; + var emBits = modBits - 1; + var emLen = Math.ceil(emBits / 8); + + /* c. Convert the message representative m to an encoded message EM + * of length emLen = ceil((modBits - 1) / 8) octets, where modBits + * is the length in bits of the RSA modulus n */ + em = em.substr(-emLen); + + /* 3. If emLen < hLen + sLen + 2, output "inconsistent" and stop. */ + if(emLen < hLen + sLen + 2) { + throw new Error('Inconsistent parameters to PSS signature verification.'); + } + + /* 4. If the rightmost octet of EM does not have hexadecimal value + * 0xbc, output "inconsistent" and stop. */ + if(em.charCodeAt(emLen - 1) !== 0xbc) { + throw new Error('Encoded message does not end in 0xBC.'); + } + + /* 5. Let maskedDB be the leftmost emLen - hLen - 1 octets of EM, and + * let H be the next hLen octets. */ + var maskLen = emLen - hLen - 1; + var maskedDB = em.substr(0, maskLen); + var h = em.substr(maskLen, hLen); + + /* 6. If the leftmost 8emLen - emBits bits of the leftmost octet in + * maskedDB are not all equal to zero, output "inconsistent" and stop. */ + var mask = (0xFF00 >> (8 * emLen - emBits)) & 0xFF; + if((maskedDB.charCodeAt(0) & mask) !== 0) { + throw new Error('Bits beyond keysize not zero as expected.'); + } + + /* 7. Let dbMask = MGF(H, emLen - hLen - 1). */ + var dbMask = mgf.generate(h, maskLen); + + /* 8. Let DB = maskedDB \xor dbMask. */ + var db = ''; + for(i = 0; i < maskLen; i++) { + db += String.fromCharCode(maskedDB.charCodeAt(i) ^ dbMask.charCodeAt(i)); + } + + /* 9. Set the leftmost 8emLen - emBits bits of the leftmost octet + * in DB to zero. */ + db = String.fromCharCode(db.charCodeAt(0) & ~mask) + db.substr(1); + + /* 10. If the emLen - hLen - sLen - 2 leftmost octets of DB are not zero + * or if the octet at position emLen - hLen - sLen - 1 (the leftmost + * position is "position 1") does not have hexadecimal value 0x01, + * output "inconsistent" and stop. */ + var checkLen = emLen - hLen - sLen - 2; + for(i = 0; i < checkLen; i++) { + if(db.charCodeAt(i) !== 0x00) { + throw new Error('Leftmost octets not zero as expected'); + } + } + + if(db.charCodeAt(checkLen) !== 0x01) { + throw new Error('Inconsistent PSS signature, 0x01 marker not found'); + } + + /* 11. Let salt be the last sLen octets of DB. */ + var salt = db.substr(-sLen); + + /* 12. Let M' = (0x)00 00 00 00 00 00 00 00 || mHash || salt */ + var m_ = new forge.util.ByteBuffer(); + m_.fillWithByte(0, 8); + m_.putBytes(mHash); + m_.putBytes(salt); + + /* 13. Let H' = Hash(M'), an octet string of length hLen. */ + hash.start(); + hash.update(m_.getBytes()); + var h_ = hash.digest().getBytes(); + + /* 14. If H = H', output "consistent." Otherwise, output "inconsistent." */ + return h === h_; + }; + + return pssobj; +}; diff --git a/express-server/node_modules/node-forge/lib/random.js b/express-server/node_modules/node-forge/lib/random.js new file mode 100644 index 00000000..d4f1928c --- /dev/null +++ b/express-server/node_modules/node-forge/lib/random.js @@ -0,0 +1,191 @@ +/** + * An API for getting cryptographically-secure random bytes. The bytes are + * generated using the Fortuna algorithm devised by Bruce Schneier and + * Niels Ferguson. + * + * Getting strong random bytes is not yet easy to do in javascript. The only + * truish random entropy that can be collected is from the mouse, keyboard, or + * from timing with respect to page loads, etc. This generator makes a poor + * attempt at providing random bytes when those sources haven't yet provided + * enough entropy to initially seed or to reseed the PRNG. + * + * @author Dave Longley + * + * Copyright (c) 2009-2014 Digital Bazaar, Inc. + */ +var forge = require('./forge'); +require('./aes'); +require('./sha256'); +require('./prng'); +require('./util'); + +(function() { + +// forge.random already defined +if(forge.random && forge.random.getBytes) { + module.exports = forge.random; + return; +} + +(function(jQuery) { + +// the default prng plugin, uses AES-128 +var prng_aes = {}; +var _prng_aes_output = new Array(4); +var _prng_aes_buffer = forge.util.createBuffer(); +prng_aes.formatKey = function(key) { + // convert the key into 32-bit integers + var tmp = forge.util.createBuffer(key); + key = new Array(4); + key[0] = tmp.getInt32(); + key[1] = tmp.getInt32(); + key[2] = tmp.getInt32(); + key[3] = tmp.getInt32(); + + // return the expanded key + return forge.aes._expandKey(key, false); +}; +prng_aes.formatSeed = function(seed) { + // convert seed into 32-bit integers + var tmp = forge.util.createBuffer(seed); + seed = new Array(4); + seed[0] = tmp.getInt32(); + seed[1] = tmp.getInt32(); + seed[2] = tmp.getInt32(); + seed[3] = tmp.getInt32(); + return seed; +}; +prng_aes.cipher = function(key, seed) { + forge.aes._updateBlock(key, seed, _prng_aes_output, false); + _prng_aes_buffer.putInt32(_prng_aes_output[0]); + _prng_aes_buffer.putInt32(_prng_aes_output[1]); + _prng_aes_buffer.putInt32(_prng_aes_output[2]); + _prng_aes_buffer.putInt32(_prng_aes_output[3]); + return _prng_aes_buffer.getBytes(); +}; +prng_aes.increment = function(seed) { + // FIXME: do we care about carry or signed issues? + ++seed[3]; + return seed; +}; +prng_aes.md = forge.md.sha256; + +/** + * Creates a new PRNG. + */ +function spawnPrng() { + var ctx = forge.prng.create(prng_aes); + + /** + * Gets random bytes. If a native secure crypto API is unavailable, this + * method tries to make the bytes more unpredictable by drawing from data that + * can be collected from the user of the browser, eg: mouse movement. + * + * If a callback is given, this method will be called asynchronously. + * + * @param count the number of random bytes to get. + * @param [callback(err, bytes)] called once the operation completes. + * + * @return the random bytes in a string. + */ + ctx.getBytes = function(count, callback) { + return ctx.generate(count, callback); + }; + + /** + * Gets random bytes asynchronously. If a native secure crypto API is + * unavailable, this method tries to make the bytes more unpredictable by + * drawing from data that can be collected from the user of the browser, + * eg: mouse movement. + * + * @param count the number of random bytes to get. + * + * @return the random bytes in a string. + */ + ctx.getBytesSync = function(count) { + return ctx.generate(count); + }; + + return ctx; +} + +// create default prng context +var _ctx = spawnPrng(); + +// add other sources of entropy only if window.crypto.getRandomValues is not +// available -- otherwise this source will be automatically used by the prng +var getRandomValues = null; +if(typeof window !== 'undefined') { + var _crypto = window.crypto || window.msCrypto; + if(_crypto && _crypto.getRandomValues) { + getRandomValues = function(arr) { + return _crypto.getRandomValues(arr); + }; + } +} +if(forge.options.usePureJavaScript || + (!forge.util.isNodejs && !getRandomValues)) { + // if this is a web worker, do not use weak entropy, instead register to + // receive strong entropy asynchronously from the main thread + if(typeof window === 'undefined' || window.document === undefined) { + // FIXME: + } + + // get load time entropy + _ctx.collectInt(+new Date(), 32); + + // add some entropy from navigator object + if(typeof(navigator) !== 'undefined') { + var _navBytes = ''; + for(var key in navigator) { + try { + if(typeof(navigator[key]) == 'string') { + _navBytes += navigator[key]; + } + } catch(e) { + /* Some navigator keys might not be accessible, e.g. the geolocation + attribute throws an exception if touched in Mozilla chrome:// + context. + + Silently ignore this and just don't use this as a source of + entropy. */ + } + } + _ctx.collect(_navBytes); + _navBytes = null; + } + + // add mouse and keyboard collectors if jquery is available + if(jQuery) { + // set up mouse entropy capture + jQuery().mousemove(function(e) { + // add mouse coords + _ctx.collectInt(e.clientX, 16); + _ctx.collectInt(e.clientY, 16); + }); + + // set up keyboard entropy capture + jQuery().keypress(function(e) { + _ctx.collectInt(e.charCode, 8); + }); + } +} + +/* Random API */ +if(!forge.random) { + forge.random = _ctx; +} else { + // extend forge.random with _ctx + for(var key in _ctx) { + forge.random[key] = _ctx[key]; + } +} + +// expose spawn PRNG +forge.random.createInstance = spawnPrng; + +module.exports = forge.random; + +})(typeof(jQuery) !== 'undefined' ? jQuery : null); + +})(); diff --git a/express-server/node_modules/node-forge/lib/rc2.js b/express-server/node_modules/node-forge/lib/rc2.js new file mode 100644 index 00000000..e33f78a7 --- /dev/null +++ b/express-server/node_modules/node-forge/lib/rc2.js @@ -0,0 +1,410 @@ +/** + * RC2 implementation. + * + * @author Stefan Siegl + * + * Copyright (c) 2012 Stefan Siegl + * + * Information on the RC2 cipher is available from RFC #2268, + * http://www.ietf.org/rfc/rfc2268.txt + */ +var forge = require('./forge'); +require('./util'); + +var piTable = [ + 0xd9, 0x78, 0xf9, 0xc4, 0x19, 0xdd, 0xb5, 0xed, 0x28, 0xe9, 0xfd, 0x79, 0x4a, 0xa0, 0xd8, 0x9d, + 0xc6, 0x7e, 0x37, 0x83, 0x2b, 0x76, 0x53, 0x8e, 0x62, 0x4c, 0x64, 0x88, 0x44, 0x8b, 0xfb, 0xa2, + 0x17, 0x9a, 0x59, 0xf5, 0x87, 0xb3, 0x4f, 0x13, 0x61, 0x45, 0x6d, 0x8d, 0x09, 0x81, 0x7d, 0x32, + 0xbd, 0x8f, 0x40, 0xeb, 0x86, 0xb7, 0x7b, 0x0b, 0xf0, 0x95, 0x21, 0x22, 0x5c, 0x6b, 0x4e, 0x82, + 0x54, 0xd6, 0x65, 0x93, 0xce, 0x60, 0xb2, 0x1c, 0x73, 0x56, 0xc0, 0x14, 0xa7, 0x8c, 0xf1, 0xdc, + 0x12, 0x75, 0xca, 0x1f, 0x3b, 0xbe, 0xe4, 0xd1, 0x42, 0x3d, 0xd4, 0x30, 0xa3, 0x3c, 0xb6, 0x26, + 0x6f, 0xbf, 0x0e, 0xda, 0x46, 0x69, 0x07, 0x57, 0x27, 0xf2, 0x1d, 0x9b, 0xbc, 0x94, 0x43, 0x03, + 0xf8, 0x11, 0xc7, 0xf6, 0x90, 0xef, 0x3e, 0xe7, 0x06, 0xc3, 0xd5, 0x2f, 0xc8, 0x66, 0x1e, 0xd7, + 0x08, 0xe8, 0xea, 0xde, 0x80, 0x52, 0xee, 0xf7, 0x84, 0xaa, 0x72, 0xac, 0x35, 0x4d, 0x6a, 0x2a, + 0x96, 0x1a, 0xd2, 0x71, 0x5a, 0x15, 0x49, 0x74, 0x4b, 0x9f, 0xd0, 0x5e, 0x04, 0x18, 0xa4, 0xec, + 0xc2, 0xe0, 0x41, 0x6e, 0x0f, 0x51, 0xcb, 0xcc, 0x24, 0x91, 0xaf, 0x50, 0xa1, 0xf4, 0x70, 0x39, + 0x99, 0x7c, 0x3a, 0x85, 0x23, 0xb8, 0xb4, 0x7a, 0xfc, 0x02, 0x36, 0x5b, 0x25, 0x55, 0x97, 0x31, + 0x2d, 0x5d, 0xfa, 0x98, 0xe3, 0x8a, 0x92, 0xae, 0x05, 0xdf, 0x29, 0x10, 0x67, 0x6c, 0xba, 0xc9, + 0xd3, 0x00, 0xe6, 0xcf, 0xe1, 0x9e, 0xa8, 0x2c, 0x63, 0x16, 0x01, 0x3f, 0x58, 0xe2, 0x89, 0xa9, + 0x0d, 0x38, 0x34, 0x1b, 0xab, 0x33, 0xff, 0xb0, 0xbb, 0x48, 0x0c, 0x5f, 0xb9, 0xb1, 0xcd, 0x2e, + 0xc5, 0xf3, 0xdb, 0x47, 0xe5, 0xa5, 0x9c, 0x77, 0x0a, 0xa6, 0x20, 0x68, 0xfe, 0x7f, 0xc1, 0xad +]; + +var s = [1, 2, 3, 5]; + +/** + * Rotate a word left by given number of bits. + * + * Bits that are shifted out on the left are put back in on the right + * hand side. + * + * @param word The word to shift left. + * @param bits The number of bits to shift by. + * @return The rotated word. + */ +var rol = function(word, bits) { + return ((word << bits) & 0xffff) | ((word & 0xffff) >> (16 - bits)); +}; + +/** + * Rotate a word right by given number of bits. + * + * Bits that are shifted out on the right are put back in on the left + * hand side. + * + * @param word The word to shift right. + * @param bits The number of bits to shift by. + * @return The rotated word. + */ +var ror = function(word, bits) { + return ((word & 0xffff) >> bits) | ((word << (16 - bits)) & 0xffff); +}; + +/* RC2 API */ +module.exports = forge.rc2 = forge.rc2 || {}; + +/** + * Perform RC2 key expansion as per RFC #2268, section 2. + * + * @param key variable-length user key (between 1 and 128 bytes) + * @param effKeyBits number of effective key bits (default: 128) + * @return the expanded RC2 key (ByteBuffer of 128 bytes) + */ +forge.rc2.expandKey = function(key, effKeyBits) { + if(typeof key === 'string') { + key = forge.util.createBuffer(key); + } + effKeyBits = effKeyBits || 128; + + /* introduce variables that match the names used in RFC #2268 */ + var L = key; + var T = key.length(); + var T1 = effKeyBits; + var T8 = Math.ceil(T1 / 8); + var TM = 0xff >> (T1 & 0x07); + var i; + + for(i = T; i < 128; i++) { + L.putByte(piTable[(L.at(i - 1) + L.at(i - T)) & 0xff]); + } + + L.setAt(128 - T8, piTable[L.at(128 - T8) & TM]); + + for(i = 127 - T8; i >= 0; i--) { + L.setAt(i, piTable[L.at(i + 1) ^ L.at(i + T8)]); + } + + return L; +}; + +/** + * Creates a RC2 cipher object. + * + * @param key the symmetric key to use (as base for key generation). + * @param bits the number of effective key bits. + * @param encrypt false for decryption, true for encryption. + * + * @return the cipher. + */ +var createCipher = function(key, bits, encrypt) { + var _finish = false, _input = null, _output = null, _iv = null; + var mixRound, mashRound; + var i, j, K = []; + + /* Expand key and fill into K[] Array */ + key = forge.rc2.expandKey(key, bits); + for(i = 0; i < 64; i++) { + K.push(key.getInt16Le()); + } + + if(encrypt) { + /** + * Perform one mixing round "in place". + * + * @param R Array of four words to perform mixing on. + */ + mixRound = function(R) { + for(i = 0; i < 4; i++) { + R[i] += K[j] + (R[(i + 3) % 4] & R[(i + 2) % 4]) + + ((~R[(i + 3) % 4]) & R[(i + 1) % 4]); + R[i] = rol(R[i], s[i]); + j++; + } + }; + + /** + * Perform one mashing round "in place". + * + * @param R Array of four words to perform mashing on. + */ + mashRound = function(R) { + for(i = 0; i < 4; i++) { + R[i] += K[R[(i + 3) % 4] & 63]; + } + }; + } else { + /** + * Perform one r-mixing round "in place". + * + * @param R Array of four words to perform mixing on. + */ + mixRound = function(R) { + for(i = 3; i >= 0; i--) { + R[i] = ror(R[i], s[i]); + R[i] -= K[j] + (R[(i + 3) % 4] & R[(i + 2) % 4]) + + ((~R[(i + 3) % 4]) & R[(i + 1) % 4]); + j--; + } + }; + + /** + * Perform one r-mashing round "in place". + * + * @param R Array of four words to perform mashing on. + */ + mashRound = function(R) { + for(i = 3; i >= 0; i--) { + R[i] -= K[R[(i + 3) % 4] & 63]; + } + }; + } + + /** + * Run the specified cipher execution plan. + * + * This function takes four words from the input buffer, applies the IV on + * it (if requested) and runs the provided execution plan. + * + * The plan must be put together in form of a array of arrays. Where the + * outer one is simply a list of steps to perform and the inner one needs + * to have two elements: the first one telling how many rounds to perform, + * the second one telling what to do (i.e. the function to call). + * + * @param {Array} plan The plan to execute. + */ + var runPlan = function(plan) { + var R = []; + + /* Get data from input buffer and fill the four words into R */ + for(i = 0; i < 4; i++) { + var val = _input.getInt16Le(); + + if(_iv !== null) { + if(encrypt) { + /* We're encrypting, apply the IV first. */ + val ^= _iv.getInt16Le(); + } else { + /* We're decryption, keep cipher text for next block. */ + _iv.putInt16Le(val); + } + } + + R.push(val & 0xffff); + } + + /* Reset global "j" variable as per spec. */ + j = encrypt ? 0 : 63; + + /* Run execution plan. */ + for(var ptr = 0; ptr < plan.length; ptr++) { + for(var ctr = 0; ctr < plan[ptr][0]; ctr++) { + plan[ptr][1](R); + } + } + + /* Write back result to output buffer. */ + for(i = 0; i < 4; i++) { + if(_iv !== null) { + if(encrypt) { + /* We're encrypting in CBC-mode, feed back encrypted bytes into + IV buffer to carry it forward to next block. */ + _iv.putInt16Le(R[i]); + } else { + R[i] ^= _iv.getInt16Le(); + } + } + + _output.putInt16Le(R[i]); + } + }; + + /* Create cipher object */ + var cipher = null; + cipher = { + /** + * Starts or restarts the encryption or decryption process, whichever + * was previously configured. + * + * To use the cipher in CBC mode, iv may be given either as a string + * of bytes, or as a byte buffer. For ECB mode, give null as iv. + * + * @param iv the initialization vector to use, null for ECB mode. + * @param output the output the buffer to write to, null to create one. + */ + start: function(iv, output) { + if(iv) { + /* CBC mode */ + if(typeof iv === 'string') { + iv = forge.util.createBuffer(iv); + } + } + + _finish = false; + _input = forge.util.createBuffer(); + _output = output || new forge.util.createBuffer(); + _iv = iv; + + cipher.output = _output; + }, + + /** + * Updates the next block. + * + * @param input the buffer to read from. + */ + update: function(input) { + if(!_finish) { + // not finishing, so fill the input buffer with more input + _input.putBuffer(input); + } + + while(_input.length() >= 8) { + runPlan([ + [ 5, mixRound ], + [ 1, mashRound ], + [ 6, mixRound ], + [ 1, mashRound ], + [ 5, mixRound ] + ]); + } + }, + + /** + * Finishes encrypting or decrypting. + * + * @param pad a padding function to use, null for PKCS#7 padding, + * signature(blockSize, buffer, decrypt). + * + * @return true if successful, false on error. + */ + finish: function(pad) { + var rval = true; + + if(encrypt) { + if(pad) { + rval = pad(8, _input, !encrypt); + } else { + // add PKCS#7 padding to block (each pad byte is the + // value of the number of pad bytes) + var padding = (_input.length() === 8) ? 8 : (8 - _input.length()); + _input.fillWithByte(padding, padding); + } + } + + if(rval) { + // do final update + _finish = true; + cipher.update(); + } + + if(!encrypt) { + // check for error: input data not a multiple of block size + rval = (_input.length() === 0); + if(rval) { + if(pad) { + rval = pad(8, _output, !encrypt); + } else { + // ensure padding byte count is valid + var len = _output.length(); + var count = _output.at(len - 1); + + if(count > len) { + rval = false; + } else { + // trim off padding bytes + _output.truncate(count); + } + } + } + } + + return rval; + } + }; + + return cipher; +}; + +/** + * Creates an RC2 cipher object to encrypt data in ECB or CBC mode using the + * given symmetric key. The output will be stored in the 'output' member + * of the returned cipher. + * + * The key and iv may be given as a string of bytes or a byte buffer. + * The cipher is initialized to use 128 effective key bits. + * + * @param key the symmetric key to use. + * @param iv the initialization vector to use. + * @param output the buffer to write to, null to create one. + * + * @return the cipher. + */ +forge.rc2.startEncrypting = function(key, iv, output) { + var cipher = forge.rc2.createEncryptionCipher(key, 128); + cipher.start(iv, output); + return cipher; +}; + +/** + * Creates an RC2 cipher object to encrypt data in ECB or CBC mode using the + * given symmetric key. + * + * The key may be given as a string of bytes or a byte buffer. + * + * To start encrypting call start() on the cipher with an iv and optional + * output buffer. + * + * @param key the symmetric key to use. + * + * @return the cipher. + */ +forge.rc2.createEncryptionCipher = function(key, bits) { + return createCipher(key, bits, true); +}; + +/** + * Creates an RC2 cipher object to decrypt data in ECB or CBC mode using the + * given symmetric key. The output will be stored in the 'output' member + * of the returned cipher. + * + * The key and iv may be given as a string of bytes or a byte buffer. + * The cipher is initialized to use 128 effective key bits. + * + * @param key the symmetric key to use. + * @param iv the initialization vector to use. + * @param output the buffer to write to, null to create one. + * + * @return the cipher. + */ +forge.rc2.startDecrypting = function(key, iv, output) { + var cipher = forge.rc2.createDecryptionCipher(key, 128); + cipher.start(iv, output); + return cipher; +}; + +/** + * Creates an RC2 cipher object to decrypt data in ECB or CBC mode using the + * given symmetric key. + * + * The key may be given as a string of bytes or a byte buffer. + * + * To start decrypting call start() on the cipher with an iv and optional + * output buffer. + * + * @param key the symmetric key to use. + * + * @return the cipher. + */ +forge.rc2.createDecryptionCipher = function(key, bits) { + return createCipher(key, bits, false); +}; diff --git a/express-server/node_modules/node-forge/lib/rsa.js b/express-server/node_modules/node-forge/lib/rsa.js new file mode 100644 index 00000000..fd4d988d --- /dev/null +++ b/express-server/node_modules/node-forge/lib/rsa.js @@ -0,0 +1,1796 @@ +/** + * Javascript implementation of basic RSA algorithms. + * + * @author Dave Longley + * + * Copyright (c) 2010-2014 Digital Bazaar, Inc. + * + * The only algorithm currently supported for PKI is RSA. + * + * An RSA key is often stored in ASN.1 DER format. The SubjectPublicKeyInfo + * ASN.1 structure is composed of an algorithm of type AlgorithmIdentifier + * and a subjectPublicKey of type bit string. + * + * The AlgorithmIdentifier contains an Object Identifier (OID) and parameters + * for the algorithm, if any. In the case of RSA, there aren't any. + * + * SubjectPublicKeyInfo ::= SEQUENCE { + * algorithm AlgorithmIdentifier, + * subjectPublicKey BIT STRING + * } + * + * AlgorithmIdentifer ::= SEQUENCE { + * algorithm OBJECT IDENTIFIER, + * parameters ANY DEFINED BY algorithm OPTIONAL + * } + * + * For an RSA public key, the subjectPublicKey is: + * + * RSAPublicKey ::= SEQUENCE { + * modulus INTEGER, -- n + * publicExponent INTEGER -- e + * } + * + * PrivateKeyInfo ::= SEQUENCE { + * version Version, + * privateKeyAlgorithm PrivateKeyAlgorithmIdentifier, + * privateKey PrivateKey, + * attributes [0] IMPLICIT Attributes OPTIONAL + * } + * + * Version ::= INTEGER + * PrivateKeyAlgorithmIdentifier ::= AlgorithmIdentifier + * PrivateKey ::= OCTET STRING + * Attributes ::= SET OF Attribute + * + * An RSA private key as the following structure: + * + * RSAPrivateKey ::= SEQUENCE { + * version Version, + * modulus INTEGER, -- n + * publicExponent INTEGER, -- e + * privateExponent INTEGER, -- d + * prime1 INTEGER, -- p + * prime2 INTEGER, -- q + * exponent1 INTEGER, -- d mod (p-1) + * exponent2 INTEGER, -- d mod (q-1) + * coefficient INTEGER -- (inverse of q) mod p + * } + * + * Version ::= INTEGER + * + * The OID for the RSA key algorithm is: 1.2.840.113549.1.1.1 + */ +var forge = require('./forge'); +require('./asn1'); +require('./jsbn'); +require('./oids'); +require('./pkcs1'); +require('./prime'); +require('./random'); +require('./util'); + +if(typeof BigInteger === 'undefined') { + var BigInteger = forge.jsbn.BigInteger; +} + +// shortcut for asn.1 API +var asn1 = forge.asn1; + +/* + * RSA encryption and decryption, see RFC 2313. + */ +forge.pki = forge.pki || {}; +module.exports = forge.pki.rsa = forge.rsa = forge.rsa || {}; +var pki = forge.pki; + +// for finding primes, which are 30k+i for i = 1, 7, 11, 13, 17, 19, 23, 29 +var GCD_30_DELTA = [6, 4, 2, 4, 2, 4, 6, 2]; + +// validator for a PrivateKeyInfo structure +var privateKeyValidator = { + // PrivateKeyInfo + name: 'PrivateKeyInfo', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SEQUENCE, + constructed: true, + value: [{ + // Version (INTEGER) + name: 'PrivateKeyInfo.version', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.INTEGER, + constructed: false, + capture: 'privateKeyVersion' + }, { + // privateKeyAlgorithm + name: 'PrivateKeyInfo.privateKeyAlgorithm', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SEQUENCE, + constructed: true, + value: [{ + name: 'AlgorithmIdentifier.algorithm', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.OID, + constructed: false, + capture: 'privateKeyOid' + }] + }, { + // PrivateKey + name: 'PrivateKeyInfo', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.OCTETSTRING, + constructed: false, + capture: 'privateKey' + }] +}; + +// validator for an RSA private key +var rsaPrivateKeyValidator = { + // RSAPrivateKey + name: 'RSAPrivateKey', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SEQUENCE, + constructed: true, + value: [{ + // Version (INTEGER) + name: 'RSAPrivateKey.version', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.INTEGER, + constructed: false, + capture: 'privateKeyVersion' + }, { + // modulus (n) + name: 'RSAPrivateKey.modulus', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.INTEGER, + constructed: false, + capture: 'privateKeyModulus' + }, { + // publicExponent (e) + name: 'RSAPrivateKey.publicExponent', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.INTEGER, + constructed: false, + capture: 'privateKeyPublicExponent' + }, { + // privateExponent (d) + name: 'RSAPrivateKey.privateExponent', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.INTEGER, + constructed: false, + capture: 'privateKeyPrivateExponent' + }, { + // prime1 (p) + name: 'RSAPrivateKey.prime1', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.INTEGER, + constructed: false, + capture: 'privateKeyPrime1' + }, { + // prime2 (q) + name: 'RSAPrivateKey.prime2', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.INTEGER, + constructed: false, + capture: 'privateKeyPrime2' + }, { + // exponent1 (d mod (p-1)) + name: 'RSAPrivateKey.exponent1', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.INTEGER, + constructed: false, + capture: 'privateKeyExponent1' + }, { + // exponent2 (d mod (q-1)) + name: 'RSAPrivateKey.exponent2', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.INTEGER, + constructed: false, + capture: 'privateKeyExponent2' + }, { + // coefficient ((inverse of q) mod p) + name: 'RSAPrivateKey.coefficient', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.INTEGER, + constructed: false, + capture: 'privateKeyCoefficient' + }] +}; + +// validator for an RSA public key +var rsaPublicKeyValidator = { + // RSAPublicKey + name: 'RSAPublicKey', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SEQUENCE, + constructed: true, + value: [{ + // modulus (n) + name: 'RSAPublicKey.modulus', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.INTEGER, + constructed: false, + capture: 'publicKeyModulus' + }, { + // publicExponent (e) + name: 'RSAPublicKey.exponent', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.INTEGER, + constructed: false, + capture: 'publicKeyExponent' + }] +}; + +// validator for an SubjectPublicKeyInfo structure +// Note: Currently only works with an RSA public key +var publicKeyValidator = forge.pki.rsa.publicKeyValidator = { + name: 'SubjectPublicKeyInfo', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SEQUENCE, + constructed: true, + captureAsn1: 'subjectPublicKeyInfo', + value: [{ + name: 'SubjectPublicKeyInfo.AlgorithmIdentifier', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SEQUENCE, + constructed: true, + value: [{ + name: 'AlgorithmIdentifier.algorithm', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.OID, + constructed: false, + capture: 'publicKeyOid' + }] + }, { + // subjectPublicKey + name: 'SubjectPublicKeyInfo.subjectPublicKey', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.BITSTRING, + constructed: false, + value: [{ + // RSAPublicKey + name: 'SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SEQUENCE, + constructed: true, + optional: true, + captureAsn1: 'rsaPublicKey' + }] + }] +}; + +/** + * Wrap digest in DigestInfo object. + * + * This function implements EMSA-PKCS1-v1_5-ENCODE as per RFC 3447. + * + * DigestInfo ::= SEQUENCE { + * digestAlgorithm DigestAlgorithmIdentifier, + * digest Digest + * } + * + * DigestAlgorithmIdentifier ::= AlgorithmIdentifier + * Digest ::= OCTET STRING + * + * @param md the message digest object with the hash to sign. + * + * @return the encoded message (ready for RSA encrytion) + */ +var emsaPkcs1v15encode = function(md) { + // get the oid for the algorithm + var oid; + if(md.algorithm in pki.oids) { + oid = pki.oids[md.algorithm]; + } else { + var error = new Error('Unknown message digest algorithm.'); + error.algorithm = md.algorithm; + throw error; + } + var oidBytes = asn1.oidToDer(oid).getBytes(); + + // create the digest info + var digestInfo = asn1.create( + asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, []); + var digestAlgorithm = asn1.create( + asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, []); + digestAlgorithm.value.push(asn1.create( + asn1.Class.UNIVERSAL, asn1.Type.OID, false, oidBytes)); + digestAlgorithm.value.push(asn1.create( + asn1.Class.UNIVERSAL, asn1.Type.NULL, false, '')); + var digest = asn1.create( + asn1.Class.UNIVERSAL, asn1.Type.OCTETSTRING, + false, md.digest().getBytes()); + digestInfo.value.push(digestAlgorithm); + digestInfo.value.push(digest); + + // encode digest info + return asn1.toDer(digestInfo).getBytes(); +}; + +/** + * Performs x^c mod n (RSA encryption or decryption operation). + * + * @param x the number to raise and mod. + * @param key the key to use. + * @param pub true if the key is public, false if private. + * + * @return the result of x^c mod n. + */ +var _modPow = function(x, key, pub) { + if(pub) { + return x.modPow(key.e, key.n); + } + + if(!key.p || !key.q) { + // allow calculation without CRT params (slow) + return x.modPow(key.d, key.n); + } + + // pre-compute dP, dQ, and qInv if necessary + if(!key.dP) { + key.dP = key.d.mod(key.p.subtract(BigInteger.ONE)); + } + if(!key.dQ) { + key.dQ = key.d.mod(key.q.subtract(BigInteger.ONE)); + } + if(!key.qInv) { + key.qInv = key.q.modInverse(key.p); + } + + /* Chinese remainder theorem (CRT) states: + + Suppose n1, n2, ..., nk are positive integers which are pairwise + coprime (n1 and n2 have no common factors other than 1). For any + integers x1, x2, ..., xk there exists an integer x solving the + system of simultaneous congruences (where ~= means modularly + congruent so a ~= b mod n means a mod n = b mod n): + + x ~= x1 mod n1 + x ~= x2 mod n2 + ... + x ~= xk mod nk + + This system of congruences has a single simultaneous solution x + between 0 and n - 1. Furthermore, each xk solution and x itself + is congruent modulo the product n = n1*n2*...*nk. + So x1 mod n = x2 mod n = xk mod n = x mod n. + + The single simultaneous solution x can be solved with the following + equation: + + x = sum(xi*ri*si) mod n where ri = n/ni and si = ri^-1 mod ni. + + Where x is less than n, xi = x mod ni. + + For RSA we are only concerned with k = 2. The modulus n = pq, where + p and q are coprime. The RSA decryption algorithm is: + + y = x^d mod n + + Given the above: + + x1 = x^d mod p + r1 = n/p = q + s1 = q^-1 mod p + x2 = x^d mod q + r2 = n/q = p + s2 = p^-1 mod q + + So y = (x1r1s1 + x2r2s2) mod n + = ((x^d mod p)q(q^-1 mod p) + (x^d mod q)p(p^-1 mod q)) mod n + + According to Fermat's Little Theorem, if the modulus P is prime, + for any integer A not evenly divisible by P, A^(P-1) ~= 1 mod P. + Since A is not divisible by P it follows that if: + N ~= M mod (P - 1), then A^N mod P = A^M mod P. Therefore: + + A^N mod P = A^(M mod (P - 1)) mod P. (The latter takes less effort + to calculate). In order to calculate x^d mod p more quickly the + exponent d mod (p - 1) is stored in the RSA private key (the same + is done for x^d mod q). These values are referred to as dP and dQ + respectively. Therefore we now have: + + y = ((x^dP mod p)q(q^-1 mod p) + (x^dQ mod q)p(p^-1 mod q)) mod n + + Since we'll be reducing x^dP by modulo p (same for q) we can also + reduce x by p (and q respectively) before hand. Therefore, let + + xp = ((x mod p)^dP mod p), and + xq = ((x mod q)^dQ mod q), yielding: + + y = (xp*q*(q^-1 mod p) + xq*p*(p^-1 mod q)) mod n + + This can be further reduced to a simple algorithm that only + requires 1 inverse (the q inverse is used) to be used and stored. + The algorithm is called Garner's algorithm. If qInv is the + inverse of q, we simply calculate: + + y = (qInv*(xp - xq) mod p) * q + xq + + However, there are two further complications. First, we need to + ensure that xp > xq to prevent signed BigIntegers from being used + so we add p until this is true (since we will be mod'ing with + p anyway). Then, there is a known timing attack on algorithms + using the CRT. To mitigate this risk, "cryptographic blinding" + should be used. This requires simply generating a random number r + between 0 and n-1 and its inverse and multiplying x by r^e before + calculating y and then multiplying y by r^-1 afterwards. Note that + r must be coprime with n (gcd(r, n) === 1) in order to have an + inverse. + */ + + // cryptographic blinding + var r; + do { + r = new BigInteger( + forge.util.bytesToHex(forge.random.getBytes(key.n.bitLength() / 8)), + 16); + } while(r.compareTo(key.n) >= 0 || !r.gcd(key.n).equals(BigInteger.ONE)); + x = x.multiply(r.modPow(key.e, key.n)).mod(key.n); + + // calculate xp and xq + var xp = x.mod(key.p).modPow(key.dP, key.p); + var xq = x.mod(key.q).modPow(key.dQ, key.q); + + // xp must be larger than xq to avoid signed bit usage + while(xp.compareTo(xq) < 0) { + xp = xp.add(key.p); + } + + // do last step + var y = xp.subtract(xq) + .multiply(key.qInv).mod(key.p) + .multiply(key.q).add(xq); + + // remove effect of random for cryptographic blinding + y = y.multiply(r.modInverse(key.n)).mod(key.n); + + return y; +}; + +/** + * NOTE: THIS METHOD IS DEPRECATED, use 'sign' on a private key object or + * 'encrypt' on a public key object instead. + * + * Performs RSA encryption. + * + * The parameter bt controls whether to put padding bytes before the + * message passed in. Set bt to either true or false to disable padding + * completely (in order to handle e.g. EMSA-PSS encoding seperately before), + * signaling whether the encryption operation is a public key operation + * (i.e. encrypting data) or not, i.e. private key operation (data signing). + * + * For PKCS#1 v1.5 padding pass in the block type to use, i.e. either 0x01 + * (for signing) or 0x02 (for encryption). The key operation mode (private + * or public) is derived from this flag in that case). + * + * @param m the message to encrypt as a byte string. + * @param key the RSA key to use. + * @param bt for PKCS#1 v1.5 padding, the block type to use + * (0x01 for private key, 0x02 for public), + * to disable padding: true = public key, false = private key. + * + * @return the encrypted bytes as a string. + */ +pki.rsa.encrypt = function(m, key, bt) { + var pub = bt; + var eb; + + // get the length of the modulus in bytes + var k = Math.ceil(key.n.bitLength() / 8); + + if(bt !== false && bt !== true) { + // legacy, default to PKCS#1 v1.5 padding + pub = (bt === 0x02); + eb = _encodePkcs1_v1_5(m, key, bt); + } else { + eb = forge.util.createBuffer(); + eb.putBytes(m); + } + + // load encryption block as big integer 'x' + // FIXME: hex conversion inefficient, get BigInteger w/byte strings + var x = new BigInteger(eb.toHex(), 16); + + // do RSA encryption + var y = _modPow(x, key, pub); + + // convert y into the encrypted data byte string, if y is shorter in + // bytes than k, then prepend zero bytes to fill up ed + // FIXME: hex conversion inefficient, get BigInteger w/byte strings + var yhex = y.toString(16); + var ed = forge.util.createBuffer(); + var zeros = k - Math.ceil(yhex.length / 2); + while(zeros > 0) { + ed.putByte(0x00); + --zeros; + } + ed.putBytes(forge.util.hexToBytes(yhex)); + return ed.getBytes(); +}; + +/** + * NOTE: THIS METHOD IS DEPRECATED, use 'decrypt' on a private key object or + * 'verify' on a public key object instead. + * + * Performs RSA decryption. + * + * The parameter ml controls whether to apply PKCS#1 v1.5 padding + * or not. Set ml = false to disable padding removal completely + * (in order to handle e.g. EMSA-PSS later on) and simply pass back + * the RSA encryption block. + * + * @param ed the encrypted data to decrypt in as a byte string. + * @param key the RSA key to use. + * @param pub true for a public key operation, false for private. + * @param ml the message length, if known, false to disable padding. + * + * @return the decrypted message as a byte string. + */ +pki.rsa.decrypt = function(ed, key, pub, ml) { + // get the length of the modulus in bytes + var k = Math.ceil(key.n.bitLength() / 8); + + // error if the length of the encrypted data ED is not k + if(ed.length !== k) { + var error = new Error('Encrypted message length is invalid.'); + error.length = ed.length; + error.expected = k; + throw error; + } + + // convert encrypted data into a big integer + // FIXME: hex conversion inefficient, get BigInteger w/byte strings + var y = new BigInteger(forge.util.createBuffer(ed).toHex(), 16); + + // y must be less than the modulus or it wasn't the result of + // a previous mod operation (encryption) using that modulus + if(y.compareTo(key.n) >= 0) { + throw new Error('Encrypted message is invalid.'); + } + + // do RSA decryption + var x = _modPow(y, key, pub); + + // create the encryption block, if x is shorter in bytes than k, then + // prepend zero bytes to fill up eb + // FIXME: hex conversion inefficient, get BigInteger w/byte strings + var xhex = x.toString(16); + var eb = forge.util.createBuffer(); + var zeros = k - Math.ceil(xhex.length / 2); + while(zeros > 0) { + eb.putByte(0x00); + --zeros; + } + eb.putBytes(forge.util.hexToBytes(xhex)); + + if(ml !== false) { + // legacy, default to PKCS#1 v1.5 padding + return _decodePkcs1_v1_5(eb.getBytes(), key, pub); + } + + // return message + return eb.getBytes(); +}; + +/** + * Creates an RSA key-pair generation state object. It is used to allow + * key-generation to be performed in steps. It also allows for a UI to + * display progress updates. + * + * @param bits the size for the private key in bits, defaults to 2048. + * @param e the public exponent to use, defaults to 65537 (0x10001). + * @param [options] the options to use. + * prng a custom crypto-secure pseudo-random number generator to use, + * that must define "getBytesSync". + * algorithm the algorithm to use (default: 'PRIMEINC'). + * + * @return the state object to use to generate the key-pair. + */ +pki.rsa.createKeyPairGenerationState = function(bits, e, options) { + // TODO: migrate step-based prime generation code to forge.prime + + // set default bits + if(typeof(bits) === 'string') { + bits = parseInt(bits, 10); + } + bits = bits || 2048; + + // create prng with api that matches BigInteger secure random + options = options || {}; + var prng = options.prng || forge.random; + var rng = { + // x is an array to fill with bytes + nextBytes: function(x) { + var b = prng.getBytesSync(x.length); + for(var i = 0; i < x.length; ++i) { + x[i] = b.charCodeAt(i); + } + } + }; + + var algorithm = options.algorithm || 'PRIMEINC'; + + // create PRIMEINC algorithm state + var rval; + if(algorithm === 'PRIMEINC') { + rval = { + algorithm: algorithm, + state: 0, + bits: bits, + rng: rng, + eInt: e || 65537, + e: new BigInteger(null), + p: null, + q: null, + qBits: bits >> 1, + pBits: bits - (bits >> 1), + pqState: 0, + num: null, + keys: null + }; + rval.e.fromInt(rval.eInt); + } else { + throw new Error('Invalid key generation algorithm: ' + algorithm); + } + + return rval; +}; + +/** + * Attempts to runs the key-generation algorithm for at most n seconds + * (approximately) using the given state. When key-generation has completed, + * the keys will be stored in state.keys. + * + * To use this function to update a UI while generating a key or to prevent + * causing browser lockups/warnings, set "n" to a value other than 0. A + * simple pattern for generating a key and showing a progress indicator is: + * + * var state = pki.rsa.createKeyPairGenerationState(2048); + * var step = function() { + * // step key-generation, run algorithm for 100 ms, repeat + * if(!forge.pki.rsa.stepKeyPairGenerationState(state, 100)) { + * setTimeout(step, 1); + * } else { + * // key-generation complete + * // TODO: turn off progress indicator here + * // TODO: use the generated key-pair in "state.keys" + * } + * }; + * // TODO: turn on progress indicator here + * setTimeout(step, 0); + * + * @param state the state to use. + * @param n the maximum number of milliseconds to run the algorithm for, 0 + * to run the algorithm to completion. + * + * @return true if the key-generation completed, false if not. + */ +pki.rsa.stepKeyPairGenerationState = function(state, n) { + // set default algorithm if not set + if(!('algorithm' in state)) { + state.algorithm = 'PRIMEINC'; + } + + // TODO: migrate step-based prime generation code to forge.prime + // TODO: abstract as PRIMEINC algorithm + + // do key generation (based on Tom Wu's rsa.js, see jsbn.js license) + // with some minor optimizations and designed to run in steps + + // local state vars + var THIRTY = new BigInteger(null); + THIRTY.fromInt(30); + var deltaIdx = 0; + var op_or = function(x, y) { return x|y; }; + + // keep stepping until time limit is reached or done + var t1 = +new Date(); + var t2; + var total = 0; + while(state.keys === null && (n <= 0 || total < n)) { + // generate p or q + if(state.state === 0) { + /* Note: All primes are of the form: + + 30k+i, for i < 30 and gcd(30, i)=1, where there are 8 values for i + + When we generate a random number, we always align it at 30k + 1. Each + time the number is determined not to be prime we add to get to the + next 'i', eg: if the number was at 30k + 1 we add 6. */ + var bits = (state.p === null) ? state.pBits : state.qBits; + var bits1 = bits - 1; + + // get a random number + if(state.pqState === 0) { + state.num = new BigInteger(bits, state.rng); + // force MSB set + if(!state.num.testBit(bits1)) { + state.num.bitwiseTo( + BigInteger.ONE.shiftLeft(bits1), op_or, state.num); + } + // align number on 30k+1 boundary + state.num.dAddOffset(31 - state.num.mod(THIRTY).byteValue(), 0); + deltaIdx = 0; + + ++state.pqState; + } else if(state.pqState === 1) { + // try to make the number a prime + if(state.num.bitLength() > bits) { + // overflow, try again + state.pqState = 0; + // do primality test + } else if(state.num.isProbablePrime( + _getMillerRabinTests(state.num.bitLength()))) { + ++state.pqState; + } else { + // get next potential prime + state.num.dAddOffset(GCD_30_DELTA[deltaIdx++ % 8], 0); + } + } else if(state.pqState === 2) { + // ensure number is coprime with e + state.pqState = + (state.num.subtract(BigInteger.ONE).gcd(state.e) + .compareTo(BigInteger.ONE) === 0) ? 3 : 0; + } else if(state.pqState === 3) { + // store p or q + state.pqState = 0; + if(state.p === null) { + state.p = state.num; + } else { + state.q = state.num; + } + + // advance state if both p and q are ready + if(state.p !== null && state.q !== null) { + ++state.state; + } + state.num = null; + } + } else if(state.state === 1) { + // ensure p is larger than q (swap them if not) + if(state.p.compareTo(state.q) < 0) { + state.num = state.p; + state.p = state.q; + state.q = state.num; + } + ++state.state; + } else if(state.state === 2) { + // compute phi: (p - 1)(q - 1) (Euler's totient function) + state.p1 = state.p.subtract(BigInteger.ONE); + state.q1 = state.q.subtract(BigInteger.ONE); + state.phi = state.p1.multiply(state.q1); + ++state.state; + } else if(state.state === 3) { + // ensure e and phi are coprime + if(state.phi.gcd(state.e).compareTo(BigInteger.ONE) === 0) { + // phi and e are coprime, advance + ++state.state; + } else { + // phi and e aren't coprime, so generate a new p and q + state.p = null; + state.q = null; + state.state = 0; + } + } else if(state.state === 4) { + // create n, ensure n is has the right number of bits + state.n = state.p.multiply(state.q); + + // ensure n is right number of bits + if(state.n.bitLength() === state.bits) { + // success, advance + ++state.state; + } else { + // failed, get new q + state.q = null; + state.state = 0; + } + } else if(state.state === 5) { + // set keys + var d = state.e.modInverse(state.phi); + state.keys = { + privateKey: pki.rsa.setPrivateKey( + state.n, state.e, d, state.p, state.q, + d.mod(state.p1), d.mod(state.q1), + state.q.modInverse(state.p)), + publicKey: pki.rsa.setPublicKey(state.n, state.e) + }; + } + + // update timing + t2 = +new Date(); + total += t2 - t1; + t1 = t2; + } + + return state.keys !== null; +}; + +/** + * Generates an RSA public-private key pair in a single call. + * + * To generate a key-pair in steps (to allow for progress updates and to + * prevent blocking or warnings in slow browsers) then use the key-pair + * generation state functions. + * + * To generate a key-pair asynchronously (either through web-workers, if + * available, or by breaking up the work on the main thread), pass a + * callback function. + * + * @param [bits] the size for the private key in bits, defaults to 2048. + * @param [e] the public exponent to use, defaults to 65537. + * @param [options] options for key-pair generation, if given then 'bits' + * and 'e' must *not* be given: + * bits the size for the private key in bits, (default: 2048). + * e the public exponent to use, (default: 65537 (0x10001)). + * workerScript the worker script URL. + * workers the number of web workers (if supported) to use, + * (default: 2). + * workLoad the size of the work load, ie: number of possible prime + * numbers for each web worker to check per work assignment, + * (default: 100). + * prng a custom crypto-secure pseudo-random number generator to use, + * that must define "getBytesSync". + * algorithm the algorithm to use (default: 'PRIMEINC'). + * @param [callback(err, keypair)] called once the operation completes. + * + * @return an object with privateKey and publicKey properties. + */ +pki.rsa.generateKeyPair = function(bits, e, options, callback) { + // (bits), (options), (callback) + if(arguments.length === 1) { + if(typeof bits === 'object') { + options = bits; + bits = undefined; + } else if(typeof bits === 'function') { + callback = bits; + bits = undefined; + } + } else if(arguments.length === 2) { + // (bits, e), (bits, options), (bits, callback), (options, callback) + if(typeof bits === 'number') { + if(typeof e === 'function') { + callback = e; + e = undefined; + } else if(typeof e !== 'number') { + options = e; + e = undefined; + } + } else { + options = bits; + callback = e; + bits = undefined; + e = undefined; + } + } else if(arguments.length === 3) { + // (bits, e, options), (bits, e, callback), (bits, options, callback) + if(typeof e === 'number') { + if(typeof options === 'function') { + callback = options; + options = undefined; + } + } else { + callback = options; + options = e; + e = undefined; + } + } + options = options || {}; + if(bits === undefined) { + bits = options.bits || 2048; + } + if(e === undefined) { + e = options.e || 0x10001; + } + + // if native code is permitted and a callback is given, use native + // key generation code if available and if parameters are acceptable + if(!forge.options.usePureJavaScript && callback && + bits >= 256 && bits <= 16384 && (e === 0x10001 || e === 3)) { + if(_detectSubtleCrypto('generateKey') && _detectSubtleCrypto('exportKey')) { + // use standard native generateKey + return window.crypto.subtle.generateKey({ + name: 'RSASSA-PKCS1-v1_5', + modulusLength: bits, + publicExponent: _intToUint8Array(e), + hash: {name: 'SHA-256'} + }, true /* key can be exported*/, ['sign', 'verify']) + .then(function(pair) { + return window.crypto.subtle.exportKey('pkcs8', pair.privateKey); + // avoiding catch(function(err) {...}) to support IE <= 8 + }).then(undefined, function(err) { + callback(err); + }).then(function(pkcs8) { + if(pkcs8) { + var privateKey = pki.privateKeyFromAsn1( + asn1.fromDer(forge.util.createBuffer(pkcs8))); + callback(null, { + privateKey: privateKey, + publicKey: pki.setRsaPublicKey(privateKey.n, privateKey.e) + }); + } + }); + } + if(_detectSubtleMsCrypto('generateKey') && + _detectSubtleMsCrypto('exportKey')) { + var genOp = window.msCrypto.subtle.generateKey({ + name: 'RSASSA-PKCS1-v1_5', + modulusLength: bits, + publicExponent: _intToUint8Array(e), + hash: {name: 'SHA-256'} + }, true /* key can be exported*/, ['sign', 'verify']); + genOp.oncomplete = function(e) { + var pair = e.target.result; + var exportOp = window.msCrypto.subtle.exportKey( + 'pkcs8', pair.privateKey); + exportOp.oncomplete = function(e) { + var pkcs8 = e.target.result; + var privateKey = pki.privateKeyFromAsn1( + asn1.fromDer(forge.util.createBuffer(pkcs8))); + callback(null, { + privateKey: privateKey, + publicKey: pki.setRsaPublicKey(privateKey.n, privateKey.e) + }); + }; + exportOp.onerror = function(err) { + callback(err); + }; + }; + genOp.onerror = function(err) { + callback(err); + }; + return; + } + } + + // use JavaScript implementation + var state = pki.rsa.createKeyPairGenerationState(bits, e, options); + if(!callback) { + pki.rsa.stepKeyPairGenerationState(state, 0); + return state.keys; + } + _generateKeyPair(state, options, callback); +}; + +/** + * Sets an RSA public key from BigIntegers modulus and exponent. + * + * @param n the modulus. + * @param e the exponent. + * + * @return the public key. + */ +pki.setRsaPublicKey = pki.rsa.setPublicKey = function(n, e) { + var key = { + n: n, + e: e + }; + + /** + * Encrypts the given data with this public key. Newer applications + * should use the 'RSA-OAEP' decryption scheme, 'RSAES-PKCS1-V1_5' is for + * legacy applications. + * + * @param data the byte string to encrypt. + * @param scheme the encryption scheme to use: + * 'RSAES-PKCS1-V1_5' (default), + * 'RSA-OAEP', + * 'RAW', 'NONE', or null to perform raw RSA encryption, + * an object with an 'encode' property set to a function + * with the signature 'function(data, key)' that returns + * a binary-encoded string representing the encoded data. + * @param schemeOptions any scheme-specific options. + * + * @return the encrypted byte string. + */ + key.encrypt = function(data, scheme, schemeOptions) { + if(typeof scheme === 'string') { + scheme = scheme.toUpperCase(); + } else if(scheme === undefined) { + scheme = 'RSAES-PKCS1-V1_5'; + } + + if(scheme === 'RSAES-PKCS1-V1_5') { + scheme = { + encode: function(m, key, pub) { + return _encodePkcs1_v1_5(m, key, 0x02).getBytes(); + } + }; + } else if(scheme === 'RSA-OAEP' || scheme === 'RSAES-OAEP') { + scheme = { + encode: function(m, key) { + return forge.pkcs1.encode_rsa_oaep(key, m, schemeOptions); + } + }; + } else if(['RAW', 'NONE', 'NULL', null].indexOf(scheme) !== -1) { + scheme = { encode: function(e) { return e; } }; + } else if(typeof scheme === 'string') { + throw new Error('Unsupported encryption scheme: "' + scheme + '".'); + } + + // do scheme-based encoding then rsa encryption + var e = scheme.encode(data, key, true); + return pki.rsa.encrypt(e, key, true); + }; + + /** + * Verifies the given signature against the given digest. + * + * PKCS#1 supports multiple (currently two) signature schemes: + * RSASSA-PKCS1-V1_5 and RSASSA-PSS. + * + * By default this implementation uses the "old scheme", i.e. + * RSASSA-PKCS1-V1_5, in which case once RSA-decrypted, the + * signature is an OCTET STRING that holds a DigestInfo. + * + * DigestInfo ::= SEQUENCE { + * digestAlgorithm DigestAlgorithmIdentifier, + * digest Digest + * } + * DigestAlgorithmIdentifier ::= AlgorithmIdentifier + * Digest ::= OCTET STRING + * + * To perform PSS signature verification, provide an instance + * of Forge PSS object as the scheme parameter. + * + * @param digest the message digest hash to compare against the signature, + * as a binary-encoded string. + * @param signature the signature to verify, as a binary-encoded string. + * @param scheme signature verification scheme to use: + * 'RSASSA-PKCS1-V1_5' or undefined for RSASSA PKCS#1 v1.5, + * a Forge PSS object for RSASSA-PSS, + * 'NONE' or null for none, DigestInfo will not be expected, but + * PKCS#1 v1.5 padding will still be used. + * + * @return true if the signature was verified, false if not. + */ + key.verify = function(digest, signature, scheme) { + if(typeof scheme === 'string') { + scheme = scheme.toUpperCase(); + } else if(scheme === undefined) { + scheme = 'RSASSA-PKCS1-V1_5'; + } + + if(scheme === 'RSASSA-PKCS1-V1_5') { + scheme = { + verify: function(digest, d) { + // remove padding + d = _decodePkcs1_v1_5(d, key, true); + // d is ASN.1 BER-encoded DigestInfo + var obj = asn1.fromDer(d); + // compare the given digest to the decrypted one + return digest === obj.value[1].value; + } + }; + } else if(scheme === 'NONE' || scheme === 'NULL' || scheme === null) { + scheme = { + verify: function(digest, d) { + // remove padding + d = _decodePkcs1_v1_5(d, key, true); + return digest === d; + } + }; + } + + // do rsa decryption w/o any decoding, then verify -- which does decoding + var d = pki.rsa.decrypt(signature, key, true, false); + return scheme.verify(digest, d, key.n.bitLength()); + }; + + return key; +}; + +/** + * Sets an RSA private key from BigIntegers modulus, exponent, primes, + * prime exponents, and modular multiplicative inverse. + * + * @param n the modulus. + * @param e the public exponent. + * @param d the private exponent ((inverse of e) mod n). + * @param p the first prime. + * @param q the second prime. + * @param dP exponent1 (d mod (p-1)). + * @param dQ exponent2 (d mod (q-1)). + * @param qInv ((inverse of q) mod p) + * + * @return the private key. + */ +pki.setRsaPrivateKey = pki.rsa.setPrivateKey = function( + n, e, d, p, q, dP, dQ, qInv) { + var key = { + n: n, + e: e, + d: d, + p: p, + q: q, + dP: dP, + dQ: dQ, + qInv: qInv + }; + + /** + * Decrypts the given data with this private key. The decryption scheme + * must match the one used to encrypt the data. + * + * @param data the byte string to decrypt. + * @param scheme the decryption scheme to use: + * 'RSAES-PKCS1-V1_5' (default), + * 'RSA-OAEP', + * 'RAW', 'NONE', or null to perform raw RSA decryption. + * @param schemeOptions any scheme-specific options. + * + * @return the decrypted byte string. + */ + key.decrypt = function(data, scheme, schemeOptions) { + if(typeof scheme === 'string') { + scheme = scheme.toUpperCase(); + } else if(scheme === undefined) { + scheme = 'RSAES-PKCS1-V1_5'; + } + + // do rsa decryption w/o any decoding + var d = pki.rsa.decrypt(data, key, false, false); + + if(scheme === 'RSAES-PKCS1-V1_5') { + scheme = { decode: _decodePkcs1_v1_5 }; + } else if(scheme === 'RSA-OAEP' || scheme === 'RSAES-OAEP') { + scheme = { + decode: function(d, key) { + return forge.pkcs1.decode_rsa_oaep(key, d, schemeOptions); + } + }; + } else if(['RAW', 'NONE', 'NULL', null].indexOf(scheme) !== -1) { + scheme = { decode: function(d) { return d; } }; + } else { + throw new Error('Unsupported encryption scheme: "' + scheme + '".'); + } + + // decode according to scheme + return scheme.decode(d, key, false); + }; + + /** + * Signs the given digest, producing a signature. + * + * PKCS#1 supports multiple (currently two) signature schemes: + * RSASSA-PKCS1-V1_5 and RSASSA-PSS. + * + * By default this implementation uses the "old scheme", i.e. + * RSASSA-PKCS1-V1_5. In order to generate a PSS signature, provide + * an instance of Forge PSS object as the scheme parameter. + * + * @param md the message digest object with the hash to sign. + * @param scheme the signature scheme to use: + * 'RSASSA-PKCS1-V1_5' or undefined for RSASSA PKCS#1 v1.5, + * a Forge PSS object for RSASSA-PSS, + * 'NONE' or null for none, DigestInfo will not be used but + * PKCS#1 v1.5 padding will still be used. + * + * @return the signature as a byte string. + */ + key.sign = function(md, scheme) { + /* Note: The internal implementation of RSA operations is being + transitioned away from a PKCS#1 v1.5 hard-coded scheme. Some legacy + code like the use of an encoding block identifier 'bt' will eventually + be removed. */ + + // private key operation + var bt = false; + + if(typeof scheme === 'string') { + scheme = scheme.toUpperCase(); + } + + if(scheme === undefined || scheme === 'RSASSA-PKCS1-V1_5') { + scheme = { encode: emsaPkcs1v15encode }; + bt = 0x01; + } else if(scheme === 'NONE' || scheme === 'NULL' || scheme === null) { + scheme = { encode: function() { return md; } }; + bt = 0x01; + } + + // encode and then encrypt + var d = scheme.encode(md, key.n.bitLength()); + return pki.rsa.encrypt(d, key, bt); + }; + + return key; +}; + +/** + * Wraps an RSAPrivateKey ASN.1 object in an ASN.1 PrivateKeyInfo object. + * + * @param rsaKey the ASN.1 RSAPrivateKey. + * + * @return the ASN.1 PrivateKeyInfo. + */ +pki.wrapRsaPrivateKey = function(rsaKey) { + // PrivateKeyInfo + return asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + // version (0) + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, + asn1.integerToDer(0).getBytes()), + // privateKeyAlgorithm + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + asn1.create( + asn1.Class.UNIVERSAL, asn1.Type.OID, false, + asn1.oidToDer(pki.oids.rsaEncryption).getBytes()), + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.NULL, false, '') + ]), + // PrivateKey + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OCTETSTRING, false, + asn1.toDer(rsaKey).getBytes()) + ]); +}; + +/** + * Converts a private key from an ASN.1 object. + * + * @param obj the ASN.1 representation of a PrivateKeyInfo containing an + * RSAPrivateKey or an RSAPrivateKey. + * + * @return the private key. + */ +pki.privateKeyFromAsn1 = function(obj) { + // get PrivateKeyInfo + var capture = {}; + var errors = []; + if(asn1.validate(obj, privateKeyValidator, capture, errors)) { + obj = asn1.fromDer(forge.util.createBuffer(capture.privateKey)); + } + + // get RSAPrivateKey + capture = {}; + errors = []; + if(!asn1.validate(obj, rsaPrivateKeyValidator, capture, errors)) { + var error = new Error('Cannot read private key. ' + + 'ASN.1 object does not contain an RSAPrivateKey.'); + error.errors = errors; + throw error; + } + + // Note: Version is currently ignored. + // capture.privateKeyVersion + // FIXME: inefficient, get a BigInteger that uses byte strings + var n, e, d, p, q, dP, dQ, qInv; + n = forge.util.createBuffer(capture.privateKeyModulus).toHex(); + e = forge.util.createBuffer(capture.privateKeyPublicExponent).toHex(); + d = forge.util.createBuffer(capture.privateKeyPrivateExponent).toHex(); + p = forge.util.createBuffer(capture.privateKeyPrime1).toHex(); + q = forge.util.createBuffer(capture.privateKeyPrime2).toHex(); + dP = forge.util.createBuffer(capture.privateKeyExponent1).toHex(); + dQ = forge.util.createBuffer(capture.privateKeyExponent2).toHex(); + qInv = forge.util.createBuffer(capture.privateKeyCoefficient).toHex(); + + // set private key + return pki.setRsaPrivateKey( + new BigInteger(n, 16), + new BigInteger(e, 16), + new BigInteger(d, 16), + new BigInteger(p, 16), + new BigInteger(q, 16), + new BigInteger(dP, 16), + new BigInteger(dQ, 16), + new BigInteger(qInv, 16)); +}; + +/** + * Converts a private key to an ASN.1 RSAPrivateKey. + * + * @param key the private key. + * + * @return the ASN.1 representation of an RSAPrivateKey. + */ +pki.privateKeyToAsn1 = pki.privateKeyToRSAPrivateKey = function(key) { + // RSAPrivateKey + return asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + // version (0 = only 2 primes, 1 multiple primes) + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, + asn1.integerToDer(0).getBytes()), + // modulus (n) + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, + _bnToBytes(key.n)), + // publicExponent (e) + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, + _bnToBytes(key.e)), + // privateExponent (d) + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, + _bnToBytes(key.d)), + // privateKeyPrime1 (p) + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, + _bnToBytes(key.p)), + // privateKeyPrime2 (q) + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, + _bnToBytes(key.q)), + // privateKeyExponent1 (dP) + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, + _bnToBytes(key.dP)), + // privateKeyExponent2 (dQ) + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, + _bnToBytes(key.dQ)), + // coefficient (qInv) + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, + _bnToBytes(key.qInv)) + ]); +}; + +/** + * Converts a public key from an ASN.1 SubjectPublicKeyInfo or RSAPublicKey. + * + * @param obj the asn1 representation of a SubjectPublicKeyInfo or RSAPublicKey. + * + * @return the public key. + */ +pki.publicKeyFromAsn1 = function(obj) { + // get SubjectPublicKeyInfo + var capture = {}; + var errors = []; + if(asn1.validate(obj, publicKeyValidator, capture, errors)) { + // get oid + var oid = asn1.derToOid(capture.publicKeyOid); + if(oid !== pki.oids.rsaEncryption) { + var error = new Error('Cannot read public key. Unknown OID.'); + error.oid = oid; + throw error; + } + obj = capture.rsaPublicKey; + } + + // get RSA params + errors = []; + if(!asn1.validate(obj, rsaPublicKeyValidator, capture, errors)) { + var error = new Error('Cannot read public key. ' + + 'ASN.1 object does not contain an RSAPublicKey.'); + error.errors = errors; + throw error; + } + + // FIXME: inefficient, get a BigInteger that uses byte strings + var n = forge.util.createBuffer(capture.publicKeyModulus).toHex(); + var e = forge.util.createBuffer(capture.publicKeyExponent).toHex(); + + // set public key + return pki.setRsaPublicKey( + new BigInteger(n, 16), + new BigInteger(e, 16)); +}; + +/** + * Converts a public key to an ASN.1 SubjectPublicKeyInfo. + * + * @param key the public key. + * + * @return the asn1 representation of a SubjectPublicKeyInfo. + */ +pki.publicKeyToAsn1 = pki.publicKeyToSubjectPublicKeyInfo = function(key) { + // SubjectPublicKeyInfo + return asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + // AlgorithmIdentifier + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + // algorithm + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, + asn1.oidToDer(pki.oids.rsaEncryption).getBytes()), + // parameters (null) + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.NULL, false, '') + ]), + // subjectPublicKey + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.BITSTRING, false, [ + pki.publicKeyToRSAPublicKey(key) + ]) + ]); +}; + +/** + * Converts a public key to an ASN.1 RSAPublicKey. + * + * @param key the public key. + * + * @return the asn1 representation of a RSAPublicKey. + */ +pki.publicKeyToRSAPublicKey = function(key) { + // RSAPublicKey + return asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + // modulus (n) + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, + _bnToBytes(key.n)), + // publicExponent (e) + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, + _bnToBytes(key.e)) + ]); +}; + +/** + * Encodes a message using PKCS#1 v1.5 padding. + * + * @param m the message to encode. + * @param key the RSA key to use. + * @param bt the block type to use, i.e. either 0x01 (for signing) or 0x02 + * (for encryption). + * + * @return the padded byte buffer. + */ +function _encodePkcs1_v1_5(m, key, bt) { + var eb = forge.util.createBuffer(); + + // get the length of the modulus in bytes + var k = Math.ceil(key.n.bitLength() / 8); + + /* use PKCS#1 v1.5 padding */ + if(m.length > (k - 11)) { + var error = new Error('Message is too long for PKCS#1 v1.5 padding.'); + error.length = m.length; + error.max = k - 11; + throw error; + } + + /* A block type BT, a padding string PS, and the data D shall be + formatted into an octet string EB, the encryption block: + + EB = 00 || BT || PS || 00 || D + + The block type BT shall be a single octet indicating the structure of + the encryption block. For this version of the document it shall have + value 00, 01, or 02. For a private-key operation, the block type + shall be 00 or 01. For a public-key operation, it shall be 02. + + The padding string PS shall consist of k-3-||D|| octets. For block + type 00, the octets shall have value 00; for block type 01, they + shall have value FF; and for block type 02, they shall be + pseudorandomly generated and nonzero. This makes the length of the + encryption block EB equal to k. */ + + // build the encryption block + eb.putByte(0x00); + eb.putByte(bt); + + // create the padding + var padNum = k - 3 - m.length; + var padByte; + // private key op + if(bt === 0x00 || bt === 0x01) { + padByte = (bt === 0x00) ? 0x00 : 0xFF; + for(var i = 0; i < padNum; ++i) { + eb.putByte(padByte); + } + } else { + // public key op + // pad with random non-zero values + while(padNum > 0) { + var numZeros = 0; + var padBytes = forge.random.getBytes(padNum); + for(var i = 0; i < padNum; ++i) { + padByte = padBytes.charCodeAt(i); + if(padByte === 0) { + ++numZeros; + } else { + eb.putByte(padByte); + } + } + padNum = numZeros; + } + } + + // zero followed by message + eb.putByte(0x00); + eb.putBytes(m); + + return eb; +} + +/** + * Decodes a message using PKCS#1 v1.5 padding. + * + * @param em the message to decode. + * @param key the RSA key to use. + * @param pub true if the key is a public key, false if it is private. + * @param ml the message length, if specified. + * + * @return the decoded bytes. + */ +function _decodePkcs1_v1_5(em, key, pub, ml) { + // get the length of the modulus in bytes + var k = Math.ceil(key.n.bitLength() / 8); + + /* It is an error if any of the following conditions occurs: + + 1. The encryption block EB cannot be parsed unambiguously. + 2. The padding string PS consists of fewer than eight octets + or is inconsisent with the block type BT. + 3. The decryption process is a public-key operation and the block + type BT is not 00 or 01, or the decryption process is a + private-key operation and the block type is not 02. + */ + + // parse the encryption block + var eb = forge.util.createBuffer(em); + var first = eb.getByte(); + var bt = eb.getByte(); + if(first !== 0x00 || + (pub && bt !== 0x00 && bt !== 0x01) || + (!pub && bt != 0x02) || + (pub && bt === 0x00 && typeof(ml) === 'undefined')) { + throw new Error('Encryption block is invalid.'); + } + + var padNum = 0; + if(bt === 0x00) { + // check all padding bytes for 0x00 + padNum = k - 3 - ml; + for(var i = 0; i < padNum; ++i) { + if(eb.getByte() !== 0x00) { + throw new Error('Encryption block is invalid.'); + } + } + } else if(bt === 0x01) { + // find the first byte that isn't 0xFF, should be after all padding + padNum = 0; + while(eb.length() > 1) { + if(eb.getByte() !== 0xFF) { + --eb.read; + break; + } + ++padNum; + } + } else if(bt === 0x02) { + // look for 0x00 byte + padNum = 0; + while(eb.length() > 1) { + if(eb.getByte() === 0x00) { + --eb.read; + break; + } + ++padNum; + } + } + + // zero must be 0x00 and padNum must be (k - 3 - message length) + var zero = eb.getByte(); + if(zero !== 0x00 || padNum !== (k - 3 - eb.length())) { + throw new Error('Encryption block is invalid.'); + } + + return eb.getBytes(); +} + +/** + * Runs the key-generation algorithm asynchronously, either in the background + * via Web Workers, or using the main thread and setImmediate. + * + * @param state the key-pair generation state. + * @param [options] options for key-pair generation: + * workerScript the worker script URL. + * workers the number of web workers (if supported) to use, + * (default: 2, -1 to use estimated cores minus one). + * workLoad the size of the work load, ie: number of possible prime + * numbers for each web worker to check per work assignment, + * (default: 100). + * @param callback(err, keypair) called once the operation completes. + */ +function _generateKeyPair(state, options, callback) { + if(typeof options === 'function') { + callback = options; + options = {}; + } + options = options || {}; + + var opts = { + algorithm: { + name: options.algorithm || 'PRIMEINC', + options: { + workers: options.workers || 2, + workLoad: options.workLoad || 100, + workerScript: options.workerScript + } + } + }; + if('prng' in options) { + opts.prng = options.prng; + } + + generate(); + + function generate() { + // find p and then q (done in series to simplify) + getPrime(state.pBits, function(err, num) { + if(err) { + return callback(err); + } + state.p = num; + if(state.q !== null) { + return finish(err, state.q); + } + getPrime(state.qBits, finish); + }); + } + + function getPrime(bits, callback) { + forge.prime.generateProbablePrime(bits, opts, callback); + } + + function finish(err, num) { + if(err) { + return callback(err); + } + + // set q + state.q = num; + + // ensure p is larger than q (swap them if not) + if(state.p.compareTo(state.q) < 0) { + var tmp = state.p; + state.p = state.q; + state.q = tmp; + } + + // ensure p is coprime with e + if(state.p.subtract(BigInteger.ONE).gcd(state.e) + .compareTo(BigInteger.ONE) !== 0) { + state.p = null; + generate(); + return; + } + + // ensure q is coprime with e + if(state.q.subtract(BigInteger.ONE).gcd(state.e) + .compareTo(BigInteger.ONE) !== 0) { + state.q = null; + getPrime(state.qBits, finish); + return; + } + + // compute phi: (p - 1)(q - 1) (Euler's totient function) + state.p1 = state.p.subtract(BigInteger.ONE); + state.q1 = state.q.subtract(BigInteger.ONE); + state.phi = state.p1.multiply(state.q1); + + // ensure e and phi are coprime + if(state.phi.gcd(state.e).compareTo(BigInteger.ONE) !== 0) { + // phi and e aren't coprime, so generate a new p and q + state.p = state.q = null; + generate(); + return; + } + + // create n, ensure n is has the right number of bits + state.n = state.p.multiply(state.q); + if(state.n.bitLength() !== state.bits) { + // failed, get new q + state.q = null; + getPrime(state.qBits, finish); + return; + } + + // set keys + var d = state.e.modInverse(state.phi); + state.keys = { + privateKey: pki.rsa.setPrivateKey( + state.n, state.e, d, state.p, state.q, + d.mod(state.p1), d.mod(state.q1), + state.q.modInverse(state.p)), + publicKey: pki.rsa.setPublicKey(state.n, state.e) + }; + + callback(null, state.keys); + } +} + +/** + * Converts a positive BigInteger into 2's-complement big-endian bytes. + * + * @param b the big integer to convert. + * + * @return the bytes. + */ +function _bnToBytes(b) { + // prepend 0x00 if first byte >= 0x80 + var hex = b.toString(16); + if(hex[0] >= '8') { + hex = '00' + hex; + } + var bytes = forge.util.hexToBytes(hex); + + // ensure integer is minimally-encoded + if(bytes.length > 1 && + // leading 0x00 for positive integer + ((bytes.charCodeAt(0) === 0 && + (bytes.charCodeAt(1) & 0x80) === 0) || + // leading 0xFF for negative integer + (bytes.charCodeAt(0) === 0xFF && + (bytes.charCodeAt(1) & 0x80) === 0x80))) { + return bytes.substr(1); + } + return bytes; +} + +/** + * Returns the required number of Miller-Rabin tests to generate a + * prime with an error probability of (1/2)^80. + * + * See Handbook of Applied Cryptography Chapter 4, Table 4.4. + * + * @param bits the bit size. + * + * @return the required number of iterations. + */ +function _getMillerRabinTests(bits) { + if(bits <= 100) return 27; + if(bits <= 150) return 18; + if(bits <= 200) return 15; + if(bits <= 250) return 12; + if(bits <= 300) return 9; + if(bits <= 350) return 8; + if(bits <= 400) return 7; + if(bits <= 500) return 6; + if(bits <= 600) return 5; + if(bits <= 800) return 4; + if(bits <= 1250) return 3; + return 2; +} + +/** + * Performs feature detection on the SubtleCrypto interface. + * + * @param fn the feature (function) to detect. + * + * @return true if detected, false if not. + */ +function _detectSubtleCrypto(fn) { + return (typeof window !== 'undefined' && + typeof window.crypto === 'object' && + typeof window.crypto.subtle === 'object' && + typeof window.crypto.subtle[fn] === 'function'); +} + +/** + * Performs feature detection on the deprecated Microsoft Internet Explorer + * outdated SubtleCrypto interface. This function should only be used after + * checking for the modern, standard SubtleCrypto interface. + * + * @param fn the feature (function) to detect. + * + * @return true if detected, false if not. + */ +function _detectSubtleMsCrypto(fn) { + return (typeof window !== 'undefined' && + typeof window.msCrypto === 'object' && + typeof window.msCrypto.subtle === 'object' && + typeof window.msCrypto.subtle[fn] === 'function'); +} + +function _intToUint8Array(x) { + var bytes = forge.util.hexToBytes(x.toString(16)); + var buffer = new Uint8Array(bytes.length); + for(var i = 0; i < bytes.length; ++i) { + buffer[i] = bytes.charCodeAt(i); + } + return buffer; +} + +function _privateKeyFromJwk(jwk) { + if(jwk.kty !== 'RSA') { + throw new Error( + 'Unsupported key algorithm "' + jwk.kty + '"; algorithm must be "RSA".'); + } + return pki.setRsaPrivateKey( + _base64ToBigInt(jwk.n), + _base64ToBigInt(jwk.e), + _base64ToBigInt(jwk.d), + _base64ToBigInt(jwk.p), + _base64ToBigInt(jwk.q), + _base64ToBigInt(jwk.dp), + _base64ToBigInt(jwk.dq), + _base64ToBigInt(jwk.qi)); +} + +function _publicKeyFromJwk(jwk) { + if(jwk.kty !== 'RSA') { + throw new Error('Key algorithm must be "RSA".'); + } + return pki.setRsaPublicKey( + _base64ToBigInt(jwk.n), + _base64ToBigInt(jwk.e)); +} + +function _base64ToBigInt(b64) { + return new BigInteger(forge.util.bytesToHex(forge.util.decode64(b64)), 16); +} diff --git a/express-server/node_modules/node-forge/lib/sha1.js b/express-server/node_modules/node-forge/lib/sha1.js new file mode 100644 index 00000000..28776ee2 --- /dev/null +++ b/express-server/node_modules/node-forge/lib/sha1.js @@ -0,0 +1,319 @@ +/** + * Secure Hash Algorithm with 160-bit digest (SHA-1) implementation. + * + * @author Dave Longley + * + * Copyright (c) 2010-2015 Digital Bazaar, Inc. + */ +var forge = require('./forge'); +require('./md'); +require('./util'); + +var sha1 = module.exports = forge.sha1 = forge.sha1 || {}; +forge.md.sha1 = forge.md.algorithms.sha1 = sha1; + +/** + * Creates a SHA-1 message digest object. + * + * @return a message digest object. + */ +sha1.create = function() { + // do initialization as necessary + if(!_initialized) { + _init(); + } + + // SHA-1 state contains five 32-bit integers + var _state = null; + + // input buffer + var _input = forge.util.createBuffer(); + + // used for word storage + var _w = new Array(80); + + // message digest object + var md = { + algorithm: 'sha1', + blockLength: 64, + digestLength: 20, + // 56-bit length of message so far (does not including padding) + messageLength: 0, + // true message length + fullMessageLength: null, + // size of message length in bytes + messageLengthSize: 8 + }; + + /** + * Starts the digest. + * + * @return this digest object. + */ + md.start = function() { + // up to 56-bit message length for convenience + md.messageLength = 0; + + // full message length (set md.messageLength64 for backwards-compatibility) + md.fullMessageLength = md.messageLength64 = []; + var int32s = md.messageLengthSize / 4; + for(var i = 0; i < int32s; ++i) { + md.fullMessageLength.push(0); + } + _input = forge.util.createBuffer(); + _state = { + h0: 0x67452301, + h1: 0xEFCDAB89, + h2: 0x98BADCFE, + h3: 0x10325476, + h4: 0xC3D2E1F0 + }; + return md; + }; + // start digest automatically for first time + md.start(); + + /** + * Updates the digest with the given message input. The given input can + * treated as raw input (no encoding will be applied) or an encoding of + * 'utf8' maybe given to encode the input using UTF-8. + * + * @param msg the message input to update with. + * @param encoding the encoding to use (default: 'raw', other: 'utf8'). + * + * @return this digest object. + */ + md.update = function(msg, encoding) { + if(encoding === 'utf8') { + msg = forge.util.encodeUtf8(msg); + } + + // update message length + var len = msg.length; + md.messageLength += len; + len = [(len / 0x100000000) >>> 0, len >>> 0]; + for(var i = md.fullMessageLength.length - 1; i >= 0; --i) { + md.fullMessageLength[i] += len[1]; + len[1] = len[0] + ((md.fullMessageLength[i] / 0x100000000) >>> 0); + md.fullMessageLength[i] = md.fullMessageLength[i] >>> 0; + len[0] = ((len[1] / 0x100000000) >>> 0); + } + + // add bytes to input buffer + _input.putBytes(msg); + + // process bytes + _update(_state, _w, _input); + + // compact input buffer every 2K or if empty + if(_input.read > 2048 || _input.length() === 0) { + _input.compact(); + } + + return md; + }; + + /** + * Produces the digest. + * + * @return a byte buffer containing the digest value. + */ + md.digest = function() { + /* Note: Here we copy the remaining bytes in the input buffer and + add the appropriate SHA-1 padding. Then we do the final update + on a copy of the state so that if the user wants to get + intermediate digests they can do so. */ + + /* Determine the number of bytes that must be added to the message + to ensure its length is congruent to 448 mod 512. In other words, + the data to be digested must be a multiple of 512 bits (or 128 bytes). + This data includes the message, some padding, and the length of the + message. Since the length of the message will be encoded as 8 bytes (64 + bits), that means that the last segment of the data must have 56 bytes + (448 bits) of message and padding. Therefore, the length of the message + plus the padding must be congruent to 448 mod 512 because + 512 - 128 = 448. + + In order to fill up the message length it must be filled with + padding that begins with 1 bit followed by all 0 bits. Padding + must *always* be present, so if the message length is already + congruent to 448 mod 512, then 512 padding bits must be added. */ + + var finalBlock = forge.util.createBuffer(); + finalBlock.putBytes(_input.bytes()); + + // compute remaining size to be digested (include message length size) + var remaining = ( + md.fullMessageLength[md.fullMessageLength.length - 1] + + md.messageLengthSize); + + // add padding for overflow blockSize - overflow + // _padding starts with 1 byte with first bit is set (byte value 128), then + // there may be up to (blockSize - 1) other pad bytes + var overflow = remaining & (md.blockLength - 1); + finalBlock.putBytes(_padding.substr(0, md.blockLength - overflow)); + + // serialize message length in bits in big-endian order; since length + // is stored in bytes we multiply by 8 and add carry from next int + var next, carry; + var bits = md.fullMessageLength[0] * 8; + for(var i = 0; i < md.fullMessageLength.length - 1; ++i) { + next = md.fullMessageLength[i + 1] * 8; + carry = (next / 0x100000000) >>> 0; + bits += carry; + finalBlock.putInt32(bits >>> 0); + bits = next >>> 0; + } + finalBlock.putInt32(bits); + + var s2 = { + h0: _state.h0, + h1: _state.h1, + h2: _state.h2, + h3: _state.h3, + h4: _state.h4 + }; + _update(s2, _w, finalBlock); + var rval = forge.util.createBuffer(); + rval.putInt32(s2.h0); + rval.putInt32(s2.h1); + rval.putInt32(s2.h2); + rval.putInt32(s2.h3); + rval.putInt32(s2.h4); + return rval; + }; + + return md; +}; + +// sha-1 padding bytes not initialized yet +var _padding = null; +var _initialized = false; + +/** + * Initializes the constant tables. + */ +function _init() { + // create padding + _padding = String.fromCharCode(128); + _padding += forge.util.fillString(String.fromCharCode(0x00), 64); + + // now initialized + _initialized = true; +} + +/** + * Updates a SHA-1 state with the given byte buffer. + * + * @param s the SHA-1 state to update. + * @param w the array to use to store words. + * @param bytes the byte buffer to update with. + */ +function _update(s, w, bytes) { + // consume 512 bit (64 byte) chunks + var t, a, b, c, d, e, f, i; + var len = bytes.length(); + while(len >= 64) { + // the w array will be populated with sixteen 32-bit big-endian words + // and then extended into 80 32-bit words according to SHA-1 algorithm + // and for 32-79 using Max Locktyukhin's optimization + + // initialize hash value for this chunk + a = s.h0; + b = s.h1; + c = s.h2; + d = s.h3; + e = s.h4; + + // round 1 + for(i = 0; i < 16; ++i) { + t = bytes.getInt32(); + w[i] = t; + f = d ^ (b & (c ^ d)); + t = ((a << 5) | (a >>> 27)) + f + e + 0x5A827999 + t; + e = d; + d = c; + // `>>> 0` necessary to avoid iOS/Safari 10 optimization bug + c = ((b << 30) | (b >>> 2)) >>> 0; + b = a; + a = t; + } + for(; i < 20; ++i) { + t = (w[i - 3] ^ w[i - 8] ^ w[i - 14] ^ w[i - 16]); + t = (t << 1) | (t >>> 31); + w[i] = t; + f = d ^ (b & (c ^ d)); + t = ((a << 5) | (a >>> 27)) + f + e + 0x5A827999 + t; + e = d; + d = c; + // `>>> 0` necessary to avoid iOS/Safari 10 optimization bug + c = ((b << 30) | (b >>> 2)) >>> 0; + b = a; + a = t; + } + // round 2 + for(; i < 32; ++i) { + t = (w[i - 3] ^ w[i - 8] ^ w[i - 14] ^ w[i - 16]); + t = (t << 1) | (t >>> 31); + w[i] = t; + f = b ^ c ^ d; + t = ((a << 5) | (a >>> 27)) + f + e + 0x6ED9EBA1 + t; + e = d; + d = c; + // `>>> 0` necessary to avoid iOS/Safari 10 optimization bug + c = ((b << 30) | (b >>> 2)) >>> 0; + b = a; + a = t; + } + for(; i < 40; ++i) { + t = (w[i - 6] ^ w[i - 16] ^ w[i - 28] ^ w[i - 32]); + t = (t << 2) | (t >>> 30); + w[i] = t; + f = b ^ c ^ d; + t = ((a << 5) | (a >>> 27)) + f + e + 0x6ED9EBA1 + t; + e = d; + d = c; + // `>>> 0` necessary to avoid iOS/Safari 10 optimization bug + c = ((b << 30) | (b >>> 2)) >>> 0; + b = a; + a = t; + } + // round 3 + for(; i < 60; ++i) { + t = (w[i - 6] ^ w[i - 16] ^ w[i - 28] ^ w[i - 32]); + t = (t << 2) | (t >>> 30); + w[i] = t; + f = (b & c) | (d & (b ^ c)); + t = ((a << 5) | (a >>> 27)) + f + e + 0x8F1BBCDC + t; + e = d; + d = c; + // `>>> 0` necessary to avoid iOS/Safari 10 optimization bug + c = ((b << 30) | (b >>> 2)) >>> 0; + b = a; + a = t; + } + // round 4 + for(; i < 80; ++i) { + t = (w[i - 6] ^ w[i - 16] ^ w[i - 28] ^ w[i - 32]); + t = (t << 2) | (t >>> 30); + w[i] = t; + f = b ^ c ^ d; + t = ((a << 5) | (a >>> 27)) + f + e + 0xCA62C1D6 + t; + e = d; + d = c; + // `>>> 0` necessary to avoid iOS/Safari 10 optimization bug + c = ((b << 30) | (b >>> 2)) >>> 0; + b = a; + a = t; + } + + // update hash state + s.h0 = (s.h0 + a) | 0; + s.h1 = (s.h1 + b) | 0; + s.h2 = (s.h2 + c) | 0; + s.h3 = (s.h3 + d) | 0; + s.h4 = (s.h4 + e) | 0; + + len -= 64; + } +} diff --git a/express-server/node_modules/node-forge/lib/sha256.js b/express-server/node_modules/node-forge/lib/sha256.js new file mode 100644 index 00000000..0659ad71 --- /dev/null +++ b/express-server/node_modules/node-forge/lib/sha256.js @@ -0,0 +1,327 @@ +/** + * Secure Hash Algorithm with 256-bit digest (SHA-256) implementation. + * + * See FIPS 180-2 for details. + * + * @author Dave Longley + * + * Copyright (c) 2010-2015 Digital Bazaar, Inc. + */ +var forge = require('./forge'); +require('./md'); +require('./util'); + +var sha256 = module.exports = forge.sha256 = forge.sha256 || {}; +forge.md.sha256 = forge.md.algorithms.sha256 = sha256; + +/** + * Creates a SHA-256 message digest object. + * + * @return a message digest object. + */ +sha256.create = function() { + // do initialization as necessary + if(!_initialized) { + _init(); + } + + // SHA-256 state contains eight 32-bit integers + var _state = null; + + // input buffer + var _input = forge.util.createBuffer(); + + // used for word storage + var _w = new Array(64); + + // message digest object + var md = { + algorithm: 'sha256', + blockLength: 64, + digestLength: 32, + // 56-bit length of message so far (does not including padding) + messageLength: 0, + // true message length + fullMessageLength: null, + // size of message length in bytes + messageLengthSize: 8 + }; + + /** + * Starts the digest. + * + * @return this digest object. + */ + md.start = function() { + // up to 56-bit message length for convenience + md.messageLength = 0; + + // full message length (set md.messageLength64 for backwards-compatibility) + md.fullMessageLength = md.messageLength64 = []; + var int32s = md.messageLengthSize / 4; + for(var i = 0; i < int32s; ++i) { + md.fullMessageLength.push(0); + } + _input = forge.util.createBuffer(); + _state = { + h0: 0x6A09E667, + h1: 0xBB67AE85, + h2: 0x3C6EF372, + h3: 0xA54FF53A, + h4: 0x510E527F, + h5: 0x9B05688C, + h6: 0x1F83D9AB, + h7: 0x5BE0CD19 + }; + return md; + }; + // start digest automatically for first time + md.start(); + + /** + * Updates the digest with the given message input. The given input can + * treated as raw input (no encoding will be applied) or an encoding of + * 'utf8' maybe given to encode the input using UTF-8. + * + * @param msg the message input to update with. + * @param encoding the encoding to use (default: 'raw', other: 'utf8'). + * + * @return this digest object. + */ + md.update = function(msg, encoding) { + if(encoding === 'utf8') { + msg = forge.util.encodeUtf8(msg); + } + + // update message length + var len = msg.length; + md.messageLength += len; + len = [(len / 0x100000000) >>> 0, len >>> 0]; + for(var i = md.fullMessageLength.length - 1; i >= 0; --i) { + md.fullMessageLength[i] += len[1]; + len[1] = len[0] + ((md.fullMessageLength[i] / 0x100000000) >>> 0); + md.fullMessageLength[i] = md.fullMessageLength[i] >>> 0; + len[0] = ((len[1] / 0x100000000) >>> 0); + } + + // add bytes to input buffer + _input.putBytes(msg); + + // process bytes + _update(_state, _w, _input); + + // compact input buffer every 2K or if empty + if(_input.read > 2048 || _input.length() === 0) { + _input.compact(); + } + + return md; + }; + + /** + * Produces the digest. + * + * @return a byte buffer containing the digest value. + */ + md.digest = function() { + /* Note: Here we copy the remaining bytes in the input buffer and + add the appropriate SHA-256 padding. Then we do the final update + on a copy of the state so that if the user wants to get + intermediate digests they can do so. */ + + /* Determine the number of bytes that must be added to the message + to ensure its length is congruent to 448 mod 512. In other words, + the data to be digested must be a multiple of 512 bits (or 128 bytes). + This data includes the message, some padding, and the length of the + message. Since the length of the message will be encoded as 8 bytes (64 + bits), that means that the last segment of the data must have 56 bytes + (448 bits) of message and padding. Therefore, the length of the message + plus the padding must be congruent to 448 mod 512 because + 512 - 128 = 448. + + In order to fill up the message length it must be filled with + padding that begins with 1 bit followed by all 0 bits. Padding + must *always* be present, so if the message length is already + congruent to 448 mod 512, then 512 padding bits must be added. */ + + var finalBlock = forge.util.createBuffer(); + finalBlock.putBytes(_input.bytes()); + + // compute remaining size to be digested (include message length size) + var remaining = ( + md.fullMessageLength[md.fullMessageLength.length - 1] + + md.messageLengthSize); + + // add padding for overflow blockSize - overflow + // _padding starts with 1 byte with first bit is set (byte value 128), then + // there may be up to (blockSize - 1) other pad bytes + var overflow = remaining & (md.blockLength - 1); + finalBlock.putBytes(_padding.substr(0, md.blockLength - overflow)); + + // serialize message length in bits in big-endian order; since length + // is stored in bytes we multiply by 8 and add carry from next int + var next, carry; + var bits = md.fullMessageLength[0] * 8; + for(var i = 0; i < md.fullMessageLength.length - 1; ++i) { + next = md.fullMessageLength[i + 1] * 8; + carry = (next / 0x100000000) >>> 0; + bits += carry; + finalBlock.putInt32(bits >>> 0); + bits = next >>> 0; + } + finalBlock.putInt32(bits); + + var s2 = { + h0: _state.h0, + h1: _state.h1, + h2: _state.h2, + h3: _state.h3, + h4: _state.h4, + h5: _state.h5, + h6: _state.h6, + h7: _state.h7 + }; + _update(s2, _w, finalBlock); + var rval = forge.util.createBuffer(); + rval.putInt32(s2.h0); + rval.putInt32(s2.h1); + rval.putInt32(s2.h2); + rval.putInt32(s2.h3); + rval.putInt32(s2.h4); + rval.putInt32(s2.h5); + rval.putInt32(s2.h6); + rval.putInt32(s2.h7); + return rval; + }; + + return md; +}; + +// sha-256 padding bytes not initialized yet +var _padding = null; +var _initialized = false; + +// table of constants +var _k = null; + +/** + * Initializes the constant tables. + */ +function _init() { + // create padding + _padding = String.fromCharCode(128); + _padding += forge.util.fillString(String.fromCharCode(0x00), 64); + + // create K table for SHA-256 + _k = [ + 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, + 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5, + 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, + 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, + 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, + 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, + 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, + 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967, + 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, + 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, + 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, + 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070, + 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, + 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3, + 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, + 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2]; + + // now initialized + _initialized = true; +} + +/** + * Updates a SHA-256 state with the given byte buffer. + * + * @param s the SHA-256 state to update. + * @param w the array to use to store words. + * @param bytes the byte buffer to update with. + */ +function _update(s, w, bytes) { + // consume 512 bit (64 byte) chunks + var t1, t2, s0, s1, ch, maj, i, a, b, c, d, e, f, g, h; + var len = bytes.length(); + while(len >= 64) { + // the w array will be populated with sixteen 32-bit big-endian words + // and then extended into 64 32-bit words according to SHA-256 + for(i = 0; i < 16; ++i) { + w[i] = bytes.getInt32(); + } + for(; i < 64; ++i) { + // XOR word 2 words ago rot right 17, rot right 19, shft right 10 + t1 = w[i - 2]; + t1 = + ((t1 >>> 17) | (t1 << 15)) ^ + ((t1 >>> 19) | (t1 << 13)) ^ + (t1 >>> 10); + // XOR word 15 words ago rot right 7, rot right 18, shft right 3 + t2 = w[i - 15]; + t2 = + ((t2 >>> 7) | (t2 << 25)) ^ + ((t2 >>> 18) | (t2 << 14)) ^ + (t2 >>> 3); + // sum(t1, word 7 ago, t2, word 16 ago) modulo 2^32 + w[i] = (t1 + w[i - 7] + t2 + w[i - 16]) | 0; + } + + // initialize hash value for this chunk + a = s.h0; + b = s.h1; + c = s.h2; + d = s.h3; + e = s.h4; + f = s.h5; + g = s.h6; + h = s.h7; + + // round function + for(i = 0; i < 64; ++i) { + // Sum1(e) + s1 = + ((e >>> 6) | (e << 26)) ^ + ((e >>> 11) | (e << 21)) ^ + ((e >>> 25) | (e << 7)); + // Ch(e, f, g) (optimized the same way as SHA-1) + ch = g ^ (e & (f ^ g)); + // Sum0(a) + s0 = + ((a >>> 2) | (a << 30)) ^ + ((a >>> 13) | (a << 19)) ^ + ((a >>> 22) | (a << 10)); + // Maj(a, b, c) (optimized the same way as SHA-1) + maj = (a & b) | (c & (a ^ b)); + + // main algorithm + t1 = h + s1 + ch + _k[i] + w[i]; + t2 = s0 + maj; + h = g; + g = f; + f = e; + // `>>> 0` necessary to avoid iOS/Safari 10 optimization bug + // can't truncate with `| 0` + e = (d + t1) >>> 0; + d = c; + c = b; + b = a; + // `>>> 0` necessary to avoid iOS/Safari 10 optimization bug + // can't truncate with `| 0` + a = (t1 + t2) >>> 0; + } + + // update hash state + s.h0 = (s.h0 + a) | 0; + s.h1 = (s.h1 + b) | 0; + s.h2 = (s.h2 + c) | 0; + s.h3 = (s.h3 + d) | 0; + s.h4 = (s.h4 + e) | 0; + s.h5 = (s.h5 + f) | 0; + s.h6 = (s.h6 + g) | 0; + s.h7 = (s.h7 + h) | 0; + len -= 64; + } +} diff --git a/express-server/node_modules/node-forge/lib/sha512.js b/express-server/node_modules/node-forge/lib/sha512.js new file mode 100644 index 00000000..763a9c57 --- /dev/null +++ b/express-server/node_modules/node-forge/lib/sha512.js @@ -0,0 +1,561 @@ +/** + * Secure Hash Algorithm with a 1024-bit block size implementation. + * + * This includes: SHA-512, SHA-384, SHA-512/224, and SHA-512/256. For + * SHA-256 (block size 512 bits), see sha256.js. + * + * See FIPS 180-4 for details. + * + * @author Dave Longley + * + * Copyright (c) 2014-2015 Digital Bazaar, Inc. + */ +var forge = require('./forge'); +require('./md'); +require('./util'); + +var sha512 = module.exports = forge.sha512 = forge.sha512 || {}; + +// SHA-512 +forge.md.sha512 = forge.md.algorithms.sha512 = sha512; + +// SHA-384 +var sha384 = forge.sha384 = forge.sha512.sha384 = forge.sha512.sha384 || {}; +sha384.create = function() { + return sha512.create('SHA-384'); +}; +forge.md.sha384 = forge.md.algorithms.sha384 = sha384; + +// SHA-512/256 +forge.sha512.sha256 = forge.sha512.sha256 || { + create: function() { + return sha512.create('SHA-512/256'); + } +}; +forge.md['sha512/256'] = forge.md.algorithms['sha512/256'] = + forge.sha512.sha256; + +// SHA-512/224 +forge.sha512.sha224 = forge.sha512.sha224 || { + create: function() { + return sha512.create('SHA-512/224'); + } +}; +forge.md['sha512/224'] = forge.md.algorithms['sha512/224'] = + forge.sha512.sha224; + +/** + * Creates a SHA-2 message digest object. + * + * @param algorithm the algorithm to use (SHA-512, SHA-384, SHA-512/224, + * SHA-512/256). + * + * @return a message digest object. + */ +sha512.create = function(algorithm) { + // do initialization as necessary + if(!_initialized) { + _init(); + } + + if(typeof algorithm === 'undefined') { + algorithm = 'SHA-512'; + } + + if(!(algorithm in _states)) { + throw new Error('Invalid SHA-512 algorithm: ' + algorithm); + } + + // SHA-512 state contains eight 64-bit integers (each as two 32-bit ints) + var _state = _states[algorithm]; + var _h = null; + + // input buffer + var _input = forge.util.createBuffer(); + + // used for 64-bit word storage + var _w = new Array(80); + for(var wi = 0; wi < 80; ++wi) { + _w[wi] = new Array(2); + } + + // determine digest length by algorithm name (default) + var digestLength = 64; + switch (algorithm) { + case 'SHA-384': + digestLength = 48; + break; + case 'SHA-512/256': + digestLength = 32; + break; + case 'SHA-512/224': + digestLength = 28; + break; + } + + // message digest object + var md = { + // SHA-512 => sha512 + algorithm: algorithm.replace('-', '').toLowerCase(), + blockLength: 128, + digestLength: digestLength, + // 56-bit length of message so far (does not including padding) + messageLength: 0, + // true message length + fullMessageLength: null, + // size of message length in bytes + messageLengthSize: 16 + }; + + /** + * Starts the digest. + * + * @return this digest object. + */ + md.start = function() { + // up to 56-bit message length for convenience + md.messageLength = 0; + + // full message length (set md.messageLength128 for backwards-compatibility) + md.fullMessageLength = md.messageLength128 = []; + var int32s = md.messageLengthSize / 4; + for(var i = 0; i < int32s; ++i) { + md.fullMessageLength.push(0); + } + _input = forge.util.createBuffer(); + _h = new Array(_state.length); + for(var i = 0; i < _state.length; ++i) { + _h[i] = _state[i].slice(0); + } + return md; + }; + // start digest automatically for first time + md.start(); + + /** + * Updates the digest with the given message input. The given input can + * treated as raw input (no encoding will be applied) or an encoding of + * 'utf8' maybe given to encode the input using UTF-8. + * + * @param msg the message input to update with. + * @param encoding the encoding to use (default: 'raw', other: 'utf8'). + * + * @return this digest object. + */ + md.update = function(msg, encoding) { + if(encoding === 'utf8') { + msg = forge.util.encodeUtf8(msg); + } + + // update message length + var len = msg.length; + md.messageLength += len; + len = [(len / 0x100000000) >>> 0, len >>> 0]; + for(var i = md.fullMessageLength.length - 1; i >= 0; --i) { + md.fullMessageLength[i] += len[1]; + len[1] = len[0] + ((md.fullMessageLength[i] / 0x100000000) >>> 0); + md.fullMessageLength[i] = md.fullMessageLength[i] >>> 0; + len[0] = ((len[1] / 0x100000000) >>> 0); + } + + // add bytes to input buffer + _input.putBytes(msg); + + // process bytes + _update(_h, _w, _input); + + // compact input buffer every 2K or if empty + if(_input.read > 2048 || _input.length() === 0) { + _input.compact(); + } + + return md; + }; + + /** + * Produces the digest. + * + * @return a byte buffer containing the digest value. + */ + md.digest = function() { + /* Note: Here we copy the remaining bytes in the input buffer and + add the appropriate SHA-512 padding. Then we do the final update + on a copy of the state so that if the user wants to get + intermediate digests they can do so. */ + + /* Determine the number of bytes that must be added to the message + to ensure its length is congruent to 896 mod 1024. In other words, + the data to be digested must be a multiple of 1024 bits (or 128 bytes). + This data includes the message, some padding, and the length of the + message. Since the length of the message will be encoded as 16 bytes (128 + bits), that means that the last segment of the data must have 112 bytes + (896 bits) of message and padding. Therefore, the length of the message + plus the padding must be congruent to 896 mod 1024 because + 1024 - 128 = 896. + + In order to fill up the message length it must be filled with + padding that begins with 1 bit followed by all 0 bits. Padding + must *always* be present, so if the message length is already + congruent to 896 mod 1024, then 1024 padding bits must be added. */ + + var finalBlock = forge.util.createBuffer(); + finalBlock.putBytes(_input.bytes()); + + // compute remaining size to be digested (include message length size) + var remaining = ( + md.fullMessageLength[md.fullMessageLength.length - 1] + + md.messageLengthSize); + + // add padding for overflow blockSize - overflow + // _padding starts with 1 byte with first bit is set (byte value 128), then + // there may be up to (blockSize - 1) other pad bytes + var overflow = remaining & (md.blockLength - 1); + finalBlock.putBytes(_padding.substr(0, md.blockLength - overflow)); + + // serialize message length in bits in big-endian order; since length + // is stored in bytes we multiply by 8 and add carry from next int + var next, carry; + var bits = md.fullMessageLength[0] * 8; + for(var i = 0; i < md.fullMessageLength.length - 1; ++i) { + next = md.fullMessageLength[i + 1] * 8; + carry = (next / 0x100000000) >>> 0; + bits += carry; + finalBlock.putInt32(bits >>> 0); + bits = next >>> 0; + } + finalBlock.putInt32(bits); + + var h = new Array(_h.length); + for(var i = 0; i < _h.length; ++i) { + h[i] = _h[i].slice(0); + } + _update(h, _w, finalBlock); + var rval = forge.util.createBuffer(); + var hlen; + if(algorithm === 'SHA-512') { + hlen = h.length; + } else if(algorithm === 'SHA-384') { + hlen = h.length - 2; + } else { + hlen = h.length - 4; + } + for(var i = 0; i < hlen; ++i) { + rval.putInt32(h[i][0]); + if(i !== hlen - 1 || algorithm !== 'SHA-512/224') { + rval.putInt32(h[i][1]); + } + } + return rval; + }; + + return md; +}; + +// sha-512 padding bytes not initialized yet +var _padding = null; +var _initialized = false; + +// table of constants +var _k = null; + +// initial hash states +var _states = null; + +/** + * Initializes the constant tables. + */ +function _init() { + // create padding + _padding = String.fromCharCode(128); + _padding += forge.util.fillString(String.fromCharCode(0x00), 128); + + // create K table for SHA-512 + _k = [ + [0x428a2f98, 0xd728ae22], [0x71374491, 0x23ef65cd], + [0xb5c0fbcf, 0xec4d3b2f], [0xe9b5dba5, 0x8189dbbc], + [0x3956c25b, 0xf348b538], [0x59f111f1, 0xb605d019], + [0x923f82a4, 0xaf194f9b], [0xab1c5ed5, 0xda6d8118], + [0xd807aa98, 0xa3030242], [0x12835b01, 0x45706fbe], + [0x243185be, 0x4ee4b28c], [0x550c7dc3, 0xd5ffb4e2], + [0x72be5d74, 0xf27b896f], [0x80deb1fe, 0x3b1696b1], + [0x9bdc06a7, 0x25c71235], [0xc19bf174, 0xcf692694], + [0xe49b69c1, 0x9ef14ad2], [0xefbe4786, 0x384f25e3], + [0x0fc19dc6, 0x8b8cd5b5], [0x240ca1cc, 0x77ac9c65], + [0x2de92c6f, 0x592b0275], [0x4a7484aa, 0x6ea6e483], + [0x5cb0a9dc, 0xbd41fbd4], [0x76f988da, 0x831153b5], + [0x983e5152, 0xee66dfab], [0xa831c66d, 0x2db43210], + [0xb00327c8, 0x98fb213f], [0xbf597fc7, 0xbeef0ee4], + [0xc6e00bf3, 0x3da88fc2], [0xd5a79147, 0x930aa725], + [0x06ca6351, 0xe003826f], [0x14292967, 0x0a0e6e70], + [0x27b70a85, 0x46d22ffc], [0x2e1b2138, 0x5c26c926], + [0x4d2c6dfc, 0x5ac42aed], [0x53380d13, 0x9d95b3df], + [0x650a7354, 0x8baf63de], [0x766a0abb, 0x3c77b2a8], + [0x81c2c92e, 0x47edaee6], [0x92722c85, 0x1482353b], + [0xa2bfe8a1, 0x4cf10364], [0xa81a664b, 0xbc423001], + [0xc24b8b70, 0xd0f89791], [0xc76c51a3, 0x0654be30], + [0xd192e819, 0xd6ef5218], [0xd6990624, 0x5565a910], + [0xf40e3585, 0x5771202a], [0x106aa070, 0x32bbd1b8], + [0x19a4c116, 0xb8d2d0c8], [0x1e376c08, 0x5141ab53], + [0x2748774c, 0xdf8eeb99], [0x34b0bcb5, 0xe19b48a8], + [0x391c0cb3, 0xc5c95a63], [0x4ed8aa4a, 0xe3418acb], + [0x5b9cca4f, 0x7763e373], [0x682e6ff3, 0xd6b2b8a3], + [0x748f82ee, 0x5defb2fc], [0x78a5636f, 0x43172f60], + [0x84c87814, 0xa1f0ab72], [0x8cc70208, 0x1a6439ec], + [0x90befffa, 0x23631e28], [0xa4506ceb, 0xde82bde9], + [0xbef9a3f7, 0xb2c67915], [0xc67178f2, 0xe372532b], + [0xca273ece, 0xea26619c], [0xd186b8c7, 0x21c0c207], + [0xeada7dd6, 0xcde0eb1e], [0xf57d4f7f, 0xee6ed178], + [0x06f067aa, 0x72176fba], [0x0a637dc5, 0xa2c898a6], + [0x113f9804, 0xbef90dae], [0x1b710b35, 0x131c471b], + [0x28db77f5, 0x23047d84], [0x32caab7b, 0x40c72493], + [0x3c9ebe0a, 0x15c9bebc], [0x431d67c4, 0x9c100d4c], + [0x4cc5d4be, 0xcb3e42b6], [0x597f299c, 0xfc657e2a], + [0x5fcb6fab, 0x3ad6faec], [0x6c44198c, 0x4a475817] + ]; + + // initial hash states + _states = {}; + _states['SHA-512'] = [ + [0x6a09e667, 0xf3bcc908], + [0xbb67ae85, 0x84caa73b], + [0x3c6ef372, 0xfe94f82b], + [0xa54ff53a, 0x5f1d36f1], + [0x510e527f, 0xade682d1], + [0x9b05688c, 0x2b3e6c1f], + [0x1f83d9ab, 0xfb41bd6b], + [0x5be0cd19, 0x137e2179] + ]; + _states['SHA-384'] = [ + [0xcbbb9d5d, 0xc1059ed8], + [0x629a292a, 0x367cd507], + [0x9159015a, 0x3070dd17], + [0x152fecd8, 0xf70e5939], + [0x67332667, 0xffc00b31], + [0x8eb44a87, 0x68581511], + [0xdb0c2e0d, 0x64f98fa7], + [0x47b5481d, 0xbefa4fa4] + ]; + _states['SHA-512/256'] = [ + [0x22312194, 0xFC2BF72C], + [0x9F555FA3, 0xC84C64C2], + [0x2393B86B, 0x6F53B151], + [0x96387719, 0x5940EABD], + [0x96283EE2, 0xA88EFFE3], + [0xBE5E1E25, 0x53863992], + [0x2B0199FC, 0x2C85B8AA], + [0x0EB72DDC, 0x81C52CA2] + ]; + _states['SHA-512/224'] = [ + [0x8C3D37C8, 0x19544DA2], + [0x73E19966, 0x89DCD4D6], + [0x1DFAB7AE, 0x32FF9C82], + [0x679DD514, 0x582F9FCF], + [0x0F6D2B69, 0x7BD44DA8], + [0x77E36F73, 0x04C48942], + [0x3F9D85A8, 0x6A1D36C8], + [0x1112E6AD, 0x91D692A1] + ]; + + // now initialized + _initialized = true; +} + +/** + * Updates a SHA-512 state with the given byte buffer. + * + * @param s the SHA-512 state to update. + * @param w the array to use to store words. + * @param bytes the byte buffer to update with. + */ +function _update(s, w, bytes) { + // consume 512 bit (128 byte) chunks + var t1_hi, t1_lo; + var t2_hi, t2_lo; + var s0_hi, s0_lo; + var s1_hi, s1_lo; + var ch_hi, ch_lo; + var maj_hi, maj_lo; + var a_hi, a_lo; + var b_hi, b_lo; + var c_hi, c_lo; + var d_hi, d_lo; + var e_hi, e_lo; + var f_hi, f_lo; + var g_hi, g_lo; + var h_hi, h_lo; + var i, hi, lo, w2, w7, w15, w16; + var len = bytes.length(); + while(len >= 128) { + // the w array will be populated with sixteen 64-bit big-endian words + // and then extended into 64 64-bit words according to SHA-512 + for(i = 0; i < 16; ++i) { + w[i][0] = bytes.getInt32() >>> 0; + w[i][1] = bytes.getInt32() >>> 0; + } + for(; i < 80; ++i) { + // for word 2 words ago: ROTR 19(x) ^ ROTR 61(x) ^ SHR 6(x) + w2 = w[i - 2]; + hi = w2[0]; + lo = w2[1]; + + // high bits + t1_hi = ( + ((hi >>> 19) | (lo << 13)) ^ // ROTR 19 + ((lo >>> 29) | (hi << 3)) ^ // ROTR 61/(swap + ROTR 29) + (hi >>> 6)) >>> 0; // SHR 6 + // low bits + t1_lo = ( + ((hi << 13) | (lo >>> 19)) ^ // ROTR 19 + ((lo << 3) | (hi >>> 29)) ^ // ROTR 61/(swap + ROTR 29) + ((hi << 26) | (lo >>> 6))) >>> 0; // SHR 6 + + // for word 15 words ago: ROTR 1(x) ^ ROTR 8(x) ^ SHR 7(x) + w15 = w[i - 15]; + hi = w15[0]; + lo = w15[1]; + + // high bits + t2_hi = ( + ((hi >>> 1) | (lo << 31)) ^ // ROTR 1 + ((hi >>> 8) | (lo << 24)) ^ // ROTR 8 + (hi >>> 7)) >>> 0; // SHR 7 + // low bits + t2_lo = ( + ((hi << 31) | (lo >>> 1)) ^ // ROTR 1 + ((hi << 24) | (lo >>> 8)) ^ // ROTR 8 + ((hi << 25) | (lo >>> 7))) >>> 0; // SHR 7 + + // sum(t1, word 7 ago, t2, word 16 ago) modulo 2^64 (carry lo overflow) + w7 = w[i - 7]; + w16 = w[i - 16]; + lo = (t1_lo + w7[1] + t2_lo + w16[1]); + w[i][0] = (t1_hi + w7[0] + t2_hi + w16[0] + + ((lo / 0x100000000) >>> 0)) >>> 0; + w[i][1] = lo >>> 0; + } + + // initialize hash value for this chunk + a_hi = s[0][0]; + a_lo = s[0][1]; + b_hi = s[1][0]; + b_lo = s[1][1]; + c_hi = s[2][0]; + c_lo = s[2][1]; + d_hi = s[3][0]; + d_lo = s[3][1]; + e_hi = s[4][0]; + e_lo = s[4][1]; + f_hi = s[5][0]; + f_lo = s[5][1]; + g_hi = s[6][0]; + g_lo = s[6][1]; + h_hi = s[7][0]; + h_lo = s[7][1]; + + // round function + for(i = 0; i < 80; ++i) { + // Sum1(e) = ROTR 14(e) ^ ROTR 18(e) ^ ROTR 41(e) + s1_hi = ( + ((e_hi >>> 14) | (e_lo << 18)) ^ // ROTR 14 + ((e_hi >>> 18) | (e_lo << 14)) ^ // ROTR 18 + ((e_lo >>> 9) | (e_hi << 23))) >>> 0; // ROTR 41/(swap + ROTR 9) + s1_lo = ( + ((e_hi << 18) | (e_lo >>> 14)) ^ // ROTR 14 + ((e_hi << 14) | (e_lo >>> 18)) ^ // ROTR 18 + ((e_lo << 23) | (e_hi >>> 9))) >>> 0; // ROTR 41/(swap + ROTR 9) + + // Ch(e, f, g) (optimized the same way as SHA-1) + ch_hi = (g_hi ^ (e_hi & (f_hi ^ g_hi))) >>> 0; + ch_lo = (g_lo ^ (e_lo & (f_lo ^ g_lo))) >>> 0; + + // Sum0(a) = ROTR 28(a) ^ ROTR 34(a) ^ ROTR 39(a) + s0_hi = ( + ((a_hi >>> 28) | (a_lo << 4)) ^ // ROTR 28 + ((a_lo >>> 2) | (a_hi << 30)) ^ // ROTR 34/(swap + ROTR 2) + ((a_lo >>> 7) | (a_hi << 25))) >>> 0; // ROTR 39/(swap + ROTR 7) + s0_lo = ( + ((a_hi << 4) | (a_lo >>> 28)) ^ // ROTR 28 + ((a_lo << 30) | (a_hi >>> 2)) ^ // ROTR 34/(swap + ROTR 2) + ((a_lo << 25) | (a_hi >>> 7))) >>> 0; // ROTR 39/(swap + ROTR 7) + + // Maj(a, b, c) (optimized the same way as SHA-1) + maj_hi = ((a_hi & b_hi) | (c_hi & (a_hi ^ b_hi))) >>> 0; + maj_lo = ((a_lo & b_lo) | (c_lo & (a_lo ^ b_lo))) >>> 0; + + // main algorithm + // t1 = (h + s1 + ch + _k[i] + _w[i]) modulo 2^64 (carry lo overflow) + lo = (h_lo + s1_lo + ch_lo + _k[i][1] + w[i][1]); + t1_hi = (h_hi + s1_hi + ch_hi + _k[i][0] + w[i][0] + + ((lo / 0x100000000) >>> 0)) >>> 0; + t1_lo = lo >>> 0; + + // t2 = s0 + maj modulo 2^64 (carry lo overflow) + lo = s0_lo + maj_lo; + t2_hi = (s0_hi + maj_hi + ((lo / 0x100000000) >>> 0)) >>> 0; + t2_lo = lo >>> 0; + + h_hi = g_hi; + h_lo = g_lo; + + g_hi = f_hi; + g_lo = f_lo; + + f_hi = e_hi; + f_lo = e_lo; + + // e = (d + t1) modulo 2^64 (carry lo overflow) + lo = d_lo + t1_lo; + e_hi = (d_hi + t1_hi + ((lo / 0x100000000) >>> 0)) >>> 0; + e_lo = lo >>> 0; + + d_hi = c_hi; + d_lo = c_lo; + + c_hi = b_hi; + c_lo = b_lo; + + b_hi = a_hi; + b_lo = a_lo; + + // a = (t1 + t2) modulo 2^64 (carry lo overflow) + lo = t1_lo + t2_lo; + a_hi = (t1_hi + t2_hi + ((lo / 0x100000000) >>> 0)) >>> 0; + a_lo = lo >>> 0; + } + + // update hash state (additional modulo 2^64) + lo = s[0][1] + a_lo; + s[0][0] = (s[0][0] + a_hi + ((lo / 0x100000000) >>> 0)) >>> 0; + s[0][1] = lo >>> 0; + + lo = s[1][1] + b_lo; + s[1][0] = (s[1][0] + b_hi + ((lo / 0x100000000) >>> 0)) >>> 0; + s[1][1] = lo >>> 0; + + lo = s[2][1] + c_lo; + s[2][0] = (s[2][0] + c_hi + ((lo / 0x100000000) >>> 0)) >>> 0; + s[2][1] = lo >>> 0; + + lo = s[3][1] + d_lo; + s[3][0] = (s[3][0] + d_hi + ((lo / 0x100000000) >>> 0)) >>> 0; + s[3][1] = lo >>> 0; + + lo = s[4][1] + e_lo; + s[4][0] = (s[4][0] + e_hi + ((lo / 0x100000000) >>> 0)) >>> 0; + s[4][1] = lo >>> 0; + + lo = s[5][1] + f_lo; + s[5][0] = (s[5][0] + f_hi + ((lo / 0x100000000) >>> 0)) >>> 0; + s[5][1] = lo >>> 0; + + lo = s[6][1] + g_lo; + s[6][0] = (s[6][0] + g_hi + ((lo / 0x100000000) >>> 0)) >>> 0; + s[6][1] = lo >>> 0; + + lo = s[7][1] + h_lo; + s[7][0] = (s[7][0] + h_hi + ((lo / 0x100000000) >>> 0)) >>> 0; + s[7][1] = lo >>> 0; + + len -= 128; + } +} diff --git a/express-server/node_modules/node-forge/lib/socket.js b/express-server/node_modules/node-forge/lib/socket.js new file mode 100644 index 00000000..3a1d7ff2 --- /dev/null +++ b/express-server/node_modules/node-forge/lib/socket.js @@ -0,0 +1,287 @@ +/** + * Socket implementation that uses flash SocketPool class as a backend. + * + * @author Dave Longley + * + * Copyright (c) 2010-2013 Digital Bazaar, Inc. + */ +var forge = require('./forge'); +require('./util'); + +// define net namespace +var net = module.exports = forge.net = forge.net || {}; + +// map of flash ID to socket pool +net.socketPools = {}; + +/** + * Creates a flash socket pool. + * + * @param options: + * flashId: the dom ID for the flash object element. + * policyPort: the default policy port for sockets, 0 to use the + * flash default. + * policyUrl: the default policy file URL for sockets (if provided + * used instead of a policy port). + * msie: true if the browser is msie, false if not. + * + * @return the created socket pool. + */ +net.createSocketPool = function(options) { + // set default + options.msie = options.msie || false; + + // initialize the flash interface + var spId = options.flashId; + var api = document.getElementById(spId); + api.init({marshallExceptions: !options.msie}); + + // create socket pool entry + var sp = { + // ID of the socket pool + id: spId, + // flash interface + flashApi: api, + // map of socket ID to sockets + sockets: {}, + // default policy port + policyPort: options.policyPort || 0, + // default policy URL + policyUrl: options.policyUrl || null + }; + net.socketPools[spId] = sp; + + // create event handler, subscribe to flash events + if(options.msie === true) { + sp.handler = function(e) { + if(e.id in sp.sockets) { + // get handler function + var f; + switch(e.type) { + case 'connect': + f = 'connected'; + break; + case 'close': + f = 'closed'; + break; + case 'socketData': + f = 'data'; + break; + default: + f = 'error'; + break; + } + /* IE calls javascript on the thread of the external object + that triggered the event (in this case flash) ... which will + either run concurrently with other javascript or pre-empt any + running javascript in the middle of its execution (BAD!) ... + calling setTimeout() will schedule the javascript to run on + the javascript thread and solve this EVIL problem. */ + setTimeout(function() {sp.sockets[e.id][f](e);}, 0); + } + }; + } else { + sp.handler = function(e) { + if(e.id in sp.sockets) { + // get handler function + var f; + switch(e.type) { + case 'connect': + f = 'connected'; + break; + case 'close': + f = 'closed'; + break; + case 'socketData': + f = 'data'; + break; + default: + f = 'error'; + break; + } + sp.sockets[e.id][f](e); + } + }; + } + var handler = 'forge.net.socketPools[\'' + spId + '\'].handler'; + api.subscribe('connect', handler); + api.subscribe('close', handler); + api.subscribe('socketData', handler); + api.subscribe('ioError', handler); + api.subscribe('securityError', handler); + + /** + * Destroys a socket pool. The socket pool still needs to be cleaned + * up via net.cleanup(). + */ + sp.destroy = function() { + delete net.socketPools[options.flashId]; + for(var id in sp.sockets) { + sp.sockets[id].destroy(); + } + sp.sockets = {}; + api.cleanup(); + }; + + /** + * Creates a new socket. + * + * @param options: + * connected: function(event) called when the socket connects. + * closed: function(event) called when the socket closes. + * data: function(event) called when socket data has arrived, + * it can be read from the socket using receive(). + * error: function(event) called when a socket error occurs. + */ + sp.createSocket = function(options) { + // default to empty options + options = options || {}; + + // create flash socket + var id = api.create(); + + // create javascript socket wrapper + var socket = { + id: id, + // set handlers + connected: options.connected || function(e) {}, + closed: options.closed || function(e) {}, + data: options.data || function(e) {}, + error: options.error || function(e) {} + }; + + /** + * Destroys this socket. + */ + socket.destroy = function() { + api.destroy(id); + delete sp.sockets[id]; + }; + + /** + * Connects this socket. + * + * @param options: + * host: the host to connect to. + * port: the port to connect to. + * policyPort: the policy port to use (if non-default), 0 to + * use the flash default. + * policyUrl: the policy file URL to use (instead of port). + */ + socket.connect = function(options) { + // give precedence to policy URL over policy port + // if no policy URL and passed port isn't 0, use default port, + // otherwise use 0 for the port + var policyUrl = options.policyUrl || null; + var policyPort = 0; + if(policyUrl === null && options.policyPort !== 0) { + policyPort = options.policyPort || sp.policyPort; + } + api.connect(id, options.host, options.port, policyPort, policyUrl); + }; + + /** + * Closes this socket. + */ + socket.close = function() { + api.close(id); + socket.closed({ + id: socket.id, + type: 'close', + bytesAvailable: 0 + }); + }; + + /** + * Determines if the socket is connected or not. + * + * @return true if connected, false if not. + */ + socket.isConnected = function() { + return api.isConnected(id); + }; + + /** + * Writes bytes to this socket. + * + * @param bytes the bytes (as a string) to write. + * + * @return true on success, false on failure. + */ + socket.send = function(bytes) { + return api.send(id, forge.util.encode64(bytes)); + }; + + /** + * Reads bytes from this socket (non-blocking). Fewer than the number + * of bytes requested may be read if enough bytes are not available. + * + * This method should be called from the data handler if there are + * enough bytes available. To see how many bytes are available, check + * the 'bytesAvailable' property on the event in the data handler or + * call the bytesAvailable() function on the socket. If the browser is + * msie, then the bytesAvailable() function should be used to avoid + * race conditions. Otherwise, using the property on the data handler's + * event may be quicker. + * + * @param count the maximum number of bytes to read. + * + * @return the bytes read (as a string) or null on error. + */ + socket.receive = function(count) { + var rval = api.receive(id, count).rval; + return (rval === null) ? null : forge.util.decode64(rval); + }; + + /** + * Gets the number of bytes available for receiving on the socket. + * + * @return the number of bytes available for receiving. + */ + socket.bytesAvailable = function() { + return api.getBytesAvailable(id); + }; + + // store and return socket + sp.sockets[id] = socket; + return socket; + }; + + return sp; +}; + +/** + * Destroys a flash socket pool. + * + * @param options: + * flashId: the dom ID for the flash object element. + */ +net.destroySocketPool = function(options) { + if(options.flashId in net.socketPools) { + var sp = net.socketPools[options.flashId]; + sp.destroy(); + } +}; + +/** + * Creates a new socket. + * + * @param options: + * flashId: the dom ID for the flash object element. + * connected: function(event) called when the socket connects. + * closed: function(event) called when the socket closes. + * data: function(event) called when socket data has arrived, it + * can be read from the socket using receive(). + * error: function(event) called when a socket error occurs. + * + * @return the created socket. + */ +net.createSocket = function(options) { + var socket = null; + if(options.flashId in net.socketPools) { + // get related socket pool + var sp = net.socketPools[options.flashId]; + socket = sp.createSocket(options); + } + return socket; +}; diff --git a/express-server/node_modules/node-forge/lib/ssh.js b/express-server/node_modules/node-forge/lib/ssh.js new file mode 100644 index 00000000..6480203a --- /dev/null +++ b/express-server/node_modules/node-forge/lib/ssh.js @@ -0,0 +1,236 @@ +/** + * Functions to output keys in SSH-friendly formats. + * + * This is part of the Forge project which may be used under the terms of + * either the BSD License or the GNU General Public License (GPL) Version 2. + * + * See: https://github.com/digitalbazaar/forge/blob/cbebca3780658703d925b61b2caffb1d263a6c1d/LICENSE + * + * @author https://github.com/shellac + */ +var forge = require('./forge'); +require('./aes'); +require('./hmac'); +require('./md5'); +require('./sha1'); +require('./util'); + +var ssh = module.exports = forge.ssh = forge.ssh || {}; + +/** + * Encodes (and optionally encrypts) a private RSA key as a Putty PPK file. + * + * @param privateKey the key. + * @param passphrase a passphrase to protect the key (falsy for no encryption). + * @param comment a comment to include in the key file. + * + * @return the PPK file as a string. + */ +ssh.privateKeyToPutty = function(privateKey, passphrase, comment) { + comment = comment || ''; + passphrase = passphrase || ''; + var algorithm = 'ssh-rsa'; + var encryptionAlgorithm = (passphrase === '') ? 'none' : 'aes256-cbc'; + + var ppk = 'PuTTY-User-Key-File-2: ' + algorithm + '\r\n'; + ppk += 'Encryption: ' + encryptionAlgorithm + '\r\n'; + ppk += 'Comment: ' + comment + '\r\n'; + + // public key into buffer for ppk + var pubbuffer = forge.util.createBuffer(); + _addStringToBuffer(pubbuffer, algorithm); + _addBigIntegerToBuffer(pubbuffer, privateKey.e); + _addBigIntegerToBuffer(pubbuffer, privateKey.n); + + // write public key + var pub = forge.util.encode64(pubbuffer.bytes(), 64); + var length = Math.floor(pub.length / 66) + 1; // 66 = 64 + \r\n + ppk += 'Public-Lines: ' + length + '\r\n'; + ppk += pub; + + // private key into a buffer + var privbuffer = forge.util.createBuffer(); + _addBigIntegerToBuffer(privbuffer, privateKey.d); + _addBigIntegerToBuffer(privbuffer, privateKey.p); + _addBigIntegerToBuffer(privbuffer, privateKey.q); + _addBigIntegerToBuffer(privbuffer, privateKey.qInv); + + // optionally encrypt the private key + var priv; + if(!passphrase) { + // use the unencrypted buffer + priv = forge.util.encode64(privbuffer.bytes(), 64); + } else { + // encrypt RSA key using passphrase + var encLen = privbuffer.length() + 16 - 1; + encLen -= encLen % 16; + + // pad private key with sha1-d data -- needs to be a multiple of 16 + var padding = _sha1(privbuffer.bytes()); + + padding.truncate(padding.length() - encLen + privbuffer.length()); + privbuffer.putBuffer(padding); + + var aeskey = forge.util.createBuffer(); + aeskey.putBuffer(_sha1('\x00\x00\x00\x00', passphrase)); + aeskey.putBuffer(_sha1('\x00\x00\x00\x01', passphrase)); + + // encrypt some bytes using CBC mode + // key is 40 bytes, so truncate *by* 8 bytes + var cipher = forge.aes.createEncryptionCipher(aeskey.truncate(8), 'CBC'); + cipher.start(forge.util.createBuffer().fillWithByte(0, 16)); + cipher.update(privbuffer.copy()); + cipher.finish(); + var encrypted = cipher.output; + + // Note: this appears to differ from Putty -- is forge wrong, or putty? + // due to padding we finish as an exact multiple of 16 + encrypted.truncate(16); // all padding + + priv = forge.util.encode64(encrypted.bytes(), 64); + } + + // output private key + length = Math.floor(priv.length / 66) + 1; // 64 + \r\n + ppk += '\r\nPrivate-Lines: ' + length + '\r\n'; + ppk += priv; + + // MAC + var mackey = _sha1('putty-private-key-file-mac-key', passphrase); + + var macbuffer = forge.util.createBuffer(); + _addStringToBuffer(macbuffer, algorithm); + _addStringToBuffer(macbuffer, encryptionAlgorithm); + _addStringToBuffer(macbuffer, comment); + macbuffer.putInt32(pubbuffer.length()); + macbuffer.putBuffer(pubbuffer); + macbuffer.putInt32(privbuffer.length()); + macbuffer.putBuffer(privbuffer); + + var hmac = forge.hmac.create(); + hmac.start('sha1', mackey); + hmac.update(macbuffer.bytes()); + + ppk += '\r\nPrivate-MAC: ' + hmac.digest().toHex() + '\r\n'; + + return ppk; +}; + +/** + * Encodes a public RSA key as an OpenSSH file. + * + * @param key the key. + * @param comment a comment. + * + * @return the public key in OpenSSH format. + */ +ssh.publicKeyToOpenSSH = function(key, comment) { + var type = 'ssh-rsa'; + comment = comment || ''; + + var buffer = forge.util.createBuffer(); + _addStringToBuffer(buffer, type); + _addBigIntegerToBuffer(buffer, key.e); + _addBigIntegerToBuffer(buffer, key.n); + + return type + ' ' + forge.util.encode64(buffer.bytes()) + ' ' + comment; +}; + +/** + * Encodes a private RSA key as an OpenSSH file. + * + * @param key the key. + * @param passphrase a passphrase to protect the key (falsy for no encryption). + * + * @return the public key in OpenSSH format. + */ +ssh.privateKeyToOpenSSH = function(privateKey, passphrase) { + if(!passphrase) { + return forge.pki.privateKeyToPem(privateKey); + } + // OpenSSH private key is just a legacy format, it seems + return forge.pki.encryptRsaPrivateKey(privateKey, passphrase, + {legacy: true, algorithm: 'aes128'}); +}; + +/** + * Gets the SSH fingerprint for the given public key. + * + * @param options the options to use. + * [md] the message digest object to use (defaults to forge.md.md5). + * [encoding] an alternative output encoding, such as 'hex' + * (defaults to none, outputs a byte buffer). + * [delimiter] the delimiter to use between bytes for 'hex' encoded + * output, eg: ':' (defaults to none). + * + * @return the fingerprint as a byte buffer or other encoding based on options. + */ +ssh.getPublicKeyFingerprint = function(key, options) { + options = options || {}; + var md = options.md || forge.md.md5.create(); + + var type = 'ssh-rsa'; + var buffer = forge.util.createBuffer(); + _addStringToBuffer(buffer, type); + _addBigIntegerToBuffer(buffer, key.e); + _addBigIntegerToBuffer(buffer, key.n); + + // hash public key bytes + md.start(); + md.update(buffer.getBytes()); + var digest = md.digest(); + if(options.encoding === 'hex') { + var hex = digest.toHex(); + if(options.delimiter) { + return hex.match(/.{2}/g).join(options.delimiter); + } + return hex; + } else if(options.encoding === 'binary') { + return digest.getBytes(); + } else if(options.encoding) { + throw new Error('Unknown encoding "' + options.encoding + '".'); + } + return digest; +}; + +/** + * Adds len(val) then val to a buffer. + * + * @param buffer the buffer to add to. + * @param val a big integer. + */ +function _addBigIntegerToBuffer(buffer, val) { + var hexVal = val.toString(16); + // ensure 2s complement +ve + if(hexVal[0] >= '8') { + hexVal = '00' + hexVal; + } + var bytes = forge.util.hexToBytes(hexVal); + buffer.putInt32(bytes.length); + buffer.putBytes(bytes); +} + +/** + * Adds len(val) then val to a buffer. + * + * @param buffer the buffer to add to. + * @param val a string. + */ +function _addStringToBuffer(buffer, val) { + buffer.putInt32(val.length); + buffer.putString(val); +} + +/** + * Hashes the arguments into one value using SHA-1. + * + * @return the sha1 hash of the provided arguments. + */ +function _sha1() { + var sha = forge.md.sha1.create(); + var num = arguments.length; + for (var i = 0; i < num; ++i) { + sha.update(arguments[i]); + } + return sha.digest(); +} diff --git a/express-server/node_modules/node-forge/lib/task.js b/express-server/node_modules/node-forge/lib/task.js new file mode 100644 index 00000000..df486600 --- /dev/null +++ b/express-server/node_modules/node-forge/lib/task.js @@ -0,0 +1,725 @@ +/** + * Support for concurrent task management and synchronization in web + * applications. + * + * @author Dave Longley + * @author David I. Lehn + * + * Copyright (c) 2009-2013 Digital Bazaar, Inc. + */ +var forge = require('./forge'); +require('./debug'); +require('./log'); +require('./util'); + +// logging category +var cat = 'forge.task'; + +// verbose level +// 0: off, 1: a little, 2: a whole lot +// Verbose debug logging is surrounded by a level check to avoid the +// performance issues with even calling the logging code regardless if it +// is actually logged. For performance reasons this should not be set to 2 +// for production use. +// ex: if(sVL >= 2) forge.log.verbose(....) +var sVL = 0; + +// track tasks for debugging +var sTasks = {}; +var sNextTaskId = 0; +// debug access +forge.debug.set(cat, 'tasks', sTasks); + +// a map of task type to task queue +var sTaskQueues = {}; +// debug access +forge.debug.set(cat, 'queues', sTaskQueues); + +// name for unnamed tasks +var sNoTaskName = '?'; + +// maximum number of doNext() recursions before a context swap occurs +// FIXME: might need to tweak this based on the browser +var sMaxRecursions = 30; + +// time slice for doing tasks before a context swap occurs +// FIXME: might need to tweak this based on the browser +var sTimeSlice = 20; + +/** + * Task states. + * + * READY: ready to start processing + * RUNNING: task or a subtask is running + * BLOCKED: task is waiting to acquire N permits to continue + * SLEEPING: task is sleeping for a period of time + * DONE: task is done + * ERROR: task has an error + */ +var READY = 'ready'; +var RUNNING = 'running'; +var BLOCKED = 'blocked'; +var SLEEPING = 'sleeping'; +var DONE = 'done'; +var ERROR = 'error'; + +/** + * Task actions. Used to control state transitions. + * + * STOP: stop processing + * START: start processing tasks + * BLOCK: block task from continuing until 1 or more permits are released + * UNBLOCK: release one or more permits + * SLEEP: sleep for a period of time + * WAKEUP: wakeup early from SLEEPING state + * CANCEL: cancel further tasks + * FAIL: a failure occured + */ +var STOP = 'stop'; +var START = 'start'; +var BLOCK = 'block'; +var UNBLOCK = 'unblock'; +var SLEEP = 'sleep'; +var WAKEUP = 'wakeup'; +var CANCEL = 'cancel'; +var FAIL = 'fail'; + +/** + * State transition table. + * + * nextState = sStateTable[currentState][action] + */ +var sStateTable = {}; + +sStateTable[READY] = {}; +sStateTable[READY][STOP] = READY; +sStateTable[READY][START] = RUNNING; +sStateTable[READY][CANCEL] = DONE; +sStateTable[READY][FAIL] = ERROR; + +sStateTable[RUNNING] = {}; +sStateTable[RUNNING][STOP] = READY; +sStateTable[RUNNING][START] = RUNNING; +sStateTable[RUNNING][BLOCK] = BLOCKED; +sStateTable[RUNNING][UNBLOCK] = RUNNING; +sStateTable[RUNNING][SLEEP] = SLEEPING; +sStateTable[RUNNING][WAKEUP] = RUNNING; +sStateTable[RUNNING][CANCEL] = DONE; +sStateTable[RUNNING][FAIL] = ERROR; + +sStateTable[BLOCKED] = {}; +sStateTable[BLOCKED][STOP] = BLOCKED; +sStateTable[BLOCKED][START] = BLOCKED; +sStateTable[BLOCKED][BLOCK] = BLOCKED; +sStateTable[BLOCKED][UNBLOCK] = BLOCKED; +sStateTable[BLOCKED][SLEEP] = BLOCKED; +sStateTable[BLOCKED][WAKEUP] = BLOCKED; +sStateTable[BLOCKED][CANCEL] = DONE; +sStateTable[BLOCKED][FAIL] = ERROR; + +sStateTable[SLEEPING] = {}; +sStateTable[SLEEPING][STOP] = SLEEPING; +sStateTable[SLEEPING][START] = SLEEPING; +sStateTable[SLEEPING][BLOCK] = SLEEPING; +sStateTable[SLEEPING][UNBLOCK] = SLEEPING; +sStateTable[SLEEPING][SLEEP] = SLEEPING; +sStateTable[SLEEPING][WAKEUP] = SLEEPING; +sStateTable[SLEEPING][CANCEL] = DONE; +sStateTable[SLEEPING][FAIL] = ERROR; + +sStateTable[DONE] = {}; +sStateTable[DONE][STOP] = DONE; +sStateTable[DONE][START] = DONE; +sStateTable[DONE][BLOCK] = DONE; +sStateTable[DONE][UNBLOCK] = DONE; +sStateTable[DONE][SLEEP] = DONE; +sStateTable[DONE][WAKEUP] = DONE; +sStateTable[DONE][CANCEL] = DONE; +sStateTable[DONE][FAIL] = ERROR; + +sStateTable[ERROR] = {}; +sStateTable[ERROR][STOP] = ERROR; +sStateTable[ERROR][START] = ERROR; +sStateTable[ERROR][BLOCK] = ERROR; +sStateTable[ERROR][UNBLOCK] = ERROR; +sStateTable[ERROR][SLEEP] = ERROR; +sStateTable[ERROR][WAKEUP] = ERROR; +sStateTable[ERROR][CANCEL] = ERROR; +sStateTable[ERROR][FAIL] = ERROR; + +/** + * Creates a new task. + * + * @param options options for this task + * run: the run function for the task (required) + * name: the run function for the task (optional) + * parent: parent of this task (optional) + * + * @return the empty task. + */ +var Task = function(options) { + // task id + this.id = -1; + + // task name + this.name = options.name || sNoTaskName; + + // task has no parent + this.parent = options.parent || null; + + // save run function + this.run = options.run; + + // create a queue of subtasks to run + this.subtasks = []; + + // error flag + this.error = false; + + // state of the task + this.state = READY; + + // number of times the task has been blocked (also the number + // of permits needed to be released to continue running) + this.blocks = 0; + + // timeout id when sleeping + this.timeoutId = null; + + // no swap time yet + this.swapTime = null; + + // no user data + this.userData = null; + + // initialize task + // FIXME: deal with overflow + this.id = sNextTaskId++; + sTasks[this.id] = this; + if(sVL >= 1) { + forge.log.verbose(cat, '[%s][%s] init', this.id, this.name, this); + } +}; + +/** + * Logs debug information on this task and the system state. + */ +Task.prototype.debug = function(msg) { + msg = msg || ''; + forge.log.debug(cat, msg, + '[%s][%s] task:', this.id, this.name, this, + 'subtasks:', this.subtasks.length, + 'queue:', sTaskQueues); +}; + +/** + * Adds a subtask to run after task.doNext() or task.fail() is called. + * + * @param name human readable name for this task (optional). + * @param subrun a function to run that takes the current task as + * its first parameter. + * + * @return the current task (useful for chaining next() calls). + */ +Task.prototype.next = function(name, subrun) { + // juggle parameters if it looks like no name is given + if(typeof(name) === 'function') { + subrun = name; + + // inherit parent's name + name = this.name; + } + // create subtask, set parent to this task, propagate callbacks + var subtask = new Task({ + run: subrun, + name: name, + parent: this + }); + // start subtasks running + subtask.state = RUNNING; + subtask.type = this.type; + subtask.successCallback = this.successCallback || null; + subtask.failureCallback = this.failureCallback || null; + + // queue a new subtask + this.subtasks.push(subtask); + + return this; +}; + +/** + * Adds subtasks to run in parallel after task.doNext() or task.fail() + * is called. + * + * @param name human readable name for this task (optional). + * @param subrun functions to run that take the current task as + * their first parameter. + * + * @return the current task (useful for chaining next() calls). + */ +Task.prototype.parallel = function(name, subrun) { + // juggle parameters if it looks like no name is given + if(forge.util.isArray(name)) { + subrun = name; + + // inherit parent's name + name = this.name; + } + // Wrap parallel tasks in a regular task so they are started at the + // proper time. + return this.next(name, function(task) { + // block waiting for subtasks + var ptask = task; + ptask.block(subrun.length); + + // we pass the iterator from the loop below as a parameter + // to a function because it is otherwise included in the + // closure and changes as the loop changes -- causing i + // to always be set to its highest value + var startParallelTask = function(pname, pi) { + forge.task.start({ + type: pname, + run: function(task) { + subrun[pi](task); + }, + success: function(task) { + ptask.unblock(); + }, + failure: function(task) { + ptask.unblock(); + } + }); + }; + + for(var i = 0; i < subrun.length; i++) { + // Type must be unique so task starts in parallel: + // name + private string + task id + sub-task index + // start tasks in parallel and unblock when the finish + var pname = name + '__parallel-' + task.id + '-' + i; + var pi = i; + startParallelTask(pname, pi); + } + }); +}; + +/** + * Stops a running task. + */ +Task.prototype.stop = function() { + this.state = sStateTable[this.state][STOP]; +}; + +/** + * Starts running a task. + */ +Task.prototype.start = function() { + this.error = false; + this.state = sStateTable[this.state][START]; + + // try to restart + if(this.state === RUNNING) { + this.start = new Date(); + this.run(this); + runNext(this, 0); + } +}; + +/** + * Blocks a task until it one or more permits have been released. The + * task will not resume until the requested number of permits have + * been released with call(s) to unblock(). + * + * @param n number of permits to wait for(default: 1). + */ +Task.prototype.block = function(n) { + n = typeof(n) === 'undefined' ? 1 : n; + this.blocks += n; + if(this.blocks > 0) { + this.state = sStateTable[this.state][BLOCK]; + } +}; + +/** + * Releases a permit to unblock a task. If a task was blocked by + * requesting N permits via block(), then it will only continue + * running once enough permits have been released via unblock() calls. + * + * If multiple processes need to synchronize with a single task then + * use a condition variable (see forge.task.createCondition). It is + * an error to unblock a task more times than it has been blocked. + * + * @param n number of permits to release (default: 1). + * + * @return the current block count (task is unblocked when count is 0) + */ +Task.prototype.unblock = function(n) { + n = typeof(n) === 'undefined' ? 1 : n; + this.blocks -= n; + if(this.blocks === 0 && this.state !== DONE) { + this.state = RUNNING; + runNext(this, 0); + } + return this.blocks; +}; + +/** + * Sleep for a period of time before resuming tasks. + * + * @param n number of milliseconds to sleep (default: 0). + */ +Task.prototype.sleep = function(n) { + n = typeof(n) === 'undefined' ? 0 : n; + this.state = sStateTable[this.state][SLEEP]; + var self = this; + this.timeoutId = setTimeout(function() { + self.timeoutId = null; + self.state = RUNNING; + runNext(self, 0); + }, n); +}; + +/** + * Waits on a condition variable until notified. The next task will + * not be scheduled until notification. A condition variable can be + * created with forge.task.createCondition(). + * + * Once cond.notify() is called, the task will continue. + * + * @param cond the condition variable to wait on. + */ +Task.prototype.wait = function(cond) { + cond.wait(this); +}; + +/** + * If sleeping, wakeup and continue running tasks. + */ +Task.prototype.wakeup = function() { + if(this.state === SLEEPING) { + cancelTimeout(this.timeoutId); + this.timeoutId = null; + this.state = RUNNING; + runNext(this, 0); + } +}; + +/** + * Cancel all remaining subtasks of this task. + */ +Task.prototype.cancel = function() { + this.state = sStateTable[this.state][CANCEL]; + // remove permits needed + this.permitsNeeded = 0; + // cancel timeouts + if(this.timeoutId !== null) { + cancelTimeout(this.timeoutId); + this.timeoutId = null; + } + // remove subtasks + this.subtasks = []; +}; + +/** + * Finishes this task with failure and sets error flag. The entire + * task will be aborted unless the next task that should execute + * is passed as a parameter. This allows levels of subtasks to be + * skipped. For instance, to abort only this tasks's subtasks, then + * call fail(task.parent). To abort this task's subtasks and its + * parent's subtasks, call fail(task.parent.parent). To abort + * all tasks and simply call the task callback, call fail() or + * fail(null). + * + * The task callback (success or failure) will always, eventually, be + * called. + * + * @param next the task to continue at, or null to abort entirely. + */ +Task.prototype.fail = function(next) { + // set error flag + this.error = true; + + // finish task + finish(this, true); + + if(next) { + // propagate task info + next.error = this.error; + next.swapTime = this.swapTime; + next.userData = this.userData; + + // do next task as specified + runNext(next, 0); + } else { + if(this.parent !== null) { + // finish root task (ensures it is removed from task queue) + var parent = this.parent; + while(parent.parent !== null) { + // propagate task info + parent.error = this.error; + parent.swapTime = this.swapTime; + parent.userData = this.userData; + parent = parent.parent; + } + finish(parent, true); + } + + // call failure callback if one exists + if(this.failureCallback) { + this.failureCallback(this); + } + } +}; + +/** + * Asynchronously start a task. + * + * @param task the task to start. + */ +var start = function(task) { + task.error = false; + task.state = sStateTable[task.state][START]; + setTimeout(function() { + if(task.state === RUNNING) { + task.swapTime = +new Date(); + task.run(task); + runNext(task, 0); + } + }, 0); +}; + +/** + * Run the next subtask or finish this task. + * + * @param task the task to process. + * @param recurse the recursion count. + */ +var runNext = function(task, recurse) { + // get time since last context swap (ms), if enough time has passed set + // swap to true to indicate that doNext was performed asynchronously + // also, if recurse is too high do asynchronously + var swap = + (recurse > sMaxRecursions) || + (+new Date() - task.swapTime) > sTimeSlice; + + var doNext = function(recurse) { + recurse++; + if(task.state === RUNNING) { + if(swap) { + // update swap time + task.swapTime = +new Date(); + } + + if(task.subtasks.length > 0) { + // run next subtask + var subtask = task.subtasks.shift(); + subtask.error = task.error; + subtask.swapTime = task.swapTime; + subtask.userData = task.userData; + subtask.run(subtask); + if(!subtask.error) { + runNext(subtask, recurse); + } + } else { + finish(task); + + if(!task.error) { + // chain back up and run parent + if(task.parent !== null) { + // propagate task info + task.parent.error = task.error; + task.parent.swapTime = task.swapTime; + task.parent.userData = task.userData; + + // no subtasks left, call run next subtask on parent + runNext(task.parent, recurse); + } + } + } + } + }; + + if(swap) { + // we're swapping, so run asynchronously + setTimeout(doNext, 0); + } else { + // not swapping, so run synchronously + doNext(recurse); + } +}; + +/** + * Finishes a task and looks for the next task in the queue to start. + * + * @param task the task to finish. + * @param suppressCallbacks true to suppress callbacks. + */ +var finish = function(task, suppressCallbacks) { + // subtask is now done + task.state = DONE; + + delete sTasks[task.id]; + if(sVL >= 1) { + forge.log.verbose(cat, '[%s][%s] finish', + task.id, task.name, task); + } + + // only do queue processing for root tasks + if(task.parent === null) { + // report error if queue is missing + if(!(task.type in sTaskQueues)) { + forge.log.error(cat, + '[%s][%s] task queue missing [%s]', + task.id, task.name, task.type); + } else if(sTaskQueues[task.type].length === 0) { + // report error if queue is empty + forge.log.error(cat, + '[%s][%s] task queue empty [%s]', + task.id, task.name, task.type); + } else if(sTaskQueues[task.type][0] !== task) { + // report error if this task isn't the first in the queue + forge.log.error(cat, + '[%s][%s] task not first in queue [%s]', + task.id, task.name, task.type); + } else { + // remove ourselves from the queue + sTaskQueues[task.type].shift(); + // clean up queue if it is empty + if(sTaskQueues[task.type].length === 0) { + if(sVL >= 1) { + forge.log.verbose(cat, '[%s][%s] delete queue [%s]', + task.id, task.name, task.type); + } + /* Note: Only a task can delete a queue of its own type. This + is used as a way to synchronize tasks. If a queue for a certain + task type exists, then a task of that type is running. + */ + delete sTaskQueues[task.type]; + } else { + // dequeue the next task and start it + if(sVL >= 1) { + forge.log.verbose(cat, + '[%s][%s] queue start next [%s] remain:%s', + task.id, task.name, task.type, + sTaskQueues[task.type].length); + } + sTaskQueues[task.type][0].start(); + } + } + + if(!suppressCallbacks) { + // call final callback if one exists + if(task.error && task.failureCallback) { + task.failureCallback(task); + } else if(!task.error && task.successCallback) { + task.successCallback(task); + } + } + } +}; + +/* Tasks API */ +module.exports = forge.task = forge.task || {}; + +/** + * Starts a new task that will run the passed function asynchronously. + * + * In order to finish the task, either task.doNext() or task.fail() + * *must* be called. + * + * The task must have a type (a string identifier) that can be used to + * synchronize it with other tasks of the same type. That type can also + * be used to cancel tasks that haven't started yet. + * + * To start a task, the following object must be provided as a parameter + * (each function takes a task object as its first parameter): + * + * { + * type: the type of task. + * run: the function to run to execute the task. + * success: a callback to call when the task succeeds (optional). + * failure: a callback to call when the task fails (optional). + * } + * + * @param options the object as described above. + */ +forge.task.start = function(options) { + // create a new task + var task = new Task({ + run: options.run, + name: options.name || sNoTaskName + }); + task.type = options.type; + task.successCallback = options.success || null; + task.failureCallback = options.failure || null; + + // append the task onto the appropriate queue + if(!(task.type in sTaskQueues)) { + if(sVL >= 1) { + forge.log.verbose(cat, '[%s][%s] create queue [%s]', + task.id, task.name, task.type); + } + // create the queue with the new task + sTaskQueues[task.type] = [task]; + start(task); + } else { + // push the task onto the queue, it will be run after a task + // with the same type completes + sTaskQueues[options.type].push(task); + } +}; + +/** + * Cancels all tasks of the given type that haven't started yet. + * + * @param type the type of task to cancel. + */ +forge.task.cancel = function(type) { + // find the task queue + if(type in sTaskQueues) { + // empty all but the current task from the queue + sTaskQueues[type] = [sTaskQueues[type][0]]; + } +}; + +/** + * Creates a condition variable to synchronize tasks. To make a task wait + * on the condition variable, call task.wait(condition). To notify all + * tasks that are waiting, call condition.notify(). + * + * @return the condition variable. + */ +forge.task.createCondition = function() { + var cond = { + // all tasks that are blocked + tasks: {} + }; + + /** + * Causes the given task to block until notify is called. If the task + * is already waiting on this condition then this is a no-op. + * + * @param task the task to cause to wait. + */ + cond.wait = function(task) { + // only block once + if(!(task.id in cond.tasks)) { + task.block(); + cond.tasks[task.id] = task; + } + }; + + /** + * Notifies all waiting tasks to wake up. + */ + cond.notify = function() { + // since unblock() will run the next task from here, make sure to + // clear the condition's blocked task list before unblocking + var tmp = cond.tasks; + cond.tasks = {}; + for(var id in tmp) { + tmp[id].unblock(); + } + }; + + return cond; +}; diff --git a/express-server/node_modules/node-forge/lib/tls.js b/express-server/node_modules/node-forge/lib/tls.js new file mode 100644 index 00000000..e953fb89 --- /dev/null +++ b/express-server/node_modules/node-forge/lib/tls.js @@ -0,0 +1,4269 @@ +/** + * A Javascript implementation of Transport Layer Security (TLS). + * + * @author Dave Longley + * + * Copyright (c) 2009-2014 Digital Bazaar, Inc. + * + * The TLS Handshake Protocol involves the following steps: + * + * - Exchange hello messages to agree on algorithms, exchange random values, + * and check for session resumption. + * + * - Exchange the necessary cryptographic parameters to allow the client and + * server to agree on a premaster secret. + * + * - Exchange certificates and cryptographic information to allow the client + * and server to authenticate themselves. + * + * - Generate a master secret from the premaster secret and exchanged random + * values. + * + * - Provide security parameters to the record layer. + * + * - Allow the client and server to verify that their peer has calculated the + * same security parameters and that the handshake occurred without tampering + * by an attacker. + * + * Up to 4 different messages may be sent during a key exchange. The server + * certificate, the server key exchange, the client certificate, and the + * client key exchange. + * + * A typical handshake (from the client's perspective). + * + * 1. Client sends ClientHello. + * 2. Client receives ServerHello. + * 3. Client receives optional Certificate. + * 4. Client receives optional ServerKeyExchange. + * 5. Client receives ServerHelloDone. + * 6. Client sends optional Certificate. + * 7. Client sends ClientKeyExchange. + * 8. Client sends optional CertificateVerify. + * 9. Client sends ChangeCipherSpec. + * 10. Client sends Finished. + * 11. Client receives ChangeCipherSpec. + * 12. Client receives Finished. + * 13. Client sends/receives application data. + * + * To reuse an existing session: + * + * 1. Client sends ClientHello with session ID for reuse. + * 2. Client receives ServerHello with same session ID if reusing. + * 3. Client receives ChangeCipherSpec message if reusing. + * 4. Client receives Finished. + * 5. Client sends ChangeCipherSpec. + * 6. Client sends Finished. + * + * Note: Client ignores HelloRequest if in the middle of a handshake. + * + * Record Layer: + * + * The record layer fragments information blocks into TLSPlaintext records + * carrying data in chunks of 2^14 bytes or less. Client message boundaries are + * not preserved in the record layer (i.e., multiple client messages of the + * same ContentType MAY be coalesced into a single TLSPlaintext record, or a + * single message MAY be fragmented across several records). + * + * struct { + * uint8 major; + * uint8 minor; + * } ProtocolVersion; + * + * struct { + * ContentType type; + * ProtocolVersion version; + * uint16 length; + * opaque fragment[TLSPlaintext.length]; + * } TLSPlaintext; + * + * type: + * The higher-level protocol used to process the enclosed fragment. + * + * version: + * The version of the protocol being employed. TLS Version 1.2 uses version + * {3, 3}. TLS Version 1.0 uses version {3, 1}. Note that a client that + * supports multiple versions of TLS may not know what version will be + * employed before it receives the ServerHello. + * + * length: + * The length (in bytes) of the following TLSPlaintext.fragment. The length + * MUST NOT exceed 2^14 = 16384 bytes. + * + * fragment: + * The application data. This data is transparent and treated as an + * independent block to be dealt with by the higher-level protocol specified + * by the type field. + * + * Implementations MUST NOT send zero-length fragments of Handshake, Alert, or + * ChangeCipherSpec content types. Zero-length fragments of Application data + * MAY be sent as they are potentially useful as a traffic analysis + * countermeasure. + * + * Note: Data of different TLS record layer content types MAY be interleaved. + * Application data is generally of lower precedence for transmission than + * other content types. However, records MUST be delivered to the network in + * the same order as they are protected by the record layer. Recipients MUST + * receive and process interleaved application layer traffic during handshakes + * subsequent to the first one on a connection. + * + * struct { + * ContentType type; // same as TLSPlaintext.type + * ProtocolVersion version;// same as TLSPlaintext.version + * uint16 length; + * opaque fragment[TLSCompressed.length]; + * } TLSCompressed; + * + * length: + * The length (in bytes) of the following TLSCompressed.fragment. + * The length MUST NOT exceed 2^14 + 1024. + * + * fragment: + * The compressed form of TLSPlaintext.fragment. + * + * Note: A CompressionMethod.null operation is an identity operation; no fields + * are altered. In this implementation, since no compression is supported, + * uncompressed records are always the same as compressed records. + * + * Encryption Information: + * + * The encryption and MAC functions translate a TLSCompressed structure into a + * TLSCiphertext. The decryption functions reverse the process. The MAC of the + * record also includes a sequence number so that missing, extra, or repeated + * messages are detectable. + * + * struct { + * ContentType type; + * ProtocolVersion version; + * uint16 length; + * select (SecurityParameters.cipher_type) { + * case stream: GenericStreamCipher; + * case block: GenericBlockCipher; + * case aead: GenericAEADCipher; + * } fragment; + * } TLSCiphertext; + * + * type: + * The type field is identical to TLSCompressed.type. + * + * version: + * The version field is identical to TLSCompressed.version. + * + * length: + * The length (in bytes) of the following TLSCiphertext.fragment. + * The length MUST NOT exceed 2^14 + 2048. + * + * fragment: + * The encrypted form of TLSCompressed.fragment, with the MAC. + * + * Note: Only CBC Block Ciphers are supported by this implementation. + * + * The TLSCompressed.fragment structures are converted to/from block + * TLSCiphertext.fragment structures. + * + * struct { + * opaque IV[SecurityParameters.record_iv_length]; + * block-ciphered struct { + * opaque content[TLSCompressed.length]; + * opaque MAC[SecurityParameters.mac_length]; + * uint8 padding[GenericBlockCipher.padding_length]; + * uint8 padding_length; + * }; + * } GenericBlockCipher; + * + * The MAC is generated as described in Section 6.2.3.1. + * + * IV: + * The Initialization Vector (IV) SHOULD be chosen at random, and MUST be + * unpredictable. Note that in versions of TLS prior to 1.1, there was no + * IV field, and the last ciphertext block of the previous record (the "CBC + * residue") was used as the IV. This was changed to prevent the attacks + * described in [CBCATT]. For block ciphers, the IV length is of length + * SecurityParameters.record_iv_length, which is equal to the + * SecurityParameters.block_size. + * + * padding: + * Padding that is added to force the length of the plaintext to be an + * integral multiple of the block cipher's block length. The padding MAY be + * any length up to 255 bytes, as long as it results in the + * TLSCiphertext.length being an integral multiple of the block length. + * Lengths longer than necessary might be desirable to frustrate attacks on + * a protocol that are based on analysis of the lengths of exchanged + * messages. Each uint8 in the padding data vector MUST be filled with the + * padding length value. The receiver MUST check this padding and MUST use + * the bad_record_mac alert to indicate padding errors. + * + * padding_length: + * The padding length MUST be such that the total size of the + * GenericBlockCipher structure is a multiple of the cipher's block length. + * Legal values range from zero to 255, inclusive. This length specifies the + * length of the padding field exclusive of the padding_length field itself. + * + * The encrypted data length (TLSCiphertext.length) is one more than the sum of + * SecurityParameters.block_length, TLSCompressed.length, + * SecurityParameters.mac_length, and padding_length. + * + * Example: If the block length is 8 bytes, the content length + * (TLSCompressed.length) is 61 bytes, and the MAC length is 20 bytes, then the + * length before padding is 82 bytes (this does not include the IV. Thus, the + * padding length modulo 8 must be equal to 6 in order to make the total length + * an even multiple of 8 bytes (the block length). The padding length can be + * 6, 14, 22, and so on, through 254. If the padding length were the minimum + * necessary, 6, the padding would be 6 bytes, each containing the value 6. + * Thus, the last 8 octets of the GenericBlockCipher before block encryption + * would be xx 06 06 06 06 06 06 06, where xx is the last octet of the MAC. + * + * Note: With block ciphers in CBC mode (Cipher Block Chaining), it is critical + * that the entire plaintext of the record be known before any ciphertext is + * transmitted. Otherwise, it is possible for the attacker to mount the attack + * described in [CBCATT]. + * + * Implementation note: Canvel et al. [CBCTIME] have demonstrated a timing + * attack on CBC padding based on the time required to compute the MAC. In + * order to defend against this attack, implementations MUST ensure that + * record processing time is essentially the same whether or not the padding + * is correct. In general, the best way to do this is to compute the MAC even + * if the padding is incorrect, and only then reject the packet. For instance, + * if the pad appears to be incorrect, the implementation might assume a + * zero-length pad and then compute the MAC. This leaves a small timing + * channel, since MAC performance depends, to some extent, on the size of the + * data fragment, but it is not believed to be large enough to be exploitable, + * due to the large block size of existing MACs and the small size of the + * timing signal. + */ +var forge = require('./forge'); +require('./asn1'); +require('./hmac'); +require('./md5'); +require('./pem'); +require('./pki'); +require('./random'); +require('./sha1'); +require('./util'); + +/** + * Generates pseudo random bytes by mixing the result of two hash functions, + * MD5 and SHA-1. + * + * prf_TLS1(secret, label, seed) = + * P_MD5(S1, label + seed) XOR P_SHA-1(S2, label + seed); + * + * Each P_hash function functions as follows: + * + * P_hash(secret, seed) = HMAC_hash(secret, A(1) + seed) + + * HMAC_hash(secret, A(2) + seed) + + * HMAC_hash(secret, A(3) + seed) + ... + * A() is defined as: + * A(0) = seed + * A(i) = HMAC_hash(secret, A(i-1)) + * + * The '+' operator denotes concatenation. + * + * As many iterations A(N) as are needed are performed to generate enough + * pseudo random byte output. If an iteration creates more data than is + * necessary, then it is truncated. + * + * Therefore: + * A(1) = HMAC_hash(secret, A(0)) + * = HMAC_hash(secret, seed) + * A(2) = HMAC_hash(secret, A(1)) + * = HMAC_hash(secret, HMAC_hash(secret, seed)) + * + * Therefore: + * P_hash(secret, seed) = + * HMAC_hash(secret, HMAC_hash(secret, A(0)) + seed) + + * HMAC_hash(secret, HMAC_hash(secret, A(1)) + seed) + + * ... + * + * Therefore: + * P_hash(secret, seed) = + * HMAC_hash(secret, HMAC_hash(secret, seed) + seed) + + * HMAC_hash(secret, HMAC_hash(secret, HMAC_hash(secret, seed)) + seed) + + * ... + * + * @param secret the secret to use. + * @param label the label to use. + * @param seed the seed value to use. + * @param length the number of bytes to generate. + * + * @return the pseudo random bytes in a byte buffer. + */ +var prf_TLS1 = function(secret, label, seed, length) { + var rval = forge.util.createBuffer(); + + /* For TLS 1.0, the secret is split in half, into two secrets of equal + length. If the secret has an odd length then the last byte of the first + half will be the same as the first byte of the second. The length of the + two secrets is half of the secret rounded up. */ + var idx = (secret.length >> 1); + var slen = idx + (secret.length & 1); + var s1 = secret.substr(0, slen); + var s2 = secret.substr(idx, slen); + var ai = forge.util.createBuffer(); + var hmac = forge.hmac.create(); + seed = label + seed; + + // determine the number of iterations that must be performed to generate + // enough output bytes, md5 creates 16 byte hashes, sha1 creates 20 + var md5itr = Math.ceil(length / 16); + var sha1itr = Math.ceil(length / 20); + + // do md5 iterations + hmac.start('MD5', s1); + var md5bytes = forge.util.createBuffer(); + ai.putBytes(seed); + for(var i = 0; i < md5itr; ++i) { + // HMAC_hash(secret, A(i-1)) + hmac.start(null, null); + hmac.update(ai.getBytes()); + ai.putBuffer(hmac.digest()); + + // HMAC_hash(secret, A(i) + seed) + hmac.start(null, null); + hmac.update(ai.bytes() + seed); + md5bytes.putBuffer(hmac.digest()); + } + + // do sha1 iterations + hmac.start('SHA1', s2); + var sha1bytes = forge.util.createBuffer(); + ai.clear(); + ai.putBytes(seed); + for(var i = 0; i < sha1itr; ++i) { + // HMAC_hash(secret, A(i-1)) + hmac.start(null, null); + hmac.update(ai.getBytes()); + ai.putBuffer(hmac.digest()); + + // HMAC_hash(secret, A(i) + seed) + hmac.start(null, null); + hmac.update(ai.bytes() + seed); + sha1bytes.putBuffer(hmac.digest()); + } + + // XOR the md5 bytes with the sha1 bytes + rval.putBytes(forge.util.xorBytes( + md5bytes.getBytes(), sha1bytes.getBytes(), length)); + + return rval; +}; + +/** + * Generates pseudo random bytes using a SHA256 algorithm. For TLS 1.2. + * + * @param secret the secret to use. + * @param label the label to use. + * @param seed the seed value to use. + * @param length the number of bytes to generate. + * + * @return the pseudo random bytes in a byte buffer. + */ +var prf_sha256 = function(secret, label, seed, length) { + // FIXME: implement me for TLS 1.2 +}; + +/** + * Gets a MAC for a record using the SHA-1 hash algorithm. + * + * @param key the mac key. + * @param state the sequence number (array of two 32-bit integers). + * @param record the record. + * + * @return the sha-1 hash (20 bytes) for the given record. + */ +var hmac_sha1 = function(key, seqNum, record) { + /* MAC is computed like so: + HMAC_hash( + key, seqNum + + TLSCompressed.type + + TLSCompressed.version + + TLSCompressed.length + + TLSCompressed.fragment) + */ + var hmac = forge.hmac.create(); + hmac.start('SHA1', key); + var b = forge.util.createBuffer(); + b.putInt32(seqNum[0]); + b.putInt32(seqNum[1]); + b.putByte(record.type); + b.putByte(record.version.major); + b.putByte(record.version.minor); + b.putInt16(record.length); + b.putBytes(record.fragment.bytes()); + hmac.update(b.getBytes()); + return hmac.digest().getBytes(); +}; + +/** + * Compresses the TLSPlaintext record into a TLSCompressed record using the + * deflate algorithm. + * + * @param c the TLS connection. + * @param record the TLSPlaintext record to compress. + * @param s the ConnectionState to use. + * + * @return true on success, false on failure. + */ +var deflate = function(c, record, s) { + var rval = false; + + try { + var bytes = c.deflate(record.fragment.getBytes()); + record.fragment = forge.util.createBuffer(bytes); + record.length = bytes.length; + rval = true; + } catch(ex) { + // deflate error, fail out + } + + return rval; +}; + +/** + * Decompresses the TLSCompressed record into a TLSPlaintext record using the + * deflate algorithm. + * + * @param c the TLS connection. + * @param record the TLSCompressed record to decompress. + * @param s the ConnectionState to use. + * + * @return true on success, false on failure. + */ +var inflate = function(c, record, s) { + var rval = false; + + try { + var bytes = c.inflate(record.fragment.getBytes()); + record.fragment = forge.util.createBuffer(bytes); + record.length = bytes.length; + rval = true; + } catch(ex) { + // inflate error, fail out + } + + return rval; +}; + +/** + * Reads a TLS variable-length vector from a byte buffer. + * + * Variable-length vectors are defined by specifying a subrange of legal + * lengths, inclusively, using the notation . When these are + * encoded, the actual length precedes the vector's contents in the byte + * stream. The length will be in the form of a number consuming as many bytes + * as required to hold the vector's specified maximum (ceiling) length. A + * variable-length vector with an actual length field of zero is referred to + * as an empty vector. + * + * @param b the byte buffer. + * @param lenBytes the number of bytes required to store the length. + * + * @return the resulting byte buffer. + */ +var readVector = function(b, lenBytes) { + var len = 0; + switch(lenBytes) { + case 1: + len = b.getByte(); + break; + case 2: + len = b.getInt16(); + break; + case 3: + len = b.getInt24(); + break; + case 4: + len = b.getInt32(); + break; + } + + // read vector bytes into a new buffer + return forge.util.createBuffer(b.getBytes(len)); +}; + +/** + * Writes a TLS variable-length vector to a byte buffer. + * + * @param b the byte buffer. + * @param lenBytes the number of bytes required to store the length. + * @param v the byte buffer vector. + */ +var writeVector = function(b, lenBytes, v) { + // encode length at the start of the vector, where the number of bytes for + // the length is the maximum number of bytes it would take to encode the + // vector's ceiling + b.putInt(v.length(), lenBytes << 3); + b.putBuffer(v); +}; + +/** + * The tls implementation. + */ +var tls = {}; + +/** + * Version: TLS 1.2 = 3.3, TLS 1.1 = 3.2, TLS 1.0 = 3.1. Both TLS 1.1 and + * TLS 1.2 were still too new (ie: openSSL didn't implement them) at the time + * of this implementation so TLS 1.0 was implemented instead. + */ +tls.Versions = { + TLS_1_0: {major: 3, minor: 1}, + TLS_1_1: {major: 3, minor: 2}, + TLS_1_2: {major: 3, minor: 3} +}; +tls.SupportedVersions = [ + tls.Versions.TLS_1_1, + tls.Versions.TLS_1_0 +]; +tls.Version = tls.SupportedVersions[0]; + +/** + * Maximum fragment size. True maximum is 16384, but we fragment before that + * to allow for unusual small increases during compression. + */ +tls.MaxFragment = 16384 - 1024; + +/** + * Whether this entity is considered the "client" or "server". + * enum { server, client } ConnectionEnd; + */ +tls.ConnectionEnd = { + server: 0, + client: 1 +}; + +/** + * Pseudo-random function algorithm used to generate keys from the master + * secret. + * enum { tls_prf_sha256 } PRFAlgorithm; + */ +tls.PRFAlgorithm = { + tls_prf_sha256: 0 +}; + +/** + * Bulk encryption algorithms. + * enum { null, rc4, des3, aes } BulkCipherAlgorithm; + */ +tls.BulkCipherAlgorithm = { + none: null, + rc4: 0, + des3: 1, + aes: 2 +}; + +/** + * Cipher types. + * enum { stream, block, aead } CipherType; + */ +tls.CipherType = { + stream: 0, + block: 1, + aead: 2 +}; + +/** + * MAC (Message Authentication Code) algorithms. + * enum { null, hmac_md5, hmac_sha1, hmac_sha256, + * hmac_sha384, hmac_sha512} MACAlgorithm; + */ +tls.MACAlgorithm = { + none: null, + hmac_md5: 0, + hmac_sha1: 1, + hmac_sha256: 2, + hmac_sha384: 3, + hmac_sha512: 4 +}; + +/** + * Compression algorithms. + * enum { null(0), deflate(1), (255) } CompressionMethod; + */ +tls.CompressionMethod = { + none: 0, + deflate: 1 +}; + +/** + * TLS record content types. + * enum { + * change_cipher_spec(20), alert(21), handshake(22), + * application_data(23), (255) + * } ContentType; + */ +tls.ContentType = { + change_cipher_spec: 20, + alert: 21, + handshake: 22, + application_data: 23, + heartbeat: 24 +}; + +/** + * TLS handshake types. + * enum { + * hello_request(0), client_hello(1), server_hello(2), + * certificate(11), server_key_exchange (12), + * certificate_request(13), server_hello_done(14), + * certificate_verify(15), client_key_exchange(16), + * finished(20), (255) + * } HandshakeType; + */ +tls.HandshakeType = { + hello_request: 0, + client_hello: 1, + server_hello: 2, + certificate: 11, + server_key_exchange: 12, + certificate_request: 13, + server_hello_done: 14, + certificate_verify: 15, + client_key_exchange: 16, + finished: 20 +}; + +/** + * TLS Alert Protocol. + * + * enum { warning(1), fatal(2), (255) } AlertLevel; + * + * enum { + * close_notify(0), + * unexpected_message(10), + * bad_record_mac(20), + * decryption_failed(21), + * record_overflow(22), + * decompression_failure(30), + * handshake_failure(40), + * bad_certificate(42), + * unsupported_certificate(43), + * certificate_revoked(44), + * certificate_expired(45), + * certificate_unknown(46), + * illegal_parameter(47), + * unknown_ca(48), + * access_denied(49), + * decode_error(50), + * decrypt_error(51), + * export_restriction(60), + * protocol_version(70), + * insufficient_security(71), + * internal_error(80), + * user_canceled(90), + * no_renegotiation(100), + * (255) + * } AlertDescription; + * + * struct { + * AlertLevel level; + * AlertDescription description; + * } Alert; + */ +tls.Alert = {}; +tls.Alert.Level = { + warning: 1, + fatal: 2 +}; +tls.Alert.Description = { + close_notify: 0, + unexpected_message: 10, + bad_record_mac: 20, + decryption_failed: 21, + record_overflow: 22, + decompression_failure: 30, + handshake_failure: 40, + bad_certificate: 42, + unsupported_certificate: 43, + certificate_revoked: 44, + certificate_expired: 45, + certificate_unknown: 46, + illegal_parameter: 47, + unknown_ca: 48, + access_denied: 49, + decode_error: 50, + decrypt_error: 51, + export_restriction: 60, + protocol_version: 70, + insufficient_security: 71, + internal_error: 80, + user_canceled: 90, + no_renegotiation: 100 +}; + +/** + * TLS Heartbeat Message types. + * enum { + * heartbeat_request(1), + * heartbeat_response(2), + * (255) + * } HeartbeatMessageType; + */ +tls.HeartbeatMessageType = { + heartbeat_request: 1, + heartbeat_response: 2 +}; + +/** + * Supported cipher suites. + */ +tls.CipherSuites = {}; + +/** + * Gets a supported cipher suite from its 2 byte ID. + * + * @param twoBytes two bytes in a string. + * + * @return the matching supported cipher suite or null. + */ +tls.getCipherSuite = function(twoBytes) { + var rval = null; + for(var key in tls.CipherSuites) { + var cs = tls.CipherSuites[key]; + if(cs.id[0] === twoBytes.charCodeAt(0) && + cs.id[1] === twoBytes.charCodeAt(1)) { + rval = cs; + break; + } + } + return rval; +}; + +/** + * Called when an unexpected record is encountered. + * + * @param c the connection. + * @param record the record. + */ +tls.handleUnexpected = function(c, record) { + // if connection is client and closed, ignore unexpected messages + var ignore = (!c.open && c.entity === tls.ConnectionEnd.client); + if(!ignore) { + c.error(c, { + message: 'Unexpected message. Received TLS record out of order.', + send: true, + alert: { + level: tls.Alert.Level.fatal, + description: tls.Alert.Description.unexpected_message + } + }); + } +}; + +/** + * Called when a client receives a HelloRequest record. + * + * @param c the connection. + * @param record the record. + * @param length the length of the handshake message. + */ +tls.handleHelloRequest = function(c, record, length) { + // ignore renegotiation requests from the server during a handshake, but + // if handshaking, send a warning alert that renegotation is denied + if(!c.handshaking && c.handshakes > 0) { + // send alert warning + tls.queue(c, tls.createAlert(c, { + level: tls.Alert.Level.warning, + description: tls.Alert.Description.no_renegotiation + })); + tls.flush(c); + } + + // continue + c.process(); +}; + +/** + * Parses a hello message from a ClientHello or ServerHello record. + * + * @param record the record to parse. + * + * @return the parsed message. + */ +tls.parseHelloMessage = function(c, record, length) { + var msg = null; + + var client = (c.entity === tls.ConnectionEnd.client); + + // minimum of 38 bytes in message + if(length < 38) { + c.error(c, { + message: client ? + 'Invalid ServerHello message. Message too short.' : + 'Invalid ClientHello message. Message too short.', + send: true, + alert: { + level: tls.Alert.Level.fatal, + description: tls.Alert.Description.illegal_parameter + } + }); + } else { + // use 'remaining' to calculate # of remaining bytes in the message + var b = record.fragment; + var remaining = b.length(); + msg = { + version: { + major: b.getByte(), + minor: b.getByte() + }, + random: forge.util.createBuffer(b.getBytes(32)), + session_id: readVector(b, 1), + extensions: [] + }; + if(client) { + msg.cipher_suite = b.getBytes(2); + msg.compression_method = b.getByte(); + } else { + msg.cipher_suites = readVector(b, 2); + msg.compression_methods = readVector(b, 1); + } + + // read extensions if there are any bytes left in the message + remaining = length - (remaining - b.length()); + if(remaining > 0) { + // parse extensions + var exts = readVector(b, 2); + while(exts.length() > 0) { + msg.extensions.push({ + type: [exts.getByte(), exts.getByte()], + data: readVector(exts, 2) + }); + } + + // TODO: make extension support modular + if(!client) { + for(var i = 0; i < msg.extensions.length; ++i) { + var ext = msg.extensions[i]; + + // support SNI extension + if(ext.type[0] === 0x00 && ext.type[1] === 0x00) { + // get server name list + var snl = readVector(ext.data, 2); + while(snl.length() > 0) { + // read server name type + var snType = snl.getByte(); + + // only HostName type (0x00) is known, break out if + // another type is detected + if(snType !== 0x00) { + break; + } + + // add host name to server name list + c.session.extensions.server_name.serverNameList.push( + readVector(snl, 2).getBytes()); + } + } + } + } + } + + // version already set, do not allow version change + if(c.session.version) { + if(msg.version.major !== c.session.version.major || + msg.version.minor !== c.session.version.minor) { + return c.error(c, { + message: 'TLS version change is disallowed during renegotiation.', + send: true, + alert: { + level: tls.Alert.Level.fatal, + description: tls.Alert.Description.protocol_version + } + }); + } + } + + // get the chosen (ServerHello) cipher suite + if(client) { + // FIXME: should be checking configured acceptable cipher suites + c.session.cipherSuite = tls.getCipherSuite(msg.cipher_suite); + } else { + // get a supported preferred (ClientHello) cipher suite + // choose the first supported cipher suite + var tmp = forge.util.createBuffer(msg.cipher_suites.bytes()); + while(tmp.length() > 0) { + // FIXME: should be checking configured acceptable suites + // cipher suites take up 2 bytes + c.session.cipherSuite = tls.getCipherSuite(tmp.getBytes(2)); + if(c.session.cipherSuite !== null) { + break; + } + } + } + + // cipher suite not supported + if(c.session.cipherSuite === null) { + return c.error(c, { + message: 'No cipher suites in common.', + send: true, + alert: { + level: tls.Alert.Level.fatal, + description: tls.Alert.Description.handshake_failure + }, + cipherSuite: forge.util.bytesToHex(msg.cipher_suite) + }); + } + + // TODO: handle compression methods + if(client) { + c.session.compressionMethod = msg.compression_method; + } else { + // no compression + c.session.compressionMethod = tls.CompressionMethod.none; + } + } + + return msg; +}; + +/** + * Creates security parameters for the given connection based on the given + * hello message. + * + * @param c the TLS connection. + * @param msg the hello message. + */ +tls.createSecurityParameters = function(c, msg) { + /* Note: security params are from TLS 1.2, some values like prf_algorithm + are ignored for TLS 1.0/1.1 and the builtin as specified in the spec is + used. */ + + // TODO: handle other options from server when more supported + + // get client and server randoms + var client = (c.entity === tls.ConnectionEnd.client); + var msgRandom = msg.random.bytes(); + var cRandom = client ? c.session.sp.client_random : msgRandom; + var sRandom = client ? msgRandom : tls.createRandom().getBytes(); + + // create new security parameters + c.session.sp = { + entity: c.entity, + prf_algorithm: tls.PRFAlgorithm.tls_prf_sha256, + bulk_cipher_algorithm: null, + cipher_type: null, + enc_key_length: null, + block_length: null, + fixed_iv_length: null, + record_iv_length: null, + mac_algorithm: null, + mac_length: null, + mac_key_length: null, + compression_algorithm: c.session.compressionMethod, + pre_master_secret: null, + master_secret: null, + client_random: cRandom, + server_random: sRandom + }; +}; + +/** + * Called when a client receives a ServerHello record. + * + * When a ServerHello message will be sent: + * The server will send this message in response to a client hello message + * when it was able to find an acceptable set of algorithms. If it cannot + * find such a match, it will respond with a handshake failure alert. + * + * uint24 length; + * struct { + * ProtocolVersion server_version; + * Random random; + * SessionID session_id; + * CipherSuite cipher_suite; + * CompressionMethod compression_method; + * select(extensions_present) { + * case false: + * struct {}; + * case true: + * Extension extensions<0..2^16-1>; + * }; + * } ServerHello; + * + * @param c the connection. + * @param record the record. + * @param length the length of the handshake message. + */ +tls.handleServerHello = function(c, record, length) { + var msg = tls.parseHelloMessage(c, record, length); + if(c.fail) { + return; + } + + // ensure server version is compatible + if(msg.version.minor <= c.version.minor) { + c.version.minor = msg.version.minor; + } else { + return c.error(c, { + message: 'Incompatible TLS version.', + send: true, + alert: { + level: tls.Alert.Level.fatal, + description: tls.Alert.Description.protocol_version + } + }); + } + + // indicate session version has been set + c.session.version = c.version; + + // get the session ID from the message + var sessionId = msg.session_id.bytes(); + + // if the session ID is not blank and matches the cached one, resume + // the session + if(sessionId.length > 0 && sessionId === c.session.id) { + // resuming session, expect a ChangeCipherSpec next + c.expect = SCC; + c.session.resuming = true; + + // get new server random + c.session.sp.server_random = msg.random.bytes(); + } else { + // not resuming, expect a server Certificate message next + c.expect = SCE; + c.session.resuming = false; + + // create new security parameters + tls.createSecurityParameters(c, msg); + } + + // set new session ID + c.session.id = sessionId; + + // continue + c.process(); +}; + +/** + * Called when a server receives a ClientHello record. + * + * When a ClientHello message will be sent: + * When a client first connects to a server it is required to send the + * client hello as its first message. The client can also send a client + * hello in response to a hello request or on its own initiative in order + * to renegotiate the security parameters in an existing connection. + * + * @param c the connection. + * @param record the record. + * @param length the length of the handshake message. + */ +tls.handleClientHello = function(c, record, length) { + var msg = tls.parseHelloMessage(c, record, length); + if(c.fail) { + return; + } + + // get the session ID from the message + var sessionId = msg.session_id.bytes(); + + // see if the given session ID is in the cache + var session = null; + if(c.sessionCache) { + session = c.sessionCache.getSession(sessionId); + if(session === null) { + // session ID not found + sessionId = ''; + } else if(session.version.major !== msg.version.major || + session.version.minor > msg.version.minor) { + // if session version is incompatible with client version, do not resume + session = null; + sessionId = ''; + } + } + + // no session found to resume, generate a new session ID + if(sessionId.length === 0) { + sessionId = forge.random.getBytes(32); + } + + // update session + c.session.id = sessionId; + c.session.clientHelloVersion = msg.version; + c.session.sp = {}; + if(session) { + // use version and security parameters from resumed session + c.version = c.session.version = session.version; + c.session.sp = session.sp; + } else { + // use highest compatible minor version + var version; + for(var i = 1; i < tls.SupportedVersions.length; ++i) { + version = tls.SupportedVersions[i]; + if(version.minor <= msg.version.minor) { + break; + } + } + c.version = {major: version.major, minor: version.minor}; + c.session.version = c.version; + } + + // if a session is set, resume it + if(session !== null) { + // resuming session, expect a ChangeCipherSpec next + c.expect = CCC; + c.session.resuming = true; + + // get new client random + c.session.sp.client_random = msg.random.bytes(); + } else { + // not resuming, expect a Certificate or ClientKeyExchange + c.expect = (c.verifyClient !== false) ? CCE : CKE; + c.session.resuming = false; + + // create new security parameters + tls.createSecurityParameters(c, msg); + } + + // connection now open + c.open = true; + + // queue server hello + tls.queue(c, tls.createRecord(c, { + type: tls.ContentType.handshake, + data: tls.createServerHello(c) + })); + + if(c.session.resuming) { + // queue change cipher spec message + tls.queue(c, tls.createRecord(c, { + type: tls.ContentType.change_cipher_spec, + data: tls.createChangeCipherSpec() + })); + + // create pending state + c.state.pending = tls.createConnectionState(c); + + // change current write state to pending write state + c.state.current.write = c.state.pending.write; + + // queue finished + tls.queue(c, tls.createRecord(c, { + type: tls.ContentType.handshake, + data: tls.createFinished(c) + })); + } else { + // queue server certificate + tls.queue(c, tls.createRecord(c, { + type: tls.ContentType.handshake, + data: tls.createCertificate(c) + })); + + if(!c.fail) { + // queue server key exchange + tls.queue(c, tls.createRecord(c, { + type: tls.ContentType.handshake, + data: tls.createServerKeyExchange(c) + })); + + // request client certificate if set + if(c.verifyClient !== false) { + // queue certificate request + tls.queue(c, tls.createRecord(c, { + type: tls.ContentType.handshake, + data: tls.createCertificateRequest(c) + })); + } + + // queue server hello done + tls.queue(c, tls.createRecord(c, { + type: tls.ContentType.handshake, + data: tls.createServerHelloDone(c) + })); + } + } + + // send records + tls.flush(c); + + // continue + c.process(); +}; + +/** + * Called when a client receives a Certificate record. + * + * When this message will be sent: + * The server must send a certificate whenever the agreed-upon key exchange + * method is not an anonymous one. This message will always immediately + * follow the server hello message. + * + * Meaning of this message: + * The certificate type must be appropriate for the selected cipher suite's + * key exchange algorithm, and is generally an X.509v3 certificate. It must + * contain a key which matches the key exchange method, as follows. Unless + * otherwise specified, the signing algorithm for the certificate must be + * the same as the algorithm for the certificate key. Unless otherwise + * specified, the public key may be of any length. + * + * opaque ASN.1Cert<1..2^24-1>; + * struct { + * ASN.1Cert certificate_list<1..2^24-1>; + * } Certificate; + * + * @param c the connection. + * @param record the record. + * @param length the length of the handshake message. + */ +tls.handleCertificate = function(c, record, length) { + // minimum of 3 bytes in message + if(length < 3) { + return c.error(c, { + message: 'Invalid Certificate message. Message too short.', + send: true, + alert: { + level: tls.Alert.Level.fatal, + description: tls.Alert.Description.illegal_parameter + } + }); + } + + var b = record.fragment; + var msg = { + certificate_list: readVector(b, 3) + }; + + /* The sender's certificate will be first in the list (chain), each + subsequent one that follows will certify the previous one, but root + certificates (self-signed) that specify the certificate authority may + be omitted under the assumption that clients must already possess it. */ + var cert, asn1; + var certs = []; + try { + while(msg.certificate_list.length() > 0) { + // each entry in msg.certificate_list is a vector with 3 len bytes + cert = readVector(msg.certificate_list, 3); + asn1 = forge.asn1.fromDer(cert); + cert = forge.pki.certificateFromAsn1(asn1, true); + certs.push(cert); + } + } catch(ex) { + return c.error(c, { + message: 'Could not parse certificate list.', + cause: ex, + send: true, + alert: { + level: tls.Alert.Level.fatal, + description: tls.Alert.Description.bad_certificate + } + }); + } + + // ensure at least 1 certificate was provided if in client-mode + // or if verifyClient was set to true to require a certificate + // (as opposed to 'optional') + var client = (c.entity === tls.ConnectionEnd.client); + if((client || c.verifyClient === true) && certs.length === 0) { + // error, no certificate + c.error(c, { + message: client ? + 'No server certificate provided.' : + 'No client certificate provided.', + send: true, + alert: { + level: tls.Alert.Level.fatal, + description: tls.Alert.Description.illegal_parameter + } + }); + } else if(certs.length === 0) { + // no certs to verify + // expect a ServerKeyExchange or ClientKeyExchange message next + c.expect = client ? SKE : CKE; + } else { + // save certificate in session + if(client) { + c.session.serverCertificate = certs[0]; + } else { + c.session.clientCertificate = certs[0]; + } + + if(tls.verifyCertificateChain(c, certs)) { + // expect a ServerKeyExchange or ClientKeyExchange message next + c.expect = client ? SKE : CKE; + } + } + + // continue + c.process(); +}; + +/** + * Called when a client receives a ServerKeyExchange record. + * + * When this message will be sent: + * This message will be sent immediately after the server certificate + * message (or the server hello message, if this is an anonymous + * negotiation). + * + * The server key exchange message is sent by the server only when the + * server certificate message (if sent) does not contain enough data to + * allow the client to exchange a premaster secret. + * + * Meaning of this message: + * This message conveys cryptographic information to allow the client to + * communicate the premaster secret: either an RSA public key to encrypt + * the premaster secret with, or a Diffie-Hellman public key with which the + * client can complete a key exchange (with the result being the premaster + * secret.) + * + * enum { + * dhe_dss, dhe_rsa, dh_anon, rsa, dh_dss, dh_rsa + * } KeyExchangeAlgorithm; + * + * struct { + * opaque dh_p<1..2^16-1>; + * opaque dh_g<1..2^16-1>; + * opaque dh_Ys<1..2^16-1>; + * } ServerDHParams; + * + * struct { + * select(KeyExchangeAlgorithm) { + * case dh_anon: + * ServerDHParams params; + * case dhe_dss: + * case dhe_rsa: + * ServerDHParams params; + * digitally-signed struct { + * opaque client_random[32]; + * opaque server_random[32]; + * ServerDHParams params; + * } signed_params; + * case rsa: + * case dh_dss: + * case dh_rsa: + * struct {}; + * }; + * } ServerKeyExchange; + * + * @param c the connection. + * @param record the record. + * @param length the length of the handshake message. + */ +tls.handleServerKeyExchange = function(c, record, length) { + // this implementation only supports RSA, no Diffie-Hellman support + // so any length > 0 is invalid + if(length > 0) { + return c.error(c, { + message: 'Invalid key parameters. Only RSA is supported.', + send: true, + alert: { + level: tls.Alert.Level.fatal, + description: tls.Alert.Description.unsupported_certificate + } + }); + } + + // expect an optional CertificateRequest message next + c.expect = SCR; + + // continue + c.process(); +}; + +/** + * Called when a client receives a ClientKeyExchange record. + * + * @param c the connection. + * @param record the record. + * @param length the length of the handshake message. + */ +tls.handleClientKeyExchange = function(c, record, length) { + // this implementation only supports RSA, no Diffie-Hellman support + // so any length < 48 is invalid + if(length < 48) { + return c.error(c, { + message: 'Invalid key parameters. Only RSA is supported.', + send: true, + alert: { + level: tls.Alert.Level.fatal, + description: tls.Alert.Description.unsupported_certificate + } + }); + } + + var b = record.fragment; + var msg = { + enc_pre_master_secret: readVector(b, 2).getBytes() + }; + + // do rsa decryption + var privateKey = null; + if(c.getPrivateKey) { + try { + privateKey = c.getPrivateKey(c, c.session.serverCertificate); + privateKey = forge.pki.privateKeyFromPem(privateKey); + } catch(ex) { + c.error(c, { + message: 'Could not get private key.', + cause: ex, + send: true, + alert: { + level: tls.Alert.Level.fatal, + description: tls.Alert.Description.internal_error + } + }); + } + } + + if(privateKey === null) { + return c.error(c, { + message: 'No private key set.', + send: true, + alert: { + level: tls.Alert.Level.fatal, + description: tls.Alert.Description.internal_error + } + }); + } + + try { + // decrypt 48-byte pre-master secret + var sp = c.session.sp; + sp.pre_master_secret = privateKey.decrypt(msg.enc_pre_master_secret); + + // ensure client hello version matches first 2 bytes + var version = c.session.clientHelloVersion; + if(version.major !== sp.pre_master_secret.charCodeAt(0) || + version.minor !== sp.pre_master_secret.charCodeAt(1)) { + // error, do not send alert (see BLEI attack below) + throw new Error('TLS version rollback attack detected.'); + } + } catch(ex) { + /* Note: Daniel Bleichenbacher [BLEI] can be used to attack a + TLS server which is using PKCS#1 encoded RSA, so instead of + failing here, we generate 48 random bytes and use that as + the pre-master secret. */ + sp.pre_master_secret = forge.random.getBytes(48); + } + + // expect a CertificateVerify message if a Certificate was received that + // does not have fixed Diffie-Hellman params, otherwise expect + // ChangeCipherSpec + c.expect = CCC; + if(c.session.clientCertificate !== null) { + // only RSA support, so expect CertificateVerify + // TODO: support Diffie-Hellman + c.expect = CCV; + } + + // continue + c.process(); +}; + +/** + * Called when a client receives a CertificateRequest record. + * + * When this message will be sent: + * A non-anonymous server can optionally request a certificate from the + * client, if appropriate for the selected cipher suite. This message, if + * sent, will immediately follow the Server Key Exchange message (if it is + * sent; otherwise, the Server Certificate message). + * + * enum { + * rsa_sign(1), dss_sign(2), rsa_fixed_dh(3), dss_fixed_dh(4), + * rsa_ephemeral_dh_RESERVED(5), dss_ephemeral_dh_RESERVED(6), + * fortezza_dms_RESERVED(20), (255) + * } ClientCertificateType; + * + * opaque DistinguishedName<1..2^16-1>; + * + * struct { + * ClientCertificateType certificate_types<1..2^8-1>; + * SignatureAndHashAlgorithm supported_signature_algorithms<2^16-1>; + * DistinguishedName certificate_authorities<0..2^16-1>; + * } CertificateRequest; + * + * @param c the connection. + * @param record the record. + * @param length the length of the handshake message. + */ +tls.handleCertificateRequest = function(c, record, length) { + // minimum of 3 bytes in message + if(length < 3) { + return c.error(c, { + message: 'Invalid CertificateRequest. Message too short.', + send: true, + alert: { + level: tls.Alert.Level.fatal, + description: tls.Alert.Description.illegal_parameter + } + }); + } + + // TODO: TLS 1.2+ has different format including + // SignatureAndHashAlgorithm after cert types + var b = record.fragment; + var msg = { + certificate_types: readVector(b, 1), + certificate_authorities: readVector(b, 2) + }; + + // save certificate request in session + c.session.certificateRequest = msg; + + // expect a ServerHelloDone message next + c.expect = SHD; + + // continue + c.process(); +}; + +/** + * Called when a server receives a CertificateVerify record. + * + * @param c the connection. + * @param record the record. + * @param length the length of the handshake message. + */ +tls.handleCertificateVerify = function(c, record, length) { + if(length < 2) { + return c.error(c, { + message: 'Invalid CertificateVerify. Message too short.', + send: true, + alert: { + level: tls.Alert.Level.fatal, + description: tls.Alert.Description.illegal_parameter + } + }); + } + + // rewind to get full bytes for message so it can be manually + // digested below (special case for CertificateVerify messages because + // they must be digested *after* handling as opposed to all others) + var b = record.fragment; + b.read -= 4; + var msgBytes = b.bytes(); + b.read += 4; + + var msg = { + signature: readVector(b, 2).getBytes() + }; + + // TODO: add support for DSA + + // generate data to verify + var verify = forge.util.createBuffer(); + verify.putBuffer(c.session.md5.digest()); + verify.putBuffer(c.session.sha1.digest()); + verify = verify.getBytes(); + + try { + var cert = c.session.clientCertificate; + /*b = forge.pki.rsa.decrypt( + msg.signature, cert.publicKey, true, verify.length); + if(b !== verify) {*/ + if(!cert.publicKey.verify(verify, msg.signature, 'NONE')) { + throw new Error('CertificateVerify signature does not match.'); + } + + // digest message now that it has been handled + c.session.md5.update(msgBytes); + c.session.sha1.update(msgBytes); + } catch(ex) { + return c.error(c, { + message: 'Bad signature in CertificateVerify.', + send: true, + alert: { + level: tls.Alert.Level.fatal, + description: tls.Alert.Description.handshake_failure + } + }); + } + + // expect ChangeCipherSpec + c.expect = CCC; + + // continue + c.process(); +}; + +/** + * Called when a client receives a ServerHelloDone record. + * + * When this message will be sent: + * The server hello done message is sent by the server to indicate the end + * of the server hello and associated messages. After sending this message + * the server will wait for a client response. + * + * Meaning of this message: + * This message means that the server is done sending messages to support + * the key exchange, and the client can proceed with its phase of the key + * exchange. + * + * Upon receipt of the server hello done message the client should verify + * that the server provided a valid certificate if required and check that + * the server hello parameters are acceptable. + * + * struct {} ServerHelloDone; + * + * @param c the connection. + * @param record the record. + * @param length the length of the handshake message. + */ +tls.handleServerHelloDone = function(c, record, length) { + // len must be 0 bytes + if(length > 0) { + return c.error(c, { + message: 'Invalid ServerHelloDone message. Invalid length.', + send: true, + alert: { + level: tls.Alert.Level.fatal, + description: tls.Alert.Description.record_overflow + } + }); + } + + if(c.serverCertificate === null) { + // no server certificate was provided + var error = { + message: 'No server certificate provided. Not enough security.', + send: true, + alert: { + level: tls.Alert.Level.fatal, + description: tls.Alert.Description.insufficient_security + } + }; + + // call application callback + var depth = 0; + var ret = c.verify(c, error.alert.description, depth, []); + if(ret !== true) { + // check for custom alert info + if(ret || ret === 0) { + // set custom message and alert description + if(typeof ret === 'object' && !forge.util.isArray(ret)) { + if(ret.message) { + error.message = ret.message; + } + if(ret.alert) { + error.alert.description = ret.alert; + } + } else if(typeof ret === 'number') { + // set custom alert description + error.alert.description = ret; + } + } + + // send error + return c.error(c, error); + } + } + + // create client certificate message if requested + if(c.session.certificateRequest !== null) { + record = tls.createRecord(c, { + type: tls.ContentType.handshake, + data: tls.createCertificate(c) + }); + tls.queue(c, record); + } + + // create client key exchange message + record = tls.createRecord(c, { + type: tls.ContentType.handshake, + data: tls.createClientKeyExchange(c) + }); + tls.queue(c, record); + + // expect no messages until the following callback has been called + c.expect = SER; + + // create callback to handle client signature (for client-certs) + var callback = function(c, signature) { + if(c.session.certificateRequest !== null && + c.session.clientCertificate !== null) { + // create certificate verify message + tls.queue(c, tls.createRecord(c, { + type: tls.ContentType.handshake, + data: tls.createCertificateVerify(c, signature) + })); + } + + // create change cipher spec message + tls.queue(c, tls.createRecord(c, { + type: tls.ContentType.change_cipher_spec, + data: tls.createChangeCipherSpec() + })); + + // create pending state + c.state.pending = tls.createConnectionState(c); + + // change current write state to pending write state + c.state.current.write = c.state.pending.write; + + // create finished message + tls.queue(c, tls.createRecord(c, { + type: tls.ContentType.handshake, + data: tls.createFinished(c) + })); + + // expect a server ChangeCipherSpec message next + c.expect = SCC; + + // send records + tls.flush(c); + + // continue + c.process(); + }; + + // if there is no certificate request or no client certificate, do + // callback immediately + if(c.session.certificateRequest === null || + c.session.clientCertificate === null) { + return callback(c, null); + } + + // otherwise get the client signature + tls.getClientSignature(c, callback); +}; + +/** + * Called when a ChangeCipherSpec record is received. + * + * @param c the connection. + * @param record the record. + */ +tls.handleChangeCipherSpec = function(c, record) { + if(record.fragment.getByte() !== 0x01) { + return c.error(c, { + message: 'Invalid ChangeCipherSpec message received.', + send: true, + alert: { + level: tls.Alert.Level.fatal, + description: tls.Alert.Description.illegal_parameter + } + }); + } + + // create pending state if: + // 1. Resuming session in client mode OR + // 2. NOT resuming session in server mode + var client = (c.entity === tls.ConnectionEnd.client); + if((c.session.resuming && client) || (!c.session.resuming && !client)) { + c.state.pending = tls.createConnectionState(c); + } + + // change current read state to pending read state + c.state.current.read = c.state.pending.read; + + // clear pending state if: + // 1. NOT resuming session in client mode OR + // 2. resuming a session in server mode + if((!c.session.resuming && client) || (c.session.resuming && !client)) { + c.state.pending = null; + } + + // expect a Finished record next + c.expect = client ? SFI : CFI; + + // continue + c.process(); +}; + +/** + * Called when a Finished record is received. + * + * When this message will be sent: + * A finished message is always sent immediately after a change + * cipher spec message to verify that the key exchange and + * authentication processes were successful. It is essential that a + * change cipher spec message be received between the other + * handshake messages and the Finished message. + * + * Meaning of this message: + * The finished message is the first protected with the just- + * negotiated algorithms, keys, and secrets. Recipients of finished + * messages must verify that the contents are correct. Once a side + * has sent its Finished message and received and validated the + * Finished message from its peer, it may begin to send and receive + * application data over the connection. + * + * struct { + * opaque verify_data[verify_data_length]; + * } Finished; + * + * verify_data + * PRF(master_secret, finished_label, Hash(handshake_messages)) + * [0..verify_data_length-1]; + * + * finished_label + * For Finished messages sent by the client, the string + * "client finished". For Finished messages sent by the server, the + * string "server finished". + * + * verify_data_length depends on the cipher suite. If it is not specified + * by the cipher suite, then it is 12. Versions of TLS < 1.2 always used + * 12 bytes. + * + * @param c the connection. + * @param record the record. + * @param length the length of the handshake message. + */ +tls.handleFinished = function(c, record, length) { + // rewind to get full bytes for message so it can be manually + // digested below (special case for Finished messages because they + // must be digested *after* handling as opposed to all others) + var b = record.fragment; + b.read -= 4; + var msgBytes = b.bytes(); + b.read += 4; + + // message contains only verify_data + var vd = record.fragment.getBytes(); + + // ensure verify data is correct + b = forge.util.createBuffer(); + b.putBuffer(c.session.md5.digest()); + b.putBuffer(c.session.sha1.digest()); + + // set label based on entity type + var client = (c.entity === tls.ConnectionEnd.client); + var label = client ? 'server finished' : 'client finished'; + + // TODO: determine prf function and verify length for TLS 1.2 + var sp = c.session.sp; + var vdl = 12; + var prf = prf_TLS1; + b = prf(sp.master_secret, label, b.getBytes(), vdl); + if(b.getBytes() !== vd) { + return c.error(c, { + message: 'Invalid verify_data in Finished message.', + send: true, + alert: { + level: tls.Alert.Level.fatal, + description: tls.Alert.Description.decrypt_error + } + }); + } + + // digest finished message now that it has been handled + c.session.md5.update(msgBytes); + c.session.sha1.update(msgBytes); + + // resuming session as client or NOT resuming session as server + if((c.session.resuming && client) || (!c.session.resuming && !client)) { + // create change cipher spec message + tls.queue(c, tls.createRecord(c, { + type: tls.ContentType.change_cipher_spec, + data: tls.createChangeCipherSpec() + })); + + // change current write state to pending write state, clear pending + c.state.current.write = c.state.pending.write; + c.state.pending = null; + + // create finished message + tls.queue(c, tls.createRecord(c, { + type: tls.ContentType.handshake, + data: tls.createFinished(c) + })); + } + + // expect application data next + c.expect = client ? SAD : CAD; + + // handshake complete + c.handshaking = false; + ++c.handshakes; + + // save access to peer certificate + c.peerCertificate = client ? + c.session.serverCertificate : c.session.clientCertificate; + + // send records + tls.flush(c); + + // now connected + c.isConnected = true; + c.connected(c); + + // continue + c.process(); +}; + +/** + * Called when an Alert record is received. + * + * @param c the connection. + * @param record the record. + */ +tls.handleAlert = function(c, record) { + // read alert + var b = record.fragment; + var alert = { + level: b.getByte(), + description: b.getByte() + }; + + // TODO: consider using a table? + // get appropriate message + var msg; + switch(alert.description) { + case tls.Alert.Description.close_notify: + msg = 'Connection closed.'; + break; + case tls.Alert.Description.unexpected_message: + msg = 'Unexpected message.'; + break; + case tls.Alert.Description.bad_record_mac: + msg = 'Bad record MAC.'; + break; + case tls.Alert.Description.decryption_failed: + msg = 'Decryption failed.'; + break; + case tls.Alert.Description.record_overflow: + msg = 'Record overflow.'; + break; + case tls.Alert.Description.decompression_failure: + msg = 'Decompression failed.'; + break; + case tls.Alert.Description.handshake_failure: + msg = 'Handshake failure.'; + break; + case tls.Alert.Description.bad_certificate: + msg = 'Bad certificate.'; + break; + case tls.Alert.Description.unsupported_certificate: + msg = 'Unsupported certificate.'; + break; + case tls.Alert.Description.certificate_revoked: + msg = 'Certificate revoked.'; + break; + case tls.Alert.Description.certificate_expired: + msg = 'Certificate expired.'; + break; + case tls.Alert.Description.certificate_unknown: + msg = 'Certificate unknown.'; + break; + case tls.Alert.Description.illegal_parameter: + msg = 'Illegal parameter.'; + break; + case tls.Alert.Description.unknown_ca: + msg = 'Unknown certificate authority.'; + break; + case tls.Alert.Description.access_denied: + msg = 'Access denied.'; + break; + case tls.Alert.Description.decode_error: + msg = 'Decode error.'; + break; + case tls.Alert.Description.decrypt_error: + msg = 'Decrypt error.'; + break; + case tls.Alert.Description.export_restriction: + msg = 'Export restriction.'; + break; + case tls.Alert.Description.protocol_version: + msg = 'Unsupported protocol version.'; + break; + case tls.Alert.Description.insufficient_security: + msg = 'Insufficient security.'; + break; + case tls.Alert.Description.internal_error: + msg = 'Internal error.'; + break; + case tls.Alert.Description.user_canceled: + msg = 'User canceled.'; + break; + case tls.Alert.Description.no_renegotiation: + msg = 'Renegotiation not supported.'; + break; + default: + msg = 'Unknown error.'; + break; + } + + // close connection on close_notify, not an error + if(alert.description === tls.Alert.Description.close_notify) { + return c.close(); + } + + // call error handler + c.error(c, { + message: msg, + send: false, + // origin is the opposite end + origin: (c.entity === tls.ConnectionEnd.client) ? 'server' : 'client', + alert: alert + }); + + // continue + c.process(); +}; + +/** + * Called when a Handshake record is received. + * + * @param c the connection. + * @param record the record. + */ +tls.handleHandshake = function(c, record) { + // get the handshake type and message length + var b = record.fragment; + var type = b.getByte(); + var length = b.getInt24(); + + // see if the record fragment doesn't yet contain the full message + if(length > b.length()) { + // cache the record, clear its fragment, and reset the buffer read + // pointer before the type and length were read + c.fragmented = record; + record.fragment = forge.util.createBuffer(); + b.read -= 4; + + // continue + return c.process(); + } + + // full message now available, clear cache, reset read pointer to + // before type and length + c.fragmented = null; + b.read -= 4; + + // save the handshake bytes for digestion after handler is found + // (include type and length of handshake msg) + var bytes = b.bytes(length + 4); + + // restore read pointer + b.read += 4; + + // handle expected message + if(type in hsTable[c.entity][c.expect]) { + // initialize server session + if(c.entity === tls.ConnectionEnd.server && !c.open && !c.fail) { + c.handshaking = true; + c.session = { + version: null, + extensions: { + server_name: { + serverNameList: [] + } + }, + cipherSuite: null, + compressionMethod: null, + serverCertificate: null, + clientCertificate: null, + md5: forge.md.md5.create(), + sha1: forge.md.sha1.create() + }; + } + + /* Update handshake messages digest. Finished and CertificateVerify + messages are not digested here. They can't be digested as part of + the verify_data that they contain. These messages are manually + digested in their handlers. HelloRequest messages are simply never + included in the handshake message digest according to spec. */ + if(type !== tls.HandshakeType.hello_request && + type !== tls.HandshakeType.certificate_verify && + type !== tls.HandshakeType.finished) { + c.session.md5.update(bytes); + c.session.sha1.update(bytes); + } + + // handle specific handshake type record + hsTable[c.entity][c.expect][type](c, record, length); + } else { + // unexpected record + tls.handleUnexpected(c, record); + } +}; + +/** + * Called when an ApplicationData record is received. + * + * @param c the connection. + * @param record the record. + */ +tls.handleApplicationData = function(c, record) { + // buffer data, notify that its ready + c.data.putBuffer(record.fragment); + c.dataReady(c); + + // continue + c.process(); +}; + +/** + * Called when a Heartbeat record is received. + * + * @param c the connection. + * @param record the record. + */ +tls.handleHeartbeat = function(c, record) { + // get the heartbeat type and payload + var b = record.fragment; + var type = b.getByte(); + var length = b.getInt16(); + var payload = b.getBytes(length); + + if(type === tls.HeartbeatMessageType.heartbeat_request) { + // discard request during handshake or if length is too large + if(c.handshaking || length > payload.length) { + // continue + return c.process(); + } + // retransmit payload + tls.queue(c, tls.createRecord(c, { + type: tls.ContentType.heartbeat, + data: tls.createHeartbeat( + tls.HeartbeatMessageType.heartbeat_response, payload) + })); + tls.flush(c); + } else if(type === tls.HeartbeatMessageType.heartbeat_response) { + // check payload against expected payload, discard heartbeat if no match + if(payload !== c.expectedHeartbeatPayload) { + // continue + return c.process(); + } + + // notify that a valid heartbeat was received + if(c.heartbeatReceived) { + c.heartbeatReceived(c, forge.util.createBuffer(payload)); + } + } + + // continue + c.process(); +}; + +/** + * The transistional state tables for receiving TLS records. It maps the + * current TLS engine state and a received record to a function to handle the + * record and update the state. + * + * For instance, if the current state is SHE, then the TLS engine is expecting + * a ServerHello record. Once a record is received, the handler function is + * looked up using the state SHE and the record's content type. + * + * The resulting function will either be an error handler or a record handler. + * The function will take whatever action is appropriate and update the state + * for the next record. + * + * The states are all based on possible server record types. Note that the + * client will never specifically expect to receive a HelloRequest or an alert + * from the server so there is no state that reflects this. These messages may + * occur at any time. + * + * There are two tables for mapping states because there is a second tier of + * types for handshake messages. Once a record with a content type of handshake + * is received, the handshake record handler will look up the handshake type in + * the secondary map to get its appropriate handler. + * + * Valid message orders are as follows: + * + * =======================FULL HANDSHAKE====================== + * Client Server + * + * ClientHello --------> + * ServerHello + * Certificate* + * ServerKeyExchange* + * CertificateRequest* + * <-------- ServerHelloDone + * Certificate* + * ClientKeyExchange + * CertificateVerify* + * [ChangeCipherSpec] + * Finished --------> + * [ChangeCipherSpec] + * <-------- Finished + * Application Data <-------> Application Data + * + * =====================SESSION RESUMPTION===================== + * Client Server + * + * ClientHello --------> + * ServerHello + * [ChangeCipherSpec] + * <-------- Finished + * [ChangeCipherSpec] + * Finished --------> + * Application Data <-------> Application Data + */ +// client expect states (indicate which records are expected to be received) +var SHE = 0; // rcv server hello +var SCE = 1; // rcv server certificate +var SKE = 2; // rcv server key exchange +var SCR = 3; // rcv certificate request +var SHD = 4; // rcv server hello done +var SCC = 5; // rcv change cipher spec +var SFI = 6; // rcv finished +var SAD = 7; // rcv application data +var SER = 8; // not expecting any messages at this point + +// server expect states +var CHE = 0; // rcv client hello +var CCE = 1; // rcv client certificate +var CKE = 2; // rcv client key exchange +var CCV = 3; // rcv certificate verify +var CCC = 4; // rcv change cipher spec +var CFI = 5; // rcv finished +var CAD = 6; // rcv application data +var CER = 7; // not expecting any messages at this point + +// map client current expect state and content type to function +var __ = tls.handleUnexpected; +var R0 = tls.handleChangeCipherSpec; +var R1 = tls.handleAlert; +var R2 = tls.handleHandshake; +var R3 = tls.handleApplicationData; +var R4 = tls.handleHeartbeat; +var ctTable = []; +ctTable[tls.ConnectionEnd.client] = [ +// CC,AL,HS,AD,HB +/*SHE*/[__,R1,R2,__,R4], +/*SCE*/[__,R1,R2,__,R4], +/*SKE*/[__,R1,R2,__,R4], +/*SCR*/[__,R1,R2,__,R4], +/*SHD*/[__,R1,R2,__,R4], +/*SCC*/[R0,R1,__,__,R4], +/*SFI*/[__,R1,R2,__,R4], +/*SAD*/[__,R1,R2,R3,R4], +/*SER*/[__,R1,R2,__,R4] +]; + +// map server current expect state and content type to function +ctTable[tls.ConnectionEnd.server] = [ +// CC,AL,HS,AD +/*CHE*/[__,R1,R2,__,R4], +/*CCE*/[__,R1,R2,__,R4], +/*CKE*/[__,R1,R2,__,R4], +/*CCV*/[__,R1,R2,__,R4], +/*CCC*/[R0,R1,__,__,R4], +/*CFI*/[__,R1,R2,__,R4], +/*CAD*/[__,R1,R2,R3,R4], +/*CER*/[__,R1,R2,__,R4] +]; + +// map client current expect state and handshake type to function +var H0 = tls.handleHelloRequest; +var H1 = tls.handleServerHello; +var H2 = tls.handleCertificate; +var H3 = tls.handleServerKeyExchange; +var H4 = tls.handleCertificateRequest; +var H5 = tls.handleServerHelloDone; +var H6 = tls.handleFinished; +var hsTable = []; +hsTable[tls.ConnectionEnd.client] = [ +// HR,01,SH,03,04,05,06,07,08,09,10,SC,SK,CR,HD,15,CK,17,18,19,FI +/*SHE*/[__,__,H1,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__], +/*SCE*/[H0,__,__,__,__,__,__,__,__,__,__,H2,H3,H4,H5,__,__,__,__,__,__], +/*SKE*/[H0,__,__,__,__,__,__,__,__,__,__,__,H3,H4,H5,__,__,__,__,__,__], +/*SCR*/[H0,__,__,__,__,__,__,__,__,__,__,__,__,H4,H5,__,__,__,__,__,__], +/*SHD*/[H0,__,__,__,__,__,__,__,__,__,__,__,__,__,H5,__,__,__,__,__,__], +/*SCC*/[H0,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__], +/*SFI*/[H0,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,H6], +/*SAD*/[H0,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__], +/*SER*/[H0,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__] +]; + +// map server current expect state and handshake type to function +// Note: CAD[CH] does not map to FB because renegotation is prohibited +var H7 = tls.handleClientHello; +var H8 = tls.handleClientKeyExchange; +var H9 = tls.handleCertificateVerify; +hsTable[tls.ConnectionEnd.server] = [ +// 01,CH,02,03,04,05,06,07,08,09,10,CC,12,13,14,CV,CK,17,18,19,FI +/*CHE*/[__,H7,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__], +/*CCE*/[__,__,__,__,__,__,__,__,__,__,__,H2,__,__,__,__,__,__,__,__,__], +/*CKE*/[__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,H8,__,__,__,__], +/*CCV*/[__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,H9,__,__,__,__,__], +/*CCC*/[__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__], +/*CFI*/[__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,H6], +/*CAD*/[__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__], +/*CER*/[__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__] +]; + +/** + * Generates the master_secret and keys using the given security parameters. + * + * The security parameters for a TLS connection state are defined as such: + * + * struct { + * ConnectionEnd entity; + * PRFAlgorithm prf_algorithm; + * BulkCipherAlgorithm bulk_cipher_algorithm; + * CipherType cipher_type; + * uint8 enc_key_length; + * uint8 block_length; + * uint8 fixed_iv_length; + * uint8 record_iv_length; + * MACAlgorithm mac_algorithm; + * uint8 mac_length; + * uint8 mac_key_length; + * CompressionMethod compression_algorithm; + * opaque master_secret[48]; + * opaque client_random[32]; + * opaque server_random[32]; + * } SecurityParameters; + * + * Note that this definition is from TLS 1.2. In TLS 1.0 some of these + * parameters are ignored because, for instance, the PRFAlgorithm is a + * builtin-fixed algorithm combining iterations of MD5 and SHA-1 in TLS 1.0. + * + * The Record Protocol requires an algorithm to generate keys required by the + * current connection state. + * + * The master secret is expanded into a sequence of secure bytes, which is then + * split to a client write MAC key, a server write MAC key, a client write + * encryption key, and a server write encryption key. In TLS 1.0 a client write + * IV and server write IV are also generated. Each of these is generated from + * the byte sequence in that order. Unused values are empty. In TLS 1.2, some + * AEAD ciphers may additionally require a client write IV and a server write + * IV (see Section 6.2.3.3). + * + * When keys, MAC keys, and IVs are generated, the master secret is used as an + * entropy source. + * + * To generate the key material, compute: + * + * master_secret = PRF(pre_master_secret, "master secret", + * ClientHello.random + ServerHello.random) + * + * key_block = PRF(SecurityParameters.master_secret, + * "key expansion", + * SecurityParameters.server_random + + * SecurityParameters.client_random); + * + * until enough output has been generated. Then, the key_block is + * partitioned as follows: + * + * client_write_MAC_key[SecurityParameters.mac_key_length] + * server_write_MAC_key[SecurityParameters.mac_key_length] + * client_write_key[SecurityParameters.enc_key_length] + * server_write_key[SecurityParameters.enc_key_length] + * client_write_IV[SecurityParameters.fixed_iv_length] + * server_write_IV[SecurityParameters.fixed_iv_length] + * + * In TLS 1.2, the client_write_IV and server_write_IV are only generated for + * implicit nonce techniques as described in Section 3.2.1 of [AEAD]. This + * implementation uses TLS 1.0 so IVs are generated. + * + * Implementation note: The currently defined cipher suite which requires the + * most material is AES_256_CBC_SHA256. It requires 2 x 32 byte keys and 2 x 32 + * byte MAC keys, for a total 128 bytes of key material. In TLS 1.0 it also + * requires 2 x 16 byte IVs, so it actually takes 160 bytes of key material. + * + * @param c the connection. + * @param sp the security parameters to use. + * + * @return the security keys. + */ +tls.generateKeys = function(c, sp) { + // TLS_RSA_WITH_AES_128_CBC_SHA (required to be compliant with TLS 1.2) & + // TLS_RSA_WITH_AES_256_CBC_SHA are the only cipher suites implemented + // at present + + // TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA is required to be compliant with + // TLS 1.0 but we don't care right now because AES is better and we have + // an implementation for it + + // TODO: TLS 1.2 implementation + /* + // determine the PRF + var prf; + switch(sp.prf_algorithm) { + case tls.PRFAlgorithm.tls_prf_sha256: + prf = prf_sha256; + break; + default: + // should never happen + throw new Error('Invalid PRF'); + } + */ + + // TLS 1.0/1.1 implementation + var prf = prf_TLS1; + + // concatenate server and client random + var random = sp.client_random + sp.server_random; + + // only create master secret if session is new + if(!c.session.resuming) { + // create master secret, clean up pre-master secret + sp.master_secret = prf( + sp.pre_master_secret, 'master secret', random, 48).bytes(); + sp.pre_master_secret = null; + } + + // generate the amount of key material needed + random = sp.server_random + sp.client_random; + var length = 2 * sp.mac_key_length + 2 * sp.enc_key_length; + + // include IV for TLS/1.0 + var tls10 = (c.version.major === tls.Versions.TLS_1_0.major && + c.version.minor === tls.Versions.TLS_1_0.minor); + if(tls10) { + length += 2 * sp.fixed_iv_length; + } + var km = prf(sp.master_secret, 'key expansion', random, length); + + // split the key material into the MAC and encryption keys + var rval = { + client_write_MAC_key: km.getBytes(sp.mac_key_length), + server_write_MAC_key: km.getBytes(sp.mac_key_length), + client_write_key: km.getBytes(sp.enc_key_length), + server_write_key: km.getBytes(sp.enc_key_length) + }; + + // include TLS 1.0 IVs + if(tls10) { + rval.client_write_IV = km.getBytes(sp.fixed_iv_length); + rval.server_write_IV = km.getBytes(sp.fixed_iv_length); + } + + return rval; +}; + +/** + * Creates a new initialized TLS connection state. A connection state has + * a read mode and a write mode. + * + * compression state: + * The current state of the compression algorithm. + * + * cipher state: + * The current state of the encryption algorithm. This will consist of the + * scheduled key for that connection. For stream ciphers, this will also + * contain whatever state information is necessary to allow the stream to + * continue to encrypt or decrypt data. + * + * MAC key: + * The MAC key for the connection. + * + * sequence number: + * Each connection state contains a sequence number, which is maintained + * separately for read and write states. The sequence number MUST be set to + * zero whenever a connection state is made the active state. Sequence + * numbers are of type uint64 and may not exceed 2^64-1. Sequence numbers do + * not wrap. If a TLS implementation would need to wrap a sequence number, + * it must renegotiate instead. A sequence number is incremented after each + * record: specifically, the first record transmitted under a particular + * connection state MUST use sequence number 0. + * + * @param c the connection. + * + * @return the new initialized TLS connection state. + */ +tls.createConnectionState = function(c) { + var client = (c.entity === tls.ConnectionEnd.client); + + var createMode = function() { + var mode = { + // two 32-bit numbers, first is most significant + sequenceNumber: [0, 0], + macKey: null, + macLength: 0, + macFunction: null, + cipherState: null, + cipherFunction: function(record) {return true;}, + compressionState: null, + compressFunction: function(record) {return true;}, + updateSequenceNumber: function() { + if(mode.sequenceNumber[1] === 0xFFFFFFFF) { + mode.sequenceNumber[1] = 0; + ++mode.sequenceNumber[0]; + } else { + ++mode.sequenceNumber[1]; + } + } + }; + return mode; + }; + var state = { + read: createMode(), + write: createMode() + }; + + // update function in read mode will decrypt then decompress a record + state.read.update = function(c, record) { + if(!state.read.cipherFunction(record, state.read)) { + c.error(c, { + message: 'Could not decrypt record or bad MAC.', + send: true, + alert: { + level: tls.Alert.Level.fatal, + // doesn't matter if decryption failed or MAC was + // invalid, return the same error so as not to reveal + // which one occurred + description: tls.Alert.Description.bad_record_mac + } + }); + } else if(!state.read.compressFunction(c, record, state.read)) { + c.error(c, { + message: 'Could not decompress record.', + send: true, + alert: { + level: tls.Alert.Level.fatal, + description: tls.Alert.Description.decompression_failure + } + }); + } + return !c.fail; + }; + + // update function in write mode will compress then encrypt a record + state.write.update = function(c, record) { + if(!state.write.compressFunction(c, record, state.write)) { + // error, but do not send alert since it would require + // compression as well + c.error(c, { + message: 'Could not compress record.', + send: false, + alert: { + level: tls.Alert.Level.fatal, + description: tls.Alert.Description.internal_error + } + }); + } else if(!state.write.cipherFunction(record, state.write)) { + // error, but do not send alert since it would require + // encryption as well + c.error(c, { + message: 'Could not encrypt record.', + send: false, + alert: { + level: tls.Alert.Level.fatal, + description: tls.Alert.Description.internal_error + } + }); + } + return !c.fail; + }; + + // handle security parameters + if(c.session) { + var sp = c.session.sp; + c.session.cipherSuite.initSecurityParameters(sp); + + // generate keys + sp.keys = tls.generateKeys(c, sp); + state.read.macKey = client ? + sp.keys.server_write_MAC_key : sp.keys.client_write_MAC_key; + state.write.macKey = client ? + sp.keys.client_write_MAC_key : sp.keys.server_write_MAC_key; + + // cipher suite setup + c.session.cipherSuite.initConnectionState(state, c, sp); + + // compression setup + switch(sp.compression_algorithm) { + case tls.CompressionMethod.none: + break; + case tls.CompressionMethod.deflate: + state.read.compressFunction = inflate; + state.write.compressFunction = deflate; + break; + default: + throw new Error('Unsupported compression algorithm.'); + } + } + + return state; +}; + +/** + * Creates a Random structure. + * + * struct { + * uint32 gmt_unix_time; + * opaque random_bytes[28]; + * } Random; + * + * gmt_unix_time: + * The current time and date in standard UNIX 32-bit format (seconds since + * the midnight starting Jan 1, 1970, UTC, ignoring leap seconds) according + * to the sender's internal clock. Clocks are not required to be set + * correctly by the basic TLS protocol; higher-level or application + * protocols may define additional requirements. Note that, for historical + * reasons, the data element is named using GMT, the predecessor of the + * current worldwide time base, UTC. + * random_bytes: + * 28 bytes generated by a secure random number generator. + * + * @return the Random structure as a byte array. + */ +tls.createRandom = function() { + // get UTC milliseconds + var d = new Date(); + var utc = +d + d.getTimezoneOffset() * 60000; + var rval = forge.util.createBuffer(); + rval.putInt32(utc); + rval.putBytes(forge.random.getBytes(28)); + return rval; +}; + +/** + * Creates a TLS record with the given type and data. + * + * @param c the connection. + * @param options: + * type: the record type. + * data: the plain text data in a byte buffer. + * + * @return the created record. + */ +tls.createRecord = function(c, options) { + if(!options.data) { + return null; + } + var record = { + type: options.type, + version: { + major: c.version.major, + minor: c.version.minor + }, + length: options.data.length(), + fragment: options.data + }; + return record; +}; + +/** + * Creates a TLS alert record. + * + * @param c the connection. + * @param alert: + * level: the TLS alert level. + * description: the TLS alert description. + * + * @return the created alert record. + */ +tls.createAlert = function(c, alert) { + var b = forge.util.createBuffer(); + b.putByte(alert.level); + b.putByte(alert.description); + return tls.createRecord(c, { + type: tls.ContentType.alert, + data: b + }); +}; + +/* The structure of a TLS handshake message. + * + * struct { + * HandshakeType msg_type; // handshake type + * uint24 length; // bytes in message + * select(HandshakeType) { + * case hello_request: HelloRequest; + * case client_hello: ClientHello; + * case server_hello: ServerHello; + * case certificate: Certificate; + * case server_key_exchange: ServerKeyExchange; + * case certificate_request: CertificateRequest; + * case server_hello_done: ServerHelloDone; + * case certificate_verify: CertificateVerify; + * case client_key_exchange: ClientKeyExchange; + * case finished: Finished; + * } body; + * } Handshake; + */ + +/** + * Creates a ClientHello message. + * + * opaque SessionID<0..32>; + * enum { null(0), deflate(1), (255) } CompressionMethod; + * uint8 CipherSuite[2]; + * + * struct { + * ProtocolVersion client_version; + * Random random; + * SessionID session_id; + * CipherSuite cipher_suites<2..2^16-2>; + * CompressionMethod compression_methods<1..2^8-1>; + * select(extensions_present) { + * case false: + * struct {}; + * case true: + * Extension extensions<0..2^16-1>; + * }; + * } ClientHello; + * + * The extension format for extended client hellos and server hellos is: + * + * struct { + * ExtensionType extension_type; + * opaque extension_data<0..2^16-1>; + * } Extension; + * + * Here: + * + * - "extension_type" identifies the particular extension type. + * - "extension_data" contains information specific to the particular + * extension type. + * + * The extension types defined in this document are: + * + * enum { + * server_name(0), max_fragment_length(1), + * client_certificate_url(2), trusted_ca_keys(3), + * truncated_hmac(4), status_request(5), (65535) + * } ExtensionType; + * + * @param c the connection. + * + * @return the ClientHello byte buffer. + */ +tls.createClientHello = function(c) { + // save hello version + c.session.clientHelloVersion = { + major: c.version.major, + minor: c.version.minor + }; + + // create supported cipher suites + var cipherSuites = forge.util.createBuffer(); + for(var i = 0; i < c.cipherSuites.length; ++i) { + var cs = c.cipherSuites[i]; + cipherSuites.putByte(cs.id[0]); + cipherSuites.putByte(cs.id[1]); + } + var cSuites = cipherSuites.length(); + + // create supported compression methods, null always supported, but + // also support deflate if connection has inflate and deflate methods + var compressionMethods = forge.util.createBuffer(); + compressionMethods.putByte(tls.CompressionMethod.none); + // FIXME: deflate support disabled until issues with raw deflate data + // without zlib headers are resolved + /* + if(c.inflate !== null && c.deflate !== null) { + compressionMethods.putByte(tls.CompressionMethod.deflate); + } + */ + var cMethods = compressionMethods.length(); + + // create TLS SNI (server name indication) extension if virtual host + // has been specified, see RFC 3546 + var extensions = forge.util.createBuffer(); + if(c.virtualHost) { + // create extension struct + var ext = forge.util.createBuffer(); + ext.putByte(0x00); // type server_name (ExtensionType is 2 bytes) + ext.putByte(0x00); + + /* In order to provide the server name, clients MAY include an + * extension of type "server_name" in the (extended) client hello. + * The "extension_data" field of this extension SHALL contain + * "ServerNameList" where: + * + * struct { + * NameType name_type; + * select(name_type) { + * case host_name: HostName; + * } name; + * } ServerName; + * + * enum { + * host_name(0), (255) + * } NameType; + * + * opaque HostName<1..2^16-1>; + * + * struct { + * ServerName server_name_list<1..2^16-1> + * } ServerNameList; + */ + var serverName = forge.util.createBuffer(); + serverName.putByte(0x00); // type host_name + writeVector(serverName, 2, forge.util.createBuffer(c.virtualHost)); + + // ServerNameList is in extension_data + var snList = forge.util.createBuffer(); + writeVector(snList, 2, serverName); + writeVector(ext, 2, snList); + extensions.putBuffer(ext); + } + var extLength = extensions.length(); + if(extLength > 0) { + // add extension vector length + extLength += 2; + } + + // determine length of the handshake message + // cipher suites and compression methods size will need to be + // updated if more get added to the list + var sessionId = c.session.id; + var length = + sessionId.length + 1 + // session ID vector + 2 + // version (major + minor) + 4 + 28 + // random time and random bytes + 2 + cSuites + // cipher suites vector + 1 + cMethods + // compression methods vector + extLength; // extensions vector + + // build record fragment + var rval = forge.util.createBuffer(); + rval.putByte(tls.HandshakeType.client_hello); + rval.putInt24(length); // handshake length + rval.putByte(c.version.major); // major version + rval.putByte(c.version.minor); // minor version + rval.putBytes(c.session.sp.client_random); // random time + bytes + writeVector(rval, 1, forge.util.createBuffer(sessionId)); + writeVector(rval, 2, cipherSuites); + writeVector(rval, 1, compressionMethods); + if(extLength > 0) { + writeVector(rval, 2, extensions); + } + return rval; +}; + +/** + * Creates a ServerHello message. + * + * @param c the connection. + * + * @return the ServerHello byte buffer. + */ +tls.createServerHello = function(c) { + // determine length of the handshake message + var sessionId = c.session.id; + var length = + sessionId.length + 1 + // session ID vector + 2 + // version (major + minor) + 4 + 28 + // random time and random bytes + 2 + // chosen cipher suite + 1; // chosen compression method + + // build record fragment + var rval = forge.util.createBuffer(); + rval.putByte(tls.HandshakeType.server_hello); + rval.putInt24(length); // handshake length + rval.putByte(c.version.major); // major version + rval.putByte(c.version.minor); // minor version + rval.putBytes(c.session.sp.server_random); // random time + bytes + writeVector(rval, 1, forge.util.createBuffer(sessionId)); + rval.putByte(c.session.cipherSuite.id[0]); + rval.putByte(c.session.cipherSuite.id[1]); + rval.putByte(c.session.compressionMethod); + return rval; +}; + +/** + * Creates a Certificate message. + * + * When this message will be sent: + * This is the first message the client can send after receiving a server + * hello done message and the first message the server can send after + * sending a ServerHello. This client message is only sent if the server + * requests a certificate. If no suitable certificate is available, the + * client should send a certificate message containing no certificates. If + * client authentication is required by the server for the handshake to + * continue, it may respond with a fatal handshake failure alert. + * + * opaque ASN.1Cert<1..2^24-1>; + * + * struct { + * ASN.1Cert certificate_list<0..2^24-1>; + * } Certificate; + * + * @param c the connection. + * + * @return the Certificate byte buffer. + */ +tls.createCertificate = function(c) { + // TODO: check certificate request to ensure types are supported + + // get a certificate (a certificate as a PEM string) + var client = (c.entity === tls.ConnectionEnd.client); + var cert = null; + if(c.getCertificate) { + var hint; + if(client) { + hint = c.session.certificateRequest; + } else { + hint = c.session.extensions.server_name.serverNameList; + } + cert = c.getCertificate(c, hint); + } + + // buffer to hold certificate list + var certList = forge.util.createBuffer(); + if(cert !== null) { + try { + // normalize cert to a chain of certificates + if(!forge.util.isArray(cert)) { + cert = [cert]; + } + var asn1 = null; + for(var i = 0; i < cert.length; ++i) { + var msg = forge.pem.decode(cert[i])[0]; + if(msg.type !== 'CERTIFICATE' && + msg.type !== 'X509 CERTIFICATE' && + msg.type !== 'TRUSTED CERTIFICATE') { + var error = new Error('Could not convert certificate from PEM; PEM ' + + 'header type is not "CERTIFICATE", "X509 CERTIFICATE", or ' + + '"TRUSTED CERTIFICATE".'); + error.headerType = msg.type; + throw error; + } + if(msg.procType && msg.procType.type === 'ENCRYPTED') { + throw new Error('Could not convert certificate from PEM; PEM is encrypted.'); + } + + var der = forge.util.createBuffer(msg.body); + if(asn1 === null) { + asn1 = forge.asn1.fromDer(der.bytes(), false); + } + + // certificate entry is itself a vector with 3 length bytes + var certBuffer = forge.util.createBuffer(); + writeVector(certBuffer, 3, der); + + // add cert vector to cert list vector + certList.putBuffer(certBuffer); + } + + // save certificate + cert = forge.pki.certificateFromAsn1(asn1); + if(client) { + c.session.clientCertificate = cert; + } else { + c.session.serverCertificate = cert; + } + } catch(ex) { + return c.error(c, { + message: 'Could not send certificate list.', + cause: ex, + send: true, + alert: { + level: tls.Alert.Level.fatal, + description: tls.Alert.Description.bad_certificate + } + }); + } + } + + // determine length of the handshake message + var length = 3 + certList.length(); // cert list vector + + // build record fragment + var rval = forge.util.createBuffer(); + rval.putByte(tls.HandshakeType.certificate); + rval.putInt24(length); + writeVector(rval, 3, certList); + return rval; +}; + +/** + * Creates a ClientKeyExchange message. + * + * When this message will be sent: + * This message is always sent by the client. It will immediately follow the + * client certificate message, if it is sent. Otherwise it will be the first + * message sent by the client after it receives the server hello done + * message. + * + * Meaning of this message: + * With this message, the premaster secret is set, either though direct + * transmission of the RSA-encrypted secret, or by the transmission of + * Diffie-Hellman parameters which will allow each side to agree upon the + * same premaster secret. When the key exchange method is DH_RSA or DH_DSS, + * client certification has been requested, and the client was able to + * respond with a certificate which contained a Diffie-Hellman public key + * whose parameters (group and generator) matched those specified by the + * server in its certificate, this message will not contain any data. + * + * Meaning of this message: + * If RSA is being used for key agreement and authentication, the client + * generates a 48-byte premaster secret, encrypts it using the public key + * from the server's certificate or the temporary RSA key provided in a + * server key exchange message, and sends the result in an encrypted + * premaster secret message. This structure is a variant of the client + * key exchange message, not a message in itself. + * + * struct { + * select(KeyExchangeAlgorithm) { + * case rsa: EncryptedPreMasterSecret; + * case diffie_hellman: ClientDiffieHellmanPublic; + * } exchange_keys; + * } ClientKeyExchange; + * + * struct { + * ProtocolVersion client_version; + * opaque random[46]; + * } PreMasterSecret; + * + * struct { + * public-key-encrypted PreMasterSecret pre_master_secret; + * } EncryptedPreMasterSecret; + * + * A public-key-encrypted element is encoded as a vector <0..2^16-1>. + * + * @param c the connection. + * + * @return the ClientKeyExchange byte buffer. + */ +tls.createClientKeyExchange = function(c) { + // create buffer to encrypt + var b = forge.util.createBuffer(); + + // add highest client-supported protocol to help server avoid version + // rollback attacks + b.putByte(c.session.clientHelloVersion.major); + b.putByte(c.session.clientHelloVersion.minor); + + // generate and add 46 random bytes + b.putBytes(forge.random.getBytes(46)); + + // save pre-master secret + var sp = c.session.sp; + sp.pre_master_secret = b.getBytes(); + + // RSA-encrypt the pre-master secret + var key = c.session.serverCertificate.publicKey; + b = key.encrypt(sp.pre_master_secret); + + /* Note: The encrypted pre-master secret will be stored in a + public-key-encrypted opaque vector that has the length prefixed using + 2 bytes, so include those 2 bytes in the handshake message length. This + is done as a minor optimization instead of calling writeVector(). */ + + // determine length of the handshake message + var length = b.length + 2; + + // build record fragment + var rval = forge.util.createBuffer(); + rval.putByte(tls.HandshakeType.client_key_exchange); + rval.putInt24(length); + // add vector length bytes + rval.putInt16(b.length); + rval.putBytes(b); + return rval; +}; + +/** + * Creates a ServerKeyExchange message. + * + * @param c the connection. + * + * @return the ServerKeyExchange byte buffer. + */ +tls.createServerKeyExchange = function(c) { + // this implementation only supports RSA, no Diffie-Hellman support, + // so this record is empty + + // determine length of the handshake message + var length = 0; + + // build record fragment + var rval = forge.util.createBuffer(); + if(length > 0) { + rval.putByte(tls.HandshakeType.server_key_exchange); + rval.putInt24(length); + } + return rval; +}; + +/** + * Gets the signed data used to verify a client-side certificate. See + * tls.createCertificateVerify() for details. + * + * @param c the connection. + * @param callback the callback to call once the signed data is ready. + */ +tls.getClientSignature = function(c, callback) { + // generate data to RSA encrypt + var b = forge.util.createBuffer(); + b.putBuffer(c.session.md5.digest()); + b.putBuffer(c.session.sha1.digest()); + b = b.getBytes(); + + // create default signing function as necessary + c.getSignature = c.getSignature || function(c, b, callback) { + // do rsa encryption, call callback + var privateKey = null; + if(c.getPrivateKey) { + try { + privateKey = c.getPrivateKey(c, c.session.clientCertificate); + privateKey = forge.pki.privateKeyFromPem(privateKey); + } catch(ex) { + c.error(c, { + message: 'Could not get private key.', + cause: ex, + send: true, + alert: { + level: tls.Alert.Level.fatal, + description: tls.Alert.Description.internal_error + } + }); + } + } + if(privateKey === null) { + c.error(c, { + message: 'No private key set.', + send: true, + alert: { + level: tls.Alert.Level.fatal, + description: tls.Alert.Description.internal_error + } + }); + } else { + b = privateKey.sign(b, null); + } + callback(c, b); + }; + + // get client signature + c.getSignature(c, b, callback); +}; + +/** + * Creates a CertificateVerify message. + * + * Meaning of this message: + * This structure conveys the client's Diffie-Hellman public value + * (Yc) if it was not already included in the client's certificate. + * The encoding used for Yc is determined by the enumerated + * PublicValueEncoding. This structure is a variant of the client + * key exchange message, not a message in itself. + * + * When this message will be sent: + * This message is used to provide explicit verification of a client + * certificate. This message is only sent following a client + * certificate that has signing capability (i.e. all certificates + * except those containing fixed Diffie-Hellman parameters). When + * sent, it will immediately follow the client key exchange message. + * + * struct { + * Signature signature; + * } CertificateVerify; + * + * CertificateVerify.signature.md5_hash + * MD5(handshake_messages); + * + * Certificate.signature.sha_hash + * SHA(handshake_messages); + * + * Here handshake_messages refers to all handshake messages sent or + * received starting at client hello up to but not including this + * message, including the type and length fields of the handshake + * messages. + * + * select(SignatureAlgorithm) { + * case anonymous: struct { }; + * case rsa: + * digitally-signed struct { + * opaque md5_hash[16]; + * opaque sha_hash[20]; + * }; + * case dsa: + * digitally-signed struct { + * opaque sha_hash[20]; + * }; + * } Signature; + * + * In digital signing, one-way hash functions are used as input for a + * signing algorithm. A digitally-signed element is encoded as an opaque + * vector <0..2^16-1>, where the length is specified by the signing + * algorithm and key. + * + * In RSA signing, a 36-byte structure of two hashes (one SHA and one + * MD5) is signed (encrypted with the private key). It is encoded with + * PKCS #1 block type 0 or type 1 as described in [PKCS1]. + * + * In DSS, the 20 bytes of the SHA hash are run directly through the + * Digital Signing Algorithm with no additional hashing. + * + * @param c the connection. + * @param signature the signature to include in the message. + * + * @return the CertificateVerify byte buffer. + */ +tls.createCertificateVerify = function(c, signature) { + /* Note: The signature will be stored in a "digitally-signed" opaque + vector that has the length prefixed using 2 bytes, so include those + 2 bytes in the handshake message length. This is done as a minor + optimization instead of calling writeVector(). */ + + // determine length of the handshake message + var length = signature.length + 2; + + // build record fragment + var rval = forge.util.createBuffer(); + rval.putByte(tls.HandshakeType.certificate_verify); + rval.putInt24(length); + // add vector length bytes + rval.putInt16(signature.length); + rval.putBytes(signature); + return rval; +}; + +/** + * Creates a CertificateRequest message. + * + * @param c the connection. + * + * @return the CertificateRequest byte buffer. + */ +tls.createCertificateRequest = function(c) { + // TODO: support other certificate types + var certTypes = forge.util.createBuffer(); + + // common RSA certificate type + certTypes.putByte(0x01); + + // add distinguished names from CA store + var cAs = forge.util.createBuffer(); + for(var key in c.caStore.certs) { + var cert = c.caStore.certs[key]; + var dn = forge.pki.distinguishedNameToAsn1(cert.subject); + var byteBuffer = forge.asn1.toDer(dn); + cAs.putInt16(byteBuffer.length()); + cAs.putBuffer(byteBuffer); + } + + // TODO: TLS 1.2+ has a different format + + // determine length of the handshake message + var length = + 1 + certTypes.length() + + 2 + cAs.length(); + + // build record fragment + var rval = forge.util.createBuffer(); + rval.putByte(tls.HandshakeType.certificate_request); + rval.putInt24(length); + writeVector(rval, 1, certTypes); + writeVector(rval, 2, cAs); + return rval; +}; + +/** + * Creates a ServerHelloDone message. + * + * @param c the connection. + * + * @return the ServerHelloDone byte buffer. + */ +tls.createServerHelloDone = function(c) { + // build record fragment + var rval = forge.util.createBuffer(); + rval.putByte(tls.HandshakeType.server_hello_done); + rval.putInt24(0); + return rval; +}; + +/** + * Creates a ChangeCipherSpec message. + * + * The change cipher spec protocol exists to signal transitions in + * ciphering strategies. The protocol consists of a single message, + * which is encrypted and compressed under the current (not the pending) + * connection state. The message consists of a single byte of value 1. + * + * struct { + * enum { change_cipher_spec(1), (255) } type; + * } ChangeCipherSpec; + * + * @return the ChangeCipherSpec byte buffer. + */ +tls.createChangeCipherSpec = function() { + var rval = forge.util.createBuffer(); + rval.putByte(0x01); + return rval; +}; + +/** + * Creates a Finished message. + * + * struct { + * opaque verify_data[12]; + * } Finished; + * + * verify_data + * PRF(master_secret, finished_label, MD5(handshake_messages) + + * SHA-1(handshake_messages)) [0..11]; + * + * finished_label + * For Finished messages sent by the client, the string "client + * finished". For Finished messages sent by the server, the + * string "server finished". + * + * handshake_messages + * All of the data from all handshake messages up to but not + * including this message. This is only data visible at the + * handshake layer and does not include record layer headers. + * This is the concatenation of all the Handshake structures as + * defined in 7.4 exchanged thus far. + * + * @param c the connection. + * + * @return the Finished byte buffer. + */ +tls.createFinished = function(c) { + // generate verify_data + var b = forge.util.createBuffer(); + b.putBuffer(c.session.md5.digest()); + b.putBuffer(c.session.sha1.digest()); + + // TODO: determine prf function and verify length for TLS 1.2 + var client = (c.entity === tls.ConnectionEnd.client); + var sp = c.session.sp; + var vdl = 12; + var prf = prf_TLS1; + var label = client ? 'client finished' : 'server finished'; + b = prf(sp.master_secret, label, b.getBytes(), vdl); + + // build record fragment + var rval = forge.util.createBuffer(); + rval.putByte(tls.HandshakeType.finished); + rval.putInt24(b.length()); + rval.putBuffer(b); + return rval; +}; + +/** + * Creates a HeartbeatMessage (See RFC 6520). + * + * struct { + * HeartbeatMessageType type; + * uint16 payload_length; + * opaque payload[HeartbeatMessage.payload_length]; + * opaque padding[padding_length]; + * } HeartbeatMessage; + * + * The total length of a HeartbeatMessage MUST NOT exceed 2^14 or + * max_fragment_length when negotiated as defined in [RFC6066]. + * + * type: The message type, either heartbeat_request or heartbeat_response. + * + * payload_length: The length of the payload. + * + * payload: The payload consists of arbitrary content. + * + * padding: The padding is random content that MUST be ignored by the + * receiver. The length of a HeartbeatMessage is TLSPlaintext.length + * for TLS and DTLSPlaintext.length for DTLS. Furthermore, the + * length of the type field is 1 byte, and the length of the + * payload_length is 2. Therefore, the padding_length is + * TLSPlaintext.length - payload_length - 3 for TLS and + * DTLSPlaintext.length - payload_length - 3 for DTLS. The + * padding_length MUST be at least 16. + * + * The sender of a HeartbeatMessage MUST use a random padding of at + * least 16 bytes. The padding of a received HeartbeatMessage message + * MUST be ignored. + * + * If the payload_length of a received HeartbeatMessage is too large, + * the received HeartbeatMessage MUST be discarded silently. + * + * @param c the connection. + * @param type the tls.HeartbeatMessageType. + * @param payload the heartbeat data to send as the payload. + * @param [payloadLength] the payload length to use, defaults to the + * actual payload length. + * + * @return the HeartbeatRequest byte buffer. + */ +tls.createHeartbeat = function(type, payload, payloadLength) { + if(typeof payloadLength === 'undefined') { + payloadLength = payload.length; + } + // build record fragment + var rval = forge.util.createBuffer(); + rval.putByte(type); // heartbeat message type + rval.putInt16(payloadLength); // payload length + rval.putBytes(payload); // payload + // padding + var plaintextLength = rval.length(); + var paddingLength = Math.max(16, plaintextLength - payloadLength - 3); + rval.putBytes(forge.random.getBytes(paddingLength)); + return rval; +}; + +/** + * Fragments, compresses, encrypts, and queues a record for delivery. + * + * @param c the connection. + * @param record the record to queue. + */ +tls.queue = function(c, record) { + // error during record creation + if(!record) { + return; + } + + if(record.fragment.length() === 0) { + if(record.type === tls.ContentType.handshake || + record.type === tls.ContentType.alert || + record.type === tls.ContentType.change_cipher_spec) { + // Empty handshake, alert of change cipher spec messages are not allowed per the TLS specification and should not be sent. + return; + } + } + + // if the record is a handshake record, update handshake hashes + if(record.type === tls.ContentType.handshake) { + var bytes = record.fragment.bytes(); + c.session.md5.update(bytes); + c.session.sha1.update(bytes); + bytes = null; + } + + // handle record fragmentation + var records; + if(record.fragment.length() <= tls.MaxFragment) { + records = [record]; + } else { + // fragment data as long as it is too long + records = []; + var data = record.fragment.bytes(); + while(data.length > tls.MaxFragment) { + records.push(tls.createRecord(c, { + type: record.type, + data: forge.util.createBuffer(data.slice(0, tls.MaxFragment)) + })); + data = data.slice(tls.MaxFragment); + } + // add last record + if(data.length > 0) { + records.push(tls.createRecord(c, { + type: record.type, + data: forge.util.createBuffer(data) + })); + } + } + + // compress and encrypt all fragmented records + for(var i = 0; i < records.length && !c.fail; ++i) { + // update the record using current write state + var rec = records[i]; + var s = c.state.current.write; + if(s.update(c, rec)) { + // store record + c.records.push(rec); + } + } +}; + +/** + * Flushes all queued records to the output buffer and calls the + * tlsDataReady() handler on the given connection. + * + * @param c the connection. + * + * @return true on success, false on failure. + */ +tls.flush = function(c) { + for(var i = 0; i < c.records.length; ++i) { + var record = c.records[i]; + + // add record header and fragment + c.tlsData.putByte(record.type); + c.tlsData.putByte(record.version.major); + c.tlsData.putByte(record.version.minor); + c.tlsData.putInt16(record.fragment.length()); + c.tlsData.putBuffer(c.records[i].fragment); + } + c.records = []; + return c.tlsDataReady(c); +}; + +/** + * Maps a pki.certificateError to a tls.Alert.Description. + * + * @param error the error to map. + * + * @return the alert description. + */ +var _certErrorToAlertDesc = function(error) { + switch(error) { + case true: + return true; + case forge.pki.certificateError.bad_certificate: + return tls.Alert.Description.bad_certificate; + case forge.pki.certificateError.unsupported_certificate: + return tls.Alert.Description.unsupported_certificate; + case forge.pki.certificateError.certificate_revoked: + return tls.Alert.Description.certificate_revoked; + case forge.pki.certificateError.certificate_expired: + return tls.Alert.Description.certificate_expired; + case forge.pki.certificateError.certificate_unknown: + return tls.Alert.Description.certificate_unknown; + case forge.pki.certificateError.unknown_ca: + return tls.Alert.Description.unknown_ca; + default: + return tls.Alert.Description.bad_certificate; + } +}; + +/** + * Maps a tls.Alert.Description to a pki.certificateError. + * + * @param desc the alert description. + * + * @return the certificate error. + */ +var _alertDescToCertError = function(desc) { + switch(desc) { + case true: + return true; + case tls.Alert.Description.bad_certificate: + return forge.pki.certificateError.bad_certificate; + case tls.Alert.Description.unsupported_certificate: + return forge.pki.certificateError.unsupported_certificate; + case tls.Alert.Description.certificate_revoked: + return forge.pki.certificateError.certificate_revoked; + case tls.Alert.Description.certificate_expired: + return forge.pki.certificateError.certificate_expired; + case tls.Alert.Description.certificate_unknown: + return forge.pki.certificateError.certificate_unknown; + case tls.Alert.Description.unknown_ca: + return forge.pki.certificateError.unknown_ca; + default: + return forge.pki.certificateError.bad_certificate; + } +}; + +/** + * Verifies a certificate chain against the given connection's + * Certificate Authority store. + * + * @param c the TLS connection. + * @param chain the certificate chain to verify, with the root or highest + * authority at the end. + * + * @return true if successful, false if not. + */ +tls.verifyCertificateChain = function(c, chain) { + try { + // verify chain + forge.pki.verifyCertificateChain(c.caStore, chain, + function verify(vfd, depth, chain) { + // convert pki.certificateError to tls alert description + var desc = _certErrorToAlertDesc(vfd); + + // call application callback + var ret = c.verify(c, vfd, depth, chain); + if(ret !== true) { + if(typeof ret === 'object' && !forge.util.isArray(ret)) { + // throw custom error + var error = new Error('The application rejected the certificate.'); + error.send = true; + error.alert = { + level: tls.Alert.Level.fatal, + description: tls.Alert.Description.bad_certificate + }; + if(ret.message) { + error.message = ret.message; + } + if(ret.alert) { + error.alert.description = ret.alert; + } + throw error; + } + + // convert tls alert description to pki.certificateError + if(ret !== vfd) { + ret = _alertDescToCertError(ret); + } + } + + return ret; + }); + } catch(ex) { + // build tls error if not already customized + var err = ex; + if(typeof err !== 'object' || forge.util.isArray(err)) { + err = { + send: true, + alert: { + level: tls.Alert.Level.fatal, + description: _certErrorToAlertDesc(ex) + } + }; + } + if(!('send' in err)) { + err.send = true; + } + if(!('alert' in err)) { + err.alert = { + level: tls.Alert.Level.fatal, + description: _certErrorToAlertDesc(err.error) + }; + } + + // send error + c.error(c, err); + } + + return !c.fail; +}; + +/** + * Creates a new TLS session cache. + * + * @param cache optional map of session ID to cached session. + * @param capacity the maximum size for the cache (default: 100). + * + * @return the new TLS session cache. + */ +tls.createSessionCache = function(cache, capacity) { + var rval = null; + + // assume input is already a session cache object + if(cache && cache.getSession && cache.setSession && cache.order) { + rval = cache; + } else { + // create cache + rval = {}; + rval.cache = cache || {}; + rval.capacity = Math.max(capacity || 100, 1); + rval.order = []; + + // store order for sessions, delete session overflow + for(var key in cache) { + if(rval.order.length <= capacity) { + rval.order.push(key); + } else { + delete cache[key]; + } + } + + // get a session from a session ID (or get any session) + rval.getSession = function(sessionId) { + var session = null; + var key = null; + + // if session ID provided, use it + if(sessionId) { + key = forge.util.bytesToHex(sessionId); + } else if(rval.order.length > 0) { + // get first session from cache + key = rval.order[0]; + } + + if(key !== null && key in rval.cache) { + // get cached session and remove from cache + session = rval.cache[key]; + delete rval.cache[key]; + for(var i in rval.order) { + if(rval.order[i] === key) { + rval.order.splice(i, 1); + break; + } + } + } + + return session; + }; + + // set a session in the cache + rval.setSession = function(sessionId, session) { + // remove session from cache if at capacity + if(rval.order.length === rval.capacity) { + var key = rval.order.shift(); + delete rval.cache[key]; + } + // add session to cache + var key = forge.util.bytesToHex(sessionId); + rval.order.push(key); + rval.cache[key] = session; + }; + } + + return rval; +}; + +/** + * Creates a new TLS connection. + * + * See public createConnection() docs for more details. + * + * @param options the options for this connection. + * + * @return the new TLS connection. + */ +tls.createConnection = function(options) { + var caStore = null; + if(options.caStore) { + // if CA store is an array, convert it to a CA store object + if(forge.util.isArray(options.caStore)) { + caStore = forge.pki.createCaStore(options.caStore); + } else { + caStore = options.caStore; + } + } else { + // create empty CA store + caStore = forge.pki.createCaStore(); + } + + // setup default cipher suites + var cipherSuites = options.cipherSuites || null; + if(cipherSuites === null) { + cipherSuites = []; + for(var key in tls.CipherSuites) { + cipherSuites.push(tls.CipherSuites[key]); + } + } + + // set default entity + var entity = (options.server || false) ? + tls.ConnectionEnd.server : tls.ConnectionEnd.client; + + // create session cache if requested + var sessionCache = options.sessionCache ? + tls.createSessionCache(options.sessionCache) : null; + + // create TLS connection + var c = { + version: {major: tls.Version.major, minor: tls.Version.minor}, + entity: entity, + sessionId: options.sessionId, + caStore: caStore, + sessionCache: sessionCache, + cipherSuites: cipherSuites, + connected: options.connected, + virtualHost: options.virtualHost || null, + verifyClient: options.verifyClient || false, + verify: options.verify || function(cn, vfd, dpth, cts) {return vfd;}, + getCertificate: options.getCertificate || null, + getPrivateKey: options.getPrivateKey || null, + getSignature: options.getSignature || null, + input: forge.util.createBuffer(), + tlsData: forge.util.createBuffer(), + data: forge.util.createBuffer(), + tlsDataReady: options.tlsDataReady, + dataReady: options.dataReady, + heartbeatReceived: options.heartbeatReceived, + closed: options.closed, + error: function(c, ex) { + // set origin if not set + ex.origin = ex.origin || + ((c.entity === tls.ConnectionEnd.client) ? 'client' : 'server'); + + // send TLS alert + if(ex.send) { + tls.queue(c, tls.createAlert(c, ex.alert)); + tls.flush(c); + } + + // error is fatal by default + var fatal = (ex.fatal !== false); + if(fatal) { + // set fail flag + c.fail = true; + } + + // call error handler first + options.error(c, ex); + + if(fatal) { + // fatal error, close connection, do not clear fail + c.close(false); + } + }, + deflate: options.deflate || null, + inflate: options.inflate || null + }; + + /** + * Resets a closed TLS connection for reuse. Called in c.close(). + * + * @param clearFail true to clear the fail flag (default: true). + */ + c.reset = function(clearFail) { + c.version = {major: tls.Version.major, minor: tls.Version.minor}; + c.record = null; + c.session = null; + c.peerCertificate = null; + c.state = { + pending: null, + current: null + }; + c.expect = (c.entity === tls.ConnectionEnd.client) ? SHE : CHE; + c.fragmented = null; + c.records = []; + c.open = false; + c.handshakes = 0; + c.handshaking = false; + c.isConnected = false; + c.fail = !(clearFail || typeof(clearFail) === 'undefined'); + c.input.clear(); + c.tlsData.clear(); + c.data.clear(); + c.state.current = tls.createConnectionState(c); + }; + + // do initial reset of connection + c.reset(); + + /** + * Updates the current TLS engine state based on the given record. + * + * @param c the TLS connection. + * @param record the TLS record to act on. + */ + var _update = function(c, record) { + // get record handler (align type in table by subtracting lowest) + var aligned = record.type - tls.ContentType.change_cipher_spec; + var handlers = ctTable[c.entity][c.expect]; + if(aligned in handlers) { + handlers[aligned](c, record); + } else { + // unexpected record + tls.handleUnexpected(c, record); + } + }; + + /** + * Reads the record header and initializes the next record on the given + * connection. + * + * @param c the TLS connection with the next record. + * + * @return 0 if the input data could be processed, otherwise the + * number of bytes required for data to be processed. + */ + var _readRecordHeader = function(c) { + var rval = 0; + + // get input buffer and its length + var b = c.input; + var len = b.length(); + + // need at least 5 bytes to initialize a record + if(len < 5) { + rval = 5 - len; + } else { + // enough bytes for header + // initialize record + c.record = { + type: b.getByte(), + version: { + major: b.getByte(), + minor: b.getByte() + }, + length: b.getInt16(), + fragment: forge.util.createBuffer(), + ready: false + }; + + // check record version + var compatibleVersion = (c.record.version.major === c.version.major); + if(compatibleVersion && c.session && c.session.version) { + // session version already set, require same minor version + compatibleVersion = (c.record.version.minor === c.version.minor); + } + if(!compatibleVersion) { + c.error(c, { + message: 'Incompatible TLS version.', + send: true, + alert: { + level: tls.Alert.Level.fatal, + description: tls.Alert.Description.protocol_version + } + }); + } + } + + return rval; + }; + + /** + * Reads the next record's contents and appends its message to any + * previously fragmented message. + * + * @param c the TLS connection with the next record. + * + * @return 0 if the input data could be processed, otherwise the + * number of bytes required for data to be processed. + */ + var _readRecord = function(c) { + var rval = 0; + + // ensure there is enough input data to get the entire record + var b = c.input; + var len = b.length(); + if(len < c.record.length) { + // not enough data yet, return how much is required + rval = c.record.length - len; + } else { + // there is enough data to parse the pending record + // fill record fragment and compact input buffer + c.record.fragment.putBytes(b.getBytes(c.record.length)); + b.compact(); + + // update record using current read state + var s = c.state.current.read; + if(s.update(c, c.record)) { + // see if there is a previously fragmented message that the + // new record's message fragment should be appended to + if(c.fragmented !== null) { + // if the record type matches a previously fragmented + // record, append the record fragment to it + if(c.fragmented.type === c.record.type) { + // concatenate record fragments + c.fragmented.fragment.putBuffer(c.record.fragment); + c.record = c.fragmented; + } else { + // error, invalid fragmented record + c.error(c, { + message: 'Invalid fragmented record.', + send: true, + alert: { + level: tls.Alert.Level.fatal, + description: + tls.Alert.Description.unexpected_message + } + }); + } + } + + // record is now ready + c.record.ready = true; + } + } + + return rval; + }; + + /** + * Performs a handshake using the TLS Handshake Protocol, as a client. + * + * This method should only be called if the connection is in client mode. + * + * @param sessionId the session ID to use, null to start a new one. + */ + c.handshake = function(sessionId) { + // error to call this in non-client mode + if(c.entity !== tls.ConnectionEnd.client) { + // not fatal error + c.error(c, { + message: 'Cannot initiate handshake as a server.', + fatal: false + }); + } else if(c.handshaking) { + // handshake is already in progress, fail but not fatal error + c.error(c, { + message: 'Handshake already in progress.', + fatal: false + }); + } else { + // clear fail flag on reuse + if(c.fail && !c.open && c.handshakes === 0) { + c.fail = false; + } + + // now handshaking + c.handshaking = true; + + // default to blank (new session) + sessionId = sessionId || ''; + + // if a session ID was specified, try to find it in the cache + var session = null; + if(sessionId.length > 0) { + if(c.sessionCache) { + session = c.sessionCache.getSession(sessionId); + } + + // matching session not found in cache, clear session ID + if(session === null) { + sessionId = ''; + } + } + + // no session given, grab a session from the cache, if available + if(sessionId.length === 0 && c.sessionCache) { + session = c.sessionCache.getSession(); + if(session !== null) { + sessionId = session.id; + } + } + + // set up session + c.session = { + id: sessionId, + version: null, + cipherSuite: null, + compressionMethod: null, + serverCertificate: null, + certificateRequest: null, + clientCertificate: null, + sp: {}, + md5: forge.md.md5.create(), + sha1: forge.md.sha1.create() + }; + + // use existing session information + if(session) { + // only update version on connection, session version not yet set + c.version = session.version; + c.session.sp = session.sp; + } + + // generate new client random + c.session.sp.client_random = tls.createRandom().getBytes(); + + // connection now open + c.open = true; + + // send hello + tls.queue(c, tls.createRecord(c, { + type: tls.ContentType.handshake, + data: tls.createClientHello(c) + })); + tls.flush(c); + } + }; + + /** + * Called when TLS protocol data has been received from somewhere and should + * be processed by the TLS engine. + * + * @param data the TLS protocol data, as a string, to process. + * + * @return 0 if the data could be processed, otherwise the number of bytes + * required for data to be processed. + */ + c.process = function(data) { + var rval = 0; + + // buffer input data + if(data) { + c.input.putBytes(data); + } + + // process next record if no failure, process will be called after + // each record is handled (since handling can be asynchronous) + if(!c.fail) { + // reset record if ready and now empty + if(c.record !== null && + c.record.ready && c.record.fragment.isEmpty()) { + c.record = null; + } + + // if there is no pending record, try to read record header + if(c.record === null) { + rval = _readRecordHeader(c); + } + + // read the next record (if record not yet ready) + if(!c.fail && c.record !== null && !c.record.ready) { + rval = _readRecord(c); + } + + // record ready to be handled, update engine state + if(!c.fail && c.record !== null && c.record.ready) { + _update(c, c.record); + } + } + + return rval; + }; + + /** + * Requests that application data be packaged into a TLS record. The + * tlsDataReady handler will be called when the TLS record(s) have been + * prepared. + * + * @param data the application data, as a raw 'binary' encoded string, to + * be sent; to send utf-16/utf-8 string data, use the return value + * of util.encodeUtf8(str). + * + * @return true on success, false on failure. + */ + c.prepare = function(data) { + tls.queue(c, tls.createRecord(c, { + type: tls.ContentType.application_data, + data: forge.util.createBuffer(data) + })); + return tls.flush(c); + }; + + /** + * Requests that a heartbeat request be packaged into a TLS record for + * transmission. The tlsDataReady handler will be called when TLS record(s) + * have been prepared. + * + * When a heartbeat response has been received, the heartbeatReceived + * handler will be called with the matching payload. This handler can + * be used to clear a retransmission timer, etc. + * + * @param payload the heartbeat data to send as the payload in the message. + * @param [payloadLength] the payload length to use, defaults to the + * actual payload length. + * + * @return true on success, false on failure. + */ + c.prepareHeartbeatRequest = function(payload, payloadLength) { + if(payload instanceof forge.util.ByteBuffer) { + payload = payload.bytes(); + } + if(typeof payloadLength === 'undefined') { + payloadLength = payload.length; + } + c.expectedHeartbeatPayload = payload; + tls.queue(c, tls.createRecord(c, { + type: tls.ContentType.heartbeat, + data: tls.createHeartbeat( + tls.HeartbeatMessageType.heartbeat_request, payload, payloadLength) + })); + return tls.flush(c); + }; + + /** + * Closes the connection (sends a close_notify alert). + * + * @param clearFail true to clear the fail flag (default: true). + */ + c.close = function(clearFail) { + // save session if connection didn't fail + if(!c.fail && c.sessionCache && c.session) { + // only need to preserve session ID, version, and security params + var session = { + id: c.session.id, + version: c.session.version, + sp: c.session.sp + }; + session.sp.keys = null; + c.sessionCache.setSession(session.id, session); + } + + if(c.open) { + // connection no longer open, clear input + c.open = false; + c.input.clear(); + + // if connected or handshaking, send an alert + if(c.isConnected || c.handshaking) { + c.isConnected = c.handshaking = false; + + // send close_notify alert + tls.queue(c, tls.createAlert(c, { + level: tls.Alert.Level.warning, + description: tls.Alert.Description.close_notify + })); + tls.flush(c); + } + + // call handler + c.closed(c); + } + + // reset TLS connection, do not clear fail flag + c.reset(clearFail); + }; + + return c; +}; + +/* TLS API */ +module.exports = forge.tls = forge.tls || {}; + +// expose non-functions +for(var key in tls) { + if(typeof tls[key] !== 'function') { + forge.tls[key] = tls[key]; + } +} + +// expose prf_tls1 for testing +forge.tls.prf_tls1 = prf_TLS1; + +// expose sha1 hmac method +forge.tls.hmac_sha1 = hmac_sha1; + +// expose session cache creation +forge.tls.createSessionCache = tls.createSessionCache; + +/** + * Creates a new TLS connection. This does not make any assumptions about the + * transport layer that TLS is working on top of, ie: it does not assume there + * is a TCP/IP connection or establish one. A TLS connection is totally + * abstracted away from the layer is runs on top of, it merely establishes a + * secure channel between a client" and a "server". + * + * A TLS connection contains 4 connection states: pending read and write, and + * current read and write. + * + * At initialization, the current read and write states will be null. Only once + * the security parameters have been set and the keys have been generated can + * the pending states be converted into current states. Current states will be + * updated for each record processed. + * + * A custom certificate verify callback may be provided to check information + * like the common name on the server's certificate. It will be called for + * every certificate in the chain. It has the following signature: + * + * variable func(c, certs, index, preVerify) + * Where: + * c The TLS connection + * verified Set to true if certificate was verified, otherwise the alert + * tls.Alert.Description for why the certificate failed. + * depth The current index in the chain, where 0 is the server's cert. + * certs The certificate chain, *NOTE* if the server was anonymous then + * the chain will be empty. + * + * The function returns true on success and on failure either the appropriate + * tls.Alert.Description or an object with 'alert' set to the appropriate + * tls.Alert.Description and 'message' set to a custom error message. If true + * is not returned then the connection will abort using, in order of + * availability, first the returned alert description, second the preVerify + * alert description, and lastly the default 'bad_certificate'. + * + * There are three callbacks that can be used to make use of client-side + * certificates where each takes the TLS connection as the first parameter: + * + * getCertificate(conn, hint) + * The second parameter is a hint as to which certificate should be + * returned. If the connection entity is a client, then the hint will be + * the CertificateRequest message from the server that is part of the + * TLS protocol. If the connection entity is a server, then it will be + * the servername list provided via an SNI extension the ClientHello, if + * one was provided (empty array if not). The hint can be examined to + * determine which certificate to use (advanced). Most implementations + * will just return a certificate. The return value must be a + * PEM-formatted certificate or an array of PEM-formatted certificates + * that constitute a certificate chain, with the first in the array/chain + * being the client's certificate. + * getPrivateKey(conn, certificate) + * The second parameter is an forge.pki X.509 certificate object that + * is associated with the requested private key. The return value must + * be a PEM-formatted private key. + * getSignature(conn, bytes, callback) + * This callback can be used instead of getPrivateKey if the private key + * is not directly accessible in javascript or should not be. For + * instance, a secure external web service could provide the signature + * in exchange for appropriate credentials. The second parameter is a + * string of bytes to be signed that are part of the TLS protocol. These + * bytes are used to verify that the private key for the previously + * provided client-side certificate is accessible to the client. The + * callback is a function that takes 2 parameters, the TLS connection + * and the RSA encrypted (signed) bytes as a string. This callback must + * be called once the signature is ready. + * + * @param options the options for this connection: + * server: true if the connection is server-side, false for client. + * sessionId: a session ID to reuse, null for a new connection. + * caStore: an array of certificates to trust. + * sessionCache: a session cache to use. + * cipherSuites: an optional array of cipher suites to use, + * see tls.CipherSuites. + * connected: function(conn) called when the first handshake completes. + * virtualHost: the virtual server name to use in a TLS SNI extension. + * verifyClient: true to require a client certificate in server mode, + * 'optional' to request one, false not to (default: false). + * verify: a handler used to custom verify certificates in the chain. + * getCertificate: an optional callback used to get a certificate or + * a chain of certificates (as an array). + * getPrivateKey: an optional callback used to get a private key. + * getSignature: an optional callback used to get a signature. + * tlsDataReady: function(conn) called when TLS protocol data has been + * prepared and is ready to be used (typically sent over a socket + * connection to its destination), read from conn.tlsData buffer. + * dataReady: function(conn) called when application data has + * been parsed from a TLS record and should be consumed by the + * application, read from conn.data buffer. + * closed: function(conn) called when the connection has been closed. + * error: function(conn, error) called when there was an error. + * deflate: function(inBytes) if provided, will deflate TLS records using + * the deflate algorithm if the server supports it. + * inflate: function(inBytes) if provided, will inflate TLS records using + * the deflate algorithm if the server supports it. + * + * @return the new TLS connection. + */ +forge.tls.createConnection = tls.createConnection; diff --git a/express-server/node_modules/node-forge/lib/tlssocket.js b/express-server/node_modules/node-forge/lib/tlssocket.js new file mode 100644 index 00000000..d09b6509 --- /dev/null +++ b/express-server/node_modules/node-forge/lib/tlssocket.js @@ -0,0 +1,249 @@ +/** + * Socket wrapping functions for TLS. + * + * @author Dave Longley + * + * Copyright (c) 2009-2012 Digital Bazaar, Inc. + */ +var forge = require('./forge'); +require('./tls'); + +/** + * Wraps a forge.net socket with a TLS layer. + * + * @param options: + * sessionId: a session ID to reuse, null for a new connection if no session + * cache is provided or it is empty. + * caStore: an array of certificates to trust. + * sessionCache: a session cache to use. + * cipherSuites: an optional array of cipher suites to use, see + * tls.CipherSuites. + * socket: the socket to wrap. + * virtualHost: the virtual server name to use in a TLS SNI extension. + * verify: a handler used to custom verify certificates in the chain. + * getCertificate: an optional callback used to get a certificate. + * getPrivateKey: an optional callback used to get a private key. + * getSignature: an optional callback used to get a signature. + * deflate: function(inBytes) if provided, will deflate TLS records using + * the deflate algorithm if the server supports it. + * inflate: function(inBytes) if provided, will inflate TLS records using + * the deflate algorithm if the server supports it. + * + * @return the TLS-wrapped socket. + */ +forge.tls.wrapSocket = function(options) { + // get raw socket + var socket = options.socket; + + // create TLS socket + var tlsSocket = { + id: socket.id, + // set handlers + connected: socket.connected || function(e) {}, + closed: socket.closed || function(e) {}, + data: socket.data || function(e) {}, + error: socket.error || function(e) {} + }; + + // create TLS connection + var c = forge.tls.createConnection({ + server: false, + sessionId: options.sessionId || null, + caStore: options.caStore || [], + sessionCache: options.sessionCache || null, + cipherSuites: options.cipherSuites || null, + virtualHost: options.virtualHost, + verify: options.verify, + getCertificate: options.getCertificate, + getPrivateKey: options.getPrivateKey, + getSignature: options.getSignature, + deflate: options.deflate, + inflate: options.inflate, + connected: function(c) { + // first handshake complete, call handler + if(c.handshakes === 1) { + tlsSocket.connected({ + id: socket.id, + type: 'connect', + bytesAvailable: c.data.length() + }); + } + }, + tlsDataReady: function(c) { + // send TLS data over socket + return socket.send(c.tlsData.getBytes()); + }, + dataReady: function(c) { + // indicate application data is ready + tlsSocket.data({ + id: socket.id, + type: 'socketData', + bytesAvailable: c.data.length() + }); + }, + closed: function(c) { + // close socket + socket.close(); + }, + error: function(c, e) { + // send error, close socket + tlsSocket.error({ + id: socket.id, + type: 'tlsError', + message: e.message, + bytesAvailable: 0, + error: e + }); + socket.close(); + } + }); + + // handle doing handshake after connecting + socket.connected = function(e) { + c.handshake(options.sessionId); + }; + + // handle closing TLS connection + socket.closed = function(e) { + if(c.open && c.handshaking) { + // error + tlsSocket.error({ + id: socket.id, + type: 'ioError', + message: 'Connection closed during handshake.', + bytesAvailable: 0 + }); + } + c.close(); + + // call socket handler + tlsSocket.closed({ + id: socket.id, + type: 'close', + bytesAvailable: 0 + }); + }; + + // handle error on socket + socket.error = function(e) { + // error + tlsSocket.error({ + id: socket.id, + type: e.type, + message: e.message, + bytesAvailable: 0 + }); + c.close(); + }; + + // handle receiving raw TLS data from socket + var _requiredBytes = 0; + socket.data = function(e) { + // drop data if connection not open + if(!c.open) { + socket.receive(e.bytesAvailable); + } else { + // only receive if there are enough bytes available to + // process a record + if(e.bytesAvailable >= _requiredBytes) { + var count = Math.max(e.bytesAvailable, _requiredBytes); + var data = socket.receive(count); + if(data !== null) { + _requiredBytes = c.process(data); + } + } + } + }; + + /** + * Destroys this socket. + */ + tlsSocket.destroy = function() { + socket.destroy(); + }; + + /** + * Sets this socket's TLS session cache. This should be called before + * the socket is connected or after it is closed. + * + * The cache is an object mapping session IDs to internal opaque state. + * An application might need to change the cache used by a particular + * tlsSocket between connections if it accesses multiple TLS hosts. + * + * @param cache the session cache to use. + */ + tlsSocket.setSessionCache = function(cache) { + c.sessionCache = tls.createSessionCache(cache); + }; + + /** + * Connects this socket. + * + * @param options: + * host: the host to connect to. + * port: the port to connect to. + * policyPort: the policy port to use (if non-default), 0 to + * use the flash default. + * policyUrl: the policy file URL to use (instead of port). + */ + tlsSocket.connect = function(options) { + socket.connect(options); + }; + + /** + * Closes this socket. + */ + tlsSocket.close = function() { + c.close(); + }; + + /** + * Determines if the socket is connected or not. + * + * @return true if connected, false if not. + */ + tlsSocket.isConnected = function() { + return c.isConnected && socket.isConnected(); + }; + + /** + * Writes bytes to this socket. + * + * @param bytes the bytes (as a string) to write. + * + * @return true on success, false on failure. + */ + tlsSocket.send = function(bytes) { + return c.prepare(bytes); + }; + + /** + * Reads bytes from this socket (non-blocking). Fewer than the number of + * bytes requested may be read if enough bytes are not available. + * + * This method should be called from the data handler if there are enough + * bytes available. To see how many bytes are available, check the + * 'bytesAvailable' property on the event in the data handler or call the + * bytesAvailable() function on the socket. If the browser is msie, then the + * bytesAvailable() function should be used to avoid race conditions. + * Otherwise, using the property on the data handler's event may be quicker. + * + * @param count the maximum number of bytes to read. + * + * @return the bytes read (as a string) or null on error. + */ + tlsSocket.receive = function(count) { + return c.data.getBytes(count); + }; + + /** + * Gets the number of bytes available for receiving on the socket. + * + * @return the number of bytes available for receiving. + */ + tlsSocket.bytesAvailable = function() { + return c.data.length(); + }; + + return tlsSocket; +}; diff --git a/express-server/node_modules/node-forge/lib/util.js b/express-server/node_modules/node-forge/lib/util.js new file mode 100644 index 00000000..3e31690b --- /dev/null +++ b/express-server/node_modules/node-forge/lib/util.js @@ -0,0 +1,2980 @@ +/** + * Utility functions for web applications. + * + * @author Dave Longley + * + * Copyright (c) 2010-2018 Digital Bazaar, Inc. + */ +var forge = require('./forge'); +var baseN = require('./baseN'); + +/* Utilities API */ +var util = module.exports = forge.util = forge.util || {}; + +// define setImmediate and nextTick +(function() { + // use native nextTick (unless we're in webpack) + // webpack (or better node-libs-browser polyfill) sets process.browser. + // this way we can detect webpack properly + if(typeof process !== 'undefined' && process.nextTick && !process.browser) { + util.nextTick = process.nextTick; + if(typeof setImmediate === 'function') { + util.setImmediate = setImmediate; + } else { + // polyfill setImmediate with nextTick, older versions of node + // (those w/o setImmediate) won't totally starve IO + util.setImmediate = util.nextTick; + } + return; + } + + // polyfill nextTick with native setImmediate + if(typeof setImmediate === 'function') { + util.setImmediate = function() { return setImmediate.apply(undefined, arguments); }; + util.nextTick = function(callback) { + return setImmediate(callback); + }; + return; + } + + /* Note: A polyfill upgrade pattern is used here to allow combining + polyfills. For example, MutationObserver is fast, but blocks UI updates, + so it needs to allow UI updates periodically, so it falls back on + postMessage or setTimeout. */ + + // polyfill with setTimeout + util.setImmediate = function(callback) { + setTimeout(callback, 0); + }; + + // upgrade polyfill to use postMessage + if(typeof window !== 'undefined' && + typeof window.postMessage === 'function') { + var msg = 'forge.setImmediate'; + var callbacks = []; + util.setImmediate = function(callback) { + callbacks.push(callback); + // only send message when one hasn't been sent in + // the current turn of the event loop + if(callbacks.length === 1) { + window.postMessage(msg, '*'); + } + }; + function handler(event) { + if(event.source === window && event.data === msg) { + event.stopPropagation(); + var copy = callbacks.slice(); + callbacks.length = 0; + copy.forEach(function(callback) { + callback(); + }); + } + } + window.addEventListener('message', handler, true); + } + + // upgrade polyfill to use MutationObserver + if(typeof MutationObserver !== 'undefined') { + // polyfill with MutationObserver + var now = Date.now(); + var attr = true; + var div = document.createElement('div'); + var callbacks = []; + new MutationObserver(function() { + var copy = callbacks.slice(); + callbacks.length = 0; + copy.forEach(function(callback) { + callback(); + }); + }).observe(div, {attributes: true}); + var oldSetImmediate = util.setImmediate; + util.setImmediate = function(callback) { + if(Date.now() - now > 15) { + now = Date.now(); + oldSetImmediate(callback); + } else { + callbacks.push(callback); + // only trigger observer when it hasn't been triggered in + // the current turn of the event loop + if(callbacks.length === 1) { + div.setAttribute('a', attr = !attr); + } + } + }; + } + + util.nextTick = util.setImmediate; +})(); + +// check if running under Node.js +util.isNodejs = + typeof process !== 'undefined' && process.versions && process.versions.node; + +// define isArray +util.isArray = Array.isArray || function(x) { + return Object.prototype.toString.call(x) === '[object Array]'; +}; + +// define isArrayBuffer +util.isArrayBuffer = function(x) { + return typeof ArrayBuffer !== 'undefined' && x instanceof ArrayBuffer; +}; + +// define isArrayBufferView +util.isArrayBufferView = function(x) { + return x && util.isArrayBuffer(x.buffer) && x.byteLength !== undefined; +}; + +/** + * Ensure a bits param is 8, 16, 24, or 32. Used to validate input for + * algorithms where bit manipulation, JavaScript limitations, and/or algorithm + * design only allow for byte operations of a limited size. + * + * @param n number of bits. + * + * Throw Error if n invalid. + */ +function _checkBitsParam(n) { + if(!(n === 8 || n === 16 || n === 24 || n === 32)) { + throw new Error('Only 8, 16, 24, or 32 bits supported: ' + n); + } +} + +// TODO: set ByteBuffer to best available backing +util.ByteBuffer = ByteStringBuffer; + +/** Buffer w/BinaryString backing */ + +/** + * Constructor for a binary string backed byte buffer. + * + * @param [b] the bytes to wrap (either encoded as string, one byte per + * character, or as an ArrayBuffer or Typed Array). + */ +function ByteStringBuffer(b) { + // TODO: update to match DataBuffer API + + // the data in this buffer + this.data = ''; + // the pointer for reading from this buffer + this.read = 0; + + if(typeof b === 'string') { + this.data = b; + } else if(util.isArrayBuffer(b) || util.isArrayBufferView(b)) { + if(typeof Buffer !== 'undefined' && b instanceof Buffer) { + this.data = b.toString('binary'); + } else { + // convert native buffer to forge buffer + // FIXME: support native buffers internally instead + var arr = new Uint8Array(b); + try { + this.data = String.fromCharCode.apply(null, arr); + } catch(e) { + for(var i = 0; i < arr.length; ++i) { + this.putByte(arr[i]); + } + } + } + } else if(b instanceof ByteStringBuffer || + (typeof b === 'object' && typeof b.data === 'string' && + typeof b.read === 'number')) { + // copy existing buffer + this.data = b.data; + this.read = b.read; + } + + // used for v8 optimization + this._constructedStringLength = 0; +} +util.ByteStringBuffer = ByteStringBuffer; + +/* Note: This is an optimization for V8-based browsers. When V8 concatenates + a string, the strings are only joined logically using a "cons string" or + "constructed/concatenated string". These containers keep references to one + another and can result in very large memory usage. For example, if a 2MB + string is constructed by concatenating 4 bytes together at a time, the + memory usage will be ~44MB; so ~22x increase. The strings are only joined + together when an operation requiring their joining takes place, such as + substr(). This function is called when adding data to this buffer to ensure + these types of strings are periodically joined to reduce the memory + footprint. */ +var _MAX_CONSTRUCTED_STRING_LENGTH = 4096; +util.ByteStringBuffer.prototype._optimizeConstructedString = function(x) { + this._constructedStringLength += x; + if(this._constructedStringLength > _MAX_CONSTRUCTED_STRING_LENGTH) { + // this substr() should cause the constructed string to join + this.data.substr(0, 1); + this._constructedStringLength = 0; + } +}; + +/** + * Gets the number of bytes in this buffer. + * + * @return the number of bytes in this buffer. + */ +util.ByteStringBuffer.prototype.length = function() { + return this.data.length - this.read; +}; + +/** + * Gets whether or not this buffer is empty. + * + * @return true if this buffer is empty, false if not. + */ +util.ByteStringBuffer.prototype.isEmpty = function() { + return this.length() <= 0; +}; + +/** + * Puts a byte in this buffer. + * + * @param b the byte to put. + * + * @return this buffer. + */ +util.ByteStringBuffer.prototype.putByte = function(b) { + return this.putBytes(String.fromCharCode(b)); +}; + +/** + * Puts a byte in this buffer N times. + * + * @param b the byte to put. + * @param n the number of bytes of value b to put. + * + * @return this buffer. + */ +util.ByteStringBuffer.prototype.fillWithByte = function(b, n) { + b = String.fromCharCode(b); + var d = this.data; + while(n > 0) { + if(n & 1) { + d += b; + } + n >>>= 1; + if(n > 0) { + b += b; + } + } + this.data = d; + this._optimizeConstructedString(n); + return this; +}; + +/** + * Puts bytes in this buffer. + * + * @param bytes the bytes (as a UTF-8 encoded string) to put. + * + * @return this buffer. + */ +util.ByteStringBuffer.prototype.putBytes = function(bytes) { + this.data += bytes; + this._optimizeConstructedString(bytes.length); + return this; +}; + +/** + * Puts a UTF-16 encoded string into this buffer. + * + * @param str the string to put. + * + * @return this buffer. + */ +util.ByteStringBuffer.prototype.putString = function(str) { + return this.putBytes(util.encodeUtf8(str)); +}; + +/** + * Puts a 16-bit integer in this buffer in big-endian order. + * + * @param i the 16-bit integer. + * + * @return this buffer. + */ +util.ByteStringBuffer.prototype.putInt16 = function(i) { + return this.putBytes( + String.fromCharCode(i >> 8 & 0xFF) + + String.fromCharCode(i & 0xFF)); +}; + +/** + * Puts a 24-bit integer in this buffer in big-endian order. + * + * @param i the 24-bit integer. + * + * @return this buffer. + */ +util.ByteStringBuffer.prototype.putInt24 = function(i) { + return this.putBytes( + String.fromCharCode(i >> 16 & 0xFF) + + String.fromCharCode(i >> 8 & 0xFF) + + String.fromCharCode(i & 0xFF)); +}; + +/** + * Puts a 32-bit integer in this buffer in big-endian order. + * + * @param i the 32-bit integer. + * + * @return this buffer. + */ +util.ByteStringBuffer.prototype.putInt32 = function(i) { + return this.putBytes( + String.fromCharCode(i >> 24 & 0xFF) + + String.fromCharCode(i >> 16 & 0xFF) + + String.fromCharCode(i >> 8 & 0xFF) + + String.fromCharCode(i & 0xFF)); +}; + +/** + * Puts a 16-bit integer in this buffer in little-endian order. + * + * @param i the 16-bit integer. + * + * @return this buffer. + */ +util.ByteStringBuffer.prototype.putInt16Le = function(i) { + return this.putBytes( + String.fromCharCode(i & 0xFF) + + String.fromCharCode(i >> 8 & 0xFF)); +}; + +/** + * Puts a 24-bit integer in this buffer in little-endian order. + * + * @param i the 24-bit integer. + * + * @return this buffer. + */ +util.ByteStringBuffer.prototype.putInt24Le = function(i) { + return this.putBytes( + String.fromCharCode(i & 0xFF) + + String.fromCharCode(i >> 8 & 0xFF) + + String.fromCharCode(i >> 16 & 0xFF)); +}; + +/** + * Puts a 32-bit integer in this buffer in little-endian order. + * + * @param i the 32-bit integer. + * + * @return this buffer. + */ +util.ByteStringBuffer.prototype.putInt32Le = function(i) { + return this.putBytes( + String.fromCharCode(i & 0xFF) + + String.fromCharCode(i >> 8 & 0xFF) + + String.fromCharCode(i >> 16 & 0xFF) + + String.fromCharCode(i >> 24 & 0xFF)); +}; + +/** + * Puts an n-bit integer in this buffer in big-endian order. + * + * @param i the n-bit integer. + * @param n the number of bits in the integer (8, 16, 24, or 32). + * + * @return this buffer. + */ +util.ByteStringBuffer.prototype.putInt = function(i, n) { + _checkBitsParam(n); + var bytes = ''; + do { + n -= 8; + bytes += String.fromCharCode((i >> n) & 0xFF); + } while(n > 0); + return this.putBytes(bytes); +}; + +/** + * Puts a signed n-bit integer in this buffer in big-endian order. Two's + * complement representation is used. + * + * @param i the n-bit integer. + * @param n the number of bits in the integer (8, 16, 24, or 32). + * + * @return this buffer. + */ +util.ByteStringBuffer.prototype.putSignedInt = function(i, n) { + // putInt checks n + if(i < 0) { + i += 2 << (n - 1); + } + return this.putInt(i, n); +}; + +/** + * Puts the given buffer into this buffer. + * + * @param buffer the buffer to put into this one. + * + * @return this buffer. + */ +util.ByteStringBuffer.prototype.putBuffer = function(buffer) { + return this.putBytes(buffer.getBytes()); +}; + +/** + * Gets a byte from this buffer and advances the read pointer by 1. + * + * @return the byte. + */ +util.ByteStringBuffer.prototype.getByte = function() { + return this.data.charCodeAt(this.read++); +}; + +/** + * Gets a uint16 from this buffer in big-endian order and advances the read + * pointer by 2. + * + * @return the uint16. + */ +util.ByteStringBuffer.prototype.getInt16 = function() { + var rval = ( + this.data.charCodeAt(this.read) << 8 ^ + this.data.charCodeAt(this.read + 1)); + this.read += 2; + return rval; +}; + +/** + * Gets a uint24 from this buffer in big-endian order and advances the read + * pointer by 3. + * + * @return the uint24. + */ +util.ByteStringBuffer.prototype.getInt24 = function() { + var rval = ( + this.data.charCodeAt(this.read) << 16 ^ + this.data.charCodeAt(this.read + 1) << 8 ^ + this.data.charCodeAt(this.read + 2)); + this.read += 3; + return rval; +}; + +/** + * Gets a uint32 from this buffer in big-endian order and advances the read + * pointer by 4. + * + * @return the word. + */ +util.ByteStringBuffer.prototype.getInt32 = function() { + var rval = ( + this.data.charCodeAt(this.read) << 24 ^ + this.data.charCodeAt(this.read + 1) << 16 ^ + this.data.charCodeAt(this.read + 2) << 8 ^ + this.data.charCodeAt(this.read + 3)); + this.read += 4; + return rval; +}; + +/** + * Gets a uint16 from this buffer in little-endian order and advances the read + * pointer by 2. + * + * @return the uint16. + */ +util.ByteStringBuffer.prototype.getInt16Le = function() { + var rval = ( + this.data.charCodeAt(this.read) ^ + this.data.charCodeAt(this.read + 1) << 8); + this.read += 2; + return rval; +}; + +/** + * Gets a uint24 from this buffer in little-endian order and advances the read + * pointer by 3. + * + * @return the uint24. + */ +util.ByteStringBuffer.prototype.getInt24Le = function() { + var rval = ( + this.data.charCodeAt(this.read) ^ + this.data.charCodeAt(this.read + 1) << 8 ^ + this.data.charCodeAt(this.read + 2) << 16); + this.read += 3; + return rval; +}; + +/** + * Gets a uint32 from this buffer in little-endian order and advances the read + * pointer by 4. + * + * @return the word. + */ +util.ByteStringBuffer.prototype.getInt32Le = function() { + var rval = ( + this.data.charCodeAt(this.read) ^ + this.data.charCodeAt(this.read + 1) << 8 ^ + this.data.charCodeAt(this.read + 2) << 16 ^ + this.data.charCodeAt(this.read + 3) << 24); + this.read += 4; + return rval; +}; + +/** + * Gets an n-bit integer from this buffer in big-endian order and advances the + * read pointer by ceil(n/8). + * + * @param n the number of bits in the integer (8, 16, 24, or 32). + * + * @return the integer. + */ +util.ByteStringBuffer.prototype.getInt = function(n) { + _checkBitsParam(n); + var rval = 0; + do { + // TODO: Use (rval * 0x100) if adding support for 33 to 53 bits. + rval = (rval << 8) + this.data.charCodeAt(this.read++); + n -= 8; + } while(n > 0); + return rval; +}; + +/** + * Gets a signed n-bit integer from this buffer in big-endian order, using + * two's complement, and advances the read pointer by n/8. + * + * @param n the number of bits in the integer (8, 16, 24, or 32). + * + * @return the integer. + */ +util.ByteStringBuffer.prototype.getSignedInt = function(n) { + // getInt checks n + var x = this.getInt(n); + var max = 2 << (n - 2); + if(x >= max) { + x -= max << 1; + } + return x; +}; + +/** + * Reads bytes out into a UTF-8 string and clears them from the buffer. + * + * @param count the number of bytes to read, undefined or null for all. + * + * @return a UTF-8 string of bytes. + */ +util.ByteStringBuffer.prototype.getBytes = function(count) { + var rval; + if(count) { + // read count bytes + count = Math.min(this.length(), count); + rval = this.data.slice(this.read, this.read + count); + this.read += count; + } else if(count === 0) { + rval = ''; + } else { + // read all bytes, optimize to only copy when needed + rval = (this.read === 0) ? this.data : this.data.slice(this.read); + this.clear(); + } + return rval; +}; + +/** + * Gets a UTF-8 encoded string of the bytes from this buffer without modifying + * the read pointer. + * + * @param count the number of bytes to get, omit to get all. + * + * @return a string full of UTF-8 encoded characters. + */ +util.ByteStringBuffer.prototype.bytes = function(count) { + return (typeof(count) === 'undefined' ? + this.data.slice(this.read) : + this.data.slice(this.read, this.read + count)); +}; + +/** + * Gets a byte at the given index without modifying the read pointer. + * + * @param i the byte index. + * + * @return the byte. + */ +util.ByteStringBuffer.prototype.at = function(i) { + return this.data.charCodeAt(this.read + i); +}; + +/** + * Puts a byte at the given index without modifying the read pointer. + * + * @param i the byte index. + * @param b the byte to put. + * + * @return this buffer. + */ +util.ByteStringBuffer.prototype.setAt = function(i, b) { + this.data = this.data.substr(0, this.read + i) + + String.fromCharCode(b) + + this.data.substr(this.read + i + 1); + return this; +}; + +/** + * Gets the last byte without modifying the read pointer. + * + * @return the last byte. + */ +util.ByteStringBuffer.prototype.last = function() { + return this.data.charCodeAt(this.data.length - 1); +}; + +/** + * Creates a copy of this buffer. + * + * @return the copy. + */ +util.ByteStringBuffer.prototype.copy = function() { + var c = util.createBuffer(this.data); + c.read = this.read; + return c; +}; + +/** + * Compacts this buffer. + * + * @return this buffer. + */ +util.ByteStringBuffer.prototype.compact = function() { + if(this.read > 0) { + this.data = this.data.slice(this.read); + this.read = 0; + } + return this; +}; + +/** + * Clears this buffer. + * + * @return this buffer. + */ +util.ByteStringBuffer.prototype.clear = function() { + this.data = ''; + this.read = 0; + return this; +}; + +/** + * Shortens this buffer by triming bytes off of the end of this buffer. + * + * @param count the number of bytes to trim off. + * + * @return this buffer. + */ +util.ByteStringBuffer.prototype.truncate = function(count) { + var len = Math.max(0, this.length() - count); + this.data = this.data.substr(this.read, len); + this.read = 0; + return this; +}; + +/** + * Converts this buffer to a hexadecimal string. + * + * @return a hexadecimal string. + */ +util.ByteStringBuffer.prototype.toHex = function() { + var rval = ''; + for(var i = this.read; i < this.data.length; ++i) { + var b = this.data.charCodeAt(i); + if(b < 16) { + rval += '0'; + } + rval += b.toString(16); + } + return rval; +}; + +/** + * Converts this buffer to a UTF-16 string (standard JavaScript string). + * + * @return a UTF-16 string. + */ +util.ByteStringBuffer.prototype.toString = function() { + return util.decodeUtf8(this.bytes()); +}; + +/** End Buffer w/BinaryString backing */ + +/** Buffer w/UInt8Array backing */ + +/** + * FIXME: Experimental. Do not use yet. + * + * Constructor for an ArrayBuffer-backed byte buffer. + * + * The buffer may be constructed from a string, an ArrayBuffer, DataView, or a + * TypedArray. + * + * If a string is given, its encoding should be provided as an option, + * otherwise it will default to 'binary'. A 'binary' string is encoded such + * that each character is one byte in length and size. + * + * If an ArrayBuffer, DataView, or TypedArray is given, it will be used + * *directly* without any copying. Note that, if a write to the buffer requires + * more space, the buffer will allocate a new backing ArrayBuffer to + * accommodate. The starting read and write offsets for the buffer may be + * given as options. + * + * @param [b] the initial bytes for this buffer. + * @param options the options to use: + * [readOffset] the starting read offset to use (default: 0). + * [writeOffset] the starting write offset to use (default: the + * length of the first parameter). + * [growSize] the minimum amount, in bytes, to grow the buffer by to + * accommodate writes (default: 1024). + * [encoding] the encoding ('binary', 'utf8', 'utf16', 'hex') for the + * first parameter, if it is a string (default: 'binary'). + */ +function DataBuffer(b, options) { + // default options + options = options || {}; + + // pointers for read from/write to buffer + this.read = options.readOffset || 0; + this.growSize = options.growSize || 1024; + + var isArrayBuffer = util.isArrayBuffer(b); + var isArrayBufferView = util.isArrayBufferView(b); + if(isArrayBuffer || isArrayBufferView) { + // use ArrayBuffer directly + if(isArrayBuffer) { + this.data = new DataView(b); + } else { + // TODO: adjust read/write offset based on the type of view + // or specify that this must be done in the options ... that the + // offsets are byte-based + this.data = new DataView(b.buffer, b.byteOffset, b.byteLength); + } + this.write = ('writeOffset' in options ? + options.writeOffset : this.data.byteLength); + return; + } + + // initialize to empty array buffer and add any given bytes using putBytes + this.data = new DataView(new ArrayBuffer(0)); + this.write = 0; + + if(b !== null && b !== undefined) { + this.putBytes(b); + } + + if('writeOffset' in options) { + this.write = options.writeOffset; + } +} +util.DataBuffer = DataBuffer; + +/** + * Gets the number of bytes in this buffer. + * + * @return the number of bytes in this buffer. + */ +util.DataBuffer.prototype.length = function() { + return this.write - this.read; +}; + +/** + * Gets whether or not this buffer is empty. + * + * @return true if this buffer is empty, false if not. + */ +util.DataBuffer.prototype.isEmpty = function() { + return this.length() <= 0; +}; + +/** + * Ensures this buffer has enough empty space to accommodate the given number + * of bytes. An optional parameter may be given that indicates a minimum + * amount to grow the buffer if necessary. If the parameter is not given, + * the buffer will be grown by some previously-specified default amount + * or heuristic. + * + * @param amount the number of bytes to accommodate. + * @param [growSize] the minimum amount, in bytes, to grow the buffer by if + * necessary. + */ +util.DataBuffer.prototype.accommodate = function(amount, growSize) { + if(this.length() >= amount) { + return this; + } + growSize = Math.max(growSize || this.growSize, amount); + + // grow buffer + var src = new Uint8Array( + this.data.buffer, this.data.byteOffset, this.data.byteLength); + var dst = new Uint8Array(this.length() + growSize); + dst.set(src); + this.data = new DataView(dst.buffer); + + return this; +}; + +/** + * Puts a byte in this buffer. + * + * @param b the byte to put. + * + * @return this buffer. + */ +util.DataBuffer.prototype.putByte = function(b) { + this.accommodate(1); + this.data.setUint8(this.write++, b); + return this; +}; + +/** + * Puts a byte in this buffer N times. + * + * @param b the byte to put. + * @param n the number of bytes of value b to put. + * + * @return this buffer. + */ +util.DataBuffer.prototype.fillWithByte = function(b, n) { + this.accommodate(n); + for(var i = 0; i < n; ++i) { + this.data.setUint8(b); + } + return this; +}; + +/** + * Puts bytes in this buffer. The bytes may be given as a string, an + * ArrayBuffer, a DataView, or a TypedArray. + * + * @param bytes the bytes to put. + * @param [encoding] the encoding for the first parameter ('binary', 'utf8', + * 'utf16', 'hex'), if it is a string (default: 'binary'). + * + * @return this buffer. + */ +util.DataBuffer.prototype.putBytes = function(bytes, encoding) { + if(util.isArrayBufferView(bytes)) { + var src = new Uint8Array(bytes.buffer, bytes.byteOffset, bytes.byteLength); + var len = src.byteLength - src.byteOffset; + this.accommodate(len); + var dst = new Uint8Array(this.data.buffer, this.write); + dst.set(src); + this.write += len; + return this; + } + + if(util.isArrayBuffer(bytes)) { + var src = new Uint8Array(bytes); + this.accommodate(src.byteLength); + var dst = new Uint8Array(this.data.buffer); + dst.set(src, this.write); + this.write += src.byteLength; + return this; + } + + // bytes is a util.DataBuffer or equivalent + if(bytes instanceof util.DataBuffer || + (typeof bytes === 'object' && + typeof bytes.read === 'number' && typeof bytes.write === 'number' && + util.isArrayBufferView(bytes.data))) { + var src = new Uint8Array(bytes.data.byteLength, bytes.read, bytes.length()); + this.accommodate(src.byteLength); + var dst = new Uint8Array(bytes.data.byteLength, this.write); + dst.set(src); + this.write += src.byteLength; + return this; + } + + if(bytes instanceof util.ByteStringBuffer) { + // copy binary string and process as the same as a string parameter below + bytes = bytes.data; + encoding = 'binary'; + } + + // string conversion + encoding = encoding || 'binary'; + if(typeof bytes === 'string') { + var view; + + // decode from string + if(encoding === 'hex') { + this.accommodate(Math.ceil(bytes.length / 2)); + view = new Uint8Array(this.data.buffer, this.write); + this.write += util.binary.hex.decode(bytes, view, this.write); + return this; + } + if(encoding === 'base64') { + this.accommodate(Math.ceil(bytes.length / 4) * 3); + view = new Uint8Array(this.data.buffer, this.write); + this.write += util.binary.base64.decode(bytes, view, this.write); + return this; + } + + // encode text as UTF-8 bytes + if(encoding === 'utf8') { + // encode as UTF-8 then decode string as raw binary + bytes = util.encodeUtf8(bytes); + encoding = 'binary'; + } + + // decode string as raw binary + if(encoding === 'binary' || encoding === 'raw') { + // one byte per character + this.accommodate(bytes.length); + view = new Uint8Array(this.data.buffer, this.write); + this.write += util.binary.raw.decode(view); + return this; + } + + // encode text as UTF-16 bytes + if(encoding === 'utf16') { + // two bytes per character + this.accommodate(bytes.length * 2); + view = new Uint16Array(this.data.buffer, this.write); + this.write += util.text.utf16.encode(view); + return this; + } + + throw new Error('Invalid encoding: ' + encoding); + } + + throw Error('Invalid parameter: ' + bytes); +}; + +/** + * Puts the given buffer into this buffer. + * + * @param buffer the buffer to put into this one. + * + * @return this buffer. + */ +util.DataBuffer.prototype.putBuffer = function(buffer) { + this.putBytes(buffer); + buffer.clear(); + return this; +}; + +/** + * Puts a string into this buffer. + * + * @param str the string to put. + * @param [encoding] the encoding for the string (default: 'utf16'). + * + * @return this buffer. + */ +util.DataBuffer.prototype.putString = function(str) { + return this.putBytes(str, 'utf16'); +}; + +/** + * Puts a 16-bit integer in this buffer in big-endian order. + * + * @param i the 16-bit integer. + * + * @return this buffer. + */ +util.DataBuffer.prototype.putInt16 = function(i) { + this.accommodate(2); + this.data.setInt16(this.write, i); + this.write += 2; + return this; +}; + +/** + * Puts a 24-bit integer in this buffer in big-endian order. + * + * @param i the 24-bit integer. + * + * @return this buffer. + */ +util.DataBuffer.prototype.putInt24 = function(i) { + this.accommodate(3); + this.data.setInt16(this.write, i >> 8 & 0xFFFF); + this.data.setInt8(this.write, i >> 16 & 0xFF); + this.write += 3; + return this; +}; + +/** + * Puts a 32-bit integer in this buffer in big-endian order. + * + * @param i the 32-bit integer. + * + * @return this buffer. + */ +util.DataBuffer.prototype.putInt32 = function(i) { + this.accommodate(4); + this.data.setInt32(this.write, i); + this.write += 4; + return this; +}; + +/** + * Puts a 16-bit integer in this buffer in little-endian order. + * + * @param i the 16-bit integer. + * + * @return this buffer. + */ +util.DataBuffer.prototype.putInt16Le = function(i) { + this.accommodate(2); + this.data.setInt16(this.write, i, true); + this.write += 2; + return this; +}; + +/** + * Puts a 24-bit integer in this buffer in little-endian order. + * + * @param i the 24-bit integer. + * + * @return this buffer. + */ +util.DataBuffer.prototype.putInt24Le = function(i) { + this.accommodate(3); + this.data.setInt8(this.write, i >> 16 & 0xFF); + this.data.setInt16(this.write, i >> 8 & 0xFFFF, true); + this.write += 3; + return this; +}; + +/** + * Puts a 32-bit integer in this buffer in little-endian order. + * + * @param i the 32-bit integer. + * + * @return this buffer. + */ +util.DataBuffer.prototype.putInt32Le = function(i) { + this.accommodate(4); + this.data.setInt32(this.write, i, true); + this.write += 4; + return this; +}; + +/** + * Puts an n-bit integer in this buffer in big-endian order. + * + * @param i the n-bit integer. + * @param n the number of bits in the integer (8, 16, 24, or 32). + * + * @return this buffer. + */ +util.DataBuffer.prototype.putInt = function(i, n) { + _checkBitsParam(n); + this.accommodate(n / 8); + do { + n -= 8; + this.data.setInt8(this.write++, (i >> n) & 0xFF); + } while(n > 0); + return this; +}; + +/** + * Puts a signed n-bit integer in this buffer in big-endian order. Two's + * complement representation is used. + * + * @param i the n-bit integer. + * @param n the number of bits in the integer. + * + * @return this buffer. + */ +util.DataBuffer.prototype.putSignedInt = function(i, n) { + _checkBitsParam(n); + this.accommodate(n / 8); + if(i < 0) { + i += 2 << (n - 1); + } + return this.putInt(i, n); +}; + +/** + * Gets a byte from this buffer and advances the read pointer by 1. + * + * @return the byte. + */ +util.DataBuffer.prototype.getByte = function() { + return this.data.getInt8(this.read++); +}; + +/** + * Gets a uint16 from this buffer in big-endian order and advances the read + * pointer by 2. + * + * @return the uint16. + */ +util.DataBuffer.prototype.getInt16 = function() { + var rval = this.data.getInt16(this.read); + this.read += 2; + return rval; +}; + +/** + * Gets a uint24 from this buffer in big-endian order and advances the read + * pointer by 3. + * + * @return the uint24. + */ +util.DataBuffer.prototype.getInt24 = function() { + var rval = ( + this.data.getInt16(this.read) << 8 ^ + this.data.getInt8(this.read + 2)); + this.read += 3; + return rval; +}; + +/** + * Gets a uint32 from this buffer in big-endian order and advances the read + * pointer by 4. + * + * @return the word. + */ +util.DataBuffer.prototype.getInt32 = function() { + var rval = this.data.getInt32(this.read); + this.read += 4; + return rval; +}; + +/** + * Gets a uint16 from this buffer in little-endian order and advances the read + * pointer by 2. + * + * @return the uint16. + */ +util.DataBuffer.prototype.getInt16Le = function() { + var rval = this.data.getInt16(this.read, true); + this.read += 2; + return rval; +}; + +/** + * Gets a uint24 from this buffer in little-endian order and advances the read + * pointer by 3. + * + * @return the uint24. + */ +util.DataBuffer.prototype.getInt24Le = function() { + var rval = ( + this.data.getInt8(this.read) ^ + this.data.getInt16(this.read + 1, true) << 8); + this.read += 3; + return rval; +}; + +/** + * Gets a uint32 from this buffer in little-endian order and advances the read + * pointer by 4. + * + * @return the word. + */ +util.DataBuffer.prototype.getInt32Le = function() { + var rval = this.data.getInt32(this.read, true); + this.read += 4; + return rval; +}; + +/** + * Gets an n-bit integer from this buffer in big-endian order and advances the + * read pointer by n/8. + * + * @param n the number of bits in the integer (8, 16, 24, or 32). + * + * @return the integer. + */ +util.DataBuffer.prototype.getInt = function(n) { + _checkBitsParam(n); + var rval = 0; + do { + // TODO: Use (rval * 0x100) if adding support for 33 to 53 bits. + rval = (rval << 8) + this.data.getInt8(this.read++); + n -= 8; + } while(n > 0); + return rval; +}; + +/** + * Gets a signed n-bit integer from this buffer in big-endian order, using + * two's complement, and advances the read pointer by n/8. + * + * @param n the number of bits in the integer (8, 16, 24, or 32). + * + * @return the integer. + */ +util.DataBuffer.prototype.getSignedInt = function(n) { + // getInt checks n + var x = this.getInt(n); + var max = 2 << (n - 2); + if(x >= max) { + x -= max << 1; + } + return x; +}; + +/** + * Reads bytes out into a UTF-8 string and clears them from the buffer. + * + * @param count the number of bytes to read, undefined or null for all. + * + * @return a UTF-8 string of bytes. + */ +util.DataBuffer.prototype.getBytes = function(count) { + // TODO: deprecate this method, it is poorly named and + // this.toString('binary') replaces it + // add a toTypedArray()/toArrayBuffer() function + var rval; + if(count) { + // read count bytes + count = Math.min(this.length(), count); + rval = this.data.slice(this.read, this.read + count); + this.read += count; + } else if(count === 0) { + rval = ''; + } else { + // read all bytes, optimize to only copy when needed + rval = (this.read === 0) ? this.data : this.data.slice(this.read); + this.clear(); + } + return rval; +}; + +/** + * Gets a UTF-8 encoded string of the bytes from this buffer without modifying + * the read pointer. + * + * @param count the number of bytes to get, omit to get all. + * + * @return a string full of UTF-8 encoded characters. + */ +util.DataBuffer.prototype.bytes = function(count) { + // TODO: deprecate this method, it is poorly named, add "getString()" + return (typeof(count) === 'undefined' ? + this.data.slice(this.read) : + this.data.slice(this.read, this.read + count)); +}; + +/** + * Gets a byte at the given index without modifying the read pointer. + * + * @param i the byte index. + * + * @return the byte. + */ +util.DataBuffer.prototype.at = function(i) { + return this.data.getUint8(this.read + i); +}; + +/** + * Puts a byte at the given index without modifying the read pointer. + * + * @param i the byte index. + * @param b the byte to put. + * + * @return this buffer. + */ +util.DataBuffer.prototype.setAt = function(i, b) { + this.data.setUint8(i, b); + return this; +}; + +/** + * Gets the last byte without modifying the read pointer. + * + * @return the last byte. + */ +util.DataBuffer.prototype.last = function() { + return this.data.getUint8(this.write - 1); +}; + +/** + * Creates a copy of this buffer. + * + * @return the copy. + */ +util.DataBuffer.prototype.copy = function() { + return new util.DataBuffer(this); +}; + +/** + * Compacts this buffer. + * + * @return this buffer. + */ +util.DataBuffer.prototype.compact = function() { + if(this.read > 0) { + var src = new Uint8Array(this.data.buffer, this.read); + var dst = new Uint8Array(src.byteLength); + dst.set(src); + this.data = new DataView(dst); + this.write -= this.read; + this.read = 0; + } + return this; +}; + +/** + * Clears this buffer. + * + * @return this buffer. + */ +util.DataBuffer.prototype.clear = function() { + this.data = new DataView(new ArrayBuffer(0)); + this.read = this.write = 0; + return this; +}; + +/** + * Shortens this buffer by triming bytes off of the end of this buffer. + * + * @param count the number of bytes to trim off. + * + * @return this buffer. + */ +util.DataBuffer.prototype.truncate = function(count) { + this.write = Math.max(0, this.length() - count); + this.read = Math.min(this.read, this.write); + return this; +}; + +/** + * Converts this buffer to a hexadecimal string. + * + * @return a hexadecimal string. + */ +util.DataBuffer.prototype.toHex = function() { + var rval = ''; + for(var i = this.read; i < this.data.byteLength; ++i) { + var b = this.data.getUint8(i); + if(b < 16) { + rval += '0'; + } + rval += b.toString(16); + } + return rval; +}; + +/** + * Converts this buffer to a string, using the given encoding. If no + * encoding is given, 'utf8' (UTF-8) is used. + * + * @param [encoding] the encoding to use: 'binary', 'utf8', 'utf16', 'hex', + * 'base64' (default: 'utf8'). + * + * @return a string representation of the bytes in this buffer. + */ +util.DataBuffer.prototype.toString = function(encoding) { + var view = new Uint8Array(this.data, this.read, this.length()); + encoding = encoding || 'utf8'; + + // encode to string + if(encoding === 'binary' || encoding === 'raw') { + return util.binary.raw.encode(view); + } + if(encoding === 'hex') { + return util.binary.hex.encode(view); + } + if(encoding === 'base64') { + return util.binary.base64.encode(view); + } + + // decode to text + if(encoding === 'utf8') { + return util.text.utf8.decode(view); + } + if(encoding === 'utf16') { + return util.text.utf16.decode(view); + } + + throw new Error('Invalid encoding: ' + encoding); +}; + +/** End Buffer w/UInt8Array backing */ + +/** + * Creates a buffer that stores bytes. A value may be given to put into the + * buffer that is either a string of bytes or a UTF-16 string that will + * be encoded using UTF-8 (to do the latter, specify 'utf8' as the encoding). + * + * @param [input] the bytes to wrap (as a string) or a UTF-16 string to encode + * as UTF-8. + * @param [encoding] (default: 'raw', other: 'utf8'). + */ +util.createBuffer = function(input, encoding) { + // TODO: deprecate, use new ByteBuffer() instead + encoding = encoding || 'raw'; + if(input !== undefined && encoding === 'utf8') { + input = util.encodeUtf8(input); + } + return new util.ByteBuffer(input); +}; + +/** + * Fills a string with a particular value. If you want the string to be a byte + * string, pass in String.fromCharCode(theByte). + * + * @param c the character to fill the string with, use String.fromCharCode + * to fill the string with a byte value. + * @param n the number of characters of value c to fill with. + * + * @return the filled string. + */ +util.fillString = function(c, n) { + var s = ''; + while(n > 0) { + if(n & 1) { + s += c; + } + n >>>= 1; + if(n > 0) { + c += c; + } + } + return s; +}; + +/** + * Performs a per byte XOR between two byte strings and returns the result as a + * string of bytes. + * + * @param s1 first string of bytes. + * @param s2 second string of bytes. + * @param n the number of bytes to XOR. + * + * @return the XOR'd result. + */ +util.xorBytes = function(s1, s2, n) { + var s3 = ''; + var b = ''; + var t = ''; + var i = 0; + var c = 0; + for(; n > 0; --n, ++i) { + b = s1.charCodeAt(i) ^ s2.charCodeAt(i); + if(c >= 10) { + s3 += t; + t = ''; + c = 0; + } + t += String.fromCharCode(b); + ++c; + } + s3 += t; + return s3; +}; + +/** + * Converts a hex string into a 'binary' encoded string of bytes. + * + * @param hex the hexadecimal string to convert. + * + * @return the binary-encoded string of bytes. + */ +util.hexToBytes = function(hex) { + // TODO: deprecate: "Deprecated. Use util.binary.hex.decode instead." + var rval = ''; + var i = 0; + if(hex.length & 1 == 1) { + // odd number of characters, convert first character alone + i = 1; + rval += String.fromCharCode(parseInt(hex[0], 16)); + } + // convert 2 characters (1 byte) at a time + for(; i < hex.length; i += 2) { + rval += String.fromCharCode(parseInt(hex.substr(i, 2), 16)); + } + return rval; +}; + +/** + * Converts a 'binary' encoded string of bytes to hex. + * + * @param bytes the byte string to convert. + * + * @return the string of hexadecimal characters. + */ +util.bytesToHex = function(bytes) { + // TODO: deprecate: "Deprecated. Use util.binary.hex.encode instead." + return util.createBuffer(bytes).toHex(); +}; + +/** + * Converts an 32-bit integer to 4-big-endian byte string. + * + * @param i the integer. + * + * @return the byte string. + */ +util.int32ToBytes = function(i) { + return ( + String.fromCharCode(i >> 24 & 0xFF) + + String.fromCharCode(i >> 16 & 0xFF) + + String.fromCharCode(i >> 8 & 0xFF) + + String.fromCharCode(i & 0xFF)); +}; + +// base64 characters, reverse mapping +var _base64 = + 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; +var _base64Idx = [ +/*43 -43 = 0*/ +/*'+', 1, 2, 3,'/' */ + 62, -1, -1, -1, 63, + +/*'0','1','2','3','4','5','6','7','8','9' */ + 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, + +/*15, 16, 17,'=', 19, 20, 21 */ + -1, -1, -1, 64, -1, -1, -1, + +/*65 - 43 = 22*/ +/*'A','B','C','D','E','F','G','H','I','J','K','L','M', */ + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, + +/*'N','O','P','Q','R','S','T','U','V','W','X','Y','Z' */ + 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, + +/*91 - 43 = 48 */ +/*48, 49, 50, 51, 52, 53 */ + -1, -1, -1, -1, -1, -1, + +/*97 - 43 = 54*/ +/*'a','b','c','d','e','f','g','h','i','j','k','l','m' */ + 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + +/*'n','o','p','q','r','s','t','u','v','w','x','y','z' */ + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51 +]; + +// base58 characters (Bitcoin alphabet) +var _base58 = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'; + +/** + * Base64 encodes a 'binary' encoded string of bytes. + * + * @param input the binary encoded string of bytes to base64-encode. + * @param maxline the maximum number of encoded characters per line to use, + * defaults to none. + * + * @return the base64-encoded output. + */ +util.encode64 = function(input, maxline) { + // TODO: deprecate: "Deprecated. Use util.binary.base64.encode instead." + var line = ''; + var output = ''; + var chr1, chr2, chr3; + var i = 0; + while(i < input.length) { + chr1 = input.charCodeAt(i++); + chr2 = input.charCodeAt(i++); + chr3 = input.charCodeAt(i++); + + // encode 4 character group + line += _base64.charAt(chr1 >> 2); + line += _base64.charAt(((chr1 & 3) << 4) | (chr2 >> 4)); + if(isNaN(chr2)) { + line += '=='; + } else { + line += _base64.charAt(((chr2 & 15) << 2) | (chr3 >> 6)); + line += isNaN(chr3) ? '=' : _base64.charAt(chr3 & 63); + } + + if(maxline && line.length > maxline) { + output += line.substr(0, maxline) + '\r\n'; + line = line.substr(maxline); + } + } + output += line; + return output; +}; + +/** + * Base64 decodes a string into a 'binary' encoded string of bytes. + * + * @param input the base64-encoded input. + * + * @return the binary encoded string. + */ +util.decode64 = function(input) { + // TODO: deprecate: "Deprecated. Use util.binary.base64.decode instead." + + // remove all non-base64 characters + input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ''); + + var output = ''; + var enc1, enc2, enc3, enc4; + var i = 0; + + while(i < input.length) { + enc1 = _base64Idx[input.charCodeAt(i++) - 43]; + enc2 = _base64Idx[input.charCodeAt(i++) - 43]; + enc3 = _base64Idx[input.charCodeAt(i++) - 43]; + enc4 = _base64Idx[input.charCodeAt(i++) - 43]; + + output += String.fromCharCode((enc1 << 2) | (enc2 >> 4)); + if(enc3 !== 64) { + // decoded at least 2 bytes + output += String.fromCharCode(((enc2 & 15) << 4) | (enc3 >> 2)); + if(enc4 !== 64) { + // decoded 3 bytes + output += String.fromCharCode(((enc3 & 3) << 6) | enc4); + } + } + } + + return output; +}; + +/** + * UTF-8 encodes the given UTF-16 encoded string (a standard JavaScript + * string). Non-ASCII characters will be encoded as multiple bytes according + * to UTF-8. + * + * @param str the string to encode. + * + * @return the UTF-8 encoded string. + */ +util.encodeUtf8 = function(str) { + return unescape(encodeURIComponent(str)); +}; + +/** + * Decodes a UTF-8 encoded string into a UTF-16 string. + * + * @param str the string to decode. + * + * @return the UTF-16 encoded string (standard JavaScript string). + */ +util.decodeUtf8 = function(str) { + return decodeURIComponent(escape(str)); +}; + +// binary encoding/decoding tools +// FIXME: Experimental. Do not use yet. +util.binary = { + raw: {}, + hex: {}, + base64: {}, + base58: {}, + baseN : { + encode: baseN.encode, + decode: baseN.decode + } +}; + +/** + * Encodes a Uint8Array as a binary-encoded string. This encoding uses + * a value between 0 and 255 for each character. + * + * @param bytes the Uint8Array to encode. + * + * @return the binary-encoded string. + */ +util.binary.raw.encode = function(bytes) { + return String.fromCharCode.apply(null, bytes); +}; + +/** + * Decodes a binary-encoded string to a Uint8Array. This encoding uses + * a value between 0 and 255 for each character. + * + * @param str the binary-encoded string to decode. + * @param [output] an optional Uint8Array to write the output to; if it + * is too small, an exception will be thrown. + * @param [offset] the start offset for writing to the output (default: 0). + * + * @return the Uint8Array or the number of bytes written if output was given. + */ +util.binary.raw.decode = function(str, output, offset) { + var out = output; + if(!out) { + out = new Uint8Array(str.length); + } + offset = offset || 0; + var j = offset; + for(var i = 0; i < str.length; ++i) { + out[j++] = str.charCodeAt(i); + } + return output ? (j - offset) : out; +}; + +/** + * Encodes a 'binary' string, ArrayBuffer, DataView, TypedArray, or + * ByteBuffer as a string of hexadecimal characters. + * + * @param bytes the bytes to convert. + * + * @return the string of hexadecimal characters. + */ +util.binary.hex.encode = util.bytesToHex; + +/** + * Decodes a hex-encoded string to a Uint8Array. + * + * @param hex the hexadecimal string to convert. + * @param [output] an optional Uint8Array to write the output to; if it + * is too small, an exception will be thrown. + * @param [offset] the start offset for writing to the output (default: 0). + * + * @return the Uint8Array or the number of bytes written if output was given. + */ +util.binary.hex.decode = function(hex, output, offset) { + var out = output; + if(!out) { + out = new Uint8Array(Math.ceil(hex.length / 2)); + } + offset = offset || 0; + var i = 0, j = offset; + if(hex.length & 1) { + // odd number of characters, convert first character alone + i = 1; + out[j++] = parseInt(hex[0], 16); + } + // convert 2 characters (1 byte) at a time + for(; i < hex.length; i += 2) { + out[j++] = parseInt(hex.substr(i, 2), 16); + } + return output ? (j - offset) : out; +}; + +/** + * Base64-encodes a Uint8Array. + * + * @param input the Uint8Array to encode. + * @param maxline the maximum number of encoded characters per line to use, + * defaults to none. + * + * @return the base64-encoded output string. + */ +util.binary.base64.encode = function(input, maxline) { + var line = ''; + var output = ''; + var chr1, chr2, chr3; + var i = 0; + while(i < input.byteLength) { + chr1 = input[i++]; + chr2 = input[i++]; + chr3 = input[i++]; + + // encode 4 character group + line += _base64.charAt(chr1 >> 2); + line += _base64.charAt(((chr1 & 3) << 4) | (chr2 >> 4)); + if(isNaN(chr2)) { + line += '=='; + } else { + line += _base64.charAt(((chr2 & 15) << 2) | (chr3 >> 6)); + line += isNaN(chr3) ? '=' : _base64.charAt(chr3 & 63); + } + + if(maxline && line.length > maxline) { + output += line.substr(0, maxline) + '\r\n'; + line = line.substr(maxline); + } + } + output += line; + return output; +}; + +/** + * Decodes a base64-encoded string to a Uint8Array. + * + * @param input the base64-encoded input string. + * @param [output] an optional Uint8Array to write the output to; if it + * is too small, an exception will be thrown. + * @param [offset] the start offset for writing to the output (default: 0). + * + * @return the Uint8Array or the number of bytes written if output was given. + */ +util.binary.base64.decode = function(input, output, offset) { + var out = output; + if(!out) { + out = new Uint8Array(Math.ceil(input.length / 4) * 3); + } + + // remove all non-base64 characters + input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ''); + + offset = offset || 0; + var enc1, enc2, enc3, enc4; + var i = 0, j = offset; + + while(i < input.length) { + enc1 = _base64Idx[input.charCodeAt(i++) - 43]; + enc2 = _base64Idx[input.charCodeAt(i++) - 43]; + enc3 = _base64Idx[input.charCodeAt(i++) - 43]; + enc4 = _base64Idx[input.charCodeAt(i++) - 43]; + + out[j++] = (enc1 << 2) | (enc2 >> 4); + if(enc3 !== 64) { + // decoded at least 2 bytes + out[j++] = ((enc2 & 15) << 4) | (enc3 >> 2); + if(enc4 !== 64) { + // decoded 3 bytes + out[j++] = ((enc3 & 3) << 6) | enc4; + } + } + } + + // make sure result is the exact decoded length + return output ? (j - offset) : out.subarray(0, j); +}; + +// add support for base58 encoding/decoding with Bitcoin alphabet +util.binary.base58.encode = function(input, maxline) { + return util.binary.baseN.encode(input, _base58, maxline); +}; +util.binary.base58.decode = function(input, maxline) { + return util.binary.baseN.decode(input, _base58, maxline); +}; + +// text encoding/decoding tools +// FIXME: Experimental. Do not use yet. +util.text = { + utf8: {}, + utf16: {} +}; + +/** + * Encodes the given string as UTF-8 in a Uint8Array. + * + * @param str the string to encode. + * @param [output] an optional Uint8Array to write the output to; if it + * is too small, an exception will be thrown. + * @param [offset] the start offset for writing to the output (default: 0). + * + * @return the Uint8Array or the number of bytes written if output was given. + */ +util.text.utf8.encode = function(str, output, offset) { + str = util.encodeUtf8(str); + var out = output; + if(!out) { + out = new Uint8Array(str.length); + } + offset = offset || 0; + var j = offset; + for(var i = 0; i < str.length; ++i) { + out[j++] = str.charCodeAt(i); + } + return output ? (j - offset) : out; +}; + +/** + * Decodes the UTF-8 contents from a Uint8Array. + * + * @param bytes the Uint8Array to decode. + * + * @return the resulting string. + */ +util.text.utf8.decode = function(bytes) { + return util.decodeUtf8(String.fromCharCode.apply(null, bytes)); +}; + +/** + * Encodes the given string as UTF-16 in a Uint8Array. + * + * @param str the string to encode. + * @param [output] an optional Uint8Array to write the output to; if it + * is too small, an exception will be thrown. + * @param [offset] the start offset for writing to the output (default: 0). + * + * @return the Uint8Array or the number of bytes written if output was given. + */ +util.text.utf16.encode = function(str, output, offset) { + var out = output; + if(!out) { + out = new Uint8Array(str.length * 2); + } + var view = new Uint16Array(out.buffer); + offset = offset || 0; + var j = offset; + var k = offset; + for(var i = 0; i < str.length; ++i) { + view[k++] = str.charCodeAt(i); + j += 2; + } + return output ? (j - offset) : out; +}; + +/** + * Decodes the UTF-16 contents from a Uint8Array. + * + * @param bytes the Uint8Array to decode. + * + * @return the resulting string. + */ +util.text.utf16.decode = function(bytes) { + return String.fromCharCode.apply(null, new Uint16Array(bytes.buffer)); +}; + +/** + * Deflates the given data using a flash interface. + * + * @param api the flash interface. + * @param bytes the data. + * @param raw true to return only raw deflate data, false to include zlib + * header and trailer. + * + * @return the deflated data as a string. + */ +util.deflate = function(api, bytes, raw) { + bytes = util.decode64(api.deflate(util.encode64(bytes)).rval); + + // strip zlib header and trailer if necessary + if(raw) { + // zlib header is 2 bytes (CMF,FLG) where FLG indicates that + // there is a 4-byte DICT (alder-32) block before the data if + // its 5th bit is set + var start = 2; + var flg = bytes.charCodeAt(1); + if(flg & 0x20) { + start = 6; + } + // zlib trailer is 4 bytes of adler-32 + bytes = bytes.substring(start, bytes.length - 4); + } + + return bytes; +}; + +/** + * Inflates the given data using a flash interface. + * + * @param api the flash interface. + * @param bytes the data. + * @param raw true if the incoming data has no zlib header or trailer and is + * raw DEFLATE data. + * + * @return the inflated data as a string, null on error. + */ +util.inflate = function(api, bytes, raw) { + // TODO: add zlib header and trailer if necessary/possible + var rval = api.inflate(util.encode64(bytes)).rval; + return (rval === null) ? null : util.decode64(rval); +}; + +/** + * Sets a storage object. + * + * @param api the storage interface. + * @param id the storage ID to use. + * @param obj the storage object, null to remove. + */ +var _setStorageObject = function(api, id, obj) { + if(!api) { + throw new Error('WebStorage not available.'); + } + + var rval; + if(obj === null) { + rval = api.removeItem(id); + } else { + // json-encode and base64-encode object + obj = util.encode64(JSON.stringify(obj)); + rval = api.setItem(id, obj); + } + + // handle potential flash error + if(typeof(rval) !== 'undefined' && rval.rval !== true) { + var error = new Error(rval.error.message); + error.id = rval.error.id; + error.name = rval.error.name; + throw error; + } +}; + +/** + * Gets a storage object. + * + * @param api the storage interface. + * @param id the storage ID to use. + * + * @return the storage object entry or null if none exists. + */ +var _getStorageObject = function(api, id) { + if(!api) { + throw new Error('WebStorage not available.'); + } + + // get the existing entry + var rval = api.getItem(id); + + /* Note: We check api.init because we can't do (api == localStorage) + on IE because of "Class doesn't support Automation" exception. Only + the flash api has an init method so this works too, but we need a + better solution in the future. */ + + // flash returns item wrapped in an object, handle special case + if(api.init) { + if(rval.rval === null) { + if(rval.error) { + var error = new Error(rval.error.message); + error.id = rval.error.id; + error.name = rval.error.name; + throw error; + } + // no error, but also no item + rval = null; + } else { + rval = rval.rval; + } + } + + // handle decoding + if(rval !== null) { + // base64-decode and json-decode data + rval = JSON.parse(util.decode64(rval)); + } + + return rval; +}; + +/** + * Stores an item in local storage. + * + * @param api the storage interface. + * @param id the storage ID to use. + * @param key the key for the item. + * @param data the data for the item (any javascript object/primitive). + */ +var _setItem = function(api, id, key, data) { + // get storage object + var obj = _getStorageObject(api, id); + if(obj === null) { + // create a new storage object + obj = {}; + } + // update key + obj[key] = data; + + // set storage object + _setStorageObject(api, id, obj); +}; + +/** + * Gets an item from local storage. + * + * @param api the storage interface. + * @param id the storage ID to use. + * @param key the key for the item. + * + * @return the item. + */ +var _getItem = function(api, id, key) { + // get storage object + var rval = _getStorageObject(api, id); + if(rval !== null) { + // return data at key + rval = (key in rval) ? rval[key] : null; + } + + return rval; +}; + +/** + * Removes an item from local storage. + * + * @param api the storage interface. + * @param id the storage ID to use. + * @param key the key for the item. + */ +var _removeItem = function(api, id, key) { + // get storage object + var obj = _getStorageObject(api, id); + if(obj !== null && key in obj) { + // remove key + delete obj[key]; + + // see if entry has no keys remaining + var empty = true; + for(var prop in obj) { + empty = false; + break; + } + if(empty) { + // remove entry entirely if no keys are left + obj = null; + } + + // set storage object + _setStorageObject(api, id, obj); + } +}; + +/** + * Clears the local disk storage identified by the given ID. + * + * @param api the storage interface. + * @param id the storage ID to use. + */ +var _clearItems = function(api, id) { + _setStorageObject(api, id, null); +}; + +/** + * Calls a storage function. + * + * @param func the function to call. + * @param args the arguments for the function. + * @param location the location argument. + * + * @return the return value from the function. + */ +var _callStorageFunction = function(func, args, location) { + var rval = null; + + // default storage types + if(typeof(location) === 'undefined') { + location = ['web', 'flash']; + } + + // apply storage types in order of preference + var type; + var done = false; + var exception = null; + for(var idx in location) { + type = location[idx]; + try { + if(type === 'flash' || type === 'both') { + if(args[0] === null) { + throw new Error('Flash local storage not available.'); + } + rval = func.apply(this, args); + done = (type === 'flash'); + } + if(type === 'web' || type === 'both') { + args[0] = localStorage; + rval = func.apply(this, args); + done = true; + } + } catch(ex) { + exception = ex; + } + if(done) { + break; + } + } + + if(!done) { + throw exception; + } + + return rval; +}; + +/** + * Stores an item on local disk. + * + * The available types of local storage include 'flash', 'web', and 'both'. + * + * The type 'flash' refers to flash local storage (SharedObject). In order + * to use flash local storage, the 'api' parameter must be valid. The type + * 'web' refers to WebStorage, if supported by the browser. The type 'both' + * refers to storing using both 'flash' and 'web', not just one or the + * other. + * + * The location array should list the storage types to use in order of + * preference: + * + * ['flash']: flash only storage + * ['web']: web only storage + * ['both']: try to store in both + * ['flash','web']: store in flash first, but if not available, 'web' + * ['web','flash']: store in web first, but if not available, 'flash' + * + * The location array defaults to: ['web', 'flash'] + * + * @param api the flash interface, null to use only WebStorage. + * @param id the storage ID to use. + * @param key the key for the item. + * @param data the data for the item (any javascript object/primitive). + * @param location an array with the preferred types of storage to use. + */ +util.setItem = function(api, id, key, data, location) { + _callStorageFunction(_setItem, arguments, location); +}; + +/** + * Gets an item on local disk. + * + * Set setItem() for details on storage types. + * + * @param api the flash interface, null to use only WebStorage. + * @param id the storage ID to use. + * @param key the key for the item. + * @param location an array with the preferred types of storage to use. + * + * @return the item. + */ +util.getItem = function(api, id, key, location) { + return _callStorageFunction(_getItem, arguments, location); +}; + +/** + * Removes an item on local disk. + * + * Set setItem() for details on storage types. + * + * @param api the flash interface. + * @param id the storage ID to use. + * @param key the key for the item. + * @param location an array with the preferred types of storage to use. + */ +util.removeItem = function(api, id, key, location) { + _callStorageFunction(_removeItem, arguments, location); +}; + +/** + * Clears the local disk storage identified by the given ID. + * + * Set setItem() for details on storage types. + * + * @param api the flash interface if flash is available. + * @param id the storage ID to use. + * @param location an array with the preferred types of storage to use. + */ +util.clearItems = function(api, id, location) { + _callStorageFunction(_clearItems, arguments, location); +}; + +/** + * Parses the scheme, host, and port from an http(s) url. + * + * @param str the url string. + * + * @return the parsed url object or null if the url is invalid. + */ +util.parseUrl = function(str) { + // FIXME: this regex looks a bit broken + var regex = /^(https?):\/\/([^:&^\/]*):?(\d*)(.*)$/g; + regex.lastIndex = 0; + var m = regex.exec(str); + var url = (m === null) ? null : { + full: str, + scheme: m[1], + host: m[2], + port: m[3], + path: m[4] + }; + if(url) { + url.fullHost = url.host; + if(url.port) { + if(url.port !== 80 && url.scheme === 'http') { + url.fullHost += ':' + url.port; + } else if(url.port !== 443 && url.scheme === 'https') { + url.fullHost += ':' + url.port; + } + } else if(url.scheme === 'http') { + url.port = 80; + } else if(url.scheme === 'https') { + url.port = 443; + } + url.full = url.scheme + '://' + url.fullHost; + } + return url; +}; + +/* Storage for query variables */ +var _queryVariables = null; + +/** + * Returns the window location query variables. Query is parsed on the first + * call and the same object is returned on subsequent calls. The mapping + * is from keys to an array of values. Parameters without values will have + * an object key set but no value added to the value array. Values are + * unescaped. + * + * ...?k1=v1&k2=v2: + * { + * "k1": ["v1"], + * "k2": ["v2"] + * } + * + * ...?k1=v1&k1=v2: + * { + * "k1": ["v1", "v2"] + * } + * + * ...?k1=v1&k2: + * { + * "k1": ["v1"], + * "k2": [] + * } + * + * ...?k1=v1&k1: + * { + * "k1": ["v1"] + * } + * + * ...?k1&k1: + * { + * "k1": [] + * } + * + * @param query the query string to parse (optional, default to cached + * results from parsing window location search query). + * + * @return object mapping keys to variables. + */ +util.getQueryVariables = function(query) { + var parse = function(q) { + var rval = {}; + var kvpairs = q.split('&'); + for(var i = 0; i < kvpairs.length; i++) { + var pos = kvpairs[i].indexOf('='); + var key; + var val; + if(pos > 0) { + key = kvpairs[i].substring(0, pos); + val = kvpairs[i].substring(pos + 1); + } else { + key = kvpairs[i]; + val = null; + } + if(!(key in rval)) { + rval[key] = []; + } + // disallow overriding object prototype keys + if(!(key in Object.prototype) && val !== null) { + rval[key].push(unescape(val)); + } + } + return rval; + }; + + var rval; + if(typeof(query) === 'undefined') { + // set cached variables if needed + if(_queryVariables === null) { + if(typeof(window) !== 'undefined' && window.location && window.location.search) { + // parse window search query + _queryVariables = parse(window.location.search.substring(1)); + } else { + // no query variables available + _queryVariables = {}; + } + } + rval = _queryVariables; + } else { + // parse given query + rval = parse(query); + } + return rval; +}; + +/** + * Parses a fragment into a path and query. This method will take a URI + * fragment and break it up as if it were the main URI. For example: + * /bar/baz?a=1&b=2 + * results in: + * { + * path: ["bar", "baz"], + * query: {"k1": ["v1"], "k2": ["v2"]} + * } + * + * @return object with a path array and query object. + */ +util.parseFragment = function(fragment) { + // default to whole fragment + var fp = fragment; + var fq = ''; + // split into path and query if possible at the first '?' + var pos = fragment.indexOf('?'); + if(pos > 0) { + fp = fragment.substring(0, pos); + fq = fragment.substring(pos + 1); + } + // split path based on '/' and ignore first element if empty + var path = fp.split('/'); + if(path.length > 0 && path[0] === '') { + path.shift(); + } + // convert query into object + var query = (fq === '') ? {} : util.getQueryVariables(fq); + + return { + pathString: fp, + queryString: fq, + path: path, + query: query + }; +}; + +/** + * Makes a request out of a URI-like request string. This is intended to + * be used where a fragment id (after a URI '#') is parsed as a URI with + * path and query parts. The string should have a path beginning and + * delimited by '/' and optional query parameters following a '?'. The + * query should be a standard URL set of key value pairs delimited by + * '&'. For backwards compatibility the initial '/' on the path is not + * required. The request object has the following API, (fully described + * in the method code): + * { + * path: . + * query: , + * getPath(i): get part or all of the split path array, + * getQuery(k, i): get part or all of a query key array, + * getQueryLast(k, _default): get last element of a query key array. + * } + * + * @return object with request parameters. + */ +util.makeRequest = function(reqString) { + var frag = util.parseFragment(reqString); + var req = { + // full path string + path: frag.pathString, + // full query string + query: frag.queryString, + /** + * Get path or element in path. + * + * @param i optional path index. + * + * @return path or part of path if i provided. + */ + getPath: function(i) { + return (typeof(i) === 'undefined') ? frag.path : frag.path[i]; + }, + /** + * Get query, values for a key, or value for a key index. + * + * @param k optional query key. + * @param i optional query key index. + * + * @return query, values for a key, or value for a key index. + */ + getQuery: function(k, i) { + var rval; + if(typeof(k) === 'undefined') { + rval = frag.query; + } else { + rval = frag.query[k]; + if(rval && typeof(i) !== 'undefined') { + rval = rval[i]; + } + } + return rval; + }, + getQueryLast: function(k, _default) { + var rval; + var vals = req.getQuery(k); + if(vals) { + rval = vals[vals.length - 1]; + } else { + rval = _default; + } + return rval; + } + }; + return req; +}; + +/** + * Makes a URI out of a path, an object with query parameters, and a + * fragment. Uses jQuery.param() internally for query string creation. + * If the path is an array, it will be joined with '/'. + * + * @param path string path or array of strings. + * @param query object with query parameters. (optional) + * @param fragment fragment string. (optional) + * + * @return string object with request parameters. + */ +util.makeLink = function(path, query, fragment) { + // join path parts if needed + path = jQuery.isArray(path) ? path.join('/') : path; + + var qstr = jQuery.param(query || {}); + fragment = fragment || ''; + return path + + ((qstr.length > 0) ? ('?' + qstr) : '') + + ((fragment.length > 0) ? ('#' + fragment) : ''); +}; + +/** + * Follows a path of keys deep into an object hierarchy and set a value. + * If a key does not exist or it's value is not an object, create an + * object in it's place. This can be destructive to a object tree if + * leaf nodes are given as non-final path keys. + * Used to avoid exceptions from missing parts of the path. + * + * @param object the starting object. + * @param keys an array of string keys. + * @param value the value to set. + */ +util.setPath = function(object, keys, value) { + // need to start at an object + if(typeof(object) === 'object' && object !== null) { + var i = 0; + var len = keys.length; + while(i < len) { + var next = keys[i++]; + if(i == len) { + // last + object[next] = value; + } else { + // more + var hasNext = (next in object); + if(!hasNext || + (hasNext && typeof(object[next]) !== 'object') || + (hasNext && object[next] === null)) { + object[next] = {}; + } + object = object[next]; + } + } + } +}; + +/** + * Follows a path of keys deep into an object hierarchy and return a value. + * If a key does not exist, create an object in it's place. + * Used to avoid exceptions from missing parts of the path. + * + * @param object the starting object. + * @param keys an array of string keys. + * @param _default value to return if path not found. + * + * @return the value at the path if found, else default if given, else + * undefined. + */ +util.getPath = function(object, keys, _default) { + var i = 0; + var len = keys.length; + var hasNext = true; + while(hasNext && i < len && + typeof(object) === 'object' && object !== null) { + var next = keys[i++]; + hasNext = next in object; + if(hasNext) { + object = object[next]; + } + } + return (hasNext ? object : _default); +}; + +/** + * Follow a path of keys deep into an object hierarchy and delete the + * last one. If a key does not exist, do nothing. + * Used to avoid exceptions from missing parts of the path. + * + * @param object the starting object. + * @param keys an array of string keys. + */ +util.deletePath = function(object, keys) { + // need to start at an object + if(typeof(object) === 'object' && object !== null) { + var i = 0; + var len = keys.length; + while(i < len) { + var next = keys[i++]; + if(i == len) { + // last + delete object[next]; + } else { + // more + if(!(next in object) || + (typeof(object[next]) !== 'object') || + (object[next] === null)) { + break; + } + object = object[next]; + } + } + } +}; + +/** + * Check if an object is empty. + * + * Taken from: + * http://stackoverflow.com/questions/679915/how-do-i-test-for-an-empty-javascript-object-from-json/679937#679937 + * + * @param object the object to check. + */ +util.isEmpty = function(obj) { + for(var prop in obj) { + if(obj.hasOwnProperty(prop)) { + return false; + } + } + return true; +}; + +/** + * Format with simple printf-style interpolation. + * + * %%: literal '%' + * %s,%o: convert next argument into a string. + * + * @param format the string to format. + * @param ... arguments to interpolate into the format string. + */ +util.format = function(format) { + var re = /%./g; + // current match + var match; + // current part + var part; + // current arg index + var argi = 0; + // collected parts to recombine later + var parts = []; + // last index found + var last = 0; + // loop while matches remain + while((match = re.exec(format))) { + part = format.substring(last, re.lastIndex - 2); + // don't add empty strings (ie, parts between %s%s) + if(part.length > 0) { + parts.push(part); + } + last = re.lastIndex; + // switch on % code + var code = match[0][1]; + switch(code) { + case 's': + case 'o': + // check if enough arguments were given + if(argi < arguments.length) { + parts.push(arguments[argi++ + 1]); + } else { + parts.push(''); + } + break; + // FIXME: do proper formating for numbers, etc + //case 'f': + //case 'd': + case '%': + parts.push('%'); + break; + default: + parts.push('<%' + code + '?>'); + } + } + // add trailing part of format string + parts.push(format.substring(last)); + return parts.join(''); +}; + +/** + * Formats a number. + * + * http://snipplr.com/view/5945/javascript-numberformat--ported-from-php/ + */ +util.formatNumber = function(number, decimals, dec_point, thousands_sep) { + // http://kevin.vanzonneveld.net + // + original by: Jonas Raoni Soares Silva (http://www.jsfromhell.com) + // + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) + // + bugfix by: Michael White (http://crestidg.com) + // + bugfix by: Benjamin Lupton + // + bugfix by: Allan Jensen (http://www.winternet.no) + // + revised by: Jonas Raoni Soares Silva (http://www.jsfromhell.com) + // * example 1: number_format(1234.5678, 2, '.', ''); + // * returns 1: 1234.57 + + var n = number, c = isNaN(decimals = Math.abs(decimals)) ? 2 : decimals; + var d = dec_point === undefined ? ',' : dec_point; + var t = thousands_sep === undefined ? + '.' : thousands_sep, s = n < 0 ? '-' : ''; + var i = parseInt((n = Math.abs(+n || 0).toFixed(c)), 10) + ''; + var j = (i.length > 3) ? i.length % 3 : 0; + return s + (j ? i.substr(0, j) + t : '') + + i.substr(j).replace(/(\d{3})(?=\d)/g, '$1' + t) + + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : ''); +}; + +/** + * Formats a byte size. + * + * http://snipplr.com/view/5949/format-humanize-file-byte-size-presentation-in-javascript/ + */ +util.formatSize = function(size) { + if(size >= 1073741824) { + size = util.formatNumber(size / 1073741824, 2, '.', '') + ' GiB'; + } else if(size >= 1048576) { + size = util.formatNumber(size / 1048576, 2, '.', '') + ' MiB'; + } else if(size >= 1024) { + size = util.formatNumber(size / 1024, 0) + ' KiB'; + } else { + size = util.formatNumber(size, 0) + ' bytes'; + } + return size; +}; + +/** + * Converts an IPv4 or IPv6 string representation into bytes (in network order). + * + * @param ip the IPv4 or IPv6 address to convert. + * + * @return the 4-byte IPv6 or 16-byte IPv6 address or null if the address can't + * be parsed. + */ +util.bytesFromIP = function(ip) { + if(ip.indexOf('.') !== -1) { + return util.bytesFromIPv4(ip); + } + if(ip.indexOf(':') !== -1) { + return util.bytesFromIPv6(ip); + } + return null; +}; + +/** + * Converts an IPv4 string representation into bytes (in network order). + * + * @param ip the IPv4 address to convert. + * + * @return the 4-byte address or null if the address can't be parsed. + */ +util.bytesFromIPv4 = function(ip) { + ip = ip.split('.'); + if(ip.length !== 4) { + return null; + } + var b = util.createBuffer(); + for(var i = 0; i < ip.length; ++i) { + var num = parseInt(ip[i], 10); + if(isNaN(num)) { + return null; + } + b.putByte(num); + } + return b.getBytes(); +}; + +/** + * Converts an IPv6 string representation into bytes (in network order). + * + * @param ip the IPv6 address to convert. + * + * @return the 16-byte address or null if the address can't be parsed. + */ +util.bytesFromIPv6 = function(ip) { + var blanks = 0; + ip = ip.split(':').filter(function(e) { + if(e.length === 0) ++blanks; + return true; + }); + var zeros = (8 - ip.length + blanks) * 2; + var b = util.createBuffer(); + for(var i = 0; i < 8; ++i) { + if(!ip[i] || ip[i].length === 0) { + b.fillWithByte(0, zeros); + zeros = 0; + continue; + } + var bytes = util.hexToBytes(ip[i]); + if(bytes.length < 2) { + b.putByte(0); + } + b.putBytes(bytes); + } + return b.getBytes(); +}; + +/** + * Converts 4-bytes into an IPv4 string representation or 16-bytes into + * an IPv6 string representation. The bytes must be in network order. + * + * @param bytes the bytes to convert. + * + * @return the IPv4 or IPv6 string representation if 4 or 16 bytes, + * respectively, are given, otherwise null. + */ +util.bytesToIP = function(bytes) { + if(bytes.length === 4) { + return util.bytesToIPv4(bytes); + } + if(bytes.length === 16) { + return util.bytesToIPv6(bytes); + } + return null; +}; + +/** + * Converts 4-bytes into an IPv4 string representation. The bytes must be + * in network order. + * + * @param bytes the bytes to convert. + * + * @return the IPv4 string representation or null for an invalid # of bytes. + */ +util.bytesToIPv4 = function(bytes) { + if(bytes.length !== 4) { + return null; + } + var ip = []; + for(var i = 0; i < bytes.length; ++i) { + ip.push(bytes.charCodeAt(i)); + } + return ip.join('.'); +}; + +/** + * Converts 16-bytes into an IPv16 string representation. The bytes must be + * in network order. + * + * @param bytes the bytes to convert. + * + * @return the IPv16 string representation or null for an invalid # of bytes. + */ +util.bytesToIPv6 = function(bytes) { + if(bytes.length !== 16) { + return null; + } + var ip = []; + var zeroGroups = []; + var zeroMaxGroup = 0; + for(var i = 0; i < bytes.length; i += 2) { + var hex = util.bytesToHex(bytes[i] + bytes[i + 1]); + // canonicalize zero representation + while(hex[0] === '0' && hex !== '0') { + hex = hex.substr(1); + } + if(hex === '0') { + var last = zeroGroups[zeroGroups.length - 1]; + var idx = ip.length; + if(!last || idx !== last.end + 1) { + zeroGroups.push({start: idx, end: idx}); + } else { + last.end = idx; + if((last.end - last.start) > + (zeroGroups[zeroMaxGroup].end - zeroGroups[zeroMaxGroup].start)) { + zeroMaxGroup = zeroGroups.length - 1; + } + } + } + ip.push(hex); + } + if(zeroGroups.length > 0) { + var group = zeroGroups[zeroMaxGroup]; + // only shorten group of length > 0 + if(group.end - group.start > 0) { + ip.splice(group.start, group.end - group.start + 1, ''); + if(group.start === 0) { + ip.unshift(''); + } + if(group.end === 7) { + ip.push(''); + } + } + } + return ip.join(':'); +}; + +/** + * Estimates the number of processes that can be run concurrently. If + * creating Web Workers, keep in mind that the main JavaScript process needs + * its own core. + * + * @param options the options to use: + * update true to force an update (not use the cached value). + * @param callback(err, max) called once the operation completes. + */ +util.estimateCores = function(options, callback) { + if(typeof options === 'function') { + callback = options; + options = {}; + } + options = options || {}; + if('cores' in util && !options.update) { + return callback(null, util.cores); + } + if(typeof navigator !== 'undefined' && + 'hardwareConcurrency' in navigator && + navigator.hardwareConcurrency > 0) { + util.cores = navigator.hardwareConcurrency; + return callback(null, util.cores); + } + if(typeof Worker === 'undefined') { + // workers not available + util.cores = 1; + return callback(null, util.cores); + } + if(typeof Blob === 'undefined') { + // can't estimate, default to 2 + util.cores = 2; + return callback(null, util.cores); + } + + // create worker concurrency estimation code as blob + var blobUrl = URL.createObjectURL(new Blob(['(', + function() { + self.addEventListener('message', function(e) { + // run worker for 4 ms + var st = Date.now(); + var et = st + 4; + while(Date.now() < et); + self.postMessage({st: st, et: et}); + }); + }.toString(), + ')()'], {type: 'application/javascript'})); + + // take 5 samples using 16 workers + sample([], 5, 16); + + function sample(max, samples, numWorkers) { + if(samples === 0) { + // get overlap average + var avg = Math.floor(max.reduce(function(avg, x) { + return avg + x; + }, 0) / max.length); + util.cores = Math.max(1, avg); + URL.revokeObjectURL(blobUrl); + return callback(null, util.cores); + } + map(numWorkers, function(err, results) { + max.push(reduce(numWorkers, results)); + sample(max, samples - 1, numWorkers); + }); + } + + function map(numWorkers, callback) { + var workers = []; + var results = []; + for(var i = 0; i < numWorkers; ++i) { + var worker = new Worker(blobUrl); + worker.addEventListener('message', function(e) { + results.push(e.data); + if(results.length === numWorkers) { + for(var i = 0; i < numWorkers; ++i) { + workers[i].terminate(); + } + callback(null, results); + } + }); + workers.push(worker); + } + for(var i = 0; i < numWorkers; ++i) { + workers[i].postMessage(i); + } + } + + function reduce(numWorkers, results) { + // find overlapping time windows + var overlaps = []; + for(var n = 0; n < numWorkers; ++n) { + var r1 = results[n]; + var overlap = overlaps[n] = []; + for(var i = 0; i < numWorkers; ++i) { + if(n === i) { + continue; + } + var r2 = results[i]; + if((r1.st > r2.st && r1.st < r2.et) || + (r2.st > r1.st && r2.st < r1.et)) { + overlap.push(i); + } + } + } + // get maximum overlaps ... don't include overlapping worker itself + // as the main JS process was also being scheduled during the work and + // would have to be subtracted from the estimate anyway + return overlaps.reduce(function(max, overlap) { + return Math.max(max, overlap.length); + }, 0); + } +}; diff --git a/express-server/node_modules/node-forge/lib/x509.js b/express-server/node_modules/node-forge/lib/x509.js new file mode 100644 index 00000000..0f9ff668 --- /dev/null +++ b/express-server/node_modules/node-forge/lib/x509.js @@ -0,0 +1,3271 @@ +/** + * Javascript implementation of X.509 and related components (such as + * Certification Signing Requests) of a Public Key Infrastructure. + * + * @author Dave Longley + * + * Copyright (c) 2010-2014 Digital Bazaar, Inc. + * + * The ASN.1 representation of an X.509v3 certificate is as follows + * (see RFC 2459): + * + * Certificate ::= SEQUENCE { + * tbsCertificate TBSCertificate, + * signatureAlgorithm AlgorithmIdentifier, + * signatureValue BIT STRING + * } + * + * TBSCertificate ::= SEQUENCE { + * version [0] EXPLICIT Version DEFAULT v1, + * serialNumber CertificateSerialNumber, + * signature AlgorithmIdentifier, + * issuer Name, + * validity Validity, + * subject Name, + * subjectPublicKeyInfo SubjectPublicKeyInfo, + * issuerUniqueID [1] IMPLICIT UniqueIdentifier OPTIONAL, + * -- If present, version shall be v2 or v3 + * subjectUniqueID [2] IMPLICIT UniqueIdentifier OPTIONAL, + * -- If present, version shall be v2 or v3 + * extensions [3] EXPLICIT Extensions OPTIONAL + * -- If present, version shall be v3 + * } + * + * Version ::= INTEGER { v1(0), v2(1), v3(2) } + * + * CertificateSerialNumber ::= INTEGER + * + * Name ::= CHOICE { + * // only one possible choice for now + * RDNSequence + * } + * + * RDNSequence ::= SEQUENCE OF RelativeDistinguishedName + * + * RelativeDistinguishedName ::= SET OF AttributeTypeAndValue + * + * AttributeTypeAndValue ::= SEQUENCE { + * type AttributeType, + * value AttributeValue + * } + * AttributeType ::= OBJECT IDENTIFIER + * AttributeValue ::= ANY DEFINED BY AttributeType + * + * Validity ::= SEQUENCE { + * notBefore Time, + * notAfter Time + * } + * + * Time ::= CHOICE { + * utcTime UTCTime, + * generalTime GeneralizedTime + * } + * + * UniqueIdentifier ::= BIT STRING + * + * SubjectPublicKeyInfo ::= SEQUENCE { + * algorithm AlgorithmIdentifier, + * subjectPublicKey BIT STRING + * } + * + * Extensions ::= SEQUENCE SIZE (1..MAX) OF Extension + * + * Extension ::= SEQUENCE { + * extnID OBJECT IDENTIFIER, + * critical BOOLEAN DEFAULT FALSE, + * extnValue OCTET STRING + * } + * + * The only key algorithm currently supported for PKI is RSA. + * + * RSASSA-PSS signatures are described in RFC 3447 and RFC 4055. + * + * PKCS#10 v1.7 describes certificate signing requests: + * + * CertificationRequestInfo: + * + * CertificationRequestInfo ::= SEQUENCE { + * version INTEGER { v1(0) } (v1,...), + * subject Name, + * subjectPKInfo SubjectPublicKeyInfo{{ PKInfoAlgorithms }}, + * attributes [0] Attributes{{ CRIAttributes }} + * } + * + * Attributes { ATTRIBUTE:IOSet } ::= SET OF Attribute{{ IOSet }} + * + * CRIAttributes ATTRIBUTE ::= { + * ... -- add any locally defined attributes here -- } + * + * Attribute { ATTRIBUTE:IOSet } ::= SEQUENCE { + * type ATTRIBUTE.&id({IOSet}), + * values SET SIZE(1..MAX) OF ATTRIBUTE.&Type({IOSet}{@type}) + * } + * + * CertificationRequest ::= SEQUENCE { + * certificationRequestInfo CertificationRequestInfo, + * signatureAlgorithm AlgorithmIdentifier{{ SignatureAlgorithms }}, + * signature BIT STRING + * } + */ +var forge = require('./forge'); +require('./aes'); +require('./asn1'); +require('./des'); +require('./md'); +require('./mgf'); +require('./oids'); +require('./pem'); +require('./pss'); +require('./rsa'); +require('./util'); + +// shortcut for asn.1 API +var asn1 = forge.asn1; + +/* Public Key Infrastructure (PKI) implementation. */ +var pki = module.exports = forge.pki = forge.pki || {}; +var oids = pki.oids; + +// short name OID mappings +var _shortNames = {}; +_shortNames['CN'] = oids['commonName']; +_shortNames['commonName'] = 'CN'; +_shortNames['C'] = oids['countryName']; +_shortNames['countryName'] = 'C'; +_shortNames['L'] = oids['localityName']; +_shortNames['localityName'] = 'L'; +_shortNames['ST'] = oids['stateOrProvinceName']; +_shortNames['stateOrProvinceName'] = 'ST'; +_shortNames['O'] = oids['organizationName']; +_shortNames['organizationName'] = 'O'; +_shortNames['OU'] = oids['organizationalUnitName']; +_shortNames['organizationalUnitName'] = 'OU'; +_shortNames['E'] = oids['emailAddress']; +_shortNames['emailAddress'] = 'E'; + +// validator for an SubjectPublicKeyInfo structure +// Note: Currently only works with an RSA public key +var publicKeyValidator = forge.pki.rsa.publicKeyValidator; + +// validator for an X.509v3 certificate +var x509CertificateValidator = { + name: 'Certificate', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SEQUENCE, + constructed: true, + value: [{ + name: 'Certificate.TBSCertificate', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SEQUENCE, + constructed: true, + captureAsn1: 'tbsCertificate', + value: [{ + name: 'Certificate.TBSCertificate.version', + tagClass: asn1.Class.CONTEXT_SPECIFIC, + type: 0, + constructed: true, + optional: true, + value: [{ + name: 'Certificate.TBSCertificate.version.integer', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.INTEGER, + constructed: false, + capture: 'certVersion' + }] + }, { + name: 'Certificate.TBSCertificate.serialNumber', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.INTEGER, + constructed: false, + capture: 'certSerialNumber' + }, { + name: 'Certificate.TBSCertificate.signature', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SEQUENCE, + constructed: true, + value: [{ + name: 'Certificate.TBSCertificate.signature.algorithm', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.OID, + constructed: false, + capture: 'certinfoSignatureOid' + }, { + name: 'Certificate.TBSCertificate.signature.parameters', + tagClass: asn1.Class.UNIVERSAL, + optional: true, + captureAsn1: 'certinfoSignatureParams' + }] + }, { + name: 'Certificate.TBSCertificate.issuer', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SEQUENCE, + constructed: true, + captureAsn1: 'certIssuer' + }, { + name: 'Certificate.TBSCertificate.validity', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SEQUENCE, + constructed: true, + // Note: UTC and generalized times may both appear so the capture + // names are based on their detected order, the names used below + // are only for the common case, which validity time really means + // "notBefore" and which means "notAfter" will be determined by order + value: [{ + // notBefore (Time) (UTC time case) + name: 'Certificate.TBSCertificate.validity.notBefore (utc)', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.UTCTIME, + constructed: false, + optional: true, + capture: 'certValidity1UTCTime' + }, { + // notBefore (Time) (generalized time case) + name: 'Certificate.TBSCertificate.validity.notBefore (generalized)', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.GENERALIZEDTIME, + constructed: false, + optional: true, + capture: 'certValidity2GeneralizedTime' + }, { + // notAfter (Time) (only UTC time is supported) + name: 'Certificate.TBSCertificate.validity.notAfter (utc)', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.UTCTIME, + constructed: false, + optional: true, + capture: 'certValidity3UTCTime' + }, { + // notAfter (Time) (only UTC time is supported) + name: 'Certificate.TBSCertificate.validity.notAfter (generalized)', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.GENERALIZEDTIME, + constructed: false, + optional: true, + capture: 'certValidity4GeneralizedTime' + }] + }, { + // Name (subject) (RDNSequence) + name: 'Certificate.TBSCertificate.subject', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SEQUENCE, + constructed: true, + captureAsn1: 'certSubject' + }, + // SubjectPublicKeyInfo + publicKeyValidator, + { + // issuerUniqueID (optional) + name: 'Certificate.TBSCertificate.issuerUniqueID', + tagClass: asn1.Class.CONTEXT_SPECIFIC, + type: 1, + constructed: true, + optional: true, + value: [{ + name: 'Certificate.TBSCertificate.issuerUniqueID.id', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.BITSTRING, + constructed: false, + // TODO: support arbitrary bit length ids + captureBitStringValue: 'certIssuerUniqueId' + }] + }, { + // subjectUniqueID (optional) + name: 'Certificate.TBSCertificate.subjectUniqueID', + tagClass: asn1.Class.CONTEXT_SPECIFIC, + type: 2, + constructed: true, + optional: true, + value: [{ + name: 'Certificate.TBSCertificate.subjectUniqueID.id', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.BITSTRING, + constructed: false, + // TODO: support arbitrary bit length ids + captureBitStringValue: 'certSubjectUniqueId' + }] + }, { + // Extensions (optional) + name: 'Certificate.TBSCertificate.extensions', + tagClass: asn1.Class.CONTEXT_SPECIFIC, + type: 3, + constructed: true, + captureAsn1: 'certExtensions', + optional: true + }] + }, { + // AlgorithmIdentifier (signature algorithm) + name: 'Certificate.signatureAlgorithm', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SEQUENCE, + constructed: true, + value: [{ + // algorithm + name: 'Certificate.signatureAlgorithm.algorithm', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.OID, + constructed: false, + capture: 'certSignatureOid' + }, { + name: 'Certificate.TBSCertificate.signature.parameters', + tagClass: asn1.Class.UNIVERSAL, + optional: true, + captureAsn1: 'certSignatureParams' + }] + }, { + // SignatureValue + name: 'Certificate.signatureValue', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.BITSTRING, + constructed: false, + captureBitStringValue: 'certSignature' + }] +}; + +var rsassaPssParameterValidator = { + name: 'rsapss', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SEQUENCE, + constructed: true, + value: [{ + name: 'rsapss.hashAlgorithm', + tagClass: asn1.Class.CONTEXT_SPECIFIC, + type: 0, + constructed: true, + value: [{ + name: 'rsapss.hashAlgorithm.AlgorithmIdentifier', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Class.SEQUENCE, + constructed: true, + optional: true, + value: [{ + name: 'rsapss.hashAlgorithm.AlgorithmIdentifier.algorithm', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.OID, + constructed: false, + capture: 'hashOid' + /* parameter block omitted, for SHA1 NULL anyhow. */ + }] + }] + }, { + name: 'rsapss.maskGenAlgorithm', + tagClass: asn1.Class.CONTEXT_SPECIFIC, + type: 1, + constructed: true, + value: [{ + name: 'rsapss.maskGenAlgorithm.AlgorithmIdentifier', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Class.SEQUENCE, + constructed: true, + optional: true, + value: [{ + name: 'rsapss.maskGenAlgorithm.AlgorithmIdentifier.algorithm', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.OID, + constructed: false, + capture: 'maskGenOid' + }, { + name: 'rsapss.maskGenAlgorithm.AlgorithmIdentifier.params', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SEQUENCE, + constructed: true, + value: [{ + name: 'rsapss.maskGenAlgorithm.AlgorithmIdentifier.params.algorithm', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.OID, + constructed: false, + capture: 'maskGenHashOid' + /* parameter block omitted, for SHA1 NULL anyhow. */ + }] + }] + }] + }, { + name: 'rsapss.saltLength', + tagClass: asn1.Class.CONTEXT_SPECIFIC, + type: 2, + optional: true, + value: [{ + name: 'rsapss.saltLength.saltLength', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Class.INTEGER, + constructed: false, + capture: 'saltLength' + }] + }, { + name: 'rsapss.trailerField', + tagClass: asn1.Class.CONTEXT_SPECIFIC, + type: 3, + optional: true, + value: [{ + name: 'rsapss.trailer.trailer', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Class.INTEGER, + constructed: false, + capture: 'trailer' + }] + }] +}; + +// validator for a CertificationRequestInfo structure +var certificationRequestInfoValidator = { + name: 'CertificationRequestInfo', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SEQUENCE, + constructed: true, + captureAsn1: 'certificationRequestInfo', + value: [{ + name: 'CertificationRequestInfo.integer', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.INTEGER, + constructed: false, + capture: 'certificationRequestInfoVersion' + }, { + // Name (subject) (RDNSequence) + name: 'CertificationRequestInfo.subject', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SEQUENCE, + constructed: true, + captureAsn1: 'certificationRequestInfoSubject' + }, + // SubjectPublicKeyInfo + publicKeyValidator, + { + name: 'CertificationRequestInfo.attributes', + tagClass: asn1.Class.CONTEXT_SPECIFIC, + type: 0, + constructed: true, + optional: true, + capture: 'certificationRequestInfoAttributes', + value: [{ + name: 'CertificationRequestInfo.attributes', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SEQUENCE, + constructed: true, + value: [{ + name: 'CertificationRequestInfo.attributes.type', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.OID, + constructed: false + }, { + name: 'CertificationRequestInfo.attributes.value', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SET, + constructed: true + }] + }] + }] +}; + +// validator for a CertificationRequest structure +var certificationRequestValidator = { + name: 'CertificationRequest', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SEQUENCE, + constructed: true, + captureAsn1: 'csr', + value: [ + certificationRequestInfoValidator, { + // AlgorithmIdentifier (signature algorithm) + name: 'CertificationRequest.signatureAlgorithm', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.SEQUENCE, + constructed: true, + value: [{ + // algorithm + name: 'CertificationRequest.signatureAlgorithm.algorithm', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.OID, + constructed: false, + capture: 'csrSignatureOid' + }, { + name: 'CertificationRequest.signatureAlgorithm.parameters', + tagClass: asn1.Class.UNIVERSAL, + optional: true, + captureAsn1: 'csrSignatureParams' + }] + }, { + // signature + name: 'CertificationRequest.signature', + tagClass: asn1.Class.UNIVERSAL, + type: asn1.Type.BITSTRING, + constructed: false, + captureBitStringValue: 'csrSignature' + }] +}; + +/** + * Converts an RDNSequence of ASN.1 DER-encoded RelativeDistinguishedName + * sets into an array with objects that have type and value properties. + * + * @param rdn the RDNSequence to convert. + * @param md a message digest to append type and value to if provided. + */ +pki.RDNAttributesAsArray = function(rdn, md) { + var rval = []; + + // each value in 'rdn' in is a SET of RelativeDistinguishedName + var set, attr, obj; + for(var si = 0; si < rdn.value.length; ++si) { + // get the RelativeDistinguishedName set + set = rdn.value[si]; + + // each value in the SET is an AttributeTypeAndValue sequence + // containing first a type (an OID) and second a value (defined by + // the OID) + for(var i = 0; i < set.value.length; ++i) { + obj = {}; + attr = set.value[i]; + obj.type = asn1.derToOid(attr.value[0].value); + obj.value = attr.value[1].value; + obj.valueTagClass = attr.value[1].type; + // if the OID is known, get its name and short name + if(obj.type in oids) { + obj.name = oids[obj.type]; + if(obj.name in _shortNames) { + obj.shortName = _shortNames[obj.name]; + } + } + if(md) { + md.update(obj.type); + md.update(obj.value); + } + rval.push(obj); + } + } + + return rval; +}; + +/** + * Converts ASN.1 CRIAttributes into an array with objects that have type and + * value properties. + * + * @param attributes the CRIAttributes to convert. + */ +pki.CRIAttributesAsArray = function(attributes) { + var rval = []; + + // each value in 'attributes' in is a SEQUENCE with an OID and a SET + for(var si = 0; si < attributes.length; ++si) { + // get the attribute sequence + var seq = attributes[si]; + + // each value in the SEQUENCE containing first a type (an OID) and + // second a set of values (defined by the OID) + var type = asn1.derToOid(seq.value[0].value); + var values = seq.value[1].value; + for(var vi = 0; vi < values.length; ++vi) { + var obj = {}; + obj.type = type; + obj.value = values[vi].value; + obj.valueTagClass = values[vi].type; + // if the OID is known, get its name and short name + if(obj.type in oids) { + obj.name = oids[obj.type]; + if(obj.name in _shortNames) { + obj.shortName = _shortNames[obj.name]; + } + } + // parse extensions + if(obj.type === oids.extensionRequest) { + obj.extensions = []; + for(var ei = 0; ei < obj.value.length; ++ei) { + obj.extensions.push(pki.certificateExtensionFromAsn1(obj.value[ei])); + } + } + rval.push(obj); + } + } + + return rval; +}; + +/** + * Gets an issuer or subject attribute from its name, type, or short name. + * + * @param obj the issuer or subject object. + * @param options a short name string or an object with: + * shortName the short name for the attribute. + * name the name for the attribute. + * type the type for the attribute. + * + * @return the attribute. + */ +function _getAttribute(obj, options) { + if(typeof options === 'string') { + options = {shortName: options}; + } + + var rval = null; + var attr; + for(var i = 0; rval === null && i < obj.attributes.length; ++i) { + attr = obj.attributes[i]; + if(options.type && options.type === attr.type) { + rval = attr; + } else if(options.name && options.name === attr.name) { + rval = attr; + } else if(options.shortName && options.shortName === attr.shortName) { + rval = attr; + } + } + return rval; +} + +/** + * Converts signature parameters from ASN.1 structure. + * + * Currently only RSASSA-PSS supported. The PKCS#1 v1.5 signature scheme had + * no parameters. + * + * RSASSA-PSS-params ::= SEQUENCE { + * hashAlgorithm [0] HashAlgorithm DEFAULT + * sha1Identifier, + * maskGenAlgorithm [1] MaskGenAlgorithm DEFAULT + * mgf1SHA1Identifier, + * saltLength [2] INTEGER DEFAULT 20, + * trailerField [3] INTEGER DEFAULT 1 + * } + * + * HashAlgorithm ::= AlgorithmIdentifier + * + * MaskGenAlgorithm ::= AlgorithmIdentifier + * + * AlgorithmIdentifer ::= SEQUENCE { + * algorithm OBJECT IDENTIFIER, + * parameters ANY DEFINED BY algorithm OPTIONAL + * } + * + * @param oid The OID specifying the signature algorithm + * @param obj The ASN.1 structure holding the parameters + * @param fillDefaults Whether to use return default values where omitted + * @return signature parameter object + */ +var _readSignatureParameters = function(oid, obj, fillDefaults) { + var params = {}; + + if(oid !== oids['RSASSA-PSS']) { + return params; + } + + if(fillDefaults) { + params = { + hash: { + algorithmOid: oids['sha1'] + }, + mgf: { + algorithmOid: oids['mgf1'], + hash: { + algorithmOid: oids['sha1'] + } + }, + saltLength: 20 + }; + } + + var capture = {}; + var errors = []; + if(!asn1.validate(obj, rsassaPssParameterValidator, capture, errors)) { + var error = new Error('Cannot read RSASSA-PSS parameter block.'); + error.errors = errors; + throw error; + } + + if(capture.hashOid !== undefined) { + params.hash = params.hash || {}; + params.hash.algorithmOid = asn1.derToOid(capture.hashOid); + } + + if(capture.maskGenOid !== undefined) { + params.mgf = params.mgf || {}; + params.mgf.algorithmOid = asn1.derToOid(capture.maskGenOid); + params.mgf.hash = params.mgf.hash || {}; + params.mgf.hash.algorithmOid = asn1.derToOid(capture.maskGenHashOid); + } + + if(capture.saltLength !== undefined) { + params.saltLength = capture.saltLength.charCodeAt(0); + } + + return params; +}; + +/** + * Converts an X.509 certificate from PEM format. + * + * Note: If the certificate is to be verified then compute hash should + * be set to true. This will scan the TBSCertificate part of the ASN.1 + * object while it is converted so it doesn't need to be converted back + * to ASN.1-DER-encoding later. + * + * @param pem the PEM-formatted certificate. + * @param computeHash true to compute the hash for verification. + * @param strict true to be strict when checking ASN.1 value lengths, false to + * allow truncated values (default: true). + * + * @return the certificate. + */ +pki.certificateFromPem = function(pem, computeHash, strict) { + var msg = forge.pem.decode(pem)[0]; + + if(msg.type !== 'CERTIFICATE' && + msg.type !== 'X509 CERTIFICATE' && + msg.type !== 'TRUSTED CERTIFICATE') { + var error = new Error('Could not convert certificate from PEM; PEM header type ' + + 'is not "CERTIFICATE", "X509 CERTIFICATE", or "TRUSTED CERTIFICATE".'); + error.headerType = msg.type; + throw error; + } + if(msg.procType && msg.procType.type === 'ENCRYPTED') { + throw new Error('Could not convert certificate from PEM; PEM is encrypted.'); + } + + // convert DER to ASN.1 object + var obj = asn1.fromDer(msg.body, strict); + + return pki.certificateFromAsn1(obj, computeHash); +}; + +/** + * Converts an X.509 certificate to PEM format. + * + * @param cert the certificate. + * @param maxline the maximum characters per line, defaults to 64. + * + * @return the PEM-formatted certificate. + */ +pki.certificateToPem = function(cert, maxline) { + // convert to ASN.1, then DER, then PEM-encode + var msg = { + type: 'CERTIFICATE', + body: asn1.toDer(pki.certificateToAsn1(cert)).getBytes() + }; + return forge.pem.encode(msg, {maxline: maxline}); +}; + +/** + * Converts an RSA public key from PEM format. + * + * @param pem the PEM-formatted public key. + * + * @return the public key. + */ +pki.publicKeyFromPem = function(pem) { + var msg = forge.pem.decode(pem)[0]; + + if(msg.type !== 'PUBLIC KEY' && msg.type !== 'RSA PUBLIC KEY') { + var error = new Error('Could not convert public key from PEM; PEM header ' + + 'type is not "PUBLIC KEY" or "RSA PUBLIC KEY".'); + error.headerType = msg.type; + throw error; + } + if(msg.procType && msg.procType.type === 'ENCRYPTED') { + throw new Error('Could not convert public key from PEM; PEM is encrypted.'); + } + + // convert DER to ASN.1 object + var obj = asn1.fromDer(msg.body); + + return pki.publicKeyFromAsn1(obj); +}; + +/** + * Converts an RSA public key to PEM format (using a SubjectPublicKeyInfo). + * + * @param key the public key. + * @param maxline the maximum characters per line, defaults to 64. + * + * @return the PEM-formatted public key. + */ +pki.publicKeyToPem = function(key, maxline) { + // convert to ASN.1, then DER, then PEM-encode + var msg = { + type: 'PUBLIC KEY', + body: asn1.toDer(pki.publicKeyToAsn1(key)).getBytes() + }; + return forge.pem.encode(msg, {maxline: maxline}); +}; + +/** + * Converts an RSA public key to PEM format (using an RSAPublicKey). + * + * @param key the public key. + * @param maxline the maximum characters per line, defaults to 64. + * + * @return the PEM-formatted public key. + */ +pki.publicKeyToRSAPublicKeyPem = function(key, maxline) { + // convert to ASN.1, then DER, then PEM-encode + var msg = { + type: 'RSA PUBLIC KEY', + body: asn1.toDer(pki.publicKeyToRSAPublicKey(key)).getBytes() + }; + return forge.pem.encode(msg, {maxline: maxline}); +}; + +/** + * Gets a fingerprint for the given public key. + * + * @param options the options to use. + * [md] the message digest object to use (defaults to forge.md.sha1). + * [type] the type of fingerprint, such as 'RSAPublicKey', + * 'SubjectPublicKeyInfo' (defaults to 'RSAPublicKey'). + * [encoding] an alternative output encoding, such as 'hex' + * (defaults to none, outputs a byte buffer). + * [delimiter] the delimiter to use between bytes for 'hex' encoded + * output, eg: ':' (defaults to none). + * + * @return the fingerprint as a byte buffer or other encoding based on options. + */ +pki.getPublicKeyFingerprint = function(key, options) { + options = options || {}; + var md = options.md || forge.md.sha1.create(); + var type = options.type || 'RSAPublicKey'; + + var bytes; + switch(type) { + case 'RSAPublicKey': + bytes = asn1.toDer(pki.publicKeyToRSAPublicKey(key)).getBytes(); + break; + case 'SubjectPublicKeyInfo': + bytes = asn1.toDer(pki.publicKeyToAsn1(key)).getBytes(); + break; + default: + throw new Error('Unknown fingerprint type "' + options.type + '".'); + } + + // hash public key bytes + md.start(); + md.update(bytes); + var digest = md.digest(); + if(options.encoding === 'hex') { + var hex = digest.toHex(); + if(options.delimiter) { + return hex.match(/.{2}/g).join(options.delimiter); + } + return hex; + } else if(options.encoding === 'binary') { + return digest.getBytes(); + } else if(options.encoding) { + throw new Error('Unknown encoding "' + options.encoding + '".'); + } + return digest; +}; + +/** + * Converts a PKCS#10 certification request (CSR) from PEM format. + * + * Note: If the certification request is to be verified then compute hash + * should be set to true. This will scan the CertificationRequestInfo part of + * the ASN.1 object while it is converted so it doesn't need to be converted + * back to ASN.1-DER-encoding later. + * + * @param pem the PEM-formatted certificate. + * @param computeHash true to compute the hash for verification. + * @param strict true to be strict when checking ASN.1 value lengths, false to + * allow truncated values (default: true). + * + * @return the certification request (CSR). + */ +pki.certificationRequestFromPem = function(pem, computeHash, strict) { + var msg = forge.pem.decode(pem)[0]; + + if(msg.type !== 'CERTIFICATE REQUEST') { + var error = new Error('Could not convert certification request from PEM; ' + + 'PEM header type is not "CERTIFICATE REQUEST".'); + error.headerType = msg.type; + throw error; + } + if(msg.procType && msg.procType.type === 'ENCRYPTED') { + throw new Error('Could not convert certification request from PEM; ' + + 'PEM is encrypted.'); + } + + // convert DER to ASN.1 object + var obj = asn1.fromDer(msg.body, strict); + + return pki.certificationRequestFromAsn1(obj, computeHash); +}; + +/** + * Converts a PKCS#10 certification request (CSR) to PEM format. + * + * @param csr the certification request. + * @param maxline the maximum characters per line, defaults to 64. + * + * @return the PEM-formatted certification request. + */ +pki.certificationRequestToPem = function(csr, maxline) { + // convert to ASN.1, then DER, then PEM-encode + var msg = { + type: 'CERTIFICATE REQUEST', + body: asn1.toDer(pki.certificationRequestToAsn1(csr)).getBytes() + }; + return forge.pem.encode(msg, {maxline: maxline}); +}; + +/** + * Creates an empty X.509v3 RSA certificate. + * + * @return the certificate. + */ +pki.createCertificate = function() { + var cert = {}; + cert.version = 0x02; + cert.serialNumber = '00'; + cert.signatureOid = null; + cert.signature = null; + cert.siginfo = {}; + cert.siginfo.algorithmOid = null; + cert.validity = {}; + cert.validity.notBefore = new Date(); + cert.validity.notAfter = new Date(); + + cert.issuer = {}; + cert.issuer.getField = function(sn) { + return _getAttribute(cert.issuer, sn); + }; + cert.issuer.addField = function(attr) { + _fillMissingFields([attr]); + cert.issuer.attributes.push(attr); + }; + cert.issuer.attributes = []; + cert.issuer.hash = null; + + cert.subject = {}; + cert.subject.getField = function(sn) { + return _getAttribute(cert.subject, sn); + }; + cert.subject.addField = function(attr) { + _fillMissingFields([attr]); + cert.subject.attributes.push(attr); + }; + cert.subject.attributes = []; + cert.subject.hash = null; + + cert.extensions = []; + cert.publicKey = null; + cert.md = null; + + /** + * Sets the subject of this certificate. + * + * @param attrs the array of subject attributes to use. + * @param uniqueId an optional a unique ID to use. + */ + cert.setSubject = function(attrs, uniqueId) { + // set new attributes, clear hash + _fillMissingFields(attrs); + cert.subject.attributes = attrs; + delete cert.subject.uniqueId; + if(uniqueId) { + // TODO: support arbitrary bit length ids + cert.subject.uniqueId = uniqueId; + } + cert.subject.hash = null; + }; + + /** + * Sets the issuer of this certificate. + * + * @param attrs the array of issuer attributes to use. + * @param uniqueId an optional a unique ID to use. + */ + cert.setIssuer = function(attrs, uniqueId) { + // set new attributes, clear hash + _fillMissingFields(attrs); + cert.issuer.attributes = attrs; + delete cert.issuer.uniqueId; + if(uniqueId) { + // TODO: support arbitrary bit length ids + cert.issuer.uniqueId = uniqueId; + } + cert.issuer.hash = null; + }; + + /** + * Sets the extensions of this certificate. + * + * @param exts the array of extensions to use. + */ + cert.setExtensions = function(exts) { + for(var i = 0; i < exts.length; ++i) { + _fillMissingExtensionFields(exts[i], {cert: cert}); + } + // set new extensions + cert.extensions = exts; + }; + + /** + * Gets an extension by its name or id. + * + * @param options the name to use or an object with: + * name the name to use. + * id the id to use. + * + * @return the extension or null if not found. + */ + cert.getExtension = function(options) { + if(typeof options === 'string') { + options = {name: options}; + } + + var rval = null; + var ext; + for(var i = 0; rval === null && i < cert.extensions.length; ++i) { + ext = cert.extensions[i]; + if(options.id && ext.id === options.id) { + rval = ext; + } else if(options.name && ext.name === options.name) { + rval = ext; + } + } + return rval; + }; + + /** + * Signs this certificate using the given private key. + * + * @param key the private key to sign with. + * @param md the message digest object to use (defaults to forge.md.sha1). + */ + cert.sign = function(key, md) { + // TODO: get signature OID from private key + cert.md = md || forge.md.sha1.create(); + var algorithmOid = oids[cert.md.algorithm + 'WithRSAEncryption']; + if(!algorithmOid) { + var error = new Error('Could not compute certificate digest. ' + + 'Unknown message digest algorithm OID.'); + error.algorithm = cert.md.algorithm; + throw error; + } + cert.signatureOid = cert.siginfo.algorithmOid = algorithmOid; + + // get TBSCertificate, convert to DER + cert.tbsCertificate = pki.getTBSCertificate(cert); + var bytes = asn1.toDer(cert.tbsCertificate); + + // digest and sign + cert.md.update(bytes.getBytes()); + cert.signature = key.sign(cert.md); + }; + + /** + * Attempts verify the signature on the passed certificate using this + * certificate's public key. + * + * @param child the certificate to verify. + * + * @return true if verified, false if not. + */ + cert.verify = function(child) { + var rval = false; + + if(!cert.issued(child)) { + var issuer = child.issuer; + var subject = cert.subject; + var error = new Error('The parent certificate did not issue the given child ' + + 'certificate; the child certificate\'s issuer does not match the ' + + 'parent\'s subject.'); + error.expectedIssuer = issuer.attributes; + error.actualIssuer = subject.attributes; + throw error; + } + + var md = child.md; + if(md === null) { + // check signature OID for supported signature types + if(child.signatureOid in oids) { + var oid = oids[child.signatureOid]; + switch(oid) { + case 'sha1WithRSAEncryption': + md = forge.md.sha1.create(); + break; + case 'md5WithRSAEncryption': + md = forge.md.md5.create(); + break; + case 'sha256WithRSAEncryption': + md = forge.md.sha256.create(); + break; + case 'sha384WithRSAEncryption': + md = forge.md.sha384.create(); + break; + case 'sha512WithRSAEncryption': + md = forge.md.sha512.create(); + break; + case 'RSASSA-PSS': + md = forge.md.sha256.create(); + break; + } + } + if(md === null) { + var error = new Error('Could not compute certificate digest. ' + + 'Unknown signature OID.'); + error.signatureOid = child.signatureOid; + throw error; + } + + // produce DER formatted TBSCertificate and digest it + var tbsCertificate = child.tbsCertificate || pki.getTBSCertificate(child); + var bytes = asn1.toDer(tbsCertificate); + md.update(bytes.getBytes()); + } + + if(md !== null) { + var scheme; + + switch(child.signatureOid) { + case oids.sha1WithRSAEncryption: + scheme = undefined; /* use PKCS#1 v1.5 padding scheme */ + break; + case oids['RSASSA-PSS']: + var hash, mgf; + + /* initialize mgf */ + hash = oids[child.signatureParameters.mgf.hash.algorithmOid]; + if(hash === undefined || forge.md[hash] === undefined) { + var error = new Error('Unsupported MGF hash function.'); + error.oid = child.signatureParameters.mgf.hash.algorithmOid; + error.name = hash; + throw error; + } + + mgf = oids[child.signatureParameters.mgf.algorithmOid]; + if(mgf === undefined || forge.mgf[mgf] === undefined) { + var error = new Error('Unsupported MGF function.'); + error.oid = child.signatureParameters.mgf.algorithmOid; + error.name = mgf; + throw error; + } + + mgf = forge.mgf[mgf].create(forge.md[hash].create()); + + /* initialize hash function */ + hash = oids[child.signatureParameters.hash.algorithmOid]; + if(hash === undefined || forge.md[hash] === undefined) { + throw { + message: 'Unsupported RSASSA-PSS hash function.', + oid: child.signatureParameters.hash.algorithmOid, + name: hash + }; + } + + scheme = forge.pss.create(forge.md[hash].create(), mgf, + child.signatureParameters.saltLength); + break; + } + + // verify signature on cert using public key + rval = cert.publicKey.verify( + md.digest().getBytes(), child.signature, scheme); + } + + return rval; + }; + + /** + * Returns true if this certificate's issuer matches the passed + * certificate's subject. Note that no signature check is performed. + * + * @param parent the certificate to check. + * + * @return true if this certificate's issuer matches the passed certificate's + * subject. + */ + cert.isIssuer = function(parent) { + var rval = false; + + var i = cert.issuer; + var s = parent.subject; + + // compare hashes if present + if(i.hash && s.hash) { + rval = (i.hash === s.hash); + } else if(i.attributes.length === s.attributes.length) { + // all attributes are the same so issuer matches subject + rval = true; + var iattr, sattr; + for(var n = 0; rval && n < i.attributes.length; ++n) { + iattr = i.attributes[n]; + sattr = s.attributes[n]; + if(iattr.type !== sattr.type || iattr.value !== sattr.value) { + // attribute mismatch + rval = false; + } + } + } + + return rval; + }; + + /** + * Returns true if this certificate's subject matches the issuer of the + * given certificate). Note that not signature check is performed. + * + * @param child the certificate to check. + * + * @return true if this certificate's subject matches the passed + * certificate's issuer. + */ + cert.issued = function(child) { + return child.isIssuer(cert); + }; + + /** + * Generates the subjectKeyIdentifier for this certificate as byte buffer. + * + * @return the subjectKeyIdentifier for this certificate as byte buffer. + */ + cert.generateSubjectKeyIdentifier = function() { + /* See: 4.2.1.2 section of the the RFC3280, keyIdentifier is either: + + (1) The keyIdentifier is composed of the 160-bit SHA-1 hash of the + value of the BIT STRING subjectPublicKey (excluding the tag, + length, and number of unused bits). + + (2) The keyIdentifier is composed of a four bit type field with + the value 0100 followed by the least significant 60 bits of the + SHA-1 hash of the value of the BIT STRING subjectPublicKey + (excluding the tag, length, and number of unused bit string bits). + */ + + // skipping the tag, length, and number of unused bits is the same + // as just using the RSAPublicKey (for RSA keys, which are the + // only ones supported) + return pki.getPublicKeyFingerprint(cert.publicKey, {type: 'RSAPublicKey'}); + }; + + /** + * Verifies the subjectKeyIdentifier extension value for this certificate + * against its public key. If no extension is found, false will be + * returned. + * + * @return true if verified, false if not. + */ + cert.verifySubjectKeyIdentifier = function() { + var oid = oids['subjectKeyIdentifier']; + for(var i = 0; i < cert.extensions.length; ++i) { + var ext = cert.extensions[i]; + if(ext.id === oid) { + var ski = cert.generateSubjectKeyIdentifier().getBytes(); + return (forge.util.hexToBytes(ext.subjectKeyIdentifier) === ski); + } + } + return false; + }; + + return cert; +}; + +/** + * Converts an X.509v3 RSA certificate from an ASN.1 object. + * + * Note: If the certificate is to be verified then compute hash should + * be set to true. There is currently no implementation for converting + * a certificate back to ASN.1 so the TBSCertificate part of the ASN.1 + * object needs to be scanned before the cert object is created. + * + * @param obj the asn1 representation of an X.509v3 RSA certificate. + * @param computeHash true to compute the hash for verification. + * + * @return the certificate. + */ +pki.certificateFromAsn1 = function(obj, computeHash) { + // validate certificate and capture data + var capture = {}; + var errors = []; + if(!asn1.validate(obj, x509CertificateValidator, capture, errors)) { + var error = new Error('Cannot read X.509 certificate. ' + + 'ASN.1 object is not an X509v3 Certificate.'); + error.errors = errors; + throw error; + } + + // get oid + var oid = asn1.derToOid(capture.publicKeyOid); + if(oid !== pki.oids.rsaEncryption) { + throw new Error('Cannot read public key. OID is not RSA.'); + } + + // create certificate + var cert = pki.createCertificate(); + cert.version = capture.certVersion ? + capture.certVersion.charCodeAt(0) : 0; + var serial = forge.util.createBuffer(capture.certSerialNumber); + cert.serialNumber = serial.toHex(); + cert.signatureOid = forge.asn1.derToOid(capture.certSignatureOid); + cert.signatureParameters = _readSignatureParameters( + cert.signatureOid, capture.certSignatureParams, true); + cert.siginfo.algorithmOid = forge.asn1.derToOid(capture.certinfoSignatureOid); + cert.siginfo.parameters = _readSignatureParameters(cert.siginfo.algorithmOid, + capture.certinfoSignatureParams, false); + cert.signature = capture.certSignature; + + var validity = []; + if(capture.certValidity1UTCTime !== undefined) { + validity.push(asn1.utcTimeToDate(capture.certValidity1UTCTime)); + } + if(capture.certValidity2GeneralizedTime !== undefined) { + validity.push(asn1.generalizedTimeToDate( + capture.certValidity2GeneralizedTime)); + } + if(capture.certValidity3UTCTime !== undefined) { + validity.push(asn1.utcTimeToDate(capture.certValidity3UTCTime)); + } + if(capture.certValidity4GeneralizedTime !== undefined) { + validity.push(asn1.generalizedTimeToDate( + capture.certValidity4GeneralizedTime)); + } + if(validity.length > 2) { + throw new Error('Cannot read notBefore/notAfter validity times; more ' + + 'than two times were provided in the certificate.'); + } + if(validity.length < 2) { + throw new Error('Cannot read notBefore/notAfter validity times; they ' + + 'were not provided as either UTCTime or GeneralizedTime.'); + } + cert.validity.notBefore = validity[0]; + cert.validity.notAfter = validity[1]; + + // keep TBSCertificate to preserve signature when exporting + cert.tbsCertificate = capture.tbsCertificate; + + if(computeHash) { + // check signature OID for supported signature types + cert.md = null; + if(cert.signatureOid in oids) { + var oid = oids[cert.signatureOid]; + switch(oid) { + case 'sha1WithRSAEncryption': + cert.md = forge.md.sha1.create(); + break; + case 'md5WithRSAEncryption': + cert.md = forge.md.md5.create(); + break; + case 'sha256WithRSAEncryption': + cert.md = forge.md.sha256.create(); + break; + case 'sha384WithRSAEncryption': + cert.md = forge.md.sha384.create(); + break; + case 'sha512WithRSAEncryption': + cert.md = forge.md.sha512.create(); + break; + case 'RSASSA-PSS': + cert.md = forge.md.sha256.create(); + break; + } + } + if(cert.md === null) { + var error = new Error('Could not compute certificate digest. ' + + 'Unknown signature OID.'); + error.signatureOid = cert.signatureOid; + throw error; + } + + // produce DER formatted TBSCertificate and digest it + var bytes = asn1.toDer(cert.tbsCertificate); + cert.md.update(bytes.getBytes()); + } + + // handle issuer, build issuer message digest + var imd = forge.md.sha1.create(); + cert.issuer.getField = function(sn) { + return _getAttribute(cert.issuer, sn); + }; + cert.issuer.addField = function(attr) { + _fillMissingFields([attr]); + cert.issuer.attributes.push(attr); + }; + cert.issuer.attributes = pki.RDNAttributesAsArray(capture.certIssuer, imd); + if(capture.certIssuerUniqueId) { + cert.issuer.uniqueId = capture.certIssuerUniqueId; + } + cert.issuer.hash = imd.digest().toHex(); + + // handle subject, build subject message digest + var smd = forge.md.sha1.create(); + cert.subject.getField = function(sn) { + return _getAttribute(cert.subject, sn); + }; + cert.subject.addField = function(attr) { + _fillMissingFields([attr]); + cert.subject.attributes.push(attr); + }; + cert.subject.attributes = pki.RDNAttributesAsArray(capture.certSubject, smd); + if(capture.certSubjectUniqueId) { + cert.subject.uniqueId = capture.certSubjectUniqueId; + } + cert.subject.hash = smd.digest().toHex(); + + // handle extensions + if(capture.certExtensions) { + cert.extensions = pki.certificateExtensionsFromAsn1(capture.certExtensions); + } else { + cert.extensions = []; + } + + // convert RSA public key from ASN.1 + cert.publicKey = pki.publicKeyFromAsn1(capture.subjectPublicKeyInfo); + + return cert; +}; + +/** + * Converts an ASN.1 extensions object (with extension sequences as its + * values) into an array of extension objects with types and values. + * + * Supported extensions: + * + * id-ce-keyUsage OBJECT IDENTIFIER ::= { id-ce 15 } + * KeyUsage ::= BIT STRING { + * digitalSignature (0), + * nonRepudiation (1), + * keyEncipherment (2), + * dataEncipherment (3), + * keyAgreement (4), + * keyCertSign (5), + * cRLSign (6), + * encipherOnly (7), + * decipherOnly (8) + * } + * + * id-ce-basicConstraints OBJECT IDENTIFIER ::= { id-ce 19 } + * BasicConstraints ::= SEQUENCE { + * cA BOOLEAN DEFAULT FALSE, + * pathLenConstraint INTEGER (0..MAX) OPTIONAL + * } + * + * subjectAltName EXTENSION ::= { + * SYNTAX GeneralNames + * IDENTIFIED BY id-ce-subjectAltName + * } + * + * GeneralNames ::= SEQUENCE SIZE (1..MAX) OF GeneralName + * + * GeneralName ::= CHOICE { + * otherName [0] INSTANCE OF OTHER-NAME, + * rfc822Name [1] IA5String, + * dNSName [2] IA5String, + * x400Address [3] ORAddress, + * directoryName [4] Name, + * ediPartyName [5] EDIPartyName, + * uniformResourceIdentifier [6] IA5String, + * IPAddress [7] OCTET STRING, + * registeredID [8] OBJECT IDENTIFIER + * } + * + * OTHER-NAME ::= TYPE-IDENTIFIER + * + * EDIPartyName ::= SEQUENCE { + * nameAssigner [0] DirectoryString {ub-name} OPTIONAL, + * partyName [1] DirectoryString {ub-name} + * } + * + * @param exts the extensions ASN.1 with extension sequences to parse. + * + * @return the array. + */ +pki.certificateExtensionsFromAsn1 = function(exts) { + var rval = []; + for(var i = 0; i < exts.value.length; ++i) { + // get extension sequence + var extseq = exts.value[i]; + for(var ei = 0; ei < extseq.value.length; ++ei) { + rval.push(pki.certificateExtensionFromAsn1(extseq.value[ei])); + } + } + + return rval; +}; + +/** + * Parses a single certificate extension from ASN.1. + * + * @param ext the extension in ASN.1 format. + * + * @return the parsed extension as an object. + */ +pki.certificateExtensionFromAsn1 = function(ext) { + // an extension has: + // [0] extnID OBJECT IDENTIFIER + // [1] critical BOOLEAN DEFAULT FALSE + // [2] extnValue OCTET STRING + var e = {}; + e.id = asn1.derToOid(ext.value[0].value); + e.critical = false; + if(ext.value[1].type === asn1.Type.BOOLEAN) { + e.critical = (ext.value[1].value.charCodeAt(0) !== 0x00); + e.value = ext.value[2].value; + } else { + e.value = ext.value[1].value; + } + // if the oid is known, get its name + if(e.id in oids) { + e.name = oids[e.id]; + + // handle key usage + if(e.name === 'keyUsage') { + // get value as BIT STRING + var ev = asn1.fromDer(e.value); + var b2 = 0x00; + var b3 = 0x00; + if(ev.value.length > 1) { + // skip first byte, just indicates unused bits which + // will be padded with 0s anyway + // get bytes with flag bits + b2 = ev.value.charCodeAt(1); + b3 = ev.value.length > 2 ? ev.value.charCodeAt(2) : 0; + } + // set flags + e.digitalSignature = (b2 & 0x80) === 0x80; + e.nonRepudiation = (b2 & 0x40) === 0x40; + e.keyEncipherment = (b2 & 0x20) === 0x20; + e.dataEncipherment = (b2 & 0x10) === 0x10; + e.keyAgreement = (b2 & 0x08) === 0x08; + e.keyCertSign = (b2 & 0x04) === 0x04; + e.cRLSign = (b2 & 0x02) === 0x02; + e.encipherOnly = (b2 & 0x01) === 0x01; + e.decipherOnly = (b3 & 0x80) === 0x80; + } else if(e.name === 'basicConstraints') { + // handle basic constraints + // get value as SEQUENCE + var ev = asn1.fromDer(e.value); + // get cA BOOLEAN flag (defaults to false) + if(ev.value.length > 0 && ev.value[0].type === asn1.Type.BOOLEAN) { + e.cA = (ev.value[0].value.charCodeAt(0) !== 0x00); + } else { + e.cA = false; + } + // get path length constraint + var value = null; + if(ev.value.length > 0 && ev.value[0].type === asn1.Type.INTEGER) { + value = ev.value[0].value; + } else if(ev.value.length > 1) { + value = ev.value[1].value; + } + if(value !== null) { + e.pathLenConstraint = asn1.derToInteger(value); + } + } else if(e.name === 'extKeyUsage') { + // handle extKeyUsage + // value is a SEQUENCE of OIDs + var ev = asn1.fromDer(e.value); + for(var vi = 0; vi < ev.value.length; ++vi) { + var oid = asn1.derToOid(ev.value[vi].value); + if(oid in oids) { + e[oids[oid]] = true; + } else { + e[oid] = true; + } + } + } else if(e.name === 'nsCertType') { + // handle nsCertType + // get value as BIT STRING + var ev = asn1.fromDer(e.value); + var b2 = 0x00; + if(ev.value.length > 1) { + // skip first byte, just indicates unused bits which + // will be padded with 0s anyway + // get bytes with flag bits + b2 = ev.value.charCodeAt(1); + } + // set flags + e.client = (b2 & 0x80) === 0x80; + e.server = (b2 & 0x40) === 0x40; + e.email = (b2 & 0x20) === 0x20; + e.objsign = (b2 & 0x10) === 0x10; + e.reserved = (b2 & 0x08) === 0x08; + e.sslCA = (b2 & 0x04) === 0x04; + e.emailCA = (b2 & 0x02) === 0x02; + e.objCA = (b2 & 0x01) === 0x01; + } else if( + e.name === 'subjectAltName' || + e.name === 'issuerAltName') { + // handle subjectAltName/issuerAltName + e.altNames = []; + + // ev is a SYNTAX SEQUENCE + var gn; + var ev = asn1.fromDer(e.value); + for(var n = 0; n < ev.value.length; ++n) { + // get GeneralName + gn = ev.value[n]; + + var altName = { + type: gn.type, + value: gn.value + }; + e.altNames.push(altName); + + // Note: Support for types 1,2,6,7,8 + switch(gn.type) { + // rfc822Name + case 1: + // dNSName + case 2: + // uniformResourceIdentifier (URI) + case 6: + break; + // IPAddress + case 7: + // convert to IPv4/IPv6 string representation + altName.ip = forge.util.bytesToIP(gn.value); + break; + // registeredID + case 8: + altName.oid = asn1.derToOid(gn.value); + break; + default: + // unsupported + } + } + } else if(e.name === 'subjectKeyIdentifier') { + // value is an OCTETSTRING w/the hash of the key-type specific + // public key structure (eg: RSAPublicKey) + var ev = asn1.fromDer(e.value); + e.subjectKeyIdentifier = forge.util.bytesToHex(ev.value); + } + } + return e; +}; + +/** + * Converts a PKCS#10 certification request (CSR) from an ASN.1 object. + * + * Note: If the certification request is to be verified then compute hash + * should be set to true. There is currently no implementation for converting + * a certificate back to ASN.1 so the CertificationRequestInfo part of the + * ASN.1 object needs to be scanned before the csr object is created. + * + * @param obj the asn1 representation of a PKCS#10 certification request (CSR). + * @param computeHash true to compute the hash for verification. + * + * @return the certification request (CSR). + */ +pki.certificationRequestFromAsn1 = function(obj, computeHash) { + // validate certification request and capture data + var capture = {}; + var errors = []; + if(!asn1.validate(obj, certificationRequestValidator, capture, errors)) { + var error = new Error('Cannot read PKCS#10 certificate request. ' + + 'ASN.1 object is not a PKCS#10 CertificationRequest.'); + error.errors = errors; + throw error; + } + + // get oid + var oid = asn1.derToOid(capture.publicKeyOid); + if(oid !== pki.oids.rsaEncryption) { + throw new Error('Cannot read public key. OID is not RSA.'); + } + + // create certification request + var csr = pki.createCertificationRequest(); + csr.version = capture.csrVersion ? capture.csrVersion.charCodeAt(0) : 0; + csr.signatureOid = forge.asn1.derToOid(capture.csrSignatureOid); + csr.signatureParameters = _readSignatureParameters( + csr.signatureOid, capture.csrSignatureParams, true); + csr.siginfo.algorithmOid = forge.asn1.derToOid(capture.csrSignatureOid); + csr.siginfo.parameters = _readSignatureParameters( + csr.siginfo.algorithmOid, capture.csrSignatureParams, false); + csr.signature = capture.csrSignature; + + // keep CertificationRequestInfo to preserve signature when exporting + csr.certificationRequestInfo = capture.certificationRequestInfo; + + if(computeHash) { + // check signature OID for supported signature types + csr.md = null; + if(csr.signatureOid in oids) { + var oid = oids[csr.signatureOid]; + switch(oid) { + case 'sha1WithRSAEncryption': + csr.md = forge.md.sha1.create(); + break; + case 'md5WithRSAEncryption': + csr.md = forge.md.md5.create(); + break; + case 'sha256WithRSAEncryption': + csr.md = forge.md.sha256.create(); + break; + case 'sha384WithRSAEncryption': + csr.md = forge.md.sha384.create(); + break; + case 'sha512WithRSAEncryption': + csr.md = forge.md.sha512.create(); + break; + case 'RSASSA-PSS': + csr.md = forge.md.sha256.create(); + break; + } + } + if(csr.md === null) { + var error = new Error('Could not compute certification request digest. ' + + 'Unknown signature OID.'); + error.signatureOid = csr.signatureOid; + throw error; + } + + // produce DER formatted CertificationRequestInfo and digest it + var bytes = asn1.toDer(csr.certificationRequestInfo); + csr.md.update(bytes.getBytes()); + } + + // handle subject, build subject message digest + var smd = forge.md.sha1.create(); + csr.subject.getField = function(sn) { + return _getAttribute(csr.subject, sn); + }; + csr.subject.addField = function(attr) { + _fillMissingFields([attr]); + csr.subject.attributes.push(attr); + }; + csr.subject.attributes = pki.RDNAttributesAsArray( + capture.certificationRequestInfoSubject, smd); + csr.subject.hash = smd.digest().toHex(); + + // convert RSA public key from ASN.1 + csr.publicKey = pki.publicKeyFromAsn1(capture.subjectPublicKeyInfo); + + // convert attributes from ASN.1 + csr.getAttribute = function(sn) { + return _getAttribute(csr, sn); + }; + csr.addAttribute = function(attr) { + _fillMissingFields([attr]); + csr.attributes.push(attr); + }; + csr.attributes = pki.CRIAttributesAsArray( + capture.certificationRequestInfoAttributes || []); + + return csr; +}; + +/** + * Creates an empty certification request (a CSR or certificate signing + * request). Once created, its public key and attributes can be set and then + * it can be signed. + * + * @return the empty certification request. + */ +pki.createCertificationRequest = function() { + var csr = {}; + csr.version = 0x00; + csr.signatureOid = null; + csr.signature = null; + csr.siginfo = {}; + csr.siginfo.algorithmOid = null; + + csr.subject = {}; + csr.subject.getField = function(sn) { + return _getAttribute(csr.subject, sn); + }; + csr.subject.addField = function(attr) { + _fillMissingFields([attr]); + csr.subject.attributes.push(attr); + }; + csr.subject.attributes = []; + csr.subject.hash = null; + + csr.publicKey = null; + csr.attributes = []; + csr.getAttribute = function(sn) { + return _getAttribute(csr, sn); + }; + csr.addAttribute = function(attr) { + _fillMissingFields([attr]); + csr.attributes.push(attr); + }; + csr.md = null; + + /** + * Sets the subject of this certification request. + * + * @param attrs the array of subject attributes to use. + */ + csr.setSubject = function(attrs) { + // set new attributes + _fillMissingFields(attrs); + csr.subject.attributes = attrs; + csr.subject.hash = null; + }; + + /** + * Sets the attributes of this certification request. + * + * @param attrs the array of attributes to use. + */ + csr.setAttributes = function(attrs) { + // set new attributes + _fillMissingFields(attrs); + csr.attributes = attrs; + }; + + /** + * Signs this certification request using the given private key. + * + * @param key the private key to sign with. + * @param md the message digest object to use (defaults to forge.md.sha1). + */ + csr.sign = function(key, md) { + // TODO: get signature OID from private key + csr.md = md || forge.md.sha1.create(); + var algorithmOid = oids[csr.md.algorithm + 'WithRSAEncryption']; + if(!algorithmOid) { + var error = new Error('Could not compute certification request digest. ' + + 'Unknown message digest algorithm OID.'); + error.algorithm = csr.md.algorithm; + throw error; + } + csr.signatureOid = csr.siginfo.algorithmOid = algorithmOid; + + // get CertificationRequestInfo, convert to DER + csr.certificationRequestInfo = pki.getCertificationRequestInfo(csr); + var bytes = asn1.toDer(csr.certificationRequestInfo); + + // digest and sign + csr.md.update(bytes.getBytes()); + csr.signature = key.sign(csr.md); + }; + + /** + * Attempts verify the signature on the passed certification request using + * its public key. + * + * A CSR that has been exported to a file in PEM format can be verified using + * OpenSSL using this command: + * + * openssl req -in -verify -noout -text + * + * @return true if verified, false if not. + */ + csr.verify = function() { + var rval = false; + + var md = csr.md; + if(md === null) { + // check signature OID for supported signature types + if(csr.signatureOid in oids) { + // TODO: create DRY `OID to md` function + var oid = oids[csr.signatureOid]; + switch(oid) { + case 'sha1WithRSAEncryption': + md = forge.md.sha1.create(); + break; + case 'md5WithRSAEncryption': + md = forge.md.md5.create(); + break; + case 'sha256WithRSAEncryption': + md = forge.md.sha256.create(); + break; + case 'sha384WithRSAEncryption': + md = forge.md.sha384.create(); + break; + case 'sha512WithRSAEncryption': + md = forge.md.sha512.create(); + break; + case 'RSASSA-PSS': + md = forge.md.sha256.create(); + break; + } + } + if(md === null) { + var error = new Error('Could not compute certification request digest. ' + + 'Unknown signature OID.'); + error.signatureOid = csr.signatureOid; + throw error; + } + + // produce DER formatted CertificationRequestInfo and digest it + var cri = csr.certificationRequestInfo || + pki.getCertificationRequestInfo(csr); + var bytes = asn1.toDer(cri); + md.update(bytes.getBytes()); + } + + if(md !== null) { + var scheme; + + switch(csr.signatureOid) { + case oids.sha1WithRSAEncryption: + /* use PKCS#1 v1.5 padding scheme */ + break; + case oids['RSASSA-PSS']: + var hash, mgf; + + /* initialize mgf */ + hash = oids[csr.signatureParameters.mgf.hash.algorithmOid]; + if(hash === undefined || forge.md[hash] === undefined) { + var error = new Error('Unsupported MGF hash function.'); + error.oid = csr.signatureParameters.mgf.hash.algorithmOid; + error.name = hash; + throw error; + } + + mgf = oids[csr.signatureParameters.mgf.algorithmOid]; + if(mgf === undefined || forge.mgf[mgf] === undefined) { + var error = new Error('Unsupported MGF function.'); + error.oid = csr.signatureParameters.mgf.algorithmOid; + error.name = mgf; + throw error; + } + + mgf = forge.mgf[mgf].create(forge.md[hash].create()); + + /* initialize hash function */ + hash = oids[csr.signatureParameters.hash.algorithmOid]; + if(hash === undefined || forge.md[hash] === undefined) { + var error = new Error('Unsupported RSASSA-PSS hash function.'); + error.oid = csr.signatureParameters.hash.algorithmOid; + error.name = hash; + throw error; + } + + scheme = forge.pss.create(forge.md[hash].create(), mgf, + csr.signatureParameters.saltLength); + break; + } + + // verify signature on csr using its public key + rval = csr.publicKey.verify( + md.digest().getBytes(), csr.signature, scheme); + } + + return rval; + }; + + return csr; +}; + +/** + * Converts an X.509 subject or issuer to an ASN.1 RDNSequence. + * + * @param obj the subject or issuer (distinguished name). + * + * @return the ASN.1 RDNSequence. + */ +function _dnToAsn1(obj) { + // create an empty RDNSequence + var rval = asn1.create( + asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, []); + + // iterate over attributes + var attr, set; + var attrs = obj.attributes; + for(var i = 0; i < attrs.length; ++i) { + attr = attrs[i]; + var value = attr.value; + + // reuse tag class for attribute value if available + var valueTagClass = asn1.Type.PRINTABLESTRING; + if('valueTagClass' in attr) { + valueTagClass = attr.valueTagClass; + + if(valueTagClass === asn1.Type.UTF8) { + value = forge.util.encodeUtf8(value); + } + // FIXME: handle more encodings + } + + // create a RelativeDistinguishedName set + // each value in the set is an AttributeTypeAndValue first + // containing the type (an OID) and second the value + set = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SET, true, [ + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + // AttributeType + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, + asn1.oidToDer(attr.type).getBytes()), + // AttributeValue + asn1.create(asn1.Class.UNIVERSAL, valueTagClass, false, value) + ]) + ]); + rval.value.push(set); + } + + return rval; +} + +/** + * Gets all printable attributes (typically of an issuer or subject) in a + * simplified JSON format for display. + * + * @param attrs the attributes. + * + * @return the JSON for display. + */ +function _getAttributesAsJson(attrs) { + var rval = {}; + for(var i = 0; i < attrs.length; ++i) { + var attr = attrs[i]; + if(attr.shortName && ( + attr.valueTagClass === asn1.Type.UTF8 || + attr.valueTagClass === asn1.Type.PRINTABLESTRING || + attr.valueTagClass === asn1.Type.IA5STRING)) { + var value = attr.value; + if(attr.valueTagClass === asn1.Type.UTF8) { + value = forge.util.encodeUtf8(attr.value); + } + if(!(attr.shortName in rval)) { + rval[attr.shortName] = value; + } else if(forge.util.isArray(rval[attr.shortName])) { + rval[attr.shortName].push(value); + } else { + rval[attr.shortName] = [rval[attr.shortName], value]; + } + } + } + return rval; +} + +/** + * Fills in missing fields in attributes. + * + * @param attrs the attributes to fill missing fields in. + */ +function _fillMissingFields(attrs) { + var attr; + for(var i = 0; i < attrs.length; ++i) { + attr = attrs[i]; + + // populate missing name + if(typeof attr.name === 'undefined') { + if(attr.type && attr.type in pki.oids) { + attr.name = pki.oids[attr.type]; + } else if(attr.shortName && attr.shortName in _shortNames) { + attr.name = pki.oids[_shortNames[attr.shortName]]; + } + } + + // populate missing type (OID) + if(typeof attr.type === 'undefined') { + if(attr.name && attr.name in pki.oids) { + attr.type = pki.oids[attr.name]; + } else { + var error = new Error('Attribute type not specified.'); + error.attribute = attr; + throw error; + } + } + + // populate missing shortname + if(typeof attr.shortName === 'undefined') { + if(attr.name && attr.name in _shortNames) { + attr.shortName = _shortNames[attr.name]; + } + } + + // convert extensions to value + if(attr.type === oids.extensionRequest) { + attr.valueConstructed = true; + attr.valueTagClass = asn1.Type.SEQUENCE; + if(!attr.value && attr.extensions) { + attr.value = []; + for(var ei = 0; ei < attr.extensions.length; ++ei) { + attr.value.push(pki.certificateExtensionToAsn1( + _fillMissingExtensionFields(attr.extensions[ei]))); + } + } + } + + if(typeof attr.value === 'undefined') { + var error = new Error('Attribute value not specified.'); + error.attribute = attr; + throw error; + } + } +} + +/** + * Fills in missing fields in certificate extensions. + * + * @param e the extension. + * @param [options] the options to use. + * [cert] the certificate the extensions are for. + * + * @return the extension. + */ +function _fillMissingExtensionFields(e, options) { + options = options || {}; + + // populate missing name + if(typeof e.name === 'undefined') { + if(e.id && e.id in pki.oids) { + e.name = pki.oids[e.id]; + } + } + + // populate missing id + if(typeof e.id === 'undefined') { + if(e.name && e.name in pki.oids) { + e.id = pki.oids[e.name]; + } else { + var error = new Error('Extension ID not specified.'); + error.extension = e; + throw error; + } + } + + if(typeof e.value !== 'undefined') { + return e; + } + + // handle missing value: + + // value is a BIT STRING + if(e.name === 'keyUsage') { + // build flags + var unused = 0; + var b2 = 0x00; + var b3 = 0x00; + if(e.digitalSignature) { + b2 |= 0x80; + unused = 7; + } + if(e.nonRepudiation) { + b2 |= 0x40; + unused = 6; + } + if(e.keyEncipherment) { + b2 |= 0x20; + unused = 5; + } + if(e.dataEncipherment) { + b2 |= 0x10; + unused = 4; + } + if(e.keyAgreement) { + b2 |= 0x08; + unused = 3; + } + if(e.keyCertSign) { + b2 |= 0x04; + unused = 2; + } + if(e.cRLSign) { + b2 |= 0x02; + unused = 1; + } + if(e.encipherOnly) { + b2 |= 0x01; + unused = 0; + } + if(e.decipherOnly) { + b3 |= 0x80; + unused = 7; + } + + // create bit string + var value = String.fromCharCode(unused); + if(b3 !== 0) { + value += String.fromCharCode(b2) + String.fromCharCode(b3); + } else if(b2 !== 0) { + value += String.fromCharCode(b2); + } + e.value = asn1.create( + asn1.Class.UNIVERSAL, asn1.Type.BITSTRING, false, value); + } else if(e.name === 'basicConstraints') { + // basicConstraints is a SEQUENCE + e.value = asn1.create( + asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, []); + // cA BOOLEAN flag defaults to false + if(e.cA) { + e.value.value.push(asn1.create( + asn1.Class.UNIVERSAL, asn1.Type.BOOLEAN, false, + String.fromCharCode(0xFF))); + } + if('pathLenConstraint' in e) { + e.value.value.push(asn1.create( + asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, + asn1.integerToDer(e.pathLenConstraint).getBytes())); + } + } else if(e.name === 'extKeyUsage') { + // extKeyUsage is a SEQUENCE of OIDs + e.value = asn1.create( + asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, []); + var seq = e.value.value; + for(var key in e) { + if(e[key] !== true) { + continue; + } + // key is name in OID map + if(key in oids) { + seq.push(asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, + false, asn1.oidToDer(oids[key]).getBytes())); + } else if(key.indexOf('.') !== -1) { + // assume key is an OID + seq.push(asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, + false, asn1.oidToDer(key).getBytes())); + } + } + } else if(e.name === 'nsCertType') { + // nsCertType is a BIT STRING + // build flags + var unused = 0; + var b2 = 0x00; + + if(e.client) { + b2 |= 0x80; + unused = 7; + } + if(e.server) { + b2 |= 0x40; + unused = 6; + } + if(e.email) { + b2 |= 0x20; + unused = 5; + } + if(e.objsign) { + b2 |= 0x10; + unused = 4; + } + if(e.reserved) { + b2 |= 0x08; + unused = 3; + } + if(e.sslCA) { + b2 |= 0x04; + unused = 2; + } + if(e.emailCA) { + b2 |= 0x02; + unused = 1; + } + if(e.objCA) { + b2 |= 0x01; + unused = 0; + } + + // create bit string + var value = String.fromCharCode(unused); + if(b2 !== 0) { + value += String.fromCharCode(b2); + } + e.value = asn1.create( + asn1.Class.UNIVERSAL, asn1.Type.BITSTRING, false, value); + } else if(e.name === 'subjectAltName' || e.name === 'issuerAltName') { + // SYNTAX SEQUENCE + e.value = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, []); + + var altName; + for(var n = 0; n < e.altNames.length; ++n) { + altName = e.altNames[n]; + var value = altName.value; + // handle IP + if(altName.type === 7 && altName.ip) { + value = forge.util.bytesFromIP(altName.ip); + if(value === null) { + var error = new Error( + 'Extension "ip" value is not a valid IPv4 or IPv6 address.'); + error.extension = e; + throw error; + } + } else if(altName.type === 8) { + // handle OID + if(altName.oid) { + value = asn1.oidToDer(asn1.oidToDer(altName.oid)); + } else { + // deprecated ... convert value to OID + value = asn1.oidToDer(value); + } + } + e.value.value.push(asn1.create( + asn1.Class.CONTEXT_SPECIFIC, altName.type, false, + value)); + } + } else if(e.name === 'subjectKeyIdentifier' && options.cert) { + var ski = options.cert.generateSubjectKeyIdentifier(); + e.subjectKeyIdentifier = ski.toHex(); + // OCTETSTRING w/digest + e.value = asn1.create( + asn1.Class.UNIVERSAL, asn1.Type.OCTETSTRING, false, ski.getBytes()); + } else if(e.name === 'authorityKeyIdentifier' && options.cert) { + // SYNTAX SEQUENCE + e.value = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, []); + var seq = e.value.value; + + if(e.keyIdentifier) { + var keyIdentifier = (e.keyIdentifier === true ? + options.cert.generateSubjectKeyIdentifier().getBytes() : + e.keyIdentifier); + seq.push( + asn1.create(asn1.Class.CONTEXT_SPECIFIC, 0, false, keyIdentifier)); + } + + if(e.authorityCertIssuer) { + var authorityCertIssuer = [ + asn1.create(asn1.Class.CONTEXT_SPECIFIC, 4, true, [ + _dnToAsn1(e.authorityCertIssuer === true ? + options.cert.issuer : e.authorityCertIssuer) + ]) + ]; + seq.push( + asn1.create(asn1.Class.CONTEXT_SPECIFIC, 1, true, authorityCertIssuer)); + } + + if(e.serialNumber) { + var serialNumber = forge.util.hexToBytes(e.serialNumber === true ? + options.cert.serialNumber : e.serialNumber); + seq.push( + asn1.create(asn1.Class.CONTEXT_SPECIFIC, 2, false, serialNumber)); + } + } else if (e.name === 'cRLDistributionPoints') { + e.value = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, []); + var seq = e.value.value; + + // Create sub SEQUENCE of DistributionPointName + var subSeq = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, []); + + // Create fullName CHOICE + var fullNameGeneralNames = asn1.create(asn1.Class.CONTEXT_SPECIFIC, 0, true, []); + var altName; + for(var n = 0; n < e.altNames.length; ++n) { + altName = e.altNames[n]; + var value = altName.value; + // handle IP + if(altName.type === 7 && altName.ip) { + value = forge.util.bytesFromIP(altName.ip); + if(value === null) { + var error = new Error( + 'Extension "ip" value is not a valid IPv4 or IPv6 address.'); + error.extension = e; + throw error; + } + } else if(altName.type === 8) { + // handle OID + if(altName.oid) { + value = asn1.oidToDer(asn1.oidToDer(altName.oid)); + } else { + // deprecated ... convert value to OID + value = asn1.oidToDer(value); + } + } + fullNameGeneralNames.value.push(asn1.create( + asn1.Class.CONTEXT_SPECIFIC, altName.type, false, + value)); + } + + // Add to the parent SEQUENCE + subSeq.value.push(asn1.create(asn1.Class.CONTEXT_SPECIFIC, 0, true, [fullNameGeneralNames])); + seq.push(subSeq); + } + + // ensure value has been defined by now + if(typeof e.value === 'undefined') { + var error = new Error('Extension value not specified.'); + error.extension = e; + throw error; + } + + return e; +} + +/** + * Convert signature parameters object to ASN.1 + * + * @param {String} oid Signature algorithm OID + * @param params The signature parametrs object + * @return ASN.1 object representing signature parameters + */ +function _signatureParametersToAsn1(oid, params) { + switch(oid) { + case oids['RSASSA-PSS']: + var parts = []; + + if(params.hash.algorithmOid !== undefined) { + parts.push(asn1.create(asn1.Class.CONTEXT_SPECIFIC, 0, true, [ + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, + asn1.oidToDer(params.hash.algorithmOid).getBytes()), + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.NULL, false, '') + ]) + ])); + } + + if(params.mgf.algorithmOid !== undefined) { + parts.push(asn1.create(asn1.Class.CONTEXT_SPECIFIC, 1, true, [ + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, + asn1.oidToDer(params.mgf.algorithmOid).getBytes()), + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, + asn1.oidToDer(params.mgf.hash.algorithmOid).getBytes()), + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.NULL, false, '') + ]) + ]) + ])); + } + + if(params.saltLength !== undefined) { + parts.push(asn1.create(asn1.Class.CONTEXT_SPECIFIC, 2, true, [ + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, + asn1.integerToDer(params.saltLength).getBytes()) + ])); + } + + return asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, parts); + + default: + return asn1.create(asn1.Class.UNIVERSAL, asn1.Type.NULL, false, ''); + } +} + +/** + * Converts a certification request's attributes to an ASN.1 set of + * CRIAttributes. + * + * @param csr certification request. + * + * @return the ASN.1 set of CRIAttributes. + */ +function _CRIAttributesToAsn1(csr) { + // create an empty context-specific container + var rval = asn1.create(asn1.Class.CONTEXT_SPECIFIC, 0, true, []); + + // no attributes, return empty container + if(csr.attributes.length === 0) { + return rval; + } + + // each attribute has a sequence with a type and a set of values + var attrs = csr.attributes; + for(var i = 0; i < attrs.length; ++i) { + var attr = attrs[i]; + var value = attr.value; + + // reuse tag class for attribute value if available + var valueTagClass = asn1.Type.UTF8; + if('valueTagClass' in attr) { + valueTagClass = attr.valueTagClass; + } + if(valueTagClass === asn1.Type.UTF8) { + value = forge.util.encodeUtf8(value); + } + var valueConstructed = false; + if('valueConstructed' in attr) { + valueConstructed = attr.valueConstructed; + } + // FIXME: handle more encodings + + // create a RelativeDistinguishedName set + // each value in the set is an AttributeTypeAndValue first + // containing the type (an OID) and second the value + var seq = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + // AttributeType + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, + asn1.oidToDer(attr.type).getBytes()), + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SET, true, [ + // AttributeValue + asn1.create( + asn1.Class.UNIVERSAL, valueTagClass, valueConstructed, value) + ]) + ]); + rval.value.push(seq); + } + + return rval; +} + +/** + * Gets the ASN.1 TBSCertificate part of an X.509v3 certificate. + * + * @param cert the certificate. + * + * @return the asn1 TBSCertificate. + */ +pki.getTBSCertificate = function(cert) { + // TBSCertificate + var tbs = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + // version + asn1.create(asn1.Class.CONTEXT_SPECIFIC, 0, true, [ + // integer + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, + asn1.integerToDer(cert.version).getBytes()) + ]), + // serialNumber + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, + forge.util.hexToBytes(cert.serialNumber)), + // signature + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + // algorithm + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, + asn1.oidToDer(cert.siginfo.algorithmOid).getBytes()), + // parameters + _signatureParametersToAsn1( + cert.siginfo.algorithmOid, cert.siginfo.parameters) + ]), + // issuer + _dnToAsn1(cert.issuer), + // validity + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + // notBefore + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.UTCTIME, false, + asn1.dateToUtcTime(cert.validity.notBefore)), + // notAfter + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.UTCTIME, false, + asn1.dateToUtcTime(cert.validity.notAfter)) + ]), + // subject + _dnToAsn1(cert.subject), + // SubjectPublicKeyInfo + pki.publicKeyToAsn1(cert.publicKey) + ]); + + if(cert.issuer.uniqueId) { + // issuerUniqueID (optional) + tbs.value.push( + asn1.create(asn1.Class.CONTEXT_SPECIFIC, 1, true, [ + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.BITSTRING, false, + // TODO: support arbitrary bit length ids + String.fromCharCode(0x00) + + cert.issuer.uniqueId + ) + ]) + ); + } + if(cert.subject.uniqueId) { + // subjectUniqueID (optional) + tbs.value.push( + asn1.create(asn1.Class.CONTEXT_SPECIFIC, 2, true, [ + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.BITSTRING, false, + // TODO: support arbitrary bit length ids + String.fromCharCode(0x00) + + cert.subject.uniqueId + ) + ]) + ); + } + + if(cert.extensions.length > 0) { + // extensions (optional) + tbs.value.push(pki.certificateExtensionsToAsn1(cert.extensions)); + } + + return tbs; +}; + +/** + * Gets the ASN.1 CertificationRequestInfo part of a + * PKCS#10 CertificationRequest. + * + * @param csr the certification request. + * + * @return the asn1 CertificationRequestInfo. + */ +pki.getCertificationRequestInfo = function(csr) { + // CertificationRequestInfo + var cri = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + // version + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, + asn1.integerToDer(csr.version).getBytes()), + // subject + _dnToAsn1(csr.subject), + // SubjectPublicKeyInfo + pki.publicKeyToAsn1(csr.publicKey), + // attributes + _CRIAttributesToAsn1(csr) + ]); + + return cri; +}; + +/** + * Converts a DistinguishedName (subject or issuer) to an ASN.1 object. + * + * @param dn the DistinguishedName. + * + * @return the asn1 representation of a DistinguishedName. + */ +pki.distinguishedNameToAsn1 = function(dn) { + return _dnToAsn1(dn); +}; + +/** + * Converts an X.509v3 RSA certificate to an ASN.1 object. + * + * @param cert the certificate. + * + * @return the asn1 representation of an X.509v3 RSA certificate. + */ +pki.certificateToAsn1 = function(cert) { + // prefer cached TBSCertificate over generating one + var tbsCertificate = cert.tbsCertificate || pki.getTBSCertificate(cert); + + // Certificate + return asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + // TBSCertificate + tbsCertificate, + // AlgorithmIdentifier (signature algorithm) + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + // algorithm + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, + asn1.oidToDer(cert.signatureOid).getBytes()), + // parameters + _signatureParametersToAsn1(cert.signatureOid, cert.signatureParameters) + ]), + // SignatureValue + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.BITSTRING, false, + String.fromCharCode(0x00) + cert.signature) + ]); +}; + +/** + * Converts X.509v3 certificate extensions to ASN.1. + * + * @param exts the extensions to convert. + * + * @return the extensions in ASN.1 format. + */ +pki.certificateExtensionsToAsn1 = function(exts) { + // create top-level extension container + var rval = asn1.create(asn1.Class.CONTEXT_SPECIFIC, 3, true, []); + + // create extension sequence (stores a sequence for each extension) + var seq = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, []); + rval.value.push(seq); + + for(var i = 0; i < exts.length; ++i) { + seq.value.push(pki.certificateExtensionToAsn1(exts[i])); + } + + return rval; +}; + +/** + * Converts a single certificate extension to ASN.1. + * + * @param ext the extension to convert. + * + * @return the extension in ASN.1 format. + */ +pki.certificateExtensionToAsn1 = function(ext) { + // create a sequence for each extension + var extseq = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, []); + + // extnID (OID) + extseq.value.push(asn1.create( + asn1.Class.UNIVERSAL, asn1.Type.OID, false, + asn1.oidToDer(ext.id).getBytes())); + + // critical defaults to false + if(ext.critical) { + // critical BOOLEAN DEFAULT FALSE + extseq.value.push(asn1.create( + asn1.Class.UNIVERSAL, asn1.Type.BOOLEAN, false, + String.fromCharCode(0xFF))); + } + + var value = ext.value; + if(typeof ext.value !== 'string') { + // value is asn.1 + value = asn1.toDer(value).getBytes(); + } + + // extnValue (OCTET STRING) + extseq.value.push(asn1.create( + asn1.Class.UNIVERSAL, asn1.Type.OCTETSTRING, false, value)); + + return extseq; +}; + +/** + * Converts a PKCS#10 certification request to an ASN.1 object. + * + * @param csr the certification request. + * + * @return the asn1 representation of a certification request. + */ +pki.certificationRequestToAsn1 = function(csr) { + // prefer cached CertificationRequestInfo over generating one + var cri = csr.certificationRequestInfo || + pki.getCertificationRequestInfo(csr); + + // Certificate + return asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + // CertificationRequestInfo + cri, + // AlgorithmIdentifier (signature algorithm) + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [ + // algorithm + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, + asn1.oidToDer(csr.signatureOid).getBytes()), + // parameters + _signatureParametersToAsn1(csr.signatureOid, csr.signatureParameters) + ]), + // signature + asn1.create(asn1.Class.UNIVERSAL, asn1.Type.BITSTRING, false, + String.fromCharCode(0x00) + csr.signature) + ]); +}; + +/** + * Creates a CA store. + * + * @param certs an optional array of certificate objects or PEM-formatted + * certificate strings to add to the CA store. + * + * @return the CA store. + */ +pki.createCaStore = function(certs) { + // create CA store + var caStore = { + // stored certificates + certs: {} + }; + + /** + * Gets the certificate that issued the passed certificate or its + * 'parent'. + * + * @param cert the certificate to get the parent for. + * + * @return the parent certificate or null if none was found. + */ + caStore.getIssuer = function(cert) { + var rval = getBySubject(cert.issuer); + + // see if there are multiple matches + /*if(forge.util.isArray(rval)) { + // TODO: resolve multiple matches by checking + // authorityKey/subjectKey/issuerUniqueID/other identifiers, etc. + // FIXME: or alternatively do authority key mapping + // if possible (X.509v1 certs can't work?) + throw new Error('Resolving multiple issuer matches not implemented yet.'); + }*/ + + return rval; + }; + + /** + * Adds a trusted certificate to the store. + * + * @param cert the certificate to add as a trusted certificate (either a + * pki.certificate object or a PEM-formatted certificate). + */ + caStore.addCertificate = function(cert) { + // convert from pem if necessary + if(typeof cert === 'string') { + cert = forge.pki.certificateFromPem(cert); + } + + ensureSubjectHasHash(cert.subject); + + if(!caStore.hasCertificate(cert)) { // avoid duplicate certificates in store + if(cert.subject.hash in caStore.certs) { + // subject hash already exists, append to array + var tmp = caStore.certs[cert.subject.hash]; + if(!forge.util.isArray(tmp)) { + tmp = [tmp]; + } + tmp.push(cert); + caStore.certs[cert.subject.hash] = tmp; + } else { + caStore.certs[cert.subject.hash] = cert; + } + } + }; + + /** + * Checks to see if the given certificate is in the store. + * + * @param cert the certificate to check (either a pki.certificate or a + * PEM-formatted certificate). + * + * @return true if the certificate is in the store, false if not. + */ + caStore.hasCertificate = function(cert) { + // convert from pem if necessary + if(typeof cert === 'string') { + cert = forge.pki.certificateFromPem(cert); + } + + var match = getBySubject(cert.subject); + if(!match) { + return false; + } + if(!forge.util.isArray(match)) { + match = [match]; + } + // compare DER-encoding of certificates + var der1 = asn1.toDer(pki.certificateToAsn1(cert)).getBytes(); + for(var i = 0; i < match.length; ++i) { + var der2 = asn1.toDer(pki.certificateToAsn1(match[i])).getBytes(); + if(der1 === der2) { + return true; + } + } + return false; + }; + + /** + * Lists all of the certificates kept in the store. + * + * @return an array of all of the pki.certificate objects in the store. + */ + caStore.listAllCertificates = function() { + var certList = []; + + for(var hash in caStore.certs) { + if(caStore.certs.hasOwnProperty(hash)) { + var value = caStore.certs[hash]; + if(!forge.util.isArray(value)) { + certList.push(value); + } else { + for(var i = 0; i < value.length; ++i) { + certList.push(value[i]); + } + } + } + } + + return certList; + }; + + /** + * Removes a certificate from the store. + * + * @param cert the certificate to remove (either a pki.certificate or a + * PEM-formatted certificate). + * + * @return the certificate that was removed or null if the certificate + * wasn't in store. + */ + caStore.removeCertificate = function(cert) { + var result; + + // convert from pem if necessary + if(typeof cert === 'string') { + cert = forge.pki.certificateFromPem(cert); + } + ensureSubjectHasHash(cert.subject); + if(!caStore.hasCertificate(cert)) { + return null; + } + + var match = getBySubject(cert.subject); + + if(!forge.util.isArray(match)) { + result = caStore.certs[cert.subject.hash]; + delete caStore.certs[cert.subject.hash]; + return result; + } + + // compare DER-encoding of certificates + var der1 = asn1.toDer(pki.certificateToAsn1(cert)).getBytes(); + for(var i = 0; i < match.length; ++i) { + var der2 = asn1.toDer(pki.certificateToAsn1(match[i])).getBytes(); + if(der1 === der2) { + result = match[i]; + match.splice(i, 1); + } + } + if(match.length === 0) { + delete caStore.certs[cert.subject.hash]; + } + + return result; + }; + + function getBySubject(subject) { + ensureSubjectHasHash(subject); + return caStore.certs[subject.hash] || null; + } + + function ensureSubjectHasHash(subject) { + // produce subject hash if it doesn't exist + if(!subject.hash) { + var md = forge.md.sha1.create(); + subject.attributes = pki.RDNAttributesAsArray(_dnToAsn1(subject), md); + subject.hash = md.digest().toHex(); + } + } + + // auto-add passed in certs + if(certs) { + // parse PEM-formatted certificates as necessary + for(var i = 0; i < certs.length; ++i) { + var cert = certs[i]; + caStore.addCertificate(cert); + } + } + + return caStore; +}; + +/** + * Certificate verification errors, based on TLS. + */ +pki.certificateError = { + bad_certificate: 'forge.pki.BadCertificate', + unsupported_certificate: 'forge.pki.UnsupportedCertificate', + certificate_revoked: 'forge.pki.CertificateRevoked', + certificate_expired: 'forge.pki.CertificateExpired', + certificate_unknown: 'forge.pki.CertificateUnknown', + unknown_ca: 'forge.pki.UnknownCertificateAuthority' +}; + +/** + * Verifies a certificate chain against the given Certificate Authority store + * with an optional custom verify callback. + * + * @param caStore a certificate store to verify against. + * @param chain the certificate chain to verify, with the root or highest + * authority at the end (an array of certificates). + * @param verify called for every certificate in the chain. + * + * The verify callback has the following signature: + * + * verified - Set to true if certificate was verified, otherwise the + * pki.certificateError for why the certificate failed. + * depth - The current index in the chain, where 0 is the end point's cert. + * certs - The certificate chain, *NOTE* an empty chain indicates an anonymous + * end point. + * + * The function returns true on success and on failure either the appropriate + * pki.certificateError or an object with 'error' set to the appropriate + * pki.certificateError and 'message' set to a custom error message. + * + * @return true if successful, error thrown if not. + */ +pki.verifyCertificateChain = function(caStore, chain, verify) { + /* From: RFC3280 - Internet X.509 Public Key Infrastructure Certificate + Section 6: Certification Path Validation + See inline parentheticals related to this particular implementation. + + The primary goal of path validation is to verify the binding between + a subject distinguished name or a subject alternative name and subject + public key, as represented in the end entity certificate, based on the + public key of the trust anchor. This requires obtaining a sequence of + certificates that support that binding. That sequence should be provided + in the passed 'chain'. The trust anchor should be in the given CA + store. The 'end entity' certificate is the certificate provided by the + end point (typically a server) and is the first in the chain. + + To meet this goal, the path validation process verifies, among other + things, that a prospective certification path (a sequence of n + certificates or a 'chain') satisfies the following conditions: + + (a) for all x in {1, ..., n-1}, the subject of certificate x is + the issuer of certificate x+1; + + (b) certificate 1 is issued by the trust anchor; + + (c) certificate n is the certificate to be validated; and + + (d) for all x in {1, ..., n}, the certificate was valid at the + time in question. + + Note that here 'n' is index 0 in the chain and 1 is the last certificate + in the chain and it must be signed by a certificate in the connection's + CA store. + + The path validation process also determines the set of certificate + policies that are valid for this path, based on the certificate policies + extension, policy mapping extension, policy constraints extension, and + inhibit any-policy extension. + + Note: Policy mapping extension not supported (Not Required). + + Note: If the certificate has an unsupported critical extension, then it + must be rejected. + + Note: A certificate is self-issued if the DNs that appear in the subject + and issuer fields are identical and are not empty. + + The path validation algorithm assumes the following seven inputs are + provided to the path processing logic. What this specific implementation + will use is provided parenthetically: + + (a) a prospective certification path of length n (the 'chain') + (b) the current date/time: ('now'). + (c) user-initial-policy-set: A set of certificate policy identifiers + naming the policies that are acceptable to the certificate user. + The user-initial-policy-set contains the special value any-policy + if the user is not concerned about certificate policy + (Not implemented. Any policy is accepted). + (d) trust anchor information, describing a CA that serves as a trust + anchor for the certification path. The trust anchor information + includes: + + (1) the trusted issuer name, + (2) the trusted public key algorithm, + (3) the trusted public key, and + (4) optionally, the trusted public key parameters associated + with the public key. + + (Trust anchors are provided via certificates in the CA store). + + The trust anchor information may be provided to the path processing + procedure in the form of a self-signed certificate. The trusted anchor + information is trusted because it was delivered to the path processing + procedure by some trustworthy out-of-band procedure. If the trusted + public key algorithm requires parameters, then the parameters are + provided along with the trusted public key (No parameters used in this + implementation). + + (e) initial-policy-mapping-inhibit, which indicates if policy mapping is + allowed in the certification path. + (Not implemented, no policy checking) + + (f) initial-explicit-policy, which indicates if the path must be valid + for at least one of the certificate policies in the user-initial- + policy-set. + (Not implemented, no policy checking) + + (g) initial-any-policy-inhibit, which indicates whether the + anyPolicy OID should be processed if it is included in a + certificate. + (Not implemented, so any policy is valid provided that it is + not marked as critical) */ + + /* Basic Path Processing: + + For each certificate in the 'chain', the following is checked: + + 1. The certificate validity period includes the current time. + 2. The certificate was signed by its parent (where the parent is either + the next in the chain or from the CA store). Allow processing to + continue to the next step if no parent is found but the certificate is + in the CA store. + 3. TODO: The certificate has not been revoked. + 4. The certificate issuer name matches the parent's subject name. + 5. TODO: If the certificate is self-issued and not the final certificate + in the chain, skip this step, otherwise verify that the subject name + is within one of the permitted subtrees of X.500 distinguished names + and that each of the alternative names in the subjectAltName extension + (critical or non-critical) is within one of the permitted subtrees for + that name type. + 6. TODO: If the certificate is self-issued and not the final certificate + in the chain, skip this step, otherwise verify that the subject name + is not within one of the excluded subtrees for X.500 distinguished + names and none of the subjectAltName extension names are excluded for + that name type. + 7. The other steps in the algorithm for basic path processing involve + handling the policy extension which is not presently supported in this + implementation. Instead, if a critical policy extension is found, the + certificate is rejected as not supported. + 8. If the certificate is not the first or if its the only certificate in + the chain (having no parent from the CA store or is self-signed) and it + has a critical key usage extension, verify that the keyCertSign bit is + set. If the key usage extension exists, verify that the basic + constraints extension exists. If the basic constraints extension exists, + verify that the cA flag is set. If pathLenConstraint is set, ensure that + the number of certificates that precede in the chain (come earlier + in the chain as implemented below), excluding the very first in the + chain (typically the end-entity one), isn't greater than the + pathLenConstraint. This constraint limits the number of intermediate + CAs that may appear below a CA before only end-entity certificates + may be issued. */ + + // copy cert chain references to another array to protect against changes + // in verify callback + chain = chain.slice(0); + var certs = chain.slice(0); + + // get current date + var now = new Date(); + + // verify each cert in the chain using its parent, where the parent + // is either the next in the chain or from the CA store + var first = true; + var error = null; + var depth = 0; + do { + var cert = chain.shift(); + var parent = null; + var selfSigned = false; + + // 1. check valid time + if(now < cert.validity.notBefore || now > cert.validity.notAfter) { + error = { + message: 'Certificate is not valid yet or has expired.', + error: pki.certificateError.certificate_expired, + notBefore: cert.validity.notBefore, + notAfter: cert.validity.notAfter, + now: now + }; + } + + // 2. verify with parent from chain or CA store + if(error === null) { + parent = chain[0] || caStore.getIssuer(cert); + if(parent === null) { + // check for self-signed cert + if(cert.isIssuer(cert)) { + selfSigned = true; + parent = cert; + } + } + + if(parent) { + // FIXME: current CA store implementation might have multiple + // certificates where the issuer can't be determined from the + // certificate (happens rarely with, eg: old certificates) so normalize + // by always putting parents into an array + // TODO: there's may be an extreme degenerate case currently uncovered + // where an old intermediate certificate seems to have a matching parent + // but none of the parents actually verify ... but the intermediate + // is in the CA and it should pass this check; needs investigation + var parents = parent; + if(!forge.util.isArray(parents)) { + parents = [parents]; + } + + // try to verify with each possible parent (typically only one) + var verified = false; + while(!verified && parents.length > 0) { + parent = parents.shift(); + try { + verified = parent.verify(cert); + } catch(ex) { + // failure to verify, don't care why, try next one + } + } + + if(!verified) { + error = { + message: 'Certificate signature is invalid.', + error: pki.certificateError.bad_certificate + }; + } + } + + if(error === null && (!parent || selfSigned) && + !caStore.hasCertificate(cert)) { + // no parent issuer and certificate itself is not trusted + error = { + message: 'Certificate is not trusted.', + error: pki.certificateError.unknown_ca + }; + } + } + + // TODO: 3. check revoked + + // 4. check for matching issuer/subject + if(error === null && parent && !cert.isIssuer(parent)) { + // parent is not issuer + error = { + message: 'Certificate issuer is invalid.', + error: pki.certificateError.bad_certificate + }; + } + + // 5. TODO: check names with permitted names tree + + // 6. TODO: check names against excluded names tree + + // 7. check for unsupported critical extensions + if(error === null) { + // supported extensions + var se = { + keyUsage: true, + basicConstraints: true + }; + for(var i = 0; error === null && i < cert.extensions.length; ++i) { + var ext = cert.extensions[i]; + if(ext.critical && !(ext.name in se)) { + error = { + message: + 'Certificate has an unsupported critical extension.', + error: pki.certificateError.unsupported_certificate + }; + } + } + } + + // 8. check for CA if cert is not first or is the only certificate + // remaining in chain with no parent or is self-signed + if(error === null && + (!first || (chain.length === 0 && (!parent || selfSigned)))) { + // first check keyUsage extension and then basic constraints + var bcExt = cert.getExtension('basicConstraints'); + var keyUsageExt = cert.getExtension('keyUsage'); + if(keyUsageExt !== null) { + // keyCertSign must be true and there must be a basic + // constraints extension + if(!keyUsageExt.keyCertSign || bcExt === null) { + // bad certificate + error = { + message: + 'Certificate keyUsage or basicConstraints conflict ' + + 'or indicate that the certificate is not a CA. ' + + 'If the certificate is the only one in the chain or ' + + 'isn\'t the first then the certificate must be a ' + + 'valid CA.', + error: pki.certificateError.bad_certificate + }; + } + } + // basic constraints cA flag must be set + if(error === null && bcExt !== null && !bcExt.cA) { + // bad certificate + error = { + message: + 'Certificate basicConstraints indicates the certificate ' + + 'is not a CA.', + error: pki.certificateError.bad_certificate + }; + } + // if error is not null and keyUsage is available, then we know it + // has keyCertSign and there is a basic constraints extension too, + // which means we can check pathLenConstraint (if it exists) + if(error === null && keyUsageExt !== null && + 'pathLenConstraint' in bcExt) { + // pathLen is the maximum # of intermediate CA certs that can be + // found between the current certificate and the end-entity (depth 0) + // certificate; this number does not include the end-entity (depth 0, + // last in the chain) even if it happens to be a CA certificate itself + var pathLen = depth - 1; + if(pathLen > bcExt.pathLenConstraint) { + // pathLenConstraint violated, bad certificate + error = { + message: + 'Certificate basicConstraints pathLenConstraint violated.', + error: pki.certificateError.bad_certificate + }; + } + } + } + + // call application callback + var vfd = (error === null) ? true : error.error; + var ret = verify ? verify(vfd, depth, certs) : vfd; + if(ret === true) { + // clear any set error + error = null; + } else { + // if passed basic tests, set default message and alert + if(vfd === true) { + error = { + message: 'The application rejected the certificate.', + error: pki.certificateError.bad_certificate + }; + } + + // check for custom error info + if(ret || ret === 0) { + // set custom message and error + if(typeof ret === 'object' && !forge.util.isArray(ret)) { + if(ret.message) { + error.message = ret.message; + } + if(ret.error) { + error.error = ret.error; + } + } else if(typeof ret === 'string') { + // set custom error + error.error = ret; + } + } + + // throw error + throw error; + } + + // no longer first cert in chain + first = false; + ++depth; + } while(chain.length > 0); + + return true; +}; diff --git a/express-server/node_modules/node-forge/lib/xhr.js b/express-server/node_modules/node-forge/lib/xhr.js new file mode 100644 index 00000000..e493c3b6 --- /dev/null +++ b/express-server/node_modules/node-forge/lib/xhr.js @@ -0,0 +1,736 @@ +/** + * XmlHttpRequest implementation that uses TLS and flash SocketPool. + * + * @author Dave Longley + * + * Copyright (c) 2010-2013 Digital Bazaar, Inc. + */ +var forge = require('./forge'); +require('./socket'); +require('./http'); + +/* XHR API */ +var xhrApi = module.exports = forge.xhr = forge.xhr || {}; + +(function($) { + +// logging category +var cat = 'forge.xhr'; + +/* +XMLHttpRequest interface definition from: +http://www.w3.org/TR/XMLHttpRequest + +interface XMLHttpRequest { + // event handler + attribute EventListener onreadystatechange; + + // state + const unsigned short UNSENT = 0; + const unsigned short OPENED = 1; + const unsigned short HEADERS_RECEIVED = 2; + const unsigned short LOADING = 3; + const unsigned short DONE = 4; + readonly attribute unsigned short readyState; + + // request + void open(in DOMString method, in DOMString url); + void open(in DOMString method, in DOMString url, in boolean async); + void open(in DOMString method, in DOMString url, + in boolean async, in DOMString user); + void open(in DOMString method, in DOMString url, + in boolean async, in DOMString user, in DOMString password); + void setRequestHeader(in DOMString header, in DOMString value); + void send(); + void send(in DOMString data); + void send(in Document data); + void abort(); + + // response + DOMString getAllResponseHeaders(); + DOMString getResponseHeader(in DOMString header); + readonly attribute DOMString responseText; + readonly attribute Document responseXML; + readonly attribute unsigned short status; + readonly attribute DOMString statusText; +}; +*/ + +// readyStates +var UNSENT = 0; +var OPENED = 1; +var HEADERS_RECEIVED = 2; +var LOADING = 3; +var DONE = 4; + +// exceptions +var INVALID_STATE_ERR = 11; +var SYNTAX_ERR = 12; +var SECURITY_ERR = 18; +var NETWORK_ERR = 19; +var ABORT_ERR = 20; + +// private flash socket pool vars +var _sp = null; +var _policyPort = 0; +var _policyUrl = null; + +// default client (used if no special URL provided when creating an XHR) +var _client = null; + +// all clients including the default, key'd by full base url +// (multiple cross-domain http clients are permitted so there may be more +// than one client in this map) +// TODO: provide optional clean up API for non-default clients +var _clients = {}; + +// the default maximum number of concurrents connections per client +var _maxConnections = 10; + +var net = forge.net; +var http = forge.http; + +/** + * Initializes flash XHR support. + * + * @param options: + * url: the default base URL to connect to if xhr URLs are relative, + * ie: https://myserver.com. + * flashId: the dom ID of the flash SocketPool. + * policyPort: the port that provides the server's flash policy, 0 to use + * the flash default. + * policyUrl: the policy file URL to use instead of a policy port. + * msie: true if browser is internet explorer, false if not. + * connections: the maximum number of concurrent connections. + * caCerts: a list of PEM-formatted certificates to trust. + * cipherSuites: an optional array of cipher suites to use, + * see forge.tls.CipherSuites. + * verify: optional TLS certificate verify callback to use (see forge.tls + * for details). + * getCertificate: an optional callback used to get a client-side + * certificate (see forge.tls for details). + * getPrivateKey: an optional callback used to get a client-side private + * key (see forge.tls for details). + * getSignature: an optional callback used to get a client-side signature + * (see forge.tls for details). + * persistCookies: true to use persistent cookies via flash local storage, + * false to only keep cookies in javascript. + * primeTlsSockets: true to immediately connect TLS sockets on their + * creation so that they will cache TLS sessions for reuse. + */ +xhrApi.init = function(options) { + forge.log.debug(cat, 'initializing', options); + + // update default policy port and max connections + _policyPort = options.policyPort || _policyPort; + _policyUrl = options.policyUrl || _policyUrl; + _maxConnections = options.connections || _maxConnections; + + // create the flash socket pool + _sp = net.createSocketPool({ + flashId: options.flashId, + policyPort: _policyPort, + policyUrl: _policyUrl, + msie: options.msie || false + }); + + // create default http client + _client = http.createClient({ + url: options.url || ( + window.location.protocol + '//' + window.location.host), + socketPool: _sp, + policyPort: _policyPort, + policyUrl: _policyUrl, + connections: options.connections || _maxConnections, + caCerts: options.caCerts, + cipherSuites: options.cipherSuites, + persistCookies: options.persistCookies || true, + primeTlsSockets: options.primeTlsSockets || false, + verify: options.verify, + getCertificate: options.getCertificate, + getPrivateKey: options.getPrivateKey, + getSignature: options.getSignature + }); + _clients[_client.url.full] = _client; + + forge.log.debug(cat, 'ready'); +}; + +/** + * Called to clean up the clients and socket pool. + */ +xhrApi.cleanup = function() { + // destroy all clients + for(var key in _clients) { + _clients[key].destroy(); + } + _clients = {}; + _client = null; + + // destroy socket pool + _sp.destroy(); + _sp = null; +}; + +/** + * Sets a cookie. + * + * @param cookie the cookie with parameters: + * name: the name of the cookie. + * value: the value of the cookie. + * comment: an optional comment string. + * maxAge: the age of the cookie in seconds relative to created time. + * secure: true if the cookie must be sent over a secure protocol. + * httpOnly: true to restrict access to the cookie from javascript + * (inaffective since the cookies are stored in javascript). + * path: the path for the cookie. + * domain: optional domain the cookie belongs to (must start with dot). + * version: optional version of the cookie. + * created: creation time, in UTC seconds, of the cookie. + */ +xhrApi.setCookie = function(cookie) { + // default cookie expiration to never + cookie.maxAge = cookie.maxAge || -1; + + // if the cookie's domain is set, use the appropriate client + if(cookie.domain) { + // add the cookies to the applicable domains + for(var key in _clients) { + var client = _clients[key]; + if(http.withinCookieDomain(client.url, cookie) && + client.secure === cookie.secure) { + client.setCookie(cookie); + } + } + } else { + // use the default domain + // FIXME: should a null domain cookie be added to all clients? should + // this be an option? + _client.setCookie(cookie); + } +}; + +/** + * Gets a cookie. + * + * @param name the name of the cookie. + * @param path an optional path for the cookie (if there are multiple cookies + * with the same name but different paths). + * @param domain an optional domain for the cookie (if not using the default + * domain). + * + * @return the cookie, cookies (if multiple matches), or null if not found. + */ +xhrApi.getCookie = function(name, path, domain) { + var rval = null; + + if(domain) { + // get the cookies from the applicable domains + for(var key in _clients) { + var client = _clients[key]; + if(http.withinCookieDomain(client.url, domain)) { + var cookie = client.getCookie(name, path); + if(cookie !== null) { + if(rval === null) { + rval = cookie; + } else if(!forge.util.isArray(rval)) { + rval = [rval, cookie]; + } else { + rval.push(cookie); + } + } + } + } + } else { + // get cookie from default domain + rval = _client.getCookie(name, path); + } + + return rval; +}; + +/** + * Removes a cookie. + * + * @param name the name of the cookie. + * @param path an optional path for the cookie (if there are multiple cookies + * with the same name but different paths). + * @param domain an optional domain for the cookie (if not using the default + * domain). + * + * @return true if a cookie was removed, false if not. + */ +xhrApi.removeCookie = function(name, path, domain) { + var rval = false; + + if(domain) { + // remove the cookies from the applicable domains + for(var key in _clients) { + var client = _clients[key]; + if(http.withinCookieDomain(client.url, domain)) { + if(client.removeCookie(name, path)) { + rval = true; + } + } + } + } else { + // remove cookie from default domain + rval = _client.removeCookie(name, path); + } + + return rval; +}; + +/** + * Creates a new XmlHttpRequest. By default the base URL, flash policy port, + * etc, will be used. However, an XHR can be created to point at another + * cross-domain URL. + * + * @param options: + * logWarningOnError: If true and an HTTP error status code is received then + * log a warning, otherwise log a verbose message. + * verbose: If true be very verbose in the output including the response + * event and response body, otherwise only include status, timing, and + * data size. + * logError: a multi-var log function for warnings that takes the log + * category as the first var. + * logWarning: a multi-var log function for warnings that takes the log + * category as the first var. + * logDebug: a multi-var log function for warnings that takes the log + * category as the first var. + * logVerbose: a multi-var log function for warnings that takes the log + * category as the first var. + * url: the default base URL to connect to if xhr URLs are relative, + * eg: https://myserver.com, and note that the following options will be + * ignored if the URL is absent or the same as the default base URL. + * policyPort: the port that provides the server's flash policy, 0 to use + * the flash default. + * policyUrl: the policy file URL to use instead of a policy port. + * connections: the maximum number of concurrent connections. + * caCerts: a list of PEM-formatted certificates to trust. + * cipherSuites: an optional array of cipher suites to use, see + * forge.tls.CipherSuites. + * verify: optional TLS certificate verify callback to use (see forge.tls + * for details). + * getCertificate: an optional callback used to get a client-side + * certificate. + * getPrivateKey: an optional callback used to get a client-side private key. + * getSignature: an optional callback used to get a client-side signature. + * persistCookies: true to use persistent cookies via flash local storage, + * false to only keep cookies in javascript. + * primeTlsSockets: true to immediately connect TLS sockets on their + * creation so that they will cache TLS sessions for reuse. + * + * @return the XmlHttpRequest. + */ +xhrApi.create = function(options) { + // set option defaults + options = $.extend({ + logWarningOnError: true, + verbose: false, + logError: function() {}, + logWarning: function() {}, + logDebug: function() {}, + logVerbose: function() {}, + url: null + }, options || {}); + + // private xhr state + var _state = { + // the http client to use + client: null, + // request storage + request: null, + // response storage + response: null, + // asynchronous, true if doing asynchronous communication + asynchronous: true, + // sendFlag, true if send has been called + sendFlag: false, + // errorFlag, true if a network error occurred + errorFlag: false + }; + + // private log functions + var _log = { + error: options.logError || forge.log.error, + warning: options.logWarning || forge.log.warning, + debug: options.logDebug || forge.log.debug, + verbose: options.logVerbose || forge.log.verbose + }; + + // create public xhr interface + var xhr = { + // an EventListener + onreadystatechange: null, + // readonly, the current readyState + readyState: UNSENT, + // a string with the response entity-body + responseText: '', + // a Document for response entity-bodies that are XML + responseXML: null, + // readonly, returns the HTTP status code (i.e. 404) + status: 0, + // readonly, returns the HTTP status message (i.e. 'Not Found') + statusText: '' + }; + + // determine which http client to use + if(options.url === null) { + // use default + _state.client = _client; + } else { + var url = http.parseUrl(options.url); + if(!url) { + var error = new Error('Invalid url.'); + error.details = { + url: options.url + }; + } + + // find client + if(url.full in _clients) { + // client found + _state.client = _clients[url.full]; + } else { + // create client + _state.client = http.createClient({ + url: options.url, + socketPool: _sp, + policyPort: options.policyPort || _policyPort, + policyUrl: options.policyUrl || _policyUrl, + connections: options.connections || _maxConnections, + caCerts: options.caCerts, + cipherSuites: options.cipherSuites, + persistCookies: options.persistCookies || true, + primeTlsSockets: options.primeTlsSockets || false, + verify: options.verify, + getCertificate: options.getCertificate, + getPrivateKey: options.getPrivateKey, + getSignature: options.getSignature + }); + _clients[url.full] = _state.client; + } + } + + /** + * Opens the request. This method will create the HTTP request to send. + * + * @param method the HTTP method (i.e. 'GET'). + * @param url the relative url (the HTTP request path). + * @param async always true, ignored. + * @param user always null, ignored. + * @param password always null, ignored. + */ + xhr.open = function(method, url, async, user, password) { + // 1. validate Document if one is associated + // TODO: not implemented (not used yet) + + // 2. validate method token + // 3. change method to uppercase if it matches a known + // method (here we just require it to be uppercase, and + // we do not allow the standard methods) + // 4. disallow CONNECT, TRACE, or TRACK with a security error + switch(method) { + case 'DELETE': + case 'GET': + case 'HEAD': + case 'OPTIONS': + case 'PATCH': + case 'POST': + case 'PUT': + // valid method + break; + case 'CONNECT': + case 'TRACE': + case 'TRACK': + throw new Error('CONNECT, TRACE and TRACK methods are disallowed'); + default: + throw new Error('Invalid method: ' + method); + } + + // TODO: other validation steps in algorithm are not implemented + + // 19. set send flag to false + // set response body to null + // empty list of request headers + // set request method to given method + // set request URL + // set username, password + // set asychronous flag + _state.sendFlag = false; + xhr.responseText = ''; + xhr.responseXML = null; + + // custom: reset status and statusText + xhr.status = 0; + xhr.statusText = ''; + + // create the HTTP request + _state.request = http.createRequest({ + method: method, + path: url + }); + + // 20. set state to OPENED + xhr.readyState = OPENED; + + // 21. dispatch onreadystatechange + if(xhr.onreadystatechange) { + xhr.onreadystatechange(); + } + }; + + /** + * Adds an HTTP header field to the request. + * + * @param header the name of the header field. + * @param value the value of the header field. + */ + xhr.setRequestHeader = function(header, value) { + // 1. if state is not OPENED or send flag is true, raise exception + if(xhr.readyState != OPENED || _state.sendFlag) { + throw new Error('XHR not open or sending'); + } + + // TODO: other validation steps in spec aren't implemented + + // set header + _state.request.setField(header, value); + }; + + /** + * Sends the request and any associated data. + * + * @param data a string or Document object to send, null to send no data. + */ + xhr.send = function(data) { + // 1. if state is not OPENED or 2. send flag is true, raise + // an invalid state exception + if(xhr.readyState != OPENED || _state.sendFlag) { + throw new Error('XHR not open or sending'); + } + + // 3. ignore data if method is GET or HEAD + if(data && + _state.request.method !== 'GET' && + _state.request.method !== 'HEAD') { + // handle non-IE case + if(typeof(XMLSerializer) !== 'undefined') { + if(data instanceof Document) { + var xs = new XMLSerializer(); + _state.request.body = xs.serializeToString(data); + } else { + _state.request.body = data; + } + } else { + // poorly implemented IE case + if(typeof(data.xml) !== 'undefined') { + _state.request.body = data.xml; + } else { + _state.request.body = data; + } + } + } + + // 4. release storage mutex (not used) + + // 5. set error flag to false + _state.errorFlag = false; + + // 6. if asynchronous is true (must be in this implementation) + + // 6.1 set send flag to true + _state.sendFlag = true; + + // 6.2 dispatch onreadystatechange + if(xhr.onreadystatechange) { + xhr.onreadystatechange(); + } + + // create send options + var options = {}; + options.request = _state.request; + options.headerReady = function(e) { + // make cookies available for ease of use/iteration + xhr.cookies = _state.client.cookies; + + // TODO: update document.cookie with any cookies where the + // script's domain matches + + // headers received + xhr.readyState = HEADERS_RECEIVED; + xhr.status = e.response.code; + xhr.statusText = e.response.message; + _state.response = e.response; + if(xhr.onreadystatechange) { + xhr.onreadystatechange(); + } + if(!_state.response.aborted) { + // now loading body + xhr.readyState = LOADING; + if(xhr.onreadystatechange) { + xhr.onreadystatechange(); + } + } + }; + options.bodyReady = function(e) { + xhr.readyState = DONE; + var ct = e.response.getField('Content-Type'); + // Note: this null/undefined check is done outside because IE + // dies otherwise on a "'null' is null" error + if(ct) { + if(ct.indexOf('text/xml') === 0 || + ct.indexOf('application/xml') === 0 || + ct.indexOf('+xml') !== -1) { + try { + var doc = new ActiveXObject('MicrosoftXMLDOM'); + doc.async = false; + doc.loadXML(e.response.body); + xhr.responseXML = doc; + } catch(ex) { + var parser = new DOMParser(); + xhr.responseXML = parser.parseFromString(ex.body, 'text/xml'); + } + } + } + + var length = 0; + if(e.response.body !== null) { + xhr.responseText = e.response.body; + length = e.response.body.length; + } + // build logging output + var req = _state.request; + var output = + req.method + ' ' + req.path + ' ' + + xhr.status + ' ' + xhr.statusText + ' ' + + length + 'B ' + + (e.request.connectTime + e.request.time + e.response.time) + + 'ms'; + var lFunc; + if(options.verbose) { + lFunc = (xhr.status >= 400 && options.logWarningOnError) ? + _log.warning : _log.verbose; + lFunc(cat, output, + e, e.response.body ? '\n' + e.response.body : '\nNo content'); + } else { + lFunc = (xhr.status >= 400 && options.logWarningOnError) ? + _log.warning : _log.debug; + lFunc(cat, output); + } + if(xhr.onreadystatechange) { + xhr.onreadystatechange(); + } + }; + options.error = function(e) { + var req = _state.request; + _log.error(cat, req.method + ' ' + req.path, e); + + // 1. set response body to null + xhr.responseText = ''; + xhr.responseXML = null; + + // 2. set error flag to true (and reset status) + _state.errorFlag = true; + xhr.status = 0; + xhr.statusText = ''; + + // 3. set state to done + xhr.readyState = DONE; + + // 4. asyc flag is always true, so dispatch onreadystatechange + if(xhr.onreadystatechange) { + xhr.onreadystatechange(); + } + }; + + // 7. send request + _state.client.send(options); + }; + + /** + * Aborts the request. + */ + xhr.abort = function() { + // 1. abort send + // 2. stop network activity + _state.request.abort(); + + // 3. set response to null + xhr.responseText = ''; + xhr.responseXML = null; + + // 4. set error flag to true (and reset status) + _state.errorFlag = true; + xhr.status = 0; + xhr.statusText = ''; + + // 5. clear user headers + _state.request = null; + _state.response = null; + + // 6. if state is DONE or UNSENT, or if OPENED and send flag is false + if(xhr.readyState === DONE || xhr.readyState === UNSENT || + (xhr.readyState === OPENED && !_state.sendFlag)) { + // 7. set ready state to unsent + xhr.readyState = UNSENT; + } else { + // 6.1 set state to DONE + xhr.readyState = DONE; + + // 6.2 set send flag to false + _state.sendFlag = false; + + // 6.3 dispatch onreadystatechange + if(xhr.onreadystatechange) { + xhr.onreadystatechange(); + } + + // 7. set state to UNSENT + xhr.readyState = UNSENT; + } + }; + + /** + * Gets all response headers as a string. + * + * @return the HTTP-encoded response header fields. + */ + xhr.getAllResponseHeaders = function() { + var rval = ''; + if(_state.response !== null) { + var fields = _state.response.fields; + $.each(fields, function(name, array) { + $.each(array, function(i, value) { + rval += name + ': ' + value + '\r\n'; + }); + }); + } + return rval; + }; + + /** + * Gets a single header field value or, if there are multiple + * fields with the same name, a comma-separated list of header + * values. + * + * @return the header field value(s) or null. + */ + xhr.getResponseHeader = function(header) { + var rval = null; + if(_state.response !== null) { + if(header in _state.response.fields) { + rval = _state.response.fields[header]; + if(forge.util.isArray(rval)) { + rval = rval.join(); + } + } + } + return rval; + }; + + return xhr; +}; + +})(jQuery); diff --git a/express-server/node_modules/node-forge/package.json b/express-server/node_modules/node-forge/package.json new file mode 100644 index 00000000..cf3f67bb --- /dev/null +++ b/express-server/node_modules/node-forge/package.json @@ -0,0 +1,160 @@ +{ + "_from": "node-forge@^0.7.4", + "_id": "node-forge@0.7.6", + "_inBundle": false, + "_integrity": "sha512-sol30LUpz1jQFBjOKwbjxijiE3b6pjd74YwfD0fJOKPjF+fONKb2Yg8rYgS6+bK6VDl+/wfr4IYpC7jDzLUIfw==", + "_location": "/node-forge", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "node-forge@^0.7.4", + "name": "node-forge", + "escapedName": "node-forge", + "rawSpec": "^0.7.4", + "saveSpec": null, + "fetchSpec": "^0.7.4" + }, + "_requiredBy": [ + "/google-p12-pem" + ], + "_resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.6.tgz", + "_shasum": "fdf3b418aee1f94f0ef642cd63486c77ca9724ac", + "_spec": "node-forge@^0.7.4", + "_where": "C:\\Users\\Georg\\GitHub\\SmartShopper\\express-server\\node_modules\\google-p12-pem", + "author": { + "name": "Digital Bazaar, Inc.", + "email": "support@digitalbazaar.com", + "url": "http://digitalbazaar.com/" + }, + "browser": { + "buffer": false, + "crypto": false, + "process": false + }, + "bugs": { + "url": "https://github.com/digitalbazaar/forge/issues", + "email": "support@digitalbazaar.com" + }, + "bundleDependencies": false, + "contributors": [ + { + "name": "Dave Longley", + "email": "dlongley@digitalbazaar.com" + }, + { + "name": "David I. Lehn", + "email": "dlehn@digitalbazaar.com" + }, + { + "name": "Stefan Siegl", + "email": "stesie@brokenpipe.de" + }, + { + "name": "Christoph Dorn", + "email": "christoph@christophdorn.com" + } + ], + "deprecated": false, + "description": "JavaScript implementations of network transports, cryptography, ciphers, PKI, message digests, and various utilities.", + "devDependencies": { + "browserify": "^16.1.0", + "commander": "^2.14.1", + "cross-env": "^5.1.3", + "express": "^4.16.2", + "jscs": "^3.0.7", + "jshint": "^2.9.5", + "karma": "^2.0.0", + "karma-browserify": "^5.2.0", + "karma-chrome-launcher": "^2.2.0", + "karma-edge-launcher": "^0.4.2", + "karma-firefox-launcher": "^1.1.0", + "karma-ie-launcher": "^1.0.0", + "karma-mocha": "^1.3.0", + "karma-mocha-reporter": "^2.2.5", + "karma-phantomjs-launcher": "^1.0.2", + "karma-safari-launcher": "^1.0.0", + "karma-sauce-launcher": "^1.2.0", + "karma-sourcemap-loader": "^0.3.7", + "karma-tap-reporter": "0.0.6", + "karma-webpack": "^2.0.13", + "mocha": "^5.0.1", + "mocha-lcov-reporter": "^1.2.0", + "nodejs-websocket": "^1.7.1", + "nyc": "^11.5.0", + "opts": "^1.2.2", + "webpack": "^3.11.0" + }, + "engines": { + "node": "*" + }, + "files": [ + "lib/*.js", + "flash/swf/*.swf", + "dist/*.min.js", + "dist/*.min.js.map" + ], + "homepage": "https://github.com/digitalbazaar/forge", + "jspm": { + "format": "amd" + }, + "keywords": [ + "aes", + "asn", + "asn.1", + "cbc", + "crypto", + "cryptography", + "csr", + "des", + "gcm", + "hmac", + "http", + "https", + "md5", + "network", + "pkcs", + "pki", + "prng", + "rc2", + "rsa", + "sha1", + "sha256", + "sha384", + "sha512", + "ssh", + "tls", + "x.509", + "x509" + ], + "license": "(BSD-3-Clause OR GPL-2.0)", + "main": "lib/index.js", + "name": "node-forge", + "nyc": { + "exclude": [ + "tests" + ] + }, + "repository": { + "type": "git", + "url": "git+https://github.com/digitalbazaar/forge.git" + }, + "scripts": { + "_jscs": "jscs *.js lib/*.js tests/*.js tests/unit/*.js tests/legacy/*.js tests/issues/*.js tests/websockets/*.js", + "_jshint": "jshint *.js lib/*.js tests/*.js tests/unit/*.js tests/legacy/*.js tests/issues/*.js tests/websockets/*.js", + "build": "webpack", + "coverage": "rm -rf coverage && nyc --reporter=lcov --reporter=text-summary npm test", + "coverage-report": "nyc report", + "jscs": "jscs *.js lib/*.js tests/*.js tests/unit/*.js tests/legacy/*.js tests/issues/*.js tests/websockets/*.js", + "jshint": "jshint *.js lib/*.js tests/unit/*.js tests/legacy/*.js tests/issues/*.js tests/websockets/*.js", + "prepublish": "npm run build", + "test": "cross-env NODE_ENV=test mocha -t 30000 -R ${REPORTER:-spec} tests/unit/index.js", + "test-build": "webpack --config webpack-tests.config.js", + "test-karma": "karma start", + "test-karma-sauce": "karma start karma-sauce.conf", + "test-server": "node tests/server.js", + "test-server-webid": "node tests/websockets/server-webid.js", + "test-server-ws": "node tests/websockets/server-ws.js" + }, + "version": "0.7.6" +} diff --git a/express-server/node_modules/oauth/.npmignore b/express-server/node_modules/oauth/.npmignore new file mode 100644 index 00000000..3c3629e6 --- /dev/null +++ b/express-server/node_modules/oauth/.npmignore @@ -0,0 +1 @@ +node_modules diff --git a/express-server/node_modules/oauth/LICENSE b/express-server/node_modules/oauth/LICENSE new file mode 100644 index 00000000..f8049f8c --- /dev/null +++ b/express-server/node_modules/oauth/LICENSE @@ -0,0 +1,8 @@ +The MIT License (MIT) +Copyright (c) <2010-2012> + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/express-server/node_modules/oauth/Makefile b/express-server/node_modules/oauth/Makefile new file mode 100644 index 00000000..7723a390 --- /dev/null +++ b/express-server/node_modules/oauth/Makefile @@ -0,0 +1,7 @@ +# +# Run all tests +# +test: + @@node_modules/.bin/vows tests/*tests.js --spec + +.PHONY: test install diff --git a/express-server/node_modules/oauth/Readme.md b/express-server/node_modules/oauth/Readme.md new file mode 100644 index 00000000..bfbb8058 --- /dev/null +++ b/express-server/node_modules/oauth/Readme.md @@ -0,0 +1,190 @@ +node-oauth +=========== +A simple oauth API for node.js . This API allows users to authenticate against OAUTH providers, and thus act as OAuth consumers. It also has support for OAuth Echo, which is used for communicating with 3rd party media providers such as TwitPic and yFrog. + +Tested against Twitter (http://twitter.com), term.ie (http://term.ie/oauth/example/), TwitPic, and Yahoo! + +Also provides rudimentary OAuth2 support, tested against facebook, github, foursquare, google and Janrain. For more complete usage examples please take a look at connect-auth (http://github.com/ciaranj/connect-auth) + +[![Clone in Koding](http://learn.koding.com/btn/clone_d.png)][koding] +[koding]: https://koding.com/Teamwork?import=https://github.com/ciaranj/node-oauth/archive/master.zip&c=git1 +[![Pair on Thinkful](https://tf-assets-staging.s3.amazonaws.com/badges/thinkful_repo_badge.svg)][Thinkful] +[Thinkful]: http://start.thinkful.com/node/?utm_source=github&utm_medium=badge&utm_campaign=node-oauth + +Installation +============== + + $ npm install oauth + + +Examples +========== + +To run examples/tests install Mocha `$ npm install -g mocha` and run `$ mocha you-file-name.js`: + +## OAuth1.0 + +```javascript +describe('OAuth1.0',function(){ + var OAuth = require('oauth'); + + it('tests trends Twitter API v1.1',function(done){ + var oauth = new OAuth.OAuth( + 'https://api.twitter.com/oauth/request_token', + 'https://api.twitter.com/oauth/access_token', + 'your application consumer key', + 'your application secret', + '1.0A', + null, + 'HMAC-SHA1' + ); + oauth.get( + 'https://api.twitter.com/1.1/trends/place.json?id=23424977', + 'your user token for this app', //test user token + 'your user secret for this app', //test user secret + function (e, data, res){ + if (e) console.error(e); + console.log(require('util').inspect(data)); + done(); + }); + }); +}); +``` + +## OAuth2.0 +```javascript +describe('OAuth2',function(){ + var OAuth = require('oauth'); + + it('gets bearer token', function(done){ + var OAuth2 = OAuth.OAuth2; + var twitterConsumerKey = 'your key'; + var twitterConsumerSecret = 'your secret'; + var oauth2 = new OAuth2(server.config.keys.twitter.consumerKey, + twitterConsumerSecret, + 'https://api.twitter.com/', + null, + 'oauth2/token', + null); + oauth2.getOAuthAccessToken( + '', + {'grant_type':'client_credentials'}, + function (e, access_token, refresh_token, results){ + console.log('bearer: ',access_token); + done(); + }); + }); +``` + +Change History +============== +* 0.9.15 + - OAuth2: Allow specification of agent +* 0.9.14 + - OAuth2: Extend 'successful' token responses to include anything in the 2xx range. +* 0.9.13 + - OAuth2: Fixes the "createCredentials() is deprecated, use tls.createSecureContext instead" message. (thank you AJ ONeal) +* 0.9.12 + - OAuth1/2: Can now pass Buffer instance directly for PUTs+POSTs (thank you Evan Prodromou) + - OAuth1: Improve interoperability with libraries that mess with the prototype. (thank you Jose Ignacio Andres) + - OAuth2: Adds PUT support for OAuth2 (thank you Derek Brooks) + - OAuth1: Improves use_strict compatibility (thank you Ted Goddard) +* 0.9.11 + - OAuth2: No longer sends the type=webserver argument with the OAuth2 requests (thank you bendiy) + - OAuth2: Provides a default (and overrideable) User-Agent header (thanks to Andrew Martens & Daniel Mahlow) + - OAuth1: New followRedirects client option (true by default) (thanks to Pieter Joost van de Sande) + - OAuth1: Adds RSA-SHA1 support (thanks to Jeffrey D. Van Alstine & Michael Garvin & Andreas Knecht) +* 0.9.10 + - OAuth2: Addresses 2 issues that came in with 0.9.9, #129 & #125 (thank you José F. Romaniello) +* 0.9.9 + - OAuth1: Fix the mismatch between the output of querystring.stringify() and this._encodeData(). (thank you rolandboon) + - OAuth2: Adds Authorization Header and supports extra headers by default ( thanks to Brian Park) +* 0.9.8 + - OAuth1: Support overly-strict OAuth server's that require whitespace separating the Authorization Header parameters (e.g. 500px.com) (Thanks to Christian Schwarz) + - OAuth1: Fix incorrect double-encoding of PLAINTEXT OAuth connections (Thanks to Joe Rozner) + - OAuth1: Minor safety check added when checking hostnames. (Thanks to Garrick Cheung) +* 0.9.7 + - OAuth2: Pass back any extra response data for calls to getOAuthAccessToken (Thanks to Tang Bo Hao) + - OAuth2: Don't force a https request if given a http url (Thanks to Damien Mathieu) + - OAuth2: Supports specifying a grant-type of 'refresh-token' (Thanks to Luke Baker) +* 0.9.6 + - OAuth2: Support for 302 redirects (Thanks Patrick Negri). + - OAuth1/2: Some code tidying. ( Thanks to Raoul Millais ) +* 0.9.5 + - OAuth1: Allow usage of HTTP verbs other than GET for retrieving the access and request tokens (Thanks to Raoul Millais) +* 0.9.4 + - OAuth1/2: Support for OAuth providers that drop connections (don't send response lengths? [Google]) + - OAuth2: Change getOAuthAccessToken to POST rather than GET ( Possible Breaking change!!! ... re-tested against Google, Github, Facebook, FourSquare and Janrain and seems ok .. is closer to the spec (v20) ) +* 0.9.3 + - OAuth1: Adds support for following 301 redirects (Thanks bdickason) +* 0.9.2 + - OAuth1: Correct content length calculated for non-ascii post bodies (Thanks selead) + - OAuth1: Allowed for configuration of the 'access token' name used when requesting protected resources (OAuth2) +* 0.9.1 + - OAuth1: Added support for automatically following 302 redirects (Thanks neyric) + - OAuth1: Added support for OAuth Echo (Thanks Ryan LeFevre). + - OAuth1: Improved handling of 2xx responses (Thanks Neil Mansilla). +* 0.9.0 + - OAuth1/2: Compatibility fixes to bring node-oauth up to speed with node.js 0.4x [thanks to Rasmus Andersson for starting the work ] +* 0.8.4 + - OAuth1: Fixed issue #14 (Parameter ordering ignored encodings). + - OAuth1: Added support for repeated parameter names. + - OAuth1/2: Implements issue #15 (Use native SHA1 if available, 10x speed improvement!). + - OAuth2: Fixed issue #16 (Should use POST when requesting access tokens.). + - OAuth2: Fixed Issue #17 (OAuth2 spec compliance). + - OAuth1: Implemented enhancement #13 (Adds support for PUT & DELETE http verbs). + - OAuth1: Fixes issue #18 (Complex/Composite url arguments [thanks novemberborn]) +* 0.8.3 + - OAuth1: Fixed an issue where the auth header code depended on the Array's toString method (Yohei Sasaki) Updated the getOAuthRequestToken method so we can access google's OAuth secured methods. Also re-implemented and fleshed out the test suite. +* 0.8.2 + - OAuth1: The request returning methods will now write the POST body if provided (Chris Anderson), the code responsible for manipulating the headers is a bit safe now when working with other code (Paul McKellar) + - Package: Tweaked the package.json to use index.js instead of main.js +* 0.8.1 + - OAuth1: Added mechanism to get hold of a signed Node Request object, ready for attaching response listeners etc. (Perfect for streaming APIs) +* 0.8.0 + - OAuth1: Standardised method capitalisation, the old getOauthAccessToken is now getOAuthAccessToken (Breaking change to existing code) +* 0.7.7 + - OAuth1: Looks like non oauth_ parameters where appearing within the Authorization headers, which I believe to be incorrect. +* 0.7.6 + - OAuth1: Added in oauth_verifier property to getAccessToken required for 1.0A +* 0.7.5 + - Package: Added in a main.js to simplify the require'ing of OAuth +* 0.7.4 + - OAuth1: Minor change to add an error listener to the OAuth client (thanks troyk) +* 0.7.3 + - OAuth2: Now sends a Content-Length Http header to keep nginx happy :) +* 0.7.2 + - OAuth1: Fixes some broken unit tests! +* 0.7.0 + - OAuth1/2: Introduces support for HTTPS end points and callback URLS for OAuth 1.0A and Oauth 2 (Please be aware that this was a breaking change to the constructor arguments order) + +Contributors (In no particular order) +===================================== + +* Evan Prodromou +* Jose Ignacio Andres +* Ted Goddard +* Derek Brooks +* Ciaran Jessup - ciaranj@gmail.com +* Mark Wubben - http://equalmedia.com/ +* Ryan LeFevre - http://meltingice.net +* Raoul Millais +* Patrick Negri - http://github.com/pnegri +* Tang Bo Hao - http://github.com/btspoony +* Damien Mathieu - http://42.dmathieu.com +* Luke Baker - http://github.com/lukebaker +* Christian Schwarz - http://github.com/chrischw/ +* Joe Rozer - http://www.deadbytes.net +* Garrick Cheung - http://www.garrickcheung.com/ +* rolandboon - http://rolandboon.com +* Brian Park - http://github.com/yaru22 +* José F. Romaniello - http://github.com/jfromaniello +* bendiy - https://github.com/bendiy +* Andrew Martins - http://www.andrewmartens.com +* Daniel Mahlow - https://github.com/dmahlow +* Pieter Joost van de Sande - https://github.com/pjvds +* Jeffrey D. Van Alstine +* Michael Garvin +* Andreas Knecht +* AJ ONeal +* Philip Skinner - https://github.com/PhilipSkinner diff --git a/express-server/node_modules/oauth/examples/express-gdata/server.js b/express-server/node_modules/oauth/examples/express-gdata/server.js new file mode 100644 index 00000000..3c7bf7fe --- /dev/null +++ b/express-server/node_modules/oauth/examples/express-gdata/server.js @@ -0,0 +1,168 @@ +var express = require('express'), + OAuth = require('oauth').OAuth, + querystring = require('querystring'); + +// Setup the Express.js server +var app = express.createServer(); +app.use(express.logger()); +app.use(express.bodyParser()); +app.use(express.cookieParser()); +app.use(express.session({ + secret: "skjghskdjfhbqigohqdiouk" +})); + +// Home Page +app.get('/', function(req, res){ + if(!req.session.oauth_access_token) { + res.redirect("/google_login"); + } + else { + res.redirect("/google_contacts"); + } +}); + +// Request an OAuth Request Token, and redirects the user to authorize it +app.get('/google_login', function(req, res) { + + var getRequestTokenUrl = "https://www.google.com/accounts/OAuthGetRequestToken"; + + // GData specifid: scopes that wa want access to + var gdataScopes = [ + querystring.escape("https://www.google.com/m8/feeds/"), + querystring.escape("https://www.google.com/calendar/feeds/") + ]; + + var oa = new OAuth(getRequestTokenUrl+"?scope="+gdataScopes.join('+'), + "https://www.google.com/accounts/OAuthGetAccessToken", + "anonymous", + "anonymous", + "1.0", + "http://localhost:3000/google_cb"+( req.param('action') && req.param('action') != "" ? "?action="+querystring.escape(req.param('action')) : "" ), + "HMAC-SHA1"); + + oa.getOAuthRequestToken(function(error, oauth_token, oauth_token_secret, results){ + if(error) { + console.log('error'); + console.log(error); + } + else { + // store the tokens in the session + req.session.oa = oa; + req.session.oauth_token = oauth_token; + req.session.oauth_token_secret = oauth_token_secret; + + // redirect the user to authorize the token + res.redirect("https://www.google.com/accounts/OAuthAuthorizeToken?oauth_token="+oauth_token); + } + }) + +}); + +// Callback for the authorization page +app.get('/google_cb', function(req, res) { + + // get the OAuth access token with the 'oauth_verifier' that we received + + var oa = new OAuth(req.session.oa._requestUrl, + req.session.oa._accessUrl, + req.session.oa._consumerKey, + req.session.oa._consumerSecret, + req.session.oa._version, + req.session.oa._authorize_callback, + req.session.oa._signatureMethod); + + console.log(oa); + + oa.getOAuthAccessToken( + req.session.oauth_token, + req.session.oauth_token_secret, + req.param('oauth_verifier'), + function(error, oauth_access_token, oauth_access_token_secret, results2) { + + if(error) { + console.log('error'); + console.log(error); + } + else { + + // store the access token in the session + req.session.oauth_access_token = oauth_access_token; + req.session.oauth_access_token_secret = oauth_access_token_secret; + + res.redirect((req.param('action') && req.param('action') != "") ? req.param('action') : "/google_contacts"); + } + + }); + +}); + + +function require_google_login(req, res, next) { + if(!req.session.oauth_access_token) { + res.redirect("/google_login?action="+querystring.escape(req.originalUrl)); + return; + } + next(); +}; + +app.get('/google_contacts', require_google_login, function(req, res) { + var oa = new OAuth(req.session.oa._requestUrl, + req.session.oa._accessUrl, + req.session.oa._consumerKey, + req.session.oa._consumerSecret, + req.session.oa._version, + req.session.oa._authorize_callback, + req.session.oa._signatureMethod); + + console.log(oa); + + // Example using GData API v3 + // GData Specific Header + oa._headers['GData-Version'] = '3.0'; + + oa.getProtectedResource( + "https://www.google.com/m8/feeds/contacts/default/full?alt=json", + "GET", + req.session.oauth_access_token, + req.session.oauth_access_token_secret, + function (error, data, response) { + + var feed = JSON.parse(data); + + res.render('google_contacts.ejs', { + locals: { feed: feed } + }); + }); + +}); + +app.get('/google_calendars', require_google_login, function(req, res) { + var oa = new OAuth(req.session.oa._requestUrl, + req.session.oa._accessUrl, + req.session.oa._consumerKey, + req.session.oa._consumerSecret, + req.session.oa._version, + req.session.oa._authorize_callback, + req.session.oa._signatureMethod); + // Example using GData API v2 + // GData Specific Header + oa._headers['GData-Version'] = '2'; + + oa.getProtectedResource( + "https://www.google.com/calendar/feeds/default/allcalendars/full?alt=jsonc", + "GET", + req.session.oauth_access_token, + req.session.oauth_access_token_secret, + function (error, data, response) { + + var feed = JSON.parse(data); + + res.render('google_calendars.ejs', { + locals: { feed: feed } + }); + }); + +}); + +app.listen(3000); +console.log("listening on http://localhost:3000"); diff --git a/express-server/node_modules/oauth/examples/express-gdata/views/google_calendars.ejs b/express-server/node_modules/oauth/examples/express-gdata/views/google_calendars.ejs new file mode 100644 index 00000000..15b826f8 --- /dev/null +++ b/express-server/node_modules/oauth/examples/express-gdata/views/google_calendars.ejs @@ -0,0 +1,21 @@ + +

Check google_contacts

+ +

Google Calendars

+ +<% for(var i = 0 ; i < feed.data.items.length ; i++ ) { + + var calendar = feed.data.items[i]; %> +
+ +

"><%= calendar["title"] %>

+ +

canEdit: <%= calendar["canEdit"] %>

+

accessLevel: <%= calendar["accessLevel"] %>

+

timeZone: <%= calendar["timeZone"] %>

+

kind: <%= calendar["kind"] %>

+

updated: <%= calendar["updated"] %>

+

created: <%= calendar["created"] %>

+ +
+<% } %> \ No newline at end of file diff --git a/express-server/node_modules/oauth/examples/express-gdata/views/google_contacts.ejs b/express-server/node_modules/oauth/examples/express-gdata/views/google_contacts.ejs new file mode 100644 index 00000000..a2050b21 --- /dev/null +++ b/express-server/node_modules/oauth/examples/express-gdata/views/google_contacts.ejs @@ -0,0 +1,24 @@ + +

Check google_calendars

+ +

Google Contacts

+ +<% for(var i = 0 ; i < feed.feed.entry.length ; i++ ) { + + var contact = feed.feed.entry[i]; %> + +
+ + <%= contact["title"]["$t"] %> + <% emails = contact["gd$email"] %> + +
    + <% for(var j = 0 ; j < emails.length ; j++) { %> +
  • <%= emails[j]["address" ]%>
  • + <% } %> +
+ +
+ + +<% } %> diff --git a/express-server/node_modules/oauth/examples/express-gdata/views/layout.ejs b/express-server/node_modules/oauth/examples/express-gdata/views/layout.ejs new file mode 100644 index 00000000..8d1ac6d5 --- /dev/null +++ b/express-server/node_modules/oauth/examples/express-gdata/views/layout.ejs @@ -0,0 +1,9 @@ + + + + + +<%- body %> + + + \ No newline at end of file diff --git a/express-server/node_modules/oauth/examples/github-example.js b/express-server/node_modules/oauth/examples/github-example.js new file mode 100644 index 00000000..1a388bdb --- /dev/null +++ b/express-server/node_modules/oauth/examples/github-example.js @@ -0,0 +1,73 @@ +var http = require('http'); +var qs = require('querystring'); +// var OAuth = require('oauth'), OAuth2 = OAuth.OAuth2; +var OAuth2 = require('../lib/oauth2.js').OAuth2; + +var clientID = ''; +var clientSecret = ''; +var oauth2 = new OAuth2(clientID, + clientSecret, + 'https://github.com/', + 'login/oauth/authorize', + 'login/oauth/access_token', + null); /** Custom headers */ + +http.createServer(function (req, res) { + var p = req.url.split('/'); + pLen = p.length; + + /** + * Authorised url as per github docs: + * https://developer.github.com/v3/oauth/#redirect-users-to-request-github-access + * + * getAuthorizedUrl: https://github.com/ciaranj/node-oauth/blob/master/lib/oauth2.js#L148 + * Adding params to authorize url with fields as mentioned in github docs + * + */ + var authURL = oauth2.getAuthorizeUrl({ + redirect_uri: 'http://localhost:8080/code', + scope: ['repo', 'user'], + state: 'some random string to protect against cross-site request forgery attacks' + }); + + + /** + * Creating an anchor with authURL as href and sending as response + */ + var body = ' Get Code '; + if (pLen === 2 && p[1] === '') { + res.writeHead(200, { + 'Content-Length': body.length, + 'Content-Type': 'text/html' }); + res.end(body); + } else if (pLen === 2 && p[1].indexOf('code') === 0) { + + /** Github sends auth code so that access_token can be obtained */ + var qsObj = {}; + + /** To obtain and parse code='...' from code?code='...' */ + qsObj = qs.parse(p[1].split('?')[1]); + + /** Obtaining access_token */ + oauth2.getOAuthAccessToken( + qsObj.code, + {'redirect_uri': 'http://localhost:8080/code/'}, + function (e, access_token, refresh_token, results){ + if (e) { + console.log(e); + res.end(e); + } else if (results.error) { + console.log(results); + res.end(JSON.stringify(results)); + } + else { + console.log('Obtained access_token: ', access_token); + res.end( access_token); + } + }); + + } else { + // Unhandled url + } + +}).listen(8080); diff --git a/express-server/node_modules/oauth/examples/term.ie.oauth-HMAC-SHA1.js b/express-server/node_modules/oauth/examples/term.ie.oauth-HMAC-SHA1.js new file mode 100644 index 00000000..91af05db --- /dev/null +++ b/express-server/node_modules/oauth/examples/term.ie.oauth-HMAC-SHA1.js @@ -0,0 +1,31 @@ +var util= require('util') + +var OAuth= require('../lib/oauth').OAuth; + +var oa= new OAuth("http://term.ie/oauth/example/request_token.php", + "http://term.ie/oauth/example/access_token.php", + "key", + "secret", + "1.0", + null, + "HMAC-SHA1") + +oa.getOAuthRequestToken(function(error, oauth_token, oauth_token_secret, results){ + if(error) util.puts('error :' + error) + else { + util.puts('oauth_token :' + oauth_token) + util.puts('oauth_token_secret :' + oauth_token_secret) + util.puts('requestoken results :' + util.inspect(results)) + util.puts("Requesting access token") + oa.getOAuthAccessToken(oauth_token, oauth_token_secret, function(error, oauth_access_token, oauth_access_token_secret, results2) { + util.puts('oauth_access_token :' + oauth_access_token) + util.puts('oauth_token_secret :' + oauth_access_token_secret) + util.puts('accesstoken results :' + util.inspect(results2)) + util.puts("Requesting access token") + var data= ""; + oa.getProtectedResource("http://term.ie/oauth/example/echo_api.php?foo=bar&too=roo", "GET", oauth_access_token, oauth_access_token_secret, function (error, data, response) { + util.puts(data); + }); + }); + } +}) diff --git a/express-server/node_modules/oauth/examples/twitter-example.js b/express-server/node_modules/oauth/examples/twitter-example.js new file mode 100644 index 00000000..90b6adcb --- /dev/null +++ b/express-server/node_modules/oauth/examples/twitter-example.js @@ -0,0 +1,75 @@ +var http = require('http'); +var OAuth = require('../lib/oauth.js').OAuth; +var nodeUrl = require('url'); +var clientID = ''; +var clientSecret = ''; +var callbackURL = ''; + +oa = new OAuth( + 'https://api.twitter.com/oauth/request_token', + 'https://api.twitter.com/oauth/access_token', + clientID, + clientSecret, + '1.0', + callbackURL, + 'HMAC-SHA1' +); + +http.createServer(function (request, response) { + oa.getOAuthRequestToken(function (error, oAuthToken, oAuthTokenSecret, results) { + var urlObj = nodeUrl.parse(request.url, true); + var authURL = 'https://twitter.com/' + + 'oauth/authenticate?oauth_token=' + oAuthToken; + var handlers = { + '/': function (request, response) { + /** + * Creating an anchor with authURL as href and sending as response + */ + var body = ' Get Code '; + response.writeHead(200, { + 'Content-Length': body.length, + 'Content-Type': 'text/html' }); + response.end(body); + }, + '/callback': function (request, response) { + /** Obtaining access_token */ + var getOAuthRequestTokenCallback = function (error, oAuthAccessToken, + oAuthAccessTokenSecret, results) { + if (error) { + console.log(error); + response.end(JSON.stringify({ + message: 'Error occured while getting access token', + error: error + })); + return; + } + + oa.get('https://api.twitter.com/1.1/account/verify_credentials.json', + oAuthAccessToken, + oAuthAccessTokenSecret, + function (error, twitterResponseData, result) { + if (error) { + console.log(error) + res.end(JSON.stringify(error)); + return; + } + try { + console.log(JSON.parse(twitterResponseData)); + } catch (parseError) { + console.log(parseError); + } + console.log(twitterResponseData); + response.end(twitterResponseData); + }); + }; + + oa.getOAuthAccessToken(urlObj.query.oauth_token, oAuthTokenSecret, + urlObj.query.oauth_verifier, + getOAuthRequestTokenCallback); + + } + }; + handlers[urlObj.pathname](request, response); + }) + +}).listen(3000); diff --git a/express-server/node_modules/oauth/index.js b/express-server/node_modules/oauth/index.js new file mode 100644 index 00000000..e20716dd --- /dev/null +++ b/express-server/node_modules/oauth/index.js @@ -0,0 +1,3 @@ +exports.OAuth = require("./lib/oauth").OAuth; +exports.OAuthEcho = require("./lib/oauth").OAuthEcho; +exports.OAuth2 = require("./lib/oauth2").OAuth2; \ No newline at end of file diff --git a/express-server/node_modules/oauth/lib/_utils.js b/express-server/node_modules/oauth/lib/_utils.js new file mode 100644 index 00000000..69fc3009 --- /dev/null +++ b/express-server/node_modules/oauth/lib/_utils.js @@ -0,0 +1,4 @@ +// Returns true if this is a host that closes *before* it ends?!?! +module.exports.isAnEarlyCloseHost= function( hostName ) { + return hostName && hostName.match(".*google(apis)?.com$") +} \ No newline at end of file diff --git a/express-server/node_modules/oauth/lib/oauth.js b/express-server/node_modules/oauth/lib/oauth.js new file mode 100644 index 00000000..50dccf99 --- /dev/null +++ b/express-server/node_modules/oauth/lib/oauth.js @@ -0,0 +1,581 @@ +var crypto= require('crypto'), + sha1= require('./sha1'), + http= require('http'), + https= require('https'), + URL= require('url'), + querystring= require('querystring'), + OAuthUtils= require('./_utils'); + +exports.OAuth= function(requestUrl, accessUrl, consumerKey, consumerSecret, version, authorize_callback, signatureMethod, nonceSize, customHeaders) { + this._isEcho = false; + + this._requestUrl= requestUrl; + this._accessUrl= accessUrl; + this._consumerKey= consumerKey; + this._consumerSecret= this._encodeData( consumerSecret ); + if (signatureMethod == "RSA-SHA1") { + this._privateKey = consumerSecret; + } + this._version= version; + if( authorize_callback === undefined ) { + this._authorize_callback= "oob"; + } + else { + this._authorize_callback= authorize_callback; + } + + if( signatureMethod != "PLAINTEXT" && signatureMethod != "HMAC-SHA1" && signatureMethod != "RSA-SHA1") + throw new Error("Un-supported signature method: " + signatureMethod ) + this._signatureMethod= signatureMethod; + this._nonceSize= nonceSize || 32; + this._headers= customHeaders || {"Accept" : "*/*", + "Connection" : "close", + "User-Agent" : "Node authentication"} + this._clientOptions= this._defaultClientOptions= {"requestTokenHttpMethod": "POST", + "accessTokenHttpMethod": "POST", + "followRedirects": true}; + this._oauthParameterSeperator = ","; +}; + +exports.OAuthEcho= function(realm, verify_credentials, consumerKey, consumerSecret, version, signatureMethod, nonceSize, customHeaders) { + this._isEcho = true; + + this._realm= realm; + this._verifyCredentials = verify_credentials; + this._consumerKey= consumerKey; + this._consumerSecret= this._encodeData( consumerSecret ); + if (signatureMethod == "RSA-SHA1") { + this._privateKey = consumerSecret; + } + this._version= version; + + if( signatureMethod != "PLAINTEXT" && signatureMethod != "HMAC-SHA1" && signatureMethod != "RSA-SHA1") + throw new Error("Un-supported signature method: " + signatureMethod ); + this._signatureMethod= signatureMethod; + this._nonceSize= nonceSize || 32; + this._headers= customHeaders || {"Accept" : "*/*", + "Connection" : "close", + "User-Agent" : "Node authentication"}; + this._oauthParameterSeperator = ","; +} + +exports.OAuthEcho.prototype = exports.OAuth.prototype; + +exports.OAuth.prototype._getTimestamp= function() { + return Math.floor( (new Date()).getTime() / 1000 ); +} + +exports.OAuth.prototype._encodeData= function(toEncode){ + if( toEncode == null || toEncode == "" ) return "" + else { + var result= encodeURIComponent(toEncode); + // Fix the mismatch between OAuth's RFC3986's and Javascript's beliefs in what is right and wrong ;) + return result.replace(/\!/g, "%21") + .replace(/\'/g, "%27") + .replace(/\(/g, "%28") + .replace(/\)/g, "%29") + .replace(/\*/g, "%2A"); + } +} + +exports.OAuth.prototype._decodeData= function(toDecode) { + if( toDecode != null ) { + toDecode = toDecode.replace(/\+/g, " "); + } + return decodeURIComponent( toDecode); +} + +exports.OAuth.prototype._getSignature= function(method, url, parameters, tokenSecret) { + var signatureBase= this._createSignatureBase(method, url, parameters); + return this._createSignature( signatureBase, tokenSecret ); +} + +exports.OAuth.prototype._normalizeUrl= function(url) { + var parsedUrl= URL.parse(url, true) + var port =""; + if( parsedUrl.port ) { + if( (parsedUrl.protocol == "http:" && parsedUrl.port != "80" ) || + (parsedUrl.protocol == "https:" && parsedUrl.port != "443") ) { + port= ":" + parsedUrl.port; + } + } + + if( !parsedUrl.pathname || parsedUrl.pathname == "" ) parsedUrl.pathname ="/"; + + return parsedUrl.protocol + "//" + parsedUrl.hostname + port + parsedUrl.pathname; +} + +// Is the parameter considered an OAuth parameter +exports.OAuth.prototype._isParameterNameAnOAuthParameter= function(parameter) { + var m = parameter.match('^oauth_'); + if( m && ( m[0] === "oauth_" ) ) { + return true; + } + else { + return false; + } +}; + +// build the OAuth request authorization header +exports.OAuth.prototype._buildAuthorizationHeaders= function(orderedParameters) { + var authHeader="OAuth "; + if( this._isEcho ) { + authHeader += 'realm="' + this._realm + '",'; + } + + for( var i= 0 ; i < orderedParameters.length; i++) { + // Whilst the all the parameters should be included within the signature, only the oauth_ arguments + // should appear within the authorization header. + if( this._isParameterNameAnOAuthParameter(orderedParameters[i][0]) ) { + authHeader+= "" + this._encodeData(orderedParameters[i][0])+"=\""+ this._encodeData(orderedParameters[i][1])+"\""+ this._oauthParameterSeperator; + } + } + + authHeader= authHeader.substring(0, authHeader.length-this._oauthParameterSeperator.length); + return authHeader; +} + +// Takes an object literal that represents the arguments, and returns an array +// of argument/value pairs. +exports.OAuth.prototype._makeArrayOfArgumentsHash= function(argumentsHash) { + var argument_pairs= []; + for(var key in argumentsHash ) { + if (argumentsHash.hasOwnProperty(key)) { + var value= argumentsHash[key]; + if( Array.isArray(value) ) { + for(var i=0;i= 200 && response.statusCode <= 299 ) { + callback(null, data, response); + } else { + // Follow 301 or 302 redirects with Location HTTP header + if((response.statusCode == 301 || response.statusCode == 302) && clientOptions.followRedirects && response.headers && response.headers.location) { + self._performSecureRequest( oauth_token, oauth_token_secret, method, response.headers.location, extra_params, post_body, post_content_type, callback); + } + else { + callback({ statusCode: response.statusCode, data: data }, data, response); + } + } + } + } + + request.on('response', function (response) { + response.setEncoding('utf8'); + response.on('data', function (chunk) { + data+=chunk; + }); + response.on('end', function () { + passBackControl( response ); + }); + response.on('close', function () { + if( allowEarlyClose ) { + passBackControl( response ); + } + }); + }); + + request.on("error", function(err) { + if(!callbackCalled) { + callbackCalled= true; + callback( err ) + } + }); + + if( (method == "POST" || method =="PUT") && post_body != null && post_body != "" ) { + request.write(post_body); + } + request.end(); + } + else { + if( (method == "POST" || method =="PUT") && post_body != null && post_body != "" ) { + request.write(post_body); + } + return request; + } + + return; +} + +exports.OAuth.prototype.setClientOptions= function(options) { + var key, + mergedOptions= {}, + hasOwnProperty= Object.prototype.hasOwnProperty; + + for( key in this._defaultClientOptions ) { + if( !hasOwnProperty.call(options, key) ) { + mergedOptions[key]= this._defaultClientOptions[key]; + } else { + mergedOptions[key]= options[key]; + } + } + + this._clientOptions= mergedOptions; +}; + +exports.OAuth.prototype.getOAuthAccessToken= function(oauth_token, oauth_token_secret, oauth_verifier, callback) { + var extraParams= {}; + if( typeof oauth_verifier == "function" ) { + callback= oauth_verifier; + } else { + extraParams.oauth_verifier= oauth_verifier; + } + + this._performSecureRequest( oauth_token, oauth_token_secret, this._clientOptions.accessTokenHttpMethod, this._accessUrl, extraParams, null, null, function(error, data, response) { + if( error ) callback(error); + else { + var results= querystring.parse( data ); + var oauth_access_token= results["oauth_token"]; + delete results["oauth_token"]; + var oauth_access_token_secret= results["oauth_token_secret"]; + delete results["oauth_token_secret"]; + callback(null, oauth_access_token, oauth_access_token_secret, results ); + } + }) +} + +// Deprecated +exports.OAuth.prototype.getProtectedResource= function(url, method, oauth_token, oauth_token_secret, callback) { + this._performSecureRequest( oauth_token, oauth_token_secret, method, url, null, "", null, callback ); +} + +exports.OAuth.prototype.delete= function(url, oauth_token, oauth_token_secret, callback) { + return this._performSecureRequest( oauth_token, oauth_token_secret, "DELETE", url, null, "", null, callback ); +} + +exports.OAuth.prototype.get= function(url, oauth_token, oauth_token_secret, callback) { + return this._performSecureRequest( oauth_token, oauth_token_secret, "GET", url, null, "", null, callback ); +} + +exports.OAuth.prototype._putOrPost= function(method, url, oauth_token, oauth_token_secret, post_body, post_content_type, callback) { + var extra_params= null; + if( typeof post_content_type == "function" ) { + callback= post_content_type; + post_content_type= null; + } + if ( typeof post_body != "string" && !Buffer.isBuffer(post_body) ) { + post_content_type= "application/x-www-form-urlencoded" + extra_params= post_body; + post_body= null; + } + return this._performSecureRequest( oauth_token, oauth_token_secret, method, url, extra_params, post_body, post_content_type, callback ); +} + + +exports.OAuth.prototype.put= function(url, oauth_token, oauth_token_secret, post_body, post_content_type, callback) { + return this._putOrPost("PUT", url, oauth_token, oauth_token_secret, post_body, post_content_type, callback); +} + +exports.OAuth.prototype.post= function(url, oauth_token, oauth_token_secret, post_body, post_content_type, callback) { + return this._putOrPost("POST", url, oauth_token, oauth_token_secret, post_body, post_content_type, callback); +} + +/** + * Gets a request token from the OAuth provider and passes that information back + * to the calling code. + * + * The callback should expect a function of the following form: + * + * function(err, token, token_secret, parsedQueryString) {} + * + * This method has optional parameters so can be called in the following 2 ways: + * + * 1) Primary use case: Does a basic request with no extra parameters + * getOAuthRequestToken( callbackFunction ) + * + * 2) As above but allows for provision of extra parameters to be sent as part of the query to the server. + * getOAuthRequestToken( extraParams, callbackFunction ) + * + * N.B. This method will HTTP POST verbs by default, if you wish to override this behaviour you will + * need to provide a requestTokenHttpMethod option when creating the client. + * + **/ +exports.OAuth.prototype.getOAuthRequestToken= function( extraParams, callback ) { + if( typeof extraParams == "function" ){ + callback = extraParams; + extraParams = {}; + } + // Callbacks are 1.0A related + if( this._authorize_callback ) { + extraParams["oauth_callback"]= this._authorize_callback; + } + this._performSecureRequest( null, null, this._clientOptions.requestTokenHttpMethod, this._requestUrl, extraParams, null, null, function(error, data, response) { + if( error ) callback(error); + else { + var results= querystring.parse(data); + + var oauth_token= results["oauth_token"]; + var oauth_token_secret= results["oauth_token_secret"]; + delete results["oauth_token"]; + delete results["oauth_token_secret"]; + callback(null, oauth_token, oauth_token_secret, results ); + } + }); +} + +exports.OAuth.prototype.signUrl= function(url, oauth_token, oauth_token_secret, method) { + + if( method === undefined ) { + var method= "GET"; + } + + var orderedParameters= this._prepareParameters(oauth_token, oauth_token_secret, method, url, {}); + var parsedUrl= URL.parse( url, false ); + + var query=""; + for( var i= 0 ; i < orderedParameters.length; i++) { + query+= orderedParameters[i][0]+"="+ this._encodeData(orderedParameters[i][1]) + "&"; + } + query= query.substring(0, query.length-1); + + return parsedUrl.protocol + "//"+ parsedUrl.host + parsedUrl.pathname + "?" + query; +}; + +exports.OAuth.prototype.authHeader= function(url, oauth_token, oauth_token_secret, method) { + if( method === undefined ) { + var method= "GET"; + } + + var orderedParameters= this._prepareParameters(oauth_token, oauth_token_secret, method, url, {}); + return this._buildAuthorizationHeaders(orderedParameters); +}; diff --git a/express-server/node_modules/oauth/lib/oauth2.js b/express-server/node_modules/oauth/lib/oauth2.js new file mode 100644 index 00000000..77241c43 --- /dev/null +++ b/express-server/node_modules/oauth/lib/oauth2.js @@ -0,0 +1,228 @@ +var querystring= require('querystring'), + crypto= require('crypto'), + https= require('https'), + http= require('http'), + URL= require('url'), + OAuthUtils= require('./_utils'); + +exports.OAuth2= function(clientId, clientSecret, baseSite, authorizePath, accessTokenPath, customHeaders) { + this._clientId= clientId; + this._clientSecret= clientSecret; + this._baseSite= baseSite; + this._authorizeUrl= authorizePath || "/oauth/authorize"; + this._accessTokenUrl= accessTokenPath || "/oauth/access_token"; + this._accessTokenName= "access_token"; + this._authMethod= "Bearer"; + this._customHeaders = customHeaders || {}; + this._useAuthorizationHeaderForGET= false; + + //our agent + this._agent = undefined; +}; + +// Allows you to set an agent to use instead of the default HTTP or +// HTTPS agents. Useful when dealing with your own certificates. +exports.OAuth2.prototype.setAgent = function(agent) { + this._agent = agent; +}; + +// This 'hack' method is required for sites that don't use +// 'access_token' as the name of the access token (for requests). +// ( http://tools.ietf.org/html/draft-ietf-oauth-v2-16#section-7 ) +// it isn't clear what the correct value should be atm, so allowing +// for specific (temporary?) override for now. +exports.OAuth2.prototype.setAccessTokenName= function ( name ) { + this._accessTokenName= name; +} + +// Sets the authorization method for Authorization header. +// e.g. Authorization: Bearer # "Bearer" is the authorization method. +exports.OAuth2.prototype.setAuthMethod = function ( authMethod ) { + this._authMethod = authMethod; +}; + + +// If you use the OAuth2 exposed 'get' method (and don't construct your own _request call ) +// this will specify whether to use an 'Authorize' header instead of passing the access_token as a query parameter +exports.OAuth2.prototype.useAuthorizationHeaderforGET = function(useIt) { + this._useAuthorizationHeaderForGET= useIt; +} + +exports.OAuth2.prototype._getAccessTokenUrl= function() { + return this._baseSite + this._accessTokenUrl; /* + "?" + querystring.stringify(params); */ +} + +// Build the authorization header. In particular, build the part after the colon. +// e.g. Authorization: Bearer # Build "Bearer " +exports.OAuth2.prototype.buildAuthHeader= function(token) { + return this._authMethod + ' ' + token; +}; + +exports.OAuth2.prototype._chooseHttpLibrary= function( parsedUrl ) { + var http_library= https; + // As this is OAUth2, we *assume* https unless told explicitly otherwise. + if( parsedUrl.protocol != "https:" ) { + http_library= http; + } + return http_library; +}; + +exports.OAuth2.prototype._request= function(method, url, headers, post_body, access_token, callback) { + + var parsedUrl= URL.parse( url, true ); + if( parsedUrl.protocol == "https:" && !parsedUrl.port ) { + parsedUrl.port= 443; + } + + var http_library= this._chooseHttpLibrary( parsedUrl ); + + + var realHeaders= {}; + for( var key in this._customHeaders ) { + realHeaders[key]= this._customHeaders[key]; + } + if( headers ) { + for(var key in headers) { + realHeaders[key] = headers[key]; + } + } + realHeaders['Host']= parsedUrl.host; + + if (!realHeaders['User-Agent']) { + realHeaders['User-Agent'] = 'Node-oauth'; + } + + if( post_body ) { + if ( Buffer.isBuffer(post_body) ) { + realHeaders["Content-Length"]= post_body.length; + } else { + realHeaders["Content-Length"]= Buffer.byteLength(post_body); + } + } else { + realHeaders["Content-length"]= 0; + } + + if( access_token && !('Authorization' in realHeaders)) { + if( ! parsedUrl.query ) parsedUrl.query= {}; + parsedUrl.query[this._accessTokenName]= access_token; + } + + var queryStr= querystring.stringify(parsedUrl.query); + if( queryStr ) queryStr= "?" + queryStr; + var options = { + host:parsedUrl.hostname, + port: parsedUrl.port, + path: parsedUrl.pathname + queryStr, + method: method, + headers: realHeaders + }; + + this._executeRequest( http_library, options, post_body, callback ); +} + +exports.OAuth2.prototype._executeRequest= function( http_library, options, post_body, callback ) { + // Some hosts *cough* google appear to close the connection early / send no content-length header + // allow this behaviour. + var allowEarlyClose= OAuthUtils.isAnEarlyCloseHost(options.host); + var callbackCalled= false; + function passBackControl( response, result ) { + if(!callbackCalled) { + callbackCalled=true; + if( !(response.statusCode >= 200 && response.statusCode <= 299) && (response.statusCode != 301) && (response.statusCode != 302) ) { + callback({ statusCode: response.statusCode, data: result }); + } else { + callback(null, result, response); + } + } + } + + var result= ""; + + //set the agent on the request options + if (this._agent) { + options.agent = this._agent; + } + + var request = http_library.request(options); + request.on('response', function (response) { + response.on("data", function (chunk) { + result+= chunk + }); + response.on("close", function (err) { + if( allowEarlyClose ) { + passBackControl( response, result ); + } + }); + response.addListener("end", function () { + passBackControl( response, result ); + }); + }); + request.on('error', function(e) { + callbackCalled= true; + callback(e); + }); + + if( (options.method == 'POST' || options.method == 'PUT') && post_body ) { + request.write(post_body); + } + request.end(); +} + +exports.OAuth2.prototype.getAuthorizeUrl= function( params ) { + var params= params || {}; + params['client_id'] = this._clientId; + return this._baseSite + this._authorizeUrl + "?" + querystring.stringify(params); +} + +exports.OAuth2.prototype.getOAuthAccessToken= function(code, params, callback) { + var params= params || {}; + params['client_id'] = this._clientId; + params['client_secret'] = this._clientSecret; + var codeParam = (params.grant_type === 'refresh_token') ? 'refresh_token' : 'code'; + params[codeParam]= code; + + var post_data= querystring.stringify( params ); + var post_headers= { + 'Content-Type': 'application/x-www-form-urlencoded' + }; + + + this._request("POST", this._getAccessTokenUrl(), post_headers, post_data, null, function(error, data, response) { + if( error ) callback(error); + else { + var results; + try { + // As of http://tools.ietf.org/html/draft-ietf-oauth-v2-07 + // responses should be in JSON + results= JSON.parse( data ); + } + catch(e) { + // .... However both Facebook + Github currently use rev05 of the spec + // and neither seem to specify a content-type correctly in their response headers :( + // clients of these services will suffer a *minor* performance cost of the exception + // being thrown + results= querystring.parse( data ); + } + var access_token= results["access_token"]; + var refresh_token= results["refresh_token"]; + delete results["refresh_token"]; + callback(null, access_token, refresh_token, results); // callback results =-= + } + }); +} + +// Deprecated +exports.OAuth2.prototype.getProtectedResource= function(url, access_token, callback) { + this._request("GET", url, {}, "", access_token, callback ); +} + +exports.OAuth2.prototype.get= function(url, access_token, callback) { + if( this._useAuthorizationHeaderForGET ) { + var headers= {'Authorization': this.buildAuthHeader(access_token) } + access_token= null; + } + else { + headers= {}; + } + this._request("GET", url, headers, "", access_token, callback ); +} diff --git a/express-server/node_modules/oauth/lib/sha1.js b/express-server/node_modules/oauth/lib/sha1.js new file mode 100644 index 00000000..d73277a6 --- /dev/null +++ b/express-server/node_modules/oauth/lib/sha1.js @@ -0,0 +1,334 @@ +/* + * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined + * in FIPS 180-1 + * Version 2.2 Copyright Paul Johnston 2000 - 2009. + * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet + * Distributed under the BSD License + * See http://pajhome.org.uk/crypt/md5 for details. + */ + +/* + * Configurable variables. You may need to tweak these to be compatible with + * the server-side, but the defaults work in most cases. + */ +var hexcase = 1; /* hex output format. 0 - lowercase; 1 - uppercase */ +var b64pad = "="; /* base-64 pad character. "=" for strict RFC compliance */ + +/* + * These are the functions you'll usually want to call + * They take string arguments and return either hex or base-64 encoded strings + */ +function hex_sha1(s) { return rstr2hex(rstr_sha1(str2rstr_utf8(s))); } +function b64_sha1(s) { return rstr2b64(rstr_sha1(str2rstr_utf8(s))); } +function any_sha1(s, e) { return rstr2any(rstr_sha1(str2rstr_utf8(s)), e); } +function hex_hmac_sha1(k, d) + { return rstr2hex(rstr_hmac_sha1(str2rstr_utf8(k), str2rstr_utf8(d))); } +function b64_hmac_sha1(k, d) + { return rstr2b64(rstr_hmac_sha1(str2rstr_utf8(k), str2rstr_utf8(d))); } +function any_hmac_sha1(k, d, e) + { return rstr2any(rstr_hmac_sha1(str2rstr_utf8(k), str2rstr_utf8(d)), e); } + +/* + * Perform a simple self-test to see if the VM is working + */ +function sha1_vm_test() +{ + return hex_sha1("abc").toLowerCase() == "a9993e364706816aba3e25717850c26c9cd0d89d"; +} + +/* + * Calculate the SHA1 of a raw string + */ +function rstr_sha1(s) +{ + return binb2rstr(binb_sha1(rstr2binb(s), s.length * 8)); +} + +/* + * Calculate the HMAC-SHA1 of a key and some data (raw strings) + */ +function rstr_hmac_sha1(key, data) +{ + var bkey = rstr2binb(key); + if(bkey.length > 16) bkey = binb_sha1(bkey, key.length * 8); + + var ipad = Array(16), opad = Array(16); + for(var i = 0; i < 16; i++) + { + ipad[i] = bkey[i] ^ 0x36363636; + opad[i] = bkey[i] ^ 0x5C5C5C5C; + } + + var hash = binb_sha1(ipad.concat(rstr2binb(data)), 512 + data.length * 8); + return binb2rstr(binb_sha1(opad.concat(hash), 512 + 160)); +} + +/* + * Convert a raw string to a hex string + */ +function rstr2hex(input) +{ + try { hexcase } catch(e) { hexcase=0; } + var hex_tab = hexcase ? "0123456789ABCDEF" : "0123456789abcdef"; + var output = ""; + var x; + for(var i = 0; i < input.length; i++) + { + x = input.charCodeAt(i); + output += hex_tab.charAt((x >>> 4) & 0x0F) + + hex_tab.charAt( x & 0x0F); + } + return output; +} + +/* + * Convert a raw string to a base-64 string + */ +function rstr2b64(input) +{ + try { b64pad } catch(e) { b64pad=''; } + var tab = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; + var output = ""; + var len = input.length; + for(var i = 0; i < len; i += 3) + { + var triplet = (input.charCodeAt(i) << 16) + | (i + 1 < len ? input.charCodeAt(i+1) << 8 : 0) + | (i + 2 < len ? input.charCodeAt(i+2) : 0); + for(var j = 0; j < 4; j++) + { + if(i * 8 + j * 6 > input.length * 8) output += b64pad; + else output += tab.charAt((triplet >>> 6*(3-j)) & 0x3F); + } + } + return output; +} + +/* + * Convert a raw string to an arbitrary string encoding + */ +function rstr2any(input, encoding) +{ + var divisor = encoding.length; + var remainders = Array(); + var i, q, x, quotient; + + /* Convert to an array of 16-bit big-endian values, forming the dividend */ + var dividend = Array(Math.ceil(input.length / 2)); + for(i = 0; i < dividend.length; i++) + { + dividend[i] = (input.charCodeAt(i * 2) << 8) | input.charCodeAt(i * 2 + 1); + } + + /* + * Repeatedly perform a long division. The binary array forms the dividend, + * the length of the encoding is the divisor. Once computed, the quotient + * forms the dividend for the next step. We stop when the dividend is zero. + * All remainders are stored for later use. + */ + while(dividend.length > 0) + { + quotient = Array(); + x = 0; + for(i = 0; i < dividend.length; i++) + { + x = (x << 16) + dividend[i]; + q = Math.floor(x / divisor); + x -= q * divisor; + if(quotient.length > 0 || q > 0) + quotient[quotient.length] = q; + } + remainders[remainders.length] = x; + dividend = quotient; + } + + /* Convert the remainders to the output string */ + var output = ""; + for(i = remainders.length - 1; i >= 0; i--) + output += encoding.charAt(remainders[i]); + + /* Append leading zero equivalents */ + var full_length = Math.ceil(input.length * 8 / + (Math.log(encoding.length) / Math.log(2))) + for(i = output.length; i < full_length; i++) + output = encoding[0] + output; + + return output; +} + +/* + * Encode a string as utf-8. + * For efficiency, this assumes the input is valid utf-16. + */ +function str2rstr_utf8(input) +{ + var output = ""; + var i = -1; + var x, y; + + while(++i < input.length) + { + /* Decode utf-16 surrogate pairs */ + x = input.charCodeAt(i); + y = i + 1 < input.length ? input.charCodeAt(i + 1) : 0; + if(0xD800 <= x && x <= 0xDBFF && 0xDC00 <= y && y <= 0xDFFF) + { + x = 0x10000 + ((x & 0x03FF) << 10) + (y & 0x03FF); + i++; + } + + /* Encode output as utf-8 */ + if(x <= 0x7F) + output += String.fromCharCode(x); + else if(x <= 0x7FF) + output += String.fromCharCode(0xC0 | ((x >>> 6 ) & 0x1F), + 0x80 | ( x & 0x3F)); + else if(x <= 0xFFFF) + output += String.fromCharCode(0xE0 | ((x >>> 12) & 0x0F), + 0x80 | ((x >>> 6 ) & 0x3F), + 0x80 | ( x & 0x3F)); + else if(x <= 0x1FFFFF) + output += String.fromCharCode(0xF0 | ((x >>> 18) & 0x07), + 0x80 | ((x >>> 12) & 0x3F), + 0x80 | ((x >>> 6 ) & 0x3F), + 0x80 | ( x & 0x3F)); + } + return output; +} + +/* + * Encode a string as utf-16 + */ +function str2rstr_utf16le(input) +{ + var output = ""; + for(var i = 0; i < input.length; i++) + output += String.fromCharCode( input.charCodeAt(i) & 0xFF, + (input.charCodeAt(i) >>> 8) & 0xFF); + return output; +} + +function str2rstr_utf16be(input) +{ + var output = ""; + for(var i = 0; i < input.length; i++) + output += String.fromCharCode((input.charCodeAt(i) >>> 8) & 0xFF, + input.charCodeAt(i) & 0xFF); + return output; +} + +/* + * Convert a raw string to an array of big-endian words + * Characters >255 have their high-byte silently ignored. + */ +function rstr2binb(input) +{ + var output = Array(input.length >> 2); + for(var i = 0; i < output.length; i++) + output[i] = 0; + for(var i = 0; i < input.length * 8; i += 8) + output[i>>5] |= (input.charCodeAt(i / 8) & 0xFF) << (24 - i % 32); + return output; +} + +/* + * Convert an array of big-endian words to a string + */ +function binb2rstr(input) +{ + var output = ""; + for(var i = 0; i < input.length * 32; i += 8) + output += String.fromCharCode((input[i>>5] >>> (24 - i % 32)) & 0xFF); + return output; +} + +/* + * Calculate the SHA-1 of an array of big-endian words, and a bit length + */ +function binb_sha1(x, len) +{ + /* append padding */ + x[len >> 5] |= 0x80 << (24 - len % 32); + x[((len + 64 >> 9) << 4) + 15] = len; + + var w = Array(80); + var a = 1732584193; + var b = -271733879; + var c = -1732584194; + var d = 271733878; + var e = -1009589776; + + for(var i = 0; i < x.length; i += 16) + { + var olda = a; + var oldb = b; + var oldc = c; + var oldd = d; + var olde = e; + + for(var j = 0; j < 80; j++) + { + if(j < 16) w[j] = x[i + j]; + else w[j] = bit_rol(w[j-3] ^ w[j-8] ^ w[j-14] ^ w[j-16], 1); + var t = safe_add(safe_add(bit_rol(a, 5), sha1_ft(j, b, c, d)), + safe_add(safe_add(e, w[j]), sha1_kt(j))); + e = d; + d = c; + c = bit_rol(b, 30); + b = a; + a = t; + } + + a = safe_add(a, olda); + b = safe_add(b, oldb); + c = safe_add(c, oldc); + d = safe_add(d, oldd); + e = safe_add(e, olde); + } + return Array(a, b, c, d, e); + +} + +/* + * Perform the appropriate triplet combination function for the current + * iteration + */ +function sha1_ft(t, b, c, d) +{ + if(t < 20) return (b & c) | ((~b) & d); + if(t < 40) return b ^ c ^ d; + if(t < 60) return (b & c) | (b & d) | (c & d); + return b ^ c ^ d; +} + +/* + * Determine the appropriate additive constant for the current iteration + */ +function sha1_kt(t) +{ + return (t < 20) ? 1518500249 : (t < 40) ? 1859775393 : + (t < 60) ? -1894007588 : -899497514; +} + +/* + * Add integers, wrapping at 2^32. This uses 16-bit operations internally + * to work around bugs in some JS interpreters. + */ +function safe_add(x, y) +{ + var lsw = (x & 0xFFFF) + (y & 0xFFFF); + var msw = (x >> 16) + (y >> 16) + (lsw >> 16); + return (msw << 16) | (lsw & 0xFFFF); +} + +/* + * Bitwise rotate a 32-bit number to the left. + */ +function bit_rol(num, cnt) +{ + return (num << cnt) | (num >>> (32 - cnt)); +} + +exports.HMACSHA1= function(key, data) { + return b64_hmac_sha1(key, data); +} \ No newline at end of file diff --git a/express-server/node_modules/oauth/package.json b/express-server/node_modules/oauth/package.json new file mode 100644 index 00000000..628f2a84 --- /dev/null +++ b/express-server/node_modules/oauth/package.json @@ -0,0 +1,54 @@ +{ + "_from": "oauth@0.9.x", + "_id": "oauth@0.9.15", + "_inBundle": false, + "_integrity": "sha1-vR/vr2hslrdUda7VGWQS/2DPucE=", + "_location": "/oauth", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "oauth@0.9.x", + "name": "oauth", + "escapedName": "oauth", + "rawSpec": "0.9.x", + "saveSpec": null, + "fetchSpec": "0.9.x" + }, + "_requiredBy": [ + "/passport-oauth1", + "/passport-oauth2" + ], + "_resolved": "https://registry.npmjs.org/oauth/-/oauth-0.9.15.tgz", + "_shasum": "bd1fefaf686c96b75475aed5196412ff60cfb9c1", + "_spec": "oauth@0.9.x", + "_where": "C:\\Users\\Georg\\GitHub\\SmartShopper\\express-server\\node_modules\\passport-oauth1", + "author": { + "name": "Ciaran Jessup", + "email": "ciaranj@gmail.com" + }, + "bugs": { + "url": "https://github.com/ciaranj/node-oauth/issues" + }, + "bundleDependencies": false, + "deprecated": false, + "description": "Library for interacting with OAuth 1.0, 1.0A, 2 and Echo. Provides simplified client access and allows for construction of more complex apis and OAuth providers.", + "devDependencies": { + "vows": "0.5.x" + }, + "directories": { + "lib": "./lib" + }, + "homepage": "https://github.com/ciaranj/node-oauth#readme", + "license": "MIT", + "main": "index.js", + "name": "oauth", + "repository": { + "type": "git", + "url": "git+ssh://git@github.com/ciaranj/node-oauth.git" + }, + "scripts": { + "test": "make test" + }, + "version": "0.9.15" +} diff --git a/express-server/node_modules/oauth/tests/oauth2tests.js b/express-server/node_modules/oauth/tests/oauth2tests.js new file mode 100644 index 00000000..8be23e35 --- /dev/null +++ b/express-server/node_modules/oauth/tests/oauth2tests.js @@ -0,0 +1,304 @@ +var vows = require('vows'), + assert = require('assert'), + DummyResponse= require('./shared').DummyResponse, + DummyRequest= require('./shared').DummyRequest, + https = require('https'), + OAuth2= require('../lib/oauth2').OAuth2, + url = require('url'); + +vows.describe('OAuth2').addBatch({ + 'Given an OAuth2 instance with clientId and clientSecret, ': { + topic: new OAuth2("clientId", "clientSecret"), + 'When dealing with the response from the OP': { + 'we should treat a 201 response as a success': function(oa) { + var callbackCalled= false; + var http_library= { + request: function() { + return new DummyRequest(new DummyResponse(201)); + } + }; + oa._executeRequest( http_library, {}, null, function(err, result, response) { + callbackCalled= true; + assert.equal(err, null); + }); + assert.ok(callbackCalled); + }, + 'we should treat a 200 response as a success': function(oa) { + var callbackCalled= false; + var http_library= { + request: function() { + return new DummyRequest(new DummyResponse(200)); + } + }; + oa._executeRequest( http_library, {}, null, function(err, result, response) { + callbackCalled= true; + assert.equal(err, null); + }); + assert.ok(callbackCalled); + } + }, + 'When handling the access token response': { + 'we should correctly extract the token if received as form-data': function (oa) { + oa._request= function( method, url, fo, bar, bleh, callback) { + callback(null, "access_token=access&refresh_token=refresh"); + }; + oa.getOAuthAccessToken("", {}, function(error, access_token, refresh_token) { + assert.equal( access_token, "access"); + assert.equal( refresh_token, "refresh"); + }); + }, + 'we should not include access token in both querystring and headers (favours headers if specified)': function (oa) { + oa._request = new OAuth2("clientId", "clientSecret")._request.bind(oa); + oa._executeRequest= function( http_library, options, post_body, callback) { + callback(null, url.parse(options.path, true).query, options.headers); + }; + + oa._request("GET", "http://foo/", {"Authorization":"Bearer BadNews"}, null, "accessx", function(error, query, headers) { + assert.ok( !('access_token' in query), "access_token also in query"); + assert.ok( 'Authorization' in headers, "Authorization not in headers"); + }); + }, + 'we should include access token in the querystring if no Authorization header present to override it': function (oa) { + oa._request = new OAuth2("clientId", "clientSecret")._request.bind(oa); + oa._executeRequest= function( http_library, options, post_body, callback) { + callback(null, url.parse(options.path, true).query, options.headers); + }; + oa._request("GET", "http://foo/", {}, null, "access", function(error, query, headers) { + assert.ok( 'access_token' in query, "access_token not present in query"); + assert.ok( !('Authorization' in headers), "Authorization in headers"); + }); + }, + 'we should correctly extract the token if received as a JSON literal': function (oa) { + oa._request= function(method, url, headers, post_body, access_token, callback) { + callback(null, '{"access_token":"access","refresh_token":"refresh"}'); + }; + oa.getOAuthAccessToken("", {}, function(error, access_token, refresh_token) { + assert.equal( access_token, "access"); + assert.equal( refresh_token, "refresh"); + }); + }, + 'we should return the received data to the calling method': function (oa) { + oa._request= function(method, url, headers, post_body, access_token, callback) { + callback(null, '{"access_token":"access","refresh_token":"refresh","extra_1":1, "extra_2":"foo"}'); + }; + oa.getOAuthAccessToken("", {}, function(error, access_token, refresh_token, results) { + assert.equal( access_token, "access"); + assert.equal( refresh_token, "refresh"); + assert.isNotNull( results ); + assert.equal( results.extra_1, 1); + assert.equal( results.extra_2, "foo"); + }); + } + }, + 'When no grant_type parameter is specified': { + 'we should pass the value of the code argument as the code parameter': function(oa) { + oa._request= function(method, url, headers, post_body, access_token, callback) { + assert.isTrue( post_body.indexOf("code=xsds23") != -1 ); + }; + oa.getOAuthAccessToken("xsds23", {} ); + } + }, + 'When an invalid grant_type parameter is specified': { + 'we should pass the value of the code argument as the code parameter': function(oa) { + oa._request= function(method, url, headers, post_body, access_token, callback) { + assert.isTrue( post_body.indexOf("code=xsds23") != -1 ); + }; + oa.getOAuthAccessToken("xsds23", {grant_type:"refresh_toucan"} ); + } + }, + 'When a grant_type parameter of value "refresh_token" is specified': { + 'we should pass the value of the code argument as the refresh_token parameter, should pass a grant_type parameter, but shouldn\'t pass a code parameter' : function(oa) { + oa._request= function(method, url, headers, post_body, access_token, callback) { + assert.isTrue( post_body.indexOf("refresh_token=sdsds2") != -1 ); + assert.isTrue( post_body.indexOf("grant_type=refresh_token") != -1 ); + assert.isTrue( post_body.indexOf("code=") == -1 ); + }; + oa.getOAuthAccessToken("sdsds2", {grant_type:"refresh_token"} ); + } + }, + 'When we use the authorization header': { + 'and call get with the default authorization method': { + 'we should pass the authorization header with Bearer method and value of the access_token, _request should be passed a null access_token' : function(oa) { + oa._request= function(method, url, headers, post_body, access_token, callback) { + assert.equal(headers["Authorization"], "Bearer abcd5"); + assert.isNull( access_token ); + }; + oa.useAuthorizationHeaderforGET(true); + oa.get("", "abcd5"); + } + }, + 'and call get with the authorization method set to Basic': { + 'we should pass the authorization header with Basic method and value of the access_token, _request should be passed a null access_token' : function(oa) { + oa._request= function(method, url, headers, post_body, access_token, callback) { + assert.equal(headers["Authorization"], "Basic cdg2"); + assert.isNull( access_token ); + }; + oa.useAuthorizationHeaderforGET(true); + oa.setAuthMethod("Basic"); + oa.get("", "cdg2"); + } + } + }, + 'When we do not use the authorization header': { + 'and call get': { + 'we should pass NOT provide an authorization header and the access_token should be being passed to _request' : function(oa) { + oa._request= function(method, url, headers, post_body, access_token, callback) { + assert.isUndefined(headers["Authorization"]); + assert.equal( access_token, "abcd5" ); + }; + oa.useAuthorizationHeaderforGET(false); + oa.get("", "abcd5"); + } + } + } + }, + 'Given an OAuth2 instance with clientId, clientSecret and customHeaders': { + topic: new OAuth2("clientId", "clientSecret", undefined, undefined, undefined, + { 'SomeHeader': '123' }), + 'When GETing': { + 'we should see the custom headers mixed into headers property in options passed to http-library' : function(oa) { + oa._executeRequest= function( http_library, options, callback ) { + assert.equal(options.headers["SomeHeader"], "123"); + }; + oa.get("", {}); + }, + } + }, + 'Given an OAuth2 instance with a clientId and clientSecret': { + topic: new OAuth2("clientId", "clientSecret"), + 'When POSTing': { + 'we should see a given string being sent to the request' : function(oa) { + var bodyWritten= false; + oa._chooseHttpLibrary= function() { + return { + request: function(options) { + assert.equal(options.headers["Content-Type"], "text/plain"); + assert.equal(options.headers["Content-Length"], 26); + assert.equal(options.method, "POST"); + return { + end: function() {}, + on: function() {}, + write: function(body) { + bodyWritten= true; + assert.isNotNull(body); + assert.equal(body, "THIS_IS_A_POST_BODY_STRING") + } + } + } + }; + } + oa._request("POST", "", {"Content-Type":"text/plain"}, "THIS_IS_A_POST_BODY_STRING"); + assert.ok( bodyWritten ); + }, + 'we should see a given buffer being sent to the request' : function(oa) { + var bodyWritten= false; + oa._chooseHttpLibrary= function() { + return { + request: function(options) { + assert.equal(options.headers["Content-Type"], "application/octet-stream"); + assert.equal(options.headers["Content-Length"], 4); + assert.equal(options.method, "POST"); + return { + end: function() {}, + on: function() {}, + write: function(body) { + bodyWritten= true; + assert.isNotNull(body); + assert.equal(4, body.length) + } + } + } + }; + } + oa._request("POST", "", {"Content-Type":"application/octet-stream"}, new Buffer([1,2,3,4])); + assert.ok( bodyWritten ); + } + }, + 'When PUTing': { + 'we should see a given string being sent to the request' : function(oa) { + var bodyWritten= false; + oa._chooseHttpLibrary= function() { + return { + request: function(options) { + assert.equal(options.headers["Content-Type"], "text/plain"); + assert.equal(options.headers["Content-Length"], 25); + assert.equal(options.method, "PUT"); + return { + end: function() {}, + on: function() {}, + write: function(body) { + bodyWritten= true; + assert.isNotNull(body); + assert.equal(body, "THIS_IS_A_PUT_BODY_STRING") + } + } + } + }; + } + oa._request("PUT", "", {"Content-Type":"text/plain"}, "THIS_IS_A_PUT_BODY_STRING"); + assert.ok( bodyWritten ); + }, + 'we should see a given buffer being sent to the request' : function(oa) { + var bodyWritten= false; + oa._chooseHttpLibrary= function() { + return { + request: function(options) { + assert.equal(options.headers["Content-Type"], "application/octet-stream"); + assert.equal(options.headers["Content-Length"], 4); + assert.equal(options.method, "PUT"); + return { + end: function() {}, + on: function() {}, + write: function(body) { + bodyWritten= true; + assert.isNotNull(body); + assert.equal(4, body.length) + } + } + } + }; + } + oa._request("PUT", "", {"Content-Type":"application/octet-stream"}, new Buffer([1,2,3,4])); + assert.ok( bodyWritten ); + } + } + }, + 'When the user passes in the User-Agent in customHeaders': { + topic: new OAuth2("clientId", "clientSecret", undefined, undefined, undefined, + { 'User-Agent': '123Agent' }), + 'When calling get': { + 'we should see the User-Agent mixed into headers property in options passed to http-library' : function(oa) { + oa._executeRequest= function( http_library, options, callback ) { + assert.equal(options.headers["User-Agent"], "123Agent"); + }; + oa.get("", {}); + } + } + }, + 'When the user does not pass in a User-Agent in customHeaders': { + topic: new OAuth2("clientId", "clientSecret", undefined, undefined, undefined, + undefined), + 'When calling get': { + 'we should see the default User-Agent mixed into headers property in options passed to http-library' : function(oa) { + oa._executeRequest= function( http_library, options, callback ) { + assert.equal(options.headers["User-Agent"], "Node-oauth"); + }; + oa.get("", {}); + } + } + }, + 'When specifying an agent, that agent is passed to the HTTP request method' : { + topic : new OAuth2('clientId', 'clientSecret', undefined, undefined, undefined, undefined), + 'When calling _executeRequest': { + 'we whould see the agent being put into the options' : function(oa) { + oa.setAgent('awesome agent'); + oa._executeRequest({ + request : function(options, cb) { + assert.equal(options.agent, 'awesome agent'); + return new DummyRequest(new DummyResponse(200)); + } + }, {}, null, function() {}); + } + } + } +}).export(module); diff --git a/express-server/node_modules/oauth/tests/oauthtests.js b/express-server/node_modules/oauth/tests/oauthtests.js new file mode 100644 index 00000000..d36bfed7 --- /dev/null +++ b/express-server/node_modules/oauth/tests/oauthtests.js @@ -0,0 +1,1064 @@ +var vows = require('vows'), + assert = require('assert'), + DummyResponse= require('./shared').DummyResponse, + DummyRequest= require('./shared').DummyRequest, + events = require('events'), + OAuth= require('../lib/oauth').OAuth, + OAuthEcho= require('../lib/oauth').OAuthEcho, + crypto = require('crypto'); + +//Valid RSA keypair used to test RSA-SHA1 signature method +var RsaPrivateKey = "-----BEGIN RSA PRIVATE KEY-----\n" + +"MIICXQIBAAKBgQDizE4gQP5nPQhzof/Vp2U2DDY3UY/Gxha2CwKW0URe7McxtnmE\n" + +"CrZnT1n/YtfrrCNxY5KMP4o8hMrxsYEe05+1ZGFT68ztms3puUxilU5E3BQMhz1t\n" + +"JMJEGcTt8nZUlM4utli7fHgDtWbhvqvYjRMGn3AjyLOfY8XZvnFkGjipvQIDAQAB\n" + +"AoGAKgk6FcpWHOZ4EY6eL4iGPt1Gkzw/zNTcUsN5qGCDLqDuTq2Gmk2t/zn68VXt\n" + +"tVXDf/m3qN0CDzOBtghzaTZKLGhnSewQ98obMWgPcvAsb4adEEeW1/xigbMiaW2X\n" + +"cu6GhZxY16edbuQ40LRrPoVK94nXQpj8p7w4IQ301Sm8PSECQQD1ZlOj4ugvfhEt\n" + +"exi4WyAaM45fylmN290UXYqZ8SYPI/VliDytIlMfyq5Rv+l+dud1XDPrWOQ0ImgV\n" + +"HJn7uvoZAkEA7JhHNmHF9dbdF9Koj86K2Cl6c8KUu7U7d2BAuB6pPkt8+D8+y4St\n" + +"PaCmN4oP4X+sf5rqBYoXywHlqEei2BdpRQJBAMYgR4cZu7wcXGIL8HlnmROObHSK\n" + +"OqN9z5CRtUV0nPW8YnQG+nYOMG6KhRMbjri750OpnYF100kEPmRNI0VKQIECQE8R\n" + +"fQsRleTYz768ahTVQ9WF1ySErMwmfx8gDcD6jjkBZVxZVpURXAwyehopi7Eix/VF\n" + +"QlxjkBwKIEQi3Ks297kCQQCL9by1bueKDMJO2YX1Brm767pkDKkWtGfPS+d3xMtC\n" + +"KJHHCqrS1V+D5Q89x5wIRHKxE5UMTc0JNa554OxwFORX\n" + +"-----END RSA PRIVATE KEY-----"; + +var RsaPublicKey = "-----BEGIN PUBLIC KEY-----\n" + +"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDizE4gQP5nPQhzof/Vp2U2DDY3\n" + +"UY/Gxha2CwKW0URe7McxtnmECrZnT1n/YtfrrCNxY5KMP4o8hMrxsYEe05+1ZGFT\n" + +"68ztms3puUxilU5E3BQMhz1tJMJEGcTt8nZUlM4utli7fHgDtWbhvqvYjRMGn3Aj\n" + +"yLOfY8XZvnFkGjipvQIDAQAB\n" + +"-----END PUBLIC KEY-----"; + +vows.describe('OAuth').addBatch({ + 'When newing OAuth': { + topic: new OAuth(null, null, null, null, null, null, "PLAINTEXT"), + 'followRedirects is enabled by default': function (oa) { + assert.equal(oa._clientOptions.followRedirects, true) + } + }, + 'When generating the signature base string described in http://oauth.net/core/1.0/#sig_base_example': { + topic: new OAuth(null, null, null, null, null, null, "HMAC-SHA1"), + 'we get the expected result string': function (oa) { + var result= oa._createSignatureBase("GET", "http://photos.example.net/photos", + "file=vacation.jpg&oauth_consumer_key=dpf43f3p2l4k3l03&oauth_nonce=kllo9940pd9333jh&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1191242096&oauth_token=nnch734d00sl2jdk&oauth_version=1.0&size=original") + assert.equal( result, "GET&http%3A%2F%2Fphotos.example.net%2Fphotos&file%3Dvacation.jpg%26oauth_consumer_key%3Ddpf43f3p2l4k3l03%26oauth_nonce%3Dkllo9940pd9333jh%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1191242096%26oauth_token%3Dnnch734d00sl2jdk%26oauth_version%3D1.0%26size%3Doriginal"); + } + }, + 'When generating the signature with RSA-SHA1': { + topic: new OAuth(null, null, null, RsaPrivateKey, null, null, "RSA-SHA1"), + 'we get a valid oauth signature': function (oa) { + var signatureBase = "GET&http%3A%2F%2Fphotos.example.net%2Fphotos&file%3Dvacation.jpg%26oauth_consumer_key%3Ddpf43f3p2l4k3l03%26oauth_nonce%3Dkllo9940pd9333jh%26oauth_signature_method%3DRSA-SHA1%26oauth_timestamp%3D1191242096%26oauth_token%3Dnnch734d00sl2jdk%26oauth_version%3D1.0%26size%3Doriginal"; + var oauthSignature = oa._createSignature(signatureBase, "xyz4992k83j47x0b"); + + assert.equal( oauthSignature, "qS4rhWog7GPgo4ZCJvUdC/1ZAax/Q4Ab9yOBvgxSopvmKUKp5rso+Zda46GbyN2hnYDTiA/g3P/d/YiPWa454BEBb/KWFV83HpLDIoqUUhJnlXX9MqRQQac0oeope4fWbGlfTdL2PXjSFJmvfrzybERD/ZufsFtVrQKS3QBpYiw="); + + //now check that given the public key we can verify this signature + var verifier = crypto.createVerify("RSA-SHA1").update(signatureBase); + var valid = verifier.verify(RsaPublicKey, oauthSignature, 'base64'); + assert.ok( valid, "Signature could not be verified with RSA public key"); + } + }, + 'When generating the signature base string with PLAINTEXT': { + topic: new OAuth(null, null, null, null, null, null, "PLAINTEXT"), + 'we get the expected result string': function (oa) { + var result= oa._getSignature("GET", "http://photos.example.net/photos", + "file=vacation.jpg&oauth_consumer_key=dpf43f3p2l4k3l03&oauth_nonce=kllo9940pd9333jh&oauth_signature_method=PLAINTEXT&oauth_timestamp=1191242096&oauth_token=nnch734d00sl2jdk&oauth_version=1.0&size=original", + "test"); + assert.equal( result, "&test"); + } + }, + 'When normalising a url': { + topic: new OAuth(null, null, null, null, null, null, "HMAC-SHA1"), + 'default ports should be stripped': function(oa) { + assert.equal( oa._normalizeUrl("https://somehost.com:443/foo/bar"), "https://somehost.com/foo/bar" ); + }, + 'should leave in non-default ports from urls for use in signature generation': function(oa) { + assert.equal( oa._normalizeUrl("https://somehost.com:446/foo/bar"), "https://somehost.com:446/foo/bar" ); + assert.equal( oa._normalizeUrl("http://somehost.com:81/foo/bar"), "http://somehost.com:81/foo/bar" ); + }, + 'should add a trailing slash when no path at all is present': function(oa) { + assert.equal( oa._normalizeUrl("http://somehost.com"), "http://somehost.com/") + } + }, + 'When making an array out of the arguments hash' : { + topic: new OAuth(null, null, null, null, null, null, "HMAC-SHA1"), + 'flatten out arguments that are arrays' : function(oa) { + var parameters= {"z": "a", + "a": ["1", "2"], + "1": "c" }; + var parameterResults= oa._makeArrayOfArgumentsHash(parameters); + assert.equal(parameterResults.length, 4); + assert.equal(parameterResults[0][0], "1"); + assert.equal(parameterResults[1][0], "z"); + assert.equal(parameterResults[2][0], "a"); + assert.equal(parameterResults[3][0], "a"); + } + }, + 'When ordering the request parameters' : { + topic: new OAuth(null, null, null, null, null, null, "HMAC-SHA1"), + 'Order them by name' : function(oa) { + var parameters= {"z": "a", + "a": "b", + "1": "c" }; + var parameterResults= oa._sortRequestParams(oa._makeArrayOfArgumentsHash(parameters)) + assert.equal(parameterResults[0][0], "1"); + assert.equal(parameterResults[1][0], "a"); + assert.equal(parameterResults[2][0], "z"); + }, + 'If two parameter names are the same then order by the value': function(oa) { + var parameters= {"z": "a", + "a": ["z", "b", "b", "a", "y"], + "1": "c" }; + var parameterResults= oa._sortRequestParams(oa._makeArrayOfArgumentsHash(parameters)) + assert.equal(parameterResults[0][0], "1"); + assert.equal(parameterResults[1][0], "a"); + assert.equal(parameterResults[1][1], "a"); + assert.equal(parameterResults[2][0], "a"); + assert.equal(parameterResults[2][1], "b"); + assert.equal(parameterResults[3][0], "a"); + assert.equal(parameterResults[3][1], "b"); + assert.equal(parameterResults[4][0], "a"); + assert.equal(parameterResults[4][1], "y"); + assert.equal(parameterResults[5][0], "a"); + assert.equal(parameterResults[5][1], "z"); + assert.equal(parameterResults[6][0], "z"); + } + }, + 'When normalising the request parameters': { + topic: new OAuth(null, null, null, null, null, null, "HMAC-SHA1"), + 'the resulting parameters should be encoded and ordered as per http://tools.ietf.org/html/rfc5849#section-3.1 (3.4.1.3.2)' : function(oa) { + var parameters= {"b5" : "=%3D", + "a3": ["a", "2 q"], + "c@": "", + "a2": "r b", + "oauth_consumer_key": "9djdj82h48djs9d2", + "oauth_token":"kkk9d7dh3k39sjv7", + "oauth_signature_method": "HMAC-SHA1", + "oauth_timestamp": "137131201", + "oauth_nonce": "7d8f3e4a", + "c2" : ""}; + var normalisedParameterString= oa._normaliseRequestParams(parameters); + assert.equal(normalisedParameterString, "a2=r%20b&a3=2%20q&a3=a&b5=%3D%253D&c%40=&c2=&oauth_consumer_key=9djdj82h48djs9d2&oauth_nonce=7d8f3e4a&oauth_signature_method=HMAC-SHA1&oauth_timestamp=137131201&oauth_token=kkk9d7dh3k39sjv7"); + } + }, + 'When preparing the parameters for use in signing': { + topic: new OAuth(null, null, null, null, null, null, "HMAC-SHA1"), + 'We need to be wary of node\'s auto object creation from foo[bar] style url parameters' : function(oa) { + var result= oa._prepareParameters( "", "", "", "http://foo.com?foo[bar]=xxx&bar[foo]=yyy", {} ); + assert.equal( result[0][0], "bar[foo]") + assert.equal( result[0][1], "yyy") + assert.equal( result[1][0], "foo[bar]") + assert.equal( result[1][1], "xxx") + } + }, + 'When signing a url': { + topic: function() { + var oa= new OAuth(null, null, "consumerkey", "consumersecret", "1.0", null, "HMAC-SHA1"); + oa._getTimestamp= function(){ return "1272399856"; } + oa._getNonce= function(){ return "ybHPeOEkAUJ3k2wJT9Xb43MjtSgTvKqp"; } + return oa; + }, + 'Provide a valid signature when no token present': function(oa) { + assert.equal( oa.signUrl("http://somehost.com:3323/foo/poop?bar=foo"), "http://somehost.com:3323/foo/poop?bar=foo&oauth_consumer_key=consumerkey&oauth_nonce=ybHPeOEkAUJ3k2wJT9Xb43MjtSgTvKqp&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1272399856&oauth_version=1.0&oauth_signature=7ytO8vPSLut2GzHjU9pn1SV9xjc%3D"); + }, + 'Provide a valid signature when a token is present': function(oa) { + assert.equal( oa.signUrl("http://somehost.com:3323/foo/poop?bar=foo", "token"), "http://somehost.com:3323/foo/poop?bar=foo&oauth_consumer_key=consumerkey&oauth_nonce=ybHPeOEkAUJ3k2wJT9Xb43MjtSgTvKqp&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1272399856&oauth_token=token&oauth_version=1.0&oauth_signature=9LwCuCWw5sURtpMroIolU3YwsdI%3D"); + }, + 'Provide a valid signature when a token and a token secret is present': function(oa) { + assert.equal( oa.signUrl("http://somehost.com:3323/foo/poop?bar=foo", "token", "tokensecret"), "http://somehost.com:3323/foo/poop?bar=foo&oauth_consumer_key=consumerkey&oauth_nonce=ybHPeOEkAUJ3k2wJT9Xb43MjtSgTvKqp&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1272399856&oauth_token=token&oauth_version=1.0&oauth_signature=zeOR0Wsm6EG6XSg0Vw%2FsbpoSib8%3D"); + } + }, + 'When getting a request token': { + topic: function() { + var oa= new OAuth(null, null, "consumerkey", "consumersecret", "1.0", null, "HMAC-SHA1"); + oa._getTimestamp= function(){ return "1272399856"; } + oa._getNonce= function(){ return "ybHPeOEkAUJ3k2wJT9Xb43MjtSgTvKqp"; } + oa._performSecureRequest= function(){ return this.requestArguments = arguments; } + return oa; + }, + 'Use the HTTP method in the client options': function(oa) { + oa.setClientOptions({ requestTokenHttpMethod: "GET" }); + oa.getOAuthRequestToken(function() {}); + assert.equal(oa.requestArguments[2], "GET"); + }, + 'Use a POST by default': function(oa) { + oa.setClientOptions({}); + oa.getOAuthRequestToken(function() {}); + assert.equal(oa.requestArguments[2], "POST"); + } + }, + 'When getting an access token': { + topic: function() { + var oa= new OAuth(null, null, "consumerkey", "consumersecret", "1.0", null, "HMAC-SHA1"); + oa._getTimestamp= function(){ return "1272399856"; } + oa._getNonce= function(){ return "ybHPeOEkAUJ3k2wJT9Xb43MjtSgTvKqp"; } + oa._performSecureRequest= function(){ return this.requestArguments = arguments; } + return oa; + }, + 'Use the HTTP method in the client options': function(oa) { + oa.setClientOptions({ accessTokenHttpMethod: "GET" }); + oa.getOAuthAccessToken(function() {}); + assert.equal(oa.requestArguments[2], "GET"); + }, + 'Use a POST by default': function(oa) { + oa.setClientOptions({}); + oa.getOAuthAccessToken(function() {}); + assert.equal(oa.requestArguments[2], "POST"); + } + }, + 'When get authorization header' : { + topic: function() { + var oa= new OAuth(null, null, "consumerkey", "consumersecret", "1.0", null, "HMAC-SHA1"); + oa._getTimestamp= function(){ return "1272399856"; } + oa._getNonce= function(){ return "ybHPeOEkAUJ3k2wJT9Xb43MjtSgTvKqp"; } + return oa; + }, + 'Provide a valid signature when a token and a token secret is present': function(oa) { + assert.equal( oa.authHeader("http://somehost.com:3323/foo/poop?bar=foo", "token", "tokensecret"), 'OAuth oauth_consumer_key="consumerkey",oauth_nonce="ybHPeOEkAUJ3k2wJT9Xb43MjtSgTvKqp",oauth_signature_method="HMAC-SHA1",oauth_timestamp="1272399856",oauth_token="token",oauth_version="1.0",oauth_signature="zeOR0Wsm6EG6XSg0Vw%2FsbpoSib8%3D"'); + }, + 'Support variable whitespace separating the arguments': function(oa) { + oa._oauthParameterSeperator= ", "; + assert.equal( oa.authHeader("http://somehost.com:3323/foo/poop?bar=foo", "token", "tokensecret"), 'OAuth oauth_consumer_key="consumerkey", oauth_nonce="ybHPeOEkAUJ3k2wJT9Xb43MjtSgTvKqp", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1272399856", oauth_token="token", oauth_version="1.0", oauth_signature="zeOR0Wsm6EG6XSg0Vw%2FsbpoSib8%3D"'); + } + }, + 'When get the OAuth Echo authorization header': { + topic: function () { + var realm = "http://foobar.com/"; + var verifyCredentials = "http://api.foobar.com/verify.json"; + var oa = new OAuthEcho(realm, verifyCredentials, "consumerkey", "consumersecret", "1.0A", "HMAC-SHA1"); + oa._getTimestamp= function(){ return "1272399856"; } + oa._getNonce= function(){ return "ybHPeOEkAUJ3k2wJT9Xb43MjtSgTvKqp"; } + return oa; + }, + 'Provide a valid signature when a token and token secret is present': function (oa) { + assert.equal( oa.authHeader("http://somehost.com:3323/foo/poop?bar=foo", "token", "tokensecret"), 'OAuth realm="http://foobar.com/",oauth_consumer_key="consumerkey",oauth_nonce="ybHPeOEkAUJ3k2wJT9Xb43MjtSgTvKqp",oauth_signature_method="HMAC-SHA1",oauth_timestamp="1272399856",oauth_token="token",oauth_version="1.0A",oauth_signature="0rr1LhSxACX2IEWRq3uCb4IwtOs%3D"'); + } + }, + 'When non standard ports are used': { + topic: function() { + var oa= new OAuth(null, null, null, null, null, null, "HMAC-SHA1"), + mockProvider= {}; + + oa._createClient= function( port, hostname, method, path, headers, sshEnabled ) { + assert.equal(headers.Host, "somehost.com:8080"); + assert.equal(hostname, "somehost.com"); + assert.equal(port, "8080"); + return { + on: function() {}, + end: function() {} + }; + } + return oa; + }, + 'getProtectedResource should correctly define the host headers': function(oa) { + oa.getProtectedResource("http://somehost.com:8080", "GET", "oauth_token", null, function(){}) + } + }, + 'When building the OAuth Authorization header': { + topic: new OAuth(null, null, null, null, null, null, "HMAC-SHA1"), + 'All provided oauth arguments should be concatentated correctly' : function(oa) { + var parameters= [ + ["oauth_timestamp", "1234567"], + ["oauth_nonce", "ABCDEF"], + ["oauth_version", "1.0"], + ["oauth_signature_method", "HMAC-SHA1"], + ["oauth_consumer_key", "asdasdnm2321b3"]]; + assert.equal(oa._buildAuthorizationHeaders(parameters), 'OAuth oauth_timestamp="1234567",oauth_nonce="ABCDEF",oauth_version="1.0",oauth_signature_method="HMAC-SHA1",oauth_consumer_key="asdasdnm2321b3"'); + }, + '*Only* Oauth arguments should be concatentated, others should be disregarded' : function(oa) { + var parameters= [ + ["foo", "2343"], + ["oauth_timestamp", "1234567"], + ["oauth_nonce", "ABCDEF"], + ["bar", "dfsdfd"], + ["oauth_version", "1.0"], + ["oauth_signature_method", "HMAC-SHA1"], + ["oauth_consumer_key", "asdasdnm2321b3"], + ["foobar", "asdasdnm2321b3"]]; + assert.equal(oa._buildAuthorizationHeaders(parameters), 'OAuth oauth_timestamp="1234567",oauth_nonce="ABCDEF",oauth_version="1.0",oauth_signature_method="HMAC-SHA1",oauth_consumer_key="asdasdnm2321b3"'); + }, + '_buildAuthorizationHeaders should not depends on Array.prototype.toString' : function(oa) { + var _toString = Array.prototype.toString; + Array.prototype.toString = function(){ return '[Array] ' + this.length; }; // toString overwrite example used in jsdom. + var parameters= [ + ["foo", "2343"], + ["oauth_timestamp", "1234567"], + ["oauth_nonce", "ABCDEF"], + ["bar", "dfsdfd"], + ["oauth_version", "1.0"], + ["oauth_signature_method", "HMAC-SHA1"], + ["oauth_consumer_key", "asdasdnm2321b3"], + ["foobar", "asdasdnm2321b3"]]; + assert.equal(oa._buildAuthorizationHeaders(parameters), 'OAuth oauth_timestamp="1234567",oauth_nonce="ABCDEF",oauth_version="1.0",oauth_signature_method="HMAC-SHA1",oauth_consumer_key="asdasdnm2321b3"'); + Array.prototype.toString = _toString; + } + }, + 'When performing the Secure Request' : { + topic: new OAuth("http://foo.com/RequestToken", + "http://foo.com/AccessToken", + "anonymous", "anonymous", + "1.0A", "http://foo.com/callback", "HMAC-SHA1"), + 'using the POST method' : { + 'Any passed extra_params should form part of the POST body': function(oa) { + var post_body_written= false; + var op= oa._createClient; + try { + oa._createClient= function( port, hostname, method, path, headers, sshEnabled ) { + return { + write: function(post_body){ + post_body_written= true; + assert.equal(post_body,"scope=foobar%2C1%2C2"); + } + }; + } + oa._performSecureRequest("token", "token_secret", 'POST', 'http://foo.com/protected_resource', {"scope": "foobar,1,2"}); + assert.equal(post_body_written, true); + } + finally { + oa._createClient= op; + } + } + } + }, + 'When performing a secure' : { + topic: new OAuth("http://foo.com/RequestToken", + "http://foo.com/AccessToken", + "anonymous", "anonymous", + "1.0A", "http://foo.com/callback", "HMAC-SHA1"), + 'POST' : { + 'if no callback is passed' : { + 'it should return a request object': function(oa) { + var request= oa.post("http://foo.com/blah", "token", "token_secret", "BLAH", "text/plain") + assert.isObject(request); + assert.equal(request.method, "POST"); + request.end(); + } + }, + 'if a callback is passed' : { + "it should call the internal request's end method and return nothing": function(oa) { + var callbackCalled= false; + var op= oa._createClient; + try { + oa._createClient= function( port, hostname, method, path, headers, sshEnabled ) { + return { + write: function(){}, + on: function() {}, + end: function() { + callbackCalled= true; + } + }; + } + var request= oa.post("http://foo.com/blah", "token", "token_secret", "BLAH", "text/plain", function(e,d){}) + assert.equal(callbackCalled, true); + assert.isUndefined(request); + } + finally { + oa._createClient= op; + } + } + }, + 'if the post_body is a buffer' : { + "It should be passed through as is, and the original content-type (if specified) should be passed through": function(oa) { + var op= oa._createClient; + try { + var callbackCalled= false; + oa._createClient= function( port, hostname, method, path, headers, sshEnabled ) { + assert.equal(headers["Content-Type"], "image/jpeg") + return { + write: function(data){ + callbackCalled= true; + assert.equal(data.length, 4); + }, + on: function() {}, + end: function() { + } + }; + } + var request= oa.post("http://foo.com/blah", "token", "token_secret", new Buffer([10,20,30,40]), "image/jpeg") + assert.equal(callbackCalled, true); + } + finally { + oa._createClient= op; + } + }, + "It should be passed through as is, and no content-type is specified.": function(oa) { + //Should probably actually set application/octet-stream, but to avoid a change in behaviour + // will just document (here) that the library will set it to application/x-www-form-urlencoded + var op= oa._createClient; + try { + var callbackCalled= false; + oa._createClient= function( port, hostname, method, path, headers, sshEnabled ) { + assert.equal(headers["Content-Type"], "application/x-www-form-urlencoded") + return { + write: function(data){ + callbackCalled= true; + assert.equal(data.length, 4); + }, + on: function() {}, + end: function() { + } + }; + } + var request= oa.post("http://foo.com/blah", "token", "token_secret", new Buffer([10,20,30,40])) + assert.equal(callbackCalled, true); + } + finally { + oa._createClient= op; + } + } + }, + 'if the post_body is not a string or a buffer' : { + "It should be url encoded and the content type set to be x-www-form-urlencoded" : function(oa) { + var op= oa._createClient; + try { + var callbackCalled= false; + oa._createClient= function( port, hostname, method, path, headers, sshEnabled ) { + assert.equal(headers["Content-Type"], "application/x-www-form-urlencoded") + return { + write: function(data){ + callbackCalled= true; + assert.equal(data, "foo=1%2C2%2C3&bar=1%2B2"); + }, + on: function() {}, + end: function() { + } + }; + } + var request= oa.post("http://foo.com/blah", "token", "token_secret", {"foo":"1,2,3", "bar":"1+2"}) + assert.equal(callbackCalled, true); + } + finally { + oa._createClient= op; + } + } + }, + 'if the post_body is a string' : { + "and it contains non ascii (7/8bit) characters" : { + "the content length should be the byte count, and not the string length" : function(oa) { + var testString= "Tôi yêu node"; + var testStringLength= testString.length; + var testStringBytesLength= Buffer.byteLength(testString); + assert.notEqual(testStringLength, testStringBytesLength); // Make sure we're testing a string that differs between byte-length and char-length! + + var op= oa._createClient; + try { + var callbackCalled= false; + oa._createClient= function( port, hostname, method, path, headers, sshEnabled ) { + assert.equal(headers["Content-length"], testStringBytesLength); + return { + write: function(data){ + callbackCalled= true; + assert.equal(data, testString); + }, + on: function() {}, + end: function() { + } + }; + } + var request= oa.post("http://foo.com/blah", "token", "token_secret", "Tôi yêu node") + assert.equal(callbackCalled, true); + } + finally { + oa._createClient= op; + } + } + }, + "and no post_content_type is specified" : { + "It should be written as is, with a content length specified, and the encoding should be set to be x-www-form-urlencoded" : function(oa) { + var op= oa._createClient; + try { + var callbackCalled= false; + oa._createClient= function( port, hostname, method, path, headers, sshEnabled ) { + assert.equal(headers["Content-Type"], "application/x-www-form-urlencoded"); + assert.equal(headers["Content-length"], 23); + return { + write: function(data){ + callbackCalled= true; + assert.equal(data, "foo=1%2C2%2C3&bar=1%2B2"); + }, + on: function() {}, + end: function() { + } + }; + } + var request= oa.post("http://foo.com/blah", "token", "token_secret", "foo=1%2C2%2C3&bar=1%2B2") + assert.equal(callbackCalled, true); + } + finally { + oa._createClient= op; + } + } + }, + "and a post_content_type is specified" : { + "It should be written as is, with a content length specified, and the encoding should be set to be as specified" : function(oa) { + var op= oa._createClient; + try { + var callbackCalled= false; + oa._createClient= function( port, hostname, method, path, headers, sshEnabled ) { + assert.equal(headers["Content-Type"], "unicorn/encoded"); + assert.equal(headers["Content-length"], 23); + return { + write: function(data){ + callbackCalled= true; + assert.equal(data, "foo=1%2C2%2C3&bar=1%2B2"); + }, + on: function() {}, + end: function() { + } + }; + } + var request= oa.post("http://foo.com/blah", "token", "token_secret", "foo=1%2C2%2C3&bar=1%2B2", "unicorn/encoded") + assert.equal(callbackCalled, true); + } + finally { + oa._createClient= op; + } + } + } + } + }, + 'GET' : { + 'if no callback is passed' : { + 'it should return a request object': function(oa) { + var request= oa.get("http://foo.com/blah", "token", "token_secret") + assert.isObject(request); + assert.equal(request.method, "GET"); + request.end(); + } + }, + 'if a callback is passed' : { + "it should call the internal request's end method and return nothing": function(oa) { + var callbackCalled= false; + var op= oa._createClient; + try { + oa._createClient= function( port, hostname, method, path, headers, sshEnabled ) { + return { + on: function() {}, + end: function() { + callbackCalled= true; + } + }; + } + var request= oa.get("http://foo.com/blah", "token", "token_secret", function(e,d) {}) + assert.equal(callbackCalled, true); + assert.isUndefined(request); + } + finally { + oa._createClient= op; + } + } + }, + }, + 'PUT' : { + 'if no callback is passed' : { + 'it should return a request object': function(oa) { + var request= oa.put("http://foo.com/blah", "token", "token_secret", "BLAH", "text/plain") + assert.isObject(request); + assert.equal(request.method, "PUT"); + request.end(); + } + }, + 'if a callback is passed' : { + "it should call the internal request's end method and return nothing": function(oa) { + var callbackCalled= 0; + var op= oa._createClient; + try { + oa._createClient= function( port, hostname, method, path, headers, sshEnabled ) { + return { + on: function() {}, + write: function(data) { + callbackCalled++; + }, + end: function() { + callbackCalled++; + } + }; + } + var request= oa.put("http://foo.com/blah", "token", "token_secret", "BLAH", "text/plain", function(e,d){}) + assert.equal(callbackCalled, 2); + assert.isUndefined(request); + } + finally { + oa._createClient= op; + } + } + }, + 'if the post_body is a buffer' : { + "It should be passed through as is, and the original content-type (if specified) should be passed through": function(oa) { + var op= oa._createClient; + try { + var callbackCalled= false; + oa._createClient= function( port, hostname, method, path, headers, sshEnabled ) { + assert.equal(headers["Content-Type"], "image/jpeg") + return { + write: function(data){ + callbackCalled= true; + assert.equal(data.length, 4); + }, + on: function() {}, + end: function() { + } + }; + } + var request= oa.put("http://foo.com/blah", "token", "token_secret", new Buffer([10,20,30,40]), "image/jpeg") + assert.equal(callbackCalled, true); + } + finally { + oa._createClient= op; + } + }, + "It should be passed through as is, and no content-type is specified.": function(oa) { + //Should probably actually set application/octet-stream, but to avoid a change in behaviour + // will just document (here) that the library will set it to application/x-www-form-urlencoded + var op= oa._createClient; + try { + var callbackCalled= false; + oa._createClient= function( port, hostname, method, path, headers, sshEnabled ) { + assert.equal(headers["Content-Type"], "application/x-www-form-urlencoded") + return { + write: function(data){ + callbackCalled= true; + assert.equal(data.length, 4); + }, + on: function() {}, + end: function() { + } + }; + } + var request= oa.put("http://foo.com/blah", "token", "token_secret", new Buffer([10,20,30,40])) + assert.equal(callbackCalled, true); + } + finally { + oa._createClient= op; + } + } + }, + 'if the post_body is not a string' : { + "It should be url encoded and the content type set to be x-www-form-urlencoded" : function(oa) { + var op= oa._createClient; + try { + var callbackCalled= false; + oa._createClient= function( port, hostname, method, path, headers, sshEnabled ) { + assert.equal(headers["Content-Type"], "application/x-www-form-urlencoded") + return { + write: function(data) { + callbackCalled= true; + assert.equal(data, "foo=1%2C2%2C3&bar=1%2B2"); + } + }; + } + var request= oa.put("http://foo.com/blah", "token", "token_secret", {"foo":"1,2,3", "bar":"1+2"}) + assert.equal(callbackCalled, true); + } + finally { + oa._createClient= op; + } + } + }, + 'if the post_body is a string' : { + "and no post_content_type is specified" : { + "It should be written as is, with a content length specified, and the encoding should be set to be x-www-form-urlencoded" : function(oa) { + var op= oa._createClient; + try { + var callbackCalled= false; + oa._createClient= function( port, hostname, method, path, headers, sshEnabled ) { + assert.equal(headers["Content-Type"], "application/x-www-form-urlencoded"); + assert.equal(headers["Content-length"], 23); + return { + write: function(data) { + callbackCalled= true; + assert.equal(data, "foo=1%2C2%2C3&bar=1%2B2"); + } + }; + } + var request= oa.put("http://foo.com/blah", "token", "token_secret", "foo=1%2C2%2C3&bar=1%2B2") + assert.equal(callbackCalled, true); + } + finally { + oa._createClient= op; + } + } + }, + "and a post_content_type is specified" : { + "It should be written as is, with a content length specified, and the encoding should be set to be as specified" : function(oa) { + var op= oa._createClient; + try { + var callbackCalled= false; + oa._createClient= function( port, hostname, method, path, headers, sshEnabled ) { + assert.equal(headers["Content-Type"], "unicorn/encoded"); + assert.equal(headers["Content-length"], 23); + return { + write: function(data) { + callbackCalled= true; + assert.equal(data, "foo=1%2C2%2C3&bar=1%2B2"); + } + }; + } + var request= oa.put("http://foo.com/blah", "token", "token_secret", "foo=1%2C2%2C3&bar=1%2B2", "unicorn/encoded") + assert.equal(callbackCalled, true); + } + finally { + oa._createClient= op; + } + } + } + } + }, + 'DELETE' : { + 'if no callback is passed' : { + 'it should return a request object': function(oa) { + var request= oa.delete("http://foo.com/blah", "token", "token_secret") + assert.isObject(request); + assert.equal(request.method, "DELETE"); + request.end(); + } + }, + 'if a callback is passed' : { + "it should call the internal request's end method and return nothing": function(oa) { + var callbackCalled= false; + var op= oa._createClient; + try { + oa._createClient= function( port, hostname, method, path, headers, sshEnabled ) { + return { + on: function() {}, + end: function() { + callbackCalled= true; + } + }; + } + var request= oa.delete("http://foo.com/blah", "token", "token_secret", function(e,d) {}) + assert.equal(callbackCalled, true); + assert.isUndefined(request); + } + finally { + oa._createClient= op; + } + } + } + }, + 'Request With a Callback' : { + 'and a 200 response code is received' : { + 'it should callback successfully' : function(oa) { + var op= oa._createClient; + var callbackCalled = false; + try { + oa._createClient= function( port, hostname, method, path, headers, sshEnabled ) { + return new DummyRequest( new DummyResponse(200) ); + } + oa._performSecureRequest("token", "token_secret", 'POST', 'http://originalurl.com', {"scope": "foobar,1,2"}, null, null, function(error) { + // callback + callbackCalled= true; + assert.equal(error, undefined); + }); + assert.equal(callbackCalled, true) + } + finally { + oa._createClient= op; + } + } + }, + 'and a 210 response code is received' : { + 'it should callback successfully' : function(oa) { + var op= oa._createClient; + var callbackCalled = false; + try { + oa._createClient= function( port, hostname, method, path, headers, sshEnabled ) { + return new DummyRequest( new DummyResponse(210) ); + } + oa._performSecureRequest("token", "token_secret", 'POST', 'http://originalurl.com', {"scope": "foobar,1,2"}, null, null, function(error) { + // callback + callbackCalled= true; + assert.equal(error, undefined); + }); + assert.equal(callbackCalled, true) + } + finally { + oa._createClient= op; + } + } + }, + 'And A 301 redirect is received' : { + 'and there is a location header' : { + 'it should (re)perform the secure request but with the new location' : function(oa) { + var op= oa._createClient; + var psr= oa._performSecureRequest; + var responseCounter = 1; + var callbackCalled = false; + var DummyResponse =function() { + if( responseCounter == 1 ){ + this.statusCode= 301; + this.headers= {location:"http://redirectto.com"}; + responseCounter++; + } + else { + this.statusCode= 200; + } + } + DummyResponse.prototype= events.EventEmitter.prototype; + DummyResponse.prototype.setEncoding= function() {} + + try { + oa._createClient= function( port, hostname, method, path, headers, sshEnabled ) { + return new DummyRequest( new DummyResponse() ); + } + oa._performSecureRequest= function( oauth_token, oauth_token_secret, method, url, extra_params, post_body, post_content_type, callback ) { + if( responseCounter == 1 ) { + assert.equal(url, "http://originalurl.com"); + } + else { + assert.equal(url, "http://redirectto.com"); + } + return psr.call(oa, oauth_token, oauth_token_secret, method, url, extra_params, post_body, post_content_type, callback ) + } + + oa._performSecureRequest("token", "token_secret", 'POST', 'http://originalurl.com', {"scope": "foobar,1,2"}, null, null, function() { + // callback + assert.equal(responseCounter, 2); + callbackCalled= true; + }); + assert.equal(callbackCalled, true) + } + finally { + oa._createClient= op; + oa._performSecureRequest= psr; + } + } + }, + 'but there is no location header' : { + 'it should execute the callback, passing the HTTP Response code' : function(oa) { + var op= oa._createClient; + var callbackCalled = false; + try { + oa._createClient= function( port, hostname, method, path, headers, sshEnabled ) { + return new DummyRequest( new DummyResponse(301) ); + } + oa._performSecureRequest("token", "token_secret", 'POST', 'http://originalurl.com', {"scope": "foobar,1,2"}, null, null, function(error) { + // callback + assert.equal(error.statusCode, 301); + callbackCalled= true; + }); + assert.equal(callbackCalled, true) + } + finally { + oa._createClient= op; + } + } + }, + 'and followRedirect is true' : { + 'it should (re)perform the secure request but with the new location' : function(oa) { + var op= oa._createClient; + var psr= oa._performSecureRequest; + var responseCounter = 1; + var callbackCalled = false; + var DummyResponse =function() { + if( responseCounter == 1 ){ + this.statusCode= 301; + this.headers= {location:"http://redirectto.com"}; + responseCounter++; + } + else { + this.statusCode= 200; + } + } + DummyResponse.prototype= events.EventEmitter.prototype; + DummyResponse.prototype.setEncoding= function() {} + + try { + oa._createClient= function( port, hostname, method, path, headers, sshEnabled ) { + return new DummyRequest( new DummyResponse() ); + } + oa._performSecureRequest= function( oauth_token, oauth_token_secret, method, url, extra_params, post_body, post_content_type, callback ) { + if( responseCounter == 1 ) { + assert.equal(url, "http://originalurl.com"); + } + else { + assert.equal(url, "http://redirectto.com"); + } + return psr.call(oa, oauth_token, oauth_token_secret, method, url, extra_params, post_body, post_content_type, callback ) + } + + oa._performSecureRequest("token", "token_secret", 'POST', 'http://originalurl.com', {"scope": "foobar,1,2"}, null, null, function() { + // callback + assert.equal(responseCounter, 2); + callbackCalled= true; + }); + assert.equal(callbackCalled, true) + } + finally { + oa._createClient= op; + oa._performSecureRequest= psr; + } + } + }, + 'and followRedirect is false' : { + 'it should not perform the secure request with the new location' : function(oa) { + var op= oa._createClient; + oa.setClientOptions({ followRedirects: false }); + var DummyResponse =function() { + this.statusCode= 301; + this.headers= {location:"http://redirectto.com"}; + } + DummyResponse.prototype= events.EventEmitter.prototype; + DummyResponse.prototype.setEncoding= function() {} + + try { + oa._createClient= function( port, hostname, method, path, headers, sshEnabled ) { + return new DummyRequest( new DummyResponse() ); + } + oa._performSecureRequest("token", "token_secret", 'POST', 'http://originalurl.com', {"scope": "foobar,1,2"}, null, null, function(res, data, response) { + // callback + assert.equal(res.statusCode, 301); + }); + } + finally { + oa._createClient= op; + oa.setClientOptions({followRedirects:true}); + } + } + } + }, + 'And A 302 redirect is received' : { + 'and there is a location header' : { + 'it should (re)perform the secure request but with the new location' : function(oa) { + var op= oa._createClient; + var psr= oa._performSecureRequest; + var responseCounter = 1; + var callbackCalled = false; + var DummyResponse =function() { + if( responseCounter == 1 ){ + this.statusCode= 302; + this.headers= {location:"http://redirectto.com"}; + responseCounter++; + } + else { + this.statusCode= 200; + } + } + DummyResponse.prototype= events.EventEmitter.prototype; + DummyResponse.prototype.setEncoding= function() {} + + try { + oa._createClient= function( port, hostname, method, path, headers, sshEnabled ) { + return new DummyRequest( new DummyResponse() ); + } + oa._performSecureRequest= function( oauth_token, oauth_token_secret, method, url, extra_params, post_body, post_content_type, callback ) { + if( responseCounter == 1 ) { + assert.equal(url, "http://originalurl.com"); + } + else { + assert.equal(url, "http://redirectto.com"); + } + return psr.call(oa, oauth_token, oauth_token_secret, method, url, extra_params, post_body, post_content_type, callback ) + } + + oa._performSecureRequest("token", "token_secret", 'POST', 'http://originalurl.com', {"scope": "foobar,1,2"}, null, null, function() { + // callback + assert.equal(responseCounter, 2); + callbackCalled= true; + }); + assert.equal(callbackCalled, true) + } + finally { + oa._createClient= op; + oa._performSecureRequest= psr; + } + } + }, + 'but there is no location header' : { + 'it should execute the callback, passing the HTTP Response code' : function(oa) { + var op= oa._createClient; + var callbackCalled = false; + try { + oa._createClient= function( port, hostname, method, path, headers, sshEnabled ) { + return new DummyRequest( new DummyResponse(302) ); + } + oa._performSecureRequest("token", "token_secret", 'POST', 'http://originalurl.com', {"scope": "foobar,1,2"}, null, null, function(error) { + // callback + assert.equal(error.statusCode, 302); + callbackCalled= true; + }); + assert.equal(callbackCalled, true) + } + finally { + oa._createClient= op; + } + } + }, + 'and followRedirect is true' : { + 'it should (re)perform the secure request but with the new location' : function(oa) { + var op= oa._createClient; + var psr= oa._performSecureRequest; + var responseCounter = 1; + var callbackCalled = false; + var DummyResponse =function() { + if( responseCounter == 1 ){ + this.statusCode= 302; + this.headers= {location:"http://redirectto.com"}; + responseCounter++; + } + else { + this.statusCode= 200; + } + } + DummyResponse.prototype= events.EventEmitter.prototype; + DummyResponse.prototype.setEncoding= function() {} + + try { + oa._createClient= function( port, hostname, method, path, headers, sshEnabled ) { + return new DummyRequest( new DummyResponse() ); + } + oa._performSecureRequest= function( oauth_token, oauth_token_secret, method, url, extra_params, post_body, post_content_type, callback ) { + if( responseCounter == 1 ) { + assert.equal(url, "http://originalurl.com"); + } + else { + assert.equal(url, "http://redirectto.com"); + } + return psr.call(oa, oauth_token, oauth_token_secret, method, url, extra_params, post_body, post_content_type, callback ) + } + + oa._performSecureRequest("token", "token_secret", 'POST', 'http://originalurl.com', {"scope": "foobar,1,2"}, null, null, function() { + // callback + assert.equal(responseCounter, 2); + callbackCalled= true; + }); + assert.equal(callbackCalled, true) + } + finally { + oa._createClient= op; + oa._performSecureRequest= psr; + } + } + }, + 'and followRedirect is false' : { + 'it should not perform the secure request with the new location' : function(oa) { + var op= oa._createClient; + oa.setClientOptions({ followRedirects: false }); + var DummyResponse =function() { + this.statusCode= 302; + this.headers= {location:"http://redirectto.com"}; + } + DummyResponse.prototype= events.EventEmitter.prototype; + DummyResponse.prototype.setEncoding= function() {} + + try { + oa._createClient= function( port, hostname, method, path, headers, sshEnabled ) { + return new DummyRequest( new DummyResponse() ); + } + oa._performSecureRequest("token", "token_secret", 'POST', 'http://originalurl.com', {"scope": "foobar,1,2"}, null, null, function(res, data, response) { + // callback + assert.equal(res.statusCode, 302); + }); + } + finally { + oa._createClient= op; + oa.setClientOptions({followRedirects:true}); + } + } + } + } + } + } +}).export(module); diff --git a/express-server/node_modules/oauth/tests/sha1tests.js b/express-server/node_modules/oauth/tests/sha1tests.js new file mode 100644 index 00000000..18ba0ae3 --- /dev/null +++ b/express-server/node_modules/oauth/tests/sha1tests.js @@ -0,0 +1,13 @@ +var vows = require('vows'), + assert = require('assert'); + +vows.describe('SHA1 Hashing').addBatch({ + 'When using the SHA1 Hashing function': { + topic: require('../lib/sha1'), + 'we get the specified digest as described in http://oauth.net/core/1.0/#sig_base_example (A.5.2)': function (sha1) { + assert.equal (sha1.HMACSHA1( "kd94hf93k423kf44&pfkkdhi9sl3r4s00", + "GET&http%3A%2F%2Fphotos.example.net%2Fphotos&file%3Dvacation.jpg%26oauth_consumer_key%3Ddpf43f3p2l4k3l03%26oauth_nonce%3Dkllo9940pd9333jh%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1191242096%26oauth_token%3Dnnch734d00sl2jdk%26oauth_version%3D1.0%26size%3Doriginal"), + "tR3+Ty81lMeYAr/Fid0kMTYa/WM="); + } + } +}).export(module); \ No newline at end of file diff --git a/express-server/node_modules/oauth/tests/shared.js b/express-server/node_modules/oauth/tests/shared.js new file mode 100644 index 00000000..f4c80946 --- /dev/null +++ b/express-server/node_modules/oauth/tests/shared.js @@ -0,0 +1,26 @@ +var events = require('events'); + +exports.DummyResponse = function( statusCode ) { + this.statusCode= statusCode; + this.headers= {}; +} +exports.DummyResponse.prototype= events.EventEmitter.prototype; +exports.DummyResponse.prototype.setEncoding= function() {} + +exports.DummyRequest =function( response ) { + this.response= response; + this.responseSent= false; +} +exports.DummyRequest.prototype= events.EventEmitter.prototype; +exports.DummyRequest.prototype.write= function(post_body){} +exports.DummyRequest.prototype.write= function(post_body){ + this.responseSent= true; + this.emit('response',this.response); +} +exports.DummyRequest.prototype.end= function(){ + if(!this.responseSent) { + this.responseSent= true; + this.emit('response',this.response); + } + this.response.emit('end'); +} \ No newline at end of file diff --git a/express-server/node_modules/passport-google-oauth/.npmignore b/express-server/node_modules/passport-google-oauth/.npmignore new file mode 100644 index 00000000..a50451d7 --- /dev/null +++ b/express-server/node_modules/passport-google-oauth/.npmignore @@ -0,0 +1,8 @@ +Makefile +docs/ +examples/ +reports/ +test/ + +.jshintrc +.travis.yml diff --git a/express-server/node_modules/passport-google-oauth/LICENSE b/express-server/node_modules/passport-google-oauth/LICENSE new file mode 100644 index 00000000..3d9c2c5d --- /dev/null +++ b/express-server/node_modules/passport-google-oauth/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2012-2016 Jared Hanson + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/express-server/node_modules/passport-google-oauth/README.md b/express-server/node_modules/passport-google-oauth/README.md new file mode 100644 index 00000000..4f8281b0 --- /dev/null +++ b/express-server/node_modules/passport-google-oauth/README.md @@ -0,0 +1,61 @@ +# passport-google-oauth + +[![Build](https://img.shields.io/travis/jaredhanson/passport-google-oauth.svg)](https://travis-ci.org/jaredhanson/passport-google-oauth) +[![Coverage](https://img.shields.io/coveralls/jaredhanson/passport-google-oauth.svg)](https://coveralls.io/r/jaredhanson/passport-google-oauth) +[![Quality](https://img.shields.io/codeclimate/github/jaredhanson/passport-google-oauth.svg?label=quality)](https://codeclimate.com/github/jaredhanson/passport-google-oauth) +[![Dependencies](https://img.shields.io/david/jaredhanson/passport-google-oauth.svg)](https://david-dm.org/jaredhanson/passport-google-oauth) + + +[Passport](http://passportjs.org/) strategies for authenticating with [Google](http://www.google.com/) +using OAuth 1.0a and OAuth 2.0. + +This is a meta-module that combines [passport-google-oauth1](https://github.com/jaredhanson/passport-google-oauth1) +and [passport-google-oauth20](https://github.com/jaredhanson/passport-google-oauth2). +It exists for backwards-compatibility with applications making use of the +combined package. As of version 1.0.0, it is encouraged to declare dependencies +on the module that implements the specific version of OAuth needed. + +## Install + + $ npm install passport-google-oauth + +## Contributing + +#### Tests + +The test suite is located in the `test/` directory. All new features are +expected to have corresponding test cases. Ensure that the complete test suite +passes by executing: + +```bash +$ make test +``` + +#### Coverage + +The test suite covers 100% of the code base. All new feature development is +expected to maintain that level. Coverage reports can be viewed by executing: + +```bash +$ make test-cov +$ make view-cov +``` + +## Support + +#### Funding + +This software is provided to you as open source, free of charge. The time and +effort to develop and maintain this project is dedicated by [@jaredhanson](https://github.com/jaredhanson). +If you (or your employer) benefit from this project, please consider a financial +contribution. Your contribution helps continue the efforts that produce this +and other open source software. + +Funds are accepted via [PayPal](https://paypal.me/jaredhanson), [Venmo](https://venmo.com/jaredhanson), +and [other](http://jaredhanson.net/pay) methods. Any amount is appreciated. + +## License + +[The MIT License](http://opensource.org/licenses/MIT) + +Copyright (c) 2012-2016 Jared Hanson <[http://jaredhanson.net/](http://jaredhanson.net/)> diff --git a/express-server/node_modules/passport-google-oauth/lib/index.js b/express-server/node_modules/passport-google-oauth/lib/index.js new file mode 100644 index 00000000..878b383c --- /dev/null +++ b/express-server/node_modules/passport-google-oauth/lib/index.js @@ -0,0 +1,8 @@ +// Load modules. +var OAuthStrategy = require('passport-google-oauth1'); +var OAuth2Strategy = require('passport-google-oauth20') + +// Exports. +exports.Strategy = +exports.OAuthStrategy = OAuthStrategy; +exports.OAuth2Strategy = OAuth2Strategy; diff --git a/express-server/node_modules/passport-google-oauth/package.json b/express-server/node_modules/passport-google-oauth/package.json new file mode 100644 index 00000000..850136c1 --- /dev/null +++ b/express-server/node_modules/passport-google-oauth/package.json @@ -0,0 +1,75 @@ +{ + "_from": "passport-google-oauth", + "_id": "passport-google-oauth@1.0.0", + "_inBundle": false, + "_integrity": "sha1-ZfUGMxkq0GJ6GLCJYAdxCdhOt20=", + "_location": "/passport-google-oauth", + "_phantomChildren": {}, + "_requested": { + "type": "tag", + "registry": true, + "raw": "passport-google-oauth", + "name": "passport-google-oauth", + "escapedName": "passport-google-oauth", + "rawSpec": "", + "saveSpec": null, + "fetchSpec": "latest" + }, + "_requiredBy": [ + "#USER", + "/" + ], + "_resolved": "https://registry.npmjs.org/passport-google-oauth/-/passport-google-oauth-1.0.0.tgz", + "_shasum": "65f50633192ad0627a18b08960077109d84eb76d", + "_spec": "passport-google-oauth", + "_where": "C:\\Users\\Georg\\GitHub\\SmartShopper\\express-server", + "author": { + "name": "Jared Hanson", + "email": "jaredhanson@gmail.com", + "url": "http://www.jaredhanson.net/" + }, + "bugs": { + "url": "http://github.com/jaredhanson/passport-google-oauth/issues" + }, + "bundleDependencies": false, + "dependencies": { + "passport-google-oauth1": "1.x.x", + "passport-google-oauth20": "1.x.x" + }, + "deprecated": false, + "description": "Google (OAuth) authentication strategies for Passport.", + "devDependencies": { + "chai": "2.x.x", + "make-node": "0.3.x", + "mocha": "1.x.x" + }, + "engines": { + "node": ">= 0.4.0" + }, + "homepage": "https://github.com/jaredhanson/passport-google-oauth#readme", + "keywords": [ + "passport", + "google", + "auth", + "authn", + "authentication", + "identity" + ], + "license": "MIT", + "licenses": [ + { + "type": "MIT", + "url": "http://opensource.org/licenses/MIT" + } + ], + "main": "./lib", + "name": "passport-google-oauth", + "repository": { + "type": "git", + "url": "git://github.com/jaredhanson/passport-google-oauth.git" + }, + "scripts": { + "test": "mocha --require test/bootstrap/node test/*.test.js" + }, + "version": "1.0.0" +} diff --git a/express-server/node_modules/passport-google-oauth1/.npmignore b/express-server/node_modules/passport-google-oauth1/.npmignore new file mode 100644 index 00000000..a50451d7 --- /dev/null +++ b/express-server/node_modules/passport-google-oauth1/.npmignore @@ -0,0 +1,8 @@ +Makefile +docs/ +examples/ +reports/ +test/ + +.jshintrc +.travis.yml diff --git a/express-server/node_modules/passport-google-oauth1/LICENSE b/express-server/node_modules/passport-google-oauth1/LICENSE new file mode 100644 index 00000000..3d9c2c5d --- /dev/null +++ b/express-server/node_modules/passport-google-oauth1/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2012-2016 Jared Hanson + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/express-server/node_modules/passport-google-oauth1/README.md b/express-server/node_modules/passport-google-oauth1/README.md new file mode 100644 index 00000000..593a7c9c --- /dev/null +++ b/express-server/node_modules/passport-google-oauth1/README.md @@ -0,0 +1,126 @@ +**DEPRECATED:** On April 20, 2015, Google's support for OAuth 1.0 was officially +deprecated and is no longer supported. You are encouraged to migrate to OAuth +2.0 and [passport-google-oauth20](https://github.com/jaredhanson/passport-google-oauth2) +as soon as possible. + + +# passport-google-oauth1 + +[![Build](https://img.shields.io/travis/jaredhanson/passport-google-oauth1.svg)](https://travis-ci.org/jaredhanson/passport-google-oauth1) +[![Coverage](https://img.shields.io/coveralls/jaredhanson/passport-google-oauth1.svg)](https://coveralls.io/r/jaredhanson/passport-google-oauth1) +[![Quality](https://img.shields.io/codeclimate/github/jaredhanson/passport-google-oauth1.svg?label=quality)](https://codeclimate.com/github/jaredhanson/passport-google-oauth1) +[![Dependencies](https://img.shields.io/david/jaredhanson/passport-google-oauth1.svg)](https://david-dm.org/jaredhanson/passport-google-oauth1) + + +[Passport](http://passportjs.org/) strategy for authenticating with [Google](http://www.google.com/) +using the OAuth 1.0a API. + +This module lets you authenticate using Google in your Node.js applications. +By plugging into Passport, Google authentication can be easily and +unobtrusively integrated into any application or framework that supports +[Connect](http://www.senchalabs.org/connect/)-style middleware, including +[Express](http://expressjs.com/). + +## Install + + $ npm install passport-google-oauth1 + +## Usage + +#### Create an Application + +Before using `passport-google-oauth1`, you must register your domain with Google. +If you have not already done so, a new domain can be added at [Google Accounts](https://accounts.google.com/ManageDomains). +Your domain will be issued an OAuth Consumer Key and OAuth Consumer Secret, +which need to be provided to the strategy. + +#### Configure Strategy + +The Google authentication strategy authenticates users using a Google account +and OAuth tokens. The consumer key and consumer secret obtained when +registering a domain are supplied as options when creating the strategy. The +strategy also requires a `verify` callback, which receives the access token and +corresponding secret as arguments, as well as `profile` which contains the +authenticated user's Google profile. The `verify` callback must call `cb` +providing a user to complete authentication. + + passport.use(new GoogleStrategy({ + consumerKey: 'www.example.com', + consumerSecret: GOOGLE_CONSUMER_SECRET, + callbackURL: "http://127.0.0.1:3000/auth/google/callback" + }, + function(token, tokenSecret, profile, cb) { + User.findOrCreate({ googleId: profile.id }, function (err, user) { + return cb(err, user); + }); + } + )); + +#### Authenticate Requests + +Use `passport.authenticate()`, specifying the `'google'` strategy, to +authenticate requests. + +For example, as route middleware in an [Express](http://expressjs.com/) +application: + + app.get('/auth/google', + passport.authenticate('google', { scope: 'https://www.google.com/m8/feeds' })); + + app.get('/auth/google/callback', + passport.authenticate('google', { failureRedirect: '/login' }), + function(req, res) { + // Successful authentication, redirect home. + res.redirect('/'); + }); + +## Examples + +Developers using the popular [Express](http://expressjs.com/) web framework can +refer to an [example](https://github.com/passport/express-4.x-twitter-example) +as a starting point for their own web applications. The example shows how to +authenticate users using Twitter. However, because both Twitter and Google +use OAuth 1.0, the code is similar. Simply replace references to Twitter with +corresponding references to Google. + +## Contributing + +#### Tests + +The test suite is located in the `test/` directory. All new features are +expected to have corresponding test cases. Ensure that the complete test suite +passes by executing: + +```bash +$ make test +``` + +#### Coverage + +All new feature development is expected to have test coverage. Patches that +increse test coverage are happily accepted. Coverage reports can be viewed by +executing: + +```bash +$ make test-cov +$ make view-cov +``` + +## Support + +#### Funding + +This software is provided to you as open source, free of charge. The time and +effort to develop and maintain this project is dedicated by [@jaredhanson](https://github.com/jaredhanson). +If you (or your employer) benefit from this project, please consider a financial +contribution. Your contribution helps continue the efforts that produce this +and other open source software. + +Funds are accepted via [PayPal](https://paypal.me/jaredhanson), [Venmo](https://venmo.com/jaredhanson), +and [other](http://jaredhanson.net/pay) methods. Any amount is appreciated. + +## License + +[The MIT License](http://opensource.org/licenses/MIT) + +Copyright (c) 2012-2016 Jared Hanson <[http://jaredhanson.net/](http://jaredhanson.net/)> diff --git a/express-server/node_modules/passport-google-oauth1/lib/index.js b/express-server/node_modules/passport-google-oauth1/lib/index.js new file mode 100644 index 00000000..af2282d5 --- /dev/null +++ b/express-server/node_modules/passport-google-oauth1/lib/index.js @@ -0,0 +1,9 @@ +// Load modules. +var Strategy = require('./strategy'); + + +// Expose Strategy. +exports = module.exports = Strategy; + +// Exports. +exports.Strategy = Strategy; diff --git a/express-server/node_modules/passport-google-oauth1/lib/profile.js b/express-server/node_modules/passport-google-oauth1/lib/profile.js new file mode 100644 index 00000000..9b04280f --- /dev/null +++ b/express-server/node_modules/passport-google-oauth1/lib/profile.js @@ -0,0 +1,28 @@ +/** + * Parse profile. + * + * Parses user profile as fetched from Google Contacts API. + * + * Note that the following scope must have been requested and granted in order + * to access the Google Contacts API: + * { scope: 'https://www.google.com/m8/feeds' } + * + * References: + * - https://developers.google.com/google-apps/contacts/v3/ + * + * @param {object|string} json + * @return {object} + * @access public + */ +exports.parse = function(json) { + if ('string' == typeof json) { + json = JSON.parse(json); + } + + var profile = {}; + profile.id = json.feed.id['$t'] + profile.displayName = json.feed.author[0].name['$t']; + profile.emails = [{ value: json.feed.author[0].email['$t'] }]; + + return profile; +}; diff --git a/express-server/node_modules/passport-google-oauth1/lib/strategy.js b/express-server/node_modules/passport-google-oauth1/lib/strategy.js new file mode 100644 index 00000000..df723d93 --- /dev/null +++ b/express-server/node_modules/passport-google-oauth1/lib/strategy.js @@ -0,0 +1,112 @@ +// Load modules. +var OAuthStrategy = require('passport-oauth1') + , util = require('util') + , Profile = require('./profile') + , InternalOAuthError = require('passport-oauth1').InternalOAuthError; + + +/** + * `Strategy` constructor. + * + * The Google authentication strategy authenticates requests by delegating to + * Google using the OAuth protocol. + * + * Applications must supply a `verify` callback which accepts a `token`, + * `tokenSecret` and service-specific `profile`, and then calls the `cb` + * callback supplying a `user`, which should be set to `false` if the + * credentials are not valid. If an exception occured, `err` should be set. + * + * Options: + * - `consumerKey` identifies client to Google + * - `consumerSecret` secret used to establish ownership of the consumer key + * - `callbackURL` URL to which Google will redirect the user after obtaining authorization + * + * Examples: + * + * passport.use(new GoogleStrategy({ + * consumerKey: '123-456-789', + * consumerSecret: 'shhh-its-a-secret' + * callbackURL: 'https://www.example.net/auth/google/callback' + * }, + * function(token, tokenSecret, profile, cb) { + * User.findOrCreate(..., function (err, user) { + * cb(err, user); + * }); + * } + * )); + * + * @constructor + * @param {Object} options + * @param {Function} verify + * @access public + */ +function Strategy(options, verify) { + options = options || {}; + options.requestTokenURL = options.requestTokenURL || 'https://www.google.com/accounts/OAuthGetRequestToken'; + options.accessTokenURL = options.accessTokenURL || 'https://www.google.com/accounts/OAuthGetAccessToken'; + options.userAuthorizationURL = options.userAuthorizationURL || 'https://www.google.com/accounts/OAuthAuthorizeToken'; + options.sessionKey = options.sessionKey || 'oauth:google'; + + OAuthStrategy.call(this, options, verify); + this.name = 'google'; +} + +// Inherit from `OAuthStrategy`. +util.inherits(Strategy, OAuthStrategy); + +/** + * Retrieve user profile from Google. + * + * This function constructs a normalized profile, with the following properties: + * + * - `id` + * - `displayName` + * + * @param {String} token + * @param {String} tokenSecret + * @param {Object} params + * @param {Function} done + * @access protected + */ +Strategy.prototype.userProfile = function(token, tokenSecret, params, done) { + this._oauth.get('https://www.google.com/m8/feeds/contacts/default/full?max-results=1&alt=json', token, tokenSecret, function (err, body, res) { + if (err) { return done(new InternalOAuthError('Failed to fetch user profile', err)); } + + var json; + try { + json = JSON.parse(body); + } catch (ex) { + return done(new Error('Failed to parse user profile')); + } + + var profile = Profile.parse(json); + profile.provider = 'google'; + profile._raw = body; + profile._json = json; + + done(null, profile); + }); +} + +/** + * Return extra Google-specific parameters to be included in the request token + * request. + * + * @param {Object} options + * @return {Object} + * @access protected + */ +Strategy.prototype.requestTokenParams = function(options) { + var params = options || {}; + + var scope = options.scope; + if (scope) { + if (Array.isArray(scope)) { scope = scope.join(' '); } + params['scope'] = scope; + } + return params; +} + + +// Expose constructor. +module.exports = Strategy; diff --git a/express-server/node_modules/passport-google-oauth1/package.json b/express-server/node_modules/passport-google-oauth1/package.json new file mode 100644 index 00000000..94cfbde8 --- /dev/null +++ b/express-server/node_modules/passport-google-oauth1/package.json @@ -0,0 +1,71 @@ +{ + "_from": "passport-google-oauth1@1.x.x", + "_id": "passport-google-oauth1@1.0.0", + "_inBundle": false, + "_integrity": "sha1-r3SoA99R7GRvZqRNgigr5vEI4Mw=", + "_location": "/passport-google-oauth1", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "passport-google-oauth1@1.x.x", + "name": "passport-google-oauth1", + "escapedName": "passport-google-oauth1", + "rawSpec": "1.x.x", + "saveSpec": null, + "fetchSpec": "1.x.x" + }, + "_requiredBy": [ + "/passport-google-oauth" + ], + "_resolved": "https://registry.npmjs.org/passport-google-oauth1/-/passport-google-oauth1-1.0.0.tgz", + "_shasum": "af74a803df51ec646f66a44d82282be6f108e0cc", + "_spec": "passport-google-oauth1@1.x.x", + "_where": "C:\\Users\\Georg\\GitHub\\SmartShopper\\express-server\\node_modules\\passport-google-oauth", + "author": { + "name": "Jared Hanson", + "email": "jaredhanson@gmail.com", + "url": "http://www.jaredhanson.net/" + }, + "bugs": { + "url": "http://github.com/jaredhanson/passport-google-oauth1/issues" + }, + "bundleDependencies": false, + "dependencies": { + "passport-oauth1": "1.x.x" + }, + "deprecated": false, + "description": "Google (OAuth 1.0) authentication strategy for Passport.", + "devDependencies": { + "chai": "2.x.x", + "chai-passport-strategy": "1.x.x", + "make-node": "0.3.x", + "mocha": "1.x.x" + }, + "homepage": "https://github.com/jaredhanson/passport-google-oauth1#readme", + "keywords": [ + "passport", + "google", + "auth", + "authn", + "authentication", + "identity" + ], + "license": "MIT", + "licenses": [ + { + "type": "MIT", + "url": "http://opensource.org/licenses/MIT" + } + ], + "main": "./lib", + "name": "passport-google-oauth1", + "repository": { + "type": "git", + "url": "git://github.com/jaredhanson/passport-google-oauth1.git" + }, + "scripts": { + "test": "mocha --require test/bootstrap/node test/*.test.js" + }, + "version": "1.0.0" +} diff --git a/express-server/node_modules/passport-google-oauth20/.npmignore b/express-server/node_modules/passport-google-oauth20/.npmignore new file mode 100644 index 00000000..a50451d7 --- /dev/null +++ b/express-server/node_modules/passport-google-oauth20/.npmignore @@ -0,0 +1,8 @@ +Makefile +docs/ +examples/ +reports/ +test/ + +.jshintrc +.travis.yml diff --git a/express-server/node_modules/passport-google-oauth20/LICENSE b/express-server/node_modules/passport-google-oauth20/LICENSE new file mode 100644 index 00000000..3d9c2c5d --- /dev/null +++ b/express-server/node_modules/passport-google-oauth20/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2012-2016 Jared Hanson + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/express-server/node_modules/passport-google-oauth20/README.md b/express-server/node_modules/passport-google-oauth20/README.md new file mode 100644 index 00000000..b61feb13 --- /dev/null +++ b/express-server/node_modules/passport-google-oauth20/README.md @@ -0,0 +1,123 @@ +# passport-google-oauth20 + +[![Build](https://img.shields.io/travis/jaredhanson/passport-google-oauth2.svg)](https://travis-ci.org/jaredhanson/passport-google-oauth2) +[![Coverage](https://img.shields.io/coveralls/jaredhanson/passport-google-oauth2.svg)](https://coveralls.io/r/jaredhanson/passport-google-oauth2) +[![Quality](https://img.shields.io/codeclimate/github/jaredhanson/passport-google-oauth2.svg?label=quality)](https://codeclimate.com/github/jaredhanson/passport-google-oauth2) +[![Dependencies](https://img.shields.io/david/jaredhanson/passport-google-oauth2.svg)](https://david-dm.org/jaredhanson/passport-google-oauth2) + + +[Passport](http://passportjs.org/) strategy for authenticating with [Google](http://www.google.com/) +using the OAuth 2.0 API. + +This module lets you authenticate using Google in your Node.js applications. +By plugging into Passport, Google authentication can be easily and +unobtrusively integrated into any application or framework that supports +[Connect](http://www.senchalabs.org/connect/)-style middleware, including +[Express](http://expressjs.com/). + +## Install + + $ npm install passport-google-oauth20 + +## Usage + +#### Create an Application + +Before using `passport-google-oauth20`, you must register an application with +Google. If you have not already done so, a new project can be created in the +[Google Developers Console](https://console.developers.google.com/). +Your application will be issued a client ID and client secret, which need to be +provided to the strategy. You will also need to configure a redirect URI which +matches the route in your application. + +#### Configure Strategy + +The Google authentication strategy authenticates users using a Google account +and OAuth 2.0 tokens. The client ID and secret obtained when creating an +application are supplied as options when creating the strategy. The strategy +also requires a `verify` callback, which receives the access token and optional +refresh token, as well as `profile` which contains the authenticated user's +Google profile. The `verify` callback must call `cb` providing a user to +complete authentication. + + var GoogleStrategy = require('passport-google-oauth20').Strategy; + + passport.use(new GoogleStrategy({ + clientID: GOOGLE_CLIENT_ID, + clientSecret: GOOGLE_CLIENT_SECRET, + callbackURL: "http://www.example.com/auth/google/callback" + }, + function(accessToken, refreshToken, profile, cb) { + User.findOrCreate({ googleId: profile.id }, function (err, user) { + return cb(err, user); + }); + } + )); + +#### Authenticate Requests + +Use `passport.authenticate()`, specifying the `'google'` strategy, to +authenticate requests. + +For example, as route middleware in an [Express](http://expressjs.com/) +application: + + app.get('/auth/google', + passport.authenticate('google', { scope: ['profile'] })); + + app.get('/auth/google/callback', + passport.authenticate('google', { failureRedirect: '/login' }), + function(req, res) { + // Successful authentication, redirect home. + res.redirect('/'); + }); + +## Examples + +Developers using the popular [Express](http://expressjs.com/) web framework can +refer to an [example](https://github.com/passport/express-4.x-facebook-example) +as a starting point for their own web applications. The example shows how to +authenticate users using Facebook. However, because both Facebook and Google +use OAuth 2.0, the code is similar. Simply replace references to Facebook with +corresponding references to Google. + +## Contributing + +#### Tests + +The test suite is located in the `test/` directory. All new features are +expected to have corresponding test cases. Ensure that the complete test suite +passes by executing: + +```bash +$ make test +``` + +#### Coverage + +The test suite covers 100% of the code base. All new feature development is +expected to maintain that level. Coverage reports can be viewed by executing: + +```bash +$ make test-cov +$ make view-cov +``` + +## Support + +#### Funding + +This software is provided to you as open source, free of charge. The time and +effort to develop and maintain this project is dedicated by [@jaredhanson](https://github.com/jaredhanson). +If you (or your employer) benefit from this project, please consider a financial +contribution. Your contribution helps continue the efforts that produce this +and other open source software. + +Funds are accepted via [PayPal](https://paypal.me/jaredhanson), [Venmo](https://venmo.com/jaredhanson), +and [other](http://jaredhanson.net/pay) methods. Any amount is appreciated. + +## License + +[The MIT License](http://opensource.org/licenses/MIT) + +Copyright (c) 2012-2016 Jared Hanson <[http://jaredhanson.net/](http://jaredhanson.net/)> diff --git a/express-server/node_modules/passport-google-oauth20/lib/errors/googleplusapierror.js b/express-server/node_modules/passport-google-oauth20/lib/errors/googleplusapierror.js new file mode 100644 index 00000000..57a9bd29 --- /dev/null +++ b/express-server/node_modules/passport-google-oauth20/lib/errors/googleplusapierror.js @@ -0,0 +1,25 @@ +/** + * `GooglePlusAPIError` error. + * + * References: + * - https://developers.google.com/+/web/api/rest/ + * + * @constructor + * @param {string} [message] + * @param {number} [code] + * @access public + */ +function GooglePlusAPIError(message, code) { + Error.call(this); + Error.captureStackTrace(this, arguments.callee); + this.name = 'GooglePlusAPIError'; + this.message = message; + this.code = code; +} + +// Inherit from `Error`. +GooglePlusAPIError.prototype.__proto__ = Error.prototype; + + +// Expose constructor. +module.exports = GooglePlusAPIError; diff --git a/express-server/node_modules/passport-google-oauth20/lib/errors/userinfoerror.js b/express-server/node_modules/passport-google-oauth20/lib/errors/userinfoerror.js new file mode 100644 index 00000000..0b2c4879 --- /dev/null +++ b/express-server/node_modules/passport-google-oauth20/lib/errors/userinfoerror.js @@ -0,0 +1,22 @@ +/** + * `UserInfoError` error. + * + * @constructor + * @param {string} [message] + * @param {string} [code] + * @access public + */ +function UserInfoError(message, code) { + Error.call(this); + Error.captureStackTrace(this, arguments.callee); + this.name = 'UserInfoError'; + this.message = message; + this.code = code; +} + +// Inherit from `Error`. +UserInfoError.prototype.__proto__ = Error.prototype; + + +// Expose constructor. +module.exports = UserInfoError; diff --git a/express-server/node_modules/passport-google-oauth20/lib/index.js b/express-server/node_modules/passport-google-oauth20/lib/index.js new file mode 100644 index 00000000..af2282d5 --- /dev/null +++ b/express-server/node_modules/passport-google-oauth20/lib/index.js @@ -0,0 +1,9 @@ +// Load modules. +var Strategy = require('./strategy'); + + +// Expose Strategy. +exports = module.exports = Strategy; + +// Exports. +exports.Strategy = Strategy; diff --git a/express-server/node_modules/passport-google-oauth20/lib/profile/googleplus.js b/express-server/node_modules/passport-google-oauth20/lib/profile/googleplus.js new file mode 100644 index 00000000..0607ba13 --- /dev/null +++ b/express-server/node_modules/passport-google-oauth20/lib/profile/googleplus.js @@ -0,0 +1,47 @@ +/** + * Parse profile. + * + * Parses user profiles as fetched from Google's Google+ API. + * + * The amount of detail in the profile varies based on the scopes granted by the + * user. The following scope values add additional data: + * + * `https://www.googleapis.com/auth/plus.login` - recommended login scope + * `profile` - basic profile information + * `email` - email address + * + * References: + * - https://developers.google.com/+/web/api/rest/latest/people/get + * - https://developers.google.com/+/web/api/rest/ + * - https://developers.google.com/+/web/api/rest/oauth + * + * @param {object|string} json + * @return {object} + * @access public + */ +exports.parse = function(json) { + if ('string' == typeof json) { + json = JSON.parse(json); + } + + var profile = {} + , i, len; + profile.id = json.id; + profile.displayName = json.displayName; + if (json.name) { + profile.name = { familyName: json.name.familyName, + givenName: json.name.givenName }; + } + if (json.emails) { + profile.emails = []; + for (i = 0, len = json.emails.length; i < len; ++i) { + profile.emails.push({ value: json.emails[i].value, type: json.emails[i].type }) + } + } + if (json.image) { + profile.photos = [{ value: json.image.url }]; + } + profile.gender = json.gender; + + return profile; +}; diff --git a/express-server/node_modules/passport-google-oauth20/lib/profile/openid.js b/express-server/node_modules/passport-google-oauth20/lib/profile/openid.js new file mode 100644 index 00000000..2056feb5 --- /dev/null +++ b/express-server/node_modules/passport-google-oauth20/lib/profile/openid.js @@ -0,0 +1,40 @@ +/** + * Parse profile. + * + * Parses user profiles as fetched from Google's OpenID Connect-compatible user + * info endpoint. + * + * The amount of detail in the profile varies based on the scopes granted by the + * user. The following scope values add additional data: + * + * `profile` - basic profile information + * `email` - email address + * + * References: + * - https://developers.google.com/identity/protocols/OpenIDConnect + * + * @param {object|string} json + * @return {object} + * @access public + */ +exports.parse = function(json) { + if ('string' == typeof json) { + json = JSON.parse(json); + } + + var profile = {}; + profile.id = json.sub; + profile.displayName = json.name; + if (json.family_name || json.given_name) { + profile.name = { familyName: json.family_name, + givenName: json.given_name }; + } + if (json.email) { + profile.emails = [ { value: json.email, verified: json.email_verified } ]; + } + if (json.picture) { + profile.photos = [{ value: json.picture }]; + } + + return profile; +}; diff --git a/express-server/node_modules/passport-google-oauth20/lib/strategy.js b/express-server/node_modules/passport-google-oauth20/lib/strategy.js new file mode 100644 index 00000000..274cd923 --- /dev/null +++ b/express-server/node_modules/passport-google-oauth20/lib/strategy.js @@ -0,0 +1,199 @@ +// Load modules. +var OAuth2Strategy = require('passport-oauth2') + , util = require('util') + , uri = require('url') + , GooglePlusProfile = require('./profile/googleplus') + , OpenIDProfile = require('./profile/openid') + , InternalOAuthError = require('passport-oauth2').InternalOAuthError + , GooglePlusAPIError = require('./errors/googleplusapierror') + , UserInfoError = require('./errors/userinfoerror'); + + +/** + * `Strategy` constructor. + * + * The Google authentication strategy authenticates requests by delegating to + * Google using the OAuth 2.0 protocol. + * + * Applications must supply a `verify` callback which accepts an `accessToken`, + * `refreshToken` and service-specific `profile`, and then calls the `cb` + * callback supplying a `user`, which should be set to `false` if the + * credentials are not valid. If an exception occured, `err` should be set. + * + * Options: + * - `clientID` your Google application's client id + * - `clientSecret` your Google application's client secret + * - `callbackURL` URL to which Google will redirect the user after granting authorization + * + * Examples: + * + * passport.use(new GoogleStrategy({ + * clientID: '123-456-789', + * clientSecret: 'shhh-its-a-secret' + * callbackURL: 'https://www.example.net/auth/google/callback' + * }, + * function(accessToken, refreshToken, profile, cb) { + * User.findOrCreate(..., function (err, user) { + * cb(err, user); + * }); + * } + * )); + * + * @constructor + * @param {object} options + * @param {function} verify + * @access public + */ +function Strategy(options, verify) { + options = options || {}; + options.authorizationURL = options.authorizationURL || 'https://accounts.google.com/o/oauth2/v2/auth'; + options.tokenURL = options.tokenURL || 'https://www.googleapis.com/oauth2/v4/token'; + + OAuth2Strategy.call(this, options, verify); + this.name = 'google'; + this._userProfileURL = options.userProfileURL || 'https://www.googleapis.com/plus/v1/people/me'; + + var url = uri.parse(this._userProfileURL); + if (url.pathname.indexOf('/userinfo') == (url.pathname.length - '/userinfo'.length)) { + this._userProfileFormat = 'openid'; + } else { + this._userProfileFormat = 'google+'; // Google Sign-In + } +} + +// Inherit from `OAuth2Strategy`. +util.inherits(Strategy, OAuth2Strategy); + + +/** + * Retrieve user profile from Google. + * + * This function constructs a normalized profile, with the following properties: + * + * - `provider` always set to `google` + * - `id` + * - `username` + * - `displayName` + * + * @param {string} accessToken + * @param {function} done + * @access protected + */ +Strategy.prototype.userProfile = function(accessToken, done) { + var self = this; + this._oauth2.get(this._userProfileURL, accessToken, function (err, body, res) { + var json; + + if (err) { + if (err.data) { + try { + json = JSON.parse(err.data); + } catch (_) {} + } + + if (json && json.error && json.error.message) { + return done(new GooglePlusAPIError(json.error.message, json.error.code)); + } else if (json && json.error && json.error_description) { + return done(new UserInfoError(json.error_description, json.error)); + } + return done(new InternalOAuthError('Failed to fetch user profile', err)); + } + + try { + json = JSON.parse(body); + } catch (ex) { + return done(new Error('Failed to parse user profile')); + } + + var profile; + switch (self._userProfileFormat) { + case 'openid': + profile = OpenIDProfile.parse(json); + break; + default: // Google Sign-In + profile = GooglePlusProfile.parse(json); + break; + } + + profile.provider = 'google'; + profile._raw = body; + profile._json = json; + + done(null, profile); + }); +} + +/** + * Return extra Google-specific parameters to be included in the authorization + * request. + * + * @param {object} options + * @return {object} + * @access protected + */ +Strategy.prototype.authorizationParams = function(options) { + var params = {}; + + // https://developers.google.com/identity/protocols/OAuth2WebServer + if (options.accessType) { + params['access_type'] = options.accessType; + } + if (options.prompt) { + params['prompt'] = options.prompt; + } + if (options.loginHint) { + params['login_hint'] = options.loginHint; + } + if (options.includeGrantedScopes) { + params['include_granted_scopes'] = true; + } + + // https://developers.google.com/identity/protocols/OpenIDConnect + if (options.display) { + // Specify what kind of display consent screen to display to users. + // https://developers.google.com/accounts/docs/OpenIDConnect#authenticationuriparameters + params['display'] = options.display; + } + + // Google Apps for Work + if (options.hostedDomain || options.hd) { + // This parameter is derived from Google's OAuth 1.0 endpoint, and (although + // undocumented) is supported by Google's OAuth 2.0 endpoint was well. + // https://developers.google.com/accounts/docs/OAuth_ref + params['hd'] = options.hostedDomain || options.hd; + } + + // Google+ + if (options.requestVisibleActions) { + // Space separated list of allowed app actions + // as documented at: + // https://developers.google.com/+/web/app-activities/#writing_an_app_activity_using_the_google_apis_client_libraries + // https://developers.google.com/+/api/moment-types/ + params['request_visible_actions'] = options.requestVisibleActions; + } + + // OpenID 2.0 migration + if (options.openIDRealm) { + // This parameter is needed when migrating users from Google's OpenID 2.0 to OAuth 2.0 + // https://developers.google.com/accounts/docs/OpenID?hl=ja#adjust-uri + params['openid.realm'] = options.openIDRealm; + } + + // Undocumented + if (options.approvalPrompt) { + params['approval_prompt'] = options.approvalPrompt; + } + if (options.userID) { + // Undocumented, but supported by Google's OAuth 2.0 endpoint. Appears to + // be equivalent to `login_hint`. + params['user_id'] = options.userID; + } + + return params; +} + + +/** + * Expose `Strategy`. + */ +module.exports = Strategy; diff --git a/express-server/node_modules/passport-google-oauth20/package.json b/express-server/node_modules/passport-google-oauth20/package.json new file mode 100644 index 00000000..94efb59d --- /dev/null +++ b/express-server/node_modules/passport-google-oauth20/package.json @@ -0,0 +1,74 @@ +{ + "_from": "passport-google-oauth20@1.x.x", + "_id": "passport-google-oauth20@1.0.0", + "_inBundle": false, + "_integrity": "sha1-O5YOih1w0dvnlGFcgnxoxAOSpdA=", + "_location": "/passport-google-oauth20", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "passport-google-oauth20@1.x.x", + "name": "passport-google-oauth20", + "escapedName": "passport-google-oauth20", + "rawSpec": "1.x.x", + "saveSpec": null, + "fetchSpec": "1.x.x" + }, + "_requiredBy": [ + "/passport-google-oauth" + ], + "_resolved": "https://registry.npmjs.org/passport-google-oauth20/-/passport-google-oauth20-1.0.0.tgz", + "_shasum": "3b960e8a1d70d1dbe794615c827c68c40392a5d0", + "_spec": "passport-google-oauth20@1.x.x", + "_where": "C:\\Users\\Georg\\GitHub\\SmartShopper\\express-server\\node_modules\\passport-google-oauth", + "author": { + "name": "Jared Hanson", + "email": "jaredhanson@gmail.com", + "url": "http://www.jaredhanson.net/" + }, + "bugs": { + "url": "http://github.com/jaredhanson/passport-google-oauth2/issues" + }, + "bundleDependencies": false, + "dependencies": { + "passport-oauth2": "1.x.x" + }, + "deprecated": false, + "description": "Google (OAuth 2.0) authentication strategy for Passport.", + "devDependencies": { + "chai": "2.x.x", + "chai-passport-strategy": "1.x.x", + "make-node": "0.3.x", + "mocha": "1.x.x" + }, + "engines": { + "node": ">= 0.4.0" + }, + "homepage": "https://github.com/jaredhanson/passport-google-oauth2#readme", + "keywords": [ + "passport", + "google", + "auth", + "authn", + "authentication", + "identity" + ], + "license": "MIT", + "licenses": [ + { + "type": "MIT", + "url": "http://opensource.org/licenses/MIT" + } + ], + "main": "./lib", + "name": "passport-google-oauth20", + "repository": { + "type": "git", + "url": "git://github.com/jaredhanson/passport-google-oauth2.git" + }, + "scripts": { + "test": "mocha --require test/bootstrap/node test/*.test.js test/**/*.test.js" + }, + "version": "1.0.0" +} diff --git a/express-server/node_modules/passport-oauth1/.npmignore b/express-server/node_modules/passport-oauth1/.npmignore new file mode 100644 index 00000000..a50451d7 --- /dev/null +++ b/express-server/node_modules/passport-oauth1/.npmignore @@ -0,0 +1,8 @@ +Makefile +docs/ +examples/ +reports/ +test/ + +.jshintrc +.travis.yml diff --git a/express-server/node_modules/passport-oauth1/LICENSE b/express-server/node_modules/passport-oauth1/LICENSE new file mode 100644 index 00000000..0554e9e9 --- /dev/null +++ b/express-server/node_modules/passport-oauth1/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2011-2016 Jared Hanson + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/express-server/node_modules/passport-oauth1/README.md b/express-server/node_modules/passport-oauth1/README.md new file mode 100644 index 00000000..2b6e0017 --- /dev/null +++ b/express-server/node_modules/passport-oauth1/README.md @@ -0,0 +1,122 @@ +# passport-oauth1 + +[![Build](https://img.shields.io/travis/jaredhanson/passport-oauth1.svg)](https://travis-ci.org/jaredhanson/passport-oauth1) +[![Coverage](https://img.shields.io/coveralls/jaredhanson/passport-oauth1.svg)](https://coveralls.io/r/jaredhanson/passport-oauth1) +[![Quality](https://img.shields.io/codeclimate/github/jaredhanson/passport-oauth1.svg?label=quality)](https://codeclimate.com/github/jaredhanson/passport-oauth1) +[![Dependencies](https://img.shields.io/david/jaredhanson/passport-oauth1.svg)](https://david-dm.org/jaredhanson/passport-oauth1) + + +General-purpose OAuth 1.0 authentication strategy for [Passport](http://passportjs.org/). + +This module lets you authenticate using OAuth in your Node.js applications. +By plugging into Passport, OAuth authentication can be easily and unobtrusively +integrated into any application or framework that supports +[Connect](http://www.senchalabs.org/connect/)-style middleware, including +[Express](http://expressjs.com/). + +Note that this strategy provides generic OAuth support. In many cases, a +provider-specific strategy can be used instead, which cuts down on unnecessary +configuration, and accommodates any provider-specific quirks. See the +[list](https://github.com/jaredhanson/passport/wiki/Strategies) for supported +providers. + +Developers who need to implement authentication against an OAuth provider that +is not already supported are encouraged to sub-class this strategy. If you +choose to open source the new provider-specific strategy, please add it to the +list so other people can find it. + +## Install + + $ npm install passport-oauth1 + +## Usage + +#### Configure Strategy + +The OAuth authentication strategy authenticates users using a third-party +account and OAuth tokens. The provider's OAuth endpoints, as well as the +consumer key and secret, are specified as options. The strategy requires a +`verify` callback, which receives a token and profile, and calls `cb` +providing a user. + + passport.use(new OAuth1Strategy({ + requestTokenURL: 'https://www.example.com/oauth/request_token', + accessTokenURL: 'https://www.example.com/oauth/access_token', + userAuthorizationURL: 'https://www.example.com/oauth/authorize', + consumerKey: EXAMPLE_CONSUMER_KEY, + consumerSecret: EXAMPLE_CONSUMER_SECRET, + callbackURL: "http://127.0.0.1:3000/auth/example/callback", + signatureMethod: "RSA-SHA1" + }, + function(token, tokenSecret, profile, cb) { + User.findOrCreate({ exampleId: profile.id }, function (err, user) { + return cb(err, user); + }); + } + )); + +#### Authenticate Requests + +Use `passport.authenticate()`, specifying the `'oauth'` strategy, to +authenticate requests. + +For example, as route middleware in an [Express](http://expressjs.com/) +application: + + app.get('/auth/example', + passport.authenticate('oauth')); + + app.get('/auth/example/callback', + passport.authenticate('oauth', { failureRedirect: '/login' }), + function(req, res) { + // Successful authentication, redirect home. + res.redirect('/'); + }); + +## Related Modules + +- [passport-oauth2](https://github.com/jaredhanson/passport-oauth2) — OAuth 2.0 authentication strategy +- [passport-http-oauth](https://github.com/jaredhanson/passport-http-oauth) — OAuth authentication strategy for APIs +- [oauthorize](https://github.com/jaredhanson/oauthorize) — OAuth service provider toolkit + +## Contributing + +#### Tests + +The test suite is located in the `test/` directory. All new features are +expected to have corresponding test cases. Ensure that the complete test suite +passes by executing: + +```bash +$ make test +``` + +#### Coverage + +All new feature development is expected to have test coverage. Patches that +increse test coverage are happily accepted. Coverage reports can be viewed by +executing: + +```bash +$ make test-cov +$ make view-cov +``` + +## Support + +#### Funding + +This software is provided to you as open source, free of charge. The time and +effort to develop and maintain this project is dedicated by [@jaredhanson](https://github.com/jaredhanson). +If you (or your employer) benefit from this project, please consider a financial +contribution. Your contribution helps continue the efforts that produce this +and other open source software. + +Funds are accepted via [PayPal](https://paypal.me/jaredhanson), [Venmo](https://venmo.com/jaredhanson), +and [other](http://jaredhanson.net/pay) methods. Any amount is appreciated. + +## License + +[The MIT License](http://opensource.org/licenses/MIT) + +Copyright (c) 2011-2016 Jared Hanson <[http://jaredhanson.net/](http://jaredhanson.net/)> diff --git a/express-server/node_modules/passport-oauth1/lib/errors/internaloautherror.js b/express-server/node_modules/passport-oauth1/lib/errors/internaloautherror.js new file mode 100644 index 00000000..37e95bb6 --- /dev/null +++ b/express-server/node_modules/passport-oauth1/lib/errors/internaloautherror.js @@ -0,0 +1,45 @@ +/** + * `InternalOAuthError` error. + * + * InternalOAuthError wraps errors generated by node-oauth. By wrapping these + * objects, error messages can be formatted in a manner that aids in debugging + * OAuth issues. + * + * @constructor + * @param {String} [message] + * @param {Object|Error} [err] + * @api public + */ +function InternalOAuthError(message, err) { + Error.call(this); + Error.captureStackTrace(this, this.constructor); + this.name = this.constructor.name; + this.message = message; + this.oauthError = err; +} + +// Inherit from `Error`. +InternalOAuthError.prototype.__proto__ = Error.prototype; + +/** + * Returns a string representing the error. + * + * @return {String} + * @api public + */ +InternalOAuthError.prototype.toString = function() { + var m = this.name; + if (this.message) { m += ': ' + this.message; } + if (this.oauthError) { + if (this.oauthError instanceof Error) { + m = this.oauthError.toString(); + } else if (this.oauthError.statusCode && this.oauthError.data) { + m += ' (status: ' + this.oauthError.statusCode + ' data: ' + this.oauthError.data + ')'; + } + } + return m; +}; + + +// Expose constructor. +module.exports = InternalOAuthError; diff --git a/express-server/node_modules/passport-oauth1/lib/index.js b/express-server/node_modules/passport-oauth1/lib/index.js new file mode 100644 index 00000000..dca4dad8 --- /dev/null +++ b/express-server/node_modules/passport-oauth1/lib/index.js @@ -0,0 +1,11 @@ +// Load modules. +var Strategy = require('./strategy') + , InternalOAuthError = require('./errors/internaloautherror'); + + +// Expose Strategy. +exports = module.exports = Strategy; + +// Exports. +exports.Strategy = Strategy; +exports.InternalOAuthError = InternalOAuthError; diff --git a/express-server/node_modules/passport-oauth1/lib/requesttoken/session.js b/express-server/node_modules/passport-oauth1/lib/requesttoken/session.js new file mode 100644 index 00000000..c3a54c0c --- /dev/null +++ b/express-server/node_modules/passport-oauth1/lib/requesttoken/session.js @@ -0,0 +1,38 @@ +function SessionStore(options) { + if (!options.key) { throw new TypeError('Session-based request token store requires a session key'); } + this._key = options.key; +} + +SessionStore.prototype.get = function(req, token, cb) { + if (!req.session) { return cb(new Error('OAuth authentication requires session support. Did you forget to use express-session middleware?')); } + + // Bail if the session does not contain the request token and corresponding + // secret. If this happens, it is most likely caused by initiating OAuth + // from a different host than that of the callback endpoint (for example: + // initiating from 127.0.0.1 but handling callbacks at localhost). + if (!req.session[this._key]) { return cb(new Error('Failed to find request token in session')); } + + var tokenSecret = req.session[this._key].oauth_token_secret; + return cb(null, tokenSecret); +}; + +SessionStore.prototype.set = function(req, token, tokenSecret, cb) { + if (!req.session) { return cb(new Error('OAuth authentication requires session support. Did you forget to use express-session middleware?')); } + + if (!req.session[this._key]) { req.session[this._key] = {}; } + req.session[this._key].oauth_token = token; + req.session[this._key].oauth_token_secret = tokenSecret; + cb(); +}; + +SessionStore.prototype.destroy = function(req, token, cb) { + delete req.session[this._key].oauth_token; + delete req.session[this._key].oauth_token_secret; + if (Object.keys(req.session[this._key]).length === 0) { + delete req.session[this._key]; + } + cb(); +}; + + +module.exports = SessionStore; diff --git a/express-server/node_modules/passport-oauth1/lib/strategy.js b/express-server/node_modules/passport-oauth1/lib/strategy.js new file mode 100644 index 00000000..792bb3ac --- /dev/null +++ b/express-server/node_modules/passport-oauth1/lib/strategy.js @@ -0,0 +1,402 @@ +// Load modules. +var passport = require('passport-strategy') + , url = require('url') + , util = require('util') + , utils = require('./utils') + , OAuth = require('oauth').OAuth + , SessionRequestTokenStore = require('./requesttoken/session') + , InternalOAuthError = require('./errors/internaloautherror'); + + +/** + * Creates an instance of `OAuthStrategy`. + * + * The OAuth authentication strategy authenticates requests using the OAuth + * protocol. + * + * OAuth provides a facility for delegated authentication, whereby users can + * authenticate using a third-party service such as Twitter. Delegating in this + * manner involves a sequence of events, including redirecting the user to the + * third-party service for authorization. Once authorization has been obtained, + * the user is redirected back to the application and a token can be used to + * obtain credentials. + * + * Applications must supply a `verify` callback, for which the function + * signature is: + * + * function(token, tokenSecret, profile, cb) { ... } + * + * The verify callback is responsible for finding or creating the user, and + * invoking `cb` with the following arguments: + * + * done(err, user, info); + * + * `user` should be set to `false` to indicate an authentication failure. + * Additional `info` can optionally be passed as a third argument, typically + * used to display informational messages. If an exception occured, `err` + * should be set. + * + * Options: + * + * - `requestTokenURL` URL used to obtain an unauthorized request token + * - `accessTokenURL` URL used to exchange a user-authorized request token for an access token + * - `userAuthorizationURL` URL used to obtain user authorization + * - `consumerKey` identifies client to service provider + * - `consumerSecret` secret used to establish ownership of the consumer key + * - 'signatureMethod' signature method used to sign the request (default: 'HMAC-SHA1') + * - `callbackURL` URL to which the service provider will redirect the user after obtaining authorization + * - `passReqToCallback` when `true`, `req` is the first argument to the verify callback (default: `false`) + * + * Examples: + * + * passport.use(new OAuthStrategy({ + * requestTokenURL: 'https://www.example.com/oauth/request_token', + * accessTokenURL: 'https://www.example.com/oauth/access_token', + * userAuthorizationURL: 'https://www.example.com/oauth/authorize', + * consumerKey: '123-456-789', + * consumerSecret: 'shhh-its-a-secret' + * callbackURL: 'https://www.example.net/auth/example/callback' + * }, + * function(token, tokenSecret, profile, cb) { + * User.findOrCreate(..., function (err, user) { + * cb(err, user); + * }); + * } + * )); + * + * @constructor + * @param {Object} options + * @param {Function} verify + * @api public + */ +function OAuthStrategy(options, verify) { + if (typeof options == 'function') { + verify = options; + options = undefined; + } + options = options || {}; + + if (!verify) { throw new TypeError('OAuthStrategy requires a verify callback'); } + if (!options.requestTokenURL) { throw new TypeError('OAuthStrategy requires a requestTokenURL option'); } + if (!options.accessTokenURL) { throw new TypeError('OAuthStrategy requires a accessTokenURL option'); } + if (!options.userAuthorizationURL) { throw new TypeError('OAuthStrategy requires a userAuthorizationURL option'); } + if (!options.consumerKey) { throw new TypeError('OAuthStrategy requires a consumerKey option'); } + if (options.consumerSecret === undefined) { throw new TypeError('OAuthStrategy requires a consumerSecret option'); } + + passport.Strategy.call(this); + this.name = 'oauth'; + this._verify = verify; + + // NOTE: The _oauth property is considered "protected". Subclasses are + // allowed to use it when making protected resource requests to retrieve + // the user profile. + this._oauth = new OAuth(options.requestTokenURL, options.accessTokenURL, + options.consumerKey, options.consumerSecret, + '1.0', null, options.signatureMethod || 'HMAC-SHA1', + null, options.customHeaders); + + this._userAuthorizationURL = options.userAuthorizationURL; + this._callbackURL = options.callbackURL; + this._key = options.sessionKey || 'oauth'; + this._requestTokenStore = options.requestTokenStore || new SessionRequestTokenStore({ key: this._key }); + this._trustProxy = options.proxy; + this._passReqToCallback = options.passReqToCallback; + this._skipUserProfile = (options.skipUserProfile === undefined) ? false : options.skipUserProfile; +} + +// Inherit from `passport.Strategy`. +util.inherits(OAuthStrategy, passport.Strategy); + + +/** + * Authenticate request by delegating to a service provider using OAuth. + * + * @param {Object} req + * @api protected + */ +OAuthStrategy.prototype.authenticate = function(req, options) { + options = options || {}; + + var self = this; + var meta = { + requestTokenURL: this._oauth._requestUrl, + accessTokenURL: this._oauth._accessUrl, + userAuthorizationURL: this._userAuthorizationURL, + consumerKey: this._oauth._consumerKey + } + + if (req.query && req.query.oauth_token) { + // The request being authenticated contains an oauth_token parameter in the + // query portion of the URL. This indicates that the service provider has + // redirected the user back to the application, after authenticating the + // user and obtaining their authorization. + // + // The value of the oauth_token parameter is the request token. Together + // with knowledge of the token secret (stored in the session), the request + // token can be exchanged for an access token and token secret. + // + // This access token and token secret, along with the optional ability to + // fetch profile information from the service provider, is sufficient to + // establish the identity of the user. + var oauthToken = req.query.oauth_token; + + function loaded(err, oauthTokenSecret, state) { + if (err) { return self.error(err); } + if (!oauthTokenSecret) { + return self.fail(state, 403); + } + + // NOTE: The oauth_verifier parameter will be supplied in the query portion + // of the redirect URL, if the server supports OAuth 1.0a. + var oauthVerifier = req.query.oauth_verifier || null; + + self._oauth.getOAuthAccessToken(oauthToken, oauthTokenSecret, oauthVerifier, function(err, token, tokenSecret, params) { + if (err) { return self.error(self._createOAuthError('Failed to obtain access token', err)); } + + function destroyed(err) { + if (err) { return self.error(err); } + + self._loadUserProfile(token, tokenSecret, params, function(err, profile) { + if (err) { return self.error(err); } + + function verified(err, user, info) { + if (err) { return self.error(err); } + if (!user) { return self.fail(info); } + + info = info || {}; + if (state) { info.state = state; } + self.success(user, info); + } + + try { + if (self._passReqToCallback) { + var arity = self._verify.length; + if (arity == 6) { + self._verify(req, token, tokenSecret, params, profile, verified); + } else { // arity == 5 + self._verify(req, token, tokenSecret, profile, verified); + } + } else { + var arity = self._verify.length; + if (arity == 5) { + self._verify(token, tokenSecret, params, profile, verified); + } else { // arity == 4 + self._verify(token, tokenSecret, profile, verified); + } + } + } catch (ex) { + return self.error(ex); + } + }); + } + + // The request token has been exchanged for an access token. Since the + // request token is a single-use token, that data can be removed from the + // store. + try { + var arity = self._requestTokenStore.destroy.length; + if (arity == 4) { + self._requestTokenStore.destroy(req, oauthToken, meta, destroyed); + } else { // arity == 3 + self._requestTokenStore.destroy(req, oauthToken, destroyed); + } + } catch (ex) { + return self.error(ex); + } + }); + } + + try { + var arity = self._requestTokenStore.get.length; + if (arity == 4) { + this._requestTokenStore.get(req, oauthToken, meta, loaded); + } else { // arity == 3 + this._requestTokenStore.get(req, oauthToken, loaded); + } + } catch (ex) { + return this.error(ex); + } + } else { + // In order to authenticate via OAuth, the application must obtain a request + // token from the service provider and redirect the user to the service + // provider to obtain their authorization. After authorization has been + // approved the user will be redirected back the application, at which point + // the application can exchange the request token for an access token. + // + // In order to successfully exchange the request token, its corresponding + // token secret needs to be known. The token secret will be temporarily + // stored in the session, so that it can be retrieved upon the user being + // redirected back to the application. + + var params = this.requestTokenParams(options); + var callbackURL = options.callbackURL || this._callbackURL; + if (callbackURL) { + var parsed = url.parse(callbackURL); + if (!parsed.protocol) { + // The callback URL is relative, resolve a fully qualified URL from the + // URL of the originating request. + callbackURL = url.resolve(utils.originalURL(req, { proxy: this._trustProxy }), callbackURL); + } + } + params.oauth_callback = callbackURL; + + this._oauth.getOAuthRequestToken(params, function(err, token, tokenSecret, params) { + if (err) { return self.error(self._createOAuthError('Failed to obtain request token', err)); } + + // NOTE: params will contain an oauth_callback_confirmed property set to + // true, if the server supports OAuth 1.0a. + // { oauth_callback_confirmed: 'true' } + + function stored(err) { + if (err) { return self.error(err); } + + var parsed = url.parse(self._userAuthorizationURL, true); + parsed.query.oauth_token = token; + if (!params.oauth_callback_confirmed && callbackURL) { + // NOTE: If oauth_callback_confirmed=true is not present when issuing a + // request token, the server does not support OAuth 1.0a. In this + // circumstance, `oauth_callback` is passed when redirecting the + // user to the service provider. + parsed.query.oauth_callback = callbackURL; + } + utils.merge(parsed.query, self.userAuthorizationParams(options)); + delete parsed.search; + var location = url.format(parsed); + self.redirect(location); + } + + try { + var arity = self._requestTokenStore.set.length; + if (arity == 5) { + self._requestTokenStore.set(req, token, tokenSecret, meta, stored); + } else { // arity == 4 + self._requestTokenStore.set(req, token, tokenSecret, stored); + } + } catch (ex) { + return self.error(ex); + } + }); + } +}; + +/** + * Retrieve user profile from service provider. + * + * OAuth-based authentication strategies can overrride this function in order to + * load the user's profile from the service provider. This assists applications + * (and users of those applications) in the initial registration process by + * automatically submitting required information. + * + * @param {String} token + * @param {String} tokenSecret + * @param {Object} params + * @param {Function} done + * @api protected + */ +OAuthStrategy.prototype.userProfile = function(token, tokenSecret, params, done) { + return done(null, {}); +}; + +/** + * Return extra parameters to be included in the request token request. + * + * Some OAuth providers require additional parameters to be included when + * issuing a request token. Since these parameters are not standardized by the + * OAuth specification, OAuth-based authentication strategies can overrride this + * function in order to populate these parameters as required by the provider. + * + * @param {Object} options + * @return {Object} + * @api protected + */ +OAuthStrategy.prototype.requestTokenParams = function(options) { + return {}; +}; + +/** + * Return extra parameters to be included in the user authorization request. + * + * Some OAuth providers allow additional, non-standard parameters to be included + * when requesting authorization. Since these parameters are not standardized + * by the OAuth specification, OAuth-based authentication strategies can + * overrride this function in order to populate these parameters as required by + * the provider. + * + * @param {Object} options + * @return {Object} + * @api protected + */ +OAuthStrategy.prototype.userAuthorizationParams = function(options) { + return {}; +}; + +/** + * Parse error response from OAuth endpoint. + * + * OAuth-based authentication strategies can overrride this function in order to + * parse error responses received from the request token and access token + * endpoints, allowing the most informative message to be displayed. + * + * If this function is not overridden, a generic error will be thrown. + * + * @param {String} body + * @param {Number} status + * @return {Error} + * @api protected + */ +OAuthStrategy.prototype.parseErrorResponse = function(body, status) { + return null; +}; + +/** + * Load user profile, contingent upon options. + * + * @param {String} accessToken + * @param {Function} done + * @api private + */ +OAuthStrategy.prototype._loadUserProfile = function(token, tokenSecret, params, done) { + var self = this; + + function loadIt() { + return self.userProfile(token, tokenSecret, params, done); + } + function skipIt() { + return done(null); + } + + if (typeof this._skipUserProfile == 'function' && this._skipUserProfile.length > 1) { + // async + this._skipUserProfile(token, tokenSecret, function(err, skip) { + if (err) { return done(err); } + if (!skip) { return loadIt(); } + return skipIt(); + }); + } else { + var skip = (typeof this._skipUserProfile == 'function') ? this._skipUserProfile() : this._skipUserProfile; + if (!skip) { return loadIt(); } + return skipIt(); + } +}; + +/** + * Create an OAuth error. + * + * @param {String} message + * @param {Object|Error} err + * @api private + */ +OAuthStrategy.prototype._createOAuthError = function(message, err) { + var e; + if (err.statusCode && err.data) { + try { + e = this.parseErrorResponse(err.data, err.statusCode); + } catch (_) {} + } + if (!e) { e = new InternalOAuthError(message, err); } + return e; +}; + + +// Expose constructor. +module.exports = OAuthStrategy; diff --git a/express-server/node_modules/passport-oauth1/lib/utils.js b/express-server/node_modules/passport-oauth1/lib/utils.js new file mode 100644 index 00000000..486f9e15 --- /dev/null +++ b/express-server/node_modules/passport-oauth1/lib/utils.js @@ -0,0 +1,32 @@ +exports.merge = require('utils-merge'); + +/** + * Reconstructs the original URL of the request. + * + * This function builds a URL that corresponds the original URL requested by the + * client, including the protocol (http or https) and host. + * + * If the request passed through any proxies that terminate SSL, the + * `X-Forwarded-Proto` header is used to detect if the request was encrypted to + * the proxy, assuming that the proxy has been flagged as trusted. + * + * @param {http.IncomingMessage} req + * @param {Object} [options] + * @return {String} + * @api private + */ +exports.originalURL = function(req, options) { + options = options || {}; + var app = req.app; + if (app && app.get && app.get('trust proxy')) { + options.proxy = true; + } + var trustProxy = options.proxy; + + var proto = (req.headers['x-forwarded-proto'] || '').toLowerCase() + , tls = req.connection.encrypted || (trustProxy && 'https' == proto.split(/\s*,\s*/)[0]) + , host = (trustProxy && req.headers['x-forwarded-host']) || req.headers.host + , protocol = tls ? 'https' : 'http' + , path = req.url || ''; + return protocol + '://' + host + path; +}; diff --git a/express-server/node_modules/passport-oauth1/package.json b/express-server/node_modules/passport-oauth1/package.json new file mode 100644 index 00000000..80dccfbe --- /dev/null +++ b/express-server/node_modules/passport-oauth1/package.json @@ -0,0 +1,77 @@ +{ + "_from": "passport-oauth1@1.x.x", + "_id": "passport-oauth1@1.1.0", + "_inBundle": false, + "_integrity": "sha1-p96YiiEfnPRoc3cTDqdN8ycwyRg=", + "_location": "/passport-oauth1", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "passport-oauth1@1.x.x", + "name": "passport-oauth1", + "escapedName": "passport-oauth1", + "rawSpec": "1.x.x", + "saveSpec": null, + "fetchSpec": "1.x.x" + }, + "_requiredBy": [ + "/passport-google-oauth1" + ], + "_resolved": "https://registry.npmjs.org/passport-oauth1/-/passport-oauth1-1.1.0.tgz", + "_shasum": "a7de988a211f9cf4687377130ea74df32730c918", + "_spec": "passport-oauth1@1.x.x", + "_where": "C:\\Users\\Georg\\GitHub\\SmartShopper\\express-server\\node_modules\\passport-google-oauth1", + "author": { + "name": "Jared Hanson", + "email": "jaredhanson@gmail.com", + "url": "http://www.jaredhanson.net/" + }, + "bugs": { + "url": "http://github.com/jaredhanson/passport-oauth1/issues" + }, + "bundleDependencies": false, + "dependencies": { + "oauth": "0.9.x", + "passport-strategy": "1.x.x", + "utils-merge": "1.x.x" + }, + "deprecated": false, + "description": "OAuth 1.0 authentication strategy for Passport.", + "devDependencies": { + "chai": "2.x.x", + "chai-passport-strategy": "1.x.x", + "make-node": "0.3.x", + "mocha": "2.x.x" + }, + "engines": { + "node": ">= 0.4.0" + }, + "homepage": "https://github.com/jaredhanson/passport-oauth1#readme", + "keywords": [ + "passport", + "auth", + "authn", + "authentication", + "authz", + "authorization", + "oauth" + ], + "license": "MIT", + "licenses": [ + { + "type": "MIT", + "url": "http://opensource.org/licenses/MIT" + } + ], + "main": "./lib", + "name": "passport-oauth1", + "repository": { + "type": "git", + "url": "git://github.com/jaredhanson/passport-oauth1.git" + }, + "scripts": { + "test": "mocha --reporter spec --require test/bootstrap/node test/*.test.js test/**/*.test.js" + }, + "version": "1.1.0" +} diff --git a/express-server/node_modules/passport-oauth2/.npmignore b/express-server/node_modules/passport-oauth2/.npmignore new file mode 100644 index 00000000..a50451d7 --- /dev/null +++ b/express-server/node_modules/passport-oauth2/.npmignore @@ -0,0 +1,8 @@ +Makefile +docs/ +examples/ +reports/ +test/ + +.jshintrc +.travis.yml diff --git a/express-server/node_modules/passport-oauth2/LICENSE b/express-server/node_modules/passport-oauth2/LICENSE new file mode 100644 index 00000000..0554e9e9 --- /dev/null +++ b/express-server/node_modules/passport-oauth2/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2011-2016 Jared Hanson + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/express-server/node_modules/passport-oauth2/README.md b/express-server/node_modules/passport-oauth2/README.md new file mode 100644 index 00000000..b996c3b1 --- /dev/null +++ b/express-server/node_modules/passport-oauth2/README.md @@ -0,0 +1,124 @@ +# passport-oauth2 + +[![Build](https://img.shields.io/travis/jaredhanson/passport-oauth2.svg)](https://travis-ci.org/jaredhanson/passport-oauth2) +[![Coverage](https://img.shields.io/coveralls/jaredhanson/passport-oauth2.svg)](https://coveralls.io/r/jaredhanson/passport-oauth2) +[![Quality](https://img.shields.io/codeclimate/github/jaredhanson/passport-oauth2.svg?label=quality)](https://codeclimate.com/github/jaredhanson/passport-oauth2) +[![Dependencies](https://img.shields.io/david/jaredhanson/passport-oauth2.svg)](https://david-dm.org/jaredhanson/passport-oauth2) + + +General-purpose OAuth 2.0 authentication strategy for [Passport](http://passportjs.org/). + +This module lets you authenticate using OAuth 2.0 in your Node.js applications. +By plugging into Passport, OAuth 2.0 authentication can be easily and +unobtrusively integrated into any application or framework that supports +[Connect](http://www.senchalabs.org/connect/)-style middleware, including +[Express](http://expressjs.com/). + +Note that this strategy provides generic OAuth 2.0 support. In many cases, a +provider-specific strategy can be used instead, which cuts down on unnecessary +configuration, and accommodates any provider-specific quirks. See the +[list](https://github.com/jaredhanson/passport/wiki/Strategies) for supported +providers. + +Developers who need to implement authentication against an OAuth 2.0 provider +that is not already supported are encouraged to sub-class this strategy. If you +choose to open source the new provider-specific strategy, please add it to the +list so other people can find it. + +## Install + + $ npm install passport-oauth2 + +## Usage + +#### Configure Strategy + +The OAuth 2.0 authentication strategy authenticates users using a third-party +account and OAuth 2.0 tokens. The provider's OAuth 2.0 endpoints, as well as +the client identifer and secret, are specified as options. The strategy +requires a `verify` callback, which receives an access token and profile, +and calls `cb` providing a user. + +```js +passport.use(new OAuth2Strategy({ + authorizationURL: 'https://www.example.com/oauth2/authorize', + tokenURL: 'https://www.example.com/oauth2/token', + clientID: EXAMPLE_CLIENT_ID, + clientSecret: EXAMPLE_CLIENT_SECRET, + callbackURL: "http://localhost:3000/auth/example/callback" + }, + function(accessToken, refreshToken, profile, cb) { + User.findOrCreate({ exampleId: profile.id }, function (err, user) { + return cb(err, user); + }); + } +)); +``` + +#### Authenticate Requests + +Use `passport.authenticate()`, specifying the `'oauth2'` strategy, to +authenticate requests. + +For example, as route middleware in an [Express](http://expressjs.com/) +application: + +```js +app.get('/auth/example', + passport.authenticate('oauth2')); + +app.get('/auth/example/callback', + passport.authenticate('oauth2', { failureRedirect: '/login' }), + function(req, res) { + // Successful authentication, redirect home. + res.redirect('/'); + }); +``` + +## Related Modules + +- [passport-oauth1](https://github.com/jaredhanson/passport-oauth1) — OAuth 1.0 authentication strategy +- [passport-http-bearer](https://github.com/jaredhanson/passport-http-bearer) — Bearer token authentication strategy for APIs +- [OAuth2orize](https://github.com/jaredhanson/oauth2orize) — OAuth 2.0 authorization server toolkit + +## Contributing + +#### Tests + +The test suite is located in the `test/` directory. All new features are +expected to have corresponding test cases. Ensure that the complete test suite +passes by executing: + +```bash +$ make test +``` + +#### Coverage + +All new feature development is expected to have test coverage. Patches that +increse test coverage are happily accepted. Coverage reports can be viewed by +executing: + +```bash +$ make test-cov +$ make view-cov +``` + +## Support + +#### Funding + +This software is provided to you as open source, free of charge. The time and +effort to develop and maintain this project is dedicated by [@jaredhanson](https://github.com/jaredhanson). +If you (or your employer) benefit from this project, please consider a financial +contribution. Your contribution helps continue the efforts that produce this +and other open source software. + +Funds are accepted via [PayPal](https://paypal.me/jaredhanson), [Venmo](https://venmo.com/jaredhanson), +and [other](http://jaredhanson.net/pay) methods. Any amount is appreciated. + +## License + +[The MIT License](http://opensource.org/licenses/MIT) + +Copyright (c) 2011-2016 Jared Hanson <[http://jaredhanson.net/](http://jaredhanson.net/)> diff --git a/express-server/node_modules/passport-oauth2/lib/errors/authorizationerror.js b/express-server/node_modules/passport-oauth2/lib/errors/authorizationerror.js new file mode 100644 index 00000000..041961d9 --- /dev/null +++ b/express-server/node_modules/passport-oauth2/lib/errors/authorizationerror.js @@ -0,0 +1,44 @@ +/** + * `AuthorizationError` error. + * + * AuthorizationError represents an error in response to an authorization + * request. For details, refer to RFC 6749, section 4.1.2.1. + * + * References: + * - [The OAuth 2.0 Authorization Framework](http://tools.ietf.org/html/rfc6749) + * + * @constructor + * @param {String} [message] + * @param {String} [code] + * @param {String} [uri] + * @param {Number} [status] + * @api public + */ +function AuthorizationError(message, code, uri, status) { + if (!status) { + switch (code) { + case 'access_denied': status = 403; break; + case 'server_error': status = 502; break; + case 'temporarily_unavailable': status = 503; break; + } + } + + Error.call(this); + Error.captureStackTrace(this, this.constructor); + this.name = this.constructor.name; + this.message = message; + this.code = code || 'server_error'; + this.uri = uri; + this.status = status || 500; +} + +/** + * Inherit from `Error`. + */ +AuthorizationError.prototype.__proto__ = Error.prototype; + + +/** + * Expose `AuthorizationError`. + */ +module.exports = AuthorizationError; diff --git a/express-server/node_modules/passport-oauth2/lib/errors/internaloautherror.js b/express-server/node_modules/passport-oauth2/lib/errors/internaloautherror.js new file mode 100644 index 00000000..5dd68284 --- /dev/null +++ b/express-server/node_modules/passport-oauth2/lib/errors/internaloautherror.js @@ -0,0 +1,49 @@ +/** + * `InternalOAuthError` error. + * + * InternalOAuthError wraps errors generated by node-oauth. By wrapping these + * objects, error messages can be formatted in a manner that aids in debugging + * OAuth issues. + * + * @constructor + * @param {String} [message] + * @param {Object|Error} [err] + * @api public + */ +function InternalOAuthError(message, err) { + Error.call(this); + Error.captureStackTrace(this, this.constructor); + this.name = this.constructor.name; + this.message = message; + this.oauthError = err; +} + +/** + * Inherit from `Error`. + */ +InternalOAuthError.prototype.__proto__ = Error.prototype; + +/** + * Returns a string representing the error. + * + * @return {String} + * @api public + */ +InternalOAuthError.prototype.toString = function() { + var m = this.name; + if (this.message) { m += ': ' + this.message; } + if (this.oauthError) { + if (this.oauthError instanceof Error) { + m = this.oauthError.toString(); + } else if (this.oauthError.statusCode && this.oauthError.data) { + m += ' (status: ' + this.oauthError.statusCode + ' data: ' + this.oauthError.data + ')'; + } + } + return m; +}; + + +/** + * Expose `InternalOAuthError`. + */ +module.exports = InternalOAuthError; diff --git a/express-server/node_modules/passport-oauth2/lib/errors/tokenerror.js b/express-server/node_modules/passport-oauth2/lib/errors/tokenerror.js new file mode 100644 index 00000000..924ea3b9 --- /dev/null +++ b/express-server/node_modules/passport-oauth2/lib/errors/tokenerror.js @@ -0,0 +1,36 @@ +/** + * `TokenError` error. + * + * TokenError represents an error received from a token endpoint. For details, + * refer to RFC 6749, section 5.2. + * + * References: + * - [The OAuth 2.0 Authorization Framework](http://tools.ietf.org/html/rfc6749) + * + * @constructor + * @param {String} [message] + * @param {String} [code] + * @param {String} [uri] + * @param {Number} [status] + * @api public + */ +function TokenError(message, code, uri, status) { + Error.call(this); + Error.captureStackTrace(this, this.constructor); + this.name = this.constructor.name; + this.message = message; + this.code = code || 'invalid_request'; + this.uri = uri; + this.status = status || 500; +} + +/** + * Inherit from `Error`. + */ +TokenError.prototype.__proto__ = Error.prototype; + + +/** + * Expose `TokenError`. + */ +module.exports = TokenError; diff --git a/express-server/node_modules/passport-oauth2/lib/index.js b/express-server/node_modules/passport-oauth2/lib/index.js new file mode 100644 index 00000000..b025669a --- /dev/null +++ b/express-server/node_modules/passport-oauth2/lib/index.js @@ -0,0 +1,16 @@ +// Load modules. +var Strategy = require('./strategy') + , AuthorizationError = require('./errors/authorizationerror') + , TokenError = require('./errors/tokenerror') + , InternalOAuthError = require('./errors/internaloautherror'); + + +// Expose Strategy. +exports = module.exports = Strategy; + +// Exports. +exports.Strategy = Strategy; + +exports.AuthorizationError = AuthorizationError; +exports.TokenError = TokenError; +exports.InternalOAuthError = InternalOAuthError; diff --git a/express-server/node_modules/passport-oauth2/lib/state/null.js b/express-server/node_modules/passport-oauth2/lib/state/null.js new file mode 100644 index 00000000..80ad17e1 --- /dev/null +++ b/express-server/node_modules/passport-oauth2/lib/state/null.js @@ -0,0 +1,13 @@ +function NullStore(options) { +} + +NullStore.prototype.store = function(req, cb) { + cb(); +} + +NullStore.prototype.verify = function(req, providedState, cb) { + cb(null, true); +} + + +module.exports = NullStore; diff --git a/express-server/node_modules/passport-oauth2/lib/state/session.js b/express-server/node_modules/passport-oauth2/lib/state/session.js new file mode 100644 index 00000000..1d08789f --- /dev/null +++ b/express-server/node_modules/passport-oauth2/lib/state/session.js @@ -0,0 +1,85 @@ +var uid = require('uid2'); + +/** + * Creates an instance of `SessionStore`. + * + * This is the state store implementation for the OAuth2Strategy used when + * the `state` option is enabled. It generates a random state and stores it in + * `req.session` and verifies it when the service provider redirects the user + * back to the application. + * + * This state store requires session support. If no session exists, an error + * will be thrown. + * + * Options: + * + * - `key` The key in the session under which to store the state + * + * @constructor + * @param {Object} options + * @api public + */ +function SessionStore(options) { + if (!options.key) { throw new TypeError('Session-based state store requires a session key'); } + this._key = options.key; +} + +/** + * Store request state. + * + * This implementation simply generates a random string and stores the value in + * the session, where it will be used for verification when the user is + * redirected back to the application. + * + * @param {Object} req + * @param {Function} callback + * @api protected + */ +SessionStore.prototype.store = function(req, callback) { + if (!req.session) { return callback(new Error('OAuth 2.0 authentication requires session support when using state. Did you forget to use express-session middleware?')); } + + var key = this._key; + var state = uid(24); + if (!req.session[key]) { req.session[key] = {}; } + req.session[key].state = state; + callback(null, state); +}; + +/** + * Verify request state. + * + * This implementation simply compares the state parameter in the request to the + * value generated earlier and stored in the session. + * + * @param {Object} req + * @param {String} providedState + * @param {Function} callback + * @api protected + */ +SessionStore.prototype.verify = function(req, providedState, callback) { + if (!req.session) { return callback(new Error('OAuth 2.0 authentication requires session support when using state. Did you forget to use express-session middleware?')); } + + var key = this._key; + if (!req.session[key]) { + return callback(null, false, { message: 'Unable to verify authorization request state.' }); + } + + var state = req.session[key].state; + if (!state) { + return callback(null, false, { message: 'Unable to verify authorization request state.' }); + } + + delete req.session[key].state; + if (Object.keys(req.session[key]).length === 0) { + delete req.session[key]; + } + + if (state !== providedState) { + return callback(null, false, { message: 'Invalid authorization request state.' }); + } + + return callback(null, true); +}; + +// Expose constructor. +module.exports = SessionStore; diff --git a/express-server/node_modules/passport-oauth2/lib/strategy.js b/express-server/node_modules/passport-oauth2/lib/strategy.js new file mode 100644 index 00000000..a0d50bd9 --- /dev/null +++ b/express-server/node_modules/passport-oauth2/lib/strategy.js @@ -0,0 +1,385 @@ +// Load modules. +var passport = require('passport-strategy') + , url = require('url') + , util = require('util') + , utils = require('./utils') + , OAuth2 = require('oauth').OAuth2 + , NullStateStore = require('./state/null') + , SessionStateStore = require('./state/session') + , AuthorizationError = require('./errors/authorizationerror') + , TokenError = require('./errors/tokenerror') + , InternalOAuthError = require('./errors/internaloautherror'); + + +/** + * Creates an instance of `OAuth2Strategy`. + * + * The OAuth 2.0 authentication strategy authenticates requests using the OAuth + * 2.0 framework. + * + * OAuth 2.0 provides a facility for delegated authentication, whereby users can + * authenticate using a third-party service such as Facebook. Delegating in + * this manner involves a sequence of events, including redirecting the user to + * the third-party service for authorization. Once authorization has been + * granted, the user is redirected back to the application and an authorization + * code can be used to obtain credentials. + * + * Applications must supply a `verify` callback, for which the function + * signature is: + * + * function(accessToken, refreshToken, profile, done) { ... } + * + * The verify callback is responsible for finding or creating the user, and + * invoking `done` with the following arguments: + * + * done(err, user, info); + * + * `user` should be set to `false` to indicate an authentication failure. + * Additional `info` can optionally be passed as a third argument, typically + * used to display informational messages. If an exception occured, `err` + * should be set. + * + * Options: + * + * - `authorizationURL` URL used to obtain an authorization grant + * - `tokenURL` URL used to obtain an access token + * - `clientID` identifies client to service provider + * - `clientSecret` secret used to establish ownership of the client identifer + * - `callbackURL` URL to which the service provider will redirect the user after obtaining authorization + * - `passReqToCallback` when `true`, `req` is the first argument to the verify callback (default: `false`) + * + * Examples: + * + * passport.use(new OAuth2Strategy({ + * authorizationURL: 'https://www.example.com/oauth2/authorize', + * tokenURL: 'https://www.example.com/oauth2/token', + * clientID: '123-456-789', + * clientSecret: 'shhh-its-a-secret' + * callbackURL: 'https://www.example.net/auth/example/callback' + * }, + * function(accessToken, refreshToken, profile, done) { + * User.findOrCreate(..., function (err, user) { + * done(err, user); + * }); + * } + * )); + * + * @constructor + * @param {Object} options + * @param {Function} verify + * @api public + */ +function OAuth2Strategy(options, verify) { + if (typeof options == 'function') { + verify = options; + options = undefined; + } + options = options || {}; + + if (!verify) { throw new TypeError('OAuth2Strategy requires a verify callback'); } + if (!options.authorizationURL) { throw new TypeError('OAuth2Strategy requires a authorizationURL option'); } + if (!options.tokenURL) { throw new TypeError('OAuth2Strategy requires a tokenURL option'); } + if (!options.clientID) { throw new TypeError('OAuth2Strategy requires a clientID option'); } + + passport.Strategy.call(this); + this.name = 'oauth2'; + this._verify = verify; + + // NOTE: The _oauth2 property is considered "protected". Subclasses are + // allowed to use it when making protected resource requests to retrieve + // the user profile. + this._oauth2 = new OAuth2(options.clientID, options.clientSecret, + '', options.authorizationURL, options.tokenURL, options.customHeaders); + + this._callbackURL = options.callbackURL; + this._scope = options.scope; + this._scopeSeparator = options.scopeSeparator || ' '; + this._key = options.sessionKey || ('oauth2:' + url.parse(options.authorizationURL).hostname); + + if (options.store) { + this._stateStore = options.store; + } else { + if (options.state) { + this._stateStore = new SessionStateStore({ key: this._key }); + } else { + this._stateStore = new NullStateStore(); + } + } + this._trustProxy = options.proxy; + this._passReqToCallback = options.passReqToCallback; + this._skipUserProfile = (options.skipUserProfile === undefined) ? false : options.skipUserProfile; +} + +// Inherit from `passport.Strategy`. +util.inherits(OAuth2Strategy, passport.Strategy); + + +/** + * Authenticate request by delegating to a service provider using OAuth 2.0. + * + * @param {Object} req + * @api protected + */ +OAuth2Strategy.prototype.authenticate = function(req, options) { + options = options || {}; + var self = this; + + if (req.query && req.query.error) { + if (req.query.error == 'access_denied') { + return this.fail({ message: req.query.error_description }); + } else { + return this.error(new AuthorizationError(req.query.error_description, req.query.error, req.query.error_uri)); + } + } + + var callbackURL = options.callbackURL || this._callbackURL; + if (callbackURL) { + var parsed = url.parse(callbackURL); + if (!parsed.protocol) { + // The callback URL is relative, resolve a fully qualified URL from the + // URL of the originating request. + callbackURL = url.resolve(utils.originalURL(req, { proxy: this._trustProxy }), callbackURL); + } + } + + var meta = { + authorizationURL: this._oauth2._authorizeUrl, + tokenURL: this._oauth2._accessTokenUrl, + clientID: this._oauth2._clientId + } + + if (req.query && req.query.code) { + function loaded(err, ok, state) { + if (err) { return self.error(err); } + if (!ok) { + return self.fail(state, 403); + } + + var code = req.query.code; + + var params = self.tokenParams(options); + params.grant_type = 'authorization_code'; + if (callbackURL) { params.redirect_uri = callbackURL; } + + self._oauth2.getOAuthAccessToken(code, params, + function(err, accessToken, refreshToken, params) { + if (err) { return self.error(self._createOAuthError('Failed to obtain access token', err)); } + + self._loadUserProfile(accessToken, function(err, profile) { + if (err) { return self.error(err); } + + function verified(err, user, info) { + if (err) { return self.error(err); } + if (!user) { return self.fail(info); } + + info = info || {}; + if (state) { info.state = state; } + self.success(user, info); + } + + try { + if (self._passReqToCallback) { + var arity = self._verify.length; + if (arity == 6) { + self._verify(req, accessToken, refreshToken, params, profile, verified); + } else { // arity == 5 + self._verify(req, accessToken, refreshToken, profile, verified); + } + } else { + var arity = self._verify.length; + if (arity == 5) { + self._verify(accessToken, refreshToken, params, profile, verified); + } else { // arity == 4 + self._verify(accessToken, refreshToken, profile, verified); + } + } + } catch (ex) { + return self.error(ex); + } + }); + } + ); + } + + var state = req.query.state; + try { + var arity = this._stateStore.verify.length; + if (arity == 4) { + this._stateStore.verify(req, state, meta, loaded); + } else { // arity == 3 + this._stateStore.verify(req, state, loaded); + } + } catch (ex) { + return this.error(ex); + } + } else { + var params = this.authorizationParams(options); + params.response_type = 'code'; + if (callbackURL) { params.redirect_uri = callbackURL; } + var scope = options.scope || this._scope; + if (scope) { + if (Array.isArray(scope)) { scope = scope.join(this._scopeSeparator); } + params.scope = scope; + } + + var state = options.state; + if (state) { + params.state = state; + + var parsed = url.parse(this._oauth2._authorizeUrl, true); + utils.merge(parsed.query, params); + parsed.query['client_id'] = this._oauth2._clientId; + delete parsed.search; + var location = url.format(parsed); + this.redirect(location); + } else { + function stored(err, state) { + if (err) { return self.error(err); } + + if (state) { params.state = state; } + var parsed = url.parse(self._oauth2._authorizeUrl, true); + utils.merge(parsed.query, params); + parsed.query['client_id'] = self._oauth2._clientId; + delete parsed.search; + var location = url.format(parsed); + self.redirect(location); + } + + try { + var arity = this._stateStore.store.length; + if (arity == 3) { + this._stateStore.store(req, meta, stored); + } else { // arity == 2 + this._stateStore.store(req, stored); + } + } catch (ex) { + return this.error(ex); + } + } + } +}; + +/** + * Retrieve user profile from service provider. + * + * OAuth 2.0-based authentication strategies can overrride this function in + * order to load the user's profile from the service provider. This assists + * applications (and users of those applications) in the initial registration + * process by automatically submitting required information. + * + * @param {String} accessToken + * @param {Function} done + * @api protected + */ +OAuth2Strategy.prototype.userProfile = function(accessToken, done) { + return done(null, {}); +}; + +/** + * Return extra parameters to be included in the authorization request. + * + * Some OAuth 2.0 providers allow additional, non-standard parameters to be + * included when requesting authorization. Since these parameters are not + * standardized by the OAuth 2.0 specification, OAuth 2.0-based authentication + * strategies can overrride this function in order to populate these parameters + * as required by the provider. + * + * @param {Object} options + * @return {Object} + * @api protected + */ +OAuth2Strategy.prototype.authorizationParams = function(options) { + return {}; +}; + +/** + * Return extra parameters to be included in the token request. + * + * Some OAuth 2.0 providers allow additional, non-standard parameters to be + * included when requesting an access token. Since these parameters are not + * standardized by the OAuth 2.0 specification, OAuth 2.0-based authentication + * strategies can overrride this function in order to populate these parameters + * as required by the provider. + * + * @return {Object} + * @api protected + */ +OAuth2Strategy.prototype.tokenParams = function(options) { + return {}; +}; + +/** + * Parse error response from OAuth 2.0 endpoint. + * + * OAuth 2.0-based authentication strategies can overrride this function in + * order to parse error responses received from the token endpoint, allowing the + * most informative message to be displayed. + * + * If this function is not overridden, the body will be parsed in accordance + * with RFC 6749, section 5.2. + * + * @param {String} body + * @param {Number} status + * @return {Error} + * @api protected + */ +OAuth2Strategy.prototype.parseErrorResponse = function(body, status) { + var json = JSON.parse(body); + if (json.error) { + return new TokenError(json.error_description, json.error, json.error_uri); + } + return null; +}; + +/** + * Load user profile, contingent upon options. + * + * @param {String} accessToken + * @param {Function} done + * @api private + */ +OAuth2Strategy.prototype._loadUserProfile = function(accessToken, done) { + var self = this; + + function loadIt() { + return self.userProfile(accessToken, done); + } + function skipIt() { + return done(null); + } + + if (typeof this._skipUserProfile == 'function' && this._skipUserProfile.length > 1) { + // async + this._skipUserProfile(accessToken, function(err, skip) { + if (err) { return done(err); } + if (!skip) { return loadIt(); } + return skipIt(); + }); + } else { + var skip = (typeof this._skipUserProfile == 'function') ? this._skipUserProfile() : this._skipUserProfile; + if (!skip) { return loadIt(); } + return skipIt(); + } +}; + +/** + * Create an OAuth error. + * + * @param {String} message + * @param {Object|Error} err + * @api private + */ +OAuth2Strategy.prototype._createOAuthError = function(message, err) { + var e; + if (err.statusCode && err.data) { + try { + e = this.parseErrorResponse(err.data, err.statusCode); + } catch (_) {} + } + if (!e) { e = new InternalOAuthError(message, err); } + return e; +}; + + +// Expose constructor. +module.exports = OAuth2Strategy; diff --git a/express-server/node_modules/passport-oauth2/lib/utils.js b/express-server/node_modules/passport-oauth2/lib/utils.js new file mode 100644 index 00000000..486f9e15 --- /dev/null +++ b/express-server/node_modules/passport-oauth2/lib/utils.js @@ -0,0 +1,32 @@ +exports.merge = require('utils-merge'); + +/** + * Reconstructs the original URL of the request. + * + * This function builds a URL that corresponds the original URL requested by the + * client, including the protocol (http or https) and host. + * + * If the request passed through any proxies that terminate SSL, the + * `X-Forwarded-Proto` header is used to detect if the request was encrypted to + * the proxy, assuming that the proxy has been flagged as trusted. + * + * @param {http.IncomingMessage} req + * @param {Object} [options] + * @return {String} + * @api private + */ +exports.originalURL = function(req, options) { + options = options || {}; + var app = req.app; + if (app && app.get && app.get('trust proxy')) { + options.proxy = true; + } + var trustProxy = options.proxy; + + var proto = (req.headers['x-forwarded-proto'] || '').toLowerCase() + , tls = req.connection.encrypted || (trustProxy && 'https' == proto.split(/\s*,\s*/)[0]) + , host = (trustProxy && req.headers['x-forwarded-host']) || req.headers.host + , protocol = tls ? 'https' : 'http' + , path = req.url || ''; + return protocol + '://' + host + path; +}; diff --git a/express-server/node_modules/passport-oauth2/package.json b/express-server/node_modules/passport-oauth2/package.json new file mode 100644 index 00000000..0143892c --- /dev/null +++ b/express-server/node_modules/passport-oauth2/package.json @@ -0,0 +1,79 @@ +{ + "_from": "passport-oauth2@1.x.x", + "_id": "passport-oauth2@1.4.0", + "_inBundle": false, + "_integrity": "sha1-9i+BWDy+EmCb585vFguTlaJ7hq0=", + "_location": "/passport-oauth2", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "passport-oauth2@1.x.x", + "name": "passport-oauth2", + "escapedName": "passport-oauth2", + "rawSpec": "1.x.x", + "saveSpec": null, + "fetchSpec": "1.x.x" + }, + "_requiredBy": [ + "/passport-google-oauth20" + ], + "_resolved": "https://registry.npmjs.org/passport-oauth2/-/passport-oauth2-1.4.0.tgz", + "_shasum": "f62f81583cbe12609be7ce6f160b9395a27b86ad", + "_spec": "passport-oauth2@1.x.x", + "_where": "C:\\Users\\Georg\\GitHub\\SmartShopper\\express-server\\node_modules\\passport-google-oauth20", + "author": { + "name": "Jared Hanson", + "email": "jaredhanson@gmail.com", + "url": "http://www.jaredhanson.net/" + }, + "bugs": { + "url": "http://github.com/jaredhanson/passport-oauth2/issues" + }, + "bundleDependencies": false, + "dependencies": { + "oauth": "0.9.x", + "passport-strategy": "1.x.x", + "uid2": "0.0.x", + "utils-merge": "1.x.x" + }, + "deprecated": false, + "description": "OAuth 2.0 authentication strategy for Passport.", + "devDependencies": { + "chai": "2.x.x", + "chai-passport-strategy": "1.x.x", + "make-node": "0.3.x", + "mocha": "2.x.x" + }, + "engines": { + "node": ">= 0.4.0" + }, + "homepage": "https://github.com/jaredhanson/passport-oauth2#readme", + "keywords": [ + "passport", + "auth", + "authn", + "authentication", + "authz", + "authorization", + "oauth", + "oauth2" + ], + "license": "MIT", + "licenses": [ + { + "type": "MIT", + "url": "http://opensource.org/licenses/MIT" + } + ], + "main": "./lib", + "name": "passport-oauth2", + "repository": { + "type": "git", + "url": "git://github.com/jaredhanson/passport-oauth2.git" + }, + "scripts": { + "test": "mocha --reporter spec --require test/bootstrap/node test/*.test.js test/**/*.test.js" + }, + "version": "1.4.0" +} diff --git a/express-server/node_modules/passport-strategy/.jshintrc b/express-server/node_modules/passport-strategy/.jshintrc new file mode 100644 index 00000000..a07354b1 --- /dev/null +++ b/express-server/node_modules/passport-strategy/.jshintrc @@ -0,0 +1,20 @@ +{ + "node": true, + + "bitwise": true, + "camelcase": true, + "curly": true, + "forin": true, + "immed": true, + "latedef": true, + "newcap": true, + "noarg": true, + "noempty": true, + "nonew": true, + "quotmark": "single", + "undef": true, + "unused": true, + "trailing": true, + + "laxcomma": true +} diff --git a/express-server/node_modules/passport-strategy/.travis.yml b/express-server/node_modules/passport-strategy/.travis.yml new file mode 100644 index 00000000..45f86244 --- /dev/null +++ b/express-server/node_modules/passport-strategy/.travis.yml @@ -0,0 +1,15 @@ +language: "node_js" +node_js: + - "0.4" + - "0.6" + - "0.8" + - "0.10" + +before_install: + - "npm install istanbul -g" + - "npm install coveralls -g" + +script: "make ci-travis" + +after_success: + - "make submit-coverage-to-coveralls" diff --git a/express-server/node_modules/passport-strategy/LICENSE b/express-server/node_modules/passport-strategy/LICENSE new file mode 100644 index 00000000..ec885b56 --- /dev/null +++ b/express-server/node_modules/passport-strategy/LICENSE @@ -0,0 +1,20 @@ +(The MIT License) + +Copyright (c) 2011-2013 Jared Hanson + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/express-server/node_modules/passport-strategy/README.md b/express-server/node_modules/passport-strategy/README.md new file mode 100644 index 00000000..71de07f7 --- /dev/null +++ b/express-server/node_modules/passport-strategy/README.md @@ -0,0 +1,61 @@ +# passport-strategy + +[![Build](https://travis-ci.org/jaredhanson/passport-strategy.png)](http://travis-ci.org/jaredhanson/passport-strategy) +[![Coverage](https://coveralls.io/repos/jaredhanson/passport-strategy/badge.png)](https://coveralls.io/r/jaredhanson/passport-strategy) +[![Dependencies](https://david-dm.org/jaredhanson/passport-strategy.png)](http://david-dm.org/jaredhanson/passport-strategy) + + +An abstract class implementing [Passport](http://passportjs.org/)'s strategy +API. + +## Install + + $ npm install passport-strategy + +## Usage + +This module exports an abstract `Strategy` class that is intended to be +subclassed when implementing concrete authentication strategies. Once +implemented, such strategies can be used by applications that utilize Passport +middleware for authentication. + +#### Subclass Strategy + +Create a new `CustomStrategy` constructor which inherits from `Strategy`: + +```javascript +var util = require('util') + , Strategy = require('passport-strategy'); + +function CustomStrategy(...) { + Strategy.call(this); +} + +util.inherits(CustomStrategy, Strategy); +``` + +#### Implement Authentication + +Implement `autheticate()`, performing the necessary operations required by the +authentication scheme or protocol being implemented. + +```javascript +CustomStrategy.prototype.authenticate = function(req, options) { + // TODO: authenticate request +} +``` + +## Tests + + $ npm install + $ npm test + +## Credits + + - [Jared Hanson](http://github.com/jaredhanson) + +## License + +[The MIT License](http://opensource.org/licenses/MIT) + +Copyright (c) 2011-2013 Jared Hanson <[http://jaredhanson.net/](http://jaredhanson.net/)> diff --git a/express-server/node_modules/passport-strategy/lib/index.js b/express-server/node_modules/passport-strategy/lib/index.js new file mode 100644 index 00000000..a6fdfa74 --- /dev/null +++ b/express-server/node_modules/passport-strategy/lib/index.js @@ -0,0 +1,15 @@ +/** + * Module dependencies. + */ +var Strategy = require('./strategy'); + + +/** + * Expose `Strategy` directly from package. + */ +exports = module.exports = Strategy; + +/** + * Export constructors. + */ +exports.Strategy = Strategy; diff --git a/express-server/node_modules/passport-strategy/lib/strategy.js b/express-server/node_modules/passport-strategy/lib/strategy.js new file mode 100644 index 00000000..5a7eb28b --- /dev/null +++ b/express-server/node_modules/passport-strategy/lib/strategy.js @@ -0,0 +1,28 @@ +/** + * Creates an instance of `Strategy`. + * + * @constructor + * @api public + */ +function Strategy() { +} + +/** + * Authenticate request. + * + * This function must be overridden by subclasses. In abstract form, it always + * throws an exception. + * + * @param {Object} req The request to authenticate. + * @param {Object} [options] Strategy-specific options. + * @api public + */ +Strategy.prototype.authenticate = function(req, options) { + throw new Error('Strategy#authenticate must be overridden by subclass'); +}; + + +/** + * Expose `Strategy`. + */ +module.exports = Strategy; diff --git a/express-server/node_modules/passport-strategy/package.json b/express-server/node_modules/passport-strategy/package.json new file mode 100644 index 00000000..f2af1a32 --- /dev/null +++ b/express-server/node_modules/passport-strategy/package.json @@ -0,0 +1,77 @@ +{ + "_from": "passport-strategy@1.x.x", + "_id": "passport-strategy@1.0.0", + "_inBundle": false, + "_integrity": "sha1-tVOaqPwiWj0a0XlHbd8ja0QPUuQ=", + "_location": "/passport-strategy", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "passport-strategy@1.x.x", + "name": "passport-strategy", + "escapedName": "passport-strategy", + "rawSpec": "1.x.x", + "saveSpec": null, + "fetchSpec": "1.x.x" + }, + "_requiredBy": [ + "/passport", + "/passport-oauth1", + "/passport-oauth2" + ], + "_resolved": "https://registry.npmjs.org/passport-strategy/-/passport-strategy-1.0.0.tgz", + "_shasum": "b5539aa8fc225a3d1ad179476ddf236b440f52e4", + "_spec": "passport-strategy@1.x.x", + "_where": "C:\\Users\\Georg\\GitHub\\SmartShopper\\express-server\\node_modules\\passport", + "author": { + "name": "Jared Hanson", + "email": "jaredhanson@gmail.com", + "url": "http://www.jaredhanson.net/" + }, + "bugs": { + "url": "http://github.com/jaredhanson/passport-strategy/issues" + }, + "bundleDependencies": false, + "dependencies": {}, + "deprecated": false, + "description": "An abstract class implementing Passport's strategy API.", + "devDependencies": { + "chai": "1.x.x", + "mocha": "1.x.x" + }, + "engines": { + "node": ">= 0.4.0" + }, + "homepage": "https://github.com/jaredhanson/passport-strategy#readme", + "keywords": [ + "passport", + "strategy" + ], + "licenses": [ + { + "type": "MIT", + "url": "http://www.opensource.org/licenses/MIT" + } + ], + "main": "./lib", + "name": "passport-strategy", + "repository": { + "type": "git", + "url": "git://github.com/jaredhanson/passport-strategy.git" + }, + "scripts": { + "test": "mocha --reporter spec --require test/bootstrap/node test/*.test.js" + }, + "testling": { + "browsers": [ + "chrome/latest" + ], + "harness": "mocha", + "files": [ + "test/bootstrap/testling.js", + "test/*.test.js" + ] + }, + "version": "1.0.0" +} diff --git a/express-server/node_modules/passport/.npmignore b/express-server/node_modules/passport/.npmignore new file mode 100644 index 00000000..a50451d7 --- /dev/null +++ b/express-server/node_modules/passport/.npmignore @@ -0,0 +1,8 @@ +Makefile +docs/ +examples/ +reports/ +test/ + +.jshintrc +.travis.yml diff --git a/express-server/node_modules/passport/LICENSE b/express-server/node_modules/passport/LICENSE new file mode 100644 index 00000000..b28e9016 --- /dev/null +++ b/express-server/node_modules/passport/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2011-2015 Jared Hanson + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/express-server/node_modules/passport/README.md b/express-server/node_modules/passport/README.md new file mode 100644 index 00000000..f276b4e7 --- /dev/null +++ b/express-server/node_modules/passport/README.md @@ -0,0 +1,177 @@ +[![passport banner](http://cdn.auth0.com/img/passport-banner-github.png)](http://passportjs.org) + +# Passport + +[![Build](https://travis-ci.org/jaredhanson/passport.svg?branch=master)](https://travis-ci.org/jaredhanson/passport) +[![Coverage](https://coveralls.io/repos/jaredhanson/passport/badge.svg?branch=master)](https://coveralls.io/r/jaredhanson/passport) +[![Quality](https://codeclimate.com/github/jaredhanson/passport/badges/gpa.svg)](https://codeclimate.com/github/jaredhanson/passport) +[![Dependencies](https://david-dm.org/jaredhanson/passport.svg)](https://david-dm.org/jaredhanson/passport) +[![Tips](https://img.shields.io/gratipay/jaredhanson.svg)](https://gratipay.com/jaredhanson/) + + +Passport is [Express](http://expressjs.com/)-compatible authentication +middleware for [Node.js](http://nodejs.org/). + +Passport's sole purpose is to authenticate requests, which it does through an +extensible set of plugins known as _strategies_. Passport does not mount +routes or assume any particular database schema, which maximizes flexibility and +allows application-level decisions to be made by the developer. The API is +simple: you provide Passport a request to authenticate, and Passport provides +hooks for controlling what occurs when authentication succeeds or fails. + +## Install + +``` +$ npm install passport +``` + +## Usage + +#### Strategies + +Passport uses the concept of strategies to authenticate requests. Strategies +can range from verifying username and password credentials, delegated +authentication using [OAuth](http://oauth.net/) (for example, via [Facebook](http://www.facebook.com/) +or [Twitter](http://twitter.com/)), or federated authentication using [OpenID](http://openid.net/). + +Before authenticating requests, the strategy (or strategies) used by an +application must be configured. + +```javascript +passport.use(new LocalStrategy( + function(username, password, done) { + User.findOne({ username: username }, function (err, user) { + if (err) { return done(err); } + if (!user) { return done(null, false); } + if (!user.verifyPassword(password)) { return done(null, false); } + return done(null, user); + }); + } +)); +``` + +There are 300+ strategies. Find the ones you want at: [passportjs.org](http://passportjs.org) + +#### Sessions + +Passport will maintain persistent login sessions. In order for persistent +sessions to work, the authenticated user must be serialized to the session, and +deserialized when subsequent requests are made. + +Passport does not impose any restrictions on how your user records are stored. +Instead, you provide functions to Passport which implements the necessary +serialization and deserialization logic. In a typical application, this will be +as simple as serializing the user ID, and finding the user by ID when +deserializing. + +```javascript +passport.serializeUser(function(user, done) { + done(null, user.id); +}); + +passport.deserializeUser(function(id, done) { + User.findById(id, function (err, user) { + done(err, user); + }); +}); +``` + +#### Middleware + +To use Passport in an [Express](http://expressjs.com/) or +[Connect](http://senchalabs.github.com/connect/)-based application, configure it +with the required `passport.initialize()` middleware. If your application uses +persistent login sessions (recommended, but not required), `passport.session()` +middleware must also be used. + +```javascript +var app = express(); +app.use(require('serve-static')(__dirname + '/../../public')); +app.use(require('cookie-parser')()); +app.use(require('body-parser').urlencoded({ extended: true })); +app.use(require('express-session')({ secret: 'keyboard cat', resave: true, saveUninitialized: true })); +app.use(passport.initialize()); +app.use(passport.session()); +``` + +#### Authenticate Requests + +Passport provides an `authenticate()` function, which is used as route +middleware to authenticate requests. + +```javascript +app.post('/login', + passport.authenticate('local', { failureRedirect: '/login' }), + function(req, res) { + res.redirect('/'); + }); +``` + +## Strategies + +Passport has a comprehensive set of **over 300** authentication strategies +covering social networking, enterprise integration, API services, and more. + +## Search all strategies + +There is a **Strategy Search** at [passportjs.org](http://passportjs.org) + +The following table lists commonly used strategies: + +|Strategy | Protocol |Developer | +|---------------------------------------------------------------|--------------------------|------------------------------------------------| +|[Local](https://github.com/jaredhanson/passport-local) | HTML form |[Jared Hanson](https://github.com/jaredhanson) | +|[OpenID](https://github.com/jaredhanson/passport-openid) | OpenID |[Jared Hanson](https://github.com/jaredhanson) | +|[BrowserID](https://github.com/jaredhanson/passport-browserid) | BrowserID |[Jared Hanson](https://github.com/jaredhanson) | +|[Facebook](https://github.com/jaredhanson/passport-facebook) | OAuth 2.0 |[Jared Hanson](https://github.com/jaredhanson) | +|[Google](https://github.com/jaredhanson/passport-google) | OpenID |[Jared Hanson](https://github.com/jaredhanson) | +|[Google](https://github.com/jaredhanson/passport-google-oauth) | OAuth / OAuth 2.0 |[Jared Hanson](https://github.com/jaredhanson) | +|[Twitter](https://github.com/jaredhanson/passport-twitter) | OAuth |[Jared Hanson](https://github.com/jaredhanson) | +|[Azure Active Directory](https://github.com/AzureAD/passport-azure-ad) | OAuth 2.0 / OpenID / SAML |[Azure](https://github.com/azuread) | + +## Examples + +- For a complete, working example, refer to the [example](https://github.com/passport/express-4.x-local-example) +that uses [passport-local](https://github.com/jaredhanson/passport-local). +- **Local Strategy**: Refer to the following tutorials for setting up user authentication via LocalStrategy (`passport-local`): + - Mongo + - Express v3x - [Tutorial](http://mherman.org/blog/2016/09/25/node-passport-and-postgres/#.V-govpMrJE5) / [working example](https://github.com/mjhea0/passport-local-knex) + - Express v4x - [Tutorial](http://mherman.org/blog/2015/01/31/local-authentication-with-passport-and-express-4/) / [working example](https://github.com/mjhea0/passport-local-express4) + - Postgres + - [Tutorial](http://mherman.org/blog/2015/01/31/local-authentication-with-passport-and-express-4/) / [working example](https://github.com/mjhea0/passport-local-express4) +- **Social Authentication**: Refer to the following tutorials for setting up various social authentication strategies: + - Express v3x - [Tutorial](http://mherman.org/blog/2013/11/10/social-authentication-with-passport-dot-js/) / [working example](https://github.com/mjhea0/passport-examples) + - Express v4x - [Tutorial](http://mherman.org/blog/2015/09/26/social-authentication-in-node-dot-js-with-passport) / [working example](https://github.com/mjhea0/passport-social-auth) + +## Related Modules + +- [Locomotive](https://github.com/jaredhanson/locomotive) — Powerful MVC web framework +- [OAuthorize](https://github.com/jaredhanson/oauthorize) — OAuth service provider toolkit +- [OAuth2orize](https://github.com/jaredhanson/oauth2orize) — OAuth 2.0 authorization server toolkit +- [connect-ensure-login](https://github.com/jaredhanson/connect-ensure-login) — middleware to ensure login sessions + +The [modules](https://github.com/jaredhanson/passport/wiki/Modules) page on the +[wiki](https://github.com/jaredhanson/passport/wiki) lists other useful modules +that build upon or integrate with Passport. + +## Tests + +``` +$ npm install +$ make test +``` + +## Credits + + - [Jared Hanson](http://github.com/jaredhanson) + +## Supporters + +This project is supported by ![](http://passportjs.org/images/supported_logo.svg) [Auth0](https://auth0.com) + +## License + +[The MIT License](http://opensource.org/licenses/MIT) + +Copyright (c) 2011-2015 Jared Hanson <[http://jaredhanson.net/](http://jaredhanson.net/)> + diff --git a/express-server/node_modules/passport/lib/authenticator.js b/express-server/node_modules/passport/lib/authenticator.js new file mode 100644 index 00000000..01605469 --- /dev/null +++ b/express-server/node_modules/passport/lib/authenticator.js @@ -0,0 +1,471 @@ +/** + * Module dependencies. + */ +var SessionStrategy = require('./strategies/session') + , SessionManager = require('./sessionmanager'); + + +/** + * `Authenticator` constructor. + * + * @api public + */ +function Authenticator() { + this._key = 'passport'; + this._strategies = {}; + this._serializers = []; + this._deserializers = []; + this._infoTransformers = []; + this._framework = null; + this._userProperty = 'user'; + + this.init(); +} + +/** + * Initialize authenticator. + * + * @api protected + */ +Authenticator.prototype.init = function() { + this.framework(require('./framework/connect')()); + this.use(new SessionStrategy(this.deserializeUser.bind(this))); + this._sm = new SessionManager({ key: this._key }, this.serializeUser.bind(this)); +}; + +/** + * Utilize the given `strategy` with optional `name`, overridding the strategy's + * default name. + * + * Examples: + * + * passport.use(new TwitterStrategy(...)); + * + * passport.use('api', new http.BasicStrategy(...)); + * + * @param {String|Strategy} name + * @param {Strategy} strategy + * @return {Authenticator} for chaining + * @api public + */ +Authenticator.prototype.use = function(name, strategy) { + if (!strategy) { + strategy = name; + name = strategy.name; + } + if (!name) { throw new Error('Authentication strategies must have a name'); } + + this._strategies[name] = strategy; + return this; +}; + +/** + * Un-utilize the `strategy` with given `name`. + * + * In typical applications, the necessary authentication strategies are static, + * configured once and always available. As such, there is often no need to + * invoke this function. + * + * However, in certain situations, applications may need dynamically configure + * and de-configure authentication strategies. The `use()`/`unuse()` + * combination satisfies these scenarios. + * + * Examples: + * + * passport.unuse('legacy-api'); + * + * @param {String} name + * @return {Authenticator} for chaining + * @api public + */ +Authenticator.prototype.unuse = function(name) { + delete this._strategies[name]; + return this; +}; + +/** + * Setup Passport to be used under framework. + * + * By default, Passport exposes middleware that operate using Connect-style + * middleware using a `fn(req, res, next)` signature. Other popular frameworks + * have different expectations, and this function allows Passport to be adapted + * to operate within such environments. + * + * If you are using a Connect-compatible framework, including Express, there is + * no need to invoke this function. + * + * Examples: + * + * passport.framework(require('hapi-passport')()); + * + * @param {Object} name + * @return {Authenticator} for chaining + * @api public + */ +Authenticator.prototype.framework = function(fw) { + this._framework = fw; + return this; +}; + +/** + * Passport's primary initialization middleware. + * + * This middleware must be in use by the Connect/Express application for + * Passport to operate. + * + * Options: + * - `userProperty` Property to set on `req` upon login, defaults to _user_ + * + * Examples: + * + * app.use(passport.initialize()); + * + * app.use(passport.initialize({ userProperty: 'currentUser' })); + * + * @param {Object} options + * @return {Function} middleware + * @api public + */ +Authenticator.prototype.initialize = function(options) { + options = options || {}; + this._userProperty = options.userProperty || 'user'; + + return this._framework.initialize(this, options); +}; + +/** + * Middleware that will authenticate a request using the given `strategy` name, + * with optional `options` and `callback`. + * + * Examples: + * + * passport.authenticate('local', { successRedirect: '/', failureRedirect: '/login' })(req, res); + * + * passport.authenticate('local', function(err, user) { + * if (!user) { return res.redirect('/login'); } + * res.end('Authenticated!'); + * })(req, res); + * + * passport.authenticate('basic', { session: false })(req, res); + * + * app.get('/auth/twitter', passport.authenticate('twitter'), function(req, res) { + * // request will be redirected to Twitter + * }); + * app.get('/auth/twitter/callback', passport.authenticate('twitter'), function(req, res) { + * res.json(req.user); + * }); + * + * @param {String} strategy + * @param {Object} options + * @param {Function} callback + * @return {Function} middleware + * @api public + */ +Authenticator.prototype.authenticate = function(strategy, options, callback) { + return this._framework.authenticate(this, strategy, options, callback); +}; + +/** + * Middleware that will authorize a third-party account using the given + * `strategy` name, with optional `options`. + * + * If authorization is successful, the result provided by the strategy's verify + * callback will be assigned to `req.account`. The existing login session and + * `req.user` will be unaffected. + * + * This function is particularly useful when connecting third-party accounts + * to the local account of a user that is currently authenticated. + * + * Examples: + * + * passport.authorize('twitter-authz', { failureRedirect: '/account' }); + * + * @param {String} strategy + * @param {Object} options + * @return {Function} middleware + * @api public + */ +Authenticator.prototype.authorize = function(strategy, options, callback) { + options = options || {}; + options.assignProperty = 'account'; + + var fn = this._framework.authorize || this._framework.authenticate; + return fn(this, strategy, options, callback); +}; + +/** + * Middleware that will restore login state from a session. + * + * Web applications typically use sessions to maintain login state between + * requests. For example, a user will authenticate by entering credentials into + * a form which is submitted to the server. If the credentials are valid, a + * login session is established by setting a cookie containing a session + * identifier in the user's web browser. The web browser will send this cookie + * in subsequent requests to the server, allowing a session to be maintained. + * + * If sessions are being utilized, and a login session has been established, + * this middleware will populate `req.user` with the current user. + * + * Note that sessions are not strictly required for Passport to operate. + * However, as a general rule, most web applications will make use of sessions. + * An exception to this rule would be an API server, which expects each HTTP + * request to provide credentials in an Authorization header. + * + * Examples: + * + * app.use(connect.cookieParser()); + * app.use(connect.session({ secret: 'keyboard cat' })); + * app.use(passport.initialize()); + * app.use(passport.session()); + * + * Options: + * - `pauseStream` Pause the request stream before deserializing the user + * object from the session. Defaults to _false_. Should + * be set to true in cases where middleware consuming the + * request body is configured after passport and the + * deserializeUser method is asynchronous. + * + * @param {Object} options + * @return {Function} middleware + * @api public + */ +Authenticator.prototype.session = function(options) { + return this.authenticate('session', options); +}; + +// TODO: Make session manager pluggable +/* +Authenticator.prototype.sessionManager = function(mgr) { + this._sm = mgr; + return this; +} +*/ + +/** + * Registers a function used to serialize user objects into the session. + * + * Examples: + * + * passport.serializeUser(function(user, done) { + * done(null, user.id); + * }); + * + * @api public + */ +Authenticator.prototype.serializeUser = function(fn, req, done) { + if (typeof fn === 'function') { + return this._serializers.push(fn); + } + + // private implementation that traverses the chain of serializers, attempting + // to serialize a user + var user = fn; + + // For backwards compatibility + if (typeof req === 'function') { + done = req; + req = undefined; + } + + var stack = this._serializers; + (function pass(i, err, obj) { + // serializers use 'pass' as an error to skip processing + if ('pass' === err) { + err = undefined; + } + // an error or serialized object was obtained, done + if (err || obj || obj === 0) { return done(err, obj); } + + var layer = stack[i]; + if (!layer) { + return done(new Error('Failed to serialize user into session')); + } + + + function serialized(e, o) { + pass(i + 1, e, o); + } + + try { + var arity = layer.length; + if (arity == 3) { + layer(req, user, serialized); + } else { + layer(user, serialized); + } + } catch(e) { + return done(e); + } + })(0); +}; + +/** + * Registers a function used to deserialize user objects out of the session. + * + * Examples: + * + * passport.deserializeUser(function(id, done) { + * User.findById(id, function (err, user) { + * done(err, user); + * }); + * }); + * + * @api public + */ +Authenticator.prototype.deserializeUser = function(fn, req, done) { + if (typeof fn === 'function') { + return this._deserializers.push(fn); + } + + // private implementation that traverses the chain of deserializers, + // attempting to deserialize a user + var obj = fn; + + // For backwards compatibility + if (typeof req === 'function') { + done = req; + req = undefined; + } + + var stack = this._deserializers; + (function pass(i, err, user) { + // deserializers use 'pass' as an error to skip processing + if ('pass' === err) { + err = undefined; + } + // an error or deserialized user was obtained, done + if (err || user) { return done(err, user); } + // a valid user existed when establishing the session, but that user has + // since been removed + if (user === null || user === false) { return done(null, false); } + + var layer = stack[i]; + if (!layer) { + return done(new Error('Failed to deserialize user out of session')); + } + + + function deserialized(e, u) { + pass(i + 1, e, u); + } + + try { + var arity = layer.length; + if (arity == 3) { + layer(req, obj, deserialized); + } else { + layer(obj, deserialized); + } + } catch(e) { + return done(e); + } + })(0); +}; + +/** + * Registers a function used to transform auth info. + * + * In some circumstances authorization details are contained in authentication + * credentials or loaded as part of verification. + * + * For example, when using bearer tokens for API authentication, the tokens may + * encode (either directly or indirectly in a database), details such as scope + * of access or the client to which the token was issued. + * + * Such authorization details should be enforced separately from authentication. + * Because Passport deals only with the latter, this is the responsiblity of + * middleware or routes further along the chain. However, it is not optimal to + * decode the same data or execute the same database query later. To avoid + * this, Passport accepts optional `info` along with the authenticated `user` + * in a strategy's `success()` action. This info is set at `req.authInfo`, + * where said later middlware or routes can access it. + * + * Optionally, applications can register transforms to proccess this info, + * which take effect prior to `req.authInfo` being set. This is useful, for + * example, when the info contains a client ID. The transform can load the + * client from the database and include the instance in the transformed info, + * allowing the full set of client properties to be convieniently accessed. + * + * If no transforms are registered, `info` supplied by the strategy will be left + * unmodified. + * + * Examples: + * + * passport.transformAuthInfo(function(info, done) { + * Client.findById(info.clientID, function (err, client) { + * info.client = client; + * done(err, info); + * }); + * }); + * + * @api public + */ +Authenticator.prototype.transformAuthInfo = function(fn, req, done) { + if (typeof fn === 'function') { + return this._infoTransformers.push(fn); + } + + // private implementation that traverses the chain of transformers, + // attempting to transform auth info + var info = fn; + + // For backwards compatibility + if (typeof req === 'function') { + done = req; + req = undefined; + } + + var stack = this._infoTransformers; + (function pass(i, err, tinfo) { + // transformers use 'pass' as an error to skip processing + if ('pass' === err) { + err = undefined; + } + // an error or transformed info was obtained, done + if (err || tinfo) { return done(err, tinfo); } + + var layer = stack[i]; + if (!layer) { + // if no transformers are registered (or they all pass), the default + // behavior is to use the un-transformed info as-is + return done(null, info); + } + + + function transformed(e, t) { + pass(i + 1, e, t); + } + + try { + var arity = layer.length; + if (arity == 1) { + // sync + var t = layer(info); + transformed(null, t); + } else if (arity == 3) { + layer(req, info, transformed); + } else { + layer(info, transformed); + } + } catch(e) { + return done(e); + } + })(0); +}; + +/** + * Return strategy with given `name`. + * + * @param {String} name + * @return {Strategy} + * @api private + */ +Authenticator.prototype._strategy = function(name) { + return this._strategies[name]; +}; + + +/** + * Expose `Authenticator`. + */ +module.exports = Authenticator; diff --git a/express-server/node_modules/passport/lib/errors/authenticationerror.js b/express-server/node_modules/passport/lib/errors/authenticationerror.js new file mode 100644 index 00000000..2b1da147 --- /dev/null +++ b/express-server/node_modules/passport/lib/errors/authenticationerror.js @@ -0,0 +1,20 @@ +/** + * `AuthenticationError` error. + * + * @constructor + * @api private + */ +function AuthenticationError(message, status) { + Error.call(this); + Error.captureStackTrace(this, arguments.callee); + this.name = 'AuthenticationError'; + this.message = message; + this.status = status || 401; +} + +// Inherit from `Error`. +AuthenticationError.prototype.__proto__ = Error.prototype; + + +// Expose constructor. +module.exports = AuthenticationError; diff --git a/express-server/node_modules/passport/lib/framework/connect.js b/express-server/node_modules/passport/lib/framework/connect.js new file mode 100644 index 00000000..5c5beb09 --- /dev/null +++ b/express-server/node_modules/passport/lib/framework/connect.js @@ -0,0 +1,39 @@ +/** + * Module dependencies. + */ +var initialize = require('../middleware/initialize') + , authenticate = require('../middleware/authenticate'); + +/** + * Framework support for Connect/Express. + * + * This module provides support for using Passport with Express. It exposes + * middleware that conform to the `fn(req, res, next)` signature and extends + * Node's built-in HTTP request object with useful authentication-related + * functions. + * + * @return {Object} + * @api protected + */ +exports = module.exports = function() { + + // HTTP extensions. + exports.__monkeypatchNode(); + + return { + initialize: initialize, + authenticate: authenticate + }; +}; + +exports.__monkeypatchNode = function() { + var http = require('http'); + var IncomingMessageExt = require('../http/request'); + + http.IncomingMessage.prototype.login = + http.IncomingMessage.prototype.logIn = IncomingMessageExt.logIn; + http.IncomingMessage.prototype.logout = + http.IncomingMessage.prototype.logOut = IncomingMessageExt.logOut; + http.IncomingMessage.prototype.isAuthenticated = IncomingMessageExt.isAuthenticated; + http.IncomingMessage.prototype.isUnauthenticated = IncomingMessageExt.isUnauthenticated; +}; diff --git a/express-server/node_modules/passport/lib/http/request.js b/express-server/node_modules/passport/lib/http/request.js new file mode 100644 index 00000000..0206abb8 --- /dev/null +++ b/express-server/node_modules/passport/lib/http/request.js @@ -0,0 +1,100 @@ +/** + * Module dependencies. + */ +//var http = require('http') +// , req = http.IncomingMessage.prototype; + + +var req = exports = module.exports = {}; + +/** + * Initiate a login session for `user`. + * + * Options: + * - `session` Save login state in session, defaults to _true_ + * + * Examples: + * + * req.logIn(user, { session: false }); + * + * req.logIn(user, function(err) { + * if (err) { throw err; } + * // session saved + * }); + * + * @param {User} user + * @param {Object} options + * @param {Function} done + * @api public + */ +req.login = +req.logIn = function(user, options, done) { + if (typeof options == 'function') { + done = options; + options = {}; + } + options = options || {}; + + var property = 'user'; + if (this._passport && this._passport.instance) { + property = this._passport.instance._userProperty || 'user'; + } + var session = (options.session === undefined) ? true : options.session; + + this[property] = user; + if (session) { + if (!this._passport) { throw new Error('passport.initialize() middleware not in use'); } + if (typeof done != 'function') { throw new Error('req#login requires a callback function'); } + + var self = this; + this._passport.instance._sm.logIn(this, user, function(err) { + if (err) { self[property] = null; return done(err); } + done(); + }); + } else { + done && done(); + } +}; + +/** + * Terminate an existing login session. + * + * @api public + */ +req.logout = +req.logOut = function() { + var property = 'user'; + if (this._passport && this._passport.instance) { + property = this._passport.instance._userProperty || 'user'; + } + + this[property] = null; + if (this._passport) { + this._passport.instance._sm.logOut(this); + } +}; + +/** + * Test if request is authenticated. + * + * @return {Boolean} + * @api public + */ +req.isAuthenticated = function() { + var property = 'user'; + if (this._passport && this._passport.instance) { + property = this._passport.instance._userProperty || 'user'; + } + + return (this[property]) ? true : false; +}; + +/** + * Test if request is unauthenticated. + * + * @return {Boolean} + * @api public + */ +req.isUnauthenticated = function() { + return !this.isAuthenticated(); +}; diff --git a/express-server/node_modules/passport/lib/index.js b/express-server/node_modules/passport/lib/index.js new file mode 100644 index 00000000..ab174691 --- /dev/null +++ b/express-server/node_modules/passport/lib/index.js @@ -0,0 +1,26 @@ +/** + * Module dependencies. + */ +var Passport = require('./authenticator') + , SessionStrategy = require('./strategies/session'); + + +/** + * Export default singleton. + * + * @api public + */ +exports = module.exports = new Passport(); + +/** + * Expose constructors. + */ +exports.Passport = +exports.Authenticator = Passport; +exports.Strategy = require('passport-strategy'); + +/** + * Expose strategies. + */ +exports.strategies = {}; +exports.strategies.SessionStrategy = SessionStrategy; diff --git a/express-server/node_modules/passport/lib/middleware/authenticate.js b/express-server/node_modules/passport/lib/middleware/authenticate.js new file mode 100644 index 00000000..ccc9b2ac --- /dev/null +++ b/express-server/node_modules/passport/lib/middleware/authenticate.js @@ -0,0 +1,364 @@ +/** + * Module dependencies. + */ +var http = require('http') + , IncomingMessageExt = require('../http/request') + , AuthenticationError = require('../errors/authenticationerror'); + + +/** + * Authenticates requests. + * + * Applies the `name`ed strategy (or strategies) to the incoming request, in + * order to authenticate the request. If authentication is successful, the user + * will be logged in and populated at `req.user` and a session will be + * established by default. If authentication fails, an unauthorized response + * will be sent. + * + * Options: + * - `session` Save login state in session, defaults to _true_ + * - `successRedirect` After successful login, redirect to given URL + * - `successMessage` True to store success message in + * req.session.messages, or a string to use as override + * message for success. + * - `successFlash` True to flash success messages or a string to use as a flash + * message for success (overrides any from the strategy itself). + * - `failureRedirect` After failed login, redirect to given URL + * - `failureMessage` True to store failure message in + * req.session.messages, or a string to use as override + * message for failure. + * - `failureFlash` True to flash failure messages or a string to use as a flash + * message for failures (overrides any from the strategy itself). + * - `assignProperty` Assign the object provided by the verify callback to given property + * + * An optional `callback` can be supplied to allow the application to override + * the default manner in which authentication attempts are handled. The + * callback has the following signature, where `user` will be set to the + * authenticated user on a successful authentication attempt, or `false` + * otherwise. An optional `info` argument will be passed, containing additional + * details provided by the strategy's verify callback - this could be information about + * a successful authentication or a challenge message for a failed authentication. + * An optional `status` argument will be passed when authentication fails - this could + * be a HTTP response code for a remote authentication failure or similar. + * + * app.get('/protected', function(req, res, next) { + * passport.authenticate('local', function(err, user, info, status) { + * if (err) { return next(err) } + * if (!user) { return res.redirect('/signin') } + * res.redirect('/account'); + * })(req, res, next); + * }); + * + * Note that if a callback is supplied, it becomes the application's + * responsibility to log-in the user, establish a session, and otherwise perform + * the desired operations. + * + * Examples: + * + * passport.authenticate('local', { successRedirect: '/', failureRedirect: '/login' }); + * + * passport.authenticate('basic', { session: false }); + * + * passport.authenticate('twitter'); + * + * @param {String|Array} name + * @param {Object} options + * @param {Function} callback + * @return {Function} + * @api public + */ +module.exports = function authenticate(passport, name, options, callback) { + if (typeof options == 'function') { + callback = options; + options = {}; + } + options = options || {}; + + var multi = true; + + // Cast `name` to an array, allowing authentication to pass through a chain of + // strategies. The first strategy to succeed, redirect, or error will halt + // the chain. Authentication failures will proceed through each strategy in + // series, ultimately failing if all strategies fail. + // + // This is typically used on API endpoints to allow clients to authenticate + // using their preferred choice of Basic, Digest, token-based schemes, etc. + // It is not feasible to construct a chain of multiple strategies that involve + // redirection (for example both Facebook and Twitter), since the first one to + // redirect will halt the chain. + if (!Array.isArray(name)) { + name = [ name ]; + multi = false; + } + + return function authenticate(req, res, next) { + if (http.IncomingMessage.prototype.logIn + && http.IncomingMessage.prototype.logIn !== IncomingMessageExt.logIn) { + require('../framework/connect').__monkeypatchNode(); + } + + + // accumulator for failures from each strategy in the chain + var failures = []; + + function allFailed() { + if (callback) { + if (!multi) { + return callback(null, false, failures[0].challenge, failures[0].status); + } else { + var challenges = failures.map(function(f) { return f.challenge; }); + var statuses = failures.map(function(f) { return f.status; }); + return callback(null, false, challenges, statuses); + } + } + + // Strategies are ordered by priority. For the purpose of flashing a + // message, the first failure will be displayed. + var failure = failures[0] || {} + , challenge = failure.challenge || {} + , msg; + + if (options.failureFlash) { + var flash = options.failureFlash; + if (typeof flash == 'string') { + flash = { type: 'error', message: flash }; + } + flash.type = flash.type || 'error'; + + var type = flash.type || challenge.type || 'error'; + msg = flash.message || challenge.message || challenge; + if (typeof msg == 'string') { + req.flash(type, msg); + } + } + if (options.failureMessage) { + msg = options.failureMessage; + if (typeof msg == 'boolean') { + msg = challenge.message || challenge; + } + if (typeof msg == 'string') { + req.session.messages = req.session.messages || []; + req.session.messages.push(msg); + } + } + if (options.failureRedirect) { + return res.redirect(options.failureRedirect); + } + + // When failure handling is not delegated to the application, the default + // is to respond with 401 Unauthorized. Note that the WWW-Authenticate + // header will be set according to the strategies in use (see + // actions#fail). If multiple strategies failed, each of their challenges + // will be included in the response. + var rchallenge = [] + , rstatus, status; + + for (var j = 0, len = failures.length; j < len; j++) { + failure = failures[j]; + challenge = failure.challenge; + status = failure.status; + + rstatus = rstatus || status; + if (typeof challenge == 'string') { + rchallenge.push(challenge); + } + } + + res.statusCode = rstatus || 401; + if (res.statusCode == 401 && rchallenge.length) { + res.setHeader('WWW-Authenticate', rchallenge); + } + if (options.failWithError) { + return next(new AuthenticationError(http.STATUS_CODES[res.statusCode], rstatus)); + } + res.end(http.STATUS_CODES[res.statusCode]); + } + + (function attempt(i) { + var layer = name[i]; + // If no more strategies exist in the chain, authentication has failed. + if (!layer) { return allFailed(); } + + // Get the strategy, which will be used as prototype from which to create + // a new instance. Action functions will then be bound to the strategy + // within the context of the HTTP request/response pair. + var prototype = passport._strategy(layer); + if (!prototype) { return next(new Error('Unknown authentication strategy "' + layer + '"')); } + + var strategy = Object.create(prototype); + + + // ----- BEGIN STRATEGY AUGMENTATION ----- + // Augment the new strategy instance with action functions. These action + // functions are bound via closure the the request/response pair. The end + // goal of the strategy is to invoke *one* of these action methods, in + // order to indicate successful or failed authentication, redirect to a + // third-party identity provider, etc. + + /** + * Authenticate `user`, with optional `info`. + * + * Strategies should call this function to successfully authenticate a + * user. `user` should be an object supplied by the application after it + * has been given an opportunity to verify credentials. `info` is an + * optional argument containing additional user information. This is + * useful for third-party authentication strategies to pass profile + * details. + * + * @param {Object} user + * @param {Object} info + * @api public + */ + strategy.success = function(user, info) { + if (callback) { + return callback(null, user, info); + } + + info = info || {}; + var msg; + + if (options.successFlash) { + var flash = options.successFlash; + if (typeof flash == 'string') { + flash = { type: 'success', message: flash }; + } + flash.type = flash.type || 'success'; + + var type = flash.type || info.type || 'success'; + msg = flash.message || info.message || info; + if (typeof msg == 'string') { + req.flash(type, msg); + } + } + if (options.successMessage) { + msg = options.successMessage; + if (typeof msg == 'boolean') { + msg = info.message || info; + } + if (typeof msg == 'string') { + req.session.messages = req.session.messages || []; + req.session.messages.push(msg); + } + } + if (options.assignProperty) { + req[options.assignProperty] = user; + return next(); + } + + req.logIn(user, options, function(err) { + if (err) { return next(err); } + + function complete() { + if (options.successReturnToOrRedirect) { + var url = options.successReturnToOrRedirect; + if (req.session && req.session.returnTo) { + url = req.session.returnTo; + delete req.session.returnTo; + } + return res.redirect(url); + } + if (options.successRedirect) { + return res.redirect(options.successRedirect); + } + next(); + } + + if (options.authInfo !== false) { + passport.transformAuthInfo(info, req, function(err, tinfo) { + if (err) { return next(err); } + req.authInfo = tinfo; + complete(); + }); + } else { + complete(); + } + }); + }; + + /** + * Fail authentication, with optional `challenge` and `status`, defaulting + * to 401. + * + * Strategies should call this function to fail an authentication attempt. + * + * @param {String} challenge + * @param {Number} status + * @api public + */ + strategy.fail = function(challenge, status) { + if (typeof challenge == 'number') { + status = challenge; + challenge = undefined; + } + + // push this failure into the accumulator and attempt authentication + // using the next strategy + failures.push({ challenge: challenge, status: status }); + attempt(i + 1); + }; + + /** + * Redirect to `url` with optional `status`, defaulting to 302. + * + * Strategies should call this function to redirect the user (via their + * user agent) to a third-party website for authentication. + * + * @param {String} url + * @param {Number} status + * @api public + */ + strategy.redirect = function(url, status) { + // NOTE: Do not use `res.redirect` from Express, because it can't decide + // what it wants. + // + // Express 2.x: res.redirect(url, status) + // Express 3.x: res.redirect(status, url) -OR- res.redirect(url, status) + // - as of 3.14.0, deprecated warnings are issued if res.redirect(url, status) + // is used + // Express 4.x: res.redirect(status, url) + // - all versions (as of 4.8.7) continue to accept res.redirect(url, status) + // but issue deprecated versions + + res.statusCode = status || 302; + res.setHeader('Location', url); + res.setHeader('Content-Length', '0'); + res.end(); + }; + + /** + * Pass without making a success or fail decision. + * + * Under most circumstances, Strategies should not need to call this + * function. It exists primarily to allow previous authentication state + * to be restored, for example from an HTTP session. + * + * @api public + */ + strategy.pass = function() { + next(); + }; + + /** + * Internal error while performing authentication. + * + * Strategies should call this function when an internal error occurs + * during the process of performing authentication; for example, if the + * user directory is not available. + * + * @param {Error} err + * @api public + */ + strategy.error = function(err) { + if (callback) { + return callback(err); + } + + next(err); + }; + + // ----- END STRATEGY AUGMENTATION ----- + + strategy.authenticate(req, options); + })(0); // attempt + }; +}; diff --git a/express-server/node_modules/passport/lib/middleware/initialize.js b/express-server/node_modules/passport/lib/middleware/initialize.js new file mode 100644 index 00000000..53ce3d86 --- /dev/null +++ b/express-server/node_modules/passport/lib/middleware/initialize.js @@ -0,0 +1,55 @@ +/** + * Passport initialization. + * + * Intializes Passport for incoming requests, allowing authentication strategies + * to be applied. + * + * If sessions are being utilized, applications must set up Passport with + * functions to serialize a user into and out of a session. For example, a + * common pattern is to serialize just the user ID into the session (due to the + * fact that it is desirable to store the minimum amount of data in a session). + * When a subsequent request arrives for the session, the full User object can + * be loaded from the database by ID. + * + * Note that additional middleware is required to persist login state, so we + * must use the `connect.session()` middleware _before_ `passport.initialize()`. + * + * If sessions are being used, this middleware must be in use by the + * Connect/Express application for Passport to operate. If the application is + * entirely stateless (not using sessions), this middleware is not necessary, + * but its use will not have any adverse impact. + * + * Examples: + * + * app.use(connect.cookieParser()); + * app.use(connect.session({ secret: 'keyboard cat' })); + * app.use(passport.initialize()); + * app.use(passport.session()); + * + * passport.serializeUser(function(user, done) { + * done(null, user.id); + * }); + * + * passport.deserializeUser(function(id, done) { + * User.findById(id, function (err, user) { + * done(err, user); + * }); + * }); + * + * @return {Function} + * @api public + */ +module.exports = function initialize(passport) { + + return function initialize(req, res, next) { + req._passport = {}; + req._passport.instance = passport; + + if (req.session && req.session[passport._key]) { + // load data from existing session + req._passport.session = req.session[passport._key]; + } + + next(); + }; +}; diff --git a/express-server/node_modules/passport/lib/sessionmanager.js b/express-server/node_modules/passport/lib/sessionmanager.js new file mode 100644 index 00000000..0fdbd8bd --- /dev/null +++ b/express-server/node_modules/passport/lib/sessionmanager.js @@ -0,0 +1,38 @@ +function SessionManager(options, serializeUser) { + if (typeof options == 'function') { + serializeUser = options; + options = undefined; + } + options = options || {}; + + this._key = options.key || 'passport'; + this._serializeUser = serializeUser; +} + +SessionManager.prototype.logIn = function(req, user, cb) { + var self = this; + this._serializeUser(user, req, function(err, obj) { + if (err) { + return cb(err); + } + if (!req._passport.session) { + req._passport.session = {}; + } + req._passport.session.user = obj; + if (!req.session) { + req.session = {}; + } + req.session[self._key] = req._passport.session; + cb(); + }); +} + +SessionManager.prototype.logOut = function(req, cb) { + if (req._passport && req._passport.session) { + delete req._passport.session.user; + } + cb && cb(); +} + + +module.exports = SessionManager; diff --git a/express-server/node_modules/passport/lib/strategies/session.js b/express-server/node_modules/passport/lib/strategies/session.js new file mode 100644 index 00000000..92b57923 --- /dev/null +++ b/express-server/node_modules/passport/lib/strategies/session.js @@ -0,0 +1,83 @@ +/** + * Module dependencies. + */ +var pause = require('pause') + , util = require('util') + , Strategy = require('passport-strategy'); + + +/** + * `SessionStrategy` constructor. + * + * @api public + */ +function SessionStrategy(options, deserializeUser) { + if (typeof options == 'function') { + deserializeUser = options; + options = undefined; + } + options = options || {}; + + Strategy.call(this); + this.name = 'session'; + this._deserializeUser = deserializeUser; +} + +/** + * Inherit from `Strategy`. + */ +util.inherits(SessionStrategy, Strategy); + +/** + * Authenticate request based on the current session state. + * + * The session authentication strategy uses the session to restore any login + * state across requests. If a login session has been established, `req.user` + * will be populated with the current user. + * + * This strategy is registered automatically by Passport. + * + * @param {Object} req + * @param {Object} options + * @api protected + */ +SessionStrategy.prototype.authenticate = function(req, options) { + if (!req._passport) { return this.error(new Error('passport.initialize() middleware not in use')); } + options = options || {}; + + var self = this, + su; + if (req._passport.session) { + su = req._passport.session.user; + } + + if (su || su === 0) { + // NOTE: Stream pausing is desirable in the case where later middleware is + // listening for events emitted from request. For discussion on the + // matter, refer to: https://github.com/jaredhanson/passport/pull/106 + + var paused = options.pauseStream ? pause(req) : null; + this._deserializeUser(su, req, function(err, user) { + if (err) { return self.error(err); } + if (!user) { + delete req._passport.session.user; + } else { + // TODO: Remove instance access + var property = req._passport.instance._userProperty || 'user'; + req[property] = user; + } + self.pass(); + if (paused) { + paused.resume(); + } + }); + } else { + self.pass(); + } +}; + + +/** + * Expose `SessionStrategy`. + */ +module.exports = SessionStrategy; diff --git a/express-server/node_modules/passport/package.json b/express-server/node_modules/passport/package.json new file mode 100644 index 00000000..d4477332 --- /dev/null +++ b/express-server/node_modules/passport/package.json @@ -0,0 +1,77 @@ +{ + "_from": "passport", + "_id": "passport@0.4.0", + "_inBundle": false, + "_integrity": "sha1-xQlWkTR71a07XhgCOMORTRbwWBE=", + "_location": "/passport", + "_phantomChildren": {}, + "_requested": { + "type": "tag", + "registry": true, + "raw": "passport", + "name": "passport", + "escapedName": "passport", + "rawSpec": "", + "saveSpec": null, + "fetchSpec": "latest" + }, + "_requiredBy": [ + "#USER", + "/" + ], + "_resolved": "https://registry.npmjs.org/passport/-/passport-0.4.0.tgz", + "_shasum": "c5095691347bd5ad3b5e180238c3914d16f05811", + "_spec": "passport", + "_where": "C:\\Users\\Georg\\GitHub\\SmartShopper\\express-server", + "author": { + "name": "Jared Hanson", + "email": "jaredhanson@gmail.com", + "url": "http://www.jaredhanson.net/" + }, + "bugs": { + "url": "http://github.com/jaredhanson/passport/issues" + }, + "bundleDependencies": false, + "dependencies": { + "passport-strategy": "1.x.x", + "pause": "0.0.1" + }, + "deprecated": false, + "description": "Simple, unobtrusive authentication for Node.js.", + "devDependencies": { + "chai": "2.x.x", + "chai-connect-middleware": "0.3.x", + "chai-passport-strategy": "0.2.x", + "make-node": "0.3.x", + "mocha": "2.x.x", + "proxyquire": "1.4.x" + }, + "engines": { + "node": ">= 0.4.0" + }, + "homepage": "http://passportjs.org/", + "keywords": [ + "express", + "connect", + "auth", + "authn", + "authentication" + ], + "license": "MIT", + "licenses": [ + { + "type": "MIT", + "url": "http://opensource.org/licenses/MIT" + } + ], + "main": "./lib", + "name": "passport", + "repository": { + "type": "git", + "url": "git://github.com/jaredhanson/passport.git" + }, + "scripts": { + "test": "mocha --reporter spec --require test/bootstrap/node test/*.test.js test/**/*.test.js" + }, + "version": "0.4.0" +} diff --git a/express-server/node_modules/pause/.npmignore b/express-server/node_modules/pause/.npmignore new file mode 100644 index 00000000..f1250e58 --- /dev/null +++ b/express-server/node_modules/pause/.npmignore @@ -0,0 +1,4 @@ +support +test +examples +*.sock diff --git a/express-server/node_modules/pause/History.md b/express-server/node_modules/pause/History.md new file mode 100644 index 00000000..c8aa68fa --- /dev/null +++ b/express-server/node_modules/pause/History.md @@ -0,0 +1,5 @@ + +0.0.1 / 2010-01-03 +================== + + * Initial release diff --git a/express-server/node_modules/pause/Makefile b/express-server/node_modules/pause/Makefile new file mode 100644 index 00000000..4e9c8d36 --- /dev/null +++ b/express-server/node_modules/pause/Makefile @@ -0,0 +1,7 @@ + +test: + @./node_modules/.bin/mocha \ + --require should \ + --reporter spec + +.PHONY: test \ No newline at end of file diff --git a/express-server/node_modules/pause/Readme.md b/express-server/node_modules/pause/Readme.md new file mode 100644 index 00000000..1cdd68a2 --- /dev/null +++ b/express-server/node_modules/pause/Readme.md @@ -0,0 +1,29 @@ + +# pause + + Pause streams... + +## License + +(The MIT License) + +Copyright (c) 2012 TJ Holowaychuk <tj@vision-media.ca> + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/express-server/node_modules/pause/index.js b/express-server/node_modules/pause/index.js new file mode 100644 index 00000000..1b7b3794 --- /dev/null +++ b/express-server/node_modules/pause/index.js @@ -0,0 +1,29 @@ + +module.exports = function(obj){ + var onData + , onEnd + , events = []; + + // buffer data + obj.on('data', onData = function(data, encoding){ + events.push(['data', data, encoding]); + }); + + // buffer end + obj.on('end', onEnd = function(data, encoding){ + events.push(['end', data, encoding]); + }); + + return { + end: function(){ + obj.removeListener('data', onData); + obj.removeListener('end', onEnd); + }, + resume: function(){ + this.end(); + for (var i = 0, len = events.length; i < len; ++i) { + obj.emit.apply(obj, events[i]); + } + } + }; +}; \ No newline at end of file diff --git a/express-server/node_modules/pause/package.json b/express-server/node_modules/pause/package.json new file mode 100644 index 00000000..60c1cb2b --- /dev/null +++ b/express-server/node_modules/pause/package.json @@ -0,0 +1,41 @@ +{ + "_from": "pause@0.0.1", + "_id": "pause@0.0.1", + "_inBundle": false, + "_integrity": "sha1-HUCLP9t2kjuVQ9lvtMnf1TXZy10=", + "_location": "/pause", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "pause@0.0.1", + "name": "pause", + "escapedName": "pause", + "rawSpec": "0.0.1", + "saveSpec": null, + "fetchSpec": "0.0.1" + }, + "_requiredBy": [ + "/passport" + ], + "_resolved": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz", + "_shasum": "1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d", + "_spec": "pause@0.0.1", + "_where": "C:\\Users\\Georg\\GitHub\\SmartShopper\\express-server\\node_modules\\passport", + "author": { + "name": "TJ Holowaychuk", + "email": "tj@vision-media.ca" + }, + "bundleDependencies": false, + "dependencies": {}, + "deprecated": false, + "description": "Pause streams...", + "devDependencies": { + "mocha": "*", + "should": "*" + }, + "keywords": [], + "main": "index", + "name": "pause", + "version": "0.0.1" +} diff --git a/express-server/node_modules/pify/index.js b/express-server/node_modules/pify/index.js new file mode 100644 index 00000000..1dee43ad --- /dev/null +++ b/express-server/node_modules/pify/index.js @@ -0,0 +1,84 @@ +'use strict'; + +const processFn = (fn, opts) => function () { + const P = opts.promiseModule; + const args = new Array(arguments.length); + + for (let i = 0; i < arguments.length; i++) { + args[i] = arguments[i]; + } + + return new P((resolve, reject) => { + if (opts.errorFirst) { + args.push(function (err, result) { + if (opts.multiArgs) { + const results = new Array(arguments.length - 1); + + for (let i = 1; i < arguments.length; i++) { + results[i - 1] = arguments[i]; + } + + if (err) { + results.unshift(err); + reject(results); + } else { + resolve(results); + } + } else if (err) { + reject(err); + } else { + resolve(result); + } + }); + } else { + args.push(function (result) { + if (opts.multiArgs) { + const results = new Array(arguments.length - 1); + + for (let i = 0; i < arguments.length; i++) { + results[i] = arguments[i]; + } + + resolve(results); + } else { + resolve(result); + } + }); + } + + fn.apply(this, args); + }); +}; + +module.exports = (obj, opts) => { + opts = Object.assign({ + exclude: [/.+(Sync|Stream)$/], + errorFirst: true, + promiseModule: Promise + }, opts); + + const filter = key => { + const match = pattern => typeof pattern === 'string' ? key === pattern : pattern.test(key); + return opts.include ? opts.include.some(match) : !opts.exclude.some(match); + }; + + let ret; + if (typeof obj === 'function') { + ret = function () { + if (opts.excludeMain) { + return obj.apply(this, arguments); + } + + return processFn(obj, opts).apply(this, arguments); + }; + } else { + ret = Object.create(Object.getPrototypeOf(obj)); + } + + for (const key in obj) { // eslint-disable-line guard-for-in + const x = obj[key]; + ret[key] = typeof x === 'function' && filter(key) ? processFn(x, opts) : x; + } + + return ret; +}; diff --git a/express-server/node_modules/pify/license b/express-server/node_modules/pify/license new file mode 100644 index 00000000..e7af2f77 --- /dev/null +++ b/express-server/node_modules/pify/license @@ -0,0 +1,9 @@ +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/express-server/node_modules/pify/package.json b/express-server/node_modules/pify/package.json new file mode 100644 index 00000000..c006c458 --- /dev/null +++ b/express-server/node_modules/pify/package.json @@ -0,0 +1,85 @@ +{ + "_from": "pify@^3.0.0", + "_id": "pify@3.0.0", + "_inBundle": false, + "_integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "_location": "/pify", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "pify@^3.0.0", + "name": "pify", + "escapedName": "pify", + "rawSpec": "^3.0.0", + "saveSpec": null, + "fetchSpec": "^3.0.0" + }, + "_requiredBy": [ + "/google-p12-pem", + "/googleapis-common", + "/gtoken" + ], + "_resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "_shasum": "e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176", + "_spec": "pify@^3.0.0", + "_where": "C:\\Users\\Georg\\GitHub\\SmartShopper\\express-server\\node_modules\\gtoken", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "bugs": { + "url": "https://github.com/sindresorhus/pify/issues" + }, + "bundleDependencies": false, + "deprecated": false, + "description": "Promisify a callback-style function", + "devDependencies": { + "ava": "*", + "pinkie-promise": "^2.0.0", + "v8-natives": "^1.0.0", + "xo": "*" + }, + "engines": { + "node": ">=4" + }, + "files": [ + "index.js" + ], + "homepage": "https://github.com/sindresorhus/pify#readme", + "keywords": [ + "promise", + "promises", + "promisify", + "all", + "denodify", + "denodeify", + "callback", + "cb", + "node", + "then", + "thenify", + "convert", + "transform", + "wrap", + "wrapper", + "bind", + "to", + "async", + "await", + "es2015", + "bluebird" + ], + "license": "MIT", + "name": "pify", + "repository": { + "type": "git", + "url": "git+https://github.com/sindresorhus/pify.git" + }, + "scripts": { + "optimization-test": "node --allow-natives-syntax optimization-test.js", + "test": "xo && ava && npm run optimization-test" + }, + "version": "3.0.0" +} diff --git a/express-server/node_modules/pify/readme.md b/express-server/node_modules/pify/readme.md new file mode 100644 index 00000000..376ca4e5 --- /dev/null +++ b/express-server/node_modules/pify/readme.md @@ -0,0 +1,131 @@ +# pify [![Build Status](https://travis-ci.org/sindresorhus/pify.svg?branch=master)](https://travis-ci.org/sindresorhus/pify) + +> Promisify a callback-style function + + +## Install + +``` +$ npm install --save pify +``` + + +## Usage + +```js +const fs = require('fs'); +const pify = require('pify'); + +// Promisify a single function +pify(fs.readFile)('package.json', 'utf8').then(data => { + console.log(JSON.parse(data).name); + //=> 'pify' +}); + +// Promisify all methods in a module +pify(fs).readFile('package.json', 'utf8').then(data => { + console.log(JSON.parse(data).name); + //=> 'pify' +}); +``` + + +## API + +### pify(input, [options]) + +Returns a `Promise` wrapped version of the supplied function or module. + +#### input + +Type: `Function` `Object` + +Callback-style function or module whose methods you want to promisify. + +#### options + +##### multiArgs + +Type: `boolean`
+Default: `false` + +By default, the promisified function will only return the second argument from the callback, which works fine for most APIs. This option can be useful for modules like `request` that return multiple arguments. Turning this on will make it return an array of all arguments from the callback, excluding the error argument, instead of just the second argument. This also applies to rejections, where it returns an array of all the callback arguments, including the error. + +```js +const request = require('request'); +const pify = require('pify'); + +pify(request, {multiArgs: true})('https://sindresorhus.com').then(result => { + const [httpResponse, body] = result; +}); +``` + +##### include + +Type: `string[]` `RegExp[]` + +Methods in a module to promisify. Remaining methods will be left untouched. + +##### exclude + +Type: `string[]` `RegExp[]`
+Default: `[/.+(Sync|Stream)$/]` + +Methods in a module **not** to promisify. Methods with names ending with `'Sync'` are excluded by default. + +##### excludeMain + +Type: `boolean`
+Default: `false` + +If given module is a function itself, it will be promisified. Turn this option on if you want to promisify only methods of the module. + +```js +const pify = require('pify'); + +function fn() { + return true; +} + +fn.method = (data, callback) => { + setImmediate(() => { + callback(null, data); + }); +}; + +// Promisify methods but not `fn()` +const promiseFn = pify(fn, {excludeMain: true}); + +if (promiseFn()) { + promiseFn.method('hi').then(data => { + console.log(data); + }); +} +``` + +##### errorFirst + +Type: `boolean`
+Default: `true` + +Whether the callback has an error as the first argument. You'll want to set this to `false` if you're dealing with an API that doesn't have an error as the first argument, like `fs.exists()`, some browser APIs, Chrome Extension APIs, etc. + +##### promiseModule + +Type: `Function` + +Custom promise module to use instead of the native one. + +Check out [`pinkie-promise`](https://github.com/floatdrop/pinkie-promise) if you need a tiny promise polyfill. + + +## Related + +- [p-event](https://github.com/sindresorhus/p-event) - Promisify an event by waiting for it to be emitted +- [p-map](https://github.com/sindresorhus/p-map) - Map over promises concurrently +- [More…](https://github.com/sindresorhus/promise-fun) + + +## License + +MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/express-server/node_modules/pseudomap/LICENSE b/express-server/node_modules/pseudomap/LICENSE new file mode 100644 index 00000000..19129e31 --- /dev/null +++ b/express-server/node_modules/pseudomap/LICENSE @@ -0,0 +1,15 @@ +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/express-server/node_modules/pseudomap/README.md b/express-server/node_modules/pseudomap/README.md new file mode 100644 index 00000000..778bf01d --- /dev/null +++ b/express-server/node_modules/pseudomap/README.md @@ -0,0 +1,60 @@ +# pseudomap + +A thing that is a lot like ES6 `Map`, but without iterators, for use +in environments where `for..of` syntax and `Map` are not available. + +If you need iterators, or just in general a more faithful polyfill to +ES6 Maps, check out [es6-map](http://npm.im/es6-map). + +If you are in an environment where `Map` is supported, then that will +be returned instead, unless `process.env.TEST_PSEUDOMAP` is set. + +You can use any value as keys, and any value as data. Setting again +with the identical key will overwrite the previous value. + +Internally, data is stored on an `Object.create(null)` style object. +The key is coerced to a string to generate the key on the internal +data-bag object. The original key used is stored along with the data. + +In the event of a stringified-key collision, a new key is generated by +appending an increasing number to the stringified-key until finding +either the intended key or an empty spot. + +Note that because object traversal order of plain objects is not +guaranteed to be identical to insertion order, the insertion order +guarantee of `Map.prototype.forEach` is not guaranteed in this +implementation. However, in all versions of Node.js and V8 where this +module works, `forEach` does traverse data in insertion order. + +## API + +Most of the [Map +API](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map), +with the following exceptions: + +1. A `Map` object is not an iterator. +2. `values`, `keys`, and `entries` methods are not implemented, + because they return iterators. +3. The argument to the constructor can be an Array of `[key, value]` + pairs, or a `Map` or `PseudoMap` object. But, since iterators + aren't used, passing any plain-old iterator won't initialize the + map properly. + +## USAGE + +Use just like a regular ES6 Map. + +```javascript +var PseudoMap = require('pseudomap') + +// optionally provide a pseudomap, or an array of [key,value] pairs +// as the argument to initialize the map with +var myMap = new PseudoMap() + +myMap.set(1, 'number 1') +myMap.set('1', 'string 1') +var akey = {} +var bkey = {} +myMap.set(akey, { some: 'data' }) +myMap.set(bkey, { some: 'other data' }) +``` diff --git a/express-server/node_modules/pseudomap/map.js b/express-server/node_modules/pseudomap/map.js new file mode 100644 index 00000000..7db15994 --- /dev/null +++ b/express-server/node_modules/pseudomap/map.js @@ -0,0 +1,9 @@ +if (process.env.npm_package_name === 'pseudomap' && + process.env.npm_lifecycle_script === 'test') + process.env.TEST_PSEUDOMAP = 'true' + +if (typeof Map === 'function' && !process.env.TEST_PSEUDOMAP) { + module.exports = Map +} else { + module.exports = require('./pseudomap') +} diff --git a/express-server/node_modules/pseudomap/package.json b/express-server/node_modules/pseudomap/package.json new file mode 100644 index 00000000..ac7d699e --- /dev/null +++ b/express-server/node_modules/pseudomap/package.json @@ -0,0 +1,54 @@ +{ + "_from": "pseudomap@^1.0.2", + "_id": "pseudomap@1.0.2", + "_inBundle": false, + "_integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "_location": "/pseudomap", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "pseudomap@^1.0.2", + "name": "pseudomap", + "escapedName": "pseudomap", + "rawSpec": "^1.0.2", + "saveSpec": null, + "fetchSpec": "^1.0.2" + }, + "_requiredBy": [ + "/lru-cache" + ], + "_resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "_shasum": "f052a28da70e618917ef0a8ac34c1ae5a68286b3", + "_spec": "pseudomap@^1.0.2", + "_where": "C:\\Users\\Georg\\GitHub\\SmartShopper\\express-server\\node_modules\\lru-cache", + "author": { + "name": "Isaac Z. Schlueter", + "email": "i@izs.me", + "url": "http://blog.izs.me/" + }, + "bugs": { + "url": "https://github.com/isaacs/pseudomap/issues" + }, + "bundleDependencies": false, + "deprecated": false, + "description": "A thing that is a lot like ES6 `Map`, but without iterators, for use in environments where `for..of` syntax and `Map` are not available.", + "devDependencies": { + "tap": "^2.3.1" + }, + "directories": { + "test": "test" + }, + "homepage": "https://github.com/isaacs/pseudomap#readme", + "license": "ISC", + "main": "map.js", + "name": "pseudomap", + "repository": { + "type": "git", + "url": "git+https://github.com/isaacs/pseudomap.git" + }, + "scripts": { + "test": "tap test/*.js" + }, + "version": "1.0.2" +} diff --git a/express-server/node_modules/pseudomap/pseudomap.js b/express-server/node_modules/pseudomap/pseudomap.js new file mode 100644 index 00000000..25a21d82 --- /dev/null +++ b/express-server/node_modules/pseudomap/pseudomap.js @@ -0,0 +1,113 @@ +var hasOwnProperty = Object.prototype.hasOwnProperty + +module.exports = PseudoMap + +function PseudoMap (set) { + if (!(this instanceof PseudoMap)) // whyyyyyyy + throw new TypeError("Constructor PseudoMap requires 'new'") + + this.clear() + + if (set) { + if ((set instanceof PseudoMap) || + (typeof Map === 'function' && set instanceof Map)) + set.forEach(function (value, key) { + this.set(key, value) + }, this) + else if (Array.isArray(set)) + set.forEach(function (kv) { + this.set(kv[0], kv[1]) + }, this) + else + throw new TypeError('invalid argument') + } +} + +PseudoMap.prototype.forEach = function (fn, thisp) { + thisp = thisp || this + Object.keys(this._data).forEach(function (k) { + if (k !== 'size') + fn.call(thisp, this._data[k].value, this._data[k].key) + }, this) +} + +PseudoMap.prototype.has = function (k) { + return !!find(this._data, k) +} + +PseudoMap.prototype.get = function (k) { + var res = find(this._data, k) + return res && res.value +} + +PseudoMap.prototype.set = function (k, v) { + set(this._data, k, v) +} + +PseudoMap.prototype.delete = function (k) { + var res = find(this._data, k) + if (res) { + delete this._data[res._index] + this._data.size-- + } +} + +PseudoMap.prototype.clear = function () { + var data = Object.create(null) + data.size = 0 + + Object.defineProperty(this, '_data', { + value: data, + enumerable: false, + configurable: true, + writable: false + }) +} + +Object.defineProperty(PseudoMap.prototype, 'size', { + get: function () { + return this._data.size + }, + set: function (n) {}, + enumerable: true, + configurable: true +}) + +PseudoMap.prototype.values = +PseudoMap.prototype.keys = +PseudoMap.prototype.entries = function () { + throw new Error('iterators are not implemented in this version') +} + +// Either identical, or both NaN +function same (a, b) { + return a === b || a !== a && b !== b +} + +function Entry (k, v, i) { + this.key = k + this.value = v + this._index = i +} + +function find (data, k) { + for (var i = 0, s = '_' + k, key = s; + hasOwnProperty.call(data, key); + key = s + i++) { + if (same(data[key].key, k)) + return data[key] + } +} + +function set (data, k, v) { + for (var i = 0, s = '_' + k, key = s; + hasOwnProperty.call(data, key); + key = s + i++) { + if (same(data[key].key, k)) { + data[key].value = v + return + } + } + data.size++ + data[key] = new Entry(k, v, key) +} diff --git a/express-server/node_modules/pseudomap/test/basic.js b/express-server/node_modules/pseudomap/test/basic.js new file mode 100644 index 00000000..4378e454 --- /dev/null +++ b/express-server/node_modules/pseudomap/test/basic.js @@ -0,0 +1,86 @@ +var t = require('tap') + +process.env.TEST_PSEUDOMAP = 'true' + +var PM = require('../') +runTests(PM) + +// if possible, verify that Map also behaves the same way +if (typeof Map === 'function') + runTests(Map) + + +function runTests (Map) { + t.throws(Map) + + var m = new Map() + + t.equal(m.size, 0) + + m.set(1, '1 string') + t.equal(m.get(1), '1 string') + t.equal(m.size, 1) + m.size = 1000 + t.equal(m.size, 1) + m.size = 0 + t.equal(m.size, 1) + + m = new Map([[1, 'number 1'], ['1', 'string 1']]) + t.equal(m.get(1), 'number 1') + t.equal(m.get('1'), 'string 1') + t.equal(m.size, 2) + + m = new Map(m) + t.equal(m.get(1), 'number 1') + t.equal(m.get('1'), 'string 1') + t.equal(m.size, 2) + + var akey = {} + var bkey = {} + m.set(akey, { some: 'data' }) + m.set(bkey, { some: 'other data' }) + t.same(m.get(akey), { some: 'data' }) + t.same(m.get(bkey), { some: 'other data' }) + t.equal(m.size, 4) + + var x = /x/ + var y = /x/ + m.set(x, 'x regex') + m.set(y, 'y regex') + t.equal(m.get(x), 'x regex') + m.set(x, 'x again') + t.equal(m.get(x), 'x again') + t.equal(m.size, 6) + + m.set(NaN, 'not a number') + t.equal(m.get(NaN), 'not a number') + m.set(NaN, 'it is a ' + typeof NaN) + t.equal(m.get(NaN), 'it is a number') + m.set('NaN', 'stringie nan') + t.equal(m.get(NaN), 'it is a number') + t.equal(m.get('NaN'), 'stringie nan') + t.equal(m.size, 8) + + m.delete(NaN) + t.equal(m.get(NaN), undefined) + t.equal(m.size, 7) + + var expect = [ + { value: 'number 1', key: 1 }, + { value: 'string 1', key: '1' }, + { value: { some: 'data' }, key: {} }, + { value: { some: 'other data' }, key: {} }, + { value: 'x again', key: /x/ }, + { value: 'y regex', key: /x/ }, + { value: 'stringie nan', key: 'NaN' } + ] + var actual = [] + + m.forEach(function (value, key) { + actual.push({ value: value, key: key }) + }) + t.same(actual, expect) + + m.clear() + t.equal(m.size, 0) +} diff --git a/express-server/node_modules/retry-axios/LICENSE b/express-server/node_modules/retry-axios/LICENSE new file mode 100644 index 00000000..b7c9ed18 --- /dev/null +++ b/express-server/node_modules/retry-axios/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2013 Google Inc. + + 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. diff --git a/express-server/node_modules/retry-axios/README.md b/express-server/node_modules/retry-axios/README.md new file mode 100644 index 00000000..8caadc7e --- /dev/null +++ b/express-server/node_modules/retry-axios/README.md @@ -0,0 +1,126 @@ +# retry-axios + +[![NPM Version][npm-image]][npm-url] +[![CircleCI][circle-image]][circle-url] +[![Dependency Status][david-image]][david-url] +[![devDependency Status][david-dev-image]][david-dev-url] +[![Known Vulnerabilities][snyk-image]][snyk-url] +[![codecov][codecov-image]][codecov-url] +[![Greenkeeper badge][greenkeeper-image]][greenkeeper-url] +[![style badge][gts-image]][gts-url] + +Use Axios interceptors to automatically retry failed requests. Super flexible. Built in exponential backoff. + +## Installation + +``` sh +npm install retry-axios +``` + +## Usage + +To use this library, import it alongside of `axios`: + +```js +// Just import rax and your favorite version of axios +const rax = require('retry-axios'); +const {axios} = require('axios'); +``` + +You can attach to the global `axios` object, and retry 3 times by default: + +```js +const interceptorId = rax.attach(); +const res = await axios('https://test.local'); +``` + +Or you can create your own axios instance to make scoped requests: + +```js +const myAxiosInstance = axios.create(); +myAxiosInstance.defaults = { + raxConfig: { + instance: myAxiosInstance + } +} +const interceptorId = rax.attach(myAxiosInstance); +const res = await myAxiosInstance.get('https://test.local'); +``` + +You have a lot of options... + +```js +const interceptorId = rax.attach(); +const res = await axios({ + url: 'https://test.local', + raxConfig: { + // Retry 3 times on requests that return a response (500, etc) before giving up. Defaults to 3. + retry: 3, + + // Retry twice on errors that don't return a response (ENOTFOUND, ETIMEDOUT, etc). + noResponseRetries: 2, + + // Milliseconds to delay at first. Defaults to 100. + retryDelay: 100, + + // HTTP methods to automatically retry. Defaults to: + // ['GET', 'HEAD', 'OPTIONS', 'DELETE', 'PUT'] + httpMethodsToRetry: ['GET', 'HEAD', 'OPTIONS', 'DELETE', 'PUT'], + + // The response status codes to retry. Supports a double + // array with a list of ranges. Defaults to: + // [[100, 199], [429, 429], [500, 599]] + httpStatusCodesToRetry: [[100, 199], [429, 429], [500, 599]], + + // If you are using a non static instance of Axios you need + // to pass that instance here (const ax = axios.create()) + instance: ax, + + // You can detect when a retry is happening, and figure out how many + // retry attempts have been made + onRetryAttempt: (err) => { + const cfg = rax.getConfig(err); + console.log(`Retry attempt #${cfg.currentRetryAttempt}`); + } + } +}); +``` + +Or if you want, you can just decide if it should retry or not: + +```js +const res = await axios({ + url: 'https://test.local', + raxConfig: { + // Override the decision making process on if you should retry + shouldRetry: (err) => { + const cfg = rax.getConfig(err); + return true; + } + } +}); +``` + +## How it works + +This library attaches an `interceptor` to an axios instance you pass to the API. This way you get to choose which version of `axios` you want to run, and you can compose many interceptors on the same request pipeline. + +## License +[Apache-2.0](LICENSE) + +[circle-image]: https://circleci.com/gh/JustinBeckwith/retry-axios.svg?style=svg +[circle-url]: https://circleci.com/gh/JustinBeckwith/retry-axios +[codecov-image]: https://codecov.io/gh/JustinBeckwith/retry-axios/branch/master/graph/badge.svg +[codecov-url]: https://codecov.io/gh/JustinBeckwith/retry-axios +[david-image]: https://david-dm.org/JustinBeckwith/retry-axios.svg +[david-url]: https://david-dm.org/JustinBeckwith/retry-axios +[david-dev-image]: https://david-dm.org/JustinBeckwith/retry-axios/dev-status.svg +[david-dev-url]: https://david-dm.org/JustinBeckwith/retry-axios?type=dev +[greenkeeper-image]: https://badges.greenkeeper.io/JustinBeckwith/retry-axios.svg +[greenkeeper-url]: https://greenkeeper.io/ +[gts-image]: https://img.shields.io/badge/code%20style-Google%20%E2%98%82%EF%B8%8F-blue.svg +[gts-url]: https://www.npmjs.com/package/gts +[npm-image]: https://img.shields.io/npm/v/retry-axios.svg +[npm-url]: https://npmjs.org/package/retry-axios +[snyk-image]: https://snyk.io/test/github/JustinBeckwith/retry-axios/badge.svg +[snyk-url]: https://snyk.io/test/github/JustinBeckwith/retry-axios diff --git a/express-server/node_modules/retry-axios/build/src/index.d.ts b/express-server/node_modules/retry-axios/build/src/index.d.ts new file mode 100644 index 00000000..73966881 --- /dev/null +++ b/express-server/node_modules/retry-axios/build/src/index.d.ts @@ -0,0 +1,65 @@ +import { AxiosError, AxiosInstance, AxiosRequestConfig } from 'axios'; +/** + * Configuration for the Axios `request` method. + */ +export interface RetryConfig { + /** + * The number of times to retry the request. Defaults to 3. + */ + retry?: number; + /** + * The number of retries already attempted. + */ + currentRetryAttempt?: number; + /** + * The amount of time to initially delay the retry. Defaults to 100. + */ + retryDelay?: number; + /** + * The instance of the axios object to which the interceptor is attached. + */ + instance?: AxiosInstance; + /** + * The HTTP Methods that will be automatically retried. + * Defaults to ['GET','PUT','HEAD','OPTIONS','DELETE'] + */ + httpMethodsToRetry?: string[]; + /** + * The HTTP response status codes that will automatically be retried. + * Defaults to: [[100, 199], [429, 429], [500, 599]] + */ + statusCodesToRetry?: number[][]; + /** + * Function to invoke when a retry attempt is made. + */ + onRetryAttempt?: (err: AxiosError) => void; + /** + * Function to invoke which determines if you should retry + */ + shouldRetry?: (err: AxiosError) => boolean; + /** + * When there is no response, the number of retries to attempt. Defaults to 2. + */ + noResponseRetries?: number; +} +export declare type RaxConfig = { + raxConfig: RetryConfig; +} & AxiosRequestConfig; +/** + * Attach the interceptor to the Axios instance. + * @param instance The optional Axios instance on which to attach the + * interceptor. + * @returns The id of the interceptor attached to the axios instance. + */ +export declare function attach(instance?: AxiosInstance): number; +/** + * Eject the Axios interceptor that is providing retry capabilities. + * @param interceptorId The interceptorId provided in the config. + * @param instance The axios instance using this interceptor. + */ +export declare function detach(interceptorId: number, instance?: AxiosInstance): void; +/** + * Acquire the raxConfig object from an AxiosError if available. + * @param err The Axios error with a config object. + */ +export declare function getConfig(err: AxiosError): RetryConfig | undefined; diff --git a/express-server/node_modules/retry-axios/build/src/index.js b/express-server/node_modules/retry-axios/build/src/index.js new file mode 100644 index 00000000..8fc8ef42 --- /dev/null +++ b/express-server/node_modules/retry-axios/build/src/index.js @@ -0,0 +1,133 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var axios_1 = require("axios"); +/** + * Attach the interceptor to the Axios instance. + * @param instance The optional Axios instance on which to attach the + * interceptor. + * @returns The id of the interceptor attached to the axios instance. + */ +function attach(instance) { + instance = instance || axios_1.default; + return instance.interceptors.response.use(onFulfilled, onError); +} +exports.attach = attach; +/** + * Eject the Axios interceptor that is providing retry capabilities. + * @param interceptorId The interceptorId provided in the config. + * @param instance The axios instance using this interceptor. + */ +function detach(interceptorId, instance) { + instance = instance || axios_1.default; + instance.interceptors.response.eject(interceptorId); +} +exports.detach = detach; +function onFulfilled(res) { + return res; +} +function onError(err) { + var config = err.config.raxConfig || {}; + config.currentRetryAttempt = config.currentRetryAttempt || 0; + config.retry = + (config.retry === undefined || config.retry === null) ? 3 : config.retry; + config.retryDelay = config.retryDelay || 100; + config.instance = config.instance || axios_1.default; + config.httpMethodsToRetry = + config.httpMethodsToRetry || ['GET', 'HEAD', 'PUT', 'OPTIONS', 'DELETE']; + config.noResponseRetries = (config.noResponseRetries === undefined || + config.noResponseRetries === null) ? + 2 : + config.noResponseRetries; + // If this wasn't in the list of status codes where we want + // to automatically retry, return. + var retryRanges = [ + // https://en.wikipedia.org/wiki/List_of_HTTP_status_codes + // 1xx - Retry (Informational, request still processing) + // 2xx - Do not retry (Success) + // 3xx - Do not retry (Redirect) + // 4xx - Do not retry (Client errors) + // 429 - Retry ("Too Many Requests") + // 5xx - Retry (Server errors) + [100, 199], [429, 429], [500, 599] + ]; + config.statusCodesToRetry = config.statusCodesToRetry || retryRanges; + // Put the config back into the err + err.config.raxConfig = config; + // Determine if we should retry the request + var shouldRetryFn = config.shouldRetry || shouldRetryRequest; + if (!shouldRetryFn(err)) { + return Promise.reject(err); + } + // Calculate time to wait with exponential backoff. + // Formula: (2^c - 1 / 2) * 1000 + var delay = (Math.pow(2, config.currentRetryAttempt) - 1) / 2 * 1000; + // We're going to retry! Incremenent the counter. + err.config.raxConfig.currentRetryAttempt += 1; + // Create a promise that invokes the retry after the backOffDelay + var backoff = new Promise(function (resolve) { + setTimeout(resolve, delay); + }); + // Notify the user if they added an `onRetryAttempt` handler + if (config.onRetryAttempt) { + config.onRetryAttempt(err); + } + // Return the promise in which recalls axios to retry the request + return backoff.then(function () { + return config.instance.request(err.config); + }); +} +/** + * Determine based on config if we should retry the request. + * @param err The AxiosError passed to the interceptor. + */ +function shouldRetryRequest(err) { + var config = err.config.raxConfig; + // If there's no config, or retries are disabled, return. + if (!config || config.retry === 0) { + return false; + } + // Check if this error has no response (ETIMEDOUT, ENOTFOUND, etc) + if (!err.response && + ((config.currentRetryAttempt || 0) >= config.noResponseRetries)) { + return false; + } + // Only retry with configured HttpMethods. + if (!err.config.method || + config.httpMethodsToRetry.indexOf(err.config.method.toUpperCase()) < 0) { + return false; + } + // If this wasn't in the list of status codes where we want + // to automatically retry, return. + if (err.response && err.response.status) { + var isInRange = false; + for (var _i = 0, _a = config.statusCodesToRetry; _i < _a.length; _i++) { + var _b = _a[_i], min = _b[0], max = _b[1]; + var status = err.response.status; + if (status >= min && status <= max) { + isInRange = true; + break; + } + } + if (!isInRange) { + return false; + } + } + // If we are out of retry attempts, return + config.currentRetryAttempt = config.currentRetryAttempt || 0; + if (config.currentRetryAttempt >= config.retry) { + return false; + } + return true; +} +/** + * Acquire the raxConfig object from an AxiosError if available. + * @param err The Axios error with a config object. + */ +function getConfig(err) { + if (err && err.config) { + return err.config.raxConfig; + } + return; +} +exports.getConfig = getConfig; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/express-server/node_modules/retry-axios/build/src/index.js.map b/express-server/node_modules/retry-axios/build/src/index.js.map new file mode 100644 index 00000000..a6fcb1bd --- /dev/null +++ b/express-server/node_modules/retry-axios/build/src/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/express-server/node_modules/retry-axios/package.json b/express-server/node_modules/retry-axios/package.json new file mode 100644 index 00000000..341f78ea --- /dev/null +++ b/express-server/node_modules/retry-axios/package.json @@ -0,0 +1,88 @@ +{ + "_from": "retry-axios@0.3.2", + "_id": "retry-axios@0.3.2", + "_inBundle": false, + "_integrity": "sha512-jp4YlI0qyDFfXiXGhkCOliBN1G7fRH03Nqy8YdShzGqbY5/9S2x/IR6C88ls2DFkbWuL3ASkP7QD3pVrNpPgwQ==", + "_location": "/retry-axios", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "retry-axios@0.3.2", + "name": "retry-axios", + "escapedName": "retry-axios", + "rawSpec": "0.3.2", + "saveSpec": null, + "fetchSpec": "0.3.2" + }, + "_requiredBy": [ + "/gcp-metadata" + ], + "_resolved": "https://registry.npmjs.org/retry-axios/-/retry-axios-0.3.2.tgz", + "_shasum": "5757c80f585b4cc4c4986aa2ffd47a60c6d35e13", + "_spec": "retry-axios@0.3.2", + "_where": "C:\\Users\\Georg\\GitHub\\SmartShopper\\express-server\\node_modules\\gcp-metadata", + "author": { + "name": "Justin Beckwith" + }, + "bugs": { + "url": "https://github.com/JustinBeckwith/retry-axios/issues" + }, + "bundleDependencies": false, + "deprecated": false, + "description": "Retry HTTP requests with Axios.", + "devDependencies": { + "@types/mocha": "^2.2.48", + "@types/nock": "^9.1.2", + "@types/node": "^9.4.6", + "axios": "^0.18.0", + "codecov": "^3.0.0", + "gts": "^0.5.3", + "js-green-licenses": "^0.4.0", + "mocha": "^5.0.1", + "nock": "^9.1.6", + "nyc": "^11.4.1", + "source-map-support": "^0.5.3", + "typescript": "~2.7.2" + }, + "files": [ + "build/src", + "LICENSE", + "packge.json", + "README.md" + ], + "homepage": "https://github.com/JustinBeckwith/retry-axios#readme", + "keywords": [ + "axios", + "retry" + ], + "license": "Apache-2.0", + "main": "./build/src/index.js", + "name": "retry-axios", + "nyc": { + "exclude": [ + "build/test" + ] + }, + "peerDependencies": { + "axios": "*" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/JustinBeckwith/retry-axios.git" + }, + "scripts": { + "check": "gts check", + "clean": "gts clean", + "codecov": "nyc report --reporter=json && codecov -f coverage/*.json", + "compile": "tsc -p .", + "fix": "gts fix", + "license-check": "jsgl --local .", + "posttest": "npm run check && npm run license-check", + "prepare": "npm run compile", + "pretest": "npm run compile", + "test": "nyc mocha build/test --timeout 5000 --require source-map-support/register" + }, + "types": "./build/src/index.d.ts", + "version": "0.3.2" +} diff --git a/express-server/node_modules/semver/LICENSE b/express-server/node_modules/semver/LICENSE new file mode 100644 index 00000000..19129e31 --- /dev/null +++ b/express-server/node_modules/semver/LICENSE @@ -0,0 +1,15 @@ +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/express-server/node_modules/semver/README.md b/express-server/node_modules/semver/README.md new file mode 100644 index 00000000..e0edbb73 --- /dev/null +++ b/express-server/node_modules/semver/README.md @@ -0,0 +1,399 @@ +semver(1) -- The semantic versioner for npm +=========================================== + +## Install + +```bash +npm install --save semver +```` + +## Usage + +As a node module: + +```js +const semver = require('semver') + +semver.valid('1.2.3') // '1.2.3' +semver.valid('a.b.c') // null +semver.clean(' =v1.2.3 ') // '1.2.3' +semver.satisfies('1.2.3', '1.x || >=2.5.0 || 5.0.0 - 7.2.3') // true +semver.gt('1.2.3', '9.8.7') // false +semver.lt('1.2.3', '9.8.7') // true +semver.valid(semver.coerce('v2')) // '2.0.0' +semver.valid(semver.coerce('42.6.7.9.3-alpha')) // '42.6.7' +``` + +As a command-line utility: + +``` +$ semver -h + +A JavaScript implementation of the http://semver.org/ specification +Copyright Isaac Z. Schlueter + +Usage: semver [options] [ [...]] +Prints valid versions sorted by SemVer precedence + +Options: +-r --range + Print versions that match the specified range. + +-i --increment [] + Increment a version by the specified level. Level can + be one of: major, minor, patch, premajor, preminor, + prepatch, or prerelease. Default level is 'patch'. + Only one version may be specified. + +--preid + Identifier to be used to prefix premajor, preminor, + prepatch or prerelease version increments. + +-l --loose + Interpret versions and ranges loosely + +-p --include-prerelease + Always include prerelease versions in range matching + +-c --coerce + Coerce a string into SemVer if possible + (does not imply --loose) + +Program exits successfully if any valid version satisfies +all supplied ranges, and prints all satisfying versions. + +If no satisfying versions are found, then exits failure. + +Versions are printed in ascending order, so supplying +multiple versions to the utility will just sort them. +``` + +## Versions + +A "version" is described by the `v2.0.0` specification found at +. + +A leading `"="` or `"v"` character is stripped off and ignored. + +## Ranges + +A `version range` is a set of `comparators` which specify versions +that satisfy the range. + +A `comparator` is composed of an `operator` and a `version`. The set +of primitive `operators` is: + +* `<` Less than +* `<=` Less than or equal to +* `>` Greater than +* `>=` Greater than or equal to +* `=` Equal. If no operator is specified, then equality is assumed, + so this operator is optional, but MAY be included. + +For example, the comparator `>=1.2.7` would match the versions +`1.2.7`, `1.2.8`, `2.5.3`, and `1.3.9`, but not the versions `1.2.6` +or `1.1.0`. + +Comparators can be joined by whitespace to form a `comparator set`, +which is satisfied by the **intersection** of all of the comparators +it includes. + +A range is composed of one or more comparator sets, joined by `||`. A +version matches a range if and only if every comparator in at least +one of the `||`-separated comparator sets is satisfied by the version. + +For example, the range `>=1.2.7 <1.3.0` would match the versions +`1.2.7`, `1.2.8`, and `1.2.99`, but not the versions `1.2.6`, `1.3.0`, +or `1.1.0`. + +The range `1.2.7 || >=1.2.9 <2.0.0` would match the versions `1.2.7`, +`1.2.9`, and `1.4.6`, but not the versions `1.2.8` or `2.0.0`. + +### Prerelease Tags + +If a version has a prerelease tag (for example, `1.2.3-alpha.3`) then +it will only be allowed to satisfy comparator sets if at least one +comparator with the same `[major, minor, patch]` tuple also has a +prerelease tag. + +For example, the range `>1.2.3-alpha.3` would be allowed to match the +version `1.2.3-alpha.7`, but it would *not* be satisfied by +`3.4.5-alpha.9`, even though `3.4.5-alpha.9` is technically "greater +than" `1.2.3-alpha.3` according to the SemVer sort rules. The version +range only accepts prerelease tags on the `1.2.3` version. The +version `3.4.5` *would* satisfy the range, because it does not have a +prerelease flag, and `3.4.5` is greater than `1.2.3-alpha.7`. + +The purpose for this behavior is twofold. First, prerelease versions +frequently are updated very quickly, and contain many breaking changes +that are (by the author's design) not yet fit for public consumption. +Therefore, by default, they are excluded from range matching +semantics. + +Second, a user who has opted into using a prerelease version has +clearly indicated the intent to use *that specific* set of +alpha/beta/rc versions. By including a prerelease tag in the range, +the user is indicating that they are aware of the risk. However, it +is still not appropriate to assume that they have opted into taking a +similar risk on the *next* set of prerelease versions. + +#### Prerelease Identifiers + +The method `.inc` takes an additional `identifier` string argument that +will append the value of the string as a prerelease identifier: + +```javascript +semver.inc('1.2.3', 'prerelease', 'beta') +// '1.2.4-beta.0' +``` + +command-line example: + +```bash +$ semver 1.2.3 -i prerelease --preid beta +1.2.4-beta.0 +``` + +Which then can be used to increment further: + +```bash +$ semver 1.2.4-beta.0 -i prerelease +1.2.4-beta.1 +``` + +### Advanced Range Syntax + +Advanced range syntax desugars to primitive comparators in +deterministic ways. + +Advanced ranges may be combined in the same way as primitive +comparators using white space or `||`. + +#### Hyphen Ranges `X.Y.Z - A.B.C` + +Specifies an inclusive set. + +* `1.2.3 - 2.3.4` := `>=1.2.3 <=2.3.4` + +If a partial version is provided as the first version in the inclusive +range, then the missing pieces are replaced with zeroes. + +* `1.2 - 2.3.4` := `>=1.2.0 <=2.3.4` + +If a partial version is provided as the second version in the +inclusive range, then all versions that start with the supplied parts +of the tuple are accepted, but nothing that would be greater than the +provided tuple parts. + +* `1.2.3 - 2.3` := `>=1.2.3 <2.4.0` +* `1.2.3 - 2` := `>=1.2.3 <3.0.0` + +#### X-Ranges `1.2.x` `1.X` `1.2.*` `*` + +Any of `X`, `x`, or `*` may be used to "stand in" for one of the +numeric values in the `[major, minor, patch]` tuple. + +* `*` := `>=0.0.0` (Any version satisfies) +* `1.x` := `>=1.0.0 <2.0.0` (Matching major version) +* `1.2.x` := `>=1.2.0 <1.3.0` (Matching major and minor versions) + +A partial version range is treated as an X-Range, so the special +character is in fact optional. + +* `""` (empty string) := `*` := `>=0.0.0` +* `1` := `1.x.x` := `>=1.0.0 <2.0.0` +* `1.2` := `1.2.x` := `>=1.2.0 <1.3.0` + +#### Tilde Ranges `~1.2.3` `~1.2` `~1` + +Allows patch-level changes if a minor version is specified on the +comparator. Allows minor-level changes if not. + +* `~1.2.3` := `>=1.2.3 <1.(2+1).0` := `>=1.2.3 <1.3.0` +* `~1.2` := `>=1.2.0 <1.(2+1).0` := `>=1.2.0 <1.3.0` (Same as `1.2.x`) +* `~1` := `>=1.0.0 <(1+1).0.0` := `>=1.0.0 <2.0.0` (Same as `1.x`) +* `~0.2.3` := `>=0.2.3 <0.(2+1).0` := `>=0.2.3 <0.3.0` +* `~0.2` := `>=0.2.0 <0.(2+1).0` := `>=0.2.0 <0.3.0` (Same as `0.2.x`) +* `~0` := `>=0.0.0 <(0+1).0.0` := `>=0.0.0 <1.0.0` (Same as `0.x`) +* `~1.2.3-beta.2` := `>=1.2.3-beta.2 <1.3.0` Note that prereleases in + the `1.2.3` version will be allowed, if they are greater than or + equal to `beta.2`. So, `1.2.3-beta.4` would be allowed, but + `1.2.4-beta.2` would not, because it is a prerelease of a + different `[major, minor, patch]` tuple. + +#### Caret Ranges `^1.2.3` `^0.2.5` `^0.0.4` + +Allows changes that do not modify the left-most non-zero digit in the +`[major, minor, patch]` tuple. In other words, this allows patch and +minor updates for versions `1.0.0` and above, patch updates for +versions `0.X >=0.1.0`, and *no* updates for versions `0.0.X`. + +Many authors treat a `0.x` version as if the `x` were the major +"breaking-change" indicator. + +Caret ranges are ideal when an author may make breaking changes +between `0.2.4` and `0.3.0` releases, which is a common practice. +However, it presumes that there will *not* be breaking changes between +`0.2.4` and `0.2.5`. It allows for changes that are presumed to be +additive (but non-breaking), according to commonly observed practices. + +* `^1.2.3` := `>=1.2.3 <2.0.0` +* `^0.2.3` := `>=0.2.3 <0.3.0` +* `^0.0.3` := `>=0.0.3 <0.0.4` +* `^1.2.3-beta.2` := `>=1.2.3-beta.2 <2.0.0` Note that prereleases in + the `1.2.3` version will be allowed, if they are greater than or + equal to `beta.2`. So, `1.2.3-beta.4` would be allowed, but + `1.2.4-beta.2` would not, because it is a prerelease of a + different `[major, minor, patch]` tuple. +* `^0.0.3-beta` := `>=0.0.3-beta <0.0.4` Note that prereleases in the + `0.0.3` version *only* will be allowed, if they are greater than or + equal to `beta`. So, `0.0.3-pr.2` would be allowed. + +When parsing caret ranges, a missing `patch` value desugars to the +number `0`, but will allow flexibility within that value, even if the +major and minor versions are both `0`. + +* `^1.2.x` := `>=1.2.0 <2.0.0` +* `^0.0.x` := `>=0.0.0 <0.1.0` +* `^0.0` := `>=0.0.0 <0.1.0` + +A missing `minor` and `patch` values will desugar to zero, but also +allow flexibility within those values, even if the major version is +zero. + +* `^1.x` := `>=1.0.0 <2.0.0` +* `^0.x` := `>=0.0.0 <1.0.0` + +### Range Grammar + +Putting all this together, here is a Backus-Naur grammar for ranges, +for the benefit of parser authors: + +```bnf +range-set ::= range ( logical-or range ) * +logical-or ::= ( ' ' ) * '||' ( ' ' ) * +range ::= hyphen | simple ( ' ' simple ) * | '' +hyphen ::= partial ' - ' partial +simple ::= primitive | partial | tilde | caret +primitive ::= ( '<' | '>' | '>=' | '<=' | '=' ) partial +partial ::= xr ( '.' xr ( '.' xr qualifier ? )? )? +xr ::= 'x' | 'X' | '*' | nr +nr ::= '0' | ['1'-'9'] ( ['0'-'9'] ) * +tilde ::= '~' partial +caret ::= '^' partial +qualifier ::= ( '-' pre )? ( '+' build )? +pre ::= parts +build ::= parts +parts ::= part ( '.' part ) * +part ::= nr | [-0-9A-Za-z]+ +``` + +## Functions + +All methods and classes take a final `options` object argument. All +options in this object are `false` by default. The options supported +are: + +- `loose` Be more forgiving about not-quite-valid semver strings. + (Any resulting output will always be 100% strict compliant, of + course.) For backwards compatibility reasons, if the `options` + argument is a boolean value instead of an object, it is interpreted + to be the `loose` param. +- `includePrerelease` Set to suppress the [default + behavior](https://github.com/npm/node-semver#prerelease-tags) of + excluding prerelease tagged versions from ranges unless they are + explicitly opted into. + +Strict-mode Comparators and Ranges will be strict about the SemVer +strings that they parse. + +* `valid(v)`: Return the parsed version, or null if it's not valid. +* `inc(v, release)`: Return the version incremented by the release + type (`major`, `premajor`, `minor`, `preminor`, `patch`, + `prepatch`, or `prerelease`), or null if it's not valid + * `premajor` in one call will bump the version up to the next major + version and down to a prerelease of that major version. + `preminor`, and `prepatch` work the same way. + * If called from a non-prerelease version, the `prerelease` will work the + same as `prepatch`. It increments the patch version, then makes a + prerelease. If the input version is already a prerelease it simply + increments it. +* `prerelease(v)`: Returns an array of prerelease components, or null + if none exist. Example: `prerelease('1.2.3-alpha.1') -> ['alpha', 1]` +* `major(v)`: Return the major version number. +* `minor(v)`: Return the minor version number. +* `patch(v)`: Return the patch version number. +* `intersects(r1, r2, loose)`: Return true if the two supplied ranges + or comparators intersect. + +### Comparison + +* `gt(v1, v2)`: `v1 > v2` +* `gte(v1, v2)`: `v1 >= v2` +* `lt(v1, v2)`: `v1 < v2` +* `lte(v1, v2)`: `v1 <= v2` +* `eq(v1, v2)`: `v1 == v2` This is true if they're logically equivalent, + even if they're not the exact same string. You already know how to + compare strings. +* `neq(v1, v2)`: `v1 != v2` The opposite of `eq`. +* `cmp(v1, comparator, v2)`: Pass in a comparison string, and it'll call + the corresponding function above. `"==="` and `"!=="` do simple + string comparison, but are included for completeness. Throws if an + invalid comparison string is provided. +* `compare(v1, v2)`: Return `0` if `v1 == v2`, or `1` if `v1` is greater, or `-1` if + `v2` is greater. Sorts in ascending order if passed to `Array.sort()`. +* `rcompare(v1, v2)`: The reverse of compare. Sorts an array of versions + in descending order when passed to `Array.sort()`. +* `diff(v1, v2)`: Returns difference between two versions by the release type + (`major`, `premajor`, `minor`, `preminor`, `patch`, `prepatch`, or `prerelease`), + or null if the versions are the same. + +### Comparators + +* `intersects(comparator)`: Return true if the comparators intersect + +### Ranges + +* `validRange(range)`: Return the valid range or null if it's not valid +* `satisfies(version, range)`: Return true if the version satisfies the + range. +* `maxSatisfying(versions, range)`: Return the highest version in the list + that satisfies the range, or `null` if none of them do. +* `minSatisfying(versions, range)`: Return the lowest version in the list + that satisfies the range, or `null` if none of them do. +* `gtr(version, range)`: Return `true` if version is greater than all the + versions possible in the range. +* `ltr(version, range)`: Return `true` if version is less than all the + versions possible in the range. +* `outside(version, range, hilo)`: Return true if the version is outside + the bounds of the range in either the high or low direction. The + `hilo` argument must be either the string `'>'` or `'<'`. (This is + the function called by `gtr` and `ltr`.) +* `intersects(range)`: Return true if any of the ranges comparators intersect + +Note that, since ranges may be non-contiguous, a version might not be +greater than a range, less than a range, *or* satisfy a range! For +example, the range `1.2 <1.2.9 || >2.0.0` would have a hole from `1.2.9` +until `2.0.0`, so the version `1.2.10` would not be greater than the +range (because `2.0.1` satisfies, which is higher), nor less than the +range (since `1.2.8` satisfies, which is lower), and it also does not +satisfy the range. + +If you want to know if a version satisfies or does not satisfy a +range, use the `satisfies(version, range)` function. + +### Coercion + +* `coerce(version)`: Coerces a string to semver if possible + +This aims to provide a very forgiving translation of a non-semver +string to semver. It looks for the first digit in a string, and +consumes all remaining characters which satisfy at least a partial semver +(e.g., `1`, `1.2`, `1.2.3`) up to the max permitted length (256 characters). +Longer versions are simply truncated (`4.6.3.9.2-alpha2` becomes `4.6.3`). +All surrounding text is simply ignored (`v3.4 replaces v3.3.1` becomes `3.4.0`). +Only text which lacks digits will fail coercion (`version one` is not valid). +The maximum length for any semver component considered for coercion is 16 characters; +longer components will be ignored (`10000000000000000.4.7.4` becomes `4.7.4`). +The maximum value for any semver component is `Integer.MAX_SAFE_INTEGER || (2**53 - 1)`; +higher value components are invalid (`9999999999999999.4.7.4` is likely invalid). diff --git a/express-server/node_modules/semver/bin/semver b/express-server/node_modules/semver/bin/semver new file mode 100644 index 00000000..9100ed42 --- /dev/null +++ b/express-server/node_modules/semver/bin/semver @@ -0,0 +1,153 @@ +#!/usr/bin/env node +// Standalone semver comparison program. +// Exits successfully and prints matching version(s) if +// any supplied version is valid and passes all tests. + +var argv = process.argv.slice(2) + , versions = [] + , range = [] + , gt = [] + , lt = [] + , eq = [] + , inc = null + , version = require("../package.json").version + , loose = false + , includePrerelease = false + , coerce = false + , identifier = undefined + , semver = require("../semver") + , reverse = false + , options = {} + +main() + +function main () { + if (!argv.length) return help() + while (argv.length) { + var a = argv.shift() + var i = a.indexOf('=') + if (i !== -1) { + a = a.slice(0, i) + argv.unshift(a.slice(i + 1)) + } + switch (a) { + case "-rv": case "-rev": case "--rev": case "--reverse": + reverse = true + break + case "-l": case "--loose": + loose = true + break + case "-p": case "--include-prerelease": + includePrerelease = true + break + case "-v": case "--version": + versions.push(argv.shift()) + break + case "-i": case "--inc": case "--increment": + switch (argv[0]) { + case "major": case "minor": case "patch": case "prerelease": + case "premajor": case "preminor": case "prepatch": + inc = argv.shift() + break + default: + inc = "patch" + break + } + break + case "--preid": + identifier = argv.shift() + break + case "-r": case "--range": + range.push(argv.shift()) + break + case "-c": case "--coerce": + coerce = true + break + case "-h": case "--help": case "-?": + return help() + default: + versions.push(a) + break + } + } + + var options = { loose: loose, includePrerelease: includePrerelease } + + versions = versions.map(function (v) { + return coerce ? (semver.coerce(v) || {version: v}).version : v + }).filter(function (v) { + return semver.valid(v) + }) + if (!versions.length) return fail() + if (inc && (versions.length !== 1 || range.length)) + return failInc() + + for (var i = 0, l = range.length; i < l ; i ++) { + versions = versions.filter(function (v) { + return semver.satisfies(v, range[i], options) + }) + if (!versions.length) return fail() + } + return success(versions) +} + +function failInc () { + console.error("--inc can only be used on a single version with no range") + fail() +} + +function fail () { process.exit(1) } + +function success () { + var compare = reverse ? "rcompare" : "compare" + versions.sort(function (a, b) { + return semver[compare](a, b, options) + }).map(function (v) { + return semver.clean(v, options) + }).map(function (v) { + return inc ? semver.inc(v, inc, options, identifier) : v + }).forEach(function (v,i,_) { console.log(v) }) +} + +function help () { + console.log(["SemVer " + version + ,"" + ,"A JavaScript implementation of the http://semver.org/ specification" + ,"Copyright Isaac Z. Schlueter" + ,"" + ,"Usage: semver [options] [ [...]]" + ,"Prints valid versions sorted by SemVer precedence" + ,"" + ,"Options:" + ,"-r --range " + ," Print versions that match the specified range." + ,"" + ,"-i --increment []" + ," Increment a version by the specified level. Level can" + ," be one of: major, minor, patch, premajor, preminor," + ," prepatch, or prerelease. Default level is 'patch'." + ," Only one version may be specified." + ,"" + ,"--preid " + ," Identifier to be used to prefix premajor, preminor," + ," prepatch or prerelease version increments." + ,"" + ,"-l --loose" + ," Interpret versions and ranges loosely" + ,"" + ,"-p --include-prerelease" + ," Always include prerelease versions in range matching" + ,"" + ,"-c --coerce" + ," Coerce a string into SemVer if possible" + ," (does not imply --loose)" + ,"" + ,"Program exits successfully if any valid version satisfies" + ,"all supplied ranges, and prints all satisfying versions." + ,"" + ,"If no satisfying versions are found, then exits failure." + ,"" + ,"Versions are printed in ascending order, so supplying" + ,"multiple versions to the utility will just sort them." + ].join("\n")) +} diff --git a/express-server/node_modules/semver/package.json b/express-server/node_modules/semver/package.json new file mode 100644 index 00000000..df3488a5 --- /dev/null +++ b/express-server/node_modules/semver/package.json @@ -0,0 +1,54 @@ +{ + "_from": "semver@^5.5.0", + "_id": "semver@5.6.0", + "_inBundle": false, + "_integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", + "_location": "/semver", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "semver@^5.5.0", + "name": "semver", + "escapedName": "semver", + "rawSpec": "^5.5.0", + "saveSpec": null, + "fetchSpec": "^5.5.0" + }, + "_requiredBy": [ + "/google-auth-library" + ], + "_resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", + "_shasum": "7e74256fbaa49c75aa7c7a205cc22799cac80004", + "_spec": "semver@^5.5.0", + "_where": "C:\\Users\\Georg\\GitHub\\SmartShopper\\express-server\\node_modules\\google-auth-library", + "bin": { + "semver": "./bin/semver" + }, + "bugs": { + "url": "https://github.com/npm/node-semver/issues" + }, + "bundleDependencies": false, + "deprecated": false, + "description": "The semantic version parser used by npm.", + "devDependencies": { + "tap": "^12.0.1" + }, + "files": [ + "bin", + "range.bnf", + "semver.js" + ], + "homepage": "https://github.com/npm/node-semver#readme", + "license": "ISC", + "main": "semver.js", + "name": "semver", + "repository": { + "type": "git", + "url": "git+https://github.com/npm/node-semver.git" + }, + "scripts": { + "test": "tap test/*.js --cov -J" + }, + "version": "5.6.0" +} diff --git a/express-server/node_modules/semver/range.bnf b/express-server/node_modules/semver/range.bnf new file mode 100644 index 00000000..d4c6ae0d --- /dev/null +++ b/express-server/node_modules/semver/range.bnf @@ -0,0 +1,16 @@ +range-set ::= range ( logical-or range ) * +logical-or ::= ( ' ' ) * '||' ( ' ' ) * +range ::= hyphen | simple ( ' ' simple ) * | '' +hyphen ::= partial ' - ' partial +simple ::= primitive | partial | tilde | caret +primitive ::= ( '<' | '>' | '>=' | '<=' | '=' ) partial +partial ::= xr ( '.' xr ( '.' xr qualifier ? )? )? +xr ::= 'x' | 'X' | '*' | nr +nr ::= '0' | [1-9] ( [0-9] ) * +tilde ::= '~' partial +caret ::= '^' partial +qualifier ::= ( '-' pre )? ( '+' build )? +pre ::= parts +build ::= parts +parts ::= part ( '.' part ) * +part ::= nr | [-0-9A-Za-z]+ diff --git a/express-server/node_modules/semver/semver.js b/express-server/node_modules/semver/semver.js new file mode 100644 index 00000000..0cc57350 --- /dev/null +++ b/express-server/node_modules/semver/semver.js @@ -0,0 +1,1352 @@ +exports = module.exports = SemVer; + +// The debug function is excluded entirely from the minified version. +/* nomin */ var debug; +/* nomin */ if (typeof process === 'object' && + /* nomin */ process.env && + /* nomin */ process.env.NODE_DEBUG && + /* nomin */ /\bsemver\b/i.test(process.env.NODE_DEBUG)) + /* nomin */ debug = function() { + /* nomin */ var args = Array.prototype.slice.call(arguments, 0); + /* nomin */ args.unshift('SEMVER'); + /* nomin */ console.log.apply(console, args); + /* nomin */ }; +/* nomin */ else + /* nomin */ debug = function() {}; + +// Note: this is the semver.org version of the spec that it implements +// Not necessarily the package version of this code. +exports.SEMVER_SPEC_VERSION = '2.0.0'; + +var MAX_LENGTH = 256; +var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991; + +// Max safe segment length for coercion. +var MAX_SAFE_COMPONENT_LENGTH = 16; + +// The actual regexps go on exports.re +var re = exports.re = []; +var src = exports.src = []; +var R = 0; + +// The following Regular Expressions can be used for tokenizing, +// validating, and parsing SemVer version strings. + +// ## Numeric Identifier +// A single `0`, or a non-zero digit followed by zero or more digits. + +var NUMERICIDENTIFIER = R++; +src[NUMERICIDENTIFIER] = '0|[1-9]\\d*'; +var NUMERICIDENTIFIERLOOSE = R++; +src[NUMERICIDENTIFIERLOOSE] = '[0-9]+'; + + +// ## Non-numeric Identifier +// Zero or more digits, followed by a letter or hyphen, and then zero or +// more letters, digits, or hyphens. + +var NONNUMERICIDENTIFIER = R++; +src[NONNUMERICIDENTIFIER] = '\\d*[a-zA-Z-][a-zA-Z0-9-]*'; + + +// ## Main Version +// Three dot-separated numeric identifiers. + +var MAINVERSION = R++; +src[MAINVERSION] = '(' + src[NUMERICIDENTIFIER] + ')\\.' + + '(' + src[NUMERICIDENTIFIER] + ')\\.' + + '(' + src[NUMERICIDENTIFIER] + ')'; + +var MAINVERSIONLOOSE = R++; +src[MAINVERSIONLOOSE] = '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\.' + + '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\.' + + '(' + src[NUMERICIDENTIFIERLOOSE] + ')'; + +// ## Pre-release Version Identifier +// A numeric identifier, or a non-numeric identifier. + +var PRERELEASEIDENTIFIER = R++; +src[PRERELEASEIDENTIFIER] = '(?:' + src[NUMERICIDENTIFIER] + + '|' + src[NONNUMERICIDENTIFIER] + ')'; + +var PRERELEASEIDENTIFIERLOOSE = R++; +src[PRERELEASEIDENTIFIERLOOSE] = '(?:' + src[NUMERICIDENTIFIERLOOSE] + + '|' + src[NONNUMERICIDENTIFIER] + ')'; + + +// ## Pre-release Version +// Hyphen, followed by one or more dot-separated pre-release version +// identifiers. + +var PRERELEASE = R++; +src[PRERELEASE] = '(?:-(' + src[PRERELEASEIDENTIFIER] + + '(?:\\.' + src[PRERELEASEIDENTIFIER] + ')*))'; + +var PRERELEASELOOSE = R++; +src[PRERELEASELOOSE] = '(?:-?(' + src[PRERELEASEIDENTIFIERLOOSE] + + '(?:\\.' + src[PRERELEASEIDENTIFIERLOOSE] + ')*))'; + +// ## Build Metadata Identifier +// Any combination of digits, letters, or hyphens. + +var BUILDIDENTIFIER = R++; +src[BUILDIDENTIFIER] = '[0-9A-Za-z-]+'; + +// ## Build Metadata +// Plus sign, followed by one or more period-separated build metadata +// identifiers. + +var BUILD = R++; +src[BUILD] = '(?:\\+(' + src[BUILDIDENTIFIER] + + '(?:\\.' + src[BUILDIDENTIFIER] + ')*))'; + + +// ## Full Version String +// A main version, followed optionally by a pre-release version and +// build metadata. + +// Note that the only major, minor, patch, and pre-release sections of +// the version string are capturing groups. The build metadata is not a +// capturing group, because it should not ever be used in version +// comparison. + +var FULL = R++; +var FULLPLAIN = 'v?' + src[MAINVERSION] + + src[PRERELEASE] + '?' + + src[BUILD] + '?'; + +src[FULL] = '^' + FULLPLAIN + '$'; + +// like full, but allows v1.2.3 and =1.2.3, which people do sometimes. +// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty +// common in the npm registry. +var LOOSEPLAIN = '[v=\\s]*' + src[MAINVERSIONLOOSE] + + src[PRERELEASELOOSE] + '?' + + src[BUILD] + '?'; + +var LOOSE = R++; +src[LOOSE] = '^' + LOOSEPLAIN + '$'; + +var GTLT = R++; +src[GTLT] = '((?:<|>)?=?)'; + +// Something like "2.*" or "1.2.x". +// Note that "x.x" is a valid xRange identifer, meaning "any version" +// Only the first item is strictly required. +var XRANGEIDENTIFIERLOOSE = R++; +src[XRANGEIDENTIFIERLOOSE] = src[NUMERICIDENTIFIERLOOSE] + '|x|X|\\*'; +var XRANGEIDENTIFIER = R++; +src[XRANGEIDENTIFIER] = src[NUMERICIDENTIFIER] + '|x|X|\\*'; + +var XRANGEPLAIN = R++; +src[XRANGEPLAIN] = '[v=\\s]*(' + src[XRANGEIDENTIFIER] + ')' + + '(?:\\.(' + src[XRANGEIDENTIFIER] + ')' + + '(?:\\.(' + src[XRANGEIDENTIFIER] + ')' + + '(?:' + src[PRERELEASE] + ')?' + + src[BUILD] + '?' + + ')?)?'; + +var XRANGEPLAINLOOSE = R++; +src[XRANGEPLAINLOOSE] = '[v=\\s]*(' + src[XRANGEIDENTIFIERLOOSE] + ')' + + '(?:\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' + + '(?:\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' + + '(?:' + src[PRERELEASELOOSE] + ')?' + + src[BUILD] + '?' + + ')?)?'; + +var XRANGE = R++; +src[XRANGE] = '^' + src[GTLT] + '\\s*' + src[XRANGEPLAIN] + '$'; +var XRANGELOOSE = R++; +src[XRANGELOOSE] = '^' + src[GTLT] + '\\s*' + src[XRANGEPLAINLOOSE] + '$'; + +// Coercion. +// Extract anything that could conceivably be a part of a valid semver +var COERCE = R++; +src[COERCE] = '(?:^|[^\\d])' + + '(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '})' + + '(?:\\.(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' + + '(?:\\.(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' + + '(?:$|[^\\d])'; + +// Tilde ranges. +// Meaning is "reasonably at or greater than" +var LONETILDE = R++; +src[LONETILDE] = '(?:~>?)'; + +var TILDETRIM = R++; +src[TILDETRIM] = '(\\s*)' + src[LONETILDE] + '\\s+'; +re[TILDETRIM] = new RegExp(src[TILDETRIM], 'g'); +var tildeTrimReplace = '$1~'; + +var TILDE = R++; +src[TILDE] = '^' + src[LONETILDE] + src[XRANGEPLAIN] + '$'; +var TILDELOOSE = R++; +src[TILDELOOSE] = '^' + src[LONETILDE] + src[XRANGEPLAINLOOSE] + '$'; + +// Caret ranges. +// Meaning is "at least and backwards compatible with" +var LONECARET = R++; +src[LONECARET] = '(?:\\^)'; + +var CARETTRIM = R++; +src[CARETTRIM] = '(\\s*)' + src[LONECARET] + '\\s+'; +re[CARETTRIM] = new RegExp(src[CARETTRIM], 'g'); +var caretTrimReplace = '$1^'; + +var CARET = R++; +src[CARET] = '^' + src[LONECARET] + src[XRANGEPLAIN] + '$'; +var CARETLOOSE = R++; +src[CARETLOOSE] = '^' + src[LONECARET] + src[XRANGEPLAINLOOSE] + '$'; + +// A simple gt/lt/eq thing, or just "" to indicate "any version" +var COMPARATORLOOSE = R++; +src[COMPARATORLOOSE] = '^' + src[GTLT] + '\\s*(' + LOOSEPLAIN + ')$|^$'; +var COMPARATOR = R++; +src[COMPARATOR] = '^' + src[GTLT] + '\\s*(' + FULLPLAIN + ')$|^$'; + + +// An expression to strip any whitespace between the gtlt and the thing +// it modifies, so that `> 1.2.3` ==> `>1.2.3` +var COMPARATORTRIM = R++; +src[COMPARATORTRIM] = '(\\s*)' + src[GTLT] + + '\\s*(' + LOOSEPLAIN + '|' + src[XRANGEPLAIN] + ')'; + +// this one has to use the /g flag +re[COMPARATORTRIM] = new RegExp(src[COMPARATORTRIM], 'g'); +var comparatorTrimReplace = '$1$2$3'; + + +// Something like `1.2.3 - 1.2.4` +// Note that these all use the loose form, because they'll be +// checked against either the strict or loose comparator form +// later. +var HYPHENRANGE = R++; +src[HYPHENRANGE] = '^\\s*(' + src[XRANGEPLAIN] + ')' + + '\\s+-\\s+' + + '(' + src[XRANGEPLAIN] + ')' + + '\\s*$'; + +var HYPHENRANGELOOSE = R++; +src[HYPHENRANGELOOSE] = '^\\s*(' + src[XRANGEPLAINLOOSE] + ')' + + '\\s+-\\s+' + + '(' + src[XRANGEPLAINLOOSE] + ')' + + '\\s*$'; + +// Star ranges basically just allow anything at all. +var STAR = R++; +src[STAR] = '(<|>)?=?\\s*\\*'; + +// Compile to actual regexp objects. +// All are flag-free, unless they were created above with a flag. +for (var i = 0; i < R; i++) { + debug(i, src[i]); + if (!re[i]) + re[i] = new RegExp(src[i]); +} + +exports.parse = parse; +function parse(version, options) { + if (!options || typeof options !== 'object') + options = { loose: !!options, includePrerelease: false } + + if (version instanceof SemVer) + return version; + + if (typeof version !== 'string') + return null; + + if (version.length > MAX_LENGTH) + return null; + + var r = options.loose ? re[LOOSE] : re[FULL]; + if (!r.test(version)) + return null; + + try { + return new SemVer(version, options); + } catch (er) { + return null; + } +} + +exports.valid = valid; +function valid(version, options) { + var v = parse(version, options); + return v ? v.version : null; +} + + +exports.clean = clean; +function clean(version, options) { + var s = parse(version.trim().replace(/^[=v]+/, ''), options); + return s ? s.version : null; +} + +exports.SemVer = SemVer; + +function SemVer(version, options) { + if (!options || typeof options !== 'object') + options = { loose: !!options, includePrerelease: false } + if (version instanceof SemVer) { + if (version.loose === options.loose) + return version; + else + version = version.version; + } else if (typeof version !== 'string') { + throw new TypeError('Invalid Version: ' + version); + } + + if (version.length > MAX_LENGTH) + throw new TypeError('version is longer than ' + MAX_LENGTH + ' characters') + + if (!(this instanceof SemVer)) + return new SemVer(version, options); + + debug('SemVer', version, options); + this.options = options; + this.loose = !!options.loose; + + var m = version.trim().match(options.loose ? re[LOOSE] : re[FULL]); + + if (!m) + throw new TypeError('Invalid Version: ' + version); + + this.raw = version; + + // these are actually numbers + this.major = +m[1]; + this.minor = +m[2]; + this.patch = +m[3]; + + if (this.major > MAX_SAFE_INTEGER || this.major < 0) + throw new TypeError('Invalid major version') + + if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) + throw new TypeError('Invalid minor version') + + if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) + throw new TypeError('Invalid patch version') + + // numberify any prerelease numeric ids + if (!m[4]) + this.prerelease = []; + else + this.prerelease = m[4].split('.').map(function(id) { + if (/^[0-9]+$/.test(id)) { + var num = +id; + if (num >= 0 && num < MAX_SAFE_INTEGER) + return num; + } + return id; + }); + + this.build = m[5] ? m[5].split('.') : []; + this.format(); +} + +SemVer.prototype.format = function() { + this.version = this.major + '.' + this.minor + '.' + this.patch; + if (this.prerelease.length) + this.version += '-' + this.prerelease.join('.'); + return this.version; +}; + +SemVer.prototype.toString = function() { + return this.version; +}; + +SemVer.prototype.compare = function(other) { + debug('SemVer.compare', this.version, this.options, other); + if (!(other instanceof SemVer)) + other = new SemVer(other, this.options); + + return this.compareMain(other) || this.comparePre(other); +}; + +SemVer.prototype.compareMain = function(other) { + if (!(other instanceof SemVer)) + other = new SemVer(other, this.options); + + return compareIdentifiers(this.major, other.major) || + compareIdentifiers(this.minor, other.minor) || + compareIdentifiers(this.patch, other.patch); +}; + +SemVer.prototype.comparePre = function(other) { + if (!(other instanceof SemVer)) + other = new SemVer(other, this.options); + + // NOT having a prerelease is > having one + if (this.prerelease.length && !other.prerelease.length) + return -1; + else if (!this.prerelease.length && other.prerelease.length) + return 1; + else if (!this.prerelease.length && !other.prerelease.length) + return 0; + + var i = 0; + do { + var a = this.prerelease[i]; + var b = other.prerelease[i]; + debug('prerelease compare', i, a, b); + if (a === undefined && b === undefined) + return 0; + else if (b === undefined) + return 1; + else if (a === undefined) + return -1; + else if (a === b) + continue; + else + return compareIdentifiers(a, b); + } while (++i); +}; + +// preminor will bump the version up to the next minor release, and immediately +// down to pre-release. premajor and prepatch work the same way. +SemVer.prototype.inc = function(release, identifier) { + switch (release) { + case 'premajor': + this.prerelease.length = 0; + this.patch = 0; + this.minor = 0; + this.major++; + this.inc('pre', identifier); + break; + case 'preminor': + this.prerelease.length = 0; + this.patch = 0; + this.minor++; + this.inc('pre', identifier); + break; + case 'prepatch': + // If this is already a prerelease, it will bump to the next version + // drop any prereleases that might already exist, since they are not + // relevant at this point. + this.prerelease.length = 0; + this.inc('patch', identifier); + this.inc('pre', identifier); + break; + // If the input is a non-prerelease version, this acts the same as + // prepatch. + case 'prerelease': + if (this.prerelease.length === 0) + this.inc('patch', identifier); + this.inc('pre', identifier); + break; + + case 'major': + // If this is a pre-major version, bump up to the same major version. + // Otherwise increment major. + // 1.0.0-5 bumps to 1.0.0 + // 1.1.0 bumps to 2.0.0 + if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) + this.major++; + this.minor = 0; + this.patch = 0; + this.prerelease = []; + break; + case 'minor': + // If this is a pre-minor version, bump up to the same minor version. + // Otherwise increment minor. + // 1.2.0-5 bumps to 1.2.0 + // 1.2.1 bumps to 1.3.0 + if (this.patch !== 0 || this.prerelease.length === 0) + this.minor++; + this.patch = 0; + this.prerelease = []; + break; + case 'patch': + // If this is not a pre-release version, it will increment the patch. + // If it is a pre-release it will bump up to the same patch version. + // 1.2.0-5 patches to 1.2.0 + // 1.2.0 patches to 1.2.1 + if (this.prerelease.length === 0) + this.patch++; + this.prerelease = []; + break; + // This probably shouldn't be used publicly. + // 1.0.0 "pre" would become 1.0.0-0 which is the wrong direction. + case 'pre': + if (this.prerelease.length === 0) + this.prerelease = [0]; + else { + var i = this.prerelease.length; + while (--i >= 0) { + if (typeof this.prerelease[i] === 'number') { + this.prerelease[i]++; + i = -2; + } + } + if (i === -1) // didn't increment anything + this.prerelease.push(0); + } + if (identifier) { + // 1.2.0-beta.1 bumps to 1.2.0-beta.2, + // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0 + if (this.prerelease[0] === identifier) { + if (isNaN(this.prerelease[1])) + this.prerelease = [identifier, 0]; + } else + this.prerelease = [identifier, 0]; + } + break; + + default: + throw new Error('invalid increment argument: ' + release); + } + this.format(); + this.raw = this.version; + return this; +}; + +exports.inc = inc; +function inc(version, release, loose, identifier) { + if (typeof(loose) === 'string') { + identifier = loose; + loose = undefined; + } + + try { + return new SemVer(version, loose).inc(release, identifier).version; + } catch (er) { + return null; + } +} + +exports.diff = diff; +function diff(version1, version2) { + if (eq(version1, version2)) { + return null; + } else { + var v1 = parse(version1); + var v2 = parse(version2); + if (v1.prerelease.length || v2.prerelease.length) { + for (var key in v1) { + if (key === 'major' || key === 'minor' || key === 'patch') { + if (v1[key] !== v2[key]) { + return 'pre'+key; + } + } + } + return 'prerelease'; + } + for (var key in v1) { + if (key === 'major' || key === 'minor' || key === 'patch') { + if (v1[key] !== v2[key]) { + return key; + } + } + } + } +} + +exports.compareIdentifiers = compareIdentifiers; + +var numeric = /^[0-9]+$/; +function compareIdentifiers(a, b) { + var anum = numeric.test(a); + var bnum = numeric.test(b); + + if (anum && bnum) { + a = +a; + b = +b; + } + + return (anum && !bnum) ? -1 : + (bnum && !anum) ? 1 : + a < b ? -1 : + a > b ? 1 : + 0; +} + +exports.rcompareIdentifiers = rcompareIdentifiers; +function rcompareIdentifiers(a, b) { + return compareIdentifiers(b, a); +} + +exports.major = major; +function major(a, loose) { + return new SemVer(a, loose).major; +} + +exports.minor = minor; +function minor(a, loose) { + return new SemVer(a, loose).minor; +} + +exports.patch = patch; +function patch(a, loose) { + return new SemVer(a, loose).patch; +} + +exports.compare = compare; +function compare(a, b, loose) { + return new SemVer(a, loose).compare(new SemVer(b, loose)); +} + +exports.compareLoose = compareLoose; +function compareLoose(a, b) { + return compare(a, b, true); +} + +exports.rcompare = rcompare; +function rcompare(a, b, loose) { + return compare(b, a, loose); +} + +exports.sort = sort; +function sort(list, loose) { + return list.sort(function(a, b) { + return exports.compare(a, b, loose); + }); +} + +exports.rsort = rsort; +function rsort(list, loose) { + return list.sort(function(a, b) { + return exports.rcompare(a, b, loose); + }); +} + +exports.gt = gt; +function gt(a, b, loose) { + return compare(a, b, loose) > 0; +} + +exports.lt = lt; +function lt(a, b, loose) { + return compare(a, b, loose) < 0; +} + +exports.eq = eq; +function eq(a, b, loose) { + return compare(a, b, loose) === 0; +} + +exports.neq = neq; +function neq(a, b, loose) { + return compare(a, b, loose) !== 0; +} + +exports.gte = gte; +function gte(a, b, loose) { + return compare(a, b, loose) >= 0; +} + +exports.lte = lte; +function lte(a, b, loose) { + return compare(a, b, loose) <= 0; +} + +exports.cmp = cmp; +function cmp(a, op, b, loose) { + var ret; + switch (op) { + case '===': + if (typeof a === 'object') a = a.version; + if (typeof b === 'object') b = b.version; + ret = a === b; + break; + case '!==': + if (typeof a === 'object') a = a.version; + if (typeof b === 'object') b = b.version; + ret = a !== b; + break; + case '': case '=': case '==': ret = eq(a, b, loose); break; + case '!=': ret = neq(a, b, loose); break; + case '>': ret = gt(a, b, loose); break; + case '>=': ret = gte(a, b, loose); break; + case '<': ret = lt(a, b, loose); break; + case '<=': ret = lte(a, b, loose); break; + default: throw new TypeError('Invalid operator: ' + op); + } + return ret; +} + +exports.Comparator = Comparator; +function Comparator(comp, options) { + if (!options || typeof options !== 'object') + options = { loose: !!options, includePrerelease: false } + + if (comp instanceof Comparator) { + if (comp.loose === !!options.loose) + return comp; + else + comp = comp.value; + } + + if (!(this instanceof Comparator)) + return new Comparator(comp, options); + + debug('comparator', comp, options); + this.options = options; + this.loose = !!options.loose; + this.parse(comp); + + if (this.semver === ANY) + this.value = ''; + else + this.value = this.operator + this.semver.version; + + debug('comp', this); +} + +var ANY = {}; +Comparator.prototype.parse = function(comp) { + var r = this.options.loose ? re[COMPARATORLOOSE] : re[COMPARATOR]; + var m = comp.match(r); + + if (!m) + throw new TypeError('Invalid comparator: ' + comp); + + this.operator = m[1]; + if (this.operator === '=') + this.operator = ''; + + // if it literally is just '>' or '' then allow anything. + if (!m[2]) + this.semver = ANY; + else + this.semver = new SemVer(m[2], this.options.loose); +}; + +Comparator.prototype.toString = function() { + return this.value; +}; + +Comparator.prototype.test = function(version) { + debug('Comparator.test', version, this.options.loose); + + if (this.semver === ANY) + return true; + + if (typeof version === 'string') + version = new SemVer(version, this.options); + + return cmp(version, this.operator, this.semver, this.options); +}; + +Comparator.prototype.intersects = function(comp, options) { + if (!(comp instanceof Comparator)) { + throw new TypeError('a Comparator is required'); + } + + if (!options || typeof options !== 'object') + options = { loose: !!options, includePrerelease: false } + + var rangeTmp; + + if (this.operator === '') { + rangeTmp = new Range(comp.value, options); + return satisfies(this.value, rangeTmp, options); + } else if (comp.operator === '') { + rangeTmp = new Range(this.value, options); + return satisfies(comp.semver, rangeTmp, options); + } + + var sameDirectionIncreasing = + (this.operator === '>=' || this.operator === '>') && + (comp.operator === '>=' || comp.operator === '>'); + var sameDirectionDecreasing = + (this.operator === '<=' || this.operator === '<') && + (comp.operator === '<=' || comp.operator === '<'); + var sameSemVer = this.semver.version === comp.semver.version; + var differentDirectionsInclusive = + (this.operator === '>=' || this.operator === '<=') && + (comp.operator === '>=' || comp.operator === '<='); + var oppositeDirectionsLessThan = + cmp(this.semver, '<', comp.semver, options) && + ((this.operator === '>=' || this.operator === '>') && + (comp.operator === '<=' || comp.operator === '<')); + var oppositeDirectionsGreaterThan = + cmp(this.semver, '>', comp.semver, options) && + ((this.operator === '<=' || this.operator === '<') && + (comp.operator === '>=' || comp.operator === '>')); + + return sameDirectionIncreasing || sameDirectionDecreasing || + (sameSemVer && differentDirectionsInclusive) || + oppositeDirectionsLessThan || oppositeDirectionsGreaterThan; +}; + + +exports.Range = Range; +function Range(range, options) { + if (!options || typeof options !== 'object') + options = { loose: !!options, includePrerelease: false } + + if (range instanceof Range) { + if (range.loose === !!options.loose && + range.includePrerelease === !!options.includePrerelease) { + return range; + } else { + return new Range(range.raw, options); + } + } + + if (range instanceof Comparator) { + return new Range(range.value, options); + } + + if (!(this instanceof Range)) + return new Range(range, options); + + this.options = options; + this.loose = !!options.loose; + this.includePrerelease = !!options.includePrerelease + + // First, split based on boolean or || + this.raw = range; + this.set = range.split(/\s*\|\|\s*/).map(function(range) { + return this.parseRange(range.trim()); + }, this).filter(function(c) { + // throw out any that are not relevant for whatever reason + return c.length; + }); + + if (!this.set.length) { + throw new TypeError('Invalid SemVer Range: ' + range); + } + + this.format(); +} + +Range.prototype.format = function() { + this.range = this.set.map(function(comps) { + return comps.join(' ').trim(); + }).join('||').trim(); + return this.range; +}; + +Range.prototype.toString = function() { + return this.range; +}; + +Range.prototype.parseRange = function(range) { + var loose = this.options.loose; + range = range.trim(); + // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4` + var hr = loose ? re[HYPHENRANGELOOSE] : re[HYPHENRANGE]; + range = range.replace(hr, hyphenReplace); + debug('hyphen replace', range); + // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5` + range = range.replace(re[COMPARATORTRIM], comparatorTrimReplace); + debug('comparator trim', range, re[COMPARATORTRIM]); + + // `~ 1.2.3` => `~1.2.3` + range = range.replace(re[TILDETRIM], tildeTrimReplace); + + // `^ 1.2.3` => `^1.2.3` + range = range.replace(re[CARETTRIM], caretTrimReplace); + + // normalize spaces + range = range.split(/\s+/).join(' '); + + // At this point, the range is completely trimmed and + // ready to be split into comparators. + + var compRe = loose ? re[COMPARATORLOOSE] : re[COMPARATOR]; + var set = range.split(' ').map(function(comp) { + return parseComparator(comp, this.options); + }, this).join(' ').split(/\s+/); + if (this.options.loose) { + // in loose mode, throw out any that are not valid comparators + set = set.filter(function(comp) { + return !!comp.match(compRe); + }); + } + set = set.map(function(comp) { + return new Comparator(comp, this.options); + }, this); + + return set; +}; + +Range.prototype.intersects = function(range, options) { + if (!(range instanceof Range)) { + throw new TypeError('a Range is required'); + } + + return this.set.some(function(thisComparators) { + return thisComparators.every(function(thisComparator) { + return range.set.some(function(rangeComparators) { + return rangeComparators.every(function(rangeComparator) { + return thisComparator.intersects(rangeComparator, options); + }); + }); + }); + }); +}; + +// Mostly just for testing and legacy API reasons +exports.toComparators = toComparators; +function toComparators(range, options) { + return new Range(range, options).set.map(function(comp) { + return comp.map(function(c) { + return c.value; + }).join(' ').trim().split(' '); + }); +} + +// comprised of xranges, tildes, stars, and gtlt's at this point. +// already replaced the hyphen ranges +// turn into a set of JUST comparators. +function parseComparator(comp, options) { + debug('comp', comp, options); + comp = replaceCarets(comp, options); + debug('caret', comp); + comp = replaceTildes(comp, options); + debug('tildes', comp); + comp = replaceXRanges(comp, options); + debug('xrange', comp); + comp = replaceStars(comp, options); + debug('stars', comp); + return comp; +} + +function isX(id) { + return !id || id.toLowerCase() === 'x' || id === '*'; +} + +// ~, ~> --> * (any, kinda silly) +// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0 +// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0 +// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0 +// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0 +// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0 +function replaceTildes(comp, options) { + return comp.trim().split(/\s+/).map(function(comp) { + return replaceTilde(comp, options); + }).join(' '); +} + +function replaceTilde(comp, options) { + if (!options || typeof options !== 'object') + options = { loose: !!options, includePrerelease: false } + var r = options.loose ? re[TILDELOOSE] : re[TILDE]; + return comp.replace(r, function(_, M, m, p, pr) { + debug('tilde', comp, _, M, m, p, pr); + var ret; + + if (isX(M)) + ret = ''; + else if (isX(m)) + ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'; + else if (isX(p)) + // ~1.2 == >=1.2.0 <1.3.0 + ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'; + else if (pr) { + debug('replaceTilde pr', pr); + if (pr.charAt(0) !== '-') + pr = '-' + pr; + ret = '>=' + M + '.' + m + '.' + p + pr + + ' <' + M + '.' + (+m + 1) + '.0'; + } else + // ~1.2.3 == >=1.2.3 <1.3.0 + ret = '>=' + M + '.' + m + '.' + p + + ' <' + M + '.' + (+m + 1) + '.0'; + + debug('tilde return', ret); + return ret; + }); +} + +// ^ --> * (any, kinda silly) +// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0 +// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0 +// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0 +// ^1.2.3 --> >=1.2.3 <2.0.0 +// ^1.2.0 --> >=1.2.0 <2.0.0 +function replaceCarets(comp, options) { + return comp.trim().split(/\s+/).map(function(comp) { + return replaceCaret(comp, options); + }).join(' '); +} + +function replaceCaret(comp, options) { + debug('caret', comp, options); + if (!options || typeof options !== 'object') + options = { loose: !!options, includePrerelease: false } + var r = options.loose ? re[CARETLOOSE] : re[CARET]; + return comp.replace(r, function(_, M, m, p, pr) { + debug('caret', comp, _, M, m, p, pr); + var ret; + + if (isX(M)) + ret = ''; + else if (isX(m)) + ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'; + else if (isX(p)) { + if (M === '0') + ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'; + else + ret = '>=' + M + '.' + m + '.0 <' + (+M + 1) + '.0.0'; + } else if (pr) { + debug('replaceCaret pr', pr); + if (pr.charAt(0) !== '-') + pr = '-' + pr; + if (M === '0') { + if (m === '0') + ret = '>=' + M + '.' + m + '.' + p + pr + + ' <' + M + '.' + m + '.' + (+p + 1); + else + ret = '>=' + M + '.' + m + '.' + p + pr + + ' <' + M + '.' + (+m + 1) + '.0'; + } else + ret = '>=' + M + '.' + m + '.' + p + pr + + ' <' + (+M + 1) + '.0.0'; + } else { + debug('no pr'); + if (M === '0') { + if (m === '0') + ret = '>=' + M + '.' + m + '.' + p + + ' <' + M + '.' + m + '.' + (+p + 1); + else + ret = '>=' + M + '.' + m + '.' + p + + ' <' + M + '.' + (+m + 1) + '.0'; + } else + ret = '>=' + M + '.' + m + '.' + p + + ' <' + (+M + 1) + '.0.0'; + } + + debug('caret return', ret); + return ret; + }); +} + +function replaceXRanges(comp, options) { + debug('replaceXRanges', comp, options); + return comp.split(/\s+/).map(function(comp) { + return replaceXRange(comp, options); + }).join(' '); +} + +function replaceXRange(comp, options) { + comp = comp.trim(); + if (!options || typeof options !== 'object') + options = { loose: !!options, includePrerelease: false } + var r = options.loose ? re[XRANGELOOSE] : re[XRANGE]; + return comp.replace(r, function(ret, gtlt, M, m, p, pr) { + debug('xRange', comp, ret, gtlt, M, m, p, pr); + var xM = isX(M); + var xm = xM || isX(m); + var xp = xm || isX(p); + var anyX = xp; + + if (gtlt === '=' && anyX) + gtlt = ''; + + if (xM) { + if (gtlt === '>' || gtlt === '<') { + // nothing is allowed + ret = '<0.0.0'; + } else { + // nothing is forbidden + ret = '*'; + } + } else if (gtlt && anyX) { + // replace X with 0 + if (xm) + m = 0; + if (xp) + p = 0; + + if (gtlt === '>') { + // >1 => >=2.0.0 + // >1.2 => >=1.3.0 + // >1.2.3 => >= 1.2.4 + gtlt = '>='; + if (xm) { + M = +M + 1; + m = 0; + p = 0; + } else if (xp) { + m = +m + 1; + p = 0; + } + } else if (gtlt === '<=') { + // <=0.7.x is actually <0.8.0, since any 0.7.x should + // pass. Similarly, <=7.x is actually <8.0.0, etc. + gtlt = '<'; + if (xm) + M = +M + 1; + else + m = +m + 1; + } + + ret = gtlt + M + '.' + m + '.' + p; + } else if (xm) { + ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'; + } else if (xp) { + ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'; + } + + debug('xRange return', ret); + + return ret; + }); +} + +// Because * is AND-ed with everything else in the comparator, +// and '' means "any version", just remove the *s entirely. +function replaceStars(comp, options) { + debug('replaceStars', comp, options); + // Looseness is ignored here. star is always as loose as it gets! + return comp.trim().replace(re[STAR], ''); +} + +// This function is passed to string.replace(re[HYPHENRANGE]) +// M, m, patch, prerelease, build +// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5 +// 1.2.3 - 3.4 => >=1.2.0 <3.5.0 Any 3.4.x will do +// 1.2 - 3.4 => >=1.2.0 <3.5.0 +function hyphenReplace($0, + from, fM, fm, fp, fpr, fb, + to, tM, tm, tp, tpr, tb) { + + if (isX(fM)) + from = ''; + else if (isX(fm)) + from = '>=' + fM + '.0.0'; + else if (isX(fp)) + from = '>=' + fM + '.' + fm + '.0'; + else + from = '>=' + from; + + if (isX(tM)) + to = ''; + else if (isX(tm)) + to = '<' + (+tM + 1) + '.0.0'; + else if (isX(tp)) + to = '<' + tM + '.' + (+tm + 1) + '.0'; + else if (tpr) + to = '<=' + tM + '.' + tm + '.' + tp + '-' + tpr; + else + to = '<=' + to; + + return (from + ' ' + to).trim(); +} + + +// if ANY of the sets match ALL of its comparators, then pass +Range.prototype.test = function(version) { + if (!version) + return false; + + if (typeof version === 'string') + version = new SemVer(version, this.options); + + for (var i = 0; i < this.set.length; i++) { + if (testSet(this.set[i], version, this.options)) + return true; + } + return false; +}; + +function testSet(set, version, options) { + for (var i = 0; i < set.length; i++) { + if (!set[i].test(version)) + return false; + } + + if (!options) + options = {} + + if (version.prerelease.length && !options.includePrerelease) { + // Find the set of versions that are allowed to have prereleases + // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0 + // That should allow `1.2.3-pr.2` to pass. + // However, `1.2.4-alpha.notready` should NOT be allowed, + // even though it's within the range set by the comparators. + for (var i = 0; i < set.length; i++) { + debug(set[i].semver); + if (set[i].semver === ANY) + continue; + + if (set[i].semver.prerelease.length > 0) { + var allowed = set[i].semver; + if (allowed.major === version.major && + allowed.minor === version.minor && + allowed.patch === version.patch) + return true; + } + } + + // Version has a -pre, but it's not one of the ones we like. + return false; + } + + return true; +} + +exports.satisfies = satisfies; +function satisfies(version, range, options) { + try { + range = new Range(range, options); + } catch (er) { + return false; + } + return range.test(version); +} + +exports.maxSatisfying = maxSatisfying; +function maxSatisfying(versions, range, options) { + var max = null; + var maxSV = null; + try { + var rangeObj = new Range(range, options); + } catch (er) { + return null; + } + versions.forEach(function (v) { + if (rangeObj.test(v)) { // satisfies(v, range, options) + if (!max || maxSV.compare(v) === -1) { // compare(max, v, true) + max = v; + maxSV = new SemVer(max, options); + } + } + }) + return max; +} + +exports.minSatisfying = minSatisfying; +function minSatisfying(versions, range, options) { + var min = null; + var minSV = null; + try { + var rangeObj = new Range(range, options); + } catch (er) { + return null; + } + versions.forEach(function (v) { + if (rangeObj.test(v)) { // satisfies(v, range, options) + if (!min || minSV.compare(v) === 1) { // compare(min, v, true) + min = v; + minSV = new SemVer(min, options); + } + } + }) + return min; +} + +exports.validRange = validRange; +function validRange(range, options) { + try { + // Return '*' instead of '' so that truthiness works. + // This will throw if it's invalid anyway + return new Range(range, options).range || '*'; + } catch (er) { + return null; + } +} + +// Determine if version is less than all the versions possible in the range +exports.ltr = ltr; +function ltr(version, range, options) { + return outside(version, range, '<', options); +} + +// Determine if version is greater than all the versions possible in the range. +exports.gtr = gtr; +function gtr(version, range, options) { + return outside(version, range, '>', options); +} + +exports.outside = outside; +function outside(version, range, hilo, options) { + version = new SemVer(version, options); + range = new Range(range, options); + + var gtfn, ltefn, ltfn, comp, ecomp; + switch (hilo) { + case '>': + gtfn = gt; + ltefn = lte; + ltfn = lt; + comp = '>'; + ecomp = '>='; + break; + case '<': + gtfn = lt; + ltefn = gte; + ltfn = gt; + comp = '<'; + ecomp = '<='; + break; + default: + throw new TypeError('Must provide a hilo val of "<" or ">"'); + } + + // If it satisifes the range it is not outside + if (satisfies(version, range, options)) { + return false; + } + + // From now on, variable terms are as if we're in "gtr" mode. + // but note that everything is flipped for the "ltr" function. + + for (var i = 0; i < range.set.length; ++i) { + var comparators = range.set[i]; + + var high = null; + var low = null; + + comparators.forEach(function(comparator) { + if (comparator.semver === ANY) { + comparator = new Comparator('>=0.0.0') + } + high = high || comparator; + low = low || comparator; + if (gtfn(comparator.semver, high.semver, options)) { + high = comparator; + } else if (ltfn(comparator.semver, low.semver, options)) { + low = comparator; + } + }); + + // If the edge version comparator has a operator then our version + // isn't outside it + if (high.operator === comp || high.operator === ecomp) { + return false; + } + + // If the lowest version comparator has an operator and our version + // is less than it then it isn't higher than the range + if ((!low.operator || low.operator === comp) && + ltefn(version, low.semver)) { + return false; + } else if (low.operator === ecomp && ltfn(version, low.semver)) { + return false; + } + } + return true; +} + +exports.prerelease = prerelease; +function prerelease(version, options) { + var parsed = parse(version, options); + return (parsed && parsed.prerelease.length) ? parsed.prerelease : null; +} + +exports.intersects = intersects; +function intersects(r1, r2, options) { + r1 = new Range(r1, options) + r2 = new Range(r2, options) + return r1.intersects(r2) +} + +exports.coerce = coerce; +function coerce(version) { + if (version instanceof SemVer) + return version; + + if (typeof version !== 'string') + return null; + + var match = version.match(re[COERCE]); + + if (match == null) + return null; + + return parse((match[1] || '0') + '.' + (match[2] || '0') + '.' + (match[3] || '0')); +} diff --git a/express-server/node_modules/uid2/LICENSE b/express-server/node_modules/uid2/LICENSE new file mode 100644 index 00000000..bdfab69b --- /dev/null +++ b/express-server/node_modules/uid2/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2013 Marco Aurelio + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. \ No newline at end of file diff --git a/express-server/node_modules/uid2/index.js b/express-server/node_modules/uid2/index.js new file mode 100644 index 00000000..6240b308 --- /dev/null +++ b/express-server/node_modules/uid2/index.js @@ -0,0 +1,55 @@ +/** + * Module dependencies + */ + +var crypto = require('crypto'); + +/** + * 62 characters in the ascii range that can be used in URLs without special + * encoding. + */ +var UIDCHARS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; + +/** + * Make a Buffer into a string ready for use in URLs + * + * @param {String} + * @returns {String} + * @api private + */ +function tostr(bytes) { + var chars, r, i; + + r = []; + for (i = 0; i < bytes.length; i++) { + r.push(UIDCHARS[bytes[i] % UIDCHARS.length]); + } + + return r.join(''); +} + +/** + * Generate an Unique Id + * + * @param {Number} length The number of chars of the uid + * @param {Number} cb (optional) Callback for async uid generation + * @api public + */ + +function uid(length, cb) { + + if (typeof cb === 'undefined') { + return tostr(crypto.pseudoRandomBytes(length)); + } else { + crypto.pseudoRandomBytes(length, function(err, bytes) { + if (err) return cb(err); + cb(null, tostr(bytes)); + }) + } +} + +/** + * Exports + */ + +module.exports = uid; diff --git a/express-server/node_modules/uid2/package.json b/express-server/node_modules/uid2/package.json new file mode 100644 index 00000000..3cae264c --- /dev/null +++ b/express-server/node_modules/uid2/package.json @@ -0,0 +1,34 @@ +{ + "_from": "uid2@0.0.x", + "_id": "uid2@0.0.3", + "_inBundle": false, + "_integrity": "sha1-SDEm4Rd03y9xuLY53NeZw3YWK4I=", + "_location": "/uid2", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "uid2@0.0.x", + "name": "uid2", + "escapedName": "uid2", + "rawSpec": "0.0.x", + "saveSpec": null, + "fetchSpec": "0.0.x" + }, + "_requiredBy": [ + "/passport-oauth2" + ], + "_resolved": "https://registry.npmjs.org/uid2/-/uid2-0.0.3.tgz", + "_shasum": "483126e11774df2f71b8b639dcd799c376162b82", + "_spec": "uid2@0.0.x", + "_where": "C:\\Users\\Georg\\GitHub\\SmartShopper\\express-server\\node_modules\\passport-oauth2", + "bundleDependencies": false, + "dependencies": {}, + "deprecated": false, + "description": "strong uid", + "name": "uid2", + "tags": [ + "uid" + ], + "version": "0.0.3" +} diff --git a/express-server/node_modules/url-template/.gitmodules b/express-server/node_modules/url-template/.gitmodules new file mode 100644 index 00000000..c7d8f424 --- /dev/null +++ b/express-server/node_modules/url-template/.gitmodules @@ -0,0 +1,3 @@ +[submodule "uritemplate-test"] + path = uritemplate-test + url = https://github.com/uri-templates/uritemplate-test diff --git a/express-server/node_modules/url-template/.npmignore b/express-server/node_modules/url-template/.npmignore new file mode 100644 index 00000000..096746c1 --- /dev/null +++ b/express-server/node_modules/url-template/.npmignore @@ -0,0 +1 @@ +/node_modules/ \ No newline at end of file diff --git a/express-server/node_modules/url-template/LICENSE b/express-server/node_modules/url-template/LICENSE new file mode 100644 index 00000000..ae46ad7b --- /dev/null +++ b/express-server/node_modules/url-template/LICENSE @@ -0,0 +1,25 @@ +Copyright (c) 2012-2014, Bram Stein +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/express-server/node_modules/url-template/README.md b/express-server/node_modules/url-template/README.md new file mode 100644 index 00000000..a22749d0 --- /dev/null +++ b/express-server/node_modules/url-template/README.md @@ -0,0 +1,32 @@ +## A JavaScript URI template implementation + +This is a simple URI template implementation following the [RFC 6570 URI Template specification](http://tools.ietf.org/html/rfc6570). The implementation supports all levels defined in the specification and is extensively tested. + +## Installation + +For use with Node.js you can install it through npm: + + $ npm install url-template + +If you want to use it in a browser, copy `lib/url-template.js` into your project and use the global `urltemplate` instance. Alternatively you can use [Bower](http://bower.io/) to install this package: + + $ bower install url-template + +## Example + + var template = require('url-template'); + + ... + + var emailUrl = template.parse('/{email}/{folder}/{id}'); + + // Returns '/user@domain/test/42' + emailUrl.expand({ + email: 'user@domain', + folder: 'test', + id: 42 + }); + +## A note on error handling and reporting + +The RFC states that errors in the templates could optionally be handled and reported to the user. This implementation takes a slightly different approach in that it tries to do a best effort template expansion and leaves erroneous expressions in the returned URI instead of throwing errors. So for example, the incorrect expression `{unclosed` will return `{unclosed` as output. The leaves incorrect URLs to be handled by your URL library of choice. diff --git a/express-server/node_modules/url-template/lib/url-template.js b/express-server/node_modules/url-template/lib/url-template.js new file mode 100644 index 00000000..8d6aae1f --- /dev/null +++ b/express-server/node_modules/url-template/lib/url-template.js @@ -0,0 +1,192 @@ +(function (root, factory) { + if (typeof exports === 'object') { + module.exports = factory(); + } else if (typeof define === 'function' && define.amd) { + define([], factory); + } else { + root.urltemplate = factory(); + } +}(this, function () { + /** + * @constructor + */ + function UrlTemplate() { + } + + /** + * @private + * @param {string} str + * @return {string} + */ + UrlTemplate.prototype.encodeReserved = function (str) { + return str.split(/(%[0-9A-Fa-f]{2})/g).map(function (part) { + if (!/%[0-9A-Fa-f]/.test(part)) { + part = encodeURI(part).replace(/%5B/g, '[').replace(/%5D/g, ']'); + } + return part; + }).join(''); + }; + + /** + * @private + * @param {string} str + * @return {string} + */ + UrlTemplate.prototype.encodeUnreserved = function (str) { + return encodeURIComponent(str).replace(/[!'()*]/g, function (c) { + return '%' + c.charCodeAt(0).toString(16).toUpperCase(); + }); + } + + /** + * @private + * @param {string} operator + * @param {string} value + * @param {string} key + * @return {string} + */ + UrlTemplate.prototype.encodeValue = function (operator, value, key) { + value = (operator === '+' || operator === '#') ? this.encodeReserved(value) : this.encodeUnreserved(value); + + if (key) { + return this.encodeUnreserved(key) + '=' + value; + } else { + return value; + } + }; + + /** + * @private + * @param {*} value + * @return {boolean} + */ + UrlTemplate.prototype.isDefined = function (value) { + return value !== undefined && value !== null; + }; + + /** + * @private + * @param {string} + * @return {boolean} + */ + UrlTemplate.prototype.isKeyOperator = function (operator) { + return operator === ';' || operator === '&' || operator === '?'; + }; + + /** + * @private + * @param {Object} context + * @param {string} operator + * @param {string} key + * @param {string} modifier + */ + UrlTemplate.prototype.getValues = function (context, operator, key, modifier) { + var value = context[key], + result = []; + + if (this.isDefined(value) && value !== '') { + if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') { + value = value.toString(); + + if (modifier && modifier !== '*') { + value = value.substring(0, parseInt(modifier, 10)); + } + + result.push(this.encodeValue(operator, value, this.isKeyOperator(operator) ? key : null)); + } else { + if (modifier === '*') { + if (Array.isArray(value)) { + value.filter(this.isDefined).forEach(function (value) { + result.push(this.encodeValue(operator, value, this.isKeyOperator(operator) ? key : null)); + }, this); + } else { + Object.keys(value).forEach(function (k) { + if (this.isDefined(value[k])) { + result.push(this.encodeValue(operator, value[k], k)); + } + }, this); + } + } else { + var tmp = []; + + if (Array.isArray(value)) { + value.filter(this.isDefined).forEach(function (value) { + tmp.push(this.encodeValue(operator, value)); + }, this); + } else { + Object.keys(value).forEach(function (k) { + if (this.isDefined(value[k])) { + tmp.push(this.encodeUnreserved(k)); + tmp.push(this.encodeValue(operator, value[k].toString())); + } + }, this); + } + + if (this.isKeyOperator(operator)) { + result.push(this.encodeUnreserved(key) + '=' + tmp.join(',')); + } else if (tmp.length !== 0) { + result.push(tmp.join(',')); + } + } + } + } else { + if (operator === ';') { + if (this.isDefined(value)) { + result.push(this.encodeUnreserved(key)); + } + } else if (value === '' && (operator === '&' || operator === '?')) { + result.push(this.encodeUnreserved(key) + '='); + } else if (value === '') { + result.push(''); + } + } + return result; + }; + + /** + * @param {string} template + * @return {function(Object):string} + */ + UrlTemplate.prototype.parse = function (template) { + var that = this; + var operators = ['+', '#', '.', '/', ';', '?', '&']; + + return { + expand: function (context) { + return template.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g, function (_, expression, literal) { + if (expression) { + var operator = null, + values = []; + + if (operators.indexOf(expression.charAt(0)) !== -1) { + operator = expression.charAt(0); + expression = expression.substr(1); + } + + expression.split(/,/g).forEach(function (variable) { + var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable); + values.push.apply(values, that.getValues(context, operator, tmp[1], tmp[2] || tmp[3])); + }); + + if (operator && operator !== '+') { + var separator = ','; + + if (operator === '?') { + separator = '&'; + } else if (operator !== '#') { + separator = operator; + } + return (values.length !== 0 ? operator : '') + values.join(separator); + } else { + return values.join(','); + } + } else { + return that.encodeReserved(literal); + } + }); + } + }; + }; + + return new UrlTemplate(); +})); diff --git a/express-server/node_modules/url-template/package.json b/express-server/node_modules/url-template/package.json new file mode 100644 index 00000000..affadd3f --- /dev/null +++ b/express-server/node_modules/url-template/package.json @@ -0,0 +1,65 @@ +{ + "_from": "url-template@^2.0.8", + "_id": "url-template@2.0.8", + "_inBundle": false, + "_integrity": "sha1-/FZaPMy/93MMd19WQflVV5FDnyE=", + "_location": "/url-template", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "url-template@^2.0.8", + "name": "url-template", + "escapedName": "url-template", + "rawSpec": "^2.0.8", + "saveSpec": null, + "fetchSpec": "^2.0.8" + }, + "_requiredBy": [ + "/googleapis-common" + ], + "_resolved": "https://registry.npmjs.org/url-template/-/url-template-2.0.8.tgz", + "_shasum": "fc565a3cccbff7730c775f5641f9555791439f21", + "_spec": "url-template@^2.0.8", + "_where": "C:\\Users\\Georg\\GitHub\\SmartShopper\\express-server\\node_modules\\googleapis-common", + "author": { + "name": "Bram Stein", + "email": "b.l.stein@gmail.com", + "url": "http://www.bramstein.com" + }, + "bugs": { + "url": "https://github.com/bramstein/url-template/issues" + }, + "bundleDependencies": false, + "decription": "A URI template implementation (RFC 6570 compliant)", + "deprecated": false, + "description": "This is a simple URI template implementation following the [RFC 6570 URI Template specification](http://tools.ietf.org/html/rfc6570). The implementation supports all levels defined in the specification and is extensively tested.", + "devDependencies": { + "expect.js": "=0.2.0", + "mocha": "=1.6.0" + }, + "directories": { + "lib": "./lib" + }, + "homepage": "https://github.com/bramstein/url-template#readme", + "keywords": [ + "uri-template", + "uri template", + "uri", + "url", + "rfc 6570", + "url template", + "url-template" + ], + "license": "BSD", + "main": "./lib/url-template.js", + "name": "url-template", + "repository": { + "type": "git", + "url": "git://github.com/bramstein/url-template.git" + }, + "scripts": { + "test": "mocha --reporter spec" + }, + "version": "2.0.8" +} diff --git a/express-server/node_modules/url-template/test/index.html b/express-server/node_modules/url-template/test/index.html new file mode 100644 index 00000000..727d63d7 --- /dev/null +++ b/express-server/node_modules/url-template/test/index.html @@ -0,0 +1,21 @@ + + + + Mocha Tests + + + +
+ + + + + + + + + + diff --git a/express-server/node_modules/url-template/test/uritemplate-test.js b/express-server/node_modules/url-template/test/uritemplate-test.js new file mode 100644 index 00000000..ec12cb18 --- /dev/null +++ b/express-server/node_modules/url-template/test/uritemplate-test.js @@ -0,0 +1,32 @@ +var template, expect, examples; + +if (typeof require !== 'undefined') { + template = require('../lib/url-template.js'); + expect = require("expect.js"); + examples = require('../uritemplate-test/spec-examples-by-section.json'); +} else { + template = window.urltemplate; + expect = window.expect; + examples = window.examples; +} + +function createTestContext(c) { + return function (t, r) { + if (typeof r === 'string') { + expect(template.parse(t).expand(c)).to.eql(r); + } else { + expect(r.indexOf(template.parse(t).expand(c)) >= 0).to.be.ok(); + } + }; +} + +describe('spec-examples', function () { + Object.keys(examples).forEach(function (section) { + var assert = createTestContext(examples[section].variables); + examples[section].testcases.forEach(function (testcase) { + it(section + ' ' + testcase[0], function () { + assert(testcase[0], testcase[1]); + }); + }); + }); +}); diff --git a/express-server/node_modules/url-template/test/url-template-test.js b/express-server/node_modules/url-template/test/url-template-test.js new file mode 100644 index 00000000..d9ff457a --- /dev/null +++ b/express-server/node_modules/url-template/test/url-template-test.js @@ -0,0 +1,373 @@ +var template, expect; + +if (typeof require !== 'undefined') { + template = require('../lib/url-template.js'); + expect = require("expect.js"); +} else { + template = window.urltemplate; + expect = window.expect; +} + +function createTestContext(c) { + return function (t, r) { + expect(template.parse(t).expand(c)).to.eql(r); + }; +} + +describe('uri-template', function () { + describe('Level 1', function () { + var assert = createTestContext({ + 'var': 'value', + 'some.value': 'some', + 'some_value': 'value', + 'Some%20Thing': 'hello', + 'foo': 'bar', + 'hello': 'Hello World!', + 'bool': false, + 'toString': 'string', + 'number': 42, + 'float': 3.14, + 'undef': undefined, + 'null': null, + 'chars': 'šö䟜ñꀣ¥‡ÑÒÓÔÕÖרÙÚàáâãäåæçÿü', + 'surrogatepairs': '\uD834\uDF06' + }); + + it('empty string', function () { + assert('', ''); + }); + + it('encodes non expressions correctly', function () { + assert('hello/world', 'hello/world'); + assert('Hello World!/{foo}', 'Hello%20World!/bar'); + assert(':/?#[]@!$&()*+,;=\'', ':/?#[]@!$&()*+,;=\''); + assert('%20', '%20'); + assert('%xyz', '%25xyz'); + assert('%', '%25'); + }); + + it('expand plain ASCII strings', function () { + assert('{var}', 'value'); + }); + + it('expand non-ASCII strings', function () { + assert('{chars}', '%C5%A1%C3%B6%C3%A4%C5%B8%C5%93%C3%B1%C3%AA%E2%82%AC%C2%A3%C2%A5%E2%80%A1%C3%91%C3%92%C3%93%C3%94%C3%95%C3%96%C3%97%C3%98%C3%99%C3%9A%C3%A0%C3%A1%C3%A2%C3%A3%C3%A4%C3%A5%C3%A6%C3%A7%C3%BF%C3%BC'); + }); + + it('expands and encodes surrogate pairs correctly', function () { + assert('{surrogatepairs}', '%F0%9D%8C%86'); + }); + + it('expand expressions with dot and underscore', function () { + assert('{some.value}', 'some'); + assert('{some_value}', 'value'); + }); + + it('expand expressions with encoding', function () { + assert('{Some%20Thing}', 'hello'); + }); + + it('expand expressions with reserved JavaScript names', function () { + assert('{toString}', 'string'); + }); + + it('expand variables that are not strings', function () { + assert('{number}', '42'); + assert('{float}', '3.14'); + assert('{bool}', 'false'); + }); + + it('expand variables that are undefined or null', function () { + assert('{undef}', ''); + assert('{null}', ''); + }); + + it('expand multiple values', function () { + assert('{var}/{foo}', 'value/bar'); + }); + + it('escape invalid characters correctly', function () { + assert('{hello}', 'Hello%20World%21'); + }); + }); + + describe('Level 2', function () { + var assert = createTestContext({ + 'var': 'value', + 'hello': 'Hello World!', + 'path': '/foo/bar' + }); + + it('reserved expansion of basic strings', function () { + assert('{+var}', 'value'); + assert('{+hello}', 'Hello%20World!'); + }); + + it('preserves paths', function() { + assert('{+path}/here', '/foo/bar/here'); + assert('here?ref={+path}', 'here?ref=/foo/bar'); + }); + }); + + describe('Level 3', function () { + var assert = createTestContext({ + 'var' : 'value', + 'hello' : 'Hello World!', + 'empty' : '', + 'path' : '/foo/bar', + 'x' : '1024', + 'y' : '768' + }); + + it('variables without an operator', function () { + assert('map?{x,y}', 'map?1024,768'); + assert('{x,hello,y}', '1024,Hello%20World%21,768'); + }); + + it('variables with the reserved expansion operator', function () { + assert('{+x,hello,y}', '1024,Hello%20World!,768'); + assert('{+path,x}/here', '/foo/bar,1024/here'); + }); + + it('variables with the fragment expansion operator', function () { + assert('{#x,hello,y}', '#1024,Hello%20World!,768'); + assert('{#path,x}/here', '#/foo/bar,1024/here'); + }); + + it('variables with the dot operator', function () { + assert('X{.var}', 'X.value'); + assert('X{.x,y}', 'X.1024.768'); + }); + + it('variables with the path operator', function () { + assert('{/var}', '/value'); + assert('{/var,x}/here', '/value/1024/here'); + }); + + it('variables with the parameter operator', function () { + assert('{;x,y}', ';x=1024;y=768'); + assert('{;x,y,empty}', ';x=1024;y=768;empty'); + }); + + it('variables with the query operator', function () { + assert('{?x,y}', '?x=1024&y=768'); + assert('{?x,y,empty}', '?x=1024&y=768&empty='); + }); + + it('variables with the query continuation operator', function () { + assert('?fixed=yes{&x}', '?fixed=yes&x=1024'); + assert('{&x,y,empty}', '&x=1024&y=768&empty='); + }); + }); + + describe('Level 4', function () { + var assert = createTestContext({ + 'var': 'value', + 'hello': 'Hello World!', + 'path': '/foo/bar', + 'list': ['red', 'green', 'blue'], + 'keys': { + 'semi': ';', + 'dot': '.', + 'comma': ',' + }, + "chars": { + 'ü': 'ü' + }, + 'number': 2133, + 'emptystring': '', + 'emptylist': [], + 'emptyobject': {}, + 'undefinedlistitem': [1,,2], + 'undefinedobjectitem': { key: null, hello: 'world', 'empty': '', '': 'nothing' } + }); + + it('variable empty list', function () { + assert('{/emptylist}', ''); + assert('{/emptylist*}', ''); + assert('{?emptylist}', '?emptylist='); + assert('{?emptylist*}', ''); + }); + + it('variable empty object', function () { + assert('{/emptyobject}', ''); + assert('{/emptyobject*}', ''); + assert('{?emptyobject}', '?emptyobject='); + assert('{?emptyobject*}', ''); + }); + + it('variable undefined list item', function () { + assert('{undefinedlistitem}', '1,2'); + assert('{undefinedlistitem*}', '1,2'); + assert('{?undefinedlistitem*}', '?undefinedlistitem=1&undefinedlistitem=2'); + }); + + it('variable undefined object item', function () { + assert('{undefinedobjectitem}', 'hello,world,empty,,,nothing'); + assert('{undefinedobjectitem*}', 'hello=world,empty=,nothing'); + }); + + it('variable empty string', function () { + assert('{emptystring}', ''); + assert('{+emptystring}', ''); + assert('{#emptystring}', '#'); + assert('{.emptystring}', '.'); + assert('{/emptystring}', '/'); + assert('{;emptystring}', ';emptystring'); + assert('{?emptystring}', '?emptystring='); + assert('{&emptystring}', '&emptystring='); + }); + + it('variable modifiers prefix', function () { + assert('{var:3}', 'val'); + assert('{var:30}', 'value'); + assert('{+path:6}/here', '/foo/b/here'); + assert('{#path:6}/here', '#/foo/b/here'); + assert('X{.var:3}', 'X.val'); + assert('{/var:1,var}', '/v/value'); + assert('{;hello:5}', ';hello=Hello'); + assert('{?var:3}', '?var=val'); + assert('{&var:3}', '&var=val'); + }); + + it('variable modifier prefix converted to string', function () { + assert('{number:3}', '213'); + }); + + it('variable list expansion', function () { + assert('{list}', 'red,green,blue'); + assert('{+list}', 'red,green,blue'); + assert('{#list}', '#red,green,blue'); + assert('{/list}', '/red,green,blue'); + assert('{;list}', ';list=red,green,blue'); + assert('{.list}', '.red,green,blue'); + assert('{?list}', '?list=red,green,blue'); + assert('{&list}', '&list=red,green,blue'); + }); + + it('variable associative array expansion', function () { + assert('{keys}', 'semi,%3B,dot,.,comma,%2C'); + assert('{keys*}', 'semi=%3B,dot=.,comma=%2C'); + assert('{+keys}', 'semi,;,dot,.,comma,,'); + assert('{#keys}', '#semi,;,dot,.,comma,,'); + assert('{.keys}', '.semi,%3B,dot,.,comma,%2C'); + assert('{/keys}', '/semi,%3B,dot,.,comma,%2C'); + assert('{;keys}', ';keys=semi,%3B,dot,.,comma,%2C'); + assert('{?keys}', '?keys=semi,%3B,dot,.,comma,%2C'); + assert('{&keys}', '&keys=semi,%3B,dot,.,comma,%2C'); + }); + + it('variable list explode', function () { + assert('{list*}', 'red,green,blue'); + assert('{+list*}', 'red,green,blue'); + assert('{#list*}', '#red,green,blue'); + assert('{/list*}', '/red/green/blue'); + assert('{;list*}', ';list=red;list=green;list=blue'); + assert('{.list*}', '.red.green.blue'); + assert('{?list*}', '?list=red&list=green&list=blue'); + assert('{&list*}', '&list=red&list=green&list=blue'); + + assert('{/list*,path:4}', '/red/green/blue/%2Ffoo'); + }); + + it('variable associative array explode', function () { + assert('{+keys*}', 'semi=;,dot=.,comma=,'); + assert('{#keys*}', '#semi=;,dot=.,comma=,'); + assert('{/keys*}', '/semi=%3B/dot=./comma=%2C'); + assert('{;keys*}', ';semi=%3B;dot=.;comma=%2C'); + assert('{?keys*}', '?semi=%3B&dot=.&comma=%2C'); + assert('{&keys*}', '&semi=%3B&dot=.&comma=%2C') + }); + + it('encodes associative arrays correctly', function () { + assert('{chars*}', '%C3%BC=%C3%BC'); + }); + }); + + describe('Encoding', function () { + var assert = createTestContext({ + restricted: ":/?#[]@!$&()*+,;='", + percent: '%', + encoded: '%25', + 'pctencoded%20name': '', + mapWithEncodedName: { + 'encoded%20name': '' + }, + mapWithRestrictedName: { + 'restricted=name': '' + }, + mapWidthUmlautName: { + 'ümlaut': '' + } + }); + + it('passes through percent encoded values', function () { + assert('{percent}', '%25'); + assert('{+encoded}', '%25'); + }); + + it('encodes restricted characters correctly', function () { + assert('{restricted}', '%3A%2F%3F%23%5B%5D%40%21%24%26%28%29%2A%2B%2C%3B%3D%27'); + assert('{+restricted}', ':/?#[]@!$&()*+,;=\''); + assert('{#restricted}', '#:/?#[]@!$&()*+,;=\''); + assert('{/restricted}', '/%3A%2F%3F%23%5B%5D%40%21%24%26%28%29%2A%2B%2C%3B%3D%27'); + assert('{;restricted}', ';restricted=%3A%2F%3F%23%5B%5D%40%21%24%26%28%29%2A%2B%2C%3B%3D%27'); + assert('{.restricted}', '.%3A%2F%3F%23%5B%5D%40%21%24%26%28%29%2A%2B%2C%3B%3D%27'); + assert('{?restricted}', '?restricted=%3A%2F%3F%23%5B%5D%40%21%24%26%28%29%2A%2B%2C%3B%3D%27'); + assert('{&restricted}', '&restricted=%3A%2F%3F%23%5B%5D%40%21%24%26%28%29%2A%2B%2C%3B%3D%27'); + }); + }); + describe('Error handling (or the lack thereof)', function () { + var assert = createTestContext({ + foo: 'test', + keys: { + foo: 'bar' + } + }); + + it('does not expand invalid expressions', function () { + assert('{test', '{test'); + assert('test}', 'test}'); + assert('{{test}}', '{}'); // TODO: Is this acceptable? + }); + + it('does not expand with incorrect operators', function () { + assert('{@foo}', ''); // TODO: This will try to match a variable called `@foo` which will fail because it is not in our context. We could catch this by ignoring reserved operators? + assert('{$foo}', ''); // TODO: Same story, but $ is not a reserved operator. + assert('{++foo}', ''); + }); + + it('ignores incorrect prefixes', function () { + assert('{foo:test}', 'test'); // TODO: Invalid prefixes are ignored. We could throw an error. + assert('{foo:2test}', 'te'); // TODO: Best effort is OK? + }); + + it('prefix applied to the wrong context', function () { + assert('{keys:1}', 'foo,bar'); + }); + }); + describe('Skipping undefined arguments', function () { + var assert = createTestContext({ + 'var': 'value', + 'number': 2133, + 'emptystring': '', + 'emptylist': [], + 'emptyobject': {}, + 'undefinedlistitem': [1,,2], + }); + it('variable undefined list item', function () { + assert('{undefinedlistitem}', '1,2'); + assert('{undefinedlistitem*}', '1,2'); + assert('{?undefinedlistitem*}', '?undefinedlistitem=1&undefinedlistitem=2'); + }); + + it('query with empty/undefined arguments', function () { + assert('{?var,number}', '?var=value&number=2133'); + assert('{?undef}', ''); + assert('{?emptystring}', '?emptystring='); + assert('{?emptylist}', '?emptylist='); + assert('{?emptyobject}', '?emptyobject='); + assert('{?undef,var,emptystring}', '?var=value&emptystring='); + }); + }); +}); diff --git a/express-server/node_modules/url-template/uritemplate-test/README.md b/express-server/node_modules/url-template/uritemplate-test/README.md new file mode 100644 index 00000000..3eb519da --- /dev/null +++ b/express-server/node_modules/url-template/uritemplate-test/README.md @@ -0,0 +1,90 @@ + +URI Template Tests +================== + +This is a set of tests for implementations of +[RFC6570](http://tools.ietf.org/html/rfc6570) - URI Template. It is designed +to be reused by any implementation, to improve interoperability and +implementation quality. + +If your project uses Git for version control, you can make uritemplate-tests into a [submodule](http://help.github.com/submodules/). + +Test Format +----------- + +Each test file is a [JSON](http://tools.ietf.org/html/RFC6627) document +containing an object whose properties are groups of related tests. +Alternatively, all tests are available in XML as well, with the XML files +being generated by transform-json-tests.xslt which uses json2xml.xslt as a +general-purpose JSON-to-XML parsing library. + +Each group, in turn, is an object with three children: + +* level - the level of the tests covered, as per the RFC (optional; if absent, + assume level 4). +* variables - an object representing the variables that are available to the + tests in the suite +* testcases - a list of testcases, where each case is a two-member list, the + first being the template, the second being the result of expanding the + template with the provided variables. + +Note that the result string can be a few different things: + +* string - if the second member is a string, the result of expansion is + expected to match it, character-for-character. +* list - if the second member is a list of strings, the result of expansion + is expected to match one of them; this allows for templates that can + expand into different, equally-acceptable URIs. +* false - if the second member is boolean false, expansion is expected to + fail (i.e., the template was invalid). + +For example: + + { + "Level 1 Examples" : + { + "level": 1, + "variables": { + "var" : "value", + "hello" : "Hello World!" + }, + "testcases" : [ + ["{var}", "value"], + ["{hello}", "Hello%20World%21"] + ] + } + } + + +Tests Included +-------------- + +The following test files are included: + +* spec-examples.json - The complete set of example templates from the RFC +* spec-examples-by-section.json - The examples, section by section +* extended-tests.json - more complex test cases +* negative-tests.json - invalid templates + +For all these test files, XML versions with the names *.xml can be +generated with the transform-json-tests.xslt XSLT stylesheet. The XSLT +contains the names of the above test files as a parameter, and can be +started with any XML as input (i.e., the XML input is ignored). + +License +------- + + Copyright 2011-2012 The Authors + + 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. + diff --git a/express-server/node_modules/url-template/uritemplate-test/extended-tests.json b/express-server/node_modules/url-template/uritemplate-test/extended-tests.json new file mode 100644 index 00000000..fd697444 --- /dev/null +++ b/express-server/node_modules/url-template/uritemplate-test/extended-tests.json @@ -0,0 +1,118 @@ +{ + "Additional Examples 1":{ + "level":4, + "variables":{ + "id" : "person", + "token" : "12345", + "fields" : ["id", "name", "picture"], + "format" : "json", + "q" : "URI Templates", + "page" : "5", + "lang" : "en", + "geocode" : ["37.76","-122.427"], + "first_name" : "John", + "last.name" : "Doe", + "Some%20Thing" : "foo", + "number" : 6, + "long" : 37.76, + "lat" : -122.427, + "group_id" : "12345", + "query" : "PREFIX dc: SELECT ?book ?who WHERE { ?book dc:creator ?who }", + "uri" : "http://example.org/?uri=http%3A%2F%2Fexample.org%2F", + "word" : "drücken", + "Stra%C3%9Fe" : "Grüner Weg", + "random" : "šö䟜ñꀣ¥‡ÑÒÓÔÕÖרÙÚàáâãäåæçÿ", + "assoc_special_chars" : + { "šö䟜ñꀣ¥‡ÑÒÓÔÕ" : "ÖרÙÚàáâãäåæçÿ" } + }, + "testcases":[ + + [ "{/id*}" , "/person" ], + [ "{/id*}{?fields,first_name,last.name,token}" , [ + "/person?fields=id,name,picture&first_name=John&last.name=Doe&token=12345", + "/person?fields=id,picture,name&first_name=John&last.name=Doe&token=12345", + "/person?fields=picture,name,id&first_name=John&last.name=Doe&token=12345", + "/person?fields=picture,id,name&first_name=John&last.name=Doe&token=12345", + "/person?fields=name,picture,id&first_name=John&last.name=Doe&token=12345", + "/person?fields=name,id,picture&first_name=John&last.name=Doe&token=12345"] + ], + ["/search.{format}{?q,geocode,lang,locale,page,result_type}", + [ "/search.json?q=URI%20Templates&geocode=37.76,-122.427&lang=en&page=5", + "/search.json?q=URI%20Templates&geocode=-122.427,37.76&lang=en&page=5"] + ], + ["/test{/Some%20Thing}", "/test/foo" ], + ["/set{?number}", "/set?number=6"], + ["/loc{?long,lat}" , "/loc?long=37.76&lat=-122.427"], + ["/base{/group_id,first_name}/pages{/page,lang}{?format,q}","/base/12345/John/pages/5/en?format=json&q=URI%20Templates"], + ["/sparql{?query}", "/sparql?query=PREFIX%20dc%3A%20%3Chttp%3A%2F%2Fpurl.org%2Fdc%2Felements%2F1.1%2F%3E%20SELECT%20%3Fbook%20%3Fwho%20WHERE%20%7B%20%3Fbook%20dc%3Acreator%20%3Fwho%20%7D"], + ["/go{?uri}", "/go?uri=http%3A%2F%2Fexample.org%2F%3Furi%3Dhttp%253A%252F%252Fexample.org%252F"], + ["/service{?word}", "/service?word=dr%C3%BCcken"], + ["/lookup{?Stra%C3%9Fe}", "/lookup?Stra%C3%9Fe=Gr%C3%BCner%20Weg"], + ["{random}" , "%C5%A1%C3%B6%C3%A4%C5%B8%C5%93%C3%B1%C3%AA%E2%82%AC%C2%A3%C2%A5%E2%80%A1%C3%91%C3%92%C3%93%C3%94%C3%95%C3%96%C3%97%C3%98%C3%99%C3%9A%C3%A0%C3%A1%C3%A2%C3%A3%C3%A4%C3%A5%C3%A6%C3%A7%C3%BF"], + ["{?assoc_special_chars*}", "?%C5%A1%C3%B6%C3%A4%C5%B8%C5%93%C3%B1%C3%AA%E2%82%AC%C2%A3%C2%A5%E2%80%A1%C3%91%C3%92%C3%93%C3%94%C3%95=%C3%96%C3%97%C3%98%C3%99%C3%9A%C3%A0%C3%A1%C3%A2%C3%A3%C3%A4%C3%A5%C3%A6%C3%A7%C3%BF"] + ] + }, + "Additional Examples 2":{ + "level":4, + "variables":{ + "id" : ["person","albums"], + "token" : "12345", + "fields" : ["id", "name", "picture"], + "format" : "atom", + "q" : "URI Templates", + "page" : "10", + "start" : "5", + "lang" : "en", + "geocode" : ["37.76","-122.427"] + }, + "testcases":[ + + [ "{/id*}" , ["/person/albums","/albums/person"] ], + [ "{/id*}{?fields,token}" , [ + "/person/albums?fields=id,name,picture&token=12345", + "/person/albums?fields=id,picture,name&token=12345", + "/person/albums?fields=picture,name,id&token=12345", + "/person/albums?fields=picture,id,name&token=12345", + "/person/albums?fields=name,picture,id&token=12345", + "/person/albums?fields=name,id,picture&token=12345", + "/albums/person?fields=id,name,picture&token=12345", + "/albums/person?fields=id,picture,name&token=12345", + "/albums/person?fields=picture,name,id&token=12345", + "/albums/person?fields=picture,id,name&token=12345", + "/albums/person?fields=name,picture,id&token=12345", + "/albums/person?fields=name,id,picture&token=12345"] + ] + ] + }, + "Additional Examples 3: Empty Variables":{ + "variables" : { + "empty_list" : [], + "empty_assoc" : {} + }, + "testcases":[ + [ "{/empty_list}", [ "" ] ], + [ "{/empty_list*}", [ "" ] ], + [ "{?empty_list}", [ ""] ], + [ "{?empty_list*}", [ "" ] ], + [ "{?empty_assoc}", [ "" ] ], + [ "{?empty_assoc*}", [ "" ] ] + ] + }, + "Additional Examples 4: Numeric Keys":{ + "variables" : { + "42" : "The Answer to the Ultimate Question of Life, the Universe, and Everything", + "1337" : ["leet", "as","it", "can","be"], + "german" : { + "11": "elf", + "12": "zwölf" + } + }, + "testcases":[ + [ "{42}", "The%20Answer%20to%20the%20Ultimate%20Question%20of%20Life%2C%20the%20Universe%2C%20and%20Everything"], + [ "{?42}", "?42=The%20Answer%20to%20the%20Ultimate%20Question%20of%20Life%2C%20the%20Universe%2C%20and%20Everything"], + [ "{1337}", "leet,as,it,can,be"], + [ "{?1337*}", "?1337=leet&1337=as&1337=it&1337=can&1337=be"], + [ "{?german*}", [ "?11=elf&12=zw%C3%B6lf", "?12=zw%C3%B6lf&11=elf"] ] + ] + } +} diff --git a/express-server/node_modules/url-template/uritemplate-test/json2xml.xslt b/express-server/node_modules/url-template/uritemplate-test/json2xml.xslt new file mode 100644 index 00000000..59b3548c --- /dev/null +++ b/express-server/node_modules/url-template/uritemplate-test/json2xml.xslt @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \b + + + + + + + + + + + \v + + + + + \f + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/express-server/node_modules/url-template/uritemplate-test/negative-tests.json b/express-server/node_modules/url-template/uritemplate-test/negative-tests.json new file mode 100644 index 00000000..552a6bf0 --- /dev/null +++ b/express-server/node_modules/url-template/uritemplate-test/negative-tests.json @@ -0,0 +1,57 @@ +{ + "Failure Tests":{ + "level":4, + "variables":{ + "id" : "thing", + "var" : "value", + "hello" : "Hello World!", + "with space" : "fail", + " leading_space" : "Hi!", + "trailing_space " : "Bye!", + "empty" : "", + "path" : "/foo/bar", + "x" : "1024", + "y" : "768", + "list" : ["red", "green", "blue"], + "keys" : { "semi" : ";", "dot" : ".", "comma" : ","}, + "example" : "red", + "searchTerms" : "uri templates", + "~thing" : "some-user", + "default-graph-uri" : ["http://www.example/book/","http://www.example/papers/"], + "query" : "PREFIX dc: SELECT ?book ?who WHERE { ?book dc:creator ?who }" + + }, + "testcases":[ + [ "{/id*", false ], + [ "/id*}", false ], + [ "{/?id}", false ], + [ "{var:prefix}", false ], + [ "{hello:2*}", false ] , + [ "{??hello}", false ] , + [ "{!hello}", false ] , + [ "{with space}", false], + [ "{ leading_space}", false], + [ "{trailing_space }", false], + [ "{=path}", false ] , + [ "{$var}", false ], + [ "{|var*}", false ], + [ "{*keys?}", false ], + [ "{?empty=default,var}", false ], + [ "{var}{-prefix|/-/|var}" , false ], + [ "?q={searchTerms}&c={example:color?}" , false ], + [ "x{?empty|foo=none}" , false ], + [ "/h{#hello+}" , false ], + [ "/h#{hello+}" , false ], + [ "{keys:1}", false ], + [ "{+keys:1}", false ], + [ "{;keys:1*}", false ], + [ "?{-join|&|var,list}" , false ], + [ "/people/{~thing}", false], + [ "/{default-graph-uri}", false ], + [ "/sparql{?query,default-graph-uri}", false ], + [ "/sparql{?query){&default-graph-uri*}", false ], + [ "/resolution{?x, y}" , false ] + + ] + } +} \ No newline at end of file diff --git a/express-server/node_modules/url-template/uritemplate-test/spec-examples-by-section.json b/express-server/node_modules/url-template/uritemplate-test/spec-examples-by-section.json new file mode 100644 index 00000000..5aef1820 --- /dev/null +++ b/express-server/node_modules/url-template/uritemplate-test/spec-examples-by-section.json @@ -0,0 +1,439 @@ +{ + "3.2.1 Variable Expansion" : + { + "variables": { + "count" : ["one", "two", "three"], + "dom" : ["example", "com"], + "dub" : "me/too", + "hello" : "Hello World!", + "half" : "50%", + "var" : "value", + "who" : "fred", + "base" : "http://example.com/home/", + "path" : "/foo/bar", + "list" : ["red", "green", "blue"], + "keys" : { "semi" : ";", "dot" : ".", "comma" : ","}, + "v" : "6", + "x" : "1024", + "y" : "768", + "empty" : "", + "empty_keys" : [], + "undef" : null + }, + "testcases" : [ + ["{count}", "one,two,three"], + ["{count*}", "one,two,three"], + ["{/count}", "/one,two,three"], + ["{/count*}", "/one/two/three"], + ["{;count}", ";count=one,two,three"], + ["{;count*}", ";count=one;count=two;count=three"], + ["{?count}", "?count=one,two,three"], + ["{?count*}", "?count=one&count=two&count=three"], + ["{&count*}", "&count=one&count=two&count=three"] + ] + }, + "3.2.2 Simple String Expansion" : + { + "variables": { + "count" : ["one", "two", "three"], + "dom" : ["example", "com"], + "dub" : "me/too", + "hello" : "Hello World!", + "half" : "50%", + "var" : "value", + "who" : "fred", + "base" : "http://example.com/home/", + "path" : "/foo/bar", + "list" : ["red", "green", "blue"], + "keys" : { "semi" : ";", "dot" : ".", "comma" : ","}, + "v" : "6", + "x" : "1024", + "y" : "768", + "empty" : "", + "empty_keys" : [], + "undef" : null + }, + "testcases" : [ + ["{var}", "value"], + ["{hello}", "Hello%20World%21"], + ["{half}", "50%25"], + ["O{empty}X", "OX"], + ["O{undef}X", "OX"], + ["{x,y}", "1024,768"], + ["{x,hello,y}", "1024,Hello%20World%21,768"], + ["?{x,empty}", "?1024,"], + ["?{x,undef}", "?1024"], + ["?{undef,y}", "?768"], + ["{var:3}", "val"], + ["{var:30}", "value"], + ["{list}", "red,green,blue"], + ["{list*}", "red,green,blue"], + ["{keys}", [ + "comma,%2C,dot,.,semi,%3B", + "comma,%2C,semi,%3B,dot,.", + "dot,.,comma,%2C,semi,%3B", + "dot,.,semi,%3B,comma,%2C", + "semi,%3B,comma,%2C,dot,.", + "semi,%3B,dot,.,comma,%2C" + ]], + ["{keys*}", [ + "comma=%2C,dot=.,semi=%3B", + "comma=%2C,semi=%3B,dot=.", + "dot=.,comma=%2C,semi=%3B", + "dot=.,semi=%3B,comma=%2C", + "semi=%3B,comma=%2C,dot=.", + "semi=%3B,dot=.,comma=%2C" + ]] + ] + }, + "3.2.3 Reserved Expansion" : + { + "variables": { + "count" : ["one", "two", "three"], + "dom" : ["example", "com"], + "dub" : "me/too", + "hello" : "Hello World!", + "half" : "50%", + "var" : "value", + "who" : "fred", + "base" : "http://example.com/home/", + "path" : "/foo/bar", + "list" : ["red", "green", "blue"], + "keys" : { "semi" : ";", "dot" : ".", "comma" : ","}, + "v" : "6", + "x" : "1024", + "y" : "768", + "empty" : "", + "empty_keys" : [], + "undef" : null + }, + "testcases" : [ + ["{+var}", "value"], + ["{/var,empty}", "/value/"], + ["{/var,undef}", "/value"], + ["{+hello}", "Hello%20World!"], + ["{+half}", "50%25"], + ["{base}index", "http%3A%2F%2Fexample.com%2Fhome%2Findex"], + ["{+base}index", "http://example.com/home/index"], + ["O{+empty}X", "OX"], + ["O{+undef}X", "OX"], + ["{+path}/here", "/foo/bar/here"], + ["{+path:6}/here", "/foo/b/here"], + ["here?ref={+path}", "here?ref=/foo/bar"], + ["up{+path}{var}/here", "up/foo/barvalue/here"], + ["{+x,hello,y}", "1024,Hello%20World!,768"], + ["{+path,x}/here", "/foo/bar,1024/here"], + ["{+list}", "red,green,blue"], + ["{+list*}", "red,green,blue"], + ["{+keys}", [ + "comma,,,dot,.,semi,;", + "comma,,,semi,;,dot,.", + "dot,.,comma,,,semi,;", + "dot,.,semi,;,comma,,", + "semi,;,comma,,,dot,.", + "semi,;,dot,.,comma,," + ]], + ["{+keys*}", [ + "comma=,,dot=.,semi=;", + "comma=,,semi=;,dot=.", + "dot=.,comma=,,semi=;", + "dot=.,semi=;,comma=,", + "semi=;,comma=,,dot=.", + "semi=;,dot=.,comma=," + ]] + ] + }, + "3.2.4 Fragment Expansion" : + { + "variables": { + "count" : ["one", "two", "three"], + "dom" : ["example", "com"], + "dub" : "me/too", + "hello" : "Hello World!", + "half" : "50%", + "var" : "value", + "who" : "fred", + "base" : "http://example.com/home/", + "path" : "/foo/bar", + "list" : ["red", "green", "blue"], + "keys" : { "semi" : ";", "dot" : ".", "comma" : ","}, + "v" : "6", + "x" : "1024", + "y" : "768", + "empty" : "", + "empty_keys" : [], + "undef" : null + }, + "testcases" : [ + ["{#var}", "#value"], + ["{#hello}", "#Hello%20World!"], + ["{#half}", "#50%25"], + ["foo{#empty}", "foo#"], + ["foo{#undef}", "foo"], + ["{#x,hello,y}", "#1024,Hello%20World!,768"], + ["{#path,x}/here", "#/foo/bar,1024/here"], + ["{#path:6}/here", "#/foo/b/here"], + ["{#list}", "#red,green,blue"], + ["{#list*}", "#red,green,blue"], + ["{#keys}", [ + "#comma,,,dot,.,semi,;", + "#comma,,,semi,;,dot,.", + "#dot,.,comma,,,semi,;", + "#dot,.,semi,;,comma,,", + "#semi,;,comma,,,dot,.", + "#semi,;,dot,.,comma,," + ]] + ] + }, + "3.2.5 Label Expansion with Dot-Prefix" : + { + "variables": { + "count" : ["one", "two", "three"], + "dom" : ["example", "com"], + "dub" : "me/too", + "hello" : "Hello World!", + "half" : "50%", + "var" : "value", + "who" : "fred", + "base" : "http://example.com/home/", + "path" : "/foo/bar", + "list" : ["red", "green", "blue"], + "keys" : { "semi" : ";", "dot" : ".", "comma" : ","}, + "v" : "6", + "x" : "1024", + "y" : "768", + "empty" : "", + "empty_keys" : [], + "undef" : null + }, + "testcases" : [ + ["{.who}", ".fred"], + ["{.who,who}", ".fred.fred"], + ["{.half,who}", ".50%25.fred"], + ["www{.dom*}", "www.example.com"], + ["X{.var}", "X.value"], + ["X{.var:3}", "X.val"], + ["X{.empty}", "X."], + ["X{.undef}", "X"], + ["X{.list}", "X.red,green,blue"], + ["X{.list*}", "X.red.green.blue"], + ["{#keys}", [ + "#comma,,,dot,.,semi,;", + "#comma,,,semi,;,dot,.", + "#dot,.,comma,,,semi,;", + "#dot,.,semi,;,comma,,", + "#semi,;,comma,,,dot,.", + "#semi,;,dot,.,comma,," + ]], + ["{#keys*}", [ + "#comma=,,dot=.,semi=;", + "#comma=,,semi=;,dot=.", + "#dot=.,comma=,,semi=;", + "#dot=.,semi=;,comma=,", + "#semi=;,comma=,,dot=.", + "#semi=;,dot=.,comma=," + ]], + ["X{.empty_keys}", "X"], + ["X{.empty_keys*}", "X"] + ] + }, + "3.2.6 Path Segment Expansion" : + { + "variables": { + "count" : ["one", "two", "three"], + "dom" : ["example", "com"], + "dub" : "me/too", + "hello" : "Hello World!", + "half" : "50%", + "var" : "value", + "who" : "fred", + "base" : "http://example.com/home/", + "path" : "/foo/bar", + "list" : ["red", "green", "blue"], + "keys" : { "semi" : ";", "dot" : ".", "comma" : ","}, + "v" : "6", + "x" : "1024", + "y" : "768", + "empty" : "", + "empty_keys" : [], + "undef" : null + }, + "testcases" : [ + ["{/who}", "/fred"], + ["{/who,who}", "/fred/fred"], + ["{/half,who}", "/50%25/fred"], + ["{/who,dub}", "/fred/me%2Ftoo"], + ["{/var}", "/value"], + ["{/var,empty}", "/value/"], + ["{/var,undef}", "/value"], + ["{/var,x}/here", "/value/1024/here"], + ["{/var:1,var}", "/v/value"], + ["{/list}", "/red,green,blue"], + ["{/list*}", "/red/green/blue"], + ["{/list*,path:4}", "/red/green/blue/%2Ffoo"], + ["{/keys}", [ + "/comma,%2C,dot,.,semi,%3B", + "/comma,%2C,semi,%3B,dot,.", + "/dot,.,comma,%2C,semi,%3B", + "/dot,.,semi,%3B,comma,%2C", + "/semi,%3B,comma,%2C,dot,.", + "/semi,%3B,dot,.,comma,%2C" + ]], + ["{/keys*}", [ + "/comma=%2C/dot=./semi=%3B", + "/comma=%2C/semi=%3B/dot=.", + "/dot=./comma=%2C/semi=%3B", + "/dot=./semi=%3B/comma=%2C", + "/semi=%3B/comma=%2C/dot=.", + "/semi=%3B/dot=./comma=%2C" + ]] + ] + }, + "3.2.7 Path-Style Parameter Expansion" : + { + "variables": { + "count" : ["one", "two", "three"], + "dom" : ["example", "com"], + "dub" : "me/too", + "hello" : "Hello World!", + "half" : "50%", + "var" : "value", + "who" : "fred", + "base" : "http://example.com/home/", + "path" : "/foo/bar", + "list" : ["red", "green", "blue"], + "keys" : { "semi" : ";", "dot" : ".", "comma" : ","}, + "v" : "6", + "x" : "1024", + "y" : "768", + "empty" : "", + "empty_keys" : [], + "undef" : null + }, + "testcases" : [ + ["{;who}", ";who=fred"], + ["{;half}", ";half=50%25"], + ["{;empty}", ";empty"], + ["{;hello:5}", ";hello=Hello"], + ["{;v,empty,who}", ";v=6;empty;who=fred"], + ["{;v,bar,who}", ";v=6;who=fred"], + ["{;x,y}", ";x=1024;y=768"], + ["{;x,y,empty}", ";x=1024;y=768;empty"], + ["{;x,y,undef}", ";x=1024;y=768"], + ["{;list}", ";list=red,green,blue"], + ["{;list*}", ";list=red;list=green;list=blue"], + ["{;keys}", [ + ";keys=comma,%2C,dot,.,semi,%3B", + ";keys=comma,%2C,semi,%3B,dot,.", + ";keys=dot,.,comma,%2C,semi,%3B", + ";keys=dot,.,semi,%3B,comma,%2C", + ";keys=semi,%3B,comma,%2C,dot,.", + ";keys=semi,%3B,dot,.,comma,%2C" + ]], + ["{;keys*}", [ + ";comma=%2C;dot=.;semi=%3B", + ";comma=%2C;semi=%3B;dot=.", + ";dot=.;comma=%2C;semi=%3B", + ";dot=.;semi=%3B;comma=%2C", + ";semi=%3B;comma=%2C;dot=.", + ";semi=%3B;dot=.;comma=%2C" + ]] + ] + }, + "3.2.8 Form-Style Query Expansion" : + { + "variables": { + "count" : ["one", "two", "three"], + "dom" : ["example", "com"], + "dub" : "me/too", + "hello" : "Hello World!", + "half" : "50%", + "var" : "value", + "who" : "fred", + "base" : "http://example.com/home/", + "path" : "/foo/bar", + "list" : ["red", "green", "blue"], + "keys" : { "semi" : ";", "dot" : ".", "comma" : ","}, + "v" : "6", + "x" : "1024", + "y" : "768", + "empty" : "", + "empty_keys" : [], + "undef" : null + }, + "testcases" : [ + ["{?who}", "?who=fred"], + ["{?half}", "?half=50%25"], + ["{?x,y}", "?x=1024&y=768"], + ["{?x,y,empty}", "?x=1024&y=768&empty="], + ["{?x,y,undef}", "?x=1024&y=768"], + ["{?var:3}", "?var=val"], + ["{?list}", "?list=red,green,blue"], + ["{?list*}", "?list=red&list=green&list=blue"], + ["{?keys}", [ + "?keys=comma,%2C,dot,.,semi,%3B", + "?keys=comma,%2C,semi,%3B,dot,.", + "?keys=dot,.,comma,%2C,semi,%3B", + "?keys=dot,.,semi,%3B,comma,%2C", + "?keys=semi,%3B,comma,%2C,dot,.", + "?keys=semi,%3B,dot,.,comma,%2C" + ]], + ["{?keys*}", [ + "?comma=%2C&dot=.&semi=%3B", + "?comma=%2C&semi=%3B&dot=.", + "?dot=.&comma=%2C&semi=%3B", + "?dot=.&semi=%3B&comma=%2C", + "?semi=%3B&comma=%2C&dot=.", + "?semi=%3B&dot=.&comma=%2C" + ]] + ] + }, + "3.2.9 Form-Style Query Continuation" : + { + "variables": { + "count" : ["one", "two", "three"], + "dom" : ["example", "com"], + "dub" : "me/too", + "hello" : "Hello World!", + "half" : "50%", + "var" : "value", + "who" : "fred", + "base" : "http://example.com/home/", + "path" : "/foo/bar", + "list" : ["red", "green", "blue"], + "keys" : { "semi" : ";", "dot" : ".", "comma" : ","}, + "v" : "6", + "x" : "1024", + "y" : "768", + "empty" : "", + "empty_keys" : [], + "undef" : null + }, + "testcases" : [ + ["{&who}", "&who=fred"], + ["{&half}", "&half=50%25"], + ["?fixed=yes{&x}", "?fixed=yes&x=1024"], + ["{&var:3}", "&var=val"], + ["{&x,y,empty}", "&x=1024&y=768&empty="], + ["{&x,y,undef}", "&x=1024&y=768"], + ["{&list}", "&list=red,green,blue"], + ["{&list*}", "&list=red&list=green&list=blue"], + ["{&keys}", [ + "&keys=comma,%2C,dot,.,semi,%3B", + "&keys=comma,%2C,semi,%3B,dot,.", + "&keys=dot,.,comma,%2C,semi,%3B", + "&keys=dot,.,semi,%3B,comma,%2C", + "&keys=semi,%3B,comma,%2C,dot,.", + "&keys=semi,%3B,dot,.,comma,%2C" + ]], + ["{&keys*}", [ + "&comma=%2C&dot=.&semi=%3B", + "&comma=%2C&semi=%3B&dot=.", + "&dot=.&comma=%2C&semi=%3B", + "&dot=.&semi=%3B&comma=%2C", + "&semi=%3B&comma=%2C&dot=.", + "&semi=%3B&dot=.&comma=%2C" + ]] + ] + } +} diff --git a/express-server/node_modules/url-template/uritemplate-test/spec-examples.json b/express-server/node_modules/url-template/uritemplate-test/spec-examples.json new file mode 100644 index 00000000..2e8e942d --- /dev/null +++ b/express-server/node_modules/url-template/uritemplate-test/spec-examples.json @@ -0,0 +1,218 @@ +{ + "Level 1 Examples" : + { + "level": 1, + "variables": { + "var" : "value", + "hello" : "Hello World!" + }, + "testcases" : [ + ["{var}", "value"], + ["{hello}", "Hello%20World%21"] + ] + }, + "Level 2 Examples" : + { + "level": 2, + "variables": { + "var" : "value", + "hello" : "Hello World!", + "path" : "/foo/bar" + }, + "testcases" : [ + ["{+var}", "value"], + ["{+hello}", "Hello%20World!"], + ["{+path}/here", "/foo/bar/here"], + ["here?ref={+path}", "here?ref=/foo/bar"] + ] + }, + "Level 3 Examples" : + { + "level": 3, + "variables": { + "var" : "value", + "hello" : "Hello World!", + "empty" : "", + "path" : "/foo/bar", + "x" : "1024", + "y" : "768" + }, + "testcases" : [ + ["map?{x,y}", "map?1024,768"], + ["{x,hello,y}", "1024,Hello%20World%21,768"], + ["{+x,hello,y}", "1024,Hello%20World!,768"], + ["{+path,x}/here", "/foo/bar,1024/here"], + ["{#x,hello,y}", "#1024,Hello%20World!,768"], + ["{#path,x}/here", "#/foo/bar,1024/here"], + ["X{.var}", "X.value"], + ["X{.x,y}", "X.1024.768"], + ["{/var}", "/value"], + ["{/var,x}/here", "/value/1024/here"], + ["{;x,y}", ";x=1024;y=768"], + ["{;x,y,empty}", ";x=1024;y=768;empty"], + ["{?x,y}", "?x=1024&y=768"], + ["{?x,y,empty}", "?x=1024&y=768&empty="], + ["?fixed=yes{&x}", "?fixed=yes&x=1024"], + ["{&x,y,empty}", "&x=1024&y=768&empty="] + ] + }, + "Level 4 Examples" : + { + "level": 4, + "variables": { + "var": "value", + "hello": "Hello World!", + "path": "/foo/bar", + "list": ["red", "green", "blue"], + "keys": {"semi": ";", "dot": ".", "comma":","} + }, + "testcases": [ + ["{var:3}", "val"], + ["{var:30}", "value"], + ["{list}", "red,green,blue"], + ["{list*}", "red,green,blue"], + ["{keys}", [ + "comma,%2C,dot,.,semi,%3B", + "comma,%2C,semi,%3B,dot,.", + "dot,.,comma,%2C,semi,%3B", + "dot,.,semi,%3B,comma,%2C", + "semi,%3B,comma,%2C,dot,.", + "semi,%3B,dot,.,comma,%2C" + ]], + ["{keys*}", [ + "comma=%2C,dot=.,semi=%3B", + "comma=%2C,semi=%3B,dot=.", + "dot=.,comma=%2C,semi=%3B", + "dot=.,semi=%3B,comma=%2C", + "semi=%3B,comma=%2C,dot=.", + "semi=%3B,dot=.,comma=%2C" + ]], + ["{+path:6}/here", "/foo/b/here"], + ["{+list}", "red,green,blue"], + ["{+list*}", "red,green,blue"], + ["{+keys}", [ + "comma,,,dot,.,semi,;", + "comma,,,semi,;,dot,.", + "dot,.,comma,,,semi,;", + "dot,.,semi,;,comma,,", + "semi,;,comma,,,dot,.", + "semi,;,dot,.,comma,," + ]], + ["{+keys*}", [ + "comma=,,dot=.,semi=;", + "comma=,,semi=;,dot=.", + "dot=.,comma=,,semi=;", + "dot=.,semi=;,comma=,", + "semi=;,comma=,,dot=.", + "semi=;,dot=.,comma=," + ]], + ["{#path:6}/here", "#/foo/b/here"], + ["{#list}", "#red,green,blue"], + ["{#list*}", "#red,green,blue"], + ["{#keys}", [ + "#comma,,,dot,.,semi,;", + "#comma,,,semi,;,dot,.", + "#dot,.,comma,,,semi,;", + "#dot,.,semi,;,comma,,", + "#semi,;,comma,,,dot,.", + "#semi,;,dot,.,comma,," + ]], + ["{#keys*}", [ + "#comma=,,dot=.,semi=;", + "#comma=,,semi=;,dot=.", + "#dot=.,comma=,,semi=;", + "#dot=.,semi=;,comma=,", + "#semi=;,comma=,,dot=.", + "#semi=;,dot=.,comma=," + ]], + ["X{.var:3}", "X.val"], + ["X{.list}", "X.red,green,blue"], + ["X{.list*}", "X.red.green.blue"], + ["X{.keys}", [ + "X.comma,%2C,dot,.,semi,%3B", + "X.comma,%2C,semi,%3B,dot,.", + "X.dot,.,comma,%2C,semi,%3B", + "X.dot,.,semi,%3B,comma,%2C", + "X.semi,%3B,comma,%2C,dot,.", + "X.semi,%3B,dot,.,comma,%2C" + ]], + ["{/var:1,var}", "/v/value"], + ["{/list}", "/red,green,blue"], + ["{/list*}", "/red/green/blue"], + ["{/list*,path:4}", "/red/green/blue/%2Ffoo"], + ["{/keys}", [ + "/comma,%2C,dot,.,semi,%3B", + "/comma,%2C,semi,%3B,dot,.", + "/dot,.,comma,%2C,semi,%3B", + "/dot,.,semi,%3B,comma,%2C", + "/semi,%3B,comma,%2C,dot,.", + "/semi,%3B,dot,.,comma,%2C" + ]], + ["{/keys*}", [ + "/comma=%2C/dot=./semi=%3B", + "/comma=%2C/semi=%3B/dot=.", + "/dot=./comma=%2C/semi=%3B", + "/dot=./semi=%3B/comma=%2C", + "/semi=%3B/comma=%2C/dot=.", + "/semi=%3B/dot=./comma=%2C" + ]], + ["{;hello:5}", ";hello=Hello"], + ["{;list}", ";list=red,green,blue"], + ["{;list*}", ";list=red;list=green;list=blue"], + ["{;keys}", [ + ";keys=comma,%2C,dot,.,semi,%3B", + ";keys=comma,%2C,semi,%3B,dot,.", + ";keys=dot,.,comma,%2C,semi,%3B", + ";keys=dot,.,semi,%3B,comma,%2C", + ";keys=semi,%3B,comma,%2C,dot,.", + ";keys=semi,%3B,dot,.,comma,%2C" + ]], + ["{;keys*}", [ + ";comma=%2C;dot=.;semi=%3B", + ";comma=%2C;semi=%3B;dot=.", + ";dot=.;comma=%2C;semi=%3B", + ";dot=.;semi=%3B;comma=%2C", + ";semi=%3B;comma=%2C;dot=.", + ";semi=%3B;dot=.;comma=%2C" + ]], + ["{?var:3}", "?var=val"], + ["{?list}", "?list=red,green,blue"], + ["{?list*}", "?list=red&list=green&list=blue"], + ["{?keys}", [ + "?keys=comma,%2C,dot,.,semi,%3B", + "?keys=comma,%2C,semi,%3B,dot,.", + "?keys=dot,.,comma,%2C,semi,%3B", + "?keys=dot,.,semi,%3B,comma,%2C", + "?keys=semi,%3B,comma,%2C,dot,.", + "?keys=semi,%3B,dot,.,comma,%2C" + ]], + ["{?keys*}", [ + "?comma=%2C&dot=.&semi=%3B", + "?comma=%2C&semi=%3B&dot=.", + "?dot=.&comma=%2C&semi=%3B", + "?dot=.&semi=%3B&comma=%2C", + "?semi=%3B&comma=%2C&dot=.", + "?semi=%3B&dot=.&comma=%2C" + ]], + ["{&var:3}", "&var=val"], + ["{&list}", "&list=red,green,blue"], + ["{&list*}", "&list=red&list=green&list=blue"], + ["{&keys}", [ + "&keys=comma,%2C,dot,.,semi,%3B", + "&keys=comma,%2C,semi,%3B,dot,.", + "&keys=dot,.,comma,%2C,semi,%3B", + "&keys=dot,.,semi,%3B,comma,%2C", + "&keys=semi,%3B,comma,%2C,dot,.", + "&keys=semi,%3B,dot,.,comma,%2C" + ]], + ["{&keys*}", [ + "&comma=%2C&dot=.&semi=%3B", + "&comma=%2C&semi=%3B&dot=.", + "&dot=.&comma=%2C&semi=%3B", + "&dot=.&semi=%3B&comma=%2C", + "&semi=%3B&comma=%2C&dot=.", + "&semi=%3B&dot=.&comma=%2C" + ]] + ] + } +} diff --git a/express-server/node_modules/url-template/uritemplate-test/transform-json-tests.xslt b/express-server/node_modules/url-template/uritemplate-test/transform-json-tests.xslt new file mode 100644 index 00000000..d956b6bd --- /dev/null +++ b/express-server/node_modules/url-template/uritemplate-test/transform-json-tests.xslt @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/express-server/node_modules/uuid/.eslintrc.json b/express-server/node_modules/uuid/.eslintrc.json new file mode 100644 index 00000000..734a8e14 --- /dev/null +++ b/express-server/node_modules/uuid/.eslintrc.json @@ -0,0 +1,47 @@ +{ + "root": true, + "env": { + "browser": true, + "commonjs": true, + "node": true, + "mocha": true + }, + "extends": ["eslint:recommended"], + "rules": { + "array-bracket-spacing": ["warn", "never"], + "arrow-body-style": ["warn", "as-needed"], + "arrow-parens": ["warn", "as-needed"], + "arrow-spacing": "warn", + "brace-style": ["warn", "1tbs"], + "camelcase": "warn", + "comma-spacing": ["warn", {"after": true}], + "dot-notation": "warn", + "eqeqeq": ["warn", "smart"], + "indent": ["warn", 2, { + "SwitchCase": 1, + "FunctionDeclaration": {"parameters": 1}, + "MemberExpression": 1, + "CallExpression": {"arguments": 1} + }], + "key-spacing": ["warn", {"beforeColon": false, "afterColon": true, "mode": "minimum"}], + "keyword-spacing": "warn", + "no-console": "off", + "no-empty": "off", + "no-multi-spaces": "warn", + "no-redeclare": "off", + "no-restricted-globals": ["warn", "Promise"], + "no-trailing-spaces": "warn", + "no-undef": "error", + "no-unused-vars": ["warn", {"args": "none"}], + "one-var": ["warn", "never"], + "padded-blocks": ["warn", "never"], + "object-curly-spacing": ["warn", "never"], + "quotes": ["warn", "single"], + "react/prop-types": "off", + "react/jsx-no-bind": "off", + "semi": ["warn", "always"], + "space-before-blocks": ["warn", "always"], + "space-before-function-paren": ["warn", "never"], + "space-in-parens": ["warn", "never"] + } +} diff --git a/express-server/node_modules/uuid/AUTHORS b/express-server/node_modules/uuid/AUTHORS new file mode 100644 index 00000000..5a105230 --- /dev/null +++ b/express-server/node_modules/uuid/AUTHORS @@ -0,0 +1,5 @@ +Robert Kieffer +Christoph Tavan +AJ ONeal +Vincent Voyer +Roman Shtylman diff --git a/express-server/node_modules/uuid/CHANGELOG.md b/express-server/node_modules/uuid/CHANGELOG.md new file mode 100644 index 00000000..f29d3991 --- /dev/null +++ b/express-server/node_modules/uuid/CHANGELOG.md @@ -0,0 +1,110 @@ +# Change Log + +All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. + + +## [3.3.2](https://github.com/kelektiv/node-uuid/compare/v3.3.1...v3.3.2) (2018-06-28) + + +### Bug Fixes + +* typo ([305d877](https://github.com/kelektiv/node-uuid/commit/305d877)) + + + + +## [3.3.1](https://github.com/kelektiv/node-uuid/compare/v3.3.0...v3.3.1) (2018-06-28) + + +### Bug Fixes + +* fix [#284](https://github.com/kelektiv/node-uuid/issues/284) by setting function name in try-catch ([f2a60f2](https://github.com/kelektiv/node-uuid/commit/f2a60f2)) + + + + +# [3.3.0](https://github.com/kelektiv/node-uuid/compare/v3.2.1...v3.3.0) (2018-06-22) + + +### Bug Fixes + +* assignment to readonly property to allow running in strict mode ([#270](https://github.com/kelektiv/node-uuid/issues/270)) ([d062fdc](https://github.com/kelektiv/node-uuid/commit/d062fdc)) +* fix [#229](https://github.com/kelektiv/node-uuid/issues/229) ([c9684d4](https://github.com/kelektiv/node-uuid/commit/c9684d4)) +* Get correct version of IE11 crypto ([#274](https://github.com/kelektiv/node-uuid/issues/274)) ([153d331](https://github.com/kelektiv/node-uuid/commit/153d331)) +* mem issue when generating uuid ([#267](https://github.com/kelektiv/node-uuid/issues/267)) ([c47702c](https://github.com/kelektiv/node-uuid/commit/c47702c)) + +### Features + +* enforce Conventional Commit style commit messages ([#282](https://github.com/kelektiv/node-uuid/issues/282)) ([cc9a182](https://github.com/kelektiv/node-uuid/commit/cc9a182)) + + + +## [3.2.1](https://github.com/kelektiv/node-uuid/compare/v3.2.0...v3.2.1) (2018-01-16) + + +### Bug Fixes + +* use msCrypto if available. Fixes [#241](https://github.com/kelektiv/node-uuid/issues/241) ([#247](https://github.com/kelektiv/node-uuid/issues/247)) ([1fef18b](https://github.com/kelektiv/node-uuid/commit/1fef18b)) + + + + +# [3.2.0](https://github.com/kelektiv/node-uuid/compare/v3.1.0...v3.2.0) (2018-01-16) + + +### Bug Fixes + +* remove mistakenly added typescript dependency, rollback version (standard-version will auto-increment) ([09fa824](https://github.com/kelektiv/node-uuid/commit/09fa824)) +* use msCrypto if available. Fixes [#241](https://github.com/kelektiv/node-uuid/issues/241) ([#247](https://github.com/kelektiv/node-uuid/issues/247)) ([1fef18b](https://github.com/kelektiv/node-uuid/commit/1fef18b)) + + +### Features + +* Add v3 Support ([#217](https://github.com/kelektiv/node-uuid/issues/217)) ([d94f726](https://github.com/kelektiv/node-uuid/commit/d94f726)) + + +# [3.1.0](https://github.com/kelektiv/node-uuid/compare/v3.1.0...v3.0.1) (2017-06-17) + +### Bug Fixes + +* (fix) Add .npmignore file to exclude test/ and other non-essential files from packing. (#183) +* Fix typo (#178) +* Simple typo fix (#165) + +### Features +* v5 support in CLI (#197) +* V5 support (#188) + + +# 3.0.1 (2016-11-28) + +* split uuid versions into separate files + + +# 3.0.0 (2016-11-17) + +* remove .parse and .unparse + + +# 2.0.0 + +* Removed uuid.BufferClass + + +# 1.4.0 + +* Improved module context detection +* Removed public RNG functions + + +# 1.3.2 + +* Improve tests and handling of v1() options (Issue #24) +* Expose RNG option to allow for perf testing with different generators + + +# 1.3.0 + +* Support for version 1 ids, thanks to [@ctavan](https://github.com/ctavan)! +* Support for node.js crypto API +* De-emphasizing performance in favor of a) cryptographic quality PRNGs where available and b) more manageable code diff --git a/express-server/node_modules/uuid/LICENSE.md b/express-server/node_modules/uuid/LICENSE.md new file mode 100644 index 00000000..8c84e398 --- /dev/null +++ b/express-server/node_modules/uuid/LICENSE.md @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2010-2016 Robert Kieffer and other contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/express-server/node_modules/uuid/README.md b/express-server/node_modules/uuid/README.md new file mode 100644 index 00000000..9cbe1ac1 --- /dev/null +++ b/express-server/node_modules/uuid/README.md @@ -0,0 +1,293 @@ + + +# uuid [![Build Status](https://secure.travis-ci.org/kelektiv/node-uuid.svg?branch=master)](http://travis-ci.org/kelektiv/node-uuid) # + +Simple, fast generation of [RFC4122](http://www.ietf.org/rfc/rfc4122.txt) UUIDS. + +Features: + +* Support for version 1, 3, 4 and 5 UUIDs +* Cross-platform +* Uses cryptographically-strong random number APIs (when available) +* Zero-dependency, small footprint (... but not [this small](https://gist.github.com/982883)) + +[**Deprecation warning**: The use of `require('uuid')` is deprecated and will not be +supported after version 3.x of this module. Instead, use `require('uuid/[v1|v3|v4|v5]')` as shown in the examples below.] + +## Quickstart - CommonJS (Recommended) + +```shell +npm install uuid +``` + +Then generate your uuid version of choice ... + +Version 1 (timestamp): + +```javascript +const uuidv1 = require('uuid/v1'); +uuidv1(); // ⇨ '45745c60-7b1a-11e8-9c9c-2d42b21b1a3e' + +``` + +Version 3 (namespace): + +```javascript +const uuidv3 = require('uuid/v3'); + +// ... using predefined DNS namespace (for domain names) +uuidv3('hello.example.com', uuidv3.DNS); // ⇨ '9125a8dc-52ee-365b-a5aa-81b0b3681cf6' + +// ... using predefined URL namespace (for, well, URLs) +uuidv3('http://example.com/hello', uuidv3.URL); // ⇨ 'c6235813-3ba4-3801-ae84-e0a6ebb7d138' + +// ... using a custom namespace +// +// Note: Custom namespaces should be a UUID string specific to your application! +// E.g. the one here was generated using this modules `uuid` CLI. +const MY_NAMESPACE = '1b671a64-40d5-491e-99b0-da01ff1f3341'; +uuidv3('Hello, World!', MY_NAMESPACE); // ⇨ 'e8b5a51d-11c8-3310-a6ab-367563f20686' + +``` + +Version 4 (random): + +```javascript +const uuidv4 = require('uuid/v4'); +uuidv4(); // ⇨ '10ba038e-48da-487b-96e8-8d3b99b6d18a' + +``` + +Version 5 (namespace): + +```javascript +const uuidv5 = require('uuid/v5'); + +// ... using predefined DNS namespace (for domain names) +uuidv5('hello.example.com', uuidv5.DNS); // ⇨ 'fdda765f-fc57-5604-a269-52a7df8164ec' + +// ... using predefined URL namespace (for, well, URLs) +uuidv5('http://example.com/hello', uuidv5.URL); // ⇨ '3bbcee75-cecc-5b56-8031-b6641c1ed1f1' + +// ... using a custom namespace +// +// Note: Custom namespaces should be a UUID string specific to your application! +// E.g. the one here was generated using this modules `uuid` CLI. +const MY_NAMESPACE = '1b671a64-40d5-491e-99b0-da01ff1f3341'; +uuidv5('Hello, World!', MY_NAMESPACE); // ⇨ '630eb68f-e0fa-5ecc-887a-7c7a62614681' + +``` + +## Quickstart - Browser-ready Versions + +Browser-ready versions of this module are available via [wzrd.in](https://github.com/jfhbrook/wzrd.in). + +For version 1 uuids: + +```html + + +``` + +For version 3 uuids: + +```html + + +``` + +For version 4 uuids: + +```html + + +``` + +For version 5 uuids: + +```html + + +``` + +## API + +### Version 1 + +```javascript +const uuidv1 = require('uuid/v1'); + +// Incantations +uuidv1(); +uuidv1(options); +uuidv1(options, buffer, offset); +``` + +Generate and return a RFC4122 v1 (timestamp-based) UUID. + +* `options` - (Object) Optional uuid state to apply. Properties may include: + + * `node` - (Array) Node id as Array of 6 bytes (per 4.1.6). Default: Randomly generated ID. See note 1. + * `clockseq` - (Number between 0 - 0x3fff) RFC clock sequence. Default: An internally maintained clockseq is used. + * `msecs` - (Number) Time in milliseconds since unix Epoch. Default: The current time is used. + * `nsecs` - (Number between 0-9999) additional time, in 100-nanosecond units. Ignored if `msecs` is unspecified. Default: internal uuid counter is used, as per 4.2.1.2. + +* `buffer` - (Array | Buffer) Array or buffer where UUID bytes are to be written. +* `offset` - (Number) Starting index in `buffer` at which to begin writing. + +Returns `buffer`, if specified, otherwise the string form of the UUID + +Note: The id is generated guaranteed to stay constant for the lifetime of the current JS runtime. (Future versions of this module may use persistent storage mechanisms to extend this guarantee.) + +Example: Generate string UUID with fully-specified options + +```javascript +const v1options = { + node: [0x01, 0x23, 0x45, 0x67, 0x89, 0xab], + clockseq: 0x1234, + msecs: new Date('2011-11-01').getTime(), + nsecs: 5678 +}; +uuidv1(v1options); // ⇨ '710b962e-041c-11e1-9234-0123456789ab' + +``` + +Example: In-place generation of two binary IDs + +```javascript +// Generate two ids in an array +const arr = new Array(); +uuidv1(null, arr, 0); // ⇨ [ 69, 117, 109, 208, 123, 26, 17, 232, 146, 52, 45, 66, 178, 27, 26, 62 ] +uuidv1(null, arr, 16); // ⇨ [ 69, 117, 109, 208, 123, 26, 17, 232, 146, 52, 45, 66, 178, 27, 26, 62, 69, 117, 109, 209, 123, 26, 17, 232, 146, 52, 45, 66, 178, 27, 26, 62 ] + +``` + +### Version 3 + +```javascript +const uuidv3 = require('uuid/v3'); + +// Incantations +uuidv3(name, namespace); +uuidv3(name, namespace, buffer); +uuidv3(name, namespace, buffer, offset); +``` + +Generate and return a RFC4122 v3 UUID. + +* `name` - (String | Array[]) "name" to create UUID with +* `namespace` - (String | Array[]) "namespace" UUID either as a String or Array[16] of byte values +* `buffer` - (Array | Buffer) Array or buffer where UUID bytes are to be written. +* `offset` - (Number) Starting index in `buffer` at which to begin writing. Default = 0 + +Returns `buffer`, if specified, otherwise the string form of the UUID + +Example: + +```javascript +uuidv3('hello world', MY_NAMESPACE); // ⇨ '042ffd34-d989-321c-ad06-f60826172424' + +``` + +### Version 4 + +```javascript +const uuidv4 = require('uuid/v4') + +// Incantations +uuidv4(); +uuidv4(options); +uuidv4(options, buffer, offset); +``` + +Generate and return a RFC4122 v4 UUID. + +* `options` - (Object) Optional uuid state to apply. Properties may include: + * `random` - (Number[16]) Array of 16 numbers (0-255) to use in place of randomly generated values + * `rng` - (Function) Random # generator function that returns an Array[16] of byte values (0-255) +* `buffer` - (Array | Buffer) Array or buffer where UUID bytes are to be written. +* `offset` - (Number) Starting index in `buffer` at which to begin writing. + +Returns `buffer`, if specified, otherwise the string form of the UUID + +Example: Generate string UUID with predefined `random` values + +```javascript +const v4options = { + random: [ + 0x10, 0x91, 0x56, 0xbe, 0xc4, 0xfb, 0xc1, 0xea, + 0x71, 0xb4, 0xef, 0xe1, 0x67, 0x1c, 0x58, 0x36 + ] +}; +uuidv4(v4options); // ⇨ '109156be-c4fb-41ea-b1b4-efe1671c5836' + +``` + +Example: Generate two IDs in a single buffer + +```javascript +const buffer = new Array(); +uuidv4(null, buffer, 0); // ⇨ [ 54, 122, 218, 70, 45, 70, 65, 24, 171, 53, 95, 130, 83, 195, 242, 45 ] +uuidv4(null, buffer, 16); // ⇨ [ 54, 122, 218, 70, 45, 70, 65, 24, 171, 53, 95, 130, 83, 195, 242, 45, 108, 204, 255, 103, 171, 86, 76, 94, 178, 225, 188, 236, 150, 20, 151, 87 ] + +``` + +### Version 5 + +```javascript +const uuidv5 = require('uuid/v5'); + +// Incantations +uuidv5(name, namespace); +uuidv5(name, namespace, buffer); +uuidv5(name, namespace, buffer, offset); +``` + +Generate and return a RFC4122 v5 UUID. + +* `name` - (String | Array[]) "name" to create UUID with +* `namespace` - (String | Array[]) "namespace" UUID either as a String or Array[16] of byte values +* `buffer` - (Array | Buffer) Array or buffer where UUID bytes are to be written. +* `offset` - (Number) Starting index in `buffer` at which to begin writing. Default = 0 + +Returns `buffer`, if specified, otherwise the string form of the UUID + +Example: + +```javascript +uuidv5('hello world', MY_NAMESPACE); // ⇨ '9f282611-e0fd-5650-8953-89c8e342da0b' + +``` + +## Command Line + +UUIDs can be generated from the command line with the `uuid` command. + +```shell +$ uuid +ddeb27fb-d9a0-4624-be4d-4615062daed4 + +$ uuid v1 +02d37060-d446-11e7-a9fa-7bdae751ebe1 +``` + +Type `uuid --help` for usage details + +## Testing + +```shell +npm test +``` + +---- +Markdown generated from [README_js.md](README_js.md) by [![RunMD Logo](http://i.imgur.com/h0FVyzU.png)](https://github.com/broofa/runmd) \ No newline at end of file diff --git a/express-server/node_modules/uuid/README_js.md b/express-server/node_modules/uuid/README_js.md new file mode 100644 index 00000000..f34453be --- /dev/null +++ b/express-server/node_modules/uuid/README_js.md @@ -0,0 +1,280 @@ +```javascript --hide +runmd.onRequire = path => path.replace(/^uuid/, './'); +``` + +# uuid [![Build Status](https://secure.travis-ci.org/kelektiv/node-uuid.svg?branch=master)](http://travis-ci.org/kelektiv/node-uuid) # + +Simple, fast generation of [RFC4122](http://www.ietf.org/rfc/rfc4122.txt) UUIDS. + +Features: + +* Support for version 1, 3, 4 and 5 UUIDs +* Cross-platform +* Uses cryptographically-strong random number APIs (when available) +* Zero-dependency, small footprint (... but not [this small](https://gist.github.com/982883)) + +[**Deprecation warning**: The use of `require('uuid')` is deprecated and will not be +supported after version 3.x of this module. Instead, use `require('uuid/[v1|v3|v4|v5]')` as shown in the examples below.] + +## Quickstart - CommonJS (Recommended) + +```shell +npm install uuid +``` + +Then generate your uuid version of choice ... + +Version 1 (timestamp): + +```javascript --run v1 +const uuidv1 = require('uuid/v1'); +uuidv1(); // RESULT +``` + +Version 3 (namespace): + +```javascript --run v3 +const uuidv3 = require('uuid/v3'); + +// ... using predefined DNS namespace (for domain names) +uuidv3('hello.example.com', uuidv3.DNS); // RESULT + +// ... using predefined URL namespace (for, well, URLs) +uuidv3('http://example.com/hello', uuidv3.URL); // RESULT + +// ... using a custom namespace +// +// Note: Custom namespaces should be a UUID string specific to your application! +// E.g. the one here was generated using this modules `uuid` CLI. +const MY_NAMESPACE = '1b671a64-40d5-491e-99b0-da01ff1f3341'; +uuidv3('Hello, World!', MY_NAMESPACE); // RESULT +``` + +Version 4 (random): + +```javascript --run v4 +const uuidv4 = require('uuid/v4'); +uuidv4(); // RESULT +``` + +Version 5 (namespace): + +```javascript --run v5 +const uuidv5 = require('uuid/v5'); + +// ... using predefined DNS namespace (for domain names) +uuidv5('hello.example.com', uuidv5.DNS); // RESULT + +// ... using predefined URL namespace (for, well, URLs) +uuidv5('http://example.com/hello', uuidv5.URL); // RESULT + +// ... using a custom namespace +// +// Note: Custom namespaces should be a UUID string specific to your application! +// E.g. the one here was generated using this modules `uuid` CLI. +const MY_NAMESPACE = '1b671a64-40d5-491e-99b0-da01ff1f3341'; +uuidv5('Hello, World!', MY_NAMESPACE); // RESULT +``` + +## Quickstart - Browser-ready Versions + +Browser-ready versions of this module are available via [wzrd.in](https://github.com/jfhbrook/wzrd.in). + +For version 1 uuids: + +```html + + +``` + +For version 3 uuids: + +```html + + +``` + +For version 4 uuids: + +```html + + +``` + +For version 5 uuids: + +```html + + +``` + +## API + +### Version 1 + +```javascript +const uuidv1 = require('uuid/v1'); + +// Incantations +uuidv1(); +uuidv1(options); +uuidv1(options, buffer, offset); +``` + +Generate and return a RFC4122 v1 (timestamp-based) UUID. + +* `options` - (Object) Optional uuid state to apply. Properties may include: + + * `node` - (Array) Node id as Array of 6 bytes (per 4.1.6). Default: Randomly generated ID. See note 1. + * `clockseq` - (Number between 0 - 0x3fff) RFC clock sequence. Default: An internally maintained clockseq is used. + * `msecs` - (Number) Time in milliseconds since unix Epoch. Default: The current time is used. + * `nsecs` - (Number between 0-9999) additional time, in 100-nanosecond units. Ignored if `msecs` is unspecified. Default: internal uuid counter is used, as per 4.2.1.2. + +* `buffer` - (Array | Buffer) Array or buffer where UUID bytes are to be written. +* `offset` - (Number) Starting index in `buffer` at which to begin writing. + +Returns `buffer`, if specified, otherwise the string form of the UUID + +Note: The id is generated guaranteed to stay constant for the lifetime of the current JS runtime. (Future versions of this module may use persistent storage mechanisms to extend this guarantee.) + +Example: Generate string UUID with fully-specified options + +```javascript --run v1 +const v1options = { + node: [0x01, 0x23, 0x45, 0x67, 0x89, 0xab], + clockseq: 0x1234, + msecs: new Date('2011-11-01').getTime(), + nsecs: 5678 +}; +uuidv1(v1options); // RESULT +``` + +Example: In-place generation of two binary IDs + +```javascript --run v1 +// Generate two ids in an array +const arr = new Array(); +uuidv1(null, arr, 0); // RESULT +uuidv1(null, arr, 16); // RESULT +``` + +### Version 3 + +```javascript +const uuidv3 = require('uuid/v3'); + +// Incantations +uuidv3(name, namespace); +uuidv3(name, namespace, buffer); +uuidv3(name, namespace, buffer, offset); +``` + +Generate and return a RFC4122 v3 UUID. + +* `name` - (String | Array[]) "name" to create UUID with +* `namespace` - (String | Array[]) "namespace" UUID either as a String or Array[16] of byte values +* `buffer` - (Array | Buffer) Array or buffer where UUID bytes are to be written. +* `offset` - (Number) Starting index in `buffer` at which to begin writing. Default = 0 + +Returns `buffer`, if specified, otherwise the string form of the UUID + +Example: + +```javascript --run v3 +uuidv3('hello world', MY_NAMESPACE); // RESULT +``` + +### Version 4 + +```javascript +const uuidv4 = require('uuid/v4') + +// Incantations +uuidv4(); +uuidv4(options); +uuidv4(options, buffer, offset); +``` + +Generate and return a RFC4122 v4 UUID. + +* `options` - (Object) Optional uuid state to apply. Properties may include: + * `random` - (Number[16]) Array of 16 numbers (0-255) to use in place of randomly generated values + * `rng` - (Function) Random # generator function that returns an Array[16] of byte values (0-255) +* `buffer` - (Array | Buffer) Array or buffer where UUID bytes are to be written. +* `offset` - (Number) Starting index in `buffer` at which to begin writing. + +Returns `buffer`, if specified, otherwise the string form of the UUID + +Example: Generate string UUID with predefined `random` values + +```javascript --run v4 +const v4options = { + random: [ + 0x10, 0x91, 0x56, 0xbe, 0xc4, 0xfb, 0xc1, 0xea, + 0x71, 0xb4, 0xef, 0xe1, 0x67, 0x1c, 0x58, 0x36 + ] +}; +uuidv4(v4options); // RESULT +``` + +Example: Generate two IDs in a single buffer + +```javascript --run v4 +const buffer = new Array(); +uuidv4(null, buffer, 0); // RESULT +uuidv4(null, buffer, 16); // RESULT +``` + +### Version 5 + +```javascript +const uuidv5 = require('uuid/v5'); + +// Incantations +uuidv5(name, namespace); +uuidv5(name, namespace, buffer); +uuidv5(name, namespace, buffer, offset); +``` + +Generate and return a RFC4122 v5 UUID. + +* `name` - (String | Array[]) "name" to create UUID with +* `namespace` - (String | Array[]) "namespace" UUID either as a String or Array[16] of byte values +* `buffer` - (Array | Buffer) Array or buffer where UUID bytes are to be written. +* `offset` - (Number) Starting index in `buffer` at which to begin writing. Default = 0 + +Returns `buffer`, if specified, otherwise the string form of the UUID + +Example: + +```javascript --run v5 +uuidv5('hello world', MY_NAMESPACE); // RESULT +``` + +## Command Line + +UUIDs can be generated from the command line with the `uuid` command. + +```shell +$ uuid +ddeb27fb-d9a0-4624-be4d-4615062daed4 + +$ uuid v1 +02d37060-d446-11e7-a9fa-7bdae751ebe1 +``` + +Type `uuid --help` for usage details + +## Testing + +```shell +npm test +``` diff --git a/express-server/node_modules/uuid/bin/uuid b/express-server/node_modules/uuid/bin/uuid new file mode 100644 index 00000000..502626e6 --- /dev/null +++ b/express-server/node_modules/uuid/bin/uuid @@ -0,0 +1,65 @@ +#!/usr/bin/env node +var assert = require('assert'); + +function usage() { + console.log('Usage:'); + console.log(' uuid'); + console.log(' uuid v1'); + console.log(' uuid v3 '); + console.log(' uuid v4'); + console.log(' uuid v5 '); + console.log(' uuid --help'); + console.log('\nNote: may be "URL" or "DNS" to use the corresponding UUIDs defined by RFC4122'); +} + +var args = process.argv.slice(2); + +if (args.indexOf('--help') >= 0) { + usage(); + process.exit(0); +} +var version = args.shift() || 'v4'; + +switch (version) { + case 'v1': + var uuidV1 = require('../v1'); + console.log(uuidV1()); + break; + + case 'v3': + var uuidV3 = require('../v3'); + + var name = args.shift(); + var namespace = args.shift(); + assert(name != null, 'v3 name not specified'); + assert(namespace != null, 'v3 namespace not specified'); + + if (namespace == 'URL') namespace = uuidV3.URL; + if (namespace == 'DNS') namespace = uuidV3.DNS; + + console.log(uuidV3(name, namespace)); + break; + + case 'v4': + var uuidV4 = require('../v4'); + console.log(uuidV4()); + break; + + case 'v5': + var uuidV5 = require('../v5'); + + var name = args.shift(); + var namespace = args.shift(); + assert(name != null, 'v5 name not specified'); + assert(namespace != null, 'v5 namespace not specified'); + + if (namespace == 'URL') namespace = uuidV5.URL; + if (namespace == 'DNS') namespace = uuidV5.DNS; + + console.log(uuidV5(name, namespace)); + break; + + default: + usage(); + process.exit(1); +} diff --git a/express-server/node_modules/uuid/index.js b/express-server/node_modules/uuid/index.js new file mode 100644 index 00000000..e96791ab --- /dev/null +++ b/express-server/node_modules/uuid/index.js @@ -0,0 +1,8 @@ +var v1 = require('./v1'); +var v4 = require('./v4'); + +var uuid = v4; +uuid.v1 = v1; +uuid.v4 = v4; + +module.exports = uuid; diff --git a/express-server/node_modules/uuid/lib/bytesToUuid.js b/express-server/node_modules/uuid/lib/bytesToUuid.js new file mode 100644 index 00000000..847c4828 --- /dev/null +++ b/express-server/node_modules/uuid/lib/bytesToUuid.js @@ -0,0 +1,24 @@ +/** + * Convert array of 16 byte values to UUID string format of the form: + * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX + */ +var byteToHex = []; +for (var i = 0; i < 256; ++i) { + byteToHex[i] = (i + 0x100).toString(16).substr(1); +} + +function bytesToUuid(buf, offset) { + var i = offset || 0; + var bth = byteToHex; + // join used to fix memory issue caused by concatenation: https://bugs.chromium.org/p/v8/issues/detail?id=3175#c4 + return ([bth[buf[i++]], bth[buf[i++]], + bth[buf[i++]], bth[buf[i++]], '-', + bth[buf[i++]], bth[buf[i++]], '-', + bth[buf[i++]], bth[buf[i++]], '-', + bth[buf[i++]], bth[buf[i++]], '-', + bth[buf[i++]], bth[buf[i++]], + bth[buf[i++]], bth[buf[i++]], + bth[buf[i++]], bth[buf[i++]]]).join(''); +} + +module.exports = bytesToUuid; diff --git a/express-server/node_modules/uuid/lib/md5-browser.js b/express-server/node_modules/uuid/lib/md5-browser.js new file mode 100644 index 00000000..9b3b6c7e --- /dev/null +++ b/express-server/node_modules/uuid/lib/md5-browser.js @@ -0,0 +1,216 @@ +/* + * Browser-compatible JavaScript MD5 + * + * Modification of JavaScript MD5 + * https://github.com/blueimp/JavaScript-MD5 + * + * Copyright 2011, Sebastian Tschan + * https://blueimp.net + * + * Licensed under the MIT license: + * https://opensource.org/licenses/MIT + * + * Based on + * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message + * Digest Algorithm, as defined in RFC 1321. + * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009 + * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet + * Distributed under the BSD License + * See http://pajhome.org.uk/crypt/md5 for more info. + */ + +'use strict'; + +function md5(bytes) { + if (typeof(bytes) == 'string') { + var msg = unescape(encodeURIComponent(bytes)); // UTF8 escape + bytes = new Array(msg.length); + for (var i = 0; i < msg.length; i++) bytes[i] = msg.charCodeAt(i); + } + + return md5ToHexEncodedArray( + wordsToMd5( + bytesToWords(bytes) + , bytes.length * 8) + ); +} + + +/* +* Convert an array of little-endian words to an array of bytes +*/ +function md5ToHexEncodedArray(input) { + var i; + var x; + var output = []; + var length32 = input.length * 32; + var hexTab = '0123456789abcdef'; + var hex; + + for (i = 0; i < length32; i += 8) { + x = (input[i >> 5] >>> (i % 32)) & 0xFF; + + hex = parseInt(hexTab.charAt((x >>> 4) & 0x0F) + hexTab.charAt(x & 0x0F), 16); + + output.push(hex); + } + return output; +} + +/* +* Calculate the MD5 of an array of little-endian words, and a bit length. +*/ +function wordsToMd5(x, len) { + /* append padding */ + x[len >> 5] |= 0x80 << (len % 32); + x[(((len + 64) >>> 9) << 4) + 14] = len; + + var i; + var olda; + var oldb; + var oldc; + var oldd; + var a = 1732584193; + var b = -271733879; + var c = -1732584194; + + var d = 271733878; + + for (i = 0; i < x.length; i += 16) { + olda = a; + oldb = b; + oldc = c; + oldd = d; + + a = md5ff(a, b, c, d, x[i], 7, -680876936); + d = md5ff(d, a, b, c, x[i + 1], 12, -389564586); + c = md5ff(c, d, a, b, x[i + 2], 17, 606105819); + b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330); + a = md5ff(a, b, c, d, x[i + 4], 7, -176418897); + d = md5ff(d, a, b, c, x[i + 5], 12, 1200080426); + c = md5ff(c, d, a, b, x[i + 6], 17, -1473231341); + b = md5ff(b, c, d, a, x[i + 7], 22, -45705983); + a = md5ff(a, b, c, d, x[i + 8], 7, 1770035416); + d = md5ff(d, a, b, c, x[i + 9], 12, -1958414417); + c = md5ff(c, d, a, b, x[i + 10], 17, -42063); + b = md5ff(b, c, d, a, x[i + 11], 22, -1990404162); + a = md5ff(a, b, c, d, x[i + 12], 7, 1804603682); + d = md5ff(d, a, b, c, x[i + 13], 12, -40341101); + c = md5ff(c, d, a, b, x[i + 14], 17, -1502002290); + b = md5ff(b, c, d, a, x[i + 15], 22, 1236535329); + + a = md5gg(a, b, c, d, x[i + 1], 5, -165796510); + d = md5gg(d, a, b, c, x[i + 6], 9, -1069501632); + c = md5gg(c, d, a, b, x[i + 11], 14, 643717713); + b = md5gg(b, c, d, a, x[i], 20, -373897302); + a = md5gg(a, b, c, d, x[i + 5], 5, -701558691); + d = md5gg(d, a, b, c, x[i + 10], 9, 38016083); + c = md5gg(c, d, a, b, x[i + 15], 14, -660478335); + b = md5gg(b, c, d, a, x[i + 4], 20, -405537848); + a = md5gg(a, b, c, d, x[i + 9], 5, 568446438); + d = md5gg(d, a, b, c, x[i + 14], 9, -1019803690); + c = md5gg(c, d, a, b, x[i + 3], 14, -187363961); + b = md5gg(b, c, d, a, x[i + 8], 20, 1163531501); + a = md5gg(a, b, c, d, x[i + 13], 5, -1444681467); + d = md5gg(d, a, b, c, x[i + 2], 9, -51403784); + c = md5gg(c, d, a, b, x[i + 7], 14, 1735328473); + b = md5gg(b, c, d, a, x[i + 12], 20, -1926607734); + + a = md5hh(a, b, c, d, x[i + 5], 4, -378558); + d = md5hh(d, a, b, c, x[i + 8], 11, -2022574463); + c = md5hh(c, d, a, b, x[i + 11], 16, 1839030562); + b = md5hh(b, c, d, a, x[i + 14], 23, -35309556); + a = md5hh(a, b, c, d, x[i + 1], 4, -1530992060); + d = md5hh(d, a, b, c, x[i + 4], 11, 1272893353); + c = md5hh(c, d, a, b, x[i + 7], 16, -155497632); + b = md5hh(b, c, d, a, x[i + 10], 23, -1094730640); + a = md5hh(a, b, c, d, x[i + 13], 4, 681279174); + d = md5hh(d, a, b, c, x[i], 11, -358537222); + c = md5hh(c, d, a, b, x[i + 3], 16, -722521979); + b = md5hh(b, c, d, a, x[i + 6], 23, 76029189); + a = md5hh(a, b, c, d, x[i + 9], 4, -640364487); + d = md5hh(d, a, b, c, x[i + 12], 11, -421815835); + c = md5hh(c, d, a, b, x[i + 15], 16, 530742520); + b = md5hh(b, c, d, a, x[i + 2], 23, -995338651); + + a = md5ii(a, b, c, d, x[i], 6, -198630844); + d = md5ii(d, a, b, c, x[i + 7], 10, 1126891415); + c = md5ii(c, d, a, b, x[i + 14], 15, -1416354905); + b = md5ii(b, c, d, a, x[i + 5], 21, -57434055); + a = md5ii(a, b, c, d, x[i + 12], 6, 1700485571); + d = md5ii(d, a, b, c, x[i + 3], 10, -1894986606); + c = md5ii(c, d, a, b, x[i + 10], 15, -1051523); + b = md5ii(b, c, d, a, x[i + 1], 21, -2054922799); + a = md5ii(a, b, c, d, x[i + 8], 6, 1873313359); + d = md5ii(d, a, b, c, x[i + 15], 10, -30611744); + c = md5ii(c, d, a, b, x[i + 6], 15, -1560198380); + b = md5ii(b, c, d, a, x[i + 13], 21, 1309151649); + a = md5ii(a, b, c, d, x[i + 4], 6, -145523070); + d = md5ii(d, a, b, c, x[i + 11], 10, -1120210379); + c = md5ii(c, d, a, b, x[i + 2], 15, 718787259); + b = md5ii(b, c, d, a, x[i + 9], 21, -343485551); + + a = safeAdd(a, olda); + b = safeAdd(b, oldb); + c = safeAdd(c, oldc); + d = safeAdd(d, oldd); + } + return [a, b, c, d]; +} + +/* +* Convert an array bytes to an array of little-endian words +* Characters >255 have their high-byte silently ignored. +*/ +function bytesToWords(input) { + var i; + var output = []; + output[(input.length >> 2) - 1] = undefined; + for (i = 0; i < output.length; i += 1) { + output[i] = 0; + } + var length8 = input.length * 8; + for (i = 0; i < length8; i += 8) { + output[i >> 5] |= (input[(i / 8)] & 0xFF) << (i % 32); + } + + return output; +} + +/* +* Add integers, wrapping at 2^32. This uses 16-bit operations internally +* to work around bugs in some JS interpreters. +*/ +function safeAdd(x, y) { + var lsw = (x & 0xFFFF) + (y & 0xFFFF); + var msw = (x >> 16) + (y >> 16) + (lsw >> 16); + return (msw << 16) | (lsw & 0xFFFF); +} + +/* +* Bitwise rotate a 32-bit number to the left. +*/ +function bitRotateLeft(num, cnt) { + return (num << cnt) | (num >>> (32 - cnt)); +} + +/* +* These functions implement the four basic operations the algorithm uses. +*/ +function md5cmn(q, a, b, x, s, t) { + return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b); +} +function md5ff(a, b, c, d, x, s, t) { + return md5cmn((b & c) | ((~b) & d), a, b, x, s, t); +} +function md5gg(a, b, c, d, x, s, t) { + return md5cmn((b & d) | (c & (~d)), a, b, x, s, t); +} +function md5hh(a, b, c, d, x, s, t) { + return md5cmn(b ^ c ^ d, a, b, x, s, t); +} +function md5ii(a, b, c, d, x, s, t) { + return md5cmn(c ^ (b | (~d)), a, b, x, s, t); +} + +module.exports = md5; diff --git a/express-server/node_modules/uuid/lib/md5.js b/express-server/node_modules/uuid/lib/md5.js new file mode 100644 index 00000000..7044b872 --- /dev/null +++ b/express-server/node_modules/uuid/lib/md5.js @@ -0,0 +1,25 @@ +'use strict'; + +var crypto = require('crypto'); + +function md5(bytes) { + if (typeof Buffer.from === 'function') { + // Modern Buffer API + if (Array.isArray(bytes)) { + bytes = Buffer.from(bytes); + } else if (typeof bytes === 'string') { + bytes = Buffer.from(bytes, 'utf8'); + } + } else { + // Pre-v4 Buffer API + if (Array.isArray(bytes)) { + bytes = new Buffer(bytes); + } else if (typeof bytes === 'string') { + bytes = new Buffer(bytes, 'utf8'); + } + } + + return crypto.createHash('md5').update(bytes).digest(); +} + +module.exports = md5; diff --git a/express-server/node_modules/uuid/lib/rng-browser.js b/express-server/node_modules/uuid/lib/rng-browser.js new file mode 100644 index 00000000..6361fb81 --- /dev/null +++ b/express-server/node_modules/uuid/lib/rng-browser.js @@ -0,0 +1,34 @@ +// Unique ID creation requires a high quality random # generator. In the +// browser this is a little complicated due to unknown quality of Math.random() +// and inconsistent support for the `crypto` API. We do the best we can via +// feature-detection + +// getRandomValues needs to be invoked in a context where "this" is a Crypto +// implementation. Also, find the complete implementation of crypto on IE11. +var getRandomValues = (typeof(crypto) != 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto)) || + (typeof(msCrypto) != 'undefined' && typeof window.msCrypto.getRandomValues == 'function' && msCrypto.getRandomValues.bind(msCrypto)); + +if (getRandomValues) { + // WHATWG crypto RNG - http://wiki.whatwg.org/wiki/Crypto + var rnds8 = new Uint8Array(16); // eslint-disable-line no-undef + + module.exports = function whatwgRNG() { + getRandomValues(rnds8); + return rnds8; + }; +} else { + // Math.random()-based (RNG) + // + // If all else fails, use Math.random(). It's fast, but is of unspecified + // quality. + var rnds = new Array(16); + + module.exports = function mathRNG() { + for (var i = 0, r; i < 16; i++) { + if ((i & 0x03) === 0) r = Math.random() * 0x100000000; + rnds[i] = r >>> ((i & 0x03) << 3) & 0xff; + } + + return rnds; + }; +} diff --git a/express-server/node_modules/uuid/lib/rng.js b/express-server/node_modules/uuid/lib/rng.js new file mode 100644 index 00000000..58f0dc9c --- /dev/null +++ b/express-server/node_modules/uuid/lib/rng.js @@ -0,0 +1,8 @@ +// Unique ID creation requires a high quality random # generator. In node.js +// this is pretty straight-forward - we use the crypto API. + +var crypto = require('crypto'); + +module.exports = function nodeRNG() { + return crypto.randomBytes(16); +}; diff --git a/express-server/node_modules/uuid/lib/sha1-browser.js b/express-server/node_modules/uuid/lib/sha1-browser.js new file mode 100644 index 00000000..5758ed75 --- /dev/null +++ b/express-server/node_modules/uuid/lib/sha1-browser.js @@ -0,0 +1,89 @@ +// Adapted from Chris Veness' SHA1 code at +// http://www.movable-type.co.uk/scripts/sha1.html +'use strict'; + +function f(s, x, y, z) { + switch (s) { + case 0: return (x & y) ^ (~x & z); + case 1: return x ^ y ^ z; + case 2: return (x & y) ^ (x & z) ^ (y & z); + case 3: return x ^ y ^ z; + } +} + +function ROTL(x, n) { + return (x << n) | (x>>> (32 - n)); +} + +function sha1(bytes) { + var K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6]; + var H = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0]; + + if (typeof(bytes) == 'string') { + var msg = unescape(encodeURIComponent(bytes)); // UTF8 escape + bytes = new Array(msg.length); + for (var i = 0; i < msg.length; i++) bytes[i] = msg.charCodeAt(i); + } + + bytes.push(0x80); + + var l = bytes.length/4 + 2; + var N = Math.ceil(l/16); + var M = new Array(N); + + for (var i=0; i>> 0; + e = d; + d = c; + c = ROTL(b, 30) >>> 0; + b = a; + a = T; + } + + H[0] = (H[0] + a) >>> 0; + H[1] = (H[1] + b) >>> 0; + H[2] = (H[2] + c) >>> 0; + H[3] = (H[3] + d) >>> 0; + H[4] = (H[4] + e) >>> 0; + } + + return [ + H[0] >> 24 & 0xff, H[0] >> 16 & 0xff, H[0] >> 8 & 0xff, H[0] & 0xff, + H[1] >> 24 & 0xff, H[1] >> 16 & 0xff, H[1] >> 8 & 0xff, H[1] & 0xff, + H[2] >> 24 & 0xff, H[2] >> 16 & 0xff, H[2] >> 8 & 0xff, H[2] & 0xff, + H[3] >> 24 & 0xff, H[3] >> 16 & 0xff, H[3] >> 8 & 0xff, H[3] & 0xff, + H[4] >> 24 & 0xff, H[4] >> 16 & 0xff, H[4] >> 8 & 0xff, H[4] & 0xff + ]; +} + +module.exports = sha1; diff --git a/express-server/node_modules/uuid/lib/sha1.js b/express-server/node_modules/uuid/lib/sha1.js new file mode 100644 index 00000000..0b54b250 --- /dev/null +++ b/express-server/node_modules/uuid/lib/sha1.js @@ -0,0 +1,25 @@ +'use strict'; + +var crypto = require('crypto'); + +function sha1(bytes) { + if (typeof Buffer.from === 'function') { + // Modern Buffer API + if (Array.isArray(bytes)) { + bytes = Buffer.from(bytes); + } else if (typeof bytes === 'string') { + bytes = Buffer.from(bytes, 'utf8'); + } + } else { + // Pre-v4 Buffer API + if (Array.isArray(bytes)) { + bytes = new Buffer(bytes); + } else if (typeof bytes === 'string') { + bytes = new Buffer(bytes, 'utf8'); + } + } + + return crypto.createHash('sha1').update(bytes).digest(); +} + +module.exports = sha1; diff --git a/express-server/node_modules/uuid/lib/v35.js b/express-server/node_modules/uuid/lib/v35.js new file mode 100644 index 00000000..8b066cc5 --- /dev/null +++ b/express-server/node_modules/uuid/lib/v35.js @@ -0,0 +1,57 @@ +var bytesToUuid = require('./bytesToUuid'); + +function uuidToBytes(uuid) { + // Note: We assume we're being passed a valid uuid string + var bytes = []; + uuid.replace(/[a-fA-F0-9]{2}/g, function(hex) { + bytes.push(parseInt(hex, 16)); + }); + + return bytes; +} + +function stringToBytes(str) { + str = unescape(encodeURIComponent(str)); // UTF8 escape + var bytes = new Array(str.length); + for (var i = 0; i < str.length; i++) { + bytes[i] = str.charCodeAt(i); + } + return bytes; +} + +module.exports = function(name, version, hashfunc) { + var generateUUID = function(value, namespace, buf, offset) { + var off = buf && offset || 0; + + if (typeof(value) == 'string') value = stringToBytes(value); + if (typeof(namespace) == 'string') namespace = uuidToBytes(namespace); + + if (!Array.isArray(value)) throw TypeError('value must be an array of bytes'); + if (!Array.isArray(namespace) || namespace.length !== 16) throw TypeError('namespace must be uuid string or an Array of 16 byte values'); + + // Per 4.3 + var bytes = hashfunc(namespace.concat(value)); + bytes[6] = (bytes[6] & 0x0f) | version; + bytes[8] = (bytes[8] & 0x3f) | 0x80; + + if (buf) { + for (var idx = 0; idx < 16; ++idx) { + buf[off+idx] = bytes[idx]; + } + } + + return buf || bytesToUuid(bytes); + }; + + // Function#name is not settable on some platforms (#270) + try { + generateUUID.name = name; + } catch (err) { + } + + // Pre-defined namespaces, per Appendix C + generateUUID.DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8'; + generateUUID.URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8'; + + return generateUUID; +}; diff --git a/express-server/node_modules/uuid/package.json b/express-server/node_modules/uuid/package.json new file mode 100644 index 00000000..9b18eb72 --- /dev/null +++ b/express-server/node_modules/uuid/package.json @@ -0,0 +1,95 @@ +{ + "_from": "uuid@^3.2.1", + "_id": "uuid@3.3.2", + "_inBundle": false, + "_integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", + "_location": "/uuid", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "uuid@^3.2.1", + "name": "uuid", + "escapedName": "uuid", + "rawSpec": "^3.2.1", + "saveSpec": null, + "fetchSpec": "^3.2.1" + }, + "_requiredBy": [ + "/googleapis-common" + ], + "_resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "_shasum": "1b4af4955eb3077c501c23872fc6513811587131", + "_spec": "uuid@^3.2.1", + "_where": "C:\\Users\\Georg\\GitHub\\SmartShopper\\express-server\\node_modules\\googleapis-common", + "bin": { + "uuid": "./bin/uuid" + }, + "browser": { + "./lib/rng.js": "./lib/rng-browser.js", + "./lib/sha1.js": "./lib/sha1-browser.js", + "./lib/md5.js": "./lib/md5-browser.js" + }, + "bugs": { + "url": "https://github.com/kelektiv/node-uuid/issues" + }, + "bundleDependencies": false, + "commitlint": { + "extends": [ + "@commitlint/config-conventional" + ] + }, + "contributors": [ + { + "name": "Robert Kieffer", + "email": "robert@broofa.com" + }, + { + "name": "Christoph Tavan", + "email": "dev@tavan.de" + }, + { + "name": "AJ ONeal", + "email": "coolaj86@gmail.com" + }, + { + "name": "Vincent Voyer", + "email": "vincent@zeroload.net" + }, + { + "name": "Roman Shtylman", + "email": "shtylman@gmail.com" + } + ], + "deprecated": false, + "description": "RFC4122 (v1, v4, and v5) UUIDs", + "devDependencies": { + "@commitlint/cli": "7.0.0", + "@commitlint/config-conventional": "7.0.1", + "eslint": "4.19.1", + "husky": "0.14.3", + "mocha": "5.2.0", + "runmd": "1.0.1", + "standard-version": "4.4.0" + }, + "homepage": "https://github.com/kelektiv/node-uuid#readme", + "keywords": [ + "uuid", + "guid", + "rfc4122" + ], + "license": "MIT", + "name": "uuid", + "repository": { + "type": "git", + "url": "git+https://github.com/kelektiv/node-uuid.git" + }, + "scripts": { + "commitmsg": "commitlint -E GIT_PARAMS", + "md": "runmd --watch --output=README.md README_js.md", + "prepare": "runmd --output=README.md README_js.md", + "release": "standard-version", + "test": "mocha test/test.js" + }, + "version": "3.3.2" +} diff --git a/express-server/node_modules/uuid/v1.js b/express-server/node_modules/uuid/v1.js new file mode 100644 index 00000000..d84c0f45 --- /dev/null +++ b/express-server/node_modules/uuid/v1.js @@ -0,0 +1,109 @@ +var rng = require('./lib/rng'); +var bytesToUuid = require('./lib/bytesToUuid'); + +// **`v1()` - Generate time-based UUID** +// +// Inspired by https://github.com/LiosK/UUID.js +// and http://docs.python.org/library/uuid.html + +var _nodeId; +var _clockseq; + +// Previous uuid creation time +var _lastMSecs = 0; +var _lastNSecs = 0; + +// See https://github.com/broofa/node-uuid for API details +function v1(options, buf, offset) { + var i = buf && offset || 0; + var b = buf || []; + + options = options || {}; + var node = options.node || _nodeId; + var clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; + + // node and clockseq need to be initialized to random values if they're not + // specified. We do this lazily to minimize issues related to insufficient + // system entropy. See #189 + if (node == null || clockseq == null) { + var seedBytes = rng(); + if (node == null) { + // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1) + node = _nodeId = [ + seedBytes[0] | 0x01, + seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5] + ]; + } + if (clockseq == null) { + // Per 4.2.2, randomize (14 bit) clockseq + clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff; + } + } + + // UUID timestamps are 100 nano-second units since the Gregorian epoch, + // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so + // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs' + // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00. + var msecs = options.msecs !== undefined ? options.msecs : new Date().getTime(); + + // Per 4.2.1.2, use count of uuid's generated during the current clock + // cycle to simulate higher resolution clock + var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; + + // Time since last uuid creation (in msecs) + var dt = (msecs - _lastMSecs) + (nsecs - _lastNSecs)/10000; + + // Per 4.2.1.2, Bump clockseq on clock regression + if (dt < 0 && options.clockseq === undefined) { + clockseq = clockseq + 1 & 0x3fff; + } + + // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new + // time interval + if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) { + nsecs = 0; + } + + // Per 4.2.1.2 Throw error if too many uuids are requested + if (nsecs >= 10000) { + throw new Error('uuid.v1(): Can\'t create more than 10M uuids/sec'); + } + + _lastMSecs = msecs; + _lastNSecs = nsecs; + _clockseq = clockseq; + + // Per 4.1.4 - Convert from unix epoch to Gregorian epoch + msecs += 12219292800000; + + // `time_low` + var tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000; + b[i++] = tl >>> 24 & 0xff; + b[i++] = tl >>> 16 & 0xff; + b[i++] = tl >>> 8 & 0xff; + b[i++] = tl & 0xff; + + // `time_mid` + var tmh = (msecs / 0x100000000 * 10000) & 0xfffffff; + b[i++] = tmh >>> 8 & 0xff; + b[i++] = tmh & 0xff; + + // `time_high_and_version` + b[i++] = tmh >>> 24 & 0xf | 0x10; // include version + b[i++] = tmh >>> 16 & 0xff; + + // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant) + b[i++] = clockseq >>> 8 | 0x80; + + // `clock_seq_low` + b[i++] = clockseq & 0xff; + + // `node` + for (var n = 0; n < 6; ++n) { + b[i + n] = node[n]; + } + + return buf ? buf : bytesToUuid(b); +} + +module.exports = v1; diff --git a/express-server/node_modules/uuid/v3.js b/express-server/node_modules/uuid/v3.js new file mode 100644 index 00000000..ee7e14c0 --- /dev/null +++ b/express-server/node_modules/uuid/v3.js @@ -0,0 +1,4 @@ +var v35 = require('./lib/v35.js'); +var md5 = require('./lib/md5'); + +module.exports = v35('v3', 0x30, md5); \ No newline at end of file diff --git a/express-server/node_modules/uuid/v4.js b/express-server/node_modules/uuid/v4.js new file mode 100644 index 00000000..1f07be1c --- /dev/null +++ b/express-server/node_modules/uuid/v4.js @@ -0,0 +1,29 @@ +var rng = require('./lib/rng'); +var bytesToUuid = require('./lib/bytesToUuid'); + +function v4(options, buf, offset) { + var i = buf && offset || 0; + + if (typeof(options) == 'string') { + buf = options === 'binary' ? new Array(16) : null; + options = null; + } + options = options || {}; + + var rnds = options.random || (options.rng || rng)(); + + // Per 4.4, set bits for version and `clock_seq_hi_and_reserved` + rnds[6] = (rnds[6] & 0x0f) | 0x40; + rnds[8] = (rnds[8] & 0x3f) | 0x80; + + // Copy bytes to buffer, if provided + if (buf) { + for (var ii = 0; ii < 16; ++ii) { + buf[i + ii] = rnds[ii]; + } + } + + return buf || bytesToUuid(rnds); +} + +module.exports = v4; diff --git a/express-server/node_modules/uuid/v5.js b/express-server/node_modules/uuid/v5.js new file mode 100644 index 00000000..4945baf3 --- /dev/null +++ b/express-server/node_modules/uuid/v5.js @@ -0,0 +1,3 @@ +var v35 = require('./lib/v35.js'); +var sha1 = require('./lib/sha1'); +module.exports = v35('v5', 0x50, sha1); diff --git a/express-server/node_modules/yallist/LICENSE b/express-server/node_modules/yallist/LICENSE new file mode 100644 index 00000000..19129e31 --- /dev/null +++ b/express-server/node_modules/yallist/LICENSE @@ -0,0 +1,15 @@ +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/express-server/node_modules/yallist/README.md b/express-server/node_modules/yallist/README.md new file mode 100644 index 00000000..f5861018 --- /dev/null +++ b/express-server/node_modules/yallist/README.md @@ -0,0 +1,204 @@ +# yallist + +Yet Another Linked List + +There are many doubly-linked list implementations like it, but this +one is mine. + +For when an array would be too big, and a Map can't be iterated in +reverse order. + + +[![Build Status](https://travis-ci.org/isaacs/yallist.svg?branch=master)](https://travis-ci.org/isaacs/yallist) [![Coverage Status](https://coveralls.io/repos/isaacs/yallist/badge.svg?service=github)](https://coveralls.io/github/isaacs/yallist) + +## basic usage + +```javascript +var yallist = require('yallist') +var myList = yallist.create([1, 2, 3]) +myList.push('foo') +myList.unshift('bar') +// of course pop() and shift() are there, too +console.log(myList.toArray()) // ['bar', 1, 2, 3, 'foo'] +myList.forEach(function (k) { + // walk the list head to tail +}) +myList.forEachReverse(function (k, index, list) { + // walk the list tail to head +}) +var myDoubledList = myList.map(function (k) { + return k + k +}) +// now myDoubledList contains ['barbar', 2, 4, 6, 'foofoo'] +// mapReverse is also a thing +var myDoubledListReverse = myList.mapReverse(function (k) { + return k + k +}) // ['foofoo', 6, 4, 2, 'barbar'] + +var reduced = myList.reduce(function (set, entry) { + set += entry + return set +}, 'start') +console.log(reduced) // 'startfoo123bar' +``` + +## api + +The whole API is considered "public". + +Functions with the same name as an Array method work more or less the +same way. + +There's reverse versions of most things because that's the point. + +### Yallist + +Default export, the class that holds and manages a list. + +Call it with either a forEach-able (like an array) or a set of +arguments, to initialize the list. + +The Array-ish methods all act like you'd expect. No magic length, +though, so if you change that it won't automatically prune or add +empty spots. + +### Yallist.create(..) + +Alias for Yallist function. Some people like factories. + +#### yallist.head + +The first node in the list + +#### yallist.tail + +The last node in the list + +#### yallist.length + +The number of nodes in the list. (Change this at your peril. It is +not magic like Array length.) + +#### yallist.toArray() + +Convert the list to an array. + +#### yallist.forEach(fn, [thisp]) + +Call a function on each item in the list. + +#### yallist.forEachReverse(fn, [thisp]) + +Call a function on each item in the list, in reverse order. + +#### yallist.get(n) + +Get the data at position `n` in the list. If you use this a lot, +probably better off just using an Array. + +#### yallist.getReverse(n) + +Get the data at position `n`, counting from the tail. + +#### yallist.map(fn, thisp) + +Create a new Yallist with the result of calling the function on each +item. + +#### yallist.mapReverse(fn, thisp) + +Same as `map`, but in reverse. + +#### yallist.pop() + +Get the data from the list tail, and remove the tail from the list. + +#### yallist.push(item, ...) + +Insert one or more items to the tail of the list. + +#### yallist.reduce(fn, initialValue) + +Like Array.reduce. + +#### yallist.reduceReverse + +Like Array.reduce, but in reverse. + +#### yallist.reverse + +Reverse the list in place. + +#### yallist.shift() + +Get the data from the list head, and remove the head from the list. + +#### yallist.slice([from], [to]) + +Just like Array.slice, but returns a new Yallist. + +#### yallist.sliceReverse([from], [to]) + +Just like yallist.slice, but the result is returned in reverse. + +#### yallist.toArray() + +Create an array representation of the list. + +#### yallist.toArrayReverse() + +Create a reversed array representation of the list. + +#### yallist.unshift(item, ...) + +Insert one or more items to the head of the list. + +#### yallist.unshiftNode(node) + +Move a Node object to the front of the list. (That is, pull it out of +wherever it lives, and make it the new head.) + +If the node belongs to a different list, then that list will remove it +first. + +#### yallist.pushNode(node) + +Move a Node object to the end of the list. (That is, pull it out of +wherever it lives, and make it the new tail.) + +If the node belongs to a list already, then that list will remove it +first. + +#### yallist.removeNode(node) + +Remove a node from the list, preserving referential integrity of head +and tail and other nodes. + +Will throw an error if you try to have a list remove a node that +doesn't belong to it. + +### Yallist.Node + +The class that holds the data and is actually the list. + +Call with `var n = new Node(value, previousNode, nextNode)` + +Note that if you do direct operations on Nodes themselves, it's very +easy to get into weird states where the list is broken. Be careful :) + +#### node.next + +The next node in the list. + +#### node.prev + +The previous node in the list. + +#### node.value + +The data the node contains. + +#### node.list + +The list to which this node belongs. (Null if it does not belong to +any list.) diff --git a/express-server/node_modules/yallist/iterator.js b/express-server/node_modules/yallist/iterator.js new file mode 100644 index 00000000..4a15bf22 --- /dev/null +++ b/express-server/node_modules/yallist/iterator.js @@ -0,0 +1,7 @@ +var Yallist = require('./yallist.js') + +Yallist.prototype[Symbol.iterator] = function* () { + for (let walker = this.head; walker; walker = walker.next) { + yield walker.value + } +} diff --git a/express-server/node_modules/yallist/package.json b/express-server/node_modules/yallist/package.json new file mode 100644 index 00000000..b09b6e26 --- /dev/null +++ b/express-server/node_modules/yallist/package.json @@ -0,0 +1,62 @@ +{ + "_from": "yallist@^2.1.2", + "_id": "yallist@2.1.2", + "_inBundle": false, + "_integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "_location": "/yallist", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "yallist@^2.1.2", + "name": "yallist", + "escapedName": "yallist", + "rawSpec": "^2.1.2", + "saveSpec": null, + "fetchSpec": "^2.1.2" + }, + "_requiredBy": [ + "/lru-cache" + ], + "_resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "_shasum": "1c11f9218f076089a47dd512f93c6699a6a81d52", + "_spec": "yallist@^2.1.2", + "_where": "C:\\Users\\Georg\\GitHub\\SmartShopper\\express-server\\node_modules\\lru-cache", + "author": { + "name": "Isaac Z. Schlueter", + "email": "i@izs.me", + "url": "http://blog.izs.me/" + }, + "bugs": { + "url": "https://github.com/isaacs/yallist/issues" + }, + "bundleDependencies": false, + "dependencies": {}, + "deprecated": false, + "description": "Yet Another Linked List", + "devDependencies": { + "tap": "^10.3.0" + }, + "directories": { + "test": "test" + }, + "files": [ + "yallist.js", + "iterator.js" + ], + "homepage": "https://github.com/isaacs/yallist#readme", + "license": "ISC", + "main": "yallist.js", + "name": "yallist", + "repository": { + "type": "git", + "url": "git+https://github.com/isaacs/yallist.git" + }, + "scripts": { + "postpublish": "git push origin --all; git push origin --tags", + "postversion": "npm publish", + "preversion": "npm test", + "test": "tap test/*.js --100" + }, + "version": "2.1.2" +} diff --git a/express-server/node_modules/yallist/yallist.js b/express-server/node_modules/yallist/yallist.js new file mode 100644 index 00000000..518d2333 --- /dev/null +++ b/express-server/node_modules/yallist/yallist.js @@ -0,0 +1,370 @@ +module.exports = Yallist + +Yallist.Node = Node +Yallist.create = Yallist + +function Yallist (list) { + var self = this + if (!(self instanceof Yallist)) { + self = new Yallist() + } + + self.tail = null + self.head = null + self.length = 0 + + if (list && typeof list.forEach === 'function') { + list.forEach(function (item) { + self.push(item) + }) + } else if (arguments.length > 0) { + for (var i = 0, l = arguments.length; i < l; i++) { + self.push(arguments[i]) + } + } + + return self +} + +Yallist.prototype.removeNode = function (node) { + if (node.list !== this) { + throw new Error('removing node which does not belong to this list') + } + + var next = node.next + var prev = node.prev + + if (next) { + next.prev = prev + } + + if (prev) { + prev.next = next + } + + if (node === this.head) { + this.head = next + } + if (node === this.tail) { + this.tail = prev + } + + node.list.length-- + node.next = null + node.prev = null + node.list = null +} + +Yallist.prototype.unshiftNode = function (node) { + if (node === this.head) { + return + } + + if (node.list) { + node.list.removeNode(node) + } + + var head = this.head + node.list = this + node.next = head + if (head) { + head.prev = node + } + + this.head = node + if (!this.tail) { + this.tail = node + } + this.length++ +} + +Yallist.prototype.pushNode = function (node) { + if (node === this.tail) { + return + } + + if (node.list) { + node.list.removeNode(node) + } + + var tail = this.tail + node.list = this + node.prev = tail + if (tail) { + tail.next = node + } + + this.tail = node + if (!this.head) { + this.head = node + } + this.length++ +} + +Yallist.prototype.push = function () { + for (var i = 0, l = arguments.length; i < l; i++) { + push(this, arguments[i]) + } + return this.length +} + +Yallist.prototype.unshift = function () { + for (var i = 0, l = arguments.length; i < l; i++) { + unshift(this, arguments[i]) + } + return this.length +} + +Yallist.prototype.pop = function () { + if (!this.tail) { + return undefined + } + + var res = this.tail.value + this.tail = this.tail.prev + if (this.tail) { + this.tail.next = null + } else { + this.head = null + } + this.length-- + return res +} + +Yallist.prototype.shift = function () { + if (!this.head) { + return undefined + } + + var res = this.head.value + this.head = this.head.next + if (this.head) { + this.head.prev = null + } else { + this.tail = null + } + this.length-- + return res +} + +Yallist.prototype.forEach = function (fn, thisp) { + thisp = thisp || this + for (var walker = this.head, i = 0; walker !== null; i++) { + fn.call(thisp, walker.value, i, this) + walker = walker.next + } +} + +Yallist.prototype.forEachReverse = function (fn, thisp) { + thisp = thisp || this + for (var walker = this.tail, i = this.length - 1; walker !== null; i--) { + fn.call(thisp, walker.value, i, this) + walker = walker.prev + } +} + +Yallist.prototype.get = function (n) { + for (var i = 0, walker = this.head; walker !== null && i < n; i++) { + // abort out of the list early if we hit a cycle + walker = walker.next + } + if (i === n && walker !== null) { + return walker.value + } +} + +Yallist.prototype.getReverse = function (n) { + for (var i = 0, walker = this.tail; walker !== null && i < n; i++) { + // abort out of the list early if we hit a cycle + walker = walker.prev + } + if (i === n && walker !== null) { + return walker.value + } +} + +Yallist.prototype.map = function (fn, thisp) { + thisp = thisp || this + var res = new Yallist() + for (var walker = this.head; walker !== null;) { + res.push(fn.call(thisp, walker.value, this)) + walker = walker.next + } + return res +} + +Yallist.prototype.mapReverse = function (fn, thisp) { + thisp = thisp || this + var res = new Yallist() + for (var walker = this.tail; walker !== null;) { + res.push(fn.call(thisp, walker.value, this)) + walker = walker.prev + } + return res +} + +Yallist.prototype.reduce = function (fn, initial) { + var acc + var walker = this.head + if (arguments.length > 1) { + acc = initial + } else if (this.head) { + walker = this.head.next + acc = this.head.value + } else { + throw new TypeError('Reduce of empty list with no initial value') + } + + for (var i = 0; walker !== null; i++) { + acc = fn(acc, walker.value, i) + walker = walker.next + } + + return acc +} + +Yallist.prototype.reduceReverse = function (fn, initial) { + var acc + var walker = this.tail + if (arguments.length > 1) { + acc = initial + } else if (this.tail) { + walker = this.tail.prev + acc = this.tail.value + } else { + throw new TypeError('Reduce of empty list with no initial value') + } + + for (var i = this.length - 1; walker !== null; i--) { + acc = fn(acc, walker.value, i) + walker = walker.prev + } + + return acc +} + +Yallist.prototype.toArray = function () { + var arr = new Array(this.length) + for (var i = 0, walker = this.head; walker !== null; i++) { + arr[i] = walker.value + walker = walker.next + } + return arr +} + +Yallist.prototype.toArrayReverse = function () { + var arr = new Array(this.length) + for (var i = 0, walker = this.tail; walker !== null; i++) { + arr[i] = walker.value + walker = walker.prev + } + return arr +} + +Yallist.prototype.slice = function (from, to) { + to = to || this.length + if (to < 0) { + to += this.length + } + from = from || 0 + if (from < 0) { + from += this.length + } + var ret = new Yallist() + if (to < from || to < 0) { + return ret + } + if (from < 0) { + from = 0 + } + if (to > this.length) { + to = this.length + } + for (var i = 0, walker = this.head; walker !== null && i < from; i++) { + walker = walker.next + } + for (; walker !== null && i < to; i++, walker = walker.next) { + ret.push(walker.value) + } + return ret +} + +Yallist.prototype.sliceReverse = function (from, to) { + to = to || this.length + if (to < 0) { + to += this.length + } + from = from || 0 + if (from < 0) { + from += this.length + } + var ret = new Yallist() + if (to < from || to < 0) { + return ret + } + if (from < 0) { + from = 0 + } + if (to > this.length) { + to = this.length + } + for (var i = this.length, walker = this.tail; walker !== null && i > to; i--) { + walker = walker.prev + } + for (; walker !== null && i > from; i--, walker = walker.prev) { + ret.push(walker.value) + } + return ret +} + +Yallist.prototype.reverse = function () { + var head = this.head + var tail = this.tail + for (var walker = head; walker !== null; walker = walker.prev) { + var p = walker.prev + walker.prev = walker.next + walker.next = p + } + this.head = tail + this.tail = head + return this +} + +function push (self, item) { + self.tail = new Node(item, self.tail, null, self) + if (!self.head) { + self.head = self.tail + } + self.length++ +} + +function unshift (self, item) { + self.head = new Node(item, null, self.head, self) + if (!self.tail) { + self.tail = self.head + } + self.length++ +} + +function Node (value, prev, next, list) { + if (!(this instanceof Node)) { + return new Node(value, prev, next, list) + } + + this.list = list + this.value = value + + if (prev) { + prev.next = this + this.prev = prev + } else { + this.prev = null + } + + if (next) { + next.prev = this + this.next = next + } else { + this.next = null + } +} diff --git a/express-server/package-lock.json b/express-server/package-lock.json index 46693cde..2a0aaaff 100644 --- a/express-server/package-lock.json +++ b/express-server/package-lock.json @@ -13,11 +13,28 @@ "negotiator": "0.6.1" } }, + "agent-base": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz", + "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==", + "requires": { + "es6-promisify": "5.0.0" + } + }, "array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" }, + "axios": { + "version": "0.18.0", + "resolved": "http://registry.npmjs.org/axios/-/axios-0.18.0.tgz", + "integrity": "sha1-MtU+SFHv3AoRmTts0AB4nXDAUQI=", + "requires": { + "follow-redirects": "1.5.9", + "is-buffer": "1.1.6" + } + }, "basic-auth": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", @@ -43,6 +60,11 @@ "type-is": "1.6.16" } }, + "buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" + }, "bytes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", @@ -72,11 +94,46 @@ "cookie-signature": "1.0.6" } }, + "cookie-session": { + "version": "2.0.0-beta.3", + "resolved": "https://registry.npmjs.org/cookie-session/-/cookie-session-2.0.0-beta.3.tgz", + "integrity": "sha512-zyqm5tA0z9yMEB/xyP7lnRnqp8eLR2e0dap+9+rBwVigla9yPKn8XTL1jJymog8xjfrowqW2o5LUjixQChkqrw==", + "requires": { + "cookies": "0.7.1", + "debug": "3.1.0", + "on-headers": "1.0.1", + "safe-buffer": "5.1.1" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "safe-buffer": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" + } + } + }, "cookie-signature": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" }, + "cookies": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/cookies/-/cookies-0.7.1.tgz", + "integrity": "sha1-fIphX1SBxhq58WyDNzG8uPZjuZs=", + "requires": { + "depd": "1.1.2", + "keygrip": "1.0.3" + } + }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -95,6 +152,14 @@ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" }, + "ecdsa-sig-formatter": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.10.tgz", + "integrity": "sha1-HFlQAPBKiJffuFAAiSoPTDOvhsM=", + "requires": { + "safe-buffer": "5.1.2" + } + }, "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -110,6 +175,19 @@ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" }, + "es6-promise": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.5.tgz", + "integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg==" + }, + "es6-promisify": { + "version": "5.0.0", + "resolved": "http://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", + "requires": { + "es6-promise": "4.2.5" + } + }, "escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", @@ -172,6 +250,11 @@ } } }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, "finalhandler": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.0.6.tgz", @@ -193,6 +276,24 @@ } } }, + "follow-redirects": { + "version": "1.5.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.9.tgz", + "integrity": "sha512-Bh65EZI/RU8nx0wbYF9shkFZlqLP+6WT/5FnA3cE/djNSuKNHJEinGGZgu/cQEkeeb2GdFOgenAmn8qaqYke2w==", + "requires": { + "debug": "3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + } + } + }, "forwarded": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", @@ -203,6 +304,86 @@ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" }, + "gcp-metadata": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-0.7.0.tgz", + "integrity": "sha512-ffjC09amcDWjh3VZdkDngIo7WoluyC5Ag9PAYxZbmQLOLNI8lvPtoKTSCyU54j2gwy5roZh6sSMTfkY2ct7K3g==", + "requires": { + "axios": "0.18.0", + "extend": "3.0.2", + "retry-axios": "0.3.2" + } + }, + "google-auth-library": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-2.0.0.tgz", + "integrity": "sha512-lN6jecH8L30uAirTeOm9ij9CTMJniwg7fbuyOpgH4lFkO50LKhPrx/ZbLGK8aBCzi/u4/tpdZnJABFuMqtIx0A==", + "requires": { + "axios": "0.18.0", + "gcp-metadata": "0.7.0", + "gtoken": "2.3.0", + "https-proxy-agent": "2.2.1", + "jws": "3.1.5", + "lodash.isstring": "4.0.1", + "lru-cache": "4.1.3", + "semver": "5.6.0" + } + }, + "google-p12-pem": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-1.0.2.tgz", + "integrity": "sha512-+EuKr4CLlGsnXx4XIJIVkcKYrsa2xkAmCvxRhX2HsazJzUBAJ35wARGeApHUn4nNfPD03Vl057FskNr20VaCyg==", + "requires": { + "node-forge": "0.7.6", + "pify": "3.0.0" + } + }, + "googleapi": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/googleapi/-/googleapi-1.0.2.tgz", + "integrity": "sha1-knBKNCfC/QHqQhmpLBsPvGtCGVQ=" + }, + "googleapis": { + "version": "34.0.0", + "resolved": "https://registry.npmjs.org/googleapis/-/googleapis-34.0.0.tgz", + "integrity": "sha512-nGfTSrlQF77HDNOHDy0ii3ET1h8Yap6QXxkfMZsre+7hBg91g4RsgrA50BgrOXpbNlQCBOGXWhUsa267kVeA/Q==", + "requires": { + "google-auth-library": "2.0.0", + "googleapis-common": "0.3.0" + } + }, + "googleapis-common": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/googleapis-common/-/googleapis-common-0.3.0.tgz", + "integrity": "sha512-OqQ2iskzjPHLoM+AXk7e/TmEsdgxyAk8PVbMg0S8v2wPhgMu2wTawEL7zH9QG236u/RqQ1Ak120oSWsamPnWGg==", + "requires": { + "axios": "0.18.0", + "google-auth-library": "2.0.0", + "pify": "3.0.0", + "qs": "6.5.2", + "url-template": "2.0.8", + "uuid": "3.3.2" + } + }, + "gtoken": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-2.3.0.tgz", + "integrity": "sha512-Jc9/8mV630cZE9FC5tIlJCZNdUjwunvlwOtCz6IDlaiB4Sz68ki29a1+q97sWTnTYroiuF9B135rod9zrQdHLw==", + "requires": { + "axios": "0.18.0", + "google-p12-pem": "1.0.2", + "jws": "3.1.5", + "mime": "2.3.1", + "pify": "3.0.0" + }, + "dependencies": { + "mime": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz", + "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==" + } + } + }, "http-errors": { "version": "1.6.3", "resolved": "http://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", @@ -214,6 +395,30 @@ "statuses": "1.5.0" } }, + "https-proxy-agent": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz", + "integrity": "sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==", + "requires": { + "agent-base": "4.2.1", + "debug": "3.2.6" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "requires": { + "ms": "2.1.1" + } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + } + } + }, "iconv-lite": { "version": "0.4.23", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", @@ -232,6 +437,49 @@ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.4.0.tgz", "integrity": "sha1-KWrKh4qCGBbluF0KKFqZvP9FgvA=" }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "jwa": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.1.6.tgz", + "integrity": "sha512-tBO/cf++BUsJkYql/kBbJroKOgHWEigTKBAjjBEmrMGYd1QMBC74Hr4Wo2zCZw6ZrVhlJPvoMrkcOnlWR/DJfw==", + "requires": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.10", + "safe-buffer": "5.1.2" + } + }, + "jws": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.1.5.tgz", + "integrity": "sha512-GsCSexFADNQUr8T5HPJvayTjvPIfoyJPtLQBwn5a4WZQchcrPMPMAWcC1AzJVRDKyD6ZPROPAxgv6rfHViO4uQ==", + "requires": { + "jwa": "1.1.6", + "safe-buffer": "5.1.2" + } + }, + "keygrip": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/keygrip/-/keygrip-1.0.3.tgz", + "integrity": "sha512-/PpesirAIfaklxUzp4Yb7xBper9MwP6hNRA6BGGUFCgbJ+BM5CKBtsoxinNXkLHAr+GXS1/lSlF2rP7cv5Fl+g==" + }, + "lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" + }, + "lru-cache": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", + "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", + "requires": { + "pseudomap": "1.0.2", + "yallist": "2.1.2" + } + }, "media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", @@ -287,6 +535,16 @@ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=" }, + "node-forge": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.6.tgz", + "integrity": "sha512-sol30LUpz1jQFBjOKwbjxijiE3b6pjd74YwfD0fJOKPjF+fONKb2Yg8rYgS6+bK6VDl+/wfr4IYpC7jDzLUIfw==" + }, + "oauth": { + "version": "0.9.15", + "resolved": "https://registry.npmjs.org/oauth/-/oauth-0.9.15.tgz", + "integrity": "sha1-vR/vr2hslrdUda7VGWQS/2DPucE=" + }, "on-finished": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", @@ -305,11 +563,81 @@ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=" }, + "passport": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/passport/-/passport-0.4.0.tgz", + "integrity": "sha1-xQlWkTR71a07XhgCOMORTRbwWBE=", + "requires": { + "passport-strategy": "1.0.0", + "pause": "0.0.1" + } + }, + "passport-google-oauth": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/passport-google-oauth/-/passport-google-oauth-1.0.0.tgz", + "integrity": "sha1-ZfUGMxkq0GJ6GLCJYAdxCdhOt20=", + "requires": { + "passport-google-oauth1": "1.0.0", + "passport-google-oauth20": "1.0.0" + } + }, + "passport-google-oauth1": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/passport-google-oauth1/-/passport-google-oauth1-1.0.0.tgz", + "integrity": "sha1-r3SoA99R7GRvZqRNgigr5vEI4Mw=", + "requires": { + "passport-oauth1": "1.1.0" + } + }, + "passport-google-oauth20": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/passport-google-oauth20/-/passport-google-oauth20-1.0.0.tgz", + "integrity": "sha1-O5YOih1w0dvnlGFcgnxoxAOSpdA=", + "requires": { + "passport-oauth2": "1.4.0" + } + }, + "passport-oauth1": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/passport-oauth1/-/passport-oauth1-1.1.0.tgz", + "integrity": "sha1-p96YiiEfnPRoc3cTDqdN8ycwyRg=", + "requires": { + "oauth": "0.9.15", + "passport-strategy": "1.0.0", + "utils-merge": "1.0.0" + } + }, + "passport-oauth2": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/passport-oauth2/-/passport-oauth2-1.4.0.tgz", + "integrity": "sha1-9i+BWDy+EmCb585vFguTlaJ7hq0=", + "requires": { + "oauth": "0.9.15", + "passport-strategy": "1.0.0", + "uid2": "0.0.3", + "utils-merge": "1.0.0" + } + }, + "passport-strategy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/passport-strategy/-/passport-strategy-1.0.0.tgz", + "integrity": "sha1-tVOaqPwiWj0a0XlHbd8ja0QPUuQ=" + }, "path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" }, + "pause": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz", + "integrity": "sha1-HUCLP9t2kjuVQ9lvtMnf1TXZy10=" + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + }, "proxy-addr": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-1.1.5.tgz", @@ -319,6 +647,11 @@ "ipaddr.js": "1.4.0" } }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" + }, "qs": { "version": "6.5.2", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", @@ -340,6 +673,11 @@ "unpipe": "1.0.0" } }, + "retry-axios": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/retry-axios/-/retry-axios-0.3.2.tgz", + "integrity": "sha512-jp4YlI0qyDFfXiXGhkCOliBN1G7fRH03Nqy8YdShzGqbY5/9S2x/IR6C88ls2DFkbWuL3ASkP7QD3pVrNpPgwQ==" + }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -350,6 +688,11 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, + "semver": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", + "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==" + }, "send": { "version": "0.15.6", "resolved": "https://registry.npmjs.org/send/-/send-0.15.6.tgz", @@ -426,20 +769,40 @@ "mime-types": "2.1.20" } }, + "uid2": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/uid2/-/uid2-0.0.3.tgz", + "integrity": "sha1-SDEm4Rd03y9xuLY53NeZw3YWK4I=" + }, "unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" }, + "url-template": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/url-template/-/url-template-2.0.8.tgz", + "integrity": "sha1-/FZaPMy/93MMd19WQflVV5FDnyE=" + }, "utils-merge": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz", "integrity": "sha1-ApT7kiu5N1FTVBxPcJYjHyh8ivg=" }, + "uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" + }, "vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" } } } diff --git a/express-server/package.json b/express-server/package.json index 2864c628..e27f30b7 100644 --- a/express-server/package.json +++ b/express-server/package.json @@ -8,10 +8,15 @@ "dependencies": { "body-parser": "~1.18.2", "cookie-parser": "~1.4.3", + "cookie-session": "^2.0.0-beta.3", "debug": "~2.6.9", "ejs": "~2.5.7", - "express": "~4.15.5", + "express": "^4.15.5", + "googleapi": "^1.0.2", + "googleapis": "^34.0.0", "morgan": "~1.9.0", + "passport": "^0.4.0", + "passport-google-oauth": "^1.0.0", "serve-favicon": "~2.4.5" } } diff --git a/express-server/public/login/auth.js b/express-server/public/login/auth.js new file mode 100644 index 00000000..c2b526af --- /dev/null +++ b/express-server/public/login/auth.js @@ -0,0 +1,23 @@ +const GoogleStrategy = require('passport-google-oauth').OAuth2Strategy; + +module.exports = (passport) => { + passport.serializeUser((user, done) => { + done(null, user); + }); + + passport.deserializeUser((user, done) => { + done(null, user); + }); + + passport.use(new GoogleStrategy({ + clientID: '987329071574-imvtfil34qrnlgouc0njo62aq4md5g1e.apps.googleusercontent.com', + clientSecret: 'xABbcOGWgLCp6X0P4BTjZNYb', + callbackURL: 'http://localhost:7000/auth/google/callback' + }, + (token, refreshToken, profile, done) => { + return done(null, { + profile: profile, + token: token + }); + })); +}; \ No newline at end of file diff --git a/express-server/routes/index.js b/express-server/routes/index.js index ecca96a5..e9364422 100644 --- a/express-server/routes/index.js +++ b/express-server/routes/index.js @@ -1,9 +1,55 @@ var express = require('express'); var router = express.Router(); +// GoogleOauth2.0 +passport = require('passport'), +auth = require('../public/login/auth'); +auth(passport); +router.use(passport.initialize()); + +cookieParser = require('cookie-parser'), +cookieSession = require('cookie-session'); + +router.use(cookieSession({ + name: 'session', + keys: ['aoisdzflkudheowe777elkjv'] +})); + +router.use(cookieParser()); + +router.get('/', (req, res) => { + if (req.session.token) { + res.redirect('/dash'); + } else { + res.redirect('/auth/google'); + } +}); +router.get('/auth/google', passport.authenticate('google', { + scope: ['https://www.googleapis.com/auth/userinfo.profile'] +})); +router.get('/auth/google/callback', + passport.authenticate('google', {failureRedirect:'/'}), + (req, res) => { + req.session.token = req.user.token; + res.redirect('/dash'); + } +); + +router.get('/logout', (req, res) => { + req.logout(); + req.session = null; + res.redirect('/'); +}); + + + /* GET home page. */ -router.get('/', function(req, res, next) { - res.render('index', { title: 'Express' }); +router.get('/dash', function(req, res, next) { + if (req.session.token) { + res.render(index); + } else { + res.redirect('/auth/google'); + } }); module.exports = router; diff --git a/express-server/views/index.ejs b/express-server/views/index.ejs index 7b7a1d6d..bb579e94 100644 --- a/express-server/views/index.ejs +++ b/express-server/views/index.ejs @@ -1,11 +1,11 @@ - <%= title %> + -

<%= title %>

-

Welcome to <%= title %>

+

+

Welcome to

diff --git a/express-server/views/login.ejs b/express-server/views/login.ejs new file mode 100644 index 00000000..d36498ff --- /dev/null +++ b/express-server/views/login.ejs @@ -0,0 +1,33 @@ + + + + + + + SmartShopper + + + + + + +
+
+

Welcome

+
+
+ Bitte Loggen sie sich ein um ihre Einkaufsliste zu sehen +
+ +
+ +
+
+ + \ No newline at end of file